X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Ffiles.c;h=9704cdfd5b294f1a7296522fac3ca6e9f8b6f999;hp=184fbb0f111cba96c7f65dd9d7133a1c7d894214;hb=66cc4e788ac58eda6f23f807e2906178a0a1a61c;hpb=06bfb5214a04d59c7ef7a763d3f38928d12e8d0e diff --git a/src/files.c b/src/files.c index 184fbb0f..9704cdfd 100644 --- a/src/files.c +++ b/src/files.c @@ -7913,20 +7913,21 @@ void SaveScore(int nr) #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_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 /* editor setup */ #define SETUP_TOKEN_EDITOR_EL_BOULDERDASH 0 @@ -8085,6 +8086,7 @@ static struct TokenInfo global_setup_tokens[] = { TYPE_INTEGER,&si.game_frame_delay, "game_frame_delay" }, { TYPE_SWITCH, &si.sp_show_border_elements, "sp_show_border_elements" }, { TYPE_SWITCH, &si.small_game_graphics, "small_game_graphics" }, + { TYPE_SWITCH, &si.show_snapshot_buttons, "show_snapshot_buttons" }, { TYPE_STRING, &si.graphics_set, "graphics_set" }, { TYPE_STRING, &si.sounds_set, "sounds_set" }, { TYPE_STRING, &si.music_set, "music_set" }, @@ -8264,6 +8266,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->game_frame_delay = GAME_FRAME_DELAY; si->sp_show_border_elements = FALSE; si->small_game_graphics = FALSE; + si->show_snapshot_buttons = FALSE; si->graphics_set = getStringCopy(GFX_CLASSIC_SUBDIR); si->sounds_set = getStringCopy(SND_CLASSIC_SUBDIR); @@ -8785,9 +8788,36 @@ static void InitMenuDesignSettings_SpecialPreProcessing() static void InitMenuDesignSettings_SpecialPostProcessing() { + static struct + { + struct XY *dst, *src; + } + game_buttons_xy[] = + { + { &game.button.save, &game.button.stop }, + { &game.button.pause2, &game.button.pause }, + { &game.button.load, &game.button.play }, + { &game.button.undo, &game.button.stop }, + { &game.button.redo, &game.button.play }, + + { NULL, NULL } + }; + int i; + /* special case: initialize later added SETUP list size from LEVELS value */ if (menu.list_size[GAME_MODE_SETUP] == -1) menu.list_size[GAME_MODE_SETUP] = menu.list_size[GAME_MODE_LEVELS]; + + /* set default position for snapshot buttons to stop/pause/play buttons */ + for (i = 0; game_buttons_xy[i].dst != NULL; i++) + { + if ((*game_buttons_xy[i].dst).x == -1 && + (*game_buttons_xy[i].dst).y == -1) + { + (*game_buttons_xy[i].dst).x = (*game_buttons_xy[i].src).x; + (*game_buttons_xy[i].dst).y = (*game_buttons_xy[i].src).y; + } + } } static void LoadMenuDesignSettingsFromFilename(char *filename)