X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=919b7f85533df569af308d0aefebc2646bfd471c;hb=19368085952eb82c094767bf6d356963aaee50a0;hp=6866a4b64ebed84ea96ecebf5e5526fabbd4bd79;hpb=affaf3f773dd4cbd843bc38e3798930427c27d9d;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 6866a4b6..919b7f85 100644 --- a/src/files.c +++ b/src/files.c @@ -8340,6 +8340,13 @@ void LoadScoreTape(char *score_tape_basename, int nr) LoadTapeFromFilename(filename); } +void LoadScoreCacheTape(char *score_tape_basename, int nr) +{ + char *filename = getScoreCacheTapeFilename(score_tape_basename, nr); + + LoadTapeFromFilename(filename); +} + static boolean checkSaveTape_SCRN(struct TapeInfo *tape) { // chunk required for team mode tapes with non-default screen size @@ -8686,7 +8693,7 @@ static void setScoreInfoToDefaultsExt(struct ScoreInfo *scores) // The following values are intentionally not reset here: // - last_level_nr // - last_entry_nr - // - was_just_playing + // - continue_playing } static void setScoreInfoToDefaults(void) @@ -9319,6 +9326,7 @@ void SaveServerScoreFromFile(int nr, boolean tape_saved, void LoadLocalAndServerScore(int nr, boolean download_score) { int last_added_local = scores.last_added_local; + boolean force_last_added = scores.force_last_added; // needed if only showing server scores setScoreInfoToDefaults(); @@ -9338,6 +9346,9 @@ void LoadLocalAndServerScore(int nr, boolean download_score) // merge local scores with scores from server MergeServerScore(); } + + if (force_last_added) + scores.force_last_added = force_last_added; } @@ -10831,6 +10842,12 @@ void LoadSetup_Default(void) // try to load setup values from default setup file filename = getDefaultSetupFilename(); + if (fileExists(filename)) + LoadSetupFromFilename(filename); + + // try to load setup values from platform setup file + filename = getPlatformSetupFilename(); + if (fileExists(filename)) LoadSetupFromFilename(filename);