@@ -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;
@@ -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 */
@@ -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);
Status change: