ScummVM API documentation
room203.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_ROOM203_H
23
#define MADS_PHANTOM_ROOM203_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 brie_action;
45
int16 brie_frame;
46
int16 brie_talk_count;
47
48
int16 raoul_action;
49
int16 raoul_frame;
50
int16 raoul_talk_count;
51
52
int16 rich_action;
53
int16 rich_frame;
54
int16 rich_talk_count;
55
56
int16 daae_action;
57
int16 daae_frame;
58
int16 daae_talk_count;
59
60
int16 anim_0_running;
61
int16 anim_1_running;
62
int16 anim_2_running;
63
int16 anim_3_running;
64
int16 show_note;
65
int16 converse_counter;
66
67
};
68
69
70
/* ========================= Sprite Series ========================= */
71
72
#define fx_1993 0
/* rm203z */
73
#define fx_parchment 1
/* rm203p1 */
74
#define fx_parchment_2 2
/* rm203p1 (second stamp slot) */
75
#define fx_letter 3
/* rm203p0 */
76
#define fx_take_6 4
/* rdr_6 */
77
#define fx_door 5
/* rm203x0 */
78
79
80
/* ========================= Conversations ========================= */
81
82
#define CONV_BRIE_5 5
83
#define CONV_RICH_8 8
84
#define CONV_RD_15 15
85
86
/* Conv 5 — Brie action states */
87
#define CONV5_BRIE_TALK 0
88
#define CONV5_BRIE_TALK_HANDS_UP 1
89
#define CONV5_BRIE_POINT 2
90
#define CONV5_BRIE_NOD 3
91
#define CONV5_BRIE_SHUT_UP 4
92
93
/* Conv 8 — Rich action states (also shared by Conv 15) */
94
#define CONV8_RICH_TALK 0
95
#define CONV8_RICH_LEFT_UP_DONT_KNOW 1
96
#define CONV8_RICH_POINT 2
97
#define CONV8_RICH_BOTH_UP 3
98
#define CONV8_RICH_SHUT_UP 4
99
#define CONV15_RICH_STAND_TALK 5
100
#define CONV15_RICH_SIT_DOWN 6
101
#define CONV15_RICH_STAND_SHUT_UP 7
102
103
/* Conv 5 — Raoul action states */
104
#define CONV5_RAOUL_SHUT_UP 0
105
#define CONV5_RAOUL_TALK 1
106
#define CONV5_RAOUL_GET_UP 2
107
#define CONV5_RAOUL_TAKE 3
108
#define CONV5_RAOUL_TAKE_TRAY 4
109
#define CONV5_RAOUL_SHOW 5
110
111
/* Conv 15 — Daae action states */
112
#define CONV15_DAAE_SHUT_UP 0
113
#define CONV15_DAAE_TALK_RICH 1
114
#define CONV15_DAAE_TALK_RAOUL 2
115
#define CONV15_DAAE_LEAVE 3
116
117
118
/* ========================= Triggers ============================== */
119
120
#define ROOM_203_BRIE_START_TALKING 60
121
#define ROOM_203_RAOUL_START_TALKING 65
122
#define ROOM_203_GET_UP 70
123
#define ROOM_203_TAKE_NOTE 74
124
#define ROOM_203_BRIE_TALK_HANDS_UP 76
125
#define ROOM_203_BRIE_POINT 78
126
#define ROOM_203_RICH_POINT 81
127
#define ROOM_203_RICH_LEFT_UP_DONT_KNOW 83
128
#define ROOM_203_RICH_BOTH_UP 85
129
#define ROOM_203_DOOR_OPENS 90
130
#define ROOM_203_DOOR_CLOSES 95
131
#define ROOM_203_RICH_START_TALKING 100
132
#define ROOM_203_DAAE_START_TALKING 105
133
#define ROOM_203_AFTER_SCREAM 110
134
#define ROOM_203_END 115
135
136
137
/* ========================= Player positions ====================== */
138
139
#define PLAYER_X_FROM_202 195
140
#define PLAYER_Y_FROM_202 147
141
142
#define PLAYER_X_FROM_113 98
143
#define PLAYER_Y_FROM_113 137
144
145
#define PLAYER_X_FROM_204 292
146
#define PLAYER_Y_FROM_204 119
147
148
#define WALK_TO_X_FROM_204 276
149
#define WALK_TO_Y_FROM_204 123
150
151
#define WALK_TO_X_BEHIND_DOOR 319
152
#define WALK_TO_Y_BEHIND_DOOR 123
153
154
155
/* ========================= Misc positions ======================== */
156
157
#define FRONT_CHAIR_X 154
158
#define FRONT_CHAIR_Y 131
159
160
#define DOOR_X 276
161
#define DOOR_Y 123
162
163
164
extern
void
room_203_init();
165
extern
void
room_203_daemon();
166
extern
void
room_203_pre_parser();
167
extern
void
room_203_parser();
168
extern
void
room_203_preload();
169
170
}
// namespace Rooms
171
}
// namespace Phantom
172
}
// namespace MADSV2
173
}
// namespace MADS
174
175
#endif
MADS
Definition:
mps_installer.h:31
engines
mads
madsv2
phantom
rooms
room203.h
Generated on Tue Jul 21 2026 09:14:43 for ScummVM API documentation by
1.8.13