misc fixes
svn-id: r3435
This commit is contained in:
parent
eebe5f2f73
commit
a732f32eb0
8 changed files with 112 additions and 19 deletions
59
costume.cpp
59
costume.cpp
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.4 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.3 2001/10/16 10:01:45 strigeus
|
* Revision 1.3 2001/10/16 10:01:45 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -497,7 +500,61 @@ StartPos:;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CostumeRenderer::proc3() {
|
void CostumeRenderer::proc3() {
|
||||||
warning("COST_Proc3: not implemented");
|
byte *mask,*src,*dst;
|
||||||
|
byte maskbit,len,height,pcolor,width;
|
||||||
|
int color,t;
|
||||||
|
uint y;
|
||||||
|
|
||||||
|
mask = _mask_ptr_dest;
|
||||||
|
dst = _bg_ptr;
|
||||||
|
height = _height2;
|
||||||
|
width = _width2;
|
||||||
|
len = _replen;
|
||||||
|
color = _repcolor;
|
||||||
|
src = _srcptr;
|
||||||
|
maskbit = revBitMask[_xpos&7];
|
||||||
|
y = _ypos;
|
||||||
|
|
||||||
|
if (_docontinue) goto StartPos;
|
||||||
|
|
||||||
|
do {
|
||||||
|
len = *src++;
|
||||||
|
color = len>>_shrval;
|
||||||
|
len &= _maskval;
|
||||||
|
if (!len) len = *src++;
|
||||||
|
do {
|
||||||
|
if (cost_scaleTable[_scaleIndexY++] < _scaleY) {
|
||||||
|
if (color && y < _vscreenheight && !((*mask|mask[_imgbufoffs])&maskbit)) {
|
||||||
|
pcolor = _palette[color];
|
||||||
|
if (pcolor==13)
|
||||||
|
pcolor = _transEffect[*dst];
|
||||||
|
*dst = pcolor;
|
||||||
|
}
|
||||||
|
dst += 320;
|
||||||
|
mask += 40;
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
if (!--height) {
|
||||||
|
if(!--width)
|
||||||
|
return;
|
||||||
|
height = _height;
|
||||||
|
y = _ypostop;
|
||||||
|
_scaleIndexY = _scaleIndexYTop;
|
||||||
|
t = _scaleIndexX;
|
||||||
|
_scaleIndexX = t + _scaleIndexXStep;
|
||||||
|
if (cost_scaleTable[t] < _scaleX) {
|
||||||
|
_xpos += _scaleIndexXStep;
|
||||||
|
if (_xpos >= 320)
|
||||||
|
return;
|
||||||
|
maskbit = revBitMask[_xpos&7];
|
||||||
|
_bg_ptr += _scaleIndexXStep;
|
||||||
|
}
|
||||||
|
dst = _bg_ptr;
|
||||||
|
mask = _mask_ptr + (_xpos>>3);
|
||||||
|
}
|
||||||
|
StartPos:;
|
||||||
|
} while (--len);
|
||||||
|
} while(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CostumeRenderer::proc2() {
|
void CostumeRenderer::proc2() {
|
||||||
|
|
6
gfx.cpp
6
gfx.cpp
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.5 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.4 2001/10/16 10:01:47 strigeus
|
* Revision 1.4 2001/10/16 10:01:47 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -231,6 +234,7 @@ void Scumm::drawStripToScreen() {
|
||||||
|
|
||||||
|
|
||||||
void blit(byte *dst, byte *src, int w, int h) {
|
void blit(byte *dst, byte *src, int w, int h) {
|
||||||
|
assert(h>0);
|
||||||
do {
|
do {
|
||||||
memcpy(dst, src, w);
|
memcpy(dst, src, w);
|
||||||
dst += 320;
|
dst += 320;
|
||||||
|
@ -1433,7 +1437,7 @@ int Scumm::findVirtScreen(int y) {
|
||||||
gdi.virtScreen=-1;
|
gdi.virtScreen=-1;
|
||||||
|
|
||||||
for(i=0; i<3; i++,vs++) {
|
for(i=0; i<3; i++,vs++) {
|
||||||
if (y >= vs->topline && y <= vs->topline+vs->height) {
|
if (y >= vs->topline && y < vs->topline+vs->height) {
|
||||||
gdi.virtScreen = i;
|
gdi.virtScreen = i;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.2 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.1 2001/10/16 10:01:47 strigeus
|
* Revision 1.1 2001/10/16 10:01:47 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -1397,11 +1400,20 @@ void Scumm::o_roomOps() {
|
||||||
unkRoomFunc3(d, e, a, b, c);
|
unkRoomFunc3(d, e, a, b, c);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 13: /* ? */
|
case 13: { /* save-string */
|
||||||
error("roomops:13 not implemented");
|
char buf[256],*s;
|
||||||
|
a = getVarOrDirectByte(0x80);
|
||||||
|
s = buf;
|
||||||
|
while (*s++=fetchScriptByte());
|
||||||
|
warning("roomops:13 save-string(%d,\"%s\") not implemented", a, buf);
|
||||||
break;
|
break;
|
||||||
case 14: /* ? */
|
}
|
||||||
error("roomops:14 not implemented");
|
case 14: /* load-string */
|
||||||
|
char buf[256],*s;
|
||||||
|
a = getVarOrDirectByte(0x80);
|
||||||
|
s = buf;
|
||||||
|
while (*s++=fetchScriptByte());
|
||||||
|
warning("roomops:14 load-string(%d,\"%s\") not implemented", a, buf);
|
||||||
break;
|
break;
|
||||||
case 15: /* palmanip? */
|
case 15: /* palmanip? */
|
||||||
a = getVarOrDirectByte(0x80);
|
a = getVarOrDirectByte(0x80);
|
||||||
|
|
5
scumm.h
5
scumm.h
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.9 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.8 2001/10/16 10:01:47 strigeus
|
* Revision 1.8 2001/10/16 10:01:47 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -854,8 +857,6 @@ struct Scumm {
|
||||||
|
|
||||||
bool _BgNeedsRedraw;
|
bool _BgNeedsRedraw;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int16 _localParamList[16];
|
int16 _localParamList[16];
|
||||||
|
|
||||||
uint16 _verbMouseOver;
|
uint16 _verbMouseOver;
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.9 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.8 2001/10/16 12:20:22 strigeus
|
* Revision 1.8 2001/10/16 12:20:22 strigeus
|
||||||
* made files compile on unix
|
* made files compile on unix
|
||||||
*
|
*
|
||||||
|
@ -234,7 +237,11 @@ void Scumm::scummMain(int argc, char **argv) {
|
||||||
|
|
||||||
_fileHandle = NULL;
|
_fileHandle = NULL;
|
||||||
|
|
||||||
|
#if defined(INDY4)
|
||||||
|
_bootParam = -7873;
|
||||||
|
#else
|
||||||
_bootParam = 0;
|
_bootParam = 0;
|
||||||
|
#endif
|
||||||
_debugMode = 1;
|
_debugMode = 1;
|
||||||
|
|
||||||
parseCommandLine(argc, argv);
|
parseCommandLine(argc, argv);
|
||||||
|
@ -412,6 +419,7 @@ static const GameNameList game_list[] = {
|
||||||
{"monkey2", "Monkey Island 2: LeChuck's revenge"},
|
{"monkey2", "Monkey Island 2: LeChuck's revenge"},
|
||||||
{"atlantis", "Indiana Jones 4 and the Fate of Atlantis"},
|
{"atlantis", "Indiana Jones 4 and the Fate of Atlantis"},
|
||||||
{"fate", "Indiana Jones 4 and the Fate of Atlantis (Demo)"},
|
{"fate", "Indiana Jones 4 and the Fate of Atlantis (Demo)"},
|
||||||
|
{"tentacle", "Day Of The Tenctacle"},
|
||||||
{NULL,NULL}
|
{NULL,NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
10
scummvm.dsp
10
scummvm.dsp
|
@ -66,7 +66,7 @@ LINK32=link.exe
|
||||||
# PROP Ignore_Export_Lib 0
|
# PROP Ignore_Export_Lib 0
|
||||||
# PROP Target_Dir ""
|
# PROP Target_Dir ""
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
|
||||||
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "CHECK_HEAP" /Yu"stdafx.h" /FD /GZ /c
|
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "CHECK_HEAP" /D "DUMP_SCRIPTS" /Yu"stdafx.h" /FD /GZ /c
|
||||||
# ADD BASE RSC /l 0x41d /d "_DEBUG"
|
# ADD BASE RSC /l 0x41d /d "_DEBUG"
|
||||||
# ADD RSC /l 0x41d /d "_DEBUG"
|
# ADD RSC /l 0x41d /d "_DEBUG"
|
||||||
BSC32=bscmake.exe
|
BSC32=bscmake.exe
|
||||||
|
@ -131,10 +131,6 @@ SOURCE=.\scummvm.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\sdl.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=.\sound.cpp
|
SOURCE=.\sound.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -154,6 +150,10 @@ SOURCE=.\sys.cpp
|
||||||
|
|
||||||
SOURCE=.\verbs.cpp
|
SOURCE=.\verbs.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\windows.cpp
|
||||||
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "Header Files"
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
|
14
sdl.cpp
14
sdl.cpp
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.9 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.8 2001/10/16 10:01:48 strigeus
|
* Revision 1.8 2001/10/16 10:01:48 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -220,10 +223,9 @@ void updateScreen(Scumm *s) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if(s->_palDirtyMax != -1) {
|
if(s->_palDirtyMax != -1) {
|
||||||
|
/* this updates the screen automatically */
|
||||||
updatePalette(s);
|
updatePalette(s);
|
||||||
}
|
} else if (fullRedraw) {
|
||||||
|
|
||||||
if (fullRedraw) {
|
|
||||||
SDL_UpdateRect(screen, 0,0,0,0);
|
SDL_UpdateRect(screen, 0,0,0,0);
|
||||||
#if defined(SHOW_AREA)
|
#if defined(SHOW_AREA)
|
||||||
debug(2,"update area 100 %%");
|
debug(2,"update area 100 %%");
|
||||||
|
@ -346,7 +348,13 @@ void initGraphics(Scumm *s) {
|
||||||
|
|
||||||
#undef main
|
#undef main
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
|
#if defined(DOTT)
|
||||||
|
scumm._exe_name = "tentacle";
|
||||||
|
#elif defined(INDY4)
|
||||||
|
scumm._exe_name = "atlantis";
|
||||||
|
#else
|
||||||
scumm._exe_name = "monkey2";
|
scumm._exe_name = "monkey2";
|
||||||
|
#endif
|
||||||
scumm._videoMode = 0x13;
|
scumm._videoMode = 0x13;
|
||||||
scumm.scummMain(argc, argv);
|
scumm.scummMain(argc, argv);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -17,6 +17,9 @@
|
||||||
*
|
*
|
||||||
* Change Log:
|
* Change Log:
|
||||||
* $Log$
|
* $Log$
|
||||||
|
* Revision 1.6 2001/10/16 20:31:27 strigeus
|
||||||
|
* misc fixes
|
||||||
|
*
|
||||||
* Revision 1.5 2001/10/16 10:01:48 strigeus
|
* Revision 1.5 2001/10/16 10:01:48 strigeus
|
||||||
* preliminary DOTT support
|
* preliminary DOTT support
|
||||||
*
|
*
|
||||||
|
@ -806,8 +809,6 @@ void updateScreen(Scumm *s) {
|
||||||
wm->writeToScreen();
|
wm->writeToScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void waitForTimer(Scumm *s) {
|
void waitForTimer(Scumm *s) {
|
||||||
if (!veryFastMode) {
|
if (!veryFastMode) {
|
||||||
Sleep(5);
|
Sleep(5);
|
||||||
|
@ -829,6 +830,8 @@ int main(int argc, char* argv[]) {
|
||||||
|
|
||||||
#if defined(DOTT)
|
#if defined(DOTT)
|
||||||
scumm._exe_name = "tentacle";
|
scumm._exe_name = "tentacle";
|
||||||
|
#elif defined(INDY4)
|
||||||
|
scumm._exe_name = "atlantis";
|
||||||
#else
|
#else
|
||||||
scumm._exe_name = "monkey2";
|
scumm._exe_name = "monkey2";
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue