X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=be1bd3c7fc3395550c1928bd6bed78cf837c3e58;hb=0fa270ea50e806d9af79d08a9bf9386593a4e6cb;hp=daff33b98c5690bc22ff5a2fadb1b3bf100ffbea;hpb=5c94351c5b8a12d8615b447b6275dd2f68615be4;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index daff33b9..be1bd3c7 100644 --- a/src/files.c +++ b/src/files.c @@ -264,6 +264,11 @@ static struct LevelFileConfigInfo chunk_config_ELEM[] = TYPE_BOOLEAN, CONF_VALUE_8_BIT(6), &li.continuous_snapping, TRUE }, + { + EL_PLAYER_1, -1, + TYPE_BOOLEAN, CONF_VALUE_8_BIT(12), + &li.shifted_relocation, FALSE + }, /* (these values are different for each player) */ { @@ -5948,6 +5953,10 @@ static void LoadLevel_InitVersion(struct LevelInfo *level, char *filename) change->target_element == EL_SOKOBAN_FIELD_PLAYER) change->target_element = EL_PLAYER_1; } + + /* not centering level after relocating player was default only in 3.2.3 */ + if (level->game_version == VERSION_IDENT(3,2,3,0)) /* (no pre-releases) */ + level->shifted_relocation = TRUE; } static void LoadLevel_InitElements(struct LevelInfo *level, char *filename) @@ -7675,31 +7684,32 @@ void SaveScore(int nr) #define SETUP_TOKEN_SOUND_SIMPLE 4 #define SETUP_TOKEN_TOONS 5 #define SETUP_TOKEN_SCROLL_DELAY 6 -#define SETUP_TOKEN_SOFT_SCROLLING 7 -#define SETUP_TOKEN_FADE_SCREENS 8 -#define SETUP_TOKEN_AUTORECORD 9 -#define SETUP_TOKEN_SHOW_TITLESCREEN 10 -#define SETUP_TOKEN_QUICK_DOORS 11 -#define SETUP_TOKEN_TEAM_MODE 12 -#define SETUP_TOKEN_HANDICAP 13 -#define SETUP_TOKEN_SKIP_LEVELS 14 -#define SETUP_TOKEN_TIME_LIMIT 15 -#define SETUP_TOKEN_FULLSCREEN 16 -#define SETUP_TOKEN_FULLSCREEN_MODE 17 -#define SETUP_TOKEN_ASK_ON_ESCAPE 18 -#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR 19 -#define SETUP_TOKEN_QUICK_SWITCH 20 -#define SETUP_TOKEN_INPUT_ON_FOCUS 21 -#define SETUP_TOKEN_PREFER_AGA_GRAPHICS 22 -#define SETUP_TOKEN_GAME_FRAME_DELAY 23 -#define SETUP_TOKEN_GRAPHICS_SET 24 -#define SETUP_TOKEN_SOUNDS_SET 25 -#define SETUP_TOKEN_MUSIC_SET 26 -#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS 27 -#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS 28 -#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC 29 - -#define NUM_GLOBAL_SETUP_TOKENS 30 +#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_ASK_ON_ESCAPE 19 +#define SETUP_TOKEN_ASK_ON_ESCAPE_EDITOR 20 +#define SETUP_TOKEN_QUICK_SWITCH 21 +#define SETUP_TOKEN_INPUT_ON_FOCUS 22 +#define SETUP_TOKEN_PREFER_AGA_GRAPHICS 23 +#define SETUP_TOKEN_GAME_FRAME_DELAY 24 +#define SETUP_TOKEN_GRAPHICS_SET 25 +#define SETUP_TOKEN_SOUNDS_SET 26 +#define SETUP_TOKEN_MUSIC_SET 27 +#define SETUP_TOKEN_OVERRIDE_LEVEL_GRAPHICS 28 +#define SETUP_TOKEN_OVERRIDE_LEVEL_SOUNDS 29 +#define SETUP_TOKEN_OVERRIDE_LEVEL_MUSIC 30 + +#define NUM_GLOBAL_SETUP_TOKENS 31 /* editor setup */ #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH 0 @@ -7803,6 +7813,7 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_SWITCH, &si.sound_simple, "simple_sound_effects" }, { TYPE_SWITCH, &si.toons, "toons" }, { TYPE_SWITCH, &si.scroll_delay, "scroll_delay" }, + { TYPE_INTEGER,&si.scroll_delay_value,"scroll_delay_value" }, { TYPE_SWITCH, &si.soft_scrolling, "soft_scrolling" }, { TYPE_SWITCH, &si.fade_screens, "fade_screens" }, { TYPE_SWITCH, &si.autorecord, "automatic_tape_recording" }, @@ -7957,6 +7968,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->double_buffering = TRUE; si->direct_draw = !si->double_buffering; si->scroll_delay = TRUE; + si->scroll_delay_value = 9; si->soft_scrolling = TRUE; si->fade_screens = TRUE; si->autorecord = TRUE;