Skip to content

Finished porting the bfbb code to the xWad files in core/x#13

Merged
LivewireCB merged 2 commits intobfbbdecomp:mainfrom
LivewireCB:dev
May 1, 2025
Merged

Finished porting the bfbb code to the xWad files in core/x#13
LivewireCB merged 2 commits intobfbbdecomp:mainfrom
LivewireCB:dev

Conversation

@LivewireCB
Copy link
Collaborator

As the title says.

@github-actions
Copy link

github-actions bot commented May 1, 2025

🆗 ✅

+32761 bytes
🆗 Bot Rating: If I could feel emotions, I would be crying tears of joy right now.

No Regressions 🎉

Progress: 285

📈 main/SB/Core/x/xWad5 - .bss +64 bytes -> 0.07%
📈 main/SB/Core/x/xWad4 - .data +4 bytes -> 88.75%
📈 main/SB/Core/x/xWad1 - .text +6643 bytes -> 26.27%
📈 main/SB/Core/x/xWad5 - .text +532 bytes -> 2.79%
📈 main/SB/Core/x/xWad3 - .text +2523 bytes -> 16.06%
📈 main/SB/Core/x/xWad3 - .text +559 bytes -> 4.52%
📈 main/SB/Core/x/xWad4 - .text +672 bytes -> 36.10%
📈 main/SB/Core/x/xWad1 - .bss +28 bytes -> 0.28%
📈 main/SB/Core/x/xWad1 - .text +288 bytes -> 3.04%
📈 main/SB/Core/x/xWad5 - .text +667 bytes -> 7.98%
📈 main/SB/Core/x/xWad5 - .data +5994 bytes -> 73.25%
📈 main/SB/Core/x/xWad1 - .text +452 bytes -> 6.16%
📈 main/SB/Core/x/xWad1 - .text +307 bytes -> 5.35%
📈 main/SB/Core/x/xWad1 - .text +331 bytes -> 6.18%
📈 main/SB/Core/x/xWad1 - .data +3568 bytes -> 67.27%
📈 main/SB/Core/x/xWad1 - .text +1796 bytes -> 35.17%
📈 main/SB/Core/x/xWad3 - .text +256 bytes -> 5.84%
📈 main/SB/Core/x/xWad5 - .text +244 bytes -> 6.07%
📈 main/SB/Core/x/xWad5 - .text +224 bytes -> 5.86%
📈 main/SB/Core/x/xWad1 - .text +804 bytes -> 24.78%
📈 main/SB/Core/x/xWad5 - .text +180 bytes -> 5.85%
📈 main/SB/Core/x/xWad3 - .text +727 bytes -> 29.50%
📈 main/SB/Core/x/xWad1 - .text +299 bytes -> 14.32%
📈 main/SB/Core/x/xWad5 - .text +352 bytes -> 17.96%
📈 main/SB/Core/x/xWad1 - .rodata +85 bytes -> 5.24%
📈 main/SB/Core/x/xWad3 - .text +540 bytes -> 35.71%
📈 main/SB/Core/x/xWad3 - .text +856 bytes -> 56.61%
📈 main/SB/Core/x/xWad1 - .text +184 bytes -> 13.65%
📈 main/SB/Core/x/xWad5 - .text +127 bytes -> 10.09%
📈 main/SB/Core/x/xWad5 - .rodata +114 bytes -> 9.67%
📈 main/SB/Core/x/xWad5 - .text +72 bytes -> 6.52%
📈 main/SB/Core/x/xWad3 - .text +1010 bytes -> 97.16%
📈 main/SB/Core/gc/iWad - .text +604 bytes -> 70.56%
📈 main/SB/Core/x/xWad1 - .text +376 bytes -> 55.95%
📈 main/SB/Core/x/xWad5 - .text +52 bytes -> 8.07%
main/SB/Core/x/xWad3 - .text +624 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - .sdata2 +30 bytes -> 6.67%
📈 main/SB/Core/x/xWad5 - .text +236 bytes -> 64.84%
📈 main/SB/Core/x/xWad1 - .text +300 bytes -> 83.33%
📈 main/SB/Core/x/xWad1 - .sdata2 +59 bytes -> 19.07%
📈 main/SB/Core/x/xWad5 - .sbss +49 bytes -> 17.07%
📈 main/SB/Core/x/xWad1 - .text +159 bytes -> 61.44%
📈 main/SB/Core/x/xWad3 - .sdata2 +74 bytes -> 36.03%
main/SB/Core/x/xWad5 - .text +208 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - .sbss +35 bytes -> 23.26%
📈 main/SB/Core/x/xWad1 - .sbss +38 bytes -> 30.00%
📈 main/SB/Core/x/xWad3 - .data +12 bytes -> 12.50%
📈 main/SB/Core/x/xWad5 - .sdata +3 bytes -> 8.33%
📈 main/SB/Core/x/xWad1 - .sdata +8 bytes -> 20.00%
main/SB/Core/x/xWad1 - .text +8 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - SingleUpdate(xAnimSingle*, float) +716 bytes -> 16.79%
📈 main/SB/Core/x/xWad1 - xAnimPlayStartTransition(xAnimPlay*, xAnimTransition*) +236 bytes -> 10.50%
📈 main/SB/Core/x/xWad1 - _xAnimTableAddTransition(xAnimTable*, xAnimTransition*, const char*, const char*) +128 bytes -> 5.88%
📈 main/SB/Core/x/xWad1 - _xCheckAnimNameInner(const char*, const char*, int, char*, int*, int*) +1000 bytes -> 63.94%
📈 main/SB/Core/x/xWad1 - xAnimFileEval(xAnimFile*, float, float*, unsigned int, xVec3*, xQuat*, float*) +1156 bytes -> 83.53%
📈 main/SB/Core/x/xWad1 - xBoundHitsBound(const xBound*, const xBound*, xCollis*) +132 bytes -> 9.59%
📈 main/SB/Core/x/xWad1 - xAnimPlaySetState(xAnimSingle*, xAnimState*, float) +116 bytes -> 10.94%
📈 main/SB/Core/x/xWad1 - xAnimPlayEval(xAnimPlay*) +440 bytes -> 42.64%
📈 main/SB/Core/x/xWad5 - xCameraFXShakeUpdate(cameraFX*, float, const xMat4x3*, xMat4x3*) +232 bytes -> 25.78%
📈 main/SB/Core/x/xWad3 - xQuatFromMat(xQuat*, const xMat3x3*) +8 bytes -> 0.93%
📈 main/SB/Core/x/xWad1 - xSphereHitsBound(const xSphere*, const xBound*, xCollis*) +43 bytes -> 5.61%
📈 main/SB/Core/x/xWad1 - EffectSingleLoop(xAnimSingle*) +116 bytes -> 15.93%
📈 main/SB/Core/x/xWad3 - xQuatSlerp(xQuat*, const xQuat*, const xQuat*, float) +52 bytes -> 7.26%
📈 main/SB/Core/x/xWad3 - xMat4x3Mul(xMat4x3*, const xMat4x3*, const xMat4x3*) +12 bytes -> 1.70%
📈 main/SB/Core/x/xWad1 - xBinioLoadCreate(const char*, int) +388 bytes -> 55.11%
main/SB/Core/x/xWad3 - xLightKit_Prepare(void*) +680 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelInstanceFree(xModelInstance*) +52 bytes -> 7.88%
📈 main/SB/Core/x/xWad1 - LoopUpdate(xAnimSingle*) +28 bytes -> 4.27%
📈 main/SB/Core/x/xWad3 - xMovePointGetNext(const xMovePoint*, const xMovePoint*, xMovePoint**, xVec3*) +248 bytes -> 38.75%
📈 main/SB/Core/x/xWad1 - xAnimTableNewTransition(xAnimTable*, const char*, const char*, unsigned int (*)(xAnimTransition*, xAnimSingle*, void*), unsigned int (*)(xAnimTransition*, xAnimSingle*, void*), unsigned int, unsigned int, float, float, unsigned short, unsigned short, float, unsigned short*) +268 bytes -> 42.41%
📈 main/SB/Core/x/xWad5 - xSkyDome_AddEntity(xEnt*, int, int, int) +20 bytes -> 3.25%
main/SB/Core/x/xWad3 - xMorphSeqSetup(void*, void* (*)(unsigned int, char*)) +604 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xUtil_crc_update(unsigned int, char*, int) +16 bytes -> 2.68%
📈 main/SB/Core/x/xWad3 - xMat4x3Rot(xMat4x3*, const xVec3*, float, const xVec3*) +28 bytes -> 4.86%
📈 main/SB/Core/x/xWad4 - PKR_ReadInit(void*, const char*, unsigned int, int*, PKRAssetType*, int) +296 bytes -> 52.11%
📈 main/SB/Core/x/xWad3 - xMat3x3LookVec(xMat3x3*, const xVec3*) +284 bytes -> 50.00%
📈 main/SB/Core/x/xWad1 - EffectSingleStart(xAnimSingle*) +304 bytes -> 54.68%
📈 main/SB/Core/x/xWad5 - xTimerInit(void*, void*) +11 bytes -> 2.21%
📈 main/SB/Core/x/xWad1 - xAnimPoolInit(xMemPool*, unsigned int, unsigned int, unsigned int, unsigned int) +479 bytes -> 89.55%
📈 main/SB/Core/x/xWad5 - xSTSwitchScene(unsigned int, void*, int (*)(void*, float)) +72 bytes -> 13.64%
📈 main/SB/Core/x/xWad1 - xCounterEventCB(xBase*, xBase*, unsigned int, const float*, xBase*, unsigned int) +56 bytes -> 10.77%
📈 main/SB/Core/x/xWad3 - xBoxInitBoundOBB(xBox*, const xBox*, const xMat4x3*) +4 bytes -> 0.78%
📈 main/SB/Core/x/xWad1 - EffectSingleRun(xAnimSingle*) +184 bytes -> 37.40%
📈 main/SB/Core/x/xWad5 - xSTFindAssetByType(unsigned int, int, unsigned int*) +124 bytes -> 25.62%
📈 main/SB/Core/x/xWad1 - BFD_read(void*, int, int, tag_xFile*, void*) +468 bytes -> 99.15%
📈 main/SB/Core/x/xWad1 - iCameraSetFogParams(iFogParams*, float) +44 bytes -> 9.32%
📈 main/SB/Core/x/xWad5 - xSkyDome_Render() +36 bytes -> 7.63%
📈 main/SB/Core/x/xWad3 - xMat3x3GetEuler(const xMat3x3*, xVec3*) +152 bytes -> 33.93%
📈 main/SB/Core/x/xWad5 - xSTAssetName(unsigned int) +76 bytes -> 16.96%
📈 main/SB/Core/x/xWad1 - ReadIDoubles(st_FILELOADINFO*, double*, int) +7 bytes -> 1.82%
📈 main/SB/Core/x/xWad5 - xSTGetAssetInfo(unsigned int, PKRAssetTOCInfo*) +28 bytes -> 6.48%
📈 main/SB/Core/x/xWad3 - xQuatMul(xQuat*, const xQuat*, const xQuat*) +12 bytes -> 2.83%
📈 main/SB/Core/x/xWad5 - xST_xAssetID_HIPFullPath(unsigned int) +4 bytes -> 0.94%
📈 main/SB/Core/x/xWad5 - xSTAssetName(void*) +44 bytes -> 10.48%
📈 main/SB/Core/x/xWad3 - xMovePointSplineSetup(xMovePoint*) +147 bytes -> 35.92%
📈 main/SB/Core/x/xWad1 - xBoundUpdate(xBound*) +48 bytes -> 11.65%
📈 main/SB/Core/x/xWad5 - xSTAssetCountByType(unsigned int) +16 bytes -> 3.88%
📈 main/SB/Core/x/xWad5 - xSTQueueSceneAssets(unsigned int, int) +72 bytes -> 17.48%
📈 main/SB/Core/x/xWad1 - ReadIFloats(st_FILELOADINFO*, float*, int) +12 bytes -> 2.94%
📈 main/SB/Core/x/xWad1 - ReadILongs(st_FILELOADINFO*, int*, int) +12 bytes -> 2.94%
📈 main/SB/Core/x/xWad1 - xCutscene_Init(void*) +96 bytes -> 24.24%
📈 main/SB/Core/x/xWad1 - ReadIShorts(st_FILELOADINFO*, short*, int) +12 bytes -> 3.03%
📈 main/SB/Core/x/xWad3 - xMat3x3RotC(xMat3x3*, float, float, float, float) +280 bytes -> 71.43%
📈 main/SB/Core/x/xWad1 - TransitionTimeInit(xAnimSingle*, xAnimTransition*) +128 bytes -> 32.65%
📈 main/SB/Core/x/xWad1 - xClimateInitAsset(_tagClimate*, xEnvAsset*) +164 bytes -> 43.16%
📈 main/SB/Core/x/xWad1 - xCutscene_Create(unsigned int, unsigned int) +31 bytes -> 8.51%
📈 main/SB/Core/x/xWad5 - xSTDisconnect(unsigned int, int) +48 bytes -> 12.77%
📈 main/SB/Core/x/xWad3 - xMat3x3RMulRotY(xMat3x3*, const xMat3x3*, float) +251 bytes -> 69.15%
📈 main/SB/Core/x/xWad1 - xCutscene_Destroy(xCutscene*) +76 bytes -> 21.11%
📈 main/SB/Core/x/xWad1 - xCMstart(xCreditsData*, float, xBase*) +40 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - xAnimFileNew(void*, const char*, unsigned int, xAnimFile**) +12 bytes -> 3.33%
📈 main/SB/Core/x/xWad1 - xCMprep(xCreditsData*) +192 bytes -> 56.47%
📈 main/SB/Core/x/xWad1 - xVecHitsBound(const xVec3*, const xBound*, xCollis*) +108 bytes -> 31.76%
📈 main/SB/Core/x/xWad1 - xAnimPlayChooseTransition(xAnimPlay*) +43 bytes -> 12.79%
📈 main/SB/Core/x/xWad1 - xAnimTableAddFileID(xAnimTable*, xAnimFile*, unsigned int, unsigned int, unsigned int) +212 bytes -> 63.10%
📈 main/SB/Core/x/xWad1 - iCameraUpdatePos(RwCamera*, xMat4x3*) +63 bytes -> 19.28%
📈 main/SB/Core/x/xWad3 - xMemAlloc(unsigned int, unsigned int, int) +104 bytes -> 31.71%
📈 main/SB/Core/x/xWad3 - xMat3x3Euler(xMat3x3*, const xVec3*) +15 bytes -> 4.88%
📈 main/SB/Core/x/xWad3 - xMathInit() +15 bytes -> 4.88%
main/SB/Core/x/xWad3 - xMat3x3Euler(xMat3x3*, float, float, float) +324 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - iCameraSetFogRenderStates() +128 bytes -> 40.00%
📈 main/SB/Core/x/xWad5 - xCameraFXZoomUpdate(cameraFX*, float, const xMat4x3*, xMat4x3*) +300 bytes -> 97.40%
📈 main/SB/Core/x/xWad4 - PKR_GetAssetInfoByType(st_PACKER_READ_DATA*, unsigned int, int, PKRAssetTOCInfo*) +216 bytes -> 73.97%
📈 main/SB/Core/x/xWad1 - xRayHitsBound(const xRay3*, const xBound*, xCollis*) +116 bytes -> 40.85%
📈 main/SB/Core/x/xWad1 - xAnimPlaySetup(xAnimPlay*, void*, xAnimTable*, xModelInstance*) +64 bytes -> 22.54%
📈 main/SB/Core/x/xWad1 - xAnimTableAddFile(xAnimTable*, xAnimFile*, const char*) +76 bytes -> 26.76%
📈 main/SB/Core/x/xWad5 - xUpdateCull_Reset(xUpdateCullMgr*) +88 bytes -> 30.99%
📈 main/SB/Core/x/xWad1 - xBoundGetBox(xBox&, const xBound&) +4 bytes -> 1.45%
📈 main/SB/Core/x/xWad1 - xBehaveMgr_Startup() +76 bytes -> 28.36%
📈 main/SB/Core/x/xWad1 - xRayHitsSphereFast(const xRay3*, const xSphere*) +204 bytes -> 77.27%
📈 main/SB/Core/x/xWad1 - BFD_open(const char*, const char*, unsigned int, int, void*, int) +180 bytes -> 68.18%
📈 main/SB/Core/x/xWad1 - xAnimPoolCB(xMemPool*, void*) +248 bytes -> 93.94%
📈 main/SB/Core/x/xWad1 - GOALCreate_Generic(int, RyzMemGrow*, void*) +32 bytes -> 12.31%
📈 main/SB/Core/x/xWad3 - xMemInitHeap(xMemHeap*, unsigned int, unsigned int, unsigned int) +248 bytes -> 98.41%
📈 main/SB/Core/x/xWad1 - iCameraCreate(int, int, int) +64 bytes -> 25.40%
📈 main/SB/Core/x/xWad3 - xMemPoolAlloc(xMemPool*) +7 bytes -> 3.28%
📈 main/SB/Core/x/xWad1 - xCMupdate(float) +31 bytes -> 13.11%
📈 main/SB/Core/x/xWad1 - xBehaveMgr::Subscribe(xBase*, int) +72 bytes -> 30.51%
main/SB/Core/x/xWad3 - XOrdRemove(st_XORDEREDARRAY*, void*, int) +232 bytes -> 100.00%
main/SB/Core/x/xWad5 - xUtil_crc_init() +224 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - BFD_AsyncRead(st_FILELOADINFO*, int, void*, int, int, int) +204 bytes -> 92.98%
📈 main/SB/Core/x/xWad1 - SkipBytes(st_FILELOADINFO*, int) +92 bytes -> 41.82%
📈 main/SB/Core/x/xWad1 - iCameraDestroy(RwCamera*) +200 bytes -> 90.91%
📈 main/SB/Core/x/xWad1 - AsyncReadStatus(st_FILELOADINFO*) +12 bytes -> 5.66%
main/SB/Core/x/xWad3 - xQuatToMat(const xQuat*, xMat3x3*) +208 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xQuatFromAxisAngle(xQuat*, const xVec3*, float) +48 bytes -> 23.08%
📈 main/SB/Core/x/xWad3 - xLightKit_Enable(xLightKit*, RpWorld*) +182 bytes -> 87.72%
📈 main/SB/Core/x/xWad3 - XOrdInit(st_XORDEREDARRAY*, int, int) +143 bytes -> 70.59%
📈 main/SB/Core/x/xWad3 - xMemPoolSetup(xMemPool*, void*, unsigned int, unsigned int, void (*)(xMemPool*, void*), unsigned int, unsigned int, unsigned int) +28 bytes -> 13.73%
📈 main/SB/Core/x/xWad4 - PKR_GetAssetInfo(st_PACKER_READ_DATA*, unsigned int, PKRAssetTOCInfo*) +160 bytes -> 80.39%
📈 main/SB/Core/x/xWad5 - xSTShutdown() +28 bytes -> 14.00%
📈 main/SB/Core/x/xWad3 - xMemInit() +172 bytes -> 87.76%
main/SB/Core/x/xWad1 - xAnimFileSetTime(xAnimFile*, float, float) +192 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - ReadMShorts(st_FILELOADINFO*, short*, int) +24 bytes -> 13.04%
📈 main/SB/Core/x/xWad1 - ReadSeek(st_FILELOADINFO*, int) +80 bytes -> 43.48%
📈 main/SB/Core/x/xWad3 - XOrdInsert(st_XORDEREDARRAY*, void*, int (*)(void*, void*)) +4 bytes -> 2.22%
📈 main/SB/Core/x/xWad1 - ReadMDoubles(st_FILELOADINFO*, double*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - ReadMFloats(st_FILELOADINFO*, float*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - ReadMLongs(st_FILELOADINFO*, int*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad3 - xMemPopBase(int) +12 bytes -> 6.82%
📈 main/SB/Core/x/xWad3 - xMemPushBase() +20 bytes -> 11.90%
📈 main/SB/Core/x/xWad1 - xAnimPlayUpdate(xAnimPlay*, float) +156 bytes -> 92.86%
📈 main/SB/Core/x/xWad1 - ReadBytes(st_FILELOADINFO*, char*, int) +24 bytes -> 14.63%
main/SB/Core/x/xWad1 - iCamGetViewMatrix(RwCamera*, xMat4x3*) +164 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSetup(xMovePoint*, xScene*) +156 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xMat3x3RotY(xMat3x3*, float) +63 bytes -> 40.48%
📈 main/SB/Core/x/xWad3 - XOrdLookup(st_XORDEREDARRAY*, const void*, int (*)(const void*, void*)) +20 bytes -> 13.16%
📈 main/SB/Core/x/xWad3 - xQuatDiff(xQuat*, const xQuat*, const xQuat*) +36 bytes -> 23.68%
📈 main/SB/Core/x/xWad3 - xMat3x3RotX(xMat3x3*, float) +81 bytes -> 53.66%
📈 main/SB/Core/x/xWad3 - xMat3x3RotZ(xMat3x3*, float) +63 bytes -> 42.86%
main/SB/Core/x/xWad3 - xMat3x3Transpose(xMat3x3*, const xMat3x3*) +144 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xLightKit_Destroy(xLightKit*) +140 bytes -> 97.22%
📈 main/SB/Core/x/xWad5 - xUtil_yesno(float) +104 bytes -> 74.29%
main/SB/Core/x/xWad3 - xMovePointInit(xMovePoint*, xMovePointAsset*) +136 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xCounterLoad(_xCounter*, xSerial*) +44 bytes -> 32.35%
📈 main/SB/Core/x/xWad1 - LoadDestroy(st_FILELOADINFO*) +104 bytes -> 76.47%
📈 main/SB/Core/x/xWad1 - xBehaveMgr::UnSubscribe(xPsyche*) +28 bytes -> 20.59%
📈 main/SB/Core/x/xWad3 - xQuatToAxisAngle(const xQuat*, xVec3*, float*) +92 bytes -> 69.70%
main/SB/Core/x/xWad3 - xPointInBox(const xBox*, const xVec3*) +124 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTRCInit() +88 bytes -> 73.33%
main/SB/Core/x/xWad5 - xSurfaceInit(unsigned short) +120 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelUpdate(xModelInstance*, float) +112 bytes -> 96.55%
📈 main/SB/Core/x/xWad1 - xCounterSave(_xCounter*, xSerial*) +79 bytes -> 68.97%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::SysEvent(xBase*, xBase*, unsigned int, const float*, xBase*, int*) +104 bytes -> 89.66%
📈 main/SB/Core/x/xWad1 - xClimateInit(_tagClimate*) +79 bytes -> 70.97%
📈 main/SB/Core/x/xWad5 - xTimerSave(xTimer*, xSerial*) +40 bytes -> 35.71%
📈 main/SB/Core/x/xWad3 - xModelAnimCollStart(xModelInstance&) +88 bytes -> 84.62%
📈 main/SB/Core/x/xWad3 - xMat3x3LMulVec(xVec3*, const xMat3x3*, const xVec3*) +4 bytes -> 4.00%
📈 main/SB/Core/x/xWad1 - xBaseLoad(xBase*, xSerial*) +64 bytes -> 64.00%
main/SB/Core/x/xWad1 - xRayHitsBoxFast(const xRay3*, const xBox*) +96 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xAnimTempTransitionInit(unsigned int) +76 bytes -> 79.17%
main/SB/Core/x/xWad5 - xVolume::Init(xVolumeAsset*) +96 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTimerLoad(xTimer*, xSerial*) +76 bytes -> 79.17%
main/SB/Core/x/xWad3 - xMemPoolFree(xMemPool*, void*) +92 bytes -> 100.00%
main/SB/Core/x/xWad1 - xAnimPoolAlloc(xMemPool*, void*, xAnimTable*, xModelInstance*) +92 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xAnimTableGetState(xAnimTable*, const char*) +48 bytes -> 52.17%
📈 main/SB/Core/x/xWad5 - xSTStartup(PKRAssetType*) +72 bytes -> 78.26%
main/SB/Core/x/xWad3 - XOrdDone(st_XORDEREDARRAY*, int) +88 bytes -> 100.00%
main/SB/Core/x/xWad3 - xModelRender(xModelInstance*) +88 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelEval(xModelInstance*) +36 bytes -> 40.91%
📈 main/SB/Core/x/xWad3 - xDangleClamp(float) +80 bytes -> 90.91%
main/SB/Core/x/xWad5 - xUpdateCull_SetCB(xUpdateCullMgr*, void*, unsigned int (*)(void*, void*), void*) +84 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTRCReset() +44 bytes -> 52.38%
main/SB/Core/x/xWad5 - xSTLoadStep(unsigned int) +84 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat3x3Normalize(xMat3x3*, const xMat3x3*) +80 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xCMstop() +28 bytes -> 36.84%
📈 main/SB/Core/x/xWad5 - xStrHash(const char*, unsigned long) +72 bytes -> 94.74%
main/SB/Core/x/xWad3 - xMovePointReset(xMovePoint*) +72 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCutscene_LoadStart(xCutscene*) +72 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xBehaveMgr_Shutdown() +68 bytes -> 94.44%
📈 main/SB/Core/x/xWad1 - xAnimInit() +52 bytes -> 72.22%
📈 main/SB/Core/x/xWad1 - xBaseSave(xBase*, xSerial*) +44 bytes -> 65.00%
📈 main/SB/Core/x/xWad5 - xTRCRender() +44 bytes -> 64.71%
main/SB/Core/x/xWad5 - xStrupr(char*) +68 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xMemDebug_SoakLog(const char*) +4 bytes -> 6.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Resume(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Suspend(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Exit(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Enter(float, void*) +52 bytes -> 81.25%
main/SB/Core/x/xWad1 - iCameraAssignEnv(RwCamera*, iEnv*) +64 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xAngleClamp(float) +51 bytes -> 86.67%
📈 main/SB/Core/x/xWad1 - xPsyche::BrainEnd() +48 bytes -> 80.00%
📈 main/SB/Core/x/xWad1 - xPsyche::BrainBegin() +7 bytes -> 12.50%
📈 main/SB/Core/x/xWad5 - xStrHash(const char*) +56 bytes -> 93.33%
📈 main/SB/Core/x/xWad3 - xModelInstanceAttach(xModelInstance*, xModelInstance*) +44 bytes -> 78.57%
📈 main/SB/Core/x/xWad1 - xBaseInit(xBase*, const xBaseAsset*) +34 bytes -> 61.11%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalAt(xMat4x3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalUp(xMat4x3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalRight(xMat4x3*, float) +52 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - iCameraSetNearFarClip(float, float) +36 bytes -> 69.23%
📈 main/SB/Core/x/xWad5 - xStrHashCat(unsigned int, const char*) +48 bytes -> 92.31%
main/SB/Core/x/xWad3 - FindChild(xModelInstance*) +48 bytes -> 100.00%
main/SB/Core/x/xWad3 - xAngleClampFast(float) +48 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelInit() +19 bytes -> 45.00%
main/SB/Core/x/xWad5 - xTRCDisk(_tagTRCState) +44 bytes -> 100.00%
main/SB/Core/x/xWad3 - XOrdAppend(st_XORDEREDARRAY*, void*) +40 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModel_SceneExit(RpWorld*) +36 bytes -> 90.00%
main/SB/Core/x/xWad1 - xCMrender() +40 bytes -> 100.00%
main/SB/Core/x/xWad1 - SetBuffer(st_FILELOADINFO*, char*, int) +40 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - GOALDestroy_Generic(xFactoryInst*) +32 bytes -> 80.00%
📈 main/SB/Core/x/xWad1 - xAnimTableGetStateID(xAnimTable*, unsigned int) +36 bytes -> 90.00%
main/SB/Core/x/xWad1 - iCameraShowRaster(RwCamera*) +40 bytes -> 100.00%
main/SB/Core/x/xWad3 - xModel_SceneEnter(RpWorld*) +36 bytes -> 100.00%
main/SB/Core/x/xWad3 - xatof(const char*) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - AsyncIRead(st_FILELOADINFO*, int, char*, int, int) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - AsyncMRead(st_FILELOADINFO*, int, char*, int, int) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - xAnimTableAddTransition(xAnimTable*, xAnimTransition*, const char*) +36 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Reset() +36 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceGetByIdx(unsigned short) +36 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointLoad(xMovePoint*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSave(xMovePoint*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMemExit() +32 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xClimateUpdate(_tagClimate*, float) +7 bytes -> 23.53%
📈 main/SB/Core/x/xWad1 - xBaseReset(xBase*, xBaseAsset*) +13 bytes -> 41.67%
main/SB/Core/x/xWad5 - xVec3Dot(const xVec3*, const xVec3*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Load(xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Save(xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceLoad(xSurface*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceSave(xSurface*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSplineDestroy(xMovePoint*) +24 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMathExit() +24 bytes -> 100.00%
main/SB/Core/x/xWad1 - xClimateSetRain(float) +24 bytes -> 100.00%
main/SB/Core/x/xWad1 - xClimateSetSnow(float) +24 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMorphSeqDuration(xMorphSeqFile*) +20 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVec3Copy(xVec3*, const xVec3*) +20 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xUtilShutdown() +8 bytes -> 50.00%
main/SB/Core/x/xWad3 - XOrdReset(st_XORDEREDARRAY*) +12 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCutscene_CurrentCutscene() +12 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::GetBound() +12 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSkyDome_Setup() +12 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointGetPos(const xMovePoint*) +8 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMemRegisterBaseNotifyFunc(void (*)(void)) +8 bytes -> 100.00%
main/SB/Core/x/xWad3 - xLightKit_GetCurrent(RpWorld*) +8 bytes -> 100.00%
main/SB/Core/x/xWad1 - xBehaveMgr_GetSelf() +8 bytes -> 100.00%
main/SB/Core/x/xWad5 - xUpdateCull_AlwaysTrueCB(void*, void*) +8 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceGetNumSurfaces() +8 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCounterInit() +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - BFD_cb_GCP2_readasync(tag_xFile*) +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xBaseSetup(xBase*) +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xGoalEmpty::Clear() +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xGoalGeneric::Clear() +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xTRCPad(int, _tagTRCState) +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceReset(xSurface*) +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceExit() +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSkyDome_EmptyRender(xEnt*) +4 bytes -> 100.00%

@github-actions
Copy link

github-actions bot commented May 1, 2025

🆗 ✅

+32761 bytes
🆗 Bot Rating: If I could feel emotions, I would be crying tears of joy right now.

No Regressions 🎉

Progress: 285

📈 main/SB/Core/x/xWad5 - .bss +64 bytes -> 0.07%
📈 main/SB/Core/x/xWad4 - .data +4 bytes -> 88.75%
📈 main/SB/Core/x/xWad1 - .text +6643 bytes -> 26.27%
📈 main/SB/Core/x/xWad5 - .text +532 bytes -> 2.79%
📈 main/SB/Core/x/xWad3 - .text +2523 bytes -> 16.06%
📈 main/SB/Core/x/xWad3 - .text +559 bytes -> 4.52%
📈 main/SB/Core/x/xWad4 - .text +672 bytes -> 36.10%
📈 main/SB/Core/x/xWad1 - .bss +28 bytes -> 0.28%
📈 main/SB/Core/x/xWad1 - .text +288 bytes -> 3.04%
📈 main/SB/Core/x/xWad5 - .text +667 bytes -> 7.98%
📈 main/SB/Core/x/xWad5 - .data +5994 bytes -> 73.25%
📈 main/SB/Core/x/xWad1 - .text +452 bytes -> 6.16%
📈 main/SB/Core/x/xWad1 - .text +307 bytes -> 5.35%
📈 main/SB/Core/x/xWad1 - .text +331 bytes -> 6.18%
📈 main/SB/Core/x/xWad1 - .data +3568 bytes -> 67.27%
📈 main/SB/Core/x/xWad1 - .text +1796 bytes -> 35.17%
📈 main/SB/Core/x/xWad3 - .text +256 bytes -> 5.84%
📈 main/SB/Core/x/xWad5 - .text +244 bytes -> 6.07%
📈 main/SB/Core/x/xWad5 - .text +224 bytes -> 5.86%
📈 main/SB/Core/x/xWad1 - .text +804 bytes -> 24.78%
📈 main/SB/Core/x/xWad5 - .text +180 bytes -> 5.85%
📈 main/SB/Core/x/xWad3 - .text +727 bytes -> 29.50%
📈 main/SB/Core/x/xWad1 - .text +299 bytes -> 14.32%
📈 main/SB/Core/x/xWad5 - .text +352 bytes -> 17.96%
📈 main/SB/Core/x/xWad1 - .rodata +85 bytes -> 5.24%
📈 main/SB/Core/x/xWad3 - .text +540 bytes -> 35.71%
📈 main/SB/Core/x/xWad3 - .text +856 bytes -> 56.61%
📈 main/SB/Core/x/xWad1 - .text +184 bytes -> 13.65%
📈 main/SB/Core/x/xWad5 - .text +127 bytes -> 10.09%
📈 main/SB/Core/x/xWad5 - .rodata +114 bytes -> 9.67%
📈 main/SB/Core/x/xWad5 - .text +72 bytes -> 6.52%
📈 main/SB/Core/x/xWad3 - .text +1010 bytes -> 97.16%
📈 main/SB/Core/gc/iWad - .text +604 bytes -> 70.56%
📈 main/SB/Core/x/xWad1 - .text +376 bytes -> 55.95%
📈 main/SB/Core/x/xWad5 - .text +52 bytes -> 8.07%
main/SB/Core/x/xWad3 - .text +624 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - .sdata2 +30 bytes -> 6.67%
📈 main/SB/Core/x/xWad5 - .text +236 bytes -> 64.84%
📈 main/SB/Core/x/xWad1 - .text +300 bytes -> 83.33%
📈 main/SB/Core/x/xWad1 - .sdata2 +59 bytes -> 19.07%
📈 main/SB/Core/x/xWad5 - .sbss +49 bytes -> 17.07%
📈 main/SB/Core/x/xWad1 - .text +159 bytes -> 61.44%
📈 main/SB/Core/x/xWad3 - .sdata2 +74 bytes -> 36.03%
main/SB/Core/x/xWad5 - .text +208 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - .sbss +35 bytes -> 23.26%
📈 main/SB/Core/x/xWad1 - .sbss +38 bytes -> 30.00%
📈 main/SB/Core/x/xWad3 - .data +12 bytes -> 12.50%
📈 main/SB/Core/x/xWad5 - .sdata +3 bytes -> 8.33%
📈 main/SB/Core/x/xWad1 - .sdata +8 bytes -> 20.00%
main/SB/Core/x/xWad1 - .text +8 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - SingleUpdate(xAnimSingle*, float) +716 bytes -> 16.79%
📈 main/SB/Core/x/xWad1 - xAnimPlayStartTransition(xAnimPlay*, xAnimTransition*) +236 bytes -> 10.50%
📈 main/SB/Core/x/xWad1 - _xAnimTableAddTransition(xAnimTable*, xAnimTransition*, const char*, const char*) +128 bytes -> 5.88%
📈 main/SB/Core/x/xWad1 - _xCheckAnimNameInner(const char*, const char*, int, char*, int*, int*) +1000 bytes -> 63.94%
📈 main/SB/Core/x/xWad1 - xAnimFileEval(xAnimFile*, float, float*, unsigned int, xVec3*, xQuat*, float*) +1156 bytes -> 83.53%
📈 main/SB/Core/x/xWad1 - xBoundHitsBound(const xBound*, const xBound*, xCollis*) +132 bytes -> 9.59%
📈 main/SB/Core/x/xWad1 - xAnimPlaySetState(xAnimSingle*, xAnimState*, float) +116 bytes -> 10.94%
📈 main/SB/Core/x/xWad1 - xAnimPlayEval(xAnimPlay*) +440 bytes -> 42.64%
📈 main/SB/Core/x/xWad5 - xCameraFXShakeUpdate(cameraFX*, float, const xMat4x3*, xMat4x3*) +232 bytes -> 25.78%
📈 main/SB/Core/x/xWad3 - xQuatFromMat(xQuat*, const xMat3x3*) +8 bytes -> 0.93%
📈 main/SB/Core/x/xWad1 - xSphereHitsBound(const xSphere*, const xBound*, xCollis*) +43 bytes -> 5.61%
📈 main/SB/Core/x/xWad1 - EffectSingleLoop(xAnimSingle*) +116 bytes -> 15.93%
📈 main/SB/Core/x/xWad3 - xQuatSlerp(xQuat*, const xQuat*, const xQuat*, float) +52 bytes -> 7.26%
📈 main/SB/Core/x/xWad3 - xMat4x3Mul(xMat4x3*, const xMat4x3*, const xMat4x3*) +12 bytes -> 1.70%
📈 main/SB/Core/x/xWad1 - xBinioLoadCreate(const char*, int) +388 bytes -> 55.11%
main/SB/Core/x/xWad3 - xLightKit_Prepare(void*) +680 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelInstanceFree(xModelInstance*) +52 bytes -> 7.88%
📈 main/SB/Core/x/xWad1 - LoopUpdate(xAnimSingle*) +28 bytes -> 4.27%
📈 main/SB/Core/x/xWad3 - xMovePointGetNext(const xMovePoint*, const xMovePoint*, xMovePoint**, xVec3*) +248 bytes -> 38.75%
📈 main/SB/Core/x/xWad1 - xAnimTableNewTransition(xAnimTable*, const char*, const char*, unsigned int (*)(xAnimTransition*, xAnimSingle*, void*), unsigned int (*)(xAnimTransition*, xAnimSingle*, void*), unsigned int, unsigned int, float, float, unsigned short, unsigned short, float, unsigned short*) +268 bytes -> 42.41%
📈 main/SB/Core/x/xWad5 - xSkyDome_AddEntity(xEnt*, int, int, int) +20 bytes -> 3.25%
main/SB/Core/x/xWad3 - xMorphSeqSetup(void*, void* (*)(unsigned int, char*)) +604 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xUtil_crc_update(unsigned int, char*, int) +16 bytes -> 2.68%
📈 main/SB/Core/x/xWad3 - xMat4x3Rot(xMat4x3*, const xVec3*, float, const xVec3*) +28 bytes -> 4.86%
📈 main/SB/Core/x/xWad4 - PKR_ReadInit(void*, const char*, unsigned int, int*, PKRAssetType*, int) +296 bytes -> 52.11%
📈 main/SB/Core/x/xWad3 - xMat3x3LookVec(xMat3x3*, const xVec3*) +284 bytes -> 50.00%
📈 main/SB/Core/x/xWad1 - EffectSingleStart(xAnimSingle*) +304 bytes -> 54.68%
📈 main/SB/Core/x/xWad5 - xTimerInit(void*, void*) +11 bytes -> 2.21%
📈 main/SB/Core/x/xWad1 - xAnimPoolInit(xMemPool*, unsigned int, unsigned int, unsigned int, unsigned int) +479 bytes -> 89.55%
📈 main/SB/Core/x/xWad5 - xSTSwitchScene(unsigned int, void*, int (*)(void*, float)) +72 bytes -> 13.64%
📈 main/SB/Core/x/xWad1 - xCounterEventCB(xBase*, xBase*, unsigned int, const float*, xBase*, unsigned int) +56 bytes -> 10.77%
📈 main/SB/Core/x/xWad3 - xBoxInitBoundOBB(xBox*, const xBox*, const xMat4x3*) +4 bytes -> 0.78%
📈 main/SB/Core/x/xWad1 - EffectSingleRun(xAnimSingle*) +184 bytes -> 37.40%
📈 main/SB/Core/x/xWad5 - xSTFindAssetByType(unsigned int, int, unsigned int*) +124 bytes -> 25.62%
📈 main/SB/Core/x/xWad1 - BFD_read(void*, int, int, tag_xFile*, void*) +468 bytes -> 99.15%
📈 main/SB/Core/x/xWad1 - iCameraSetFogParams(iFogParams*, float) +44 bytes -> 9.32%
📈 main/SB/Core/x/xWad5 - xSkyDome_Render() +36 bytes -> 7.63%
📈 main/SB/Core/x/xWad3 - xMat3x3GetEuler(const xMat3x3*, xVec3*) +152 bytes -> 33.93%
📈 main/SB/Core/x/xWad5 - xSTAssetName(unsigned int) +76 bytes -> 16.96%
📈 main/SB/Core/x/xWad1 - ReadIDoubles(st_FILELOADINFO*, double*, int) +7 bytes -> 1.82%
📈 main/SB/Core/x/xWad5 - xSTGetAssetInfo(unsigned int, PKRAssetTOCInfo*) +28 bytes -> 6.48%
📈 main/SB/Core/x/xWad3 - xQuatMul(xQuat*, const xQuat*, const xQuat*) +12 bytes -> 2.83%
📈 main/SB/Core/x/xWad5 - xST_xAssetID_HIPFullPath(unsigned int) +4 bytes -> 0.94%
📈 main/SB/Core/x/xWad5 - xSTAssetName(void*) +44 bytes -> 10.48%
📈 main/SB/Core/x/xWad3 - xMovePointSplineSetup(xMovePoint*) +147 bytes -> 35.92%
📈 main/SB/Core/x/xWad1 - xBoundUpdate(xBound*) +48 bytes -> 11.65%
📈 main/SB/Core/x/xWad5 - xSTAssetCountByType(unsigned int) +16 bytes -> 3.88%
📈 main/SB/Core/x/xWad5 - xSTQueueSceneAssets(unsigned int, int) +72 bytes -> 17.48%
📈 main/SB/Core/x/xWad1 - ReadIFloats(st_FILELOADINFO*, float*, int) +12 bytes -> 2.94%
📈 main/SB/Core/x/xWad1 - ReadILongs(st_FILELOADINFO*, int*, int) +12 bytes -> 2.94%
📈 main/SB/Core/x/xWad1 - xCutscene_Init(void*) +96 bytes -> 24.24%
📈 main/SB/Core/x/xWad1 - ReadIShorts(st_FILELOADINFO*, short*, int) +12 bytes -> 3.03%
📈 main/SB/Core/x/xWad3 - xMat3x3RotC(xMat3x3*, float, float, float, float) +280 bytes -> 71.43%
📈 main/SB/Core/x/xWad1 - TransitionTimeInit(xAnimSingle*, xAnimTransition*) +128 bytes -> 32.65%
📈 main/SB/Core/x/xWad1 - xClimateInitAsset(_tagClimate*, xEnvAsset*) +164 bytes -> 43.16%
📈 main/SB/Core/x/xWad1 - xCutscene_Create(unsigned int, unsigned int) +31 bytes -> 8.51%
📈 main/SB/Core/x/xWad5 - xSTDisconnect(unsigned int, int) +48 bytes -> 12.77%
📈 main/SB/Core/x/xWad3 - xMat3x3RMulRotY(xMat3x3*, const xMat3x3*, float) +251 bytes -> 69.15%
📈 main/SB/Core/x/xWad1 - xCutscene_Destroy(xCutscene*) +76 bytes -> 21.11%
📈 main/SB/Core/x/xWad1 - xCMstart(xCreditsData*, float, xBase*) +40 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - xAnimFileNew(void*, const char*, unsigned int, xAnimFile**) +12 bytes -> 3.33%
📈 main/SB/Core/x/xWad1 - xCMprep(xCreditsData*) +192 bytes -> 56.47%
📈 main/SB/Core/x/xWad1 - xVecHitsBound(const xVec3*, const xBound*, xCollis*) +108 bytes -> 31.76%
📈 main/SB/Core/x/xWad1 - xAnimPlayChooseTransition(xAnimPlay*) +43 bytes -> 12.79%
📈 main/SB/Core/x/xWad1 - xAnimTableAddFileID(xAnimTable*, xAnimFile*, unsigned int, unsigned int, unsigned int) +212 bytes -> 63.10%
📈 main/SB/Core/x/xWad1 - iCameraUpdatePos(RwCamera*, xMat4x3*) +63 bytes -> 19.28%
📈 main/SB/Core/x/xWad3 - xMemAlloc(unsigned int, unsigned int, int) +104 bytes -> 31.71%
📈 main/SB/Core/x/xWad3 - xMat3x3Euler(xMat3x3*, const xVec3*) +15 bytes -> 4.88%
📈 main/SB/Core/x/xWad3 - xMathInit() +15 bytes -> 4.88%
main/SB/Core/x/xWad3 - xMat3x3Euler(xMat3x3*, float, float, float) +324 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - iCameraSetFogRenderStates() +128 bytes -> 40.00%
📈 main/SB/Core/x/xWad5 - xCameraFXZoomUpdate(cameraFX*, float, const xMat4x3*, xMat4x3*) +300 bytes -> 97.40%
📈 main/SB/Core/x/xWad4 - PKR_GetAssetInfoByType(st_PACKER_READ_DATA*, unsigned int, int, PKRAssetTOCInfo*) +216 bytes -> 73.97%
📈 main/SB/Core/x/xWad1 - xRayHitsBound(const xRay3*, const xBound*, xCollis*) +116 bytes -> 40.85%
📈 main/SB/Core/x/xWad1 - xAnimPlaySetup(xAnimPlay*, void*, xAnimTable*, xModelInstance*) +64 bytes -> 22.54%
📈 main/SB/Core/x/xWad1 - xAnimTableAddFile(xAnimTable*, xAnimFile*, const char*) +76 bytes -> 26.76%
📈 main/SB/Core/x/xWad5 - xUpdateCull_Reset(xUpdateCullMgr*) +88 bytes -> 30.99%
📈 main/SB/Core/x/xWad1 - xBoundGetBox(xBox&, const xBound&) +4 bytes -> 1.45%
📈 main/SB/Core/x/xWad1 - xBehaveMgr_Startup() +76 bytes -> 28.36%
📈 main/SB/Core/x/xWad1 - xRayHitsSphereFast(const xRay3*, const xSphere*) +204 bytes -> 77.27%
📈 main/SB/Core/x/xWad1 - BFD_open(const char*, const char*, unsigned int, int, void*, int) +180 bytes -> 68.18%
📈 main/SB/Core/x/xWad1 - xAnimPoolCB(xMemPool*, void*) +248 bytes -> 93.94%
📈 main/SB/Core/x/xWad1 - GOALCreate_Generic(int, RyzMemGrow*, void*) +32 bytes -> 12.31%
📈 main/SB/Core/x/xWad3 - xMemInitHeap(xMemHeap*, unsigned int, unsigned int, unsigned int) +248 bytes -> 98.41%
📈 main/SB/Core/x/xWad1 - iCameraCreate(int, int, int) +64 bytes -> 25.40%
📈 main/SB/Core/x/xWad3 - xMemPoolAlloc(xMemPool*) +7 bytes -> 3.28%
📈 main/SB/Core/x/xWad1 - xCMupdate(float) +31 bytes -> 13.11%
📈 main/SB/Core/x/xWad1 - xBehaveMgr::Subscribe(xBase*, int) +72 bytes -> 30.51%
main/SB/Core/x/xWad3 - XOrdRemove(st_XORDEREDARRAY*, void*, int) +232 bytes -> 100.00%
main/SB/Core/x/xWad5 - xUtil_crc_init() +224 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - BFD_AsyncRead(st_FILELOADINFO*, int, void*, int, int, int) +204 bytes -> 92.98%
📈 main/SB/Core/x/xWad1 - SkipBytes(st_FILELOADINFO*, int) +92 bytes -> 41.82%
📈 main/SB/Core/x/xWad1 - iCameraDestroy(RwCamera*) +200 bytes -> 90.91%
📈 main/SB/Core/x/xWad1 - AsyncReadStatus(st_FILELOADINFO*) +12 bytes -> 5.66%
main/SB/Core/x/xWad3 - xQuatToMat(const xQuat*, xMat3x3*) +208 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xQuatFromAxisAngle(xQuat*, const xVec3*, float) +48 bytes -> 23.08%
📈 main/SB/Core/x/xWad3 - xLightKit_Enable(xLightKit*, RpWorld*) +182 bytes -> 87.72%
📈 main/SB/Core/x/xWad3 - XOrdInit(st_XORDEREDARRAY*, int, int) +143 bytes -> 70.59%
📈 main/SB/Core/x/xWad3 - xMemPoolSetup(xMemPool*, void*, unsigned int, unsigned int, void (*)(xMemPool*, void*), unsigned int, unsigned int, unsigned int) +28 bytes -> 13.73%
📈 main/SB/Core/x/xWad4 - PKR_GetAssetInfo(st_PACKER_READ_DATA*, unsigned int, PKRAssetTOCInfo*) +160 bytes -> 80.39%
📈 main/SB/Core/x/xWad5 - xSTShutdown() +28 bytes -> 14.00%
📈 main/SB/Core/x/xWad3 - xMemInit() +172 bytes -> 87.76%
main/SB/Core/x/xWad1 - xAnimFileSetTime(xAnimFile*, float, float) +192 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - ReadMShorts(st_FILELOADINFO*, short*, int) +24 bytes -> 13.04%
📈 main/SB/Core/x/xWad1 - ReadSeek(st_FILELOADINFO*, int) +80 bytes -> 43.48%
📈 main/SB/Core/x/xWad3 - XOrdInsert(st_XORDEREDARRAY*, void*, int (*)(void*, void*)) +4 bytes -> 2.22%
📈 main/SB/Core/x/xWad1 - ReadMDoubles(st_FILELOADINFO*, double*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - ReadMFloats(st_FILELOADINFO*, float*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad1 - ReadMLongs(st_FILELOADINFO*, int*, int) +20 bytes -> 11.11%
📈 main/SB/Core/x/xWad3 - xMemPopBase(int) +12 bytes -> 6.82%
📈 main/SB/Core/x/xWad3 - xMemPushBase() +20 bytes -> 11.90%
📈 main/SB/Core/x/xWad1 - xAnimPlayUpdate(xAnimPlay*, float) +156 bytes -> 92.86%
📈 main/SB/Core/x/xWad1 - ReadBytes(st_FILELOADINFO*, char*, int) +24 bytes -> 14.63%
main/SB/Core/x/xWad1 - iCamGetViewMatrix(RwCamera*, xMat4x3*) +164 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSetup(xMovePoint*, xScene*) +156 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xMat3x3RotY(xMat3x3*, float) +63 bytes -> 40.48%
📈 main/SB/Core/x/xWad3 - XOrdLookup(st_XORDEREDARRAY*, const void*, int (*)(const void*, void*)) +20 bytes -> 13.16%
📈 main/SB/Core/x/xWad3 - xQuatDiff(xQuat*, const xQuat*, const xQuat*) +36 bytes -> 23.68%
📈 main/SB/Core/x/xWad3 - xMat3x3RotX(xMat3x3*, float) +81 bytes -> 53.66%
📈 main/SB/Core/x/xWad3 - xMat3x3RotZ(xMat3x3*, float) +63 bytes -> 42.86%
main/SB/Core/x/xWad3 - xMat3x3Transpose(xMat3x3*, const xMat3x3*) +144 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xLightKit_Destroy(xLightKit*) +140 bytes -> 97.22%
📈 main/SB/Core/x/xWad5 - xUtil_yesno(float) +104 bytes -> 74.29%
main/SB/Core/x/xWad3 - xMovePointInit(xMovePoint*, xMovePointAsset*) +136 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xCounterLoad(_xCounter*, xSerial*) +44 bytes -> 32.35%
📈 main/SB/Core/x/xWad1 - LoadDestroy(st_FILELOADINFO*) +104 bytes -> 76.47%
📈 main/SB/Core/x/xWad1 - xBehaveMgr::UnSubscribe(xPsyche*) +28 bytes -> 20.59%
📈 main/SB/Core/x/xWad3 - xQuatToAxisAngle(const xQuat*, xVec3*, float*) +92 bytes -> 69.70%
main/SB/Core/x/xWad3 - xPointInBox(const xBox*, const xVec3*) +124 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTRCInit() +88 bytes -> 73.33%
main/SB/Core/x/xWad5 - xSurfaceInit(unsigned short) +120 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelUpdate(xModelInstance*, float) +112 bytes -> 96.55%
📈 main/SB/Core/x/xWad1 - xCounterSave(_xCounter*, xSerial*) +79 bytes -> 68.97%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::SysEvent(xBase*, xBase*, unsigned int, const float*, xBase*, int*) +104 bytes -> 89.66%
📈 main/SB/Core/x/xWad1 - xClimateInit(_tagClimate*) +79 bytes -> 70.97%
📈 main/SB/Core/x/xWad5 - xTimerSave(xTimer*, xSerial*) +40 bytes -> 35.71%
📈 main/SB/Core/x/xWad3 - xModelAnimCollStart(xModelInstance&) +88 bytes -> 84.62%
📈 main/SB/Core/x/xWad3 - xMat3x3LMulVec(xVec3*, const xMat3x3*, const xVec3*) +4 bytes -> 4.00%
📈 main/SB/Core/x/xWad1 - xBaseLoad(xBase*, xSerial*) +64 bytes -> 64.00%
main/SB/Core/x/xWad1 - xRayHitsBoxFast(const xRay3*, const xBox*) +96 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xAnimTempTransitionInit(unsigned int) +76 bytes -> 79.17%
main/SB/Core/x/xWad5 - xVolume::Init(xVolumeAsset*) +96 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTimerLoad(xTimer*, xSerial*) +76 bytes -> 79.17%
main/SB/Core/x/xWad3 - xMemPoolFree(xMemPool*, void*) +92 bytes -> 100.00%
main/SB/Core/x/xWad1 - xAnimPoolAlloc(xMemPool*, void*, xAnimTable*, xModelInstance*) +92 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xAnimTableGetState(xAnimTable*, const char*) +48 bytes -> 52.17%
📈 main/SB/Core/x/xWad5 - xSTStartup(PKRAssetType*) +72 bytes -> 78.26%
main/SB/Core/x/xWad3 - XOrdDone(st_XORDEREDARRAY*, int) +88 bytes -> 100.00%
main/SB/Core/x/xWad3 - xModelRender(xModelInstance*) +88 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelEval(xModelInstance*) +36 bytes -> 40.91%
📈 main/SB/Core/x/xWad3 - xDangleClamp(float) +80 bytes -> 90.91%
main/SB/Core/x/xWad5 - xUpdateCull_SetCB(xUpdateCullMgr*, void*, unsigned int (*)(void*, void*), void*) +84 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xTRCReset() +44 bytes -> 52.38%
main/SB/Core/x/xWad5 - xSTLoadStep(unsigned int) +84 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat3x3Normalize(xMat3x3*, const xMat3x3*) +80 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xCMstop() +28 bytes -> 36.84%
📈 main/SB/Core/x/xWad5 - xStrHash(const char*, unsigned long) +72 bytes -> 94.74%
main/SB/Core/x/xWad3 - xMovePointReset(xMovePoint*) +72 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCutscene_LoadStart(xCutscene*) +72 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xBehaveMgr_Shutdown() +68 bytes -> 94.44%
📈 main/SB/Core/x/xWad1 - xAnimInit() +52 bytes -> 72.22%
📈 main/SB/Core/x/xWad1 - xBaseSave(xBase*, xSerial*) +44 bytes -> 65.00%
📈 main/SB/Core/x/xWad5 - xTRCRender() +44 bytes -> 64.71%
main/SB/Core/x/xWad5 - xStrupr(char*) +68 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xMemDebug_SoakLog(const char*) +4 bytes -> 6.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Resume(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Suspend(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Exit(float, void*) +52 bytes -> 81.25%
📈 main/SB/Core/x/xWad1 - xGoalGeneric::Enter(float, void*) +52 bytes -> 81.25%
main/SB/Core/x/xWad1 - iCameraAssignEnv(RwCamera*, iEnv*) +64 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xAngleClamp(float) +51 bytes -> 86.67%
📈 main/SB/Core/x/xWad1 - xPsyche::BrainEnd() +48 bytes -> 80.00%
📈 main/SB/Core/x/xWad1 - xPsyche::BrainBegin() +7 bytes -> 12.50%
📈 main/SB/Core/x/xWad5 - xStrHash(const char*) +56 bytes -> 93.33%
📈 main/SB/Core/x/xWad3 - xModelInstanceAttach(xModelInstance*, xModelInstance*) +44 bytes -> 78.57%
📈 main/SB/Core/x/xWad1 - xBaseInit(xBase*, const xBaseAsset*) +34 bytes -> 61.11%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalAt(xMat4x3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalUp(xMat4x3*, float) +52 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMat4x3MoveLocalRight(xMat4x3*, float) +52 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - iCameraSetNearFarClip(float, float) +36 bytes -> 69.23%
📈 main/SB/Core/x/xWad5 - xStrHashCat(unsigned int, const char*) +48 bytes -> 92.31%
main/SB/Core/x/xWad3 - FindChild(xModelInstance*) +48 bytes -> 100.00%
main/SB/Core/x/xWad3 - xAngleClampFast(float) +48 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelInit() +19 bytes -> 45.00%
main/SB/Core/x/xWad5 - xTRCDisk(_tagTRCState) +44 bytes -> 100.00%
main/SB/Core/x/xWad3 - XOrdAppend(st_XORDEREDARRAY*, void*) +40 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModel_SceneExit(RpWorld*) +36 bytes -> 90.00%
main/SB/Core/x/xWad1 - xCMrender() +40 bytes -> 100.00%
main/SB/Core/x/xWad1 - SetBuffer(st_FILELOADINFO*, char*, int) +40 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - GOALDestroy_Generic(xFactoryInst*) +32 bytes -> 80.00%
📈 main/SB/Core/x/xWad1 - xAnimTableGetStateID(xAnimTable*, unsigned int) +36 bytes -> 90.00%
main/SB/Core/x/xWad1 - iCameraShowRaster(RwCamera*) +40 bytes -> 100.00%
main/SB/Core/x/xWad3 - xModel_SceneEnter(RpWorld*) +36 bytes -> 100.00%
main/SB/Core/x/xWad3 - xatof(const char*) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - AsyncIRead(st_FILELOADINFO*, int, char*, int, int) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - AsyncMRead(st_FILELOADINFO*, int, char*, int, int) +36 bytes -> 100.00%
main/SB/Core/x/xWad1 - xAnimTableAddTransition(xAnimTable*, xAnimTransition*, const char*) +36 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Reset() +36 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceGetByIdx(unsigned short) +36 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointLoad(xMovePoint*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSave(xMovePoint*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMemExit() +32 bytes -> 100.00%
📈 main/SB/Core/x/xWad1 - xClimateUpdate(_tagClimate*, float) +7 bytes -> 23.53%
📈 main/SB/Core/x/xWad1 - xBaseReset(xBase*, xBaseAsset*) +13 bytes -> 41.67%
main/SB/Core/x/xWad5 - xVec3Dot(const xVec3*, const xVec3*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Load(xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::Save(xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceLoad(xSurface*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceSave(xSurface*, xSerial*) +32 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointSplineDestroy(xMovePoint*) +24 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMathExit() +24 bytes -> 100.00%
main/SB/Core/x/xWad1 - xClimateSetRain(float) +24 bytes -> 100.00%
main/SB/Core/x/xWad1 - xClimateSetSnow(float) +24 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMorphSeqDuration(xMorphSeqFile*) +20 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVec3Copy(xVec3*, const xVec3*) +20 bytes -> 100.00%
📈 main/SB/Core/x/xWad5 - xUtilShutdown() +8 bytes -> 50.00%
main/SB/Core/x/xWad3 - XOrdReset(st_XORDEREDARRAY*) +12 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCutscene_CurrentCutscene() +12 bytes -> 100.00%
main/SB/Core/x/xWad5 - xVolume::GetBound() +12 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSkyDome_Setup() +12 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMovePointGetPos(const xMovePoint*) +8 bytes -> 100.00%
main/SB/Core/x/xWad3 - xMemRegisterBaseNotifyFunc(void (*)(void)) +8 bytes -> 100.00%
main/SB/Core/x/xWad3 - xLightKit_GetCurrent(RpWorld*) +8 bytes -> 100.00%
main/SB/Core/x/xWad1 - xBehaveMgr_GetSelf() +8 bytes -> 100.00%
main/SB/Core/x/xWad5 - xUpdateCull_AlwaysTrueCB(void*, void*) +8 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceGetNumSurfaces() +8 bytes -> 100.00%
main/SB/Core/x/xWad1 - xCounterInit() +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - BFD_cb_GCP2_readasync(tag_xFile*) +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xBaseSetup(xBase*) +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xGoalEmpty::Clear() +4 bytes -> 100.00%
main/SB/Core/x/xWad1 - xGoalGeneric::Clear() +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xTRCPad(int, _tagTRCState) +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceReset(xSurface*) +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSurfaceExit() +4 bytes -> 100.00%
main/SB/Core/x/xWad5 - xSkyDome_EmptyRender(xEnt*) +4 bytes -> 100.00%

@LivewireCB LivewireCB merged commit 8f10f68 into bfbbdecomp:main May 1, 2025
4 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.

1 participant