X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=97934c17f5dc1d13397c4aab2257310a3993f06a;hb=b3965d5e36b4388795d646d6bca1764429defc88;hp=d1b60e47c704ccbaa6119f38035134a0c16404b9;hpb=064971ae82e2e3f98dc55e75b15c192c9165fb4e;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index d1b60e47..97934c17 100644 --- a/src/files.c +++ b/src/files.c @@ -7900,41 +7900,42 @@ void SaveScore(int nr) #define SETUP_TOKEN_SCROLL_DELAY 6 #define SETUP_TOKEN_SCROLL_DELAY_VALUE 7 #define SETUP_TOKEN_ENGINE_SNAPSHOT_MODE 8 -#define SETUP_TOKEN_FADE_SCREENS 9 -#define SETUP_TOKEN_AUTORECORD 10 -#define SETUP_TOKEN_SHOW_TITLESCREEN 11 -#define SETUP_TOKEN_QUICK_DOORS 12 -#define SETUP_TOKEN_TEAM_MODE 13 -#define SETUP_TOKEN_HANDICAP 14 -#define SETUP_TOKEN_SKIP_LEVELS 15 -#define SETUP_TOKEN_TIME_LIMIT 16 -#define SETUP_TOKEN_FULLSCREEN 17 -#define SETUP_TOKEN_FULLSCREEN_MODE 18 +#define SETUP_TOKEN_ENGINE_SNAPSHOT_MEMORY 9 +#define SETUP_TOKEN_FADE_SCREENS 10 +#define SETUP_TOKEN_AUTORECORD 11 +#define SETUP_TOKEN_SHOW_TITLESCREEN 12 +#define SETUP_TOKEN_QUICK_DOORS 13 +#define SETUP_TOKEN_TEAM_MODE 14 +#define SETUP_TOKEN_HANDICAP 15 +#define SETUP_TOKEN_SKIP_LEVELS 16 +#define SETUP_TOKEN_TIME_LIMIT 17 +#define SETUP_TOKEN_FULLSCREEN 18 #define SETUP_TOKEN_WINDOW_SCALING_PERCENT 19 #define SETUP_TOKEN_WINDOW_SCALING_QUALITY 20 -#define SETUP_TOKEN_ASK_ON_ESCAPE 21 -#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR 22 -#define SETUP_TOKEN_QUICK_SWITCH 23 -#define SETUP_TOKEN_INPUT_ON_FOCUS 24 -#define SETUP_TOKEN_PREFER_AGA_GRAPHICS 25 -#define SETUP_TOKEN_GAME_FRAME_DELAY 26 -#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS 27 -#define SETUP_TOKEN_SMALL_GAME_GRAPHICS 28 -#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS 29 -#define SETUP_TOKEN_GRAPHICS_SET 30 -#define SETUP_TOKEN_SOUNDS_SET 31 -#define SETUP_TOKEN_MUSIC_SET 32 -#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS 33 -#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS 34 -#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC 35 -#define SETUP_TOKEN_VOLUME_SIMPLE 36 -#define SETUP_TOKEN_VOLUME_LOOPS 37 -#define SETUP_TOKEN_VOLUME_MUSIC 38 -#define SETUP_TOKEN_TOUCH_CONTROL_TYPE 39 -#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE 40 -#define SETUP_TOKEN_TOUCH_DROP_DISTANCE 41 - -#define NUM_GLOBAL_SETUP_TOKENS 42 +#define SETUP_TOKEN_SCREEN_RENDERING_MODE 21 +#define SETUP_TOKEN_ASK_ON_ESCAPE 22 +#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR 23 +#define SETUP_TOKEN_QUICK_SWITCH 24 +#define SETUP_TOKEN_INPUT_ON_FOCUS 25 +#define SETUP_TOKEN_PREFER_AGA_GRAPHICS 26 +#define SETUP_TOKEN_GAME_FRAME_DELAY 27 +#define SETUP_TOKEN_SP_SHOW_BORDER_ELEMENTS 28 +#define SETUP_TOKEN_SMALL_GAME_GRAPHICS 29 +#define SETUP_TOKEN_SHOW_SNAPSHOT_BUTTONS 30 +#define SETUP_TOKEN_GRAPHICS_SET 31 +#define SETUP_TOKEN_SOUNDS_SET 32 +#define SETUP_TOKEN_MUSIC_SET 33 +#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS 34 +#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS 35 +#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC 36 +#define SETUP_TOKEN_VOLUME_SIMPLE 37 +#define SETUP_TOKEN_VOLUME_LOOPS 38 +#define SETUP_TOKEN_VOLUME_MUSIC 39 +#define SETUP_TOKEN_TOUCH_CONTROL_TYPE 40 +#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE 41 +#define SETUP_TOKEN_TOUCH_DROP_DISTANCE 42 + +#define NUM_GLOBAL_SETUP_TOKENS 43 /* editor setup */ #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH 0 @@ -8044,8 +8045,10 @@ void SaveScore(int nr) #define SETUP_TOKEN_INT_FALLBACK_MUSIC_FILE 12 #define SETUP_TOKEN_INT_DEFAULT_LEVEL_SERIES 13 #define SETUP_TOKEN_INT_CHOOSE_FROM_TOP_LEVELDIR 14 +#define SETUP_TOKEN_INT_DEFAULT_WINDOW_WIDTH 15 +#define SETUP_TOKEN_INT_DEFAULT_WINDOW_HEIGHT 16 -#define NUM_INTERNAL_SETUP_TOKENS 15 +#define NUM_INTERNAL_SETUP_TOKENS 17 /* options setup */ #define SETUP_TOKEN_OPTIONS_VERBOSE 0 @@ -8073,6 +8076,7 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_SWITCH, &si.scroll_delay, "scroll_delay" }, { TYPE_INTEGER,&si.scroll_delay_value, "scroll_delay_value" }, { TYPE_STRING, &si.engine_snapshot_mode, "engine_snapshot_mode" }, + { TYPE_INTEGER,&si.engine_snapshot_memory, "engine_snapshot_memory" }, { TYPE_SWITCH, &si.fade_screens, "fade_screens" }, { TYPE_SWITCH, &si.autorecord, "automatic_tape_recording"}, { TYPE_SWITCH, &si.show_titlescreen, "show_titlescreen" }, @@ -8082,9 +8086,9 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_SWITCH, &si.skip_levels, "skip_levels" }, { TYPE_SWITCH, &si.time_limit, "time_limit" }, { TYPE_SWITCH, &si.fullscreen, "fullscreen" }, - { TYPE_STRING, &si.fullscreen_mode, "fullscreen_mode" }, { TYPE_INTEGER,&si.window_scaling_percent, "window_scaling_percent" }, { TYPE_STRING, &si.window_scaling_quality, "window_scaling_quality" }, + { TYPE_STRING, &si.screen_rendering_mode, "screen_rendering_mode" }, { TYPE_SWITCH, &si.ask_on_escape, "ask_on_escape" }, { TYPE_SWITCH, &si.ask_on_escape_editor, "ask_on_escape_editor" }, { TYPE_SWITCH, &si.quick_switch, "quick_player_switch" }, @@ -8217,6 +8221,8 @@ static struct TokenInfo internal_setup_tokens[] = { TYPE_STRING, &sxi.fallback_music_file, "fallback_music_file" }, { TYPE_STRING, &sxi.default_level_series, "default_level_series" }, { TYPE_BOOLEAN,&sxi.choose_from_top_leveldir, "choose_from_top_leveldir" }, + { TYPE_INTEGER,&sxi.default_window_width, "default_window_width" }, + { TYPE_INTEGER,&sxi.default_window_height, "default_window_height" }, }; static struct TokenInfo options_setup_tokens[] = @@ -8253,6 +8259,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->scroll_delay = TRUE; si->scroll_delay_value = STD_SCROLL_DELAY; si->engine_snapshot_mode = getStringCopy(STR_SNAPSHOT_MODE_DEFAULT); + si->engine_snapshot_memory = SNAPSHOT_MEMORY_DEFAULT; si->fade_screens = TRUE; si->autorecord = TRUE; si->show_titlescreen = TRUE; @@ -8262,9 +8269,9 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->skip_levels = TRUE; si->time_limit = TRUE; si->fullscreen = FALSE; - si->fullscreen_mode = getStringCopy(DEFAULT_FULLSCREEN_MODE); si->window_scaling_percent = STD_WINDOW_SCALING_PERCENT; si->window_scaling_quality = getStringCopy(SCALING_QUALITY_DEFAULT); + si->screen_rendering_mode = getStringCopy(STR_SPECIAL_RENDERING_DEFAULT); si->ask_on_escape = TRUE; si->ask_on_escape_editor = TRUE; si->quick_switch = FALSE; @@ -8379,6 +8386,9 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->internal.default_level_series = getStringCopy(UNDEFINED_LEVELSET); si->internal.choose_from_top_leveldir = FALSE; + si->internal.default_window_width = WIN_XSIZE_DEFAULT; + si->internal.default_window_height = WIN_YSIZE_DEFAULT; + si->options.verbose = FALSE; #if defined(PLATFORM_ANDROID) @@ -8757,6 +8767,39 @@ static void InitMenuDesignSettings_SpecialPreProcessing() /* special case: initialize "ARG_DEFAULT" values in static default config */ /* (e.g., initialize "[titlemessage].fade_mode" from "[title].fade_mode") */ + titlescreen_initial_first_default.fade_mode = + title_initial_first_default.fade_mode; + titlescreen_initial_first_default.fade_delay = + title_initial_first_default.fade_delay; + titlescreen_initial_first_default.post_delay = + title_initial_first_default.post_delay; + titlescreen_initial_first_default.auto_delay = + title_initial_first_default.auto_delay; + titlescreen_first_default.fade_mode = title_first_default.fade_mode; + titlescreen_first_default.fade_delay = title_first_default.fade_delay; + titlescreen_first_default.post_delay = title_first_default.post_delay; + titlescreen_first_default.auto_delay = title_first_default.auto_delay; + titlemessage_initial_first_default.fade_mode = + title_initial_first_default.fade_mode; + titlemessage_initial_first_default.fade_delay = + title_initial_first_default.fade_delay; + titlemessage_initial_first_default.post_delay = + title_initial_first_default.post_delay; + titlemessage_initial_first_default.auto_delay = + title_initial_first_default.auto_delay; + titlemessage_first_default.fade_mode = title_first_default.fade_mode; + titlemessage_first_default.fade_delay = title_first_default.fade_delay; + titlemessage_first_default.post_delay = title_first_default.post_delay; + titlemessage_first_default.auto_delay = title_first_default.auto_delay; + + titlescreen_initial_default.fade_mode = title_initial_default.fade_mode; + titlescreen_initial_default.fade_delay = title_initial_default.fade_delay; + titlescreen_initial_default.post_delay = title_initial_default.post_delay; + titlescreen_initial_default.auto_delay = title_initial_default.auto_delay; + titlescreen_default.fade_mode = title_default.fade_mode; + titlescreen_default.fade_delay = title_default.fade_delay; + titlescreen_default.post_delay = title_default.post_delay; + titlescreen_default.auto_delay = title_default.auto_delay; 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; @@ -8770,6 +8813,13 @@ static void InitMenuDesignSettings_SpecialPreProcessing() /* (e.g., init "titlemessage_1.fade_mode" from "[titlemessage].fade_mode") */ for (i = 0; i < MAX_NUM_TITLE_MESSAGES; i++) { + titlescreen_initial_first[i] = titlescreen_initial_first_default; + titlescreen_first[i] = titlescreen_first_default; + titlemessage_initial_first[i] = titlemessage_initial_first_default; + titlemessage_first[i] = titlemessage_first_default; + + titlescreen_initial[i] = titlescreen_initial_default; + titlescreen[i] = titlescreen_default; titlemessage_initial[i] = titlemessage_initial_default; titlemessage[i] = titlemessage_default; } @@ -8877,6 +8927,10 @@ static void LoadMenuDesignSettingsFromFilename(char *filename) } title_info[] = { + /* initialize first titles from "enter screen" definitions, if defined */ + { &title_initial_first_default, "menu.enter_screen.TITLE" }, + { &title_first_default, "menu.enter_screen.TITLE" }, + /* initialize title screens from "next screen" definitions, if defined */ { &title_initial_default, "menu.next_screen.TITLE" }, { &title_default, "menu.next_screen.TITLE" }, @@ -8890,15 +8944,37 @@ static void LoadMenuDesignSettingsFromFilename(char *filename) } titlemessage_arrays[] = { - /* initialize title messages from "next screen" definitions, if defined */ + /* initialize first titles from "enter screen" definitions, if defined */ + { titlescreen_initial_first, "menu.enter_screen.TITLE" }, + { titlescreen_first, "menu.enter_screen.TITLE" }, + { titlemessage_initial_first, "menu.enter_screen.TITLE" }, + { titlemessage_first, "menu.enter_screen.TITLE" }, + + /* initialize titles from "next screen" definitions, if defined */ + { titlescreen_initial, "menu.next_screen.TITLE" }, + { titlescreen, "menu.next_screen.TITLE" }, { titlemessage_initial, "menu.next_screen.TITLE" }, { titlemessage, "menu.next_screen.TITLE" }, - /* overwrite title messages with title definitions, if defined */ + /* overwrite titles with title definitions, if defined */ + { titlescreen_initial_first, "[title_initial]" }, + { titlescreen_first, "[title]" }, + { titlemessage_initial_first, "[title_initial]" }, + { titlemessage_first, "[title]" }, + + { titlescreen_initial, "[title_initial]" }, + { titlescreen, "[title]" }, { titlemessage_initial, "[title_initial]" }, { titlemessage, "[title]" }, - /* overwrite title messages with title message definitions, if defined */ + /* overwrite titles with title screen/message definitions, if defined */ + { titlescreen_initial_first, "[titlescreen_initial]" }, + { titlescreen_first, "[titlescreen]" }, + { titlemessage_initial_first, "[titlemessage_initial]" }, + { titlemessage_first, "[titlemessage]" }, + + { titlescreen_initial, "[titlescreen_initial]" }, + { titlescreen, "[titlescreen]" }, { titlemessage_initial, "[titlemessage_initial]" }, { titlemessage, "[titlemessage]" }, @@ -9112,7 +9188,7 @@ static void LoadMenuDesignSettingsFromFilename(char *filename) tfi = *info; - *(boolean *)title_tokens[j].value = (boolean)parameter_value; + *(int *)title_tokens[j].value = (int)parameter_value; *info = tfi; } @@ -9142,9 +9218,9 @@ static void LoadMenuDesignSettingsFromFilename(char *filename) 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; + else + *(boolean *)titlemessage_tokens[j].value = (boolean)parameter_value; array[k] = tmi; }