rnd-20100210-1-src
[rocksndiamonds.git] / src / game_sp / Globals.h
1 // ----------------------------------------------------------------------------
2 // Globals.h
3 // ----------------------------------------------------------------------------
4
5 #ifndef GLOBALS_H
6 #define GLOBALS_H
7
8 #include "vb_types.h"
9 #include "vb_defs.h"
10 #include "vb_vars.h"
11 #include "vb_lib.h"
12
13 #include "global.h"
14
15 #if 1
16
17 #define ZoomFactor                      (2)
18
19 #define BaseWidth                       (ZoomFactor * 16)
20 #define StretchWidth                    (ZoomFactor * 16)
21 #define StretchWidth2                   (StretchWidth / 2)
22 #define TwoPixels                       (ZoomFactor * 2)
23
24 #else
25
26 #define BaseWidth                       (16)
27 #define StretchWidth                    (16)
28 #define StretchWidth2                   (StretchWidth / 2)
29 #define TwoPixels                       (2)
30
31 #endif
32
33 #define aniExplosionInfo                (111)
34
35 #if 1
36
37 #define aniMurphy                       (IMG_SP_MURPHY)
38
39 #define aniMurphySleepLeft              (IMG_SP_MURPHY_SLEEPING_LEFT)
40 #define aniMurphySleepRight             (IMG_SP_MURPHY_SLEEPING_RIGHT)
41 #define aniMurphyTouchDown              (IMG_SP_MURPHY_SNAPPING_DOWN)
42 #define aniMurphyTouchLeft              (IMG_SP_MURPHY_SNAPPING_LEFT)
43 #define aniMurphyTouchRight             (IMG_SP_MURPHY_SNAPPING_RIGHT)
44 #define aniMurphyTouchUp                (IMG_SP_MURPHY_SNAPPING_UP)
45 #define aniMurphyYawn                   (IMG_SP_MURPHY_BORING_1)
46 #define aniPushLeft                     (IMG_SP_MURPHY_PUSHING_LEFT)
47 #define aniPushRight                    (IMG_SP_MURPHY_PUSHING_RIGHT)
48 #define aniPushUpDown                   (IMG_SP_MURPHY_PUSHING_RIGHT)
49
50 #define aniSnikSnakDown                 (167)
51 #define aniSnikSnakLeft                 (239)
52 #define aniSnikSnakRight                (247)
53 #define aniSnikSnakUp                   (159)
54
55 #else
56
57 #define aniMurphySleepLeft              (71)
58 #define aniMurphySleepRight             (68)
59 #define aniMurphyTouchDown              (47)
60 #define aniMurphyTouchLeft              (95)
61 #define aniMurphyTouchRight             (94)
62 #define aniMurphyTouchUp                (46)
63 #define aniMurphyYawn                   (56)
64 #define aniPushLeft                     (45)
65 #define aniPushRight                    (44)
66 #define aniPushUpDown                   (79)
67
68 #define aniSnikSnakDown                 (167)
69 #define aniSnikSnakLeft                 (239)
70 #define aniSnikSnakRight                (247)
71 #define aniSnikSnakUp                   (159)
72
73 #endif
74
75 #define fiBase                          (2)
76 #define fiBug                           (25)
77 #define fiElectron                      (24)
78 #define fiExit                          (7)
79 #define fiExplosion                     (0x1F)
80 #define fiHWFirst                       (28)
81 #define fiHWLast                        (37)
82 #define fiHWMurphy                      (43)
83 #define fiHWTrash1                      (41)
84 #define fiHWTrash2                      (42)
85 #define fiHardWare                      (6)
86 #define fiInfotron                      (4)
87 #define fiMurphy                        (3)
88 #define fiOrangeDisk                    (8)
89 #define fiPortAllDirections             (23)
90 #define fiPortDown                      (10)
91 #define fiPortLeft                      (11)
92 #define fiPortLeftAndRight              (22)
93 #define fiPortRight                     (9)
94 #define fiPortUp                        (12)
95 #define fiPortUpAndDown                 (21)
96 #define fiRAM                           (5)
97 #define fiRAMBottom                     (39)
98 #define fiRAMLeft                       (26)
99 #define fiRAMRight                      (27)
100 #define fiRAMTop                        (38)
101 #define fiRedDisk                       (20)
102 #define fiSnikSnak                      (17)
103 #define fiSpPortDown                    (14)
104 #define fiSpPortLeft                    (15)
105 #define fiSpPortRight                   (13)
106 #define fiSpPortUp                      (16)
107 #define fiSpace                         (0)
108 #define fiTerminal                      (19)
109 #define fiWallSpace                     (40)
110 #define fiYellowDisk                    (18)
111 #define fiZonk                          (1)
112
113 #define keyDown                         (3)
114 #define keyLeft                         (2)
115 #define keyNone                         (0)
116 #define keyRight                        (4)
117 #define keySpace                        (9)
118 #define keySpaceDown                    (7)
119 #define keySpaceLeft                    (6)
120 #define keySpaceRight                   (8)
121 #define keySpaceUp                      (5)
122 #define keyUp                           (1)
123
124 #define posFrameCorner                  (55)
125 #define posFrameHorizontal              (111)
126 #define posFrameVertical                (110)
127
128 extern int GetSI(int X, int Y);
129 extern int GetStretchX(int si);
130 extern int GetStretchY(int si);
131 extern int GetX(int si);
132 extern int GetY(int si);
133 extern void InitGlobals();
134 extern void InitPseudoCompileFlags();
135
136 extern void ReadLevel();
137
138 extern boolean Alignments;
139 extern boolean BlockingSpeed;
140 extern boolean Cracked;
141 extern boolean Ctrl_Alt_Fix;
142 extern boolean Dead_Code;
143 extern boolean DebugSwitch;
144 extern boolean DemoRecordFix;
145 extern boolean EGA_Arg;
146 extern boolean EP_DEBUG;
147 extern boolean EP_DEMO;
148 extern boolean EP_ENHANCE;
149 extern boolean EP_OLD8;
150 extern boolean EXTRASPEED;
151 extern boolean HP_DEMO;
152 extern boolean LevelLoaded;
153 extern boolean Level_Arg;
154 extern boolean Level_Fix;
155 extern boolean Norm_Time;
156 extern boolean Original;
157 extern boolean Protection;
158 extern boolean Record_Fix;
159 extern boolean Redundant;
160 extern boolean SAVEGAME;
161 extern boolean SafeRecord;
162 extern boolean ScreenFix;
163 extern boolean SpeedKeys;
164 extern boolean TIMINGFIX;
165 extern boolean Ver62;
166 extern boolean Ver62test;
167 extern boolean Ver63;
168 extern boolean Ver64;
169 extern boolean bCapturePane;
170 extern byte *DisPlayField;
171 extern byte *PlayField8;
172 extern char *CurPath, *OrigPath, *TmpPath;
173 extern currency DeltaT;
174 extern int *PlayField16;
175
176 #if 1
177 extern int aniBug[], aniZonkRollRight[], aniZonkRollLeft[];
178 extern int aniEatInfotronLeft[], aniEatInfotronRight[];
179 extern int aniInfotronRollRight[], aniInfotronRollLeft[];
180 extern int aniMurphyEatLeft[], aniMurphyEatRight[];
181 extern int aniMurphyEatUpLeft[], aniMurphyEatUpRight[], aniSplitUpDown[];
182 extern int aniMurphyExit[];
183 extern int aniSnikSnak[], aniElectron[], aniExplosion[];
184 extern int aniTouchBase[], aniTouchInfotron[], aniTouchRedDisk[];
185 extern int aniYellowDisk[], aniOrangeDisk[], aniRedDisk[];
186 #else
187 extern int *aniBug, *aniZonkRollRight, *aniZonkRollLeft;
188 extern int *aniEatInfotronLeft, *aniEatInfotronRight;
189 extern int *aniInfotronRollRight, *aniInfotronRollLeft;
190 extern int *aniMurphyEatLeft, *aniMurphyEatRight;
191 extern int *aniMurphyEatUpLeft, *aniMurphyEatUpRight, *aniSplitUpDown;
192 extern int *aniMurphyExit;
193 extern int *aniSnikSnak, *aniElectron, *aniExplosion;
194 extern int *aniTouchBase, *aniTouchInfotron, *aniTouchRedDisk;
195 extern int *aniYellowDisk, *aniOrangeDisk, *aniRedDisk;
196 #endif
197
198 extern int FieldHeight;
199 extern int FieldMax, LevelMax;
200 extern int FieldWidth;
201 extern int FreezeZonks;
202 extern int HeaderSize;
203 extern int LevelNumber;
204 extern int TimerVar;
205 extern short RandomSeed;
206 extern long DeltaTPlay, DeltaTDemo;
207 extern long FileMax;
208 extern long SignatureDelay;
209
210 #endif /* GLOBALS_H */