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