-#define COMPILE_DATE_STRING "[2002-09-21 01:01]"
+#define COMPILE_DATE_STRING "[2002-09-21 01:19]"
EL_STEELWALL,
EL_BD_WALL,
- EL_MAGIC_WALL_BD_OFF,
+ EL_BD_MAGIC_WALL,
EL_EXIT_CLOSED,
EL_EXIT_OPEN,
EL_BD_DIAMOND,
- EL_BUTTERFLY_UP,
- EL_FIREFLY_UP,
+ EL_BD_BUTTERFLY_UP,
+ EL_BD_FIREFLY_UP,
EL_BD_ROCK,
- EL_BUTTERFLY_LEFT,
- EL_FIREFLY_LEFT,
- EL_BUTTERFLY_RIGHT,
- EL_FIREFLY_RIGHT,
+ EL_BD_BUTTERFLY_LEFT,
+ EL_BD_FIREFLY_LEFT,
+ EL_BD_BUTTERFLY_RIGHT,
+ EL_BD_FIREFLY_RIGHT,
EL_BD_AMOEBA,
- EL_BUTTERFLY_DOWN,
- EL_FIREFLY_DOWN,
+ EL_BD_BUTTERFLY_DOWN,
+ EL_BD_FIREFLY_DOWN,
EL_EMPTY,
EL_CHAR('E'),
EL_GATE3_GRAY,
EL_GATE4_GRAY,
- EL_ARROW_LEFT,
- EL_ARROW_RIGHT,
- EL_ARROW_UP,
- EL_ARROW_DOWN,
+ EL_ARROW_BLUE_LEFT,
+ EL_ARROW_BLUE_RIGHT,
+ EL_ARROW_BLUE_UP,
+ EL_ARROW_BLUE_DOWN,
EL_AMOEBA_FULL,
EL_EMERALD_YELLOW,
EL_EMPTY,
EL_MOLE_DOWN,
EL_BALLOON,
- EL_BALLOON_SEND_ANY,
+ EL_BALLOON_SEND_ANY_DIRECTION,
EL_BALLOON_SEND_LEFT,
EL_BALLOON_SEND_RIGHT,
EL_CHAR('A'),
EL_CHAR('N'),
- EL_SOKOBAN_OBJEKT,
- EL_SOKOBAN_FELD_LEER,
- EL_SOKOBAN_FELD_VOLL,
+ EL_SOKOBAN_OBJECT,
+ EL_SOKOBAN_FIELD_EMPTY,
+ EL_SOKOBAN_FIELD_FULL,
EL_STEELWALL,
EL_CHAR('S'),
EL_SP_PORT_XY,
EL_SP_ELECTRON,
- EL_SP_BUG,
+ EL_SP_BUGGY_BASE,
EL_SP_CHIP_LEFT,
EL_SP_CHIP_RIGHT,
EL_TIMEGATE_CLOSED,
EL_TIMEGATE_OPEN,
- EL_TIMEGATE_SWITCH_OFF,
+ EL_TIMEGATE_SWITCH,
EL_EMPTY,
EL_LANDMINE,
- EL_SAND_INVISIBLE,
+ EL_INVISIBLE_SAND,
EL_STEELWALL_SLANTED,
EL_EMPTY,
EL_LIGHT_SWITCH_ACTIVE,
EL_SHIELD_NORMAL,
- EL_SHIELD_ACTIVE,
+ EL_SHIELD_DEADLY,
EL_EXTRA_TIME,
EL_EMPTY,
EL_SPRING,
EL_TUBE_RIGHT_DOWN,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_DOWN,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_CROSS,
- EL_TUBE_VERT_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_ALL,
+ EL_TUBE_VERTICAL_LEFT,
EL_TUBE_VERTICAL,
EL_TUBE_RIGHT_UP,
- EL_TUBE_HORIZ_UP,
+ EL_TUBE_HORIZONTAL_UP,
EL_TUBE_LEFT_UP,
- EL_TRAP_INACTIVE,
+ EL_TRAP,
EL_DX_SUPABOMB,
EL_EMPTY,
EL_EMPTY,
{ EL_BUG_UP, &level.score[SC_KAEFER], TEXT_SMASHING },
{ EL_BUG_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING },
{ EL_BUG_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_RIGHT,&level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_UP, &level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_LEFT,&level.score[SC_KAEFER], TEXT_SMASHING },
- { EL_BUTTERFLY_DOWN,&level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_RIGHT,&level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_UP, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING },
+ { EL_BD_BUTTERFLY_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING },
{ EL_SPACESHIP_RIGHT,&level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_SPACESHIP_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_SPACESHIP_LEFT,&level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_SPACESHIP_DOWN,&level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_RIGHT, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING },
- { EL_FIREFLY_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_SPACESHIP_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_RIGHT,&level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_UP, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING },
+ { EL_BD_FIREFLY_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING },
{ EL_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING },
{ EL_DARK_YAMYAM, &level.score[SC_MAMPFER], TEXT_SMASHING },
{ EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING },
case EL_SPACESHIP_LEFT:
case EL_SPACESHIP_DOWN:
case EL_SPACESHIP:
- case EL_BUTTERFLY_RIGHT:
- case EL_BUTTERFLY_UP:
- case EL_BUTTERFLY_LEFT:
- case EL_BUTTERFLY_DOWN:
- case EL_BUTTERFLY:
- case EL_FIREFLY_RIGHT:
- case EL_FIREFLY_UP:
- case EL_FIREFLY_LEFT:
- case EL_FIREFLY_DOWN:
- case EL_FIREFLY:
+ case EL_BD_BUTTERFLY_RIGHT:
+ case EL_BD_BUTTERFLY_UP:
+ case EL_BD_BUTTERFLY_LEFT:
+ case EL_BD_BUTTERFLY_DOWN:
+ case EL_BD_BUTTERFLY:
+ case EL_BD_FIREFLY_RIGHT:
+ case EL_BD_FIREFLY_UP:
+ case EL_BD_FIREFLY_LEFT:
+ case EL_BD_FIREFLY_DOWN:
+ case EL_BD_FIREFLY:
case EL_PACMAN_RIGHT:
case EL_PACMAN_UP:
case EL_PACMAN_LEFT:
case EL_AMOEBA_DROP:
if (y == lev_fieldy - 1)
{
- Feld[x][y] = EL_AMOEBING;
+ Feld[x][y] = EL_AMOEBA_CREATING;
Store[x][y] = EL_AMOEBA_WET;
}
break;
local_player->lights_still_needed++;
break;
- case EL_SOKOBAN_FELD_LEER:
+ case EL_SOKOBAN_FIELD_EMPTY:
local_player->sokobanfields_still_needed++;
break;
~EP_BIT_EM_SLIPPERY_WALL;
}
- /* "EL_MAUERND" was not slippery for EM gems in version 2.0.1 */
+ /* "EL_WALL_GROWING_ACTIVE" wasn't slippery for EM gems in version 2.0.1 */
if (level.em_slippery_gems && game.engine_version > VERSION_IDENT(2,0,1))
- Elementeigenschaften2[EL_MAUERND] |= EP_BIT_EM_SLIPPERY_WALL;
+ Elementeigenschaften2[EL_WALL_GROWING_ACTIVE] |= EP_BIT_EM_SLIPPERY_WALL;
else
- Elementeigenschaften2[EL_MAUERND] &= ~EP_BIT_EM_SLIPPERY_WALL;
+ Elementeigenschaften2[EL_WALL_GROWING_ACTIVE] &=~EP_BIT_EM_SLIPPERY_WALL;
}
}
MovDir[x][y] = direction[0][element - EL_SPACESHIP_RIGHT];
break;
- case EL_BUTTERFLY_RIGHT:
- case EL_BUTTERFLY_UP:
- case EL_BUTTERFLY_LEFT:
- case EL_BUTTERFLY_DOWN:
- Feld[x][y] = EL_BUTTERFLY;
- MovDir[x][y] = direction[0][element - EL_BUTTERFLY_RIGHT];
+ case EL_BD_BUTTERFLY_RIGHT:
+ case EL_BD_BUTTERFLY_UP:
+ case EL_BD_BUTTERFLY_LEFT:
+ case EL_BD_BUTTERFLY_DOWN:
+ Feld[x][y] = EL_BD_BUTTERFLY;
+ MovDir[x][y] = direction[0][element - EL_BD_BUTTERFLY_RIGHT];
break;
- case EL_FIREFLY_RIGHT:
- case EL_FIREFLY_UP:
- case EL_FIREFLY_LEFT:
- case EL_FIREFLY_DOWN:
- Feld[x][y] = EL_FIREFLY;
- MovDir[x][y] = direction[0][element - EL_FIREFLY_RIGHT];
+ case EL_BD_FIREFLY_RIGHT:
+ case EL_BD_FIREFLY_UP:
+ case EL_BD_FIREFLY_LEFT:
+ case EL_BD_FIREFLY_DOWN:
+ Feld[x][y] = EL_BD_FIREFLY;
+ MovDir[x][y] = direction[0][element - EL_BD_FIREFLY_RIGHT];
break;
case EL_PACMAN_RIGHT:
MovDir[x][y] = 1 << RND(4);
if (element != EL_BUG &&
element != EL_SPACESHIP &&
- element != EL_BUTTERFLY &&
- element != EL_FIREFLY)
+ element != EL_BD_BUTTERFLY &&
+ element != EL_BD_FIREFLY)
break;
for (i=0; i<4; i++)
if (!IN_LEV_FIELD(x1, y1) || !IS_FREE(x1, y1))
{
- if (element == EL_BUG || element == EL_BUTTERFLY)
+ if (element == EL_BUG || element == EL_BD_BUTTERFLY)
{
MovDir[x][y] = direction[0][i];
break;
}
- else if (element == EL_SPACESHIP || element == EL_FIREFLY ||
+ else if (element == EL_SPACESHIP || element == EL_BD_FIREFLY ||
element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON)
{
MovDir[x][y] = direction[1][i];
if (Feld[x][y] == EL_BLOCKED &&
(Feld[oldx][oldy] == EL_QUICKSAND_EMPTYING ||
Feld[oldx][oldy] == EL_MAGIC_WALL_EMPTYING ||
- Feld[oldx][oldy] == EL_MAGIC_WALL_BD_EMPTYING ||
+ Feld[oldx][oldy] == EL_BD_MAGIC_WALL_EMPTYING ||
Feld[oldx][oldy] == EL_AMOEBA_DRIPPING))
Feld[oldx][oldy] = get_next_element(Feld[oldx][oldy]);
else
RemoveMovingField(x, y);
}
- if (IS_MASSIVE(element) || element == EL_BURNING)
+ if (IS_MASSIVE(element) || element == EL_DRAGON_FIRE)
continue;
if (IS_PLAYER(x, y) && SHIELD_ON(PLAYERINFO(x, y)))
continue;
}
- if (element == EL_EXPLODING)
+ if (element == EL_EXPLOSION)
element = Store2[x][y];
if (IS_PLAYER(ex, ey) && !PLAYER_PROTECTED(ex, ey))
Store[x][y] = EL_EMERALD_PURPLE;
else if (center_element == EL_BUG)
Store[x][y] = ((x == ex && y == ey) ? EL_DIAMOND : EL_EMERALD);
- else if (center_element == EL_BUTTERFLY)
+ else if (center_element == EL_BD_BUTTERFLY)
Store[x][y] = EL_BD_DIAMOND;
else if (center_element == EL_SP_ELECTRON)
Store[x][y] = EL_SP_INFOTRON;
if (AmoebaNr[x][y] &&
(element == EL_AMOEBA_FULL ||
element == EL_BD_AMOEBA ||
- element == EL_AMOEBING))
+ element == EL_AMOEBA_CREATING))
{
AmoebaCnt[AmoebaNr[x][y]]--;
AmoebaCnt2[AmoebaNr[x][y]]--;
}
- Feld[x][y] = EL_EXPLODING;
+ Feld[x][y] = EL_EXPLOSION;
MovDir[x][y] = MovPos[x][y] = 0;
AmoebaNr[x][y] = 0;
Frame[x][y] = 1;
element = Feld[x][y];
/* do not restart explosions of fields with active bombs */
- if (element == EL_EXPLODING && IS_ACTIVE_BOMB(Store2[x][y]))
+ if (element == EL_EXPLOSION && IS_ACTIVE_BOMB(Store2[x][y]))
continue;
Explode(x, y, EX_PHASE_START, EX_BORDER);
if (element != EL_EMPTY &&
element != EL_SAND &&
- element != EL_EXPLODING &&
+ element != EL_EXPLOSION &&
!dynabomb_xl)
break;
}
{
case EL_BUG:
case EL_SPACESHIP:
- case EL_BUTTERFLY:
- case EL_FIREFLY:
+ case EL_BD_BUTTERFLY:
+ case EL_BD_FIREFLY:
case EL_YAMYAM:
case EL_DARK_YAMYAM:
case EL_ROBOT:
{
int element = Feld[x][y];
- if (element != EL_BLURB_LEFT && element != EL_BLURB_RIGHT) /* start */
+ if (element != EL_ACID_SPLASHING_LEFT &&
+ element != EL_ACID_SPLASHING_RIGHT) /* start */
{
PlaySoundLevel(x, y, SND_ACID_SPLASHING);
if (IN_LEV_FIELD(x-1, y) && IS_FREE(x-1, y) &&
(!IN_LEV_FIELD(x-1, y-1) ||
!CAN_FALL(MovingOrBlocked2Element(x-1, y-1))))
{
- Feld[x-1][y] = EL_BLURB_LEFT;
+ Feld[x-1][y] = EL_ACID_SPLASHING_LEFT;
}
if (IN_LEV_FIELD(x+1, y) && IS_FREE(x+1, y) &&
(!IN_LEV_FIELD(x+1, y-1) ||
!CAN_FALL(MovingOrBlocked2Element(x+1, y-1))))
{
- Feld[x+1][y] = EL_BLURB_RIGHT;
+ Feld[x+1][y] = EL_ACID_SPLASHING_RIGHT;
}
}
else /* go on */
{
- int graphic = (element==EL_BLURB_LEFT ? GFX_BLURB_LEFT : GFX_BLURB_RIGHT);
+ int graphic =
+ (element == EL_ACID_SPLASHING_LEFT ? GFX_BLURB_LEFT : GFX_BLURB_RIGHT);
if (!MovDelay[x][y]) /* initialize animation counter */
MovDelay[x][y] = 9;
if (element == EL_INVISIBLE_STEELWALL ||
element == EL_INVISIBLE_WALL ||
- element == EL_SAND_INVISIBLE)
+ element == EL_INVISIBLE_SAND)
DrawLevelField(x, y);
}
}
}
/*
- else if (element == EL_TIMEGATE_SWITCH_ON)
+ else if (element == EL_TIMEGATE_SWITCH_ACTIVE)
{
- Feld[xx][yy] = EL_TIMEGATE_SWITCH_OFF;
+ Feld[xx][yy] = EL_TIMEGATE_SWITCH;
DrawLevelField(xx, yy);
}
*/
}
}
- Feld[x][y] = EL_TIMEGATE_SWITCH_ON;
+ Feld[x][y] = EL_TIMEGATE_SWITCH_ACTIVE;
}
void Impact(int x, int y)
Bang(x, y+1);
else
{
- Feld[x][y] = EL_AMOEBING;
+ Feld[x][y] = EL_AMOEBA_CREATING;
Store[x][y] = EL_AMOEBA_WET;
}
return;
if (!lastline && object_hit) /* check which object was hit */
{
if (CAN_CHANGE(element) &&
- (smashed == EL_MAGIC_WALL || smashed == EL_MAGIC_WALL_BD_OFF))
+ (smashed == EL_MAGIC_WALL || smashed == EL_BD_MAGIC_WALL))
{
int xx, yy;
int activated_magic_wall =
(smashed == EL_MAGIC_WALL ? EL_MAGIC_WALL_EMPTY :
- EL_MAGIC_WALL_BD_EMPTY);
+ EL_BD_MAGIC_WALL_EMPTY);
/* activate magic wall / mill */
for (yy=0; yy<lev_fieldy; yy++)
/* play sound of magic wall / mill */
if (!lastline &&
(Feld[x][y+1] == EL_MAGIC_WALL_EMPTY ||
- Feld[x][y+1] == EL_MAGIC_WALL_BD_EMPTY))
+ Feld[x][y+1] == EL_BD_MAGIC_WALL_EMPTY))
{
if (Feld[x][y+1] == EL_MAGIC_WALL_EMPTY)
PlaySoundLevel(x, y, SND_MAGIC_WALL_CHANGING);
- else if (Feld[x][y+1] == EL_MAGIC_WALL_BD_EMPTY)
+ else if (Feld[x][y+1] == EL_BD_MAGIC_WALL_EMPTY)
PlaySoundLevel(x, y, SND_BD_MAGIC_WALL_CHANGING);
return;
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_BUTTERFLY)
+ if (element == EL_BUG || element == EL_BD_BUTTERFLY)
{
TestIfBadThingTouchesOtherBadThing(x, y);
if (element == EL_BUG && MovDir[x][y] != old_move_dir)
MovDelay[x][y] = 9;
- else if (element == EL_BUTTERFLY) /* && MovDir[x][y] == left_dir) */
+ else if (element == EL_BD_BUTTERFLY) /* && MovDir[x][y] == left_dir) */
MovDelay[x][y] = 1;
}
- else if (element == EL_SPACESHIP || element == EL_FIREFLY ||
+ else if (element == EL_SPACESHIP || element == EL_BD_FIREFLY ||
element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON)
{
TestIfBadThingTouchesOtherBadThing(x, y);
element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON)
&& MovDir[x][y] != old_move_dir)
MovDelay[x][y] = 9;
- else if (element == EL_FIREFLY) /* && MovDir[x][y] == right_dir) */
+ else if (element == EL_BD_FIREFLY) /* && MovDir[x][y] == right_dir) */
MovDelay[x][y] = 1;
}
else if (element == EL_YAMYAM)
if (IN_LEV_FIELD(move_x, move_y) &&
(IS_FREE(move_x, move_y) || IS_AMOEBOID(Feld[move_x][move_y]) ||
- Feld[move_x][move_y] == EL_DEAMOEBING))
+ Feld[move_x][move_y] == EL_AMOEBA_SHRINKING))
can_move_on = TRUE;
if (!can_move_on)
Store[x][y] = 0;
}
}
- else if (element == EL_MAGIC_WALL_BD_FULL)
+ else if (element == EL_BD_MAGIC_WALL_FULL)
{
if (IS_FREE(x, y+1))
{
InitMovingField(x, y, MV_DOWN);
- Feld[x][y] = EL_MAGIC_WALL_BD_EMPTYING;
+ Feld[x][y] = EL_BD_MAGIC_WALL_EMPTYING;
Store[x][y] = EL_CHANGED2(Store[x][y]);
}
- else if (Feld[x][y+1] == EL_MAGIC_WALL_BD_EMPTY)
+ else if (Feld[x][y+1] == EL_BD_MAGIC_WALL_EMPTY)
{
if (!MovDelay[x][y])
MovDelay[x][y] = TILEY/4 + 1;
return;
}
- Feld[x][y] = EL_MAGIC_WALL_BD_EMPTY;
- Feld[x][y+1] = EL_MAGIC_WALL_BD_FULL;
+ Feld[x][y] = EL_BD_MAGIC_WALL_EMPTY;
+ Feld[x][y+1] = EL_BD_MAGIC_WALL_FULL;
Store[x][y+1] = EL_CHANGED2(Store[x][y]);
Store[x][y] = 0;
}
}
else if (CAN_CHANGE(element) &&
(Feld[x][y+1] == EL_MAGIC_WALL_EMPTY ||
- Feld[x][y+1] == EL_MAGIC_WALL_BD_EMPTY))
+ Feld[x][y+1] == EL_BD_MAGIC_WALL_EMPTY))
{
InitMovingField(x, y, MV_DOWN);
Feld[x][y] =
(Feld[x][y+1] == EL_MAGIC_WALL_EMPTY ? EL_MAGIC_WALL_FILLING :
- EL_MAGIC_WALL_BD_FILLING);
+ EL_BD_MAGIC_WALL_FILLING);
Store[x][y] = element;
}
else if (CAN_SMASH(element) && Feld[x][y+1] == EL_ACID)
}
else if (element == EL_AMOEBA_DROP)
{
- Feld[x][y] = EL_AMOEBING;
+ Feld[x][y] = EL_AMOEBA_CREATING;
Store[x][y] = EL_AMOEBA_WET;
}
/* Store[x][y+1] must be zero, because:
int sx = SCREENX(xx), sy = SCREENY(yy);
if (!IN_LEV_FIELD(xx, yy) ||
- IS_SOLID(Feld[xx][yy]) || Feld[xx][yy] == EL_EXPLODING)
+ IS_SOLID(Feld[xx][yy]) || Feld[xx][yy] == EL_EXPLOSION)
break;
if (MovDelay[x][y])
else
RemoveMovingField(xx, yy);
- Feld[xx][yy] = EL_BURNING;
+ Feld[xx][yy] = EL_DRAGON_FIRE;
if (IN_SCR_FIELD(sx, sy))
DrawGraphic(sx, sy, graphic + phase*3 + i-1);
}
else
{
- if (Feld[xx][yy] == EL_BURNING)
+ if (Feld[xx][yy] == EL_DRAGON_FIRE)
Feld[xx][yy] = EL_EMPTY;
DrawLevelField(xx, yy);
}
if ((wanna_flame || IS_ENEMY(element1) || IS_ENEMY(element2)) &&
element1 != EL_DRAGON && element2 != EL_DRAGON &&
- element1 != EL_BURNING && element2 != EL_BURNING)
+ element1 != EL_DRAGON_FIRE && element2 != EL_DRAGON_FIRE)
{
if (IS_PLAYER(x, y))
DrawPlayerField(x, y);
PlaySoundLevel(x, y, SND_DRAGON_ATTACKING);
MovDelay[x][y] = 50;
- Feld[newx][newy] = EL_BURNING;
+ Feld[newx][newy] = EL_DRAGON_FIRE;
if (IN_LEV_FIELD(newx1, newy1) && Feld[newx1][newy1] == EL_EMPTY)
- Feld[newx1][newy1] = EL_BURNING;
+ Feld[newx1][newy1] = EL_DRAGON_FIRE;
if (IN_LEV_FIELD(newx2, newy2) && Feld[newx2][newy2] == EL_EMPTY)
- Feld[newx2][newy2] = EL_BURNING;
+ Feld[newx2][newy2] = EL_DRAGON_FIRE;
return;
}
}
if (element == EL_MOLE)
{
- Feld[newx][newy] = EL_DEAMOEBING;
+ Feld[newx][newy] = EL_AMOEBA_SHRINKING;
PlaySoundLevel(x, y, SND_MOLE_EATING);
MovDelay[newx][newy] = 0; /* start amoeba shrinking delay */
return; /* wait for shrinking amoeba */
}
}
else if (element == EL_MOLE && IN_LEV_FIELD(newx, newy) &&
- (Feld[newx][newy] == EL_DEAMOEBING ||
+ (Feld[newx][newy] == EL_AMOEBA_SHRINKING ||
(Feld[newx][newy] == EL_EMPTY && Stop[newx][newy])))
{
/* wait for shrinking amoeba to completely disappear */
#else
DrawNewLevelField(x, y);
#endif
- else if (element == EL_BUTTERFLY || element == EL_FIREFLY)
+ else if (element == EL_BD_BUTTERFLY || element == EL_BD_FIREFLY)
#if 0
DrawGraphicAnimation(x, y, el2gfx(element), 2, 4, ANIM_NORMAL);
#else
element == EL_QUICKSAND_EMPTYING)
step /= 4;
else if (element == EL_MAGIC_WALL_FILLING ||
- element == EL_MAGIC_WALL_BD_FILLING ||
+ element == EL_BD_MAGIC_WALL_FILLING ||
element == EL_MAGIC_WALL_EMPTYING ||
- element == EL_MAGIC_WALL_BD_EMPTYING)
+ element == EL_BD_MAGIC_WALL_EMPTYING)
step /= 2;
else if (CAN_FALL(element) && horiz_move &&
y < lev_fieldy-1 && IS_BELT(Feld[x][y+1]))
Feld[x][y] = EL_MAGIC_WALL_DEAD;
element = Feld[newx][newy] = Store[x][y];
}
- else if (element == EL_MAGIC_WALL_BD_FILLING)
+ else if (element == EL_BD_MAGIC_WALL_FILLING)
{
element = Feld[newx][newy] = get_next_element(element);
if (!game.magic_wall_active)
- element = Feld[newx][newy] = EL_MAGIC_WALL_BD_DEAD;
+ element = Feld[newx][newy] = EL_BD_MAGIC_WALL_DEAD;
Store[newx][newy] = Store[x][y];
}
- else if (element == EL_MAGIC_WALL_BD_EMPTYING)
+ else if (element == EL_BD_MAGIC_WALL_EMPTYING)
{
Feld[x][y] = get_next_element(element);
if (!game.magic_wall_active)
- Feld[x][y] = EL_MAGIC_WALL_BD_DEAD;
+ Feld[x][y] = EL_BD_MAGIC_WALL_DEAD;
element = Feld[newx][newy] = Store[x][y];
}
else if (element == EL_AMOEBA_DRIPPING)
if (AmoebaNr[x][y] == group_nr &&
(Feld[x][y] == EL_AMOEBA_DEAD ||
Feld[x][y] == EL_BD_AMOEBA ||
- Feld[x][y] == EL_AMOEBING))
+ Feld[x][y] == EL_AMOEBA_CREATING))
{
AmoebaNr[x][y] = 0;
Feld[x][y] = new_element;
if (element != EL_AMOEBA_WET || neway < ay || !IS_FREE(newax, neway) ||
(neway == lev_fieldy - 1 && newax != ax))
{
- Feld[newax][neway] = EL_AMOEBING; /* simple growth of new amoeba tile */
+ Feld[newax][neway] = EL_AMOEBA_CREATING; /* creation of new amoeba */
Store[newax][neway] = element;
}
else if (neway == ay)
{
- Feld[newax][neway] = EL_AMOEBA_DROP; /* drop left or right from amoeba */
+ Feld[newax][neway] = EL_AMOEBA_DROP; /* drop left/right of amoeba */
PlaySoundLevel(newax, neway, SND_AMOEBA_DROP_CREATING);
}
else
{
- InitMovingField(ax, ay, MV_DOWN); /* drop dripping out of amoeba */
+ InitMovingField(ax, ay, MV_DOWN); /* drop dripping from amoeba */
Feld[ax][ay] = EL_AMOEBA_DRIPPING;
Store[ax][ay] = EL_AMOEBA_DROP;
ContinueMoving(ax, ay);
DrawGraphic(SCREENX(x), SCREENY(y),
GFX_TIMEGATE_SWITCH + MovDelay[x][y]%4);
if (!(MovDelay[x][y]%4))
- PlaySoundLevel(x, y, SND_TIMEGATE_WHEEL_ACTIVE);
+ PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVE);
return;
}
}
- Feld[x][y] = EL_TIMEGATE_SWITCH_OFF;
+ Feld[x][y] = EL_TIMEGATE_SWITCH;
DrawLevelField(x, y);
if (ZX == x && ZY == y)
ZX = ZY = -1;
local_player->lights_still_needed > 0)
return;
- Feld[x][y] = EL_AUSGANG_ACT;
+ Feld[x][y] = EL_EXIT_OPENING;
PlaySoundLevel(x < LEVELX(BX1) ? LEVELX(BX1) :
(x > LEVELX(BX2) ? LEVELX(BX2) : x),
{
if (oben_frei)
{
- Feld[ax][ay-1] = EL_MAUERND;
+ Feld[ax][ay-1] = EL_WALL_GROWING_ACTIVE;
Store[ax][ay-1] = element;
MovDir[ax][ay-1] = MV_UP;
if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay-1)))
}
if (unten_frei)
{
- Feld[ax][ay+1] = EL_MAUERND;
+ Feld[ax][ay+1] = EL_WALL_GROWING_ACTIVE;
Store[ax][ay+1] = element;
MovDir[ax][ay+1] = MV_DOWN;
if (IN_SCR_FIELD(SCREENX(ax), SCREENY(ay+1)))
{
if (links_frei)
{
- Feld[ax-1][ay] = EL_MAUERND;
+ Feld[ax-1][ay] = EL_WALL_GROWING_ACTIVE;
Store[ax-1][ay] = element;
MovDir[ax-1][ay] = MV_LEFT;
if (IN_SCR_FIELD(SCREENX(ax-1), SCREENY(ay)))
if (rechts_frei)
{
- Feld[ax+1][ay] = EL_MAUERND;
+ Feld[ax+1][ay] = EL_WALL_GROWING_ACTIVE;
Store[ax+1][ay] = element;
MovDir[ax+1][ay] = MV_RIGHT;
if (IN_SCR_FIELD(SCREENX(ax+1), SCREENY(ay)))
int xx = x + j*xy[i][0], yy = y + j*xy[i][1];
if (IN_LEV_FIELD(xx, yy) &&
- (Feld[xx][yy] == EL_BURNING || Feld[xx][yy] == EL_DRAGON))
+ (Feld[xx][yy] == EL_DRAGON_FIRE || Feld[xx][yy] == EL_DRAGON))
{
if (Feld[xx][yy] == EL_DRAGON)
dragon_found = TRUE;
{
int xx = x + j*xy[i][0], yy = y + j*xy[i][1];
- if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_BURNING)
+ if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_DRAGON_FIRE)
{
Feld[xx][yy] = EL_EMPTY;
DrawLevelField(xx, yy);
{
int element = Feld[x][y];
- if (element == EL_SP_BUG)
+ if (element == EL_SP_BUGGY_BASE)
{
if (!MovDelay[x][y]) /* wait some time before activating base */
MovDelay[x][y] = 2 * FRAMES_PER_SECOND + RND(5 * FRAMES_PER_SECOND);
if (MovDelay[x][y])
return;
- Feld[x][y] = EL_SP_BUG_ACTIVE;
+ Feld[x][y] = EL_SP_BUGGY_BASE_ACTIVE;
}
}
- else if (element == EL_SP_BUG_ACTIVE)
+ else if (element == EL_SP_BUGGY_BASE_ACTIVE)
{
if (!MovDelay[x][y]) /* start activating buggy base */
MovDelay[x][y] = 1 * FRAMES_PER_SECOND + RND(1 * FRAMES_PER_SECOND);
return;
}
- Feld[x][y] = EL_SP_BUG;
+ Feld[x][y] = EL_SP_BUGGY_BASE;
DrawLevelField(x, y);
}
}
{
int element = Feld[x][y];
- if (element == EL_TRAP_INACTIVE)
+ if (element == EL_TRAP)
{
if (!MovDelay[x][y]) /* wait some time before activating trap */
MovDelay[x][y] = 2 * FRAMES_PER_SECOND + RND(5 * FRAMES_PER_SECOND);
return;
}
- Feld[x][y] = EL_TRAP_INACTIVE;
+ Feld[x][y] = EL_TRAP;
DrawLevelField(x, y);
}
}
else if (IS_ACTIVE_BOMB(element))
CheckDynamite(x, y);
#if 0
- else if (element == EL_EXPLODING && !game.explosions_delayed)
+ else if (element == EL_EXPLOSION && !game.explosions_delayed)
Explode(x, y, Frame[x][y], EX_NORMAL);
#endif
- else if (element == EL_AMOEBING)
+ else if (element == EL_AMOEBA_CREATING)
AmoebeWaechst(x, y);
- else if (element == EL_DEAMOEBING)
+ else if (element == EL_AMOEBA_SHRINKING)
AmoebaDisappearing(x, y);
#if !USE_NEW_AMOEBA_CODE
Life(x, y);
else if (element == EL_ROBOT_WHEEL_ACTIVE)
RobotWheel(x, y);
- else if (element == EL_TIMEGATE_SWITCH_ON)
+ else if (element == EL_TIMEGATE_SWITCH_ACTIVE)
TimegateWheel(x, y);
else if (element == EL_ACID)
Blubber(x, y);
- else if (element == EL_BLURB_LEFT || element == EL_BLURB_RIGHT)
+ else if (element == EL_ACID_SPLASHING_LEFT ||
+ element == EL_ACID_SPLASHING_RIGHT)
Blurb(x, y);
else if (element == EL_CRACKINGNUT)
NussKnacken(x, y);
AusgangstuerPruefen(x, y);
else if (element == EL_SP_EXIT_CLOSED)
AusgangstuerPruefen_SP(x, y);
- else if (element == EL_AUSGANG_ACT)
+ 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_MAUERND)
+ else if (element == EL_WALL_GROWING_ACTIVE)
MauerWaechst(x, y);
else if (element == EL_WALL_GROWING ||
element == EL_WALL_GROWING_X ||
element == EL_WALL_GROWING_Y ||
element == EL_WALL_GROWING_XY)
MauerAbleger(x, y);
- else if (element == EL_BURNING)
+ else if (element == EL_DRAGON_FIRE)
CheckForDragon(x, y);
- else if (element == EL_SP_BUG || element == EL_SP_BUG_ACTIVE)
+ else if (element == EL_SP_BUGGY_BASE || element == EL_SP_BUGGY_BASE_ACTIVE)
CheckBuggyBase(x, y);
- else if (element == EL_TRAP_INACTIVE || element == EL_TRAP_ACTIVE)
+ else if (element == EL_TRAP || element == EL_TRAP_ACTIVE)
CheckTrap(x, y);
else if (element == EL_SP_TERMINAL)
DrawGraphicAnimation(x, y, GFX2_SP_TERMINAL, 7, 12, ANIM_NORMAL);
PlaySoundLevel(x, y, SND_SHIELD_PASSIVE_ACTIVATED);
#endif
}
- else if (element == EL_SHIELD_ACTIVE)
+ else if (element == EL_SHIELD_DEADLY)
{
DrawGraphicAnimation(x, y, GFX_SHIELD_ACTIVE, 6, 4, ANIM_NORMAL);
#if 0
SiebAktivieren(x, y, 1);
sieb = TRUE;
}
- else if (element == EL_MAGIC_WALL_BD_FULL ||
- element == EL_MAGIC_WALL_BD_EMPTY ||
- element == EL_MAGIC_WALL_BD_EMPTYING)
+ else if (element == EL_BD_MAGIC_WALL_FULL ||
+ element == EL_BD_MAGIC_WALL_EMPTY ||
+ element == EL_BD_MAGIC_WALL_EMPTYING)
{
SiebAktivieren(x, y, 2);
sieb = TRUE;
(element == EL_EMPTY ||
element == EL_SAND ||
element == EL_QUICKSAND_EMPTY ||
- element == EL_BLURB_LEFT ||
- element == EL_BLURB_RIGHT))
+ element == EL_ACID_SPLASHING_LEFT ||
+ element == EL_ACID_SPLASHING_RIGHT))
{
if ((IN_LEV_FIELD(x, y-1) && Feld[x][y-1] == EL_AMOEBA_WET) ||
(IN_LEV_FIELD(x-1, y) && Feld[x-1][y] == EL_AMOEBA_WET) ||
if (ExplodeField[x][y])
Explode(x, y, EX_PHASE_START, ExplodeField[x][y]);
- else if (element == EL_EXPLODING)
+ else if (element == EL_EXPLOSION)
Explode(x, y, Frame[x][y], EX_NORMAL);
ExplodeField[x][y] = EX_NO_EXPLOSION;
{
int element = Feld[sieb_x][sieb_y];
- if (element == EL_MAGIC_WALL_BD_FULL ||
- element == EL_MAGIC_WALL_BD_EMPTY ||
- element == EL_MAGIC_WALL_BD_EMPTYING)
+ if (element == EL_BD_MAGIC_WALL_FULL ||
+ element == EL_BD_MAGIC_WALL_EMPTY ||
+ element == EL_BD_MAGIC_WALL_EMPTYING)
PlaySoundLevel(sieb_x, sieb_y, SND_BD_MAGIC_WALL_ACTIVE);
else
PlaySoundLevel(sieb_x, sieb_y, SND_MAGIC_WALL_ACTIVE);
Feld[x][y] = EL_MAGIC_WALL_DEAD;
DrawLevelField(x, y);
}
- else if (element == EL_MAGIC_WALL_BD_EMPTY ||
- element == EL_MAGIC_WALL_BD_FULL)
+ else if (element == EL_BD_MAGIC_WALL_EMPTY ||
+ element == EL_BD_MAGIC_WALL_FULL)
{
- Feld[x][y] = EL_MAGIC_WALL_BD_DEAD;
+ Feld[x][y] = EL_BD_MAGIC_WALL_DEAD;
DrawLevelField(x, y);
}
}
}
else if (element == EL_INVISIBLE_STEELWALL ||
element == EL_INVISIBLE_WALL ||
- element == EL_SAND_INVISIBLE)
+ element == EL_INVISIBLE_SAND)
DrawLevelField(x, y);
}
}
MV_DOWN
};
- if (bad_element == EL_EXPLODING) /* skip just exploding bad things */
+ if (bad_element == EL_EXPLOSION) /* skip just exploding bad things */
return;
for (i=0; i<4; i++)
element = Feld[x][y];
if (IS_AMOEBOID(element) || element == EL_GAMEOFLIFE ||
- element == EL_AMOEBING || element == EL_AMOEBA_DROP)
+ element == EL_AMOEBA_CREATING || element == EL_AMOEBA_DROP)
{
kill_x = x;
kill_y = y;
int i = 0;
int tube_leave_directions[][2] =
{
- { EL_TUBE_CROSS, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
- { EL_TUBE_VERTICAL, MV_UP | MV_DOWN },
- { EL_TUBE_HORIZONTAL, MV_LEFT | MV_RIGHT },
- { EL_TUBE_VERT_LEFT, MV_LEFT | MV_UP | MV_DOWN },
- { EL_TUBE_VERT_RIGHT, MV_RIGHT | MV_UP | MV_DOWN },
- { EL_TUBE_HORIZ_UP, MV_LEFT | MV_RIGHT | MV_UP },
- { EL_TUBE_HORIZ_DOWN, MV_LEFT | MV_RIGHT | MV_DOWN },
- { EL_TUBE_LEFT_UP, MV_LEFT | MV_UP },
- { EL_TUBE_LEFT_DOWN, MV_LEFT | MV_DOWN },
- { EL_TUBE_RIGHT_UP, MV_RIGHT | MV_UP },
- { EL_TUBE_RIGHT_DOWN, MV_RIGHT | MV_DOWN },
- { -1, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN }
+ { EL_TUBE_ALL, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
+ { EL_TUBE_VERTICAL, MV_UP | MV_DOWN },
+ { EL_TUBE_HORIZONTAL, MV_LEFT | MV_RIGHT },
+ { EL_TUBE_VERTICAL_LEFT, MV_LEFT | MV_UP | MV_DOWN },
+ { EL_TUBE_VERTICAL_RIGHT, MV_RIGHT | MV_UP | MV_DOWN },
+ { EL_TUBE_HORIZONTAL_UP, MV_LEFT | MV_RIGHT | MV_UP },
+ { EL_TUBE_HORIZONTAL_DOWN, MV_LEFT | MV_RIGHT | MV_DOWN },
+ { EL_TUBE_LEFT_UP, MV_LEFT | MV_UP },
+ { EL_TUBE_LEFT_DOWN, MV_LEFT | MV_DOWN },
+ { EL_TUBE_RIGHT_UP, MV_RIGHT | MV_UP },
+ { EL_TUBE_RIGHT_DOWN, MV_RIGHT | MV_DOWN },
+ { -1, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN }
};
while (tube_leave_directions[i][0] != Feld[jx][jy])
{
case EL_EMPTY:
case EL_SAND:
- case EL_SAND_INVISIBLE:
- case EL_TRAP_INACTIVE:
+ case EL_INVISIBLE_SAND:
+ case EL_TRAP:
case EL_SP_BASE:
- case EL_SP_BUG:
+ case EL_SP_BUGGY_BASE:
RemoveField(x, y);
PlaySoundLevelElementAction(x, y, element, SND_ACTION_DIGGING);
break;
PlaySoundLevel(x, y, SND_SHIELD_NORMAL_COLLECTING);
break;
- case EL_SHIELD_ACTIVE:
+ case EL_SHIELD_DEADLY:
RemoveField(x, y);
player->shield_passive_time_left += 10;
player->shield_active_time_left += 10;
RemoveField(x, y);
player->key[key_nr] = TRUE;
- RaiseScoreElement(EL_KEY);
+ RaiseScoreElement(element);
DrawMiniGraphicExt(drawto, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
GFX_SCHLUESSEL1 + key_nr);
DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
RemoveField(x, y);
player->key[key_nr] = TRUE;
- RaiseScoreElement(EL_KEY);
+ RaiseScoreElement(element);
DrawMiniGraphicExt(drawto, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
GFX_SCHLUESSEL1 + key_nr);
DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS,
return MF_ACTION;
break;
- case EL_TIMEGATE_SWITCH_OFF:
+ case EL_TIMEGATE_SWITCH:
ActivateTimegateSwitch(x, y);
- PlaySoundLevel(x, y, SND_TIMEGATE_WHEEL_ACTIVATING);
+ PlaySoundLevel(x, y, SND_TIMEGATE_SWITCH_ACTIVATING);
return MF_ACTION;
break;
case EL_BALLOON_SEND_RIGHT:
case EL_BALLOON_SEND_UP:
case EL_BALLOON_SEND_DOWN:
- case EL_BALLOON_SEND_ANY:
- if (element == EL_BALLOON_SEND_ANY)
+ case EL_BALLOON_SEND_ANY_DIRECTION:
+ if (element == EL_BALLOON_SEND_ANY_DIRECTION)
game.balloon_dir = move_direction;
else
game.balloon_dir = (element == EL_BALLOON_SEND_LEFT ? MV_LEFT :
PlaySoundLevel(x, y, SND_SP_PORT_PASSING);
break;
- case EL_TUBE_CROSS:
+ case EL_TUBE_ALL:
case EL_TUBE_VERTICAL:
case EL_TUBE_HORIZONTAL:
- case EL_TUBE_VERT_LEFT:
- case EL_TUBE_VERT_RIGHT:
- case EL_TUBE_HORIZ_UP:
- case EL_TUBE_HORIZ_DOWN:
+ case EL_TUBE_VERTICAL_LEFT:
+ case EL_TUBE_VERTICAL_RIGHT:
+ case EL_TUBE_HORIZONTAL_UP:
+ case EL_TUBE_HORIZONTAL_DOWN:
case EL_TUBE_LEFT_UP:
case EL_TUBE_LEFT_DOWN:
case EL_TUBE_RIGHT_UP:
int i = 0;
int tube_enter_directions[][2] =
{
- { EL_TUBE_CROSS, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
- { EL_TUBE_VERTICAL, MV_UP | MV_DOWN },
- { EL_TUBE_HORIZONTAL, MV_LEFT | MV_RIGHT },
- { EL_TUBE_VERT_LEFT, MV_RIGHT | MV_UP | MV_DOWN },
- { EL_TUBE_VERT_RIGHT, MV_LEFT | MV_UP | MV_DOWN },
- { EL_TUBE_HORIZ_UP, MV_LEFT | MV_RIGHT | MV_DOWN },
- { EL_TUBE_HORIZ_DOWN, MV_LEFT | MV_RIGHT | MV_UP },
- { EL_TUBE_LEFT_UP, MV_RIGHT | MV_DOWN },
- { EL_TUBE_LEFT_DOWN, MV_RIGHT | MV_UP },
- { EL_TUBE_RIGHT_UP, MV_LEFT | MV_DOWN },
- { EL_TUBE_RIGHT_DOWN, MV_LEFT | MV_UP },
- { -1, MV_NO_MOVING }
+ { EL_TUBE_ALL, MV_LEFT | MV_RIGHT | MV_UP | MV_DOWN },
+ { EL_TUBE_VERTICAL, MV_UP | MV_DOWN },
+ { EL_TUBE_HORIZONTAL, MV_LEFT | MV_RIGHT },
+ { EL_TUBE_VERTICAL_LEFT, MV_RIGHT | MV_UP | MV_DOWN },
+ { EL_TUBE_VERTICAL_RIGHT, MV_LEFT | MV_UP | MV_DOWN },
+ { EL_TUBE_HORIZONTAL_UP, MV_LEFT | MV_RIGHT | MV_DOWN },
+ { EL_TUBE_HORIZONTAL_DOWN, MV_LEFT | MV_RIGHT | MV_UP },
+ { EL_TUBE_LEFT_UP, MV_RIGHT | MV_DOWN },
+ { EL_TUBE_LEFT_DOWN, MV_RIGHT | MV_UP },
+ { EL_TUBE_RIGHT_UP, MV_LEFT | MV_DOWN },
+ { EL_TUBE_RIGHT_DOWN, MV_LEFT | MV_UP },
+ { -1, MV_NO_MOVING }
};
while (tube_enter_directions[i][0] != element)
case EL_EXIT_CLOSED:
case EL_SP_EXIT_CLOSED:
- case EL_AUSGANG_ACT:
+ case EL_EXIT_OPENING:
return MF_NO_ACTION;
break;
return MF_ACTION;
break;
- case EL_SOKOBAN_FELD_LEER:
+ case EL_SOKOBAN_FIELD_EMPTY:
break;
- case EL_SOKOBAN_OBJEKT:
- case EL_SOKOBAN_FELD_VOLL:
+ case EL_SOKOBAN_OBJECT:
+ case EL_SOKOBAN_FIELD_FULL:
case EL_SATELLITE:
case EL_SP_DISK_YELLOW:
case EL_BALLOON:
if (!IN_LEV_FIELD(x+dx, y+dy)
|| (!IS_FREE(x+dx, y+dy)
- && (Feld[x+dx][y+dy] != EL_SOKOBAN_FELD_LEER
+ && (Feld[x+dx][y+dy] != EL_SOKOBAN_FIELD_EMPTY
|| !IS_SB_ELEMENT(element))))
return MF_NO_ACTION;
if (IS_SB_ELEMENT(element))
{
- if (element == EL_SOKOBAN_FELD_VOLL)
+ if (element == EL_SOKOBAN_FIELD_FULL)
{
- Feld[x][y] = EL_SOKOBAN_FELD_LEER;
+ Feld[x][y] = EL_SOKOBAN_FIELD_EMPTY;
local_player->sokobanfields_still_needed++;
}
else
RemoveField(x, y);
- if (Feld[x+dx][y+dy] == EL_SOKOBAN_FELD_LEER)
+ if (Feld[x+dx][y+dy] == EL_SOKOBAN_FIELD_EMPTY)
{
- Feld[x+dx][y+dy] = EL_SOKOBAN_FELD_VOLL;
+ Feld[x+dx][y+dy] = EL_SOKOBAN_FIELD_FULL;
local_player->sokobanfields_still_needed--;
- if (element == EL_SOKOBAN_OBJEKT)
+ if (element == EL_SOKOBAN_OBJECT)
PlaySoundLevel(x, y, SND_SOKOBAN_FIELD_FILLING);
else
PlaySoundLevel(x, y, SND_SOKOBAN_OBJECT_PUSHING);
}
else
{
- Feld[x+dx][y+dy] = EL_SOKOBAN_OBJEKT;
- if (element == EL_SOKOBAN_FELD_VOLL)
+ Feld[x+dx][y+dy] = EL_SOKOBAN_OBJECT;
+ if (element == EL_SOKOBAN_FIELD_FULL)
PlaySoundLevel(x, y, SND_SOKOBAN_FIELD_EMPTYING);
else
PlaySoundLevel(x, y, SND_SOKOBAN_OBJECT_PUSHING);
element = Feld[jx][jy];
if ((player->dynamite == 0 && player->dynabombs_left == 0) ||
- IS_ACTIVE_BOMB(element) || element == EL_EXPLODING)
+ IS_ACTIVE_BOMB(element) || element == EL_EXPLOSION)
return FALSE;
if (element != EL_EMPTY)
RaiseScore(level.score[SC_DIAMANT]);
break;
case EL_BUG:
- case EL_BUTTERFLY:
+ case EL_BD_BUTTERFLY:
RaiseScore(level.score[SC_KAEFER]);
break;
case EL_SPACESHIP:
- case EL_FIREFLY:
+ case EL_BD_FIREFLY:
RaiseScore(level.score[SC_FLIEGER]);
break;
case EL_YAMYAM:
case EL_DYNAMITE:
RaiseScore(level.score[SC_DYNAMIT]);
break;
- case EL_KEY:
+ case EL_KEY1:
+ case EL_KEY2:
+ case EL_KEY3:
+ case EL_KEY4:
RaiseScore(level.score[SC_SCHLUESSEL]);
break;
default:
{ EL_WALL, GFX_MAUERWERK },
{ EL_WALL_CRUMBLED, GFX_FELSBODEN },
{ EL_ROCK, GFX_FELSBROCKEN },
- { EL_KEY, GFX_SCHLUESSEL },
{ EL_EMERALD, GFX_EDELSTEIN },
{ EL_EXIT_CLOSED, GFX_AUSGANG_ZU },
- { EL_AUSGANG_ACT, GFX_AUSGANG_ACT },
+ { EL_EXIT_OPENING, GFX_AUSGANG_ACT },
{ EL_EXIT_OPEN, GFX_AUSGANG_AUF },
{ EL_SP_EXIT_OPEN, GFX_SP_EXIT },
{ EL_PLAYER, GFX_SPIELFIGUR },
{ EL_SPACESHIP_UP, GFX_FLIEGER_UP },
{ EL_SPACESHIP_LEFT, GFX_FLIEGER_LEFT },
{ EL_SPACESHIP_DOWN, GFX_FLIEGER_DOWN },
- { EL_BUTTERFLY, GFX_BUTTERFLY },
- { EL_BUTTERFLY_RIGHT, GFX_BUTTERFLY_RIGHT },
- { EL_BUTTERFLY_UP, GFX_BUTTERFLY_UP },
- { EL_BUTTERFLY_LEFT, GFX_BUTTERFLY_LEFT },
- { EL_BUTTERFLY_DOWN, GFX_BUTTERFLY_DOWN },
- { EL_FIREFLY, GFX_FIREFLY },
- { EL_FIREFLY_RIGHT, GFX_FIREFLY_RIGHT },
- { EL_FIREFLY_UP, GFX_FIREFLY_UP },
- { EL_FIREFLY_LEFT, GFX_FIREFLY_LEFT },
- { EL_FIREFLY_DOWN, GFX_FIREFLY_DOWN },
+ { EL_BD_BUTTERFLY, GFX_BUTTERFLY },
+ { EL_BD_BUTTERFLY_RIGHT, GFX_BUTTERFLY_RIGHT },
+ { EL_BD_BUTTERFLY_UP, GFX_BUTTERFLY_UP },
+ { EL_BD_BUTTERFLY_LEFT, GFX_BUTTERFLY_LEFT },
+ { EL_BD_BUTTERFLY_DOWN, GFX_BUTTERFLY_DOWN },
+ { EL_BD_FIREFLY, GFX_FIREFLY },
+ { EL_BD_FIREFLY_RIGHT, GFX_FIREFLY_RIGHT },
+ { EL_BD_FIREFLY_UP, GFX_FIREFLY_UP },
+ { EL_BD_FIREFLY_LEFT, GFX_FIREFLY_LEFT },
+ { EL_BD_FIREFLY_DOWN, GFX_FIREFLY_DOWN },
{ EL_YAMYAM, GFX_MAMPFER },
{ EL_ROBOT, GFX_ROBOT },
{ EL_STEELWALL, GFX_BETON },
{ EL_WALL_EMERALD_RED, GFX_ERZ_EDEL_ROT },
{ EL_WALL_EMERALD_PURPLE, GFX_ERZ_EDEL_LILA },
{ EL_DARK_YAMYAM, GFX_MAMPFER2 },
- { EL_MAGIC_WALL_BD_OFF, GFX_MAGIC_WALL_BD_OFF },
- { EL_MAGIC_WALL_BD_EMPTY, GFX_MAGIC_WALL_BD_EMPTY },
- { EL_MAGIC_WALL_BD_EMPTYING, GFX_MAGIC_WALL_BD_EMPTY },
- { EL_MAGIC_WALL_BD_FULL, GFX_MAGIC_WALL_BD_FULL },
- { EL_MAGIC_WALL_BD_DEAD, GFX_MAGIC_WALL_BD_DEAD },
+ { EL_BD_MAGIC_WALL, GFX_MAGIC_WALL_BD_OFF },
+ { EL_BD_MAGIC_WALL_EMPTY, GFX_MAGIC_WALL_BD_EMPTY },
+ { EL_BD_MAGIC_WALL_EMPTYING, GFX_MAGIC_WALL_BD_EMPTY },
+ { EL_BD_MAGIC_WALL_FULL, GFX_MAGIC_WALL_BD_FULL },
+ { EL_BD_MAGIC_WALL_DEAD, GFX_MAGIC_WALL_BD_DEAD },
{ EL_DYNABOMB_ACTIVE_1, GFX_DYNABOMB },
{ EL_DYNABOMB_ACTIVE_2, GFX_DYNABOMB },
{ EL_DYNABOMB_ACTIVE_3, GFX_DYNABOMB },
{ EL_DYNABOMB_NR, GFX_DYNABOMB_NR },
{ EL_DYNABOMB_SZ, GFX_DYNABOMB_SZ },
{ EL_DYNABOMB_XL, GFX_DYNABOMB_XL },
- { EL_SOKOBAN_OBJEKT, GFX_SOKOBAN_OBJEKT },
- { EL_SOKOBAN_FELD_LEER, GFX_SOKOBAN_FELD_LEER },
- { EL_SOKOBAN_FELD_VOLL, GFX_SOKOBAN_FELD_VOLL },
+ { EL_SOKOBAN_OBJECT, GFX_SOKOBAN_OBJEKT },
+ { EL_SOKOBAN_FIELD_EMPTY, GFX_SOKOBAN_FELD_LEER },
+ { EL_SOKOBAN_FIELD_FULL, GFX_SOKOBAN_FELD_VOLL },
{ EL_MOLE, GFX_MOLE },
{ EL_PENGUIN, GFX_PINGUIN },
{ EL_PIG, GFX_SCHWEIN },
{ EL_DRAGON, GFX_DRACHE },
{ EL_SATELLITE, GFX_SONDE },
- { EL_ARROW_LEFT, GFX_PFEIL_LEFT },
- { EL_ARROW_RIGHT, GFX_PFEIL_RIGHT },
- { EL_ARROW_UP, GFX_PFEIL_UP },
- { EL_ARROW_DOWN, GFX_PFEIL_DOWN },
+ { EL_ARROW_BLUE_LEFT, GFX_PFEIL_LEFT },
+ { EL_ARROW_BLUE_RIGHT, GFX_PFEIL_RIGHT },
+ { EL_ARROW_BLUE_UP, GFX_PFEIL_UP },
+ { EL_ARROW_BLUE_DOWN, GFX_PFEIL_DOWN },
{ EL_SPEED_PILL, GFX_SPEED_PILL },
{ EL_SP_TERMINAL_ACTIVE, GFX_SP_TERMINAL },
- { EL_SP_BUG_ACTIVE, GFX_SP_BUG_ACTIVE },
+ { EL_SP_BUGGY_BASE_ACTIVE, GFX_SP_BUG_ACTIVE },
{ EL_SP_ZONK, GFX_SP_ZONK },
{ EL_INVISIBLE_STEELWALL, GFX_INVISIBLE_STEEL },
{ EL_BLACK_ORB, GFX_BLACK_ORB },
{ EL_DOOR_WHITE_GRAY, GFX_DOOR_WHITE_GRAY },
{ EL_KEY_WHITE, GFX_KEY_WHITE },
{ EL_SHIELD_NORMAL, GFX_SHIELD_PASSIVE },
- { EL_SHIELD_ACTIVE, GFX_SHIELD_ACTIVE },
+ { EL_SHIELD_DEADLY, GFX_SHIELD_ACTIVE },
{ EL_EXTRA_TIME, GFX_EXTRA_TIME },
{ EL_SWITCHGATE_OPEN, GFX_SWITCHGATE_OPEN },
{ EL_SWITCHGATE_CLOSED, GFX_SWITCHGATE_CLOSED },
{ EL_MOLE_UP, GFX_MOLE_UP },
{ EL_MOLE_DOWN, GFX_MOLE_DOWN },
{ EL_STEELWALL_SLANTED, GFX_STEEL_SLANTED },
- { EL_SAND_INVISIBLE, GFX_SAND_INVISIBLE },
+ { EL_INVISIBLE_SAND, GFX_SAND_INVISIBLE },
{ EL_DX_UNKNOWN_15, GFX_DX_UNKNOWN_15 },
{ EL_DX_UNKNOWN_42, GFX_DX_UNKNOWN_42 },
{ EL_TIMEGATE_OPEN, GFX_TIMEGATE_OPEN },
{ EL_TIMEGATE_CLOSED, GFX_TIMEGATE_CLOSED },
- { EL_TIMEGATE_SWITCH_ON, GFX_TIMEGATE_SWITCH },
- { EL_TIMEGATE_SWITCH_OFF, GFX_TIMEGATE_SWITCH },
+ { EL_TIMEGATE_SWITCH_ACTIVE, GFX_TIMEGATE_SWITCH },
+ { EL_TIMEGATE_SWITCH, GFX_TIMEGATE_SWITCH },
{ EL_BALLOON, GFX_BALLOON },
{ EL_BALLOON_SEND_LEFT, GFX_BALLOON_SEND_LEFT },
{ EL_BALLOON_SEND_RIGHT, GFX_BALLOON_SEND_RIGHT },
{ EL_BALLOON_SEND_UP, GFX_BALLOON_SEND_UP },
{ EL_BALLOON_SEND_DOWN, GFX_BALLOON_SEND_DOWN },
- { EL_BALLOON_SEND_ANY, GFX_BALLOON_SEND_ANY },
+ { EL_BALLOON_SEND_ANY_DIRECTION, GFX_BALLOON_SEND_ANY },
{ EL_EMC_STEELWALL1, GFX_EMC_STEEL_WALL_1 },
{ EL_EMC_STEELWALL2, GFX_EMC_STEEL_WALL_2 },
{ EL_EMC_STEELWALL3, GFX_EMC_STEEL_WALL_3 },
{ EL_EMC_WALL6, GFX_EMC_WALL_6 },
{ EL_EMC_WALL7, GFX_EMC_WALL_7 },
{ EL_EMC_WALL8, GFX_EMC_WALL_8 },
- { EL_TUBE_CROSS, GFX_TUBE_CROSS },
+ { EL_TUBE_ALL, GFX_TUBE_CROSS },
{ EL_TUBE_VERTICAL, GFX_TUBE_VERTICAL },
{ EL_TUBE_HORIZONTAL, GFX_TUBE_HORIZONTAL },
- { EL_TUBE_VERT_LEFT, GFX_TUBE_VERT_LEFT },
- { EL_TUBE_VERT_RIGHT, GFX_TUBE_VERT_RIGHT },
- { EL_TUBE_HORIZ_UP, GFX_TUBE_HORIZ_UP },
- { EL_TUBE_HORIZ_DOWN, GFX_TUBE_HORIZ_DOWN },
+ { EL_TUBE_VERTICAL_LEFT, GFX_TUBE_VERT_LEFT },
+ { EL_TUBE_VERTICAL_RIGHT, GFX_TUBE_VERT_RIGHT },
+ { EL_TUBE_HORIZONTAL_UP, GFX_TUBE_HORIZ_UP },
+ { EL_TUBE_HORIZONTAL_DOWN, GFX_TUBE_HORIZ_DOWN },
{ EL_TUBE_LEFT_UP, GFX_TUBE_LEFT_UP },
{ EL_TUBE_LEFT_DOWN, GFX_TUBE_LEFT_DOWN },
{ EL_TUBE_RIGHT_UP, GFX_TUBE_RIGHT_UP },
{ EL_TUBE_RIGHT_DOWN, GFX_TUBE_RIGHT_DOWN },
{ EL_SPRING, GFX_SPRING },
{ EL_SPRING_MOVING, GFX_SPRING },
- { EL_TRAP_INACTIVE, GFX_TRAP_INACTIVE },
+ { EL_TRAP, GFX_TRAP_INACTIVE },
{ EL_TRAP_ACTIVE, GFX_TRAP_ACTIVE },
{ EL_BD_WALL, GFX_BD_WALL },
{ EL_BD_ROCK, GFX_BD_ROCK },
}
element_to_direction_graphic[] =
{
- {
- EL_SPACESHIP,
- IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT,
- IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN
- },
- {
- EL_BUG,
- IMG_BUG_LEFT, IMG_BUG_RIGHT,
- IMG_BUG_UP, IMG_BUG_DOWN
- },
- {
- EL_PACMAN,
- IMG_PACMAN_LEFT, IMG_PACMAN_RIGHT,
- IMG_PACMAN_UP, IMG_PACMAN_DOWN
- },
{
EL_PLAYER1,
IMG_PLAYER1_LEFT, IMG_PLAYER1_RIGHT,
IMG_PLAYER4_UP, IMG_PLAYER4_DOWN
},
{
- EL_PIG,
- IMG_PIG_LEFT, IMG_PIG_RIGHT,
- IMG_PIG_UP, IMG_PIG_DOWN
+ EL_SP_MURPHY,
+ IMG_SP_MURPHY_LEFT, IMG_SP_MURPHY_RIGHT,
+ IMG_SP_MURPHY_UP, IMG_SP_MURPHY_DOWN
},
{
- EL_DRAGON,
- IMG_DRAGON_LEFT, IMG_DRAGON_RIGHT,
- IMG_DRAGON_UP, IMG_DRAGON_DOWN
+ EL_SP_SNIKSNAK,
+ IMG_SP_SNIKSNAK_LEFT, IMG_SP_SNIKSNAK_RIGHT,
+ IMG_SP_SNIKSNAK_UP, IMG_SP_SNIKSNAK_DOWN
+ },
+ {
+ EL_BUG,
+ IMG_BUG_LEFT, IMG_BUG_RIGHT,
+ IMG_BUG_UP, IMG_BUG_DOWN
+ },
+ {
+ EL_SPACESHIP,
+ IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT,
+ IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN
+ },
+ {
+ EL_PACMAN,
+ IMG_PACMAN_LEFT, IMG_PACMAN_RIGHT,
+ IMG_PACMAN_UP, IMG_PACMAN_DOWN
},
{
EL_MOLE,
IMG_PENGUIN_UP, IMG_PENGUIN_DOWN
},
{
- EL_SP_MURPHY,
- IMG_SP_MURPHY_LEFT, IMG_SP_MURPHY_RIGHT,
- IMG_SP_MURPHY_UP, IMG_SP_MURPHY_DOWN
+ EL_PIG,
+ IMG_PIG_LEFT, IMG_PIG_RIGHT,
+ IMG_PIG_UP, IMG_PIG_DOWN
},
{
- EL_SP_SNIKSNAK,
- IMG_SP_SNIKSNAK_LEFT, IMG_SP_SNIKSNAK_RIGHT,
- IMG_SP_SNIKSNAK_UP, IMG_SP_SNIKSNAK_DOWN
+ EL_DRAGON,
+ IMG_DRAGON_LEFT, IMG_DRAGON_RIGHT,
+ IMG_DRAGON_UP, IMG_DRAGON_DOWN
},
{
-1,
EL_TIMEGATE_OPENING,
EL_TIMEGATE_CLOSED,
EL_TIMEGATE_CLOSING,
- EL_TUBE_CROSS,
+ EL_TUBE_ALL,
EL_TUBE_VERTICAL,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_LEFT,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_HORIZ_UP,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_UP,
EL_TUBE_LEFT_DOWN,
EL_TUBE_RIGHT_UP,
EL_BD_WALL,
EL_WALL_CRUMBLED,
EL_EXIT_CLOSED,
- EL_AUSGANG_ACT,
+ EL_EXIT_OPENING,
EL_EXIT_OPEN,
EL_AMOEBA_DEAD,
EL_AMOEBA_WET,
EL_MAGIC_WALL_FILLING,
EL_MAGIC_WALL_FULL,
EL_MAGIC_WALL_DEAD,
- EL_MAGIC_WALL_BD_OFF,
- EL_MAGIC_WALL_BD_EMPTY,
- EL_MAGIC_WALL_BD_EMPTYING,
- EL_MAGIC_WALL_BD_FULL,
- EL_MAGIC_WALL_BD_FILLING,
- EL_MAGIC_WALL_BD_DEAD,
+ EL_BD_MAGIC_WALL,
+ EL_BD_MAGIC_WALL_EMPTY,
+ EL_BD_MAGIC_WALL_EMPTYING,
+ EL_BD_MAGIC_WALL_FULL,
+ EL_BD_MAGIC_WALL_FILLING,
+ EL_BD_MAGIC_WALL_DEAD,
EL_GAMEOFLIFE,
EL_BIOMAZE,
EL_ACIDPOOL_TOPLEFT,
EL_SWITCHGATE_SWITCH_DOWN,
EL_LIGHT_SWITCH,
EL_LIGHT_SWITCH_ACTIVE,
- EL_TIMEGATE_SWITCH_OFF,
- EL_TIMEGATE_SWITCH_ON,
+ EL_TIMEGATE_SWITCH,
+ EL_TIMEGATE_SWITCH_ACTIVE,
EL_SIGN_EXCLAMATION,
EL_SIGN_RADIOACTIVITY,
EL_SIGN_STOP,
EL_TIMEGATE_OPENING,
EL_TIMEGATE_CLOSED,
EL_TIMEGATE_CLOSING,
- EL_TUBE_CROSS,
+ EL_TUBE_ALL,
EL_TUBE_VERTICAL,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_LEFT,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_HORIZ_UP,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_UP,
EL_TUBE_LEFT_DOWN,
EL_TUBE_RIGHT_UP,
EL_TIMEGATE_OPENING,
EL_TIMEGATE_CLOSED,
EL_TIMEGATE_CLOSING,
- EL_TUBE_CROSS,
+ EL_TUBE_ALL,
EL_TUBE_VERTICAL,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_LEFT,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_HORIZ_UP,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_UP,
EL_TUBE_LEFT_DOWN,
EL_TUBE_RIGHT_UP,
{
EL_BUG,
EL_SPACESHIP,
- EL_BUTTERFLY,
- EL_FIREFLY,
+ EL_BD_BUTTERFLY,
+ EL_BD_FIREFLY,
EL_YAMYAM,
EL_DARK_YAMYAM,
EL_ROBOT,
EL_EM_GATE3_GRAY,
EL_EM_GATE4_GRAY,
EL_EXIT_CLOSED,
- EL_AUSGANG_ACT,
+ EL_EXIT_OPENING,
EL_EXIT_OPEN,
EL_WALL,
EL_WALL_CRUMBLED,
EL_WALL_GROWING_X,
EL_WALL_GROWING_Y,
EL_WALL_GROWING_XY,
- EL_MAUERND,
+ EL_WALL_GROWING_ACTIVE,
EL_BD_WALL,
EL_SP_CHIP_SINGLE,
EL_SP_CHIP_LEFT,
EL_AMOEBA_DROP,
EL_QUICKSAND_FULL,
EL_MAGIC_WALL_FULL,
- EL_MAGIC_WALL_BD_FULL,
+ EL_BD_MAGIC_WALL_FULL,
EL_TIME_ORB_FULL,
EL_TIME_ORB_EMPTY,
EL_SP_ZONK,
{
EL_BUG,
EL_SPACESHIP,
- EL_BUTTERFLY,
- EL_FIREFLY,
+ EL_BD_BUTTERFLY,
+ EL_BD_FIREFLY,
EL_YAMYAM,
EL_DARK_YAMYAM,
EL_ROBOT,
EL_SPACESHIP_UP,
EL_SPACESHIP_LEFT,
EL_SPACESHIP_DOWN,
- EL_BUTTERFLY_RIGHT,
- EL_BUTTERFLY_UP,
- EL_BUTTERFLY_LEFT,
- EL_BUTTERFLY_DOWN,
- EL_FIREFLY_RIGHT,
- EL_FIREFLY_UP,
- EL_FIREFLY_LEFT,
- EL_FIREFLY_DOWN,
+ EL_BD_BUTTERFLY_RIGHT,
+ EL_BD_BUTTERFLY_UP,
+ EL_BD_BUTTERFLY_LEFT,
+ EL_BD_BUTTERFLY_DOWN,
+ EL_BD_FIREFLY_RIGHT,
+ EL_BD_FIREFLY_UP,
+ EL_BD_FIREFLY_LEFT,
+ EL_BD_FIREFLY_DOWN,
EL_PACMAN_RIGHT,
EL_PACMAN_UP,
EL_PACMAN_LEFT,
{
EL_BUG,
EL_SPACESHIP,
- EL_BUTTERFLY,
- EL_FIREFLY
+ EL_BD_BUTTERFLY,
+ EL_BD_FIREFLY
};
static int ep_dont_touch_num = SIZEOF_ARRAY_INT(ep_dont_touch);
{
EL_BUG,
EL_SPACESHIP,
- EL_BUTTERFLY,
- EL_FIREFLY,
+ EL_BD_BUTTERFLY,
+ EL_BD_FIREFLY,
EL_YAMYAM,
EL_DARK_YAMYAM,
EL_ROBOT,
EL_ACID,
EL_SP_SNIKSNAK,
EL_SP_ELECTRON,
- EL_SP_BUG_ACTIVE,
+ EL_SP_BUGGY_BASE_ACTIVE,
EL_TRAP_ACTIVE,
EL_LANDMINE
};
EL_SAND,
EL_BUG,
EL_SPACESHIP,
- EL_BUTTERFLY,
- EL_FIREFLY,
+ EL_BD_BUTTERFLY,
+ EL_BD_FIREFLY,
EL_YAMYAM,
EL_ROBOT,
EL_PACMAN,
EL_ROCK,
EL_BD_ROCK,
EL_BD_DIAMOND,
- EL_MAGIC_WALL_BD_OFF,
+ EL_BD_MAGIC_WALL,
EL_EXIT_CLOSED,
EL_EXIT_OPEN,
EL_STEELWALL,
EL_PLAYER,
- EL_FIREFLY,
- EL_FIREFLY_1,
- EL_FIREFLY_2,
- EL_FIREFLY_3,
- EL_FIREFLY_4,
- EL_BUTTERFLY,
- EL_BUTTERFLY_1,
- EL_BUTTERFLY_2,
- EL_BUTTERFLY_3,
- EL_BUTTERFLY_4,
+ EL_BD_FIREFLY,
+ EL_BD_FIREFLY_1,
+ EL_BD_FIREFLY_2,
+ EL_BD_FIREFLY_3,
+ EL_BD_FIREFLY_4,
+ EL_BD_BUTTERFLY,
+ EL_BD_BUTTERFLY_1,
+ EL_BD_BUTTERFLY_2,
+ EL_BD_BUTTERFLY_3,
+ EL_BD_BUTTERFLY_4,
EL_BD_AMOEBA,
EL_CHAR_QUESTION
};
{
EL_EMPTY,
EL_STEELWALL,
- EL_SOKOBAN_OBJEKT,
- EL_SOKOBAN_FELD_LEER,
- EL_SOKOBAN_FELD_VOLL,
+ EL_SOKOBAN_OBJECT,
+ EL_SOKOBAN_FIELD_EMPTY,
+ EL_SOKOBAN_FIELD_FULL,
EL_PLAYER,
EL_INVISIBLE_STEELWALL
};
EL_WALL,
EL_BD_WALL,
EL_WALL_CRUMBLED,
- EL_KEY,
EL_STEELWALL,
EL_AMOEBA_DEAD,
EL_QUICKSAND_EMPTY,
EL_DYNABOMB_NR,
EL_DYNABOMB_SZ,
EL_DYNABOMB_XL,
- EL_SOKOBAN_OBJEKT,
- EL_SOKOBAN_FELD_LEER,
- EL_SOKOBAN_FELD_VOLL,
+ EL_SOKOBAN_OBJECT,
+ EL_SOKOBAN_FIELD_EMPTY,
+ EL_SOKOBAN_FIELD_FULL,
EL_WALL_EMERALD_RED,
EL_WALL_EMERALD_PURPLE,
EL_ACIDPOOL_TOPLEFT,
EL_ACIDPOOL_BOTTOMRIGHT,
EL_MAGIC_WALL,
EL_MAGIC_WALL_DEAD,
- EL_MAGIC_WALL_BD_OFF,
- EL_MAGIC_WALL_BD_DEAD,
+ EL_BD_MAGIC_WALL,
+ EL_BD_MAGIC_WALL_DEAD,
EL_AMOEBA_TO_DIAMOND,
EL_BLOCKED,
EL_SP_EMPTY,
EL_BOMB,
EL_NUT,
EL_TIME_ORB_EMPTY,
- EL_SOKOBAN_FELD_VOLL,
- EL_SOKOBAN_OBJEKT,
+ EL_SOKOBAN_FIELD_FULL,
+ EL_SOKOBAN_OBJECT,
EL_SATELLITE,
EL_SP_ZONK,
EL_SP_DISK_ORANGE,
{
EL_SAND,
EL_SP_BASE,
- EL_SP_BUG,
- EL_TRAP_INACTIVE,
- EL_SAND_INVISIBLE
+ EL_SP_BUGGY_BASE,
+ EL_TRAP,
+ EL_INVISIBLE_SAND
};
static int ep_eatable_num = SIZEOF_ARRAY_INT(ep_eatable);
EL_SP_PORT_X,
EL_SP_PORT_XY,
EL_SP_ELECTRON,
- EL_SP_BUG,
+ EL_SP_BUGGY_BASE,
EL_SP_CHIP_LEFT,
EL_SP_CHIP_RIGHT,
EL_SP_HARD_BASE1,
EL_SP_PORT_X,
EL_SP_PORT_Y,
EL_SP_PORT_XY,
- EL_TUBE_CROSS,
+ EL_TUBE_ALL,
EL_TUBE_VERTICAL,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_LEFT,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_HORIZ_UP,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_UP,
EL_TUBE_LEFT_DOWN,
EL_TUBE_RIGHT_UP,
static int ep_tube[] =
{
- EL_TUBE_CROSS,
+ EL_TUBE_ALL,
EL_TUBE_VERTICAL,
EL_TUBE_HORIZONTAL,
- EL_TUBE_VERT_LEFT,
- EL_TUBE_VERT_RIGHT,
- EL_TUBE_HORIZ_UP,
- EL_TUBE_HORIZ_DOWN,
+ EL_TUBE_VERTICAL_LEFT,
+ EL_TUBE_VERTICAL_RIGHT,
+ EL_TUBE_HORIZONTAL_UP,
+ EL_TUBE_HORIZONTAL_DOWN,
EL_TUBE_LEFT_UP,
EL_TUBE_LEFT_DOWN,
EL_TUBE_RIGHT_UP,
6, /* GFX_ACTION_IMPACT (9) */
6, /* GFX_ACTION_CRACKING (10) */
6, /* GFX_ACTION_ACTIVATING (11) */
- 6, /* GFX_ACTION_ACTIVE (12) */
+ 6, /* GFX_ACTION_EATING (12) */
6 /* GFX_ACTION_OTHER (13) */
};
{ "quicksand_empty.xpos", "2" },
{ "quicksand_empty.ypos", "0" },
{ "quicksand_empty.frames", "1" },
+ { "quicksand.filling", "RocksElements.pcx" },
+ { "quicksand.filling.xpos", "3" },
+ { "quicksand.filling.ypos", "0" },
+ { "quicksand.filling.frames", "1" },
{ "quicksand_full", "RocksElements.pcx" },
{ "quicksand_full.xpos", "3" },
{ "quicksand_full.ypos", "0" },
{ "quicksand_full.frames", "1" },
- { "quicksand_slipping", "RocksElements.pcx" },
- { "quicksand_slipping.xpos", "3" },
- { "quicksand_slipping.ypos", "0" },
- { "quicksand_slipping.frames", "1" },
+ { "quicksand.emptying", "RocksElements.pcx" },
+ { "quicksand.emptying.xpos", "3" },
+ { "quicksand.emptying.ypos", "0" },
+ { "quicksand.emptying.frames", "1" },
{ "steelwall", "RocksElements.pcx" },
{ "steelwall.xpos", "4" },
{ "amoeba.creating.xpos", "5" },
{ "amoeba.creating.ypos", "6" },
{ "amoeba.creating.frames", "3" },
- { "amoeba1", "RocksElements.pcx" },
- { "amoeba1.xpos", "8" },
- { "amoeba1.ypos", "6" },
- { "amoeba1.frames", "1" },
- { "amoeba2", "RocksElements.pcx" },
- { "amoeba2.xpos", "9" },
- { "amoeba2.ypos", "6" },
- { "amoeba2.frames", "1" },
- { "amoeba3", "RocksElements.pcx" },
- { "amoeba3.xpos", "10" },
- { "amoeba3.ypos", "6" },
- { "amoeba3.frames", "1" },
- { "amoeba4", "RocksElements.pcx" },
- { "amoeba4.xpos", "11" },
- { "amoeba4.ypos", "6" },
- { "amoeba4.frames", "1" },
- { "amoeba_dead1", "RocksElements.pcx" },
- { "amoeba_dead1.xpos", "12" },
- { "amoeba_dead1.ypos", "6" },
- { "amoeba_dead1.frames", "1" },
- { "amoeba_dead2", "RocksElements.pcx" },
- { "amoeba_dead2.xpos", "13" },
- { "amoeba_dead2.ypos", "6" },
- { "amoeba_dead2.frames", "1" },
- { "amoeba_dead3", "RocksElements.pcx" },
- { "amoeba_dead3.xpos", "14" },
- { "amoeba_dead3.ypos", "6" },
- { "amoeba_dead3.frames", "1" },
- { "amoeba_dead4", "RocksElements.pcx" },
- { "amoeba_dead4.xpos", "15" },
- { "amoeba_dead4.ypos", "6" },
- { "amoeba_dead4.frames", "1" },
+ { "amoeba.part1", "RocksElements.pcx" },
+ { "amoeba.part1.xpos", "8" },
+ { "amoeba.part1.ypos", "6" },
+ { "amoeba.part1.frames", "1" },
+ { "amoeba.part2", "RocksElements.pcx" },
+ { "amoeba.part2.xpos", "9" },
+ { "amoeba.part2.ypos", "6" },
+ { "amoeba.part2.frames", "1" },
+ { "amoeba.part3", "RocksElements.pcx" },
+ { "amoeba.part3.xpos", "10" },
+ { "amoeba.part3.ypos", "6" },
+ { "amoeba.part3.frames", "1" },
+ { "amoeba.part4", "RocksElements.pcx" },
+ { "amoeba.part4.xpos", "11" },
+ { "amoeba.part4.ypos", "6" },
+ { "amoeba.part4.frames", "1" },
+ { "amoeba_dead.part1", "RocksElements.pcx" },
+ { "amoeba_dead.part1.xpos", "12" },
+ { "amoeba_dead.part1.ypos", "6" },
+ { "amoeba_dead.part1.frames", "1" },
+ { "amoeba_dead.part2", "RocksElements.pcx" },
+ { "amoeba_dead.part2.xpos", "13" },
+ { "amoeba_dead.part2.ypos", "6" },
+ { "amoeba_dead.part2.frames", "1" },
+ { "amoeba_dead.part3", "RocksElements.pcx" },
+ { "amoeba_dead.part3.xpos", "14" },
+ { "amoeba_dead.part3.ypos", "6" },
+ { "amoeba_dead.part3.frames", "1" },
+ { "amoeba_dead.part4", "RocksElements.pcx" },
+ { "amoeba_dead.part4.xpos", "15" },
+ { "amoeba_dead.part4.ypos", "6" },
+ { "amoeba_dead.part4.frames", "1" },
{ "lamp", "RocksElements.pcx" },
{ "lamp.xpos", "0" },
{ "bd_amoeba.xpos", "8" },
{ "bd_amoeba.ypos", "7" },
{ "bd_amoeba.frames", "1" },
+ { "bd_amoeba.part1", "RocksElements.pcx" },
+ { "bd_amoeba.part1.xpos", "8" },
+ { "bd_amoeba.part1.ypos", "6" },
+ { "bd_amoeba.part1.frames", "1" },
+ { "bd_amoeba.part2", "RocksElements.pcx" },
+ { "bd_amoeba.part2.xpos", "9" },
+ { "bd_amoeba.part2.ypos", "6" },
+ { "bd_amoeba.part2.frames", "1" },
+ { "bd_amoeba.part3", "RocksElements.pcx" },
+ { "bd_amoeba.part3.xpos", "10" },
+ { "bd_amoeba.part3.ypos", "6" },
+ { "bd_amoeba.part3.frames", "1" },
+ { "bd_amoeba.part4", "RocksElements.pcx" },
+ { "bd_amoeba.part4.xpos", "11" },
+ { "bd_amoeba.part4.ypos", "6" },
+ { "bd_amoeba.part4.frames", "1" },
{ "sokoban_object", "RocksElements.pcx" },
{ "sokoban_object.xpos", "9" },
{ "magic_wall.active.xpos", "0" },
{ "magic_wall.active.ypos", "8" },
{ "magic_wall.active.frames", "4" },
+ { "magic_wall.filling", "RocksElements.pcx" },
+ { "magic_wall.filling.xpos", "0" },
+ { "magic_wall.filling.ypos", "8" },
+ { "magic_wall.filling.frames", "4" },
+ { "magic_wall.emptying", "RocksElements.pcx" },
+ { "magic_wall.emptying.xpos", "0" },
+ { "magic_wall.emptying.ypos", "8" },
+ { "magic_wall.emptying.frames", "4" },
{ "bd_magic_wall", "RocksElements.pcx" },
{ "bd_magic_wall.xpos", "12" },
{ "bd_magic_wall.active.xpos", "12" },
{ "bd_magic_wall.active.ypos", "10" },
{ "bd_magic_wall.active.frames", "4" },
+ { "bd_magic_wall.filling", "RocksElements.pcx" },
+ { "bd_magic_wall.filling.xpos", "12" },
+ { "bd_magic_wall.filling.ypos", "10" },
+ { "bd_magic_wall.filling.frames", "4" },
+ { "bd_magic_wall.emptying", "RocksElements.pcx" },
+ { "bd_magic_wall.emptying.xpos", "12" },
+ { "bd_magic_wall.emptying.ypos", "10" },
+ { "bd_magic_wall.emptying.frames", "4" },
{ "wall_emerald", "RocksElements.pcx" },
{ "wall_emerald.xpos", "4" },
{ "dynabomb_sz.ypos", "11" },
{ "dynabomb_sz.frames", "1" },
- { "arrow_left", "RocksElements.pcx" },
- { "arrow_left.xpos", "0" },
- { "arrow_left.ypos", "12" },
- { "arrow_left.frames", "1" },
- { "arrow_right", "RocksElements.pcx" },
- { "arrow_right.xpos", "1" },
- { "arrow_right.ypos", "12" },
- { "arrow_right.frames", "1" },
- { "arrow_up", "RocksElements.pcx" },
- { "arrow_up.xpos", "2" },
- { "arrow_up.ypos", "12" },
- { "arrow_up.frames", "1" },
- { "arrow_down", "RocksElements.pcx" },
- { "arrow_down.xpos", "3" },
- { "arrow_down.ypos", "12" },
- { "arrow_down.frames", "1" },
-
{ "bd_butterfly", "RocksElements.pcx" },
{ "bd_butterfly.xpos", "4" },
{ "bd_butterfly.ypos", "12" },
{ "steelwall_topright.ypos", "13" },
{ "steelwall_topright.frames", "1" },
{ "steelwall_bottomleft", "RocksElements.pcx" },
- { "steelwall_bottomleft.xpos", "1" },
+ { "steelwall_bottomleft.xpos", "2" },
{ "steelwall_bottomleft.ypos", "13" },
{ "steelwall_bottomleft.frames", "1" },
{ "steelwall_bottomright", "RocksElements.pcx" },
- { "steelwall_bottomright.xpos", "1" },
+ { "steelwall_bottomright.xpos", "3" },
{ "steelwall_bottomright.ypos", "13" },
{ "steelwall_bottomright.frames", "1" },
{ "steelwall_horizontal", "RocksElements.pcx" },
- { "steelwall_horizontal.xpos", "1" },
+ { "steelwall_horizontal.xpos", "4" },
{ "steelwall_horizontal.ypos", "13" },
{ "steelwall_horizontal.frames", "1" },
+ { "steelwall_vertical", "RocksElements.pcx" },
+ { "steelwall_vertical.xpos", "5" },
+ { "steelwall_vertical.ypos", "13" },
+ { "steelwall_vertical.frames", "1" },
{ "invisible_steelwall_topleft", "RocksElements.pcx" },
- { "invisible_steelwall_topleft.xpos", "0" },
+ { "invisible_steelwall_topleft.xpos", "6" },
{ "invisible_steelwall_topleft.ypos", "13" },
{ "invisible_steelwall_topleft.frames", "1" },
{ "invisible_steelwall_topright", "RocksElements.pcx" },
- { "invisible_steelwall_topright.xpos", "1" },
+ { "invisible_steelwall_topright.xpos", "7" },
{ "invisible_steelwall_topright.ypos", "13" },
{ "invisible_steelwall_topright.frames", "1" },
{ "invisible_steelwall_bottomleft", "RocksElements.pcx" },
- { "invisible_steelwall_bottomleft.xpos", "1" },
+ { "invisible_steelwall_bottomleft.xpos", "8" },
{ "invisible_steelwall_bottomleft.ypos", "13" },
{ "invisible_steelwall_bottomleft.frames", "1" },
{ "invisible_steelwall_bottomright", "RocksElements.pcx" },
- { "invisible_steelwall_bottomright.xpos", "1" },
+ { "invisible_steelwall_bottomright.xpos", "9" },
{ "invisible_steelwall_bottomright.ypos", "13" },
{ "invisible_steelwall_bottomright.frames", "1" },
{ "invisible_steelwall_horizontal", "RocksElements.pcx" },
- { "invisible_steelwall_horizontal.xpos", "1" },
+ { "invisible_steelwall_horizontal.xpos", "10" },
{ "invisible_steelwall_horizontal.ypos", "13" },
{ "invisible_steelwall_horizontal.frames", "1" },
-
+ { "invisible_steelwall_vertical", "RocksElements.pcx" },
+ { "invisible_steelwall_vertical.xpos", "11" },
+ { "invisible_steelwall_vertical.ypos", "13" },
+ { "invisible_steelwall_vertical.frames", "1" },
+
+ { "player1", "RocksHeroes.pcx" },
+ { "player1.xpos", "0" },
+ { "player1.ypos", "0" },
+ { "player1.frames", "1" },
{ "player1_down", "RocksHeroes.pcx" },
{ "player1_down.xpos", "0" },
{ "player1_down.ypos", "0" },
{ "player1_right.pushing.ypos", "2" },
{ "player1_right.pushing.frames", "4" },
+ { "player2", "RocksHeroes.pcx" },
+ { "player2.xpos", "0" },
+ { "player2.ypos", "3" },
+ { "player2.frames", "1" },
{ "player2_down", "RocksHeroes.pcx" },
{ "player2_down.xpos", "0" },
{ "player2_down.ypos", "3" },
{ "player2_right.pushing.ypos", "5" },
{ "player2_right.pushing.frames", "4" },
+ { "player3", "RocksHeroes.pcx" },
+ { "player3.xpos", "0" },
+ { "player3.ypos", "6" },
+ { "player3.frames", "1" },
{ "player3_down", "RocksHeroes.pcx" },
{ "player3_down.xpos", "0" },
{ "player3_down.ypos", "6" },
{ "player3_right.pushing.ypos", "8" },
{ "player3_right.pushing.frames", "4" },
+ { "player4", "RocksHeroes.pcx" },
+ { "player4.xpos", "0" },
+ { "player4.ypos", "9" },
+ { "player4.frames", "1" },
{ "player4_down", "RocksHeroes.pcx" },
{ "player4_down.xpos", "0" },
{ "player4_down.ypos", "9" },
{ "acid.splashing_right.ypos", "10" },
{ "acid.splashing_right.frames", "4" },
- { "spark_blue", "RocksHeroes.pcx" },
- { "spark_blue.xpos", "8" },
- { "spark_blue.ypos", "11" },
- { "spark_blue.frames", "3" },
- { "spark_blue.pingpong", "1" },
- { "spark_white", "RocksHeroes.pcx" },
- { "spark_white.xpos", "8" },
- { "spark_white.ypos", "11" },
- { "spark_white.frames", "3" },
- { "spark_white.pingpong", "1" },
-
- { "flames_left1", "RocksHeroes.pcx" },
- { "flames_left1.xpos", "8" },
- { "flames_left1.ypos", "12" },
- { "flames_left1.frames", "2" },
- { "flames_left2", "RocksHeroes.pcx" },
- { "flames_left2.xpos", "9" },
- { "flames_left2.ypos", "12" },
- { "flames_left2.frames", "2" },
- { "flames_left3", "RocksHeroes.pcx" },
- { "flames_left3.xpos", "10" },
- { "flames_left3.ypos", "12" },
- { "flames_left3.frames", "2" },
-
- { "flames_right1", "RocksHeroes.pcx" },
- { "flames_right1.xpos", "8" },
- { "flames_right1.ypos", "13" },
- { "flames_right1.frames", "2" },
- { "flames_right2", "RocksHeroes.pcx" },
- { "flames_right2.xpos", "9" },
- { "flames_right2.ypos", "13" },
- { "flames_right2.frames", "2" },
- { "flames_right3", "RocksHeroes.pcx" },
- { "flames_right3.xpos", "10" },
- { "flames_right3.ypos", "13" },
- { "flames_right3.frames", "2" },
-
- { "flames_up1", "RocksHeroes.pcx" },
- { "flames_up1.xpos", "8" },
- { "flames_up1.ypos", "14" },
- { "flames_up1.frames", "2" },
- { "flames_up2", "RocksHeroes.pcx" },
- { "flames_up2.xpos", "9" },
- { "flames_up2.ypos", "14" },
- { "flames_up2.frames", "2" },
- { "flames_up3", "RocksHeroes.pcx" },
- { "flames_up3.xpos", "10" },
- { "flames_up3.ypos", "14" },
- { "flames_up3.frames", "2" },
-
- { "flames_down1", "RocksHeroes.pcx" },
- { "flames_down1.xpos", "8" },
- { "flames_down1.ypos", "15" },
- { "flames_down1.frames", "2" },
- { "flames_down2", "RocksHeroes.pcx" },
- { "flames_down2.xpos", "9" },
- { "flames_down2.ypos", "15" },
- { "flames_down2.frames", "2" },
- { "flames_down3", "RocksHeroes.pcx" },
- { "flames_down3.xpos", "10" },
- { "flames_down3.ypos", "15" },
- { "flames_down3.frames", "2" },
+ { "twinkle_blue", "RocksHeroes.pcx" },
+ { "twinkle_blue.xpos", "8" },
+ { "twinkle_blue.ypos", "11" },
+ { "twinkle_blue.frames", "3" },
+ { "twinkle_blue.pingpong", "1" },
+ { "twinkle_white", "RocksHeroes.pcx" },
+ { "twinkle_white.xpos", "8" },
+ { "twinkle_white.ypos", "11" },
+ { "twinkle_white.frames", "3" },
+ { "twinkle_white.pingpong", "1" },
+
+ { "dragon_fire_left1", "RocksHeroes.pcx" },
+ { "dragon_fire_left1.xpos", "8" },
+ { "dragon_fire_left1.ypos", "12" },
+ { "dragon_fire_left1.frames", "2" },
+ { "dragon_fire_left2", "RocksHeroes.pcx" },
+ { "dragon_fire_left2.xpos", "9" },
+ { "dragon_fire_left2.ypos", "12" },
+ { "dragon_fire_left2.frames", "2" },
+ { "dragon_fire_left3", "RocksHeroes.pcx" },
+ { "dragon_fire_left3.xpos", "10" },
+ { "dragon_fire_left3.ypos", "12" },
+ { "dragon_fire_left3.frames", "2" },
+
+ { "dragon_fire_right1", "RocksHeroes.pcx" },
+ { "dragon_fire_right1.xpos", "8" },
+ { "dragon_fire_right1.ypos", "13" },
+ { "dragon_fire_right1.frames", "2" },
+ { "dragon_fire_right2", "RocksHeroes.pcx" },
+ { "dragon_fire_right2.xpos", "9" },
+ { "dragon_fire_right2.ypos", "13" },
+ { "dragon_fire_right2.frames", "2" },
+ { "dragon_fire_right3", "RocksHeroes.pcx" },
+ { "dragon_fire_right3.xpos", "10" },
+ { "dragon_fire_right3.ypos", "13" },
+ { "dragon_fire_right3.frames", "2" },
+
+ { "dragon_fire_up1", "RocksHeroes.pcx" },
+ { "dragon_fire_up1.xpos", "8" },
+ { "dragon_fire_up1.ypos", "14" },
+ { "dragon_fire_up1.frames", "2" },
+ { "dragon_fire_up2", "RocksHeroes.pcx" },
+ { "dragon_fire_up2.xpos", "9" },
+ { "dragon_fire_up2.ypos", "14" },
+ { "dragon_fire_up2.frames", "2" },
+ { "dragon_fire_up3", "RocksHeroes.pcx" },
+ { "dragon_fire_up3.xpos", "10" },
+ { "dragon_fire_up3.ypos", "14" },
+ { "dragon_fire_up3.frames", "2" },
+
+ { "dragon_fire_down1", "RocksHeroes.pcx" },
+ { "dragon_fire_down1.xpos", "8" },
+ { "dragon_fire_down1.ypos", "15" },
+ { "dragon_fire_down1.frames", "2" },
+ { "dragon_fire_down2", "RocksHeroes.pcx" },
+ { "dragon_fire_down2.xpos", "9" },
+ { "dragon_fire_down2.ypos", "15" },
+ { "dragon_fire_down2.frames", "2" },
+ { "dragon_fire_down3", "RocksHeroes.pcx" },
+ { "dragon_fire_down3.xpos", "10" },
+ { "dragon_fire_down3.ypos", "15" },
+ { "dragon_fire_down3.frames", "2" },
{ "sp_empty_space", "RocksSP.pcx" },
{ "sp_empty_space.xpos", "0" },
{ "sp_terminal.xpos", "8" },
{ "sp_terminal.ypos", "11" },
{ "sp_terminal.frames", "7" },
- { "sp_terminal_active", "RocksSP.pcx" },
- { "sp_terminal_active.xpos", "8" },
- { "sp_terminal_active.ypos", "12" },
- { "sp_terminal_active.frames", "7" },
+ { "sp_terminal.active", "RocksSP.pcx" },
+ { "sp_terminal.active.xpos", "8" },
+ { "sp_terminal.active.ypos", "12" },
+ { "sp_terminal.active.frames", "7" },
{ "sp_buggy_base", "RocksSP.pcx" },
{ "sp_buggy_base.xpos", "1" },
{ "sp_buggy_base.ypos", "3" },
{ "sp_buggy_base.frames", "1" },
- { "sp_buggy_base.activating", "RocksSP.pcx" },
- { "sp_buggy_base.activating.xpos", "8" },
- { "sp_buggy_base.activating.ypos", "6" },
- { "sp_buggy_base.activating.frames", "4" },
+ { "sp_buggy_base.active", "RocksSP.pcx" },
+ { "sp_buggy_base.active.xpos", "8" },
+ { "sp_buggy_base.active.ypos", "6" },
+ { "sp_buggy_base.active.frames", "4" },
{ "sp_hard_base1", "RocksSP.pcx" },
{ "sp_hard_base1.xpos", "4" },
{ "light_switch.active.ypos", "12" },
{ "light_switch.active.frames", "1" },
- { "timegate_wheel", "RocksDC.pcx" },
- { "timegate_wheel.xpos", "0" },
- { "timegate_wheel.ypos", "15" },
- { "timegate_wheel.frames", "1" },
- { "timegate_wheel.active", "RocksDC.pcx" },
- { "timegate_wheel.active.xpos", "0" },
- { "timegate_wheel.active.ypos", "15" },
- { "timegate_wheel.active.frames", "4" },
+ { "timegate_switch", "RocksDC.pcx" },
+ { "timegate_switch.xpos", "0" },
+ { "timegate_switch.ypos", "15" },
+ { "timegate_switch.frames", "1" },
+ { "timegate_switch.active", "RocksDC.pcx" },
+ { "timegate_switch.active.xpos", "0" },
+ { "timegate_switch.active.ypos", "15" },
+ { "timegate_switch.active.frames", "4" },
{ "envelope", "RocksDC.pcx" },
{ "envelope.xpos", "4" },
{ "balloon.moving.frames", "4" },
{ "balloon.moving.pingpong", "1" },
- { "balloon_windrose_left", "RocksDC.pcx" },
- { "balloon_windrose_left.xpos", "8" },
- { "balloon_windrose_left.ypos", "7" },
- { "balloon_windrose_left.frames", "1" },
- { "balloon_windrose_right", "RocksDC.pcx" },
- { "balloon_windrose_right.xpos", "9" },
- { "balloon_windrose_right.ypos", "7" },
- { "balloon_windrose_right.frames", "1" },
- { "balloon_windrose_up", "RocksDC.pcx" },
- { "balloon_windrose_up.xpos", "10" },
- { "balloon_windrose_up.ypos", "7" },
- { "balloon_windrose_up.frames", "1" },
- { "balloon_windrose_down", "RocksDC.pcx" },
- { "balloon_windrose_down.xpos", "11" },
- { "balloon_windrose_down.ypos", "7" },
- { "balloon_windrose_down.frames", "1" },
- { "balloon_windrose_all", "RocksDC.pcx" },
- { "balloon_windrose_all.xpos", "7" },
- { "balloon_windrose_all.ypos", "0" },
- { "balloon_windrose_all.frames", "1" },
+ { "balloon_send_left", "RocksDC.pcx" },
+ { "balloon_send_left.xpos", "8" },
+ { "balloon_send_left.ypos", "7" },
+ { "balloon_send_left.frames", "1" },
+ { "balloon_send_right", "RocksDC.pcx" },
+ { "balloon_send_right.xpos", "9" },
+ { "balloon_send_right.ypos", "7" },
+ { "balloon_send_right.frames", "1" },
+ { "balloon_send_up", "RocksDC.pcx" },
+ { "balloon_send_up.xpos", "10" },
+ { "balloon_send_up.ypos", "7" },
+ { "balloon_send_up.frames", "1" },
+ { "balloon_send_down", "RocksDC.pcx" },
+ { "balloon_send_down.xpos", "11" },
+ { "balloon_send_down.ypos", "7" },
+ { "balloon_send_down.frames", "1" },
+ { "balloon_send_any_direction", "RocksDC.pcx" },
+ { "balloon_send_any_direction.xpos", "7" },
+ { "balloon_send_any_direction.ypos", "0" },
+ { "balloon_send_any_direction.frames", "1" },
{ "emc_steelwall1", "RocksDC.pcx" },
{ "emc_steelwall1.xpos", "14" },
{ "tube_left_up.ypos", "7" },
{ "tube_left_up.frames", "1" },
- { "trap_inactive", "RocksMore.pcx" },
- { "trap_inactive.xpos", "4" },
- { "trap_inactive.ypos", "0" },
- { "trap_inactive.frames", "1" },
- { "trap_active", "RocksMore.pcx" },
- { "trap_active.xpos", "7" },
- { "trap_active.ypos", "0" },
- { "trap_active.frames", "1" },
- { "trap.activating", "RocksMore.pcx" },
- { "trap.activating.xpos", "4" },
- { "trap.activating.ypos", "0" },
- { "trap.activating.frames", "4" },
+ { "trap", "RocksMore.pcx" },
+ { "trap.xpos", "4" },
+ { "trap.ypos", "0" },
+ { "trap.frames", "1" },
+ { "trap.active", "RocksMore.pcx" },
+ { "trap.active.xpos", "4" },
+ { "trap.active.ypos", "0" },
+ { "trap.active.frames", "4" },
{ "bd_wall", "RocksMore.pcx" },
{ "bd_wall.xpos", "4" },
{ "bd_rock.pushing.ypos", "2" },
{ "bd_rock.pushing.frames", "4" },
- { "dx_bomb", "RocksMore.pcx" },
- { "dx_bomb.xpos", "7" },
- { "dx_bomb.ypos", "1" },
- { "dx_bomb.frames", "1" },
+ { "dx_supabomb", "RocksMore.pcx" },
+ { "dx_supabomb.xpos", "7" },
+ { "dx_supabomb.ypos", "1" },
+ { "dx_supabomb.frames", "1" },
{ NULL, NULL }
};
{ "sp_empty_space.digging", "empty.wav" },
{ "sp_base.digging", "base.wav" },
{ "sp_buggy_base.digging", "base.wav" },
- { "sp_buggy_base.activating", "bug.wav" },
+ { "sp_buggy_base.active", "bug.wav" },
{ "sp_infotron.collecting", "infotron.wav" },
{ "sp_infotron.impact", "pling.wav" },
{ "sp_zonk.pushing", "zonkpush.wav" },
{ "switchgate.opening", "oeffnen.wav" },
{ "switchgate.closing", "oeffnen.wav" },
{ "switchgate.passing", "gate.wav" },
- { "timegate_wheel.activating", "deng.wav" },
- { "timegate_wheel.active", "miep.wav" },
+ { "timegate_switch.activating", "deng.wav" },
+ { "timegate_switch.active", "miep.wav" },
{ "timegate.opening", "oeffnen.wav" },
{ "timegate.closing", "oeffnen.wav" },
{ "timegate.passing", "gate.wav" },
{ "shield_deadly", "shield (deadly, kills enemies)"},
{ "timegate", "time gate (open)" },
{ "timegate", "time gate (closed)" },
- { "timegate_wheel", "switch for time gate" },
- { "timegate_wheel", "switch for time gate" },
+ { "timegate_switch", "switch for time gate" },
+ { "timegate_switch", "switch for time gate" },
{ "balloon", "balloon" },
- { "wall", "send balloon to the left" },
- { "wall", "send balloon to the right" },
+ { "balloon_switch", "send balloon to the left" },
+ { "balloon_switch", "send balloon to the right" },
{ "balloon_switch", "send balloon up" },
{ "balloon_switch", "send balloon down" }, /* 330 */
{ "balloon_switch", "send balloon in any direction" },
#define PIX_SP 5
#define PIX_DC 6
#define PIX_MORE 7
-#define PIX_FONT_BIG 8
+#define PIX_FONT_BIG 8
#define PIX_FONT_SMALL 9
#define PIX_FONT_MEDIUM 10
#define PIX_FONT_EM 11
/* "real" level elements */
#define EL_EMPTY_SPACE 0
#define EL_EMPTY EL_EMPTY_SPACE
-#define EL_SAND 1
-#define EL_WALL 2
-#define EL_WALL_CRUMBLED 3
-#define EL_ROCK 4
-#define EL_KEY 5
-#define EL_EMERALD 6
-#define EL_EXIT_CLOSED 7
-#define EL_PLAYER 8
+#define EL_SAND 1
+#define EL_WALL 2
+#define EL_WALL_CRUMBLED 3
+#define EL_ROCK 4
+
+#define EL_UNUSED_5 5
+
+#define EL_EMERALD 6
+#define EL_EXIT_CLOSED 7
+#define EL_PLAYER 8
#define EL_BUG 9
#define EL_SPACESHIP 10
#define EL_YAMYAM 11
#define EL_WALL_BD_DIAMOND 58
#define EL_WALL_EMERALD_YELLOW 59
#define EL_DARK_YAMYAM 60
-#define EL_MAGIC_WALL_BD_OFF 61
+#define EL_BD_MAGIC_WALL 61
#define EL_INVISIBLE_STEELWALL 62
#define EL_UNUSED_63 63
#define EL_DYNABOMB_NR 64
#define EL_DYNABOMB_SZ 65
#define EL_DYNABOMB_XL 66
-#define EL_SOKOBAN_OBJEKT 67
-#define EL_SOKOBAN_FELD_LEER 68
-#define EL_SOKOBAN_FELD_VOLL 69
-#define EL_BUTTERFLY_RIGHT 70
-#define EL_BUTTERFLY_UP 71
-#define EL_BUTTERFLY_LEFT 72
-#define EL_BUTTERFLY_DOWN 73
-#define EL_FIREFLY_RIGHT 74
-#define EL_FIREFLY_UP 75
-#define EL_FIREFLY_LEFT 76
-#define EL_FIREFLY_DOWN 77
-#define EL_BUTTERFLY_1 EL_BUTTERFLY_DOWN
-#define EL_BUTTERFLY_2 EL_BUTTERFLY_LEFT
-#define EL_BUTTERFLY_3 EL_BUTTERFLY_UP
-#define EL_BUTTERFLY_4 EL_BUTTERFLY_RIGHT
-#define EL_FIREFLY_1 EL_FIREFLY_LEFT
-#define EL_FIREFLY_2 EL_FIREFLY_DOWN
-#define EL_FIREFLY_3 EL_FIREFLY_RIGHT
-#define EL_FIREFLY_4 EL_FIREFLY_UP
-#define EL_BUTTERFLY 78
-#define EL_FIREFLY 79
+#define EL_SOKOBAN_OBJECT 67
+#define EL_SOKOBAN_FIELD_EMPTY 68
+#define EL_SOKOBAN_FIELD_FULL 69
+#define EL_BD_BUTTERFLY_RIGHT 70
+#define EL_BD_BUTTERFLY_UP 71
+#define EL_BD_BUTTERFLY_LEFT 72
+#define EL_BD_BUTTERFLY_DOWN 73
+#define EL_BD_FIREFLY_RIGHT 74
+#define EL_BD_FIREFLY_UP 75
+#define EL_BD_FIREFLY_LEFT 76
+#define EL_BD_FIREFLY_DOWN 77
+#define EL_BD_BUTTERFLY_1 EL_BD_BUTTERFLY_DOWN
+#define EL_BD_BUTTERFLY_2 EL_BD_BUTTERFLY_LEFT
+#define EL_BD_BUTTERFLY_3 EL_BD_BUTTERFLY_UP
+#define EL_BD_BUTTERFLY_4 EL_BD_BUTTERFLY_RIGHT
+#define EL_BD_FIREFLY_1 EL_BD_FIREFLY_LEFT
+#define EL_BD_FIREFLY_2 EL_BD_FIREFLY_DOWN
+#define EL_BD_FIREFLY_3 EL_BD_FIREFLY_RIGHT
+#define EL_BD_FIREFLY_4 EL_BD_FIREFLY_UP
+#define EL_BD_BUTTERFLY 78
+#define EL_BD_FIREFLY 79
#define EL_PLAYER1 80
#define EL_PLAYER2 81
#define EL_PLAYER3 82
#define EL_MOLE 110
#define EL_PENGUIN 111
#define EL_SATELLITE 112
-#define EL_ARROW_LEFT 113
-#define EL_ARROW_RIGHT 114
-#define EL_ARROW_UP 115
-#define EL_ARROW_DOWN 116
+#define EL_ARROW_BLUE_LEFT 113
+#define EL_ARROW_BLUE_RIGHT 114
+#define EL_ARROW_BLUE_UP 115
+#define EL_ARROW_BLUE_DOWN 116
#define EL_PIG 117
#define EL_DRAGON 118
#define EL_SP_PORT_X (EL_SP_START + 22)
#define EL_SP_PORT_XY (EL_SP_START + 23)
#define EL_SP_ELECTRON (EL_SP_START + 24)
-#define EL_SP_BUG (EL_SP_START + 25)
+#define EL_SP_BUGGY_BASE (EL_SP_START + 25)
#define EL_SP_CHIP_LEFT (EL_SP_START + 26)
#define EL_SP_CHIP_RIGHT (EL_SP_START + 27)
#define EL_SP_HARD_BASE1 (EL_SP_START + 28)
#define EL_MOLE_UP 313
#define EL_MOLE_DOWN 314
#define EL_STEELWALL_SLANTED 315
-#define EL_SAND_INVISIBLE 316
+#define EL_INVISIBLE_SAND 316
#define EL_DX_UNKNOWN_15 317
#define EL_DX_UNKNOWN_42 318
#define EL_UNUSED_319 319
#define EL_UNUSED_320 320
-#define EL_SHIELD_ACTIVE 321
+#define EL_SHIELD_DEADLY 321
#define EL_TIMEGATE_OPEN 322
#define EL_TIMEGATE_CLOSED 323
-#define EL_TIMEGATE_SWITCH_ON 324
-#define EL_TIMEGATE_SWITCH_OFF 325
+#define EL_TIMEGATE_SWITCH_ACTIVE 324
+#define EL_TIMEGATE_SWITCH 325
#define EL_BALLOON 326
#define EL_BALLOON_SEND_LEFT 327
#define EL_BALLOON_SEND_RIGHT 328
#define EL_BALLOON_SEND_UP 329
#define EL_BALLOON_SEND_DOWN 330
-#define EL_BALLOON_SEND_ANY 331
+#define EL_BALLOON_SEND_ANY_DIRECTION 331
#define EL_EMC_STEELWALL1 332
#define EL_EMC_STEELWALL2 333
#define EL_EMC_WALL7 342
#define EL_EMC_WALL8 343
-#define EL_TUBE_CROSS 344
+#define EL_TUBE_ALL 344
#define EL_TUBE_VERTICAL 345
#define EL_TUBE_HORIZONTAL 346
-#define EL_TUBE_VERT_LEFT 347
-#define EL_TUBE_VERT_RIGHT 348
-#define EL_TUBE_HORIZ_UP 349
-#define EL_TUBE_HORIZ_DOWN 350
+#define EL_TUBE_VERTICAL_LEFT 347
+#define EL_TUBE_VERTICAL_RIGHT 348
+#define EL_TUBE_HORIZONTAL_UP 349
+#define EL_TUBE_HORIZONTAL_DOWN 350
#define EL_TUBE_LEFT_UP 351
#define EL_TUBE_LEFT_DOWN 352
#define EL_TUBE_RIGHT_UP 353
#define EL_TUBE_RIGHT_DOWN 354
#define EL_SPRING 355
-#define EL_TRAP_INACTIVE 356
+#define EL_TRAP 356
#define EL_DX_SUPABOMB 357
#define NUM_FILE_ELEMENTS 358
/* "real" (and therefore drawable) runtime elements */
-#define EL_FIRST_RUNTIME NUM_FILE_ELEMENTS
-
-#define EL_MAGIC_WALL_EMPTY (EL_FIRST_RUNTIME + 0)
-#define EL_MAGIC_WALL_BD_EMPTY (EL_FIRST_RUNTIME + 1)
-#define EL_MAGIC_WALL_FULL (EL_FIRST_RUNTIME + 2)
-#define EL_MAGIC_WALL_BD_FULL (EL_FIRST_RUNTIME + 3)
-#define EL_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME + 4)
-#define EL_MAGIC_WALL_BD_DEAD (EL_FIRST_RUNTIME + 5)
-#define EL_AUSGANG_ACT (EL_FIRST_RUNTIME + 6)
-#define EL_SP_TERMINAL_ACTIVE (EL_FIRST_RUNTIME + 7)
-#define EL_SP_BUG_ACTIVE (EL_FIRST_RUNTIME + 8)
-#define EL_EM_KEY1 (EL_FIRST_RUNTIME + 9)
-#define EL_EM_KEY2 (EL_FIRST_RUNTIME + 10)
-#define EL_EM_KEY3 (EL_FIRST_RUNTIME + 11)
-#define EL_EM_KEY4 (EL_FIRST_RUNTIME + 12)
-#define EL_DYNABOMB_ACTIVE_1 (EL_FIRST_RUNTIME + 13)
-#define EL_DYNABOMB_ACTIVE_2 (EL_FIRST_RUNTIME + 14)
-#define EL_DYNABOMB_ACTIVE_3 (EL_FIRST_RUNTIME + 15)
-#define EL_DYNABOMB_ACTIVE_4 (EL_FIRST_RUNTIME + 16)
-#define EL_SWITCHGATE_OPENING (EL_FIRST_RUNTIME + 17)
-#define EL_SWITCHGATE_CLOSING (EL_FIRST_RUNTIME + 18)
-#define EL_TIMEGATE_OPENING (EL_FIRST_RUNTIME + 19)
-#define EL_TIMEGATE_CLOSING (EL_FIRST_RUNTIME + 20)
-#define EL_PEARL_BREAKING (EL_FIRST_RUNTIME + 21)
-#define EL_TRAP_ACTIVE (EL_FIRST_RUNTIME + 22)
-#define EL_SPRING_MOVING (EL_FIRST_RUNTIME + 23)
-#define EL_SP_MURPHY_CLONE (EL_FIRST_RUNTIME + 24)
-#define EL_QUICKSAND_EMPTYING (EL_FIRST_RUNTIME + 25)
-#define EL_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME + 26)
-#define EL_MAGIC_WALL_BD_EMPTYING (EL_FIRST_RUNTIME + 27)
-#define EL_AMOEBA_DRIPPING (EL_FIRST_RUNTIME + 28)
-#define EL_SP_EXIT_OPEN (EL_FIRST_RUNTIME + 29)
-
-#define NUM_RUNTIME_ELEMENTS (EL_FIRST_RUNTIME + 30)
+#define EL_FIRST_RUNTIME_REAL NUM_FILE_ELEMENTS
+
+#define EL_MAGIC_WALL_EMPTY (EL_FIRST_RUNTIME_REAL + 0)
+#define EL_BD_MAGIC_WALL_EMPTY (EL_FIRST_RUNTIME_REAL + 1)
+#define EL_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 2)
+#define EL_BD_MAGIC_WALL_FULL (EL_FIRST_RUNTIME_REAL + 3)
+#define EL_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 4)
+#define EL_BD_MAGIC_WALL_DEAD (EL_FIRST_RUNTIME_REAL + 5)
+#define EL_EXIT_OPENING (EL_FIRST_RUNTIME_REAL + 6)
+#define EL_SP_TERMINAL_ACTIVE (EL_FIRST_RUNTIME_REAL + 7)
+#define EL_SP_BUGGY_BASE_ACTIVE (EL_FIRST_RUNTIME_REAL + 8)
+#define EL_EM_KEY1 (EL_FIRST_RUNTIME_REAL + 9)
+#define EL_EM_KEY2 (EL_FIRST_RUNTIME_REAL + 10)
+#define EL_EM_KEY3 (EL_FIRST_RUNTIME_REAL + 11)
+#define EL_EM_KEY4 (EL_FIRST_RUNTIME_REAL + 12)
+#define EL_DYNABOMB_ACTIVE_1 (EL_FIRST_RUNTIME_REAL + 13)
+#define EL_DYNABOMB_ACTIVE_2 (EL_FIRST_RUNTIME_REAL + 14)
+#define EL_DYNABOMB_ACTIVE_3 (EL_FIRST_RUNTIME_REAL + 15)
+#define EL_DYNABOMB_ACTIVE_4 (EL_FIRST_RUNTIME_REAL + 16)
+#define EL_SWITCHGATE_OPENING (EL_FIRST_RUNTIME_REAL + 17)
+#define EL_SWITCHGATE_CLOSING (EL_FIRST_RUNTIME_REAL + 18)
+#define EL_TIMEGATE_OPENING (EL_FIRST_RUNTIME_REAL + 19)
+#define EL_TIMEGATE_CLOSING (EL_FIRST_RUNTIME_REAL + 20)
+#define EL_PEARL_BREAKING (EL_FIRST_RUNTIME_REAL + 21)
+#define EL_TRAP_ACTIVE (EL_FIRST_RUNTIME_REAL + 22)
+#define EL_SPRING_MOVING (EL_FIRST_RUNTIME_REAL + 23)
+#define EL_SP_MURPHY_CLONE (EL_FIRST_RUNTIME_REAL + 24)
+#define EL_QUICKSAND_EMPTYING (EL_FIRST_RUNTIME_REAL + 25)
+#define EL_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 26)
+#define EL_BD_MAGIC_WALL_EMPTYING (EL_FIRST_RUNTIME_REAL + 27)
+#define EL_AMOEBA_DRIPPING (EL_FIRST_RUNTIME_REAL + 28)
+#define EL_SP_EXIT_OPEN (EL_FIRST_RUNTIME_REAL + 29)
/* "unreal" (and therefore not drawable) runtime elements */
-#define EL_FIRST_RUNTIME_UNREAL NUM_RUNTIME_ELEMENTS
+#define EL_FIRST_RUNTIME_UNREAL (EL_FIRST_RUNTIME_REAL + 30)
#define EL_BLOCKED (EL_FIRST_RUNTIME_UNREAL + 0)
-#define EL_EXPLODING (EL_FIRST_RUNTIME_UNREAL + 1)
+#define EL_EXPLOSION (EL_FIRST_RUNTIME_UNREAL + 1)
#define EL_CRACKINGNUT (EL_FIRST_RUNTIME_UNREAL + 2)
-#define EL_BLURB_LEFT (EL_FIRST_RUNTIME_UNREAL + 3)
-#define EL_BLURB_RIGHT (EL_FIRST_RUNTIME_UNREAL + 4)
-#define EL_AMOEBING (EL_FIRST_RUNTIME_UNREAL + 5)
-#define EL_DEAMOEBING (EL_FIRST_RUNTIME_UNREAL + 6)
-#define EL_MAUERND (EL_FIRST_RUNTIME_UNREAL + 7)
-#define EL_BURNING (EL_FIRST_RUNTIME_UNREAL + 8)
+#define EL_ACID_SPLASHING_LEFT (EL_FIRST_RUNTIME_UNREAL + 3)
+#define EL_ACID_SPLASHING_RIGHT (EL_FIRST_RUNTIME_UNREAL + 4)
+#define EL_AMOEBA_CREATING (EL_FIRST_RUNTIME_UNREAL + 5)
+#define EL_AMOEBA_SHRINKING (EL_FIRST_RUNTIME_UNREAL + 6)
+#define EL_WALL_GROWING_ACTIVE (EL_FIRST_RUNTIME_UNREAL + 7)
+#define EL_DRAGON_FIRE (EL_FIRST_RUNTIME_UNREAL + 8)
#define EL_PLAYER_IS_LEAVING (EL_FIRST_RUNTIME_UNREAL + 9)
#define EL_QUICKSAND_FILLING (EL_FIRST_RUNTIME_UNREAL + 10)
#define EL_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 11)
-#define EL_MAGIC_WALL_BD_FILLING (EL_FIRST_RUNTIME_UNREAL + 12)
-
-#define MAX_NUM_ELEMENTS (EL_FIRST_RUNTIME_UNREAL + 13)
+#define EL_BD_MAGIC_WALL_FILLING (EL_FIRST_RUNTIME_UNREAL + 12)
+
+/* dummy (not drawable) runtime elements (internal use only) */
+#define EL_FIRST_DUMMY (EL_FIRST_RUNTIME_UNREAL + 13)
+
+#define EL_STEELWALL_TOPLEFT (EL_FIRST_DUMMY + 0)
+#define EL_STEELWALL_TOPRIGHT (EL_FIRST_DUMMY + 1)
+#define EL_STEELWALL_BOTTOMLEFT (EL_FIRST_DUMMY + 2)
+#define EL_STEELWALL_BOTTOMRIGHT (EL_FIRST_DUMMY + 3)
+#define EL_STEELWALL_HORIZONTAL (EL_FIRST_DUMMY + 4)
+#define EL_STEELWALL_VERTICAL (EL_FIRST_DUMMY + 5)
+#define EL_INVISIBLE_STEELWALL_TOPLEFT (EL_FIRST_DUMMY + 6)
+#define EL_INVISIBLE_STEELWALL_TOPRIGHT (EL_FIRST_DUMMY + 7)
+#define EL_INVISIBLE_STEELWALL_BOTTOMLEFT (EL_FIRST_DUMMY + 8)
+#define EL_INVISIBLE_STEELWALL_BOTTOMRIGHT (EL_FIRST_DUMMY + 9)
+#define EL_INVISIBLE_STEELWALL_HORIZONTAL (EL_FIRST_DUMMY + 10)
+#define EL_INVISIBLE_STEELWALL_VERTICAL (EL_FIRST_DUMMY + 11)
+#define EL_SAND_CRUMBLED (EL_FIRST_DUMMY + 12)
+#define EL_BD_AMOEBA_PART1 (EL_FIRST_DUMMY + 13)
+#define EL_BD_AMOEBA_PART2 (EL_FIRST_DUMMY + 14)
+#define EL_BD_AMOEBA_PART3 (EL_FIRST_DUMMY + 15)
+#define EL_BD_AMOEBA_PART4 (EL_FIRST_DUMMY + 16)
+#define EL_AMOEBA_PART1 (EL_FIRST_DUMMY + 17)
+#define EL_AMOEBA_PART2 (EL_FIRST_DUMMY + 18)
+#define EL_AMOEBA_PART3 (EL_FIRST_DUMMY + 19)
+#define EL_AMOEBA_PART4 (EL_FIRST_DUMMY + 20)
+#define EL_AMOEBA_DEAD_PART1 (EL_FIRST_DUMMY + 21)
+#define EL_AMOEBA_DEAD_PART2 (EL_FIRST_DUMMY + 22)
+#define EL_AMOEBA_DEAD_PART3 (EL_FIRST_DUMMY + 23)
+#define EL_AMOEBA_DEAD_PART4 (EL_FIRST_DUMMY + 24)
+#define EL_DYNABOMB_ACTIVE (EL_FIRST_DUMMY + 25)
+#define EL_SHIELD_NORMAL_ACTIVE (EL_FIRST_DUMMY + 26)
+#define EL_SHIELD_DEADLY_ACTIVE (EL_FIRST_DUMMY + 27)
+#define EL_ARROW_RED_LEFT (EL_FIRST_DUMMY + 28)
+#define EL_ARROW_RED_RIGHT (EL_FIRST_DUMMY + 29)
+#define EL_ARROW_RED_UP (EL_FIRST_DUMMY + 30)
+#define EL_ARROW_RED_DOWN (EL_FIRST_DUMMY + 31)
+
+#define MAX_NUM_ELEMENTS (EL_FIRST_DUMMY + 32)
/* game graphics:
/* graphics from "RocksScreen" */
/* Zeile 0 (0) */
#define GFX_LEERRAUM (-1)
-#define GFX_ERDREICH 0
+#define GFX_ERDREICH 0
#define GFX_ERDENRAND 1
#define GFX_MORAST_LEER 2
#define GFX_MORAST_VOLL 3
#define GFX_BETON 4
-#define GFX_MAUERWERK 5
-#define GFX_FELSBODEN 6
-#define GFX_EDELSTEIN 8
+#define GFX_MAUERWERK 5
+#define GFX_FELSBODEN 6
+#define GFX_EDELSTEIN 8
#define GFX_DIAMANT 10
-#define GFX_FELSBROCKEN 12
+#define GFX_FELSBROCKEN 12
/* Zeile 1 (16) */
#define GFX_BADEWANNE1 16
#define GFX_SALZSAEURE 17
#define GFX_BADEWANNE3 32
#define GFX_BADEWANNE4 33
#define GFX_BADEWANNE5 34
-#define GFX_SMILEY 35
+#define GFX_SMILEY 35
#define GFX_PFORTE1 36
#define GFX_PFORTE2 37
#define GFX_PFORTE3 38
#define GFX_MAGIC_WALL_BD_FULL GFX_MAGIC_WALL_BD_OFF
#define GFX_MAGIC_WALL_BD_DEAD GFX_MAGIC_WALL_BD_OFF
/* Zeile 11 (176) */
-#define GFX_AUSGANG_ZU 176
-#define GFX_AUSGANG_ACT 177
-#define GFX_AUSGANG_AUF 180
+#define GFX_AUSGANG_ZU 176
+#define GFX_AUSGANG_ACT 177
+#define GFX_AUSGANG_AUF 180
#define GFX_MAMPFER2 184
#define GFX_DYNABOMB 188
#define GFX_DYNABOMB_NR 188
#define GFX_ACTION_IMPACT 9
#define GFX_ACTION_CRACKING 10
#define GFX_ACTION_ACTIVATING 11
-#define GFX_ACTION_ACTIVE 12
+#define GFX_ACTION_EATING 12
#define GFX_ACTION_OTHER 13
#define NUM_GFX_ACTIONS 14
#define IMG_SAND 1
#define IMG_SAND_CRUMBLED 2
#define IMG_QUICKSAND_EMPTY 3
-#define IMG_QUICKSAND_FULL 4
-#define IMG_QUICKSAND_SLIPPING 5
-#define IMG_STEELWALL 6
-#define IMG_WALL 7
-#define IMG_WALL_CRUMBLED 8
-#define IMG_EMERALD 9
-#define IMG_EMERALD_FALLING 10
-#define IMG_DIAMOND 11
-#define IMG_DIAMOND_FALLING 12
-#define IMG_ROCK 13
-#define IMG_ROCK_FALLING 14
-#define IMG_ROCK_PUSHING 15
-#define IMG_ACIDPOOL_TOPLEFT 16
-#define IMG_ACIDPOOL_TOPRIGHT 17
-#define IMG_ACIDPOOL_BOTTOMLEFT 18
-#define IMG_ACIDPOOL_BOTTOM 19
-#define IMG_ACIDPOOL_BOTTOMRIGHT 20
-#define IMG_ACID 21
-#define IMG_KEY1 22
-#define IMG_KEY2 23
-#define IMG_KEY3 24
-#define IMG_KEY4 25
-#define IMG_GAMEOFLIFE 26
-#define IMG_BIOMAZE 27
-#define IMG_BOMB 28
-#define IMG_NUT 29
-#define IMG_NUT_CRACKING 30
-#define IMG_GATE1 31
-#define IMG_GATE2 32
-#define IMG_GATE3 33
-#define IMG_GATE4 34
-#define IMG_GATE1_GRAY 35
-#define IMG_GATE2_GRAY 36
-#define IMG_GATE3_GRAY 37
-#define IMG_GATE4_GRAY 38
-#define IMG_DYNAMITE 39
-#define IMG_DYNAMITE_ACTICE 40
-#define IMG_SPACESHIP_RIGHT 41
-#define IMG_SPACESHIP_UP 42
-#define IMG_SPACESHIP_LEFT 43
-#define IMG_SPACESHIP_DOWN 44
-#define IMG_BUG_RIGHT 45
-#define IMG_BUG_UP 46
-#define IMG_BUG_LEFT 47
-#define IMG_BUG_DOWN 48
-#define IMG_PACMAN_RIGHT 49
-#define IMG_PACMAN_UP 50
-#define IMG_PACMAN_LEFT 51
-#define IMG_PACMAN_DOWN 52
-#define IMG_EXPLOSION 53
-#define IMG_YAMYAM 54
-#define IMG_YAMYAM_MOVING 55
-#define IMG_ROBOT 56
-#define IMG_ROBOT_WHEEL 57
-#define IMG_ROBOT_WHEEL_ACTIVE 58
-#define IMG_AMOEBA_DROP 59
-#define IMG_AMOEBA_CREATING 60
-#define IMG_AMOEBA1 61
-#define IMG_AMOEBA2 62
-#define IMG_AMOEBA3 63
-#define IMG_AMOEBA4 64
-#define IMG_AMOEBA_DEAD1 65
-#define IMG_AMOEBA_DEAD2 66
-#define IMG_AMOEBA_DEAD3 67
-#define IMG_AMOEBA_DEAD4 68
-#define IMG_LAMP 69
-#define IMG_LAMP_ACTIVE 70
-#define IMG_TIME_ORB_FULL 71
-#define IMG_TIME_ORB_EMPTY 72
-#define IMG_BD_AMOEBA 73
-#define IMG_SOKOBAN_OBJECT 74
-#define IMG_SOKOBAN_FIELD_EMPTY 75
-#define IMG_SOKOBAN_FIELD_FULL 76
-#define IMG_MAGIC_WALL 77
-#define IMG_MAGIC_WALL_ACTIVE 78
-#define IMG_BD_MAGIC_WALL 79
-#define IMG_BD_MAGIC_WALL_ACTIVE 80
-#define IMG_WALL_EMERALD 81
-#define IMG_WALL_DIAMOND 82
-#define IMG_WALL_EMERALD_RED 83
-#define IMG_WALL_EMERALD_PURPLE 84
-#define IMG_WALL_EMERALD_YELLOW 85
-#define IMG_WALL_BD_DIAMOND 86
-#define IMG_EMERALD_RED 87
-#define IMG_EMERALD_RED_FALLING 88
-#define IMG_EMERALD_PURPLE 89
-#define IMG_EMERALD_PURPLE_FALLING 90
-#define IMG_EMERALD_YELLOW 91
-#define IMG_EMERALD_YELLOW_FALLING 92
-#define IMG_WALL_GROWING_XY 93
-#define IMG_WALL_GROWING_X 94
-#define IMG_WALL_GROWING_Y 95
-#define IMG_DYNABOMB_XL 96
-#define IMG_BLACK_ORB 97
-#define IMG_SPEED_PILL 98
-#define IMG_BD_DIAMOND 99
-#define IMG_BD_DIAMOND_FALLING 100
-#define IMG_WALL_GROWING_RIGHT 101
-#define IMG_WALL_GROWING_LEFT 102
-#define IMG_EXIT_CLOSED 103
-#define IMG_EXIT_OPENING 104
-#define IMG_EXIT_OPEN 105
-#define IMG_DARK_YAMYAM 106
-#define IMG_DYNABOMB_ACTICE 107
-#define IMG_DYNABOMB_NR 108
-#define IMG_DYNABOMB_SZ 109
-#define IMG_ARROW_LEFT 110
-#define IMG_ARROW_RIGHT 111
-#define IMG_ARROW_UP 112
-#define IMG_ARROW_DOWN 113
-#define IMG_BD_BUTTERFLY 114
-#define IMG_BD_BUTTERFLY_MOVING 115
-#define IMG_BD_BUTTERFLY_RIGHT 116
-#define IMG_BD_BUTTERFLY_UP 117
-#define IMG_BD_BUTTERFLY_LEFT 118
-#define IMG_BD_BUTTERFLY_DOWN 119
-#define IMG_BD_FIREFLY 120
-#define IMG_BD_FIREFLY_MOVING 121
-#define IMG_BD_FIREFLY_RIGHT 122
-#define IMG_BD_FIREFLY_UP 123
-#define IMG_BD_FIREFLY_LEFT 124
-#define IMG_BD_FIREFLY_DOWN 125
-#define IMG_STEELWALL_TOPLEFT 126
-#define IMG_STEELWALL_TOPRIGHT 127
-#define IMG_STEELWALL_BOTTOMLEFT 128
-#define IMG_STEELWALL_BOTTOMRIGHT 129
-#define IMG_STEELWALL_HORIZONTAL 130
-#define IMG_INVISIBLE_STEELWALL_TOPLEFT 131
-#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 132
-#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 133
-#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 134
-#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 135
-#define IMG_PLAYER1_DOWN 136
-#define IMG_PLAYER1_DOWN_MOVING 137
-#define IMG_PLAYER1_DOWN_DIGGING 138
-#define IMG_PLAYER1_UP 139
-#define IMG_PLAYER1_UP_MOVING 140
-#define IMG_PLAYER1_UP_DIGGING 141
-#define IMG_PLAYER1_LEFT 142
-#define IMG_PLAYER1_LEFT_MOVING 143
-#define IMG_PLAYER1_LEFT_DIGGING 144
-#define IMG_PLAYER1_LEFT_PUSHING 145
-#define IMG_PLAYER1_RIGHT 146
-#define IMG_PLAYER1_RIGHT_MOVING 147
-#define IMG_PLAYER1_RIGHT_DIGGING 148
-#define IMG_PLAYER1_RIGHT_PUSHING 149
-#define IMG_PLAYER2_DOWN 150
-#define IMG_PLAYER2_DOWN_MOVING 151
-#define IMG_PLAYER2_DOWN_DIGGING 152
-#define IMG_PLAYER2_UP 153
-#define IMG_PLAYER2_UP_MOVING 154
-#define IMG_PLAYER2_UP_DIGGING 155
-#define IMG_PLAYER2_LEFT 156
-#define IMG_PLAYER2_LEFT_MOVING 157
-#define IMG_PLAYER2_LEFT_DIGGING 158
-#define IMG_PLAYER2_LEFT_PUSHING 159
-#define IMG_PLAYER2_RIGHT 160
-#define IMG_PLAYER2_RIGHT_MOVING 161
-#define IMG_PLAYER2_RIGHT_DIGGING 162
-#define IMG_PLAYER2_RIGHT_PUSHING 163
-#define IMG_PLAYER3_DOWN 164
-#define IMG_PLAYER3_DOWN_MOVING 165
-#define IMG_PLAYER3_DOWN_DIGGING 166
-#define IMG_PLAYER3_UP 167
-#define IMG_PLAYER3_UP_MOVING 168
-#define IMG_PLAYER3_UP_DIGGING 169
-#define IMG_PLAYER3_LEFT 170
-#define IMG_PLAYER3_LEFT_MOVING 171
-#define IMG_PLAYER3_LEFT_DIGGING 172
-#define IMG_PLAYER3_LEFT_PUSHING 173
-#define IMG_PLAYER3_RIGHT 174
-#define IMG_PLAYER3_RIGHT_MOVING 175
-#define IMG_PLAYER3_RIGHT_DIGGING 176
-#define IMG_PLAYER3_RIGHT_PUSHING 177
-#define IMG_PLAYER4_DOWN 178
-#define IMG_PLAYER4_DOWN_MOVING 179
-#define IMG_PLAYER4_DOWN_DIGGING 180
-#define IMG_PLAYER4_UP 181
-#define IMG_PLAYER4_UP_MOVING 182
-#define IMG_PLAYER4_UP_DIGGING 183
-#define IMG_PLAYER4_LEFT 184
-#define IMG_PLAYER4_LEFT_MOVING 185
-#define IMG_PLAYER4_LEFT_DIGGING 186
-#define IMG_PLAYER4_LEFT_PUSHING 187
-#define IMG_PLAYER4_RIGHT 188
-#define IMG_PLAYER4_RIGHT_MOVING 189
-#define IMG_PLAYER4_RIGHT_DIGGING 190
-#define IMG_PLAYER4_RIGHT_PUSHING 191
-#define IMG_WALL_GROWING_DOWN 192
-#define IMG_WALL_GROWING_UP 193
-#define IMG_SHIELD_NORMAL_ACTIVE 194
-#define IMG_SHIELD_DEADLY_ACTIVE 195
-#define IMG_PIG_DOWN 196
-#define IMG_PIG_DOWN_MOVING 197
-#define IMG_PIG_DOWN_EATING 198
-#define IMG_PIG_UP 199
-#define IMG_PIG_UP_MOVING 200
-#define IMG_PIG_UP_EATING 201
-#define IMG_PIG_LEFT 202
-#define IMG_PIG_LEFT_MOVING 203
-#define IMG_PIG_LEFT_EATING 204
-#define IMG_PIG_RIGHT 205
-#define IMG_PIG_RIGHT_MOVING 206
-#define IMG_PIG_RIGHT_EATING 207
-#define IMG_DRAGON_DOWN 208
-#define IMG_DRAGON_DOWN_MOVING 209
-#define IMG_DRAGON_DOWN_ATTACKING 210
-#define IMG_DRAGON_UP 211
-#define IMG_DRAGON_UP_MOVING 212
-#define IMG_DRAGON_UP_ATTACKING 213
-#define IMG_DRAGON_LEFT 214
-#define IMG_DRAGON_LEFT_MOVING 215
-#define IMG_DRAGON_LEFT_ATTACKING 216
-#define IMG_DRAGON_RIGHT 217
-#define IMG_DRAGON_RIGHT_MOVING 218
-#define IMG_DRAGON_RIGHT_ATTACKING 219
-#define IMG_MOLE_DOWN 220
-#define IMG_MOLE_DOWN_MOVING 221
-#define IMG_MOLE_DOWN_DIGGING 222
-#define IMG_MOLE_UP 223
-#define IMG_MOLE_UP_MOVING 224
-#define IMG_MOLE_UP_DIGGING 225
-#define IMG_MOLE_LEFT 226
-#define IMG_MOLE_LEFT_MOVING 227
-#define IMG_MOLE_LEFT_DIGGING 228
-#define IMG_MOLE_RIGHT 229
-#define IMG_MOLE_RIGHT_MOVING 230
-#define IMG_MOLE_RIGHT_DIGGING 231
-#define IMG_PENGUIN_DOWN 232
-#define IMG_PENGUIN_DOWN_MOVING 233
-#define IMG_PENGUIN_UP 234
-#define IMG_PENGUIN_UP_MOVING 235
-#define IMG_PENGUIN_LEFT 236
-#define IMG_PENGUIN_LEFT_MOVING 237
-#define IMG_PENGUIN_RIGHT 238
-#define IMG_PENGUIN_RIGHT_MOVING 239
-#define IMG_SATELLITE 240
-#define IMG_SATELLITE_MOVING 241
-#define IMG_ACID_SPLASHING_LEFT 242
-#define IMG_ACID_SPLASHING_RIGHT 243
-#define IMG_SPARK_BLUE 244
-#define IMG_SPARK_WHITE 245
-#define IMG_FLAMES_LEFT1 246
-#define IMG_FLAMES_LEFT2 247
-#define IMG_FLAMES_LEFT3 248
-#define IMG_FLAMES_RIGHT1 249
-#define IMG_FLAMES_RIGHT2 250
-#define IMG_FLAMES_RIGHT3 251
-#define IMG_FLAMES_UP1 252
-#define IMG_FLAMES_UP2 253
-#define IMG_FLAMES_UP3 254
-#define IMG_FLAMES_DOWN1 255
-#define IMG_FLAMES_DOWN2 256
-#define IMG_FLAMES_DOWN3 257
-#define IMG_SP_EMPTY_SPACE 258
-#define IMG_SP_ZONK 259
-#define IMG_SP_ZONK_FALLING 260
-#define IMG_SP_ZONK_PUSHING 261
-#define IMG_SP_BASE 262
-#define IMG_SP_MURPHY 263
-#define IMG_SP_MURPHY_LEFT 264
-#define IMG_SP_MURPHY_LEFT_MOVING 265
-#define IMG_SP_MURPHY_LEFT_DIGGING 266
-#define IMG_SP_MURPHY_LEFT_PUSHING 267
-#define IMG_SP_MURPHY_LEFT_SNAPPING 268
-#define IMG_SP_MURPHY_RIGHT 269
-#define IMG_SP_MURPHY_RIGHT_MOVING 270
-#define IMG_SP_MURPHY_RIGHT_DIGGING 271
-#define IMG_SP_MURPHY_RIGHT_PUSHING 272
-#define IMG_SP_MURPHY_RIGHT_SNAPPING 273
-#define IMG_SP_MURPHY_UP 274
-#define IMG_SP_MURPHY_UP_SNAPPING 275
-#define IMG_SP_MURPHY_DOWN 276
-#define IMG_SP_MURPHY_DOWN_SNAPPING 277
-#define IMG_SP_MURPHY_CLONE 278
-#define IMG_SP_INFOTRON 279
-#define IMG_SP_INFOTRON_FALLING 280
-#define IMG_SP_CHIP_SINGLE 281
-#define IMG_SP_CHIP_LEFT 282
-#define IMG_SP_CHIP_RIGHT 283
-#define IMG_SP_CHIP_UPPER 284
-#define IMG_SP_CHIP_LOWER 285
-#define IMG_SP_HARD_GRAY 286
-#define IMG_SP_HARD_GREEN 287
-#define IMG_SP_HARD_BLUE 288
-#define IMG_SP_HARD_RED 289
-#define IMG_SP_HARD_YELLOW 290
-#define IMG_SP_EXIT_CLOSED 291
-#define IMG_SP_EXIT_OPEN 292
-#define IMG_SP_DISK_ORANGE 293
-#define IMG_SP_DISK_ORANGE_FALLING 294
-#define IMG_SP_DISK_ORANGE_PUSHING 295
-#define IMG_SP_DISK_YELLOW 296
-#define IMG_SP_DISK_YELLOW_PUSHING 297
-#define IMG_SP_DISK_RED 298
-#define IMG_SP_DISK_RED_COLLECTING 299
-#define IMG_SP_PORT1_RIGHT 300
-#define IMG_SP_PORT1_DOWN 301
-#define IMG_SP_PORT1_LEFT 302
-#define IMG_SP_PORT1_UP 303
-#define IMG_SP_PORT2_RIGHT 304
-#define IMG_SP_PORT2_DOWN 305
-#define IMG_SP_PORT2_LEFT 306
-#define IMG_SP_PORT2_UP 307
-#define IMG_SP_PORT_X 308
-#define IMG_SP_PORT_Y 309
-#define IMG_SP_PORT_XY 310
-#define IMG_SP_SNIKSNAK 311
-#define IMG_SP_SNIKSNAK_LEFT 312
-#define IMG_SP_SNIKSNAK_RIGHT 313
-#define IMG_SP_SNIKSNAK_UP 314
-#define IMG_SP_SNIKSNAK_DOWN 315
-#define IMG_SP_ELECTRON 316
-#define IMG_SP_TERMINAL 317
-#define IMG_SP_TERMINAL_ACTIVE 318
-#define IMG_SP_BUGGY_BASE 319
-#define IMG_SP_BUGGY_BASE_ACTIVATING 320
-#define IMG_SP_HARD_BASE1 321
-#define IMG_SP_HARD_BASE2 322
-#define IMG_SP_HARD_BASE3 323
-#define IMG_SP_HARD_BASE4 324
-#define IMG_SP_HARD_BASE5 325
-#define IMG_SP_HARD_BASE6 326
-#define IMG_INVISIBLE_STEELWALL 327
-#define IMG_INVISIBLE_STEELWALL_ACTIVE 328
-#define IMG_INVISIBLE_SAND 329
-#define IMG_INVISIBLE_SAND_ACTIVE 330
-#define IMG_INVISIBLE_WALL 331
-#define IMG_INVISIBLE_WALL_ACTIVE 332
-#define IMG_EM_KEY1 333
-#define IMG_EM_KEY2 334
-#define IMG_EM_KEY3 335
-#define IMG_EM_KEY4 336
-#define IMG_EM_GATE1 337
-#define IMG_EM_GATE2 338
-#define IMG_EM_GATE3 339
-#define IMG_EM_GATE4 340
-#define IMG_EM_GATE1_GRAY 341
-#define IMG_EM_GATE2_GRAY 342
-#define IMG_EM_GATE3_GRAY 343
-#define IMG_EM_GATE4_GRAY 344
-#define IMG_SP_EXPLOSION 345
-#define IMG_SP_EXPLOSION_INFOTRON 346
-#define IMG_CONVEYOR_BELT1_MIDDLE 347
-#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE 348
-#define IMG_CONVEYOR_BELT1_LEFT 349
-#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE 350
-#define IMG_CONVEYOR_BELT1_RIGHT 351
-#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE 352
-#define IMG_CONVEYOR_BELT1_SWITCH_LEFT 353
-#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE 354
-#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT 355
-#define IMG_CONVEYOR_BELT2_MIDDLE 356
-#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE 357
-#define IMG_CONVEYOR_BELT2_LEFT 358
-#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE 359
-#define IMG_CONVEYOR_BELT2_RIGHT 360
-#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE 361
-#define IMG_CONVEYOR_BELT2_SWITCH_LEFT 362
-#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE 363
-#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT 364
-#define IMG_CONVEYOR_BELT3_MIDDLE 365
-#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE 366
-#define IMG_CONVEYOR_BELT3_LEFT 367
-#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE 368
-#define IMG_CONVEYOR_BELT3_RIGHT 369
-#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE 370
-#define IMG_CONVEYOR_BELT3_SWITCH_LEFT 371
-#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE 372
-#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT 373
-#define IMG_CONVEYOR_BELT4_MIDDLE 374
-#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE 375
-#define IMG_CONVEYOR_BELT4_LEFT 376
-#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE 377
-#define IMG_CONVEYOR_BELT4_RIGHT 378
-#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE 379
-#define IMG_CONVEYOR_BELT4_SWITCH_LEFT 380
-#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE 381
-#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT 382
-#define IMG_SWITCHGATE_SWITCH_UP 383
-#define IMG_SWITCHGATE_SWITCH_DOWN 384
-#define IMG_LIGHT_SWITCH 385
-#define IMG_LIGHT_SWITCH_ACTIVE 386
-#define IMG_TIMEGATE_WHEEL 387
-#define IMG_TIMEGATE_WHEEL_ACTIVE 388
-#define IMG_ENVELOPE 389
-#define IMG_SIGN_EXCLAMATION 390
-#define IMG_SIGN_STOP 391
-#define IMG_LANDMINE 392
-#define IMG_STEELWALL_SLANTED 393
-#define IMG_EXTRA_TIME 394
-#define IMG_SHIELD_DEADLY 395
-#define IMG_SHIELD_NORMAL 396
-#define IMG_SWITCHGATE_CLOSED 397
-#define IMG_SWITCHGATE_OPENING 398
-#define IMG_SWITCHGATE_OPEN 399
-#define IMG_SWITCHGATE_CLOSING 400
-#define IMG_TIMEGATE_CLOSED 401
-#define IMG_TIMEGATE_OPENING 402
-#define IMG_TIMEGATE_OPEN 403
-#define IMG_TIMEGATE_CLOSING 404
-#define IMG_BALLOON 405
-#define IMG_BALLOON_MOVING 406
-#define IMG_BALLOON_WINDROSE_LEFT 407
-#define IMG_BALLOON_WINDROSE_RIGHT 408
-#define IMG_BALLOON_WINDROSE_UP 409
-#define IMG_BALLOON_WINDROSE_DOWN 410
-#define IMG_BALLOON_WINDROSE_ALL 411
-#define IMG_EMC_STEELWALL1 412
-#define IMG_EMC_STEELWALL2 413
-#define IMG_EMC_STEELWALL3 414
-#define IMG_EMC_STEELWALL4 415
-#define IMG_EMC_WALL_PILLAR_UPPER 416
-#define IMG_EMC_WALL_PILLAR_MIDDLE 417
-#define IMG_EMC_WALL_PILLAR_LOWER 418
-#define IMG_EMC_WALL4 419
-#define IMG_EMC_WALL5 420
-#define IMG_EMC_WALL6 421
-#define IMG_EMC_WALL7 422
-#define IMG_EMC_WALL8 423
-#define IMG_ARROW_BLUE_LEFT 424
-#define IMG_ARROW_BLUE_RIGHT 425
-#define IMG_ARROW_BLUE_UP 426
-#define IMG_ARROW_BLUE_DOWN 427
-#define IMG_ARROW_RED_LEFT 428
-#define IMG_ARROW_RED_RIGHT 429
-#define IMG_ARROW_RED_UP 430
-#define IMG_ARROW_RED_DOWN 431
-#define IMG_SCROLLBAR_BLUE 432
-#define IMG_SCROLLBAR_RED 433
-#define IMG_SCROLLBAR_GREEN 434
-#define IMG_SCROLLBAR_YELLOW 435
-#define IMG_PEARL 436
-#define IMG_PEARL_BREAKING 437
-#define IMG_CRYSTAL 438
-#define IMG_WALL_PEARL 439
-#define IMG_WALL_CRYSTAL 440
-#define IMG_SPRING 441
-#define IMG_TUBE_RIGHT_DOWN 442
-#define IMG_TUBE_HORIZONTAL_DOWN 443
-#define IMG_TUBE_LEFT_DOWN 444
-#define IMG_TUBE_HORIZONTAL 445
-#define IMG_TUBE_VERTICAL_RIGHT 446
-#define IMG_TUBE_ALL 447
-#define IMG_TUBE_VERTICAL_LEFT 448
-#define IMG_TUBE_VERTICAL 449
-#define IMG_TUBE_RIGHT_UP 450
-#define IMG_TUBE_HORIZONTAL_UP 451
-#define IMG_TUBE_LEFT_UP 452
-#define IMG_TRAP_INACTIVE 453
-#define IMG_TRAP_ACTIVE 454
-#define IMG_TRAP_ACTIVATING 455
-#define IMG_BD_WALL 456
-#define IMG_BD_ROCK 457
-#define IMG_BD_ROCK_FALLING 458
-#define IMG_BD_ROCK_PUSHING 459
-#define IMG_DX_BOMB 460
-
-#define NUM_IMAGE_FILES 461
+#define IMG_QUICKSAND_FILLING 4
+#define IMG_QUICKSAND_FULL 5
+#define IMG_QUICKSAND_EMPTYING 6
+#define IMG_STEELWALL 7
+#define IMG_WALL 8
+#define IMG_WALL_CRUMBLED 9
+#define IMG_EMERALD 10
+#define IMG_EMERALD_FALLING 11
+#define IMG_DIAMOND 12
+#define IMG_DIAMOND_FALLING 13
+#define IMG_ROCK 14
+#define IMG_ROCK_FALLING 15
+#define IMG_ROCK_PUSHING 16
+#define IMG_ACIDPOOL_TOPLEFT 17
+#define IMG_ACIDPOOL_TOPRIGHT 18
+#define IMG_ACIDPOOL_BOTTOMLEFT 19
+#define IMG_ACIDPOOL_BOTTOM 20
+#define IMG_ACIDPOOL_BOTTOMRIGHT 21
+#define IMG_ACID 22
+#define IMG_KEY1 23
+#define IMG_KEY2 24
+#define IMG_KEY3 25
+#define IMG_KEY4 26
+#define IMG_GAMEOFLIFE 27
+#define IMG_BIOMAZE 28
+#define IMG_BOMB 29
+#define IMG_NUT 30
+#define IMG_NUT_CRACKING 31
+#define IMG_GATE1 32
+#define IMG_GATE2 33
+#define IMG_GATE3 34
+#define IMG_GATE4 35
+#define IMG_GATE1_GRAY 36
+#define IMG_GATE2_GRAY 37
+#define IMG_GATE3_GRAY 38
+#define IMG_GATE4_GRAY 39
+#define IMG_DYNAMITE 40
+#define IMG_DYNAMITE_ACTIVE 41
+#define IMG_SPACESHIP_RIGHT 42
+#define IMG_SPACESHIP_UP 43
+#define IMG_SPACESHIP_LEFT 44
+#define IMG_SPACESHIP_DOWN 45
+#define IMG_BUG_RIGHT 46
+#define IMG_BUG_UP 47
+#define IMG_BUG_LEFT 48
+#define IMG_BUG_DOWN 49
+#define IMG_PACMAN_RIGHT 50
+#define IMG_PACMAN_UP 51
+#define IMG_PACMAN_LEFT 52
+#define IMG_PACMAN_DOWN 53
+#define IMG_EXPLOSION 54
+#define IMG_YAMYAM 55
+#define IMG_YAMYAM_MOVING 56
+#define IMG_ROBOT 57
+#define IMG_ROBOT_WHEEL 58
+#define IMG_ROBOT_WHEEL_ACTIVE 59
+#define IMG_AMOEBA_DROP 60
+#define IMG_AMOEBA_CREATING 61
+#define IMG_AMOEBA_PART1 62
+#define IMG_AMOEBA_PART2 63
+#define IMG_AMOEBA_PART3 64
+#define IMG_AMOEBA_PART4 65
+#define IMG_AMOEBA_DEAD_PART1 66
+#define IMG_AMOEBA_DEAD_PART2 67
+#define IMG_AMOEBA_DEAD_PART3 68
+#define IMG_AMOEBA_DEAD_PART4 69
+#define IMG_LAMP 70
+#define IMG_LAMP_ACTIVE 71
+#define IMG_TIME_ORB_FULL 72
+#define IMG_TIME_ORB_EMPTY 73
+#define IMG_BD_AMOEBA 74
+#define IMG_BD_AMOEBA_PART1 75
+#define IMG_BD_AMOEBA_PART2 76
+#define IMG_BD_AMOEBA_PART3 77
+#define IMG_BD_AMOEBA_PART4 78
+#define IMG_SOKOBAN_OBJECT 79
+#define IMG_SOKOBAN_FIELD_EMPTY 80
+#define IMG_SOKOBAN_FIELD_FULL 81
+#define IMG_MAGIC_WALL 82
+#define IMG_MAGIC_WALL_ACTIVE 83
+#define IMG_MAGIC_WALL_FILLING 84
+#define IMG_MAGIC_WALL_EMPTYING 85
+#define IMG_BD_MAGIC_WALL 86
+#define IMG_BD_MAGIC_WALL_ACTIVE 87
+#define IMG_BD_MAGIC_WALL_FILLING 88
+#define IMG_BD_MAGIC_WALL_EMPTYING 89
+#define IMG_WALL_EMERALD 90
+#define IMG_WALL_DIAMOND 91
+#define IMG_WALL_EMERALD_RED 92
+#define IMG_WALL_EMERALD_PURPLE 93
+#define IMG_WALL_EMERALD_YELLOW 94
+#define IMG_WALL_BD_DIAMOND 95
+#define IMG_EMERALD_RED 96
+#define IMG_EMERALD_RED_FALLING 97
+#define IMG_EMERALD_PURPLE 98
+#define IMG_EMERALD_PURPLE_FALLING 99
+#define IMG_EMERALD_YELLOW 100
+#define IMG_EMERALD_YELLOW_FALLING 101
+#define IMG_WALL_GROWING_XY 102
+#define IMG_WALL_GROWING_X 103
+#define IMG_WALL_GROWING_Y 104
+#define IMG_DYNABOMB_XL 105
+#define IMG_BLACK_ORB 106
+#define IMG_SPEED_PILL 107
+#define IMG_BD_DIAMOND 108
+#define IMG_BD_DIAMOND_FALLING 109
+#define IMG_WALL_GROWING_RIGHT 110
+#define IMG_WALL_GROWING_LEFT 111
+#define IMG_EXIT_CLOSED 112
+#define IMG_EXIT_OPENING 113
+#define IMG_EXIT_OPEN 114
+#define IMG_DARK_YAMYAM 115
+#define IMG_DYNABOMB_ACTIVE 116
+#define IMG_DYNABOMB_NR 117
+#define IMG_DYNABOMB_SZ 118
+#define IMG_ARROW_LEFT 119
+#define IMG_ARROW_RIGHT 120
+#define IMG_ARROW_UP 121
+#define IMG_ARROW_DOWN 122
+#define IMG_BD_BUTTERFLY 123
+#define IMG_BD_BUTTERFLY_MOVING 124
+#define IMG_BD_BUTTERFLY_RIGHT 125
+#define IMG_BD_BUTTERFLY_UP 126
+#define IMG_BD_BUTTERFLY_LEFT 127
+#define IMG_BD_BUTTERFLY_DOWN 128
+#define IMG_BD_FIREFLY 129
+#define IMG_BD_FIREFLY_MOVING 130
+#define IMG_BD_FIREFLY_RIGHT 131
+#define IMG_BD_FIREFLY_UP 132
+#define IMG_BD_FIREFLY_LEFT 133
+#define IMG_BD_FIREFLY_DOWN 134
+#define IMG_STEELWALL_TOPLEFT 135
+#define IMG_STEELWALL_TOPRIGHT 136
+#define IMG_STEELWALL_BOTTOMLEFT 137
+#define IMG_STEELWALL_BOTTOMRIGHT 138
+#define IMG_STEELWALL_HORIZONTAL 139
+#define IMG_STEELWALL_VERTICAL 140
+#define IMG_INVISIBLE_STEELWALL_TOPLEFT 141
+#define IMG_INVISIBLE_STEELWALL_TOPRIGHT 142
+#define IMG_INVISIBLE_STEELWALL_BOTTOMLEFT 143
+#define IMG_INVISIBLE_STEELWALL_BOTTOMRIGHT 144
+#define IMG_INVISIBLE_STEELWALL_HORIZONTAL 145
+#define IMG_INVISIBLE_STEELWALL_VERTICAL 146
+#define IMG_PLAYER1 147
+#define IMG_PLAYER1_DOWN 148
+#define IMG_PLAYER1_DOWN_MOVING 149
+#define IMG_PLAYER1_DOWN_DIGGING 150
+#define IMG_PLAYER1_UP 151
+#define IMG_PLAYER1_UP_MOVING 152
+#define IMG_PLAYER1_UP_DIGGING 153
+#define IMG_PLAYER1_LEFT 154
+#define IMG_PLAYER1_LEFT_MOVING 155
+#define IMG_PLAYER1_LEFT_DIGGING 156
+#define IMG_PLAYER1_LEFT_PUSHING 157
+#define IMG_PLAYER1_RIGHT 158
+#define IMG_PLAYER1_RIGHT_MOVING 159
+#define IMG_PLAYER1_RIGHT_DIGGING 160
+#define IMG_PLAYER1_RIGHT_PUSHING 161
+#define IMG_PLAYER2 162
+#define IMG_PLAYER2_DOWN 163
+#define IMG_PLAYER2_DOWN_MOVING 164
+#define IMG_PLAYER2_DOWN_DIGGING 165
+#define IMG_PLAYER2_UP 166
+#define IMG_PLAYER2_UP_MOVING 167
+#define IMG_PLAYER2_UP_DIGGING 168
+#define IMG_PLAYER2_LEFT 169
+#define IMG_PLAYER2_LEFT_MOVING 170
+#define IMG_PLAYER2_LEFT_DIGGING 171
+#define IMG_PLAYER2_LEFT_PUSHING 172
+#define IMG_PLAYER2_RIGHT 173
+#define IMG_PLAYER2_RIGHT_MOVING 174
+#define IMG_PLAYER2_RIGHT_DIGGING 175
+#define IMG_PLAYER2_RIGHT_PUSHING 176
+#define IMG_PLAYER3 177
+#define IMG_PLAYER3_DOWN 178
+#define IMG_PLAYER3_DOWN_MOVING 179
+#define IMG_PLAYER3_DOWN_DIGGING 180
+#define IMG_PLAYER3_UP 181
+#define IMG_PLAYER3_UP_MOVING 182
+#define IMG_PLAYER3_UP_DIGGING 183
+#define IMG_PLAYER3_LEFT 184
+#define IMG_PLAYER3_LEFT_MOVING 185
+#define IMG_PLAYER3_LEFT_DIGGING 186
+#define IMG_PLAYER3_LEFT_PUSHING 187
+#define IMG_PLAYER3_RIGHT 188
+#define IMG_PLAYER3_RIGHT_MOVING 189
+#define IMG_PLAYER3_RIGHT_DIGGING 190
+#define IMG_PLAYER3_RIGHT_PUSHING 191
+#define IMG_PLAYER4 192
+#define IMG_PLAYER4_DOWN 193
+#define IMG_PLAYER4_DOWN_MOVING 194
+#define IMG_PLAYER4_DOWN_DIGGING 195
+#define IMG_PLAYER4_UP 196
+#define IMG_PLAYER4_UP_MOVING 197
+#define IMG_PLAYER4_UP_DIGGING 198
+#define IMG_PLAYER4_LEFT 199
+#define IMG_PLAYER4_LEFT_MOVING 200
+#define IMG_PLAYER4_LEFT_DIGGING 201
+#define IMG_PLAYER4_LEFT_PUSHING 202
+#define IMG_PLAYER4_RIGHT 203
+#define IMG_PLAYER4_RIGHT_MOVING 204
+#define IMG_PLAYER4_RIGHT_DIGGING 205
+#define IMG_PLAYER4_RIGHT_PUSHING 206
+#define IMG_WALL_GROWING_DOWN 207
+#define IMG_WALL_GROWING_UP 208
+#define IMG_SHIELD_NORMAL_ACTIVE 209
+#define IMG_SHIELD_DEADLY_ACTIVE 210
+#define IMG_PIG_DOWN 211
+#define IMG_PIG_DOWN_MOVING 212
+#define IMG_PIG_DOWN_EATING 213
+#define IMG_PIG_UP 214
+#define IMG_PIG_UP_MOVING 215
+#define IMG_PIG_UP_EATING 216
+#define IMG_PIG_LEFT 217
+#define IMG_PIG_LEFT_MOVING 218
+#define IMG_PIG_LEFT_EATING 219
+#define IMG_PIG_RIGHT 220
+#define IMG_PIG_RIGHT_MOVING 221
+#define IMG_PIG_RIGHT_EATING 222
+#define IMG_DRAGON_DOWN 223
+#define IMG_DRAGON_DOWN_MOVING 224
+#define IMG_DRAGON_DOWN_ATTACKING 225
+#define IMG_DRAGON_UP 226
+#define IMG_DRAGON_UP_MOVING 227
+#define IMG_DRAGON_UP_ATTACKING 228
+#define IMG_DRAGON_LEFT 229
+#define IMG_DRAGON_LEFT_MOVING 230
+#define IMG_DRAGON_LEFT_ATTACKING 231
+#define IMG_DRAGON_RIGHT 232
+#define IMG_DRAGON_RIGHT_MOVING 233
+#define IMG_DRAGON_RIGHT_ATTACKING 234
+#define IMG_MOLE_DOWN 235
+#define IMG_MOLE_DOWN_MOVING 236
+#define IMG_MOLE_DOWN_DIGGING 237
+#define IMG_MOLE_UP 238
+#define IMG_MOLE_UP_MOVING 239
+#define IMG_MOLE_UP_DIGGING 240
+#define IMG_MOLE_LEFT 241
+#define IMG_MOLE_LEFT_MOVING 242
+#define IMG_MOLE_LEFT_DIGGING 243
+#define IMG_MOLE_RIGHT 244
+#define IMG_MOLE_RIGHT_MOVING 245
+#define IMG_MOLE_RIGHT_DIGGING 246
+#define IMG_PENGUIN_DOWN 247
+#define IMG_PENGUIN_DOWN_MOVING 248
+#define IMG_PENGUIN_UP 249
+#define IMG_PENGUIN_UP_MOVING 250
+#define IMG_PENGUIN_LEFT 251
+#define IMG_PENGUIN_LEFT_MOVING 252
+#define IMG_PENGUIN_RIGHT 253
+#define IMG_PENGUIN_RIGHT_MOVING 254
+#define IMG_SATELLITE 255
+#define IMG_SATELLITE_MOVING 256
+#define IMG_ACID_SPLASHING_LEFT 257
+#define IMG_ACID_SPLASHING_RIGHT 258
+#define IMG_SPARK_BLUE 259
+#define IMG_SPARK_WHITE 260
+#define IMG_DRAGON_FIRE_LEFT1 261
+#define IMG_DRAGON_FIRE_LEFT2 262
+#define IMG_DRAGON_FIRE_LEFT3 263
+#define IMG_DRAGON_FIRE_RIGHT1 264
+#define IMG_DRAGON_FIRE_RIGHT2 265
+#define IMG_DRAGON_FIRE_RIGHT3 266
+#define IMG_DRAGON_FIRE_UP1 267
+#define IMG_DRAGON_FIRE_UP2 268
+#define IMG_DRAGON_FIRE_UP3 269
+#define IMG_DRAGON_FIRE_DOWN1 270
+#define IMG_DRAGON_FIRE_DOWN2 271
+#define IMG_DRAGON_FIRE_DOWN3 272
+#define IMG_SP_EMPTY_SPACE 273
+#define IMG_SP_ZONK 274
+#define IMG_SP_ZONK_FALLING 275
+#define IMG_SP_ZONK_PUSHING 276
+#define IMG_SP_BASE 277
+#define IMG_SP_MURPHY 278
+#define IMG_SP_MURPHY_LEFT 279
+#define IMG_SP_MURPHY_LEFT_MOVING 280
+#define IMG_SP_MURPHY_LEFT_DIGGING 281
+#define IMG_SP_MURPHY_LEFT_PUSHING 282
+#define IMG_SP_MURPHY_LEFT_SNAPPING 283
+#define IMG_SP_MURPHY_RIGHT 284
+#define IMG_SP_MURPHY_RIGHT_MOVING 285
+#define IMG_SP_MURPHY_RIGHT_DIGGING 286
+#define IMG_SP_MURPHY_RIGHT_PUSHING 287
+#define IMG_SP_MURPHY_RIGHT_SNAPPING 288
+#define IMG_SP_MURPHY_UP 289
+#define IMG_SP_MURPHY_UP_SNAPPING 290
+#define IMG_SP_MURPHY_DOWN 291
+#define IMG_SP_MURPHY_DOWN_SNAPPING 292
+#define IMG_SP_MURPHY_CLONE 293
+#define IMG_SP_INFOTRON 294
+#define IMG_SP_INFOTRON_FALLING 295
+#define IMG_SP_CHIP_SINGLE 296
+#define IMG_SP_CHIP_LEFT 297
+#define IMG_SP_CHIP_RIGHT 298
+#define IMG_SP_CHIP_UPPER 299
+#define IMG_SP_CHIP_LOWER 300
+#define IMG_SP_HARD_GRAY 301
+#define IMG_SP_HARD_GREEN 302
+#define IMG_SP_HARD_BLUE 303
+#define IMG_SP_HARD_RED 304
+#define IMG_SP_HARD_YELLOW 305
+#define IMG_SP_EXIT_CLOSED 306
+#define IMG_SP_EXIT_OPEN 307
+#define IMG_SP_DISK_ORANGE 308
+#define IMG_SP_DISK_ORANGE_FALLING 309
+#define IMG_SP_DISK_ORANGE_PUSHING 310
+#define IMG_SP_DISK_YELLOW 311
+#define IMG_SP_DISK_YELLOW_PUSHING 312
+#define IMG_SP_DISK_RED 313
+#define IMG_SP_DISK_RED_COLLECTING 314
+#define IMG_SP_PORT1_RIGHT 315
+#define IMG_SP_PORT1_DOWN 316
+#define IMG_SP_PORT1_LEFT 317
+#define IMG_SP_PORT1_UP 318
+#define IMG_SP_PORT2_RIGHT 319
+#define IMG_SP_PORT2_DOWN 320
+#define IMG_SP_PORT2_LEFT 321
+#define IMG_SP_PORT2_UP 322
+#define IMG_SP_PORT_X 323
+#define IMG_SP_PORT_Y 324
+#define IMG_SP_PORT_XY 325
+#define IMG_SP_SNIKSNAK 326
+#define IMG_SP_SNIKSNAK_LEFT 327
+#define IMG_SP_SNIKSNAK_RIGHT 328
+#define IMG_SP_SNIKSNAK_UP 329
+#define IMG_SP_SNIKSNAK_DOWN 330
+#define IMG_SP_ELECTRON 331
+#define IMG_SP_TERMINAL 332
+#define IMG_SP_TERMINAL_ACTIVE 333
+#define IMG_SP_BUGGY_BASE 334
+#define IMG_SP_BUGGY_BASE_ACTIVATING 335
+#define IMG_SP_HARD_BASE1 336
+#define IMG_SP_HARD_BASE2 337
+#define IMG_SP_HARD_BASE3 338
+#define IMG_SP_HARD_BASE4 339
+#define IMG_SP_HARD_BASE5 340
+#define IMG_SP_HARD_BASE6 341
+#define IMG_INVISIBLE_STEELWALL 342
+#define IMG_INVISIBLE_STEELWALL_ACTIVE 343
+#define IMG_INVISIBLE_SAND 344
+#define IMG_INVISIBLE_SAND_ACTIVE 345
+#define IMG_INVISIBLE_WALL 346
+#define IMG_INVISIBLE_WALL_ACTIVE 347
+#define IMG_EM_KEY1 348
+#define IMG_EM_KEY2 349
+#define IMG_EM_KEY3 350
+#define IMG_EM_KEY4 351
+#define IMG_EM_GATE1 352
+#define IMG_EM_GATE2 353
+#define IMG_EM_GATE3 354
+#define IMG_EM_GATE4 355
+#define IMG_EM_GATE1_GRAY 356
+#define IMG_EM_GATE2_GRAY 357
+#define IMG_EM_GATE3_GRAY 358
+#define IMG_EM_GATE4_GRAY 359
+#define IMG_SP_EXPLOSION 360
+#define IMG_SP_EXPLOSION_INFOTRON 361
+#define IMG_CONVEYOR_BELT1_MIDDLE 362
+#define IMG_CONVEYOR_BELT1_MIDDLE_ACTIVE 363
+#define IMG_CONVEYOR_BELT1_LEFT 364
+#define IMG_CONVEYOR_BELT1_LEFT_ACTIVE 365
+#define IMG_CONVEYOR_BELT1_RIGHT 366
+#define IMG_CONVEYOR_BELT1_RIGHT_ACTIVE 367
+#define IMG_CONVEYOR_BELT1_SWITCH_LEFT 368
+#define IMG_CONVEYOR_BELT1_SWITCH_MIDDLE 369
+#define IMG_CONVEYOR_BELT1_SWITCH_RIGHT 370
+#define IMG_CONVEYOR_BELT2_MIDDLE 371
+#define IMG_CONVEYOR_BELT2_MIDDLE_ACTIVE 372
+#define IMG_CONVEYOR_BELT2_LEFT 373
+#define IMG_CONVEYOR_BELT2_LEFT_ACTIVE 374
+#define IMG_CONVEYOR_BELT2_RIGHT 375
+#define IMG_CONVEYOR_BELT2_RIGHT_ACTIVE 376
+#define IMG_CONVEYOR_BELT2_SWITCH_LEFT 377
+#define IMG_CONVEYOR_BELT2_SWITCH_MIDDLE 378
+#define IMG_CONVEYOR_BELT2_SWITCH_RIGHT 379
+#define IMG_CONVEYOR_BELT3_MIDDLE 380
+#define IMG_CONVEYOR_BELT3_MIDDLE_ACTIVE 381
+#define IMG_CONVEYOR_BELT3_LEFT 382
+#define IMG_CONVEYOR_BELT3_LEFT_ACTIVE 383
+#define IMG_CONVEYOR_BELT3_RIGHT 384
+#define IMG_CONVEYOR_BELT3_RIGHT_ACTIVE 385
+#define IMG_CONVEYOR_BELT3_SWITCH_LEFT 386
+#define IMG_CONVEYOR_BELT3_SWITCH_MIDDLE 387
+#define IMG_CONVEYOR_BELT3_SWITCH_RIGHT 388
+#define IMG_CONVEYOR_BELT4_MIDDLE 389
+#define IMG_CONVEYOR_BELT4_MIDDLE_ACTIVE 390
+#define IMG_CONVEYOR_BELT4_LEFT 391
+#define IMG_CONVEYOR_BELT4_LEFT_ACTIVE 392
+#define IMG_CONVEYOR_BELT4_RIGHT 393
+#define IMG_CONVEYOR_BELT4_RIGHT_ACTIVE 394
+#define IMG_CONVEYOR_BELT4_SWITCH_LEFT 395
+#define IMG_CONVEYOR_BELT4_SWITCH_MIDDLE 396
+#define IMG_CONVEYOR_BELT4_SWITCH_RIGHT 397
+#define IMG_SWITCHGATE_SWITCH_UP 398
+#define IMG_SWITCHGATE_SWITCH_DOWN 399
+#define IMG_LIGHT_SWITCH 400
+#define IMG_LIGHT_SWITCH_ACTIVE 401
+#define IMG_TIMEGATE_SWITCH 402
+#define IMG_TIMEGATE_SWITCH_ACTIVE 403
+#define IMG_ENVELOPE 404
+#define IMG_SIGN_EXCLAMATION 405
+#define IMG_SIGN_STOP 406
+#define IMG_LANDMINE 407
+#define IMG_STEELWALL_SLANTED 408
+#define IMG_EXTRA_TIME 409
+#define IMG_SHIELD_DEADLY 410
+#define IMG_SHIELD_NORMAL 411
+#define IMG_SWITCHGATE_CLOSED 412
+#define IMG_SWITCHGATE_OPENING 413
+#define IMG_SWITCHGATE_OPEN 414
+#define IMG_SWITCHGATE_CLOSING 415
+#define IMG_TIMEGATE_CLOSED 416
+#define IMG_TIMEGATE_OPENING 417
+#define IMG_TIMEGATE_OPEN 418
+#define IMG_TIMEGATE_CLOSING 419
+#define IMG_BALLOON 420
+#define IMG_BALLOON_MOVING 421
+#define IMG_BALLOON_SEND_LEFT 422
+#define IMG_BALLOON_SEND_RIGHT 423
+#define IMG_BALLOON_SEND_UP 424
+#define IMG_BALLOON_SEND_DOWN 425
+#define IMG_BALLOON_SEND_ANY_DIRECTION 426
+#define IMG_EMC_STEELWALL1 427
+#define IMG_EMC_STEELWALL2 428
+#define IMG_EMC_STEELWALL3 429
+#define IMG_EMC_STEELWALL4 430
+#define IMG_EMC_WALL_PILLAR_UPPER 431
+#define IMG_EMC_WALL_PILLAR_MIDDLE 432
+#define IMG_EMC_WALL_PILLAR_LOWER 433
+#define IMG_EMC_WALL4 434
+#define IMG_EMC_WALL5 435
+#define IMG_EMC_WALL6 436
+#define IMG_EMC_WALL7 437
+#define IMG_EMC_WALL8 438
+#define IMG_ARROW_BLUE_LEFT 439
+#define IMG_ARROW_BLUE_RIGHT 440
+#define IMG_ARROW_BLUE_UP 441
+#define IMG_ARROW_BLUE_DOWN 442
+#define IMG_ARROW_RED_LEFT 443
+#define IMG_ARROW_RED_RIGHT 444
+#define IMG_ARROW_RED_UP 445
+#define IMG_ARROW_RED_DOWN 446
+#define IMG_SCROLLBAR_BLUE 447
+#define IMG_SCROLLBAR_RED 448
+#define IMG_SCROLLBAR_GREEN 449
+#define IMG_SCROLLBAR_YELLOW 450
+#define IMG_PEARL 451
+#define IMG_PEARL_BREAKING 452
+#define IMG_CRYSTAL 453
+#define IMG_WALL_PEARL 454
+#define IMG_WALL_CRYSTAL 455
+#define IMG_SPRING 456
+#define IMG_TUBE_RIGHT_DOWN 457
+#define IMG_TUBE_HORIZONTAL_DOWN 458
+#define IMG_TUBE_LEFT_DOWN 459
+#define IMG_TUBE_HORIZONTAL 460
+#define IMG_TUBE_VERTICAL_RIGHT 461
+#define IMG_TUBE_ALL 462
+#define IMG_TUBE_VERTICAL_LEFT 463
+#define IMG_TUBE_VERTICAL 464
+#define IMG_TUBE_RIGHT_UP 465
+#define IMG_TUBE_HORIZONTAL_UP 466
+#define IMG_TUBE_LEFT_UP 467
+#define IMG_TRAP_INACTIVE 468
+#define IMG_TRAP_ACTIVE 469
+#define IMG_TRAP_ACTIVATING 470
+#define IMG_BD_WALL 471
+#define IMG_BD_ROCK 472
+#define IMG_BD_ROCK_FALLING 473
+#define IMG_BD_ROCK_PUSHING 474
+#define IMG_DX_BOMB 475
+
+#define NUM_IMAGE_FILES 476
/* values for sound configuration suffixes */
#define SND_SWITCHGATE_OPENING 108
#define SND_SWITCHGATE_CLOSING 109
#define SND_SWITCHGATE_PASSING 110
-#define SND_TIMEGATE_WHEEL_ACTIVATING 111
-#define SND_TIMEGATE_WHEEL_ACTIVE 112
+#define SND_TIMEGATE_SWITCH_ACTIVATING 111
+#define SND_TIMEGATE_SWITCH_ACTIVE 112
#define SND_TIMEGATE_OPENING 113
#define SND_TIMEGATE_CLOSING 114
#define SND_TIMEGATE_PASSING 115
{
if (player->GfxPos)
{
- if (Feld[next_jx][next_jy] == EL_SOKOBAN_FELD_VOLL)
- DrawLevelElement(next_jx, next_jy, EL_SOKOBAN_FELD_LEER);
+ if (Feld[next_jx][next_jy] == EL_SOKOBAN_FIELD_FULL)
+ DrawLevelElement(next_jx, next_jy, EL_SOKOBAN_FIELD_EMPTY);
else
DrawLevelElement(next_jx, next_jy, EL_EMPTY);
}
{
int px = SCREENX(next_jx), py = SCREENY(next_jy);
- if (element == EL_SOKOBAN_FELD_LEER ||
- Feld[next_jx][next_jy] == EL_SOKOBAN_FELD_VOLL)
+ if (element == EL_SOKOBAN_FIELD_EMPTY ||
+ Feld[next_jx][next_jy] == EL_SOKOBAN_FIELD_FULL)
DrawGraphicShiftedThruMask(px, py, sxx, syy, GFX_SOKOBAN_OBJEKT,
NO_CUTTING);
else
{
graphic = GFX_GEBLUBBER + getGraphicAnimationPhase(4, 10, ANIM_NORMAL);
}
- else if (element == EL_BUTTERFLY || element == EL_FIREFLY)
+ else if (element == EL_BD_BUTTERFLY || element == EL_BD_FIREFLY)
{
graphic += !phase2;
}
}
else if (element == EL_MAGIC_WALL_EMPTY ||
element == EL_MAGIC_WALL_EMPTYING ||
- element == EL_MAGIC_WALL_BD_EMPTY ||
- element == EL_MAGIC_WALL_BD_EMPTYING ||
+ element == EL_BD_MAGIC_WALL_EMPTY ||
+ element == EL_BD_MAGIC_WALL_EMPTYING ||
element == EL_MAGIC_WALL_FULL ||
- element == EL_MAGIC_WALL_BD_FULL)
+ element == EL_BD_MAGIC_WALL_FULL)
{
graphic += 3 + getGraphicAnimationPhase(4, 4, ANIM_REVERSE);
}
}
else if ((element == EL_INVISIBLE_STEELWALL ||
element == EL_INVISIBLE_WALL ||
- element == EL_SAND_INVISIBLE) && game.light_time_left)
+ element == EL_INVISIBLE_SAND) && game.light_time_left)
{
graphic = (element == EL_INVISIBLE_STEELWALL ? GFX_INVISIBLE_STEEL_ON :
element == EL_INVISIBLE_WALL ? GFX_UNSICHTBAR_ON :
graphic = GFX_GEBLUBBER + getNewGraphicAnimationFrame(graphic, move_pos);
#endif
}
- else if (element == EL_BUTTERFLY || element == EL_FIREFLY)
+ else if (element == EL_BD_BUTTERFLY || element == EL_BD_FIREFLY)
{
graphic += !phase2;
}
}
else if (element == EL_MAGIC_WALL_EMPTY ||
element == EL_MAGIC_WALL_EMPTYING ||
- element == EL_MAGIC_WALL_BD_EMPTY ||
- element == EL_MAGIC_WALL_BD_EMPTYING ||
+ element == EL_BD_MAGIC_WALL_EMPTY ||
+ element == EL_BD_MAGIC_WALL_EMPTYING ||
element == EL_MAGIC_WALL_FULL ||
- element == EL_MAGIC_WALL_BD_FULL)
+ element == EL_BD_MAGIC_WALL_FULL)
{
#if 1
graphic += 3 + getGraphicAnimationPhase(4, 4, ANIM_REVERSE);
}
else if ((element == EL_INVISIBLE_STEELWALL ||
element == EL_INVISIBLE_WALL ||
- element == EL_SAND_INVISIBLE) && game.light_time_left)
+ element == EL_INVISIBLE_SAND) && game.light_time_left)
{
graphic = (element == EL_INVISIBLE_STEELWALL ? GFX_INVISIBLE_STEEL_ON :
element == EL_INVISIBLE_WALL ? GFX_UNSICHTBAR_ON :
if (element == EL_SAND ||
element == EL_LANDMINE ||
- element == EL_TRAP_INACTIVE ||
+ element == EL_TRAP ||
element == EL_TRAP_ACTIVE)
{
if (!IN_SCR_FIELD(x, y))
if (element == EL_SAND ||
element == EL_LANDMINE ||
- element == EL_TRAP_INACTIVE ||
+ element == EL_TRAP ||
element == EL_TRAP_ACTIVE)
continue;
if (!IN_LEV_FIELD(uxx, uyy) ||
(Feld[uxx][uyy] != EL_SAND &&
Feld[uxx][uyy] != EL_LANDMINE &&
- Feld[uxx][uyy] != EL_TRAP_INACTIVE &&
+ Feld[uxx][uyy] != EL_TRAP &&
Feld[uxx][uyy] != EL_TRAP_ACTIVE) ||
!IN_SCR_FIELD(xx, yy))
continue;
if (element == EL_QUICKSAND_EMPTYING ||
element == EL_MAGIC_WALL_EMPTYING ||
- element == EL_MAGIC_WALL_BD_EMPTYING ||
+ element == EL_BD_MAGIC_WALL_EMPTYING ||
element == EL_AMOEBA_DRIPPING)
cut_mode = CUT_ABOVE;
else if (element == EL_QUICKSAND_FILLING ||
element == EL_MAGIC_WALL_FILLING ||
- element == EL_MAGIC_WALL_BD_FILLING)
+ element == EL_BD_MAGIC_WALL_FILLING)
cut_mode = CUT_BELOW;
if (cut_mode == CUT_ABOVE)
if (element_old == EL_QUICKSAND_EMPTYING ||
element_old == EL_MAGIC_WALL_EMPTYING ||
- element_old == EL_MAGIC_WALL_BD_EMPTYING ||
+ element_old == EL_BD_MAGIC_WALL_EMPTYING ||
element_old == EL_AMOEBA_DRIPPING)
cut_mode = CUT_ABOVE;
if (element == EL_QUICKSAND_EMPTYING ||
element == EL_MAGIC_WALL_EMPTYING ||
- element == EL_MAGIC_WALL_BD_EMPTYING ||
+ element == EL_BD_MAGIC_WALL_EMPTYING ||
element == EL_AMOEBA_DRIPPING)
cut_mode = CUT_ABOVE;
else if (element == EL_QUICKSAND_FILLING ||
element == EL_MAGIC_WALL_FILLING ||
- element == EL_MAGIC_WALL_BD_FILLING)
+ element == EL_BD_MAGIC_WALL_FILLING)
cut_mode = CUT_BELOW;
if (cut_mode == CUT_ABOVE)
if (element_old == EL_QUICKSAND_EMPTYING ||
element_old == EL_MAGIC_WALL_EMPTYING ||
- element_old == EL_MAGIC_WALL_BD_EMPTYING ||
+ element_old == EL_BD_MAGIC_WALL_EMPTYING ||
element_old == EL_AMOEBA_DRIPPING)
cut_mode = CUT_ABOVE;
case EL_QUICKSAND_EMPTYING: return EL_QUICKSAND_EMPTY;
case EL_MAGIC_WALL_FILLING: return EL_MAGIC_WALL_FULL;
case EL_MAGIC_WALL_EMPTYING: return EL_MAGIC_WALL_EMPTY;
- case EL_MAGIC_WALL_BD_FILLING: return EL_MAGIC_WALL_BD_FULL;
- case EL_MAGIC_WALL_BD_EMPTYING: return EL_MAGIC_WALL_BD_EMPTY;
+ case EL_BD_MAGIC_WALL_FILLING: return EL_BD_MAGIC_WALL_FULL;
+ case EL_BD_MAGIC_WALL_EMPTYING: return EL_BD_MAGIC_WALL_EMPTY;
case EL_AMOEBA_DRIPPING: return EL_AMOEBA_WET;
default: return element;
case EL_WALL: return GFX_MAUERWERK;
case EL_WALL_CRUMBLED: return GFX_FELSBODEN;
case EL_ROCK: return GFX_FELSBROCKEN;
- case EL_KEY: return GFX_SCHLUESSEL;
case EL_EMERALD: return GFX_EDELSTEIN;
case EL_EXIT_CLOSED: return GFX_AUSGANG_ZU;
- case EL_AUSGANG_ACT: return GFX_AUSGANG_ACT;
+ case EL_EXIT_OPENING: return GFX_AUSGANG_ACT;
case EL_EXIT_OPEN: return GFX_AUSGANG_AUF;
case EL_SP_EXIT_OPEN: return GFX_SP_EXIT;
case EL_PLAYER: return GFX_SPIELFIGUR;
case EL_SPACESHIP_UP: return GFX_FLIEGER_UP;
case EL_SPACESHIP_LEFT: return GFX_FLIEGER_LEFT;
case EL_SPACESHIP_DOWN: return GFX_FLIEGER_DOWN;
- case EL_BUTTERFLY: return GFX_BUTTERFLY;
- case EL_BUTTERFLY_RIGHT: return GFX_BUTTERFLY_RIGHT;
- case EL_BUTTERFLY_UP: return GFX_BUTTERFLY_UP;
- case EL_BUTTERFLY_LEFT: return GFX_BUTTERFLY_LEFT;
- case EL_BUTTERFLY_DOWN: return GFX_BUTTERFLY_DOWN;
- case EL_FIREFLY: return GFX_FIREFLY;
- case EL_FIREFLY_RIGHT: return GFX_FIREFLY_RIGHT;
- case EL_FIREFLY_UP: return GFX_FIREFLY_UP;
- case EL_FIREFLY_LEFT: return GFX_FIREFLY_LEFT;
- case EL_FIREFLY_DOWN: return GFX_FIREFLY_DOWN;
+ case EL_BD_BUTTERFLY: return GFX_BUTTERFLY;
+ case EL_BD_BUTTERFLY_RIGHT: return GFX_BUTTERFLY_RIGHT;
+ case EL_BD_BUTTERFLY_UP: return GFX_BUTTERFLY_UP;
+ case EL_BD_BUTTERFLY_LEFT: return GFX_BUTTERFLY_LEFT;
+ case EL_BD_BUTTERFLY_DOWN: return GFX_BUTTERFLY_DOWN;
+ case EL_BD_FIREFLY: return GFX_FIREFLY;
+ case EL_BD_FIREFLY_RIGHT: return GFX_FIREFLY_RIGHT;
+ case EL_BD_FIREFLY_UP: return GFX_FIREFLY_UP;
+ case EL_BD_FIREFLY_LEFT: return GFX_FIREFLY_LEFT;
+ case EL_BD_FIREFLY_DOWN: return GFX_FIREFLY_DOWN;
case EL_YAMYAM: return GFX_MAMPFER;
case EL_ROBOT: return GFX_ROBOT;
case EL_STEELWALL: return GFX_BETON;
case EL_WALL_EMERALD_RED: return GFX_ERZ_EDEL_ROT;
case EL_WALL_EMERALD_PURPLE: return GFX_ERZ_EDEL_LILA;
case EL_DARK_YAMYAM: return GFX_MAMPFER2;
- case EL_MAGIC_WALL_BD_OFF: return GFX_MAGIC_WALL_BD_OFF;
- case EL_MAGIC_WALL_BD_EMPTY: return GFX_MAGIC_WALL_BD_EMPTY;
- case EL_MAGIC_WALL_BD_EMPTYING: return GFX_MAGIC_WALL_BD_EMPTY;
- case EL_MAGIC_WALL_BD_FULL: return GFX_MAGIC_WALL_BD_FULL;
- case EL_MAGIC_WALL_BD_DEAD: return GFX_MAGIC_WALL_BD_DEAD;
+ case EL_BD_MAGIC_WALL: return GFX_MAGIC_WALL_BD_OFF;
+ case EL_BD_MAGIC_WALL_EMPTY: return GFX_MAGIC_WALL_BD_EMPTY;
+ case EL_BD_MAGIC_WALL_EMPTYING: return GFX_MAGIC_WALL_BD_EMPTY;
+ case EL_BD_MAGIC_WALL_FULL: return GFX_MAGIC_WALL_BD_FULL;
+ case EL_BD_MAGIC_WALL_DEAD: return GFX_MAGIC_WALL_BD_DEAD;
case EL_DYNABOMB_ACTIVE_1: return GFX_DYNABOMB;
case EL_DYNABOMB_ACTIVE_2: return GFX_DYNABOMB;
case EL_DYNABOMB_ACTIVE_3: return GFX_DYNABOMB;
case EL_DYNABOMB_NR: return GFX_DYNABOMB_NR;
case EL_DYNABOMB_SZ: return GFX_DYNABOMB_SZ;
case EL_DYNABOMB_XL: return GFX_DYNABOMB_XL;
- case EL_SOKOBAN_OBJEKT: return GFX_SOKOBAN_OBJEKT;
- case EL_SOKOBAN_FELD_LEER: return GFX_SOKOBAN_FELD_LEER;
- case EL_SOKOBAN_FELD_VOLL: return GFX_SOKOBAN_FELD_VOLL;
+ case EL_SOKOBAN_OBJECT: return GFX_SOKOBAN_OBJEKT;
+ case EL_SOKOBAN_FIELD_EMPTY: return GFX_SOKOBAN_FELD_LEER;
+ case EL_SOKOBAN_FIELD_FULL: return GFX_SOKOBAN_FELD_VOLL;
case EL_MOLE: return GFX_MOLE;
case EL_PENGUIN: return GFX_PINGUIN;
case EL_PIG: return GFX_SCHWEIN;
case EL_DRAGON: return GFX_DRACHE;
case EL_SATELLITE: return GFX_SONDE;
- case EL_ARROW_LEFT: return GFX_PFEIL_LEFT;
- case EL_ARROW_RIGHT: return GFX_PFEIL_RIGHT;
- case EL_ARROW_UP: return GFX_PFEIL_UP;
- case EL_ARROW_DOWN: return GFX_PFEIL_DOWN;
+ case EL_ARROW_BLUE_LEFT: return GFX_PFEIL_LEFT;
+ case EL_ARROW_BLUE_RIGHT: return GFX_PFEIL_RIGHT;
+ case EL_ARROW_BLUE_UP: return GFX_PFEIL_UP;
+ case EL_ARROW_BLUE_DOWN: return GFX_PFEIL_DOWN;
case EL_SPEED_PILL: return GFX_SPEED_PILL;
case EL_SP_TERMINAL_ACTIVE: return GFX_SP_TERMINAL;
- case EL_SP_BUG_ACTIVE: return GFX_SP_BUG_ACTIVE;
+ case EL_SP_BUGGY_BASE_ACTIVE: return GFX_SP_BUG_ACTIVE;
case EL_SP_ZONK: return GFX_SP_ZONK;
/* ^^^^^^^^^^ non-standard position in supaplex graphic set! */
case EL_INVISIBLE_STEELWALL: return GFX_INVISIBLE_STEEL;
case EL_DOOR_WHITE_GRAY: return GFX_DOOR_WHITE_GRAY;
case EL_KEY_WHITE: return GFX_KEY_WHITE;
case EL_SHIELD_NORMAL: return GFX_SHIELD_PASSIVE;
- case EL_SHIELD_ACTIVE: return GFX_SHIELD_ACTIVE;
+ case EL_SHIELD_DEADLY: return GFX_SHIELD_ACTIVE;
case EL_EXTRA_TIME: return GFX_EXTRA_TIME;
case EL_SWITCHGATE_OPEN: return GFX_SWITCHGATE_OPEN;
case EL_SWITCHGATE_CLOSED: return GFX_SWITCHGATE_CLOSED;
case EL_MOLE_UP: return GFX_MOLE_UP;
case EL_MOLE_DOWN: return GFX_MOLE_DOWN;
case EL_STEELWALL_SLANTED: return GFX_STEEL_SLANTED;
- case EL_SAND_INVISIBLE: return GFX_SAND_INVISIBLE;
+ case EL_INVISIBLE_SAND: return GFX_SAND_INVISIBLE;
case EL_DX_UNKNOWN_15: return GFX_DX_UNKNOWN_15;
case EL_DX_UNKNOWN_42: return GFX_DX_UNKNOWN_42;
case EL_TIMEGATE_OPEN: return GFX_TIMEGATE_OPEN;
case EL_TIMEGATE_CLOSED: return GFX_TIMEGATE_CLOSED;
- case EL_TIMEGATE_SWITCH_ON: return GFX_TIMEGATE_SWITCH;
- case EL_TIMEGATE_SWITCH_OFF: return GFX_TIMEGATE_SWITCH;
+ case EL_TIMEGATE_SWITCH_ACTIVE: return GFX_TIMEGATE_SWITCH;
+ case EL_TIMEGATE_SWITCH: return GFX_TIMEGATE_SWITCH;
case EL_BALLOON: return GFX_BALLOON;
case EL_BALLOON_SEND_LEFT: return GFX_BALLOON_SEND_LEFT;
case EL_BALLOON_SEND_RIGHT: return GFX_BALLOON_SEND_RIGHT;
case EL_BALLOON_SEND_UP: return GFX_BALLOON_SEND_UP;
case EL_BALLOON_SEND_DOWN: return GFX_BALLOON_SEND_DOWN;
- case EL_BALLOON_SEND_ANY: return GFX_BALLOON_SEND_ANY;
+ case EL_BALLOON_SEND_ANY_DIRECTION: return GFX_BALLOON_SEND_ANY;
case EL_EMC_STEELWALL1: return GFX_EMC_STEEL_WALL_1;
case EL_EMC_STEELWALL2: return GFX_EMC_STEEL_WALL_2;
case EL_EMC_STEELWALL3: return GFX_EMC_STEEL_WALL_3;
case EL_EMC_WALL6: return GFX_EMC_WALL_6;
case EL_EMC_WALL7: return GFX_EMC_WALL_7;
case EL_EMC_WALL8: return GFX_EMC_WALL_8;
- case EL_TUBE_CROSS: return GFX_TUBE_CROSS;
+ case EL_TUBE_ALL: return GFX_TUBE_CROSS;
case EL_TUBE_VERTICAL: return GFX_TUBE_VERTICAL;
case EL_TUBE_HORIZONTAL: return GFX_TUBE_HORIZONTAL;
- case EL_TUBE_VERT_LEFT: return GFX_TUBE_VERT_LEFT;
- case EL_TUBE_VERT_RIGHT: return GFX_TUBE_VERT_RIGHT;
- case EL_TUBE_HORIZ_UP: return GFX_TUBE_HORIZ_UP;
- case EL_TUBE_HORIZ_DOWN: return GFX_TUBE_HORIZ_DOWN;
+ case EL_TUBE_VERTICAL_LEFT: return GFX_TUBE_VERT_LEFT;
+ case EL_TUBE_VERTICAL_RIGHT: return GFX_TUBE_VERT_RIGHT;
+ case EL_TUBE_HORIZONTAL_UP: return GFX_TUBE_HORIZ_UP;
+ case EL_TUBE_HORIZONTAL_DOWN: return GFX_TUBE_HORIZ_DOWN;
case EL_TUBE_LEFT_UP: return GFX_TUBE_LEFT_UP;
case EL_TUBE_LEFT_DOWN: return GFX_TUBE_LEFT_DOWN;
case EL_TUBE_RIGHT_UP: return GFX_TUBE_RIGHT_UP;
case EL_TUBE_RIGHT_DOWN: return GFX_TUBE_RIGHT_DOWN;
case EL_SPRING: return GFX_SPRING;
case EL_SPRING_MOVING: return GFX_SPRING;
- case EL_TRAP_INACTIVE: return GFX_TRAP_INACTIVE;
+ case EL_TRAP: return GFX_TRAP_INACTIVE;
case EL_TRAP_ACTIVE: return GFX_TRAP_ACTIVE;
case EL_BD_WALL: return GFX_BD_WALL;
case EL_BD_ROCK: return GFX_BD_ROCK;
{
switch(element)
{
- case EL_BUTTERFLY: return IMG_BD_BUTTERFLY;
- case EL_FIREFLY: return IMG_BD_FIREFLY;
+ case EL_BD_BUTTERFLY: return IMG_BD_BUTTERFLY;
+ case EL_BD_FIREFLY: return IMG_BD_FIREFLY;
case EL_SP_ELECTRON: return IMG_SP_ELECTRON;
default: