X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ftools.c;h=ca2bbd5d2651d6217abdd5e46fc30f5afc9a007d;hb=8932f698c0831ab0e4ae2e03d64a48be1aeee82a;hp=e1ec84bd480dd9a172ed29da0b54275b99d73613;hpb=091030459bbdc406295bcb6d9ecc431081ff03db;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index e1ec84bd..ca2bbd5d 100644 --- a/src/tools.c +++ b/src/tools.c @@ -434,7 +434,10 @@ void DrawPlayer(struct PlayerInfo *player) if (Store[last_jx][last_jy] && IS_DRAWABLE(last_element)) { DrawLevelElement(last_jx, last_jy, Store[last_jx][last_jy]); - DrawLevelFieldThruMask(last_jx, last_jy); + if (last_element == EL_DYNAMITE_ACTIVE) + DrawDynamite(last_jx, last_jy); + else + DrawLevelFieldThruMask(last_jx, last_jy); } else if (last_element == EL_DYNAMITE_ACTIVE) DrawDynamite(last_jx, last_jy); @@ -467,6 +470,8 @@ void DrawPlayer(struct PlayerInfo *player) DrawLevelElement(jx, jy, Store[jx][jy]); else if (!IS_ACTIVE_BOMB(element)) DrawLevelField(jx, jy); + else + DrawLevelElement(jx, jy, EL_LEERRAUM); /* draw player himself */ @@ -1107,7 +1112,9 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, else if ((element == EL_FELSBROCKEN || element == EL_SP_ZONK || element == EL_BD_ROCK || - IS_GEM(element)) && !cut_mode) + element == EL_SP_INFOTRON || + IS_GEM(element)) + && !cut_mode) { if (uy >= lev_fieldy-1 || !IS_BELT(Feld[ux][uy+1])) { @@ -2275,13 +2282,6 @@ static struct } }; -#if 0 -static void DoNotDisplayInfoText(void *ptr) -{ - return; -} -#endif - void CreateToolButtons() { int i; @@ -2328,11 +2328,6 @@ void CreateToolButtons() GDI_DECORATION_SIZE, MINI_TILEX, MINI_TILEY, GDI_DECORATION_SHIFTING, 1, 1, GDI_EVENT_MASK, event_mask, - -#if 0 - GDI_CALLBACK_INFO, DoNotDisplayInfoText, -#endif - GDI_CALLBACK_ACTION, HandleToolButtons, GDI_END); @@ -2356,6 +2351,22 @@ static void HandleToolButtons(struct GadgetInfo *gi) request_gadget_id = gi->custom_id; } +int get_next_element(int element) +{ + switch(element) + { + case EL_QUICKSAND_FILLING: return EL_MORAST_VOLL; + case EL_QUICKSAND_EMPTYING: return EL_MORAST_LEER; + case EL_MAGIC_WALL_FILLING: return EL_MAGIC_WALL_FULL; + case EL_MAGIC_WALL_EMPTYING: return EL_MAGIC_WALL_EMPTY; + case EL_MAGIC_WALL_BD_FILLING: return EL_MAGIC_WALL_BD_FULL; + case EL_MAGIC_WALL_BD_EMPTYING: return EL_MAGIC_WALL_BD_EMPTY; + case EL_AMOEBA_DRIPPING: return EL_AMOEBE_NASS; + + default: return element; + } +} + int el2gfx(int element) { switch(element)