X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgame_mm%2Fexport.h;h=e9d84fda44a870cfea5940571bdbf5e6595275c8;hb=7bedd910f0f469c78d51a0c90f679258d5b0ced7;hp=37c3eec18c06817157ceb181209fb2b9043832c1;hpb=64e7c54dce6ea8c063f04198c64c5057d751c928;p=rocksndiamonds.git diff --git a/src/game_mm/export.h b/src/game_mm/export.h index 37c3eec1..e9d84fda 100644 --- a/src/game_mm/export.h +++ b/src/game_mm/export.h @@ -27,6 +27,8 @@ #define MM_LEVEL_SCORE_ELEMENTS 16 +#define MM_MAX_BALL_CONTENTS 16 + #define MM_MAX_LEVEL_NAME_LEN 32 #define MM_MAX_LEVEL_AUTHOR_LEN 32 @@ -43,9 +45,6 @@ #define EL_MM_RUNTIME_START_NATIVE 500 #define EL_MM_RUNTIME_END_NATIVE 504 -#define EL_MM_DUMMY_START_NATIVE 700 -#define EL_MM_DUMMY_END_NATIVE 709 - // elements to be specially mapped #define EL_MM_EMPTY_NATIVE 0 #define EL_DF_EMPTY_NATIVE 304 @@ -59,10 +58,6 @@ // data structure definitions // ---------------------------------------------------------------------------- -struct GlobalInfo_MM -{ -}; - struct CycleList { int x, y; @@ -119,6 +114,9 @@ struct LaserInfo int fuse_x, fuse_y; int dest_element; + int dest_element_last; + int dest_element_last_x; + int dest_element_last_y; boolean stops_inside_element; boolean redraw; @@ -142,6 +140,7 @@ struct GameInfo_MM int kettles_still_needed; int lights_still_needed; int num_keys; + int ball_choice_pos; // current content element choice position boolean level_solved; boolean game_over; @@ -175,11 +174,11 @@ struct LevelInfo_MM int time_ball; int time_block; - short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; -}; + int num_ball_contents; + int ball_choice_mode; + int ball_content[MM_MAX_BALL_CONTENTS]; -struct GraphicInfo_MM -{ + short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; }; struct EngineSnapshotInfo_MM @@ -192,7 +191,6 @@ struct EngineSnapshotInfo_MM 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; @@ -201,10 +199,10 @@ struct EngineSnapshotInfo_MM int hold_x, hold_y; int pacman_nr; - unsigned int rotate_delay; - unsigned int pacman_delay; - unsigned int energy_delay; - unsigned int overload_delay; + DelayCounter rotate_delay; + DelayCounter pacman_delay; + DelayCounter energy_delay; + DelayCounter overload_delay; }; @@ -212,7 +210,6 @@ struct EngineSnapshotInfo_MM // exported functions // ---------------------------------------------------------------------------- -extern struct GlobalInfo_MM global_mm_info; extern struct GameInfo_MM game_mm; extern struct LevelInfo_MM native_mm_level; extern struct EngineSnapshotInfo_MM engine_snapshot_mm; @@ -220,7 +217,6 @@ extern struct EngineSnapshotInfo_MM engine_snapshot_mm; extern short Ur[MM_MAX_PLAYFIELD_WIDTH][MM_MAX_PLAYFIELD_HEIGHT]; void mm_open_all(void); -void mm_close_all(void); void InitElementProperties_MM(void); @@ -228,9 +224,10 @@ void InitGfxBuffers_MM(void); void InitGameEngine_MM(void); void InitGameActions_MM(void); -void GameActions_MM(struct MouseActionInfo, boolean); +void GameActions_MM(struct MouseActionInfo); void DrawLaser_MM(void); +void DrawTileCursor_MM(int, boolean); boolean ClickElement(int, int, int); @@ -248,7 +245,7 @@ void BlitScreenToBitmap_MM(Bitmap *); void RedrawPlayfield_MM(void); void LoadEngineSnapshotValues_MM(void); -void SaveEngineSnapshotValues_MM(ListNode **); +void SaveEngineSnapshotValues_MM(void); int getButtonFromTouchPosition(int, int, int, int);