From 98317b2c174db8706dc801a02475c1f835d9585a Mon Sep 17 00:00:00 2001 From: Trueffel <106771418+Trueffeloot@users.noreply.github.com> Date: Wed, 24 May 2023 09:47:19 +0200 Subject: [PATCH] d_a_obj_prop OK (#336) * d_a_obj_prop OK * d_a_obj_prop OK --- Progress.md | 8 +- .../d_a_obj_prop/Delete__11daObjProp_cFv.s | 14 - .../d_a_obj_prop/__ct__11daObjProp_cFv.s | 16 - .../d_a_obj_prop/__dt__11daObjProp_cFv.s | 35 -- .../createHeap__11daObjProp_cFv.s | 33 -- .../d_a_obj_prop/create__11daObjProp_cFv.s | 60 --- .../daObjProp_Delete__FP11daObjProp_c.s | 9 - .../daObjProp_c_createHeap__FP10fopAc_ac_c.s | 9 - .../daObjProp_create__FP11daObjProp_c.s | 24 - .../daObjProp_draw__FP11daObjProp_c.s | 9 - .../daObjProp_execute__FP11daObjProp_c.s | 9 - .../d_a_obj_prop/draw__11daObjProp_cFv.s | 26 -- .../d_a_obj_prop/execute__11daObjProp_cFv.s | 18 - .../d_a_obj_prop/init__11daObjProp_cFv.s | 5 - .../setModelMtx__11daObjProp_cFv.s | 26 -- include/m_Do/m_Do_ext.h | 1 + .../rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h | 26 +- rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.cpp | 431 ++++++------------ .../d_a_tag_attention/d_a_tag_attention.cpp | 11 +- 19 files changed, 170 insertions(+), 600 deletions(-) delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s diff --git a/Progress.md b/Progress.md index b34452255a4..5f7aef9154d 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 34.493338% | 1386864 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 34.493338% | 1386864 | 4020672 -RELs | 33.562950% | 3859848 | 11500324 -Total | 33.803965% | 5246712 | 15520996 +RELs | 33.578532% | 3861640 | 11500324 +Total | 33.815510% | 5248504 | 15520996 ## RELs @@ -571,7 +571,7 @@ d_a_obj_pleaf | 44.689221% | 2272 | 5084 d_a_obj_poCandle | 44.244604% | 2460 | 5560 d_a_obj_poFire | 36.999540% | 3216 | 8692 d_a_obj_poTbox | 44.731739% | 2768 | 6188 -d_a_obj_prop | 47.868217% | 988 | 2064 +d_a_obj_prop | 100.000000% | 2064 | 2064 d_a_obj_pumpkin | 29.152971% | 4612 | 15820 d_a_obj_rcircle | 43.989432% | 1332 | 3028 d_a_obj_rfHole | 43.621701% | 2380 | 5456 @@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244 d_a_warp_bug | 54.940711% | 1112 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 33.569176% | 3860564 | 11500324 +Total | 33.578532% | 3861640 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s deleted file mode 100644 index 65e1f99c4f1..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s +++ /dev/null @@ -1,14 +0,0 @@ -lbl_80CB5408: -/* 80CB5408 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB540C 7C 08 02 A6 */ mflr r0 -/* 80CB5410 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5414 38 80 FF FF */ li r4, -1 -/* 80CB5418 81 83 05 70 */ lwz r12, 0x570(r3) -/* 80CB541C 81 8C 00 08 */ lwz r12, 8(r12) -/* 80CB5420 7D 89 03 A6 */ mtctr r12 -/* 80CB5424 4E 80 04 21 */ bctrl -/* 80CB5428 38 60 00 01 */ li r3, 1 -/* 80CB542C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB5430 7C 08 03 A6 */ mtlr r0 -/* 80CB5434 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5438 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s deleted file mode 100644 index 6a919929fe4..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80CB51F8: -/* 80CB51F8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB51FC 7C 08 02 A6 */ mflr r0 -/* 80CB5200 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5204 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB5208 7C 7F 1B 78 */ mr r31, r3 -/* 80CB520C 4B 36 39 59 */ bl __ct__10fopAc_ac_cFv -/* 80CB5210 3C 60 80 CB */ lis r3, __vt__11daObjProp_c@ha /* 0x80CB567C@ha */ -/* 80CB5214 38 03 56 7C */ addi r0, r3, __vt__11daObjProp_c@l /* 0x80CB567C@l */ -/* 80CB5218 90 1F 05 70 */ stw r0, 0x570(r31) -/* 80CB521C 7F E3 FB 78 */ mr r3, r31 -/* 80CB5220 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB5224 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB5228 7C 08 03 A6 */ mtlr r0 -/* 80CB522C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5230 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s deleted file mode 100644 index 20924d65b67..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80CB5234: -/* 80CB5234 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB5238 7C 08 02 A6 */ mflr r0 -/* 80CB523C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5240 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB5244 93 C1 00 08 */ stw r30, 8(r1) -/* 80CB5248 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80CB524C 7C 9F 23 78 */ mr r31, r4 -/* 80CB5250 41 82 00 48 */ beq lbl_80CB5298 -/* 80CB5254 3C 60 80 CB */ lis r3, __vt__11daObjProp_c@ha /* 0x80CB567C@ha */ -/* 80CB5258 38 03 56 7C */ addi r0, r3, __vt__11daObjProp_c@l /* 0x80CB567C@l */ -/* 80CB525C 90 1E 05 70 */ stw r0, 0x570(r30) -/* 80CB5260 7F C3 F3 78 */ mr r3, r30 -/* 80CB5264 41 82 00 08 */ beq lbl_80CB526C -/* 80CB5268 38 63 05 68 */ addi r3, r3, 0x568 -lbl_80CB526C: -/* 80CB526C 3C 80 80 CB */ lis r4, l_arcName@ha /* 0x80CB5628@ha */ -/* 80CB5270 38 84 56 28 */ addi r4, r4, l_arcName@l /* 0x80CB5628@l */ -/* 80CB5274 80 84 00 00 */ lwz r4, 0(r4) -/* 80CB5278 4B 37 7D 91 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80CB527C 7F C3 F3 78 */ mr r3, r30 -/* 80CB5280 38 80 00 00 */ li r4, 0 -/* 80CB5284 4B 36 3A 09 */ bl __dt__10fopAc_ac_cFv -/* 80CB5288 7F E0 07 35 */ extsh. r0, r31 -/* 80CB528C 40 81 00 0C */ ble lbl_80CB5298 -/* 80CB5290 7F C3 F3 78 */ mr r3, r30 -/* 80CB5294 4B 61 9A A9 */ bl __dl__FPv -lbl_80CB5298: -/* 80CB5298 7F C3 F3 78 */ mr r3, r30 -/* 80CB529C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB52A0 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CB52A4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB52A8 7C 08 03 A6 */ mtlr r0 -/* 80CB52AC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB52B0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s deleted file mode 100644 index 7a6fcea671f..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_80CB52B4: -/* 80CB52B4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB52B8 7C 08 02 A6 */ mflr r0 -/* 80CB52BC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB52C0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB52C4 7C 7F 1B 78 */ mr r31, r3 -/* 80CB52C8 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80CB52CC 3C 60 80 CB */ lis r3, l_arcName@ha /* 0x80CB5628@ha */ -/* 80CB52D0 38 63 56 28 */ addi r3, r3, l_arcName@l /* 0x80CB5628@l */ -/* 80CB52D4 80 63 00 00 */ lwz r3, 0(r3) -/* 80CB52D8 54 00 16 BA */ rlwinm r0, r0, 2, 0x1a, 0x1d -/* 80CB52DC 3C 80 80 CB */ lis r4, BMD_IDX@ha /* 0x80CB5614@ha */ -/* 80CB52E0 38 84 56 14 */ addi r4, r4, BMD_IDX@l /* 0x80CB5614@l */ -/* 80CB52E4 7C 84 00 2E */ lwzx r4, r4, r0 -/* 80CB52E8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CB52EC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CB52F0 3C A5 00 02 */ addis r5, r5, 2 -/* 80CB52F4 38 C0 00 80 */ li r6, 0x80 -/* 80CB52F8 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80CB52FC 4B 38 6F F1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80CB5300 3C 80 00 08 */ lis r4, 8 -/* 80CB5304 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */ -/* 80CB5308 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */ -/* 80CB530C 4B 35 F9 49 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80CB5310 90 7F 05 74 */ stw r3, 0x574(r31) -/* 80CB5314 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80CB5318 30 03 FF FF */ addic r0, r3, -1 -/* 80CB531C 7C 60 19 10 */ subfe r3, r0, r3 -/* 80CB5320 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB5324 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB5328 7C 08 03 A6 */ mtlr r0 -/* 80CB532C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5330 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s deleted file mode 100644 index e16a5a45daf..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_80CB5334: -/* 80CB5334 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB5338 7C 08 02 A6 */ mflr r0 -/* 80CB533C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5340 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB5344 93 C1 00 08 */ stw r30, 8(r1) -/* 80CB5348 7C 7E 1B 78 */ mr r30, r3 -/* 80CB534C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80CB5350 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80CB5354 40 82 00 1C */ bne lbl_80CB5370 -/* 80CB5358 28 1E 00 00 */ cmplwi r30, 0 -/* 80CB535C 41 82 00 08 */ beq lbl_80CB5364 -/* 80CB5360 4B FF FE 99 */ bl __ct__11daObjProp_cFv -lbl_80CB5364: -/* 80CB5364 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 80CB5368 60 00 00 08 */ ori r0, r0, 8 -/* 80CB536C 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_80CB5370: -/* 80CB5370 7F C3 F3 78 */ mr r3, r30 -/* 80CB5374 28 1E 00 00 */ cmplwi r30, 0 -/* 80CB5378 41 82 00 08 */ beq lbl_80CB5380 -/* 80CB537C 38 7E 05 68 */ addi r3, r30, 0x568 -lbl_80CB5380: -/* 80CB5380 3C 80 80 CB */ lis r4, l_arcName@ha /* 0x80CB5628@ha */ -/* 80CB5384 38 84 56 28 */ addi r4, r4, l_arcName@l /* 0x80CB5628@l */ -/* 80CB5388 80 84 00 00 */ lwz r4, 0(r4) -/* 80CB538C 4B 37 7B 31 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80CB5390 7C 7F 1B 78 */ mr r31, r3 -/* 80CB5394 2C 1F 00 04 */ cmpwi r31, 4 -/* 80CB5398 40 82 00 54 */ bne lbl_80CB53EC -/* 80CB539C 7F C3 F3 78 */ mr r3, r30 -/* 80CB53A0 3C 80 80 CB */ lis r4, daObjProp_c_createHeap__FP10fopAc_ac_c@ha /* 0x80CB51D8@ha */ -/* 80CB53A4 38 84 51 D8 */ addi r4, r4, daObjProp_c_createHeap__FP10fopAc_ac_c@l /* 0x80CB51D8@l */ -/* 80CB53A8 38 A0 10 00 */ li r5, 0x1000 -/* 80CB53AC 4B 36 51 05 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80CB53B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80CB53B4 40 82 00 0C */ bne lbl_80CB53C0 -/* 80CB53B8 38 60 00 05 */ li r3, 5 -/* 80CB53BC 48 00 00 34 */ b lbl_80CB53F0 -lbl_80CB53C0: -/* 80CB53C0 7F C3 F3 78 */ mr r3, r30 -/* 80CB53C4 48 00 01 21 */ bl init__11daObjProp_cFv -/* 80CB53C8 7F C3 F3 78 */ mr r3, r30 -/* 80CB53CC 48 00 01 29 */ bl setModelMtx__11daObjProp_cFv -/* 80CB53D0 80 7E 05 74 */ lwz r3, 0x574(r30) -/* 80CB53D4 38 03 00 24 */ addi r0, r3, 0x24 -/* 80CB53D8 90 1E 05 04 */ stw r0, 0x504(r30) -/* 80CB53DC 80 7E 05 74 */ lwz r3, 0x574(r30) -/* 80CB53E0 80 83 00 04 */ lwz r4, 4(r3) -/* 80CB53E4 7F C3 F3 78 */ mr r3, r30 -/* 80CB53E8 4B 36 51 91 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData -lbl_80CB53EC: -/* 80CB53EC 7F E3 FB 78 */ mr r3, r31 -lbl_80CB53F0: -/* 80CB53F0 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB53F4 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CB53F8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB53FC 7C 08 03 A6 */ mtlr r0 -/* 80CB5400 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5404 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s deleted file mode 100644 index 8746b4e0093..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CB55AC: -/* 80CB55AC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB55B0 7C 08 02 A6 */ mflr r0 -/* 80CB55B4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB55B8 4B FF FE 51 */ bl Delete__11daObjProp_cFv -/* 80CB55BC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB55C0 7C 08 03 A6 */ mtlr r0 -/* 80CB55C4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB55C8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s deleted file mode 100644 index 55fb13bebbe..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CB51D8: -/* 80CB51D8 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB51DC 7C 08 02 A6 */ mflr r0 -/* 80CB51E0 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB51E4 48 00 00 D1 */ bl createHeap__11daObjProp_cFv -/* 80CB51E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB51EC 7C 08 03 A6 */ mtlr r0 -/* 80CB51F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB51F4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s deleted file mode 100644 index 5d818936c54..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s +++ /dev/null @@ -1,24 +0,0 @@ -lbl_80CB5558: -/* 80CB5558 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB555C 7C 08 02 A6 */ mflr r0 -/* 80CB5560 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5564 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB5568 7C 7F 1B 78 */ mr r31, r3 -/* 80CB556C 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80CB5570 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80CB5574 40 82 00 1C */ bne lbl_80CB5590 -/* 80CB5578 28 1F 00 00 */ cmplwi r31, 0 -/* 80CB557C 41 82 00 08 */ beq lbl_80CB5584 -/* 80CB5580 4B FF FC 79 */ bl __ct__11daObjProp_cFv -lbl_80CB5584: -/* 80CB5584 80 1F 04 A0 */ lwz r0, 0x4a0(r31) -/* 80CB5588 60 00 00 08 */ ori r0, r0, 8 -/* 80CB558C 90 1F 04 A0 */ stw r0, 0x4a0(r31) -lbl_80CB5590: -/* 80CB5590 7F E3 FB 78 */ mr r3, r31 -/* 80CB5594 4B FF FD A1 */ bl create__11daObjProp_cFv -/* 80CB5598 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB559C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB55A0 7C 08 03 A6 */ mtlr r0 -/* 80CB55A4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB55A8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s deleted file mode 100644 index f6dddab09f1..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CB55EC: -/* 80CB55EC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB55F0 7C 08 02 A6 */ mflr r0 -/* 80CB55F4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB55F8 4B FF FE 45 */ bl draw__11daObjProp_cFv -/* 80CB55FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB5600 7C 08 03 A6 */ mtlr r0 -/* 80CB5604 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5608 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s deleted file mode 100644 index b7f1311f239..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80CB55CC: -/* 80CB55CC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB55D0 7C 08 02 A6 */ mflr r0 -/* 80CB55D4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB55D8 4B FF FE C9 */ bl execute__11daObjProp_cFv -/* 80CB55DC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB55E0 7C 08 03 A6 */ mtlr r0 -/* 80CB55E4 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB55E8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s deleted file mode 100644 index 6f5daf97a0c..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80CB543C: -/* 80CB543C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB5440 7C 08 02 A6 */ mflr r0 -/* 80CB5444 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5448 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB544C 7C 7F 1B 78 */ mr r31, r3 -/* 80CB5450 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80CB5454 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80CB5458 38 80 00 00 */ li r4, 0 -/* 80CB545C 38 BF 04 D0 */ addi r5, r31, 0x4d0 -/* 80CB5460 38 DF 01 0C */ addi r6, r31, 0x10c -/* 80CB5464 4B 4E E3 61 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c -/* 80CB5468 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80CB546C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 80CB5470 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 80CB5474 80 84 00 04 */ lwz r4, 4(r4) -/* 80CB5478 38 BF 01 0C */ addi r5, r31, 0x10c -/* 80CB547C 4B 4E F9 25 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c -/* 80CB5480 80 7F 05 74 */ lwz r3, 0x574(r31) -/* 80CB5484 4B 35 87 A9 */ bl mDoExt_modelUpdate__FP8J3DModel -/* 80CB5488 38 60 00 01 */ li r3, 1 -/* 80CB548C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB5490 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB5494 7C 08 03 A6 */ mtlr r0 -/* 80CB5498 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB549C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s deleted file mode 100644 index 30799e7c0b1..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s +++ /dev/null @@ -1,18 +0,0 @@ -lbl_80CB54A0: -/* 80CB54A0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB54A4 7C 08 02 A6 */ mflr r0 -/* 80CB54A8 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB54AC A8 A3 04 E6 */ lha r5, 0x4e6(r3) -/* 80CB54B0 88 03 05 78 */ lbz r0, 0x578(r3) -/* 80CB54B4 54 00 08 3C */ slwi r0, r0, 1 -/* 80CB54B8 3C 80 80 CB */ lis r4, ADD_ANGLE@ha /* 0x80CB561C@ha */ -/* 80CB54BC 38 84 56 1C */ addi r4, r4, ADD_ANGLE@l /* 0x80CB561C@l */ -/* 80CB54C0 7C 04 02 AE */ lhax r0, r4, r0 -/* 80CB54C4 7C 05 02 14 */ add r0, r5, r0 -/* 80CB54C8 B0 03 04 E6 */ sth r0, 0x4e6(r3) -/* 80CB54CC 48 00 00 29 */ bl setModelMtx__11daObjProp_cFv -/* 80CB54D0 38 60 00 01 */ li r3, 1 -/* 80CB54D4 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB54D8 7C 08 03 A6 */ mtlr r0 -/* 80CB54DC 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB54E0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s deleted file mode 100644 index 4b7a1bd9683..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80CB54E4: -/* 80CB54E4 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80CB54E8 54 00 E7 FE */ rlwinm r0, r0, 0x1c, 0x1f, 0x1f -/* 80CB54EC 98 03 05 78 */ stb r0, 0x578(r3) -/* 80CB54F0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s b/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s deleted file mode 100644 index 52ba3a7f1c0..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_80CB54F4: -/* 80CB54F4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CB54F8 7C 08 02 A6 */ mflr r0 -/* 80CB54FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CB5500 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CB5504 7C 7F 1B 78 */ mr r31, r3 -/* 80CB5508 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CB550C 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CB5510 C0 3F 04 D0 */ lfs f1, 0x4d0(r31) -/* 80CB5514 C0 5F 04 D4 */ lfs f2, 0x4d4(r31) -/* 80CB5518 C0 7F 04 D8 */ lfs f3, 0x4d8(r31) -/* 80CB551C 4B 69 13 CD */ bl PSMTXTrans -/* 80CB5520 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CB5524 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CB5528 A8 9F 04 E6 */ lha r4, 0x4e6(r31) -/* 80CB552C 4B 35 6F 09 */ bl mDoMtx_YrotM__FPA4_fs -/* 80CB5530 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CB5534 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CB5538 80 9F 05 74 */ lwz r4, 0x574(r31) -/* 80CB553C 38 84 00 24 */ addi r4, r4, 0x24 -/* 80CB5540 4B 69 0F 71 */ bl PSMTXCopy -/* 80CB5544 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CB5548 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CB554C 7C 08 03 A6 */ mtlr r0 -/* 80CB5550 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CB5554 4E 80 00 20 */ blr diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index ab3d2667457..fa80315ac81 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -568,6 +568,7 @@ JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap** o_heap, u32 i_si u32 mDoExt_adjustSolidHeapToSystem(JKRSolidHeap* i_heap); JKRHeap* mDoExt_getCurrentHeap(); void mDoExt_removeMesgFont(); +void mDoExt_modelUpdate(J3DModel* i_model); void mDoExt_modelUpdateDL(J3DModel* i_model); J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 param_1, u32 param_2); void mDoExt_setAraCacheSize(u32 size); diff --git a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h index 3197119a881..0ef32c455c8 100644 --- a/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h +++ b/include/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h @@ -1,6 +1,30 @@ #ifndef D_A_OBJ_PROP_H #define D_A_OBJ_PROP_H -#include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" + +class daObjProp_c : public fopAc_ac_c { +public: + /* 80CB51F8 */ daObjProp_c(); + + /* 80CB52B4 */ bool createHeap(); + /* 80CB5334 */ int create(); + /* 80CB5408 */ int Delete(); + /* 80CB543C */ int draw(); + /* 80CB54A0 */ int execute(); + /* 80CB54E4 */ void init(); + /* 80CB54F4 */ void setModelMtx(); + + u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); } + u32 getArg_0() { return fopAcM_GetParamBit(this, 4, 4); } + + /* 0x568 */ request_of_phase_process_class mPhaseReq; + + /* 0x570 */ /* 80CB5234 */ virtual ~daObjProp_c(); + + /* 0x574 */ J3DModel* mpModel; + /* 0x578 */ u8 mArg; +}; // Size: 0x57C #endif /* D_A_OBJ_PROP_H */ diff --git a/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.cpp b/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.cpp index 85e72a65558..8a3999e5a27 100644 --- a/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.cpp +++ b/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.cpp @@ -1,304 +1,151 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_prop -// +/** + * d_a_obj_prop.cpp + * Object - Propeller +*/ #include "rel/d/a/obj/d_a_obj_prop/d_a_obj_prop.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daObjProp_c { - /* 80CB51F8 */ daObjProp_c(); - /* 80CB5234 */ ~daObjProp_c(); - /* 80CB52B4 */ void createHeap(); - /* 80CB5334 */ void create(); - /* 80CB5408 */ void Delete(); - /* 80CB543C */ void draw(); - /* 80CB54A0 */ void execute(); - /* 80CB54E4 */ void init(); - /* 80CB54F4 */ void setModelMtx(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" static void daObjProp_c_createHeap__FP10fopAc_ac_c(); -extern "C" void __ct__11daObjProp_cFv(); -extern "C" void __dt__11daObjProp_cFv(); -extern "C" void createHeap__11daObjProp_cFv(); -extern "C" void create__11daObjProp_cFv(); -extern "C" void Delete__11daObjProp_cFv(); -extern "C" void draw__11daObjProp_cFv(); -extern "C" void execute__11daObjProp_cFv(); -extern "C" void init__11daObjProp_cFv(); -extern "C" void setModelMtx__11daObjProp_cFv(); -extern "C" static void daObjProp_create__FP11daObjProp_c(); -extern "C" static void daObjProp_Delete__FP11daObjProp_c(); -extern "C" static void daObjProp_execute__FP11daObjProp_c(); -extern "C" static void daObjProp_draw__FP11daObjProp_c(); -extern "C" extern char const* const d_a_obj_prop__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoExt_modelUpdate__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; - -// -// Declarations: -// +#include "JSystem/JKernel/JKRHeap.h" +#include "d/d_procname.h" /* 80CB51D8-80CB51F8 000078 0020+00 1/1 0/0 0/0 .text daObjProp_c_createHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjProp_c_createHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_c_createHeap__FP10fopAc_ac_c.s" +static bool daObjProp_c_createHeap(fopAc_ac_c* i_this) { + return static_cast(i_this)->createHeap(); } -#pragma pop - -/* ############################################################################################## */ -/* 80CB5620-80CB5620 00000C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CB5620 = "L7Prop"; -#pragma pop /* 80CB5628-80CB562C -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_prop__stringBase0; +static const char* l_arcName = "L7Prop"; + +/* 80CB51F8-80CB5234 000098 003C+00 2/2 0/0 0/0 .text __ct__11daObjProp_cFv */ +daObjProp_c::daObjProp_c() {} + +inline request_of_phase_process_class* daObjProp_getRes(daObjProp_c* i_prop) { + daObjProp_c* mProp2 = (daObjProp_c*)i_prop; + return mProp2 != NULL ? &mProp2->mPhaseReq : (request_of_phase_process_class*)mProp2; +} + +/* 80CB5234-80CB52B4 0000D4 0080+00 1/0 0/0 0/0 .text __dt__11daObjProp_cFv */ +daObjProp_c::~daObjProp_c() { + dComIfG_resDelete(daObjProp_getRes(this), l_arcName); +} + +static const u32 BMD_IDX[] = {3, 4}; + +/* 80CB52B4-80CB5334 000154 0080+00 1/1 0/0 0/0 .text createHeap__11daObjProp_cFv */ +bool daObjProp_c::createHeap() { + u32 nameArg = getNameArg_0(); + u32 bmd = BMD_IDX[nameArg]; + mpModel = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName, bmd), 0x80000, + 0x11000084); + return mpModel != NULL; +} + +/* 80CB5334-80CB5408 0001D4 00D4+00 1/1 0/0 0/0 .text create__11daObjProp_cFv */ +int daObjProp_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daObjProp_c(); + fopAcM_OnCondition(this, 8); + } + + daObjProp_c* tmp = this; + if (this) { + tmp = (daObjProp_c*)&mPhaseReq; + } + + int phase = dComIfG_resLoad((request_of_phase_process_class*)tmp, l_arcName); + if (phase == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)daObjProp_c_createHeap, 0x1000)) { + return cPhs_ERROR_e; + + } else { + init(); + setModelMtx(); + mCullMtx = mpModel->getBaseTRMtx(); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + } + } + return phase; +} + +/* 80CB5408-80CB543C 0002A8 0034+00 1/1 0/0 0/0 .text Delete__11daObjProp_cFv */ +int daObjProp_c::Delete() { + this->~daObjProp_c(); + return 1; +} + +/* 80CB543C-80CB54A0 0002DC 0064+00 1/1 0/0 0/0 .text draw__11daObjProp_cFv */ +int daObjProp_c::draw() { + g_env_light.settingTevStruct(NULL, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr); + mDoExt_modelUpdate(mpModel); + return 1; +} + +static const s16 ADD_ANGLE[] = {0x1800, 0xE800}; + +/* 80CB54A0-80CB54E4 000340 0044+00 1/1 0/0 0/0 .text execute__11daObjProp_cFv */ +int daObjProp_c::execute() { + shape_angle.y += ADD_ANGLE[mArg]; + setModelMtx(); + return 1; +} + +/* 80CB54E4-80CB54F4 000384 0010+00 1/1 0/0 0/0 .text init__11daObjProp_cFv */ +void daObjProp_c::init() { + mArg = getArg_0() & 1; +} + +/* 80CB54F4-80CB5558 000394 0064+00 2/2 0/0 0/0 .text setModelMtx__11daObjProp_cFv */ +void daObjProp_c::setModelMtx() { + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + PSMTXCopy(mDoMtx_stack_c::now, mpModel->mBaseTransformMtx); +} + +/* 80CB5558-80CB55AC 0003F8 0054+00 1/0 0/0 0/0 .text daObjProp_create__FP11daObjProp_c */ +static int daObjProp_create(daObjProp_c* i_this) { + if (!fopAcM_CheckCondition(i_this, 8)) { + new (i_this) daObjProp_c(); + fopAcM_OnCondition(i_this, 8); + } + return i_this->create(); +} + +/* 80CB55AC-80CB55CC 00044C 0020+00 1/0 0/0 0/0 .text daObjProp_Delete__FP11daObjProp_c */ +static int daObjProp_Delete(daObjProp_c* i_this) { + return i_this->Delete(); +} + +/* 80CB55CC-80CB55EC 00046C 0020+00 1/0 0/0 0/0 .text daObjProp_execute__FP11daObjProp_c */ +static int daObjProp_execute(daObjProp_c* i_this) { + return i_this->execute(); +} + +/* 80CB55EC-80CB560C 00048C 0020+00 1/0 0/0 0/0 .text daObjProp_draw__FP11daObjProp_c */ +static int daObjProp_draw(daObjProp_c* i_this) { + return i_this->draw(); +} /* 80CB562C-80CB564C -00001 0020+00 1/0 0/0 0/0 .data daObjProp_METHODS */ -SECTION_DATA static void* daObjProp_METHODS[8] = { - (void*)daObjProp_create__FP11daObjProp_c, - (void*)daObjProp_Delete__FP11daObjProp_c, - (void*)daObjProp_execute__FP11daObjProp_c, - (void*)NULL, - (void*)daObjProp_draw__FP11daObjProp_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class daObjProp_METHODS = { + (process_method_func)daObjProp_create, (process_method_func)daObjProp_Delete, + (process_method_func)daObjProp_execute, (process_method_func)NULL, + (process_method_func)daObjProp_draw, }; /* 80CB564C-80CB567C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Prop */ -SECTION_DATA extern void* g_profile_Obj_Prop[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01970000, (void*)&g_fpcLf_Method, - (void*)0x0000057C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02E10000, (void*)&daObjProp_METHODS, - (void*)0x00040000, (void*)0x030E0000, -}; - -/* 80CB567C-80CB5688 000054 000C+00 2/2 0/0 0/0 .data __vt__11daObjProp_c */ -SECTION_DATA extern void* __vt__11daObjProp_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__11daObjProp_cFv, -}; - -/* 80CB51F8-80CB5234 000098 003C+00 2/2 0/0 0/0 .text __ct__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjProp_c::daObjProp_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__ct__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB5234-80CB52B4 0000D4 0080+00 1/0 0/0 0/0 .text __dt__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daObjProp_c::~daObjProp_c() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/__dt__11daObjProp_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80CB5614-80CB561C 000000 0008+00 1/1 0/0 0/0 .rodata BMD_IDX$3638 */ -SECTION_RODATA static u8 const BMD_IDX[8] = { - 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, -}; -COMPILER_STRIP_GATE(0x80CB5614, &BMD_IDX); - -/* 80CB52B4-80CB5334 000154 0080+00 1/1 0/0 0/0 .text createHeap__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::createHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/createHeap__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB5334-80CB5408 0001D4 00D4+00 1/1 0/0 0/0 .text create__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/create__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB5408-80CB543C 0002A8 0034+00 1/1 0/0 0/0 .text Delete__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/Delete__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB543C-80CB54A0 0002DC 0064+00 1/1 0/0 0/0 .text draw__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/draw__11daObjProp_cFv.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 80CB561C-80CB5620 000008 0004+00 1/1 0/0 0/0 .rodata ADD_ANGLE$3689 */ -SECTION_RODATA static u8 const ADD_ANGLE[4] = { - 0x18, - 0x00, - 0xE8, - 0x00, -}; -COMPILER_STRIP_GATE(0x80CB561C, &ADD_ANGLE); - -/* 80CB54A0-80CB54E4 000340 0044+00 1/1 0/0 0/0 .text execute__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::execute() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/execute__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB54E4-80CB54F4 000384 0010+00 1/1 0/0 0/0 .text init__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::init() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/init__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB54F4-80CB5558 000394 0064+00 2/2 0/0 0/0 .text setModelMtx__11daObjProp_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daObjProp_c::setModelMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/setModelMtx__11daObjProp_cFv.s" -} -#pragma pop - -/* 80CB5558-80CB55AC 0003F8 0054+00 1/0 0/0 0/0 .text daObjProp_create__FP11daObjProp_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjProp_create(daObjProp_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_create__FP11daObjProp_c.s" -} -#pragma pop - -/* 80CB55AC-80CB55CC 00044C 0020+00 1/0 0/0 0/0 .text daObjProp_Delete__FP11daObjProp_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjProp_Delete(daObjProp_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_Delete__FP11daObjProp_c.s" -} -#pragma pop - -/* 80CB55CC-80CB55EC 00046C 0020+00 1/0 0/0 0/0 .text daObjProp_execute__FP11daObjProp_c - */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjProp_execute(daObjProp_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_execute__FP11daObjProp_c.s" -} -#pragma pop - -/* 80CB55EC-80CB560C 00048C 0020+00 1/0 0/0 0/0 .text daObjProp_draw__FP11daObjProp_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObjProp_draw(daObjProp_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_prop/d_a_obj_prop/daObjProp_draw__FP11daObjProp_c.s" -} -#pragma pop - -/* 80CB5620-80CB5620 00000C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +extern actor_process_profile_definition g_profile_Obj_Prop = { + -3, + 7, + -3, + PROC_Obj_Prop, + &g_fpcLf_Method.mBase, + sizeof(daObjProp_c), + 0, + 0, + &g_fopAc_Method.base, + 0x02E1, + &daObjProp_METHODS, + 0x00040000, + 3, + 14, +}; \ No newline at end of file diff --git a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp index 7af41f941c3..025b95c885c 100644 --- a/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp +++ b/rel/d/a/tag/d_a_tag_attention/d_a_tag_attention.cpp @@ -8,16 +8,7 @@ #include "d/a/d_a_player.h" #include "d/d_procname.h" -/* ############################################################################################## */ -/* 804D5724-804D5728 000000 0002+02 1/1 0/0 0/0 .rodata l_dist_tbl$3641 */ -SECTION_RODATA static u8 const l_dist_tbl[2 + 2 /* padding */] = { - 0x23, - 0x24, - /* padding */ - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x804D5724, &l_dist_tbl); +static const u8 l_dist_tbl[] = { 0x23, 0x24 }; /* 804D5318-804D5354 000078 003C+00 1/1 0/0 0/0 .text Create__8daAttp_cFv */ int daAttp_c::Create() {