projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed handling of pushed objects in EM engine for old tapes
[rocksndiamonds.git]
/
src
/
game.c
diff --git
a/src/game.c
b/src/game.c
index d67a91a0b8c743ba46cbb55d245067f314897fa4..adfeb9f4466871ba7e437b54b5fa22435852fa80 100644
(file)
--- a/
src/game.c
+++ b/
src/game.c
@@
-1877,6
+1877,8
@@
static void InitField(int x, int y, boolean init_game)
case EL_MOLE_RIGHT:
case EL_MOLE_UP:
case EL_MOLE_DOWN:
case EL_MOLE_RIGHT:
case EL_MOLE_UP:
case EL_MOLE_DOWN:
+ case EL_SPRING_LEFT:
+ case EL_SPRING_RIGHT:
InitMovDir(x, y);
break;
InitMovDir(x, y);
break;
@@
-2991,6
+2993,15
@@
static void InitGameEngine(void)
game_em.use_old_explosions =
(game.engine_version < VERSION_IDENT(4,1,4,2));
game_em.use_old_explosions =
(game.engine_version < VERSION_IDENT(4,1,4,2));
+ game_em.use_old_android =
+ (game.engine_version < VERSION_IDENT(4,1,4,2));
+
+ game_em.use_old_push_elements =
+ (game.engine_version < VERSION_IDENT(4,1,4,2));
+
+ game_em.use_wrap_around =
+ (game.engine_version > VERSION_IDENT(4,1,4,1));
+
// --------------------------------------------------------------------------
// set maximal allowed number of custom element changes per game frame
// --------------------------------------------------------------------------
// set maximal allowed number of custom element changes per game frame
@@
-4486,6
+4497,12
@@
void InitMovDir(int x, int y)
MovDir[x][y] = direction[2][element - EL_MOLE_LEFT];
break;
MovDir[x][y] = direction[2][element - EL_MOLE_LEFT];
break;
+ case EL_SPRING_LEFT:
+ case EL_SPRING_RIGHT:
+ Feld[x][y] = EL_SPRING;
+ MovDir[x][y] = direction[2][element - EL_SPRING_LEFT];
+ break;
+
default:
if (IS_CUSTOM_ELEMENT(element))
{
default:
if (IS_CUSTOM_ELEMENT(element))
{