13,873 Commits over 1,552 Days - 0.37cph!
ModelRenderer: Remove OnPreRender again, if this was hacking around something fix the root cause
Replace AudioListener.OnPreRender
Optimize NativeResourceCache.Tick() - was taking up to 0.25ms some frames
Add MapInstance.OnCreateObject to give users a chance to implement map objects that are unimplemented
Add [Range( 1, ... )] to Camera.ZNear and Camera.ZFar, update docs. Seen a couple 0.01 inch znear cameras with insane z fighting today
VoiceManager: GetAvailableVoice before GetVoice, otherwise it's 0.1ms every frame (even when not speaking)
Why would we need to set LightCookie to null on a destroyed light. Resolves Facepunch/sbox-issues#5664
Whitelist Delegate equality operators resolves Facepunch/sbox-issues#5658
Whitelist DependentHandle resolves Facepunch/sbox-issues#5660
Don't finish bone update for scene models with a parent, bone merge does all the work
Set Connection.Local.State to Connected in On_Handshake_Activate
Temporary RTs always have a UAV binding so you can use them with compute shaders
SSAO: Use RenderTarget.GetTemporary instead of manual texture allocations
Screen Space Ambient Occlusion
* Added Ambient Occlusion post processing camera component, can configure quality, intensity, sample radius. (Less options means we can do further improvements easily)
* r_ssao_debug can be used to see the direct AO values
* Added CameraComponent.AddHookAfterOpaque
---------
Co-authored-by: Matt Stevens <matt@mattstevens.co.uk>
ActionGraph: Expose NeworkSpawn, some Connection members
Skinned renderer merges child descendants so everything gets merged to a root merge target https://files.facepunch.com/layla/1b1611b1/sbox-dev_aMH7Swm3RU.mp4
Fix prop trying to access gameobject of destroyed component when breaking into components
Animgraph: Fix aim matrix pitch not calculating correct weights
Animgraph: Add support for face direction parameters in mover node
Animgraph: Add support for turn to face parameters in turn helper node
Teleport keyframed colliders when interpolation is cleared https://files.facepunch.com/layla/1b1611b1/sbox-dev_A3vzpv1ell.mp4
Unlink component game object at the end of destroy so component IsValid is false after destroying it
Fix skinned renderer not bone merging children if it's bone merged itself
Prop.CreateGibs returns the list of gibs
Drop object create and grid snap in one place instead of everywhere
Add ParticleSystem.Bounds to get static bounds of the resource
Add ParticleSystem.LoadAsync
Add ParticleDropObject https://files.facepunch.com/layla/1b1511b1/sbox-dev_vLyJncgR0y.mp4
Citizen/animgraph: conversion of locomotion lean layer from hacky, '15%-of-a-big-overlaid-change' version to model-space additive — still needs tweaking
FPArms: genericized versions of new ironsight additive animations for the shared library
Fix skinned model renderers using incorrect bounds when switching from a model with bones to a model without bones - use rigid bounds type for boneless models
Add BBox + Sphere GetVolume()
Call AudioProcessor.OnDestroy properly
Make DspProcessor public
Store and restore Mixer config when playing game in editor
Update Processors in mixer UI to show enabled status
catch and report exceptions when disposing GameObjectSystems
Dsp tweaks
Fall back to UnknownStackLineHandler if file name is missing
Fixes ILHotloaded method stack traces showing nothing at all
Make Gizmo.Control.BoundingBox much more visually simple
Json Serialize Sphere properly (!)
Gizmo.Control.BoundingBox - adjust depth bias so we can always touch the handles through geo
This reverts
Expose NavAgent.Velocity setter
Expose Sphere
Add ControlSheet.CreateLabel( SerializedProperty property )
Add [InlineEditor], which will make structs editable inline when applied to a property
Add Editor.FileSystem.Config
Add string.GetFilenameSafe()
Layouts are stored in game/config/editor/layout/
Add/Update default layout
sceneanimatableobject uses animation helper for models without animgraph too, fixes ragdolls without animgraph not working
Don't create model physics in editor on model change, make sure physics is removed on destroy
ModelDropObject creates game object at correct transform before adding any components, also fix grid snap on drop
When deserializing a GameObject create components in a try/catch and log an error if it fails. If no component could be created, add a missing component. Fixes not being able to open a prefab if there's an error in the constructor of a component. Closes Facepunch/sbox-issues#4397
Add Package.FileSize (MB) ( Closes Facepunch/sbox-issues#4908 )
Ignore packets from non-host until we're fully connected ( Fixes Facepunch/sbox-issues#1595 )
Add a small cache on Timings.Get
Extra checks in ByteStream
Where possible, cache DelegateFunctionPointer instead of calling GetFunctionPointerForDelegate every time
Completely avoid DelegateFunctionPointer.Get in PhysicsTrace
Delete WorldPanel immediately OnDisabled, otherwise it will linger forever when play mode is stopped
Correct place for these SceneObject sealed overrides
Clear all these ptrs first to be safe, seal some more shit
Add directional light and better cubemap to shadergraph preview
Seal all shader nodes that can be sealed
Move some base shadergraph code to base editor to allow tool libraries to create their own nodes
Fixed prefab scene bullshit
Fixes sbox-issues/issues/5636
Fixes sbox-issues/issues/5635
Fix bytestream overflows (and add test)
Make a bunch of stuff sealed
Fix SerializedPropertyProxy not forwarding TryGetAsObject, As (fixes sbox-issues/issues/5631)
Restore conversion from .object to .prefab
Fix NRE in SceneWidget when scene is deleted
Fix PrefabScene placeholder loading whole scene
Fix NRE on Scene.DebugSceneWorld, can happen when switching from play mode
Legacy particles with collision use physics traces instead of mesh traces, (should) be faster and work on terrain https://files.facepunch.com/layla/1b1211b1/sbox-dev_ZaiiI5fZ10.mp4
Scenes free their SceneWorld/PhysicsWorld/GizmoInstance on close/destroy/finalize
When calling NetworkSpawn we break from prefabs in all of our ancestors ( Fixes Facepunch/sbox-issues#5046 )
Clean GetPrefabScene - actually load the prefab scene if not loaded (although I feel like this would already be doing that if it should be doing it)
Add TypeDescription.GetValue, SetValue - handles both properties and fields for QOL
TextDialog cleanup
ControlSheet.AddRow just creates a ControlWidgetRow (single path)
Move ComponentSheetHeader to its own file
Now GameObjectTransformControl uses the new path, we don't need to manually align margins
MakeIdGuidsUnique returns a translation dictionary
Store prefab guid to instance guid translation table on prefab instance root GameObject
Add EditorUtility.Prefabs.CreateAsset, obsolete GameObject.GetAsPrefab
Add CloneConfig.PrefabVariables
Add PrefabFile.VariableList
Simplify prefab instance lookup object by id
Add PrefabScene.VariableCollection
Prefab variables end to end
Show variable names when inspecting prefab
Prefab variables widget, editing, grouping, deleting
Fix ControlSheet stretching horizontally
Store variables in the prefab's RootObject, makes most sense
Variable star opens a menu instead
PrefabVariable UI https://files.facepunch.com/garry/83829991-476d-4934-ad39-099fc0f7ce6d.png
Fix prefab changes not updating after save
UI tweaks
Remove Scene.Save - way too confusing
Merge pull request #1603 from Facepunch/prefab-variables
Prefab Variables
Add Additive (Model Space) blend mode to aim matrix blend node https://files.facepunch.com/layla/1b1111b1/sbox-dev_GcsQxAEM2k.mp4
Delete choreoobjects and scenefilecache
Update test animgraph for model-space additives
Citizen: add model-space versions of additive idle aim matrices
Add "Find in Asset Browser" context menu item to resource/asset widgets
Focus the current value in asset pickers