246,691 Commits over 3,928 Days - 2.62cph!
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
Fix NavmeshArea.IsBlocking not toggling state
Lock high priority network queue behind convar `high_priority_network_queue`
merge from main -> network_queue_priority
GameObject serializing survives when a child is somehow added during serialization
merge from twitch_rivals_2024/twitch_rivals_flag
merge from /flashlightfixes/fulloverhaul
merge from landmine_disarm_explode_bugfix
Leaderboard backup, run #
15749
Experimental invoke based reload system tests
balancing
fix cursor hotspots
attack satellite perk
balancing
Fixed showing the wrong other inventory :facepalm:
Fix NRE in color picker when there's no parent
Fuck it
Fixed PlayedCards grouping target cards based on who played the card, not who they are targeting
Bday 11 poster scene tweaks + backups
Can distinguish targeted cards in PlayedCards panel, as well as global cards
initial implementation of targeted cards flow