X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.h;h=cb50eb5aef89c65d80e755287d037ebf2d8cef93;hb=87f550d868b16979b79b0fd8ac81a0215516977a;hp=b4c3834cfdee63584c79c422157e440f0754a5f3;hpb=3cf6686708e1beac2444181feab16cd88f20fad7;p=rocksndiamonds.git diff --git a/src/main.h b/src/main.h index b4c3834c..cb50eb5a 100644 --- a/src/main.h +++ b/src/main.h @@ -124,6 +124,8 @@ typedef unsigned char byte; #define EP_BIT_HAS_CONTENT (1 << 26) #define EP_BIT_EATABLE (1 << 27) #define EP_BIT_SP_ELEMENT (1 << 28) +#define EP_BIT_QUICK_GATE (1 << 29) +#define EP_BIT_OVER_PLAYER (1 << 30) #define IS_AMOEBALIVE(e) (Elementeigenschaften[e] & EP_BIT_AMOEBALIVE) #define IS_AMOEBOID(e) (Elementeigenschaften[e] & EP_BIT_AMOEBOID) @@ -154,6 +156,8 @@ typedef unsigned char byte; #define HAS_CONTENT(e) (Elementeigenschaften[e] & EP_BIT_HAS_CONTENT) #define IS_EATABLE(e) (Elementeigenschaften[e] & EP_BIT_EATABLE) #define IS_SP_ELEMENT(e) (Elementeigenschaften[e] & EP_BIT_SP_ELEMENT) +#define IS_QUICK_GATE(e) (Elementeigenschaften[e] & EP_BIT_QUICK_GATE) +#define IS_OVER_PLAYER(e) (Elementeigenschaften[e] & EP_BIT_OVER_PLAYER) #define IS_PLAYER(x,y) (ELEM_IS_PLAYER(StorePlayer[x][y])) @@ -318,6 +322,8 @@ struct PlayerInfo boolean snapped; unsigned long move_delay; + int move_delay_value; + int last_move_dir; unsigned long push_delay; @@ -352,6 +358,7 @@ struct LevelInfo int dauer_ablenk; int amoebe_inhalt; boolean double_speed; + boolean gravity; }; struct LevelDirInfo @@ -450,7 +457,6 @@ extern int ScreenMovDir, ScreenMovPos, ScreenGfxPos; extern int BorderElement; extern int GameFrameDelay; extern int FfwdFrameDelay; -extern int MoveSpeed; extern int BX1,BY1, BX2,BY2; extern int SBX_Left, SBX_Right; extern int SBY_Upper, SBY_Lower; @@ -539,12 +545,12 @@ extern char *element_info[]; #define MICRO_GFX_PER_LINE 128 #define HEROES_PER_LINE 16 #define MINI_MORE_STARTX 0 -#define MINI_MORE_STARTY 224 +#define MINI_MORE_STARTY 352 #define MICRO_MORE_STARTX 0 -#define MICRO_MORE_STARTY 336 +#define MICRO_MORE_STARTY 448 #define MORE_PER_LINE 16 #define MINI_MORE_PER_LINE 16 -#define MICRO_MORE_PER_LINE 16 +#define MICRO_MORE_PER_LINE 64 #define FONT_CHARS_PER_LINE 16 #define FONT_LINES_PER_FONT 4 @@ -685,7 +691,7 @@ extern char *element_info[]; #define EL_SCHWEIN 117 #define EL_DRACHE 118 -#define EL_UNUSED_119 119 +#define EL_EM_KEY_1_FILE 119 #define EL_CHAR_START 120 #define EL_CHAR_ASCII0 (EL_CHAR_START-32) @@ -730,13 +736,14 @@ extern char *element_info[]; #define EL_MAUER_Y 201 #define EL_MAUER_XY 202 -#define EL_UNUSED_203 203 -#define EL_UNUSED_204 204 -#define EL_UNUSED_205 205 -#define EL_UNUSED_206 206 -#define EL_UNUSED_207 207 -#define EL_UNUSED_208 208 -#define EL_UNUSED_209 209 +#define EL_EM_GATE_1 203 +#define EL_EM_GATE_2 204 +#define EL_EM_GATE_3 205 +#define EL_EM_GATE_4 206 + +#define EL_EM_KEY_2_FILE 207 +#define EL_EM_KEY_3_FILE 208 +#define EL_EM_KEY_4_FILE 209 #define EL_SP_START 210 #define EL_SP_EMPTY (EL_SP_START + 0) @@ -781,10 +788,11 @@ extern char *element_info[]; #define EL_SP_CHIP_LOWER (EL_SP_START + 39) #define EL_SP_END (EL_SP_START + 39) -#define EL_UNUSED_250 250 -#define EL_UNUSED_251 251 -#define EL_UNUSED_252 252 -#define EL_UNUSED_253 253 +#define EL_EM_GATE_1X 250 +#define EL_EM_GATE_2X 251 +#define EL_EM_GATE_3X 252 +#define EL_EM_GATE_4X 253 + #define EL_UNUSED_254 254 #define EL_UNUSED_255 255 @@ -798,6 +806,10 @@ extern char *element_info[]; #define EL_AUSGANG_ACT 306 #define EL_SP_TERMINAL_ACTIVE 307 #define EL_SP_BUG_ACTIVE 308 +#define EL_EM_KEY_1 309 +#define EL_EM_KEY_2 310 +#define EL_EM_KEY_3 311 +#define EL_EM_KEY_4 312 /* "unreal" (and therefore not drawable) runtime elements */ #define EL_BLOCKED 400 @@ -1109,6 +1121,19 @@ extern char *element_info[]; #define GFX_UNSICHTBAR (GFX_START_ROCKSMORE + 5 * MORE_PER_LINE + 7) #define GFX_SP_ZONK (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 0) +#define GFX_EM_KEY_1 (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 4) +#define GFX_EM_KEY_2 (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 5) +#define GFX_EM_KEY_3 (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 6) +#define GFX_EM_KEY_4 (GFX_START_ROCKSMORE + 6 * MORE_PER_LINE + 7) +#define GFX_EM_GATE_1 (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 0) +#define GFX_EM_GATE_2 (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 1) +#define GFX_EM_GATE_3 (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 2) +#define GFX_EM_GATE_4 (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 3) +#define GFX_EM_GATE_1X (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 4) +#define GFX_EM_GATE_2X (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 5) +#define GFX_EM_GATE_3X (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 6) +#define GFX_EM_GATE_4X (GFX_START_ROCKSMORE + 7 * MORE_PER_LINE + 7) + #define GFX_MURPHY_GO_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 8) #define GFX_MURPHY_ANY_LEFT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 9) #define GFX_MURPHY_GO_RIGHT (GFX_START_ROCKSMORE + 0 * MORE_PER_LINE + 11)