aboutsummaryrefslogtreecommitdiff
path: root/engines/neverhood/module1400.h
diff options
context:
space:
mode:
authorjohndoe1232011-07-27 18:02:30 +0000
committerWillem Jan Palenstijn2013-05-08 20:39:34 +0200
commitd7dd4b43563b3d0ad5b16ff1fb384ab1382b3848 (patch)
treebd999ffbf43b6b5ec85258f26b7e3175dd40f716 /engines/neverhood/module1400.h
parentbfd71cff6e73c0be6b2d66f7f71921094f42ca09 (diff)
downloadscummvm-rg350-d7dd4b43563b3d0ad5b16ff1fb384ab1382b3848.tar.gz
scummvm-rg350-d7dd4b43563b3d0ad5b16ff1fb384ab1382b3848.tar.bz2
scummvm-rg350-d7dd4b43563b3d0ad5b16ff1fb384ab1382b3848.zip
NEVERHOOD: Implement Scene1403, Scene1404 and Scene1405 (memory minigame)
- Move GameModule::startup call into engine instead of the game module constructor - Reduce debug output
Diffstat (limited to 'engines/neverhood/module1400.h')
-rw-r--r--engines/neverhood/module1400.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/engines/neverhood/module1400.h b/engines/neverhood/module1400.h
index 433dc413f5..72afb4f15a 100644
--- a/engines/neverhood/module1400.h
+++ b/engines/neverhood/module1400.h
@@ -26,6 +26,7 @@
#include "neverhood/neverhood.h"
#include "neverhood/module.h"
#include "neverhood/scene.h"
+#include "neverhood/module1200.h"
namespace Neverhood {
@@ -237,6 +238,71 @@ protected:
uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
};
+// Scene1403
+
+class Scene1403 : public Scene {
+public:
+ Scene1403(NeverhoodEngine *vm, Module *parentModule, int which);
+protected:
+ Sprite *_class401_1;
+ Sprite *_class401_2;
+ Sprite *_class401_3;
+ AsScene1201Tape *_asTape1;
+ AsScene1201Tape *_asTape2;
+ Sprite *_class489;
+ bool _flag;
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+};
+
+// Scene1404
+
+class Scene1404 : public Scene {
+public:
+ Scene1404(NeverhoodEngine *vm, Module *parentModule, int which);
+ virtual ~Scene1404();
+protected:
+ Sprite *_sprite1;
+ Sprite *_asTape;
+ Sprite *_class489;
+ Sprite *_class545;
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+};
+
+// Scene1405
+
+class Scene1405;
+
+class AsScene1405Tile : public AnimatedSprite {
+public:
+ AsScene1405Tile(NeverhoodEngine *vm, Scene1405 *parentScene, uint32 index);
+ void show();
+ void hide();
+protected:
+ Scene1405 *_parentScene;
+ SoundResource _soundResource;
+ bool _flag;
+ uint32 _index;
+ int _countdown;
+ void update();
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+};
+
+class Scene1405 : public Scene {
+public:
+ Scene1405(NeverhoodEngine *vm, Module *parentModule, int which);
+ int getCountdown() const { return _countdown; }
+protected:
+ SoundResource _soundResource;
+ bool _selectFirstTile;
+ int _firstTileIndex;
+ int _secondTileIndex;
+ int _tilesLeft;
+ int _countdown;
+ AsScene1405Tile *_tiles[48];
+ void update();
+ uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
+};
+
} // End of namespace Neverhood
#endif /* NEVERHOOD_MODULE1400_H */