src/intro_gui.cpp
branchNewGRF_ports
changeset 6872 1c4a4a609f85
parent 6871 5a9dc001e1ad
child 6877 889301acc299
--- 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;
 	}
 }