From f6bb094fefb68e1bff5dc2e4c6d8c815920aff1f Mon Sep 17 00:00:00 2001 From: Wishful1 Date: Fri, 19 Jan 2024 05:39:08 +1100 Subject: [PATCH 1/5] work on d_a_dummy --- src/d/actor/d_a_dummy.cpp | 92 +++++++++++++++++++++++++++++++++------ 1 file changed, 78 insertions(+), 14 deletions(-) diff --git a/src/d/actor/d_a_dummy.cpp b/src/d/actor/d_a_dummy.cpp index 3fbedf772..042de7d3e 100644 --- a/src/d/actor/d_a_dummy.cpp +++ b/src/d/actor/d_a_dummy.cpp @@ -4,39 +4,103 @@ // #include "d/actor/d_a_dummy.h" -#include "dolphin/types.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" +#include "m_Do/m_Do_mtx.h" /* 00000078-0000009C .text solidHeapCB__Q27daDummy5Act_cFP10fopAc_ac_c */ -void daDummy::Act_c::solidHeapCB(fopAc_ac_c*) { - /* Nonmatching */ +BOOL daDummy::Act_c::solidHeapCB(fopAc_ac_c* i_this) { + return ((Act_c*)i_this)->create_heap(); } /* 0000009C-000000A4 .text create_heap__Q27daDummy5Act_cFv */ -void daDummy::Act_c::create_heap() { - /* Nonmatching */ +bool daDummy::Act_c::create_heap() { + return 1; } /* 000000A4-0000015C .text _create__Q27daDummy5Act_cFv */ -s32 daDummy::Act_c::_create() { - /* Nonmatching */ +s32 daDummy::Act_c::_create() { + fopAcM_SetupActor(this, Act_c); + + if (fopAcM_entrySolidHeap(this, solidHeapCB, 0) != 0) { + set_mtx(); + fopAcM_SetMtx(this, field_0x29c); + fopAcM_setCullSizeBox(this, -100.0, -1000.0, -100.0, 100.0, 100.0, 100.0); + } + return cPhs_COMPLEATE_e; } /* 0000015C-00000164 .text _delete__Q27daDummy5Act_cFv */ -BOOL daDummy::Act_c::_delete() { - /* Nonmatching */ +bool daDummy::Act_c::_delete() { + return 1; } /* 00000164-000001CC .text set_mtx__Q27daDummy5Act_cFv */ void daDummy::Act_c::set_mtx() { - /* Nonmatching */ + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + cMtx_copy(mDoMtx_stack_c::get(), field_0x29c); } /* 000001CC-000001D4 .text _execute__Q27daDummy5Act_cFv */ -BOOL daDummy::Act_c::_execute() { - /* Nonmatching */ +bool daDummy::Act_c::_execute() { + return 1; } /* 000001D4-000001DC .text _draw__Q27daDummy5Act_cFv */ -BOOL daDummy::Act_c::_draw() { - /* Nonmatching */ +bool daDummy::Act_c::_draw() { + return 1; } + +inline daDummy::Act_c::~Act_c() {} + + +namespace daDummy { + namespace { + s32 Mthd_Create(void* i_this) { + return static_cast(i_this)->_create(); + } + + BOOL Mthd_Delete(void* i_this) { + return static_cast(i_this)->_delete(); + } + + BOOL Mthd_Execute(void* i_this) { + return static_cast(i_this)->_execute(); + } + + BOOL Mthd_Draw(void* i_this) { + return ((Act_c*)i_this)->_draw(); + } + + BOOL Mthd_IsDelete(void* i_this) { + return 1; + } + static actor_method_class Mthd_Table = { + (process_method_func)Mthd_Create, + (process_method_func)Mthd_Delete, + (process_method_func)Mthd_Execute, + (process_method_func)Mthd_IsDelete, + (process_method_func)Mthd_Draw, + }; + } +} + +actor_process_profile_definition g_profile_Dummy = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 7, + /* ListPrio */ fpcLy_CURRENT_e, + /* ProcName */ PROC_Dummy, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(daDummy::Act_c), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x0060, + /* Actor SubMtd */ &daDummy::Mthd_Table, + /* Status */ fopAcStts_UNK40000_e, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_CUSTOM_e, +}; + + From 03c5c761d7347bea29a6cd08545960d7f98a37ef Mon Sep 17 00:00:00 2001 From: Wishful1 Date: Fri, 19 Jan 2024 05:42:02 +1100 Subject: [PATCH 2/5] work on d_a_dummy.h --- include/d/actor/d_a_dummy.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/include/d/actor/d_a_dummy.h b/include/d/actor/d_a_dummy.h index f7602a4eb..93ab418bf 100644 --- a/include/d/actor/d_a_dummy.h +++ b/include/d/actor/d_a_dummy.h @@ -6,16 +6,21 @@ namespace daDummy { class Act_c : public fopAc_ac_c { public: - void solidHeapCB(fopAc_ac_c*); - void create_heap(); + static BOOL solidHeapCB(fopAc_ac_c*); + bool create_heap(); s32 _create(); - BOOL _delete(); + bool _delete(); void set_mtx(); - BOOL _execute(); - BOOL _draw(); - + bool _execute(); + bool _draw(); + + virtual ~Act_c(); + public: /* Place member variables here */ + /* 0x290 */ // vtable + /* 0x294 */ u8 field_0x294[0x29c - 0x294]; + /* 0x29c */ Mtx field_0x29c; }; }; From 1642f22d7259530a81be80d5af7018022fb1b8a2 Mon Sep 17 00:00:00 2001 From: Wishful1 Date: Fri, 19 Jan 2024 05:45:46 +1100 Subject: [PATCH 3/5] cleaning up d_a_dummy --- include/d/actor/d_a_dummy.h | 2 +- src/d/actor/d_a_dummy.cpp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/include/d/actor/d_a_dummy.h b/include/d/actor/d_a_dummy.h index 93ab418bf..31afefb14 100644 --- a/include/d/actor/d_a_dummy.h +++ b/include/d/actor/d_a_dummy.h @@ -14,7 +14,7 @@ namespace daDummy { bool _execute(); bool _draw(); - virtual ~Act_c(); + virtual ~Act_c() {} public: /* Place member variables here */ diff --git a/src/d/actor/d_a_dummy.cpp b/src/d/actor/d_a_dummy.cpp index 042de7d3e..fba60f078 100644 --- a/src/d/actor/d_a_dummy.cpp +++ b/src/d/actor/d_a_dummy.cpp @@ -52,9 +52,6 @@ bool daDummy::Act_c::_draw() { return 1; } -inline daDummy::Act_c::~Act_c() {} - - namespace daDummy { namespace { s32 Mthd_Create(void* i_this) { From 2b26dd624b50cb8da1c6326c512fea8c2335c54e Mon Sep 17 00:00:00 2001 From: Wishful1 <79736668+Wishful1@users.noreply.github.com> Date: Fri, 19 Jan 2024 05:59:13 +1100 Subject: [PATCH 4/5] Update configure.py --- configure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.py b/configure.py index b271e7b40..5a17e5ee3 100644 --- a/configure.py +++ b/configure.py @@ -1418,7 +1418,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_daiocta_eye"), ActorRel(NonMatching, "d_a_deku_item"), ActorRel(NonMatching, "d_a_dk"), - ActorRel(NonMatching, "d_a_dummy"), + ActorRel(Matching, "d_a_dummy"), ActorRel(NonMatching, "d_a_fallrock_tag"), ActorRel(Matching, "d_a_fan", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_fganon"), From 20f9a3e2b1cb8273571fdc34f30e3d5e59e61ccb Mon Sep 17 00:00:00 2001 From: Wishful1 <79736668+Wishful1@users.noreply.github.com> Date: Fri, 19 Jan 2024 09:18:28 +1100 Subject: [PATCH 5/5] changed boolean types --- src/d/actor/d_a_dummy.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/d/actor/d_a_dummy.cpp b/src/d/actor/d_a_dummy.cpp index fba60f078..e5f719022 100644 --- a/src/d/actor/d_a_dummy.cpp +++ b/src/d/actor/d_a_dummy.cpp @@ -15,7 +15,7 @@ BOOL daDummy::Act_c::solidHeapCB(fopAc_ac_c* i_this) { /* 0000009C-000000A4 .text create_heap__Q27daDummy5Act_cFv */ bool daDummy::Act_c::create_heap() { - return 1; + return true; } /* 000000A4-0000015C .text _create__Q27daDummy5Act_cFv */ @@ -32,7 +32,7 @@ s32 daDummy::Act_c::_create() { /* 0000015C-00000164 .text _delete__Q27daDummy5Act_cFv */ bool daDummy::Act_c::_delete() { - return 1; + return true; } /* 00000164-000001CC .text set_mtx__Q27daDummy5Act_cFv */ @@ -44,12 +44,12 @@ void daDummy::Act_c::set_mtx() { /* 000001CC-000001D4 .text _execute__Q27daDummy5Act_cFv */ bool daDummy::Act_c::_execute() { - return 1; + return true; } /* 000001D4-000001DC .text _draw__Q27daDummy5Act_cFv */ bool daDummy::Act_c::_draw() { - return 1; + return true; } namespace daDummy { @@ -71,7 +71,7 @@ namespace daDummy { } BOOL Mthd_IsDelete(void* i_this) { - return 1; + return TRUE; } static actor_method_class Mthd_Table = { (process_method_func)Mthd_Create,