rnd-20090623-1-src
[rocksndiamonds.git] / src / game_sp / modAnimations.h
1 // ----------------------------------------------------------------------------
2 // modAnimations.h
3 // ----------------------------------------------------------------------------
4
5 #ifndef MODANIMATIONS_H
6 #define MODANIMATIONS_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 #ifndef HAS_SpecialPortType
16 typedef struct
17 {
18   int PortLocation; // = 2*(x+(y*60))
19   byte Gravity; // 1 = turn on, anything else (0) = turn off
20   byte FreezeZonks; // 2 = turn on, anything else (0) = turn off  (1=off!)
21   byte FreezeEnemies; // 1 = turn on, anything else (0) = turn off
22   byte UnUsed;
23 } SpecialPortType;
24 #define HAS_SpecialPortType
25 #endif
26
27 #ifndef HAS_LevelInfoType
28 typedef struct
29 {
30   byte UnUsed[4 + 1];
31   byte InitialGravity; // 1=on, anything else (0) = off
32   byte Version; // SpeedFixVersion XOR &H20
33   char LevelTitle[23];
34   byte InitialFreezeZonks; // 2=on, anything else (0) = off.  (1=off too!)
35   byte InfotronsNeeded;
36
37   // Number of Infotrons needed. 0 means that Supaplex will count the total
38   // amount of Infotrons in the level, and use the low byte of that number.
39   // (A multiple of 256 Infotrons will then result in 0-to-eat, etc.!)
40   byte SpecialPortCount; // Maximum 10 allowed!
41   SpecialPortType SpecialPort[10 + 1];
42   byte SpeedByte; // = Speed XOR Highbyte(RandomSeed)
43   byte CheckSumByte; // = CheckSum XOR SpeedByte
44   int DemoRandomSeed;
45 } LevelInfoType;
46 #define HAS_LevelInfoType
47 #endif
48
49 #define ScrollDelta                     ((long)1)
50
51 extern void GoPlay();
52
53 extern DDScrollBuffer Stage;
54 extern DDSpriteBuffer NormalSprites;
55 extern DDSpriteBuffer StretchedSprites;
56 extern LevelInfoType LInfo;
57 extern boolean EndFlag;
58 extern byte LData[59 + 1][23 + 1];
59 extern float Stretch;
60 extern int ScrollMinX, ScrollMaxX, ScrollMinY, ScrollMaxY;
61 extern int ScrollX, ScrollY;
62 extern long PauseMode;
63
64 #endif /* MODANIMATIONS_H */