7,858 Commits over 1,004 Days - 0.33cph!
Fixed deep sea layer nuking all the monument markers
Fixed shop markers cache being filled with junk when disconnecting/reconnecting
merge from quickcraft_optims
Optimized prefab lookups by path, we now cache exact spelling hits. Makes each FindPrefab ~7x faster on repeat calls
(was around 6us per call in builds, up to 0.5ms in frames that spawn a lot when entering network range of a base)
We could make prefab paths case sensitive instead, but I'm not gonna change the million callers and that could break plugins
Fixed QuickCraft.FindItems spending ~2ms checking if you own a dlc after looting an item, SteamDownloadableContent now caches the answer for each DLC
Fixed the player name cache being cleared on every team update, causing the team UI to refilter every name through Steam (~1.5ms every 4s with 7 teammates)
merge from animalanimation_optims
Fixed AnimalAnimation out of range errors
merge from notices_rtl_fix
Fixed item dropped and item pickup notices not working with RTL languages
Fixed CraftingNotice allocating every frame when crafting an item
Also converted them to RustText so they can display RTL languages
merge from boateffects_optims
Optimized MotorRowboat.Update, it has a slow water height check for its effects, around 0.10ms
- culled by distance
- skipped when stationnary for >3s
Fixed AnimalAnimation allocating 80 bytes for each footstep
merge from animalanimation_optims
▊▉▉▋▋▋█ ▉ ▋▌▍ ▇▉▌▇▊▌ ▄▅ ▆▍▋▉ ▉▉▄▆▊▊▅ ▌▄ ▋█▋ ▊▆▋▋▄▉▇▋ ▄▄▌▅▌▄▍▆▆▌▅▊▍▍▍▆ ▋ ▉▌▍▉▍▍▉▄ ▅ ▋█▅▇▄▊▊▍ ██▋▍█▊ ▋▍▉▅▊▌▋▊▆▉▄▉▋█▆▄▅▆▄▊▇█▅▍▋█▍▄▉▉▉▋▄▅▆▉█▋▍▆█▄▆▉▆▉▍▅▋▇▇█▌▋▆▆▌▊█▅▌▋▄▊
merge from texturestreaming_texturepropertiescache_fix
Fixed TextureStreaming never filling its shader texture property cache, every belt swap was allocating all shader property names (18KB down to 1KB per swap)
merge from lightlod_optims
Cache DistanceFlareLOD fading action
Fixed shadowlights convar handler stacking up across editor play sessions
Fixed LightLOD.Awake and OnDestroy allocating
The shadow caching convar callback was subscribed per light, every light spawn and destroy copied the whole handler list (had 1500 lights, 10KB every time)
Cache AmbientLightLOD fading action
merge from drinkingpoint_optims
merge from drinkingpoint_optims
Fixed UpdateWaterDrinkingPoint running when not needed:
- now runs in the entity looking at tick every 0.1s
- skipped when mounted, or when move speed is above drinkMovementSpeed
Its a trace so it wasnt scaling well in big bases
Cache vending machines and skip rebuilding all their markers when opening the map
Saves around 80ms on a server with 170 vending machines
merge from console_autocomplete_improvements
merge from lookatboat_optim
Cache LandmarkInfos so we only rebuild them when necessary
When opening the map, only rebuild the mission provider states when they changed, saves ~100ms when opening the map on my machine
Cache LookAtBoatBuildingBlock action so it doesnt allocate every frame
Added a log in the console when you're trying to connect to a server with Disable Game UI enabled
InvokeHandler use cached method name for profiler samples, stops ~1KB/frame of string allocs in debug builds
Run is cancelled when the client is disconnected
Client can use fixture convars
More client base combat entity tests
Client tests are added to the CI test list
Fixed a bunch of failing tests
Cleaned up test ores
Added client test spawning all base combat entity and looking for errors
▌█▊▇▍ █▊▊▊█ ██▍ ▊▆▍▍▊ █▊▇ ▆▊▊▋▄▍ ▇█ ▆▇█▍▇▌▇ ▋▌▇ ▇▆▋▌ ▄▌ ▊▌ ██▉▇▊ ▅▉▍▉▋▄ ▉▍▉▇
Fixed test runner window not drawing tests sharing the same categories in two different realms
LocalPlayerTestFixture gets some nice helper methods
Ore tests cleaned up
merge from automated_testing