
A fork of camera overhaul mod with performance improvements bug fixes and lowered file size.
Structure
20 files to 10! Ripped out the multiloader stuff, ModMenu integration, abstractions/, MixinPlugin (it only skipped mixins stonecutter had already commented out), Transform, CameraContext, TimeSystem, VectorUtils, MathUtils, toml4j and sum more stuff.
Bugs Fixed
- Crash related to shakes are fixed.
- Explosion and lightning shakes race got created from the server thread for some reason.. now only client.
- Lightning shake spam hooked into
spawnFire, which the server calls once but the client calls once per flash. Multiplayer got 1-3 shakes, singleplayer got extras from the wrong thread entirely.
Performance
Per-frame allocations are gone. Upstream built a CameraContext, 2 Transforms, roughly 10 Vector3d, and 2 Quaternionf/Vector3f every single dam frame, plus 3 more Transforms inside bobHurt just to read one field off each, bobHurt runs 3-4 times a frame. All of that is plain doubles now. Found a camera offset that got computed and added every frame while nothing ever wrote to it, so shi just got deleted. Sway was sampling 3D noise and multiplying the third axis by zero, throwing away a sample for no reason at all. getForwardRelativeVelocity() ran twice a frame as well. Now it runs once. None of this moves the FPS counter in the first place but it just hurts your GC.
Cleanups
Perspective and Movement enums replace six booleans and an if-chain.. some stuff turned out to be byte-identical, so free w. Cutted about 25 unused util methods. Eight lines of math collapsed as well.
Config
toml4j wasn't on Forge's classpath, so it's out, replaced with NightConfig. Which Forge already has. Added displayTest = "IGNORE_ALL_VERSION" so you can join servers without version-matching.
Credits
Original Project: CameraOverhaul

