removed workaround for playing some older tapes for MM engine
authorHolger Schemel <info@artsoft.org>
Sat, 28 Jan 2023 10:27:01 +0000 (11:27 +0100)
committerHolger Schemel <info@artsoft.org>
Sat, 28 Jan 2023 10:27:01 +0000 (11:27 +0100)
This removes a workaround that added compatibility code for replaying
old tapes which used the game engine's random number generator for
drawing game elements, which generally should not happen.

This affects the tapes for levels 033 and 048 of "classic_mindbender",
which have been re-recorded with the above change.

This change reverts commit 8b514628.

src/game_mm/export.h
src/game_mm/mm_game.c
src/game_mm/mm_tools.c

index 2af2b0ea0536e9efef7f72f780981d320076fcfd..b628a8d04c3b16ae3cee8b7479bd175abacaf173 100644 (file)
@@ -143,8 +143,6 @@ struct GameInfo_MM
   int ball_choice_pos;         // current content element choice position
   boolean laser_red, laser_green, laser_blue;
 
-  boolean lightball_rnd;
-
   boolean level_solved;
   boolean game_over;
   int game_over_cause;
index 20e27068ffa641502bc60d230642c3fe62f10563..bd03e337df1fe28f13310de7ea5ec82aa251c765 100644 (file)
@@ -644,8 +644,6 @@ void InitGameEngine_MM(void)
   game_mm.laser_green = FALSE;
   game_mm.laser_blue = TRUE;
 
-  game_mm.lightball_rnd = TRUE;
-
   game_mm.level_solved = FALSE;
   game_mm.game_over = FALSE;
   game_mm.game_over_cause = 0;
@@ -716,8 +714,6 @@ void InitGameActions_MM(void)
 
   InitLaser();
 
-  game_mm.lightball_rnd = FALSE;
-
   for (i = 0; i <= num_init_game_frames; i++)
   {
     if (i == num_init_game_frames)
@@ -753,8 +749,6 @@ void InitGameActions_MM(void)
 #endif
   }
 
-  game_mm.lightball_rnd = TRUE;
-
   ScanLaser();
 
   if (game_mm.kettles_still_needed == 0)
index 44fb257c855cea163f2f250e47083d2a9df7a653..d8dbe8becaa5270253801ca4a406f0255f8d1aa3 100644 (file)
@@ -398,11 +398,6 @@ void DrawField_MM(int x, int y)
   int element = Tile[x][y];
 
   DrawElement_MM(x, y, element);
-
-  // old game versions randomly changed colors of bonus light balls
-  if (game.engine_version < VERSION_IDENT(4,3,3,0) &&
-      element == EL_LIGHTBALL && game_mm.lightball_rnd)
-    RND(3);
 }
 
 void DrawLevel_MM(void)