From: Holger Schemel Date: Sat, 23 Oct 1999 23:38:13 +0000 (+0200) Subject: rnd-19991024-1-src X-Git-Tag: 1.4.0^2~2 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=40864847307c459d5998dfd639e7a014890d72fa rnd-19991024-1-src --- diff --git a/CHANGES b/CHANGES index b5c47ee1..bb830209 100644 --- a/CHANGES +++ b/CHANGES @@ -1,10 +1,12 @@ Release Version 1.3.5 [?? SEP 1999] ----------------------------------- + - new Boulderdash elements for better game emulation - new cool medium-sized crystal font - new elements and graphics for Diamond Caves II levels - new elements and graphics for Emerald Mine Club levels - brushed-up (higher resolution) graphics for Supaplex elements + - special oversized Supaplex levels included - new elements for more authentic Emerald Mine elements (doors) - more level editor enhancements: element list scrollbar and level number selection within editor diff --git a/src/game.c b/src/game.c index 93c23dc2..14e6445d 100644 --- a/src/game.c +++ b/src/game.c @@ -229,8 +229,17 @@ static void InitField(int x, int y, boolean init_game) { switch (Feld[x][y]) { - case EL_SPIELFIGUR: case EL_SP_MURPHY: + if (init_game) + { + if (stored_player[0].present) + { + Feld[x][y] = EL_SP_MURPHY_CLONE; + break; + } + } + /* no break! */ + case EL_SPIELFIGUR: if (init_game) Feld[x][y] = EL_SPIELER1; /* no break! */ diff --git a/src/init.c b/src/init.c index 7f5a4aea..78a587f5 100644 --- a/src/init.c +++ b/src/init.c @@ -1707,7 +1707,9 @@ void InitElementProperties() EL_SP_CHIP_UPPER, EL_SP_CHIP_LOWER, /* additional elements that appeared in newer Supaplex levels */ - EL_UNSICHTBAR + EL_UNSICHTBAR, + /* more than one murphy in a level results in an inactive clone */ + EL_SP_MURPHY_CLONE }; static int ep_sp_element_num = sizeof(ep_sp_element)/sizeof(int); diff --git a/src/main.h b/src/main.h index 3753f1a8..b3783268 100644 --- a/src/main.h +++ b/src/main.h @@ -1013,6 +1013,7 @@ extern char *element_info[]; #define EL_PEARL_BREAKING 521 #define EL_TRAP_ACTIVE 522 #define EL_SPRING_MOVING 523 +#define EL_SP_MURPHY_CLONE 524 /* "unreal" (and therefore not drawable) runtime elements */ #define EL_BLOCKED 600 @@ -1377,6 +1378,8 @@ extern char *element_info[]; #define GFX2_SP_TERMINAL (GFX_START_ROCKSSP + 11 * SP_PER_LINE + 8) #define GFX2_SP_TERMINAL_ACTIVE (GFX_START_ROCKSSP + 12 * SP_PER_LINE + 8) +#define GFX_SP_MURPHY_CLONE (GFX_START_ROCKSSP + 0 * SP_PER_LINE + 3) + /* graphics from "RocksDC" */ #define GFX_BELT1_MIDDLE (GFX_START_ROCKSDC + 0 * DC_PER_LINE + 0) #define GFX_BELT1_LEFT (GFX_START_ROCKSDC + 1 * DC_PER_LINE + 0) diff --git a/src/tools.c b/src/tools.c index e77bf124..775bc0dc 100644 --- a/src/tools.c +++ b/src/tools.c @@ -2666,6 +2666,7 @@ int el2gfx(int element) case EL_BD_WALL: return GFX_BD_WALL; case EL_BD_ROCK: return GFX_BD_ROCK; case EL_DX_SUPABOMB: return GFX_DX_SUPABOMB; + case EL_SP_MURPHY_CLONE: return GFX_SP_MURPHY_CLONE; default: {