rnd-20090719-1-src
[rocksndiamonds.git] / src / game_sp / export.h
1 #ifndef GAME_SP_EXPORT_H
2 #define GAME_SP_EXPORT_H
3
4 /* ========================================================================= */
5 /* functions and definitions exported from game_sp to main program           */
6 /* ========================================================================= */
7
8 /* ------------------------------------------------------------------------- */
9 /* constant definitions                                                      */
10 /* ------------------------------------------------------------------------- */
11
12
13 /* ------------------------------------------------------------------------- */
14 /* data structure definitions                                                */
15 /* ------------------------------------------------------------------------- */
16
17 struct GlobalInfo_SP
18 {
19 };
20
21 struct GameInfo_SP
22 {
23 };
24
25 struct LevelInfo_SP
26 {
27   int file_version;
28 };
29
30 struct GraphicInfo_SP
31 {
32   Bitmap *bitmap;
33   int src_x, src_y;
34   int src_offset_x, src_offset_y;
35   int dst_offset_x, dst_offset_y;
36   int width, height;
37
38   Bitmap *crumbled_bitmap;
39   int crumbled_src_x, crumbled_src_y;
40   int crumbled_border_size;
41
42   boolean has_crumbled_graphics;
43   boolean preserve_background;
44
45   int unique_identifier;        /* used to identify needed screen updates */
46 };
47
48 struct EngineSnapshotInfo_SP
49 {
50   struct GameInfo_SP game_sp;
51 };
52
53
54 /* ------------------------------------------------------------------------- */
55 /* exported functions                                                        */
56 /* ------------------------------------------------------------------------- */
57
58 extern struct GlobalInfo_SP global_sp_info;
59 extern struct LevelInfo_SP native_sp_level;
60 extern struct GraphicInfo_SP graphic_info_sp_object[TILE_MAX][8];
61 extern struct GraphicInfo_SP graphic_info_sp_player[MAX_PLAYERS][SPR_MAX][8];
62 extern struct EngineSnapshotInfo_SP engine_snapshot_sp;
63
64 extern void sp_open_all();
65 extern void sp_close_all();
66
67 extern void InitGameEngine_SP();
68 extern void GameActions_SP(byte *, boolean);
69
70 extern unsigned int InitEngineRandom_SP(long);
71
72 extern void setLevelInfoToDefaults_SP();
73 extern boolean LoadNativeLevel_SP(char *);
74
75 extern void BackToFront_SP(void);
76 extern void BlitScreenToBitmap_SP(Bitmap *);
77 extern void RedrawPlayfield_SP(boolean);
78 extern void DrawGameDoorValues_SP();
79
80 extern void LoadEngineSnapshotValues_SP();
81 extern void SaveEngineSnapshotValues_SP();
82
83 #endif  /* GAME_SP_EXPORT_H */