22,418 Commits over 1,614 Days - 0.58cph!
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
Ignore self in ground trace
Prebuilding menu project halves startup time
EventRecord uses correct Version sha
Cupertino: Add libs and missing dependencies for GameNetworkingSockets, update GameNetworkingSockets
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
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)
Use ReplaceWith in WalkJsonTree instead of doing it manually
Reduce memory allocations in PhysicsShape::GetTriangulation
Runs around 35% faster with the changes in my use case (1100μs avg -> 700μs avg)
Merge pull request #1693 from Facepunch/optimize-physshape-triangulation-allocations
Reduce memory allocations in PhysicsShape::GetTriangulation
Support for @ key razor attribute, Facepunch/sbox-issues#4103
InteropGen: Add IsError to resources
Model.IsError propertly detects when we're error.vmdl
Applying clothing correctly detects invalid models
Fix jeans using the wrong model location
Fix settings apply button not working
Fix storage page
Fix menu missing material
Humans: re-enabled automatic citizen-to-human animation hack for now while proper animations are being worked on
Fix Popup Panels not closing when in game (but worked in menu)
Sausage toggle
Left the wrong model enabled
Body Group Fix
Human Bodygroup adjustments - Clothing fixes
Service update
Save/load avatar to/from the cloud
.Clothing fixes
Some changes to time sync. Seems to fix Facepunch/sbox-issues#6865 locally. Needs re-test.
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
Change notifications to a real popup
Start putting the party system back together
Some additional troublesome Vulkan layer disables
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
Rework triggers to check contact points instead of ref counted touches. Add ITriggerListener.OnTriggerEnter/Exit for game objects that contain multiple colliders
Hide "available parties"
Update clothing
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
Switch from net7 to net9
* Update your Visual Studio to 17.12.0!
Make EnableFootstepSounds on PlayerController work
Add Distance/Falloff to music player
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.
Merge branch 'master' into navmesh-tiled
Properly resolve merge conflict
Fix gameobject and component control widgets not respecting readonly attribute
Separate overload as not to mess with any existing game packages
Can optionally pass LobbyConfig to CreateLobby. Right now only contains LobbyPrivacy. Add LobbyPrivacy.FriendsOnly.
Use JsonObject.DeepClone() instead of Deserialize<DeepClone>
Prefix debug methods and props with debug
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
NavMeshAgent improve ground detection trace
In case our ground trace has multiple results pick the hit closest to the original navmesh position
Linux: Add precompiled binaries libsteam_api.so, libGameNetworkingSockets.so, libpng.a and libdxcompiler.so because we don't compile them ourselves.
Linux: Various little #ifdef fixes regarding Linux specifics, C++20 and a strange macro definition of "None"
Linux: Use GNU++20 instead of C++20 because the code is making use of some GNU extensions in macros
Add a comment r.e. timedelta and timescaling so we dont get confused later
Use this to avoid confusion
Make EnableFootstepSounds on PlayerController work
Switch from net7 to net9
* Update your Visual Studio to 17.12.0!
Add dotnet-runtime-9.0.0-win-x64.exe
Some docs, clamp accumulator to maxSteps, use time.delta
Update Mono.Cecil and MonoMod.RuntimeDetour
Use RealTime.Delta its clamped
Make sure tool building errors get caught
Fix tools publish using net7
Add unit test to test FixedUpdate class
Make sure all JsonSerializerOptions are initialized from JsonSerializerOptions.Default
Update runtimeconfigs
Update tools to net9