[Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.30,1.31 cutaway.h,1.13,1.14 defs.h,1.8,1.9 xref.txt,1.10,1.11
David Eriksson
twogood at users.sourceforge.net
Sat Oct 18 04:55:05 CEST 2003
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/bs2 anims.cpp,1.32,1.33 anims.h,1.4,1.5 build_display.cpp,1.34,1.35 build_display.h,1.7,1.8 console.cpp,1.19,1.20 controls.cpp,1.32,1.33 credits.h,1.5,1.6 debug.cpp,1.15,1.16 defs.h,1.4,1.5 events.cpp,1.11,1.12 events.h,1.6,1.7 function.cpp,1.26,1.27 icons.cpp,1.14,1.15 interpreter.cpp,1.16,1.17 layers.cpp,1.13,1.14 layers.h,1.5,1.6 logic.cpp,1.21,1.22 logic.h,1.6,1.7 mouse.cpp,1.27,1.28 mouse.h,1.6,1.7 object.h,1.4,1.5 protocol.cpp,1.15,1.16 resman.cpp,1.54,1.55 router.cpp,1.23,1.24 save_rest.cpp,1.27,1.28 scroll.cpp,1.7,1.8 sound.cpp,1.26,1.27 sound.h,1.5,1.6 speech.cpp,1.31,1.32 startup.cpp,1.22,1.23 sword2.cpp,1.60,1.61 sync.cpp,1.9,1.10 walker.cpp,1.16,1.17 walker.h,1.3,1.4
- Next message: [Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.29,1.30 cutaway.h,1.12,1.13 xref.txt,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /cvsroot/scummvm/scummvm/queen
In directory sc8-pr-cvs1:/tmp/cvs-serv29507
Modified Files:
cutaway.cpp cutaway.h defs.h xref.txt
Log Message:
- Fix some cutaway crashes
- Implement more cutaway animation
Index: cutaway.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- cutaway.cpp 18 Oct 2003 10:58:10 -0000 1.30
+++ cutaway.cpp 18 Oct 2003 11:46:51 -0000 1.31
@@ -538,7 +538,7 @@
else {
if (anim.bank != 13) {
/* XXX if (OLDBANK != T) */ {
- _graphics->bankLoad(_bankNames[anim.bank], 8);
+ _graphics->bankLoad(_bankNames[anim.bank-1], 8);
// XXX OLDBANK=T;
}
@@ -678,6 +678,64 @@
if (object.animType != 1) {
// lines 1657-1761 in cutaway.c
+ for (i = 0; i < frameCount; i++) {
+ BobSlot *bob = _graphics->bob(objAnim[i].object);
+ bob->active = true;
+ if (bob->animating) {
+ bob->animating = false;
+ bob->frameNum = objAnim[i].originalFrame;
+ }
+
+ if (objAnim[i].object < 4)
+ bob->frameNum = 29 + bob->frameNum + FRAMES_JOE_XTRA;
+
+ if (objAnim[i].unpackFrame == 0) {
+ // Turn off the bob
+ bob->active = false;
+ }
+ else {
+ if (object.animType == 2 || object.animType == 0) {
+ // Unpack animation, but do not unpack moving people
+
+ if (!(objAnim[0].mx || objAnim[0].my) && InRange(objAnim[i].object, 0, 3))
+ _graphics->bankUnpack(
+ objAnim[i].unpackFrame,
+ objAnim[i].originalFrame,
+ objAnim[i].bank);
+ }
+
+ if (objAnim[i].cx || objAnim[i].cy) {
+ bob->x = objAnim[i].cx;
+ bob->y = objAnim[i].cy;
+ }
+
+ // Only flip if we are not moving and it is not a person object
+ if (!(objAnim[i].mx || objAnim[i].my) &&
+ !(objAnim[i].object > 0 && objAnim[i].object < 4))
+ bob->xflip = objAnim[i].flip;
+
+ // Add frame alteration
+ bob->frameNum = objAnim[i].originalFrame;
+
+ int j;
+ for (j = 0; j < objAnim[i].speed; j++)
+ _graphics->update();
+ }
+
+ if (_quit)
+ return NULL;
+
+ if (objAnim[i].song > 0)
+ /* XXX playsong(objAnim[i].song) */ ;
+
+ // Load but don't play
+ if(objAnim[i].song < 0) {
+ // XXX loadnoplay=1;
+ // XXX playsong(abs(OBJ_ANIM[J][11]));
+ // XXX loadnoplay=0;
+ }
+
+ } // for()
}
bool moving = true;
Index: cutaway.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/cutaway.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- cutaway.h 18 Oct 2003 10:58:10 -0000 1.13
+++ cutaway.h 18 Oct 2003 11:46:51 -0000 1.14
@@ -105,18 +105,18 @@
};
struct CutawayAnim {
- int object;
- int unpackFrame; // Frame to unpack
- int speed;
- int bank;
- int mx;
- int my;
- int cx;
- int cy;
- int scale;
- int currentFrame; // Index to Current Frame
- int originalFrame; // Index to Original Object Frame
- int song;
+ int16 object;
+ int16 unpackFrame; // Frame to unpack
+ int16 speed;
+ int16 bank;
+ int16 mx;
+ int16 my;
+ int16 cx;
+ int16 cy;
+ int16 scale;
+ int16 currentFrame; // Index to Current Frame
+ int16 originalFrame; // Index to Original Object Frame
+ int16 song;
bool flip; // set this if unpackFrame is negative
};
Index: defs.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/defs.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- defs.h 18 Oct 2003 08:12:56 -0000 1.8
+++ defs.h 18 Oct 2003 11:46:52 -0000 1.9
@@ -24,6 +24,8 @@
namespace Queen {
+// Maybe should be an inlined function somwhere else, feel free to change
+#define InRange(x,l,h) ((x)<=(h) && (x)>=(l)) /* X in [l..h] */
enum {
GAME_SCREEN_WIDTH = 320,
Index: xref.txt
===================================================================
RCS file: /cvsroot/scummvm/scummvm/queen/xref.txt,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- xref.txt 18 Oct 2003 10:58:10 -0000 1.10
+++ xref.txt 18 Oct 2003 11:46:52 -0000 1.11
@@ -360,6 +360,7 @@
(UNSORTED)
==========
+in() defs.h InRange() macro
game_save()
game_load()
R_MAP()
- Previous message: [Scummvm-cvs-logs] CVS: scummvm/bs2 anims.cpp,1.32,1.33 anims.h,1.4,1.5 build_display.cpp,1.34,1.35 build_display.h,1.7,1.8 console.cpp,1.19,1.20 controls.cpp,1.32,1.33 credits.h,1.5,1.6 debug.cpp,1.15,1.16 defs.h,1.4,1.5 events.cpp,1.11,1.12 events.h,1.6,1.7 function.cpp,1.26,1.27 icons.cpp,1.14,1.15 interpreter.cpp,1.16,1.17 layers.cpp,1.13,1.14 layers.h,1.5,1.6 logic.cpp,1.21,1.22 logic.h,1.6,1.7 mouse.cpp,1.27,1.28 mouse.h,1.6,1.7 object.h,1.4,1.5 protocol.cpp,1.15,1.16 resman.cpp,1.54,1.55 router.cpp,1.23,1.24 save_rest.cpp,1.27,1.28 scroll.cpp,1.7,1.8 sound.cpp,1.26,1.27 sound.h,1.5,1.6 speech.cpp,1.31,1.32 startup.cpp,1.22,1.23 sword2.cpp,1.60,1.61 sync.cpp,1.9,1.10 walker.cpp,1.16,1.17 walker.h,1.3,1.4
- Next message: [Scummvm-cvs-logs] CVS: scummvm/queen cutaway.cpp,1.29,1.30 cutaway.h,1.12,1.13 xref.txt,1.9,1.10
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Scummvm-git-logs
mailing list