Added ScriptBuilder that gives us access to conditional compilation and metadata attributes.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-02-19 09:07:44 +01:00
parent 93be2ee8a1
commit 6fc6dbd05f
4 changed files with 1389 additions and 3 deletions

View File

@@ -49,7 +49,8 @@ void AngelScripResolver::Initialize(CreatureLib::Battling::BattleLibrary* arg) {
throw CreatureException("Registering print function failed.");
RegisterScriptHandle(_engine);
_mainModule = _engine->GetModule("pkmn", asGM_ALWAYS_CREATE);
_builder.StartNewModule(_engine, "pkmn");
_mainModule = _builder.GetModule();
RegisterTypes();
RegisterExceptionRoutines(_engine);
@@ -131,10 +132,10 @@ CreatureLib::Battling::Script* AngelScripResolver::LoadScript(ScriptCategory cat
return new AngelScriptScript(scriptName, typeInfo, obj, _contextPool);
}
void AngelScripResolver::FinalizeModule() {
int r = _mainModule->Build();
int r = _builder.BuildModule();
if (r < 0)
throw CreatureException("Building Script Module failed.");
}
void AngelScripResolver::CreateScript(const char* name, const char* script) {
_mainModule->AddScriptSection(name, script);
_builder.AddSectionFromMemory(name, script);
}