ScummVM API documentation
room112.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_ROOM112_H
23#define MADS_PHANTOM_ROOM112_H
24
25#include "mads/phantom/rooms/section1.h"
26#include "mads/phantom/global.h"
27
28namespace MADS {
29namespace Phantom {
30namespace Rooms {
31
32#define local (&scratch)
33#define ss local->sprite
34#define seq local->sequence
35#define aa local->animation
36
37struct Scratch { /* Room local variables */
38
39 int16 sprite[15]; /* Sprite series handles */
40 int16 sequence[15]; /* Sequence handles */
41 int16 animation[4]; /* Animation handles */
42 int16 dynamic_julie; /* For dynamic HS of Julie */
43 int16 anim_0_running; /* T if Julie's practicing anim is running */
44 int16 anim_1_running; /* T if Raoul's chair movement anim is running */
45 int16 just_did_option;
46 int16 julie_frame;
47 int16 julie_action;
48 int16 julie_talk_count;
49 int16 raoul_frame;
50 int16 raoul_action;
51 int16 raoul_talk_count;
52 int16 display_wait; /* for getting up out of the chair */
53
54};
55
56
57/* ========================= Conversation ========================== */
58
59#define CONV_JULIE_PRACTICE 3
60
61#define CONV3_JULIE_TALK 0
62#define CONV3_JULIE_I_DUNNO 1
63#define CONV3_JULIE_PRACTICE 2
64
65#define CONV3_RAOUL_TALK 0
66#define CONV3_RAOUL_SHUT_UP 1
67#define CONV3_RAOUL_INVISIBLE 2
68#define CONV3_RAOUL_GET_UP 3
69
70
71/* ========================= Triggers ============================== */
72
73#define ROOM_112_JULIE_TALK 60
74#define ROOM_112_RAOUL_TALK 62
75#define ROOM_112_BEFORE_CHAIR 68
76#define ROOM_112_BETWEEN_CHAIR 70
77#define ROOM_112_AT_CHAIR 72
78#define ROOM_112_GET_UP 74
79
80
81/* ========================= Player positions ====================== */
82
83#define PLAYER_X_FROM_110 128
84#define PLAYER_Y_FROM_110 145
85
86#define CHAIR_X 53
87#define CHAIR_Y 128
88
89
90/* ========================= Julie dynamic hotspot ================= */
91
92#define DYNAMIC_JULIE_X 255
93#define DYNAMIC_JULIE_Y 82
94#define DYNAMIC_JULIE_X_SIZE 30
95#define DYNAMIC_JULIE_Y_SIZE 44
96#define DYNAMIC_JULIE_WALK_TO_X 216
97#define DYNAMIC_JULIE_WALK_TO_Y 137
98
99
100extern void room_112_init();
101extern void room_112_daemon();
102extern void room_112_pre_parser();
103extern void room_112_parser();
104extern void room_112_preload();
105
106} // namespace Rooms
107} // namespace Phantom
108} // namespace MADS
109
110#endif