X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Fgame_mm%2Fmm_files.c;h=0b88735ec920e8bcac421222359fdc7bf4882ec6;hp=8e6a72bdf761cee3e3ff78b75fd40c95c638765c;hb=b903ee03857c26c3816a37b4c7c858c24250a7ef;hpb=cbb59760b8dc2b89395a41c1dd56f8a3d5ec1478 diff --git a/src/game_mm/mm_files.c b/src/game_mm/mm_files.c index 8e6a72bd..0b88735e 100644 --- a/src/game_mm/mm_files.c +++ b/src/game_mm/mm_files.c @@ -30,6 +30,16 @@ #define SCORE_COOKIE "MIRRORMAGIC_SCORE_FILE_VERSION_1.4" +int default_score[LEVEL_SCORE_ELEMENTS] = +{ + [SC_COLLECTIBLE] = 10, + [SC_PACMAN] = 50, + [SC_KEY] = 10, + [SC_TIME_BONUS] = 1, + [SC_LIGHTBALL] = 10, +}; + + /* ========================================================================= */ /* level file functions */ /* ========================================================================= */ @@ -162,6 +172,12 @@ static int LoadLevel_MM_HEAD(File *file, int chunk_size, for (i = 0; i < LEVEL_SCORE_ELEMENTS; i++) level->score[i] = getFile8Bit(file); + // scores were 0 and hardcoded in game engine in level files up to 2.0.x + if (level->file_version <= MM_FILE_VERSION_2_0) + for (i = 0; i < LEVEL_SCORE_ELEMENTS; i++) + if (level->score[i] == 0) + level->score[i] = default_score[i]; + level->auto_count_kettles = (getFile8Bit(file) == 1 ? TRUE : FALSE); level->amoeba_speed = getFile8Bit(file); level->time_fuse = getFile8Bit(file);