X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=4dab81954d6e630fb6686dba0294531ad7efe0dc;hb=9fa601d400aa71f38fcdc19eaf107f42e0d2a2a3;hp=ff600579fd8150761456211a422276cb30120137;hpb=dd923608f42e41f8d77c5190e5ab613bbc7b6d21;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index ff600579..4dab8195 100644 --- a/src/files.c +++ b/src/files.c @@ -7892,41 +7892,42 @@ void SaveScore(int nr) #define SETUP_TOKEN_TOONS 5 #define SETUP_TOKEN_SCROLL_DELAY 6 #define SETUP_TOKEN_SCROLL_DELAY_VALUE 7 -#define SETUP_TOKEN_SOFT_SCROLLING 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_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_GRAPHICS_SET 29 -#define SETUP_TOKEN_SOUNDS_SET 30 -#define SETUP_TOKEN_MUSIC_SET 31 -#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS 32 -#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS 33 -#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC 34 -#define SETUP_TOKEN_VOLUME_SIMPLE 35 -#define SETUP_TOKEN_VOLUME_LOOPS 36 -#define SETUP_TOKEN_VOLUME_MUSIC 37 -#define SETUP_TOKEN_TOUCH_CONTROL_TYPE 38 -#define SETUP_TOKEN_TOUCH_MOVE_DISTANCE 39 -#define SETUP_TOKEN_TOUCH_DROP_DISTANCE 40 - -#define NUM_GLOBAL_SETUP_TOKENS 41 +#define SETUP_TOKEN_ENGINE_SNAPSHOT_MODE 8 +#define SETUP_TOKEN_SOFT_SCROLLING 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_FULLSCREEN_MODE 19 +#define SETUP_TOKEN_WINDOW_SCALING_PERCENT 20 +#define SETUP_TOKEN_WINDOW_SCALING_QUALITY 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_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 /* editor setup */ #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH 0 @@ -8044,6 +8045,7 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_SWITCH, &si.toons, "toons" }, { 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_SWITCH, &si.soft_scrolling, "soft_scrolling" }, { TYPE_SWITCH, &si.fade_screens, "fade_screens" }, { TYPE_SWITCH, &si.autorecord, "automatic_tape_recording"}, @@ -8204,6 +8206,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->toons = TRUE; si->scroll_delay = TRUE; si->scroll_delay_value = STD_SCROLL_DELAY; + si->engine_snapshot_mode = getStringCopy(STR_SNAPSHOT_MODE_DEFAULT); si->soft_scrolling = TRUE; si->fade_screens = TRUE; si->autorecord = TRUE; @@ -8437,7 +8440,6 @@ void LoadSetup() { char *player_name_new; - checkSetupFileHashIdentifier(setup_file_hash, filename,getCookie("SETUP")); decodeSetupFileHash(setup_file_hash); freeSetupFileHash(setup_file_hash); @@ -8474,7 +8476,6 @@ void LoadSetup_EditorCascade() if (setup_file_hash) { - checkSetupFileHashIdentifier(setup_file_hash, filename,getCookie("SETUP")); decodeSetupFileHash_EditorCascade(setup_file_hash); freeSetupFileHash(setup_file_hash); @@ -8497,9 +8498,7 @@ void SaveSetup() return; } - fprintf(file, "%s\n", getFormattedSetupEntry(TOKEN_STR_FILE_IDENTIFIER, - getCookie("SETUP"))); - fprintf(file, "\n"); + fprintFileHeader(file, SETUP_FILENAME); /* global setup */ si = setup; @@ -8572,12 +8571,9 @@ void SaveSetup_EditorCascade() return; } - fprintf(file, "%s\n", getFormattedSetupEntry(TOKEN_STR_FILE_IDENTIFIER, - getCookie("SETUP"))); - fprintf(file, "\n"); + fprintFileHeader(file, EDITORCASCADE_FILENAME); seci = setup.editor_cascade; - fprintf(file, "\n"); for (i = 0; i < NUM_EDITOR_CASCADE_SETUP_TOKENS; i++) fprintf(file, "%s\n", getSetupLine(editor_cascade_setup_tokens, "", i));