11d973a49fac96b3d99a4528c8003be8587f28d1
[rocksndiamonds.git] / src / game_sp / main_sp.h
1 #ifndef MAIN_SP_H
2 #define MAIN_SP_H
3
4 // ============================================================================
5 // external functions and definitions imported from main program to game_sp
6 // ============================================================================
7
8 #include "import_sp.h"
9
10
11 // ============================================================================
12 // functions and definitions that are exported from game_sp to main program
13 // ============================================================================
14
15 #include "export_sp.h"
16
17
18 // ============================================================================
19 // internal functions and definitions that are not exported to main program
20 // ============================================================================
21
22
23 // ----------------------------------------------------------------------------
24 // constant definitions
25 // ----------------------------------------------------------------------------
26
27 // screen sizes and positions for SP engine
28
29 extern int                      TILESIZE_VAR;
30
31 #define TILESIZE                32
32 #define TILEX                   TILESIZE
33 #define TILEY                   TILESIZE
34 #define TILEX_VAR               TILESIZE_VAR
35 #define TILEY_VAR               TILESIZE_VAR
36
37 extern int                      SCR_FIELDX, SCR_FIELDY;
38
39 #define MAX_BUF_XSIZE           (2 + SCR_FIELDX + 2)
40 #define MAX_BUF_YSIZE           (2 + SCR_FIELDY + 2)
41
42 // often used screen positions
43
44 extern int                      SX, SY;
45
46 #define SXSIZE                  (SCR_FIELDX * TILEX_VAR)
47 #define SYSIZE                  (SCR_FIELDY * TILEY_VAR)
48 #define FXSIZE                  (MAX_BUF_XSIZE * TILEX_VAR)
49 #define FYSIZE                  (MAX_BUF_YSIZE * TILEY_VAR)
50
51 extern int                      REAL_SX, REAL_SY;
52
53 #define FULL_SXSIZE             (2 + SXSIZE + 2)
54 #define FULL_SYSIZE             (2 + SYSIZE + 2)
55
56
57 // ----------------------------------------------------------------------------
58 // data structure definitions
59 // ----------------------------------------------------------------------------
60
61 // ----------------------------------------------------------------------------
62 // exported variables
63 // ----------------------------------------------------------------------------
64
65 extern struct LevelInfo_SP native_sp_level;
66
67 extern Bitmap *bitmap_db_field_sp;
68
69 extern int GfxElementLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
70 extern int GfxGraphicLast[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
71 extern int GfxGraphic[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
72 extern int GfxFrameSP[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
73
74
75 // ----------------------------------------------------------------------------
76 // exported functions
77 // ----------------------------------------------------------------------------
78
79 #endif  // MAIN_SP_H