All pastes #597720 Raw Edit

Miscellany

public text v1 · immutable
#597720 ·published 2007-06-30 19:41 UTC
rendered paste body
Index: src/d_clisrv.c
===================================================================
--- src/d_clisrv.c	(revision 1998)
+++ src/d_clisrv.c	(working copy)
@@ -309,7 +309,8 @@
 	cl_askjoin,
 	cl_waitjoinresponse,
 	cl_downloadsavegame,
-	cl_connected
+	cl_connected,
+	cl_aborted
 } cl_mode_t;
 
 static void GetPackets(void);
@@ -796,18 +797,18 @@
 				else
 					break;
 #endif
+
 			case cl_waitjoinresponse:
 			case cl_connected:
 				break;
+
+			// Connection closed by cancel, timeout or refusal.
+			case cl_aborted:
+				cl_mode = cl_searching;
+				return;
 		}
 
 		GetPackets();
-		// connection closed by cancel or timeout: in this case, server == true
-		if (!server && !netgame)
-		{
-			cl_mode = cl_searching;
-			return;
-		}
 		Net_AckTicker();
 
 		// call it only one by tic
@@ -1836,17 +1837,17 @@
 		if (netbuffer->packettype == PT_CLIENTJOIN && server)
 		{
 			if (bannednode && bannednode[node])
-				SV_SendRefuse(node, "You have been banned from the server");
+				SV_SendRefuse(node, "You have been banned\nfrom the server");
 			else if (netbuffer->u.clientcfg.version != VERSION
 				|| netbuffer->u.clientcfg.subversion != SUBVERSION)
-				SV_SendRefuse(node, va("Different SRB2 versions cannot play a netgame! "
+				SV_SendRefuse(node, va("Different SRB2 versions cannot\nplay a netgame!\n"
 				"(server version %d.%.2d.%d)", VERSION/100, VERSION%100, SUBVERSION));
 			else if (!cv_allownewplayer.value && node)
-				SV_SendRefuse(node, "The server is not accepting joins for the moment");
+				SV_SendRefuse(node, "The server is not accepting\njoins for the moment");
 			else if (D_NumPlayers() >= cv_maxplayers.value)
-				SV_SendRefuse(node, va("Maximum players reached (max:%d)", cv_maxplayers.value));
+				SV_SendRefuse(node, va("Maximum players reached: %d", cv_maxplayers.value));
 			else if (netbuffer->u.clientcfg.localplayers > 1)	// Hacked client?
-				SV_SendRefuse(node, va("Too many players from this node."));
+				SV_SendRefuse(node, va("Too many players from\nthis node."));
 			else
 			{
 				boolean newnode = false;
@@ -1949,6 +1950,9 @@
 						D_QuitNetGame();
 						CL_Reset();
 						D_StartTitle();
+
+						// Will be reset by caller. Signals refusal.
+						cl_mode = cl_aborted;
 					}
 					break;
 				case PT_SERVERCFG: // positive response of client join request
Index: src/m_menu.c
===================================================================
--- src/m_menu.c	(revision 1995)
+++ src/m_menu.c	(working copy)
@@ -7590,7 +7590,8 @@
 		return;
 
 	// now that's more readable with a faded background (yeah like Quake...)
-	V_DrawFadeScreen();
+	if (!WipeInAction)
+		V_DrawFadeScreen();
 
 	if (currentMenu->drawroutine)
 		currentMenu->drawroutine(); // call current menu Draw routine