From aff866268cfa75327030bedcbf64a507fdc3fac2 Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Fri, 20 Sep 2002 03:12:37 +0200 Subject: [PATCH] rnd-20020920-2-src --- src/editor.c | 280 +++++++++++------------ src/files.c | 20 +- src/game.c | 616 ++++++++++++++++++++++++------------------------- src/init.c | 636 +++++++++++++++++++++++++-------------------------- src/main.c | 86 +++---- src/main.h | 199 ++++++++-------- src/tools.c | 226 +++++++++--------- 7 files changed, 1019 insertions(+), 1044 deletions(-) diff --git a/src/editor.c b/src/editor.c index 17b2c663..cf287ec8 100644 --- a/src/editor.c +++ b/src/editor.c @@ -420,7 +420,7 @@ static struct static int random_placement_value = 10; static int random_placement_method = RANDOM_USE_QUANTITY; -static int random_placement_background_element = EL_ERDREICH; +static int random_placement_background_element = EL_SAND; static boolean random_placement_background_restricted = FALSE; static boolean stick_element_properties_window = FALSE; @@ -694,13 +694,13 @@ static int level_xpos = -1, level_ypos = -1; #define IN_ED_FIELD(x,y) ((x)>=0 && (x)=0 &&(y)= 0 && x - level_xpos < ed_fieldx && y - level_ypos >= 0 && y - level_ypos < ed_fieldy) DrawMiniElement(x - level_xpos, y - level_ypos, - EL_LEERRAUM); + EL_EMPTY); } } } @@ -3889,7 +3889,7 @@ static void HandleControlButtons(struct GadgetInfo *gi) case GADGET_ID_CLEAR: for(x=0; x MAX_ELEMENT_CONTENTS) num_contents = STD_ELEMENT_CONTENTS; - if (element == EL_MAMPFER) + if (element == EL_YAMYAM) { level->num_yam_contents = num_contents; @@ -501,13 +501,13 @@ static void SaveLevel_HEAD(FILE *file, struct LevelInfo *level) for(i=0; iencoding_16bit_yamyam ? EL_LEERRAUM : + fputc((level->encoding_16bit_yamyam ? EL_EMPTY : level->yam_content[i][x][y]), file); fputc(level->amoeba_speed, file); fputc(level->time_magic_wall, file); fputc(level->time_wheel, file); - fputc((level->encoding_16bit_amoeba ? EL_LEERRAUM : level->amoeba_content), + fputc((level->encoding_16bit_amoeba ? EL_EMPTY : level->amoeba_content), file); fputc((level->double_speed ? 1 : 0), file); fputc((level->gravity ? 1 : 0), file); @@ -530,7 +530,7 @@ static void SaveLevel_CONT(FILE *file, struct LevelInfo *level) { int i, x, y; - fputc(EL_MAMPFER, file); + fputc(EL_YAMYAM, file); fputc(level->num_yam_contents, file); fputc(0, file); fputc(0, file); @@ -563,7 +563,7 @@ static void SaveLevel_CNT2(FILE *file, struct LevelInfo *level, int element) int num_contents, content_xsize, content_ysize; int content_array[MAX_ELEMENT_CONTENTS][3][3]; - if (element == EL_MAMPFER) + if (element == EL_YAMYAM) { num_contents = level->num_yam_contents; content_xsize = 3; @@ -583,7 +583,7 @@ static void SaveLevel_CNT2(FILE *file, struct LevelInfo *level, int element) for(i=0; iamoeba_content; } else @@ -666,7 +666,7 @@ void SaveLevel(int level_nr) level.num_yam_contents != STD_ELEMENT_CONTENTS) { putFileChunkBE(file, "CNT2", LEVEL_CHUNK_CNT2_SIZE); - SaveLevel_CNT2(file, &level, EL_MAMPFER); + SaveLevel_CNT2(file, &level, EL_YAMYAM); } if (level.encoding_16bit_amoeba) diff --git a/src/game.c b/src/game.c index 8190e824..e3b13f74 100644 --- a/src/game.c +++ b/src/game.c @@ -122,7 +122,7 @@ static struct GadgetInfo *game_gadget[NUM_GAME_BUTTONS]; #define SND_ACTION_IMPACT 6 #define SND_ACTION_PUSHING 7 #define SND_ACTION_ACTIVATING 8 -#define SND_ACTION_BURNING 9 +#define SND_ACTION_ACTIVE 9 #define NUM_SND_ACTIONS 10 @@ -136,10 +136,9 @@ static struct /* insert _all_ loop sound actions here */ { ".waiting", SND_ACTION_WAITING, TRUE }, { ".moving", SND_ACTION_MOVING, TRUE }, /* continuos moving */ - { ".burning", SND_ACTION_BURNING, TRUE }, + { ".active", SND_ACTION_ACTIVE, TRUE }, { ".growing", SND_ACTION_UNKNOWN, TRUE }, { ".attacking", SND_ACTION_UNKNOWN, TRUE }, - { ".active", SND_ACTION_UNKNOWN, TRUE }, /* other (non-loop) sound actions are optional */ { ".stepping", SND_ACTION_MOVING, FALSE }, /* discrete moving */ @@ -288,7 +287,7 @@ static void InitField(int x, int y, boolean init_game) } } /* no break! */ - case EL_SPIELFIGUR: + case EL_PLAYER: if (init_game) Feld[x][y] = EL_SPIELER1; /* no break! */ @@ -322,35 +321,35 @@ static void InitField(int x, int y, boolean init_game) } } - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; player->jx = player->last_jx = x; player->jy = player->last_jy = y; } break; - case EL_BADEWANNE: - if (x < lev_fieldx-1 && Feld[x+1][y] == EL_SALZSAEURE) - Feld[x][y] = EL_BADEWANNE1; - else if (x > 0 && Feld[x-1][y] == EL_SALZSAEURE) - Feld[x][y] = EL_BADEWANNE2; - else if (y > 0 && Feld[x][y-1] == EL_BADEWANNE1) - Feld[x][y] = EL_BADEWANNE3; - else if (y > 0 && Feld[x][y-1] == EL_SALZSAEURE) - Feld[x][y] = EL_BADEWANNE4; - else if (y > 0 && Feld[x][y-1] == EL_BADEWANNE2) - Feld[x][y] = EL_BADEWANNE5; + case EL_STONEBLOCK: + if (x < lev_fieldx-1 && Feld[x+1][y] == EL_ACID) + Feld[x][y] = EL_ACIDPOOL_TOPLEFT; + else if (x > 0 && Feld[x-1][y] == EL_ACID) + Feld[x][y] = EL_ACIDPOOL_TOPRIGHT; + else if (y > 0 && Feld[x][y-1] == EL_ACIDPOOL_TOPLEFT) + Feld[x][y] = EL_ACIDPOOL_BOTTOMLEFT; + else if (y > 0 && Feld[x][y-1] == EL_ACID) + Feld[x][y] = EL_ACIDPOOL_BOTTOM; + else if (y > 0 && Feld[x][y-1] == EL_ACIDPOOL_TOPRIGHT) + Feld[x][y] = EL_ACIDPOOL_BOTTOMRIGHT; break; - case EL_KAEFER_RIGHT: - case EL_KAEFER_UP: - case EL_KAEFER_LEFT: - case EL_KAEFER_DOWN: - case EL_KAEFER: - case EL_FLIEGER_RIGHT: - case EL_FLIEGER_UP: - case EL_FLIEGER_LEFT: - case EL_FLIEGER_DOWN: - case EL_FLIEGER: + case EL_BUG_RIGHT: + case EL_BUG_UP: + case EL_BUG_LEFT: + case EL_BUG_DOWN: + case EL_BUG: + case EL_SPACESHIP_RIGHT: + case EL_SPACESHIP_UP: + case EL_SPACESHIP_LEFT: + case EL_SPACESHIP_DOWN: + case EL_SPACESHIP: case EL_BUTTERFLY_RIGHT: case EL_BUTTERFLY_UP: case EL_BUTTERFLY_LEFT: @@ -365,8 +364,8 @@ static void InitField(int x, int y, boolean init_game) case EL_PACMAN_UP: case EL_PACMAN_LEFT: case EL_PACMAN_DOWN: - case EL_MAMPFER: - case EL_MAMPFER2: + case EL_YAMYAM: + case EL_DARK_YAMYAM: case EL_ROBOT: case EL_PACMAN: case EL_SP_SNIKSNAK: @@ -379,16 +378,16 @@ static void InitField(int x, int y, boolean init_game) InitMovDir(x, y); break; - case EL_AMOEBE_VOLL: - case EL_AMOEBE_BD: + case EL_AMOEBA_FULL: + case EL_BD_AMOEBA: InitAmoebaNr(x, y); break; - case EL_TROPFEN: + case EL_AMOEBA_DROP: if (y == lev_fieldy - 1) { Feld[x][y] = EL_AMOEBING; - Store[x][y] = EL_AMOEBE_NASS; + Store[x][y] = EL_AMOEBA_WET; } break; @@ -396,7 +395,7 @@ static void InitField(int x, int y, boolean init_game) MovDelay[x][y] = 96; break; - case EL_BIRNE_AUS: + case EL_LAMP: local_player->lights_still_needed++; break; @@ -414,7 +413,7 @@ static void InitField(int x, int y, boolean init_game) break; case EL_SP_EMPTY: - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; break; case EL_EM_KEY_1_FILE: @@ -569,7 +568,7 @@ void InitGameSound() #if 0 /* TEST ONLY */ { - int element = EL_ERDREICH; + int element = EL_SAND; int sound_action = SND_ACTION_DIGGING; int j = 0; @@ -622,8 +621,8 @@ static void InitGameEngine() { static int ep_em_slippery_wall[] = { - EL_BETON, - EL_MAUERWERK, + EL_STEELWALL, + EL_WALL, EL_MAUER_LEBT, EL_MAUER_X, EL_MAUER_Y, @@ -864,7 +863,7 @@ void InitGame() player->active = FALSE; StorePlayer[jx][jy] = 0; - Feld[jx][jy] = EL_LEERRAUM; + Feld[jx][jy] = EL_EMPTY; } } } @@ -885,7 +884,7 @@ void InitGame() player->active = FALSE; StorePlayer[jx][jy] = 0; - Feld[jx][jy] = EL_LEERRAUM; + Feld[jx][jy] = EL_EMPTY; } } } @@ -916,7 +915,7 @@ void InitGame() } } - if (BorderElement == EL_LEERRAUM) + if (BorderElement == EL_EMPTY) { SBX_Left = 0; SBX_Right = lev_fieldx - SCR_FIELDX; @@ -1029,20 +1028,20 @@ void InitMovDir(int x, int y) switch(element) { - 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_RIGHT]; + case EL_BUG_RIGHT: + case EL_BUG_UP: + case EL_BUG_LEFT: + case EL_BUG_DOWN: + Feld[x][y] = EL_BUG; + MovDir[x][y] = direction[0][element - EL_BUG_RIGHT]; break; - 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_RIGHT]; + case EL_SPACESHIP_RIGHT: + case EL_SPACESHIP_UP: + case EL_SPACESHIP_LEFT: + case EL_SPACESHIP_DOWN: + Feld[x][y] = EL_SPACESHIP; + MovDir[x][y] = direction[0][element - EL_SPACESHIP_RIGHT]; break; case EL_BUTTERFLY_RIGHT: @@ -1087,8 +1086,8 @@ void InitMovDir(int x, int y) default: MovDir[x][y] = 1 << RND(4); - if (element != EL_KAEFER && - element != EL_FLIEGER && + if (element != EL_BUG && + element != EL_SPACESHIP && element != EL_BUTTERFLY && element != EL_FIREFLY) break; @@ -1100,12 +1099,12 @@ void InitMovDir(int x, int y) if (!IN_LEV_FIELD(x1, y1) || !IS_FREE(x1, y1)) { - if (element == EL_KAEFER || element == EL_BUTTERFLY) + if (element == EL_BUG || element == EL_BUTTERFLY) { MovDir[x][y] = direction[0][i]; break; } - else if (element == EL_FLIEGER || element == EL_FIREFLY || + else if (element == EL_SPACESHIP || element == EL_FIREFLY || element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON) { MovDir[x][y] = direction[1][i]; @@ -1325,7 +1324,7 @@ void InitMovingField(int x, int y, int direction) MovDir[x][y] = direction; MovDir[newx][newy] = direction; - if (Feld[newx][newy] == EL_LEERRAUM) + if (Feld[newx][newy] == EL_EMPTY) Feld[newx][newy] = EL_BLOCKED; } @@ -1397,7 +1396,7 @@ static int MovingOrBlocked2ElementIfNotLeaving(int x, int y) static void RemoveField(int x, int y) { - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; MovPos[x][y] = 0; MovDir[x][y] = 0; MovDelay[x][y] = 0; @@ -1430,11 +1429,11 @@ void RemoveMovingField(int x, int y) Feld[oldx][oldy] == EL_AMOEBA_DRIPPING)) Feld[oldx][oldy] = get_next_element(Feld[oldx][oldy]); else - Feld[oldx][oldy] = EL_LEERRAUM; + Feld[oldx][oldy] = EL_EMPTY; Store[oldx][oldy] = Store2[oldx][oldy] = 0; - Feld[newx][newy] = EL_LEERRAUM; + Feld[newx][newy] = EL_EMPTY; MovPos[oldx][oldy] = MovDir[oldx][oldy] = MovDelay[oldx][oldy] = 0; MovPos[newx][newy] = MovDir[newx][newy] = MovDelay[newx][newy] = 0; @@ -1554,7 +1553,7 @@ void Explode(int ex, int ey, int phase, int mode) if (IS_ACTIVE_BOMB(element)) { /* re-activate things under the bomb like gate or penguin */ - Feld[x][y] = (Store[x][y] ? Store[x][y] : EL_LEERRAUM); + Feld[x][y] = (Store[x][y] ? Store[x][y] : EL_EMPTY); Store[x][y] = 0; } @@ -1569,63 +1568,63 @@ void Explode(int ex, int ey, int phase, int mode) switch(StorePlayer[ex][ey]) { case EL_SPIELER2: - Store[x][y] = EL_EDELSTEIN_ROT; + Store[x][y] = EL_EDELSTEIN_RED; break; case EL_SPIELER3: - Store[x][y] = EL_EDELSTEIN; + Store[x][y] = EL_EMERALD; break; case EL_SPIELER4: - Store[x][y] = EL_EDELSTEIN_LILA; + Store[x][y] = EL_EDELSTEIN_PURPLE; break; case EL_SPIELER1: default: - Store[x][y] = EL_EDELSTEIN_GELB; + Store[x][y] = EL_EDELSTEIN_YELLOW; break; } if (game.emulation == EMU_SUPAPLEX) - Store[x][y] = EL_LEERRAUM; + Store[x][y] = EL_EMPTY; } else if (center_element == EL_MOLE) - Store[x][y] = EL_EDELSTEIN_ROT; + Store[x][y] = EL_EDELSTEIN_RED; else if (center_element == EL_PINGUIN) - Store[x][y] = EL_EDELSTEIN_LILA; - else if (center_element == EL_KAEFER) - Store[x][y] = ((x == ex && y == ey) ? EL_DIAMANT : EL_EDELSTEIN); + Store[x][y] = EL_EDELSTEIN_PURPLE; + else if (center_element == EL_BUG) + Store[x][y] = ((x == ex && y == ey) ? EL_DIAMOND : EL_EMERALD); else if (center_element == EL_BUTTERFLY) Store[x][y] = EL_EDELSTEIN_BD; else if (center_element == EL_SP_ELECTRON) Store[x][y] = EL_SP_INFOTRON; - else if (center_element == EL_MAMPFER) + else if (center_element == EL_YAMYAM) Store[x][y] = level.yam_content[game.yam_content_nr][x-ex+1][y-ey+1]; else if (center_element == EL_AMOEBA2DIAM) Store[x][y] = level.amoeba_content; - else if (element == EL_ERZ_EDEL) - Store[x][y] = EL_EDELSTEIN; - else if (element == EL_ERZ_DIAM) - Store[x][y] = EL_DIAMANT; - else if (element == EL_ERZ_EDEL_BD) + else if (element == EL_WALL_EMERALD) + Store[x][y] = EL_EMERALD; + else if (element == EL_WALL_DIAMOND) + Store[x][y] = EL_DIAMOND; + else if (element == EL_WALL_BD_DIAMOND) Store[x][y] = EL_EDELSTEIN_BD; - else if (element == EL_ERZ_EDEL_GELB) - Store[x][y] = EL_EDELSTEIN_GELB; - else if (element == EL_ERZ_EDEL_ROT) - Store[x][y] = EL_EDELSTEIN_ROT; - else if (element == EL_ERZ_EDEL_LILA) - Store[x][y] = EL_EDELSTEIN_LILA; + else if (element == EL_WALL_EMERALD_YELLOW) + Store[x][y] = EL_EDELSTEIN_YELLOW; + else if (element == EL_WALL_EMERALD_RED) + Store[x][y] = EL_EDELSTEIN_RED; + else if (element == EL_WALL_EMERALD_PURPLE) + Store[x][y] = EL_EDELSTEIN_PURPLE; else if (element == EL_WALL_PEARL) Store[x][y] = EL_PEARL; else if (element == EL_WALL_CRYSTAL) Store[x][y] = EL_CRYSTAL; else if (!IS_PFORTE(Store[x][y])) - Store[x][y] = EL_LEERRAUM; + Store[x][y] = EL_EMPTY; if (x != ex || y != ey || center_element == EL_AMOEBA2DIAM || mode == EX_BORDER) Store2[x][y] = element; if (AmoebaNr[x][y] && - (element == EL_AMOEBE_VOLL || - element == EL_AMOEBE_BD || + (element == EL_AMOEBA_FULL || + element == EL_BD_AMOEBA || element == EL_AMOEBING)) { AmoebaCnt[AmoebaNr[x][y]]--; @@ -1639,7 +1638,7 @@ void Explode(int ex, int ey, int phase, int mode) Stop[x][y] = TRUE; } - if (center_element == EL_MAMPFER) + if (center_element == EL_YAMYAM) game.yam_content_nr = (game.yam_content_nr + 1) % level.num_yam_contents; return; @@ -1762,8 +1761,8 @@ void DynaExplode(int ex, int ey) Explode(x, y, EX_PHASE_START, EX_BORDER); - if (element != EL_LEERRAUM && - element != EL_ERDREICH && + if (element != EL_EMPTY && + element != EL_SAND && element != EL_EXPLODING && !dynabomb_xl) break; @@ -1782,17 +1781,17 @@ void Bang(int x, int y) #if 0 if (IS_PLAYER(x, y)) /* remove objects that might cause smaller explosion */ - element = EL_LEERRAUM; + element = EL_EMPTY; #endif switch(element) { - case EL_KAEFER: - case EL_FLIEGER: + case EL_BUG: + case EL_SPACESHIP: case EL_BUTTERFLY: case EL_FIREFLY: - case EL_MAMPFER: - case EL_MAMPFER2: + case EL_YAMYAM: + case EL_DARK_YAMYAM: case EL_ROBOT: case EL_PACMAN: case EL_MOLE: @@ -1809,8 +1808,8 @@ void Bang(int x, int y) DynaExplode(x, y); break; case EL_PINGUIN: - case EL_BIRNE_AUS: - case EL_BIRNE_EIN: + case EL_LAMP: + case EL_LAMP_ACTIVE: if (IS_PLAYER(x, y)) Explode(x, y, EX_PHASE_START, EX_NORMAL); else @@ -1857,7 +1856,7 @@ void Blurb(int x, int y) if (!MovDelay[x][y]) { - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; DrawLevelField(x, y); } } @@ -1981,7 +1980,7 @@ static void RedrawAllLightSwitchesAndInvisibleElements() } if (element == EL_INVISIBLE_STEEL || - element == EL_UNSICHTBAR || + element == EL_INVISIBLE_WALL || element == EL_SAND_INVISIBLE) DrawLevelField(x, y); } @@ -2051,13 +2050,13 @@ void Impact(int x, int y) smashed = MovingOrBlocked2Element(x, y+1); } - if (!lastline && smashed == EL_SALZSAEURE) /* element falls into acid */ + if (!lastline && smashed == EL_ACID) /* element falls into acid */ { Blurb(x, y); return; } - if ((element == EL_BOMBE || + if ((element == EL_BOMB || element == EL_SP_DISK_ORANGE || element == EL_DX_SUPABOMB) && (lastline || object_hit)) /* element is bomb */ @@ -2072,7 +2071,7 @@ void Impact(int x, int y) return; } - if (element == EL_TROPFEN && (lastline || object_hit)) /* acid drop */ + if (element == EL_AMOEBA_DROP && (lastline || object_hit)) { if (object_hit && IS_PLAYER(x, y+1)) KillHeroUnlessProtected(x, y+1); @@ -2081,7 +2080,7 @@ void Impact(int x, int y) else { Feld[x][y] = EL_AMOEBING; - Store[x][y] = EL_AMOEBE_NASS; + Store[x][y] = EL_AMOEBA_WET; } return; } @@ -2089,11 +2088,11 @@ void Impact(int x, int y) if (!lastline && object_hit) /* check which object was hit */ { if (CAN_CHANGE(element) && - (smashed == EL_MAGIC_WALL_OFF || smashed == EL_MAGIC_WALL_BD_OFF)) + (smashed == EL_MAGIC_WALL || smashed == EL_MAGIC_WALL_BD_OFF)) { int xx, yy; int activated_magic_wall = - (smashed == EL_MAGIC_WALL_OFF ? EL_MAGIC_WALL_EMPTY : + (smashed == EL_MAGIC_WALL ? EL_MAGIC_WALL_EMPTY : EL_MAGIC_WALL_BD_EMPTY); /* activate magic wall / mill */ @@ -2105,7 +2104,7 @@ void Impact(int x, int y) game.magic_wall_time_left = level.time_magic_wall * FRAMES_PER_SECOND; game.magic_wall_active = TRUE; - PlaySoundLevel(x, y, (smashed == EL_MAGIC_WALL_OFF ? + PlaySoundLevel(x, y, (smashed == EL_MAGIC_WALL ? SND_MAGIC_WALL_ACTIVATING : SND_BD_MAGIC_WALL_ACTIVATING)); } @@ -2135,12 +2134,12 @@ void Impact(int x, int y) Bang(x, y+1); return; } - else if (element == EL_FELSBROCKEN || + else if (element == EL_ROCK || element == EL_SP_ZONK || element == EL_BD_ROCK) { if (IS_ENEMY(smashed) || - smashed == EL_BOMBE || smashed == EL_SP_DISK_ORANGE || + smashed == EL_BOMB || smashed == EL_SP_DISK_ORANGE || smashed == EL_DX_SUPABOMB || smashed == EL_SONDE || smashed == EL_SCHWEIN || smashed == EL_DRACHE || smashed == EL_MOLE) @@ -2150,16 +2149,16 @@ void Impact(int x, int y) } else if (!IS_MOVING(x, y+1)) { - if (smashed == EL_BIRNE_AUS || smashed == EL_BIRNE_EIN) + if (smashed == EL_LAMP || smashed == EL_LAMP_ACTIVE) { Bang(x, y+1); return; } - else if (smashed == EL_KOKOSNUSS) + else if (smashed == EL_NUT) { Feld[x][y+1] = EL_CRACKINGNUT; PlaySoundLevel(x, y, SND_NUT_CRACKING); - RaiseScoreElement(EL_KOKOSNUSS); + RaiseScoreElement(EL_NUT); return; } else if (smashed == EL_PEARL) @@ -2168,9 +2167,9 @@ void Impact(int x, int y) PlaySoundLevel(x, y, SND_PEARL_BREAKING); return; } - else if (smashed == EL_DIAMANT) + else if (smashed == EL_DIAMOND) { - Feld[x][y+1] = EL_LEERRAUM; + Feld[x][y+1] = EL_EMPTY; PlaySoundLevel(x, y, SND_DIAMOND_BREAKING); return; } @@ -2254,7 +2253,7 @@ void TurnRound(int x, int y) int right_x = x+right_dx, right_y = y+right_dy; int move_x = x+move_dx, move_y = y+move_dy; - if (element == EL_KAEFER || element == EL_BUTTERFLY) + if (element == EL_BUG || element == EL_BUTTERFLY) { TestIfBadThingTouchesOtherBadThing(x, y); @@ -2265,12 +2264,12 @@ void TurnRound(int x, int y) !IS_FREE(move_x, move_y)) MovDir[x][y] = left_dir; - if (element == EL_KAEFER && MovDir[x][y] != old_move_dir) + if (element == EL_BUG && MovDir[x][y] != old_move_dir) MovDelay[x][y] = 9; else if (element == EL_BUTTERFLY) /* && MovDir[x][y] == left_dir) */ MovDelay[x][y] = 1; } - else if (element == EL_FLIEGER || element == EL_FIREFLY || + else if (element == EL_SPACESHIP || element == EL_FIREFLY || element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON) { TestIfBadThingTouchesOtherBadThing(x, y); @@ -2282,24 +2281,24 @@ void TurnRound(int x, int y) !IS_FREE(move_x, move_y)) MovDir[x][y] = right_dir; - if ((element == EL_FLIEGER || + if ((element == EL_SPACESHIP || element == EL_SP_SNIKSNAK || element == EL_SP_ELECTRON) && MovDir[x][y] != old_move_dir) MovDelay[x][y] = 9; else if (element == EL_FIREFLY) /* && MovDir[x][y] == right_dir) */ MovDelay[x][y] = 1; } - else if (element == EL_MAMPFER) + else if (element == EL_YAMYAM) { boolean can_turn_left = FALSE, can_turn_right = FALSE; if (IN_LEV_FIELD(left_x, left_y) && (IS_FREE_OR_PLAYER(left_x, left_y) || - Feld[left_x][left_y] == EL_DIAMANT)) + Feld[left_x][left_y] == EL_DIAMOND)) can_turn_left = TRUE; if (IN_LEV_FIELD(right_x, right_y) && (IS_FREE_OR_PLAYER(right_x, right_y) || - Feld[right_x][right_y] == EL_DIAMANT)) + Feld[right_x][right_y] == EL_DIAMOND)) can_turn_right = TRUE; if (can_turn_left && can_turn_right) @@ -2313,7 +2312,7 @@ void TurnRound(int x, int y) MovDelay[x][y] = 16+16*RND(3); } - else if (element == EL_MAMPFER2) + else if (element == EL_DARK_YAMYAM) { boolean can_turn_left = FALSE, can_turn_right = FALSE; @@ -2557,7 +2556,7 @@ void TurnRound(int x, int y) int ex = x + xy[i%4][0]; int ey = y + xy[i%4][1]; - if (IN_LEV_FIELD(ex, ey) && Feld[ex][ey] == EL_AUSGANG_AUF) + if (IN_LEV_FIELD(ex, ey) && Feld[ex][ey] == EL_EXIT_OPEN) { attr_x = ex; attr_y = ey; @@ -2606,9 +2605,9 @@ void TurnRound(int x, int y) if (IN_LEV_FIELD(newx, newy) && (IS_FREE(newx, newy) || - Feld[newx][newy] == EL_SALZSAEURE || + Feld[newx][newy] == EL_ACID || (element == EL_PINGUIN && - (Feld[newx][newy] == EL_AUSGANG_AUF || + (Feld[newx][newy] == EL_EXIT_OPEN || IS_MAMPF3(Feld[newx][newy]))))) return; @@ -2618,9 +2617,9 @@ void TurnRound(int x, int y) if (IN_LEV_FIELD(newx, newy) && (IS_FREE(newx, newy) || - Feld[newx][newy] == EL_SALZSAEURE || + Feld[newx][newy] == EL_ACID || (element == EL_PINGUIN && - (Feld[newx][newy] == EL_AUSGANG_AUF || + (Feld[newx][newy] == EL_EXIT_OPEN || IS_MAMPF3(Feld[newx][newy]))))) return; @@ -2665,16 +2664,16 @@ void StartMoving(int x, int y) if (JustBeingPushed(x, y)) return; - if (element == EL_MORAST_VOLL) + if (element == EL_QUICKSAND_FULL) { if (IS_FREE(x, y+1)) { InitMovingField(x, y, MV_DOWN); Feld[x][y] = EL_QUICKSAND_EMPTYING; - Store[x][y] = EL_FELSBROCKEN; + Store[x][y] = EL_ROCK; PlaySoundLevel(x, y, SND_QUICKSAND_EMPTYING); } - else if (Feld[x][y+1] == EL_MORAST_LEER) + else if (Feld[x][y+1] == EL_QUICKSAND_EMPTY) { if (!MovDelay[x][y]) MovDelay[x][y] = TILEY + 1; @@ -2686,15 +2685,15 @@ void StartMoving(int x, int y) return; } - Feld[x][y] = EL_MORAST_LEER; - Feld[x][y+1] = EL_MORAST_VOLL; + Feld[x][y] = EL_QUICKSAND_EMPTY; + Feld[x][y+1] = EL_QUICKSAND_FULL; Store[x][y+1] = Store[x][y]; Store[x][y] = 0; PlaySoundLevel(x, y, SND_QUICKSAND_SLIPPING); } } - else if ((element == EL_FELSBROCKEN || element == EL_BD_ROCK) && - Feld[x][y+1] == EL_MORAST_LEER) + else if ((element == EL_ROCK || element == EL_BD_ROCK) && + Feld[x][y+1] == EL_QUICKSAND_EMPTY) { InitMovingField(x, y, MV_DOWN); Feld[x][y] = EL_QUICKSAND_FILLING; @@ -2763,11 +2762,11 @@ void StartMoving(int x, int y) EL_MAGIC_WALL_BD_FILLING); Store[x][y] = element; } - else if (CAN_SMASH(element) && Feld[x][y+1] == EL_SALZSAEURE) + else if (CAN_SMASH(element) && Feld[x][y+1] == EL_ACID) { Blurb(x, y); InitMovingField(x, y, MV_DOWN); - Store[x][y] = EL_SALZSAEURE; + Store[x][y] = EL_ACID; } else if (CAN_SMASH(element) && Feld[x][y+1] == EL_BLOCKED && JustStopped[x][y]) @@ -2778,13 +2777,13 @@ void StartMoving(int x, int y) { InitMovingField(x, y, MV_DOWN); } - else if (element == EL_TROPFEN) + else if (element == EL_AMOEBA_DROP) { Feld[x][y] = EL_AMOEBING; - Store[x][y] = EL_AMOEBE_NASS; + Store[x][y] = EL_AMOEBA_WET; } /* Store[x][y+1] must be zero, because: - (EL_MORAST_VOLL -> EL_FELSBROCKEN): Store[x][y+1] == EL_MORAST_LEER + (EL_QUICKSAND_FULL -> EL_ROCK): Store[x][y+1] == EL_QUICKSAND_EMPTY */ #if 0 #if OLD_GAME_BEHAVIOUR @@ -2802,9 +2801,9 @@ void StartMoving(int x, int y) #endif { boolean left = (x>0 && IS_FREE(x-1, y) && - (IS_FREE(x-1, y+1) || Feld[x-1][y+1] == EL_SALZSAEURE)); + (IS_FREE(x-1, y+1) || Feld[x-1][y+1] == EL_ACID)); boolean right = (x= TILEX) /* object reached its destination */ { - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; Feld[newx][newy] = element; if (element == EL_MOLE) @@ -3233,7 +3232,7 @@ void ContinueMoving(int x, int y) { 0, +1 } }; - Feld[x][y] = EL_ERDREICH; + Feld[x][y] = EL_SAND; DrawLevelField(x, y); for(i=0; i<4; i++) @@ -3243,7 +3242,7 @@ void ContinueMoving(int x, int y) xx = x + xy[i][0]; yy = y + xy[i][1]; - if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_ERDREICH) + if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_SAND) DrawLevelField(xx, yy); /* for "ErdreichAnbroeckeln()" */ } } @@ -3291,9 +3290,9 @@ void ContinueMoving(int x, int y) Feld[x][y] = get_next_element(element); element = Feld[newx][newy] = Store[x][y]; } - else if (Store[x][y] == EL_SALZSAEURE) + else if (Store[x][y] == EL_ACID) { - element = Feld[newx][newy] = EL_SALZSAEURE; + element = Feld[newx][newy] = EL_ACID; } Store[x][y] = 0; @@ -3303,7 +3302,7 @@ void ContinueMoving(int x, int y) if (!CAN_MOVE(element)) MovDir[newx][newy] = 0; - if (element == EL_KAEFER || element == EL_FLIEGER || + if (element == EL_BUG || element == EL_SPACESHIP || element == EL_SP_SNIKSNAK || element == EL_PACMAN || element == EL_SP_ELECTRON) { @@ -3334,7 +3333,7 @@ void ContinueMoving(int x, int y) } else /* still moving on */ { - if (element == EL_KAEFER || element == EL_FLIEGER || + if (element == EL_BUG || element == EL_SPACESHIP || element == EL_SP_SNIKSNAK || element == EL_PACMAN || element == EL_SP_ELECTRON) DrawNewLevelField(x, y); @@ -3394,9 +3393,9 @@ void AmoebenVereinigen(int ax, int ay) if (!IN_LEV_FIELD(x, y)) continue; - if ((Feld[x][y] == EL_AMOEBE_VOLL || - Feld[x][y] == EL_AMOEBE_BD || - Feld[x][y] == EL_AMOEBE_TOT) && + if ((Feld[x][y] == EL_AMOEBA_FULL || + Feld[x][y] == EL_BD_AMOEBA || + Feld[x][y] == EL_AMOEBA_DEAD) && AmoebaNr[x][y] != new_group_nr) { int old_group_nr = AmoebaNr[x][y]; @@ -3425,7 +3424,7 @@ void AmoebeUmwandeln(int ax, int ay) { int i, x, y; - if (Feld[ax][ay] == EL_AMOEBE_TOT) + if (Feld[ax][ay] == EL_AMOEBA_DEAD) { int group_nr = AmoebaNr[ax][ay]; @@ -3442,7 +3441,7 @@ void AmoebeUmwandeln(int ax, int ay) { for (x=0; x= 200) + if (element == EL_BD_AMOEBA && AmoebaCnt2[new_group_nr] >= 200) { AmoebeUmwandelnBD(newax, neway, EL_BD_ROCK); return; @@ -3709,7 +3708,7 @@ void AmoebeAbleger(int ax, int ay) } } - if (element != EL_AMOEBE_NASS || neway < ay || !IS_FREE(newax, neway) || + if (element != EL_AMOEBA_WET || neway < ay || !IS_FREE(newax, neway) || (neway == lev_fieldy - 1 && newax != ax)) { Feld[newax][neway] = EL_AMOEBING; /* simple growth of new amoeba tile */ @@ -3717,14 +3716,14 @@ void AmoebeAbleger(int ax, int ay) } else if (neway == ay) { - Feld[newax][neway] = EL_TROPFEN; /* drop left or right from amoeba */ + Feld[newax][neway] = EL_AMOEBA_DROP; /* drop left or right from amoeba */ PlaySoundLevel(newax, neway, SND_AMOEBA_DROP_CREATING); } else { InitMovingField(ax, ay, MV_DOWN); /* drop dripping out of amoeba */ Feld[ax][ay] = EL_AMOEBA_DRIPPING; - Store[ax][ay] = EL_TROPFEN; + Store[ax][ay] = EL_AMOEBA_DROP; ContinueMoving(ax, ay); return; } @@ -3769,7 +3768,7 @@ void Life(int ax, int ay) continue; if (((Feld[x][y] == element || - (element == EL_LIFE && IS_PLAYER(x, y))) && + (element == EL_GAMEOFLIFE && IS_PLAYER(x, y))) && !Stop[x][y]) || (IS_FREE(x, y) && Stop[x][y])) nachbarn++; @@ -3779,19 +3778,19 @@ void Life(int ax, int ay) { if (nachbarn < life[0] || nachbarn > life[1]) { - Feld[xx][yy] = EL_LEERRAUM; + Feld[xx][yy] = EL_EMPTY; if (!Stop[xx][yy]) DrawLevelField(xx, yy); Stop[xx][yy] = TRUE; changed = TRUE; } } - else if (IS_FREE(xx, yy) || Feld[xx][yy] == EL_ERDREICH) + else if (IS_FREE(xx, yy) || Feld[xx][yy] == EL_SAND) { /* free border field */ if (nachbarn >= life[2] && nachbarn <= life[3]) { Feld[xx][yy] = element; - MovDelay[xx][yy] = (element == EL_LIFE ? 0 : life_time-1); + MovDelay[xx][yy] = (element == EL_GAMEOFLIFE ? 0 : life_time-1); if (!Stop[xx][yy]) DrawLevelField(xx, yy); Stop[xx][yy] = TRUE; @@ -3801,7 +3800,7 @@ void Life(int ax, int ay) } if (changed) - PlaySoundLevel(ax, ay, element == EL_LIFE ? SND_GAMEOFLIFE_CREATING : + PlaySoundLevel(ax, ay, element == EL_GAMEOFLIFE ? SND_GAMEOFLIFE_CREATING : SND_BIOMAZE_CREATING); } @@ -3823,7 +3822,7 @@ void RobotWheel(int x, int y) } } - Feld[x][y] = EL_ABLENK_AUS; + Feld[x][y] = EL_ROBOT_WHEEL; DrawLevelField(x, y); if (ZX == x && ZY == y) ZX = ZY = -1; @@ -3854,35 +3853,6 @@ void TimegateWheel(int x, int y) ZX = ZY = -1; } -void Birne(int x, int y) -{ - if (!MovDelay[x][y]) /* next animation frame */ - MovDelay[x][y] = 800; - - if (MovDelay[x][y]) /* wait some time before next frame */ - { - MovDelay[x][y]--; - if (MovDelay[x][y]) - { - if (!(MovDelay[x][y]%5)) - { - if (!(MovDelay[x][y]%10)) - Feld[x][y]=EL_ABLENK_EIN; - else - Feld[x][y]=EL_ABLENK_AUS; - DrawLevelField(x, y); - Feld[x][y]=EL_ABLENK_EIN; - } - return; - } - } - - Feld[x][y]=EL_ABLENK_AUS; - DrawLevelField(x, y); - if (ZX == x && ZY == y) - ZX=ZY=-1; -} - void Blubber(int x, int y) { if (y > 0 && IS_MOVING(x, y-1) && MovDir[x][y-1] == MV_DOWN) @@ -3905,7 +3875,7 @@ void NussKnacken(int x, int y) if (!MovDelay[x][y]) { - Feld[x][y] = EL_EDELSTEIN; + Feld[x][y] = EL_EMERALD; DrawLevelField(x, y); } } @@ -3925,7 +3895,7 @@ void BreakingPearl(int x, int y) if (!MovDelay[x][y]) { - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; DrawLevelField(x, y); } } @@ -3972,7 +3942,7 @@ void AusgangstuerOeffnen(int x, int y) if (!MovDelay[x][y]) { - Feld[x][y] = EL_AUSGANG_AUF; + Feld[x][y] = EL_EXIT_OPEN; DrawLevelField(x, y); } } @@ -4285,7 +4255,7 @@ void MauerAbleger(int ax, int ay) element == EL_MAUER_X || element == EL_MAUER_LEBT) && ((links_massiv && rechts_massiv) || element == EL_MAUER_Y)) - Feld[ax][ay] = EL_MAUERWERK; + Feld[ax][ay] = EL_WALL; if (new_wall) PlaySoundLevel(ax, ay, SND_WALL_GROWING); @@ -4330,7 +4300,7 @@ void CheckForDragon(int x, int y) if (IN_LEV_FIELD(xx, yy) && Feld[xx][yy] == EL_BURNING) { - Feld[xx][yy] = EL_LEERRAUM; + Feld[xx][yy] = EL_EMPTY; DrawLevelField(xx, yy); } else @@ -4785,13 +4755,13 @@ void GameActions() AmoebeAbleger(x, y); #endif - else if (element == EL_LIFE || element == EL_LIFE_ASYNC) + else if (element == EL_GAMEOFLIFE || element == EL_BIOMAZE) Life(x, y); - else if (element == EL_ABLENK_EIN) + else if (element == EL_ROBOT_WHEEL_ACTIVE) RobotWheel(x, y); else if (element == EL_TIMEGATE_SWITCH_ON) TimegateWheel(x, y); - else if (element == EL_SALZSAEURE) + else if (element == EL_ACID) Blubber(x, y); else if (element == EL_BLURB_LEFT || element == EL_BLURB_RIGHT) Blurb(x, y); @@ -4799,11 +4769,11 @@ void GameActions() NussKnacken(x, y); else if (element == EL_PEARL_BREAKING) BreakingPearl(x, y); - else if (element == EL_AUSGANG_ZU) + else if (element == EL_EXIT_CLOSED) AusgangstuerPruefen(x, y); else if (element == EL_AUSGANG_ACT) AusgangstuerOeffnen(x, y); - else if (element == EL_AUSGANG_AUF) + else if (element == EL_EXIT_OPEN) AusgangstuerBlinken(x, y); else if (element == EL_MAUERND) MauerWaechst(x, y); @@ -4906,17 +4876,17 @@ void GameActions() element = Feld[x][y]; if (!IS_PLAYER(x,y) && - (element == EL_LEERRAUM || - element == EL_ERDREICH || - element == EL_MORAST_LEER || + (element == EL_EMPTY || + element == EL_SAND || + element == EL_QUICKSAND_EMPTY || element == EL_BLURB_LEFT || element == EL_BLURB_RIGHT)) { - if ((IN_LEV_FIELD(x, y-1) && Feld[x][y-1] == EL_AMOEBE_NASS) || - (IN_LEV_FIELD(x-1, y) && Feld[x-1][y] == EL_AMOEBE_NASS) || - (IN_LEV_FIELD(x+1, y) && Feld[x+1][y] == EL_AMOEBE_NASS) || - (IN_LEV_FIELD(x, y+1) && Feld[x][y+1] == EL_AMOEBE_NASS)) - Feld[x][y] = EL_TROPFEN; + 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) || + (IN_LEV_FIELD(x+1, y) && Feld[x+1][y] == EL_AMOEBA_WET) || + (IN_LEV_FIELD(x, y+1) && Feld[x][y+1] == EL_AMOEBA_WET)) + Feld[x][y] = EL_AMOEBA_DROP; } random = random * 129 + 1; @@ -5003,7 +4973,7 @@ void GameActions() DrawLevelField(x, y); } else if (element == EL_INVISIBLE_STEEL || - element == EL_UNSICHTBAR || + element == EL_INVISIBLE_WALL || element == EL_SAND_INVISIBLE) DrawLevelField(x, y); } @@ -5178,7 +5148,7 @@ static void CheckGravityMovement(struct PlayerInfo *player) boolean player_is_moving_to_valid_field = (IN_LEV_FIELD(new_jx, new_jy) && (Feld[new_jx][new_jy] == EL_SP_BASE || - Feld[new_jx][new_jy] == EL_ERDREICH)); + Feld[new_jx][new_jy] == EL_SAND)); if (field_under_player_is_free && !player_is_moving_to_valid_field && @@ -5217,12 +5187,12 @@ boolean MoveFigureOneStep(struct PlayerInfo *player, if (DONT_GO_TO(element)) { - if (element == EL_SALZSAEURE && dx == 0 && dy == 1) + if (element == EL_ACID && dx == 0 && dy == 1) { Blurb(jx, jy); - Feld[jx][jy] = EL_SPIELFIGUR; + Feld[jx][jy] = EL_PLAYER; InitMovingField(jx, jy, MV_DOWN); - Store[jx][jy] = EL_SALZSAEURE; + Store[jx][jy] = EL_ACID; ContinueMoving(jx, jy); BuryHero(player); } @@ -5431,7 +5401,7 @@ void ScrollFigure(struct PlayerInfo *player, int mode) player->actual_frame_counter = FrameCounter; player->GfxPos = move_stepsize * (player->MovPos / move_stepsize); - if (Feld[last_jx][last_jy] == EL_LEERRAUM) + if (Feld[last_jx][last_jy] == EL_EMPTY) Feld[last_jx][last_jy] = EL_PLAYER_IS_LEAVING; DrawPlayer(player); @@ -5444,7 +5414,7 @@ void ScrollFigure(struct PlayerInfo *player, int mode) player->GfxPos = move_stepsize * (player->MovPos / move_stepsize); if (Feld[last_jx][last_jy] == EL_PLAYER_IS_LEAVING) - Feld[last_jx][last_jy] = EL_LEERRAUM; + Feld[last_jx][last_jy] = EL_EMPTY; /* before DrawPlayer() to draw correct player graphic for this case */ if (player->MovPos == 0) @@ -5466,7 +5436,7 @@ void ScrollFigure(struct PlayerInfo *player, int mode) player->last_jx = jx; player->last_jy = jy; - if (Feld[jx][jy] == EL_AUSGANG_AUF) + if (Feld[jx][jy] == EL_EXIT_OPEN) { RemoveHero(player); @@ -5720,8 +5690,8 @@ void TestIfBadThingTouchesOtherBadThing(int bad_x, int bad_y) continue; element = Feld[x][y]; - if (IS_AMOEBOID(element) || element == EL_LIFE || - element == EL_AMOEBING || element == EL_TROPFEN) + if (IS_AMOEBOID(element) || element == EL_GAMEOFLIFE || + element == EL_AMOEBING || element == EL_AMOEBA_DROP) { kill_x = x; kill_y = y; @@ -5741,7 +5711,7 @@ void KillHero(struct PlayerInfo *player) return; if (IS_PFORTE(Feld[jx][jy])) - Feld[jx][jy] = EL_LEERRAUM; + Feld[jx][jy] = EL_EMPTY; /* deactivate shield (else Bang()/Explode() would not work right) */ player->shield_passive_time_left = 0; @@ -5851,8 +5821,8 @@ int DigField(struct PlayerInfo *player, switch (element) { - case EL_LEERRAUM: - case EL_ERDREICH: + case EL_EMPTY: + case EL_SAND: case EL_SAND_INVISIBLE: case EL_TRAP_INACTIVE: case EL_SP_BASE: @@ -5861,17 +5831,17 @@ int DigField(struct PlayerInfo *player, PlaySoundLevelElementAction(x, y, element, SND_ACTION_DIGGING); break; - case EL_EDELSTEIN: + case EL_EMERALD: case EL_EDELSTEIN_BD: - case EL_EDELSTEIN_GELB: - case EL_EDELSTEIN_ROT: - case EL_EDELSTEIN_LILA: - case EL_DIAMANT: + case EL_EDELSTEIN_YELLOW: + case EL_EDELSTEIN_RED: + case EL_EDELSTEIN_PURPLE: + case EL_DIAMOND: case EL_SP_INFOTRON: case EL_PEARL: case EL_CRYSTAL: RemoveField(x, y); - local_player->gems_still_needed -= (element == EL_DIAMANT ? 3 : + local_player->gems_still_needed -= (element == EL_DIAMOND ? 3 : element == EL_PEARL ? 5 : element == EL_CRYSTAL ? 8 : 1); if (local_player->gems_still_needed < 0) @@ -5890,7 +5860,7 @@ int DigField(struct PlayerInfo *player, break; case EL_ENVELOPE: - Feld[x][y] = EL_LEERRAUM; + Feld[x][y] = EL_EMPTY; PlaySoundLevel(x, y, SND_ENVELOPE_COLLECTING); break; @@ -5917,11 +5887,11 @@ int DigField(struct PlayerInfo *player, PlaySoundLevel(x, y, SND_SHIELD_DEADLY_COLLECTING); break; - case EL_DYNAMITE_INACTIVE: + case EL_DYNAMITE: case EL_SP_DISK_RED: RemoveField(x, y); player->dynamite++; - RaiseScoreElement(EL_DYNAMITE_INACTIVE); + RaiseScoreElement(EL_DYNAMITE); DrawText(DX_DYNAMITE, DY_DYNAMITE, int2str(local_player->dynamite, 3), FS_SMALL, FC_YELLOW); @@ -5932,34 +5902,34 @@ int DigField(struct PlayerInfo *player, RemoveField(x, y); player->dynabomb_count++; player->dynabombs_left++; - RaiseScoreElement(EL_DYNAMITE_INACTIVE); + RaiseScoreElement(EL_DYNAMITE); PlaySoundLevel(x, y, SND_DYNABOMB_NR_COLLECTING); break; case EL_DYNABOMB_SZ: RemoveField(x, y); player->dynabomb_size++; - RaiseScoreElement(EL_DYNAMITE_INACTIVE); + RaiseScoreElement(EL_DYNAMITE); PlaySoundLevel(x, y, SND_DYNABOMB_SZ_COLLECTING); break; case EL_DYNABOMB_XL: RemoveField(x, y); player->dynabomb_xl = TRUE; - RaiseScoreElement(EL_DYNAMITE_INACTIVE); + RaiseScoreElement(EL_DYNAMITE); PlaySoundLevel(x, y, SND_DYNABOMB_XL_COLLECTING); break; - case EL_SCHLUESSEL1: - case EL_SCHLUESSEL2: - case EL_SCHLUESSEL3: - case EL_SCHLUESSEL4: + case EL_KEY1: + case EL_KEY2: + case EL_KEY3: + case EL_KEY4: { - int key_nr = element - EL_SCHLUESSEL1; + int key_nr = element - EL_KEY1; RemoveField(x, y); player->key[key_nr] = TRUE; - RaiseScoreElement(EL_SCHLUESSEL); + RaiseScoreElement(EL_KEY); DrawMiniGraphicExt(drawto, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS, GFX_SCHLUESSEL1 + key_nr); DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS, @@ -5977,7 +5947,7 @@ int DigField(struct PlayerInfo *player, RemoveField(x, y); player->key[key_nr] = TRUE; - RaiseScoreElement(EL_SCHLUESSEL); + RaiseScoreElement(EL_KEY); DrawMiniGraphicExt(drawto, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS, GFX_SCHLUESSEL1 + key_nr); DrawMiniGraphicExt(window, DX_KEYS + key_nr * MINI_TILEX, DY_KEYS, @@ -5986,8 +5956,8 @@ int DigField(struct PlayerInfo *player, break; } - case EL_ABLENK_AUS: - Feld[x][y] = EL_ABLENK_EIN; + case EL_ROBOT_WHEEL: + Feld[x][y] = EL_ROBOT_WHEEL_ACTIVE; ZX = x; ZY = y; DrawLevelField(x, y); @@ -6095,11 +6065,11 @@ int DigField(struct PlayerInfo *player, break; /* the following elements cannot be pushed by "snapping" */ - case EL_FELSBROCKEN: - case EL_BOMBE: + case EL_ROCK: + case EL_BOMB: case EL_DX_SUPABOMB: - case EL_KOKOSNUSS: - case EL_ZEIT_LEER: + case EL_NUT: + case EL_TIME_ORB_EMPTY: case EL_SP_ZONK: case EL_SP_DISK_ORANGE: case EL_SPRING: @@ -6158,19 +6128,19 @@ int DigField(struct PlayerInfo *player, PlaySoundLevelElementAction(x, y, element, SND_ACTION_PUSHING); break; - case EL_PFORTE1: - case EL_PFORTE2: - case EL_PFORTE3: - case EL_PFORTE4: - if (!player->key[element - EL_PFORTE1]) + case EL_GATE1: + case EL_GATE2: + case EL_GATE3: + case EL_GATE4: + if (!player->key[element - EL_GATE1]) return MF_NO_ACTION; break; - case EL_PFORTE1X: - case EL_PFORTE2X: - case EL_PFORTE3X: - case EL_PFORTE4X: - if (!player->key[element - EL_PFORTE1X]) + case EL_GATE1_GRAY: + case EL_GATE2_GRAY: + case EL_GATE3_GRAY: + case EL_GATE4_GRAY: + if (!player->key[element - EL_GATE1_GRAY]) return MF_NO_ACTION; break; @@ -6190,11 +6160,11 @@ int DigField(struct PlayerInfo *player, PlaySoundLevel(x, y, SND_GATE_PASSING); break; - case EL_EM_GATE_1X: - case EL_EM_GATE_2X: - case EL_EM_GATE_3X: - case EL_EM_GATE_4X: - if (!player->key[element - EL_EM_GATE_1X]) + case EL_EM_GATE1_GRAY: + case EL_EM_GATE2_GRAY: + case EL_EM_GATE3_GRAY: + case EL_EM_GATE4_GRAY: + if (!player->key[element - EL_EM_GATE1_GRAY]) return MF_NO_ACTION; if (!IN_LEV_FIELD(x + dx, y + dy) || !IS_FREE(x + dx, y + dy)) return MF_NO_ACTION; @@ -6303,13 +6273,13 @@ int DigField(struct PlayerInfo *player, } break; - case EL_AUSGANG_ZU: + case EL_EXIT_CLOSED: case EL_AUSGANG_ACT: /* door is not (yet) open */ return MF_NO_ACTION; break; - case EL_AUSGANG_AUF: + case EL_EXIT_OPEN: if (mode == DF_SNAP) return MF_NO_ACTION; @@ -6317,16 +6287,16 @@ int DigField(struct PlayerInfo *player, break; - case EL_BIRNE_AUS: - Feld[x][y] = EL_BIRNE_EIN; + case EL_LAMP: + Feld[x][y] = EL_LAMP_ACTIVE; local_player->lights_still_needed--; DrawLevelField(x, y); PlaySoundLevel(x, y, SND_LAMP_ACTIVATING); return MF_ACTION; break; - case EL_ZEIT_VOLL: - Feld[x][y] = EL_ZEIT_LEER; + case EL_TIME_ORB_FULL: + Feld[x][y] = EL_TIME_ORB_EMPTY; TimeLeft += 10; DrawText(DX_TIME, DY_TIME, int2str(TimeLeft, 3), FS_SMALL, FC_YELLOW); DrawLevelField(x, y); @@ -6493,7 +6463,7 @@ boolean PlaceBomb(struct PlayerInfo *player) IS_ACTIVE_BOMB(element) || element == EL_EXPLODING) return FALSE; - if (element != EL_LEERRAUM) + if (element != EL_EMPTY) Store[jx][jy] = element; if (player->dynamite) @@ -6598,26 +6568,26 @@ void RaiseScoreElement(int element) { switch(element) { - case EL_EDELSTEIN: + case EL_EMERALD: case EL_EDELSTEIN_BD: - case EL_EDELSTEIN_GELB: - case EL_EDELSTEIN_ROT: - case EL_EDELSTEIN_LILA: + case EL_EDELSTEIN_YELLOW: + case EL_EDELSTEIN_RED: + case EL_EDELSTEIN_PURPLE: RaiseScore(level.score[SC_EDELSTEIN]); break; - case EL_DIAMANT: + case EL_DIAMOND: RaiseScore(level.score[SC_DIAMANT]); break; - case EL_KAEFER: + case EL_BUG: case EL_BUTTERFLY: RaiseScore(level.score[SC_KAEFER]); break; - case EL_FLIEGER: + case EL_SPACESHIP: case EL_FIREFLY: RaiseScore(level.score[SC_FLIEGER]); break; - case EL_MAMPFER: - case EL_MAMPFER2: + case EL_YAMYAM: + case EL_DARK_YAMYAM: RaiseScore(level.score[SC_MAMPFER]); break; case EL_ROBOT: @@ -6626,13 +6596,13 @@ void RaiseScoreElement(int element) case EL_PACMAN: RaiseScore(level.score[SC_PACMAN]); break; - case EL_KOKOSNUSS: + case EL_NUT: RaiseScore(level.score[SC_KOKOSNUSS]); break; - case EL_DYNAMITE_INACTIVE: + case EL_DYNAMITE: RaiseScore(level.score[SC_DYNAMIT]); break; - case EL_SCHLUESSEL: + case EL_KEY: RaiseScore(level.score[SC_SCHLUESSEL]); break; default: diff --git a/src/init.c b/src/init.c index 39979e76..8c391363 100644 --- a/src/init.c +++ b/src/init.c @@ -565,31 +565,31 @@ void InitElementInfo() } element_to_graphic[] = { - { EL_LEERRAUM, GFX_LEERRAUM }, - { EL_ERDREICH, GFX_ERDREICH }, - { EL_MAUERWERK, GFX_MAUERWERK }, - { EL_FELSBODEN, GFX_FELSBODEN }, - { EL_FELSBROCKEN, GFX_FELSBROCKEN }, - { EL_SCHLUESSEL, GFX_SCHLUESSEL }, - { EL_EDELSTEIN, GFX_EDELSTEIN }, - { EL_AUSGANG_ZU, GFX_AUSGANG_ZU }, + { EL_EMPTY, GFX_LEERRAUM }, + { EL_SAND, GFX_ERDREICH }, + { 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_AUSGANG_AUF, GFX_AUSGANG_AUF }, - { EL_SPIELFIGUR, GFX_SPIELFIGUR }, + { EL_EXIT_OPEN, GFX_AUSGANG_AUF }, + { EL_PLAYER, GFX_SPIELFIGUR }, { EL_SPIELER1, GFX_SPIELER1 }, { EL_SPIELER2, GFX_SPIELER2 }, { EL_SPIELER3, GFX_SPIELER3 }, { EL_SPIELER4, GFX_SPIELER4 }, - { EL_KAEFER, GFX_KAEFER }, - { EL_KAEFER_RIGHT, GFX_KAEFER_RIGHT }, - { EL_KAEFER_UP, GFX_KAEFER_UP }, - { EL_KAEFER_LEFT, GFX_KAEFER_LEFT }, - { EL_KAEFER_DOWN, GFX_KAEFER_DOWN }, - { EL_FLIEGER, GFX_FLIEGER }, - { EL_FLIEGER_RIGHT, GFX_FLIEGER_RIGHT }, - { EL_FLIEGER_UP, GFX_FLIEGER_UP }, - { EL_FLIEGER_LEFT, GFX_FLIEGER_LEFT }, - { EL_FLIEGER_DOWN, GFX_FLIEGER_DOWN }, + { EL_BUG, GFX_KAEFER }, + { EL_BUG_RIGHT, GFX_KAEFER_RIGHT }, + { EL_BUG_UP, GFX_KAEFER_UP }, + { EL_BUG_LEFT, GFX_KAEFER_LEFT }, + { EL_BUG_DOWN, GFX_KAEFER_DOWN }, + { EL_SPACESHIP, GFX_FLIEGER }, + { EL_SPACESHIP_RIGHT, GFX_FLIEGER_RIGHT }, + { 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 }, @@ -600,78 +600,78 @@ void InitElementInfo() { EL_FIREFLY_UP, GFX_FIREFLY_UP }, { EL_FIREFLY_LEFT, GFX_FIREFLY_LEFT }, { EL_FIREFLY_DOWN, GFX_FIREFLY_DOWN }, - { EL_MAMPFER, GFX_MAMPFER }, + { EL_YAMYAM, GFX_MAMPFER }, { EL_ROBOT, GFX_ROBOT }, - { EL_BETON, GFX_BETON }, - { EL_DIAMANT, GFX_DIAMANT }, - { EL_MORAST_LEER, GFX_MORAST_LEER }, - { EL_MORAST_VOLL, GFX_MORAST_VOLL }, + { EL_STEELWALL, GFX_BETON }, + { EL_DIAMOND, GFX_DIAMANT }, + { EL_QUICKSAND_EMPTY, GFX_MORAST_LEER }, + { EL_QUICKSAND_FULL, GFX_MORAST_VOLL }, { EL_QUICKSAND_EMPTYING, GFX_MORAST_LEER }, - { EL_TROPFEN, GFX_TROPFEN }, - { EL_BOMBE, GFX_BOMBE }, - { EL_MAGIC_WALL_OFF, GFX_MAGIC_WALL_OFF }, + { EL_AMOEBA_DROP, GFX_TROPFEN }, + { EL_BOMB, GFX_BOMBE }, + { EL_MAGIC_WALL, GFX_MAGIC_WALL_OFF }, { EL_MAGIC_WALL_EMPTY, GFX_MAGIC_WALL_EMPTY }, { EL_MAGIC_WALL_EMPTYING, GFX_MAGIC_WALL_EMPTY }, { EL_MAGIC_WALL_FULL, GFX_MAGIC_WALL_FULL }, { EL_MAGIC_WALL_DEAD, GFX_MAGIC_WALL_DEAD }, - { EL_SALZSAEURE, GFX_SALZSAEURE }, - { EL_AMOEBE_TOT, GFX_AMOEBE_TOT }, - { EL_AMOEBE_NASS, GFX_AMOEBE_NASS }, - { EL_AMOEBE_NORM, GFX_AMOEBE_NORM }, - { EL_AMOEBE_VOLL, GFX_AMOEBE_VOLL }, - { EL_AMOEBE_BD, GFX_AMOEBE_BD }, + { EL_ACID, GFX_SALZSAEURE }, + { EL_AMOEBA_DEAD, GFX_AMOEBE_TOT }, + { EL_AMOEBA_WET, GFX_AMOEBE_NASS }, + { EL_AMOEBA_DRY, GFX_AMOEBE_NORM }, + { EL_AMOEBA_FULL, GFX_AMOEBE_VOLL }, + { EL_BD_AMOEBA, GFX_AMOEBE_BD }, { EL_AMOEBA2DIAM, GFX_AMOEBA2DIAM }, { EL_AMOEBA_DRIPPING, GFX_AMOEBE_NASS }, - { EL_KOKOSNUSS, GFX_KOKOSNUSS }, - { EL_LIFE, GFX_LIFE }, - { EL_LIFE_ASYNC, GFX_LIFE_ASYNC }, + { EL_NUT, GFX_KOKOSNUSS }, + { EL_GAMEOFLIFE, GFX_LIFE }, + { EL_BIOMAZE, GFX_LIFE_ASYNC }, { EL_DYNAMITE_ACTIVE, GFX_DYNAMIT }, { EL_BADEWANNE, GFX_BADEWANNE }, - { EL_BADEWANNE1, GFX_BADEWANNE1 }, - { EL_BADEWANNE2, GFX_BADEWANNE2 }, - { EL_BADEWANNE3, GFX_BADEWANNE3 }, - { EL_BADEWANNE4, GFX_BADEWANNE4 }, - { EL_BADEWANNE5, GFX_BADEWANNE5 }, - { EL_ABLENK_AUS, GFX_ABLENK_AUS }, - { EL_ABLENK_EIN, GFX_ABLENK_EIN }, - { EL_SCHLUESSEL1, GFX_SCHLUESSEL1 }, - { EL_SCHLUESSEL2, GFX_SCHLUESSEL2 }, - { EL_SCHLUESSEL3, GFX_SCHLUESSEL3 }, - { EL_SCHLUESSEL4, GFX_SCHLUESSEL4 }, - { EL_PFORTE1, GFX_PFORTE1 }, - { EL_PFORTE2, GFX_PFORTE2 }, - { EL_PFORTE3, GFX_PFORTE3 }, - { EL_PFORTE4, GFX_PFORTE4 }, - { EL_PFORTE1X, GFX_PFORTE1X }, - { EL_PFORTE2X, GFX_PFORTE2X }, - { EL_PFORTE3X, GFX_PFORTE3X }, - { EL_PFORTE4X, GFX_PFORTE4X }, - { EL_DYNAMITE_INACTIVE, GFX_DYNAMIT_AUS }, + { EL_ACIDPOOL_TOPLEFT, GFX_BADEWANNE1 }, + { EL_ACIDPOOL_TOPRIGHT, GFX_BADEWANNE2 }, + { EL_ACIDPOOL_BOTTOMLEFT, GFX_BADEWANNE3 }, + { EL_ACIDPOOL_BOTTOM, GFX_BADEWANNE4 }, + { EL_ACIDPOOL_BOTTOMRIGHT, GFX_BADEWANNE5 }, + { EL_ROBOT_WHEEL, GFX_ABLENK_AUS }, + { EL_ROBOT_WHEEL_ACTIVE, GFX_ABLENK_EIN }, + { EL_KEY1, GFX_SCHLUESSEL1 }, + { EL_KEY2, GFX_SCHLUESSEL2 }, + { EL_KEY3, GFX_SCHLUESSEL3 }, + { EL_KEY4, GFX_SCHLUESSEL4 }, + { EL_GATE1, GFX_PFORTE1 }, + { EL_GATE2, GFX_PFORTE2 }, + { EL_GATE3, GFX_PFORTE3 }, + { EL_GATE4, GFX_PFORTE4 }, + { EL_GATE1_GRAY, GFX_PFORTE1X }, + { EL_GATE2_GRAY, GFX_PFORTE2X }, + { EL_GATE3_GRAY, GFX_PFORTE3X }, + { EL_GATE4_GRAY, GFX_PFORTE4X }, + { EL_DYNAMITE, GFX_DYNAMIT_AUS }, { EL_PACMAN, GFX_PACMAN }, { EL_PACMAN_RIGHT, GFX_PACMAN_RIGHT }, { EL_PACMAN_UP, GFX_PACMAN_UP }, { EL_PACMAN_LEFT, GFX_PACMAN_LEFT }, { EL_PACMAN_DOWN, GFX_PACMAN_DOWN }, - { EL_UNSICHTBAR, GFX_UNSICHTBAR }, - { EL_ERZ_EDEL, GFX_ERZ_EDEL }, - { EL_ERZ_DIAM, GFX_ERZ_DIAM }, - { EL_BIRNE_AUS, GFX_BIRNE_AUS }, - { EL_BIRNE_EIN, GFX_BIRNE_EIN }, - { EL_ZEIT_VOLL, GFX_ZEIT_VOLL }, - { EL_ZEIT_LEER, GFX_ZEIT_LEER }, + { EL_INVISIBLE_WALL, GFX_UNSICHTBAR }, + { EL_WALL_EMERALD, GFX_ERZ_EDEL }, + { EL_WALL_DIAMOND, GFX_ERZ_DIAM }, + { EL_LAMP, GFX_BIRNE_AUS }, + { EL_LAMP_ACTIVE, GFX_BIRNE_EIN }, + { EL_TIME_ORB_FULL, GFX_ZEIT_VOLL }, + { EL_TIME_ORB_EMPTY, GFX_ZEIT_LEER }, { EL_MAUER_LEBT, GFX_MAUER_LEBT }, { EL_MAUER_X, GFX_MAUER_X }, { EL_MAUER_Y, GFX_MAUER_Y }, { EL_MAUER_XY, GFX_MAUER_XY }, { EL_EDELSTEIN_BD, GFX_EDELSTEIN_BD }, - { EL_EDELSTEIN_GELB, GFX_EDELSTEIN_GELB }, - { EL_EDELSTEIN_ROT, GFX_EDELSTEIN_ROT }, - { EL_EDELSTEIN_LILA, GFX_EDELSTEIN_LILA }, - { EL_ERZ_EDEL_BD, GFX_ERZ_EDEL_BD }, - { EL_ERZ_EDEL_GELB, GFX_ERZ_EDEL_GELB }, - { EL_ERZ_EDEL_ROT, GFX_ERZ_EDEL_ROT }, - { EL_ERZ_EDEL_LILA, GFX_ERZ_EDEL_LILA }, - { EL_MAMPFER2, GFX_MAMPFER2 }, + { EL_EDELSTEIN_YELLOW, GFX_EDELSTEIN_GELB }, + { EL_EDELSTEIN_RED, GFX_EDELSTEIN_ROT }, + { EL_EDELSTEIN_PURPLE, GFX_EDELSTEIN_LILA }, + { EL_WALL_BD_DIAMOND, GFX_ERZ_EDEL_BD }, + { EL_WALL_EMERALD_YELLOW, GFX_ERZ_EDEL_GELB }, + { 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 }, @@ -706,10 +706,10 @@ void InitElementInfo() { EL_EM_GATE_2, GFX_EM_GATE_2 }, { EL_EM_GATE_3, GFX_EM_GATE_3 }, { EL_EM_GATE_4, GFX_EM_GATE_4 }, - { EL_EM_GATE_1X, GFX_EM_GATE_1X }, - { EL_EM_GATE_2X, GFX_EM_GATE_2X }, - { EL_EM_GATE_3X, GFX_EM_GATE_3X }, - { EL_EM_GATE_4X, GFX_EM_GATE_4X }, + { EL_EM_GATE1_GRAY, GFX_EM_GATE_1X }, + { EL_EM_GATE2_GRAY, GFX_EM_GATE_2X }, + { EL_EM_GATE3_GRAY, GFX_EM_GATE_3X }, + { EL_EM_GATE4_GRAY, GFX_EM_GATE_4X }, { EL_EM_KEY_1_FILE, GFX_EM_KEY_1 }, { EL_EM_KEY_2_FILE, GFX_EM_KEY_2 }, { EL_EM_KEY_3_FILE, GFX_EM_KEY_3 }, @@ -835,12 +835,12 @@ void InitElementInfo() element_to_direction_graphic[] = { { - EL_FLIEGER, + EL_SPACESHIP, IMG_SPACESHIP_LEFT, IMG_SPACESHIP_RIGHT, IMG_SPACESHIP_UP, IMG_SPACESHIP_DOWN }, { - EL_KAEFER, + EL_BUG, IMG_BUG_LEFT, IMG_BUG_RIGHT, IMG_BUG_UP, IMG_BUG_DOWN }, @@ -1047,29 +1047,29 @@ void InitElementProperties() static int ep_amoebalive[] = { - EL_AMOEBE_NASS, - EL_AMOEBE_NORM, - EL_AMOEBE_VOLL, - EL_AMOEBE_BD + EL_AMOEBA_WET, + EL_AMOEBA_DRY, + EL_AMOEBA_FULL, + EL_BD_AMOEBA }; static int ep_amoebalive_num = SIZEOF_ARRAY_INT(ep_amoebalive); static int ep_amoeboid[] = { - EL_AMOEBE_TOT, - EL_AMOEBE_NASS, - EL_AMOEBE_NORM, - EL_AMOEBE_VOLL, - EL_AMOEBE_BD + EL_AMOEBA_DEAD, + EL_AMOEBA_WET, + EL_AMOEBA_DRY, + EL_AMOEBA_FULL, + EL_BD_AMOEBA }; static int ep_amoeboid_num = SIZEOF_ARRAY_INT(ep_amoeboid); static int ep_schluessel[] = { - EL_SCHLUESSEL1, - EL_SCHLUESSEL2, - EL_SCHLUESSEL3, - EL_SCHLUESSEL4, + EL_KEY1, + EL_KEY2, + EL_KEY3, + EL_KEY4, EL_EM_KEY_1, EL_EM_KEY_2, EL_EM_KEY_3, @@ -1079,14 +1079,14 @@ void InitElementProperties() static int ep_pforte[] = { - EL_PFORTE1, - EL_PFORTE2, - EL_PFORTE3, - EL_PFORTE4, - EL_PFORTE1X, - EL_PFORTE2X, - EL_PFORTE3X, - EL_PFORTE4X, + EL_GATE1, + EL_GATE2, + EL_GATE3, + EL_GATE4, + EL_GATE1_GRAY, + EL_GATE2_GRAY, + EL_GATE3_GRAY, + EL_GATE4_GRAY, EL_EM_GATE_1, EL_EM_GATE_2, EL_EM_GATE_3, @@ -1119,27 +1119,27 @@ void InitElementProperties() static int ep_solid[] = { - EL_BETON, - EL_MAUERWERK, + EL_STEELWALL, + EL_WALL, EL_MAUER_LEBT, EL_MAUER_X, EL_MAUER_Y, EL_MAUER_XY, EL_BD_WALL, - EL_FELSBODEN, - EL_AUSGANG_ZU, + EL_WALL_CRUMBLED, + EL_EXIT_CLOSED, EL_AUSGANG_ACT, - EL_AUSGANG_AUF, - EL_AMOEBE_TOT, - EL_AMOEBE_NASS, - EL_AMOEBE_NORM, - EL_AMOEBE_VOLL, - EL_AMOEBE_BD, - EL_MORAST_VOLL, - EL_MORAST_LEER, + EL_EXIT_OPEN, + EL_AMOEBA_DEAD, + EL_AMOEBA_WET, + EL_AMOEBA_DRY, + EL_AMOEBA_FULL, + EL_BD_AMOEBA, + EL_QUICKSAND_FULL, + EL_QUICKSAND_EMPTY, EL_QUICKSAND_FILLING, EL_QUICKSAND_EMPTYING, - EL_MAGIC_WALL_OFF, + EL_MAGIC_WALL, EL_MAGIC_WALL_EMPTY, EL_MAGIC_WALL_EMPTYING, EL_MAGIC_WALL_FILLING, @@ -1151,13 +1151,13 @@ void InitElementProperties() EL_MAGIC_WALL_BD_FULL, EL_MAGIC_WALL_BD_FILLING, EL_MAGIC_WALL_BD_DEAD, - EL_LIFE, - EL_LIFE_ASYNC, - EL_BADEWANNE1, - EL_BADEWANNE2, - EL_BADEWANNE3, - EL_BADEWANNE4, - EL_BADEWANNE5, + EL_GAMEOFLIFE, + EL_BIOMAZE, + EL_ACIDPOOL_TOPLEFT, + EL_ACIDPOOL_TOPRIGHT, + EL_ACIDPOOL_BOTTOMLEFT, + EL_ACIDPOOL_BOTTOM, + EL_ACIDPOOL_BOTTOMRIGHT, EL_SP_CHIP_SINGLE, EL_SP_CHIP_LEFT, EL_SP_CHIP_RIGHT, @@ -1224,14 +1224,14 @@ void InitElementProperties() EL_CRYSTAL, EL_WALL_PEARL, EL_WALL_CRYSTAL, - EL_PFORTE1, - EL_PFORTE2, - EL_PFORTE3, - EL_PFORTE4, - EL_PFORTE1X, - EL_PFORTE2X, - EL_PFORTE3X, - EL_PFORTE4X, + EL_GATE1, + EL_GATE2, + EL_GATE3, + EL_GATE4, + EL_GATE1_GRAY, + EL_GATE2_GRAY, + EL_GATE3_GRAY, + EL_GATE4_GRAY, EL_EM_GATE_1, EL_EM_GATE_2, EL_EM_GATE_3, @@ -1264,13 +1264,13 @@ void InitElementProperties() static int ep_massive[] = { - EL_BETON, - EL_SALZSAEURE, - EL_BADEWANNE1, - EL_BADEWANNE2, - EL_BADEWANNE3, - EL_BADEWANNE4, - EL_BADEWANNE5, + EL_STEELWALL, + EL_ACID, + EL_ACIDPOOL_TOPLEFT, + EL_ACIDPOOL_TOPRIGHT, + EL_ACIDPOOL_BOTTOMLEFT, + EL_ACIDPOOL_BOTTOM, + EL_ACIDPOOL_BOTTOMRIGHT, EL_SP_HARD_GRAY, EL_SP_HARD_GREEN, EL_SP_HARD_BLUE, @@ -1315,14 +1315,14 @@ void InitElementProperties() EL_EMC_STEEL_WALL_3, EL_EMC_STEEL_WALL_4, EL_CRYSTAL, - EL_PFORTE1, - EL_PFORTE2, - EL_PFORTE3, - EL_PFORTE4, - EL_PFORTE1X, - EL_PFORTE2X, - EL_PFORTE3X, - EL_PFORTE4X, + EL_GATE1, + EL_GATE2, + EL_GATE3, + EL_GATE4, + EL_GATE1_GRAY, + EL_GATE2_GRAY, + EL_GATE3_GRAY, + EL_GATE4_GRAY, EL_EM_GATE_1, EL_EM_GATE_2, EL_EM_GATE_3, @@ -1355,26 +1355,26 @@ void InitElementProperties() static int ep_slippery[] = { - EL_FELSBODEN, + EL_WALL_CRUMBLED, EL_BD_WALL, - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT, - EL_BOMBE, - EL_KOKOSNUSS, - EL_ABLENK_EIN, - EL_ABLENK_AUS, - EL_ZEIT_VOLL, - EL_ZEIT_LEER, - EL_BIRNE_EIN, - EL_BIRNE_AUS, - EL_BADEWANNE1, - EL_BADEWANNE2, + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND, + EL_BOMB, + EL_NUT, + EL_ROBOT_WHEEL_ACTIVE, + EL_ROBOT_WHEEL, + EL_TIME_ORB_FULL, + EL_TIME_ORB_EMPTY, + EL_LAMP_ACTIVE, + EL_LAMP, + EL_ACIDPOOL_TOPLEFT, + EL_ACIDPOOL_TOPRIGHT, EL_SONDE, EL_SP_ZONK, EL_SP_INFOTRON, @@ -1392,12 +1392,12 @@ void InitElementProperties() static int ep_enemy[] = { - EL_KAEFER, - EL_FLIEGER, + EL_BUG, + EL_SPACESHIP, EL_BUTTERFLY, EL_FIREFLY, - EL_MAMPFER, - EL_MAMPFER2, + EL_YAMYAM, + EL_DARK_YAMYAM, EL_ROBOT, EL_PACMAN, EL_SP_SNIKSNAK, @@ -1407,15 +1407,15 @@ void InitElementProperties() static int ep_mauer[] = { - EL_BETON, - EL_PFORTE1, - EL_PFORTE2, - EL_PFORTE3, - EL_PFORTE4, - EL_PFORTE1X, - EL_PFORTE2X, - EL_PFORTE3X, - EL_PFORTE4X, + EL_STEELWALL, + EL_GATE1, + EL_GATE2, + EL_GATE3, + EL_GATE4, + EL_GATE1_GRAY, + EL_GATE2_GRAY, + EL_GATE3_GRAY, + EL_GATE4_GRAY, EL_EM_GATE_1, EL_EM_GATE_2, EL_EM_GATE_3, @@ -1424,11 +1424,11 @@ void InitElementProperties() EL_EM_GATE_2X, EL_EM_GATE_3X, EL_EM_GATE_4X, - EL_AUSGANG_ZU, + EL_EXIT_CLOSED, EL_AUSGANG_ACT, - EL_AUSGANG_AUF, - EL_MAUERWERK, - EL_FELSBODEN, + EL_EXIT_OPEN, + EL_WALL, + EL_WALL_CRUMBLED, EL_MAUER_LEBT, EL_MAUER_X, EL_MAUER_Y, @@ -1473,22 +1473,22 @@ void InitElementProperties() static int ep_can_fall[] = { - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT, - EL_BOMBE, - EL_KOKOSNUSS, - EL_TROPFEN, - EL_MORAST_VOLL, + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND, + EL_BOMB, + EL_NUT, + EL_AMOEBA_DROP, + EL_QUICKSAND_FULL, EL_MAGIC_WALL_FULL, EL_MAGIC_WALL_BD_FULL, - EL_ZEIT_VOLL, - EL_ZEIT_LEER, + EL_TIME_ORB_FULL, + EL_TIME_ORB_EMPTY, EL_SP_ZONK, EL_SP_INFOTRON, EL_SP_DISK_ORANGE, @@ -1501,27 +1501,27 @@ void InitElementProperties() static int ep_can_smash[] = { - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT, - EL_SCHLUESSEL1, - EL_SCHLUESSEL2, - EL_SCHLUESSEL3, - EL_SCHLUESSEL4, + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND, + EL_KEY1, + EL_KEY2, + EL_KEY3, + EL_KEY4, EL_EM_KEY_1, EL_EM_KEY_2, EL_EM_KEY_3, EL_EM_KEY_4, - EL_BOMBE, - EL_KOKOSNUSS, - EL_TROPFEN, - EL_ZEIT_VOLL, - EL_ZEIT_LEER, + EL_BOMB, + EL_NUT, + EL_AMOEBA_DROP, + EL_TIME_ORB_FULL, + EL_TIME_ORB_EMPTY, EL_SP_ZONK, EL_SP_INFOTRON, EL_SP_DISK_ORANGE, @@ -1534,25 +1534,25 @@ void InitElementProperties() static int ep_can_change[] = { - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND }; static int ep_can_change_num = SIZEOF_ARRAY_INT(ep_can_change); static int ep_can_move[] = { - EL_KAEFER, - EL_FLIEGER, + EL_BUG, + EL_SPACESHIP, EL_BUTTERFLY, EL_FIREFLY, - EL_MAMPFER, - EL_MAMPFER2, + EL_YAMYAM, + EL_DARK_YAMYAM, EL_ROBOT, EL_PACMAN, EL_MOLE, @@ -1569,14 +1569,14 @@ void InitElementProperties() static int ep_could_move[] = { - 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_BUG_RIGHT, + EL_BUG_UP, + EL_BUG_LEFT, + EL_BUG_DOWN, + EL_SPACESHIP_RIGHT, + EL_SPACESHIP_UP, + EL_SPACESHIP_LEFT, + EL_SPACESHIP_DOWN, EL_BUTTERFLY_RIGHT, EL_BUTTERFLY_UP, EL_BUTTERFLY_LEFT, @@ -1594,8 +1594,8 @@ void InitElementProperties() static int ep_dont_touch[] = { - EL_KAEFER, - EL_FLIEGER, + EL_BUG, + EL_SPACESHIP, EL_BUTTERFLY, EL_FIREFLY }; @@ -1603,16 +1603,16 @@ void InitElementProperties() static int ep_dont_go_to[] = { - EL_KAEFER, - EL_FLIEGER, + EL_BUG, + EL_SPACESHIP, EL_BUTTERFLY, EL_FIREFLY, - EL_MAMPFER, - EL_MAMPFER2, + EL_YAMYAM, + EL_DARK_YAMYAM, EL_ROBOT, EL_PACMAN, - EL_TROPFEN, - EL_SALZSAEURE, + EL_AMOEBA_DROP, + EL_ACID, EL_SP_SNIKSNAK, EL_SP_ELECTRON, EL_SP_BUG_ACTIVE, @@ -1623,26 +1623,26 @@ void InitElementProperties() static int ep_mampf2[] = { - EL_ERDREICH, - EL_KAEFER, - EL_FLIEGER, + EL_SAND, + EL_BUG, + EL_SPACESHIP, EL_BUTTERFLY, EL_FIREFLY, - EL_MAMPFER, + EL_YAMYAM, EL_ROBOT, EL_PACMAN, - EL_TROPFEN, - EL_AMOEBE_TOT, - EL_AMOEBE_NASS, - EL_AMOEBE_NORM, - EL_AMOEBE_VOLL, - EL_AMOEBE_BD, - EL_EDELSTEIN, + EL_AMOEBA_DROP, + EL_AMOEBA_DEAD, + EL_AMOEBA_WET, + EL_AMOEBA_DRY, + EL_AMOEBA_FULL, + EL_BD_AMOEBA, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT, + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND, EL_PEARL, EL_CRYSTAL }; @@ -1650,18 +1650,18 @@ void InitElementProperties() static int ep_bd_element[] = { - EL_LEERRAUM, - EL_ERDREICH, - EL_FELSBODEN, + EL_EMPTY, + EL_SAND, + EL_WALL_CRUMBLED, EL_BD_WALL, - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, EL_EDELSTEIN_BD, EL_MAGIC_WALL_BD_OFF, - EL_AUSGANG_ZU, - EL_AUSGANG_AUF, - EL_BETON, - EL_SPIELFIGUR, + EL_EXIT_CLOSED, + EL_EXIT_OPEN, + EL_STEELWALL, + EL_PLAYER, EL_FIREFLY, EL_FIREFLY_1, EL_FIREFLY_2, @@ -1672,63 +1672,63 @@ void InitElementProperties() EL_BUTTERFLY_2, EL_BUTTERFLY_3, EL_BUTTERFLY_4, - EL_AMOEBE_BD, + EL_BD_AMOEBA, EL_CHAR_FRAGE }; static int ep_bd_element_num = SIZEOF_ARRAY_INT(ep_bd_element); static int ep_sb_element[] = { - EL_LEERRAUM, - EL_BETON, + EL_EMPTY, + EL_STEELWALL, EL_SOKOBAN_OBJEKT, EL_SOKOBAN_FELD_LEER, EL_SOKOBAN_FELD_VOLL, - EL_SPIELFIGUR, + EL_PLAYER, EL_INVISIBLE_STEEL }; static int ep_sb_element_num = SIZEOF_ARRAY_INT(ep_sb_element); static int ep_gem[] = { - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND }; static int ep_gem_num = SIZEOF_ARRAY_INT(ep_gem); static int ep_inactive[] = { - EL_LEERRAUM, - EL_ERDREICH, - EL_MAUERWERK, + EL_EMPTY, + EL_SAND, + EL_WALL, EL_BD_WALL, - EL_FELSBODEN, - EL_SCHLUESSEL, - EL_BETON, - EL_AMOEBE_TOT, - EL_MORAST_LEER, + EL_WALL_CRUMBLED, + EL_KEY, + EL_STEELWALL, + EL_AMOEBA_DEAD, + EL_QUICKSAND_EMPTY, EL_BADEWANNE, - EL_ABLENK_AUS, - EL_SCHLUESSEL1, - EL_SCHLUESSEL2, - EL_SCHLUESSEL3, - EL_SCHLUESSEL4, + EL_ROBOT_WHEEL, + EL_KEY1, + EL_KEY2, + EL_KEY3, + EL_KEY4, EL_EM_KEY_1, EL_EM_KEY_2, EL_EM_KEY_3, EL_EM_KEY_4, - EL_PFORTE1, - EL_PFORTE2, - EL_PFORTE3, - EL_PFORTE4, - EL_PFORTE1X, - EL_PFORTE2X, - EL_PFORTE3X, - EL_PFORTE4X, + EL_GATE1, + EL_GATE2, + EL_GATE3, + EL_GATE4, + EL_GATE1_GRAY, + EL_GATE2_GRAY, + EL_GATE3_GRAY, + EL_GATE4_GRAY, EL_EM_GATE_1, EL_EM_GATE_2, EL_EM_GATE_3, @@ -1737,28 +1737,28 @@ void InitElementProperties() EL_EM_GATE_2X, EL_EM_GATE_3X, EL_EM_GATE_4X, - EL_DYNAMITE_INACTIVE, - EL_UNSICHTBAR, - EL_BIRNE_AUS, - EL_BIRNE_EIN, - EL_ERZ_EDEL, - EL_ERZ_DIAM, - EL_ERZ_EDEL_BD, - EL_ERZ_EDEL_GELB, + EL_DYNAMITE, + EL_INVISIBLE_WALL, + EL_LAMP, + EL_LAMP_ACTIVE, + EL_WALL_EMERALD, + EL_WALL_DIAMOND, + EL_WALL_BD_DIAMOND, + EL_WALL_EMERALD_YELLOW, EL_DYNABOMB_NR, EL_DYNABOMB_SZ, EL_DYNABOMB_XL, EL_SOKOBAN_OBJEKT, EL_SOKOBAN_FELD_LEER, EL_SOKOBAN_FELD_VOLL, - EL_ERZ_EDEL_ROT, - EL_ERZ_EDEL_LILA, - EL_BADEWANNE1, - EL_BADEWANNE2, - EL_BADEWANNE3, - EL_BADEWANNE4, - EL_BADEWANNE5, - EL_MAGIC_WALL_OFF, + EL_WALL_EMERALD_RED, + EL_WALL_EMERALD_PURPLE, + EL_ACIDPOOL_TOPLEFT, + EL_ACIDPOOL_TOPRIGHT, + EL_ACIDPOOL_BOTTOMLEFT, + EL_ACIDPOOL_BOTTOM, + EL_ACIDPOOL_BOTTOMRIGHT, + EL_MAGIC_WALL, EL_MAGIC_WALL_DEAD, EL_MAGIC_WALL_BD_OFF, EL_MAGIC_WALL_BD_DEAD, @@ -1839,9 +1839,9 @@ void InitElementProperties() static int ep_explosive[] = { - EL_BOMBE, + EL_BOMB, EL_DYNAMITE_ACTIVE, - EL_DYNAMITE_INACTIVE, + EL_DYNAMITE, EL_DYNABOMB_ACTIVE_1, EL_DYNABOMB_ACTIVE_2, EL_DYNABOMB_ACTIVE_3, @@ -1849,7 +1849,7 @@ void InitElementProperties() EL_DYNABOMB_NR, EL_DYNABOMB_SZ, EL_DYNABOMB_XL, - EL_KAEFER, + EL_BUG, EL_MOLE, EL_PINGUIN, EL_SCHWEIN, @@ -1866,12 +1866,12 @@ void InitElementProperties() static int ep_mampf3[] = { - EL_EDELSTEIN, + EL_EMERALD, EL_EDELSTEIN_BD, - EL_EDELSTEIN_GELB, - EL_EDELSTEIN_ROT, - EL_EDELSTEIN_LILA, - EL_DIAMANT, + EL_EDELSTEIN_YELLOW, + EL_EDELSTEIN_RED, + EL_EDELSTEIN_PURPLE, + EL_DIAMOND, EL_PEARL, EL_CRYSTAL }; @@ -1879,11 +1879,11 @@ void InitElementProperties() static int ep_pushable[] = { - EL_FELSBROCKEN, + EL_ROCK, EL_BD_ROCK, - EL_BOMBE, - EL_KOKOSNUSS, - EL_ZEIT_LEER, + EL_BOMB, + EL_NUT, + EL_TIME_ORB_EMPTY, EL_SOKOBAN_FELD_VOLL, EL_SOKOBAN_OBJEKT, EL_SONDE, @@ -1898,7 +1898,7 @@ void InitElementProperties() static int ep_player[] = { - EL_SPIELFIGUR, + EL_PLAYER, EL_SPIELER1, EL_SPIELER2, EL_SPIELER3, @@ -1908,17 +1908,17 @@ void InitElementProperties() static int ep_has_content[] = { - EL_MAMPFER, - EL_AMOEBE_NASS, - EL_AMOEBE_NORM, - EL_AMOEBE_VOLL, - EL_AMOEBE_BD + EL_YAMYAM, + EL_AMOEBA_WET, + EL_AMOEBA_DRY, + EL_AMOEBA_FULL, + EL_BD_AMOEBA }; static int ep_has_content_num = SIZEOF_ARRAY_INT(ep_has_content); static int ep_eatable[] = { - EL_ERDREICH, + EL_SAND, EL_SP_BASE, EL_SP_BUG, EL_TRAP_INACTIVE, @@ -1969,7 +1969,7 @@ void InitElementProperties() EL_SP_CHIP_UPPER, EL_SP_CHIP_LOWER, /* additional elements that appeared in newer Supaplex levels */ - EL_UNSICHTBAR, + EL_INVISIBLE_WALL, /* more than one murphy in a level results in an inactive clone */ EL_SP_MURPHY_CLONE }; diff --git a/src/main.c b/src/main.c index 9339d805..ec003823 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_BURNING (12) */ + 6, /* GFX_ACTION_ACTIVE (12) */ 6 /* GFX_ACTION_OTHER (13) */ }; @@ -359,10 +359,10 @@ struct ConfigInfo image_config[] = { "dynamite.xpos", "0" }, { "dynamite.ypos", "3" }, { "dynamite.frames", "1" }, - { "dynamite.burning", "RocksElements.pcx" }, - { "dynamite.burning.xpos", "1" }, - { "dynamite.burning.ypos", "3" }, - { "dynamite.burning.frames", "7" }, + { "dynamite.actice", "RocksElements.pcx" }, + { "dynamite.actice.xpos", "1" }, + { "dynamite.actice.ypos", "3" }, + { "dynamite.actice.frames", "7" }, { "spaceship_right", "RocksElements.pcx" }, { "spaceship_right.xpos", "8" }, @@ -454,7 +454,11 @@ struct ConfigInfo image_config[] = { "robot_wheel", "RocksElements.pcx" }, { "robot_wheel.xpos", "0" }, { "robot_wheel.ypos", "6" }, - { "robot_wheel.frames", "4" }, + { "robot_wheel.frames", "1" }, + { "robot_wheel.active", "RocksElements.pcx" }, + { "robot_wheel.active.xpos", "0" }, + { "robot_wheel.active.ypos", "6" }, + { "robot_wheel.active.frames", "4" }, { "amoeba_drop", "RocksElements.pcx" }, { "amoeba_drop.xpos", "5" }, @@ -497,14 +501,14 @@ struct ConfigInfo image_config[] = { "amoeba_dead4.ypos", "6" }, { "amoeba_dead4.frames", "1" }, - { "lamp_off", "RocksElements.pcx" }, - { "lamp_off.xpos", "0" }, - { "lamp_off.ypos", "7" }, - { "lamp_off.frames", "1" }, - { "lamp_on", "RocksElements.pcx" }, - { "lamp_on.xpos", "1" }, - { "lamp_on.ypos", "7" }, - { "lamp_on.frames", "1" }, + { "lamp", "RocksElements.pcx" }, + { "lamp.xpos", "0" }, + { "lamp.ypos", "7" }, + { "lamp.frames", "1" }, + { "lamp.active", "RocksElements.pcx" }, + { "lamp.active.xpos", "1" }, + { "lamp.active.ypos", "7" }, + { "lamp.active.frames", "1" }, { "time_orb_full", "RocksElements.pcx" }, { "time_orb_full.xpos", "2" }, @@ -667,11 +671,11 @@ struct ConfigInfo image_config[] = { "dark_yamyam.frames", "4" }, { "dark_yamyam.pingpong", "1" }, - { "dynabomb.burning", "RocksElements.pcx" }, - { "dynabomb.burning.xpos", "12" }, - { "dynabomb.burning.ypos", "11" }, - { "dynabomb.burning.frames", "4" }, - { "dynabomb.burning.pingpong", "1" }, + { "dynabomb.actice", "RocksElements.pcx" }, + { "dynabomb.actice.xpos", "12" }, + { "dynabomb.actice.ypos", "11" }, + { "dynabomb.actice.frames", "4" }, + { "dynabomb.actice.pingpong", "1" }, { "dynabomb_nr", "RocksElements.pcx" }, { "dynabomb_nr.xpos", "12" }, { "dynabomb_nr.ypos", "11" }, @@ -1621,28 +1625,28 @@ struct ConfigInfo image_config[] = { "invisible_steelwall.xpos", "3" }, { "invisible_steelwall.ypos", "5" }, { "invisible_steelwall.frames", "1" }, - { "invisible_steelwall_on", "RocksSP.pcx" }, - { "invisible_steelwall_on.xpos", "1" }, - { "invisible_steelwall_on.ypos", "5" }, - { "invisible_steelwall_on.frames", "1" }, + { "invisible_steelwall.active", "RocksSP.pcx" }, + { "invisible_steelwall.active.xpos", "1" }, + { "invisible_steelwall.active.ypos", "5" }, + { "invisible_steelwall.active.frames", "1" }, { "invisible_sand", "RocksSP.pcx" }, { "invisible_sand.xpos", "6" }, { "invisible_sand.ypos", "5" }, { "invisible_sand.frames", "1" }, - { "invisible_sand_on", "RocksSP.pcx" }, - { "invisible_sand_on.xpos", "2" }, - { "invisible_sand_on.ypos", "5" }, - { "invisible_sand_on.frames", "1" }, + { "invisible_sand.active", "RocksSP.pcx" }, + { "invisible_sand.active.xpos", "2" }, + { "invisible_sand.active.ypos", "5" }, + { "invisible_sand.active.frames", "1" }, { "invisible_wall", "RocksSP.pcx" }, { "invisible_wall.xpos", "7" }, { "invisible_wall.ypos", "5" }, { "invisible_wall.frames", "1" }, - { "invisible_wall_on", "RocksSP.pcx" }, - { "invisible_wall_on.xpos", "5" }, - { "invisible_wall_on.ypos", "5" }, - { "invisible_wall_on.frames", "1" }, + { "invisible_wall.active", "RocksSP.pcx" }, + { "invisible_wall.active.xpos", "5" }, + { "invisible_wall.active.ypos", "5" }, + { "invisible_wall.active.frames", "1" }, { "em_key1", "RocksSP.pcx" }, { "em_key1.xpos", "4" }, @@ -1860,14 +1864,14 @@ struct ConfigInfo image_config[] = { "switchgate_switch_down.ypos", "12" }, { "switchgate_switch_down.frames", "1" }, - { "light_switch_off", "RocksDC.pcx" }, - { "light_switch_off.xpos", "6" }, - { "light_switch_off.ypos", "12" }, - { "light_switch_off.frames", "1" }, - { "light_switch_on", "RocksDC.pcx" }, - { "light_switch_on.xpos", "7" }, - { "light_switch_on.ypos", "12" }, - { "light_switch_on.frames", "1" }, + { "light_switch", "RocksDC.pcx" }, + { "light_switch.xpos", "6" }, + { "light_switch.ypos", "12" }, + { "light_switch.frames", "1" }, + { "light_switch.active", "RocksDC.pcx" }, + { "light_switch.active.xpos", "7" }, + { "light_switch.active.ypos", "12" }, + { "light_switch.active.frames", "1" }, { "timegate_wheel", "RocksDC.pcx" }, { "timegate_wheel.xpos", "0" }, @@ -2276,7 +2280,7 @@ struct ConfigInfo sound_config[] = { "nut.impact", "klumpf.wav" }, { "dynamite.collecting", "pong.wav" }, { "dynamite.dropping", "deng.wav" }, - { "dynamite.burning", "zisch.wav" }, + { "dynamite.actice", "zisch.wav" }, { "key.collecting", "pong.wav" }, { "gate.passing", "gate.wav" }, { "bug.moving", "klapper.wav" }, @@ -2358,7 +2362,7 @@ struct ConfigInfo sound_config[] = { "dynabomb_sz.collecting", "pong.wav" }, { "dynabomb_xl.collecting", "pong.wav" }, { "dynabomb.dropping", "deng.wav" }, - { "dynabomb.burning", "zisch.wav" }, + { "dynabomb.actice", "zisch.wav" }, { "satellite.moving", SND_FILE_UNDEFINED }, { "satellite.waiting", SND_FILE_UNDEFINED }, { "satellite.pushing", "pusch.wav" }, diff --git a/src/main.h b/src/main.h index 4eb80b97..be10b88c 100644 --- a/src/main.h +++ b/src/main.h @@ -128,19 +128,19 @@ #define IS_PLAYER(x,y) (ELEM_IS_PLAYER(StorePlayer[x][y])) -#define IS_FREE(x,y) (Feld[x][y] == EL_LEERRAUM && !IS_PLAYER(x,y)) -#define IS_FREE_OR_PLAYER(x,y) (Feld[x][y] == EL_LEERRAUM) +#define IS_FREE(x,y) (Feld[x][y] == EL_EMPTY && !IS_PLAYER(x,y)) +#define IS_FREE_OR_PLAYER(x,y) (Feld[x][y] == EL_EMPTY) #define IS_MOVING(x,y) (MovPos[x][y] != 0) #define IS_FALLING(x,y) (MovPos[x][y] != 0 && MovDir[x][y] == MV_DOWN) #define IS_BLOCKED(x,y) (Feld[x][y] == EL_BLOCKED) -#define EL_CHANGED(e) ((e) == EL_FELSBROCKEN ? EL_EDELSTEIN : \ +#define EL_CHANGED(e) ((e) == EL_FELSBROCKEN ? EL_EMERALD : \ (e) == EL_BD_ROCK ? EL_EDELSTEIN_BD : \ - (e) == EL_EDELSTEIN ? EL_DIAMANT : \ - (e) == EL_EDELSTEIN_GELB ? EL_DIAMANT : \ - (e) == EL_EDELSTEIN_ROT ? EL_DIAMANT : \ - (e) == EL_EDELSTEIN_LILA ? EL_DIAMANT : \ + (e) == EL_EMERALD ? EL_DIAMOND : \ + (e) == EL_EDELSTEIN_YELLOW ? EL_DIAMOND : \ + (e) == EL_EDELSTEIN_RED ? EL_DIAMOND : \ + (e) == EL_EDELSTEIN_PURPLE ? EL_DIAMOND : \ EL_FELSBROCKEN) #define EL_CHANGED2(e) ((e) == EL_FELSBROCKEN ? EL_EDELSTEIN_BD : \ (e) == EL_BD_ROCK ? EL_EDELSTEIN_BD : \ @@ -276,71 +276,72 @@ #define MICRO_MORE_PER_LINE 16 /* game elements: -** 0 - 499: real elements, stored in level file -** 500 - 699: flag elements, only used at runtime +** 0 <= element < xxx: real elements, stored in level file +** xxx <= element < yyy: flag elements, only used at runtime */ /* "real" level elements */ -#define EL_LEERRAUM 0 -#define EL_ERDREICH 1 -#define EL_MAUERWERK 2 -#define EL_FELSBODEN 3 -#define EL_FELSBROCKEN 4 -#define EL_SCHLUESSEL 5 -#define EL_EDELSTEIN 6 -#define EL_AUSGANG_ZU 7 -#define EL_SPIELFIGUR 8 -#define EL_KAEFER 9 -#define EL_FLIEGER 10 -#define EL_MAMPFER 11 +#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_BUG 9 +#define EL_SPACESHIP 10 +#define EL_YAMYAM 11 #define EL_ROBOT 12 -#define EL_BETON 13 -#define EL_DIAMANT 14 -#define EL_AMOEBE_TOT 15 -#define EL_MORAST_LEER 16 -#define EL_MORAST_VOLL 17 -#define EL_TROPFEN 18 -#define EL_BOMBE 19 -#define EL_MAGIC_WALL_OFF 20 +#define EL_STEELWALL 13 +#define EL_DIAMOND 14 +#define EL_AMOEBA_DEAD 15 +#define EL_QUICKSAND_EMPTY 16 +#define EL_QUICKSAND_FULL 17 +#define EL_AMOEBA_DROP 18 +#define EL_BOMB 19 +#define EL_MAGIC_WALL 20 #define EL_SPEED_PILL 21 -#define EL_SALZSAEURE 22 -#define EL_AMOEBE_NASS 23 -#define EL_AMOEBE_NORM 24 -#define EL_KOKOSNUSS 25 -#define EL_LIFE 26 -#define EL_LIFE_ASYNC 27 +#define EL_ACID 22 +#define EL_AMOEBA_WET 23 +#define EL_AMOEBA_DRY 24 +#define EL_NUT 25 +#define EL_GAMEOFLIFE 26 +#define EL_BIOMAZE 27 #define EL_DYNAMITE_ACTIVE 28 -#define EL_BADEWANNE 29 -#define EL_ABLENK_AUS 30 -#define EL_ABLENK_EIN 31 -#define EL_SCHLUESSEL1 32 -#define EL_SCHLUESSEL2 33 -#define EL_SCHLUESSEL3 34 -#define EL_SCHLUESSEL4 35 -#define EL_PFORTE1 36 -#define EL_PFORTE2 37 -#define EL_PFORTE3 38 -#define EL_PFORTE4 39 -#define EL_PFORTE1X 40 -#define EL_PFORTE2X 41 -#define EL_PFORTE3X 42 -#define EL_PFORTE4X 43 -#define EL_DYNAMITE_INACTIVE 44 +#define EL_STONEBLOCK 29 +#define EL_ROBOT_WHEEL 30 +#define EL_ROBOT_WHEEL_ACTIVE 31 +#define EL_KEY1 32 +#define EL_KEY2 33 +#define EL_KEY3 34 +#define EL_KEY4 35 +#define EL_GATE1 36 +#define EL_GATE2 37 +#define EL_GATE3 38 +#define EL_GATE4 39 +#define EL_GATE1_GRAY 40 +#define EL_GATE2_GRAY 41 +#define EL_GATE3_GRAY 42 +#define EL_GATE4_GRAY 43 +#define EL_DYNAMITE 44 #define EL_PACMAN 45 -#define EL_UNSICHTBAR 46 -#define EL_BIRNE_AUS 47 -#define EL_BIRNE_EIN 48 -#define EL_ERZ_EDEL 49 -#define EL_ERZ_DIAM 50 -#define EL_AMOEBE_VOLL 51 -#define EL_AMOEBE_BD 52 -#define EL_ZEIT_VOLL 53 -#define EL_ZEIT_LEER 54 +#define EL_INVISIBLE_WALL 46 +#define EL_LAMP 47 +#define EL_LAMP_ACTIVE 48 +#define EL_WALL_EMERALD 49 +#define EL_WALL_DIAMOND 50 +#define EL_AMOEBA_FULL 51 +#define EL_BD_AMOEBA 52 +#define EL_TIME_ORB_FULL 53 +#define EL_TIME_ORB_EMPTY 54 #define EL_MAUER_LEBT 55 #define EL_EDELSTEIN_BD 56 -#define EL_EDELSTEIN_GELB 57 -#define EL_ERZ_EDEL_BD 58 -#define EL_ERZ_EDEL_GELB 59 -#define EL_MAMPFER2 60 +#define EL_EDELSTEIN_YELLOW 57 +#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_INVISIBLE_STEEL 62 @@ -374,30 +375,30 @@ #define EL_SPIELER2 81 #define EL_SPIELER3 82 #define EL_SPIELER4 83 -#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_BUG_RIGHT 84 +#define EL_BUG_UP 85 +#define EL_BUG_LEFT 86 +#define EL_BUG_DOWN 87 +#define EL_SPACESHIP_RIGHT 88 +#define EL_SPACESHIP_UP 89 +#define EL_SPACESHIP_LEFT 90 +#define EL_SPACESHIP_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 -#define EL_ERZ_EDEL_LILA 99 -#define EL_BADEWANNE1 100 -#define EL_BADEWANNE2 101 -#define EL_BADEWANNE3 102 -#define EL_BADEWANNE4 103 -#define EL_BADEWANNE5 104 +#define EL_EDELSTEIN_RED 96 +#define EL_EDELSTEIN_PURPLE 97 +#define EL_WALL_EMERALD_RED 98 +#define EL_WALL_EMERALD_PURPLE 99 +#define EL_ACIDPOOL_TOPLEFT 100 +#define EL_ACIDPOOL_TOPRIGHT 101 +#define EL_ACIDPOOL_BOTTOMLEFT 102 +#define EL_ACIDPOOL_BOTTOM 103 +#define EL_ACIDPOOL_BOTTOMRIGHT 104 #define EL_BD_WALL 105 #define EL_BD_ROCK 106 -#define EL_AUSGANG_AUF 107 +#define EL_EXIT_OPEN 107 #define EL_BLACK_ORB 108 #define EL_AMOEBA2DIAM 109 #define EL_MOLE 110 @@ -410,7 +411,7 @@ #define EL_SCHWEIN 117 #define EL_DRACHE 118 -#define EL_EM_KEY_1_FILE 119 +#define EL_EM_KEY1_FILE 119 #define EL_CHAR_START 120 #define EL_CHAR_ASCII0 (EL_CHAR_START-32) @@ -455,14 +456,14 @@ #define EL_MAUER_Y 201 #define EL_MAUER_XY 202 -#define EL_EM_GATE_1 203 -#define EL_EM_GATE_2 204 -#define EL_EM_GATE_3 205 -#define EL_EM_GATE_4 206 +#define EL_EM_GATE1 203 +#define EL_EM_GATE2 204 +#define EL_EM_GATE3 205 +#define EL_EM_GATE4 206 -#define EL_EM_KEY_2_FILE 207 -#define EL_EM_KEY_3_FILE 208 -#define EL_EM_KEY_4_FILE 209 +#define EL_EM_KEY2_FILE 207 +#define EL_EM_KEY3_FILE 208 +#define EL_EM_KEY4_FILE 209 #define EL_SP_START 210 #define EL_SP_EMPTY (EL_SP_START + 0) @@ -507,10 +508,10 @@ #define EL_SP_CHIP_LOWER (EL_SP_START + 39) #define EL_SP_END (EL_SP_START + 39) -#define EL_EM_GATE_1X 250 -#define EL_EM_GATE_2X 251 -#define EL_EM_GATE_3X 252 -#define EL_EM_GATE_4X 253 +#define EL_EM_GATE1_GRAY 250 +#define EL_EM_GATE2_GRAY 251 +#define EL_EM_GATE3_GRAY 252 +#define EL_EM_GATE4_GRAY 253 #define EL_UNUSED_254 254 #define EL_UNUSED_255 255 @@ -1263,7 +1264,7 @@ #define GFX_ACTION_IMPACT 9 #define GFX_ACTION_CRACKING 10 #define GFX_ACTION_ACTIVATING 11 -#define GFX_ACTION_BURNING 12 +#define GFX_ACTION_ACTIVE 12 #define GFX_ACTION_OTHER 13 #define NUM_GFX_ACTIONS 14 @@ -1322,7 +1323,7 @@ #define IMG_GATE3_GRAY 37 #define IMG_GATE4_GRAY 38 #define IMG_DYNAMITE 39 -#define IMG_DYNAMITE_BURNING 40 +#define IMG_DYNAMITE_ACTIVE 40 #define IMG_SPACESHIP_RIGHT 41 #define IMG_SPACESHIP_UP 42 #define IMG_SPACESHIP_LEFT 43 @@ -1388,7 +1389,7 @@ #define IMG_EXIT_OPENING 103 #define IMG_EXIT_OPEN 104 #define IMG_DARK_YAMYAM 105 -#define IMG_DYNABOMB_BURNING 106 +#define IMG_DYNABOMB_ACTIVE 106 #define IMG_DYNABOMB_NR 107 #define IMG_DYNABOMB_SZ 108 #define IMG_ARROW_LEFT 109 @@ -1807,7 +1808,7 @@ #define SND_NUT_IMPACT 54 #define SND_DYNAMITE_COLLECTING 55 #define SND_DYNAMITE_DROPPING 56 -#define SND_DYNAMITE_BURNING 57 +#define SND_DYNAMITE_ACTIVE 57 #define SND_KEY_COLLECTING 58 #define SND_GATE_PASSING 59 #define SND_BUG_MOVING 60 @@ -1881,7 +1882,7 @@ #define SND_DYNABOMB_SZ_COLLECTING 128 #define SND_DYNABOMB_XL_COLLECTING 129 #define SND_DYNABOMB_DROPPING 130 -#define SND_DYNABOMB_BURNING 131 +#define SND_DYNABOMB_ACTIVE 131 #define SND_SATELLITE_MOVING 132 #define SND_SATELLITE_WAITING 133 #define SND_SATELLITE_PUSHING 134 diff --git a/src/tools.c b/src/tools.c index f0423cc6..0269c4df 100644 --- a/src/tools.c +++ b/src/tools.c @@ -402,14 +402,14 @@ void SetBorderElement() { int x, y; - BorderElement = EL_LEERRAUM; + BorderElement = EL_EMPTY; - for(y=0; y= lev_fieldy-1 || !IS_BELT(Feld[ux][uy+1])) { - if (element == EL_FELSBROCKEN || + if (element == EL_ROCK || element == EL_SP_ZONK || element == EL_BD_ROCK) { @@ -1419,7 +1419,7 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, } else if (IS_AMOEBOID(element) || element == EL_AMOEBA_DRIPPING) { - graphic = (element == EL_AMOEBE_TOT ? GFX_AMOEBE_TOT : GFX_AMOEBE_LEBT); + graphic = (element == EL_AMOEBA_DEAD ? GFX_AMOEBE_TOT : GFX_AMOEBE_LEBT); graphic += (x + 2 * y + 4) % 4; } else if (element == EL_MAUER_LEBT) @@ -1439,11 +1439,11 @@ void DrawScreenElementExt(int x, int y, int dx, int dy, int element, graphic = GFX_MAUER_L; } else if ((element == EL_INVISIBLE_STEEL || - element == EL_UNSICHTBAR || + element == EL_INVISIBLE_WALL || element == EL_SAND_INVISIBLE) && game.light_time_left) { graphic = (element == EL_INVISIBLE_STEEL ? GFX_INVISIBLE_STEEL_ON : - element == EL_UNSICHTBAR ? GFX_UNSICHTBAR_ON : + element == EL_INVISIBLE_WALL ? GFX_UNSICHTBAR_ON : GFX_SAND_INVISIBLE_ON); } @@ -1474,8 +1474,8 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, ; } #if 0 - else if (element == EL_PACMAN || element == EL_KAEFER || - element == EL_FLIEGER) + else if (element == EL_PACMAN || element == EL_BUG || + element == EL_SPACESHIP) { graphic += 1 * !phase2; @@ -1534,7 +1534,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, graphic = GFX_SONDE_START + getNewGraphicAnimationFrame(graphic, move_pos); #endif } - else if (element == EL_SALZSAEURE) + else if (element == EL_ACID) { #if 1 graphic = GFX_GEBLUBBER + getGraphicAnimationPhase(4, 10, ANIM_NORMAL); @@ -1550,7 +1550,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, { graphic += phase4; } - else if ((element == EL_FELSBROCKEN || + else if ((element == EL_ROCK || element == EL_SP_ZONK || element == EL_BD_ROCK || element == EL_SP_INFOTRON || @@ -1559,7 +1559,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, { if (uy >= lev_fieldy-1 || !IS_BELT(Feld[ux][uy+1])) { - if (element == EL_FELSBROCKEN || + if (element == EL_ROCK || element == EL_SP_ZONK || element == EL_BD_ROCK) { @@ -1589,7 +1589,7 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, } else if (IS_AMOEBOID(element) || element == EL_AMOEBA_DRIPPING) { - graphic = (element == EL_AMOEBE_TOT ? GFX_AMOEBE_TOT : GFX_AMOEBE_LEBT); + graphic = (element == EL_AMOEBA_DEAD ? GFX_AMOEBE_TOT : GFX_AMOEBE_LEBT); graphic += (x + 2 * y + 4) % 4; } else if (element == EL_MAUER_LEBT) @@ -1609,11 +1609,11 @@ void DrawNewScreenElementExt(int x, int y, int dx, int dy, int element, graphic = GFX_MAUER_L; } else if ((element == EL_INVISIBLE_STEEL || - element == EL_UNSICHTBAR || + element == EL_INVISIBLE_WALL || element == EL_SAND_INVISIBLE) && game.light_time_left) { graphic = (element == EL_INVISIBLE_STEEL ? GFX_INVISIBLE_STEEL_ON : - element == EL_UNSICHTBAR ? GFX_UNSICHTBAR_ON : + element == EL_INVISIBLE_WALL ? GFX_UNSICHTBAR_ON : GFX_SAND_INVISIBLE_ON); } @@ -1716,7 +1716,7 @@ void ErdreichAnbroeckeln(int x, int y) element = Feld[ux][uy]; - if (element == EL_ERDREICH || + if (element == EL_SAND || element == EL_LANDMINE || element == EL_TRAP_INACTIVE || element == EL_TRAP_ACTIVE) @@ -1735,11 +1735,11 @@ void ErdreichAnbroeckeln(int x, int y) uxx = ux + xy[i][0]; uyy = uy + xy[i][1]; if (!IN_LEV_FIELD(uxx, uyy)) - element = EL_BETON; + element = EL_STEELWALL; else element = Feld[uxx][uyy]; - if (element == EL_ERDREICH || + if (element == EL_SAND || element == EL_LANDMINE || element == EL_TRAP_INACTIVE || element == EL_TRAP_ACTIVE) @@ -1782,7 +1782,7 @@ void ErdreichAnbroeckeln(int x, int y) uyy = uy + xy[i][1]; if (!IN_LEV_FIELD(uxx, uyy) || - (Feld[uxx][uyy] != EL_ERDREICH && + (Feld[uxx][uyy] != EL_SAND && Feld[uxx][uyy] != EL_LANDMINE && Feld[uxx][uyy] != EL_TRAP_INACTIVE && Feld[uxx][uyy] != EL_TRAP_ACTIVE) || @@ -1882,8 +1882,8 @@ void DrawScreenField(int x, int y) else DrawScreenElementShifted(x, y, 0, MovPos[ux][uy], content, cut_mode); - if (content == EL_SALZSAEURE) - DrawLevelElementThruMask(ux, uy + 1, EL_SALZSAEURE); + if (content == EL_ACID) + DrawLevelElementThruMask(ux, uy + 1, EL_ACID); } else if (IS_BLOCKED(ux, uy)) { @@ -1972,8 +1972,8 @@ void DrawNewScreenField(int x, int y) else DrawNewScreenElementShifted(x, y, 0, MovPos[ux][uy], content, cut_mode); - if (content == EL_SALZSAEURE) - DrawNewLevelElementThruMask(ux, uy + 1, EL_SALZSAEURE); + if (content == EL_ACID) + DrawNewLevelElementThruMask(ux, uy + 1, EL_ACID); } else if (IS_BLOCKED(ux, uy)) { @@ -2095,7 +2095,7 @@ void DrawMiniElementOrWall(int sx, int sy, int scroll_x, int scroll_y) { GFX_VSTEEL_HORIZONTAL, GFX_ISTEEL_HORIZONTAL } }; - steel_type = (BorderElement == EL_BETON ? 0 : 1); + steel_type = (BorderElement == EL_STEELWALL ? 0 : 1); steel_position = (x == -1 && y == -1 ? 0 : x == lev_fieldx && y == -1 ? 1 : x == -1 && y == lev_fieldy ? 2 : @@ -3000,13 +3000,13 @@ int get_next_element(int element) { switch(element) { - case EL_QUICKSAND_FILLING: return EL_MORAST_VOLL; - case EL_QUICKSAND_EMPTYING: return EL_MORAST_LEER; + case EL_QUICKSAND_FILLING: return EL_QUICKSAND_FULL; + 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_AMOEBA_DRIPPING: return EL_AMOEBE_NASS; + case EL_AMOEBA_DRIPPING: return EL_AMOEBA_WET; default: return element; } @@ -3017,30 +3017,30 @@ int el2gfx_OLD(int element) switch(element) { case EL_LEERRAUM: return -1; - case EL_ERDREICH: return GFX_ERDREICH; - case EL_MAUERWERK: return GFX_MAUERWERK; - case EL_FELSBODEN: return GFX_FELSBODEN; - case EL_FELSBROCKEN: return GFX_FELSBROCKEN; - case EL_SCHLUESSEL: return GFX_SCHLUESSEL; - case EL_EDELSTEIN: return GFX_EDELSTEIN; - case EL_AUSGANG_ZU: return GFX_AUSGANG_ZU; + case EL_SAND: return GFX_ERDREICH; + 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_AUSGANG_AUF: return GFX_AUSGANG_AUF; - case EL_SPIELFIGUR: return GFX_SPIELFIGUR; + case EL_EXIT_OPEN: return GFX_AUSGANG_AUF; + case EL_PLAYER: return GFX_SPIELFIGUR; case EL_SPIELER1: return GFX_SPIELER1; case EL_SPIELER2: return GFX_SPIELER2; case EL_SPIELER3: return GFX_SPIELER3; case EL_SPIELER4: return GFX_SPIELER4; - case EL_KAEFER: return GFX_KAEFER; - 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_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_BUG: return GFX_KAEFER; + case EL_BUG_RIGHT: return GFX_KAEFER_RIGHT; + case EL_BUG_UP: return GFX_KAEFER_UP; + case EL_BUG_LEFT: return GFX_KAEFER_LEFT; + case EL_BUG_DOWN: return GFX_KAEFER_DOWN; + case EL_SPACESHIP: return GFX_FLIEGER; + case EL_SPACESHIP_RIGHT: return GFX_FLIEGER_RIGHT; + 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; @@ -3051,78 +3051,78 @@ int el2gfx_OLD(int element) 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_YAMYAM: return GFX_MAMPFER; case EL_ROBOT: return GFX_ROBOT; - case EL_BETON: return GFX_BETON; - case EL_DIAMANT: return GFX_DIAMANT; - case EL_MORAST_LEER: return GFX_MORAST_LEER; - case EL_MORAST_VOLL: return GFX_MORAST_VOLL; + case EL_STEELWALL: return GFX_BETON; + case EL_DIAMOND: return GFX_DIAMANT; + case EL_QUICKSAND_EMPTY: return GFX_MORAST_LEER; + case EL_QUICKSAND_FULL: return GFX_MORAST_VOLL; case EL_QUICKSAND_EMPTYING: return GFX_MORAST_LEER; - case EL_TROPFEN: return GFX_TROPFEN; - case EL_BOMBE: return GFX_BOMBE; - case EL_MAGIC_WALL_OFF: return GFX_MAGIC_WALL_OFF; + case EL_AMOEBA_DROP: return GFX_TROPFEN; + case EL_BOMB: return GFX_BOMBE; + case EL_MAGIC_WALL: return GFX_MAGIC_WALL_OFF; case EL_MAGIC_WALL_EMPTY: return GFX_MAGIC_WALL_EMPTY; case EL_MAGIC_WALL_EMPTYING:return GFX_MAGIC_WALL_EMPTY; case EL_MAGIC_WALL_FULL: return GFX_MAGIC_WALL_FULL; case EL_MAGIC_WALL_DEAD: return GFX_MAGIC_WALL_DEAD; - case EL_SALZSAEURE: return GFX_SALZSAEURE; - case EL_AMOEBE_TOT: return GFX_AMOEBE_TOT; - case EL_AMOEBE_NASS: return GFX_AMOEBE_NASS; - case EL_AMOEBE_NORM: return GFX_AMOEBE_NORM; - case EL_AMOEBE_VOLL: return GFX_AMOEBE_VOLL; - case EL_AMOEBE_BD: return GFX_AMOEBE_BD; + case EL_ACID: return GFX_SALZSAEURE; + case EL_AMOEBA_DEAD: return GFX_AMOEBE_TOT; + case EL_AMOEBA_WET: return GFX_AMOEBE_NASS; + case EL_AMOEBA_DRY: return GFX_AMOEBE_NORM; + case EL_AMOEBA_FULL: return GFX_AMOEBE_VOLL; + case EL_BD_AMOEBA: return GFX_AMOEBE_BD; case EL_AMOEBA2DIAM: return GFX_AMOEBA2DIAM; case EL_AMOEBA_DRIPPING: return GFX_AMOEBE_NASS; - case EL_KOKOSNUSS: return GFX_KOKOSNUSS; - case EL_LIFE: return GFX_LIFE; - case EL_LIFE_ASYNC: return GFX_LIFE_ASYNC; + case EL_NUT: return GFX_KOKOSNUSS; + case EL_GAMEOFLIFE: return GFX_LIFE; + case EL_BIOMAZE: return GFX_LIFE_ASYNC; case EL_DYNAMITE_ACTIVE: return GFX_DYNAMIT; case EL_BADEWANNE: return GFX_BADEWANNE; - case EL_BADEWANNE1: return GFX_BADEWANNE1; - case EL_BADEWANNE2: return GFX_BADEWANNE2; - case EL_BADEWANNE3: return GFX_BADEWANNE3; - case EL_BADEWANNE4: return GFX_BADEWANNE4; - case EL_BADEWANNE5: return GFX_BADEWANNE5; - case EL_ABLENK_AUS: return GFX_ABLENK_AUS; - case EL_ABLENK_EIN: return GFX_ABLENK_EIN; - case EL_SCHLUESSEL1: return GFX_SCHLUESSEL1; - case EL_SCHLUESSEL2: return GFX_SCHLUESSEL2; - case EL_SCHLUESSEL3: return GFX_SCHLUESSEL3; - case EL_SCHLUESSEL4: return GFX_SCHLUESSEL4; - case EL_PFORTE1: return GFX_PFORTE1; - case EL_PFORTE2: return GFX_PFORTE2; - case EL_PFORTE3: return GFX_PFORTE3; - case EL_PFORTE4: return GFX_PFORTE4; - case EL_PFORTE1X: return GFX_PFORTE1X; - case EL_PFORTE2X: return GFX_PFORTE2X; - case EL_PFORTE3X: return GFX_PFORTE3X; - case EL_PFORTE4X: return GFX_PFORTE4X; - case EL_DYNAMITE_INACTIVE: return GFX_DYNAMIT_AUS; + case EL_ACIDPOOL_TOPLEFT: return GFX_BADEWANNE1; + case EL_ACIDPOOL_TOPRIGHT: return GFX_BADEWANNE2; + case EL_ACIDPOOL_BOTTOMLEFT:return GFX_BADEWANNE3; + case EL_ACIDPOOL_BOTTOM: return GFX_BADEWANNE4; + case EL_ACIDPOOL_BOTTOMRIGHT:return GFX_BADEWANNE5; + case EL_ROBOT_WHEEL: return GFX_ABLENK_AUS; + case EL_ROBOT_WHEEL_ACTIVE: return GFX_ABLENK_EIN; + case EL_KEY1: return GFX_SCHLUESSEL1; + case EL_KEY2: return GFX_SCHLUESSEL2; + case EL_KEY3: return GFX_SCHLUESSEL3; + case EL_KEY4: return GFX_SCHLUESSEL4; + case EL_GATE1: return GFX_PFORTE1; + case EL_GATE2: return GFX_PFORTE2; + case EL_GATE3: return GFX_PFORTE3; + case EL_GATE4: return GFX_PFORTE4; + case EL_GATE1X: return GFX_PFORTE1X; + case EL_GATE2X: return GFX_PFORTE2X; + case EL_GATE3X: return GFX_PFORTE3X; + case EL_GATE4X: return GFX_PFORTE4X; + case EL_DYNAMITE: return GFX_DYNAMIT_AUS; case EL_PACMAN: return GFX_PACMAN; 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; - case EL_BIRNE_AUS: return GFX_BIRNE_AUS; - case EL_BIRNE_EIN: return GFX_BIRNE_EIN; - case EL_ZEIT_VOLL: return GFX_ZEIT_VOLL; - case EL_ZEIT_LEER: return GFX_ZEIT_LEER; + case EL_INVISIBLE_WALL: return GFX_UNSICHTBAR; + case EL_WALL_EDEL: return GFX_ERZ_EDEL; + case EL_WALL_DIAMOND: return GFX_ERZ_DIAM; + case EL_LAMP: return GFX_BIRNE_AUS; + case EL_LAMP_ACTIVE: return GFX_BIRNE_EIN; + case EL_TIME_ORB_FULL: return GFX_ZEIT_VOLL; + case EL_TIME_ORB_EMPTY: return GFX_ZEIT_LEER; case EL_MAUER_LEBT: return GFX_MAUER_LEBT; case EL_MAUER_X: return GFX_MAUER_X; case EL_MAUER_Y: return GFX_MAUER_Y; case EL_MAUER_XY: return GFX_MAUER_XY; - case EL_EDELSTEIN_BD: return GFX_EDELSTEIN_BD; - case EL_EDELSTEIN_GELB: return GFX_EDELSTEIN_GELB; - case EL_EDELSTEIN_ROT: return GFX_EDELSTEIN_ROT; - case EL_EDELSTEIN_LILA: return GFX_EDELSTEIN_LILA; - case EL_ERZ_EDEL_BD: return GFX_ERZ_EDEL_BD; - case EL_ERZ_EDEL_GELB: return GFX_ERZ_EDEL_GELB; - case EL_ERZ_EDEL_ROT: return GFX_ERZ_EDEL_ROT; - case EL_ERZ_EDEL_LILA: return GFX_ERZ_EDEL_LILA; - case EL_MAMPFER2: return GFX_MAMPFER2; + case EL_EMERALD_BD: return GFX_EDELSTEIN_BD; + case EL_EMERALD_YELLOW: return GFX_EDELSTEIN_GELB; + case EL_EMERALD_RED: return GFX_EDELSTEIN_ROT; + case EL_EMERALD_PURPLE: return GFX_EDELSTEIN_LILA; + case EL_WALL_BD_DIAMOND: return GFX_ERZ_EDEL_BD; + case EL_WALL_EDEL_YELLOW: return GFX_ERZ_EDEL_GELB; + case EL_WALL_EDEL_RED: return GFX_ERZ_EDEL_ROT; + case EL_WALL_EDEL_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; @@ -3154,14 +3154,14 @@ int el2gfx_OLD(int element) /* ^^^^^^^^^^ non-standard position in supaplex graphic set! */ case EL_INVISIBLE_STEEL: return GFX_INVISIBLE_STEEL; case EL_BLACK_ORB: return GFX_BLACK_ORB; - case EL_EM_GATE_1: return GFX_EM_GATE_1; - case EL_EM_GATE_2: return GFX_EM_GATE_2; - case EL_EM_GATE_3: return GFX_EM_GATE_3; - case EL_EM_GATE_4: return GFX_EM_GATE_4; - case EL_EM_GATE_1X: return GFX_EM_GATE_1X; - case EL_EM_GATE_2X: return GFX_EM_GATE_2X; - case EL_EM_GATE_3X: return GFX_EM_GATE_3X; - case EL_EM_GATE_4X: return GFX_EM_GATE_4X; + case EL_EM_GATE1: return GFX_EM_GATE_1; + case EL_EM_GATE2: return GFX_EM_GATE_2; + case EL_EM_GATE3: return GFX_EM_GATE_3; + case EL_EM_GATE4: return GFX_EM_GATE_4; + case EL_EM_GATE1_GRAY: return GFX_EM_GATE_1X; + case EL_EM_GATE2_GRAY: return GFX_EM_GATE_2X; + case EL_EM_GATE3_GRAY: return GFX_EM_GATE_3X; + case EL_EM_GATE4_GRAY: return GFX_EM_GATE_4X; case EL_EM_KEY_1_FILE: return GFX_EM_KEY_1; case EL_EM_KEY_2_FILE: return GFX_EM_KEY_2; case EL_EM_KEY_3_FILE: return GFX_EM_KEY_3; -- 2.34.1