aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
authorGregory Montoir2003-11-17 19:55:17 +0000
committerGregory Montoir2003-11-17 19:55:17 +0000
commit1b77e5c41f6a5d7f45deac6f308b8841e8c40b24 (patch)
tree20b4828c7aa5350c35fb0704410de6d2006cf481 /queen
parent25414d0f2ddf0999dffb68186e2429b2354d2431 (diff)
downloadscummvm-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.cpp12
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++)