(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
authortron
Fri, 01 Sep 2006 13:35:43 +0000
changeset 4512 7151d4ee3a0f
parent 4511 111a4b4f2143
child 4513 fcbfe426fd6c
(svn r6297) -Codechange: Disentangle the query window mess a bit: Move the network game password handling somewhere were it belongs to
functions.h
intro_gui.c
main_gui.c
network_client.c
network_gui.c
network_gui.h
--- a/functions.h	Fri Sep 01 13:18:53 2006 +0000
+++ b/functions.h	Fri Sep 01 13:35:43 2006 +0000
@@ -196,8 +196,6 @@
 uint GetTownRadiusGroup(const Town* t, TileIndex tile);
 void ShowNetworkChatQueryWindow(byte desttype, byte dest);
 void ShowNetworkGiveMoneyWindow(byte player);
-void ShowNetworkNeedGamePassword(void);
-void ShowNetworkNeedCompanyPassword(void);
 int FindFirstBit(uint32 x);
 void ShowHighscoreTable(int difficulty, int8 rank);
 TileIndex AdjustTileCoordRandomly(TileIndex a, byte rng);
--- a/intro_gui.c	Fri Sep 01 13:18:53 2006 +0000
+++ b/intro_gui.c	Fri Sep 01 13:35:43 2006 +0000
@@ -37,7 +37,6 @@
 };
 
 extern void HandleOnEditText(WindowEvent *e);
-extern void HandleOnEditTextCancel(void);
 
 static inline void SetNewLandscapeType(byte landscape)
 {
@@ -83,7 +82,6 @@
 		break;
 
 		case WE_ON_EDIT_TEXT: HandleOnEditText(e); break;
-		case WE_ON_EDIT_TEXT_CANCEL: HandleOnEditTextCancel(); break;
 	}
 }
 
--- a/main_gui.c	Fri Sep 01 13:18:53 2006 +0000
+++ b/main_gui.c	Fri Sep 01 13:35:43 2006 +0000
@@ -47,17 +47,6 @@
 extern void GenerateIndustries(void);
 extern bool GenerateTowns(void);
 
-void HandleOnEditTextCancel(void)
-{
-	switch (_rename_what) {
-#ifdef ENABLE_NETWORK
-	case 4:
-		NetworkDisconnect();
-		ShowNetworkGameWindow();
-		break;
-#endif /* ENABLE_NETWORK */
-	}
-}
 
 void HandleOnEditText(WindowEvent *e)
 {
@@ -97,9 +86,6 @@
 		}
 		break;
 	}
-	case 4: /* Game-Password and Company-Password */
-		SEND_COMMAND(PACKET_CLIENT_PASSWORD)(id, e->edittext.str);
-		break;
 #endif /* ENABLE_NETWORK */
 	}
 }
@@ -330,19 +316,6 @@
 	ShowQueryString(STR_EMPTY, STR_NETWORK_GIVE_MONEY_CAPTION, 30, 180, 1, 0, CS_NUMERAL);
 }
 
-void ShowNetworkNeedGamePassword(void)
-{
-	_rename_id = NETWORK_GAME_PASSWORD;
-	_rename_what = 4;
-	ShowQueryString(STR_EMPTY, STR_NETWORK_NEED_GAME_PASSWORD_CAPTION, 20, 180, WC_SELECT_GAME, 0, CS_ALPHANUMERAL);
-}
-
-void ShowNetworkNeedCompanyPassword(void)
-{
-	_rename_id = NETWORK_COMPANY_PASSWORD;
-	_rename_what = 4;
-	ShowQueryString(STR_EMPTY, STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION, 20, 180, WC_SELECT_GAME, 0, CS_ALPHANUMERAL);
-}
 
 #endif /* ENABLE_NETWORK */
 
--- a/network_client.c	Fri Sep 01 13:18:53 2006 +0000
+++ b/network_client.c	Fri Sep 01 13:35:43 2006 +0000
@@ -13,6 +13,7 @@
 #include "functions.h"
 #include "network_client.h"
 #include "network_gamelist.h"
+#include "network_gui.h"
 #include "saveload.h"
 #include "command.h"
 #include "window.h"
@@ -423,18 +424,16 @@
 
 DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_NEED_PASSWORD)
 {
-	NetworkPasswordType type;
-	type = NetworkRecv_uint8(MY_CLIENT, p);
+	NetworkPasswordType type = NetworkRecv_uint8(MY_CLIENT, p);
 
-	if (type == NETWORK_GAME_PASSWORD) {
-		ShowNetworkNeedGamePassword();
-		return NETWORK_RECV_STATUS_OKAY;
-	} else if (type == NETWORK_COMPANY_PASSWORD) {
-		ShowNetworkNeedCompanyPassword();
-		return NETWORK_RECV_STATUS_OKAY;
+	switch (type) {
+		case NETWORK_GAME_PASSWORD:
+		case NETWORK_COMPANY_PASSWORD:
+			ShowNetworkNeedPassword(type);
+			return NETWORK_RECV_STATUS_OKAY;
+
+		default: return NETWORK_RECV_STATUS_MALFORMED_PACKET;
 	}
-
-	return NETWORK_RECV_STATUS_MALFORMED_PACKET;
 }
 
 DEF_CLIENT_RECEIVE_COMMAND(PACKET_SERVER_WELCOME)
--- a/network_gui.c	Fri Sep 01 13:18:53 2006 +0000
+++ b/network_gui.c	Fri Sep 01 13:35:43 2006 +0000
@@ -1395,6 +1395,24 @@
 	AllocateWindowDescFront(&_client_list_desc, 0);
 }
 
+
+static NetworkPasswordType pw_type;
+
+
+void ShowNetworkNeedPassword(NetworkPasswordType npt)
+{
+	StringID caption;
+
+	pw_type = npt;
+	switch (npt) {
+		default: NOT_REACHED();
+		case NETWORK_GAME_PASSWORD:    caption = STR_NETWORK_NEED_GAME_PASSWORD_CAPTION;
+		case NETWORK_COMPANY_PASSWORD: caption = STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION;
+	}
+	ShowQueryString(STR_EMPTY, caption, 20, 180, WC_NETWORK_STATUS_WINDOW, 0, CS_ALPHANUMERAL);
+}
+
+
 static void NetworkJoinStatusWindowWndProc(Window *w, WindowEvent *e)
 {
 	switch (e->event) {
@@ -1438,6 +1456,14 @@
 		}
 		break;
 
+		case WE_ON_EDIT_TEXT_CANCEL:
+			NetworkDisconnect();
+			ShowNetworkGameWindow();
+			break;
+
+		case WE_ON_EDIT_TEXT:
+			SEND_COMMAND(PACKET_CLIENT_PASSWORD)(pw_type, e->edittext.str);
+			break;
 	}
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/network_gui.h	Fri Sep 01 13:35:43 2006 +0000
@@ -0,0 +1,8 @@
+/* $Id$ */
+
+#ifndef NETWORK_GUI_H
+#define NETWORK_GUI_H
+
+void ShowNetworkNeedPassword(NetworkPasswordType npt);
+
+#endif