improved MM graphics engine to support custom explosions of elements
[rocksndiamonds.git] / src / game_mm / mm_main.h
index 1beb5074164ab2efd696f61f36ae2c345c3b7475..5d0718f5f4ae188e37ed43d1db9313b776a9efdb 100644 (file)
 #define LEVEL_SCORE_ELEMENTS   16      // level elements with score
 
 
-struct HiScore_MM
-{
-  char Name[MAX_PLAYER_NAME_LEN + 1];
-  int Score;
-};
-
 extern DrawBuffer      *drawto_field;
 
 extern int             game_status;
@@ -209,7 +203,13 @@ extern short               StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short           Frame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern boolean         Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short           AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern short           AmoebaCnt[MAX_NUM_AMOEBA], AmoebaCnt2[MAX_NUM_AMOEBA];
+extern short           AmoebaCnt[MAX_NUM_AMOEBA];
+extern short           AmoebaCnt2[MAX_NUM_AMOEBA];
+extern short           ExplodePhase[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+
+extern int             GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern int             GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+
 extern unsigned int    Elementeigenschaften[MAX_ELEMENTS];
 
 extern int             level_nr;
@@ -225,7 +225,6 @@ extern int          SBY_Upper, SBY_Lower;
 extern int             TimeFrames, TimePlayed, TimeLeft;
 
 extern struct LevelInfo_MM     native_mm_level;
-extern struct HiScore_MM       highscore[];
 extern struct GameInfo_MM      game_mm;
 extern struct LaserInfo                laser;
 
@@ -666,18 +665,6 @@ extern int         num_element_info;
 #define EL_EXPLODING_OPAQUE    601
 #define EL_EXPLODING_TRANSP    602
 
-// dummy elements (never used as game elements, only used as graphics)
-#define EL_MM_MASK_MCDUFFIN_RIGHT      700
-#define EL_MM_MASK_MCDUFFIN_UP         701
-#define EL_MM_MASK_MCDUFFIN_LEFT       702
-#define EL_MM_MASK_MCDUFFIN_DOWN       703
-#define EL_MM_MASK_GRID_1              704
-#define EL_MM_MASK_GRID_2              705
-#define EL_MM_MASK_GRID_3              706
-#define EL_MM_MASK_GRID_4              707
-#define EL_MM_MASK_RECTANGE            708
-#define EL_MM_MASK_CIRCLE              709
-
 
 // game graphics:
 //       0 -  191: graphics from "MirrorScreen"
@@ -1111,22 +1098,7 @@ extern int               num_element_info;
 #define GAME_OVER_NO_ENERGY    1
 #define GAME_OVER_OVERLOADED   2
 #define GAME_OVER_BOMB         3
-
-// values for game_status
-#define EXITGAME               0
-#define MAINMENU               1
-#define PLAYING                        2
-#define LEVELED                        3
-#define HELPSCREEN             4
-#define CHOOSELEVEL            5
-#define TYPENAME               6
-#define HALLOFFAME             7
-#define SETUP                  8
-
-// return values for GameActions
-#define ACT_GO_ON              0
-#define ACT_GAME_OVER          1
-#define ACT_NEW_GAME           2
+#define GAME_OVER_DELAYED      4
 
 // values for color_status
 #define STATIC_COLORS          0