d_a_obj_mirror_screw OK, work on d_a_obj_mirror_chain and d_a_obj_mirror_table (#2057)

This commit is contained in:
Caroline Madsen 2024-01-31 13:49:22 -05:00 committed by GitHub
parent 4a081109bd
commit 9774b42db8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
56 changed files with 1210 additions and 3116 deletions

View File

@ -21,8 +21,8 @@ Total | 51.046790% | 2052424 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 51.046790% | 2052424 | 4020672
RELs | 35.546999% | 4088020 | 11500324
Total | 39.562178% | 6140444 | 15520996
RELs | 35.625501% | 4097048 | 11500324
Total | 39.620344% | 6149472 | 15520996
## RELs
@ -90,7 +90,7 @@ d_a_e_ba | 28.140394% | 5484 | 19488
d_a_e_bee | 30.316629% | 4864 | 16044
d_a_e_bg | 27.665091% | 7256 | 26228
d_a_e_bi | 30.767563% | 5676 | 18448
d_a_e_bi_leaf | 50.446429% | 904 | 1792
d_a_e_bi_leaf | 100.000000% | 1792 | 1792
d_a_e_bs | 32.320835% | 5448 | 16856
d_a_e_bu | 30.436573% | 5912 | 19424
d_a_e_bug | 29.207138% | 5172 | 17708
@ -116,7 +116,7 @@ d_a_e_gm | 28.274812% | 10404 | 36796
d_a_e_gob | 26.683396% | 10208 | 38256
d_a_e_gs | 44.729606% | 1952 | 4364
d_a_e_hb | 27.624471% | 7568 | 27396
d_a_e_hb_leaf | 55.309735% | 1000 | 1808
d_a_e_hb_leaf | 100.000000% | 1808 | 1808
d_a_e_hm | 27.299426% | 8180 | 29964
d_a_e_hp | 28.231798% | 6840 | 24228
d_a_e_hz | 23.990326% | 7936 | 33080
@ -543,10 +543,10 @@ d_a_obj_mgate | 100.000000% | 4152 | 4152
d_a_obj_mhole | 35.548173% | 2140 | 6020
d_a_obj_mie | 34.891676% | 3672 | 10524
d_a_obj_mirror_6pole | 100.000000% | 3496 | 3496
d_a_obj_mirror_chain | 34.916201% | 3500 | 10024
d_a_obj_mirror_chain | 56.943336% | 5708 | 10024
d_a_obj_mirror_sand | 100.000000% | 3832 | 3832
d_a_obj_mirror_screw | 40.374532% | 2156 | 5340
d_a_obj_mirror_table | 38.664122% | 4052 | 10480
d_a_obj_mirror_screw | 100.000000% | 5340 | 5340
d_a_obj_mirror_table | 57.175573% | 5992 | 10480
d_a_obj_movebox | 36.691330% | 7736 | 21084
d_a_obj_msima | 35.108959% | 3480 | 9912
d_a_obj_mvstair | 35.209479% | 3328 | 9452
@ -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 | 35.546999% | 4088020 | 11500324
Total | 35.625501% | 4097048 | 11500324

View File

@ -1,26 +0,0 @@
lbl_80C97F3C:
/* 80C97F3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C97F40 7C 08 02 A6 */ mflr r0
/* 80C97F44 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97F48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C97F4C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80C97F50 41 82 00 30 */ beq lbl_80C97F80
/* 80C97F54 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */
/* 80C97F58 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */
/* 80C97F5C 90 1F 00 00 */ stw r0, 0(r31)
/* 80C97F60 41 82 00 10 */ beq lbl_80C97F70
/* 80C97F64 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97F68 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97F6C 90 1F 00 00 */ stw r0, 0(r31)
lbl_80C97F70:
/* 80C97F70 7C 80 07 35 */ extsh. r0, r4
/* 80C97F74 40 81 00 0C */ ble lbl_80C97F80
/* 80C97F78 7F E3 FB 78 */ mr r3, r31
/* 80C97F7C 4B 63 6D C1 */ bl __dl__FPv
lbl_80C97F80:
/* 80C97F80 7F E3 FB 78 */ mr r3, r31
/* 80C97F84 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C97F88 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C97F8C 7C 08 03 A6 */ mtlr r0
/* 80C97F90 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97F94 4E 80 00 20 */ blr

View File

@ -1,36 +0,0 @@
lbl_80C97F98:
/* 80C97F98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C97F9C 7C 08 02 A6 */ mflr r0
/* 80C97FA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97FA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C97FA8 93 C1 00 08 */ stw r30, 8(r1)
/* 80C97FAC 7C 7E 1B 79 */ or. r30, r3, r3
/* 80C97FB0 7C 9F 23 78 */ mr r31, r4
/* 80C97FB4 41 82 00 4C */ beq lbl_80C98000
/* 80C97FB8 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */
/* 80C97FBC 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */
/* 80C97FC0 90 1E 00 00 */ stw r0, 0(r30)
/* 80C97FC4 38 7E 00 10 */ addi r3, r30, 0x10
/* 80C97FC8 3C 80 80 C9 */ lis r4, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */
/* 80C97FCC 38 84 6D AC */ addi r4, r4, __dt__4cXyzFv@l /* 0x80C96DAC@l */
/* 80C97FD0 38 A0 00 0C */ li r5, 0xc
/* 80C97FD4 38 C0 00 04 */ li r6, 4
/* 80C97FD8 4B 6C 9D 11 */ bl __destroy_arr
/* 80C97FDC 28 1E 00 00 */ cmplwi r30, 0
/* 80C97FE0 41 82 00 10 */ beq lbl_80C97FF0
/* 80C97FE4 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97FE8 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97FEC 90 1E 00 00 */ stw r0, 0(r30)
lbl_80C97FF0:
/* 80C97FF0 7F E0 07 35 */ extsh. r0, r31
/* 80C97FF4 40 81 00 0C */ ble lbl_80C98000
/* 80C97FF8 7F C3 F3 78 */ mr r3, r30
/* 80C97FFC 4B 63 6D 41 */ bl __dl__FPv
lbl_80C98000:
/* 80C98000 7F C3 F3 78 */ mr r3, r30
/* 80C98004 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C98008 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9800C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C98010 7C 08 03 A6 */ mtlr r0
/* 80C98014 38 21 00 10 */ addi r1, r1, 0x10
/* 80C98018 4E 80 00 20 */ blr

View File

@ -1,17 +0,0 @@
lbl_80C96DAC:
/* 80C96DAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C96DB0 7C 08 02 A6 */ mflr r0
/* 80C96DB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C96DB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C96DBC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80C96DC0 41 82 00 10 */ beq lbl_80C96DD0
/* 80C96DC4 7C 80 07 35 */ extsh. r0, r4
/* 80C96DC8 40 81 00 08 */ ble lbl_80C96DD0
/* 80C96DCC 4B 63 7F 71 */ bl __dl__FPv
lbl_80C96DD0:
/* 80C96DD0 7F E3 FB 78 */ mr r3, r31
/* 80C96DD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C96DD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C96DDC 7C 08 03 A6 */ mtlr r0
/* 80C96DE0 38 21 00 10 */ addi r1, r1, 0x10
/* 80C96DE4 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80C97CC4:
/* 80C97CC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C97CC8 7C 08 02 A6 */ mflr r0
/* 80C97CCC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97CD0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C97CD4 93 C1 00 08 */ stw r30, 8(r1)
/* 80C97CD8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80C97CDC 7C 9F 23 78 */ mr r31, r4
/* 80C97CE0 41 82 00 28 */ beq lbl_80C97D08
/* 80C97CE4 3C 80 80 3B */ lis r4, __vt__4dBgW@ha /* 0x803ABA80@ha */
/* 80C97CE8 38 04 BA 80 */ addi r0, r4, __vt__4dBgW@l /* 0x803ABA80@l */
/* 80C97CEC 90 1E 00 04 */ stw r0, 4(r30)
/* 80C97CF0 38 80 00 00 */ li r4, 0
/* 80C97CF4 4B 3E 16 49 */ bl __dt__4cBgWFv
/* 80C97CF8 7F E0 07 35 */ extsh. r0, r31
/* 80C97CFC 40 81 00 0C */ ble lbl_80C97D08
/* 80C97D00 7F C3 F3 78 */ mr r3, r30
/* 80C97D04 4B 63 70 39 */ bl __dl__FPv
lbl_80C97D08:
/* 80C97D08 7F C3 F3 78 */ mr r3, r30
/* 80C97D0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C97D10 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C97D14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C97D18 7C 08 03 A6 */ mtlr r0
/* 80C97D1C 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97D20 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C96E20:
/* 80C96E20 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C96E24 7C 08 02 A6 */ mflr r0
/* 80C96E28 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C96E2C 48 00 00 15 */ bl createHeap__18daObjMirrorChain_cFv
/* 80C96E30 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C96E34 7C 08 03 A6 */ mtlr r0
/* 80C96E38 38 21 00 10 */ addi r1, r1, 0x10
/* 80C96E3C 4E 80 00 20 */ blr

View File

@ -1,143 +0,0 @@
lbl_80C97D24:
/* 80C97D24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80C97D28 7C 08 02 A6 */ mflr r0
/* 80C97D2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 80C97D30 39 61 00 20 */ addi r11, r1, 0x20
/* 80C97D34 4B 6C A4 A9 */ bl _savegpr_29
/* 80C97D38 7C 7E 1B 78 */ mr r30, r3
/* 80C97D3C 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80C97D40 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80C97D44 40 82 00 B0 */ bne lbl_80C97DF4
/* 80C97D48 7F C0 F3 79 */ or. r0, r30, r30
/* 80C97D4C 41 82 00 9C */ beq lbl_80C97DE8
/* 80C97D50 7C 1F 03 78 */ mr r31, r0
/* 80C97D54 4B 38 0E 11 */ bl __ct__10fopAc_ac_cFv
/* 80C97D58 38 7F 05 88 */ addi r3, r31, 0x588
/* 80C97D5C 3C 80 80 08 */ lis r4, __ct__4dBgWFv@ha /* 0x8007B970@ha */
/* 80C97D60 38 84 B9 70 */ addi r4, r4, __ct__4dBgWFv@l /* 0x8007B970@l */
/* 80C97D64 3C A0 80 C9 */ lis r5, __dt__4dBgWFv@ha /* 0x80C97CC4@ha */
/* 80C97D68 38 A5 7C C4 */ addi r5, r5, __dt__4dBgWFv@l /* 0x80C97CC4@l */
/* 80C97D6C 38 C0 00 C0 */ li r6, 0xc0
/* 80C97D70 38 E0 00 02 */ li r7, 2
/* 80C97D74 4B 6C 9F ED */ bl __construct_array
/* 80C97D78 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97D7C 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97D80 90 1F 07 3C */ stw r0, 0x73c(r31)
/* 80C97D84 38 00 00 00 */ li r0, 0
/* 80C97D88 90 1F 07 40 */ stw r0, 0x740(r31)
/* 80C97D8C 90 1F 07 44 */ stw r0, 0x744(r31)
/* 80C97D90 90 1F 07 48 */ stw r0, 0x748(r31)
/* 80C97D94 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */
/* 80C97D98 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */
/* 80C97D9C 90 1F 07 3C */ stw r0, 0x73c(r31)
/* 80C97DA0 38 7F 07 4C */ addi r3, r31, 0x74c
/* 80C97DA4 3C 80 80 CA */ lis r4, __ct__4cXyzFv@ha /* 0x80C9801C@ha */
/* 80C97DA8 38 84 80 1C */ addi r4, r4, __ct__4cXyzFv@l /* 0x80C9801C@l */
/* 80C97DAC 3C A0 80 C9 */ lis r5, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */
/* 80C97DB0 38 A5 6D AC */ addi r5, r5, __dt__4cXyzFv@l /* 0x80C96DAC@l */
/* 80C97DB4 38 C0 00 0C */ li r6, 0xc
/* 80C97DB8 38 E0 00 04 */ li r7, 4
/* 80C97DBC 4B 6C 9F A5 */ bl __construct_array
/* 80C97DC0 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97DC4 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97DC8 90 1F 07 7C */ stw r0, 0x77c(r31)
/* 80C97DCC 38 00 00 00 */ li r0, 0
/* 80C97DD0 90 1F 07 80 */ stw r0, 0x780(r31)
/* 80C97DD4 90 1F 07 84 */ stw r0, 0x784(r31)
/* 80C97DD8 90 1F 07 88 */ stw r0, 0x788(r31)
/* 80C97DDC 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */
/* 80C97DE0 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */
/* 80C97DE4 90 1F 07 7C */ stw r0, 0x77c(r31)
lbl_80C97DE8:
/* 80C97DE8 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 80C97DEC 60 00 00 08 */ ori r0, r0, 8
/* 80C97DF0 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_80C97DF4:
/* 80C97DF4 38 7E 05 7C */ addi r3, r30, 0x57c
/* 80C97DF8 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C98080@ha */
/* 80C97DFC 38 84 80 80 */ addi r4, r4, l_arcName@l /* 0x80C98080@l */
/* 80C97E00 80 84 00 00 */ lwz r4, 0(r4)
/* 80C97E04 4B 39 50 B9 */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80C97E08 7C 7F 1B 78 */ mr r31, r3
/* 80C97E0C 2C 1F 00 04 */ cmpwi r31, 4
/* 80C97E10 40 82 01 10 */ bne lbl_80C97F20
/* 80C97E14 7F C3 F3 78 */ mr r3, r30
/* 80C97E18 3C 80 80 C9 */ lis r4, createSolidHeap__FP10fopAc_ac_c@ha /* 0x80C96E20@ha */
/* 80C97E1C 38 84 6E 20 */ addi r4, r4, createSolidHeap__FP10fopAc_ac_c@l /* 0x80C96E20@l */
/* 80C97E20 38 A0 71 B0 */ li r5, 0x71b0
/* 80C97E24 4B 38 26 8D */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80C97E28 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C97E2C 40 82 00 0C */ bne lbl_80C97E38
/* 80C97E30 3B E0 00 05 */ li r31, 5
/* 80C97E34 48 00 00 EC */ b lbl_80C97F20
lbl_80C97E38:
/* 80C97E38 80 1E 05 70 */ lwz r0, 0x570(r30)
/* 80C97E3C 28 00 00 00 */ cmplwi r0, 0
/* 80C97E40 41 82 00 38 */ beq lbl_80C97E78
/* 80C97E44 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97E48 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97E4C 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C97E50 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C97E54 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C97E58 A0 84 02 C4 */ lhz r4, 0x2c4(r4)
/* 80C97E5C 4B 39 CB 61 */ bl isEventBit__11dSv_event_cCFUs
/* 80C97E60 2C 03 00 00 */ cmpwi r3, 0
/* 80C97E64 40 82 00 14 */ bne lbl_80C97E78
/* 80C97E68 3C 60 80 CA */ lis r3, lit_3917@ha /* 0x80C98030@ha */
/* 80C97E6C C0 03 80 30 */ lfs f0, lit_3917@l(r3) /* 0x80C98030@l */
/* 80C97E70 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 80C97E74 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80C97E78:
/* 80C97E78 38 60 00 00 */ li r3, 0
/* 80C97E7C 90 7E 07 08 */ stw r3, 0x708(r30)
/* 80C97E80 90 7E 06 38 */ stw r3, 0x638(r30)
/* 80C97E84 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80C97E88 98 1E 05 91 */ stb r0, 0x591(r30)
/* 80C97E8C 90 7E 06 F8 */ stw r3, 0x6f8(r30)
/* 80C97E90 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80C97E94 98 1E 06 51 */ stb r0, 0x651(r30)
/* 80C97E98 3B A0 00 01 */ li r29, 1
/* 80C97E9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97EA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97EA4 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 80C97EA8 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f
/* 80C97EAC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80C97EB0 7C 05 07 74 */ extsb r5, r0
/* 80C97EB4 4B 39 D4 AD */ bl isSwitch__10dSv_info_cCFii
/* 80C97EB8 2C 03 00 00 */ cmpwi r3, 0
/* 80C97EBC 40 82 00 2C */ bne lbl_80C97EE8
/* 80C97EC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97EC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97EC8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C97ECC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C97ED0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C97ED4 A0 84 02 D2 */ lhz r4, 0x2d2(r4)
/* 80C97ED8 4B 39 CA E5 */ bl isEventBit__11dSv_event_cCFUs
/* 80C97EDC 2C 03 00 00 */ cmpwi r3, 0
/* 80C97EE0 40 82 00 08 */ bne lbl_80C97EE8
/* 80C97EE4 3B A0 00 00 */ li r29, 0
lbl_80C97EE8:
/* 80C97EE8 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 80C97EEC 41 82 00 0C */ beq lbl_80C97EF8
/* 80C97EF0 38 1E 06 48 */ addi r0, r30, 0x648
/* 80C97EF4 48 00 00 08 */ b lbl_80C97EFC
lbl_80C97EF8:
/* 80C97EF8 38 1E 05 88 */ addi r0, r30, 0x588
lbl_80C97EFC:
/* 80C97EFC 90 1E 05 84 */ stw r0, 0x584(r30)
/* 80C97F00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97F04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97F08 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C97F0C 80 9E 05 84 */ lwz r4, 0x584(r30)
/* 80C97F10 7F C5 F3 78 */ mr r5, r30
/* 80C97F14 4B 3D CA F5 */ bl Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c
/* 80C97F18 7F C3 F3 78 */ mr r3, r30
/* 80C97F1C 4B FF F6 D1 */ bl initBaseMtx__18daObjMirrorChain_cFv
lbl_80C97F20:
/* 80C97F20 7F E3 FB 78 */ mr r3, r31
/* 80C97F24 39 61 00 20 */ addi r11, r1, 0x20
/* 80C97F28 4B 6C A3 01 */ bl _restgpr_29
/* 80C97F2C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80C97F30 7C 08 03 A6 */ mtlr r0
/* 80C97F34 38 21 00 20 */ addi r1, r1, 0x20
/* 80C97F38 4E 80 00 20 */ blr

View File

@ -1,76 +0,0 @@
lbl_80C97BAC:
/* 80C97BAC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C97BB0 7C 08 02 A6 */ mflr r0
/* 80C97BB4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97BB8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C97BBC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80C97BC0 41 82 00 EC */ beq lbl_80C97CAC
/* 80C97BC4 38 7F 05 88 */ addi r3, r31, 0x588
/* 80C97BC8 4B 5D 06 0D */ bl ChkUsed__9cBgW_BgIdCFv
/* 80C97BCC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C97BD0 41 82 00 18 */ beq lbl_80C97BE8
/* 80C97BD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97BD8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97BDC 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C97BE0 38 9F 05 88 */ addi r4, r31, 0x588
/* 80C97BE4 4B 3D C6 6D */ bl Release__4cBgSFP9dBgW_Base
lbl_80C97BE8:
/* 80C97BE8 38 7F 06 48 */ addi r3, r31, 0x648
/* 80C97BEC 4B 5D 05 E9 */ bl ChkUsed__9cBgW_BgIdCFv
/* 80C97BF0 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C97BF4 41 82 00 18 */ beq lbl_80C97C0C
/* 80C97BF8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97BFC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97C00 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C97C04 38 9F 06 48 */ addi r4, r31, 0x648
/* 80C97C08 4B 3D C6 49 */ bl Release__4cBgSFP9dBgW_Base
lbl_80C97C0C:
/* 80C97C0C 38 7F 05 7C */ addi r3, r31, 0x57c
/* 80C97C10 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C98080@ha */
/* 80C97C14 38 84 80 80 */ addi r4, r4, l_arcName@l /* 0x80C98080@l */
/* 80C97C18 80 84 00 00 */ lwz r4, 0(r4)
/* 80C97C1C 4B 39 53 ED */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80C97C20 34 1F 07 7C */ addic. r0, r31, 0x77c
/* 80C97C24 41 82 00 24 */ beq lbl_80C97C48
/* 80C97C28 3C 60 80 CA */ lis r3, __vt__20dScissorEnd_packet_c@ha /* 0x80C98110@ha */
/* 80C97C2C 38 03 81 10 */ addi r0, r3, __vt__20dScissorEnd_packet_c@l /* 0x80C98110@l */
/* 80C97C30 90 1F 07 7C */ stw r0, 0x77c(r31)
/* 80C97C34 34 1F 07 7C */ addic. r0, r31, 0x77c
/* 80C97C38 41 82 00 10 */ beq lbl_80C97C48
/* 80C97C3C 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97C40 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97C44 90 1F 07 7C */ stw r0, 0x77c(r31)
lbl_80C97C48:
/* 80C97C48 34 1F 07 3C */ addic. r0, r31, 0x73c
/* 80C97C4C 41 82 00 3C */ beq lbl_80C97C88
/* 80C97C50 3C 60 80 CA */ lis r3, __vt__22dScissorBegin_packet_c@ha /* 0x80C98124@ha */
/* 80C97C54 38 03 81 24 */ addi r0, r3, __vt__22dScissorBegin_packet_c@l /* 0x80C98124@l */
/* 80C97C58 90 1F 07 3C */ stw r0, 0x73c(r31)
/* 80C97C5C 38 7F 07 4C */ addi r3, r31, 0x74c
/* 80C97C60 3C 80 80 C9 */ lis r4, __dt__4cXyzFv@ha /* 0x80C96DAC@ha */
/* 80C97C64 38 84 6D AC */ addi r4, r4, __dt__4cXyzFv@l /* 0x80C96DAC@l */
/* 80C97C68 38 A0 00 0C */ li r5, 0xc
/* 80C97C6C 38 C0 00 04 */ li r6, 4
/* 80C97C70 4B 6C A0 79 */ bl __destroy_arr
/* 80C97C74 34 1F 07 3C */ addic. r0, r31, 0x73c
/* 80C97C78 41 82 00 10 */ beq lbl_80C97C88
/* 80C97C7C 3C 60 80 3D */ lis r3, __vt__9J3DPacket@ha /* 0x803CD97C@ha */
/* 80C97C80 38 03 D9 7C */ addi r0, r3, __vt__9J3DPacket@l /* 0x803CD97C@l */
/* 80C97C84 90 1F 07 3C */ stw r0, 0x73c(r31)
lbl_80C97C88:
/* 80C97C88 38 7F 05 88 */ addi r3, r31, 0x588
/* 80C97C8C 3C 80 80 C9 */ lis r4, __dt__4dBgWFv@ha /* 0x80C97CC4@ha */
/* 80C97C90 38 84 7C C4 */ addi r4, r4, __dt__4dBgWFv@l /* 0x80C97CC4@l */
/* 80C97C94 38 A0 00 C0 */ li r5, 0xc0
/* 80C97C98 38 C0 00 02 */ li r6, 2
/* 80C97C9C 4B 6C A0 4D */ bl __destroy_arr
/* 80C97CA0 7F E3 FB 78 */ mr r3, r31
/* 80C97CA4 38 80 00 00 */ li r4, 0
/* 80C97CA8 4B 38 0F E5 */ bl __dt__10fopAc_ac_cFv
lbl_80C97CAC:
/* 80C97CAC 38 60 00 01 */ li r3, 1
/* 80C97CB0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C97CB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C97CB8 7C 08 03 A6 */ mtlr r0
/* 80C97CBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97CC0 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C97698:
/* 80C97698 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9769C 7C 08 02 A6 */ mflr r0
/* 80C976A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C976A4 48 00 00 15 */ bl draw__18daObjMirrorChain_cFv
/* 80C976A8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C976AC 7C 08 03 A6 */ mtlr r0
/* 80C976B0 38 21 00 10 */ addi r1, r1, 0x10
/* 80C976B4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C97968:
/* 80C97968 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9796C 7C 08 02 A6 */ mflr r0
/* 80C97970 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97974 48 00 00 15 */ bl execute__18daObjMirrorChain_cFv
/* 80C97978 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9797C 7C 08 03 A6 */ mtlr r0
/* 80C97980 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97984 4E 80 00 20 */ blr

View File

@ -1,183 +0,0 @@
lbl_80C976B8:
/* 80C976B8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80C976BC 7C 08 02 A6 */ mflr r0
/* 80C976C0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80C976C4 39 61 00 20 */ addi r11, r1, 0x20
/* 80C976C8 4B 6C AB 15 */ bl _savegpr_29
/* 80C976CC 7C 7F 1B 78 */ mr r31, r3
/* 80C976D0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C976D4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C976D8 38 80 00 10 */ li r4, 0x10
/* 80C976DC 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 80C976E0 38 DF 01 0C */ addi r6, r31, 0x10c
/* 80C976E4 4B 50 C0 E1 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80C976E8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C976EC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C976F0 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 80C976F4 80 84 00 04 */ lwz r4, 4(r4)
/* 80C976F8 38 BF 01 0C */ addi r5, r31, 0x10c
/* 80C976FC 4B 50 D6 A5 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80C97700 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97704 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97708 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C9770C 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C97710 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C97714 A0 84 02 C4 */ lhz r4, 0x2c4(r4)
/* 80C97718 4B 39 D2 A5 */ bl isEventBit__11dSv_event_cCFUs
/* 80C9771C 2C 03 00 00 */ cmpwi r3, 0
/* 80C97720 41 82 01 6C */ beq lbl_80C9788C
/* 80C97724 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C97728 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C9772C 80 9F 05 6C */ lwz r4, 0x56c(r31)
/* 80C97730 80 84 00 04 */ lwz r4, 4(r4)
/* 80C97734 38 BF 01 0C */ addi r5, r31, 0x10c
/* 80C97738 4B 50 D6 69 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80C9773C 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80C97740 28 03 00 00 */ cmplwi r3, 0
/* 80C97744 41 82 00 14 */ beq lbl_80C97758
/* 80C97748 80 9F 05 6C */ lwz r4, 0x56c(r31)
/* 80C9774C 80 84 00 04 */ lwz r4, 4(r4)
/* 80C97750 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C97754 4B 37 62 79 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
lbl_80C97758:
/* 80C97758 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 80C9775C 28 03 00 00 */ cmplwi r3, 0
/* 80C97760 41 82 00 18 */ beq lbl_80C97778
/* 80C97764 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 80C97768 80 84 00 04 */ lwz r4, 4(r4)
/* 80C9776C C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C97770 38 84 00 58 */ addi r4, r4, 0x58
/* 80C97774 4B 37 60 35 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef
lbl_80C97778:
/* 80C97778 80 7F 05 78 */ lwz r3, 0x578(r31)
/* 80C9777C 28 03 00 00 */ cmplwi r3, 0
/* 80C97780 41 82 00 18 */ beq lbl_80C97798
/* 80C97784 80 9F 05 6C */ lwz r4, 0x56c(r31)
/* 80C97788 80 84 00 04 */ lwz r4, 4(r4)
/* 80C9778C C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C97790 38 84 00 58 */ addi r4, r4, 0x58
/* 80C97794 4B 37 60 15 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef
lbl_80C97798:
/* 80C97798 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9779C 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C977A0 80 1D 5F 70 */ lwz r0, 0x5f70(r29)
/* 80C977A4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80C977A8 3B C3 4A C8 */ addi r30, r3, j3dSys@l /* 0x80434AC8@l */
/* 80C977AC 90 1E 00 48 */ stw r0, 0x48(r30)
/* 80C977B0 80 1D 5F 74 */ lwz r0, 0x5f74(r29)
/* 80C977B4 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 80C977B8 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C977BC 4B 37 65 09 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C977C0 38 BF 07 4C */ addi r5, r31, 0x74c
/* 80C977C4 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C977C8 38 63 00 24 */ addi r3, r3, 0x24
/* 80C977CC 3C 80 80 CA */ lis r4, data_80C98084@ha /* 0x80C98084@ha */
/* 80C977D0 38 84 80 84 */ addi r4, r4, data_80C98084@l /* 0x80C98084@l */
/* 80C977D4 38 C0 00 04 */ li r6, 4
/* 80C977D8 4B 6A F5 E9 */ bl PSMTXMultVecArray
/* 80C977DC 80 1D 5F 74 */ lwz r0, 0x5f74(r29)
/* 80C977E0 90 1E 00 48 */ stw r0, 0x48(r30)
/* 80C977E4 80 7E 00 4C */ lwz r3, 0x4c(r30)
/* 80C977E8 38 9F 07 7C */ addi r4, r31, 0x77c
/* 80C977EC 38 A0 00 00 */ li r5, 0
/* 80C977F0 4B 68 DC 9D */ bl entryImm__13J3DDrawBufferFP9J3DPacketUs
/* 80C977F4 80 7F 05 6C */ lwz r3, 0x56c(r31)
/* 80C977F8 4B 37 64 CD */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C977FC 80 7E 00 4C */ lwz r3, 0x4c(r30)
/* 80C97800 38 9F 07 3C */ addi r4, r31, 0x73c
/* 80C97804 38 A0 00 00 */ li r5, 0
/* 80C97808 4B 68 DC 85 */ bl entryImm__13J3DDrawBufferFP9J3DPacketUs
/* 80C9780C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C97810 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C97814 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 80C97818 90 1E 00 48 */ stw r0, 0x48(r30)
/* 80C9781C 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 80C97820 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 80C97824 80 1F 05 70 */ lwz r0, 0x570(r31)
/* 80C97828 28 00 00 00 */ cmplwi r0, 0
/* 80C9782C 41 82 00 1C */ beq lbl_80C97848
/* 80C97830 80 7F 05 6C */ lwz r3, 0x56c(r31)
/* 80C97834 80 63 00 04 */ lwz r3, 4(r3)
/* 80C97838 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80C9783C 80 63 00 00 */ lwz r3, 0(r3)
/* 80C97840 38 00 00 00 */ li r0, 0
/* 80C97844 90 03 00 54 */ stw r0, 0x54(r3)
lbl_80C97848:
/* 80C97848 80 9F 05 74 */ lwz r4, 0x574(r31)
/* 80C9784C 28 04 00 00 */ cmplwi r4, 0
/* 80C97850 41 82 00 18 */ beq lbl_80C97868
/* 80C97854 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C97858 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9785C 38 63 00 58 */ addi r3, r3, 0x58
/* 80C97860 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C97864 4B 69 80 1D */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
lbl_80C97868:
/* 80C97868 80 9F 05 78 */ lwz r4, 0x578(r31)
/* 80C9786C 28 04 00 00 */ cmplwi r4, 0
/* 80C97870 41 82 00 DC */ beq lbl_80C9794C
/* 80C97874 80 7F 05 6C */ lwz r3, 0x56c(r31)
/* 80C97878 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9787C 38 63 00 58 */ addi r3, r3, 0x58
/* 80C97880 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C97884 4B 69 7F FD */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
/* 80C97888 48 00 00 C4 */ b lbl_80C9794C
lbl_80C9788C:
/* 80C9788C 80 7F 05 70 */ lwz r3, 0x570(r31)
/* 80C97890 28 03 00 00 */ cmplwi r3, 0
/* 80C97894 41 82 00 14 */ beq lbl_80C978A8
/* 80C97898 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 80C9789C 80 84 00 04 */ lwz r4, 4(r4)
/* 80C978A0 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C978A4 4B 37 61 29 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
lbl_80C978A8:
/* 80C978A8 80 7F 05 74 */ lwz r3, 0x574(r31)
/* 80C978AC 28 03 00 00 */ cmplwi r3, 0
/* 80C978B0 41 82 00 18 */ beq lbl_80C978C8
/* 80C978B4 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 80C978B8 80 84 00 04 */ lwz r4, 4(r4)
/* 80C978BC C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C978C0 38 84 00 58 */ addi r4, r4, 0x58
/* 80C978C4 4B 37 5E E5 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef
lbl_80C978C8:
/* 80C978C8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C978CC 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C978D0 80 04 5F 70 */ lwz r0, 0x5f70(r4)
/* 80C978D4 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80C978D8 3B C3 4A C8 */ addi r30, r3, j3dSys@l /* 0x80434AC8@l */
/* 80C978DC 90 1E 00 48 */ stw r0, 0x48(r30)
/* 80C978E0 80 04 5F 74 */ lwz r0, 0x5f74(r4)
/* 80C978E4 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 80C978E8 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C978EC 4B 37 63 D9 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C978F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C978F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C978F8 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 80C978FC 90 1E 00 48 */ stw r0, 0x48(r30)
/* 80C97900 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 80C97904 90 1E 00 4C */ stw r0, 0x4c(r30)
/* 80C97908 80 1F 05 70 */ lwz r0, 0x570(r31)
/* 80C9790C 28 00 00 00 */ cmplwi r0, 0
/* 80C97910 41 82 00 1C */ beq lbl_80C9792C
/* 80C97914 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C97918 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9791C 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80C97920 80 63 00 00 */ lwz r3, 0(r3)
/* 80C97924 38 00 00 00 */ li r0, 0
/* 80C97928 90 03 00 54 */ stw r0, 0x54(r3)
lbl_80C9792C:
/* 80C9792C 80 9F 05 74 */ lwz r4, 0x574(r31)
/* 80C97930 28 04 00 00 */ cmplwi r4, 0
/* 80C97934 41 82 00 18 */ beq lbl_80C9794C
/* 80C97938 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 80C9793C 80 63 00 04 */ lwz r3, 4(r3)
/* 80C97940 38 63 00 58 */ addi r3, r3, 0x58
/* 80C97944 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C97948 4B 69 7F 39 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
lbl_80C9794C:
/* 80C9794C 38 60 00 01 */ li r3, 1
/* 80C97950 39 61 00 20 */ addi r11, r1, 0x20
/* 80C97954 4B 6C A8 D5 */ bl _restgpr_29
/* 80C97958 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80C9795C 7C 08 03 A6 */ mtlr r0
/* 80C97960 38 21 00 20 */ addi r1, r1, 0x20
/* 80C97964 4E 80 00 20 */ blr

View File

@ -1,15 +0,0 @@
lbl_80C96DE8:
/* 80C96DE8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C96DEC 7C 08 02 A6 */ mflr r0
/* 80C96DF0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C96DF4 3C 60 80 CA */ lis r3, l_scissor@ha /* 0x80C98138@ha */
/* 80C96DF8 38 C3 81 38 */ addi r6, r3, l_scissor@l /* 0x80C98138@l */
/* 80C96DFC 80 66 00 00 */ lwz r3, 0(r6)
/* 80C96E00 80 86 00 04 */ lwz r4, 4(r6)
/* 80C96E04 80 A6 00 08 */ lwz r5, 8(r6)
/* 80C96E08 80 C6 00 0C */ lwz r6, 0xc(r6)
/* 80C96E0C 4B 6C 96 C5 */ bl GXSetScissor
/* 80C96E10 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C96E14 7C 08 03 A6 */ mtlr r0
/* 80C96E18 38 21 00 10 */ addi r1, r1, 0x10
/* 80C96E1C 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_80C975EC:
/* 80C975EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C975F0 7C 08 02 A6 */ mflr r0
/* 80C975F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C975F8 80 83 05 68 */ lwz r4, 0x568(r3)
/* 80C975FC 38 04 00 24 */ addi r0, r4, 0x24
/* 80C97600 90 03 05 04 */ stw r0, 0x504(r3)
/* 80C97604 48 00 00 15 */ bl setBaseMtx__18daObjMirrorChain_cFv
/* 80C97608 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9760C 7C 08 03 A6 */ mtlr r0
/* 80C97610 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97614 4E 80 00 20 */ blr

View File

@ -1,34 +0,0 @@
lbl_80C97618:
/* 80C97618 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9761C 7C 08 02 A6 */ mflr r0
/* 80C97620 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C97624 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C97628 7C 7F 1B 78 */ mr r31, r3
/* 80C9762C 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 80C97630 4B 37 57 35 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 80C97634 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 80C97638 4B 37 59 0D */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 80C9763C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C97640 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C97644 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 80C97648 38 84 00 24 */ addi r4, r4, 0x24
/* 80C9764C 4B 6A EE 65 */ bl PSMTXCopy
/* 80C97650 80 9F 05 6C */ lwz r4, 0x56c(r31)
/* 80C97654 28 04 00 00 */ cmplwi r4, 0
/* 80C97658 41 82 00 14 */ beq lbl_80C9766C
/* 80C9765C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C97660 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C97664 38 84 00 24 */ addi r4, r4, 0x24
/* 80C97668 4B 6A EE 49 */ bl PSMTXCopy
lbl_80C9766C:
/* 80C9766C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C97670 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C97674 38 9F 07 0C */ addi r4, r31, 0x70c
/* 80C97678 4B 6A EE 39 */ bl PSMTXCopy
/* 80C9767C 80 7F 05 84 */ lwz r3, 0x584(r31)
/* 80C97680 4B 3E 43 41 */ bl Move__4dBgWFv
/* 80C97684 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C97688 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9768C 7C 08 03 A6 */ mtlr r0
/* 80C97690 38 21 00 10 */ addi r1, r1, 0x10
/* 80C97694 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80C992F4:
/* 80C992F4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C992F8 7C 08 02 A6 */ mflr r0
/* 80C992FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C99300 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C99304 7C 7F 1B 78 */ mr r31, r3
/* 80C99308 3C 60 80 CA */ lis r3, l_arcName@ha /* 0x80C997C0@ha */
/* 80C9930C 38 63 97 C0 */ addi r3, r3, l_arcName@l /* 0x80C997C0@l */
/* 80C99310 80 63 00 00 */ lwz r3, 0(r3)
/* 80C99314 38 80 00 04 */ li r4, 4
/* 80C99318 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9931C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99320 3C A5 00 02 */ addis r5, r5, 2
/* 80C99324 38 C0 00 80 */ li r6, 0x80
/* 80C99328 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80C9932C 4B 3A 2F C1 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80C99330 3C 80 00 08 */ lis r4, 8
/* 80C99334 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000084@ha */
/* 80C99338 38 A5 00 84 */ addi r5, r5, 0x0084 /* 0x11000084@l */
/* 80C9933C 4B 37 B9 19 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 80C99340 90 7F 05 A0 */ stw r3, 0x5a0(r31)
/* 80C99344 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 80C99348 30 03 FF FF */ addic r0, r3, -1
/* 80C9934C 7C 60 19 10 */ subfe r3, r0, r3
/* 80C99350 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C99354 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C99358 7C 08 03 A6 */ mtlr r0
/* 80C9935C 38 21 00 10 */ addi r1, r1, 0x10
/* 80C99360 4E 80 00 20 */ blr

View File

@ -1,78 +0,0 @@
lbl_80C99364:
/* 80C99364 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80C99368 7C 08 02 A6 */ mflr r0
/* 80C9936C 90 01 00 34 */ stw r0, 0x34(r1)
/* 80C99370 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80C99374 7C 7F 1B 78 */ mr r31, r3
/* 80C99378 80 83 05 A0 */ lwz r4, 0x5a0(r3)
/* 80C9937C 80 84 00 04 */ lwz r4, 4(r4)
/* 80C99380 4B 38 11 F9 */ bl fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData
/* 80C99384 80 7F 05 A0 */ lwz r3, 0x5a0(r31)
/* 80C99388 38 03 00 24 */ addi r0, r3, 0x24
/* 80C9938C 90 1F 05 04 */ stw r0, 0x504(r31)
/* 80C99390 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 80C99394 4B 37 39 D1 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 80C99398 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 80C9939C 4B 37 3B A9 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 80C993A0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C993A4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C993A8 38 9F 05 6C */ addi r4, r31, 0x56c
/* 80C993AC 4B 6A D1 05 */ bl PSMTXCopy
/* 80C993B0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C993B4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C993B8 80 9F 05 A0 */ lwz r4, 0x5a0(r31)
/* 80C993BC 38 84 00 24 */ addi r4, r4, 0x24
/* 80C993C0 4B 6A D0 F1 */ bl PSMTXCopy
/* 80C993C4 C0 5F 04 D8 */ lfs f2, 0x4d8(r31)
/* 80C993C8 3C 60 80 CA */ lis r3, lit_3845@ha /* 0x80C99790@ha */
/* 80C993CC C0 23 97 90 */ lfs f1, lit_3845@l(r3) /* 0x80C99790@l */
/* 80C993D0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 80C993D4 EC 21 00 2A */ fadds f1, f1, f0
/* 80C993D8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 80C993DC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80C993E0 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80C993E4 D0 41 00 18 */ stfs f2, 0x18(r1)
/* 80C993E8 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80C993EC 7C 07 07 74 */ extsb r7, r0
/* 80C993F0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80C993F4 54 05 C6 3E */ rlwinm r5, r0, 0x18, 0x18, 0x1f
/* 80C993F8 38 00 00 00 */ li r0, 0
/* 80C993FC 90 01 00 08 */ stw r0, 8(r1)
/* 80C99400 38 60 00 B3 */ li r3, 0xb3
/* 80C99404 28 1F 00 00 */ cmplwi r31, 0
/* 80C99408 41 82 00 0C */ beq lbl_80C99414
/* 80C9940C 80 9F 00 04 */ lwz r4, 4(r31)
/* 80C99410 48 00 00 08 */ b lbl_80C99418
lbl_80C99414:
/* 80C99414 38 80 FF FF */ li r4, -1
lbl_80C99418:
/* 80C99418 54 A5 44 2E */ rlwinm r5, r5, 8, 0x10, 0x17
/* 80C9941C 38 C1 00 10 */ addi r6, r1, 0x10
/* 80C99420 39 00 00 00 */ li r8, 0
/* 80C99424 39 20 00 00 */ li r9, 0
/* 80C99428 39 40 FF FF */ li r10, -1
/* 80C9942C 4B 38 0A C5 */ bl fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i
/* 80C99430 38 00 00 00 */ li r0, 0
/* 80C99434 90 1F 05 B4 */ stw r0, 0x5b4(r31)
/* 80C99438 90 1F 05 B8 */ stw r0, 0x5b8(r31)
/* 80C9943C 90 1F 05 BC */ stw r0, 0x5bc(r31)
/* 80C99440 90 1F 05 C0 */ stw r0, 0x5c0(r31)
/* 80C99444 90 1F 05 C4 */ stw r0, 0x5c4(r31)
/* 80C99448 90 1F 05 C8 */ stw r0, 0x5c8(r31)
/* 80C9944C 90 1F 05 B0 */ stw r0, 0x5b0(r31)
/* 80C99450 80 1F 05 B0 */ lwz r0, 0x5b0(r31)
/* 80C99454 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80C99458 3C 60 80 CA */ lis r3, ActionTable__18daObjMirrorScrew_c@ha /* 0x80C997F4@ha */
/* 80C9945C 38 03 97 F4 */ addi r0, r3, ActionTable__18daObjMirrorScrew_c@l /* 0x80C997F4@l */
/* 80C99460 7C 00 22 14 */ add r0, r0, r4
/* 80C99464 90 1F 05 AC */ stw r0, 0x5ac(r31)
/* 80C99468 7F E3 FB 78 */ mr r3, r31
/* 80C9946C 81 9F 05 AC */ lwz r12, 0x5ac(r31)
/* 80C99470 4B 6C 8C 15 */ bl __ptmf_scall
/* 80C99474 60 00 00 00 */ nop
/* 80C99478 38 60 00 04 */ li r3, 4
/* 80C9947C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80C99480 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80C99484 7C 08 03 A6 */ mtlr r0
/* 80C99488 38 21 00 30 */ addi r1, r1, 0x30
/* 80C9948C 4E 80 00 20 */ blr

View File

@ -1,14 +0,0 @@
lbl_80C996AC:
/* 80C996AC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C996B0 7C 08 02 A6 */ mflr r0
/* 80C996B4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C996B8 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */
/* 80C996BC 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */
/* 80C996C0 80 84 00 00 */ lwz r4, 0(r4)
/* 80C996C4 38 63 05 A4 */ addi r3, r3, 0x5a4
/* 80C996C8 4B 39 39 41 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80C996CC 38 60 00 01 */ li r3, 1
/* 80C996D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C996D4 7C 08 03 A6 */ mtlr r0
/* 80C996D8 38 21 00 10 */ addi r1, r1, 0x10
/* 80C996DC 4E 80 00 20 */ blr

View File

@ -1,42 +0,0 @@
lbl_80C99608:
/* 80C99608 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9960C 7C 08 02 A6 */ mflr r0
/* 80C99610 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C99614 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C99618 93 C1 00 08 */ stw r30, 8(r1)
/* 80C9961C 7C 7E 1B 78 */ mr r30, r3
/* 80C99620 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C99624 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C99628 38 80 00 10 */ li r4, 0x10
/* 80C9962C 38 BE 04 D0 */ addi r5, r30, 0x4d0
/* 80C99630 38 DE 01 0C */ addi r6, r30, 0x10c
/* 80C99634 4B 50 A1 91 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80C99638 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C9963C 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C99640 80 9E 05 A0 */ lwz r4, 0x5a0(r30)
/* 80C99644 80 84 00 04 */ lwz r4, 4(r4)
/* 80C99648 38 BE 01 0C */ addi r5, r30, 0x10c
/* 80C9964C 4B 50 B7 55 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80C99650 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99654 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99658 80 04 5F 70 */ lwz r0, 0x5f70(r4)
/* 80C9965C 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80C99660 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
/* 80C99664 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80C99668 80 04 5F 74 */ lwz r0, 0x5f74(r4)
/* 80C9966C 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80C99670 80 7E 05 A0 */ lwz r3, 0x5a0(r30)
/* 80C99674 4B 37 46 51 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C99678 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9967C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99680 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 80C99684 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80C99688 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 80C9968C 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80C99690 38 60 00 01 */ li r3, 1
/* 80C99694 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C99698 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9969C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C996A0 7C 08 03 A6 */ mtlr r0
/* 80C996A4 38 21 00 10 */ addi r1, r1, 0x10
/* 80C996A8 4E 80 00 20 */ blr

View File

@ -1,101 +0,0 @@
lbl_80C99490:
/* 80C99490 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80C99494 7C 08 02 A6 */ mflr r0
/* 80C99498 90 01 00 24 */ stw r0, 0x24(r1)
/* 80C9949C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80C994A0 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80C994A4 7C 7E 1B 78 */ mr r30, r3
/* 80C994A8 7C 9F 23 78 */ mr r31, r4
/* 80C994AC 80 03 05 B4 */ lwz r0, 0x5b4(r3)
/* 80C994B0 28 00 00 00 */ cmplwi r0, 0
/* 80C994B4 40 82 00 20 */ bne lbl_80C994D4
/* 80C994B8 38 00 00 B3 */ li r0, 0xb3
/* 80C994BC B0 01 00 12 */ sth r0, 0x12(r1)
/* 80C994C0 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C994C4 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C994C8 38 81 00 12 */ addi r4, r1, 0x12
/* 80C994CC 4B 38 03 2D */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C994D0 90 7E 05 B4 */ stw r3, 0x5b4(r30)
lbl_80C994D4:
/* 80C994D4 80 1E 05 B8 */ lwz r0, 0x5b8(r30)
/* 80C994D8 28 00 00 00 */ cmplwi r0, 0
/* 80C994DC 40 82 00 20 */ bne lbl_80C994FC
/* 80C994E0 38 00 02 C6 */ li r0, 0x2c6
/* 80C994E4 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80C994E8 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C994EC 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C994F0 38 81 00 10 */ addi r4, r1, 0x10
/* 80C994F4 4B 38 03 05 */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C994F8 90 7E 05 B8 */ stw r3, 0x5b8(r30)
lbl_80C994FC:
/* 80C994FC 80 1E 05 BC */ lwz r0, 0x5bc(r30)
/* 80C99500 28 00 00 00 */ cmplwi r0, 0
/* 80C99504 40 82 00 20 */ bne lbl_80C99524
/* 80C99508 38 00 00 B1 */ li r0, 0xb1
/* 80C9950C B0 01 00 0E */ sth r0, 0xe(r1)
/* 80C99510 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C99514 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C99518 38 81 00 0E */ addi r4, r1, 0xe
/* 80C9951C 4B 38 02 DD */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C99520 90 7E 05 BC */ stw r3, 0x5bc(r30)
lbl_80C99524:
/* 80C99524 80 1E 05 C0 */ lwz r0, 0x5c0(r30)
/* 80C99528 28 00 00 00 */ cmplwi r0, 0
/* 80C9952C 40 82 00 20 */ bne lbl_80C9954C
/* 80C99530 38 00 00 B0 */ li r0, 0xb0
/* 80C99534 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80C99538 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C9953C 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C99540 38 81 00 0C */ addi r4, r1, 0xc
/* 80C99544 4B 38 02 B5 */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C99548 90 7E 05 C0 */ stw r3, 0x5c0(r30)
lbl_80C9954C:
/* 80C9954C 80 1E 05 C4 */ lwz r0, 0x5c4(r30)
/* 80C99550 28 00 00 00 */ cmplwi r0, 0
/* 80C99554 40 82 00 20 */ bne lbl_80C99574
/* 80C99558 38 00 00 B2 */ li r0, 0xb2
/* 80C9955C B0 01 00 0A */ sth r0, 0xa(r1)
/* 80C99560 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C99564 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C99568 38 81 00 0A */ addi r4, r1, 0xa
/* 80C9956C 4B 38 02 8D */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C99570 90 7E 05 C4 */ stw r3, 0x5c4(r30)
lbl_80C99574:
/* 80C99574 80 1E 05 C8 */ lwz r0, 0x5c8(r30)
/* 80C99578 28 00 00 00 */ cmplwi r0, 0
/* 80C9957C 40 82 00 20 */ bne lbl_80C9959C
/* 80C99580 38 00 00 AF */ li r0, 0xaf
/* 80C99584 B0 01 00 08 */ sth r0, 8(r1)
/* 80C99588 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */
/* 80C9958C 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */
/* 80C99590 38 81 00 08 */ addi r4, r1, 8
/* 80C99594 4B 38 02 65 */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 80C99598 90 7E 05 C8 */ stw r3, 0x5c8(r30)
lbl_80C9959C:
/* 80C9959C 7F C3 F3 78 */ mr r3, r30
/* 80C995A0 80 9E 05 AC */ lwz r4, 0x5ac(r30)
/* 80C995A4 39 84 00 0C */ addi r12, r4, 0xc
/* 80C995A8 4B 6C 8A DD */ bl __ptmf_scall
/* 80C995AC 60 00 00 00 */ nop
/* 80C995B0 38 7E 04 D0 */ addi r3, r30, 0x4d0
/* 80C995B4 4B 37 37 B1 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 80C995B8 38 7E 04 E4 */ addi r3, r30, 0x4e4
/* 80C995BC 4B 37 39 89 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 80C995C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C995C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C995C8 38 9E 05 6C */ addi r4, r30, 0x56c
/* 80C995CC 4B 6A CE E5 */ bl PSMTXCopy
/* 80C995D0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C995D4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C995D8 80 9E 05 A0 */ lwz r4, 0x5a0(r30)
/* 80C995DC 38 84 00 24 */ addi r4, r4, 0x24
/* 80C995E0 4B 6A CE D1 */ bl PSMTXCopy
/* 80C995E4 38 1E 05 6C */ addi r0, r30, 0x56c
/* 80C995E8 90 1F 00 00 */ stw r0, 0(r31)
/* 80C995EC 38 60 00 01 */ li r3, 1
/* 80C995F0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80C995F4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80C995F8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80C995FC 7C 08 03 A6 */ mtlr r0
/* 80C99600 38 21 00 20 */ addi r1, r1, 0x20
/* 80C99604 4E 80 00 20 */ blr

View File

@ -1,29 +0,0 @@
lbl_80C996E0:
/* 80C996E0 3C 60 80 CA */ lis r3, cNullVec__6Z2Calc@ha /* 0x80C997A0@ha */
/* 80C996E4 38 A3 97 A0 */ addi r5, r3, cNullVec__6Z2Calc@l /* 0x80C997A0@l */
/* 80C996E8 80 65 00 24 */ lwz r3, 0x24(r5)
/* 80C996EC 80 05 00 28 */ lwz r0, 0x28(r5)
/* 80C996F0 90 65 00 54 */ stw r3, 0x54(r5)
/* 80C996F4 90 05 00 58 */ stw r0, 0x58(r5)
/* 80C996F8 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 80C996FC 90 05 00 5C */ stw r0, 0x5c(r5)
/* 80C99700 38 85 00 54 */ addi r4, r5, 0x54
/* 80C99704 80 65 00 30 */ lwz r3, 0x30(r5)
/* 80C99708 80 05 00 34 */ lwz r0, 0x34(r5)
/* 80C9970C 90 64 00 0C */ stw r3, 0xc(r4)
/* 80C99710 90 04 00 10 */ stw r0, 0x10(r4)
/* 80C99714 80 05 00 38 */ lwz r0, 0x38(r5)
/* 80C99718 90 04 00 14 */ stw r0, 0x14(r4)
/* 80C9971C 80 65 00 3C */ lwz r3, 0x3c(r5)
/* 80C99720 80 05 00 40 */ lwz r0, 0x40(r5)
/* 80C99724 90 64 00 18 */ stw r3, 0x18(r4)
/* 80C99728 90 04 00 1C */ stw r0, 0x1c(r4)
/* 80C9972C 80 05 00 44 */ lwz r0, 0x44(r5)
/* 80C99730 90 04 00 20 */ stw r0, 0x20(r4)
/* 80C99734 80 65 00 48 */ lwz r3, 0x48(r5)
/* 80C99738 80 05 00 4C */ lwz r0, 0x4c(r5)
/* 80C9973C 90 64 00 24 */ stw r3, 0x24(r4)
/* 80C99740 90 04 00 28 */ stw r0, 0x28(r4)
/* 80C99744 80 05 00 50 */ lwz r0, 0x50(r5)
/* 80C99748 90 04 00 2C */ stw r0, 0x2c(r4)
/* 80C9974C 4E 80 00 20 */ blr

View File

@ -1,80 +0,0 @@
lbl_80C991CC:
/* 80C991CC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C991D0 7C 08 02 A6 */ mflr r0
/* 80C991D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C991D8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C991DC 93 C1 00 08 */ stw r30, 8(r1)
/* 80C991E0 7C 7F 1B 78 */ mr r31, r3
/* 80C991E4 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80C991E8 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80C991EC 40 82 00 34 */ bne lbl_80C99220
/* 80C991F0 7F E0 FB 79 */ or. r0, r31, r31
/* 80C991F4 41 82 00 20 */ beq lbl_80C99214
/* 80C991F8 7C 1E 03 78 */ mr r30, r0
/* 80C991FC 4B 3D F4 29 */ bl __ct__16dBgS_MoveBgActorFv
/* 80C99200 3C 60 80 CA */ lis r3, __vt__18daObjMirrorScrew_c@ha /* 0x80C99874@ha */
/* 80C99204 38 03 98 74 */ addi r0, r3, __vt__18daObjMirrorScrew_c@l /* 0x80C99874@l */
/* 80C99208 90 1E 05 9C */ stw r0, 0x59c(r30)
/* 80C9920C 38 7E 05 D8 */ addi r3, r30, 0x5d8
/* 80C99210 4B 5C EE 65 */ bl __ct__13cBgS_PolyInfoFv
lbl_80C99214:
/* 80C99214 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80C99218 60 00 00 08 */ ori r0, r0, 8
/* 80C9921C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80C99220:
/* 80C99220 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99224 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99228 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80C9922C 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f
/* 80C99230 88 1F 04 BA */ lbz r0, 0x4ba(r31)
/* 80C99234 7C 05 07 74 */ extsb r5, r0
/* 80C99238 4B 39 C1 29 */ bl isSwitch__10dSv_info_cCFii
/* 80C9923C 2C 03 00 00 */ cmpwi r3, 0
/* 80C99240 40 82 00 48 */ bne lbl_80C99288
/* 80C99244 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99248 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9924C 3B C3 07 F0 */ addi r30, r3, 0x7f0
/* 80C99250 7F C3 F3 78 */ mr r3, r30
/* 80C99254 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C99258 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C9925C A0 84 02 D2 */ lhz r4, 0x2d2(r4)
/* 80C99260 4B 39 B7 5D */ bl isEventBit__11dSv_event_cCFUs
/* 80C99264 2C 03 00 00 */ cmpwi r3, 0
/* 80C99268 40 82 00 20 */ bne lbl_80C99288
/* 80C9926C 7F C3 F3 78 */ mr r3, r30
/* 80C99270 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C99274 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C99278 A0 84 02 C4 */ lhz r4, 0x2c4(r4)
/* 80C9927C 4B 39 B7 41 */ bl isEventBit__11dSv_event_cCFUs
/* 80C99280 2C 03 00 00 */ cmpwi r3, 0
/* 80C99284 41 82 00 0C */ beq lbl_80C99290
lbl_80C99288:
/* 80C99288 38 60 00 05 */ li r3, 5
/* 80C9928C 48 00 00 50 */ b lbl_80C992DC
lbl_80C99290:
/* 80C99290 38 7F 05 A4 */ addi r3, r31, 0x5a4
/* 80C99294 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */
/* 80C99298 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */
/* 80C9929C 80 84 00 00 */ lwz r4, 0(r4)
/* 80C992A0 4B 39 3C 1D */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80C992A4 2C 03 00 04 */ cmpwi r3, 4
/* 80C992A8 40 82 00 34 */ bne lbl_80C992DC
/* 80C992AC 7F E3 FB 78 */ mr r3, r31
/* 80C992B0 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C997C0@ha */
/* 80C992B4 38 84 97 C0 */ addi r4, r4, l_arcName@l /* 0x80C997C0@l */
/* 80C992B8 80 84 00 00 */ lwz r4, 0(r4)
/* 80C992BC 38 A0 00 07 */ li r5, 7
/* 80C992C0 3C C0 80 07 */ lis r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@ha /* 0x80075AD8@ha */
/* 80C992C4 38 C6 5A D8 */ addi r6, r6, dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz@l /* 0x80075AD8@l */
/* 80C992C8 3C E0 00 01 */ lis r7, 0x0001 /* 0x0000C760@ha */
/* 80C992CC 38 E7 C7 60 */ addi r7, r7, 0xC760 /* 0x0000C760@l */
/* 80C992D0 39 00 00 00 */ li r8, 0
/* 80C992D4 4B 3D F4 E9 */ bl MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
/* 80C992D8 2C 03 00 05 */ cmpwi r3, 5
lbl_80C992DC:
/* 80C992DC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C992E0 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C992E4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C992E8 7C 08 03 A6 */ mtlr r0
/* 80C992EC 38 21 00 10 */ addi r1, r1, 0x10
/* 80C992F0 4E 80 00 20 */ blr

View File

@ -1,10 +0,0 @@
lbl_80C991A8:
/* 80C991A8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C991AC 7C 08 02 A6 */ mflr r0
/* 80C991B0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C991B4 4B 3D F7 29 */ bl MoveBGDelete__16dBgS_MoveBgActorFv
/* 80C991B8 38 60 00 01 */ li r3, 1
/* 80C991BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C991C0 7C 08 03 A6 */ mtlr r0
/* 80C991C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80C991C8 4E 80 00 20 */ blr

View File

@ -1,12 +0,0 @@
lbl_80C99154:
/* 80C99154 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C99158 7C 08 02 A6 */ mflr r0
/* 80C9915C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C99160 81 83 05 9C */ lwz r12, 0x59c(r3)
/* 80C99164 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 80C99168 7D 89 03 A6 */ mtctr r12
/* 80C9916C 4E 80 04 21 */ bctrl
/* 80C99170 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C99174 7C 08 03 A6 */ mtlr r0
/* 80C99178 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9917C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C99180:
/* 80C99180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C99184 7C 08 02 A6 */ mflr r0
/* 80C99188 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9918C 4B 3D F7 C5 */ bl MoveBGExecute__16dBgS_MoveBgActorFv
/* 80C99190 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C99194 7C 08 03 A6 */ mtlr r0
/* 80C99198 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9919C 4E 80 00 20 */ blr

View File

@ -1,156 +0,0 @@
lbl_80C98F04:
/* 80C98F04 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80C98F08 7C 08 02 A6 */ mflr r0
/* 80C98F0C 90 01 00 44 */ stw r0, 0x44(r1)
/* 80C98F10 39 61 00 40 */ addi r11, r1, 0x40
/* 80C98F14 4B 6C 92 C9 */ bl _savegpr_29
/* 80C98F18 7C 7D 1B 78 */ mr r29, r3
/* 80C98F1C 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */
/* 80C98F20 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */
/* 80C98F24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98F28 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98F2C 88 1F 4F AD */ lbz r0, 0x4fad(r31)
/* 80C98F30 28 00 00 00 */ cmplwi r0, 0
/* 80C98F34 41 82 00 30 */ beq lbl_80C98F64
/* 80C98F38 80 9F 5D AC */ lwz r4, 0x5dac(r31)
/* 80C98F3C 38 00 00 03 */ li r0, 3
/* 80C98F40 B0 04 06 04 */ sth r0, 0x604(r4)
/* 80C98F44 38 60 00 00 */ li r3, 0
/* 80C98F48 90 64 06 0C */ stw r3, 0x60c(r4)
/* 80C98F4C 38 00 00 0E */ li r0, 0xe
/* 80C98F50 90 04 06 14 */ stw r0, 0x614(r4)
/* 80C98F54 38 00 00 01 */ li r0, 1
/* 80C98F58 90 04 06 0C */ stw r0, 0x60c(r4)
/* 80C98F5C 90 64 06 10 */ stw r3, 0x610(r4)
/* 80C98F60 B0 64 06 0A */ sth r3, 0x60a(r4)
lbl_80C98F64:
/* 80C98F64 80 7D 05 CC */ lwz r3, 0x5cc(r29)
/* 80C98F68 2C 03 00 00 */ cmpwi r3, 0
/* 80C98F6C 41 80 00 78 */ blt lbl_80C98FE4
/* 80C98F70 38 03 FF FF */ addi r0, r3, -1
/* 80C98F74 90 1D 05 CC */ stw r0, 0x5cc(r29)
/* 80C98F78 80 1D 05 CC */ lwz r0, 0x5cc(r29)
/* 80C98F7C 2C 00 00 00 */ cmpwi r0, 0
/* 80C98F80 41 81 00 64 */ bgt lbl_80C98FE4
/* 80C98F84 80 7D 05 BC */ lwz r3, 0x5bc(r29)
/* 80C98F88 28 03 00 00 */ cmplwi r3, 0
/* 80C98F8C 41 82 00 10 */ beq lbl_80C98F9C
/* 80C98F90 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98F94 80 63 05 70 */ lwz r3, 0x570(r3)
/* 80C98F98 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80C98F9C:
/* 80C98F9C 80 7D 05 C0 */ lwz r3, 0x5c0(r29)
/* 80C98FA0 28 03 00 00 */ cmplwi r3, 0
/* 80C98FA4 41 82 00 10 */ beq lbl_80C98FB4
/* 80C98FA8 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98FAC 80 63 05 80 */ lwz r3, 0x580(r3)
/* 80C98FB0 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80C98FB4:
/* 80C98FB4 80 7D 05 C4 */ lwz r3, 0x5c4(r29)
/* 80C98FB8 28 03 00 00 */ cmplwi r3, 0
/* 80C98FBC 41 82 00 10 */ beq lbl_80C98FCC
/* 80C98FC0 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98FC4 80 63 05 6C */ lwz r3, 0x56c(r3)
/* 80C98FC8 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80C98FCC:
/* 80C98FCC 80 7D 05 C8 */ lwz r3, 0x5c8(r29)
/* 80C98FD0 28 03 00 00 */ cmplwi r3, 0
/* 80C98FD4 41 82 00 10 */ beq lbl_80C98FE4
/* 80C98FD8 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98FDC 80 63 05 6C */ lwz r3, 0x56c(r3)
/* 80C98FE0 D0 03 00 0C */ stfs f0, 0xc(r3)
lbl_80C98FE4:
/* 80C98FE4 38 7D 05 2C */ addi r3, r29, 0x52c
/* 80C98FE8 38 9E 00 00 */ addi r4, r30, 0
/* 80C98FEC C0 24 00 14 */ lfs f1, 0x14(r4)
/* 80C98FF0 C0 44 00 10 */ lfs f2, 0x10(r4)
/* 80C98FF4 4B 5D 77 4D */ bl cLib_chaseF__FPfff
/* 80C98FF8 C0 3D 04 D4 */ lfs f1, 0x4d4(r29)
/* 80C98FFC C0 1D 05 2C */ lfs f0, 0x52c(r29)
/* 80C99000 EC 01 00 2A */ fadds f0, f1, f0
/* 80C99004 D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 80C99008 C0 5D 04 D8 */ lfs f2, 0x4d8(r29)
/* 80C9900C C0 3E 00 34 */ lfs f1, 0x34(r30)
/* 80C99010 C0 1D 04 D4 */ lfs f0, 0x4d4(r29)
/* 80C99014 EC 21 00 2A */ fadds f1, f1, f0
/* 80C99018 C0 1D 04 D0 */ lfs f0, 0x4d0(r29)
/* 80C9901C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 80C99020 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80C99024 D0 41 00 24 */ stfs f2, 0x24(r1)
/* 80C99028 80 7D 05 B4 */ lwz r3, 0x5b4(r29)
/* 80C9902C D0 03 04 D0 */ stfs f0, 0x4d0(r3)
/* 80C99030 D0 23 04 D4 */ stfs f1, 0x4d4(r3)
/* 80C99034 D0 43 04 D8 */ stfs f2, 0x4d8(r3)
/* 80C99038 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080273@ha */
/* 80C9903C 38 03 02 73 */ addi r0, r3, 0x0273 /* 0x00080273@l */
/* 80C99040 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C99044 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80C99048 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80C9904C 80 63 00 00 */ lwz r3, 0(r3)
/* 80C99050 38 81 00 0C */ addi r4, r1, 0xc
/* 80C99054 38 BD 04 D0 */ addi r5, r29, 0x4d0
/* 80C99058 38 C0 00 00 */ li r6, 0
/* 80C9905C 38 E0 00 00 */ li r7, 0
/* 80C99060 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C99064 FC 40 08 90 */ fmr f2, f1
/* 80C99068 C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 80C9906C FC 80 18 90 */ fmr f4, f3
/* 80C99070 39 00 00 00 */ li r8, 0
/* 80C99074 4B 61 34 99 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80C99078 C0 5D 04 D4 */ lfs f2, 0x4d4(r29)
/* 80C9907C C0 3D 04 AC */ lfs f1, 0x4ac(r29)
/* 80C99080 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80C99084 EC 01 00 2A */ fadds f0, f1, f0
/* 80C99088 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80C9908C 4C 40 13 82 */ cror 2, 0, 2
/* 80C99090 40 82 00 AC */ bne lbl_80C9913C
/* 80C99094 D0 1D 04 D4 */ stfs f0, 0x4d4(r29)
/* 80C99098 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 80C9909C D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80C990A0 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C990A4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 80C990A8 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80C990AC 3B FF 5B D4 */ addi r31, r31, 0x5bd4
/* 80C990B0 7F E3 FB 78 */ mr r3, r31
/* 80C990B4 38 80 00 08 */ li r4, 8
/* 80C990B8 38 A0 00 0F */ li r5, 0xf
/* 80C990BC 38 C1 00 10 */ addi r6, r1, 0x10
/* 80C990C0 4B 3D 69 65 */ bl StartShock__12dVibration_cFii4cXyz
/* 80C990C4 7F E3 FB 78 */ mr r3, r31
/* 80C990C8 38 80 00 1F */ li r4, 0x1f
/* 80C990CC 4B 3D 6C C9 */ bl StopQuake__12dVibration_cFi
/* 80C990D0 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080274@ha */
/* 80C990D4 38 03 02 74 */ addi r0, r3, 0x0274 /* 0x00080274@l */
/* 80C990D8 90 01 00 08 */ stw r0, 8(r1)
/* 80C990DC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80C990E0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80C990E4 80 63 00 00 */ lwz r3, 0(r3)
/* 80C990E8 38 81 00 08 */ addi r4, r1, 8
/* 80C990EC 38 BD 04 D0 */ addi r5, r29, 0x4d0
/* 80C990F0 38 C0 00 00 */ li r6, 0
/* 80C990F4 38 E0 00 00 */ li r7, 0
/* 80C990F8 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C990FC FC 40 08 90 */ fmr f2, f1
/* 80C99100 C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 80C99104 FC 80 18 90 */ fmr f4, f3
/* 80C99108 39 00 00 00 */ li r8, 0
/* 80C9910C 4B 61 28 79 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80C99110 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 80C99114 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f
/* 80C99118 28 04 00 FF */ cmplwi r4, 0xff
/* 80C9911C 41 82 00 18 */ beq lbl_80C99134
/* 80C99120 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99124 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99128 88 1D 04 BA */ lbz r0, 0x4ba(r29)
/* 80C9912C 7C 05 07 74 */ extsb r5, r0
/* 80C99130 4B 39 C0 D1 */ bl onSwitch__10dSv_info_cFii
lbl_80C99134:
/* 80C99134 7F A3 EB 78 */ mr r3, r29
/* 80C99138 4B 38 0B 45 */ bl fopAcM_delete__FP10fopAc_ac_c
lbl_80C9913C:
/* 80C9913C 39 61 00 40 */ addi r11, r1, 0x40
/* 80C99140 4B 6C 90 E9 */ bl _restgpr_29
/* 80C99144 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80C99148 7C 08 03 A6 */ mtlr r0
/* 80C9914C 38 21 00 40 */ addi r1, r1, 0x40
/* 80C99150 4E 80 00 20 */ blr

View File

@ -1,74 +0,0 @@
lbl_80C98AE4:
/* 80C98AE4 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80C98AE8 7C 08 02 A6 */ mflr r0
/* 80C98AEC 90 01 00 34 */ stw r0, 0x34(r1)
/* 80C98AF0 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80C98AF4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80C98AF8 7C 7F 1B 78 */ mr r31, r3
/* 80C98AFC 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */
/* 80C98B00 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */
/* 80C98B04 80 7F 05 B4 */ lwz r3, 0x5b4(r31)
/* 80C98B08 28 03 00 00 */ cmplwi r3, 0
/* 80C98B0C 41 82 00 DC */ beq lbl_80C98BE8
/* 80C98B10 A8 03 05 EE */ lha r0, 0x5ee(r3)
/* 80C98B14 C8 3E 00 28 */ lfd f1, 0x28(r30)
/* 80C98B18 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 80C98B1C 90 01 00 1C */ stw r0, 0x1c(r1)
/* 80C98B20 3C 00 43 30 */ lis r0, 0x4330
/* 80C98B24 90 01 00 18 */ stw r0, 0x18(r1)
/* 80C98B28 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 80C98B2C EC 20 08 28 */ fsubs f1, f0, f1
/* 80C98B30 C0 1E 00 18 */ lfs f0, 0x18(r30)
/* 80C98B34 EC 21 00 24 */ fdivs f1, f1, f0
/* 80C98B38 38 7E 00 00 */ addi r3, r30, 0
/* 80C98B3C C0 03 00 04 */ lfs f0, 4(r3)
/* 80C98B40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C98B44 40 81 00 88 */ ble lbl_80C98BCC
/* 80C98B48 80 7F 05 CC */ lwz r3, 0x5cc(r31)
/* 80C98B4C 38 03 00 01 */ addi r0, r3, 1
/* 80C98B50 90 1F 05 CC */ stw r0, 0x5cc(r31)
/* 80C98B54 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 80C98B58 D0 21 00 08 */ stfs f1, 8(r1)
/* 80C98B5C C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98B60 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 80C98B64 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80C98B68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98B6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98B70 38 63 5B D4 */ addi r3, r3, 0x5bd4
/* 80C98B74 38 80 00 04 */ li r4, 4
/* 80C98B78 38 A0 00 0F */ li r5, 0xf
/* 80C98B7C 38 C1 00 08 */ addi r6, r1, 8
/* 80C98B80 4B 3D 6F 91 */ bl StartQuake__12dVibration_cFii4cXyz
/* 80C98B84 80 9F 05 CC */ lwz r4, 0x5cc(r31)
/* 80C98B88 38 7E 00 00 */ addi r3, r30, 0
/* 80C98B8C 80 03 00 08 */ lwz r0, 8(r3)
/* 80C98B90 7C 04 00 00 */ cmpw r4, r0
/* 80C98B94 40 81 00 54 */ ble lbl_80C98BE8
/* 80C98B98 38 00 00 01 */ li r0, 1
/* 80C98B9C 90 1F 05 B0 */ stw r0, 0x5b0(r31)
/* 80C98BA0 80 1F 05 B0 */ lwz r0, 0x5b0(r31)
/* 80C98BA4 1C 80 00 18 */ mulli r4, r0, 0x18
/* 80C98BA8 3C 60 80 CA */ lis r3, ActionTable__18daObjMirrorScrew_c@ha /* 0x80C997F4@ha */
/* 80C98BAC 38 03 97 F4 */ addi r0, r3, ActionTable__18daObjMirrorScrew_c@l /* 0x80C997F4@l */
/* 80C98BB0 7C 00 22 14 */ add r0, r0, r4
/* 80C98BB4 90 1F 05 AC */ stw r0, 0x5ac(r31)
/* 80C98BB8 7F E3 FB 78 */ mr r3, r31
/* 80C98BBC 81 9F 05 AC */ lwz r12, 0x5ac(r31)
/* 80C98BC0 4B 6C 94 C5 */ bl __ptmf_scall
/* 80C98BC4 60 00 00 00 */ nop
/* 80C98BC8 48 00 00 20 */ b lbl_80C98BE8
lbl_80C98BCC:
/* 80C98BCC 38 00 00 00 */ li r0, 0
/* 80C98BD0 90 1F 05 CC */ stw r0, 0x5cc(r31)
/* 80C98BD4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98BD8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98BDC 38 63 5B D4 */ addi r3, r3, 0x5bd4
/* 80C98BE0 38 80 00 1F */ li r4, 0x1f
/* 80C98BE4 4B 3D 71 B1 */ bl StopQuake__12dVibration_cFi
lbl_80C98BE8:
/* 80C98BE8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 80C98BEC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80C98BF0 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80C98BF4 7C 08 03 A6 */ mtlr r0
/* 80C98BF8 38 21 00 30 */ addi r1, r1, 0x30
/* 80C98BFC 4E 80 00 20 */ blr

View File

@ -1,194 +0,0 @@
lbl_80C98C00:
/* 80C98C00 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 80C98C04 7C 08 02 A6 */ mflr r0
/* 80C98C08 90 01 00 64 */ stw r0, 0x64(r1)
/* 80C98C0C 39 61 00 60 */ addi r11, r1, 0x60
/* 80C98C10 4B 6C 95 CD */ bl _savegpr_29
/* 80C98C14 7C 7D 1B 78 */ mr r29, r3
/* 80C98C18 3C 60 80 CA */ lis r3, M_attr__18daObjMirrorScrew_c@ha /* 0x80C9975C@ha */
/* 80C98C1C 3B C3 97 5C */ addi r30, r3, M_attr__18daObjMirrorScrew_c@l /* 0x80C9975C@l */
/* 80C98C20 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 80C98C24 D0 1D 05 2C */ stfs f0, 0x52c(r29)
/* 80C98C28 38 7E 00 00 */ addi r3, r30, 0
/* 80C98C2C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80C98C30 90 1D 05 CC */ stw r0, 0x5cc(r29)
/* 80C98C34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98C38 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98C3C 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C98C40 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C98C44 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C98C48 A0 84 02 D2 */ lhz r4, 0x2d2(r4)
/* 80C98C4C 4B 39 BD 41 */ bl onEventBit__11dSv_event_cFUs
/* 80C98C50 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 80C98C54 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 80C98C58 C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98C5C D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80C98C60 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 80C98C64 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98C68 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98C6C 3B E3 5B D4 */ addi r31, r3, 0x5bd4
/* 80C98C70 7F E3 FB 78 */ mr r3, r31
/* 80C98C74 38 80 00 08 */ li r4, 8
/* 80C98C78 38 A0 00 0F */ li r5, 0xf
/* 80C98C7C 38 C1 00 38 */ addi r6, r1, 0x38
/* 80C98C80 4B 3D 6D A5 */ bl StartShock__12dVibration_cFii4cXyz
/* 80C98C84 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 80C98C88 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 80C98C8C C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 80C98C90 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80C98C94 D0 21 00 34 */ stfs f1, 0x34(r1)
/* 80C98C98 7F E3 FB 78 */ mr r3, r31
/* 80C98C9C 38 80 00 06 */ li r4, 6
/* 80C98CA0 38 A0 00 0F */ li r5, 0xf
/* 80C98CA4 38 C1 00 2C */ addi r6, r1, 0x2c
/* 80C98CA8 4B 3D 6E 69 */ bl StartQuake__12dVibration_cFii4cXyz
/* 80C98CAC 3C 60 00 08 */ lis r3, 0x0008 /* 0x00080272@ha */
/* 80C98CB0 38 03 02 72 */ addi r0, r3, 0x0272 /* 0x00080272@l */
/* 80C98CB4 90 01 00 20 */ stw r0, 0x20(r1)
/* 80C98CB8 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 80C98CBC 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 80C98CC0 80 63 00 00 */ lwz r3, 0(r3)
/* 80C98CC4 38 81 00 20 */ addi r4, r1, 0x20
/* 80C98CC8 38 BD 04 D0 */ addi r5, r29, 0x4d0
/* 80C98CCC 38 C0 00 00 */ li r6, 0
/* 80C98CD0 38 E0 00 00 */ li r7, 0
/* 80C98CD4 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98CD8 FC 40 08 90 */ fmr f2, f1
/* 80C98CDC C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 80C98CE0 FC 80 18 90 */ fmr f4, f3
/* 80C98CE4 39 00 00 00 */ li r8, 0
/* 80C98CE8 4B 61 2C 9D */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 80C98CEC 7F A3 EB 78 */ mr r3, r29
/* 80C98CF0 80 1D 00 B0 */ lwz r0, 0xb0(r29)
/* 80C98CF4 54 04 86 3E */ rlwinm r4, r0, 0x10, 0x18, 0x1f
/* 80C98CF8 38 A0 00 FF */ li r5, 0xff
/* 80C98CFC 3C C0 00 01 */ lis r6, 0x0001 /* 0x0000FFFF@ha */
/* 80C98D00 38 C6 FF FF */ addi r6, r6, 0xFFFF /* 0x0000FFFF@l */
/* 80C98D04 38 E0 00 01 */ li r7, 1
/* 80C98D08 39 00 00 00 */ li r8, 0
/* 80C98D0C 4B 38 2A A9 */ bl fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs
/* 80C98D10 C0 1E 00 1C */ lfs f0, 0x1c(r30)
/* 80C98D14 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80C98D18 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 80C98D1C D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 80C98D20 38 61 00 24 */ addi r3, r1, 0x24
/* 80C98D24 38 80 00 00 */ li r4, 0
/* 80C98D28 38 A0 00 00 */ li r5, 0
/* 80C98D2C 38 C0 00 00 */ li r6, 0
/* 80C98D30 4B 5C E6 C5 */ bl __ct__5csXyzFsss
/* 80C98D34 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C98D38 3B E3 61 C0 */ addi r31, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C98D3C 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98D40 38 80 00 00 */ li r4, 0
/* 80C98D44 90 81 00 08 */ stw r4, 8(r1)
/* 80C98D48 38 00 FF FF */ li r0, -1
/* 80C98D4C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98D50 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98D54 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98D58 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98D5C 38 80 00 00 */ li r4, 0
/* 80C98D60 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACA@ha */
/* 80C98D64 38 A5 8A CA */ addi r5, r5, 0x8ACA /* 0x00008ACA@l */
/* 80C98D68 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98D6C 38 E0 00 00 */ li r7, 0
/* 80C98D70 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98D74 39 20 00 00 */ li r9, 0
/* 80C98D78 39 40 00 FF */ li r10, 0xff
/* 80C98D7C C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98D80 4B 3B 3D 11 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98D84 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98D88 38 80 00 00 */ li r4, 0
/* 80C98D8C 90 81 00 08 */ stw r4, 8(r1)
/* 80C98D90 38 00 FF FF */ li r0, -1
/* 80C98D94 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98D98 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98D9C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98DA0 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98DA4 38 80 00 00 */ li r4, 0
/* 80C98DA8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACB@ha */
/* 80C98DAC 38 A5 8A CB */ addi r5, r5, 0x8ACB /* 0x00008ACB@l */
/* 80C98DB0 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98DB4 38 E0 00 00 */ li r7, 0
/* 80C98DB8 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98DBC 39 20 00 00 */ li r9, 0
/* 80C98DC0 39 40 00 FF */ li r10, 0xff
/* 80C98DC4 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98DC8 4B 3B 3C C9 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98DCC 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98DD0 38 80 00 00 */ li r4, 0
/* 80C98DD4 90 81 00 08 */ stw r4, 8(r1)
/* 80C98DD8 38 00 FF FF */ li r0, -1
/* 80C98DDC 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98DE0 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98DE4 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98DE8 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98DEC 38 80 00 00 */ li r4, 0
/* 80C98DF0 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACE@ha */
/* 80C98DF4 38 A5 8A CE */ addi r5, r5, 0x8ACE /* 0x00008ACE@l */
/* 80C98DF8 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98DFC 38 E0 00 00 */ li r7, 0
/* 80C98E00 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98E04 39 20 00 00 */ li r9, 0
/* 80C98E08 39 40 00 FF */ li r10, 0xff
/* 80C98E0C C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98E10 4B 3B 3C 81 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98E14 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98E18 38 80 00 00 */ li r4, 0
/* 80C98E1C 90 81 00 08 */ stw r4, 8(r1)
/* 80C98E20 38 00 FF FF */ li r0, -1
/* 80C98E24 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98E28 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98E2C 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98E30 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98E34 38 80 00 00 */ li r4, 0
/* 80C98E38 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008ACF@ha */
/* 80C98E3C 38 A5 8A CF */ addi r5, r5, 0x8ACF /* 0x00008ACF@l */
/* 80C98E40 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98E44 38 E0 00 00 */ li r7, 0
/* 80C98E48 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98E4C 39 20 00 00 */ li r9, 0
/* 80C98E50 39 40 00 FF */ li r10, 0xff
/* 80C98E54 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98E58 4B 3B 3C 39 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98E5C 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98E60 38 80 00 00 */ li r4, 0
/* 80C98E64 90 81 00 08 */ stw r4, 8(r1)
/* 80C98E68 38 00 FF FF */ li r0, -1
/* 80C98E6C 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98E70 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98E74 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98E78 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98E7C 38 80 00 00 */ li r4, 0
/* 80C98E80 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008AD0@ha */
/* 80C98E84 38 A5 8A D0 */ addi r5, r5, 0x8AD0 /* 0x00008AD0@l */
/* 80C98E88 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98E8C 38 E0 00 00 */ li r7, 0
/* 80C98E90 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98E94 39 20 00 00 */ li r9, 0
/* 80C98E98 39 40 00 FF */ li r10, 0xff
/* 80C98E9C C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98EA0 4B 3B 3B F1 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98EA4 80 7F 5D 3C */ lwz r3, 0x5d3c(r31)
/* 80C98EA8 38 80 00 00 */ li r4, 0
/* 80C98EAC 90 81 00 08 */ stw r4, 8(r1)
/* 80C98EB0 38 00 FF FF */ li r0, -1
/* 80C98EB4 90 01 00 0C */ stw r0, 0xc(r1)
/* 80C98EB8 90 81 00 10 */ stw r4, 0x10(r1)
/* 80C98EBC 90 81 00 14 */ stw r4, 0x14(r1)
/* 80C98EC0 90 81 00 18 */ stw r4, 0x18(r1)
/* 80C98EC4 38 80 00 00 */ li r4, 0
/* 80C98EC8 3C A0 00 01 */ lis r5, 0x0001 /* 0x00008AD1@ha */
/* 80C98ECC 38 A5 8A D1 */ addi r5, r5, 0x8AD1 /* 0x00008AD1@l */
/* 80C98ED0 38 C1 00 44 */ addi r6, r1, 0x44
/* 80C98ED4 38 E0 00 00 */ li r7, 0
/* 80C98ED8 39 01 00 24 */ addi r8, r1, 0x24
/* 80C98EDC 39 20 00 00 */ li r9, 0
/* 80C98EE0 39 40 00 FF */ li r10, 0xff
/* 80C98EE4 C0 3E 00 20 */ lfs f1, 0x20(r30)
/* 80C98EE8 4B 3B 3B A9 */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
/* 80C98EEC 39 61 00 60 */ addi r11, r1, 0x60
/* 80C98EF0 4B 6C 93 39 */ bl _restgpr_29
/* 80C98EF4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 80C98EF8 7C 08 03 A6 */ mtlr r0
/* 80C98EFC 38 21 00 60 */ addi r1, r1, 0x60
/* 80C98F00 4E 80 00 20 */ blr

View File

@ -1,4 +0,0 @@
lbl_80C98AD8:
/* 80C98AD8 38 00 00 00 */ li r0, 0
/* 80C98ADC 90 03 05 CC */ stw r0, 0x5cc(r3)
/* 80C98AE0 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80C9AAB0:
/* 80C9AAB0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9AAB4 7C 08 02 A6 */ mflr r0
/* 80C9AAB8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9AABC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C9AAC0 93 C1 00 08 */ stw r30, 8(r1)
/* 80C9AAC4 7C 7E 1B 79 */ or. r30, r3, r3
/* 80C9AAC8 7C 9F 23 78 */ mr r31, r4
/* 80C9AACC 41 82 00 28 */ beq lbl_80C9AAF4
/* 80C9AAD0 3C 80 80 3B */ lis r4, __vt__4dBgW@ha /* 0x803ABA80@ha */
/* 80C9AAD4 38 04 BA 80 */ addi r0, r4, __vt__4dBgW@l /* 0x803ABA80@l */
/* 80C9AAD8 90 1E 00 04 */ stw r0, 4(r30)
/* 80C9AADC 38 80 00 00 */ li r4, 0
/* 80C9AAE0 4B 3D E8 5D */ bl __dt__4cBgWFv
/* 80C9AAE4 7F E0 07 35 */ extsh. r0, r31
/* 80C9AAE8 40 81 00 0C */ ble lbl_80C9AAF4
/* 80C9AAEC 7F C3 F3 78 */ mr r3, r30
/* 80C9AAF0 4B 63 42 4D */ bl __dl__FPv
lbl_80C9AAF4:
/* 80C9AAF4 7F C3 F3 78 */ mr r3, r30
/* 80C9AAF8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C9AAFC 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9AB00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9AB04 7C 08 03 A6 */ mtlr r0
/* 80C9AB08 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9AB0C 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C99918:
/* 80C99918 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9991C 7C 08 02 A6 */ mflr r0
/* 80C99920 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C99924 48 00 00 15 */ bl createHeap__18daObjMirrorTable_cFv
/* 80C99928 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9992C 7C 08 03 A6 */ mtlr r0
/* 80C99930 38 21 00 10 */ addi r1, r1, 0x10
/* 80C99934 4E 80 00 20 */ blr

View File

@ -1,57 +0,0 @@
lbl_80C9AB30:
/* 80C9AB30 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9AB34 7C 08 02 A6 */ mflr r0
/* 80C9AB38 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9AB3C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C9AB40 93 C1 00 08 */ stw r30, 8(r1)
/* 80C9AB44 7C 7E 1B 78 */ mr r30, r3
/* 80C9AB48 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80C9AB4C 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80C9AB50 40 82 00 40 */ bne lbl_80C9AB90
/* 80C9AB54 7F C0 F3 79 */ or. r0, r30, r30
/* 80C9AB58 41 82 00 2C */ beq lbl_80C9AB84
/* 80C9AB5C 7C 1F 03 78 */ mr r31, r0
/* 80C9AB60 4B 37 E0 05 */ bl __ct__10fopAc_ac_cFv
/* 80C9AB64 38 7F 05 9C */ addi r3, r31, 0x59c
/* 80C9AB68 3C 80 80 08 */ lis r4, __ct__4dBgWFv@ha /* 0x8007B970@ha */
/* 80C9AB6C 38 84 B9 70 */ addi r4, r4, __ct__4dBgWFv@l /* 0x8007B970@l */
/* 80C9AB70 3C A0 80 CA */ lis r5, __dt__4dBgWFv@ha /* 0x80C9AAB0@ha */
/* 80C9AB74 38 A5 AA B0 */ addi r5, r5, __dt__4dBgWFv@l /* 0x80C9AAB0@l */
/* 80C9AB78 38 C0 00 C0 */ li r6, 0xc0
/* 80C9AB7C 38 E0 00 03 */ li r7, 3
/* 80C9AB80 4B 6C 71 E1 */ bl __construct_array
lbl_80C9AB84:
/* 80C9AB84 80 1E 04 A0 */ lwz r0, 0x4a0(r30)
/* 80C9AB88 60 00 00 08 */ ori r0, r0, 8
/* 80C9AB8C 90 1E 04 A0 */ stw r0, 0x4a0(r30)
lbl_80C9AB90:
/* 80C9AB90 38 7E 05 94 */ addi r3, r30, 0x594
/* 80C9AB94 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C9B2A4@ha */
/* 80C9AB98 38 84 B2 A4 */ addi r4, r4, l_arcName@l /* 0x80C9B2A4@l */
/* 80C9AB9C 80 84 00 00 */ lwz r4, 0(r4)
/* 80C9ABA0 4B 39 23 1D */ bl dComIfG_resLoad__FP30request_of_phase_process_classPCc
/* 80C9ABA4 7C 7F 1B 78 */ mr r31, r3
/* 80C9ABA8 2C 1F 00 04 */ cmpwi r31, 4
/* 80C9ABAC 40 82 00 34 */ bne lbl_80C9ABE0
/* 80C9ABB0 7F C3 F3 78 */ mr r3, r30
/* 80C9ABB4 3C 80 80 CA */ lis r4, createSolidHeap__FP10fopAc_ac_c@ha /* 0x80C99918@ha */
/* 80C9ABB8 38 84 99 18 */ addi r4, r4, createSolidHeap__FP10fopAc_ac_c@l /* 0x80C99918@l */
/* 80C9ABBC 3C A0 00 01 */ lis r5, 0x0001 /* 0x0000DB50@ha */
/* 80C9ABC0 38 A5 DB 50 */ addi r5, r5, 0xDB50 /* 0x0000DB50@l */
/* 80C9ABC4 4B 37 F8 ED */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 80C9ABC8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C9ABCC 40 82 00 0C */ bne lbl_80C9ABD8
/* 80C9ABD0 38 60 00 05 */ li r3, 5
/* 80C9ABD4 48 00 00 10 */ b lbl_80C9ABE4
lbl_80C9ABD8:
/* 80C9ABD8 7F C3 F3 78 */ mr r3, r30
/* 80C9ABDC 48 00 00 21 */ bl create_init__18daObjMirrorTable_cFv
lbl_80C9ABE0:
/* 80C9ABE0 7F E3 FB 78 */ mr r3, r31
lbl_80C9ABE4:
/* 80C9ABE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C9ABE8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9ABEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9ABF0 7C 08 03 A6 */ mtlr r0
/* 80C9ABF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9ABF8 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C9AB10:
/* 80C9AB10 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9AB14 7C 08 02 A6 */ mflr r0
/* 80C9AB18 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9AB1C 48 00 00 15 */ bl create__18daObjMirrorTable_cFv
/* 80C9AB20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9AB24 7C 08 03 A6 */ mtlr r0
/* 80C9AB28 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9AB2C 4E 80 00 20 */ blr

View File

@ -1,58 +0,0 @@
lbl_80C9A9DC:
/* 80C9A9DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9A9E0 7C 08 02 A6 */ mflr r0
/* 80C9A9E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9A9E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C9A9EC 7C 7F 1B 79 */ or. r31, r3, r3
/* 80C9A9F0 41 82 00 A8 */ beq lbl_80C9AA98
/* 80C9A9F4 38 7F 05 9C */ addi r3, r31, 0x59c
/* 80C9A9F8 4B 5C D7 DD */ bl ChkUsed__9cBgW_BgIdCFv
/* 80C9A9FC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C9AA00 41 82 00 18 */ beq lbl_80C9AA18
/* 80C9AA04 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9AA08 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9AA0C 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C9AA10 38 9F 05 9C */ addi r4, r31, 0x59c
/* 80C9AA14 4B 3D 98 3D */ bl Release__4cBgSFP9dBgW_Base
lbl_80C9AA18:
/* 80C9AA18 38 7F 06 5C */ addi r3, r31, 0x65c
/* 80C9AA1C 4B 5C D7 B9 */ bl ChkUsed__9cBgW_BgIdCFv
/* 80C9AA20 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C9AA24 41 82 00 18 */ beq lbl_80C9AA3C
/* 80C9AA28 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9AA2C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9AA30 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C9AA34 38 9F 06 5C */ addi r4, r31, 0x65c
/* 80C9AA38 4B 3D 98 19 */ bl Release__4cBgSFP9dBgW_Base
lbl_80C9AA3C:
/* 80C9AA3C 38 7F 07 1C */ addi r3, r31, 0x71c
/* 80C9AA40 4B 5C D7 95 */ bl ChkUsed__9cBgW_BgIdCFv
/* 80C9AA44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80C9AA48 41 82 00 18 */ beq lbl_80C9AA60
/* 80C9AA4C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9AA50 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9AA54 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80C9AA58 38 9F 07 1C */ addi r4, r31, 0x71c
/* 80C9AA5C 4B 3D 97 F5 */ bl Release__4cBgSFP9dBgW_Base
lbl_80C9AA60:
/* 80C9AA60 38 7F 05 94 */ addi r3, r31, 0x594
/* 80C9AA64 3C 80 80 CA */ lis r4, l_arcName@ha /* 0x80C9B2A4@ha */
/* 80C9AA68 38 84 B2 A4 */ addi r4, r4, l_arcName@l /* 0x80C9B2A4@l */
/* 80C9AA6C 80 84 00 00 */ lwz r4, 0(r4)
/* 80C9AA70 4B 39 25 99 */ bl dComIfG_resDelete__FP30request_of_phase_process_classPCc
/* 80C9AA74 38 7F 05 9C */ addi r3, r31, 0x59c
/* 80C9AA78 3C 80 80 CA */ lis r4, __dt__4dBgWFv@ha /* 0x80C9AAB0@ha */
/* 80C9AA7C 38 84 AA B0 */ addi r4, r4, __dt__4dBgWFv@l /* 0x80C9AAB0@l */
/* 80C9AA80 38 A0 00 C0 */ li r5, 0xc0
/* 80C9AA84 38 C0 00 03 */ li r6, 3
/* 80C9AA88 4B 6C 72 61 */ bl __destroy_arr
/* 80C9AA8C 7F E3 FB 78 */ mr r3, r31
/* 80C9AA90 38 80 00 00 */ li r4, 0
/* 80C9AA94 4B 37 E1 F9 */ bl __dt__10fopAc_ac_cFv
lbl_80C9AA98:
/* 80C9AA98 38 60 00 01 */ li r3, 1
/* 80C9AA9C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C9AAA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9AAA4 7C 08 03 A6 */ mtlr r0
/* 80C9AAA8 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9AAAC 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C9A278:
/* 80C9A278 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9A27C 7C 08 02 A6 */ mflr r0
/* 80C9A280 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9A284 48 00 00 15 */ bl draw__18daObjMirrorTable_cFv
/* 80C9A288 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9A28C 7C 08 03 A6 */ mtlr r0
/* 80C9A290 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9A294 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80C9A4B0:
/* 80C9A4B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9A4B4 7C 08 02 A6 */ mflr r0
/* 80C9A4B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9A4BC 48 00 00 15 */ bl execute__18daObjMirrorTable_cFv
/* 80C9A4C0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9A4C4 7C 08 03 A6 */ mtlr r0
/* 80C9A4C8 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9A4CC 4E 80 00 20 */ blr

View File

@ -1,140 +0,0 @@
lbl_80C9A298:
/* 80C9A298 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C9A29C 7C 08 02 A6 */ mflr r0
/* 80C9A2A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C9A2A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C9A2A8 93 C1 00 08 */ stw r30, 8(r1)
/* 80C9A2AC 7C 7E 1B 78 */ mr r30, r3
/* 80C9A2B0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C9A2B4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C9A2B8 38 80 00 10 */ li r4, 0x10
/* 80C9A2BC 38 BE 04 D0 */ addi r5, r30, 0x4d0
/* 80C9A2C0 38 DE 01 0C */ addi r6, r30, 0x10c
/* 80C9A2C4 4B 50 95 01 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 80C9A2C8 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C9A2CC 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C9A2D0 80 9E 05 68 */ lwz r4, 0x568(r30)
/* 80C9A2D4 80 84 00 04 */ lwz r4, 4(r4)
/* 80C9A2D8 38 BE 01 0C */ addi r5, r30, 0x10c
/* 80C9A2DC 4B 50 AA C5 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80C9A2E0 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C9A2E4 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C9A2E8 80 9E 05 6C */ lwz r4, 0x56c(r30)
/* 80C9A2EC 80 84 00 04 */ lwz r4, 4(r4)
/* 80C9A2F0 38 BE 01 0C */ addi r5, r30, 0x10c
/* 80C9A2F4 4B 50 AA AD */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 80C9A2F8 80 9E 05 70 */ lwz r4, 0x570(r30)
/* 80C9A2FC 28 04 00 00 */ cmplwi r4, 0
/* 80C9A300 41 82 00 18 */ beq lbl_80C9A318
/* 80C9A304 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 80C9A308 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 80C9A30C 80 84 00 04 */ lwz r4, 4(r4)
/* 80C9A310 38 BE 01 0C */ addi r5, r30, 0x10c
/* 80C9A314 4B 50 AA 8D */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
lbl_80C9A318:
/* 80C9A318 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 80C9A31C 80 83 00 04 */ lwz r4, 4(r3)
/* 80C9A320 80 7E 05 80 */ lwz r3, 0x580(r30)
/* 80C9A324 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C9A328 4B 37 36 A5 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
/* 80C9A32C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9A330 38 83 61 C0 */ addi r4, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9A334 80 04 5F 70 */ lwz r0, 0x5f70(r4)
/* 80C9A338 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80C9A33C 3B E3 4A C8 */ addi r31, r3, j3dSys@l /* 0x80434AC8@l */
/* 80C9A340 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80C9A344 80 04 5F 74 */ lwz r0, 0x5f74(r4)
/* 80C9A348 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80C9A34C 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 80C9A350 4B 37 39 75 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C9A354 80 7E 05 6C */ lwz r3, 0x56c(r30)
/* 80C9A358 4B 37 39 6D */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C9A35C 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 80C9A360 28 03 00 00 */ cmplwi r3, 0
/* 80C9A364 41 82 00 38 */ beq lbl_80C9A39C
/* 80C9A368 80 83 00 04 */ lwz r4, 4(r3)
/* 80C9A36C 80 7E 05 88 */ lwz r3, 0x588(r30)
/* 80C9A370 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C9A374 38 84 00 58 */ addi r4, r4, 0x58
/* 80C9A378 4B 37 34 31 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef
/* 80C9A37C 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 80C9A380 4B 37 39 45 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C9A384 80 7E 05 70 */ lwz r3, 0x570(r30)
/* 80C9A388 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9A38C 38 63 00 58 */ addi r3, r3, 0x58
/* 80C9A390 80 9E 05 88 */ lwz r4, 0x588(r30)
/* 80C9A394 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C9A398 4B 69 54 E9 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
lbl_80C9A39C:
/* 80C9A39C 80 7E 05 74 */ lwz r3, 0x574(r30)
/* 80C9A3A0 28 03 00 00 */ cmplwi r3, 0
/* 80C9A3A4 41 82 00 08 */ beq lbl_80C9A3AC
/* 80C9A3A8 4B 37 39 1D */ bl mDoExt_modelUpdateDL__FP8J3DModel
lbl_80C9A3AC:
/* 80C9A3AC 88 1E 08 74 */ lbz r0, 0x874(r30)
/* 80C9A3B0 28 00 00 00 */ cmplwi r0, 0
/* 80C9A3B4 41 82 00 B0 */ beq lbl_80C9A464
/* 80C9A3B8 80 7E 05 78 */ lwz r3, 0x578(r30)
/* 80C9A3BC 28 03 00 00 */ cmplwi r3, 0
/* 80C9A3C0 41 82 00 38 */ beq lbl_80C9A3F8
/* 80C9A3C4 80 83 00 04 */ lwz r4, 4(r3)
/* 80C9A3C8 80 7E 05 90 */ lwz r3, 0x590(r30)
/* 80C9A3CC C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C9A3D0 38 84 00 58 */ addi r4, r4, 0x58
/* 80C9A3D4 4B 37 33 05 */ bl entry__13mDoExt_btkAnmFP16J3DMaterialTablef
/* 80C9A3D8 80 7E 05 78 */ lwz r3, 0x578(r30)
/* 80C9A3DC 4B 37 38 E9 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C9A3E0 80 7E 05 78 */ lwz r3, 0x578(r30)
/* 80C9A3E4 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9A3E8 38 63 00 58 */ addi r3, r3, 0x58
/* 80C9A3EC 80 9E 05 90 */ lwz r4, 0x590(r30)
/* 80C9A3F0 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C9A3F4 4B 69 53 C1 */ bl removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey
lbl_80C9A3F8:
/* 80C9A3F8 80 7E 05 7C */ lwz r3, 0x57c(r30)
/* 80C9A3FC 28 03 00 00 */ cmplwi r3, 0
/* 80C9A400 41 82 00 64 */ beq lbl_80C9A464
/* 80C9A404 80 83 00 04 */ lwz r4, 4(r3)
/* 80C9A408 80 7E 05 84 */ lwz r3, 0x584(r30)
/* 80C9A40C C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C9A410 4B 37 35 BD */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
/* 80C9A414 80 7E 05 7C */ lwz r3, 0x57c(r30)
/* 80C9A418 80 83 00 04 */ lwz r4, 4(r3)
/* 80C9A41C 80 7E 05 8C */ lwz r3, 0x58c(r30)
/* 80C9A420 C0 23 00 10 */ lfs f1, 0x10(r3)
/* 80C9A424 38 84 00 58 */ addi r4, r4, 0x58
/* 80C9A428 4B 37 33 81 */ bl entry__13mDoExt_brkAnmFP16J3DMaterialTablef
/* 80C9A42C 80 7E 05 7C */ lwz r3, 0x57c(r30)
/* 80C9A430 4B 37 38 95 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 80C9A434 80 7E 05 7C */ lwz r3, 0x57c(r30)
/* 80C9A438 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9A43C 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80C9A440 80 63 00 00 */ lwz r3, 0(r3)
/* 80C9A444 38 00 00 00 */ li r0, 0
/* 80C9A448 90 03 00 54 */ stw r0, 0x54(r3)
/* 80C9A44C 80 7E 05 7C */ lwz r3, 0x57c(r30)
/* 80C9A450 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9A454 38 63 00 58 */ addi r3, r3, 0x58
/* 80C9A458 80 9E 05 8C */ lwz r4, 0x58c(r30)
/* 80C9A45C 80 84 00 14 */ lwz r4, 0x14(r4)
/* 80C9A460 4B 69 54 21 */ bl removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
lbl_80C9A464:
/* 80C9A464 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9A468 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9A46C 80 03 5F 80 */ lwz r0, 0x5f80(r3)
/* 80C9A470 90 1F 00 48 */ stw r0, 0x48(r31)
/* 80C9A474 80 03 5F 84 */ lwz r0, 0x5f84(r3)
/* 80C9A478 90 1F 00 4C */ stw r0, 0x4c(r31)
/* 80C9A47C 80 7E 05 68 */ lwz r3, 0x568(r30)
/* 80C9A480 80 63 00 04 */ lwz r3, 4(r3)
/* 80C9A484 80 63 00 28 */ lwz r3, 0x28(r3)
/* 80C9A488 80 63 00 00 */ lwz r3, 0(r3)
/* 80C9A48C 38 00 00 00 */ li r0, 0
/* 80C9A490 90 03 00 54 */ stw r0, 0x54(r3)
/* 80C9A494 38 60 00 01 */ li r3, 1
/* 80C9A498 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C9A49C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9A4A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9A4A4 7C 08 03 A6 */ mtlr r0
/* 80C9A4A8 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9A4AC 4E 80 00 20 */ blr

View File

@ -1,52 +0,0 @@
lbl_80C99F7C:
/* 80C99F7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80C99F80 7C 08 02 A6 */ mflr r0
/* 80C99F84 90 01 00 14 */ stw r0, 0x14(r1)
/* 80C99F88 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80C99F8C 93 C1 00 08 */ stw r30, 8(r1)
/* 80C99F90 7C 65 1B 78 */ mr r5, r3
/* 80C99F94 3B E0 00 01 */ li r31, 1
/* 80C99F98 7F FE FB 78 */ mr r30, r31
/* 80C99F9C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99FA0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99FA4 80 05 00 B0 */ lwz r0, 0xb0(r5)
/* 80C99FA8 54 04 C6 3E */ rlwinm r4, r0, 0x18, 0x18, 0x1f
/* 80C99FAC 88 05 04 BA */ lbz r0, 0x4ba(r5)
/* 80C99FB0 7C 05 07 74 */ extsb r5, r0
/* 80C99FB4 4B 39 B3 AD */ bl isSwitch__10dSv_info_cCFii
/* 80C99FB8 2C 03 00 00 */ cmpwi r3, 0
/* 80C99FBC 40 82 00 2C */ bne lbl_80C99FE8
/* 80C99FC0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99FC4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99FC8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C99FCC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C99FD0 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C99FD4 A0 84 02 D2 */ lhz r4, 0x2d2(r4)
/* 80C99FD8 4B 39 A9 E5 */ bl isEventBit__11dSv_event_cCFUs
/* 80C99FDC 2C 03 00 00 */ cmpwi r3, 0
/* 80C99FE0 40 82 00 08 */ bne lbl_80C99FE8
/* 80C99FE4 3B C0 00 00 */ li r30, 0
lbl_80C99FE8:
/* 80C99FE8 57 C0 06 3F */ clrlwi. r0, r30, 0x18
/* 80C99FEC 40 82 00 2C */ bne lbl_80C9A018
/* 80C99FF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C99FF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C99FF8 38 63 07 F0 */ addi r3, r3, 0x7f0
/* 80C99FFC 3C 80 80 3A */ lis r4, saveBitLabels__16dSv_event_flag_c@ha /* 0x803A7288@ha */
/* 80C9A000 38 84 72 88 */ addi r4, r4, saveBitLabels__16dSv_event_flag_c@l /* 0x803A7288@l */
/* 80C9A004 A0 84 02 C4 */ lhz r4, 0x2c4(r4)
/* 80C9A008 4B 39 A9 B5 */ bl isEventBit__11dSv_event_cCFUs
/* 80C9A00C 2C 03 00 00 */ cmpwi r3, 0
/* 80C9A010 40 82 00 08 */ bne lbl_80C9A018
/* 80C9A014 3B E0 00 00 */ li r31, 0
lbl_80C9A018:
/* 80C9A018 57 E3 06 3E */ clrlwi r3, r31, 0x18
/* 80C9A01C 30 03 FF FF */ addic r0, r3, -1
/* 80C9A020 7C 00 19 10 */ subfe r0, r0, r3
/* 80C9A024 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80C9A028 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80C9A02C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80C9A030 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80C9A034 7C 08 03 A6 */ mtlr r0
/* 80C9A038 38 21 00 10 */ addi r1, r1, 0x10
/* 80C9A03C 4E 80 00 20 */ blr

View File

@ -1,151 +0,0 @@
lbl_80C9A040:
/* 80C9A040 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80C9A044 7C 08 02 A6 */ mflr r0
/* 80C9A048 90 01 00 54 */ stw r0, 0x54(r1)
/* 80C9A04C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 80C9A050 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */
/* 80C9A054 39 61 00 40 */ addi r11, r1, 0x40
/* 80C9A058 4B 6C 81 75 */ bl _savegpr_25
/* 80C9A05C 7C 9D 23 78 */ mr r29, r4
/* 80C9A060 A8 05 00 08 */ lha r0, 8(r5)
/* 80C9A064 2C 00 00 FD */ cmpwi r0, 0xfd
/* 80C9A068 40 82 01 D8 */ bne lbl_80C9A240
/* 80C9A06C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9A070 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9A074 83 E3 5D AC */ lwz r31, 0x5dac(r3)
/* 80C9A078 80 7D 05 74 */ lwz r3, 0x574(r29)
/* 80C9A07C 38 63 00 24 */ addi r3, r3, 0x24
/* 80C9A080 3C 80 80 3E */ lis r4, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C9A084 38 84 D4 70 */ addi r4, r4, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C9A088 4B 6A C4 29 */ bl PSMTXCopy
/* 80C9A08C 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C9A090 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C9A094 7C 64 1B 78 */ mr r4, r3
/* 80C9A098 4B 6A C5 19 */ bl PSMTXInverse
/* 80C9A09C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80C9A0A0 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80C9A0A4 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 80C9A0A8 80 03 05 74 */ lwz r0, 0x574(r3)
/* 80C9A0AC 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
/* 80C9A0B0 41 82 00 E4 */ beq lbl_80C9A194
/* 80C9A0B4 3B 20 00 00 */ li r25, 0
/* 80C9A0B8 3C 60 80 CA */ lis r3, l_minPos@ha /* 0x80C9B244@ha */
/* 80C9A0BC 3B 43 B2 44 */ addi r26, r3, l_minPos@l /* 0x80C9B244@l */
/* 80C9A0C0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */
/* 80C9A0C4 3B 83 B2 50 */ addi r28, r3, l_maxPos@l /* 0x80C9B250@l */
/* 80C9A0C8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C9A0CC 3B 63 D4 70 */ addi r27, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C9A0D0 C3 FA 00 00 */ lfs f31, 0(r26)
lbl_80C9A0D4:
/* 80C9A0D4 2C 19 00 02 */ cmpwi r25, 2
/* 80C9A0D8 41 82 00 34 */ beq lbl_80C9A10C
/* 80C9A0DC 40 80 00 14 */ bge lbl_80C9A0F0
/* 80C9A0E0 2C 19 00 00 */ cmpwi r25, 0
/* 80C9A0E4 41 82 00 18 */ beq lbl_80C9A0FC
/* 80C9A0E8 40 80 00 1C */ bge lbl_80C9A104
/* 80C9A0EC 48 00 00 2C */ b lbl_80C9A118
lbl_80C9A0F0:
/* 80C9A0F0 2C 19 00 04 */ cmpwi r25, 4
/* 80C9A0F4 40 80 00 24 */ bge lbl_80C9A118
/* 80C9A0F8 48 00 00 1C */ b lbl_80C9A114
lbl_80C9A0FC:
/* 80C9A0FC 3B DF 05 C8 */ addi r30, r31, 0x5c8
/* 80C9A100 48 00 00 18 */ b lbl_80C9A118
lbl_80C9A104:
/* 80C9A104 3B DF 05 D4 */ addi r30, r31, 0x5d4
/* 80C9A108 48 00 00 10 */ b lbl_80C9A118
lbl_80C9A10C:
/* 80C9A10C 3B DF 05 E0 */ addi r30, r31, 0x5e0
/* 80C9A110 48 00 00 08 */ b lbl_80C9A118
lbl_80C9A114:
/* 80C9A114 3B DF 05 EC */ addi r30, r31, 0x5ec
lbl_80C9A118:
/* 80C9A118 4B 37 2B B1 */ bl push__14mDoMtx_stack_cFv
/* 80C9A11C 7F 63 DB 78 */ mr r3, r27
/* 80C9A120 7F C4 F3 78 */ mr r4, r30
/* 80C9A124 38 A1 00 08 */ addi r5, r1, 8
/* 80C9A128 4B 6A CC 45 */ bl PSMTXMultVec
/* 80C9A12C 4B 37 2B E9 */ bl pop__14mDoMtx_stack_cFv
/* 80C9A130 C0 21 00 08 */ lfs f1, 8(r1)
/* 80C9A134 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 80C9A138 4C 41 13 82 */ cror 2, 1, 2
/* 80C9A13C 40 82 00 48 */ bne lbl_80C9A184
/* 80C9A140 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */
/* 80C9A144 C0 03 B2 50 */ lfs f0, l_maxPos@l(r3) /* 0x80C9B250@l */
/* 80C9A148 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A14C 4C 40 13 82 */ cror 2, 0, 2
/* 80C9A150 40 82 00 34 */ bne lbl_80C9A184
/* 80C9A154 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80C9A158 C0 1A 00 08 */ lfs f0, 8(r26)
/* 80C9A15C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A160 4C 41 13 82 */ cror 2, 1, 2
/* 80C9A164 40 82 00 20 */ bne lbl_80C9A184
/* 80C9A168 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80C9A16C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A170 4C 40 13 82 */ cror 2, 0, 2
/* 80C9A174 40 82 00 10 */ bne lbl_80C9A184
/* 80C9A178 38 00 00 0F */ li r0, 0xf
/* 80C9A17C 98 1D 08 75 */ stb r0, 0x875(r29)
/* 80C9A180 48 00 00 C0 */ b lbl_80C9A240
lbl_80C9A184:
/* 80C9A184 3B 39 00 01 */ addi r25, r25, 1
/* 80C9A188 2C 19 00 04 */ cmpwi r25, 4
/* 80C9A18C 41 80 FF 48 */ blt lbl_80C9A0D4
/* 80C9A190 48 00 00 B0 */ b lbl_80C9A240
lbl_80C9A194:
/* 80C9A194 3B 40 00 00 */ li r26, 0
/* 80C9A198 3C 60 80 CA */ lis r3, l_minPos@ha /* 0x80C9B244@ha */
/* 80C9A19C 3B 63 B2 44 */ addi r27, r3, l_minPos@l /* 0x80C9B244@l */
/* 80C9A1A0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */
/* 80C9A1A4 3B 83 B2 50 */ addi r28, r3, l_maxPos@l /* 0x80C9B250@l */
/* 80C9A1A8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 80C9A1AC 3B C3 D4 70 */ addi r30, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 80C9A1B0 C3 FB 00 00 */ lfs f31, 0(r27)
lbl_80C9A1B4:
/* 80C9A1B4 2C 1A 00 00 */ cmpwi r26, 0
/* 80C9A1B8 40 82 00 0C */ bne lbl_80C9A1C4
/* 80C9A1BC 3B 3F 05 E0 */ addi r25, r31, 0x5e0
/* 80C9A1C0 48 00 00 08 */ b lbl_80C9A1C8
lbl_80C9A1C4:
/* 80C9A1C4 3B 3F 05 EC */ addi r25, r31, 0x5ec
lbl_80C9A1C8:
/* 80C9A1C8 4B 37 2B 01 */ bl push__14mDoMtx_stack_cFv
/* 80C9A1CC 7F C3 F3 78 */ mr r3, r30
/* 80C9A1D0 7F 24 CB 78 */ mr r4, r25
/* 80C9A1D4 38 A1 00 08 */ addi r5, r1, 8
/* 80C9A1D8 4B 6A CB 95 */ bl PSMTXMultVec
/* 80C9A1DC 4B 37 2B 39 */ bl pop__14mDoMtx_stack_cFv
/* 80C9A1E0 C0 21 00 08 */ lfs f1, 8(r1)
/* 80C9A1E4 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 80C9A1E8 4C 41 13 82 */ cror 2, 1, 2
/* 80C9A1EC 40 82 00 48 */ bne lbl_80C9A234
/* 80C9A1F0 3C 60 80 CA */ lis r3, l_maxPos@ha /* 0x80C9B250@ha */
/* 80C9A1F4 C0 03 B2 50 */ lfs f0, l_maxPos@l(r3) /* 0x80C9B250@l */
/* 80C9A1F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A1FC 4C 40 13 82 */ cror 2, 0, 2
/* 80C9A200 40 82 00 34 */ bne lbl_80C9A234
/* 80C9A204 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 80C9A208 C0 1B 00 08 */ lfs f0, 8(r27)
/* 80C9A20C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A210 4C 41 13 82 */ cror 2, 1, 2
/* 80C9A214 40 82 00 20 */ bne lbl_80C9A234
/* 80C9A218 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80C9A21C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80C9A220 4C 40 13 82 */ cror 2, 0, 2
/* 80C9A224 40 82 00 10 */ bne lbl_80C9A234
/* 80C9A228 38 00 00 0F */ li r0, 0xf
/* 80C9A22C 98 1D 08 75 */ stb r0, 0x875(r29)
/* 80C9A230 48 00 00 10 */ b lbl_80C9A240
lbl_80C9A234:
/* 80C9A234 3B 5A 00 01 */ addi r26, r26, 1
/* 80C9A238 2C 1A 00 02 */ cmpwi r26, 2
/* 80C9A23C 41 80 FF 78 */ blt lbl_80C9A1B4
lbl_80C9A240:
/* 80C9A240 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */
/* 80C9A244 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 80C9A248 39 61 00 40 */ addi r11, r1, 0x40
/* 80C9A24C 4B 6C 7F CD */ bl _restgpr_25
/* 80C9A250 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80C9A254 7C 08 03 A6 */ mtlr r0
/* 80C9A258 38 21 00 50 */ addi r1, r1, 0x50
/* 80C9A25C 4E 80 00 20 */ blr

View File

@ -1,7 +0,0 @@
lbl_80C9A260:
/* 80C9A260 A8 05 00 08 */ lha r0, 8(r5)
/* 80C9A264 2C 00 00 FD */ cmpwi r0, 0xfd
/* 80C9A268 4C 82 00 20 */ bnelr
/* 80C9A26C 38 00 00 0F */ li r0, 0xf
/* 80C9A270 98 04 08 75 */ stb r0, 0x875(r4)
/* 80C9A274 4E 80 00 20 */ blr

View File

@ -814,6 +814,11 @@ public:
void i_onEndResetFlg1(daPy_ERFLG1 i_flag) { mEndResetFlg1 |= i_flag; }
cXyz* getLeftHandPosP() { return &mLeftHandPos; }
cXyz* getRightHandPosP() { return &mRightHandPos; }
cXyz* i_getLeftFootPosP() { return &mLeftFootPos; }
cXyz* i_getRightFootPosP() { return &mRightFootPos; }
u32 i_checkWolf() const { return i_checkNoResetFlg1(FLG1_IS_WOLF); }
BOOL i_checkEquipHeavyBoots() const { return i_checkNoResetFlg0(FLG0_EQUIP_HVY_BOOTS); }
BOOL i_checkMagneBootsOn() const { return i_checkNoResetFlg0(FLG0_MAGNE_BOOTS_ON); }

View File

@ -230,7 +230,7 @@ public:
/* 0x7C */ cXyz mTransVel;
/* 0x88 */ u8 mFlags;
/* 0x89 */ u8 mNeedsFullTransform;
/* 0x8A */ u8 field_0x8a[6];
/* 0x8C */ u32 field_0x8c;
/* 0x90 */ u8 mMoveCounter;
/* 0x91 */ u8 field_0x91;
/* 0x92 */ u16 m_rootGrpIdx;

View File

@ -3804,6 +3804,10 @@ inline J3DDrawBuffer* dComIfGd_getOpaListDark() {
return g_dComIfG_gameInfo.drawlist.getOpaListDark();
}
inline J3DDrawBuffer* dComIfGd_getXluListBG() {
return g_dComIfG_gameInfo.drawlist.getXluListBG();
}
inline void dComIfGd_init() {
g_dComIfG_gameInfo.drawlist.init();
}

View File

@ -311,6 +311,7 @@ public:
J3DDrawBuffer* getOpaListPacket() { return mDrawBuffers[DB_OPA_LIST_PACKET]; }
J3DDrawBuffer* getOpaListBG() { return mDrawBuffers[DB_OPA_LIST_BG]; }
J3DDrawBuffer* getOpaListDark() { return mDrawBuffers[DB_OPA_LIST_DARK]; }
J3DDrawBuffer* getXluListBG() { return mDrawBuffers[DB_XLU_LIST_BG]; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_XLU_BUFFER_e); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSys_OPA_BUFFER_e); }
void setXluListSky() { setXluDrawList(mDrawBuffers[DB_XLU_LIST_SKY]); }

View File

@ -28,6 +28,7 @@ public:
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
f32 getFrame() { return mFrameCtrl.getFrame(); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
void setEndFrame(f32 frame) { mFrameCtrl.setEnd(frame); }
void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); }
void setPlayMode(int i_mode) { mFrameCtrl.setAttribute(i_mode); }
void setLoopFrame(f32 i_frame) { mFrameCtrl.setLoop(i_frame); }

View File

@ -38,6 +38,7 @@ struct daMirror_c : public fopAc_ac_c {
/* 80031990 */ static int remove();
s32 getType() { return fopAcM_GetParamBit(this, 0, 8); }
s32 getSw() { return fopAcM_GetParamBit(this, 8, 8); }
static u32 getMirrorRoomPrm() { return 0xff03; }
typedef int (daMirror_c::*entryModelFunc)(J3DModel*);
static entryModelFunc m_entryModel;

View File

@ -19,7 +19,9 @@ public:
/* 80C95E2C */ void executeWait();
/* 80C95E88 */ void initDemo();
/* 80C95E8C */ void executeDemo();
/* 80C95EFC */ void setBaseMtx();
/* 80C95EFC */ inline void setBaseMtx();
inline void initBaseMtx();
inline void create_init();
/* 80C95F50 */ static int createHeapCallBack(fopAc_ac_c* i_this);
/* 80C95F70 */ int CreateHeap();
@ -29,25 +31,10 @@ public:
inline int create();
inline int draw();
void initBaseMtx() {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
// setBaseMtx();
// this is supposed to be setBaseMtx, but it gets inlined here for some reason?
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
void create_init() {
initBaseMtx();
mAttentionInfo.mFlags = 0;
setAction(MODE_WAIT_e);
}
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); }
bool isSwitch() {
return i_fopAcM_isSwitch(this, getSwitchNo()) ||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||

View File

@ -1,6 +1,57 @@
#ifndef D_A_OBJ_MIRROR_CHAIN_H
#define D_A_OBJ_MIRROR_CHAIN_H
#include "dolphin/types.h"
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
class dScissorBegin_packet_c : public J3DPacket {
public:
/* 80C96698 */ void draw();
/* 80C97F98 */ ~dScissorBegin_packet_c() {}
cXyz* getQuad() { return mQuad; }
void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); }
/* 0x10 */ cXyz mQuad[4];
};
class dScissorEnd_packet_c : public J3DPacket {
public:
/* 80C96DE8 */ void draw();
/* 80C97F3C */ ~dScissorEnd_packet_c() {}
void entryPacket() { j3dSys.getDrawBuffer(1)->entryImm(this, 0); }
};
class daObjMirrorChain_c : public fopAc_ac_c {
public:
/* 80C96E40 */ int createHeap();
/* 80C975EC */ void initBaseMtx();
/* 80C97618 */ void setBaseMtx();
/* 80C976B8 */ int draw();
/* 80C97988 */ int execute();
inline ~daObjMirrorChain_c();
inline void create_init();
inline cPhs__Step create();
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
void setAnmSpeed(f32 speed) { mpBckAnm->setPlaySpeed(speed); }
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ J3DModel* mpPortalModel;
/* 0x570 */ mDoExt_bckAnm* mpBckAnm;
/* 0x574 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x578 */ mDoExt_brkAnm* mpPortalBrkAnm;
/* 0x57C */ request_of_phase_process_class mPhaseReq;
/* 0x584 */ dBgW* mpActiveBgW;
/* 0x588 */ dBgW mBgW[2];
/* 0x708 */ JPABaseEmitter* mpEmitter;
/* 0x70C */ Mtx mMtx;
/* 0x73C */ dScissorBegin_packet_c mScissorBegin;
/* 0x77C */ dScissorEnd_packet_c mScissorEnd;
};
STATIC_ASSERT(sizeof(daObjMirrorChain_c) == 0x78C);
#endif /* D_A_OBJ_MIRROR_CHAIN_H */

View File

@ -20,6 +20,7 @@ public:
inline void create_init();
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
void setAnmSpeed(f32 speed) { mpBck->setPlaySpeed(speed); }
bool isSwitch() {
return i_fopAcM_isSwitch(this, getSwitchNo()) ||

View File

@ -1,6 +1,82 @@
#ifndef D_A_OBJ_MIRROR_SCREW_H
#define D_A_OBJ_MIRROR_SCREW_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "rel/d/a/obj/d_a_obj_swspinner/d_a_obj_swspinner.h"
#include "rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h"
#include "rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h"
#include "rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h"
#include "rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h"
#include "rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h"
class daObjMirrorScrew_c;
typedef void (daObjMirrorScrew_c::*daObjMirrorScrew_actionFunc)();
class daObjMirrorScrew_c : public dBgS_MoveBgActor {
public:
struct attr {
f32 mDownDist;
f32 mRotSpeedThreshold;
int mSpinCount;
int mResetSpinCount;
f32 mSpeedStep;
f32 mDownSpeed;
};
enum Action {
/* 0 */ ACT_WAIT,
/* 1 */ ACT_DOWN,
};
/* 80C98AD8 */ void initWait();
/* 80C98AE4 */ void executeWait();
/* 80C98C00 */ void initDown();
/* 80C98F04 */ void executeDown();
inline cPhs__Step create();
/* 80C992F4 */ int CreateHeap();
inline void setBaseMtx();
inline void initBaseMtx();
/* 80C99364 */ int Create();
/* 80C99490 */ int Execute(Mtx**);
/* 80C99608 */ int Draw();
/* 80C996AC */ int Delete();
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
u8 getEventID() { return (fopAcM_GetParam(this) >> 0x10) & 0xff; }
void setAction(int i_action) {
mAction = i_action;
mpActionFunc = ActionTable[mAction];
callInit();
}
void callInit() {
(this->*mpActionFunc[0])();
}
void callExecute() {
(this->*mpActionFunc[1])();
}
/* 0x5A0 */ J3DModel* mpModel;
/* 0x5A4 */ request_of_phase_process_class mPhaseReq;
/* 0x5AC */ daObjMirrorScrew_actionFunc* mpActionFunc;
/* 0x5B0 */ int mAction;
/* 0x5B4 */ daObjSwSpinner_c* mpSwSpinner;
/* 0x5B8 */ daTagSppath_c* mpSpPath;
/* 0x5BC */ daObjMirrorChain_c* mpChain;
/* 0x5C0 */ daObjMirrorTable_c* mpTable;
/* 0x5C4 */ daObjMirror6Pole_c* mp6Pole;
/* 0x5C8 */ daObjMirrorSand_c* mpSand;
/* 0x5CC */ int mSpinCount;
/* 0x5D0 */ u8 field_0x5d0[8];
/* 0x5D8 */ cBgS_PolyInfo field_0x5d8;
static attr const M_attr;
static daObjMirrorScrew_actionFunc ActionTable[2][2];
};
STATIC_ASSERT(sizeof(daObjMirrorScrew_c) == 0x5E8);
#endif /* D_A_OBJ_MIRROR_SCREW_H */

View File

@ -1,6 +1,45 @@
#ifndef D_A_OBJ_MIRROR_TABLE_H
#define D_A_OBJ_MIRROR_TABLE_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/bg/d_bg_w.h"
class daObjMirrorTable_c : public fopAc_ac_c {
public:
/* 80C99938 */ int createHeap();
/* 80C99F7C */ /* inline */ bool isSwitch(); // should be inlined once createHeap matches
inline void checkOnPanel();
/* 80C9A298 */ int draw();
inline void setBaseMtx();
/* 80C9A4D0 */ int execute();
inline ~daObjMirrorTable_c();
/* 80C9AB30 */ cPhs__Step create();
/* 80C9ABFC */ void create_init();
/* 80C9AFD0 */ void initBaseMtx();
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
void setAnmSpeed(f32 speed) { mpTableUpBckAnm->setPlaySpeed(speed); }
/* 0x568 */ J3DModel* mpTableModel;
/* 0x56C */ J3DModel* mpMirrorModel;
/* 0x570 */ J3DModel* mpStairModel;
/* 0x574 */ J3DModel* mpPanelModel;
/* 0x578 */ J3DModel* mpLightModel;
/* 0x57C */ J3DModel* mpMSquareModel;
/* 0x580 */ mDoExt_bckAnm* mpTableUpBckAnm;
/* 0x584 */ mDoExt_bckAnm* mpMSquareBckAnm;
/* 0x588 */ mDoExt_brkAnm* mpStairBrkAnm;
/* 0x58C */ mDoExt_brkAnm* mpMSquareBrkAnm;
/* 0x590 */ mDoExt_btkAnm* mpLightBtkAnm;
/* 0x594 */ request_of_phase_process_class mPhaseReq;
/* 0x59C */ dBgW mBgW[3];
/* 0x7DC */ Mtx mMtx[3];
/* 0x86C */ JPABaseEmitter* mpEmitter1;
/* 0x870 */ JPABaseEmitter* mpEmitter2;
/* 0x874 */ bool field_0x874;
/* 0x875 */ s8 field_0x875;
};
STATIC_ASSERT(sizeof(daObjMirrorTable_c) == 0x878);
#endif /* D_A_OBJ_MIRROR_TABLE_H */

View File

@ -1,6 +1,15 @@
#ifndef D_A_TAG_SPPATH_H
#define D_A_TAG_SPPATH_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "d/d_path.h"
class daTagSppath_c : public fopAc_ac_c {
public:
/* 80D61C18 */ void create();
/* 80D61EC4 */ ~daTagSppath_c();
/* 80D62024 */ void getNearPathPos(cXyz*, dPath*);
/* 80D629C0 */ void execute();
};
#endif /* D_A_TAG_SPPATH_H */

View File

@ -72,6 +72,17 @@ void daObjMirror6Pole_c::setBaseMtx() {
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
void daObjMirror6Pole_c::initBaseMtx() {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
setBaseMtx();
}
void daObjMirror6Pole_c::create_init() {
initBaseMtx();
mAttentionInfo.mFlags = 0;
setAction(MODE_WAIT_e);
}
/* 80C95F50-80C95F70 0001B0 0020+00 1/1 0/0 0/0 .text
* createHeapCallBack__18daObjMirror6Pole_cFP10fopAc_ac_c */
int daObjMirror6Pole_c::createHeapCallBack(fopAc_ac_c* i_this) {

View File

@ -1,172 +1,14 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_mirror_chain
//
/**
* d_a_obj_mirror_table.cpp
* Mirror Chamber Chains
*/
#include "rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_procname.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {};
struct Vec {};
struct cXyz {
/* 80266AE4 */ void operator+(Vec const&) const;
/* 80266B34 */ void operator-(Vec const&) const;
/* 80266CBC */ void outprod(Vec const&) const;
/* 802670AC */ void isZero() const;
/* 80C96DAC */ ~cXyz();
/* 80C9801C */ cXyz();
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct J3DAnmTevRegKey {};
struct J3DMaterialTable {
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct J3DModelData {};
struct J3DAnmTransform {};
struct mDoExt_bckAnm {
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D9CC */ void entry(J3DModelData*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daObjMirrorChain_c {
/* 80C96E40 */ void createHeap();
/* 80C975EC */ void initBaseMtx();
/* 80C97618 */ void setBaseMtx();
/* 80C976B8 */ void draw();
/* 80C97988 */ void execute();
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dScissorEnd_packet_c {
/* 80C96DE8 */ void draw();
/* 80C97F3C */ ~dScissorEnd_packet_c();
};
struct dScissorBegin_packet_c {
/* 80C96698 */ void draw();
/* 80C97F98 */ ~dScissorBegin_packet_c();
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct dBgW_Base {};
struct dBgW {
/* 8007B970 */ dBgW();
/* 8007B9C0 */ void Move();
/* 80C97CC4 */ ~dBgW();
};
struct dBgS {
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
};
struct cBgW_BgId {
/* 802681D4 */ void ChkUsed() const;
};
struct cBgD_t {};
struct cBgW {
/* 8007933C */ ~cBgW();
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
};
struct cBgS {
/* 80074250 */ void Release(dBgW_Base*);
};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J3DPacket;
struct J3DDrawBuffer {
/* 8032548C */ void entryImm(J3DPacket*, u16);
};
struct J3DPacket {
/* 80312750 */ bool entry(J3DDrawBuffer*);
};
struct J3DModel {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 80C975A4 */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@ -235,12 +77,6 @@ extern "C" bool entry__9J3DPacketFP13J3DDrawBuffer();
extern "C" void entryImm__13J3DDrawBufferFP9J3DPacketUs();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXMultVec();
extern "C" void PSMTXMultVecArray();
extern "C" void PSVECScale();
extern "C" void GXSetScissor();
extern "C" void GXGetScissor();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void __cvt_fp2unsigned();
@ -250,23 +86,19 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_22();
extern "C" void _restgpr_26();
extern "C" void _restgpr_29();
extern "C" void tan();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__4dBgW[65];
extern "C" extern void* __vt__9J3DPacket[5];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" extern u32 __float_max;
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80C98080-80C98084 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char const* l_arcName = "MR-Chain";
/* ############################################################################################## */
/* 80C98028-80C9802C 000000 0004+00 2/2 0/0 0/0 .rodata @3915 */
SECTION_RODATA static u32 const lit_3915 = 0x3C8EFA35;
@ -341,7 +173,7 @@ COMPILER_STRIP_GATE(0x80C98050, &lit_3925);
#pragma pop
/* 80C98138-80C98148 000000 0010+00 2/2 0/0 0/0 .bss l_scissor */
static u8 l_scissor[16];
static u32 l_scissor[4];
/* 80C96698-80C96DAC 000078 0714+00 1/0 0/0 0/0 .text draw__22dScissorBegin_packet_cFv */
#pragma push
@ -353,35 +185,22 @@ asm void dScissorBegin_packet_c::draw() {
}
#pragma pop
/* 80C96DAC-80C96DE8 00078C 003C+00 3/3 0/0 0/0 .text __dt__4cXyzFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cXyz::~cXyz() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4cXyzFv.s"
// Temporary fake function to make the cXyz destructor appear here
// delete once dScissorBegin_packet_c::draw() is matched
static void fake() {
cXyz vec;
vec.normalize();
}
#pragma pop
/* 80C96DE8-80C96E20 0007C8 0038+00 1/0 0/0 0/0 .text draw__20dScissorEnd_packet_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dScissorEnd_packet_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__20dScissorEnd_packet_cFv.s"
void dScissorEnd_packet_c::draw() {
GXSetScissor(l_scissor[0], l_scissor[1], l_scissor[2], l_scissor[3]);
}
#pragma pop
/* 80C96E20-80C96E40 000800 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createSolidHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createSolidHeap__FP10fopAc_ac_c.s"
static int createSolidHeap(fopAc_ac_c* i_this) {
return static_cast<daObjMirrorChain_c*>(i_this)->createHeap();
}
#pragma pop
/* ############################################################################################## */
/* 80C98058-80C98060 000030 0008+00 1/1 0/0 0/0 .rodata @4164 */
@ -390,68 +209,120 @@ SECTION_RODATA static u8 const lit_4164[8] = {
};
COMPILER_STRIP_GATE(0x80C98058, &lit_4164);
/* 80C98074-80C98074 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C98074 = "MR-Chain";
#pragma pop
/* 80C98080-80C98084 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_chain__stringBase0;
/* 80C98084-80C980B4 000004 0030+00 1/1 0/0 0/0 .data
* l_offsetScissor$localstatic7$draw__18daObjMirrorChain_cFv */
SECTION_DATA static u8 data_80C98084[48] = {
0x44, 0xA3, 0x66, 0x66, 0x45, 0xB4, 0x1C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F, 0x45, 0x0F, 0x33, 0x33,
0x45, 0xB4, 0x1C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F, 0x45, 0x0F, 0x33, 0x33, 0x45, 0x95, 0x5C, 0xA4,
0xC6, 0xB3, 0xE1, 0x0F, 0x44, 0xA3, 0x66, 0x66, 0x45, 0x95, 0x5C, 0xA4, 0xC6, 0xB3, 0xE1, 0x0F,
};
/* 80C980B4-80C980D4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorChain_Method */
SECTION_DATA static void* l_daObjMirrorChain_Method[8] = {
(void*)daObjMirrorChain_Create__FP10fopAc_ac_c,
(void*)daObjMirrorChain_Delete__FP18daObjMirrorChain_c,
(void*)daObjMirrorChain_Execute__FP18daObjMirrorChain_c,
(void*)daObjMirrorChain_IsDelete__FP18daObjMirrorChain_c,
(void*)daObjMirrorChain_Draw__FP18daObjMirrorChain_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80C980D4-80C98104 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorChain */
SECTION_DATA extern void* g_profile_Obj_MirrorChain[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00B10000, (void*)&g_fpcLf_Method,
(void*)0x0000078C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02A90000, (void*)&l_daObjMirrorChain_Method,
(void*)0x00044000, (void*)0x000E0000,
};
/* 80C98104-80C98110 000084 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};
extern void* __vt__12J3DFrameCtrl[3];
/* 80C96E40-80C975A4 000820 0764+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorChain_cFv
*/
#ifdef NONMATCHING
// matches with literals
int daObjMirrorChain_c::createHeap() {
J3DModelData* model_data;
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 16);
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284);
J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 21);
mpBrkAnm = new mDoExt_brkAnm();
if (mpBrkAnm == NULL || !mpBrkAnm->init(model_data, brk_anm, 1, 2, 1.0f, 0, -1)) {
return 0;
}
} else {
model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 15);
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
mpBrkAnm = NULL;
}
if (mpModel == NULL) {
return 0;
}
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
J3DModelData* portal_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 12);
mpPortalModel = mDoExt_J3DModel__create(portal_model_data, 0, 0x11000084);
if (mpPortalModel == NULL) {
return 0;
}
J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9);
mpBckAnm = new mDoExt_bckAnm();
if (mpBckAnm == NULL
|| !mpBckAnm->init(bck_anm, 1, 2, 1.0f, 0, -1, false))
{
return 0;
}
mpBckAnm->setEndFrame(300);
J3DAnmTevRegKey* portal_brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 20);
mpPortalBrkAnm = new mDoExt_brkAnm();
if (mpPortalBrkAnm == NULL
|| !mpPortalBrkAnm->init(portal_model_data, portal_brk_anm, 1, 2, 1.0f, 0, -1))
{
return 0;
}
mpPortalBrkAnm->setFrame(portal_brk_anm->getFrameMax());
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 26);
if (mBgW[1].Set(dzb, 1, &mMtx)) {
return 0;
}
mBgW[0] = mBgW[1];
} else {
J3DAnmTransform* bck_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 8);
mpBckAnm = new mDoExt_bckAnm();
bool b = i_fopAcM_isSwitch(this, getSwitchNo())
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]);
f32 rate = b ? 1.0f : 0.0f;
if (mpBckAnm == NULL
|| !mpBckAnm->init(bck_anm, 1, 0, rate, 0, -1, false))
{
return 0;
}
if (i_fopAcM_isSwitch(this, getSwitchNo())
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]))
{
mpBckAnm->setFrame(bck_anm->getFrameMax());
}
J3DAnmTevRegKey* brk_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 19);
mpBrkAnm = new mDoExt_brkAnm();
if (mpBrkAnm == NULL
|| !mpBrkAnm->init(model_data, brk_anm, 1, 0, 1.0f, 0, -1))
{
return 0;
}
mpBrkAnm->setPlaySpeed(0.0f);
cBgD_t* dzb0 = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 24);
if (mBgW[0].Set(dzb0, 1, &mMtx)) {
return 0;
}
cBgD_t* dzb1 = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 25);
if (mBgW[1].Set(dzb1, 1, &mMtx)) {
return 0;
}
mpPortalModel = NULL;
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorChain_c::createHeap() {
asm int daObjMirrorChain_c::createHeap() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/createHeap__18daObjMirrorChain_cFv.s"
}
#pragma pop
#endif
/* 80C975A4-80C975EC 000F84 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__12J3DFrameCtrlFv.s"
}
@ -459,57 +330,100 @@ asm J3DFrameCtrl::~J3DFrameCtrl() {
/* 80C975EC-80C97618 000FCC 002C+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorChain_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorChain_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/initBaseMtx__18daObjMirrorChain_cFv.s"
void daObjMirrorChain_c::initBaseMtx() {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
setBaseMtx();
}
#pragma pop
/* 80C97618-80C97698 000FF8 0080+00 1/1 0/0 0/0 .text setBaseMtx__18daObjMirrorChain_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorChain_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/setBaseMtx__18daObjMirrorChain_cFv.s"
void daObjMirrorChain_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
if (mpPortalModel != NULL) {
mpPortalModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
MTXCopy(mDoMtx_stack_c::get(), mMtx);
mpActiveBgW->Move();
}
#pragma pop
/* 80C97698-80C976B8 001078 0020+00 1/0 0/0 0/0 .text
* daObjMirrorChain_Draw__FP18daObjMirrorChain_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorChain_Draw(daObjMirrorChain_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Draw__FP18daObjMirrorChain_c.s"
static int daObjMirrorChain_Draw(daObjMirrorChain_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 80C976B8-80C97968 001098 02B0+00 1/1 0/0 0/0 .text draw__18daObjMirrorChain_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorChain_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/draw__18daObjMirrorChain_cFv.s"
int daObjMirrorChain_c::draw() {
static f32 const SCISSOR_CENTER_X = 1799.2f;
static f32 const SCISSOR_CENTER_Y = 4779.58f;
static f32 const SCISSOR_CENTER_Z = -23024.53f;
static f32 const SCISSOR_SIZE = 984.0f;
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr);
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
g_env_light.setLightTevColorType_MAJI(mpPortalModel->mModelData, &mTevStr);
if (mpBckAnm != NULL) {
mpBckAnm->entry(mpPortalModel->getModelData());
}
if (mpBrkAnm != NULL) {
mpBrkAnm->entry(mpModel->getModelData());
}
if (mpPortalBrkAnm != NULL) {
mpPortalBrkAnm->entry(mpPortalModel->getModelData());
}
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
static Vec l_offsetScissor[4] = {
{SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z},
{SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y + SCISSOR_SIZE, SCISSOR_CENTER_Z},
{SCISSOR_CENTER_X + SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z},
{SCISSOR_CENTER_X - SCISSOR_SIZE / 2, SCISSOR_CENTER_Y, SCISSOR_CENTER_Z},
};
cXyz* quad = mScissorBegin.getQuad();
PSMTXMultVecArray(mpModel->getBaseTRMtx(), l_offsetScissor, quad, 4);
j3dSys.setDrawBuffer(dComIfGd_getXluListBG(), 0);
mScissorEnd.entryPacket();
mDoExt_modelUpdateDL(mpPortalModel);
mScissorBegin.entryPacket();
dComIfGd_setList();
if (mpBckAnm != NULL) {
mpBckAnm->remove(mpPortalModel->getModelData());
}
if (mpBrkAnm != NULL) {
mpBrkAnm->remove(mpModel->getModelData());
}
if (mpPortalBrkAnm != NULL) {
mpPortalBrkAnm->remove(mpPortalModel->getModelData());
}
} else {
if (mpBckAnm != NULL) {
mpBckAnm->entry(mpModel->getModelData());
}
if (mpBrkAnm != NULL) {
mpBrkAnm->entry(mpModel->getModelData());
}
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
if (mpBckAnm != NULL) {
mpBckAnm->remove(mpModel->getModelData());
}
if (mpBrkAnm != NULL) {
mpBrkAnm->remove(mpModel->getModelData());
}
}
return 1;
}
#pragma pop
/* 80C97968-80C97988 001348 0020+00 1/0 0/0 0/0 .text
* daObjMirrorChain_Execute__FP18daObjMirrorChain_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorChain_Execute(daObjMirrorChain_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Execute__FP18daObjMirrorChain_c.s"
static int daObjMirrorChain_Execute(daObjMirrorChain_c* i_this) {
return i_this->execute();
}
#pragma pop
// this should come automatically from the static data in draw() but it does not
/* ############################################################################################## */
/* 80C98060-80C98064 000038 0004+00 0/0 0/0 0/0 .rodata
@ -572,94 +486,143 @@ COMPILER_STRIP_GATE(0x80C98070, &lit_4494);
#pragma pop
/* 80C97988-80C97BA4 001368 021C+00 1/1 0/0 0/0 .text execute__18daObjMirrorChain_cFv */
#ifdef NONMATCHING
// matches with literals
int daObjMirrorChain_c::execute() {
if (mpBckAnm != NULL) {
mpBckAnm->play();
}
if (mpBrkAnm != NULL) {
mpBrkAnm->play();
}
if (mpPortalBrkAnm != NULL) {
mpPortalBrkAnm->play();
}
if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])
&& mpBckAnm != NULL && mpBckAnm->getPlaySpeed() > 0.0f) {
if (mpActiveBgW == &mBgW[0]) {
dComIfG_Bgsp().Release(&mBgW[0]);
dComIfG_Bgsp().Regist(&mBgW[1], this);
mpActiveBgW = &mBgW[1];
mpActiveBgW->Move();
}
if (mpEmitter == NULL) {
mpEmitter = dComIfGp_particle_set(0x8acc, &current.pos, &shape_angle, NULL);
cXyz pos;
mDoMtx_stack_c::copy(mpModel->i_getAnmMtx(1));
mDoMtx_stack_c::multVecZero(&pos);
Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_CHIN, &pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else {
cXyz pos;
mDoMtx_stack_c::copy(mpModel->i_getAnmMtx(26));
mDoMtx_stack_c::multVecZero(&pos);
mpEmitter->setGlobalTranslation(pos.x, pos.y, pos.z);
}
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorChain_c::execute() {
asm int daObjMirrorChain_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/execute__18daObjMirrorChain_cFv.s"
}
#pragma pop
#endif
/* 80C97BA4-80C97BAC 001584 0008+00 1/0 0/0 0/0 .text
* daObjMirrorChain_IsDelete__FP18daObjMirrorChain_c */
static bool daObjMirrorChain_IsDelete(daObjMirrorChain_c* param_0) {
return true;
static int daObjMirrorChain_IsDelete(daObjMirrorChain_c* i_this) {
return 1;
}
/* ############################################################################################## */
/* 80C98110-80C98124 000090 0014+00 3/3 0/0 0/0 .data __vt__20dScissorEnd_packet_c */
SECTION_DATA extern void* __vt__20dScissorEnd_packet_c[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__20dScissorEnd_packet_cFv,
(void*)__dt__20dScissorEnd_packet_cFv,
};
/* 80C98124-80C98138 0000A4 0014+00 3/3 0/0 0/0 .data __vt__22dScissorBegin_packet_c */
SECTION_DATA extern void* __vt__22dScissorBegin_packet_c[5] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)entry__9J3DPacketFP13J3DDrawBuffer,
(void*)draw__22dScissorBegin_packet_cFv,
(void*)__dt__22dScissorBegin_packet_cFv,
};
daObjMirrorChain_c::~daObjMirrorChain_c() {
if (mBgW[0].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[0]);
}
if (mBgW[1].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[1]);
}
dComIfG_resDelete(&mPhaseReq, l_arcName);
}
/* 80C97BAC-80C97CC4 00158C 0118+00 1/0 0/0 0/0 .text
* daObjMirrorChain_Delete__FP18daObjMirrorChain_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorChain_Delete(daObjMirrorChain_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Delete__FP18daObjMirrorChain_c.s"
static int daObjMirrorChain_Delete(daObjMirrorChain_c* i_this) {
fopAcM_GetID(i_this);
i_this->~daObjMirrorChain_c();
return 1;
}
#pragma pop
/* 80C97CC4-80C97D24 0016A4 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgW::~dBgW() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__4dBgWFv.s"
void daObjMirrorChain_c::create_init() {
if (mpBckAnm != NULL && !i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
mpBckAnm->setPlaySpeed(FLOAT_LABEL(lit_3917));
}
mpEmitter = NULL;
mBgW[0].SetCrrFunc(NULL);
mBgW[0].SetRoomId(fopAcM_GetRoomNo(this));
mBgW[1].SetCrrFunc(NULL);
mBgW[1].SetRoomId(fopAcM_GetRoomNo(this));
bool b = i_fopAcM_isSwitch(this, getSwitchNo())
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]);
mpActiveBgW = b ? &mBgW[1] : &mBgW[0];
dComIfG_Bgsp().Regist(mpActiveBgW, this);
initBaseMtx();
}
cPhs__Step daObjMirrorChain_c::create() {
fopAcM_SetupActor(this, daObjMirrorChain_c);
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
if (step == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x71b0)) {
return cPhs_ERROR_e;
}
create_init();
}
return step;
}
#pragma pop
/* 80C97D24-80C97F3C 001704 0218+00 1/0 0/0 0/0 .text daObjMirrorChain_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorChain_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/daObjMirrorChain_Create__FP10fopAc_ac_c.s"
}
#pragma pop
/* 80C97F3C-80C97F98 00191C 005C+00 1/0 0/0 0/0 .text __dt__20dScissorEnd_packet_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dScissorEnd_packet_c::~dScissorEnd_packet_c() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__20dScissorEnd_packet_cFv.s"
}
#pragma pop
/* 80C97F98-80C9801C 001978 0084+00 1/0 0/0 0/0 .text __dt__22dScissorBegin_packet_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dScissorBegin_packet_c::~dScissorBegin_packet_c() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_chain/d_a_obj_mirror_chain/__dt__22dScissorBegin_packet_cFv.s"
}
#pragma pop
/* 80C9801C-80C98020 0019FC 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
cXyz::cXyz() {
/* empty function */
static cPhs__Step daObjMirrorChain_Create(fopAc_ac_c* i_this) {
fopAcM_GetID(i_this);
return static_cast<daObjMirrorChain_c*>(i_this)->create();
}
/* 80C98074-80C98074 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80C980B4-80C980D4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorChain_Method */
static actor_method_class l_daObjMirrorChain_Method = {
(process_method_func)daObjMirrorChain_Create,
(process_method_func)daObjMirrorChain_Delete,
(process_method_func)daObjMirrorChain_Execute,
(process_method_func)daObjMirrorChain_IsDelete,
(process_method_func)daObjMirrorChain_Draw,
};
/* 80C980D4-80C98104 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorChain */
extern actor_process_profile_definition g_profile_Obj_MirrorChain = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_MirrorChain,
&g_fpcLf_Method.mBase,
sizeof(daObjMirrorChain_c),
0,
0,
&g_fopAc_Method.base,
0x2A9,
&l_daObjMirrorChain_Method,
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
/* 80C98104-80C98110 000084 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};

View File

@ -1,280 +1,22 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_mirror_screw
//
/**
* d_a_obj_mirror_screw.cpp
* Mirror Chamber Statue
*/
#include "rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct fopAc_ac_c {};
struct daObjMirrorScrew_c {
/* 80C98AD8 */ void initWait();
/* 80C98AE4 */ void executeWait();
/* 80C98C00 */ void initDown();
/* 80C98F04 */ void executeDown();
/* 80C992F4 */ void CreateHeap();
/* 80C99364 */ void Create();
/* 80C99490 */ void Execute(f32 (**)[3][4]);
/* 80C99608 */ void Draw();
/* 80C996AC */ void Delete();
static u8 const M_attr[24];
static u8 ActionTable[48];
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
/* 8006FB10 */ void StartQuake(int, int, cXyz);
/* 8006FD94 */ void StopQuake(int);
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 8003498C */ void onEventBit(u16);
/* 800349BC */ void isEventBit(u16) const;
};
struct dKy_tevstr_c {};
struct J3DModelData {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct dBgW {};
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
};
struct dBgS_MoveBgActor {
/* 80078624 */ dBgS_MoveBgActor();
/* 800786B0 */ bool IsDelete();
/* 800786B8 */ bool ToFore();
/* 800786C0 */ bool ToBack();
/* 800787BC */ void MoveBGCreate(char const*, int,
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*,
csXyz*, csXyz*),
u32, f32 (*)[3][4]);
/* 800788DC */ void MoveBGDelete();
/* 80078950 */ void MoveBGExecute();
};
struct JAISoundID {};
struct Vec {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J3DModel {};
//
// Forward References:
//
extern "C" void initWait__18daObjMirrorScrew_cFv();
extern "C" void executeWait__18daObjMirrorScrew_cFv();
extern "C" void initDown__18daObjMirrorScrew_cFv();
extern "C" void executeDown__18daObjMirrorScrew_cFv();
extern "C" static void daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c();
extern "C" static void daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c();
extern "C" static bool daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c();
extern "C" static void daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c();
extern "C" static void daObjMirrorScrew_Create__FP10fopAc_ac_c();
extern "C" void CreateHeap__18daObjMirrorScrew_cFv();
extern "C" void Create__18daObjMirrorScrew_cFv();
extern "C" void Execute__18daObjMirrorScrew_cFPPA3_A4_f();
extern "C" void Draw__18daObjMirrorScrew_cFv();
extern "C" void Delete__18daObjMirrorScrew_cFv();
extern "C" void __sinit_d_a_obj_mirror_screw_cpp();
extern "C" u8 const M_attr__18daObjMirrorScrew_c[24];
extern "C" extern char const* const d_a_obj_mirror_screw__stringBase0;
extern "C" u8 ActionTable__18daObjMirrorScrew_c[48];
//
// External References:
//
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
extern "C" void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs();
extern "C" void fpcSch_JudgeForPName__FPvPv();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void onEventBit__11dSv_event_cFUs();
extern "C" void isEventBit__11dSv_event_cCFUs();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void StartShock__12dVibration_cFii4cXyz();
extern "C" void StartQuake__12dVibration_cFii4cXyz();
extern "C" void StopQuake__12dVibration_cFi();
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void __ct__5csXyzFsss();
extern "C" void __ct__13cBgS_PolyInfoFv();
extern "C" void cLib_chaseF__FPfff();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void PSMTXCopy();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80C98AD8-80C98AE4 000078 000C+00 1/0 0/0 0/0 .text initWait__18daObjMirrorScrew_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::initWait() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initWait__18daObjMirrorScrew_cFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80C9975C-80C99774 000000 0018+00 3/3 0/0 0/0 .rodata M_attr__18daObjMirrorScrew_c */
SECTION_RODATA u8 const daObjMirrorScrew_c::M_attr[24] = {
0xC5, 0x29, 0x60, 0x00, 0x3F, 0x19, 0x99, 0x9A, 0x00, 0x00, 0x00, 0x2D,
0x00, 0x00, 0x00, 0x00, 0x40, 0xA0, 0x00, 0x00, 0xC0, 0x58, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C9975C, &daObjMirrorScrew_c::M_attr);
/* 80C99774-80C99778 000018 0004+00 0/1 0/0 0/0 .rodata @3680 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3680 = 4096.0f;
COMPILER_STRIP_GATE(0x80C99774, &lit_3680);
#pragma pop
/* 80C99778-80C9977C 00001C 0004+00 0/3 0/0 0/0 .rodata @3681 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3681[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80C99778, &lit_3681);
#pragma pop
/* 80C9977C-80C99784 000020 0004+04 0/3 0/0 0/0 .rodata @3682 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3682[1 + 1 /* padding */] = {
1.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x80C9977C, &lit_3682);
#pragma pop
/* 80C99784-80C9978C 000028 0008+00 0/1 0/0 0/0 .rodata @3684 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3684[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C99784, &lit_3684);
#pragma pop
/* 80C99794-80C99794 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C99794 = "MR-Screw";
#pragma pop
#include "JSystem/JKernel/JKRHeap.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
/* 80C997A0-80C997AC 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C997AC-80C997C0 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
@ -282,254 +24,274 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x3FE00000,
0x00000000,
};
#pragma pop
/* 80C997C0-80C997C4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_screw__stringBase0;
static char const* l_arcName = "MR-Screw";
/* 80C997C4-80C997D0 -00001 000C+00 0/1 0/0 0/0 .data @3648 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3648[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initWait__18daObjMirrorScrew_cFv,
/* 80C9975C-80C99774 000000 0018+00 3/3 0/0 0/0 .rodata M_attr__18daObjMirrorScrew_c */
daObjMirrorScrew_c::attr const daObjMirrorScrew_c::M_attr = {
-2710.0f, // mDownDist
0.6f, // mRotSpeedThreshold
45, // mSpinCount
0, // mResetSpinCount
5.0f, // mSpedStep
-3.375f, // mDownSpeed
};
#pragma pop
/* 80C997D0-80C997DC -00001 000C+00 0/1 0/0 0/0 .data @3649 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3649[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeWait__18daObjMirrorScrew_cFv,
};
#pragma pop
/* 80C997DC-80C997E8 -00001 000C+00 0/1 0/0 0/0 .data @3650 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3650[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)initDown__18daObjMirrorScrew_cFv,
};
#pragma pop
/* 80C997E8-80C997F4 -00001 000C+00 0/1 0/0 0/0 .data @3651 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3651[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)executeDown__18daObjMirrorScrew_cFv,
};
#pragma pop
/* 80C997F4-80C99824 000054 0030+00 2/3 0/0 0/0 .data ActionTable__18daObjMirrorScrew_c
*/
SECTION_DATA u8 daObjMirrorScrew_c::ActionTable[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
daObjMirrorScrew_actionFunc daObjMirrorScrew_c::ActionTable[2][2] = {
{
&initWait,
&executeWait,
},
{
&initDown,
&executeDown,
},
};
/* 80C98AD8-80C98AE4 000078 000C+00 1/0 0/0 0/0 .text initWait__18daObjMirrorScrew_cFv */
void daObjMirrorScrew_c::initWait() {
mSpinCount = 0;
}
/* 80C98AE4-80C98C00 000084 011C+00 1/0 0/0 0/0 .text executeWait__18daObjMirrorScrew_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::executeWait() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeWait__18daObjMirrorScrew_cFv.s"
void daObjMirrorScrew_c::executeWait() {
if (mpSwSpinner != NULL) {
if (mpSwSpinner->GetRotSpeedY() / 4096.0f > M_attr.mRotSpeedThreshold) {
mSpinCount++;
dComIfGp_getVibration().StartQuake(4, 0xf, cXyz(0.0f, 1.0f, 0.0f));
if (mSpinCount > M_attr.mSpinCount) {
setAction(ACT_DOWN);
}
} else {
mSpinCount = 0;
dComIfGp_getVibration().StopQuake(0x1f);
}
}
}
#pragma pop
/* ############################################################################################## */
/* 80C9978C-80C99790 000030 0004+00 0/2 0/0 0/0 .rodata @3746 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3746 = -1.0f;
COMPILER_STRIP_GATE(0x80C9978C, &lit_3746);
#pragma pop
/* 80C98C00-80C98F04 0001A0 0304+00 1/0 0/0 0/0 .text initDown__18daObjMirrorScrew_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::initDown() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/initDown__18daObjMirrorScrew_cFv.s"
void daObjMirrorScrew_c::initDown() {
speedF = 0.0f;
mSpinCount = M_attr.mResetSpinCount;
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[361]);
dComIfGp_getVibration().StartShock(8, 0xf, cXyz(0.0f, 1.0f, 0.0f));
dComIfGp_getVibration().StartQuake(6, 0xf, cXyz(0.0f, 1.0f, 0.0f));
Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_SCRW_ON, &current.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
fopAcM_orderMapToolEvent(this, getEventID(), 0xff, 0xffff, 1, 0);
cXyz pos(0.0f, 0.0f, 0.0f);
csXyz angle(0, 0, 0);
dComIfGp_particle_set(0x8aca, &pos, &angle, NULL);
dComIfGp_particle_set(0x8acb, &pos, &angle, NULL);
dComIfGp_particle_set(0x8ace, &pos, &angle, NULL);
dComIfGp_particle_set(0x8acf, &pos, &angle, NULL);
dComIfGp_particle_set(0x8ad0, &pos, &angle, NULL);
dComIfGp_particle_set(0x8ad1, &pos, &angle, NULL);
}
#pragma pop
/* ############################################################################################## */
/* 80C99790-80C99794 000034 0004+00 1/2 0/0 0/0 .rodata @3845 */
SECTION_RODATA static u32 const lit_3845 = 0x4524C1F0;
COMPILER_STRIP_GATE(0x80C99790, &lit_3845);
/* 80C98F04-80C99154 0004A4 0250+00 1/0 0/0 0/0 .text executeDown__18daObjMirrorScrew_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::executeDown() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/executeDown__18daObjMirrorScrew_cFv.s"
void daObjMirrorScrew_c::executeDown() {
dComIfG_inf_c* gameinfo = &g_dComIfG_gameInfo;
if (i_dComIfGp_event_runCheck()) {
daPy_py_c* player = daPy_getPlayerActorClass();
player->i_changeOriginalDemo();
player->i_changeDemoMode(0xe, 1, 0, 0);
}
if (mSpinCount >= 0) {
mSpinCount--;
if (mSpinCount <= 0) {
if (mpChain != NULL) {
mpChain->setAnmSpeed(1.0f);
}
if (mpTable != NULL) {
mpTable->setAnmSpeed(1.0f);
}
if (mp6Pole != NULL) {
mp6Pole->setAnmSpeed(1.0f);
}
if (mpSand != NULL) {
mpSand->setAnmSpeed(1.0f);
}
}
}
cLib_chaseF(&speedF, M_attr.mDownSpeed, M_attr.mSpeedStep);
current.pos.y += speedF;
mpSwSpinner->current.pos = cXyz(current.pos.x, current.pos.y + 2636.121f, current.pos.z);
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MR_SCRW_MV, &current.pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
if (current.pos.y <= orig.pos.y + M_attr.mDownDist) {
current.pos.y = orig.pos.y + M_attr.mDownDist;
// fake match: these should be dComIfGp_getVibration()
gameinfo->play.getVibration().StartShock(8, 0xf, cXyz(0.0f, 1.0f, 0.0f));
gameinfo->play.getVibration().StopQuake(0x1f);
Z2GetAudioMgr()->seStart(Z2SE_OBJ_MR_SCRW_OFF, &current.pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
u8 sw = getSwitchNo();
if (sw != 0xff) {
i_fopAcM_onSwitch(this, sw);
}
fopAcM_delete(this);
}
}
#pragma pop
/* 80C99154-80C99180 0006F4 002C+00 1/0 0/0 0/0 .text
* daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorScrew_Draw(daObjMirrorScrew_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c.s"
static int daObjMirrorScrew_Draw(daObjMirrorScrew_c* i_this) {
return i_this->Draw();
}
#pragma pop
/* 80C99180-80C991A0 000720 0020+00 1/0 0/0 0/0 .text
* daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorScrew_Execute(daObjMirrorScrew_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c.s"
static int daObjMirrorScrew_Execute(daObjMirrorScrew_c* i_this) {
return i_this->MoveBGExecute();
}
#pragma pop
/* 80C991A0-80C991A8 000740 0008+00 1/0 0/0 0/0 .text
* daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c */
static bool daObjMirrorScrew_IsDelete(daObjMirrorScrew_c* param_0) {
return true;
static int daObjMirrorScrew_IsDelete(daObjMirrorScrew_c* i_this) {
return 1;
}
/* 80C991A8-80C991CC 000748 0024+00 1/0 0/0 0/0 .text
* daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorScrew_Delete(daObjMirrorScrew_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c.s"
static int daObjMirrorScrew_Delete(daObjMirrorScrew_c* i_this) {
i_this->MoveBGDelete();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80C99824-80C99844 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorScrew_Method */
SECTION_DATA static void* l_daObjMirrorScrew_Method[8] = {
(void*)daObjMirrorScrew_Create__FP10fopAc_ac_c,
(void*)daObjMirrorScrew_Delete__FP18daObjMirrorScrew_c,
(void*)daObjMirrorScrew_Execute__FP18daObjMirrorScrew_c,
(void*)daObjMirrorScrew_IsDelete__FP18daObjMirrorScrew_c,
(void*)daObjMirrorScrew_Draw__FP18daObjMirrorScrew_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80C99844-80C99874 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorScrew */
SECTION_DATA extern void* g_profile_Obj_MirrorScrew[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00AE0000, (void*)&g_fpcLf_Method,
(void*)0x000005E8, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02A60000, (void*)&l_daObjMirrorScrew_Method,
(void*)0x00040000, (void*)0x000E0000,
};
/* 80C99874-80C9989C 0000D4 0028+00 1/1 0/0 0/0 .data __vt__18daObjMirrorScrew_c */
SECTION_DATA extern void* __vt__18daObjMirrorScrew_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__18daObjMirrorScrew_cFv,
(void*)Create__18daObjMirrorScrew_cFv,
(void*)Execute__18daObjMirrorScrew_cFPPA3_A4_f,
(void*)Draw__18daObjMirrorScrew_cFv,
(void*)Delete__18daObjMirrorScrew_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
cPhs__Step daObjMirrorScrew_c::create() {
fopAcM_SetupActor(this, daObjMirrorScrew_c);
if (i_fopAcM_isSwitch(this, getSwitchNo())
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]))
{
return cPhs_ERROR_e;
}
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
if (step == cPhs_COMPLEATE_e) {
step = (cPhs__Step)MoveBGCreate(l_arcName, 7, dBgS_MoveBGProc_TypicalRotY, 0xc760, NULL);
if (step == cPhs_ERROR_e) {
return step;
}
}
return step;
}
/* 80C991CC-80C992F4 00076C 0128+00 1/0 0/0 0/0 .text daObjMirrorScrew_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorScrew_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/daObjMirrorScrew_Create__FP10fopAc_ac_c.s"
static cPhs__Step daObjMirrorScrew_Create(fopAc_ac_c* i_this) {
fopAcM_GetID(i_this);
return static_cast<daObjMirrorScrew_c*>(i_this)->create();
}
#pragma pop
/* 80C992F4-80C99364 000894 0070+00 1/0 0/0 0/0 .text CreateHeap__18daObjMirrorScrew_cFv
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/CreateHeap__18daObjMirrorScrew_cFv.s"
int daObjMirrorScrew_c::CreateHeap() {
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
return mpModel == NULL ? 0 : 1;
}
void daObjMirrorScrew_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
void daObjMirrorScrew_c::initBaseMtx() {
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
setBaseMtx();
}
#pragma pop
/* 80C99364-80C99490 000904 012C+00 1/0 0/0 0/0 .text Create__18daObjMirrorScrew_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Create__18daObjMirrorScrew_cFv.s"
int daObjMirrorScrew_c::Create() {
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
initBaseMtx();
cXyz pos(current.pos.x, current.pos.y + 2636.121f, current.pos.z);
fopAcM_createChild(PROC_Obj_SwSpinner, fopAcM_GetID(this), getSwitchNo() << 8, &pos,
fopAcM_GetRoomNo(this), NULL, NULL, -1, NULL);
mpSwSpinner = NULL;
mpSpPath = NULL;
mpChain = NULL;
mpTable = NULL;
mp6Pole = NULL;
mpSand = NULL;
setAction(ACT_WAIT);
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80C99490-80C99608 000A30 0178+00 1/0 0/0 0/0 .text Execute__18daObjMirrorScrew_cFPPA3_A4_f */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::Execute(f32 (**param_0)[3][4]) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Execute__18daObjMirrorScrew_cFPPA3_A4_f.s"
int daObjMirrorScrew_c::Execute(Mtx** i_mtxP) {
if (mpSwSpinner == NULL) {
mpSwSpinner = static_cast<daObjSwSpinner_c*>(i_fopAcM_SearchByName(PROC_Obj_SwSpinner));
}
if (mpSpPath == NULL) {
mpSpPath = static_cast<daTagSppath_c*>(i_fopAcM_SearchByName(PROC_Tag_Sppath));
}
if (mpChain == NULL) {
mpChain = static_cast<daObjMirrorChain_c*>(i_fopAcM_SearchByName(PROC_Obj_MirrorChain));
}
if (mpTable == NULL) {
mpTable = static_cast<daObjMirrorTable_c*>(i_fopAcM_SearchByName(PROC_Obj_MirrorTable));
}
if (mp6Pole == NULL) {
mp6Pole = static_cast<daObjMirror6Pole_c*>(i_fopAcM_SearchByName(PROC_Obj_Mirror6Pole));
}
if (mpSand == NULL) {
mpSand = static_cast<daObjMirrorSand_c*>(i_fopAcM_SearchByName(PROC_Obj_MirrorSand));
}
callExecute();
setBaseMtx();
*i_mtxP = &mBgMtx;
return 1;
}
#pragma pop
/* 80C99608-80C996AC 000BA8 00A4+00 1/0 0/0 0/0 .text Draw__18daObjMirrorScrew_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::Draw() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Draw__18daObjMirrorScrew_cFv.s"
int daObjMirrorScrew_c::Draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpModel->mModelData, &mTevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpModel);
dComIfGd_setList();
return 1;
}
#pragma pop
/* 80C996AC-80C996E0 000C4C 0034+00 1/0 0/0 0/0 .text Delete__18daObjMirrorScrew_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorScrew_c::Delete() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/Delete__18daObjMirrorScrew_cFv.s"
int daObjMirrorScrew_c::Delete() {
dComIfG_resDelete(&mPhaseReq, l_arcName);
return 1;
}
#pragma pop
/* 80C996E0-80C99750 000C80 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_mirror_screw_cpp */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_obj_mirror_screw_cpp() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_screw/d_a_obj_mirror_screw/__sinit_d_a_obj_mirror_screw_cpp.s"
}
#pragma pop
/* 80C99824-80C99844 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorScrew_Method */
static actor_method_class l_daObjMirrorScrew_Method = {
(process_method_func)daObjMirrorScrew_Create,
(process_method_func)daObjMirrorScrew_Delete,
(process_method_func)daObjMirrorScrew_Execute,
(process_method_func)daObjMirrorScrew_IsDelete,
(process_method_func)daObjMirrorScrew_Draw,
};
#pragma push
#pragma force_active on
REGISTER_CTORS(0x80C996E0, __sinit_d_a_obj_mirror_screw_cpp);
#pragma pop
/* 80C99794-80C99794 000038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80C99844-80C99874 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorScrew */
extern actor_process_profile_definition g_profile_Obj_MirrorScrew = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_MirrorScrew,
&g_fpcLf_Method.mBase,
sizeof(daObjMirrorScrew_c),
0,
0,
&g_fopAc_Method.base,
0x2A6,
&l_daObjMirrorScrew_Method,
0x40000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};

View File

@ -1,165 +1,16 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_mirror_table
//
/**
* d_a_obj_mirror_table.cpp
* Mirror Chamber Pedestal & Mirror
*/
#include "rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h"
#include "rel/d/a/d_a_mirror/d_a_mirror.h"
#include "JSystem/JKernel/JKRHeap.h"
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_procname.h"
#include "dol2asm.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {
/* 802673F4 */ csXyz(s16, s16, s16);
};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CCC8 */ void push();
/* 8000CD14 */ void pop();
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct J3DAnmTextureSRTKey {};
struct J3DAnmTevRegKey {};
struct J3DMaterialTable {
/* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*);
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
};
struct mDoExt_btkAnm {
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
};
struct mDoExt_brkAnm {
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
};
struct J3DModelData {};
struct J3DAnmTransform {};
struct mDoExt_bckAnm {
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
/* 8000D9CC */ void entry(J3DModelData*, f32);
};
struct mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct daObjMirrorTable_c {
/* 80C99938 */ void createHeap();
/* 80C99F7C */ void isSwitch();
/* 80C9A298 */ void draw();
/* 80C9A4D0 */ void execute();
/* 80C9AB30 */ void create();
/* 80C9ABFC */ void create_init();
/* 80C9AFD0 */ void initBaseMtx();
};
struct dSv_memBit_c {
/* 80034810 */ void onSwitch(int);
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dKy_tevstr_c {};
struct dScnKy_env_light_c {
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct dPa_levelEcallBack {};
struct _GXColor {};
struct dPa_control_c {
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct dBgW_Base {};
struct dBgW {
/* 8007B970 */ dBgW();
/* 8007B9C0 */ void Move();
/* 80C9AAB0 */ ~dBgW();
};
struct dBgS {
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
};
struct cBgW_BgId {
/* 802681D4 */ void ChkUsed() const;
};
struct cBgD_t {};
struct cBgW {
/* 8007933C */ ~cBgW();
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
};
struct cBgS {
/* 80074250 */ void Release(dBgW_Base*);
};
struct JAISoundID {};
struct Vec {};
struct Z2SeMgr {
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct J3DModel {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 80C99F34 */ ~J3DFrameCtrl();
};
//
// Forward References:
//
@ -230,9 +81,6 @@ extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void removeTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXInverse();
extern "C" void PSMTXMultVec();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_25();
@ -241,43 +89,23 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_26();
extern "C" void _restgpr_29();
extern "C" void strcmp();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
extern "C" extern void* __vt__4dBgW[65];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" extern u8 g_env_light[4880];
extern "C" extern u8 j3dSys[284];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
// Declarations:
//
/* 80C99918-80C99938 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void createSolidHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createSolidHeap__FP10fopAc_ac_c.s"
}
#pragma pop
/* 80C9B2A4-80C9B2A8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
static char const* l_arcName = "MR-Table";
/* ############################################################################################## */
/* 80C9B244-80C9B250 000000 000C+00 3/3 0/0 0/0 .rodata l_minPos */
SECTION_RODATA static u8 const l_minPos[12] = {
0x44, 0xD1, 0x05, 0xDB, 0x45, 0x90, 0x2D, 0x0A, 0xC6, 0xA4, 0x2B, 0x96,
};
COMPILER_STRIP_GATE(0x80C9B244, &l_minPos);
static Vec const l_minPos = {1672.183f, 4613.6299f, -21013.793f};
/* 80C9B250-80C9B25C 00000C 000C+00 1/1 0/0 0/0 .rodata l_maxPos */
SECTION_RODATA static u8 const l_maxPos[12] = {
0x44, 0xF0, 0xC6, 0xF2, 0x45, 0x90, 0x2D, 0x0A, 0xC6, 0xA3, 0x05, 0xF0,
};
COMPILER_STRIP_GATE(0x80C9B250, &l_maxPos);
static Vec const l_maxPos = {1926.217f, 4613.6299f, -20866.969f};
/* 80C9B25C-80C9B260 000018 0004+00 2/4 0/0 0/0 .rodata @3850 */
SECTION_RODATA static f32 const lit_3850 = 1.0f;
@ -298,128 +126,306 @@ SECTION_RODATA static u8 const lit_3853[8] = {
};
COMPILER_STRIP_GATE(0x80C9B264, &lit_3853);
/* 80C9B290-80C9B290 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C9B290 = "MR-Table";
#pragma pop
/* 80C99918-80C99938 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
static int createSolidHeap(fopAc_ac_c* i_this) {
return static_cast<daObjMirrorTable_c*>(i_this)->createHeap();
}
/* 80C9B2A4-80C9B2A8 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_table__stringBase0;
/* 80C9B2A8-80C9B2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorTable_Method */
SECTION_DATA static void* l_daObjMirrorTable_Method[8] = {
(void*)daObjMirrorTable_Create__FP10fopAc_ac_c,
(void*)daObjMirrorTable_Delete__FP18daObjMirrorTable_c,
(void*)daObjMirrorTable_Execute__FP18daObjMirrorTable_c,
(void*)daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c,
(void*)daObjMirrorTable_Draw__FP18daObjMirrorTable_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80C9B2C8-80C9B2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorTable */
SECTION_DATA extern void* g_profile_Obj_MirrorTable[12] = {
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
(void*)0x00B00000, (void*)&g_fpcLf_Method,
(void*)0x00000878, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02A80000, (void*)&l_daObjMirrorTable_Method,
(void*)0x00044000, (void*)0x000E0000,
};
/* 80C9B2F8-80C9B304 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};
extern void* __vt__12J3DFrameCtrl[3];
/* 80C99938-80C99F34 000098 05FC+00 1/1 0/0 0/0 .text createHeap__18daObjMirrorTable_cFv
*/
#ifdef NONMATCHING
int daObjMirrorTable_c::createHeap() {
J3DModelData* table_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 21);
mpTableModel = mDoExt_J3DModel__create(table_model_data, 0x80000, 0x11000084);
if (mpTableModel == NULL) {
return 0;
}
int mirror_res_id = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 13 : 14;
J3DModelData* mirror_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, mirror_res_id);
mpMirrorModel = mDoExt_J3DModel__create(mirror_model_data, 0, 0x11000084);
if (mpMirrorModel == NULL) {
return 0;
}
J3DAnmTransform* table_up_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 10);
mpTableUpBckAnm = new mDoExt_bckAnm();
f32 rate = isSwitch() ? 1.0f : 0.0f;
if (mpTableUpBckAnm == NULL || !mpTableUpBckAnm->init(table_up_anm, 1, 0, rate, 0, -1, false)) {
return 0;
}
if (isSwitch()) {
mpTableUpBckAnm->setFrame(table_up_anm->getFrameMax());
}
cBgD_t* table_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 34);
if (mBgW[0].Set(table_dzb, 1, &mMtx[0])) {
return 0;
}
int mirror_dzb_id = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]) ? 31 : 32;
cBgD_t* mirror_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, mirror_dzb_id);
if (mBgW[1].Set(mirror_dzb, 1, &mMtx[1])) {
return 0;
}
mpStairModel = NULL;
mpPanelModel = NULL;
mpLightModel = NULL;
mpMSquareModel = NULL;
mpStairBrkAnm = NULL;
mpMSquareBrkAnm = NULL;
mpMSquareBckAnm = NULL;
mpLightBtkAnm = NULL;
if (i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
J3DModelData* stair_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 20);
mpStairModel = mDoExt_J3DModel__create(stair_model_data, 0x80000, 0x11000084);
J3DAnmTevRegKey* stair_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 25);
mpStairBrkAnm = new mDoExt_brkAnm();
if (mpStairBrkAnm == NULL ||
!mpStairBrkAnm->init(stair_model_data, stair_anm, 1, 0, 1.0f, 0, -1))
{
return 0;
}
cBgD_t* stair_dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 33);
if (mBgW[2].Set(stair_dzb, 1, &mMtx[2])) {
return 0;
}
J3DModelData* panel_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 19);
mpPanelModel = mDoExt_J3DModel__create(panel_model_data, 0x80000, 0x11000084);
J3DModelData* light_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 17);
mpLightModel = mDoExt_J3DModel__create(light_model_data, 0x80000, 0x11000284);
J3DAnmTextureSRTKey* light_anm = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, 28);
mpLightBtkAnm = new mDoExt_btkAnm();
if (mpLightBtkAnm == NULL ||
!mpLightBtkAnm->init(light_model_data, light_anm, 1, 0, 1.0f, 0, -1))
{
return 0;
}
J3DModelData* msquare_model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 18);
mpMSquareModel = mDoExt_J3DModel__create(msquare_model_data, 0x80000, 0x11000084);
J3DAnmTevRegKey* msquare_tev_anm = (J3DAnmTevRegKey*)dComIfG_getObjectRes(l_arcName, 24);
mpMSquareBrkAnm = new mDoExt_brkAnm();
if (mpMSquareBrkAnm == NULL ||
!mpMSquareBrkAnm->init(msquare_model_data, msquare_tev_anm, 1, 0, 1.0f, 0, -1))
{
return 0;
}
J3DAnmTransform* msquare_anm = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 9);
mpMSquareBckAnm = new mDoExt_bckAnm();
if (mpMSquareBckAnm == NULL ||
!mpMSquareBckAnm->init(msquare_anm, 1, 0, 1.0f, 0, -1, false))
{
return 0;
}
}
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorTable_c::createHeap() {
asm int daObjMirrorTable_c::createHeap() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/createHeap__18daObjMirrorTable_cFv.s"
}
#pragma pop
#endif
/* 80C99F34-80C99F7C 000694 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm J3DFrameCtrl::~J3DFrameCtrl() {
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__12J3DFrameCtrlFv.s"
}
#pragma pop
/* 80C99F7C-80C9A040 0006DC 00C4+00 1/1 0/0 0/0 .text isSwitch__18daObjMirrorTable_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorTable_c::isSwitch() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/isSwitch__18daObjMirrorTable_cFv.s"
bool daObjMirrorTable_c::isSwitch() {
return i_fopAcM_isSwitch(this, getSwitchNo())
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361])
|| i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])
? 1 : 0;
}
void daObjMirrorTable_c::checkOnPanel() {
daPy_py_c* player = daPy_getPlayerActorClass();
cXyz rel_pos;
mDoMtx_stack_c::copy(mpPanelModel->getBaseTRMtx());
mDoMtx_stack_c::inverse();
if (daPy_py_c::i_checkNowWolf()) {
for (int i = 0; i < 4; i++) {
cXyz* pos;
switch (i) {
case 0:
pos = player->getLeftHandPosP();
break;
case 1:
pos = player->getRightHandPosP();
break;
case 2:
pos = player->i_getLeftFootPosP();
break;
case 3:
pos = player->i_getRightFootPosP();
break;
}
mDoMtx_stack_c::push();
mDoMtx_stack_c::multVec(pos, &rel_pos);
mDoMtx_stack_c::pop();
if (rel_pos.x >= l_minPos.x && rel_pos.x <= l_maxPos.x
&& rel_pos.z >= l_minPos.z && rel_pos.z <= l_maxPos.z)
{
field_0x875 = 15;
break;
}
}
} else {
for (int i = 0; i < 2; i++) {
cXyz* pos;
if (i == 0) {
pos = player->i_getLeftFootPosP();
} else {
pos = player->i_getRightFootPosP();
}
mDoMtx_stack_c::push();
mDoMtx_stack_c::multVec(pos, &rel_pos);
mDoMtx_stack_c::pop();
if (rel_pos.x >= l_minPos.x && rel_pos.x <= l_maxPos.x
&& rel_pos.z >= l_minPos.z && rel_pos.z <= l_maxPos.z)
{
field_0x875 = 15;
break;
}
}
}
}
#pragma pop
/* 80C9A040-80C9A260 0007A0 0220+00 1/1 0/0 0/0 .text
* rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void rideCallBack1(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack1__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s"
static void rideCallBack1(dBgW* i_bgW, fopAc_ac_c* i_this, fopAc_ac_c* i_actor) {
if (fopAcM_GetName(i_actor) == PROC_ALINK) {
static_cast<daObjMirrorTable_c*>(i_this)->checkOnPanel();
}
}
#pragma pop
/* 80C9A260-80C9A278 0009C0 0018+00 1/1 0/0 0/0 .text
* rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void rideCallBack2(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/rideCallBack2__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c.s"
static void rideCallBack2(dBgW* i_bgW, fopAc_ac_c* i_this, fopAc_ac_c* i_actor) {
if (fopAcM_GetName(i_actor) == PROC_ALINK) {
static_cast<daObjMirrorTable_c*>(i_this)->field_0x875 = 15;
}
}
#pragma pop
/* 80C9A278-80C9A298 0009D8 0020+00 1/0 0/0 0/0 .text
* daObjMirrorTable_Draw__FP18daObjMirrorTable_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorTable_Draw(daObjMirrorTable_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Draw__FP18daObjMirrorTable_c.s"
static int daObjMirrorTable_Draw(daObjMirrorTable_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 80C9A298-80C9A4B0 0009F8 0218+00 1/1 0/0 0/0 .text draw__18daObjMirrorTable_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorTable_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/draw__18daObjMirrorTable_cFv.s"
int daObjMirrorTable_c::draw() {
g_env_light.settingTevStruct(0x10, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpTableModel->mModelData, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpMirrorModel->mModelData, &mTevStr);
if (mpStairModel != NULL) {
g_env_light.setLightTevColorType_MAJI(mpStairModel->mModelData, &mTevStr);
}
mpTableUpBckAnm->entry(mpTableModel->getModelData());
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mpTableModel);
mDoExt_modelUpdateDL(mpMirrorModel);
if (mpStairModel != NULL) {
mpStairBrkAnm->entry(mpStairModel->getModelData());
mDoExt_modelUpdateDL(mpStairModel);
mpStairBrkAnm->remove(mpStairModel->getModelData());
}
if (mpPanelModel != NULL) {
mDoExt_modelUpdateDL(mpPanelModel);
}
if (field_0x874) {
if (mpLightModel != NULL) {
mpLightBtkAnm->entry(mpLightModel->getModelData());
mDoExt_modelUpdateDL(mpLightModel);
mpLightBtkAnm->remove(mpLightModel->getModelData());
}
if (mpMSquareModel != NULL) {
mpMSquareBckAnm->entry(mpMSquareModel->getModelData());
mpMSquareBrkAnm->entry(mpMSquareModel->getModelData());
mDoExt_modelUpdateDL(mpMSquareModel);
mpMSquareBckAnm->remove(mpMSquareModel->getModelData());
mpMSquareBrkAnm->remove(mpMSquareModel->getModelData());
}
}
dComIfGd_setList();
mpTableUpBckAnm->remove(mpTableModel->getModelData());
return 1;
}
void daObjMirrorTable_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mpTableModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
if (mpStairModel != NULL) {
mpStairModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
if (mpPanelModel != NULL) {
mpPanelModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
if (mpLightModel != NULL) {
mpLightModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
if (mpMSquareModel != NULL) {
mpMSquareModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
if (mBgW[0].ChkUsed()) {
MTXCopy(mDoMtx_stack_c::get(), mMtx[0]);
mBgW[0].Move();
}
if (mBgW[2].ChkUsed()) {
MTXCopy(mDoMtx_stack_c::get(), mMtx[2]);
mBgW[2].Move();
}
mDoMtx_stack_c::copy(mpTableModel->i_getAnmMtx(1));
mpMirrorModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
if (mBgW[0].ChkUsed()) {
MTXCopy(mDoMtx_stack_c::get(), mMtx[1]);
mBgW[1].Move();
}
if (mpEmitter1 != NULL) {
cXyz pos;
mDoMtx_stack_c::multVecZero(&pos);
mpEmitter1->setGlobalTranslation(pos.x, pos.y, pos.z);
if (field_0x874) {
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_LIGHT, &pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
} else {
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_LIGHT_S, &pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
}
}
#pragma pop
/* 80C9A4B0-80C9A4D0 000C10 0020+00 1/0 0/0 0/0 .text
* daObjMirrorTable_Execute__FP18daObjMirrorTable_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorTable_Execute(daObjMirrorTable_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Execute__FP18daObjMirrorTable_c.s"
static int daObjMirrorTable_Execute(daObjMirrorTable_c* i_this) {
return i_this->execute();
}
#pragma pop
/* ############################################################################################## */
/* 80C9B26C-80C9B270 000028 0004+00 1/2 0/0 0/0 .rodata @4350 */
@ -455,61 +461,112 @@ COMPILER_STRIP_GATE(0x80C9B27C, &lit_4354);
#pragma pop
/* 80C9A4D0-80C9A9D4 000C30 0504+00 1/1 0/0 0/0 .text execute__18daObjMirrorTable_cFv */
#ifdef NONMATCHING
// isStop regalloc
int daObjMirrorTable_c::execute() {
mpTableUpBckAnm->play();
if (!mpTableUpBckAnm->isStop()) {
cXyz pos;
mDoMtx_stack_c::copy(mpTableModel->i_getAnmMtx(0));
mDoMtx_stack_c::multVecZero(&pos);
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MR_TBLE, &pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) {
if (!mBgW[0].ChkUsed() && mpTableUpBckAnm->getPlaySpeed() > 0.0f) {
dComIfG_Bgsp().Regist(&mBgW[0], this);
dComIfG_Bgsp().Regist(&mBgW[1], this);
}
} else {
dComIfGs_onSaveSwitch(0x79);
cXyz pos(1800.0f, 4700.0f, -21320.0f);
if (field_0x875 > 0) {
mpStairBrkAnm->setPlaySpeed(1.0f);
if (!mBgW[2].ChkUsed()) {
dComIfG_Bgsp().Regist(&mBgW[2], this);
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_ON, &pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
} else {
mpStairBrkAnm->setPlaySpeed(-1.0f);
if (mBgW[2].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[2]);
Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MIRROR_STAIR_OFF, &pos,
0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
}
}
u8 alpha = (mpStairBrkAnm->getFrame() * 255.0f) / mpStairBrkAnm->getEndFrame();
mpEmitter2->setGlobalAlpha(alpha);
mpStairBrkAnm->play();
if (field_0x874) {
mpMSquareBrkAnm->play();
mpMSquareBckAnm->play();
mpLightBtkAnm->play();
}
cLib_calcTimer(&field_0x875);
}
setBaseMtx();
return 1;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorTable_c::execute() {
asm int daObjMirrorTable_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/execute__18daObjMirrorTable_cFv.s"
}
#pragma pop
#endif
/* 80C9A9D4-80C9A9DC 001134 0008+00 1/0 0/0 0/0 .text
* daObjMirrorTable_IsDelete__FP18daObjMirrorTable_c */
static bool daObjMirrorTable_IsDelete(daObjMirrorTable_c* param_0) {
return true;
static int daObjMirrorTable_IsDelete(daObjMirrorTable_c* i_this) {
return 1;
}
daObjMirrorTable_c::~daObjMirrorTable_c() {
if (mBgW[0].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[0]);
}
if (mBgW[1].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[1]);
}
if (mBgW[2].ChkUsed()) {
dComIfG_Bgsp().Release(&mBgW[2]);
}
dComIfG_resDelete(&mPhaseReq, l_arcName);
}
/* 80C9A9DC-80C9AAB0 00113C 00D4+00 1/0 0/0 0/0 .text
* daObjMirrorTable_Delete__FP18daObjMirrorTable_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorTable_Delete(daObjMirrorTable_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Delete__FP18daObjMirrorTable_c.s"
static int daObjMirrorTable_Delete(daObjMirrorTable_c* i_this) {
i_this->~daObjMirrorTable_c();
return 1;
}
#pragma pop
/* 80C9AAB0-80C9AB10 001210 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgW::~dBgW() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/__dt__4dBgWFv.s"
}
#pragma pop
/* 80C9AB10-80C9AB30 001270 0020+00 1/0 0/0 0/0 .text daObjMirrorTable_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjMirrorTable_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/daObjMirrorTable_Create__FP10fopAc_ac_c.s"
static cPhs__Step daObjMirrorTable_Create(fopAc_ac_c* i_this) {
return static_cast<daObjMirrorTable_c*>(i_this)->create();
}
#pragma pop
/* 80C9AB30-80C9ABFC 001290 00CC+00 1/1 0/0 0/0 .text create__18daObjMirrorTable_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjMirrorTable_c::create() {
nofralloc
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create__18daObjMirrorTable_cFv.s"
cPhs__Step daObjMirrorTable_c::create() {
fopAcM_SetupActor(this, daObjMirrorTable_c);
cPhs__Step step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName);
if (step == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0xdb50)) {
return cPhs_ERROR_e;
}
create_init();
}
return step;
}
#pragma pop
/* ############################################################################################## */
/* 80C9B280-80C9B284 00003C 0004+00 0/1 0/0 0/0 .rodata @4509 */
@ -548,6 +605,60 @@ SECTION_DEAD static char const* const stringBase_80C9B299 = "F_SP125";
/* 80C9ABFC-80C9AFD0 00135C 03D4+00 1/1 0/0 0/0 .text create_init__18daObjMirrorTable_cFv
*/
#ifdef NONMATCHING
// matches with literals once isSwitch is properly inlined
void daObjMirrorTable_c::create_init() {
bool mirror_complete_flag = i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
mpTableUpBckAnm->setPlaySpeed(0.0f);
mBgW[0].SetCrrFunc(NULL);
mBgW[0].SetRoomId(fopAcM_GetRoomNo(this));
if (isSwitch()) {
dComIfG_Bgsp().Regist(&mBgW[0], this);
}
mBgW[1].SetCrrFunc(NULL);
mBgW[1].SetRoomId(fopAcM_GetRoomNo(this));
if (isSwitch()) {
dComIfG_Bgsp().Regist(&mBgW[1], this);
}
if (mirror_complete_flag) {
mBgW[2].SetCrrFunc(NULL);
mBgW[2].SetRoomId(fopAcM_GetRoomNo(this));
mBgW[2].SetRideCallback(rideCallBack2);
mBgW[0].SetRideCallback(rideCallBack1);
if (!strcmp(dComIfGp_getStartStageName(), "F_SP125")
&& dComIfGp_getStartStagePoint() == 4) {
field_0x875 = 100;
mpStairBrkAnm->setFrame(mpStairBrkAnm->getEndFrame());
dComIfG_Bgsp().Regist(&mBgW[2], this);
} else {
field_0x875 = 0;
}
}
initBaseMtx();
if (mirror_complete_flag) {
cXyz pos(0.0f, 0.0f, 0.0f);
csXyz angle(0, 0, 0);
mpEmitter1 = dComIfGp_particle_set(0x8aa1, &pos, &angle, NULL);
mpEmitter2 = dComIfGp_particle_set(0x8aa2, &current.pos, &shape_angle, NULL);
}
field_0x874 = false;
if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])
&& i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]))
{
cXyz pos(1760.0f, 4714.3f, -20624.0f);
csXyz angle(0, 0x8000, 0);
cXyz scale(1.35f, 1.35f, 1.0f);
fopAcM_create(PROC_MIRROR, daMirror_c::getMirrorRoomPrm(),
&pos, current.roomNo, &angle, &scale, 0xff);
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -556,9 +667,18 @@ asm void daObjMirrorTable_c::create_init() {
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/create_init__18daObjMirrorTable_cFv.s"
}
#pragma pop
#endif
/* 80C9AFD0-80C9B220 001730 0250+00 1/1 0/0 0/0 .text initBaseMtx__18daObjMirrorTable_cFv
*/
#ifdef NONMATCHING
// matches with literals
void daObjMirrorTable_c::initBaseMtx() {
fopAcM_SetMtx(this, mpTableModel->getBaseTRMtx());
mpTableUpBckAnm->play();
setBaseMtx();
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -567,6 +687,7 @@ asm void daObjMirrorTable_c::initBaseMtx() {
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table/initBaseMtx__18daObjMirrorTable_cFv.s"
}
#pragma pop
#endif
/* 80C9B220-80C9B23C 001980 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Sc>__FPSc */
#pragma push
@ -578,4 +699,36 @@ extern "C" asm void func_80C9B220(void* _this, s8* param_0) {
}
#pragma pop
/* 80C9B290-80C9B290 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80C9B2A8-80C9B2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorTable_Method */
static actor_method_class l_daObjMirrorTable_Method = {
(process_method_func)daObjMirrorTable_Create,
(process_method_func)daObjMirrorTable_Delete,
(process_method_func)daObjMirrorTable_Execute,
(process_method_func)daObjMirrorTable_IsDelete,
(process_method_func)daObjMirrorTable_Draw,
};
/* 80C9B2C8-80C9B2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorTable */
extern actor_process_profile_definition g_profile_Obj_MirrorTable = {
fpcLy_CURRENT_e,
3,
fpcPi_CURRENT_e,
PROC_Obj_MirrorTable,
&g_fpcLf_Method.mBase,
sizeof(daObjMirrorTable_c),
0,
0,
&g_fopAc_Method.base,
0x2A8,
&l_daObjMirrorTable_Method,
0x44000,
fopAc_ACTOR_e,
fopAc_CULLBOX_CUSTOM_e,
};
/* 80C9B2F8-80C9B304 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};

View File

@ -11,20 +11,6 @@
// Types:
//
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
/* 80018C8C */ ~fopAc_ac_c();
};
struct dPath {};
struct daTagSppath_c {
/* 80D61C18 */ void create();
/* 80D61EC4 */ ~daTagSppath_c();
/* 80D62024 */ void getNearPathPos(cXyz*, dPath*);
/* 80D629C0 */ void execute();
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
@ -81,8 +67,6 @@ extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];