ScummVM API documentation
room205.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_ROOM205_H
23
#define MADS_PHANTOM_ROOM205_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
44
int16 rich_frame;
45
int16 rich_action;
46
int16 rich_talk_count;
47
48
int16 giry_frame;
49
int16 giry_action;
50
int16 giry_talk_count;
51
52
int16 just_did_option;
53
int16 anim_0_running;
54
int16 anim_1_running;
55
int16 converse_counter;
56
int16 no_hold;
/* if true, will not conv_hold in Parser */
57
int16 give_ticket;
/* if true, will give ticket */
58
59
};
60
61
62
/* ========================= Sprite Series ========================= */
63
64
#define fx_left_door 0
/* rm203f0 */
65
#define fx_right_door 1
/* rm203f1 */
66
#define fx_take_9 2
/* *RDR_9 */
67
68
69
/* ========================= Conversations ========================= */
70
71
#define CONV_RICHARD_18 18
72
#define CONV_GIRY_10 10
73
#define CONV_GIRY_11 11
74
75
/* Conv 18 — Richard action states */
76
#define CONV18_RICH_TALK 0
77
#define CONV18_RICH_POINT 1
78
#define CONV18_RICH_BOTH_GO 2
79
#define CONV18_RICH_SHUT_UP 3
80
#define CONV18_RICH_BOTH_ARMS_UP 4
81
82
/* Conv 10/11 — Giry action states */
83
#define CONV10_GIRY_TALK 0
84
#define CONV10_GIRY_POINT_TALK 1
85
#define CONV10_GIRY_SHUT_UP 2
86
#define CONV10_GIRY_NOD 3
87
#define CONV10_GIRY_TRANCE 4
88
#define CONV10_GIRY_WELCOME 5
89
#define CONV10_GIRY_LEFT_DOOR 6
90
#define CONV10_GIRY_RIGHT_DOOR 7
91
#define CONV10_GIRY_HANDS_UP 8
92
#define CONV11_GIRY_TAKE 9
93
94
95
/* ========================= Triggers ============================== */
96
97
#define ROOM_205_ME_TALK 60
98
#define ROOM_205_RICHARD_TALK 62
99
#define ROOM_205_END 64
100
#define ROOM_205_GIRY_TALK 66
101
#define ROOM_205_WELCOME 68
102
#define ROOM_205_POINT_TALK 70
103
#define ROOM_205_NOD 72
104
#define ROOM_205_BOTH_HANDS_UP 74
105
#define ROOM_205_DOOR_OPENS 80
106
#define ROOM_205_LEFT_DOOR_CLOSES 90
107
#define ROOM_205_RIGHT_DOOR_CLOSES 95
108
#define ROOM_205_TAKE_TICKET 100
109
#define ROOM_205_WALK 110
110
111
112
/* ========================= Player positions ====================== */
113
114
#define WALK_TO_X_FROM_202 19
115
#define WALK_TO_Y_FROM_202 144
116
#define OFF_SCREEN_X_FROM_202 -20
117
#define OFF_SCREEN_Y_FROM_202 144
118
119
#define PLAYER_X_FROM_206 36
120
#define PLAYER_Y_FROM_206 68
121
122
#define PLAYER_X_FROM_207 263
123
#define PLAYER_Y_FROM_207 65
124
125
#define BRIE_X 132
126
#define BRIE_Y 112
127
128
129
/* ========================= Box door walk positions =============== */
130
131
#define FRONT_5_X 37
132
#define FRONT_5_Y 67
133
134
#define FRONT_6_X 80
135
#define FRONT_6_Y 68
136
137
#define FRONT_7_X 167
138
#define FRONT_7_Y 65
139
140
#define FRONT_8_X 212
141
#define FRONT_8_Y 64
142
143
#define FRONT_9_X 258
144
#define FRONT_9_Y 63
145
146
#define BEHIND_LEFT_X 37
147
#define BEHIND_LEFT_Y 64
148
149
#define BEHIND_RIGHT_X 263
150
#define BEHIND_RIGHT_Y 59
151
152
153
/* ========================= Dynamic Giry positions ================ */
154
155
#define DYN_GIRY_X_R 257
156
#define DYN_GIRY_Y_R 79
157
#define DYN_GIRY_X_L 75
158
#define DYN_GIRY_Y_L 84
159
160
161
/* ========================= Madame Giry hotspot locations ========= */
162
163
/* Left position (by box 5) */
164
#define HS_MADAME_X_L_1 62
165
#define HS_MADAME_Y_L_1 54
166
#define HS_MADAME_X_L_2 62
167
#define HS_MADAME_Y_L_2 66
168
169
/* Middle position */
170
#define HS_MADAME_X_M_1 113
171
#define HS_MADAME_Y_M_1 44
172
#define HS_MADAME_X_M_2 107
173
#define HS_MADAME_Y_M_2 66
174
175
/* Right position (by box 9) */
176
#define HS_MADAME_X_R_1 283
177
#define HS_MADAME_Y_R_1 51
178
#define HS_MADAME_X_R_2 289
179
#define HS_MADAME_Y_R_2 62
180
181
182
extern
void
room_205_init();
183
extern
void
room_205_daemon();
184
extern
void
room_205_pre_parser();
185
extern
void
room_205_parser();
186
extern
void
room_205_preload();
187
188
}
// namespace Rooms
189
}
// namespace Phantom
190
}
// namespace MADSV2
191
}
// namespace MADS
192
193
#endif
MADS
Definition:
mps_installer.h:31
engines
mads
madsv2
phantom
rooms
room205.h
Generated on Tue Jul 21 2026 09:14:43 for ScummVM API documentation by
1.8.13