(svn r13505) -Fix: clear the memory for the new AI during the loading of a savegame so it does not try to execute commands generated in a different savegame, which could be resulting in the AI trying to give orders to stations that do not exist.
authorrubidium
Fri, 13 Jun 2008 05:50:24 +0000
changeset 10951 4db23258381f
parent 10950 36bf5bd16ebd
child 10953 d4534fb0208d
(svn r13505) -Fix: clear the memory for the new AI during the loading of a savegame so it does not try to execute commands generated in a different savegame, which could be resulting in the AI trying to give orders to stations that do not exist.
src/players.cpp
--- a/src/players.cpp	Fri Jun 13 01:57:48 2008 +0000
+++ b/src/players.cpp	Fri Jun 13 05:50:24 2008 +0000
@@ -1270,8 +1270,11 @@
 		_player_colors[index] = p->player_color;
 
 		/* This is needed so an AI is attached to a loaded AI */
-		if (p->is_ai && (!_networking || _network_server) && _ai.enabled)
+		if (p->is_ai && (!_networking || _network_server) && _ai.enabled) {
+			/* Clear the memory of the new AI, otherwise we might be doing wrong things. */
+			memset(&_players_ainew[index], 0, sizeof(PlayerAiNew));
 			AI_StartNewAI(p->index);
+		}
 	}
 }