2,828 Commits over 2,041 Days - 0.06cph!
Truncate server hostname for pairing notification
▋▄▋'▉ █▌▍ ▄▋▊ ▆▍▄▉▇▌▌▇▍▆-▄▅▅▆ ▅▆▊▊ █▇▌▌ ▌▊▉ ▊▊▅▊▅ ▊▋▊▄▇
Remove a redundant every frame copy in LightLOD.UpdateAll
Switch ImpostorRenderer to use a NativeArray instead of a C# one
Use Shader.PropertyToID when setting shader properties
Don't check NeedsTimeout every cycle of the loop because it's a bit expensive
Add app.listenip to set the IP address the companion server should listen on (optional)
Add app.publicip to set the IP address that Rust+ should connect to when pairing (optional)
Add app.info to display which IP addresses and ports the companion server is currently using
Fix NRE spam when leaving a server
Return FoliageCell.batches to the pool when not needed
Use a shared empty list for FoliageCell.placements if there are no placements for the cell
Make WorldGrid sparsely allocated
Make LODGrid pool empty cells too
Pre-fill pools in bootstrap
Remove debug.logs
Make RendererGrid pool empty cells
Fix some error spam when running benchmarks in the editor
Refactor the phrases script so it shows a path to where it found things in warnings
Fix translation setup for bass and trumpet instruments
Fix translation setup for unwrapping gifts
Fix translation setup for "loot" option description on downed players
Fix hemp terraincheck text
Phrases
Fix a bunch of localization issues with the smart alarm setup dialog
Fix the setup dialog closing when you deselect the second textbox
Phrases
▌▊█▌█▋▍ ▉▊▄▇▉▆▆▋▉ ▇█▊ ▍▅ ▊▄▊▄▅▌▌ ▇▇▅ ▊▍▍ ▄▇█▆▍▆▆ ▅█▅ ▍▌▍▌▆▌ ▄█▅ ▆▌▆▉▋▌▆▌ ▄▅▆▍▊▉ ▇ ▆█▄▅▉ ▇▋▍ ▆▍ ▋▅▅'▄ ▉█▆▊ ▉▊ ▄▌▋ ▋█▊ █▅▄▅▆
Fix map image rendering for hapis and some other custom maps
Test for building privilege using steamID instead of the player (because the player might not exist when using the app)
Show the Rust+ option on the main menu
Make companion menu buttons have consistent widths
Update protobuf CodeGenerator (struct fixes, improved dispose error message)
Half3 and VectorData protobufs are now structs
Fix receiving trees not pooling on the client
Fix server not returning map notes to the pool when a new one is placed
Fix client not disposing team data when receiving an updated copy
Hopefully fixed MapNote pooling bug for real!
Speculative fix for serverside NRE in autoturret
Make CoroutineEx.waitForSecondsRealtime finally use pooled instances!
Fix some bad pooling code in demo indexer
Work on getting simple button binds to not allocate
Update protobuf codegen - Dispose will now throw if ShouldPool is set to false
Remove an evil ShouldPool
Add sanity checking assertions to MruDictionary
Fix a bunch of serverside pooling misses
Merge from comp (code review fixes + smart alarm sound)
Companion app main menu updates
Enable push notifications by default
Memoize strings used for inventory icon amounts so they aren't recreated every time the inventory updates
Add a button electric entity
Add detail layer and fuzz mask to the workshop editor
Fix white border around generated workshop icons
Fix skin customizations not appearing on icons for wearables
Merge from oceanlevel_respawn
Final touches to prevent spawning inside of things
Note: submerged islands are the worst case for this so avoid doing that or you may still spawn underwater
Switch to a different spawn point strategy when the oceanlevel is increased (no more underwater respawning!)
Fix NRE when opening the mining hat in the workshop editor
Fix workshop editor generating blank icons for wearables
▌▇▆▉▊▊▋▋█▆▇ ▅▊▌ ▍▆▉ █▊▉▆▌▉▅▋▅▆ ▅▌▋▄ ▉▉ █▊█▄▍▊▌██▋▋▇, ▌▆▇▆██▆▉▅▆▄▌▄▋▉█▉, ▍▊▆ ▌▉▅▅▉▆▉▋▌▅▋▄▋ (▌▍▍ ▍▍▇▇▋▄)
Fix broadcast messages not being returned to the pool
Merge from comp (device sounds)
Ignore replicated convars with no name instead of erroring (why are they there though? modded?)