diff options
author | Strangerke | 2014-03-16 22:44:53 +0100 |
---|---|---|
committer | Strangerke | 2014-03-16 22:46:28 +0100 |
commit | 4dd057edd93bdb121cd046bfc1b2d770c5c0dbc4 (patch) | |
tree | c31f3d5121eeed153f4b9ca6b10d2356a8338566 /engines | |
parent | d599c7c404729217cf4cf85ee02b2d8b3f3b9ec9 (diff) | |
download | scummvm-rg350-4dd057edd93bdb121cd046bfc1b2d770c5c0dbc4.tar.gz scummvm-rg350-4dd057edd93bdb121cd046bfc1b2d770c5c0dbc4.tar.bz2 scummvm-rg350-4dd057edd93bdb121cd046bfc1b2d770c5c0dbc4.zip |
MADS: First real try - Implement Scene201::enter()
Diffstat (limited to 'engines')
-rw-r--r-- | engines/mads/nebular/nebular_scenes2.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/engines/mads/nebular/nebular_scenes2.cpp b/engines/mads/nebular/nebular_scenes2.cpp index ec8af4ca29..3eff596484 100644 --- a/engines/mads/nebular/nebular_scenes2.cpp +++ b/engines/mads/nebular/nebular_scenes2.cpp @@ -79,6 +79,77 @@ void Scene201::setup() { } void Scene201::enter() { + if ((_globals._frameTime) && (_vm->getRandomNumber(5000) == 9)) { + _globals._spriteIndexes[20] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[5], false, 5, 1, 6, 0); + int idx = _scene->_dynamicHotspots.add(351, 13, _globals._spriteIndexes[20], Common::Rect(0, 0, 0, 0)); + _scene->_dynamicHotspots.setPosition(idx, 270, 80, 6); + _scene->_sequences.setDepth(_globals._spriteIndexes[20], 8); + _vm->_sound->command(14); + _globals._frameTime = 0; + } + + if (_game._abortTimers == 70) { + _globals._spriteIndexes[21] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0); + _game._player._visible = false; + _scene->_sequences.setAnimRange(_globals._spriteIndexes[21], 12, 16); + _globals._spriteIndexes[22] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 1, 0, 0); + _vm->_sound->command(42); + _scene->_sequences.setDepth(_globals._spriteIndexes[21], 1); + _scene->_sequences.setDepth(_globals._spriteIndexes[22], 1); + _scene->_sequences.addSubEntry(_globals._spriteIndexes[22], SM_FRAME_INDEX, 3, 81); + _scene->_sequences.addSubEntry(_globals._spriteIndexes[22], SM_0, 0, 71); + _scene->_sequences.addSubEntry(_globals._spriteIndexes[21], SM_0, 0, 73); + } + + if (_game._abortTimers == 81) { + _scene->_kernelMessages.reset(); + } + + if (_game._abortTimers == 71) { + _globals._spriteIndexes[22] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[7], false, 9, 0, 0, 0); + _scene->_sequences.setAnimRange(_globals._spriteIndexes[22], -2, -2); + _scene->_sequences.setDepth(_globals._spriteIndexes[22], 1); + } + + if (_game._abortTimers == 73) { + _globals._spriteIndexes[21] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 1, 0, 0); + _scene->_sequences.setAnimRange(_globals._spriteIndexes[21], 17, -2); + _scene->_sequences.addSubEntry(_globals._spriteIndexes[21], SM_0, 0, 74); + _scene->_sequences.setDepth(_globals._spriteIndexes[21], 1); + } + + if (_game._abortTimers == 74) { + _vm->_sound->command(40); + + _scene->_kernelMessages.add(Common::Point(125, 56), 0xFDFC, 32, 82, 180, _game.getQuote(91)); + _globals._spriteIndexes[21] = _scene->_sequences.addSpriteCycle(_globals._spriteIndexes[6], false, 9, 0, 0, 0); + _scene->_sequences.setDepth(_globals._spriteIndexes[21], 1); + _scene->_sequences.setAnimRange(_globals._spriteIndexes[21], -2, -2); + _scene->_sequences.addTimer(180, 75); + } + + if (_game._abortTimers == 75) { + _globals[37] = 0; + _scene->_nextSceneId = 202; + } + + if (_game._abortTimers == 76) { + _game._player._stepEnabled = true; + _game._player._visible = true; + _game._player._priorTimer = _scene->_frameStartTime - _game._player._ticksAmount; + } + + if (_game._abortTimers == 77) { + _globals[39] = 1; + _scene->_nextSceneId = _globals[40]; + _scene->_reloadSceneFlag = true; + } + + if (_game._abortTimers == 78) { + _vm->_sound->command(40); + Dialog::show(0x4E92); + _scene->_reloadSceneFlag = true; + } } void Scene201::step() { |