aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2014-04-05 18:48:23 -0400
committerPaul Gilbert2014-04-05 18:48:23 -0400
commit41e527bb73c6166ce4ed49502de1d8bbee6e4bf6 (patch)
tree07c181dbf5e17e0c440dddc75235588329474e90
parentd3bc036a46ea83a0bd5a4d16577740b25e8eaec4 (diff)
downloadscummvm-rg350-41e527bb73c6166ce4ed49502de1d8bbee6e4bf6.tar.gz
scummvm-rg350-41e527bb73c6166ce4ed49502de1d8bbee6e4bf6.tar.bz2
scummvm-rg350-41e527bb73c6166ce4ed49502de1d8bbee6e4bf6.zip
MADS: Fix incorrect parameter in turky explosion sequence
-rw-r--r--engines/mads/nebular/nebular_scenes1.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/engines/mads/nebular/nebular_scenes1.cpp b/engines/mads/nebular/nebular_scenes1.cpp
index 5e4d1691a8..f7a2a6031e 100644
--- a/engines/mads/nebular/nebular_scenes1.cpp
+++ b/engines/mads/nebular/nebular_scenes1.cpp
@@ -332,26 +332,30 @@ void Scene103::actions() {
if (!_vm->_game->_trigger)
_vm->_sound->command(31);
- if (_vm->_game->_fx < 2) {
+ if (_vm->_game->_trigger < 2) {
_globals._spriteIndexes[24] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[9], false, 6, _vm->_game->_trigger < 1 ? 1 : 0);
if (_vm->_game->_trigger) {
+ // Lock the turkey into a permanent "exploded" frame
+ _scene->_sequences.setAnimRange(_globals._spriteIndexes[24], -1, -1);
+
// Rex says "Gads.."
- _scene->_sequences.setAnimRange(_globals._spriteIndexes[24], -1, 0);
Common::String msg = _game.getQuote(51);
_scene->_kernelMessages.add(Common::Point(0, 0), 0x1110, 18, 0, 60, msg);
_scene->_sequences.addTimer(120, _vm->_game->_trigger + 1);
} else {
- // Start initial explosion
+ // Initial turky explosion
_scene->_sequences.addSubEntry(_globals._spriteIndexes[24], SM_0, 0, 1);
}
+ }
- _game._player._stepEnabled = _game._trigger == 2;
- _globals[kTurkeyExploded] = -1;
- if (_game._trigger == 2) {
- // Show exposition dialog
- _vm->_dialogs->show(10302);
- _scene->_hotspots.activate(362, false);
- }
+ // Re-enable player if sequence is ended, and set global flag
+ _game._player._stepEnabled = _game._trigger == 2;
+ _globals[kTurkeyExploded] = -1;
+
+ if (_game._trigger == 2) {
+ // Show exposition dialog at end of sequence
+ _vm->_dialogs->show(10302);
+ _scene->_hotspots.activate(362, false);
}
} else if (_action.isAction(VERB_LOOK, 250)) {
_vm->_dialogs->show(!_globals[kTurkeyExploded] ? 10323 : 10303);