ScummVM API documentation
room301.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_ROOM301_H
23 #define MADS_PHANTOM_ROOM301_H
24 
25 #include "mads/madsv2/phantom/phantom.h"
26 
27 namespace MADS {
28 namespace MADSV2 {
29 namespace Phantom {
30 namespace Rooms {
31 
32 #define local (&scratch)
33 #define ss local->sprite
34 #define seq local->sequence
35 #define aa local->animation
36 
37 struct 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_light; /* Dynamic HS for lights */
43  int16 dynamic_sand; /* Dynamic HS for sandbags */
44  int16 anim_0_running;
45  int16 guard;
46  int16 prevent;
47 
48 };
49 
50 
51 /* ========================= Sprite Series =================== */
52 
53 #define fx_1993_0 0 /* rm301z0 */
54 #define fx_1993_1 1 /* rm301z1 */
55 #define fx_1993_2 2 /* rm301z2 */
56 #define fx_1993_3 3 /* rm301z3 */
57 #define fx_1993_4 4 /* rm301z4 */
58 #define fx_1993_5 5 /* rm301z5 */
59 #define fx_1993_6 6 /* rm301z6 */
60 #define fx_down_stairs 7 /* rm301a0 */
61 #define fx_push 8 /* rm301a1 */
62 #define fx_shadow 9 /* rm301x0 */
63 
64 
65 /* ========================= Triggers ======================== */
66 
67 #define ROOM_301_WALK_TO_PUSH_LOC 60
68 #define ROOM_301_SHOW_TEXT 64
69 #define ROOM_301_DONE_PUSHING 70
70 
71 /* ========================= Other Macros ==================== */
72 
73 #define LEFT_STAGE 0
74 #define RIGHT_STAGE 320
75 
76 #define OFF_SCREEN_X_FROM_302 -20
77 #define OFF_SCREEN_Y_FROM_302 132
78 #define PLAYER_X_FROM_302 19
79 #define PLAYER_Y_FROM_302 132
80 
81 
82 #define PLAYER_X_FROM_106 568
83 #define PLAYER_Y_FROM_106 133
84 
85 #define WALK_TO_X_FROM_106 568
86 #define WALK_TO_Y_FROM_106 133
87 
88 #define DYN_LIGHT_1_X 50
89 #define DYN_LIGHT_1_Y 116
90 #define DYN_LIGHT_1_XS 19
91 #define DYN_LIGHT_1_YS 10
92 #define DYN_LIGHT_1_WALK_TO_X 67
93 #define DYN_LIGHT_1_WALK_TO_Y 129
94 
95 #define DYN_LIGHT_2_X 126
96 #define DYN_LIGHT_2_Y 118
97 #define DYN_LIGHT_2_XS 29
98 #define DYN_LIGHT_2_YS 8
99 #define DYN_LIGHT_2_WALK_TO_X 152
100 #define DYN_LIGHT_2_WALK_TO_Y 129
101 
102 #define DYN_SAND_1_X 464
103 #define DYN_SAND_1_Y 114
104 #define DYN_SAND_1_XS 11
105 #define DYN_SAND_1_YS 9
106 #define DYN_SAND_1_WALK_TO_X 475
107 #define DYN_SAND_1_WALK_TO_Y 125
108 
109 #define DYN_SAND_2_X 468
110 #define DYN_SAND_2_Y 42
111 #define DYN_SAND_2_XS 6
112 #define DYN_SAND_2_YS 13
113 #define DYN_SAND_2_WALK_TO_X 466
114 #define DYN_SAND_2_WALK_TO_Y 58
115 
116 
117 #define PUSH_X 256
118 #define PUSH_Y 130
119 
120 } // namespace Rooms
121 } // namespace Phantom
122 } // namespace MADSV2
123 } // namespace MADS
124 
125 #endif
Definition: mps_installer.h:31