aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module2800.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/neverhood/module2800.h')
-rw-r--r--engines/neverhood/module2800.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/engines/neverhood/module2800.h b/engines/neverhood/module2800.h
index f0403f4990..ca8b058ca1 100644
--- a/engines/neverhood/module2800.h
+++ b/engines/neverhood/module2800.h
@@ -37,15 +37,17 @@ public:
virtual ~Module2800();
protected:
bool _flag;
- uint32 _fileHash;
+ uint32 _currentMusicFileHash;
+ MusicResource *_musicResource;
void createScene(int sceneNum, int which);
void updateScene();
+ void updateMusic(bool halfVolume);
};
class Scene2801 : public Scene {
public:
Scene2801(NeverhoodEngine *vm, Module *parentModule, int which);
- ~Scene2801();
+ virtual ~Scene2801();
protected:
Sprite *_sprite1;
Sprite *_sprite2;
@@ -54,6 +56,22 @@ protected:
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};
+class Scene2802 : public Scene {
+public:
+ Scene2802(NeverhoodEngine *vm, Module *parentModule, int which);
+ virtual ~Scene2802();
+protected:
+ SmackerPlayer *_smackerPlayer;
+ uint _smackerFrameNumber;
+ int _countdownType;
+ int _countdown1;
+ int _countdown2;
+ void update();
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+ void incSmackerFrameNumber(int delta);
+ void changeCountdownType(int prevCountdownType, int newCountdownType);
+};
+
class AsScene2803LightCord : public AnimatedSprite {
public:
AsScene2803LightCord(NeverhoodEngine *vm, Scene *parentScene, uint32 fileHash1, uint32 fileHash2, int16 x, int16 y);