(svn r23720) -Fix/Feature [FS#4935]: show the script debug window also when the game script crashes

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 13 years ago
parent 8371ecc922
commit d2f776ef3e

@ -1321,4 +1321,9 @@ void ShowAIDebugWindowIfAIError()
break;
}
}
GameInstance *g = Game::GetGameInstance();
if (g != NULL && g->IsDead()) {
ShowAIDebugWindow(OWNER_DEITY);
}
}

@ -11,11 +11,13 @@
#include "../stdafx.h"
#include "../debug.h"
#include "../error.h"
#include "../saveload/saveload.h"
#include "../script/squirrel_class.hpp"
#include "../script/script_storage.hpp"
#include "../ai/ai_gui.hpp"
#include "game_config.hpp"
#include "game_info.hpp"
#include "game_instance.hpp"
@ -196,6 +198,23 @@ ScriptInfo *GameInstance::FindLibrary(const char *library, int version)
return (ScriptInfo *)Game::FindLibrary(library, version);
}
void GameInstance::Died()
{
ScriptInstance::Died();
ShowAIDebugWindow(OWNER_DEITY);
const GameInfo *info = Game::GetInfo();
if (info != NULL) {
ShowErrorMessage(STR_ERROR_AI_PLEASE_REPORT_CRASH, INVALID_STRING_ID, WL_WARNING);
if (info->GetURL() != NULL) {
ScriptLog::Info("Please report the error to the following URL:");
ScriptLog::Info(info->GetURL());
}
}
}
/**
* DoCommand callback function for all commands executed by Game Scripts.
* @param result The result of the command.

@ -30,6 +30,7 @@ public:
private:
/* virtual */ void RegisterAPI();
/* virtual */ void Died();
/* virtual */ CommandCallback *GetDoCommandCallback();
/* virtual */ void LoadDummyScript() {}
};

@ -3486,7 +3486,7 @@ STR_AI_GAME_SCRIPT :{BLACK}Game Scr
STR_AI_GAME_SCRIPT_TOOLTIP :{BLACK}Check the Game Script log
STR_ERROR_AI_NO_AI_FOUND :No suitable AI found to load.{}This AI is a dummy AI and won't do anything.{}You can download several AIs via the 'Online Content' system
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running AIs crashed. Please report this to the AI author with a screenshot of the AI Debug Window
STR_ERROR_AI_PLEASE_REPORT_CRASH :{WHITE}One of the running scripts crashed. Please report this to the script author with a screenshot of the AI / GameScript Debug Window
STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI / GameScript Debug window is only available for the server
# AI configuration window

Loading…
Cancel
Save