aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/insane
diff options
context:
space:
mode:
authorEugene Sandulenko2013-03-30 15:53:15 +0200
committerEugene Sandulenko2013-03-30 15:53:44 +0200
commita36a7253e479d823a5e93104a166a6198663a3c2 (patch)
tree9de8c06cf46c453ffd1ed50e0192ff3286e6e449 /engines/scumm/insane
parent9479d1a9ee0b17302410af5a54f5942ff864ceec (diff)
downloadscummvm-rg350-a36a7253e479d823a5e93104a166a6198663a3c2.tar.gz
scummvm-rg350-a36a7253e479d823a5e93104a166a6198663a3c2.tar.bz2
scummvm-rg350-a36a7253e479d823a5e93104a166a6198663a3c2.zip
SCUMM: Fix several bugs in INSANE
Diffstat (limited to 'engines/scumm/insane')
-rw-r--r--engines/scumm/insane/insane_enemy.cpp19
1 files changed, 5 insertions, 14 deletions
diff --git a/engines/scumm/insane/insane_enemy.cpp b/engines/scumm/insane/insane_enemy.cpp
index f416601e2d..4e66b27528 100644
--- a/engines/scumm/insane/insane_enemy.cpp
+++ b/engines/scumm/insane/insane_enemy.cpp
@@ -1892,6 +1892,7 @@ void Insane::actor12Reaction(int32 buttons) {
break;
}
}
+ _actor[1].kicking = true;
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
break;
case 20:
@@ -1932,6 +1933,7 @@ void Insane::actor12Reaction(int32 buttons) {
_actor[1].kicking = false;
if (_actor[1].act[2].frame >= 5) {
smlayer_setActorFacing(1, 2, 25, 180);
+ smlayer_setActorLayer(1, 2, 5);
_actor[1].act[2].state = 65;
}
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
@@ -2012,7 +2014,6 @@ void Insane::actor12Reaction(int32 buttons) {
} else {
smlayer_setActorFacing(1, 2, 20, 180);
_actor[1].act[2].state = 28;
- break;
}
}
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
@@ -2063,10 +2064,8 @@ void Insane::actor12Reaction(int32 buttons) {
smlayer_setActorLayer(1, 2, 5);
_actor[1].kicking = false;
- if (!smlayer_actorNeedRedraw(1, 2)) {
+ if (!smlayer_actorNeedRedraw(1, 2))
switchEnemyWeapon();
- _actor[1].act[2].tilt = 0;
- }
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
break;
case 36:
@@ -2156,16 +2155,8 @@ void Insane::actor12Reaction(int32 buttons) {
_actor[1].kicking = false;
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
break;
+ case 62:
case 65:
- smlayer_setActorLayer(1, 2, 5);
- if (_actor[1].act[2].animTilt) {
- smlayer_setActorFacing(1, 2, 25, 180);
- _actor[1].act[2].animTilt = 0;
- }
- _actor[1].weaponClass = 1;
- _actor[1].kicking = false;
- _actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
- break;
case 66:
smlayer_setActorLayer(1, 2, 5);
if (_actor[1].act[2].animTilt) {
@@ -2322,6 +2313,7 @@ void Insane::actor12Reaction(int32 buttons) {
smlayer_startSfx(100);
_actor[1].act[2].state = 90;
_actor[1].act[2].tilt = calcTilt(_actor[1].tilt);
+ smlayer_setActorLayer(1, 2, 26);
break;
case 90:
smlayer_setActorLayer(1, 2, 26);
@@ -2531,7 +2523,6 @@ void Insane::actor12Reaction(int32 buttons) {
_actor[1].act[0].room = 0;
_actor[1].cursorX = 0;
_actor[1].act[2].state = 116;
- smlayer_startVoice(232);
break;
case 116:
smlayer_setActorLayer(1, 2, 25);