3,309 Commits over 945 Days - 0.15cph!
Enable ping estimation button by default (with convar) but keep ping estimation disabled by default
Rebuild server browser when ping estimation is turned on / off
Merge from main -> ping_estimation_fallback
Add `runtime_profiling_persist` convar
- by default runtime_profiling will turn off after restart
- enable to save the convar across restarts
Add `browser_ping_estimate_button` to control if the "Estimate Ping" toggle button is shown on the browser (default false)
Show cached ping for servers that have ping estimation off but apply a penalty
- 300 ping penalty for sorting (still shows ping in browser even if it's faked)
- ping shows yellow in browser instead of white
▌▅▆ ▅▆▉▄▅ ▍██▆▆▉▅▉▌▄ ▄▋▋█▉ ▄▄▍▇▌▅▋▇▆ ▊▇ ▅▉▉▍█
▇▄▊ ▆▅█▍▊ █▇▇█▌▇▍▉▇▉ ▅▄▇ ▅▅▄▅▄ ▅▊▌█▊▄▍▉▋ ▋▅ ▆▇▉▅ ▆▌█▌▇
Add "HotReload" editor class that allows you to define temporary runtime fields without recompiling
- Backed by a Dictionary<string,object>, only intended for use inside editor so it's ok if it's slow
Fix analytics & runtime profiling giving pooling warnings
Discard analytics events right away when failing to upload
- prevents it from causing a bunch of GCs when strong events that won't be uploaded
merge from fix_ping_estimation_dispose -> main
Fix ping estimation throwing an exception when reading the ping value after the ping was disposed
Update burst from 1.8.15 -> 1.8.16 to fix crashes during builds
merge from runtime_profling_presets -> main
Fix runtime profiling not turning off performance tracking when profiling is off
New convar to set profiling level preset to the most common settings
0 = off
1 = basic stats (frametime, total entities spawned/killed, lag spikes)
2 = all tracking
Can enable/disable profiling modules with convars after `runtime_profiling` is enabled
Add comments
merge from runtime_profiling_double_physics -> main
Fix physics stats being doubled on every frame FixedUpdate runs
merge from fix_runtime_profiling_update -> main
Fix update, late update, physics & fixed update counters not being reset on the server
▋▊▅▉▍ ▄▇██ ▆▇█_▆█▉▋_▉▆▍▆▆▉_▌▉▅_▋▅▇▇▍▍▆▉ -> ▅▊▅█
▅▅▊█▋ ▊▅▍▌█ ▊▉▋▌▄▊█▅▋ ▇▉▇▄▌▊ ▉▌▆▄▍▅ ▍█▍▍ ▌▆▅▌▅▆▌ ▄▍▊▄▉▇ ▅█▌ ▋▅▊▌▌▅▌ ▋▅ ▋▍▍ ▍▆▋▅ ▌▍▅▇▆▇▊▄
- ▋▆▄▅▊▄▉ `▄▉▅█_▌▌▅▄▊█_▇▊▇▇▌▅▊▍▍` -> `▋█▍▄_▉▇█▉▄▉_▄▊▅▅▆▌▇▌▌` ▌▆▊▌▉▌▌ ▊▇ ▋▌▅ █▅▋▇▄▅ █▉▄▇ ▆ ▄▉▉▌▆▉▄▉▉ ▇▌▄▊▄▉█ ▆▋▋▅▌ ▆█▊██ ▌▆▋▍▆▌█▄▊
- ▇▍▄▊▅▇▆ ▇▋▊▅▄▆ █▊▆▌▆▆▇▌▄▍▇▌▋ ▌▋▊▄ `▄▊▉▇▆▉▅▄▊▌` ▊▌▊▍▇▇▉▋▄▊ █▉▅▋▌▆▍
- ▊▋███▋▋▊█▉ ▍▆▅▅ ▋▊ █▋▍▇ ▍▍ ▉▅▅▊ ▍▊██▌ ▉▍ ▊ █▆▅▇▅▅▍▇▌ ▋▉█▍▉ ▊▌▋▍'▍ ▍▍▊ ▆▆'▇ ▋▋▄▅▄▋▇▆▉▊ ██▅ ▉▋█
▊▅▋▊ ▊▋█▍▊ ▋▌▊▄▊▋▍▍▄▇█▍ ▅▌▄ ▆▅█▌▆▇▉█ ▅█▇▉ ▉▊ ▊▄▆▅▉ ▆ ▍▋▆-▌▍█▉▅▅ ▆██▆▊█ ▉▆▊▋▆▅▇ █▉ ▆▅█▇▇▇▆▋ ▊▉▅█ ▍▉ ▍▋▌█▆ ▍▍▍ ▇▌▆▅▌▊
merge from main -> monument_scenes
Manually revert creeping_tree prefabs
Cherrypick cs
100113 (skip RendererLOD for BiomeVisuals2)
Subtract first merge from biome_visuals_2
Reconvert prefabs excluding RendererLOD
Cherrypick
100111 (BiomeVisuals2 RendererLOD fix)
Fix RendererLOD not having it's settings copied over by BiomeVisuals2
Merge from main -> biome_visuals_2
Merge from fix_barricade_subway_entrance -> main
Fixed "not in terrain" error phrase accidently defaulting to "Can't Place On Monument"
- only affected phrases when generated, didn't affect the ingame messages (yet)
Move a few more error phrases to the ConstructionErrors class
Fix subway entrance prefabs not having `PreventBuildingMonumentTag` as they aren't apart of the S2P system that all other monuments are
- should fix them not being placeable outside of subway entrances
Merge from main -> fix_barricade_subway_entrance
merge from editor_count_components -> main
Added right click menu option `Stats/Component Count`
- print the number of each type of component of the selected GameObject
- if multiple objects are selected, prints the amount per object
merge from simulate_compile_errors -> main
Added `Switch/Test Compile Errors` menu option
- will run parallel dotnet build in background in CLIENT and SERVER mode even if you are in CLIENT + SERVER
- will output whether the build succeeded or failed (and include the errors)
- only runs on windows atm
Merge from runtime_profiling_update_markers -> main
Simplify StartOfFrameHook as the first of FixedUpdate() or Update()
Rename "CPU" in perf 6 -> "SCRIPTS"
Estimate time taken to measure Physics.Update()
- time taken between `FixedUpdate()` and `yield WaitForFixedUpdate`
- include physics update time in server runtime profiler
- add to perf 8 alongside FixedUpdate ms
Merge from runtime_profiling_update_markers -> main
Add script execution time for Update(), LateUpdate() and FixedUpdate()
merge from runtime_profiling_entity_csv -> main
Switch from multiple bools for tracking invokes to a single int
0 = off
1 = total execution of invokes per frame
2 = execution time per type of invoke per frame
Reimplement detailed entity profiling that was lost instead of stashed
Change to single int to describe entity profiling mode
0 = off
1 = count spawned per frame
2 = count per type of entity spawned per frame
3 = count per type of entity across server every 5 minutes
Reset all profiling measurements on the first frame profiling is enabled
- fixes some stats counting incredibly high
Merge from qol_building_preview_lerp_snapping -> main
Add `int guideVersion` that is incremented every time a building guide snaps to a socket or rotates
- lets us snap the lerping to the next position instead of lerping strangely
Merge from analytics_junkyard -> main