ScummVM API documentation
room201.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_ROOM201_H
23 #define MADS_PHANTOM_ROOM201_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 raoul_frame;
45  int16 raoul_action;
46  int16 anim_0_running;
47 
48  int16 seller_frame;
49  int16 seller_action;
50  int16 seller_talk_count;
51  int16 anim_1_running;
52  int16 want_to_hold;
53 
54 };
55 
56 
57 /* ========================= Sprite Series ========================= */
58 
59 #define fx_curtain 0 /* rm201x0 */
60 #define fx_envelope 1 /* rm201f0 */
61 
62 
63 /* ========================= Conversation ========================== */
64 
65 #define CONV_TICKET_16 16
66 
67 /* Conv 16 — Raoul action states */
68 #define CONV16_RAOUL_TALK 0
69 #define CONV16_RAOUL_SHUT_UP 1
70 #define CONV16_RAOUL_TAKE_IT 2
71 #define CONV16_RAOUL_QUIT 3
72 
73 /* Conv 16 — Seller action states */
74 #define CONV16_SELLER_SHUT_UP 0
75 #define CONV16_SELLER_TALK 1
76 #define CONV16_SELLER_LOOK_DOWN 2
77 #define CONV16_SELLER_GIVE 3
78 
79 
80 /* ========================= Triggers ============================== */
81 
82 #define ROOM_201_DOOR_CLOSES 60
83 #define ROOM_201_SELLER_TALK 65
84 #define ROOM_201_ME_TALK 70
85 #define ROOM_201_DONE_RAOUL_ANIM 80
86 #define ROOM_201_END 90
87 
88 
89 /* ========================= Player positions ====================== */
90 
91 #define PLAYER_X_FROM_202 314
92 #define PLAYER_Y_FROM_202 86
93 
94 #define WALK_TO_X_FROM_202 266
95 #define WALK_TO_Y_FROM_202 98
96 
97 
98 /* ========================= Misc positions ======================== */
99 
100 #define WINDOW_X 72
101 #define WINDOW_Y 101
102 
103 #define SIGN_X 147
104 #define SIGN_Y 104
105 
106 
107 extern void room_201_init();
108 extern void room_201_daemon();
109 extern void room_201_pre_parser();
110 extern void room_201_parser();
111 extern void room_201_preload();
112 
113 } // namespace Rooms
114 } // namespace Phantom
115 } // namespace MADSV2
116 } // namespace MADS
117 
118 #endif
Definition: mps_installer.h:31