13,183 Commits over 1,522 Days - 0.36cph!
Fixed "launching" text showing when adding a new project (and not launching it)
Use Sandbox.Json.options in BaseFileSystem JSON methods
Gizmo.Draw.LineCapsule fix (#5600)
Model physics automatically inherits bone transform velocity so switching to ragdoll isn't stuck in the last pose https://files.facepunch.com/layla/1b0511b1/sbox_WLc97vrkvJ.mp4
Remove cloth code from sceneanimatableobject, we were also creating a physics world per animated object for it
Don't run SceneNetworkUpdate when network system instance is null
Open editor undo system up, debug dock
Delete SceneWorld objects when processing scene deletes
Components/GameObjects start disabled when creating, to avoid enable and quickly disable
Fix possible NRE when deleting camera
Call SceneWorld.DeletePendingObjects when clearing scene
Add Scene.Editor (ISceneEditorSession), allows game to talk to the EditorSession (gizmos etc)
Also make selection its own undo system - don't need to save the scene on every click
Fix undo system's snapshot system not complying with other undo actions
Remove Log.Info from SceneCubemap
Only do SceneCubemap.RenderDirty() when it actually updates rather than every frame
Only clear up light count instead of also envmap count on AllocateLights()
Clear interpolation properly and don't apply new interpolation if transform update received over network with clear interpolation flag
Another minor fix
SceneStats: include DynamicSceneObject render stats, lights/shadow stats
Remove Preferences.VoipVolume from voice component, handled through the mixer now
Add SoundHandle.Loopback, use voice_loopback to determine (for local voice)
Bounce talking party member
Mic icon when chatting
Switch to ServerGarbageCollection (we'll want to benchmark this when we have benchmarks)
Multiple threads to handle garbage collection, utilizing all available CPU cores.
Better performance in multi-core environments.
Reduced latency due to parallel processing.
Add Sound.UncompressVoiceData
Make Friend comparable
Basic party voice chat
Make voip_volume a convar so it gets saved
Use VoipVolume setting as a multiplier for voice component volume
Change Voice.ShouldExclude to Voice.ExcludeFilter to provide the connection filter list at once, this is easier to implement
Add ShouldExclude override to voice component to allow team voice chat etc
Only set console widget instance for main editor window
Report GpuFrametime in PerformanceStats
Fix restitution not combining
Flush network updates before send RPCs (#1594)
* Flush network updates before send RPCs
* Keep track of potential pending network updates to flush for RPCs
* Make sure to unregister for update after sending
* Add some documentation
Don't keep sounds that failed to load around trying to mix forever (matches how old vmix mixer handles it) Fixes #1597
Add MapInstance.Bounds to get world bounds of the map
PartyRoom - run tick at set interval, cache owner
Add Panel.ToggleClass
Remove ButtonGroupConstructor
Can change party title, capacity, public state
sound-in, sound-out will target UI mixer if there is one (resolves #5583)
Use a bone body cache in model physics, spending too much time asking native for the pairing every frame
Hightlight.RenderEffect: Use Scene.GetAllComponents instead of iterating every gameobject ( closes #1597 )
Fix enter/leave not updating chat box
Add party_id to rich presence
Add Connection.PartyId
Add more CompileCodeArchive tests
Codegen should shit itself if you don't use a string literal from Cloud.Asset() methods
Terrain: Add height blend settings, add per material height and normal strength, various other polishing
Hide GameResource.ResourceVersion
TerrainMaterialList: Allow drops properly
Editor post processing toggle closes #1587
Colour grading changes, tonemapping in its own component (means color grading isn't 1 pass, but that's easier to do later compared to splitting up components)
Co-authored-by: Matt Stevens <matt@mattstevens.co.uk>
Fix buffer overrun (80% confidence)
Clothing LODs
Bandana, sleeveless jacket and fingerless gloves LODs
Add vertex bevel operation https://files.facepunch.com/layla/1b0311b1/sbox-dev_qwSFxWpceA.mp4
Fix model physics not setting gameobject tags
Hammer: Option for placing objects using bounds bottom as origin for when you want to disable it
SteamLobbySocket caches owner, calling SteamMatchmaking.GetLobbyOwner each tick had significant impact
Add SkinnedModelRenderer.UseAnimGraph, this will frequently be used to turn off animations on ragdolls without going through sceneobject
Fix model physics T posing for a frame on enabled and switching animgraph off, allows for smooth ragdoll transitions https://files.facepunch.com/layla/1b3011b1/sbox_K1lOWP0iir.mp4
FPArms: added basic throwable animations
ResourcesPage path widget directory is relative to the Assets directory
Expose Terrain size properties to settings sheet
Changed GameObject prefab deserialization to return promised GameResource, instead of failing and throwing, fixes a race condition where prefab resource hasn't loaded in time