From f5356588a234e34e349c0b1eba02008655fdee87 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Sun, 29 Aug 1999 04:18:20 +0200 Subject: [PATCH] rnd-19990829-1-src --- src/cartoons.c | 8 +- src/editor.c | 129 ++++++++++--------- src/game.c | 328 +++++++++++++++++++++++++++++++++---------------- src/init.c | 140 ++++++++++----------- src/main.c | 4 +- src/main.h | 191 ++++++++++++++-------------- src/screens.c | 30 ++--- src/tools.c | 86 +++++++------ 8 files changed, 523 insertions(+), 393 deletions(-) diff --git a/src/cartoons.c b/src/cartoons.c index bd00d1af..07394acd 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -310,8 +310,8 @@ boolean AnimateToon(int toon_nr, boolean restart) }, { GAMETOON_XSIZE, GAMETOON_YSIZE, - ((GFX_MAULWURF_LEFT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX, - ((GFX_MAULWURF_LEFT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY, + ((GFX_MOLE_LEFT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX, + ((GFX_MOLE_LEFT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY, GAMETOON_FRAMES_4, GAMETOON_FPS, GAMETOON_STEPSIZE, @@ -321,8 +321,8 @@ boolean AnimateToon(int toon_nr, boolean restart) }, { GAMETOON_XSIZE, GAMETOON_YSIZE, - ((GFX_MAULWURF_RIGHT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX, - ((GFX_MAULWURF_RIGHT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY, + ((GFX_MOLE_RIGHT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX, + ((GFX_MOLE_RIGHT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY, GAMETOON_FRAMES_4, GAMETOON_FPS, GAMETOON_STEPSIZE, diff --git a/src/editor.c b/src/editor.c index 95af5494..50988c0d 100644 --- a/src/editor.c +++ b/src/editor.c @@ -757,18 +757,18 @@ int editor_element[] = EL_AUSGANG_AUF, EL_EDELSTEIN_BD, - EL_BUTTERFLY_O, - EL_FIREFLY_O, + EL_BUTTERFLY_UP, + EL_FIREFLY_UP, EL_FELSBROCKEN, - EL_BUTTERFLY_L, - EL_FIREFLY_L, - EL_BUTTERFLY_R, - EL_FIREFLY_R, + EL_BUTTERFLY_LEFT, + EL_FIREFLY_LEFT, + EL_BUTTERFLY_RIGHT, + EL_FIREFLY_RIGHT, EL_AMOEBE_BD, - EL_BUTTERFLY_U, - EL_FIREFLY_U, + EL_BUTTERFLY_DOWN, + EL_FIREFLY_DOWN, EL_LEERRAUM, EL_CHAR('E'), @@ -817,18 +817,18 @@ int editor_element[] = EL_AUSGANG_AUF, EL_MAMPFER, - EL_KAEFER_O, - EL_FLIEGER_O, + EL_KAEFER_UP, + EL_FLIEGER_UP, EL_ROBOT, - EL_KAEFER_L, - EL_FLIEGER_L, - EL_KAEFER_R, - EL_FLIEGER_R, + EL_KAEFER_LEFT, + EL_FLIEGER_LEFT, + EL_KAEFER_RIGHT, + EL_FLIEGER_RIGHT, EL_ABLENK_AUS, - EL_KAEFER_U, - EL_FLIEGER_U, + EL_KAEFER_DOWN, + EL_FLIEGER_DOWN, EL_UNSICHTBAR, EL_BADEWANNE1, @@ -881,10 +881,10 @@ int editor_element[] = EL_PFORTE3X, EL_PFORTE4X, - EL_PFEIL_L, - EL_PFEIL_R, - EL_PFEIL_O, - EL_PFEIL_U, + EL_PFEIL_LEFT, + EL_PFEIL_RIGHT, + EL_PFEIL_UP, + EL_PFEIL_DOWN, EL_AMOEBE_VOLL, EL_EDELSTEIN_GELB, @@ -897,17 +897,17 @@ int editor_element[] = EL_ERZ_EDEL_LILA, EL_LIFE, - EL_PACMAN_O, + EL_PACMAN_UP, EL_ZEIT_VOLL, EL_ZEIT_LEER, - EL_PACMAN_L, + EL_PACMAN_LEFT, EL_MAMPFER2, - EL_PACMAN_R, + EL_PACMAN_RIGHT, EL_MAUER_LEBT, EL_LIFE_ASYNC, - EL_PACMAN_U, + EL_PACMAN_DOWN, EL_BIRNE_AUS, EL_BIRNE_EIN, @@ -916,11 +916,26 @@ int editor_element[] = EL_DYNABOMB_XL, EL_BADEWANNE, - EL_MAULWURF, + EL_MOLE, EL_PINGUIN, EL_SCHWEIN, EL_DRACHE, + EL_LEERRAUM, + EL_MOLE_UP, + EL_LEERRAUM, + EL_LEERRAUM, + + EL_MOLE_LEFT, + EL_LEERRAUM, + EL_MOLE_RIGHT, + EL_LEERRAUM, + + EL_LEERRAUM, + EL_MOLE_DOWN, + EL_LEERRAUM, + EL_LEERRAUM, + EL_SONDE, EL_MAUER_X, EL_MAUER_Y, @@ -1029,32 +1044,32 @@ int editor_element[] = EL_BELT1_LEFT, EL_BELT1_MIDDLE, EL_BELT1_RIGHT, - EL_BELT1_SWITCH_M, + EL_BELT1_SWITCH_MIDDLE, EL_BELT2_LEFT, EL_BELT2_MIDDLE, EL_BELT2_RIGHT, - EL_BELT2_SWITCH_M, + EL_BELT2_SWITCH_MIDDLE, EL_BELT3_LEFT, EL_BELT3_MIDDLE, EL_BELT3_RIGHT, - EL_BELT3_SWITCH_M, + EL_BELT3_SWITCH_MIDDLE, EL_BELT4_LEFT, EL_BELT4_MIDDLE, EL_BELT4_RIGHT, - EL_BELT4_SWITCH_M, + EL_BELT4_SWITCH_MIDDLE, - EL_BELT1_SWITCH_L, - EL_BELT2_SWITCH_L, - EL_BELT3_SWITCH_L, - EL_BELT4_SWITCH_L, + EL_BELT1_SWITCH_LEFT, + EL_BELT2_SWITCH_LEFT, + EL_BELT3_SWITCH_LEFT, + EL_BELT4_SWITCH_LEFT, - EL_BELT1_SWITCH_R, - EL_BELT2_SWITCH_R, - EL_BELT3_SWITCH_R, - EL_BELT4_SWITCH_R, + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_RIGHT, EL_SWITCHGATE_OPEN, EL_SWITCHGATE_CLOSED, @@ -2508,29 +2523,29 @@ static void DrawPropertiesWindow() { EL_EDELSTEIN_ROT, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, { EL_EDELSTEIN_LILA,&level.score[SC_EDELSTEIN], TEXT_COLLECTING }, { EL_DIAMANT, &level.score[SC_DIAMANT], TEXT_COLLECTING }, - { EL_KAEFER_R, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_O, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_L, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_U, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_R, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_O, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_L, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_U, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_FLIEGER_R, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_O, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_L, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_U, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_R, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_O, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_L, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_U, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_KAEFER_RIGHT, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_UP, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_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_FLIEGER_RIGHT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_UP, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_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_MAMPFER, &level.score[SC_MAMPFER], TEXT_SMASHING }, { EL_MAMPFER2, &level.score[SC_MAMPFER], TEXT_SMASHING }, { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING }, - { EL_PACMAN_R, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_O, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_L, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_U, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_RIGHT, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_UP, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_LEFT, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_DOWN, &level.score[SC_PACMAN], TEXT_SMASHING }, { EL_KOKOSNUSS, &level.score[SC_KOKOSNUSS], TEXT_CRACKING }, { EL_DYNAMITE_INACTIVE,&level.score[SC_DYNAMIT], TEXT_COLLECTING }, { EL_SCHLUESSEL1, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, diff --git a/src/game.c b/src/game.c index 96fa706f..d7fb2368 100644 --- a/src/game.c +++ b/src/game.c @@ -189,19 +189,19 @@ static int getBeltNrFromElement(int element) static int getBeltNrFromSwitchElement(int element) { - return (element < EL_BELT2_SWITCH_L ? 0 : - element < EL_BELT3_SWITCH_L ? 1 : - element < EL_BELT4_SWITCH_L ? 2 : 3); + return (element < EL_BELT2_SWITCH_LEFT ? 0 : + element < EL_BELT3_SWITCH_LEFT ? 1 : + element < EL_BELT4_SWITCH_LEFT ? 2 : 3); } static int getBeltDirNrFromSwitchElement(int element) { static int belt_base_element[4] = { - EL_BELT1_SWITCH_L, - EL_BELT2_SWITCH_L, - EL_BELT3_SWITCH_L, - EL_BELT4_SWITCH_L + EL_BELT1_SWITCH_LEFT, + EL_BELT2_SWITCH_LEFT, + EL_BELT3_SWITCH_LEFT, + EL_BELT4_SWITCH_LEFT }; int belt_nr = getBeltNrFromSwitchElement(element); @@ -282,36 +282,41 @@ static void InitField(int x, int y, boolean init_game) Feld[x][y] = EL_BADEWANNE5; break; - case EL_KAEFER_R: - case EL_KAEFER_O: - case EL_KAEFER_L: - case EL_KAEFER_U: + case EL_KAEFER_RIGHT: + case EL_KAEFER_UP: + case EL_KAEFER_LEFT: + case EL_KAEFER_DOWN: case EL_KAEFER: - case EL_FLIEGER_R: - case EL_FLIEGER_O: - case EL_FLIEGER_L: - case EL_FLIEGER_U: + case EL_FLIEGER_RIGHT: + case EL_FLIEGER_UP: + case EL_FLIEGER_LEFT: + case EL_FLIEGER_DOWN: case EL_FLIEGER: - case EL_BUTTERFLY_R: - case EL_BUTTERFLY_O: - case EL_BUTTERFLY_L: - case EL_BUTTERFLY_U: + case EL_BUTTERFLY_RIGHT: + case EL_BUTTERFLY_UP: + case EL_BUTTERFLY_LEFT: + case EL_BUTTERFLY_DOWN: case EL_BUTTERFLY: - case EL_FIREFLY_R: - case EL_FIREFLY_O: - case EL_FIREFLY_L: - case EL_FIREFLY_U: + case EL_FIREFLY_RIGHT: + case EL_FIREFLY_UP: + case EL_FIREFLY_LEFT: + case EL_FIREFLY_DOWN: case EL_FIREFLY: - case EL_PACMAN_R: - case EL_PACMAN_O: - case EL_PACMAN_L: - case EL_PACMAN_U: + case EL_PACMAN_RIGHT: + case EL_PACMAN_UP: + case EL_PACMAN_LEFT: + case EL_PACMAN_DOWN: case EL_MAMPFER: case EL_MAMPFER2: case EL_ROBOT: case EL_PACMAN: case EL_SP_SNIKSNAK: case EL_SP_ELECTRON: + case EL_MOLE_LEFT: + case EL_MOLE_RIGHT: + case EL_MOLE_UP: + case EL_MOLE_DOWN: + case EL_MOLE: InitMovDir(x, y); break; @@ -340,7 +345,6 @@ static void InitField(int x, int y, boolean init_game) local_player->sokobanfields_still_needed++; break; - case EL_MAULWURF: case EL_PINGUIN: local_player->friends_still_needed++; break; @@ -367,18 +371,18 @@ static void InitField(int x, int y, boolean init_game) Feld[x][y] = EL_EM_KEY_4; break; - case EL_BELT1_SWITCH_L: - case EL_BELT1_SWITCH_M: - case EL_BELT1_SWITCH_R: - case EL_BELT2_SWITCH_L: - case EL_BELT2_SWITCH_M: - case EL_BELT2_SWITCH_R: - case EL_BELT3_SWITCH_L: - case EL_BELT3_SWITCH_M: - case EL_BELT3_SWITCH_R: - case EL_BELT4_SWITCH_L: - case EL_BELT4_SWITCH_M: - case EL_BELT4_SWITCH_R: + case EL_BELT1_SWITCH_LEFT: + case EL_BELT1_SWITCH_MIDDLE: + case EL_BELT1_SWITCH_RIGHT: + case EL_BELT2_SWITCH_LEFT: + case EL_BELT2_SWITCH_MIDDLE: + case EL_BELT2_SWITCH_RIGHT: + case EL_BELT3_SWITCH_LEFT: + case EL_BELT3_SWITCH_MIDDLE: + case EL_BELT3_SWITCH_RIGHT: + case EL_BELT4_SWITCH_LEFT: + case EL_BELT4_SWITCH_MIDDLE: + case EL_BELT4_SWITCH_RIGHT: if (init_game) { int belt_nr = getBeltNrFromSwitchElement(Feld[x][y]); @@ -760,52 +764,53 @@ void InitMovDir(int x, int y) { 0, -1 }, { -1, 0 } }; - static int direction[2][4] = + static int direction[3][4] = { { MV_RIGHT, MV_UP, MV_LEFT, MV_DOWN }, - { MV_LEFT, MV_DOWN, MV_RIGHT, MV_UP } + { MV_LEFT, MV_DOWN, MV_RIGHT, MV_UP }, + { MV_LEFT, MV_RIGHT, MV_UP, MV_DOWN } }; switch(element) { - case EL_KAEFER_R: - case EL_KAEFER_O: - case EL_KAEFER_L: - case EL_KAEFER_U: + case EL_KAEFER_RIGHT: + case EL_KAEFER_UP: + case EL_KAEFER_LEFT: + case EL_KAEFER_DOWN: Feld[x][y] = EL_KAEFER; - MovDir[x][y] = direction[0][element - EL_KAEFER_R]; + MovDir[x][y] = direction[0][element - EL_KAEFER_RIGHT]; break; - case EL_FLIEGER_R: - case EL_FLIEGER_O: - case EL_FLIEGER_L: - case EL_FLIEGER_U: + case EL_FLIEGER_RIGHT: + case EL_FLIEGER_UP: + case EL_FLIEGER_LEFT: + case EL_FLIEGER_DOWN: Feld[x][y] = EL_FLIEGER; - MovDir[x][y] = direction[0][element - EL_FLIEGER_R]; + MovDir[x][y] = direction[0][element - EL_FLIEGER_RIGHT]; break; - case EL_BUTTERFLY_R: - case EL_BUTTERFLY_O: - case EL_BUTTERFLY_L: - case EL_BUTTERFLY_U: + 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_R]; + MovDir[x][y] = direction[0][element - EL_BUTTERFLY_RIGHT]; break; - case EL_FIREFLY_R: - case EL_FIREFLY_O: - case EL_FIREFLY_L: - case EL_FIREFLY_U: + 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_R]; + MovDir[x][y] = direction[0][element - EL_FIREFLY_RIGHT]; break; - case EL_PACMAN_R: - case EL_PACMAN_O: - case EL_PACMAN_L: - case EL_PACMAN_U: + case EL_PACMAN_RIGHT: + case EL_PACMAN_UP: + case EL_PACMAN_LEFT: + case EL_PACMAN_DOWN: Feld[x][y] = EL_PACMAN; - MovDir[x][y] = direction[0][element - EL_PACMAN_R]; + MovDir[x][y] = direction[0][element - EL_PACMAN_RIGHT]; break; case EL_SP_SNIKSNAK: @@ -816,6 +821,14 @@ void InitMovDir(int x, int y) MovDir[x][y] = MV_LEFT; break; + case EL_MOLE_LEFT: + case EL_MOLE_RIGHT: + case EL_MOLE_UP: + case EL_MOLE_DOWN: + Feld[x][y] = EL_MOLE; + MovDir[x][y] = direction[2][element - EL_MOLE_LEFT]; + break; + default: MovDir[x][y] = 1 << RND(4); if (element != EL_KAEFER && @@ -1281,7 +1294,7 @@ void Explode(int ex, int ey, int phase, int mode) if (game.emulation == EMU_SUPAPLEX) Store[x][y] = EL_LEERRAUM; } - else if (center_element == EL_MAULWURF) + else if (center_element == EL_MOLE) Store[x][y] = EL_EDELSTEIN_ROT; else if (center_element == EL_PINGUIN) Store[x][y] = EL_EDELSTEIN_LILA; @@ -1475,6 +1488,7 @@ void Bang(int x, int y) case EL_MAMPFER2: case EL_ROBOT: case EL_PACMAN: + case EL_MOLE: RaiseScoreElement(element); Explode(x, y, EX_PHASE_START, EX_NORMAL); break; @@ -1487,7 +1501,6 @@ void Bang(int x, int y) case EL_DYNABOMB_XL: DynaExplode(x, y); break; - case EL_MAULWURF: case EL_PINGUIN: case EL_BIRNE_AUS: case EL_BIRNE_EIN: @@ -1548,10 +1561,10 @@ static void ToggleBeltSwitch(int x, int y) { static int belt_base_element[4] = { - EL_BELT1_SWITCH_L, - EL_BELT2_SWITCH_L, - EL_BELT3_SWITCH_L, - EL_BELT4_SWITCH_L + EL_BELT1_SWITCH_LEFT, + EL_BELT2_SWITCH_LEFT, + EL_BELT3_SWITCH_LEFT, + EL_BELT4_SWITCH_LEFT }; static int belt_move_dir[4] = { @@ -1708,7 +1721,7 @@ void Impact(int x, int y) { if (object_hit && IS_PLAYER(x, y+1)) KillHeroUnlessForceField(PLAYERINFO(x, y+1)); - else if (object_hit && (smashed == EL_MAULWURF || smashed == EL_PINGUIN)) + else if (object_hit && smashed == EL_PINGUIN) Bang(x, y+1); else { @@ -1743,7 +1756,7 @@ void Impact(int x, int y) KillHeroUnlessForceField(PLAYERINFO(x, y+1)); return; } - else if (smashed == EL_MAULWURF || smashed == EL_PINGUIN) + else if (smashed == EL_PINGUIN) { Bang(x, y+1); return; @@ -1760,7 +1773,8 @@ void Impact(int x, int y) { if (IS_ENEMY(smashed) || smashed == EL_BOMBE || smashed == EL_SP_DISK_ORANGE || - smashed == EL_SONDE || smashed == EL_SCHWEIN || smashed == EL_DRACHE) + smashed == EL_SONDE || smashed == EL_SCHWEIN || + smashed == EL_DRACHE || smashed == EL_MOLE) { Bang(x, y+1); return; @@ -2113,8 +2127,36 @@ void TurnRound(int x, int y) MovDelay[x][y] = 0; } - else if (element == EL_ROBOT || element == EL_SONDE || - element == EL_MAULWURF || element == EL_PINGUIN) + else if (element == EL_MOLE) + { + boolean can_turn_left = FALSE, can_turn_right = FALSE, can_move_on = FALSE; + + if (IN_LEV_FIELD(move_x, move_y) && + (IS_FREE(move_x, move_y) || IS_AMOEBOID(Feld[move_x][move_y]) || + Feld[move_x][move_y] == EL_DEAMOEBING)) + can_move_on = TRUE; + + if (!can_move_on) + { + if (IN_LEV_FIELD(left_x, left_y) && + (IS_FREE(left_x, left_y) || IS_AMOEBOID(Feld[left_x][left_y]))) + can_turn_left = TRUE; + if (IN_LEV_FIELD(right_x, right_y) && + (IS_FREE(right_x, right_y) || IS_AMOEBOID(Feld[right_x][right_y]))) + can_turn_right = TRUE; + + if (can_turn_left && can_turn_right) + MovDir[x][y] = (RND(2) ? left_dir : right_dir); + else if (can_turn_left) + MovDir[x][y] = left_dir; + else + MovDir[x][y] = right_dir; + } + + if (MovDir[x][y] != old_move_dir) + MovDelay[x][y] = 9; + } + else if (element == EL_ROBOT || element == EL_SONDE || element == EL_PINGUIN) { int attr_x = -1, attr_y = -1; @@ -2149,7 +2191,7 @@ void TurnRound(int x, int y) attr_y = ZY; } - if (element == EL_MAULWURF || element == EL_PINGUIN) + if (element == EL_PINGUIN) { int i; static int xy[4][2] = @@ -2215,7 +2257,7 @@ void TurnRound(int x, int y) if (IN_LEV_FIELD(newx, newy) && (IS_FREE(newx, newy) || Feld[newx][newy] == EL_SALZSAEURE || - ((element == EL_MAULWURF || element == EL_PINGUIN) && + (element == EL_PINGUIN && (Feld[newx][newy] == EL_AUSGANG_AUF || IS_MAMPF3(Feld[newx][newy]))))) return; @@ -2227,7 +2269,7 @@ void TurnRound(int x, int y) if (IN_LEV_FIELD(newx, newy) && (IS_FREE(newx, newy) || Feld[newx][newy] == EL_SALZSAEURE || - ((element == EL_MAULWURF || element == EL_PINGUIN) && + (element == EL_PINGUIN && (Feld[newx][newy] == EL_AUSGANG_AUF || IS_MAMPF3(Feld[newx][newy]))))) return; @@ -2429,9 +2471,11 @@ void StartMoving(int x, int y) if (element!=EL_MAMPFER && element!=EL_MAMPFER2 && element!=EL_PACMAN) { TurnRound(x, y); - if (MovDelay[x][y] && (element == EL_KAEFER || element == EL_FLIEGER || + if (MovDelay[x][y] && (element == EL_KAEFER || + element == EL_FLIEGER || element == EL_SP_SNIKSNAK || - element == EL_SP_ELECTRON)) + element == EL_SP_ELECTRON || + element == EL_MOLE)) DrawLevelField(x, y); } } @@ -2532,7 +2576,7 @@ void StartMoving(int x, int y) #endif } - else if ((element == EL_MAULWURF || element == EL_PINGUIN || + else if ((element == EL_PINGUIN || element == EL_ROBOT || element == EL_SONDE) && IN_LEV_FIELD(newx, newy) && MovDir[x][y] == MV_DOWN && Feld[newx][newy] == EL_SALZSAEURE) @@ -2540,8 +2584,7 @@ void StartMoving(int x, int y) Blurb(x, y); Store[x][y] = EL_SALZSAEURE; } - else if ((element == EL_MAULWURF || element == EL_PINGUIN) && - IN_LEV_FIELD(newx, newy)) + else if (element == EL_PINGUIN && IN_LEV_FIELD(newx, newy)) { if (Feld[newx][newy] == EL_AUSGANG_AUF) { @@ -2666,8 +2709,8 @@ void StartMoving(int x, int y) DrawLevelField(newx, newy); } } - else if (element == EL_PACMAN && IN_LEV_FIELD(newx, newy) && - IS_AMOEBOID(Feld[newx][newy])) + else if ((element == EL_PACMAN || element == EL_MOLE) + && IN_LEV_FIELD(newx, newy) && IS_AMOEBOID(Feld[newx][newy])) { if (AmoebaNr[newx][newy]) { @@ -2677,8 +2720,24 @@ void StartMoving(int x, int y) AmoebaCnt[AmoebaNr[newx][newy]]--; } - Feld[newx][newy] = EL_LEERRAUM; - DrawLevelField(newx, newy); + if (element == EL_MOLE) + { + Feld[newx][newy] = EL_DEAMOEBING; + MovDelay[newx][newy] = 0; /* start amoeba shrinking delay */ + return; /* wait for shrinking amoeba */ + } + else /* element == EL_PACMAN */ + { + Feld[newx][newy] = EL_LEERRAUM; + DrawLevelField(newx, newy); + } + } + else if (element == EL_MOLE && IN_LEV_FIELD(newx, newy) && + (Feld[newx][newy] == EL_DEAMOEBING || + (Feld[newx][newy] == EL_LEERRAUM && Stop[newx][newy]))) + { + /* wait for shrinking amoeba to completely disappear */ + return; } else if (!IN_LEV_FIELD(newx, newy) || !IS_FREE(newx, newy)) { @@ -2687,7 +2746,7 @@ void StartMoving(int x, int y) TurnRound(x, y); if (element == EL_KAEFER || element == EL_FLIEGER || - element == EL_SP_SNIKSNAK) + element == EL_SP_SNIKSNAK || element == EL_MOLE) DrawLevelField(x, y); else if (element == EL_BUTTERFLY || element == EL_FIREFLY) DrawGraphicAnimation(x, y, el2gfx(element), 2, 4, ANIM_NORMAL); @@ -2739,6 +2798,32 @@ void ContinueMoving(int x, int y) Feld[x][y] = EL_LEERRAUM; Feld[newx][newy] = element; + if (element == EL_MOLE) + { + int i; + static int xy[4][2] = + { + { 0, -1 }, + { -1, 0 }, + { +1, 0 }, + { 0, +1 } + }; + + Feld[x][y] = EL_ERDREICH; + DrawLevelField(x, y); + + for(i=0; i<4; i++) + { + int xx, yy; + + xx = x + xy[i][0]; + yy = y + xy[i][1]; + + if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_ERDREICH) + DrawLevelField(xx, yy); /* for "ErdreichAnbroeckeln()" */ + } + } + if (Store[x][y] == EL_MORAST_VOLL) { Store[x][y] = 0; @@ -3014,6 +3099,40 @@ void AmoebeWaechst(int x, int y) } } +void AmoebeSchrumpft(int x, int y) +{ + static unsigned long sound_delay = 0; + static unsigned long sound_delay_value = 0; + + if (!MovDelay[x][y]) /* start new shrinking cycle */ + { + MovDelay[x][y] = 7; + + if (DelayReached(&sound_delay, sound_delay_value)) + { + PlaySoundLevel(x, y, SND_BLURB); + sound_delay_value = 30; + } + } + + if (MovDelay[x][y]) /* wait some time before shrinking */ + { + MovDelay[x][y]--; + if (MovDelay[x][y]/2 && IN_SCR_FIELD(SCREENX(x), SCREENY(y))) + DrawGraphic(SCREENX(x), SCREENY(y), GFX_AMOEBING + MovDelay[x][y]/2); + + if (!MovDelay[x][y]) + { + Feld[x][y] = EL_LEERRAUM; + DrawLevelField(x, y); + + /* don't let mole enter this field in this cycle; + (give priority to objects falling to this field from above) */ + Stop[x][y] = TRUE; + } + } +} + void AmoebeAbleger(int ax, int ay) { int i; @@ -3965,6 +4084,8 @@ void GameActions() Explode(x, y, Frame[x][y], EX_NORMAL); else if (element == EL_AMOEBING) AmoebeWaechst(x, y); + else if (element == EL_DEAMOEBING) + AmoebeSchrumpft(x, y); else if (IS_AMOEBALIVE(element)) AmoebeAbleger(x, y); else if (element == EL_LIFE || element == EL_LIFE_ASYNC) @@ -4976,18 +5097,18 @@ int DigField(struct PlayerInfo *player, } break; - case EL_BELT1_SWITCH_L: - case EL_BELT1_SWITCH_M: - case EL_BELT1_SWITCH_R: - case EL_BELT2_SWITCH_L: - case EL_BELT2_SWITCH_M: - case EL_BELT2_SWITCH_R: - case EL_BELT3_SWITCH_L: - case EL_BELT3_SWITCH_M: - case EL_BELT3_SWITCH_R: - case EL_BELT4_SWITCH_L: - case EL_BELT4_SWITCH_M: - case EL_BELT4_SWITCH_R: + case EL_BELT1_SWITCH_LEFT: + case EL_BELT1_SWITCH_MIDDLE: + case EL_BELT1_SWITCH_RIGHT: + case EL_BELT2_SWITCH_LEFT: + case EL_BELT2_SWITCH_MIDDLE: + case EL_BELT2_SWITCH_RIGHT: + case EL_BELT3_SWITCH_LEFT: + case EL_BELT3_SWITCH_MIDDLE: + case EL_BELT3_SWITCH_RIGHT: + case EL_BELT4_SWITCH_LEFT: + case EL_BELT4_SWITCH_MIDDLE: + case EL_BELT4_SWITCH_RIGHT: if (!player->Switching) { player->Switching = TRUE; @@ -5279,7 +5400,6 @@ int DigField(struct PlayerInfo *player, break; - case EL_MAULWURF: case EL_PINGUIN: case EL_SCHWEIN: case EL_DRACHE: diff --git a/src/init.c b/src/init.c index 09804ee1..78e38abe 100644 --- a/src/init.c +++ b/src/init.c @@ -929,18 +929,18 @@ void InitElementProperties() EL_SP_TERMINAL, EL_SP_EXIT, EL_INVISIBLE_STEEL, - EL_BELT1_SWITCH_L, - EL_BELT1_SWITCH_M, - EL_BELT1_SWITCH_R, - EL_BELT2_SWITCH_L, - EL_BELT2_SWITCH_M, - EL_BELT2_SWITCH_R, - EL_BELT3_SWITCH_L, - EL_BELT3_SWITCH_M, - EL_BELT3_SWITCH_R, - EL_BELT4_SWITCH_L, - EL_BELT4_SWITCH_M, - EL_BELT4_SWITCH_R, + EL_BELT1_SWITCH_LEFT, + EL_BELT1_SWITCH_MIDDLE, + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_LEFT, + EL_BELT2_SWITCH_MIDDLE, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_LEFT, + EL_BELT3_SWITCH_MIDDLE, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_LEFT, + EL_BELT4_SWITCH_MIDDLE, + EL_BELT4_SWITCH_RIGHT, EL_LIGHT_SWITCH_OFF, EL_LIGHT_SWITCH_ON, EL_SIGN_EXCLAMATION, @@ -998,18 +998,18 @@ void InitElementProperties() EL_SP_HARD_BASE5, EL_SP_HARD_BASE6, EL_INVISIBLE_STEEL, - EL_BELT1_SWITCH_L, - EL_BELT1_SWITCH_M, - EL_BELT1_SWITCH_R, - EL_BELT2_SWITCH_L, - EL_BELT2_SWITCH_M, - EL_BELT2_SWITCH_R, - EL_BELT3_SWITCH_L, - EL_BELT3_SWITCH_M, - EL_BELT3_SWITCH_R, - EL_BELT4_SWITCH_L, - EL_BELT4_SWITCH_M, - EL_BELT4_SWITCH_R, + EL_BELT1_SWITCH_LEFT, + EL_BELT1_SWITCH_MIDDLE, + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_LEFT, + EL_BELT2_SWITCH_MIDDLE, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_LEFT, + EL_BELT3_SWITCH_MIDDLE, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_LEFT, + EL_BELT4_SWITCH_MIDDLE, + EL_BELT4_SWITCH_RIGHT, EL_LIGHT_SWITCH_OFF, EL_LIGHT_SWITCH_ON, EL_SIGN_EXCLAMATION, @@ -1201,7 +1201,7 @@ void InitElementProperties() EL_MAMPFER2, EL_ROBOT, EL_PACMAN, - EL_MAULWURF, + EL_MOLE, EL_PINGUIN, EL_SCHWEIN, EL_DRACHE, @@ -1213,26 +1213,26 @@ void InitElementProperties() static int ep_could_move[] = { - EL_KAEFER_R, - EL_KAEFER_O, - EL_KAEFER_L, - EL_KAEFER_U, - EL_FLIEGER_R, - EL_FLIEGER_O, - EL_FLIEGER_L, - EL_FLIEGER_U, - EL_BUTTERFLY_R, - EL_BUTTERFLY_O, - EL_BUTTERFLY_L, - EL_BUTTERFLY_U, - EL_FIREFLY_R, - EL_FIREFLY_O, - EL_FIREFLY_L, - EL_FIREFLY_U, - EL_PACMAN_R, - EL_PACMAN_O, - EL_PACMAN_L, - EL_PACMAN_U + EL_KAEFER_RIGHT, + EL_KAEFER_UP, + EL_KAEFER_LEFT, + EL_KAEFER_DOWN, + EL_FLIEGER_RIGHT, + EL_FLIEGER_UP, + EL_FLIEGER_LEFT, + EL_FLIEGER_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_PACMAN_RIGHT, + EL_PACMAN_UP, + EL_PACMAN_LEFT, + EL_PACMAN_DOWN }; static int ep_could_move_num = sizeof(ep_could_move)/sizeof(int); @@ -1436,18 +1436,18 @@ void InitElementProperties() EL_SP_HARD_BASE6, EL_SP_EXIT, EL_INVISIBLE_STEEL, - EL_BELT1_SWITCH_L, - EL_BELT1_SWITCH_M, - EL_BELT1_SWITCH_R, - EL_BELT2_SWITCH_L, - EL_BELT2_SWITCH_M, - EL_BELT2_SWITCH_R, - EL_BELT3_SWITCH_L, - EL_BELT3_SWITCH_M, - EL_BELT3_SWITCH_R, - EL_BELT4_SWITCH_L, - EL_BELT4_SWITCH_M, - EL_BELT4_SWITCH_R, + EL_BELT1_SWITCH_LEFT, + EL_BELT1_SWITCH_MIDDLE, + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_LEFT, + EL_BELT2_SWITCH_MIDDLE, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_LEFT, + EL_BELT3_SWITCH_MIDDLE, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_LEFT, + EL_BELT4_SWITCH_MIDDLE, + EL_BELT4_SWITCH_RIGHT, EL_SIGN_EXCLAMATION, EL_SIGN_RADIOACTIVITY, EL_SIGN_STOP, @@ -1477,7 +1477,7 @@ void InitElementProperties() EL_DYNABOMB_SZ, EL_DYNABOMB_XL, EL_KAEFER, - EL_MAULWURF, + EL_MOLE, EL_PINGUIN, EL_SCHWEIN, EL_DRACHE, @@ -1662,18 +1662,18 @@ void InitElementProperties() static int ep_belt_switch[] = { - EL_BELT1_SWITCH_L, - EL_BELT1_SWITCH_M, - EL_BELT1_SWITCH_R, - EL_BELT2_SWITCH_L, - EL_BELT2_SWITCH_M, - EL_BELT2_SWITCH_R, - EL_BELT3_SWITCH_L, - EL_BELT3_SWITCH_M, - EL_BELT3_SWITCH_R, - EL_BELT4_SWITCH_L, - EL_BELT4_SWITCH_M, - EL_BELT4_SWITCH_R, + EL_BELT1_SWITCH_LEFT, + EL_BELT1_SWITCH_MIDDLE, + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_LEFT, + EL_BELT2_SWITCH_MIDDLE, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_LEFT, + EL_BELT3_SWITCH_MIDDLE, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_LEFT, + EL_BELT4_SWITCH_MIDDLE, + EL_BELT4_SWITCH_RIGHT, }; static int ep_belt_switch_num = sizeof(ep_belt_switch)/sizeof(int); diff --git a/src/main.c b/src/main.c index daa34081..f6439e8f 100644 --- a/src/main.c +++ b/src/main.c @@ -519,8 +519,8 @@ char *element_info[] = "invisible sand", "dx unknown 15", "dx unknown 42", - "dx unknown 229", - "dx unknown 233", /* 320 */ + "-", + "-", /* 320 */ "force field (active, kills enemies)", "-", "-", diff --git a/src/main.h b/src/main.h index 9ae8be87..4e6bd02f 100644 --- a/src/main.h +++ b/src/main.h @@ -679,40 +679,40 @@ extern char *element_info[]; #define EL_SOKOBAN_OBJEKT 67 #define EL_SOKOBAN_FELD_LEER 68 #define EL_SOKOBAN_FELD_VOLL 69 -#define EL_BUTTERFLY_R 70 -#define EL_BUTTERFLY_O 71 -#define EL_BUTTERFLY_L 72 -#define EL_BUTTERFLY_U 73 -#define EL_FIREFLY_R 74 -#define EL_FIREFLY_O 75 -#define EL_FIREFLY_L 76 -#define EL_FIREFLY_U 77 -#define EL_BUTTERFLY_1 EL_BUTTERFLY_U -#define EL_BUTTERFLY_2 EL_BUTTERFLY_L -#define EL_BUTTERFLY_3 EL_BUTTERFLY_O -#define EL_BUTTERFLY_4 EL_BUTTERFLY_R -#define EL_FIREFLY_1 EL_FIREFLY_L -#define EL_FIREFLY_2 EL_FIREFLY_U -#define EL_FIREFLY_3 EL_FIREFLY_R -#define EL_FIREFLY_4 EL_FIREFLY_O +#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_SPIELER1 80 #define EL_SPIELER2 81 #define EL_SPIELER3 82 #define EL_SPIELER4 83 -#define EL_KAEFER_R 84 -#define EL_KAEFER_O 85 -#define EL_KAEFER_L 86 -#define EL_KAEFER_U 87 -#define EL_FLIEGER_R 88 -#define EL_FLIEGER_O 89 -#define EL_FLIEGER_L 90 -#define EL_FLIEGER_U 91 -#define EL_PACMAN_R 92 -#define EL_PACMAN_O 93 -#define EL_PACMAN_L 94 -#define EL_PACMAN_U 95 +#define EL_KAEFER_RIGHT 84 +#define EL_KAEFER_UP 85 +#define EL_KAEFER_LEFT 86 +#define EL_KAEFER_DOWN 87 +#define EL_FLIEGER_RIGHT 88 +#define EL_FLIEGER_UP 89 +#define EL_FLIEGER_LEFT 90 +#define EL_FLIEGER_DOWN 91 +#define EL_PACMAN_RIGHT 92 +#define EL_PACMAN_UP 93 +#define EL_PACMAN_LEFT 94 +#define EL_PACMAN_DOWN 95 #define EL_EDELSTEIN_ROT 96 #define EL_EDELSTEIN_LILA 97 #define EL_ERZ_EDEL_ROT 98 @@ -731,13 +731,13 @@ extern char *element_info[]; #define EL_BLACK_ORB 108 #define EL_AMOEBA2DIAM 109 -#define EL_MAULWURF 110 +#define EL_MOLE 110 #define EL_PINGUIN 111 #define EL_SONDE 112 -#define EL_PFEIL_L 113 -#define EL_PFEIL_R 114 -#define EL_PFEIL_O 115 -#define EL_PFEIL_U 116 +#define EL_PFEIL_LEFT 113 +#define EL_PFEIL_RIGHT 114 +#define EL_PFEIL_UP 115 +#define EL_PFEIL_DOWN 116 #define EL_SCHWEIN 117 #define EL_DRACHE 118 @@ -864,27 +864,27 @@ extern char *element_info[]; #define EL_BELT1_LEFT 271 #define EL_BELT1_MIDDLE 272 #define EL_BELT1_RIGHT 273 -#define EL_BELT1_SWITCH_L 274 -#define EL_BELT1_SWITCH_M 275 -#define EL_BELT1_SWITCH_R 276 +#define EL_BELT1_SWITCH_LEFT 274 +#define EL_BELT1_SWITCH_MIDDLE 275 +#define EL_BELT1_SWITCH_RIGHT 276 #define EL_BELT2_LEFT 277 #define EL_BELT2_MIDDLE 278 #define EL_BELT2_RIGHT 279 -#define EL_BELT2_SWITCH_L 280 -#define EL_BELT2_SWITCH_M 281 -#define EL_BELT2_SWITCH_R 282 +#define EL_BELT2_SWITCH_LEFT 280 +#define EL_BELT2_SWITCH_MIDDLE 281 +#define EL_BELT2_SWITCH_RIGHT 282 #define EL_BELT3_LEFT 283 #define EL_BELT3_MIDDLE 284 #define EL_BELT3_RIGHT 285 -#define EL_BELT3_SWITCH_L 286 -#define EL_BELT3_SWITCH_M 287 -#define EL_BELT3_SWITCH_R 288 +#define EL_BELT3_SWITCH_LEFT 286 +#define EL_BELT3_SWITCH_MIDDLE 287 +#define EL_BELT3_SWITCH_RIGHT 288 #define EL_BELT4_LEFT 289 #define EL_BELT4_MIDDLE 290 #define EL_BELT4_RIGHT 291 -#define EL_BELT4_SWITCH_L 292 -#define EL_BELT4_SWITCH_M 293 -#define EL_BELT4_SWITCH_R 294 +#define EL_BELT4_SWITCH_LEFT 292 +#define EL_BELT4_SWITCH_MIDDLE 293 +#define EL_BELT4_SWITCH_RIGHT 294 #define EL_LANDMINE 295 #define EL_ENVELOPE 296 #define EL_LIGHT_SWITCH_OFF 297 @@ -909,8 +909,10 @@ extern char *element_info[]; #define EL_SAND_INVISIBLE 316 #define EL_DX_UNKNOWN_15 317 #define EL_DX_UNKNOWN_42 318 -#define EL_DX_UNKNOWN_229 319 -#define EL_DX_UNKNOWN_233 320 + +#define EL_UNUSED_319 319 +#define EL_UNUSED_320 320 + #define EL_FORCE_FIELD_ACTIVE 321 /* "real" (and therefore drawable) runtime elements */ @@ -941,9 +943,10 @@ extern char *element_info[]; #define EL_BLURB_LEFT 603 #define EL_BLURB_RIGHT 604 #define EL_AMOEBING 605 -#define EL_MAUERND 606 -#define EL_BURNING 607 -#define EL_PLAYER_IS_LEAVING 608 +#define EL_DEAMOEBING 606 +#define EL_MAUERND 607 +#define EL_BURNING 608 +#define EL_PLAYER_IS_LEAVING 609 /* game graphics: ** 0 - 255: graphics from "RocksScreen" @@ -1015,25 +1018,25 @@ extern char *element_info[]; #define GFX_DYNAMIT_AUS 48 #define GFX_DYNAMIT 49 #define GFX_FLIEGER 56 -#define GFX_FLIEGER_R 56 -#define GFX_FLIEGER_O 57 -#define GFX_FLIEGER_L 58 -#define GFX_FLIEGER_U 59 +#define GFX_FLIEGER_RIGHT 56 +#define GFX_FLIEGER_UP 57 +#define GFX_FLIEGER_LEFT 58 +#define GFX_FLIEGER_DOWN 59 /* Zeile 4 (64) */ #define GFX_EXPLOSION 64 #define GFX_KAEFER 72 -#define GFX_KAEFER_R 72 -#define GFX_KAEFER_O 73 -#define GFX_KAEFER_L 74 -#define GFX_KAEFER_U 75 +#define GFX_KAEFER_RIGHT 72 +#define GFX_KAEFER_UP 73 +#define GFX_KAEFER_LEFT 74 +#define GFX_KAEFER_DOWN 75 /* Zeile 5 (80) */ #define GFX_MAMPFER 80 #define GFX_ROBOT 84 #define GFX_PACMAN 88 -#define GFX_PACMAN_R 88 -#define GFX_PACMAN_O 89 -#define GFX_PACMAN_L 90 -#define GFX_PACMAN_U 91 +#define GFX_PACMAN_RIGHT 88 +#define GFX_PACMAN_UP 89 +#define GFX_PACMAN_LEFT 90 +#define GFX_PACMAN_DOWN 91 /* Zeile 6 (96) */ #define GFX_ABLENK 96 #define GFX_ABLENK_EIN GFX_ABLENK @@ -1078,7 +1081,7 @@ extern char *element_info[]; #define GFX_KUGEL_GRAU 143 /* Zeile 9 (144) */ #define GFX_PINGUIN 144 -#define GFX_MAULWURF 145 +#define GFX_MOLE 145 #define GFX_SCHWEIN 146 #define GFX_DRACHE 147 #define GFX_MAUER_XY 148 @@ -1112,20 +1115,20 @@ extern char *element_info[]; #define GFX_DYNABOMB_NR 188 #define GFX_DYNABOMB_SZ 191 /* Zeile 12 (192) */ -#define GFX_PFEIL_L 192 -#define GFX_PFEIL_R 193 -#define GFX_PFEIL_O 194 -#define GFX_PFEIL_U 195 +#define GFX_PFEIL_LEFT 192 +#define GFX_PFEIL_RIGHT 193 +#define GFX_PFEIL_UP 194 +#define GFX_PFEIL_DOWN 195 #define GFX_BUTTERFLY 196 #define GFX_FIREFLY 198 -#define GFX_BUTTERFLY_R 200 -#define GFX_BUTTERFLY_O 201 -#define GFX_BUTTERFLY_L 202 -#define GFX_BUTTERFLY_U 203 -#define GFX_FIREFLY_R 204 -#define GFX_FIREFLY_O 205 -#define GFX_FIREFLY_L 206 -#define GFX_FIREFLY_U 207 +#define GFX_BUTTERFLY_RIGHT 200 +#define GFX_BUTTERFLY_UP 201 +#define GFX_BUTTERFLY_LEFT 202 +#define GFX_BUTTERFLY_DOWN 203 +#define GFX_FIREFLY_RIGHT 204 +#define GFX_FIREFLY_UP 205 +#define GFX_FIREFLY_LEFT 206 +#define GFX_FIREFLY_DOWN 207 /* only available as size MINI_TILE */ #define GFX_VSTEEL_UPPER_LEFT 208 @@ -1182,10 +1185,10 @@ extern char *element_info[]; #define GFX_DRACHE_UP (GFX_START_ROCKSHEROES + 2*HEROES_PER_LINE +12) #define GFX_DRACHE_LEFT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE + 8) #define GFX_DRACHE_RIGHT (GFX_START_ROCKSHEROES + 3*HEROES_PER_LINE +12) -#define GFX_MAULWURF_DOWN (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 8) -#define GFX_MAULWURF_UP (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE +12) -#define GFX_MAULWURF_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 8) -#define GFX_MAULWURF_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE +12) +#define GFX_MOLE_DOWN (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE + 8) +#define GFX_MOLE_UP (GFX_START_ROCKSHEROES + 4*HEROES_PER_LINE +12) +#define GFX_MOLE_LEFT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE + 8) +#define GFX_MOLE_RIGHT (GFX_START_ROCKSHEROES + 5*HEROES_PER_LINE +12) #define GFX_PINGUIN_DOWN (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE + 8) #define GFX_PINGUIN_UP (GFX_START_ROCKSHEROES + 6*HEROES_PER_LINE +12) #define GFX_PINGUIN_LEFT (GFX_START_ROCKSHEROES + 7*HEROES_PER_LINE + 8) @@ -1302,18 +1305,18 @@ extern char *element_info[]; #define GFX_BELT4_MIDDLE (GFX_START_ROCKSDC + 9 * DC_PER_LINE + 0) #define GFX_BELT4_LEFT (GFX_START_ROCKSDC + 10 * DC_PER_LINE + 0) #define GFX_BELT4_RIGHT (GFX_START_ROCKSDC + 11 * DC_PER_LINE + 0) -#define GFX_BELT1_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_L (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_M (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 3) -#define GFX_BELT1_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 0) -#define GFX_BELT2_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 1) -#define GFX_BELT3_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2) -#define GFX_BELT4_SWITCH_R (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3) +#define GFX_BELT1_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_LEFT (GFX_START_ROCKSDC + 12 * DC_PER_LINE + 3) +#define GFX_BELT1_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_MIDDLE (GFX_START_ROCKSDC + 13 * DC_PER_LINE + 3) +#define GFX_BELT1_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 0) +#define GFX_BELT2_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 1) +#define GFX_BELT3_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 2) +#define GFX_BELT4_SWITCH_RIGHT (GFX_START_ROCKSDC + 14 * DC_PER_LINE + 3) #define GFX_SWITCHGATE_OPEN (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 4) #define GFX_SWITCHGATE_CLOSED (GFX_START_ROCKSDC + 15 * DC_PER_LINE + 0) @@ -1384,14 +1387,8 @@ extern char *element_info[]; #define GFX_SIGN_EXIT GFX_CHAR_FRAGE #define GFX_SIGN_YINYANG GFX_CHAR_FRAGE #define GFX_SIGN_OTHER GFX_CHAR_FRAGE -#define GFX_MOLE_LEFT GFX_CHAR_FRAGE -#define GFX_MOLE_RIGHT GFX_CHAR_FRAGE -#define GFX_MOLE_UP GFX_CHAR_FRAGE -#define GFX_MOLE_DOWN GFX_CHAR_FRAGE #define GFX_DX_UNKNOWN_15 GFX_CHAR_FRAGE #define GFX_DX_UNKNOWN_42 GFX_CHAR_FRAGE -#define GFX_DX_UNKNOWN_229 GFX_CHAR_FRAGE -#define GFX_DX_UNKNOWN_233 GFX_CHAR_FRAGE /* the names of the sounds */ #define SND_ALCHEMY 0 diff --git a/src/screens.c b/src/screens.c index bd1a65f1..347ae23c 100644 --- a/src/screens.c +++ b/src/screens.c @@ -107,8 +107,8 @@ void DrawMainMenu() for(i=2; i<10; i++) DrawGraphic(0, i, GFX_KUGEL_BLAU); - DrawGraphic(10, 3, GFX_PFEIL_L); - DrawGraphic(14, 3, GFX_PFEIL_R); + DrawGraphic(10, 3, GFX_PFEIL_LEFT); + DrawGraphic(14, 3, GFX_PFEIL_RIGHT); DrawText(SX + 56, SY + 326, "A Game by Artsoft Entertainment", FS_SMALL, FC_RED); @@ -380,10 +380,10 @@ static int helpscreen_action[] = GFX_MAMPFER2+1,1,1, GFX_MAMPFER2+0,1,1, HA_NEXT, GFX_ROBOT+0,4,1, GFX_ROBOT+3,1,1, GFX_ROBOT+2,1,1, GFX_ROBOT+1,1,1, GFX_ROBOT+0,1,1, HA_NEXT, - GFX_MAULWURF_DOWN,4,2, - GFX_MAULWURF_UP,4,2, - GFX_MAULWURF_LEFT,4,2, - GFX_MAULWURF_RIGHT,4,2, HA_NEXT, + GFX_MOLE_DOWN,4,2, + GFX_MOLE_UP,4,2, + GFX_MOLE_LEFT,4,2, + GFX_MOLE_RIGHT,4,2, HA_NEXT, GFX_PINGUIN_DOWN,4,2, GFX_PINGUIN_UP,4,2, GFX_PINGUIN_LEFT,4,2, @@ -461,7 +461,7 @@ static char *helpscreen_eltext[][2] = {"Cruncher: Eats diamonds and you,", "if you're not careful"}, {"Cruncher (BD style):", "Eats almost everything"}, {"Robot: Tries to kill the player", ""}, - {"The mole: You must guide him savely","to the exit; he will follow you"}, + {"The mole: Eats the amoeba and turns","empty space into normal sand"}, {"The penguin: Guide him to the exit,","but keep him away from monsters!"}, {"The Pig: Harmless, but eats all", "gems it can get"}, {"The Dragon: Breathes fire,", "especially to some monsters"}, @@ -828,10 +828,10 @@ static void drawChooseLevelList(int first_entry, int num_page_entries) } if (first_entry > 0) - DrawGraphic(0, 1, GFX_PFEIL_O); + DrawGraphic(0, 1, GFX_PFEIL_UP); if (first_entry + num_page_entries < num_leveldirs) - DrawGraphic(0, MAX_LEVEL_SERIES_ON_SCREEN + 1, GFX_PFEIL_U); + DrawGraphic(0, MAX_LEVEL_SERIES_ON_SCREEN + 1, GFX_PFEIL_DOWN); } static void drawChooseLevelInfo(int leveldir_nr) @@ -1300,8 +1300,8 @@ void DrawSetupInputScreen() DrawGraphic(0, 3, GFX_KUGEL_BLAU); DrawGraphic(0, 4, GFX_KUGEL_BLAU); DrawGraphic(0, 15, GFX_KUGEL_BLAU); - DrawGraphic(10, 2, GFX_PFEIL_L); - DrawGraphic(12, 2, GFX_PFEIL_R); + DrawGraphic(10, 2, GFX_PFEIL_LEFT); + DrawGraphic(12, 2, GFX_PFEIL_RIGHT); DrawText(SX+32, SY+2*32, "Player:", FS_BIG, FC_GREEN); DrawText(SX+32, SY+3*32, "Device:", FS_BIG, FC_GREEN); @@ -1381,10 +1381,10 @@ static void drawPlayerSetupInputInfo(int player_nr) } DrawText(SX+32, SY+5*32, "Actual Settings:", FS_BIG, FC_GREEN); - DrawGraphic(1, 6, GFX_PFEIL_L); - DrawGraphic(1, 7, GFX_PFEIL_R); - DrawGraphic(1, 8, GFX_PFEIL_O); - DrawGraphic(1, 9, GFX_PFEIL_U); + DrawGraphic(1, 6, GFX_PFEIL_LEFT); + DrawGraphic(1, 7, GFX_PFEIL_RIGHT); + DrawGraphic(1, 8, GFX_PFEIL_UP); + DrawGraphic(1, 9, GFX_PFEIL_DOWN); DrawText(SX+2*32, SY+6*32, ":", FS_BIG, FC_BLUE); DrawText(SX+2*32, SY+7*32, ":", FS_BIG, FC_BLUE); DrawText(SX+2*32, SY+8*32, ":", FS_BIG, FC_BLUE); diff --git a/src/tools.c b/src/tools.c index 4403a9ce..046d47c4 100644 --- a/src/tools.c +++ b/src/tools.c @@ -1096,23 +1096,23 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, { graphic = GFX2_SP_ELECTRON + getGraphicAnimationPhase(8, 2, ANIM_NORMAL); } - else if (element == EL_MAULWURF || element == EL_PINGUIN || + else if (element == EL_MOLE || element == EL_PINGUIN || element == EL_SCHWEIN || element == EL_DRACHE) { if (dir == MV_LEFT) - graphic = (element == EL_MAULWURF ? GFX_MAULWURF_LEFT : + graphic = (element == EL_MOLE ? GFX_MOLE_LEFT : element == EL_PINGUIN ? GFX_PINGUIN_LEFT : element == EL_SCHWEIN ? GFX_SCHWEIN_LEFT : GFX_DRACHE_LEFT); else if (dir == MV_RIGHT) - graphic = (element == EL_MAULWURF ? GFX_MAULWURF_RIGHT : + graphic = (element == EL_MOLE ? GFX_MOLE_RIGHT : element == EL_PINGUIN ? GFX_PINGUIN_RIGHT : element == EL_SCHWEIN ? GFX_SCHWEIN_RIGHT : GFX_DRACHE_RIGHT); else if (dir == MV_UP) - graphic = (element == EL_MAULWURF ? GFX_MAULWURF_UP : + graphic = (element == EL_MOLE ? GFX_MOLE_UP : element == EL_PINGUIN ? GFX_PINGUIN_UP : element == EL_SCHWEIN ? GFX_SCHWEIN_UP : GFX_DRACHE_UP); else - graphic = (element == EL_MAULWURF ? GFX_MAULWURF_DOWN : + graphic = (element == EL_MOLE ? GFX_MOLE_DOWN : element == EL_PINGUIN ? GFX_PINGUIN_DOWN : element == EL_SCHWEIN ? GFX_SCHWEIN_DOWN : GFX_DRACHE_DOWN); @@ -2363,25 +2363,25 @@ int el2gfx(int element) case EL_SPIELER3: return GFX_SPIELER3; case EL_SPIELER4: return GFX_SPIELER4; case EL_KAEFER: return GFX_KAEFER; - case EL_KAEFER_R: return GFX_KAEFER_R; - case EL_KAEFER_O: return GFX_KAEFER_O; - case EL_KAEFER_L: return GFX_KAEFER_L; - case EL_KAEFER_U: return GFX_KAEFER_U; + case EL_KAEFER_RIGHT: return GFX_KAEFER_RIGHT; + case EL_KAEFER_UP: return GFX_KAEFER_UP; + case EL_KAEFER_LEFT: return GFX_KAEFER_LEFT; + case EL_KAEFER_DOWN: return GFX_KAEFER_DOWN; case EL_FLIEGER: return GFX_FLIEGER; - case EL_FLIEGER_R: return GFX_FLIEGER_R; - case EL_FLIEGER_O: return GFX_FLIEGER_O; - case EL_FLIEGER_L: return GFX_FLIEGER_L; - case EL_FLIEGER_U: return GFX_FLIEGER_U; + case EL_FLIEGER_RIGHT: return GFX_FLIEGER_RIGHT; + case EL_FLIEGER_UP: return GFX_FLIEGER_UP; + case EL_FLIEGER_LEFT: return GFX_FLIEGER_LEFT; + case EL_FLIEGER_DOWN: return GFX_FLIEGER_DOWN; case EL_BUTTERFLY: return GFX_BUTTERFLY; - case EL_BUTTERFLY_R: return GFX_BUTTERFLY_R; - case EL_BUTTERFLY_O: return GFX_BUTTERFLY_O; - case EL_BUTTERFLY_L: return GFX_BUTTERFLY_L; - case EL_BUTTERFLY_U: return GFX_BUTTERFLY_U; + 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_R: return GFX_FIREFLY_R; - case EL_FIREFLY_O: return GFX_FIREFLY_O; - case EL_FIREFLY_L: return GFX_FIREFLY_L; - case EL_FIREFLY_U: return GFX_FIREFLY_U; + 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_MAMPFER: return GFX_MAMPFER; case EL_ROBOT: return GFX_ROBOT; case EL_BETON: return GFX_BETON; @@ -2427,10 +2427,10 @@ int el2gfx(int element) case EL_PFORTE4X: return GFX_PFORTE4X; case EL_DYNAMITE_INACTIVE: return GFX_DYNAMIT_AUS; case EL_PACMAN: return GFX_PACMAN; - case EL_PACMAN_R: return GFX_PACMAN_R; - case EL_PACMAN_O: return GFX_PACMAN_O; - case EL_PACMAN_L: return GFX_PACMAN_L; - case EL_PACMAN_U: return GFX_PACMAN_U; + case EL_PACMAN_RIGHT: return GFX_PACMAN_RIGHT; + case EL_PACMAN_UP: return GFX_PACMAN_UP; + case EL_PACMAN_LEFT: return GFX_PACMAN_LEFT; + case EL_PACMAN_DOWN: return GFX_PACMAN_DOWN; case EL_UNSICHTBAR: return GFX_UNSICHTBAR; case EL_ERZ_EDEL: return GFX_ERZ_EDEL; case EL_ERZ_DIAM: return GFX_ERZ_DIAM; @@ -2465,15 +2465,15 @@ int el2gfx(int element) 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_MAULWURF: return GFX_MAULWURF; + case EL_MOLE: return GFX_MOLE; case EL_PINGUIN: return GFX_PINGUIN; case EL_SCHWEIN: return GFX_SCHWEIN; case EL_DRACHE: return GFX_DRACHE; case EL_SONDE: return GFX_SONDE; - case EL_PFEIL_L: return GFX_PFEIL_L; - case EL_PFEIL_R: return GFX_PFEIL_R; - case EL_PFEIL_O: return GFX_PFEIL_O; - case EL_PFEIL_U: return GFX_PFEIL_U; + case EL_PFEIL_LEFT: return GFX_PFEIL_LEFT; + case EL_PFEIL_RIGHT: return GFX_PFEIL_RIGHT; + case EL_PFEIL_UP: return GFX_PFEIL_UP; + case EL_PFEIL_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; @@ -2516,27 +2516,27 @@ int el2gfx(int element) case EL_BELT1_LEFT: return GFX_BELT1_LEFT; case EL_BELT1_MIDDLE: return GFX_BELT1_MIDDLE; case EL_BELT1_RIGHT: return GFX_BELT1_RIGHT; - case EL_BELT1_SWITCH_L: return GFX_BELT1_SWITCH_L; - case EL_BELT1_SWITCH_M: return GFX_BELT1_SWITCH_M; - case EL_BELT1_SWITCH_R: return GFX_BELT1_SWITCH_R; + case EL_BELT1_SWITCH_LEFT: return GFX_BELT1_SWITCH_LEFT; + case EL_BELT1_SWITCH_MIDDLE:return GFX_BELT1_SWITCH_MIDDLE; + case EL_BELT1_SWITCH_RIGHT: return GFX_BELT1_SWITCH_RIGHT; case EL_BELT2_LEFT: return GFX_BELT2_LEFT; case EL_BELT2_MIDDLE: return GFX_BELT2_MIDDLE; case EL_BELT2_RIGHT: return GFX_BELT2_RIGHT; - case EL_BELT2_SWITCH_L: return GFX_BELT2_SWITCH_L; - case EL_BELT2_SWITCH_M: return GFX_BELT2_SWITCH_M; - case EL_BELT2_SWITCH_R: return GFX_BELT2_SWITCH_R; + case EL_BELT2_SWITCH_LEFT: return GFX_BELT2_SWITCH_LEFT; + case EL_BELT2_SWITCH_MIDDLE:return GFX_BELT2_SWITCH_MIDDLE; + case EL_BELT2_SWITCH_RIGHT: return GFX_BELT2_SWITCH_RIGHT; case EL_BELT3_LEFT: return GFX_BELT3_LEFT; case EL_BELT3_MIDDLE: return GFX_BELT3_MIDDLE; case EL_BELT3_RIGHT: return GFX_BELT3_RIGHT; - case EL_BELT3_SWITCH_L: return GFX_BELT3_SWITCH_L; - case EL_BELT3_SWITCH_M: return GFX_BELT3_SWITCH_M; - case EL_BELT3_SWITCH_R: return GFX_BELT3_SWITCH_R; + case EL_BELT3_SWITCH_LEFT: return GFX_BELT3_SWITCH_LEFT; + case EL_BELT3_SWITCH_MIDDLE:return GFX_BELT3_SWITCH_MIDDLE; + case EL_BELT3_SWITCH_RIGHT: return GFX_BELT3_SWITCH_RIGHT; case EL_BELT4_LEFT: return GFX_BELT4_LEFT; case EL_BELT4_MIDDLE: return GFX_BELT4_MIDDLE; case EL_BELT4_RIGHT: return GFX_BELT4_RIGHT; - case EL_BELT4_SWITCH_L: return GFX_BELT4_SWITCH_L; - case EL_BELT4_SWITCH_M: return GFX_BELT4_SWITCH_M; - case EL_BELT4_SWITCH_R: return GFX_BELT4_SWITCH_R; + case EL_BELT4_SWITCH_LEFT: return GFX_BELT4_SWITCH_LEFT; + case EL_BELT4_SWITCH_MIDDLE:return GFX_BELT4_SWITCH_MIDDLE; + case EL_BELT4_SWITCH_RIGHT: return GFX_BELT4_SWITCH_RIGHT; case EL_LANDMINE: return GFX_LANDMINE; case EL_ENVELOPE: return GFX_ENVELOPE; case EL_LIGHT_SWITCH_OFF: return GFX_LIGHT_SWITCH_OFF; @@ -2561,8 +2561,6 @@ int el2gfx(int element) case EL_SAND_INVISIBLE: 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_DX_UNKNOWN_229: return GFX_DX_UNKNOWN_229; - case EL_DX_UNKNOWN_233: return GFX_DX_UNKNOWN_233; default: { -- 2.34.1