248,622 Commits over 3,928 Days - 2.64cph!
merge from fix_computer_station_invisible_lods -> main
Fix SERVER compile errors
UI: Fix worldpanel filters, save off default viewport Z range when setting a render target (solves depth issues after pushing/popping worldpanel filters)
https://files.facepunch.com/alexguthrie/1b2911b1/sbox-dev_Nl7AwCZeb5.mp4
Fixed incorrect text showing up on vendor list
Swapped my terrible vendor listing custom item icons for standard virtual item icon ones
merge from hackweek_horse_rewrite
set viewmodel reinforced woodshield to use metal shield animations
merge from main (needs codegen)
▅▍▍▄▄█▄▄▅ ▍▍▄▆ ▆▊▍▊▉ ▊▌ ▌▌▅▍ ▄▄█▊██ █▉▇▋▊▋▋▇ & ▅▌▇▇▍▉ ▇▆▆▄▄▆▇▍ ▊▌▅▇ ▋▄▄▄▍█ ▉▋ >▉█▋ █▊▌▅ ▆█▋█ █▌▊▉▌▋
- ▇▉▅▄▉▌█▉ ▇▍▋▇ ▄▌▍▌▆▄ ▍▉▌ ▇▆▅▄█▌ ▇▋█▄█▆▇▉▍ ▇▊▍▉ ▆ ▌▇▌▇▍▇ ▍▉▉▊ ▊ ▉▇▍▄ ▆▄▍▄▄▅ ▌▌▌▇▄▋ ▆▍▉ ▉▄▇
- ▆▍▄▇▋ ▅▅▌▋▅▋█ ▌▍ ▇▉▊▆▋▍▉▄ ▄█▄▄▌▉▋▉ ▄▅▊▆▄▍▍ ▍▇▌ ▌▅▇ ▋▅██▅█▊ ▇▆▌▄▋▆▍
Delete duplicate but incorrect filename `editorconfig`, apply previous changes to `.editorconfig` instead
Arena 2 Art Progress
https://files.facepunch.com/louie/1b2911b1/sbox-dev_S6AMad5TY8.jpg
Published packages don't include dlls
Update PlayerController animator params
PlayerController copy clothes better
PlayerController increase skin slightly, prevents sliding down slopes
PlayerController creates collision on a child GameObject, so it can have different tags set etc
PlayerController - delete existing BoxCollider, CapsuleCollider if they exist
PlayerController - don't recreate Colliders GameObject if we have a child named that already
PlayerController: Fix ducking slightly when standing on small shit
Added a light with configurable color to ice sculptures
merge from fix_copypaste_shipping_container_color -> main
Fix shipping container colors being reset to random when pasting entities
updted ReinforcedWoodShield.fbx so the strap now matches more closely to Metal shield
so a single anim set can be re-used for it
Automatic mipbias changes to the terrain4_albedo_array and terrain4_normal_array
basic IO setup of sculpture - temp port positions, can just use On flag to toggle lights
New: support xml-style errors from API
Allows to see more details about what's going wrong with the request(Azure SAS errors are xml)
Tests: got the SAS error locally, saw the logs in ServerManager
Bugfix: don't use a closed stream when retrying backup uploading
If we fail the upload at the point of consuming the stream (so passed backupBegin), it will close the stream and fall over on Position call, making retries useless.
Tests: when running own server it was erroring out on retries with stream closed exception - not anymore.
Bugfix: Don't wait after last upload retry
Tests: Saw the uploads fail, didn't see the log after last attempt.
Update: renamed file back to BackupData
I shouldn't have renamed it in the first place.
Clean: removing obsolete property
Tests: local run was able to upload files
viewmodel wooden shield animaionns edited
Move PlayerController.Animation behaviour to MoveMode
merge from twitch_rivals_2024/twitch_rivals_flag
Drop the flag on death
Make sure it stays upright when dropped: added a new center of mass override setting for dropped items
merge from fix_telephone_grid -> main
viewmodel metal shield anims updated so the arm is visible
Add an alternate render method
Switch telephone to using the MapHelper class
Add `printgrid` command to debug position -> grid name code
Refactor teleport2grid so finding map grid based on string is inside MapHelper.cs
Dynamic NavMesh Obstacles (#1706)
Allows to block of certain areas of the navmesh both in editor and at runtime.
For this we introduce and expose the concept of **navmesh areas**. Areas can affect navmesh generation and agent behavior/pathing.
### Details
- Accomplished by implementing a tile cache that stores an intermediate representation of the navmesh
- The intermediate representation can be used to modify & remove areas of the navmesh.
- Modifying the intermediate state is magnitudes cheaper than rebuilding the navmesh from scratch.
- Static areas are basically free.
- Moving areas are a bit more expensive, but you should be able to have at least a couple of dozens of them
- The area's shape is defined by a (trigger) collider that can be linked to a nav area component
https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_JTOOu8AAeA.png
https://files.facepunch.com/lolleko/1b2911b1/sbox-dev_3XdDSxj7Ly.mp4
https://files.facepunch.com/lolleko/1b2511b1/sbox-dev_XBNEUDAPfh.mp4
https://files.facepunch.com/lolleko/1b2111b1/sbox-dev_CQAKEpUbQk.mp4
### Summary
Allows to create a navmesh area, link it to a (trigger) collider & set it to blocking to create an obstacle. In the future we can expand on area functionality: custom tags, local navmesh generation parameters...
Fix NRE on editor shutdown
merge from wallpaper_analytics -> main
Add analytics when spraycan is used to change entity skin in the world
Log skin id of any entity submitted to analytics
Ice shader: add tangent reconstruction normals will now behave properly, improve parallax offset calculation, and add frost min/mid/max sliders.
merge from main -> wallpaper_analytics
fix codegen (used changes from different branch)
merge from main -> wallpaper_analytics
adjusted toolgun.entity lod distances to match worldmodel prefab values
to fix harsh lod transitioning