# HG changeset patch # User glx # Date 1211823633 0 # Node ID 7e9d9e40e16fd806fc70ff66dcc1958d0f66ed58 # Parent 6bdf79ffb02279c22be73af2e11b23bc3e1366fb (svn r13268) [NoAI] -Fix: kill AIs on game abortion diff -r 6bdf79ffb022 -r 7e9d9e40e16f src/ai/ai.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; } diff -r 6bdf79ffb022 -r 7e9d9e40e16f src/ai/ai.h --- 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); diff -r 6bdf79ffb022 -r 7e9d9e40e16f src/openttd.cpp --- 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;