From 42a26121ef09cce9ee336970d8b7dc705ce258f9 Mon Sep 17 00:00:00 2001 From: Orstedra Date: Tue, 27 May 2025 20:04:07 +0200 Subject: [PATCH 1/5] Initial commit --- .../rels/d_a_obj_girahim_footNP/symbols.txt | 13 ++++----- include/d/a/obj/d_a_obj_girahim_foot.h | 11 ++++++++ src/REL/d/a/obj/d_a_obj_girahim_foot.cpp | 28 +++++++++++++++++++ 3 files changed, 45 insertions(+), 7 deletions(-) diff --git a/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt b/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt index e1c14531..5b3720b2 100644 --- a/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt +++ b/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt @@ -9,17 +9,16 @@ __dt__30sFState_c<17dAcOgirahimFoot_c>Fv = .text:0x00000220; // type:function si __dt__33sFStateFct_c<17dAcOgirahimFoot_c>Fv = .text:0x00000280; // type:function size:0x6C __dt__86sStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002F0; // type:function size:0xA0 __dt__56sFStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c>Fv = .text:0x00000390; // type:function size:0xA4 -fn_425_440 = .text:0x00000440; // type:function size:0x80 -fn_425_4C0 = .text:0x000004C0; // type:function size:0xE8 +createHeap__17dAcOgirahimFoot_cFv = .text:0x00000440; // type:function size:0x80 +create__17dAcOgirahimFoot_cFv = .text:0x000004C0; // type:function size:0xE8 changeState__86sStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x000005B0; // type:function size:0x10 -fn_425_5C0 = .text:0x000005C0; // type:function size:0x8 -fn_425_5D0 = .text:0x000005D0; // type:function size:0x30 +doDelete__17dAcOgirahimFoot_cFv = .text:0x000005C0; // type:function size:0x8 +actorExecute__17dAcOgirahimFoot_cFv = .text:0x000005D0; // type:function size:0x30 executeState__86sStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x00000600; // type:function size:0x10 -fn_425_610 = .text:0x00000610; // type:function size:0xF4 +draw__17dAcOgirahimFoot_cFv = .text:0x00000610; // type:function size:0xF4 getStateID__86sStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000710; // type:function size:0x10 initializeState_Wait__17dAcOgirahimFoot_cFv = .text:0x00000720; // type:function size:0xC -executeState_Wait__17dAcOgirahimFoot_cFv = .text:0x00000730; // type:function size:0x24 -fn_425_754 = .text:0x00000754; // type:function size:0x4 +executeState_Wait__17dAcOgirahimFoot_cFv = .text:0x00000730; // type:function size:0x28 finalizeState_Wait__17dAcOgirahimFoot_cFv = .text:0x00000760; // type:function size:0x4 initializeState_Appear__17dAcOgirahimFoot_cFv = .text:0x00000770; // type:function size:0xC executeState_Appear__17dAcOgirahimFoot_cFv = .text:0x00000780; // type:function size:0x68 diff --git a/include/d/a/obj/d_a_obj_girahim_foot.h b/include/d/a/obj/d_a_obj_girahim_foot.h index 01476278..f8d5ee85 100644 --- a/include/d/a/obj/d_a_obj_girahim_foot.h +++ b/include/d/a/obj/d_a_obj_girahim_foot.h @@ -2,6 +2,8 @@ #define D_A_OBJ_GIRAHIM_FOOT_H #include "d/a/obj/d_a_obj_base.h" +#include "m/m3d/m_smdl.h" +#include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" #include "s/s_StateMgr.hpp" @@ -10,10 +12,19 @@ public: dAcOgirahimFoot_c() : mStateMgr(*this, sStateID::null) {} virtual ~dAcOgirahimFoot_c() {} + virtual int create() override; // fn_425_4C0 + virtual int doDelete() override; // fn_425_5C0 + virtual int draw() override; // fn_425_610 + virtual bool createHeap() override; // fn_425_440 + virtual int actorExecute() override; // fn_425_5D0 + STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Wait); STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Appear); private: + nw4r::g3d::ResFile mRes; + + m3d::smdl_c mMdl; /* 0x??? */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); }; diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp index c873f90a..d6bef2e5 100644 --- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp +++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp @@ -1,10 +1,38 @@ #include "d/a/obj/d_a_obj_girahim_foot.h" +#include "d/a/obj/d_a_obj_base.h" +#include "f/f_base.h" +#include "nw4r/g3d/res/g3d_resfile.h" + SPECIAL_ACTOR_PROFILE(OBJ_GIRAHIM_FOOT, dAcOgirahimFoot_c, fProfile::OBJ_GIRAHIM_FOOT, 0x210, 0, 6); STATE_DEFINE(dAcOgirahimFoot_c, Wait); STATE_DEFINE(dAcOgirahimFoot_c, Appear); +int dAcOgirahimFoot_c::create() { + return SUCCEEDED; +} + +int dAcOgirahimFoot_c::doDelete() { + return SUCCEEDED; +}; + +int dAcOgirahimFoot_c::draw() { + return SUCCEEDED; +} + +bool dAcOgirahimFoot_c::createHeap() { + mRes = nw4r::g3d::ResFile(getOarcResFile("Girahim_Foot")); + + nw4r::g3d::ResMdl resMdl = mRes.GetResMdl("Girahim_Foot"); + + TRY_CREATE(mMdl.create(resMdl, &heap_allocator, 0x120, 1, nullptr)); +} + +int dAcOgirahimFoot_c::actorExecute() { + return SUCCEEDED; +} + void dAcOgirahimFoot_c::initializeState_Wait() {} void dAcOgirahimFoot_c::executeState_Wait() {} void dAcOgirahimFoot_c::finalizeState_Wait() {} From 7990b7a957ab3b46061e43105d4b4c45e23e4b55 Mon Sep 17 00:00:00 2001 From: Orstedra Date: Wed, 28 May 2025 00:29:37 +0200 Subject: [PATCH 2/5] draw 100% --- include/d/a/obj/d_a_obj_girahim_foot.h | 8 ++++---- src/REL/d/a/obj/d_a_obj_girahim_foot.cpp | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/include/d/a/obj/d_a_obj_girahim_foot.h b/include/d/a/obj/d_a_obj_girahim_foot.h index f8d5ee85..5d0910c1 100644 --- a/include/d/a/obj/d_a_obj_girahim_foot.h +++ b/include/d/a/obj/d_a_obj_girahim_foot.h @@ -2,10 +2,10 @@ #define D_A_OBJ_GIRAHIM_FOOT_H #include "d/a/obj/d_a_obj_base.h" +#include "d/col/bg/d_bg_s_acch.h" #include "m/m3d/m_smdl.h" #include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" -#include "s/s_StateMgr.hpp" class dAcOgirahimFoot_c : public dAcObjBase_c { public: @@ -22,9 +22,9 @@ public: STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Appear); private: - nw4r::g3d::ResFile mRes; - - m3d::smdl_c mMdl; + /* */ nw4r::g3d::ResFile mRes; + /* */ m3d::smdl_c mMdl; + /* 0x350 */ m3d::mShadowCircle_c mShadow; /* 0x??? */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); }; diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp index d6bef2e5..5f32edf8 100644 --- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp +++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp @@ -3,6 +3,7 @@ #include "d/a/obj/d_a_obj_base.h" #include "f/f_base.h" #include "nw4r/g3d/res/g3d_resfile.h" +#include "s/s_State.hpp" SPECIAL_ACTOR_PROFILE(OBJ_GIRAHIM_FOOT, dAcOgirahimFoot_c, fProfile::OBJ_GIRAHIM_FOOT, 0x210, 0, 6); @@ -10,6 +11,20 @@ STATE_DEFINE(dAcOgirahimFoot_c, Wait); STATE_DEFINE(dAcOgirahimFoot_c, Appear); int dAcOgirahimFoot_c::create() { + CREATE_ALLOCATOR(dAcOgirahimFoot_c); + + updateMatrix(); + + mMdl.setLocalMtx(mWorldMtx); + + poscopy2.x = 13275.0f; + poscopy2.y = 2370.0f; + poscopy2.z = -11780.0f; + + mVec3_c min, max; + mMdl.getBounds(&min, &max); + boundingBox.Set(min, max); + return SUCCEEDED; } @@ -18,6 +33,11 @@ int dAcOgirahimFoot_c::doDelete() { }; int dAcOgirahimFoot_c::draw() { + if (*mStateMgr.getStateID() == StateID_Appear) { + drawModelType1(&mMdl); + static mQuat_c rot(0.0f, 25.0f, 0.0f, 200.0f); + fn_8002edb0(mShadow, mMdl, &rot, -1, -1, 0.0f); + } return SUCCEEDED; } From 73cb1f3f5b348532cc8d76d3d56794b974903d26 Mon Sep 17 00:00:00 2001 From: Orstedra Date: Wed, 28 May 2025 02:05:02 +0200 Subject: [PATCH 3/5] 86% --- include/d/a/obj/d_a_obj_girahim_foot.h | 7 +++-- src/REL/d/a/obj/d_a_obj_girahim_foot.cpp | 40 +++++++++++++++++++++--- 2 files changed, 40 insertions(+), 7 deletions(-) diff --git a/include/d/a/obj/d_a_obj_girahim_foot.h b/include/d/a/obj/d_a_obj_girahim_foot.h index 5d0910c1..658b4b2c 100644 --- a/include/d/a/obj/d_a_obj_girahim_foot.h +++ b/include/d/a/obj/d_a_obj_girahim_foot.h @@ -22,10 +22,11 @@ public: STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Appear); private: - /* */ nw4r::g3d::ResFile mRes; - /* */ m3d::smdl_c mMdl; + /* 0x330 */ nw4r::g3d::ResFile mRes; + /* 0x334 */ m3d::smdl_c mMdl; /* 0x350 */ m3d::mShadowCircle_c mShadow; - /* 0x??? */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); + /* 0x358 */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); + bool field_0x394; }; #endif diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp index 5f32edf8..9a88dcfc 100644 --- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp +++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp @@ -1,9 +1,13 @@ #include "d/a/obj/d_a_obj_girahim_foot.h" +#include "common.h" #include "d/a/obj/d_a_obj_base.h" #include "f/f_base.h" +#include "m/m_angle.h" +#include "m/m_vec.h" #include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" +#include "toBeSorted/d_emitter.h" SPECIAL_ACTOR_PROFILE(OBJ_GIRAHIM_FOOT, dAcOgirahimFoot_c, fProfile::OBJ_GIRAHIM_FOOT, 0x210, 0, 6); @@ -17,6 +21,8 @@ int dAcOgirahimFoot_c::create() { mMdl.setLocalMtx(mWorldMtx); + mStateMgr.changeState(StateID_Wait); + poscopy2.x = 13275.0f; poscopy2.y = 2370.0f; poscopy2.z = -11780.0f; @@ -47,15 +53,41 @@ bool dAcOgirahimFoot_c::createHeap() { nw4r::g3d::ResMdl resMdl = mRes.GetResMdl("Girahim_Foot"); TRY_CREATE(mMdl.create(resMdl, &heap_allocator, 0x120, 1, nullptr)); + + return true; } int dAcOgirahimFoot_c::actorExecute() { + mStateMgr.executeState(); return SUCCEEDED; } -void dAcOgirahimFoot_c::initializeState_Wait() {} -void dAcOgirahimFoot_c::executeState_Wait() {} +void dAcOgirahimFoot_c::initializeState_Wait() { + field_0x394 = false; +} + +void dAcOgirahimFoot_c::executeState_Wait() { + if (field_0x394) { + mStateMgr.changeState(StateID_Appear); + } + return; +} + void dAcOgirahimFoot_c::finalizeState_Wait() {} -void dAcOgirahimFoot_c::initializeState_Appear() {} -void dAcOgirahimFoot_c::executeState_Appear() {} + +void dAcOgirahimFoot_c::initializeState_Appear() { + field_0x394 = true; +} + +void dAcOgirahimFoot_c::executeState_Appear() { + if (!field_0x394) { + dJEffManager_c::spawnEffect( + PARTICLE_RESOURCE_ID_MAPPING_77_, position, (mAng3_c *)0x0, &mScale, nullptr, nullptr, 0, 0 + ); + fBase_c::deleteRequest(); + } + + return; +} + void dAcOgirahimFoot_c::finalizeState_Appear() {} From d697637fcf906d678b7854192e341c3336001cdf Mon Sep 17 00:00:00 2001 From: Orstedra Date: Wed, 28 May 2025 20:32:46 +0200 Subject: [PATCH 4/5] 95% --- include/d/a/obj/d_a_obj_girahim_foot.h | 3 ++- src/REL/d/a/obj/d_a_obj_girahim_foot.cpp | 33 ++++++++++++------------ 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/include/d/a/obj/d_a_obj_girahim_foot.h b/include/d/a/obj/d_a_obj_girahim_foot.h index 658b4b2c..fe9e6ed6 100644 --- a/include/d/a/obj/d_a_obj_girahim_foot.h +++ b/include/d/a/obj/d_a_obj_girahim_foot.h @@ -3,6 +3,7 @@ #include "d/a/obj/d_a_obj_base.h" #include "d/col/bg/d_bg_s_acch.h" +#include "d/d_shadow.h" #include "m/m3d/m_smdl.h" #include "nw4r/g3d/res/g3d_resfile.h" #include "s/s_State.hpp" @@ -24,7 +25,7 @@ public: private: /* 0x330 */ nw4r::g3d::ResFile mRes; /* 0x334 */ m3d::smdl_c mMdl; - /* 0x350 */ m3d::mShadowCircle_c mShadow; + /* 0x350 */ dShadowCircle_c mShadow; /* 0x358 */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); bool field_0x394; }; diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp index 9a88dcfc..cab38aae 100644 --- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp +++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp @@ -14,6 +14,16 @@ SPECIAL_ACTOR_PROFILE(OBJ_GIRAHIM_FOOT, dAcOgirahimFoot_c, fProfile::OBJ_GIRAHIM STATE_DEFINE(dAcOgirahimFoot_c, Wait); STATE_DEFINE(dAcOgirahimFoot_c, Appear); +bool dAcOgirahimFoot_c::createHeap() { + mRes = nw4r::g3d::ResFile(getOarcResFile("Girahim_Foot")); + + nw4r::g3d::ResMdl resMdl = mRes.GetResMdl("Girahim_Foot"); + + TRY_CREATE(mMdl.create(resMdl, &heap_allocator, 0x120, 1, nullptr)); + + return true; +} + int dAcOgirahimFoot_c::create() { CREATE_ALLOCATOR(dAcOgirahimFoot_c); @@ -47,16 +57,6 @@ int dAcOgirahimFoot_c::draw() { return SUCCEEDED; } -bool dAcOgirahimFoot_c::createHeap() { - mRes = nw4r::g3d::ResFile(getOarcResFile("Girahim_Foot")); - - nw4r::g3d::ResMdl resMdl = mRes.GetResMdl("Girahim_Foot"); - - TRY_CREATE(mMdl.create(resMdl, &heap_allocator, 0x120, 1, nullptr)); - - return true; -} - int dAcOgirahimFoot_c::actorExecute() { mStateMgr.executeState(); return SUCCEEDED; @@ -80,14 +80,15 @@ void dAcOgirahimFoot_c::initializeState_Appear() { } void dAcOgirahimFoot_c::executeState_Appear() { - if (!field_0x394) { - dJEffManager_c::spawnEffect( - PARTICLE_RESOURCE_ID_MAPPING_77_, position, (mAng3_c *)0x0, &mScale, nullptr, nullptr, 0, 0 - ); - fBase_c::deleteRequest(); + if (field_0x394) { + return; } - return; + dJEffManager_c::spawnEffect( + PARTICLE_RESOURCE_ID_MAPPING_77_, position, (mAng3_c *)0x0, &mScale, nullptr, nullptr, 0, 0 + ); + + deleteRequest(); } void dAcOgirahimFoot_c::finalizeState_Appear() {} From 5a51c7ac95c61f7fe608732f51e5daf94e8da452 Mon Sep 17 00:00:00 2001 From: Orstedra Date: Thu, 29 May 2025 11:52:21 +0200 Subject: [PATCH 5/5] executeState_appear() 92% --- .../rels/d_a_obj_girahim_footNP/symbols.txt | 20 +++++++++---------- include/d/a/obj/d_a_obj_girahim_foot.h | 12 +++++------ src/REL/d/a/obj/d_a_obj_girahim_foot.cpp | 5 ++--- 3 files changed, 18 insertions(+), 19 deletions(-) diff --git a/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt b/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt index 5b3720b2..3366d7c3 100644 --- a/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt +++ b/config/SOUE01/rels/d_a_obj_girahim_footNP/symbols.txt @@ -4,7 +4,7 @@ _unresolved = .text:0x00000060; // type:function size:0x4 scope:global __register_global_object = .text:0x00000070; // type:function size:0x1C scope:global __destroy_global_chain = .text:0x00000090; // type:function size:0x54 scope:global dAcOgirahimFoot_c_classInit__Fv = .text:0x000000F0; // type:function size:0xD0 -fn_425_1C0 = .text:0x000001C0; // type:function size:0x58 +__dt__15dShadowCircle_cFv = .text:0x000001C0; // type:function size:0x58 __dt__30sFState_c<17dAcOgirahimFoot_c>Fv = .text:0x00000220; // type:function size:0x58 __dt__33sFStateFct_c<17dAcOgirahimFoot_c>Fv = .text:0x00000280; // type:function size:0x6C __dt__86sStateMgr_c<17dAcOgirahimFoot_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x000002F0; // type:function size:0xA0 @@ -46,15 +46,15 @@ _dtors = .dtors:0x00000000; // type:label scope:global __destroy_global_chain_reference = .dtors:0x00000000; // type:object size:0x4 scope:global lbl_425_rodata_0 = .rodata:0x00000000; // type:object size:0x18 data:float g_profile_OBJ_GIRAHIM_FOOT = .data:0x00000000; // type:object size:0x10 data:4byte -lbl_425_data_10 = .data:0x00000010; // type:object size:0x10 -lbl_425_data_20 = .data:0x00000020; // type:object size:0x20 -lbl_425_data_40 = .data:0x00000040; // type:object size:0x80 -lbl_425_data_C0 = .data:0x000000C0; // type:object size:0x30 -lbl_425_data_F0 = .data:0x000000F0; // type:object size:0x30 -lbl_425_data_120 = .data:0x00000120; // type:object size:0x18 -lbl_425_data_138 = .data:0x00000138; // type:object size:0x18 -lbl_425_data_150 = .data:0x00000150; // type:object size:0x9C -lbl_425_data_1EC = .data:0x000001EC; // type:object size:0x34 +lbl_425_data_10 = .data:0x00000010; // type:object size:0x10 scope:local +lbl_425_data_20 = .data:0x00000020; // type:object size:0x20 scope:local +__vt__17dAcOgirahimFoot_c = .data:0x00000040; // type:object size:0x80 +lbl_425_data_C0 = .data:0x000000C0; // type:object size:0x30 scope:local +lbl_425_data_F0 = .data:0x000000F0; // type:object size:0x30 scope:local +lbl_425_data_120 = .data:0x00000120; // type:object size:0x18 scope:local +lbl_425_data_138 = .data:0x00000138; // type:object size:0x18 scope:local +lbl_425_data_150 = .data:0x00000150; // type:object size:0x9C scope:local +lbl_425_data_1EC = .data:0x000001EC; // type:object size:0x34 scope:local __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global lbl_425_bss_8 = .bss:0x00000008; // type:object size:0x10 data:4byte lbl_425_bss_18 = .bss:0x00000018; // type:object size:0x40 data:4byte diff --git a/include/d/a/obj/d_a_obj_girahim_foot.h b/include/d/a/obj/d_a_obj_girahim_foot.h index fe9e6ed6..ddc5199a 100644 --- a/include/d/a/obj/d_a_obj_girahim_foot.h +++ b/include/d/a/obj/d_a_obj_girahim_foot.h @@ -13,11 +13,11 @@ public: dAcOgirahimFoot_c() : mStateMgr(*this, sStateID::null) {} virtual ~dAcOgirahimFoot_c() {} - virtual int create() override; // fn_425_4C0 - virtual int doDelete() override; // fn_425_5C0 - virtual int draw() override; // fn_425_610 - virtual bool createHeap() override; // fn_425_440 - virtual int actorExecute() override; // fn_425_5D0 + virtual int create() override; + virtual int doDelete() override; + virtual int draw() override; + virtual bool createHeap() override; + virtual int actorExecute() override; STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Wait); STATE_FUNC_DECLARE(dAcOgirahimFoot_c, Appear); @@ -27,7 +27,7 @@ private: /* 0x334 */ m3d::smdl_c mMdl; /* 0x350 */ dShadowCircle_c mShadow; /* 0x358 */ STATE_MGR_DECLARE(dAcOgirahimFoot_c); - bool field_0x394; + /* 0x394 */ bool field_0x394; }; #endif diff --git a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp index cab38aae..4e00ed88 100644 --- a/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp +++ b/src/REL/d/a/obj/d_a_obj_girahim_foot.cpp @@ -79,14 +79,13 @@ void dAcOgirahimFoot_c::initializeState_Appear() { field_0x394 = true; } +// Not matching by one instruction void dAcOgirahimFoot_c::executeState_Appear() { if (field_0x394) { return; } - dJEffManager_c::spawnEffect( - PARTICLE_RESOURCE_ID_MAPPING_77_, position, (mAng3_c *)0x0, &mScale, nullptr, nullptr, 0, 0 - ); + dJEffManager_c::spawnEffect(PARTICLE_RESOURCE_ID_MAPPING_77_, position, nullptr, &mScale, nullptr, nullptr, 0, 0); deleteRequest(); }