21,407 Commits over 1,552 Days - 0.57cph!
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
Linux: Silence all compiler warnings until we fell ready to fix them because it's so many that they slow down the build
Linux: Change signature of CNavMesh::GetTriangle() to solve disambiguity issue (uint64 = unsigned long long, but uint64_t = unsigned long int)
Linux: Solve the lerp/std::lerp ambiguity with an #ifdef LINUX (math.h has using std::lerp on Linux, unfortunately)
Linux: Specify --allow-multiple-definitions to allow stubbing out the API OVRLipSync.h
Linux: Add gendbg.sh from engine/ branch and use it
Linux: Fix typedef for Clang (__sFILE FILE vs. _IO_FILE FILE)
Linux: Resolve ambiguity between std::byte and typedef byte for Clang in one specific case
Linux: Disable .cfi_sections directives entirely for x64 SystemV ABI to avoid confusing assemblers and restore the original code for all other platforms
Linux: Use the compiler flags for Clang on OSX/Android for all POSIX platforms.
Linux: Replace CUtlVector with std::vector because it was causing a crash on destruction.
Linux: Replace CSceneParticleObject* with void* using sed in 4.sh
Linux: Replace the old VPC binary with a newer one because the old one doesn't work anyways
Don't show make owner on self if we're the owner
More scrolling on store page
Can preview unowned items in avatar editor
Penguin: Don't undefine lerp on expressioncalculator, we should see where it's using namespace std to get std::lerp wrongly, make it ifdef linux if all else fails
Readd inline source compilation to renderdevicevulkan, do conversion to wchar directly
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
Make GameResource.Serialize() public, add OnJsonSerialize
Make GameResource.Deserialize public
Add stop sequence on finish to directplayback animgraph node
Add JsonPatch utility
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
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.)
Prebuilding menu project halves startup time
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
Added the kick command (can only be used by the host.)
Added INetworkListener.AcceptConnection( Connection, ref string reason ) and Connection.Kick( string reason )
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.
Fix lobby config max players
Optimize Navmesh agent ground trace not to run every frame
Fix CPhysicsBody::FindClosestPointOnConvexShapes not working for Spheres and Capsules
Resolves Facepunch/sbox-issues#6909
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)
Keep the accumulator. Fix the issue properly.
[DONT MERGE] Cupertino: Hardcode some paths and fix trailing slashes, note that outside windows steam_api64 dll is just called steam_api
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
Add rendermesh resource
Add rendermesh asset type
Allow sceneobject to be created from rendermesh
Add MeshRenderer
Add vmesh asset preview
Don't hide vmesh assets
Cupertino: Libvideo, libSkiasharp, libmpg123 binaries
Cupertino: libHarfBuzz and libdxcompiler, configdefaults.osx.vcfg ( do we need this? :S )
Game boots again
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