mirror of https://github.com/zeldaret/tp.git
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 <noreply>
This commit is contained in:
parent
2f935526dc
commit
6698b38726
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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<obj_rock_class*>(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<obj_rock_class*>(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
|
||||
};
|
||||
Loading…
Reference in New Issue