/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-2000 Artsoft Entertainment *
+* (c) 1995-2001 Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
}
}
+ game.version = (tape.playing ? tape.game_version : level.game_version);
game.emulation = (emulate_bd ? EMU_BOULDERDASH :
emulate_sb ? EMU_SOKOBAN :
emulate_sp ? EMU_SUPAPLEX : EMU_NONE);
+ /* dynamically adjust element properties according to game engine version */
+ {
+ static int ep_slippery[] =
+ {
+ EL_BETON,
+ EL_MAUERWERK,
+ EL_MAUER_LEBT,
+ EL_MAUER_X,
+ EL_MAUER_Y,
+ EL_MAUER_XY
+ };
+ static int ep_slippery_num = sizeof(ep_slippery)/sizeof(int);
+
+ for (i=0; i<ep_slippery_num; i++)
+ {
+ if (game.version >= GAME_VERSION_2_0)
+ Elementeigenschaften1[ep_slippery[i]] |= EP_BIT_SLIPPERY;
+ else
+ Elementeigenschaften1[ep_slippery[i]] &= ~EP_BIT_SLIPPERY;
+ }
+ }
+
if (BorderElement == EL_LEERRAUM)
{
SBX_Left = 0;
Feld[x][y] = EL_AMOEBING;
Store[x][y] = EL_AMOEBE_NASS;
}
+ /* Store[x][y+1] must be zero, because:
+ (EL_MORAST_VOLL -> EL_FELSBROCKEN): Store[x][y+1] == EL_MORAST_LEER
+ */
#if OLD_GAME_BEHAVIOUR
else if (IS_SLIPPERY(Feld[x][y+1]) && !Store[x][y+1])
#else