From 6ffcd4dcbc388b8c83199c98dce0bbda16a95873 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Tue, 4 Aug 2020 13:08:43 +0200 Subject: [PATCH] Fixed Angelscript ExecutingAttack::GetHitData function. --- .../TypeRegistry/Battling/RegisterExecutingAttack.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ScriptResolving/AngelScript/TypeRegistry/Battling/RegisterExecutingAttack.cpp b/src/ScriptResolving/AngelScript/TypeRegistry/Battling/RegisterExecutingAttack.cpp index 0da6df4..33ecb62 100644 --- a/src/ScriptResolving/AngelScript/TypeRegistry/Battling/RegisterExecutingAttack.cpp +++ b/src/ScriptResolving/AngelScript/TypeRegistry/Battling/RegisterExecutingAttack.cpp @@ -9,6 +9,10 @@ void RegisterExecutingAttack::Register(asIScriptEngine* engine) { } BORROWED_PTR_GETTER_FUNC(CreatureLib::Battling::ExecutingAttack, CreatureLib::Battling::Creature, GetUser); BORROWED_PTR_GETTER_FUNC(CreatureLib::Battling::ExecutingAttack, CreatureLib::Battling::LearnedAttack, GetAttack); +static CreatureLib::Battling::ExecutingAttack::HitData* +GetHitDataWrapper(CreatureLib::Battling::ExecutingAttack* obj, CreatureLib::Battling::Creature* c, uint8_t hit) { + return &obj->GetHitData(c, hit); +} void RegisterExecutingAttack::RegisterHitData(asIScriptEngine* engine) { [[maybe_unused]] int r = engine->RegisterObjectType("HitData", 0, asOBJ_REF | asOBJ_NOCOUNT); @@ -38,7 +42,7 @@ void RegisterExecutingAttack::RegisterExecutingAttackType(asIScriptEngine* engin [[maybe_unused]] int r = engine->RegisterObjectType("ExecutingMove", 0, asOBJ_REF | asOBJ_NOCOUNT); Assert(r >= 0); r = engine->RegisterObjectMethod("ExecutingMove", "HitData@ GetHitData(Pokemon@ target, uint8 hit) const", - asMETHOD(CreatureLib::Battling::ExecutingAttack, GetHitData), asCALL_THISCALL); + asFUNCTION(GetHitDataWrapper), asCALL_CDECL_OBJFIRST); Assert(r >= 0); r = engine->RegisterObjectMethod("ExecutingMove", "bool IsPokemonTarget(Pokemon@ pkmn) const", asMETHOD(CreatureLib::Battling::ExecutingAttack, IsCreatureTarget),