diff options
author | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:25 +0000 |
---|---|---|
committer | truebrain <truebrain@openttd.org> | 2011-12-19 21:05:25 +0000 |
commit | cc3f42794d134b9f4b6c7efecb07d4b3366887c1 (patch) | |
tree | 1cd422d47fc44bd59463d0f9e2ef96f2edb09b50 /src/script/script_instance.cpp | |
parent | 403cd3acdb7b7fedf2b5e823326611bb32113385 (diff) | |
download | openttd-cc3f42794d134b9f4b6c7efecb07d4b3366887c1.tar.xz |
(svn r23632) -Add: GSCompanyMode, to change company in GameScripts
Diffstat (limited to 'src/script/script_instance.cpp')
-rw-r--r-- | src/script/script_instance.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/script/script_instance.cpp b/src/script/script_instance.cpp index 641d939d3..23fd6b24e 100644 --- a/src/script/script_instance.cpp +++ b/src/script/script_instance.cpp @@ -64,11 +64,11 @@ ScriptInstance::ScriptInstance(const char *APIName) : this->engine->SetPrintFunction(&PrintFunc); } -void ScriptInstance::Initialize(const char *main_script, const char *instance_name) +void ScriptInstance::Initialize(const char *main_script, const char *instance_name, CompanyID company) { ScriptObject::ActiveInstance active(this); - this->controller = new ScriptController(); + this->controller = new ScriptController(company); /* Register the API functions and classes */ this->engine->SetGlobalPointer(this->engine); @@ -150,6 +150,8 @@ void ScriptInstance::GameLoop() if (this->suspend < 0) return; // Multiplayer suspend, wait for Continue(). if (--this->suspend > 0) return; // Singleplayer suspend, decrease to 0. + _current_company = ScriptObject::GetCompany(); + /* If there is a callback to call, call that first */ if (this->callback != NULL) { if (this->is_save_data_on_stack) { |