diff --git a/TR5Main/Scripting/GameLogicScript.cpp b/TR5Main/Scripting/GameLogicScript.cpp index 088bf9e0c..d8f6049bc 100644 --- a/TR5Main/Scripting/GameLogicScript.cpp +++ b/TR5Main/Scripting/GameLogicScript.cpp @@ -13,12 +13,11 @@ extern GameFlow* g_GameFlow; GameScript* g_GameScript; bool WarningsAsErrors = false; -GameScript::GameScript(sol::state* lua) +GameScript::GameScript(sol::state* lua) : LuaHandler{ lua } { - m_lua = lua; - // Add constants - //ExecuteScript("Scripts\\Constants.lua"); + std::string testingStuff{ "testing stuff" }; + ExecuteScript("Scripts\\Constants.lua", testingStuff); m_lua->new_enum("Object", { {"LARA", ID_LARA} @@ -113,30 +112,6 @@ void GameScript::FreeLevelScripts() */ } -bool GameScript::ExecuteScript(const string& luaFilename, string& message) -{ - auto result = m_lua->safe_script_file(luaFilename, sol::environment(m_lua->lua_state(), sol::create, m_lua->globals()), sol::script_pass_on_error); - if (!result.valid()) - { - sol::error error = result; - message = error.what(); - return false; - } - return true; -} - -bool GameScript::ExecuteString(const string& command, string& message) -{ - auto result = m_lua->safe_script(command, sol::environment(m_lua->lua_state(), sol::create, m_lua->globals()), sol::script_pass_on_error); - if (!result.valid()) - { - sol::error error = result; - message = error.what(); - return false; - } - return true; -} - bool GameScript::ExecuteTrigger(short index) { return true; diff --git a/TR5Main/Scripting/GameLogicScript.h b/TR5Main/Scripting/GameLogicScript.h index b4c9e1574..890d6a793 100644 --- a/TR5Main/Scripting/GameLogicScript.h +++ b/TR5Main/Scripting/GameLogicScript.h @@ -5,6 +5,7 @@ #include "LEB128.h" #include "Streams.h" #include "items.h" +#include "LuaHandler.h" #define ITEM_PARAM_currentAnimState 0 #define ITEM_PARAM_goalAnimState 1 @@ -121,10 +122,9 @@ typedef struct LuaVariable bool BoolValue; }; -class GameScript +class GameScript : public LuaHandler { private: - sol::state* m_lua; LuaVariables m_globals; LuaVariables m_locals; std::map m_itemsMapId; @@ -134,8 +134,6 @@ private: public: GameScript(sol::state* lua); - bool ExecuteScript(const std::string& luaFilename, std::string& message); - bool ExecuteString(const std::string& command, std::string& message); void FreeLevelScripts(); void AddTrigger(LuaFunction* function); void AddLuaId(int luaId, short itemNumber);