Update to latest CreatureLib
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-05-14 16:50:20 +02:00
parent 50c58a9fd3
commit cf34563a56
22 changed files with 58 additions and 54 deletions

View File

@@ -112,7 +112,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static AngelScriptScript* GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& scriptName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, scriptName);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, scriptName).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -45,7 +45,7 @@ static AngelScriptItemUseScript* GetScript(PkmnLib::Battling::BattleLibrary* mai
new CreatureLib::Library::SecondaryEffect(100, name, {}), nullptr, {});
auto s = lib->LoadItemScript(&item);
auto script = dynamic_cast<AngelScriptItemUseScript*>(s);
auto script = dynamic_cast<AngelScriptItemUseScript*>(s.TakeOwnership());
REQUIRE(script != nullptr);
return script;
}

View File

@@ -55,7 +55,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static AngelScriptScript* GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& scriptName,
PkmnLib::Battling::Pokemon* owner) {
auto* lib = GetScriptResolver(mainLib);
auto* s = lib->LoadScript(owner, ScriptCategory::Creature, scriptName);
auto* s = lib->LoadScript(owner, ScriptCategory::Creature, scriptName).TakeOwnership();
auto* script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -1,8 +1,8 @@
#if TESTS_BUILD && ANGELSCRIPT
#include <doctest.h>
#include "../../TestLibrary/TestLibrary.hpp"
#include "../../src/ScriptResolving/AngelScript/AngelScriptResolver.hpp"
#include "../../src/ScriptResolving/AngelScript/ContextPool.hpp"
#include "../../TestLibrary/TestLibrary.hpp"
static std::unordered_map<const char*, const char*> _scripts =
std::unordered_map<const char*, const char*>{{"testScript1", R"(
@@ -44,8 +44,7 @@ TEST_CASE("Build script resolver, then create object") {
lib->CreateScript("testScript1", _scripts["testScript1"]);
lib->FinalizeModule();
auto obj = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto obj = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
delete obj;
delete lib;
}
@@ -56,7 +55,8 @@ TEST_CASE("Build script resolver, create object, invoke addition method") {
lib->CreateScript("testScript1", _scripts["testScript1"]);
lib->FinalizeModule();
auto obj = dynamic_cast<AngelScriptScript*>(lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc));
auto obj = dynamic_cast<AngelScriptScript*>(
lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership());
REQUIRE(obj != nullptr);
auto ctxPool = obj->GetContextPool();
auto ctx = ctxPool->RequestContext();
@@ -86,8 +86,8 @@ TEST_CASE("Get a script resolver, save the byte code to memory, create new scrip
originLib->Initialize(TestLibrary::GetLibrary());
originLib->CreateScript("testScript1", _scripts["testScript1"]);
originLib->FinalizeModule();
auto obj =
dynamic_cast<AngelScriptScript*>(originLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc));
auto obj = dynamic_cast<AngelScriptScript*>(
originLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership());
REQUIRE(obj != nullptr);
REQUIRE(obj->GetType()->GetOnInitialize().Exists);
delete obj;
@@ -97,7 +97,8 @@ TEST_CASE("Get a script resolver, save the byte code to memory, create new scrip
auto newLib = dynamic_cast<AngelScriptResolver*>(PkmnLib::Battling::BattleLibrary::CreateScriptResolver());
newLib->Initialize(TestLibrary::GetLibrary());
newLib->LoadByteCodeFromMemory(byteCode, size);
obj = dynamic_cast<AngelScriptScript*>(newLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc));
obj = dynamic_cast<AngelScriptScript*>(
newLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership());
REQUIRE(obj != nullptr);
REQUIRE(obj->GetType()->GetOnInitialize().Exists);
delete obj;
@@ -115,8 +116,8 @@ TEST_CASE("Get a script resolver, save the byte code to file, create new script
auto newLib = dynamic_cast<AngelScriptResolver*>(PkmnLib::Battling::BattleLibrary::CreateScriptResolver());
newLib->Initialize(TestLibrary::GetLibrary());
newLib->LoadByteCodeFromFile("foo.bin");
auto obj =
dynamic_cast<AngelScriptScript*>(newLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc));
auto obj = dynamic_cast<AngelScriptScript*>(
newLib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership());
REQUIRE(obj != nullptr);
delete obj;
delete originLib;

View File

@@ -44,7 +44,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -57,7 +57,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -45,7 +45,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -41,7 +41,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -45,7 +45,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -43,7 +43,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -44,7 +44,7 @@ static AngelScriptResolver* GetScriptResolver(PkmnLib::Battling::BattleLibrary*
static ScriptData GetScript(PkmnLib::Battling::BattleLibrary* mainLib, const ArbUt::StringView& funcName) {
auto lib = GetScriptResolver(mainLib);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc);
auto s = lib->LoadScript(nullptr, ScriptCategory::Creature, "testScript1"_cnc).TakeOwnership();
auto script = dynamic_cast<AngelScriptScript*>(s);
REQUIRE(script != nullptr);

View File

@@ -56,7 +56,7 @@ TEST_CASE("Get a script resolver, load a real wasm script, load test script") {
lib->Finalize();
auto script = lib->LoadScript(nullptr, ScriptCategory::Attack, "test"_cnc);
EnsureNotNull(script);
script->OnInitialize(TestLibrary::GetLibrary(), {});
script.GetValue()->OnInitialize(TestLibrary::GetLibrary(), {});
delete script;
}