diff -r 5a9dc001e1ad -r 1c4a4a609f85 src/intro_gui.cpp --- a/src/intro_gui.cpp Mon Dec 03 23:39:38 2007 +0000 +++ b/src/intro_gui.cpp Tue Jan 22 21:00:30 2008 +0000 @@ -4,21 +4,23 @@ #include "stdafx.h" #include "openttd.h" -#include "table/strings.h" -#include "strings.h" -#include "table/sprites.h" -#include "functions.h" -#include "window.h" #include "gui.h" -#include "gfx.h" -#include "player.h" +#include "window_gui.h" +#include "textbuf_gui.h" #include "network/network.h" #include "variables.h" -#include "settings.h" #include "heightmap.h" #include "genworld.h" #include "network/network_gui.h" #include "newgrf.h" +#include "strings_func.h" +#include "window_func.h" +#include "fios.h" +#include "gfx_func.h" +#include "settings_type.h" + +#include "table/strings.h" +#include "table/sprites.h" static const Widget _select_game_widgets[] = { { WWT_CAPTION, RESIZE_NONE, 13, 0, 335, 0, 13, STR_0307_OPENTTD, STR_NULL}, @@ -50,51 +52,73 @@ InvalidateWindowClasses(WC_SELECT_GAME); } +enum SelectGameIntroWidgets { + SGI_GENERATE_GAME = 2, + SGI_LOAD_GAME, + SGI_PLAY_SCENARIO, + SGI_PLAY_HEIGHTMAP, + SGI_EDIT_SCENARIO, + SGI_PLAY_NETWORK, + SGI_TEMPERATE_LANDSCAPE, + SGI_ARCTIC_LANDSCAPE, + SGI_TROPIC_LANDSCAPE, + SGI_TOYLAND_LANDSCAPE, + SGI_OPTIONS, + SGI_DIFFICULTIES, + SGI_PATCHES_OPTIONS, + SGI_GRF_SETTINGS, + SGI_EXIT, +}; + static void SelectGameWndProc(Window *w, WindowEvent *e) { switch (e->event) { - case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + 8); break; + case WE_CREATE: w->LowerWidget(_opt_newgame.landscape + 8); break; - case WE_PAINT: - w->SetWidgetLoweredState(8, _opt_newgame.landscape == LT_TEMPERATE); - w->SetWidgetLoweredState(9, _opt_newgame.landscape == LT_ARCTIC); - w->SetWidgetLoweredState(10, _opt_newgame.landscape == LT_TROPIC); - w->SetWidgetLoweredState(11, _opt_newgame.landscape == LT_TOYLAND); - SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level); - DrawWindowWidgets(w); - break; + case WE_PAINT: + w->SetWidgetLoweredState(SGI_TEMPERATE_LANDSCAPE, _opt_newgame.landscape == LT_TEMPERATE); + w->SetWidgetLoweredState(SGI_ARCTIC_LANDSCAPE, _opt_newgame.landscape == LT_ARCTIC); + w->SetWidgetLoweredState(SGI_TROPIC_LANDSCAPE, _opt_newgame.landscape == LT_TROPIC); + w->SetWidgetLoweredState(SGI_TOYLAND_LANDSCAPE, _opt_newgame.landscape == LT_TOYLAND); + SetDParam(0, STR_6801_EASY + _opt_newgame.diff_level); + DrawWindowWidgets(w); + break; - case WE_CLICK: + case WE_CLICK: #ifdef ENABLE_NETWORK - /* Do not create a network server when you (just) have closed one of the game - * creation/load windows for the network server. */ - if (2 <= e->we.click.widget && e->we.click.widget <= 6) _is_network_server = false; + /* Do not create a network server when you (just) have closed one of the game + * creation/load windows for the network server. */ + if (SGI_GENERATE_GAME <= e->we.click.widget && e->we.click.widget <= SGI_EDIT_SCENARIO) _is_network_server = false; #endif /* ENABLE_NETWORK */ - switch (e->we.click.widget) { - case 2: ShowGenerateLandscape(); break; - case 3: ShowSaveLoadDialog(SLD_LOAD_GAME); break; - case 4: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break; - case 5: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break; - case 6: StartScenarioEditor(); break; - case 7: - if (!_network_available) { - ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); - } else { - ShowNetworkGameWindow(); + switch (e->we.click.widget) { + case SGI_GENERATE_GAME: ShowGenerateLandscape(); break; + case SGI_LOAD_GAME: ShowSaveLoadDialog(SLD_LOAD_GAME); break; + case SGI_PLAY_SCENARIO: ShowSaveLoadDialog(SLD_LOAD_SCENARIO); break; + case SGI_PLAY_HEIGHTMAP: ShowSaveLoadDialog(SLD_LOAD_HEIGHTMAP); break; + case SGI_EDIT_SCENARIO: StartScenarioEditor(); break; + + case SGI_PLAY_NETWORK: + if (!_network_available) { + ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); + } else { + ShowNetworkGameWindow(); + } + break; + + case SGI_TEMPERATE_LANDSCAPE: case SGI_ARCTIC_LANDSCAPE: + case SGI_TROPIC_LANDSCAPE: case SGI_TOYLAND_LANDSCAPE: + w->RaiseWidget(_opt_newgame.landscape + SGI_TEMPERATE_LANDSCAPE); + SetNewLandscapeType(e->we.click.widget - SGI_TEMPERATE_LANDSCAPE); + break; + + case SGI_OPTIONS: ShowGameOptions(); break; + case SGI_DIFFICULTIES: ShowGameDifficulty(); break; + case SGI_PATCHES_OPTIONS: ShowPatchesSelection(); break; + case SGI_GRF_SETTINGS: ShowNewGRFSettings(true, true, false, &_grfconfig_newgame); break; + case SGI_EXIT: HandleExitGameRequest(); break; } break; - case 8: case 9: case 10: case 11: - w->RaiseWidget(_opt_newgame.landscape + 8); - SetNewLandscapeType(e->we.click.widget - 8); - break; - case 12: ShowGameOptions(); break; - case 13: ShowGameDifficulty(); break; - case 14: ShowPatchesSelection(); break; - case 15: ShowNewGRFSettings(true, true, false, &_grfconfig_newgame); break; - case 16: HandleExitGameRequest(); break; - } - break; } }