From 6698b38726ea3ed1a51b60320ced78238fb69a4c Mon Sep 17 00:00:00 2001 From: Jeff Padgham Date: Fri, 8 Mar 2024 22:55:53 -0800 Subject: [PATCH] d_a_obj_rock OK (#2088) * ~99% matching, few regalloc and ordering issues * Decomp OK * Format pass and remove asms * Updating progress --------- Co-authored-by: GinNoOokami --- Progress.md | 8 +- .../d_a_obj_rock/__ct__7rock_ssFv.s | 38 -- .../d_a_obj_rock/__dt__7rock_ssFv.s | 58 -- .../d_a_obj_rock/__dt__8cM3dGAabFv.s | 20 - .../d_a_obj_rock/__dt__8cM3dGSphFv.s | 20 - .../daObj_Rock_Create__FP10fopAc_ac_c.s | 297 ---------- .../daObj_Rock_Delete__FP14obj_rock_class.s | 36 -- .../daObj_Rock_Draw__FP14obj_rock_class.s | 38 -- .../daObj_Rock_Execute__FP14obj_rock_class.s | 82 --- .../set_pos_check__FP14obj_rock_classi.s | 123 ---- .../useHeapInit__FP10fopAc_ac_c.s | 48 -- include/d/com/d_com_inf_game.h | 4 + .../rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h | 36 ++ rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp | 550 ++++++------------ 14 files changed, 228 insertions(+), 1130 deletions(-) delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__ct__7rock_ssFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__7rock_ssFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Create__FP10fopAc_ac_c.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Delete__FP14obj_rock_class.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Draw__FP14obj_rock_class.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Execute__FP14obj_rock_class.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/set_pos_check__FP14obj_rock_classi.s delete mode 100644 asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/useHeapInit__FP10fopAc_ac_c.s diff --git a/Progress.md b/Progress.md index 8a1392df7ac..9fa09b2f2f7 100644 --- a/Progress.md +++ b/Progress.md @@ -21,8 +21,8 @@ Total | 52.688307% | 2118424 | 4020672 Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- main.dol | 52.688307% | 2118424 | 4020672 -RELs | 36.377062% | 4183480 | 11500324 -Total | 40.602446% | 6301904 | 15520996 +RELs | 36.401514% | 4186292 | 11500324 +Total | 40.620563% | 6304716 | 15520996 ## RELs @@ -577,7 +577,7 @@ d_a_obj_rcircle | 100.000000% | 3028 | 3028 d_a_obj_rfHole | 43.621701% | 2380 | 5456 d_a_obj_rgate | 100.000000% | 15620 | 15620 d_a_obj_riverrock | 37.311178% | 2964 | 7944 -d_a_obj_rock | 40.423729% | 1908 | 4720 +d_a_obj_rock | 100.000000% | 4720 | 4720 d_a_obj_rope_bridge | 36.903633% | 4672 | 12660 d_a_obj_rotBridge | 43.430152% | 2512 | 5784 d_a_obj_rotTrap | 45.877144% | 3316 | 7228 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 36.377062% | 4183480 | 11500324 +Total | 36.401514% | 4186292 | 11500324 diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__ct__7rock_ssFv.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__ct__7rock_ssFv.s deleted file mode 100644 index 97e8443c920..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__ct__7rock_ssFv.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80CBE678: -/* 80CBE678 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CBE67C 7C 08 02 A6 */ mflr r0 -/* 80CBE680 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CBE684 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CBE688 93 C1 00 08 */ stw r30, 8(r1) -/* 80CBE68C 7C 7F 1B 78 */ mr r31, r3 -/* 80CBE690 3B DF 00 24 */ addi r30, r31, 0x24 -/* 80CBE694 7F C3 F3 78 */ mr r3, r30 -/* 80CBE698 4B 3C 53 91 */ bl __ct__12dCcD_GObjInfFv -/* 80CBE69C 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 80CBE6A0 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 80CBE6A4 90 1E 01 20 */ stw r0, 0x120(r30) -/* 80CBE6A8 3C 60 80 CC */ lis r3, __vt__8cM3dGAab@ha /* 0x80CBE880@ha */ -/* 80CBE6AC 38 03 E8 80 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80CBE880@l */ -/* 80CBE6B0 90 1E 01 1C */ stw r0, 0x11c(r30) -/* 80CBE6B4 3C 60 80 CC */ lis r3, __vt__8cM3dGSph@ha /* 0x80CBE88C@ha */ -/* 80CBE6B8 38 03 E8 8C */ addi r0, r3, __vt__8cM3dGSph@l /* 0x80CBE88C@l */ -/* 80CBE6BC 90 1E 01 34 */ stw r0, 0x134(r30) -/* 80CBE6C0 3C 60 80 3C */ lis r3, __vt__12cCcD_SphAttr@ha /* 0x803C3540@ha */ -/* 80CBE6C4 38 63 35 40 */ addi r3, r3, __vt__12cCcD_SphAttr@l /* 0x803C3540@l */ -/* 80CBE6C8 90 7E 01 20 */ stw r3, 0x120(r30) -/* 80CBE6CC 38 03 00 58 */ addi r0, r3, 0x58 -/* 80CBE6D0 90 1E 01 34 */ stw r0, 0x134(r30) -/* 80CBE6D4 3C 60 80 3B */ lis r3, __vt__8dCcD_Sph@ha /* 0x803ABFC0@ha */ -/* 80CBE6D8 38 63 BF C0 */ addi r3, r3, __vt__8dCcD_Sph@l /* 0x803ABFC0@l */ -/* 80CBE6DC 90 7E 00 3C */ stw r3, 0x3c(r30) -/* 80CBE6E0 38 03 00 2C */ addi r0, r3, 0x2c -/* 80CBE6E4 90 1E 01 20 */ stw r0, 0x120(r30) -/* 80CBE6E8 38 03 00 84 */ addi r0, r3, 0x84 -/* 80CBE6EC 90 1E 01 34 */ stw r0, 0x134(r30) -/* 80CBE6F0 7F E3 FB 78 */ mr r3, r31 -/* 80CBE6F4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CBE6F8 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CBE6FC 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CBE700 7C 08 03 A6 */ mtlr r0 -/* 80CBE704 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CBE708 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__7rock_ssFv.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__7rock_ssFv.s deleted file mode 100644 index 669d0635705..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__7rock_ssFv.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_80CBE5A4: -/* 80CBE5A4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CBE5A8 7C 08 02 A6 */ mflr r0 -/* 80CBE5AC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CBE5B0 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CBE5B4 93 C1 00 08 */ stw r30, 8(r1) -/* 80CBE5B8 7C 7E 1B 79 */ or. r30, r3, r3 -/* 80CBE5BC 7C 9F 23 78 */ mr r31, r4 -/* 80CBE5C0 41 82 00 9C */ beq lbl_80CBE65C -/* 80CBE5C4 34 1E 00 24 */ addic. r0, r30, 0x24 -/* 80CBE5C8 41 82 00 84 */ beq lbl_80CBE64C -/* 80CBE5CC 3C 60 80 3B */ lis r3, __vt__8dCcD_Sph@ha /* 0x803ABFC0@ha */ -/* 80CBE5D0 38 63 BF C0 */ addi r3, r3, __vt__8dCcD_Sph@l /* 0x803ABFC0@l */ -/* 80CBE5D4 90 7E 00 60 */ stw r3, 0x60(r30) -/* 80CBE5D8 38 03 00 2C */ addi r0, r3, 0x2c -/* 80CBE5DC 90 1E 01 44 */ stw r0, 0x144(r30) -/* 80CBE5E0 38 03 00 84 */ addi r0, r3, 0x84 -/* 80CBE5E4 90 1E 01 58 */ stw r0, 0x158(r30) -/* 80CBE5E8 34 1E 01 28 */ addic. r0, r30, 0x128 -/* 80CBE5EC 41 82 00 54 */ beq lbl_80CBE640 -/* 80CBE5F0 3C 60 80 3C */ lis r3, __vt__12cCcD_SphAttr@ha /* 0x803C3540@ha */ -/* 80CBE5F4 38 63 35 40 */ addi r3, r3, __vt__12cCcD_SphAttr@l /* 0x803C3540@l */ -/* 80CBE5F8 90 7E 01 44 */ stw r3, 0x144(r30) -/* 80CBE5FC 38 03 00 58 */ addi r0, r3, 0x58 -/* 80CBE600 90 1E 01 58 */ stw r0, 0x158(r30) -/* 80CBE604 34 1E 01 48 */ addic. r0, r30, 0x148 -/* 80CBE608 41 82 00 10 */ beq lbl_80CBE618 -/* 80CBE60C 3C 60 80 CC */ lis r3, __vt__8cM3dGSph@ha /* 0x80CBE88C@ha */ -/* 80CBE610 38 03 E8 8C */ addi r0, r3, __vt__8cM3dGSph@l /* 0x80CBE88C@l */ -/* 80CBE614 90 1E 01 58 */ stw r0, 0x158(r30) -lbl_80CBE618: -/* 80CBE618 34 1E 01 28 */ addic. r0, r30, 0x128 -/* 80CBE61C 41 82 00 24 */ beq lbl_80CBE640 -/* 80CBE620 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */ -/* 80CBE624 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */ -/* 80CBE628 90 1E 01 44 */ stw r0, 0x144(r30) -/* 80CBE62C 34 1E 01 28 */ addic. r0, r30, 0x128 -/* 80CBE630 41 82 00 10 */ beq lbl_80CBE640 -/* 80CBE634 3C 60 80 CC */ lis r3, __vt__8cM3dGAab@ha /* 0x80CBE880@ha */ -/* 80CBE638 38 03 E8 80 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80CBE880@l */ -/* 80CBE63C 90 1E 01 40 */ stw r0, 0x140(r30) -lbl_80CBE640: -/* 80CBE640 38 7E 00 24 */ addi r3, r30, 0x24 -/* 80CBE644 38 80 00 00 */ li r4, 0 -/* 80CBE648 4B 3C 5A 9D */ bl __dt__12dCcD_GObjInfFv -lbl_80CBE64C: -/* 80CBE64C 7F E0 07 35 */ extsh. r0, r31 -/* 80CBE650 40 81 00 0C */ ble lbl_80CBE65C -/* 80CBE654 7F C3 F3 78 */ mr r3, r30 -/* 80CBE658 4B 61 06 E5 */ bl __dl__FPv -lbl_80CBE65C: -/* 80CBE65C 7F C3 F3 78 */ mr r3, r30 -/* 80CBE660 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CBE664 83 C1 00 08 */ lwz r30, 8(r1) -/* 80CBE668 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CBE66C 7C 08 03 A6 */ mtlr r0 -/* 80CBE670 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CBE674 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s deleted file mode 100644 index 6a76eb4b516..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80CBE754: -/* 80CBE754 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CBE758 7C 08 02 A6 */ mflr r0 -/* 80CBE75C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CBE760 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CBE764 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80CBE768 41 82 00 1C */ beq lbl_80CBE784 -/* 80CBE76C 3C A0 80 CC */ lis r5, __vt__8cM3dGAab@ha /* 0x80CBE880@ha */ -/* 80CBE770 38 05 E8 80 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80CBE880@l */ -/* 80CBE774 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80CBE778 7C 80 07 35 */ extsh. r0, r4 -/* 80CBE77C 40 81 00 08 */ ble lbl_80CBE784 -/* 80CBE780 4B 61 05 BD */ bl __dl__FPv -lbl_80CBE784: -/* 80CBE784 7F E3 FB 78 */ mr r3, r31 -/* 80CBE788 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CBE78C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CBE790 7C 08 03 A6 */ mtlr r0 -/* 80CBE794 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CBE798 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s deleted file mode 100644 index e1c6e3f0815..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80CBE70C: -/* 80CBE70C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CBE710 7C 08 02 A6 */ mflr r0 -/* 80CBE714 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CBE718 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CBE71C 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80CBE720 41 82 00 1C */ beq lbl_80CBE73C -/* 80CBE724 3C A0 80 CC */ lis r5, __vt__8cM3dGSph@ha /* 0x80CBE88C@ha */ -/* 80CBE728 38 05 E8 8C */ addi r0, r5, __vt__8cM3dGSph@l /* 0x80CBE88C@l */ -/* 80CBE72C 90 1F 00 10 */ stw r0, 0x10(r31) -/* 80CBE730 7C 80 07 35 */ extsh. r0, r4 -/* 80CBE734 40 81 00 08 */ ble lbl_80CBE73C -/* 80CBE738 4B 61 06 05 */ bl __dl__FPv -lbl_80CBE73C: -/* 80CBE73C 7F E3 FB 78 */ mr r3, r31 -/* 80CBE740 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CBE744 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CBE748 7C 08 03 A6 */ mtlr r0 -/* 80CBE74C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CBE750 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Create__FP10fopAc_ac_c.s deleted file mode 100644 index a3316d0fae1..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,297 +0,0 @@ -lbl_80CBE138: -/* 80CBE138 94 21 FE C0 */ stwu r1, -0x140(r1) -/* 80CBE13C 7C 08 02 A6 */ mflr r0 -/* 80CBE140 90 01 01 44 */ stw r0, 0x144(r1) -/* 80CBE144 DB E1 01 30 */ stfd f31, 0x130(r1) -/* 80CBE148 F3 E1 01 38 */ psq_st f31, 312(r1), 0, 0 /* qr0 */ -/* 80CBE14C DB C1 01 20 */ stfd f30, 0x120(r1) -/* 80CBE150 F3 C1 01 28 */ psq_st f30, 296(r1), 0, 0 /* qr0 */ -/* 80CBE154 DB A1 01 10 */ stfd f29, 0x110(r1) -/* 80CBE158 F3 A1 01 18 */ psq_st f29, 280(r1), 0, 0 /* qr0 */ -/* 80CBE15C DB 81 01 00 */ stfd f28, 0x100(r1) -/* 80CBE160 F3 81 01 08 */ psq_st f28, 264(r1), 0, 0 /* qr0 */ -/* 80CBE164 39 61 01 00 */ addi r11, r1, 0x100 -/* 80CBE168 4B 6A 40 5D */ bl _savegpr_23 -/* 80CBE16C 7C 7D 1B 78 */ mr r29, r3 -/* 80CBE170 3C 80 80 CC */ lis r4, lit_3814@ha /* 0x80CBE7A4@ha */ -/* 80CBE174 3B E4 E7 A4 */ addi r31, r4, lit_3814@l /* 0x80CBE7A4@l */ -/* 80CBE178 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80CBE17C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80CBE180 40 82 00 68 */ bne lbl_80CBE1E8 -/* 80CBE184 7F A0 EB 79 */ or. r0, r29, r29 -/* 80CBE188 41 82 00 54 */ beq lbl_80CBE1DC -/* 80CBE18C 7C 17 03 78 */ mr r23, r0 -/* 80CBE190 4B 35 A9 D5 */ bl __ct__10fopAc_ac_cFv -/* 80CBE194 38 77 05 78 */ addi r3, r23, 0x578 -/* 80CBE198 3C 80 80 CC */ lis r4, __ct__7rock_ssFv@ha /* 0x80CBE678@ha */ -/* 80CBE19C 38 84 E6 78 */ addi r4, r4, __ct__7rock_ssFv@l /* 0x80CBE678@l */ -/* 80CBE1A0 3C A0 80 CC */ lis r5, __dt__7rock_ssFv@ha /* 0x80CBE5A4@ha */ -/* 80CBE1A4 38 A5 E5 A4 */ addi r5, r5, __dt__7rock_ssFv@l /* 0x80CBE5A4@l */ -/* 80CBE1A8 38 C0 01 60 */ li r6, 0x160 -/* 80CBE1AC 38 E0 00 10 */ li r7, 0x10 -/* 80CBE1B0 4B 6A 3B B1 */ bl __construct_array -/* 80CBE1B4 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */ -/* 80CBE1B8 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */ -/* 80CBE1BC 90 17 1B 94 */ stw r0, 0x1b94(r23) -/* 80CBE1C0 38 77 1B 98 */ addi r3, r23, 0x1b98 -/* 80CBE1C4 4B 3C 55 9D */ bl __ct__10dCcD_GSttsFv -/* 80CBE1C8 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */ -/* 80CBE1CC 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */ -/* 80CBE1D0 90 77 1B 94 */ stw r3, 0x1b94(r23) -/* 80CBE1D4 38 03 00 20 */ addi r0, r3, 0x20 -/* 80CBE1D8 90 17 1B 98 */ stw r0, 0x1b98(r23) -lbl_80CBE1DC: -/* 80CBE1DC 80 1D 04 A0 */ lwz r0, 0x4a0(r29) -/* 80CBE1E0 60 00 00 08 */ ori r0, r0, 8 -/* 80CBE1E4 90 1D 04 A0 */ stw r0, 0x4a0(r29) -lbl_80CBE1E8: -/* 80CBE1E8 38 7D 05 68 */ addi r3, r29, 0x568 -/* 80CBE1EC 3C 80 80 CC */ lis r4, d_a_obj_rock__stringBase0@ha /* 0x80CBE7E4@ha */ -/* 80CBE1F0 38 84 E7 E4 */ addi r4, r4, d_a_obj_rock__stringBase0@l /* 0x80CBE7E4@l */ -/* 80CBE1F4 4B 36 EC C9 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc -/* 80CBE1F8 7C 7C 1B 78 */ mr r28, r3 -/* 80CBE1FC 2C 1C 00 04 */ cmpwi r28, 4 -/* 80CBE200 40 82 03 68 */ bne lbl_80CBE568 -/* 80CBE204 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80CBE208 98 1D 05 70 */ stb r0, 0x570(r29) -/* 80CBE20C 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80CBE210 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 80CBE214 98 1D 05 71 */ stb r0, 0x571(r29) -/* 80CBE218 80 1D 00 B0 */ lwz r0, 0xb0(r29) -/* 80CBE21C 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f -/* 80CBE220 98 1D 05 72 */ stb r0, 0x572(r29) -/* 80CBE224 88 1D 05 72 */ lbz r0, 0x572(r29) -/* 80CBE228 28 00 00 FF */ cmplwi r0, 0xff -/* 80CBE22C 40 82 00 0C */ bne lbl_80CBE238 -/* 80CBE230 38 00 00 00 */ li r0, 0 -/* 80CBE234 98 1D 05 72 */ stb r0, 0x572(r29) -lbl_80CBE238: -/* 80CBE238 88 7D 05 70 */ lbz r3, 0x570(r29) -/* 80CBE23C 38 03 00 01 */ addi r0, r3, 1 -/* 80CBE240 90 1D 1B 78 */ stw r0, 0x1b78(r29) -/* 80CBE244 80 1D 1B 78 */ lwz r0, 0x1b78(r29) -/* 80CBE248 2C 00 00 10 */ cmpwi r0, 0x10 -/* 80CBE24C 40 81 00 0C */ ble lbl_80CBE258 -/* 80CBE250 38 00 00 10 */ li r0, 0x10 -/* 80CBE254 90 1D 1B 78 */ stw r0, 0x1b78(r29) -lbl_80CBE258: -/* 80CBE258 7F A3 EB 78 */ mr r3, r29 -/* 80CBE25C 3C 80 80 CC */ lis r4, useHeapInit__FP10fopAc_ac_c@ha /* 0x80CBDED8@ha */ -/* 80CBE260 38 84 DE D8 */ addi r4, r4, useHeapInit__FP10fopAc_ac_c@l /* 0x80CBDED8@l */ -/* 80CBE264 3C A0 00 05 */ lis r5, 0x0005 /* 0x0004B000@ha */ -/* 80CBE268 38 A5 B0 00 */ addi r5, r5, 0xB000 /* 0x0004B000@l */ -/* 80CBE26C 4B 35 C2 45 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl -/* 80CBE270 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80CBE274 40 82 00 0C */ bne lbl_80CBE280 -/* 80CBE278 38 60 00 05 */ li r3, 5 -/* 80CBE27C 48 00 02 F0 */ b lbl_80CBE56C -lbl_80CBE280: -/* 80CBE280 C0 3D 04 D0 */ lfs f1, 0x4d0(r29) -/* 80CBE284 C0 5D 04 D4 */ lfs f2, 0x4d4(r29) -/* 80CBE288 C0 7D 04 D8 */ lfs f3, 0x4d8(r29) -/* 80CBE28C 38 60 00 00 */ li r3, 0 -/* 80CBE290 4B 5B 2B CD */ bl MtxTrans__FfffUc -/* 80CBE294 C0 1F 00 04 */ lfs f0, 4(r31) -/* 80CBE298 D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80CBE29C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80CBE2A0 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80CBE2A4 38 61 00 74 */ addi r3, r1, 0x74 -/* 80CBE2A8 4B 3B 92 D5 */ bl __ct__11dBgS_GndChkFv -/* 80CBE2AC 38 61 00 20 */ addi r3, r1, 0x20 -/* 80CBE2B0 4B 3B 95 01 */ bl __ct__18dBgS_ObjGndChk_SplFv -/* 80CBE2B4 3B 60 00 00 */ li r27, 0 -/* 80CBE2B8 38 60 00 10 */ li r3, 0x10 -/* 80CBE2BC 38 80 00 7B */ li r4, 0x7b -/* 80CBE2C0 38 A0 00 50 */ li r5, 0x50 -/* 80CBE2C4 4B 5A 97 11 */ bl cM_initRnd2__Fiii -/* 80CBE2C8 C0 1D 04 D0 */ lfs f0, 0x4d0(r29) -/* 80CBE2CC D0 01 00 08 */ stfs f0, 8(r1) -/* 80CBE2D0 C0 3D 04 D4 */ lfs f1, 0x4d4(r29) -/* 80CBE2D4 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 80CBE2D8 C0 1D 04 D8 */ lfs f0, 0x4d8(r29) -/* 80CBE2DC D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80CBE2E0 C0 1F 00 00 */ lfs f0, 0(r31) -/* 80CBE2E4 EC 01 00 2A */ fadds f0, f1, f0 -/* 80CBE2E8 D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80CBE2EC 38 61 00 20 */ addi r3, r1, 0x20 -/* 80CBE2F0 38 81 00 08 */ addi r4, r1, 8 -/* 80CBE2F4 4B 5A 9A 19 */ bl SetPos__11cBgS_GndChkFPC3Vec -/* 80CBE2F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBE2FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBE300 3B C3 0F 38 */ addi r30, r3, 0xf38 -/* 80CBE304 7F C3 F3 78 */ mr r3, r30 -/* 80CBE308 38 81 00 20 */ addi r4, r1, 0x20 -/* 80CBE30C 4B 3B 61 95 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 80CBE310 FF C0 08 90 */ fmr f30, f1 -/* 80CBE314 3B 40 00 00 */ li r26, 0 -/* 80CBE318 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */ -/* 80CBE31C 3B 03 07 68 */ addi r24, r3, calc_mtx@l /* 0x80450768@l */ -/* 80CBE320 C3 FF 00 00 */ lfs f31, 0(r31) -/* 80CBE324 C3 9F 00 34 */ lfs f28, 0x34(r31) -/* 80CBE328 CB BF 00 38 */ lfd f29, 0x38(r31) -/* 80CBE32C 3F 20 43 30 */ lis r25, 0x4330 -/* 80CBE330 48 00 01 74 */ b lbl_80CBE4A4 -lbl_80CBE334: -/* 80CBE334 4B 5B 2B E9 */ bl MtxPush__Fv -/* 80CBE338 C0 3F 00 24 */ lfs f1, 0x24(r31) -/* 80CBE33C 4B 5A 97 91 */ bl cM_rndF2__Ff -/* 80CBE340 FC 00 08 1E */ fctiwz f0, f1 -/* 80CBE344 D8 01 00 C8 */ stfd f0, 0xc8(r1) -/* 80CBE348 80 81 00 CC */ lwz r4, 0xcc(r1) -/* 80CBE34C 80 78 00 00 */ lwz r3, 0(r24) -/* 80CBE350 4B 34 E0 E5 */ bl mDoMtx_YrotM__FPA4_fs -/* 80CBE354 38 61 00 14 */ addi r3, r1, 0x14 -/* 80CBE358 1C 1A 01 60 */ mulli r0, r26, 0x160 -/* 80CBE35C 7E FD 02 14 */ add r23, r29, r0 -/* 80CBE360 38 97 05 7C */ addi r4, r23, 0x57c -/* 80CBE364 4B 5B 2B 89 */ bl MtxPosition__FP4cXyzP4cXyz -/* 80CBE368 4B 5B 2B F1 */ bl MtxPull__Fv -/* 80CBE36C C0 17 05 7C */ lfs f0, 0x57c(r23) -/* 80CBE370 D0 01 00 08 */ stfs f0, 8(r1) -/* 80CBE374 C0 17 05 80 */ lfs f0, 0x580(r23) -/* 80CBE378 EC 1F 00 2A */ fadds f0, f31, f0 -/* 80CBE37C D0 01 00 0C */ stfs f0, 0xc(r1) -/* 80CBE380 C0 17 05 84 */ lfs f0, 0x584(r23) -/* 80CBE384 D0 01 00 10 */ stfs f0, 0x10(r1) -/* 80CBE388 38 61 00 74 */ addi r3, r1, 0x74 -/* 80CBE38C 38 81 00 08 */ addi r4, r1, 8 -/* 80CBE390 4B 5A 99 7D */ bl SetPos__11cBgS_GndChkFPC3Vec -/* 80CBE394 7F C3 F3 78 */ mr r3, r30 -/* 80CBE398 38 81 00 74 */ addi r4, r1, 0x74 -/* 80CBE39C 4B 3B 61 05 */ bl GroundCross__4cBgSFP11cBgS_GndChk -/* 80CBE3A0 D0 37 05 80 */ stfs f1, 0x580(r23) -/* 80CBE3A4 7F A3 EB 78 */ mr r3, r29 -/* 80CBE3A8 7F 44 D3 78 */ mr r4, r26 -/* 80CBE3AC 4B FF FB D9 */ bl set_pos_check__FP14obj_rock_classi -/* 80CBE3B0 2C 03 00 00 */ cmpwi r3, 0 -/* 80CBE3B4 41 82 00 80 */ beq lbl_80CBE434 -/* 80CBE3B8 C0 17 05 80 */ lfs f0, 0x580(r23) -/* 80CBE3BC FC 00 F0 40 */ fcmpo cr0, f0, f30 -/* 80CBE3C0 40 80 00 74 */ bge lbl_80CBE434 -/* 80CBE3C4 38 00 00 01 */ li r0, 1 -/* 80CBE3C8 98 17 06 D4 */ stb r0, 0x6d4(r23) -/* 80CBE3CC C0 3F 00 2C */ lfs f1, 0x2c(r31) -/* 80CBE3D0 4B 5A 96 FD */ bl cM_rndF2__Ff -/* 80CBE3D4 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 80CBE3D8 EC 00 08 2A */ fadds f0, f0, f1 -/* 80CBE3DC D0 17 05 88 */ stfs f0, 0x588(r23) -/* 80CBE3E0 C0 3F 00 2C */ lfs f1, 0x2c(r31) -/* 80CBE3E4 4B 5A 96 E9 */ bl cM_rndF2__Ff -/* 80CBE3E8 C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 80CBE3EC EC 00 08 2A */ fadds f0, f0, f1 -/* 80CBE3F0 D0 17 05 90 */ stfs f0, 0x590(r23) -/* 80CBE3F4 C0 3F 00 2C */ lfs f1, 0x2c(r31) -/* 80CBE3F8 4B 5A 96 D5 */ bl cM_rndF2__Ff -/* 80CBE3FC C0 1F 00 28 */ lfs f0, 0x28(r31) -/* 80CBE400 EC 00 08 2A */ fadds f0, f0, f1 -/* 80CBE404 D0 17 05 8C */ stfs f0, 0x58c(r23) -/* 80CBE408 C0 3F 00 30 */ lfs f1, 0x30(r31) -/* 80CBE40C 4B 5A 96 C1 */ bl cM_rndF2__Ff -/* 80CBE410 FC 00 08 50 */ fneg f0, f1 -/* 80CBE414 D0 17 05 94 */ stfs f0, 0x594(r23) -/* 80CBE418 C0 3F 00 24 */ lfs f1, 0x24(r31) -/* 80CBE41C 4B 5A 96 B1 */ bl cM_rndF2__Ff -/* 80CBE420 FC 00 08 1E */ fctiwz f0, f1 -/* 80CBE424 D8 01 00 C8 */ stfd f0, 0xc8(r1) -/* 80CBE428 80 01 00 CC */ lwz r0, 0xcc(r1) -/* 80CBE42C B0 17 05 98 */ sth r0, 0x598(r23) -/* 80CBE430 48 00 00 34 */ b lbl_80CBE464 -lbl_80CBE434: -/* 80CBE434 3B 7B 00 01 */ addi r27, r27, 1 -/* 80CBE438 2C 1B 27 10 */ cmpwi r27, 0x2710 -/* 80CBE43C 3B 5A FF FF */ addi r26, r26, -1 -/* 80CBE440 40 81 00 24 */ ble lbl_80CBE464 -/* 80CBE444 38 61 00 20 */ addi r3, r1, 0x20 -/* 80CBE448 38 80 FF FF */ li r4, -1 -/* 80CBE44C 4B 3B 93 FD */ bl __dt__18dBgS_ObjGndChk_SplFv -/* 80CBE450 38 61 00 74 */ addi r3, r1, 0x74 -/* 80CBE454 38 80 FF FF */ li r4, -1 -/* 80CBE458 4B 3B 91 99 */ bl __dt__11dBgS_GndChkFv -/* 80CBE45C 38 60 00 05 */ li r3, 5 -/* 80CBE460 48 00 01 0C */ b lbl_80CBE56C -lbl_80CBE464: -/* 80CBE464 C0 3F 00 34 */ lfs f1, 0x34(r31) -/* 80CBE468 4B 5A 96 65 */ bl cM_rndF2__Ff -/* 80CBE46C D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80CBE470 FC 00 08 18 */ frsp f0, f1 -/* 80CBE474 EC 00 00 32 */ fmuls f0, f0, f0 -/* 80CBE478 EC 3C 00 28 */ fsubs f1, f28, f0 -/* 80CBE47C D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80CBE480 88 1D 05 71 */ lbz r0, 0x571(r29) -/* 80CBE484 90 01 00 CC */ stw r0, 0xcc(r1) -/* 80CBE488 93 21 00 C8 */ stw r25, 0xc8(r1) -/* 80CBE48C C8 01 00 C8 */ lfd f0, 0xc8(r1) -/* 80CBE490 EC 00 E8 28 */ fsubs f0, f0, f29 -/* 80CBE494 EC 1F 00 32 */ fmuls f0, f31, f0 -/* 80CBE498 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80CBE49C D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80CBE4A0 3B 5A 00 01 */ addi r26, r26, 1 -lbl_80CBE4A4: -/* 80CBE4A4 80 1D 1B 78 */ lwz r0, 0x1b78(r29) -/* 80CBE4A8 7C 1A 00 00 */ cmpw r26, r0 -/* 80CBE4AC 41 80 FE 88 */ blt lbl_80CBE334 -/* 80CBE4B0 38 7D 1B 7C */ addi r3, r29, 0x1b7c -/* 80CBE4B4 38 80 00 FF */ li r4, 0xff -/* 80CBE4B8 38 A0 00 00 */ li r5, 0 -/* 80CBE4BC 7F A6 EB 78 */ mr r6, r29 -/* 80CBE4C0 4B 3C 53 A1 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c -/* 80CBE4C4 3B 00 00 00 */ li r24, 0 -/* 80CBE4C8 3B 40 00 00 */ li r26, 0 -/* 80CBE4CC 3C 60 80 CC */ lis r3, cc_sph_src@ha /* 0x80CBE7F0@ha */ -/* 80CBE4D0 3B E3 E7 F0 */ addi r31, r3, cc_sph_src@l /* 0x80CBE7F0@l */ -/* 80CBE4D4 3B 7D 1B 7C */ addi r27, r29, 0x1b7c -/* 80CBE4D8 48 00 00 20 */ b lbl_80CBE4F8 -lbl_80CBE4DC: -/* 80CBE4DC 7E FD D2 14 */ add r23, r29, r26 -/* 80CBE4E0 38 77 05 9C */ addi r3, r23, 0x59c -/* 80CBE4E4 7F E4 FB 78 */ mr r4, r31 -/* 80CBE4E8 4B 3C 65 4D */ bl Set__8dCcD_SphFRC11dCcD_SrcSph -/* 80CBE4EC 93 77 05 E0 */ stw r27, 0x5e0(r23) -/* 80CBE4F0 3B 18 00 01 */ addi r24, r24, 1 -/* 80CBE4F4 3B 5A 01 60 */ addi r26, r26, 0x160 -lbl_80CBE4F8: -/* 80CBE4F8 80 1D 1B 78 */ lwz r0, 0x1b78(r29) -/* 80CBE4FC 7C 18 00 00 */ cmpw r24, r0 -/* 80CBE500 41 80 FF DC */ blt lbl_80CBE4DC -/* 80CBE504 7F A3 EB 78 */ mr r3, r29 -/* 80CBE508 4B FF F8 19 */ bl daObj_Rock_Execute__FP14obj_rock_class -/* 80CBE50C 3C 60 80 CC */ lis r3, d_a_obj_rock__stringBase0@ha /* 0x80CBE7E4@ha */ -/* 80CBE510 38 63 E7 E4 */ addi r3, r3, d_a_obj_rock__stringBase0@l /* 0x80CBE7E4@l */ -/* 80CBE514 38 80 00 03 */ li r4, 3 -/* 80CBE518 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBE51C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBE520 3C A5 00 02 */ addis r5, r5, 2 -/* 80CBE524 38 C0 00 80 */ li r6, 0x80 -/* 80CBE528 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80CBE52C 4B 37 DD C1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80CBE530 7C 64 1B 78 */ mr r4, r3 -/* 80CBE534 7F C3 F3 78 */ mr r3, r30 -/* 80CBE538 88 1D 04 E2 */ lbz r0, 0x4e2(r29) -/* 80CBE53C 7C 05 07 74 */ extsb r5, r0 -/* 80CBE540 38 C0 00 00 */ li r6, 0 -/* 80CBE544 4B 36 E5 AD */ bl addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc -/* 80CBE548 38 00 00 01 */ li r0, 1 -/* 80CBE54C 98 1D 1B B9 */ stb r0, 0x1bb9(r29) -/* 80CBE550 38 61 00 20 */ addi r3, r1, 0x20 -/* 80CBE554 38 80 FF FF */ li r4, -1 -/* 80CBE558 4B 3B 92 F1 */ bl __dt__18dBgS_ObjGndChk_SplFv -/* 80CBE55C 38 61 00 74 */ addi r3, r1, 0x74 -/* 80CBE560 38 80 FF FF */ li r4, -1 -/* 80CBE564 4B 3B 90 8D */ bl __dt__11dBgS_GndChkFv -lbl_80CBE568: -/* 80CBE568 7F 83 E3 78 */ mr r3, r28 -lbl_80CBE56C: -/* 80CBE56C E3 E1 01 38 */ psq_l f31, 312(r1), 0, 0 /* qr0 */ -/* 80CBE570 CB E1 01 30 */ lfd f31, 0x130(r1) -/* 80CBE574 E3 C1 01 28 */ psq_l f30, 296(r1), 0, 0 /* qr0 */ -/* 80CBE578 CB C1 01 20 */ lfd f30, 0x120(r1) -/* 80CBE57C E3 A1 01 18 */ psq_l f29, 280(r1), 0, 0 /* qr0 */ -/* 80CBE580 CB A1 01 10 */ lfd f29, 0x110(r1) -/* 80CBE584 E3 81 01 08 */ psq_l f28, 264(r1), 0, 0 /* qr0 */ -/* 80CBE588 CB 81 01 00 */ lfd f28, 0x100(r1) -/* 80CBE58C 39 61 01 00 */ addi r11, r1, 0x100 -/* 80CBE590 4B 6A 3C 81 */ bl _restgpr_23 -/* 80CBE594 80 01 01 44 */ lwz r0, 0x144(r1) -/* 80CBE598 7C 08 03 A6 */ mtlr r0 -/* 80CBE59C 38 21 01 40 */ addi r1, r1, 0x140 -/* 80CBE5A0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Delete__FP14obj_rock_class.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Delete__FP14obj_rock_class.s deleted file mode 100644 index d3cb678352c..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Delete__FP14obj_rock_class.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_80CBDE50: -/* 80CBDE50 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80CBDE54 7C 08 02 A6 */ mflr r0 -/* 80CBDE58 90 01 00 14 */ stw r0, 0x14(r1) -/* 80CBDE5C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80CBDE60 7C 7F 1B 78 */ mr r31, r3 -/* 80CBDE64 88 03 1B B9 */ lbz r0, 0x1bb9(r3) -/* 80CBDE68 28 00 00 00 */ cmplwi r0, 0 -/* 80CBDE6C 41 82 00 44 */ beq lbl_80CBDEB0 -/* 80CBDE70 3C 60 80 CC */ lis r3, d_a_obj_rock__stringBase0@ha /* 0x80CBE7E4@ha */ -/* 80CBDE74 38 63 E7 E4 */ addi r3, r3, d_a_obj_rock__stringBase0@l /* 0x80CBE7E4@l */ -/* 80CBDE78 38 80 00 03 */ li r4, 3 -/* 80CBDE7C 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBDE80 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBDE84 3C A5 00 02 */ addis r5, r5, 2 -/* 80CBDE88 38 C0 00 80 */ li r6, 0x80 -/* 80CBDE8C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80CBDE90 4B 37 E4 5D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80CBDE94 7C 64 1B 78 */ mr r4, r3 -/* 80CBDE98 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBDE9C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBDEA0 38 63 0F 38 */ addi r3, r3, 0xf38 -/* 80CBDEA4 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80CBDEA8 7C 05 07 74 */ extsb r5, r0 -/* 80CBDEAC 4B 36 EC 85 */ bl removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai -lbl_80CBDEB0: -/* 80CBDEB0 38 7F 05 68 */ addi r3, r31, 0x568 -/* 80CBDEB4 3C 80 80 CC */ lis r4, d_a_obj_rock__stringBase0@ha /* 0x80CBE7E4@ha */ -/* 80CBDEB8 38 84 E7 E4 */ addi r4, r4, d_a_obj_rock__stringBase0@l /* 0x80CBE7E4@l */ -/* 80CBDEBC 4B 36 F1 4D */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc -/* 80CBDEC0 38 60 00 01 */ li r3, 1 -/* 80CBDEC4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80CBDEC8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80CBDECC 7C 08 03 A6 */ mtlr r0 -/* 80CBDED0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80CBDED4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Draw__FP14obj_rock_class.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Draw__FP14obj_rock_class.s deleted file mode 100644 index ca8d5855ca4..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Draw__FP14obj_rock_class.s +++ /dev/null @@ -1,38 +0,0 @@ -lbl_80CBDC98: -/* 80CBDC98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80CBDC9C 7C 08 02 A6 */ mflr r0 -/* 80CBDCA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80CBDCA4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDCA8 4B 6A 45 2D */ bl _savegpr_27 -/* 80CBDCAC 7C 7B 1B 78 */ mr r27, r3 -/* 80CBDCB0 88 03 04 E2 */ lbz r0, 0x4e2(r3) -/* 80CBDCB4 7C 00 07 74 */ extsb r0, r0 -/* 80CBDCB8 7C 1E 03 78 */ mr r30, r0 -/* 80CBDCBC 3B BB 05 78 */ addi r29, r27, 0x578 -/* 80CBDCC0 3B 80 00 00 */ li r28, 0 -/* 80CBDCC4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBDCC8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBDCCC 3B E3 0F 38 */ addi r31, r3, 0xf38 -/* 80CBDCD0 48 00 00 28 */ b lbl_80CBDCF8 -lbl_80CBDCD4: -/* 80CBDCD4 88 1D 01 5C */ lbz r0, 0x15c(r29) -/* 80CBDCD8 7C 00 07 75 */ extsb. r0, r0 -/* 80CBDCDC 41 82 00 14 */ beq lbl_80CBDCF0 -/* 80CBDCE0 7F E3 FB 78 */ mr r3, r31 -/* 80CBDCE4 80 9D 00 00 */ lwz r4, 0(r29) -/* 80CBDCE8 7F C5 F3 78 */ mr r5, r30 -/* 80CBDCEC 4B 36 EE 7D */ bl entrySimpleModel__14dComIfG_play_cFP8J3DModeli -lbl_80CBDCF0: -/* 80CBDCF0 3B 9C 00 01 */ addi r28, r28, 1 -/* 80CBDCF4 3B BD 01 60 */ addi r29, r29, 0x160 -lbl_80CBDCF8: -/* 80CBDCF8 80 1B 1B 78 */ lwz r0, 0x1b78(r27) -/* 80CBDCFC 7C 1C 00 00 */ cmpw r28, r0 -/* 80CBDD00 41 80 FF D4 */ blt lbl_80CBDCD4 -/* 80CBDD04 38 60 00 01 */ li r3, 1 -/* 80CBDD08 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDD0C 4B 6A 45 15 */ bl _restgpr_27 -/* 80CBDD10 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80CBDD14 7C 08 03 A6 */ mtlr r0 -/* 80CBDD18 38 21 00 20 */ addi r1, r1, 0x20 -/* 80CBDD1C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Execute__FP14obj_rock_class.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Execute__FP14obj_rock_class.s deleted file mode 100644 index a6c97b00c99..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Execute__FP14obj_rock_class.s +++ /dev/null @@ -1,82 +0,0 @@ -lbl_80CBDD20: -/* 80CBDD20 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80CBDD24 7C 08 02 A6 */ mflr r0 -/* 80CBDD28 90 01 00 24 */ stw r0, 0x24(r1) -/* 80CBDD2C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDD30 4B 6A 44 A9 */ bl _savegpr_28 -/* 80CBDD34 7C 7F 1B 78 */ mr r31, r3 -/* 80CBDD38 A8 03 05 74 */ lha r0, 0x574(r3) -/* 80CBDD3C 2C 00 00 00 */ cmpwi r0, 0 -/* 80CBDD40 40 82 00 B4 */ bne lbl_80CBDDF4 -/* 80CBDD44 3B DF 05 78 */ addi r30, r31, 0x578 -/* 80CBDD48 3B A0 00 00 */ li r29, 0 -/* 80CBDD4C 48 00 00 90 */ b lbl_80CBDDDC -lbl_80CBDD50: -/* 80CBDD50 88 1E 01 5C */ lbz r0, 0x15c(r30) -/* 80CBDD54 7C 00 07 75 */ extsb. r0, r0 -/* 80CBDD58 41 82 00 7C */ beq lbl_80CBDDD4 -/* 80CBDD5C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CBDD60 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CBDD64 C0 3E 00 04 */ lfs f1, 4(r30) -/* 80CBDD68 C0 5E 00 08 */ lfs f2, 8(r30) -/* 80CBDD6C C0 1E 00 1C */ lfs f0, 0x1c(r30) -/* 80CBDD70 EC 42 00 2A */ fadds f2, f2, f0 -/* 80CBDD74 C0 7E 00 0C */ lfs f3, 0xc(r30) -/* 80CBDD78 4B 68 8B 71 */ bl PSMTXTrans -/* 80CBDD7C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CBDD80 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CBDD84 A8 9E 00 20 */ lha r4, 0x20(r30) -/* 80CBDD88 4B 34 E6 AD */ bl mDoMtx_YrotM__FPA4_fs -/* 80CBDD8C C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80CBDD90 C0 5E 00 14 */ lfs f2, 0x14(r30) -/* 80CBDD94 C0 7E 00 18 */ lfs f3, 0x18(r30) -/* 80CBDD98 4B 34 F0 A1 */ bl scaleM__14mDoMtx_stack_cFfff -/* 80CBDD9C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */ -/* 80CBDDA0 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */ -/* 80CBDDA4 80 9E 00 00 */ lwz r4, 0(r30) -/* 80CBDDA8 38 84 00 24 */ addi r4, r4, 0x24 -/* 80CBDDAC 4B 68 87 05 */ bl PSMTXCopy -/* 80CBDDB0 38 7E 01 48 */ addi r3, r30, 0x148 -/* 80CBDDB4 38 9E 00 04 */ addi r4, r30, 4 -/* 80CBDDB8 4B 5B 18 91 */ bl SetC__8cM3dGSphFRC4cXyz -/* 80CBDDBC 38 7E 01 48 */ addi r3, r30, 0x148 -/* 80CBDDC0 3C 80 80 CC */ lis r4, lit_3814@ha /* 0x80CBE7A4@ha */ -/* 80CBDDC4 C0 24 E7 A4 */ lfs f1, lit_3814@l(r4) /* 0x80CBE7A4@l */ -/* 80CBDDC8 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80CBDDCC EC 21 00 32 */ fmuls f1, f1, f0 -/* 80CBDDD0 4B 5B 19 39 */ bl SetR__8cM3dGSphFf -lbl_80CBDDD4: -/* 80CBDDD4 3B BD 00 01 */ addi r29, r29, 1 -/* 80CBDDD8 3B DE 01 60 */ addi r30, r30, 0x160 -lbl_80CBDDDC: -/* 80CBDDDC 80 1F 1B 78 */ lwz r0, 0x1b78(r31) -/* 80CBDDE0 7C 1D 00 00 */ cmpw r29, r0 -/* 80CBDDE4 41 80 FF 6C */ blt lbl_80CBDD50 -/* 80CBDDE8 38 00 00 01 */ li r0, 1 -/* 80CBDDEC B0 1F 05 74 */ sth r0, 0x574(r31) -/* 80CBDDF0 48 00 00 3C */ b lbl_80CBDE2C -lbl_80CBDDF4: -/* 80CBDDF4 3B BF 05 78 */ addi r29, r31, 0x578 -/* 80CBDDF8 3B 80 00 00 */ li r28, 0 -/* 80CBDDFC 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBDE00 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBDE04 3B C3 23 3C */ addi r30, r3, 0x233c -/* 80CBDE08 48 00 00 18 */ b lbl_80CBDE20 -lbl_80CBDE0C: -/* 80CBDE0C 7F C3 F3 78 */ mr r3, r30 -/* 80CBDE10 38 9D 00 24 */ addi r4, r29, 0x24 -/* 80CBDE14 4B 5A 6D 95 */ bl Set__4cCcSFP8cCcD_Obj -/* 80CBDE18 3B 9C 00 01 */ addi r28, r28, 1 -/* 80CBDE1C 3B BD 01 60 */ addi r29, r29, 0x160 -lbl_80CBDE20: -/* 80CBDE20 80 1F 1B 78 */ lwz r0, 0x1b78(r31) -/* 80CBDE24 7C 1C 00 00 */ cmpw r28, r0 -/* 80CBDE28 41 80 FF E4 */ blt lbl_80CBDE0C -lbl_80CBDE2C: -/* 80CBDE2C 38 60 00 01 */ li r3, 1 -/* 80CBDE30 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDE34 4B 6A 43 F1 */ bl _restgpr_28 -/* 80CBDE38 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80CBDE3C 7C 08 03 A6 */ mtlr r0 -/* 80CBDE40 38 21 00 20 */ addi r1, r1, 0x20 -/* 80CBDE44 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/set_pos_check__FP14obj_rock_classi.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/set_pos_check__FP14obj_rock_classi.s deleted file mode 100644 index ec40cb4f791..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/set_pos_check__FP14obj_rock_classi.s +++ /dev/null @@ -1,123 +0,0 @@ -lbl_80CBDF84: -/* 80CBDF84 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80CBDF88 7C 08 02 A6 */ mflr r0 -/* 80CBDF8C 90 01 00 64 */ stw r0, 0x64(r1) -/* 80CBDF90 DB E1 00 50 */ stfd f31, 0x50(r1) -/* 80CBDF94 F3 E1 00 58 */ psq_st f31, 88(r1), 0, 0 /* qr0 */ -/* 80CBDF98 DB C1 00 40 */ stfd f30, 0x40(r1) -/* 80CBDF9C F3 C1 00 48 */ psq_st f30, 72(r1), 0, 0 /* qr0 */ -/* 80CBDFA0 39 61 00 40 */ addi r11, r1, 0x40 -/* 80CBDFA4 4B 6A 42 2D */ bl _savegpr_26 -/* 80CBDFA8 7C 7E 1B 78 */ mr r30, r3 -/* 80CBDFAC 7C 9F 23 78 */ mr r31, r4 -/* 80CBDFB0 3C 60 80 CC */ lis r3, lit_3814@ha /* 0x80CBE7A4@ha */ -/* 80CBDFB4 3B 83 E7 A4 */ addi r28, r3, lit_3814@l /* 0x80CBE7A4@l */ -/* 80CBDFB8 3B 40 00 00 */ li r26, 0 -/* 80CBDFBC 3B A0 00 00 */ li r29, 0 -/* 80CBDFC0 1C 7F 01 60 */ mulli r3, r31, 0x160 -/* 80CBDFC4 3B 63 05 7C */ addi r27, r3, 0x57c -/* 80CBDFC8 7F 7E DA 14 */ add r27, r30, r27 -/* 80CBDFCC C3 FC 00 04 */ lfs f31, 4(r28) -/* 80CBDFD0 C3 DC 00 20 */ lfs f30, 0x20(r28) -/* 80CBDFD4 48 00 01 30 */ b lbl_80CBE104 -lbl_80CBDFD8: -/* 80CBDFD8 38 61 00 0C */ addi r3, r1, 0xc -/* 80CBDFDC 38 9D 05 7C */ addi r4, r29, 0x57c -/* 80CBDFE0 7C 9E 22 14 */ add r4, r30, r4 -/* 80CBDFE4 7F 65 DB 78 */ mr r5, r27 -/* 80CBDFE8 4B 5A 8B 4D */ bl __mi__4cXyzCFRC3Vec -/* 80CBDFEC C0 01 00 0C */ lfs f0, 0xc(r1) -/* 80CBDFF0 D0 01 00 18 */ stfs f0, 0x18(r1) -/* 80CBDFF4 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80CBDFF8 D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 80CBDFFC C0 01 00 14 */ lfs f0, 0x14(r1) -/* 80CBE000 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80CBE004 38 61 00 18 */ addi r3, r1, 0x18 -/* 80CBE008 4B 68 91 31 */ bl PSVECSquareMag -/* 80CBE00C FC 01 F8 40 */ fcmpo cr0, f1, f31 -/* 80CBE010 40 81 00 58 */ ble lbl_80CBE068 -/* 80CBE014 FC 00 08 34 */ frsqrte f0, f1 -/* 80CBE018 C8 9C 00 08 */ lfd f4, 8(r28) -/* 80CBE01C FC 44 00 32 */ fmul f2, f4, f0 -/* 80CBE020 C8 7C 00 10 */ lfd f3, 0x10(r28) -/* 80CBE024 FC 00 00 32 */ fmul f0, f0, f0 -/* 80CBE028 FC 01 00 32 */ fmul f0, f1, f0 -/* 80CBE02C FC 03 00 28 */ fsub f0, f3, f0 -/* 80CBE030 FC 02 00 32 */ fmul f0, f2, f0 -/* 80CBE034 FC 44 00 32 */ fmul f2, f4, f0 -/* 80CBE038 FC 00 00 32 */ fmul f0, f0, f0 -/* 80CBE03C FC 01 00 32 */ fmul f0, f1, f0 -/* 80CBE040 FC 03 00 28 */ fsub f0, f3, f0 -/* 80CBE044 FC 02 00 32 */ fmul f0, f2, f0 -/* 80CBE048 FC 44 00 32 */ fmul f2, f4, f0 -/* 80CBE04C FC 00 00 32 */ fmul f0, f0, f0 -/* 80CBE050 FC 01 00 32 */ fmul f0, f1, f0 -/* 80CBE054 FC 03 00 28 */ fsub f0, f3, f0 -/* 80CBE058 FC 02 00 32 */ fmul f0, f2, f0 -/* 80CBE05C FC 21 00 32 */ fmul f1, f1, f0 -/* 80CBE060 FC 20 08 18 */ frsp f1, f1 -/* 80CBE064 48 00 00 88 */ b lbl_80CBE0EC -lbl_80CBE068: -/* 80CBE068 C8 1C 00 18 */ lfd f0, 0x18(r28) -/* 80CBE06C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80CBE070 40 80 00 10 */ bge lbl_80CBE080 -/* 80CBE074 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80CBE078 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80CBE07C 48 00 00 70 */ b lbl_80CBE0EC -lbl_80CBE080: -/* 80CBE080 D0 21 00 08 */ stfs f1, 8(r1) -/* 80CBE084 80 81 00 08 */ lwz r4, 8(r1) -/* 80CBE088 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80CBE08C 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80CBE090 7C 03 00 00 */ cmpw r3, r0 -/* 80CBE094 41 82 00 14 */ beq lbl_80CBE0A8 -/* 80CBE098 40 80 00 40 */ bge lbl_80CBE0D8 -/* 80CBE09C 2C 03 00 00 */ cmpwi r3, 0 -/* 80CBE0A0 41 82 00 20 */ beq lbl_80CBE0C0 -/* 80CBE0A4 48 00 00 34 */ b lbl_80CBE0D8 -lbl_80CBE0A8: -/* 80CBE0A8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80CBE0AC 41 82 00 0C */ beq lbl_80CBE0B8 -/* 80CBE0B0 38 00 00 01 */ li r0, 1 -/* 80CBE0B4 48 00 00 28 */ b lbl_80CBE0DC -lbl_80CBE0B8: -/* 80CBE0B8 38 00 00 02 */ li r0, 2 -/* 80CBE0BC 48 00 00 20 */ b lbl_80CBE0DC -lbl_80CBE0C0: -/* 80CBE0C0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80CBE0C4 41 82 00 0C */ beq lbl_80CBE0D0 -/* 80CBE0C8 38 00 00 05 */ li r0, 5 -/* 80CBE0CC 48 00 00 10 */ b lbl_80CBE0DC -lbl_80CBE0D0: -/* 80CBE0D0 38 00 00 03 */ li r0, 3 -/* 80CBE0D4 48 00 00 08 */ b lbl_80CBE0DC -lbl_80CBE0D8: -/* 80CBE0D8 38 00 00 04 */ li r0, 4 -lbl_80CBE0DC: -/* 80CBE0DC 2C 00 00 01 */ cmpwi r0, 1 -/* 80CBE0E0 40 82 00 0C */ bne lbl_80CBE0EC -/* 80CBE0E4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80CBE0E8 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80CBE0EC: -/* 80CBE0EC FC 01 F0 40 */ fcmpo cr0, f1, f30 -/* 80CBE0F0 40 80 00 0C */ bge lbl_80CBE0FC -/* 80CBE0F4 38 60 00 00 */ li r3, 0 -/* 80CBE0F8 48 00 00 18 */ b lbl_80CBE110 -lbl_80CBE0FC: -/* 80CBE0FC 3B 5A 00 01 */ addi r26, r26, 1 -/* 80CBE100 3B BD 01 60 */ addi r29, r29, 0x160 -lbl_80CBE104: -/* 80CBE104 7C 1A F8 00 */ cmpw r26, r31 -/* 80CBE108 41 80 FE D0 */ blt lbl_80CBDFD8 -/* 80CBE10C 38 60 00 01 */ li r3, 1 -lbl_80CBE110: -/* 80CBE110 E3 E1 00 58 */ psq_l f31, 88(r1), 0, 0 /* qr0 */ -/* 80CBE114 CB E1 00 50 */ lfd f31, 0x50(r1) -/* 80CBE118 E3 C1 00 48 */ psq_l f30, 72(r1), 0, 0 /* qr0 */ -/* 80CBE11C CB C1 00 40 */ lfd f30, 0x40(r1) -/* 80CBE120 39 61 00 40 */ addi r11, r1, 0x40 -/* 80CBE124 4B 6A 40 F9 */ bl _restgpr_26 -/* 80CBE128 80 01 00 64 */ lwz r0, 0x64(r1) -/* 80CBE12C 7C 08 03 A6 */ mtlr r0 -/* 80CBE130 38 21 00 60 */ addi r1, r1, 0x60 -/* 80CBE134 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/useHeapInit__FP10fopAc_ac_c.s b/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/useHeapInit__FP10fopAc_ac_c.s deleted file mode 100644 index 180f254d03f..00000000000 --- a/asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/useHeapInit__FP10fopAc_ac_c.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80CBDED8: -/* 80CBDED8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80CBDEDC 7C 08 02 A6 */ mflr r0 -/* 80CBDEE0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80CBDEE4 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDEE8 4B 6A 42 ED */ bl _savegpr_27 -/* 80CBDEEC 7C 7B 1B 78 */ mr r27, r3 -/* 80CBDEF0 3C 60 80 CC */ lis r3, d_a_obj_rock__stringBase0@ha /* 0x80CBE7E4@ha */ -/* 80CBDEF4 38 63 E7 E4 */ addi r3, r3, d_a_obj_rock__stringBase0@l /* 0x80CBE7E4@l */ -/* 80CBDEF8 38 80 00 03 */ li r4, 3 -/* 80CBDEFC 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80CBDF00 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80CBDF04 3C A5 00 02 */ addis r5, r5, 2 -/* 80CBDF08 38 C0 00 80 */ li r6, 0x80 -/* 80CBDF0C 38 A5 C2 F8 */ addi r5, r5, -15624 -/* 80CBDF10 4B 37 E3 DD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci -/* 80CBDF14 7C 7D 1B 78 */ mr r29, r3 -/* 80CBDF18 3B 80 00 00 */ li r28, 0 -/* 80CBDF1C 3B E0 00 00 */ li r31, 0 -/* 80CBDF20 3F C0 11 00 */ lis r30, 0x1100 -/* 80CBDF24 48 00 00 38 */ b lbl_80CBDF5C -lbl_80CBDF28: -/* 80CBDF28 7F A3 EB 78 */ mr r3, r29 -/* 80CBDF2C 3C 80 00 02 */ lis r4, 2 -/* 80CBDF30 38 BE 00 84 */ addi r5, r30, 0x84 -/* 80CBDF34 4B 35 6D 21 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl -/* 80CBDF38 38 1F 05 78 */ addi r0, r31, 0x578 -/* 80CBDF3C 7C 7B 01 2E */ stwx r3, r27, r0 -/* 80CBDF40 7C 1B 00 2E */ lwzx r0, r27, r0 -/* 80CBDF44 28 00 00 00 */ cmplwi r0, 0 -/* 80CBDF48 40 82 00 0C */ bne lbl_80CBDF54 -/* 80CBDF4C 38 60 00 00 */ li r3, 0 -/* 80CBDF50 48 00 00 1C */ b lbl_80CBDF6C -lbl_80CBDF54: -/* 80CBDF54 3B 9C 00 01 */ addi r28, r28, 1 -/* 80CBDF58 3B FF 01 60 */ addi r31, r31, 0x160 -lbl_80CBDF5C: -/* 80CBDF5C 80 1B 1B 78 */ lwz r0, 0x1b78(r27) -/* 80CBDF60 7C 1C 00 00 */ cmpw r28, r0 -/* 80CBDF64 41 80 FF C4 */ blt lbl_80CBDF28 -/* 80CBDF68 38 60 00 01 */ li r3, 1 -lbl_80CBDF6C: -/* 80CBDF6C 39 61 00 20 */ addi r11, r1, 0x20 -/* 80CBDF70 4B 6A 42 B1 */ bl _restgpr_27 -/* 80CBDF74 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80CBDF78 7C 08 03 A6 */ mtlr r0 -/* 80CBDF7C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80CBDF80 4E 80 00 20 */ blr diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 0de93bcaeba..465b3accbc0 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -1614,6 +1614,10 @@ inline void dComIfGs_removeZone(int i_zoneNo) { g_dComIfG_gameInfo.info.removeZone(i_zoneNo); } +inline void dComIfGp_addSimpleModel(J3DModelData* i_modelData, int roomNo, u8 i_drawBG) { + g_dComIfG_gameInfo.play.addSimpleModel(i_modelData, roomNo, i_drawBG); +} + inline void dComIfGp_removeSimpleModel(J3DModelData* i_modelData, int roomNo) { g_dComIfG_gameInfo.play.removeSimpleModel(i_modelData, roomNo); } diff --git a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h index 3a205709ee8..404d1dfc6ab 100644 --- a/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h +++ b/include/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h @@ -1,6 +1,42 @@ #ifndef D_A_OBJ_ROCK_H #define D_A_OBJ_ROCK_H +#include "SSystem/SComponent/c_phase.h" +#include "d/cc/d_cc_d.h" #include "dolphin/types.h" +#include "f_op/f_op_actor.h" + +class J3DModel; + +struct rock_ss { + /* 80CBE5A4 */ ~rock_ss(); + /* 80CBE678 */ rock_ss(); + + /* 0x00 */ J3DModel* mpModel; + /* 0x04 */ cXyz mPos; + /* 0x10 */ cXyz mScale; + /* 0x1C */ f32 mOffsetY; + /* 0x20 */ s16 mRot; + /* 0x24 */ dCcD_Sph mCollider; + /* 0x15C */ s8 mActive; +}; // Size: 0x160 + +STATIC_ASSERT(sizeof(rock_ss) == 0x160); + +class obj_rock_class : public fopAc_ac_c { +public: + /* 0x568 */ request_of_phase_process_class mPhaseReq; + /* 0x570 */ u8 field_0x570; + /* 0x571 */ u8 field_0x571; + /* 0x572 */ u8 field_0x572; + /* 0x574 */ s16 field_0x574; + /* 0x578 */ rock_ss mRocks[0x10]; + /* 0x1B78 */ s32 mCount; + /* 0x1B7C */ dCcD_Stts mStts; + /* 0x1BB9 */ u8 field_0x1bb8; + /* 0x1BB9 */ bool mInitialized; +}; // Size: 0x1BBC + +STATIC_ASSERT(sizeof(obj_rock_class) == 0x1BBC); #endif /* D_A_OBJ_ROCK_H */ diff --git a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp index 8f6fea16630..7bdffc0d79d 100644 --- a/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp +++ b/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.cpp @@ -4,145 +4,10 @@ // #include "rel/d/a/obj/d_a_obj_rock/d_a_obj_rock.h" -#include "d/cc/d_cc_d.h" -#include "dol2asm.h" -// -// Types: -// - -struct rock_ss { - /* 80CBE5A4 */ ~rock_ss(); - /* 80CBE678 */ rock_ss(); -}; - -struct request_of_phase_process_class {}; - -struct obj_rock_class {}; - -struct mDoMtx_stack_c { - /* 8000CE38 */ void scaleM(f32, f32, f32); - - static u8 now[48]; -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct J3DModel {}; - -struct J3DModelData {}; - -struct dComIfG_play_c { - /* 8002CAF0 */ void addSimpleModel(J3DModelData*, int, u8); - /* 8002CB30 */ void removeSimpleModel(J3DModelData*, int); - /* 8002CB68 */ void entrySimpleModel(J3DModel*, int); -}; - -struct dBgS_ObjGndChk_Spl { - /* 800777B0 */ dBgS_ObjGndChk_Spl(); - /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -}; - -struct dBgS_GndChk { - /* 8007757C */ dBgS_GndChk(); - /* 800775F0 */ ~dBgS_GndChk(); -}; - -struct cCcS { - /* 80264BA8 */ void Set(cCcD_Obj*); -}; - -struct cBgS_GndChk { - /* 80267D0C */ void SetPos(Vec const*); -}; - -struct cBgS { - /* 800744A0 */ void GroundCross(cBgS_GndChk*); -}; - -// -// Forward References: -// - -extern "C" static void daObj_Rock_Draw__FP14obj_rock_class(); -extern "C" static void daObj_Rock_Execute__FP14obj_rock_class(); -extern "C" static bool daObj_Rock_IsDelete__FP14obj_rock_class(); -extern "C" static void daObj_Rock_Delete__FP14obj_rock_class(); -extern "C" static void useHeapInit__FP10fopAc_ac_c(); -extern "C" static void set_pos_check__FP14obj_rock_classi(); -extern "C" static void daObj_Rock_Create__FP10fopAc_ac_c(); -extern "C" void __dt__7rock_ssFv(); -extern "C" void __ct__7rock_ssFv(); -extern "C" void __dt__8cM3dGSphFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" extern char const* const d_a_obj_rock__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void scaleM__14mDoMtx_stack_cFfff(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void addSimpleModel__14dComIfG_play_cFP12J3DModelDataiUc(); -extern "C" void removeSimpleModel__14dComIfG_play_cFP12J3DModelDatai(); -extern "C" void entrySimpleModel__14dComIfG_play_cFP8J3DModeli(); -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 GroundCross__4cBgSFP11cBgS_GndChk(); -extern "C" void __ct__11dBgS_GndChkFv(); -extern "C" void __dt__11dBgS_GndChkFv(); -extern "C" void __ct__18dBgS_ObjGndChk_SplFv(); -extern "C" void __dt__18dBgS_ObjGndChk_SplFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void cM_initRnd2__Fiii(); -extern "C" void cM_rndF2__Ff(); -extern "C" void SetPos__11cBgS_GndChkFPC3Vec(); -extern "C" void SetC__8cM3dGSphFRC4cXyz(); -extern "C" void SetR__8cM3dGSphFf(); -extern "C" void MtxTrans__FfffUc(); -extern "C" void MtxPosition__FP4cXyzP4cXyz(); -extern "C" void MtxPush__Fv(); -extern "C" void MtxPull__Fv(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" void __construct_array(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern void* __vt__8dCcD_Sph[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_SphAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern void* calc_mtx[1 + 1 /* padding */]; +#include "SSystem/SComponent/c_math.h" +#include "d/com/d_com_inf_game.h" +#include "f_op/f_op_actor_mng.h" // // Declarations: @@ -150,266 +15,219 @@ extern "C" extern void* calc_mtx[1 + 1 /* padding */]; /* 80CBDC98-80CBDD20 000078 0088+00 1/0 0/0 0/0 .text daObj_Rock_Draw__FP14obj_rock_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObj_Rock_Draw(obj_rock_class* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Draw__FP14obj_rock_class.s" -} -#pragma pop +static int daObj_Rock_Draw(obj_rock_class* i_this) { + int room = fopAcM_GetRoomNo(i_this); + rock_ss* rock = i_this->mRocks; -/* ############################################################################################## */ -/* 80CBE7A4-80CBE7A8 000000 0004+00 3/3 0/0 0/0 .rodata @3814 */ -SECTION_RODATA static f32 const lit_3814 = 100.0f; -COMPILER_STRIP_GATE(0x80CBE7A4, &lit_3814); + for (int i = 0; i < i_this->mCount; i++, rock++) { + if (rock->mActive) { + dComIfGp_entrySimpleModel(rock->mpModel, room); + } + } + + return TRUE; +} /* 80CBDD20-80CBDE48 000100 0128+00 2/1 0/0 0/0 .text daObj_Rock_Execute__FP14obj_rock_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObj_Rock_Execute(obj_rock_class* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Execute__FP14obj_rock_class.s" +static int daObj_Rock_Execute(obj_rock_class* i_this) { + if (i_this->field_0x574 == 0) { + rock_ss* rock = i_this->mRocks; + for (int i = 0; i < i_this->mCount; i++, rock++) { + if (rock->mActive) { + mDoMtx_trans(mDoMtx_stack_c::get(), rock->mPos.x, rock->mPos.y + rock->mOffsetY, + rock->mPos.z); + mDoMtx_YrotM(mDoMtx_stack_c::get(), rock->mRot); + mDoMtx_stack_c::scaleM(rock->mScale.x, rock->mScale.y, rock->mScale.z); + + rock->mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + + rock->mCollider.SetC(rock->mPos); + rock->mCollider.SetR(rock->mScale.x * 100.0f); + } + } + i_this->field_0x574 = 1; + } else { + rock_ss* rock = i_this->mRocks; + for (int i = 0; i < i_this->mCount; i++, rock++) { + dComIfG_Ccsp2().Set(&rock->mCollider); + } + } + return TRUE; } -#pragma pop /* 80CBDE48-80CBDE50 000228 0008+00 1/0 0/0 0/0 .text daObj_Rock_IsDelete__FP14obj_rock_class */ static bool daObj_Rock_IsDelete(obj_rock_class* param_0) { return true; } -/* ############################################################################################## */ -/* 80CBE7E4-80CBE7E4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CBE7E4 = "Obj_rock"; -#pragma pop - /* 80CBDE50-80CBDED8 000230 0088+00 1/0 0/0 0/0 .text daObj_Rock_Delete__FP14obj_rock_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObj_Rock_Delete(obj_rock_class* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Delete__FP14obj_rock_class.s" +static int daObj_Rock_Delete(obj_rock_class* i_this) { + if (i_this->mInitialized) { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("Obj_rock", 3); + dComIfGp_removeSimpleModel(model_data, fopAcM_GetRoomNo(i_this)); + } + dComIfG_resDelete(&i_this->mPhaseReq, "Obj_rock"); + return TRUE; } -#pragma pop /* 80CBDED8-80CBDF84 0002B8 00AC+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void useHeapInit(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/useHeapInit__FP10fopAc_ac_c.s" +static int useHeapInit(fopAc_ac_c* i_this) { + obj_rock_class* a_this = static_cast(i_this); + + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("Obj_rock", 3); + + for (int i = 0; i < a_this->mCount; i++) { + a_this->mRocks[i].mpModel = mDoExt_J3DModel__create(model_data, 0x20000, 0x11000084); + if (a_this->mRocks[i].mpModel == NULL) { + return 0; + } + } + + return TRUE; } -#pragma pop - -/* ############################################################################################## */ -/* 80CBE7A8-80CBE7AC 000004 0004+00 0/2 0/0 0/0 .rodata @3894 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3894[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80CBE7A8, &lit_3894); -#pragma pop - -/* 80CBE7AC-80CBE7B4 000008 0008+00 0/1 0/0 0/0 .rodata @3895 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3895[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBE7AC, &lit_3895); -#pragma pop - -/* 80CBE7B4-80CBE7BC 000010 0008+00 0/1 0/0 0/0 .rodata @3896 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3896[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBE7B4, &lit_3896); -#pragma pop - -/* 80CBE7BC-80CBE7C4 000018 0008+00 0/1 0/0 0/0 .rodata @3897 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3897[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBE7BC, &lit_3897); -#pragma pop - -/* 80CBE7C4-80CBE7C8 000020 0004+00 0/1 0/0 0/0 .rodata @3898 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3898 = 200.0f; -COMPILER_STRIP_GATE(0x80CBE7C4, &lit_3898); -#pragma pop /* 80CBDF84-80CBE138 000364 01B4+00 1/1 0/0 0/0 .text set_pos_check__FP14obj_rock_classi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void set_pos_check(obj_rock_class* param_0, int param_1) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/set_pos_check__FP14obj_rock_classi.s" +static int set_pos_check(obj_rock_class* i_this, int index) { + for (int i = 0; i < index; i++) { + cXyz dir = i_this->mRocks[i].mPos - i_this->mRocks[index].mPos; + if (dir.abs() < 200.0f) { + return FALSE; + } + } + + return TRUE; } -#pragma pop - -/* ############################################################################################## */ -/* 80CBE7C8-80CBE7CC 000024 0004+00 0/1 0/0 0/0 .rodata @4012 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4012 = 65536.0f; -COMPILER_STRIP_GATE(0x80CBE7C8, &lit_4012); -#pragma pop - -/* 80CBE7CC-80CBE7D0 000028 0004+00 0/1 0/0 0/0 .rodata @4013 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4013 = 0.5f; -COMPILER_STRIP_GATE(0x80CBE7CC, &lit_4013); -#pragma pop - -/* 80CBE7D0-80CBE7D4 00002C 0004+00 0/1 0/0 0/0 .rodata @4014 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4014 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x80CBE7D0, &lit_4014); -#pragma pop - -/* 80CBE7D4-80CBE7D8 000030 0004+00 0/1 0/0 0/0 .rodata @4015 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4015 = 70.0f; -COMPILER_STRIP_GATE(0x80CBE7D4, &lit_4015); -#pragma pop - -/* 80CBE7D8-80CBE7DC 000034 0004+00 0/1 0/0 0/0 .rodata @4016 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4016 = 1.0f; -COMPILER_STRIP_GATE(0x80CBE7D8, &lit_4016); -#pragma pop - -/* 80CBE7DC-80CBE7E4 000038 0008+00 0/1 0/0 0/0 .rodata @4018 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4018[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBE7DC, &lit_4018); -#pragma pop /* 80CBE7F0-80CBE830 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$3926 */ static dCcD_SrcSph cc_sph_src = { { - {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf + {0x0, {{0x0, 0x0, 0x0}, {0xd8fbfdff, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_METAL, 0x2, 0x0, 0x0, 0x3}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf { - {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph - } // mSphAttr + {{0.0f, 0.0f, 0.0f}, 40.0f} // mSph + } // mSphAttr }; /* 80CBE138-80CBE5A4 000518 046C+00 1/0 0/0 0/0 .text daObj_Rock_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daObj_Rock_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/daObj_Rock_Create__FP10fopAc_ac_c.s" +static int daObj_Rock_Create(fopAc_ac_c* i_this) { + obj_rock_class* a_this = static_cast(i_this); + fopAcM_SetupActor(a_this, obj_rock_class); + + cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&a_this->mPhaseReq, "Obj_rock"); + if (step == cPhs_COMPLEATE_e) { + a_this->field_0x570 = fopAcM_GetParam(a_this); + a_this->field_0x571 = fopAcM_GetParamBit(a_this, 8, 8); + a_this->field_0x572 = fopAcM_GetParamBit(a_this, 16, 8); + + if (a_this->field_0x572 == 0xFF) { + a_this->field_0x572 = 0; + } + + a_this->mCount = a_this->field_0x570 + 1; + if (a_this->mCount > 0x10) { + a_this->mCount = 0x10; + } + + if (!fopAcM_entrySolidHeap(i_this, (heapCallbackFunc)useHeapInit, 0x4B000)) { + return cPhs_ERROR_e; + } else { + MtxTrans(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z, 0); + + cXyz init_pos(0.0f, 0.0f, 0.0f); + dBgS_GndChk gnd_chk; + dBgS_ObjGndChk_Spl obj_gnd_chk; + + int count = 0; + cM_initRnd2(0x10, 0x7b, 0x50); + + cXyz pos = i_this->current.pos; + pos.y += 100.0f; + obj_gnd_chk.SetPos((Vec*)&pos); + + f32 gnd_height = dComIfG_Bgsp().GroundCross(&obj_gnd_chk); + for (int i = 0; i < a_this->mCount; i++) { + MtxPush(); + mDoMtx_YrotM(*calc_mtx, cM_rndF2(65536.0f)); + MtxPosition(&init_pos, &a_this->mRocks[i].mPos); + MtxPull(); + + pos.x = a_this->mRocks[i].mPos.x; + pos.y = a_this->mRocks[i].mPos.y + 100.0f; + pos.z = a_this->mRocks[i].mPos.z; + gnd_chk.SetPos((Vec*)&pos); + + a_this->mRocks[i].mPos.y = dComIfG_Bgsp().GroundCross(&gnd_chk); + + if (set_pos_check(a_this, i) && a_this->mRocks[i].mPos.y < gnd_height) { + a_this->mRocks[i].mActive = 1; + a_this->mRocks[i].mScale.x = cM_rndF2(0.4f) + 0.5f; + a_this->mRocks[i].mScale.z = cM_rndF2(0.4f) + 0.5f; + a_this->mRocks[i].mScale.y = cM_rndF2(0.4f) + 0.5f; + a_this->mRocks[i].mOffsetY = -cM_rndF2(70.0f); + a_this->mRocks[i].mRot = cM_rndF2(65536.0f); + + } else { + count++; + i--; + if (count > 10000) { + return cPhs_ERROR_e; + } + } + + init_pos.z = cM_rndF2(1.0f); + init_pos.z = 1.0f - (init_pos.z * init_pos.z); + init_pos.z *= 100.0f * a_this->field_0x571; + } + + a_this->mStts.Init(0xff, 0, i_this); + + for (int i = 0; i < a_this->mCount; i++) { + a_this->mRocks[i].mCollider.Set(cc_sph_src); + a_this->mRocks[i].mCollider.SetStts(&a_this->mStts); + } + + daObj_Rock_Execute(a_this); + + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("Obj_rock", 3); + dComIfGp_addSimpleModel(model_data, fopAcM_GetRoomNo(i_this), 0); + + a_this->mInitialized = 1; + } + } + + return step; } -#pragma pop - -/* ############################################################################################## */ -/* 80CBE830-80CBE850 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Rock_Method */ -SECTION_DATA static void* l_daObj_Rock_Method[8] = { - (void*)daObj_Rock_Create__FP10fopAc_ac_c, - (void*)daObj_Rock_Delete__FP14obj_rock_class, - (void*)daObj_Rock_Execute__FP14obj_rock_class, - (void*)daObj_Rock_IsDelete__FP14obj_rock_class, - (void*)daObj_Rock_Draw__FP14obj_rock_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80CBE850-80CBE880 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_ROCK */ -SECTION_DATA extern void* g_profile_OBJ_ROCK[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x01180000, (void*)&g_fpcLf_Method, - (void*)0x00001BBC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02C60000, (void*)&l_daObj_Rock_Method, - (void*)0x00040000, (void*)0x000E0000, -}; - -/* 80CBE880-80CBE88C 000090 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80CBE88C-80CBE898 00009C 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGSph */ -SECTION_DATA extern void* __vt__8cM3dGSph[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGSphFv, -}; /* 80CBE5A4-80CBE678 000984 00D4+00 1/1 0/0 0/0 .text __dt__7rock_ssFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm rock_ss::~rock_ss() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__7rock_ssFv.s" -} -#pragma pop +rock_ss::~rock_ss() {} /* 80CBE678-80CBE70C 000A58 0094+00 1/1 0/0 0/0 .text __ct__7rock_ssFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm rock_ss::rock_ss() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__ct__7rock_ssFv.s" -} -#pragma pop +rock_ss::rock_ss() {} -/* 80CBE70C-80CBE754 000AEC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm cM3dGSph::~cM3dGSph() { -extern "C" asm void __dt__8cM3dGSphFv() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGSphFv.s" -} -#pragma pop +/* 80CBE830-80CBE850 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Rock_Method */ +static actor_method_class l_daObj_Rock_Method = { + (process_method_func)daObj_Rock_Create, (process_method_func)daObj_Rock_Delete, + (process_method_func)daObj_Rock_Execute, (process_method_func)daObj_Rock_IsDelete, + (process_method_func)daObj_Rock_Draw}; -/* 80CBE754-80CBE79C 000B34 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -// asm cM3dGAab::~cM3dGAab() { -extern "C" asm void __dt__8cM3dGAabFv() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_rock/d_a_obj_rock/__dt__8cM3dGAabFv.s" -} -#pragma pop - -/* 80CBE7E4-80CBE7E4 000040 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +extern actor_process_profile_definition g_profile_OBJ_ROCK = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_OBJ_ROCK, // mProcName + &g_fpcLf_Method.mBase, // sub_method + sizeof(obj_rock_class), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 710, // mPriority + &l_daObj_Rock_Method, // sub_method + 0x40000, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +}; \ No newline at end of file