d_a_tag_sppath OK (#2151)

This commit is contained in:
doop 2024-05-08 18:14:04 -04:00 committed by GitHub
parent 6713925172
commit 1cc0621462
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 213 additions and 1464 deletions

View File

@ -21,8 +21,8 @@ Total | 54.640219% | 2196904 | 4020672
Section | Percentage | Decompiled (bytes) | Total (bytes)
---|---|---|---
main.dol | 54.640219% | 2196904 | 4020672
RELs | 38.593660% | 4438396 | 11500324
Total | 42.750478% | 6635300 | 15520996
RELs | 38.629138% | 4442476 | 11500324
Total | 42.776765% | 6639380 | 15520996
## RELs
@ -763,7 +763,7 @@ d_a_tag_shop_camera | 100.000000% | 1196 | 1196
d_a_tag_shop_item | 100.000000% | 2756 | 2756
d_a_tag_smk_emt | 100.000000% | 1572 | 1572
d_a_tag_spinner | 100.000000% | 1928 | 1928
d_a_tag_sppath | 33.333333% | 2040 | 6120
d_a_tag_sppath | 100.000000% | 6120 | 6120
d_a_tag_spring | 100.000000% | 1896 | 1896
d_a_tag_ss_drink | 100.000000% | 3936 | 3936
d_a_tag_statue_evt | 100.000000% | 7328 | 7328
@ -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.593660% | 4438396 | 11500324
Total | 38.629138% | 4442476 | 11500324

View File

@ -1,20 +0,0 @@
lbl_80D62BC8:
/* 80D62BC8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D62BCC 7C 08 02 A6 */ mflr r0
/* 80D62BD0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D62BD4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D62BD8 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D62BDC 41 82 00 1C */ beq lbl_80D62BF8
/* 80D62BE0 3C A0 80 D6 */ lis r5, __vt__10cCcD_GStts@ha /* 0x80D62CF4@ha */
/* 80D62BE4 38 05 2C F4 */ addi r0, r5, __vt__10cCcD_GStts@l /* 0x80D62CF4@l */
/* 80D62BE8 90 1F 00 00 */ stw r0, 0(r31)
/* 80D62BEC 7C 80 07 35 */ extsh. r0, r4
/* 80D62BF0 40 81 00 08 */ ble lbl_80D62BF8
/* 80D62BF4 4B 56 C1 49 */ bl __dl__FPv
lbl_80D62BF8:
/* 80D62BF8 7F E3 FB 78 */ mr r3, r31
/* 80D62BFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D62C00 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D62C04 7C 08 03 A6 */ mtlr r0
/* 80D62C08 38 21 00 10 */ addi r1, r1, 0x10
/* 80D62C0C 4E 80 00 20 */ blr

View File

@ -1,26 +0,0 @@
lbl_80D61DB8:
/* 80D61DB8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61DBC 7C 08 02 A6 */ mflr r0
/* 80D61DC0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61DC4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D61DC8 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D61DCC 41 82 00 30 */ beq lbl_80D61DFC
/* 80D61DD0 3C 60 80 D6 */ lis r3, __vt__10dCcD_GStts@ha /* 0x80D62D00@ha */
/* 80D61DD4 38 03 2D 00 */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x80D62D00@l */
/* 80D61DD8 90 1F 00 00 */ stw r0, 0(r31)
/* 80D61DDC 41 82 00 10 */ beq lbl_80D61DEC
/* 80D61DE0 3C 60 80 D6 */ lis r3, __vt__10cCcD_GStts@ha /* 0x80D62CF4@ha */
/* 80D61DE4 38 03 2C F4 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x80D62CF4@l */
/* 80D61DE8 90 1F 00 00 */ stw r0, 0(r31)
lbl_80D61DEC:
/* 80D61DEC 7C 80 07 35 */ extsh. r0, r4
/* 80D61DF0 40 81 00 0C */ ble lbl_80D61DFC
/* 80D61DF4 7F E3 FB 78 */ mr r3, r31
/* 80D61DF8 4B 56 CF 45 */ bl __dl__FPv
lbl_80D61DFC:
/* 80D61DFC 7F E3 FB 78 */ mr r3, r31
/* 80D61E00 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D61E04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61E08 7C 08 03 A6 */ mtlr r0
/* 80D61E0C 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61E10 4E 80 00 20 */ blr

View File

@ -1,85 +0,0 @@
lbl_80D61EC4:
/* 80D61EC4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61EC8 7C 08 02 A6 */ mflr r0
/* 80D61ECC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61ED0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D61ED4 93 C1 00 08 */ stw r30, 8(r1)
/* 80D61ED8 7C 7E 1B 79 */ or. r30, r3, r3
/* 80D61EDC 7C 9F 23 78 */ mr r31, r4
/* 80D61EE0 41 82 01 00 */ beq lbl_80D61FE0
/* 80D61EE4 34 1E 06 AC */ addic. r0, r30, 0x6ac
/* 80D61EE8 41 82 00 54 */ beq lbl_80D61F3C
/* 80D61EEC 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80D61EF0 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80D61EF4 90 7E 06 C4 */ stw r3, 0x6c4(r30)
/* 80D61EF8 38 03 00 20 */ addi r0, r3, 0x20
/* 80D61EFC 90 1E 06 C8 */ stw r0, 0x6c8(r30)
/* 80D61F00 34 1E 06 C8 */ addic. r0, r30, 0x6c8
/* 80D61F04 41 82 00 24 */ beq lbl_80D61F28
/* 80D61F08 3C 60 80 D6 */ lis r3, __vt__10dCcD_GStts@ha /* 0x80D62D00@ha */
/* 80D61F0C 38 03 2D 00 */ addi r0, r3, __vt__10dCcD_GStts@l /* 0x80D62D00@l */
/* 80D61F10 90 1E 06 C8 */ stw r0, 0x6c8(r30)
/* 80D61F14 34 1E 06 C8 */ addic. r0, r30, 0x6c8
/* 80D61F18 41 82 00 10 */ beq lbl_80D61F28
/* 80D61F1C 3C 60 80 D6 */ lis r3, __vt__10cCcD_GStts@ha /* 0x80D62CF4@ha */
/* 80D61F20 38 03 2C F4 */ addi r0, r3, __vt__10cCcD_GStts@l /* 0x80D62CF4@l */
/* 80D61F24 90 1E 06 C8 */ stw r0, 0x6c8(r30)
lbl_80D61F28:
/* 80D61F28 34 1E 06 AC */ addic. r0, r30, 0x6ac
/* 80D61F2C 41 82 00 10 */ beq lbl_80D61F3C
/* 80D61F30 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80D61F34 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80D61F38 90 1E 06 C4 */ stw r0, 0x6c4(r30)
lbl_80D61F3C:
/* 80D61F3C 34 1E 05 70 */ addic. r0, r30, 0x570
/* 80D61F40 41 82 00 84 */ beq lbl_80D61FC4
/* 80D61F44 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80D61F48 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80D61F4C 90 7E 05 AC */ stw r3, 0x5ac(r30)
/* 80D61F50 38 03 00 2C */ addi r0, r3, 0x2c
/* 80D61F54 90 1E 06 90 */ stw r0, 0x690(r30)
/* 80D61F58 38 03 00 84 */ addi r0, r3, 0x84
/* 80D61F5C 90 1E 06 A8 */ stw r0, 0x6a8(r30)
/* 80D61F60 34 1E 06 74 */ addic. r0, r30, 0x674
/* 80D61F64 41 82 00 54 */ beq lbl_80D61FB8
/* 80D61F68 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80D61F6C 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80D61F70 90 7E 06 90 */ stw r3, 0x690(r30)
/* 80D61F74 38 03 00 58 */ addi r0, r3, 0x58
/* 80D61F78 90 1E 06 A8 */ stw r0, 0x6a8(r30)
/* 80D61F7C 34 1E 06 94 */ addic. r0, r30, 0x694
/* 80D61F80 41 82 00 10 */ beq lbl_80D61F90
/* 80D61F84 3C 60 80 D6 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D62D0C@ha */
/* 80D61F88 38 03 2D 0C */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D62D0C@l */
/* 80D61F8C 90 1E 06 A8 */ stw r0, 0x6a8(r30)
lbl_80D61F90:
/* 80D61F90 34 1E 06 74 */ addic. r0, r30, 0x674
/* 80D61F94 41 82 00 24 */ beq lbl_80D61FB8
/* 80D61F98 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80D61F9C 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80D61FA0 90 1E 06 90 */ stw r0, 0x690(r30)
/* 80D61FA4 34 1E 06 74 */ addic. r0, r30, 0x674
/* 80D61FA8 41 82 00 10 */ beq lbl_80D61FB8
/* 80D61FAC 3C 60 80 D6 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D62D18@ha */
/* 80D61FB0 38 03 2D 18 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D62D18@l */
/* 80D61FB4 90 1E 06 8C */ stw r0, 0x68c(r30)
lbl_80D61FB8:
/* 80D61FB8 38 7E 05 70 */ addi r3, r30, 0x570
/* 80D61FBC 38 80 00 00 */ li r4, 0
/* 80D61FC0 4B 32 21 25 */ bl __dt__12dCcD_GObjInfFv
lbl_80D61FC4:
/* 80D61FC4 7F C3 F3 78 */ mr r3, r30
/* 80D61FC8 38 80 00 00 */ li r4, 0
/* 80D61FCC 4B 2B 6C C1 */ bl __dt__10fopAc_ac_cFv
/* 80D61FD0 7F E0 07 35 */ extsh. r0, r31
/* 80D61FD4 40 81 00 0C */ ble lbl_80D61FE0
/* 80D61FD8 7F C3 F3 78 */ mr r3, r30
/* 80D61FDC 4B 56 CD 61 */ bl __dl__FPv
lbl_80D61FE0:
/* 80D61FE0 7F C3 F3 78 */ mr r3, r30
/* 80D61FE4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D61FE8 83 C1 00 08 */ lwz r30, 8(r1)
/* 80D61FEC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61FF0 7C 08 03 A6 */ mtlr r0
/* 80D61FF4 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61FF8 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80D61E5C:
/* 80D61E5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61E60 7C 08 02 A6 */ mflr r0
/* 80D61E64 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61E68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D61E6C 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D61E70 41 82 00 1C */ beq lbl_80D61E8C
/* 80D61E74 3C A0 80 D6 */ lis r5, __vt__8cM3dGAab@ha /* 0x80D62D18@ha */
/* 80D61E78 38 05 2D 18 */ addi r0, r5, __vt__8cM3dGAab@l /* 0x80D62D18@l */
/* 80D61E7C 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80D61E80 7C 80 07 35 */ extsh. r0, r4
/* 80D61E84 40 81 00 08 */ ble lbl_80D61E8C
/* 80D61E88 4B 56 CE B5 */ bl __dl__FPv
lbl_80D61E8C:
/* 80D61E8C 7F E3 FB 78 */ mr r3, r31
/* 80D61E90 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D61E94 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61E98 7C 08 03 A6 */ mtlr r0
/* 80D61E9C 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61EA0 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80D61E14:
/* 80D61E14 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61E18 7C 08 02 A6 */ mflr r0
/* 80D61E1C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61E20 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D61E24 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D61E28 41 82 00 1C */ beq lbl_80D61E44
/* 80D61E2C 3C A0 80 D6 */ lis r5, __vt__8cM3dGCyl@ha /* 0x80D62D0C@ha */
/* 80D61E30 38 05 2D 0C */ addi r0, r5, __vt__8cM3dGCyl@l /* 0x80D62D0C@l */
/* 80D61E34 90 1F 00 14 */ stw r0, 0x14(r31)
/* 80D61E38 7C 80 07 35 */ extsh. r0, r4
/* 80D61E3C 40 81 00 08 */ ble lbl_80D61E44
/* 80D61E40 4B 56 CE FD */ bl __dl__FPv
lbl_80D61E44:
/* 80D61E44 7F E3 FB 78 */ mr r3, r31
/* 80D61E48 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D61E4C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61E50 7C 08 03 A6 */ mtlr r0
/* 80D61E54 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61E58 4E 80 00 20 */ blr

View File

@ -1,20 +0,0 @@
lbl_80D62978:
/* 80D62978 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D6297C 7C 08 02 A6 */ mflr r0
/* 80D62980 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D62984 93 E1 00 0C */ stw r31, 0xc(r1)
/* 80D62988 7C 7F 1B 79 */ or. r31, r3, r3
/* 80D6298C 41 82 00 1C */ beq lbl_80D629A8
/* 80D62990 3C A0 80 D6 */ lis r5, __vt__8cM3dGLin@ha /* 0x80D62CE8@ha */
/* 80D62994 38 05 2C E8 */ addi r0, r5, __vt__8cM3dGLin@l /* 0x80D62CE8@l */
/* 80D62998 90 1F 00 18 */ stw r0, 0x18(r31)
/* 80D6299C 7C 80 07 35 */ extsh. r0, r4
/* 80D629A0 40 81 00 08 */ ble lbl_80D629A8
/* 80D629A4 4B 56 C3 99 */ bl __dl__FPv
lbl_80D629A8:
/* 80D629A8 7F E3 FB 78 */ mr r3, r31
/* 80D629AC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 80D629B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D629B4 7C 08 03 A6 */ mtlr r0
/* 80D629B8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D629BC 4E 80 00 20 */ blr

View File

@ -1,112 +0,0 @@
lbl_80D61C18:
/* 80D61C18 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80D61C1C 7C 08 02 A6 */ mflr r0
/* 80D61C20 90 01 00 24 */ stw r0, 0x24(r1)
/* 80D61C24 39 61 00 20 */ addi r11, r1, 0x20
/* 80D61C28 4B 60 05 B5 */ bl _savegpr_29
/* 80D61C2C 7C 7F 1B 78 */ mr r31, r3
/* 80D61C30 80 03 04 A0 */ lwz r0, 0x4a0(r3)
/* 80D61C34 54 00 07 39 */ rlwinm. r0, r0, 0, 0x1c, 0x1c
/* 80D61C38 40 82 00 A8 */ bne lbl_80D61CE0
/* 80D61C3C 7F E0 FB 79 */ or. r0, r31, r31
/* 80D61C40 41 82 00 94 */ beq lbl_80D61CD4
/* 80D61C44 7C 1E 03 78 */ mr r30, r0
/* 80D61C48 4B 2B 6F 1D */ bl __ct__10fopAc_ac_cFv
/* 80D61C4C 3B BE 05 70 */ addi r29, r30, 0x570
/* 80D61C50 7F A3 EB 78 */ mr r3, r29
/* 80D61C54 4B 32 1D D5 */ bl __ct__12dCcD_GObjInfFv
/* 80D61C58 3C 60 80 3C */ lis r3, __vt__14cCcD_ShapeAttr@ha /* 0x803C36D0@ha */
/* 80D61C5C 38 03 36 D0 */ addi r0, r3, __vt__14cCcD_ShapeAttr@l /* 0x803C36D0@l */
/* 80D61C60 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D61C64 3C 60 80 D6 */ lis r3, __vt__8cM3dGAab@ha /* 0x80D62D18@ha */
/* 80D61C68 38 03 2D 18 */ addi r0, r3, __vt__8cM3dGAab@l /* 0x80D62D18@l */
/* 80D61C6C 90 1D 01 1C */ stw r0, 0x11c(r29)
/* 80D61C70 3C 60 80 D6 */ lis r3, __vt__8cM3dGCyl@ha /* 0x80D62D0C@ha */
/* 80D61C74 38 03 2D 0C */ addi r0, r3, __vt__8cM3dGCyl@l /* 0x80D62D0C@l */
/* 80D61C78 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D61C7C 3C 60 80 3C */ lis r3, __vt__12cCcD_CylAttr@ha /* 0x803C35A4@ha */
/* 80D61C80 38 63 35 A4 */ addi r3, r3, __vt__12cCcD_CylAttr@l /* 0x803C35A4@l */
/* 80D61C84 90 7D 01 20 */ stw r3, 0x120(r29)
/* 80D61C88 38 03 00 58 */ addi r0, r3, 0x58
/* 80D61C8C 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D61C90 3C 60 80 3B */ lis r3, __vt__8dCcD_Cyl@ha /* 0x803AC050@ha */
/* 80D61C94 38 63 C0 50 */ addi r3, r3, __vt__8dCcD_Cyl@l /* 0x803AC050@l */
/* 80D61C98 90 7D 00 3C */ stw r3, 0x3c(r29)
/* 80D61C9C 38 03 00 2C */ addi r0, r3, 0x2c
/* 80D61CA0 90 1D 01 20 */ stw r0, 0x120(r29)
/* 80D61CA4 38 03 00 84 */ addi r0, r3, 0x84
/* 80D61CA8 90 1D 01 38 */ stw r0, 0x138(r29)
/* 80D61CAC 3C 60 80 3C */ lis r3, __vt__9cCcD_Stts@ha /* 0x803C3728@ha */
/* 80D61CB0 38 03 37 28 */ addi r0, r3, __vt__9cCcD_Stts@l /* 0x803C3728@l */
/* 80D61CB4 90 1E 06 C4 */ stw r0, 0x6c4(r30)
/* 80D61CB8 38 7E 06 C8 */ addi r3, r30, 0x6c8
/* 80D61CBC 4B 32 1A A5 */ bl __ct__10dCcD_GSttsFv
/* 80D61CC0 3C 60 80 3B */ lis r3, __vt__9dCcD_Stts@ha /* 0x803AC2E4@ha */
/* 80D61CC4 38 63 C2 E4 */ addi r3, r3, __vt__9dCcD_Stts@l /* 0x803AC2E4@l */
/* 80D61CC8 90 7E 06 C4 */ stw r3, 0x6c4(r30)
/* 80D61CCC 38 03 00 20 */ addi r0, r3, 0x20
/* 80D61CD0 90 1E 06 C8 */ stw r0, 0x6c8(r30)
lbl_80D61CD4:
/* 80D61CD4 80 1F 04 A0 */ lwz r0, 0x4a0(r31)
/* 80D61CD8 60 00 00 08 */ ori r0, r0, 8
/* 80D61CDC 90 1F 04 A0 */ stw r0, 0x4a0(r31)
lbl_80D61CE0:
/* 80D61CE0 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D61CE4 54 00 C6 3E */ rlwinm r0, r0, 0x18, 0x18, 0x1f
/* 80D61CE8 98 1F 06 E9 */ stb r0, 0x6e9(r31)
/* 80D61CEC 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D61CF0 54 00 86 3E */ rlwinm r0, r0, 0x10, 0x18, 0x1f
/* 80D61CF4 98 1F 06 EA */ stb r0, 0x6ea(r31)
/* 80D61CF8 80 1F 00 B0 */ lwz r0, 0xb0(r31)
/* 80D61CFC 54 03 06 3E */ clrlwi r3, r0, 0x18
/* 80D61D00 2C 03 00 FF */ cmpwi r3, 0xff
/* 80D61D04 41 82 00 1C */ beq lbl_80D61D20
/* 80D61D08 88 1F 04 E2 */ lbz r0, 0x4e2(r31)
/* 80D61D0C 7C 04 07 74 */ extsb r4, r0
/* 80D61D10 4B 2E FA DD */ bl dPath_GetRoomPath__Fii
/* 80D61D14 90 7F 05 68 */ stw r3, 0x568(r31)
/* 80D61D18 28 03 00 00 */ cmplwi r3, 0
/* 80D61D1C 40 82 00 0C */ bne lbl_80D61D28
lbl_80D61D20:
/* 80D61D20 38 60 00 05 */ li r3, 5
/* 80D61D24 48 00 00 7C */ b lbl_80D61DA0
lbl_80D61D28:
/* 80D61D28 38 7F 06 AC */ addi r3, r31, 0x6ac
/* 80D61D2C 38 80 00 00 */ li r4, 0
/* 80D61D30 38 A0 00 FF */ li r5, 0xff
/* 80D61D34 7F E6 FB 78 */ mr r6, r31
/* 80D61D38 4B 32 1B 29 */ bl Init__9dCcD_SttsFiiP10fopAc_ac_c
/* 80D61D3C 38 7F 05 70 */ addi r3, r31, 0x570
/* 80D61D40 3C 80 80 D6 */ lis r4, l_cylSrc@ha /* 0x80D62C54@ha */
/* 80D61D44 38 84 2C 54 */ addi r4, r4, l_cylSrc@l /* 0x80D62C54@l */
/* 80D61D48 4B 32 2B 6D */ bl Set__8dCcD_CylFRC11dCcD_SrcCyl
/* 80D61D4C 38 1F 06 AC */ addi r0, r31, 0x6ac
/* 80D61D50 90 1F 05 B4 */ stw r0, 0x5b4(r31)
/* 80D61D54 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D61D58 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D61D5C 38 63 4E 00 */ addi r3, r3, 0x4e00
/* 80D61D60 3C 80 80 D6 */ lis r4, d_a_tag_sppath__stringBase0@ha /* 0x80D62C4C@ha */
/* 80D61D64 38 84 2C 4C */ addi r4, r4, d_a_tag_sppath__stringBase0@l /* 0x80D62C4C@l */
/* 80D61D68 4B 60 6C 2D */ bl strcmp
/* 80D61D6C 2C 03 00 00 */ cmpwi r3, 0
/* 80D61D70 40 82 00 20 */ bne lbl_80D61D90
/* 80D61D74 3C 60 80 D6 */ lis r3, lit_3694@ha /* 0x80D62C18@ha */
/* 80D61D78 C0 03 2C 18 */ lfs f0, lit_3694@l(r3) /* 0x80D62C18@l */
/* 80D61D7C D0 1F 06 F0 */ stfs f0, 0x6f0(r31)
/* 80D61D80 38 7F 06 94 */ addi r3, r31, 0x694
/* 80D61D84 C0 3F 06 F0 */ lfs f1, 0x6f0(r31)
/* 80D61D88 4B 50 D4 71 */ bl SetH__8cM3dGCylFf
/* 80D61D8C 48 00 00 10 */ b lbl_80D61D9C
lbl_80D61D90:
/* 80D61D90 3C 60 80 D6 */ lis r3, lit_3695@ha /* 0x80D62C1C@ha */
/* 80D61D94 C0 03 2C 1C */ lfs f0, lit_3695@l(r3) /* 0x80D62C1C@l */
/* 80D61D98 D0 1F 06 F0 */ stfs f0, 0x6f0(r31)
lbl_80D61D9C:
/* 80D61D9C 38 60 00 04 */ li r3, 4
lbl_80D61DA0:
/* 80D61DA0 39 61 00 20 */ addi r11, r1, 0x20
/* 80D61DA4 4B 60 04 85 */ bl _restgpr_29
/* 80D61DA8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80D61DAC 7C 08 03 A6 */ mtlr r0
/* 80D61DB0 38 21 00 20 */ addi r1, r1, 0x20
/* 80D61DB4 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D61EA4:
/* 80D61EA4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D61EA8 7C 08 02 A6 */ mflr r0
/* 80D61EAC 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D61EB0 4B FF FD 69 */ bl create__13daTagSppath_cFv
/* 80D61EB4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D61EB8 7C 08 03 A6 */ mtlr r0
/* 80D61EBC 38 21 00 10 */ addi r1, r1, 0x10
/* 80D61EC0 4E 80 00 20 */ blr

View File

@ -1,11 +0,0 @@
lbl_80D61FFC:
/* 80D61FFC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D62000 7C 08 02 A6 */ mflr r0
/* 80D62004 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D62008 38 80 FF FF */ li r4, -1
/* 80D6200C 4B FF FE B9 */ bl __dt__13daTagSppath_cFv
/* 80D62010 38 60 00 01 */ li r3, 1
/* 80D62014 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D62018 7C 08 03 A6 */ mtlr r0
/* 80D6201C 38 21 00 10 */ addi r1, r1, 0x10
/* 80D62020 4E 80 00 20 */ blr

View File

@ -1,9 +0,0 @@
lbl_80D62BA0:
/* 80D62BA0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80D62BA4 7C 08 02 A6 */ mflr r0
/* 80D62BA8 90 01 00 14 */ stw r0, 0x14(r1)
/* 80D62BAC 4B FF FE 15 */ bl execute__13daTagSppath_cFv
/* 80D62BB0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80D62BB4 7C 08 03 A6 */ mtlr r0
/* 80D62BB8 38 21 00 10 */ addi r1, r1, 0x10
/* 80D62BBC 4E 80 00 20 */ blr

View File

@ -1,132 +0,0 @@
lbl_80D629C0:
/* 80D629C0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 80D629C4 7C 08 02 A6 */ mflr r0
/* 80D629C8 90 01 00 44 */ stw r0, 0x44(r1)
/* 80D629CC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 80D629D0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */
/* 80D629D4 39 61 00 30 */ addi r11, r1, 0x30
/* 80D629D8 4B 5F F8 01 */ bl _savegpr_28
/* 80D629DC 7C 7E 1B 78 */ mr r30, r3
/* 80D629E0 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D629E4 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D629E8 83 E3 5D AC */ lwz r31, 0x5dac(r3)
/* 80D629EC 7F E3 FB 78 */ mr r3, r31
/* 80D629F0 81 9F 06 28 */ lwz r12, 0x628(r31)
/* 80D629F4 81 8C 01 98 */ lwz r12, 0x198(r12)
/* 80D629F8 7D 89 03 A6 */ mtctr r12
/* 80D629FC 4E 80 04 21 */ bctrl
/* 80D62A00 28 03 00 00 */ cmplwi r3, 0
/* 80D62A04 41 82 00 54 */ beq lbl_80D62A58
/* 80D62A08 88 9E 06 E9 */ lbz r4, 0x6e9(r30)
/* 80D62A0C 28 04 00 FF */ cmplwi r4, 0xff
/* 80D62A10 41 82 00 20 */ beq lbl_80D62A30
/* 80D62A14 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D62A18 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D62A1C 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D62A20 7C 05 07 74 */ extsb r5, r0
/* 80D62A24 4B 2D 29 3D */ bl isSwitch__10dSv_info_cCFii
/* 80D62A28 2C 03 00 00 */ cmpwi r3, 0
/* 80D62A2C 41 82 00 2C */ beq lbl_80D62A58
lbl_80D62A30:
/* 80D62A30 88 9E 06 EA */ lbz r4, 0x6ea(r30)
/* 80D62A34 28 04 00 FF */ cmplwi r4, 0xff
/* 80D62A38 41 82 00 28 */ beq lbl_80D62A60
/* 80D62A3C 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D62A40 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D62A44 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D62A48 7C 05 07 74 */ extsb r5, r0
/* 80D62A4C 4B 2D 29 15 */ bl isSwitch__10dSv_info_cCFii
/* 80D62A50 2C 03 00 00 */ cmpwi r3, 0
/* 80D62A54 41 82 00 0C */ beq lbl_80D62A60
lbl_80D62A58:
/* 80D62A58 38 60 00 01 */ li r3, 1
/* 80D62A5C 48 00 01 24 */ b lbl_80D62B80
lbl_80D62A60:
/* 80D62A60 83 9E 05 68 */ lwz r28, 0x568(r30)
/* 80D62A64 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */
/* 80D62A68 C3 E3 0A E8 */ lfs f31, __float_max@l(r3) /* 0x80450AE8@l */
/* 80D62A6C 48 00 00 64 */ b lbl_80D62AD0
lbl_80D62A70:
/* 80D62A70 7F C3 F3 78 */ mr r3, r30
/* 80D62A74 38 81 00 14 */ addi r4, r1, 0x14
/* 80D62A78 7F 85 E3 78 */ mr r5, r28
/* 80D62A7C 4B FF F5 A9 */ bl getNearPathPos__13daTagSppath_cFP4cXyzP5dPath
/* 80D62A80 7C 7D 1B 78 */ mr r29, r3
/* 80D62A84 38 61 00 14 */ addi r3, r1, 0x14
/* 80D62A88 38 9F 04 D0 */ addi r4, r31, 0x4d0
/* 80D62A8C 4B 5E 49 11 */ bl PSVECSquareDistance
/* 80D62A90 FC 01 F8 40 */ fcmpo cr0, f1, f31
/* 80D62A94 40 80 00 28 */ bge lbl_80D62ABC
/* 80D62A98 FF E0 08 90 */ fmr f31, f1
/* 80D62A9C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 80D62AA0 D0 1E 04 D0 */ stfs f0, 0x4d0(r30)
/* 80D62AA4 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 80D62AA8 D0 1E 04 D4 */ stfs f0, 0x4d4(r30)
/* 80D62AAC C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 80D62AB0 D0 1E 04 D8 */ stfs f0, 0x4d8(r30)
/* 80D62AB4 93 9E 05 6C */ stw r28, 0x56c(r30)
/* 80D62AB8 B3 BE 06 EC */ sth r29, 0x6ec(r30)
lbl_80D62ABC:
/* 80D62ABC 7F 83 E3 78 */ mr r3, r28
/* 80D62AC0 88 1E 04 E2 */ lbz r0, 0x4e2(r30)
/* 80D62AC4 7C 04 07 74 */ extsb r4, r0
/* 80D62AC8 4B 2E ED D1 */ bl dPath_GetNextRoomPath__FPC5dPathi
/* 80D62ACC 7C 7C 1B 78 */ mr r28, r3
lbl_80D62AD0:
/* 80D62AD0 28 1C 00 00 */ cmplwi r28, 0
/* 80D62AD4 40 82 FF 9C */ bne lbl_80D62A70
/* 80D62AD8 80 7E 05 6C */ lwz r3, 0x56c(r30)
/* 80D62ADC 88 03 00 04 */ lbz r0, 4(r3)
/* 80D62AE0 28 00 00 00 */ cmplwi r0, 0
/* 80D62AE4 40 82 00 44 */ bne lbl_80D62B28
/* 80D62AE8 88 83 00 06 */ lbz r4, 6(r3)
/* 80D62AEC 28 04 00 FF */ cmplwi r4, 0xff
/* 80D62AF0 41 82 00 20 */ beq lbl_80D62B10
/* 80D62AF4 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D62AF8 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D62AFC 88 1E 04 BA */ lbz r0, 0x4ba(r30)
/* 80D62B00 7C 05 07 74 */ extsb r5, r0
/* 80D62B04 4B 2D 28 5D */ bl isSwitch__10dSv_info_cCFii
/* 80D62B08 2C 03 00 00 */ cmpwi r3, 0
/* 80D62B0C 40 82 00 10 */ bne lbl_80D62B1C
lbl_80D62B10:
/* 80D62B10 38 00 00 01 */ li r0, 1
/* 80D62B14 98 1E 06 E8 */ stb r0, 0x6e8(r30)
/* 80D62B18 48 00 00 18 */ b lbl_80D62B30
lbl_80D62B1C:
/* 80D62B1C 38 00 00 02 */ li r0, 2
/* 80D62B20 98 1E 06 E8 */ stb r0, 0x6e8(r30)
/* 80D62B24 48 00 00 0C */ b lbl_80D62B30
lbl_80D62B28:
/* 80D62B28 38 00 00 00 */ li r0, 0
/* 80D62B2C 98 1E 06 E8 */ stb r0, 0x6e8(r30)
lbl_80D62B30:
/* 80D62B30 C0 7E 04 D8 */ lfs f3, 0x4d8(r30)
/* 80D62B34 C0 5E 04 D4 */ lfs f2, 0x4d4(r30)
/* 80D62B38 3C 60 80 D6 */ lis r3, lit_4167@ha /* 0x80D62C48@ha */
/* 80D62B3C C0 23 2C 48 */ lfs f1, lit_4167@l(r3) /* 0x80D62C48@l */
/* 80D62B40 C0 1E 06 F0 */ lfs f0, 0x6f0(r30)
/* 80D62B44 EC 01 00 32 */ fmuls f0, f1, f0
/* 80D62B48 EC 22 00 28 */ fsubs f1, f2, f0
/* 80D62B4C C0 1E 04 D0 */ lfs f0, 0x4d0(r30)
/* 80D62B50 D0 01 00 08 */ stfs f0, 8(r1)
/* 80D62B54 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80D62B58 D0 61 00 10 */ stfs f3, 0x10(r1)
/* 80D62B5C 38 7E 06 94 */ addi r3, r30, 0x694
/* 80D62B60 38 81 00 08 */ addi r4, r1, 8
/* 80D62B64 4B 50 C6 79 */ bl SetC__8cM3dGCylFRC4cXyz
/* 80D62B68 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D62B6C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D62B70 38 63 23 3C */ addi r3, r3, 0x233c
/* 80D62B74 38 9E 05 70 */ addi r4, r30, 0x570
/* 80D62B78 4B 50 20 31 */ bl Set__4cCcSFP8cCcD_Obj
/* 80D62B7C 38 60 00 01 */ li r3, 1
lbl_80D62B80:
/* 80D62B80 E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */
/* 80D62B84 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 80D62B88 39 61 00 30 */ addi r11, r1, 0x30
/* 80D62B8C 4B 5F F6 99 */ bl _restgpr_28
/* 80D62B90 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80D62B94 7C 08 03 A6 */ mtlr r0
/* 80D62B98 38 21 00 40 */ addi r1, r1, 0x40
/* 80D62B9C 4E 80 00 20 */ blr

View File

@ -1,667 +0,0 @@
lbl_80D62024:
/* 80D62024 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 80D62028 7C 08 02 A6 */ mflr r0
/* 80D6202C 90 01 01 24 */ stw r0, 0x124(r1)
/* 80D62030 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 80D62034 F3 E1 01 18 */ psq_st f31, 280(r1), 0, 0 /* qr0 */
/* 80D62038 DB C1 01 00 */ stfd f30, 0x100(r1)
/* 80D6203C F3 C1 01 08 */ psq_st f30, 264(r1), 0, 0 /* qr0 */
/* 80D62040 39 61 01 00 */ addi r11, r1, 0x100
/* 80D62044 4B 60 01 85 */ bl _savegpr_24
/* 80D62048 7C 98 23 78 */ mr r24, r4
/* 80D6204C 7C B9 2B 78 */ mr r25, r5
/* 80D62050 3C 60 80 D6 */ lis r3, lit_3694@ha /* 0x80D62C18@ha */
/* 80D62054 3B E3 2C 18 */ addi r31, r3, lit_3694@l /* 0x80D62C18@l */
/* 80D62058 3C 60 80 40 */ lis r3, g_dComIfG_gameInfo@ha /* 0x804061C0@ha */
/* 80D6205C 38 63 61 C0 */ addi r3, r3, g_dComIfG_gameInfo@l /* 0x804061C0@l */
/* 80D62060 80 63 5D AC */ lwz r3, 0x5dac(r3)
/* 80D62064 3B A3 04 D0 */ addi r29, r3, 0x4d0
/* 80D62068 83 85 00 08 */ lwz r28, 8(r5)
/* 80D6206C 3C 60 80 45 */ lis r3, __float_max@ha /* 0x80450AE8@ha */
/* 80D62070 C3 E3 0A E8 */ lfs f31, __float_max@l(r3) /* 0x80450AE8@l */
/* 80D62074 3C 60 80 D6 */ lis r3, __vt__8cM3dGLin@ha /* 0x80D62CE8@ha */
/* 80D62078 38 03 2C E8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x80D62CE8@l */
/* 80D6207C 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 80D62080 3B 40 00 00 */ li r26, 0
/* 80D62084 3B C1 00 CC */ addi r30, r1, 0xcc
/* 80D62088 48 00 08 AC */ b lbl_80D62934
lbl_80D6208C:
/* 80D6208C 38 03 FF FF */ addi r0, r3, -1
/* 80D62090 7C 1A 00 00 */ cmpw r26, r0
/* 80D62094 41 82 05 5C */ beq lbl_80D625F0
/* 80D62098 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80D6209C 38 9C 00 04 */ addi r4, r28, 4
/* 80D620A0 38 BC 00 14 */ addi r5, r28, 0x14
/* 80D620A4 4B 50 D2 79 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec
/* 80D620A8 88 19 00 05 */ lbz r0, 5(r25)
/* 80D620AC 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80D620B0 40 82 05 24 */ bne lbl_80D625D4
/* 80D620B4 2C 1A 00 00 */ cmpwi r26, 0
/* 80D620B8 40 82 02 88 */ bne lbl_80D62340
/* 80D620BC C0 3C 00 1C */ lfs f1, 0x1c(r28)
/* 80D620C0 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 80D620C4 EC 61 00 28 */ fsubs f3, f1, f0
/* 80D620C8 C0 3C 00 18 */ lfs f1, 0x18(r28)
/* 80D620CC C0 1C 00 08 */ lfs f0, 8(r28)
/* 80D620D0 EC 41 00 28 */ fsubs f2, f1, f0
/* 80D620D4 C0 3C 00 14 */ lfs f1, 0x14(r28)
/* 80D620D8 C0 1C 00 04 */ lfs f0, 4(r28)
/* 80D620DC EC 01 00 28 */ fsubs f0, f1, f0
/* 80D620E0 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 80D620E4 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 80D620E8 D0 61 00 B0 */ stfs f3, 0xb0(r1)
/* 80D620EC 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80D620F0 4B 5E 50 49 */ bl PSVECSquareMag
/* 80D620F4 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D620F8 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D620FC 40 81 00 58 */ ble lbl_80D62154
/* 80D62100 FC 00 08 34 */ frsqrte f0, f1
/* 80D62104 C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D62108 FC 44 00 32 */ fmul f2, f4, f0
/* 80D6210C C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D62110 FC 00 00 32 */ fmul f0, f0, f0
/* 80D62114 FC 01 00 32 */ fmul f0, f1, f0
/* 80D62118 FC 03 00 28 */ fsub f0, f3, f0
/* 80D6211C FC 02 00 32 */ fmul f0, f2, f0
/* 80D62120 FC 44 00 32 */ fmul f2, f4, f0
/* 80D62124 FC 00 00 32 */ fmul f0, f0, f0
/* 80D62128 FC 01 00 32 */ fmul f0, f1, f0
/* 80D6212C FC 03 00 28 */ fsub f0, f3, f0
/* 80D62130 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62134 FC 44 00 32 */ fmul f2, f4, f0
/* 80D62138 FC 00 00 32 */ fmul f0, f0, f0
/* 80D6213C FC 01 00 32 */ fmul f0, f1, f0
/* 80D62140 FC 03 00 28 */ fsub f0, f3, f0
/* 80D62144 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62148 FF C1 00 32 */ fmul f30, f1, f0
/* 80D6214C FF C0 F0 18 */ frsp f30, f30
/* 80D62150 48 00 00 90 */ b lbl_80D621E0
lbl_80D62154:
/* 80D62154 C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D62158 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D6215C 40 80 00 10 */ bge lbl_80D6216C
/* 80D62160 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62164 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D62168 48 00 00 78 */ b lbl_80D621E0
lbl_80D6216C:
/* 80D6216C D0 21 00 1C */ stfs f1, 0x1c(r1)
/* 80D62170 80 81 00 1C */ lwz r4, 0x1c(r1)
/* 80D62174 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D62178 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D6217C 7C 03 00 00 */ cmpw r3, r0
/* 80D62180 41 82 00 14 */ beq lbl_80D62194
/* 80D62184 40 80 00 40 */ bge lbl_80D621C4
/* 80D62188 2C 03 00 00 */ cmpwi r3, 0
/* 80D6218C 41 82 00 20 */ beq lbl_80D621AC
/* 80D62190 48 00 00 34 */ b lbl_80D621C4
lbl_80D62194:
/* 80D62194 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D62198 41 82 00 0C */ beq lbl_80D621A4
/* 80D6219C 38 00 00 01 */ li r0, 1
/* 80D621A0 48 00 00 28 */ b lbl_80D621C8
lbl_80D621A4:
/* 80D621A4 38 00 00 02 */ li r0, 2
/* 80D621A8 48 00 00 20 */ b lbl_80D621C8
lbl_80D621AC:
/* 80D621AC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D621B0 41 82 00 0C */ beq lbl_80D621BC
/* 80D621B4 38 00 00 05 */ li r0, 5
/* 80D621B8 48 00 00 10 */ b lbl_80D621C8
lbl_80D621BC:
/* 80D621BC 38 00 00 03 */ li r0, 3
/* 80D621C0 48 00 00 08 */ b lbl_80D621C8
lbl_80D621C4:
/* 80D621C4 38 00 00 04 */ li r0, 4
lbl_80D621C8:
/* 80D621C8 2C 00 00 01 */ cmpwi r0, 1
/* 80D621CC 40 82 00 10 */ bne lbl_80D621DC
/* 80D621D0 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D621D4 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D621D8 48 00 00 08 */ b lbl_80D621E0
lbl_80D621DC:
/* 80D621DC FF C0 08 90 */ fmr f30, f1
lbl_80D621E0:
/* 80D621E0 38 61 00 9C */ addi r3, r1, 0x9c
/* 80D621E4 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D621E8 4B 50 4D 61 */ bl normalizeZP__4cXyzFv
/* 80D621EC C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80D621F0 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 80D621F4 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D621F8 D0 01 00 40 */ stfs f0, 0x40(r1)
/* 80D621FC C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80D62200 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 80D62204 38 61 00 3C */ addi r3, r1, 0x3c
/* 80D62208 4B 5E 4F 31 */ bl PSVECSquareMag
/* 80D6220C C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D62210 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62214 40 81 00 58 */ ble lbl_80D6226C
/* 80D62218 FC 00 08 34 */ frsqrte f0, f1
/* 80D6221C C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D62220 FC 44 00 32 */ fmul f2, f4, f0
/* 80D62224 C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D62228 FC 00 00 32 */ fmul f0, f0, f0
/* 80D6222C FC 01 00 32 */ fmul f0, f1, f0
/* 80D62230 FC 03 00 28 */ fsub f0, f3, f0
/* 80D62234 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62238 FC 44 00 32 */ fmul f2, f4, f0
/* 80D6223C FC 00 00 32 */ fmul f0, f0, f0
/* 80D62240 FC 01 00 32 */ fmul f0, f1, f0
/* 80D62244 FC 03 00 28 */ fsub f0, f3, f0
/* 80D62248 FC 02 00 32 */ fmul f0, f2, f0
/* 80D6224C FC 44 00 32 */ fmul f2, f4, f0
/* 80D62250 FC 00 00 32 */ fmul f0, f0, f0
/* 80D62254 FC 01 00 32 */ fmul f0, f1, f0
/* 80D62258 FC 03 00 28 */ fsub f0, f3, f0
/* 80D6225C FC 02 00 32 */ fmul f0, f2, f0
/* 80D62260 FC 21 00 32 */ fmul f1, f1, f0
/* 80D62264 FC 20 08 18 */ frsp f1, f1
/* 80D62268 48 00 00 88 */ b lbl_80D622F0
lbl_80D6226C:
/* 80D6226C C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D62270 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62274 40 80 00 10 */ bge lbl_80D62284
/* 80D62278 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D6227C C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D62280 48 00 00 70 */ b lbl_80D622F0
lbl_80D62284:
/* 80D62284 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 80D62288 80 81 00 18 */ lwz r4, 0x18(r1)
/* 80D6228C 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D62290 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D62294 7C 03 00 00 */ cmpw r3, r0
/* 80D62298 41 82 00 14 */ beq lbl_80D622AC
/* 80D6229C 40 80 00 40 */ bge lbl_80D622DC
/* 80D622A0 2C 03 00 00 */ cmpwi r3, 0
/* 80D622A4 41 82 00 20 */ beq lbl_80D622C4
/* 80D622A8 48 00 00 34 */ b lbl_80D622DC
lbl_80D622AC:
/* 80D622AC 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D622B0 41 82 00 0C */ beq lbl_80D622BC
/* 80D622B4 38 00 00 01 */ li r0, 1
/* 80D622B8 48 00 00 28 */ b lbl_80D622E0
lbl_80D622BC:
/* 80D622BC 38 00 00 02 */ li r0, 2
/* 80D622C0 48 00 00 20 */ b lbl_80D622E0
lbl_80D622C4:
/* 80D622C4 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D622C8 41 82 00 0C */ beq lbl_80D622D4
/* 80D622CC 38 00 00 05 */ li r0, 5
/* 80D622D0 48 00 00 10 */ b lbl_80D622E0
lbl_80D622D4:
/* 80D622D4 38 00 00 03 */ li r0, 3
/* 80D622D8 48 00 00 08 */ b lbl_80D622E0
lbl_80D622DC:
/* 80D622DC 38 00 00 04 */ li r0, 4
lbl_80D622E0:
/* 80D622E0 2C 00 00 01 */ cmpwi r0, 1
/* 80D622E4 40 82 00 0C */ bne lbl_80D622F0
/* 80D622E8 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D622EC C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D622F0:
/* 80D622F0 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80D622F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D622F8 40 81 00 48 */ ble lbl_80D62340
/* 80D622FC C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80D62300 EC 20 08 24 */ fdivs f1, f0, f1
/* 80D62304 FC 1E 08 40 */ fcmpo cr0, f30, f1
/* 80D62308 40 81 00 38 */ ble lbl_80D62340
/* 80D6230C 38 61 00 90 */ addi r3, r1, 0x90
/* 80D62310 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D62314 4B 50 48 71 */ bl __ml__4cXyzCFf
/* 80D62318 38 61 00 84 */ addi r3, r1, 0x84
/* 80D6231C 38 81 00 C0 */ addi r4, r1, 0xc0
/* 80D62320 38 A1 00 90 */ addi r5, r1, 0x90
/* 80D62324 4B 50 47 C1 */ bl __pl__4cXyzCFRC3Vec
/* 80D62328 C0 01 00 84 */ lfs f0, 0x84(r1)
/* 80D6232C D0 01 00 C0 */ stfs f0, 0xc0(r1)
/* 80D62330 C0 01 00 88 */ lfs f0, 0x88(r1)
/* 80D62334 D0 01 00 C4 */ stfs f0, 0xc4(r1)
/* 80D62338 C0 01 00 8C */ lfs f0, 0x8c(r1)
/* 80D6233C D0 01 00 C8 */ stfs f0, 0xc8(r1)
lbl_80D62340:
/* 80D62340 A0 79 00 00 */ lhz r3, 0(r25)
/* 80D62344 38 03 FF FE */ addi r0, r3, -2
/* 80D62348 7C 1A 00 00 */ cmpw r26, r0
/* 80D6234C 40 82 02 88 */ bne lbl_80D625D4
/* 80D62350 C0 3C 00 0C */ lfs f1, 0xc(r28)
/* 80D62354 C0 1C 00 1C */ lfs f0, 0x1c(r28)
/* 80D62358 EC 61 00 28 */ fsubs f3, f1, f0
/* 80D6235C C0 3C 00 08 */ lfs f1, 8(r28)
/* 80D62360 C0 1C 00 18 */ lfs f0, 0x18(r28)
/* 80D62364 EC 41 00 28 */ fsubs f2, f1, f0
/* 80D62368 C0 3C 00 04 */ lfs f1, 4(r28)
/* 80D6236C C0 1C 00 14 */ lfs f0, 0x14(r28)
/* 80D62370 EC 01 00 28 */ fsubs f0, f1, f0
/* 80D62374 D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 80D62378 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 80D6237C D0 61 00 B0 */ stfs f3, 0xb0(r1)
/* 80D62380 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80D62384 4B 5E 4D B5 */ bl PSVECSquareMag
/* 80D62388 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D6238C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62390 40 81 00 58 */ ble lbl_80D623E8
/* 80D62394 FC 00 08 34 */ frsqrte f0, f1
/* 80D62398 C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D6239C FC 44 00 32 */ fmul f2, f4, f0
/* 80D623A0 C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D623A4 FC 00 00 32 */ fmul f0, f0, f0
/* 80D623A8 FC 01 00 32 */ fmul f0, f1, f0
/* 80D623AC FC 03 00 28 */ fsub f0, f3, f0
/* 80D623B0 FC 02 00 32 */ fmul f0, f2, f0
/* 80D623B4 FC 44 00 32 */ fmul f2, f4, f0
/* 80D623B8 FC 00 00 32 */ fmul f0, f0, f0
/* 80D623BC FC 01 00 32 */ fmul f0, f1, f0
/* 80D623C0 FC 03 00 28 */ fsub f0, f3, f0
/* 80D623C4 FC 02 00 32 */ fmul f0, f2, f0
/* 80D623C8 FC 44 00 32 */ fmul f2, f4, f0
/* 80D623CC FC 00 00 32 */ fmul f0, f0, f0
/* 80D623D0 FC 01 00 32 */ fmul f0, f1, f0
/* 80D623D4 FC 03 00 28 */ fsub f0, f3, f0
/* 80D623D8 FC 02 00 32 */ fmul f0, f2, f0
/* 80D623DC FF C1 00 32 */ fmul f30, f1, f0
/* 80D623E0 FF C0 F0 18 */ frsp f30, f30
/* 80D623E4 48 00 00 90 */ b lbl_80D62474
lbl_80D623E8:
/* 80D623E8 C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D623EC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D623F0 40 80 00 10 */ bge lbl_80D62400
/* 80D623F4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D623F8 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D623FC 48 00 00 78 */ b lbl_80D62474
lbl_80D62400:
/* 80D62400 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 80D62404 80 81 00 14 */ lwz r4, 0x14(r1)
/* 80D62408 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D6240C 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D62410 7C 03 00 00 */ cmpw r3, r0
/* 80D62414 41 82 00 14 */ beq lbl_80D62428
/* 80D62418 40 80 00 40 */ bge lbl_80D62458
/* 80D6241C 2C 03 00 00 */ cmpwi r3, 0
/* 80D62420 41 82 00 20 */ beq lbl_80D62440
/* 80D62424 48 00 00 34 */ b lbl_80D62458
lbl_80D62428:
/* 80D62428 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D6242C 41 82 00 0C */ beq lbl_80D62438
/* 80D62430 38 00 00 01 */ li r0, 1
/* 80D62434 48 00 00 28 */ b lbl_80D6245C
lbl_80D62438:
/* 80D62438 38 00 00 02 */ li r0, 2
/* 80D6243C 48 00 00 20 */ b lbl_80D6245C
lbl_80D62440:
/* 80D62440 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D62444 41 82 00 0C */ beq lbl_80D62450
/* 80D62448 38 00 00 05 */ li r0, 5
/* 80D6244C 48 00 00 10 */ b lbl_80D6245C
lbl_80D62450:
/* 80D62450 38 00 00 03 */ li r0, 3
/* 80D62454 48 00 00 08 */ b lbl_80D6245C
lbl_80D62458:
/* 80D62458 38 00 00 04 */ li r0, 4
lbl_80D6245C:
/* 80D6245C 2C 00 00 01 */ cmpwi r0, 1
/* 80D62460 40 82 00 10 */ bne lbl_80D62470
/* 80D62464 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62468 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D6246C 48 00 00 08 */ b lbl_80D62474
lbl_80D62470:
/* 80D62470 FF C0 08 90 */ fmr f30, f1
lbl_80D62474:
/* 80D62474 38 61 00 78 */ addi r3, r1, 0x78
/* 80D62478 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D6247C 4B 50 4A CD */ bl normalizeZP__4cXyzFv
/* 80D62480 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80D62484 D0 01 00 30 */ stfs f0, 0x30(r1)
/* 80D62488 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D6248C D0 01 00 34 */ stfs f0, 0x34(r1)
/* 80D62490 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80D62494 D0 01 00 38 */ stfs f0, 0x38(r1)
/* 80D62498 38 61 00 30 */ addi r3, r1, 0x30
/* 80D6249C 4B 5E 4C 9D */ bl PSVECSquareMag
/* 80D624A0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D624A4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D624A8 40 81 00 58 */ ble lbl_80D62500
/* 80D624AC FC 00 08 34 */ frsqrte f0, f1
/* 80D624B0 C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D624B4 FC 44 00 32 */ fmul f2, f4, f0
/* 80D624B8 C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D624BC FC 00 00 32 */ fmul f0, f0, f0
/* 80D624C0 FC 01 00 32 */ fmul f0, f1, f0
/* 80D624C4 FC 03 00 28 */ fsub f0, f3, f0
/* 80D624C8 FC 02 00 32 */ fmul f0, f2, f0
/* 80D624CC FC 44 00 32 */ fmul f2, f4, f0
/* 80D624D0 FC 00 00 32 */ fmul f0, f0, f0
/* 80D624D4 FC 01 00 32 */ fmul f0, f1, f0
/* 80D624D8 FC 03 00 28 */ fsub f0, f3, f0
/* 80D624DC FC 02 00 32 */ fmul f0, f2, f0
/* 80D624E0 FC 44 00 32 */ fmul f2, f4, f0
/* 80D624E4 FC 00 00 32 */ fmul f0, f0, f0
/* 80D624E8 FC 01 00 32 */ fmul f0, f1, f0
/* 80D624EC FC 03 00 28 */ fsub f0, f3, f0
/* 80D624F0 FC 02 00 32 */ fmul f0, f2, f0
/* 80D624F4 FC 21 00 32 */ fmul f1, f1, f0
/* 80D624F8 FC 20 08 18 */ frsp f1, f1
/* 80D624FC 48 00 00 88 */ b lbl_80D62584
lbl_80D62500:
/* 80D62500 C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D62504 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62508 40 80 00 10 */ bge lbl_80D62518
/* 80D6250C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62510 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D62514 48 00 00 70 */ b lbl_80D62584
lbl_80D62518:
/* 80D62518 D0 21 00 10 */ stfs f1, 0x10(r1)
/* 80D6251C 80 81 00 10 */ lwz r4, 0x10(r1)
/* 80D62520 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D62524 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D62528 7C 03 00 00 */ cmpw r3, r0
/* 80D6252C 41 82 00 14 */ beq lbl_80D62540
/* 80D62530 40 80 00 40 */ bge lbl_80D62570
/* 80D62534 2C 03 00 00 */ cmpwi r3, 0
/* 80D62538 41 82 00 20 */ beq lbl_80D62558
/* 80D6253C 48 00 00 34 */ b lbl_80D62570
lbl_80D62540:
/* 80D62540 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D62544 41 82 00 0C */ beq lbl_80D62550
/* 80D62548 38 00 00 01 */ li r0, 1
/* 80D6254C 48 00 00 28 */ b lbl_80D62574
lbl_80D62550:
/* 80D62550 38 00 00 02 */ li r0, 2
/* 80D62554 48 00 00 20 */ b lbl_80D62574
lbl_80D62558:
/* 80D62558 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D6255C 41 82 00 0C */ beq lbl_80D62568
/* 80D62560 38 00 00 05 */ li r0, 5
/* 80D62564 48 00 00 10 */ b lbl_80D62574
lbl_80D62568:
/* 80D62568 38 00 00 03 */ li r0, 3
/* 80D6256C 48 00 00 08 */ b lbl_80D62574
lbl_80D62570:
/* 80D62570 38 00 00 04 */ li r0, 4
lbl_80D62574:
/* 80D62574 2C 00 00 01 */ cmpwi r0, 1
/* 80D62578 40 82 00 0C */ bne lbl_80D62584
/* 80D6257C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62580 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D62584:
/* 80D62584 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80D62588 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D6258C 40 81 00 48 */ ble lbl_80D625D4
/* 80D62590 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80D62594 EC 20 08 24 */ fdivs f1, f0, f1
/* 80D62598 FC 1E 08 40 */ fcmpo cr0, f30, f1
/* 80D6259C 40 81 00 38 */ ble lbl_80D625D4
/* 80D625A0 38 61 00 6C */ addi r3, r1, 0x6c
/* 80D625A4 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D625A8 4B 50 45 DD */ bl __ml__4cXyzCFf
/* 80D625AC 38 61 00 60 */ addi r3, r1, 0x60
/* 80D625B0 7F C4 F3 78 */ mr r4, r30
/* 80D625B4 38 A1 00 6C */ addi r5, r1, 0x6c
/* 80D625B8 4B 50 45 2D */ bl __pl__4cXyzCFRC3Vec
/* 80D625BC C0 01 00 60 */ lfs f0, 0x60(r1)
/* 80D625C0 D0 01 00 CC */ stfs f0, 0xcc(r1)
/* 80D625C4 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 80D625C8 D0 01 00 D0 */ stfs f0, 0xd0(r1)
/* 80D625CC C0 01 00 68 */ lfs f0, 0x68(r1)
/* 80D625D0 D0 01 00 D4 */ stfs f0, 0xd4(r1)
lbl_80D625D4:
/* 80D625D4 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80D625D8 7F A4 EB 78 */ mr r4, r29
/* 80D625DC 38 A1 00 B4 */ addi r5, r1, 0xb4
/* 80D625E0 38 C1 00 20 */ addi r6, r1, 0x20
/* 80D625E4 4B 50 61 2D */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 80D625E8 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80D625EC 48 00 00 44 */ b lbl_80D62630
lbl_80D625F0:
/* 80D625F0 88 19 00 05 */ lbz r0, 5(r25)
/* 80D625F4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80D625F8 41 82 00 34 */ beq lbl_80D6262C
/* 80D625FC 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80D62600 38 9C 00 04 */ addi r4, r28, 4
/* 80D62604 80 B9 00 08 */ lwz r5, 8(r25)
/* 80D62608 38 A5 00 04 */ addi r5, r5, 4
/* 80D6260C 4B 50 CD 11 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec
/* 80D62610 38 61 00 C0 */ addi r3, r1, 0xc0
/* 80D62614 7F A4 EB 78 */ mr r4, r29
/* 80D62618 38 A1 00 B4 */ addi r5, r1, 0xb4
/* 80D6261C 38 C1 00 20 */ addi r6, r1, 0x20
/* 80D62620 4B 50 60 F1 */ bl cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf
/* 80D62624 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 80D62628 48 00 00 08 */ b lbl_80D62630
lbl_80D6262C:
/* 80D6262C 38 00 00 00 */ li r0, 0
lbl_80D62630:
/* 80D62630 2C 00 00 00 */ cmpwi r0, 0
/* 80D62634 40 82 02 C0 */ bne lbl_80D628F4
/* 80D62638 C0 1C 00 04 */ lfs f0, 4(r28)
/* 80D6263C D0 01 00 B4 */ stfs f0, 0xb4(r1)
/* 80D62640 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80D62644 D0 01 00 B8 */ stfs f0, 0xb8(r1)
/* 80D62648 C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 80D6264C D0 01 00 BC */ stfs f0, 0xbc(r1)
/* 80D62650 88 19 00 05 */ lbz r0, 5(r25)
/* 80D62654 54 00 07 FF */ clrlwi. r0, r0, 0x1f
/* 80D62658 40 82 02 9C */ bne lbl_80D628F4
/* 80D6265C 2C 1A 00 00 */ cmpwi r26, 0
/* 80D62660 41 82 00 14 */ beq lbl_80D62674
/* 80D62664 A0 79 00 00 */ lhz r3, 0(r25)
/* 80D62668 38 03 FF FF */ addi r0, r3, -1
/* 80D6266C 7C 1A 00 00 */ cmpw r26, r0
/* 80D62670 40 82 02 84 */ bne lbl_80D628F4
lbl_80D62674:
/* 80D62674 2C 1A 00 00 */ cmpwi r26, 0
/* 80D62678 40 82 00 0C */ bne lbl_80D62684
/* 80D6267C 38 7C 00 10 */ addi r3, r28, 0x10
/* 80D62680 48 00 00 08 */ b lbl_80D62688
lbl_80D62684:
/* 80D62684 38 7C FF F0 */ addi r3, r28, -16
lbl_80D62688:
/* 80D62688 C0 23 00 0C */ lfs f1, 0xc(r3)
/* 80D6268C C0 1C 00 0C */ lfs f0, 0xc(r28)
/* 80D62690 EC 61 00 28 */ fsubs f3, f1, f0
/* 80D62694 C0 23 00 08 */ lfs f1, 8(r3)
/* 80D62698 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80D6269C EC 41 00 28 */ fsubs f2, f1, f0
/* 80D626A0 C0 23 00 04 */ lfs f1, 4(r3)
/* 80D626A4 C0 1C 00 04 */ lfs f0, 4(r28)
/* 80D626A8 EC 01 00 28 */ fsubs f0, f1, f0
/* 80D626AC D0 01 00 A8 */ stfs f0, 0xa8(r1)
/* 80D626B0 D0 41 00 AC */ stfs f2, 0xac(r1)
/* 80D626B4 D0 61 00 B0 */ stfs f3, 0xb0(r1)
/* 80D626B8 38 61 00 A8 */ addi r3, r1, 0xa8
/* 80D626BC 4B 5E 4A 7D */ bl PSVECSquareMag
/* 80D626C0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D626C4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D626C8 40 81 00 58 */ ble lbl_80D62720
/* 80D626CC FC 00 08 34 */ frsqrte f0, f1
/* 80D626D0 C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D626D4 FC 44 00 32 */ fmul f2, f4, f0
/* 80D626D8 C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D626DC FC 00 00 32 */ fmul f0, f0, f0
/* 80D626E0 FC 01 00 32 */ fmul f0, f1, f0
/* 80D626E4 FC 03 00 28 */ fsub f0, f3, f0
/* 80D626E8 FC 02 00 32 */ fmul f0, f2, f0
/* 80D626EC FC 44 00 32 */ fmul f2, f4, f0
/* 80D626F0 FC 00 00 32 */ fmul f0, f0, f0
/* 80D626F4 FC 01 00 32 */ fmul f0, f1, f0
/* 80D626F8 FC 03 00 28 */ fsub f0, f3, f0
/* 80D626FC FC 02 00 32 */ fmul f0, f2, f0
/* 80D62700 FC 44 00 32 */ fmul f2, f4, f0
/* 80D62704 FC 00 00 32 */ fmul f0, f0, f0
/* 80D62708 FC 01 00 32 */ fmul f0, f1, f0
/* 80D6270C FC 03 00 28 */ fsub f0, f3, f0
/* 80D62710 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62714 FF C1 00 32 */ fmul f30, f1, f0
/* 80D62718 FF C0 F0 18 */ frsp f30, f30
/* 80D6271C 48 00 00 90 */ b lbl_80D627AC
lbl_80D62720:
/* 80D62720 C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D62724 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62728 40 80 00 10 */ bge lbl_80D62738
/* 80D6272C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62730 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D62734 48 00 00 78 */ b lbl_80D627AC
lbl_80D62738:
/* 80D62738 D0 21 00 0C */ stfs f1, 0xc(r1)
/* 80D6273C 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80D62740 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D62744 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D62748 7C 03 00 00 */ cmpw r3, r0
/* 80D6274C 41 82 00 14 */ beq lbl_80D62760
/* 80D62750 40 80 00 40 */ bge lbl_80D62790
/* 80D62754 2C 03 00 00 */ cmpwi r3, 0
/* 80D62758 41 82 00 20 */ beq lbl_80D62778
/* 80D6275C 48 00 00 34 */ b lbl_80D62790
lbl_80D62760:
/* 80D62760 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D62764 41 82 00 0C */ beq lbl_80D62770
/* 80D62768 38 00 00 01 */ li r0, 1
/* 80D6276C 48 00 00 28 */ b lbl_80D62794
lbl_80D62770:
/* 80D62770 38 00 00 02 */ li r0, 2
/* 80D62774 48 00 00 20 */ b lbl_80D62794
lbl_80D62778:
/* 80D62778 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D6277C 41 82 00 0C */ beq lbl_80D62788
/* 80D62780 38 00 00 05 */ li r0, 5
/* 80D62784 48 00 00 10 */ b lbl_80D62794
lbl_80D62788:
/* 80D62788 38 00 00 03 */ li r0, 3
/* 80D6278C 48 00 00 08 */ b lbl_80D62794
lbl_80D62790:
/* 80D62790 38 00 00 04 */ li r0, 4
lbl_80D62794:
/* 80D62794 2C 00 00 01 */ cmpwi r0, 1
/* 80D62798 40 82 00 10 */ bne lbl_80D627A8
/* 80D6279C 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D627A0 C3 C3 0A E0 */ lfs f30, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D627A4 48 00 00 08 */ b lbl_80D627AC
lbl_80D627A8:
/* 80D627A8 FF C0 08 90 */ fmr f30, f1
lbl_80D627AC:
/* 80D627AC 38 61 00 54 */ addi r3, r1, 0x54
/* 80D627B0 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D627B4 4B 50 47 95 */ bl normalizeZP__4cXyzFv
/* 80D627B8 C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 80D627BC D0 01 00 24 */ stfs f0, 0x24(r1)
/* 80D627C0 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D627C4 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 80D627C8 C0 01 00 B0 */ lfs f0, 0xb0(r1)
/* 80D627CC D0 01 00 2C */ stfs f0, 0x2c(r1)
/* 80D627D0 38 61 00 24 */ addi r3, r1, 0x24
/* 80D627D4 4B 5E 49 65 */ bl PSVECSquareMag
/* 80D627D8 C0 1F 00 08 */ lfs f0, 8(r31)
/* 80D627DC FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D627E0 40 81 00 58 */ ble lbl_80D62838
/* 80D627E4 FC 00 08 34 */ frsqrte f0, f1
/* 80D627E8 C8 9F 00 10 */ lfd f4, 0x10(r31)
/* 80D627EC FC 44 00 32 */ fmul f2, f4, f0
/* 80D627F0 C8 7F 00 18 */ lfd f3, 0x18(r31)
/* 80D627F4 FC 00 00 32 */ fmul f0, f0, f0
/* 80D627F8 FC 01 00 32 */ fmul f0, f1, f0
/* 80D627FC FC 03 00 28 */ fsub f0, f3, f0
/* 80D62800 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62804 FC 44 00 32 */ fmul f2, f4, f0
/* 80D62808 FC 00 00 32 */ fmul f0, f0, f0
/* 80D6280C FC 01 00 32 */ fmul f0, f1, f0
/* 80D62810 FC 03 00 28 */ fsub f0, f3, f0
/* 80D62814 FC 02 00 32 */ fmul f0, f2, f0
/* 80D62818 FC 44 00 32 */ fmul f2, f4, f0
/* 80D6281C FC 00 00 32 */ fmul f0, f0, f0
/* 80D62820 FC 01 00 32 */ fmul f0, f1, f0
/* 80D62824 FC 03 00 28 */ fsub f0, f3, f0
/* 80D62828 FC 02 00 32 */ fmul f0, f2, f0
/* 80D6282C FC 21 00 32 */ fmul f1, f1, f0
/* 80D62830 FC 20 08 18 */ frsp f1, f1
/* 80D62834 48 00 00 88 */ b lbl_80D628BC
lbl_80D62838:
/* 80D62838 C8 1F 00 20 */ lfd f0, 0x20(r31)
/* 80D6283C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D62840 40 80 00 10 */ bge lbl_80D62850
/* 80D62844 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D62848 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
/* 80D6284C 48 00 00 70 */ b lbl_80D628BC
lbl_80D62850:
/* 80D62850 D0 21 00 08 */ stfs f1, 8(r1)
/* 80D62854 80 81 00 08 */ lwz r4, 8(r1)
/* 80D62858 54 83 00 50 */ rlwinm r3, r4, 0, 1, 8
/* 80D6285C 3C 00 7F 80 */ lis r0, 0x7f80
/* 80D62860 7C 03 00 00 */ cmpw r3, r0
/* 80D62864 41 82 00 14 */ beq lbl_80D62878
/* 80D62868 40 80 00 40 */ bge lbl_80D628A8
/* 80D6286C 2C 03 00 00 */ cmpwi r3, 0
/* 80D62870 41 82 00 20 */ beq lbl_80D62890
/* 80D62874 48 00 00 34 */ b lbl_80D628A8
lbl_80D62878:
/* 80D62878 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D6287C 41 82 00 0C */ beq lbl_80D62888
/* 80D62880 38 00 00 01 */ li r0, 1
/* 80D62884 48 00 00 28 */ b lbl_80D628AC
lbl_80D62888:
/* 80D62888 38 00 00 02 */ li r0, 2
/* 80D6288C 48 00 00 20 */ b lbl_80D628AC
lbl_80D62890:
/* 80D62890 54 80 02 7F */ clrlwi. r0, r4, 9
/* 80D62894 41 82 00 0C */ beq lbl_80D628A0
/* 80D62898 38 00 00 05 */ li r0, 5
/* 80D6289C 48 00 00 10 */ b lbl_80D628AC
lbl_80D628A0:
/* 80D628A0 38 00 00 03 */ li r0, 3
/* 80D628A4 48 00 00 08 */ b lbl_80D628AC
lbl_80D628A8:
/* 80D628A8 38 00 00 04 */ li r0, 4
lbl_80D628AC:
/* 80D628AC 2C 00 00 01 */ cmpwi r0, 1
/* 80D628B0 40 82 00 0C */ bne lbl_80D628BC
/* 80D628B4 3C 60 80 45 */ lis r3, __float_nan@ha /* 0x80450AE0@ha */
/* 80D628B8 C0 23 0A E0 */ lfs f1, __float_nan@l(r3) /* 0x80450AE0@l */
lbl_80D628BC:
/* 80D628BC C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 80D628C0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80D628C4 40 81 00 30 */ ble lbl_80D628F4
/* 80D628C8 C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 80D628CC EC 20 08 24 */ fdivs f1, f0, f1
/* 80D628D0 FC 1E 08 40 */ fcmpo cr0, f30, f1
/* 80D628D4 40 81 00 20 */ ble lbl_80D628F4
/* 80D628D8 38 61 00 48 */ addi r3, r1, 0x48
/* 80D628DC 38 81 00 A8 */ addi r4, r1, 0xa8
/* 80D628E0 4B 50 42 A5 */ bl __ml__4cXyzCFf
/* 80D628E4 38 61 00 B4 */ addi r3, r1, 0xb4
/* 80D628E8 38 81 00 48 */ addi r4, r1, 0x48
/* 80D628EC 7C 65 1B 78 */ mr r5, r3
/* 80D628F0 4B 5E 47 A1 */ bl PSVECAdd
lbl_80D628F4:
/* 80D628F4 7F A3 EB 78 */ mr r3, r29
/* 80D628F8 38 81 00 B4 */ addi r4, r1, 0xb4
/* 80D628FC 4B 5E 4A A1 */ bl PSVECSquareDistance
/* 80D62900 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 80D62904 FC 1F 08 40 */ fcmpo cr0, f31, f1
/* 80D62908 40 81 00 24 */ ble lbl_80D6292C
/* 80D6290C FF E0 08 90 */ fmr f31, f1
/* 80D62910 7F 5B D3 78 */ mr r27, r26
/* 80D62914 C0 01 00 B4 */ lfs f0, 0xb4(r1)
/* 80D62918 D0 18 00 00 */ stfs f0, 0(r24)
/* 80D6291C C0 01 00 B8 */ lfs f0, 0xb8(r1)
/* 80D62920 D0 18 00 04 */ stfs f0, 4(r24)
/* 80D62924 C0 01 00 BC */ lfs f0, 0xbc(r1)
/* 80D62928 D0 18 00 08 */ stfs f0, 8(r24)
lbl_80D6292C:
/* 80D6292C 3B 5A 00 01 */ addi r26, r26, 1
/* 80D62930 3B 9C 00 10 */ addi r28, r28, 0x10
lbl_80D62934:
/* 80D62934 A0 79 00 00 */ lhz r3, 0(r25)
/* 80D62938 7C 1A 18 00 */ cmpw r26, r3
/* 80D6293C 41 80 F7 50 */ blt lbl_80D6208C
/* 80D62940 3C 60 80 D6 */ lis r3, __vt__8cM3dGLin@ha /* 0x80D62CE8@ha */
/* 80D62944 38 03 2C E8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x80D62CE8@l */
/* 80D62948 90 01 00 D8 */ stw r0, 0xd8(r1)
/* 80D6294C 7F 63 DB 78 */ mr r3, r27
/* 80D62950 E3 E1 01 18 */ psq_l f31, 280(r1), 0, 0 /* qr0 */
/* 80D62954 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 80D62958 E3 C1 01 08 */ psq_l f30, 264(r1), 0, 0 /* qr0 */
/* 80D6295C CB C1 01 00 */ lfd f30, 0x100(r1)
/* 80D62960 39 61 01 00 */ addi r11, r1, 0x100
/* 80D62964 4B 5F F8 B1 */ bl _restgpr_24
/* 80D62968 80 01 01 24 */ lwz r0, 0x124(r1)
/* 80D6296C 7C 08 03 A6 */ mtlr r0
/* 80D62970 38 21 01 20 */ addi r1, r1, 0x120
/* 80D62974 4E 80 00 20 */ blr

View File

@ -24,6 +24,9 @@ public:
void set(const Vec& i_start, const Vec& i_end) { SetStartEnd(i_start, i_end); }
const cXyz& GetStartP(void) const { return mStart; }
cXyz& GetStartP(void) { return mStart; }
cXyz& GetStart() { return mStart; }
const cXyz& GetStart() const { return mStart; }
const cXyz& GetEndP(void) const { return mEnd; }
cXyz& GetEndP(void) { return mEnd; }
cXyz& GetEnd() { return mEnd; }

View File

@ -1,15 +1,26 @@
#ifndef D_A_TAG_SPPATH_H
#define D_A_TAG_SPPATH_H
#include "f_op/f_op_actor.h"
#include "d/cc/d_cc_d.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_path.h"
class daTagSppath_c : public fopAc_ac_c {
public:
/* 80D61C18 */ void create();
/* 80D61C18 */ int create();
/* 80D61EC4 */ ~daTagSppath_c();
/* 80D62024 */ void getNearPathPos(cXyz*, dPath*);
/* 80D629C0 */ void execute();
/* 80D62024 */ int getNearPathPos(cXyz*, dPath*);
/* 80D629C0 */ int execute();
/* 0x568 */ dPath* mpInitPath;
/* 0x56C */ dPath* mpBestPath;
/* 0x570 */ dCcD_Cyl mCyl;
/* 0x6AC */ dCcD_Stts mStts;
/* 0x6E8 */ u8 field_0x6e8;
/* 0x6E9 */ u8 mSwNo1;
/* 0x6EA */ u8 mSwNo2;
/* 0x6EC */ u16 mBestNo;
/* 0x6F0 */ f32 mHeight;
};
#endif /* D_A_TAG_SPPATH_H */

View File

@ -1,365 +1,231 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_tag_sppath
//
/**
* d_a_tag_sppath.cpp
* Tag - Spinner Path
*/
#include "rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath.h"
#include "d/cc/d_cc_d.h"
#include "dol2asm.h"
//
// Types:
//
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
//
// Forward References:
//
extern "C" void create__13daTagSppath_cFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" static void daTagSppath_Create__FP10fopAc_ac_c();
extern "C" void __dt__13daTagSppath_cFv();
extern "C" static void daTagSppath_Delete__FP13daTagSppath_c();
extern "C" void getNearPathPos__13daTagSppath_cFP4cXyzP5dPath();
extern "C" void __dt__8cM3dGLinFv();
extern "C" void execute__13daTagSppath_cFv();
extern "C" static void daTagSppath_Execute__FP13daTagSppath_c();
extern "C" static bool daTagSppath_Draw__FP13daTagSppath_c();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" extern char const* const d_a_tag_sppath__stringBase0;
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void __dt__10fopAc_ac_cFv();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void dPath_GetRoomPath__Fii();
extern "C" void dPath_GetNextRoomPath__FPC5dPathi();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void __dt__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void __pl__4cXyzCFRC3Vec();
extern "C" void __ml__4cXyzCFf();
extern "C" void normalizeZP__4cXyzFv();
extern "C" void cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec();
extern "C" void __dl__FPv();
extern "C" void _savegpr_24();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_24();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
/* ############################################################################################## */
/* 80D62C18-80D62C1C 000000 0004+00 2/2 0/0 0/0 .rodata @3694 */
SECTION_RODATA static f32 const lit_3694 = 600.0f;
COMPILER_STRIP_GATE(0x80D62C18, &lit_3694);
/* 80D62C1C-80D62C20 000004 0004+00 1/1 0/0 0/0 .rodata @3695 */
SECTION_RODATA static f32 const lit_3695 = 100.0f;
COMPILER_STRIP_GATE(0x80D62C1C, &lit_3695);
/* 80D62C4C-80D62C4C 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80D62C4C = "D_MN10A";
#pragma pop
#include "d/a/d_a_player.h"
#include "math.h"
/* 80D62C54-80D62C98 000000 0044+00 1/1 0/0 0/0 .data l_cylSrc */
static dCcD_SrcCyl l_cylSrc = {
{
{0x0, {{0x0, 0x0, 0x0}, {0x80000, 0x11}, 0x0}}, // mObj
{dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{0x0, {{0x0, 0x0, 0x0}, {0x80000, 0x11}, 0x0}}, // mObj
{dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x4}, // mGObjTg
{0x0}, // mGObjCo
}, // mObjInf
{
{0.0f, 0.0f, 0.0f}, // mCenter
30.0f, // mRadius
100.0f // mHeight
} // mCyl
};
/* 80D62C98-80D62CB8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSppath_Method */
SECTION_DATA static void* l_daTagSppath_Method[8] = {
(void*)daTagSppath_Create__FP10fopAc_ac_c,
(void*)daTagSppath_Delete__FP13daTagSppath_c,
(void*)daTagSppath_Execute__FP13daTagSppath_c,
(void*)NULL,
(void*)daTagSppath_Draw__FP13daTagSppath_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 80D62CB8-80D62CE8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Sppath */
SECTION_DATA extern void* g_profile_Tag_Sppath[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x02C60000, (void*)&g_fpcLf_Method,
(void*)0x000006F4, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x01020000, (void*)&l_daTagSppath_Method,
(void*)0x00044000, (void*)0x030E0000,
};
/* 80D62CE8-80D62CF4 000094 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,
};
/* 80D62CF4-80D62D00 0000A0 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10cCcD_GSttsFv,
};
/* 80D62D00-80D62D0C 0000AC 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10dCcD_GSttsFv,
};
/* 80D62D0C-80D62D18 0000B8 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 80D62D18-80D62D24 0000C4 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
{0.0f, 0.0f, 0.0f}, // mCenter
30.0f, // mRadius
100.0f // mHeight
} // mCyl
};
/* 80D61C18-80D61DB8 000078 01A0+00 1/1 0/0 0/0 .text create__13daTagSppath_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSppath_c::create() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/create__13daTagSppath_cFv.s"
}
#pragma pop
int daTagSppath_c::create() {
fopAcM_SetupActor(this, daTagSppath_c);
/* 80D61DB8-80D61E14 000218 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dCcD_GStts::~dCcD_GStts() {
extern "C" asm void __dt__10dCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__10dCcD_GSttsFv.s"
}
#pragma pop
mSwNo1 = fopAcM_GetParamBit(this, 8, 8);
mSwNo2 = fopAcM_GetParamBit(this, 16, 8);
s32 pathIndex = fopAcM_GetParam(this) & 0xff;
/* 80D61E14-80D61E5C 000274 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGCyl::~cM3dGCyl() {
extern "C" asm void __dt__8cM3dGCylFv() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGCylFv.s"
}
#pragma pop
if (pathIndex == 0xff ||
(mpInitPath = dPath_GetRoomPath(pathIndex, fopAcM_GetRoomNo(this))) == NULL)
{
return cPhs_ERROR_e;
}
/* 80D61E5C-80D61EA4 0002BC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGAab::~cM3dGAab() {
extern "C" asm void __dt__8cM3dGAabFv() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGAabFv.s"
mStts.Init(0, 0xff, this);
mCyl.Set(l_cylSrc);
mCyl.SetStts(&mStts);
if (strcmp(dComIfGp_getStartStageName(), "D_MN10A") == 0) {
mHeight = 600.0;
mCyl.SetH(mHeight);
} else {
mHeight = 100.0;
}
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80D61EA4-80D61EC4 000304 0020+00 1/0 0/0 0/0 .text daTagSppath_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSppath_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/daTagSppath_Create__FP10fopAc_ac_c.s"
static int daTagSppath_Create(fopAc_ac_c* i_this) {
return static_cast<daTagSppath_c*>(i_this)->create();
}
#pragma pop
/* 80D61EC4-80D61FFC 000324 0138+00 1/1 0/0 0/0 .text __dt__13daTagSppath_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm daTagSppath_c::~daTagSppath_c() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__13daTagSppath_cFv.s"
}
#pragma pop
daTagSppath_c::~daTagSppath_c() {}
/* 80D61FFC-80D62024 00045C 0028+00 1/0 0/0 0/0 .text daTagSppath_Delete__FP13daTagSppath_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSppath_Delete(daTagSppath_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/daTagSppath_Delete__FP13daTagSppath_c.s"
static int daTagSppath_Delete(daTagSppath_c* i_this) {
i_this->~daTagSppath_c();
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80D62C20-80D62C28 000008 0004+04 0/1 0/0 0/0 .rodata @4100 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4100[4 + 4 /* padding */] = {
0x00,
0x00,
0x00,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80D62C20, &lit_4100);
#pragma pop
/* 80D62C28-80D62C30 000010 0008+00 0/1 0/0 0/0 .rodata @4101 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4101[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D62C28, &lit_4101);
#pragma pop
/* 80D62C30-80D62C38 000018 0008+00 0/1 0/0 0/0 .rodata @4102 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4102[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D62C30, &lit_4102);
#pragma pop
/* 80D62C38-80D62C40 000020 0008+00 0/1 0/0 0/0 .rodata @4103 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_4103[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80D62C38, &lit_4103);
#pragma pop
/* 80D62C40-80D62C44 000028 0004+00 0/1 0/0 0/0 .rodata @4104 */
#pragma push
#pragma force_active on
SECTION_RODATA static u32 const lit_4104 = 0x3A83126F;
COMPILER_STRIP_GATE(0x80D62C40, &lit_4104);
#pragma pop
/* 80D62C44-80D62C48 00002C 0004+00 0/1 0/0 0/0 .rodata @4105 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4105 = 30.0f;
COMPILER_STRIP_GATE(0x80D62C44, &lit_4105);
#pragma pop
/* 80D62024-80D62978 000484 0954+00 1/1 0/0 0/1 .text
* getNearPathPos__13daTagSppath_cFP4cXyzP5dPath */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSppath_c::getNearPathPos(cXyz* param_0, dPath* param_1) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/getNearPathPos__13daTagSppath_cFP4cXyzP5dPath.s"
}
#pragma pop
int daTagSppath_c::getNearPathPos(cXyz* i_result, dPath* i_path) {
daPy_py_c* py = daPy_getPlayerActorClass();
cXyz* pyCurPos = &py->current.pos;
dStage_dPnt_c* curPnt = i_path->m_points;
f32 bestDist = FLT_MAX;
/* 80D62978-80D629C0 000DD8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGLinFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cM3dGLin::~cM3dGLin() {
extern "C" asm void __dt__8cM3dGLinFv() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__8cM3dGLinFv.s"
}
#pragma pop
int bestNo;
BOOL isValid;
cM3dGLin line;
cXyz nearestPointOnSeg;
cXyz pntDiff;
f32 distToSeg;
/* ############################################################################################## */
/* 80D62C48-80D62C4C 000030 0004+00 1/1 0/0 0/0 .rodata @4167 */
SECTION_RODATA static f32 const lit_4167 = 0.5f;
COMPILER_STRIP_GATE(0x80D62C48, &lit_4167);
for (int i = 0; i < i_path->m_num; i++, curPnt++) {
if (i != i_path->m_num - 1) {
line.set(curPnt[0].m_position, curPnt[1].m_position);
if (!dPath_ChkClose(i_path)) {
if (i == 0) {
pntDiff.set(curPnt[1].m_position.x - curPnt[0].m_position.x,
curPnt[1].m_position.y - curPnt[0].m_position.y,
curPnt[1].m_position.z - curPnt[0].m_position.z);
f32 segLen = pntDiff.abs();
pntDiff.normalizeZP();
f32 flatness = pntDiff.absXZ();
if (flatness > 0.001f && segLen > 30.0f / flatness) {
line.GetStartP() = line.GetStart() + pntDiff * (30.0f / flatness);
}
}
if (i == i_path->m_num - 2) {
pntDiff.set(curPnt[0].m_position.x - curPnt[1].m_position.x,
curPnt[0].m_position.y - curPnt[1].m_position.y,
curPnt[0].m_position.z - curPnt[1].m_position.z);
f32 segLen = pntDiff.abs();
pntDiff.normalizeZP();
f32 flatness = pntDiff.absXZ();
if (flatness > 0.001f && segLen > 30.0f / flatness) {
line.GetEndP() = line.GetEnd() + pntDiff * (30.0f / flatness);
}
}
}
isValid = cM3d_Len3dSqPntAndSegLine(&line, pyCurPos, &nearestPointOnSeg, &distToSeg);
} else {
if (dPath_ChkClose(i_path)) {
line.set(curPnt->m_position, i_path->m_points[0].m_position);
isValid =
cM3d_Len3dSqPntAndSegLine(&line, pyCurPos, &nearestPointOnSeg, &distToSeg);
} else {
isValid = 0;
}
}
if (isValid == 0) {
nearestPointOnSeg = curPnt->m_position;
if (!dPath_ChkClose(i_path) && ((i == 0 || (i == i_path->m_num - 1)))) {
dStage_dPnt_c* adjPnt;
if (i == 0) {
adjPnt = curPnt + 1;
} else {
adjPnt = curPnt - 1;
}
pntDiff.set(adjPnt->m_position.x - curPnt->m_position.x,
adjPnt->m_position.y - curPnt->m_position.y,
adjPnt->m_position.z - curPnt->m_position.z);
f32 segLen = pntDiff.abs();
pntDiff.normalizeZP();
f32 flatness = pntDiff.absXZ();
if (flatness > 0.001f && segLen > 30.0f / flatness) {
nearestPointOnSeg += pntDiff * (30.0f / flatness);
}
}
}
distToSeg = pyCurPos->abs2(nearestPointOnSeg);
if (bestDist > distToSeg) {
bestDist = distToSeg;
bestNo = i;
*i_result = nearestPointOnSeg;
}
}
return bestNo;
}
/* 80D629C0-80D62BA0 000E20 01E0+00 1/1 0/0 0/0 .text execute__13daTagSppath_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daTagSppath_c::execute() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/execute__13daTagSppath_cFv.s"
int daTagSppath_c::execute() {
daPy_py_c* py = daPy_getPlayerActorClass();
if (py->checkSpinnerRide() == 0 || (mSwNo1 != 0xff && !fopAcM_isSwitch(this, mSwNo1)) ||
(mSwNo2 != 0xff && fopAcM_isSwitch(this, mSwNo2)))
{
return 1;
}
dPath* path = mpInitPath;
f32 bestDist = FLT_MAX;
for (; path != NULL; path = dPath_GetNextRoomPath(path, fopAcM_GetRoomNo(this))) {
cXyz nearestPointOnPath;
int no = getNearPathPos(&nearestPointOnPath, path);
f32 dist = nearestPointOnPath.abs2(py->current.pos);
if (dist < bestDist) {
bestDist = dist;
current.pos = nearestPointOnPath;
mpBestPath = path;
mBestNo = no;
}
}
if (mpBestPath->field_0x4 == 0) {
u32 swNo = mpBestPath->field_0x6;
if (swNo == 0xff || fopAcM_isSwitch(this, swNo) == 0) {
field_0x6e8 = 1;
} else {
field_0x6e8 = 2;
}
} else {
field_0x6e8 = 0;
}
mCyl.SetC(cXyz(current.pos.x, current.pos.y - mHeight * 0.5f, current.pos.z));
dComIfG_Ccsp()->Set(&mCyl);
return 1;
}
#pragma pop
/* 80D62BA0-80D62BC0 001000 0020+00 1/0 0/0 0/0 .text daTagSppath_Execute__FP13daTagSppath_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daTagSppath_Execute(daTagSppath_c* param_0) {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/daTagSppath_Execute__FP13daTagSppath_c.s"
static int daTagSppath_Execute(daTagSppath_c* tag) {
return tag->execute();
}
#pragma pop
/* 80D62BC0-80D62BC8 001020 0008+00 1/0 0/0 0/0 .text daTagSppath_Draw__FP13daTagSppath_c
*/
static bool daTagSppath_Draw(daTagSppath_c* param_0) {
return true;
static int daTagSppath_Draw(daTagSppath_c* i_this) {
return 1;
}
/* 80D62BC8-80D62C10 001028 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm cCcD_GStts::~cCcD_GStts() {
extern "C" asm void __dt__10cCcD_GSttsFv() {
nofralloc
#include "asm/rel/d/a/tag/d_a_tag_sppath/d_a_tag_sppath/__dt__10cCcD_GSttsFv.s"
}
#pragma pop
/* ############################################################################################## */
/* 80D62C98-80D62CB8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagSppath_Method */
static actor_method_class l_daTagSppath_Method = {
(process_method_func)daTagSppath_Create, (process_method_func)daTagSppath_Delete,
(process_method_func)daTagSppath_Execute, (process_method_func)NULL,
(process_method_func)daTagSppath_Draw,
};
/* 80D62C4C-80D62C4C 000034 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
/* 80D62CB8-80D62CE8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Sppath */
extern actor_process_profile_definition g_profile_Tag_Sppath = {
fpcLy_CURRENT_e, // mLayerID
7, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Tag_Sppath, // mProcName,
&g_fpcLf_Method.mBase, // sub_method
sizeof(daTagSppath_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
258, // mPriority
&l_daTagSppath_Method, // sub_method
0x44000, // mStatus
fopAc_ENV_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};