projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added optional button to restart game (door, panel and touch variants)
[rocksndiamonds.git]
/
src
/
game_mm
/
export.h
diff --git
a/src/game_mm/export.h
b/src/game_mm/export.h
index 21e20cdc8462f0f441ff853b3eef39622fc8f221..1d063969510dadd2c37382dd25e1875d9ef50b76 100644
(file)
--- a/
src/game_mm/export.h
+++ b/
src/game_mm/export.h
@@
-27,12
+27,14
@@
#define MM_LEVEL_SCORE_ELEMENTS 16
#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
#define EL_MM_START_1_NATIVE 0
#define MM_MAX_LEVEL_NAME_LEN 32
#define MM_MAX_LEVEL_AUTHOR_LEN 32
#define EL_MM_START_1_NATIVE 0
-#define EL_MM_END_1_NATIVE 15
5
+#define EL_MM_END_1_NATIVE 15
9
#define EL_MM_CHAR_START_NATIVE 160
#define EL_MM_CHAR_END_NATIVE 239
#define EL_MM_CHAR_START_NATIVE 160
#define EL_MM_CHAR_END_NATIVE 239
@@
-40,12
+42,12
@@
#define EL_MM_START_2_NATIVE 240
#define EL_MM_END_2_NATIVE 430
#define EL_MM_START_2_NATIVE 240
#define EL_MM_END_2_NATIVE 430
+#define EL_MM_START_3_NATIVE 431
+#define EL_MM_END_3_NATIVE 450
+
#define EL_MM_RUNTIME_START_NATIVE 500
#define EL_MM_RUNTIME_END_NATIVE 504
#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
// elements to be specially mapped
#define EL_MM_EMPTY_NATIVE 0
#define EL_DF_EMPTY_NATIVE 304
@@
-115,6
+117,9
@@
struct LaserInfo
int fuse_x, fuse_y;
int dest_element;
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;
boolean stops_inside_element;
boolean redraw;
@@
-138,10
+143,14
@@
struct GameInfo_MM
int kettles_still_needed;
int lights_still_needed;
int num_keys;
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 has_mcduffin;
boolean level_solved;
boolean game_over;
int game_over_cause;
boolean level_solved;
boolean game_over;
int game_over_cause;
+ char *game_over_message;
boolean cheat_no_overload;
boolean cheat_no_explosion;
boolean cheat_no_overload;
boolean cheat_no_explosion;
@@
-161,7
+170,8
@@
struct LevelInfo_MM
int time;
int kettles_needed;
boolean auto_count_kettles;
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];
char name[MM_MAX_LEVEL_NAME_LEN + 1];
char author[MM_MAX_LEVEL_AUTHOR_LEN + 1];
int score[MM_LEVEL_SCORE_ELEMENTS];
@@
-171,6
+181,12
@@
struct LevelInfo_MM
int time_ball;
int time_block;
int time_ball;
int time_block;
+ int num_ball_contents;
+ int ball_choice_mode;
+ int ball_content[MM_MAX_BALL_CONTENTS];
+ boolean rotate_ball_content;
+ boolean explode_ball;
+
short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
};
short field[MAX_PLAYFIELD_WIDTH][MAX_PLAYFIELD_HEIGHT];
};
@@
-184,10
+200,11
@@
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 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;
+ short LX, LY;
+ short XS, YS;
+ short ELX, ELY;
+ short CT, Ct;
int last_LX, last_LY, last_hit_mask;
int hold_x, hold_y;
int last_LX, last_LY, last_hit_mask;
int hold_x, hold_y;
@@
-218,10
+235,10
@@
void InitGfxBuffers_MM(void);
void InitGameEngine_MM(void);
void InitGameActions_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 DrawLaser_MM(void);
-void DrawTileCursor_MM(int, boolean);
+void DrawTileCursor_MM(int,
int,
boolean);
boolean ClickElement(int, int, int);
boolean ClickElement(int, int, int);
@@
-235,11
+252,15
@@
void SaveNativeLevel_MM(char *);
int getFieldbufferOffsetX_MM(void);
int getFieldbufferOffsetY_MM(void);
int getFieldbufferOffsetX_MM(void);
int getFieldbufferOffsetY_MM(void);
+int getFlippedTileX_MM(int);
+int getFlippedTileY_MM(int);
+int getFlippedTileXY_MM(int);
+
void BlitScreenToBitmap_MM(Bitmap *);
void RedrawPlayfield_MM(void);
void LoadEngineSnapshotValues_MM(void);
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);
int getButtonFromTouchPosition(int, int, int, int);