diff --git a/Progress.md b/Progress.md index 6fbed7f447..1a763a9fde 100644 --- a/Progress.md +++ b/Progress.md @@ -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 diff --git a/asm/d/a/d_a_alink/__ct__16daPy_actorKeep_cFv.s b/asm/d/a/d_a_alink/__ct__16daPy_actorKeep_cFv.s new file mode 100644 index 0000000000..9897718681 --- /dev/null +++ b/asm/d/a/d_a_alink/__ct__16daPy_actorKeep_cFv.s @@ -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 \ No newline at end of file diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s deleted file mode 100644 index 5aac7249f7..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10cCcD_GSttsFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s deleted file mode 100644 index fcbffcaadb..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__10dCcD_GSttsFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__12J3DFrameCtrlFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/__dt__12J3DFrameCtrlFv.s deleted file mode 100644 index 521a85e8e2..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__12J3DFrameCtrlFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s deleted file mode 100644 index a80aa8f818..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8cM3dGAabFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8daCrod_cFv.s deleted file mode 100644 index 4d714accf1..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/__dt__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/createHeap__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/createHeap__8daCrod_cFv.s deleted file mode 100644 index 68ac44b8eb..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/createHeap__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/create__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/create__8daCrod_cFv.s deleted file mode 100644 index b69d5797a2..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/create__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Create__FP10fopAc_ac_c.s deleted file mode 100644 index f6f3f8ea8e..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Delete__FP8daCrod_c.s b/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Delete__FP8daCrod_c.s deleted file mode 100644 index c540c2df5c..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Delete__FP8daCrod_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Draw__FP8daCrod_c.s b/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Draw__FP8daCrod_c.s deleted file mode 100644 index f4c1274ad5..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Draw__FP8daCrod_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Execute__FP8daCrod_c.s b/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Execute__FP8daCrod_c.s deleted file mode 100644 index 176d6c38d0..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_Execute__FP8daCrod_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_createHeap__FP10fopAc_ac_c.s b/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_createHeap__FP10fopAc_ac_c.s deleted file mode 100644 index 44899aefb9..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/daCrod_createHeap__FP10fopAc_ac_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/draw__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/draw__8daCrod_cFv.s deleted file mode 100644 index a278329ea3..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/draw__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/execute__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/execute__8daCrod_cFv.s deleted file mode 100644 index a31383421c..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/execute__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/setBckAnm__8daCrod_cFUs.s b/asm/rel/d/a/d_a_crod/d_a_crod/setBckAnm__8daCrod_cFUs.s deleted file mode 100644 index a47fbd1cfd..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/setBckAnm__8daCrod_cFUs.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/setLightPower__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/setLightPower__8daCrod_cFv.s deleted file mode 100644 index 3e27093a29..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/setLightPower__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/setMatrix__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/setMatrix__8daCrod_cFv.s deleted file mode 100644 index d90cbb0b9d..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/setMatrix__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_crod/d_a_crod/setReturn__8daCrod_cFv.s b/asm/rel/d/a/d_a_crod/d_a_crod/setReturn__8daCrod_cFv.s deleted file mode 100644 index 83ba1aaaf9..0000000000 --- a/asm/rel/d/a/d_a_crod/d_a_crod/setReturn__8daCrod_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/__ct__10daDo_HIO_cFv.s b/asm/rel/d/a/d_a_do/d_a_do/__ct__10daDo_HIO_cFv.s deleted file mode 100644 index 4e23e25135..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/__ct__10daDo_HIO_cFv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/anm_init__FP8do_classifUcf.s b/asm/rel/d/a/d_a_do/d_a_do/anm_init__FP8do_classifUcf.s deleted file mode 100644 index 6f2bbbb113..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/anm_init__FP8do_classifUcf.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check2__FP8do_classP4cXyz.s b/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check2__FP8do_classP4cXyz.s deleted file mode 100644 index 252c352901..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check2__FP8do_classP4cXyz.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check__FP8do_classP10fopAc_ac_c.s b/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check__FP8do_classP10fopAc_ac_c.s deleted file mode 100644 index 0bac0a7680..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/daDo_other_bg_check__FP8do_classP10fopAc_ac_c.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/depth_check__FP8do_class4cXyzf.s b/asm/rel/d/a/d_a_do/d_a_do/depth_check__FP8do_class4cXyzf.s deleted file mode 100644 index 8e64dc9378..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/depth_check__FP8do_class4cXyzf.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_carry_check__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_carry_check__FP8do_class.s deleted file mode 100644 index 12c1110eb0..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_carry_check__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_message__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_message__FP8do_class.s deleted file mode 100644 index f36c838f35..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_message__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_run__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_run__FP8do_class.s deleted file mode 100644 index 10b7022b22..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_run__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_run_walk__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_run_walk__FP8do_class.s deleted file mode 100644 index ab15656024..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_run_walk__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_swim__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_swim__FP8do_class.s deleted file mode 100644 index f613b4c549..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_swim__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_wait_2__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_wait_2__FP8do_class.s deleted file mode 100644 index af4a7b7594..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_wait_2__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/do_walk_run__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/do_walk_run__FP8do_class.s deleted file mode 100644 index 3160c08f34..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/do_walk_run__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/food_check__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/food_check__FP8do_class.s deleted file mode 100644 index 4bc625e1ae..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/food_check__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/message__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/message__FP8do_class.s deleted file mode 100644 index 8eab84ecf4..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/message__FP8do_class.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/move_dansa_check__FP8do_classf.s b/asm/rel/d/a/d_a_do/d_a_do/move_dansa_check__FP8do_classf.s deleted file mode 100644 index 6776a53f58..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/move_dansa_check__FP8do_classf.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/nodeCallBack__FP8J3DJointi.s b/asm/rel/d/a/d_a_do/d_a_do/nodeCallBack__FP8J3DJointi.s deleted file mode 100644 index 0e32117c98..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/nodeCallBack__FP8J3DJointi.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/s_c_sub__FPvPv.s b/asm/rel/d/a/d_a_do/d_a_do/s_c_sub__FPvPv.s deleted file mode 100644 index 58b0999807..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/s_c_sub__FPvPv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/s_w_sub__FPvPv.s b/asm/rel/d/a/d_a_do/d_a_do/s_w_sub__FPvPv.s deleted file mode 100644 index 678e0bb10e..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/s_w_sub__FPvPv.s +++ /dev/null @@ -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 diff --git a/asm/rel/d/a/d_a_do/d_a_do/water_check__FP8do_class.s b/asm/rel/d/a/d_a_do/d_a_do/water_check__FP8do_class.s deleted file mode 100644 index 63409ccc7f..0000000000 --- a/asm/rel/d/a/d_a_do/d_a_do/water_check__FP8do_class.s +++ /dev/null @@ -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 diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 581025392e..844d8449c6 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -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), diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 9c270ccd33..35fcbd999b 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -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); } diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index 32ec70e407..cd63c014d0 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -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; } diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index 9e0c1dbcf6..28afbb87f7 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -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 */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index a1a27fd1a7..b76d3d9fe2 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -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; diff --git a/include/m_Do/m_Do_ext.h b/include/m_Do/m_Do_ext.h index faa63921f4..3202f9a553 100644 --- a/include/m_Do/m_Do_ext.h +++ b/include/m_Do/m_Do_ext.h @@ -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) { diff --git a/include/rel/d/a/d_a_crod/d_a_crod.h b/include/rel/d/a/d_a_crod/d_a_crod.h index bf0e65fb20..dce13b69cf 100644 --- a/include/rel/d/a/d_a_crod/d_a_crod.h +++ b/include/rel/d/a/d_a_crod/d_a_crod.h @@ -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 */ diff --git a/include/rel/d/a/d_a_cstaf/d_a_cstaF.h b/include/rel/d/a/d_a_cstaf/d_a_cstaF.h index f3f3868276..4ae90e6271 100644 --- a/include/rel/d/a/d_a_cstaf/d_a_cstaF.h +++ b/include/rel/d/a/d_a_cstaf/d_a_cstaF.h @@ -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 */ diff --git a/include/rel/d/a/d_a_cstatue/d_a_cstatue.h b/include/rel/d/a/d_a_cstatue/d_a_cstatue.h index 9861393d27..8b0135832a 100644 --- a/include/rel/d/a/d_a_cstatue/d_a_cstatue.h +++ b/include/rel/d/a/d_a_cstatue/d_a_cstatue.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 */]; diff --git a/include/rel/d/a/d_a_do/d_a_do.h b/include/rel/d/a/d_a_do/d_a_do.h index aa58cbabff..e9823dc359 100644 --- a/include/rel/d/a/d_a_do/d_a_do.h +++ b/include/rel/d/a/d_a_do/d_a_do.h @@ -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 */ diff --git a/rel/d/a/d_a_crod/Makefile b/rel/d/a/d_a_crod/Makefile index c7a8ddb082..bc2d19df0a 100644 --- a/rel/d/a/d_a_crod/Makefile +++ b/rel/d/a/d_a_crod/Makefile @@ -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 := \ diff --git a/rel/d/a/d_a_crod/d_a_crod.cpp b/rel/d/a/d_a_crod/d_a_crod.cpp index 211743b8fe..62e25d1509 100644 --- a/rel/d/a/d_a_crod/d_a_crod.cpp +++ b/rel/d/a/d_a_crod/d_a_crod.cpp @@ -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(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, ¤t.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(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(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, ¤t.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(control_actor)->getBallPos(); + } else { + current.pos = static_cast(control_actor)->getBallPos(); + } + } else { + if (player->getCopyRodMtx() != NULL) { + mDoMtx_multVec(player->getCopyRodMtx(), &l_localRodPos, ¤t.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, ¤t.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, +}; diff --git a/rel/d/a/d_a_crod/unknown_translation_unit_bss.cpp b/rel/d/a/d_a_crod/unknown_translation_unit_bss.cpp deleted file mode 100644 index 2625de6440..0000000000 --- a/rel/d/a/d_a_crod/unknown_translation_unit_bss.cpp +++ /dev/null @@ -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]; diff --git a/rel/d/a/d_a_cstaf/d_a_cstaF.cpp b/rel/d/a/d_a_cstaf/d_a_cstaF.cpp index 629a5b6e2b..fc80844592 100644 --- a/rel/d/a/d_a_cstaf/d_a_cstaF.cpp +++ b/rel/d/a/d_a_cstaf/d_a_cstaF.cpp @@ -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 diff --git a/rel/d/a/d_a_do/d_a_do.cpp b/rel/d/a/d_a_do/d_a_do.cpp index 87105c9ce1..e5f2e3f487 100644 --- a/rel/d/a/d_a_do/d_a_do.cpp +++ b/rel/d/a/d_a_do/d_a_do.cpp @@ -4,15 +4,9 @@ // #include "rel/d/a/d_a_do/d_a_do.h" -#include "JSystem/JMath/JMath.h" -#include "d/a/d_a_player.h" -#include "d/d_procname.h" +#include "SSystem/SComponent/c_math.h" #include "d/com/d_com_inf_game.h" #include "dol2asm.h" -#include "dolphin/types.h" -#include "f_op/f_op_actor_mng.h" -#include "f_pc/f_pc_executor.h" -#include "SSystem/SComponent/c_math.h" // // Forward References: @@ -479,9 +473,7 @@ COMPILER_STRIP_GATE(0x8066EE08, &lit_3773); /* 80667FE4-80668134 000384 0150+00 1/0 0/0 0/0 .text daDo_Draw__FP8do_class */ #ifdef NONMATCHING -static void daDo_Draw(do_class* i_this) { - -} +static void daDo_Draw(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -512,12 +504,12 @@ COMPILER_STRIP_GATE(0x8066EE0C, &lit_3816); /* 80668170-80668264 000510 00F4+00 1/1 0/0 0/0 .text * daDo_other_bg_check__FP8do_classP10fopAc_ac_c */ static int daDo_other_bg_check(do_class* i_this, fopAc_ac_c* i_actorP) { - Vec dog_pos; // defining as cXyz moves the destructor above this function, breaking the TU - Vec actor_pos; // defining as cXyz moves the destructor above this function, breaking the TU + Vec dog_pos; // defining as cXyz moves the destructor above this function, breaking the TU + Vec actor_pos; // defining as cXyz moves the destructor above this function, breaking the TU + + fopAc_ac_c* actor = (fopAc_ac_c*)i_actorP; // required for match, maybe fake match? + do_class* dog = (do_class*)i_this; // required for match, maybe fake match? - fopAc_ac_c* actor = (fopAc_ac_c*)i_actorP; // required for match, maybe fake match? - do_class* dog = (do_class*)i_this; // required for match, maybe fake match? - dBgS_LinChk lin_chk; if (actor) { @@ -527,7 +519,7 @@ static int daDo_other_bg_check(do_class* i_this, fopAc_ac_c* i_actorP) { dog_pos = dog->current.pos; dog_pos.y = dog->mEyePos.y; - lin_chk.Set((cXyz*)&dog_pos,(cXyz*)&actor_pos,dog); + lin_chk.Set((cXyz*)&dog_pos, (cXyz*)&actor_pos, dog); if (dComIfG_Bgsp().LineCross(&lin_chk)) { return 1; } else { @@ -546,23 +538,21 @@ COMPILER_STRIP_GATE(0x8066EE10, &lit_3846); /* 80668264-8066833C 000604 00D8+00 1/1 0/0 0/0 .text daDo_other_bg_check2__FP8do_classP4cXyz */ static int daDo_other_bg_check2(do_class* i_this, cXyz* i_posP) { - Vec dog_pos; // defining as cXyz moves the destructor above this function, breaking the TU - Vec i_pos; // defining as cXyz moves the destructor above this function, breaking the TU + Vec dog_pos; // defining as cXyz moves the destructor above this function, breaking the TU + Vec i_pos; // defining as cXyz moves the destructor above this function, breaking the TU - cXyz* pos = (cXyz*)i_posP; // required for match, maybe fake match? - do_class* dog = (do_class*)i_this; // required for match, maybe fake match? + cXyz* pos = (cXyz*)i_posP; // required for match, maybe fake match? + do_class* dog = (do_class*)i_this; // required for match, maybe fake match? dBgS_LinChk lin_chk; - // do_class* dog = (do_class*)i_this; // required for match, maybe fake match? - i_pos = *pos; i_pos.y += FLOAT_LABEL(lit_3846); dog_pos = dog->current.pos; dog_pos.y += FLOAT_LABEL(lit_3846); - lin_chk.Set((cXyz*)&dog_pos,(cXyz*)&i_pos,dog); + lin_chk.Set((cXyz*)&dog_pos, (cXyz*)&i_pos, dog); if (dComIfG_Bgsp().LineCross(&lin_chk)) { return 1; } else { @@ -677,7 +667,10 @@ static int target_info_count; /* 8066833C-806683C0 0006DC 0084+00 1/1 0/0 0/0 .text s_w_sub__FPvPv */ static int s_w_sub(void* param_0, void* param_1) { - if (fopAcM_IsActor(param_0) && (fopAcM_GetName(param_0) == PROC_OBJ_FOOD || fopAcM_GetName(param_0) == PROC_OBJ_KANBAN2) && fopAcM_checkCarryNow((fopAc_ac_c*)param_0) && target_info_count < 5) { + if (fopAcM_IsActor(param_0) && + (fopAcM_GetName(param_0) == PROC_OBJ_FOOD || fopAcM_GetName(param_0) == PROC_OBJ_KANBAN2) && + fopAcM_checkCarryNow((fopAc_ac_c*)param_0) && target_info_count < 5) + { target_info[target_info_count] = (fopAc_ac_c*)param_0; target_info_count++; } @@ -723,28 +716,28 @@ static u32 search_food(do_class* i_this) { do { // for (int j = 0; j != target_info_count; j++) { - fopAc_ac_c* actorP = target_info[i]; - f32 x_pos = actorP->current.pos.x - i_this->mEyePos.x; - f32 z_pos = actorP->current.pos.z - i_this->mEyePos.z; - f32 f_pos = JMAFastSqrt(x_pos * x_pos + z_pos * z_pos); + fopAc_ac_c* actorP = target_info[i]; + f32 x_pos = actorP->current.pos.x - i_this->mEyePos.x; + f32 z_pos = actorP->current.pos.z - i_this->mEyePos.z; + f32 f_pos = JMAFastSqrt(x_pos * x_pos + z_pos * z_pos); - if (f_pos < tmp) { - if (target_bgc[i] == 0) { - if (daDo_other_bg_check(i_this, actorP) == 0) { - target_bgc[i] = 1; + if (f_pos < tmp) { + if (target_bgc[i] == 0) { + if (daDo_other_bg_check(i_this, actorP) == 0) { + target_bgc[i] = 1; - if (!actorP) { - ret = -1; - } else { - ret = actorP->mBase.mBsPcId; - } + if (!actorP) { + ret = -1; + } else { + ret = actorP->mBase.mBsPcId; } } } + } - if (target_info_count == i) { - ret = 0; - } + if (target_info_count == i) { + ret = 0; + } // } i++; @@ -807,7 +800,7 @@ static BOOL depth_check(do_class* i_this, cXyz i_pos, f32 param_2) { f32 f_res; pos.x = i_pos.x; - pos.y = FLOAT_LABEL(lit_3922)+i_pos.y; + pos.y = FLOAT_LABEL(lit_3922) + i_pos.y; pos.z = i_pos.z; gnd_chk.SetPos(&pos); @@ -818,7 +811,7 @@ static BOOL depth_check(do_class* i_this, cXyz i_pos, f32 param_2) { f_gnd_chk_spl = dComIfG_Bgsp().GroundCross(&gnd_chk_spl); sub_res = f_gnd_chk_spl - f_gnd_chk; - mul_res = FLOAT_LABEL(lit_3665) * param_2 * FLOAT_LABEL(lit_3981); + mul_res = FLOAT_LABEL(lit_3665) * param_2 * FLOAT_LABEL(lit_3981); f_res = mul_res * i_this->field_0x674.z; if (sub_res > f_res) { @@ -885,10 +878,10 @@ COMPILER_STRIP_GATE(0x8066EE2C, &lit_4027); static int dansa_check(do_class* i_this, cXyz i_pos, f32 param_2) { i_pos.y = i_pos.y + FLOAT_LABEL(lit_4025); dBgS_GndChk gnd_chk; - + Vec pos; pos.x = i_pos.x; - pos.y = FLOAT_LABEL(lit_4025)+i_pos.y; + pos.y = FLOAT_LABEL(lit_4025) + i_pos.y; pos.z = i_pos.z; gnd_chk.SetPos(&pos); @@ -905,14 +898,14 @@ static int dansa_check(do_class* i_this, cXyz i_pos, f32 param_2) { pos2.z = i_this->current.pos.z; pos2.y = i_this->current.pos.y + FLOAT_LABEL(lit_4026); - lin_chk.Set(&pos2,&i_pos,i_this); + lin_chk.Set(&pos2, &i_pos, i_this); if (dComIfG_Bgsp().LineCross(&lin_chk) != 0) { return -1; } else { - if (depth_check(i_this,i_pos,FLOAT_LABEL(lit_4027)) && l_HIO.mSwimming == 0) { + if (depth_check(i_this, i_pos, FLOAT_LABEL(lit_4027)) && l_HIO.mSwimming == 0) { return 0xffffff9c; - + } else { return 0; } @@ -952,15 +945,16 @@ static bool dansa_check2(do_class* i_this, f32 param_1) { cXyz pos; cXyz pos2; - mDoMtx_YrotS((MtxP)calc_mtx,i_this->current.angle.y); + mDoMtx_YrotS((MtxP)calc_mtx, i_this->current.angle.y); pos.x = FLOAT_LABEL(lit_3682); pos.y = FLOAT_LABEL(lit_4057); f32 tmp = i_this->field_0x674.z; - pos.z = tmp * (FLOAT_LABEL(lit_3981) * param_1) + tmp * (FLOAT_LABEL(lit_3981) * i_this->speedF) * FLOAT_LABEL(lit_4058); + pos.z = tmp * (FLOAT_LABEL(lit_3981) * param_1) + + tmp * (FLOAT_LABEL(lit_3981) * i_this->speedF) * FLOAT_LABEL(lit_4058); - MtxPosition(&pos,&pos2); + MtxPosition(&pos, &pos2); pos2 += i_this->current.pos; - return dansa_check(i_this,pos2,FLOAT_LABEL(lit_3772)) != 0; + return dansa_check(i_this, pos2, FLOAT_LABEL(lit_3772)) != 0; } #else #pragma push @@ -984,7 +978,7 @@ COMPILER_STRIP_GATE(0x8066EE3C, &lit_4069); /* 80668B18-80668BA0 000EB8 0088+00 4/4 0/0 0/0 .text move_dansa_check__FP8do_classf */ static int move_dansa_check(do_class* i_this, f32 i_speed) { - if (dansa_check2(i_this,FLOAT_LABEL(lit_4068)) != 0) { + if (dansa_check2(i_this, FLOAT_LABEL(lit_4068)) != 0) { i_this->mAction = ACT_WAIT_1; if (i_speed > FLOAT_LABEL(lit_4069)) { @@ -1043,10 +1037,12 @@ static void area_check(do_class* i_this) { cXyz pos_delta = i_this->orig.pos - i_this->current.pos; if (i_this->field_0x5b6 != 255) { - if ((i_this->field_0x5b6 * FLOAT_LABEL(lit_3772) * FLOAT_LABEL(lit_3665)) > pos_delta.abs()) { + if ((i_this->field_0x5b6 * FLOAT_LABEL(lit_3772) * FLOAT_LABEL(lit_3665)) > pos_delta.abs()) + { i_this->mAction = ACT_WALK; i_this->mStayStatus = -1; - i_this->field_0x5fc[2] = cM_rndF(FLOAT_LABEL(lit_3772)) + FLOAT_LABEL(lit_3772); // random value between 100 and 200 + i_this->field_0x5fc[2] = cM_rndF(FLOAT_LABEL(lit_3772)) + + FLOAT_LABEL(lit_3772); // random value between 100 and 200 } } } @@ -1137,93 +1133,95 @@ COMPILER_STRIP_GATE(0x8066EE84, &lit_4339); // regalloc and float literals static void do_stay(do_class* i_this) { switch (i_this->mStayStatus) { - case 0: { - if (i_this->field_0x5b4 == 0) { - anm_init(i_this,ANM_DOWN_WT,FLOAT_LABEL(lit_4069),2,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus++; - i_this->field_0x5fc[0] = 10; - } else { - i_this->mAction = ACT_WALK; - i_this->mStayStatus = 0; - return; - } + case 0: { + if (i_this->field_0x5b4 == 0) { + anm_init(i_this, ANM_DOWN_WT, FLOAT_LABEL(lit_4069), 2, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus++; + i_this->field_0x5fc[0] = 10; + } else { + i_this->mAction = ACT_WALK; + i_this->mStayStatus = 0; + return; } - case 1: { - if (i_this->field_0x5fc[0] == 0 && i_this->mDistFromPlayer < l_HIO.mRunSpeed) { - i_this->mStayStatus++; - i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_3816)) + FLOAT_LABEL(lit_4189); // random number between 20 and 70 - } - break; + } + case 1: { + if (i_this->field_0x5fc[0] == 0 && i_this->mDistFromPlayer < l_HIO.mRunSpeed) { + i_this->mStayStatus++; + i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_3816)) + + FLOAT_LABEL(lit_4189); // random number between 20 and 70 } - case 2: { - i_this->field_0x616 = 1; - i_this->field_0x614 = 0xe764; - i_this->field_0x648 = FLOAT_LABEL(lit_4190); - if (i_this->field_0x5fc[0] == 0) { - anm_init(i_this,ANM_DOWN,FLOAT_LABEL(lit_4027),0,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus++; - } - break; - } - case 3: { - i_this->field_0x616 = 1; - i_this->field_0x648 = FLOAT_LABEL(lit_4191); - - if (i_this->mpMorf->isStop()) { - i_this->mAction = ACT_WALK_RUN; - i_this->mStayStatus = 0; - } - break; - } - case 10: { - anm_init(i_this,ANM_DOWN_WT,FLOAT_LABEL(lit_4069),2,FLOAT_LABEL(lit_3662)); + break; + } + case 2: { + i_this->field_0x616 = 1; + i_this->field_0x614 = 0xe764; + i_this->field_0x648 = FLOAT_LABEL(lit_4190); + if (i_this->field_0x5fc[0] == 0) { + anm_init(i_this, ANM_DOWN, FLOAT_LABEL(lit_4027), 0, FLOAT_LABEL(lit_3662)); i_this->mStayStatus++; } - case 11: { - i_this->field_0x616 = 1; - i_this->field_0x614 = 0xe764; - i_this->field_0x648 = FLOAT_LABEL(lit_4190); + break; + } + case 3: { + i_this->field_0x616 = 1; + i_this->field_0x648 = FLOAT_LABEL(lit_4191); - if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_3846)) { - i_this->mStayStatus++; - i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + FLOAT_LABEL(lit_4192); // random number between 10 and 20 - } - - if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_3772) + l_HIO.mPlayerRecogniztionDist) { - i_this->field_0x5f4 = 0; - i_this->mStayStatus = 0; - } - break; + if (i_this->mpMorf->isStop()) { + i_this->mAction = ACT_WALK_RUN; + i_this->mStayStatus = 0; } - case 12: { - i_this->field_0x616 = 1; - i_this->field_0x614 = 0xe764; - i_this->field_0x648 = FLOAT_LABEL(lit_4193); + break; + } + case 10: { + anm_init(i_this, ANM_DOWN_WT, FLOAT_LABEL(lit_4069), 2, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus++; + } + case 11: { + i_this->field_0x616 = 1; + i_this->field_0x614 = 0xe764; + i_this->field_0x648 = FLOAT_LABEL(lit_4190); - if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_3846)) { - if (i_this->field_0x5fc[0] == 0) { - anm_init(i_this,ANM_DOWN,FLOAT_LABEL(lit_4194),0,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus = 13; - } - } else { - i_this->mStayStatus = 11; - } - break; + if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_3846)) { + i_this->mStayStatus++; + i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + + FLOAT_LABEL(lit_4192); // random number between 10 and 20 } - case 13: { - i_this->field_0x616 = 1; - i_this->field_0x648 = FLOAT_LABEL(lit_4193); - if (i_this->mpMorf->isStop()) { - i_this->mAction = ACT_WAIT_1; - i_this->mStayStatus = 0; - } + if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_3772) + l_HIO.mPlayerRecogniztionDist) { + i_this->field_0x5f4 = 0; + i_this->mStayStatus = 0; } + break; + } + case 12: { + i_this->field_0x616 = 1; + i_this->field_0x614 = 0xe764; + i_this->field_0x648 = FLOAT_LABEL(lit_4193); + + if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_3846)) { + if (i_this->field_0x5fc[0] == 0) { + anm_init(i_this, ANM_DOWN, FLOAT_LABEL(lit_4194), 0, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus = 13; + } + } else { + i_this->mStayStatus = 11; + } + break; + } + case 13: { + i_this->field_0x616 = 1; + i_this->field_0x648 = FLOAT_LABEL(lit_4193); + + if (i_this->mpMorf->isStop()) { + i_this->mAction = ACT_WAIT_1; + i_this->mStayStatus = 0; + } + } } f32* speedF = (f32*)&i_this->speedF; - cLib_addCalc0(speedF,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_3662)); + cLib_addCalc0(speedF, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_3662)); } #else #pragma push @@ -1286,139 +1284,143 @@ static void do_walk(do_class* i_this) { cXyz local_5c; i_this->field_0x648 = 1000.0; - switch(i_this->mStayStatus+1) { - case 12: { - i_this->field_0x5b8 = i_this->orig.pos; - i_this->speedF >= l_HIO.mRunSpeed ? i_this->field_0x5e8 = 1.7 : i_this->field_0x5e8 = 4.0; + switch (i_this->mStayStatus + 1) { + case 12: { + i_this->field_0x5b8 = i_this->orig.pos; + i_this->speedF >= l_HIO.mRunSpeed ? i_this->field_0x5e8 = 1.7 : i_this->field_0x5e8 = 4.0; - i_this->field_0x5ec = 1.7; - anm_init(i_this,ANM_WALK,0.0,2,i_this->field_0x5e8); - i_this->mStayStatus = 3; - break; - } - case 0: { - if (i_this->field_0x5f4 == 8) { - anm_init(i_this,ANM_SIT,0.0,0,1.0); - } - else { - anm_init(i_this,ANM_DOWN,0.0,0,1.0); - } - - i_this->mStayStatus++; - break; - } - - case 1: { - if (i_this->mpMorf->isStop()) { - i_this->mStayStatus++;; - } - break; - } - - case 2: { - local_5c.x = 0.0; - local_5c.y = 20.0; - - for (int i = 0; i < 100; i++) { - mDoMtx_YrotS((MtxP)calc_mtx,cM_rndF(65536.0)); - - local_5c.z = cM_rndF(100.0f * i_this->field_0x5b6); - MtxPosition(&local_5c,&i_this->field_0x5b8); - - i_this->field_0x5b8 += i_this->orig.pos; - - if (dansa_check(i_this,i_this->field_0x5b8,0.0) == 0) { - local_5c = i_this->field_0x5b8 - i_this->current.pos; - - if (local_5c.abs() > 300.0f) break; - } - } - - f32 rnd_number = cM_rndF(0.6); - i_this->field_0x5ec = rnd_number + 1.3; - i_this->field_0x5e8 = rnd_number + 1.3; - - anm_init(i_this,ANM_WALK,0.0,2,i_this->field_0x5e8); - - i_this->mStayStatus++; - } - - case 3: { - local_5c = i_this->field_0x5b8 - i_this->current.pos; - - cLib_addCalcAngleS2(&i_this->current.angle.y,(s16)cM_atan2s(local_5c.x,local_5c.z),0x10,0x100); - cLib_addCalc2(&i_this->speedF,i_this->field_0x5e8 * l_HIO.mWalkSpeed,1.0,l_HIO.mWalkSpeed * 0.2); - - if (local_5c.abs() < 150.0) { - if (i_this->field_0x5b4 == 0) { - i_this->mAction = ACT_STAY; - i_this->mStayStatus = 0; - } else { - anm_init(i_this,ANM_WAIT,0.0,2,1.0); - i_this->field_0x5fc[0] = cM_rndF(50.0) + 20.0; - i_this->field_0x5ec = 1.0; - i_this->mStayStatus++; - } - } - - break; - } - - case 4: { - cLib_addCalc0(&i_this->speedF,1.0,1.0); - - if (i_this->field_0x5fc[0] == 0) { - i_this->mStayStatus = 2; - } - - break; - } - - case 10: { - cLib_addCalc0(&i_this->speedF,1.0,1.0); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,4,0x400); - - i_this->field_0x616 = 1; - i_this->field_0x648 = 2000.0; - - s16 angle_diff = i_this->current.angle.y - i_this->mAngleYFromPlayer; - - if (angle_diff < 0) { - angle_diff *= -1; - } - - if (angle_diff < 0x800) { - i_this->mStayStatus++; - anm_init(i_this,ANM_WAIT,0.0,2,1.0); - i_this->field_0x5ec = 1.0; - i_this->field_0x5fc[0] = cM_rndF(10.0) + 10.0; - } - - break; - } - - case 11: { - i_this->field_0x616 = 1; - i_this->field_0x648 = 3000.0; - if (i_this->field_0x5fc[0] == 0) { - i_this->mAction = ACT_WALK_RUN; - i_this->mStayStatus = 0; - return; - } - break; - } - + i_this->field_0x5ec = 1.7; + anm_init(i_this, ANM_WALK, 0.0, 2, i_this->field_0x5e8); + i_this->mStayStatus = 3; + break; } - - cLib_addCalc2(&i_this->field_0x5e8,i_this->field_0x5ec,1.0,0.05); + case 0: { + if (i_this->field_0x5f4 == 8) { + anm_init(i_this, ANM_SIT, 0.0, 0, 1.0); + } else { + anm_init(i_this, ANM_DOWN, 0.0, 0, 1.0); + } + + i_this->mStayStatus++; + break; + } + + case 1: { + if (i_this->mpMorf->isStop()) { + i_this->mStayStatus++; + ; + } + break; + } + + case 2: { + local_5c.x = 0.0; + local_5c.y = 20.0; + + for (int i = 0; i < 100; i++) { + mDoMtx_YrotS((MtxP)calc_mtx, cM_rndF(65536.0)); + + local_5c.z = cM_rndF(100.0f * i_this->field_0x5b6); + MtxPosition(&local_5c, &i_this->field_0x5b8); + + i_this->field_0x5b8 += i_this->orig.pos; + + if (dansa_check(i_this, i_this->field_0x5b8, 0.0) == 0) { + local_5c = i_this->field_0x5b8 - i_this->current.pos; + + if (local_5c.abs() > 300.0f) + break; + } + } + + f32 rnd_number = cM_rndF(0.6); + i_this->field_0x5ec = rnd_number + 1.3; + i_this->field_0x5e8 = rnd_number + 1.3; + + anm_init(i_this, ANM_WALK, 0.0, 2, i_this->field_0x5e8); + + i_this->mStayStatus++; + } + + case 3: { + local_5c = i_this->field_0x5b8 - i_this->current.pos; + + cLib_addCalcAngleS2(&i_this->current.angle.y, (s16)cM_atan2s(local_5c.x, local_5c.z), 0x10, + 0x100); + cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mWalkSpeed, 1.0, + l_HIO.mWalkSpeed * 0.2); + + if (local_5c.abs() < 150.0) { + if (i_this->field_0x5b4 == 0) { + i_this->mAction = ACT_STAY; + i_this->mStayStatus = 0; + } else { + anm_init(i_this, ANM_WAIT, 0.0, 2, 1.0); + i_this->field_0x5fc[0] = cM_rndF(50.0) + 20.0; + i_this->field_0x5ec = 1.0; + i_this->mStayStatus++; + } + } + + break; + } + + case 4: { + cLib_addCalc0(&i_this->speedF, 1.0, 1.0); + + if (i_this->field_0x5fc[0] == 0) { + i_this->mStayStatus = 2; + } + + break; + } + + case 10: { + cLib_addCalc0(&i_this->speedF, 1.0, 1.0); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 4, 0x400); + + i_this->field_0x616 = 1; + i_this->field_0x648 = 2000.0; + + s16 angle_diff = i_this->current.angle.y - i_this->mAngleYFromPlayer; + + if (angle_diff < 0) { + angle_diff *= -1; + } + + if (angle_diff < 0x800) { + i_this->mStayStatus++; + anm_init(i_this, ANM_WAIT, 0.0, 2, 1.0); + i_this->field_0x5ec = 1.0; + i_this->field_0x5fc[0] = cM_rndF(10.0) + 10.0; + } + + break; + } + + case 11: { + i_this->field_0x616 = 1; + i_this->field_0x648 = 3000.0; + if (i_this->field_0x5fc[0] == 0) { + i_this->mAction = ACT_WALK_RUN; + i_this->mStayStatus = 0; + return; + } + break; + } + } + + cLib_addCalc2(&i_this->field_0x5e8, i_this->field_0x5ec, 1.0, 0.05); i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); - if (i_this->field_0x5fc[2] == 0 && i_this->mStayStatus < 10 && i_this->mDistFromPlayer < l_HIO.mPlayerRecogniztionDist) { - anm_init(i_this,ANM_STEP_2,0.0,2,1.0); + if (i_this->field_0x5fc[2] == 0 && i_this->mStayStatus < 10 && + i_this->mDistFromPlayer < l_HIO.mPlayerRecogniztionDist) + { + anm_init(i_this, ANM_STEP_2, 0.0, 2, 1.0); i_this->mStayStatus = 10; } - move_dansa_check(i_this,i_this->speedF); + move_dansa_check(i_this, i_this->speedF); } #else #pragma push @@ -1452,33 +1454,35 @@ static void do_walk_run(do_class* i_this) { i_this->field_0x648 = FLOAT_LABEL(lit_4344); switch (i_this->mStayStatus) { - case 0: { - i_this->field_0x5e8 = FLOAT_LABEL(lit_4377); - anm_init(i_this,22,FLOAT_LABEL(lit_4192),2,i_this->field_0x5e8); - i_this->mStayStatus++; - } - case 1: { - cLib_addCalc2(&i_this->field_0x5e8,FLOAT_LABEL(lit_3665),FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_4345)); - i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); + case 0: { + i_this->field_0x5e8 = FLOAT_LABEL(lit_4377); + anm_init(i_this, 22, FLOAT_LABEL(lit_4192), 2, i_this->field_0x5e8); + i_this->mStayStatus++; + } + case 1: { + cLib_addCalc2(&i_this->field_0x5e8, FLOAT_LABEL(lit_3665), FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_4345)); + i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); - if (i_this->field_0x5e8 >= FLOAT_LABEL(lit_3665) ) { - i_this->mAction = ACT_RUN; - i_this->mStayStatus = 0; - i_this->mSound.startSound(JAISoundID(Z2SE_DOG_BARK),0,-1); - } + if (i_this->field_0x5e8 >= FLOAT_LABEL(lit_3665)) { + i_this->mAction = ACT_RUN; + i_this->mStayStatus = 0; + i_this->mSound.startSound(JAISoundID(Z2SE_DOG_BARK), 0, -1); } - default: { - cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mWalkSpeed, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4342) * l_HIO.mWalkSpeed); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,8,0x400); + } + default: { + cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mWalkSpeed, + FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4342) * l_HIO.mWalkSpeed); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 8, 0x400); - if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) { - l_HIO.field_0x1c != 0 ? i_this->mAction = ACT_WAIT_2 : i_this->mAction = ACT_WAIT_1; - i_this->mStayStatus = 0; - } - - area_check(i_this); - move_dansa_check(i_this,i_this->speedF); + if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) { + l_HIO.field_0x1c != 0 ? i_this->mAction = ACT_WAIT_2 : i_this->mAction = ACT_WAIT_1; + i_this->mStayStatus = 0; } + + area_check(i_this); + move_dansa_check(i_this, i_this->speedF); + } } } @@ -1538,28 +1542,31 @@ static void do_run(do_class* i_this) { i_this->field_0x648 = FLOAT_LABEL(lit_4400); switch (i_this->mStayStatus) { - case 0: { - i_this->field_0x5e8 = FLOAT_LABEL(lit_3662); - i_this->field_0x5ec = cM_rndF(FLOAT_LABEL(lit_4402))+FLOAT_LABEL(lit_4401); - anm_init(i_this,14,FLOAT_LABEL(lit_3665),2,FLOAT_LABEL(lit_4403)*i_this->field_0x5e8); - i_this->mStayStatus++; - } - case 1: { - cLib_addCalc2(&i_this->field_0x5e8,i_this->field_0x5ec,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_4404)); - i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); + case 0: { + i_this->field_0x5e8 = FLOAT_LABEL(lit_3662); + i_this->field_0x5ec = cM_rndF(FLOAT_LABEL(lit_4402)) + FLOAT_LABEL(lit_4401); + anm_init(i_this, 14, FLOAT_LABEL(lit_3665), 2, FLOAT_LABEL(lit_4403) * i_this->field_0x5e8); + i_this->mStayStatus++; + } + case 1: { + cLib_addCalc2(&i_this->field_0x5e8, i_this->field_0x5ec, FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_4404)); + i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); - if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4405)*i_this->field_0x674.z) { - i_this->mAction = ACT_RUN_WALK; - i_this->mStayStatus = 0; - } - } - default: { - cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mRunSpeed * FLOAT_LABEL(lit_4406), FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4342) * l_HIO.mRunSpeed); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,8,0x800); - area_check(i_this); - move_dansa_check(i_this,i_this->speedF); + if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4405) * i_this->field_0x674.z) { + i_this->mAction = ACT_RUN_WALK; + i_this->mStayStatus = 0; } } + default: { + cLib_addCalc2(&i_this->speedF, + i_this->field_0x5e8 * l_HIO.mRunSpeed * FLOAT_LABEL(lit_4406), + FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4342) * l_HIO.mRunSpeed); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 8, 0x800); + area_check(i_this); + move_dansa_check(i_this, i_this->speedF); + } + } } /* ############################################################################################## */ @@ -1576,32 +1583,34 @@ static void do_run_walk(do_class* i_this) { i_this->field_0x648 = FLOAT_LABEL(lit_4344); switch (i_this->mStayStatus) { - case 0: { - i_this->field_0x5e8 = FLOAT_LABEL(lit_4336); - anm_init(i_this,22,FLOAT_LABEL(lit_4194),2,i_this->field_0x5e8); - i_this->mStayStatus++; - } - case 1: { - cLib_addCalc2(&i_this->field_0x5e8,FLOAT_LABEL(lit_4401),FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_4345)); - i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); - } - default: { - cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mWalkSpeed, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4027)); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,8,0x400); + case 0: { + i_this->field_0x5e8 = FLOAT_LABEL(lit_4336); + anm_init(i_this, 22, FLOAT_LABEL(lit_4194), 2, i_this->field_0x5e8); + i_this->mStayStatus++; + } + case 1: { + cLib_addCalc2(&i_this->field_0x5e8, FLOAT_LABEL(lit_4401), FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_4345)); + i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); + } + default: { + cLib_addCalc2(&i_this->speedF, i_this->field_0x5e8 * l_HIO.mWalkSpeed, + FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4027)); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 8, 0x400); - if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) { - l_HIO.field_0x1c != 0 ? i_this->mAction = ACT_WAIT_2 : i_this->mAction = ACT_WAIT_1; + if (i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) { + l_HIO.field_0x1c != 0 ? i_this->mAction = ACT_WAIT_2 : i_this->mAction = ACT_WAIT_1; + i_this->mStayStatus = 0; + } else { + if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_4435) * i_this->field_0x674.z) { + i_this->mAction = ACT_RUN; i_this->mStayStatus = 0; - } else { - if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_4435) * i_this->field_0x674.z) { - i_this->mAction = ACT_RUN; - i_this->mStayStatus = 0; - } } - - area_check(i_this); - move_dansa_check(i_this,i_this->speedF); } + + area_check(i_this); + move_dansa_check(i_this, i_this->speedF); + } } } @@ -1625,141 +1634,146 @@ static void do_wait_1(do_class* i_this) { some_val = 0x1000; } - switch(i_this->mStayStatus) { - case 0: { - if (i_this->mDistFromPlayer <= i_this->field_0x674.z * 320.0) { - anm_init(i_this,ANM_WAIT,0.0,2,0.0); - i_this->mStayStatus++; - } else { - anm_init(i_this,ANM_JOYFUL,0.0,2,cM_rndFX(0.1) + 0.6); - i_this->mStayStatus = -1; - } - // goto default; - } - case 2: { - cLib_addCalcAngleS2(&i_this->current.angle.y,player_angle,4,0x400); - - if (angle_diff < 0x800) { - i_this->mStayStatus = 0; - } - - break; - } - case 3: { - if (75.0 <= i_this->mEyePosYDistFromPlayer) { - i_this->mStayStatus = 1; - } else if (i_this->field_0x5fc[0] == 0) { - if (30.0 <= i_this->mEyePosYDistFromPlayer) { - i_this->mAction = ACT_SIT; - i_this->mStayStatus = 0; - } else { - i_this->mAction = ACT_STAY; - i_this->mStayStatus = 10; - } - } - break; - } - case 5: { - cLib_addCalcAngleS2(&i_this->current.angle.y,player_angle + i_this->field_0x654,4,0x800); - cLib_addCalcAngleS2(&i_this->field_0x654,i_this->field_0x656,4,0x1000); - cLib_addCalc2(&i_this->current.pos.x,i_this->field_0x5b8.x,0.2,3.5); - cLib_addCalc2(&i_this->current.pos.z,i_this->field_0x5b8.z,0.2,3.5); - - if (i_this->field_0x5fc[0] == 0) { - i_this->mStayStatus = 0; - } - break; - } - case 6: { - i_this->field_0x648 = 4000.0; - - if (i_this->field_0x674.z * 176.0 < i_this->mDistFromPlayer) { - i_this->mStayStatus = 0; - } - } - default: { - if (some_val < angle_diff) { - anm_init(i_this,ANM_STEP_2,0.0,2,0.0); - i_this->mStayStatus = 2; - } else if (75.0 <= i_this->mEyePosYDistFromPlayer) { - - // i_this->field_0x674.z might be a store in a variable - if (i_this->field_0x674.z * 96.0 <= i_this->mDistFromPlayer) { - if ((i_this->mStayStatus != 6) && (i_this->mDistFromPlayer < i_this->field_0x674.z * 120.0)) { - anm_init(i_this,ANM_JOYFUL,0.0,2,cM_rndFX(0.1) + 1.0); - i_this->mStayStatus = 6; - } - } else { - cXyz local_68; - local_68.x = 0.0; - f32 dVar10 = 20.0; - local_68.y = 20.0; - - f32 dVar11 = -176.0; - f32 dVar12 = 0.2000000029802322; - - for (int i = 0; i < 20; i++) { - if (i < 10) { - mDoMtx_YrotS((MtxP)calc_mtx,i_this->mAngleYFromPlayer + cM_rndFX(5000.0)); - } else { - mDoMtx_YrotS((MtxP)calc_mtx,cM_rndF(65536.0)); - } - - local_68.z = dVar11 * i_this->field_0x674.z; - - MtxPosition(&local_68,&i_this->field_0x5b8); - i_this->field_0x5b8 += player->current.pos; - - if (cM_rndF(1.0) < dVar12) break; - - // local_74 = i_this->field6_0x5b8; - if (dansa_check(i_this,i_this->field_0x5b8,0.0) == 0) break; - - i_this->mUnkPos = i_this->field_0x5b8; - i_this->field_0x624 = dVar10 + cM_rndF(10.0); - } - - i_this->mStayStatus = 5; - i_this->field_0x656 = cM_rndFX(10000.0); - - anm_init(i_this,ANM_WALK,0.0,2,0.0); - i_this->field_0x5fc[0] = cM_rndF(10.0) + 15.0; - } - } - else { - i_this->mStayStatus = 3; - i_this->field_0x5fc[0] = cM_rndF(10.0) + 10.0; - } - break; - } - case 10: { - i_this->field_0x5e8 = 5.0; - anm_init(i_this,ANM_WALK,0.0,2,i_this->field_0x5e8); - + switch (i_this->mStayStatus) { + case 0: { + if (i_this->mDistFromPlayer <= i_this->field_0x674.z * 320.0) { + anm_init(i_this, ANM_WAIT, 0.0, 2, 0.0); i_this->mStayStatus++; + } else { + anm_init(i_this, ANM_JOYFUL, 0.0, 2, cM_rndFX(0.1) + 0.6); + i_this->mStayStatus = -1; } - case 11: { - cLib_addCalc2(&i_this->field_0x5e8,2.0,1.0,0.2); - i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); + // goto default; + } + case 2: { + cLib_addCalcAngleS2(&i_this->current.angle.y, player_angle, 4, 0x400); - if (i_this->field_0x5e8 <= 2.2) { + if (angle_diff < 0x800) { + i_this->mStayStatus = 0; + } + + break; + } + case 3: { + if (75.0 <= i_this->mEyePosYDistFromPlayer) { + i_this->mStayStatus = 1; + } else if (i_this->field_0x5fc[0] == 0) { + if (30.0 <= i_this->mEyePosYDistFromPlayer) { + i_this->mAction = ACT_SIT; i_this->mStayStatus = 0; + } else { + i_this->mAction = ACT_STAY; + i_this->mStayStatus = 10; } - - break; } - case -1: {} - case 1: { - // goto default; + break; + } + case 5: { + cLib_addCalcAngleS2(&i_this->current.angle.y, player_angle + i_this->field_0x654, 4, 0x800); + cLib_addCalcAngleS2(&i_this->field_0x654, i_this->field_0x656, 4, 0x1000); + cLib_addCalc2(&i_this->current.pos.x, i_this->field_0x5b8.x, 0.2, 3.5); + cLib_addCalc2(&i_this->current.pos.z, i_this->field_0x5b8.z, 0.2, 3.5); + + if (i_this->field_0x5fc[0] == 0) { + i_this->mStayStatus = 0; + } + break; + } + case 6: { + i_this->field_0x648 = 4000.0; + + if (i_this->field_0x674.z * 176.0 < i_this->mDistFromPlayer) { + i_this->mStayStatus = 0; } } + default: { + if (some_val < angle_diff) { + anm_init(i_this, ANM_STEP_2, 0.0, 2, 0.0); + i_this->mStayStatus = 2; + } else if (75.0 <= i_this->mEyePosYDistFromPlayer) { + // i_this->field_0x674.z might be a store in a variable + if (i_this->field_0x674.z * 96.0 <= i_this->mDistFromPlayer) { + if ((i_this->mStayStatus != 6) && + (i_this->mDistFromPlayer < i_this->field_0x674.z * 120.0)) + { + anm_init(i_this, ANM_JOYFUL, 0.0, 2, cM_rndFX(0.1) + 1.0); + i_this->mStayStatus = 6; + } + } else { + cXyz local_68; + local_68.x = 0.0; + f32 dVar10 = 20.0; + local_68.y = 20.0; - cLib_addCalc0(&i_this->speedF,1.0,1.0); + f32 dVar11 = -176.0; + f32 dVar12 = 0.2000000029802322; - if (i_this->field_0x674.z * 240.0 < i_this->mDistFromPlayer && !dansa_check2(i_this,0.0) && i_this->mStayStatus < 10) { + for (int i = 0; i < 20; i++) { + if (i < 10) { + mDoMtx_YrotS((MtxP)calc_mtx, i_this->mAngleYFromPlayer + cM_rndFX(5000.0)); + } else { + mDoMtx_YrotS((MtxP)calc_mtx, cM_rndF(65536.0)); + } + + local_68.z = dVar11 * i_this->field_0x674.z; + + MtxPosition(&local_68, &i_this->field_0x5b8); + i_this->field_0x5b8 += player->current.pos; + + if (cM_rndF(1.0) < dVar12) + break; + + // local_74 = i_this->field6_0x5b8; + if (dansa_check(i_this, i_this->field_0x5b8, 0.0) == 0) + break; + + i_this->mUnkPos = i_this->field_0x5b8; + i_this->field_0x624 = dVar10 + cM_rndF(10.0); + } + + i_this->mStayStatus = 5; + i_this->field_0x656 = cM_rndFX(10000.0); + + anm_init(i_this, ANM_WALK, 0.0, 2, 0.0); + i_this->field_0x5fc[0] = cM_rndF(10.0) + 15.0; + } + } else { + i_this->mStayStatus = 3; + i_this->field_0x5fc[0] = cM_rndF(10.0) + 10.0; + } + break; + } + case 10: { + i_this->field_0x5e8 = 5.0; + anm_init(i_this, ANM_WALK, 0.0, 2, i_this->field_0x5e8); + + i_this->mStayStatus++; + } + case 11: { + cLib_addCalc2(&i_this->field_0x5e8, 2.0, 1.0, 0.2); + i_this->mpMorf->setPlaySpeed(i_this->field_0x5e8); + + if (i_this->field_0x5e8 <= 2.2) { + i_this->mStayStatus = 0; + } + + break; + } + case -1: { + } + case 1: { + // goto default; + } + } + + cLib_addCalc0(&i_this->speedF, 1.0, 1.0); + + if (i_this->field_0x674.z * 240.0 < i_this->mDistFromPlayer && !dansa_check2(i_this, 0.0) && + i_this->mStayStatus < 10) + { i_this->mAction = ACT_WALK_RUN; i_this->field_0x5e8 = 1.5; - anm_init(i_this,ANM_WALK,0.0,2,i_this->field_0x5e8); + anm_init(i_this, ANM_WALK, 0.0, 2, i_this->field_0x5e8); i_this->mStayStatus = 1; } @@ -1776,7 +1790,7 @@ static void do_wait_1(do_class* i_this) { distance = 127.0; } - i_this->mSound.startLevelSound(JAISoundID(Z2SE_DOG_V_CALL_HELP),distance,-1); + i_this->mSound.startLevelSound(JAISoundID(Z2SE_DOG_V_CALL_HELP), distance, -1); } } #else @@ -1896,39 +1910,44 @@ static void do_wait_2(do_class* i_this) { i_this->field_0x616 = 1; i_this->field_0x648 = FLOAT_LABEL(lit_4400); - switch(i_this->mStayStatus) { - case 0: { - i_this->mStayStatus++; - } - case 1: { - if (i_this->field_0x5fc[0] == 0) { - i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4189)) + FLOAT_LABEL(lit_4192); - i_this->field_0x656 = cM_rndFX(FLOAT_LABEL(lit_4587)); - - cM_rndF(FLOAT_LABEL(lit_3662)) < FLOAT_LABEL(lit_4588) ? i_this->field_0x5e8 = cM_rndF(FLOAT_LABEL(lit_4342)) + FLOAT_LABEL(lit_3665) : i_this->field_0x5e8 = -(cM_rndF(FLOAT_LABEL(lit_4342)) + FLOAT_LABEL(lit_3665)); - - anm_init(i_this,ANM_STEP,FLOAT_LABEL(lit_4194),2,i_this->field_0x5e8); - mDoMtx_YrotS((MtxP)calc_mtx,player->shape_angle.y); - - Vec local_38; - - local_38.x = cM_rndFX(FLOAT_LABEL(lit_3772)); - local_38.y = FLOAT_LABEL(lit_3682); - local_38.z = cM_rndF(FLOAT_LABEL(lit_3816)) + FLOAT_LABEL(lit_4551); - - MtxPosition((cXyz*)&local_38,&i_this->field_0x5b8); - i_this->field_0x5b8 += player->current.pos; - } - - break; - } + switch (i_this->mStayStatus) { + case 0: { + i_this->mStayStatus++; } - - cLib_addCalc2(&i_this->current.pos.x,i_this->field_0x5b8.x,FLOAT_LABEL(lit_4342),FLOAT_LABEL(lit_3665)); - cLib_addCalc2(&i_this->current.pos.z,i_this->field_0x5b8.z,FLOAT_LABEL(lit_4342),FLOAT_LABEL(lit_3665)); - cLib_addCalc0(&i_this->speedF,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_3665)); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer + i_this->field_0x654,4,0x800); - cLib_addCalcAngleS2(&i_this->field_0x654,i_this->field_0x656,4,0x1000); + case 1: { + if (i_this->field_0x5fc[0] == 0) { + i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4189)) + FLOAT_LABEL(lit_4192); + i_this->field_0x656 = cM_rndFX(FLOAT_LABEL(lit_4587)); + + cM_rndF(FLOAT_LABEL(lit_3662)) < FLOAT_LABEL(lit_4588) ? + i_this->field_0x5e8 = cM_rndF(FLOAT_LABEL(lit_4342)) + FLOAT_LABEL(lit_3665) : + i_this->field_0x5e8 = -(cM_rndF(FLOAT_LABEL(lit_4342)) + FLOAT_LABEL(lit_3665)); + + anm_init(i_this, ANM_STEP, FLOAT_LABEL(lit_4194), 2, i_this->field_0x5e8); + mDoMtx_YrotS((MtxP)calc_mtx, player->shape_angle.y); + + Vec local_38; + + local_38.x = cM_rndFX(FLOAT_LABEL(lit_3772)); + local_38.y = FLOAT_LABEL(lit_3682); + local_38.z = cM_rndF(FLOAT_LABEL(lit_3816)) + FLOAT_LABEL(lit_4551); + + MtxPosition((cXyz*)&local_38, &i_this->field_0x5b8); + i_this->field_0x5b8 += player->current.pos; + } + + break; + } + } + + cLib_addCalc2(&i_this->current.pos.x, i_this->field_0x5b8.x, FLOAT_LABEL(lit_4342), + FLOAT_LABEL(lit_3665)); + cLib_addCalc2(&i_this->current.pos.z, i_this->field_0x5b8.z, FLOAT_LABEL(lit_4342), + FLOAT_LABEL(lit_3665)); + cLib_addCalc0(&i_this->speedF, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_3665)); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer + i_this->field_0x654, + 4, 0x800); + cLib_addCalcAngleS2(&i_this->field_0x654, i_this->field_0x656, 4, 0x1000); if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_3923) * i_this->field_0x674.z) { i_this->mAction = ACT_RUN; @@ -1946,64 +1965,59 @@ static void do_sit(do_class* i_this) { i_this->field_0x648 = FLOAT_LABEL(lit_4190); switch (i_this->mStayStatus) { - - - case 0: { - anm_init(i_this,ANM_SIT_WAIT,FLOAT_LABEL(lit_4192),2,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus++; - } - - case 1: { - if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_4545)) { - i_this->mStayStatus = 3; - i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + FLOAT_LABEL(lit_4192); - } else { - if (i_this->mEyePosYDistFromPlayer < FLOAT_LABEL(lit_3846)) { - i_this->mStayStatus = 2; - i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + FLOAT_LABEL(lit_4192); - } - } - break; - } - - case 2: { - if (i_this->mEyePosYDistFromPlayer < FLOAT_LABEL(lit_3846) ) { - if (i_this->field_0x5fc[0] == 0) { - i_this->mAction = ACT_STAY; - i_this->mStayStatus = 10; - } - } else { - i_this->mStayStatus = 1; - } - break; - } - - case 3: { - if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_4545)) { - if (i_this->field_0x5fc[0] == 0) { - anm_init(i_this,ANM_SIT,FLOAT_LABEL(lit_4194),0,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus++; - } - } else { - i_this->mStayStatus = 1; - } - - break; - } - - case 4: { - if (i_this->mpMorf->isStop()) { - i_this->mAction = ACT_WAIT_1; - i_this->mStayStatus = 0; - } - break; - } - - + case 0: { + anm_init(i_this, ANM_SIT_WAIT, FLOAT_LABEL(lit_4192), 2, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus++; } - - - cLib_addCalc0(&i_this->speedF,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_3665)); + + case 1: { + if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_4545)) { + i_this->mStayStatus = 3; + i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + FLOAT_LABEL(lit_4192); + } else { + if (i_this->mEyePosYDistFromPlayer < FLOAT_LABEL(lit_3846)) { + i_this->mStayStatus = 2; + i_this->field_0x5fc[0] = cM_rndF(FLOAT_LABEL(lit_4192)) + FLOAT_LABEL(lit_4192); + } + } + break; + } + + case 2: { + if (i_this->mEyePosYDistFromPlayer < FLOAT_LABEL(lit_3846)) { + if (i_this->field_0x5fc[0] == 0) { + i_this->mAction = ACT_STAY; + i_this->mStayStatus = 10; + } + } else { + i_this->mStayStatus = 1; + } + break; + } + + case 3: { + if (i_this->mEyePosYDistFromPlayer > FLOAT_LABEL(lit_4545)) { + if (i_this->field_0x5fc[0] == 0) { + anm_init(i_this, ANM_SIT, FLOAT_LABEL(lit_4194), 0, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus++; + } + } else { + i_this->mStayStatus = 1; + } + + break; + } + + case 4: { + if (i_this->mpMorf->isStop()) { + i_this->mAction = ACT_WAIT_1; + i_this->mStayStatus = 0; + } + break; + } + } + + cLib_addCalc0(&i_this->speedF, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_3665)); if (i_this->mDistFromPlayer > FLOAT_LABEL(lit_3773) * i_this->field_0x674.z) { i_this->mAction = ACT_STAY; @@ -2041,9 +2055,7 @@ COMPILER_STRIP_GATE(0x8066EF04, &lit_4710); /* 8066A5DC-8066A80C 00297C 0230+00 1/1 0/0 0/0 .text hang_set__FP8do_class */ #ifdef NONMATCHING -static u16 hang_set(do_class* i_this) { - -} +static u16 hang_set(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2072,9 +2084,7 @@ COMPILER_STRIP_GATE(0x8066EF0C, &lit_4764); /* 8066A80C-8066AB78 002BAC 036C+00 1/1 0/0 0/0 .text do_hang__FP8do_class */ #ifdef NONMATCHING -static void do_hang(do_class* i_this) { - -} +static void do_hang(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2095,9 +2105,7 @@ SECTION_DEAD static char const* const stringBase_8066EFB3 = "F_SP116"; /* 8066AB78-8066B650 002F18 0AD8+00 2/1 0/0 0/0 .text do_food__FP8do_class */ #ifdef NONMATCHING -static void do_food(do_class* i_this) { - -} +static void do_food(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2182,33 +2190,38 @@ COMPILER_STRIP_GATE(0x8066EF34, &lit_4993); /* 8066B650-8066B774 0039F0 0124+00 1/1 0/0 0/0 .text do_swim__FP8do_class */ static void do_swim(do_class* i_this) { - Vec pos; // this is probably cXyz but defining it as such moves ~cXyz to right after this function, breaking the TU match + Vec pos; // this is probably cXyz but defining it as such moves ~cXyz to right after this + // function, breaking the TU match i_this->field_0x616 = 1; i_this->field_0x648 = FLOAT_LABEL(lit_4191); - switch(i_this->mStayStatus) { - case 1: { - break; - } - case 0: { - anm_init(i_this,19,FLOAT_LABEL(lit_4027),2,cM_rndF(FLOAT_LABEL(lit_4991))+FLOAT_LABEL(lit_4340)); - i_this->mStayStatus++; - break; - } + switch (i_this->mStayStatus) { + case 1: { + break; + } + case 0: { + anm_init(i_this, 19, FLOAT_LABEL(lit_4027), 2, + cM_rndF(FLOAT_LABEL(lit_4991)) + FLOAT_LABEL(lit_4340)); + i_this->mStayStatus++; + break; + } } - cLib_addCalc2(&i_this->speedF,l_HIO.mSwimSpeed,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_4588)*l_HIO.mSwimSpeed); - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,16,0x100); + cLib_addCalc2(&i_this->speedF, l_HIO.mSwimSpeed, FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_4588) * l_HIO.mSwimSpeed); + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 16, 0x100); i_this->speed.y = FLOAT_LABEL(lit_3682); i_this->mGravity = FLOAT_LABEL(lit_3682); - cLib_addCalc2(&i_this->current.pos.y,i_this->field_0x65c - FLOAT_LABEL(lit_4992),FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_4027)); + cLib_addCalc2(&i_this->current.pos.y, i_this->field_0x65c - FLOAT_LABEL(lit_4992), + FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_4027)); pos = i_this->mEyePos; pos.y = i_this->field_0x65c; - fopAcM_effHamonSet(&i_this->field_0xbcc,(cXyz*)&pos,FLOAT_LABEL(lit_4993),FLOAT_LABEL(lit_4402)); + fopAcM_effHamonSet(&i_this->field_0xbcc, (cXyz*)&pos, FLOAT_LABEL(lit_4993), + FLOAT_LABEL(lit_4402)); } /* 8066B774-8066B7C0 003B14 004C+00 2/2 0/0 0/0 .text s_c_sub__FPvPv */ @@ -2257,9 +2270,7 @@ COMPILER_STRIP_GATE(0x8066EF48, &lit_5114); /* 8066B7C0-8066BD3C 003B60 057C+00 1/1 0/0 0/0 .text do_help__FP8do_class */ #ifdef NONMATCHING -static void do_help(do_class* i_this) { - -} +static void do_help(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2288,9 +2299,7 @@ COMPILER_STRIP_GATE(0x8066EF50, &lit_5345); /* 8066BD3C-8066C894 0040DC 0B58+00 2/1 0/0 0/0 .text do_boat__FP8do_class */ #ifdef NONMATCHING -static u8 do_boat(do_class* i_this) { - -} +static u8 do_boat(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2328,35 +2337,37 @@ COMPILER_STRIP_GATE(0x8066EF5C, &lit_5407); #ifdef NONMATCHING static void do_a_swim(do_class* i_this) { i_this->field_0x648 = 2000.0; - cLib_addCalc0(&i_this->speedF,1.0,1.0); + cLib_addCalc0(&i_this->speedF, 1.0, 1.0); switch (i_this->mStayStatus) { - case 2: { - l_HIO.mWaterHuntAnimType == 1 ? i_this->mpMorf->setPlaySpeed(i_this->field46_0x634 * 5.0) : i_this->mpMorf->setPlaySpeed(i_this->field46_0x634 * 5.0); + case 2: { + l_HIO.mWaterHuntAnimType == 1 ? i_this->mpMorf->setPlaySpeed(i_this->field46_0x634 * 5.0) : + i_this->mpMorf->setPlaySpeed(i_this->field46_0x634 * 5.0); - if (0.025 < i_this->field_0x634) { - break; - } - - i_this->field_0x634 = 0.0; - i_this->mAction = ACT_WAIT_1; - i_this->mStayStatus = 0; + if (0.025 < i_this->field_0x634) { break; } - case 0: { - l_HIO.mWaterHuntAnimType == 1 ? anm_init(param_1,ANM_JOYFUL,0.0,2,0.0) : anm_init(param_1,ANM_BULBUL,0.0,2,0.0); - i_this->mStayStatus = 1; - i_this->field32_0x5fc[0] = 0x14; - JPABaseEmitter* emitter = dComIfGp_particle_set(0x2a3,&i_this->.current.pos,0,0); + i_this->field_0x634 = 0.0; + i_this->mAction = ACT_WAIT_1; + i_this->mStayStatus = 0; + break; + } + case 0: { + l_HIO.mWaterHuntAnimType == 1 ? anm_init(param_1, ANM_JOYFUL, 0.0, 2, 0.0) : + anm_init(param_1, ANM_BULBUL, 0.0, 2, 0.0); + i_this->mStayStatus = 1; + i_this->field32_0x5fc[0] = 0x14; - if (emitter) { - emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2)); - cXyz pos = cXyz(0.6,0.6,0.6); - emitter->setGlobalScale(pTVar3); - } + JPABaseEmitter* emitter = dComIfGp_particle_set(0x2a3, &i_this->.current.pos, 0, 0); + + if (emitter) { + emitter->setGlobalRTMatrix(i_this->mpMorf->getModel()->getAnmMtx(2)); + cXyz pos = cXyz(0.6, 0.6, 0.6); + emitter->setGlobalScale(pTVar3); } } + } if (i_this->field_0x5fc[0] == 0) { i_this->mStayStatus = 2; @@ -2398,9 +2409,7 @@ COMPILER_STRIP_GATE(0x8066EF68, &lit_5480); /* 8066CAA8-8066CDEC 004E48 0344+00 1/1 0/0 0/0 .text do_carry__FP8do_class */ #ifdef NONMATCHING -static asm u8 do_carry(do_class* i_this) { - -} +static asm u8 do_carry(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2416,26 +2425,25 @@ static asm u8 do_carry(do_class* i_this) { static void do_message(do_class* i_this) { i_this->field_0x648 = FLOAT_LABEL(lit_4191); - switch(i_this->mStayStatus) { - case 1: { - break; - } - case 0: { - anm_init(i_this,21,FLOAT_LABEL(lit_4027),2,FLOAT_LABEL(lit_3662)); - i_this->mStayStatus++; - break; - } + switch (i_this->mStayStatus) { + case 1: { + break; + } + case 0: { + anm_init(i_this, 21, FLOAT_LABEL(lit_4027), 2, FLOAT_LABEL(lit_3662)); + i_this->mStayStatus++; + break; + } } - cLib_addCalc0(&i_this->speedF,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_3665)); + cLib_addCalc0(&i_this->speedF, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_3665)); i_this->field_0x616 = 1; - cLib_addCalcAngleS2(&i_this->current.angle.y,i_this->mAngleYFromPlayer,2,0x1000); - + cLib_addCalcAngleS2(&i_this->current.angle.y, i_this->mAngleYFromPlayer, 2, 0x1000); + if (i_dComIfGp_event_runCheck() == 0 && i_this->mDistFromPlayer > FLOAT_LABEL(lit_3773)) { i_this->mAction = ACT_STAY; i_this->mStayStatus = 0; } - } /* ############################################################################################## */ @@ -2546,7 +2554,9 @@ static void action(do_class* i_this) { i_this->mAngleYFromPlayer = fopAcM_searchPlayerAngleY(i_this); i_this->mEyePosYDistFromPlayer = fabsf(i_this->mEyePos.y - player->current.pos.y); - if (!mDoCPd_c::getHoldR(PAD_1) || fabsf(i_this->current.pos.y - player->current.pos.y) > FLOAT_LABEL(lit_3816)) { + if (!mDoCPd_c::getHoldR(PAD_1) || + fabsf(i_this->current.pos.y - player->current.pos.y) > FLOAT_LABEL(lit_3816)) + { i_this->mEyePosYDistFromPlayer = FLOAT_LABEL(lit_4339); } @@ -2561,96 +2571,99 @@ static void action(do_class* i_this) { if (i_this->field_0x608 < FLOAT_LABEL(lit_3662)) { i_this->field_0xc05 = 0; - switch(i_this->mAction) { - case ACT_STAY: { - do_stay(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_WALK: { - do_walk(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_WALK_RUN: { - do_walk_run(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_RUN: { - do_run(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_RUN_WALK: { - do_run_walk(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_FOOD: { - do_food(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_WAIT_1: { - do_wait_1(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_WAIT_2: { - do_wait_2(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_SIT: { - do_sit(i_this); - food_check(i_this); - i_this->field_0xc05 = 1; - break; - } - case ACT_A_SWIM: { - do_a_swim(i_this); - break; - } - case ACT_SWIM: { - do_swim(i_this); - tmp3 = false; - fopAcM_riverStream(&i_this->current.pos,&i_this->field_0x6b0,&i_this->field_0x6b4,FLOAT_LABEL(lit_4588)); - break; - } - case ACT_HELP: { - do_help(i_this); - break; - } - case ACT_BOAT: { - tmp1 = do_boat(i_this); - break; - } - case ACT_HANG: { - do_hang(i_this); - break; - } - case ACT_CARRY: { - tmp1 = do_carry(i_this); - i_this->mCcD_GObjInf1.OffCoSetBit(); - tmp2 = 0; - break; - } - case ACT_MESSAGE: { - do_message(i_this); - i_this->field_0xc05 = 2; - } + switch (i_this->mAction) { + case ACT_STAY: { + do_stay(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_WALK: { + do_walk(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_WALK_RUN: { + do_walk_run(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_RUN: { + do_run(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_RUN_WALK: { + do_run_walk(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_FOOD: { + do_food(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_WAIT_1: { + do_wait_1(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_WAIT_2: { + do_wait_2(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_SIT: { + do_sit(i_this); + food_check(i_this); + i_this->field_0xc05 = 1; + break; + } + case ACT_A_SWIM: { + do_a_swim(i_this); + break; + } + case ACT_SWIM: { + do_swim(i_this); + tmp3 = false; + fopAcM_riverStream(&i_this->current.pos, &i_this->field_0x6b0, &i_this->field_0x6b4, + FLOAT_LABEL(lit_4588)); + break; + } + case ACT_HELP: { + do_help(i_this); + break; + } + case ACT_BOAT: { + tmp1 = do_boat(i_this); + break; + } + case ACT_HANG: { + do_hang(i_this); + break; + } + case ACT_CARRY: { + tmp1 = do_carry(i_this); + i_this->mCcD_GObjInf1.OffCoSetBit(); + tmp2 = 0; + break; + } + case ACT_MESSAGE: { + do_message(i_this); + i_this->field_0xc05 = 2; + } } } - if (i_this->mItemPcId != -1 && i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) { + if (i_this->mItemPcId != -1 && + i_this->mDistFromPlayer < FLOAT_LABEL(lit_4378) * i_this->field_0x674.z) + { daItem_c* item = (daItem_c*)fopAcM_SearchByID(i_this->mItemPcId); if (item) { @@ -2664,40 +2677,43 @@ static void action(do_class* i_this) { if (i_this->field_0x6ae != 0) { i_this->field_0x6ae--; if (i_this->field_0x6ae == 0) { - i_this->mSound.startSound(JAISoundID(Z2SE_M007_DOG_COME_RUNNING),0,-1); + i_this->mSound.startSound(JAISoundID(Z2SE_M007_DOG_COME_RUNNING), 0, -1); } } - if (i_this->field_0xc05 == 1 && daPy_py_c::i_checkNowWolf() && i_this->mDistFromPlayer < FLOAT_LABEL(lit_4339)) { + if (i_this->field_0xc05 == 1 && daPy_py_c::i_checkNowWolf() && + i_this->mDistFromPlayer < FLOAT_LABEL(lit_4339)) + { i_this->mAction = ACT_MESSAGE; i_this->mStayStatus = 0; } if (tmp2 != 0 && player->mSpeedF < FLOAT_LABEL(lit_3665)) { - cLib_onBit(i_this->mAttentionInfo.mFlags,0x10); + cLib_onBit(i_this->mAttentionInfo.mFlags, 0x10); if (do_carry_check(i_this)) { return; } } else { - cLib_offBit(i_this->mAttentionInfo.mFlags,0x10); + cLib_offBit(i_this->mAttentionInfo.mFlags, 0x10); } - cLib_addCalcAngleS2(&i_this->current.angle.x,0,1,0x400); + cLib_addCalcAngleS2(&i_this->current.angle.x, 0, 1, 0x400); if (i_this->mAction != ACT_HANG) { - mDoMtx_YrotS((MtxP)calc_mtx,i_this->current.angle.y); + mDoMtx_YrotS((MtxP)calc_mtx, i_this->current.angle.y); pos1.x = FLOAT_LABEL(lit_3682); pos1.y = FLOAT_LABEL(lit_3682); pos1.z = FLOAT_LABEL(lit_3981) * i_this->speedF; pos1.z *= i_this->field_0x674.z; - MtxPosition(&pos1,&pos2); + MtxPosition(&pos1, &pos2); i_this->speed.x = pos2.x; i_this->speed.z = pos2.z; - i_this->speed.y += i_this->mGravity;; + i_this->speed.y += i_this->mGravity; + ; i_this->current.pos += i_this->speed; @@ -2717,29 +2733,33 @@ static void action(do_class* i_this) { pos1.y = FLOAT_LABEL(lit_3682); pos1.z = -i_this->field_0x608; - mDoMtx_YrotS((MtxP)calc_mtx,i_this->field_0x60c); - MtxPosition(&pos1,&pos2); + mDoMtx_YrotS((MtxP)calc_mtx, i_this->field_0x60c); + MtxPosition(&pos1, &pos2); i_this->current.pos += pos2; - cLib_addCalc0(&i_this->field_0x608,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_5949)); + cLib_addCalc0(&i_this->field_0x608, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_5949)); i_this->speedF = FLOAT_LABEL(lit_3682); tmp1 = 1; } if ((s8)tmp1 != 0) { - i_this->mBgS_AcchCir.SetWall(FLOAT_LABEL(lit_3846), (fabsf(i_this->field_0x608) + fabsf(i_this->speedF)) + FLOAT_LABEL(lit_3846)); + i_this->mBgS_AcchCir.SetWall(FLOAT_LABEL(lit_3846), + (fabsf(i_this->field_0x608) + fabsf(i_this->speedF)) + + FLOAT_LABEL(lit_3846)); i_this->mBgS_Acch.CrrPos(dComIfG_Bgsp()); - if (i_this->mBgS_Acch.ChkGroundHit() && tmp_lit[0x3d] == 0 && !fopAcM_checkCarryNow(i_this)) { + if (i_this->mBgS_Acch.ChkGroundHit() && tmp_lit[0x3d] == 0 && + !fopAcM_checkCarryNow(i_this)) + { dBgS_GndChk gnd_chk; - mDoMtx_YrotS((MtxP)calc_mtx,i_this->shape_angle.y); + mDoMtx_YrotS((MtxP)calc_mtx, i_this->shape_angle.y); pos1.x = FLOAT_LABEL(lit_3682); pos1.y = FLOAT_LABEL(lit_3682); pos1.z = FLOAT_LABEL(lit_5950) * i_this->field_0x674.z; - MtxPosition(&pos1,&pos2); + MtxPosition(&pos1, &pos2); pos2 += i_this->current.pos; pos3.x = pos2.x; @@ -2752,14 +2772,15 @@ static void action(do_class* i_this) { pos1 = pos2 - i_this->current.pos; if (fabsf(pos1.y) < FLOAT_LABEL(lit_3816)) { - i_this->current.angle.x = cM_atan2s(pos1.y, JMAFastSqrt(pos1.x * pos1.x + pos1.z * pos1.z)); + i_this->current.angle.x = + cM_atan2s(pos1.y, JMAFastSqrt(pos1.x * pos1.x + pos1.z * pos1.z)); } } } } else { if (i_this->field_0x608 < FLOAT_LABEL(lit_3662)) { cXyz pos = i_this->current.pos; - int check = dansa_check(i_this,pos,pos.x); + int check = dansa_check(i_this, pos, pos.x); if ((-check & ~check) < 0) { i_this->field_0x660 = hang_set(i_this); @@ -2774,7 +2795,7 @@ static void action(do_class* i_this) { } water_check(i_this); - + if (tmp3) { if (i_this->mAction == ACT_CARRY) { if (i_this->field_0x63c != 0 && i_this->field_0x63c--, i_this->field_0x63c == 0) { @@ -2783,29 +2804,31 @@ static void action(do_class* i_this) { } if (45.0f < i_this->field_0x65c - i_this->current.pos.y) { - i_this->mAction = ACT_SWIM; - i_this->mStayStatus = 0; - i_this->field_0x608 = FLOAT_LABEL(lit_3682); + i_this->mAction = ACT_SWIM; + i_this->mStayStatus = 0; + i_this->field_0x608 = FLOAT_LABEL(lit_3682); - if (i_this->field_0x606 == 0) { - - i_this->field_0x606 = 0x14; - cXyz pos = i_this->current.pos; - pos.y = i_this->field_0x65c; + if (i_this->field_0x606 == 0) { + i_this->field_0x606 = 0x14; + cXyz pos = i_this->current.pos; + pos.y = i_this->field_0x65c; - if (l_HIO.mRunSpeed == 0) { - scc[0] = 0; // fix later - l_HIO.mWalkSpeed = FLOAT_LABEL(lit_3682); - l_HIO.mRunSpeed = FLOAT_LABEL(lit_3682); - l_HIO.field_0x1c = 1; - } + if (l_HIO.mRunSpeed == 0) { + scc[0] = 0; // fix later + l_HIO.mWalkSpeed = FLOAT_LABEL(lit_3682); + l_HIO.mRunSpeed = FLOAT_LABEL(lit_3682); + l_HIO.field_0x1c = 1; + } - for (int i = 0; i < 4; i++) { - // wrong - i_this->mMsg.setMsg(dComIfGp_particle_set((u32)0,(u16)l_HIO.field_0x1c,&pos,&i_this->mTevStr,(csXyz*)0,(cXyz*)&scc,(u8)0xFF,(dPa_levelEcallBack *)0,(s8)-1,(GXColor*)0,(GXColor*)0,(cXyz*)0)); - } + for (int i = 0; i < 4; i++) { + // wrong + i_this->mMsg.setMsg(dComIfGp_particle_set( + (u32)0, (u16)l_HIO.field_0x1c, &pos, &i_this->mTevStr, (csXyz*)0, + (cXyz*)&scc, (u8)0xFF, (dPa_levelEcallBack*)0, (s8)-1, (GXColor*)0, + (GXColor*)0, (cXyz*)0)); + } - i_this->mSound.startSound(JAISoundID(Z2SE_CM_BODYFALL_WATER_S),0,-1); + i_this->mSound.startSound(JAISoundID(Z2SE_CM_BODYFALL_WATER_S), 0, -1); } } } @@ -2818,8 +2841,8 @@ static void action(do_class* i_this) { } } - cLib_addCalcAngleS2(&i_this->shape_angle.y,i_this->current.angle.y,2,0x2000); - cLib_addCalcAngleS2(&i_this->shape_angle.x,i_this->current.angle.x,4,0x1000); + cLib_addCalcAngleS2(&i_this->shape_angle.y, i_this->current.angle.y, 2, 0x2000); + cLib_addCalcAngleS2(&i_this->shape_angle.x, i_this->current.angle.x, 4, 0x1000); i_this->shape_angle.z = i_this->current.angle.z; int tmp4 = 0; @@ -2827,7 +2850,7 @@ static void action(do_class* i_this) { if (i_this->field_0x616 != 0 || i_this->field_0x624 != 0) { if (i_this->field_0x616 == 2) { - i_this->field_0x5f0 & 8U ? tmp4 = -10000 : tmp4 = 10000; + i_this->field_0x5f0& 8U ? tmp4 = -10000 : tmp4 = 10000; } else { cXyz eyePosDiff; @@ -2841,8 +2864,9 @@ static void action(do_class* i_this) { eyePosDiff.y += i_this->field_0x674.z * FLOAT_LABEL(lit_5952); - s16 some_angle = cM_atan2s(eyePosDiff.x,eyePosDiff.z) - i_this->shape_angle.y; - s16 some_angle2 = cM_atan2s(eyePosDiff.y,JMAFastSqrt(eyePosDiff.x * eyePosDiff.x + eyePosDiff.z * eyePosDiff.z)); + s16 some_angle = cM_atan2s(eyePosDiff.x, eyePosDiff.z) - i_this->shape_angle.y; + s16 some_angle2 = cM_atan2s(eyePosDiff.y, JMAFastSqrt(eyePosDiff.x * eyePosDiff.x + + eyePosDiff.z * eyePosDiff.z)); tmp5 = i_this->shape_angle.x + some_angle2; if (i_this->field_0x624 == 0 && some_angle > 24000 || some_angle < -24000) { @@ -2871,13 +2895,15 @@ static void action(do_class* i_this) { i_this->field_0x616 = 0; } - cLib_addCalcAngleS2(&i_this->field_0x610,tmp4 / 2,4,0x2000); - cLib_addCalcAngleS2(&i_this->field_0x60e,tmp5 / 2,4,0x2000); - cLib_addCalcAngleS2(&i_this->field_0x614,0,2,0x300); - cLib_addCalcAngleS2(&i_this->field_0x628,i_this->field_0x62e,4,0x400); - cLib_addCalcAngleS2(&i_this->field_0x62a,i_this->field_0x630,4,0x400); + cLib_addCalcAngleS2(&i_this->field_0x610, tmp4 / 2, 4, 0x2000); + cLib_addCalcAngleS2(&i_this->field_0x60e, tmp5 / 2, 4, 0x2000); + cLib_addCalcAngleS2(&i_this->field_0x614, 0, 2, 0x300); + cLib_addCalcAngleS2(&i_this->field_0x628, i_this->field_0x62e, 4, 0x400); + cLib_addCalcAngleS2(&i_this->field_0x62a, i_this->field_0x630, 4, 0x400); - if (FLOAT_LABEL(lit_3682) <= fabsf(player->mSpeedF) || FLOAT_LABEL(lit_3682) <= fabsf(i_this->speedF)) { + if (FLOAT_LABEL(lit_3682) <= fabsf(player->mSpeedF) || + FLOAT_LABEL(lit_3682) <= fabsf(i_this->speedF)) + { i_this->field_0x630 = 0; i_this->field_0x62e = 0; i_this->field_0x632 = cM_rndF(FLOAT_LABEL(lit_3772)) + FLOAT_LABEL(lit_5953); @@ -2894,7 +2920,7 @@ static void action(do_class* i_this) { } if (0.025 <= i_this->field_0x634) { - if (l_HIO.field_0x1c == 0) { + if (l_HIO.field_0x1c == 0) { i_this->field_0x612 = 0; i_this->field_0x610 = 0; } else { @@ -2903,8 +2929,9 @@ static void action(do_class* i_this) { } } - cLib_addCalc2(&i_this->field_0x634,i_this->field_0x638,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_5407)); - cLib_addCalc0(&i_this->field_0x638,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_5954)); + cLib_addCalc2(&i_this->field_0x634, i_this->field_0x638, FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_5407)); + cLib_addCalc0(&i_this->field_0x638, FLOAT_LABEL(lit_3662), FLOAT_LABEL(lit_5954)); i_this->field_0x640 = cM_ssin(i_this->field_0x648 * i_this->field_0x64c); i_this->field_0x63e = cM_ssin(i_this->field_0x648 * i_this->field_0x650); @@ -2920,7 +2947,8 @@ static void action(do_class* i_this) { i_this->field_0x650 -= FLOAT_LABEL(lit_4338); } - cLib_addCalc2(&i_this->field_0x648,i_this->field_0x648,FLOAT_LABEL(lit_3662),FLOAT_LABEL(lit_3772)); + cLib_addCalc2(&i_this->field_0x648, i_this->field_0x648, FLOAT_LABEL(lit_3662), + FLOAT_LABEL(lit_3772)); i_this->field_0x648 = FLOAT_LABEL(lit_3682); if (i_this->field_0x5e2 == 0) { @@ -2928,10 +2956,11 @@ static void action(do_class* i_this) { i_this->field_0x5e0 = cM_rndF(FLOAT_LABEL(lit_3772)) + FLOAT_LABEL(lit_3846); } else { i_this->field_0x5e0--; - i_this->field_0x5e0 < 6 ? i_this->field_0x5de = 5 - i_this->field_0x5e0 : i_this->field_0x5e0 = 0; + i_this->field_0x5e0 < 6 ? i_this->field_0x5de = 5 - i_this->field_0x5e0 : + i_this->field_0x5e0 = 0; } } else { - cLib_addCalcAngleS2(&i_this->field_0x5de,3,1,1); + cLib_addCalcAngleS2(&i_this->field_0x5de, 3, 1, 1); i_this->field_0x5e2 = 0; i_this->field_0x5e0 = 0x3c; } @@ -2952,26 +2981,25 @@ static void message(do_class* i_this) { if (i_this->field_0xc06 != 0) { i_this->field_0x604 = 10; - if (i_this->mMsg.doFlow(i_this,0,0)) { + if (i_this->mMsg.doFlow(i_this, 0, 0)) { i_dComIfGp_event_reset(); i_this->field_0xc06 = 0; } } else { if (i_dComIfGp_event_runCheck() && i_this->mEvtInfo.checkCommandTalk()) { - i_this->mMsg.init(i_this,i_this->field_0xc08,0,0); + i_this->mMsg.init(i_this, i_this->field_0xc08, 0, 0); i_this->field_0xc06 = 1; } if (i_this->field_0xc05 == 2 && i_this->field_0xc08 != -1 && daPy_py_c::i_checkNowWolf()) { - fopAcM_OnStatus(i_this,0); - cLib_onBit(i_this->mAttentionInfo.mFlags,10); + fopAcM_OnStatus(i_this, 0); + cLib_onBit(i_this->mAttentionInfo.mFlags, 10); i_this->mEvtInfo.i_onCondition(1); } else { - fopAcM_OffStatus(i_this,0); - cLib_offBit(i_this->mAttentionInfo.mFlags,10); + fopAcM_OffStatus(i_this, 0); + cLib_offBit(i_this->mAttentionInfo.mFlags, 10); } - } } @@ -2979,9 +3007,7 @@ static void message(do_class* i_this) { /* 8066DE64-8066E494 006204 0630+00 2/1 0/0 0/0 .text daDo_Execute__FP8do_class */ #ifdef NONMATCHING -static void daDo_Execute(do_class* i_this) { - -} +static void daDo_Execute(do_class* i_this) {} #else #pragma push #pragma optimization_level 0 @@ -2994,8 +3020,8 @@ static asm void daDo_Execute(do_class* i_this) { #endif /* 8066E494-8066E49C 006834 0008+00 1/0 0/0 0/0 .text daDo_IsDelete__FP8do_class */ -static bool daDo_IsDelete(do_class* i_this) { - return true; +static int daDo_IsDelete(do_class* i_this) { + return 1; } /* 8066E49C-8066E504 00683C 0068+00 1/0 0/0 0/0 .text daDo_Delete__FP8do_class */ @@ -3026,8 +3052,53 @@ static asm void daDo_Delete(do_class* param_0) { /* 8066E504-8066E7D4 0068A4 02D0+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ #ifdef NONMATCHING -static void useHeapInit(fopAc_ac_c* param_0) { - +static int useHeapInit(fopAc_ac_c* i_this) { + do_class* _this = (do_class*)i_this; + + _this->mpMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("Do", 25), NULL, NULL, + (J3DAnmTransform*)dComIfG_getObjectRes("Do", 14), 2, + FLOAT_LABEL(lit_3662), 0, -1, 1, NULL, 0x80000, 0x11020284); + + if (_this->mpMorf == NULL || _this->mpMorf->getModel() == NULL) { + return 0; + } + + J3DModel* model = _this->mpMorf->getModel(); + _this->model = model; + model->setUserArea((u32)i_this); + + for (u16 jnt_no = 0; jnt_no < model->getModelData()->getJointNum(); jnt_no++) { + if (jnt_no == 9 || jnt_no == 10 || jnt_no == 22 || jnt_no == 23) { + model->getModelData()->getJointNodePointer(jnt_no)->setCallBack(nodeCallBack); + } + } + + _this->mpBtk = new mDoExt_btkAnm(); + if (_this->mpBtk == NULL) { + return 0; + } + + if (!_this->mpBtk->init(_this->mpMorf->getModel()->getModelData(), + (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("Do", 29), TRUE, 0, + FLOAT_LABEL(lit_3662), 0, -1)) + { + return 0; + } + + _this->mpBtp = new mDoExt_btpAnm(); + if (_this->mpBtp == NULL) { + return 0; + } + + if (!_this->mpBtp->init(_this->mpMorf->getModel()->getModelData(), + (J3DAnmTexPattern*)dComIfG_getObjectRes("Do", 32), TRUE, 0, + FLOAT_LABEL(lit_3662), 0, -1)) + { + return 0; + } + + _this->mSound.init(&_this->current.pos, 1); + return 1; } #else #pragma push @@ -3082,9 +3153,7 @@ COMPILER_STRIP_GATE(0x8066EFAC, &lit_6424); /* 8066E81C-8066EAE4 006BBC 02C8+00 1/0 0/0 0/0 .text daDo_Create__FP10fopAc_ac_c */ #ifdef NONMATCHING -static void daDo_Create(fopAc_ac_c* param_0) { - -} +static void daDo_Create(fopAc_ac_c* param_0) {} #else #pragma push #pragma optimization_level 0 @@ -3098,9 +3167,7 @@ static asm void daDo_Create(fopAc_ac_c* param_0) { /* 8066EAE4-8066EC40 006E84 015C+00 1/1 0/0 0/0 .text __ct__8do_classFv */ #ifdef NONMATCHING -do_class::do_class() { - -} +do_class::do_class() {} #else #pragma push #pragma optimization_level 0 @@ -3160,8 +3227,7 @@ extern "C" asm void __dt__10daDo_HIO_cFv() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void __sinit_d_a_do_cpp(){ - nofralloc +asm void __sinit_d_a_do_cpp(){nofralloc #include "asm/rel/d/a/d_a_do/d_a_do/__sinit_d_a_do_cpp.s" } #pragma pop diff --git a/src/d/a/d_a_alink.cpp b/src/d/a/d_a_alink.cpp index 3cb6885a94..01f0586d6a 100644 --- a/src/d/a/d_a_alink.cpp +++ b/src/d/a/d_a_alink.cpp @@ -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 */ diff --git a/src/d/a/d_a_alink_boom.inc b/src/d/a/d_a_alink_boom.inc index c9f5eb6a81..0dd166573c 100644 --- a/src/d/a/d_a_alink_boom.inc +++ b/src/d/a/d_a_alink_boom.inc @@ -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); diff --git a/src/d/a/d_a_alink_bow.inc b/src/d/a/d_a_alink_bow.inc index 81a4814d5c..911d90ac52 100644 --- a/src/d/a/d_a_alink_bow.inc +++ b/src/d/a/d_a_alink_bow.inc @@ -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; } diff --git a/src/d/a/d_a_alink_ironball.inc b/src/d/a/d_a_alink_ironball.inc index 3fc4fd5c7f..70f65d64ed 100644 --- a/src/d/a/d_a_alink_ironball.inc +++ b/src/d/a/d_a_alink_ironball.inc @@ -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(field_0xFB8.GetAtHitGObj())->ChkTgIronBallRebound())) { setIronBallReturn(0); diff --git a/src/d/a/d_a_alink_link.inc b/src/d/a/d_a_alink_link.inc index 6a159ccd97..256d9cbc16 100644 --- a/src/d/a/d_a_alink_link.inc +++ b/src/d/a/d_a_alink_link.inc @@ -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) { diff --git a/src/d/a/d_a_alink_whistle.inc b/src/d/a/d_a_alink_whistle.inc index 11d7096963..7b30d84c25 100644 --- a/src/d/a/d_a_alink_whistle.inc +++ b/src/d/a/d_a_alink_whistle.inc @@ -200,7 +200,7 @@ int daAlink_c::procHawkSubjectInit() { } mCommonCounter = 0; - field_0x59e = 0; + mBodyAngleY = 0; deleteEquipItem(0, 1); return 1; } diff --git a/src/d/d_demo.cpp b/src/d/d_demo.cpp index 5d6bcdf13e..7abc70abf2 100644 --- a/src/d/d_demo.cpp +++ b/src/d/d_demo.cpp @@ -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;