summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_obj_wood.cpp
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2023-11-26 15:25:15 -0800
committerJasper St. Pierre <jstpierre@mecheye.net>2023-11-26 15:25:15 -0800
commit3da166c0b75291df646efe0201addafe12d631c9 (patch)
treeea15e36536f494d815acb92675a74e84790ea475 /src/d/actor/d_a_obj_wood.cpp
parented215c92aaa77761dae0c698e0abe759da7d4801 (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.cpp73
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,
+};