X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ffiles.c;h=daff33b98c5690bc22ff5a2fadb1b3bf100ffbea;hb=5c94351c5b8a12d8615b447b6275dd2f68615be4;hp=51cc63176394c365514aa12b554446e0bacbc7e4;hpb=c6b89ec21b03182c40ae2eda40d861c09f179daf;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 51cc6317..daff33b9 100644 --- a/src/files.c +++ b/src/files.c @@ -8339,6 +8339,10 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename) { TYPE_BOOLEAN, &tmi.centered, ".centered" }, { TYPE_BOOLEAN, &tmi.parse_comments, ".parse_comments" }, { TYPE_INTEGER, &tmi.sort_priority, ".sort_priority" }, + { TYPE_INTEGER, &tmi.fade_mode, ".fade_mode" }, + { TYPE_INTEGER, &tmi.fade_delay, ".fade_delay" }, + { TYPE_INTEGER, &tmi.post_delay, ".post_delay" }, + { TYPE_INTEGER, &tmi.auto_delay, ".auto_delay" }, { -1, NULL, NULL } }; @@ -8364,7 +8368,10 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename) if ((setup_file_hash = loadSetupFileHash(filename)) == NULL) return; + /* the following initializes hierarchical values from dynamic configuration */ + /* special case: initialize with default values that may be overwritten */ + /* (e.g., init "menu.draw_xoffset.INFO" from "menu.draw_xoffset") */ for (i = 0; i < NUM_SPECIAL_GFX_ARGS; i++) { char *value_1 = getHashEntry(setup_file_hash, "menu.draw_xoffset"); @@ -8380,6 +8387,7 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename) } /* special case: initialize with default values that may be overwritten */ + /* (eg, init "menu.draw_xoffset.INFO[MUSIC]" from "menu.draw_xoffset.INFO") */ for (i = 0; i < NUM_SPECIAL_GFX_INFO_ARGS; i++) { char *value_1 = getHashEntry(setup_file_hash, "menu.draw_xoffset.INFO"); @@ -8392,6 +8400,7 @@ static void LoadSpecialMenuDesignSettingsFromFilename(char *filename) } /* special case: initialize with default values that may be overwritten */ + /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */ for (i = 0; titlemessage_arrays[i].array != NULL; i++) { struct TitleMessageInfo *array = titlemessage_arrays[i].array; @@ -8441,7 +8450,7 @@ void LoadSpecialMenuDesignSettings() char *filename_base = UNDEFINED_FILENAME, *filename_local; int i, j; - /* always start with reliable default values from default config */ + /* always start with reliable default values from static default config */ for (i = 0; image_config_vars[i].token != NULL; i++) for (j = 0; image_config[j].token != NULL; j++) if (strEqual(image_config_vars[i].token, image_config[j].token)) @@ -8449,6 +8458,27 @@ void LoadSpecialMenuDesignSettings() get_token_parameter_value(image_config_vars[i].token, image_config[j].value); + /* the following initializes hierarchical values from static configuration */ + + /* special case: initialize "ARG_DEFAULT" values in static default config */ + /* (e.g., initialize "[titlemessage].fade_mode" from "[title].fade_mode") */ + titlemessage_initial_default.fade_mode = title_initial_default.fade_mode; + titlemessage_initial_default.fade_delay = title_initial_default.fade_delay; + titlemessage_initial_default.post_delay = title_initial_default.post_delay; + titlemessage_initial_default.auto_delay = title_initial_default.auto_delay; + titlemessage_default.fade_mode = title_default.fade_mode; + titlemessage_default.fade_delay = title_default.fade_delay; + titlemessage_default.post_delay = title_default.post_delay; + titlemessage_default.auto_delay = title_default.auto_delay; + + /* special case: initialize "ARG_DEFAULT" values in static default config */ + /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */ + for (i = 0; i < MAX_NUM_TITLE_MESSAGES; i++) + { + titlemessage_initial[i] = titlemessage_initial_default; + titlemessage[i] = titlemessage_default; + } + if (!SETUP_OVERRIDE_ARTWORK(setup, ARTWORK_TYPE_GRAPHICS)) { /* first look for special settings configured in level series config */