(svn r13268) [NoAI] -Fix: kill AIs on game abortion noai
authorglx
Mon, 26 May 2008 17:40:33 +0000
branchnoai
changeset 10718 7e9d9e40e16f
parent 10715 6bdf79ffb022
child 10722 6ea1daff57aa
(svn r13268) [NoAI] -Fix: kill AIs on game abortion
src/ai/ai.cpp
src/ai/ai.h
src/openttd.cpp
--- a/src/ai/ai.cpp	Mon May 26 13:52:59 2008 +0000
+++ b/src/ai/ai.cpp	Mon May 26 17:40:33 2008 +0000
@@ -169,16 +169,23 @@
 }
 
 /**
- * Deinitializer for AI-related stuff.
+ * Kill all AIs.
  */
-void AI_Uninitialize()
+void AI_KillAll()
 {
 	const Player* p;
 
 	FOR_ALL_PLAYERS(p) {
 		if (p->is_active && p->is_ai) AI_PlayerDied(p->index);
 	}
+}
 
+/**
+ * Deinitializer for AI-related stuff.
+ */
+void AI_Uninitialize()
+{
+	AI_KillAll();
 	delete _ai_squirrel;
 	_ai_squirrel = NULL;
 }
--- a/src/ai/ai.h	Mon May 26 13:52:59 2008 +0000
+++ b/src/ai/ai.h	Mon May 26 17:40:33 2008 +0000
@@ -11,6 +11,7 @@
 void AI_PlayerDied(PlayerID player);
 void AI_RunGameLoop();
 void AI_Initialize();
+void AI_KillAll();
 void AI_Uninitialize();
 bool AI_AllowNewAI();
 void AI_ForceAI(const char *forced_ai);
--- a/src/openttd.cpp	Mon May 26 13:52:59 2008 +0000
+++ b/src/openttd.cpp	Mon May 26 17:40:33 2008 +0000
@@ -934,6 +934,7 @@
 		}
 
 		case SM_MENU: /* Switch to game intro menu */
+			AI_KillAll();
 			LoadIntroGame();
 			break;