From 0adb5afcf76e756191915b3e0e6e35f45f1e95c0 Mon Sep 17 00:00:00 2001
From: jsalmon3 <>
Date: Tue, 9 Apr 2002 21:58:05 +0000
Subject: [PATCH] Added net error menu

---
 src/include/menus.h |  3 ++-
 src/ui/menus.cpp    | 26 ++++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/include/menus.h b/src/include/menus.h
index 4c3ec05dc..43bc221ae 100644
--- a/src/include/menus.h
+++ b/src/include/menus.h
@@ -243,7 +243,8 @@ typedef struct _menus_ {
 #define MENU_PREFERENCES 18
 #define MENU_SPEED_SETTINGS 19
 #define MENU_GAME_OPTIONS 20
-#define MENU_MAX 20			/// highest available menu id (for ccl)
+#define MENU_NET_ERROR 21
+#define MENU_MAX 21			/// highest available menu id (for ccl)
 
 /// FIXME: FILL IN THIS TABLE!!!!
 
diff --git a/src/ui/menus.cpp b/src/ui/menus.cpp
index a0042c3f1..eee906197 100644
--- a/src/ui/menus.cpp
+++ b/src/ui/menus.cpp
@@ -723,6 +723,19 @@ local Menuitem NetMultiClientMenuItems[] = {
 #endif
 };
 
+local Menuitem NetErrorMenuItems[] = {
+#ifdef __GNUC__
+    { MI_TYPE_TEXT, 144, 11, 0, LargeFont, NULL, NULL,
+	{ text:{ "Error:", MI_TFLAGS_CENTERED} } },
+    { MI_TYPE_TEXT, 144, 38, 0, LargeFont, NULL, NULL,
+	{ text:{ NULL, MI_TFLAGS_CENTERED} } },
+    { MI_TYPE_BUTTON, 92, 80, MenuButtonSelected, LargeFont, NULL, NULL,
+	{ button:{ "~!OK", 106, 27, MBUTTON_GM_HALF, EndMenu, 'o'} } },
+#else
+    { 0 }
+#endif
+};
+
 /**
 **	Items for the Connecting Network Menu
 */
@@ -1133,6 +1146,16 @@ global Menu Menus[] = {
 	GameOptionsMenuItems,
 	NULL,
     },
+    {
+	// Net Errors Menu
+	(640-288)/2,
+	260,
+	288, 128,
+	ImagePanel4,
+	2, 3,
+	NetErrorMenuItems,
+	NULL,
+    },
     
 };
 
@@ -2216,6 +2239,9 @@ local void JoinNetGameMenu(void)
 
     ServerHostBuf[EnterServerIPMenuItems[1].d.input.nch] = 0;	// Now finally here is the address
     if (NetworkSetupServerAddress(ServerHostBuf, NetworkServerText) != 0) {
+	NetErrorMenuItems[1].d.text.text = "Unable to lookup host.";
+	ProcessMenu(MENU_NET_ERROR, 1);
+	StartMenusSetBackground(NULL);
 	return;
     }
     NetworkInitClientConnect();