14,461 Commits over 1,614 Days - 0.37cph!
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>
Resolve Fixed Update Issues
Resolves issue where Fixed Update would be called more times than it should be. Fixes issues such as in Marble Racer where if you had 500fps you'd move much faster than other players.
Add Distance/Falloff to music player
Make EnableFootstepSounds on PlayerController work
Switch from net7 to net9
* Update your Visual Studio to 17.12.0!
Add NETSDK1138 no nowarn
Make writing clothing more deterministic
When dressing, if we have a citizen model - but not a human model, make clothing invalid
Rework triggers to check contact points instead of ref counted touches. Add ITriggerListener.OnTriggerEnter/Exit for game objects that contain multiple colliders
Update documentation for methods in INetworkListener to indicate that they're only called for the host.
Add net_fakelag ConVar. It's working for both Steam Networking Sockets and TCP / local instance. Can also be changed in the editor like this https://files.facepunch.com/conna/1b1211b1/sbox-dev_jpOfxVrwEr.mp4
Also commit this important file
Some additional troublesome Vulkan layer disables
Change notifications to a real popup
Start putting the party system back together
Fix popup being orphaned when clicked on
Set in_editor ub richpresence when in editor
Popup supports AboveCenter
Stop making the popups red!
Friends in footer, delete friends list