From 1b6d1086d02dba7295274810e7ce16a4595dc311 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 14 May 2023 17:54:42 +0100 Subject: [PATCH] Script: Add ScriptInstance field for script type --- src/ai/ai_instance.cpp | 2 +- src/game/game_instance.cpp | 2 +- src/script/script_instance.cpp | 5 +++-- src/script/script_instance.hpp | 4 +++- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ai/ai_instance.cpp b/src/ai/ai_instance.cpp index f61e6356a5..672c3810b3 100644 --- a/src/ai/ai_instance.cpp +++ b/src/ai/ai_instance.cpp @@ -33,7 +33,7 @@ #include "../safeguards.h" AIInstance::AIInstance() : - ScriptInstance("AI") + ScriptInstance("AI", ST_AI) {} void AIInstance::Initialize(AIInfo *info) diff --git a/src/game/game_instance.cpp b/src/game/game_instance.cpp index 9a263abe83..d49d7b9f1d 100644 --- a/src/game/game_instance.cpp +++ b/src/game/game_instance.cpp @@ -27,7 +27,7 @@ GameInstance::GameInstance() : - ScriptInstance("GS") + ScriptInstance("GS", ST_GS) {} void GameInstance::Initialize(GameInfo *info) diff --git a/src/script/script_instance.cpp b/src/script/script_instance.cpp index 69aeeeea79..5a42d72b0e 100644 --- a/src/script/script_instance.cpp +++ b/src/script/script_instance.cpp @@ -49,7 +49,7 @@ static void PrintFunc(bool error_msg, const SQChar *message) ScriptController::Print(error_msg, message); } -ScriptInstance::ScriptInstance(const char *APIName) : +ScriptInstance::ScriptInstance(const char *APIName, ScriptType script_type) : engine(nullptr), versionAPI(nullptr), controller(nullptr), @@ -63,6 +63,7 @@ ScriptInstance::ScriptInstance(const char *APIName) : in_shutdown(false), callback(nullptr), APIName(APIName), + script_type(script_type), allow_text_param_mismatch(false) { this->storage = new ScriptStorage(); @@ -91,7 +92,7 @@ void ScriptInstance::Initialize(const char *main_script, const char *instance_na return; } - if (strcmp(this->APIName, "GS") == 0) { + if (this->script_type == ST_GS) { if (strcmp(instance_name, "BeeRewardClass") == 0) { this->LoadCompatibilityScripts("brgs", GAME_DIR); } diff --git a/src/script/script_instance.hpp b/src/script/script_instance.hpp index da4cbe8f52..4c1d78e508 100644 --- a/src/script/script_instance.hpp +++ b/src/script/script_instance.hpp @@ -13,6 +13,7 @@ #include #include #include +#include "squirrel.hpp" #include "script_suspend.hpp" #include "../command_type.h" @@ -45,7 +46,7 @@ public: /** * Create a new script. */ - ScriptInstance(const char *APIName); + ScriptInstance(const char *APIName, ScriptType script_type); virtual ~ScriptInstance(); /** @@ -296,6 +297,7 @@ private: Script_SuspendCallbackProc *callback; ///< Callback that should be called in the next tick the script runs. size_t last_allocated_memory; ///< Last known allocated memory value (for display for crashed scripts) const char *APIName; ///< Name of the API used for this squirrel. + ScriptType script_type; ///< Script type. bool allow_text_param_mismatch; ///< Whether ScriptText parameter mismatches are allowed /**