X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=a2efae2a1874ceacf48a4210c472ebcbe193e867;hb=bd4bc1bc76940bd91ecfbf7d01790c0433ab19e2;hp=7902221e0c9d4e3513cb9587826c989fff307092;hpb=25df48564c041446cea7967bc6079d0243b3c20a;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 7902221e..a2efae2a 100644 --- a/src/files.c +++ b/src/files.c @@ -8650,6 +8650,13 @@ static void setScoreInfoToDefaultsExt(struct ScoreInfo *scores) strcpy(scores->entry[i].name, EMPTY_PLAYER_NAME); scores->entry[i].score = 0; scores->entry[i].time = 0; + + scores->entry[i].id = -1; + strcpy(scores->entry[i].tape_date, UNKNOWN_NAME); + strcpy(scores->entry[i].platform, UNKNOWN_NAME); + strcpy(scores->entry[i].version, UNKNOWN_NAME); + strcpy(scores->entry[i].country_name, UNKNOWN_NAME); + strcpy(scores->entry[i].country_code, "??"); } scores->num_entries = 0; @@ -12243,14 +12250,18 @@ static int get_token_parameter_value(char *token, char *value_raw) return get_parameter_value(value_raw, suffix, TYPE_INTEGER); } -void InitMenuDesignSettings_Static(void) +void InitMenuDesignSettings_FromHash(SetupFileHash *setup_file_hash, + boolean ignore_defaults) { int i; - // always start with reliable default values from static default config for (i = 0; image_config_vars[i].token != NULL; i++) { - char *value = getHashEntry(image_config_hash, image_config_vars[i].token); + char *value = getHashEntry(setup_file_hash, image_config_vars[i].token); + + // (ignore definitions set to "[DEFAULT]" which are already initialized) + if (ignore_defaults && strEqual(value, ARG_DEFAULT)) + continue; if (value != NULL) *image_config_vars[i].value = @@ -12258,6 +12269,12 @@ void InitMenuDesignSettings_Static(void) } } +void InitMenuDesignSettings_Static(void) +{ + // always start with reliable default values from static default config + InitMenuDesignSettings_FromHash(image_config_hash, FALSE); +} + static void InitMenuDesignSettings_SpecialPreProcessing(void) { int i; @@ -13056,15 +13073,7 @@ static void LoadMenuDesignSettingsFromFilename(char *filename) *menu_config_players[i].value = TRUE; // read (and overwrite with) values that may be specified in config file - for (i = 0; image_config_vars[i].token != NULL; i++) - { - char *value = getHashEntry(setup_file_hash, image_config_vars[i].token); - - // (ignore definitions set to "[DEFAULT]" which are already initialized) - if (value != NULL && !strEqual(value, ARG_DEFAULT)) - *image_config_vars[i].value = - get_token_parameter_value(image_config_vars[i].token, value); - } + InitMenuDesignSettings_FromHash(setup_file_hash, TRUE); freeSetupFileHash(setup_file_hash); }