ScummVM API documentation
room204.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_PHANTOM_ROOM204_H
23
#define MADS_PHANTOM_ROOM204_H
24
25
#include "mads/madsv2/phantom/rooms/section2.h"
26
#include "mads/madsv2/phantom/global.h"
27
28
namespace
MADS
{
29
namespace
MADSV2 {
30
namespace
Phantom {
31
namespace
Rooms {
32
33
#define local (&scratch)
34
#define ss local->sprite
35
#define seq local->sequence
36
#define aa local->animation
37
38
struct
Scratch {
/* Room local variables */
39
40
int16 sprite[15];
/* Sprite series handles */
41
int16 sequence[15];
/* Sequence handles */
42
int16 animation[4];
/* Animation handles */
43
int16 anim_0_running;
44
int16 anim_1_running;
45
int16 anim_2_running;
46
int16 anim_3_running;
47
int16 keep_raoul_down;
48
int16 florent_is_gone;
49
50
int16 prevent;
51
int16 prevent_2;
52
int16 prevent_3;
53
int16 end_of_game;
54
55
int16 brie_action;
56
int16 brie_frame;
57
int16 flor_action;
58
int16 flor_frame;
59
int16 raoul_action;
60
int16 raoul_frame;
61
62
int16 raoul_talk_count;
63
64
};
65
66
67
/* ========================= Sprite Series ========================= */
68
69
#define fx_1993 0
/* rm204z */
70
#define fx_broken_case 1
/* rm204f1 */
71
#define fx_book 2
/* rm204p0 */
72
#define fx_door 3
/* rm204x6 */
73
#define fx_reach_up_7 4
/* *RALRH_9 */
74
#define fx_take_6 5
/* *RDRR_6 */
75
#define fx_case 6
/* rm204f0 */
76
77
78
/* ========================= Conversations ========================= */
79
80
#define CONV_END_22 22
81
82
/* Conv 22 — Brie action states */
83
#define CONV22_BRIE_TALK 0
84
#define CONV22_BRIE_POINT 1
85
#define CONV22_BRIE_SHUT_UP 2
86
#define CONV22_BRIE_LEAVE 3
87
#define CONV22_BRIE_RIGHT_UP 4
88
89
/* Conv 22 — Florent action states */
90
#define CONV22_FLOR_TALK_RAOUL 0
91
#define CONV22_FLOR_TALK_BRIE 1
92
#define CONV22_FLOR_SHUT_UP 2
93
#define CONV22_FLOR_LEAVE 3
94
#define CONV22_FLOR_RAOUL_TALK 4
95
96
/* Conv 22 — Raoul action states */
97
#define CONV22_RAOUL_TALK 0
98
#define CONV22_RAOUL_SHUT_UP 1
99
#define CONV22_RAOUL_SIT 2
100
#define CONV22_RAOUL_GET_BOOK 3
101
#define CONV22_RAOUL_INVISIBLE 4
102
#define CONV22_RAOUL_GLANCE 5
103
104
105
/* ========================= Triggers ============================== */
106
107
#define ROOM_204_DOOR_OPENS 60
108
#define ROOM_204_DOOR_CLOSES 70
109
#define ROOM_204_ME_TALK 75
110
#define ROOM_204_YOU_TALK 80
111
#define ROOM_204_BYE 85
112
113
114
/* ========================= Player positions ====================== */
115
116
#define PLAYER_X_FROM_202_1881 115
117
#define PLAYER_Y_FROM_202_1881 147
118
119
#define PLAYER_X_FROM_202_1993 175
120
#define PLAYER_Y_FROM_202_1993 145
121
122
#define PLAYER_X_FROM_203 2
123
#define PLAYER_Y_FROM_203 140
124
125
#define WALK_TO_X_FROM_203 30
126
#define WALK_TO_Y_FROM_203 140
127
128
#define WALK_TO_X_BEHIND_DOOR 0
129
#define WALK_TO_Y_BEHIND_DOOR 136
130
131
132
/* ========================= Dynamic hotspot bounds ================ */
133
134
/* Coffee table (1993) */
135
#define COFFEE_X 83
136
#define COFFEE_Y 140
137
#define COFFEE_X_SIZE 45
138
#define COFFEE_Y_SIZE 12
139
#define WALK_TO_COFFEE_X 84
140
#define WALK_TO_COFFEE_Y 150
141
142
/* Comfy chairs (1881) */
143
#define CHAIR_1_X 220
144
#define CHAIR_1_Y 147
145
#define CHAIR_1_X_SIZE 6
146
#define CHAIR_1_Y_SIZE 8
147
#define WALK_TO_CHAIR_X 220
148
#define WALK_TO_CHAIR_Y 150
149
150
#define CHAIR_2_X 226
151
#define CHAIR_2_Y 134
152
#define CHAIR_2_X_SIZE 12
153
#define CHAIR_2_Y_SIZE 21
154
155
#define CHAIR_3_X 238
156
#define CHAIR_3_Y 128
157
#define CHAIR_3_X_SIZE 13
158
#define CHAIR_3_Y_SIZE 27
159
160
/* Grand foyer exits (1993) */
161
#define EXIT_1_X 199
162
#define EXIT_1_Y 147
163
#define EXIT_1_X_SIZE 52
164
#define EXIT_1_Y_SIZE 8
165
#define WALK_TO_EXIT_1_X 224
166
#define WALK_TO_EXIT_1_Y 152
167
168
#define EXIT_2_X 145
169
#define EXIT_2_Y 147
170
#define EXIT_2_X_SIZE 54
171
#define EXIT_2_Y_SIZE 8
172
#define WALK_TO_EXIT_2_X 175
173
#define WALK_TO_EXIT_2_Y 152
174
175
/* Grand foyer exits (1881) */
176
#define EXIT_3_X 199
177
#define EXIT_3_Y 147
178
#define EXIT_3_X_SIZE 19
179
#define EXIT_3_Y_SIZE 8
180
#define WALK_TO_EXIT_3_X 209
181
#define WALK_TO_EXIT_3_Y 152
182
183
#define EXIT_4_X 84
184
#define EXIT_4_Y 147
185
#define EXIT_4_X_SIZE 61
186
#define EXIT_4_Y_SIZE 8
187
#define WALK_TO_EXIT_4_X 115
188
#define WALK_TO_EXIT_4_Y 152
189
190
191
/* ========================= Misc ================================== */
192
193
#define DOOR_X 27
194
#define DOOR_Y 139
195
196
197
extern
void
room_204_init();
198
extern
void
room_204_daemon();
199
extern
void
room_204_pre_parser();
200
extern
void
room_204_parser();
201
extern
void
room_204_preload();
202
203
}
// namespace Rooms
204
}
// namespace Phantom
205
}
// namespace MADSV2
206
}
// namespace MADS
207
208
#endif
MADS
Definition:
mps_installer.h:31
engines
mads
madsv2
phantom
rooms
room204.h
Generated on Tue Jul 21 2026 09:14:40 for ScummVM API documentation by
1.8.13