From 90f9ae8c21308cf045c7da92e7e34caae32f3504 Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Fri, 27 Sep 2024 20:30:51 -0400 Subject: [PATCH] Name unk IScnObjCallback funcs --- config/SOUE01/rels/d_a_obj_appear_bridgeNP/symbols.txt | 4 ++-- include/d/a/obj/d_a_obj_appear_bridge.h | 6 +++--- include/nw4r/g3d/g3d_scnobj.h | 5 ++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/config/SOUE01/rels/d_a_obj_appear_bridgeNP/symbols.txt b/config/SOUE01/rels/d_a_obj_appear_bridgeNP/symbols.txt index 8559a1ae..6737701c 100644 --- a/config/SOUE01/rels/d_a_obj_appear_bridgeNP/symbols.txt +++ b/config/SOUE01/rels/d_a_obj_appear_bridgeNP/symbols.txt @@ -27,8 +27,8 @@ executeState_Disappear__18dAcOappearBridge_cFv = .text:0x00000B20; // type:funct finalizeState_Disappear__18dAcOappearBridge_cFv = .text:0x00000C20; // type:function size:0x4 __dt__18dAcOappearBridge_cFv = .text:0x00000C30; // type:function size:0xFC getStateID__87sStateMgr_c<18dAcOappearBridge_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x00000D30; // type:function size:0x10 -ExecCallback_CALC_0x1C__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D40; // type:function size:0x4 -ExecCallback_CALC_0x18__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D50; // type:function size:0x4 +ExecCallback_DRAW_XLU__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D40; // type:function size:0x4 +ExecCallback_DRAW_OPA__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D50; // type:function size:0x4 ExecCallback_CALC_MAT__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D60; // type:function size:0x4 ExecCallback_CALC_WORLD__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D70; // type:function size:0x4 ExecCallback_CALC_VIEW__Q34nw4r3g3d15IScnObjCallbackFQ44nw4r3g3d6ScnObj6TimingPQ34nw4r3g3d6ScnObjUlPv = .text:0x00000D80; // type:function size:0x4 diff --git a/include/d/a/obj/d_a_obj_appear_bridge.h b/include/d/a/obj/d_a_obj_appear_bridge.h index a6c6bff1..388929d6 100644 --- a/include/d/a/obj/d_a_obj_appear_bridge.h +++ b/include/d/a/obj/d_a_obj_appear_bridge.h @@ -37,9 +37,9 @@ class dAcOappearBridge_c : public dAcObjBase_c { ActorEventRelated mActorEvent; // TODO the weak IScnObjCallback functions are in the wrong order. - // The vtable order is dtor, World, Mat, View, 0x18, 0x1C - // and the emitted order is dtor, 0x1C, 0x18, View, Mat, World - // but the order in the binary is dtor, 0x1C, 0x18, Mat, World, View + // The vtable order is dtor, World, Mat, View, Opa, Xlu + // and the emitted order is dtor, Xlu, Opa, View, Mat, World + // but the order in the binary is dtor, Xlu, Opa, Mat, World, View dScnCallback_c mSceneCallback; /* 0x650 */ mVec3_c mSoundPosition; /* 0x65C */ f32 field_0x65C; diff --git a/include/nw4r/g3d/g3d_scnobj.h b/include/nw4r/g3d/g3d_scnobj.h index d71068bc..61cd03d8 100644 --- a/include/nw4r/g3d/g3d_scnobj.h +++ b/include/nw4r/g3d/g3d_scnobj.h @@ -144,9 +144,8 @@ struct IScnObjCallback { virtual void ExecCallback_CALC_WORLD(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0xC virtual void ExecCallback_CALC_MAT(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x10 virtual void ExecCallback_CALC_VIEW(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x14 - // SS: We apparently have two more members - virtual void ExecCallback_CALC_0x18(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x18 - virtual void ExecCallback_CALC_0x1C(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x1C + virtual void ExecCallback_DRAW_OPA(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x18 + virtual void ExecCallback_DRAW_XLU(ScnObj::Timing, ScnObj *, u32, void *) {} // at 0x1C }; // Is there a better way of resolving this dependency?