From: Holger Schemel Date: Wed, 16 Apr 2003 18:10:17 +0000 (+0200) Subject: rnd-20030416-3-src X-Git-Tag: 3.0.0^2~97 X-Git-Url: https://git.artsoft.org/?a=commitdiff_plain;ds=sidebyside;h=d93da39940cf3a69a4ceae6f212170784c0032c8;p=rocksndiamonds.git rnd-20030416-3-src --- diff --git a/src/conftime.h b/src/conftime.h index 26c387b9..b4b22769 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2003-04-16 19:38]" +#define COMPILE_DATE_STRING "[2003-04-16 20:04]" diff --git a/src/game.c b/src/game.c index ce66ee87..fb479b0e 100644 --- a/src/game.c +++ b/src/game.c @@ -5316,7 +5316,7 @@ void ScrollFigure(struct PlayerInfo *player, int mode) if (player->MovPos == 0) { - if (IS_WALKABLE_THROUGH(Feld[last_jx][last_jy])) + if (IS_PASSABLE(Feld[last_jx][last_jy])) { /* continue with normal speed after quickly moving through gate */ HALVE_PLAYER_SPEED(player); @@ -5706,7 +5706,7 @@ int DigField(struct PlayerInfo *player, if (IS_MOVING(x, y) || IS_PLAYER(x, y)) return MF_NO_ACTION; - if (IS_WALKABLE_THROUGH(Feld[jx][jy])) + if (IS_TUBE(Feld[jx][jy])) { int i = 0; int tube_leave_directions[][2] = diff --git a/src/init.c b/src/init.c index 9224bb64..02657be3 100644 --- a/src/init.c +++ b/src/init.c @@ -2069,24 +2069,24 @@ void InitElementProperties() EL_SP_PORT_RIGHT, EL_SP_PORT_UP, EL_SP_PORT_DOWN, + EL_SP_PORT_HORIZONTAL, + EL_SP_PORT_VERTICAL, + EL_SP_PORT_ANY, EL_SP_GRAVITY_PORT_LEFT, EL_SP_GRAVITY_PORT_RIGHT, EL_SP_GRAVITY_PORT_UP, EL_SP_GRAVITY_PORT_DOWN, - EL_SP_PORT_HORIZONTAL, - EL_SP_PORT_VERTICAL, - EL_SP_PORT_ANY, - EL_TUBE_ANY, - EL_TUBE_VERTICAL, - EL_TUBE_HORIZONTAL, - EL_TUBE_VERTICAL_LEFT, - EL_TUBE_VERTICAL_RIGHT, - EL_TUBE_HORIZONTAL_UP, - EL_TUBE_HORIZONTAL_DOWN, EL_TUBE_LEFT_UP, EL_TUBE_LEFT_DOWN, EL_TUBE_RIGHT_UP, EL_TUBE_RIGHT_DOWN, + EL_TUBE_HORIZONTAL, + EL_TUBE_HORIZONTAL_UP, + EL_TUBE_HORIZONTAL_DOWN, + EL_TUBE_VERTICAL, + EL_TUBE_VERTICAL_LEFT, + EL_TUBE_VERTICAL_RIGHT, + EL_TUBE_ANY, -1 }; @@ -2212,6 +2212,22 @@ void InitElementProperties() -1 }; + static int ep_tube[] = + { + EL_TUBE_LEFT_UP, + EL_TUBE_LEFT_DOWN, + EL_TUBE_RIGHT_UP, + EL_TUBE_RIGHT_DOWN, + EL_TUBE_HORIZONTAL, + EL_TUBE_HORIZONTAL_UP, + EL_TUBE_HORIZONTAL_DOWN, + EL_TUBE_VERTICAL, + EL_TUBE_VERTICAL_LEFT, + EL_TUBE_VERTICAL_RIGHT, + EL_TUBE_ANY, + -1 + }; + static struct { int *elements; @@ -2259,6 +2275,7 @@ void InitElementProperties() { ep_belt_switch, EP_BELT_SWITCH }, { ep_sp_element, EP_SP_ELEMENT }, { ep_has_content, EP_HAS_CONTENT }, + { ep_tube, EP_TUBE }, { NULL, -1 } }; diff --git a/src/main.h b/src/main.h index 656481d5..025e1b1c 100644 --- a/src/main.h +++ b/src/main.h @@ -60,7 +60,7 @@ #define IN_SCR_FIELD(x,y) ((x)>=BX1 && (x)<=BX2 && (y)>=BY1 &&(y)<=BY2) #define IN_LEV_FIELD(x,y) ((x)>=0 && (x)=0 &&(y)= EL_CUSTOM_START && \ (e) <= EL_CUSTOM_END)