aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
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++)