if (element == EL_KETTLE || element == EL_CELL)
{
+ if (game_mm.kettles_still_needed > 0)
+ game_mm.kettles_still_needed--;
+
RaiseScore_MM(10);
if (game_mm.kettles_still_needed == 0)
MovDelay[x][y]--;
phase = MovDelay[x][y] / delay;
if (!(MovDelay[x][y] % delay) && IN_SCR_FIELD(x, y))
- DrawGraphic_MM(x, y, EL_EXIT_OPEN - phase);
+ DrawGraphicAnimation_MM(x, y, IMG_MM_EXIT_OPENING, 3 - phase);
if (!MovDelay[x][y])
{
graphic_phase += 4;
else
{
- graphic = GFX_EMPTY;
+ graphic = IMG_EMPTY;
graphic_phase = 0;
}
}
Feld[ELX][ELY] = 0;
Feld[x][y] = element;
- DrawGraphic_MM(ELX, ELY, -1);
+ DrawGraphic_MM(ELX, ELY, IMG_EMPTY);
DrawField_MM(x, y);
if (element == EL_BLOCK_STONE && Box[ELX][ELY])
{
static int p = -1;
int mx, my, ox, oy, nx, ny;
- int g, element;
+ int element;
int l;
if (++p >= game_mm.num_pacman)
game_mm.pacman[p].x = nx;
game_mm.pacman[p].y = ny;
- g = Feld[nx][ny] - EL_PACMAN_RIGHT;
+
DrawGraphic_MM(ox, oy, IMG_EMPTY);
if (element != EL_EMPTY)
{
+ int graphic = el2gfx(Feld[nx][ny]);
+ Bitmap *bitmap;
+ int src_x, src_y;
int i;
+ getGraphicSource(graphic, 0, &bitmap, &src_x, &src_y);
+
CT = Counter();
ox = SX + ox * TILEX;
oy = SY + oy * TILEY;
for(i=1; i<33; i+=2)
- {
-#if 1
- // !!! temporary fix to compile -- change to game graphics !!!
- BlitBitmap(drawto, window,
- SX + g * TILEX, SY + 4 * TILEY, TILEX, TILEY,
- ox + i * mx, oy + i * my);
-#else
- BlitBitmap(pix[PIX_BACK], window,
- SX + g * TILEX, SY + 4 * TILEY, TILEX, TILEY,
+ BlitBitmap(bitmap, window,
+ src_x, src_y, TILEX, TILEY,
ox + i * mx, oy + i * my);
-#endif
- }
Ct = Ct + Counter() - CT;
}
DrawField_MM(nx, ny);