20,711 Commits over 1,522 Days - 0.57cph!
Fix clothing using the wrong skin
VR: more logging, always enable debug callback
VR: add -novr force disable
Update fpxr to 8e70816536da3c657eb9f9a7b815268c5ef7a729, improves headset checks
Add Distance and Falloff to Voice Transmitter
Split up generation procedure into more functions
Convert obstacles from World to NavSpace
Humans: skinning updates
Humans: more skinning updates & prefab changes
Merge branch 'master' of sbox
More cleanup, early out if disbaned or toxic
Dispose of navmesh + heightfield generators
Add native obstacle rasterization for box, cylinder and convex shapes
Upgrade remaining old vmdl files so I can delete all this legacy model code
Unique handshake id tests - if we restart a handshake its possible two could be running in parallel, this'll stop that
Split generator Into HeightField and NavMesh generator
UI: Expose UI.WorldInput.Hovered inside WorldInput component
Testing with handshake process fixes if host changes during handshakes...
VR: check for headset in PreInit() instead of Init()
VR: init g_pVrSystem before finishing material system setup
First fix map override task when using launcharguments.map
Add GameObject.IsDestroyed - to detect objects that have Destroy() called on them, but haven't been destroyed enough to be IsValid false yet
Don't return components on objects that are IsDestroyed
Initial tile cache skeleton
Fix mass ratio typo in box3d
Calculate mass factor to apply to ground velocity to avoid building up massive ground velocity when walking on small props https://files.facepunch.com/layla/1b2011b1/sbox-dev_7NKHr5o1K5.mp4
Fix mass ratio typo in box3d
Calculate mass factor to apply to ground velocity to avoid building up massive ground velocity when walking on small props https://files.facepunch.com/layla/1b2011b1/sbox-dev_7NKHr5o1K5.mp4
Humans: added citizen_human_female_staging.vmdl
Editor: When losing focus of scene hierarchy rename popup, treat it as a successful rename
AssetBrowser: stopped pinned asset bricking the whole sidebar
Add recast/detour tile cache
AssetPublishWidget: when ticking publishing, update the widget properly instead of having to de-select and re-select asset
Fixed ReadOnly behavior for TextAreaControlWidget, resolves Facepunch/sbox-issues#6968
Virtual Cursor: rewritten, much simpler now, mimics mouse, so works for everything (#1704)
- Also tracking pressed controller buttons now
CollisionSoundSystem uses ISceneCollisionEvents
Fix TextArea not updating on value change
Add ISceneCollisionEvents
Add a bunch of stats to ingame console
Simplify networking options in header bar in editor - drop down options in Network for Simulate Lag, Lobby Privacy
Optimize navmesh geometry collection by fully utilizing the BVH of a physics mesh
Clear volumetric fog texture on creation, this seems to could've caused problems even back on Alyx but issue is bigger now that we don't write to all volumetric fog froxels at once
Fix ClearUnorderedAccessViewUint not clearing properly for Texture2DArray and Texture3D
Handle TcpSocket not being able to start more gracefully
Auto Switch to Best Host Candidate (#1705)
Previously anyone could be assigned as a host when the host leaves. Now we'll score lobby members by their average ping and average connection quality to all other peers and use that score to determine who to give the host to.
When a host leaves, we'll try to find a good candidate and set the owner immediately first, but if that fails, it'll happen the next time someone is automatically assigned to be the host.
Previously, a connecting client could be assigned the host, but this is no longer the case as clients must be fully connected to be considered as a candidate.
In addition, we'll periodically attempt to find and change to the best host candidate. This particular behavior can be disabled per project or per lobby.
Stop reloading cookies, history etc whenever the asset browser becomes revisible
Move project-aware location logic to AssetBrowserLocation, special cases for Core/Citizen, use root title in path widget
Refresh asset browser sidebar, hide built in content behind 'Show Base Content' toggle
FindProjectByDirectory prefers closest match in case of nested project paths (eg libraries)
Disable ShowBaseContent by default
Fix long FolderNode labels getting cut off early
Selecting sidebar node for current location works with all node types
Add server tags as LobbyInformation.Data
Some tidy up, improvements to algo
Optimize navmesh generation by pooling generators (#1703)
This also fixes sbox-issues/issues/6941 by limiting the degree of parallelism for the generation.
Multiplayer/networking project settings. Add option to change Destroy Lobby When Host Leaves and Auto Switch To Best Host. Defaults can be set in Project Settings but can be overriden via Lobby Config.
Improve navmesh generator cleanip
Reenable AssertNoGraphErrorsInScene test