12,334 Commits over 2,223 Days - 0.23cph!
Fixed spray sfx looping incorrectly when spray can breaks mid spray
Sprays that detect a sudden detection change will now break the line and start a new line
This looks a lot better than attempting to make the turn with the limited geometry we're using
This still only counts as one spray entity
Remove point culling features, no longer needed
Merge from spraycan_merge2
Change name of freehand item
Disable default blueprint on spray inserts (for initial testing)
Disable point culling, still needs some work
Fixed icon rendering
Added frog boot spray
Cull free spray vert points that overlap each other
Fix colliders not being properly reassigned on server load
Better freehand spray icon
Fix MaxSpraysPerPlayer not properly applying to free hand sprays
Better item descriptions
Add global.MaxSpraysPerPlayer convar
Track timestamp and player responsible for every spray
Restructure spray save data, remove some unused fields
Add global.ClearAllSprays convar
Add server convar global.deleteallsprays
Adjust free hand spray item icon
Fix premade decals getting incorrectly destroyed while spawning, fixes save/load issues
Sprays are now decay entities and last three hours
Exposed via global.SprayDuration/global.SprayOutOfAuthMultiplier convars
Fix not being able to use stored water on a spray when sprayed on terrain
Increased spray duration to 6 hours (temp, will convert to decay soon)
Re-enabled rain check invoke
Added a free hand spray attachment, must be inserted into the spray can to allow free painting
Fixed zipline building blocks not properly calculating on multiple hops
Fixed some inconsistencies between client and server building block generation
Potential improvement for layout fps drop when item pickup notice is on-screen (eg. after hitting a tree)
Remove RustLayout and replace with a simple spacing component that doesn't implement the layout interfaces and runs in an update
Fixed placeholder New text on blueprint buttons
Add support for the player to transition directly to another parenting trigger instead of briefly unparenting entirely (allowTransitionToOtherParentingVolume on TriggerParent)
Should provide more reliable behaviour when moving between parenting volumes at high speeds
Only enabled on above ground train cars
Fixed some alignment issues on answering machine UI
Fixed input field not using an empty string by default
Replace Color.Parse with a span based version
Removes most of the garbage, still leaves a little bit that could be removed with a .net update
Consolidate type parsing into one method
Cache fonts rather than loading them from the file system every time a text label is created
Fixed button listeners not being properly cleared when pooling
Fix needskeyboard and FadeOut params not working with pooling
Add support for pooling
Since UI components are assembled programmatically at runtime this generates a hash for each instance to reuse later
Reduces allocations by 75%, increases speed by 95% and should work without any input required by plugin developers
Better fix, just remove the inside group checks
Fixed some edge cases where a spray could be stuck as busy
Run accurate mesh snapping on regular MeshRenderer components and on objects on the Default layer
Remove limbo group solution in last commit, caused issues when switching while a player was mounted
UpdateNetworkGroup now recognizes if an entity is in the global broadcast group and updates it to use it's local group
Fix shot parenting applying incorrect offsets when parented to the root of a player
Fix convars getting triggered while a text input has focus in the demo shot UI
Fix coupling light in cabin auto playing when camera enters range
Fix global broadcast changes at runtime (hab/helicopters) not taking effect because the entity has not moved (UpdateGroups returns false so nothing happens)
Add support for demo shots to serialize parented shots
Stores the current parent entity and optionally the bone that the camera is attached to
Fixes out of sync camera movement in shot playback when a shot is recorded while parented to a moving entity
Fixed performance drop when looking at a deployed boom box in a crowded base
Rerun train car gib setup
Merge from abovegroundtrain_dismount_fix
Fix player tick interpolator being set to a world space position when dismounting a mountable while parented to another entity