ScummVM API documentation
room105.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_ROOM105_H
23
#define MADS_PHANTOM_ROOM105_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 column_prop;
/* Dynamic HS for column_prop */
44
45
};
46
47
48
/* ========================= Sprite Series ========================= */
49
50
#define fx_lantern 0
/* rm105x0 */
51
#define fx_red_frame 1
/* rm105x1 */
52
#define fx_door 2
/* rm105x2 */
53
#define fx_1993 3
/* rm105z */
54
#define fx_thunder 4
/* rm105x3 */
55
#define fx_bend_down_9 5
/* rrd_9 */
56
#define fx_take_9 6
/* rdr_9 */
57
#define fx_climb_up 7
/* rm105a0 */
58
#define fx_climb_down 8
/* rm105a1 */
59
60
61
/* ========================= Triggers ============================== */
62
63
#define ROOM_105_DOOR_CLOSES 60
64
#define ROOM_105_DOOR_OPENS 65
65
#define ROOM_105_DUN_THUNDER 70
66
#define ROOM_105_INIT_TEXT 75
67
68
69
/* ========================= Player positions ====================== */
70
71
#define PLAYER_X_FROM_103 3
72
#define PLAYER_Y_FROM_103 112
73
74
#define PLAYER_X_FROM_STAIRCASE 198
75
#define PLAYER_Y_FROM_STAIRCASE 132
76
77
#define WALK_TO_X_FROM_103 45
78
#define WALK_TO_Y_FROM_103 131
79
80
#define WALK_TO_X_OPEN_DOOR 0
81
#define WALK_TO_Y_OPEN_DOOR 111
82
83
#define FRONT_OF_DOOR_X 33
84
#define FRONT_OF_DOOR_Y 128
85
86
#define WALK_TO_STAIRS_X 207
87
#define WALK_TO_STAIRS_Y 131
88
89
90
/* ========================= Dynamic hotspot coords — props ======== */
91
92
#define PROP_1_X 0
93
#define PROP_1_Y 125
94
#define PROP_2_X 29
95
#define PROP_2_Y 136
96
#define PROP_3_X 79
97
#define PROP_3_Y 141
98
99
#define PROP_1_X_SIZE 29
100
#define PROP_1_Y_SIZE 31
101
#define PROP_2_X_SIZE 50
102
#define PROP_2_Y_SIZE 20
103
#define PROP_3_X_SIZE 53
104
#define PROP_3_Y_SIZE 15
105
106
107
/* ========================= Dynamic hotspot coords — bear ========= */
108
109
#define BEAR_1_X 278
110
#define BEAR_1_Y 132
111
#define BEAR_2_X 299
112
#define BEAR_2_Y 146
113
#define BEAR_3_X 269
114
#define BEAR_3_Y 142
115
116
#define BEAR_1_X_SIZE 21
117
#define BEAR_1_Y_SIZE 24
118
#define BEAR_2_X_SIZE 8
119
#define BEAR_2_Y_SIZE 10
120
#define BEAR_3_X_SIZE 8
121
#define BEAR_3_Y_SIZE 8
122
123
124
/* ========================= Dynamic hotspot coords — light ======== */
125
126
#define LIGHT_X 102
127
#define LIGHT_Y 14
128
#define LIGHT_X_SIZE 24
129
#define LIGHT_Y_SIZE 10
130
131
132
/* ========================= Dynamic hotspot coords — columns ====== */
133
134
#define COLUMN_1_X 132
135
#define COLUMN_1_Y 24
136
#define COLUMN_2_X 56
137
#define COLUMN_2_Y 45
138
139
#define COLUMN_1_X_SIZE 21
140
#define COLUMN_1_Y_SIZE 105
141
#define COLUMN_2_X_SIZE 11
142
#define COLUMN_2_Y_SIZE 77
143
144
#define WALK_TO_COLUMN_1_X 159
145
#define WALK_TO_COLUMN_1_Y 133
146
#define WALK_TO_COLUMN_2_X 72
147
#define WALK_TO_COLUMN_2_Y 126
148
149
150
extern
void
room_105_init();
151
extern
void
room_105_daemon();
152
extern
void
room_105_pre_parser();
153
extern
void
room_105_parser();
154
extern
void
room_105_preload();
155
156
}
// namespace Rooms
157
}
// namespace Phantom
158
}
// namespace MADSV2
159
}
// namespace MADS
160
161
#endif
MADS
Definition:
mps_installer.h:31
engines
mads
madsv2
phantom
rooms
room105.h
Generated on Tue Jul 21 2026 09:14:40 for ScummVM API documentation by
1.8.13