13,873 Commits over 1,552 Days - 0.37cph!
Humans: added CrouchWalk_S
Need to download cloud asset references after we've imported resources not before
Fix GameResource assets not registering before loading startup scenes (and also compile assets), remove stupid Task.Delay hack?
Fixes Facepunch/sbox-issues#6942
Humans: improved CrouchWalk_N (and increased its speed to 85 u/s)
Fix potential recast bug leading to stack smashing
We are potentially affected by recastnavigation/recastnavigation/issues/687
To address this, I basically reverted recastnavigation/recastnavigation/commit/adcd4f472e8e08bd7f1db11b39f3394dc82ef869 which seems to be the most likely culprit for the issue. Contrary to the commit message in adcd4f4 which claims that the changes made are an optimization, reverting the changes had no measurable impact on performance.
I am pushing the changes even though I am not certain they fix the issue, because the issue is only reproducible in our steam builds. In case this commit does not fix the issue, I will revert, and we need to keep digging.
ParticleModelRenderer.ModelEntry implicit operator
Humans: add menu anims (same as Citizen)
Potentially fixed an invalid state during navmesh generation
Also fixed a minor memory leak.
Humans: added Run_S & Run_W
Fix ValueNoise shader function not being smooth
Before: https://files.facepunch.com/ziks/2024-11-16/sbox-dev_KoXuUh9TIr.png
After: https://files.facepunch.com/ziks/2024-11-16/sbox-dev_FtB7jYPzCf.png
Some extra null checking in DeleteSceneObject
Save and restore current sequence so it can be set in editor
It's a bad idea to use serialize abstract sequence accessor
Update ProfileImage.razor.scss
Fix NRE in PackageTagFilter
Fix NRE in AssetPicker
Warn not error when fail to get player stats
Cancel loading if package fails to download
Fix bootstrap exception when trying to show compile errors
Fix NRE when loading a font, if font loading failed
Fix NRE in GameObjectNode.Drop
Log SSL errors
Add current sequence accessor to SkinnedModelRenderer https://files.facepunch.com/layla/1b1611b1/sbox-dev_Ia0QfZrbmI.mp4
Humans: recover deleted staging files
Recovered 2 files that were deleted by commit 1d291f07bb4f2bb4bfec48765b2d640894441796
Don't show make owner on self if we're the owner
More scrolling on store page
Can preview unowned items in avatar editor
Fix achievements link
Fix Invite To Party showing on friends who are in the, add transfer owner option
Rebuild player image when party owner state changes
Removed unused core models
Relocate the human model to the citizen addon
Add Resource.HasUnsavedChanges, Resource.StateHasChanged()
Add Asset.HasSourceFile, Asset.HasCompiledFile
Asset inspector's save option doesn't show if cloud or compiled, save option uses HasUnsavedChanges
Clean up GameResource loading
* Always expect to load from a compiled version
* Single function to load from data instead of separate data + json
* Make LastSavedHash private
Reload/import GameResource assets after project is fully loaded in editor
Don't update "LastSavedSourceHash" if not in editor
Don't reload asset on saving, causes double load - because we'll load after compile
Make GameResource.Serialize() public, add OnJsonSerialize
Make GameResource.Deserialize public
Add stop sequence on finish to directplayback animgraph node
Collider returns touching colliders of rigidbody if the collider is on a rigidbody
Specify setup-dotnet version for shaders.yml
Prebuild the menu package
Fix mistake in ParticleModelRenderer upgrader
AcceptConnection and Kick Support (#1698)
* Added INetworkListener.AcceptConnection( Connection, ref string reason ) and Connection.Kick( string reason )
* Added the kick command (can only be used by the host.)
Load fonts in parallel
Open the game window in SourceEnginePreInit instead so there's not that awkward 1-2 second of nothing
Fix vertex memory allocation for capsule and spheres in PhysiscsShape::Triangulation
Allow ParticleModelRenderer to choose material groups and body groups https://files.facepunch.com/layla/1b1411b1/sbox-dev_JYc5358JqI.png
Add missing await in Navigation test
Fix potential race condition in NavMesh initialization
NavMesh: Use RealTimeSince/RealtimeUntil for delays
Add CameraComponent.ScreenToWorld
Lobby Config / Friends Only Lobbies (#1696)
* Can optionally pass LobbyConfig to CreateLobby. Right now only contains LobbyPrivacy. Add LobbyPrivacy.FriendsOnly.
* Separate overload as not to mess with any existing game packages
* Make old CreateLobby method obsolete. Add LobbyConfig.MaxPlayers (defaults to package config.) Add LobbyConfig.Name (defaults to hostname for Dedicated Servers, or the owner's Steam Name for P2P)
* Fix lobby config max players
On Dedicated Server you can pass a path to a .sbproj with +game to load a local project. Hotloading works as usual for connected clients.
Optimize Navmesh agent ground trace not to run every frame
Fix CPhysicsBody::FindClosestPointOnConvexShapes not working for Spheres and Capsules
Resolves Facepunch/sbox-issues#6909
Keep the accumulator. Fix the issue properly.
Revert to old fixed update logic. It appears the root issue was synchronized server time causing more fixed updates than it should due to Time.Now changing. This resolves the issue I was trying to solve initially, and also fixes Facepunch/sbox-issues#6906
Initial Tiled Navmesh Generation (#1689)
Goal for this PR is too match current NavMesh functionality, but instead of generating a single large tile, generate multiple smaller tiles instead.
This fixes a couple of NavMesh issues, most of them related to nav generation for large maps.
Pathing should also improve slightly, since the NavMesh now broken up into smaller polygons. This will be particular noticeable in maps with large empty space and only a few obstacles.
The PR does not change the API and should only result in minor behavioral differences, caused by the generated NavMesh being slightly different.
https://files.facepunch.com/lolleko/1b0911b1/sbox-dev_w9mTXjsyWd.jpg
EventRecord uses correct Version sha
Json warmup can be a background task. (-500ms) Make logging initialization more predictable to avoid double configuration waste
Menu doesn't need access control (-100ms)
Only initialize ILHotload in editor as that's the only context it's useful in (-100ms)
We can await on account information until after menu is loaded, otherwise we're usually hanging here for a second or more doing fuck all
ResourceLoader.LoadAllGameResource: FindFile `*` more optimized than `*.*` (150ms -> 75ms)
Update Superluminal PerformanceAPI (Stop nagging)
Update AMSI patch for .net9 so we're not wasting 100ms+ every full hotload / package load
Cleanup unused usings
Use Parallel.For( for particles
Lets try setting the min/max threads
Use ReplaceWith in WalkJsonTree instead of doing it manually
Fix gameobject and component control widgets not respecting readonly attribute
Use JsonObject.DeepClone() instead of Deserialize<DeepClone>