.include "macros.inc" .section .data .global lbl_803EC438 lbl_803EC438: # ROM: 0x3E9438 .4byte 0 .4byte 0x00000001 .4byte 0x00000002 .4byte 0 .global lbl_803EC448 lbl_803EC448: # ROM: 0x3E9448 .4byte 0 .4byte 0 .4byte GetTableIndex__18CCollidableOBBTreeCFv .4byte SetMaterial__19CCollisionPrimitiveFRC13CMaterialList .4byte GetMaterial__19CCollisionPrimitiveCFv .4byte CalculateAABox__18CCollidableOBBTreeCFRC12CTransform4f .4byte CalculateLocalAABox__18CCollidableOBBTreeCFv .4byte GetPrimType__18CCollidableOBBTreeCFv .4byte __dt__18CCollidableOBBTreeFv .4byte CastRayInternal__18CCollidableOBBTreeCFRC25CInternalRayCastStructure .section .sdata .global lbl_805A8630 lbl_805A8630: # ROM: 0x3F5FD0 .4byte 0xFFFFFFFF .4byte 0 .section .text, "ax" .global __dt__18CCollidableOBBTreeFv __dt__18CCollidableOBBTreeFv: /* 802A98EC 002A684C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802A98F0 002A6850 7C 08 02 A6 */ mflr r0 /* 802A98F4 002A6854 90 01 00 14 */ stw r0, 0x14(r1) /* 802A98F8 002A6858 93 E1 00 0C */ stw r31, 0xc(r1) /* 802A98FC 002A685C 7C 7F 1B 79 */ or. r31, r3, r3 /* 802A9900 002A6860 41 82 00 30 */ beq lbl_802A9930 /* 802A9904 002A6864 3C 60 80 3F */ lis r3, lbl_803EC448@ha /* 802A9908 002A6868 38 03 C4 48 */ addi r0, r3, lbl_803EC448@l /* 802A990C 002A686C 90 1F 00 00 */ stw r0, 0(r31) /* 802A9910 002A6870 41 82 00 10 */ beq lbl_802A9920 /* 802A9914 002A6874 3C 60 80 3E */ lis r3, lbl_803D97E4@ha /* 802A9918 002A6878 38 03 97 E4 */ addi r0, r3, lbl_803D97E4@l /* 802A991C 002A687C 90 1F 00 00 */ stw r0, 0(r31) lbl_802A9920: /* 802A9920 002A6880 7C 80 07 35 */ extsh. r0, r4 /* 802A9924 002A6884 40 81 00 0C */ ble lbl_802A9930 /* 802A9928 002A6888 7F E3 FB 78 */ mr r3, r31 /* 802A992C 002A688C 48 06 C0 05 */ bl Free__7CMemoryFPCv lbl_802A9930: /* 802A9930 002A6890 80 01 00 14 */ lwz r0, 0x14(r1) /* 802A9934 002A6894 7F E3 FB 78 */ mr r3, r31 /* 802A9938 002A6898 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802A993C 002A689C 7C 08 03 A6 */ mtlr r0 /* 802A9940 002A68A0 38 21 00 10 */ addi r1, r1, 0x10 /* 802A9944 002A68A4 4E 80 00 20 */ blr .global GetTableIndex__18CCollidableOBBTreeCFv GetTableIndex__18CCollidableOBBTreeCFv: /* 802A9948 002A68A8 80 6D 9A 70 */ lwz r3, lbl_805A8630@sda21(r13) /* 802A994C 002A68AC 4E 80 00 20 */ blr .global LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo: /* 802A9950 002A68B0 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 802A9954 002A68B4 7C 08 02 A6 */ mflr r0 /* 802A9958 002A68B8 90 01 00 A4 */ stw r0, 0xa4(r1) /* 802A995C 002A68BC BE E1 00 7C */ stmw r23, 0x7c(r1) /* 802A9960 002A68C0 7C 98 23 78 */ mr r24, r4 /* 802A9964 002A68C4 7C B9 2B 78 */ mr r25, r5 /* 802A9968 002A68C8 7C 77 1B 78 */ mr r23, r3 /* 802A996C 002A68CC 3B 41 00 48 */ addi r26, r1, 0x48 /* 802A9970 002A68D0 3B C0 00 00 */ li r30, 0 /* 802A9974 002A68D4 3B A0 00 00 */ li r29, 0 /* 802A9978 002A68D8 3B 60 00 00 */ li r27, 0 /* 802A997C 002A68DC 83 E4 00 04 */ lwz r31, 4(r4) /* 802A9980 002A68E0 83 85 00 04 */ lwz r28, 4(r5) /* 802A9984 002A68E4 48 00 00 84 */ b lbl_802A9A08 lbl_802A9988: /* 802A9988 002A68E8 80 B8 00 0C */ lwz r5, 0xc(r24) /* 802A998C 002A68EC 54 00 08 3C */ slwi r0, r0, 1 /* 802A9990 002A68F0 80 97 00 10 */ lwz r4, 0x10(r23) /* 802A9994 002A68F4 38 61 00 48 */ addi r3, r1, 0x48 /* 802A9998 002A68F8 7C A5 02 2E */ lhzx r5, r5, r0 /* 802A999C 002A68FC 4B FF F2 21 */ bl GetSurface__8COBBTreeCFUs /* 802A99A0 002A6900 7E E3 BB 78 */ mr r3, r23 /* 802A99A4 002A6904 81 97 00 00 */ lwz r12, 0(r23) /* 802A99A8 002A6908 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802A99AC 002A690C 7D 89 03 A6 */ mtctr r12 /* 802A99B0 002A6910 4E 80 04 21 */ bctrl /* 802A99B4 002A6914 80 C1 00 6C */ lwz r6, 0x6c(r1) /* 802A99B8 002A6918 38 81 00 08 */ addi r4, r1, 8 /* 802A99BC 002A691C 80 03 00 04 */ lwz r0, 4(r3) /* 802A99C0 002A6920 80 A3 00 00 */ lwz r5, 0(r3) /* 802A99C4 002A6924 7F 83 E3 78 */ mr r3, r28 /* 802A99C8 002A6928 7C C0 03 78 */ or r0, r6, r0 /* 802A99CC 002A692C 90 01 00 0C */ stw r0, 0xc(r1) /* 802A99D0 002A6930 90 A1 00 08 */ stw r5, 8(r1) /* 802A99D4 002A6934 48 02 B9 79 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802A99D8 002A6938 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A99DC 002A693C 41 82 00 28 */ beq lbl_802A9A04 /* 802A99E0 002A6940 80 79 00 00 */ lwz r3, 0(r25) /* 802A99E4 002A6944 7F 45 D3 78 */ mr r5, r26 /* 802A99E8 002A6948 38 D9 00 08 */ addi r6, r25, 8 /* 802A99EC 002A694C 38 83 00 2C */ addi r4, r3, 0x2c /* 802A99F0 002A6950 48 02 8D 4D */ bl RayTriangleIntersection__13CollisionUtilFRC9CVector3fRC9CVector3fPC9CVector3fRf /* 802A99F4 002A6954 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A99F8 002A6958 41 82 00 0C */ beq lbl_802A9A04 /* 802A99FC 002A695C 7F 7E DB 78 */ mr r30, r27 /* 802A9A00 002A6960 3B A0 00 01 */ li r29, 1 lbl_802A9A04: /* 802A9A04 002A6964 3B 7B 00 01 */ addi r27, r27, 1 lbl_802A9A08: /* 802A9A08 002A6968 57 60 04 3E */ clrlwi r0, r27, 0x10 /* 802A9A0C 002A696C 7C 00 F8 00 */ cmpw r0, r31 /* 802A9A10 002A6970 41 80 FF 78 */ blt lbl_802A9988 /* 802A9A14 002A6974 57 A0 06 3F */ clrlwi. r0, r29, 0x18 /* 802A9A18 002A6978 41 82 00 58 */ beq lbl_802A9A70 /* 802A9A1C 002A697C 80 B8 00 0C */ lwz r5, 0xc(r24) /* 802A9A20 002A6980 57 C0 0B FC */ rlwinm r0, r30, 1, 0xf, 0x1e /* 802A9A24 002A6984 80 97 00 10 */ lwz r4, 0x10(r23) /* 802A9A28 002A6988 38 61 00 20 */ addi r3, r1, 0x20 /* 802A9A2C 002A698C 7C A5 02 2E */ lhzx r5, r5, r0 /* 802A9A30 002A6990 4B FF F1 8D */ bl GetSurface__8COBBTreeCFUs /* 802A9A34 002A6994 38 81 00 20 */ addi r4, r1, 0x20 /* 802A9A38 002A6998 38 61 00 10 */ addi r3, r1, 0x10 /* 802A9A3C 002A699C 4B FF 8B F9 */ bl GetPlane__17CCollisionSurfaceCFv /* 802A9A40 002A69A0 C0 01 00 10 */ lfs f0, 0x10(r1) /* 802A9A44 002A69A4 38 00 00 00 */ li r0, 0 /* 802A9A48 002A69A8 D0 19 00 0C */ stfs f0, 0xc(r25) /* 802A9A4C 002A69AC C0 01 00 14 */ lfs f0, 0x14(r1) /* 802A9A50 002A69B0 D0 19 00 10 */ stfs f0, 0x10(r25) /* 802A9A54 002A69B4 C0 01 00 18 */ lfs f0, 0x18(r1) /* 802A9A58 002A69B8 D0 19 00 14 */ stfs f0, 0x14(r25) /* 802A9A5C 002A69BC C0 01 00 1C */ lfs f0, 0x1c(r1) /* 802A9A60 002A69C0 D0 19 00 18 */ stfs f0, 0x18(r25) /* 802A9A64 002A69C4 80 61 00 44 */ lwz r3, 0x44(r1) /* 802A9A68 002A69C8 90 79 00 24 */ stw r3, 0x24(r25) /* 802A9A6C 002A69CC 90 19 00 20 */ stw r0, 0x20(r25) lbl_802A9A70: /* 802A9A70 002A69D0 7F A3 EB 78 */ mr r3, r29 /* 802A9A74 002A69D4 BA E1 00 7C */ lmw r23, 0x7c(r1) /* 802A9A78 002A69D8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 802A9A7C 002A69DC 7C 08 03 A6 */ mtlr r0 /* 802A9A80 002A69E0 38 21 00 A0 */ addi r1, r1, 0xa0 /* 802A9A84 002A69E4 4E 80 00 20 */ blr .global LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo: /* 802A9A88 002A69E8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802A9A8C 002A69EC 7C 08 02 A6 */ mflr r0 /* 802A9A90 002A69F0 90 01 00 34 */ stw r0, 0x34(r1) /* 802A9A94 002A69F4 BF 21 00 14 */ stmw r25, 0x14(r1) /* 802A9A98 002A69F8 7C 9C 23 78 */ mr r28, r4 /* 802A9A9C 002A69FC 7C BD 2B 78 */ mr r29, r5 /* 802A9AA0 002A6A00 7C 7B 1B 78 */ mr r27, r3 /* 802A9AA4 002A6A04 7C DE 33 78 */ mr r30, r6 /* 802A9AA8 002A6A08 38 A1 00 0C */ addi r5, r1, 0xc /* 802A9AAC 002A6A0C 3B E0 00 00 */ li r31, 0 /* 802A9AB0 002A6A10 3B 40 00 00 */ li r26, 0 /* 802A9AB4 002A6A14 80 83 00 14 */ lwz r4, 0x14(r3) /* 802A9AB8 002A6A18 7F 83 E3 78 */ mr r3, r28 /* 802A9ABC 002A6A1C 38 04 00 02 */ addi r0, r4, 2 /* 802A9AC0 002A6A20 90 1B 00 14 */ stw r0, 0x14(r27) /* 802A9AC4 002A6A24 80 86 00 00 */ lwz r4, 0(r6) /* 802A9AC8 002A6A28 48 02 C0 F1 */ bl LineIntersectsBox__6COBBoxCFRC5CMRayRf /* 802A9ACC 002A6A2C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9AD0 002A6A30 28 00 00 01 */ cmplwi r0, 1 /* 802A9AD4 002A6A34 40 82 00 18 */ bne lbl_802A9AEC /* 802A9AD8 002A6A38 C0 21 00 0C */ lfs f1, 0xc(r1) /* 802A9ADC 002A6A3C C0 1E 00 08 */ lfs f0, 8(r30) /* 802A9AE0 002A6A40 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9AE4 002A6A44 40 80 00 08 */ bge lbl_802A9AEC /* 802A9AE8 002A6A48 3B 40 00 01 */ li r26, 1 lbl_802A9AEC: /* 802A9AEC 002A6A4C 80 9E 00 00 */ lwz r4, 0(r30) /* 802A9AF0 002A6A50 7F A3 EB 78 */ mr r3, r29 /* 802A9AF4 002A6A54 38 A1 00 08 */ addi r5, r1, 8 /* 802A9AF8 002A6A58 3B 20 00 00 */ li r25, 0 /* 802A9AFC 002A6A5C 48 02 C0 BD */ bl LineIntersectsBox__6COBBoxCFRC5CMRayRf /* 802A9B00 002A6A60 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9B04 002A6A64 28 00 00 01 */ cmplwi r0, 1 /* 802A9B08 002A6A68 40 82 00 18 */ bne lbl_802A9B20 /* 802A9B0C 002A6A6C C0 21 00 08 */ lfs f1, 8(r1) /* 802A9B10 002A6A70 C0 1E 00 08 */ lfs f0, 8(r30) /* 802A9B14 002A6A74 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9B18 002A6A78 40 80 00 08 */ bge lbl_802A9B20 /* 802A9B1C 002A6A7C 3B 20 00 01 */ li r25, 1 lbl_802A9B20: /* 802A9B20 002A6A80 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 802A9B24 002A6A84 41 82 01 7C */ beq lbl_802A9CA0 /* 802A9B28 002A6A88 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 802A9B2C 002A6A8C 41 82 01 74 */ beq lbl_802A9CA0 /* 802A9B30 002A6A90 C0 21 00 0C */ lfs f1, 0xc(r1) /* 802A9B34 002A6A94 C0 01 00 08 */ lfs f0, 8(r1) /* 802A9B38 002A6A98 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9B3C 002A6A9C 40 80 00 B4 */ bge lbl_802A9BF0 /* 802A9B40 002A6AA0 88 1C 00 3C */ lbz r0, 0x3c(r28) /* 802A9B44 002A6AA4 28 00 00 01 */ cmplwi r0, 1 /* 802A9B48 002A6AA8 40 82 00 18 */ bne lbl_802A9B60 /* 802A9B4C 002A6AAC 80 9C 00 48 */ lwz r4, 0x48(r28) /* 802A9B50 002A6AB0 7F 63 DB 78 */ mr r3, r27 /* 802A9B54 002A6AB4 7F C5 F3 78 */ mr r5, r30 /* 802A9B58 002A6AB8 4B FF FD F9 */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9B5C 002A6ABC 48 00 00 18 */ b lbl_802A9B74 lbl_802A9B60: /* 802A9B60 002A6AC0 80 9C 00 40 */ lwz r4, 0x40(r28) /* 802A9B64 002A6AC4 7F 63 DB 78 */ mr r3, r27 /* 802A9B68 002A6AC8 80 BC 00 44 */ lwz r5, 0x44(r28) /* 802A9B6C 002A6ACC 7F C6 F3 78 */ mr r6, r30 /* 802A9B70 002A6AD0 4B FF FF 19 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo lbl_802A9B74: /* 802A9B74 002A6AD4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9B78 002A6AD8 28 00 00 01 */ cmplwi r0, 1 /* 802A9B7C 002A6ADC 40 82 00 20 */ bne lbl_802A9B9C /* 802A9B80 002A6AE0 C0 3E 00 08 */ lfs f1, 8(r30) /* 802A9B84 002A6AE4 C0 01 00 08 */ lfs f0, 8(r1) /* 802A9B88 002A6AE8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9B8C 002A6AEC 40 80 00 0C */ bge lbl_802A9B98 /* 802A9B90 002A6AF0 38 60 00 01 */ li r3, 1 /* 802A9B94 002A6AF4 48 00 01 C8 */ b lbl_802A9D5C lbl_802A9B98: /* 802A9B98 002A6AF8 3B E0 00 01 */ li r31, 1 lbl_802A9B9C: /* 802A9B9C 002A6AFC 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 802A9BA0 002A6B00 28 00 00 00 */ cmplwi r0, 0 /* 802A9BA4 002A6B04 41 82 00 24 */ beq lbl_802A9BC8 /* 802A9BA8 002A6B08 80 9D 00 48 */ lwz r4, 0x48(r29) /* 802A9BAC 002A6B0C 7F 63 DB 78 */ mr r3, r27 /* 802A9BB0 002A6B10 7F C5 F3 78 */ mr r5, r30 /* 802A9BB4 002A6B14 4B FF FD 9D */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9BB8 002A6B18 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9BBC 002A6B1C 41 82 01 9C */ beq lbl_802A9D58 /* 802A9BC0 002A6B20 3B E0 00 01 */ li r31, 1 /* 802A9BC4 002A6B24 48 00 01 94 */ b lbl_802A9D58 lbl_802A9BC8: /* 802A9BC8 002A6B28 80 9D 00 40 */ lwz r4, 0x40(r29) /* 802A9BCC 002A6B2C 7F 63 DB 78 */ mr r3, r27 /* 802A9BD0 002A6B30 80 BD 00 44 */ lwz r5, 0x44(r29) /* 802A9BD4 002A6B34 7F C6 F3 78 */ mr r6, r30 /* 802A9BD8 002A6B38 4B FF FE B1 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9BDC 002A6B3C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9BE0 002A6B40 28 00 00 01 */ cmplwi r0, 1 /* 802A9BE4 002A6B44 40 82 01 74 */ bne lbl_802A9D58 /* 802A9BE8 002A6B48 3B E0 00 01 */ li r31, 1 /* 802A9BEC 002A6B4C 48 00 01 6C */ b lbl_802A9D58 lbl_802A9BF0: /* 802A9BF0 002A6B50 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 802A9BF4 002A6B54 28 00 00 01 */ cmplwi r0, 1 /* 802A9BF8 002A6B58 40 82 00 18 */ bne lbl_802A9C10 /* 802A9BFC 002A6B5C 80 9D 00 48 */ lwz r4, 0x48(r29) /* 802A9C00 002A6B60 7F 63 DB 78 */ mr r3, r27 /* 802A9C04 002A6B64 7F C5 F3 78 */ mr r5, r30 /* 802A9C08 002A6B68 4B FF FD 49 */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9C0C 002A6B6C 48 00 00 18 */ b lbl_802A9C24 lbl_802A9C10: /* 802A9C10 002A6B70 80 9D 00 40 */ lwz r4, 0x40(r29) /* 802A9C14 002A6B74 7F 63 DB 78 */ mr r3, r27 /* 802A9C18 002A6B78 80 BD 00 44 */ lwz r5, 0x44(r29) /* 802A9C1C 002A6B7C 7F C6 F3 78 */ mr r6, r30 /* 802A9C20 002A6B80 4B FF FE 69 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo lbl_802A9C24: /* 802A9C24 002A6B84 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9C28 002A6B88 28 00 00 01 */ cmplwi r0, 1 /* 802A9C2C 002A6B8C 40 82 00 20 */ bne lbl_802A9C4C /* 802A9C30 002A6B90 C0 3E 00 08 */ lfs f1, 8(r30) /* 802A9C34 002A6B94 C0 01 00 0C */ lfs f0, 0xc(r1) /* 802A9C38 002A6B98 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9C3C 002A6B9C 40 80 00 0C */ bge lbl_802A9C48 /* 802A9C40 002A6BA0 38 60 00 01 */ li r3, 1 /* 802A9C44 002A6BA4 48 00 01 18 */ b lbl_802A9D5C lbl_802A9C48: /* 802A9C48 002A6BA8 3B E0 00 01 */ li r31, 1 lbl_802A9C4C: /* 802A9C4C 002A6BAC 88 1C 00 3C */ lbz r0, 0x3c(r28) /* 802A9C50 002A6BB0 28 00 00 00 */ cmplwi r0, 0 /* 802A9C54 002A6BB4 41 82 00 24 */ beq lbl_802A9C78 /* 802A9C58 002A6BB8 80 9C 00 48 */ lwz r4, 0x48(r28) /* 802A9C5C 002A6BBC 7F 63 DB 78 */ mr r3, r27 /* 802A9C60 002A6BC0 7F C5 F3 78 */ mr r5, r30 /* 802A9C64 002A6BC4 4B FF FC ED */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9C68 002A6BC8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9C6C 002A6BCC 41 82 00 EC */ beq lbl_802A9D58 /* 802A9C70 002A6BD0 3B E0 00 01 */ li r31, 1 /* 802A9C74 002A6BD4 48 00 00 E4 */ b lbl_802A9D58 lbl_802A9C78: /* 802A9C78 002A6BD8 80 9C 00 40 */ lwz r4, 0x40(r28) /* 802A9C7C 002A6BDC 7F 63 DB 78 */ mr r3, r27 /* 802A9C80 002A6BE0 80 BC 00 44 */ lwz r5, 0x44(r28) /* 802A9C84 002A6BE4 7F C6 F3 78 */ mr r6, r30 /* 802A9C88 002A6BE8 4B FF FE 01 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9C8C 002A6BEC 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9C90 002A6BF0 28 00 00 01 */ cmplwi r0, 1 /* 802A9C94 002A6BF4 40 82 00 C4 */ bne lbl_802A9D58 /* 802A9C98 002A6BF8 3B E0 00 01 */ li r31, 1 /* 802A9C9C 002A6BFC 48 00 00 BC */ b lbl_802A9D58 lbl_802A9CA0: /* 802A9CA0 002A6C00 57 40 06 3F */ clrlwi. r0, r26, 0x18 /* 802A9CA4 002A6C04 41 82 00 58 */ beq lbl_802A9CFC /* 802A9CA8 002A6C08 88 1C 00 3C */ lbz r0, 0x3c(r28) /* 802A9CAC 002A6C0C 28 00 00 01 */ cmplwi r0, 1 /* 802A9CB0 002A6C10 40 82 00 24 */ bne lbl_802A9CD4 /* 802A9CB4 002A6C14 80 9C 00 48 */ lwz r4, 0x48(r28) /* 802A9CB8 002A6C18 7F 63 DB 78 */ mr r3, r27 /* 802A9CBC 002A6C1C 7F C5 F3 78 */ mr r5, r30 /* 802A9CC0 002A6C20 4B FF FC 91 */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9CC4 002A6C24 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9CC8 002A6C28 41 82 00 34 */ beq lbl_802A9CFC /* 802A9CCC 002A6C2C 38 60 00 01 */ li r3, 1 /* 802A9CD0 002A6C30 48 00 00 8C */ b lbl_802A9D5C lbl_802A9CD4: /* 802A9CD4 002A6C34 80 9C 00 40 */ lwz r4, 0x40(r28) /* 802A9CD8 002A6C38 7F 63 DB 78 */ mr r3, r27 /* 802A9CDC 002A6C3C 80 BC 00 44 */ lwz r5, 0x44(r28) /* 802A9CE0 002A6C40 7F C6 F3 78 */ mr r6, r30 /* 802A9CE4 002A6C44 4B FF FD A5 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9CE8 002A6C48 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9CEC 002A6C4C 28 00 00 01 */ cmplwi r0, 1 /* 802A9CF0 002A6C50 40 82 00 0C */ bne lbl_802A9CFC /* 802A9CF4 002A6C54 38 60 00 01 */ li r3, 1 /* 802A9CF8 002A6C58 48 00 00 64 */ b lbl_802A9D5C lbl_802A9CFC: /* 802A9CFC 002A6C5C 57 20 06 3F */ clrlwi. r0, r25, 0x18 /* 802A9D00 002A6C60 41 82 00 58 */ beq lbl_802A9D58 /* 802A9D04 002A6C64 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 802A9D08 002A6C68 28 00 00 01 */ cmplwi r0, 1 /* 802A9D0C 002A6C6C 40 82 00 24 */ bne lbl_802A9D30 /* 802A9D10 002A6C70 80 9D 00 48 */ lwz r4, 0x48(r29) /* 802A9D14 002A6C74 7F 63 DB 78 */ mr r3, r27 /* 802A9D18 002A6C78 7F C5 F3 78 */ mr r5, r30 /* 802A9D1C 002A6C7C 4B FF FC 35 */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9D20 002A6C80 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9D24 002A6C84 41 82 00 34 */ beq lbl_802A9D58 /* 802A9D28 002A6C88 38 60 00 01 */ li r3, 1 /* 802A9D2C 002A6C8C 48 00 00 30 */ b lbl_802A9D5C lbl_802A9D30: /* 802A9D30 002A6C90 80 9D 00 40 */ lwz r4, 0x40(r29) /* 802A9D34 002A6C94 7F 63 DB 78 */ mr r3, r27 /* 802A9D38 002A6C98 80 BD 00 44 */ lwz r5, 0x44(r29) /* 802A9D3C 002A6C9C 7F C6 F3 78 */ mr r6, r30 /* 802A9D40 002A6CA0 4B FF FD 49 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9D44 002A6CA4 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9D48 002A6CA8 28 00 00 01 */ cmplwi r0, 1 /* 802A9D4C 002A6CAC 40 82 00 0C */ bne lbl_802A9D58 /* 802A9D50 002A6CB0 38 60 00 01 */ li r3, 1 /* 802A9D54 002A6CB4 48 00 00 08 */ b lbl_802A9D5C lbl_802A9D58: /* 802A9D58 002A6CB8 7F E3 FB 78 */ mr r3, r31 lbl_802A9D5C: /* 802A9D5C 002A6CBC BB 21 00 14 */ lmw r25, 0x14(r1) /* 802A9D60 002A6CC0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802A9D64 002A6CC4 7C 08 03 A6 */ mtlr r0 /* 802A9D68 002A6CC8 38 21 00 30 */ addi r1, r1, 0x30 /* 802A9D6C 002A6CCC 4E 80 00 20 */ blr .global LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodeR12CRayCastInfo LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodeR12CRayCastInfo: /* 802A9D70 002A6CD0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 802A9D74 002A6CD4 7C 08 02 A6 */ mflr r0 /* 802A9D78 002A6CD8 90 01 00 24 */ stw r0, 0x24(r1) /* 802A9D7C 002A6CDC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 802A9D80 002A6CE0 3B E0 00 00 */ li r31, 0 /* 802A9D84 002A6CE4 93 C1 00 18 */ stw r30, 0x18(r1) /* 802A9D88 002A6CE8 7C BE 2B 78 */ mr r30, r5 /* 802A9D8C 002A6CEC 38 A1 00 08 */ addi r5, r1, 8 /* 802A9D90 002A6CF0 93 A1 00 14 */ stw r29, 0x14(r1) /* 802A9D94 002A6CF4 7C 9D 23 78 */ mr r29, r4 /* 802A9D98 002A6CF8 93 81 00 10 */ stw r28, 0x10(r1) /* 802A9D9C 002A6CFC 7C 7C 1B 78 */ mr r28, r3 /* 802A9DA0 002A6D00 80 C3 00 14 */ lwz r6, 0x14(r3) /* 802A9DA4 002A6D04 7F A3 EB 78 */ mr r3, r29 /* 802A9DA8 002A6D08 38 06 00 01 */ addi r0, r6, 1 /* 802A9DAC 002A6D0C 90 1C 00 14 */ stw r0, 0x14(r28) /* 802A9DB0 002A6D10 80 9E 00 00 */ lwz r4, 0(r30) /* 802A9DB4 002A6D14 48 02 BE 05 */ bl LineIntersectsBox__6COBBoxCFRC5CMRayRf /* 802A9DB8 002A6D18 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9DBC 002A6D1C 41 82 00 74 */ beq lbl_802A9E30 /* 802A9DC0 002A6D20 C0 21 00 08 */ lfs f1, 8(r1) /* 802A9DC4 002A6D24 C0 1E 00 08 */ lfs f0, 8(r30) /* 802A9DC8 002A6D28 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802A9DCC 002A6D2C 40 80 00 64 */ bge lbl_802A9E30 /* 802A9DD0 002A6D30 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 802A9DD4 002A6D34 28 00 00 01 */ cmplwi r0, 1 /* 802A9DD8 002A6D38 40 82 00 28 */ bne lbl_802A9E00 /* 802A9DDC 002A6D3C 80 9D 00 48 */ lwz r4, 0x48(r29) /* 802A9DE0 002A6D40 7F 83 E3 78 */ mr r3, r28 /* 802A9DE4 002A6D44 7F C5 F3 78 */ mr r5, r30 /* 802A9DE8 002A6D48 4B FF FB 69 */ bl LineIntersectsLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataR12CRayCastInfo /* 802A9DEC 002A6D4C 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9DF0 002A6D50 28 00 00 01 */ cmplwi r0, 1 /* 802A9DF4 002A6D54 40 82 00 30 */ bne lbl_802A9E24 /* 802A9DF8 002A6D58 3B E0 00 01 */ li r31, 1 /* 802A9DFC 002A6D5C 48 00 00 28 */ b lbl_802A9E24 lbl_802A9E00: /* 802A9E00 002A6D60 80 9D 00 40 */ lwz r4, 0x40(r29) /* 802A9E04 002A6D64 7F 83 E3 78 */ mr r3, r28 /* 802A9E08 002A6D68 80 BD 00 44 */ lwz r5, 0x44(r29) /* 802A9E0C 002A6D6C 7F C6 F3 78 */ mr r6, r30 /* 802A9E10 002A6D70 4B FF FC 79 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodePCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9E14 002A6D74 54 60 06 3E */ clrlwi r0, r3, 0x18 /* 802A9E18 002A6D78 28 00 00 01 */ cmplwi r0, 1 /* 802A9E1C 002A6D7C 40 82 00 08 */ bne lbl_802A9E24 /* 802A9E20 002A6D80 3B E0 00 01 */ li r31, 1 lbl_802A9E24: /* 802A9E24 002A6D84 38 00 00 01 */ li r0, 1 /* 802A9E28 002A6D88 98 1D 00 4C */ stb r0, 0x4c(r29) /* 802A9E2C 002A6D8C 48 00 00 10 */ b lbl_802A9E3C lbl_802A9E30: /* 802A9E30 002A6D90 80 7C 00 18 */ lwz r3, 0x18(r28) /* 802A9E34 002A6D94 38 03 00 01 */ addi r0, r3, 1 /* 802A9E38 002A6D98 90 1C 00 18 */ stw r0, 0x18(r28) lbl_802A9E3C: /* 802A9E3C 002A6D9C 80 01 00 24 */ lwz r0, 0x24(r1) /* 802A9E40 002A6DA0 7F E3 FB 78 */ mr r3, r31 /* 802A9E44 002A6DA4 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 802A9E48 002A6DA8 83 C1 00 18 */ lwz r30, 0x18(r1) /* 802A9E4C 002A6DAC 83 A1 00 14 */ lwz r29, 0x14(r1) /* 802A9E50 002A6DB0 83 81 00 10 */ lwz r28, 0x10(r1) /* 802A9E54 002A6DB4 7C 08 03 A6 */ mtlr r0 /* 802A9E58 002A6DB8 38 21 00 20 */ addi r1, r1, 0x20 /* 802A9E5C 002A6DBC 4E 80 00 20 */ blr .global LineIntersectsTree__18CCollidableOBBTreeCFRC5CMRayRC15CMaterialFilterfRC12CTransform4f LineIntersectsTree__18CCollidableOBBTreeCFRC5CMRayRC15CMaterialFilterfRC12CTransform4f: /* 802A9E60 002A6DC0 94 21 FE F0 */ stwu r1, -0x110(r1) /* 802A9E64 002A6DC4 7C 08 02 A6 */ mflr r0 /* 802A9E68 002A6DC8 90 01 01 14 */ stw r0, 0x114(r1) /* 802A9E6C 002A6DCC DB E1 01 00 */ stfd f31, 0x100(r1) /* 802A9E70 002A6DD0 F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0 /* 802A9E74 002A6DD4 DB C1 00 F0 */ stfd f30, 0xf0(r1) /* 802A9E78 002A6DD8 F3 C1 00 F8 */ psq_st f30, 248(r1), 0, qr0 /* 802A9E7C 002A6DDC DB A1 00 E0 */ stfd f29, 0xe0(r1) /* 802A9E80 002A6DE0 F3 A1 00 E8 */ psq_st f29, 232(r1), 0, qr0 /* 802A9E84 002A6DE4 BF 61 00 CC */ stmw r27, 0xcc(r1) /* 802A9E88 002A6DE8 FF A0 08 90 */ fmr f29, f1 /* 802A9E8C 002A6DEC 7C 7B 1B 78 */ mr r27, r3 /* 802A9E90 002A6DF0 7C BD 2B 78 */ mr r29, r5 /* 802A9E94 002A6DF4 7C FE 3B 78 */ mr r30, r7 /* 802A9E98 002A6DF8 7C 9C 23 78 */ mr r28, r4 /* 802A9E9C 002A6DFC 7C DF 33 78 */ mr r31, r6 /* 802A9EA0 002A6E00 7F A4 EB 78 */ mr r4, r29 /* 802A9EA4 002A6E04 7F C5 F3 78 */ mr r5, r30 /* 802A9EA8 002A6E08 38 61 00 30 */ addi r3, r1, 0x30 /* 802A9EAC 002A6E0C 48 02 C1 3D */ bl GetInvUnscaledTransformRay__5CMRayCFRC12CTransform4f /* 802A9EB0 002A6E10 C0 22 C1 B4 */ lfs f1, lbl_805ADED4@sda21(r2) /* 802A9EB4 002A6E14 38 01 00 90 */ addi r0, r1, 0x90 /* 802A9EB8 002A6E18 C3 C1 00 30 */ lfs f30, 0x30(r1) /* 802A9EBC 002A6E1C 38 61 00 14 */ addi r3, r1, 0x14 /* 802A9EC0 002A6E20 C3 E1 00 34 */ lfs f31, 0x34(r1) /* 802A9EC4 002A6E24 C1 A1 00 38 */ lfs f13, 0x38(r1) /* 802A9EC8 002A6E28 C1 81 00 3C */ lfs f12, 0x3c(r1) /* 802A9ECC 002A6E2C C1 61 00 40 */ lfs f11, 0x40(r1) /* 802A9ED0 002A6E30 C1 41 00 44 */ lfs f10, 0x44(r1) /* 802A9ED4 002A6E34 C1 21 00 48 */ lfs f9, 0x48(r1) /* 802A9ED8 002A6E38 C1 01 00 4C */ lfs f8, 0x4c(r1) /* 802A9EDC 002A6E3C C0 E1 00 50 */ lfs f7, 0x50(r1) /* 802A9EE0 002A6E40 C0 C1 00 54 */ lfs f6, 0x54(r1) /* 802A9EE4 002A6E44 C0 A1 00 58 */ lfs f5, 0x58(r1) /* 802A9EE8 002A6E48 C0 81 00 5C */ lfs f4, 0x5c(r1) /* 802A9EEC 002A6E4C C0 61 00 60 */ lfs f3, 0x60(r1) /* 802A9EF0 002A6E50 C0 41 00 64 */ lfs f2, 0x64(r1) /* 802A9EF4 002A6E54 C0 02 C1 B8 */ lfs f0, lbl_805ADED8@sda21(r2) /* 802A9EF8 002A6E58 D3 C1 00 90 */ stfs f30, 0x90(r1) /* 802A9EFC 002A6E5C D3 E1 00 94 */ stfs f31, 0x94(r1) /* 802A9F00 002A6E60 D1 A1 00 98 */ stfs f13, 0x98(r1) /* 802A9F04 002A6E64 D1 81 00 9C */ stfs f12, 0x9c(r1) /* 802A9F08 002A6E68 D1 61 00 A0 */ stfs f11, 0xa0(r1) /* 802A9F0C 002A6E6C D1 41 00 A4 */ stfs f10, 0xa4(r1) /* 802A9F10 002A6E70 D1 21 00 A8 */ stfs f9, 0xa8(r1) /* 802A9F14 002A6E74 D1 01 00 AC */ stfs f8, 0xac(r1) /* 802A9F18 002A6E78 D0 E1 00 B0 */ stfs f7, 0xb0(r1) /* 802A9F1C 002A6E7C D0 C1 00 B4 */ stfs f6, 0xb4(r1) /* 802A9F20 002A6E80 D0 A1 00 B8 */ stfs f5, 0xb8(r1) /* 802A9F24 002A6E84 D0 81 00 BC */ stfs f4, 0xbc(r1) /* 802A9F28 002A6E88 D0 61 00 C0 */ stfs f3, 0xc0(r1) /* 802A9F2C 002A6E8C D0 41 00 C4 */ stfs f2, 0xc4(r1) /* 802A9F30 002A6E90 90 01 00 68 */ stw r0, 0x68(r1) /* 802A9F34 002A6E94 93 E1 00 6C */ stw r31, 0x6c(r1) /* 802A9F38 002A6E98 D3 A1 00 70 */ stfs f29, 0x70(r1) /* 802A9F3C 002A6E9C D0 21 00 14 */ stfs f1, 0x14(r1) /* 802A9F40 002A6EA0 D0 21 00 18 */ stfs f1, 0x18(r1) /* 802A9F44 002A6EA4 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802A9F48 002A6EA8 48 06 A9 B1 */ bl Normalize__9CVector3fFv /* 802A9F4C 002A6EAC 3C 60 80 5A */ lis r3, skZero3f@ha /* 802A9F50 002A6EB0 38 00 00 00 */ li r0, 0 /* 802A9F54 002A6EB4 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 802A9F58 002A6EB8 C0 61 00 18 */ lfs f3, 0x18(r1) /* 802A9F5C 002A6EBC C0 04 00 04 */ lfs f0, 4(r4) /* 802A9F60 002A6EC0 7F 83 E3 78 */ mr r3, r28 /* 802A9F64 002A6EC4 C0 81 00 14 */ lfs f4, 0x14(r1) /* 802A9F68 002A6EC8 3B E1 00 74 */ addi r31, r1, 0x74 /* 802A9F6C 002A6ECC EC 00 00 F2 */ fmuls f0, f0, f3 /* 802A9F70 002A6ED0 C0 24 00 00 */ lfs f1, 0(r4) /* 802A9F74 002A6ED4 C0 A1 00 1C */ lfs f5, 0x1c(r1) /* 802A9F78 002A6ED8 38 A1 00 68 */ addi r5, r1, 0x68 /* 802A9F7C 002A6EDC C0 44 00 08 */ lfs f2, 8(r4) /* 802A9F80 002A6EE0 EC 01 01 3A */ fmadds f0, f1, f4, f0 /* 802A9F84 002A6EE4 D0 81 00 74 */ stfs f4, 0x74(r1) /* 802A9F88 002A6EE8 80 9C 00 10 */ lwz r4, 0x10(r28) /* 802A9F8C 002A6EEC EC 02 01 7A */ fmadds f0, f2, f5, f0 /* 802A9F90 002A6EF0 D0 61 00 78 */ stfs f3, 0x78(r1) /* 802A9F94 002A6EF4 D0 A1 00 7C */ stfs f5, 0x7c(r1) /* 802A9F98 002A6EF8 D0 01 00 80 */ stfs f0, 0x80(r1) /* 802A9F9C 002A6EFC 90 01 00 8C */ stw r0, 0x8c(r1) /* 802A9FA0 002A6F00 90 01 00 88 */ stw r0, 0x88(r1) /* 802A9FA4 002A6F04 80 84 00 88 */ lwz r4, 0x88(r4) /* 802A9FA8 002A6F08 4B FF FD C9 */ bl LineIntersectsOBBTree__18CCollidableOBBTreeCFPCQ28COBBTree5CNodeR12CRayCastInfo /* 802A9FAC 002A6F0C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802A9FB0 002A6F10 41 82 00 94 */ beq lbl_802AA044 /* 802A9FB4 002A6F14 7F E4 FB 78 */ mr r4, r31 /* 802A9FB8 002A6F18 7F C5 F3 78 */ mr r5, r30 /* 802A9FBC 002A6F1C 38 61 00 20 */ addi r3, r1, 0x20 /* 802A9FC0 002A6F20 48 00 01 0D */ bl TransformPlane__FRC6CPlaneRC12CTransform4f /* 802A9FC4 002A6F24 C1 01 00 70 */ lfs f8, 0x70(r1) /* 802A9FC8 002A6F28 38 00 00 01 */ li r0, 1 /* 802A9FCC 002A6F2C C0 1D 00 2C */ lfs f0, 0x2c(r29) /* 802A9FD0 002A6F30 C0 3D 00 30 */ lfs f1, 0x30(r29) /* 802A9FD4 002A6F34 EC 88 00 32 */ fmuls f4, f8, f0 /* 802A9FD8 002A6F38 C0 BD 00 00 */ lfs f5, 0(r29) /* 802A9FDC 002A6F3C EC 48 00 72 */ fmuls f2, f8, f1 /* 802A9FE0 002A6F40 C0 7D 00 04 */ lfs f3, 4(r29) /* 802A9FE4 002A6F44 C0 1D 00 34 */ lfs f0, 0x34(r29) /* 802A9FE8 002A6F48 EC 85 20 2A */ fadds f4, f5, f4 /* 802A9FEC 002A6F4C EC 43 10 2A */ fadds f2, f3, f2 /* 802A9FF0 002A6F50 C0 C1 00 20 */ lfs f6, 0x20(r1) /* 802A9FF4 002A6F54 C0 E1 00 24 */ lfs f7, 0x24(r1) /* 802A9FF8 002A6F58 EC 08 00 32 */ fmuls f0, f8, f0 /* 802A9FFC 002A6F5C C0 3D 00 08 */ lfs f1, 8(r29) /* 802AA000 002A6F60 C0 A1 00 28 */ lfs f5, 0x28(r1) /* 802AA004 002A6F64 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 802AA008 002A6F68 EC 01 00 2A */ fadds f0, f1, f0 /* 802AA00C 002A6F6C D1 1B 00 00 */ stfs f8, 0(r27) /* 802AA010 002A6F70 D0 9B 00 04 */ stfs f4, 4(r27) /* 802AA014 002A6F74 D0 5B 00 08 */ stfs f2, 8(r27) /* 802AA018 002A6F78 D0 1B 00 0C */ stfs f0, 0xc(r27) /* 802AA01C 002A6F7C D0 DB 00 10 */ stfs f6, 0x10(r27) /* 802AA020 002A6F80 D0 FB 00 14 */ stfs f7, 0x14(r27) /* 802AA024 002A6F84 D0 BB 00 18 */ stfs f5, 0x18(r27) /* 802AA028 002A6F88 D0 7B 00 1C */ stfs f3, 0x1c(r27) /* 802AA02C 002A6F8C 98 1B 00 20 */ stb r0, 0x20(r27) /* 802AA030 002A6F90 80 01 00 88 */ lwz r0, 0x88(r1) /* 802AA034 002A6F94 80 61 00 8C */ lwz r3, 0x8c(r1) /* 802AA038 002A6F98 90 7B 00 2C */ stw r3, 0x2c(r27) /* 802AA03C 002A6F9C 90 1B 00 28 */ stw r0, 0x28(r27) /* 802AA040 002A6FA0 48 00 00 60 */ b lbl_802AA0A0 lbl_802AA044: /* 802AA044 002A6FA4 C0 22 C1 B4 */ lfs f1, lbl_805ADED4@sda21(r2) /* 802AA048 002A6FA8 38 61 00 08 */ addi r3, r1, 8 /* 802AA04C 002A6FAC C0 02 C1 B8 */ lfs f0, lbl_805ADED8@sda21(r2) /* 802AA050 002A6FB0 D0 3B 00 00 */ stfs f1, 0(r27) /* 802AA054 002A6FB4 D0 3B 00 04 */ stfs f1, 4(r27) /* 802AA058 002A6FB8 D0 3B 00 08 */ stfs f1, 8(r27) /* 802AA05C 002A6FBC D0 3B 00 0C */ stfs f1, 0xc(r27) /* 802AA060 002A6FC0 D0 01 00 08 */ stfs f0, 8(r1) /* 802AA064 002A6FC4 D0 21 00 0C */ stfs f1, 0xc(r1) /* 802AA068 002A6FC8 D0 21 00 10 */ stfs f1, 0x10(r1) /* 802AA06C 002A6FCC 48 06 A8 8D */ bl Normalize__9CVector3fFv /* 802AA070 002A6FD0 C0 21 00 08 */ lfs f1, 8(r1) /* 802AA074 002A6FD4 38 00 00 00 */ li r0, 0 /* 802AA078 002A6FD8 C0 02 C1 B4 */ lfs f0, lbl_805ADED4@sda21(r2) /* 802AA07C 002A6FDC D0 3B 00 10 */ stfs f1, 0x10(r27) /* 802AA080 002A6FE0 C0 21 00 0C */ lfs f1, 0xc(r1) /* 802AA084 002A6FE4 D0 3B 00 14 */ stfs f1, 0x14(r27) /* 802AA088 002A6FE8 C0 21 00 10 */ lfs f1, 0x10(r1) /* 802AA08C 002A6FEC D0 3B 00 18 */ stfs f1, 0x18(r27) /* 802AA090 002A6FF0 D0 1B 00 1C */ stfs f0, 0x1c(r27) /* 802AA094 002A6FF4 98 1B 00 20 */ stb r0, 0x20(r27) /* 802AA098 002A6FF8 90 1B 00 2C */ stw r0, 0x2c(r27) /* 802AA09C 002A6FFC 90 1B 00 28 */ stw r0, 0x28(r27) lbl_802AA0A0: /* 802AA0A0 002A7000 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0 /* 802AA0A4 002A7004 CB E1 01 00 */ lfd f31, 0x100(r1) /* 802AA0A8 002A7008 E3 C1 00 F8 */ psq_l f30, 248(r1), 0, qr0 /* 802AA0AC 002A700C CB C1 00 F0 */ lfd f30, 0xf0(r1) /* 802AA0B0 002A7010 E3 A1 00 E8 */ psq_l f29, 232(r1), 0, qr0 /* 802AA0B4 002A7014 CB A1 00 E0 */ lfd f29, 0xe0(r1) /* 802AA0B8 002A7018 BB 61 00 CC */ lmw r27, 0xcc(r1) /* 802AA0BC 002A701C 80 01 01 14 */ lwz r0, 0x114(r1) /* 802AA0C0 002A7020 7C 08 03 A6 */ mtlr r0 /* 802AA0C4 002A7024 38 21 01 10 */ addi r1, r1, 0x110 /* 802AA0C8 002A7028 4E 80 00 20 */ blr .global TransformPlane__FRC6CPlaneRC12CTransform4f TransformPlane__FRC6CPlaneRC12CTransform4f: /* 802AA0CC 002A702C 94 21 FF 90 */ stwu r1, -0x70(r1) /* 802AA0D0 002A7030 7C 08 02 A6 */ mflr r0 /* 802AA0D4 002A7034 90 01 00 74 */ stw r0, 0x74(r1) /* 802AA0D8 002A7038 DB E1 00 60 */ stfd f31, 0x60(r1) /* 802AA0DC 002A703C F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0 /* 802AA0E0 002A7040 DB C1 00 50 */ stfd f30, 0x50(r1) /* 802AA0E4 002A7044 F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0 /* 802AA0E8 002A7048 DB A1 00 40 */ stfd f29, 0x40(r1) /* 802AA0EC 002A704C F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0 /* 802AA0F0 002A7050 93 E1 00 3C */ stw r31, 0x3c(r1) /* 802AA0F4 002A7054 93 C1 00 38 */ stw r30, 0x38(r1) /* 802AA0F8 002A7058 93 A1 00 34 */ stw r29, 0x34(r1) /* 802AA0FC 002A705C 7C 9E 23 78 */ mr r30, r4 /* 802AA100 002A7060 7C BF 2B 78 */ mr r31, r5 /* 802AA104 002A7064 C0 64 00 0C */ lfs f3, 0xc(r4) /* 802AA108 002A7068 7C 7D 1B 78 */ mr r29, r3 /* 802AA10C 002A706C C0 44 00 04 */ lfs f2, 4(r4) /* 802AA110 002A7070 7F E4 FB 78 */ mr r4, r31 /* 802AA114 002A7074 C0 3E 00 08 */ lfs f1, 8(r30) /* 802AA118 002A7078 38 61 00 20 */ addi r3, r1, 0x20 /* 802AA11C 002A707C C0 1E 00 00 */ lfs f0, 0(r30) /* 802AA120 002A7080 EC 43 00 B2 */ fmuls f2, f3, f2 /* 802AA124 002A7084 EC 23 00 72 */ fmuls f1, f3, f1 /* 802AA128 002A7088 38 A1 00 14 */ addi r5, r1, 0x14 /* 802AA12C 002A708C EC 03 00 32 */ fmuls f0, f3, f0 /* 802AA130 002A7090 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802AA134 002A7094 D0 01 00 14 */ stfs f0, 0x14(r1) /* 802AA138 002A7098 D0 21 00 1C */ stfs f1, 0x1c(r1) /* 802AA13C 002A709C 48 06 89 AD */ bl __ml__12CTransform4fCFRC9CVector3f /* 802AA140 002A70A0 C3 E1 00 20 */ lfs f31, 0x20(r1) /* 802AA144 002A70A4 7F E4 FB 78 */ mr r4, r31 /* 802AA148 002A70A8 C3 C1 00 24 */ lfs f30, 0x24(r1) /* 802AA14C 002A70AC 7F C5 F3 78 */ mr r5, r30 /* 802AA150 002A70B0 C3 A1 00 28 */ lfs f29, 0x28(r1) /* 802AA154 002A70B4 38 61 00 08 */ addi r3, r1, 8 /* 802AA158 002A70B8 48 06 89 29 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 802AA15C 002A70BC C0 21 00 0C */ lfs f1, 0xc(r1) /* 802AA160 002A70C0 C0 61 00 08 */ lfs f3, 8(r1) /* 802AA164 002A70C4 EC 1E 00 72 */ fmuls f0, f30, f1 /* 802AA168 002A70C8 C0 41 00 10 */ lfs f2, 0x10(r1) /* 802AA16C 002A70CC D0 7D 00 00 */ stfs f3, 0(r29) /* 802AA170 002A70D0 EC 1F 00 FA */ fmadds f0, f31, f3, f0 /* 802AA174 002A70D4 D0 3D 00 04 */ stfs f1, 4(r29) /* 802AA178 002A70D8 EC 1D 00 BA */ fmadds f0, f29, f2, f0 /* 802AA17C 002A70DC D0 5D 00 08 */ stfs f2, 8(r29) /* 802AA180 002A70E0 D0 1D 00 0C */ stfs f0, 0xc(r29) /* 802AA184 002A70E4 E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0 /* 802AA188 002A70E8 CB E1 00 60 */ lfd f31, 0x60(r1) /* 802AA18C 002A70EC E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0 /* 802AA190 002A70F0 CB C1 00 50 */ lfd f30, 0x50(r1) /* 802AA194 002A70F4 E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0 /* 802AA198 002A70F8 CB A1 00 40 */ lfd f29, 0x40(r1) /* 802AA19C 002A70FC 83 E1 00 3C */ lwz r31, 0x3c(r1) /* 802AA1A0 002A7100 83 C1 00 38 */ lwz r30, 0x38(r1) /* 802AA1A4 002A7104 80 01 00 74 */ lwz r0, 0x74(r1) /* 802AA1A8 002A7108 83 A1 00 34 */ lwz r29, 0x34(r1) /* 802AA1AC 002A710C 7C 08 03 A6 */ mtlr r0 /* 802AA1B0 002A7110 38 21 00 70 */ addi r1, r1, 0x70 /* 802AA1B4 002A7114 4E 80 00 20 */ blr .global CastRayInternal__18CCollidableOBBTreeCFRC25CInternalRayCastStructure CastRayInternal__18CCollidableOBBTreeCFRC25CInternalRayCastStructure: /* 802AA1B8 002A7118 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802AA1BC 002A711C 7C 08 02 A6 */ mflr r0 /* 802AA1C0 002A7120 38 E5 00 3C */ addi r7, r5, 0x3c /* 802AA1C4 002A7124 90 01 00 14 */ stw r0, 0x14(r1) /* 802AA1C8 002A7128 93 E1 00 0C */ stw r31, 0xc(r1) /* 802AA1CC 002A712C 7C 7F 1B 78 */ mr r31, r3 /* 802AA1D0 002A7130 80 C5 00 6C */ lwz r6, 0x6c(r5) /* 802AA1D4 002A7134 C0 25 00 38 */ lfs f1, 0x38(r5) /* 802AA1D8 002A7138 4B FF FC 89 */ bl LineIntersectsTree__18CCollidableOBBTreeCFRC5CMRayRC15CMaterialFilterfRC12CTransform4f /* 802AA1DC 002A713C 80 01 00 14 */ lwz r0, 0x14(r1) /* 802AA1E0 002A7140 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802AA1E4 002A7144 7C 08 03 A6 */ mtlr r0 /* 802AA1E8 002A7148 38 21 00 10 */ addi r1, r1, 0x10 /* 802AA1EC 002A714C 4E 80 00 20 */ blr .global SphereCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo SphereCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo: /* 802AA1F0 002A7150 94 21 FB 30 */ stwu r1, -0x4d0(r1) /* 802AA1F4 002A7154 7C 08 02 A6 */ mflr r0 /* 802AA1F8 002A7158 90 01 04 D4 */ stw r0, 0x4d4(r1) /* 802AA1FC 002A715C DB E1 04 C0 */ stfd f31, 0x4c0(r1) /* 802AA200 002A7160 F3 E1 04 C8 */ psq_st f31, 1224(r1), 0, qr0 /* 802AA204 002A7164 DB C1 04 B0 */ stfd f30, 0x4b0(r1) /* 802AA208 002A7168 F3 C1 04 B8 */ psq_st f30, 1208(r1), 0, qr0 /* 802AA20C 002A716C DB A1 04 A0 */ stfd f29, 0x4a0(r1) /* 802AA210 002A7170 F3 A1 04 A8 */ psq_st f29, 1192(r1), 0, qr0 /* 802AA214 002A7174 DB 81 04 90 */ stfd f28, 0x490(r1) /* 802AA218 002A7178 F3 81 04 98 */ psq_st f28, 1176(r1), 0, qr0 /* 802AA21C 002A717C DB 61 04 80 */ stfd f27, 0x480(r1) /* 802AA220 002A7180 F3 61 04 88 */ psq_st f27, 1160(r1), 0, qr0 /* 802AA224 002A7184 DB 41 04 70 */ stfd f26, 0x470(r1) /* 802AA228 002A7188 F3 41 04 78 */ psq_st f26, 1144(r1), 0, qr0 /* 802AA22C 002A718C DB 21 04 60 */ stfd f25, 0x460(r1) /* 802AA230 002A7190 F3 21 04 68 */ psq_st f25, 1128(r1), 0, qr0 /* 802AA234 002A7194 DB 01 04 50 */ stfd f24, 0x450(r1) /* 802AA238 002A7198 F3 01 04 58 */ psq_st f24, 1112(r1), 0, qr0 /* 802AA23C 002A719C DA E1 04 40 */ stfd f23, 0x440(r1) /* 802AA240 002A71A0 F2 E1 04 48 */ psq_st f23, 1096(r1), 0, qr0 /* 802AA244 002A71A4 DA C1 04 30 */ stfd f22, 0x430(r1) /* 802AA248 002A71A8 F2 C1 04 38 */ psq_st f22, 1080(r1), 0, qr0 /* 802AA24C 002A71AC DA A1 04 20 */ stfd f21, 0x420(r1) /* 802AA250 002A71B0 F2 A1 04 28 */ psq_st f21, 1064(r1), 0, qr0 /* 802AA254 002A71B4 DA 81 04 10 */ stfd f20, 0x410(r1) /* 802AA258 002A71B8 F2 81 04 18 */ psq_st f20, 1048(r1), 0, qr0 /* 802AA25C 002A71BC DA 61 04 00 */ stfd f19, 0x400(r1) /* 802AA260 002A71C0 F2 61 04 08 */ psq_st f19, 1032(r1), 0, qr0 /* 802AA264 002A71C4 DA 41 03 F0 */ stfd f18, 0x3f0(r1) /* 802AA268 002A71C8 F2 41 03 F8 */ psq_st f18, 1016(r1), 0, qr0 /* 802AA26C 002A71CC BD C1 03 A8 */ stmw r14, 0x3a8(r1) /* 802AA270 002A71D0 C0 C6 00 0C */ lfs f6, 0xc(r6) /* 802AA274 002A71D4 7C 6F 1B 78 */ mr r15, r3 /* 802AA278 002A71D8 C0 66 00 04 */ lfs f3, 4(r6) /* 802AA27C 002A71DC 7C D0 33 78 */ mr r16, r6 /* 802AA280 002A71E0 C0 46 00 08 */ lfs f2, 8(r6) /* 802AA284 002A71E4 7C F1 3B 78 */ mr r17, r7 /* 802AA288 002A71E8 EC A3 30 2A */ fadds f5, f3, f6 /* 802AA28C 002A71EC C0 06 00 00 */ lfs f0, 0(r6) /* 802AA290 002A71F0 EC 82 30 2A */ fadds f4, f2, f6 /* 802AA294 002A71F4 90 81 00 08 */ stw r4, 8(r1) /* 802AA298 002A71F8 EC 20 30 2A */ fadds f1, f0, f6 /* 802AA29C 002A71FC 82 81 04 D8 */ lwz r20, 0x4d8(r1) /* 802AA2A0 002A7200 EC 63 30 28 */ fsubs f3, f3, f6 /* 802AA2A4 002A7204 90 A1 00 0C */ stw r5, 0xc(r1) /* 802AA2A8 002A7208 EC 42 30 28 */ fsubs f2, f2, f6 /* 802AA2AC 002A720C 7D 32 4B 78 */ mr r18, r9 /* 802AA2B0 002A7210 EC 00 30 28 */ fsubs f0, f0, f6 /* 802AA2B4 002A7214 91 01 00 10 */ stw r8, 0x10(r1) /* 802AA2B8 002A7218 D0 21 01 8C */ stfs f1, 0x18c(r1) /* 802AA2BC 002A721C 7D 53 53 78 */ mr r19, r10 /* 802AA2C0 002A7220 38 61 02 10 */ addi r3, r1, 0x210 /* 802AA2C4 002A7224 38 81 01 98 */ addi r4, r1, 0x198 /* 802AA2C8 002A7228 D0 A1 01 90 */ stfs f5, 0x190(r1) /* 802AA2CC 002A722C 38 A1 01 8C */ addi r5, r1, 0x18c /* 802AA2D0 002A7230 D0 81 01 94 */ stfs f4, 0x194(r1) /* 802AA2D4 002A7234 D0 01 01 98 */ stfs f0, 0x198(r1) /* 802AA2D8 002A7238 D0 61 01 9C */ stfs f3, 0x19c(r1) /* 802AA2DC 002A723C D0 41 01 A0 */ stfs f2, 0x1a0(r1) /* 802AA2E0 002A7240 48 08 E2 29 */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f /* 802AA2E4 002A7244 C8 93 00 00 */ lfd f4, 0(r19) /* 802AA2E8 002A7248 38 61 01 F8 */ addi r3, r1, 0x1f8 /* 802AA2EC 002A724C C0 61 02 1C */ lfs f3, 0x21c(r1) /* 802AA2F0 002A7250 38 81 01 80 */ addi r4, r1, 0x180 /* 802AA2F4 002A7254 FC 80 20 18 */ frsp f4, f4 /* 802AA2F8 002A7258 C0 52 00 00 */ lfs f2, 0(r18) /* 802AA2FC 002A725C C0 32 00 04 */ lfs f1, 4(r18) /* 802AA300 002A7260 C0 12 00 08 */ lfs f0, 8(r18) /* 802AA304 002A7264 EF A4 00 B2 */ fmuls f29, f4, f2 /* 802AA308 002A7268 C0 41 02 20 */ lfs f2, 0x220(r1) /* 802AA30C 002A726C EF C4 00 72 */ fmuls f30, f4, f1 /* 802AA310 002A7270 C0 21 02 24 */ lfs f1, 0x224(r1) /* 802AA314 002A7274 EF E4 00 32 */ fmuls f31, f4, f0 /* 802AA318 002A7278 C0 C1 02 10 */ lfs f6, 0x210(r1) /* 802AA31C 002A727C ED 02 F0 2A */ fadds f8, f2, f30 /* 802AA320 002A7280 C0 A1 02 14 */ lfs f5, 0x214(r1) /* 802AA324 002A7284 EC E1 F8 2A */ fadds f7, f1, f31 /* 802AA328 002A7288 C0 81 02 18 */ lfs f4, 0x218(r1) /* 802AA32C 002A728C EC 03 E8 2A */ fadds f0, f3, f29 /* 802AA330 002A7290 D0 C1 01 F8 */ stfs f6, 0x1f8(r1) /* 802AA334 002A7294 D0 A1 01 FC */ stfs f5, 0x1fc(r1) /* 802AA338 002A7298 D0 81 02 00 */ stfs f4, 0x200(r1) /* 802AA33C 002A729C D0 61 02 04 */ stfs f3, 0x204(r1) /* 802AA340 002A72A0 D0 41 02 08 */ stfs f2, 0x208(r1) /* 802AA344 002A72A4 D0 21 02 0C */ stfs f1, 0x20c(r1) /* 802AA348 002A72A8 D0 01 01 80 */ stfs f0, 0x180(r1) /* 802AA34C 002A72AC D1 01 01 84 */ stfs f8, 0x184(r1) /* 802AA350 002A72B0 D0 E1 01 88 */ stfs f7, 0x188(r1) /* 802AA354 002A72B4 48 08 D7 B5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802AA358 002A72B8 C0 41 02 14 */ lfs f2, 0x214(r1) /* 802AA35C 002A72BC 38 61 01 F8 */ addi r3, r1, 0x1f8 /* 802AA360 002A72C0 C0 21 02 18 */ lfs f1, 0x218(r1) /* 802AA364 002A72C4 38 81 01 74 */ addi r4, r1, 0x174 /* 802AA368 002A72C8 C0 01 02 10 */ lfs f0, 0x210(r1) /* 802AA36C 002A72CC EC 42 F0 2A */ fadds f2, f2, f30 /* 802AA370 002A72D0 EC 21 F8 2A */ fadds f1, f1, f31 /* 802AA374 002A72D4 EC 00 E8 2A */ fadds f0, f0, f29 /* 802AA378 002A72D8 D0 41 01 78 */ stfs f2, 0x178(r1) /* 802AA37C 002A72DC D0 01 01 74 */ stfs f0, 0x174(r1) /* 802AA380 002A72E0 D0 21 01 7C */ stfs f1, 0x17c(r1) /* 802AA384 002A72E4 48 08 D7 85 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802AA388 002A72E8 38 61 01 68 */ addi r3, r1, 0x168 /* 802AA38C 002A72EC 38 81 01 F8 */ addi r4, r1, 0x1f8 /* 802AA390 002A72F0 48 08 D2 7D */ bl GetCenterPoint__6CAABoxCFv /* 802AA394 002A72F4 C0 61 02 08 */ lfs f3, 0x208(r1) /* 802AA398 002A72F8 3A E0 00 00 */ li r23, 0 /* 802AA39C 002A72FC C0 41 01 FC */ lfs f2, 0x1fc(r1) /* 802AA3A0 002A7300 C0 21 02 0C */ lfs f1, 0x20c(r1) /* 802AA3A4 002A7304 C0 01 02 00 */ lfs f0, 0x200(r1) /* 802AA3A8 002A7308 EC 63 10 28 */ fsubs f3, f3, f2 /* 802AA3AC 002A730C 80 61 00 08 */ lwz r3, 8(r1) /* 802AA3B0 002A7310 EC 41 00 28 */ fsubs f2, f1, f0 /* 802AA3B4 002A7314 C0 82 C1 BC */ lfs f4, lbl_805ADEDC@sda21(r2) /* 802AA3B8 002A7318 80 03 00 04 */ lwz r0, 4(r3) /* 802AA3BC 002A731C EC C4 00 F2 */ fmuls f6, f4, f3 /* 802AA3C0 002A7320 C0 21 02 04 */ lfs f1, 0x204(r1) /* 802AA3C4 002A7324 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802AA3C8 002A7328 C0 01 01 F8 */ lfs f0, 0x1f8(r1) /* 802AA3CC 002A732C C0 61 01 68 */ lfs f3, 0x168(r1) /* 802AA3D0 002A7330 EC 01 00 28 */ fsubs f0, f1, f0 /* 802AA3D4 002A7334 C0 41 01 6C */ lfs f2, 0x16c(r1) /* 802AA3D8 002A7338 C0 21 01 70 */ lfs f1, 0x170(r1) /* 802AA3DC 002A733C 90 01 03 A0 */ stw r0, 0x3a0(r1) /* 802AA3E0 002A7340 38 00 00 00 */ li r0, 0 /* 802AA3E4 002A7344 EC 04 00 32 */ fmuls f0, f4, f0 /* 802AA3E8 002A7348 90 01 03 98 */ stw r0, 0x398(r1) /* 802AA3EC 002A734C 38 00 00 00 */ li r0, 0 /* 802AA3F0 002A7350 D0 61 01 EC */ stfs f3, 0x1ec(r1) /* 802AA3F4 002A7354 D0 41 01 F0 */ stfs f2, 0x1f0(r1) /* 802AA3F8 002A7358 D0 21 01 F4 */ stfs f1, 0x1f4(r1) /* 802AA3FC 002A735C 90 01 03 9C */ stw r0, 0x39c(r1) /* 802AA400 002A7360 D0 01 01 E0 */ stfs f0, 0x1e0(r1) /* 802AA404 002A7364 D0 C1 01 E4 */ stfs f6, 0x1e4(r1) /* 802AA408 002A7368 D0 A1 01 E8 */ stfs f5, 0x1e8(r1) /* 802AA40C 002A736C 48 00 0C A0 */ b lbl_802AB0AC lbl_802AA410: /* 802AA410 002A7370 80 61 00 08 */ lwz r3, 8(r1) /* 802AA414 002A7374 80 01 03 9C */ lwz r0, 0x39c(r1) /* 802AA418 002A7378 80 A3 00 0C */ lwz r5, 0xc(r3) /* 802AA41C 002A737C 38 61 02 28 */ addi r3, r1, 0x228 /* 802AA420 002A7380 80 C1 00 0C */ lwz r6, 0xc(r1) /* 802AA424 002A7384 7D C5 02 2E */ lhzx r14, r5, r0 /* 802AA428 002A7388 80 8F 00 10 */ lwz r4, 0x10(r15) /* 802AA42C 002A738C 7D C5 73 78 */ mr r5, r14 /* 802AA430 002A7390 4B FF E6 11 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802AA434 002A7394 C1 01 02 28 */ lfs f8, 0x228(r1) /* 802AA438 002A7398 7D E3 7B 78 */ mr r3, r15 /* 802AA43C 002A739C C0 E1 02 2C */ lfs f7, 0x22c(r1) /* 802AA440 002A73A0 C0 C1 02 30 */ lfs f6, 0x230(r1) /* 802AA444 002A73A4 C0 A1 02 34 */ lfs f5, 0x234(r1) /* 802AA448 002A73A8 C0 81 02 38 */ lfs f4, 0x238(r1) /* 802AA44C 002A73AC C0 61 02 3C */ lfs f3, 0x23c(r1) /* 802AA450 002A73B0 C0 41 02 40 */ lfs f2, 0x240(r1) /* 802AA454 002A73B4 C0 21 02 44 */ lfs f1, 0x244(r1) /* 802AA458 002A73B8 C0 01 02 48 */ lfs f0, 0x248(r1) /* 802AA45C 002A73BC 80 01 02 4C */ lwz r0, 0x24c(r1) /* 802AA460 002A73C0 D1 01 02 50 */ stfs f8, 0x250(r1) /* 802AA464 002A73C4 D0 E1 02 54 */ stfs f7, 0x254(r1) /* 802AA468 002A73C8 D0 C1 02 58 */ stfs f6, 0x258(r1) /* 802AA46C 002A73CC D0 A1 02 5C */ stfs f5, 0x25c(r1) /* 802AA470 002A73D0 D0 81 02 60 */ stfs f4, 0x260(r1) /* 802AA474 002A73D4 D0 61 02 64 */ stfs f3, 0x264(r1) /* 802AA478 002A73D8 D0 41 02 68 */ stfs f2, 0x268(r1) /* 802AA47C 002A73DC D0 21 02 6C */ stfs f1, 0x26c(r1) /* 802AA480 002A73E0 D0 01 02 70 */ stfs f0, 0x270(r1) /* 802AA484 002A73E4 90 01 02 74 */ stw r0, 0x274(r1) /* 802AA488 002A73E8 81 8F 00 00 */ lwz r12, 0(r15) /* 802AA48C 002A73EC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802AA490 002A73F0 7D 89 03 A6 */ mtctr r12 /* 802AA494 002A73F4 4E 80 04 21 */ bctrl /* 802AA498 002A73F8 80 C1 02 74 */ lwz r6, 0x274(r1) /* 802AA49C 002A73FC 38 81 00 48 */ addi r4, r1, 0x48 /* 802AA4A0 002A7400 80 03 00 04 */ lwz r0, 4(r3) /* 802AA4A4 002A7404 80 A3 00 00 */ lwz r5, 0(r3) /* 802AA4A8 002A7408 7C C0 03 78 */ or r0, r6, r0 /* 802AA4AC 002A740C 80 61 00 10 */ lwz r3, 0x10(r1) /* 802AA4B0 002A7410 90 01 00 4C */ stw r0, 0x4c(r1) /* 802AA4B4 002A7414 90 A1 00 48 */ stw r5, 0x48(r1) /* 802AA4B8 002A7418 48 02 AE 95 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802AA4BC 002A741C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AA4C0 002A7420 41 82 0B D4 */ beq lbl_802AB094 /* 802AA4C4 002A7424 38 C1 02 5C */ addi r6, r1, 0x25c /* 802AA4C8 002A7428 38 E1 02 68 */ addi r7, r1, 0x268 /* 802AA4CC 002A742C 38 61 01 EC */ addi r3, r1, 0x1ec /* 802AA4D0 002A7430 38 81 01 E0 */ addi r4, r1, 0x1e0 /* 802AA4D4 002A7434 38 A1 02 50 */ addi r5, r1, 0x250 /* 802AA4D8 002A7438 48 02 70 09 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802AA4DC 002A743C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AA4E0 002A7440 41 82 0B 38 */ beq lbl_802AB018 /* 802AA4E4 002A7444 80 AF 00 1C */ lwz r5, 0x1c(r15) /* 802AA4E8 002A7448 38 61 01 5C */ addi r3, r1, 0x15c /* 802AA4EC 002A744C 38 81 02 50 */ addi r4, r1, 0x250 /* 802AA4F0 002A7450 38 05 00 01 */ addi r0, r5, 1 /* 802AA4F4 002A7454 90 0F 00 1C */ stw r0, 0x1c(r15) /* 802AA4F8 002A7458 4B FF 81 AD */ bl GetNormal__17CCollisionSurfaceCFv /* 802AA4FC 002A745C C3 30 00 04 */ lfs f25, 4(r16) /* 802AA500 002A7460 C0 50 00 00 */ lfs f2, 0(r16) /* 802AA504 002A7464 EC 19 F0 2A */ fadds f0, f25, f30 /* 802AA508 002A7468 C1 01 02 54 */ lfs f8, 0x254(r1) /* 802AA50C 002A746C C1 81 01 60 */ lfs f12, 0x160(r1) /* 802AA510 002A7470 EC 22 E8 2A */ fadds f1, f2, f29 /* 802AA514 002A7474 C3 70 00 08 */ lfs f27, 8(r16) /* 802AA518 002A7478 EC 00 40 28 */ fsubs f0, f0, f8 /* 802AA51C 002A747C C1 21 02 50 */ lfs f9, 0x250(r1) /* 802AA520 002A7480 EC 7B F8 2A */ fadds f3, f27, f31 /* 802AA524 002A7484 C1 A1 01 5C */ lfs f13, 0x15c(r1) /* 802AA528 002A7488 EC 21 48 28 */ fsubs f1, f1, f9 /* 802AA52C 002A748C C1 41 02 58 */ lfs f10, 0x258(r1) /* 802AA530 002A7490 EC 00 03 32 */ fmuls f0, f0, f12 /* 802AA534 002A7494 C1 61 01 64 */ lfs f11, 0x164(r1) /* 802AA538 002A7498 EC 63 50 28 */ fsubs f3, f3, f10 /* 802AA53C 002A749C C0 F0 00 0C */ lfs f7, 0xc(r16) /* 802AA540 002A74A0 EC 01 03 7A */ fmadds f0, f1, f13, f0 /* 802AA544 002A74A4 D1 A1 01 D4 */ stfs f13, 0x1d4(r1) /* 802AA548 002A74A8 D1 81 01 D8 */ stfs f12, 0x1d8(r1) /* 802AA54C 002A74AC EC 03 02 FA */ fmadds f0, f3, f11, f0 /* 802AA550 002A74B0 D1 61 01 DC */ stfs f11, 0x1dc(r1) /* 802AA554 002A74B4 FC 00 38 40 */ fcmpo cr0, f0, f7 /* 802AA558 002A74B8 41 81 0B 3C */ bgt lbl_802AB094 /* 802AA55C 002A74BC EE D9 40 28 */ fsubs f22, f25, f8 /* 802AA560 002A74C0 C3 12 00 04 */ lfs f24, 4(r18) /* 802AA564 002A74C4 EE 82 48 28 */ fsubs f20, f2, f9 /* 802AA568 002A74C8 C0 A1 02 64 */ lfs f5, 0x264(r1) /* 802AA56C 002A74CC EE BB 50 28 */ fsubs f21, f27, f10 /* 802AA570 002A74D0 C3 52 00 00 */ lfs f26, 0(r18) /* 802AA574 002A74D4 EC 76 03 32 */ fmuls f3, f22, f12 /* 802AA578 002A74D8 D2 81 01 50 */ stfs f20, 0x150(r1) /* 802AA57C 002A74DC EC 38 03 32 */ fmuls f1, f24, f12 /* 802AA580 002A74E0 C2 F2 00 08 */ lfs f23, 8(r18) /* 802AA584 002A74E4 EC 05 50 28 */ fsubs f0, f5, f10 /* 802AA588 002A74E8 C0 81 02 5C */ lfs f4, 0x25c(r1) /* 802AA58C 002A74EC EE 74 1B 7A */ fmadds f19, f20, f13, f3 /* 802AA590 002A74F0 D2 A1 01 58 */ stfs f21, 0x158(r1) /* 802AA594 002A74F4 EE 5A 0B 7A */ fmadds f18, f26, f13, f1 /* 802AA598 002A74F8 C0 C1 02 60 */ lfs f6, 0x260(r1) /* 802AA59C 002A74FC D2 C1 01 54 */ stfs f22, 0x154(r1) /* 802AA5A0 002A7500 EE 95 9A FA */ fmadds f20, f21, f11, f19 /* 802AA5A4 002A7504 EE 57 92 FA */ fmadds f18, f23, f11, f18 /* 802AA5A8 002A7508 D0 01 01 34 */ stfs f0, 0x134(r1) /* 802AA5AC 002A750C EE 64 48 28 */ fsubs f19, f4, f9 /* 802AA5B0 002A7510 C0 62 C1 B4 */ lfs f3, lbl_805ADED4@sda21(r2) /* 802AA5B4 002A7514 EF 87 A0 28 */ fsubs f28, f7, f20 /* 802AA5B8 002A7518 EC 26 40 28 */ fsubs f1, f6, f8 /* 802AA5BC 002A751C EE A0 03 72 */ fmuls f21, f0, f13 /* 802AA5C0 002A7520 D2 61 01 2C */ stfs f19, 0x12c(r1) /* 802AA5C4 002A7524 FF 9C 90 24 */ fdiv f28, f28, f18 /* 802AA5C8 002A7528 D0 21 01 30 */ stfs f1, 0x130(r1) /* 802AA5CC 002A752C FE 40 E0 18 */ frsp f18, f28 /* 802AA5D0 002A7530 EE CB AC F8 */ fmsubs f22, f11, f19, f21 /* 802AA5D4 002A7534 EE 81 02 F2 */ fmuls f20, f1, f11 /* 802AA5D8 002A7538 EE B2 06 32 */ fmuls f21, f18, f24 /* 802AA5DC 002A753C EF 12 06 B2 */ fmuls f24, f18, f26 /* 802AA5E0 002A7540 D2 C1 01 3C */ stfs f22, 0x13c(r1) /* 802AA5E4 002A7544 EE 8C A0 38 */ fmsubs f20, f12, f0, f20 /* 802AA5E8 002A7548 EF 59 A8 2A */ fadds f26, f25, f21 /* 802AA5EC 002A754C EC 12 05 F2 */ fmuls f0, f18, f23 /* 802AA5F0 002A7550 EF 22 C0 2A */ fadds f25, f2, f24 /* 802AA5F4 002A7554 D2 81 01 38 */ stfs f20, 0x138(r1) /* 802AA5F8 002A7558 EE 5A 40 28 */ fsubs f18, f26, f8 /* 802AA5FC 002A755C EF 7B 00 2A */ fadds f27, f27, f0 /* 802AA600 002A7560 EE B3 03 32 */ fmuls f21, f19, f12 /* 802AA604 002A7564 EC 59 48 28 */ fsubs f2, f25, f9 /* 802AA608 002A7568 D2 41 01 48 */ stfs f18, 0x148(r1) /* 802AA60C 002A756C EC 12 05 B2 */ fmuls f0, f18, f22 /* 802AA610 002A7570 EC 2D A8 78 */ fmsubs f1, f13, f1, f21 /* 802AA614 002A7574 EE 5B 50 28 */ fsubs f18, f27, f10 /* 802AA618 002A7578 D0 41 01 44 */ stfs f2, 0x144(r1) /* 802AA61C 002A757C EC 02 05 3A */ fmadds f0, f2, f20, f0 /* 802AA620 002A7580 D0 21 01 40 */ stfs f1, 0x140(r1) /* 802AA624 002A7584 EC 12 00 7A */ fmadds f0, f18, f1, f0 /* 802AA628 002A7588 D2 41 01 4C */ stfs f18, 0x14c(r1) /* 802AA62C 002A758C FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802AA630 002A7590 7C 00 00 26 */ mfcr r0 /* 802AA634 002A7594 C0 01 02 68 */ lfs f0, 0x268(r1) /* 802AA638 002A7598 C0 41 02 6C */ lfs f2, 0x26c(r1) /* 802AA63C 002A759C 54 04 0F FE */ srwi r4, r0, 0x1f /* 802AA640 002A75A0 EE A0 20 28 */ fsubs f21, f0, f4 /* 802AA644 002A75A4 C0 21 02 70 */ lfs f1, 0x270(r1) /* 802AA648 002A75A8 EE 82 30 28 */ fsubs f20, f2, f6 /* 802AA64C 002A75AC 98 81 00 18 */ stb r4, 0x18(r1) /* 802AA650 002A75B0 EE 61 28 28 */ fsubs f19, f1, f5 /* 802AA654 002A75B4 D2 A1 01 08 */ stfs f21, 0x108(r1) /* 802AA658 002A75B8 EE F3 03 72 */ fmuls f23, f19, f13 /* 802AA65C 002A75BC D2 81 01 0C */ stfs f20, 0x10c(r1) /* 802AA660 002A75C0 EE D4 02 F2 */ fmuls f22, f20, f11 /* 802AA664 002A75C4 EE 5A 30 28 */ fsubs f18, f26, f6 /* 802AA668 002A75C8 D2 61 01 10 */ stfs f19, 0x110(r1) /* 802AA66C 002A75CC EF 0B BD 78 */ fmsubs f24, f11, f21, f23 /* 802AA670 002A75D0 EE CC B4 F8 */ fmsubs f22, f12, f19, f22 /* 802AA674 002A75D4 EE F5 03 32 */ fmuls f23, f21, f12 /* 802AA678 002A75D8 D2 41 01 24 */ stfs f18, 0x124(r1) /* 802AA67C 002A75DC EC D9 20 28 */ fsubs f6, f25, f4 /* 802AA680 002A75E0 EC 92 06 32 */ fmuls f4, f18, f24 /* 802AA684 002A75E4 D2 C1 01 14 */ stfs f22, 0x114(r1) /* 802AA688 002A75E8 EE ED BD 38 */ fmsubs f23, f13, f20, f23 /* 802AA68C 002A75EC EC BB 28 28 */ fsubs f5, f27, f5 /* 802AA690 002A75F0 D3 01 01 18 */ stfs f24, 0x118(r1) /* 802AA694 002A75F4 EC 86 25 BA */ fmadds f4, f6, f22, f4 /* 802AA698 002A75F8 D2 E1 01 1C */ stfs f23, 0x11c(r1) /* 802AA69C 002A75FC EC 85 25 FA */ fmadds f4, f5, f23, f4 /* 802AA6A0 002A7600 D0 C1 01 20 */ stfs f6, 0x120(r1) /* 802AA6A4 002A7604 D0 A1 01 28 */ stfs f5, 0x128(r1) /* 802AA6A8 002A7608 FC 04 18 40 */ fcmpo cr0, f4, f3 /* 802AA6AC 002A760C 7C 00 00 26 */ mfcr r0 /* 802AA6B0 002A7610 ED 4A 08 28 */ fsubs f10, f10, f1 /* 802AA6B4 002A7614 EE 48 10 28 */ fsubs f18, f8, f2 /* 802AA6B8 002A7618 54 03 0F FE */ srwi r3, r0, 0x1f /* 802AA6BC 002A761C ED 09 00 28 */ fsubs f8, f9, f0 /* 802AA6C0 002A7620 98 61 00 19 */ stb r3, 0x19(r1) /* 802AA6C4 002A7624 EC 8A 03 72 */ fmuls f4, f10, f13 /* 802AA6C8 002A7628 EC D2 02 F2 */ fmuls f6, f18, f11 /* 802AA6CC 002A762C ED 3A 10 28 */ fsubs f9, f26, f2 /* 802AA6D0 002A7630 D1 01 00 E4 */ stfs f8, 0xe4(r1) /* 802AA6D4 002A7634 EC AB 22 38 */ fmsubs f5, f11, f8, f4 /* 802AA6D8 002A7638 EC CC 32 B8 */ fmsubs f6, f12, f10, f6 /* 802AA6DC 002A763C D2 41 00 E8 */ stfs f18, 0xe8(r1) /* 802AA6E0 002A7640 EC 88 03 32 */ fmuls f4, f8, f12 /* 802AA6E4 002A7644 EC 59 00 28 */ fsubs f2, f25, f0 /* 802AA6E8 002A7648 D1 41 00 EC */ stfs f10, 0xec(r1) /* 802AA6EC 002A764C EC 09 01 72 */ fmuls f0, f9, f5 /* 802AA6F0 002A7650 EC 8D 24 B8 */ fmsubs f4, f13, f18, f4 /* 802AA6F4 002A7654 D0 C1 00 F0 */ stfs f6, 0xf0(r1) /* 802AA6F8 002A7658 EC 3B 08 28 */ fsubs f1, f27, f1 /* 802AA6FC 002A765C EC 02 01 BA */ fmadds f0, f2, f6, f0 /* 802AA700 002A7660 D0 A1 00 F4 */ stfs f5, 0xf4(r1) /* 802AA704 002A7664 D0 81 00 F8 */ stfs f4, 0xf8(r1) /* 802AA708 002A7668 EC 01 01 3A */ fmadds f0, f1, f4, f0 /* 802AA70C 002A766C D0 41 00 FC */ stfs f2, 0xfc(r1) /* 802AA710 002A7670 FC 00 18 40 */ fcmpo cr0, f0, f3 /* 802AA714 002A7674 D1 21 01 00 */ stfs f9, 0x100(r1) /* 802AA718 002A7678 D0 21 01 04 */ stfs f1, 0x104(r1) /* 802AA71C 002A767C 7C 00 00 26 */ mfcr r0 /* 802AA720 002A7680 C8 02 C1 C0 */ lfd f0, lbl_805ADEE0@sda21(r2) /* 802AA724 002A7684 54 00 0F FE */ srwi r0, r0, 0x1f /* 802AA728 002A7688 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 802AA72C 002A768C 98 01 00 1A */ stb r0, 0x1a(r1) /* 802AA730 002A7690 4C 41 13 82 */ cror 2, 1, 2 /* 802AA734 002A7694 40 82 01 28 */ bne lbl_802AA85C /* 802AA738 002A7698 28 04 00 00 */ cmplwi r4, 0 /* 802AA73C 002A769C 40 82 01 20 */ bne lbl_802AA85C /* 802AA740 002A76A0 28 03 00 00 */ cmplwi r3, 0 /* 802AA744 002A76A4 40 82 01 18 */ bne lbl_802AA85C /* 802AA748 002A76A8 28 00 00 00 */ cmplwi r0, 0 /* 802AA74C 002A76AC 40 82 01 10 */ bne lbl_802AA85C /* 802AA750 002A76B0 C8 13 00 00 */ lfd f0, 0(r19) /* 802AA754 002A76B4 FC 1C 00 40 */ fcmpo cr0, f28, f0 /* 802AA758 002A76B8 40 80 01 04 */ bge lbl_802AA85C /* 802AA75C 002A76BC EC 07 03 32 */ fmuls f0, f7, f12 /* 802AA760 002A76C0 7E 25 8B 78 */ mr r5, r17 /* 802AA764 002A76C4 EC 47 02 F2 */ fmuls f2, f7, f11 /* 802AA768 002A76C8 38 61 03 38 */ addi r3, r1, 0x338 /* 802AA76C 002A76CC EC 27 03 72 */ fmuls f1, f7, f13 /* 802AA770 002A76D0 38 81 00 D8 */ addi r4, r1, 0xd8 /* 802AA774 002A76D4 EC 9A 00 28 */ fsubs f4, f26, f0 /* 802AA778 002A76D8 D0 01 00 D0 */ stfs f0, 0xd0(r1) /* 802AA77C 002A76DC EC 7B 10 28 */ fsubs f3, f27, f2 /* 802AA780 002A76E0 38 C1 00 48 */ addi r6, r1, 0x48 /* 802AA784 002A76E4 EC 19 08 28 */ fsubs f0, f25, f1 /* 802AA788 002A76E8 D0 21 00 CC */ stfs f1, 0xcc(r1) /* 802AA78C 002A76EC D0 41 00 D4 */ stfs f2, 0xd4(r1) /* 802AA790 002A76F0 38 E1 01 D4 */ addi r7, r1, 0x1d4 /* 802AA794 002A76F4 D0 01 00 D8 */ stfs f0, 0xd8(r1) /* 802AA798 002A76F8 D0 81 00 DC */ stfs f4, 0xdc(r1) /* 802AA79C 002A76FC D0 61 00 E0 */ stfs f3, 0xe0(r1) /* 802AA7A0 002A7700 48 02 3C A9 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AA7A4 002A7704 80 61 03 38 */ lwz r3, 0x338(r1) /* 802AA7A8 002A7708 3A E0 00 01 */ li r23, 1 /* 802AA7AC 002A770C 80 01 03 3C */ lwz r0, 0x33c(r1) /* 802AA7B0 002A7710 90 74 00 00 */ stw r3, 0(r20) /* 802AA7B4 002A7714 90 14 00 04 */ stw r0, 4(r20) /* 802AA7B8 002A7718 80 01 03 40 */ lwz r0, 0x340(r1) /* 802AA7BC 002A771C 90 14 00 08 */ stw r0, 8(r20) /* 802AA7C0 002A7720 80 61 03 44 */ lwz r3, 0x344(r1) /* 802AA7C4 002A7724 80 01 03 48 */ lwz r0, 0x348(r1) /* 802AA7C8 002A7728 90 74 00 0C */ stw r3, 0xc(r20) /* 802AA7CC 002A772C 90 14 00 10 */ stw r0, 0x10(r20) /* 802AA7D0 002A7730 80 01 03 4C */ lwz r0, 0x34c(r1) /* 802AA7D4 002A7734 90 14 00 14 */ stw r0, 0x14(r20) /* 802AA7D8 002A7738 80 61 03 50 */ lwz r3, 0x350(r1) /* 802AA7DC 002A773C 80 01 03 54 */ lwz r0, 0x354(r1) /* 802AA7E0 002A7740 90 74 00 18 */ stw r3, 0x18(r20) /* 802AA7E4 002A7744 90 14 00 1C */ stw r0, 0x1c(r20) /* 802AA7E8 002A7748 80 01 03 58 */ lwz r0, 0x358(r1) /* 802AA7EC 002A774C 90 14 00 20 */ stw r0, 0x20(r20) /* 802AA7F0 002A7750 80 61 03 5C */ lwz r3, 0x35c(r1) /* 802AA7F4 002A7754 80 01 03 60 */ lwz r0, 0x360(r1) /* 802AA7F8 002A7758 90 74 00 24 */ stw r3, 0x24(r20) /* 802AA7FC 002A775C 90 14 00 28 */ stw r0, 0x28(r20) /* 802AA800 002A7760 80 01 03 64 */ lwz r0, 0x364(r1) /* 802AA804 002A7764 90 14 00 2C */ stw r0, 0x2c(r20) /* 802AA808 002A7768 88 01 03 68 */ lbz r0, 0x368(r1) /* 802AA80C 002A776C 98 14 00 30 */ stb r0, 0x30(r20) /* 802AA810 002A7770 88 01 03 69 */ lbz r0, 0x369(r1) /* 802AA814 002A7774 98 14 00 31 */ stb r0, 0x31(r20) /* 802AA818 002A7778 C8 01 03 70 */ lfd f0, 0x370(r1) /* 802AA81C 002A777C D8 14 00 38 */ stfd f0, 0x38(r20) /* 802AA820 002A7780 C8 01 03 78 */ lfd f0, 0x378(r1) /* 802AA824 002A7784 D8 14 00 40 */ stfd f0, 0x40(r20) /* 802AA828 002A7788 80 61 03 80 */ lwz r3, 0x380(r1) /* 802AA82C 002A778C 80 01 03 84 */ lwz r0, 0x384(r1) /* 802AA830 002A7790 90 74 00 48 */ stw r3, 0x48(r20) /* 802AA834 002A7794 90 14 00 4C */ stw r0, 0x4c(r20) /* 802AA838 002A7798 80 01 03 88 */ lwz r0, 0x388(r1) /* 802AA83C 002A779C 90 14 00 50 */ stw r0, 0x50(r20) /* 802AA840 002A77A0 80 61 03 8C */ lwz r3, 0x38c(r1) /* 802AA844 002A77A4 80 01 03 90 */ lwz r0, 0x390(r1) /* 802AA848 002A77A8 90 74 00 54 */ stw r3, 0x54(r20) /* 802AA84C 002A77AC 90 14 00 58 */ stw r0, 0x58(r20) /* 802AA850 002A77B0 80 01 03 94 */ lwz r0, 0x394(r1) /* 802AA854 002A77B4 90 14 00 5C */ stw r0, 0x5c(r20) /* 802AA858 002A77B8 DB 93 00 00 */ stfd f28, 0(r19) lbl_802AA85C: /* 802AA85C 002A77BC C0 30 00 04 */ lfs f1, 4(r16) /* 802AA860 002A77C0 C0 01 02 54 */ lfs f0, 0x254(r1) /* 802AA864 002A77C4 C0 50 00 00 */ lfs f2, 0(r16) /* 802AA868 002A77C8 EC A1 00 28 */ fsubs f5, f1, f0 /* 802AA86C 002A77CC C0 21 02 50 */ lfs f1, 0x250(r1) /* 802AA870 002A77D0 C0 01 01 D8 */ lfs f0, 0x1d8(r1) /* 802AA874 002A77D4 EC 62 08 28 */ fsubs f3, f2, f1 /* 802AA878 002A77D8 C0 90 00 08 */ lfs f4, 8(r16) /* 802AA87C 002A77DC C0 41 02 58 */ lfs f2, 0x258(r1) /* 802AA880 002A77E0 EC 05 00 32 */ fmuls f0, f5, f0 /* 802AA884 002A77E4 C0 21 01 D4 */ lfs f1, 0x1d4(r1) /* 802AA888 002A77E8 EC 84 10 28 */ fsubs f4, f4, f2 /* 802AA88C 002A77EC C0 41 01 DC */ lfs f2, 0x1dc(r1) /* 802AA890 002A77F0 EC 23 00 7A */ fmadds f1, f3, f1, f0 /* 802AA894 002A77F4 C0 10 00 0C */ lfs f0, 0xc(r16) /* 802AA898 002A77F8 D0 61 00 C0 */ stfs f3, 0xc0(r1) /* 802AA89C 002A77FC EC 24 08 BA */ fmadds f1, f4, f2, f1 /* 802AA8A0 002A7800 D0 A1 00 C4 */ stfs f5, 0xc4(r1) /* 802AA8A4 002A7804 D0 81 00 C8 */ stfs f4, 0xc8(r1) /* 802AA8A8 002A7808 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802AA8AC 002A780C 4C 40 13 82 */ cror 2, 0, 2 /* 802AA8B0 002A7810 7C A0 00 26 */ mfcr r5 /* 802AA8B4 002A7814 A0 62 C1 B0 */ lhz r3, lbl_805ADED0@sda21(r2) /* 802AA8B8 002A7818 88 02 C1 B2 */ lbz r0, lbl_805ADED2@sda21(r2) /* 802AA8BC 002A781C 7D C4 73 78 */ mr r4, r14 /* 802AA8C0 002A7820 B0 61 00 14 */ sth r3, 0x14(r1) /* 802AA8C4 002A7824 54 B6 1F FE */ rlwinm r22, r5, 3, 0x1f, 0x1f /* 802AA8C8 002A7828 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AA8CC 002A782C 98 01 00 16 */ stb r0, 0x16(r1) /* 802AA8D0 002A7830 4B FF D6 7D */ bl GetTriangleEdgeIndices__8COBBTreeCFUs /* 802AA8D4 002A7834 3C 80 80 3F */ lis r4, lbl_803EC438@ha /* 802AA8D8 002A7838 3B 01 02 50 */ addi r24, r1, 0x250 /* 802AA8DC 002A783C 3B 21 00 14 */ addi r25, r1, 0x14 /* 802AA8E0 002A7840 7C 7D 1B 78 */ mr r29, r3 /* 802AA8E4 002A7844 3B 64 C4 38 */ addi r27, r4, lbl_803EC438@l /* 802AA8E8 002A7848 7F 1C C3 78 */ mr r28, r24 /* 802AA8EC 002A784C 7F 3A CB 78 */ mr r26, r25 /* 802AA8F0 002A7850 3B C1 00 18 */ addi r30, r1, 0x18 /* 802AA8F4 002A7854 3A A0 00 00 */ li r21, 0 lbl_802AA8F8: /* 802AA8F8 002A7858 28 16 00 00 */ cmplwi r22, 0 /* 802AA8FC 002A785C 40 82 00 10 */ bne lbl_802AA90C /* 802AA900 002A7860 88 1E 00 00 */ lbz r0, 0(r30) /* 802AA904 002A7864 28 00 00 00 */ cmplwi r0, 0 /* 802AA908 002A7868 41 82 04 90 */ beq lbl_802AAD98 lbl_802AA90C: /* 802AA90C 002A786C A0 DD 00 00 */ lhz r6, 0(r29) /* 802AA910 002A7870 3C 60 80 59 */ lis r3, lbl_8058BBAC@ha /* 802AA914 002A7874 38 63 BB AC */ addi r3, r3, lbl_8058BBAC@l /* 802AA918 002A7878 A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802AA91C 002A787C 54 C4 08 3C */ slwi r4, r6, 1 /* 802AA920 002A7880 7C 03 22 2E */ lhzx r0, r3, r4 /* 802AA924 002A7884 7C 00 28 40 */ cmplw r0, r5 /* 802AA928 002A7888 41 82 04 70 */ beq lbl_802AAD98 /* 802AA92C 002A788C 7C A3 23 2E */ sthx r5, r3, r4 /* 802AA930 002A7890 80 8F 00 10 */ lwz r4, 0x10(r15) /* 802AA934 002A7894 80 64 00 44 */ lwz r3, 0x44(r4) /* 802AA938 002A7898 80 84 00 24 */ lwz r4, 0x24(r4) /* 802AA93C 002A789C 7C 03 30 AE */ lbzx r0, r3, r6 /* 802AA940 002A78A0 54 00 10 3A */ slwi r0, r0, 2 /* 802AA944 002A78A4 7F E4 00 2E */ lwzx r31, r4, r0 /* 802AA948 002A78A8 57 E0 01 CF */ rlwinm. r0, r31, 0, 7, 7 /* 802AA94C 002A78AC 40 82 04 4C */ bne lbl_802AAD98 /* 802AA950 002A78B0 80 1B 00 04 */ lwz r0, 4(r27) /* 802AA954 002A78B4 38 81 02 50 */ addi r4, r1, 0x250 /* 802AA958 002A78B8 C0 9C 00 04 */ lfs f4, 4(r28) /* 802AA95C 002A78BC 38 61 01 C8 */ addi r3, r1, 0x1c8 /* 802AA960 002A78C0 1C 00 00 0C */ mulli r0, r0, 0xc /* 802AA964 002A78C4 C0 5C 00 08 */ lfs f2, 8(r28) /* 802AA968 002A78C8 C0 1C 00 00 */ lfs f0, 0(r28) /* 802AA96C 002A78CC 7C 84 02 14 */ add r4, r4, r0 /* 802AA970 002A78D0 C0 A4 00 04 */ lfs f5, 4(r4) /* 802AA974 002A78D4 C0 64 00 08 */ lfs f3, 8(r4) /* 802AA978 002A78D8 C0 24 00 00 */ lfs f1, 0(r4) /* 802AA97C 002A78DC EC 85 20 28 */ fsubs f4, f5, f4 /* 802AA980 002A78E0 EC 43 10 28 */ fsubs f2, f3, f2 /* 802AA984 002A78E4 EC 01 00 28 */ fsubs f0, f1, f0 /* 802AA988 002A78E8 D0 81 01 CC */ stfs f4, 0x1cc(r1) /* 802AA98C 002A78EC D0 01 01 C8 */ stfs f0, 0x1c8(r1) /* 802AA990 002A78F0 D0 41 01 D0 */ stfs f2, 0x1d0(r1) /* 802AA994 002A78F4 48 06 9F 25 */ bl Magnitude__9CVector3fCFv /* 802AA998 002A78F8 C0 42 C1 B8 */ lfs f2, lbl_805ADED8@sda21(r2) /* 802AA99C 002A78FC C0 01 01 CC */ lfs f0, 0x1cc(r1) /* 802AA9A0 002A7900 EC E2 08 24 */ fdivs f7, f2, f1 /* 802AA9A4 002A7904 C0 A1 01 C8 */ lfs f5, 0x1c8(r1) /* 802AA9A8 002A7908 C0 61 01 D0 */ lfs f3, 0x1d0(r1) /* 802AA9AC 002A790C C2 92 00 04 */ lfs f20, 4(r18) /* 802AA9B0 002A7910 C0 52 00 00 */ lfs f2, 0(r18) /* 802AA9B4 002A7914 C0 D2 00 08 */ lfs f6, 8(r18) /* 802AA9B8 002A7918 ED 80 01 F2 */ fmuls f12, f0, f7 /* 802AA9BC 002A791C C0 90 00 04 */ lfs f4, 4(r16) /* 802AA9C0 002A7920 ED A5 01 F2 */ fmuls f13, f5, f7 /* 802AA9C4 002A7924 C0 1C 00 04 */ lfs f0, 4(r28) /* 802AA9C8 002A7928 ED 43 01 F2 */ fmuls f10, f3, f7 /* 802AA9CC 002A792C C1 30 00 00 */ lfs f9, 0(r16) /* 802AA9D0 002A7930 EC 74 03 32 */ fmuls f3, f20, f12 /* 802AA9D4 002A7934 C1 1C 00 00 */ lfs f8, 0(r28) /* 802AA9D8 002A7938 EC 04 00 28 */ fsubs f0, f4, f0 /* 802AA9DC 002A793C C0 F0 00 08 */ lfs f7, 8(r16) /* 802AA9E0 002A7940 C0 BC 00 08 */ lfs f5, 8(r28) /* 802AA9E4 002A7944 EE 69 40 28 */ fsubs f19, f9, f8 /* 802AA9E8 002A7948 EC 62 1B 7A */ fmadds f3, f2, f13, f3 /* 802AA9EC 002A794C C1 62 C1 B4 */ lfs f11, lbl_805ADED4@sda21(r2) /* 802AA9F0 002A7950 EC 80 03 32 */ fmuls f4, f0, f12 /* 802AA9F4 002A7954 D1 A1 01 C8 */ stfs f13, 0x1c8(r1) /* 802AA9F8 002A7958 EE 47 28 28 */ fsubs f18, f7, f5 /* 802AA9FC 002A795C EC A6 1A BA */ fmadds f5, f6, f10, f3 /* 802AAA00 002A7960 EC 93 23 7A */ fmadds f4, f19, f13, f4 /* 802AAA04 002A7964 D1 81 01 CC */ stfs f12, 0x1cc(r1) /* 802AAA08 002A7968 EC 65 03 32 */ fmuls f3, f5, f12 /* 802AAA0C 002A796C D1 41 01 D0 */ stfs f10, 0x1d0(r1) /* 802AAA10 002A7970 EC E5 03 72 */ fmuls f7, f5, f13 /* 802AAA14 002A7974 EC 92 22 BA */ fmadds f4, f18, f10, f4 /* 802AAA18 002A7978 EE 94 18 28 */ fsubs f20, f20, f3 /* 802AAA1C 002A797C ED 05 02 B2 */ fmuls f8, f5, f10 /* 802AAA20 002A7980 EC 62 38 28 */ fsubs f3, f2, f7 /* 802AAA24 002A7984 EC F4 05 32 */ fmuls f7, f20, f20 /* 802AAA28 002A7988 EC 46 40 28 */ fsubs f2, f6, f8 /* 802AAA2C 002A798C ED 24 03 72 */ fmuls f9, f4, f13 /* 802AAA30 002A7990 EC C3 38 FA */ fmadds f6, f3, f3, f7 /* 802AAA34 002A7994 ED 04 03 32 */ fmuls f8, f4, f12 /* 802AAA38 002A7998 EC E4 02 B2 */ fmuls f7, f4, f10 /* 802AAA3C 002A799C EC C2 30 BA */ fmadds f6, f2, f2, f6 /* 802AAA40 002A79A0 ED B3 48 28 */ fsubs f13, f19, f9 /* 802AAA44 002A79A4 EC 00 40 28 */ fsubs f0, f0, f8 /* 802AAA48 002A79A8 FC 06 58 40 */ fcmpo cr0, f6, f11 /* 802AAA4C 002A79AC ED 92 38 28 */ fsubs f12, f18, f7 /* 802AAA50 002A79B0 40 81 03 48 */ ble lbl_802AAD98 /* 802AAA54 002A79B4 EC E0 00 32 */ fmuls f7, f0, f0 /* 802AAA58 002A79B8 C1 50 00 0C */ lfs f10, 0xc(r16) /* 802AAA5C 002A79BC ED 20 05 32 */ fmuls f9, f0, f20 /* 802AAA60 002A79C0 C1 02 C1 CC */ lfs f8, lbl_805ADEEC@sda21(r2) /* 802AAA64 002A79C4 EC 0A 02 B2 */ fmuls f0, f10, f10 /* 802AAA68 002A79C8 C1 42 C1 C8 */ lfs f10, lbl_805ADEE8@sda21(r2) /* 802AAA6C 002A79CC EC ED 3B 7A */ fmadds f7, f13, f13, f7 /* 802AAA70 002A79D0 ED 2D 48 FA */ fmadds f9, f13, f3, f9 /* 802AAA74 002A79D4 ED 08 01 B2 */ fmuls f8, f8, f6 /* 802AAA78 002A79D8 EC 6C 3B 3A */ fmadds f3, f12, f12, f7 /* 802AAA7C 002A79DC EC EC 48 BA */ fmadds f7, f12, f2, f9 /* 802AAA80 002A79E0 EC 43 00 28 */ fsubs f2, f3, f0 /* 802AAA84 002A79E4 EC 0A 01 F2 */ fmuls f0, f10, f7 /* 802AAA88 002A79E8 EC 48 00 B2 */ fmuls f2, f8, f2 /* 802AAA8C 002A79EC ED 20 10 38 */ fmsubs f9, f0, f0, f2 /* 802AAA90 002A79F0 FC 09 58 40 */ fcmpo cr0, f9, f11 /* 802AAA94 002A79F4 4C 41 13 82 */ cror 2, 1, 2 /* 802AAA98 002A79F8 40 82 02 EC */ bne lbl_802AAD84 /* 802AAA9C 002A79FC C9 02 C1 D0 */ lfd f8, lbl_805ADEF0@sda21(r2) /* 802AAAA0 002A7A00 C8 E2 C1 C0 */ lfd f7, lbl_805ADEE0@sda21(r2) /* 802AAAA4 002A7A04 FC 48 30 24 */ fdiv f2, f8, f6 /* 802AAAA8 002A7A08 FC 09 38 40 */ fcmpo cr0, f9, f7 /* 802AAAAC 002A7A0C 40 81 00 54 */ ble lbl_802AAB00 /* 802AAAB0 002A7A10 FC C0 48 34 */ frsqrte f6, f9 /* 802AAAB4 002A7A14 C8 E2 C1 D8 */ lfd f7, lbl_805ADEF8@sda21(r2) /* 802AAAB8 002A7A18 FC 66 01 B2 */ fmul f3, f6, f6 /* 802AAABC 002A7A1C FC C8 01 B2 */ fmul f6, f8, f6 /* 802AAAC0 002A7A20 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802AAAC4 002A7A24 FC C6 00 F2 */ fmul f6, f6, f3 /* 802AAAC8 002A7A28 FC 66 01 B2 */ fmul f3, f6, f6 /* 802AAACC 002A7A2C FC C8 01 B2 */ fmul f6, f8, f6 /* 802AAAD0 002A7A30 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802AAAD4 002A7A34 FC C6 00 F2 */ fmul f6, f6, f3 /* 802AAAD8 002A7A38 FC 66 01 B2 */ fmul f3, f6, f6 /* 802AAADC 002A7A3C FC C8 01 B2 */ fmul f6, f8, f6 /* 802AAAE0 002A7A40 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802AAAE4 002A7A44 FC C6 00 F2 */ fmul f6, f6, f3 /* 802AAAE8 002A7A48 FC 66 01 B2 */ fmul f3, f6, f6 /* 802AAAEC 002A7A4C FC C8 01 B2 */ fmul f6, f8, f6 /* 802AAAF0 002A7A50 FC 69 38 FC */ fnmsub f3, f9, f3, f7 /* 802AAAF4 002A7A54 FC 66 00 F2 */ fmul f3, f6, f3 /* 802AAAF8 002A7A58 FC E9 00 F2 */ fmul f7, f9, f3 /* 802AAAFC 002A7A5C 48 00 00 2C */ b lbl_802AAB28 lbl_802AAB00: /* 802AAB00 002A7A60 FC 07 48 00 */ fcmpu cr0, f7, f9 /* 802AAB04 002A7A64 40 82 00 08 */ bne lbl_802AAB0C /* 802AAB08 002A7A68 48 00 00 20 */ b lbl_802AAB28 lbl_802AAB0C: /* 802AAB0C 002A7A6C FC 09 38 00 */ fcmpu cr0, f9, f7 /* 802AAB10 002A7A70 41 82 00 10 */ beq lbl_802AAB20 /* 802AAB14 002A7A74 3C 60 80 5B */ lis r3, lbl_805A8BA0@ha /* 802AAB18 002A7A78 C0 E3 8B A0 */ lfs f7, lbl_805A8BA0@l(r3) /* 802AAB1C 002A7A7C 48 00 00 0C */ b lbl_802AAB28 lbl_802AAB20: /* 802AAB20 002A7A80 3C 60 80 5B */ lis r3, lbl_805A8BA4@ha /* 802AAB24 002A7A84 C0 E3 8B A4 */ lfs f7, lbl_805A8BA4@l(r3) lbl_802AAB28: /* 802AAB28 002A7A88 FC 60 00 50 */ fneg f3, f0 /* 802AAB2C 002A7A8C C8 02 C1 C0 */ lfd f0, lbl_805ADEE0@sda21(r2) /* 802AAB30 002A7A90 FC 63 38 28 */ fsub f3, f3, f7 /* 802AAB34 002A7A94 FE E2 00 F2 */ fmul f23, f2, f3 /* 802AAB38 002A7A98 FC 17 00 40 */ fcmpo cr0, f23, f0 /* 802AAB3C 002A7A9C 4C 41 13 82 */ cror 2, 1, 2 /* 802AAB40 002A7AA0 40 82 02 58 */ bne lbl_802AAD98 /* 802AAB44 002A7AA4 FC 77 21 7A */ fmadd f3, f23, f5, f4 /* 802AAB48 002A7AA8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802AAB4C 002A7AAC 4C 41 13 82 */ cror 2, 1, 2 /* 802AAB50 002A7AB0 40 82 01 D8 */ bne lbl_802AAD28 /* 802AAB54 002A7AB4 FC 03 08 40 */ fcmpo cr0, f3, f1 /* 802AAB58 002A7AB8 4C 40 13 82 */ cror 2, 0, 2 /* 802AAB5C 002A7ABC 40 82 01 CC */ bne lbl_802AAD28 /* 802AAB60 002A7AC0 C8 13 00 00 */ lfd f0, 0(r19) /* 802AAB64 002A7AC4 FC 17 00 40 */ fcmpo cr0, f23, f0 /* 802AAB68 002A7AC8 40 80 01 C0 */ bge lbl_802AAD28 /* 802AAB6C 002A7ACC FD 00 18 18 */ frsp f8, f3 /* 802AAB70 002A7AD0 C0 21 01 CC */ lfs f1, 0x1cc(r1) /* 802AAB74 002A7AD4 C0 01 01 D0 */ lfs f0, 0x1d0(r1) /* 802AAB78 002A7AD8 FC 60 B8 18 */ frsp f3, f23 /* 802AAB7C 002A7ADC C0 81 01 C8 */ lfs f4, 0x1c8(r1) /* 802AAB80 002A7AE0 38 61 00 B4 */ addi r3, r1, 0xb4 /* 802AAB84 002A7AE4 C0 52 00 04 */ lfs f2, 4(r18) /* 802AAB88 002A7AE8 EC E8 00 72 */ fmuls f7, f8, f1 /* 802AAB8C 002A7AEC C0 32 00 08 */ lfs f1, 8(r18) /* 802AAB90 002A7AF0 EC A8 00 32 */ fmuls f5, f8, f0 /* 802AAB94 002A7AF4 C0 12 00 00 */ lfs f0, 0(r18) /* 802AAB98 002A7AF8 ED 63 00 B2 */ fmuls f11, f3, f2 /* 802AAB9C 002A7AFC ED 43 00 72 */ fmuls f10, f3, f1 /* 802AABA0 002A7B00 EC 43 00 32 */ fmuls f2, f3, f0 /* 802AABA4 002A7B04 C1 3C 00 04 */ lfs f9, 4(r28) /* 802AABA8 002A7B08 C0 DC 00 08 */ lfs f6, 8(r28) /* 802AABAC 002A7B0C EC 68 01 32 */ fmuls f3, f8, f4 /* 802AABB0 002A7B10 C0 9C 00 00 */ lfs f4, 0(r28) /* 802AABB4 002A7B14 C0 10 00 04 */ lfs f0, 4(r16) /* 802AABB8 002A7B18 C0 30 00 08 */ lfs f1, 8(r16) /* 802AABBC 002A7B1C EC E9 38 2A */ fadds f7, f9, f7 /* 802AABC0 002A7B20 ED 00 58 2A */ fadds f8, f0, f11 /* 802AABC4 002A7B24 C0 10 00 00 */ lfs f0, 0(r16) /* 802AABC8 002A7B28 EC A6 28 2A */ fadds f5, f6, f5 /* 802AABCC 002A7B2C D0 41 00 90 */ stfs f2, 0x90(r1) /* 802AABD0 002A7B30 EC C1 50 2A */ fadds f6, f1, f10 /* 802AABD4 002A7B34 EC 64 18 2A */ fadds f3, f4, f3 /* 802AABD8 002A7B38 EC 20 10 2A */ fadds f1, f0, f2 /* 802AABDC 002A7B3C D0 E1 01 C0 */ stfs f7, 0x1c0(r1) /* 802AABE0 002A7B40 EC 88 38 28 */ fsubs f4, f8, f7 /* 802AABE4 002A7B44 38 81 00 A8 */ addi r4, r1, 0xa8 /* 802AABE8 002A7B48 EC 46 28 28 */ fsubs f2, f6, f5 /* 802AABEC 002A7B4C EC 01 18 28 */ fsubs f0, f1, f3 /* 802AABF0 002A7B50 D0 61 01 BC */ stfs f3, 0x1bc(r1) /* 802AABF4 002A7B54 D0 A1 01 C4 */ stfs f5, 0x1c4(r1) /* 802AABF8 002A7B58 D1 61 00 94 */ stfs f11, 0x94(r1) /* 802AABFC 002A7B5C D1 41 00 98 */ stfs f10, 0x98(r1) /* 802AAC00 002A7B60 D0 21 00 9C */ stfs f1, 0x9c(r1) /* 802AAC04 002A7B64 D1 01 00 A0 */ stfs f8, 0xa0(r1) /* 802AAC08 002A7B68 D0 C1 00 A4 */ stfs f6, 0xa4(r1) /* 802AAC0C 002A7B6C D0 01 00 A8 */ stfs f0, 0xa8(r1) /* 802AAC10 002A7B70 D0 81 00 AC */ stfs f4, 0xac(r1) /* 802AAC14 002A7B74 D0 41 00 B0 */ stfs f2, 0xb0(r1) /* 802AAC18 002A7B78 48 06 9C 39 */ bl AsNormalized__9CVector3fCFv /* 802AAC1C 002A7B7C C0 41 00 B4 */ lfs f2, 0xb4(r1) /* 802AAC20 002A7B80 38 00 00 00 */ li r0, 0 /* 802AAC24 002A7B84 C0 21 00 B8 */ lfs f1, 0xb8(r1) /* 802AAC28 002A7B88 7E 25 8B 78 */ mr r5, r17 /* 802AAC2C 002A7B8C C0 01 00 BC */ lfs f0, 0xbc(r1) /* 802AAC30 002A7B90 38 61 02 D8 */ addi r3, r1, 0x2d8 /* 802AAC34 002A7B94 D0 41 01 B0 */ stfs f2, 0x1b0(r1) /* 802AAC38 002A7B98 38 81 01 BC */ addi r4, r1, 0x1bc /* 802AAC3C 002A7B9C 38 C1 00 28 */ addi r6, r1, 0x28 /* 802AAC40 002A7BA0 38 E1 01 B0 */ addi r7, r1, 0x1b0 /* 802AAC44 002A7BA4 D0 21 01 B4 */ stfs f1, 0x1b4(r1) /* 802AAC48 002A7BA8 D0 01 01 B8 */ stfs f0, 0x1b8(r1) /* 802AAC4C 002A7BAC 93 E1 00 2C */ stw r31, 0x2c(r1) /* 802AAC50 002A7BB0 90 01 00 28 */ stw r0, 0x28(r1) /* 802AAC54 002A7BB4 48 02 37 F5 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AAC58 002A7BB8 80 A1 02 D8 */ lwz r5, 0x2d8(r1) /* 802AAC5C 002A7BBC 38 80 00 00 */ li r4, 0 /* 802AAC60 002A7BC0 80 01 02 DC */ lwz r0, 0x2dc(r1) /* 802AAC64 002A7BC4 38 61 00 14 */ addi r3, r1, 0x14 /* 802AAC68 002A7BC8 98 9A 00 00 */ stb r4, 0(r26) /* 802AAC6C 002A7BCC 3A E0 00 01 */ li r23, 1 /* 802AAC70 002A7BD0 90 B4 00 00 */ stw r5, 0(r20) /* 802AAC74 002A7BD4 90 14 00 04 */ stw r0, 4(r20) /* 802AAC78 002A7BD8 80 01 02 E0 */ lwz r0, 0x2e0(r1) /* 802AAC7C 002A7BDC 90 14 00 08 */ stw r0, 8(r20) /* 802AAC80 002A7BE0 80 A1 02 E4 */ lwz r5, 0x2e4(r1) /* 802AAC84 002A7BE4 80 01 02 E8 */ lwz r0, 0x2e8(r1) /* 802AAC88 002A7BE8 90 B4 00 0C */ stw r5, 0xc(r20) /* 802AAC8C 002A7BEC 90 14 00 10 */ stw r0, 0x10(r20) /* 802AAC90 002A7BF0 80 01 02 EC */ lwz r0, 0x2ec(r1) /* 802AAC94 002A7BF4 90 14 00 14 */ stw r0, 0x14(r20) /* 802AAC98 002A7BF8 80 A1 02 F0 */ lwz r5, 0x2f0(r1) /* 802AAC9C 002A7BFC 80 01 02 F4 */ lwz r0, 0x2f4(r1) /* 802AACA0 002A7C00 90 B4 00 18 */ stw r5, 0x18(r20) /* 802AACA4 002A7C04 90 14 00 1C */ stw r0, 0x1c(r20) /* 802AACA8 002A7C08 80 01 02 F8 */ lwz r0, 0x2f8(r1) /* 802AACAC 002A7C0C 90 14 00 20 */ stw r0, 0x20(r20) /* 802AACB0 002A7C10 80 A1 02 FC */ lwz r5, 0x2fc(r1) /* 802AACB4 002A7C14 80 01 03 00 */ lwz r0, 0x300(r1) /* 802AACB8 002A7C18 90 B4 00 24 */ stw r5, 0x24(r20) /* 802AACBC 002A7C1C 90 14 00 28 */ stw r0, 0x28(r20) /* 802AACC0 002A7C20 80 01 03 04 */ lwz r0, 0x304(r1) /* 802AACC4 002A7C24 90 14 00 2C */ stw r0, 0x2c(r20) /* 802AACC8 002A7C28 88 01 03 08 */ lbz r0, 0x308(r1) /* 802AACCC 002A7C2C 98 14 00 30 */ stb r0, 0x30(r20) /* 802AACD0 002A7C30 88 01 03 09 */ lbz r0, 0x309(r1) /* 802AACD4 002A7C34 98 14 00 31 */ stb r0, 0x31(r20) /* 802AACD8 002A7C38 C8 01 03 10 */ lfd f0, 0x310(r1) /* 802AACDC 002A7C3C D8 14 00 38 */ stfd f0, 0x38(r20) /* 802AACE0 002A7C40 C8 01 03 18 */ lfd f0, 0x318(r1) /* 802AACE4 002A7C44 D8 14 00 40 */ stfd f0, 0x40(r20) /* 802AACE8 002A7C48 80 A1 03 20 */ lwz r5, 0x320(r1) /* 802AACEC 002A7C4C 80 01 03 24 */ lwz r0, 0x324(r1) /* 802AACF0 002A7C50 90 B4 00 48 */ stw r5, 0x48(r20) /* 802AACF4 002A7C54 90 14 00 4C */ stw r0, 0x4c(r20) /* 802AACF8 002A7C58 80 01 03 28 */ lwz r0, 0x328(r1) /* 802AACFC 002A7C5C 90 14 00 50 */ stw r0, 0x50(r20) /* 802AAD00 002A7C60 80 A1 03 2C */ lwz r5, 0x32c(r1) /* 802AAD04 002A7C64 80 01 03 30 */ lwz r0, 0x330(r1) /* 802AAD08 002A7C68 90 B4 00 54 */ stw r5, 0x54(r20) /* 802AAD0C 002A7C6C 90 14 00 58 */ stw r0, 0x58(r20) /* 802AAD10 002A7C70 80 01 03 34 */ lwz r0, 0x334(r1) /* 802AAD14 002A7C74 90 14 00 5C */ stw r0, 0x5c(r20) /* 802AAD18 002A7C78 DA F3 00 00 */ stfd f23, 0(r19) /* 802AAD1C 002A7C7C 80 1B 00 04 */ lwz r0, 4(r27) /* 802AAD20 002A7C80 7C 83 01 AE */ stbx r4, r3, r0 /* 802AAD24 002A7C84 48 00 00 74 */ b lbl_802AAD98 lbl_802AAD28: /* 802AAD28 002A7C88 C0 50 00 0C */ lfs f2, 0xc(r16) /* 802AAD2C 002A7C8C FC 00 10 50 */ fneg f0, f2 /* 802AAD30 002A7C90 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802AAD34 002A7C94 40 80 00 20 */ bge lbl_802AAD54 /* 802AAD38 002A7C98 C0 02 C1 B4 */ lfs f0, lbl_805ADED4@sda21(r2) /* 802AAD3C 002A7C9C FC 05 00 40 */ fcmpo cr0, f5, f0 /* 802AAD40 002A7CA0 4C 40 13 82 */ cror 2, 0, 2 /* 802AAD44 002A7CA4 40 82 00 10 */ bne lbl_802AAD54 /* 802AAD48 002A7CA8 38 00 00 00 */ li r0, 0 /* 802AAD4C 002A7CAC 98 1A 00 00 */ stb r0, 0(r26) /* 802AAD50 002A7CB0 48 00 00 48 */ b lbl_802AAD98 lbl_802AAD54: /* 802AAD54 002A7CB4 EC 01 10 2A */ fadds f0, f1, f2 /* 802AAD58 002A7CB8 FC 03 00 40 */ fcmpo cr0, f3, f0 /* 802AAD5C 002A7CBC 40 81 00 3C */ ble lbl_802AAD98 /* 802AAD60 002A7CC0 C0 02 C1 B4 */ lfs f0, lbl_805ADED4@sda21(r2) /* 802AAD64 002A7CC4 FC 05 00 40 */ fcmpo cr0, f5, f0 /* 802AAD68 002A7CC8 4C 41 13 82 */ cror 2, 1, 2 /* 802AAD6C 002A7CCC 40 82 00 2C */ bne lbl_802AAD98 /* 802AAD70 002A7CD0 80 1B 00 04 */ lwz r0, 4(r27) /* 802AAD74 002A7CD4 38 61 00 14 */ addi r3, r1, 0x14 /* 802AAD78 002A7CD8 38 80 00 00 */ li r4, 0 /* 802AAD7C 002A7CDC 7C 83 01 AE */ stbx r4, r3, r0 /* 802AAD80 002A7CE0 48 00 00 18 */ b lbl_802AAD98 lbl_802AAD84: /* 802AAD84 002A7CE4 38 80 00 00 */ li r4, 0 /* 802AAD88 002A7CE8 80 1B 00 04 */ lwz r0, 4(r27) /* 802AAD8C 002A7CEC 98 9A 00 00 */ stb r4, 0(r26) /* 802AAD90 002A7CF0 38 61 00 14 */ addi r3, r1, 0x14 /* 802AAD94 002A7CF4 7C 83 01 AE */ stbx r4, r3, r0 lbl_802AAD98: /* 802AAD98 002A7CF8 3A B5 00 01 */ addi r21, r21, 1 /* 802AAD9C 002A7CFC 3B BD 00 02 */ addi r29, r29, 2 /* 802AADA0 002A7D00 2C 15 00 03 */ cmpwi r21, 3 /* 802AADA4 002A7D04 3B 9C 00 0C */ addi r28, r28, 0xc /* 802AADA8 002A7D08 3B 7B 00 04 */ addi r27, r27, 4 /* 802AADAC 002A7D0C 3B 5A 00 01 */ addi r26, r26, 1 /* 802AADB0 002A7D10 3B DE 00 01 */ addi r30, r30, 1 /* 802AADB4 002A7D14 41 80 FB 44 */ blt lbl_802AA8F8 /* 802AADB8 002A7D18 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AADBC 002A7D1C 7D C4 73 78 */ mr r4, r14 /* 802AADC0 002A7D20 38 A1 00 40 */ addi r5, r1, 0x40 /* 802AADC4 002A7D24 4B FF D1 9D */ bl GetTriangleVertexIndices__8COBBTreeCFUsPUs /* 802AADC8 002A7D28 39 C1 00 40 */ addi r14, r1, 0x40 /* 802AADCC 002A7D2C 3A A0 00 00 */ li r21, 0 lbl_802AADD0: /* 802AADD0 002A7D30 88 19 00 00 */ lbz r0, 0(r25) /* 802AADD4 002A7D34 A2 CE 00 00 */ lhz r22, 0(r14) /* 802AADD8 002A7D38 28 00 00 00 */ cmplwi r0, 0 /* 802AADDC 002A7D3C 41 82 02 0C */ beq lbl_802AAFE8 /* 802AADE0 002A7D40 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802AADE4 002A7D44 56 C4 08 3C */ slwi r4, r22, 1 /* 802AADE8 002A7D48 38 63 2B AC */ addi r3, r3, lbl_80572BAC@l /* 802AADEC 002A7D4C A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802AADF0 002A7D50 7C 03 22 2E */ lhzx r0, r3, r4 /* 802AADF4 002A7D54 7C 00 28 40 */ cmplw r0, r5 /* 802AADF8 002A7D58 41 82 02 04 */ beq lbl_802AAFFC /* 802AADFC 002A7D5C 7C A3 23 2E */ sthx r5, r3, r4 /* 802AAE00 002A7D60 7E 04 83 78 */ mr r4, r16 /* 802AAE04 002A7D64 C0 90 00 0C */ lfs f4, 0xc(r16) /* 802AAE08 002A7D68 7E 45 93 78 */ mr r5, r18 /* 802AAE0C 002A7D6C C8 73 00 00 */ lfd f3, 0(r19) /* 802AAE10 002A7D70 38 61 00 80 */ addi r3, r1, 0x80 /* 802AAE14 002A7D74 C0 58 00 00 */ lfs f2, 0(r24) /* 802AAE18 002A7D78 38 C1 00 38 */ addi r6, r1, 0x38 /* 802AAE1C 002A7D7C C0 38 00 04 */ lfs f1, 4(r24) /* 802AAE20 002A7D80 C0 18 00 08 */ lfs f0, 8(r24) /* 802AAE24 002A7D84 D8 61 00 38 */ stfd f3, 0x38(r1) /* 802AAE28 002A7D88 D0 41 00 80 */ stfs f2, 0x80(r1) /* 802AAE2C 002A7D8C D0 21 00 84 */ stfs f1, 0x84(r1) /* 802AAE30 002A7D90 D0 01 00 88 */ stfs f0, 0x88(r1) /* 802AAE34 002A7D94 D0 81 00 8C */ stfs f4, 0x8c(r1) /* 802AAE38 002A7D98 48 02 8B 99 */ bl RaySphereIntersection_Double__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRd /* 802AAE3C 002A7D9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AAE40 002A7DA0 41 82 01 BC */ beq lbl_802AAFFC /* 802AAE44 002A7DA4 C8 21 00 38 */ lfd f1, 0x38(r1) /* 802AAE48 002A7DA8 C8 02 C1 C0 */ lfd f0, lbl_805ADEE0@sda21(r2) /* 802AAE4C 002A7DAC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802AAE50 002A7DB0 4C 41 13 82 */ cror 2, 1, 2 /* 802AAE54 002A7DB4 40 82 01 A8 */ bne lbl_802AAFFC /* 802AAE58 002A7DB8 FC 60 08 18 */ frsp f3, f1 /* 802AAE5C 002A7DBC C0 52 00 04 */ lfs f2, 4(r18) /* 802AAE60 002A7DC0 C0 32 00 08 */ lfs f1, 8(r18) /* 802AAE64 002A7DC4 38 61 00 74 */ addi r3, r1, 0x74 /* 802AAE68 002A7DC8 C0 12 00 00 */ lfs f0, 0(r18) /* 802AAE6C 002A7DCC 38 81 00 68 */ addi r4, r1, 0x68 /* 802AAE70 002A7DD0 EC C3 00 B2 */ fmuls f6, f3, f2 /* 802AAE74 002A7DD4 C0 50 00 04 */ lfs f2, 4(r16) /* 802AAE78 002A7DD8 EC A3 00 72 */ fmuls f5, f3, f1 /* 802AAE7C 002A7DDC C0 30 00 08 */ lfs f1, 8(r16) /* 802AAE80 002A7DE0 EC 83 00 32 */ fmuls f4, f3, f0 /* 802AAE84 002A7DE4 C0 10 00 00 */ lfs f0, 0(r16) /* 802AAE88 002A7DE8 ED 02 30 2A */ fadds f8, f2, f6 /* 802AAE8C 002A7DEC C0 58 00 04 */ lfs f2, 4(r24) /* 802AAE90 002A7DF0 EC E1 28 2A */ fadds f7, f1, f5 /* 802AAE94 002A7DF4 C0 38 00 08 */ lfs f1, 8(r24) /* 802AAE98 002A7DF8 EC 60 20 2A */ fadds f3, f0, f4 /* 802AAE9C 002A7DFC C0 18 00 00 */ lfs f0, 0(r24) /* 802AAEA0 002A7E00 EC 48 10 28 */ fsubs f2, f8, f2 /* 802AAEA4 002A7E04 D0 81 00 50 */ stfs f4, 0x50(r1) /* 802AAEA8 002A7E08 EC 27 08 28 */ fsubs f1, f7, f1 /* 802AAEAC 002A7E0C EC 03 00 28 */ fsubs f0, f3, f0 /* 802AAEB0 002A7E10 D0 C1 00 54 */ stfs f6, 0x54(r1) /* 802AAEB4 002A7E14 D0 A1 00 58 */ stfs f5, 0x58(r1) /* 802AAEB8 002A7E18 D0 61 00 5C */ stfs f3, 0x5c(r1) /* 802AAEBC 002A7E1C D1 01 00 60 */ stfs f8, 0x60(r1) /* 802AAEC0 002A7E20 D0 E1 00 64 */ stfs f7, 0x64(r1) /* 802AAEC4 002A7E24 D0 01 00 68 */ stfs f0, 0x68(r1) /* 802AAEC8 002A7E28 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 802AAECC 002A7E2C D0 21 00 70 */ stfs f1, 0x70(r1) /* 802AAED0 002A7E30 48 06 99 81 */ bl AsNormalized__9CVector3fCFv /* 802AAED4 002A7E34 C0 41 00 74 */ lfs f2, 0x74(r1) /* 802AAED8 002A7E38 38 00 00 00 */ li r0, 0 /* 802AAEDC 002A7E3C C0 21 00 78 */ lfs f1, 0x78(r1) /* 802AAEE0 002A7E40 7F 04 C3 78 */ mr r4, r24 /* 802AAEE4 002A7E44 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 802AAEE8 002A7E48 7E 25 8B 78 */ mr r5, r17 /* 802AAEEC 002A7E4C D0 41 01 A4 */ stfs f2, 0x1a4(r1) /* 802AAEF0 002A7E50 38 61 02 78 */ addi r3, r1, 0x278 /* 802AAEF4 002A7E54 81 2F 00 10 */ lwz r9, 0x10(r15) /* 802AAEF8 002A7E58 38 C1 00 20 */ addi r6, r1, 0x20 /* 802AAEFC 002A7E5C D0 21 01 A8 */ stfs f1, 0x1a8(r1) /* 802AAF00 002A7E60 38 E1 01 A4 */ addi r7, r1, 0x1a4 /* 802AAF04 002A7E64 D0 01 01 AC */ stfs f0, 0x1ac(r1) /* 802AAF08 002A7E68 81 09 00 34 */ lwz r8, 0x34(r9) /* 802AAF0C 002A7E6C 81 29 00 24 */ lwz r9, 0x24(r9) /* 802AAF10 002A7E70 7D 08 B0 AE */ lbzx r8, r8, r22 /* 802AAF14 002A7E74 55 08 10 3A */ slwi r8, r8, 2 /* 802AAF18 002A7E78 7D 09 40 2E */ lwzx r8, r9, r8 /* 802AAF1C 002A7E7C 91 01 00 24 */ stw r8, 0x24(r1) /* 802AAF20 002A7E80 90 01 00 20 */ stw r0, 0x20(r1) /* 802AAF24 002A7E84 48 02 35 25 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AAF28 002A7E88 80 61 02 78 */ lwz r3, 0x278(r1) /* 802AAF2C 002A7E8C 3A E0 00 01 */ li r23, 1 /* 802AAF30 002A7E90 80 01 02 7C */ lwz r0, 0x27c(r1) /* 802AAF34 002A7E94 90 74 00 00 */ stw r3, 0(r20) /* 802AAF38 002A7E98 90 14 00 04 */ stw r0, 4(r20) /* 802AAF3C 002A7E9C 80 01 02 80 */ lwz r0, 0x280(r1) /* 802AAF40 002A7EA0 90 14 00 08 */ stw r0, 8(r20) /* 802AAF44 002A7EA4 80 61 02 84 */ lwz r3, 0x284(r1) /* 802AAF48 002A7EA8 80 01 02 88 */ lwz r0, 0x288(r1) /* 802AAF4C 002A7EAC 90 74 00 0C */ stw r3, 0xc(r20) /* 802AAF50 002A7EB0 90 14 00 10 */ stw r0, 0x10(r20) /* 802AAF54 002A7EB4 80 01 02 8C */ lwz r0, 0x28c(r1) /* 802AAF58 002A7EB8 90 14 00 14 */ stw r0, 0x14(r20) /* 802AAF5C 002A7EBC 80 61 02 90 */ lwz r3, 0x290(r1) /* 802AAF60 002A7EC0 80 01 02 94 */ lwz r0, 0x294(r1) /* 802AAF64 002A7EC4 90 74 00 18 */ stw r3, 0x18(r20) /* 802AAF68 002A7EC8 90 14 00 1C */ stw r0, 0x1c(r20) /* 802AAF6C 002A7ECC 80 01 02 98 */ lwz r0, 0x298(r1) /* 802AAF70 002A7ED0 90 14 00 20 */ stw r0, 0x20(r20) /* 802AAF74 002A7ED4 80 61 02 9C */ lwz r3, 0x29c(r1) /* 802AAF78 002A7ED8 80 01 02 A0 */ lwz r0, 0x2a0(r1) /* 802AAF7C 002A7EDC 90 74 00 24 */ stw r3, 0x24(r20) /* 802AAF80 002A7EE0 90 14 00 28 */ stw r0, 0x28(r20) /* 802AAF84 002A7EE4 80 01 02 A4 */ lwz r0, 0x2a4(r1) /* 802AAF88 002A7EE8 90 14 00 2C */ stw r0, 0x2c(r20) /* 802AAF8C 002A7EEC 88 01 02 A8 */ lbz r0, 0x2a8(r1) /* 802AAF90 002A7EF0 98 14 00 30 */ stb r0, 0x30(r20) /* 802AAF94 002A7EF4 88 01 02 A9 */ lbz r0, 0x2a9(r1) /* 802AAF98 002A7EF8 98 14 00 31 */ stb r0, 0x31(r20) /* 802AAF9C 002A7EFC C8 01 02 B0 */ lfd f0, 0x2b0(r1) /* 802AAFA0 002A7F00 D8 14 00 38 */ stfd f0, 0x38(r20) /* 802AAFA4 002A7F04 C8 01 02 B8 */ lfd f0, 0x2b8(r1) /* 802AAFA8 002A7F08 D8 14 00 40 */ stfd f0, 0x40(r20) /* 802AAFAC 002A7F0C 80 61 02 C0 */ lwz r3, 0x2c0(r1) /* 802AAFB0 002A7F10 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 802AAFB4 002A7F14 90 74 00 48 */ stw r3, 0x48(r20) /* 802AAFB8 002A7F18 90 14 00 4C */ stw r0, 0x4c(r20) /* 802AAFBC 002A7F1C 80 01 02 C8 */ lwz r0, 0x2c8(r1) /* 802AAFC0 002A7F20 90 14 00 50 */ stw r0, 0x50(r20) /* 802AAFC4 002A7F24 80 61 02 CC */ lwz r3, 0x2cc(r1) /* 802AAFC8 002A7F28 80 01 02 D0 */ lwz r0, 0x2d0(r1) /* 802AAFCC 002A7F2C 90 74 00 54 */ stw r3, 0x54(r20) /* 802AAFD0 002A7F30 90 14 00 58 */ stw r0, 0x58(r20) /* 802AAFD4 002A7F34 80 01 02 D4 */ lwz r0, 0x2d4(r1) /* 802AAFD8 002A7F38 90 14 00 5C */ stw r0, 0x5c(r20) /* 802AAFDC 002A7F3C C8 01 00 38 */ lfd f0, 0x38(r1) /* 802AAFE0 002A7F40 D8 13 00 00 */ stfd f0, 0(r19) /* 802AAFE4 002A7F44 48 00 00 18 */ b lbl_802AAFFC lbl_802AAFE8: /* 802AAFE8 002A7F48 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802AAFEC 002A7F4C A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802AAFF0 002A7F50 56 C0 08 3C */ slwi r0, r22, 1 /* 802AAFF4 002A7F54 38 63 2B AC */ addi r3, r3, lbl_80572BAC@l /* 802AAFF8 002A7F58 7C 83 03 2E */ sthx r4, r3, r0 lbl_802AAFFC: /* 802AAFFC 002A7F5C 3A B5 00 01 */ addi r21, r21, 1 /* 802AB000 002A7F60 3B 39 00 01 */ addi r25, r25, 1 /* 802AB004 002A7F64 2C 15 00 03 */ cmpwi r21, 3 /* 802AB008 002A7F68 3B 18 00 0C */ addi r24, r24, 0xc /* 802AB00C 002A7F6C 39 CE 00 02 */ addi r14, r14, 2 /* 802AB010 002A7F70 41 80 FD C0 */ blt lbl_802AADD0 /* 802AB014 002A7F74 48 00 00 80 */ b lbl_802AB094 lbl_802AB018: /* 802AB018 002A7F78 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB01C 002A7F7C 7D C4 73 78 */ mr r4, r14 /* 802AB020 002A7F80 4B FF CF 2D */ bl GetTriangleEdgeIndices__8COBBTreeCFUs /* 802AB024 002A7F84 A0 03 00 00 */ lhz r0, 0(r3) /* 802AB028 002A7F88 3C 80 80 59 */ lis r4, lbl_8058BBAC@ha /* 802AB02C 002A7F8C A0 ED A5 D0 */ lhz r7, lbl_805A9190@sda21(r13) /* 802AB030 002A7F90 38 C4 BB AC */ addi r6, r4, lbl_8058BBAC@l /* 802AB034 002A7F94 54 00 08 3C */ slwi r0, r0, 1 /* 802AB038 002A7F98 7D C4 73 78 */ mr r4, r14 /* 802AB03C 002A7F9C 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB040 002A7FA0 38 A1 00 30 */ addi r5, r1, 0x30 /* 802AB044 002A7FA4 A0 03 00 02 */ lhz r0, 2(r3) /* 802AB048 002A7FA8 54 00 08 3C */ slwi r0, r0, 1 /* 802AB04C 002A7FAC 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB050 002A7FB0 A0 03 00 04 */ lhz r0, 4(r3) /* 802AB054 002A7FB4 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB058 002A7FB8 54 00 08 3C */ slwi r0, r0, 1 /* 802AB05C 002A7FBC 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB060 002A7FC0 4B FF CF 01 */ bl GetTriangleVertexIndices__8COBBTreeCFUsPUs /* 802AB064 002A7FC4 A0 01 00 30 */ lhz r0, 0x30(r1) /* 802AB068 002A7FC8 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802AB06C 002A7FCC A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802AB070 002A7FD0 38 83 2B AC */ addi r4, r3, lbl_80572BAC@l /* 802AB074 002A7FD4 54 03 08 3C */ slwi r3, r0, 1 /* 802AB078 002A7FD8 A0 01 00 32 */ lhz r0, 0x32(r1) /* 802AB07C 002A7FDC 7C A4 1B 2E */ sthx r5, r4, r3 /* 802AB080 002A7FE0 54 03 08 3C */ slwi r3, r0, 1 /* 802AB084 002A7FE4 A0 01 00 34 */ lhz r0, 0x34(r1) /* 802AB088 002A7FE8 7C A4 1B 2E */ sthx r5, r4, r3 /* 802AB08C 002A7FEC 54 00 08 3C */ slwi r0, r0, 1 /* 802AB090 002A7FF0 7C A4 03 2E */ sthx r5, r4, r0 lbl_802AB094: /* 802AB094 002A7FF4 80 61 03 9C */ lwz r3, 0x39c(r1) /* 802AB098 002A7FF8 38 63 00 02 */ addi r3, r3, 2 /* 802AB09C 002A7FFC 90 61 03 9C */ stw r3, 0x39c(r1) /* 802AB0A0 002A8000 80 61 03 98 */ lwz r3, 0x398(r1) /* 802AB0A4 002A8004 38 63 00 01 */ addi r3, r3, 1 /* 802AB0A8 002A8008 90 61 03 98 */ stw r3, 0x398(r1) lbl_802AB0AC: /* 802AB0AC 002A800C 80 61 03 98 */ lwz r3, 0x398(r1) /* 802AB0B0 002A8010 80 01 03 A0 */ lwz r0, 0x3a0(r1) /* 802AB0B4 002A8014 7C 03 00 00 */ cmpw r3, r0 /* 802AB0B8 002A8018 41 80 F3 58 */ blt lbl_802AA410 /* 802AB0BC 002A801C 7E E3 BB 78 */ mr r3, r23 /* 802AB0C0 002A8020 E3 E1 04 C8 */ psq_l f31, 1224(r1), 0, qr0 /* 802AB0C4 002A8024 CB E1 04 C0 */ lfd f31, 0x4c0(r1) /* 802AB0C8 002A8028 E3 C1 04 B8 */ psq_l f30, 1208(r1), 0, qr0 /* 802AB0CC 002A802C CB C1 04 B0 */ lfd f30, 0x4b0(r1) /* 802AB0D0 002A8030 E3 A1 04 A8 */ psq_l f29, 1192(r1), 0, qr0 /* 802AB0D4 002A8034 CB A1 04 A0 */ lfd f29, 0x4a0(r1) /* 802AB0D8 002A8038 E3 81 04 98 */ psq_l f28, 1176(r1), 0, qr0 /* 802AB0DC 002A803C CB 81 04 90 */ lfd f28, 0x490(r1) /* 802AB0E0 002A8040 E3 61 04 88 */ psq_l f27, 1160(r1), 0, qr0 /* 802AB0E4 002A8044 CB 61 04 80 */ lfd f27, 0x480(r1) /* 802AB0E8 002A8048 E3 41 04 78 */ psq_l f26, 1144(r1), 0, qr0 /* 802AB0EC 002A804C CB 41 04 70 */ lfd f26, 0x470(r1) /* 802AB0F0 002A8050 E3 21 04 68 */ psq_l f25, 1128(r1), 0, qr0 /* 802AB0F4 002A8054 CB 21 04 60 */ lfd f25, 0x460(r1) /* 802AB0F8 002A8058 E3 01 04 58 */ psq_l f24, 1112(r1), 0, qr0 /* 802AB0FC 002A805C CB 01 04 50 */ lfd f24, 0x450(r1) /* 802AB100 002A8060 E2 E1 04 48 */ psq_l f23, 1096(r1), 0, qr0 /* 802AB104 002A8064 CA E1 04 40 */ lfd f23, 0x440(r1) /* 802AB108 002A8068 E2 C1 04 38 */ psq_l f22, 1080(r1), 0, qr0 /* 802AB10C 002A806C CA C1 04 30 */ lfd f22, 0x430(r1) /* 802AB110 002A8070 E2 A1 04 28 */ psq_l f21, 1064(r1), 0, qr0 /* 802AB114 002A8074 CA A1 04 20 */ lfd f21, 0x420(r1) /* 802AB118 002A8078 E2 81 04 18 */ psq_l f20, 1048(r1), 0, qr0 /* 802AB11C 002A807C CA 81 04 10 */ lfd f20, 0x410(r1) /* 802AB120 002A8080 E2 61 04 08 */ psq_l f19, 1032(r1), 0, qr0 /* 802AB124 002A8084 CA 61 04 00 */ lfd f19, 0x400(r1) /* 802AB128 002A8088 E2 41 03 F8 */ psq_l f18, 1016(r1), 0, qr0 /* 802AB12C 002A808C CA 41 03 F0 */ lfd f18, 0x3f0(r1) /* 802AB130 002A8090 B9 C1 03 A8 */ lmw r14, 0x3a8(r1) /* 802AB134 002A8094 80 01 04 D4 */ lwz r0, 0x4d4(r1) /* 802AB138 002A8098 7C 08 03 A6 */ mtlr r0 /* 802AB13C 002A809C 38 21 04 D0 */ addi r1, r1, 0x4d0 /* 802AB140 002A80A0 4E 80 00 20 */ blr .global SphereCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo SphereCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo: /* 802AB144 002A80A4 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802AB148 002A80A8 7C 08 02 A6 */ mflr r0 /* 802AB14C 002A80AC 90 01 00 44 */ stw r0, 0x44(r1) /* 802AB150 002A80B0 BE A1 00 14 */ stmw r21, 0x14(r1) /* 802AB154 002A80B4 7C 7D 1B 78 */ mr r29, r3 /* 802AB158 002A80B8 7C F6 3B 78 */ mr r22, r7 /* 802AB15C 002A80BC 83 41 00 48 */ lwz r26, 0x48(r1) /* 802AB160 002A80C0 83 61 00 4C */ lwz r27, 0x4c(r1) /* 802AB164 002A80C4 7C 9E 23 78 */ mr r30, r4 /* 802AB168 002A80C8 7C BF 2B 78 */ mr r31, r5 /* 802AB16C 002A80CC 7C D5 33 78 */ mr r21, r6 /* 802AB170 002A80D0 7D 17 43 78 */ mr r23, r8 /* 802AB174 002A80D4 7D 38 4B 78 */ mr r24, r9 /* 802AB178 002A80D8 7D 59 53 78 */ mr r25, r10 /* 802AB17C 002A80DC 3B 80 00 00 */ li r28, 0 /* 802AB180 002A80E0 80 63 00 14 */ lwz r3, 0x14(r3) /* 802AB184 002A80E4 38 03 00 01 */ addi r0, r3, 1 /* 802AB188 002A80E8 7E C3 B3 78 */ mr r3, r22 /* 802AB18C 002A80EC 90 1D 00 14 */ stw r0, 0x14(r29) /* 802AB190 002A80F0 48 02 A3 05 */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802AB194 002A80F4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB198 002A80F8 41 82 00 C4 */ beq lbl_802AB25C /* 802AB19C 002A80FC 38 00 00 01 */ li r0, 1 /* 802AB1A0 002A8100 98 1E 00 4C */ stb r0, 0x4c(r30) /* 802AB1A4 002A8104 88 1E 00 3C */ lbz r0, 0x3c(r30) /* 802AB1A8 002A8108 28 00 00 00 */ cmplwi r0, 0 /* 802AB1AC 002A810C 41 82 00 3C */ beq lbl_802AB1E8 /* 802AB1B0 002A8110 93 61 00 08 */ stw r27, 8(r1) /* 802AB1B4 002A8114 7F A3 EB 78 */ mr r3, r29 /* 802AB1B8 002A8118 7F E5 FB 78 */ mr r5, r31 /* 802AB1BC 002A811C 7E A6 AB 78 */ mr r6, r21 /* 802AB1C0 002A8120 80 9E 00 48 */ lwz r4, 0x48(r30) /* 802AB1C4 002A8124 7E E7 BB 78 */ mr r7, r23 /* 802AB1C8 002A8128 7F 08 C3 78 */ mr r8, r24 /* 802AB1CC 002A812C 7F 29 CB 78 */ mr r9, r25 /* 802AB1D0 002A8130 7F 4A D3 78 */ mr r10, r26 /* 802AB1D4 002A8134 4B FF F0 1D */ bl SphereCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo /* 802AB1D8 002A8138 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB1DC 002A813C 41 82 00 8C */ beq lbl_802AB268 /* 802AB1E0 002A8140 3B 80 00 01 */ li r28, 1 /* 802AB1E4 002A8144 48 00 00 84 */ b lbl_802AB268 lbl_802AB1E8: /* 802AB1E8 002A8148 93 41 00 08 */ stw r26, 8(r1) /* 802AB1EC 002A814C 7F A3 EB 78 */ mr r3, r29 /* 802AB1F0 002A8150 7F E5 FB 78 */ mr r5, r31 /* 802AB1F4 002A8154 7E A6 AB 78 */ mr r6, r21 /* 802AB1F8 002A8158 93 61 00 0C */ stw r27, 0xc(r1) /* 802AB1FC 002A815C 7E C7 B3 78 */ mr r7, r22 /* 802AB200 002A8160 7E E8 BB 78 */ mr r8, r23 /* 802AB204 002A8164 7F 09 C3 78 */ mr r9, r24 /* 802AB208 002A8168 80 9E 00 40 */ lwz r4, 0x40(r30) /* 802AB20C 002A816C 7F 2A CB 78 */ mr r10, r25 /* 802AB210 002A8170 4B FF FF 35 */ bl SphereCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo /* 802AB214 002A8174 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB218 002A8178 41 82 00 08 */ beq lbl_802AB220 /* 802AB21C 002A817C 3B 80 00 01 */ li r28, 1 lbl_802AB220: /* 802AB220 002A8180 93 41 00 08 */ stw r26, 8(r1) /* 802AB224 002A8184 7F A3 EB 78 */ mr r3, r29 /* 802AB228 002A8188 7F E5 FB 78 */ mr r5, r31 /* 802AB22C 002A818C 7E A6 AB 78 */ mr r6, r21 /* 802AB230 002A8190 93 61 00 0C */ stw r27, 0xc(r1) /* 802AB234 002A8194 7E C7 B3 78 */ mr r7, r22 /* 802AB238 002A8198 7E E8 BB 78 */ mr r8, r23 /* 802AB23C 002A819C 7F 09 C3 78 */ mr r9, r24 /* 802AB240 002A81A0 80 9E 00 44 */ lwz r4, 0x44(r30) /* 802AB244 002A81A4 7F 2A CB 78 */ mr r10, r25 /* 802AB248 002A81A8 4B FF FE FD */ bl SphereCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo /* 802AB24C 002A81AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB250 002A81B0 41 82 00 18 */ beq lbl_802AB268 /* 802AB254 002A81B4 3B 80 00 01 */ li r28, 1 /* 802AB258 002A81B8 48 00 00 10 */ b lbl_802AB268 lbl_802AB25C: /* 802AB25C 002A81BC 80 7D 00 18 */ lwz r3, 0x18(r29) /* 802AB260 002A81C0 38 03 00 01 */ addi r0, r3, 1 /* 802AB264 002A81C4 90 1D 00 18 */ stw r0, 0x18(r29) lbl_802AB268: /* 802AB268 002A81C8 7F 83 E3 78 */ mr r3, r28 /* 802AB26C 002A81CC BA A1 00 14 */ lmw r21, 0x14(r1) /* 802AB270 002A81D0 80 01 00 44 */ lwz r0, 0x44(r1) /* 802AB274 002A81D4 7C 08 03 A6 */ mtlr r0 /* 802AB278 002A81D8 38 21 00 40 */ addi r1, r1, 0x40 /* 802AB27C 002A81DC 4E 80 00 20 */ blr .global AABoxCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo AABoxCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo: /* 802AB280 002A81E0 94 21 FD 40 */ stwu r1, -0x2c0(r1) /* 802AB284 002A81E4 7C 08 02 A6 */ mflr r0 /* 802AB288 002A81E8 90 01 02 C4 */ stw r0, 0x2c4(r1) /* 802AB28C 002A81EC DB E1 02 B0 */ stfd f31, 0x2b0(r1) /* 802AB290 002A81F0 F3 E1 02 B8 */ psq_st f31, 696(r1), 0, qr0 /* 802AB294 002A81F4 DB C1 02 A0 */ stfd f30, 0x2a0(r1) /* 802AB298 002A81F8 F3 C1 02 A8 */ psq_st f30, 680(r1), 0, qr0 /* 802AB29C 002A81FC DB A1 02 90 */ stfd f29, 0x290(r1) /* 802AB2A0 002A8200 F3 A1 02 98 */ psq_st f29, 664(r1), 0, qr0 /* 802AB2A4 002A8204 BD C1 02 48 */ stmw r14, 0x248(r1) /* 802AB2A8 002A8208 3D 60 80 5A */ lis r11, skZero3f@ha /* 802AB2AC 002A820C 7D 32 4B 78 */ mr r18, r9 /* 802AB2B0 002A8210 39 2B 66 A0 */ addi r9, r11, skZero3f@l /* 802AB2B4 002A8214 C0 12 06 E8 */ lfs f0, 0x6e8(r18) /* 802AB2B8 002A8218 C0 29 00 00 */ lfs f1, 0(r9) /* 802AB2BC 002A821C 7C 6F 1B 78 */ mr r15, r3 /* 802AB2C0 002A8220 C0 49 00 04 */ lfs f2, 4(r9) /* 802AB2C4 002A8224 7C 8E 23 78 */ mr r14, r4 /* 802AB2C8 002A8228 C1 69 00 08 */ lfs f11, 8(r9) /* 802AB2CC 002A822C 7D 53 53 78 */ mr r19, r10 /* 802AB2D0 002A8230 C1 52 06 EC */ lfs f10, 0x6ec(r18) /* 802AB2D4 002A8234 7C D0 33 78 */ mr r16, r6 /* 802AB2D8 002A8238 C1 32 06 F0 */ lfs f9, 0x6f0(r18) /* 802AB2DC 002A823C 7C F1 3B 78 */ mr r17, r7 /* 802AB2E0 002A8240 C1 12 06 F4 */ lfs f8, 0x6f4(r18) /* 802AB2E4 002A8244 38 61 00 B8 */ addi r3, r1, 0xb8 /* 802AB2E8 002A8248 C0 F2 06 F8 */ lfs f7, 0x6f8(r18) /* 802AB2EC 002A824C 38 81 00 7C */ addi r4, r1, 0x7c /* 802AB2F0 002A8250 C0 D2 06 FC */ lfs f6, 0x6fc(r18) /* 802AB2F4 002A8254 D0 01 00 B8 */ stfs f0, 0xb8(r1) /* 802AB2F8 002A8258 82 81 02 C8 */ lwz r20, 0x2c8(r1) /* 802AB2FC 002A825C D0 21 00 AC */ stfs f1, 0xac(r1) /* 802AB300 002A8260 C0 AA 00 00 */ lfs f5, 0(r10) /* 802AB304 002A8264 D0 21 00 A0 */ stfs f1, 0xa0(r1) /* 802AB308 002A8268 C0 8A 00 04 */ lfs f4, 4(r10) /* 802AB30C 002A826C D0 41 00 B0 */ stfs f2, 0xb0(r1) /* 802AB310 002A8270 C0 6A 00 08 */ lfs f3, 8(r10) /* 802AB314 002A8274 D0 41 00 A4 */ stfs f2, 0xa4(r1) /* 802AB318 002A8278 C0 46 00 10 */ lfs f2, 0x10(r6) /* 802AB31C 002A827C D1 61 00 B4 */ stfs f11, 0xb4(r1) /* 802AB320 002A8280 C0 26 00 14 */ lfs f1, 0x14(r6) /* 802AB324 002A8284 D1 61 00 A8 */ stfs f11, 0xa8(r1) /* 802AB328 002A8288 C0 06 00 0C */ lfs f0, 0xc(r6) /* 802AB32C 002A828C D1 41 00 BC */ stfs f10, 0xbc(r1) /* 802AB330 002A8290 82 A1 02 CC */ lwz r21, 0x2cc(r1) /* 802AB334 002A8294 D1 21 00 C0 */ stfs f9, 0xc0(r1) /* 802AB338 002A8298 D1 01 00 C4 */ stfs f8, 0xc4(r1) /* 802AB33C 002A829C D0 E1 00 C8 */ stfs f7, 0xc8(r1) /* 802AB340 002A82A0 D0 C1 00 CC */ stfs f6, 0xcc(r1) /* 802AB344 002A82A4 C8 D4 00 00 */ lfd f6, 0(r20) /* 802AB348 002A82A8 90 A1 00 08 */ stw r5, 8(r1) /* 802AB34C 002A82AC FC C0 30 18 */ frsp f6, f6 /* 802AB350 002A82B0 91 01 00 0C */ stw r8, 0xc(r1) /* 802AB354 002A82B4 EF A6 01 72 */ fmuls f29, f6, f5 /* 802AB358 002A82B8 EF C6 01 32 */ fmuls f30, f6, f4 /* 802AB35C 002A82BC EF E6 00 F2 */ fmuls f31, f6, f3 /* 802AB360 002A82C0 EC 00 E8 2A */ fadds f0, f0, f29 /* 802AB364 002A82C4 EC 42 F0 2A */ fadds f2, f2, f30 /* 802AB368 002A82C8 EC 21 F8 2A */ fadds f1, f1, f31 /* 802AB36C 002A82CC D0 01 00 7C */ stfs f0, 0x7c(r1) /* 802AB370 002A82D0 D0 41 00 80 */ stfs f2, 0x80(r1) /* 802AB374 002A82D4 D0 21 00 84 */ stfs f1, 0x84(r1) /* 802AB378 002A82D8 48 08 C7 91 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802AB37C 002A82DC C0 50 00 04 */ lfs f2, 4(r16) /* 802AB380 002A82E0 38 61 00 B8 */ addi r3, r1, 0xb8 /* 802AB384 002A82E4 C0 30 00 08 */ lfs f1, 8(r16) /* 802AB388 002A82E8 38 81 00 70 */ addi r4, r1, 0x70 /* 802AB38C 002A82EC C0 10 00 00 */ lfs f0, 0(r16) /* 802AB390 002A82F0 EC 42 F0 2A */ fadds f2, f2, f30 /* 802AB394 002A82F4 EC 21 F8 2A */ fadds f1, f1, f31 /* 802AB398 002A82F8 EC 00 E8 2A */ fadds f0, f0, f29 /* 802AB39C 002A82FC D0 41 00 74 */ stfs f2, 0x74(r1) /* 802AB3A0 002A8300 D0 01 00 70 */ stfs f0, 0x70(r1) /* 802AB3A4 002A8304 D0 21 00 78 */ stfs f1, 0x78(r1) /* 802AB3A8 002A8308 48 08 C7 61 */ bl AccumulateBounds__6CAABoxFRC9CVector3f /* 802AB3AC 002A830C 38 61 00 64 */ addi r3, r1, 0x64 /* 802AB3B0 002A8310 38 81 00 B8 */ addi r4, r1, 0xb8 /* 802AB3B4 002A8314 48 08 C2 59 */ bl GetCenterPoint__6CAABoxCFv /* 802AB3B8 002A8318 C0 61 00 C8 */ lfs f3, 0xc8(r1) /* 802AB3BC 002A831C 3B 40 00 00 */ li r26, 0 /* 802AB3C0 002A8320 C0 41 00 BC */ lfs f2, 0xbc(r1) /* 802AB3C4 002A8324 3B 20 00 00 */ li r25, 0 /* 802AB3C8 002A8328 C0 21 00 CC */ lfs f1, 0xcc(r1) /* 802AB3CC 002A832C 3B 80 00 00 */ li r28, 0 /* 802AB3D0 002A8330 C0 01 00 C0 */ lfs f0, 0xc0(r1) /* 802AB3D4 002A8334 EC 63 10 28 */ fsubs f3, f3, f2 /* 802AB3D8 002A8338 C0 82 C1 BC */ lfs f4, lbl_805ADEDC@sda21(r2) /* 802AB3DC 002A833C EC 41 00 28 */ fsubs f2, f1, f0 /* 802AB3E0 002A8340 C0 21 00 C4 */ lfs f1, 0xc4(r1) /* 802AB3E4 002A8344 C0 01 00 B8 */ lfs f0, 0xb8(r1) /* 802AB3E8 002A8348 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802AB3EC 002A834C C0 61 00 64 */ lfs f3, 0x64(r1) /* 802AB3F0 002A8350 EC 01 00 28 */ fsubs f0, f1, f0 /* 802AB3F4 002A8354 EC A4 00 B2 */ fmuls f5, f4, f2 /* 802AB3F8 002A8358 C0 41 00 68 */ lfs f2, 0x68(r1) /* 802AB3FC 002A835C C0 21 00 6C */ lfs f1, 0x6c(r1) /* 802AB400 002A8360 EC 04 00 32 */ fmuls f0, f4, f0 /* 802AB404 002A8364 80 0E 00 04 */ lwz r0, 4(r14) /* 802AB408 002A8368 D0 61 00 94 */ stfs f3, 0x94(r1) /* 802AB40C 002A836C 90 01 02 40 */ stw r0, 0x240(r1) /* 802AB410 002A8370 D0 41 00 98 */ stfs f2, 0x98(r1) /* 802AB414 002A8374 D0 21 00 9C */ stfs f1, 0x9c(r1) /* 802AB418 002A8378 D0 01 00 88 */ stfs f0, 0x88(r1) /* 802AB41C 002A837C D0 C1 00 8C */ stfs f6, 0x8c(r1) /* 802AB420 002A8380 D0 A1 00 90 */ stfs f5, 0x90(r1) /* 802AB424 002A8384 48 00 06 0C */ b lbl_802ABA30 lbl_802AB428: /* 802AB428 002A8388 80 AE 00 0C */ lwz r5, 0xc(r14) /* 802AB42C 002A838C 38 61 00 D0 */ addi r3, r1, 0xd0 /* 802AB430 002A8390 80 C1 00 08 */ lwz r6, 8(r1) /* 802AB434 002A8394 7F 05 E2 2E */ lhzx r24, r5, r28 /* 802AB438 002A8398 80 8F 00 10 */ lwz r4, 0x10(r15) /* 802AB43C 002A839C 7F 05 C3 78 */ mr r5, r24 /* 802AB440 002A83A0 4B FF D6 01 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802AB444 002A83A4 C1 01 00 D0 */ lfs f8, 0xd0(r1) /* 802AB448 002A83A8 7D E3 7B 78 */ mr r3, r15 /* 802AB44C 002A83AC C0 E1 00 D4 */ lfs f7, 0xd4(r1) /* 802AB450 002A83B0 C0 C1 00 D8 */ lfs f6, 0xd8(r1) /* 802AB454 002A83B4 C0 A1 00 DC */ lfs f5, 0xdc(r1) /* 802AB458 002A83B8 C0 81 00 E0 */ lfs f4, 0xe0(r1) /* 802AB45C 002A83BC C0 61 00 E4 */ lfs f3, 0xe4(r1) /* 802AB460 002A83C0 C0 41 00 E8 */ lfs f2, 0xe8(r1) /* 802AB464 002A83C4 C0 21 00 EC */ lfs f1, 0xec(r1) /* 802AB468 002A83C8 C0 01 00 F0 */ lfs f0, 0xf0(r1) /* 802AB46C 002A83CC 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 802AB470 002A83D0 D1 01 00 F8 */ stfs f8, 0xf8(r1) /* 802AB474 002A83D4 D0 E1 00 FC */ stfs f7, 0xfc(r1) /* 802AB478 002A83D8 D0 C1 01 00 */ stfs f6, 0x100(r1) /* 802AB47C 002A83DC D0 A1 01 04 */ stfs f5, 0x104(r1) /* 802AB480 002A83E0 D0 81 01 08 */ stfs f4, 0x108(r1) /* 802AB484 002A83E4 D0 61 01 0C */ stfs f3, 0x10c(r1) /* 802AB488 002A83E8 D0 41 01 10 */ stfs f2, 0x110(r1) /* 802AB48C 002A83EC D0 21 01 14 */ stfs f1, 0x114(r1) /* 802AB490 002A83F0 D0 01 01 18 */ stfs f0, 0x118(r1) /* 802AB494 002A83F4 90 01 01 1C */ stw r0, 0x11c(r1) /* 802AB498 002A83F8 81 8F 00 00 */ lwz r12, 0(r15) /* 802AB49C 002A83FC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802AB4A0 002A8400 7D 89 03 A6 */ mtctr r12 /* 802AB4A4 002A8404 4E 80 04 21 */ bctrl /* 802AB4A8 002A8408 80 C1 01 1C */ lwz r6, 0x11c(r1) /* 802AB4AC 002A840C 38 81 00 38 */ addi r4, r1, 0x38 /* 802AB4B0 002A8410 80 03 00 04 */ lwz r0, 4(r3) /* 802AB4B4 002A8414 80 A3 00 00 */ lwz r5, 0(r3) /* 802AB4B8 002A8418 7C C0 03 78 */ or r0, r6, r0 /* 802AB4BC 002A841C 80 61 00 0C */ lwz r3, 0xc(r1) /* 802AB4C0 002A8420 90 01 00 3C */ stw r0, 0x3c(r1) /* 802AB4C4 002A8424 90 A1 00 38 */ stw r5, 0x38(r1) /* 802AB4C8 002A8428 48 02 9E 85 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802AB4CC 002A842C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB4D0 002A8430 41 82 05 58 */ beq lbl_802ABA28 /* 802AB4D4 002A8434 38 C1 01 04 */ addi r6, r1, 0x104 /* 802AB4D8 002A8438 38 E1 01 10 */ addi r7, r1, 0x110 /* 802AB4DC 002A843C 38 61 00 94 */ addi r3, r1, 0x94 /* 802AB4E0 002A8440 38 81 00 88 */ addi r4, r1, 0x88 /* 802AB4E4 002A8444 38 A1 00 F8 */ addi r5, r1, 0xf8 /* 802AB4E8 002A8448 48 02 5F F9 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802AB4EC 002A844C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB4F0 002A8450 41 82 04 BC */ beq lbl_802AB9AC /* 802AB4F4 002A8454 80 6F 00 1C */ lwz r3, 0x1c(r15) /* 802AB4F8 002A8458 7F 04 C3 78 */ mr r4, r24 /* 802AB4FC 002A845C 38 A1 00 30 */ addi r5, r1, 0x30 /* 802AB500 002A8460 38 03 00 01 */ addi r0, r3, 1 /* 802AB504 002A8464 90 0F 00 1C */ stw r0, 0x1c(r15) /* 802AB508 002A8468 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB50C 002A846C 4B FF CA 55 */ bl GetTriangleVertexIndices__8COBBTreeCFUsPUs /* 802AB510 002A8470 C8 14 00 00 */ lfd f0, 0(r20) /* 802AB514 002A8474 7E 04 83 78 */ mr r4, r16 /* 802AB518 002A8478 81 73 00 00 */ lwz r11, 0(r19) /* 802AB51C 002A847C 38 61 00 F8 */ addi r3, r1, 0xf8 /* 802AB520 002A8480 81 53 00 04 */ lwz r10, 4(r19) /* 802AB524 002A8484 38 B2 06 C4 */ addi r5, r18, 0x6c4 /* 802AB528 002A8488 80 13 00 08 */ lwz r0, 8(r19) /* 802AB52C 002A848C 38 C1 00 58 */ addi r6, r1, 0x58 /* 802AB530 002A8490 D8 01 00 28 */ stfd f0, 0x28(r1) /* 802AB534 002A8494 38 E1 00 28 */ addi r7, r1, 0x28 /* 802AB538 002A8498 39 01 00 AC */ addi r8, r1, 0xac /* 802AB53C 002A849C 39 21 00 A0 */ addi r9, r1, 0xa0 /* 802AB540 002A84A0 91 61 00 58 */ stw r11, 0x58(r1) /* 802AB544 002A84A4 91 41 00 5C */ stw r10, 0x5c(r1) /* 802AB548 002A84A8 90 01 00 60 */ stw r0, 0x60(r1) /* 802AB54C 002A84AC 4B FF 8A A9 */ bl "MovingAABoxCollisionCheck_BoxVertexTri__20CMetroidAreaColliderFRC17CCollisionSurfaceRC6CAABoxRCQ24rstl21reserved_vector9CVector3fRdR9CVector3fR9CVector3f" /* 802AB550 002A84B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB554 002A84B4 41 82 00 E8 */ beq lbl_802AB63C /* 802AB558 002A84B8 C8 21 00 28 */ lfd f1, 0x28(r1) /* 802AB55C 002A84BC C8 14 00 00 */ lfd f0, 0(r20) /* 802AB560 002A84C0 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802AB564 002A84C4 40 80 00 D8 */ bge lbl_802AB63C /* 802AB568 002A84C8 7E 25 8B 78 */ mr r5, r17 /* 802AB56C 002A84CC 38 61 01 E0 */ addi r3, r1, 0x1e0 /* 802AB570 002A84D0 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802AB574 002A84D4 38 C1 00 38 */ addi r6, r1, 0x38 /* 802AB578 002A84D8 38 E1 00 AC */ addi r7, r1, 0xac /* 802AB57C 002A84DC 48 02 2E CD */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AB580 002A84E0 80 61 01 E0 */ lwz r3, 0x1e0(r1) /* 802AB584 002A84E4 3B 40 00 01 */ li r26, 1 /* 802AB588 002A84E8 80 01 01 E4 */ lwz r0, 0x1e4(r1) /* 802AB58C 002A84EC 90 75 00 00 */ stw r3, 0(r21) /* 802AB590 002A84F0 90 15 00 04 */ stw r0, 4(r21) /* 802AB594 002A84F4 80 01 01 E8 */ lwz r0, 0x1e8(r1) /* 802AB598 002A84F8 90 15 00 08 */ stw r0, 8(r21) /* 802AB59C 002A84FC 80 61 01 EC */ lwz r3, 0x1ec(r1) /* 802AB5A0 002A8500 80 01 01 F0 */ lwz r0, 0x1f0(r1) /* 802AB5A4 002A8504 90 75 00 0C */ stw r3, 0xc(r21) /* 802AB5A8 002A8508 90 15 00 10 */ stw r0, 0x10(r21) /* 802AB5AC 002A850C 80 01 01 F4 */ lwz r0, 0x1f4(r1) /* 802AB5B0 002A8510 90 15 00 14 */ stw r0, 0x14(r21) /* 802AB5B4 002A8514 80 61 01 F8 */ lwz r3, 0x1f8(r1) /* 802AB5B8 002A8518 80 01 01 FC */ lwz r0, 0x1fc(r1) /* 802AB5BC 002A851C 90 75 00 18 */ stw r3, 0x18(r21) /* 802AB5C0 002A8520 90 15 00 1C */ stw r0, 0x1c(r21) /* 802AB5C4 002A8524 80 01 02 00 */ lwz r0, 0x200(r1) /* 802AB5C8 002A8528 90 15 00 20 */ stw r0, 0x20(r21) /* 802AB5CC 002A852C 80 61 02 04 */ lwz r3, 0x204(r1) /* 802AB5D0 002A8530 80 01 02 08 */ lwz r0, 0x208(r1) /* 802AB5D4 002A8534 90 75 00 24 */ stw r3, 0x24(r21) /* 802AB5D8 002A8538 90 15 00 28 */ stw r0, 0x28(r21) /* 802AB5DC 002A853C 80 01 02 0C */ lwz r0, 0x20c(r1) /* 802AB5E0 002A8540 90 15 00 2C */ stw r0, 0x2c(r21) /* 802AB5E4 002A8544 88 01 02 10 */ lbz r0, 0x210(r1) /* 802AB5E8 002A8548 98 15 00 30 */ stb r0, 0x30(r21) /* 802AB5EC 002A854C 88 01 02 11 */ lbz r0, 0x211(r1) /* 802AB5F0 002A8550 98 15 00 31 */ stb r0, 0x31(r21) /* 802AB5F4 002A8554 C8 01 02 18 */ lfd f0, 0x218(r1) /* 802AB5F8 002A8558 D8 15 00 38 */ stfd f0, 0x38(r21) /* 802AB5FC 002A855C C8 01 02 20 */ lfd f0, 0x220(r1) /* 802AB600 002A8560 D8 15 00 40 */ stfd f0, 0x40(r21) /* 802AB604 002A8564 80 61 02 28 */ lwz r3, 0x228(r1) /* 802AB608 002A8568 80 01 02 2C */ lwz r0, 0x22c(r1) /* 802AB60C 002A856C 90 75 00 48 */ stw r3, 0x48(r21) /* 802AB610 002A8570 90 15 00 4C */ stw r0, 0x4c(r21) /* 802AB614 002A8574 80 01 02 30 */ lwz r0, 0x230(r1) /* 802AB618 002A8578 90 15 00 50 */ stw r0, 0x50(r21) /* 802AB61C 002A857C 80 61 02 34 */ lwz r3, 0x234(r1) /* 802AB620 002A8580 80 01 02 38 */ lwz r0, 0x238(r1) /* 802AB624 002A8584 90 75 00 54 */ stw r3, 0x54(r21) /* 802AB628 002A8588 90 15 00 58 */ stw r0, 0x58(r21) /* 802AB62C 002A858C 80 01 02 3C */ lwz r0, 0x23c(r1) /* 802AB630 002A8590 90 15 00 5C */ stw r0, 0x5c(r21) /* 802AB634 002A8594 C8 01 00 28 */ lfd f0, 0x28(r1) /* 802AB638 002A8598 D8 14 00 00 */ stfd f0, 0(r20) lbl_802AB63C: /* 802AB63C 002A859C 3B 61 00 F8 */ addi r27, r1, 0xf8 /* 802AB640 002A85A0 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802AB644 002A85A4 7F 7D DB 78 */ mr r29, r27 /* 802AB648 002A85A8 3B C1 00 30 */ addi r30, r1, 0x30 /* 802AB64C 002A85AC 3B E3 2B AC */ addi r31, r3, lbl_80572BAC@l /* 802AB650 002A85B0 3A E0 00 00 */ li r23, 0 lbl_802AB654: /* 802AB654 002A85B4 A2 DE 00 00 */ lhz r22, 0(r30) /* 802AB658 002A85B8 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802AB65C 002A85BC 56 C3 08 3C */ slwi r3, r22, 1 /* 802AB660 002A85C0 7C 1F 1A 2E */ lhzx r0, r31, r3 /* 802AB664 002A85C4 7C 00 20 40 */ cmplw r0, r4 /* 802AB668 002A85C8 41 82 01 68 */ beq lbl_802AB7D0 /* 802AB66C 002A85CC 7C 9F 1B 2E */ sthx r4, r31, r3 /* 802AB670 002A85D0 7F A4 EB 78 */ mr r4, r29 /* 802AB674 002A85D4 38 61 00 B8 */ addi r3, r1, 0xb8 /* 802AB678 002A85D8 48 08 BE BD */ bl PointInside__6CAABoxCFRC9CVector3f /* 802AB67C 002A85DC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB680 002A85E0 41 82 01 50 */ beq lbl_802AB7D0 /* 802AB684 002A85E4 C8 14 00 00 */ lfd f0, 0(r20) /* 802AB688 002A85E8 7F A3 EB 78 */ mr r3, r29 /* 802AB68C 002A85EC 81 53 00 00 */ lwz r10, 0(r19) /* 802AB690 002A85F0 7E 04 83 78 */ mr r4, r16 /* 802AB694 002A85F4 81 33 00 04 */ lwz r9, 4(r19) /* 802AB698 002A85F8 38 A1 00 4C */ addi r5, r1, 0x4c /* 802AB69C 002A85FC 80 13 00 08 */ lwz r0, 8(r19) /* 802AB6A0 002A8600 38 C1 00 28 */ addi r6, r1, 0x28 /* 802AB6A4 002A8604 D8 01 00 28 */ stfd f0, 0x28(r1) /* 802AB6A8 002A8608 38 E1 00 AC */ addi r7, r1, 0xac /* 802AB6AC 002A860C 39 01 00 A0 */ addi r8, r1, 0xa0 /* 802AB6B0 002A8610 91 41 00 4C */ stw r10, 0x4c(r1) /* 802AB6B4 002A8614 91 21 00 50 */ stw r9, 0x50(r1) /* 802AB6B8 002A8618 90 01 00 54 */ stw r0, 0x54(r1) /* 802AB6BC 002A861C 4B FF 8A 51 */ bl MovingAABoxCollisionCheck_TriVertexBox__20CMetroidAreaColliderFRC9CVector3fRC6CAABox9CVector3fRdR9CVector3fR9CVector3f /* 802AB6C0 002A8620 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB6C4 002A8624 41 82 01 0C */ beq lbl_802AB7D0 /* 802AB6C8 002A8628 C8 21 00 28 */ lfd f1, 0x28(r1) /* 802AB6CC 002A862C C8 14 00 00 */ lfd f0, 0(r20) /* 802AB6D0 002A8630 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802AB6D4 002A8634 40 80 00 FC */ bge lbl_802AB7D0 /* 802AB6D8 002A8638 80 CF 00 10 */ lwz r6, 0x10(r15) /* 802AB6DC 002A863C 38 00 00 00 */ li r0, 0 /* 802AB6E0 002A8640 7E 25 8B 78 */ mr r5, r17 /* 802AB6E4 002A8644 38 61 01 80 */ addi r3, r1, 0x180 /* 802AB6E8 002A8648 80 E6 00 34 */ lwz r7, 0x34(r6) /* 802AB6EC 002A864C 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802AB6F0 002A8650 81 26 00 24 */ lwz r9, 0x24(r6) /* 802AB6F4 002A8654 38 C1 00 18 */ addi r6, r1, 0x18 /* 802AB6F8 002A8658 7D 07 B0 AE */ lbzx r8, r7, r22 /* 802AB6FC 002A865C 38 E1 00 AC */ addi r7, r1, 0xac /* 802AB700 002A8660 55 08 10 3A */ slwi r8, r8, 2 /* 802AB704 002A8664 7D 09 40 2E */ lwzx r8, r9, r8 /* 802AB708 002A8668 91 01 00 1C */ stw r8, 0x1c(r1) /* 802AB70C 002A866C 90 01 00 18 */ stw r0, 0x18(r1) /* 802AB710 002A8670 48 02 2D 39 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AB714 002A8674 80 61 01 80 */ lwz r3, 0x180(r1) /* 802AB718 002A8678 3B 40 00 01 */ li r26, 1 /* 802AB71C 002A867C 80 01 01 84 */ lwz r0, 0x184(r1) /* 802AB720 002A8680 90 75 00 00 */ stw r3, 0(r21) /* 802AB724 002A8684 90 15 00 04 */ stw r0, 4(r21) /* 802AB728 002A8688 80 01 01 88 */ lwz r0, 0x188(r1) /* 802AB72C 002A868C 90 15 00 08 */ stw r0, 8(r21) /* 802AB730 002A8690 80 61 01 8C */ lwz r3, 0x18c(r1) /* 802AB734 002A8694 80 01 01 90 */ lwz r0, 0x190(r1) /* 802AB738 002A8698 90 75 00 0C */ stw r3, 0xc(r21) /* 802AB73C 002A869C 90 15 00 10 */ stw r0, 0x10(r21) /* 802AB740 002A86A0 80 01 01 94 */ lwz r0, 0x194(r1) /* 802AB744 002A86A4 90 15 00 14 */ stw r0, 0x14(r21) /* 802AB748 002A86A8 80 61 01 98 */ lwz r3, 0x198(r1) /* 802AB74C 002A86AC 80 01 01 9C */ lwz r0, 0x19c(r1) /* 802AB750 002A86B0 90 75 00 18 */ stw r3, 0x18(r21) /* 802AB754 002A86B4 90 15 00 1C */ stw r0, 0x1c(r21) /* 802AB758 002A86B8 80 01 01 A0 */ lwz r0, 0x1a0(r1) /* 802AB75C 002A86BC 90 15 00 20 */ stw r0, 0x20(r21) /* 802AB760 002A86C0 80 61 01 A4 */ lwz r3, 0x1a4(r1) /* 802AB764 002A86C4 80 01 01 A8 */ lwz r0, 0x1a8(r1) /* 802AB768 002A86C8 90 75 00 24 */ stw r3, 0x24(r21) /* 802AB76C 002A86CC 90 15 00 28 */ stw r0, 0x28(r21) /* 802AB770 002A86D0 80 01 01 AC */ lwz r0, 0x1ac(r1) /* 802AB774 002A86D4 90 15 00 2C */ stw r0, 0x2c(r21) /* 802AB778 002A86D8 88 01 01 B0 */ lbz r0, 0x1b0(r1) /* 802AB77C 002A86DC 98 15 00 30 */ stb r0, 0x30(r21) /* 802AB780 002A86E0 88 01 01 B1 */ lbz r0, 0x1b1(r1) /* 802AB784 002A86E4 98 15 00 31 */ stb r0, 0x31(r21) /* 802AB788 002A86E8 C8 01 01 B8 */ lfd f0, 0x1b8(r1) /* 802AB78C 002A86EC D8 15 00 38 */ stfd f0, 0x38(r21) /* 802AB790 002A86F0 C8 01 01 C0 */ lfd f0, 0x1c0(r1) /* 802AB794 002A86F4 D8 15 00 40 */ stfd f0, 0x40(r21) /* 802AB798 002A86F8 80 61 01 C8 */ lwz r3, 0x1c8(r1) /* 802AB79C 002A86FC 80 01 01 CC */ lwz r0, 0x1cc(r1) /* 802AB7A0 002A8700 90 75 00 48 */ stw r3, 0x48(r21) /* 802AB7A4 002A8704 90 15 00 4C */ stw r0, 0x4c(r21) /* 802AB7A8 002A8708 80 01 01 D0 */ lwz r0, 0x1d0(r1) /* 802AB7AC 002A870C 90 15 00 50 */ stw r0, 0x50(r21) /* 802AB7B0 002A8710 80 61 01 D4 */ lwz r3, 0x1d4(r1) /* 802AB7B4 002A8714 80 01 01 D8 */ lwz r0, 0x1d8(r1) /* 802AB7B8 002A8718 90 75 00 54 */ stw r3, 0x54(r21) /* 802AB7BC 002A871C 90 15 00 58 */ stw r0, 0x58(r21) /* 802AB7C0 002A8720 80 01 01 DC */ lwz r0, 0x1dc(r1) /* 802AB7C4 002A8724 90 15 00 5C */ stw r0, 0x5c(r21) /* 802AB7C8 002A8728 C8 01 00 28 */ lfd f0, 0x28(r1) /* 802AB7CC 002A872C D8 14 00 00 */ stfd f0, 0(r20) lbl_802AB7D0: /* 802AB7D0 002A8730 3A F7 00 01 */ addi r23, r23, 1 /* 802AB7D4 002A8734 3B BD 00 0C */ addi r29, r29, 0xc /* 802AB7D8 002A8738 2C 17 00 03 */ cmpwi r23, 3 /* 802AB7DC 002A873C 3B DE 00 02 */ addi r30, r30, 2 /* 802AB7E0 002A8740 41 80 FE 74 */ blt lbl_802AB654 /* 802AB7E4 002A8744 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB7E8 002A8748 7F 04 C3 78 */ mr r4, r24 /* 802AB7EC 002A874C 4B FF C7 61 */ bl GetTriangleEdgeIndices__8COBBTreeCFUs /* 802AB7F0 002A8750 3C 80 80 59 */ lis r4, lbl_8058BBAC@ha /* 802AB7F4 002A8754 7C 78 1B 78 */ mr r24, r3 /* 802AB7F8 002A8758 3A C4 BB AC */ addi r22, r4, lbl_8058BBAC@l /* 802AB7FC 002A875C 3B A0 00 00 */ li r29, 0 lbl_802AB800: /* 802AB800 002A8760 A0 B8 00 00 */ lhz r5, 0(r24) /* 802AB804 002A8764 A0 8D A5 D0 */ lhz r4, lbl_805A9190@sda21(r13) /* 802AB808 002A8768 54 A3 08 3C */ slwi r3, r5, 1 /* 802AB80C 002A876C 7C 16 1A 2E */ lhzx r0, r22, r3 /* 802AB810 002A8770 7C 00 20 40 */ cmplw r0, r4 /* 802AB814 002A8774 41 82 01 80 */ beq lbl_802AB994 /* 802AB818 002A8778 7C 96 1B 2E */ sthx r4, r22, r3 /* 802AB81C 002A877C 80 8F 00 10 */ lwz r4, 0x10(r15) /* 802AB820 002A8780 80 64 00 44 */ lwz r3, 0x44(r4) /* 802AB824 002A8784 80 84 00 24 */ lwz r4, 0x24(r4) /* 802AB828 002A8788 7C 03 28 AE */ lbzx r0, r3, r5 /* 802AB82C 002A878C 54 00 10 3A */ slwi r0, r0, 2 /* 802AB830 002A8790 7E E4 00 2E */ lwzx r23, r4, r0 /* 802AB834 002A8794 56 E0 01 CF */ rlwinm. r0, r23, 0, 7, 7 /* 802AB838 002A8798 40 82 01 5C */ bne lbl_802AB994 /* 802AB83C 002A879C 38 7D FF FE */ addi r3, r29, -2 /* 802AB840 002A87A0 20 1D 00 02 */ subfic r0, r29, 2 /* 802AB844 002A87A4 7C 60 00 F8 */ nor r0, r3, r0 /* 802AB848 002A87A8 C8 14 00 00 */ lfd f0, 0(r20) /* 802AB84C 002A87AC 7C 03 FE 70 */ srawi r3, r0, 0x1f /* 802AB850 002A87B0 38 1D 00 01 */ addi r0, r29, 1 /* 802AB854 002A87B4 7C 00 18 78 */ andc r0, r0, r3 /* 802AB858 002A87B8 80 D3 00 00 */ lwz r6, 0(r19) /* 802AB85C 002A87BC 81 13 00 04 */ lwz r8, 4(r19) /* 802AB860 002A87C0 1C 00 00 0C */ mulli r0, r0, 0xc /* 802AB864 002A87C4 81 53 00 08 */ lwz r10, 8(r19) /* 802AB868 002A87C8 38 81 00 F8 */ addi r4, r1, 0xf8 /* 802AB86C 002A87CC D8 01 00 28 */ stfd f0, 0x28(r1) /* 802AB870 002A87D0 7F 63 DB 78 */ mr r3, r27 /* 802AB874 002A87D4 7E 45 93 78 */ mr r5, r18 /* 802AB878 002A87D8 90 C1 00 40 */ stw r6, 0x40(r1) /* 802AB87C 002A87DC 7C 84 02 14 */ add r4, r4, r0 /* 802AB880 002A87E0 38 C1 00 40 */ addi r6, r1, 0x40 /* 802AB884 002A87E4 38 E1 00 28 */ addi r7, r1, 0x28 /* 802AB888 002A87E8 91 01 00 44 */ stw r8, 0x44(r1) /* 802AB88C 002A87EC 39 01 00 AC */ addi r8, r1, 0xac /* 802AB890 002A87F0 39 21 00 A0 */ addi r9, r1, 0xa0 /* 802AB894 002A87F4 91 41 00 48 */ stw r10, 0x48(r1) /* 802AB898 002A87F8 4B FF 82 F1 */ bl "MovingAABoxCollisionCheck_Edge__20CMetroidAreaColliderFRC9CVector3fRC9CVector3fRCQ24rstl53reserved_vector9CVector3fRdR9CVector3fR9CVector3f" /* 802AB89C 002A87FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AB8A0 002A8800 41 82 00 F4 */ beq lbl_802AB994 /* 802AB8A4 002A8804 C8 21 00 28 */ lfd f1, 0x28(r1) /* 802AB8A8 002A8808 C8 14 00 00 */ lfd f0, 0(r20) /* 802AB8AC 002A880C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 802AB8B0 002A8810 40 80 00 E4 */ bge lbl_802AB994 /* 802AB8B4 002A8814 38 00 00 00 */ li r0, 0 /* 802AB8B8 002A8818 92 E1 00 14 */ stw r23, 0x14(r1) /* 802AB8BC 002A881C 7E 25 8B 78 */ mr r5, r17 /* 802AB8C0 002A8820 38 61 01 20 */ addi r3, r1, 0x120 /* 802AB8C4 002A8824 90 01 00 10 */ stw r0, 0x10(r1) /* 802AB8C8 002A8828 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802AB8CC 002A882C 38 C1 00 10 */ addi r6, r1, 0x10 /* 802AB8D0 002A8830 38 E1 00 AC */ addi r7, r1, 0xac /* 802AB8D4 002A8834 48 02 2B 75 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AB8D8 002A8838 80 61 01 20 */ lwz r3, 0x120(r1) /* 802AB8DC 002A883C 3B 40 00 01 */ li r26, 1 /* 802AB8E0 002A8840 80 01 01 24 */ lwz r0, 0x124(r1) /* 802AB8E4 002A8844 90 75 00 00 */ stw r3, 0(r21) /* 802AB8E8 002A8848 90 15 00 04 */ stw r0, 4(r21) /* 802AB8EC 002A884C 80 01 01 28 */ lwz r0, 0x128(r1) /* 802AB8F0 002A8850 90 15 00 08 */ stw r0, 8(r21) /* 802AB8F4 002A8854 80 61 01 2C */ lwz r3, 0x12c(r1) /* 802AB8F8 002A8858 80 01 01 30 */ lwz r0, 0x130(r1) /* 802AB8FC 002A885C 90 75 00 0C */ stw r3, 0xc(r21) /* 802AB900 002A8860 90 15 00 10 */ stw r0, 0x10(r21) /* 802AB904 002A8864 80 01 01 34 */ lwz r0, 0x134(r1) /* 802AB908 002A8868 90 15 00 14 */ stw r0, 0x14(r21) /* 802AB90C 002A886C 80 61 01 38 */ lwz r3, 0x138(r1) /* 802AB910 002A8870 80 01 01 3C */ lwz r0, 0x13c(r1) /* 802AB914 002A8874 90 75 00 18 */ stw r3, 0x18(r21) /* 802AB918 002A8878 90 15 00 1C */ stw r0, 0x1c(r21) /* 802AB91C 002A887C 80 01 01 40 */ lwz r0, 0x140(r1) /* 802AB920 002A8880 90 15 00 20 */ stw r0, 0x20(r21) /* 802AB924 002A8884 80 61 01 44 */ lwz r3, 0x144(r1) /* 802AB928 002A8888 80 01 01 48 */ lwz r0, 0x148(r1) /* 802AB92C 002A888C 90 75 00 24 */ stw r3, 0x24(r21) /* 802AB930 002A8890 90 15 00 28 */ stw r0, 0x28(r21) /* 802AB934 002A8894 80 01 01 4C */ lwz r0, 0x14c(r1) /* 802AB938 002A8898 90 15 00 2C */ stw r0, 0x2c(r21) /* 802AB93C 002A889C 88 01 01 50 */ lbz r0, 0x150(r1) /* 802AB940 002A88A0 98 15 00 30 */ stb r0, 0x30(r21) /* 802AB944 002A88A4 88 01 01 51 */ lbz r0, 0x151(r1) /* 802AB948 002A88A8 98 15 00 31 */ stb r0, 0x31(r21) /* 802AB94C 002A88AC C8 01 01 58 */ lfd f0, 0x158(r1) /* 802AB950 002A88B0 D8 15 00 38 */ stfd f0, 0x38(r21) /* 802AB954 002A88B4 C8 01 01 60 */ lfd f0, 0x160(r1) /* 802AB958 002A88B8 D8 15 00 40 */ stfd f0, 0x40(r21) /* 802AB95C 002A88BC 80 61 01 68 */ lwz r3, 0x168(r1) /* 802AB960 002A88C0 80 01 01 6C */ lwz r0, 0x16c(r1) /* 802AB964 002A88C4 90 75 00 48 */ stw r3, 0x48(r21) /* 802AB968 002A88C8 90 15 00 4C */ stw r0, 0x4c(r21) /* 802AB96C 002A88CC 80 01 01 70 */ lwz r0, 0x170(r1) /* 802AB970 002A88D0 90 15 00 50 */ stw r0, 0x50(r21) /* 802AB974 002A88D4 80 61 01 74 */ lwz r3, 0x174(r1) /* 802AB978 002A88D8 80 01 01 78 */ lwz r0, 0x178(r1) /* 802AB97C 002A88DC 90 75 00 54 */ stw r3, 0x54(r21) /* 802AB980 002A88E0 90 15 00 58 */ stw r0, 0x58(r21) /* 802AB984 002A88E4 80 01 01 7C */ lwz r0, 0x17c(r1) /* 802AB988 002A88E8 90 15 00 5C */ stw r0, 0x5c(r21) /* 802AB98C 002A88EC C8 01 00 28 */ lfd f0, 0x28(r1) /* 802AB990 002A88F0 D8 14 00 00 */ stfd f0, 0(r20) lbl_802AB994: /* 802AB994 002A88F4 3B BD 00 01 */ addi r29, r29, 1 /* 802AB998 002A88F8 3B 7B 00 0C */ addi r27, r27, 0xc /* 802AB99C 002A88FC 2C 1D 00 03 */ cmpwi r29, 3 /* 802AB9A0 002A8900 3B 18 00 02 */ addi r24, r24, 2 /* 802AB9A4 002A8904 41 80 FE 5C */ blt lbl_802AB800 /* 802AB9A8 002A8908 48 00 00 80 */ b lbl_802ABA28 lbl_802AB9AC: /* 802AB9AC 002A890C 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB9B0 002A8910 7F 04 C3 78 */ mr r4, r24 /* 802AB9B4 002A8914 4B FF C5 99 */ bl GetTriangleEdgeIndices__8COBBTreeCFUs /* 802AB9B8 002A8918 A0 03 00 00 */ lhz r0, 0(r3) /* 802AB9BC 002A891C 3C 80 80 59 */ lis r4, lbl_8058BBAC@ha /* 802AB9C0 002A8920 A0 ED A5 D0 */ lhz r7, lbl_805A9190@sda21(r13) /* 802AB9C4 002A8924 38 C4 BB AC */ addi r6, r4, lbl_8058BBAC@l /* 802AB9C8 002A8928 54 00 08 3C */ slwi r0, r0, 1 /* 802AB9CC 002A892C 7F 04 C3 78 */ mr r4, r24 /* 802AB9D0 002A8930 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB9D4 002A8934 38 A1 00 20 */ addi r5, r1, 0x20 /* 802AB9D8 002A8938 A0 03 00 02 */ lhz r0, 2(r3) /* 802AB9DC 002A893C 54 00 08 3C */ slwi r0, r0, 1 /* 802AB9E0 002A8940 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB9E4 002A8944 A0 03 00 04 */ lhz r0, 4(r3) /* 802AB9E8 002A8948 80 6F 00 10 */ lwz r3, 0x10(r15) /* 802AB9EC 002A894C 54 00 08 3C */ slwi r0, r0, 1 /* 802AB9F0 002A8950 7C E6 03 2E */ sthx r7, r6, r0 /* 802AB9F4 002A8954 4B FF C5 6D */ bl GetTriangleVertexIndices__8COBBTreeCFUsPUs /* 802AB9F8 002A8958 A0 01 00 20 */ lhz r0, 0x20(r1) /* 802AB9FC 002A895C 3C 60 80 57 */ lis r3, lbl_80572BAC@ha /* 802ABA00 002A8960 A0 AD A5 D0 */ lhz r5, lbl_805A9190@sda21(r13) /* 802ABA04 002A8964 38 83 2B AC */ addi r4, r3, lbl_80572BAC@l /* 802ABA08 002A8968 54 03 08 3C */ slwi r3, r0, 1 /* 802ABA0C 002A896C A0 01 00 22 */ lhz r0, 0x22(r1) /* 802ABA10 002A8970 7C A4 1B 2E */ sthx r5, r4, r3 /* 802ABA14 002A8974 54 03 08 3C */ slwi r3, r0, 1 /* 802ABA18 002A8978 A0 01 00 24 */ lhz r0, 0x24(r1) /* 802ABA1C 002A897C 7C A4 1B 2E */ sthx r5, r4, r3 /* 802ABA20 002A8980 54 00 08 3C */ slwi r0, r0, 1 /* 802ABA24 002A8984 7C A4 03 2E */ sthx r5, r4, r0 lbl_802ABA28: /* 802ABA28 002A8988 3B 9C 00 02 */ addi r28, r28, 2 /* 802ABA2C 002A898C 3B 39 00 01 */ addi r25, r25, 1 lbl_802ABA30: /* 802ABA30 002A8990 80 01 02 40 */ lwz r0, 0x240(r1) /* 802ABA34 002A8994 7C 19 00 00 */ cmpw r25, r0 /* 802ABA38 002A8998 41 80 F9 F0 */ blt lbl_802AB428 /* 802ABA3C 002A899C 7F 43 D3 78 */ mr r3, r26 /* 802ABA40 002A89A0 E3 E1 02 B8 */ psq_l f31, 696(r1), 0, qr0 /* 802ABA44 002A89A4 CB E1 02 B0 */ lfd f31, 0x2b0(r1) /* 802ABA48 002A89A8 E3 C1 02 A8 */ psq_l f30, 680(r1), 0, qr0 /* 802ABA4C 002A89AC CB C1 02 A0 */ lfd f30, 0x2a0(r1) /* 802ABA50 002A89B0 E3 A1 02 98 */ psq_l f29, 664(r1), 0, qr0 /* 802ABA54 002A89B4 CB A1 02 90 */ lfd f29, 0x290(r1) /* 802ABA58 002A89B8 B9 C1 02 48 */ lmw r14, 0x248(r1) /* 802ABA5C 002A89BC 80 01 02 C4 */ lwz r0, 0x2c4(r1) /* 802ABA60 002A89C0 7C 08 03 A6 */ mtlr r0 /* 802ABA64 002A89C4 38 21 02 C0 */ addi r1, r1, 0x2c0 /* 802ABA68 002A89C8 4E 80 00 20 */ blr .global AABoxCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo AABoxCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo: /* 802ABA6C 002A89CC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 802ABA70 002A89D0 7C 08 02 A6 */ mflr r0 /* 802ABA74 002A89D4 90 01 00 54 */ stw r0, 0x54(r1) /* 802ABA78 002A89D8 BE 81 00 20 */ stmw r20, 0x20(r1) /* 802ABA7C 002A89DC 7C 7C 1B 78 */ mr r28, r3 /* 802ABA80 002A89E0 7C FF 3B 78 */ mr r31, r7 /* 802ABA84 002A89E4 83 01 00 58 */ lwz r24, 0x58(r1) /* 802ABA88 002A89E8 83 21 00 5C */ lwz r25, 0x5c(r1) /* 802ABA8C 002A89EC 7C 9D 23 78 */ mr r29, r4 /* 802ABA90 002A89F0 83 41 00 60 */ lwz r26, 0x60(r1) /* 802ABA94 002A89F4 7C BE 2B 78 */ mr r30, r5 /* 802ABA98 002A89F8 7C D4 33 78 */ mr r20, r6 /* 802ABA9C 002A89FC 7D 15 43 78 */ mr r21, r8 /* 802ABAA0 002A8A00 7D 36 4B 78 */ mr r22, r9 /* 802ABAA4 002A8A04 7D 57 53 78 */ mr r23, r10 /* 802ABAA8 002A8A08 3B 60 00 00 */ li r27, 0 /* 802ABAAC 002A8A0C 80 63 00 14 */ lwz r3, 0x14(r3) /* 802ABAB0 002A8A10 38 03 00 01 */ addi r0, r3, 1 /* 802ABAB4 002A8A14 7F E3 FB 78 */ mr r3, r31 /* 802ABAB8 002A8A18 90 1C 00 14 */ stw r0, 0x14(r28) /* 802ABABC 002A8A1C 48 02 99 D9 */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802ABAC0 002A8A20 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABAC4 002A8A24 41 82 00 D0 */ beq lbl_802ABB94 /* 802ABAC8 002A8A28 38 00 00 01 */ li r0, 1 /* 802ABACC 002A8A2C 98 1D 00 4C */ stb r0, 0x4c(r29) /* 802ABAD0 002A8A30 88 1D 00 3C */ lbz r0, 0x3c(r29) /* 802ABAD4 002A8A34 28 00 00 00 */ cmplwi r0, 0 /* 802ABAD8 002A8A38 41 82 00 40 */ beq lbl_802ABB18 /* 802ABADC 002A8A3C 93 21 00 08 */ stw r25, 8(r1) /* 802ABAE0 002A8A40 7F 83 E3 78 */ mr r3, r28 /* 802ABAE4 002A8A44 7F C5 F3 78 */ mr r5, r30 /* 802ABAE8 002A8A48 7E 86 A3 78 */ mr r6, r20 /* 802ABAEC 002A8A4C 93 41 00 0C */ stw r26, 0xc(r1) /* 802ABAF0 002A8A50 7E A7 AB 78 */ mr r7, r21 /* 802ABAF4 002A8A54 7E C8 B3 78 */ mr r8, r22 /* 802ABAF8 002A8A58 7E E9 BB 78 */ mr r9, r23 /* 802ABAFC 002A8A5C 80 9D 00 48 */ lwz r4, 0x48(r29) /* 802ABB00 002A8A60 7F 0A C3 78 */ mr r10, r24 /* 802ABB04 002A8A64 4B FF F7 7D */ bl AABoxCollideWithLeafMoving__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo /* 802ABB08 002A8A68 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABB0C 002A8A6C 41 82 00 94 */ beq lbl_802ABBA0 /* 802ABB10 002A8A70 3B 60 00 01 */ li r27, 1 /* 802ABB14 002A8A74 48 00 00 8C */ b lbl_802ABBA0 lbl_802ABB18: /* 802ABB18 002A8A78 93 01 00 08 */ stw r24, 8(r1) /* 802ABB1C 002A8A7C 7F 83 E3 78 */ mr r3, r28 /* 802ABB20 002A8A80 7F C5 F3 78 */ mr r5, r30 /* 802ABB24 002A8A84 7E 86 A3 78 */ mr r6, r20 /* 802ABB28 002A8A88 93 21 00 0C */ stw r25, 0xc(r1) /* 802ABB2C 002A8A8C 7F E7 FB 78 */ mr r7, r31 /* 802ABB30 002A8A90 7E A8 AB 78 */ mr r8, r21 /* 802ABB34 002A8A94 7E C9 B3 78 */ mr r9, r22 /* 802ABB38 002A8A98 93 41 00 10 */ stw r26, 0x10(r1) /* 802ABB3C 002A8A9C 7E EA BB 78 */ mr r10, r23 /* 802ABB40 002A8AA0 80 9D 00 40 */ lwz r4, 0x40(r29) /* 802ABB44 002A8AA4 4B FF FF 29 */ bl AABoxCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo /* 802ABB48 002A8AA8 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABB4C 002A8AAC 41 82 00 08 */ beq lbl_802ABB54 /* 802ABB50 002A8AB0 3B 60 00 01 */ li r27, 1 lbl_802ABB54: /* 802ABB54 002A8AB4 93 01 00 08 */ stw r24, 8(r1) /* 802ABB58 002A8AB8 7F 83 E3 78 */ mr r3, r28 /* 802ABB5C 002A8ABC 7F C5 F3 78 */ mr r5, r30 /* 802ABB60 002A8AC0 7E 86 A3 78 */ mr r6, r20 /* 802ABB64 002A8AC4 93 21 00 0C */ stw r25, 0xc(r1) /* 802ABB68 002A8AC8 7F E7 FB 78 */ mr r7, r31 /* 802ABB6C 002A8ACC 7E A8 AB 78 */ mr r8, r21 /* 802ABB70 002A8AD0 7E C9 B3 78 */ mr r9, r22 /* 802ABB74 002A8AD4 93 41 00 10 */ stw r26, 0x10(r1) /* 802ABB78 002A8AD8 7E EA BB 78 */ mr r10, r23 /* 802ABB7C 002A8ADC 80 9D 00 44 */ lwz r4, 0x44(r29) /* 802ABB80 002A8AE0 4B FF FE ED */ bl AABoxCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo /* 802ABB84 002A8AE4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABB88 002A8AE8 41 82 00 18 */ beq lbl_802ABBA0 /* 802ABB8C 002A8AEC 3B 60 00 01 */ li r27, 1 /* 802ABB90 002A8AF0 48 00 00 10 */ b lbl_802ABBA0 lbl_802ABB94: /* 802ABB94 002A8AF4 80 7C 00 18 */ lwz r3, 0x18(r28) /* 802ABB98 002A8AF8 38 03 00 01 */ addi r0, r3, 1 /* 802ABB9C 002A8AFC 90 1C 00 18 */ stw r0, 0x18(r28) lbl_802ABBA0: /* 802ABBA0 002A8B00 7F 63 DB 78 */ mr r3, r27 /* 802ABBA4 002A8B04 BA 81 00 20 */ lmw r20, 0x20(r1) /* 802ABBA8 002A8B08 80 01 00 54 */ lwz r0, 0x54(r1) /* 802ABBAC 002A8B0C 7C 08 03 A6 */ mtlr r0 /* 802ABBB0 002A8B10 38 21 00 50 */ addi r1, r1, 0x50 /* 802ABBB4 002A8B14 4E 80 00 20 */ blr .global SphereCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC15CMaterialFilter SphereCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC15CMaterialFilter: /* 802ABBB8 002A8B18 94 21 FF 70 */ stwu r1, -0x90(r1) /* 802ABBBC 002A8B1C 7C 08 02 A6 */ mflr r0 /* 802ABBC0 002A8B20 90 01 00 94 */ stw r0, 0x94(r1) /* 802ABBC4 002A8B24 BE C1 00 68 */ stmw r22, 0x68(r1) /* 802ABBC8 002A8B28 7C 76 1B 78 */ mr r22, r3 /* 802ABBCC 002A8B2C 7C FA 3B 78 */ mr r26, r7 /* 802ABBD0 002A8B30 7C 9B 23 78 */ mr r27, r4 /* 802ABBD4 002A8B34 7C B7 2B 78 */ mr r23, r5 /* 802ABBD8 002A8B38 7C D8 33 78 */ mr r24, r6 /* 802ABBDC 002A8B3C 7D 19 43 78 */ mr r25, r8 /* 802ABBE0 002A8B40 80 63 00 14 */ lwz r3, 0x14(r3) /* 802ABBE4 002A8B44 38 03 00 01 */ addi r0, r3, 1 /* 802ABBE8 002A8B48 7F 43 D3 78 */ mr r3, r26 /* 802ABBEC 002A8B4C 90 16 00 14 */ stw r0, 0x14(r22) /* 802ABBF0 002A8B50 48 02 98 A5 */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802ABBF4 002A8B54 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABBF8 002A8B58 41 82 01 6C */ beq lbl_802ABD64 /* 802ABBFC 002A8B5C 38 00 00 01 */ li r0, 1 /* 802ABC00 002A8B60 98 1B 00 4C */ stb r0, 0x4c(r27) /* 802ABC04 002A8B64 88 1B 00 3C */ lbz r0, 0x3c(r27) /* 802ABC08 002A8B68 28 00 00 00 */ cmplwi r0, 0 /* 802ABC0C 002A8B6C 41 82 01 00 */ beq lbl_802ABD0C /* 802ABC10 002A8B70 83 FB 00 48 */ lwz r31, 0x48(r27) /* 802ABC14 002A8B74 3B 61 00 44 */ addi r27, r1, 0x44 /* 802ABC18 002A8B78 3B 81 00 50 */ addi r28, r1, 0x50 /* 802ABC1C 002A8B7C 3B 40 00 00 */ li r26, 0 /* 802ABC20 002A8B80 83 DF 00 04 */ lwz r30, 4(r31) /* 802ABC24 002A8B84 3B A0 00 00 */ li r29, 0 /* 802ABC28 002A8B88 48 00 00 D8 */ b lbl_802ABD00 lbl_802ABC2C: /* 802ABC2C 002A8B8C 80 BF 00 0C */ lwz r5, 0xc(r31) /* 802ABC30 002A8B90 7E E6 BB 78 */ mr r6, r23 /* 802ABC34 002A8B94 80 96 00 10 */ lwz r4, 0x10(r22) /* 802ABC38 002A8B98 38 61 00 10 */ addi r3, r1, 0x10 /* 802ABC3C 002A8B9C 7C A5 EA 2E */ lhzx r5, r5, r29 /* 802ABC40 002A8BA0 4B FF CE 01 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802ABC44 002A8BA4 C1 01 00 10 */ lfs f8, 0x10(r1) /* 802ABC48 002A8BA8 7E C3 B3 78 */ mr r3, r22 /* 802ABC4C 002A8BAC C0 E1 00 14 */ lfs f7, 0x14(r1) /* 802ABC50 002A8BB0 C0 C1 00 18 */ lfs f6, 0x18(r1) /* 802ABC54 002A8BB4 C0 A1 00 1C */ lfs f5, 0x1c(r1) /* 802ABC58 002A8BB8 C0 81 00 20 */ lfs f4, 0x20(r1) /* 802ABC5C 002A8BBC C0 61 00 24 */ lfs f3, 0x24(r1) /* 802ABC60 002A8BC0 C0 41 00 28 */ lfs f2, 0x28(r1) /* 802ABC64 002A8BC4 C0 21 00 2C */ lfs f1, 0x2c(r1) /* 802ABC68 002A8BC8 C0 01 00 30 */ lfs f0, 0x30(r1) /* 802ABC6C 002A8BCC 80 01 00 34 */ lwz r0, 0x34(r1) /* 802ABC70 002A8BD0 D1 01 00 38 */ stfs f8, 0x38(r1) /* 802ABC74 002A8BD4 D0 E1 00 3C */ stfs f7, 0x3c(r1) /* 802ABC78 002A8BD8 D0 C1 00 40 */ stfs f6, 0x40(r1) /* 802ABC7C 002A8BDC D0 A1 00 44 */ stfs f5, 0x44(r1) /* 802ABC80 002A8BE0 D0 81 00 48 */ stfs f4, 0x48(r1) /* 802ABC84 002A8BE4 D0 61 00 4C */ stfs f3, 0x4c(r1) /* 802ABC88 002A8BE8 D0 41 00 50 */ stfs f2, 0x50(r1) /* 802ABC8C 002A8BEC D0 21 00 54 */ stfs f1, 0x54(r1) /* 802ABC90 002A8BF0 D0 01 00 58 */ stfs f0, 0x58(r1) /* 802ABC94 002A8BF4 90 01 00 5C */ stw r0, 0x5c(r1) /* 802ABC98 002A8BF8 81 96 00 00 */ lwz r12, 0(r22) /* 802ABC9C 002A8BFC 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802ABCA0 002A8C00 7D 89 03 A6 */ mtctr r12 /* 802ABCA4 002A8C04 4E 80 04 21 */ bctrl /* 802ABCA8 002A8C08 80 C1 00 5C */ lwz r6, 0x5c(r1) /* 802ABCAC 002A8C0C 38 81 00 08 */ addi r4, r1, 8 /* 802ABCB0 002A8C10 80 03 00 04 */ lwz r0, 4(r3) /* 802ABCB4 002A8C14 80 A3 00 00 */ lwz r5, 0(r3) /* 802ABCB8 002A8C18 7F 23 CB 78 */ mr r3, r25 /* 802ABCBC 002A8C1C 7C C0 03 78 */ or r0, r6, r0 /* 802ABCC0 002A8C20 90 01 00 0C */ stw r0, 0xc(r1) /* 802ABCC4 002A8C24 90 A1 00 08 */ stw r5, 8(r1) /* 802ABCC8 002A8C28 48 02 96 85 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802ABCCC 002A8C2C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABCD0 002A8C30 41 82 00 28 */ beq lbl_802ABCF8 /* 802ABCD4 002A8C34 7F 03 C3 78 */ mr r3, r24 /* 802ABCD8 002A8C38 7F 65 DB 78 */ mr r5, r27 /* 802ABCDC 002A8C3C 7F 86 E3 78 */ mr r6, r28 /* 802ABCE0 002A8C40 38 81 00 38 */ addi r4, r1, 0x38 /* 802ABCE4 002A8C44 48 02 47 5D */ bl TriSphereOverlap__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3f /* 802ABCE8 002A8C48 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABCEC 002A8C4C 41 82 00 0C */ beq lbl_802ABCF8 /* 802ABCF0 002A8C50 38 60 00 01 */ li r3, 1 /* 802ABCF4 002A8C54 48 00 00 80 */ b lbl_802ABD74 lbl_802ABCF8: /* 802ABCF8 002A8C58 3B BD 00 02 */ addi r29, r29, 2 /* 802ABCFC 002A8C5C 3B 5A 00 01 */ addi r26, r26, 1 lbl_802ABD00: /* 802ABD00 002A8C60 7C 1A F0 00 */ cmpw r26, r30 /* 802ABD04 002A8C64 41 80 FF 28 */ blt lbl_802ABC2C /* 802ABD08 002A8C68 48 00 00 68 */ b lbl_802ABD70 lbl_802ABD0C: /* 802ABD0C 002A8C6C 80 9B 00 40 */ lwz r4, 0x40(r27) /* 802ABD10 002A8C70 7E C3 B3 78 */ mr r3, r22 /* 802ABD14 002A8C74 7E E5 BB 78 */ mr r5, r23 /* 802ABD18 002A8C78 7F 06 C3 78 */ mr r6, r24 /* 802ABD1C 002A8C7C 7F 47 D3 78 */ mr r7, r26 /* 802ABD20 002A8C80 7F 28 CB 78 */ mr r8, r25 /* 802ABD24 002A8C84 4B FF FE 95 */ bl SphereCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC15CMaterialFilter /* 802ABD28 002A8C88 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABD2C 002A8C8C 41 82 00 0C */ beq lbl_802ABD38 /* 802ABD30 002A8C90 38 60 00 01 */ li r3, 1 /* 802ABD34 002A8C94 48 00 00 40 */ b lbl_802ABD74 lbl_802ABD38: /* 802ABD38 002A8C98 80 9B 00 44 */ lwz r4, 0x44(r27) /* 802ABD3C 002A8C9C 7E C3 B3 78 */ mr r3, r22 /* 802ABD40 002A8CA0 7E E5 BB 78 */ mr r5, r23 /* 802ABD44 002A8CA4 7F 06 C3 78 */ mr r6, r24 /* 802ABD48 002A8CA8 7F 47 D3 78 */ mr r7, r26 /* 802ABD4C 002A8CAC 7F 28 CB 78 */ mr r8, r25 /* 802ABD50 002A8CB0 4B FF FE 69 */ bl SphereCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC15CMaterialFilter /* 802ABD54 002A8CB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABD58 002A8CB8 41 82 00 18 */ beq lbl_802ABD70 /* 802ABD5C 002A8CBC 38 60 00 01 */ li r3, 1 /* 802ABD60 002A8CC0 48 00 00 14 */ b lbl_802ABD74 lbl_802ABD64: /* 802ABD64 002A8CC4 80 76 00 18 */ lwz r3, 0x18(r22) /* 802ABD68 002A8CC8 38 03 00 01 */ addi r0, r3, 1 /* 802ABD6C 002A8CCC 90 16 00 18 */ stw r0, 0x18(r22) lbl_802ABD70: /* 802ABD70 002A8CD0 38 60 00 00 */ li r3, 0 lbl_802ABD74: /* 802ABD74 002A8CD4 BA C1 00 68 */ lmw r22, 0x68(r1) /* 802ABD78 002A8CD8 80 01 00 94 */ lwz r0, 0x94(r1) /* 802ABD7C 002A8CDC 7C 08 03 A6 */ mtlr r0 /* 802ABD80 002A8CE0 38 21 00 90 */ addi r1, r1, 0x90 /* 802ABD84 002A8CE4 4E 80 00 20 */ blr .global AABoxCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC15CMaterialFilter AABoxCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC15CMaterialFilter: /* 802ABD88 002A8CE8 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 802ABD8C 002A8CEC 7C 08 02 A6 */ mflr r0 /* 802ABD90 002A8CF0 90 01 00 B4 */ stw r0, 0xb4(r1) /* 802ABD94 002A8CF4 BE E1 00 8C */ stmw r23, 0x8c(r1) /* 802ABD98 002A8CF8 7C 78 1B 78 */ mr r24, r3 /* 802ABD9C 002A8CFC 7C DB 33 78 */ mr r27, r6 /* 802ABDA0 002A8D00 7C 9C 23 78 */ mr r28, r4 /* 802ABDA4 002A8D04 7C B9 2B 78 */ mr r25, r5 /* 802ABDA8 002A8D08 7C F7 3B 78 */ mr r23, r7 /* 802ABDAC 002A8D0C 7D 1A 43 78 */ mr r26, r8 /* 802ABDB0 002A8D10 7F 64 DB 78 */ mr r4, r27 /* 802ABDB4 002A8D14 38 61 00 10 */ addi r3, r1, 0x10 /* 802ABDB8 002A8D18 48 08 B8 55 */ bl GetCenterPoint__6CAABoxCFv /* 802ABDBC 002A8D1C C0 7B 00 10 */ lfs f3, 0x10(r27) /* 802ABDC0 002A8D20 7E E3 BB 78 */ mr r3, r23 /* 802ABDC4 002A8D24 C0 5B 00 04 */ lfs f2, 4(r27) /* 802ABDC8 002A8D28 7F 84 E3 78 */ mr r4, r28 /* 802ABDCC 002A8D2C C0 3B 00 14 */ lfs f1, 0x14(r27) /* 802ABDD0 002A8D30 C0 1B 00 08 */ lfs f0, 8(r27) /* 802ABDD4 002A8D34 EC 43 10 28 */ fsubs f2, f3, f2 /* 802ABDD8 002A8D38 C0 62 C1 BC */ lfs f3, lbl_805ADEDC@sda21(r2) /* 802ABDDC 002A8D3C EC 01 00 28 */ fsubs f0, f1, f0 /* 802ABDE0 002A8D40 80 B8 00 14 */ lwz r5, 0x14(r24) /* 802ABDE4 002A8D44 EC E3 00 B2 */ fmuls f7, f3, f2 /* 802ABDE8 002A8D48 C0 A1 00 10 */ lfs f5, 0x10(r1) /* 802ABDEC 002A8D4C C0 81 00 14 */ lfs f4, 0x14(r1) /* 802ABDF0 002A8D50 38 05 00 01 */ addi r0, r5, 1 /* 802ABDF4 002A8D54 EC C3 00 32 */ fmuls f6, f3, f0 /* 802ABDF8 002A8D58 C0 41 00 18 */ lfs f2, 0x18(r1) /* 802ABDFC 002A8D5C C0 3B 00 0C */ lfs f1, 0xc(r27) /* 802ABE00 002A8D60 C0 1B 00 00 */ lfs f0, 0(r27) /* 802ABE04 002A8D64 D0 A1 00 28 */ stfs f5, 0x28(r1) /* 802ABE08 002A8D68 EC 01 00 28 */ fsubs f0, f1, f0 /* 802ABE0C 002A8D6C D0 81 00 2C */ stfs f4, 0x2c(r1) /* 802ABE10 002A8D70 EC 03 00 32 */ fmuls f0, f3, f0 /* 802ABE14 002A8D74 D0 41 00 30 */ stfs f2, 0x30(r1) /* 802ABE18 002A8D78 D0 E1 00 20 */ stfs f7, 0x20(r1) /* 802ABE1C 002A8D7C D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802ABE20 002A8D80 D0 C1 00 24 */ stfs f6, 0x24(r1) /* 802ABE24 002A8D84 90 18 00 14 */ stw r0, 0x14(r24) /* 802ABE28 002A8D88 48 02 96 6D */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802ABE2C 002A8D8C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABE30 002A8D90 41 82 01 70 */ beq lbl_802ABFA0 /* 802ABE34 002A8D94 38 00 00 01 */ li r0, 1 /* 802ABE38 002A8D98 98 1C 00 4C */ stb r0, 0x4c(r28) /* 802ABE3C 002A8D9C 88 1C 00 3C */ lbz r0, 0x3c(r28) /* 802ABE40 002A8DA0 28 00 00 00 */ cmplwi r0, 0 /* 802ABE44 002A8DA4 41 82 01 04 */ beq lbl_802ABF48 /* 802ABE48 002A8DA8 83 FC 00 48 */ lwz r31, 0x48(r28) /* 802ABE4C 002A8DAC 3B 81 00 68 */ addi r28, r1, 0x68 /* 802ABE50 002A8DB0 3B A1 00 74 */ addi r29, r1, 0x74 /* 802ABE54 002A8DB4 3B 60 00 00 */ li r27, 0 /* 802ABE58 002A8DB8 83 DF 00 04 */ lwz r30, 4(r31) /* 802ABE5C 002A8DBC 3A E0 00 00 */ li r23, 0 /* 802ABE60 002A8DC0 48 00 00 DC */ b lbl_802ABF3C lbl_802ABE64: /* 802ABE64 002A8DC4 80 BF 00 0C */ lwz r5, 0xc(r31) /* 802ABE68 002A8DC8 7F 26 CB 78 */ mr r6, r25 /* 802ABE6C 002A8DCC 80 98 00 10 */ lwz r4, 0x10(r24) /* 802ABE70 002A8DD0 38 61 00 34 */ addi r3, r1, 0x34 /* 802ABE74 002A8DD4 7C A5 BA 2E */ lhzx r5, r5, r23 /* 802ABE78 002A8DD8 4B FF CB C9 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802ABE7C 002A8DDC C1 01 00 34 */ lfs f8, 0x34(r1) /* 802ABE80 002A8DE0 7F 03 C3 78 */ mr r3, r24 /* 802ABE84 002A8DE4 C0 E1 00 38 */ lfs f7, 0x38(r1) /* 802ABE88 002A8DE8 C0 C1 00 3C */ lfs f6, 0x3c(r1) /* 802ABE8C 002A8DEC C0 A1 00 40 */ lfs f5, 0x40(r1) /* 802ABE90 002A8DF0 C0 81 00 44 */ lfs f4, 0x44(r1) /* 802ABE94 002A8DF4 C0 61 00 48 */ lfs f3, 0x48(r1) /* 802ABE98 002A8DF8 C0 41 00 4C */ lfs f2, 0x4c(r1) /* 802ABE9C 002A8DFC C0 21 00 50 */ lfs f1, 0x50(r1) /* 802ABEA0 002A8E00 C0 01 00 54 */ lfs f0, 0x54(r1) /* 802ABEA4 002A8E04 80 01 00 58 */ lwz r0, 0x58(r1) /* 802ABEA8 002A8E08 D1 01 00 5C */ stfs f8, 0x5c(r1) /* 802ABEAC 002A8E0C D0 E1 00 60 */ stfs f7, 0x60(r1) /* 802ABEB0 002A8E10 D0 C1 00 64 */ stfs f6, 0x64(r1) /* 802ABEB4 002A8E14 D0 A1 00 68 */ stfs f5, 0x68(r1) /* 802ABEB8 002A8E18 D0 81 00 6C */ stfs f4, 0x6c(r1) /* 802ABEBC 002A8E1C D0 61 00 70 */ stfs f3, 0x70(r1) /* 802ABEC0 002A8E20 D0 41 00 74 */ stfs f2, 0x74(r1) /* 802ABEC4 002A8E24 D0 21 00 78 */ stfs f1, 0x78(r1) /* 802ABEC8 002A8E28 D0 01 00 7C */ stfs f0, 0x7c(r1) /* 802ABECC 002A8E2C 90 01 00 80 */ stw r0, 0x80(r1) /* 802ABED0 002A8E30 81 98 00 00 */ lwz r12, 0(r24) /* 802ABED4 002A8E34 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802ABED8 002A8E38 7D 89 03 A6 */ mtctr r12 /* 802ABEDC 002A8E3C 4E 80 04 21 */ bctrl /* 802ABEE0 002A8E40 80 C1 00 80 */ lwz r6, 0x80(r1) /* 802ABEE4 002A8E44 38 81 00 08 */ addi r4, r1, 8 /* 802ABEE8 002A8E48 80 03 00 04 */ lwz r0, 4(r3) /* 802ABEEC 002A8E4C 80 A3 00 00 */ lwz r5, 0(r3) /* 802ABEF0 002A8E50 7F 43 D3 78 */ mr r3, r26 /* 802ABEF4 002A8E54 7C C0 03 78 */ or r0, r6, r0 /* 802ABEF8 002A8E58 90 01 00 0C */ stw r0, 0xc(r1) /* 802ABEFC 002A8E5C 90 A1 00 08 */ stw r5, 8(r1) /* 802ABF00 002A8E60 48 02 94 4D */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802ABF04 002A8E64 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABF08 002A8E68 41 82 00 2C */ beq lbl_802ABF34 /* 802ABF0C 002A8E6C 7F 86 E3 78 */ mr r6, r28 /* 802ABF10 002A8E70 7F A7 EB 78 */ mr r7, r29 /* 802ABF14 002A8E74 38 61 00 28 */ addi r3, r1, 0x28 /* 802ABF18 002A8E78 38 81 00 1C */ addi r4, r1, 0x1c /* 802ABF1C 002A8E7C 38 A1 00 5C */ addi r5, r1, 0x5c /* 802ABF20 002A8E80 48 02 55 C1 */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802ABF24 002A8E84 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABF28 002A8E88 41 82 00 0C */ beq lbl_802ABF34 /* 802ABF2C 002A8E8C 38 60 00 01 */ li r3, 1 /* 802ABF30 002A8E90 48 00 00 80 */ b lbl_802ABFB0 lbl_802ABF34: /* 802ABF34 002A8E94 3A F7 00 02 */ addi r23, r23, 2 /* 802ABF38 002A8E98 3B 7B 00 01 */ addi r27, r27, 1 lbl_802ABF3C: /* 802ABF3C 002A8E9C 7C 1B F0 00 */ cmpw r27, r30 /* 802ABF40 002A8EA0 41 80 FF 24 */ blt lbl_802ABE64 /* 802ABF44 002A8EA4 48 00 00 68 */ b lbl_802ABFAC lbl_802ABF48: /* 802ABF48 002A8EA8 80 9C 00 40 */ lwz r4, 0x40(r28) /* 802ABF4C 002A8EAC 7F 03 C3 78 */ mr r3, r24 /* 802ABF50 002A8EB0 7F 25 CB 78 */ mr r5, r25 /* 802ABF54 002A8EB4 7F 66 DB 78 */ mr r6, r27 /* 802ABF58 002A8EB8 7E E7 BB 78 */ mr r7, r23 /* 802ABF5C 002A8EBC 7F 48 D3 78 */ mr r8, r26 /* 802ABF60 002A8EC0 4B FF FE 29 */ bl AABoxCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC15CMaterialFilter /* 802ABF64 002A8EC4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABF68 002A8EC8 41 82 00 0C */ beq lbl_802ABF74 /* 802ABF6C 002A8ECC 38 60 00 01 */ li r3, 1 /* 802ABF70 002A8ED0 48 00 00 40 */ b lbl_802ABFB0 lbl_802ABF74: /* 802ABF74 002A8ED4 80 9C 00 44 */ lwz r4, 0x44(r28) /* 802ABF78 002A8ED8 7F 03 C3 78 */ mr r3, r24 /* 802ABF7C 002A8EDC 7F 25 CB 78 */ mr r5, r25 /* 802ABF80 002A8EE0 7F 66 DB 78 */ mr r6, r27 /* 802ABF84 002A8EE4 7E E7 BB 78 */ mr r7, r23 /* 802ABF88 002A8EE8 7F 48 D3 78 */ mr r8, r26 /* 802ABF8C 002A8EEC 4B FF FD FD */ bl AABoxCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC15CMaterialFilter /* 802ABF90 002A8EF0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802ABF94 002A8EF4 41 82 00 18 */ beq lbl_802ABFAC /* 802ABF98 002A8EF8 38 60 00 01 */ li r3, 1 /* 802ABF9C 002A8EFC 48 00 00 14 */ b lbl_802ABFB0 lbl_802ABFA0: /* 802ABFA0 002A8F00 80 78 00 18 */ lwz r3, 0x18(r24) /* 802ABFA4 002A8F04 38 03 00 01 */ addi r0, r3, 1 /* 802ABFA8 002A8F08 90 18 00 18 */ stw r0, 0x18(r24) lbl_802ABFAC: /* 802ABFAC 002A8F0C 38 60 00 00 */ li r3, 0 lbl_802ABFB0: /* 802ABFB0 002A8F10 BA E1 00 8C */ lmw r23, 0x8c(r1) /* 802ABFB4 002A8F14 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 802ABFB8 002A8F18 7C 08 03 A6 */ mtlr r0 /* 802ABFBC 002A8F1C 38 21 00 B0 */ addi r1, r1, 0xb0 /* 802ABFC0 002A8F20 4E 80 00 20 */ blr .global SphereCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList SphereCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList: /* 802ABFC4 002A8F24 94 21 FE F0 */ stwu r1, -0x110(r1) /* 802ABFC8 002A8F28 7C 08 02 A6 */ mflr r0 /* 802ABFCC 002A8F2C 3D 40 80 5A */ lis r10, skZero3f@ha /* 802ABFD0 002A8F30 90 01 01 14 */ stw r0, 0x114(r1) /* 802ABFD4 002A8F34 BE 61 00 DC */ stmw r19, 0xdc(r1) /* 802ABFD8 002A8F38 7C 94 23 78 */ mr r20, r4 /* 802ABFDC 002A8F3C 38 8A 66 A0 */ addi r4, r10, skZero3f@l /* 802ABFE0 002A8F40 3B 81 00 5C */ addi r28, r1, 0x5c /* 802ABFE4 002A8F44 3B A1 00 68 */ addi r29, r1, 0x68 /* 802ABFE8 002A8F48 7C 73 1B 78 */ mr r19, r3 /* 802ABFEC 002A8F4C 7C B5 2B 78 */ mr r21, r5 /* 802ABFF0 002A8F50 7C D6 33 78 */ mr r22, r6 /* 802ABFF4 002A8F54 7C F7 3B 78 */ mr r23, r7 /* 802ABFF8 002A8F58 7D 18 43 78 */ mr r24, r8 /* 802ABFFC 002A8F5C 7D 39 4B 78 */ mr r25, r9 /* 802AC000 002A8F60 3B 60 00 00 */ li r27, 0 /* 802AC004 002A8F64 3B 40 00 00 */ li r26, 0 /* 802AC008 002A8F68 3B C0 00 00 */ li r30, 0 /* 802AC00C 002A8F6C C0 04 00 00 */ lfs f0, 0(r4) /* 802AC010 002A8F70 C0 24 00 04 */ lfs f1, 4(r4) /* 802AC014 002A8F74 C0 44 00 08 */ lfs f2, 8(r4) /* 802AC018 002A8F78 D0 01 00 1C */ stfs f0, 0x1c(r1) /* 802AC01C 002A8F7C 83 F4 00 04 */ lwz r31, 4(r20) /* 802AC020 002A8F80 D0 21 00 20 */ stfs f1, 0x20(r1) /* 802AC024 002A8F84 D0 41 00 24 */ stfs f2, 0x24(r1) /* 802AC028 002A8F88 D0 01 00 10 */ stfs f0, 0x10(r1) /* 802AC02C 002A8F8C D0 21 00 14 */ stfs f1, 0x14(r1) /* 802AC030 002A8F90 D0 41 00 18 */ stfs f2, 0x18(r1) /* 802AC034 002A8F94 48 00 01 10 */ b lbl_802AC144 lbl_802AC038: /* 802AC038 002A8F98 80 B4 00 0C */ lwz r5, 0xc(r20) /* 802AC03C 002A8F9C 7E A6 AB 78 */ mr r6, r21 /* 802AC040 002A8FA0 80 93 00 10 */ lwz r4, 0x10(r19) /* 802AC044 002A8FA4 38 61 00 28 */ addi r3, r1, 0x28 /* 802AC048 002A8FA8 7C A5 F2 2E */ lhzx r5, r5, r30 /* 802AC04C 002A8FAC 4B FF C9 F5 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802AC050 002A8FB0 C1 01 00 28 */ lfs f8, 0x28(r1) /* 802AC054 002A8FB4 7E 63 9B 78 */ mr r3, r19 /* 802AC058 002A8FB8 C0 E1 00 2C */ lfs f7, 0x2c(r1) /* 802AC05C 002A8FBC C0 C1 00 30 */ lfs f6, 0x30(r1) /* 802AC060 002A8FC0 C0 A1 00 34 */ lfs f5, 0x34(r1) /* 802AC064 002A8FC4 C0 81 00 38 */ lfs f4, 0x38(r1) /* 802AC068 002A8FC8 C0 61 00 3C */ lfs f3, 0x3c(r1) /* 802AC06C 002A8FCC C0 41 00 40 */ lfs f2, 0x40(r1) /* 802AC070 002A8FD0 C0 21 00 44 */ lfs f1, 0x44(r1) /* 802AC074 002A8FD4 C0 01 00 48 */ lfs f0, 0x48(r1) /* 802AC078 002A8FD8 80 01 00 4C */ lwz r0, 0x4c(r1) /* 802AC07C 002A8FDC D1 01 00 50 */ stfs f8, 0x50(r1) /* 802AC080 002A8FE0 D0 E1 00 54 */ stfs f7, 0x54(r1) /* 802AC084 002A8FE4 D0 C1 00 58 */ stfs f6, 0x58(r1) /* 802AC088 002A8FE8 D0 A1 00 5C */ stfs f5, 0x5c(r1) /* 802AC08C 002A8FEC D0 81 00 60 */ stfs f4, 0x60(r1) /* 802AC090 002A8FF0 D0 61 00 64 */ stfs f3, 0x64(r1) /* 802AC094 002A8FF4 D0 41 00 68 */ stfs f2, 0x68(r1) /* 802AC098 002A8FF8 D0 21 00 6C */ stfs f1, 0x6c(r1) /* 802AC09C 002A8FFC D0 01 00 70 */ stfs f0, 0x70(r1) /* 802AC0A0 002A9000 90 01 00 74 */ stw r0, 0x74(r1) /* 802AC0A4 002A9004 81 93 00 00 */ lwz r12, 0(r19) /* 802AC0A8 002A9008 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802AC0AC 002A900C 7D 89 03 A6 */ mtctr r12 /* 802AC0B0 002A9010 4E 80 04 21 */ bctrl /* 802AC0B4 002A9014 80 C1 00 74 */ lwz r6, 0x74(r1) /* 802AC0B8 002A9018 38 81 00 08 */ addi r4, r1, 8 /* 802AC0BC 002A901C 80 03 00 04 */ lwz r0, 4(r3) /* 802AC0C0 002A9020 80 A3 00 00 */ lwz r5, 0(r3) /* 802AC0C4 002A9024 7F 03 C3 78 */ mr r3, r24 /* 802AC0C8 002A9028 7C C0 03 78 */ or r0, r6, r0 /* 802AC0CC 002A902C 90 01 00 0C */ stw r0, 0xc(r1) /* 802AC0D0 002A9030 90 A1 00 08 */ stw r5, 8(r1) /* 802AC0D4 002A9034 48 02 92 79 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802AC0D8 002A9038 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC0DC 002A903C 41 82 00 60 */ beq lbl_802AC13C /* 802AC0E0 002A9040 80 93 00 1C */ lwz r4, 0x1c(r19) /* 802AC0E4 002A9044 7E C3 B3 78 */ mr r3, r22 /* 802AC0E8 002A9048 7F 85 E3 78 */ mr r5, r28 /* 802AC0EC 002A904C 7F A6 EB 78 */ mr r6, r29 /* 802AC0F0 002A9050 38 04 00 01 */ addi r0, r4, 1 /* 802AC0F4 002A9054 38 81 00 50 */ addi r4, r1, 0x50 /* 802AC0F8 002A9058 90 13 00 1C */ stw r0, 0x1c(r19) /* 802AC0FC 002A905C 38 E1 00 1C */ addi r7, r1, 0x1c /* 802AC100 002A9060 39 01 00 10 */ addi r8, r1, 0x10 /* 802AC104 002A9064 48 02 41 4D */ bl TriSphereIntersection__13CollisionUtilFRC7CSphereRC9CVector3fRC9CVector3fRC9CVector3fR9CVector3fR9CVector3f /* 802AC108 002A9068 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC10C 002A906C 41 82 00 30 */ beq lbl_802AC13C /* 802AC110 002A9070 7E E5 BB 78 */ mr r5, r23 /* 802AC114 002A9074 38 61 00 78 */ addi r3, r1, 0x78 /* 802AC118 002A9078 38 81 00 1C */ addi r4, r1, 0x1c /* 802AC11C 002A907C 38 C1 00 08 */ addi r6, r1, 8 /* 802AC120 002A9080 38 E1 00 10 */ addi r7, r1, 0x10 /* 802AC124 002A9084 48 02 23 25 */ bl __ct__14CCollisionInfoFRC9CVector3fRC13CMaterialListRC13CMaterialListRC9CVector3f /* 802AC128 002A9088 7C 64 1B 78 */ mr r4, r3 /* 802AC12C 002A908C 7F 23 CB 78 */ mr r3, r25 /* 802AC130 002A9090 38 A0 00 00 */ li r5, 0 /* 802AC134 002A9094 4B ED 94 ED */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802AC138 002A9098 3B 60 00 01 */ li r27, 1 lbl_802AC13C: /* 802AC13C 002A909C 3B DE 00 02 */ addi r30, r30, 2 /* 802AC140 002A90A0 3B 5A 00 01 */ addi r26, r26, 1 lbl_802AC144: /* 802AC144 002A90A4 7C 1A F8 00 */ cmpw r26, r31 /* 802AC148 002A90A8 41 80 FE F0 */ blt lbl_802AC038 /* 802AC14C 002A90AC 7F 63 DB 78 */ mr r3, r27 /* 802AC150 002A90B0 BA 61 00 DC */ lmw r19, 0xdc(r1) /* 802AC154 002A90B4 80 01 01 14 */ lwz r0, 0x114(r1) /* 802AC158 002A90B8 7C 08 03 A6 */ mtlr r0 /* 802AC15C 002A90BC 38 21 01 10 */ addi r1, r1, 0x110 /* 802AC160 002A90C0 4E 80 00 20 */ blr .global SphereCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList SphereCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList: /* 802AC164 002A90C4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 802AC168 002A90C8 7C 08 02 A6 */ mflr r0 /* 802AC16C 002A90CC 90 01 00 34 */ stw r0, 0x34(r1) /* 802AC170 002A90D0 BE E1 00 0C */ stmw r23, 0xc(r1) /* 802AC174 002A90D4 7C 77 1B 78 */ mr r23, r3 /* 802AC178 002A90D8 7C FB 3B 78 */ mr r27, r7 /* 802AC17C 002A90DC 7C 98 23 78 */ mr r24, r4 /* 802AC180 002A90E0 7C B9 2B 78 */ mr r25, r5 /* 802AC184 002A90E4 7C DA 33 78 */ mr r26, r6 /* 802AC188 002A90E8 7D 1C 43 78 */ mr r28, r8 /* 802AC18C 002A90EC 7D 3D 4B 78 */ mr r29, r9 /* 802AC190 002A90F0 7D 5E 53 78 */ mr r30, r10 /* 802AC194 002A90F4 3B E0 00 00 */ li r31, 0 /* 802AC198 002A90F8 80 63 00 14 */ lwz r3, 0x14(r3) /* 802AC19C 002A90FC 38 03 00 01 */ addi r0, r3, 1 /* 802AC1A0 002A9100 7F 63 DB 78 */ mr r3, r27 /* 802AC1A4 002A9104 90 17 00 14 */ stw r0, 0x14(r23) /* 802AC1A8 002A9108 48 02 92 ED */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802AC1AC 002A910C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC1B0 002A9110 41 82 00 AC */ beq lbl_802AC25C /* 802AC1B4 002A9114 38 00 00 01 */ li r0, 1 /* 802AC1B8 002A9118 98 18 00 4C */ stb r0, 0x4c(r24) /* 802AC1BC 002A911C 88 18 00 3C */ lbz r0, 0x3c(r24) /* 802AC1C0 002A9120 28 00 00 00 */ cmplwi r0, 0 /* 802AC1C4 002A9124 41 82 00 34 */ beq lbl_802AC1F8 /* 802AC1C8 002A9128 80 98 00 48 */ lwz r4, 0x48(r24) /* 802AC1CC 002A912C 7E E3 BB 78 */ mr r3, r23 /* 802AC1D0 002A9130 7F 25 CB 78 */ mr r5, r25 /* 802AC1D4 002A9134 7F 46 D3 78 */ mr r6, r26 /* 802AC1D8 002A9138 7F 87 E3 78 */ mr r7, r28 /* 802AC1DC 002A913C 7F A8 EB 78 */ mr r8, r29 /* 802AC1E0 002A9140 7F C9 F3 78 */ mr r9, r30 /* 802AC1E4 002A9144 4B FF FD E1 */ bl SphereCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC7CSphereRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList /* 802AC1E8 002A9148 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC1EC 002A914C 41 82 00 7C */ beq lbl_802AC268 /* 802AC1F0 002A9150 3B E0 00 01 */ li r31, 1 /* 802AC1F4 002A9154 48 00 00 74 */ b lbl_802AC268 lbl_802AC1F8: /* 802AC1F8 002A9158 80 98 00 40 */ lwz r4, 0x40(r24) /* 802AC1FC 002A915C 7E E3 BB 78 */ mr r3, r23 /* 802AC200 002A9160 7F 25 CB 78 */ mr r5, r25 /* 802AC204 002A9164 7F 46 D3 78 */ mr r6, r26 /* 802AC208 002A9168 7F 67 DB 78 */ mr r7, r27 /* 802AC20C 002A916C 7F 88 E3 78 */ mr r8, r28 /* 802AC210 002A9170 7F A9 EB 78 */ mr r9, r29 /* 802AC214 002A9174 7F CA F3 78 */ mr r10, r30 /* 802AC218 002A9178 4B FF FF 4D */ bl SphereCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList /* 802AC21C 002A917C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC220 002A9180 41 82 00 08 */ beq lbl_802AC228 /* 802AC224 002A9184 3B E0 00 01 */ li r31, 1 lbl_802AC228: /* 802AC228 002A9188 80 98 00 44 */ lwz r4, 0x44(r24) /* 802AC22C 002A918C 7E E3 BB 78 */ mr r3, r23 /* 802AC230 002A9190 7F 25 CB 78 */ mr r5, r25 /* 802AC234 002A9194 7F 46 D3 78 */ mr r6, r26 /* 802AC238 002A9198 7F 67 DB 78 */ mr r7, r27 /* 802AC23C 002A919C 7F 88 E3 78 */ mr r8, r28 /* 802AC240 002A91A0 7F A9 EB 78 */ mr r9, r29 /* 802AC244 002A91A4 7F CA F3 78 */ mr r10, r30 /* 802AC248 002A91A8 4B FF FF 1D */ bl SphereCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList /* 802AC24C 002A91AC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC250 002A91B0 41 82 00 18 */ beq lbl_802AC268 /* 802AC254 002A91B4 3B E0 00 01 */ li r31, 1 /* 802AC258 002A91B8 48 00 00 10 */ b lbl_802AC268 lbl_802AC25C: /* 802AC25C 002A91BC 80 77 00 18 */ lwz r3, 0x18(r23) /* 802AC260 002A91C0 38 03 00 01 */ addi r0, r3, 1 /* 802AC264 002A91C4 90 17 00 18 */ stw r0, 0x18(r23) lbl_802AC268: /* 802AC268 002A91C8 7F E3 FB 78 */ mr r3, r31 /* 802AC26C 002A91CC BA E1 00 0C */ lmw r23, 0xc(r1) /* 802AC270 002A91D0 80 01 00 34 */ lwz r0, 0x34(r1) /* 802AC274 002A91D4 7C 08 03 A6 */ mtlr r0 /* 802AC278 002A91D8 38 21 00 30 */ addi r1, r1, 0x30 /* 802AC27C 002A91DC 4E 80 00 20 */ blr .global AABoxCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList AABoxCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList: /* 802AC280 002A91E0 94 21 FE A0 */ stwu r1, -0x160(r1) /* 802AC284 002A91E4 7C 08 02 A6 */ mflr r0 /* 802AC288 002A91E8 90 01 01 64 */ stw r0, 0x164(r1) /* 802AC28C 002A91EC BE 41 01 28 */ stmw r18, 0x128(r1) /* 802AC290 002A91F0 7C 72 1B 78 */ mr r18, r3 /* 802AC294 002A91F4 7C D9 33 78 */ mr r25, r6 /* 802AC298 002A91F8 7C 93 23 78 */ mr r19, r4 /* 802AC29C 002A91FC 7C B4 2B 78 */ mr r20, r5 /* 802AC2A0 002A9200 7C F5 3B 78 */ mr r21, r7 /* 802AC2A4 002A9204 7D 16 43 78 */ mr r22, r8 /* 802AC2A8 002A9208 7D 37 4B 78 */ mr r23, r9 /* 802AC2AC 002A920C 7D 58 53 78 */ mr r24, r10 /* 802AC2B0 002A9210 7F 24 CB 78 */ mr r4, r25 /* 802AC2B4 002A9214 38 61 00 2C */ addi r3, r1, 0x2c /* 802AC2B8 002A9218 48 08 B3 55 */ bl GetCenterPoint__6CAABoxCFv /* 802AC2BC 002A921C C0 79 00 10 */ lfs f3, 0x10(r25) /* 802AC2C0 002A9220 3C 60 80 5A */ lis r3, lbl_805A6754@ha /* 802AC2C4 002A9224 C0 59 00 04 */ lfs f2, 4(r25) /* 802AC2C8 002A9228 3B 61 00 AC */ addi r27, r1, 0xac /* 802AC2CC 002A922C C0 39 00 14 */ lfs f1, 0x14(r25) /* 802AC2D0 002A9230 3B 81 00 B8 */ addi r28, r1, 0xb8 /* 802AC2D4 002A9234 C0 19 00 08 */ lfs f0, 8(r25) /* 802AC2D8 002A9238 EC 63 10 28 */ fsubs f3, f3, f2 /* 802AC2DC 002A923C C0 82 C1 BC */ lfs f4, lbl_805ADEDC@sda21(r2) /* 802AC2E0 002A9240 3B E3 67 54 */ addi r31, r3, lbl_805A6754@l /* 802AC2E4 002A9244 EC 41 00 28 */ fsubs f2, f1, f0 /* 802AC2E8 002A9248 C0 39 00 0C */ lfs f1, 0xc(r25) /* 802AC2EC 002A924C C0 19 00 00 */ lfs f0, 0(r25) /* 802AC2F0 002A9250 EC C4 00 F2 */ fmuls f6, f4, f3 /* 802AC2F4 002A9254 C0 61 00 2C */ lfs f3, 0x2c(r1) /* 802AC2F8 002A9258 EC 01 00 28 */ fsubs f0, f1, f0 /* 802AC2FC 002A925C EC A4 00 B2 */ fmuls f5, f4, f2 /* 802AC300 002A9260 C0 41 00 30 */ lfs f2, 0x30(r1) /* 802AC304 002A9264 C0 21 00 34 */ lfs f1, 0x34(r1) /* 802AC308 002A9268 EC 04 00 32 */ fmuls f0, f4, f0 /* 802AC30C 002A926C D0 61 00 54 */ stfs f3, 0x54(r1) /* 802AC310 002A9270 83 D3 00 04 */ lwz r30, 4(r19) /* 802AC314 002A9274 D0 41 00 58 */ stfs f2, 0x58(r1) /* 802AC318 002A9278 3B 40 00 00 */ li r26, 0 /* 802AC31C 002A927C 3B 20 00 00 */ li r25, 0 /* 802AC320 002A9280 D0 21 00 5C */ stfs f1, 0x5c(r1) /* 802AC324 002A9284 3B A0 00 00 */ li r29, 0 /* 802AC328 002A9288 D0 01 00 48 */ stfs f0, 0x48(r1) /* 802AC32C 002A928C D0 C1 00 4C */ stfs f6, 0x4c(r1) /* 802AC330 002A9290 D0 A1 00 50 */ stfs f5, 0x50(r1) /* 802AC334 002A9294 48 00 01 A0 */ b lbl_802AC4D4 lbl_802AC338: /* 802AC338 002A9298 80 B3 00 0C */ lwz r5, 0xc(r19) /* 802AC33C 002A929C 7E 86 A3 78 */ mr r6, r20 /* 802AC340 002A92A0 80 92 00 10 */ lwz r4, 0x10(r18) /* 802AC344 002A92A4 38 61 00 78 */ addi r3, r1, 0x78 /* 802AC348 002A92A8 7C A5 EA 2E */ lhzx r5, r5, r29 /* 802AC34C 002A92AC 4B FF C6 F5 */ bl GetTransformedSurface__8COBBTreeCFUsRC12CTransform4f /* 802AC350 002A92B0 C1 01 00 78 */ lfs f8, 0x78(r1) /* 802AC354 002A92B4 7E 43 93 78 */ mr r3, r18 /* 802AC358 002A92B8 C0 E1 00 7C */ lfs f7, 0x7c(r1) /* 802AC35C 002A92BC C0 C1 00 80 */ lfs f6, 0x80(r1) /* 802AC360 002A92C0 C0 A1 00 84 */ lfs f5, 0x84(r1) /* 802AC364 002A92C4 C0 81 00 88 */ lfs f4, 0x88(r1) /* 802AC368 002A92C8 C0 61 00 8C */ lfs f3, 0x8c(r1) /* 802AC36C 002A92CC C0 41 00 90 */ lfs f2, 0x90(r1) /* 802AC370 002A92D0 C0 21 00 94 */ lfs f1, 0x94(r1) /* 802AC374 002A92D4 C0 01 00 98 */ lfs f0, 0x98(r1) /* 802AC378 002A92D8 80 01 00 9C */ lwz r0, 0x9c(r1) /* 802AC37C 002A92DC D1 01 00 A0 */ stfs f8, 0xa0(r1) /* 802AC380 002A92E0 D0 E1 00 A4 */ stfs f7, 0xa4(r1) /* 802AC384 002A92E4 D0 C1 00 A8 */ stfs f6, 0xa8(r1) /* 802AC388 002A92E8 D0 A1 00 AC */ stfs f5, 0xac(r1) /* 802AC38C 002A92EC D0 81 00 B0 */ stfs f4, 0xb0(r1) /* 802AC390 002A92F0 D0 61 00 B4 */ stfs f3, 0xb4(r1) /* 802AC394 002A92F4 D0 41 00 B8 */ stfs f2, 0xb8(r1) /* 802AC398 002A92F8 D0 21 00 BC */ stfs f1, 0xbc(r1) /* 802AC39C 002A92FC D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 802AC3A0 002A9300 90 01 00 C4 */ stw r0, 0xc4(r1) /* 802AC3A4 002A9304 81 92 00 00 */ lwz r12, 0(r18) /* 802AC3A8 002A9308 81 8C 00 10 */ lwz r12, 0x10(r12) /* 802AC3AC 002A930C 7D 89 03 A6 */ mtctr r12 /* 802AC3B0 002A9310 4E 80 04 21 */ bctrl /* 802AC3B4 002A9314 80 C1 00 C4 */ lwz r6, 0xc4(r1) /* 802AC3B8 002A9318 38 81 00 08 */ addi r4, r1, 8 /* 802AC3BC 002A931C 80 03 00 04 */ lwz r0, 4(r3) /* 802AC3C0 002A9320 80 A3 00 00 */ lwz r5, 0(r3) /* 802AC3C4 002A9324 7E C3 B3 78 */ mr r3, r22 /* 802AC3C8 002A9328 7C C0 03 78 */ or r0, r6, r0 /* 802AC3CC 002A932C 90 01 00 0C */ stw r0, 0xc(r1) /* 802AC3D0 002A9330 90 A1 00 08 */ stw r5, 8(r1) /* 802AC3D4 002A9334 48 02 8F 79 */ bl Passes__15CMaterialFilterCFRC13CMaterialList /* 802AC3D8 002A9338 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC3DC 002A933C 41 82 00 F0 */ beq lbl_802AC4CC /* 802AC3E0 002A9340 7F 66 DB 78 */ mr r6, r27 /* 802AC3E4 002A9344 7F 87 E3 78 */ mr r7, r28 /* 802AC3E8 002A9348 38 61 00 54 */ addi r3, r1, 0x54 /* 802AC3EC 002A934C 38 81 00 48 */ addi r4, r1, 0x48 /* 802AC3F0 002A9350 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 802AC3F4 002A9354 48 02 50 ED */ bl TriBoxOverlap__13CollisionUtilFRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3fRC9CVector3f /* 802AC3F8 002A9358 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC3FC 002A935C 41 82 00 D0 */ beq lbl_802AC4CC /* 802AC400 002A9360 3C 60 80 5A */ lis r3, lbl_805A6754@ha /* 802AC404 002A9364 80 92 00 1C */ lwz r4, 0x1c(r18) /* 802AC408 002A9368 C0 A3 67 54 */ lfs f5, lbl_805A6754@l(r3) /* 802AC40C 002A936C 7E E3 BB 78 */ mr r3, r23 /* 802AC410 002A9370 38 04 00 01 */ addi r0, r4, 1 /* 802AC414 002A9374 C0 9F 00 04 */ lfs f4, 4(r31) /* 802AC418 002A9378 C0 7F 00 08 */ lfs f3, 8(r31) /* 802AC41C 002A937C 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802AC420 002A9380 C0 5F 00 0C */ lfs f2, 0xc(r31) /* 802AC424 002A9384 38 A1 00 60 */ addi r5, r1, 0x60 /* 802AC428 002A9388 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 802AC42C 002A938C C0 1F 00 14 */ lfs f0, 0x14(r31) /* 802AC430 002A9390 90 12 00 1C */ stw r0, 0x1c(r18) /* 802AC434 002A9394 D0 A1 00 60 */ stfs f5, 0x60(r1) /* 802AC438 002A9398 D0 81 00 64 */ stfs f4, 0x64(r1) /* 802AC43C 002A939C D0 61 00 68 */ stfs f3, 0x68(r1) /* 802AC440 002A93A0 D0 41 00 6C */ stfs f2, 0x6c(r1) /* 802AC444 002A93A4 D0 21 00 70 */ stfs f1, 0x70(r1) /* 802AC448 002A93A8 D0 01 00 74 */ stfs f0, 0x74(r1) /* 802AC44C 002A93AC 4B FF AC 8D */ bl ConvexPolyCollision__20CMetroidAreaColliderFPC6CPlanePC9CVector3fR6CAABox /* 802AC450 002A93B0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC454 002A93B4 41 82 00 78 */ beq lbl_802AC4CC /* 802AC458 002A93B8 38 61 00 1C */ addi r3, r1, 0x1c /* 802AC45C 002A93BC 38 81 00 A0 */ addi r4, r1, 0xa0 /* 802AC460 002A93C0 4B FF 61 D5 */ bl GetPlane__17CCollisionSurfaceCFv /* 802AC464 002A93C4 C0 C1 00 1C */ lfs f6, 0x1c(r1) /* 802AC468 002A93C8 7E A6 AB 78 */ mr r6, r21 /* 802AC46C 002A93CC C0 A1 00 20 */ lfs f5, 0x20(r1) /* 802AC470 002A93D0 38 61 00 C8 */ addi r3, r1, 0xc8 /* 802AC474 002A93D4 C0 81 00 24 */ lfs f4, 0x24(r1) /* 802AC478 002A93D8 FC 40 30 50 */ fneg f2, f6 /* 802AC47C 002A93DC FC 20 28 50 */ fneg f1, f5 /* 802AC480 002A93E0 C0 61 00 28 */ lfs f3, 0x28(r1) /* 802AC484 002A93E4 FC 00 20 50 */ fneg f0, f4 /* 802AC488 002A93E8 D0 C1 00 38 */ stfs f6, 0x38(r1) /* 802AC48C 002A93EC 38 81 00 60 */ addi r4, r1, 0x60 /* 802AC490 002A93F0 D0 A1 00 3C */ stfs f5, 0x3c(r1) /* 802AC494 002A93F4 38 A1 00 08 */ addi r5, r1, 8 /* 802AC498 002A93F8 38 E1 00 38 */ addi r7, r1, 0x38 /* 802AC49C 002A93FC D0 81 00 40 */ stfs f4, 0x40(r1) /* 802AC4A0 002A9400 39 01 00 10 */ addi r8, r1, 0x10 /* 802AC4A4 002A9404 D0 61 00 44 */ stfs f3, 0x44(r1) /* 802AC4A8 002A9408 D0 41 00 10 */ stfs f2, 0x10(r1) /* 802AC4AC 002A940C D0 21 00 14 */ stfs f1, 0x14(r1) /* 802AC4B0 002A9410 D0 01 00 18 */ stfs f0, 0x18(r1) /* 802AC4B4 002A9414 48 02 1E 05 */ bl __ct__14CCollisionInfoFRC6CAABoxRC13CMaterialListRC13CMaterialListRC9CVector3fRC9CVector3f /* 802AC4B8 002A9418 7C 64 1B 78 */ mr r4, r3 /* 802AC4BC 002A941C 7F 03 C3 78 */ mr r3, r24 /* 802AC4C0 002A9420 38 A0 00 00 */ li r5, 0 /* 802AC4C4 002A9424 4B ED 91 5D */ bl Add__18CCollisionInfoListFRC14CCollisionInfob /* 802AC4C8 002A9428 3B 40 00 01 */ li r26, 1 lbl_802AC4CC: /* 802AC4CC 002A942C 3B BD 00 02 */ addi r29, r29, 2 /* 802AC4D0 002A9430 3B 39 00 01 */ addi r25, r25, 1 lbl_802AC4D4: /* 802AC4D4 002A9434 7C 19 F0 00 */ cmpw r25, r30 /* 802AC4D8 002A9438 41 80 FE 60 */ blt lbl_802AC338 /* 802AC4DC 002A943C 7F 43 D3 78 */ mr r3, r26 /* 802AC4E0 002A9440 BA 41 01 28 */ lmw r18, 0x128(r1) /* 802AC4E4 002A9444 80 01 01 64 */ lwz r0, 0x164(r1) /* 802AC4E8 002A9448 7C 08 03 A6 */ mtlr r0 /* 802AC4EC 002A944C 38 21 01 60 */ addi r1, r1, 0x160 /* 802AC4F0 002A9450 4E 80 00 20 */ blr .global AABoxCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList AABoxCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList: /* 802AC4F4 002A9454 94 21 FF C0 */ stwu r1, -0x40(r1) /* 802AC4F8 002A9458 7C 08 02 A6 */ mflr r0 /* 802AC4FC 002A945C 90 01 00 44 */ stw r0, 0x44(r1) /* 802AC500 002A9460 BE C1 00 18 */ stmw r22, 0x18(r1) /* 802AC504 002A9464 7C 7F 1B 78 */ mr r31, r3 /* 802AC508 002A9468 7C F9 3B 78 */ mr r25, r7 /* 802AC50C 002A946C 83 A1 00 48 */ lwz r29, 0x48(r1) /* 802AC510 002A9470 7C 96 23 78 */ mr r22, r4 /* 802AC514 002A9474 7C B7 2B 78 */ mr r23, r5 /* 802AC518 002A9478 7C D8 33 78 */ mr r24, r6 /* 802AC51C 002A947C 7D 1A 43 78 */ mr r26, r8 /* 802AC520 002A9480 7D 3B 4B 78 */ mr r27, r9 /* 802AC524 002A9484 7D 5C 53 78 */ mr r28, r10 /* 802AC528 002A9488 3B C0 00 00 */ li r30, 0 /* 802AC52C 002A948C 80 63 00 14 */ lwz r3, 0x14(r3) /* 802AC530 002A9490 38 03 00 01 */ addi r0, r3, 1 /* 802AC534 002A9494 7F 23 CB 78 */ mr r3, r25 /* 802AC538 002A9498 90 1F 00 14 */ stw r0, 0x14(r31) /* 802AC53C 002A949C 48 02 8F 59 */ bl OBBIntersectsBox__6COBBoxCFRC6COBBox /* 802AC540 002A94A0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC544 002A94A4 41 82 00 B8 */ beq lbl_802AC5FC /* 802AC548 002A94A8 38 00 00 01 */ li r0, 1 /* 802AC54C 002A94AC 98 16 00 4C */ stb r0, 0x4c(r22) /* 802AC550 002A94B0 88 16 00 3C */ lbz r0, 0x3c(r22) /* 802AC554 002A94B4 28 00 00 00 */ cmplwi r0, 0 /* 802AC558 002A94B8 41 82 00 38 */ beq lbl_802AC590 /* 802AC55C 002A94BC 80 96 00 48 */ lwz r4, 0x48(r22) /* 802AC560 002A94C0 7F E3 FB 78 */ mr r3, r31 /* 802AC564 002A94C4 7E E5 BB 78 */ mr r5, r23 /* 802AC568 002A94C8 7F 06 C3 78 */ mr r6, r24 /* 802AC56C 002A94CC 7F 47 D3 78 */ mr r7, r26 /* 802AC570 002A94D0 7F 68 DB 78 */ mr r8, r27 /* 802AC574 002A94D4 7F 89 E3 78 */ mr r9, r28 /* 802AC578 002A94D8 7F AA EB 78 */ mr r10, r29 /* 802AC57C 002A94DC 4B FF FD 05 */ bl AABoxCollideWithLeaf__18CCollidableOBBTreeCFRCQ28COBBTree9CLeafDataRC12CTransform4fRC6CAABoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList /* 802AC580 002A94E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC584 002A94E4 41 82 00 84 */ beq lbl_802AC608 /* 802AC588 002A94E8 3B C0 00 01 */ li r30, 1 /* 802AC58C 002A94EC 48 00 00 7C */ b lbl_802AC608 lbl_802AC590: /* 802AC590 002A94F0 93 A1 00 08 */ stw r29, 8(r1) /* 802AC594 002A94F4 7F E3 FB 78 */ mr r3, r31 /* 802AC598 002A94F8 7E E5 BB 78 */ mr r5, r23 /* 802AC59C 002A94FC 7F 06 C3 78 */ mr r6, r24 /* 802AC5A0 002A9500 80 96 00 40 */ lwz r4, 0x40(r22) /* 802AC5A4 002A9504 7F 27 CB 78 */ mr r7, r25 /* 802AC5A8 002A9508 7F 48 D3 78 */ mr r8, r26 /* 802AC5AC 002A950C 7F 69 DB 78 */ mr r9, r27 /* 802AC5B0 002A9510 7F 8A E3 78 */ mr r10, r28 /* 802AC5B4 002A9514 4B FF FF 41 */ bl AABoxCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList /* 802AC5B8 002A9518 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC5BC 002A951C 41 82 00 08 */ beq lbl_802AC5C4 /* 802AC5C0 002A9520 3B C0 00 01 */ li r30, 1 lbl_802AC5C4: /* 802AC5C4 002A9524 93 A1 00 08 */ stw r29, 8(r1) /* 802AC5C8 002A9528 7F E3 FB 78 */ mr r3, r31 /* 802AC5CC 002A952C 7E E5 BB 78 */ mr r5, r23 /* 802AC5D0 002A9530 7F 06 C3 78 */ mr r6, r24 /* 802AC5D4 002A9534 80 96 00 44 */ lwz r4, 0x44(r22) /* 802AC5D8 002A9538 7F 27 CB 78 */ mr r7, r25 /* 802AC5DC 002A953C 7F 48 D3 78 */ mr r8, r26 /* 802AC5E0 002A9540 7F 69 DB 78 */ mr r9, r27 /* 802AC5E4 002A9544 7F 8A E3 78 */ mr r10, r28 /* 802AC5E8 002A9548 4B FF FF 0D */ bl AABoxCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList /* 802AC5EC 002A954C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 802AC5F0 002A9550 41 82 00 18 */ beq lbl_802AC608 /* 802AC5F4 002A9554 3B C0 00 01 */ li r30, 1 /* 802AC5F8 002A9558 48 00 00 10 */ b lbl_802AC608 lbl_802AC5FC: /* 802AC5FC 002A955C 80 7F 00 18 */ lwz r3, 0x18(r31) /* 802AC600 002A9560 38 03 00 01 */ addi r0, r3, 1 /* 802AC604 002A9564 90 1F 00 18 */ stw r0, 0x18(r31) lbl_802AC608: /* 802AC608 002A9568 7F C3 F3 78 */ mr r3, r30 /* 802AC60C 002A956C BA C1 00 18 */ lmw r22, 0x18(r1) /* 802AC610 002A9570 80 01 00 44 */ lwz r0, 0x44(r1) /* 802AC614 002A9574 7C 08 03 A6 */ mtlr r0 /* 802AC618 002A9578 38 21 00 40 */ addi r1, r1, 0x40 /* 802AC61C 002A957C 4E 80 00 20 */ blr .global GetPrimType__18CCollidableOBBTreeCFv GetPrimType__18CCollidableOBBTreeCFv: /* 802AC620 002A9580 3C 60 4F 42 */ lis r3, 0x4F424254@ha /* 802AC624 002A9584 38 63 42 54 */ addi r3, r3, 0x4F424254@l /* 802AC628 002A9588 4E 80 00 20 */ blr .global CalculateLocalAABox__18CCollidableOBBTreeCFv CalculateLocalAABox__18CCollidableOBBTreeCFv: /* 802AC62C 002A958C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802AC630 002A9590 7C 08 02 A6 */ mflr r0 /* 802AC634 002A9594 90 01 00 14 */ stw r0, 0x14(r1) /* 802AC638 002A9598 93 E1 00 0C */ stw r31, 0xc(r1) /* 802AC63C 002A959C 7C 7F 1B 78 */ mr r31, r3 /* 802AC640 002A95A0 80 84 00 10 */ lwz r4, 0x10(r4) /* 802AC644 002A95A4 4B FF C6 6D */ bl CalculateLocalAABox__8COBBTreeCFv /* 802AC648 002A95A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 802AC64C 002A95AC 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802AC650 002A95B0 7C 08 03 A6 */ mtlr r0 /* 802AC654 002A95B4 38 21 00 10 */ addi r1, r1, 0x10 /* 802AC658 002A95B8 4E 80 00 20 */ blr .global CalculateAABox__18CCollidableOBBTreeCFRC12CTransform4f CalculateAABox__18CCollidableOBBTreeCFRC12CTransform4f: /* 802AC65C 002A95BC 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 802AC660 002A95C0 7C 08 02 A6 */ mflr r0 /* 802AC664 002A95C4 90 01 00 A4 */ stw r0, 0xa4(r1) /* 802AC668 002A95C8 93 E1 00 9C */ stw r31, 0x9c(r1) /* 802AC66C 002A95CC 7C BF 2B 78 */ mr r31, r5 /* 802AC670 002A95D0 93 C1 00 98 */ stw r30, 0x98(r1) /* 802AC674 002A95D4 7C 7E 1B 78 */ mr r30, r3 /* 802AC678 002A95D8 38 61 00 08 */ addi r3, r1, 8 /* 802AC67C 002A95DC 80 84 00 10 */ lwz r4, 0x10(r4) /* 802AC680 002A95E0 4B FF C6 31 */ bl CalculateLocalAABox__8COBBTreeCFv /* 802AC684 002A95E4 7F E5 FB 78 */ mr r5, r31 /* 802AC688 002A95E8 38 61 00 20 */ addi r3, r1, 0x20 /* 802AC68C 002A95EC 38 81 00 08 */ addi r4, r1, 8 /* 802AC690 002A95F0 48 02 96 8D */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f /* 802AC694 002A95F4 38 61 00 5C */ addi r3, r1, 0x5c /* 802AC698 002A95F8 38 81 00 20 */ addi r4, r1, 0x20 /* 802AC69C 002A95FC 48 06 64 D9 */ bl __ct__12CTransform4fFRC12CTransform4f /* 802AC6A0 002A9600 C0 41 00 50 */ lfs f2, 0x50(r1) /* 802AC6A4 002A9604 3C 60 80 5A */ lis r3, skIdentity4f@ha /* 802AC6A8 002A9608 C0 21 00 54 */ lfs f1, 0x54(r1) /* 802AC6AC 002A960C 38 A3 66 70 */ addi r5, r3, skIdentity4f@l /* 802AC6B0 002A9610 C0 01 00 58 */ lfs f0, 0x58(r1) /* 802AC6B4 002A9614 7F C3 F3 78 */ mr r3, r30 /* 802AC6B8 002A9618 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 802AC6BC 002A961C 38 81 00 5C */ addi r4, r1, 0x5c /* 802AC6C0 002A9620 D0 21 00 90 */ stfs f1, 0x90(r1) /* 802AC6C4 002A9624 D0 01 00 94 */ stfs f0, 0x94(r1) /* 802AC6C8 002A9628 48 02 97 11 */ bl CalculateAABox__6COBBoxCFRC12CTransform4f /* 802AC6CC 002A962C 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 802AC6D0 002A9630 83 E1 00 9C */ lwz r31, 0x9c(r1) /* 802AC6D4 002A9634 83 C1 00 98 */ lwz r30, 0x98(r1) /* 802AC6D8 002A9638 7C 08 03 A6 */ mtlr r0 /* 802AC6DC 002A963C 38 21 00 A0 */ addi r1, r1, 0xa0 /* 802AC6E0 002A9640 4E 80 00 20 */ blr .global __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList: /* 802AC6E4 002A9644 94 21 FF F0 */ stwu r1, -0x10(r1) /* 802AC6E8 002A9648 7C 08 02 A6 */ mflr r0 /* 802AC6EC 002A964C 90 01 00 14 */ stw r0, 0x14(r1) /* 802AC6F0 002A9650 93 E1 00 0C */ stw r31, 0xc(r1) /* 802AC6F4 002A9654 7C 9F 23 78 */ mr r31, r4 /* 802AC6F8 002A9658 7C A4 2B 78 */ mr r4, r5 /* 802AC6FC 002A965C 93 C1 00 08 */ stw r30, 8(r1) /* 802AC700 002A9660 7C 7E 1B 78 */ mr r30, r3 /* 802AC704 002A9664 48 02 31 B1 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList /* 802AC708 002A9668 3C 60 80 3F */ lis r3, lbl_803EC448@ha /* 802AC70C 002A966C 38 00 00 00 */ li r0, 0 /* 802AC710 002A9670 38 83 C4 48 */ addi r4, r3, lbl_803EC448@l /* 802AC714 002A9674 7F C3 F3 78 */ mr r3, r30 /* 802AC718 002A9678 90 9E 00 00 */ stw r4, 0(r30) /* 802AC71C 002A967C 93 FE 00 10 */ stw r31, 0x10(r30) /* 802AC720 002A9680 90 1E 00 14 */ stw r0, 0x14(r30) /* 802AC724 002A9684 90 1E 00 18 */ stw r0, 0x18(r30) /* 802AC728 002A9688 90 1E 00 1C */ stw r0, 0x1c(r30) /* 802AC72C 002A968C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 802AC730 002A9690 83 C1 00 08 */ lwz r30, 8(r1) /* 802AC734 002A9694 80 01 00 14 */ lwz r0, 0x14(r1) /* 802AC738 002A9698 7C 08 03 A6 */ mtlr r0 /* 802AC73C 002A969C 38 21 00 10 */ addi r1, r1, 0x10 /* 802AC740 002A96A0 4E 80 00 20 */ blr