ScummVM API documentation
forest_scenes.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 MADS_FOREST_SCENES_H
23
#define MADS_FOREST_SCENES_H
24
25
#include "mads/scene.h"
26
#include "mads/forest/game_forest.h"
27
#include "mads/forest/globals_forest.h"
28
29
namespace
MADS
{
30
namespace
Forest {
31
32
enum
Verb {
33
VERB_LOOK = 0x3,
34
VERB_TAKE = 0x4,
35
VERB_PUSH = 0x5,
36
VERB_OPEN = 0x6,
37
VERB_PUT = 0x7,
38
VERB_TALK_TO = 0x8,
39
VERB_GIVE = 0x9,
40
VERB_PULL = 0xa,
41
VERB_CLOSE = 0xb,
42
VERB_THROW = 0xc,
43
VERB_WALK_TO = 0xd,
44
VERB_ATTACK = 0x43,
45
VERB_CARVE_UP = 0x4c,
46
VERB_CLICK_ON = 0x4e,
47
VERB_CLIMB_DOWN = 0x50,
48
VERB_CLIMB_UP = 0x51,
49
VERB_DOWN_PAGE = 0x5a,
50
VERB_EAT = 0x5b,
51
VERB_INVOKE = 0x6c,
52
VERB_LOOK_AT = 0x72,
53
VERB_MAKE_NOISE = 0x73,
54
VERB_POLISH = 0x80,
55
VERB_RUB = 0x88,
56
VERB_THRUST = 0x98,
57
VERB_TIE = 0x99,
58
VERB_UP_PAGE = 0x9c,
59
VERB_USE = 0x9d,
60
VERB_WALK = 0x9f,
61
VERB_WALK_DOWN = 0xa0,
62
VERB_WEAR = 0xa1
63
};
64
65
enum
Noun {
66
NOUN_GAME = 0x1,
67
NOUN_QSAVE = 0x2,
68
NOUN_OWL_TREE = 0x40,
69
NOUN_ABI_BUBBLE = 0x41,
70
NOUN_ALL_BUBBLE = 0x42,
71
NOUN_BEDROOM = 0x44,
72
NOUN_BIRD_FIGURINE = 0x45,
73
NOUN_BIRDCALL = 0x46,
74
NOUN_BOOK = 0x47,
75
NOUN_BOOKCASE = 0x48,
76
NOUN_BOOKS = 0x49,
77
NOUN_BOOKSHELF = 0x4a,
78
NOUN_BUSH = 0x4b,
79
NOUN_CHICORY = 0x4d,
80
NOUN_CLIFF = 0x4f,
81
NOUN_COMFREY = 0x52,
82
NOUN_DANDELION = 0x53,
83
NOUN_DOOR = 0x54,
84
NOUN_DOOR_1 = 0x55,
85
NOUN_DOOR_2 = 0x56,
86
NOUN_DOOR_3 = 0x57,
87
NOUN_DOOR_4 = 0x58,
88
NOUN_DOOR_5 = 0x59,
89
NOUN_EDGE_OF_CLIFF = 0x5c,
90
NOUN_ELM_LEAVES = 0x5d,
91
NOUN_EXIT_JOURNAL = 0x5e,
92
NOUN_EYEBRIGHT = 0x5f,
93
NOUN_FEATHER = 0x60,
94
NOUN_FIVE = 0x61,
95
NOUN_FLOOR = 0x62,
96
NOUN_FLOWERS = 0x63,
97
NOUN_FOREST = 0x64,
98
NOUN_FORKED_STICK = 0x65,
99
NOUN_FOUR = 0x66,
100
NOUN_FOXGLOVE = 0x67,
101
NOUN_FROG = 0x68,
102
NOUN_GEARS = 0x69,
103
NOUN_GROUND = 0x6a,
104
NOUN_HOLE = 0x6b,
105
NOUN_IVY_LEAF = 0x6d,
106
NOUN_JOURNAL = 0x6e,
107
NOUN_LABORATORY = 0x6f,
108
NOUN_LEAVES = 0x70,
109
NOUN_LILY_PAD = 0x71,
110
NOUN_MAP = 0x74,
111
NOUN_MARSH = 0x75,
112
NOUN_MINT = 0x76,
113
NOUN_MOSS = 0x77,
114
NOUN_MUSHROOM = 0x78,
115
NOUN_NEEDLE = 0x79,
116
NOUN_NOTHING = 0x7a,
117
NOUN_ONE = 0x7b,
118
NOUN_OVERHANGING_GRASS = 0x7c,
119
NOUN_PEBBLES = 0x7d,
120
NOUN_PICK_UP = 0x7e,
121
NOUN_PLANT = 0x7f,
122
NOUN_POND = 0x81,
123
NOUN_POSTER = 0x82,
124
NOUN_PRIMROSE = 0x83,
125
NOUN_REEDS = 0x84,
126
NOUN_RIVER = 0x85,
127
NOUN_ROCKS = 0x86,
128
NOUN_ROPE = 0x87,
129
NOUN_RUBBER_BAND = 0x89,
130
NOUN_SANCTUARY_WOODS = 0x8a,
131
NOUN_SHIELDSTONE = 0x8b,
132
NOUN_SIGNET_RING = 0x8c,
133
NOUN_SIX = 0x8d,
134
NOUN_SNAPDRAGON = 0x8e,
135
NOUN_SPIDER_SILK = 0x8f,
136
NOUN_STAIRS = 0x90,
137
NOUN_STICKS = 0x91,
138
NOUN_SUNFLOWER = 0x92,
139
NOUN_SWORD = 0x93,
140
NOUN_TABLE = 0x94,
141
NOUN_TELESCOPE = 0x95,
142
NOUN_THISTLE = 0x96,
143
NOUN_THREE = 0x97,
144
NOUN_TWINE = 0x9a,
145
NOUN_TWO = 0x9b,
146
NOUN_VINE_WEED = 0x9e,
147
NOUN_WEASEL = 0xa2,
148
NOUN_WEB = 0xa3,
149
NOUN_WOOD = 0xa4,
150
NOUN_WOODS = 0xa5,
151
NOUN_WRENCH = 0xa6,
152
NOUN_Y_STICK = 0xa7,
153
NOUN_ABIGAIL = 0xa8,
154
NOUN_EDGAR = 0xa9,
155
NOUN_RUSSEL = 0xaa,
156
NOUN_SNAPDRAGON2 = 0xab,
157
NOUN_LUNGWORT = 0xac,
158
NOUN_GRASS = 0xad,
159
NOUN_FWT = 0xae,
160
NOUN_DRAGON1 = 0xaf,
161
NOUN_DRAGON2 = 0xb0,
162
NOUN_NEST = 0xb1,
163
NOUN_PAINT_CAN = 0xb2,
164
NOUN_DAM = 0xb3,
165
NOUN_BROWN = 0xb4,
166
NOUN_TURTLE = 0xb5,
167
NOUN_DRAGONFLY = 0xb6,
168
NOUN_FENWICK = 0xb7,
169
NOUN_BLUE_BIRD = 0xb8,
170
NOUN_BLACK_BIRD = 0xb9,
171
NOUN_LEVER = 0xba,
172
NOUN_ROCK = 0xbb,
173
NOUN_USED_IT = 0xbc,
174
NOUN_TAIL = 0xbd
175
};
176
177
class
SceneFactory
{
178
public
:
179
static
SceneLogic
*createScene(
MADSEngine
*vm);
180
};
181
185
class
ForestScene
:
public
SceneLogic
{
186
protected
:
187
ForestGlobals
&_globals;
188
GameForest
&_game;
189
MADSAction
&_action;
190
194
Common::Path
formAnimName(
char
sepChar,
int
suffixNum);
195
199
void
lowRoomsEntrySound();
200
public
:
204
ForestScene
(
MADSEngine
*vm);
205
};
206
207
class
SceneInfoForest
:
public
SceneInfo
{
208
friend
class
SceneInfo
;
209
protected
:
210
void
loadCodes(
BaseSurface
&depthSurface,
int
variant)
override
;
211
212
void
loadCodes(
BaseSurface
&depthSurface,
Common::SeekableReadStream
*stream)
override
;
213
217
SceneInfoForest
(
MADSEngine
*vm) :
SceneInfo
(vm) {}
218
};
219
220
// TODO: Temporary, remove once implemented properly
221
class
DummyScene
:
public
ForestScene
{
222
public
:
223
DummyScene
(
MADSEngine
*vm) :
ForestScene
(vm) {
224
warning
(
"Unimplemented scene"
);
225
}
226
227
void
setup
()
override
{}
228
void
enter
()
override
{}
229
void
actions
()
override
{}
230
};
231
232
}
// End of namespace Forest
233
}
// End of namespace MADS
234
235
#endif
MADS::BaseSurface
Definition:
msurface.h:55
MADS::MADSAction
Definition:
action.h:103
MADS::Forest::DummyScene
Definition:
forest_scenes.h:221
warning
void warning(MSVC_PRINTF const char *s,...) GCC_PRINTF(1
MADS::Forest::GameForest
Definition:
game_forest.h:55
MADS::Forest::SceneFactory
Definition:
forest_scenes.h:177
Common::Path
Definition:
path.h:52
MADS::Forest::SceneInfoForest::SceneInfoForest
SceneInfoForest(MADSEngine *vm)
Definition:
forest_scenes.h:217
Common::SeekableReadStream
Definition:
stream.h:745
MADS::Forest::ForestScene
Definition:
forest_scenes.h:185
MADS::Forest::ForestGlobals
Definition:
globals_forest.h:38
MADS::Forest::DummyScene::actions
void actions() override
Definition:
forest_scenes.h:229
MADS::Forest::DummyScene::enter
void enter() override
Definition:
forest_scenes.h:228
MADS::SceneInfo
Definition:
scene_data.h:141
MADS::Forest::DummyScene::setup
void setup() override
Definition:
forest_scenes.h:227
MADS::MADSEngine
Definition:
mads.h:79
MADS::SceneLogic
Definition:
scene_data.h:73
MADS
Definition:
action.h:28
MADS::Forest::SceneInfoForest
Definition:
forest_scenes.h:207
engines
mads
forest
forest_scenes.h
Generated on Fri Mar 13 2026 09:18:46 for ScummVM API documentation by
1.8.13