cleanup and docs

This commit is contained in:
engineer124
2023-10-22 03:30:02 +11:00
parent fd7a96b9a1
commit b4626812f6
14 changed files with 698 additions and 535 deletions
+1 -1
View File
@@ -625,7 +625,7 @@ void CollisionCheck_SetHitEffects(struct PlayState* play, CollisionCheckContext*
void CollisionCheck_AC(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* colAT);
void CollisionCheck_AT(struct PlayState* play, CollisionCheckContext* colCtxt);
s32 CollisionCheck_GetMassType(u8 mass);
void CollisionCheck_SetOCvsOC(struct PlayState* play, Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right, ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlap);
void CollisionCheck_SetOCvsOC(struct PlayState* play, Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right, ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlapSize);
void CollisionCheck_OC_JntSphVsJntSph(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
void CollisionCheck_OC_JntSphVsCyl(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
void CollisionCheck_OC_JntSphVsSphere(struct PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r);
+13 -13
View File
@@ -272,10 +272,10 @@ f32 Math3D_Cos(Vec3f* a, Vec3f* b);
s32 Math3D_CosOut(Vec3f* a, Vec3f* b, f32* dst);
void Math3D_Vec3fReflect(Vec3f* vec, Vec3f* normal, Vec3f* reflVec);
s32 Math3D_PointInSquare2D(f32 upperLeftX, f32 lowerRightX, f32 upperLeftY, f32 lowerRightY, f32 x, f32 y);
s32 func_8017A09C(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, f32 arg3, f32 arg4, f32 arg5);
s32 func_8017A1D0(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, f32 arg3, f32 arg4, f32 arg5);
s32 func_8017A304(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, f32 arg3, f32 arg4, f32 arg5);
s32 Math3D_SphCubeVsTriCube(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, Vec3f* arg3, f32 arg4);
s32 Math3D_CirSquareVsTriSquareXY(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 centerX, f32 centerY, f32 radius);
s32 Math3D_CirSquareVsTriSquareYZ(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 centerY, f32 centerZ, f32 radius);
s32 Math3D_CirSquareVsTriSquareZX(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 centerZ, f32 centerX, f32 radius);
s32 Math3D_SphCubeVsTriCube(Vec3f* v0, Vec3f* v1, Vec3f* v2, Vec3f* center, f32 radius);
f32 Math3D_Dist1DSq(f32 a, f32 b);
f32 Math3D_Dist1D(f32 a, f32 b);
f32 Math3D_Dist2DSq(f32 x0, f32 y0, f32 x1, f32 y1);
@@ -328,11 +328,11 @@ s32 Math3D_LineSegVsPlane(f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* linePoi
s32 Math3D_TriLineIntersect(Vec3f* v0, Vec3f* v1, Vec3f* v2, f32 nx, f32 ny, f32 nz, f32 originDist, Vec3f* linePointA, Vec3f* linePointB, Vec3f* intersect, s32 fromFront) ;
void Math3D_TriNorm(TriNorm* tri, Vec3f* va, Vec3f* vb, Vec3f* vc);
s32 Math3D_PointInSph(Sphere16* sphere, Vec3f* point);
s32 Math3D_PointDistToLine2D(f32 x0, f32 y0, f32 x1, f32 y1, f32 x2, f32 y2, f32* perpXOut, f32* perpYOut, f32* lineLenSq); // returns boolean
s32 func_8017D7C0(f32 x0, f32 y0, f32 x1, f32 y1, f32 x2, f32 y2, f32* lineLenSq);
s32 func_8017D814(f32 x0, f32 y0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 func_8017D91C(f32 y0, f32 z0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 func_8017DA24(f32 z0, f32 x0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 Math3D_PointDistSqToLine2DImpl(f32 x0, f32 y0, f32 x1, f32 y1, f32 x2, f32 y2, f32* perpXOut, f32* perpYOut, f32* lineLenSq); // returns boolean
s32 Math3D_PointDistSqToLine2D(f32 x0, f32 y0, f32 x1, f32 y1, f32 x2, f32 y2, f32* lineLenSq);
s32 Math3D_PointDistSqToLineXY(f32 x0, f32 y0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 Math3D_PointDistSqToLineYZ(f32 y0, f32 z0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 Math3D_PointDistSqToLineZX(f32 z0, f32 x0, Vec3f* p1, Vec3f* p2, f32* lineLenSq);
s32 Math3D_LineVsSph(Sphere16* sphere, Linef* line);
void Math3D_GetSphVsTriIntersectPoint(Sphere16* sphere, TriNorm* tri, Vec3f* intersectPoint);
s32 Math3D_TriVsSphIntersect(Sphere16* sphere, TriNorm* tri, Vec3f* intersectPoint);
@@ -342,11 +342,11 @@ s32 Math3D_CylTriVsIntersect(Cylinder16* cyl, TriNorm* tri, Vec3f* intersect);
s32 Math3D_CylVsTri(Cylinder16* cyl, TriNorm* tri);
s32 Math3D_SphVsSph(Sphere16* sphereA, Sphere16* sphereB);
s32 Math3D_SphVsSphOverlap(Sphere16* sphereA, Sphere16* sphereB, f32* overlapSize);
s32 Math3D_SphVsSphOverlapCenter(Sphere16* sphereA, Sphere16* sphereB, f32* overlapSize, f32* centerDist);
s32 Math3D_SphVsCylOverlapDist(Sphere16* sph, Cylinder16* cyl, f32* overlapSize);
s32 Math3D_SphVsSphOverlapCenterDist(Sphere16* sphereA, Sphere16* sphereB, f32* overlapSize, f32* centerDist);
s32 Math3D_SphVsCylOverlap(Sphere16* sph, Cylinder16* cyl, f32* overlapSize);
s32 Math3D_SphVsCylOverlapCenterDist(Sphere16* sph, Cylinder16* cyl, f32* overlapSize, f32* centerDist);
s32 Math3D_CylOutsideCyl(Cylinder16* ca, Cylinder16* cb, f32* deadSpace);
s32 Math3D_CylOutsideCylDist(Cylinder16* ca, Cylinder16* cb, f32* deadSpace, f32* xzDist);
s32 Math3D_CylVsCylOverlap(Cylinder16* ca, Cylinder16* cb, f32* overlapSize);
s32 Math3D_CylVsCylOverlapCenterDist(Cylinder16* ca, Cylinder16* cb, f32* overlapSize, f32* centerDist);
s32 Math3D_TriVsTriIntersect(TriNorm* ta, TriNorm* tb, Vec3f* intersect);
s32 Math3D_XZInSphere(Sphere16* sphere, f32 x, f32 z);
s32 Math3D_XYInSphere(Sphere16* sphere, f32 x, f32 y);
+578 -416
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -4133,8 +4133,8 @@ void Actor_GetClosestPosOnPath(Vec3s* points, s32 numPoints, Vec3f* srcPos, Vec3
if ((closestPointIndex != 0) || isPathLoop) {
// Use the adjacent line
useAdjacentLines[0] =
Math3D_PointDistToLine2D(srcPos->x, srcPos->z, closestPointPrev.x, closestPointPrev.z, closestPoint.x,
closestPoint.z, &closestPos[0].x, &closestPos[0].z, &distSq);
Math3D_PointDistSqToLine2DImpl(srcPos->x, srcPos->z, closestPointPrev.x, closestPointPrev.z, closestPoint.x,
closestPoint.z, &closestPos[0].x, &closestPos[0].z, &distSq);
}
// Analyze point on path immediately next to the closest point
@@ -4150,8 +4150,8 @@ void Actor_GetClosestPosOnPath(Vec3s* points, s32 numPoints, Vec3f* srcPos, Vec3
}
if ((closestPointIndex + 1 != numPoints) || isPathLoop) {
useAdjacentLines[1] =
Math3D_PointDistToLine2D(srcPos->x, srcPos->z, closestPoint.x, closestPoint.z, closestPointNext.x,
closestPointNext.z, &closestPos[1].x, &closestPos[1].z, &distSq);
Math3D_PointDistSqToLine2DImpl(srcPos->x, srcPos->z, closestPoint.x, closestPoint.z, closestPointNext.x,
closestPointNext.z, &closestPos[1].x, &closestPos[1].z, &distSq);
}
/**
@@ -4188,9 +4188,9 @@ void Actor_GetClosestPosOnPath(Vec3s* points, s32 numPoints, Vec3f* srcPos, Vec3
// srcPos is somewhere withing the bend of the path
if (!isRightSideOfAdjacentLines[0] && !isRightSideOfAdjacentLines[1]) {
// srcPos is not inside a loop
if (!Math3D_PointDistToLine2D(srcPos->x, srcPos->z, closestPos[0].x, closestPos[0].z, closestPos[1].x,
closestPos[1].z, &dstPos->x, &dstPos->z, &distSq)) {
// The dstPos calculated in Math3D_PointDistToLine2D was not valid.
if (!Math3D_PointDistSqToLine2DImpl(srcPos->x, srcPos->z, closestPos[0].x, closestPos[0].z, closestPos[1].x,
closestPos[1].z, &dstPos->x, &dstPos->z, &distSq)) {
// The dstPos calculated in Math3D_PointDistSqToLine2DImpl was not valid.
// Take the midpoint of the two closest ponits instead
dstPos->x = (closestPos[1].x + closestPos[0].x) * 0.5f;
dstPos->z = (closestPos[1].z + closestPos[0].z) * 0.5f;
+1 -1
View File
@@ -351,7 +351,7 @@ s32 CollisionPoly_CheckYIntersect(CollisionPoly* poly, Vec3s* vtxList, f32 x, f3
D_801EDA18[2].y = sVerts->y;
D_801EDA18[2].z = sVerts->z;
if (!func_8017A304(&D_801EDA18[0], &D_801EDA18[1], &D_801EDA18[2], z, x, checkDist)) {
if (!Math3D_CirSquareVsTriSquareZX(&D_801EDA18[0], &D_801EDA18[1], &D_801EDA18[2], z, x, checkDist)) {
return 0;
}
nx = COLPOLY_GET_NORMAL(poly->normal.x);
+33 -32
View File
@@ -1741,8 +1741,8 @@ void CollisionCheck_AC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co
continue;
}
if (Math3D_SphVsSphOverlapCenter(&atElem->dim.worldSphere, &acElem->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
if (Math3D_SphVsSphOverlapCenterDist(&atElem->dim.worldSphere, &acElem->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
f32 acToHit;
Vec3f hitPos;
Vec3f atPos;
@@ -1916,8 +1916,8 @@ void CollisionCheck_AC_JntSphVsSphere(PlayState* play, CollisionCheckContext* co
if (CollisionCheck_NoSharedFlags(&sphElem->info, &ac->info)) {
continue;
}
if (Math3D_SphVsSphOverlapCenter(&sphElem->dim.worldSphere, &ac->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
if (Math3D_SphVsSphOverlapCenterDist(&sphElem->dim.worldSphere, &ac->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
f32 acToHit;
Vec3f hitPos;
Vec3f atPos;
@@ -2011,7 +2011,7 @@ void CollisionCheck_AC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt,
return;
}
if (Math3D_CylOutsideCylDist(&at->dim, &ac->dim, &overlapSize, &centerDist) != 0) {
if (Math3D_CylVsCylOverlapCenterDist(&at->dim, &ac->dim, &overlapSize, &centerDist) != 0) {
Vec3f hitPos;
Vec3f atPos;
Vec3f acPos;
@@ -2565,8 +2565,8 @@ void CollisionCheck_AC_SphereVsJntSph(PlayState* play, CollisionCheckContext* co
continue;
}
if (Math3D_SphVsSphOverlapCenter(&at->dim.worldSphere, &acElem->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
if (Math3D_SphVsSphOverlapCenterDist(&at->dim.worldSphere, &acElem->dim.worldSphere, &overlapSize,
&centerDist) != 0) {
f32 acToHit;
Vec3f hitPos;
Vec3f atPos;
@@ -2716,7 +2716,7 @@ void CollisionCheck_AC_SphereVsSphere(PlayState* play, CollisionCheckContext* co
return;
}
if (Math3D_SphVsSphOverlapCenter(&at->dim.worldSphere, &ac->dim.worldSphere, &overlapSize, &centerDist) != 0) {
if (Math3D_SphVsSphOverlapCenterDist(&at->dim.worldSphere, &ac->dim.worldSphere, &overlapSize, &centerDist) != 0) {
f32 acToHit;
Vec3f hitPos;
Vec3f atPos;
@@ -2933,7 +2933,7 @@ s32 CollisionCheck_GetMassType(u8 mass) {
* also performs an elastic collision where both colliders are moved apart in proportion to their masses.
*/
void CollisionCheck_SetOCvsOC(PlayState* play, Collider* left, ColliderInfo* leftInfo, Vec3f* leftPos, Collider* right,
ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlap) {
ColliderInfo* rightInfo, Vec3f* rightPos, f32 overlapSize) {
f32 pad;
f32 leftDispRatio;
f32 rightDispRatio;
@@ -3013,15 +3013,15 @@ void CollisionCheck_SetOCvsOC(PlayState* play, Collider* left, ColliderInfo* lef
}
if (!IS_ZERO(xzDist)) {
xDelta *= overlap / xzDist;
zDelta *= overlap / xzDist;
xDelta *= overlapSize / xzDist;
zDelta *= overlapSize / xzDist;
leftActor->colChkInfo.displacement.x += -xDelta * leftDispRatio;
leftActor->colChkInfo.displacement.z += -zDelta * leftDispRatio;
rightActor->colChkInfo.displacement.x += xDelta * rightDispRatio;
rightActor->colChkInfo.displacement.z += zDelta * rightDispRatio;
} else if (overlap != 0.0f) {
leftActor->colChkInfo.displacement.x += -overlap * leftDispRatio;
rightActor->colChkInfo.displacement.x += overlap * rightDispRatio;
} else if (overlapSize != 0.0f) {
leftActor->colChkInfo.displacement.x += -overlapSize * leftDispRatio;
rightActor->colChkInfo.displacement.x += overlapSize * rightDispRatio;
} else {
leftActor->colChkInfo.displacement.x += -leftDispRatio;
rightActor->colChkInfo.displacement.x += rightDispRatio;
@@ -3036,7 +3036,7 @@ void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co
ColliderJntSph* right = (ColliderJntSph*)r;
ColliderJntSphElement* leftElem;
ColliderJntSphElement* rightElem;
f32 overlap;
f32 overlapSize;
if ((left->count > 0) && (left->elements != NULL) && (right->count > 0) && (right->elements != NULL) &&
(left->base.ocFlags1 & OCELEM_ON) && (right->base.ocFlags1 & OCELEM_ON)) {
@@ -3049,14 +3049,15 @@ void CollisionCheck_OC_JntSphVsJntSph(PlayState* play, CollisionCheckContext* co
if (!(rightElem->info.ocElemFlags & OCELEM_ON)) {
continue;
}
if (Math3D_SphVsSphOverlap(&leftElem->dim.worldSphere, &rightElem->dim.worldSphere, &overlap) != 0) {
if (Math3D_SphVsSphOverlap(&leftElem->dim.worldSphere, &rightElem->dim.worldSphere, &overlapSize) !=
0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &leftElem->dim.worldSphere.center);
Math_Vec3s_ToVec3f(&rightPos, &rightElem->dim.worldSphere.center);
CollisionCheck_SetOCvsOC(play, &left->base, &leftElem->info, &leftPos, &right->base,
&rightElem->info, &rightPos, overlap);
&rightElem->info, &rightPos, overlapSize);
}
}
}
@@ -3070,7 +3071,7 @@ void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCt
ColliderJntSph* left = (ColliderJntSph*)l;
ColliderCylinder* right = (ColliderCylinder*)r;
ColliderJntSphElement* leftElem;
f32 overlap;
f32 overlapSize;
if ((left->count > 0) && (left->elements != NULL) && (left->base.ocFlags1 & OCELEM_ON) &&
(right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) {
@@ -3079,14 +3080,14 @@ void CollisionCheck_OC_JntSphVsCyl(PlayState* play, CollisionCheckContext* colCt
if (!(leftElem->info.ocElemFlags & OCELEM_ON)) {
continue;
}
if (Math3D_SphVsCylOverlapDist(&leftElem->dim.worldSphere, &right->dim, &overlap) != 0) {
if (Math3D_SphVsCylOverlap(&leftElem->dim.worldSphere, &right->dim, &overlapSize) != 0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &leftElem->dim.worldSphere.center);
Math_Vec3s_ToVec3f(&rightPos, &right->dim.pos);
CollisionCheck_SetOCvsOC(play, &left->base, &leftElem->info, &leftPos, &right->base, &right->info,
&rightPos, overlap);
&rightPos, overlapSize);
}
}
}
@@ -3099,7 +3100,7 @@ void CollisionCheck_OC_JntSphVsSphere(PlayState* play, CollisionCheckContext* co
ColliderJntSph* left = (ColliderJntSph*)l;
ColliderSphere* right = (ColliderSphere*)r;
ColliderJntSphElement* leftElem;
f32 overlap;
f32 overlapSize;
if ((left->count > 0) && (left->elements != NULL) && (left->base.ocFlags1 & OCELEM_ON) &&
(right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) {
@@ -3108,14 +3109,14 @@ void CollisionCheck_OC_JntSphVsSphere(PlayState* play, CollisionCheckContext* co
if (!(leftElem->info.ocElemFlags & OCELEM_ON)) {
continue;
}
if (Math3D_SphVsSphOverlap(&leftElem->dim.worldSphere, &right->dim.worldSphere, &overlap) != 0) {
if (Math3D_SphVsSphOverlap(&leftElem->dim.worldSphere, &right->dim.worldSphere, &overlapSize) != 0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &leftElem->dim.worldSphere.center);
Math_Vec3s_ToVec3f(&rightPos, &right->dim.worldSphere.center);
CollisionCheck_SetOCvsOC(play, &left->base, &leftElem->info, &leftPos, &right->base, &right->info,
&rightPos, overlap);
&rightPos, overlapSize);
}
}
}
@@ -3134,18 +3135,18 @@ void CollisionCheck_OC_CylVsJntSph(PlayState* play, CollisionCheckContext* colCt
void CollisionCheck_OC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r) {
ColliderCylinder* left = (ColliderCylinder*)l;
ColliderCylinder* right = (ColliderCylinder*)r;
f32 overlap;
f32 overlapSize;
if ((left->base.ocFlags1 & OCELEM_ON) && (right->base.ocFlags1 & OCELEM_ON) &&
(left->info.ocElemFlags & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) {
if (Math3D_CylOutsideCyl(&left->dim, &right->dim, &overlap) != 0) {
if (Math3D_CylVsCylOverlap(&left->dim, &right->dim, &overlapSize) != 0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &left->dim.pos);
Math_Vec3s_ToVec3f(&rightPos, &right->dim.pos);
CollisionCheck_SetOCvsOC(play, &left->base, &left->info, &leftPos, &right->base, &right->info, &rightPos,
overlap);
overlapSize);
}
}
}
@@ -3156,18 +3157,18 @@ void CollisionCheck_OC_CylVsCyl(PlayState* play, CollisionCheckContext* colCtxt,
void CollisionCheck_OC_CylVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r) {
ColliderCylinder* left = (ColliderCylinder*)l;
ColliderSphere* right = (ColliderSphere*)r;
f32 overlap;
f32 overlapSize;
if ((left->base.ocFlags1 & OCELEM_ON) && (left->info.ocElemFlags & OCELEM_ON) &&
(right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) {
if (Math3D_SphVsCylOverlapDist(&right->dim.worldSphere, &left->dim, &overlap) != 0) {
if (Math3D_SphVsCylOverlap(&right->dim.worldSphere, &left->dim, &overlapSize) != 0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &left->dim.pos);
Math_Vec3s_ToVec3f(&rightPos, &right->dim.worldSphere.center);
CollisionCheck_SetOCvsOC(play, &left->base, &left->info, &leftPos, &right->base, &right->info, &rightPos,
overlap);
overlapSize);
}
}
}
@@ -3192,18 +3193,18 @@ void CollisionCheck_OC_SphereVsCyl(PlayState* play, CollisionCheckContext* colCt
void CollisionCheck_OC_SphereVsSphere(PlayState* play, CollisionCheckContext* colCtxt, Collider* l, Collider* r) {
ColliderSphere* left = (ColliderSphere*)l;
ColliderSphere* right = (ColliderSphere*)r;
f32 overlap;
f32 overlapSize;
if ((left->base.ocFlags1 & OCELEM_ON) && (left->info.ocElemFlags & OCELEM_ON) &&
(right->base.ocFlags1 & OCELEM_ON) && (right->info.ocElemFlags & OCELEM_ON)) {
if (Math3D_SphVsSphOverlap(&left->dim.worldSphere, &right->dim.worldSphere, &overlap) != 0) {
if (Math3D_SphVsSphOverlap(&left->dim.worldSphere, &right->dim.worldSphere, &overlapSize) != 0) {
Vec3f leftPos;
Vec3f rightPos;
Math_Vec3s_ToVec3f(&leftPos, &left->dim.worldSphere.center);
Math_Vec3s_ToVec3f(&rightPos, &right->dim.worldSphere.center);
CollisionCheck_SetOCvsOC(play, &left->base, &left->info, &leftPos, &right->base, &right->info, &rightPos,
overlap);
overlapSize);
}
}
}
@@ -686,8 +686,8 @@ void func_80A2AED0(BgDblueMovebg* this, PlayState* play) {
Vec3f sp54;
f32 sp50;
if (Math3D_PointDistToLine2D(play->view.eye.x, play->view.eye.z, this->unk_190.x, this->unk_190.z,
this->unk_19C.x, this->unk_19C.z, &sp54.x, &sp54.z, &sp50)) {
if (Math3D_PointDistSqToLine2DImpl(play->view.eye.x, play->view.eye.z, this->unk_190.x, this->unk_190.z,
this->unk_19C.x, this->unk_19C.z, &sp54.x, &sp54.z, &sp50)) {
sp54.y = this->dyna.actor.world.pos.y;
} else {
if (Math_Vec3f_DistXYZ(&play->view.eye, &this->unk_190) <=
@@ -360,7 +360,7 @@ void func_8087B7C0(EnHorse* this, PlayState* play, Path* path) {
Math_Vec3s_ToVec3f(&sp80, &spA0[this->curRaceWaypoint - 1]);
}
func_8017D7C0(this->actor.world.pos.x, this->actor.world.pos.z, sp80.x, sp80.z, sp8C.x, sp8C.z, &sp70);
Math3D_PointDistSqToLine2D(this->actor.world.pos.x, this->actor.world.pos.z, sp80.x, sp80.z, sp8C.x, sp8C.z, &sp70);
if ((this->actor.bgCheckFlags & BGCHECKFLAG_WALL) || (this->unk_1EC & 4)) {
EnHorse_RotateToPoint(this, play, &sp8C, 0xC80);
@@ -154,7 +154,7 @@ s32 EnMttag_GetCurrentCheckpoint(Actor* actor, PlayState* play, s32* upcomingChe
// Iterates through all possible checkpoints that are associated with this sceneExitIndex.
do {
if ((Math3D_PointDistToLine2D(
if ((Math3D_PointDistSqToLine2DImpl(
actor->world.pos.x, actor->world.pos.z, (&sCheckpointPositions[checkpointIterator])[-1].x,
(&sCheckpointPositions[checkpointIterator])[-1].z, (&sCheckpointPositions[checkpointIterator])[1].x,
(&sCheckpointPositions[checkpointIterator])[1].z, &perpendicularPointX, &perpendicularPointZ,
+2 -2
View File
@@ -382,8 +382,8 @@ s32 func_80BF43FC(EnRg* this) {
do {
SubS_CopyPointFromPathCheckBounds(this->path, phi_s0 - 1, &sp9C);
SubS_CopyPointFromPathCheckBounds(this->path, phi_s0 + 1, &sp90);
if (Math3D_PointDistToLine2D(this->actor.world.pos.x, this->actor.world.pos.z, sp9C.x, sp9C.z, sp90.x, sp90.z,
&sp8C, &sp88, &sp84) &&
if (Math3D_PointDistSqToLine2DImpl(this->actor.world.pos.x, this->actor.world.pos.z, sp9C.x, sp9C.z, sp90.x,
sp90.z, &sp8C, &sp88, &sp84) &&
(!phi_s6 || ((phi_s4 + 1) == phi_s0) || (sp84 < phi_f20))) {
phi_s6 = 1;
phi_f20 = sp84;
+12 -12
View File
@@ -3268,9 +3268,9 @@
0x80179EAC:("Math3D_CosOut",),
0x80179F64:("Math3D_Vec3fReflect",),
0x8017A038:("Math3D_PointInSquare2D",),
0x8017A09C:("func_8017A09C",),
0x8017A1D0:("func_8017A1D0",),
0x8017A304:("func_8017A304",),
0x8017A09C:("Math3D_CirSquareVsTriSquareXY",),
0x8017A1D0:("Math3D_CirSquareVsTriSquareYZ",),
0x8017A304:("Math3D_CirSquareVsTriSquareZX",),
0x8017A438:("Math3D_SphCubeVsTriCube",),
0x8017A5F8:("Math3D_Dist1DSq",),
0x8017A610:("Math3D_Dist1D",),
@@ -3324,11 +3324,11 @@
0x8017D404:("Math3D_TriLineIntersect",),
0x8017D568:("Math3D_TriNorm",),
0x8017D618:("Math3D_PointInSph",),
0x8017D668:("Math3D_PointDistToLine2D",),
0x8017D7C0:("func_8017D7C0",),
0x8017D814:("func_8017D814",),
0x8017D91C:("func_8017D91C",),
0x8017DA24:("func_8017DA24",),
0x8017D668:("Math3D_PointDistSqToLine2DImpl",),
0x8017D7C0:("Math3D_PointDistSqToLine2D",),
0x8017D814:("Math3D_PointDistSqToLineXY",),
0x8017D91C:("Math3D_PointDistSqToLineYZ",),
0x8017DA24:("Math3D_PointDistSqToLineZX",),
0x8017DB2C:("Math3D_LineVsSph",),
0x8017DD34:("Math3D_GetSphVsTriIntersectPoint",),
0x8017DE74:("Math3D_TriVsSphIntersect",),
@@ -3338,11 +3338,11 @@
0x8017F1A0:("Math3D_CylVsTri",),
0x8017F1C0:("Math3D_SphVsSph",),
0x8017F1E0:("Math3D_SphVsSphOverlap",),
0x8017F200:("Math3D_SphVsSphOverlapCenter",),
0x8017F2CC:("Math3D_SphVsCylOverlapDist",),
0x8017F200:("Math3D_SphVsSphOverlapCenterDist",),
0x8017F2CC:("Math3D_SphVsCylOverlap",),
0x8017F2EC:("Math3D_SphVsCylOverlapCenterDist",),
0x8017F45C:("Math3D_CylOutsideCyl",),
0x8017F47C:("Math3D_CylOutsideCylDist",),
0x8017F45C:("Math3D_CylVsCylOverlap",),
0x8017F47C:("Math3D_CylVsCylOverlapCenterDist",),
0x8017F64C:("Math3D_TriVsTriIntersect",),
0x8017F9C0:("Math3D_XZInSphere",),
0x8017FA34:("Math3D_XYInSphere",),
+30 -30
View File
@@ -4060,36 +4060,36 @@
0x801FBBD2:("gCfbUpperAdjust","UNK_TYPE1","",0x1),
0x801FBBD4:("gSysCfbHiResEnabled","UNK_TYPE1","",0x1),
0x801FBBE0:("sDmaBuffer","u32","[2]",0x8),
0x801FBBF0:("D_801FBBF0","Vec3f","",0xc),
0x801FBC00:("D_801FBC00","Linef","",0x18),
0x801FBC18:("D_801FBC18","Vec3f","",0xc),
0x801FBC28:("D_801FBC28","Vec3f","",0xC),
0x801FBC38:("D_801FBC38","Sphere16","",0x8),
0x801FBC40:("D_801FBC40","Sphere16","",0x8),
0x801FBC48:("D_801FBC48","Vec3f","",0xC),
0x801FBC58:("D_801FBC58","Vec3f","",0xC),
0x801FBC68:("D_801FBC68","Vec3f","",0xc),
0x801FBC78:("D_801FBC78","Vec3f","",0xc),
0x801FBC88:("D_801FBC88","Cylinderf","",0x18),
0x801FBCA0:("D_801FBCA0","Spheref","",0x10),
0x801FBCB0:("D_801FBCB0","Cylinderf","",0x18),
0x801FBCC8:("D_801FBCC8","Cylinderf","",0x18),
0x801FBCE0:("D_801FBCE0","Vec3f","",0xC),
0x801FBCF0:("D_801FBCF0","Vec3f","",0xC),
0x801FBD00:("D_801FBD00","Vec3f","",0xC),
0x801FBD10:("D_801FBD10","Vec3f","",0xC),
0x801FBD20:("D_801FBD20","Vec3f","",0xC),
0x801FBD30:("D_801FBD30","Vec3f","",0xC),
0x801FBD40:("D_801FBD40","Vec3f","",0xC),
0x801FBD50:("D_801FBD50","Vec3f","",0xC),
0x801FBD60:("D_801FBD60","Vec3f","",0xC),
0x801FBD70:("D_801FBD70","Vec3f","",0xC),
0x801FBD80:("D_801FBD80","InfiniteLine","",0x18),
0x801FBD98:("D_801FBD98","Linef","",0x18),
0x801FBDB0:("D_801FBDB0","Vec3f","",0xC),
0x801FBDC0:("D_801FBDC0","InfiniteLine","",0x18),
0x801FBDD8:("D_801FBDD8","Vec3f","",0xC),
0x801FBDE8:("D_801FBDE8","Vec3f","",0xC),
0x801FBBF0:("sSphereCenter","Vec3f","",0xc),
0x801FBC00:("sTriTestLine","Linef","",0x18),
0x801FBC18:("sSphereCenter","Vec3f","",0xc),
0x801FBC28:("sSphPlanePos","Vec3f","",0xC),
0x801FBC38:("sTopSphere","Sphere16","",0x8),
0x801FBC40:("sBottomSphere","Sphere16","",0x8),
0x801FBC48:("sCylIntersectA","Vec3f","",0xC),
0x801FBC58:("sCylIntersectB","Vec3f","",0xC),
0x801FBC68:("sABDiff","Vec3f","",0xc),
0x801FBC78:("sACDiff","Vec3f","",0xc),
0x801FBC88:("sCylf","Cylinderf","",0x18),
0x801FBCA0:("sSphf","Spheref","",0x10),
0x801FBCB0:("sCaf","Cylinderf","",0x18),
0x801FBCC8:("sCbf","Cylinderf","",0x18),
0x801FBCE0:("sTriVtx0","Vec3f","",0xC),
0x801FBCF0:("sTriVtx1","Vec3f","",0xC),
0x801FBD00:("sTriVtx2","Vec3f","",0xC),
0x801FBD10:("sIntersectPoint","Vec3f","",0xC),
0x801FBD20:("sMinF","Vec3f","",0xC),
0x801FBD30:("sMaxF","Vec3f","",0xC),
0x801FBD40:("sAF","Vec3f","",0xC),
0x801FBD50:("sBF","Vec3f","",0xC),
0x801FBD60:("sNormal","Vec3f","",0xC),
0x801FBD70:("sPlanePos","Vec3f","",0xC),
0x801FBD80:("sPlaneIntersectLine","InfiniteLine","",0x18),
0x801FBD98:("sPlaneIntersectSeg","Linef","",0x18),
0x801FBDB0:("sPlanePos","Vec3f","",0xC),
0x801FBDC0:("sPlaneIntersect","InfiniteLine","",0x18),
0x801FBDD8:("sSphLinePerpendicularPoint","Vec3f","",0xC),
0x801FBDE8:("sV0V1Center","Vec3f","",0xC),
0x801FBE00:("sMatrixStack","MtxF*","",0x4),
0x801FBE04:("sCurrentMatrix","MtxF*","",0x4),
0x801FBE10:("sFlashromMesgQueue","UNK_TYPE1","",0x1),
+5 -5
View File
@@ -548,7 +548,7 @@ wordReplace = {
"func_800CA22C": "WaterBox_GetSurface2",
"func_800CA6D8": "WaterBox_GetLightSettingIndex",
"func_8017D668": "Math3D_PointDistToLine2D",
"func_8017D668": "Math3D_PointDistSqToLine2DImpl",
"func_80179678": "Math3D_PlaneVsLineSegClosestPoint",
"Math3D_DistanceSquared": "Math3D_Vec3fDistSq",
"Math3D_NormalVector": "Math3D_SurfaceNorm",
@@ -590,14 +590,14 @@ wordReplace = {
"func_80179B94": "Math3D_PlaneVsPlaneNewLine",
"func_8017B9D8": "Math3D_Plane",
"func_8017D404": "Math3D_TriLineIntersect",
"Math3D_ColCylinderCylinderAmountAndDistance": "Math3D_CylOutsideCylDist",
"Math3D_ColCylinderCylinderAmount": "Math3D_CylOutsideCyl",
"Math3D_ColCylinderCylinderAmountAndDistance": "Math3D_CylVsCylOverlapCenterDist",
"Math3D_ColCylinderCylinderAmount": "Math3D_CylVsCylOverlap",
"Math3D_ColSphereCylinderDistanceAndAmount": "Math3D_SphVsCylOverlapCenterDist",
"Math3D_ColCylinderTri": "Math3D_CylTriVsIntersect",
"func_8017F1A0": "Math3D_CylVsTri",
"Math3D_ColSphereSphereIntersect": "Math3D_SphVsSphOverlap",
"Math3D_ColSphereSphereIntersectAndDistance": "Math3D_SphVsSphOverlapCenter",
"Math3D_ColSphereCylinderDistance": "Math3D_SphVsCylOverlapDist",
"Math3D_ColSphereSphereIntersectAndDistance": "Math3D_SphVsSphOverlapCenterDist",
"Math3D_ColSphereCylinderDistance": "Math3D_SphVsCylOverlap",
"func_8017E350": "Math3D_CylVsLineSeg",
"Math3D_ColSphereTri": "Math3D_TriVsSphIntersect",
"Math3D_ScaleAndAdd": "Math3D_PointOnDirectedLine",
+12 -12
View File
@@ -2782,9 +2782,9 @@ asm/non_matchings/code/sys_math3d/Math3D_Cos.s,Math3D_Cos,0x80179E88,0x9
asm/non_matchings/code/sys_math3d/Math3D_CosOut.s,Math3D_CosOut,0x80179EAC,0x2E
asm/non_matchings/code/sys_math3d/Math3D_Vec3fReflect.s,Math3D_Vec3fReflect,0x80179F64,0x35
asm/non_matchings/code/sys_math3d/Math3D_PointInSquare2D.s,Math3D_PointInSquare2D,0x8017A038,0x19
asm/non_matchings/code/sys_math3d/func_8017A09C.s,func_8017A09C,0x8017A09C,0x4D
asm/non_matchings/code/sys_math3d/func_8017A1D0.s,func_8017A1D0,0x8017A1D0,0x4D
asm/non_matchings/code/sys_math3d/func_8017A304.s,func_8017A304,0x8017A304,0x4D
asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareXY.s,Math3D_CirSquareVsTriSquareXY,0x8017A09C,0x4D
asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareYZ.s,Math3D_CirSquareVsTriSquareYZ,0x8017A1D0,0x4D
asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareZX.s,Math3D_CirSquareVsTriSquareZX,0x8017A304,0x4D
asm/non_matchings/code/sys_math3d/Math3D_SphCubeVsTriCube.s,Math3D_SphCubeVsTriCube,0x8017A438,0x70
asm/non_matchings/code/sys_math3d/Math3D_Dist1DSq.s,Math3D_Dist1DSq,0x8017A5F8,0x6
asm/non_matchings/code/sys_math3d/Math3D_Dist1D.s,Math3D_Dist1D,0x8017A610,0x9
@@ -2838,11 +2838,11 @@ asm/non_matchings/code/sys_math3d/Math3D_LineSegVsPlane.s,Math3D_LineSegVsPlane,
asm/non_matchings/code/sys_math3d/Math3D_TriLineIntersect.s,Math3D_TriLineIntersect,0x8017D404,0x59
asm/non_matchings/code/sys_math3d/Math3D_TriNorm.s,Math3D_TriNorm,0x8017D568,0x2C
asm/non_matchings/code/sys_math3d/Math3D_PointInSph.s,Math3D_PointInSph,0x8017D618,0x14
asm/non_matchings/code/sys_math3d/Math3D_PointDistToLine2D.s,Math3D_PointDistToLine2D,0x8017D668,0x56
asm/non_matchings/code/sys_math3d/func_8017D7C0.s,func_8017D7C0,0x8017D7C0,0x15
asm/non_matchings/code/sys_math3d/func_8017D814.s,func_8017D814,0x8017D814,0x42
asm/non_matchings/code/sys_math3d/func_8017D91C.s,func_8017D91C,0x8017D91C,0x42
asm/non_matchings/code/sys_math3d/func_8017DA24.s,func_8017DA24,0x8017DA24,0x42
asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLine2DImpl.s,Math3D_PointDistSqToLine2DImpl,0x8017D668,0x56
asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLine2D.s,Math3D_PointDistSqToLine2D,0x8017D7C0,0x15
asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineXY.s,Math3D_PointDistSqToLineXY,0x8017D814,0x42
asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineYZ.s,Math3D_PointDistSqToLineYZ,0x8017D91C,0x42
asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineZX.s,Math3D_PointDistSqToLineZX,0x8017DA24,0x42
asm/non_matchings/code/sys_math3d/Math3D_LineVsSph.s,Math3D_LineVsSph,0x8017DB2C,0x82
asm/non_matchings/code/sys_math3d/Math3D_GetSphVsTriIntersectPoint.s,Math3D_GetSphVsTriIntersectPoint,0x8017DD34,0x50
asm/non_matchings/code/sys_math3d/Math3D_TriVsSphIntersect.s,Math3D_TriVsSphIntersect,0x8017DE74,0x108
@@ -2852,11 +2852,11 @@ asm/non_matchings/code/sys_math3d/Math3D_CylTriVsIntersect.s,Math3D_CylTriVsInte
asm/non_matchings/code/sys_math3d/Math3D_CylVsTri.s,Math3D_CylVsTri,0x8017F1A0,0x8
asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphere.s,Math3D_ColSphereSphere,0x8017F1C0,0x8
asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlap.s,Math3D_SphVsSphOverlap,0x8017F1E0,0x8
asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlapCenter.s,Math3D_SphVsSphOverlapCenter,0x8017F200,0x33
asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlapDist.s,Math3D_SphVsCylOverlapDist,0x8017F2CC,0x8
asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlapCenterDist.s,Math3D_SphVsSphOverlapCenterDist,0x8017F200,0x33
asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlap.s,Math3D_SphVsCylOverlap,0x8017F2CC,0x8
asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlapCenterDist.s,Math3D_SphVsCylOverlapCenterDist,0x8017F2EC,0x5C
asm/non_matchings/code/sys_math3d/Math3D_CylOutsideCyl.s,Math3D_CylOutsideCyl,0x8017F45C,0x8
asm/non_matchings/code/sys_math3d/Math3D_CylOutsideCylDist.s,Math3D_CylOutsideCylDist,0x8017F47C,0x74
asm/non_matchings/code/sys_math3d/Math3D_CylVsCylOverlap.s,Math3D_CylVsCylOverlap,0x8017F45C,0x8
asm/non_matchings/code/sys_math3d/Math3D_CylVsCylOverlapCenterDist.s,Math3D_CylVsCylOverlapCenterDist,0x8017F47C,0x74
asm/non_matchings/code/sys_math3d/Math3D_TriVsTriIntersect.s,Math3D_TriVsTriIntersect,0x8017F64C,0xDD
asm/non_matchings/code/sys_math3d/Math3D_XZInSphere.s,Math3D_XZInSphere,0x8017F9C0,0x1D
asm/non_matchings/code/sys_math3d/Math3D_XYInSphere.s,Math3D_XYInSphere,0x8017FA34,0x1D
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2782 asm/non_matchings/code/sys_math3d/Math3D_CosOut.s Math3D_CosOut 0x80179EAC 0x2E
2783 asm/non_matchings/code/sys_math3d/Math3D_Vec3fReflect.s Math3D_Vec3fReflect 0x80179F64 0x35
2784 asm/non_matchings/code/sys_math3d/Math3D_PointInSquare2D.s Math3D_PointInSquare2D 0x8017A038 0x19
2785 asm/non_matchings/code/sys_math3d/func_8017A09C.s asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareXY.s func_8017A09C Math3D_CirSquareVsTriSquareXY 0x8017A09C 0x4D
2786 asm/non_matchings/code/sys_math3d/func_8017A1D0.s asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareYZ.s func_8017A1D0 Math3D_CirSquareVsTriSquareYZ 0x8017A1D0 0x4D
2787 asm/non_matchings/code/sys_math3d/func_8017A304.s asm/non_matchings/code/sys_math3d/Math3D_CirSquareVsTriSquareZX.s func_8017A304 Math3D_CirSquareVsTriSquareZX 0x8017A304 0x4D
2788 asm/non_matchings/code/sys_math3d/Math3D_SphCubeVsTriCube.s Math3D_SphCubeVsTriCube 0x8017A438 0x70
2789 asm/non_matchings/code/sys_math3d/Math3D_Dist1DSq.s Math3D_Dist1DSq 0x8017A5F8 0x6
2790 asm/non_matchings/code/sys_math3d/Math3D_Dist1D.s Math3D_Dist1D 0x8017A610 0x9
2838 asm/non_matchings/code/sys_math3d/Math3D_TriLineIntersect.s Math3D_TriLineIntersect 0x8017D404 0x59
2839 asm/non_matchings/code/sys_math3d/Math3D_TriNorm.s Math3D_TriNorm 0x8017D568 0x2C
2840 asm/non_matchings/code/sys_math3d/Math3D_PointInSph.s Math3D_PointInSph 0x8017D618 0x14
2841 asm/non_matchings/code/sys_math3d/Math3D_PointDistToLine2D.s asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLine2DImpl.s Math3D_PointDistToLine2D Math3D_PointDistSqToLine2DImpl 0x8017D668 0x56
2842 asm/non_matchings/code/sys_math3d/func_8017D7C0.s asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLine2D.s func_8017D7C0 Math3D_PointDistSqToLine2D 0x8017D7C0 0x15
2843 asm/non_matchings/code/sys_math3d/func_8017D814.s asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineXY.s func_8017D814 Math3D_PointDistSqToLineXY 0x8017D814 0x42
2844 asm/non_matchings/code/sys_math3d/func_8017D91C.s asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineYZ.s func_8017D91C Math3D_PointDistSqToLineYZ 0x8017D91C 0x42
2845 asm/non_matchings/code/sys_math3d/func_8017DA24.s asm/non_matchings/code/sys_math3d/Math3D_PointDistSqToLineZX.s func_8017DA24 Math3D_PointDistSqToLineZX 0x8017DA24 0x42
2846 asm/non_matchings/code/sys_math3d/Math3D_LineVsSph.s Math3D_LineVsSph 0x8017DB2C 0x82
2847 asm/non_matchings/code/sys_math3d/Math3D_GetSphVsTriIntersectPoint.s Math3D_GetSphVsTriIntersectPoint 0x8017DD34 0x50
2848 asm/non_matchings/code/sys_math3d/Math3D_TriVsSphIntersect.s Math3D_TriVsSphIntersect 0x8017DE74 0x108
2852 asm/non_matchings/code/sys_math3d/Math3D_CylVsTri.s Math3D_CylVsTri 0x8017F1A0 0x8
2853 asm/non_matchings/code/sys_math3d/Math3D_ColSphereSphere.s Math3D_ColSphereSphere 0x8017F1C0 0x8
2854 asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlap.s Math3D_SphVsSphOverlap 0x8017F1E0 0x8
2855 asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlapCenter.s asm/non_matchings/code/sys_math3d/Math3D_SphVsSphOverlapCenterDist.s Math3D_SphVsSphOverlapCenter Math3D_SphVsSphOverlapCenterDist 0x8017F200 0x33
2856 asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlapDist.s asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlap.s Math3D_SphVsCylOverlapDist Math3D_SphVsCylOverlap 0x8017F2CC 0x8
2857 asm/non_matchings/code/sys_math3d/Math3D_SphVsCylOverlapCenterDist.s Math3D_SphVsCylOverlapCenterDist 0x8017F2EC 0x5C
2858 asm/non_matchings/code/sys_math3d/Math3D_CylOutsideCyl.s asm/non_matchings/code/sys_math3d/Math3D_CylVsCylOverlap.s Math3D_CylOutsideCyl Math3D_CylVsCylOverlap 0x8017F45C 0x8
2859 asm/non_matchings/code/sys_math3d/Math3D_CylOutsideCylDist.s asm/non_matchings/code/sys_math3d/Math3D_CylVsCylOverlapCenterDist.s Math3D_CylOutsideCylDist Math3D_CylVsCylOverlapCenterDist 0x8017F47C 0x74
2860 asm/non_matchings/code/sys_math3d/Math3D_TriVsTriIntersect.s Math3D_TriVsTriIntersect 0x8017F64C 0xDD
2861 asm/non_matchings/code/sys_math3d/Math3D_XZInSphere.s Math3D_XZInSphere 0x8017F9C0 0x1D
2862 asm/non_matchings/code/sys_math3d/Math3D_XYInSphere.s Math3D_XYInSphere 0x8017FA34 0x1D