-void RobotWheel(int x, int y)
-{
- if (!MovDelay[x][y]) /* next animation frame */
- MovDelay[x][y] = level.time_wheel * FRAMES_PER_SECOND;
-
- if (MovDelay[x][y]) /* wait some time before next frame */
- {
- MovDelay[x][y]--;
- if (MovDelay[x][y])
- {
- if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
- DrawGraphic(SCREENX(x), SCREENY(y), GFX_ABLENK+MovDelay[x][y]%4);
- if (!(MovDelay[x][y]%4))
- PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVE);
- return;
- }
- }
-
- Feld[x][y] = EL_ROBOT_WHEEL;
- DrawLevelField(x, y);
- if (ZX == x && ZY == y)
- ZX = ZY = -1;
-}
-
-void TimegateWheel(int x, int y)
-{
- if (!MovDelay[x][y]) /* next animation frame */
- MovDelay[x][y] = level.time_wheel * FRAMES_PER_SECOND;
-
- if (MovDelay[x][y]) /* wait some time before next frame */
- {
- MovDelay[x][y]--;
- if (MovDelay[x][y])
- {
- if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
- DrawGraphic(SCREENX(x), SCREENY(y),
- GFX_TIMEGATE_SWITCH + MovDelay[x][y]%4);
- if (!(MovDelay[x][y]%4))
- PlaySoundLevel(x, y, SND_TIMEGATE_WHEEL_ACTIVE);
- return;
- }
- }
-
- Feld[x][y] = EL_TIMEGATE_SWITCH_OFF;
- DrawLevelField(x, y);
- if (ZX == x && ZY == y)
- ZX = ZY = -1;
-}
-
-void Blubber(int x, int y)
-{
- if (y > 0 && IS_MOVING(x, y-1) && MovDir[x][y-1] == MV_DOWN)
- DrawLevelField(x, y-1);
- else
- DrawGraphicAnimation(x, y, GFX_GEBLUBBER, 4, 10, ANIM_NORMAL);
-}
-
-void NussKnacken(int x, int y)
-{
- if (!MovDelay[x][y]) /* next animation frame */
- MovDelay[x][y] = 7;
-
- if (MovDelay[x][y]) /* wait some time before next frame */
- {
- MovDelay[x][y]--;
- if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
- DrawGraphic(SCREENX(x), SCREENY(y),
- GFX_CRACKINGNUT + 3 - MovDelay[x][y]/2);
-
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_EMERALD;
- DrawLevelField(x, y);
- }
- }
-}
-
-void BreakingPearl(int x, int y)
-{
- if (!MovDelay[x][y]) /* next animation frame */
- MovDelay[x][y] = 9;
-
- if (MovDelay[x][y]) /* wait some time before next frame */
- {
- MovDelay[x][y]--;
- if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
- DrawGraphic(SCREENX(x), SCREENY(y),
- GFX_PEARL_BREAKING + 4 - MovDelay[x][y]/2);
-
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_EMPTY;
- DrawLevelField(x, y);
- }
- }
-}
-
-void SiebAktivieren(int x, int y, int typ)