diff options
| author | Jasper St. Pierre <jstpierre@mecheye.net> | 2023-11-26 15:25:15 -0800 |
|---|---|---|
| committer | Jasper St. Pierre <jstpierre@mecheye.net> | 2023-11-26 15:25:15 -0800 |
| commit | 3da166c0b75291df646efe0201addafe12d631c9 (patch) | |
| tree | ea15e36536f494d815acb92675a74e84790ea475 /src/d/actor/d_a_obj_wood.cpp | |
| parent | ed215c92aaa77761dae0c698e0abe759da7d4801 (diff) | |
d_a_obj_wood match
Diffstat (limited to 'src/d/actor/d_a_obj_wood.cpp')
| -rw-r--r-- | src/d/actor/d_a_obj_wood.cpp | 73 |
1 files changed, 61 insertions, 12 deletions
diff --git a/src/d/actor/d_a_obj_wood.cpp b/src/d/actor/d_a_obj_wood.cpp index 014d9f63..f443639f 100644 --- a/src/d/actor/d_a_obj_wood.cpp +++ b/src/d/actor/d_a_obj_wood.cpp @@ -4,32 +4,81 @@ // #include "d/actor/d_a_obj_wood.h" -#include "dolphin/types.h" +#include "d/d_com_inf_game.h" +#include "d/d_procname.h" +#include "f_op/f_op_actor_mng.h" +#include "JSystem/JKernel/JKRHeap.h" + +s32 daObjWood::Act_c::_create() { + fopAcM_SetupActor(this, Act_c); + if (dComIfGp_createWood() != NULL) + dComIfGp_getWood()->put_unit(current.pos, fopAcM_GetRoomNo(this)); + return cPhs_ERROR_e; +} + +bool daObjWood::Act_c::_delete() { + return true; +} + +bool daObjWood::Act_c::_execute() { + mCyl.SetC(current.pos); + return true; +} + +bool daObjWood::Act_c::_draw() { + return true; +} /* 00000078-00000190 .text Create__Q29daObjWood6MethodFPv */ -void daObjWood::Method::Create(void*) { - /* Nonmatching */ +s32 daObjWood::Method::Create(void* i_this) { + return ((Act_c*)i_this)->_create(); } /* 00000348-00000350 .text Delete__Q29daObjWood6MethodFPv */ -void daObjWood::Method::Delete(void*) { - /* Nonmatching */ +BOOL daObjWood::Method::Delete(void* i_this) { + return ((Act_c*)i_this)->_delete(); } /* 00000350-00000380 .text Execute__Q29daObjWood6MethodFPv */ -void daObjWood::Method::Execute(void*) { - /* Nonmatching */ +BOOL daObjWood::Method::Execute(void* i_this) { + return ((Act_c*)i_this)->_execute(); } /* 00000380-00000388 .text Draw__Q29daObjWood6MethodFPv */ -void daObjWood::Method::Draw(void*) { - /* Nonmatching */ +BOOL daObjWood::Method::Draw(void* i_this) { + return ((Act_c*)i_this)->_draw(); } /* 00000388-00000390 .text IsDelete__Q29daObjWood6MethodFPv */ -void daObjWood::Method::IsDelete(void*) { - /* Nonmatching */ +BOOL daObjWood::Method::IsDelete(void* i_this) { + return TRUE; } +namespace daObjWood { + namespace Method { + actor_method_class Table = { + (process_method_func)Create, + (process_method_func)Delete, + (process_method_func)Execute, + (process_method_func)IsDelete, + (process_method_func)Draw, + }; + } +} - +actor_process_profile_definition g_profile_Obj_Wood = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 7, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_Obj_Wood, + /* Proc SubMtd */ &g_fpcLf_Method.mBase, + /* Size */ sizeof(daObjWood::Act_c), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x0110, + /* Actor SubMtd */ &daObjWood::Method::Table, + /* Status */ fopAcStts_UNK40000_e | fopAcStts_CULL_e | fopAcStts_NOCULLEXEC_e, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_0_e, +}; |
