added basic support for native Boulder Dash game engine code
[rocksndiamonds.git] / src / engines.h
1 // ============================================================================
2 // Rocks'n'Diamonds - McDuffin Strikes Back!
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2014 by Artsoft Entertainment
5 //                  Holger Schemel
6 //                  info@artsoft.org
7 //                  https://www.artsoft.org/
8 // ----------------------------------------------------------------------------
9 // engines.h
10 // ============================================================================
11
12 #ifndef ENGINES_H
13 #define ENGINES_H
14
15 #include "libgame/libgame.h"
16
17 #include "game_bd/export.h"
18 #include "game_em/export.h"
19 #include "game_sp/export.h"
20 #include "game_mm/export.h"
21
22 #include "game.h"
23
24
25 // ============================================================================
26 // functions and definitions exported from main program to game_bd
27 // ============================================================================
28
29
30 // ============================================================================
31 // functions and definitions exported from main program to game_em
32 // ============================================================================
33
34 void UpdateEngineValues(int, int, int, int);
35
36 boolean swapTiles_EM(boolean);
37 boolean getTeamMode_EM(void);
38 boolean isActivePlayer_EM(int);
39
40 int getScreenFieldSizeX(void);
41 int getScreenFieldSizeY(void);
42
43 void PlayLevelSound_EM(int, int, int, int);
44 void InitGraphicInfo_EM(void);
45 boolean CheckSingleStepMode_EM(int, boolean, boolean, boolean);
46
47 void SetGfxAnimation_EM(struct GraphicInfo_EM *, int, int, int, int);
48 void getGraphicSourceObjectExt_EM(struct GraphicInfo_EM *, int, int, int, int);
49 void getGraphicSourcePlayerExt_EM(struct GraphicInfo_EM *, int, int, int);
50
51
52 // ============================================================================
53 // functions and definitions exported from main program to game_sp
54 // ============================================================================
55
56 void CheckSingleStepMode_SP(boolean, boolean);
57
58 void getGraphicSource_SP(struct GraphicInfo_SP *, int, int);
59 int getGraphicInfo_Delay(int);
60 boolean isNextAnimationFrame_SP(int, int);
61
62
63 // ============================================================================
64 // functions and definitions exported from main program to game_mm
65 // ============================================================================
66
67 void SetDrawtoField(int);
68 void BackToFront(void);
69
70 int el2img_mm(int);
71 int el_act2img_mm(int, int);
72
73 void CheckSingleStepMode_MM(boolean, boolean);
74 void ShowEnvelope(int);
75
76 int getGraphicAnimationFrame(int, int);
77 int getGraphicAnimationFrameXY(int, int, int);
78
79 void getGraphicSource(int, int, Bitmap **, int *, int *);
80 void getMiniGraphicSource(int, Bitmap **, int *, int *);
81 void getSizedGraphicSource(int, int, int, Bitmap **, int *, int *);
82 boolean getGraphicInfo_NewFrame(int, int, int);
83
84 void AdvanceFrameCounter(void);
85 void AdvanceGfxFrame(void);
86
87 int getAnimationFrame(int, int, int, int, int);
88
89 #endif  // ENGINES_H