diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-19 20:30:09 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-19 20:30:09 +0000 |
| commit | 8ea39f85bb632a7689d4be3489607959cdb6ea2a (patch) | |
| tree | 1bd7398c51fffcc1b9de85bb07917e0121bd5149 /src/game | |
| parent | 72cb74bf7f3491ffe92bbb98bd2f755f6ac40b1a (diff) | |
| download | zcatch-8ea39f85bb632a7689d4be3489607959cdb6ea2a.tar.gz zcatch-8ea39f85bb632a7689d4be3489607959cdb6ea2a.zip | |
fixed restart warning
Diffstat (limited to 'src/game')
| -rw-r--r-- | src/game/client/gc_menu.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/game/client/gc_menu.cpp b/src/game/client/gc_menu.cpp index e56077ef..2319c04b 100644 --- a/src/game/client/gc_menu.cpp +++ b/src/game/client/gc_menu.cpp @@ -35,6 +35,8 @@ extern const obj_game *gameobj; extern bool menu_active; extern bool menu_game_active; +static bool need_restart = false; + enum { POPUP_NONE=0, @@ -1530,6 +1532,8 @@ static void menu2_render_settings_graphics(RECT main_view) config.gfx_color_depth = depth; config.gfx_screen_width = modes[i].width; config.gfx_screen_height = modes[i].height; + if(!selected) + need_restart = true; } ui2_hsplit_t(&list, 20, &button, &list); @@ -1539,7 +1543,10 @@ static void menu2_render_settings_graphics(RECT main_view) // switches ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.gfx_fullscreen, "Fullscreen", config.gfx_fullscreen, &button, ui2_draw_checkbox, 0)) + { config.gfx_fullscreen ^= 1; + need_restart = true; + } ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.gfx_vsync, "V-Sync", config.gfx_vsync, &button, ui2_draw_checkbox, 0)) @@ -1554,16 +1561,23 @@ static void menu2_render_settings_graphics(RECT main_view) else if(config.gfx_fsaa_samples < 8) config.gfx_fsaa_samples = 8; else if(config.gfx_fsaa_samples < 16) config.gfx_fsaa_samples = 16; else if(config.gfx_fsaa_samples >= 16) config.gfx_fsaa_samples = 0; + need_restart = true; } ui2_hsplit_t(&main_view, 40.0f, &button, &main_view); ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.gfx_texture_quality, "Quality Textures", config.gfx_texture_quality, &button, ui2_draw_checkbox, 0)) + { config.gfx_texture_quality ^= 1; + need_restart = true; + } ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.gfx_texture_compression, "Texture Compression", config.gfx_texture_compression, &button, ui2_draw_checkbox, 0)) + { config.gfx_texture_compression ^= 1; + need_restart = true; + } ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.gfx_high_detail, "High Detail", config.gfx_high_detail, &button, ui2_draw_checkbox, 0)) @@ -1602,7 +1616,10 @@ static void menu2_render_settings_sound(RECT main_view) ui2_hsplit_t(&main_view, 20.0f, &button, &main_view); if (ui2_do_button(&config.snd_enable, "Use Sounds", config.snd_enable, &button, ui2_draw_checkbox, 0)) + { config.snd_enable ^= 1; + need_restart = true; + } if(!config.snd_enable) return; @@ -1616,7 +1633,11 @@ static void menu2_render_settings_sound(RECT main_view) ui2_vsplit_l(&button, 110.0f, 0, &button); ui2_vsplit_l(&button, 180.0f, &button, 0); ui2_do_edit_box(&config.snd_rate, &button, buf, sizeof(buf)); + int before = config.snd_rate; config.snd_rate = atoi(buf); + + if(config.snd_rate != before) + need_restart = true; if(config.snd_rate < 1) config.snd_rate = 1; @@ -1688,6 +1709,13 @@ static void menu2_render_settings(RECT main_view) menu2_render_settings_graphics(main_view); else if(settings_page == 4) menu2_render_settings_sound(main_view); + + if(need_restart) + { + RECT restart_warning; + ui2_hsplit_b(&main_view, 40, &main_view, &restart_warning); + ui2_do_label(&restart_warning, "You must restart Teewars for all settings to take effect.", 20, -1, 220); + } } static void menu2_render_news(RECT main_view) |