From 928ff4f07be62d7f46abecfa2956a8308217d202 Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Sun, 10 May 2026 16:11:54 -0400 Subject: [PATCH] Add fopAcM_RegisterCreateID/fopAcM_RegisterDeleteID macros from TP decomp --- include/f_op/f_op_actor_mng.h | 6 ++++++ src/d/actor/d_a_door10.cpp | 3 ++- src/d/actor/d_a_npc_jb1.cpp | 5 ++++- src/d/actor/d_a_npc_km1.cpp | 5 ++++- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index 8df4ccf8c..e54d703af 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -29,6 +29,12 @@ #define fopAcM_ct_Retail fopAcM_ct #endif +#define fopAcM_RegisterDeleteID(i_this) \ + fopAcM_GetID(i_this) + +#define fopAcM_RegisterCreateID(i_this) \ + fopAcM_GetID(i_this) + class J3DModelData; class daItem_c; diff --git a/src/d/actor/d_a_door10.cpp b/src/d/actor/d_a_door10.cpp index ef1a68919..3df40d9f9 100644 --- a/src/d/actor/d_a_door10.cpp +++ b/src/d/actor/d_a_door10.cpp @@ -837,7 +837,7 @@ static BOOL daDoor10_IsDelete(daDoor10_c*) { /* 00001CD4-00001E18 .text daDoor10_Delete__FP10daDoor10_c */ static BOOL daDoor10_Delete(daDoor10_c* i_this) { - fpc_ProcID proc = fopAcM_GetID(i_this); + fopAcM_RegisterDeleteID(i_this); #if VERSION > VERSION_DEMO if (i_this->heap != NULL) @@ -867,6 +867,7 @@ static BOOL daDoor10_Delete(daDoor10_c* i_this) { /* 00001E18-00001EA8 .text daDoor10_Create__FP10fopAc_ac_c */ static cPhs_State daDoor10_Create(fopAc_ac_c* a_this) { + fopAcM_RegisterCreateID(a_this); fopAcM_ct(a_this, daDoor10_c); return ((daDoor10_c*)a_this)->create(); } diff --git a/src/d/actor/d_a_npc_jb1.cpp b/src/d/actor/d_a_npc_jb1.cpp index a7a725ae5..c07b012f9 100644 --- a/src/d/actor/d_a_npc_jb1.cpp +++ b/src/d/actor/d_a_npc_jb1.cpp @@ -532,7 +532,8 @@ BOOL daNpc_Jb1_c::_execute() { /* 00000FBC-00001054 .text _delete__11daNpc_Jb1_cFv */ BOOL daNpc_Jb1_c::_delete() { - // fopAcM_GetID(); mentioned in debug map + fopAcM_RegisterDeleteID(this); + dComIfG_resDeleteDemo(&mPhs, "Jb"); dKy_plight_cut(&field_0x7F8); @@ -560,6 +561,8 @@ static BOOL CheckCreateHeap(fopAc_ac_c* i_this) { /* 00001074-000011B8 .text _create__11daNpc_Jb1_cFv */ cPhs_State daNpc_Jb1_c::_create() { + fopAcM_RegisterCreateID(this); + static u32 a_size_tbl[] = { 0x000272E0 }; diff --git a/src/d/actor/d_a_npc_km1.cpp b/src/d/actor/d_a_npc_km1.cpp index b1a917677..a0ad78cec 100644 --- a/src/d/actor/d_a_npc_km1.cpp +++ b/src/d/actor/d_a_npc_km1.cpp @@ -682,7 +682,8 @@ BOOL daNpc_Km1_c::_execute() { /* 00001808-0000188C .text _delete__11daNpc_Km1_cFv */ BOOL daNpc_Km1_c::_delete() { - fopAcM_GetID(this); + fopAcM_RegisterDeleteID(this); + dComIfG_resDeleteDemo(&field_0x6C4,"Km"); if(mpMorf != NULL){ @@ -705,6 +706,8 @@ static BOOL CheckCreateHeap(fopAc_ac_c* actor) { /* 000018AC-00001A1C .text _create__11daNpc_Km1_cFv */ cPhs_State daNpc_Km1_c::_create() { + fopAcM_RegisterCreateID(this); + static int a_heap_size_tbl[] = { 0x272E0 };