ScummVM API documentation
module1000.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef NEVERHOOD_MODULES_MODULE1000_H
23 #define NEVERHOOD_MODULES_MODULE1000_H
24 
25 #include "neverhood/neverhood.h"
26 #include "neverhood/module.h"
27 #include "neverhood/scene.h"
28 
29 namespace Neverhood {
30 
31 class Module1000 : public Module {
32 public:
33  Module1000(NeverhoodEngine *vm, Module *parentModule, int which);
34  ~Module1000() override;
35 protected:
36  int _sceneNum;
37  uint32 _musicFileHash;
38  void createScene(int sceneNum, int which);
39  void updateScene();
40 };
41 
42 class Scene1001 : public Scene {
43 public:
44  Scene1001(NeverhoodEngine *vm, Module *parentModule, int which);
45  ~Scene1001() override;
46 protected:
47  Sprite *_asHammer;
48  Sprite *_asDoor;
49  Sprite *_asWindow;
50  Sprite *_asLever;
51  Sprite *_ssButton;
52  uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
53 };
54 
55 class Scene1002 : public Scene {
56 public:
57  Scene1002(NeverhoodEngine *vm, Module *parentModule, int which);
58  ~Scene1002() override;
59 protected:
60  Sprite *_asRing1;
61  Sprite *_asRing2;
62  Sprite *_asRing3;
63  Sprite *_asRing4;
64  Sprite *_asRing5;
65  Sprite *_asDoor;
66  Sprite *_asDoorSpy;
67  Sprite *_asVenusFlyTrap;
68  Sprite *_ssLadderArch;
69  Sprite *_ssLadderArchPart1;
70  Sprite *_ssLadderArchPart2;
71  Sprite *_ssLadderArchPart3;
72  Sprite *_ssCeiling;
73  Sprite *_asKlaymenLadderHands;
74  Sprite *_asKlaymenPeekHand;
75  Sprite *_asOutsideDoorBackground;
76  Sprite *_ssPressButton;
77  bool _isKlaymenFloor;
78  bool _isClimbingLadder;
79  void update();
80  uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
81 };
82 
83 class Scene1004 : public Scene {
84 public:
85  Scene1004(NeverhoodEngine *vm, Module *parentModule, int which);
86 protected:
87  Sprite *_asKlaymenLadderHands;
88  Sprite *_asTrashCan;
89  int _paletteAreaStatus;
90  void update();
91  uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
92  void updatePaletteArea();
93 };
94 
95 class Scene1005 : public Scene {
96 public:
97  Scene1005(NeverhoodEngine *vm, Module *parentModule, int which);
98 protected:
99  uint32 handleMessage(int messageNum, const MessageParam &param, Entity *sender);
100  void drawTextToBackground();
101  uint32 getTextIndex();
102  uint32 getTextIndex1();
103  uint32 getKloggsTextIndex();
104  uint32 getTextIndex3(uint32 usefulHint);
105 };
106 
107 } // End of namespace Neverhood
108 
109 #endif /* NEVERHOOD_MODULES_MODULE1000_H */
Definition: background.h:30
Definition: module1000.h:83
Definition: neverhood.h:60
Definition: module1000.h:55
Definition: module1000.h:31
Definition: entity.h:42
Definition: entity.h:77
Definition: module1000.h:42
Definition: scene.h:41
Definition: sprite.h:54
Definition: module.h:45
Definition: module1000.h:95