From cc3f42794d134b9f4b6c7efecb07d4b3366887c1 Mon Sep 17 00:00:00 2001 From: truebrain Date: Mon, 19 Dec 2011 21:05:25 +0000 Subject: (svn r23632) -Add: GSCompanyMode, to change company in GameScripts --- src/script/script_instance.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/script/script_instance.cpp') 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) { -- cgit v1.2.3-54-g00ecf