}
}
else if (element == EL_SP_ELECTRON)
- DrawGraphicAnimation(x, y, IMG_SP_ELECTRON);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SP_ELECTRON);
else if (element == EL_DRAGON)
{
int i;
element == EL_SP_SNIKSNAK || element == EL_MOLE)
DrawLevelField(x, y);
else if (element == EL_BD_BUTTERFLY || element == EL_BD_FIREFLY)
- DrawGraphicAnimation(x, y, el2img(element));
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), el2img(element));
else if (element == EL_SATELLITE)
- DrawGraphicAnimation(x, y, IMG_SATELLITE);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SATELLITE);
else if (element == EL_SP_ELECTRON)
- DrawGraphicAnimation(x, y, IMG_SP_ELECTRON);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SP_ELECTRON);
if (DONT_TOUCH(element))
TestIfBadThingTouchesHero(x, y);
if (!CAN_MOVE(element))
MovDir[newx][newy] = 0;
#else
+ /*
if (CAN_FALL(element) && MovDir[newx][newy] == MV_DOWN)
MovDir[newx][newy] = 0;
+ */
+
+ if (!CAN_MOVE(element) ||
+ (element == EL_SPRING && MovDir[newx][newy] == MV_DOWN))
+ MovDir[newx][newy] = 0;
#endif
DrawLevelField(x, y);
{
int graphic = (type == 1 ? IMG_MAGIC_WALL_FULL : IMG_BD_MAGIC_WALL_FULL);
- DrawGraphicAnimation(x, y, graphic);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
}
void AusgangstuerPruefen(int x, int y)
return;
if (Feld[x][y] == EL_BD_DIAMOND)
- DrawGraphicAnimation(x, y, IMG_BD_DIAMOND);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_BD_DIAMOND);
else
{
if (!MovDelay[x][y]) /* next animation frame */
#if 0
DrawGraphic(SCREENX(x), SCREENY(y), el2img(Feld[x][y]), 0);
#else
- DrawGraphicAnimation(x, y, el2img(Feld[x][y]));
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), el2img(Feld[x][y]));
#endif
if (MovDelay[x][y])
{
int graphic = el2img(element);
- DrawGraphicAnimation(x, y, graphic);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
if (!(FrameCounter % 2))
PlaySoundLevel(x, y, SND_CONVEYOR_BELT_ACTIVE);
if (Feld[x][y] == EL_EMERALD &&
new_graphic_info[IMG_EMERALD].anim_frames > 1 &&
!IS_MOVING(x, y))
- DrawGraphicAnimation(x, y, IMG_EMERALD);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_EMERALD);
#endif
if (IS_GEM(element) || element == EL_SP_INFOTRON)
else if (element == EL_TIMEGATE_SWITCH_ACTIVE)
TimegateWheel(x, y);
else if (element == EL_ACID)
- DrawGraphicAnimation(x, y, IMG_ACID);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_ACID);
else if (element == EL_ACID_SPLASH_LEFT ||
element == EL_ACID_SPLASH_RIGHT)
Blurb(x, y);
else if (element == EL_EXIT_OPENING)
AusgangstuerOeffnen(x, y);
else if (element == EL_EXIT_OPEN)
- DrawGraphicAnimation(x, y, IMG_EXIT_OPEN);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_EXIT_OPEN);
else if (element == EL_SP_EXIT_OPEN)
- DrawGraphicAnimation(x, y, IMG_SP_EXIT_OPEN);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SP_EXIT_OPEN);
else if (element == EL_WALL_GROWING_ACTIVE)
MauerWaechst(x, y);
else if (element == EL_WALL_GROWING ||
else if (element == EL_TRAP || element == EL_TRAP_ACTIVE)
CheckTrap(x, y);
else if (element == EL_SP_TERMINAL)
- DrawGraphicAnimation(x, y, IMG_SP_TERMINAL);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SP_TERMINAL);
else if (element == EL_SP_TERMINAL_ACTIVE)
- DrawGraphicAnimation(x, y, IMG_SP_TERMINAL_ACTIVE);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SP_TERMINAL_ACTIVE);
else if (IS_BELT_ACTIVE(element))
DrawBeltAnimation(x, y, element);
else if (element == EL_SWITCHGATE_OPENING)
else if (element == EL_TIMEGATE_CLOSING)
CloseTimegate(x, y);
else if (element == EL_EXTRA_TIME)
- DrawGraphicAnimation(x, y, IMG_EXTRA_TIME);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_EXTRA_TIME);
else if (element == EL_SHIELD_NORMAL)
- DrawGraphicAnimation(x, y, IMG_SHIELD_NORMAL);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SHIELD_NORMAL);
else if (element == EL_SHIELD_DEADLY)
- DrawGraphicAnimation(x, y, IMG_SHIELD_DEADLY);
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), IMG_SHIELD_DEADLY);
if (game.magic_wall_active)
{
void DrawGraphicAnimationExt(int x, int y, int graphic, int mask_mode)
{
-#if 0
- int delay = new_graphic_info[graphic].anim_delay;
-
- if (!(FrameCounter % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
-#else
- if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
-#endif
+ if (IN_SCR_FIELD(x, y))
{
int frame = getGraphicAnimationFrame(graphic, -1);
if (mask_mode == USE_MASKING)
- DrawGraphicThruMask(SCREENX(x), SCREENY(y), graphic, frame);
+ DrawGraphicThruMask(x, y, graphic, frame);
else
- DrawGraphic(SCREENX(x), SCREENY(y), graphic, frame);
+ DrawGraphic(x, y, graphic, frame);
}
}
-#if 0
-void DrawOldGraphicAnimation(int x, int y, int graphic,
- int frames, int delay, int mode)
-{
- DrawGraphicAnimationExt(x, y, graphic, frames, delay, mode, NO_MASKING);
-}
-#endif
-
void DrawGraphicAnimation(int x, int y, int graphic)
{
DrawGraphicAnimationExt(x, y, graphic, NO_MASKING);