X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fexport.h;h=37c3eec18c06817157ceb181209fb2b9043832c1;hb=10406b9d6cad2b0ec7c30c71520abe2c702bccbc;hp=31c01770df18c90b5f1ad8a9f046ff18441ab0d3;hpb=95f91d5fb8835feb5b461b97607b1730baaf699b;p=rocksndiamonds.git diff --git a/src/game_mm/export.h b/src/game_mm/export.h index 31c01770..37c3eec1 100644 --- a/src/game_mm/export.h +++ b/src/game_mm/export.h @@ -1,13 +1,13 @@ #ifndef GAME_MM_EXPORT_H #define GAME_MM_EXPORT_H -/* ========================================================================= */ -/* functions and definitions exported from game_mm to main program */ -/* ========================================================================= */ +// ============================================================================ +// functions and definitions exported from game_mm to main program +// ============================================================================ -/* ------------------------------------------------------------------------- */ -/* constant definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// constant definitions +// ---------------------------------------------------------------------------- #define MM_MAX_PLAYFIELD_WIDTH MAX_PLAYFIELD_WIDTH #define MM_MAX_PLAYFIELD_HEIGHT MAX_PLAYFIELD_HEIGHT @@ -46,18 +46,18 @@ #define EL_MM_DUMMY_START_NATIVE 700 #define EL_MM_DUMMY_END_NATIVE 709 -/* elements to be specially mapped */ +// elements to be specially mapped #define EL_MM_EMPTY_NATIVE 0 #define EL_DF_EMPTY_NATIVE 304 -/* sounds */ +// sounds #define SND_MM_GAME_LEVELTIME_CHARGING 0 #define SND_MM_GAME_HEALTH_CHARGING 1 -/* ------------------------------------------------------------------------- */ -/* data structure definitions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// data structure definitions +// ---------------------------------------------------------------------------- struct GlobalInfo_MM { @@ -156,9 +156,9 @@ struct GameInfo_MM struct LevelInfo_MM { - int file_version; /* version of file the level was stored with */ - int game_version; /* version of game engine to play this level */ - boolean encoding_16bit_field; /* level contains 16-bit elements */ + int file_version; // version of file the level was stored with + int game_version; // version of game engine to play this level + boolean encoding_16bit_field; // level contains 16-bit elements int fieldx; int fieldy; @@ -171,6 +171,9 @@ struct LevelInfo_MM int score[MM_LEVEL_SCORE_ELEMENTS]; int amoeba_speed; int time_fuse; + int time_bomb; + int time_ball; + int time_block; short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; }; @@ -182,12 +185,32 @@ struct GraphicInfo_MM struct EngineSnapshotInfo_MM { struct GameInfo_MM game_mm; + + struct LaserInfo laser; + + short Ur[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + short Hit[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + short Box[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + short Angle[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + short Frame[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; + + short LX,LY, XS,YS, ELX,ELY; + short CT,Ct; + + int last_LX, last_LY, last_hit_mask; + int hold_x, hold_y; + int pacman_nr; + + unsigned int rotate_delay; + unsigned int pacman_delay; + unsigned int energy_delay; + unsigned int overload_delay; }; -/* ------------------------------------------------------------------------- */ -/* exported functions */ -/* ------------------------------------------------------------------------- */ +// ---------------------------------------------------------------------------- +// exported functions +// ---------------------------------------------------------------------------- extern struct GlobalInfo_MM global_mm_info; extern struct GameInfo_MM game_mm; @@ -196,35 +219,37 @@ extern struct EngineSnapshotInfo_MM engine_snapshot_mm; extern short Ur[MM_MAX_PLAYFIELD_WIDTH][MM_MAX_PLAYFIELD_HEIGHT]; -extern void mm_open_all(); -extern void mm_close_all(); +void mm_open_all(void); +void mm_close_all(void); + +void InitElementProperties_MM(void); -void InitElementProperties_MM(); +void InitGfxBuffers_MM(void); -extern void InitGfxBuffers_MM(); +void InitGameEngine_MM(void); +void InitGameActions_MM(void); +void GameActions_MM(struct MouseActionInfo, boolean); -extern void InitGameEngine_MM(); -extern void InitGameActions_MM(); -extern void GameActions_MM(struct MouseActionInfo, boolean); +void DrawLaser_MM(void); -extern void DrawLaser_MM(); +boolean ClickElement(int, int, int); -extern void ClickElement(int, int, int); +unsigned int InitEngineRandom_MM(int); -extern unsigned int InitEngineRandom_MM(int); +void setLevelInfoToDefaults_MM(void); +void copyInternalEngineVars_MM(void); +boolean LoadNativeLevel_MM(char *, boolean); +void SaveNativeLevel_MM(char *); -extern void setLevelInfoToDefaults_MM(); -extern void copyInternalEngineVars_MM(); -extern boolean LoadNativeLevel_MM(char *, boolean); -extern void SaveNativeLevel_MM(char *); +int getFieldbufferOffsetX_MM(void); +int getFieldbufferOffsetY_MM(void); -extern int getFieldbufferOffsetX_MM(); -extern int getFieldbufferOffsetY_MM(); +void BlitScreenToBitmap_MM(Bitmap *); +void RedrawPlayfield_MM(void); -extern void BlitScreenToBitmap_MM(Bitmap *); -extern void RedrawPlayfield_MM(); +void LoadEngineSnapshotValues_MM(void); +void SaveEngineSnapshotValues_MM(ListNode **); -extern void LoadEngineSnapshotValues_MM(); -extern void SaveEngineSnapshotValues_MM(ListNode **); +int getButtonFromTouchPosition(int, int, int, int); -#endif /* GAME_MM_EXPORT_H */ +#endif // GAME_MM_EXPORT_H