|
|
|
@ -100,7 +100,7 @@ void ScriptInstance::Initialize(const char *main_script, const char *instance_na
|
|
|
|
|
ScriptObject::SetAllowDoCommand(true);
|
|
|
|
|
} catch (Script_FatalError &e) {
|
|
|
|
|
this->is_dead = true;
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage());
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage().c_str());
|
|
|
|
|
this->engine->ResumeError();
|
|
|
|
|
this->Died();
|
|
|
|
|
}
|
|
|
|
@ -228,7 +228,7 @@ void ScriptInstance::GameLoop()
|
|
|
|
|
this->callback = e.GetSuspendCallback();
|
|
|
|
|
} catch (Script_FatalError &e) {
|
|
|
|
|
this->is_dead = true;
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage());
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage().c_str());
|
|
|
|
|
this->engine->ResumeError();
|
|
|
|
|
this->Died();
|
|
|
|
|
}
|
|
|
|
@ -249,7 +249,7 @@ void ScriptInstance::GameLoop()
|
|
|
|
|
this->callback = e.GetSuspendCallback();
|
|
|
|
|
} catch (Script_FatalError &e) {
|
|
|
|
|
this->is_dead = true;
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage());
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage().c_str());
|
|
|
|
|
this->engine->ResumeError();
|
|
|
|
|
this->Died();
|
|
|
|
|
}
|
|
|
|
@ -505,7 +505,7 @@ void ScriptInstance::Save()
|
|
|
|
|
/* If we don't mark the script as dead here cleaning up the squirrel
|
|
|
|
|
* stack could throw Script_FatalError again. */
|
|
|
|
|
this->is_dead = true;
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage());
|
|
|
|
|
this->engine->ThrowError(e.GetErrorMessage().c_str());
|
|
|
|
|
this->engine->ResumeError();
|
|
|
|
|
SaveEmpty();
|
|
|
|
|
/* We can't kill the script here, so mark it as crashed (not dead) and
|
|
|
|
|