[Scummvm-cvs-logs] CVS: scummvm/queen defs.h,1.34,1.35 display.cpp,1.32,1.33 logic.cpp,1.120,1.121 cutaway.cpp,1.83,1.84 xref.txt,1.42,1.43
Gregory Montoir
cyx at users.sourceforge.net
Fri Dec 5 12:18:01 CET 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/queen verb.h,1.6,1.7 logic.h,1.78,1.79 talk.cpp,1.53,1.54 cutaway.cpp,1.82,1.83 logic.cpp,1.119,1.120
- Next message: [Scummvm-cvs-logs] CVS: scummvm configure,1.49,1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv21621
Modified Files:
defs.h display.cpp logic.cpp cutaway.cpp xref.txt
Log Message:
- fix Joe scaling issue when switching from room 51 to 47 (temple)
- add remaining fadein() call in cutaway, pinnacle room is ok now
- add 2 macros to 'clarify' some room tests
- some cleanup
Index: defs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/defs.h,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- defs.h 4 Dec 2003 10:54:43 -0000 1.34
+++ defs.h 5 Dec 2003 20:16:31 -0000 1.35
@@ -256,6 +256,9 @@
FRANK_HEAD = 107
};
+#define IS_ALT_INTRO_ROOM(x) ((x) >= 90 && (x) <= 94)
+#define IS_CD_INTRO_ROOM(x) ((x) >= 115 && (x) <= 125)
+
//! GameState vars
enum {
Index: display.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/display.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- display.cpp 3 Dec 2003 14:09:37 -0000 1.32
+++ display.cpp 5 Dec 2003 20:16:32 -0000 1.33
@@ -146,8 +146,8 @@
memset(_dynalum.msk, 0, sizeof(_dynalum.msk));
memset(_dynalum.lum, 0, sizeof(_dynalum.lum));
_dynalum.valid = false;
- // FIXME: are these tests really needed ?
- if (roomNum < 90 || ((roomNum > 94) && (roomNum < 114))) {
+
+ if (!(IS_ALT_INTRO_ROOM(roomNum) || IS_CD_INTRO_ROOM(roomNum))) {
char filename[20];
sprintf(filename, "%s.msk", roomName);
@@ -259,7 +259,7 @@
debug(9, "Display::palFadeIn(%d, %d)", start, end);
memcpy(_pal.screen, _pal.room, 256 * 3);
- if (roomNum < 90 || (roomNum > 94 && roomNum < 114)) {
+ if (!(IS_ALT_INTRO_ROOM(roomNum) || IS_CD_INTRO_ROOM(roomNum))) {
if (dynalum) {
dynalumUpdate(dynaX, dynaY);
}
@@ -279,7 +279,7 @@
}
}
_pal.dirtyMin = 0;
- _pal.dirtyMax = 255; // (roomNum >= 114) ? 255 : 223; // FIXME: only for tests
+ _pal.dirtyMax = IS_CD_INTRO_ROOM(roomNum) ? 255 : 223;
_pal.scrollable = true;
}
@@ -289,7 +289,7 @@
debug(9, "Display::palFadeOut(%d, %d)", start, end);
_pal.scrollable = false;
int n = end - start + 1;
- if (!(roomNum < 90 || (roomNum > 94 && roomNum < 114))) {
+ if (IS_ALT_INTRO_ROOM(roomNum) || IS_CD_INTRO_ROOM(roomNum)) {
memset(_pal.screen + start * 3, 0, n * 3);
palSet(_pal.screen, start, end, true);
}
@@ -308,7 +308,6 @@
}
palSet(_pal.screen, start, end, true);
}
-
}
}
@@ -337,7 +336,6 @@
uint8 g = *palEnd++;
uint8 b = *palEnd;
- // scroll palette entries to the left
int n = (end - start) * 3;
while (n--) {
*palEnd = *(palEnd - 3);
Index: logic.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/logic.cpp,v
retrieving revision 1.120
retrieving revision 1.121
diff -u -d -r1.120 -r1.121
--- logic.cpp 5 Dec 2003 13:56:07 -0000 1.120
+++ logic.cpp 5 Dec 2003 20:16:32 -0000 1.121
@@ -1236,21 +1236,16 @@
if (mode != RDM_FADE_NOJOE) {
pod = joeSetupInRoom(mode != RDM_FADE_JOE_XY, scale);
}
- // FIXME: for now, always display room even if mode tells us
- // to not do so. This is necessary as actual Cutaway code
- // doesn't do any of the needed palFadeIn() calls. The only
- // noticeable problem is the initial display of the pinnacle
- // room which is faded 2 times.
-// if (mode != RDM_NOFADE_JOE) {
+ if (mode != RDM_NOFADE_JOE) {
update();
BobSlot *joe = _graphics->bob(0);
- if (_currentRoom >= 114) {
+ if (IS_CD_INTRO_ROOM(_currentRoom)) {
_display->palFadeIn(0, 255, _currentRoom, joe->active, joe->x, joe->y);
}
else {
_display->palFadeIn(0, 223, _currentRoom, joe->active, joe->x, joe->y);
}
-// }
+ }
if (pod != NULL) {
_walk->moveJoe(0, pod->x, pod->y, inCutaway);
}
@@ -1649,15 +1644,15 @@
debug(0, "Logic::joeSetupInRoom() - oldx=%d, oldy=%d scale=%d", oldx, oldy, scale);
if (scale > 0 && scale < 100) {
- _joe.scale = scale;
+ joeScale(scale);
}
else {
uint16 a = zoneInArea(ZONE_ROOM, oldx, oldy);
if (a > 0) {
- _joe.scale = currentRoomArea(a)->calcScale(oldy);
+ joeScale(currentRoomArea(a)->calcScale(oldy));
}
else {
- _joe.scale = 100;
+ joeScale(100);
}
}
@@ -1685,7 +1680,7 @@
joePrevFacing(joeFacing());
BobSlot *pbs = _graphics->bob(0);
- pbs->scale = _joe.scale;
+ pbs->scale = joeScale();
if (_currentRoom == 108) {
_graphics->cameraBob(-1);
@@ -1745,7 +1740,7 @@
update();
}
pbs->frameNum = frame + FRAMES_JOE_XTRA;
- pbs->scale = _joe.scale;
+ pbs->scale = joeScale();
pbs->xflip = (joeFacing() == DIR_LEFT);
update();
joePrevFacing(joeFacing());
@@ -1788,10 +1783,10 @@
break;
case STATE_GRAB_MID:
- if (_joe.facing == DIR_BACK) {
+ if (joeFacing() == DIR_BACK) {
frame = 6;
}
- else if (_joe.facing == DIR_FRONT) {
+ else if (joeFacing() == DIR_FRONT) {
frame = 4;
}
else {
@@ -1800,7 +1795,7 @@
break;
case STATE_GRAB_DOWN:
- if (_joe.facing == DIR_BACK) {
+ if (joeFacing() == DIR_BACK) {
frame = 9;
}
else {
@@ -1811,13 +1806,13 @@
case STATE_GRAB_UP:
// turn back
_graphics->bankUnpack(5, 29 + FRAMES_JOE_XTRA, 7);
- bobJoe->xflip = (_joe.facing == DIR_LEFT);
- bobJoe->scale = _joe.scale;
+ bobJoe->xflip = (joeFacing() == DIR_LEFT);
+ bobJoe->scale = joeScale();
update();
// grab up
_graphics->bankUnpack(7, 29 + FRAMES_JOE_XTRA, 7);
- bobJoe->xflip = (_joe.facing == DIR_LEFT);
- bobJoe->scale = _joe.scale;
+ bobJoe->xflip = (joeFacing() == DIR_LEFT);
+ bobJoe->scale = joeScale();
update();
// turn back
if (speed == 0) {
@@ -1831,8 +1826,8 @@
if (frame != 0) {
_graphics->bankUnpack(frame, 29 + FRAMES_JOE_XTRA, 7);
- bobJoe->xflip = (_joe.facing == DIR_LEFT);
- bobJoe->scale = _joe.scale;
+ bobJoe->xflip = (joeFacing() == DIR_LEFT);
+ bobJoe->scale = joeScale();
update();
// extra delay for grab down
Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -d -r1.83 -r1.84
--- cutaway.cpp 5 Dec 2003 13:56:06 -0000 1.83
+++ cutaway.cpp 5 Dec 2003 20:16:32 -0000 1.84
@@ -990,7 +990,7 @@
}
else {
// We need to display Joe on screen
- if (_roomFade == 1)
+ if (_roomFade)
mode = RDM_NOFADE_JOE;
else
mode = RDM_FADE_JOE_XY;
@@ -1538,19 +1538,17 @@
if (_input->cutawayQuit())
break;
- // XXX
-#if 0
- if(ROOMFADE==1)
- {
- update();
- //CR 2 - CD-Rom
- if(ROOM>=114)
- fadein(0,255);
- else
- fadein(0,223);
- ROOMFADE=0;
+ if (_roomFade) {
+ _logic->update();
+ int end = 223;
+ if (IS_CD_INTRO_ROOM(_logic->currentRoom())) {
+ end = 255;
+ }
+ BobSlot *j = _graphics->bob(0);
+ _logic->display()->palFadeIn(0, end, _logic->currentRoom(), j->active, j->x, j->y);
+ _roomFade = false;
}
-#endif
+
} // for()
stop();
@@ -1787,7 +1785,7 @@
joeBob->x = joeX;
joeBob->y = joeY;
- joeBob->scale = _logic->findScale(joeX, joeY);
+ _logic->joeScale(_logic->findScale(joeX, joeY));
_logic->joeFace();
}
}
Index: xref.txt
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/xref.txt,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -d -r1.42 -r1.43
--- xref.txt 30 Nov 2003 20:41:02 -0000 1.42
+++ xref.txt 5 Dec 2003 20:16:32 -0000 1.43
@@ -263,6 +263,7 @@
ROOMTOT Logic::_numRooms
ROOM_DATA Logic::_roomData
ROOM_NAMEstr Logic::_roomName
+SFACTOR Logic::_joe.scale
VERB_NAMEstr Verb::_verbName
WALK_OFF_DATA Logic::_walkOffData
WALK_OFF_MAX Logic::_numWalkOffs
@@ -471,7 +472,6 @@
CURRY
OMAX,OMAXA
TEMPA
-SFACTOR, // shrink factor, used to scale (down) the bobs
BANK,BNUM
DIFF // LOOK local var
RET // P1_SET_CONDITIONS local var
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/queen verb.h,1.6,1.7 logic.h,1.78,1.79 talk.cpp,1.53,1.54 cutaway.cpp,1.82,1.83 logic.cpp,1.119,1.120
- Next message: [Scummvm-cvs-logs] CVS: scummvm configure,1.49,1.50
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list