diff options
| author | Filippos Karapetis | 2013-10-01 01:24:56 +0300 |
|---|---|---|
| committer | Filippos Karapetis | 2013-10-01 01:24:56 +0300 |
| commit | d798a4f12a95c3911b46e3bfddb9bc84f1b6a540 (patch) | |
| tree | f1484a4f9f6ec2773490df535e850e739d335fb4 /engines/neverhood/modules/module2600.cpp | |
| parent | aab55c24fd1e1dd757e0d7b735f31662de871e70 (diff) | |
| download | scummvm-rg350-d798a4f12a95c3911b46e3bfddb9bc84f1b6a540.tar.gz scummvm-rg350-d798a4f12a95c3911b46e3bfddb9bc84f1b6a540.tar.bz2 scummvm-rg350-d798a4f12a95c3911b46e3bfddb9bc84f1b6a540.zip | |
NEVERHOOD: Split some more sprites from their respective scenes
This splits modules 2400, 2500 and 2600
Diffstat (limited to 'engines/neverhood/modules/module2600.cpp')
| -rw-r--r-- | engines/neverhood/modules/module2600.cpp | 89 |
1 files changed, 1 insertions, 88 deletions
diff --git a/engines/neverhood/modules/module2600.cpp b/engines/neverhood/modules/module2600.cpp index 2fce82b777..a6484a4926 100644 --- a/engines/neverhood/modules/module2600.cpp +++ b/engines/neverhood/modules/module2600.cpp @@ -21,6 +21,7 @@ */ #include "neverhood/modules/module2600.h" +#include "neverhood/modules/module2600_sprites.h" namespace Neverhood { @@ -219,94 +220,6 @@ void Module2600::updateScene() { } } -SsScene2609Button::SsScene2609Button(NeverhoodEngine *vm, Scene *parentScene) - : StaticSprite(vm, 1400), _parentScene(parentScene), _countdown(0) { - - SetUpdateHandler(&SsScene2609Button::update); - SetMessageHandler(&SsScene2609Button::handleMessage); - - loadSprite(0x825A6923, kSLFDefDrawOffset | kSLFDefPosition | kSLFDefCollisionBoundsOffset, 400); - if (!getGlobalVar(V_WATER_RUNNING)) - setVisible(false); - loadSound(0, 0x10267160); - loadSound(1, 0x7027FD64); - loadSound(2, 0x44043000); - loadSound(3, 0x44045000); -} - -void SsScene2609Button::update() { - updatePosition(); - if (_countdown != 0 && (--_countdown == 0)) { - if (getGlobalVar(V_WATER_RUNNING)) { - setGlobalVar(V_WATER_RUNNING, 0); - sendMessage(_parentScene, 0x2001, 0); - } else { - setGlobalVar(V_WATER_RUNNING, 1); - sendMessage(_parentScene, 0x2002, 0); - } - } -} - -uint32 SsScene2609Button::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { - uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); - switch (messageNum) { - case 0x1011: - if (_countdown == 0) { - sendMessage(_parentScene, 0x2000, 0); - if (getGlobalVar(V_WATER_RUNNING)) { - setVisible(false); - playSound(3); - playSound(1); - _countdown = 12; - } else { - setVisible(true); - playSound(2); - playSound(0); - _countdown = 96; - } - } - messageResult = 1; - break; - } - return messageResult; -} - -AsScene2609Water::AsScene2609Water(NeverhoodEngine *vm) - : AnimatedSprite(vm, 1000) { - - _x = 240; - _y = 420; - setDoDeltaX(1); - createSurface1(0x9C210C90, 1200); - setClipRect(260, 260, 400, 368); - _vm->_soundMan->addSound(0x08526C36, 0xDC2769B0); - SetUpdateHandler(&AnimatedSprite::update); - SetMessageHandler(&AsScene2609Water::handleMessage); - if (getGlobalVar(V_WATER_RUNNING)) - sendMessage(this, 0x2002, 0); -} - -AsScene2609Water::~AsScene2609Water() { - _vm->_soundMan->deleteSoundGroup(0x08526C36); -} - -uint32 AsScene2609Water::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { - uint32 messageResult = Sprite::handleMessage(messageNum, param, sender); - switch (messageNum) { - case 0x2001: - stopAnimation(); - setVisible(false); - _vm->_soundMan->stopSound(0xDC2769B0); - break; - case 0x2002: - startAnimation(0x9C210C90, 0, -1); - setVisible(true); - _vm->_soundMan->playSoundLooping(0xDC2769B0); - break; - } - return messageResult; -} - Scene2609::Scene2609(NeverhoodEngine *vm, Module *parentModule, int which) : Scene(vm, parentModule), _isBusy(false) { |
