fixed version number references for changes since version 4.2.0.0
authorHolger Schemel <info@artsoft.org>
Tue, 8 Sep 2020 17:55:47 +0000 (19:55 +0200)
committerHolger Schemel <info@artsoft.org>
Tue, 8 Sep 2020 17:56:19 +0000 (19:56 +0200)
Fixed some version number references to version 4.1.4.2 that was never
released as packages, but only via Git repository and that was nearly
identical to version 4.1.4.1. Especially it contained the same version
of the Emerald Mine game engine as version 4.1.4.1, so tapes recorded
with version 4.1.4.2 must be played with the old EM engine.

Starting with version 4.2.0.0, the new EM engine will be used.

src/game.c
src/main.h

index 803eebb327f93d0ca0f6cc636a4f388025ceafbb..3544dcf7be975d6724bca3a9999dd46455f1751d 100644 (file)
@@ -2867,12 +2867,12 @@ static void InitGameEngine(void)
     2.0.1
 
     Bug was fixed in version:
-    4.1.4.2
+    4.2.0.0
 
     Description:
     In version 2.0.1, a new run-time element "EL_AMOEBA_DROPPING" was added,
     but the property "can fall" was missing, which caused some levels to be
-    unsolvable. This was fixed in version 4.1.4.2.
+    unsolvable. This was fixed in version 4.2.0.0.
 
     Affected levels/tapes:
     An example for a tape that was fixed by this bugfix is tape 029 from the
@@ -2884,10 +2884,10 @@ static void InitGameEngine(void)
 
   boolean use_amoeba_dropping_cannot_fall_bug =
     ((game.engine_version >= VERSION_IDENT(2,0,1,0) &&
-      game.engine_version <= VERSION_IDENT(4,1,4,1)) ||
+      game.engine_version <  VERSION_IDENT(4,2,0,0)) ||
      (tape.playing &&
       tape.game_version >= VERSION_IDENT(2,0,1,0) &&
-      tape.game_version <= VERSION_IDENT(4,1,4,1)));
+      tape.game_version <  VERSION_IDENT(4,2,0,0)));
 
   /*
     Summary of bugfix/change:
@@ -2908,7 +2908,7 @@ static void InitGameEngine(void)
     The second condition is an exception from the above case and is needed for
     the special case of tapes recorded with game (not engine!) version 2.0.1 or
     above, but before it was known that this change would break tapes like the
-    above and was fixed in 4.1.4.2, so that the changed behaviour was active
+    above and was fixed in 4.2.0.0, so that the changed behaviour was active
     although the engine version while recording maybe was before 2.0.1. There
     are a lot of tapes that are affected by this exception, like tape 006 from
     the level set "rnd_conor_mancone".
@@ -2918,7 +2918,7 @@ static void InitGameEngine(void)
     (game.engine_version < VERSION_IDENT(2,0,1,0) &&
      !(tape.playing &&
        tape.game_version >= VERSION_IDENT(2,0,1,0) &&
-       tape.game_version <  VERSION_IDENT(4,1,4,2)));
+       tape.game_version <  VERSION_IDENT(4,2,0,0)));
 
   /*
     Summary of bugfix/change:
@@ -2990,20 +2990,14 @@ static void InitGameEngine(void)
   game_em.use_snap_key_bug =
     (game.engine_version < VERSION_IDENT(4,0,1,0));
 
-  game_em.use_old_explosions =
-    (game.engine_version < VERSION_IDENT(4,1,4,2));
+  boolean use_old_em_engine = (game.engine_version < VERSION_IDENT(4,2,0,0));
 
-  game_em.use_old_android =
-    (game.engine_version < VERSION_IDENT(4,1,4,2));
+  game_em.use_old_explosions           = use_old_em_engine;
+  game_em.use_old_android              = use_old_em_engine;
+  game_em.use_old_push_elements                = use_old_em_engine;
+  game_em.use_old_push_into_acid       = use_old_em_engine;
 
-  game_em.use_old_push_elements =
-    (game.engine_version < VERSION_IDENT(4,1,4,2));
-
-  game_em.use_old_push_into_acid =
-    (game.engine_version < VERSION_IDENT(4,1,4,2));
-
-  game_em.use_wrap_around =
-    (game.engine_version > VERSION_IDENT(4,1,4,1));
+  game_em.use_wrap_around              = !use_old_em_engine;
 
   // --------------------------------------------------------------------------
 
@@ -3018,7 +3012,7 @@ static void InitGameEngine(void)
 
   // ---------- initialize special element properties -------------------------
 
-  // "EL_AMOEBA_DROPPING" missed property "can fall" between 2.0.1 and 4.1.4.1
+  // "EL_AMOEBA_DROPPING" missed property "can fall" in older game versions
   if (use_amoeba_dropping_cannot_fall_bug)
     SET_PROPERTY(EL_AMOEBA_DROPPING, EP_CAN_FALL, FALSE);
 
index 029f17434cdc6d4882c4c63c922b832eeb8c776f..2faf1e825d185780bfd96970914efd68ce105ae7 100644 (file)
 #define MAX_ELEMENTS_IN_GROUP  16
 #define MIN_ANDROID_ELEMENTS   1
 #define MAX_ANDROID_ELEMENTS   32
-#define MAX_ANDROID_ELEMENTS_OLD 16    // (extended after version 4.1.4.1)
+#define MAX_ANDROID_ELEMENTS_OLD 16    // (extended since version 4.2.0.0)
 
 // values for elements with content
 #define MIN_ELEMENT_CONTENTS   1