From: Holger Schemel Date: Tue, 23 Mar 2004 09:51:47 +0000 (+0100) Subject: rnd-20040323-1-src X-Git-Tag: 3.1.0^2~37 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;h=830ab4d58b00129ff57c9600dc99a2494af8841c;p=rocksndiamonds.git rnd-20040323-1-src --- diff --git a/Makefile b/Makefile index 1ea92b07..481244f7 100644 --- a/Makefile +++ b/Makefile @@ -50,8 +50,8 @@ CROSS_PATH_WIN32=/usr/local/cross-tools/i386-mingw32msvc SRC_DIR = src MAKE_CMD = $(MAKE) -C $(SRC_DIR) -DEFAULT_TARGET = x11 -# DEFAULT_TARGET = sdl +# DEFAULT_TARGET = x11 +DEFAULT_TARGET = sdl # ----------------------------------------------------------------------------- diff --git a/src/Makefile b/src/Makefile index ef1f52af..f065f0b9 100644 --- a/src/Makefile +++ b/src/Makefile @@ -85,8 +85,7 @@ endif ifeq ($(TARGET),x11) SYS_CFLAGS = -DTARGET_X11 $(X11_INCL) -# SYS_LDFLAGS = $(X11_LIBS) -lX11 -SYS_LDFLAGS = $(XLIB_PATH)/libX11.a +SYS_LDFLAGS = $(X11_LIBS) -lX11 endif ifeq ($(TARGET),sdl) diff --git a/src/conftime.h b/src/conftime.h index c6bb17a2..1280375f 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2004-03-22 20:42]" +#define COMPILE_DATE_STRING "[2004-03-23 06:40]" diff --git a/src/editor.c b/src/editor.c index 7852895b..60e64be0 100644 --- a/src/editor.c +++ b/src/editor.c @@ -84,9 +84,9 @@ #define ED_NUM_CTRL4_BUTTONS (ED_CTRL4_BUTTONS_HORIZ * ED_CTRL4_BUTTONS_VERT) #define ED_NUM_CTRL1_2_BUTTONS (ED_NUM_CTRL1_BUTTONS + ED_NUM_CTRL2_BUTTONS) #define ED_NUM_CTRL1_3_BUTTONS (ED_NUM_CTRL1_2_BUTTONS + ED_NUM_CTRL3_BUTTONS) -#define ED_NUM_CTRL_BUTTONS (ED_NUM_CTRL1_BUTTONS + \ - ED_NUM_CTRL2_BUTTONS + \ - ED_NUM_CTRL3_BUTTONS + \ +#define ED_NUM_CTRL_BUTTONS (ED_NUM_CTRL1_BUTTONS + \ + ED_NUM_CTRL2_BUTTONS + \ + ED_NUM_CTRL3_BUTTONS + \ ED_NUM_CTRL4_BUTTONS) /* values for the element list */ @@ -96,7 +96,7 @@ #define ED_ELEMENTLIST_YSIZE 20 #define ED_ELEMENTLIST_BUTTONS_HORIZ 4 #define ED_ELEMENTLIST_BUTTONS_VERT 11 -#define ED_NUM_ELEMENTLIST_BUTTONS (ED_ELEMENTLIST_BUTTONS_HORIZ * \ +#define ED_NUM_ELEMENTLIST_BUTTONS (ED_ELEMENTLIST_BUTTONS_HORIZ * \ ED_ELEMENTLIST_BUTTONS_VERT) /* standard distances */ @@ -106,22 +106,22 @@ #define ED_GADGET_DISTANCE 2 #define ED_GADGET_TEXT_DISTANCE (2 * ED_GADGET_DISTANCE) -#define ED_DRAWINGAREA_TEXT_DISTANCE (ED_GADGET_TEXT_DISTANCE + \ +#define ED_DRAWINGAREA_TEXT_DISTANCE (ED_GADGET_TEXT_DISTANCE + \ MINI_TILEX / 2) -/* values for the setting windows */ +/* values for the settings windows */ #define ED_SETTINGS_XSTART (3 * MINI_TILEX / 2) #define ED_SETTINGS_YSTART (MINI_TILEY * 10) -#define ED_XOFFSET_CHECKBOX (ED_CHECKBUTTON_XSIZE + \ +#define ED_XOFFSET_CHECKBOX (ED_CHECKBUTTON_XSIZE + \ 2 * ED_GADGET_DISTANCE) #define ED_SETTINGS_XOFFSET ED_XOFFSET_CHECKBOX #define ED_SETTINGS_YOFFSET (3 * MINI_TILEY / 2) -#define ED_SETTINGS_XPOS(n) (ED_SETTINGS_XSTART + \ +#define ED_SETTINGS_XPOS(n) (ED_SETTINGS_XSTART + \ (n) * ED_SETTINGS_XOFFSET) -#define ED_SETTINGS_YPOS(n) (ED_SETTINGS_YSTART + \ +#define ED_SETTINGS_YPOS(n) (ED_SETTINGS_YSTART + \ (n) * ED_SETTINGS_YOFFSET) #define ED_SETTINGS1_YPOS MINI_TILEY @@ -131,59 +131,26 @@ /* values for counter gadgets */ #define ED_COUNTER_YSTART (ED_SETTINGS1_YPOS + 2 * TILEY) #define ED_COUNTER_YDISTANCE (3 * MINI_TILEY) -#define ED_COUNTER_YPOS(n) (ED_COUNTER_YSTART + \ +#define ED_COUNTER_YPOS(n) (ED_COUNTER_YSTART + \ (n) * ED_COUNTER_YDISTANCE) -#define ED_COUNTER2_YPOS(n) (ED_COUNTER_YSTART + \ +#define ED_COUNTER2_YPOS(n) (ED_COUNTER_YSTART + \ (n) * ED_COUNTER_YDISTANCE - 2) /* values for element content drawing areas */ -/* amoeba content */ -#define ED_AREA_AMOEBA_CONTENT_XPOS ED_SETTINGS_XPOS(0) -#define ED_AREA_AMOEBA_CONTENT_YPOS (ED_SETTINGS_YPOS(2) + \ +#define ED_AREA_1X1_SETTINGS_XPOS(n) (ED_SETTINGS_XPOS(n)) +#define ED_AREA_1X1_SETTINGS_YPOS(n) (ED_SETTINGS_YPOS(n) + \ ED_GADGET_DISTANCE) +#define ED_AREA_3X3_SETTINGS_XPOS(n) (ED_SETTINGS_XPOS(n)) +#define ED_AREA_3X3_SETTINGS_YPOS(n) (ED_SETTINGS_YPOS(n) + \ + ED_GADGET_DISTANCE - MINI_TILEY) + /* yamyam content */ -#define ED_AREA_YAMYAM_CONTENT_XPOS(n) (2 * MINI_TILEX + \ +#define ED_AREA_YAMYAM_CONTENT_XPOS(n) (2 * MINI_TILEX + \ 5 * ((n) % 4) * MINI_TILEX) -#define ED_AREA_YAMYAM_CONTENT_YPOS(n) (17 * MINI_TILEY + \ +#define ED_AREA_YAMYAM_CONTENT_YPOS(n) (17 * MINI_TILEY + \ 6 * ((n) / 4) * MINI_TILEY) -/* custom change target */ -#define ED_AREA_ELEM_CONTENT2_YPOS (ED_SETTINGS_YPOS(1) + \ - ED_GADGET_DISTANCE) -/* optional custom graphic */ -#define ED_AREA_ELEM_CONTENT3_YPOS (ED_SETTINGS_YPOS(1) + \ - ED_GADGET_DISTANCE) -/* custom element content */ -#define ED_AREA_ELEM_CONTENT4_XPOS (29 * MINI_TILEX) -#define ED_AREA_ELEM_CONTENT4_YPOS (ED_SETTINGS_YPOS(2) + \ - ED_GADGET_DISTANCE - MINI_TILEY) -/* movement enter/leave element */ -#define ED_AREA_ELEM_CONTENT4a_XPOS (29 * MINI_TILEX) -#define ED_AREA_ELEM_CONTENT4a_YPOS (ED_SETTINGS_YPOS(11) + \ - ED_GADGET_DISTANCE) -#define ED_AREA_ELEM_CONTENT4b_XPOS (29 * MINI_TILEX) -#define ED_AREA_ELEM_CONTENT4b_YPOS (ED_SETTINGS_YPOS(11) + \ - ED_GADGET_DISTANCE) -/* custom change trigger element */ -#define ED_AREA_ELEM_CONTENT5_YPOS (ED_SETTINGS_YPOS(5) + \ - ED_GADGET_DISTANCE) -/* extended custom change target */ -#define ED_AREA_ELEM_CONTENT6_XPOS (29 * MINI_TILEX) -#define ED_AREA_ELEM_CONTENT6_YPOS (ED_SETTINGS_YPOS(10) + \ - ED_GADGET_DISTANCE - MINI_TILEY) -/* group element content */ -#define ED_AREA_GROUP_CONTENT_XPOS ED_SETTINGS_XPOS(0) -#if 1 -#define ED_AREA_GROUP_CONTENT_YPOS (ED_SETTINGS_YPOS(4) + \ - ED_GADGET_DISTANCE) -#else -#define ED_AREA_GROUP_CONTENT_YPOS (22 * MINI_TILEY) -#endif - -/* values for random placement background drawing area */ -#define ED_AREA_RANDOM_BACKGROUND_YPOS (31 * MINI_TILEY) - /* values for scrolling gadgets for drawing area */ #define ED_SCROLLBUTTON_XPOS 24 #define ED_SCROLLBUTTON_YPOS 0 @@ -201,12 +168,14 @@ #define ED_SCROLL_LEFT_YPOS (SYSIZE - 2 * ED_SCROLLBUTTON_YSIZE) #define ED_SCROLL_RIGHT_XPOS (SXSIZE - 2 * ED_SCROLLBUTTON_XSIZE) #define ED_SCROLL_RIGHT_YPOS ED_SCROLL_LEFT_YPOS -#define ED_SCROLL_HORIZONTAL_XPOS (ED_SCROLL_LEFT_XPOS + ED_SCROLLBUTTON_XSIZE) +#define ED_SCROLL_HORIZONTAL_XPOS (ED_SCROLL_LEFT_XPOS + \ + ED_SCROLLBUTTON_XSIZE) #define ED_SCROLL_HORIZONTAL_YPOS ED_SCROLL_LEFT_YPOS #define ED_SCROLL_HORIZONTAL_XSIZE (SXSIZE - 3 * ED_SCROLLBUTTON_XSIZE) #define ED_SCROLL_HORIZONTAL_YSIZE ED_SCROLLBUTTON_YSIZE #define ED_SCROLL_VERTICAL_XPOS ED_SCROLL_UP_XPOS -#define ED_SCROLL_VERTICAL_YPOS (ED_SCROLL_UP_YPOS + ED_SCROLLBUTTON_YSIZE) +#define ED_SCROLL_VERTICAL_YPOS (ED_SCROLL_UP_YPOS + \ + ED_SCROLLBUTTON_YSIZE) #define ED_SCROLL_VERTICAL_XSIZE ED_SCROLLBUTTON_XSIZE #define ED_SCROLL_VERTICAL_YSIZE (SYSIZE - 4 * ED_SCROLLBUTTON_YSIZE) @@ -222,16 +191,16 @@ #define ED_SCROLL2_UP_XPOS 85 #define ED_SCROLL2_UP_YPOS 30 #define ED_SCROLL2_DOWN_XPOS ED_SCROLL2_UP_XPOS -#define ED_SCROLL2_DOWN_YPOS (ED_SCROLL2_UP_YPOS + \ - ED_ELEMENTLIST_BUTTONS_VERT * \ - ED_ELEMENTLIST_YSIZE - \ +#define ED_SCROLL2_DOWN_YPOS (ED_SCROLL2_UP_YPOS + \ + ED_ELEMENTLIST_BUTTONS_VERT * \ + ED_ELEMENTLIST_YSIZE - \ ED_SCROLLBUTTON2_YSIZE) #define ED_SCROLL2_VERTICAL_XPOS ED_SCROLL2_UP_XPOS -#define ED_SCROLL2_VERTICAL_YPOS (ED_SCROLL2_UP_YPOS + \ +#define ED_SCROLL2_VERTICAL_YPOS (ED_SCROLL2_UP_YPOS + \ ED_SCROLLBUTTON2_YSIZE) #define ED_SCROLL2_VERTICAL_XSIZE ED_SCROLLBUTTON2_XSIZE -#define ED_SCROLL2_VERTICAL_YSIZE (ED_ELEMENTLIST_BUTTONS_VERT * \ - ED_ELEMENTLIST_YSIZE - \ +#define ED_SCROLL2_VERTICAL_YSIZE (ED_ELEMENTLIST_BUTTONS_VERT * \ + ED_ELEMENTLIST_YSIZE - \ 2 * ED_SCROLLBUTTON2_YSIZE) /* values for checkbutton gadgets */ @@ -266,14 +235,14 @@ #define ED_BUTTON_MINUS_YPOS ED_BUTTON_COUNT_YPOS #define ED_BUTTON_MINUS_XSIZE ED_BUTTON_COUNT_XSIZE #define ED_BUTTON_MINUS_YSIZE ED_BUTTON_COUNT_YSIZE -#define ED_BUTTON_PLUS_XPOS (ED_WIN_COUNT_XPOS + \ +#define ED_BUTTON_PLUS_XPOS (ED_WIN_COUNT_XPOS + \ ED_WIN_COUNT_XSIZE + 2) #define ED_BUTTON_PLUS_YPOS ED_BUTTON_COUNT_YPOS #define ED_BUTTON_PLUS_XSIZE ED_BUTTON_COUNT_XSIZE #define ED_BUTTON_PLUS_YSIZE ED_BUTTON_COUNT_YSIZE #define ED_SELECTBOX_XPOS ED_WIN_COUNT_XPOS -#define ED_SELECTBOX_YPOS (ED_WIN_COUNT_YPOS + \ +#define ED_SELECTBOX_YPOS (ED_WIN_COUNT_YPOS + \ 2 + ED_WIN_COUNT_YSIZE) #define ED_SELECTBOX_XSIZE ED_WIN_COUNT_XSIZE #define ED_SELECTBOX_YSIZE ED_WIN_COUNT_YSIZE @@ -281,14 +250,14 @@ #define ED_SELECTBOX_BUTTON_XSIZE 14 #define ED_TEXTBUTTON_XPOS ED_WIN_COUNT_XPOS -#define ED_TEXTBUTTON_YPOS (ED_WIN_COUNT_YPOS + \ +#define ED_TEXTBUTTON_YPOS (ED_WIN_COUNT_YPOS + \ 4 * (2 + ED_WIN_COUNT_YSIZE)) #define ED_TEXTBUTTON_INACTIVE_YPOS ED_TEXTBUTTON_YPOS #define ED_TEXTBUTTON_TAB_XPOS ED_WIN_COUNT_XPOS -#define ED_TEXTBUTTON_TAB_YPOS (ED_WIN_COUNT_YPOS + \ +#define ED_TEXTBUTTON_TAB_YPOS (ED_WIN_COUNT_YPOS + \ 2 * (2 + ED_WIN_COUNT_YSIZE)) -#define ED_TEXTBUTTON_TAB_INACTIVE_YPOS (ED_WIN_COUNT_YPOS + \ +#define ED_TEXTBUTTON_TAB_INACTIVE_YPOS (ED_WIN_COUNT_YPOS + \ 3 * (2 + ED_WIN_COUNT_YSIZE)) #define ED_TEXTBUTTON_XSIZE ED_WIN_COUNT_XSIZE @@ -2241,7 +2210,7 @@ static struct /* ---------- amoeba content --------------------------------------------- */ { - ED_AREA_AMOEBA_CONTENT_XPOS, ED_AREA_AMOEBA_CONTENT_YPOS, + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(2), 1, 1, GADGET_ID_AMOEBA_CONTENT, GADGET_ID_NONE, "content:", NULL, NULL @@ -2250,7 +2219,7 @@ static struct /* ---------- custom graphic --------------------------------------------- */ { - -1, ED_AREA_ELEM_CONTENT3_YPOS, + -1, ED_AREA_1X1_SETTINGS_YPOS(1), 1, 1, GADGET_ID_CUSTOM_GRAPHIC, GADGET_ID_CUSTOM_USE_GRAPHIC, NULL, NULL, NULL @@ -2259,7 +2228,7 @@ static struct /* ---------- custom content (when exploding) ---------------------------- */ { - ED_AREA_ELEM_CONTENT4_XPOS, ED_AREA_ELEM_CONTENT4_YPOS, + -1, ED_AREA_3X3_SETTINGS_YPOS(2), 3, 3, GADGET_ID_CUSTOM_CONTENT, GADGET_ID_NONE, /* align three rows */ "content:", NULL, NULL @@ -2268,13 +2237,13 @@ static struct /* ---------- custom enter and leave element (when moving) --------------- */ { - ED_SETTINGS_XPOS(1), ED_AREA_ELEM_CONTENT4a_YPOS, + ED_AREA_1X1_SETTINGS_XPOS(1), ED_AREA_1X1_SETTINGS_YPOS(11), 1, 1, GADGET_ID_CUSTOM_MOVE_ENTER, GADGET_ID_NONE, "can dig:", " ", NULL }, { - -1, ED_AREA_ELEM_CONTENT4b_YPOS, + -1, ED_AREA_1X1_SETTINGS_YPOS(11), 1, 1, GADGET_ID_CUSTOM_MOVE_LEAVE, GADGET_ID_CUSTOM_MOVE_LEAVE_TYPE, NULL, NULL, NULL @@ -2283,7 +2252,7 @@ static struct /* ---------- custom change target --------------------------------------- */ { - -1, ED_AREA_ELEM_CONTENT2_YPOS, + -1, ED_AREA_1X1_SETTINGS_YPOS(1), 1, 1, GADGET_ID_CUSTOM_CHANGE_TARGET, GADGET_ID_CUSTOM_CAN_CHANGE, NULL, "after/when:", NULL @@ -2292,7 +2261,7 @@ static struct /* ---------- custom change content (extended change target) ------------- */ { - ED_AREA_ELEM_CONTENT6_XPOS, ED_AREA_ELEM_CONTENT6_YPOS, + -1, ED_AREA_3X3_SETTINGS_YPOS(10), 3, 3, GADGET_ID_CUSTOM_CHANGE_CONTENT, GADGET_ID_NONE, /* align three rows */ NULL, NULL, NULL @@ -2301,7 +2270,7 @@ static struct /* ---------- custom change trigger (element causing change) ------------- */ { - -1, ED_AREA_ELEM_CONTENT5_YPOS, + -1, ED_AREA_1X1_SETTINGS_YPOS(5), 1, 1, GADGET_ID_CUSTOM_CHANGE_TRIGGER, GADGET_ID_CHANGE_OTHER_ACTION, NULL, NULL, NULL @@ -2310,7 +2279,7 @@ static struct /* ---------- group element content -------------------------------------- */ { - ED_AREA_GROUP_CONTENT_XPOS, ED_AREA_GROUP_CONTENT_YPOS, + ED_AREA_1X1_SETTINGS_XPOS(0), ED_AREA_1X1_SETTINGS_YPOS(4), MAX_ELEMENTS_IN_GROUP, 1, GADGET_ID_GROUP_CONTENT, GADGET_ID_NONE, "content:", NULL, NULL @@ -2319,7 +2288,7 @@ static struct /* ---------- random background (for random painting) -------------------- */ { - -1, ED_AREA_RANDOM_BACKGROUND_YPOS, + -1, ED_SETTINGS_YPOS(14), 1, 1, GADGET_ID_RANDOM_BACKGROUND, GADGET_ID_RANDOM_RESTRICTED, NULL, NULL, NULL diff --git a/src/game.c b/src/game.c index 6fc7f7bd..5d89ddff 100644 --- a/src/game.c +++ b/src/game.c @@ -2095,7 +2095,7 @@ void InitMovDir(int x, int y) break; } -#if 1 +#if 0 if (MovDir[x][y] == MV_NO_MOVING) /* no start direction found */ MovDir[x][y] = 1 << RND(4); /* => use random direction */ #endif @@ -5965,9 +5965,18 @@ void ContinueMoving(int x, int y) MovDir[newx][newy] = 0; */ +#if 0 if (!CAN_MOVE(element) || (CAN_FALL(element) && direction == MV_DOWN)) GfxDir[x][y] = MovDir[newx][newy] = 0; +#else + if (!CAN_MOVE(element) || + (CAN_FALL(element) && direction == MV_DOWN && + (element == EL_SPRING || + element_info[element].move_pattern == MV_WHEN_PUSHED || + element_info[element].move_pattern == MV_WHEN_DROPPED))) + GfxDir[x][y] = MovDir[newx][newy] = 0; +#endif #endif #endif diff --git a/src/init.c b/src/init.c index 92a70194..6917ee0b 100644 --- a/src/init.c +++ b/src/init.c @@ -2830,6 +2830,12 @@ void InitElementPropertiesStatic() -1 }; + static int ep_can_turn_each_move[] = + { + /* !!! do something !!! */ + -1 + }; + static int ep_active_bomb[] = { EL_DYNAMITE_ACTIVE, @@ -3050,6 +3056,7 @@ void InitElementPropertiesStatic() { ep_amoeboid, EP_AMOEBOID }, { ep_amoebalive, EP_AMOEBALIVE }, { ep_has_content, EP_HAS_CONTENT }, + { ep_can_turn_each_move, EP_CAN_TURN_EACH_MOVE }, { ep_active_bomb, EP_ACTIVE_BOMB }, { ep_inactive, EP_INACTIVE }, diff --git a/src/main.h b/src/main.h index 682f9247..f2e076fa 100644 --- a/src/main.h +++ b/src/main.h @@ -112,43 +112,44 @@ #define EP_AMOEBOID 50 #define EP_AMOEBALIVE 51 #define EP_HAS_CONTENT 52 -#define EP_ACTIVE_BOMB 53 -#define EP_INACTIVE 54 +#define EP_CAN_TURN_EACH_MOVE 53 +#define EP_ACTIVE_BOMB 54 +#define EP_INACTIVE 55 /* values for special configurable properties (depending on level settings) */ -#define EP_EM_SLIPPERY_WALL 55 +#define EP_EM_SLIPPERY_WALL 56 /* values for special graphics properties (no effect on game engine) */ -#define EP_GFX_CRUMBLED 56 +#define EP_GFX_CRUMBLED 57 /* values for derived properties (determined from properties above) */ -#define EP_ACCESSIBLE_OVER 57 -#define EP_ACCESSIBLE_INSIDE 58 -#define EP_ACCESSIBLE_UNDER 59 -#define EP_WALKABLE 60 -#define EP_PASSABLE 61 -#define EP_ACCESSIBLE 62 -#define EP_COLLECTIBLE 63 -#define EP_SNAPPABLE 64 -#define EP_WALL 65 -#define EP_SOLID_FOR_PUSHING 66 -#define EP_DRAGONFIRE_PROOF 67 -#define EP_EXPLOSION_PROOF 68 -#define EP_CAN_SMASH 69 -#define EP_CAN_EXPLODE 70 -#define EP_CAN_EXPLODE_3X3 71 -#define EP_SP_PORT 72 -#define EP_CAN_EXPLODE_BY_DRAGONFIRE 73 -#define EP_CAN_EXPLODE_BY_EXPLOSION 74 -#define EP_COULD_MOVE_INTO_ACID 75 -#define EP_MAYBE_DONT_COLLIDE_WITH 76 +#define EP_ACCESSIBLE_OVER 58 +#define EP_ACCESSIBLE_INSIDE 59 +#define EP_ACCESSIBLE_UNDER 60 +#define EP_WALKABLE 61 +#define EP_PASSABLE 62 +#define EP_ACCESSIBLE 63 +#define EP_COLLECTIBLE 64 +#define EP_SNAPPABLE 65 +#define EP_WALL 66 +#define EP_SOLID_FOR_PUSHING 67 +#define EP_DRAGONFIRE_PROOF 68 +#define EP_EXPLOSION_PROOF 69 +#define EP_CAN_SMASH 70 +#define EP_CAN_EXPLODE 71 +#define EP_CAN_EXPLODE_3X3 72 +#define EP_SP_PORT 73 +#define EP_CAN_EXPLODE_BY_DRAGONFIRE 74 +#define EP_CAN_EXPLODE_BY_EXPLOSION 75 +#define EP_COULD_MOVE_INTO_ACID 76 +#define EP_MAYBE_DONT_COLLIDE_WITH 77 /* values for internal purpose only (level editor) */ -#define EP_EXPLODE_RESULT 77 -#define EP_WALK_TO_OBJECT 78 -#define EP_DEADLY 79 +#define EP_EXPLODE_RESULT 78 +#define EP_WALK_TO_OBJECT 79 +#define EP_DEADLY 80 -#define NUM_ELEMENT_PROPERTIES 80 +#define NUM_ELEMENT_PROPERTIES 81 #define NUM_EP_BITFIELDS ((NUM_ELEMENT_PROPERTIES + 31) / 32) #define EP_BITFIELD_BASE 0 @@ -356,6 +357,7 @@ #define IS_AMOEBOID(e) HAS_PROPERTY(e, EP_AMOEBOID) #define IS_AMOEBALIVE(e) HAS_PROPERTY(e, EP_AMOEBALIVE) #define HAS_CONTENT(e) HAS_PROPERTY(e, EP_HAS_CONTENT) +#define CAN_TURN_EACH_MOVE(e) HAS_PROPERTY(e, EP_CAN_TURN_EACH_MOVE) #define IS_ACTIVE_BOMB(e) HAS_PROPERTY(e, EP_ACTIVE_BOMB) #define IS_INACTIVE(e) HAS_PROPERTY(e, EP_INACTIVE)