AngelScriptResolver C Interface
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Deukhoofd 2020-05-02 11:38:13 +02:00
parent bd77b58743
commit 9b125503ee
Signed by: Deukhoofd
GPG Key ID: ADF2E9256009EDCE
1 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,34 @@
#include "../../src/ScriptResolving/AngelScript/AngelScriptResolver.hpp"
#include "../Core.hpp"
export AngelScriptResolver* PkmnLib_AngelScriptResolver_Construct() { return new AngelScriptResolver(); }
export uint8_t PkmnLib_AngelScriptResolver_Destruct(AngelScriptResolver* p) { Try(delete p;) }
export uint8_t PkmnLib_AngelScriptResolver_Initialize(AngelScriptResolver* p,
CreatureLib::Battling::BattleLibrary* lib) {
Try(p->Initialize(lib);)
}
export uint8_t PkmnLib_AngelScriptResolver_CreateScript(AngelScriptResolver* p, const char* name, const char* script) {
Try(p->CreateScript(name, script);)
}
export uint8_t PkmnLib_AngelScriptResolver_FinalizeModule(AngelScriptResolver* p) { Try(p->FinalizeModule();) }
export uint8_t PkmnLib_AngelScriptResolver_LoadScript(CreatureLib::Battling::Script*& out, AngelScriptResolver* p,
ScriptCategory category, const char* scriptName) {
Try(out = p->LoadScript(category, Arbutils::CaseInsensitiveConstString(scriptName));)
}
export uint8_t PkmnLib_AngelScriptResolver_WriteByteCodeToFile(AngelScriptResolver* p, const char* file,
bool stripDebugInfo) {
Try(p->WriteByteCodeToFile(file, stripDebugInfo);)
}
export uint8_t PkmnLib_AngelScriptResolver_LoadByteCodeFromFile(AngelScriptResolver* p, const char* file) {
Try(p->LoadByteCodeFromFile(file);)
}
export uint8_t PkmnLib_AngelScriptResolver_WriteByteCodeToMemory(AngelScriptResolver* p, bool stripDebugInfo,
size_t& size, uint8_t*& out) {
Try(out = p->WriteByteCodeToMemory(size, stripDebugInfo);)
}
export uint8_t PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory(AngelScriptResolver* p, uint8_t* memory,
size_t size) {
Try(p->LoadByteCodeFromMemory(memory, size);)
}