X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_main.h;h=0fb74d9e215efac28658873ccd73d46ee89f8ec6;hb=c2575609f053eab9617b11f2150e308904cab339;hp=22aaf32b6942a00167c09a00b5ef3debd1664801;hpb=51e5ca986149d2d21194287f11ca3a8f8c05d84e;p=rocksndiamonds.git diff --git a/src/game_mm/mm_main.h b/src/game_mm/mm_main.h index 22aaf32b..0fb74d9e 100644 --- a/src/game_mm/mm_main.h +++ b/src/game_mm/mm_main.h @@ -4,7 +4,7 @@ // (c) 1994-2017 by Artsoft Entertainment // Holger Schemel // info@artsoft.org -// http://www.artsoft.org/ +// https://www.artsoft.org/ // ---------------------------------------------------------------------------- // mm_main.h // ============================================================================ @@ -123,10 +123,10 @@ IS_WALL_AMOEBA(e)) #define CAN_MOVE(e) ((e) == EL_PACMAN) -#define IS_FREE(x,y) (Feld[x][y] == EL_EMPTY) +#define IS_FREE(x,y) (Tile[x][y] == EL_EMPTY) #define IS_MOVING(x,y) (MovPos[x][y] != 0) -#define IS_BLOCKED(x,y) (Feld[x][y] == EL_BLOCKED) +#define IS_BLOCKED(x,y) (Tile[x][y] == EL_BLOCKED) #define IS_DRAWABLE(e) ((e) < EL_BLOCKED) #define IS_NOT_DRAWABLE(e) ((e) >= EL_BLOCKED) @@ -180,12 +180,6 @@ #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; @@ -194,7 +188,7 @@ extern boolean level_editor_test_game; extern boolean redraw[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern int redraw_x1, redraw_y1; -extern short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +extern short Tile[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Hit[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; extern short Box[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; @@ -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; @@ -654,6 +653,8 @@ extern int num_element_info; #define EL_GRAY_BALL_OPENING 502 #define EL_ICE_WALL_SHRINKING 503 #define EL_AMOEBA_WALL_GROWING 504 +#define EL_BOMB_ACTIVE 505 +#define EL_MINE_ACTIVE 506 #define EL_WALL_CHANGING 512 #define EL_WALL_CHANGING_START (EL_WALL_CHANGING + 0) @@ -666,18 +667,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 +1100,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