Skip to content

Conversation

@LivewireCB
Copy link
Collaborator

  • Corrected all mostly complete zParticleSystemWaterfall functions
  • Filled out most structs for all zParticle files.
  • Matched a few functions for each zParticle file
  • Updated zTalkbox with the proper dwarf data (Not fully completed)
  • Updated the xVec3 struct
  • Changed xMat4x3 and xMat3x3 to be aligned by 16. (Big shoutout to Seil for this one)
  • Completed quite a few functions in xFRHighDynamicRange.cpp
  • Tons of miscellaneous changes to start making things "more correct"

@github-actions
Copy link

github-actions bot commented Aug 9, 2025

⚠️ 🔥

+1956 bytes
🆗 Bot Rating: A fantastic contribution! ✨🎉

Regressions: 8

⚠️ main/SB/Game/zWadNME - .text -3 bytes -> 0.33%
⚠️ main/SB/Game/zWad2 - .text -3 bytes -> 2.07%
⚠️ main/SB/Core/x/xWad3 - .text -316 bytes -> 35.71%
⚠️ main/SB/Core/x/xWad1 - .text -8 bytes -> 0.00%
⚠️ main/SB/Game/zFMV - .rodata -13 bytes -> 0.33%
⚠️ main/SB/Game/zWadNME - zNMEGoalDenDamage::Exit(float, void*) -4 bytes -> 83.33%
⚠️ main/SB/Game/zWad2 - zGameStall() -4 bytes -> 95.45%
⚠️ main/SB/Core/x/xWad2 - @unnamed@xWad2_cpp@::anim_coll::reset(xEnt&) -36 bytes -> 0.00%

Progress: 133

📈 main/SB/Core/x/xWad1 - .text +24 bytes -> 26.36%
📈 main/SB/Core/x/xWad2 - .text +23 bytes -> 0.55%
📈 main/SB/Core/x/xWad2 - .text +84 bytes -> 20.57%
📈 main/SB/Game/zTalkBox - .text +85 bytes -> 1.00%
📈 main/SB/Core/x/xWad2 - .text +32 bytes -> 2.70%
📈 main/SB/Core/x/xWad3 - .text +23 bytes -> 4.72%
📈 main/SB/Core/x/xCamera - .text +372 bytes -> 11.82%
📈 main/SB/Core/x/xWad4 - .text +8 bytes -> 11.29%
📈 main/SB/Core/x/xWad4 - .text +191 bytes -> 11.93%
📈 main/SB/Core/x/xWad1 - .text +40 bytes -> 3.46%
📈 main/SB/Game/zParticleSystemWaterfall - .text +46 bytes -> 8.64%
📈 main/SB/Core/x/xWad1 - .text +8 bytes -> 6.27%
📈 main/SB/Game/zParticleLocator - .text +116 bytes -> 1.69%
📈 main/SB/Core/x/xWad2 - .text +40 bytes -> 11.65%
📈 main/SB/Core/x/xWad2 - .text +55 bytes -> 16.59%
📈 main/SB/Game/zWad1 - .text +3 bytes -> 5.18%
📈 main/SB/Core/x/xFXHighDynamicRange - .text +195 bytes -> 5.90%
📈 main/SB/Game/zWad1 - .text +24 bytes -> 9.49%
📈 main/SB/Core/gc/iWad - .text +15 bytes -> 10.26%
📈 main/SB/Game/zParticleGenerator - .text +153 bytes -> 6.22%
📈 main/SB/Core/gc/iWad - .text +3 bytes -> 59.47%
📈 main/SB/Core/x/xWad2 - .text +11 bytes -> 30.77%
📈 main/SB/Core/x/xWad5 - .text +24 bytes -> 8.70%
📈 main/SB/Core/gc/iARAMTmp - .text +2 bytes -> 2.73%
📈 main/SB/Core/gc/iWad - .text +604 bytes -> 70.56%
📈 main/SB/Game/zFMV - .text +3 bytes -> 20.28%
📈 main/SB/Game/zParticleSystems - .text +4 bytes -> 1.16%
📈 main/SB/Core/gc/iWad - .text +195 bytes -> 59.04%
📈 main/SB/Core/gc/iWad - .sbss +2 bytes -> 47.86%
main/SB/Game/zParticleGenerator - .bss +56 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - .bss +48 bytes -> 100.00%
📈 main/SB/Core/x/xFXHighDynamicRange - .sdata +21 bytes -> 66.67%
main/SB/Core/x/xFXHighDynamicRange - .sbss +15 bytes -> 100.00%
📈 main/SB/Core/gc/iWad - .sdata +1 bytes -> 6.25%
📈 main/SB/Game/zParticleGenerator - .sdata2 +8 bytes -> 50.00%
main/SB/Game/zParticleLocator - .sbss +8 bytes -> 100.00%
📈 main/SB/Core/x/xWad2 - xEntDriveUpdate(xEntDrive*, xScene*, float, const xCollis*) +27 bytes -> 12.86%
📈 main/SB/Game/zWad1 - zCutsceneMgrUpdate(xBase*, xScene*, float) +3 bytes -> 7.79%
📈 main/SB/Core/x/xWad2 - xEntDriveMount(xEntDrive*, xEnt*, float, const xCollis*) +27 bytes -> 23.35%
📈 main/SB/Core/x/xWad2 - xEntCollide(xEnt*, xScene*, float) +8 bytes -> 12.08%
📈 main/SB/Core/x/xWad1 - xBoundOBBIsectRay(const xBox*, const xMat4x3*, const xRay3*, xIsect*) +8 bytes -> 0.59%
📈 main/SB/Core/x/xWad4 - xParCmdRandomVelocityPar_Update(xParCmd*, xParGroup*, float) +112 bytes -> 12.26%
📈 main/SB/Core/x/xWad2 - xEntCollideFloor(xEnt*, xScene*, float) +11 bytes -> 60.78%
📈 main/SB/Core/x/xWad1 - xAnimPlayEval(xAnimPlay*) +3 bytes -> 43.02%
📈 main/SB/Core/x/xCamera - xCameraReset(xCamera*, float, float, float) +35 bytes -> 14.23%
📈 main/SB/Core/x/xWad2 - xEntEndUpdate(xEnt*, xScene*, float) +4 bytes -> 13.45%
📈 main/SB/Core/x/xWad2 - xEntCollideWalls(xEnt*, xScene*, float) +4 bytes -> 66.38%
📈 main/SB/Core/x/xCamera - SweptSphereHitsCameraEnt(xScene*, xRay3*, xQCData*, xEnt*, void*) +104 bytes -> 40.00%
📈 main/SB/Core/x/xWad2 - xEntMove(xEnt*, xScene*, float) +56 bytes -> 19.27%
📈 main/SB/Core/x/xWad2 - xEntMotionToMatrix(xEnt*, xEntFrame*) +7 bytes -> 10.99%
📈 main/SB/Core/x/xCamera - xCam_buildbasis(xCamera*) +60 bytes -> 15.00%
📈 main/SB/Core/x/xWad2 - @unnamed@xWad2_cpp@::update_stacked_entity(xScene&, xEnt&, float) +4 bytes -> 5.68%
📈 main/SB/Game/zTalkBox - @unnamed@zTalkBox_cpp@::stop() +4 bytes -> 0.58%
📈 main/SB/Core/x/xWad2 - xEntMotionInit(xEntMotion*, xEnt*, xEntMotionAsset*) +31 bytes -> 46.15%
📈 main/SB/Core/x/xCamera - xCameraMove(xCamera*, unsigned int, float, float, float, float, float, float) +12 bytes -> 7.94%
📈 main/SB/Core/x/xWad5 - xSkyDome_Render() +24 bytes -> 12.71%
📈 main/SB/Core/x/xCamera - xCameraRotate(xCamera*, const xVec3&, float, float, float, float) +96 bytes -> 63.72%
📈 main/SB/Core/x/xWad2 - xEntDefaultTranslate(xEnt*, xVec3*, xMat4x3*) +4 bytes -> 12.26%
📈 main/SB/Core/x/xCamera - xCameraRotate(xCamera*, const xMat3x3&, float, float, float) +4 bytes -> 19.05%
📈 main/SB/Core/x/xWad2 - xEntBeginUpdate(xEnt*, xScene*, float) +8 bytes -> 16.00%
📈 main/SB/Core/x/xWad1 - xCutscene_Init(void*) +39 bytes -> 34.34%
📈 main/SB/Core/x/xCamera - xCameraLookYPR(xCamera*, unsigned int, float, float, float, float, float, float) +48 bytes -> 41.05%
📈 main/SB/Core/x/xWad4 - xRayHitsTikiLandableEnt(xScene*, xRay3*, xQCData*, xEnt*, void*) +3 bytes -> 56.38%
📈 main/SB/Core/x/xWad4 - xParCmdRotateAround_Update(xParCmd*, xParGroup*, float) +79 bytes -> 24.44%
📈 main/SB/Game/zParticleSystems - zParticleSystemCreateAll() +3 bytes -> 1.22%
📈 main/SB/Core/x/xWad4 - xRayHitsEnt(xScene*, xRay3*, xQCData*, xEnt*, void*) +3 bytes -> 38.67%
📈 main/SB/Core/x/xWad1 - xAnimPlaySetup(xAnimPlay*, void*, xAnimTable*, xModelInstance*) +19 bytes -> 29.58%
📈 main/SB/Game/zParticleGenerator - zParticleGenerator::perturb_dir(xVec3&, float) +4 bytes -> 1.47%
📈 main/SB/Game/zWad1 - zEGenerator_Reset(zEGenerator*, xScene*) +3 bytes -> 22.81%
main/SB/Game/zWad1 - zEGenerator_Setup(zEGenerator*, xScene*) +20 bytes -> 100.00%
📈 main/SB/Core/x/xWad2 - xGridIterClose(xGridIterator&) +31 bytes -> 81.40%
📈 main/SB/Game/zParticleGenerator - zParticleGenerator::create(zParticleSystem&, zParticleAsset&) +45 bytes -> 29.27%
📈 main/SB/Core/x/xWad2 - xEntCollCheckEnv(xEnt*, xScene*) +4 bytes -> 91.67%
📈 main/SB/Game/zParticleGenerator - zParticleGenerator::get_attach_entity(const zParticleAsset&) +4 bytes -> 2.78%
📈 main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeReset() +4 bytes -> 2.86%
📈 main/SB/Game/zParticleGenerator - zParticleGenerator::event_handler(xBase*, xBase*, unsigned int, const float*, xBase*, unsigned int) +3 bytes -> 3.03%
📈 main/SB/Core/x/xWad2 - xGridRemove(xGridBound*) +8 bytes -> 43.75%
main/SB/Core/x/xWad3 - xModelUpdate(xModelInstance*, float) +4 bytes -> 100.00%
📈 main/SB/Game/zTalkBox - ztalkbox::reset_all() +4 bytes -> 3.57%
📈 main/SB/Game/zParticleGenerator - zParticleRender() +12 bytes -> 10.71%
main/SB/Core/x/xWad2 - xEntDefaultBoundUpdate(xEnt*, xVec3*) +8 bytes -> 100.00%
📈 main/SB/Core/x/xWad3 - xModelAnimCollStart(xModelInstance&) +7 bytes -> 92.31%
📈 main/SB/Core/x/xWad2 - xEntBoulder_Setup(xEntBoulder*) +23 bytes -> 92.00%
📈 main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeInit() +19 bytes -> 20.83%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallSplash::reset() +7 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallMist::reset() +7 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfall::reset() +7 bytes -> 100.00%
main/SB/Game/zParticleLocator - zParticleLocator::scene_enter() +80 bytes -> 100.00%
📈 main/SB/Core/gc/iWad - iAsyncResume() +56 bytes -> 77.78%
📈 main/SB/Core/gc/iWad - iAsyncSuspend() +56 bytes -> 77.78%
📈 main/SB/Game/zFMV - zFMVFileGetFile(eFMVFile) +3 bytes -> 73.68%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeSetConfiguration(const xFXHighDynamicRangeConfiguration&) +64 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeGetConfiguration(xFXHighDynamicRangeConfiguration&) +60 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallSplash::activate() +3 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallMist::activate() +3 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfall::activate() +3 bytes -> 100.00%
main/SB/Core/x/xWad2 - xFFXApply(xEnt*, xScene*, float) +4 bytes -> 100.00%
main/SB/Core/x/xWad3 - xModelInstanceAttach(xModelInstance*, xModelInstance*) +12 bytes -> 100.00%
📈 main/SB/Game/zTalkBox - ztalkbox::stop_talk() +41 bytes -> 80.00%
📈 main/SB/Game/zParticleLocator - zParticleLocator::update(float) +4 bytes -> 7.69%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallSplash::deactivate() +3 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfallMist::deactivate() +3 bytes -> 100.00%
main/SB/Game/zParticleSystemWaterfall - zParticleGeneratorWaterfall::deactivate() +3 bytes -> 100.00%
main/SB/Game/zParticleGenerator - zParticleGenerator::reset() +48 bytes -> 100.00%
📈 main/SB/Game/zParticleGenerator - @unnamed@zParticleGenerator_cpp@::compare_generator_systems_function(const void*, const void*) +4 bytes -> 8.33%
📈 main/SB/Core/x/xCamera - xCameraSetScene(xCamera*, xScene*) +4 bytes -> 91.67%
main/SB/Core/x/xWad2 - xFFXAddEffect(xEnt*, xFFX*) +7 bytes -> 100.00%
main/SB/Core/gc/iWad - iAsyncEndUpdate() +32 bytes -> 100.00%
main/SB/Core/gc/iWad - iAsyncBeginUpdate() +32 bytes -> 100.00%
📈 main/SB/Core/gc/iWad - iAnimDuration(void*) +4 bytes -> 12.50%
main/SB/Game/zTalkBox - ztalkbox::permit(unsigned int, unsigned int) +28 bytes -> 100.00%
main/SB/Core/gc/iWad - SetPipelineCB(RpAtomic*, void*) +8 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeGetBackgroundGlow() +16 bytes -> 100.00%
main/SB/Game/zParticleGenerator - zParticleGenerator::deactivate() +16 bytes -> 100.00%
main/SB/Game/zParticleGenerator - zParticleGenerator::activate() +16 bytes -> 100.00%
main/SB/Core/gc/iWad - iAsyncTerminate() +12 bytes -> 100.00%
main/SB/Game/zParticleLocator - zParticleLocator::get_frame() const +12 bytes -> 100.00%
main/SB/Game/zParticleLocator - zParticleLocator::create() +12 bytes -> 100.00%
main/SB/Core/gc/iWad - iEnvSetup(iEnv*) +8 bytes -> 100.00%
main/SB/Core/gc/iWad - iAsyncIsDone() +8 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeEnable(bool) +8 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeBrightenPtank(RpAtomic*, bool) +8 bytes -> 100.00%
main/SB/Core/x/xCamera - xCameraSetTargetOMatrix(xCamera*, xMat4x3*) +4 bytes -> 100.00%
main/SB/Core/x/xCamera - xCameraSetTargetMatrix(xCamera*, xMat4x3*) +4 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeTunePalette(RwRaster*, float, bool) +4 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeRestorePtank(RpAtomic*, unsigned int) +4 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeSceneExit() +4 bytes -> 100.00%
main/SB/Core/x/xFXHighDynamicRange - xFXHighDynamicRangeSceneEnter() +4 bytes -> 100.00%
main/SB/Game/zTalkBox - @unnamed@zTalkBox_cpp@::state_type::start() +4 bytes -> 100.00%
main/SB/Game/zTalkBox - @unnamed@zTalkBox_cpp@::state_type::stop() +4 bytes -> 100.00%
main/SB/Game/zParticleLocator - zParticleLocator::restart() +4 bytes -> 100.00%
main/SB/Game/zParticleLocator - @unnamed@zParticleLocator_cpp@::get_offset_model_vert_expand(xVec3&, @unnamed@zParticleLocator_cpp@::volume_data&) +4 bytes -> 100.00%
main/SB/Core/gc/iARAMTmp - iARAMTmpFree(void*) +2 bytes -> 100.00%

@LivewireCB LivewireCB merged commit c04a4e5 into bfbbdecomp:main Aug 12, 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