Adds support for including angelscript files using #include pragma, as long as they're within a set source directory.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
@@ -17,16 +17,21 @@ private:
|
||||
asIScriptEngine* _engine = nullptr;
|
||||
asIScriptModule* _mainModule = nullptr;
|
||||
ContextPool* _contextPool = nullptr;
|
||||
CScriptBuilder _builder;
|
||||
CScriptBuilder _builder = {};
|
||||
std::string _sourceDirectory = {};
|
||||
|
||||
static void MessageCallback(const asSMessageInfo* msg, void* param);
|
||||
static void Print(const std::string& str) { std::cout << str << std::endl; }
|
||||
static void PrintConst(const ArbUt::StringView& str) { Print(std::string(str.std_str())); }
|
||||
ArbUt::Dictionary<ScriptCategory, ArbUt::Dictionary<ArbUt::StringView, AngelScriptTypeInfo*>> _typeDatabase;
|
||||
ArbUt::Dictionary<ArbUt::StringView, asITypeInfo*> _baseTypes;
|
||||
ArbUt::Dictionary<ArbUt::StringView, asITypeInfo*> _itemUseTypes;
|
||||
ArbUt::Dictionary<const CreatureLib::Library::Item*, AngelScriptItemUseScript*> _itemUseScripts;
|
||||
|
||||
|
||||
static void MessageCallback(const asSMessageInfo* msg, void* param);
|
||||
static void Print(const std::string& str) { std::cout << str << std::endl; }
|
||||
static void PrintConst(const ArbUt::StringView& str) { Print(std::string(str.std_str())); }
|
||||
static i32 IncludeCallback(const char *include, const char *from, CScriptBuilder *builder, void *userParam);
|
||||
|
||||
|
||||
void RegisterTypes();
|
||||
void
|
||||
InitializeByteCode(const ArbUt::Dictionary<ScriptCategory, ArbUt::Dictionary<ArbUt::StringView, uint32_t>>& types);
|
||||
@@ -50,6 +55,7 @@ public:
|
||||
void Initialize(CreatureLib::Battling::BattleLibrary* library) override { Initialize(library, true); }
|
||||
void Initialize(CreatureLib::Battling::BattleLibrary* library, bool includeStandard);
|
||||
void CreateScript(const char* name, const char* script);
|
||||
inline void SetSourceDirectory(std::string const& path) noexcept { _sourceDirectory = path; }
|
||||
const asIScriptModule* GetMainModule() const noexcept { return _mainModule; }
|
||||
|
||||
void FinalizeModule();
|
||||
|
||||
Reference in New Issue
Block a user