Rework of ScriptResolver to binary handling. Now also serialises the type database to the stream, simplifying it's api.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-05-02 11:13:04 +02:00
parent 846580550a
commit bd77b58743
6 changed files with 221 additions and 37 deletions

View File

@@ -26,7 +26,7 @@ private:
void RegisterTypes();
void InitializeByteCode(asIBinaryStream* stream,
const Dictionary<ScriptCategory, Dictionary<ConstString, const char*>>& types);
const Dictionary<ScriptCategory, Dictionary<ConstString, uint32_t>>& types);
public:
~AngelScriptResolver() override {
@@ -47,11 +47,9 @@ public:
CreatureLib::Battling::Script* LoadScript(ScriptCategory category, const ConstString& scriptName) override;
void WriteByteCodeToFile(const char* file, bool stripDebugInfo = false);
void LoadByteCodeFromFile(const char* file,
const Dictionary<ScriptCategory, Dictionary<ConstString, const char*>>& types);
void LoadByteCodeFromFile(const char* file);
uint8_t* WriteByteCodeToMemory(size_t& size, bool stripDebugInfo = false);
void LoadByteCodeFromMemory(uint8_t*, size_t size,
const Dictionary<ScriptCategory, Dictionary<ConstString, const char*>>& types);
void LoadByteCodeFromMemory(uint8_t*, size_t size);
const Dictionary<ScriptCategory, Dictionary<ConstString, AngelScriptTypeInfo*>>& GetTypeDatabase() const noexcept {
return _typeDatabase;