(svn r13431) [NoAI] -Fix: AIs in multiplayer is no longer an experimental thing noai
authortruebrain
Mon, 09 Jun 2008 11:36:21 +0000
branchnoai
changeset 10880 32e681ff8b5d
parent 10879 79c0d0e0e155
child 10881 5ad702d5b62d
(svn r13431) [NoAI] -Fix: AIs in multiplayer is no longer an experimental thing
[NoAI] -Fix: start_ai now reports nicer errors when it fails
src/console_cmds.cpp
src/settings.cpp
--- a/src/console_cmds.cpp	Sun Jun 08 23:56:52 2008 +0000
+++ b/src/console_cmds.cpp	Mon Jun 09 11:36:21 2008 +0000
@@ -881,8 +881,17 @@
 		IConsoleWarning("Can't start a new AI (no more free slots).");
 		return true;
 	}
+	if (_networking && !_network_server) {
+		IConsoleWarning("Only the server can start a new AI.");
+		return true;
+	}
+	if (_networking && !_settings_game.ai.ai_in_multiplayer) {
+		IConsoleWarning("AIs are not allowed in multiplayer by configuration.");
+		IConsoleWarning("Switch AI -> AI in multiplayer to True.");
+		return true;
+	}
 	if (!AI_AllowNewAI()) {
-		IConsoleWarning("Can't start a new AI (you are not the server?).");
+		IConsoleWarning("Can't start a new AI.");
 		return true;
 	}
 
--- a/src/settings.cpp	Sun Jun 08 23:56:52 2008 +0000
+++ b/src/settings.cpp	Mon Jun 09 11:36:21 2008 +0000
@@ -1173,14 +1173,6 @@
 	return 0;
 }
 
-static int32 Ai_In_Multiplayer_Warning(int32 p1)
-{
-	if (p1 == 1) {
-		ShowErrorMessage(INVALID_STRING_ID, TEMP_AI_MULTIPLAYER, 0, 0);
-	}
-	return 0;
-}
-
 static int32 PopulationInLabelActive(int32 p1)
 {
 	Town* t;
@@ -1671,7 +1663,7 @@
 	SDT_CONDBOOL(GameSettings, economy.mod_road_rebuild,                        77, SL_MAX_VERSION, 0, 0, false,                    STR_CONFIG_MODIFIED_ROAD_REBUILD,          NULL),
 
 	SDT_CONDNULL(1, 0, SL_NOAI_MAX_VERSION), // ai-new setting, became invalid with new AI system. Part of the NoAI 'hack' to retain savegame compatability with trunk.
-	    SDT_BOOL(GameSettings, ai.ai_in_multiplayer,                                                0, 0, false,                    STR_CONFIG_PATCHES_AI_IN_MULTIPLAYER,      Ai_In_Multiplayer_Warning),
+	    SDT_BOOL(GameSettings, ai.ai_in_multiplayer,                                                0, 0, true,                     STR_CONFIG_PATCHES_AI_IN_MULTIPLAYER,      NULL),
 	    SDT_BOOL(GameSettings, ai.ai_disable_veh_train,                                             0, 0, false,                    STR_CONFIG_PATCHES_AI_BUILDS_TRAINS,       NULL),
 	    SDT_BOOL(GameSettings, ai.ai_disable_veh_roadveh,                                           0, 0, false,                    STR_CONFIG_PATCHES_AI_BUILDS_ROADVEH,      NULL),
 	    SDT_BOOL(GameSettings, ai.ai_disable_veh_aircraft,                                          0, 0, false,                    STR_CONFIG_PATCHES_AI_BUILDS_AIRCRAFT,     NULL),