--- 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;