2,329 Commits over 2,588 Days - 0.04cph!
Camera overlay asset update so they scale a bit nicer
Add a bit of UI for the instant camera
Set photo frame area and gibs meshes to readable
WIP model import analyzer
Refactor the import analyzers to share a common base class
Ran the texture import analyzer on everything (saves ~600MB of RAM maybe)
Texture analyzer to disable crunch compression
Add a Texture Import Analyzer editor tool
Bring over the Audio Import Analyzer tool too
Fix HostileNote stomping the unhostile time right after receiving the latest value after respawning
Add a way to cycle through bind commands instead of always running all (prefix the command list with a ~)
Fix scope overlay changing size with uiscale
Switch PlayerOpenLoot to use translated toasts instead of English-only chat messages
Adding stuff to show toasts with gametip's UI
Fix typo (banit -> bandit)
Fix the notes UI only working with Latin characters (it'll fallback to another font which does support those characters)
Switch one frame to Tom's new model
Fix NRE for entities which do not have a network group
Fix UICompass using the wrong material after toggling active
Fix skipping a light when one is removed
Add meta.if_true and meta.if_false so you can make binds do different things for presses and releases
Early exit from LODCell.ChangeLOD if the cell distance hasn't changed much (uses a percentage so farther cells are skipped more when moving around)
Add profiler samples for LODGrid, RendererGrid, FoliageGrid, and WorldGrid's inner loop
Get rid of two every frame allocations in ServerMgr.Update
Get rid of 0 length array allocations in Poolable
Immediately after instantiating the UI, disable its root game object, then enable it again. The time spent in UI every frame will then drop by 0.5ms.
app.info fixes: was giving an NRE because the companion server was not running
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