From 9a3f07b7da5747f12393f97a99a1c1d9764da330 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Fri, 21 Mar 2025 01:42:04 -0400 Subject: [PATCH] Fix obj_shelf weak order, fix MoveBG inline usage --- configure.py | 2 +- include/d/actor/d_a_npc_ba1.h | 6 +++++- include/d/actor/d_a_obj_swhammer.h | 2 +- src/d/actor/d_a_fan.cpp | 2 +- src/d/actor/d_a_obj_ebomzo.cpp | 4 ++-- src/d/actor/d_a_obj_mknjd.cpp | 4 ++-- src/d/actor/d_a_obj_shelf.cpp | 4 ++-- src/d/actor/d_a_obj_swhammer.cpp | 6 +++--- src/d/actor/d_a_obj_vfan.cpp | 4 ++-- 9 files changed, 19 insertions(+), 15 deletions(-) diff --git a/configure.py b/configure.py index 9c9fef935..618722b68 100755 --- a/configure.py +++ b/configure.py @@ -1401,7 +1401,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_quake"), ActorRel(NonMatching, "d_a_obj_rcloud"), ActorRel(Matching, "d_a_obj_roten", extra_cflags=['-pragma "nosyminline on"']), - ActorRel(Equivalent, "d_a_obj_shelf"), # weak func order + ActorRel(Matching, "d_a_obj_shelf"), ActorRel(NonMatching, "d_a_obj_shmrgrd"), ActorRel(NonMatching, "d_a_obj_swpush"), ActorRel(NonMatching, "d_a_obj_table"), diff --git a/include/d/actor/d_a_npc_ba1.h b/include/d/actor/d_a_npc_ba1.h index a6dde225b..502fc36fc 100644 --- a/include/d/actor/d_a_npc_ba1.h +++ b/include/d/actor/d_a_npc_ba1.h @@ -107,7 +107,11 @@ public: void CreateHeap(); public: - /* 0x290 */ u8 m290[0x7f9 - 0x290]; + /* 0x290 */ u8 m290[0x7F8 - 0x290]; +#if VERSION != VERSION_JPN + /* 0x7F8 */ u8 m7F8; +#endif + /* Offsets below are for USA/PAL */ /* 0x7F9 */ u8 mHoldEvent; }; diff --git a/include/d/actor/d_a_obj_swhammer.h b/include/d/actor/d_a_obj_swhammer.h index 12e8d1162..f89b81614 100644 --- a/include/d/actor/d_a_obj_swhammer.h +++ b/include/d/actor/d_a_obj_swhammer.h @@ -51,7 +51,7 @@ namespace daObjSwhammer { virtual BOOL Execute(Mtx**); virtual BOOL Draw(); - virtual ~Act_c() {}; + virtual ~Act_c() {} static int M_damage; static short M_damage_dir; diff --git a/src/d/actor/d_a_fan.cpp b/src/d/actor/d_a_fan.cpp index 033793744..92ea8d977 100644 --- a/src/d/actor/d_a_fan.cpp +++ b/src/d/actor/d_a_fan.cpp @@ -272,7 +272,7 @@ static BOOL daFan_Delete(void* i_this) { /* 000011CC-000011F8 .text daFan_Draw__FPv */ static BOOL daFan_Draw(void* i_this) { - return ((daFan_c*)i_this)->Draw(); + return ((daFan_c*)i_this)->MoveBGDraw(); } /* 000011F8-00001218 .text daFan_Execute__FPv */ diff --git a/src/d/actor/d_a_obj_ebomzo.cpp b/src/d/actor/d_a_obj_ebomzo.cpp index b4a18890e..45e13800f 100644 --- a/src/d/actor/d_a_obj_ebomzo.cpp +++ b/src/d/actor/d_a_obj_ebomzo.cpp @@ -230,12 +230,12 @@ namespace daObjEbomzo { /* 00000BFC-00000C28 .text Mthd_Draw__Q211daObjEbomzo28@unnamed@d_a_obj_ebomzo_cpp@FPv */ BOOL Mthd_Draw(void* i_this) { - return static_cast(i_this)->Draw(); + return static_cast(i_this)->MoveBGDraw(); } /* 00000C28-00000C54 .text Mthd_IsDelete__Q211daObjEbomzo28@unnamed@d_a_obj_ebomzo_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { - return static_cast(i_this)->IsDelete(); + return static_cast(i_this)->MoveBGIsDelete(); } static actor_method_class Mthd_Ebomzo = { diff --git a/src/d/actor/d_a_obj_mknjd.cpp b/src/d/actor/d_a_obj_mknjd.cpp index dae8ac8b6..060ae1461 100644 --- a/src/d/actor/d_a_obj_mknjd.cpp +++ b/src/d/actor/d_a_obj_mknjd.cpp @@ -988,12 +988,12 @@ namespace daObjMknjD { /* 00002490-000024BC .text Mthd_Draw__Q210daObjMknjD27@unnamed@d_a_obj_mknjd_cpp@FPv */ BOOL Mthd_Draw(void* i_this) { - return static_cast(i_this)->Draw(); + return static_cast(i_this)->MoveBGDraw(); } /* 000024BC-000024E8 .text Mthd_IsDelete__Q210daObjMknjD27@unnamed@d_a_obj_mknjd_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { - return static_cast(i_this)->IsDelete(); + return static_cast(i_this)->MoveBGIsDelete(); } static actor_method_class Mthd_Table = { diff --git a/src/d/actor/d_a_obj_shelf.cpp b/src/d/actor/d_a_obj_shelf.cpp index 00d16525d..1418a71ee 100644 --- a/src/d/actor/d_a_obj_shelf.cpp +++ b/src/d/actor/d_a_obj_shelf.cpp @@ -284,12 +284,12 @@ BOOL Mthd_Execute(void* i_this) { /* 00000AB0-00000ADC .text Mthd_Draw__Q210daObjShelf27@unnamed@d_a_obj_shelf_cpp@FPv */ BOOL Mthd_Draw(void* i_this) { - return static_cast(i_this)->Draw(); + return static_cast(i_this)->MoveBGDraw(); } /* 00000ADC-00000B08 .text Mthd_IsDelete__Q210daObjShelf27@unnamed@d_a_obj_shelf_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { - return static_cast(i_this)->IsDelete(); + return static_cast(i_this)->MoveBGIsDelete(); } static actor_method_class Mthd_Table = { diff --git a/src/d/actor/d_a_obj_swhammer.cpp b/src/d/actor/d_a_obj_swhammer.cpp index 514d66a09..cf9e21866 100644 --- a/src/d/actor/d_a_obj_swhammer.cpp +++ b/src/d/actor/d_a_obj_swhammer.cpp @@ -181,7 +181,7 @@ cPhs_State daObjSwhammer::Act_c::_create() { /* 000007F8-00000828 .text Delete__Q213daObjSwhammer5Act_cFv */ BOOL daObjSwhammer::Act_c::Delete() { - mSmokeCb.end(); + mSmokeCb.remove(); return TRUE; } @@ -458,12 +458,12 @@ BOOL Mthd_Execute(void* i_this) { /* 000015C8-000015F4 .text Mthd_Draw__Q213daObjSwhammer30@unnamed@d_a_obj_swhammer_cpp@FPv */ BOOL Mthd_Draw(void* i_this) { - return static_cast(i_this)->Draw(); + return static_cast(i_this)->MoveBGDraw(); } /* 000015F4-00001620 .text Mthd_IsDelete__Q213daObjSwhammer30@unnamed@d_a_obj_swhammer_cpp@FPv */ BOOL Mthd_IsDelete(void* i_this) { - return static_cast(i_this)->IsDelete(); + return static_cast(i_this)->MoveBGIsDelete(); } static actor_method_class Mthd_Table = { diff --git a/src/d/actor/d_a_obj_vfan.cpp b/src/d/actor/d_a_obj_vfan.cpp index 1fb377d4d..21c8f8599 100644 --- a/src/d/actor/d_a_obj_vfan.cpp +++ b/src/d/actor/d_a_obj_vfan.cpp @@ -228,10 +228,10 @@ static BOOL Mthd_Execute(void* i_this) { return static_cast(i_this)->MoveBGExecute(); } static BOOL Mthd_Draw(void* i_this) { - return static_cast(i_this)->Draw(); + return static_cast(i_this)->MoveBGDraw(); } static BOOL Mthd_IsDelete(void* i_this) { - return static_cast(i_this)->IsDelete(); + return static_cast(i_this)->MoveBGIsDelete(); } static actor_method_class Mthd_Vfan = {