diff --git a/Progress.md b/Progress.md index 099a2bde10a..62d51dbe1ca 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 | 49.026510% | 1763260 | 3596544 +.text | 49.040635% | 1763768 | 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 | 54.398767% | 2187196 | 4020672 +Total | 54.411402% | 2187704 | 4020672 ## Total Section | Percentage | Decompiled (bytes) | Total (bytes) ---|---|---|--- -main.dol | 54.398767% | 2187196 | 4020672 -RELs | 38.442673% | 4421032 | 11500324 -Total | 42.576056% | 6608228 | 15520996 +main.dol | 54.411402% | 2187704 | 4020672 +RELs | 38.593660% | 4438396 | 11500324 +Total | 42.691204% | 6626100 | 15520996 ## RELs @@ -56,7 +56,7 @@ d_a_b_zant | 22.203940% | 19432 | 87516 d_a_b_zant_magic | 42.453480% | 2464 | 5804 d_a_b_zant_mobile | 36.326402% | 4612 | 12696 d_a_b_zant_sima | 100.000000% | 4020 | 4020 -d_a_balloon_2D | 29.886212% | 3572 | 11952 +d_a_balloon_2D | 45.080321% | 5388 | 11952 d_a_bd | 31.115418% | 5780 | 18576 d_a_bg | 41.505376% | 3860 | 9300 d_a_bg_obj | 69.911504% | 13588 | 19436 @@ -86,7 +86,7 @@ d_a_door_spiral | 100.000000% | 504 | 504 d_a_dshutter | 94.779772% | 4648 | 4904 d_a_e_ai | 28.308171% | 5100 | 18016 d_a_e_arrow | 100.000000% | 12904 | 12904 -d_a_e_ba | 28.140394% | 5484 | 19488 +d_a_e_ba | 30.747126% | 5992 | 19488 d_a_e_bee | 31.987036% | 5132 | 16044 d_a_e_bg | 27.665091% | 7256 | 26228 d_a_e_bi | 30.767563% | 5676 | 18448 @@ -194,7 +194,7 @@ d_a_kago | 24.588671% | 15124 | 61508 d_a_kytag00 | 100.000000% | 7064 | 7064 d_a_kytag01 | 100.000000% | 3584 | 3584 d_a_kytag02 | 100.000000% | 1800 | 1800 -d_a_kytag03 | 23.399898% | 1828 | 7812 +d_a_kytag03 | 100.000000% | 7812 | 7812 d_a_kytag04 | 100.000000% | 5908 | 5908 d_a_kytag05 | 100.000000% | 816 | 816 d_a_kytag06 | 100.000000% | 14140 | 14140 @@ -347,7 +347,7 @@ d_a_obj_amiShutter | 42.478422% | 2756 | 6488 d_a_obj_ari | 31.622322% | 5372 | 16988 d_a_obj_automata | 40.573951% | 3676 | 9060 d_a_obj_avalanche | 100.000000% | 6208 | 6208 -d_a_obj_balloon | 42.722710% | 2724 | 6376 +d_a_obj_balloon | 100.000000% | 6376 | 6376 d_a_obj_barDesk | 100.000000% | 4972 | 4972 d_a_obj_batta | 31.886560% | 5172 | 16220 d_a_obj_bbox | 100.000000% | 3588 | 3588 @@ -358,7 +358,7 @@ d_a_obj_bhbridge | 39.936609% | 2016 | 5048 d_a_obj_bk_leaf | 100.000000% | 2728 | 2728 d_a_obj_bkdoor | 100.000000% | 3516 | 3516 d_a_obj_bky_rock | 35.592460% | 3172 | 8912 -d_a_obj_bmWindow | 38.757933% | 3420 | 8824 +d_a_obj_bmWindow | 100.000000% | 8824 | 8824 d_a_obj_bmshutter | 41.338854% | 2396 | 5796 d_a_obj_bombf | 100.000000% | 2176 | 2176 d_a_obj_bosswarp | 78.906503% | 9756 | 12364 @@ -785,4 +785,4 @@ d_a_vrbox2 | 44.907111% | 2804 | 6244 d_a_warp_bug | 100.000000% | 2024 | 2024 d_a_ykgr | 44.400631% | 2252 | 5072 f_pc_profile_lst | 100.000000% | 28156 | 28156 -Total | 38.442673% | 4421032 | 11500324 +Total | 38.593660% | 4438396 | 11500324 diff --git a/asm/d/d_envse/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s b/asm/d/d_envse/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s deleted file mode 100644 index 8d126b0a403..00000000000 --- a/asm/d/d_envse/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s +++ /dev/null @@ -1,138 +0,0 @@ -lbl_80182DDC: -/* 80182DDC 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80182DE0 7C 08 02 A6 */ mflr r0 -/* 80182DE4 90 01 00 74 */ stw r0, 0x74(r1) -/* 80182DE8 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 80182DEC F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 80182DF0 39 61 00 60 */ addi r11, r1, 0x60 -/* 80182DF4 48 1D F3 DD */ bl _savegpr_26 -/* 80182DF8 7C 7E 1B 78 */ mr r30, r3 -/* 80182DFC 7C 9F 23 78 */ mr r31, r4 -/* 80182E00 7C BA 2B 78 */ mr r26, r5 -/* 80182E04 3B 80 00 00 */ li r28, 0 -/* 80182E08 80 62 D1 80 */ lwz r3, lit_3752(r2) -/* 80182E0C 80 02 D1 84 */ lwz r0, data_80456B84(r2) -/* 80182E10 90 61 00 0C */ stw r3, 0xc(r1) -/* 80182E14 90 01 00 10 */ stw r0, 0x10(r1) -/* 80182E18 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 80182E1C C3 E3 0A E8 */ lfs f31, __float_max@l(r3) /* 0x80450AE8@l */ -/* 80182E20 83 65 00 08 */ lwz r27, 8(r5) -/* 80182E24 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 80182E28 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 80182E2C 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80182E30 3B A0 00 00 */ li r29, 0 -/* 80182E34 48 00 00 2C */ b lbl_80182E60 -lbl_80182E38: -/* 80182E38 7F E3 FB 78 */ mr r3, r31 -/* 80182E3C 38 9B 00 04 */ addi r4, r27, 4 -/* 80182E40 48 1C 45 5D */ bl PSVECSquareDistance -/* 80182E44 D0 21 00 08 */ stfs f1, 8(r1) -/* 80182E48 FC 1F 08 40 */ fcmpo cr0, f31, f1 -/* 80182E4C 40 81 00 0C */ ble lbl_80182E58 -/* 80182E50 FF E0 08 90 */ fmr f31, f1 -/* 80182E54 7F BC EB 78 */ mr r28, r29 -lbl_80182E58: -/* 80182E58 3B 7B 00 10 */ addi r27, r27, 0x10 -/* 80182E5C 3B BD 00 01 */ addi r29, r29, 1 -lbl_80182E60: -/* 80182E60 A0 1A 00 00 */ lhz r0, 0(r26) -/* 80182E64 7C 1D 00 00 */ cmpw r29, r0 -/* 80182E68 41 80 FF D0 */ blt lbl_80182E38 -/* 80182E6C 80 7A 00 08 */ lwz r3, 8(r26) -/* 80182E70 57 80 20 36 */ slwi r0, r28, 4 -/* 80182E74 7F A3 02 14 */ add r29, r3, r0 -/* 80182E78 2C 1C 00 00 */ cmpwi r28, 0 -/* 80182E7C 41 82 00 30 */ beq lbl_80182EAC -/* 80182E80 38 61 00 14 */ addi r3, r1, 0x14 -/* 80182E84 38 9D FF F4 */ addi r4, r29, -12 -/* 80182E88 38 BD 00 04 */ addi r5, r29, 4 -/* 80182E8C 48 0E C4 91 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec -/* 80182E90 38 61 00 14 */ addi r3, r1, 0x14 -/* 80182E94 7F E4 FB 78 */ mr r4, r31 -/* 80182E98 38 A1 00 30 */ addi r5, r1, 0x30 -/* 80182E9C 38 C1 00 08 */ addi r6, r1, 8 -/* 80182EA0 48 0E 58 71 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf -/* 80182EA4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80182EA8 90 01 00 0C */ stw r0, 0xc(r1) -lbl_80182EAC: -/* 80182EAC A0 7A 00 00 */ lhz r3, 0(r26) -/* 80182EB0 38 03 FF FF */ addi r0, r3, -1 -/* 80182EB4 7C 1C 00 00 */ cmpw r28, r0 -/* 80182EB8 41 82 00 30 */ beq lbl_80182EE8 -/* 80182EBC 38 61 00 14 */ addi r3, r1, 0x14 -/* 80182EC0 38 9D 00 04 */ addi r4, r29, 4 -/* 80182EC4 38 BD 00 14 */ addi r5, r29, 0x14 -/* 80182EC8 48 0E C4 55 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec -/* 80182ECC 38 61 00 14 */ addi r3, r1, 0x14 -/* 80182ED0 7F E4 FB 78 */ mr r4, r31 -/* 80182ED4 38 A1 00 3C */ addi r5, r1, 0x3c -/* 80182ED8 38 C1 00 08 */ addi r6, r1, 8 -/* 80182EDC 48 0E 58 35 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf -/* 80182EE0 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80182EE4 90 01 00 10 */ stw r0, 0x10(r1) -lbl_80182EE8: -/* 80182EE8 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80182EEC 2C 00 00 00 */ cmpwi r0, 0 -/* 80182EF0 41 82 00 7C */ beq lbl_80182F6C -/* 80182EF4 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80182EF8 2C 00 00 00 */ cmpwi r0, 0 -/* 80182EFC 41 82 00 54 */ beq lbl_80182F50 -/* 80182F00 38 61 00 3C */ addi r3, r1, 0x3c -/* 80182F04 7F E4 FB 78 */ mr r4, r31 -/* 80182F08 48 1C 44 95 */ bl PSVECSquareDistance -/* 80182F0C C0 01 00 08 */ lfs f0, 8(r1) -/* 80182F10 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80182F14 40 81 00 20 */ ble lbl_80182F34 -/* 80182F18 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80182F1C D0 1E 00 00 */ stfs f0, 0(r30) -/* 80182F20 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80182F24 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80182F28 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 80182F2C D0 1E 00 08 */ stfs f0, 8(r30) -/* 80182F30 48 00 00 7C */ b lbl_80182FAC -lbl_80182F34: -/* 80182F34 C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 80182F38 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80182F3C C0 01 00 40 */ lfs f0, 0x40(r1) -/* 80182F40 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80182F44 C0 01 00 44 */ lfs f0, 0x44(r1) -/* 80182F48 D0 1E 00 08 */ stfs f0, 8(r30) -/* 80182F4C 48 00 00 60 */ b lbl_80182FAC -lbl_80182F50: -/* 80182F50 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80182F54 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80182F58 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80182F5C D0 1E 00 04 */ stfs f0, 4(r30) -/* 80182F60 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 80182F64 D0 1E 00 08 */ stfs f0, 8(r30) -/* 80182F68 48 00 00 44 */ b lbl_80182FAC -lbl_80182F6C: -/* 80182F6C 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80182F70 2C 00 00 00 */ cmpwi r0, 0 -/* 80182F74 41 82 00 20 */ beq lbl_80182F94 -/* 80182F78 C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 80182F7C D0 1E 00 00 */ stfs f0, 0(r30) -/* 80182F80 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 80182F84 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80182F88 C0 01 00 44 */ lfs f0, 0x44(r1) -/* 80182F8C D0 1E 00 08 */ stfs f0, 8(r30) -/* 80182F90 48 00 00 1C */ b lbl_80182FAC -lbl_80182F94: -/* 80182F94 C0 1D 00 04 */ lfs f0, 4(r29) -/* 80182F98 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80182F9C C0 1D 00 08 */ lfs f0, 8(r29) -/* 80182FA0 D0 1E 00 04 */ stfs f0, 4(r30) -/* 80182FA4 C0 1D 00 0C */ lfs f0, 0xc(r29) -/* 80182FA8 D0 1E 00 08 */ stfs f0, 8(r30) -lbl_80182FAC: -/* 80182FAC 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 80182FB0 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 80182FB4 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80182FB8 E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 80182FBC CB E1 00 60 */ lfd f31, 0x60(r1) -/* 80182FC0 39 61 00 60 */ addi r11, r1, 0x60 -/* 80182FC4 48 1D F2 59 */ bl _restgpr_26 -/* 80182FC8 80 01 00 74 */ lwz r0, 0x74(r1) -/* 80182FCC 7C 08 03 A6 */ mtlr r0 -/* 80182FD0 38 21 00 70 */ addi r1, r1, 0x70 -/* 80182FD4 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/__dt__8cM3dGLinFv.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/__dt__8cM3dGLinFv.s deleted file mode 100644 index dddae816848..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/__dt__8cM3dGLinFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_808560DC: -/* 808560DC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 808560E0 7C 08 02 A6 */ mflr r0 -/* 808560E4 90 01 00 14 */ stw r0, 0x14(r1) -/* 808560E8 93 E1 00 0C */ stw r31, 0xc(r1) -/* 808560EC 7C 7F 1B 79 */ or. r31, r3, r3 -/* 808560F0 41 82 00 1C */ beq lbl_8085610C -/* 808560F4 3C A0 80 85 */ lis r5, __vt__8cM3dGLin@ha /* 0x80857758@ha */ -/* 808560F8 38 05 77 58 */ addi r0, r5, __vt__8cM3dGLin@l /* 0x80857758@l */ -/* 808560FC 90 1F 00 18 */ stw r0, 0x18(r31) -/* 80856100 7C 80 07 35 */ extsh. r0, r4 -/* 80856104 40 81 00 08 */ ble lbl_8085610C -/* 80856108 4B A7 8C 35 */ bl __dl__FPv -lbl_8085610C: -/* 8085610C 7F E3 FB 78 */ mr r3, r31 -/* 80856110 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80856114 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80856118 7C 08 03 A6 */ mtlr r0 -/* 8085611C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80856120 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s deleted file mode 100644 index 4d223c46793..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s +++ /dev/null @@ -1,140 +0,0 @@ -lbl_80855ED8: -/* 80855ED8 94 21 FF 90 */ stwu r1, -0x70(r1) -/* 80855EDC 7C 08 02 A6 */ mflr r0 -/* 80855EE0 90 01 00 74 */ stw r0, 0x74(r1) -/* 80855EE4 DB E1 00 60 */ stfd f31, 0x60(r1) -/* 80855EE8 F3 E1 00 68 */ psq_st f31, 104(r1), 0, 0 /* qr0 */ -/* 80855EEC 39 61 00 60 */ addi r11, r1, 0x60 -/* 80855EF0 4B B0 C2 E1 */ bl _savegpr_26 -/* 80855EF4 7C 7C 1B 78 */ mr r28, r3 -/* 80855EF8 7C 9D 23 78 */ mr r29, r4 -/* 80855EFC 7C BE 2B 78 */ mr r30, r5 -/* 80855F00 3B E0 00 00 */ li r31, 0 -/* 80855F04 3C 60 80 85 */ lis r3, lit_3770@ha /* 0x80857650@ha */ -/* 80855F08 38 83 76 50 */ addi r4, r3, lit_3770@l /* 0x80857650@l */ -/* 80855F0C 80 64 00 00 */ lwz r3, 0(r4) -/* 80855F10 80 04 00 04 */ lwz r0, 4(r4) -/* 80855F14 90 61 00 0C */ stw r3, 0xc(r1) -/* 80855F18 90 01 00 10 */ stw r0, 0x10(r1) -/* 80855F1C 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */ -/* 80855F20 C3 E3 0A E8 */ lfs f31, __float_max@l(r3) /* 0x80450AE8@l */ -/* 80855F24 83 45 00 08 */ lwz r26, 8(r5) -/* 80855F28 3C 60 80 85 */ lis r3, __vt__8cM3dGLin@ha /* 0x80857758@ha */ -/* 80855F2C 38 03 77 58 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x80857758@l */ -/* 80855F30 90 01 00 2C */ stw r0, 0x2c(r1) -/* 80855F34 3B 60 00 00 */ li r27, 0 -/* 80855F38 48 00 00 2C */ b lbl_80855F64 -lbl_80855F3C: -/* 80855F3C 7F A3 EB 78 */ mr r3, r29 -/* 80855F40 38 9A 00 04 */ addi r4, r26, 4 -/* 80855F44 4B AF 14 59 */ bl PSVECSquareDistance -/* 80855F48 D0 21 00 08 */ stfs f1, 8(r1) -/* 80855F4C FC 1F 08 40 */ fcmpo cr0, f31, f1 -/* 80855F50 40 81 00 0C */ ble lbl_80855F5C -/* 80855F54 FF E0 08 90 */ fmr f31, f1 -/* 80855F58 7F 7F DB 78 */ mr r31, r27 -lbl_80855F5C: -/* 80855F5C 3B 5A 00 10 */ addi r26, r26, 0x10 -/* 80855F60 3B 7B 00 01 */ addi r27, r27, 1 -lbl_80855F64: -/* 80855F64 A0 1E 00 00 */ lhz r0, 0(r30) -/* 80855F68 7C 1B 00 00 */ cmpw r27, r0 -/* 80855F6C 41 80 FF D0 */ blt lbl_80855F3C -/* 80855F70 80 7E 00 08 */ lwz r3, 8(r30) -/* 80855F74 57 E0 20 36 */ slwi r0, r31, 4 -/* 80855F78 7F 63 02 14 */ add r27, r3, r0 -/* 80855F7C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80855F80 41 82 00 30 */ beq lbl_80855FB0 -/* 80855F84 38 61 00 14 */ addi r3, r1, 0x14 -/* 80855F88 38 9B FF F4 */ addi r4, r27, -12 -/* 80855F8C 38 BB 00 04 */ addi r5, r27, 4 -/* 80855F90 4B A1 93 8D */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec -/* 80855F94 38 61 00 14 */ addi r3, r1, 0x14 -/* 80855F98 7F A4 EB 78 */ mr r4, r29 -/* 80855F9C 38 A1 00 30 */ addi r5, r1, 0x30 -/* 80855FA0 38 C1 00 08 */ addi r6, r1, 8 -/* 80855FA4 4B A1 27 6D */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf -/* 80855FA8 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80855FAC 90 01 00 0C */ stw r0, 0xc(r1) -lbl_80855FB0: -/* 80855FB0 A0 7E 00 00 */ lhz r3, 0(r30) -/* 80855FB4 38 03 FF FF */ addi r0, r3, -1 -/* 80855FB8 7C 1F 00 00 */ cmpw r31, r0 -/* 80855FBC 41 82 00 30 */ beq lbl_80855FEC -/* 80855FC0 38 61 00 14 */ addi r3, r1, 0x14 -/* 80855FC4 38 9B 00 04 */ addi r4, r27, 4 -/* 80855FC8 38 BB 00 14 */ addi r5, r27, 0x14 -/* 80855FCC 4B A1 93 51 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec -/* 80855FD0 38 61 00 14 */ addi r3, r1, 0x14 -/* 80855FD4 7F A4 EB 78 */ mr r4, r29 -/* 80855FD8 38 A1 00 3C */ addi r5, r1, 0x3c -/* 80855FDC 38 C1 00 08 */ addi r6, r1, 8 -/* 80855FE0 4B A1 27 31 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf -/* 80855FE4 54 60 06 3E */ clrlwi r0, r3, 0x18 -/* 80855FE8 90 01 00 10 */ stw r0, 0x10(r1) -lbl_80855FEC: -/* 80855FEC 80 01 00 0C */ lwz r0, 0xc(r1) -/* 80855FF0 2C 00 00 00 */ cmpwi r0, 0 -/* 80855FF4 41 82 00 7C */ beq lbl_80856070 -/* 80855FF8 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80855FFC 2C 00 00 00 */ cmpwi r0, 0 -/* 80856000 41 82 00 54 */ beq lbl_80856054 -/* 80856004 38 61 00 3C */ addi r3, r1, 0x3c -/* 80856008 7F A4 EB 78 */ mr r4, r29 -/* 8085600C 4B AF 13 91 */ bl PSVECSquareDistance -/* 80856010 C0 01 00 08 */ lfs f0, 8(r1) -/* 80856014 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856018 40 81 00 20 */ ble lbl_80856038 -/* 8085601C C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80856020 D0 1C 00 00 */ stfs f0, 0(r28) -/* 80856024 C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80856028 D0 1C 00 04 */ stfs f0, 4(r28) -/* 8085602C C0 01 00 38 */ lfs f0, 0x38(r1) -/* 80856030 D0 1C 00 08 */ stfs f0, 8(r28) -/* 80856034 48 00 00 7C */ b lbl_808560B0 -lbl_80856038: -/* 80856038 C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 8085603C D0 1C 00 00 */ stfs f0, 0(r28) -/* 80856040 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 80856044 D0 1C 00 04 */ stfs f0, 4(r28) -/* 80856048 C0 01 00 44 */ lfs f0, 0x44(r1) -/* 8085604C D0 1C 00 08 */ stfs f0, 8(r28) -/* 80856050 48 00 00 60 */ b lbl_808560B0 -lbl_80856054: -/* 80856054 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80856058 D0 1C 00 00 */ stfs f0, 0(r28) -/* 8085605C C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80856060 D0 1C 00 04 */ stfs f0, 4(r28) -/* 80856064 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 80856068 D0 1C 00 08 */ stfs f0, 8(r28) -/* 8085606C 48 00 00 44 */ b lbl_808560B0 -lbl_80856070: -/* 80856070 80 01 00 10 */ lwz r0, 0x10(r1) -/* 80856074 2C 00 00 00 */ cmpwi r0, 0 -/* 80856078 41 82 00 20 */ beq lbl_80856098 -/* 8085607C C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 80856080 D0 1C 00 00 */ stfs f0, 0(r28) -/* 80856084 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 80856088 D0 1C 00 04 */ stfs f0, 4(r28) -/* 8085608C C0 01 00 44 */ lfs f0, 0x44(r1) -/* 80856090 D0 1C 00 08 */ stfs f0, 8(r28) -/* 80856094 48 00 00 1C */ b lbl_808560B0 -lbl_80856098: -/* 80856098 C0 1B 00 04 */ lfs f0, 4(r27) -/* 8085609C D0 1C 00 00 */ stfs f0, 0(r28) -/* 808560A0 C0 1B 00 08 */ lfs f0, 8(r27) -/* 808560A4 D0 1C 00 04 */ stfs f0, 4(r28) -/* 808560A8 C0 1B 00 0C */ lfs f0, 0xc(r27) -/* 808560AC D0 1C 00 08 */ stfs f0, 8(r28) -lbl_808560B0: -/* 808560B0 3C 60 80 85 */ lis r3, __vt__8cM3dGLin@ha /* 0x80857758@ha */ -/* 808560B4 38 03 77 58 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x80857758@l */ -/* 808560B8 90 01 00 2C */ stw r0, 0x2c(r1) -/* 808560BC E3 E1 00 68 */ psq_l f31, 104(r1), 0, 0 /* qr0 */ -/* 808560C0 CB E1 00 60 */ lfd f31, 0x60(r1) -/* 808560C4 39 61 00 60 */ addi r11, r1, 0x60 -/* 808560C8 4B B0 C1 55 */ bl _restgpr_26 -/* 808560CC 80 01 00 74 */ lwz r0, 0x74(r1) -/* 808560D0 7C 08 03 A6 */ mtlr r0 -/* 808560D4 38 21 00 70 */ addi r1, r1, 0x70 -/* 808560D8 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Create__FP10fopAc_ac_c.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Create__FP10fopAc_ac_c.s deleted file mode 100644 index e707e4fbc8b..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Create__FP10fopAc_ac_c.s +++ /dev/null @@ -1,127 +0,0 @@ -lbl_80857470: -/* 80857470 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80857474 7C 08 02 A6 */ mflr r0 -/* 80857478 90 01 00 34 */ stw r0, 0x34(r1) -/* 8085747C 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 80857480 93 C1 00 28 */ stw r30, 0x28(r1) -/* 80857484 7C 7E 1B 78 */ mr r30, r3 -/* 80857488 3C 80 80 85 */ lis r4, lit_3770@ha /* 0x80857650@ha */ -/* 8085748C 3B E4 76 50 */ addi r31, r4, lit_3770@l /* 0x80857650@l */ -/* 80857490 80 03 04 A0 */ lwz r0, 0x4a0(r3) -/* 80857494 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c -/* 80857498 40 82 00 1C */ bne lbl_808574B4 -/* 8085749C 28 1E 00 00 */ cmplwi r30, 0 -/* 808574A0 41 82 00 08 */ beq lbl_808574A8 -/* 808574A4 4B 7C 16 C1 */ bl __ct__10fopAc_ac_cFv -lbl_808574A8: -/* 808574A8 80 1E 04 A0 */ lwz r0, 0x4a0(r30) -/* 808574AC 60 00 00 08 */ ori r0, r0, 8 -/* 808574B0 90 1E 04 A0 */ stw r0, 0x4a0(r30) -lbl_808574B4: -/* 808574B4 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 808574B8 54 00 47 BE */ rlwinm r0, r0, 8, 0x1e, 0x1f -/* 808574BC 98 1E 05 84 */ stb r0, 0x584(r30) -/* 808574C0 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 808574C4 98 1E 05 85 */ stb r0, 0x585(r30) -/* 808574C8 80 1E 00 B0 */ lwz r0, 0xb0(r30) -/* 808574CC 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 808574D0 98 1E 05 86 */ stb r0, 0x586(r30) -/* 808574D4 38 00 00 00 */ li r0, 0 -/* 808574D8 90 1E 05 6C */ stw r0, 0x56c(r30) -/* 808574DC 98 1E 05 88 */ stb r0, 0x588(r30) -/* 808574E0 B0 1E 05 8A */ sth r0, 0x58a(r30) -/* 808574E4 98 1E 05 87 */ stb r0, 0x587(r30) -/* 808574E8 C0 5F 00 10 */ lfs f2, 0x10(r31) -/* 808574EC D0 5E 05 78 */ stfs f2, 0x578(r30) -/* 808574F0 A8 1E 04 DC */ lha r0, 0x4dc(r30) -/* 808574F4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f -/* 808574F8 C8 3F 00 B0 */ lfd f1, 0xb0(r31) -/* 808574FC 90 01 00 24 */ stw r0, 0x24(r1) -/* 80857500 3C 00 43 30 */ lis r0, 0x4330 -/* 80857504 90 01 00 20 */ stw r0, 0x20(r1) -/* 80857508 C8 01 00 20 */ lfd f0, 0x20(r1) -/* 8085750C EC 20 08 28 */ fsubs f1, f0, f1 -/* 80857510 C0 1F 00 A4 */ lfs f0, 0xa4(r31) -/* 80857514 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80857518 D0 1E 05 7C */ stfs f0, 0x57c(r30) -/* 8085751C C0 3E 04 EC */ lfs f1, 0x4ec(r30) -/* 80857520 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80857524 40 81 00 14 */ ble lbl_80857538 -/* 80857528 C0 1F 00 50 */ lfs f0, 0x50(r31) -/* 8085752C EC 00 00 72 */ fmuls f0, f0, f1 -/* 80857530 D0 1E 05 74 */ stfs f0, 0x574(r30) -/* 80857534 48 00 00 0C */ b lbl_80857540 -lbl_80857538: -/* 80857538 C0 1F 00 A8 */ lfs f0, 0xa8(r31) -/* 8085753C D0 1E 05 74 */ stfs f0, 0x574(r30) -lbl_80857540: -/* 80857540 A8 1E 04 DC */ lha r0, 0x4dc(r30) -/* 80857544 98 1E 05 8E */ stb r0, 0x58e(r30) -/* 80857548 88 1E 05 84 */ lbz r0, 0x584(r30) -/* 8085754C 28 00 00 00 */ cmplwi r0, 0 -/* 80857550 40 82 00 34 */ bne lbl_80857584 -/* 80857554 7F C3 F3 78 */ mr r3, r30 -/* 80857558 4B FF EC E1 */ bl set_path_info__FP10fopAc_ac_c -/* 8085755C 90 7E 05 68 */ stw r3, 0x568(r30) -/* 80857560 C0 1F 00 08 */ lfs f0, 8(r31) -/* 80857564 D0 1E 05 70 */ stfs f0, 0x570(r30) -/* 80857568 38 00 00 00 */ li r0, 0 -/* 8085756C 90 1E 05 80 */ stw r0, 0x580(r30) -/* 80857570 38 00 00 01 */ li r0, 1 -/* 80857574 3C 60 80 43 */ lis r3, g_env_light@ha /* 0x8042CA54@ha */ -/* 80857578 38 63 CA 54 */ addi r3, r3, g_env_light@l /* 0x8042CA54@l */ -/* 8085757C 98 03 0F 21 */ stb r0, 0xf21(r3) -/* 80857580 48 00 00 AC */ b lbl_8085762C -lbl_80857584: -/* 80857584 88 1E 05 85 */ lbz r0, 0x585(r30) -/* 80857588 28 00 00 FF */ cmplwi r0, 0xff -/* 8085758C 40 82 00 0C */ bne lbl_80857598 -/* 80857590 38 60 00 03 */ li r3, 3 -/* 80857594 48 00 00 9C */ b lbl_80857630 -lbl_80857598: -/* 80857598 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8085759C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 808575A0 80 63 5D 3C */ lwz r3, 0x5d3c(r3) -/* 808575A4 38 80 00 00 */ li r4, 0 -/* 808575A8 90 81 00 08 */ stw r4, 8(r1) -/* 808575AC 38 00 FF FF */ li r0, -1 -/* 808575B0 90 01 00 0C */ stw r0, 0xc(r1) -/* 808575B4 90 81 00 10 */ stw r4, 0x10(r1) -/* 808575B8 90 81 00 14 */ stw r4, 0x14(r1) -/* 808575BC 90 81 00 18 */ stw r4, 0x18(r1) -/* 808575C0 38 80 00 00 */ li r4, 0 -/* 808575C4 3C A0 00 01 */ lis r5, 0x0001 /* 0x000084ED@ha */ -/* 808575C8 38 A5 84 ED */ addi r5, r5, 0x84ED /* 0x000084ED@l */ -/* 808575CC 38 DE 04 D0 */ addi r6, r30, 0x4d0 -/* 808575D0 38 E0 00 00 */ li r7, 0 -/* 808575D4 39 00 00 00 */ li r8, 0 -/* 808575D8 39 20 00 00 */ li r9, 0 -/* 808575DC 39 40 00 FF */ li r10, 0xff -/* 808575E0 C0 3F 00 10 */ lfs f1, 0x10(r31) -/* 808575E4 4B 7F 54 AD */ bl set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf -/* 808575E8 90 7E 05 6C */ stw r3, 0x56c(r30) -/* 808575EC 80 7E 05 6C */ lwz r3, 0x56c(r30) -/* 808575F0 28 03 00 00 */ cmplwi r3, 0 -/* 808575F4 41 82 00 38 */ beq lbl_8085762C -/* 808575F8 38 00 00 64 */ li r0, 0x64 -/* 808575FC 98 03 00 BC */ stb r0, 0xbc(r3) -/* 80857600 38 00 00 BD */ li r0, 0xbd -/* 80857604 98 03 00 BD */ stb r0, 0xbd(r3) -/* 80857608 38 00 00 73 */ li r0, 0x73 -/* 8085760C 98 03 00 BE */ stb r0, 0xbe(r3) -/* 80857610 80 7E 05 6C */ lwz r3, 0x56c(r30) -/* 80857614 38 00 00 83 */ li r0, 0x83 -/* 80857618 98 03 00 B8 */ stb r0, 0xb8(r3) -/* 8085761C 38 00 00 F3 */ li r0, 0xf3 -/* 80857620 98 03 00 B9 */ stb r0, 0xb9(r3) -/* 80857624 38 00 00 68 */ li r0, 0x68 -/* 80857628 98 03 00 BA */ stb r0, 0xba(r3) -lbl_8085762C: -/* 8085762C 38 60 00 04 */ li r3, 4 -lbl_80857630: -/* 80857630 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 80857634 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 80857638 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8085763C 7C 08 03 A6 */ mtlr r0 -/* 80857640 38 21 00 30 */ addi r1, r1, 0x30 -/* 80857644 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Delete__FP13kytag03_class.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Delete__FP13kytag03_class.s deleted file mode 100644 index 6cd740059a7..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Delete__FP13kytag03_class.s +++ /dev/null @@ -1,31 +0,0 @@ -lbl_808573FC: -/* 808573FC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80857400 7C 08 02 A6 */ mflr r0 -/* 80857404 90 01 00 14 */ stw r0, 0x14(r1) -/* 80857408 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8085740C 7C 7F 1B 78 */ mr r31, r3 -/* 80857410 80 63 05 6C */ lwz r3, 0x56c(r3) -/* 80857414 28 03 00 00 */ cmplwi r3, 0 -/* 80857418 41 82 00 40 */ beq lbl_80857458 -/* 8085741C 4B A2 78 45 */ bl deleteAllParticle__14JPABaseEmitterFv -/* 80857420 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 80857424 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 80857428 60 00 00 01 */ ori r0, r0, 1 -/* 8085742C 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 80857430 38 00 00 01 */ li r0, 1 -/* 80857434 90 03 00 24 */ stw r0, 0x24(r3) -/* 80857438 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 8085743C 80 03 00 F4 */ lwz r0, 0xf4(r3) -/* 80857440 54 00 06 B0 */ rlwinm r0, r0, 0, 0x1a, 0x18 -/* 80857444 90 03 00 F4 */ stw r0, 0xf4(r3) -/* 80857448 38 00 00 00 */ li r0, 0 -/* 8085744C 80 7F 05 6C */ lwz r3, 0x56c(r31) -/* 80857450 90 03 00 EC */ stw r0, 0xec(r3) -/* 80857454 90 1F 05 6C */ stw r0, 0x56c(r31) -lbl_80857458: -/* 80857458 38 60 00 01 */ li r3, 1 -/* 8085745C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80857460 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80857464 7C 08 03 A6 */ mtlr r0 -/* 80857468 38 21 00 10 */ addi r1, r1, 0x10 -/* 8085746C 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Execute__FP13kytag03_class.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Execute__FP13kytag03_class.s deleted file mode 100644 index c1def21298c..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Execute__FP13kytag03_class.s +++ /dev/null @@ -1,396 +0,0 @@ -lbl_80856E2C: -/* 80856E2C 94 21 FF A0 */ stwu r1, -0x60(r1) -/* 80856E30 7C 08 02 A6 */ mflr r0 -/* 80856E34 90 01 00 64 */ stw r0, 0x64(r1) -/* 80856E38 39 61 00 60 */ addi r11, r1, 0x60 -/* 80856E3C 4B B0 B3 99 */ bl _savegpr_27 -/* 80856E40 7C 7B 1B 78 */ mr r27, r3 -/* 80856E44 3C 80 80 85 */ lis r4, lit_3770@ha /* 0x80857650@ha */ -/* 80856E48 3B C4 76 50 */ addi r30, r4, lit_3770@l /* 0x80857650@l */ -/* 80856E4C 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */ -/* 80856E50 3B E4 CA 54 */ addi r31, r4, g_env_light@l /* 0x8042CA54@l */ -/* 80856E54 3C 80 80 40 */ lis r4, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80856E58 38 84 61 C0 */ addi r4, r4, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 80856E5C 83 A4 5D AC */ lwz r29, 0x5dac(r4) -/* 80856E60 3B 80 00 00 */ li r28, 0 -/* 80856E64 C0 03 04 D0 */ lfs f0, 0x4d0(r3) -/* 80856E68 D0 03 05 50 */ stfs f0, 0x550(r3) -/* 80856E6C C0 03 04 D4 */ lfs f0, 0x4d4(r3) -/* 80856E70 D0 03 05 54 */ stfs f0, 0x554(r3) -/* 80856E74 C0 03 04 D8 */ lfs f0, 0x4d8(r3) -/* 80856E78 D0 03 05 58 */ stfs f0, 0x558(r3) -/* 80856E7C 88 03 05 84 */ lbz r0, 0x584(r3) -/* 80856E80 28 00 00 00 */ cmplwi r0, 0 -/* 80856E84 40 82 00 0C */ bne lbl_80856E90 -/* 80856E88 4B FF F4 F1 */ bl odour_move__FP13kytag03_class -/* 80856E8C 48 00 05 4C */ b lbl_808573D8 -lbl_80856E90: -/* 80856E90 38 7B 05 78 */ addi r3, r27, 0x578 -/* 80856E94 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80856E98 C0 5E 00 74 */ lfs f2, 0x74(r30) -/* 80856E9C C0 7E 00 78 */ lfs f3, 0x78(r30) -/* 80856EA0 C0 9E 00 7C */ lfs f4, 0x7c(r30) -/* 80856EA4 4B A1 8A D9 */ bl cLib_addCalc__FPfffff -/* 80856EA8 88 1B 05 85 */ lbz r0, 0x585(r27) -/* 80856EAC 28 00 00 B5 */ cmplwi r0, 0xb5 -/* 80856EB0 40 82 00 40 */ bne lbl_80856EF0 -/* 80856EB4 38 00 00 1D */ li r0, 0x1d -/* 80856EB8 B0 01 00 08 */ sth r0, 8(r1) -/* 80856EBC 3C 60 80 02 */ lis r3, fpcSch_JudgeForPName__FPvPv@ha /* 0x80023578@ha */ -/* 80856EC0 38 63 35 78 */ addi r3, r3, fpcSch_JudgeForPName__FPvPv@l /* 0x80023578@l */ -/* 80856EC4 38 81 00 08 */ addi r4, r1, 8 -/* 80856EC8 4B 7C AD 99 */ bl fpcLyIt_AllJudge__FPFPvPv_PvPv -/* 80856ECC 28 03 00 00 */ cmplwi r3, 0 -/* 80856ED0 41 82 00 20 */ beq lbl_80856EF0 -/* 80856ED4 C0 23 04 D0 */ lfs f1, 0x4d0(r3) -/* 80856ED8 C0 1E 00 80 */ lfs f0, 0x80(r30) -/* 80856EDC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856EE0 40 80 00 10 */ bge lbl_80856EF0 -/* 80856EE4 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856EE8 D0 1B 05 78 */ stfs f0, 0x578(r27) -/* 80856EEC 3B 80 00 01 */ li r28, 1 -lbl_80856EF0: -/* 80856EF0 80 1B 05 6C */ lwz r0, 0x56c(r27) -/* 80856EF4 28 00 00 00 */ cmplwi r0, 0 -/* 80856EF8 41 82 02 F8 */ beq lbl_808571F0 -/* 80856EFC 3C 60 80 85 */ lis r3, struct_80857768+0x2@ha /* 0x8085776A@ha */ -/* 80856F00 38 83 77 6A */ addi r4, r3, struct_80857768+0x2@l /* 0x8085776A@l */ -/* 80856F04 88 04 00 00 */ lbz r0, 0(r4) -/* 80856F08 7C 00 07 75 */ extsb. r0, r0 -/* 80856F0C 40 82 00 18 */ bne lbl_80856F24 -/* 80856F10 38 00 00 00 */ li r0, 0 -/* 80856F14 3C 60 80 85 */ lis r3, struct_80857768+0x0@ha /* 0x80857768@ha */ -/* 80856F18 B0 03 77 68 */ sth r0, struct_80857768+0x0@l(r3) /* 0x80857768@l */ -/* 80856F1C 38 00 00 01 */ li r0, 1 -/* 80856F20 98 04 00 00 */ stb r0, 0(r4) -lbl_80856F24: -/* 80856F24 C0 5B 04 D8 */ lfs f2, 0x4d8(r27) -/* 80856F28 C0 3E 00 84 */ lfs f1, 0x84(r30) -/* 80856F2C C0 1B 04 D4 */ lfs f0, 0x4d4(r27) -/* 80856F30 EC 21 00 2A */ fadds f1, f1, f0 -/* 80856F34 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80856F38 C0 1B 04 D0 */ lfs f0, 0x4d0(r27) -/* 80856F3C D0 03 00 A4 */ stfs f0, 0xa4(r3) -/* 80856F40 D0 23 00 A8 */ stfs f1, 0xa8(r3) -/* 80856F44 D0 43 00 AC */ stfs f2, 0xac(r3) -/* 80856F48 C0 7E 00 88 */ lfs f3, 0x88(r30) -/* 80856F4C D0 61 00 34 */ stfs f3, 0x34(r1) -/* 80856F50 C0 1E 00 8C */ lfs f0, 0x8c(r30) -/* 80856F54 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80856F58 D0 61 00 3C */ stfs f3, 0x3c(r1) -/* 80856F5C E0 01 00 34 */ psq_l f0, 52(r1), 0, 0 /* qr0 */ -/* 80856F60 F0 01 00 28 */ psq_st f0, 40(r1), 0, 0 /* qr0 */ -/* 80856F64 D0 61 00 30 */ stfs f3, 0x30(r1) -/* 80856F68 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80856F6C C0 41 00 28 */ lfs f2, 0x28(r1) -/* 80856F70 D0 43 00 98 */ stfs f2, 0x98(r3) -/* 80856F74 C0 21 00 2C */ lfs f1, 0x2c(r1) -/* 80856F78 D0 23 00 9C */ stfs f1, 0x9c(r3) -/* 80856F7C FC 00 18 18 */ frsp f0, f3 -/* 80856F80 D0 03 00 A0 */ stfs f0, 0xa0(r3) -/* 80856F84 D0 43 00 B0 */ stfs f2, 0xb0(r3) -/* 80856F88 D0 23 00 B4 */ stfs f1, 0xb4(r3) -/* 80856F8C 3C 60 80 85 */ lis r3, struct_80857768+0x0@ha /* 0x80857768@ha */ -/* 80856F90 AC 83 77 68 */ lhau r4, struct_80857768+0x0@l(r3) /* 0x80857768@l */ -/* 80856F94 38 04 00 64 */ addi r0, r4, 0x64 -/* 80856F98 B0 03 00 00 */ sth r0, 0(r3) -/* 80856F9C 38 60 0F A0 */ li r3, 0xfa0 -/* 80856FA0 38 A0 05 DC */ li r5, 0x5dc -/* 80856FA4 80 DB 05 6C */ lwz r6, 0x56c(r27) -/* 80856FA8 38 C6 00 68 */ addi r6, r6, 0x68 -/* 80856FAC 4B A2 97 89 */ bl JPAGetXYZRotateMtx__FsssPA4_f -/* 80856FB0 C0 1E 00 4C */ lfs f0, 0x4c(r30) -/* 80856FB4 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80856FB8 D0 03 00 28 */ stfs f0, 0x28(r3) -/* 80856FBC C0 1E 00 90 */ lfs f0, 0x90(r30) -/* 80856FC0 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80856FC4 D0 03 00 3C */ stfs f0, 0x3c(r3) -/* 80856FC8 C0 1E 00 34 */ lfs f0, 0x34(r30) -/* 80856FCC 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80856FD0 D0 03 00 44 */ stfs f0, 0x44(r3) -/* 80856FD4 C0 1E 00 94 */ lfs f0, 0x94(r30) -/* 80856FD8 C0 5B 05 78 */ lfs f2, 0x578(r27) -/* 80856FDC EC 20 00 B2 */ fmuls f1, f0, f2 -/* 80856FE0 D0 21 00 34 */ stfs f1, 0x34(r1) -/* 80856FE4 C0 1E 00 98 */ lfs f0, 0x98(r30) -/* 80856FE8 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80856FEC D0 01 00 38 */ stfs f0, 0x38(r1) -/* 80856FF0 D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 80856FF4 E0 01 00 34 */ psq_l f0, 52(r1), 0, 0 /* qr0 */ -/* 80856FF8 F0 01 00 1C */ psq_st f0, 28(r1), 0, 0 /* qr0 */ -/* 80856FFC D0 21 00 24 */ stfs f1, 0x24(r1) -/* 80857000 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857004 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 80857008 D0 03 00 98 */ stfs f0, 0x98(r3) -/* 8085700C C0 01 00 20 */ lfs f0, 0x20(r1) -/* 80857010 D0 03 00 9C */ stfs f0, 0x9c(r3) -/* 80857014 FC 00 08 18 */ frsp f0, f1 -/* 80857018 D0 03 00 A0 */ stfs f0, 0xa0(r3) -/* 8085701C 88 1B 05 85 */ lbz r0, 0x585(r27) -/* 80857020 28 00 00 B0 */ cmplwi r0, 0xb0 -/* 80857024 40 82 00 34 */ bne lbl_80857058 -/* 80857028 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 8085702C 38 00 00 FF */ li r0, 0xff -/* 80857030 98 03 00 B8 */ stb r0, 0xb8(r3) -/* 80857034 98 03 00 B9 */ stb r0, 0xb9(r3) -/* 80857038 98 03 00 BA */ stb r0, 0xba(r3) -/* 8085703C 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857040 98 03 00 BC */ stb r0, 0xbc(r3) -/* 80857044 38 00 00 78 */ li r0, 0x78 -/* 80857048 98 03 00 BD */ stb r0, 0xbd(r3) -/* 8085704C 38 00 00 A8 */ li r0, 0xa8 -/* 80857050 98 03 00 BE */ stb r0, 0xbe(r3) -/* 80857054 48 00 01 74 */ b lbl_808571C8 -lbl_80857058: -/* 80857058 28 00 00 B3 */ cmplwi r0, 0xb3 -/* 8085705C 40 82 00 40 */ bne lbl_8085709C -/* 80857060 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857064 38 00 00 FF */ li r0, 0xff -/* 80857068 98 03 00 B8 */ stb r0, 0xb8(r3) -/* 8085706C 38 00 00 A1 */ li r0, 0xa1 -/* 80857070 98 03 00 B9 */ stb r0, 0xb9(r3) -/* 80857074 38 00 00 3B */ li r0, 0x3b -/* 80857078 98 03 00 BA */ stb r0, 0xba(r3) -/* 8085707C 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857080 38 00 00 D6 */ li r0, 0xd6 -/* 80857084 98 03 00 BC */ stb r0, 0xbc(r3) -/* 80857088 38 00 00 60 */ li r0, 0x60 -/* 8085708C 98 03 00 BD */ stb r0, 0xbd(r3) -/* 80857090 38 00 00 32 */ li r0, 0x32 -/* 80857094 98 03 00 BE */ stb r0, 0xbe(r3) -/* 80857098 48 00 01 30 */ b lbl_808571C8 -lbl_8085709C: -/* 8085709C 28 00 00 B4 */ cmplwi r0, 0xb4 -/* 808570A0 40 82 00 3C */ bne lbl_808570DC -/* 808570A4 80 9B 05 6C */ lwz r4, 0x56c(r27) -/* 808570A8 38 60 00 FF */ li r3, 0xff -/* 808570AC 98 64 00 B8 */ stb r3, 0xb8(r4) -/* 808570B0 38 00 00 DB */ li r0, 0xdb -/* 808570B4 98 04 00 B9 */ stb r0, 0xb9(r4) -/* 808570B8 98 64 00 BA */ stb r3, 0xba(r4) -/* 808570BC 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 808570C0 38 00 00 E4 */ li r0, 0xe4 -/* 808570C4 98 03 00 BC */ stb r0, 0xbc(r3) -/* 808570C8 38 00 00 AC */ li r0, 0xac -/* 808570CC 98 03 00 BD */ stb r0, 0xbd(r3) -/* 808570D0 38 00 00 52 */ li r0, 0x52 -/* 808570D4 98 03 00 BE */ stb r0, 0xbe(r3) -/* 808570D8 48 00 00 F0 */ b lbl_808571C8 -lbl_808570DC: -/* 808570DC 28 00 00 B5 */ cmplwi r0, 0xb5 -/* 808570E0 40 82 00 AC */ bne lbl_8085718C -/* 808570E4 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 808570E8 38 00 00 D5 */ li r0, 0xd5 -/* 808570EC 98 03 00 B8 */ stb r0, 0xb8(r3) -/* 808570F0 38 00 00 CE */ li r0, 0xce -/* 808570F4 98 03 00 B9 */ stb r0, 0xb9(r3) -/* 808570F8 38 00 00 A7 */ li r0, 0xa7 -/* 808570FC 98 03 00 BA */ stb r0, 0xba(r3) -/* 80857100 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857104 38 00 00 55 */ li r0, 0x55 -/* 80857108 98 03 00 BC */ stb r0, 0xbc(r3) -/* 8085710C 38 00 00 78 */ li r0, 0x78 -/* 80857110 98 03 00 BD */ stb r0, 0xbd(r3) -/* 80857114 38 00 00 27 */ li r0, 0x27 -/* 80857118 98 03 00 BE */ stb r0, 0xbe(r3) -/* 8085711C 38 60 0F A0 */ li r3, 0xfa0 -/* 80857120 38 80 00 00 */ li r4, 0 -/* 80857124 38 A0 05 DC */ li r5, 0x5dc -/* 80857128 80 DB 05 6C */ lwz r6, 0x56c(r27) -/* 8085712C 38 C6 00 68 */ addi r6, r6, 0x68 -/* 80857130 4B A2 96 05 */ bl JPAGetXYZRotateMtx__FsssPA4_f -/* 80857134 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80857138 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 8085713C D0 03 00 44 */ stfs f0, 0x44(r3) -/* 80857140 C0 1E 00 94 */ lfs f0, 0x94(r30) -/* 80857144 C0 5B 05 78 */ lfs f2, 0x578(r27) -/* 80857148 EC 20 00 B2 */ fmuls f1, f0, f2 -/* 8085714C D0 21 00 34 */ stfs f1, 0x34(r1) -/* 80857150 C0 1E 00 34 */ lfs f0, 0x34(r30) -/* 80857154 EC 00 00 B2 */ fmuls f0, f0, f2 -/* 80857158 D0 01 00 38 */ stfs f0, 0x38(r1) -/* 8085715C D0 21 00 3C */ stfs f1, 0x3c(r1) -/* 80857160 E0 01 00 34 */ psq_l f0, 52(r1), 0, 0 /* qr0 */ -/* 80857164 F0 01 00 10 */ psq_st f0, 16(r1), 0, 0 /* qr0 */ -/* 80857168 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 8085716C 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 80857170 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 80857174 D0 03 00 98 */ stfs f0, 0x98(r3) -/* 80857178 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8085717C D0 03 00 9C */ stfs f0, 0x9c(r3) -/* 80857180 FC 00 08 18 */ frsp f0, f1 -/* 80857184 D0 03 00 A0 */ stfs f0, 0xa0(r3) -/* 80857188 48 00 00 40 */ b lbl_808571C8 -lbl_8085718C: -/* 8085718C 28 00 00 B2 */ cmplwi r0, 0xb2 -/* 80857190 40 82 00 38 */ bne lbl_808571C8 -/* 80857194 80 9B 05 6C */ lwz r4, 0x56c(r27) -/* 80857198 38 60 00 FF */ li r3, 0xff -/* 8085719C 98 64 00 B8 */ stb r3, 0xb8(r4) -/* 808571A0 38 00 00 C8 */ li r0, 0xc8 -/* 808571A4 98 04 00 B9 */ stb r0, 0xb9(r4) -/* 808571A8 98 64 00 BA */ stb r3, 0xba(r4) -/* 808571AC 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 808571B0 38 00 00 44 */ li r0, 0x44 -/* 808571B4 98 03 00 BC */ stb r0, 0xbc(r3) -/* 808571B8 38 00 00 1A */ li r0, 0x1a -/* 808571BC 98 03 00 BD */ stb r0, 0xbd(r3) -/* 808571C0 38 00 00 6B */ li r0, 0x6b -/* 808571C4 98 03 00 BE */ stb r0, 0xbe(r3) -lbl_808571C8: -/* 808571C8 C0 5E 00 9C */ lfs f2, 0x9c(r30) -/* 808571CC C0 3E 00 A0 */ lfs f1, 0xa0(r30) -/* 808571D0 C0 1F 0F 40 */ lfs f0, 0xf40(r31) -/* 808571D4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 808571D8 EC 02 00 2A */ fadds f0, f2, f0 -/* 808571DC FC 00 00 1E */ fctiwz f0, f0 -/* 808571E0 D8 01 00 40 */ stfd f0, 0x40(r1) -/* 808571E4 80 01 00 44 */ lwz r0, 0x44(r1) -/* 808571E8 80 7B 05 6C */ lwz r3, 0x56c(r27) -/* 808571EC 98 03 00 BB */ stb r0, 0xbb(r3) -lbl_808571F0: -/* 808571F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 808571F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 808571F8 88 03 00 16 */ lbz r0, 0x16(r3) -/* 808571FC 88 7B 05 85 */ lbz r3, 0x585(r27) -/* 80857200 7C 03 00 40 */ cmplw r3, r0 -/* 80857204 41 82 01 C8 */ beq lbl_808573CC -/* 80857208 98 7B 05 89 */ stb r3, 0x589(r27) -/* 8085720C 88 1B 05 87 */ lbz r0, 0x587(r27) -/* 80857210 28 00 00 00 */ cmplwi r0, 0 -/* 80857214 40 82 01 70 */ bne lbl_80857384 -/* 80857218 38 7D 04 D0 */ addi r3, r29, 0x4d0 -/* 8085721C 38 9B 04 D0 */ addi r4, r27, 0x4d0 -/* 80857220 4B AF 01 7D */ bl PSVECSquareDistance -/* 80857224 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80857228 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8085722C 40 81 00 58 */ ble lbl_80857284 -/* 80857230 FC 00 08 34 */ frsqrte f0, f1 -/* 80857234 C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 80857238 FC 44 00 32 */ fmul f2, f4, f0 -/* 8085723C C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 80857240 FC 00 00 32 */ fmul f0, f0, f0 -/* 80857244 FC 01 00 32 */ fmul f0, f1, f0 -/* 80857248 FC 03 00 28 */ fsub f0, f3, f0 -/* 8085724C FC 02 00 32 */ fmul f0, f2, f0 -/* 80857250 FC 44 00 32 */ fmul f2, f4, f0 -/* 80857254 FC 00 00 32 */ fmul f0, f0, f0 -/* 80857258 FC 01 00 32 */ fmul f0, f1, f0 -/* 8085725C FC 03 00 28 */ fsub f0, f3, f0 -/* 80857260 FC 02 00 32 */ fmul f0, f2, f0 -/* 80857264 FC 44 00 32 */ fmul f2, f4, f0 -/* 80857268 FC 00 00 32 */ fmul f0, f0, f0 -/* 8085726C FC 01 00 32 */ fmul f0, f1, f0 -/* 80857270 FC 03 00 28 */ fsub f0, f3, f0 -/* 80857274 FC 02 00 32 */ fmul f0, f2, f0 -/* 80857278 FC 21 00 32 */ fmul f1, f1, f0 -/* 8085727C FC 20 08 18 */ frsp f1, f1 -/* 80857280 48 00 00 88 */ b lbl_80857308 -lbl_80857284: -/* 80857284 C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 80857288 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8085728C 40 80 00 10 */ bge lbl_8085729C -/* 80857290 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80857294 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80857298 48 00 00 70 */ b lbl_80857308 -lbl_8085729C: -/* 8085729C D0 21 00 0C */ stfs f1, 0xc(r1) -/* 808572A0 80 81 00 0C */ lwz r4, 0xc(r1) -/* 808572A4 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 808572A8 3C 00 7F 80 */ lis r0, 0x7f80 -/* 808572AC 7C 03 00 00 */ cmpw r3, r0 -/* 808572B0 41 82 00 14 */ beq lbl_808572C4 -/* 808572B4 40 80 00 40 */ bge lbl_808572F4 -/* 808572B8 2C 03 00 00 */ cmpwi r3, 0 -/* 808572BC 41 82 00 20 */ beq lbl_808572DC -/* 808572C0 48 00 00 34 */ b lbl_808572F4 -lbl_808572C4: -/* 808572C4 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808572C8 41 82 00 0C */ beq lbl_808572D4 -/* 808572CC 38 00 00 01 */ li r0, 1 -/* 808572D0 48 00 00 28 */ b lbl_808572F8 -lbl_808572D4: -/* 808572D4 38 00 00 02 */ li r0, 2 -/* 808572D8 48 00 00 20 */ b lbl_808572F8 -lbl_808572DC: -/* 808572DC 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808572E0 41 82 00 0C */ beq lbl_808572EC -/* 808572E4 38 00 00 05 */ li r0, 5 -/* 808572E8 48 00 00 10 */ b lbl_808572F8 -lbl_808572EC: -/* 808572EC 38 00 00 03 */ li r0, 3 -/* 808572F0 48 00 00 08 */ b lbl_808572F8 -lbl_808572F4: -/* 808572F4 38 00 00 04 */ li r0, 4 -lbl_808572F8: -/* 808572F8 2C 00 00 01 */ cmpwi r0, 1 -/* 808572FC 40 82 00 0C */ bne lbl_80857308 -/* 80857300 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80857304 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80857308: -/* 80857308 C0 1B 05 74 */ lfs f0, 0x574(r27) -/* 8085730C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80857310 40 80 00 3C */ bge lbl_8085734C -/* 80857314 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 80857318 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 8085731C 80 63 5D B4 */ lwz r3, 0x5db4(r3) -/* 80857320 80 03 05 74 */ lwz r0, 0x574(r3) -/* 80857324 54 00 01 8D */ rlwinm. r0, r0, 0, 6, 6 -/* 80857328 41 82 00 24 */ beq lbl_8085734C -/* 8085732C 2C 1C 00 00 */ cmpwi r28, 0 -/* 80857330 40 82 00 1C */ bne lbl_8085734C -/* 80857334 38 00 00 3D */ li r0, 0x3d -/* 80857338 98 1B 05 4B */ stb r0, 0x54b(r27) -/* 8085733C 80 1B 05 5C */ lwz r0, 0x55c(r27) -/* 80857340 60 00 00 80 */ ori r0, r0, 0x80 -/* 80857344 90 1B 05 5C */ stw r0, 0x55c(r27) -/* 80857348 48 00 00 10 */ b lbl_80857358 -lbl_8085734C: -/* 8085734C 80 1B 05 5C */ lwz r0, 0x55c(r27) -/* 80857350 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 80857354 90 1B 05 5C */ stw r0, 0x55c(r27) -lbl_80857358: -/* 80857358 88 1B 05 88 */ lbz r0, 0x588(r27) -/* 8085735C 28 00 00 01 */ cmplwi r0, 1 -/* 80857360 40 82 00 78 */ bne lbl_808573D8 -/* 80857364 80 1B 05 5C */ lwz r0, 0x55c(r27) -/* 80857368 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 8085736C 90 1B 05 5C */ stw r0, 0x55c(r27) -/* 80857370 38 00 00 01 */ li r0, 1 -/* 80857374 98 1B 05 87 */ stb r0, 0x587(r27) -/* 80857378 38 00 00 1E */ li r0, 0x1e -/* 8085737C B0 1B 05 8A */ sth r0, 0x58a(r27) -/* 80857380 48 00 00 58 */ b lbl_808573D8 -lbl_80857384: -/* 80857384 28 00 00 01 */ cmplwi r0, 1 -/* 80857388 40 82 00 2C */ bne lbl_808573B4 -/* 8085738C A0 7B 05 8A */ lhz r3, 0x58a(r27) -/* 80857390 28 03 00 00 */ cmplwi r3, 0 -/* 80857394 41 82 00 10 */ beq lbl_808573A4 -/* 80857398 38 03 FF FF */ addi r0, r3, -1 -/* 8085739C B0 1B 05 8A */ sth r0, 0x58a(r27) -/* 808573A0 48 00 00 38 */ b lbl_808573D8 -lbl_808573A4: -/* 808573A4 38 00 00 02 */ li r0, 2 -/* 808573A8 98 1B 05 88 */ stb r0, 0x588(r27) -/* 808573AC 98 1B 05 87 */ stb r0, 0x587(r27) -/* 808573B0 48 00 00 28 */ b lbl_808573D8 -lbl_808573B4: -/* 808573B4 88 1B 05 88 */ lbz r0, 0x588(r27) -/* 808573B8 28 00 00 00 */ cmplwi r0, 0 -/* 808573BC 40 82 00 1C */ bne lbl_808573D8 -/* 808573C0 38 00 00 00 */ li r0, 0 -/* 808573C4 98 1B 05 87 */ stb r0, 0x587(r27) -/* 808573C8 48 00 00 10 */ b lbl_808573D8 -lbl_808573CC: -/* 808573CC 80 1B 05 5C */ lwz r0, 0x55c(r27) -/* 808573D0 54 00 06 6E */ rlwinm r0, r0, 0, 0x19, 0x17 -/* 808573D4 90 1B 05 5C */ stw r0, 0x55c(r27) -lbl_808573D8: -/* 808573D8 38 60 00 01 */ li r3, 1 -/* 808573DC 39 61 00 60 */ addi r11, r1, 0x60 -/* 808573E0 4B B0 AE 41 */ bl _restgpr_27 -/* 808573E4 80 01 00 64 */ lwz r0, 0x64(r1) -/* 808573E8 7C 08 03 A6 */ mtlr r0 -/* 808573EC 38 21 00 60 */ addi r1, r1, 0x60 -/* 808573F0 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/getSound_pos__FP10fopAc_ac_c.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/getSound_pos__FP10fopAc_ac_c.s deleted file mode 100644 index 894f4238280..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/getSound_pos__FP10fopAc_ac_c.s +++ /dev/null @@ -1,57 +0,0 @@ -lbl_80856280: -/* 80856280 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80856284 7C 08 02 A6 */ mflr r0 -/* 80856288 90 01 00 44 */ stw r0, 0x44(r1) -/* 8085628C 39 61 00 40 */ addi r11, r1, 0x40 -/* 80856290 4B B0 BF 4D */ bl _savegpr_29 -/* 80856294 7C 7F 1B 78 */ mr r31, r3 -/* 80856298 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 8085629C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 808562A0 88 03 5D B0 */ lbz r0, 0x5db0(r3) -/* 808562A4 7C 00 07 74 */ extsb r0, r0 -/* 808562A8 1C 00 00 38 */ mulli r0, r0, 0x38 -/* 808562AC 7C 63 02 14 */ add r3, r3, r0 -/* 808562B0 80 83 5D 74 */ lwz r4, 0x5d74(r3) -/* 808562B4 38 61 00 08 */ addi r3, r1, 8 -/* 808562B8 38 84 02 48 */ addi r4, r4, 0x248 -/* 808562BC 4B 92 BB A9 */ bl Eye__9dCamera_cFv -/* 808562C0 C0 01 00 08 */ lfs f0, 8(r1) -/* 808562C4 D0 01 00 20 */ stfs f0, 0x20(r1) -/* 808562C8 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 808562CC D0 01 00 24 */ stfs f0, 0x24(r1) -/* 808562D0 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 808562D4 D0 01 00 28 */ stfs f0, 0x28(r1) -/* 808562D8 80 1F 00 B0 */ lwz r0, 0xb0(r31) -/* 808562DC 54 03 86 3E */ rlwinm r3, r0, 0x10, 0x18, 0x1f -/* 808562E0 28 03 00 FF */ cmplwi r3, 0xff -/* 808562E4 41 82 00 58 */ beq lbl_8085633C -/* 808562E8 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 808562EC 7C 04 07 74 */ extsb r4, r0 -/* 808562F0 4B 7F B4 FD */ bl dPath_GetRoomPath__Fii -/* 808562F4 7C 7D 1B 78 */ mr r29, r3 -/* 808562F8 3C 60 80 43 */ lis r3, g_mEnvSeMgr@ha /* 0x8042DD70@ha */ -/* 808562FC 3B C3 DD 70 */ addi r30, r3, g_mEnvSeMgr@l /* 0x8042DD70@l */ -/* 80856300 48 00 00 34 */ b lbl_80856334 -lbl_80856304: -/* 80856304 38 61 00 14 */ addi r3, r1, 0x14 -/* 80856308 38 81 00 20 */ addi r4, r1, 0x20 -/* 8085630C 7F A5 EB 78 */ mr r5, r29 -/* 80856310 4B FF FB C9 */ bl dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath -/* 80856314 7F C3 F3 78 */ mr r3, r30 -/* 80856318 38 81 00 14 */ addi r4, r1, 0x14 -/* 8085631C 4B A7 2F AD */ bl registWolfSmellSePos__10Z2EnvSeMgrFP3Vec -/* 80856320 7F A3 EB 78 */ mr r3, r29 -/* 80856324 88 1F 04 E2 */ lbz r0, 0x4e2(r31) -/* 80856328 7C 04 07 74 */ extsb r4, r0 -/* 8085632C 4B 7F B5 6D */ bl dPath_GetNextRoomPath__FPC5dPathi -/* 80856330 7C 7D 1B 78 */ mr r29, r3 -lbl_80856334: -/* 80856334 28 1D 00 00 */ cmplwi r29, 0 -/* 80856338 40 82 FF CC */ bne lbl_80856304 -lbl_8085633C: -/* 8085633C 39 61 00 40 */ addi r11, r1, 0x40 -/* 80856340 4B B0 BE E9 */ bl _restgpr_29 -/* 80856344 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80856348 7C 08 03 A6 */ mtlr r0 -/* 8085634C 38 21 00 40 */ addi r1, r1, 0x40 -/* 80856350 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi.s deleted file mode 100644 index ef93532dc88..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_80856364: -/* 80856364 A0 64 00 00 */ lhz r3, 0(r4) -/* 80856368 38 03 FF FF */ addi r0, r3, -1 -/* 8085636C 90 06 00 00 */ stw r0, 0(r6) -/* 80856370 7C 83 23 78 */ mr r3, r4 -/* 80856374 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi.s deleted file mode 100644 index a9624c6cf61..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80856354: -/* 80856354 38 00 00 00 */ li r0, 0 -/* 80856358 90 06 00 00 */ stw r0, 0(r6) -/* 8085635C 7C 83 23 78 */ mr r3, r4 -/* 80856360 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_rail_ratio_pos__FP5dPathifPsPs.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_rail_ratio_pos__FP5dPathifPsPs.s deleted file mode 100644 index 31ead8a139c..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_rail_ratio_pos__FP5dPathifPsPs.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_80856124: -/* 80856124 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80856128 7C 08 02 A6 */ mflr r0 -/* 8085612C 90 01 00 54 */ stw r0, 0x54(r1) -/* 80856130 39 61 00 50 */ addi r11, r1, 0x50 -/* 80856134 4B B0 C0 A9 */ bl _savegpr_29 -/* 80856138 7C 7D 1B 78 */ mr r29, r3 -/* 8085613C 7C DE 33 78 */ mr r30, r6 -/* 80856140 7C FF 3B 78 */ mr r31, r7 -/* 80856144 80 04 00 08 */ lwz r0, 8(r4) -/* 80856148 54 A3 20 36 */ slwi r3, r5, 4 -/* 8085614C 7C 60 1A 14 */ add r3, r0, r3 -/* 80856150 C0 C3 00 04 */ lfs f6, 4(r3) -/* 80856154 D0 C1 00 2C */ stfs f6, 0x2c(r1) -/* 80856158 C0 A3 00 08 */ lfs f5, 8(r3) -/* 8085615C D0 A1 00 30 */ stfs f5, 0x30(r1) -/* 80856160 C0 83 00 0C */ lfs f4, 0xc(r3) -/* 80856164 D0 81 00 34 */ stfs f4, 0x34(r1) -/* 80856168 C0 03 00 14 */ lfs f0, 0x14(r3) -/* 8085616C D0 01 00 20 */ stfs f0, 0x20(r1) -/* 80856170 C0 63 00 18 */ lfs f3, 0x18(r3) -/* 80856174 D0 61 00 24 */ stfs f3, 0x24(r1) -/* 80856178 C0 43 00 1C */ lfs f2, 0x1c(r3) -/* 8085617C D0 41 00 28 */ stfs f2, 0x28(r1) -/* 80856180 EC 00 30 28 */ fsubs f0, f0, f6 -/* 80856184 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80856188 EC 06 00 2A */ fadds f0, f6, f0 -/* 8085618C D0 01 00 14 */ stfs f0, 0x14(r1) -/* 80856190 EC 03 28 28 */ fsubs f0, f3, f5 -/* 80856194 EC 01 00 32 */ fmuls f0, f1, f0 -/* 80856198 EC 05 00 2A */ fadds f0, f5, f0 -/* 8085619C D0 01 00 18 */ stfs f0, 0x18(r1) -/* 808561A0 EC 02 20 28 */ fsubs f0, f2, f4 -/* 808561A4 EC 01 00 32 */ fmuls f0, f1, f0 -/* 808561A8 EC 04 00 2A */ fadds f0, f4, f0 -/* 808561AC D0 01 00 1C */ stfs f0, 0x1c(r1) -/* 808561B0 38 61 00 2C */ addi r3, r1, 0x2c -/* 808561B4 38 81 00 20 */ addi r4, r1, 0x20 -/* 808561B8 38 A1 00 08 */ addi r5, r1, 8 -/* 808561BC 4B 80 55 A5 */ bl dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz -/* 808561C0 C0 01 00 08 */ lfs f0, 8(r1) -/* 808561C4 EC 20 00 32 */ fmuls f1, f0, f0 -/* 808561C8 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 808561CC EC 00 00 32 */ fmuls f0, f0, f0 -/* 808561D0 EC 21 00 2A */ fadds f1, f1, f0 -/* 808561D4 3C 60 80 85 */ lis r3, lit_3870@ha /* 0x80857658@ha */ -/* 808561D8 C0 03 76 58 */ lfs f0, lit_3870@l(r3) /* 0x80857658@l */ -/* 808561DC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 808561E0 40 81 00 0C */ ble lbl_808561EC -/* 808561E4 FC 00 08 34 */ frsqrte f0, f1 -/* 808561E8 EC 20 00 72 */ fmuls f1, f0, f1 -lbl_808561EC: -/* 808561EC C0 41 00 0C */ lfs f2, 0xc(r1) -/* 808561F0 4B A1 14 85 */ bl cM_atan2s__Fff -/* 808561F4 B0 7E 00 00 */ sth r3, 0(r30) -/* 808561F8 C0 21 00 08 */ lfs f1, 8(r1) -/* 808561FC C0 41 00 10 */ lfs f2, 0x10(r1) -/* 80856200 4B A1 14 75 */ bl cM_atan2s__Fff -/* 80856204 B0 7F 00 00 */ sth r3, 0(r31) -/* 80856208 C0 01 00 14 */ lfs f0, 0x14(r1) -/* 8085620C D0 1D 00 00 */ stfs f0, 0(r29) -/* 80856210 C0 01 00 18 */ lfs f0, 0x18(r1) -/* 80856214 D0 1D 00 04 */ stfs f0, 4(r29) -/* 80856218 C0 01 00 1C */ lfs f0, 0x1c(r1) -/* 8085621C D0 1D 00 08 */ stfs f0, 8(r29) -/* 80856220 39 61 00 50 */ addi r11, r1, 0x50 -/* 80856224 4B B0 C0 05 */ bl _restgpr_29 -/* 80856228 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8085622C 7C 08 03 A6 */ mtlr r0 -/* 80856230 38 21 00 50 */ addi r1, r1, 0x50 -/* 80856234 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/odour_move__FP13kytag03_class.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/odour_move__FP13kytag03_class.s deleted file mode 100644 index cfbd1a173bf..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/odour_move__FP13kytag03_class.s +++ /dev/null @@ -1,754 +0,0 @@ -lbl_80856378: -/* 80856378 94 21 FE 60 */ stwu r1, -0x1a0(r1) -/* 8085637C 7C 08 02 A6 */ mflr r0 -/* 80856380 90 01 01 A4 */ stw r0, 0x1a4(r1) -/* 80856384 DB E1 01 90 */ stfd f31, 0x190(r1) -/* 80856388 F3 E1 01 98 */ psq_st f31, 408(r1), 0, 0 /* qr0 */ -/* 8085638C DB C1 01 80 */ stfd f30, 0x180(r1) -/* 80856390 F3 C1 01 88 */ psq_st f30, 392(r1), 0, 0 /* qr0 */ -/* 80856394 DB A1 01 70 */ stfd f29, 0x170(r1) -/* 80856398 F3 A1 01 78 */ psq_st f29, 376(r1), 0, 0 /* qr0 */ -/* 8085639C DB 81 01 60 */ stfd f28, 0x160(r1) -/* 808563A0 F3 81 01 68 */ psq_st f28, 360(r1), 0, 0 /* qr0 */ -/* 808563A4 DB 61 01 50 */ stfd f27, 0x150(r1) -/* 808563A8 F3 61 01 58 */ psq_st f27, 344(r1), 0, 0 /* qr0 */ -/* 808563AC DB 41 01 40 */ stfd f26, 0x140(r1) -/* 808563B0 F3 41 01 48 */ psq_st f26, 328(r1), 0, 0 /* qr0 */ -/* 808563B4 DB 21 01 30 */ stfd f25, 0x130(r1) -/* 808563B8 F3 21 01 38 */ psq_st f25, 312(r1), 0, 0 /* qr0 */ -/* 808563BC DB 01 01 20 */ stfd f24, 0x120(r1) -/* 808563C0 F3 01 01 28 */ psq_st f24, 296(r1), 0, 0 /* qr0 */ -/* 808563C4 DA E1 01 10 */ stfd f23, 0x110(r1) -/* 808563C8 F2 E1 01 18 */ psq_st f23, 280(r1), 0, 0 /* qr0 */ -/* 808563CC DA C1 01 00 */ stfd f22, 0x100(r1) -/* 808563D0 F2 C1 01 08 */ psq_st f22, 264(r1), 0, 0 /* qr0 */ -/* 808563D4 DA A1 00 F0 */ stfd f21, 0xf0(r1) -/* 808563D8 F2 A1 00 F8 */ psq_st f21, 248(r1), 0, 0 /* qr0 */ -/* 808563DC 39 61 00 F0 */ addi r11, r1, 0xf0 -/* 808563E0 4B B0 BD E9 */ bl _savegpr_24 -/* 808563E4 7C 7D 1B 78 */ mr r29, r3 -/* 808563E8 3C 60 80 85 */ lis r3, lit_3770@ha /* 0x80857650@ha */ -/* 808563EC 3B C3 76 50 */ addi r30, r3, lit_3770@l /* 0x80857650@l */ -/* 808563F0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */ -/* 808563F4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */ -/* 808563F8 83 83 5D 74 */ lwz r28, 0x5d74(r3) -/* 808563FC 3C 80 80 43 */ lis r4, g_env_light@ha /* 0x8042CA54@ha */ -/* 80856400 38 84 CA 54 */ addi r4, r4, g_env_light@l /* 0x8042CA54@l */ -/* 80856404 83 44 0F 28 */ lwz r26, 0xf28(r4) -/* 80856408 88 83 00 16 */ lbz r4, 0x16(r3) -/* 8085640C 88 1D 05 85 */ lbz r0, 0x585(r29) -/* 80856410 7C 00 20 40 */ cmplw r0, r4 -/* 80856414 40 82 09 A0 */ bne lbl_80856DB4 -/* 80856418 88 9D 05 8E */ lbz r4, 0x58e(r29) -/* 8085641C 28 04 00 FF */ cmplwi r4, 0xff -/* 80856420 41 82 00 20 */ beq lbl_80856440 -/* 80856424 3C A0 80 45 */ lis r5, mStayNo__20dStage_roomControl_c+0x0@ha /* 0x80450D64@ha */ -/* 80856428 38 A5 0D 64 */ addi r5, r5, mStayNo__20dStage_roomControl_c+0x0@l /* 0x80450D64@l */ -/* 8085642C 88 A5 00 00 */ lbz r5, 0(r5) -/* 80856430 7C A5 07 74 */ extsb r5, r5 -/* 80856434 4B 7D EF 2D */ bl isSwitch__10dSv_info_cCFii -/* 80856438 2C 03 00 00 */ cmpwi r3, 0 -/* 8085643C 40 82 09 78 */ bne lbl_80856DB4 -lbl_80856440: -/* 80856440 83 3D 05 68 */ lwz r25, 0x568(r29) -/* 80856444 28 19 00 00 */ cmplwi r25, 0 -/* 80856448 41 82 09 6C */ beq lbl_80856DB4 -/* 8085644C 7F A3 EB 78 */ mr r3, r29 -/* 80856450 7F 24 CB 78 */ mr r4, r25 -/* 80856454 38 BC 00 D8 */ addi r5, r28, 0xd8 -/* 80856458 C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 8085645C 38 C1 00 24 */ addi r6, r1, 0x24 -/* 80856460 4B FF FE F5 */ bl get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi -/* 80856464 7C 7B 1B 78 */ mr r27, r3 -/* 80856468 7F A3 EB 78 */ mr r3, r29 -/* 8085646C 7F 24 CB 78 */ mr r4, r25 -/* 80856470 38 BC 00 D8 */ addi r5, r28, 0xd8 -/* 80856474 C0 3E 00 0C */ lfs f1, 0xc(r30) -/* 80856478 38 C1 00 20 */ addi r6, r1, 0x20 -/* 8085647C 4B FF FE E9 */ bl get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi -/* 80856480 7C 79 1B 78 */ mr r25, r3 -/* 80856484 38 61 00 60 */ addi r3, r1, 0x60 -/* 80856488 7F 64 DB 78 */ mr r4, r27 -/* 8085648C 38 A0 00 00 */ li r5, 0 -/* 80856490 C0 3E 00 08 */ lfs f1, 8(r30) -/* 80856494 38 C1 00 0A */ addi r6, r1, 0xa -/* 80856498 38 E1 00 08 */ addi r7, r1, 8 -/* 8085649C 4B FF FC 89 */ bl get_rail_ratio_pos__FP5dPathifPsPs -/* 808564A0 C0 01 00 60 */ lfs f0, 0x60(r1) -/* 808564A4 D0 01 00 A8 */ stfs f0, 0xa8(r1) -/* 808564A8 C0 01 00 64 */ lfs f0, 0x64(r1) -/* 808564AC D0 01 00 AC */ stfs f0, 0xac(r1) -/* 808564B0 C0 01 00 68 */ lfs f0, 0x68(r1) -/* 808564B4 D0 01 00 B0 */ stfs f0, 0xb0(r1) -/* 808564B8 38 61 00 54 */ addi r3, r1, 0x54 -/* 808564BC 7F 24 CB 78 */ mr r4, r25 -/* 808564C0 80 A1 00 20 */ lwz r5, 0x20(r1) -/* 808564C4 38 A5 FF FF */ addi r5, r5, -1 -/* 808564C8 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 808564CC 38 C1 00 0A */ addi r6, r1, 0xa -/* 808564D0 38 E1 00 08 */ addi r7, r1, 8 -/* 808564D4 4B FF FC 51 */ bl get_rail_ratio_pos__FP5dPathifPsPs -/* 808564D8 C0 01 00 54 */ lfs f0, 0x54(r1) -/* 808564DC D0 01 00 9C */ stfs f0, 0x9c(r1) -/* 808564E0 C0 01 00 58 */ lfs f0, 0x58(r1) -/* 808564E4 D0 01 00 A0 */ stfs f0, 0xa0(r1) -/* 808564E8 C0 01 00 5C */ lfs f0, 0x5c(r1) -/* 808564EC D0 01 00 A4 */ stfs f0, 0xa4(r1) -/* 808564F0 28 1A 00 00 */ cmplwi r26, 0 -/* 808564F4 41 82 00 20 */ beq lbl_80856514 -/* 808564F8 C0 01 00 A8 */ lfs f0, 0xa8(r1) -/* 808564FC 3C 7A 00 01 */ addis r3, r26, 1 -/* 80856500 D0 03 77 14 */ stfs f0, 0x7714(r3) -/* 80856504 C0 01 00 AC */ lfs f0, 0xac(r1) -/* 80856508 D0 03 77 18 */ stfs f0, 0x7718(r3) -/* 8085650C C0 01 00 B0 */ lfs f0, 0xb0(r1) -/* 80856510 D0 03 77 1C */ stfs f0, 0x771c(r3) -lbl_80856514: -/* 80856514 83 21 00 24 */ lwz r25, 0x24(r1) -/* 80856518 3C 60 80 43 */ lis r3, g_Counter@ha /* 0x80430CD8@ha */ -/* 8085651C 3B E3 0C D8 */ addi r31, r3, g_Counter@l /* 0x80430CD8@l */ -/* 80856520 C3 1E 00 38 */ lfs f24, 0x38(r30) -/* 80856524 C3 9E 00 08 */ lfs f28, 8(r30) -/* 80856528 C3 BE 00 30 */ lfs f29, 0x30(r30) -/* 8085652C C3 DE 00 10 */ lfs f30, 0x10(r30) -/* 80856530 C3 FE 00 34 */ lfs f31, 0x34(r30) -/* 80856534 48 00 08 6C */ b lbl_80856DA0 -lbl_80856538: -/* 80856538 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8085653C 7C 00 18 00 */ cmpw r0, r3 -/* 80856540 41 82 00 0C */ beq lbl_8085654C -/* 80856544 7C 19 18 00 */ cmpw r25, r3 -/* 80856548 41 82 08 64 */ beq lbl_80856DAC -lbl_8085654C: -/* 8085654C 38 61 00 48 */ addi r3, r1, 0x48 -/* 80856550 7F 64 DB 78 */ mr r4, r27 -/* 80856554 7F 25 CB 78 */ mr r5, r25 -/* 80856558 C0 3E 00 08 */ lfs f1, 8(r30) -/* 8085655C 38 C1 00 0A */ addi r6, r1, 0xa -/* 80856560 38 E1 00 08 */ addi r7, r1, 8 -/* 80856564 4B FF FB C1 */ bl get_rail_ratio_pos__FP5dPathifPsPs -/* 80856568 C0 01 00 48 */ lfs f0, 0x48(r1) -/* 8085656C D0 01 00 84 */ stfs f0, 0x84(r1) -/* 80856570 C0 01 00 4C */ lfs f0, 0x4c(r1) -/* 80856574 D0 01 00 88 */ stfs f0, 0x88(r1) -/* 80856578 C0 01 00 50 */ lfs f0, 0x50(r1) -/* 8085657C D0 01 00 8C */ stfs f0, 0x8c(r1) -/* 80856580 38 61 00 3C */ addi r3, r1, 0x3c -/* 80856584 7F 64 DB 78 */ mr r4, r27 -/* 80856588 7F 25 CB 78 */ mr r5, r25 -/* 8085658C C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80856590 38 C1 00 0A */ addi r6, r1, 0xa -/* 80856594 38 E1 00 08 */ addi r7, r1, 8 -/* 80856598 4B FF FB 8D */ bl get_rail_ratio_pos__FP5dPathifPsPs -/* 8085659C C0 01 00 3C */ lfs f0, 0x3c(r1) -/* 808565A0 D0 01 00 78 */ stfs f0, 0x78(r1) -/* 808565A4 C0 01 00 40 */ lfs f0, 0x40(r1) -/* 808565A8 D0 01 00 7C */ stfs f0, 0x7c(r1) -/* 808565AC C0 01 00 44 */ lfs f0, 0x44(r1) -/* 808565B0 D0 01 00 80 */ stfs f0, 0x80(r1) -/* 808565B4 38 61 00 84 */ addi r3, r1, 0x84 -/* 808565B8 38 81 00 78 */ addi r4, r1, 0x78 -/* 808565BC 4B AF 0D E1 */ bl PSVECSquareDistance -/* 808565C0 FC 01 E0 40 */ fcmpo cr0, f1, f28 -/* 808565C4 40 81 00 58 */ ble lbl_8085661C -/* 808565C8 FC 00 08 34 */ frsqrte f0, f1 -/* 808565CC C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 808565D0 FC 44 00 32 */ fmul f2, f4, f0 -/* 808565D4 C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 808565D8 FC 00 00 32 */ fmul f0, f0, f0 -/* 808565DC FC 01 00 32 */ fmul f0, f1, f0 -/* 808565E0 FC 03 00 28 */ fsub f0, f3, f0 -/* 808565E4 FC 02 00 32 */ fmul f0, f2, f0 -/* 808565E8 FC 44 00 32 */ fmul f2, f4, f0 -/* 808565EC FC 00 00 32 */ fmul f0, f0, f0 -/* 808565F0 FC 01 00 32 */ fmul f0, f1, f0 -/* 808565F4 FC 03 00 28 */ fsub f0, f3, f0 -/* 808565F8 FC 02 00 32 */ fmul f0, f2, f0 -/* 808565FC FC 44 00 32 */ fmul f2, f4, f0 -/* 80856600 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856604 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856608 FC 03 00 28 */ fsub f0, f3, f0 -/* 8085660C FC 02 00 32 */ fmul f0, f2, f0 -/* 80856610 FC 21 00 32 */ fmul f1, f1, f0 -/* 80856614 FC 20 08 18 */ frsp f1, f1 -/* 80856618 48 00 00 88 */ b lbl_808566A0 -lbl_8085661C: -/* 8085661C C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 80856620 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856624 40 80 00 10 */ bge lbl_80856634 -/* 80856628 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8085662C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80856630 48 00 00 70 */ b lbl_808566A0 -lbl_80856634: -/* 80856634 D0 21 00 1C */ stfs f1, 0x1c(r1) -/* 80856638 80 81 00 1C */ lwz r4, 0x1c(r1) -/* 8085663C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80856640 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80856644 7C 03 00 00 */ cmpw r3, r0 -/* 80856648 41 82 00 14 */ beq lbl_8085665C -/* 8085664C 40 80 00 40 */ bge lbl_8085668C -/* 80856650 2C 03 00 00 */ cmpwi r3, 0 -/* 80856654 41 82 00 20 */ beq lbl_80856674 -/* 80856658 48 00 00 34 */ b lbl_8085668C -lbl_8085665C: -/* 8085665C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856660 41 82 00 0C */ beq lbl_8085666C -/* 80856664 38 00 00 01 */ li r0, 1 -/* 80856668 48 00 00 28 */ b lbl_80856690 -lbl_8085666C: -/* 8085666C 38 00 00 02 */ li r0, 2 -/* 80856670 48 00 00 20 */ b lbl_80856690 -lbl_80856674: -/* 80856674 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856678 41 82 00 0C */ beq lbl_80856684 -/* 8085667C 38 00 00 05 */ li r0, 5 -/* 80856680 48 00 00 10 */ b lbl_80856690 -lbl_80856684: -/* 80856684 38 00 00 03 */ li r0, 3 -/* 80856688 48 00 00 08 */ b lbl_80856690 -lbl_8085668C: -/* 8085668C 38 00 00 04 */ li r0, 4 -lbl_80856690: -/* 80856690 2C 00 00 01 */ cmpwi r0, 1 -/* 80856694 40 82 00 0C */ bne lbl_808566A0 -/* 80856698 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 8085669C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_808566A0: -/* 808566A0 EF 5D 08 24 */ fdivs f26, f29, f1 -/* 808566A4 C3 3E 00 08 */ lfs f25, 8(r30) -/* 808566A8 EC 1F 06 B2 */ fmuls f0, f31, f26 -/* 808566AC EF 7E 00 28 */ fsubs f27, f30, f0 -/* 808566B0 48 00 06 E0 */ b lbl_80856D90 -lbl_808566B4: -/* 808566B4 80 1F 00 00 */ lwz r0, 0(r31) -/* 808566B8 54 03 07 3E */ clrlwi r3, r0, 0x1c -/* 808566BC EC 18 06 72 */ fmuls f0, f24, f25 -/* 808566C0 FC 00 00 1E */ fctiwz f0, f0 -/* 808566C4 D8 01 00 B8 */ stfd f0, 0xb8(r1) -/* 808566C8 80 01 00 BC */ lwz r0, 0xbc(r1) -/* 808566CC 54 00 07 3E */ clrlwi r0, r0, 0x1c -/* 808566D0 7C 03 00 40 */ cmplw r3, r0 -/* 808566D4 40 82 06 B8 */ bne lbl_80856D8C -/* 808566D8 38 61 00 30 */ addi r3, r1, 0x30 -/* 808566DC 7F 64 DB 78 */ mr r4, r27 -/* 808566E0 7F 25 CB 78 */ mr r5, r25 -/* 808566E4 FC 20 C8 90 */ fmr f1, f25 -/* 808566E8 38 C1 00 0A */ addi r6, r1, 0xa -/* 808566EC 38 E1 00 08 */ addi r7, r1, 8 -/* 808566F0 4B FF FA 35 */ bl get_rail_ratio_pos__FP5dPathifPsPs -/* 808566F4 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 808566F8 D0 01 00 90 */ stfs f0, 0x90(r1) -/* 808566FC C0 01 00 34 */ lfs f0, 0x34(r1) -/* 80856700 D0 01 00 94 */ stfs f0, 0x94(r1) -/* 80856704 C0 01 00 38 */ lfs f0, 0x38(r1) -/* 80856708 D0 01 00 98 */ stfs f0, 0x98(r1) -/* 8085670C 38 61 00 A8 */ addi r3, r1, 0xa8 -/* 80856710 38 81 00 90 */ addi r4, r1, 0x90 -/* 80856714 4B AF 0C 89 */ bl PSVECSquareDistance -/* 80856718 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8085671C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856720 40 81 00 58 */ ble lbl_80856778 -/* 80856724 FC 00 08 34 */ frsqrte f0, f1 -/* 80856728 C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 8085672C FC 44 00 32 */ fmul f2, f4, f0 -/* 80856730 C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 80856734 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856738 FC 01 00 32 */ fmul f0, f1, f0 -/* 8085673C FC 03 00 28 */ fsub f0, f3, f0 -/* 80856740 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856744 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856748 FC 00 00 32 */ fmul f0, f0, f0 -/* 8085674C FC 01 00 32 */ fmul f0, f1, f0 -/* 80856750 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856754 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856758 FC 44 00 32 */ fmul f2, f4, f0 -/* 8085675C FC 00 00 32 */ fmul f0, f0, f0 -/* 80856760 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856764 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856768 FC 02 00 32 */ fmul f0, f2, f0 -/* 8085676C FE E1 00 32 */ fmul f23, f1, f0 -/* 80856770 FE E0 B8 18 */ frsp f23, f23 -/* 80856774 48 00 00 90 */ b lbl_80856804 -lbl_80856778: -/* 80856778 C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 8085677C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856780 40 80 00 10 */ bge lbl_80856790 -/* 80856784 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80856788 C2 E3 0A E0 */ lfs f23, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 8085678C 48 00 00 78 */ b lbl_80856804 -lbl_80856790: -/* 80856790 D0 21 00 18 */ stfs f1, 0x18(r1) -/* 80856794 80 81 00 18 */ lwz r4, 0x18(r1) -/* 80856798 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 8085679C 3C 00 7F 80 */ lis r0, 0x7f80 -/* 808567A0 7C 03 00 00 */ cmpw r3, r0 -/* 808567A4 41 82 00 14 */ beq lbl_808567B8 -/* 808567A8 40 80 00 40 */ bge lbl_808567E8 -/* 808567AC 2C 03 00 00 */ cmpwi r3, 0 -/* 808567B0 41 82 00 20 */ beq lbl_808567D0 -/* 808567B4 48 00 00 34 */ b lbl_808567E8 -lbl_808567B8: -/* 808567B8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808567BC 41 82 00 0C */ beq lbl_808567C8 -/* 808567C0 38 00 00 01 */ li r0, 1 -/* 808567C4 48 00 00 28 */ b lbl_808567EC -lbl_808567C8: -/* 808567C8 38 00 00 02 */ li r0, 2 -/* 808567CC 48 00 00 20 */ b lbl_808567EC -lbl_808567D0: -/* 808567D0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808567D4 41 82 00 0C */ beq lbl_808567E0 -/* 808567D8 38 00 00 05 */ li r0, 5 -/* 808567DC 48 00 00 10 */ b lbl_808567EC -lbl_808567E0: -/* 808567E0 38 00 00 03 */ li r0, 3 -/* 808567E4 48 00 00 08 */ b lbl_808567EC -lbl_808567E8: -/* 808567E8 38 00 00 04 */ li r0, 4 -lbl_808567EC: -/* 808567EC 2C 00 00 01 */ cmpwi r0, 1 -/* 808567F0 40 82 00 10 */ bne lbl_80856800 -/* 808567F4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 808567F8 C2 E3 0A E0 */ lfs f23, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 808567FC 48 00 00 08 */ b lbl_80856804 -lbl_80856800: -/* 80856800 FE E0 08 90 */ fmr f23, f1 -lbl_80856804: -/* 80856804 38 61 00 A8 */ addi r3, r1, 0xa8 -/* 80856808 38 81 00 9C */ addi r4, r1, 0x9c -/* 8085680C 4B AF 0B 91 */ bl PSVECSquareDistance -/* 80856810 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856814 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856818 40 81 00 58 */ ble lbl_80856870 -/* 8085681C FC 00 08 34 */ frsqrte f0, f1 -/* 80856820 C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 80856824 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856828 C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 8085682C FC 00 00 32 */ fmul f0, f0, f0 -/* 80856830 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856834 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856838 FC 02 00 32 */ fmul f0, f2, f0 -/* 8085683C FC 44 00 32 */ fmul f2, f4, f0 -/* 80856840 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856844 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856848 FC 03 00 28 */ fsub f0, f3, f0 -/* 8085684C FC 02 00 32 */ fmul f0, f2, f0 -/* 80856850 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856854 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856858 FC 01 00 32 */ fmul f0, f1, f0 -/* 8085685C FC 03 00 28 */ fsub f0, f3, f0 -/* 80856860 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856864 FC 21 00 32 */ fmul f1, f1, f0 -/* 80856868 FC 20 08 18 */ frsp f1, f1 -/* 8085686C 48 00 00 88 */ b lbl_808568F4 -lbl_80856870: -/* 80856870 C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 80856874 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856878 40 80 00 10 */ bge lbl_80856888 -/* 8085687C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80856880 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80856884 48 00 00 70 */ b lbl_808568F4 -lbl_80856888: -/* 80856888 D0 21 00 14 */ stfs f1, 0x14(r1) -/* 8085688C 80 81 00 14 */ lwz r4, 0x14(r1) -/* 80856890 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80856894 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80856898 7C 03 00 00 */ cmpw r3, r0 -/* 8085689C 41 82 00 14 */ beq lbl_808568B0 -/* 808568A0 40 80 00 40 */ bge lbl_808568E0 -/* 808568A4 2C 03 00 00 */ cmpwi r3, 0 -/* 808568A8 41 82 00 20 */ beq lbl_808568C8 -/* 808568AC 48 00 00 34 */ b lbl_808568E0 -lbl_808568B0: -/* 808568B0 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808568B4 41 82 00 0C */ beq lbl_808568C0 -/* 808568B8 38 00 00 01 */ li r0, 1 -/* 808568BC 48 00 00 28 */ b lbl_808568E4 -lbl_808568C0: -/* 808568C0 38 00 00 02 */ li r0, 2 -/* 808568C4 48 00 00 20 */ b lbl_808568E4 -lbl_808568C8: -/* 808568C8 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 808568CC 41 82 00 0C */ beq lbl_808568D8 -/* 808568D0 38 00 00 05 */ li r0, 5 -/* 808568D4 48 00 00 10 */ b lbl_808568E4 -lbl_808568D8: -/* 808568D8 38 00 00 03 */ li r0, 3 -/* 808568DC 48 00 00 08 */ b lbl_808568E4 -lbl_808568E0: -/* 808568E0 38 00 00 04 */ li r0, 4 -lbl_808568E4: -/* 808568E4 2C 00 00 01 */ cmpwi r0, 1 -/* 808568E8 40 82 00 0C */ bne lbl_808568F4 -/* 808568EC 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 808568F0 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_808568F4: -/* 808568F4 C0 1E 00 08 */ lfs f0, 8(r30) -/* 808568F8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 808568FC 40 81 00 10 */ ble lbl_8085690C -/* 80856900 C0 5E 00 10 */ lfs f2, 0x10(r30) -/* 80856904 EC 17 08 24 */ fdivs f0, f23, f1 -/* 80856908 EE E2 00 28 */ fsubs f23, f2, f0 -lbl_8085690C: -/* 8085690C C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856910 FC 17 00 40 */ fcmpo cr0, f23, f0 -/* 80856914 40 80 00 0C */ bge lbl_80856920 -/* 80856918 FE E0 00 90 */ fmr f23, f0 -/* 8085691C 48 00 00 18 */ b lbl_80856934 -lbl_80856920: -/* 80856920 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80856924 FC 17 00 40 */ fcmpo cr0, f23, f0 -/* 80856928 4C 41 13 82 */ cror 2, 1, 2 -/* 8085692C 40 82 00 08 */ bne lbl_80856934 -/* 80856930 FE E0 00 90 */ fmr f23, f0 -lbl_80856934: -/* 80856934 88 1D 05 86 */ lbz r0, 0x586(r29) -/* 80856938 28 00 00 01 */ cmplwi r0, 1 -/* 8085693C 41 82 00 0C */ beq lbl_80856948 -/* 80856940 28 00 00 03 */ cmplwi r0, 3 -/* 80856944 40 82 00 0C */ bne lbl_80856950 -lbl_80856948: -/* 80856948 C2 FE 00 10 */ lfs f23, 0x10(r30) -/* 8085694C 48 00 01 34 */ b lbl_80856A80 -lbl_80856950: -/* 80856950 28 00 00 02 */ cmplwi r0, 2 -/* 80856954 41 82 00 0C */ beq lbl_80856960 -/* 80856958 28 00 00 04 */ cmplwi r0, 4 -/* 8085695C 40 82 01 24 */ bne lbl_80856A80 -lbl_80856960: -/* 80856960 38 61 00 90 */ addi r3, r1, 0x90 -/* 80856964 38 81 00 9C */ addi r4, r1, 0x9c -/* 80856968 4B AF 0A 35 */ bl PSVECSquareDistance -/* 8085696C C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856970 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856974 40 81 00 58 */ ble lbl_808569CC -/* 80856978 FC 00 08 34 */ frsqrte f0, f1 -/* 8085697C C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 80856980 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856984 C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 80856988 FC 00 00 32 */ fmul f0, f0, f0 -/* 8085698C FC 01 00 32 */ fmul f0, f1, f0 -/* 80856990 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856994 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856998 FC 44 00 32 */ fmul f2, f4, f0 -/* 8085699C FC 00 00 32 */ fmul f0, f0, f0 -/* 808569A0 FC 01 00 32 */ fmul f0, f1, f0 -/* 808569A4 FC 03 00 28 */ fsub f0, f3, f0 -/* 808569A8 FC 02 00 32 */ fmul f0, f2, f0 -/* 808569AC FC 44 00 32 */ fmul f2, f4, f0 -/* 808569B0 FC 00 00 32 */ fmul f0, f0, f0 -/* 808569B4 FC 01 00 32 */ fmul f0, f1, f0 -/* 808569B8 FC 03 00 28 */ fsub f0, f3, f0 -/* 808569BC FC 02 00 32 */ fmul f0, f2, f0 -/* 808569C0 FC 21 00 32 */ fmul f1, f1, f0 -/* 808569C4 FC 20 08 18 */ frsp f1, f1 -/* 808569C8 48 00 00 88 */ b lbl_80856A50 -lbl_808569CC: -/* 808569CC C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 808569D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 808569D4 40 80 00 10 */ bge lbl_808569E4 -/* 808569D8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 808569DC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 808569E0 48 00 00 70 */ b lbl_80856A50 -lbl_808569E4: -/* 808569E4 D0 21 00 10 */ stfs f1, 0x10(r1) -/* 808569E8 80 81 00 10 */ lwz r4, 0x10(r1) -/* 808569EC 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 808569F0 3C 00 7F 80 */ lis r0, 0x7f80 -/* 808569F4 7C 03 00 00 */ cmpw r3, r0 -/* 808569F8 41 82 00 14 */ beq lbl_80856A0C -/* 808569FC 40 80 00 40 */ bge lbl_80856A3C -/* 80856A00 2C 03 00 00 */ cmpwi r3, 0 -/* 80856A04 41 82 00 20 */ beq lbl_80856A24 -/* 80856A08 48 00 00 34 */ b lbl_80856A3C -lbl_80856A0C: -/* 80856A0C 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856A10 41 82 00 0C */ beq lbl_80856A1C -/* 80856A14 38 00 00 01 */ li r0, 1 -/* 80856A18 48 00 00 28 */ b lbl_80856A40 -lbl_80856A1C: -/* 80856A1C 38 00 00 02 */ li r0, 2 -/* 80856A20 48 00 00 20 */ b lbl_80856A40 -lbl_80856A24: -/* 80856A24 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856A28 41 82 00 0C */ beq lbl_80856A34 -/* 80856A2C 38 00 00 05 */ li r0, 5 -/* 80856A30 48 00 00 10 */ b lbl_80856A40 -lbl_80856A34: -/* 80856A34 38 00 00 03 */ li r0, 3 -/* 80856A38 48 00 00 08 */ b lbl_80856A40 -lbl_80856A3C: -/* 80856A3C 38 00 00 04 */ li r0, 4 -lbl_80856A40: -/* 80856A40 2C 00 00 01 */ cmpwi r0, 1 -/* 80856A44 40 82 00 0C */ bne lbl_80856A50 -/* 80856A48 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80856A4C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80856A50: -/* 80856A50 C0 1E 00 3C */ lfs f0, 0x3c(r30) -/* 80856A54 EE E1 00 24 */ fdivs f23, f1, f0 -/* 80856A58 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856A5C FC 17 00 40 */ fcmpo cr0, f23, f0 -/* 80856A60 40 80 00 0C */ bge lbl_80856A6C -/* 80856A64 FE E0 00 90 */ fmr f23, f0 -/* 80856A68 48 00 00 18 */ b lbl_80856A80 -lbl_80856A6C: -/* 80856A6C C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80856A70 FC 17 00 40 */ fcmpo cr0, f23, f0 -/* 80856A74 4C 41 13 82 */ cror 2, 1, 2 -/* 80856A78 40 82 00 08 */ bne lbl_80856A80 -/* 80856A7C FE E0 00 90 */ fmr f23, f0 -lbl_80856A80: -/* 80856A80 C0 1E 00 10 */ lfs f0, 0x10(r30) -/* 80856A84 EE C0 B8 28 */ fsubs f22, f0, f23 -/* 80856A88 EE D6 05 B2 */ fmuls f22, f22, f22 -/* 80856A8C C0 1D 05 7C */ lfs f0, 0x57c(r29) -/* 80856A90 EE F7 00 32 */ fmuls f23, f23, f0 -/* 80856A94 38 7C 00 D8 */ addi r3, r28, 0xd8 -/* 80856A98 38 81 00 90 */ addi r4, r1, 0x90 -/* 80856A9C 4B AF 09 01 */ bl PSVECSquareDistance -/* 80856AA0 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856AA4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856AA8 40 81 00 58 */ ble lbl_80856B00 -/* 80856AAC FC 00 08 34 */ frsqrte f0, f1 -/* 80856AB0 C8 9E 00 18 */ lfd f4, 0x18(r30) -/* 80856AB4 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856AB8 C8 7E 00 20 */ lfd f3, 0x20(r30) -/* 80856ABC FC 00 00 32 */ fmul f0, f0, f0 -/* 80856AC0 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856AC4 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856AC8 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856ACC FC 44 00 32 */ fmul f2, f4, f0 -/* 80856AD0 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856AD4 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856AD8 FC 03 00 28 */ fsub f0, f3, f0 -/* 80856ADC FC 02 00 32 */ fmul f0, f2, f0 -/* 80856AE0 FC 44 00 32 */ fmul f2, f4, f0 -/* 80856AE4 FC 00 00 32 */ fmul f0, f0, f0 -/* 80856AE8 FC 01 00 32 */ fmul f0, f1, f0 -/* 80856AEC FC 03 00 28 */ fsub f0, f3, f0 -/* 80856AF0 FC 02 00 32 */ fmul f0, f2, f0 -/* 80856AF4 FC 21 00 32 */ fmul f1, f1, f0 -/* 80856AF8 FC 20 08 18 */ frsp f1, f1 -/* 80856AFC 48 00 00 88 */ b lbl_80856B84 -lbl_80856B00: -/* 80856B00 C8 1E 00 28 */ lfd f0, 0x28(r30) -/* 80856B04 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856B08 40 80 00 10 */ bge lbl_80856B18 -/* 80856B0C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80856B10 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -/* 80856B14 48 00 00 70 */ b lbl_80856B84 -lbl_80856B18: -/* 80856B18 D0 21 00 0C */ stfs f1, 0xc(r1) -/* 80856B1C 80 81 00 0C */ lwz r4, 0xc(r1) -/* 80856B20 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8 -/* 80856B24 3C 00 7F 80 */ lis r0, 0x7f80 -/* 80856B28 7C 03 00 00 */ cmpw r3, r0 -/* 80856B2C 41 82 00 14 */ beq lbl_80856B40 -/* 80856B30 40 80 00 40 */ bge lbl_80856B70 -/* 80856B34 2C 03 00 00 */ cmpwi r3, 0 -/* 80856B38 41 82 00 20 */ beq lbl_80856B58 -/* 80856B3C 48 00 00 34 */ b lbl_80856B70 -lbl_80856B40: -/* 80856B40 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856B44 41 82 00 0C */ beq lbl_80856B50 -/* 80856B48 38 00 00 01 */ li r0, 1 -/* 80856B4C 48 00 00 28 */ b lbl_80856B74 -lbl_80856B50: -/* 80856B50 38 00 00 02 */ li r0, 2 -/* 80856B54 48 00 00 20 */ b lbl_80856B74 -lbl_80856B58: -/* 80856B58 54 80 02 7F */ clrlwi. r0, r4, 9 -/* 80856B5C 41 82 00 0C */ beq lbl_80856B68 -/* 80856B60 38 00 00 05 */ li r0, 5 -/* 80856B64 48 00 00 10 */ b lbl_80856B74 -lbl_80856B68: -/* 80856B68 38 00 00 03 */ li r0, 3 -/* 80856B6C 48 00 00 08 */ b lbl_80856B74 -lbl_80856B70: -/* 80856B70 38 00 00 04 */ li r0, 4 -lbl_80856B74: -/* 80856B74 2C 00 00 01 */ cmpwi r0, 1 -/* 80856B78 40 82 00 0C */ bne lbl_80856B84 -/* 80856B7C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */ -/* 80856B80 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */ -lbl_80856B84: -/* 80856B84 C0 1E 00 08 */ lfs f0, 8(r30) -/* 80856B88 FC 17 00 40 */ fcmpo cr0, f23, f0 -/* 80856B8C 40 81 02 00 */ ble lbl_80856D8C -/* 80856B90 C0 1E 00 40 */ lfs f0, 0x40(r30) -/* 80856B94 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80856B98 40 80 01 F4 */ bge lbl_80856D8C -/* 80856B9C C0 3E 00 44 */ lfs f1, 0x44(r30) -/* 80856BA0 C0 1E 00 48 */ lfs f0, 0x48(r30) -/* 80856BA4 EC 00 05 B2 */ fmuls f0, f0, f22 -/* 80856BA8 EE A1 00 2A */ fadds f21, f1, f0 -/* 80856BAC FC 20 A8 90 */ fmr f1, f21 -/* 80856BB0 4B A1 0D DD */ bl cM_rndFX__Ff -/* 80856BB4 FC 00 08 1E */ fctiwz f0, f1 -/* 80856BB8 D8 01 00 B8 */ stfd f0, 0xb8(r1) -/* 80856BBC 80 61 00 BC */ lwz r3, 0xbc(r1) -/* 80856BC0 A8 01 00 0A */ lha r0, 0xa(r1) -/* 80856BC4 7C 00 1A 14 */ add r0, r0, r3 -/* 80856BC8 B0 01 00 28 */ sth r0, 0x28(r1) -/* 80856BCC FC 20 A8 90 */ fmr f1, f21 -/* 80856BD0 4B A1 0D BD */ bl cM_rndFX__Ff -/* 80856BD4 FC 00 08 1E */ fctiwz f0, f1 -/* 80856BD8 D8 01 00 C0 */ stfd f0, 0xc0(r1) -/* 80856BDC 80 61 00 C4 */ lwz r3, 0xc4(r1) -/* 80856BE0 A8 01 00 08 */ lha r0, 8(r1) -/* 80856BE4 7C 00 1A 14 */ add r0, r0, r3 -/* 80856BE8 B0 01 00 2A */ sth r0, 0x2a(r1) -/* 80856BEC 38 00 00 00 */ li r0, 0 -/* 80856BF0 B0 01 00 2C */ sth r0, 0x2c(r1) -/* 80856BF4 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80856BF8 4B A1 0D 5D */ bl cM_rndF__Ff -/* 80856BFC C0 1E 00 4C */ lfs f0, 0x4c(r30) -/* 80856C00 EC 20 00 72 */ fmuls f1, f0, f1 -/* 80856C04 C0 1E 00 34 */ lfs f0, 0x34(r30) -/* 80856C08 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856C0C D0 01 00 6C */ stfs f0, 0x6c(r1) -/* 80856C10 D0 01 00 70 */ stfs f0, 0x70(r1) -/* 80856C14 D0 01 00 74 */ stfs f0, 0x74(r1) -/* 80856C18 28 1A 00 00 */ cmplwi r26, 0 -/* 80856C1C 41 82 01 70 */ beq lbl_80856D8C -/* 80856C20 38 60 00 00 */ li r3, 0 -/* 80856C24 38 00 07 D0 */ li r0, 0x7d0 -/* 80856C28 7C 09 03 A6 */ mtctr r0 -lbl_80856C2C: -/* 80856C2C 3B 03 00 14 */ addi r24, r3, 0x14 -/* 80856C30 7F 1A C2 14 */ add r24, r26, r24 -/* 80856C34 88 18 00 00 */ lbz r0, 0(r24) -/* 80856C38 28 00 00 00 */ cmplwi r0, 0 -/* 80856C3C 40 82 01 48 */ bne lbl_80856D84 -/* 80856C40 88 1D 05 86 */ lbz r0, 0x586(r29) -/* 80856C44 28 00 00 03 */ cmplwi r0, 3 -/* 80856C48 41 82 00 18 */ beq lbl_80856C60 -/* 80856C4C 28 00 00 04 */ cmplwi r0, 4 -/* 80856C50 41 82 00 10 */ beq lbl_80856C60 -/* 80856C54 38 00 00 01 */ li r0, 1 -/* 80856C58 98 18 00 00 */ stb r0, 0(r24) -/* 80856C5C 48 00 00 0C */ b lbl_80856C68 -lbl_80856C60: -/* 80856C60 38 00 00 0B */ li r0, 0xb -/* 80856C64 98 18 00 00 */ stb r0, 0(r24) -lbl_80856C68: -/* 80856C68 C0 01 00 90 */ lfs f0, 0x90(r1) -/* 80856C6C D0 18 00 10 */ stfs f0, 0x10(r24) -/* 80856C70 C0 01 00 94 */ lfs f0, 0x94(r1) -/* 80856C74 D0 18 00 14 */ stfs f0, 0x14(r24) -/* 80856C78 C0 01 00 98 */ lfs f0, 0x98(r1) -/* 80856C7C D0 18 00 18 */ stfs f0, 0x18(r24) -/* 80856C80 C0 3E 00 50 */ lfs f1, 0x50(r30) -/* 80856C84 4B A1 0D 09 */ bl cM_rndFX__Ff -/* 80856C88 EC 36 00 72 */ fmuls f1, f22, f1 -/* 80856C8C C0 18 00 10 */ lfs f0, 0x10(r24) -/* 80856C90 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856C94 D0 18 00 10 */ stfs f0, 0x10(r24) -/* 80856C98 88 1D 05 86 */ lbz r0, 0x586(r29) -/* 80856C9C 28 00 00 03 */ cmplwi r0, 3 -/* 80856CA0 41 82 00 5C */ beq lbl_80856CFC -/* 80856CA4 28 00 00 04 */ cmplwi r0, 4 -/* 80856CA8 41 82 00 54 */ beq lbl_80856CFC -/* 80856CAC C0 3E 00 58 */ lfs f1, 0x58(r30) -/* 80856CB0 4B A1 0C A5 */ bl cM_rndF__Ff -/* 80856CB4 C0 1E 00 54 */ lfs f0, 0x54(r30) -/* 80856CB8 EC 00 05 B2 */ fmuls f0, f0, f22 -/* 80856CBC EC 20 08 2A */ fadds f1, f0, f1 -/* 80856CC0 C0 18 00 14 */ lfs f0, 0x14(r24) -/* 80856CC4 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856CC8 D0 18 00 14 */ stfs f0, 0x14(r24) -/* 80856CCC C0 3E 00 60 */ lfs f1, 0x60(r30) -/* 80856CD0 4B A1 0C 85 */ bl cM_rndF__Ff -/* 80856CD4 C0 1E 00 60 */ lfs f0, 0x60(r30) -/* 80856CD8 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856CDC EE B6 00 32 */ fmuls f21, f22, f0 -/* 80856CE0 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80856CE4 4B A1 0C 71 */ bl cM_rndF__Ff -/* 80856CE8 C0 1E 00 5C */ lfs f0, 0x5c(r30) -/* 80856CEC EC 00 08 2A */ fadds f0, f0, f1 -/* 80856CF0 EC 00 A8 2A */ fadds f0, f0, f21 -/* 80856CF4 D0 18 00 20 */ stfs f0, 0x20(r24) -/* 80856CF8 48 00 00 30 */ b lbl_80856D28 -lbl_80856CFC: -/* 80856CFC C0 3E 00 60 */ lfs f1, 0x60(r30) -/* 80856D00 4B A1 0C 55 */ bl cM_rndF__Ff -/* 80856D04 C0 1E 00 60 */ lfs f0, 0x60(r30) -/* 80856D08 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856D0C EE B6 00 32 */ fmuls f21, f22, f0 -/* 80856D10 C0 3E 00 10 */ lfs f1, 0x10(r30) -/* 80856D14 4B A1 0C 41 */ bl cM_rndF__Ff -/* 80856D18 C0 1E 00 64 */ lfs f0, 0x64(r30) -/* 80856D1C EC 00 08 2A */ fadds f0, f0, f1 -/* 80856D20 EC 00 A8 2A */ fadds f0, f0, f21 -/* 80856D24 D0 18 00 20 */ stfs f0, 0x20(r24) -lbl_80856D28: -/* 80856D28 C0 3E 00 50 */ lfs f1, 0x50(r30) -/* 80856D2C 4B A1 0C 61 */ bl cM_rndFX__Ff -/* 80856D30 EC 36 00 72 */ fmuls f1, f22, f1 -/* 80856D34 C0 18 00 18 */ lfs f0, 0x18(r24) -/* 80856D38 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856D3C D0 18 00 18 */ stfs f0, 0x18(r24) -/* 80856D40 A8 01 00 28 */ lha r0, 0x28(r1) -/* 80856D44 B0 18 00 1C */ sth r0, 0x1c(r24) -/* 80856D48 A8 01 00 2A */ lha r0, 0x2a(r1) -/* 80856D4C B0 18 00 1E */ sth r0, 0x1e(r24) -/* 80856D50 C0 3E 00 6C */ lfs f1, 0x6c(r30) -/* 80856D54 4B A1 0C 01 */ bl cM_rndF__Ff -/* 80856D58 C0 1E 00 70 */ lfs f0, 0x70(r30) -/* 80856D5C EC 00 08 2A */ fadds f0, f0, f1 -/* 80856D60 EE D6 00 32 */ fmuls f22, f22, f0 -/* 80856D64 C0 3E 00 6C */ lfs f1, 0x6c(r30) -/* 80856D68 4B A1 0B ED */ bl cM_rndF__Ff -/* 80856D6C C0 1E 00 68 */ lfs f0, 0x68(r30) -/* 80856D70 EC 00 08 2A */ fadds f0, f0, f1 -/* 80856D74 EC 00 B0 2A */ fadds f0, f0, f22 -/* 80856D78 D0 18 00 2C */ stfs f0, 0x2c(r24) -/* 80856D7C D2 F8 00 28 */ stfs f23, 0x28(r24) -/* 80856D80 48 00 00 0C */ b lbl_80856D8C -lbl_80856D84: -/* 80856D84 38 63 00 30 */ addi r3, r3, 0x30 -/* 80856D88 42 00 FE A4 */ bdnz lbl_80856C2C -lbl_80856D8C: -/* 80856D8C EF 39 D0 2A */ fadds f25, f25, f26 -lbl_80856D90: -/* 80856D90 FC 19 D8 40 */ fcmpo cr0, f25, f27 -/* 80856D94 4C 40 13 82 */ cror 2, 0, 2 -/* 80856D98 41 82 F9 1C */ beq lbl_808566B4 -/* 80856D9C 3B 39 00 01 */ addi r25, r25, 1 -lbl_80856DA0: -/* 80856DA0 80 61 00 20 */ lwz r3, 0x20(r1) -/* 80856DA4 7C 19 18 00 */ cmpw r25, r3 -/* 80856DA8 41 80 F7 90 */ blt lbl_80856538 -lbl_80856DAC: -/* 80856DAC 7F A3 EB 78 */ mr r3, r29 -/* 80856DB0 4B FF F4 D1 */ bl getSound_pos__FP10fopAc_ac_c -lbl_80856DB4: -/* 80856DB4 E3 E1 01 98 */ psq_l f31, 408(r1), 0, 0 /* qr0 */ -/* 80856DB8 CB E1 01 90 */ lfd f31, 0x190(r1) -/* 80856DBC E3 C1 01 88 */ psq_l f30, 392(r1), 0, 0 /* qr0 */ -/* 80856DC0 CB C1 01 80 */ lfd f30, 0x180(r1) -/* 80856DC4 E3 A1 01 78 */ psq_l f29, 376(r1), 0, 0 /* qr0 */ -/* 80856DC8 CB A1 01 70 */ lfd f29, 0x170(r1) -/* 80856DCC E3 81 01 68 */ psq_l f28, 360(r1), 0, 0 /* qr0 */ -/* 80856DD0 CB 81 01 60 */ lfd f28, 0x160(r1) -/* 80856DD4 E3 61 01 58 */ psq_l f27, 344(r1), 0, 0 /* qr0 */ -/* 80856DD8 CB 61 01 50 */ lfd f27, 0x150(r1) -/* 80856DDC E3 41 01 48 */ psq_l f26, 328(r1), 0, 0 /* qr0 */ -/* 80856DE0 CB 41 01 40 */ lfd f26, 0x140(r1) -/* 80856DE4 E3 21 01 38 */ psq_l f25, 312(r1), 0, 0 /* qr0 */ -/* 80856DE8 CB 21 01 30 */ lfd f25, 0x130(r1) -/* 80856DEC E3 01 01 28 */ psq_l f24, 296(r1), 0, 0 /* qr0 */ -/* 80856DF0 CB 01 01 20 */ lfd f24, 0x120(r1) -/* 80856DF4 E2 E1 01 18 */ psq_l f23, 280(r1), 0, 0 /* qr0 */ -/* 80856DF8 CA E1 01 10 */ lfd f23, 0x110(r1) -/* 80856DFC E2 C1 01 08 */ psq_l f22, 264(r1), 0, 0 /* qr0 */ -/* 80856E00 CA C1 01 00 */ lfd f22, 0x100(r1) -/* 80856E04 E2 A1 00 F8 */ psq_l f21, 248(r1), 0, 0 /* qr0 */ -/* 80856E08 CA A1 00 F0 */ lfd f21, 0xf0(r1) -/* 80856E0C 39 61 00 F0 */ addi r11, r1, 0xf0 -/* 80856E10 4B B0 B4 05 */ bl _restgpr_24 -/* 80856E14 80 01 01 A4 */ lwz r0, 0x1a4(r1) -/* 80856E18 7C 08 03 A6 */ mtlr r0 -/* 80856E1C 38 21 01 A0 */ addi r1, r1, 0x1a0 -/* 80856E20 4E 80 00 20 */ blr diff --git a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/set_path_info__FP10fopAc_ac_c.s b/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/set_path_info__FP10fopAc_ac_c.s deleted file mode 100644 index 97fee416357..00000000000 --- a/asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/set_path_info__FP10fopAc_ac_c.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80856238: -/* 80856238 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8085623C 7C 08 02 A6 */ mflr r0 -/* 80856240 90 01 00 14 */ stw r0, 0x14(r1) -/* 80856244 7C 65 1B 78 */ mr r5, r3 -/* 80856248 38 80 00 00 */ li r4, 0 -/* 8085624C 80 03 00 B0 */ lwz r0, 0xb0(r3) -/* 80856250 54 03 86 3E */ rlwinm r3, r0, 0x10, 0x18, 0x1f -/* 80856254 28 03 00 FF */ cmplwi r3, 0xff -/* 80856258 41 82 00 14 */ beq lbl_8085626C -/* 8085625C 88 05 04 E2 */ lbz r0, 0x4e2(r5) -/* 80856260 7C 04 07 74 */ extsb r4, r0 -/* 80856264 4B 7F B5 89 */ bl dPath_GetRoomPath__Fii -/* 80856268 7C 64 1B 78 */ mr r4, r3 -lbl_8085626C: -/* 8085626C 7C 83 23 78 */ mr r3, r4 -/* 80856270 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80856274 7C 08 03 A6 */ mtlr r0 -/* 80856278 38 21 00 10 */ addi r1, r1, 0x10 -/* 8085627C 4E 80 00 20 */ blr diff --git a/include/JSystem/JGeometry.h b/include/JSystem/JGeometry.h index bbdf2a0e2f1..9e920f4a1a2 100644 --- a/include/JSystem/JGeometry.h +++ b/include/JSystem/JGeometry.h @@ -45,6 +45,12 @@ template <> struct TVec3 { s16 x, y, z; + TVec3() {} + + TVec3(s16 x, s16 y, s16 z) { + set(x, y, z); + } + TVec3& operator=(const TVec3& b) { // Force copies to use lwz/lha *((s32*)this) = *((s32*)&b); diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index dacd87acef8..1d3ff569133 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -114,6 +114,7 @@ public: u8 getDrawTimes() const { return mDrawTimes; } void setRate(f32 rate) { mRate = rate; } void setDirectionalSpeed(f32 i_speed) { mDirSpeed = i_speed; } + void setRandomDirectionSpeed(f32 i_speed) { mRndmDirSpeed = i_speed; } void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; } void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); } void setGlobalSRTMatrix(const Mtx m) { @@ -129,6 +130,7 @@ public: void setGlobalRotation(const JGeometry::TVec3& rot) { JPAGetXYZRotateMtx(rot.x, rot.y, rot.z, mGlobalRot); } + void setGlobalDynamicsScale(const JGeometry::TVec3& i_scale) { mGlobalScl.set(i_scale); } void setGlobalAlpha(u8 alpha) { mGlobalPrmClr.a = alpha; } u8 getGlobalAlpha() { return mGlobalPrmClr.a; } void getGlobalPrmColor(GXColor& color) { color = mGlobalPrmClr; } diff --git a/include/d/kankyo/d_kankyo_wether.h b/include/d/kankyo/d_kankyo_wether.h index 42e8a5b9820..a0cf10e2350 100644 --- a/include/d/kankyo/d_kankyo_wether.h +++ b/include/d/kankyo/d_kankyo_wether.h @@ -268,7 +268,9 @@ struct EF_ODOUR_EFF { /* 0x00 */ u8 mStatus; /* 0x04 */ cXyz mPosition; /* 0x10 */ cXyz mBasePos; - /* 0x1C */ u8 field_0x1c[0x24 - 0x1C]; + /* 0x1C */ s16 field_0x1c; + /* 0x1E */ s16 field_0x1e; + /* 0x20 */ f32 field_0x20; /* 0x24 */ f32 field_0x24; /* 0x28 */ f32 field_0x28; /* 0x2C */ f32 field_0x2c; @@ -281,7 +283,8 @@ public: /* 0x00010 */ u8* mpResTex; /* 0x00014 */ EF_ODOUR_EFF mOdourEff[2000]; - /* 0x17714 */ u8 field_0x17714[0x14]; + /* 0x17714 */ cXyz field_0x17714; + /* 0x17720 */ u8 field_0x17720[0x17728 - 0x17720]; }; // Size: 0x17728 struct EF_MUD_EFF { diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index 04acba7d4fe..4f9398c51b7 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -218,6 +218,10 @@ inline void mDoAud_mEnvse_registWindowPos(const Vec* i_pos) { g_mEnvSeMgr.registWindowPos((Vec*)i_pos); } +inline void mDoAud_mEnvse_registWolfSmellSePos(const Vec* i_pos) { + g_mEnvSeMgr.registWolfSmellSePos((Vec*)i_pos); +} + inline void mDoAud_initLv3WaterSe(u8 param_0, u8 param_1, u8 param_2, u8 param_3) { g_mEnvSeMgr.initLv3WaterSe(param_0, param_1, param_2, param_3); } diff --git a/include/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h b/include/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h index bb08e7d5240..c3822aec003 100644 --- a/include/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h +++ b/include/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h @@ -2,6 +2,7 @@ #define D_A_KYTAG03_H #include "f_op/f_op_actor_mng.h" +#include "d/d_path.h" class kytag03_class : public fopAc_ac_c { public: diff --git a/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp b/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp index bf9a9410a31..dd8a65940a8 100644 --- a/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp +++ b/rel/d/a/kytag/d_a_kytag03/d_a_kytag03.cpp @@ -1,582 +1,491 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_kytag03 -// +/** + * d_a_kytag03.cpp + * Odor generation tag / rail + */ -// #include "rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h" -#include "dolphin/types.h" -#include "dol2asm.h" - -// -// Types: -// - -struct kytag03_class {}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -struct dPath {}; - -struct dPa_levelEcallBack {}; - -struct dKy_tevstr_c {}; - -struct csXyz {}; - -struct _GXColor {}; - -struct cXyz {}; - -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 dCamera_c { - /* 80181E64 */ void Eye(); -}; - -struct Vec {}; - -struct cM3dGLin { - /* 8026F31C */ void SetStartEnd(Vec const&, Vec const&); - /* 808560DC */ ~cM3dGLin(); -}; - -struct Z2EnvSeMgr { - /* 802C92C8 */ void registWolfSmellSePos(Vec*); -}; - -struct JPABaseEmitter { - /* 8027EC60 */ void deleteAllParticle(); -}; - -// -// Forward References: -// - -extern "C" static void dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath(); -extern "C" void __dt__8cM3dGLinFv(); -extern "C" static void get_rail_ratio_pos__FP5dPathifPsPs(); -extern "C" static void set_path_info__FP10fopAc_ac_c(); -extern "C" static void getSound_pos__FP10fopAc_ac_c(); -extern "C" static void get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi(); -extern "C" static void get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi(); -extern "C" static void odour_move__FP13kytag03_class(); -extern "C" static bool daKytag03_Draw__FP13kytag03_class(); -extern "C" static void daKytag03_Execute__FP13kytag03_class(); -extern "C" static bool daKytag03_IsDelete__FP13kytag03_class(); -extern "C" static void daKytag03_Delete__FP13kytag03_class(); -extern "C" static void daKytag03_Create__FP10fopAc_ac_c(); - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fpcLyIt_AllJudge__FPFPvPv_PvPv(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void dPath_GetNextRoomPath__FPC5dPathi(); -extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz(); -extern "C" void Eye__9dCamera_cFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndF__Ff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf(); -extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void deleteAllParticle__14JPABaseEmitterFv(); -extern "C" void JPAGetXYZRotateMtx__FsssPA4_f(); -extern "C" void registWolfSmellSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void __dl__FPv(); -extern "C" void PSVECSquareDistance(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 g_mEnvSeMgr[780]; -extern "C" extern u8 g_Counter[12 + 4 /* padding */]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_max; -extern "C" extern u8 mStayNo__20dStage_roomControl_c[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80857650-80857658 000000 0008+00 4/4 0/0 0/0 .rodata @3770 */ -SECTION_RODATA static u8 const lit_3770[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80857650, &lit_3770); - -/* 80857708-80857728 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag03_Method */ -SECTION_DATA static void* l_daKytag03_Method[8] = { - (void*)daKytag03_Create__FP10fopAc_ac_c, - (void*)daKytag03_Delete__FP13kytag03_class, - (void*)daKytag03_Execute__FP13kytag03_class, - (void*)daKytag03_IsDelete__FP13kytag03_class, - (void*)daKytag03_Draw__FP13kytag03_class, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80857728-80857758 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG03 */ -SECTION_DATA extern void* g_profile_KYTAG03[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02AD0000, (void*)&g_fpcLf_Method, - (void*)0x00000590, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x00610000, (void*)&l_daKytag03_Method, - (void*)0x00044000, (void*)NULL, -}; - -/* 80857758-80857764 000050 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGLin */ -SECTION_DATA extern void* __vt__8cM3dGLin[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGLinFv, -}; +#include "rel/d/a/kytag/d_a_kytag03/d_a_kytag03.h" +#include "SSystem/SComponent/c_counter.h" +#include "SSystem/SComponent/c_math.h" +#include "Z2AudioLib/Z2EnvSeMgr.h" +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/kankyo/d_kankyo_rain.h" /* 80855ED8-808560DC 000078 0204+00 1/1 0/0 0/0 .text dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dEnvSe_getNearPathPos(cXyz* param_0, cXyz* param_1, dPath* param_2) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s" -} -#pragma pop +static void dEnvSe_getNearPathPos(cXyz* param_0, cXyz* param_1, dPath* i_path) { + int var_r31 = 0; + BOOL sp10[2] = {0, 0}; + f32 sp8; -/* 808560DC-80856124 00027C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGLinFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cM3dGLin::~cM3dGLin() { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/__dt__8cM3dGLinFv.s" -} -#pragma pop + f32 var_f31 = FLT_MAX; -/* ############################################################################################## */ -/* 80857658-8085765C 000008 0004+00 1/4 0/0 0/0 .rodata @3870 */ -SECTION_RODATA static u8 const lit_3870[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80857658, &lit_3870); + int i; + dStage_dPnt_c* point_p = i_path->m_points; + + cXyz sp3C[2]; + cM3dGLin sp14; + + for (i = 0; i < i_path->m_num; i++) { + sp8 = cM3d_LenSq(param_1, &point_p->m_position); + if (var_f31 > sp8) { + var_f31 = sp8; + var_r31 = i; + } + + point_p++; + } + + point_p = &i_path->m_points[var_r31]; + if (var_r31 != 0) { + sp14.set(point_p[-1].m_position, point_p[0].m_position); + sp10[0] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp3C[0], &sp8); + } + + if (var_r31 != i_path->m_num - 1) { + sp14.set(point_p[0].m_position, point_p[1].m_position); + sp10[1] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp3C[1], &sp8); + } + + if (sp10[0]) { + if (sp10[1]) { + if (cM3d_LenSq(&sp3C[1], param_1) > sp8) { + *param_0 = sp3C[0]; + } else { + *param_0 = sp3C[1]; + } + } else { + *param_0 = sp3C[0]; + } + } else if (sp10[1]) { + *param_0 = sp3C[1]; + } else { + param_0->set(point_p[0].m_position); + } +} /* 80856124-80856238 0002C4 0114+00 1/1 0/0 0/0 .text get_rail_ratio_pos__FP5dPathifPsPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void get_rail_ratio_pos(dPath* param_0, int param_1, f32 param_2, s16* param_3, - s16* param_4) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_rail_ratio_pos__FP5dPathifPsPs.s" +static cXyz get_rail_ratio_pos(dPath* i_path, int i_pointIdx, f32 param_2, s16* param_3, + s16* param_4) { + cXyz point_a; + cXyz point_b; + cXyz ret; + cXyz calc_vec; + + point_a.x = i_path->m_points[i_pointIdx].m_position.x; + point_a.y = i_path->m_points[i_pointIdx].m_position.y; + point_a.z = i_path->m_points[i_pointIdx].m_position.z; + + point_b.x = i_path->m_points[i_pointIdx + 1].m_position.x; + point_b.y = i_path->m_points[i_pointIdx + 1].m_position.y; + point_b.z = i_path->m_points[i_pointIdx + 1].m_position.z; + + ret.x = point_a.x + param_2 * (point_b.x - point_a.x); + ret.y = point_a.y + param_2 * (point_b.y - point_a.y); + ret.z = point_a.z + param_2 * (point_b.z - point_a.z); + + dKyr_get_vectle_calc(&point_a, &point_b, &calc_vec); + + *param_3 = + cM_atan2s(JMAFastSqrt(calc_vec.x * calc_vec.x + calc_vec.z * calc_vec.z), calc_vec.y); + *param_4 = cM_atan2s(calc_vec.x, calc_vec.z); + + return ret; } -#pragma pop /* 80856238-80856280 0003D8 0048+00 1/1 0/0 0/0 .text set_path_info__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void set_path_info(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/set_path_info__FP10fopAc_ac_c.s" +static dPath* set_path_info(fopAc_ac_c* i_actor) { + dPath* path_p = NULL; + u8 path_id = fopAcM_GetParam(i_actor) >> 0x10; + + if (path_id != 0xFF) { + path_p = dPath_GetRoomPath(path_id, fopAcM_GetRoomNo(i_actor)); + } + + return path_p; } -#pragma pop /* 80856280-80856354 000420 00D4+00 1/1 0/0 0/0 .text getSound_pos__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void getSound_pos(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/getSound_pos__FP10fopAc_ac_c.s" +static void getSound_pos(fopAc_ac_c* i_actor) { + camera_class* camera = dComIfGp_getCamera(dComIfGp_getPlayerCameraID(0)); + cXyz eye = camera->mCamera.Eye(); + cXyz sp28; + + u8 path_id = fopAcM_GetParam(i_actor) >> 0x10; + if (path_id != 0xFF) { + for (dPath* path = dPath_GetRoomPath(path_id, fopAcM_GetRoomNo(i_actor)); path != NULL; + path = dPath_GetNextRoomPath(path, fopAcM_GetRoomNo(i_actor))) + { + dEnvSe_getNearPathPos(&sp28, &eye, path); + mDoAud_mEnvse_registWolfSmellSePos(&sp28); + } + } } -#pragma pop /* 80856354-80856364 0004F4 0010+00 1/1 0/0 0/0 .text * get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void get_Extent_pos_start_get(kytag03_class* param_0, dPath* param_1, cXyz* param_2, - f32 param_3, int* param_4) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_start_get__FP13kytag03_classP5dPathP4cXyzfPi.s" +static dPath* get_Extent_pos_start_get(kytag03_class* i_this, dPath* i_path, cXyz*, f32, + int* param_4) { + *param_4 = 0; + return i_path; } -#pragma pop /* 80856364-80856378 000504 0014+00 1/1 0/0 0/0 .text * get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void get_Extent_pos_end_get(kytag03_class* param_0, dPath* param_1, cXyz* param_2, - f32 param_3, int* param_4) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/get_Extent_pos_end_get__FP13kytag03_classP5dPathP4cXyzfPi.s" +static dPath* get_Extent_pos_end_get(kytag03_class* i_this, dPath* i_path, cXyz*, f32, + int* param_4) { + *param_4 = i_path->m_num - 1; + return i_path; } -#pragma pop - -/* ############################################################################################## */ -/* 8085765C-80857660 00000C 0004+00 0/1 0/0 0/0 .rodata @4218 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4218 = 1000.0f; -COMPILER_STRIP_GATE(0x8085765C, &lit_4218); -#pragma pop - -/* 80857660-80857668 000010 0004+04 0/3 0/0 0/0 .rodata @4219 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4219[1 + 1 /* padding */] = { - 1.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80857660, &lit_4219); -#pragma pop - -/* 80857668-80857670 000018 0008+00 0/2 0/0 0/0 .rodata @4220 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4220[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80857668, &lit_4220); -#pragma pop - -/* 80857670-80857678 000020 0008+00 0/2 0/0 0/0 .rodata @4221 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4221[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80857670, &lit_4221); -#pragma pop - -/* 80857678-80857680 000028 0008+00 0/2 0/0 0/0 .rodata @4222 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4222[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80857678, &lit_4222); -#pragma pop - -/* 80857680-80857684 000030 0004+00 0/1 0/0 0/0 .rodata @4223 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4223 = 55.0f; -COMPILER_STRIP_GATE(0x80857680, &lit_4223); -#pragma pop - -/* 80857684-80857688 000034 0004+00 0/2 0/0 0/0 .rodata @4224 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4224 = 1.5f; -COMPILER_STRIP_GATE(0x80857684, &lit_4224); -#pragma pop - -/* 80857688-8085768C 000038 0004+00 0/1 0/0 0/0 .rodata @4225 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4225 = 16.0f; -COMPILER_STRIP_GATE(0x80857688, &lit_4225); -#pragma pop - -/* 8085768C-80857690 00003C 0004+00 0/1 0/0 0/0 .rodata @4226 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4226 = 5000.0f; -COMPILER_STRIP_GATE(0x8085768C, &lit_4226); -#pragma pop - -/* 80857690-80857694 000040 0004+00 0/1 0/0 0/0 .rodata @4227 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4227 = 4000.0f; -COMPILER_STRIP_GATE(0x80857690, &lit_4227); -#pragma pop - -/* 80857694-80857698 000044 0004+00 0/1 0/0 0/0 .rodata @4228 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4228 = 2000.0f; -COMPILER_STRIP_GATE(0x80857694, &lit_4228); -#pragma pop - -/* 80857698-8085769C 000048 0004+00 0/1 0/0 0/0 .rodata @4229 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4229 = 3000.0f; -COMPILER_STRIP_GATE(0x80857698, &lit_4229); -#pragma pop - -/* 8085769C-808576A0 00004C 0004+00 0/2 0/0 0/0 .rodata @4230 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4230 = 0.5f; -COMPILER_STRIP_GATE(0x8085769C, &lit_4230); -#pragma pop - -/* 808576A0-808576A4 000050 0004+00 0/2 0/0 0/0 .rodata @4231 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4231 = 50.0f; -COMPILER_STRIP_GATE(0x808576A0, &lit_4231); -#pragma pop - -/* 808576A4-808576A8 000054 0004+00 0/1 0/0 0/0 .rodata @4232 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4232 = 200.0f; -COMPILER_STRIP_GATE(0x808576A4, &lit_4232); -#pragma pop - -/* 808576A8-808576AC 000058 0004+00 0/1 0/0 0/0 .rodata @4233 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4233 = 40.0f; -COMPILER_STRIP_GATE(0x808576A8, &lit_4233); -#pragma pop - -/* 808576AC-808576B0 00005C 0004+00 0/1 0/0 0/0 .rodata @4234 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4234 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x808576AC, &lit_4234); -#pragma pop - -/* 808576B0-808576B4 000060 0004+00 0/1 0/0 0/0 .rodata @4235 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4235 = 2.0f; -COMPILER_STRIP_GATE(0x808576B0, &lit_4235); -#pragma pop - -/* 808576B4-808576B8 000064 0004+00 0/1 0/0 0/0 .rodata @4236 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4236 = 14.0f / 5.0f; -COMPILER_STRIP_GATE(0x808576B4, &lit_4236); -#pragma pop - -/* 808576B8-808576BC 000068 0004+00 0/1 0/0 0/0 .rodata @4237 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4237 = 45.0f; -COMPILER_STRIP_GATE(0x808576B8, &lit_4237); -#pragma pop - -/* 808576BC-808576C0 00006C 0004+00 0/1 0/0 0/0 .rodata @4238 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4238 = 20.0f; -COMPILER_STRIP_GATE(0x808576BC, &lit_4238); -#pragma pop - -/* 808576C0-808576C4 000070 0004+00 0/1 0/0 0/0 .rodata @4239 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4239 = 100.0f; -COMPILER_STRIP_GATE(0x808576C0, &lit_4239); -#pragma pop /* 80856378-80856E24 000518 0AAC+00 1/1 0/0 0/0 .text odour_move__FP13kytag03_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void odour_move(kytag03_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/odour_move__FP13kytag03_class.s" +static void odour_move(kytag03_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; + camera_class* camera = (camera_class*)dComIfGp_getCamera(0); + + cXyz sp7C; + cXyz sp88; + + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + + dPath* var_r27; + dKankyo_odour_Packet* packet = kankyo->mpOdourPacket; + dPath* var_r25; + + cXyz sp94; + cXyz spA0; + cXyz spAC; + + if (i_this->field_0x585 == dComIfGs_getCollectSmell()) { + if (i_this->field_0x58e != 0xFF) { + s32 room_no = dComIfGp_roomControl_getStayNo(); + if (dComIfGs_isSwitch(i_this->field_0x58e, room_no)) { + return; + } + } + + dPath* path = i_this->mpPath; + if (path != NULL) { + int sp40; + int sp38; + var_r27 = get_Extent_pos_start_get(i_this, path, &camera->mLookat.mEye, 1000.0f, &sp40); + var_r25 = get_Extent_pos_end_get(i_this, path, &camera->mLookat.mEye, 1000.0f, &sp38); + + s16 spA; + s16 sp8; + sp7C = get_rail_ratio_pos(var_r27, 0, 0.0f, &spA, &sp8); + sp88 = get_rail_ratio_pos(var_r25, sp38 - 1, 1.0f, &spA, &sp8); + + if (packet != NULL) { + packet->field_0x17714 = sp7C; + } + + for (int i = sp40; i < sp38; i++) { + if (sp40 != sp38 && i == sp38) { + break; + } + + spA0 = get_rail_ratio_pos(var_r27, i, 0.0f, &spA, &sp8); + spAC = get_rail_ratio_pos(var_r27, i, 1.0f, &spA, &sp8); + + f32 temp_f26 = 55.0f / spA0.abs(spAC); + for (f32 var_f25 = 0.0f; var_f25 <= 1.0f - (temp_f26 * 1.5f); var_f25 += temp_f26) { + if ((g_Counter.mCounter0 & 15) == ((int)(var_f25 * 16.0f) & 15)) { + sp94 = get_rail_ratio_pos(var_r27, i, var_f25, &spA, &sp8); + + f32 var_f23 = sp7C.abs(sp94); + f32 temp_f1_2 = sp7C.abs(sp88); + if (temp_f1_2 > 0.0f) { + var_f23 = 1.0f - (var_f23 / temp_f1_2); + } + + if (var_f23 < 0.0f) { + var_f23 = 0.0f; + } else if (var_f23 >= 1.0f) { + var_f23 = 1.0f; + } + + if (i_this->field_0x586 == 1 || i_this->field_0x586 == 3) { + var_f23 = 1.0f; + } else if (i_this->field_0x586 == 2 || i_this->field_0x586 == 4) { + var_f23 = sp94.abs(sp88) / 5000.0f; + + if (var_f23 < 0.0f) { + var_f23 = 0.0f; + } else if (var_f23 >= 1.0f) { + var_f23 = 1.0f; + } + } + + f32 temp_f22 = (1.0f - var_f23); + temp_f22 *= temp_f22; + var_f23 *= i_this->field_0x57c; + + f32 var_f1_4 = camera->mLookat.mEye.abs(sp94); + if (var_f23 > 0.0f && var_f1_4 < 4000.0f) { + csXyz spFC; + cXyz spB8; + + spFC.x = spA + (s16)cM_rndFX(temp_f22 * 3000.0f + 2000.0f); + spFC.y = sp8 + (s16)cM_rndFX(temp_f22 * 3000.0f + 2000.0f); + spFC.z = 0; + + f32 temp_f0_16 = (cM_rndF(1.0f) * 0.5f) + 1.5f; + spB8.x = temp_f0_16; + spB8.y = temp_f0_16; + spB8.z = temp_f0_16; + + if (packet != NULL) { + int j; + for (j = 0; j < 2000; j++) { + EF_ODOUR_EFF* effect = &packet->mOdourEff[j]; + + if (effect->mStatus == 0) { + if (i_this->field_0x586 != 3 && i_this->field_0x586 != 4) { + effect->mStatus = 1; + } else { + effect->mStatus = 11; + } + + effect->mBasePos = sp94; + effect->mBasePos.x += temp_f22 * cM_rndFX(50.0f); + + if (i_this->field_0x586 != 3 && i_this->field_0x586 != 4) { + effect->mBasePos.y += + temp_f22 * 200.0f + cM_rndF(40.0f); + effect->field_0x20 = cM_rndF(1.0f) + 0.8f + + temp_f22 * (cM_rndF(2.0f) + 2.0f); + } else { + effect->field_0x20 = cM_rndF(1.0f) + 2.8f + + temp_f22 * (cM_rndF(2.0f) + 2.0f); + } + + effect->mBasePos.z += temp_f22 * cM_rndFX(50.0f); + effect->field_0x1c = spFC.x; + effect->field_0x1e = spFC.y; + + effect->field_0x2c = cM_rndF(20.0f) + 45.0f + + temp_f22 * (cM_rndF(20.0f) + 100.0f); + effect->field_0x28 = var_f23; + break; + } + } + + if (j == 2000) { + // "\nThere is no free space on the smell rail!" + OS_REPORT("\n臭いレールで臭いの空きがありませんでした!"); + } + } + } + } + } + } + getSound_pos(a_this); + } + } } -#pragma pop /* 80856E24-80856E2C 000FC4 0008+00 1/0 0/0 0/0 .text daKytag03_Draw__FP13kytag03_class */ -static bool daKytag03_Draw(kytag03_class* param_0) { - return true; +static int daKytag03_Draw(kytag03_class* i_this) { + return 1; } -/* ############################################################################################## */ -/* 808576C4-808576C8 000074 0004+00 0/1 0/0 0/0 .rodata @4485 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4485 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x808576C4, &lit_4485); -#pragma pop - -/* 808576C8-808576CC 000078 0004+00 0/1 0/0 0/0 .rodata @4486 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4486 = 1.0f / 40.0f; -COMPILER_STRIP_GATE(0x808576C8, &lit_4486); -#pragma pop - -/* 808576CC-808576D0 00007C 0004+00 0/1 0/0 0/0 .rodata @4487 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4487 = 0x358637BD; -COMPILER_STRIP_GATE(0x808576CC, &lit_4487); -#pragma pop - -/* 808576D0-808576D4 000080 0004+00 0/1 0/0 0/0 .rodata @4488 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4488 = 7425.0f; -COMPILER_STRIP_GATE(0x808576D0, &lit_4488); -#pragma pop - -/* 808576D4-808576D8 000084 0004+00 0/1 0/0 0/0 .rodata @4489 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4489 = 30.0f; -COMPILER_STRIP_GATE(0x808576D4, &lit_4489); -#pragma pop - -/* 808576D8-808576DC 000088 0004+00 0/1 0/0 0/0 .rodata @4490 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4490 = 3.0f; -COMPILER_STRIP_GATE(0x808576D8, &lit_4490); -#pragma pop - -/* 808576DC-808576E0 00008C 0004+00 0/1 0/0 0/0 .rodata @4491 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4491 = 4.0f; -COMPILER_STRIP_GATE(0x808576DC, &lit_4491); -#pragma pop - -/* 808576E0-808576E4 000090 0004+00 0/1 0/0 0/0 .rodata @4492 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4492 = 2.5f; -COMPILER_STRIP_GATE(0x808576E0, &lit_4492); -#pragma pop - -/* 808576E4-808576E8 000094 0004+00 0/1 0/0 0/0 .rodata @4493 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4493 = 11.0f / 5.0f; -COMPILER_STRIP_GATE(0x808576E4, &lit_4493); -#pragma pop - -/* 808576E8-808576EC 000098 0004+00 0/1 0/0 0/0 .rodata @4494 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4494 = 0.75f; -COMPILER_STRIP_GATE(0x808576E8, &lit_4494); -#pragma pop - -/* 808576EC-808576F0 00009C 0004+00 0/1 0/0 0/0 .rodata @4495 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4495 = 32.0f; -COMPILER_STRIP_GATE(0x808576EC, &lit_4495); -#pragma pop - -/* 808576F0-808576F4 0000A0 0004+00 0/1 0/0 0/0 .rodata @4496 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4496 = 223.0f; -COMPILER_STRIP_GATE(0x808576F0, &lit_4496); -#pragma pop - -/* 80857768-8085776C -00001 0004+00 1/1 0/0 0/0 .bss None */ -/* 80857768 0002+00 data_80857768 S_ang_y_work$4270 */ -/* 8085776A 0002+00 data_8085776A None */ -static u8 struct_80857768[4]; - /* 80856E2C-808573F4 000FCC 05C8+00 1/0 0/0 0/0 .text daKytag03_Execute__FP13kytag03_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag03_Execute(kytag03_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Execute__FP13kytag03_class.s" +static int daKytag03_Execute(kytag03_class* i_this) { + fopAc_ac_c* a_this = (fopAc_ac_c*)i_this; + dScnKy_env_light_c* kankyo = dKy_getEnvlight(); + fopAc_ac_c* player = dComIfGp_getPlayer(0); + BOOL var_r28 = false; + + a_this->attention_info.position = a_this->current.pos; + + if (!i_this->field_0x584) { + odour_move(i_this); + } else { + cLib_addCalc(&i_this->field_0x578, 1.0f, 0.1f, 0.025f, 0.000001f); + + if (i_this->field_0x585 == 0xB5) { + fopAc_ac_c* actor = (fopAc_ac_c*)fpcM_SearchByName(PROC_Obj_Movebox); + if (actor != NULL && actor->current.pos.x < 7425.0f) { + i_this->field_0x578 = 0.0f; + var_r28 = true; + } + } + + if (i_this->mpEmitter != NULL) { + static s16 S_ang_y_work = 0; + + cXyz sp2C; + i_this->mpEmitter->setGlobalTranslation( + a_this->current.pos.x, a_this->current.pos.y + 30.0f, a_this->current.pos.z); + + sp2C.x = 3.0f; + sp2C.y = 4.0f; + sp2C.z = 3.0f; + i_this->mpEmitter->setGlobalScale(sp2C); + + JGeometry::TVec3 rot(4000, S_ang_y_work, 1500); + S_ang_y_work += 100; + + i_this->mpEmitter->setGlobalRotation(rot); + i_this->mpEmitter->setRate(0.5f); + i_this->mpEmitter->setDirectionalSpeed(2.5f); + i_this->mpEmitter->setRandomDirectionSpeed(1.5f); + + sp2C.x = i_this->field_0x578 * 2.2f; + sp2C.y = i_this->field_0x578 * 0.75f; + sp2C.z = i_this->field_0x578 * 2.2f; + i_this->mpEmitter->setGlobalDynamicsScale(sp2C); + + if (i_this->field_0x585 == 0xB0) { + i_this->mpEmitter->setGlobalPrmColor(0xFF, 0xFF, 0xFF); + i_this->mpEmitter->setGlobalEnvColor(0xFF, 0x78, 0xA8); + } else if (i_this->field_0x585 == 0xB3) { + i_this->mpEmitter->setGlobalPrmColor(0xFF, 0xA1, 0x3B); + i_this->mpEmitter->setGlobalEnvColor(0xD6, 0x60, 0x32); + } else if (i_this->field_0x585 == 0xB4) { + i_this->mpEmitter->setGlobalPrmColor(0xFF, 0xDB, 0xFF); + i_this->mpEmitter->setGlobalEnvColor(0xE4, 0xAC, 0x52); + } else if (i_this->field_0x585 == 0xB5) { + i_this->mpEmitter->setGlobalPrmColor(0xD5, 0xCE, 0xA7); + i_this->mpEmitter->setGlobalEnvColor(0x55, 0x78, 0x27); + + JGeometry::TVec3 rot(4000, 0, 1500); + i_this->mpEmitter->setGlobalRotation(rot); + i_this->mpEmitter->setRandomDirectionSpeed(1.0f); + + sp2C.x = i_this->field_0x578 * 2.2f; + sp2C.y = i_this->field_0x578 * 1.5f; + sp2C.z = i_this->field_0x578 * 2.2f; + i_this->mpEmitter->setGlobalDynamicsScale(sp2C); + } else if (i_this->field_0x585 == 0xB2) { + i_this->mpEmitter->setGlobalPrmColor(0xFF, 0xC8, 0xFF); + i_this->mpEmitter->setGlobalEnvColor(0x44, 0x1A, 0x6B); + } + + i_this->mpEmitter->setGlobalAlpha(kankyo->field_0xf40 * 223.0f + 32.0f); + } + + if (i_this->field_0x585 != dComIfGs_getCollectSmell()) { + i_this->field_0x589 = i_this->field_0x585; + + if (i_this->field_0x587 == 0) { + if (player->current.pos.abs(a_this->current.pos) < i_this->field_0x574 && + daPy_py_c::i_checkNowWolf() && !var_r28) + { + i_this->attention_info.field_0x0[7] = 0x3D; + a_this->attention_info.flags |= 0x80; + } else { + a_this->attention_info.flags &= ~0x80; + } + + if (i_this->field_0x588 == 1) { + a_this->attention_info.flags &= ~0x80; + i_this->field_0x587 = 1; + i_this->field_0x58a = 30; + } + } else if (i_this->field_0x587 == 1) { + if (i_this->field_0x58a != 0) { + i_this->field_0x58a--; + } else { + i_this->field_0x588 = 2; + i_this->field_0x587 = 2; + } + } else if (i_this->field_0x588 == 0) { + i_this->field_0x587 = 0; + } + } else { + a_this->attention_info.flags &= ~0x80; + } + } + + return 1; } -#pragma pop /* 808573F4-808573FC 001594 0008+00 1/0 0/0 0/0 .text daKytag03_IsDelete__FP13kytag03_class */ -static bool daKytag03_IsDelete(kytag03_class* param_0) { - return true; +static int daKytag03_IsDelete(kytag03_class* i_this) { + return 1; } /* 808573FC-80857470 00159C 0074+00 1/0 0/0 0/0 .text daKytag03_Delete__FP13kytag03_class */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag03_Delete(kytag03_class* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Delete__FP13kytag03_class.s" +static int daKytag03_Delete(kytag03_class* i_this) { + if (i_this->mpEmitter != NULL) { + i_this->mpEmitter->deleteAllParticle(); + i_this->mpEmitter->becomeInvalidEmitter(); + i_this->mpEmitter->quitImmortalEmitter(); + i_this->mpEmitter->setEmitterCallBackPtr(NULL); + i_this->mpEmitter = NULL; + } + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 808576F4-808576F8 0000A4 0004+00 0/1 0/0 0/0 .rodata @4572 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4572 = 255.0f; -COMPILER_STRIP_GATE(0x808576F4, &lit_4572); -#pragma pop - -/* 808576F8-80857700 0000A8 0004+04 0/1 0/0 0/0 .rodata @4573 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4573[1 + 1 /* padding */] = { - 300.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x808576F8, &lit_4573); -#pragma pop - -/* 80857700-80857708 0000B0 0008+00 0/1 0/0 0/0 .rodata @4575 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4575[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80857700, &lit_4575); -#pragma pop /* 80857470-80857648 001610 01D8+00 1/0 0/0 0/0 .text daKytag03_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daKytag03_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/kytag/d_a_kytag03/d_a_kytag03/daKytag03_Create__FP10fopAc_ac_c.s" +static int daKytag03_Create(fopAc_ac_c* i_this) { + kytag03_class* a_this = (kytag03_class*)i_this; + fopAcM_SetupActor(i_this, kytag03_class); + + a_this->field_0x584 = (fopAcM_GetParam(i_this) >> 0x18) & 3; + a_this->field_0x585 = fopAcM_GetParam(i_this); + a_this->field_0x586 = fopAcM_GetParam(i_this) >> 8; + a_this->mpEmitter = NULL; + a_this->field_0x588 = 0; + a_this->field_0x58a = 0; + a_this->field_0x587 = 0; + a_this->field_0x578 = 1.0f; + a_this->field_0x57c = (f32)(u8)((i_this->current.angle.x >> 8) & 0xFF) / 255.0f; + + if (i_this->scale.x > 1.0f) { + a_this->field_0x574 = i_this->scale.x * 50.0f; + } else { + a_this->field_0x574 = 300.0f; + } + + a_this->field_0x58e = i_this->current.angle.x & 0xFF; + + if (a_this->field_0x584 == 0) { + a_this->mpPath = set_path_info(i_this); + a_this->field_0x570 = 0.0f; + a_this->field_0x580 = 0; + g_env_light.field_0xf21 = 1; + } else { + if (a_this->field_0x585 == 0xFF) { + return cPhs_UNK3_e; + } + + a_this->mpEmitter = dComIfGp_particle_set(0x84ED, &i_this->current.pos, NULL, NULL); + if (a_this->mpEmitter != NULL) { + a_this->mpEmitter->setGlobalEnvColor(0x64, 0xBD, 0x73); + a_this->mpEmitter->setGlobalPrmColor(0x83, 0xF3, 0x68); + } + } + + return cPhs_COMPLEATE_e; } -#pragma pop + +/* 80857708-80857728 -00001 0020+00 1/0 0/0 0/0 .data l_daKytag03_Method */ +static actor_method_class l_daKytag03_Method = { + (process_method_func)daKytag03_Create, (process_method_func)daKytag03_Delete, + (process_method_func)daKytag03_Execute, (process_method_func)daKytag03_IsDelete, + (process_method_func)daKytag03_Draw, +}; + +/* 80857728-80857758 -00001 0030+00 0/0 0/0 1/0 .data g_profile_KYTAG03 */ +extern actor_process_profile_definition g_profile_KYTAG03 = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_KYTAG03, + &g_fpcLf_Method.mBase, + sizeof(kytag03_class), + 0, + 0, + &g_fopAc_Method.base, + 97, + &l_daKytag03_Method, + 0x44000, + fopAc_ACTOR_e, + fopAc_CULLBOX_0_e, +}; diff --git a/src/d/d_envse.cpp b/src/d/d_envse.cpp index becd3cfbe49..afe3d1f60b8 100644 --- a/src/d/d_envse.cpp +++ b/src/d/d_envse.cpp @@ -1,142 +1,70 @@ -// -// Generated By: dol2asm -// Translation Unit: d/d_envse -// +/** + * d_envse.cpp + * Environment Sound Effects handler + */ #include "d/d_envse.h" #include "d/com/d_com_inf_game.h" #include "d/d_path.h" -#include "dol2asm.h" #include "string.h" -// -// Forward References: -// - -extern "C" static bool dEnvSe_Draw__FP8dEnvSe_c(); -extern "C" static void dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath(); -extern "C" void execute_common__8dEnvSe_cFP18dStage_SoundInfo_cPScUc(); -extern "C" void execute__8dEnvSe_cFv(); -extern "C" static void dEnvSe_Execute__FP8dEnvSe_c(); -extern "C" static bool dEnvSe_IsDelete__FP8dEnvSe_c(); -extern "C" static bool dEnvSe_Delete__FP8dEnvSe_c(); -extern "C" static void dEnvSe_Create__FP8dEnvSe_c(); -extern "C" extern char const* const d_d_envse__stringBase0; - -// -// External References: -// - -extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dPath_GetRoomPath__Fii(); -extern "C" void dPath_GetNextRoomPath__FPC5dPathi(); -extern "C" void Eye__9dCamera_cFv(); -extern "C" void cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf(); -extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec(); -extern "C" void initStaticEnvSe__10Z2EnvSeMgrFUcUcUcUcP3Vec(); -extern "C" void startStaticEnvSe__10Z2EnvSeMgrFSc(); -extern "C" void registWindowPos__10Z2EnvSeMgrFP3Vec(); -extern "C" void initRiverSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registRiverSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startRiverSe__10Z2EnvSeMgrFSc(); -extern "C" void initFallSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registFallSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startFallSe__10Z2EnvSeMgrFSc(); -extern "C" void initEtcSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registEtcSePos__10Z2EnvSeMgrFP3Vec(); -extern "C" void startEtcSe__10Z2EnvSeMgrFSc(); -extern "C" void initLv3WaterSe__10Z2EnvSeMgrFUcUcUcUc(); -extern "C" void registLv3WaterSePos__10Z2EnvSeMgrFUcP3Vec(); -extern "C" void startLv3WaterSe__10Z2EnvSeMgrFSc(); -extern "C" void _savegpr_22(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_22(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" extern void* __vt__8cM3dGLin[3]; - -// -// Declarations: -// - /* 80182DD4-80182DDC 17D714 0008+00 1/0 0/0 0/0 .text dEnvSe_Draw__FP8dEnvSe_c */ static int dEnvSe_Draw(dEnvSe_c* i_this) { return 1; } -/* ############################################################################################## */ -/* 80456B80-80456B84 000020 0004+00 1/1 0/0 0/0 .sbss2 @3752 */ -SECTION_SBSS2 static u8 lit_3752[4]; - -/* 80456B84-80456B88 000024 0004+00 1/1 0/0 0/0 .sbss2 None */ -SECTION_SBSS2 static u8 data_80456B84[4]; - /* 80182DDC-80182FD8 17D71C 01FC+00 1/1 0/0 0/0 .text dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath */ -// stack issues -#ifdef NONMATCHING static void dEnvSe_getNearPathPos(cXyz* param_0, cXyz* param_1, dPath* i_path) { - int var_r28 = 0; + int var_r31 = 0; BOOL sp10[2] = {0, 0}; f32 sp8; f32 var_f31 = FLT_MAX; + int i; dStage_dPnt_c* point_p = i_path->m_points; - cXyz sp3C; - cXyz sp30; + cXyz sp3C[2]; cM3dGLin sp14; - for (int i = 0; i < i_path->m_num; i++) { + for (i = 0; i < i_path->m_num; i++) { sp8 = cM3d_LenSq(param_1, &point_p->m_position); if (var_f31 > sp8) { var_f31 = sp8; - var_r28 = i; + var_r31 = i; } point_p++; } - dStage_dPnt_c* point2_p = &i_path->m_points[var_r28]; - if (var_r28 != 0) { - sp14.set(point2_p[-1].m_position, point2_p[0].m_position); - sp10[0] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp30, &sp8); + point_p = &i_path->m_points[var_r31]; + if (var_r31 != 0) { + sp14.set(point_p[-1].m_position, point_p[0].m_position); + sp10[0] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp3C[0], &sp8); } - if (var_r28 != i_path->m_num - 1) { - sp14.set(point2_p[0].m_position, point2_p[1].m_position); - sp10[1] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp3C, &sp8); + if (var_r31 != i_path->m_num - 1) { + sp14.set(point_p[0].m_position, point_p[1].m_position); + sp10[1] = cM3d_Len3dSqPntAndSegLine(&sp14, param_1, &sp3C[1], &sp8); } if (sp10[0]) { if (sp10[1]) { - if (cM3d_LenSq(&sp3C, param_1) > sp8) { - *param_0 = sp30; + if (cM3d_LenSq(&sp3C[1], param_1) > sp8) { + *param_0 = sp3C[0]; } else { - *param_0 = sp3C; + *param_0 = sp3C[1]; } } else { - *param_0 = sp30; + *param_0 = sp3C[0]; } } else if (sp10[1]) { - *param_0 = sp3C; + *param_0 = sp3C[1]; } else { - param_0->set(point2_p[0].m_position); + param_0->set(point_p[0].m_position); } } -#else -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void dEnvSe_getNearPathPos(cXyz* param_0, cXyz* param_1, dPath* param_2) { - nofralloc -#include "asm/d/d_envse/dEnvSe_getNearPathPos__FP4cXyzP4cXyzP5dPath.s" -} -#pragma pop -#endif /* 80182FD8-80183480 17D918 04A8+00 1/1 0/0 0/0 .text * execute_common__8dEnvSe_cFP18dStage_SoundInfo_cPScUc */ @@ -309,7 +237,6 @@ static int dEnvSe_Create(dEnvSe_c* i_this) { return cPhs_COMPLEATE_e; } -/* ############################################################################################## */ /* 803BA808-803BA81C -00001 0014+00 1/0 0/0 0/0 .data l_dEnvSe_Method */ static leafdraw_method_class l_dEnvSe_Method = { (process_method_func)dEnvSe_Create, (process_method_func)dEnvSe_Delete,