diff --git a/asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s b/asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s deleted file mode 100644 index bce3138a5f..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s +++ /dev/null @@ -1,19 +0,0 @@ -lbl_80267BDC: -/* 80267BDC 80 A3 00 08 */ lwz r5, 8(r3) -/* 80267BE0 3C 05 00 01 */ addis r0, r5, 1 -/* 80267BE4 28 00 FF FF */ cmplwi r0, 0xffff -/* 80267BE8 41 82 00 1C */ beq lbl_80267C04 -/* 80267BEC 3C 04 00 01 */ addis r0, r4, 1 -/* 80267BF0 28 00 FF FF */ cmplwi r0, 0xffff -/* 80267BF4 41 82 00 10 */ beq lbl_80267C04 -/* 80267BF8 88 03 00 0C */ lbz r0, 0xc(r3) -/* 80267BFC 28 00 00 00 */ cmplwi r0, 0 -/* 80267C00 40 82 00 0C */ bne lbl_80267C0C -lbl_80267C04: -/* 80267C04 38 60 00 00 */ li r3, 0 -/* 80267C08 4E 80 00 20 */ blr -lbl_80267C0C: -/* 80267C0C 7C 05 20 50 */ subf r0, r5, r4 -/* 80267C10 7C 00 00 34 */ cntlzw r0, r0 -/* 80267C14 54 03 DE 3E */ rlwinm r3, r0, 0x1b, 0x18, 0x1f -/* 80267C18 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s b/asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s deleted file mode 100644 index 2e68d91cda..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80267BB8: -/* 80267BB8 80 04 00 00 */ lwz r0, 0(r4) -/* 80267BBC 90 03 00 00 */ stw r0, 0(r3) -/* 80267BC0 80 04 00 04 */ lwz r0, 4(r4) -/* 80267BC4 90 03 00 04 */ stw r0, 4(r3) -/* 80267BC8 80 04 00 08 */ lwz r0, 8(r4) -/* 80267BCC 90 03 00 08 */ stw r0, 8(r3) -/* 80267BD0 88 04 00 0C */ lbz r0, 0xc(r4) -/* 80267BD4 98 03 00 0C */ stb r0, 0xc(r3) -/* 80267BD8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s b/asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s deleted file mode 100644 index 934c5d0a47..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80267B4C: -/* 80267B4C 3C 80 80 3C */ lis r4, __vt__8cBgS_Chk@ha /* 0x803C3F80@ha */ -/* 80267B50 38 04 3F 80 */ addi r0, r4, __vt__8cBgS_Chk@l /* 0x803C3F80@l */ -/* 80267B54 90 03 00 10 */ stw r0, 0x10(r3) -/* 80267B58 38 00 00 00 */ li r0, 0 -/* 80267B5C 90 03 00 00 */ stw r0, 0(r3) -/* 80267B60 90 03 00 04 */ stw r0, 4(r3) -/* 80267B64 38 00 00 01 */ li r0, 1 -/* 80267B68 98 03 00 0C */ stb r0, 0xc(r3) -/* 80267B6C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s b/asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s deleted file mode 100644 index d570cebab9..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_80267B70: -/* 80267B70 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80267B74 7C 08 02 A6 */ mflr r0 -/* 80267B78 90 01 00 14 */ stw r0, 0x14(r1) -/* 80267B7C 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80267B80 7C 7F 1B 79 */ or. r31, r3, r3 -/* 80267B84 41 82 00 1C */ beq lbl_80267BA0 -/* 80267B88 3C A0 80 3C */ lis r5, __vt__8cBgS_Chk@ha /* 0x803C3F80@ha */ -/* 80267B8C 38 05 3F 80 */ addi r0, r5, __vt__8cBgS_Chk@l /* 0x803C3F80@l */ -/* 80267B90 90 1F 00 10 */ stw r0, 0x10(r31) -/* 80267B94 7C 80 07 35 */ extsh. r0, r4 -/* 80267B98 40 81 00 08 */ ble lbl_80267BA0 -/* 80267B9C 48 06 71 A1 */ bl __dl__FPv -lbl_80267BA0: -/* 80267BA0 7F E3 FB 78 */ mr r3, r31 -/* 80267BA4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80267BA8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80267BAC 7C 08 03 A6 */ mtlr r0 -/* 80267BB0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80267BB4 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s b/asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s deleted file mode 100644 index b63de383ce..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802681AC: -/* 802681AC A0 03 00 02 */ lhz r0, 2(r3) -/* 802681B0 20 60 01 00 */ subfic r3, r0, 0x100 -/* 802681B4 30 03 FF FF */ addic r0, r3, -1 -/* 802681B8 7C 60 19 10 */ subfe r3, r0, r3 -/* 802681BC 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s b/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s deleted file mode 100644 index 1f9488c4be..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8026817C: -/* 8026817C 80 03 00 04 */ lwz r0, 4(r3) -/* 80268180 7C 00 20 40 */ cmplw r0, r4 -/* 80268184 40 82 00 18 */ bne lbl_8026819C -/* 80268188 80 03 00 08 */ lwz r0, 8(r3) -/* 8026818C 7C 00 28 40 */ cmplw r0, r5 -/* 80268190 40 82 00 0C */ bne lbl_8026819C -/* 80268194 38 60 00 01 */ li r3, 1 -/* 80268198 4E 80 00 20 */ blr -lbl_8026819C: -/* 8026819C 38 60 00 00 */ li r3, 0 -/* 802681A0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s b/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s deleted file mode 100644 index 24b19f9326..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_802680F8: -/* 802680F8 A0 03 00 00 */ lhz r0, 0(r3) -/* 802680FC 28 00 FF FF */ cmplwi r0, 0xffff -/* 80268100 41 82 00 10 */ beq lbl_80268110 -/* 80268104 A0 03 00 02 */ lhz r0, 2(r3) -/* 80268108 28 00 01 00 */ cmplwi r0, 0x100 -/* 8026810C 40 82 00 0C */ bne lbl_80268118 -lbl_80268110: -/* 80268110 38 60 00 00 */ li r3, 0 -/* 80268114 4E 80 00 20 */ blr -lbl_80268118: -/* 80268118 38 60 00 01 */ li r3, 1 -/* 8026811C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s b/asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s deleted file mode 100644 index b4611a2b7b..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80268120: -/* 80268120 3C 80 00 01 */ lis r4, 0x0001 /* 0x0000FFFF@ha */ -/* 80268124 38 04 FF FF */ addi r0, r4, 0xFFFF /* 0x0000FFFF@l */ -/* 80268128 B0 03 00 00 */ sth r0, 0(r3) -/* 8026812C 38 00 01 00 */ li r0, 0x100 -/* 80268130 B0 03 00 02 */ sth r0, 2(r3) -/* 80268134 38 00 00 00 */ li r0, 0 -/* 80268138 90 03 00 04 */ stw r0, 4(r3) -/* 8026813C 38 00 FF FF */ li r0, -1 -/* 80268140 90 03 00 08 */ stw r0, 8(r3) -/* 80268144 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s b/asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s deleted file mode 100644 index 71864f77ef..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_8026816C: -/* 8026816C B0 83 00 02 */ sth r4, 2(r3) -/* 80268170 90 A3 00 04 */ stw r5, 4(r3) -/* 80268174 90 C3 00 08 */ stw r6, 8(r3) -/* 80268178 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s b/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s deleted file mode 100644 index 50fdc78d01..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_802681A4: -/* 802681A4 B0 83 00 00 */ sth r4, 0(r3) -/* 802681A8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s b/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s deleted file mode 100644 index 439de41495..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s +++ /dev/null @@ -1,10 +0,0 @@ -lbl_80268148: -/* 80268148 A0 04 00 00 */ lhz r0, 0(r4) -/* 8026814C B0 03 00 00 */ sth r0, 0(r3) -/* 80268150 A0 04 00 02 */ lhz r0, 2(r4) -/* 80268154 B0 03 00 02 */ sth r0, 2(r3) -/* 80268158 80 04 00 04 */ lwz r0, 4(r4) -/* 8026815C 90 03 00 04 */ stw r0, 4(r3) -/* 80268160 80 04 00 08 */ lwz r0, 8(r4) -/* 80268164 90 03 00 08 */ stw r0, 8(r3) -/* 80268168 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s b/asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s deleted file mode 100644 index 7ae42018f2..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80268074: -/* 80268074 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80268078 7C 08 02 A6 */ mflr r0 -/* 8026807C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80268080 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80268084 7C 7F 1B 78 */ mr r31, r3 -/* 80268088 3C 80 80 3C */ lis r4, __vt__13cBgS_PolyInfo@ha /* 0x803C3FD0@ha */ -/* 8026808C 38 04 3F D0 */ addi r0, r4, __vt__13cBgS_PolyInfo@l /* 0x803C3FD0@l */ -/* 80268090 90 03 00 0C */ stw r0, 0xc(r3) -/* 80268094 48 00 00 8D */ bl ClearPi__13cBgS_PolyInfoFv -/* 80268098 7F E3 FB 78 */ mr r3, r31 -/* 8026809C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802680A0 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802680A4 7C 08 03 A6 */ mtlr r0 -/* 802680A8 38 21 00 10 */ addi r1, r1, 0x10 -/* 802680AC 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s b/asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s deleted file mode 100644 index 5de3eaed7d..0000000000 --- a/asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s +++ /dev/null @@ -1,20 +0,0 @@ -lbl_802680B0: -/* 802680B0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 802680B4 7C 08 02 A6 */ mflr r0 -/* 802680B8 90 01 00 14 */ stw r0, 0x14(r1) -/* 802680BC 93 E1 00 0C */ stw r31, 0xc(r1) -/* 802680C0 7C 7F 1B 79 */ or. r31, r3, r3 -/* 802680C4 41 82 00 1C */ beq lbl_802680E0 -/* 802680C8 3C A0 80 3C */ lis r5, __vt__13cBgS_PolyInfo@ha /* 0x803C3FD0@ha */ -/* 802680CC 38 05 3F D0 */ addi r0, r5, __vt__13cBgS_PolyInfo@l /* 0x803C3FD0@l */ -/* 802680D0 90 1F 00 0C */ stw r0, 0xc(r31) -/* 802680D4 7C 80 07 35 */ extsh. r0, r4 -/* 802680D8 40 81 00 08 */ ble lbl_802680E0 -/* 802680DC 48 06 6C 61 */ bl __dl__FPv -lbl_802680E0: -/* 802680E0 7F E3 FB 78 */ mr r3, r31 -/* 802680E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802680E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 802680EC 7C 08 03 A6 */ mtlr r0 -/* 802680F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 802680F4 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s b/asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s deleted file mode 100644 index cd1cb475ee..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_802681D4: -/* 802681D4 A0 63 00 00 */ lhz r3, 0(r3) -/* 802681D8 38 03 FF 00 */ addi r0, r3, -256 -/* 802681DC 54 03 0F FE */ srwi r3, r0, 0x1f -/* 802681E0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s b/asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s deleted file mode 100644 index d9e45b3aca..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s +++ /dev/null @@ -1,3 +0,0 @@ -lbl_802681C0: -/* 802681C0 B0 83 00 00 */ sth r4, 0(r3) -/* 802681C4 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s b/asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s deleted file mode 100644 index 35d57ba96b..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s +++ /dev/null @@ -1,4 +0,0 @@ -lbl_802681C8: -/* 802681C8 38 00 01 00 */ li r0, 0x100 -/* 802681CC B0 03 00 00 */ sth r0, 0(r3) -/* 802681D0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s b/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s deleted file mode 100644 index d06defb343..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_802681E4: -/* 802681E4 C0 02 B6 E8 */ lfs f0, lit_2242(r2) -/* 802681E8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802681EC 4C 41 13 82 */ cror 2, 1, 2 -/* 802681F0 7C 00 00 26 */ mfcr r0 -/* 802681F4 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f -/* 802681F8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s b/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s deleted file mode 100644 index 9935523187..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s +++ /dev/null @@ -1,6 +0,0 @@ -lbl_802681FC: -/* 802681FC C0 02 B6 EC */ lfs f0, lit_2249(r2) -/* 80268200 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268204 7C 00 00 26 */ mfcr r0 -/* 80268208 54 03 0F FE */ srwi r3, r0, 0x1f -/* 8026820C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s b/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s deleted file mode 100644 index f25aca5068..0000000000 --- a/asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s +++ /dev/null @@ -1,23 +0,0 @@ -lbl_80268210: -/* 80268210 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80268214 7C 08 02 A6 */ mflr r0 -/* 80268218 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026821C DB E1 00 08 */ stfd f31, 8(r1) -/* 80268220 FF E0 08 90 */ fmr f31, f1 -/* 80268224 4B FF FF C1 */ bl cBgW_CheckBGround__Ff -/* 80268228 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8026822C 40 82 00 1C */ bne lbl_80268248 -/* 80268230 FC 20 F8 90 */ fmr f1, f31 -/* 80268234 4B FF FF C9 */ bl cBgW_CheckBRoof__Ff -/* 80268238 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8026823C 40 82 00 0C */ bne lbl_80268248 -/* 80268240 38 60 00 01 */ li r3, 1 -/* 80268244 48 00 00 08 */ b lbl_8026824C -lbl_80268248: -/* 80268248 38 60 00 00 */ li r3, 0 -lbl_8026824C: -/* 8026824C CB E1 00 08 */ lfd f31, 8(r1) -/* 80268250 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80268254 7C 08 03 A6 */ mtlr r0 -/* 80268258 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026825C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxInit__Fv.s b/asm/SSystem/SComponent/c_lib/MtxInit__Fv.s deleted file mode 100644 index 19a5b162b2..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxInit__Fv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80270E4C: -/* 80270E4C 3C 60 80 43 */ lis r3, mtx@ha /* 0x80430DB8@ha */ -/* 80270E50 38 03 0D B8 */ addi r0, r3, mtx@l /* 0x80430DB8@l */ -/* 80270E54 90 0D 81 E8 */ stw r0, calc_mtx(r13) -/* 80270E58 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxPosition__FP4cXyzP4cXyz.s b/asm/SSystem/SComponent/c_lib/MtxPosition__FP4cXyzP4cXyz.s deleted file mode 100644 index 480d0d8bd6..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxPosition__FP4cXyzP4cXyz.s +++ /dev/null @@ -1,13 +0,0 @@ -lbl_80270EEC: -/* 80270EEC 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80270EF0 7C 08 02 A6 */ mflr r0 -/* 80270EF4 90 01 00 14 */ stw r0, 0x14(r1) -/* 80270EF8 7C 60 1B 78 */ mr r0, r3 -/* 80270EFC 7C 85 23 78 */ mr r5, r4 -/* 80270F00 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270F04 7C 04 03 78 */ mr r4, r0 -/* 80270F08 48 0D 5E 65 */ bl PSMTXMultVec -/* 80270F0C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80270F10 7C 08 03 A6 */ mtlr r0 -/* 80270F14 38 21 00 10 */ addi r1, r1, 0x10 -/* 80270F18 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxPull__Fv.s b/asm/SSystem/SComponent/c_lib/MtxPull__Fv.s deleted file mode 100644 index 1f1757d502..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxPull__Fv.s +++ /dev/null @@ -1,5 +0,0 @@ -lbl_80270F58: -/* 80270F58 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270F5C 38 03 FF D0 */ addi r0, r3, -48 -/* 80270F60 90 0D 81 E8 */ stw r0, calc_mtx(r13) -/* 80270F64 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxPush__Fv.s b/asm/SSystem/SComponent/c_lib/MtxPush__Fv.s deleted file mode 100644 index f999f6bde6..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxPush__Fv.s +++ /dev/null @@ -1,16 +0,0 @@ -lbl_80270F1C: -/* 80270F1C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80270F20 7C 08 02 A6 */ mflr r0 -/* 80270F24 90 01 00 44 */ stw r0, 0x44(r1) -/* 80270F28 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270F2C 38 81 00 08 */ addi r4, r1, 8 -/* 80270F30 48 0D 55 81 */ bl PSMTXCopy -/* 80270F34 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270F38 38 83 00 30 */ addi r4, r3, 0x30 -/* 80270F3C 90 8D 81 E8 */ stw r4, calc_mtx(r13) -/* 80270F40 38 61 00 08 */ addi r3, r1, 8 -/* 80270F44 48 0D 55 6D */ bl PSMTXCopy -/* 80270F48 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80270F4C 7C 08 03 A6 */ mtlr r0 -/* 80270F50 38 21 00 40 */ addi r1, r1, 0x40 -/* 80270F54 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxScale__FfffUc.s b/asm/SSystem/SComponent/c_lib/MtxScale__FfffUc.s deleted file mode 100644 index 3bbc8fa4a0..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxScale__FfffUc.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80270EA4: -/* 80270EA4 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80270EA8 7C 08 02 A6 */ mflr r0 -/* 80270EAC 90 01 00 44 */ stw r0, 0x44(r1) -/* 80270EB0 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80270EB4 40 82 00 10 */ bne lbl_80270EC4 -/* 80270EB8 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270EBC 48 0D 5A AD */ bl PSMTXScale -/* 80270EC0 48 00 00 1C */ b lbl_80270EDC -lbl_80270EC4: -/* 80270EC4 38 61 00 08 */ addi r3, r1, 8 -/* 80270EC8 48 0D 5A A1 */ bl PSMTXScale -/* 80270ECC 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270ED0 38 81 00 08 */ addi r4, r1, 8 -/* 80270ED4 7C 65 1B 78 */ mr r5, r3 -/* 80270ED8 48 0D 56 0D */ bl PSMTXConcat -lbl_80270EDC: -/* 80270EDC 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80270EE0 7C 08 03 A6 */ mtlr r0 -/* 80270EE4 38 21 00 40 */ addi r1, r1, 0x40 -/* 80270EE8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/MtxTrans__FfffUc.s b/asm/SSystem/SComponent/c_lib/MtxTrans__FfffUc.s deleted file mode 100644 index 3cf9e3aaed..0000000000 --- a/asm/SSystem/SComponent/c_lib/MtxTrans__FfffUc.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80270E5C: -/* 80270E5C 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80270E60 7C 08 02 A6 */ mflr r0 -/* 80270E64 90 01 00 44 */ stw r0, 0x44(r1) -/* 80270E68 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 80270E6C 40 82 00 10 */ bne lbl_80270E7C -/* 80270E70 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270E74 48 0D 5A 75 */ bl PSMTXTrans -/* 80270E78 48 00 00 1C */ b lbl_80270E94 -lbl_80270E7C: -/* 80270E7C 38 61 00 08 */ addi r3, r1, 8 -/* 80270E80 48 0D 5A 69 */ bl PSMTXTrans -/* 80270E84 80 6D 81 E8 */ lwz r3, calc_mtx(r13) -/* 80270E88 38 81 00 08 */ addi r4, r1, 8 -/* 80270E8C 7C 65 1B 78 */ mr r5, r3 -/* 80270E90 48 0D 56 55 */ bl PSMTXConcat -lbl_80270E94: -/* 80270E94 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80270E98 7C 08 03 A6 */ mtlr r0 -/* 80270E9C 38 21 00 40 */ addi r1, r1, 0x40 -/* 80270EA0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/cLib_distanceAngleS__Fss.s b/asm/SSystem/SComponent/c_lib/cLib_distanceAngleS__Fss.s deleted file mode 100644 index 50eb42e5e7..0000000000 --- a/asm/SSystem/SComponent/c_lib/cLib_distanceAngleS__Fss.s +++ /dev/null @@ -1,11 +0,0 @@ -lbl_80270E24: -/* 80270E24 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80270E28 7C 08 02 A6 */ mflr r0 -/* 80270E2C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80270E30 7C 04 18 50 */ subf r0, r4, r3 -/* 80270E34 7C 03 07 34 */ extsh r3, r0 -/* 80270E38 48 0F 42 99 */ bl abs -/* 80270E3C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80270E40 7C 08 03 A6 */ mtlr r0 -/* 80270E44 38 21 00 10 */ addi r1, r1, 0x10 -/* 80270E48 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/cLib_memCpy__FPvPCvUl.s b/asm/SSystem/SComponent/c_lib/cLib_memCpy__FPvPCvUl.s deleted file mode 100644 index 54fcf9a08a..0000000000 --- a/asm/SSystem/SComponent/c_lib/cLib_memCpy__FPvPCvUl.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8026F93C: -/* 8026F93C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8026F940 7C 08 02 A6 */ mflr r0 -/* 8026F944 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026F948 4B D9 3B F9 */ bl memcpy -/* 8026F94C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8026F950 7C 08 03 A6 */ mtlr r0 -/* 8026F954 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026F958 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/cLib_memSet__FPviUl.s b/asm/SSystem/SComponent/c_lib/cLib_memSet__FPviUl.s deleted file mode 100644 index 3166d9da44..0000000000 --- a/asm/SSystem/SComponent/c_lib/cLib_memSet__FPviUl.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_8026F95C: -/* 8026F95C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 8026F960 7C 08 02 A6 */ mflr r0 -/* 8026F964 90 01 00 14 */ stw r0, 0x14(r1) -/* 8026F968 4B D9 3A F1 */ bl memset -/* 8026F96C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 8026F970 7C 08 03 A6 */ mtlr r0 -/* 8026F974 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026F978 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FPC3VecPC3Vec.s b/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FPC3VecPC3Vec.s deleted file mode 100644 index d313589784..0000000000 --- a/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FPC3VecPC3Vec.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80270C04: -/* 80270C04 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80270C08 7C 08 02 A6 */ mflr r0 -/* 80270C0C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80270C10 C0 24 00 00 */ lfs f1, 0(r4) -/* 80270C14 C0 03 00 00 */ lfs f0, 0(r3) -/* 80270C18 EC 21 00 28 */ fsubs f1, f1, f0 -/* 80270C1C C0 44 00 08 */ lfs f2, 8(r4) -/* 80270C20 C0 03 00 08 */ lfs f0, 8(r3) -/* 80270C24 EC 42 00 28 */ fsubs f2, f2, f0 -/* 80270C28 4B FF 6A 4D */ bl cM_atan2s__Fff -/* 80270C2C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80270C30 7C 08 03 A6 */ mtlr r0 -/* 80270C34 38 21 00 10 */ addi r1, r1, 0x10 -/* 80270C38 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FRC3VecRC3Vec.s b/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FRC3VecRC3Vec.s deleted file mode 100644 index f5f521569c..0000000000 --- a/asm/SSystem/SComponent/c_lib/cLib_targetAngleY__FRC3VecRC3Vec.s +++ /dev/null @@ -1,15 +0,0 @@ -lbl_80270C3C: -/* 80270C3C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80270C40 7C 08 02 A6 */ mflr r0 -/* 80270C44 90 01 00 14 */ stw r0, 0x14(r1) -/* 80270C48 C0 24 00 00 */ lfs f1, 0(r4) -/* 80270C4C C0 03 00 00 */ lfs f0, 0(r3) -/* 80270C50 EC 21 00 28 */ fsubs f1, f1, f0 -/* 80270C54 C0 44 00 08 */ lfs f2, 8(r4) -/* 80270C58 C0 03 00 08 */ lfs f0, 8(r3) -/* 80270C5C EC 42 00 28 */ fsubs f2, f2, f0 -/* 80270C60 4B FF 6A 15 */ bl cM_atan2s__Fff -/* 80270C64 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80270C68 7C 08 03 A6 */ mtlr r0 -/* 80270C6C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80270C70 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/__sinit_c_m3d_cpp.s b/asm/SSystem/SComponent/c_m3d/__sinit_c_m3d_cpp.s deleted file mode 100644 index b32b097644..0000000000 --- a/asm/SSystem/SComponent/c_m3d/__sinit_c_m3d_cpp.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_8026EC3C: -/* 8026EC3C C0 22 B7 CC */ lfs f1, lit_5508(r2) -/* 8026EC40 3C 60 80 45 */ lis r3, __float_epsilon@ha /* 0x80450AEC@ha */ -/* 8026EC44 C0 03 0A EC */ lfs f0, __float_epsilon@l(r3) /* 0x80450AEC@l */ -/* 8026EC48 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8026EC4C D0 0D 8C 00 */ stfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026EC50 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin.s b/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin.s deleted file mode 100644 index a7d6562ac1..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin.s +++ /dev/null @@ -1,115 +0,0 @@ -lbl_8026E6F0: -/* 8026E6F0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8026E6F4 7C 08 02 A6 */ mflr r0 -/* 8026E6F8 90 01 00 34 */ stw r0, 0x34(r1) -/* 8026E6FC 39 61 00 30 */ addi r11, r1, 0x30 -/* 8026E700 48 0F 3A DD */ bl _savegpr_29 -/* 8026E704 7C 7D 1B 78 */ mr r29, r3 -/* 8026E708 7C 9E 23 78 */ mr r30, r4 -/* 8026E70C 7C BF 2B 78 */ mr r31, r5 -/* 8026E710 38 A1 00 08 */ addi r5, r1, 8 -/* 8026E714 48 0D 8A A1 */ bl PSVECCrossProduct -/* 8026E718 C0 01 00 08 */ lfs f0, 8(r1) -/* 8026E71C FC 00 02 10 */ fabs f0, f0 -/* 8026E720 FC 00 00 18 */ frsp f0, f0 -/* 8026E724 C0 2D 8C 00 */ lfs f1, G_CM3D_F_ABS_MIN(r13) -/* 8026E728 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8026E72C 40 80 00 34 */ bge lbl_8026E760 -/* 8026E730 C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8026E734 FC 00 02 10 */ fabs f0, f0 -/* 8026E738 FC 00 00 18 */ frsp f0, f0 -/* 8026E73C FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8026E740 40 80 00 20 */ bge lbl_8026E760 -/* 8026E744 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8026E748 FC 00 02 10 */ fabs f0, f0 -/* 8026E74C FC 00 00 18 */ frsp f0, f0 -/* 8026E750 FC 00 08 40 */ fcmpo cr0, f0, f1 -/* 8026E754 40 80 00 0C */ bge lbl_8026E760 -/* 8026E758 38 60 00 00 */ li r3, 0 -/* 8026E75C 48 00 01 2C */ b lbl_8026E888 -lbl_8026E760: -/* 8026E760 C0 A1 00 08 */ lfs f5, 8(r1) -/* 8026E764 FC 00 2A 10 */ fabs f0, f5 -/* 8026E768 FC 20 00 18 */ frsp f1, f0 -/* 8026E76C C0 01 00 0C */ lfs f0, 0xc(r1) -/* 8026E770 FC 00 02 10 */ fabs f0, f0 -/* 8026E774 FC 40 00 18 */ frsp f2, f0 -/* 8026E778 C0 01 00 10 */ lfs f0, 0x10(r1) -/* 8026E77C FC 00 02 10 */ fabs f0, f0 -/* 8026E780 FC 00 00 18 */ frsp f0, f0 -/* 8026E784 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 8026E788 4C 41 13 82 */ cror 2, 1, 2 -/* 8026E78C 40 82 00 40 */ bne lbl_8026E7CC -/* 8026E790 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026E794 4C 41 13 82 */ cror 2, 1, 2 -/* 8026E798 40 82 00 34 */ bne lbl_8026E7CC -/* 8026E79C C0 3D 00 04 */ lfs f1, 4(r29) -/* 8026E7A0 C0 5D 00 08 */ lfs f2, 8(r29) -/* 8026E7A4 C0 7E 00 04 */ lfs f3, 4(r30) -/* 8026E7A8 C0 9E 00 08 */ lfs f4, 8(r30) -/* 8026E7AC C0 DD 00 0C */ lfs f6, 0xc(r29) -/* 8026E7B0 C0 FE 00 0C */ lfs f7, 0xc(r30) -/* 8026E7B4 38 7F 00 04 */ addi r3, r31, 4 -/* 8026E7B8 38 9F 00 08 */ addi r4, r31, 8 -/* 8026E7BC 4B FF FF 09 */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf -/* 8026E7C0 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 8026E7C4 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8026E7C8 48 00 00 80 */ b lbl_8026E848 -lbl_8026E7CC: -/* 8026E7CC FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 8026E7D0 4C 41 13 82 */ cror 2, 1, 2 -/* 8026E7D4 40 82 00 44 */ bne lbl_8026E818 -/* 8026E7D8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8026E7DC 4C 41 13 82 */ cror 2, 1, 2 -/* 8026E7E0 40 82 00 38 */ bne lbl_8026E818 -/* 8026E7E4 C0 3D 00 08 */ lfs f1, 8(r29) -/* 8026E7E8 C0 5D 00 00 */ lfs f2, 0(r29) -/* 8026E7EC C0 7E 00 08 */ lfs f3, 8(r30) -/* 8026E7F0 C0 9E 00 00 */ lfs f4, 0(r30) -/* 8026E7F4 C0 A1 00 0C */ lfs f5, 0xc(r1) -/* 8026E7F8 C0 DD 00 0C */ lfs f6, 0xc(r29) -/* 8026E7FC C0 FE 00 0C */ lfs f7, 0xc(r30) -/* 8026E800 38 7F 00 08 */ addi r3, r31, 8 -/* 8026E804 7F E4 FB 78 */ mr r4, r31 -/* 8026E808 4B FF FE BD */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf -/* 8026E80C C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 8026E810 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8026E814 48 00 00 34 */ b lbl_8026E848 -lbl_8026E818: -/* 8026E818 C0 3D 00 00 */ lfs f1, 0(r29) -/* 8026E81C C0 5D 00 04 */ lfs f2, 4(r29) -/* 8026E820 C0 7E 00 00 */ lfs f3, 0(r30) -/* 8026E824 C0 9E 00 04 */ lfs f4, 4(r30) -/* 8026E828 C0 A1 00 10 */ lfs f5, 0x10(r1) -/* 8026E82C C0 DD 00 0C */ lfs f6, 0xc(r29) -/* 8026E830 C0 FE 00 0C */ lfs f7, 0xc(r30) -/* 8026E834 7F E3 FB 78 */ mr r3, r31 -/* 8026E838 38 9F 00 04 */ addi r4, r31, 4 -/* 8026E83C 4B FF FE 89 */ bl cM3d_PlaneCrossLineProcWork__FfffffffPfPf -/* 8026E840 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 8026E844 D0 1F 00 08 */ stfs f0, 8(r31) -lbl_8026E848: -/* 8026E848 7F E3 FB 78 */ mr r3, r31 -/* 8026E84C 48 0D 89 05 */ bl PSVECMag -/* 8026E850 FC 00 0A 10 */ fabs f0, f1 -/* 8026E854 FC 40 00 18 */ frsp f2, f0 -/* 8026E858 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026E85C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8026E860 40 80 00 08 */ bge lbl_8026E868 -/* 8026E864 C0 22 B7 38 */ lfs f1, lit_2273(r2) -lbl_8026E868: -/* 8026E868 38 61 00 08 */ addi r3, r1, 8 -/* 8026E86C 7C 64 1B 78 */ mr r4, r3 -/* 8026E870 48 0D 88 69 */ bl PSVECScale -/* 8026E874 7F E3 FB 78 */ mr r3, r31 -/* 8026E878 38 81 00 08 */ addi r4, r1, 8 -/* 8026E87C 38 BF 00 0C */ addi r5, r31, 0xc -/* 8026E880 48 0D 88 11 */ bl PSVECAdd -/* 8026E884 38 60 00 01 */ li r3, 1 -lbl_8026E888: -/* 8026E888 39 61 00 30 */ addi r11, r1, 0x30 -/* 8026E88C 48 0F 39 9D */ bl _restgpr_29 -/* 8026E890 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8026E894 7C 08 03 A6 */ mtlr r0 -/* 8026E898 38 21 00 30 */ addi r1, r1, 0x30 -/* 8026E89C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec.s deleted file mode 100644 index a5e5945fe1..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec.s +++ /dev/null @@ -1,36 +0,0 @@ -lbl_8026EB38: -/* 8026EB38 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8026EB3C 7C 08 02 A6 */ mflr r0 -/* 8026EB40 90 01 00 34 */ stw r0, 0x34(r1) -/* 8026EB44 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8026EB48 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8026EB4C 7C BE 2B 78 */ mr r30, r5 -/* 8026EB50 7C DF 33 78 */ mr r31, r6 -/* 8026EB54 3C A0 80 3A */ lis r5, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026EB58 38 05 78 F8 */ addi r0, r5, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026EB5C 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026EB60 38 A1 00 08 */ addi r5, r1, 8 -/* 8026EB64 4B FF FB 8D */ bl cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin -/* 8026EB68 2C 03 00 00 */ cmpwi r3, 0 -/* 8026EB6C 40 82 00 18 */ bne lbl_8026EB84 -/* 8026EB70 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026EB74 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026EB78 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026EB7C 38 60 00 00 */ li r3, 0 -/* 8026EB80 48 00 00 24 */ b lbl_8026EBA4 -lbl_8026EB84: -/* 8026EB84 38 61 00 08 */ addi r3, r1, 8 -/* 8026EB88 7F C4 F3 78 */ mr r4, r30 -/* 8026EB8C 7F E5 FB 78 */ mr r5, r31 -/* 8026EB90 4B FF FD F1 */ bl cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec -/* 8026EB94 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026EB98 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026EB9C 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026EBA0 38 60 00 01 */ li r3, 1 -lbl_8026EBA4: -/* 8026EBA4 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8026EBA8 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8026EBAC 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8026EBB0 7C 08 03 A6 */ mtlr r0 -/* 8026EBB4 38 21 00 30 */ addi r1, r1, 0x30 -/* 8026EBB8 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec.s deleted file mode 100644 index 275c4ec031..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec.s +++ /dev/null @@ -1,60 +0,0 @@ -lbl_8026E8A0: -/* 8026E8A0 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8026E8A4 7C 08 02 A6 */ mflr r0 -/* 8026E8A8 90 01 00 54 */ stw r0, 0x54(r1) -/* 8026E8AC DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8026E8B0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 8026E8B4 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026E8B8 48 0F 39 25 */ bl _savegpr_29 -/* 8026E8BC 7C BD 2B 78 */ mr r29, r5 -/* 8026E8C0 7C DE 33 78 */ mr r30, r6 -/* 8026E8C4 3C A0 80 3A */ lis r5, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026E8C8 38 05 78 F8 */ addi r0, r5, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026E8CC 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026E8D0 38 A1 00 08 */ addi r5, r1, 8 -/* 8026E8D4 4B FF FE 1D */ bl cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin -/* 8026E8D8 2C 03 00 00 */ cmpwi r3, 0 -/* 8026E8DC 40 82 00 18 */ bne lbl_8026E8F4 -/* 8026E8E0 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026E8E4 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026E8E8 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026E8EC 38 60 00 00 */ li r3, 0 -/* 8026E8F0 48 00 00 70 */ b lbl_8026E960 -lbl_8026E8F4: -/* 8026E8F4 3B E1 00 14 */ addi r31, r1, 0x14 -/* 8026E8F8 7F A3 EB 78 */ mr r3, r29 -/* 8026E8FC 38 81 00 08 */ addi r4, r1, 8 -/* 8026E900 48 0D 88 95 */ bl PSVECDotProduct -/* 8026E904 C0 1D 00 0C */ lfs f0, 0xc(r29) -/* 8026E908 EF E0 08 2A */ fadds f31, f0, f1 -/* 8026E90C 7F A3 EB 78 */ mr r3, r29 -/* 8026E910 7F E4 FB 78 */ mr r4, r31 -/* 8026E914 48 0D 88 81 */ bl PSVECDotProduct -/* 8026E918 C0 1D 00 0C */ lfs f0, 0xc(r29) -/* 8026E91C EC 40 08 2A */ fadds f2, f0, f1 -/* 8026E920 FC 20 F8 90 */ fmr f1, f31 -/* 8026E924 38 61 00 08 */ addi r3, r1, 8 -/* 8026E928 7F E4 FB 78 */ mr r4, r31 -/* 8026E92C 7F C5 F3 78 */ mr r5, r30 -/* 8026E930 4B FF A5 A5 */ bl cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec -/* 8026E934 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8026E938 40 82 00 18 */ bne lbl_8026E950 -/* 8026E93C 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026E940 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026E944 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026E948 38 60 00 00 */ li r3, 0 -/* 8026E94C 48 00 00 14 */ b lbl_8026E960 -lbl_8026E950: -/* 8026E950 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026E954 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026E958 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026E95C 38 60 00 01 */ li r3, 1 -lbl_8026E960: -/* 8026E960 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 8026E964 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8026E968 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026E96C 48 0F 38 BD */ bl _restgpr_29 -/* 8026E970 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8026E974 7C 08 03 A6 */ mtlr r0 -/* 8026E978 38 21 00 50 */ addi r1, r1, 0x50 -/* 8026E97C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf.s b/asm/SSystem/SComponent/c_m3d/cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf.s deleted file mode 100644 index 9400e943b1..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf.s +++ /dev/null @@ -1,54 +0,0 @@ -lbl_8026891C: -/* 8026891C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 80268920 7C 08 02 A6 */ mflr r0 -/* 80268924 90 01 00 34 */ stw r0, 0x34(r1) -/* 80268928 39 61 00 30 */ addi r11, r1, 0x30 -/* 8026892C 48 0F 98 AD */ bl _savegpr_28 -/* 80268930 7C 7C 1B 78 */ mr r28, r3 -/* 80268934 7C BD 2B 78 */ mr r29, r5 -/* 80268938 7C DE 33 78 */ mr r30, r6 -/* 8026893C 7C FF 3B 78 */ mr r31, r7 -/* 80268940 7C 83 23 78 */ mr r3, r4 -/* 80268944 7F 84 E3 78 */ mr r4, r28 -/* 80268948 38 A1 00 08 */ addi r5, r1, 8 -/* 8026894C 48 0D E7 69 */ bl PSVECSubtract -/* 80268950 7F A3 EB 78 */ mr r3, r29 -/* 80268954 7F 84 E3 78 */ mr r4, r28 -/* 80268958 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8026895C 48 0D E7 59 */ bl PSVECSubtract -/* 80268960 38 61 00 08 */ addi r3, r1, 8 -/* 80268964 38 81 00 14 */ addi r4, r1, 0x14 -/* 80268968 7F C5 F3 78 */ mr r5, r30 -/* 8026896C 48 0D E8 49 */ bl PSVECCrossProduct -/* 80268970 7F C3 F3 78 */ mr r3, r30 -/* 80268974 48 0D E7 DD */ bl PSVECMag -/* 80268978 FC 00 0A 10 */ fabs f0, f1 -/* 8026897C FC 40 00 18 */ frsp f2, f0 -/* 80268980 C0 02 B7 3C */ lfs f0, lit_2346(r2) -/* 80268984 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80268988 4C 41 13 82 */ cror 2, 1, 2 -/* 8026898C 40 82 00 30 */ bne lbl_802689BC -/* 80268990 7F C3 F3 78 */ mr r3, r30 -/* 80268994 7F C4 F3 78 */ mr r4, r30 -/* 80268998 C0 02 B7 38 */ lfs f0, lit_2273(r2) -/* 8026899C EC 20 08 24 */ fdivs f1, f0, f1 -/* 802689A0 48 0D E7 39 */ bl PSVECScale -/* 802689A4 7F C3 F3 78 */ mr r3, r30 -/* 802689A8 7F 84 E3 78 */ mr r4, r28 -/* 802689AC 48 0D E7 E9 */ bl PSVECDotProduct -/* 802689B0 FC 00 08 50 */ fneg f0, f1 -/* 802689B4 D0 1F 00 00 */ stfs f0, 0(r31) -/* 802689B8 48 00 00 18 */ b lbl_802689D0 -lbl_802689BC: -/* 802689BC C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 802689C0 D0 1E 00 04 */ stfs f0, 4(r30) -/* 802689C4 D0 1F 00 00 */ stfs f0, 0(r31) -/* 802689C8 D0 1E 00 08 */ stfs f0, 8(r30) -/* 802689CC D0 1E 00 00 */ stfs f0, 0(r30) -lbl_802689D0: -/* 802689D0 39 61 00 30 */ addi r11, r1, 0x30 -/* 802689D4 48 0F 98 51 */ bl _restgpr_28 -/* 802689D8 80 01 00 34 */ lwz r0, 0x34(r1) -/* 802689DC 7C 08 03 A6 */ mtlr r0 -/* 802689E0 38 21 00 30 */ addi r1, r1, 0x30 -/* 802689E4 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec.s deleted file mode 100644 index aa840c5721..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec.s +++ /dev/null @@ -1,45 +0,0 @@ -lbl_8026BE5C: -/* 8026BE5C 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 8026BE60 7C 08 02 A6 */ mflr r0 -/* 8026BE64 90 01 00 34 */ stw r0, 0x34(r1) -/* 8026BE68 93 E1 00 2C */ stw r31, 0x2c(r1) -/* 8026BE6C 93 C1 00 28 */ stw r30, 0x28(r1) -/* 8026BE70 7C 7E 1B 78 */ mr r30, r3 -/* 8026BE74 7C BF 2B 78 */ mr r31, r5 -/* 8026BE78 38 64 00 14 */ addi r3, r4, 0x14 -/* 8026BE7C 38 84 00 20 */ addi r4, r4, 0x20 -/* 8026BE80 38 A1 00 08 */ addi r5, r1, 8 -/* 8026BE84 48 0D B2 0D */ bl PSVECAdd -/* 8026BE88 38 61 00 08 */ addi r3, r1, 8 -/* 8026BE8C 38 81 00 14 */ addi r4, r1, 0x14 -/* 8026BE90 C0 22 B7 C4 */ lfs f1, lit_3892(r2) -/* 8026BE94 48 0D B2 45 */ bl PSVECScale -/* 8026BE98 38 61 00 14 */ addi r3, r1, 0x14 -/* 8026BE9C 7F C4 F3 78 */ mr r4, r30 -/* 8026BEA0 48 0D B4 FD */ bl PSVECSquareDistance -/* 8026BEA4 FC 00 0A 10 */ fabs f0, f1 -/* 8026BEA8 FC 40 00 18 */ frsp f2, f0 -/* 8026BEAC C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026BEB0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 8026BEB4 40 80 00 20 */ bge lbl_8026BED4 -/* 8026BEB8 C0 1E 00 00 */ lfs f0, 0(r30) -/* 8026BEBC D0 1F 00 00 */ stfs f0, 0(r31) -/* 8026BEC0 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8026BEC4 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8026BEC8 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8026BECC D0 1F 00 08 */ stfs f0, 8(r31) -/* 8026BED0 48 00 00 1C */ b lbl_8026BEEC -lbl_8026BED4: -/* 8026BED4 7F C3 F3 78 */ mr r3, r30 -/* 8026BED8 38 81 00 14 */ addi r4, r1, 0x14 -/* 8026BEDC C0 1E 00 0C */ lfs f0, 0xc(r30) -/* 8026BEE0 EC 20 08 24 */ fdivs f1, f0, f1 -/* 8026BEE4 7F E5 FB 78 */ mr r5, r31 -/* 8026BEE8 4B FF C6 C9 */ bl cM3d_InDivPos2__FPC3VecPC3VecfP3Vec -lbl_8026BEEC: -/* 8026BEEC 83 E1 00 2C */ lwz r31, 0x2c(r1) -/* 8026BEF0 83 C1 00 28 */ lwz r30, 0x28(r1) -/* 8026BEF4 80 01 00 34 */ lwz r0, 0x34(r1) -/* 8026BEF8 7C 08 03 A6 */ mtlr r0 -/* 8026BEFC 38 21 00 30 */ addi r1, r1, 0x30 -/* 8026BF00 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_CalcVecAngle__FRC3VecPsPs.s b/asm/SSystem/SComponent/c_m3d/cM3d_CalcVecAngle__FRC3VecPsPs.s deleted file mode 100644 index 55032f1fb1..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_CalcVecAngle__FRC3VecPsPs.s +++ /dev/null @@ -1,30 +0,0 @@ -lbl_8026E4FC: -/* 8026E4FC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8026E500 7C 08 02 A6 */ mflr r0 -/* 8026E504 90 01 00 24 */ stw r0, 0x24(r1) -/* 8026E508 39 61 00 20 */ addi r11, r1, 0x20 -/* 8026E50C 48 0F 3C D1 */ bl _savegpr_29 -/* 8026E510 7C 7D 1B 78 */ mr r29, r3 -/* 8026E514 7C 9E 23 78 */ mr r30, r4 -/* 8026E518 7C BF 2B 78 */ mr r31, r5 -/* 8026E51C C0 03 00 08 */ lfs f0, 8(r3) -/* 8026E520 FC 20 00 50 */ fneg f1, f0 -/* 8026E524 C0 03 00 04 */ lfs f0, 4(r3) -/* 8026E528 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8026E52C C0 42 B7 38 */ lfs f2, lit_2273(r2) -/* 8026E530 4B FF 91 45 */ bl cM_atan2s__Fff -/* 8026E534 7C 03 00 D0 */ neg r0, r3 -/* 8026E538 B0 1E 00 00 */ sth r0, 0(r30) -/* 8026E53C C0 1D 00 00 */ lfs f0, 0(r29) -/* 8026E540 FC 20 00 50 */ fneg f1, f0 -/* 8026E544 C0 1D 00 04 */ lfs f0, 4(r29) -/* 8026E548 EC 21 00 32 */ fmuls f1, f1, f0 -/* 8026E54C C0 42 B7 38 */ lfs f2, lit_2273(r2) -/* 8026E550 4B FF 91 25 */ bl cM_atan2s__Fff -/* 8026E554 B0 7F 00 00 */ sth r3, 0(r31) -/* 8026E558 39 61 00 20 */ addi r11, r1, 0x20 -/* 8026E55C 48 0F 3C CD */ bl _restgpr_29 -/* 8026E560 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8026E564 7C 08 03 A6 */ mtlr r0 -/* 8026E568 38 21 00 20 */ addi r1, r1, 0x20 -/* 8026E56C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_CrawVec__FRC3VecRC3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_CrawVec__FRC3VecRC3VecP3Vec.s deleted file mode 100644 index 090b945b6d..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_CrawVec__FRC3VecRC3VecP3Vec.s +++ /dev/null @@ -1,33 +0,0 @@ -lbl_8026EBBC: -/* 8026EBBC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8026EBC0 7C 08 02 A6 */ mflr r0 -/* 8026EBC4 90 01 00 24 */ stw r0, 0x24(r1) -/* 8026EBC8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8026EBCC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 8026EBD0 7C 9E 23 78 */ mr r30, r4 -/* 8026EBD4 7C BF 2B 78 */ mr r31, r5 -/* 8026EBD8 C0 24 00 08 */ lfs f1, 8(r4) -/* 8026EBDC C0 03 00 08 */ lfs f0, 8(r3) -/* 8026EBE0 EC 61 00 32 */ fmuls f3, f1, f0 -/* 8026EBE4 C0 24 00 00 */ lfs f1, 0(r4) -/* 8026EBE8 C0 03 00 00 */ lfs f0, 0(r3) -/* 8026EBEC EC 41 00 32 */ fmuls f2, f1, f0 -/* 8026EBF0 C0 24 00 04 */ lfs f1, 4(r4) -/* 8026EBF4 C0 03 00 04 */ lfs f0, 4(r3) -/* 8026EBF8 EC 01 00 32 */ fmuls f0, f1, f0 -/* 8026EBFC EC 02 00 2A */ fadds f0, f2, f0 -/* 8026EC00 EC 03 00 2A */ fadds f0, f3, f0 -/* 8026EC04 FC 00 02 10 */ fabs f0, f0 -/* 8026EC08 FC 20 00 18 */ frsp f1, f0 -/* 8026EC0C 38 81 00 08 */ addi r4, r1, 8 -/* 8026EC10 48 0D 84 C9 */ bl PSVECScale -/* 8026EC14 38 61 00 08 */ addi r3, r1, 8 -/* 8026EC18 7F C4 F3 78 */ mr r4, r30 -/* 8026EC1C 7F E5 FB 78 */ mr r5, r31 -/* 8026EC20 48 0D 84 71 */ bl PSVECAdd -/* 8026EC24 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8026EC28 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8026EC2C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 8026EC30 7C 08 03 A6 */ mtlr r0 -/* 8026EC34 38 21 00 20 */ addi r1, r1, 0x20 -/* 8026EC38 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec.s deleted file mode 100644 index 77d543968f..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_80268ED4: -/* 80268ED4 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80268ED8 7C 08 02 A6 */ mflr r0 -/* 80268EDC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80268EE0 EC 61 10 28 */ fsubs f3, f1, f2 -/* 80268EE4 FC 00 1A 10 */ fabs f0, f3 -/* 80268EE8 FC 40 00 18 */ frsp f2, f0 -/* 80268EEC C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 80268EF0 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80268EF4 40 80 00 24 */ bge lbl_80268F18 -/* 80268EF8 C0 04 00 00 */ lfs f0, 0(r4) -/* 80268EFC D0 05 00 00 */ stfs f0, 0(r5) -/* 80268F00 C0 04 00 04 */ lfs f0, 4(r4) -/* 80268F04 D0 05 00 04 */ stfs f0, 4(r5) -/* 80268F08 C0 04 00 08 */ lfs f0, 8(r4) -/* 80268F0C D0 05 00 08 */ stfs f0, 8(r5) -/* 80268F10 38 60 00 00 */ li r3, 0 -/* 80268F14 48 00 00 10 */ b lbl_80268F24 -lbl_80268F18: -/* 80268F18 EC 21 18 24 */ fdivs f1, f1, f3 -/* 80268F1C 4B FF F6 95 */ bl cM3d_InDivPos2__FPC3VecPC3VecfP3Vec -/* 80268F20 38 60 00 01 */ li r3, 1 -lbl_80268F24: -/* 80268F24 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80268F28 7C 08 03 A6 */ mtlr r0 -/* 80268F2C 38 21 00 10 */ addi r1, r1, 0x10 -/* 80268F30 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab.s b/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab.s deleted file mode 100644 index f793f844e4..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab.s +++ /dev/null @@ -1,90 +0,0 @@ -lbl_802689E8: -/* 802689E8 C0 64 00 0C */ lfs f3, 0xc(r4) -/* 802689EC C0 44 00 00 */ lfs f2, 0(r4) -/* 802689F0 C0 23 00 0C */ lfs f1, 0xc(r3) -/* 802689F4 C0 03 00 00 */ lfs f0, 0(r3) -/* 802689F8 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 802689FC 40 81 00 0C */ ble lbl_80268A08 -/* 80268A00 38 00 00 00 */ li r0, 0 -/* 80268A04 48 00 00 38 */ b lbl_80268A3C -lbl_80268A08: -/* 80268A08 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80268A0C 40 80 00 0C */ bge lbl_80268A18 -/* 80268A10 38 00 00 00 */ li r0, 0 -/* 80268A14 48 00 00 28 */ b lbl_80268A3C -lbl_80268A18: -/* 80268A18 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80268A1C 40 81 00 0C */ ble lbl_80268A28 -/* 80268A20 38 00 00 00 */ li r0, 0 -/* 80268A24 48 00 00 18 */ b lbl_80268A3C -lbl_80268A28: -/* 80268A28 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80268A2C 40 80 00 0C */ bge lbl_80268A38 -/* 80268A30 38 00 00 00 */ li r0, 0 -/* 80268A34 48 00 00 08 */ b lbl_80268A3C -lbl_80268A38: -/* 80268A38 38 00 00 01 */ li r0, 1 -lbl_80268A3C: -/* 80268A3C 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80268A40 41 82 00 C4 */ beq lbl_80268B04 -/* 80268A44 C0 64 00 10 */ lfs f3, 0x10(r4) -/* 80268A48 C0 44 00 04 */ lfs f2, 4(r4) -/* 80268A4C C0 23 00 10 */ lfs f1, 0x10(r3) -/* 80268A50 C0 03 00 04 */ lfs f0, 4(r3) -/* 80268A54 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80268A58 40 81 00 0C */ ble lbl_80268A64 -/* 80268A5C 38 00 00 00 */ li r0, 0 -/* 80268A60 48 00 00 38 */ b lbl_80268A98 -lbl_80268A64: -/* 80268A64 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80268A68 40 80 00 0C */ bge lbl_80268A74 -/* 80268A6C 38 00 00 00 */ li r0, 0 -/* 80268A70 48 00 00 28 */ b lbl_80268A98 -lbl_80268A74: -/* 80268A74 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80268A78 40 81 00 0C */ ble lbl_80268A84 -/* 80268A7C 38 00 00 00 */ li r0, 0 -/* 80268A80 48 00 00 18 */ b lbl_80268A98 -lbl_80268A84: -/* 80268A84 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80268A88 40 80 00 0C */ bge lbl_80268A94 -/* 80268A8C 38 00 00 00 */ li r0, 0 -/* 80268A90 48 00 00 08 */ b lbl_80268A98 -lbl_80268A94: -/* 80268A94 38 00 00 01 */ li r0, 1 -lbl_80268A98: -/* 80268A98 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80268A9C 41 82 00 68 */ beq lbl_80268B04 -/* 80268AA0 C0 64 00 14 */ lfs f3, 0x14(r4) -/* 80268AA4 C0 44 00 08 */ lfs f2, 8(r4) -/* 80268AA8 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 80268AAC C0 03 00 08 */ lfs f0, 8(r3) -/* 80268AB0 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80268AB4 40 81 00 0C */ ble lbl_80268AC0 -/* 80268AB8 38 00 00 00 */ li r0, 0 -/* 80268ABC 48 00 00 38 */ b lbl_80268AF4 -lbl_80268AC0: -/* 80268AC0 FC 01 10 40 */ fcmpo cr0, f1, f2 -/* 80268AC4 40 80 00 0C */ bge lbl_80268AD0 -/* 80268AC8 38 00 00 00 */ li r0, 0 -/* 80268ACC 48 00 00 28 */ b lbl_80268AF4 -lbl_80268AD0: -/* 80268AD0 FC 02 08 40 */ fcmpo cr0, f2, f1 -/* 80268AD4 40 81 00 0C */ ble lbl_80268AE0 -/* 80268AD8 38 00 00 00 */ li r0, 0 -/* 80268ADC 48 00 00 18 */ b lbl_80268AF4 -lbl_80268AE0: -/* 80268AE0 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80268AE4 40 80 00 0C */ bge lbl_80268AF0 -/* 80268AE8 38 00 00 00 */ li r0, 0 -/* 80268AEC 48 00 00 08 */ b lbl_80268AF4 -lbl_80268AF0: -/* 80268AF0 38 00 00 01 */ li r0, 1 -lbl_80268AF4: -/* 80268AF4 54 00 06 3F */ clrlwi. r0, r0, 0x18 -/* 80268AF8 41 82 00 0C */ beq lbl_80268B04 -/* 80268AFC 38 60 00 01 */ li r3, 1 -/* 80268B00 4E 80 00 20 */ blr -lbl_80268B04: -/* 80268B04 38 60 00 00 */ li r3, 0 -/* 80268B08 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl.s b/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl.s deleted file mode 100644 index 8916d0d52a..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl.s +++ /dev/null @@ -1,48 +0,0 @@ -lbl_80268B0C: -/* 80268B0C C0 23 00 00 */ lfs f1, 0(r3) -/* 80268B10 C0 44 00 00 */ lfs f2, 0(r4) -/* 80268B14 C0 64 00 0C */ lfs f3, 0xc(r4) -/* 80268B18 EC 02 18 2A */ fadds f0, f2, f3 -/* 80268B1C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268B20 40 81 00 0C */ ble lbl_80268B2C -/* 80268B24 38 60 00 00 */ li r3, 0 -/* 80268B28 4E 80 00 20 */ blr -lbl_80268B2C: -/* 80268B2C C0 23 00 0C */ lfs f1, 0xc(r3) -/* 80268B30 EC 02 18 28 */ fsubs f0, f2, f3 -/* 80268B34 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268B38 40 80 00 0C */ bge lbl_80268B44 -/* 80268B3C 38 60 00 00 */ li r3, 0 -/* 80268B40 4E 80 00 20 */ blr -lbl_80268B44: -/* 80268B44 C0 23 00 08 */ lfs f1, 8(r3) -/* 80268B48 C0 44 00 08 */ lfs f2, 8(r4) -/* 80268B4C EC 02 18 2A */ fadds f0, f2, f3 -/* 80268B50 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268B54 40 81 00 0C */ ble lbl_80268B60 -/* 80268B58 38 60 00 00 */ li r3, 0 -/* 80268B5C 4E 80 00 20 */ blr -lbl_80268B60: -/* 80268B60 C0 23 00 14 */ lfs f1, 0x14(r3) -/* 80268B64 EC 02 18 28 */ fsubs f0, f2, f3 -/* 80268B68 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268B6C 40 80 00 0C */ bge lbl_80268B78 -/* 80268B70 38 60 00 00 */ li r3, 0 -/* 80268B74 4E 80 00 20 */ blr -lbl_80268B78: -/* 80268B78 C0 23 00 04 */ lfs f1, 4(r3) -/* 80268B7C C0 44 00 04 */ lfs f2, 4(r4) -/* 80268B80 C0 04 00 10 */ lfs f0, 0x10(r4) -/* 80268B84 EC 02 00 2A */ fadds f0, f2, f0 -/* 80268B88 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268B8C 40 81 00 0C */ ble lbl_80268B98 -/* 80268B90 38 60 00 00 */ li r3, 0 -/* 80268B94 4E 80 00 20 */ blr -lbl_80268B98: -/* 80268B98 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 80268B9C FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80268BA0 7C 00 00 26 */ mfcr r0 -/* 80268BA4 54 00 0F FE */ srwi r0, r0, 0x1f -/* 80268BA8 7C 00 00 34 */ cntlzw r0, r0 -/* 80268BAC 54 03 D9 7E */ srwi r3, r0, 5 -/* 80268BB0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec.s deleted file mode 100644 index b6d29df5a8..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec.s +++ /dev/null @@ -1,28 +0,0 @@ -lbl_8026D044: -/* 8026D044 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8026D048 7C 08 02 A6 */ mflr r0 -/* 8026D04C 90 01 00 44 */ stw r0, 0x44(r1) -/* 8026D050 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026D054 48 0F 51 89 */ bl _savegpr_29 -/* 8026D058 7C 7D 1B 78 */ mr r29, r3 -/* 8026D05C 7C DE 33 78 */ mr r30, r6 -/* 8026D060 7C FF 3B 78 */ mr r31, r7 -/* 8026D064 3C 60 80 3A */ lis r3, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026D068 38 03 78 F8 */ addi r0, r3, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026D06C 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026D070 38 61 00 08 */ addi r3, r1, 8 -/* 8026D074 48 00 22 A9 */ bl SetStartEnd__8cM3dGLinFRC3VecRC3Vec -/* 8026D078 7F A3 EB 78 */ mr r3, r29 -/* 8026D07C 38 81 00 08 */ addi r4, r1, 8 -/* 8026D080 7F C5 F3 78 */ mr r5, r30 -/* 8026D084 7F E6 FB 78 */ mr r6, r31 -/* 8026D088 4B FF F8 BD */ bl cM3d_Cross_CylLin__FPC8cM3dGCylPC8cM3dGLinP3VecP3Vec -/* 8026D08C 3C 80 80 3A */ lis r4, __vt__8cM3dGLin@ha /* 0x803A78F8@ha */ -/* 8026D090 38 04 78 F8 */ addi r0, r4, __vt__8cM3dGLin@l /* 0x803A78F8@l */ -/* 8026D094 90 01 00 20 */ stw r0, 0x20(r1) -/* 8026D098 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026D09C 48 0F 51 8D */ bl _restgpr_29 -/* 8026D0A0 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8026D0A4 7C 08 03 A6 */ mtlr r0 -/* 8026D0A8 38 21 00 40 */ addi r1, r1, 0x40 -/* 8026D0AC 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec.s deleted file mode 100644 index 4e859f52a3..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_8026D0B0: -/* 8026D0B0 C0 23 00 00 */ lfs f1, 0(r3) -/* 8026D0B4 C0 04 00 00 */ lfs f0, 0(r4) -/* 8026D0B8 EC 41 00 28 */ fsubs f2, f1, f0 -/* 8026D0BC C0 23 00 08 */ lfs f1, 8(r3) -/* 8026D0C0 C0 04 00 08 */ lfs f0, 8(r4) -/* 8026D0C4 EC 61 00 28 */ fsubs f3, f1, f0 -/* 8026D0C8 C0 83 00 04 */ lfs f4, 4(r3) -/* 8026D0CC C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8026D0D0 EC A4 00 2A */ fadds f5, f4, f0 -/* 8026D0D4 EC 22 00 B2 */ fmuls f1, f2, f2 -/* 8026D0D8 EC 03 00 F2 */ fmuls f0, f3, f3 -/* 8026D0DC EC 21 00 2A */ fadds f1, f1, f0 -/* 8026D0E0 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 8026D0E4 EC 00 00 32 */ fmuls f0, f0, f0 -/* 8026D0E8 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026D0EC 40 80 00 20 */ bge lbl_8026D10C -/* 8026D0F0 C0 04 00 04 */ lfs f0, 4(r4) -/* 8026D0F4 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 8026D0F8 40 80 00 14 */ bge lbl_8026D10C -/* 8026D0FC FC 05 00 40 */ fcmpo cr0, f5, f0 -/* 8026D100 40 81 00 0C */ ble lbl_8026D10C -/* 8026D104 38 60 00 01 */ li r3, 1 -/* 8026D108 4E 80 00 20 */ blr -lbl_8026D10C: -/* 8026D10C 38 60 00 00 */ li r3, 0 -/* 8026D110 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec.s deleted file mode 100644 index 6a8d1fede1..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8026BD88: -/* 8026BD88 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 8026BD8C 7C 08 02 A6 */ mflr r0 -/* 8026BD90 90 01 00 44 */ stw r0, 0x44(r1) -/* 8026BD94 DB E1 00 30 */ stfd f31, 0x30(r1) -/* 8026BD98 F3 E1 00 38 */ psq_st f31, 56(r1), 0, 0 /* qr0 */ -/* 8026BD9C 39 61 00 30 */ addi r11, r1, 0x30 -/* 8026BDA0 48 0F 64 3D */ bl _savegpr_29 -/* 8026BDA4 7C 7D 1B 78 */ mr r29, r3 -/* 8026BDA8 7C 9E 23 78 */ mr r30, r4 -/* 8026BDAC 7C BF 2B 78 */ mr r31, r5 -/* 8026BDB0 38 A1 00 0C */ addi r5, r1, 0xc -/* 8026BDB4 38 C1 00 08 */ addi r6, r1, 8 -/* 8026BDB8 4B FF FF 45 */ bl cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPfPf -/* 8026BDBC 54 60 06 3F */ clrlwi. r0, r3, 0x18 -/* 8026BDC0 41 82 00 78 */ beq lbl_8026BE38 -/* 8026BDC4 C0 41 00 0C */ lfs f2, 0xc(r1) -/* 8026BDC8 FC 00 12 10 */ fabs f0, f2 -/* 8026BDCC FC 20 00 18 */ frsp f1, f0 -/* 8026BDD0 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026BDD4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026BDD8 41 80 00 40 */ blt lbl_8026BE18 -/* 8026BDDC C0 1E 00 0C */ lfs f0, 0xc(r30) -/* 8026BDE0 EF E0 10 24 */ fdivs f31, f0, f2 -/* 8026BDE4 7F A3 EB 78 */ mr r3, r29 -/* 8026BDE8 7F C4 F3 78 */ mr r4, r30 -/* 8026BDEC 38 A1 00 10 */ addi r5, r1, 0x10 -/* 8026BDF0 48 0D B2 C5 */ bl PSVECSubtract -/* 8026BDF4 38 61 00 10 */ addi r3, r1, 0x10 -/* 8026BDF8 7C 64 1B 78 */ mr r4, r3 -/* 8026BDFC FC 20 F8 90 */ fmr f1, f31 -/* 8026BE00 48 0D B2 D9 */ bl PSVECScale -/* 8026BE04 38 61 00 10 */ addi r3, r1, 0x10 -/* 8026BE08 7F C4 F3 78 */ mr r4, r30 -/* 8026BE0C 7F E5 FB 78 */ mr r5, r31 -/* 8026BE10 48 0D B2 81 */ bl PSVECAdd -/* 8026BE14 48 00 00 1C */ b lbl_8026BE30 -lbl_8026BE18: -/* 8026BE18 C0 1D 00 00 */ lfs f0, 0(r29) -/* 8026BE1C D0 1F 00 00 */ stfs f0, 0(r31) -/* 8026BE20 C0 1D 00 04 */ lfs f0, 4(r29) -/* 8026BE24 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8026BE28 C0 1D 00 08 */ lfs f0, 8(r29) -/* 8026BE2C D0 1F 00 08 */ stfs f0, 8(r31) -lbl_8026BE30: -/* 8026BE30 38 60 00 01 */ li r3, 1 -/* 8026BE34 48 00 00 08 */ b lbl_8026BE3C -lbl_8026BE38: -/* 8026BE38 38 60 00 00 */ li r3, 0 -lbl_8026BE3C: -/* 8026BE3C E3 E1 00 38 */ psq_l f31, 56(r1), 0, 0 /* qr0 */ -/* 8026BE40 CB E1 00 30 */ lfd f31, 0x30(r1) -/* 8026BE44 39 61 00 30 */ addi r11, r1, 0x30 -/* 8026BE48 48 0F 63 E1 */ bl _restgpr_29 -/* 8026BE4C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 8026BE50 7C 08 03 A6 */ mtlr r0 -/* 8026BE54 38 21 00 40 */ addi r1, r1, 0x40 -/* 8026BE58 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos1__FPC3VecPC3VecfP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos1__FPC3VecPC3VecfP3Vec.s deleted file mode 100644 index 3d90464d27..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos1__FPC3VecPC3VecfP3Vec.s +++ /dev/null @@ -1,21 +0,0 @@ -lbl_80268560: -/* 80268560 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80268564 7C 08 02 A6 */ mflr r0 -/* 80268568 90 01 00 24 */ stw r0, 0x24(r1) -/* 8026856C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80268570 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80268574 7C 7E 1B 78 */ mr r30, r3 -/* 80268578 7C BF 2B 78 */ mr r31, r5 -/* 8026857C 7C 83 23 78 */ mr r3, r4 -/* 80268580 38 81 00 08 */ addi r4, r1, 8 -/* 80268584 48 0D EB 55 */ bl PSVECScale -/* 80268588 38 61 00 08 */ addi r3, r1, 8 -/* 8026858C 7F C4 F3 78 */ mr r4, r30 -/* 80268590 7F E5 FB 78 */ mr r5, r31 -/* 80268594 48 0D EA FD */ bl PSVECAdd -/* 80268598 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 8026859C 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 802685A0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 802685A4 7C 08 03 A6 */ mtlr r0 -/* 802685A8 38 21 00 20 */ addi r1, r1, 0x20 -/* 802685AC 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos2__FPC3VecPC3VecfP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos2__FPC3VecPC3VecfP3Vec.s deleted file mode 100644 index 36f8206401..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_InDivPos2__FPC3VecPC3VecfP3Vec.s +++ /dev/null @@ -1,26 +0,0 @@ -lbl_802685B0: -/* 802685B0 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802685B4 7C 08 02 A6 */ mflr r0 -/* 802685B8 90 01 00 34 */ stw r0, 0x34(r1) -/* 802685BC DB E1 00 28 */ stfd f31, 0x28(r1) -/* 802685C0 93 E1 00 24 */ stw r31, 0x24(r1) -/* 802685C4 93 C1 00 20 */ stw r30, 0x20(r1) -/* 802685C8 7C 7E 1B 78 */ mr r30, r3 -/* 802685CC FF E0 08 90 */ fmr f31, f1 -/* 802685D0 7C BF 2B 78 */ mr r31, r5 -/* 802685D4 7C 83 23 78 */ mr r3, r4 -/* 802685D8 7F C4 F3 78 */ mr r4, r30 -/* 802685DC 38 A1 00 08 */ addi r5, r1, 8 -/* 802685E0 48 0D EA D5 */ bl PSVECSubtract -/* 802685E4 7F C3 F3 78 */ mr r3, r30 -/* 802685E8 38 81 00 08 */ addi r4, r1, 8 -/* 802685EC FC 20 F8 90 */ fmr f1, f31 -/* 802685F0 7F E5 FB 78 */ mr r5, r31 -/* 802685F4 4B FF FF 6D */ bl cM3d_InDivPos1__FPC3VecPC3VecfP3Vec -/* 802685F8 CB E1 00 28 */ lfd f31, 0x28(r1) -/* 802685FC 83 E1 00 24 */ lwz r31, 0x24(r1) -/* 80268600 83 C1 00 20 */ lwz r30, 0x20(r1) -/* 80268604 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80268608 7C 08 03 A6 */ mtlr r0 -/* 8026860C 38 21 00 30 */ addi r1, r1, 0x30 -/* 80268610 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf.s b/asm/SSystem/SComponent/c_m3d/cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf.s deleted file mode 100644 index 32ad817483..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf.s +++ /dev/null @@ -1,97 +0,0 @@ -lbl_80269C2C: -/* 80269C2C C0 03 00 00 */ lfs f0, 0(r3) -/* 80269C30 C0 44 00 00 */ lfs f2, 0(r4) -/* 80269C34 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269C38 40 80 00 10 */ bge lbl_80269C48 -/* 80269C3C FC 60 00 90 */ fmr f3, f0 -/* 80269C40 FC 80 10 90 */ fmr f4, f2 -/* 80269C44 48 00 00 0C */ b lbl_80269C50 -lbl_80269C48: -/* 80269C48 FC 60 10 90 */ fmr f3, f2 -/* 80269C4C FC 80 00 90 */ fmr f4, f0 -lbl_80269C50: -/* 80269C50 C0 05 00 00 */ lfs f0, 0(r5) -/* 80269C54 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80269C58 40 81 00 0C */ ble lbl_80269C64 -/* 80269C5C FC 60 00 90 */ fmr f3, f0 -/* 80269C60 48 00 00 10 */ b lbl_80269C70 -lbl_80269C64: -/* 80269C64 FC 04 00 40 */ fcmpo cr0, f4, f0 -/* 80269C68 40 80 00 08 */ bge lbl_80269C70 -/* 80269C6C FC 80 00 90 */ fmr f4, f0 -lbl_80269C70: -/* 80269C70 EC 03 08 28 */ fsubs f0, f3, f1 -/* 80269C74 C0 46 00 00 */ lfs f2, 0(r6) -/* 80269C78 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269C7C 41 81 00 10 */ bgt lbl_80269C8C -/* 80269C80 EC 04 08 2A */ fadds f0, f4, f1 -/* 80269C84 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269C88 40 80 00 0C */ bge lbl_80269C94 -lbl_80269C8C: -/* 80269C8C 38 60 00 00 */ li r3, 0 -/* 80269C90 4E 80 00 20 */ blr -lbl_80269C94: -/* 80269C94 C0 03 00 08 */ lfs f0, 8(r3) -/* 80269C98 C0 64 00 08 */ lfs f3, 8(r4) -/* 80269C9C FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80269CA0 40 80 00 0C */ bge lbl_80269CAC -/* 80269CA4 FC 40 00 90 */ fmr f2, f0 -/* 80269CA8 48 00 00 0C */ b lbl_80269CB4 -lbl_80269CAC: -/* 80269CAC FC 40 18 90 */ fmr f2, f3 -/* 80269CB0 FC 60 00 90 */ fmr f3, f0 -lbl_80269CB4: -/* 80269CB4 C0 05 00 08 */ lfs f0, 8(r5) -/* 80269CB8 FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80269CBC 40 81 00 0C */ ble lbl_80269CC8 -/* 80269CC0 FC 40 00 90 */ fmr f2, f0 -/* 80269CC4 48 00 00 10 */ b lbl_80269CD4 -lbl_80269CC8: -/* 80269CC8 FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80269CCC 40 80 00 08 */ bge lbl_80269CD4 -/* 80269CD0 FC 60 00 90 */ fmr f3, f0 -lbl_80269CD4: -/* 80269CD4 EC 02 08 28 */ fsubs f0, f2, f1 -/* 80269CD8 C0 46 00 08 */ lfs f2, 8(r6) -/* 80269CDC FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269CE0 41 81 00 10 */ bgt lbl_80269CF0 -/* 80269CE4 EC 03 08 2A */ fadds f0, f3, f1 -/* 80269CE8 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269CEC 40 80 00 0C */ bge lbl_80269CF8 -lbl_80269CF0: -/* 80269CF0 38 60 00 00 */ li r3, 0 -/* 80269CF4 4E 80 00 20 */ blr -lbl_80269CF8: -/* 80269CF8 C0 03 00 04 */ lfs f0, 4(r3) -/* 80269CFC C0 64 00 04 */ lfs f3, 4(r4) -/* 80269D00 FC 00 18 40 */ fcmpo cr0, f0, f3 -/* 80269D04 40 80 00 0C */ bge lbl_80269D10 -/* 80269D08 FC 40 00 90 */ fmr f2, f0 -/* 80269D0C 48 00 00 0C */ b lbl_80269D18 -lbl_80269D10: -/* 80269D10 FC 40 18 90 */ fmr f2, f3 -/* 80269D14 FC 60 00 90 */ fmr f3, f0 -lbl_80269D18: -/* 80269D18 C0 05 00 04 */ lfs f0, 4(r5) -/* 80269D1C FC 02 00 40 */ fcmpo cr0, f2, f0 -/* 80269D20 40 81 00 0C */ ble lbl_80269D2C -/* 80269D24 FC 40 00 90 */ fmr f2, f0 -/* 80269D28 48 00 00 10 */ b lbl_80269D38 -lbl_80269D2C: -/* 80269D2C FC 03 00 40 */ fcmpo cr0, f3, f0 -/* 80269D30 40 80 00 08 */ bge lbl_80269D38 -/* 80269D34 FC 60 00 90 */ fmr f3, f0 -lbl_80269D38: -/* 80269D38 EC 02 08 28 */ fsubs f0, f2, f1 -/* 80269D3C C0 46 00 04 */ lfs f2, 4(r6) -/* 80269D40 FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269D44 41 81 00 10 */ bgt lbl_80269D54 -/* 80269D48 EC 03 08 2A */ fadds f0, f3, f1 -/* 80269D4C FC 00 10 40 */ fcmpo cr0, f0, f2 -/* 80269D50 40 80 00 0C */ bge lbl_80269D5C -lbl_80269D54: -/* 80269D54 38 60 00 00 */ li r3, 0 -/* 80269D58 4E 80 00 20 */ blr -lbl_80269D5C: -/* 80269D5C 38 60 00 01 */ li r3, 1 -/* 80269D60 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf.s b/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf.s deleted file mode 100644 index be6e3cb333..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf.s +++ /dev/null @@ -1,61 +0,0 @@ -lbl_8026862C: -/* 8026862C 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80268630 7C 08 02 A6 */ mflr r0 -/* 80268634 90 01 00 14 */ stw r0, 0x14(r1) -/* 80268638 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8026863C 93 C1 00 08 */ stw r30, 8(r1) -/* 80268640 FD 00 08 90 */ fmr f8, f1 -/* 80268644 FC E0 10 90 */ fmr f7, f2 -/* 80268648 7C BE 2B 78 */ mr r30, r5 -/* 8026864C 3B E0 00 00 */ li r31, 0 -/* 80268650 EC 45 18 28 */ fsubs f2, f5, f3 -/* 80268654 EC A6 20 28 */ fsubs f5, f6, f4 -/* 80268658 EC 22 00 B2 */ fmuls f1, f2, f2 -/* 8026865C EC 05 01 72 */ fmuls f0, f5, f5 -/* 80268660 EC C1 00 2A */ fadds f6, f1, f0 -/* 80268664 FC 00 32 10 */ fabs f0, f6 -/* 80268668 FC 20 00 18 */ frsp f1, f0 -/* 8026866C C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 80268670 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268674 40 80 00 14 */ bge lbl_80268688 -/* 80268678 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 8026867C D0 1E 00 00 */ stfs f0, 0(r30) -/* 80268680 38 60 00 00 */ li r3, 0 -/* 80268684 48 00 00 74 */ b lbl_802686F8 -lbl_80268688: -/* 80268688 EC 08 18 28 */ fsubs f0, f8, f3 -/* 8026868C EC 22 00 32 */ fmuls f1, f2, f0 -/* 80268690 EC 07 20 28 */ fsubs f0, f7, f4 -/* 80268694 EC 05 00 32 */ fmuls f0, f5, f0 -/* 80268698 EC 01 00 2A */ fadds f0, f1, f0 -/* 8026869C EC 20 30 24 */ fdivs f1, f0, f6 -/* 802686A0 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 802686A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802686A8 4C 41 13 82 */ cror 2, 1, 2 -/* 802686AC 40 82 00 18 */ bne lbl_802686C4 -/* 802686B0 C0 02 B7 38 */ lfs f0, lit_2273(r2) -/* 802686B4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802686B8 4C 40 13 82 */ cror 2, 0, 2 -/* 802686BC 40 82 00 08 */ bne lbl_802686C4 -/* 802686C0 3B E0 00 01 */ li r31, 1 -lbl_802686C4: -/* 802686C4 EC 02 00 72 */ fmuls f0, f2, f1 -/* 802686C8 EC 03 00 2A */ fadds f0, f3, f0 -/* 802686CC D0 03 00 00 */ stfs f0, 0(r3) -/* 802686D0 EC 05 00 72 */ fmuls f0, f5, f1 -/* 802686D4 EC 04 00 2A */ fadds f0, f4, f0 -/* 802686D8 D0 04 00 00 */ stfs f0, 0(r4) -/* 802686DC C0 23 00 00 */ lfs f1, 0(r3) -/* 802686E0 C0 44 00 00 */ lfs f2, 0(r4) -/* 802686E4 FC 60 40 90 */ fmr f3, f8 -/* 802686E8 FC 80 38 90 */ fmr f4, f7 -/* 802686EC 4B FF FF 29 */ bl cM3d_Len2dSq__Fffff -/* 802686F0 D0 3E 00 00 */ stfs f1, 0(r30) -/* 802686F4 7F E3 FB 78 */ mr r3, r31 -lbl_802686F8: -/* 802686F8 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 802686FC 83 C1 00 08 */ lwz r30, 8(r1) -/* 80268700 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80268704 7C 08 03 A6 */ mtlr r0 -/* 80268708 38 21 00 10 */ addi r1, r1, 0x10 -/* 8026870C 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSq__Fffff.s b/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSq__Fffff.s deleted file mode 100644 index 3b37e1fd5b..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Len2dSq__Fffff.s +++ /dev/null @@ -1,7 +0,0 @@ -lbl_80268614: -/* 80268614 EC 01 18 28 */ fsubs f0, f1, f3 -/* 80268618 EC 42 20 28 */ fsubs f2, f2, f4 -/* 8026861C EC 20 00 32 */ fmuls f1, f0, f0 -/* 80268620 EC 02 00 B2 */ fmuls f0, f2, f2 -/* 80268624 EC 21 00 2A */ fadds f1, f1, f0 -/* 80268628 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf.s b/asm/SSystem/SComponent/c_m3d/cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf.s deleted file mode 100644 index 362f6b72ff..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf.s +++ /dev/null @@ -1,71 +0,0 @@ -lbl_80268710: -/* 80268710 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 80268714 7C 08 02 A6 */ mflr r0 -/* 80268718 90 01 00 54 */ stw r0, 0x54(r1) -/* 8026871C DB E1 00 40 */ stfd f31, 0x40(r1) -/* 80268720 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 80268724 39 61 00 40 */ addi r11, r1, 0x40 -/* 80268728 48 0F 9A AD */ bl _savegpr_27 -/* 8026872C 7C 7B 1B 78 */ mr r27, r3 -/* 80268730 7C 9C 23 78 */ mr r28, r4 -/* 80268734 7C BD 2B 78 */ mr r29, r5 -/* 80268738 7C DE 33 78 */ mr r30, r6 -/* 8026873C 38 7B 00 0C */ addi r3, r27, 0xc -/* 80268740 7F 64 DB 78 */ mr r4, r27 -/* 80268744 38 A1 00 14 */ addi r5, r1, 0x14 -/* 80268748 48 0D E9 6D */ bl PSVECSubtract -/* 8026874C 38 61 00 14 */ addi r3, r1, 0x14 -/* 80268750 7C 64 1B 78 */ mr r4, r3 -/* 80268754 48 0D EA 41 */ bl PSVECDotProduct -/* 80268758 FF E0 08 90 */ fmr f31, f1 -/* 8026875C FC 00 FA 10 */ fabs f0, f31 -/* 80268760 FC 20 00 18 */ frsp f1, f0 -/* 80268764 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 80268768 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026876C 40 80 00 14 */ bge lbl_80268780 -/* 80268770 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 80268774 D0 1E 00 00 */ stfs f0, 0(r30) -/* 80268778 38 60 00 00 */ li r3, 0 -/* 8026877C 48 00 00 78 */ b lbl_802687F4 -lbl_80268780: -/* 80268780 7F 83 E3 78 */ mr r3, r28 -/* 80268784 7F 64 DB 78 */ mr r4, r27 -/* 80268788 38 A1 00 08 */ addi r5, r1, 8 -/* 8026878C 48 0D E9 29 */ bl PSVECSubtract -/* 80268790 38 61 00 08 */ addi r3, r1, 8 -/* 80268794 38 81 00 14 */ addi r4, r1, 0x14 -/* 80268798 48 0D E9 FD */ bl PSVECDotProduct -/* 8026879C EC 21 F8 24 */ fdivs f1, f1, f31 -/* 802687A0 C0 02 B7 18 */ lfs f0, lit_2256(r2) -/* 802687A4 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802687A8 41 80 00 10 */ blt lbl_802687B8 -/* 802687AC C0 02 B7 38 */ lfs f0, lit_2273(r2) -/* 802687B0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 802687B4 40 81 00 0C */ ble lbl_802687C0 -lbl_802687B8: -/* 802687B8 3B E0 00 00 */ li r31, 0 -/* 802687BC 48 00 00 08 */ b lbl_802687C4 -lbl_802687C0: -/* 802687C0 3B E0 00 01 */ li r31, 1 -lbl_802687C4: -/* 802687C4 38 61 00 14 */ addi r3, r1, 0x14 -/* 802687C8 7C 64 1B 78 */ mr r4, r3 -/* 802687CC 48 0D E9 0D */ bl PSVECScale -/* 802687D0 38 61 00 14 */ addi r3, r1, 0x14 -/* 802687D4 7F 64 DB 78 */ mr r4, r27 -/* 802687D8 7F A5 EB 78 */ mr r5, r29 -/* 802687DC 48 0D E8 B5 */ bl PSVECAdd -/* 802687E0 7F A3 EB 78 */ mr r3, r29 -/* 802687E4 7F 84 E3 78 */ mr r4, r28 -/* 802687E8 48 0D EB B5 */ bl PSVECSquareDistance -/* 802687EC D0 3E 00 00 */ stfs f1, 0(r30) -/* 802687F0 7F E3 FB 78 */ mr r3, r31 -lbl_802687F4: -/* 802687F4 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 802687F8 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 802687FC 39 61 00 40 */ addi r11, r1, 0x40 -/* 80268800 48 0F 9A 21 */ bl _restgpr_27 -/* 80268804 80 01 00 54 */ lwz r0, 0x54(r1) -/* 80268808 7C 08 03 A6 */ mtlr r0 -/* 8026880C 38 21 00 50 */ addi r1, r1, 0x50 -/* 80268810 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_PlaneCrossLineProcWork__FfffffffPfPf.s b/asm/SSystem/SComponent/c_m3d/cM3d_PlaneCrossLineProcWork__FfffffffPfPf.s deleted file mode 100644 index bcb45e7ae5..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_PlaneCrossLineProcWork__FfffffffPfPf.s +++ /dev/null @@ -1,12 +0,0 @@ -lbl_8026E6C4: -/* 8026E6C4 EC 42 01 F2 */ fmuls f2, f2, f7 -/* 8026E6C8 EC 04 01 B2 */ fmuls f0, f4, f6 -/* 8026E6CC EC 02 00 28 */ fsubs f0, f2, f0 -/* 8026E6D0 EC 00 28 24 */ fdivs f0, f0, f5 -/* 8026E6D4 D0 03 00 00 */ stfs f0, 0(r3) -/* 8026E6D8 EC 43 01 B2 */ fmuls f2, f3, f6 -/* 8026E6DC EC 01 01 F2 */ fmuls f0, f1, f7 -/* 8026E6E0 EC 02 00 28 */ fsubs f0, f2, f0 -/* 8026E6E4 EC 00 28 24 */ fdivs f0, f0, f5 -/* 8026E6E8 D0 04 00 00 */ stfs f0, 0(r4) -/* 8026E6EC 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec.s deleted file mode 100644 index ff45a6dc3b..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec.s +++ /dev/null @@ -1,35 +0,0 @@ -lbl_80268814: -/* 80268814 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80268818 7C 08 02 A6 */ mflr r0 -/* 8026881C 90 01 00 24 */ stw r0, 0x24(r1) -/* 80268820 DB E1 00 10 */ stfd f31, 0x10(r1) -/* 80268824 F3 E1 00 18 */ psq_st f31, 24(r1), 0, 0 /* qr0 */ -/* 80268828 93 E1 00 0C */ stw r31, 0xc(r1) -/* 8026882C 93 C1 00 08 */ stw r30, 8(r1) -/* 80268830 7C 7E 1B 78 */ mr r30, r3 -/* 80268834 7C 9F 23 78 */ mr r31, r4 -/* 80268838 48 0D E9 19 */ bl PSVECMag -/* 8026883C FF E0 08 90 */ fmr f31, f1 -/* 80268840 FC 00 FA 10 */ fabs f0, f31 -/* 80268844 FC 20 00 18 */ frsp f1, f0 -/* 80268848 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026884C FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 80268850 40 80 00 0C */ bge lbl_8026885C -/* 80268854 C0 22 B7 18 */ lfs f1, lit_2256(r2) -/* 80268858 48 00 00 1C */ b lbl_80268874 -lbl_8026885C: -/* 8026885C 7F C3 F3 78 */ mr r3, r30 -/* 80268860 7F E4 FB 78 */ mr r4, r31 -/* 80268864 48 0D E9 31 */ bl PSVECDotProduct -/* 80268868 C0 1E 00 0C */ lfs f0, 0xc(r30) -/* 8026886C EC 00 08 2A */ fadds f0, f0, f1 -/* 80268870 EC 20 F8 24 */ fdivs f1, f0, f31 -lbl_80268874: -/* 80268874 E3 E1 00 18 */ psq_l f31, 24(r1), 0, 0 /* qr0 */ -/* 80268878 CB E1 00 10 */ lfd f31, 0x10(r1) -/* 8026887C 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80268880 83 C1 00 08 */ lwz r30, 8(r1) -/* 80268884 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80268888 7C 08 03 A6 */ mtlr r0 -/* 8026888C 38 21 00 20 */ addi r1, r1, 0x20 -/* 80268890 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct2d__Fffffff.s b/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct2d__Fffffff.s deleted file mode 100644 index 9f10002aea..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct2d__Fffffff.s +++ /dev/null @@ -1,9 +0,0 @@ -lbl_80268894: -/* 80268894 EC 63 08 28 */ fsubs f3, f3, f1 -/* 80268898 EC 06 10 28 */ fsubs f0, f6, f2 -/* 8026889C EC 63 00 32 */ fmuls f3, f3, f0 -/* 802688A0 EC 44 10 28 */ fsubs f2, f4, f2 -/* 802688A4 EC 05 08 28 */ fsubs f0, f5, f1 -/* 802688A8 EC 02 00 32 */ fmuls f0, f2, f0 -/* 802688AC EC 23 00 28 */ fsubs f1, f3, f0 -/* 802688B0 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz.s b/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz.s deleted file mode 100644 index 2b8831dabf..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz.s +++ /dev/null @@ -1,27 +0,0 @@ -lbl_802688B4: -/* 802688B4 94 21 FF D0 */ stwu r1, -0x30(r1) -/* 802688B8 7C 08 02 A6 */ mflr r0 -/* 802688BC 90 01 00 34 */ stw r0, 0x34(r1) -/* 802688C0 39 61 00 30 */ addi r11, r1, 0x30 -/* 802688C4 48 0F 99 19 */ bl _savegpr_29 -/* 802688C8 7C 7D 1B 78 */ mr r29, r3 -/* 802688CC 7C BE 2B 78 */ mr r30, r5 -/* 802688D0 7C DF 33 78 */ mr r31, r6 -/* 802688D4 7C 83 23 78 */ mr r3, r4 -/* 802688D8 7F A4 EB 78 */ mr r4, r29 -/* 802688DC 38 A1 00 14 */ addi r5, r1, 0x14 -/* 802688E0 48 0D E7 D5 */ bl PSVECSubtract -/* 802688E4 7F C3 F3 78 */ mr r3, r30 -/* 802688E8 7F A4 EB 78 */ mr r4, r29 -/* 802688EC 38 A1 00 08 */ addi r5, r1, 8 -/* 802688F0 48 0D E7 C5 */ bl PSVECSubtract -/* 802688F4 38 61 00 14 */ addi r3, r1, 0x14 -/* 802688F8 38 81 00 08 */ addi r4, r1, 8 -/* 802688FC 7F E5 FB 78 */ mr r5, r31 -/* 80268900 48 0D E8 B5 */ bl PSVECCrossProduct -/* 80268904 39 61 00 30 */ addi r11, r1, 0x30 -/* 80268908 48 0F 99 21 */ bl _restgpr_29 -/* 8026890C 80 01 00 34 */ lwz r0, 0x34(r1) -/* 80268910 7C 08 03 A6 */ mtlr r0 -/* 80268914 38 21 00 30 */ addi r1, r1, 0x30 -/* 80268918 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec.s deleted file mode 100644 index 6c71ed8b57..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8026E980: -/* 8026E980 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8026E984 7C 08 02 A6 */ mflr r0 -/* 8026E988 90 01 00 54 */ stw r0, 0x54(r1) -/* 8026E98C DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8026E990 F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 8026E994 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026E998 48 0F 38 45 */ bl _savegpr_29 -/* 8026E99C 7C 7D 1B 78 */ mr r29, r3 -/* 8026E9A0 7C 9E 23 78 */ mr r30, r4 -/* 8026E9A4 7C BF 2B 78 */ mr r31, r5 -/* 8026E9A8 38 7D 00 0C */ addi r3, r29, 0xc -/* 8026E9AC 7F A4 EB 78 */ mr r4, r29 -/* 8026E9B0 38 A1 00 20 */ addi r5, r1, 0x20 -/* 8026E9B4 48 0D 87 01 */ bl PSVECSubtract -/* 8026E9B8 38 61 00 20 */ addi r3, r1, 0x20 -/* 8026E9BC 48 0D 87 7D */ bl PSVECSquareMag -/* 8026E9C0 FF E0 08 90 */ fmr f31, f1 -/* 8026E9C4 FC 00 FA 10 */ fabs f0, f31 -/* 8026E9C8 FC 20 00 18 */ frsp f1, f0 -/* 8026E9CC C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026E9D0 FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026E9D4 40 80 00 24 */ bge lbl_8026E9F8 -/* 8026E9D8 C0 1E 00 00 */ lfs f0, 0(r30) -/* 8026E9DC D0 1F 00 00 */ stfs f0, 0(r31) -/* 8026E9E0 C0 1E 00 04 */ lfs f0, 4(r30) -/* 8026E9E4 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8026E9E8 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8026E9EC D0 1F 00 08 */ stfs f0, 8(r31) -/* 8026E9F0 C0 22 B7 18 */ lfs f1, lit_2256(r2) -/* 8026E9F4 48 00 00 48 */ b lbl_8026EA3C -lbl_8026E9F8: -/* 8026E9F8 7F C3 F3 78 */ mr r3, r30 -/* 8026E9FC 7F A4 EB 78 */ mr r4, r29 -/* 8026EA00 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8026EA04 48 0D 86 B1 */ bl PSVECSubtract -/* 8026EA08 38 61 00 14 */ addi r3, r1, 0x14 -/* 8026EA0C 38 81 00 20 */ addi r4, r1, 0x20 -/* 8026EA10 48 0D 87 85 */ bl PSVECDotProduct -/* 8026EA14 EF E1 F8 24 */ fdivs f31, f1, f31 -/* 8026EA18 38 61 00 20 */ addi r3, r1, 0x20 -/* 8026EA1C 38 81 00 08 */ addi r4, r1, 8 -/* 8026EA20 FC 20 F8 90 */ fmr f1, f31 -/* 8026EA24 48 0D 86 B5 */ bl PSVECScale -/* 8026EA28 38 61 00 08 */ addi r3, r1, 8 -/* 8026EA2C 7F A4 EB 78 */ mr r4, r29 -/* 8026EA30 7F E5 FB 78 */ mr r5, r31 -/* 8026EA34 48 0D 86 5D */ bl PSVECAdd -/* 8026EA38 FC 20 F8 90 */ fmr f1, f31 -lbl_8026EA3C: -/* 8026EA3C E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 8026EA40 CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8026EA44 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026EA48 48 0F 37 E1 */ bl _restgpr_29 -/* 8026EA4C 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8026EA50 7C 08 03 A6 */ mtlr r0 -/* 8026EA54 38 21 00 50 */ addi r1, r1, 0x50 -/* 8026EA58 4E 80 00 20 */ blr diff --git a/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec.s b/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec.s deleted file mode 100644 index b3473d26ab..0000000000 --- a/asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec.s +++ /dev/null @@ -1,58 +0,0 @@ -lbl_8026EA5C: -/* 8026EA5C 94 21 FF B0 */ stwu r1, -0x50(r1) -/* 8026EA60 7C 08 02 A6 */ mflr r0 -/* 8026EA64 90 01 00 54 */ stw r0, 0x54(r1) -/* 8026EA68 DB E1 00 40 */ stfd f31, 0x40(r1) -/* 8026EA6C F3 E1 00 48 */ psq_st f31, 72(r1), 0, 0 /* qr0 */ -/* 8026EA70 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026EA74 48 0F 37 69 */ bl _savegpr_29 -/* 8026EA78 7C 7D 1B 78 */ mr r29, r3 -/* 8026EA7C 7C BE 2B 78 */ mr r30, r5 -/* 8026EA80 7C DF 33 78 */ mr r31, r6 -/* 8026EA84 7C 83 23 78 */ mr r3, r4 -/* 8026EA88 7F A4 EB 78 */ mr r4, r29 -/* 8026EA8C 38 A1 00 20 */ addi r5, r1, 0x20 -/* 8026EA90 48 0D 86 25 */ bl PSVECSubtract -/* 8026EA94 38 61 00 20 */ addi r3, r1, 0x20 -/* 8026EA98 48 0D 86 A1 */ bl PSVECSquareMag -/* 8026EA9C FF E0 08 90 */ fmr f31, f1 -/* 8026EAA0 FC 00 FA 10 */ fabs f0, f31 -/* 8026EAA4 FC 20 00 18 */ frsp f1, f0 -/* 8026EAA8 C0 0D 8C 00 */ lfs f0, G_CM3D_F_ABS_MIN(r13) -/* 8026EAAC FC 01 00 40 */ fcmpo cr0, f1, f0 -/* 8026EAB0 40 80 00 24 */ bge lbl_8026EAD4 -/* 8026EAB4 C0 1E 00 00 */ lfs f0, 0(r30) -/* 8026EAB8 D0 1F 00 00 */ stfs f0, 0(r31) -/* 8026EABC C0 1E 00 04 */ lfs f0, 4(r30) -/* 8026EAC0 D0 1F 00 04 */ stfs f0, 4(r31) -/* 8026EAC4 C0 1E 00 08 */ lfs f0, 8(r30) -/* 8026EAC8 D0 1F 00 08 */ stfs f0, 8(r31) -/* 8026EACC C0 22 B7 18 */ lfs f1, lit_2256(r2) -/* 8026EAD0 48 00 00 48 */ b lbl_8026EB18 -lbl_8026EAD4: -/* 8026EAD4 7F C3 F3 78 */ mr r3, r30 -/* 8026EAD8 7F A4 EB 78 */ mr r4, r29 -/* 8026EADC 38 A1 00 14 */ addi r5, r1, 0x14 -/* 8026EAE0 48 0D 85 D5 */ bl PSVECSubtract -/* 8026EAE4 38 61 00 14 */ addi r3, r1, 0x14 -/* 8026EAE8 38 81 00 20 */ addi r4, r1, 0x20 -/* 8026EAEC 48 0D 86 A9 */ bl PSVECDotProduct -/* 8026EAF0 EF E1 F8 24 */ fdivs f31, f1, f31 -/* 8026EAF4 38 61 00 20 */ addi r3, r1, 0x20 -/* 8026EAF8 38 81 00 08 */ addi r4, r1, 8 -/* 8026EAFC FC 20 F8 90 */ fmr f1, f31 -/* 8026EB00 48 0D 85 D9 */ bl PSVECScale -/* 8026EB04 38 61 00 08 */ addi r3, r1, 8 -/* 8026EB08 7F A4 EB 78 */ mr r4, r29 -/* 8026EB0C 7F E5 FB 78 */ mr r5, r31 -/* 8026EB10 48 0D 85 81 */ bl PSVECAdd -/* 8026EB14 FC 20 F8 90 */ fmr f1, f31 -lbl_8026EB18: -/* 8026EB18 E3 E1 00 48 */ psq_l f31, 72(r1), 0, 0 /* qr0 */ -/* 8026EB1C CB E1 00 40 */ lfd f31, 0x40(r1) -/* 8026EB20 39 61 00 40 */ addi r11, r1, 0x40 -/* 8026EB24 48 0F 37 05 */ bl _restgpr_29 -/* 8026EB28 80 01 00 54 */ lwz r0, 0x54(r1) -/* 8026EB2C 7C 08 03 A6 */ mtlr r0 -/* 8026EB30 38 21 00 50 */ addi r1, r1, 0x50 -/* 8026EB34 4E 80 00 20 */ blr diff --git a/include/SSystem/SComponent/c_API_controller_pad.h b/include/SSystem/SComponent/c_API_controller_pad.h index 56ba9e95a7..1036ccab71 100644 --- a/include/SSystem/SComponent/c_API_controller_pad.h +++ b/include/SSystem/SComponent/c_API_controller_pad.h @@ -1,6 +1,37 @@ -#ifndef C_API_CONTROLLER_PAD_H -#define C_API_CONTROLLER_PAD_H +#ifndef C_API_CONTROLLER_PAD_ +#define C_API_CONTROLLER_PAD_ #include "dolphin/types.h" -#endif /* C_API_CONTROLLER_PAD_H */ +struct interface_of_controller_pad { + f32 mMainStickPosX; + f32 mMainStickPosY; + f32 mMainStickValue; + s16 mMainStickAngle; + u8 field_0xe; + u8 field_0xf; + f32 mCStickPosX; + f32 mCStickPosY; + f32 mCStickValue; + s16 mCStickAngle; + u8 field_0x1e; + u8 field_0x1f; + f32 mAnalogA; + f32 mAnalogB; + f32 mTriggerLeft; + f32 mTriggerRight; + u32 mButtonFlags; + u32 mPressedButtonFlags; + s8 mGamepadErrorFlags; + u8 field_0x39; + u8 field_0x3a; + u8 field_0x3b; + u8 field_0x3c; + u8 field_0x3d; + u8 field_0x3e; + u8 field_0x3f; +}; + +void cAPICPad_recalibrate(void); + +#endif \ No newline at end of file diff --git a/include/SSystem/SComponent/c_bg_s_chk.h b/include/SSystem/SComponent/c_bg_s_chk.h index 49c4922789..2e379ef228 100644 --- a/include/SSystem/SComponent/c_bg_s_chk.h +++ b/include/SSystem/SComponent/c_bg_s_chk.h @@ -3,4 +3,18 @@ #include "dolphin/types.h" +class cBgS_Chk { +private: + /* 0x0 */ u32 unk_0x00; + /* 0x4 */ u32 unk_0x04; + /* 0x8 */ u32 unk_0x08; + /* 0xC */ u8 unk_0x0C; + /* 0x10 */ // __vtable__ +public: + cBgS_Chk(void); + virtual ~cBgS_Chk(void); + void SetExtChk(cBgS_Chk&); + bool ChkSameActorPid(unsigned int) const; +}; + #endif /* C_BG_S_CHK_H */ diff --git a/include/SSystem/SComponent/c_bg_s_gnd_chk.h b/include/SSystem/SComponent/c_bg_s_gnd_chk.h index 30063c014d..009ce54f0e 100644 --- a/include/SSystem/SComponent/c_bg_s_gnd_chk.h +++ b/include/SSystem/SComponent/c_bg_s_gnd_chk.h @@ -2,5 +2,18 @@ #define C_BG_S_GND_CHK_H #include "dolphin/types.h" +#include "SSystem/SComponent/c_bg_s_chk.h" +#include "SSystem/SComponent/c_xyz.h" + +class cBgS_GndChk : public cBgS_Chk { +private: + // poly info +public: + cBgS_GndChk(void); + virtual ~cBgS_GndChk(void); + void SetPos(const Vec*); + void SetPos(const cXyz*); + void PreCheck(void); +}; #endif /* C_BG_S_GND_CHK_H */ diff --git a/include/SSystem/SComponent/c_bg_s_lin_chk.h b/include/SSystem/SComponent/c_bg_s_lin_chk.h index 398aef6fee..e75008e92d 100644 --- a/include/SSystem/SComponent/c_bg_s_lin_chk.h +++ b/include/SSystem/SComponent/c_bg_s_lin_chk.h @@ -2,5 +2,15 @@ #define C_BG_S_LIN_CHK_H #include "dolphin/types.h" +#include "SSystem/SComponent/c_xyz.h" + +class cBgS_LinChk { +public: + cBgS_LinChk(void); + ~cBgS_LinChk(void); + void ct(void); + void Set2(const cXyz*, const cXyz*, unsigned int); + void PreCalc(void); +}; #endif /* C_BG_S_LIN_CHK_H */ diff --git a/include/SSystem/SComponent/c_bg_s_poly_info.h b/include/SSystem/SComponent/c_bg_s_poly_info.h index 9da29950b8..ed0ca41b60 100644 --- a/include/SSystem/SComponent/c_bg_s_poly_info.h +++ b/include/SSystem/SComponent/c_bg_s_poly_info.h @@ -3,4 +3,23 @@ #include "dolphin/types.h" +class cBgS_PolyInfo { +private: + /* 0x00 */ u16 mPolyIndex; + /* 0x02 */ u16 unk_0x02; + /* 0x04 */ void* unk_0x04; + /* 0x08 */ u32 unk_0x08; + +public: + cBgS_PolyInfo(void); + virtual ~cBgS_PolyInfo(void); + bool ChkSetInfo(void) const; + void ClearPi(void); + void SetPolyInfo(const cBgS_PolyInfo&); + void SetActorInfo(int, void*, unsigned int); + bool ChkSafe(const void*, unsigned int) const; + void SetPolyIndex(int); + bool ChkBgIndex(void) const; +}; + #endif /* C_BG_S_POLY_INFO_H */ diff --git a/include/SSystem/SComponent/c_bg_s_shdw_draw.h b/include/SSystem/SComponent/c_bg_s_shdw_draw.h index e935c65193..ddbafac5d3 100644 --- a/include/SSystem/SComponent/c_bg_s_shdw_draw.h +++ b/include/SSystem/SComponent/c_bg_s_shdw_draw.h @@ -2,5 +2,19 @@ #define C_BG_S_SHDW_DRAW_H #include "dolphin/types.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" +#include "SSystem/SComponent/c_xyz.h" + +struct cBgD_Vtx_t; + +typedef int (*cBgS_ShdwDraw_Callback)(class cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*); + +class cBgS_ShdwDraw { +public: + cBgS_ShdwDraw(void); + ~cBgS_ShdwDraw(void); + void Set(cXyz&, cXyz&); + void SetCallback(cBgS_ShdwDraw_Callback); +}; #endif /* C_BG_S_SHDW_DRAW_H */ diff --git a/include/SSystem/SComponent/c_bg_w.h b/include/SSystem/SComponent/c_bg_w.h index ff54875936..b46c178241 100644 --- a/include/SSystem/SComponent/c_bg_w.h +++ b/include/SSystem/SComponent/c_bg_w.h @@ -3,4 +3,19 @@ #include "dolphin/types.h" +class cBgW_BgId { +public: + void Regist(int a1); + void Release(); + + unsigned int ChkUsed() const; + +private: + unsigned short mId; +}; + +bool cBgW_CheckBGround(float a1); +bool cBgW_CheckBRoof(float a1); +bool cBgW_CheckBWall(float a1); + #endif /* C_BG_W_H */ diff --git a/include/SSystem/SComponent/c_m2d.h b/include/SSystem/SComponent/c_m2d.h index 334e3d0445..9e90110960 100644 --- a/include/SSystem/SComponent/c_m2d.h +++ b/include/SSystem/SComponent/c_m2d.h @@ -3,4 +3,8 @@ #include "dolphin/types.h" +struct cM2dGCir; + +void cM2d_CrossCirLin(cM2dGCir&, float, float, float, float, float*, float*); + #endif /* C_M2D_H */ diff --git a/include/SSystem/SComponent/c_m3d.h b/include/SSystem/SComponent/c_m3d.h index 85e1e019e2..81d18507cb 100644 --- a/include/SSystem/SComponent/c_m3d.h +++ b/include/SSystem/SComponent/c_m3d.h @@ -18,7 +18,7 @@ struct Vec; extern f32 G_CM3D_F_ABS_MIN; -void cM3d_InDivPos1(const Vec*, const Vec*, f32, Vec*); +static void cM3d_InDivPos1(const Vec*, const Vec*, f32, Vec*); void cM3d_InDivPos2(const Vec*, const Vec*, f32, Vec*); f32 cM3d_Len2dSq(f32, f32, f32, f32); bool cM3d_Len2dSqPntAndSegLine(f32, f32, f32, f32, f32, f32, f32*, f32*, f32*); @@ -30,53 +30,53 @@ void cM3d_CalcPla(const Vec*, const Vec*, const Vec*, Vec*, f32*); bool cM3d_Cross_AabAab(const cM3dGAab*, const cM3dGAab*); bool cM3d_Cross_AabCyl(const cM3dGAab*, const cM3dGCyl*); bool cM3d_Cross_AabSph(const cM3dGAab*, const cM3dGSph*); -int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, f32*, f32*); -bool cM3d_CrossInfLineVsInfPlane_proc(f32, f32, const Vec*, const Vec*, Vec*); +static int cM3d_Check_LinLin(const cM3dGLin*, const cM3dGLin*, f32*, f32*); +static bool cM3d_CrossInfLineVsInfPlane_proc(f32, f32, const Vec*, const Vec*, Vec*); bool cM3d_Cross_LinPla(const cM3dGLin*, const cM3dGPla*, Vec*, bool, bool); bool cM3d_Cross_MinMaxBoxLine(const Vec*, const Vec*, const Vec*, const Vec*); -bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, f32); -bool cM3d_InclusionCheckPosIn3PosBox2d(f32, f32, f32, f32, f32, f32, f32, f32, f32); -bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32); -bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*); -bool cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*); +static bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec*, const Vec*, const Vec*, const Vec*, f32); +static bool cM3d_InclusionCheckPosIn3PosBox2d(f32, f32, f32, f32, f32, f32, f32, f32, f32); +static bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*, f32); +static bool cM3d_CrossX_Tri(const cM3dGTri*, const Vec*); +static bool cM3d_CrossX_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*); -bool cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*); +static bool cM3d_CrossY_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_CrossY_Tri(const Vec&, const Vec&, const Vec&, const cM3dGPla&, const Vec*); bool cM3d_CrossY_Tri_Front(const Vec&, const Vec&, const Vec&, const Vec*); -bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32*); -bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32); -bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, f32*); -bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32); -bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*); -bool cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*); +static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32*); +static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, f32); +static bool cM3d_CrossY_Tri(const cM3dGTri*, const Vec*, const cM3d_Range*, f32*); +static bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*, f32); +static bool cM3d_CrossZ_Tri(const cM3dGTri*, const Vec*); +static bool cM3d_CrossZ_LinTri_proc(const cM3dGTri*, const Vec*); bool cM3d_Cross_LinTri(const cM3dGLin*, const cM3dGTri*, Vec*, bool, bool); -bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*); -bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*); +static bool cM3d_Cross_LinTri_Easy(const cM3dGTri*, const Vec*); +static bool cM3d_Cross_SphPnt(const cM3dGSph*, const Vec*); bool cM3d_Cross_LinSph(const cM3dGLin*, const cM3dGSph*, Vec*); int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*); bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, f32*); bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, f32*); bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*); -bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*); +static bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*); bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*); -void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*); +static void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*); bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*); bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, f32*); bool cM3d_Cross_CylCyl(const cM3dGCyl*, const cM3dGCyl*, Vec*); bool cM3d_Cross_CylTri(const cM3dGCyl*, const cM3dGTri*, Vec*); int cM3d_Cross_CylLin(const cM3dGCyl*, const cM3dGLin*, Vec*, Vec*); -int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*); -bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*); +static int cM3d_Cross_CylPntPnt(const cM3dGCyl*, const Vec*, const Vec*, Vec*, Vec*); +static bool cM3d_Cross_CylPnt(const cM3dGCyl*, const Vec*); bool cM3d_Cross_CpsCps(const cM3dGCps&, const cM3dGCps&, Vec*); bool cM3d_Cross_CpsCyl(const cM3dGCps&, const cM3dGCyl&, Vec*); -bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*); +static bool cM3d_Cross_CpsSph_CrossPos(const cM3dGCps&, const cM3dGSph&, const Vec&, Vec*); bool cM3d_Cross_CpsSph(const cM3dGCps&, const cM3dGSph&, Vec*); bool cM3d_Cross_TriTri(const cM3dGTri&, const cM3dGTri&, Vec*); bool cM3d_Cross_CpsTri(const cM3dGCps&, cM3dGTri, Vec*); void cM3d_CalcVecAngle(const Vec&, short*, short*); void cM3d_CalcVecZAngle(const Vec&, csXyz*); -void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*); -int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*); +static void cM3d_PlaneCrossLineProcWork(f32, f32, f32, f32, f32, f32, f32, f32*, f32*); +static int cM3d_2PlaneCrossLine(const cM3dGPla&, const cM3dGPla&, cM3dGLin*); bool cM3d_3PlaneCrossPos(const cM3dGPla&, const cM3dGPla&, const cM3dGPla&, Vec*); f32 cM3d_lineVsPosSuisenCross(const cM3dGLin*, const Vec*, Vec*); f32 cM3d_lineVsPosSuisenCross(const Vec&, const Vec&, const Vec&, Vec*); diff --git a/libs/SSystem/SComponent/c_bg_s_chk.cpp b/libs/SSystem/SComponent/c_bg_s_chk.cpp index 095ccad16a..3fe41195ef 100644 --- a/libs/SSystem/SComponent/c_bg_s_chk.cpp +++ b/libs/SSystem/SComponent/c_bg_s_chk.cpp @@ -7,82 +7,33 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct cBgS_Chk { - /* 80267B4C */ cBgS_Chk(); - /* 80267B70 */ ~cBgS_Chk(); - /* 80267BB8 */ void SetExtChk(cBgS_Chk&); - /* 80267BDC */ void ChkSameActorPid(unsigned int) const; -}; - -// -// Forward References: -// - -extern "C" void __ct__8cBgS_ChkFv(); -extern "C" void __dt__8cBgS_ChkFv(); -extern "C" void SetExtChk__8cBgS_ChkFR8cBgS_Chk(); -extern "C" void ChkSameActorPid__8cBgS_ChkCFUi(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - // // Declarations: // -/* ############################################################################################## */ -/* 803C3F80-803C3F90 0210A0 000C+04 2/2 0/0 0/0 .data __vt__8cBgS_Chk */ -SECTION_DATA extern void* __vt__8cBgS_Chk[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cBgS_ChkFv, - /* padding */ - NULL, -}; - /* 80267B4C-80267B70 26248C 0024+00 0/0 7/7 0/0 .text __ct__8cBgS_ChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgS_Chk::cBgS_Chk() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s" +cBgS_Chk::cBgS_Chk(void) { + unk_0x00 = 0; + unk_0x04 = 0; + unk_0x0C = 1; } -#pragma pop /* 80267B70-80267BB8 2624B0 0048+00 1/0 7/7 0/0 .text __dt__8cBgS_ChkFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgS_Chk::~cBgS_Chk() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s" -} -#pragma pop +cBgS_Chk::~cBgS_Chk(void) {} /* 80267BB8-80267BDC 2624F8 0024+00 0/0 4/4 0/0 .text SetExtChk__8cBgS_ChkFR8cBgS_Chk */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_Chk::SetExtChk(cBgS_Chk& param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s" +void cBgS_Chk::SetExtChk(cBgS_Chk& pOther) { + unk_0x00 = pOther.unk_0x00; + unk_0x04 = pOther.unk_0x04; + unk_0x08 = pOther.unk_0x08; + unk_0x0C = pOther.unk_0x0C; } -#pragma pop /* 80267BDC-80267C1C 26251C 0040+00 0/0 7/7 0/0 .text ChkSameActorPid__8cBgS_ChkCFUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_Chk::ChkSameActorPid(unsigned int param_0) const { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s" +bool cBgS_Chk::ChkSameActorPid(unsigned int pUint) const { + if (unk_0x08 == -1 || pUint == UINT32_MAX || unk_0x0C == 0) { + return 0; + } else { + return (unk_0x08 == pUint) ? 1 : 0; + } } -#pragma pop diff --git a/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp b/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp index 6a9608f589..82ea016b37 100644 --- a/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp +++ b/libs/SSystem/SComponent/c_bg_s_gnd_chk.cpp @@ -3,7 +3,7 @@ // Translation Unit: c_bg_s_gnd_chk // -#include "SSystem/SComponent/c_bg_s_gnd_chk.h" +// #include "SSystem/SComponent/c_bg_s_gnd_chk.h" #include "dol2asm.h" #include "dolphin/types.h" @@ -44,7 +44,7 @@ extern "C" void __dt__11cBgS_GndChkFv(); extern "C" void SetPos__11cBgS_GndChkFPC3Vec(); extern "C" void SetPos__11cBgS_GndChkFPC4cXyz(); extern "C" void PreCheck__11cBgS_GndChkFv(); -extern "C" static void func_80267D54(); +extern "C" void func_80267D54(); // // External References: @@ -123,7 +123,7 @@ asm void cBgS_GndChk::PreCheck() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void func_80267D54() { +asm void func_80267D54() { nofralloc #include "asm/SSystem/SComponent/c_bg_s_gnd_chk/func_80267D54.s" } diff --git a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp index 941b0270a4..bd4047c13e 100644 --- a/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp +++ b/libs/SSystem/SComponent/c_bg_s_lin_chk.cpp @@ -6,37 +6,8 @@ #include "SSystem/SComponent/c_bg_s_lin_chk.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct cXyz { - static f32 Zero[3]; -}; - -struct cM3dGLin { - /* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&); -}; - -struct cBgS_PolyInfo { - /* 80268074 */ cBgS_PolyInfo(); - /* 802680B0 */ ~cBgS_PolyInfo(); - /* 80268120 */ void ClearPi(); -}; - -struct cBgS_LinChk { - /* 80267D5C */ cBgS_LinChk(); - /* 80267DBC */ ~cBgS_LinChk(); - /* 80267E48 */ void ct(); - /* 80267ED0 */ void Set2(cXyz const*, cXyz const*, unsigned int); - /* 80267F40 */ void PreCalc(); -}; - -struct cBgS_Chk { - /* 80267B4C */ cBgS_Chk(); - /* 80267B70 */ ~cBgS_Chk(); -}; +#include "SSystem/SComponent/c_bg_s_chk.h" +#include "SSystem/SComponent/c_bg_s_poly_info.h" // // Forward References: diff --git a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp index 72bc795c9c..c7759bcf7e 100644 --- a/libs/SSystem/SComponent/c_bg_s_poly_info.cpp +++ b/libs/SSystem/SComponent/c_bg_s_poly_info.cpp @@ -7,145 +7,64 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct cBgS_PolyInfo { - /* 80268074 */ cBgS_PolyInfo(); - /* 802680B0 */ ~cBgS_PolyInfo(); - /* 802680F8 */ void ChkSetInfo() const; - /* 80268120 */ void ClearPi(); - /* 80268148 */ void SetPolyInfo(cBgS_PolyInfo const&); - /* 8026816C */ void SetActorInfo(int, void*, unsigned int); - /* 8026817C */ void ChkSafe(void const*, unsigned int) const; - /* 802681A4 */ void SetPolyIndex(int); - /* 802681AC */ void ChkBgIndex() const; -}; - -// -// Forward References: -// - -extern "C" void __ct__13cBgS_PolyInfoFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void ChkSetInfo__13cBgS_PolyInfoCFv(); -extern "C" void ClearPi__13cBgS_PolyInfoFv(); -extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo(); -extern "C" void SetActorInfo__13cBgS_PolyInfoFiPvUi(); -extern "C" void ChkSafe__13cBgS_PolyInfoCFPCvUi(); -extern "C" void SetPolyIndex__13cBgS_PolyInfoFi(); -extern "C" void ChkBgIndex__13cBgS_PolyInfoCFv(); - -// -// External References: -// - -extern "C" void __dl__FPv(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 803C3FD0-803C3FE0 0210F0 000C+04 2/2 0/0 0/0 .data __vt__13cBgS_PolyInfo */ -SECTION_DATA extern void* __vt__13cBgS_PolyInfo[3 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__13cBgS_PolyInfoFv, - /* padding */ - NULL, -}; - /* 80268074-802680B0 2629B4 003C+00 0/0 7/7 9/9 .text __ct__13cBgS_PolyInfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgS_PolyInfo::cBgS_PolyInfo() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s" +cBgS_PolyInfo::cBgS_PolyInfo(void) { + this->ClearPi(); } -#pragma pop /* 802680B0-802680F8 2629F0 0048+00 1/0 10/10 393/393 .text __dt__13cBgS_PolyInfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm cBgS_PolyInfo::~cBgS_PolyInfo() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s" -} -#pragma pop +cBgS_PolyInfo::~cBgS_PolyInfo(void) {} /* 802680F8-80268120 262A38 0028+00 0/0 4/4 0/0 .text ChkSetInfo__13cBgS_PolyInfoCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::ChkSetInfo() const { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s" +bool cBgS_PolyInfo::ChkSetInfo(void) const { + if (mPolyIndex == 0xFFFF || unk_0x02 == 0x100) { + return false; + } else { + return true; + } } -#pragma pop /* 80268120-80268148 262A60 0028+00 1/1 11/11 0/0 .text ClearPi__13cBgS_PolyInfoFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::ClearPi() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s" +void cBgS_PolyInfo::ClearPi(void) { + mPolyIndex = 0xFFFF; + unk_0x02 = 0x100; + unk_0x04 = 0; + unk_0x08 = -1; } -#pragma pop /* 80268148-8026816C 262A88 0024+00 0/0 11/11 1/1 .text * SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::SetPolyInfo(cBgS_PolyInfo const& param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s" +void cBgS_PolyInfo::SetPolyInfo(const cBgS_PolyInfo& pOther) { + mPolyIndex = pOther.mPolyIndex; + unk_0x02 = pOther.unk_0x02; + unk_0x04 = pOther.unk_0x04; + unk_0x08 = pOther.unk_0x08; } -#pragma pop /* 8026816C-8026817C 262AAC 0010+00 0/0 6/6 0/0 .text SetActorInfo__13cBgS_PolyInfoFiPvUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::SetActorInfo(int param_0, void* param_1, unsigned int param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s" +void cBgS_PolyInfo::SetActorInfo(int param_1, void* param_2, unsigned int param_3) { + unk_0x02 = param_1; + unk_0x04 = param_2; + unk_0x08 = param_3; } -#pragma pop /* 8026817C-802681A4 262ABC 0028+00 0/0 1/1 0/0 .text ChkSafe__13cBgS_PolyInfoCFPCvUi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::ChkSafe(void const* param_0, unsigned int param_1) const { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s" +bool cBgS_PolyInfo::ChkSafe(const void* param_1, unsigned int param_2) const { + if (unk_0x04 == param_1 && unk_0x08 == param_2) { + return true; + } else { + return false; + } } -#pragma pop /* 802681A4-802681AC 262AE4 0008+00 0/0 11/11 0/0 .text SetPolyIndex__13cBgS_PolyInfoFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::SetPolyIndex(int param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s" +void cBgS_PolyInfo::SetPolyIndex(int pPolyIndex) { + mPolyIndex = pPolyIndex; } -#pragma pop /* 802681AC-802681C0 262AEC 0014+00 0/0 3/3 0/0 .text ChkBgIndex__13cBgS_PolyInfoCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgS_PolyInfo::ChkBgIndex() const { - nofralloc -#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s" +bool cBgS_PolyInfo::ChkBgIndex(void) const { + return unk_0x02 != 0x100; } -#pragma pop diff --git a/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp b/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp index 89ed145c4d..dde40125cf 100644 --- a/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp +++ b/libs/SSystem/SComponent/c_bg_s_shdw_draw.cpp @@ -6,32 +6,9 @@ #include "SSystem/SComponent/c_bg_s_shdw_draw.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct cXyz {}; - -struct cM3dGPla {}; - -struct cM3dGAab { - /* 8026EC54 */ void Set(cXyz const*, cXyz const*); -}; - -struct cBgD_Vtx_t {}; - -struct cBgS_ShdwDraw { - /* 80267F88 */ cBgS_ShdwDraw(); - /* 80267FD0 */ ~cBgS_ShdwDraw(); - /* 80268048 */ void Set(cXyz&, cXyz&); - /* 8026806C */ void SetCallback(int (*)(cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*)); -}; - -struct cBgS_Chk { - /* 80267B4C */ cBgS_Chk(); - /* 80267B70 */ ~cBgS_Chk(); -}; +#include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" +#include "SSystem/SComponent/c_m3d_g_aab.h" // // Forward References: diff --git a/libs/SSystem/SComponent/c_bg_w.cpp b/libs/SSystem/SComponent/c_bg_w.cpp index 07efdb9b2e..c461d991f5 100644 --- a/libs/SSystem/SComponent/c_bg_w.cpp +++ b/libs/SSystem/SComponent/c_bg_w.cpp @@ -7,99 +7,40 @@ #include "dol2asm.h" #include "dolphin/types.h" -// -// Types: -// - -struct cBgW_BgId { - /* 802681C0 */ void Regist(int); - /* 802681C8 */ void Release(); - /* 802681D4 */ void ChkUsed() const; -}; - -// -// Forward References: -// - -extern "C" void Regist__9cBgW_BgIdFi(); -extern "C" void Release__9cBgW_BgIdFv(); -extern "C" void ChkUsed__9cBgW_BgIdCFv(); -extern "C" void cBgW_CheckBGround__Ff(); -extern "C" void cBgW_CheckBRoof__Ff(); -extern "C" void cBgW_CheckBWall__Ff(); - -// -// External References: -// - // // Declarations: // /* 802681C0-802681C8 262B00 0008+00 0/0 1/1 0/0 .text Regist__9cBgW_BgIdFi */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_BgId::Regist(int param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s" +void cBgW_BgId::Regist(int a1) { + mId = a1; } -#pragma pop /* 802681C8-802681D4 262B08 000C+00 0/0 2/2 0/0 .text Release__9cBgW_BgIdFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_BgId::Release() { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s" +void cBgW_BgId::Release() { + mId = 0x100; } -#pragma pop /* 802681D4-802681E4 262B14 0010+00 0/0 7/7 121/121 .text ChkUsed__9cBgW_BgIdCFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_BgId::ChkUsed() const { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s" +unsigned int cBgW_BgId::ChkUsed() const { + unsigned int temp = mId - 0x100; + return temp >> 0x1f; } -#pragma pop - -/* ############################################################################################## */ -/* 804550E8-804550EC 0036E8 0004+00 1/1 0/0 0/0 .sdata2 @2242 */ -SECTION_SDATA2 static f32 lit_2242 = 0.5f; /* 802681E4-802681FC 262B24 0018+00 1/1 22/22 8/8 .text cBgW_CheckBGround__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_CheckBGround(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s" +bool cBgW_CheckBGround(float a1) { + return a1 >= 0.5f; } -#pragma pop - -/* ############################################################################################## */ -/* 804550EC-804550F0 0036EC 0004+00 1/1 0/0 0/0 .sdata2 @2249 */ -SECTION_SDATA2 static f32 lit_2249 = -4.0f / 5.0f; /* 802681FC-80268210 262B3C 0014+00 1/1 6/6 0/0 .text cBgW_CheckBRoof__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_CheckBRoof(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s" +bool cBgW_CheckBRoof(float a1) { + return a1 < (-4.0f / 5.0f); } -#pragma pop /* 80268210-80268260 262B50 0050+00 0/0 16/16 4/4 .text cBgW_CheckBWall__Ff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cBgW_CheckBWall(f32 param_0) { - nofralloc -#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s" +bool cBgW_CheckBWall(float a1) { + if (!cBgW_CheckBGround(a1) && !cBgW_CheckBRoof(a1)) + return true; + + return false; } -#pragma pop diff --git a/libs/SSystem/SComponent/c_m3d.cpp b/libs/SSystem/SComponent/c_m3d.cpp index 29161743e0..37aa5f82d6 100644 --- a/libs/SSystem/SComponent/c_m3d.cpp +++ b/libs/SSystem/SComponent/c_m3d.cpp @@ -3,42 +3,19 @@ // Translation Unit: c_m3d // -// #include "SSystem/SComponent/c_m3d.h" +#include "SSystem/SComponent/c_m3d.h" #include "dol2asm.h" #include "dolphin/types.h" - -// -// Types: -// - -struct csXyz {}; - -struct cXyz {}; - -struct cM3d_Range {}; - -struct cM3dGTri {}; - -struct cM3dGSph { - /* 8026F648 */ void SetC(cXyz const&); - /* 8026F708 */ void SetR(f32); -}; - -struct cM3dGPla {}; - -struct Vec {}; - -struct cM3dGLin { - /* 8026F2A8 */ cM3dGLin(cXyz const&, cXyz const&); - /* 8026F31C */ void SetStartEnd(Vec const&, Vec const&); - /* 8026F350 */ void CalcPos(Vec*, f32) const; -}; - -struct cM3dGCyl {}; - -struct cM3dGCps {}; - -struct cM3dGAab {}; +#include "SSystem/SComponent/c_xyz.h" +#include "SSystem/SComponent/c_m3d_g_tri.h" +#include "SSystem/SComponent/c_m3d_g_pla.h" +#include "SSystem/SComponent/c_m3d_g_lin.h" +#include "SSystem/SComponent/c_m3d_g_cyl.h" +#include "SSystem/SComponent/c_m3d_g_cps.h" +#include "SSystem/SComponent/c_m3d_g_aab.h" +#include "SSystem/SComponent/c_m3d_g_sph.h" +#include "SSystem/SComponent/c_math.h" +#include "msl_c/math.h" // // Forward References: @@ -120,15 +97,6 @@ extern "C" void SetStartEnd__8cM3dGLinFRC3VecRC3Vec(); extern "C" void CalcPos__8cM3dGLinCFP3Vecf(); extern "C" void SetC__8cM3dGSphFRC4cXyz(); extern "C" void SetR__8cM3dGSphFf(); -extern "C" void PSVECAdd(); -extern "C" void PSVECSubtract(); -extern "C" void PSVECScale(); -extern "C" void PSVECSquareMag(); -extern "C" void PSVECMag(); -extern "C" void PSVECDotProduct(); -extern "C" void PSVECCrossProduct(); -extern "C" void PSVECSquareDistance(); -extern "C" void PSVECDistance(); extern "C" void _savegpr_26(); extern "C" void _savegpr_27(); extern "C" void _savegpr_28(); @@ -140,49 +108,43 @@ extern "C" void _restgpr_29(); extern "C" extern void* __vt__8cM3dGPla[3]; extern "C" extern void* __vt__8cM3dGLin[3]; extern "C" extern void* __vt__8cM3dGSph[3]; -extern "C" extern u32 __float_nan; -extern "C" extern u32 __float_epsilon; // // Declarations: // +f32 G_CM3D_F_ABS_MIN = 32 * __float_epsilon[0]; + /* 80268560-802685B0 262EA0 0050+00 2/2 0/0 0/0 .text cM3d_InDivPos1__FPC3VecPC3VecfP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_InDivPos1(Vec const* param_0, Vec const* param_1, f32 param_2, Vec* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_InDivPos1__FPC3VecPC3VecfP3Vec.s" +void cM3d_InDivPos1(const Vec* pVecA, const Vec* pVecB, f32 pF, Vec* pOut) { + Vec tmp; + PSVECScale(pVecB, &tmp, pF); + PSVECAdd(&tmp, pVecA, pOut); } -#pragma pop /* 802685B0-80268614 262EF0 0064+00 2/2 1/1 2/2 .text cM3d_InDivPos2__FPC3VecPC3VecfP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_InDivPos2(Vec const* param_0, Vec const* param_1, f32 param_2, Vec* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_InDivPos2__FPC3VecPC3VecfP3Vec.s" +void cM3d_InDivPos2(const Vec* pVecA, const Vec* pVecB, f32 pF, Vec* pOut) { + Vec tmp; + PSVECSubtract(pVecB, pVecA, &tmp); + cM3d_InDivPos1(pVecA, &tmp, pF, pOut); } -#pragma pop /* 80268614-8026862C 262F54 0018+00 3/3 4/4 0/0 .text cM3d_Len2dSq__Fffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Len2dSq(f32 param_0, f32 param_1, f32 param_2, f32 param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Len2dSq__Fffff.s" +f32 cM3d_Len2dSq(f32 pX1, f32 pY1, f32 pX2, f32 pY2) { + f32 xDiff = pX1 - pX2; + f32 yDiff = pY1 - pY2; + return xDiff * xDiff + yDiff * yDiff; } -#pragma pop /* ############################################################################################## */ /* 80451180-80451188 000680 0004+04 29/29 44/44 65/65 .sbss G_CM3D_F_ABS_MIN */ -extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; -f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */]; +extern f32 G_CM3D_F_ABS_MIN; + +inline bool cM3d_IsZero(f32 pF) { + return fabsf(pF) < G_CM3D_F_ABS_MIN; +} /* 80455118-80455120 003718 0004+04 28/28 0/0 0/0 .sdata2 @2256 */ SECTION_SDATA2 static f32 lit_2256[1 + 1 /* padding */] = { @@ -207,145 +169,304 @@ SECTION_SDATA2 static f32 lit_2273 = 1.0f; /* 8026862C-80268710 262F6C 00E4+00 0/0 10/10 3/3 .text cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Len2dSqPntAndSegLine(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - f32 param_5, f32* param_6, f32* param_7, f32* param_8) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Len2dSqPntAndSegLine__FffffffPfPfPf.s" +bool cM3d_Len2dSqPntAndSegLine(f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 p5, f32 p6, + f32* param_7, f32* param_8, f32* param_9) { + bool retVal = false; + f32 param_5 = p5 - param_3; + f32 param_6 = p6 - param_4; + f32 len = param_5 * param_5 + param_6 * param_6; + if (cM3d_IsZero(len)) { + *param_9 = /* 0.0 */ FLOAT_LABEL(lit_2256); + return retVal; + } else { + len = (param_5 * (param_1 - param_3) + param_6 * (param_2 - param_4)) / len; + if (len >= /* 0.0 */ FLOAT_LABEL(lit_2256) && len <= /* 1.0 */ FLOAT_LABEL(lit_2273)) { + retVal = true; + } + *param_7 = param_3 + param_5 * len; + *param_8 = param_4 + param_6 * len; + *param_9 = cM3d_Len2dSq(*param_7, *param_8, param_1, param_2); + return retVal; + } } -#pragma pop /* 80268710-80268814 263050 0104+00 2/2 8/8 9/9 .text * cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Len3dSqPntAndSegLine(cM3dGLin const* param_0, Vec const* param_1, Vec* param_2, - f32* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Len3dSqPntAndSegLine__FPC8cM3dGLinPC3VecP3VecPf.s" +bool cM3d_Len3dSqPntAndSegLine(const cM3dGLin* pLine, const Vec* pVec, Vec* pOutVec, f32* pOutF) { + bool retVal = false; + Vec tmp; + PSVECSubtract(&pLine->GetEndP(), &pLine->GetStartP(), &tmp); + f32 seqLen = PSVECDotProduct(&tmp, &tmp); + if (cM3d_IsZero(seqLen)) { + *pOutF = /* 0.0 */ FLOAT_LABEL(lit_2256); + return retVal; + } else { + Vec tmp2; + PSVECSubtract(pVec, &pLine->GetStartP(), &tmp2); + f32 tmpF = PSVECDotProduct(&tmp2, &tmp); + tmpF /= seqLen; + if (tmpF < /* 0.0 */ FLOAT_LABEL(lit_2256) || tmpF > /* 1.0 */ FLOAT_LABEL(lit_2273)) { + retVal = false; + } else { + retVal = true; + } + PSVECScale(&tmp, &tmp, tmpF); + PSVECAdd(&tmp, &pLine->GetStartP(), pOutVec); + *pOutF = PSVECSquareDistance(pOutVec, pVec); + return retVal; + } } -#pragma pop /* 80268814-80268894 263154 0080+00 1/1 3/3 0/0 .text cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_SignedLenPlaAndPos(cM3dGPla const* param_0, Vec const* param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_SignedLenPlaAndPos__FPC8cM3dGPlaPC3Vec.s" +f32 cM3d_SignedLenPlaAndPos(const cM3dGPla* pPlane, const Vec* pPosition) { + f32 mag = PSVECMag(&pPlane->GetNP()); + if (cM3d_IsZero(mag)) { + return /* 0.0 */ FLOAT_LABEL(lit_2256) ; + } else { + return (pPlane->mD + PSVECDotProduct(&pPlane->GetNP(), pPosition)) / mag; + } } -#pragma pop /* 80268894-802688B4 2631D4 0020+00 11/11 2/2 2/2 .text cM3d_VectorProduct2d__Fffffff */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_VectorProduct2d(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, - f32 param_5) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct2d__Fffffff.s" +f32 cM3d_VectorProduct2d(f32 pX1, f32 pY1, f32 pX2, f32 pY2, f32 pX3, f32 pY3) { + return (pX2 - pX1) * (pY3 - pY1) - (pY2 - pY1) * (pX3 - pX1); } -#pragma pop /* 802688B4-8026891C 2631F4 0068+00 0/0 0/0 1/1 .text * cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_VectorProduct(cXyz const* param_0, cXyz const* param_1, cXyz const* param_2, - cXyz* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_VectorProduct__FPC4cXyzPC4cXyzPC4cXyzP4cXyz.s" +void cM3d_VectorProduct(const cXyz* pVecA, const cXyz* pVecB, const cXyz* pVecC, cXyz* pVecOut) { + Vec tmp1; + Vec tmp2; + PSVECSubtract(pVecB, pVecA, &tmp1); + PSVECSubtract(pVecC, pVecA, &tmp2); + PSVECCrossProduct(&tmp1, &tmp2, pVecOut); } -#pragma pop /* ############################################################################################## */ /* 8045513C-80455140 00373C 0004+00 1/1 0/0 0/0 .sdata2 @2346 */ SECTION_SDATA2 static f32 lit_2346 = 1.0f / 50.0f; /* 8026891C-802689E8 26325C 00CC+00 0/0 2/2 0/0 .text cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_CalcPla(Vec const* param_0, Vec const* param_1, Vec const* param_2, Vec* param_3, - f32* param_4) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_CalcPla__FPC3VecPC3VecPC3VecP3VecPf.s" +void cM3d_CalcPla(const Vec* pVecA, const Vec* pVecB, const Vec* pVecC, Vec* pVecOut, f32* pD) { + Vec tmp2; + Vec tmp1; + PSVECSubtract(pVecB, pVecA, &tmp1); + PSVECSubtract(pVecC, pVecA, &tmp2); + PSVECCrossProduct(&tmp1, &tmp2, pVecOut); + f32 mag = PSVECMag(pVecOut); + if (fabsf(mag) >= /* 0.02 */ FLOAT_LABEL(lit_2346)) { + PSVECScale(pVecOut, pVecOut, /* 1.0 */ FLOAT_LABEL(lit_2273) / mag); + *pD = -PSVECDotProduct(pVecOut, pVecA); + } else { + f32 zero = /* 0.0 */ FLOAT_LABEL(lit_2256); + pVecOut->y = zero; + *pD = zero; + pVecOut->z = zero; + pVecOut->x = zero; + } +} + +inline bool cM3d_CrossNumSection(f32 lMinX, f32 lMaxX, f32 rMinX, f32 rMaxX) { + if (lMinX > rMaxX) { + return false; + } else if (lMaxX < rMinX) { + return false; + } else if (rMinX > lMaxX) { + return false; + } else if (rMaxX < lMinX) { + return false; + } else { + return true; + } } -#pragma pop /* 802689E8-80268B0C 263328 0124+00 0/0 4/4 0/0 .text cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Cross_AabAab(cM3dGAab const* param_0, cM3dGAab const* param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabAab__FPC8cM3dGAabPC8cM3dGAab.s" +bool cM3d_Cross_AabAab(const cM3dGAab* pAabA, const cM3dGAab* pAabB) { + if (cM3d_CrossNumSection(pAabA->getMinP().x, pAabA->getMaxP().x, pAabB->getMinP().x, + pAabB->getMaxP().x) && + cM3d_CrossNumSection(pAabA->getMinP().y, pAabA->getMaxP().y, pAabB->getMinP().y, + pAabB->getMaxP().y) && + cM3d_CrossNumSection(pAabA->getMinP().z, pAabA->getMaxP().z, pAabB->getMinP().z, + pAabB->getMaxP().z)) { + return true; + } else { + return false; + } } -#pragma pop /* 80268B0C-80268BB4 26344C 00A8+00 0/0 4/4 0/0 .text cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Cross_AabCyl(cM3dGAab const* param_0, cM3dGCyl const* param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabCyl__FPC8cM3dGAabPC8cM3dGCyl.s" +bool cM3d_Cross_AabCyl(const cM3dGAab* pAab, const cM3dGCyl* pCyl) { + if (pAab->getMinP().x > pCyl->GetCP().x + pCyl->GetR()) { + return false; + } else if (pAab->getMaxP().x < pCyl->GetCP().x - pCyl->GetR()) { + return false; + } else if (pAab->getMinP().z > pCyl->GetCP().z + pCyl->GetR()) { + return false; + } else if (pAab->getMaxP().z < pCyl->GetCP().z - pCyl->GetR()) { + return false; + } else if (pAab->getMinP().y > pCyl->GetCP().y + pCyl->GetH()) { + return false; + } else if (pAab->getMaxP().y < pCyl->GetCP().y) { + return false; + } else { + return true; + } } -#pragma pop /* 80268BB4-80268C5C 2634F4 00A8+00 0/0 2/2 0/0 .text cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph */ +#ifdef NON_MATCHING +bool cM3d_Cross_AabSph(const cM3dGAab* pAab, const cM3dGSph* pSph) { + f32 radius = pSph->GetR(); + if (pAab->GetMinX() > pSph->GetC().GetX() + radius) { // addition registers are flipped + return false; + } else if (pAab->GetMaxX() < pSph->GetC().GetX() - radius) { + return false; + } else if (pAab->GetMinZ() > pSph->GetC().GetZ() + radius) { + return false; + } else if (pAab->GetMaxZ() < pSph->GetC().GetZ() - radius) { + return false; + } else if (pAab->GetMinY() > pSph->GetC().GetY() + radius) { + return false; + } else if (pAab->GetMaxY() < pSph->GetC().GetY() - radius) { + return false; + } else { + return true; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_AabSph(cM3dGAab const* param_0, cM3dGSph const* param_1) { +asm bool cM3d_Cross_AabSph(cM3dGAab const* param_0, cM3dGSph const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_AabSph__FPC8cM3dGAabPC8cM3dGSph.s" } #pragma pop +#endif /* 80268C5C-80268ED4 26359C 0278+00 3/3 0/0 0/0 .text * cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf */ +#ifdef NON_MATCHING +int cM3d_Check_LinLin(const cM3dGLin* pLinA, const cM3dGLin* pLinB, f32* pFloatA, f32* pFloatB) { + Vec linAVec; + Vec linBVec; + pLinA->CalcVec(&linAVec); + pLinB->CalcVec(&linBVec); + f32 linALen = PSVECMag(&linAVec); + f32 linBLen = PSVECMag(&linBVec); + if (cM3d_IsZero(linALen) || cM3d_IsZero(linBLen)) { + return 1; + } else { + f32 invLinALen = /* 1.0 */ FLOAT_LABEL(lit_2273) / linALen; + f32 invLinBLen = /* 1.0 */ FLOAT_LABEL(lit_2273) / linBLen; + PSVECScale(&linAVec, &linAVec, invLinALen); + PSVECScale(&linBVec, &linBVec, invLinBLen); + Vec tmp; + PSVECSubtract(&pLinA->GetStartP(), &pLinB->GetStartP(), &tmp); + f32 tmpF = -PSVECDotProduct(&linAVec, &linBVec); + f32 tmpF2 = PSVECDotProduct(&tmp, &linAVec); + PSVECSquareMag(&tmp); // result not used + f32 tmpF3 = fabsf(/* 1.0 */ FLOAT_LABEL(lit_2273) - (tmpF * tmpF)); + if (!cM3d_IsZero(tmpF3)) { + f32 tmpF4 = -PSVECDotProduct(&tmp, &linBVec); + f32 tmpF7 = /* 1.0 */ FLOAT_LABEL(lit_2273) / tmpF3; + f32 outFloatAtmp = ((tmpF * tmpF4) - tmpF2) * tmpF7; + *pFloatA = outFloatAtmp * invLinALen; + f32 outFloatBtmp = ((tmpF * tmpF2) - tmpF4) * tmpF7; + *pFloatB = outFloatBtmp * invLinBLen; + return 3; + } else { + f32 tmpF5 = -tmpF2; + f32 tmpF6 = + /* 0.0 */ FLOAT_LABEL(lit_2256); // would match with literals instead of labels + if (tmpF5 < /* 0.0 */ FLOAT_LABEL(lit_2256) || (tmpF5 > linALen)) { + tmpF6 = linBLen; + tmpF5 = (tmpF6 * tmpF) - tmpF2; + } + f32 tmpF7 = PSVECDotProduct(&tmp, &linBVec); + if (tmpF5 < /* 0.0 */ FLOAT_LABEL(lit_2256) || tmpF5 > linALen) { + tmpF5 = /* 0.0 */ FLOAT_LABEL(lit_2256); + tmpF6 = tmpF7; + } + if (tmpF6 < /* 0.0 */ FLOAT_LABEL(lit_2256) || tmpF6 > linBLen) { + tmpF5 = linALen; + tmpF6 = tmpF7 + (-linALen * tmpF); + } + *pFloatA = tmpF5 * invLinALen; + *pFloatB = tmpF6 * invLinBLen; + return 2; + } + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_Check_LinLin(cM3dGLin const* param_0, cM3dGLin const* param_1, f32* param_2, +static asm int cM3d_Check_LinLin(cM3dGLin const* param_0, cM3dGLin const* param_1, f32* param_2, f32* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Check_LinLin__FPC8cM3dGLinPC8cM3dGLinPfPf.s" } #pragma pop +#endif /* 80268ED4-80268F34 263814 0060+00 2/2 0/0 0/0 .text * cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_CrossInfLineVsInfPlane_proc(f32 param_0, f32 param_1, Vec const* param_2, - Vec const* param_3, Vec* param_4) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_CrossInfLineVsInfPlane_proc__FffPC3VecPC3VecP3Vec.s" +static bool cM3d_CrossInfLineVsInfPlane_proc(f32 pFloatA, f32 pFloatB, const Vec* pVecA, const Vec* pVecB, + Vec* pVecOut) { + if (cM3d_IsZero(pFloatA - pFloatB)) { + *pVecOut = *pVecB; + return false; + } else { + cM3d_InDivPos2(pVecA, pVecB, pFloatA / (pFloatA - pFloatB), pVecOut); + return true; + } } -#pragma pop /* 80268F34-80269050 263874 011C+00 3/3 1/1 0/0 .text * cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb */ +#ifdef NON_MATCHING +bool cM3d_Cross_LinPla(const cM3dGLin* pLine, const cM3dGPla* pPlane, Vec* pVecOut, bool pBoolA, + bool pBoolB) { + f32 startVal = pPlane->getPlaneFunc(&pLine->GetStartP()); + f32 endVal = pPlane->getPlaneFunc(&pLine->GetEndP()); + if (startVal * endVal > /* 0.0 */ FLOAT_LABEL(lit_2256)) { + // matches with the literal, but that screws up data + // if (startVal * endVal > 0) { + *pVecOut = pLine->GetEndP(); + return false; + } else { + if (startVal >= /* 0.0 */ FLOAT_LABEL(lit_2256) && endVal <= /* 0.0 */ FLOAT_LABEL(lit_2256)) { + // if (startVal >= 0 && endVal <= 0) { + if (pBoolA) { + return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &pLine->GetStartP(), + &pLine->GetEndP(), pVecOut); + } + } else { + if (pBoolB) { + return cM3d_CrossInfLineVsInfPlane_proc(startVal, endVal, &pLine->GetStartP(), + &pLine->GetEndP(), pVecOut); + } + } + *pVecOut = pLine->GetEndP(); + return true; + } +} +#else #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_LinPla(cM3dGLin const* param_0, cM3dGPla const* param_1, Vec* param_2, +asm bool cM3d_Cross_LinPla(cM3dGLin const* param_0, cM3dGPla const* param_1, Vec* param_2, bool param_3, bool param_4) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_LinPla__FPC8cM3dGLinPC8cM3dGPlaP3Vecbb.s" } #pragma pop +#endif /* ############################################################################################## */ /* 80455140-80455144 003740 0004+00 1/1 0/0 0/0 .sdata2 BPCP_OUTCODE0 */ @@ -434,7 +555,7 @@ SECTION_SDATA2 static f32 lit_3082 = -1.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_MinMaxBoxLine(Vec const* param_0, Vec const* param_1, Vec const* param_2, +asm bool cM3d_Cross_MinMaxBoxLine(Vec const* param_0, Vec const* param_1, Vec const* param_2, Vec const* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_MinMaxBoxLine__FPC3VecPC3VecPC3VecPC3Vec.s" @@ -443,23 +564,65 @@ asm void cM3d_Cross_MinMaxBoxLine(Vec const* param_0, Vec const* param_1, Vec co /* 80269C2C-80269D64 26456C 0138+00 1/1 0/0 0/0 .text * cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_InclusionCheckPosIn3PosBox3d(Vec const* param_0, Vec const* param_1, - Vec const* param_2, Vec const* param_3, - f32 param_4) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_InclusionCheckPosIn3PosBox3d__FPC3VecPC3VecPC3VecPC3Vecf.s" +bool cM3d_InclusionCheckPosIn3PosBox3d(const Vec* pVecA, const Vec* pVecB, const Vec* pVecC, + const Vec* pVecD, f32 pF) { + f32 min, max; + if (pVecA->GetX() < pVecB->GetX()) { + min = pVecA->GetX(); + max = pVecB->GetX(); + } else { + min = pVecB->GetX(); + max = pVecA->GetX(); + } + if (min > pVecC->GetX()) { + min = pVecC->GetX(); + } else if (max < pVecC->GetX()) { + max = pVecC->GetX(); + } + if (min - pF > pVecD->GetX() || max + pF < pVecD->GetX()) { + return false; + } + + if (pVecA->GetZ() < pVecB->GetZ()) { + min = pVecA->GetZ(); + max = pVecB->GetZ(); + } else { + min = pVecB->GetZ(); + max = pVecA->GetZ(); + } + if (min > pVecC->GetZ()) { + min = pVecC->GetZ(); + } else if (max < pVecC->GetZ()) { + max = pVecC->GetZ(); + } + if (min - pF > pVecD->GetZ() || max + pF < pVecD->GetZ()) { + return false; + } + + if (pVecA->GetY() < pVecB->GetY()) { + min = pVecA->GetY(); + max = pVecB->GetY(); + } else { + min = pVecB->GetY(); + max = pVecA->GetY(); + } + if (min > pVecC->GetY()) { + min = pVecC->GetY(); + } else if (max < pVecC->GetY()) { + max = pVecC->GetY(); + } + if (min - pF > pVecD->GetY() || max + pF < pVecD->GetY()) { + return false; + } + return true; } -#pragma pop /* 80269D64-80269E18 2646A4 00B4+00 11/11 0/0 0/0 .text * cM3d_InclusionCheckPosIn3PosBox2d__Ffffffffff */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_InclusionCheckPosIn3PosBox2d(f32 param_0, f32 param_1, f32 param_2, +static asm bool cM3d_InclusionCheckPosIn3PosBox2d(f32 param_0, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5, f32 param_6, f32 param_7, f32 param_8) { nofralloc @@ -475,7 +638,7 @@ SECTION_SDATA2 static f32 lit_3205 = 0.004999999888241291f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossX_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { +static asm bool cM3d_CrossX_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vecf.s" } @@ -493,7 +656,7 @@ SECTION_SDATA2 static f32 lit_3230 = -20.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossX_Tri(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_CrossX_Tri(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossX_Tri__FPC8cM3dGTriPC3Vec.s" } @@ -504,7 +667,7 @@ static asm void cM3d_CrossX_Tri(cM3dGTri const* param_0, Vec const* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossX_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_CrossX_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossX_LinTri_proc__FPC8cM3dGTriPC3Vec.s" } @@ -515,7 +678,7 @@ static asm void cM3d_CrossX_LinTri_proc(cM3dGTri const* param_0, Vec const* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1) { +asm bool cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vec.s" } @@ -526,7 +689,7 @@ asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossY_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_CrossY_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_LinTri_proc__FPC8cM3dGTriPC3Vec.s" } @@ -537,7 +700,7 @@ static asm void cM3d_CrossY_LinTri_proc(cM3dGTri const* param_0, Vec const* para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_CrossY_Tri(Vec const& param_0, Vec const& param_1, Vec const& param_2, +asm bool cM3d_CrossY_Tri(Vec const& param_0, Vec const& param_1, Vec const& param_2, cM3dGPla const& param_3, Vec const* param_4) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri__FRC3VecRC3VecRC3VecRC8cM3dGPlaPC3Vec.s" @@ -549,7 +712,7 @@ asm void cM3d_CrossY_Tri(Vec const& param_0, Vec const& param_1, Vec const& para #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_CrossY_Tri_Front(Vec const& param_0, Vec const& param_1, Vec const& param_2, +asm bool cM3d_CrossY_Tri_Front(Vec const& param_0, Vec const& param_1, Vec const& param_2, Vec const* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri_Front__FRC3VecRC3VecRC3VecPC3Vec.s" @@ -560,7 +723,7 @@ asm void cM3d_CrossY_Tri_Front(Vec const& param_0, Vec const& param_1, Vec const #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32* param_2) { +static asm bool cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPf.s" } @@ -570,7 +733,7 @@ static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { +static asm bool cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri__FPC8cM3dGTriPC3Vecf.s" } @@ -581,7 +744,7 @@ static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, +static asm bool cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, cM3d_Range const* param_2, f32* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossY_Tri__FPC8cM3dGTriPC3VecPC10cM3d_RangePf.s" @@ -592,7 +755,7 @@ static asm void cM3d_CrossY_Tri(cM3dGTri const* param_0, Vec const* param_1, #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { +static asm bool cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vecf.s" } @@ -603,7 +766,7 @@ static asm void cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossZ_Tri__FPC8cM3dGTriPC3Vec.s" } @@ -614,7 +777,7 @@ static asm void cM3d_CrossZ_Tri(cM3dGTri const* param_0, Vec const* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_CrossZ_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_CrossZ_LinTri_proc(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_CrossZ_LinTri_proc__FPC8cM3dGTriPC3Vec.s" } @@ -629,7 +792,7 @@ SECTION_SDATA2 static f32 lit_3497 = 1.0f / 125.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_LinTri(cM3dGLin const* param_0, cM3dGTri const* param_1, Vec* param_2, +asm bool cM3d_Cross_LinTri(cM3dGLin const* param_0, cM3dGTri const* param_1, Vec* param_2, bool param_3, bool param_4) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_LinTri__FPC8cM3dGLinPC8cM3dGTriP3Vecbb.s" @@ -641,7 +804,7 @@ asm void cM3d_Cross_LinTri(cM3dGLin const* param_0, cM3dGTri const* param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_Cross_LinTri_Easy(cM3dGTri const* param_0, Vec const* param_1) { +static asm bool cM3d_Cross_LinTri_Easy(cM3dGTri const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_LinTri_Easy__FPC8cM3dGTriPC3Vec.s" } @@ -651,7 +814,7 @@ static asm void cM3d_Cross_LinTri_Easy(cM3dGTri const* param_0, Vec const* param #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_Cross_SphPnt(cM3dGSph const* param_0, Vec const* param_1) { +static asm bool cM3d_Cross_SphPnt(cM3dGSph const* param_0, Vec const* param_1) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphPnt__FPC8cM3dGSphPC3Vec.s" } @@ -662,7 +825,7 @@ static asm void cM3d_Cross_SphPnt(cM3dGSph const* param_0, Vec const* param_1) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_LinSph(cM3dGLin const* param_0, cM3dGSph const* param_1, Vec* param_2) { +asm bool cM3d_Cross_LinSph(cM3dGLin const* param_0, cM3dGSph const* param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_LinSph__FPC8cM3dGLinPC8cM3dGSphP3Vec.s" } @@ -680,7 +843,7 @@ SECTION_SDATA2 static f32 lit_3740 = 4.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_LinSph_CrossPos(cM3dGSph const& param_0, cM3dGLin const& param_1, Vec* param_2, +asm int cM3d_Cross_LinSph_CrossPos(cM3dGSph const& param_0, cM3dGLin const& param_1, Vec* param_2, Vec* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_LinSph_CrossPos__FRC8cM3dGSphRC8cM3dGLinP3VecP3Vec.s" @@ -692,7 +855,7 @@ asm void cM3d_Cross_LinSph_CrossPos(cM3dGSph const& param_0, cM3dGLin const& par #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, f32* param_2) { +asm bool cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, f32* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphPf.s" } @@ -703,7 +866,7 @@ asm void cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, Vec* param_2, +asm bool cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, Vec* param_2, f32* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylSph__FPC8cM3dGCylPC8cM3dGSphP3VecPf.s" @@ -715,7 +878,7 @@ asm void cM3d_Cross_CylSph(cM3dGCyl const* param_0, cM3dGSph const* param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, f32* param_2) { +asm bool cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, f32* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPf.s" } @@ -726,7 +889,7 @@ asm void cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, f32* param_2, +static asm bool cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, f32* param_2, f32* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphPfPf.s" @@ -735,14 +898,25 @@ static asm void cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param /* 8026BD88-8026BE5C 2666C8 00D4+00 0/0 1/1 0/0 .text * cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_Cross_SphSph(cM3dGSph const* param_0, cM3dGSph const* param_1, Vec* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphSph__FPC8cM3dGSphPC8cM3dGSphP3Vec.s" +bool cM3d_Cross_SphSph(const cM3dGSph* pSphereA, const cM3dGSph* pSphereB, Vec* pVecOut) { + f32 centerDist; + f32 overlapLen; + if (cM3d_Cross_SphSph(pSphereA, pSphereB, ¢erDist, &overlapLen)) { + if (!cM3d_IsZero(centerDist)) { + // could be an inlined function + f32 tmpF = pSphereB->GetR() / centerDist; + Vec tmp; + PSVECSubtract(&pSphereA->GetC(), &pSphereB->GetC(), &tmp); + PSVECScale(&tmp, &tmp, tmpF); + PSVECAdd(&tmp, &pSphereB->GetC(), pVecOut); + } else { + *pVecOut = pSphereA->GetC(); + } + return true; + } else { + return false; + } } -#pragma pop /* ############################################################################################## */ /* 804551C4-804551C8 0037C4 0004+00 8/8 0/0 0/0 .sdata2 @3892 */ @@ -750,22 +924,25 @@ SECTION_SDATA2 static f32 lit_3892 = 0.5f; /* 8026BE5C-8026BF04 26679C 00A8+00 1/1 0/0 0/0 .text * cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_CalcSphVsTriCrossPoint(cM3dGSph const* param_0, cM3dGTri const* param_1, - Vec* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_CalcSphVsTriCrossPoint__FPC8cM3dGSphPC8cM3dGTriP3Vec.s" +void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph* pSphere, const cM3dGTri* pTriangle, Vec* pVecOut) { + Vec tmp2; + Vec tmp; + PSVECAdd(&pTriangle->mA, &pTriangle->mB, &tmp); + PSVECScale(&tmp, &tmp2, /* 0.5 */ FLOAT_LABEL(lit_3892)); + f32 sqDist = PSVECSquareDistance(&tmp2, &pSphere->GetC()); + if (cM3d_IsZero(sqDist)) { + *pVecOut = pSphere->GetC(); + } else { + cM3d_InDivPos2(&pSphere->GetC(), &tmp2, pSphere->GetR() / sqDist, pVecOut); + } } -#pragma pop /* 8026BF04-8026C22C 266844 0328+00 1/1 4/4 0/0 .text * cM3d_Cross_SphTri__FPC8cM3dGSphPC8cM3dGTriP3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_SphTri(cM3dGSph const* param_0, cM3dGTri const* param_1, Vec* param_2) { +asm bool cM3d_Cross_SphTri(cM3dGSph const* param_0, cM3dGTri const* param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_SphTri__FPC8cM3dGSphPC8cM3dGTriP3Vec.s" } @@ -776,7 +953,7 @@ asm void cM3d_Cross_SphTri(cM3dGSph const* param_0, cM3dGTri const* param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylCyl(cM3dGCyl const* param_0, cM3dGCyl const* param_1, f32* param_2) { +asm bool cM3d_Cross_CylCyl(cM3dGCyl const* param_0, cM3dGCyl const* param_1, f32* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylPf.s" } @@ -787,7 +964,7 @@ asm void cM3d_Cross_CylCyl(cM3dGCyl const* param_0, cM3dGCyl const* param_1, f32 #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylCyl(cM3dGCyl const* param_0, cM3dGCyl const* param_1, Vec* param_2) { +asm bool cM3d_Cross_CylCyl(cM3dGCyl const* param_0, cM3dGCyl const* param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylCyl__FPC8cM3dGCylPC8cM3dGCylP3Vec.s" } @@ -802,7 +979,7 @@ SECTION_SDATA2 static f32 lit_4255 = 1000000000.0f; #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylTri(cM3dGCyl const* param_0, cM3dGTri const* param_1, Vec* param_2) { +asm bool cM3d_Cross_CylTri(cM3dGCyl const* param_0, cM3dGTri const* param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylTri__FPC8cM3dGCylPC8cM3dGTriP3Vec.s" } @@ -813,7 +990,7 @@ asm void cM3d_Cross_CylTri(cM3dGCyl const* param_0, cM3dGTri const* param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CylLin(cM3dGCyl const* param_0, cM3dGLin const* param_1, Vec* param_2, +asm int cM3d_Cross_CylLin(cM3dGCyl const* param_0, cM3dGLin const* param_1, Vec* param_2, Vec* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylLin__FPC8cM3dGCylPC8cM3dGLinP3VecP3Vec.s" @@ -822,32 +999,32 @@ asm void cM3d_Cross_CylLin(cM3dGCyl const* param_0, cM3dGLin const* param_1, Vec /* 8026D044-8026D0B0 267984 006C+00 1/1 0/0 0/0 .text * cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_Cross_CylPntPnt(cM3dGCyl const* param_0, Vec const* param_1, - Vec const* param_2, Vec* param_3, Vec* param_4) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPntPnt__FPC8cM3dGCylPC3VecPC3VecP3VecP3Vec.s" +static int cM3d_Cross_CylPntPnt(const cM3dGCyl* pCylinder, const Vec* pVecStart, const Vec* pVecEnd, + Vec* pVecOutA, Vec* pVecOutB) { + cM3dGLin lin; + lin.SetStartEnd(*pVecStart, *pVecEnd); + return cM3d_Cross_CylLin(pCylinder, &lin, pVecOutA, pVecOutB); } -#pragma pop /* 8026D0B0-8026D114 2679F0 0064+00 2/2 0/0 0/0 .text cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_Cross_CylPnt(cM3dGCyl const* param_0, Vec const* param_1) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CylPnt__FPC8cM3dGCylPC3Vec.s" +bool cM3d_Cross_CylPnt(const cM3dGCyl* pCylinder, const Vec* pPoint) { + f32 dX = pCylinder->GetCP().getXDiff(pPoint); + f32 dZ = pCylinder->GetCP().getZDiff(pPoint); + f32 maxY = pCylinder->GetCP().y + pCylinder->GetH(); + if (dX * dX + dZ * dZ < pCylinder->GetR() * pCylinder->GetR() && + pCylinder->GetCP().y < pPoint->y && maxY > pPoint->y) { + return true; + } else { + return false; + } } -#pragma pop /* 8026D114-8026D3D4 267A54 02C0+00 0/0 2/2 0/0 .text * cM3d_Cross_CpsCps__FRC8cM3dGCpsRC8cM3dGCpsP3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CpsCps(cM3dGCps const& param_0, cM3dGCps const& param_1, Vec* param_2) { +asm bool cM3d_Cross_CpsCps(cM3dGCps const& param_0, cM3dGCps const& param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CpsCps__FRC8cM3dGCpsRC8cM3dGCpsP3Vec.s" } @@ -858,7 +1035,7 @@ asm void cM3d_Cross_CpsCps(cM3dGCps const& param_0, cM3dGCps const& param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CpsCyl(cM3dGCps const& param_0, cM3dGCyl const& param_1, Vec* param_2) { +asm bool cM3d_Cross_CpsCyl(cM3dGCps const& param_0, cM3dGCyl const& param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CpsCyl__FRC8cM3dGCpsRC8cM3dGCylP3Vec.s" } @@ -869,7 +1046,7 @@ asm void cM3d_Cross_CpsCyl(cM3dGCps const& param_0, cM3dGCyl const& param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -static asm void cM3d_Cross_CpsSph_CrossPos(cM3dGCps const& param_0, cM3dGSph const& param_1, +static asm bool cM3d_Cross_CpsSph_CrossPos(cM3dGCps const& param_0, cM3dGSph const& param_1, Vec const& param_2, Vec* param_3) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CpsSph_CrossPos__FRC8cM3dGCpsRC8cM3dGSphRC3VecP3Vec.s" @@ -881,7 +1058,7 @@ static asm void cM3d_Cross_CpsSph_CrossPos(cM3dGCps const& param_0, cM3dGSph con #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CpsSph(cM3dGCps const& param_0, cM3dGSph const& param_1, Vec* param_2) { +asm bool cM3d_Cross_CpsSph(cM3dGCps const& param_0, cM3dGSph const& param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CpsSph__FRC8cM3dGCpsRC8cM3dGSphP3Vec.s" } @@ -892,32 +1069,37 @@ asm void cM3d_Cross_CpsSph(cM3dGCps const& param_0, cM3dGSph const& param_1, Vec #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_TriTri(cM3dGTri const& param_0, cM3dGTri const& param_1, Vec* param_2) { +asm bool cM3d_Cross_TriTri(cM3dGTri const& param_0, cM3dGTri const& param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_TriTri__FRC8cM3dGTriRC8cM3dGTriP3Vec.s" } #pragma pop +inline f32 cM3d_2LinCenter(cM3dGLin const pLinA, f32 pLinAF, cM3dGLin const& pLinB, f32 pLinBF, + Vec* pVecOut) { + Vec tmp, tmp2; + pLinA.CalcPos(&tmp, pLinAF); + pLinB.CalcPos(&tmp2, pLinBF); + PSVECAdd(&tmp, &tmp2, pVecOut); + PSVECScale(pVecOut, pVecOut, /* 0.5 */ FLOAT_LABEL(lit_3892)); +} + /* 8026E12C-8026E4FC 268A6C 03D0+00 0/0 2/2 0/0 .text * cM3d_Cross_CpsTri__FRC8cM3dGCps8cM3dGTriP3Vec */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void cM3d_Cross_CpsTri(cM3dGCps const& param_0, cM3dGTri param_1, Vec* param_2) { +asm bool cM3d_Cross_CpsTri(cM3dGCps const& param_0, cM3dGTri param_1, Vec* param_2) { nofralloc #include "asm/SSystem/SComponent/c_m3d/cM3d_Cross_CpsTri__FRC8cM3dGCps8cM3dGTriP3Vec.s" } #pragma pop /* 8026E4FC-8026E570 268E3C 0074+00 0/0 0/0 1/1 .text cM3d_CalcVecAngle__FRC3VecPsPs */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_CalcVecAngle(Vec const& param_0, s16* param_1, s16* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_CalcVecAngle__FRC3VecPsPs.s" +void cM3d_CalcVecAngle(const Vec& pVec, s16* pOutA, s16* pOutB) { + *pOutA = -cM_atan2s(-pVec.z * pVec.y, /* 1.0 */ FLOAT_LABEL(lit_2273)); + *pOutB = cM_atan2s(-pVec.x * pVec.y, /* 1.0 */ FLOAT_LABEL(lit_2273)); } -#pragma pop /* 8026E570-8026E6C4 268EB0 0154+00 0/0 1/1 0/0 .text cM3d_CalcVecZAngle__FRC3VecP5csXyz */ @@ -931,101 +1113,126 @@ asm void cM3d_CalcVecZAngle(Vec const& param_0, csXyz* param_1) { #pragma pop /* 8026E6C4-8026E6F0 269004 002C+00 1/1 0/0 0/0 .text cM3d_PlaneCrossLineProcWork__FfffffffPfPf */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_PlaneCrossLineProcWork(f32 param_0, f32 param_1, f32 param_2, f32 param_3, - f32 param_4, f32 param_5, f32 param_6, f32* param_7, - f32* param_8) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_PlaneCrossLineProcWork__FfffffffPfPf.s" +void cM3d_PlaneCrossLineProcWork(f32 f1, f32 f2, f32 f3, f32 f4, f32 f5, f32 f6, f32 f7, f32* pF1, + f32* pF2) { + *pF1 = ((f2 * f7) - (f4 * f6)) / f5; + *pF2 = ((f3 * f6) - (f1 * f7)) / f5; } -#pragma pop /* 8026E6F0-8026E8A0 269030 01B0+00 2/2 0/0 0/0 .text * cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void cM3d_2PlaneCrossLine(cM3dGPla const& param_0, cM3dGPla const& param_1, - cM3dGLin* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_2PlaneCrossLine__FRC8cM3dGPlaRC8cM3dGPlaP8cM3dGLin.s" +static int cM3d_2PlaneCrossLine(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, cM3dGLin* pLinOut) { + Vec tmp; + PSVECCrossProduct(&pPlaneA.GetNP(), &pPlaneB.GetNP(), &tmp); + if (cM3d_IsZero(tmp.x) && cM3d_IsZero(tmp.y) && cM3d_IsZero(tmp.z)) { + return 0; + } else { + f32 absTX = fabsf(tmp.x); + f32 absTY = fabsf(tmp.y); + f32 absTZ = fabsf(tmp.z); + if (absTX >= absTY && absTX >= absTZ) { + cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().y, pPlaneA.GetNP().z, pPlaneB.GetNP().y, + pPlaneB.GetNP().z, tmp.x, pPlaneA.GetD(), pPlaneB.GetD(), + &pLinOut->GetStartP().y, &pLinOut->GetStartP().z); + pLinOut->GetStartP().x = /* 0.0 */ FLOAT_LABEL(lit_2256); + } else if (absTY >= absTX && absTY >= absTZ) { + cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().z, pPlaneA.GetNP().x, pPlaneB.GetNP().z, + pPlaneB.GetNP().x, tmp.y, pPlaneA.GetD(), pPlaneB.GetD(), + &pLinOut->GetStartP().z, &pLinOut->GetStartP().x); + pLinOut->GetStartP().y = /* 0.0 */ FLOAT_LABEL(lit_2256); + } else { + cM3d_PlaneCrossLineProcWork(pPlaneA.GetNP().x, pPlaneA.GetNP().y, pPlaneB.GetNP().x, + pPlaneB.GetNP().y, tmp.z, pPlaneA.GetD(), pPlaneB.GetD(), + &pLinOut->GetStartP().x, &pLinOut->GetStartP().y); + pLinOut->GetStartP().z = /* 0.0 */ FLOAT_LABEL(lit_2256); + } + f32 scale = PSVECMag(&pLinOut->GetStartP()); + if (cM3d_IsZero(scale)) { + scale = /* 1.0 */ FLOAT_LABEL(lit_2273); + } + PSVECScale(&tmp, &tmp, scale); + PSVECAdd(&pLinOut->GetStartP(), &tmp, &pLinOut->GetEndP()); + return 1; + } } -#pragma pop /* 8026E8A0-8026E980 2691E0 00E0+00 0/0 1/1 0/0 .text * cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_3PlaneCrossPos(cM3dGPla const& param_0, cM3dGPla const& param_1, - cM3dGPla const& param_2, Vec* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_3PlaneCrossPos__FRC8cM3dGPlaRC8cM3dGPlaRC8cM3dGPlaP3Vec.s" +bool cM3d_3PlaneCrossPos(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, const cM3dGPla& pPlaneC, + Vec* pVecOut) { + cM3dGLin lin; + if (!cM3d_2PlaneCrossLine(pPlaneA, pPlaneB, &lin)) { + return false; + } else { + const Vec* end = &lin.GetEndP(); + f32 tmpf1 = pPlaneC.getPlaneFunc(&lin.GetStartP()); + f32 tmpf2 = pPlaneC.getPlaneFunc(end); + if (!cM3d_CrossInfLineVsInfPlane_proc(tmpf1, tmpf2, &lin.GetStartP(), end, pVecOut)) { + return false; + } else { + return true; + } + } } -#pragma pop /* 8026E980-8026EA5C 2692C0 00DC+00 1/1 1/1 0/0 .text * cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_lineVsPosSuisenCross(cM3dGLin const* param_0, Vec const* param_1, Vec* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FPC8cM3dGLinPC3VecP3Vec.s" +f32 cM3d_lineVsPosSuisenCross(const cM3dGLin* pLine, const Vec* pPoint, Vec* pVecOut) { + Vec tmp1; + Vec tmp2; + Vec tmp3; + pLine->CalcVec(&tmp1); + f32 diffLen = PSVECSquareMag(&tmp1); + if (cM3d_IsZero(diffLen)) { + *pVecOut = *pPoint; + return /* 0.0 */ FLOAT_LABEL(lit_2256); + } else { + PSVECSubtract(pPoint, &pLine->GetStartP(), &tmp2); + f32 retVal = PSVECDotProduct(&tmp2, &tmp1) / diffLen; + PSVECScale(&tmp1, &tmp3, retVal); + PSVECAdd(&tmp3, &pLine->GetStartP(), pVecOut); + return retVal; + } } -#pragma pop /* 8026EA5C-8026EB38 26939C 00DC+00 0/0 1/1 0/0 .text * cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_lineVsPosSuisenCross(Vec const& param_0, Vec const& param_1, Vec const& param_2, - Vec* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_lineVsPosSuisenCross__FRC3VecRC3VecRC3VecP3Vec.s" +f32 cM3d_lineVsPosSuisenCross(const Vec& pLinePointA, const Vec& pLinePointB, const Vec& pPoint, + Vec* pVecOut) { + Vec tmp1; + Vec tmp2; + Vec tmp3; + PSVECSubtract(&pLinePointB, &pLinePointA, &tmp1); + f32 diffLen = PSVECSquareMag(&tmp1); + if (cM3d_IsZero(diffLen)) { + *pVecOut = pPoint; + return /* 0.0 */ FLOAT_LABEL(lit_2256); + } else { + PSVECSubtract(&pPoint, &pLinePointA, &tmp2); + f32 dotProd = PSVECDotProduct(&tmp2, &tmp1); + f32 retVal = dotProd / diffLen; + PSVECScale(&tmp1, &tmp3, retVal); + PSVECAdd(&tmp3, &pLinePointA, pVecOut); + return retVal; + } } -#pragma pop /* 8026EB38-8026EBBC 269478 0084+00 0/0 1/1 0/0 .text * cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_2PlaneLinePosNearPos(cM3dGPla const& param_0, cM3dGPla const& param_1, - Vec const* param_2, Vec* param_3) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_2PlaneLinePosNearPos__FRC8cM3dGPlaRC8cM3dGPlaPC3VecP3Vec.s" +int cM3d_2PlaneLinePosNearPos(const cM3dGPla& pPlaneA, const cM3dGPla& pPlaneB, const Vec* pVec, + Vec* pVecOut) { + cM3dGLin lin; + if (!cM3d_2PlaneCrossLine(pPlaneA, pPlaneB, &lin)) { + return FALSE; + } else { + cM3d_lineVsPosSuisenCross(&lin, pVec, pVecOut); + return TRUE; + } } -#pragma pop /* 8026EBBC-8026EC3C 2694FC 0080+00 0/0 1/1 0/0 .text cM3d_CrawVec__FRC3VecRC3VecP3Vec */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void cM3d_CrawVec(Vec const& param_0, Vec const& param_1, Vec* param_2) { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/cM3d_CrawVec__FRC3VecRC3VecP3Vec.s" -} -#pragma pop - -/* ############################################################################################## */ -/* 804551CC-804551D0 0037CC 0004+00 1/1 0/0 0/0 .sdata2 @5508 */ -SECTION_SDATA2 static f32 lit_5508 = 32.0f; - -/* 8026EC3C-8026EC54 26957C 0018+00 0/0 1/0 0/0 .text __sinit_c_m3d_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_c_m3d_cpp() { - nofralloc -#include "asm/SSystem/SComponent/c_m3d/__sinit_c_m3d_cpp.s" -} -#pragma pop - -#pragma push -#pragma force_active on -SECTION_CTORS void* const _ctors_8026EC3C = (void*)__sinit_c_m3d_cpp; -#pragma pop +void cM3d_CrawVec(const Vec& pVecA, const Vec& pVecB, Vec* pVecOut) { + Vec tmp; + PSVECScale(&pVecA, &tmp, fabsf(pVecB.x * pVecA.x + pVecB.y * pVecA.y + pVecB.z * pVecA.z)); + PSVECAdd(&tmp, &pVecB, pVecOut); +} \ No newline at end of file