(svn r19395) -Fix [FS#3669]: the AI Debug window didn't open if an AI or library fails to compile when loading a savegame

This commit is contained in:
Yexo 2010-03-13 00:15:24 +00:00
parent d0b496feb6
commit dfa528d058
3 changed files with 16 additions and 0 deletions

View File

@ -1024,3 +1024,15 @@ void InitializeAIGui()
{
AIDebugWindow::ai_debug_company = INVALID_COMPANY;
}
/** Open the AI debug window if one of the AI scripts has crashed. */
void ShowAIDebugWindowIfAIError()
{
Company *c;
FOR_ALL_COMPANIES(c) {
if (c->is_ai && c->ai_instance->IsDead()) {
ShowAIDebugWindow(c->index);
break;
}
}
}

View File

@ -17,6 +17,7 @@
#ifdef ENABLE_AI
void ShowAIDebugWindow(CompanyID show_company = INVALID_COMPANY);
void ShowAIConfigWindow();
void ShowAIDebugWindowIfAIError();
#else
#include "table/strings.h"
@ -25,6 +26,7 @@ static inline void ShowAIConfigWindow()
ShowErrorMessage(STR_ERROR_NO_AI, STR_ERROR_NO_AI_SUB, WL_INFO);
}
static inline void ShowAIDebugWindow(CompanyID show_company = INVALID_COMPANY) {ShowAIConfigWindow();}
static inline void ShowAIDebugWindowIfAIError() {}
#endif /* ENABLE_AI */
#endif /* AI_GUI_HPP */

View File

@ -41,6 +41,7 @@
#include "../company_func.h"
#include "../road_cmd.h"
#include "../ai/ai.hpp"
#include "../ai/ai_gui.hpp"
#include "../town.h"
#include "../economy_base.h"
#include "../animated_tile_func.h"
@ -263,6 +264,7 @@ static void InitializeWindowsAndCaches()
CheckTrainsLengths();
ShowNewGRFError();
ShowAIDebugWindowIfAIError();
}
typedef void (CDECL *SignalHandlerPointer)(int);