branchrust_reboot/main/spraycan_merge2cancel
58 Commits over 61 Days - 0.04cph!
Toggling hide signs will now update the sprays that already exist to respect the setting (previously a player would need to leave and return to network range for the spray to properly hide)
Added global.ClearSpraysInRadius with an optional radius parameter (defaults to 16 if unset)
Fixed freehand sfx not working when the viewmodel camera was enabled
Add some logs to try and diagnose missing sfx in build
Update spraycan inventory
Fixed spray duration convars incorrectly using hours instead of seconds
Added new IAnimationEventReceiver that can intercept events from AnimationEvents component without needing to access the held entity. This works in regular gameplay as well as spectating.
Reworked spray can to use new component for viewmodel spraying animations
Fix demo NRE when scrubbing while freehand sprays are created
Don't play world spray fx in first person
Merge from spraycan_merge2/decal_refactor
Reduce condition loss when spraying, add some condition loss when free spraying
Fixed NotifyLod components not respecting mesh.quality convar (will affect sprays as well as boom boxes)
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
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 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
sustained spraycan spray sounds
Fixed decals switching back to the default decal after being pooled
Don't allow spraying until deploy animation finishes