+ if (value_1 != NULL)
+ menu.draw_xoffset_info[i] = get_integer_from_string(value_1);
+ if (value_2 != NULL)
+ menu.draw_yoffset_info[i] = get_integer_from_string(value_2);
+ }
+
+ /* special case: initialize with default values that may be overwritten */
+ /* (eg, init "menu.enter_screen.SCORES.xyz" from "menu.enter_screen.xyz") */
+ for (i = 0; i < NUM_SPECIAL_GFX_ARGS; i++)
+ {
+ char *token_1 = "menu.enter_screen.fade_mode";
+ char *token_2 = "menu.enter_screen.fade_delay";
+ char *token_3 = "menu.enter_screen.post_delay";
+ char *token_4 = "menu.leave_screen.fade_mode";
+ char *token_5 = "menu.leave_screen.fade_delay";
+ char *token_6 = "menu.leave_screen.post_delay";
+ char *value_1 = getHashEntry(setup_file_hash, token_1);
+ char *value_2 = getHashEntry(setup_file_hash, token_2);
+ char *value_3 = getHashEntry(setup_file_hash, token_3);
+ char *value_4 = getHashEntry(setup_file_hash, token_4);
+ char *value_5 = getHashEntry(setup_file_hash, token_5);
+ char *value_6 = getHashEntry(setup_file_hash, token_6);
+
+ if (value_1 != NULL)
+ menu.enter_screen[i].fade_mode = get_token_parameter_value(token_1,
+ value_1);
+ if (value_2 != NULL)
+ menu.enter_screen[i].fade_delay = get_token_parameter_value(token_2,
+ value_2);
+ if (value_3 != NULL)
+ menu.enter_screen[i].post_delay = get_token_parameter_value(token_3,
+ value_3);
+ if (value_4 != NULL)
+ menu.leave_screen[i].fade_mode = get_token_parameter_value(token_4,
+ value_4);
+ if (value_5 != NULL)
+ menu.leave_screen[i].fade_delay = get_token_parameter_value(token_5,
+ value_5);
+ if (value_6 != NULL)
+ menu.leave_screen[i].post_delay = get_token_parameter_value(token_6,
+ value_6);
+ }
+
+ /* 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;
+ char *base_token = titlemessage_arrays[i].text;
+
+ for (j = 0; titlemessage_tokens[j].type != -1; j++)
+ {
+ char *token = getStringCat2(base_token, titlemessage_tokens[j].text);
+ char *value = getHashEntry(setup_file_hash, token);
+
+ if (value != NULL)
+ {
+ int parameter_value = get_token_parameter_value(token, value);
+
+ for (k = 0; k < MAX_NUM_TITLE_MESSAGES; k++)
+ {
+ tmi = array[k];
+
+ if (titlemessage_tokens[j].type == TYPE_INTEGER)
+ *(boolean *)titlemessage_tokens[j].value = (boolean)parameter_value;
+ else
+ *(int *)titlemessage_tokens[j].value = (int)parameter_value;
+
+ array[k] = tmi;
+ }
+ }
+
+ free(token);
+ }