d_a_crod almost fully OK (#270)

This commit is contained in:
TakaRikka
2023-02-05 07:09:29 -08:00
committed by GitHub
parent 1124554ae1
commit 24b833b205
61 changed files with 1386 additions and 4080 deletions
+8 -8
View File
@@ -7,22 +7,22 @@ Section | Percentage | Decompiled (bytes) | Total (bytes)
.init | 97.972973% | 9280 | 9472
.extab | 100.000000% | 96 | 96
.extabindex | 100.000000% | 96 | 96
.text | 24.159415% | 868904 | 3596544
.text | 24.158081% | 868856 | 3596544
.ctors | 100.000000% | 448 | 448
.dtors | 100.000000% | 32 | 32
.rodata | 100.000000% | 193856 | 193856
.data | 100.000000% | 197632 | 197632
.sdata | 100.000000% | 1408 | 1408
.sdata2 | 100.000000% | 20832 | 20832
Total | 32.154824% | 1292840 | 4020672
Total | 32.153630% | 1292792 | 4020672
## Total
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 32.154824% | 1292840 | 4020672
RELs | 33.060877% | 3802108 | 11500324
Total | 32.826167% | 5094948 | 15520996
main.dol | 32.153630% | 1292792 | 4020672
RELs | 33.141397% | 3811368 | 11500324
Total | 32.885518% | 5104160 | 15520996
## RELs
@@ -66,14 +66,14 @@ d_a_canoe | 28.479263% | 4944 | 17360
d_a_coach_2D | 38.344915% | 2428 | 6332
d_a_coach_fire | 44.050104% | 1688 | 3832
d_a_cow | 22.936702% | 12784 | 55736
d_a_crod | 33.887043% | 2448 | 7224
d_a_crod | 98.228128% | 7096 | 7224
d_a_cstaf | 32.377740% | 3840 | 11860
d_a_cstatue | 29.155833% | 6728 | 23076
d_a_demo00 | 29.136000% | 7284 | 25000
d_a_demo_item | 33.863165% | 3920 | 11576
d_a_disappear | 45.091514% | 1084 | 2404
d_a_dmidna | 50.000000% | 944 | 1888
d_a_do | 25.780847% | 10004 | 38804
d_a_do | 37.666220% | 14616 | 38804
d_a_door_boss | 40.856890% | 3700 | 9056
d_a_door_bossL5 | 39.221790% | 4032 | 10280
d_a_door_bossl1 | 39.355114% | 7372 | 18732
@@ -785,4 +785,4 @@ d_a_vrbox2 | 34.977578% | 2184 | 6244
d_a_warp_bug | 54.940711% | 1112 | 2024
d_a_ykgr | 44.400631% | 2252 | 5072
f_pc_profile_lst | 100.000000% | 28156 | 28156
Total | 33.060877% | 3802108 | 11500324
Total | 33.141397% | 3811368 | 11500324
@@ -0,0 +1,13 @@
lbl_801410EC:
/* 801410EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801410F0 7C 08 02 A6 */ mflr r0
/* 801410F4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801410F8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801410FC 7C 7F 1B 78 */ mr r31, r3
/* 80141100 48 01 DB FD */ bl clearData__16daPy_actorKeep_cFv
/* 80141104 7F E3 FB 78 */ mr r3, r31
/* 80141108 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8014110C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80141110 7C 08 03 A6 */ mtlr r0
/* 80141114 38 21 00 10 */ addi r1, r1, 0x10
/* 80141118 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_804A409C:
/* 804A409C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A40A0 7C 08 02 A6 */ mflr r0
/* 804A40A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A40A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A40AC 7C 7F 1B 79 */ or. r31, r3, r3
/* 804A40B0 41 82 00 1C */ beq lbl_804A40CC
/* 804A40B4 3C A0 80 4A */ lis r5, __vt__10cCcD_GStts@ha /* 0x804A41E4@ha */
/* 804A40B8 38 05 41 E4 */ addi r0, r5, __vt__10cCcD_GStts@l /* 0x804A41E4@l */
/* 804A40BC 90 1F 00 00 */ stw r0, 0(r31)
/* 804A40C0 7C 80 07 35 */ extsh. r0, r4
/* 804A40C4 40 81 00 08 */ ble lbl_804A40CC
/* 804A40C8 4B E2 AC 75 */ bl __dl__FPv
lbl_804A40CC:
/* 804A40CC 7F E3 FB 78 */ mr r3, r31
/* 804A40D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A40D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A40D8 7C 08 03 A6 */ mtlr r0
/* 804A40DC 38 21 00 10 */ addi r1, r1, 0x10
/* 804A40E0 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_804A3240:
/* 804A3240 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3244 7C 08 02 A6 */ mflr r0
/* 804A3248 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A324C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A3250 7C 7F 1B 79 */ or. r31, r3, r3
/* 804A3254 41 82 00 30 */ beq lbl_804A3284
/* 804A3258 3C 60 80 4A */ lis r3, __vt__10dCcD_GStts@ha /* 0x804A41F0@ha */
/* 804A325C 38 03 41 F0 */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x804A41F0@l */
/* 804A3260 90 1F 00 00 */ stw r0, 0(r31)
/* 804A3264 41 82 00 10 */ beq lbl_804A3274
/* 804A3268 3C 60 80 4A */ lis r3, __vt__10cCcD_GStts@ha /* 0x804A41E4@ha */
/* 804A326C 38 03 41 E4 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x804A41E4@l */
/* 804A3270 90 1F 00 00 */ stw r0, 0(r31)
lbl_804A3274:
/* 804A3274 7C 80 07 35 */ extsh. r0, r4
/* 804A3278 40 81 00 0C */ ble lbl_804A3284
/* 804A327C 7F E3 FB 78 */ mr r3, r31
/* 804A3280 4B E2 BA BD */ bl __dl__FPv
lbl_804A3284:
/* 804A3284 7F E3 FB 78 */ mr r3, r31
/* 804A3288 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A328C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A3290 7C 08 03 A6 */ mtlr r0
/* 804A3294 38 21 00 10 */ addi r1, r1, 0x10
/* 804A3298 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_804A329C:
/* 804A329C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A32A0 7C 08 02 A6 */ mflr r0
/* 804A32A4 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A32A8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A32AC 7C 7F 1B 79 */ or. r31, r3, r3
/* 804A32B0 41 82 00 1C */ beq lbl_804A32CC
/* 804A32B4 3C A0 80 4A */ lis r5, __vt__12J3DFrameCtrl@ha /* 0x804A4208@ha */
/* 804A32B8 38 05 42 08 */ addi r0, r5, __vt__12J3DFrameCtrl@l /* 0x804A4208@l */
/* 804A32BC 90 1F 00 00 */ stw r0, 0(r31)
/* 804A32C0 7C 80 07 35 */ extsh. r0, r4
/* 804A32C4 40 81 00 08 */ ble lbl_804A32CC
/* 804A32C8 4B E2 BA 75 */ bl __dl__FPv
lbl_804A32CC:
/* 804A32CC 7F E3 FB 78 */ mr r3, r31
/* 804A32D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A32D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A32D8 7C 08 03 A6 */ mtlr r0
/* 804A32DC 38 21 00 10 */ addi r1, r1, 0x10
/* 804A32E0 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_804A31F8:
/* 804A31F8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A31FC 7C 08 02 A6 */ mflr r0
/* 804A3200 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3204 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A3208 7C 7F 1B 79 */ or. r31, r3, r3
/* 804A320C 41 82 00 1C */ beq lbl_804A3228
/* 804A3210 3C A0 80 4A */ lis r5, __vt__8cM3dGAab@ha /* 0x804A41FC@ha */
/* 804A3214 38 05 41 FC */ addi r0, r5, __vt__8cM3dGAab@l /* 0x804A41FC@l */
/* 804A3218 90 1F 00 18 */ stw r0, 0x18(r31)
/* 804A321C 7C 80 07 35 */ extsh. r0, r4
/* 804A3220 40 81 00 08 */ ble lbl_804A3228
/* 804A3224 4B E2 BB 19 */ bl __dl__FPv
lbl_804A3228:
/* 804A3228 7F E3 FB 78 */ mr r3, r31
/* 804A322C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A3230 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A3234 7C 08 03 A6 */ mtlr r0
/* 804A3238 38 21 00 10 */ addi r1, r1, 0x10
/* 804A323C 4E 80 00 20 */ blr
@@ -1,106 +0,0 @@
lbl_804A3304:
/* 804A3304 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3308 7C 08 02 A6 */ mflr r0
/* 804A330C 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3310 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A3314 93 C1 00 08 */ stw r30, 8(r1)
/* 804A3318 7C 7E 1B 79 */ or. r30, r3, r3
/* 804A331C 7C 9F 23 78 */ mr r31, r4
/* 804A3320 41 82 01 4C */ beq lbl_804A346C
/* 804A3324 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 804A3328 28 00 00 06 */ cmplwi r0, 6
/* 804A332C 40 82 00 20 */ bne lbl_804A334C
/* 804A3330 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3334 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3338 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 804A333C 28 03 00 00 */ cmplwi r3, 0
/* 804A3340 41 82 00 14 */ beq lbl_804A3354
/* 804A3344 90 63 17 48 */ stw r3, 0x1748(r3)
/* 804A3348 48 00 00 0C */ b lbl_804A3354
lbl_804A334C:
/* 804A334C 38 7E 07 10 */ addi r3, r30, 0x710
/* 804A3350 4B D0 45 DD */ bl dKy_plight_cut__FP15LIGHT_INFLUENCE
lbl_804A3354:
/* 804A3354 34 1E 05 CC */ addic. r0, r30, 0x5cc
/* 804A3358 41 82 00 7C */ beq lbl_804A33D4
/* 804A335C 3C 60 80 3B */ lis r3, __vt__8dCcD_Cps@ha /* 0x803AC170@ha */
/* 804A3360 38 63 C1 70 */ addi r3, r3, __vt__8dCcD_Cps@l /* 0x803AC170@l */
/* 804A3364 90 7E 06 08 */ stw r3, 0x608(r30)
/* 804A3368 38 03 00 2C */ addi r0, r3, 0x2c
/* 804A336C 90 1E 06 EC */ stw r0, 0x6ec(r30)
/* 804A3370 38 03 00 84 */ addi r0, r3, 0x84
/* 804A3374 90 1E 07 08 */ stw r0, 0x708(r30)
/* 804A3378 34 1E 06 D0 */ addic. r0, r30, 0x6d0
/* 804A337C 41 82 00 4C */ beq lbl_804A33C8
/* 804A3380 3C 60 80 3C */ lis r3, __vt__12cCcD_CpsAttr@ha /* 0x803C3608@ha */
/* 804A3384 38 63 36 08 */ addi r3, r3, __vt__12cCcD_CpsAttr@l /* 0x803C3608@l */
/* 804A3388 90 7E 06 EC */ stw r3, 0x6ec(r30)
/* 804A338C 38 03 00 58 */ addi r0, r3, 0x58
/* 804A3390 90 1E 07 08 */ stw r0, 0x708(r30)
/* 804A3394 38 7E 06 F0 */ addi r3, r30, 0x6f0
/* 804A3398 38 80 00 00 */ li r4, 0
/* 804A339C 4B DC BC 09 */ bl __dt__8cM3dGCpsFv
/* 804A33A0 34 1E 06 D0 */ addic. r0, r30, 0x6d0
/* 804A33A4 41 82 00 24 */ beq lbl_804A33C8
/* 804A33A8 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 804A33AC 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 804A33B0 90 1E 06 EC */ stw r0, 0x6ec(r30)
/* 804A33B4 34 1E 06 D0 */ addic. r0, r30, 0x6d0
/* 804A33B8 41 82 00 10 */ beq lbl_804A33C8
/* 804A33BC 3C 60 80 4A */ lis r3, __vt__8cM3dGAab@ha /* 0x804A41FC@ha */
/* 804A33C0 38 03 41 FC */ addi r0, r3, __vt__8cM3dGAab@l /* 0x804A41FC@l */
/* 804A33C4 90 1E 06 E8 */ stw r0, 0x6e8(r30)
lbl_804A33C8:
/* 804A33C8 38 7E 05 CC */ addi r3, r30, 0x5cc
/* 804A33CC 38 80 00 00 */ li r4, 0
/* 804A33D0 4B BE 0D 15 */ bl __dt__12dCcD_GObjInfFv
lbl_804A33D4:
/* 804A33D4 34 1E 05 90 */ addic. r0, r30, 0x590
/* 804A33D8 41 82 00 54 */ beq lbl_804A342C
/* 804A33DC 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 804A33E0 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 804A33E4 90 7E 05 A8 */ stw r3, 0x5a8(r30)
/* 804A33E8 38 03 00 20 */ addi r0, r3, 0x20
/* 804A33EC 90 1E 05 AC */ stw r0, 0x5ac(r30)
/* 804A33F0 34 1E 05 AC */ addic. r0, r30, 0x5ac
/* 804A33F4 41 82 00 24 */ beq lbl_804A3418
/* 804A33F8 3C 60 80 4A */ lis r3, __vt__10dCcD_GStts@ha /* 0x804A41F0@ha */
/* 804A33FC 38 03 41 F0 */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x804A41F0@l */
/* 804A3400 90 1E 05 AC */ stw r0, 0x5ac(r30)
/* 804A3404 34 1E 05 AC */ addic. r0, r30, 0x5ac
/* 804A3408 41 82 00 10 */ beq lbl_804A3418
/* 804A340C 3C 60 80 4A */ lis r3, __vt__10cCcD_GStts@ha /* 0x804A41E4@ha */
/* 804A3410 38 03 41 E4 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x804A41E4@l */
/* 804A3414 90 1E 05 AC */ stw r0, 0x5ac(r30)
lbl_804A3418:
/* 804A3418 34 1E 05 90 */ addic. r0, r30, 0x590
/* 804A341C 41 82 00 10 */ beq lbl_804A342C
/* 804A3420 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 804A3424 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 804A3428 90 1E 05 A8 */ stw r0, 0x5a8(r30)
lbl_804A342C:
/* 804A342C 34 1E 05 6C */ addic. r0, r30, 0x56c
/* 804A3430 41 82 00 20 */ beq lbl_804A3450
/* 804A3434 34 1E 05 6C */ addic. r0, r30, 0x56c
/* 804A3438 41 82 00 18 */ beq lbl_804A3450
/* 804A343C 34 1E 05 6C */ addic. r0, r30, 0x56c
/* 804A3440 41 82 00 10 */ beq lbl_804A3450
/* 804A3444 3C 60 80 4A */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x804A4208@ha */
/* 804A3448 38 03 42 08 */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x804A4208@l */
/* 804A344C 90 1E 05 6C */ stw r0, 0x56c(r30)
lbl_804A3450:
/* 804A3450 7F C3 F3 78 */ mr r3, r30
/* 804A3454 38 80 00 00 */ li r4, 0
/* 804A3458 4B B7 58 35 */ bl __dt__10fopAc_ac_cFv
/* 804A345C 7F E0 07 35 */ extsh. r0, r31
/* 804A3460 40 81 00 0C */ ble lbl_804A346C
/* 804A3464 7F C3 F3 78 */ mr r3, r30
/* 804A3468 4B E2 B8 D5 */ bl __dl__FPv
lbl_804A346C:
/* 804A346C 7F C3 F3 78 */ mr r3, r30
/* 804A3470 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A3474 83 C1 00 08 */ lwz r30, 8(r1)
/* 804A3478 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A347C 7C 08 03 A6 */ mtlr r0
/* 804A3480 38 21 00 10 */ addi r1, r1, 0x10
/* 804A3484 4E 80 00 20 */ blr
@@ -1,51 +0,0 @@
lbl_804A2E38:
/* 804A2E38 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A2E3C 7C 08 02 A6 */ mflr r0
/* 804A2E40 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A2E44 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A2E48 93 C1 00 08 */ stw r30, 8(r1)
/* 804A2E4C 7C 7E 1B 78 */ mr r30, r3
/* 804A2E50 4B BF AA 35 */ bl getAlinkArcName__9daAlink_cFv
/* 804A2E54 38 80 00 22 */ li r4, 0x22
/* 804A2E58 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A2E5C 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A2E60 3F E5 00 02 */ addis r31, r5, 2
/* 804A2E64 3B FF C2 F8 */ addi r31, r31, -15624
/* 804A2E68 7F E5 FB 78 */ mr r5, r31
/* 804A2E6C 38 C0 00 80 */ li r6, 0x80
/* 804A2E70 4B B9 94 7D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 804A2E74 3C 80 00 08 */ lis r4, 8
/* 804A2E78 3C A0 11 00 */ lis r5, 0x1100 /* 0x11000284@ha */
/* 804A2E7C 38 A5 02 84 */ addi r5, r5, 0x0284 /* 0x11000284@l */
/* 804A2E80 4B B7 1D D5 */ bl mDoExt_J3DModel__create__FP12J3DModelDataUlUl
/* 804A2E84 90 7E 05 68 */ stw r3, 0x568(r30)
/* 804A2E88 80 1E 05 68 */ lwz r0, 0x568(r30)
/* 804A2E8C 28 00 00 00 */ cmplwi r0, 0
/* 804A2E90 40 82 00 0C */ bne lbl_804A2E9C
/* 804A2E94 38 60 00 00 */ li r3, 0
/* 804A2E98 48 00 00 48 */ b lbl_804A2EE0
lbl_804A2E9C:
/* 804A2E9C 4B BF A9 E9 */ bl getAlinkArcName__9daAlink_cFv
/* 804A2EA0 38 80 00 0E */ li r4, 0xe
/* 804A2EA4 7F E5 FB 78 */ mr r5, r31
/* 804A2EA8 38 C0 00 80 */ li r6, 0x80
/* 804A2EAC 4B B9 94 41 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 804A2EB0 7C 64 1B 78 */ mr r4, r3
/* 804A2EB4 38 7E 05 6C */ addi r3, r30, 0x56c
/* 804A2EB8 38 A0 00 01 */ li r5, 1
/* 804A2EBC 38 C0 00 02 */ li r6, 2
/* 804A2EC0 3C E0 80 4A */ lis r7, lit_4173@ha /* 0x804A4104@ha */
/* 804A2EC4 C0 27 41 04 */ lfs f1, lit_4173@l(r7) /* 0x804A4104@l */
/* 804A2EC8 38 E0 00 00 */ li r7, 0
/* 804A2ECC 39 00 FF FF */ li r8, -1
/* 804A2ED0 39 20 00 00 */ li r9, 0
/* 804A2ED4 4B B6 A9 09 */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb
/* 804A2ED8 30 03 FF FF */ addic r0, r3, -1
/* 804A2EDC 7C 60 19 10 */ subfe r3, r0, r3
lbl_804A2EE0:
/* 804A2EE0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A2EE4 83 C1 00 08 */ lwz r30, 8(r1)
/* 804A2EE8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A2EEC 7C 08 03 A6 */ mtlr r0
/* 804A2EF0 38 21 00 10 */ addi r1, r1, 0x10
/* 804A2EF4 4E 80 00 20 */ blr
@@ -1,195 +0,0 @@
lbl_804A2F18:
/* 804A2F18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 804A2F1C 7C 08 02 A6 */ mflr r0
/* 804A2F20 90 01 00 24 */ stw r0, 0x24(r1)
/* 804A2F24 39 61 00 20 */ addi r11, r1, 0x20
/* 804A2F28 4B EB F2 B5 */ bl _savegpr_29
/* 804A2F2C 7C 7F 1B 78 */ mr r31, r3
/* 804A2F30 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 804A2F34 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 804A2F38 40 82 00 D8 */ bne lbl_804A3010
/* 804A2F3C 7F E0 FB 79 */ or. r0, r31, r31
/* 804A2F40 41 82 00 C4 */ beq lbl_804A3004
/* 804A2F44 7C 1E 03 78 */ mr r30, r0
/* 804A2F48 4B B7 5C 1D */ bl __ct__10fopAc_ac_cFv
/* 804A2F4C 3B BE 05 6C */ addi r29, r30, 0x56c
/* 804A2F50 3C 60 80 4A */ lis r3, __vt__12J3DFrameCtrl@ha /* 0x804A4208@ha */
/* 804A2F54 38 03 42 08 */ addi r0, r3, __vt__12J3DFrameCtrl@l /* 0x804A4208@l */
/* 804A2F58 90 1E 05 6C */ stw r0, 0x56c(r30)
/* 804A2F5C 7F A3 EB 78 */ mr r3, r29
/* 804A2F60 38 80 00 00 */ li r4, 0
/* 804A2F64 4B E8 54 99 */ bl init__12J3DFrameCtrlFs
/* 804A2F68 38 00 00 00 */ li r0, 0
/* 804A2F6C 90 1D 00 18 */ stw r0, 0x18(r29)
/* 804A2F70 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 804A2F74 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 804A2F78 90 1E 05 A8 */ stw r0, 0x5a8(r30)
/* 804A2F7C 38 7E 05 AC */ addi r3, r30, 0x5ac
/* 804A2F80 4B BE 07 E1 */ bl __ct__10dCcD_GSttsFv
/* 804A2F84 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 804A2F88 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 804A2F8C 90 7E 05 A8 */ stw r3, 0x5a8(r30)
/* 804A2F90 38 03 00 20 */ addi r0, r3, 0x20
/* 804A2F94 90 1E 05 AC */ stw r0, 0x5ac(r30)
/* 804A2F98 3B BE 05 CC */ addi r29, r30, 0x5cc
/* 804A2F9C 7F A3 EB 78 */ mr r3, r29
/* 804A2FA0 4B BE 0A 89 */ bl __ct__12dCcD_GObjInfFv
/* 804A2FA4 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 804A2FA8 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 804A2FAC 90 1D 01 20 */ stw r0, 0x120(r29)
/* 804A2FB0 3C 60 80 4A */ lis r3, __vt__8cM3dGAab@ha /* 0x804A41FC@ha */
/* 804A2FB4 38 03 41 FC */ addi r0, r3, __vt__8cM3dGAab@l /* 0x804A41FC@l */
/* 804A2FB8 90 1D 01 1C */ stw r0, 0x11c(r29)
/* 804A2FBC 38 7D 01 24 */ addi r3, r29, 0x124
/* 804A2FC0 4B DC BF C9 */ bl __ct__8cM3dGCpsFv
/* 804A2FC4 3C 60 80 3C */ lis r3, __vt__12cCcD_CpsAttr@ha /* 0x803C3608@ha */
/* 804A2FC8 38 63 36 08 */ addi r3, r3, __vt__12cCcD_CpsAttr@l /* 0x803C3608@l */
/* 804A2FCC 90 7D 01 20 */ stw r3, 0x120(r29)
/* 804A2FD0 38 03 00 58 */ addi r0, r3, 0x58
/* 804A2FD4 90 1D 01 3C */ stw r0, 0x13c(r29)
/* 804A2FD8 3C 60 80 3B */ lis r3, __vt__8dCcD_Cps@ha /* 0x803AC170@ha */
/* 804A2FDC 38 63 C1 70 */ addi r3, r3, __vt__8dCcD_Cps@l /* 0x803AC170@l */
/* 804A2FE0 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 804A2FE4 38 03 00 2C */ addi r0, r3, 0x2c
/* 804A2FE8 90 1D 01 20 */ stw r0, 0x120(r29)
/* 804A2FEC 38 03 00 84 */ addi r0, r3, 0x84
/* 804A2FF0 90 1D 01 3C */ stw r0, 0x13c(r29)
/* 804A2FF4 38 7E 07 40 */ addi r3, r30, 0x740
/* 804A2FF8 4B CB BD 05 */ bl clearData__16daPy_actorKeep_cFv
/* 804A2FFC 38 7E 07 48 */ addi r3, r30, 0x748
/* 804A3000 4B CB BC FD */ bl clearData__16daPy_actorKeep_cFv
lbl_804A3004:
/* 804A3004 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 804A3008 60 00 00 08 */ ori r0, r0, 8
/* 804A300C 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_804A3010:
/* 804A3010 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3014 28 00 00 06 */ cmplwi r0, 6
/* 804A3018 40 82 00 28 */ bne lbl_804A3040
/* 804A301C 7F E3 FB 78 */ mr r3, r31
/* 804A3020 4B B7 68 A5 */ bl fopAcM_setStageLayer__FPv
/* 804A3024 38 7F 05 90 */ addi r3, r31, 0x590
/* 804A3028 38 80 00 C8 */ li r4, 0xc8
/* 804A302C 38 A0 00 00 */ li r5, 0
/* 804A3030 7F E6 FB 78 */ mr r6, r31
/* 804A3034 4B BE 08 2D */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 804A3038 38 60 00 04 */ li r3, 4
/* 804A303C 48 00 01 A4 */ b lbl_804A31E0
lbl_804A3040:
/* 804A3040 7F E3 FB 78 */ mr r3, r31
/* 804A3044 3C 80 80 4A */ lis r4, daCrod_createHeap__FP10fopAc_ac_c@ha /* 0x804A2EF8@ha */
/* 804A3048 38 84 2E F8 */ addi r4, r4, daCrod_createHeap__FP10fopAc_ac_c@l /* 0x804A2EF8@l */
/* 804A304C 38 A0 10 C0 */ li r5, 0x10c0
/* 804A3050 4B B7 74 61 */ bl fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl
/* 804A3054 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804A3058 40 82 00 0C */ bne lbl_804A3064
/* 804A305C 38 60 00 05 */ li r3, 5
/* 804A3060 48 00 01 80 */ b lbl_804A31E0
lbl_804A3064:
/* 804A3064 38 7F 05 90 */ addi r3, r31, 0x590
/* 804A3068 38 80 00 0A */ li r4, 0xa
/* 804A306C 38 A0 00 00 */ li r5, 0
/* 804A3070 7F E6 FB 78 */ mr r6, r31
/* 804A3074 4B BE 07 ED */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 804A3078 38 7F 05 CC */ addi r3, r31, 0x5cc
/* 804A307C 3C 80 80 4A */ lis r4, l_atCpsSrc@ha /* 0x804A413C@ha */
/* 804A3080 38 84 41 3C */ addi r4, r4, l_atCpsSrc@l /* 0x804A413C@l */
/* 804A3084 4B BE 17 4D */ bl Set__8dCcD_CpsFRC11dCcD_SrcCps
/* 804A3088 38 1F 05 90 */ addi r0, r31, 0x590
/* 804A308C 90 1F 06 10 */ stw r0, 0x610(r31)
/* 804A3090 80 1F 05 68 */ lwz r0, 0x568(r31)
/* 804A3094 90 1F 05 24 */ stw r0, 0x524(r31)
/* 804A3098 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804A309C 83 C3 00 04 */ lwz r30, 4(r3)
/* 804A30A0 4B BF A7 E5 */ bl getAlinkArcName__9daAlink_cFv
/* 804A30A4 38 80 00 40 */ li r4, 0x40
/* 804A30A8 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A30AC 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A30B0 3F A5 00 02 */ addis r29, r5, 2
/* 804A30B4 3B BD C2 F8 */ addi r29, r29, -15624
/* 804A30B8 7F A5 EB 78 */ mr r5, r29
/* 804A30BC 38 C0 00 80 */ li r6, 0x80
/* 804A30C0 4B B9 92 2D */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 804A30C4 90 7F 05 88 */ stw r3, 0x588(r31)
/* 804A30C8 80 7F 05 88 */ lwz r3, 0x588(r31)
/* 804A30CC 7F C4 F3 78 */ mr r4, r30
/* 804A30D0 4B E8 87 AD */ bl searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData
/* 804A30D4 38 7E 00 58 */ addi r3, r30, 0x58
/* 804A30D8 80 9F 05 88 */ lwz r4, 0x588(r31)
/* 804A30DC 4B E8 CD 95 */ bl entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey
/* 804A30E0 4B BF A7 A5 */ bl getAlinkArcName__9daAlink_cFv
/* 804A30E4 38 80 00 46 */ li r4, 0x46
/* 804A30E8 7F A5 EB 78 */ mr r5, r29
/* 804A30EC 38 C0 00 80 */ li r6, 0x80
/* 804A30F0 4B B9 91 FD */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 804A30F4 90 7F 05 8C */ stw r3, 0x58c(r31)
/* 804A30F8 80 7F 05 8C */ lwz r3, 0x58c(r31)
/* 804A30FC 7F C4 F3 78 */ mr r4, r30
/* 804A3100 4B E8 80 D5 */ bl searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData
/* 804A3104 38 7E 00 58 */ addi r3, r30, 0x58
/* 804A3108 80 9F 05 8C */ lwz r4, 0x58c(r31)
/* 804A310C 4B E8 CB B9 */ bl entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey
/* 804A3110 7F E3 FB 78 */ mr r3, r31
/* 804A3114 4B B7 67 B1 */ bl fopAcM_setStageLayer__FPv
/* 804A3118 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A311C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3120 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 804A3124 80 83 07 08 */ lwz r4, 0x708(r3)
/* 804A3128 28 04 00 00 */ cmplwi r4, 0
/* 804A312C 41 82 00 10 */ beq lbl_804A313C
/* 804A3130 80 64 00 84 */ lwz r3, 0x84(r4)
/* 804A3134 80 03 00 0C */ lwz r0, 0xc(r3)
/* 804A3138 48 00 00 08 */ b lbl_804A3140
lbl_804A313C:
/* 804A313C 38 00 00 00 */ li r0, 0
lbl_804A3140:
/* 804A3140 28 00 00 00 */ cmplwi r0, 0
/* 804A3144 41 82 00 2C */ beq lbl_804A3170
/* 804A3148 28 04 00 00 */ cmplwi r4, 0
/* 804A314C 41 82 00 10 */ beq lbl_804A315C
/* 804A3150 80 64 00 84 */ lwz r3, 0x84(r4)
/* 804A3154 80 63 00 0C */ lwz r3, 0xc(r3)
/* 804A3158 48 00 00 08 */ b lbl_804A3160
lbl_804A315C:
/* 804A315C 38 60 00 00 */ li r3, 0
lbl_804A3160:
/* 804A3160 3C 80 80 4A */ lis r4, l_localRodPos@ha /* 0x804A40F8@ha */
/* 804A3164 38 84 40 F8 */ addi r4, r4, l_localRodPos@l /* 0x804A40F8@l */
/* 804A3168 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A316C 4B EA 3C 01 */ bl PSMTXMultVec
lbl_804A3170:
/* 804A3170 38 7F 05 6C */ addi r3, r31, 0x56c
/* 804A3174 4B B6 A2 B5 */ bl play__14mDoExt_baseAnmFv
/* 804A3178 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804A317C 80 83 00 04 */ lwz r4, 4(r3)
/* 804A3180 38 7F 05 6C */ addi r3, r31, 0x56c
/* 804A3184 C0 3F 05 7C */ lfs f1, 0x57c(r31)
/* 804A3188 4B B6 A8 45 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
/* 804A318C 7F E3 FB 78 */ mr r3, r31
/* 804A3190 48 00 03 25 */ bl setMatrix__8daCrod_cFv
/* 804A3194 7F E3 FB 78 */ mr r3, r31
/* 804A3198 48 00 03 19 */ bl setRoomInfo__8daCrod_cFv
/* 804A319C C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A31A0 D0 1F 07 10 */ stfs f0, 0x710(r31)
/* 804A31A4 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A31A8 D0 1F 07 14 */ stfs f0, 0x714(r31)
/* 804A31AC C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A31B0 D0 1F 07 18 */ stfs f0, 0x718(r31)
/* 804A31B4 38 00 00 96 */ li r0, 0x96
/* 804A31B8 B0 1F 07 1C */ sth r0, 0x71c(r31)
/* 804A31BC 38 00 00 AA */ li r0, 0xaa
/* 804A31C0 B0 1F 07 1E */ sth r0, 0x71e(r31)
/* 804A31C4 38 00 00 5A */ li r0, 0x5a
/* 804A31C8 B0 1F 07 20 */ sth r0, 0x720(r31)
/* 804A31CC 7F E3 FB 78 */ mr r3, r31
/* 804A31D0 48 00 04 8D */ bl setLightPower__8daCrod_cFv
/* 804A31D4 38 7F 07 10 */ addi r3, r31, 0x710
/* 804A31D8 4B D0 45 B9 */ bl dKy_plight_set__FP15LIGHT_INFLUENCE
/* 804A31DC 38 60 00 04 */ li r3, 4
lbl_804A31E0:
/* 804A31E0 39 61 00 20 */ addi r11, r1, 0x20
/* 804A31E4 4B EB F0 45 */ bl _restgpr_29
/* 804A31E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 804A31EC 7C 08 03 A6 */ mtlr r0
/* 804A31F0 38 21 00 20 */ addi r1, r1, 0x20
/* 804A31F4 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804A32E4:
/* 804A32E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A32E8 7C 08 02 A6 */ mflr r0
/* 804A32EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A32F0 4B FF FC 29 */ bl create__8daCrod_cFv
/* 804A32F4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A32F8 7C 08 03 A6 */ mtlr r0
/* 804A32FC 38 21 00 10 */ addi r1, r1, 0x10
/* 804A3300 4E 80 00 20 */ blr
@@ -1,11 +0,0 @@
lbl_804A3488:
/* 804A3488 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A348C 7C 08 02 A6 */ mflr r0
/* 804A3490 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3494 38 80 FF FF */ li r4, -1
/* 804A3498 4B FF FE 6D */ bl __dt__8daCrod_cFv
/* 804A349C 38 60 00 01 */ li r3, 1
/* 804A34A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A34A4 7C 08 03 A6 */ mtlr r0
/* 804A34A8 38 21 00 10 */ addi r1, r1, 0x10
/* 804A34AC 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804A407C:
/* 804A407C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A4080 7C 08 02 A6 */ mflr r0
/* 804A4084 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A4088 4B FF FF 4D */ bl draw__8daCrod_cFv
/* 804A408C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A4090 7C 08 03 A6 */ mtlr r0
/* 804A4094 38 21 00 10 */ addi r1, r1, 0x10
/* 804A4098 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804A3FB4:
/* 804A3FB4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3FB8 7C 08 02 A6 */ mflr r0
/* 804A3FBC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3FC0 4B FF F7 19 */ bl execute__8daCrod_cFv
/* 804A3FC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A3FC8 7C 08 03 A6 */ mtlr r0
/* 804A3FCC 38 21 00 10 */ addi r1, r1, 0x10
/* 804A3FD0 4E 80 00 20 */ blr
@@ -1,9 +0,0 @@
lbl_804A2EF8:
/* 804A2EF8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A2EFC 7C 08 02 A6 */ mflr r0
/* 804A2F00 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A2F04 4B FF FF 35 */ bl createHeap__8daCrod_cFv
/* 804A2F08 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A2F0C 7C 08 03 A6 */ mtlr r0
/* 804A2F10 38 21 00 10 */ addi r1, r1, 0x10
/* 804A2F14 4E 80 00 20 */ blr
@@ -1,46 +0,0 @@
lbl_804A3FD4:
/* 804A3FD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3FD8 7C 08 02 A6 */ mflr r0
/* 804A3FDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3FE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A3FE4 7C 7F 1B 78 */ mr r31, r3
/* 804A3FE8 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 804A3FEC 28 00 00 06 */ cmplwi r0, 6
/* 804A3FF0 41 82 00 34 */ beq lbl_804A4024
/* 804A3FF4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3FF8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3FFC 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 804A4000 81 83 06 28 */ lwz r12, 0x628(r3)
/* 804A4004 81 8C 02 A0 */ lwz r12, 0x2a0(r12)
/* 804A4008 7D 89 03 A6 */ mtctr r12
/* 804A400C 4E 80 04 21 */ bctrl
/* 804A4010 2C 03 00 00 */ cmpwi r3, 0
/* 804A4014 40 82 00 18 */ bne lbl_804A402C
/* 804A4018 88 1F 07 32 */ lbz r0, 0x732(r31)
/* 804A401C 28 00 00 00 */ cmplwi r0, 0
/* 804A4020 40 82 00 0C */ bne lbl_804A402C
lbl_804A4024:
/* 804A4024 38 60 00 01 */ li r3, 1
/* 804A4028 48 00 00 40 */ b lbl_804A4068
lbl_804A402C:
/* 804A402C 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 804A4030 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 804A4034 38 80 00 00 */ li r4, 0
/* 804A4038 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A403C 38 DF 01 0C */ addi r6, r31, 0x10c
/* 804A4040 4B CF F7 85 */ bl settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c
/* 804A4044 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */
/* 804A4048 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */
/* 804A404C 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 804A4050 80 84 00 04 */ lwz r4, 4(r4)
/* 804A4054 38 BF 01 0C */ addi r5, r31, 0x10c
/* 804A4058 4B D0 0D 49 */ bl setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c
/* 804A405C 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804A4060 4B B6 9C 65 */ bl mDoExt_modelUpdateDL__FP8J3DModel
/* 804A4064 38 60 00 01 */ li r3, 1
lbl_804A4068:
/* 804A4068 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A406C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A4070 7C 08 03 A6 */ mtlr r0
/* 804A4074 38 21 00 10 */ addi r1, r1, 0x10
/* 804A4078 4E 80 00 20 */ blr
@@ -1,613 +0,0 @@
lbl_804A36D8:
/* 804A36D8 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 804A36DC 7C 08 02 A6 */ mflr r0
/* 804A36E0 90 01 00 84 */ stw r0, 0x84(r1)
/* 804A36E4 DB E1 00 70 */ stfd f31, 0x70(r1)
/* 804A36E8 F3 E1 00 78 */ psq_st f31, 120(r1), 0, 0 /* qr0 */
/* 804A36EC 39 61 00 70 */ addi r11, r1, 0x70
/* 804A36F0 4B EB EA E5 */ bl _savegpr_27
/* 804A36F4 7C 7F 1B 78 */ mr r31, r3
/* 804A36F8 3C 60 80 4A */ lis r3, lit_3759@ha /* 0x804A40EC@ha */
/* 804A36FC 3B C3 40 EC */ addi r30, r3, lit_3759@l /* 0x804A40EC@l */
/* 804A3700 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3704 3B A3 61 C0 */ addi r29, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3708 83 9D 5D B4 */ lwz r28, 0x5db4(r29)
/* 804A370C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3710 28 00 00 06 */ cmplwi r0, 6
/* 804A3714 40 82 00 84 */ bne lbl_804A3798
/* 804A3718 7F 83 E3 78 */ mr r3, r28
/* 804A371C 81 9C 06 28 */ lwz r12, 0x628(r28)
/* 804A3720 81 8C 02 00 */ lwz r12, 0x200(r12)
/* 804A3724 7D 89 03 A6 */ mtctr r12
/* 804A3728 4E 80 04 21 */ bctrl
/* 804A372C 28 03 00 00 */ cmplwi r3, 0
/* 804A3730 41 82 00 60 */ beq lbl_804A3790
/* 804A3734 7F 83 E3 78 */ mr r3, r28
/* 804A3738 81 9C 06 28 */ lwz r12, 0x628(r28)
/* 804A373C 81 8C 02 00 */ lwz r12, 0x200(r12)
/* 804A3740 7D 89 03 A6 */ mtctr r12
/* 804A3744 4E 80 04 21 */ bctrl
/* 804A3748 C0 03 00 00 */ lfs f0, 0(r3)
/* 804A374C D0 1F 04 D0 */ stfs f0, 0x4d0(r31)
/* 804A3750 C0 03 00 04 */ lfs f0, 4(r3)
/* 804A3754 D0 1F 04 D4 */ stfs f0, 0x4d4(r31)
/* 804A3758 C0 03 00 08 */ lfs f0, 8(r3)
/* 804A375C D0 1F 04 D8 */ stfs f0, 0x4d8(r31)
/* 804A3760 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A3764 D0 1F 05 50 */ stfs f0, 0x550(r31)
/* 804A3768 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A376C D0 1F 05 54 */ stfs f0, 0x554(r31)
/* 804A3770 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A3774 D0 1F 05 58 */ stfs f0, 0x558(r31)
/* 804A3778 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A377C D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 804A3780 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A3784 D0 1F 05 3C */ stfs f0, 0x53c(r31)
/* 804A3788 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A378C D0 1F 05 40 */ stfs f0, 0x540(r31)
lbl_804A3790:
/* 804A3790 38 60 00 01 */ li r3, 1
/* 804A3794 48 00 08 00 */ b lbl_804A3F94
lbl_804A3798:
/* 804A3798 38 60 00 01 */ li r3, 1
/* 804A379C 88 1F 05 71 */ lbz r0, 0x571(r31)
/* 804A37A0 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 804A37A4 40 82 00 18 */ bne lbl_804A37BC
/* 804A37A8 C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 804A37AC C0 1F 05 78 */ lfs f0, 0x578(r31)
/* 804A37B0 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 804A37B4 41 82 00 08 */ beq lbl_804A37BC
/* 804A37B8 38 60 00 00 */ li r3, 0
lbl_804A37BC:
/* 804A37BC 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804A37C0 41 82 00 10 */ beq lbl_804A37D0
/* 804A37C4 7F E3 FB 78 */ mr r3, r31
/* 804A37C8 38 80 00 0F */ li r4, 0xf
/* 804A37CC 4B FF FD B5 */ bl setBckAnm__8daCrod_cFUs
lbl_804A37D0:
/* 804A37D0 A0 1C 2F E8 */ lhz r0, 0x2fe8(r28)
/* 804A37D4 28 00 00 66 */ cmplwi r0, 0x66
/* 804A37D8 40 82 00 60 */ bne lbl_804A3838
/* 804A37DC 88 1F 07 32 */ lbz r0, 0x732(r31)
/* 804A37E0 28 00 00 00 */ cmplwi r0, 0
/* 804A37E4 40 82 00 20 */ bne lbl_804A3804
/* 804A37E8 7F E3 FB 78 */ mr r3, r31
/* 804A37EC 38 80 00 0D */ li r4, 0xd
/* 804A37F0 4B FF FD 91 */ bl setBckAnm__8daCrod_cFUs
/* 804A37F4 38 00 00 02 */ li r0, 2
/* 804A37F8 98 1F 05 70 */ stb r0, 0x570(r31)
/* 804A37FC 38 00 00 20 */ li r0, 0x20
/* 804A3800 B0 1F 05 76 */ sth r0, 0x576(r31)
lbl_804A3804:
/* 804A3804 38 00 00 01 */ li r0, 1
/* 804A3808 98 1F 07 32 */ stb r0, 0x732(r31)
/* 804A380C C0 5E 00 28 */ lfs f2, 0x28(r30)
/* 804A3810 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 804A3814 C0 1F 05 7C */ lfs f0, 0x57c(r31)
/* 804A3818 EC 01 00 32 */ fmuls f0, f1, f0
/* 804A381C EC 02 00 32 */ fmuls f0, f2, f0
/* 804A3820 D0 1F 07 24 */ stfs f0, 0x724(r31)
/* 804A3824 C0 1F 07 24 */ lfs f0, 0x724(r31)
/* 804A3828 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 804A382C 40 81 00 FC */ ble lbl_804A3928
/* 804A3830 D0 3F 07 24 */ stfs f1, 0x724(r31)
/* 804A3834 48 00 00 F4 */ b lbl_804A3928
lbl_804A3838:
/* 804A3838 7F E3 FB 78 */ mr r3, r31
/* 804A383C 4B FF FE 21 */ bl setLightPower__8daCrod_cFv
/* 804A3840 38 7F 05 CC */ addi r3, r31, 0x5cc
/* 804A3844 4B BE 0A 7D */ bl ChkAtHit__12dCcD_GObjInfFv
/* 804A3848 28 03 00 00 */ cmplwi r3, 0
/* 804A384C 41 82 00 BC */ beq lbl_804A3908
/* 804A3850 38 7F 06 24 */ addi r3, r31, 0x624
/* 804A3854 4B BD FE 35 */ bl GetAc__22dCcD_GAtTgCoCommonBaseFv
/* 804A3858 7C 7B 1B 78 */ mr r27, r3
/* 804A385C 7F 83 E3 78 */ mr r3, r28
/* 804A3860 81 9C 06 28 */ lwz r12, 0x628(r28)
/* 804A3864 81 8C 02 A4 */ lwz r12, 0x2a4(r12)
/* 804A3868 7D 89 03 A6 */ mtctr r12
/* 804A386C 4E 80 04 21 */ bctrl
/* 804A3870 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804A3874 41 82 00 88 */ beq lbl_804A38FC
/* 804A3878 28 1B 00 00 */ cmplwi r27, 0
/* 804A387C 41 82 00 80 */ beq lbl_804A38FC
/* 804A3880 A8 1B 00 08 */ lha r0, 8(r27)
/* 804A3884 2C 00 01 98 */ cmpwi r0, 0x198
/* 804A3888 41 82 00 0C */ beq lbl_804A3894
/* 804A388C 2C 00 00 BB */ cmpwi r0, 0xbb
/* 804A3890 40 82 00 6C */ bne lbl_804A38FC
lbl_804A3894:
/* 804A3894 38 00 00 04 */ li r0, 4
/* 804A3898 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A389C 38 7F 07 40 */ addi r3, r31, 0x740
/* 804A38A0 7F 64 DB 78 */ mr r4, r27
/* 804A38A4 4B CB B4 15 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c
/* 804A38A8 38 7F 07 48 */ addi r3, r31, 0x748
/* 804A38AC 7F 64 DB 78 */ mr r4, r27
/* 804A38B0 4B CB B4 09 */ bl setData__16daPy_actorKeep_cFP10fopAc_ac_c
/* 804A38B4 A8 1B 00 08 */ lha r0, 8(r27)
/* 804A38B8 2C 00 01 98 */ cmpwi r0, 0x198
/* 804A38BC 40 82 00 30 */ bne lbl_804A38EC
/* 804A38C0 38 00 00 00 */ li r0, 0
/* 804A38C4 88 7B 0A DD */ lbz r3, 0xadd(r27)
/* 804A38C8 28 03 00 04 */ cmplwi r3, 4
/* 804A38CC 41 82 00 0C */ beq lbl_804A38D8
/* 804A38D0 28 03 00 03 */ cmplwi r3, 3
/* 804A38D4 40 82 00 08 */ bne lbl_804A38DC
lbl_804A38D8:
/* 804A38D8 38 00 00 01 */ li r0, 1
lbl_804A38DC:
/* 804A38DC 54 00 06 3F */ clrlwi. r0, r0, 0x18
/* 804A38E0 41 82 00 0C */ beq lbl_804A38EC
/* 804A38E4 38 80 00 12 */ li r4, 0x12
/* 804A38E8 48 00 00 08 */ b lbl_804A38F0
lbl_804A38EC:
/* 804A38EC 38 80 00 11 */ li r4, 0x11
lbl_804A38F0:
/* 804A38F0 7F E3 FB 78 */ mr r3, r31
/* 804A38F4 4B FF FC 8D */ bl setBckAnm__8daCrod_cFUs
/* 804A38F8 48 00 00 30 */ b lbl_804A3928
lbl_804A38FC:
/* 804A38FC 7F E3 FB 78 */ mr r3, r31
/* 804A3900 4B FF FC FD */ bl setReturn__8daCrod_cFv
/* 804A3904 48 00 00 24 */ b lbl_804A3928
lbl_804A3908:
/* 804A3908 88 1F 07 32 */ lbz r0, 0x732(r31)
/* 804A390C 28 00 00 00 */ cmplwi r0, 0
/* 804A3910 41 82 00 18 */ beq lbl_804A3928
/* 804A3914 38 00 00 00 */ li r0, 0
/* 804A3918 98 1F 07 32 */ stb r0, 0x732(r31)
/* 804A391C 7F E3 FB 78 */ mr r3, r31
/* 804A3920 38 80 00 0E */ li r4, 0xe
/* 804A3924 4B FF FC 5D */ bl setBckAnm__8daCrod_cFUs
lbl_804A3928:
/* 804A3928 3C 60 80 4A */ lis r3, data_804A4218@ha /* 0x804A4218@ha */
/* 804A392C 38 83 42 18 */ addi r4, r3, data_804A4218@l /* 0x804A4218@l */
/* 804A3930 88 04 00 00 */ lbz r0, 0(r4)
/* 804A3934 7C 00 07 75 */ extsb. r0, r0
/* 804A3938 40 82 00 24 */ bne lbl_804A395C
/* 804A393C C0 1E 00 2C */ lfs f0, 0x2c(r30)
/* 804A3940 3C 60 80 4A */ lis r3, shootInitLocalPos@ha /* 0x804A4188@ha */
/* 804A3944 38 63 41 88 */ addi r3, r3, shootInitLocalPos@l /* 0x804A4188@l */
/* 804A3948 D0 03 00 04 */ stfs f0, 4(r3)
/* 804A394C C0 1E 00 20 */ lfs f0, 0x20(r30)
/* 804A3950 D0 03 00 08 */ stfs f0, 8(r3)
/* 804A3954 38 00 00 01 */ li r0, 1
/* 804A3958 98 04 00 00 */ stb r0, 0(r4)
lbl_804A395C:
/* 804A395C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3960 28 00 00 02 */ cmplwi r0, 2
/* 804A3964 40 82 00 98 */ bne lbl_804A39FC
/* 804A3968 38 00 00 03 */ li r0, 3
/* 804A396C 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A3970 A8 1C 05 9C */ lha r0, 0x59c(r28)
/* 804A3974 7C 00 00 D0 */ neg r0, r0
/* 804A3978 B0 1F 04 DC */ sth r0, 0x4dc(r31)
/* 804A397C A8 7C 04 E6 */ lha r3, 0x4e6(r28)
/* 804A3980 A8 1C 05 9E */ lha r0, 0x59e(r28)
/* 804A3984 7C 03 02 14 */ add r0, r3, r0
/* 804A3988 B0 1F 04 DE */ sth r0, 0x4de(r31)
/* 804A398C 7F 83 E3 78 */ mr r3, r28
/* 804A3990 4B C3 D9 81 */ bl getCopyRodBallSpeed__9daAlink_cCFv
/* 804A3994 D0 3F 05 2C */ stfs f1, 0x52c(r31)
/* 804A3998 38 7C 38 34 */ addi r3, r28, 0x3834
/* 804A399C 4B B6 93 C9 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 804A39A0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804A39A4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804A39A8 A8 1F 04 DC */ lha r0, 0x4dc(r31)
/* 804A39AC 7C 00 00 D0 */ neg r0, r0
/* 804A39B0 7C 04 07 34 */ extsh r4, r0
/* 804A39B4 A8 BF 04 DE */ lha r5, 0x4de(r31)
/* 804A39B8 38 C0 00 00 */ li r6, 0
/* 804A39BC 4B B6 88 E5 */ bl mDoMtx_ZXYrotM__FPA4_fsss
/* 804A39C0 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804A39C4 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804A39C8 3C 80 80 4A */ lis r4, shootInitLocalPos@ha /* 0x804A4188@ha */
/* 804A39CC 38 84 41 88 */ addi r4, r4, shootInitLocalPos@l /* 0x804A4188@l */
/* 804A39D0 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A39D4 4B EA 33 99 */ bl PSMTXMultVec
/* 804A39D8 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A39DC D0 1F 07 34 */ stfs f0, 0x734(r31)
/* 804A39E0 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A39E4 D0 1F 07 38 */ stfs f0, 0x738(r31)
/* 804A39E8 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A39EC D0 1F 07 3C */ stfs f0, 0x73c(r31)
/* 804A39F0 38 00 00 00 */ li r0, 0
/* 804A39F4 98 1F 07 31 */ stb r0, 0x731(r31)
/* 804A39F8 48 00 00 88 */ b lbl_804A3A80
lbl_804A39FC:
/* 804A39FC 28 00 00 04 */ cmplwi r0, 4
/* 804A3A00 40 82 00 1C */ bne lbl_804A3A1C
/* 804A3A04 80 1F 07 44 */ lwz r0, 0x744(r31)
/* 804A3A08 28 00 00 00 */ cmplwi r0, 0
/* 804A3A0C 40 82 00 74 */ bne lbl_804A3A80
/* 804A3A10 7F E3 FB 78 */ mr r3, r31
/* 804A3A14 4B FF FB E9 */ bl setReturn__8daCrod_cFv
/* 804A3A18 48 00 00 68 */ b lbl_804A3A80
lbl_804A3A1C:
/* 804A3A1C 28 00 00 00 */ cmplwi r0, 0
/* 804A3A20 40 82 00 30 */ bne lbl_804A3A50
/* 804A3A24 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3A28 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3A2C 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 804A3A30 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 804A3A34 41 82 00 4C */ beq lbl_804A3A80
/* 804A3A38 38 00 00 01 */ li r0, 1
/* 804A3A3C 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A3A40 7F E3 FB 78 */ mr r3, r31
/* 804A3A44 38 80 00 10 */ li r4, 0x10
/* 804A3A48 4B FF FB 39 */ bl setBckAnm__8daCrod_cFUs
/* 804A3A4C 48 00 00 34 */ b lbl_804A3A80
lbl_804A3A50:
/* 804A3A50 28 00 00 01 */ cmplwi r0, 1
/* 804A3A54 40 82 00 2C */ bne lbl_804A3A80
/* 804A3A58 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3A5C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3A60 80 03 5F 18 */ lwz r0, 0x5f18(r3)
/* 804A3A64 54 00 06 31 */ rlwinm. r0, r0, 0, 0x18, 0x18
/* 804A3A68 40 82 00 18 */ bne lbl_804A3A80
/* 804A3A6C 38 00 00 00 */ li r0, 0
/* 804A3A70 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A3A74 7F E3 FB 78 */ mr r3, r31
/* 804A3A78 38 80 00 0E */ li r4, 0xe
/* 804A3A7C 4B FF FB 05 */ bl setBckAnm__8daCrod_cFUs
lbl_804A3A80:
/* 804A3A80 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3A84 28 00 00 05 */ cmplwi r0, 5
/* 804A3A88 40 82 01 F4 */ bne lbl_804A3C7C
/* 804A3A8C 38 61 00 34 */ addi r3, r1, 0x34
/* 804A3A90 38 9C 35 34 */ addi r4, r28, 0x3534
/* 804A3A94 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A3A98 4B DC 30 9D */ bl __mi__4cXyzCFRC3Vec
/* 804A3A9C C0 01 00 34 */ lfs f0, 0x34(r1)
/* 804A3AA0 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 804A3AA4 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 804A3AA8 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 804A3AAC C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 804A3AB0 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 804A3AB4 38 61 00 40 */ addi r3, r1, 0x40
/* 804A3AB8 4B EA 36 81 */ bl PSVECSquareMag
/* 804A3ABC C0 1F 05 2C */ lfs f0, 0x52c(r31)
/* 804A3AC0 EC 00 00 32 */ fmuls f0, f0, f0
/* 804A3AC4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 804A3AC8 40 80 00 90 */ bge lbl_804A3B58
/* 804A3ACC 38 7F 07 48 */ addi r3, r31, 0x748
/* 804A3AD0 4B CB B2 2D */ bl clearData__16daPy_actorKeep_cFv
/* 804A3AD4 7F 83 E3 78 */ mr r3, r28
/* 804A3AD8 4B C3 DF 59 */ bl returnCopyRod__9daAlink_cFv
/* 804A3ADC 2C 03 00 00 */ cmpwi r3, 0
/* 804A3AE0 41 82 00 68 */ beq lbl_804A3B48
/* 804A3AE4 38 00 00 00 */ li r0, 0
/* 804A3AE8 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A3AEC 7F E3 FB 78 */ mr r3, r31
/* 804A3AF0 38 80 00 0E */ li r4, 0xe
/* 804A3AF4 4B FF FA 8D */ bl setBckAnm__8daCrod_cFUs
/* 804A3AF8 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804A3AFC 7C 03 07 74 */ extsb r3, r0
/* 804A3B00 4B B8 95 6D */ bl dComIfGp_getReverb__Fi
/* 804A3B04 7C 67 1B 78 */ mr r7, r3
/* 804A3B08 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020069@ha */
/* 804A3B0C 38 03 00 69 */ addi r0, r3, 0x0069 /* 0x00020069@l */
/* 804A3B10 90 01 00 18 */ stw r0, 0x18(r1)
/* 804A3B14 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 804A3B18 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 804A3B1C 80 63 00 00 */ lwz r3, 0(r3)
/* 804A3B20 38 81 00 18 */ addi r4, r1, 0x18
/* 804A3B24 38 BF 05 38 */ addi r5, r31, 0x538
/* 804A3B28 38 C0 00 00 */ li r6, 0
/* 804A3B2C C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 804A3B30 FC 40 08 90 */ fmr f2, f1
/* 804A3B34 C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 804A3B38 FC 80 18 90 */ fmr f4, f3
/* 804A3B3C 39 00 00 00 */ li r8, 0
/* 804A3B40 4B E0 7E 45 */ bl seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 804A3B44 48 00 01 38 */ b lbl_804A3C7C
lbl_804A3B48:
/* 804A3B48 7F E3 FB 78 */ mr r3, r31
/* 804A3B4C 4B B7 61 31 */ bl fopAcM_delete__FP10fopAc_ac_c
/* 804A3B50 38 60 00 01 */ li r3, 1
/* 804A3B54 48 00 04 40 */ b lbl_804A3F94
lbl_804A3B58:
/* 804A3B58 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 804A3B5C D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 804A3B60 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 804A3B64 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 804A3B68 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 804A3B6C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 804A3B70 38 61 00 1C */ addi r3, r1, 0x1c
/* 804A3B74 4B EA 35 C5 */ bl PSVECSquareMag
/* 804A3B78 C0 1E 00 24 */ lfs f0, 0x24(r30)
/* 804A3B7C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 804A3B80 40 81 00 58 */ ble lbl_804A3BD8
/* 804A3B84 FC 00 08 34 */ frsqrte f0, f1
/* 804A3B88 C8 9E 00 38 */ lfd f4, 0x38(r30)
/* 804A3B8C FC 44 00 32 */ fmul f2, f4, f0
/* 804A3B90 C8 7E 00 40 */ lfd f3, 0x40(r30)
/* 804A3B94 FC 00 00 32 */ fmul f0, f0, f0
/* 804A3B98 FC 01 00 32 */ fmul f0, f1, f0
/* 804A3B9C FC 03 00 28 */ fsub f0, f3, f0
/* 804A3BA0 FC 02 00 32 */ fmul f0, f2, f0
/* 804A3BA4 FC 44 00 32 */ fmul f2, f4, f0
/* 804A3BA8 FC 00 00 32 */ fmul f0, f0, f0
/* 804A3BAC FC 01 00 32 */ fmul f0, f1, f0
/* 804A3BB0 FC 03 00 28 */ fsub f0, f3, f0
/* 804A3BB4 FC 02 00 32 */ fmul f0, f2, f0
/* 804A3BB8 FC 44 00 32 */ fmul f2, f4, f0
/* 804A3BBC FC 00 00 32 */ fmul f0, f0, f0
/* 804A3BC0 FC 01 00 32 */ fmul f0, f1, f0
/* 804A3BC4 FC 03 00 28 */ fsub f0, f3, f0
/* 804A3BC8 FC 02 00 32 */ fmul f0, f2, f0
/* 804A3BCC FC 41 00 32 */ fmul f2, f1, f0
/* 804A3BD0 FC 40 10 18 */ frsp f2, f2
/* 804A3BD4 48 00 00 90 */ b lbl_804A3C64
lbl_804A3BD8:
/* 804A3BD8 C8 1E 00 48 */ lfd f0, 0x48(r30)
/* 804A3BDC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 804A3BE0 40 80 00 10 */ bge lbl_804A3BF0
/* 804A3BE4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 804A3BE8 C0 43 0A E0 */ lfs f2, __float_nan@l(r3) /* 0x80450AE0@l */
/* 804A3BEC 48 00 00 78 */ b lbl_804A3C64
lbl_804A3BF0:
/* 804A3BF0 D0 21 00 08 */ stfs f1, 8(r1)
/* 804A3BF4 80 81 00 08 */ lwz r4, 8(r1)
/* 804A3BF8 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 804A3BFC 3C 00 7F 80 */ lis r0, 0x7f80
/* 804A3C00 7C 03 00 00 */ cmpw r3, r0
/* 804A3C04 41 82 00 14 */ beq lbl_804A3C18
/* 804A3C08 40 80 00 40 */ bge lbl_804A3C48
/* 804A3C0C 2C 03 00 00 */ cmpwi r3, 0
/* 804A3C10 41 82 00 20 */ beq lbl_804A3C30
/* 804A3C14 48 00 00 34 */ b lbl_804A3C48
lbl_804A3C18:
/* 804A3C18 54 80 02 7F */ clrlwi. r0, r4, 9
/* 804A3C1C 41 82 00 0C */ beq lbl_804A3C28
/* 804A3C20 38 00 00 01 */ li r0, 1
/* 804A3C24 48 00 00 28 */ b lbl_804A3C4C
lbl_804A3C28:
/* 804A3C28 38 00 00 02 */ li r0, 2
/* 804A3C2C 48 00 00 20 */ b lbl_804A3C4C
lbl_804A3C30:
/* 804A3C30 54 80 02 7F */ clrlwi. r0, r4, 9
/* 804A3C34 41 82 00 0C */ beq lbl_804A3C40
/* 804A3C38 38 00 00 05 */ li r0, 5
/* 804A3C3C 48 00 00 10 */ b lbl_804A3C4C
lbl_804A3C40:
/* 804A3C40 38 00 00 03 */ li r0, 3
/* 804A3C44 48 00 00 08 */ b lbl_804A3C4C
lbl_804A3C48:
/* 804A3C48 38 00 00 04 */ li r0, 4
lbl_804A3C4C:
/* 804A3C4C 2C 00 00 01 */ cmpwi r0, 1
/* 804A3C50 40 82 00 10 */ bne lbl_804A3C60
/* 804A3C54 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 804A3C58 C0 43 0A E0 */ lfs f2, __float_nan@l(r3) /* 0x80450AE0@l */
/* 804A3C5C 48 00 00 08 */ b lbl_804A3C64
lbl_804A3C60:
/* 804A3C60 FC 40 08 90 */ fmr f2, f1
lbl_804A3C64:
/* 804A3C64 C0 21 00 44 */ lfs f1, 0x44(r1)
/* 804A3C68 4B DC 3A 0D */ bl cM_atan2s__Fff
/* 804A3C6C B0 7F 04 DC */ sth r3, 0x4dc(r31)
/* 804A3C70 38 61 00 40 */ addi r3, r1, 0x40
/* 804A3C74 4B DC 34 B5 */ bl atan2sX_Z__4cXyzCFv
/* 804A3C78 B0 7F 04 DE */ sth r3, 0x4de(r31)
lbl_804A3C7C:
/* 804A3C7C 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3C80 28 00 00 03 */ cmplwi r0, 3
/* 804A3C84 41 82 00 0C */ beq lbl_804A3C90
/* 804A3C88 28 00 00 05 */ cmplwi r0, 5
/* 804A3C8C 40 82 01 64 */ bne lbl_804A3DF0
lbl_804A3C90:
/* 804A3C90 7F E3 FB 78 */ mr r3, r31
/* 804A3C94 4B FF F8 6D */ bl posMove__8daCrod_cFv
/* 804A3C98 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3C9C 28 00 00 03 */ cmplwi r0, 3
/* 804A3CA0 40 82 01 00 */ bne lbl_804A3DA0
/* 804A3CA4 38 7F 06 F0 */ addi r3, r31, 0x6f0
/* 804A3CA8 38 9F 04 BC */ addi r4, r31, 0x4bc
/* 804A3CAC 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A3CB0 4B DC B6 39 */ bl SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz
/* 804A3CB4 38 61 00 28 */ addi r3, r1, 0x28
/* 804A3CB8 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 804A3CBC 38 BF 04 BC */ addi r5, r31, 0x4bc
/* 804A3CC0 4B DC 2E 75 */ bl __mi__4cXyzCFRC3Vec
/* 804A3CC4 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 804A3CC8 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 804A3CCC C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 804A3CD0 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 804A3CD4 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 804A3CD8 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 804A3CDC D0 3F 06 50 */ stfs f1, 0x650(r31)
/* 804A3CE0 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 804A3CE4 D0 1F 06 54 */ stfs f0, 0x654(r31)
/* 804A3CE8 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 804A3CEC D0 1F 06 58 */ stfs f0, 0x658(r31)
/* 804A3CF0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3CF4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3CF8 38 63 23 3C */ addi r3, r3, 0x233c
/* 804A3CFC 38 9F 05 CC */ addi r4, r31, 0x5cc
/* 804A3D00 4B DC 0E A9 */ bl Set__4cCcSFP8cCcD_Obj
/* 804A3D04 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804A3D08 7C 03 07 74 */ extsb r3, r0
/* 804A3D0C 4B B8 93 61 */ bl dComIfGp_getReverb__Fi
/* 804A3D10 7C 67 1B 78 */ mr r7, r3
/* 804A3D14 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020067@ha */
/* 804A3D18 38 03 00 67 */ addi r0, r3, 0x0067 /* 0x00020067@l */
/* 804A3D1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3D20 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 804A3D24 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 804A3D28 80 63 00 00 */ lwz r3, 0(r3)
/* 804A3D2C 38 81 00 14 */ addi r4, r1, 0x14
/* 804A3D30 38 BF 05 38 */ addi r5, r31, 0x538
/* 804A3D34 38 C0 00 00 */ li r6, 0
/* 804A3D38 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 804A3D3C FC 40 08 90 */ fmr f2, f1
/* 804A3D40 C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 804A3D44 FC 80 18 90 */ fmr f4, f3
/* 804A3D48 39 00 00 00 */ li r8, 0
/* 804A3D4C 4B E0 87 C1 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 804A3D50 C3 FC 34 90 */ lfs f31, 0x3490(r28)
/* 804A3D54 7F 83 E3 78 */ mr r3, r28
/* 804A3D58 81 9C 06 28 */ lwz r12, 0x628(r28)
/* 804A3D5C 81 8C 02 A4 */ lwz r12, 0x2a4(r12)
/* 804A3D60 7D 89 03 A6 */ mtctr r12
/* 804A3D64 4E 80 04 21 */ bctrl
/* 804A3D68 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 804A3D6C 41 82 00 28 */ beq lbl_804A3D94
/* 804A3D70 88 1F 07 31 */ lbz r0, 0x731(r31)
/* 804A3D74 28 00 00 00 */ cmplwi r0, 0
/* 804A3D78 40 82 00 1C */ bne lbl_804A3D94
/* 804A3D7C 38 7F 07 34 */ addi r3, r31, 0x734
/* 804A3D80 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 804A3D84 4B EA 36 19 */ bl PSVECSquareDistance
/* 804A3D88 EC 1F 07 F2 */ fmuls f0, f31, f31
/* 804A3D8C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 804A3D90 40 81 01 7C */ ble lbl_804A3F0C
lbl_804A3D94:
/* 804A3D94 7F E3 FB 78 */ mr r3, r31
/* 804A3D98 4B FF F8 65 */ bl setReturn__8daCrod_cFv
/* 804A3D9C 48 00 01 70 */ b lbl_804A3F0C
lbl_804A3DA0:
/* 804A3DA0 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804A3DA4 7C 03 07 74 */ extsb r3, r0
/* 804A3DA8 4B B8 92 C5 */ bl dComIfGp_getReverb__Fi
/* 804A3DAC 7C 67 1B 78 */ mr r7, r3
/* 804A3DB0 3C 60 00 02 */ lis r3, 0x0002 /* 0x00020068@ha */
/* 804A3DB4 38 03 00 68 */ addi r0, r3, 0x0068 /* 0x00020068@l */
/* 804A3DB8 90 01 00 10 */ stw r0, 0x10(r1)
/* 804A3DBC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 804A3DC0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 804A3DC4 80 63 00 00 */ lwz r3, 0(r3)
/* 804A3DC8 38 81 00 10 */ addi r4, r1, 0x10
/* 804A3DCC 38 BF 05 38 */ addi r5, r31, 0x538
/* 804A3DD0 38 C0 00 00 */ li r6, 0
/* 804A3DD4 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 804A3DD8 FC 40 08 90 */ fmr f2, f1
/* 804A3DDC C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 804A3DE0 FC 80 18 90 */ fmr f4, f3
/* 804A3DE4 39 00 00 00 */ li r8, 0
/* 804A3DE8 4B E0 87 25 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
/* 804A3DEC 48 00 01 20 */ b lbl_804A3F0C
lbl_804A3DF0:
/* 804A3DF0 38 7F 05 CC */ addi r3, r31, 0x5cc
/* 804A3DF4 4B BE 05 25 */ bl ResetAtHit__12dCcD_GObjInfFv
/* 804A3DF8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3DFC 28 00 00 04 */ cmplwi r0, 4
/* 804A3E00 40 82 00 4C */ bne lbl_804A3E4C
/* 804A3E04 80 7F 07 44 */ lwz r3, 0x744(r31)
/* 804A3E08 A8 03 00 08 */ lha r0, 8(r3)
/* 804A3E0C 2C 00 01 98 */ cmpwi r0, 0x198
/* 804A3E10 40 82 00 20 */ bne lbl_804A3E30
/* 804A3E14 C0 03 0B 20 */ lfs f0, 0xb20(r3)
/* 804A3E18 D0 1F 04 D0 */ stfs f0, 0x4d0(r31)
/* 804A3E1C C0 03 0B 24 */ lfs f0, 0xb24(r3)
/* 804A3E20 D0 1F 04 D4 */ stfs f0, 0x4d4(r31)
/* 804A3E24 C0 03 0B 28 */ lfs f0, 0xb28(r3)
/* 804A3E28 D0 1F 04 D8 */ stfs f0, 0x4d8(r31)
/* 804A3E2C 48 00 00 E0 */ b lbl_804A3F0C
lbl_804A3E30:
/* 804A3E30 C0 03 0B 2C */ lfs f0, 0xb2c(r3)
/* 804A3E34 D0 1F 04 D0 */ stfs f0, 0x4d0(r31)
/* 804A3E38 C0 03 0B 30 */ lfs f0, 0xb30(r3)
/* 804A3E3C D0 1F 04 D4 */ stfs f0, 0x4d4(r31)
/* 804A3E40 C0 03 0B 34 */ lfs f0, 0xb34(r3)
/* 804A3E44 D0 1F 04 D8 */ stfs f0, 0x4d8(r31)
/* 804A3E48 48 00 00 C4 */ b lbl_804A3F0C
lbl_804A3E4C:
/* 804A3E4C 80 9C 07 08 */ lwz r4, 0x708(r28)
/* 804A3E50 28 04 00 00 */ cmplwi r4, 0
/* 804A3E54 41 82 00 10 */ beq lbl_804A3E64
/* 804A3E58 80 64 00 84 */ lwz r3, 0x84(r4)
/* 804A3E5C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 804A3E60 48 00 00 08 */ b lbl_804A3E68
lbl_804A3E64:
/* 804A3E64 38 00 00 00 */ li r0, 0
lbl_804A3E68:
/* 804A3E68 28 00 00 00 */ cmplwi r0, 0
/* 804A3E6C 41 82 00 28 */ beq lbl_804A3E94
/* 804A3E70 28 04 00 00 */ cmplwi r4, 0
/* 804A3E74 41 82 00 10 */ beq lbl_804A3E84
/* 804A3E78 80 64 00 84 */ lwz r3, 0x84(r4)
/* 804A3E7C 80 63 00 0C */ lwz r3, 0xc(r3)
/* 804A3E80 48 00 00 08 */ b lbl_804A3E88
lbl_804A3E84:
/* 804A3E84 38 60 00 00 */ li r3, 0
lbl_804A3E88:
/* 804A3E88 38 9E 00 0C */ addi r4, r30, 0xc
/* 804A3E8C 38 BF 04 D0 */ addi r5, r31, 0x4d0
/* 804A3E90 4B EA 2E DD */ bl PSMTXMultVec
lbl_804A3E94:
/* 804A3E94 80 7D 5D B4 */ lwz r3, 0x5db4(r29)
/* 804A3E98 81 83 06 28 */ lwz r12, 0x628(r3)
/* 804A3E9C 81 8C 02 A0 */ lwz r12, 0x2a0(r12)
/* 804A3EA0 7D 89 03 A6 */ mtctr r12
/* 804A3EA4 4E 80 04 21 */ bctrl
/* 804A3EA8 2C 03 00 00 */ cmpwi r3, 0
/* 804A3EAC 41 82 00 60 */ beq lbl_804A3F0C
/* 804A3EB0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 804A3EB4 20 00 00 01 */ subfic r0, r0, 1
/* 804A3EB8 7C 00 00 34 */ cntlzw r0, r0
/* 804A3EBC 54 1B D9 7E */ srwi r27, r0, 5
/* 804A3EC0 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 804A3EC4 7C 03 07 74 */ extsb r3, r0
/* 804A3EC8 4B B8 91 A5 */ bl dComIfGp_getReverb__Fi
/* 804A3ECC 7C 67 1B 78 */ mr r7, r3
/* 804A3ED0 3C 60 00 02 */ lis r3, 0x0002 /* 0x0002008E@ha */
/* 804A3ED4 38 03 00 8E */ addi r0, r3, 0x008E /* 0x0002008E@l */
/* 804A3ED8 90 01 00 0C */ stw r0, 0xc(r1)
/* 804A3EDC 3C 60 80 45 */ lis r3, mAudioMgrPtr__10Z2AudioMgr@ha /* 0x80451368@ha */
/* 804A3EE0 38 63 13 68 */ addi r3, r3, mAudioMgrPtr__10Z2AudioMgr@l /* 0x80451368@l */
/* 804A3EE4 80 63 00 00 */ lwz r3, 0(r3)
/* 804A3EE8 38 81 00 0C */ addi r4, r1, 0xc
/* 804A3EEC 38 BF 05 38 */ addi r5, r31, 0x538
/* 804A3EF0 7F 66 DB 78 */ mr r6, r27
/* 804A3EF4 C0 3E 00 18 */ lfs f1, 0x18(r30)
/* 804A3EF8 FC 40 08 90 */ fmr f2, f1
/* 804A3EFC C0 7E 00 30 */ lfs f3, 0x30(r30)
/* 804A3F00 FC 80 18 90 */ fmr f4, f3
/* 804A3F04 39 00 00 00 */ li r8, 0
/* 804A3F08 4B E0 86 05 */ bl seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc
lbl_804A3F0C:
/* 804A3F0C C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A3F10 D0 1F 05 38 */ stfs f0, 0x538(r31)
/* 804A3F14 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A3F18 D0 1F 05 3C */ stfs f0, 0x53c(r31)
/* 804A3F1C C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A3F20 D0 1F 05 40 */ stfs f0, 0x540(r31)
/* 804A3F24 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A3F28 D0 1F 05 50 */ stfs f0, 0x550(r31)
/* 804A3F2C C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A3F30 D0 1F 05 54 */ stfs f0, 0x554(r31)
/* 804A3F34 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A3F38 D0 1F 05 58 */ stfs f0, 0x558(r31)
/* 804A3F3C 80 7F 05 88 */ lwz r3, 0x588(r31)
/* 804A3F40 4B C0 53 09 */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase
/* 804A3F44 80 7F 05 8C */ lwz r3, 0x58c(r31)
/* 804A3F48 4B C0 53 01 */ bl simpleAnmPlay__9daAlink_cFP10J3DAnmBase
/* 804A3F4C 38 7F 05 6C */ addi r3, r31, 0x56c
/* 804A3F50 4B B6 94 D9 */ bl play__14mDoExt_baseAnmFv
/* 804A3F54 80 7F 05 68 */ lwz r3, 0x568(r31)
/* 804A3F58 80 83 00 04 */ lwz r4, 4(r3)
/* 804A3F5C 38 7F 05 6C */ addi r3, r31, 0x56c
/* 804A3F60 C0 3F 05 7C */ lfs f1, 0x57c(r31)
/* 804A3F64 4B B6 9A 69 */ bl entry__13mDoExt_bckAnmFP12J3DModelDataf
/* 804A3F68 7F E3 FB 78 */ mr r3, r31
/* 804A3F6C 4B FF F5 45 */ bl setRoomInfo__8daCrod_cFv
/* 804A3F70 7F E3 FB 78 */ mr r3, r31
/* 804A3F74 4B FF F5 41 */ bl setMatrix__8daCrod_cFv
/* 804A3F78 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 804A3F7C D0 1F 07 10 */ stfs f0, 0x710(r31)
/* 804A3F80 C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 804A3F84 D0 1F 07 14 */ stfs f0, 0x714(r31)
/* 804A3F88 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 804A3F8C D0 1F 07 18 */ stfs f0, 0x718(r31)
/* 804A3F90 38 60 00 01 */ li r3, 1
lbl_804A3F94:
/* 804A3F94 E3 E1 00 78 */ psq_l f31, 120(r1), 0, 0 /* qr0 */
/* 804A3F98 CB E1 00 70 */ lfd f31, 0x70(r1)
/* 804A3F9C 39 61 00 70 */ addi r11, r1, 0x70
/* 804A3FA0 4B EB E2 81 */ bl _restgpr_27
/* 804A3FA4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 804A3FA8 7C 08 03 A6 */ mtlr r0
/* 804A3FAC 38 21 00 80 */ addi r1, r1, 0x80
/* 804A3FB0 4E 80 00 20 */ blr
@@ -1,32 +0,0 @@
lbl_804A3580:
/* 804A3580 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3584 7C 08 02 A6 */ mflr r0
/* 804A3588 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A358C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A3590 93 C1 00 08 */ stw r30, 8(r1)
/* 804A3594 7C 7E 1B 78 */ mr r30, r3
/* 804A3598 7C 9F 23 78 */ mr r31, r4
/* 804A359C 4B BF A2 E9 */ bl getAlinkArcName__9daAlink_cFv
/* 804A35A0 57 E4 04 3E */ clrlwi r4, r31, 0x10
/* 804A35A4 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A35A8 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A35AC 3C A5 00 02 */ addis r5, r5, 2
/* 804A35B0 38 C0 00 80 */ li r6, 0x80
/* 804A35B4 38 A5 C2 F8 */ addi r5, r5, -15624
/* 804A35B8 4B B9 8D 35 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 804A35BC 7C 64 1B 78 */ mr r4, r3
/* 804A35C0 38 7E 05 6C */ addi r3, r30, 0x56c
/* 804A35C4 38 A0 00 01 */ li r5, 1
/* 804A35C8 38 C0 FF FF */ li r6, -1
/* 804A35CC 3C E0 80 4A */ lis r7, lit_4173@ha /* 0x804A4104@ha */
/* 804A35D0 C0 27 41 04 */ lfs f1, lit_4173@l(r7) /* 0x804A4104@l */
/* 804A35D4 38 E0 00 00 */ li r7, 0
/* 804A35D8 39 00 FF FF */ li r8, -1
/* 804A35DC 39 20 00 01 */ li r9, 1
/* 804A35E0 4B B6 A1 FD */ bl init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb
/* 804A35E4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A35E8 83 C1 00 08 */ lwz r30, 8(r1)
/* 804A35EC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A35F0 7C 08 03 A6 */ mtlr r0
/* 804A35F4 38 21 00 10 */ addi r1, r1, 0x10
/* 804A35F8 4E 80 00 20 */ blr
@@ -1,34 +0,0 @@
lbl_804A365C:
/* 804A365C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3660 7C 08 02 A6 */ mflr r0
/* 804A3664 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3668 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A366C 93 C1 00 08 */ stw r30, 8(r1)
/* 804A3670 7C 7E 1B 78 */ mr r30, r3
/* 804A3674 3C 60 80 4A */ lis r3, lit_3759@ha /* 0x804A40EC@ha */
/* 804A3678 3B E3 40 EC */ addi r31, r3, lit_3759@l /* 0x804A40EC@l */
/* 804A367C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3680 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3684 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 804A3688 81 83 06 28 */ lwz r12, 0x628(r3)
/* 804A368C 81 8C 02 A0 */ lwz r12, 0x2a0(r12)
/* 804A3690 7D 89 03 A6 */ mtctr r12
/* 804A3694 4E 80 04 21 */ bctrl
/* 804A3698 2C 03 00 00 */ cmpwi r3, 0
/* 804A369C 41 82 00 18 */ beq lbl_804A36B4
/* 804A36A0 C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 804A36A4 D0 1E 07 24 */ stfs f0, 0x724(r30)
/* 804A36A8 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 804A36AC D0 1E 07 28 */ stfs f0, 0x728(r30)
/* 804A36B0 48 00 00 10 */ b lbl_804A36C0
lbl_804A36B4:
/* 804A36B4 C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 804A36B8 D0 1E 07 24 */ stfs f0, 0x724(r30)
/* 804A36BC D0 1E 07 28 */ stfs f0, 0x728(r30)
lbl_804A36C0:
/* 804A36C0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A36C4 83 C1 00 08 */ lwz r30, 8(r1)
/* 804A36C8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A36CC 7C 08 03 A6 */ mtlr r0
/* 804A36D0 38 21 00 10 */ addi r1, r1, 0x10
/* 804A36D4 4E 80 00 20 */ blr
@@ -1,20 +0,0 @@
lbl_804A34B4:
/* 804A34B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A34B8 7C 08 02 A6 */ mflr r0
/* 804A34BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A34C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A34C4 7C 7F 1B 78 */ mr r31, r3
/* 804A34C8 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 804A34CC 4B B6 98 99 */ bl transS__14mDoMtx_stack_cFRC4cXyz
/* 804A34D0 38 7F 04 E4 */ addi r3, r31, 0x4e4
/* 804A34D4 4B B6 9A 71 */ bl ZXYrotM__14mDoMtx_stack_cFRC5csXyz
/* 804A34D8 3C 60 80 3E */ lis r3, now__14mDoMtx_stack_c@ha /* 0x803DD470@ha */
/* 804A34DC 38 63 D4 70 */ addi r3, r3, now__14mDoMtx_stack_c@l /* 0x803DD470@l */
/* 804A34E0 80 9F 05 68 */ lwz r4, 0x568(r31)
/* 804A34E4 38 84 00 24 */ addi r4, r4, 0x24
/* 804A34E8 4B EA 2F C9 */ bl PSMTXCopy
/* 804A34EC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A34F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A34F4 7C 08 03 A6 */ mtlr r0
/* 804A34F8 38 21 00 10 */ addi r1, r1, 0x10
/* 804A34FC 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_804A35FC:
/* 804A35FC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 804A3600 7C 08 02 A6 */ mflr r0
/* 804A3604 90 01 00 14 */ stw r0, 0x14(r1)
/* 804A3608 93 E1 00 0C */ stw r31, 0xc(r1)
/* 804A360C 7C 7F 1B 78 */ mr r31, r3
/* 804A3610 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 804A3614 28 00 00 04 */ cmplwi r0, 4
/* 804A3618 40 82 00 0C */ bne lbl_804A3624
/* 804A361C 38 80 00 0F */ li r4, 0xf
/* 804A3620 4B FF FF 61 */ bl setBckAnm__8daCrod_cFUs
lbl_804A3624:
/* 804A3624 38 00 00 05 */ li r0, 5
/* 804A3628 90 1F 00 B0 */ stw r0, 0xb0(r31)
/* 804A362C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 804A3630 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 804A3634 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 804A3638 4B C3 DC E9 */ bl getCopyRodBallReturnSpeed__9daAlink_cCFv
/* 804A363C D0 3F 05 2C */ stfs f1, 0x52c(r31)
/* 804A3640 38 7F 07 40 */ addi r3, r31, 0x740
/* 804A3644 4B CB B6 B9 */ bl clearData__16daPy_actorKeep_cFv
/* 804A3648 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 804A364C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 804A3650 7C 08 03 A6 */ mtlr r0
/* 804A3654 38 21 00 10 */ addi r1, r1, 0x10
/* 804A3658 4E 80 00 20 */ blr
@@ -1,24 +0,0 @@
lbl_80667D4C:
/* 80667D4C 3C 80 80 67 */ lis r4, lit_3662@ha /* 0x8066EDE8@ha */
/* 80667D50 38 A4 ED E8 */ addi r5, r4, lit_3662@l /* 0x8066EDE8@l */
/* 80667D54 3C 80 80 67 */ lis r4, __vt__10daDo_HIO_c@ha /* 0x8066F264@ha */
/* 80667D58 38 04 F2 64 */ addi r0, r4, __vt__10daDo_HIO_c@l /* 0x8066F264@l */
/* 80667D5C 90 03 00 00 */ stw r0, 0(r3)
/* 80667D60 38 00 FF FF */ li r0, -1
/* 80667D64 98 03 00 04 */ stb r0, 4(r3)
/* 80667D68 C0 05 00 00 */ lfs f0, 0(r5)
/* 80667D6C D0 03 00 08 */ stfs f0, 8(r3)
/* 80667D70 C0 05 00 04 */ lfs f0, 4(r5)
/* 80667D74 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 80667D78 C0 05 00 08 */ lfs f0, 8(r5)
/* 80667D7C D0 03 00 10 */ stfs f0, 0x10(r3)
/* 80667D80 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 80667D84 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 80667D88 C0 05 00 10 */ lfs f0, 0x10(r5)
/* 80667D8C D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80667D90 38 80 00 00 */ li r4, 0
/* 80667D94 98 83 00 1C */ stb r4, 0x1c(r3)
/* 80667D98 38 00 00 01 */ li r0, 1
/* 80667D9C 98 03 00 1D */ stb r0, 0x1d(r3)
/* 80667DA0 B0 83 00 1E */ sth r4, 0x1e(r3)
/* 80667DA4 4E 80 00 20 */ blr
@@ -1,50 +0,0 @@
lbl_80667DA8:
/* 80667DA8 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80667DAC 7C 08 02 A6 */ mflr r0
/* 80667DB0 90 01 00 44 */ stw r0, 0x44(r1)
/* 80667DB4 DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80667DB8 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */
/* 80667DBC DB C1 00 20 */ stfd f30, 0x20(r1)
/* 80667DC0 F3 C1 00 28 */ psq_st f30, 40(r1), 0, 0 /* qr0 */
/* 80667DC4 39 61 00 20 */ addi r11, r1, 0x20
/* 80667DC8 4B CF A4 11 */ bl _savegpr_28
/* 80667DCC 7C 7C 1B 78 */ mr r28, r3
/* 80667DD0 7C 9D 23 78 */ mr r29, r4
/* 80667DD4 FF C0 08 90 */ fmr f30, f1
/* 80667DD8 7C BE 2B 78 */ mr r30, r5
/* 80667DDC FF E0 10 90 */ fmr f31, f2
/* 80667DE0 3C 60 80 67 */ lis r3, lit_3662@ha /* 0x8066EDE8@ha */
/* 80667DE4 3B E3 ED E8 */ addi r31, r3, lit_3662@l /* 0x8066EDE8@l */
/* 80667DE8 C0 3C 06 08 */ lfs f1, 0x608(r28)
/* 80667DEC C0 1F 00 00 */ lfs f0, 0(r31)
/* 80667DF0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80667DF4 41 81 00 4C */ bgt lbl_80667E40
/* 80667DF8 3C 60 80 67 */ lis r3, d_a_do__stringBase0@ha /* 0x8066EFB0@ha */
/* 80667DFC 38 63 EF B0 */ addi r3, r3, d_a_do__stringBase0@l /* 0x8066EFB0@l */
/* 80667E00 3C A0 80 40 */ lis r5, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80667E04 38 A5 61 C0 */ addi r5, r5, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80667E08 3C A5 00 02 */ addis r5, r5, 2
/* 80667E0C 38 C0 00 80 */ li r6, 0x80
/* 80667E10 38 A5 C2 F8 */ addi r5, r5, -15624
/* 80667E14 4B 9D 44 D9 */ bl getRes__14dRes_control_cFPCclP11dRes_info_ci
/* 80667E18 7C 64 1B 78 */ mr r4, r3
/* 80667E1C 80 7C 05 D0 */ lwz r3, 0x5d0(r28)
/* 80667E20 57 C5 06 3E */ clrlwi r5, r30, 0x18
/* 80667E24 FC 20 F0 90 */ fmr f1, f30
/* 80667E28 FC 40 F8 90 */ fmr f2, f31
/* 80667E2C C0 7F 00 14 */ lfs f3, 0x14(r31)
/* 80667E30 C0 9F 00 18 */ lfs f4, 0x18(r31)
/* 80667E34 38 C0 00 00 */ li r6, 0
/* 80667E38 4B 9A 85 45 */ bl setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv
/* 80667E3C 93 BC 05 E4 */ stw r29, 0x5e4(r28)
lbl_80667E40:
/* 80667E40 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */
/* 80667E44 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80667E48 E3 C1 00 28 */ psq_l f30, 40(r1), 0, 0 /* qr0 */
/* 80667E4C CB C1 00 20 */ lfd f30, 0x20(r1)
/* 80667E50 39 61 00 20 */ addi r11, r1, 0x20
/* 80667E54 4B CF A3 D1 */ bl _restgpr_28
/* 80667E58 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80667E5C 7C 08 03 A6 */ mtlr r0
/* 80667E60 38 21 00 40 */ addi r1, r1, 0x40
/* 80667E64 4E 80 00 20 */ blr
@@ -1,57 +0,0 @@
lbl_80668264:
/* 80668264 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80668268 7C 08 02 A6 */ mflr r0
/* 8066826C 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 80668270 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 80668274 93 C1 00 98 */ stw r30, 0x98(r1)
/* 80668278 7C 9E 23 78 */ mr r30, r4
/* 8066827C 7C 7F 1B 78 */ mr r31, r3
/* 80668280 38 61 00 20 */ addi r3, r1, 0x20
/* 80668284 4B A0 F9 E5 */ bl __ct__11dBgS_LinChkFv
/* 80668288 C0 1E 00 00 */ lfs f0, 0(r30)
/* 8066828C D0 01 00 08 */ stfs f0, 8(r1)
/* 80668290 C0 3E 00 04 */ lfs f1, 4(r30)
/* 80668294 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80668298 C0 1E 00 08 */ lfs f0, 8(r30)
/* 8066829C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 806682A0 3C 60 80 67 */ lis r3, lit_3846@ha /* 0x8066EE10@ha */
/* 806682A4 C0 43 EE 10 */ lfs f2, lit_3846@l(r3) /* 0x8066EE10@l */
/* 806682A8 EC 01 10 2A */ fadds f0, f1, f2
/* 806682AC D0 01 00 0C */ stfs f0, 0xc(r1)
/* 806682B0 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 806682B4 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 806682B8 C0 3F 04 D4 */ lfs f1, 0x4d4(r31)
/* 806682BC D0 21 00 18 */ stfs f1, 0x18(r1)
/* 806682C0 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 806682C4 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 806682C8 EC 01 10 2A */ fadds f0, f1, f2
/* 806682CC D0 01 00 18 */ stfs f0, 0x18(r1)
/* 806682D0 38 61 00 20 */ addi r3, r1, 0x20
/* 806682D4 38 81 00 14 */ addi r4, r1, 0x14
/* 806682D8 38 A1 00 08 */ addi r5, r1, 8
/* 806682DC 7F E6 FB 78 */ mr r6, r31
/* 806682E0 4B A0 FA 85 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c
/* 806682E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 806682E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 806682EC 38 63 0F 38 */ addi r3, r3, 0xf38
/* 806682F0 38 81 00 20 */ addi r4, r1, 0x20
/* 806682F4 4B A0 C0 C1 */ bl LineCross__4cBgSFP11cBgS_LinChk
/* 806682F8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 806682FC 41 82 00 18 */ beq lbl_80668314
/* 80668300 38 61 00 20 */ addi r3, r1, 0x20
/* 80668304 38 80 FF FF */ li r4, -1
/* 80668308 4B A0 F9 D5 */ bl __dt__11dBgS_LinChkFv
/* 8066830C 38 60 00 01 */ li r3, 1
/* 80668310 48 00 00 14 */ b lbl_80668324
lbl_80668314:
/* 80668314 38 61 00 20 */ addi r3, r1, 0x20
/* 80668318 38 80 FF FF */ li r4, -1
/* 8066831C 4B A0 F9 C1 */ bl __dt__11dBgS_LinChkFv
/* 80668320 38 60 00 00 */ li r3, 0
lbl_80668324:
/* 80668324 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 80668328 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 8066832C 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80668330 7C 08 03 A6 */ mtlr r0
/* 80668334 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80668338 4E 80 00 20 */ blr
@@ -1,65 +0,0 @@
lbl_80668170:
/* 80668170 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 80668174 7C 08 02 A6 */ mflr r0
/* 80668178 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 8066817C 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 80668180 93 C1 00 98 */ stw r30, 0x98(r1)
/* 80668184 7C 9E 23 78 */ mr r30, r4
/* 80668188 7C 7F 1B 78 */ mr r31, r3
/* 8066818C 38 61 00 20 */ addi r3, r1, 0x20
/* 80668190 4B A0 FA D9 */ bl __ct__11dBgS_LinChkFv
/* 80668194 28 1E 00 00 */ cmplwi r30, 0
/* 80668198 41 82 00 A4 */ beq lbl_8066823C
/* 8066819C C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 806681A0 D0 01 00 08 */ stfs f0, 8(r1)
/* 806681A4 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
/* 806681A8 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 806681AC C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 806681B0 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 806681B4 3C 60 80 67 */ lis r3, lit_3816@ha /* 0x8066EE0C@ha */
/* 806681B8 C0 03 EE 0C */ lfs f0, lit_3816@l(r3) /* 0x8066EE0C@l */
/* 806681BC EC 01 00 2A */ fadds f0, f1, f0
/* 806681C0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 806681C4 C0 1F 04 D0 */ lfs f0, 0x4d0(r31)
/* 806681C8 D0 01 00 14 */ stfs f0, 0x14(r1)
/* 806681CC C0 1F 04 D4 */ lfs f0, 0x4d4(r31)
/* 806681D0 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 806681D4 C0 1F 04 D8 */ lfs f0, 0x4d8(r31)
/* 806681D8 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 806681DC C0 1F 05 3C */ lfs f0, 0x53c(r31)
/* 806681E0 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 806681E4 38 61 00 20 */ addi r3, r1, 0x20
/* 806681E8 38 81 00 14 */ addi r4, r1, 0x14
/* 806681EC 38 A1 00 08 */ addi r5, r1, 8
/* 806681F0 7F E6 FB 78 */ mr r6, r31
/* 806681F4 4B A0 FB 71 */ bl Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c
/* 806681F8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 806681FC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80668200 38 63 0F 38 */ addi r3, r3, 0xf38
/* 80668204 38 81 00 20 */ addi r4, r1, 0x20
/* 80668208 4B A0 C1 AD */ bl LineCross__4cBgSFP11cBgS_LinChk
/* 8066820C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 80668210 41 82 00 18 */ beq lbl_80668228
/* 80668214 38 61 00 20 */ addi r3, r1, 0x20
/* 80668218 38 80 FF FF */ li r4, -1
/* 8066821C 4B A0 FA C1 */ bl __dt__11dBgS_LinChkFv
/* 80668220 38 60 00 01 */ li r3, 1
/* 80668224 48 00 00 28 */ b lbl_8066824C
lbl_80668228:
/* 80668228 38 61 00 20 */ addi r3, r1, 0x20
/* 8066822C 38 80 FF FF */ li r4, -1
/* 80668230 4B A0 FA AD */ bl __dt__11dBgS_LinChkFv
/* 80668234 38 60 00 00 */ li r3, 0
/* 80668238 48 00 00 14 */ b lbl_8066824C
lbl_8066823C:
/* 8066823C 38 61 00 20 */ addi r3, r1, 0x20
/* 80668240 38 80 FF FF */ li r4, -1
/* 80668244 4B A0 FA 99 */ bl __dt__11dBgS_LinChkFv
/* 80668248 38 60 00 01 */ li r3, 1
lbl_8066824C:
/* 8066824C 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 80668250 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 80668254 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 80668258 7C 08 03 A6 */ mtlr r0
/* 8066825C 38 21 00 A0 */ addi r1, r1, 0xa0
/* 80668260 4E 80 00 20 */ blr
@@ -1,79 +0,0 @@
lbl_80668624:
/* 80668624 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 80668628 7C 08 02 A6 */ mflr r0
/* 8066862C 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 80668630 DB E1 00 E0 */ stfd f31, 0xe0(r1)
/* 80668634 F3 E1 00 E8 */ psq_st f31, 232(r1), 0, 0 /* qr0 */
/* 80668638 DB C1 00 D0 */ stfd f30, 0xd0(r1)
/* 8066863C F3 C1 00 D8 */ psq_st f30, 216(r1), 0, 0 /* qr0 */
/* 80668640 39 61 00 D0 */ addi r11, r1, 0xd0
/* 80668644 4B CF 9B 99 */ bl _savegpr_29
/* 80668648 7C 7D 1B 78 */ mr r29, r3
/* 8066864C 7C 9E 23 78 */ mr r30, r4
/* 80668650 FF C0 08 90 */ fmr f30, f1
/* 80668654 3C 60 80 67 */ lis r3, lit_3662@ha /* 0x8066EDE8@ha */
/* 80668658 3B E3 ED E8 */ addi r31, r3, lit_3662@l /* 0x8066EDE8@l */
/* 8066865C 38 61 00 68 */ addi r3, r1, 0x68
/* 80668660 4B A0 EF 1D */ bl __ct__11dBgS_GndChkFv
/* 80668664 C0 1E 00 00 */ lfs f0, 0(r30)
/* 80668668 D0 01 00 08 */ stfs f0, 8(r1)
/* 8066866C C0 3F 00 2C */ lfs f1, 0x2c(r31)
/* 80668670 C0 1E 00 04 */ lfs f0, 4(r30)
/* 80668674 EC 01 00 2A */ fadds f0, f1, f0
/* 80668678 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8066867C C0 1E 00 08 */ lfs f0, 8(r30)
/* 80668680 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80668684 38 61 00 68 */ addi r3, r1, 0x68
/* 80668688 38 81 00 08 */ addi r4, r1, 8
/* 8066868C 4B BF F6 81 */ bl SetPos__11cBgS_GndChkFPC3Vec
/* 80668690 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80668694 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80668698 3B C3 0F 38 */ addi r30, r3, 0xf38
/* 8066869C 7F C3 F3 78 */ mr r3, r30
/* 806686A0 38 81 00 68 */ addi r4, r1, 0x68
/* 806686A4 4B A0 BD FD */ bl GroundCross__4cBgSFP11cBgS_GndChk
/* 806686A8 FF E0 08 90 */ fmr f31, f1
/* 806686AC 38 61 00 14 */ addi r3, r1, 0x14
/* 806686B0 4B A0 F1 01 */ bl __ct__18dBgS_ObjGndChk_SplFv
/* 806686B4 38 61 00 14 */ addi r3, r1, 0x14
/* 806686B8 38 81 00 08 */ addi r4, r1, 8
/* 806686BC 4B BF F6 51 */ bl SetPos__11cBgS_GndChkFPC3Vec
/* 806686C0 7F C3 F3 78 */ mr r3, r30
/* 806686C4 38 81 00 14 */ addi r4, r1, 0x14
/* 806686C8 4B A0 BD D9 */ bl GroundCross__4cBgSFP11cBgS_GndChk
/* 806686CC EC 41 F8 28 */ fsubs f2, f1, f31
/* 806686D0 C0 3F 00 34 */ lfs f1, 0x34(r31)
/* 806686D4 C0 1F 00 0C */ lfs f0, 0xc(r31)
/* 806686D8 EC 00 07 B2 */ fmuls f0, f0, f30
/* 806686DC EC 21 00 32 */ fmuls f1, f1, f0
/* 806686E0 C0 1D 06 7C */ lfs f0, 0x67c(r29)
/* 806686E4 EC 01 00 32 */ fmuls f0, f1, f0
/* 806686E8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 806686EC 40 81 00 24 */ ble lbl_80668710
/* 806686F0 38 61 00 14 */ addi r3, r1, 0x14
/* 806686F4 38 80 FF FF */ li r4, -1
/* 806686F8 4B A0 F1 51 */ bl __dt__18dBgS_ObjGndChk_SplFv
/* 806686FC 38 61 00 68 */ addi r3, r1, 0x68
/* 80668700 38 80 FF FF */ li r4, -1
/* 80668704 4B A0 EE ED */ bl __dt__11dBgS_GndChkFv
/* 80668708 38 60 00 01 */ li r3, 1
/* 8066870C 48 00 00 20 */ b lbl_8066872C
lbl_80668710:
/* 80668710 38 61 00 14 */ addi r3, r1, 0x14
/* 80668714 38 80 FF FF */ li r4, -1
/* 80668718 4B A0 F1 31 */ bl __dt__18dBgS_ObjGndChk_SplFv
/* 8066871C 38 61 00 68 */ addi r3, r1, 0x68
/* 80668720 38 80 FF FF */ li r4, -1
/* 80668724 4B A0 EE CD */ bl __dt__11dBgS_GndChkFv
/* 80668728 38 60 00 00 */ li r3, 0
lbl_8066872C:
/* 8066872C E3 E1 00 E8 */ psq_l f31, 232(r1), 0, 0 /* qr0 */
/* 80668730 CB E1 00 E0 */ lfd f31, 0xe0(r1)
/* 80668734 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, 0 /* qr0 */
/* 80668738 CB C1 00 D0 */ lfd f30, 0xd0(r1)
/* 8066873C 39 61 00 D0 */ addi r11, r1, 0xd0
/* 80668740 4B CF 9A E9 */ bl _restgpr_29
/* 80668744 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80668748 7C 08 03 A6 */ mtlr r0
/* 8066874C 38 21 00 F0 */ addi r1, r1, 0xf0
/* 80668750 4E 80 00 20 */ blr
@@ -1,16 +0,0 @@
lbl_806685EC:
/* 806685EC A8 03 05 F2 */ lha r0, 0x5f2(r3)
/* 806685F0 2C 00 00 23 */ cmpwi r0, 0x23
/* 806685F4 41 82 00 28 */ beq lbl_8066861C
/* 806685F8 80 03 04 9C */ lwz r0, 0x49c(r3)
/* 806685FC 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
/* 80668600 41 82 00 1C */ beq lbl_8066861C
/* 80668604 38 00 00 23 */ li r0, 0x23
/* 80668608 B0 03 05 F2 */ sth r0, 0x5f2(r3)
/* 8066860C 38 00 00 00 */ li r0, 0
/* 80668610 B0 03 05 F6 */ sth r0, 0x5f6(r3)
/* 80668614 38 60 00 01 */ li r3, 1
/* 80668618 4E 80 00 20 */ blr
lbl_8066861C:
/* 8066861C 38 60 00 00 */ li r3, 0
/* 80668620 4E 80 00 20 */ blr
@@ -1,58 +0,0 @@
lbl_8066CDEC:
/* 8066CDEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8066CDF0 7C 08 02 A6 */ mflr r0
/* 8066CDF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 8066CDF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8066CDFC 93 C1 00 08 */ stw r30, 8(r1)
/* 8066CE00 7C 7E 1B 78 */ mr r30, r3
/* 8066CE04 3C 80 80 67 */ lis r4, lit_3662@ha /* 0x8066EDE8@ha */
/* 8066CE08 3B E4 ED E8 */ addi r31, r4, lit_3662@l /* 0x8066EDE8@l */
/* 8066CE0C C0 1F 00 80 */ lfs f0, 0x80(r31)
/* 8066CE10 D0 03 06 48 */ stfs f0, 0x648(r3)
/* 8066CE14 A8 03 05 F6 */ lha r0, 0x5f6(r3)
/* 8066CE18 2C 00 00 01 */ cmpwi r0, 1
/* 8066CE1C 41 82 00 34 */ beq lbl_8066CE50
/* 8066CE20 40 80 00 30 */ bge lbl_8066CE50
/* 8066CE24 2C 00 00 00 */ cmpwi r0, 0
/* 8066CE28 40 80 00 08 */ bge lbl_8066CE30
/* 8066CE2C 48 00 00 24 */ b lbl_8066CE50
lbl_8066CE30:
/* 8066CE30 38 80 00 15 */ li r4, 0x15
/* 8066CE34 C0 3F 00 44 */ lfs f1, 0x44(r31)
/* 8066CE38 38 A0 00 02 */ li r5, 2
/* 8066CE3C C0 5F 00 00 */ lfs f2, 0(r31)
/* 8066CE40 4B FF AF 69 */ bl anm_init__FP8do_classifUcf
/* 8066CE44 A8 7E 05 F6 */ lha r3, 0x5f6(r30)
/* 8066CE48 38 03 00 01 */ addi r0, r3, 1
/* 8066CE4C B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_8066CE50:
/* 8066CE50 38 7E 05 2C */ addi r3, r30, 0x52c
/* 8066CE54 C0 3F 00 00 */ lfs f1, 0(r31)
/* 8066CE58 C0 5F 00 0C */ lfs f2, 0xc(r31)
/* 8066CE5C 4B C0 2C 25 */ bl cLib_addCalc0__FPfff
/* 8066CE60 38 00 00 01 */ li r0, 1
/* 8066CE64 98 1E 06 16 */ stb r0, 0x616(r30)
/* 8066CE68 38 7E 04 DE */ addi r3, r30, 0x4de
/* 8066CE6C A8 9E 05 CC */ lha r4, 0x5cc(r30)
/* 8066CE70 38 A0 00 02 */ li r5, 2
/* 8066CE74 38 C0 10 00 */ li r6, 0x1000
/* 8066CE78 4B C0 37 91 */ bl cLib_addCalcAngleS2__FPssss
/* 8066CE7C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8066CE80 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8066CE84 88 03 4F AD */ lbz r0, 0x4fad(r3)
/* 8066CE88 28 00 00 00 */ cmplwi r0, 0
/* 8066CE8C 40 82 00 20 */ bne lbl_8066CEAC
/* 8066CE90 C0 3E 05 C8 */ lfs f1, 0x5c8(r30)
/* 8066CE94 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 8066CE98 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8066CE9C 40 81 00 10 */ ble lbl_8066CEAC
/* 8066CEA0 38 00 00 00 */ li r0, 0
/* 8066CEA4 B0 1E 05 F2 */ sth r0, 0x5f2(r30)
/* 8066CEA8 B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_8066CEAC:
/* 8066CEAC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8066CEB0 83 C1 00 08 */ lwz r30, 8(r1)
/* 8066CEB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8066CEB8 7C 08 03 A6 */ mtlr r0
/* 8066CEBC 38 21 00 10 */ addi r1, r1, 0x10
/* 8066CEC0 4E 80 00 20 */ blr
@@ -1,87 +0,0 @@
lbl_806698D0:
/* 806698D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 806698D4 7C 08 02 A6 */ mflr r0
/* 806698D8 90 01 00 14 */ stw r0, 0x14(r1)
/* 806698DC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 806698E0 93 C1 00 08 */ stw r30, 8(r1)
/* 806698E4 7C 7E 1B 78 */ mr r30, r3
/* 806698E8 3C 60 80 67 */ lis r3, lit_3662@ha /* 0x8066EDE8@ha */
/* 806698EC 3B E3 ED E8 */ addi r31, r3, lit_3662@l /* 0x8066EDE8@l */
/* 806698F0 38 00 00 01 */ li r0, 1
/* 806698F4 98 1E 06 16 */ stb r0, 0x616(r30)
/* 806698F8 C0 1F 00 C0 */ lfs f0, 0xc0(r31)
/* 806698FC D0 1E 06 48 */ stfs f0, 0x648(r30)
/* 80669900 A8 1E 05 F6 */ lha r0, 0x5f6(r30)
/* 80669904 2C 00 00 01 */ cmpwi r0, 1
/* 80669908 41 82 00 5C */ beq lbl_80669964
/* 8066990C 40 80 00 A0 */ bge lbl_806699AC
/* 80669910 2C 00 00 00 */ cmpwi r0, 0
/* 80669914 40 80 00 08 */ bge lbl_8066991C
/* 80669918 48 00 00 94 */ b lbl_806699AC
lbl_8066991C:
/* 8066991C C0 1F 00 00 */ lfs f0, 0(r31)
/* 80669920 D0 1E 05 E8 */ stfs f0, 0x5e8(r30)
/* 80669924 C0 3F 00 C8 */ lfs f1, 0xc8(r31)
/* 80669928 4B BF E0 2D */ bl cM_rndF__Ff
/* 8066992C C0 1F 00 C4 */ lfs f0, 0xc4(r31)
/* 80669930 EC 00 08 2A */ fadds f0, f0, f1
/* 80669934 D0 1E 05 EC */ stfs f0, 0x5ec(r30)
/* 80669938 7F C3 F3 78 */ mr r3, r30
/* 8066993C 38 80 00 0E */ li r4, 0xe
/* 80669940 C0 3F 00 0C */ lfs f1, 0xc(r31)
/* 80669944 38 A0 00 02 */ li r5, 2
/* 80669948 C0 5F 00 CC */ lfs f2, 0xcc(r31)
/* 8066994C C0 1E 05 E8 */ lfs f0, 0x5e8(r30)
/* 80669950 EC 42 00 32 */ fmuls f2, f2, f0
/* 80669954 4B FF E4 55 */ bl anm_init__FP8do_classifUcf
/* 80669958 A8 7E 05 F6 */ lha r3, 0x5f6(r30)
/* 8066995C 38 03 00 01 */ addi r0, r3, 1
/* 80669960 B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_80669964:
/* 80669964 38 7E 05 E8 */ addi r3, r30, 0x5e8
/* 80669968 C0 3E 05 EC */ lfs f1, 0x5ec(r30)
/* 8066996C C0 5F 00 00 */ lfs f2, 0(r31)
/* 80669970 C0 7F 00 D0 */ lfs f3, 0xd0(r31)
/* 80669974 4B C0 60 C9 */ bl cLib_addCalc2__FPffff
/* 80669978 C0 1E 05 E8 */ lfs f0, 0x5e8(r30)
/* 8066997C 80 7E 05 D0 */ lwz r3, 0x5d0(r30)
/* 80669980 D0 03 00 18 */ stfs f0, 0x18(r3)
/* 80669984 C0 5E 05 C8 */ lfs f2, 0x5c8(r30)
/* 80669988 C0 3F 00 D4 */ lfs f1, 0xd4(r31)
/* 8066998C C0 1E 06 7C */ lfs f0, 0x67c(r30)
/* 80669990 EC 01 00 32 */ fmuls f0, f1, f0
/* 80669994 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80669998 40 80 00 14 */ bge lbl_806699AC
/* 8066999C 38 00 00 04 */ li r0, 4
/* 806699A0 B0 1E 05 F2 */ sth r0, 0x5f2(r30)
/* 806699A4 38 00 00 00 */ li r0, 0
/* 806699A8 B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_806699AC:
/* 806699AC 3C 60 80 67 */ lis r3, l_HIO@ha /* 0x8066F2C4@ha */
/* 806699B0 38 63 F2 C4 */ addi r3, r3, l_HIO@l /* 0x8066F2C4@l */
/* 806699B4 C0 63 00 10 */ lfs f3, 0x10(r3)
/* 806699B8 38 7E 05 2C */ addi r3, r30, 0x52c
/* 806699BC C0 3F 00 D8 */ lfs f1, 0xd8(r31)
/* 806699C0 C0 1E 05 E8 */ lfs f0, 0x5e8(r30)
/* 806699C4 EC 00 00 F2 */ fmuls f0, f0, f3
/* 806699C8 EC 21 00 32 */ fmuls f1, f1, f0
/* 806699CC C0 5F 00 00 */ lfs f2, 0(r31)
/* 806699D0 C0 1F 00 A8 */ lfs f0, 0xa8(r31)
/* 806699D4 EC 60 00 F2 */ fmuls f3, f0, f3
/* 806699D8 4B C0 60 65 */ bl cLib_addCalc2__FPffff
/* 806699DC 38 7E 04 DE */ addi r3, r30, 0x4de
/* 806699E0 A8 9E 05 CC */ lha r4, 0x5cc(r30)
/* 806699E4 38 A0 00 08 */ li r5, 8
/* 806699E8 38 C0 08 00 */ li r6, 0x800
/* 806699EC 4B C0 6C 1D */ bl cLib_addCalcAngleS2__FPssss
/* 806699F0 7F C3 F3 78 */ mr r3, r30
/* 806699F4 4B FF F1 AD */ bl area_check__FP8do_class
/* 806699F8 7F C3 F3 78 */ mr r3, r30
/* 806699FC C0 3E 05 2C */ lfs f1, 0x52c(r30)
/* 80669A00 4B FF F1 19 */ bl move_dansa_check__FP8do_classf
/* 80669A04 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80669A08 83 C1 00 08 */ lwz r30, 8(r1)
/* 80669A0C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80669A10 7C 08 03 A6 */ mtlr r0
/* 80669A14 38 21 00 10 */ addi r1, r1, 0x10
/* 80669A18 4E 80 00 20 */ blr
@@ -1,97 +0,0 @@
lbl_80669A1C:
/* 80669A1C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80669A20 7C 08 02 A6 */ mflr r0
/* 80669A24 90 01 00 14 */ stw r0, 0x14(r1)
/* 80669A28 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80669A2C 93 C1 00 08 */ stw r30, 8(r1)
/* 80669A30 7C 7E 1B 78 */ mr r30, r3
/* 80669A34 3C 80 80 67 */ lis r4, lit_3662@ha /* 0x8066EDE8@ha */
/* 80669A38 3B E4 ED E8 */ addi r31, r4, lit_3662@l /* 0x8066EDE8@l */
/* 80669A3C 38 00 00 01 */ li r0, 1
/* 80669A40 98 03 06 16 */ stb r0, 0x616(r3)
/* 80669A44 C0 1F 00 B0 */ lfs f0, 0xb0(r31)
/* 80669A48 D0 03 06 48 */ stfs f0, 0x648(r3)
/* 80669A4C A8 03 05 F6 */ lha r0, 0x5f6(r3)
/* 80669A50 2C 00 00 01 */ cmpwi r0, 1
/* 80669A54 41 82 00 3C */ beq lbl_80669A90
/* 80669A58 40 80 00 58 */ bge lbl_80669AB0
/* 80669A5C 2C 00 00 00 */ cmpwi r0, 0
/* 80669A60 40 80 00 08 */ bge lbl_80669A68
/* 80669A64 48 00 00 4C */ b lbl_80669AB0
lbl_80669A68:
/* 80669A68 C0 1F 00 90 */ lfs f0, 0x90(r31)
/* 80669A6C D0 1E 05 E8 */ stfs f0, 0x5e8(r30)
/* 80669A70 38 80 00 16 */ li r4, 0x16
/* 80669A74 C0 3F 00 8C */ lfs f1, 0x8c(r31)
/* 80669A78 38 A0 00 02 */ li r5, 2
/* 80669A7C C0 5E 05 E8 */ lfs f2, 0x5e8(r30)
/* 80669A80 4B FF E3 29 */ bl anm_init__FP8do_classifUcf
/* 80669A84 A8 7E 05 F6 */ lha r3, 0x5f6(r30)
/* 80669A88 38 03 00 01 */ addi r0, r3, 1
/* 80669A8C B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_80669A90:
/* 80669A90 38 7E 05 E8 */ addi r3, r30, 0x5e8
/* 80669A94 C0 3F 00 C4 */ lfs f1, 0xc4(r31)
/* 80669A98 C0 5F 00 00 */ lfs f2, 0(r31)
/* 80669A9C C0 7F 00 B4 */ lfs f3, 0xb4(r31)
/* 80669AA0 4B C0 5F 9D */ bl cLib_addCalc2__FPffff
/* 80669AA4 C0 1E 05 E8 */ lfs f0, 0x5e8(r30)
/* 80669AA8 80 7E 05 D0 */ lwz r3, 0x5d0(r30)
/* 80669AAC D0 03 00 18 */ stfs f0, 0x18(r3)
lbl_80669AB0:
/* 80669AB0 38 7E 05 2C */ addi r3, r30, 0x52c
/* 80669AB4 C0 3E 05 E8 */ lfs f1, 0x5e8(r30)
/* 80669AB8 3C 80 80 67 */ lis r4, l_HIO@ha /* 0x8066F2C4@ha */
/* 80669ABC 38 84 F2 C4 */ addi r4, r4, l_HIO@l /* 0x8066F2C4@l */
/* 80669AC0 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 80669AC4 EC 21 00 32 */ fmuls f1, f1, f0
/* 80669AC8 C0 5F 00 00 */ lfs f2, 0(r31)
/* 80669ACC C0 7F 00 44 */ lfs f3, 0x44(r31)
/* 80669AD0 4B C0 5F 6D */ bl cLib_addCalc2__FPffff
/* 80669AD4 38 7E 04 DE */ addi r3, r30, 0x4de
/* 80669AD8 A8 9E 05 CC */ lha r4, 0x5cc(r30)
/* 80669ADC 38 A0 00 08 */ li r5, 8
/* 80669AE0 38 C0 04 00 */ li r6, 0x400
/* 80669AE4 4B C0 6B 25 */ bl cLib_addCalcAngleS2__FPssss
/* 80669AE8 C0 5E 05 C8 */ lfs f2, 0x5c8(r30)
/* 80669AEC C0 1F 00 BC */ lfs f0, 0xbc(r31)
/* 80669AF0 C0 3E 06 7C */ lfs f1, 0x67c(r30)
/* 80669AF4 EC 00 00 72 */ fmuls f0, f0, f1
/* 80669AF8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80669AFC 40 80 00 38 */ bge lbl_80669B34
/* 80669B00 3C 60 80 67 */ lis r3, l_HIO@ha /* 0x8066F2C4@ha */
/* 80669B04 38 63 F2 C4 */ addi r3, r3, l_HIO@l /* 0x8066F2C4@l */
/* 80669B08 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 80669B0C 28 00 00 00 */ cmplwi r0, 0
/* 80669B10 41 82 00 10 */ beq lbl_80669B20
/* 80669B14 38 00 00 07 */ li r0, 7
/* 80669B18 B0 1E 05 F2 */ sth r0, 0x5f2(r30)
/* 80669B1C 48 00 00 0C */ b lbl_80669B28
lbl_80669B20:
/* 80669B20 38 00 00 06 */ li r0, 6
/* 80669B24 B0 1E 05 F2 */ sth r0, 0x5f2(r30)
lbl_80669B28:
/* 80669B28 38 00 00 00 */ li r0, 0
/* 80669B2C B0 1E 05 F6 */ sth r0, 0x5f6(r30)
/* 80669B30 48 00 00 24 */ b lbl_80669B54
lbl_80669B34:
/* 80669B34 C0 1F 00 DC */ lfs f0, 0xdc(r31)
/* 80669B38 EC 00 00 72 */ fmuls f0, f0, f1
/* 80669B3C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80669B40 40 81 00 14 */ ble lbl_80669B54
/* 80669B44 38 00 00 03 */ li r0, 3
/* 80669B48 B0 1E 05 F2 */ sth r0, 0x5f2(r30)
/* 80669B4C 38 00 00 00 */ li r0, 0
/* 80669B50 B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_80669B54:
/* 80669B54 7F C3 F3 78 */ mr r3, r30
/* 80669B58 4B FF F0 49 */ bl area_check__FP8do_class
/* 80669B5C 7F C3 F3 78 */ mr r3, r30
/* 80669B60 C0 3E 05 2C */ lfs f1, 0x52c(r30)
/* 80669B64 4B FF EF B5 */ bl move_dansa_check__FP8do_classf
/* 80669B68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80669B6C 83 C1 00 08 */ lwz r30, 8(r1)
/* 80669B70 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80669B74 7C 08 03 A6 */ mtlr r0
/* 80669B78 38 21 00 10 */ addi r1, r1, 0x10
/* 80669B7C 4E 80 00 20 */ blr
@@ -1,76 +0,0 @@
lbl_8066B650:
/* 8066B650 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8066B654 7C 08 02 A6 */ mflr r0
/* 8066B658 90 01 00 24 */ stw r0, 0x24(r1)
/* 8066B65C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8066B660 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8066B664 7C 7E 1B 78 */ mr r30, r3
/* 8066B668 3C 60 80 67 */ lis r3, lit_3662@ha /* 0x8066EDE8@ha */
/* 8066B66C 3B E3 ED E8 */ addi r31, r3, lit_3662@l /* 0x8066EDE8@l */
/* 8066B670 38 00 00 01 */ li r0, 1
/* 8066B674 98 1E 06 16 */ stb r0, 0x616(r30)
/* 8066B678 C0 1F 00 80 */ lfs f0, 0x80(r31)
/* 8066B67C D0 1E 06 48 */ stfs f0, 0x648(r30)
/* 8066B680 A8 1E 05 F6 */ lha r0, 0x5f6(r30)
/* 8066B684 2C 00 00 01 */ cmpwi r0, 1
/* 8066B688 41 82 00 44 */ beq lbl_8066B6CC
/* 8066B68C 40 80 00 40 */ bge lbl_8066B6CC
/* 8066B690 2C 00 00 00 */ cmpwi r0, 0
/* 8066B694 40 80 00 08 */ bge lbl_8066B69C
/* 8066B698 48 00 00 34 */ b lbl_8066B6CC
lbl_8066B69C:
/* 8066B69C C0 3F 01 44 */ lfs f1, 0x144(r31)
/* 8066B6A0 4B BF C2 B5 */ bl cM_rndF__Ff
/* 8066B6A4 C0 1F 00 A0 */ lfs f0, 0xa0(r31)
/* 8066B6A8 EC 40 08 2A */ fadds f2, f0, f1
/* 8066B6AC 7F C3 F3 78 */ mr r3, r30
/* 8066B6B0 38 80 00 13 */ li r4, 0x13
/* 8066B6B4 C0 3F 00 44 */ lfs f1, 0x44(r31)
/* 8066B6B8 38 A0 00 02 */ li r5, 2
/* 8066B6BC 4B FF C6 ED */ bl anm_init__FP8do_classifUcf
/* 8066B6C0 A8 7E 05 F6 */ lha r3, 0x5f6(r30)
/* 8066B6C4 38 03 00 01 */ addi r0, r3, 1
/* 8066B6C8 B0 1E 05 F6 */ sth r0, 0x5f6(r30)
lbl_8066B6CC:
/* 8066B6CC 3C 60 80 67 */ lis r3, l_HIO@ha /* 0x8066F2C4@ha */
/* 8066B6D0 38 63 F2 C4 */ addi r3, r3, l_HIO@l /* 0x8066F2C4@l */
/* 8066B6D4 C0 23 00 14 */ lfs f1, 0x14(r3)
/* 8066B6D8 38 7E 05 2C */ addi r3, r30, 0x52c
/* 8066B6DC C0 5F 00 00 */ lfs f2, 0(r31)
/* 8066B6E0 C0 1F 01 14 */ lfs f0, 0x114(r31)
/* 8066B6E4 EC 60 00 72 */ fmuls f3, f0, f1
/* 8066B6E8 4B C0 43 55 */ bl cLib_addCalc2__FPffff
/* 8066B6EC 38 7E 04 DE */ addi r3, r30, 0x4de
/* 8066B6F0 A8 9E 05 CC */ lha r4, 0x5cc(r30)
/* 8066B6F4 38 A0 00 10 */ li r5, 0x10
/* 8066B6F8 38 C0 01 00 */ li r6, 0x100
/* 8066B6FC 4B C0 4F 0D */ bl cLib_addCalcAngleS2__FPssss
/* 8066B700 C0 1F 00 14 */ lfs f0, 0x14(r31)
/* 8066B704 D0 1E 04 FC */ stfs f0, 0x4fc(r30)
/* 8066B708 D0 1E 05 30 */ stfs f0, 0x530(r30)
/* 8066B70C 38 7E 04 D4 */ addi r3, r30, 0x4d4
/* 8066B710 C0 3E 06 5C */ lfs f1, 0x65c(r30)
/* 8066B714 C0 1F 01 48 */ lfs f0, 0x148(r31)
/* 8066B718 EC 21 00 28 */ fsubs f1, f1, f0
/* 8066B71C C0 5F 00 00 */ lfs f2, 0(r31)
/* 8066B720 C0 7F 00 44 */ lfs f3, 0x44(r31)
/* 8066B724 4B C0 43 19 */ bl cLib_addCalc2__FPffff
/* 8066B728 C0 1E 05 38 */ lfs f0, 0x538(r30)
/* 8066B72C D0 01 00 08 */ stfs f0, 8(r1)
/* 8066B730 C0 1E 05 3C */ lfs f0, 0x53c(r30)
/* 8066B734 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8066B738 C0 1E 05 40 */ lfs f0, 0x540(r30)
/* 8066B73C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8066B740 C0 1E 06 5C */ lfs f0, 0x65c(r30)
/* 8066B744 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8066B748 38 7E 0B CC */ addi r3, r30, 0xbcc
/* 8066B74C 38 81 00 08 */ addi r4, r1, 8
/* 8066B750 C0 3F 01 4C */ lfs f1, 0x14c(r31)
/* 8066B754 C0 5F 00 C8 */ lfs f2, 0xc8(r31)
/* 8066B758 4B 9B 19 B5 */ bl fopAcM_effHamonSet__FPUlPC4cXyzff
/* 8066B75C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8066B760 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8066B764 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8066B768 7C 08 03 A6 */ mtlr r0
/* 8066B76C 38 21 00 20 */ addi r1, r1, 0x20
/* 8066B770 4E 80 00 20 */ blr
@@ -1,138 +0,0 @@
lbl_8066A1C4:
/* 8066A1C4 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8066A1C8 7C 08 02 A6 */ mflr r0
/* 8066A1CC 90 01 00 44 */ stw r0, 0x44(r1)
/* 8066A1D0 39 61 00 40 */ addi r11, r1, 0x40
/* 8066A1D4 4B CF 80 09 */ bl _savegpr_29
/* 8066A1D8 7C 7F 1B 78 */ mr r31, r3
/* 8066A1DC 3C 60 80 67 */ lis r3, lit_3662@ha /* 0x8066EDE8@ha */
/* 8066A1E0 3B C3 ED E8 */ addi r30, r3, lit_3662@l /* 0x8066EDE8@l */
/* 8066A1E4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8066A1E8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8066A1EC 83 A3 5D AC */ lwz r29, 0x5dac(r3)
/* 8066A1F0 38 00 00 01 */ li r0, 1
/* 8066A1F4 98 1F 06 16 */ stb r0, 0x616(r31)
/* 8066A1F8 C0 1E 00 C0 */ lfs f0, 0xc0(r30)
/* 8066A1FC D0 1F 06 48 */ stfs f0, 0x648(r31)
/* 8066A200 A8 7F 05 F6 */ lha r3, 0x5f6(r31)
/* 8066A204 2C 03 00 01 */ cmpwi r3, 1
/* 8066A208 41 82 00 1C */ beq lbl_8066A224
/* 8066A20C 40 80 01 10 */ bge lbl_8066A31C
/* 8066A210 2C 03 00 00 */ cmpwi r3, 0
/* 8066A214 40 80 00 08 */ bge lbl_8066A21C
/* 8066A218 48 00 01 04 */ b lbl_8066A31C
lbl_8066A21C:
/* 8066A21C 38 03 00 01 */ addi r0, r3, 1
/* 8066A220 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_8066A224:
/* 8066A224 A8 1F 05 FC */ lha r0, 0x5fc(r31)
/* 8066A228 2C 00 00 00 */ cmpwi r0, 0
/* 8066A22C 40 82 00 F0 */ bne lbl_8066A31C
/* 8066A230 C0 3E 00 78 */ lfs f1, 0x78(r30)
/* 8066A234 4B BF D7 21 */ bl cM_rndF__Ff
/* 8066A238 C0 1E 00 84 */ lfs f0, 0x84(r30)
/* 8066A23C EC 00 08 2A */ fadds f0, f0, f1
/* 8066A240 FC 00 00 1E */ fctiwz f0, f0
/* 8066A244 D8 01 00 18 */ stfd f0, 0x18(r1)
/* 8066A248 80 01 00 1C */ lwz r0, 0x1c(r1)
/* 8066A24C B0 1F 05 FC */ sth r0, 0x5fc(r31)
/* 8066A250 C0 3E 01 10 */ lfs f1, 0x110(r30)
/* 8066A254 4B BF D7 39 */ bl cM_rndFX__Ff
/* 8066A258 FC 00 08 1E */ fctiwz f0, f1
/* 8066A25C D8 01 00 20 */ stfd f0, 0x20(r1)
/* 8066A260 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8066A264 B0 1F 06 56 */ sth r0, 0x656(r31)
/* 8066A268 C0 3E 00 00 */ lfs f1, 0(r30)
/* 8066A26C 4B BF D6 E9 */ bl cM_rndF__Ff
/* 8066A270 C0 1E 01 14 */ lfs f0, 0x114(r30)
/* 8066A274 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8066A278 40 80 00 1C */ bge lbl_8066A294
/* 8066A27C C0 3E 00 A8 */ lfs f1, 0xa8(r30)
/* 8066A280 4B BF D6 D5 */ bl cM_rndF__Ff
/* 8066A284 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8066A288 EC 00 08 2A */ fadds f0, f0, f1
/* 8066A28C D0 1F 05 E8 */ stfs f0, 0x5e8(r31)
/* 8066A290 48 00 00 1C */ b lbl_8066A2AC
lbl_8066A294:
/* 8066A294 C0 3E 00 A8 */ lfs f1, 0xa8(r30)
/* 8066A298 4B BF D6 BD */ bl cM_rndF__Ff
/* 8066A29C C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 8066A2A0 EC 00 08 2A */ fadds f0, f0, f1
/* 8066A2A4 FC 00 00 50 */ fneg f0, f0
/* 8066A2A8 D0 1F 05 E8 */ stfs f0, 0x5e8(r31)
lbl_8066A2AC:
/* 8066A2AC 7F E3 FB 78 */ mr r3, r31
/* 8066A2B0 38 80 00 11 */ li r4, 0x11
/* 8066A2B4 C0 3E 00 8C */ lfs f1, 0x8c(r30)
/* 8066A2B8 38 A0 00 02 */ li r5, 2
/* 8066A2BC C0 5F 05 E8 */ lfs f2, 0x5e8(r31)
/* 8066A2C0 4B FF DA E9 */ bl anm_init__FP8do_classifUcf
/* 8066A2C4 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 8066A2C8 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 8066A2CC 80 63 00 00 */ lwz r3, 0(r3)
/* 8066A2D0 A8 9D 04 E6 */ lha r4, 0x4e6(r29)
/* 8066A2D4 4B 9A 21 09 */ bl mDoMtx_YrotS__FPA4_fs
/* 8066A2D8 C0 3E 00 1C */ lfs f1, 0x1c(r30)
/* 8066A2DC 4B BF D6 B1 */ bl cM_rndFX__Ff
/* 8066A2E0 D0 21 00 08 */ stfs f1, 8(r1)
/* 8066A2E4 C0 1E 00 14 */ lfs f0, 0x14(r30)
/* 8066A2E8 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 8066A2EC C0 3E 00 24 */ lfs f1, 0x24(r30)
/* 8066A2F0 4B BF D6 65 */ bl cM_rndF__Ff
/* 8066A2F4 C0 1E 00 F8 */ lfs f0, 0xf8(r30)
/* 8066A2F8 EC 00 08 2A */ fadds f0, f0, f1
/* 8066A2FC D0 01 00 10 */ stfs f0, 0x10(r1)
/* 8066A300 38 61 00 08 */ addi r3, r1, 8
/* 8066A304 38 9F 05 B8 */ addi r4, r31, 0x5b8
/* 8066A308 4B C0 6B E5 */ bl MtxPosition__FP4cXyzP4cXyz
/* 8066A30C 38 7F 05 B8 */ addi r3, r31, 0x5b8
/* 8066A310 38 9D 04 D0 */ addi r4, r29, 0x4d0
/* 8066A314 7C 65 1B 78 */ mr r5, r3
/* 8066A318 4B CD CD 79 */ bl PSVECAdd
lbl_8066A31C:
/* 8066A31C 38 7F 04 D0 */ addi r3, r31, 0x4d0
/* 8066A320 C0 3F 05 B8 */ lfs f1, 0x5b8(r31)
/* 8066A324 C0 5E 00 A8 */ lfs f2, 0xa8(r30)
/* 8066A328 C0 7E 00 0C */ lfs f3, 0xc(r30)
/* 8066A32C 4B C0 57 11 */ bl cLib_addCalc2__FPffff
/* 8066A330 38 7F 04 D8 */ addi r3, r31, 0x4d8
/* 8066A334 C0 3F 05 C0 */ lfs f1, 0x5c0(r31)
/* 8066A338 C0 5E 00 A8 */ lfs f2, 0xa8(r30)
/* 8066A33C C0 7E 00 0C */ lfs f3, 0xc(r30)
/* 8066A340 4B C0 56 FD */ bl cLib_addCalc2__FPffff
/* 8066A344 38 7F 05 2C */ addi r3, r31, 0x52c
/* 8066A348 C0 3E 00 00 */ lfs f1, 0(r30)
/* 8066A34C C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 8066A350 4B C0 57 31 */ bl cLib_addCalc0__FPfff
/* 8066A354 38 7F 04 DE */ addi r3, r31, 0x4de
/* 8066A358 A8 9F 05 CC */ lha r4, 0x5cc(r31)
/* 8066A35C A8 1F 06 54 */ lha r0, 0x654(r31)
/* 8066A360 7C 04 02 14 */ add r0, r4, r0
/* 8066A364 7C 04 07 34 */ extsh r4, r0
/* 8066A368 38 A0 00 04 */ li r5, 4
/* 8066A36C 38 C0 08 00 */ li r6, 0x800
/* 8066A370 4B C0 62 99 */ bl cLib_addCalcAngleS2__FPssss
/* 8066A374 38 7F 06 54 */ addi r3, r31, 0x654
/* 8066A378 A8 9F 06 56 */ lha r4, 0x656(r31)
/* 8066A37C 38 A0 00 04 */ li r5, 4
/* 8066A380 38 C0 10 00 */ li r6, 0x1000
/* 8066A384 4B C0 62 85 */ bl cLib_addCalcAngleS2__FPssss
/* 8066A388 C0 5F 05 C8 */ lfs f2, 0x5c8(r31)
/* 8066A38C C0 3E 00 30 */ lfs f1, 0x30(r30)
/* 8066A390 C0 1F 06 7C */ lfs f0, 0x67c(r31)
/* 8066A394 EC 01 00 32 */ fmuls f0, f1, f0
/* 8066A398 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8066A39C 40 81 00 14 */ ble lbl_8066A3B0
/* 8066A3A0 38 00 00 03 */ li r0, 3
/* 8066A3A4 B0 1F 05 F2 */ sth r0, 0x5f2(r31)
/* 8066A3A8 38 00 00 00 */ li r0, 0
/* 8066A3AC B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_8066A3B0:
/* 8066A3B0 7F E3 FB 78 */ mr r3, r31
/* 8066A3B4 4B FF E7 ED */ bl area_check__FP8do_class
/* 8066A3B8 39 61 00 40 */ addi r11, r1, 0x40
/* 8066A3BC 4B CF 7E 6D */ bl _restgpr_29
/* 8066A3C0 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8066A3C4 7C 08 03 A6 */ mtlr r0
/* 8066A3C8 38 21 00 40 */ addi r1, r1, 0x40
/* 8066A3CC 4E 80 00 20 */ blr
@@ -1,108 +0,0 @@
lbl_8066973C:
/* 8066973C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80669740 7C 08 02 A6 */ mflr r0
/* 80669744 90 01 00 24 */ stw r0, 0x24(r1)
/* 80669748 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8066974C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80669750 7C 7F 1B 78 */ mr r31, r3
/* 80669754 3C 80 80 67 */ lis r4, lit_3662@ha /* 0x8066EDE8@ha */
/* 80669758 3B C4 ED E8 */ addi r30, r4, lit_3662@l /* 0x8066EDE8@l */
/* 8066975C 38 00 00 01 */ li r0, 1
/* 80669760 98 03 06 16 */ stb r0, 0x616(r3)
/* 80669764 C0 1E 00 B0 */ lfs f0, 0xb0(r30)
/* 80669768 D0 03 06 48 */ stfs f0, 0x648(r3)
/* 8066976C A8 03 05 F6 */ lha r0, 0x5f6(r3)
/* 80669770 2C 00 00 01 */ cmpwi r0, 1
/* 80669774 41 82 00 3C */ beq lbl_806697B0
/* 80669778 40 80 00 A8 */ bge lbl_80669820
/* 8066977C 2C 00 00 00 */ cmpwi r0, 0
/* 80669780 40 80 00 08 */ bge lbl_80669788
/* 80669784 48 00 00 9C */ b lbl_80669820
lbl_80669788:
/* 80669788 C0 1E 00 B8 */ lfs f0, 0xb8(r30)
/* 8066978C D0 1F 05 E8 */ stfs f0, 0x5e8(r31)
/* 80669790 38 80 00 16 */ li r4, 0x16
/* 80669794 C0 3E 00 84 */ lfs f1, 0x84(r30)
/* 80669798 38 A0 00 02 */ li r5, 2
/* 8066979C C0 5F 05 E8 */ lfs f2, 0x5e8(r31)
/* 806697A0 4B FF E6 09 */ bl anm_init__FP8do_classifUcf
/* 806697A4 A8 7F 05 F6 */ lha r3, 0x5f6(r31)
/* 806697A8 38 03 00 01 */ addi r0, r3, 1
/* 806697AC B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_806697B0:
/* 806697B0 38 7F 05 E8 */ addi r3, r31, 0x5e8
/* 806697B4 C0 3E 00 0C */ lfs f1, 0xc(r30)
/* 806697B8 C0 5E 00 00 */ lfs f2, 0(r30)
/* 806697BC C0 7E 00 B4 */ lfs f3, 0xb4(r30)
/* 806697C0 4B C0 62 7D */ bl cLib_addCalc2__FPffff
/* 806697C4 C0 1F 05 E8 */ lfs f0, 0x5e8(r31)
/* 806697C8 80 7F 05 D0 */ lwz r3, 0x5d0(r31)
/* 806697CC D0 03 00 18 */ stfs f0, 0x18(r3)
/* 806697D0 C0 3F 05 E8 */ lfs f1, 0x5e8(r31)
/* 806697D4 C0 1E 00 0C */ lfs f0, 0xc(r30)
/* 806697D8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 806697DC 4C 41 13 82 */ cror 2, 1, 2
/* 806697E0 40 82 00 40 */ bne lbl_80669820
/* 806697E4 38 00 00 03 */ li r0, 3
/* 806697E8 B0 1F 05 F2 */ sth r0, 0x5f2(r31)
/* 806697EC 38 00 00 00 */ li r0, 0
/* 806697F0 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
/* 806697F4 3C 60 00 05 */ lis r3, 0x0005 /* 0x0005000D@ha */
/* 806697F8 38 03 00 0D */ addi r0, r3, 0x000D /* 0x0005000D@l */
/* 806697FC 90 01 00 08 */ stw r0, 8(r1)
/* 80669800 38 7F 0B E4 */ addi r3, r31, 0xbe4
/* 80669804 38 81 00 08 */ addi r4, r1, 8
/* 80669808 38 A0 00 00 */ li r5, 0
/* 8066980C 38 C0 FF FF */ li r6, -1
/* 80669810 81 9F 0B F4 */ lwz r12, 0xbf4(r31)
/* 80669814 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 80669818 7D 89 03 A6 */ mtctr r12
/* 8066981C 4E 80 04 21 */ bctrl
lbl_80669820:
/* 80669820 3C 60 80 67 */ lis r3, l_HIO@ha /* 0x8066F2C4@ha */
/* 80669824 38 63 F2 C4 */ addi r3, r3, l_HIO@l /* 0x8066F2C4@l */
/* 80669828 C0 63 00 0C */ lfs f3, 0xc(r3)
/* 8066982C 38 7F 05 2C */ addi r3, r31, 0x52c
/* 80669830 C0 1F 05 E8 */ lfs f0, 0x5e8(r31)
/* 80669834 EC 20 00 F2 */ fmuls f1, f0, f3
/* 80669838 C0 5E 00 00 */ lfs f2, 0(r30)
/* 8066983C C0 1E 00 A8 */ lfs f0, 0xa8(r30)
/* 80669840 EC 60 00 F2 */ fmuls f3, f0, f3
/* 80669844 4B C0 61 F9 */ bl cLib_addCalc2__FPffff
/* 80669848 38 7F 04 DE */ addi r3, r31, 0x4de
/* 8066984C A8 9F 05 CC */ lha r4, 0x5cc(r31)
/* 80669850 38 A0 00 08 */ li r5, 8
/* 80669854 38 C0 04 00 */ li r6, 0x400
/* 80669858 4B C0 6D B1 */ bl cLib_addCalcAngleS2__FPssss
/* 8066985C C0 5F 05 C8 */ lfs f2, 0x5c8(r31)
/* 80669860 C0 3E 00 BC */ lfs f1, 0xbc(r30)
/* 80669864 C0 1F 06 7C */ lfs f0, 0x67c(r31)
/* 80669868 EC 01 00 32 */ fmuls f0, f1, f0
/* 8066986C FC 02 00 40 */ fcmpo cr0, f2, f0
/* 80669870 40 80 00 34 */ bge lbl_806698A4
/* 80669874 3C 60 80 67 */ lis r3, l_HIO@ha /* 0x8066F2C4@ha */
/* 80669878 38 63 F2 C4 */ addi r3, r3, l_HIO@l /* 0x8066F2C4@l */
/* 8066987C 88 03 00 1C */ lbz r0, 0x1c(r3)
/* 80669880 28 00 00 00 */ cmplwi r0, 0
/* 80669884 41 82 00 10 */ beq lbl_80669894
/* 80669888 38 00 00 07 */ li r0, 7
/* 8066988C B0 1F 05 F2 */ sth r0, 0x5f2(r31)
/* 80669890 48 00 00 0C */ b lbl_8066989C
lbl_80669894:
/* 80669894 38 00 00 06 */ li r0, 6
/* 80669898 B0 1F 05 F2 */ sth r0, 0x5f2(r31)
lbl_8066989C:
/* 8066989C 38 00 00 00 */ li r0, 0
/* 806698A0 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_806698A4:
/* 806698A4 7F E3 FB 78 */ mr r3, r31
/* 806698A8 4B FF F2 F9 */ bl area_check__FP8do_class
/* 806698AC 7F E3 FB 78 */ mr r3, r31
/* 806698B0 C0 3F 05 2C */ lfs f1, 0x52c(r31)
/* 806698B4 4B FF F2 65 */ bl move_dansa_check__FP8do_classf
/* 806698B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 806698BC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 806698C0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 806698C4 7C 08 03 A6 */ mtlr r0
/* 806698C8 38 21 00 20 */ addi r1, r1, 0x20
/* 806698CC 4E 80 00 20 */ blr
@@ -1,26 +0,0 @@
lbl_8066858C:
/* 8066858C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80668590 7C 08 02 A6 */ mflr r0
/* 80668594 90 01 00 24 */ stw r0, 0x24(r1)
/* 80668598 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8066859C 7C 7F 1B 78 */ mr r31, r3
/* 806685A0 4B FF FE 21 */ bl search_food__FP8do_class
/* 806685A4 90 7F 06 84 */ stw r3, 0x684(r31)
/* 806685A8 80 1F 06 84 */ lwz r0, 0x684(r31)
/* 806685AC 90 01 00 08 */ stw r0, 8(r1)
/* 806685B0 3C 60 80 02 */ lis r3, fpcSch_JudgeByID__FPvPv@ha /* 0x80023590@ha */
/* 806685B4 38 63 35 90 */ addi r3, r3, fpcSch_JudgeByID__FPvPv@l /* 0x80023590@l */
/* 806685B8 38 81 00 08 */ addi r4, r1, 8
/* 806685BC 4B 9B 12 3D */ bl fopAcIt_Judge__FPFPvPv_PvPv
/* 806685C0 28 03 00 00 */ cmplwi r3, 0
/* 806685C4 41 82 00 14 */ beq lbl_806685D8
/* 806685C8 38 00 00 05 */ li r0, 5
/* 806685CC B0 1F 05 F2 */ sth r0, 0x5f2(r31)
/* 806685D0 38 00 00 00 */ li r0, 0
/* 806685D4 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_806685D8:
/* 806685D8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 806685DC 80 01 00 24 */ lwz r0, 0x24(r1)
/* 806685E0 7C 08 03 A6 */ mtlr r0
/* 806685E4 38 21 00 20 */ addi r1, r1, 0x20
/* 806685E8 4E 80 00 20 */ blr
@@ -1,76 +0,0 @@
lbl_8066DD48:
/* 8066DD48 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8066DD4C 7C 08 02 A6 */ mflr r0
/* 8066DD50 90 01 00 14 */ stw r0, 0x14(r1)
/* 8066DD54 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8066DD58 7C 7F 1B 78 */ mr r31, r3
/* 8066DD5C A8 03 0C 06 */ lha r0, 0xc06(r3)
/* 8066DD60 2C 00 00 00 */ cmpwi r0, 0
/* 8066DD64 41 82 00 44 */ beq lbl_8066DDA8
/* 8066DD68 38 00 00 0A */ li r0, 0xa
/* 8066DD6C B0 1F 06 04 */ sth r0, 0x604(r31)
/* 8066DD70 38 7F 0C 0C */ addi r3, r31, 0xc0c
/* 8066DD74 7F E4 FB 78 */ mr r4, r31
/* 8066DD78 38 A0 00 00 */ li r5, 0
/* 8066DD7C 38 C0 00 00 */ li r6, 0
/* 8066DD80 4B BD C5 59 */ bl doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci
/* 8066DD84 2C 03 00 00 */ cmpwi r3, 0
/* 8066DD88 41 82 00 C8 */ beq lbl_8066DE50
/* 8066DD8C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8066DD90 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8066DD94 38 63 4E C8 */ addi r3, r3, 0x4ec8
/* 8066DD98 4B 9D 46 D1 */ bl reset__14dEvt_control_cFv
/* 8066DD9C 38 00 00 00 */ li r0, 0
/* 8066DDA0 B0 1F 0C 06 */ sth r0, 0xc06(r31)
/* 8066DDA4 48 00 00 AC */ b lbl_8066DE50
lbl_8066DDA8:
/* 8066DDA8 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8066DDAC 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8066DDB0 88 03 4F AD */ lbz r0, 0x4fad(r3)
/* 8066DDB4 28 00 00 00 */ cmplwi r0, 0
/* 8066DDB8 41 82 00 30 */ beq lbl_8066DDE8
/* 8066DDBC A0 1F 00 F8 */ lhz r0, 0xf8(r31)
/* 8066DDC0 28 00 00 01 */ cmplwi r0, 1
/* 8066DDC4 40 82 00 24 */ bne lbl_8066DDE8
/* 8066DDC8 38 7F 0C 0C */ addi r3, r31, 0xc0c
/* 8066DDCC 7F E4 FB 78 */ mr r4, r31
/* 8066DDD0 A8 BF 0C 08 */ lha r5, 0xc08(r31)
/* 8066DDD4 38 C0 00 00 */ li r6, 0
/* 8066DDD8 38 E0 00 00 */ li r7, 0
/* 8066DDDC 4B BD C1 B5 */ bl init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c
/* 8066DDE0 38 00 00 01 */ li r0, 1
/* 8066DDE4 B0 1F 0C 06 */ sth r0, 0xc06(r31)
lbl_8066DDE8:
/* 8066DDE8 88 1F 0C 05 */ lbz r0, 0xc05(r31)
/* 8066DDEC 2C 00 00 02 */ cmpwi r0, 2
/* 8066DDF0 40 82 00 44 */ bne lbl_8066DE34
/* 8066DDF4 A8 1F 0C 08 */ lha r0, 0xc08(r31)
/* 8066DDF8 2C 00 FF FF */ cmpwi r0, -1
/* 8066DDFC 41 82 00 38 */ beq lbl_8066DE34
/* 8066DE00 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 8066DE04 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 8066DE08 80 63 5D B4 */ lwz r3, 0x5db4(r3)
/* 8066DE0C 80 03 05 74 */ lwz r0, 0x574(r3)
/* 8066DE10 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6
/* 8066DE14 41 82 00 20 */ beq lbl_8066DE34
/* 8066DE18 80 1F 05 5C */ lwz r0, 0x55c(r31)
/* 8066DE1C 60 00 00 0A */ ori r0, r0, 0xa
/* 8066DE20 90 1F 05 5C */ stw r0, 0x55c(r31)
/* 8066DE24 A0 1F 00 FA */ lhz r0, 0xfa(r31)
/* 8066DE28 60 00 00 01 */ ori r0, r0, 1
/* 8066DE2C B0 1F 00 FA */ sth r0, 0xfa(r31)
/* 8066DE30 48 00 00 20 */ b lbl_8066DE50
lbl_8066DE34:
/* 8066DE34 80 1F 04 9C */ lwz r0, 0x49c(r31)
/* 8066DE38 54 00 00 3E */ slwi r0, r0, 0
/* 8066DE3C 90 1F 04 9C */ stw r0, 0x49c(r31)
/* 8066DE40 80 7F 05 5C */ lwz r3, 0x55c(r31)
/* 8066DE44 38 00 FF F5 */ li r0, -11
/* 8066DE48 7C 60 00 38 */ and r0, r3, r0
/* 8066DE4C 90 1F 05 5C */ stw r0, 0x55c(r31)
lbl_8066DE50:
/* 8066DE50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8066DE54 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8066DE58 7C 08 03 A6 */ mtlr r0
/* 8066DE5C 38 21 00 10 */ addi r1, r1, 0x10
/* 8066DE60 4E 80 00 20 */ blr
@@ -1,39 +0,0 @@
lbl_80668B18:
/* 80668B18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80668B1C 7C 08 02 A6 */ mflr r0
/* 80668B20 90 01 00 24 */ stw r0, 0x24(r1)
/* 80668B24 DB E1 00 10 */ stfd f31, 0x10(r1)
/* 80668B28 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */
/* 80668B2C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80668B30 7C 7F 1B 78 */ mr r31, r3
/* 80668B34 FF E0 08 90 */ fmr f31, f1
/* 80668B38 3C 80 80 67 */ lis r4, lit_4068@ha /* 0x8066EE38@ha */
/* 80668B3C C0 24 EE 38 */ lfs f1, lit_4068@l(r4) /* 0x8066EE38@l */
/* 80668B40 4B FF FE F1 */ bl dansa_check2__FP8do_classf
/* 80668B44 2C 03 00 00 */ cmpwi r3, 0
/* 80668B48 41 82 00 38 */ beq lbl_80668B80
/* 80668B4C 38 00 00 06 */ li r0, 6
/* 80668B50 B0 1F 05 F2 */ sth r0, 0x5f2(r31)
/* 80668B54 3C 60 80 67 */ lis r3, lit_4069@ha /* 0x8066EE3C@ha */
/* 80668B58 C0 03 EE 3C */ lfs f0, lit_4069@l(r3) /* 0x8066EE3C@l */
/* 80668B5C FC 1F 00 40 */ fcmpo cr0, f31, f0
/* 80668B60 40 81 00 10 */ ble lbl_80668B70
/* 80668B64 38 00 00 0A */ li r0, 0xa
/* 80668B68 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
/* 80668B6C 48 00 00 0C */ b lbl_80668B78
lbl_80668B70:
/* 80668B70 38 00 00 00 */ li r0, 0
/* 80668B74 B0 1F 05 F6 */ sth r0, 0x5f6(r31)
lbl_80668B78:
/* 80668B78 38 60 00 01 */ li r3, 1
/* 80668B7C 48 00 00 08 */ b lbl_80668B84
lbl_80668B80:
/* 80668B80 38 60 00 00 */ li r3, 0
lbl_80668B84:
/* 80668B84 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */
/* 80668B88 CB E1 00 10 */ lfd f31, 0x10(r1)
/* 80668B8C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80668B90 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80668B94 7C 08 03 A6 */ mtlr r0
/* 80668B98 38 21 00 20 */ addi r1, r1, 0x20
/* 80668B9C 4E 80 00 20 */ blr
@@ -1,101 +0,0 @@
lbl_80667E68:
/* 80667E68 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80667E6C 7C 08 02 A6 */ mflr r0
/* 80667E70 90 01 00 24 */ stw r0, 0x24(r1)
/* 80667E74 39 61 00 20 */ addi r11, r1, 0x20
/* 80667E78 4B CF A3 61 */ bl _savegpr_28
/* 80667E7C 2C 04 00 00 */ cmpwi r4, 0
/* 80667E80 40 82 01 48 */ bne lbl_80667FC8
/* 80667E84 A3 83 00 14 */ lhz r28, 0x14(r3)
/* 80667E88 3C 60 80 43 */ lis r3, j3dSys@ha /* 0x80434AC8@ha */
/* 80667E8C 38 63 4A C8 */ addi r3, r3, j3dSys@l /* 0x80434AC8@l */
/* 80667E90 83 E3 00 38 */ lwz r31, 0x38(r3)
/* 80667E94 83 BF 00 14 */ lwz r29, 0x14(r31)
/* 80667E98 28 1D 00 00 */ cmplwi r29, 0
/* 80667E9C 41 82 01 2C */ beq lbl_80667FC8
/* 80667EA0 80 7F 00 84 */ lwz r3, 0x84(r31)
/* 80667EA4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 80667EA8 1F DC 00 30 */ mulli r30, r28, 0x30
/* 80667EAC 7C 60 F2 14 */ add r3, r0, r30
/* 80667EB0 3C 80 80 45 */ lis r4, calc_mtx@ha /* 0x80450768@ha */
/* 80667EB4 38 84 07 68 */ addi r4, r4, calc_mtx@l /* 0x80450768@l */
/* 80667EB8 80 84 00 00 */ lwz r4, 0(r4)
/* 80667EBC 4B CD E5 F5 */ bl PSMTXCopy
/* 80667EC0 2C 1C 00 09 */ cmpwi r28, 9
/* 80667EC4 41 82 00 0C */ beq lbl_80667ED0
/* 80667EC8 2C 1C 00 0A */ cmpwi r28, 0xa
/* 80667ECC 40 82 00 5C */ bne lbl_80667F28
lbl_80667ED0:
/* 80667ED0 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667ED4 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667ED8 80 63 00 00 */ lwz r3, 0(r3)
/* 80667EDC A8 9D 06 10 */ lha r4, 0x610(r29)
/* 80667EE0 A8 1D 06 28 */ lha r0, 0x628(r29)
/* 80667EE4 7C 04 02 14 */ add r0, r4, r0
/* 80667EE8 7C 04 07 34 */ extsh r4, r0
/* 80667EEC 4B 9A 45 49 */ bl mDoMtx_YrotM__FPA4_fs
/* 80667EF0 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667EF4 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667EF8 80 63 00 00 */ lwz r3, 0(r3)
/* 80667EFC A8 9D 06 12 */ lha r4, 0x612(r29)
/* 80667F00 A8 1D 06 2A */ lha r0, 0x62a(r29)
/* 80667F04 7C 04 02 14 */ add r0, r4, r0
/* 80667F08 7C 04 07 34 */ extsh r4, r0
/* 80667F0C 4B 9A 44 91 */ bl mDoMtx_XrotM__FPA4_fs
/* 80667F10 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F14 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F18 80 63 00 00 */ lwz r3, 0(r3)
/* 80667F1C A8 9D 06 0E */ lha r4, 0x60e(r29)
/* 80667F20 4B 9A 45 AD */ bl mDoMtx_ZrotM__FPA4_fs
/* 80667F24 48 00 00 70 */ b lbl_80667F94
lbl_80667F28:
/* 80667F28 2C 1C 00 16 */ cmpwi r28, 0x16
/* 80667F2C 40 82 00 40 */ bne lbl_80667F6C
/* 80667F30 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F34 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F38 80 63 00 00 */ lwz r3, 0(r3)
/* 80667F3C A8 1D 06 40 */ lha r0, 0x640(r29)
/* 80667F40 54 00 08 3C */ slwi r0, r0, 1
/* 80667F44 7C 04 07 34 */ extsh r4, r0
/* 80667F48 4B 9A 44 ED */ bl mDoMtx_YrotM__FPA4_fs
/* 80667F4C 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F50 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F54 80 63 00 00 */ lwz r3, 0(r3)
/* 80667F58 A8 1D 06 3E */ lha r0, 0x63e(r29)
/* 80667F5C 54 00 08 3C */ slwi r0, r0, 1
/* 80667F60 7C 04 07 34 */ extsh r4, r0
/* 80667F64 4B 9A 45 69 */ bl mDoMtx_ZrotM__FPA4_fs
/* 80667F68 48 00 00 2C */ b lbl_80667F94
lbl_80667F6C:
/* 80667F6C 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F70 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F74 80 63 00 00 */ lwz r3, 0(r3)
/* 80667F78 A8 9D 06 40 */ lha r4, 0x640(r29)
/* 80667F7C 4B 9A 44 B9 */ bl mDoMtx_YrotM__FPA4_fs
/* 80667F80 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F84 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F88 80 63 00 00 */ lwz r3, 0(r3)
/* 80667F8C A8 9D 06 3E */ lha r4, 0x63e(r29)
/* 80667F90 4B 9A 45 3D */ bl mDoMtx_ZrotM__FPA4_fs
lbl_80667F94:
/* 80667F94 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667F98 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667F9C 80 63 00 00 */ lwz r3, 0(r3)
/* 80667FA0 80 9F 00 84 */ lwz r4, 0x84(r31)
/* 80667FA4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 80667FA8 7C 80 F2 14 */ add r4, r0, r30
/* 80667FAC 4B CD E5 05 */ bl PSMTXCopy
/* 80667FB0 3C 60 80 45 */ lis r3, calc_mtx@ha /* 0x80450768@ha */
/* 80667FB4 38 63 07 68 */ addi r3, r3, calc_mtx@l /* 0x80450768@l */
/* 80667FB8 80 63 00 00 */ lwz r3, 0(r3)
/* 80667FBC 3C 80 80 43 */ lis r4, mCurrentMtx__6J3DSys@ha /* 0x80434BE4@ha */
/* 80667FC0 38 84 4B E4 */ addi r4, r4, mCurrentMtx__6J3DSys@l /* 0x80434BE4@l */
/* 80667FC4 4B CD E4 ED */ bl PSMTXCopy
lbl_80667FC8:
/* 80667FC8 38 60 00 01 */ li r3, 1
/* 80667FCC 39 61 00 20 */ addi r11, r1, 0x20
/* 80667FD0 4B CF A2 55 */ bl _restgpr_28
/* 80667FD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80667FD8 7C 08 03 A6 */ mtlr r0
/* 80667FDC 38 21 00 20 */ addi r1, r1, 0x20
/* 80667FE0 4E 80 00 20 */ blr
@@ -1,22 +0,0 @@
lbl_8066B774:
/* 8066B774 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8066B778 7C 08 02 A6 */ mflr r0
/* 8066B77C 90 01 00 14 */ stw r0, 0x14(r1)
/* 8066B780 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8066B784 7C 7F 1B 78 */ mr r31, r3
/* 8066B788 4B 9A D5 59 */ bl fopAc_IsActor__FPv
/* 8066B78C 2C 03 00 00 */ cmpwi r3, 0
/* 8066B790 41 82 00 18 */ beq lbl_8066B7A8
/* 8066B794 A8 1F 00 08 */ lha r0, 8(r31)
/* 8066B798 2C 00 00 ED */ cmpwi r0, 0xed
/* 8066B79C 40 82 00 0C */ bne lbl_8066B7A8
/* 8066B7A0 7F E3 FB 78 */ mr r3, r31
/* 8066B7A4 48 00 00 08 */ b lbl_8066B7AC
lbl_8066B7A8:
/* 8066B7A8 38 60 00 00 */ li r3, 0
lbl_8066B7AC:
/* 8066B7AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8066B7B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8066B7B4 7C 08 03 A6 */ mtlr r0
/* 8066B7B8 38 21 00 10 */ addi r1, r1, 0x10
/* 8066B7BC 4E 80 00 20 */ blr
@@ -1,36 +0,0 @@
lbl_8066833C:
/* 8066833C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80668340 7C 08 02 A6 */ mflr r0
/* 80668344 90 01 00 14 */ stw r0, 0x14(r1)
/* 80668348 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8066834C 7C 7F 1B 78 */ mr r31, r3
/* 80668350 4B 9B 09 91 */ bl fopAc_IsActor__FPv
/* 80668354 2C 03 00 00 */ cmpwi r3, 0
/* 80668358 41 82 00 50 */ beq lbl_806683A8
/* 8066835C A8 1F 00 08 */ lha r0, 8(r31)
/* 80668360 2C 00 01 10 */ cmpwi r0, 0x110
/* 80668364 41 82 00 0C */ beq lbl_80668370
/* 80668368 2C 00 01 1B */ cmpwi r0, 0x11b
/* 8066836C 40 82 00 3C */ bne lbl_806683A8
lbl_80668370:
/* 80668370 80 1F 04 9C */ lwz r0, 0x49c(r31)
/* 80668374 54 00 04 A5 */ rlwinm. r0, r0, 0, 0x12, 0x12
/* 80668378 41 82 00 30 */ beq lbl_806683A8
/* 8066837C 3C 60 80 67 */ lis r3, target_info_count@ha /* 0x8066F2F8@ha */
/* 80668380 38 83 F2 F8 */ addi r4, r3, target_info_count@l /* 0x8066F2F8@l */
/* 80668384 80 A4 00 00 */ lwz r5, 0(r4)
/* 80668388 2C 05 00 05 */ cmpwi r5, 5
/* 8066838C 40 80 00 1C */ bge lbl_806683A8
/* 80668390 54 A0 10 3A */ slwi r0, r5, 2
/* 80668394 3C 60 80 67 */ lis r3, target_info@ha /* 0x8066F2E4@ha */
/* 80668398 38 63 F2 E4 */ addi r3, r3, target_info@l /* 0x8066F2E4@l */
/* 8066839C 7F E3 01 2E */ stwx r31, r3, r0
/* 806683A0 38 05 00 01 */ addi r0, r5, 1
/* 806683A4 90 04 00 00 */ stw r0, 0(r4)
lbl_806683A8:
/* 806683A8 38 60 00 00 */ li r3, 0
/* 806683AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 806683B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 806683B4 7C 08 03 A6 */ mtlr r0
/* 806683B8 38 21 00 10 */ addi r1, r1, 0x10
/* 806683BC 4E 80 00 20 */ blr
@@ -1,73 +0,0 @@
lbl_80668754:
/* 80668754 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 80668758 7C 08 02 A6 */ mflr r0
/* 8066875C 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 80668760 DB E1 00 D0 */ stfd f31, 0xd0(r1)
/* 80668764 F3 E1 00 D8 */ psq_st f31, 216(r1), 0, 0 /* qr0 */
/* 80668768 93 E1 00 CC */ stw r31, 0xcc(r1)
/* 8066876C 93 C1 00 C8 */ stw r30, 0xc8(r1)
/* 80668770 7C 7E 1B 78 */ mr r30, r3
/* 80668774 38 61 00 68 */ addi r3, r1, 0x68
/* 80668778 4B A0 EE 05 */ bl __ct__11dBgS_GndChkFv
/* 8066877C C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80668780 D0 01 00 08 */ stfs f0, 8(r1)
/* 80668784 C0 3E 04 D4 */ lfs f1, 0x4d4(r30)
/* 80668788 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 8066878C C0 1E 04 D8 */ lfs f0, 0x4d8(r30)
/* 80668790 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 80668794 3C 60 80 67 */ lis r3, lit_3922@ha /* 0x8066EE14@ha */
/* 80668798 C0 03 EE 14 */ lfs f0, lit_3922@l(r3) /* 0x8066EE14@l */
/* 8066879C EC 01 00 2A */ fadds f0, f1, f0
/* 806687A0 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 806687A4 38 61 00 68 */ addi r3, r1, 0x68
/* 806687A8 38 81 00 08 */ addi r4, r1, 8
/* 806687AC 4B BF F5 61 */ bl SetPos__11cBgS_GndChkFPC3Vec
/* 806687B0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 806687B4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 806687B8 3B E3 0F 38 */ addi r31, r3, 0xf38
/* 806687BC 7F E3 FB 78 */ mr r3, r31
/* 806687C0 38 81 00 68 */ addi r4, r1, 0x68
/* 806687C4 4B A0 BC DD */ bl GroundCross__4cBgSFP11cBgS_GndChk
/* 806687C8 FF E0 08 90 */ fmr f31, f1
/* 806687CC 38 61 00 14 */ addi r3, r1, 0x14
/* 806687D0 4B A0 EF E1 */ bl __ct__18dBgS_ObjGndChk_SplFv
/* 806687D4 38 61 00 14 */ addi r3, r1, 0x14
/* 806687D8 38 81 00 08 */ addi r4, r1, 8
/* 806687DC 4B BF F5 31 */ bl SetPos__11cBgS_GndChkFPC3Vec
/* 806687E0 7F E3 FB 78 */ mr r3, r31
/* 806687E4 38 81 00 14 */ addi r4, r1, 0x14
/* 806687E8 4B A0 BC B9 */ bl GroundCross__4cBgSFP11cBgS_GndChk
/* 806687EC D0 3E 06 5C */ stfs f1, 0x65c(r30)
/* 806687F0 C0 1E 06 5C */ lfs f0, 0x65c(r30)
/* 806687F4 EC 40 F8 28 */ fsubs f2, f0, f31
/* 806687F8 3C 60 80 67 */ lis r3, lit_3994@ha /* 0x8066EE20@ha */
/* 806687FC C0 23 EE 20 */ lfs f1, lit_3994@l(r3) /* 0x8066EE20@l */
/* 80668800 C0 1E 06 7C */ lfs f0, 0x67c(r30)
/* 80668804 EC 01 00 32 */ fmuls f0, f1, f0
/* 80668808 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 8066880C 40 81 00 24 */ ble lbl_80668830
/* 80668810 38 61 00 14 */ addi r3, r1, 0x14
/* 80668814 38 80 FF FF */ li r4, -1
/* 80668818 4B A0 F0 31 */ bl __dt__18dBgS_ObjGndChk_SplFv
/* 8066881C 38 61 00 68 */ addi r3, r1, 0x68
/* 80668820 38 80 FF FF */ li r4, -1
/* 80668824 4B A0 ED CD */ bl __dt__11dBgS_GndChkFv
/* 80668828 38 60 00 01 */ li r3, 1
/* 8066882C 48 00 00 20 */ b lbl_8066884C
lbl_80668830:
/* 80668830 38 61 00 14 */ addi r3, r1, 0x14
/* 80668834 38 80 FF FF */ li r4, -1
/* 80668838 4B A0 F0 11 */ bl __dt__18dBgS_ObjGndChk_SplFv
/* 8066883C 38 61 00 68 */ addi r3, r1, 0x68
/* 80668840 38 80 FF FF */ li r4, -1
/* 80668844 4B A0 ED AD */ bl __dt__11dBgS_GndChkFv
/* 80668848 38 60 00 00 */ li r3, 0
lbl_8066884C:
/* 8066884C E3 E1 00 D8 */ psq_l f31, 216(r1), 0, 0 /* qr0 */
/* 80668850 CB E1 00 D0 */ lfd f31, 0xd0(r1)
/* 80668854 83 E1 00 CC */ lwz r31, 0xcc(r1)
/* 80668858 83 C1 00 C8 */ lwz r30, 0xc8(r1)
/* 8066885C 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 80668860 7C 08 03 A6 */ mtlr r0
/* 80668864 38 21 00 E0 */ addi r1, r1, 0xe0
/* 80668868 4E 80 00 20 */ blr
+1
View File
@@ -42,6 +42,7 @@ enum cCcD_ObjAtType {
/* 0x00200000 */ AT_TYPE_HEAVY_BOOTS = (1 << 21),
/* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22),
/* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23),
/* 0x01000000 */ AT_TYPE_1000000 = (1 << 24),
/* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26),
/* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27),
/* 0x10000000 */ AT_TYPE_10000000 = (1 << 28),
+15 -1
View File
@@ -1234,7 +1234,7 @@ public:
}; // Size: 0x10
/* 8009D87C */ bool getE3Zhint();
/* 8009D884 */ char* getAlinkArcName();
/* 8009D884 */ static char* getAlinkArcName();
/* 8009DA60 */ static bool checkStageName(char const*);
/* 8009DA98 */ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
@@ -3228,6 +3228,18 @@ public:
return var_r4;
}
MtxP getCopyRodMtx() {
if (mHeldItemModel != NULL) {
return mHeldItemModel->i_getAnmMtx(0);
}
return NULL;
}
cXyz* getRootPosP() { return &field_0x3834; }
const cXyz& getBoomerangCatchPos() const { return field_0x3534; }
f32 getCopyRodBallDisFlyMax() const { return mSearchBallScale; }
void clearIronBallActor() { field_0x173c.SetActor(this); }
BOOL checkCanoeRideOwn(const fopAc_ac_c* param_0) const { return checkCanoeRide() && mRideAcKeep.getActorConst() == param_0; }
bool checkWolfDashMode() const { return i_checkNoResetFlg1(FLG1_DASH_MODE); }
@@ -3243,6 +3255,8 @@ public:
bool checkGrabGlide() { return checkGrabRooster(); }
bool checkCopyRodRevive() const { return mProcID == PROC_COPY_ROD_REVIVE; }
BOOL i_checkRideOn() const { return mRideStatus != 0; }
bool checkSwimDashMode() const { return i_checkNoResetFlg1(FLG1_DASH_MODE); }
+9 -3
View File
@@ -98,7 +98,10 @@ private:
class daPy_actorKeep_c {
public:
daPy_actorKeep_c();
daPy_actorKeep_c() {
clearData();
}
void setActor();
void setData(fopAc_ac_c*);
void clearData();
@@ -192,8 +195,8 @@ public:
/* 0x0590 */ u32 mEndResetFlg2;
/* 0x0594 */ f32 field_0x594;
/* 0x0598 */ f32 field_0x598;
/* 0x059C */ s16 mLookAngleY;
/* 0x059E */ s16 field_0x59e;
/* 0x059C */ s16 mBodyAngleX;
/* 0x059E */ s16 mBodyAngleY;
/* 0x05A0 */ u8 field_0x5a0[0x4];
/* 0x05A4 */ cXyz mHeadTopPos;
/* 0x05B0 */ cXyz mItemPos;
@@ -708,6 +711,9 @@ public:
}
}
s16 getBodyAngleX() const { return mBodyAngleX; }
s16 getBodyAngleY() const { return mBodyAngleY; }
// some functions use these function as an inline
// is there a better way to handle this?
int i_checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; }
+1
View File
@@ -559,5 +559,6 @@ void dKy_GxFog_tevstr_set(dKy_tevstr_c*);
void dKy_plight_set(LIGHT_INFLUENCE* param_0);
void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2);
SND_INFLUENCE* dKy_Sound_get();
void dKy_plight_cut(LIGHT_INFLUENCE* param_0);
#endif /* D_KANKYO_D_KANKYO_H */
+1 -1
View File
@@ -129,7 +129,7 @@ public:
} mSphere;
} mCull;
/* 0x520 */ f32 mCullSizeFar;
/* 0x524 */ J3DModel* field_0x524;
/* 0x524 */ J3DModel* model;
/* 0x528 */ dJntCol_c* mJntCol;
/* 0x52C */ f32 speedF;
/* 0x530 */ f32 mGravity;
+2 -1
View File
@@ -20,7 +20,8 @@ public:
f32 getFrame() { return mFrameCtrl.getFrame(); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
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); }
bool isStop() {
bool stopped = true;
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
+18 -17
View File
@@ -3,15 +3,13 @@
#include "d/a/d_a_player.h"
#include "d/cc/d_cc_d.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "f_op/f_op_actor_mng.h"
class daCrod_c : public fopAc_ac_c {
public:
/* 80141A94 */ void setControllActorData();
/* 804A2E38 */ void createHeap();
/* 804A2F18 */ void create();
/* 804A2E38 */ int createHeap();
/* 804A2F18 */ int create();
/* 804A3304 */ ~daCrod_c();
/* 804A34B0 */ void setRoomInfo();
/* 804A34B4 */ void setMatrix();
@@ -19,8 +17,8 @@ public:
/* 804A3580 */ void setBckAnm(u16);
/* 804A35FC */ void setReturn();
/* 804A365C */ void setLightPower();
/* 804A36D8 */ void execute();
/* 804A3FD4 */ void draw();
/* 804A36D8 */ int execute();
/* 804A3FD4 */ int draw();
static fopAc_ac_c* makeIronBallDummy(fopAc_ac_c* p_actor) {
return (fopAc_ac_c*)fopAcM_fastCreate(0x2F4, 6, &p_actor->current.pos,
@@ -28,26 +26,29 @@ public:
NULL);
}
fopAc_ac_c* getControllActor() { return mControllAcKeep.getActor(); }
fopAc_ac_c* getControllActor() { return mControllActorKeep.getActor(); }
fopAc_ac_c* getCameraActor() { return mCameraAcKeep.getActor(); }
fopAc_ac_c* getCameraActor() { return mCameraActorKeep.getActor(); }
void setThrow() { fopAcM_SetParam(this, 2); }
static f32 getFlyInitY() { return 40.0f; }
static f32 getFlyInitZ() { return 50.0f; }
private:
/* 0x568 */ J3DModel* field_568;
/* 0x56C */ mDoExt_bckAnm mBckAnm;
/* 0x588 */ J3DAnmTevRegKey* field_0x588;
/* 0x58C */ J3DAnmTextureSRTKey* field_0x58c;
/* 0x590 */ dCcD_Stts field_0x590;
/* 0x5CC */ dCcD_Cps field_0x5cc;
/* 0x710 */ LIGHT_INFLUENCE field_0x710;
/* 0x568 */ J3DModel* mpBallModel;
/* 0x56C */ mDoExt_bckAnm mBck;
/* 0x588 */ J3DAnmTevRegKey* mpBallBrk;
/* 0x58C */ J3DAnmTextureSRTKey* mpBallBtk;
/* 0x590 */ dCcD_Stts mCcStts;
/* 0x5CC */ dCcD_Cps mAtCps;
/* 0x710 */ LIGHT_INFLUENCE mLight;
/* 0x730 */ u8 field_0x730;
/* 0x731 */ u8 field_0x731;
/* 0x732 */ u8 field_0x732;
/* 0x734 */ cXyz field_0x734;
/* 0x740 */ daPy_actorKeep_c mControllAcKeep;
/* 0x748 */ daPy_actorKeep_c mCameraAcKeep;
/* 0x740 */ daPy_actorKeep_c mControllActorKeep;
/* 0x748 */ daPy_actorKeep_c mCameraActorKeep;
}; // Size: 0x750
#endif /* D_A_CROD_H */
+57 -1
View File
@@ -1,6 +1,62 @@
#ifndef D_A_CSTAF_H
#define D_A_CSTAF_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
class daCstaF_c : public dBgS_MoveBgActor {
public:
/* 804DDB48 */ void checkCoverModel();
/* 804DDBB4 */ void create();
/* 804DE2F8 */ ~daCstaF_c();
/* 804DE558 */ void setRoomInfo();
/* 804DE5F0 */ void setMatrix();
/* 804DE698 */ void posMove();
/* 804DEB60 */ void setCollision();
/* 804DEC14 */ void setAnime();
/* 804DF0D8 */ void initBrk(u16);
/* 804DF150 */ void initStopBrkBtk();
/* 804DF1A4 */ void initStartBrkBtk();
/* 804DD978 */ virtual int CreateHeap();
/* 804DF37C */ virtual int Execute(f32 (**)[3][4]);
/* 804DF6E4 */ virtual int Draw();
cXyz& getBallPos() { return mBallPos; }
static u8 const m_bckIdxTable[16];
private:
/* 0x5A0 */ const char* mResName;
/* 0x5A4 */ request_of_phase_process_class mPhase;
/* 0x5AC */ J3DModel* field_0x5ac;
/* 0x5B0 */ mDoExt_McaMorfSO* field_0x5b0;
/* 0x5B4 */ J3DModel* field_0x5b4;
/* 0x5B8 */ J3DAnmTextureSRTKey* m_coverBtk;
/* 0x5BC */ J3DAnmTevRegKey* m_coverBrk;
/* 0x5C0 */ mDoExt_btkAnm field_0x5c0;
/* 0x5D8 */ mDoExt_brkAnm field_0x5d8;
/* 0x5F0 */ dBgS_AcchCir mAcchCir[4];
/* 0x6F0 */ dBgS_StatueAcch mAcch;
/* 0x8C8 */ dCcD_Stts mCcStts;
/* 0x904 */ dCcD_Cyl mCylCc;
/* 0xA40 */ Z2Creature mSound;
/* 0xAD0 */ dPaPo_c field_0xad0;
/* 0xB08 */ s8 mReverb;
/* 0xB09 */ u8 field_0xb09;
/* 0xB0A */ u8 field_0xb0a;
/* 0xB0B */ u8 field_0xb0b;
/* 0xB0C */ u8 field_0xb0c;
/* 0xB0D */ u8 mIsPlayerRide;
/* 0xB0E */ u8 field_0xb0e;
/* 0xB0F */ u8 field_0xb0f;
/* 0xB10 */ u8 mCoverVanishFlg;
/* 0xB12 */ s16 field_0xb12;
/* 0xB14 */ u8 field_0xb14[4];
/* 0xB18 */ u32 mShadowKey;
/* 0xB1C */ f32 field_0xb1c;
/* 0xB20 */ cXyz field_0xb20;
/* 0xB2C */ cXyz mBallPos;
};
#endif /* D_A_CSTAF_H */
@@ -27,6 +27,8 @@ public:
/* 80667438 */ void draw();
bool checkNotSmallType() const { return mType == 1; }
bool checkBossType() const { return mType == 4 || mType == 3; }
cXyz& getBallPos() { return mBallPos; }
static u8 const m_bckIdxTable[70 + 2 /* padding */];
+24 -25
View File
@@ -1,20 +1,20 @@
#ifndef D_A_DO_H
#define D_A_DO_H
#include "dolphin/types.h"
#include "d/a/d_a_player.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2SoundObject.h"
#include "d/a/d_a_item_static.h"
#include "d/a/d_a_player.h"
#include "d/bg/d_bg_s_acch.h"
#include "d/cc/d_cc_d.h"
#include "d/msg/d_msg_flow.h"
#include "d/particle/d_particle.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_mtx.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_controller_pad.h"
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
#include "SSystem/SComponent/c_phase.h"
#include "Z2AudioLib/Z2SoundObject.h"
#include "m_Do/m_Do_ext.h"
#include "m_Do/m_Do_mtx.h"
enum daDo_Anm {
ANM_BULBUL = 6,
@@ -71,20 +71,20 @@ struct daDo_HIO_tmp {
class daDo_HIO_c {
public:
/* 80667D4C */ daDo_HIO_c();
/* 8066ED40 */ virtual ~daDo_HIO_c();
/* 80667D4C */ daDo_HIO_c();
/* 8066ED40 */ virtual ~daDo_HIO_c(); // should be inlined
public:
/* 0x04 */ s8 field_0x04;
/* 0x05 */ u8 field_0x05[3];
/* 0x08 */ f32 mBaseSize;
/* 0x0C */ f32 mWalkSpeed;
/* 0x10 */ f32 mRunSpeed;
/* 0x14 */ f32 mSwimSpeed;
/* 0x18 */ f32 mPlayerRecogniztionDist;
/* 0x1C */ u8 field_0x1c;
/* 0x1D */ u8 mSwimming;
/* 0x1E */ u16 mWaterHuntAnimType;
/* 0x04 */ s8 field_0x04;
/* 0x05 */ u8 field_0x05[3];
/* 0x08 */ f32 mBaseSize;
/* 0x0C */ f32 mWalkSpeed;
/* 0x10 */ f32 mRunSpeed;
/* 0x14 */ f32 mSwimSpeed;
/* 0x18 */ f32 mPlayerRecogniztionDist;
/* 0x1C */ u8 field_0x1c;
/* 0x1D */ u8 mSwimming;
/* 0x1E */ u16 mWaterHuntAnimType;
};
class do_class : public fopEn_enemy_c {
@@ -95,7 +95,7 @@ public:
/* 0x5B6 */ u8 field_0x5b6;
/* 0x5B7 */ u8 field_0x5b7;
/* 0x5B8 */ cXyz field_0x5b8;
/* 0x5C4 */ u8 field_0x5c4[4];
/* 0x5C4 */ u8 field_0x5c4[4];
/* 0x5C8 */ f32 mDistFromPlayer;
/* 0x5CC */ s16 mAngleYFromPlayer;
/* 0x5CE */ u8 field_0x5ce[2];
@@ -114,7 +114,7 @@ public:
/* 0x5F0 */ s16 field_0x5f0;
/* 0x5F2 */ s16 mAction;
/* 0x5F4 */ s16 field_0x5f4;
/* 0x5F6 */ s16 mStayStatus; // probably a better name for this
/* 0x5F6 */ s16 mStayStatus; // probably a better name for this
/* 0x5F8 */ u32 mShadowKey;
/* 0x5FC */ s16 field_0x5fc[4];
/* 0x604 */ u16 field_0x604;
@@ -125,7 +125,7 @@ public:
/* 0x614 */ s16 field_0x614;
/* 0x616 */ u8 field_0x616;
/* 0x617 */ u8 field_0x617;
/* 0x618 */ cXyz mUnkPos; // something to do with the dog's eye position
/* 0x618 */ cXyz mUnkPos; // something to do with the dog's eye position
/* 0x624 */ s16 field_0x624;
/* 0x626 */ csXyz field_0x626;
/* 0x62C */ u8 field_0x62c[18];
@@ -136,7 +136,7 @@ public:
/* 0x650 */ f32 field_0x650;
/* 0x654 */ s16 field_0x654;
/* 0x656 */ s16 field_0x656;
/* 0x658 */ f32 mEyePosYDistFromPlayer;
/* 0x658 */ f32 mEyePosYDistFromPlayer;
/* 0x65C */ f32 field_0x65c;
/* 0x660 */ s16 field_0x660;
/* 0x662 */ u8 field_0x662[2];
@@ -159,7 +159,7 @@ public:
/* 0x6B8 */ u8 field_0x6b8;
/* 0x6B9 */ u8 field_0x6b9[3];
/* 0x6BC */ dBgS_AcchCir mBgS_AcchCir;
/* 0x6FC */ dBgS_ObjAcch mBgS_Acch;
/* 0x6FC */ dBgS_ObjAcch mBgS_Acch;
/* 0x8D4 */ dCcD_Stts mStts;
/* 0x910 */ dCcD_Sph mCcSph1;
/* 0xA48 */ dCcD_Sph mCcSph2;
@@ -192,7 +192,6 @@ public:
public:
/* 8066EAE4 */ do_class();
};
#endif /* D_A_DO_H */
-2
View File
@@ -8,12 +8,10 @@ M47_MAP := $(BUILD_DIR)/rel/d/a/d_a_crod.map
M47_CPP_FILES := \
rel/executor.cpp \
rel/d/a/d_a_crod/unknown_translation_unit_bss.cpp \
rel/d/a/d_a_crod/d_a_crod.cpp \
M47_O_FILES := \
$(BUILD_DIR)/rel/executor.o \
$(BUILD_DIR)/rel/d/a/d_a_crod/unknown_translation_unit_bss.o \
$(BUILD_DIR)/rel/d/a/d_a_crod/d_a_crod.o \
M47_LIBS := \
+363 -410
View File
@@ -1,324 +1,182 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_crod
//
/**
* d_a_crod.cpp
* Dominion Rod Object
*/
#include "rel/d/a/d_a_crod/d_a_crod.h"
#include "SSystem/SComponent/c_math.h"
#include "d/a/d_a_alink.h"
#include "dol2asm.h"
#include "dolphin/types.h"
#include "rel/d/a/d_a_cstaf/d_a_cstaF.h"
#include "rel/d/a/d_a_cstatue/d_a_cstatue.h"
//
// Types:
//
#define RES_CROD_BALL_BMD 0x22
#define RES_CROD_BALL_BRK 0x40
#define RES_CROD_BALL_BTK 0x46
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
enum daCrod_ANM {
/* 13 */ ANM_REVIVE_DEMO = 13,
/* 14 */ ANM_WAIT_A,
/* 15 */ ANM_WAIT_A_T,
/* 16 */ ANM_WAIT_A_T_START,
/* 17 */ ANM_WAIT_B,
/* 18 */ ANM_WAIT_C,
};
struct daAlink_c {
/* 8009D884 */ void getAlinkArcName();
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
/* 800E1310 */ void getCopyRodBallSpeed() const;
/* 800E1320 */ void getCopyRodBallReturnSpeed() const;
/* 800E1A30 */ void returnCopyRod();
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
//
// Forward References:
//
extern "C" void createHeap__8daCrod_cFv();
extern "C" static void daCrod_createHeap__FP10fopAc_ac_c();
extern "C" void create__8daCrod_cFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__12J3DFrameCtrlFv();
extern "C" static void daCrod_Create__FP10fopAc_ac_c();
extern "C" void __dt__8daCrod_cFv();
extern "C" static void daCrod_Delete__FP8daCrod_c();
extern "C" void setRoomInfo__8daCrod_cFv();
extern "C" void setMatrix__8daCrod_cFv();
extern "C" void posMove__8daCrod_cFv();
extern "C" void setBckAnm__8daCrod_cFUs();
extern "C" void setReturn__8daCrod_cFv();
extern "C" void setLightPower__8daCrod_cFv();
extern "C" void execute__8daCrod_cFv();
extern "C" static void daCrod_Execute__FP8daCrod_c();
extern "C" void draw__8daCrod_cFv();
extern "C" static void daCrod_Draw__FP8daCrod_c();
extern "C" void __dt__10cCcD_GSttsFv();
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void fopAcM_setStageLayer__FPv();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void GetAc__22dCcD_GAtTgCoCommonBaseFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void __dt__12dCcD_GObjInfFv();
extern "C" void ChkAtHit__12dCcD_GObjInfFv();
extern "C" void ResetAtHit__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps();
extern "C" void getAlinkArcName__9daAlink_cFv();
extern "C" void simpleAnmPlay__9daAlink_cFP10J3DAnmBase();
extern "C" void getCopyRodBallSpeed__9daAlink_cCFv();
extern "C" void getCopyRodBallReturnSpeed__9daAlink_cCFv();
extern "C" void returnCopyRod__9daAlink_cFv();
extern "C" void setData__16daPy_actorKeep_cFP10fopAc_ac_c();
extern "C" void clearData__16daPy_actorKeep_cFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __mi__4cXyzCFRC3Vec();
extern "C" void atan2sX_Z__4cXyzCFv();
extern "C" void cM_atan2s__Fff();
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void __dt__8cM3dGCpsFv();
extern "C" void SetStartEnd__8cM3dGLinFRC4cXyzRC4cXyz();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void _savegpr_27();
extern "C" void _savegpr_29();
extern "C" void _restgpr_27();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" extern u8 data_804A4218[4];
//
// Declarations:
//
/* ############################################################################################## */
/* 804A40EC-804A40F8 000000 000C+00 2/2 0/0 0/0 .rodata @3759 */
// not sure what this is
SECTION_RODATA static u8 const lit_3759[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x804A40EC, &lit_3759);
/* 804A40F8-804A4104 00000C 000C+00 1/2 0/0 0/0 .rodata l_localRodPos */
SECTION_RODATA static u8 const l_localRodPos[12] = {
0x42, 0xA2, 0x00, 0x00, 0xC1, 0x48, 0x00, 0x00, 0xC1, 0x40, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x804A40F8, &l_localRodPos);
/* 804A4104-804A4108 000018 0004+00 2/3 0/0 0/0 .rodata @4173 */
SECTION_RODATA static f32 const lit_4173 = 1.0f;
COMPILER_STRIP_GATE(0x804A4104, &lit_4173);
static const Vec l_localRodPos = {81.0f, -12.5f, -12.0f};
/* 804A2E38-804A2EF8 000078 00C0+00 1/1 0/0 0/0 .text createHeap__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::createHeap() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/createHeap__8daCrod_cFv.s"
int daCrod_c::createHeap() {
J3DModelData* model_data =
(J3DModelData*)dComIfG_getObjectRes(daAlink_c::getAlinkArcName(), RES_CROD_BALL_BMD);
mpBallModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000284);
if (mpBallModel == NULL) {
return 0;
}
J3DAnmTransform* bck =
(J3DAnmTransform*)dComIfG_getObjectRes(daAlink_c::getAlinkArcName(), ANM_WAIT_A);
if (!mBck.init(bck, TRUE, 2, 1.0f, 0, -1, false)) {
return 0;
}
return 1;
}
#pragma pop
/* 804A2EF8-804A2F18 000138 0020+00 1/1 0/0 0/0 .text daCrod_createHeap__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daCrod_createHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/daCrod_createHeap__FP10fopAc_ac_c.s"
static int daCrod_createHeap(fopAc_ac_c* i_this) {
return static_cast<daCrod_c*>(i_this)->createHeap();
}
#pragma pop
/* ############################################################################################## */
/* 804A413C-804A4188 000000 004C+00 1/1 0/0 0/0 .data l_atCpsSrc */
SECTION_DATA static u8 l_atCpsSrc[76] = {
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1B,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x02, 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, 0x41, 0xA0, 0x00, 0x00,
};
/* 804A4188-804A4194 00004C 000C+00 1/1 0/0 0/0 .data shootInitLocalPos$4524 */
SECTION_DATA static u8 shootInitLocalPos[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 804A4194-804A41B4 -00001 0020+00 1/0 0/0 0/0 .data l_daCrod_Method */
SECTION_DATA static void* l_daCrod_Method[8] = {
(void*)daCrod_Create__FP10fopAc_ac_c,
(void*)daCrod_Delete__FP8daCrod_c,
(void*)daCrod_Execute__FP8daCrod_c,
(void*)NULL,
(void*)daCrod_Draw__FP8daCrod_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 804A41B4-804A41E4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_CROD */
SECTION_DATA extern void* g_profile_CROD[12] = {
(void*)0xFFFFFFFD, (void*)0x0008FFFD,
(void*)0x02F40000, (void*)&g_fpcLf_Method,
(void*)0x00000750, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02B00000, (void*)&l_daCrod_Method,
(void*)0x00060000, (void*)0x05000000,
};
/* 804A41E4-804A41F0 0000A8 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10cCcD_GSttsFv,
};
/* 804A41F0-804A41FC 0000B4 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10dCcD_GSttsFv,
};
/* 804A41FC-804A4208 0000C0 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 804A4208-804A4214 0000CC 000C+00 3/3 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
static dCcD_SrcCps l_atCpsSrc = {
{
{0, {{AT_TYPE_1000000, 0, 0x1B}, {0, 0}, 0}},
{dCcD_SE_STONE, 0, 0, 0, {2}},
{dCcD_SE_NONE, 0, 0, 0, {0}},
{0},
},
{
{0.0f, 0.0f, 0.0f},
{0.0f, 0.0f, 0.0f},
20.0f,
},
};
/* 804A2F18-804A31F8 000158 02E0+00 1/1 0/0 0/0 .text create__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::create() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/create__8daCrod_cFv.s"
}
#pragma pop
int daCrod_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daCrod_c();
fopAcM_OnCondition(this, 8);
}
/* 804A31F8-804A3240 000438 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s"
}
#pragma pop
if (fopAcM_GetParam(this) == 6) {
fopAcM_setStageLayer(this);
mCcStts.Init(200, 0, this);
return cPhs_COMPLEATE_e;
}
/* 804A3240-804A329C 000480 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s"
}
#pragma pop
if (!fopAcM_entrySolidHeap(this, daCrod_createHeap, 0x10C0)) {
return cPhs_ERROR_e;
}
/* 804A329C-804A32E4 0004DC 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" asm void __dt__12J3DFrameCtrlFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__12J3DFrameCtrlFv.s"
mCcStts.Init(10, 0, this);
mAtCps.Set(l_atCpsSrc);
mAtCps.SetStts(&mCcStts);
model = mpBallModel;
J3DModelData* model_data = mpBallModel->getModelData();
mpBallBrk =
(J3DAnmTevRegKey*)dComIfG_getObjectRes(daAlink_c::getAlinkArcName(), RES_CROD_BALL_BRK);
mpBallBrk->searchUpdateMaterialID(model_data);
model_data->entryTevRegAnimator(mpBallBrk);
mpBallBtk =
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes(daAlink_c::getAlinkArcName(), RES_CROD_BALL_BTK);
mpBallBtk->searchUpdateMaterialID(model_data);
model_data->entryTexMtxAnimator(mpBallBtk);
fopAcM_setStageLayer(this);
daAlink_c* alink = daAlink_getAlinkActorClass();
if (alink->getCopyRodMtx()) {
mDoMtx_multVec(alink->getCopyRodMtx(), &l_localRodPos, &current.pos);
}
mBck.play();
mBck.entry(mpBallModel->getModelData());
setMatrix();
setRoomInfo();
mLight.mPosition = current.pos;
mLight.mColor.r = 150;
mLight.mColor.g = 170;
mLight.mColor.b = 90;
setLightPower();
dKy_plight_set(&mLight);
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 804A32E4-804A3304 000524 0020+00 1/0 0/0 0/0 .text daCrod_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daCrod_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Create__FP10fopAc_ac_c.s"
static int daCrod_Create(fopAc_ac_c* i_this) {
return static_cast<daCrod_c*>(i_this)->create();
}
#pragma pop
/* 804A3304-804A3488 000544 0184+00 1/1 0/0 0/0 .text __dt__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daCrod_c::~daCrod_c() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__8daCrod_cFv.s"
daCrod_c::~daCrod_c() {
if (fopAcM_GetParam(this) == 6) {
if (daAlink_getAlinkActorClass() != NULL) {
daAlink_getAlinkActorClass()->clearIronBallActor();
}
} else {
dKy_plight_cut(&mLight);
}
}
#pragma pop
/* 804A3488-804A34B0 0006C8 0028+00 1/0 0/0 0/0 .text daCrod_Delete__FP8daCrod_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daCrod_Delete(daCrod_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Delete__FP8daCrod_c.s"
static int daCrod_Delete(daCrod_c* i_this) {
i_this->~daCrod_c();
return 1;
}
#pragma pop
/* 804A34B0-804A34B4 0006F0 0004+00 2/2 0/0 0/0 .text setRoomInfo__8daCrod_cFv */
void daCrod_c::setRoomInfo() {
/* empty function */
}
void daCrod_c::setRoomInfo() {}
/* 804A34B4-804A3500 0006F4 004C+00 2/2 0/0 0/0 .text setMatrix__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::setMatrix() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/setMatrix__8daCrod_cFv.s"
void daCrod_c::setMatrix() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
mpBallModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
}
#pragma pop
/* 804A3500-804A3580 000740 0080+00 1/1 0/0 0/0 .text posMove__8daCrod_cFv */
// close
#ifdef NONMATCHING
void daCrod_c::posMove() {
f32 cosx = cM_scos(current.angle.x);
f32 cosy = cM_scos(current.angle.y);
speed.set(speedF * cM_ssin(current.angle.y) * cM_scos(current.angle.x),
speedF * cM_ssin(current.angle.x), (speedF * cosy) * cosx);
current.pos += speed;
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@@ -327,164 +185,259 @@ asm void daCrod_c::posMove() {
#include "asm/rel/d/a/d_a_crod/d_a_crod/posMove__8daCrod_cFv.s"
}
#pragma pop
#endif
/* 804A3580-804A35FC 0007C0 007C+00 2/2 0/0 0/0 .text setBckAnm__8daCrod_cFUs */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::setBckAnm(u16 param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/setBckAnm__8daCrod_cFUs.s"
void daCrod_c::setBckAnm(u16 i_anmResID) {
J3DAnmTransform* bck =
(J3DAnmTransform*)dComIfG_getObjectRes(daAlink_c::getAlinkArcName(), i_anmResID);
mBck.init(bck, TRUE, -1, 1.0f, 0, -1, true);
}
#pragma pop
/* 804A35FC-804A365C 00083C 0060+00 1/1 0/0 0/0 .text setReturn__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::setReturn() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/setReturn__8daCrod_cFv.s"
void daCrod_c::setReturn() {
if (fopAcM_GetParam(this) == 4) {
setBckAnm(ANM_WAIT_A_T);
}
fopAcM_SetParam(this, 5);
speedF = daAlink_getAlinkActorClass()->getCopyRodBallReturnSpeed();
mControllActorKeep.clearData();
}
#pragma pop
/* ############################################################################################## */
/* 804A4108-804A410C 00001C 0004+00 0/2 0/0 0/0 .rodata @4489 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4489 = 300.0f;
COMPILER_STRIP_GATE(0x804A4108, &lit_4489);
#pragma pop
/* 804A410C-804A4110 000020 0004+00 0/2 0/0 0/0 .rodata @4490 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4490 = 50.0f;
COMPILER_STRIP_GATE(0x804A410C, &lit_4490);
#pragma pop
/* 804A4110-804A4114 000024 0004+00 0/2 0/0 0/0 .rodata @4491 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4491[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x804A4110, &lit_4491);
#pragma pop
/* 804A365C-804A36D8 00089C 007C+00 2/2 0/0 0/0 .text setLightPower__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::setLightPower() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/setLightPower__8daCrod_cFv.s"
void daCrod_c::setLightPower() {
if (daAlink_getAlinkActorClass()->checkCopyRodTopUse()) {
mLight.mPow = 300.0f;
mLight.mFluctuation = 50.0f;
} else {
mLight.mPow = 0.0f;
mLight.mFluctuation = 0.0f;
}
}
#pragma pop
/* ############################################################################################## */
/* 804A4114-804A4118 000028 0004+00 0/1 0/0 0/0 .rodata @4774 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_4774 = 0x3D000000;
COMPILER_STRIP_GATE(0x804A4114, &lit_4774);
#pragma pop
/* 804A4118-804A411C 00002C 0004+00 0/1 0/0 0/0 .rodata @4775 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4775 = 40.0f;
COMPILER_STRIP_GATE(0x804A4118, &lit_4775);
#pragma pop
/* 804A411C-804A4124 000030 0004+04 0/1 0/0 0/0 .rodata @4776 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4776[1 + 1 /* padding */] = {
-1.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x804A411C, &lit_4776);
#pragma pop
/* 804A4124-804A412C 000038 0008+00 0/1 0/0 0/0 .rodata @4777 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4777[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x804A4124, &lit_4777);
#pragma pop
/* 804A412C-804A4134 000040 0008+00 0/1 0/0 0/0 .rodata @4778 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4778[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x804A412C, &lit_4778);
#pragma pop
/* 804A4134-804A413C 000048 0008+00 0/1 0/0 0/0 .rodata @4779 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4779[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x804A4134, &lit_4779);
#pragma pop
/* 804A36D8-804A3FB4 000918 08DC+00 1/1 0/0 0/0 .text execute__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::execute() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/execute__8daCrod_cFv.s"
int daCrod_c::execute() {
daAlink_c* player = daAlink_getAlinkActorClass();
if (fopAcM_GetParam(this) == 6) {
if (player->getIronBallCenterPos() != NULL) {
current.pos = *player->getIronBallCenterPos();
mAttentionInfo.mPosition = current.pos;
mEyePos = current.pos;
}
return 1;
} else {
cXyz sp50;
if (mBck.isStop()) {
setBckAnm(ANM_WAIT_A_T);
}
if (player->checkCopyRodRevive()) {
if (field_0x732 == 0) {
setBckAnm(ANM_REVIVE_DEMO);
mBck.setPlayMode(2);
mBck.setLoopFrame(32.0f);
}
field_0x732 = 1;
mLight.mPow = mBck.getFrame() * 300.0f * 0.03125f;
if (mLight.mPow > 300.0f) {
mLight.mPow = 300.0f;
}
} else {
setLightPower();
if (mAtCps.ChkAtHit()) {
fopAc_ac_c* hit_ac = mAtCps.GetAtHitAc();
if (player->checkCopyRodEquip() && hit_ac != NULL &&
(fopAcM_GetName(hit_ac) == PROC_CSTATUE ||
fopAcM_GetName(hit_ac) == PROC_CSTAF))
{
fopAcM_SetParam(this, 4);
mControllActorKeep.setData(hit_ac);
mCameraActorKeep.setData(hit_ac);
u16 anm_id;
if (fopAcM_GetName(hit_ac) == PROC_CSTATUE &&
static_cast<daCstatue_c*>(hit_ac)->checkBossType())
{
anm_id = ANM_WAIT_C;
} else {
anm_id = ANM_WAIT_B;
}
setBckAnm(anm_id);
} else {
setReturn();
}
} else {
if (field_0x732 != 0) {
field_0x732 = 0;
setBckAnm(ANM_WAIT_A);
}
}
}
static Vec shootInitLocalPos = {0.0f, getFlyInitY(), getFlyInitZ()};
if (fopAcM_GetParam(this) == 2) {
fopAcM_SetParam(this, 3);
current.angle.x = -player->getBodyAngleX();
current.angle.y = player->shape_angle.y + player->getBodyAngleY();
speedF = player->getCopyRodBallSpeed();
mDoMtx_stack_c::transS(*player->getRootPosP());
mDoMtx_stack_c::ZXYrotM(-current.angle.x, current.angle.y, 0);
mDoMtx_stack_c::multVec(&shootInitLocalPos, &current.pos);
field_0x734 = current.pos;
field_0x731 = 0;
} else if (fopAcM_GetParam(this) == 4) {
if (mControllActorKeep.getActor() == NULL) {
setReturn();
}
} else if (fopAcM_GetParam(this) == 0) {
if (i_dComIfGp_checkPlayerStatus0(0, 0x80)) {
fopAcM_SetParam(this, 1);
setBckAnm(ANM_WAIT_A_T_START);
}
} else if (fopAcM_GetParam(this) == 1) {
if (!i_dComIfGp_checkPlayerStatus0(0, 0x80)) {
fopAcM_SetParam(this, 0);
setBckAnm(ANM_WAIT_A);
}
}
if (fopAcM_GetParam(this) == 5) {
sp50 = player->getBoomerangCatchPos() - current.pos;
if (sp50.abs2() < speedF * speedF) {
mCameraActorKeep.clearData();
if (player->returnCopyRod()) {
fopAcM_SetParam(this, 0);
setBckAnm(ANM_WAIT_A);
fopAcM_seStart(this, Z2SE_AL_COPYROD_CATCH, 0);
} else {
fopAcM_delete(this);
return 1;
}
} else {
current.angle.x = cM_atan2s(sp50.y, sp50.absXZ());
current.angle.y = sp50.atan2sX_Z();
}
}
if (fopAcM_GetParam(this) == 3 || fopAcM_GetParam(this) == 5) {
posMove();
if (fopAcM_GetParam(this) == 3) {
mAtCps.SetStartEnd(next.pos, current.pos);
sp50 = current.pos - next.pos;
mAtCps.SetAtVec(sp50);
dComIfG_Ccsp()->Set(&mAtCps);
fopAcM_seStartLevel(this, Z2SE_AL_COPYROD_THROW, 0);
f32 fly_max = player->getCopyRodBallDisFlyMax();
if (!player->checkCopyRodEquip() || field_0x731 ||
field_0x734.abs2(current.pos) > fly_max * fly_max)
{
setReturn();
}
} else {
fopAcM_seStartLevel(this, Z2SE_AL_COPYROD_RETURN, 0);
}
} else {
mAtCps.ResetAtHit();
if (fopAcM_GetParam(this) == 4) {
fopAc_ac_c* control_actor = mControllActorKeep.getActor();
if (fopAcM_GetName(control_actor) == PROC_CSTATUE) {
current.pos = static_cast<daCstatue_c*>(control_actor)->getBallPos();
} else {
current.pos = static_cast<daCstaF_c*>(control_actor)->getBallPos();
}
} else {
if (player->getCopyRodMtx() != NULL) {
mDoMtx_multVec(player->getCopyRodMtx(), &l_localRodPos, &current.pos);
}
if (daAlink_getAlinkActorClass()->checkCopyRodTopUse()) {
fopAcM_seStartLevel(this, Z2SE_AL_COPYROD_WAIT,
fopAcM_GetParam(this) == 1 ? 1 : 0);
}
}
}
mEyePos = current.pos;
mAttentionInfo.mPosition = current.pos;
daAlink_c::simpleAnmPlay(mpBallBrk);
daAlink_c::simpleAnmPlay(mpBallBtk);
mBck.play();
mBck.entry(mpBallModel->getModelData());
setRoomInfo();
setMatrix();
mLight.mPosition = current.pos;
}
return 1;
}
#pragma pop
/* 804A3FB4-804A3FD4 0011F4 0020+00 1/0 0/0 0/0 .text daCrod_Execute__FP8daCrod_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daCrod_Execute(daCrod_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Execute__FP8daCrod_c.s"
static int daCrod_Execute(daCrod_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 804A3FD4-804A407C 001214 00A8+00 1/1 0/0 0/0 .text draw__8daCrod_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCrod_c::draw() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/draw__8daCrod_cFv.s"
int daCrod_c::draw() {
if (fopAcM_GetParam(this) == 6 ||
(!daAlink_getAlinkActorClass()->checkCopyRodTopUse() && field_0x732 == 0))
{
return 1;
}
g_env_light.settingTevStruct(0, &current.pos, &mTevStr);
g_env_light.setLightTevColorType_MAJI(mpBallModel, &mTevStr);
mDoExt_modelUpdateDL(mpBallModel);
return 1;
}
#pragma pop
/* 804A407C-804A409C 0012BC 0020+00 1/0 0/0 0/0 .text daCrod_Draw__FP8daCrod_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daCrod_Draw(daCrod_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Draw__FP8daCrod_c.s"
static int daCrod_Draw(daCrod_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 804A409C-804A40E4 0012DC 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s"
}
#pragma pop
/* 804A4194-804A41B4 -00001 0020+00 1/0 0/0 0/0 .data l_daCrod_Method */
static actor_method_class l_daCrod_Method = {
(process_method_func)daCrod_Create, (process_method_func)daCrod_Delete,
(process_method_func)daCrod_Execute, (process_method_func)NULL,
(process_method_func)daCrod_Draw,
};
/* 804A41B4-804A41E4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_CROD */
extern actor_process_profile_definition g_profile_CROD = {
-3,
8,
0xFFFD,
PROC_CROD,
0,
&g_fpcLf_Method.mBase,
sizeof(daCrod_c),
0,
0,
&g_fopAc_Method.base,
0x02B0,
0,
0,
&l_daCrod_Method,
0x00060000,
5,
0,
0,
0,
};
@@ -1,27 +0,0 @@
//
// Generated By: dol2asm
// Translation Unit: unknown_translation_unit_bss
//
#include "rel/d/a/d_a_crod/unknown_translation_unit_bss.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" extern u8 data_804A4218[4];
//
// External References:
//
//
// Declarations:
//
/* ############################################################################################## */
/* 804A4218-804A421C 000000 0004+00 0/0 1/1 0/0 .bss None */
extern u8 data_804A4218[4];
u8 data_804A4218[4];
+20 -319
View File
@@ -5,301 +5,6 @@
#include "rel/d/a/d_a_cstaf/d_a_cstaF.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct csXyz {};
struct cXyz {
/* 80267128 */ void atan2sX_Z() const;
};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
/* 8000CF44 */ void ZXYrotM(csXyz const&);
static u8 now[48];
};
struct mDoExt_morf_c {
/* 8000FB7C */ void setMorf(f32);
};
struct J3DModelData {};
struct J3DAnmTextureSRTKey {
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DAnmTevRegKey {
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
};
struct J3DMaterialTable {
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
/* 8032FE70 */ void entryTevRegAnimator(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 mDoExt_baseAnm {
/* 8000D428 */ void play();
};
struct mDoExt_McaMorfCallBack2_c {};
struct mDoExt_McaMorfCallBack1_c {};
struct J3DAnmTransform {};
struct Vec {};
struct Z2Creature {
/* 802C03C8 */ Z2Creature();
/* 802C0420 */ ~Z2Creature();
/* 802C0530 */ void init(Vec*, Vec*, u8, u8);
};
struct mDoExt_McaMorfSO {
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 800110B0 */ void play(u32, s8);
/* 800111EC */ void modelCalc();
/* 80011310 */ void stopZelAnime();
};
struct fopAc_ac_c {
/* 80018C8C */ ~fopAc_ac_c();
};
struct daPy_actorKeep_c {
/* 8015ECFC */ void clearData();
};
struct daCstaF_c {
/* 804DD978 */ void CreateHeap();
/* 804DDB48 */ void checkCoverModel();
/* 804DDBB4 */ void create();
/* 804DE2F8 */ ~daCstaF_c();
/* 804DE558 */ void setRoomInfo();
/* 804DE5F0 */ void setMatrix();
/* 804DE698 */ void posMove();
/* 804DEB60 */ void setCollision();
/* 804DEC14 */ void setAnime();
/* 804DF0D8 */ void initBrk(u16);
/* 804DF150 */ void initStopBrkBtk();
/* 804DF1A4 */ void initStartBrkBtk();
/* 804DF37C */ void Execute(f32 (**)[3][4]);
/* 804DF6E4 */ void Draw();
static u8 const m_bckIdxTable[16];
};
struct J3DAnmBase {};
struct daAlink_c {
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
/* 800E1330 */ void getCopyRodBallDisMax() const;
/* 800E1374 */ void getCopyRodControllActor();
};
struct dSv_info_c {
/* 80035200 */ void onSwitch(int, int);
/* 80035360 */ void isSwitch(int, int) const;
};
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 cBgS_PolyInfo {
/* 802680B0 */ ~cBgS_PolyInfo();
};
struct dBgS {
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
/* 804DE220 */ ~dBgS_AcchCir();
};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076288 */ void Set(fopAc_ac_c*, int, dBgS_AcchCir*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct dPaPo_c {
/* 80050C9C */ void init(dBgS_Acch*, f32, f32);
/* 80051008 */ void setEffectCenter(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
csXyz const*, cXyz const*, s8, f32, f32);
};
struct dEvt_control_c {
/* 80042468 */ void reset();
};
struct dEvent_manager_c {
/* 80047698 */ void getEventIdx(fopAc_ac_c*, u8);
/* 80047A78 */ void endCheck(s16);
};
struct dDlst_shadowControl_c {
static u8 mSimpleTexObj[32];
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcCyl {};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
/* 804DE154 */ ~dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 800840E4 */ ~dCcD_GObjInf();
/* 80084460 */ void ChkTgHit();
/* 80084548 */ void GetTgHitGObj();
/* 8008457C */ void GetTgHitObjSe();
/* 800845B0 */ void getHitSeID(u8, int);
};
struct dCcD_Cyl {
/* 800848B4 */ void Set(dCcD_SrcCyl const&);
/* 80084908 */ void StartCAt(cXyz&);
/* 80084954 */ void MoveCAt(cXyz&);
};
struct dBgW {};
struct dBgS_StatueAcch {
/* 804DE1B0 */ ~dBgS_StatueAcch();
};
struct dBgS_PolyPassChk {
/* 80078F7C */ void SetStatue();
};
struct dBgS_MoveBgActor {
/* 80078624 */ dBgS_MoveBgActor();
/* 80078690 */ bool Create();
/* 800786A8 */ bool Delete();
/* 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 cM3dGPla {
/* 804DEB18 */ ~cM3dGPla();
};
struct cM3dGCyl {
/* 804DE0C4 */ ~cM3dGCyl();
};
struct cM3dGCir {
/* 8026EF18 */ ~cM3dGCir();
};
struct cM3dGAab {
/* 804DE10C */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
struct cCcD_Stts {
/* 8026395C */ void ClrCcMove();
};
struct cCcD_GStts {
/* 804DF82C */ ~cCcD_GStts();
};
struct cBgS {
/* 80074744 */ void GetTriPla(cBgS_PolyInfo const&, cM3dGPla*) const;
};
struct _GXTexObj {};
struct JAISoundID {};
struct Z2SeMgr {
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
};
struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JMath {
static u8 sincosTable_[65536];
};
struct J3DModel {};
struct J3DFrameCtrl {
/* 803283FC */ void init(s16);
/* 8032842C */ void checkPass(f32);
/* 804DE290 */ ~J3DFrameCtrl();
};
//
// Forward References:
@@ -437,10 +142,6 @@ extern "C" void searchUpdateMaterialID__19J3DAnmTextureSRTKeyFP12J3DModelData();
extern "C" void searchUpdateMaterialID__15J3DAnmTevRegKeyFP12J3DModelData();
extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
extern "C" void PSMTXCopy();
extern "C" void PSMTXMultVec();
extern "C" void PSVECAdd();
extern "C" void PSVECSquareDistance();
extern "C" void __destroy_arr();
extern "C" void __construct_array();
extern "C" void _savegpr_26();
@@ -451,9 +152,6 @@ extern "C" void _restgpr_26();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
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" extern void* __vt__16dBgS_MoveBgActor[10];
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
@@ -461,12 +159,8 @@ extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern u8 g_env_light[4880];
extern "C" u8 sincosTable___5JMath[65536];
extern "C" extern u32 __float_nan;
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
//
@@ -566,7 +260,7 @@ COMPILER_STRIP_GATE(0x804DF900, &lit_4206);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCstaF_c::CreateHeap() {
asm int daCstaF_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/CreateHeap__9daCstaF_cFv.s"
}
@@ -790,7 +484,8 @@ asm void daCstaF_c::create() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGCyl::~cM3dGCyl() {
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__8cM3dGCylFv.s"
}
@@ -800,7 +495,8 @@ asm cM3dGCyl::~cM3dGCyl() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__8cM3dGAabFv.s"
}
@@ -810,7 +506,8 @@ asm cM3dGAab::~cM3dGAab() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dCcD_GStts::~dCcD_GStts() {
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__10dCcD_GSttsFv.s"
}
@@ -820,7 +517,8 @@ asm dCcD_GStts::~dCcD_GStts() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_StatueAcch::~dBgS_StatueAcch() {
// asm dBgS_StatueAcch::~dBgS_StatueAcch() {
extern "C" asm void __dt__15dBgS_StatueAcchFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__15dBgS_StatueAcchFv.s"
}
@@ -830,7 +528,8 @@ asm dBgS_StatueAcch::~dBgS_StatueAcch() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm dBgS_AcchCir::~dBgS_AcchCir() {
// asm dBgS_AcchCir::~dBgS_AcchCir() {
extern "C" asm void __dt__12dBgS_AcchCirFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__12dBgS_AcchCirFv.s"
}
@@ -840,7 +539,8 @@ asm dBgS_AcchCir::~dBgS_AcchCir() {
#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/d_a_cstaf/d_a_cstaF/__dt__12J3DFrameCtrlFv.s"
}
@@ -993,7 +693,8 @@ asm void daCstaF_c::posMove() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGPla::~cM3dGPla() {
// asm cM3dGPla::~cM3dGPla() {
extern "C" asm void __dt__8cM3dGPlaFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__8cM3dGPlaFv.s"
}
@@ -1115,7 +816,7 @@ asm void daCstaF_c::initStartBrkBtk() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCstaF_c::Execute(f32 (**param_0)[3][4]) {
asm int daCstaF_c::Execute(f32 (**param_0)[3][4]) {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/Execute__9daCstaF_cFPPA3_A4_f.s"
}
@@ -1143,7 +844,7 @@ COMPILER_STRIP_GATE(0x804DF998, &lit_5082);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daCstaF_c::Draw() {
asm int daCstaF_c::Draw() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/Draw__9daCstaF_cFv.s"
}
@@ -1163,7 +864,8 @@ static asm void daCstaF_Draw(daCstaF_c* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cCcD_GStts::~cCcD_GStts() {
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__dt__10cCcD_GSttsFv.s"
}
@@ -1178,8 +880,7 @@ COMPILER_STRIP_GATE(0x804DF99C, &lit_5096);
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void __sinit_d_a_cstaF_cpp() {
nofralloc
asm void __sinit_d_a_cstaF_cpp(){nofralloc
#include "asm/rel/d/a/d_a_cstaf/d_a_cstaF/__sinit_d_a_cstaF_cpp.s"
}
#pragma pop
+825 -759
View File
File diff suppressed because it is too large Load Diff
+14 -9
View File
@@ -12428,7 +12428,7 @@ void daAlink_c::playerInit() {
mSheathModel = mpSwASheathModel;
field_0x814.Init(120, 0xFF, this);
field_0x306c = shape_angle.y + field_0x59e;
field_0x306c = shape_angle.y + mBodyAngleY;
for (u16 i = 0; i < 3; i++) {
mAtCps[i].Set(*(dCcD_SrcCps*)l_atCpsSrc);
@@ -13798,7 +13798,7 @@ void daAlink_c::setCollision() {
if (checkIronBallWaitAnime() || field_0x351c.absXZ() > lit_8782) {
field_0x306c = field_0x351c.atan2sX_Z();
} else {
field_0x306c = shape_angle.y + field_0x59e;
field_0x306c = shape_angle.y + mBodyAngleY;
}
g_dComIfG_gameInfo.play.mCcs.Set(&field_0x850[0]);
@@ -16290,8 +16290,8 @@ void daAlink_c::setBodyAngleXReadyAnime(int param_0) {
angle_x >>= 1; // divide by 2 adds extra addze?
}
cLib_addCalcAngleS(&mLookAngleY, angle_x, 4, 0x0C00, 0x0180);
field_0x310a = mLookAngleY;
cLib_addCalcAngleS(&mBodyAngleX, angle_x, 4, 0x0C00, 0x0180);
field_0x310a = mBodyAngleX;
}
/* 800BB324-800BB408 0B5C64 00E4+00 2/2 0/0 0/0 .text setMagicArmorBrk__9daAlink_cFi */
@@ -17973,8 +17973,8 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
if (i_checkWolf()) {
shape_angle.z = 0;
mLookAngleY = 0;
field_0x59e = 0;
mBodyAngleX = 0;
mBodyAngleY = 0;
} else if (!i_checkReinRide() && !checkBoardRide()) {
shape_angle.x = 0;
shape_angle.z = 0;
@@ -17994,7 +17994,7 @@ void daAlink_c::commonProcInit(daAlink_c::daAlink_PROC i_procID) {
if (field_0x3190 != 0) {
field_0x3190 = 0;
field_0x59e = 0;
mBodyAngleY = 0;
}
mFishingArm1Angle = csXyz::Zero;
@@ -18733,9 +18733,14 @@ extern "C" asm void __dt__9cCcD_SttsFv() {
#pragma pop
/* 801410EC-8014111C 13BA2C 0030+00 1/1 0/0 0/0 .text __ct__16daPy_actorKeep_cFv */
daPy_actorKeep_c::daPy_actorKeep_c() {
clearData();
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __ct__16daPy_actorKeep_cFv() {
nofralloc
#include "asm/d/a/d_a_alink/__ct__16daPy_actorKeep_cFv.s"
}
#pragma pop
/* 8014111C-8014112C 13BA5C 0010+00 1/1 0/0 0/0 .text
* onNoResetFlg2__9daPy_py_cFQ29daPy_py_c9daPy_FLG2 */
+2 -2
View File
@@ -196,8 +196,8 @@ void daAlink_c::throwBoomerang() {
BOOL boomerang_item = fopAcM_GetName(item) == PROC_BOOMERANG;
if (boomerang_item) {
item->setThrow();
item->current.angle.y = shape_angle.y + field_0x59e;
item->current.angle.x = -mLookAngleY;
item->current.angle.y = shape_angle.y + mBodyAngleY;
item->current.angle.x = -mBodyAngleX;
if (mTargetedActor != NULL) {
item->setAimActor(mTargetedActor);
+3 -3
View File
@@ -80,14 +80,14 @@ cXyz* daAlink_c::checkBowCameraArrowPosP(s16* param_0, s16* param_1) {
var_28 = shape_angle.y;
}
var_28 += field_0x59e;
var_28 += mBodyAngleY;
mDoMtx_stack_c::transS(field_0x3834);
concatMagneBootMtx();
mDoMtx_stack_c::ZXYrotM(mLookAngleY, var_28, 0);
mDoMtx_stack_c::ZXYrotM(mBodyAngleX, var_28, 0);
mDoMtx_stack_c::multVec(&localPos, &field_0x37e0);
*param_0 = mLookAngleY;
*param_0 = mBodyAngleX;
*param_1 = var_28;
return &field_0x37e0;
}
+2 -2
View File
@@ -132,8 +132,8 @@ asm void daAlink_c::setIronBallChainPos() {
/* 80113CA0-80113D58 10E5E0 00B8+00 1/1 0/0 0/0 .text checkIronBallReturnChange__9daAlink_cFv */
BOOL daAlink_c::checkIronBallReturnChange() {
if (mProcID != PROC_IRON_BALL_THROW ||
(!(mLookAngleY > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) ||
(mLookAngleY > 0x400 && mItemMode == 0x64) ||
(!(mBodyAngleX > 0x400) && mIronBallBgChkPos.y < (current.pos.y - lit_8472)) ||
(mBodyAngleX > 0x400 && mItemMode == 0x64) ||
(field_0xFB8.ChkAtHit() && field_0xFB8.GetAtHitGObj() != NULL &&
static_cast<dCcD_GObjInf*>(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) {
setIronBallReturn(0);
+3 -3
View File
@@ -2357,12 +2357,12 @@ int daAlink_c::execute() {
if (checkUpperGuardAnime()) {
setBodyAngleXReadyAnime(0);
} else if (!checkUpperReadyThrowAnime()) {
cLib_addCalcAngleS(&mLookAngleY, 0, 4, 0x0C00, 0x0180);
cLib_addCalcAngleS(&mBodyAngleX, 0, 4, 0x0C00, 0x0180);
}
}
if (!checkModeFlg(MODE_UNK_40000000)) {
cLib_addCalcAngleS(&field_0x59e, 0, 4, 0x0C00, 0x0180);
cLib_addCalcAngleS(&mBodyAngleY, 0, 4, 0x0C00, 0x0180);
}
}
}
@@ -2384,7 +2384,7 @@ int daAlink_c::execute() {
footBgCheck();
handBgCheck();
field_0x30c8 = field_0x59e >> 1;
field_0x30c8 = mBodyAngleY >> 1;
modelCalc(mpLinkModel);
if (field_0x2fcb != 0) {
+1 -1
View File
@@ -200,7 +200,7 @@ int daAlink_c::procHawkSubjectInit() {
}
mCommonCounter = 0;
field_0x59e = 0;
mBodyAngleY = 0;
deleteEquipItem(0, 1);
return 1;
}
+2 -2
View File
@@ -1251,8 +1251,8 @@ JStage::TObject* dDemo_object_c::appendActor(fopAc_ac_c* p_actor) {
demoActor->setActor(p_actor);
p_actor->mDemoActorId = mActorNum;
if (p_actor->field_0x524 != NULL) {
demoActor->setModel((J3DModel*)p_actor->field_0x524);
if (p_actor->model != NULL) {
demoActor->setModel((J3DModel*)p_actor->model);
}
return demoActor;