Skip to content

xCollide and dependent xMath changes#567

Merged
JoshSanch merged 6 commits intobfbbdecomp:mainfrom
stravant:xCollide
May 23, 2025
Merged

xCollide and dependent xMath changes#567
JoshSanch merged 6 commits intobfbbdecomp:mainfrom
stravant:xCollide

Conversation

@stravant
Copy link
Collaborator

  • Progress on xCollide. Stub out many of the methods since I plan to work more on this next.

  • Add relevant xMath methods.

  • Move some of the math definitions to the xCollide compilation unit they're in to get it close to linking with the decomped version.

@bfbbdecomp bfbbdecomp deleted a comment from github-actions bot May 22, 2025
@stravant stravant changed the title xCollide and dependint xMath changes xCollide and dependent xMath changes May 22, 2025
Copy link
Collaborator

@JoshSanch JoshSanch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall! Just one part that I think needs some discussion.

Copy link
Collaborator

@JoshSanch JoshSanch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see prior comment

@bfbbdecomp bfbbdecomp deleted a comment from github-actions bot May 23, 2025
@github-actions
Copy link

⚠️ 🔥

+5230 bytes
🆗 Bot Rating: You are a decomp GOD, can I have your autograph?

Regressions: 56

⚠️ main/SB/Core/x/xAnim - .sdata2 -4 bytes -> 92.86%
⚠️ main/SB/Core/x/xCamera - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Core/x/xCutscene - .rodata -21 bytes -> 0.00%
⚠️ main/SB/Core/x/xEntMotion - .rodata -23 bytes -> 2.18%
⚠️ main/SB/Core/x/xHud - .rodata -16 bytes -> 33.56%
⚠️ main/SB/Core/x/xHudFontMeter - .rodata -22 bytes -> 0.00%
⚠️ main/SB/Core/x/xHudUnitMeter - .rodata -3 bytes -> 0.00%
⚠️ main/SB/Core/x/xMath3 - .text -3 bytes -> 55.67%
⚠️ main/SB/Core/x/xScrFx - .rodata -3 bytes -> 0.00%
⚠️ main/SB/Core/x/xShadow - .rodata -16 bytes -> 0.00%
⚠️ main/SB/Core/x/xSpline - .rodata -13 bytes -> 0.00%
⚠️ main/SB/Core/x/xTRC - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zDispatcher - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zEGenerator - .rodata -2 bytes -> 0.00%
⚠️ main/SB/Game/zEntCruiseBubble - .rodata -7 bytes -> 88.79%
⚠️ main/SB/Game/zEntHangable - .rodata -10 bytes -> 62.50%
⚠️ main/SB/Game/zFX - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zGame - .rodata -6 bytes -> 95.95%
⚠️ main/SB/Game/zHud - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zLight - .rodata -3 bytes -> 0.00%
⚠️ main/SB/Game/zMain - .rodata -7 bytes -> 87.11%
⚠️ main/SB/Game/zThrown - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zUIFont - .rodata -3 bytes -> 90.70%
⚠️ main/SB/Game/zVar - .rodata -16 bytes -> 32.35%
⚠️ main/SB/Core/gc/iAnimSKB - .rodata -16 bytes -> 0.00%
⚠️ main/SB/Core/gc/iModel - .rodata -19 bytes -> 0.00%
⚠️ main/SB/Core/gc/iSnd - .rodata -4 bytes -> 0.00%
⚠️ main/SB/Game/zNPCGoalRobo - .rodata -23 bytes -> 2.22%
⚠️ main/SB/Game/zNPCMgr - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCTypeCommon - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCTypeRobot - .rodata -11 bytes -> 58.53%
⚠️ main/SB/Game/zNPCTypeVillager - .rodata -8 bytes -> 79.57%
⚠️ main/SB/Game/zNPCTypeTiki - .rodata -10 bytes -> 68.25%
⚠️ main/SB/Core/x/xNPCBasic - .rodata -16 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerBungeeState - .rodata -12 bytes -> 65.09%
⚠️ main/SB/Core/x/xParSys - .rodata -20 bytes -> 0.00%
⚠️ main/SB/Core/x/xParEmitter - .rodata -13 bytes -> 0.00%
⚠️ main/SB/Core/x/xParEmitterType - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zEntPlayerOOBState - .rodata -23 bytes -> 2.36%
⚠️ main/SB/Core/x/xEntBoulder - .rodata -9 bytes -> 0.00%
⚠️ main/SB/Game/zGrid - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCSndTable - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCSpawner - .rodata -10 bytes -> 62.86%
⚠️ main/SB/Game/zNPCSupport - .rodata -20 bytes -> 12.27%
⚠️ main/SB/Game/zNPCGoalVillager - .rodata -7 bytes -> 89.21%
⚠️ main/SB/Core/x/xShadowSimple - .rodata -1 bytes -> 0.00%
⚠️ main/SB/Game/zDiscoFloor - .rodata -21 bytes -> 0.00%
⚠️ main/SB/Game/zNPCTypeKingJelly - .rodata -12 bytes -> 3.89%
⚠️ main/SB/Game/zNPCTypeBossPlankton - .rodata -12 bytes -> 77.24%
⚠️ main/SB/Core/x/xLaserBolt - .rodata -16 bytes -> 0.00%
⚠️ main/SB/Game/zNPCSupplement - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCHazard - .rodata -23 bytes -> 0.00%
⚠️ main/SB/Game/zNPCGoalAmbient - .rodata -8 bytes -> 0.00%
⚠️ main/SB/Game/zNPCFXCinematic - .rodata -21 bytes -> 11.73%
⚠️ main/SB/Game/zCombo - .rodata -23 bytes -> 0.64%
⚠️ main/SB/Core/x/xMath3 - xBoxInitBoundOBB(xBox*, const xBox*, const xMat4x3*) -4 bytes -> 0.00%

Progress: 88

main/SB/Core/gc/isavegame - .rodata +5 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - .text +523 bytes -> 8.09%
main/SB/Game/zNPCGoals - .rodata +2137 bytes -> 100.00%
📈 main/SB/Game/zNPCTypeBossPatrick - .rodata +70 bytes -> 97.02%
📈 main/SB/Game/zNPCTypeBossSandy - .rodata +89 bytes -> 39.87%
main/SB/Game/zSaveLoad - .rodata +5 bytes -> 100.00%
📈 main/SB/Game/zLightning - .rodata +2 bytes -> 97.90%
📈 main/SB/Game/zAssetTypes - .rodata +5 bytes -> 99.46%
📈 main/SB/Core/x/xFont - .rodata +1 bytes -> 72.65%
📈 main/SB/Game/zNPCTypeBoss - .rodata +5 bytes -> 98.48%
main/SB/Game/zNPCTypes - .rodata +841 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - .text +15 bytes -> 2.34%
📈 main/SB/Core/x/xCollide - .text +568 bytes -> 92.21%
main/SB/Game/zUI - .rodata +3 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - .text +452 bytes -> 86.92%
📈 main/SB/Core/x/xFX - .rodata +2 bytes -> 27.74%
main/SB/Game/zEntTeleportBox - .rodata +5 bytes -> 100.00%
main/SB/Game/zNPCGlyph - .rodata +6 bytes -> 100.00%
📈 main/SB/Game/zNPCTypeSubBoss - .rodata +3 bytes -> 97.45%
📈 main/SB/Game/zNPCTypeAmbient - .rodata +5 bytes -> 88.99%
main/SB/Core/x/xCollide - .text +232 bytes -> 100.00%
main/SB/Core/x/xAnim - .rodata +5 bytes -> 100.00%
main/SB/Game/zNPCTypeBossSB1 - .rodata +5 bytes -> 100.00%
📈 main/SB/Game/zNPCTypeDuplotron - .rodata +3 bytes -> 32.32%
📈 main/SB/Core/x/xMath3 - .rodata +67 bytes -> 82.35%
📈 main/SB/Core/x/xCollide - .text +12 bytes -> 7.89%
📈 main/SB/Game/zShrapnel - .rodata +1 bytes -> 91.38%
main/SB/Core/x/xCollide - .text +120 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - .text +7 bytes -> 7.69%
📈 main/SB/Core/x/xCollide - .sdata2 +27 bytes -> 44.64%
📈 main/SB/Core/x/xMath3 - .sdata2 +1 bytes -> 66.67%
📈 main/SB/Core/x/xCollide - .sbss +6 bytes -> 28.57%
main/SB/Core/gc/iEnv - .rodata +4 bytes -> 100.00%
main/SB/Core/gc/iAnim - .rodata +2 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xSweptSphereToBox(xSweptSphere*, xBox*, xMat4x3*) +4 bytes -> 0.16%
📈 main/SB/Core/x/xCollide - xSweptSphereToTriangle(xSweptSphere*, xVec3*, xVec3*, xVec3*) +4 bytes -> 0.19%
📈 main/SB/Core/x/xCollide - _rpCollBSPTreeForAllCapsuleLeafNodeIntersections(RpCollBSPTree*, RwLine*, float, RpV3dGradient*, int (*)(int, int, void*), void*) +3 bytes -> 0.20%
📈 main/SB/Core/x/xCollide - xOBBHitsOBB(const xBox&, const xMat4x3&, const xBox&, const xMat4x3&) +4 bytes -> 0.24%
📈 main/SB/Core/x/xCollide - xCollideCalcTri(xCollis::tri_data&, const xModelInstance&, const xVec3&, const xVec3&) +4 bytes -> 0.28%
📈 main/SB/Core/x/xCollide - xSphereHitsOBB_nu(const xSphere*, const xBox*, const xMat4x3*, xCollis*) +4 bytes -> 0.42%
📈 main/SB/Core/x/xCollide - xSweptSphereToModel(xSweptSphere*, RpAtomic*, RwMatrixTag*) +3 bytes -> 0.61%
📈 main/SB/Core/x/xCollide - xCollisTriHit(const xCollis::tri_data&, const xModelInstance&) +3 bytes -> 0.63%
📈 main/SB/Core/x/xCollide - xParabolaHitsEnv(xParabola*, const xEnv*, xCollis*) +4 bytes -> 0.69%
📈 main/SB/Core/x/xCollide - xSweptSpherePrepare(xSweptSphere*, xVec3*, xVec3*, float) +4 bytes -> 0.70%
📈 main/SB/Core/x/xCollide - xSphereHitsModel(const xSphere*, const xModelInstance*, xCollis*) +3 bytes -> 0.81%
📈 main/SB/Core/x/xCollide - xSweptSphereGetResults(xSweptSphere*) +3 bytes -> 1.01%
📈 main/SB/Core/x/xCollide - xSweptSphereToScene(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.05%
📈 main/SB/Core/x/xCollide - xSphereHitsCapsule(const xVec3&, float, const xVec3&, const xVec3&, float) +4 bytes -> 1.05%
📈 main/SB/Core/x/xCollide - xSweptSphereToEnv(xSweptSphere*, xEnv*) +284 bytes -> 75.53%
📈 main/SB/Core/x/xCollide - xSweptSphereToNonMoving(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.12%
📈 main/SB/Core/x/xCollide - xMat3x3LookVec3(xMat3x3&, const xVec3&) +268 bytes -> 79.76%
📈 main/SB/Core/x/xCollide - xSphereHitsVCylinder(const xVec3&, float, const xVec3&, float, float) +3 bytes -> 1.27%
📈 main/SB/Core/x/xCollide - xSweptSphereToStatDyn(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.35%
📈 main/SB/Core/x/xCollide - xSphereHitsVCircle(const xVec3&, float, const xVec3&, float) +3 bytes -> 1.52%
📈 main/SB/Core/x/xCollide - xSweptSphereToNPC(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.54%
📈 main/SB/Core/x/xCollide - SweptSphereLeafNodeCB(xClumpCollBSPTriangle*, void*) +4 bytes -> 2.38%
📈 main/SB/Core/x/xCollide - SweptSphereHitsEnvCB(RpIntersection*, RpWorldSector*, RpCollisionTriangle*, float, void*) +4 bytes -> 2.94%
📈 main/SB/Core/x/xCollide - xParabolaEvalPos(const xParabola*, xVec3*, float) +4 bytes -> 3.12%
📈 main/SB/Core/x/xCollide - xVec3::cross(const xVec3&) const +76 bytes -> 61.29%
📈 main/SB/Core/x/xCollide - xSphereHitsBound(const xSphere&, const xBound&) +4 bytes -> 3.45%
📈 main/SB/Core/x/xCollide - xBoxHitsObb(const xBox*, const xBox*, const xMat4x3*, xCollis*) +4 bytes -> 3.57%
📈 main/SB/Core/x/xCollide - xSphereHitsSphere(const xVec3&, float, const xVec3&, float) +4 bytes -> 3.57%
📈 main/SB/Core/x/xCollide - std::sqrtf(float) +72 bytes -> 72.00%
main/SB/Core/x/xCollide - xMat3x3RMulVec(xVec3*, const xMat3x3*, const xVec3*) +100 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator+(const xVec3&) const +100 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xParabolaEvalVel(const xParabola*, xVec3*, float) +4 bytes -> 4.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollApply(const xModelInstance&) +4 bytes -> 4.17%
main/SB/Core/x/xCollide - xVec3::get_abs() const +96 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator/(float) const +96 bytes -> 100.00%
main/SB/Core/x/xCollide - xMat4x3OrthoInv(xMat4x3*, const xMat4x3*) +84 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Dist(const xVec3*, const xVec3*) +80 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Cross(xVec3*, const xVec3*, const xVec3*) +64 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec2::operator-(const xVec2&) const +60 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::normalize() +56 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3AddScaled(xVec3*, const xVec3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator+=(const xVec3&) +52 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::set_abs() +52 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xQuickCullForRay(xQCData*, const xRay3*) +4 bytes -> 7.69%
📈 main/SB/Core/x/xCollide - xQuickCullForBox(xQCData*, const xBox*) +4 bytes -> 7.69%
main/SB/Core/x/xCollide - xsqrtfast(float&, float) +48 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::dot(const xVec3&) const +40 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Length2(const xVec3*) +36 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xSphereHitsOBB(const xSphere&, const xBox&, const xMat4x3&) +4 bytes -> 11.11%
main/SB/Core/x/xCollide - xVec2::operator-=(const xVec2&) +36 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollRestore(const xModelInstance&) +4 bytes -> 12.50%
main/SB/Core/x/xCollide - RwV3d::operator=(const RwV3d&) +28 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollDirty(const xModelInstance&) +4 bytes -> 16.67%
main/SB/Core/x/xCollide - xVec2::length2() const +24 bytes -> 100.00%

@JoshSanch
Copy link
Collaborator

Can you rebase your branch onto latest main? I'm hoping it will resolve this issue for me in case there's some conflicts

image

@github-actions
Copy link

⚠️ 🔥

+2034 bytes
🆗 Bot Rating: Amazing contribution, you are the decomp GOAT 🐐

Regressions: 2

⚠️ main/SB/Core/x/xMath3 - .text -3 bytes -> 55.67%
⚠️ main/SB/Core/x/xMath3 - xBoxInitBoundOBB(xBox*, const xBox*, const xMat4x3*) -4 bytes -> 0.00%

Progress: 66

📈 main/SB/Core/x/xCollide - .text +523 bytes -> 8.09%
📈 main/SB/Core/x/xCollide - .text +15 bytes -> 2.34%
📈 main/SB/Core/x/xCollide - .text +568 bytes -> 92.21%
📈 main/SB/Core/x/xCollide - .text +452 bytes -> 86.92%
main/SB/Core/x/xCollide - .text +232 bytes -> 100.00%
📈 main/SB/Core/x/xMath3 - .rodata +75 bytes -> 87.32%
📈 main/SB/Core/x/xCollide - .text +12 bytes -> 7.89%
main/SB/Core/x/xCollide - .text +120 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - .text +7 bytes -> 7.69%
📈 main/SB/Core/x/xCollide - .sdata2 +27 bytes -> 44.64%
📈 main/SB/Core/x/xMath3 - .sdata2 +1 bytes -> 66.67%
📈 main/SB/Core/x/xCollide - .sbss +6 bytes -> 28.57%
📈 main/SB/Core/x/xCollide - xSweptSphereToBox(xSweptSphere*, xBox*, xMat4x3*) +4 bytes -> 0.16%
📈 main/SB/Core/x/xCollide - xSweptSphereToTriangle(xSweptSphere*, xVec3*, xVec3*, xVec3*) +4 bytes -> 0.19%
📈 main/SB/Core/x/xCollide - _rpCollBSPTreeForAllCapsuleLeafNodeIntersections(RpCollBSPTree*, RwLine*, float, RpV3dGradient*, int (*)(int, int, void*), void*) +3 bytes -> 0.20%
📈 main/SB/Core/x/xCollide - xOBBHitsOBB(const xBox&, const xMat4x3&, const xBox&, const xMat4x3&) +4 bytes -> 0.24%
📈 main/SB/Core/x/xCollide - xCollideCalcTri(xCollis::tri_data&, const xModelInstance&, const xVec3&, const xVec3&) +4 bytes -> 0.28%
📈 main/SB/Core/x/xCollide - xSphereHitsOBB_nu(const xSphere*, const xBox*, const xMat4x3*, xCollis*) +4 bytes -> 0.42%
📈 main/SB/Core/x/xCollide - xSweptSphereToModel(xSweptSphere*, RpAtomic*, RwMatrixTag*) +3 bytes -> 0.61%
📈 main/SB/Core/x/xCollide - xCollisTriHit(const xCollis::tri_data&, const xModelInstance&) +3 bytes -> 0.63%
📈 main/SB/Core/x/xCollide - xParabolaHitsEnv(xParabola*, const xEnv*, xCollis*) +4 bytes -> 0.69%
📈 main/SB/Core/x/xCollide - xSweptSpherePrepare(xSweptSphere*, xVec3*, xVec3*, float) +4 bytes -> 0.70%
📈 main/SB/Core/x/xCollide - xSphereHitsModel(const xSphere*, const xModelInstance*, xCollis*) +3 bytes -> 0.81%
📈 main/SB/Core/x/xCollide - xSweptSphereGetResults(xSweptSphere*) +3 bytes -> 1.01%
📈 main/SB/Core/x/xCollide - xSweptSphereToScene(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.05%
📈 main/SB/Core/x/xCollide - xSphereHitsCapsule(const xVec3&, float, const xVec3&, const xVec3&, float) +4 bytes -> 1.05%
📈 main/SB/Core/x/xCollide - xSweptSphereToEnv(xSweptSphere*, xEnv*) +284 bytes -> 75.53%
📈 main/SB/Core/x/xCollide - xSweptSphereToNonMoving(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.12%
📈 main/SB/Core/x/xCollide - xMat3x3LookVec3(xMat3x3&, const xVec3&) +268 bytes -> 79.76%
📈 main/SB/Core/x/xCollide - xSphereHitsVCylinder(const xVec3&, float, const xVec3&, float, float) +3 bytes -> 1.27%
📈 main/SB/Core/x/xCollide - xSweptSphereToStatDyn(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.35%
📈 main/SB/Core/x/xCollide - xSphereHitsVCircle(const xVec3&, float, const xVec3&, float) +3 bytes -> 1.52%
📈 main/SB/Core/x/xCollide - xSweptSphereToNPC(xSweptSphere*, xScene*, xEnt*, unsigned char) +4 bytes -> 1.54%
📈 main/SB/Core/x/xCollide - SweptSphereLeafNodeCB(xClumpCollBSPTriangle*, void*) +4 bytes -> 2.38%
📈 main/SB/Core/x/xCollide - SweptSphereHitsEnvCB(RpIntersection*, RpWorldSector*, RpCollisionTriangle*, float, void*) +4 bytes -> 2.94%
📈 main/SB/Core/x/xCollide - xParabolaEvalPos(const xParabola*, xVec3*, float) +4 bytes -> 3.12%
📈 main/SB/Core/x/xCollide - xVec3::cross(const xVec3&) const +76 bytes -> 61.29%
📈 main/SB/Core/x/xCollide - xSphereHitsBound(const xSphere&, const xBound&) +4 bytes -> 3.45%
📈 main/SB/Core/x/xCollide - xBoxHitsObb(const xBox*, const xBox*, const xMat4x3*, xCollis*) +4 bytes -> 3.57%
📈 main/SB/Core/x/xCollide - xSphereHitsSphere(const xVec3&, float, const xVec3&, float) +4 bytes -> 3.57%
📈 main/SB/Core/x/xCollide - std::sqrtf(float) +72 bytes -> 72.00%
main/SB/Core/x/xCollide - xMat3x3RMulVec(xVec3*, const xMat3x3*, const xVec3*) +100 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator+(const xVec3&) const +100 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xParabolaEvalVel(const xParabola*, xVec3*, float) +4 bytes -> 4.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollApply(const xModelInstance&) +4 bytes -> 4.17%
main/SB/Core/x/xCollide - xVec3::get_abs() const +96 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator/(float) const +96 bytes -> 100.00%
main/SB/Core/x/xCollide - xMat4x3OrthoInv(xMat4x3*, const xMat4x3*) +84 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Dist(const xVec3*, const xVec3*) +80 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Cross(xVec3*, const xVec3*, const xVec3*) +64 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec2::operator-(const xVec2&) const +60 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::normalize() +56 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3AddScaled(xVec3*, const xVec3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::operator+=(const xVec3&) +52 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::set_abs() +52 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xQuickCullForRay(xQCData*, const xRay3*) +4 bytes -> 7.69%
📈 main/SB/Core/x/xCollide - xQuickCullForBox(xQCData*, const xBox*) +4 bytes -> 7.69%
main/SB/Core/x/xCollide - xsqrtfast(float&, float) +48 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3::dot(const xVec3&) const +40 bytes -> 100.00%
main/SB/Core/x/xCollide - xVec3Length2(const xVec3*) +36 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xSphereHitsOBB(const xSphere&, const xBox&, const xMat4x3&) +4 bytes -> 11.11%
main/SB/Core/x/xCollide - xVec2::operator-=(const xVec2&) +36 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollRestore(const xModelInstance&) +4 bytes -> 12.50%
main/SB/Core/x/xCollide - RwV3d::operator=(const RwV3d&) +28 bytes -> 100.00%
📈 main/SB/Core/x/xCollide - xModelAnimCollDirty(const xModelInstance&) +4 bytes -> 16.67%
main/SB/Core/x/xCollide - xVec2::length2() const +24 bytes -> 100.00%

Copy link
Collaborator

@JoshSanch JoshSanch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm! Thanks :)

@JoshSanch JoshSanch merged commit bd80961 into bfbbdecomp:main May 23, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants