aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorStrangerke2014-03-16 22:44:53 +0100
committerStrangerke2014-03-16 22:46:28 +0100
commit4dd057edd93bdb121cd046bfc1b2d770c5c0dbc4 (patch)
treec31f3d5121eeed153f4b9ca6b10d2356a8338566 /engines
parentd599c7c404729217cf4cf85ee02b2d8b3f3b9ec9 (diff)
downloadscummvm-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.cpp71
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() {