ScummVM API documentation
room106.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_ROOM106_H
23
#define MADS_PHANTOM_ROOM106_H
24
25
#include "mads/madsv2/phantom/rooms/section1.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 dynamic_sandbag;
/* Dynamic HS for fallen sandbag */
44
45
};
46
47
48
/* ========================= Sprite Series ========================= */
49
50
#define fx_sandbag 0
/* rm106x0 */
51
#define fx_yikes 1
/* rm106a0 */
52
#define fx_door 2
/* rm106x1 */
53
#define fx_take_9 3
/* rdr_9 */
54
#define fx_climb_up 4
/* rm106a1 */
55
#define fx_bend_down_9 5
/* rrd_9 */
56
#define fx_climb_down 6
/* rm106a2 */
57
#define fx_1881 7
/* rm106z */
58
#define fx_cable_hook 8
/* rm106p0 */
59
60
61
/* ========================= Triggers ============================== */
62
63
#define ROOM_106_DOOR_CLOSES 60
64
#define ROOM_106_DOOR_OPENS 65
65
#define ROOM_106_CLIMB_DOWN 75
66
#define ROOM_106_CLIMB_UP 80
67
#define ROOM_106_INIT_TEXT 85
68
69
70
/* ========================= Player positions ====================== */
71
72
#define PLAYER_X_FROM_105 227
73
#define PLAYER_Y_FROM_105 143
74
75
#define PLAYER_X_FROM_108 19
76
#define PLAYER_Y_FROM_108 147
77
78
#define PLAYER_X_FROM_107 143
79
#define PLAYER_Y_FROM_107 68
80
81
#define PLAYER_X_FROM_109 178
82
#define PLAYER_Y_FROM_109 68
83
84
#define WALK_TO_X_FROM_107 163
85
#define WALK_TO_Y_FROM_107 68
86
87
#define AFTER_LOOK_ANIM_X 225
88
#define AFTER_LOOK_ANIM_Y 143
89
90
#define WALK_TO_AFTER_ANIM_X 236
91
#define WALK_TO_AFTER_ANIM_Y 142
92
93
#define FRONT_OF_DOOR_X 179
94
#define FRONT_OF_DOOR_Y 63
95
96
#define WALK_TO_X_BEHIND_DOOR 180
97
#define WALK_TO_Y_BEHIND_DOOR 60
98
99
#define OFF_SCREEN_X_FROM_108 -20
100
#define OFF_SCREEN_Y_FROM_108 130
101
102
103
/* ========================= Fallen sandbag hotspot ================ */
104
105
#define SANDBAG_X 227
106
#define SANDBAG_Y 140
107
#define SANDBAG_XS 18
108
#define SANDBAG_YS 11
109
110
#define SANDBAG_WALK_TO_X 224
111
#define SANDBAG_WALK_TO_Y 152
112
113
114
/* ========================= Sandbag dynamics (1881) =============== */
115
116
#define DYN_SANDBAG_1_X 40
117
#define DYN_SANDBAG_1_Y 47
118
#define DYN_SANDBAG_1_X_SIZE 11
119
#define DYN_SANDBAG_1_Y_SIZE 17
120
121
#define DYN_SANDBAG_2_X 98
122
#define DYN_SANDBAG_2_Y 14
123
#define DYN_SANDBAG_2_X_SIZE 5
124
#define DYN_SANDBAG_2_Y_SIZE 10
125
126
#define DYN_SANDBAG_3_X 111
127
#define DYN_SANDBAG_3_Y 23
128
#define DYN_SANDBAG_3_X_SIZE 6
129
#define DYN_SANDBAG_3_Y_SIZE 9
130
131
#define DYN_SANDBAG_4_X 119
132
#define DYN_SANDBAG_4_Y 12
133
#define DYN_SANDBAG_4_X_SIZE 5
134
#define DYN_SANDBAG_4_Y_SIZE 8
135
136
137
/* ========================= Floor dynamics (1881) ================= */
138
139
#define DYN_FLOOR_1_X 80
140
#define DYN_FLOOR_1_Y 114
141
#define DYN_FLOOR_1_X_SIZE 24
142
#define DYN_FLOOR_1_Y_SIZE 4
143
#define DYN_FLOOR_1_WALK_TO_X 93
144
#define DYN_FLOOR_1_WALK_TO_Y 121
145
146
#define DYN_FLOOR_2_X 106
147
#define DYN_FLOOR_2_Y 102
148
#define DYN_FLOOR_2_X_SIZE 5
149
#define DYN_FLOOR_2_Y_SIZE 10
150
#define DYN_FLOOR_2_WALK_TO_X 108
151
#define DYN_FLOOR_2_WALK_TO_Y 109
152
153
154
extern
void
room_106_init();
155
extern
void
room_106_daemon();
156
extern
void
room_106_pre_parser();
157
extern
void
room_106_parser();
158
extern
void
room_106_preload();
159
160
}
// namespace Rooms
161
}
// namespace Phantom
162
}
// namespace MADSV2
163
}
// namespace MADS
164
165
#endif
MADS
Definition:
mps_installer.h:31
engines
mads
madsv2
phantom
rooms
room106.h
Generated on Tue Jul 21 2026 09:14:40 for ScummVM API documentation by
1.8.13