108,603 Commits over 3,867 Days - 1.17cph!
player update. 3p handcuff anims exported with wounded anims. WoundedFromCrawlingHandcuffed override controller updated with the wounded handcuffed anims
Final prefab (code fix pending)
Server can send construction errors debug logs to client, will show up both in chat and logs if errortoasts_debug is true
Moved the error handling logic out from BasePlayer to GameTip
Fix client / server compile errors
Digital Clock art pass placeholder textures
Update: Add ServerInfo.Protocol enum
Avoids us creating a string to track which protocol to use. On average, saves about 0.6allocs (9.56 -> 8.95). We already have a similar enum on the game level, but this has the "Default" member.
Tests: none, trivial change
Fix scoring and ranking of potential destinations not being respected
Hide Clouds Convar -> Main
Main -> Hide Clouds Convar
New Divesite Spawns -> World Update 2
Add divesite scripts to each prefab
Buoy's added
Spawnable added
Crate spawns wired up
Eliminated areas that poked through wallpaper pieces in legacy wood skin
Fixed upgrade blocked errors not detecting sleeping players client-side, the server will send the toast to the player now
Eliminated areas that poked through wallpaper pieces in Brick skin doorway
burst cloth constraints tell you if you mess up the min/max constraint order
Eliminated areas that poked through wallpaper pieces in Twig tier walls
Tightened wallpaper pieces fitting
Eliminated zfighting on wallpaper pieces interior side (visible with Twig tier)
Merge from world_update_2
missing alpha texture lake_a
Optim: further reduce allocs for ServerInfo
Couple easy wins - Changeset is unused so removed, construct ConnectionString on demand, avoid identifying tags if already identified.
Should've removed 2allocs per ctor, but data shows reduction by 3allocs on average(12.94 -> 9.56).
Tests: None, trivial changes
Updated backpack pelt constraints
Fixed server side errors not being translated by the client when received
Update: Allow StringView to implicitly convert to ReadOnlySpan
This allows StringView to be friendly with APIs that Span, like int.TryParse(). It also removes 3 allocations, and weirdly my tests show a reduction of 4 allocations per ctor invocation on average.
Also merging stragler tag lookup into the main loop(avoids an extra traversal and extra lambda allocation).
Tests: Checked ServerBrowser, player count was sane.
Frontier bag cloth material
added meshcull (15m) to seaweedplane prefab, tweaked max salmon size down to 3 from 4, divesite_e more foliage
Backpack pelt constraints
Implemented MoveSpeed modifier type.
Added Dart as new ModifierSource type.
Updated model
Updated backpack settings
replaced more expensive OverlapSphere->bool check only ridable horse was making with CheckSphere
- removed Physics.OverlapSphere with bool return, we have CheckSphere for that
Merge main -> Hackweek-Meals. Had to stomp a few changes, mainly UI.Ingame.LootPanels - need to re-do.
▄▊█▆▌ ▄▍▍▄ ▇▅▍▉▉█▌▅▌_▇▆▇▌▇_▇▍▌▊▊█_▅█▆█▆▉▄▄█
Update: Annmotating ServerCacheQuery to track GC allocs
Should've done it at the start but ah well. This also revealed that Task.Delay doesn't seem to be doing much - worth investigating further.
Tests: took a recording during server list refresh - no errors and could see the samples displayed.
▄▄▄▋▍ ▇▄▍▋ ▉▊▇▆█▄▉▇▊_▆█▄▇▄▊▋
Added the biro dart model as the placeholder model for bone dart.
Setup dart prefab and world model.
vintage wallpapers update
updated materials to spec/gloss
Now covers all spine bones
First full loop of an editable pose offset with that pose offset being applied at runtime
Only affects Spine1 right now, needs more refactoring
First pass on runtime component, still not functional
Merge from analytics_event_record_overloads -> main
Tests showed missing ushort overload
Expand tests to cover all overloads of EventRecord.AddField()
Add overloads without any key for CSV
Final'ish attack prefab, but IK script is still screwing it.
Merge main -> TrainDecouplingImprovements
Change existing overloads for BasePlayer, BaseEntity, etc to use the new 2 string key overloads instead of new EventRecordField(key1,key2)
New PlayerSyncCycle method in BaseMountable sets the player position.