ScummVM API documentation
room108.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_ROOM108_H
23
#define MADS_PHANTOM_ROOM108_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 anim_0_running;
44
45
int16 char_action;
/* action Charles is going to perform */
46
int16 char_frame;
47
int16 char_talk_count;
48
int16 char_shut_up_count;
49
int16 dynamic_char;
/* Dynamic HS for Charles */
50
int16 prev_shut_up_frame;
51
int16 max_talk_count;
/* max talking count for Charles */
52
int16 did_raise_hand;
/* true, when if talking, did raise hand */
53
int16 converse_counter;
/* counter for talking displacements */
54
55
};
56
57
58
/* ========================= Sprite Series ========================= */
59
60
#define fx_1993 0
/* rm108z */
61
62
63
/* ========================= Conversation ========================== */
64
65
#define CONV_CHARLES 2
66
67
68
/* ========================= Charles (Conv 2) action states ======== */
69
70
#define CONV2_CHAR_SHUT_UP 0
71
#define CONV2_CHAR_TALK 1
72
#define CONV2_CHAR_WRITE 2
73
#define CONV2_CHAR_OH_MY 3
74
#define CONV2_CHAR_POINT_UP 4
75
#define CONV2_CHAR_BOTH_HANDS_UP 5
76
#define CONV2_CHAR_TURN_TO_RAOUL 6
77
#define CONV2_CHAR_POINT_RIGHT 7
78
79
80
/* ========================= Triggers ============================== */
81
82
#define ROOM_108_CHAR_TALK 60
83
#define ROOM_108_CHAR_SHUT_UP 62
84
#define ROOM_108_CHAR_WRITE 64
85
#define ROOM_108_CHAR_BOTH_HANDS_UP 66
86
#define ROOM_108_CHAR_POINT_UP 68
87
#define ROOM_108_CHAR_POINT_RIGHT 70
88
#define ROOM_108_CHAR_OH_MY 72
89
90
91
/* ========================= Player positions ====================== */
92
93
#define PLAYER_X_FROM_106 48
94
#define PLAYER_Y_FROM_106 81
95
96
#define WALK_TO_X_FROM_106 71
97
#define WALK_TO_Y_FROM_106 76
98
99
#define PLAYER_X_FROM_104_1 243
100
#define PLAYER_X_FROM_104_2 185
101
#define PLAYER_X_FROM_104_3 124
102
#define PLAYER_Y_FROM_104 143
103
104
105
/* ========================= Dynamic hotspot — stool (1993) ======== */
106
107
#define STOOL_X 250
108
#define STOOL_Y 68
109
#define STOOL_X_SIZE 8
110
#define STOOL_Y_SIZE 21
111
#define STOOL_WALK_X 253
112
#define STOOL_WALK_Y 75
113
114
115
/* ========================= Dynamic hotspot — wall (1881) ========= */
116
117
#define WALL_X 258
118
#define WALL_Y 58
119
#define WALL_X_SIZE 6
120
#define WALL_Y_SIZE 10
121
#define WALL_WALK_X 236
122
#define WALL_WALK_Y 69
123
124
125
/* ========================= Dynamic hotspot — Charles ============= */
126
127
#define DYN_CHAR_X 253
128
#define DYN_CHAR_Y 52
129
#define DYN_CHAR_XS 15
130
#define DYN_CHAR_YS 34
131
#define DYN_CHAR_WALK_TO_X 235
132
#define DYN_CHAR_WALK_TO_Y 102
133
134
135
extern
void
room_108_init(
void
);
136
extern
void
room_108_daemon(
void
);
137
extern
void
room_108_parser(
void
);
138
extern
void
room_108_preload(
void
);
139
140
}
// namespace Rooms
141
}
// namespace Phantom
142
}
// namespace MADSV2
143
}
// namespace MADS
144
145
#endif
MADS
Definition:
action.h:28
engines
mads
madsv2
phantom
rooms
room108.h
Generated on Sun Apr 26 2026 09:12:18 for ScummVM API documentation by
1.8.13