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