From ab939d25272479b99688fb27fd9c09dbbe05b2bb Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sat, 21 Sep 2002 05:18:28 +0200 Subject: [PATCH] rnd-20020921-3-src --- src/conftime.h | 2 +- src/editor.c | 76 ++-- src/game.c | 372 +++++++-------- src/init.c | 288 ++++++------ src/main.c | 407 +++++++++-------- src/main.h | 1177 +++++++++++++++++++++++++----------------------- src/tools.c | 125 +++-- 7 files changed, 1270 insertions(+), 1177 deletions(-) diff --git a/src/conftime.h b/src/conftime.h index eccc4c9e..ace6340a 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2002-09-21 01:01]" +#define COMPILE_DATE_STRING "[2002-09-21 01:19]" diff --git a/src/editor.c b/src/editor.c index 922dfe06..6dc35c7c 100644 --- a/src/editor.c +++ b/src/editor.c @@ -760,23 +760,23 @@ int editor_element[] = 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'), @@ -889,10 +889,10 @@ int editor_element[] = 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, @@ -942,7 +942,7 @@ int editor_element[] = EL_EMPTY, EL_MOLE_DOWN, EL_BALLOON, - EL_BALLOON_SEND_ANY, + EL_BALLOON_SEND_ANY_DIRECTION, EL_BALLOON_SEND_LEFT, EL_BALLOON_SEND_RIGHT, @@ -980,9 +980,9 @@ int editor_element[] = 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'), @@ -1026,7 +1026,7 @@ int editor_element[] = EL_SP_PORT_XY, EL_SP_ELECTRON, - EL_SP_BUG, + EL_SP_BUGGY_BASE, EL_SP_CHIP_LEFT, EL_SP_CHIP_RIGHT, @@ -1107,11 +1107,11 @@ int editor_element[] = 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, @@ -1121,7 +1121,7 @@ int editor_element[] = EL_LIGHT_SWITCH_ACTIVE, EL_SHIELD_NORMAL, - EL_SHIELD_ACTIVE, + EL_SHIELD_DEADLY, EL_EXTRA_TIME, EL_EMPTY, @@ -1147,20 +1147,20 @@ int editor_element[] = 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, @@ -2620,18 +2620,18 @@ static void DrawPropertiesWindow() { 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 }, diff --git a/src/game.c b/src/game.c index b799fab1..502d60d7 100644 --- a/src/game.c +++ b/src/game.c @@ -350,16 +350,16 @@ static void InitField(int x, int y, boolean init_game) 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: @@ -386,7 +386,7 @@ static void InitField(int x, int y, boolean init_game) 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; @@ -399,7 +399,7 @@ static void InitField(int x, int y, boolean init_game) local_player->lights_still_needed++; break; - case EL_SOKOBAN_FELD_LEER: + case EL_SOKOBAN_FIELD_EMPTY: local_player->sokobanfields_still_needed++; break; @@ -640,11 +640,11 @@ static void InitGameEngine() ~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; } } @@ -1044,20 +1044,20 @@ void InitMovDir(int x, int y) 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: @@ -1088,8 +1088,8 @@ void InitMovDir(int x, int y) 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++) @@ -1099,12 +1099,12 @@ void InitMovDir(int x, int y) 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]; @@ -1425,7 +1425,7 @@ void RemoveMovingField(int x, int y) 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 @@ -1545,7 +1545,7 @@ void Explode(int ex, int ey, int phase, int mode) 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))) @@ -1560,7 +1560,7 @@ void Explode(int ex, int ey, int phase, int mode) continue; } - if (element == EL_EXPLODING) + if (element == EL_EXPLOSION) element = Store2[x][y]; if (IS_PLAYER(ex, ey) && !PLAYER_PROTECTED(ex, ey)) @@ -1591,7 +1591,7 @@ void Explode(int ex, int ey, int phase, int mode) 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; @@ -1625,13 +1625,13 @@ void Explode(int ex, int ey, int phase, int mode) 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; @@ -1756,14 +1756,14 @@ void DynaExplode(int ex, int ey) 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; } @@ -1788,8 +1788,8 @@ void Bang(int x, int y) { 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: @@ -1825,25 +1825,27 @@ void Blurb(int x, int y) { 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; @@ -1981,7 +1983,7 @@ static void RedrawAllLightSwitchesAndInvisibleElements() if (element == EL_INVISIBLE_STEELWALL || element == EL_INVISIBLE_WALL || - element == EL_SAND_INVISIBLE) + element == EL_INVISIBLE_SAND) DrawLevelField(x, y); } } @@ -2018,9 +2020,9 @@ static void ActivateTimegateSwitch(int x, int 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); } */ @@ -2028,7 +2030,7 @@ static void ActivateTimegateSwitch(int x, int y) } } - Feld[x][y] = EL_TIMEGATE_SWITCH_ON; + Feld[x][y] = EL_TIMEGATE_SWITCH_ACTIVE; } void Impact(int x, int y) @@ -2079,7 +2081,7 @@ 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; @@ -2088,12 +2090,12 @@ void Impact(int x, int y) 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; yylights_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), @@ -4211,7 +4213,7 @@ void MauerAbleger(int ax, int ay) { 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))) @@ -4220,7 +4222,7 @@ void MauerAbleger(int ax, int ay) } 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))) @@ -4234,7 +4236,7 @@ void MauerAbleger(int ax, int ay) { 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))) @@ -4244,7 +4246,7 @@ void MauerAbleger(int ax, int 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))) @@ -4294,7 +4296,7 @@ void CheckForDragon(int x, int y) 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; @@ -4312,7 +4314,7 @@ void CheckForDragon(int x, int y) { 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); @@ -4328,7 +4330,7 @@ static void CheckBuggyBase(int x, int y) { 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); @@ -4341,10 +4343,10 @@ static void CheckBuggyBase(int x, int y) 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); @@ -4380,7 +4382,7 @@ static void CheckBuggyBase(int x, int y) return; } - Feld[x][y] = EL_SP_BUG; + Feld[x][y] = EL_SP_BUGGY_BASE; DrawLevelField(x, y); } } @@ -4390,7 +4392,7 @@ static void CheckTrap(int x, int 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); @@ -4436,7 +4438,7 @@ static void CheckTrap(int x, int y) return; } - Feld[x][y] = EL_TRAP_INACTIVE; + Feld[x][y] = EL_TRAP; DrawLevelField(x, y); } } @@ -4756,12 +4758,12 @@ void GameActions() 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 @@ -4773,11 +4775,12 @@ void GameActions() 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); @@ -4787,24 +4790,24 @@ void GameActions() 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); @@ -4836,7 +4839,7 @@ void GameActions() 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 @@ -4857,9 +4860,9 @@ void GameActions() 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; @@ -4897,8 +4900,8 @@ void GameActions() (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) || @@ -4924,7 +4927,7 @@ void GameActions() 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; @@ -4939,9 +4942,9 @@ void GameActions() { 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); @@ -4962,10 +4965,10 @@ void GameActions() 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); } } @@ -4992,7 +4995,7 @@ void GameActions() } else if (element == EL_INVISIBLE_STEELWALL || element == EL_INVISIBLE_WALL || - element == EL_SAND_INVISIBLE) + element == EL_INVISIBLE_SAND) DrawLevelField(x, y); } } @@ -5581,7 +5584,7 @@ void TestIfBadThingHitsGoodThing(int bad_x, int bad_y, int bad_move_dir) 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++) @@ -5711,7 +5714,7 @@ void TestIfBadThingTouchesOtherBadThing(int bad_x, int bad_y) 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; @@ -5812,18 +5815,18 @@ int DigField(struct PlayerInfo *player, 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]) @@ -5843,10 +5846,10 @@ int DigField(struct PlayerInfo *player, { 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; @@ -5900,7 +5903,7 @@ int DigField(struct PlayerInfo *player, 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; @@ -5949,7 +5952,7 @@ int DigField(struct PlayerInfo *player, 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, @@ -5967,7 +5970,7 @@ int DigField(struct PlayerInfo *player, 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, @@ -6051,9 +6054,9 @@ int DigField(struct PlayerInfo *player, 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; @@ -6062,8 +6065,8 @@ int DigField(struct PlayerInfo *player, 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 : @@ -6242,13 +6245,13 @@ int DigField(struct PlayerInfo *player, 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: @@ -6257,18 +6260,18 @@ int DigField(struct PlayerInfo *player, 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) @@ -6287,7 +6290,7 @@ int DigField(struct PlayerInfo *player, case EL_EXIT_CLOSED: case EL_SP_EXIT_CLOSED: - case EL_AUSGANG_ACT: + case EL_EXIT_OPENING: return MF_NO_ACTION; break; @@ -6320,11 +6323,11 @@ int DigField(struct PlayerInfo *player, 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: @@ -6335,7 +6338,7 @@ int DigField(struct PlayerInfo *player, 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; @@ -6365,27 +6368,27 @@ int DigField(struct PlayerInfo *player, 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); @@ -6476,7 +6479,7 @@ boolean PlaceBomb(struct PlayerInfo *player) 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) @@ -6595,11 +6598,11 @@ void RaiseScoreElement(int element) 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: @@ -6618,7 +6621,10 @@ void RaiseScoreElement(int element) 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: diff --git a/src/init.c b/src/init.c index 1861e048..7c877f2d 100644 --- a/src/init.c +++ b/src/init.c @@ -570,10 +570,9 @@ void InitElementInfo() { 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 }, @@ -591,16 +590,16 @@ void InitElementInfo() { 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 }, @@ -673,11 +672,11 @@ void InitElementInfo() { 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 }, @@ -685,21 +684,21 @@ void InitElementInfo() { 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 }, @@ -727,7 +726,7 @@ void InitElementInfo() { 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 }, @@ -778,19 +777,19 @@ void InitElementInfo() { 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 }, @@ -803,20 +802,20 @@ void InitElementInfo() { 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 }, @@ -835,21 +834,6 @@ void InitElementInfo() } 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, @@ -871,14 +855,29 @@ void InitElementInfo() 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, @@ -891,14 +890,14 @@ void InitElementInfo() 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, @@ -1104,13 +1103,13 @@ void InitElementProperties() 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, @@ -1129,7 +1128,7 @@ void InitElementProperties() EL_BD_WALL, EL_WALL_CRUMBLED, EL_EXIT_CLOSED, - EL_AUSGANG_ACT, + EL_EXIT_OPENING, EL_EXIT_OPEN, EL_AMOEBA_DEAD, EL_AMOEBA_WET, @@ -1146,12 +1145,12 @@ void InitElementProperties() 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, @@ -1196,8 +1195,8 @@ void InitElementProperties() 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, @@ -1250,13 +1249,13 @@ void InitElementProperties() 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, @@ -1341,13 +1340,13 @@ void InitElementProperties() 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, @@ -1396,8 +1395,8 @@ void InitElementProperties() { EL_BUG, EL_SPACESHIP, - EL_BUTTERFLY, - EL_FIREFLY, + EL_BD_BUTTERFLY, + EL_BD_FIREFLY, EL_YAMYAM, EL_DARK_YAMYAM, EL_ROBOT, @@ -1427,7 +1426,7 @@ void InitElementProperties() 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, @@ -1435,7 +1434,7 @@ void InitElementProperties() 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, @@ -1489,7 +1488,7 @@ void InitElementProperties() 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, @@ -1552,8 +1551,8 @@ void InitElementProperties() { EL_BUG, EL_SPACESHIP, - EL_BUTTERFLY, - EL_FIREFLY, + EL_BD_BUTTERFLY, + EL_BD_FIREFLY, EL_YAMYAM, EL_DARK_YAMYAM, EL_ROBOT, @@ -1580,14 +1579,14 @@ void InitElementProperties() 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, @@ -1599,8 +1598,8 @@ void InitElementProperties() { 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); @@ -1608,8 +1607,8 @@ void InitElementProperties() { EL_BUG, EL_SPACESHIP, - EL_BUTTERFLY, - EL_FIREFLY, + EL_BD_BUTTERFLY, + EL_BD_FIREFLY, EL_YAMYAM, EL_DARK_YAMYAM, EL_ROBOT, @@ -1618,7 +1617,7 @@ void InitElementProperties() EL_ACID, EL_SP_SNIKSNAK, EL_SP_ELECTRON, - EL_SP_BUG_ACTIVE, + EL_SP_BUGGY_BASE_ACTIVE, EL_TRAP_ACTIVE, EL_LANDMINE }; @@ -1629,8 +1628,8 @@ void InitElementProperties() EL_SAND, EL_BUG, EL_SPACESHIP, - EL_BUTTERFLY, - EL_FIREFLY, + EL_BD_BUTTERFLY, + EL_BD_FIREFLY, EL_YAMYAM, EL_ROBOT, EL_PACMAN, @@ -1660,21 +1659,21 @@ void InitElementProperties() 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 }; @@ -1684,9 +1683,9 @@ void InitElementProperties() { 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 }; @@ -1710,7 +1709,6 @@ void InitElementProperties() EL_WALL, EL_BD_WALL, EL_WALL_CRUMBLED, - EL_KEY, EL_STEELWALL, EL_AMOEBA_DEAD, EL_QUICKSAND_EMPTY, @@ -1751,9 +1749,9 @@ void InitElementProperties() 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, @@ -1763,8 +1761,8 @@ void InitElementProperties() 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, @@ -1886,8 +1884,8 @@ void InitElementProperties() 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, @@ -1922,9 +1920,9 @@ void InitElementProperties() { 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); @@ -1956,7 +1954,7 @@ void InitElementProperties() 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, @@ -2017,13 +2015,13 @@ void InitElementProperties() 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, @@ -2077,13 +2075,13 @@ void InitElementProperties() 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, diff --git a/src/main.c b/src/main.c index 4c3a0dbb..ac9c9d6f 100644 --- a/src/main.c +++ b/src/main.c @@ -153,7 +153,7 @@ int anim_action_mapping[] = 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) */ }; @@ -201,14 +201,18 @@ struct ConfigInfo image_config[] = { "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" }, @@ -468,38 +472,38 @@ struct ConfigInfo image_config[] = { "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" }, @@ -523,6 +527,22 @@ struct ConfigInfo image_config[] = { "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" }, @@ -545,6 +565,14 @@ struct ConfigInfo image_config[] = { "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" }, @@ -554,6 +582,14 @@ struct ConfigInfo image_config[] = { "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" }, @@ -685,23 +721,6 @@ struct ConfigInfo image_config[] = { "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" }, @@ -769,39 +788,51 @@ struct ConfigInfo image_config[] = { "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" }, @@ -859,6 +890,10 @@ struct ConfigInfo image_config[] = { "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" }, @@ -916,6 +951,10 @@ struct ConfigInfo image_config[] = { "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" }, @@ -973,6 +1012,10 @@ struct ConfigInfo image_config[] = { "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" }, @@ -1250,68 +1293,68 @@ struct ConfigInfo image_config[] = { "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" }, @@ -1582,19 +1625,19 @@ struct ConfigInfo image_config[] = { "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" }, @@ -1873,14 +1916,14 @@ struct ConfigInfo image_config[] = { "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" }, @@ -1968,26 +2011,26 @@ struct ConfigInfo image_config[] = { "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" }, @@ -2175,18 +2218,14 @@ struct ConfigInfo image_config[] = { "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" }, @@ -2206,10 +2245,10 @@ struct ConfigInfo image_config[] = { "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 } }; @@ -2240,7 +2279,7 @@ struct ConfigInfo sound_config[] = { "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" }, @@ -2338,8 +2377,8 @@ struct ConfigInfo sound_config[] = { "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" }, @@ -2768,11 +2807,11 @@ struct ElementInfo element_info[MAX_ELEMENTS] = { "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" }, diff --git a/src/main.h b/src/main.h index 8677d230..df5ea274 100644 --- a/src/main.h +++ b/src/main.h @@ -165,7 +165,7 @@ #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 @@ -282,14 +282,16 @@ /* "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 @@ -342,7 +344,7 @@ #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 @@ -350,27 +352,27 @@ #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 @@ -404,10 +406,10 @@ #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 @@ -492,7 +494,7 @@ #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) @@ -579,25 +581,25 @@ #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 @@ -612,78 +614,112 @@ #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: @@ -713,16 +749,16 @@ /* 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 @@ -746,7 +782,7 @@ #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 @@ -848,9 +884,9 @@ #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 @@ -1266,7 +1302,7 @@ #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 @@ -1289,465 +1325,480 @@ #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 */ @@ -1865,8 +1916,8 @@ #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 diff --git a/src/tools.c b/src/tools.c index d3ccdb0d..16ceba09 100644 --- a/src/tools.c +++ b/src/tools.c @@ -482,8 +482,8 @@ void DrawPlayer(struct PlayerInfo *player) { 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); } @@ -605,8 +605,8 @@ void DrawPlayer(struct PlayerInfo *player) { 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 @@ -1376,7 +1376,7 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, { 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; } @@ -1410,10 +1410,10 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, } 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); } @@ -1440,7 +1440,7 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, } 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 : @@ -1542,7 +1542,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, 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; } @@ -1576,10 +1576,10 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, } 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); @@ -1610,7 +1610,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, } 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 : @@ -1718,7 +1718,7 @@ void ErdreichAnbroeckeln(int x, int y) if (element == EL_SAND || element == EL_LANDMINE || - element == EL_TRAP_INACTIVE || + element == EL_TRAP || element == EL_TRAP_ACTIVE) { if (!IN_SCR_FIELD(x, y)) @@ -1741,7 +1741,7 @@ void ErdreichAnbroeckeln(int x, int y) if (element == EL_SAND || element == EL_LANDMINE || - element == EL_TRAP_INACTIVE || + element == EL_TRAP || element == EL_TRAP_ACTIVE) continue; @@ -1784,7 +1784,7 @@ void ErdreichAnbroeckeln(int x, int y) 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; @@ -1862,12 +1862,12 @@ void DrawScreenField(int x, int y) 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) @@ -1904,7 +1904,7 @@ void DrawScreenField(int x, int y) 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; @@ -1952,12 +1952,12 @@ void DrawNewScreenField(int x, int y) 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) @@ -1994,7 +1994,7 @@ void DrawNewScreenField(int x, int y) 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; @@ -3004,8 +3004,8 @@ int get_next_element(int element) 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; @@ -3021,10 +3021,9 @@ int el2gfx_OLD(int 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; @@ -3042,16 +3041,16 @@ int el2gfx_OLD(int element) 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; @@ -3124,11 +3123,11 @@ int el2gfx_OLD(int element) 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; @@ -3136,21 +3135,21 @@ int el2gfx_OLD(int element) 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; @@ -3179,7 +3178,7 @@ int el2gfx_OLD(int element) 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; @@ -3230,19 +3229,19 @@ int el2gfx_OLD(int element) 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; @@ -3255,20 +3254,20 @@ int el2gfx_OLD(int element) 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; @@ -3321,8 +3320,8 @@ int el2img(int element) { 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: -- 2.34.1