#define NUM_GAME_BUTTONS 6
/* forward declaration for internal use */
+#if 0
static void ResetGfxAnimation(int, int);
+#endif
static void InitBeltMovement(void);
static void CloseAllOpenTimegates(void);
static void ResetRandomAnimationValue(int x, int y)
{
+ GfxRandom[x][y] = INIT_GFX_RANDOM();
+}
+
+static void ResetGfxAnimation(int x, int y)
+{
+#if 0
+#if 1
int element = Feld[x][y];
int graphic = el2img(element);
- /* reset random value not until one full delay cycle has reached */
+ /* reset random value not until one full delay cycle was reached */
if (ANIM_MODE(graphic) == ANIM_RANDOM &&
GfxFrame[x][y] > ANIM_DELAY(graphic))
- GfxRandom[x][y] = INIT_GFX_RANDOM();
-}
-
-static void ResetGfxAnimation(int x, int y)
-{
- ResetRandomAnimationValue(x, y);
+#endif
+ ResetRandomAnimationValue(x, y);
+#endif
GfxFrame[x][y] = 0;
GfxAction[x][y] = ACTION_DEFAULT;
{
Feld[x][y] = EL_AMOEBA_CREATING;
Store[x][y] = EL_AMOEBA_WET;
+
+ ResetRandomAnimationValue(x, y);
}
return;
}
EL_BD_MAGIC_WALL_FILLING);
Store[x][y] = element;
}
+#if 0
else if (CAN_SMASH(element) && Feld[x][y+1] == EL_ACID)
+#else
+ else if (CAN_FALL(element) && Feld[x][y+1] == EL_ACID)
+#endif
{
SplashAcid(x, y);
MovDelay[x][y] = changing_element[element].change_delay + 1;
ResetGfxAnimation(x, y);
+ ResetRandomAnimationValue(x, y);
if (changing_element[element].pre_change_function)
changing_element[element].pre_change_function(x, y);
Feld[x][y] = changing_element[element].next_element;
ResetGfxAnimation(x, y);
+ ResetRandomAnimationValue(x, y);
DrawLevelField(x, y);
#endif
if (ANIM_MODE(graphic) == ANIM_RANDOM &&
- IS_NEW_FRAME(GfxFrame[x][y], graphic))
+ IS_NEXT_FRAME(GfxFrame[x][y], graphic))
ResetRandomAnimationValue(x, y);
SetRandomAnimationValue(x, y);
if (game.magic_wall_active)
{
- boolean sieb = FALSE;
int jx = local_player->jx, jy = local_player->jy;
/* play the element sound at the position nearest to the player */
MovDelay[jx][jy] = 96;
ResetGfxAnimation(jx, jy);
+ ResetRandomAnimationValue(jx, jy);
if (player->dynamite)
{