PRINCE: Double animation of bird after 'throw a rock' mini-game fix
This commit is contained in:
parent
5594feff2a
commit
54a4b2fa86
2 changed files with 12 additions and 0 deletions
|
@ -722,6 +722,17 @@ void Interpreter::O_PUTBACKANIM() {
|
||||||
_vm->_script->installSingleBackAnim(_vm->_backAnimList, slot, room->_backAnim);
|
_vm->_script->installSingleBackAnim(_vm->_backAnimList, slot, room->_backAnim);
|
||||||
}
|
}
|
||||||
delete room;
|
delete room;
|
||||||
|
|
||||||
|
// WALKAROUND: fix for turning on 'walking bird' background animation too soon,
|
||||||
|
// after completing 'throw a rock' mini-game in Silmaniona location.
|
||||||
|
// Second bird shouldn't appear when normal animation is still in use
|
||||||
|
// in script lines 13814 and 13848
|
||||||
|
if (_currentInstruction == kSecondBirdAnimationScriptFix) {
|
||||||
|
if (_vm->_normAnimList[1]._state == 0) {
|
||||||
|
_vm->_backAnimList[0].backAnims[0]._state = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
debugInterpreter("O_PUTBACKANIM roomId %d, slot %d, animId %d", roomId, slot, animId);
|
debugInterpreter("O_PUTBACKANIM roomId %d, slot %d, animId %d", roomId, slot, animId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -242,6 +242,7 @@ private:
|
||||||
static OpcodeFunc _opcodes[];
|
static OpcodeFunc _opcodes[];
|
||||||
|
|
||||||
static const uint kGiveLetterScriptFix = 79002;
|
static const uint kGiveLetterScriptFix = 79002;
|
||||||
|
static const uint kSecondBirdAnimationScriptFix = 45658;
|
||||||
|
|
||||||
// Keep opcode handlers names as they are in original code
|
// Keep opcode handlers names as they are in original code
|
||||||
// making it easier to switch back and forth
|
// making it easier to switch back and forth
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue