132,063 Commits over 4,262 Days - 1.29cph!
- Swapped detailed packet profiler from an array over to a concurrent collection
- Append new packets to a prexisting list rather than worrying about indicies and a fixed array size
- Snapshot size finally reflects packets captured
merge boat perf optimizations to main
Merge from boat_costs (hull pieces can now be pricely separately to the rest of boat pieces - repair cost accounts for this too)
Mummywraps female top and bottom reposed
Use child entity count for MotionToggle cache invalidation.
* Remove the need for HasValidMesh() on LOD components
* Renamed a bunch of things for clarity
Wrapped the new time tracking in editor defines
TC's now cache their allowed construction items in a ListHashSet for faster checks
Not really worth doing in normal circumstances but it seems common to have junk items attempting to transfer into a TC constantly, this saves about 0.01ms on each attempt
Added an Input and Output item list that is populated during a conveyor move, allowing us to read and write items faster without having to use GetSlot (which could potentially iterate over the whole container each call)
Restructure some of the iterators in IndustrialConveyor.Move to iterate over the item list directly instead of using GetSlot
This removes all usages of GetSlot in the conveyor move system which can be called over 3k times in a bad conveyor move
Added a shortcut for LookAtIOEnt to resolve what item a storge cotnainer is attached to when holding the wire tool, resolves the multi second freeze in the editor (was faster in builds, but this should still be faster)
Fixed deep sea dwelling spawning their NPC and crates again after a server restart
They now spawn once when the deep sea opens
Also load balanced the whole thing so we don't spawn too much stuff at the same time
WIP: TriggerParent managed queue, no batching, no burst
Still need to implement using PersistentObjectWorkQueue and experiment with batched-burst queries and compare all, as this version should have a bit more overhead due to bookkeeping.
Tests: none, not plugged in
scientist_boat_work_queue -> main
Hack to get around boat steering and gas pedal ref values in a work queue
Swap boat ai to run on instructions handled by a work queue rather than letting each boat handle itself
Fixed deep sea dwellings changing position after a server restart
- Disabled auto spawn and enabled saving on all islands SpawnGroups
- We now trigger the SpawnGroup initial spawn when the deep sea is opening
Also fixes ores and collectables respawning after a server restart
S2P all islands
merge from better_smoothing
hooked smoothing up to brush hardness in the GUI re-mapping 0-1 values to sane internal values
code support for SmoothMin and SmoothMax to allow per-modifier smoothing to be applied (using as a standin for brush hardness or smoothing)
Gated a NPCSpawner log behind a convar (npcspawner.debug)
Improved the log to be more useful
Infrequently cache water factor check per in-range boat for PlayerBoatSounds, not every client Update()
exported paintball gun world model rig and 3p anims
Fixing skinning on m92 mag
merge from cargo_cam_rotation_fix
Simplify the way the cargo cameras get their rotation, it was stupid and only worked because the event always spawns cargo at the same initial rotation
Merge from iconrender_texture_streaming_fix
Add parameterless constructor to Grid<T> to make it compatible with reset static fields code gen.
partyhat_worldmodel_fix -> main
Dropped Party Hats are no longer white. They are now the same as the colour when worn
Merge from standardwithdecal_shader_additional_maps
Added the initial implementation of inflated normal bias for hard shadows
WIP, it's getting annoying to drag these changes across branches:
- Move a good chunk of buoyancy into burst.
- Add burst methods for filling buoyancy point data arrays.
- Introduce methods for running buoyancy in a batch rather than on every component separately.
Make terrain height and shore vector methods readonly to indicate that they're pure.
Add indexer to pooled array, add extension for copying managed arrays into native arrays. (intended for smaller collections)
Replace broadcast motion with a cached version (staggered update every 60f), reduces Client.Update from 4.5ms~ back to 1ms~ with 15 boats.
exported latest paintball gun rig and anims
Paintball Gun - prefab fixes, icon
Profiling PlayerBoatSounds
notifications_indicator_fix_2 -> main
Fix standard notifications not being included properly