diff options
author | Gregory Montoir | 2003-11-17 19:55:17 +0000 |
---|---|---|
committer | Gregory Montoir | 2003-11-17 19:55:17 +0000 |
commit | 1b77e5c41f6a5d7f45deac6f308b8841e8c40b24 (patch) | |
tree | 20b4828c7aa5350c35fb0704410de6d2006cf481 /queen | |
parent | 25414d0f2ddf0999dffb68186e2429b2354d2431 (diff) | |
download | scummvm-rg350-1b77e5c41f6a5d7f45deac6f308b8841e8c40b24.tar.gz scummvm-rg350-1b77e5c41f6a5d7f45deac6f308b8841e8c40b24.tar.bz2 scummvm-rg350-1b77e5c41f6a5d7f45deac6f308b8841e8c40b24.zip |
fix some demo-related bugs :
- lola disappearing under the shower
- wrong frame used when Joe uses the sheet rope (changed some conditions to match the ones in the original source)
the english demo versions (PCGames & normal) seem now to be completable without any graphical glitches ; only the sound/music and 'end message' are missing
svn-id: r11325
Diffstat (limited to 'queen')
-rw-r--r-- | queen/cutaway.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/queen/cutaway.cpp b/queen/cutaway.cpp index 06d6744741..8592f2b54e 100644 --- a/queen/cutaway.cpp +++ b/queen/cutaway.cpp @@ -1023,7 +1023,7 @@ byte *Cutaway::handleAnimation(byte *ptr, CutawayObject &object) { } if (objAnim[i].object < 4) - bob->frameNum = 29 + bob->frameNum + FRAMES_JOE_XTRA; + bob->frameNum = 29 + objAnim[i].object + FRAMES_JOE_XTRA; if (objAnim[i].unpackFrame == 0) { // Turn off the bob @@ -1033,7 +1033,7 @@ byte *Cutaway::handleAnimation(byte *ptr, CutawayObject &object) { if (object.animType == 2 || object.animType == 0) { // Unpack animation, but do not unpack moving people - if (!((objAnim[i].mx || objAnim[i].my) && InRange(objAnim[i].object, 0, 3))) { + if (!((objAnim[i].mx > 0 || objAnim[i].my > 0) && InRange(objAnim[i].object, 1, 3))) { /*debug(0, "Animation - bankUnpack(%i, %i, %i);", objAnim[i].unpackFrame, objAnim[i].originalFrame, @@ -1056,12 +1056,14 @@ byte *Cutaway::handleAnimation(byte *ptr, CutawayObject &object) { } // Only flip if we are not moving or it is not a person object - if (!(objAnim[i].mx || objAnim[i].my) || - !(objAnim[i].object > 0 && objAnim[i].object < 4)) + if (!(objAnim[i].object > 0 && objAnim[i].object < 4) || + !(objAnim[i].mx || objAnim[i].my) ) bob->xflip = objAnim[i].flip; // Add frame alteration - bob->frameNum = objAnim[i].originalFrame; + if (!(objAnim[i].object > 0 && objAnim[i].object < 4)) { + bob->frameNum = objAnim[i].originalFrame; + } int j; for (j = 0; j < objAnim[i].speed; j++) |