mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-16 00:42:45 +01:00
Codechange: Pass ScriptInstance by reference.
This commit is contained in:
committed by
Peter Nelson
parent
13fcc0900e
commit
72ca962b84
@@ -55,7 +55,7 @@ ScriptInstance::ScriptInstance(std::string_view api_name)
|
||||
|
||||
void ScriptInstance::Initialize(const std::string &main_script, const std::string &instance_name, CompanyID company)
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
this->controller = new ScriptController(company);
|
||||
|
||||
@@ -142,7 +142,7 @@ bool ScriptInstance::LoadCompatibilityScripts(Subdirectory dir, std::span<const
|
||||
|
||||
ScriptInstance::~ScriptInstance()
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
this->in_shutdown = true;
|
||||
|
||||
if (instance != nullptr) this->engine->ReleaseObject(this->instance);
|
||||
@@ -175,7 +175,7 @@ void ScriptInstance::Died()
|
||||
|
||||
void ScriptInstance::GameLoop()
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
if (this->IsDead()) return;
|
||||
if (this->engine->HasScriptCrashed()) {
|
||||
@@ -199,7 +199,7 @@ void ScriptInstance::GameLoop()
|
||||
this->is_save_data_on_stack = false;
|
||||
}
|
||||
try {
|
||||
this->callback(this);
|
||||
this->callback(*this);
|
||||
} catch (Script_Suspend &e) {
|
||||
this->suspend = e.GetSuspendTime();
|
||||
this->callback = e.GetSuspendCallback();
|
||||
@@ -265,54 +265,54 @@ void ScriptInstance::GameLoop()
|
||||
void ScriptInstance::CollectGarbage()
|
||||
{
|
||||
if (this->is_started && !this->IsDead()) {
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
this->engine->CollectGarbage();
|
||||
}
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturn(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturn(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(ScriptObject::GetLastCommandRes());
|
||||
instance.engine->InsertResult(ScriptObject::GetLastCommandRes());
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnVehicleID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnVehicleID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<VehicleID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<VehicleID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnSignID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnSignID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<SignID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<SignID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnGroupID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnGroupID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<GroupID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<GroupID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnGoalID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnGoalID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<GoalID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<GoalID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnStoryPageID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnStoryPageID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<StoryPageID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<StoryPageID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnStoryPageElementID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnStoryPageElementID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<StoryPageElementID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<StoryPageElementID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnLeagueTableElementID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnLeagueTableElementID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<LeagueTableElementID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<LeagueTableElementID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
/* static */ void ScriptInstance::DoCommandReturnLeagueTableID(ScriptInstance *instance)
|
||||
/* static */ void ScriptInstance::DoCommandReturnLeagueTableID(ScriptInstance &instance)
|
||||
{
|
||||
instance->engine->InsertResult(EndianBufferReader::ToValue<LeagueTableID>(ScriptObject::GetLastCommandResData()));
|
||||
instance.engine->InsertResult(EndianBufferReader::ToValue<LeagueTableID>(ScriptObject::GetLastCommandResData()));
|
||||
}
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@ ScriptStorage *ScriptInstance::GetStorage()
|
||||
|
||||
ScriptLogTypes::LogData &ScriptInstance::GetLogData()
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
return ScriptObject::GetLogData();
|
||||
}
|
||||
@@ -501,7 +501,7 @@ static const SaveLoad _script_byte[] = {
|
||||
|
||||
void ScriptInstance::Save()
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
/* Don't save data if the script didn't start yet or if it crashed. */
|
||||
if (this->engine == nullptr || this->engine->HasScriptCrashed()) {
|
||||
@@ -739,7 +739,7 @@ bool ScriptInstance::IsPaused()
|
||||
|
||||
void ScriptInstance::LoadOnStack(ScriptData *data)
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
if (this->IsDead() || data == nullptr) return;
|
||||
|
||||
@@ -803,7 +803,7 @@ SQInteger ScriptInstance::GetOpsTillSuspend()
|
||||
|
||||
bool ScriptInstance::DoCommandCallback(const CommandCost &result, const CommandDataBuffer &data, CommandDataBuffer result_data, Commands cmd)
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
if (!ScriptObject::CheckLastCommand(data, cmd)) {
|
||||
Debug(script, 1, "DoCommandCallback terminating a script, last command does not match expected command");
|
||||
@@ -827,7 +827,7 @@ bool ScriptInstance::DoCommandCallback(const CommandCost &result, const CommandD
|
||||
|
||||
void ScriptInstance::InsertEvent(class ScriptEvent *event)
|
||||
{
|
||||
ScriptObject::ActiveInstance active(this);
|
||||
ScriptObject::ActiveInstance active(*this);
|
||||
|
||||
ScriptEventController::InsertEvent(event);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user