PeakSafeOptimizer
Performance mod for PEAK. 36 patches, all on by default: equivalence-proven rewrites or vanilla crash fixes, each with fail-closed member validation, plus a switch per patch or patch group.
By khalil2
CHANGELOG
Changelog
1.6.0
- Updated for game 3.0.0.
- Removed
EyeLookComponentCache. The game now does the same optimisation itself, and does it faster than this patch did. - Fixed
AnimatedMouthMaterial, which could throw every frame on a remote player's mouth. - Added four missing structure checks, so a future game update drops the affected patch instead of misbehaving.
1.5.0
- Updated for game 2.6.b. No patch needed changing.
- Removed four patches that had stopped earning their place:
DetailBodypartThrottle,TumbleWeedTargetScan,ItemScaleRedundantWrite,RemoteItemInterpolationThreshold. - Added two:
ItemPromptDuplicateRefreshandInventoryNameTextRefresh. Both drop a refresh the same frame repeats anyway. - Fixed the lightmap cache serving the previous level's data after a load, and the mouth patch reading the push-to-talk setting before the game's own checks.
- Every switch is on by default now. That is the configuration that has actually been played.
- New icon.
1.4.1
- Removed
PocketBehaviorGuard, which had been guarding a null the game had already fixed, andAnimatorValuesHash, whose component does not exist in the game at all. - Fixed
IKItemGuardskipping the wrong hand. For two releases it froze the left IK hand on items missing a left hand node.
1.4.0
- Removed the "certified build" gate. It used to skip almost the whole mod on any game update, before a single patch got to check whether the things it reads had changed. Each patch now decides for itself.
- Removed three patches the game had made redundant:
GenericOptimizerRange,StatusEmitterScan,RagdollPhysicsMats. - Adapted four patches to the new build, and taught
RemoteRagdollLodabout characters carried by a condor.
1.3.0
- Fixed
IKItemGuardfreezing the right IK hand on items that have a right hand node but no left one. - Fixed three bugs in the machinery that installs a multi-patch switch as a unit, which could leave half a switch installed with nothing in the log.
ExplosionScale's overlap radius is now derived from the shipped assets instead of being a hard-coded 3.5 m.- Fixed several repair counters that were counting normal operation as a repair.
- Removed a per-call allocation and a handful of repeated native reads from hot paths.
1.2.0
- Removed
ParticleCountCullerWrite. Its component has zero instances in the shipped game, so the patch could only ever cost a wrapper. - Fixed
EmoteWheelGuardbeing able to leave the emote wheel stuck open. - Corrected the orb numbers: an explosion is 10 orbs, not 13. Fewer orbs also means a softer camera shake, which is now declared.
- A switch that covers several patches now installs all-or-nothing.
- The two engine-level lanes now restore only their own value, and only while it is still the value they wrote.
1.1.0
- Second audit pass: four patches fixed where the replacement did not quite match the original.
ExplosionScalenow actually helps with a pile of dynamite, by shrinking the orbs as well as reducing how many there are.BinocularSunGuardandEmoteWheelGuardwidened to cover more of the null chain.
1.0.0
First release.