X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fexport.h;h=b628a8d04c3b16ae3cee8b7479bd175abacaf173;hb=e81db25c94af29e469fe78f4217089b111a39eff;hp=bb9617a30104bb2bdf57df6b3376ca721c2898f4;hpb=96f2e9a0b1306fa108f3f7e81ad8b8d323ca5517;p=rocksndiamonds.git diff --git a/src/game_mm/export.h b/src/game_mm/export.h index bb9617a3..b628a8d0 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 @@ -115,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; @@ -138,6 +140,8 @@ struct GameInfo_MM int kettles_still_needed; int lights_still_needed; int num_keys; + int ball_choice_pos; // current content element choice position + boolean laser_red, laser_green, laser_blue; boolean level_solved; boolean game_over; @@ -161,7 +165,8 @@ struct LevelInfo_MM int time; int kettles_needed; boolean auto_count_kettles; - boolean laser_red, laser_green, laser_blue; + boolean mm_laser_red, mm_laser_green, mm_laser_blue; + boolean df_laser_red, df_laser_green, df_laser_blue; char name[MM_MAX_LEVEL_NAME_LEN + 1]; char author[MM_MAX_LEVEL_AUTHOR_LEN + 1]; int score[MM_LEVEL_SCORE_ELEMENTS]; @@ -171,6 +176,10 @@ struct LevelInfo_MM int time_ball; int time_block; + int num_ball_contents; + int ball_choice_mode; + int ball_content[MM_MAX_BALL_CONTENTS]; + short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT]; }; @@ -184,7 +193,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;