fixed time score for native Emerald Mine and Diamond Caves levels
authorHolger Schemel <info@artsoft.org>
Thu, 7 Jan 2021 11:57:03 +0000 (12:57 +0100)
committerHolger Schemel <info@artsoft.org>
Thu, 7 Jan 2021 11:57:03 +0000 (12:57 +0100)
src/files.c
src/game_em/reademc.c

index bd4c0cc614a6b39d95708040a945d7fee66003bc..49ed450ee1a8da045e2ba4be474aaa7c9f5da455 100644 (file)
@@ -3722,6 +3722,9 @@ static void CopyNativeLevel_EM_to_RND(struct LevelInfo *level)
     if (jx != -1 && jy != -1)
       level->field[jx][jy] = EL_PLAYER_1 + nr;
   }
     if (jx != -1 && jy != -1)
       level->field[jx][jy] = EL_PLAYER_1 + nr;
   }
+
+  // time score is counted for each 10 seconds left in Emerald Mine levels
+  level->time_score_base = 10;
 }
 
 
 }
 
 
@@ -5739,6 +5742,9 @@ static void LoadLevelFromFileStream_DC(File *file, struct LevelInfo *level,
   // Diamond Caves has the same (strange) behaviour as Emerald Mine that gems
   // can slip down from flat walls, like normal walls and steel walls
   level->em_slippery_gems = TRUE;
   // Diamond Caves has the same (strange) behaviour as Emerald Mine that gems
   // can slip down from flat walls, like normal walls and steel walls
   level->em_slippery_gems = TRUE;
+
+  // time score is counted for each 10 seconds left in Diamond Caves levels
+  level->time_score_base = 10;
 }
 
 static void LoadLevelFromFileInfo_DC(struct LevelInfo *level,
 }
 
 static void LoadLevelFromFileInfo_DC(struct LevelInfo *level,
@@ -6262,7 +6268,7 @@ static void LoadLevel_InitVersion(struct LevelInfo *level)
   if (level->game_version < VERSION_IDENT(3,2,0,5))
   {
     // time bonus score was given for 10 s instead of 1 s before 3.2.0-5
   if (level->game_version < VERSION_IDENT(3,2,0,5))
   {
     // time bonus score was given for 10 s instead of 1 s before 3.2.0-5
-    level->score[SC_TIME_BONUS] /= 10;
+    level->time_score_base = 10;
   }
 
   if (leveldir_current->latest_engine)
   }
 
   if (leveldir_current->latest_engine)
index dae246c94555350b5b926fae0fa4efc182985d4c..dfa293a6ebe1eeee4d905142e7af8a0618bb9db0 100644 (file)
@@ -312,7 +312,7 @@ void convert_em_level(unsigned char *src, int file_version)
   cav.nut_score                = src[2090];
   cav.dynamite_score   = src[2091];
   cav.key_score                = src[2092];
   cav.nut_score                = src[2090];
   cav.dynamite_score   = src[2091];
   cav.key_score                = src[2092];
-  cav.exit_score       = src[2093] * 8 / 5;
+  cav.exit_score       = src[2093];
 
   cav.lenses_score     = src[2151];
   cav.magnify_score    = src[2152];
 
   cav.lenses_score     = src[2151];
   cav.magnify_score    = src[2152];