Feld[x][y] = EL_SP_MURPHY_CLONE;
break;
}
+
+ Feld[x][y] = EL_PLAYER1;
}
/* no break! */
case EL_PLAYER1:
redraw_mask |= REDRAW_FROM_BACKBUFFER;
/* copy default game door content to main double buffer */
- BlitBitmap(pix[PIX_DOOR], drawto,
+ BlitBitmap(new_graphic_info[IMG_MENU_DOOR].bitmap, drawto,
DOOR_GFX_PAGEX5, DOOR_GFX_PAGEY1, DXSIZE, DYSIZE, DX, DY);
if (level_nr < 100)
MapTapeButtons();
/* copy actual game door content to door double buffer for OpenDoor() */
- BlitBitmap(drawto, pix[PIX_DB_DOOR],
+ BlitBitmap(drawto, bitmap_db_door,
DX, DY, DXSIZE, DYSIZE, DOOR_GFX_PAGEX1, DOOR_GFX_PAGEY1);
OpenDoor(DOOR_OPEN_ALL);
if (IS_PLAYER(x, y) && !PLAYERINFO(x,y)->present)
StorePlayer[x][y] = 0;
}
- else if (!(phase % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ else if (phase >= delay && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
{
- int graphic = IMG_EXPLOSION;
- int frame = (phase / delay - 1);
-
- if (game.emulation == EMU_SUPAPLEX)
- graphic = (Store[x][y] == EL_SP_INFOTRON ?
- IMG_SP_EXPLOSION_INFOTRON :
- IMG_SP_EXPLOSION);
+ int stored = Store[x][y];
+ int graphic = (game.emulation != EMU_SUPAPLEX ? IMG_EXPLOSION :
+ stored == EL_SP_INFOTRON ? IMG_SP_EXPLOSION_INFOTRON :
+ IMG_SP_EXPLOSION);
+ int frame = getGraphicAnimationFrame(graphic, phase - delay);
if (phase == delay)
DrawCrumbledSand(SCREENX(x), SCREENY(y));
int element = Feld[x][y];
int old_move_dir = MovDir[x][y];
- int left_dir = turn[old_move_dir].left;
+ int left_dir = turn[old_move_dir].left;
int right_dir = turn[old_move_dir].right;
- int back_dir = turn[old_move_dir].back;
+ int back_dir = turn[old_move_dir].back;
- int left_dx = move_xy[left_dir].x, left_dy = move_xy[left_dir].y;
- int right_dx = move_xy[right_dir].x, right_dy = move_xy[right_dir].y;
- int move_dx = move_xy[old_move_dir].x, move_dy = move_xy[old_move_dir].y;
- int back_dx = move_xy[back_dir].x, back_dy = move_xy[back_dir].y;
+ int left_dx = move_xy[left_dir].x, left_dy = move_xy[left_dir].y;
+ int right_dx = move_xy[right_dir].x, right_dy = move_xy[right_dir].y;
+ int move_dx = move_xy[old_move_dir].x, move_dy = move_xy[old_move_dir].y;
+ int back_dx = move_xy[back_dir].x, back_dy = move_xy[back_dir].y;
- int left_x = x+left_dx, left_y = y+left_dy;
- int right_x = x+right_dx, right_y = y+right_dy;
- int move_x = x+move_dx, move_y = y+move_dy;
+ int left_x = x + left_dx, left_y = y + left_dy;
+ int right_x = x + right_dx, right_y = y + right_dy;
+ int move_x = x + move_dx, move_y = y + move_dy;
if (element == EL_BUG || element == EL_BD_BUTTERFLY)
{
MovDir[x][y] = game.balloon_dir;
MovDelay[x][y] = 0;
}
- else if (element == EL_SPRING_MOVING)
+ else if (element == EL_SPRING)
{
- if (!IN_LEV_FIELD(move_x, move_y) || !IS_FREE(move_x, move_y) ||
- (IN_LEV_FIELD(x, y+1) && IS_FREE(x, y+1)))
- {
- Feld[x][y] = EL_SPRING;
+ if ((MovDir[x][y] == MV_LEFT || MovDir[x][y] == MV_RIGHT) &&
+ (!IN_LEV_FIELD(move_x, move_y) || !IS_FREE(move_x, move_y) ||
+ (IN_LEV_FIELD(x, y + 1) && IS_FREE(x, y + 1))))
MovDir[x][y] = MV_NO_MOVING;
- }
+
MovDelay[x][y] = 0;
}
- else if (element == EL_ROBOT || element == EL_SATELLITE || element == EL_PENGUIN)
+ else if (element == EL_ROBOT ||
+ element == EL_SATELLITE ||
+ element == EL_PENGUIN)
{
int attr_x = -1, attr_y = -1;
}
}
}
- else if (CAN_MOVE(element))
+
+ if (CAN_MOVE(element)) /* not "else if" because of EL_SPRING */
{
int newx, newy;
- if ((element == EL_SATELLITE || element == EL_BALLOON ||
- element == EL_SPRING_MOVING)
+ if ((element == EL_SATELLITE ||
+ element == EL_BALLOON ||
+ element == EL_SPRING)
&& JustBeingPushed(x, y))
return;
+ if (element == EL_SPRING && MovDir[x][y] == MV_DOWN)
+ Feld[x][y + 1] = EL_EMPTY; /* was set to EL_BLOCKED above */
+
if (!MovDelay[x][y]) /* start new movement phase */
{
/* all objects that can change their move direction after each step */
/* (MAMPFER, MAMPFER2 and PACMAN go straight until they hit a wall */
- if (element!=EL_YAMYAM && element!=EL_DARK_YAMYAM && element!=EL_PACMAN)
+ if (element != EL_YAMYAM &&
+ element != EL_DARK_YAMYAM &&
+ element != EL_PACMAN)
{
+#if 0
+ if (element == EL_SPRING)
+ printf("1--> %d\n", MovDir[x][y]);
+#endif
TurnRound(x, y);
-
+#if 0
+ if (element == EL_SPRING)
+ printf("2--> %d\n", MovDir[x][y]);
+#endif
if (MovDelay[x][y] && (element == EL_BUG ||
element == EL_SPACESHIP ||
element == EL_SP_SNIKSNAK ||
}
}
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);
int direction = MovDir[x][y];
int dx = (direction == MV_LEFT ? -1 : direction == MV_RIGHT ? +1 : 0);
int dy = (direction == MV_UP ? -1 : direction == MV_DOWN ? +1 : 0);
- int horiz_move = (dx!=0);
+ int horiz_move = (dx != 0);
int newx = x + dx, newy = y + dy;
int step = (horiz_move ? dx : dy) * TILEX / 8;
else if (CAN_FALL(element) && horiz_move &&
y < lev_fieldy-1 && IS_BELT_ACTIVE(Feld[x][y+1]))
step /= 2;
- else if (element == EL_SPRING_MOVING)
- step*=2;
+ else if (element == EL_SPRING && horiz_move)
+ step *= 2;
#if OLD_GAME_BEHAVIOUR
else if (CAN_FALL(element) && horiz_move && !IS_SP_ELEMENT(element))
GfxAction[newx][newy] = GfxAction[x][y]; /* keep action one frame */
GfxAction[x][y] = GFX_ACTION_DEFAULT;
+#if 0
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);
DrawLevelField(newx, newy);
DrawGraphic(SCREENX(x), SCREENY(y), IMG_ROBOT_WHEEL_ACTIVE, frame);
}
- if (!(MovDelay[x][y]%4))
- PlaySoundLevel(x, y, SND_ROBOT_WHEEL_ACTIVE);
+ 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;
}
DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_SWITCH_ACTIVE, frame);
}
- if (!(MovDelay[x][y]%4))
- PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVE);
+ PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVE);
+
return;
}
}
Feld[x][y] = EL_TIMEGATE_SWITCH;
DrawLevelField(x, y);
+
+ /* !!! THIS LOOKS WRONG !!! */
if (ZX == x && ZY == y)
ZX = ZY = -1;
}
-void Blubber(int x, int y)
-{
- DrawGraphicAnimation(x, y, IMG_ACID);
-}
-
void NussKnacken(int x, int y)
{
if (!MovDelay[x][y]) /* next animation frame */
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)))
+ if (MovDelay[x][y])
{
- int frame = getGraphicAnimationFrame(IMG_NUT_CRACKING,
- 6 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_NUT_CRACKING,
+ 6 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_NUT_CRACKING, frame);
- }
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_NUT_CRACKING, frame);
+ }
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_EMERALD;
- DrawLevelField(x, y);
+ return;
}
}
+
+ Feld[x][y] = EL_EMERALD;
+ DrawLevelField(x, y);
}
void BreakingPearl(int x, int y)
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)))
+ if (MovDelay[x][y])
{
- int frame = getGraphicAnimationFrame(IMG_PEARL_BREAKING,
- 8 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_PEARL_BREAKING,
+ 8 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_PEARL_BREAKING, frame);
- }
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_PEARL_BREAKING, frame);
+ }
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_EMPTY;
- DrawLevelField(x, y);
+ return;
}
}
+
+ Feld[x][y] = EL_EMPTY;
+ DrawLevelField(x, y);
}
void SiebAktivieren(int x, int y, int type)
{
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)
int tuer;
MovDelay[x][y]--;
- tuer = MovDelay[x][y]/delay;
- if (!(MovDelay[x][y]%delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ tuer = MovDelay[x][y] / delay;
+
+ if (!(MovDelay[x][y] % delay))
{
- int frame = getGraphicAnimationFrame(IMG_EXIT_OPENING,
- 29 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_EXIT_OPENING,
+ 29 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_EXIT_OPENING, frame);
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_EXIT_OPENING, frame);
+ }
}
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_EXIT_OPEN;
- DrawLevelField(x, y);
- }
+ if (MovDelay[x][y])
+ return;
}
-}
-void AusgangstuerBlinken(int x, int y)
-{
- DrawGraphicAnimation(x, y, IMG_EXIT_OPEN);
+ Feld[x][y] = EL_EXIT_OPEN;
+ DrawLevelField(x, y);
}
void OpenSwitchgate(int x, int y)
{
MovDelay[x][y]--;
- if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ if (!(MovDelay[x][y] % delay))
{
- int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_OPENING,
- 29 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_OPENING,
+ 29 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_OPENING, frame);
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_OPENING, frame);
+ }
}
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_SWITCHGATE_OPEN;
- DrawLevelField(x, y);
- }
+ if (MovDelay[x][y])
+ return;
}
+
+ Feld[x][y] = EL_SWITCHGATE_OPEN;
+ DrawLevelField(x, y);
}
void CloseSwitchgate(int x, int y)
{
MovDelay[x][y]--;
- if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ if (!(MovDelay[x][y] % delay))
{
- int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_CLOSING,
- 29 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_SWITCHGATE_CLOSING,
+ 29 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_CLOSING, frame);
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_SWITCHGATE_CLOSING, frame);
+ }
}
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_SWITCHGATE_CLOSED;
- DrawLevelField(x, y);
- }
+ if (MovDelay[x][y])
+ return;
}
+
+ Feld[x][y] = EL_SWITCHGATE_CLOSED;
+ DrawLevelField(x, y);
}
void OpenTimegate(int x, int y)
{
MovDelay[x][y]--;
- if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ if (!(MovDelay[x][y] % delay))
{
- int frame = getGraphicAnimationFrame(IMG_TIMEGATE_OPENING,
- 29 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_TIMEGATE_OPENING,
+ 29 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_OPENING, frame);
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_OPENING, frame);
+ }
}
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_TIMEGATE_OPEN;
- DrawLevelField(x, y);
- }
+ if (MovDelay[x][y])
+ return;
}
+
+ Feld[x][y] = EL_TIMEGATE_OPEN;
+ DrawLevelField(x, y);
}
void CloseTimegate(int x, int y)
{
MovDelay[x][y]--;
- if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ if (!(MovDelay[x][y] % delay))
{
- int frame = getGraphicAnimationFrame(IMG_TIMEGATE_CLOSING,
- 29 - MovDelay[x][y]);
+ if (IN_SCR_FIELD(SCREENX(x), SCREENY(y)))
+ {
+ int frame = getGraphicAnimationFrame(IMG_TIMEGATE_CLOSING,
+ 29 - MovDelay[x][y]);
- DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_CLOSING, frame);
+ DrawGraphic(SCREENX(x), SCREENY(y), IMG_TIMEGATE_CLOSING, frame);
+ }
}
- if (!MovDelay[x][y])
- {
- Feld[x][y] = EL_TIMEGATE_CLOSED;
- DrawLevelField(x, y);
- }
+ if (MovDelay[x][y])
+ return;
}
+
+ Feld[x][y] = EL_TIMEGATE_CLOSED;
+ DrawLevelField(x, y);
}
static void CloseAllOpenTimegates()
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 (setup.direct_draw && MovDelay[x][y])
SetDrawtoField(DRAW_BUFFERED);
+#if 0
DrawGraphic(SCREENX(x), SCREENY(y), el2img(Feld[x][y]), 0);
+#else
+ 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);
static unsigned long action_delay = 0;
unsigned long action_delay_value;
int sieb_x = 0, sieb_y = 0;
- int i, x, y, element;
+ int i, x, y, element, graphic;
byte *recorded_player_action;
byte summarized_player_action = 0;
for (y=0; y<lev_fieldy; y++) for (x=0; x<lev_fieldx; x++)
{
element = Feld[x][y];
+ graphic = el2img(element);
if (IS_INACTIVE(element))
+ {
+
+#if 1
+ if (new_graphic_info[graphic].anim_frames > 1)
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
+#endif
+
continue;
+ }
if (!IS_MOVING(x, y) && (CAN_FALL(element) || CAN_MOVE(element)))
{
StartMoving(x, y);
+#if 1
+ if (Feld[x][y] == EL_EMERALD &&
+ new_graphic_info[graphic].anim_frames > 1 &&
+ !IS_MOVING(x, y))
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
+#endif
+
if (IS_GEM(element) || element == EL_SP_INFOTRON)
EdelsteinFunkeln(x, y);
}
+
+#if 1
+ else if ((element == EL_ACID ||
+ element == EL_EXIT_OPEN ||
+ element == EL_SP_EXIT_OPEN ||
+ element == EL_SP_TERMINAL ||
+ element == EL_SP_TERMINAL_ACTIVE ||
+ element == EL_EXTRA_TIME ||
+ element == EL_SHIELD_NORMAL ||
+ element == EL_SHIELD_DEADLY) &&
+ new_graphic_info[graphic].anim_frames > 1)
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
+#endif
+
else if (IS_MOVING(x, y))
ContinueMoving(x, y);
else if (IS_ACTIVE_BOMB(element))
RobotWheel(x, y);
else if (element == EL_TIMEGATE_SWITCH_ACTIVE)
TimegateWheel(x, y);
- else if (element == EL_ACID)
- Blubber(x, y);
else if (element == EL_ACID_SPLASH_LEFT ||
element == EL_ACID_SPLASH_RIGHT)
Blurb(x, y);
AusgangstuerPruefen_SP(x, y);
else if (element == EL_EXIT_OPENING)
AusgangstuerOeffnen(x, y);
- else if (element == EL_EXIT_OPEN)
- AusgangstuerBlinken(x, y);
- else if (element == EL_SP_EXIT_OPEN)
- ; /* !!! ADD SOME (OPTIONAL) ANIMATIONS HERE !!! */
else if (element == EL_WALL_GROWING_ACTIVE)
MauerWaechst(x, y);
else if (element == EL_WALL_GROWING ||
CheckBuggyBase(x, y);
else if (element == EL_TRAP || element == EL_TRAP_ACTIVE)
CheckTrap(x, y);
- else if (element == EL_SP_TERMINAL)
- DrawGraphicAnimation(x, y, IMG_SP_TERMINAL);
- else if (element == EL_SP_TERMINAL_ACTIVE)
- {
- DrawGraphicAnimation(x, y, IMG_SP_TERMINAL_ACTIVE);
-
-#if 0
- if (!(FrameCounter % 4))
- PlaySoundLevel(x, y, SND_SP_TERMINAL_ACTIVE);
-#endif
- }
else if (IS_BELT_ACTIVE(element))
DrawBeltAnimation(x, y, element);
else if (element == EL_SWITCHGATE_OPENING)
OpenTimegate(x, y);
else if (element == EL_TIMEGATE_CLOSING)
CloseTimegate(x, y);
- else if (element == EL_EXTRA_TIME)
- DrawGraphicAnimation(x, y, IMG_EXTRA_TIME);
- else if (element == EL_SHIELD_NORMAL)
- {
- DrawGraphicAnimation(x, y, IMG_SHIELD_NORMAL);
-#if 0
- if (!(FrameCounter % 4))
- PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED);
-#endif
- }
- else if (element == EL_SHIELD_DEADLY)
- {
- DrawGraphicAnimation(x, y, IMG_SHIELD_DEADLY);
-
-#if 0
- if (!(FrameCounter % 4))
- PlaySoundLevel(x, y, SND_SHIELD_DEADLY_ACTIVE);
+#if 1
+ else if (new_graphic_info[graphic].anim_frames > 1)
+ DrawGraphicAnimation(SCREENX(x), SCREENY(y), graphic);
#endif
- }
if (game.magic_wall_active)
{
else
{
RemoveField(x, y);
- Feld[x+dx][y+dy] = element;
+ Feld[x + dx][y + dy] = element;
}
if (element == EL_SPRING)
{
- Feld[x+dx][y+dy] = EL_SPRING_MOVING;
- MovDir[x+dx][y+dy] = move_direction;
+ Feld[x + dx][y + dy] = EL_SPRING;
+ MovDir[x + dx][y + dy] = move_direction;
}
player->push_delay_value = (element == EL_SPRING ? 0 : 2 + RND(8));
for (i=0; i<NUM_GAME_BUTTONS; i++)
{
- Bitmap *gd_bitmap = pix[PIX_DOOR];
+ Bitmap *gd_bitmap = new_graphic_info[IMG_MENU_DOOR].bitmap;
struct GadgetInfo *gi;
int button_type;
boolean checked;