13,183 Commits over 1,522 Days - 0.36cph!
Add facepunch.hc1 to tests
Restore obsolete Gizmo.HitBox.Model function signature to maintain compatibility
add support for multiple scene views, orthographic scene views, and configurable grid axis
add keybind to cycle camera plane around selection
refactor bits into SceneEditorViewport, re/store gizmo settings alongside viewport cookie
rework to single layout and splitter, disable new tab creation for now
add support for per-widget toolbar actions
save/restore sceneview layout
move viewport/instance gizmo settings to EditorCookie from ProjectCookie
move save/restore viewport cookies to addon space
no reason to copy+set camera transform anymore
use active SceneOverlayWidget directly
use a single toolmanager instance
fix nudging
remove some global gizmoinstance refs
tuck camera alignment shortcuts away in camera menu
maintain layout config when toggling viewport fullscreen
remove log
camera fixes: make orthographic clipping more predictable, add smooth(er) perspective/ortho transitions, fix gizmotest widget, reenable scene camera copy
add setting to lock scene camera rotation
fix incorrectly sized gizmo hitboxes in ortho view
replace remaining direct scene camera transform accessors
tweak sprite gizmo hitbox scale in ortho views
cleanup scene tick/draw flow with multiple viewports
replace legacy global GizmoInstance
snip unneeded multi-tab leftovers
use state/gizmo settings for scene view control
replace remaining ray length with Gizmo.RayDepth
don't try to save scene-specific viewport config for untitled scenes
use alternate check for IsUnderMouse
move viewport settings to ViewportState from GizmoSettings, use shared gizmo settings for all viewports
shift camera settings to EditorPreferences, simplify viewport options
restore single EditorScene gizmo settings
revert camera extension changes, fix pan and orbit zoom, tidy
use hammer's linked splitters for uniform viewport resizing
Misc fixes
Move EnablePostProcessing from GizmoSettings to ViewportState
Default each viewport to a unique perspective
Misc post-scenetab fixes
Hide skybox in 2d views
Split scene view layout/viewport classes into separate files
Tidy
Use frustum RayDepth for terrain, hitbox traces
Make 2d clipping less crap
Use black background for 2d views
We don't need to do this anymore
Fix perpendicular rotation handles being unusable in ortho views
Fix 2d box selection: Frustum.FromCorners does ortho properly, gizmo tweaks
Use correct gizmo settings for dragdrop
Use correct plane for 2d view drag drop
Prevent map cookie from overriding 2d viewmode rotation
Draw grid on top in 2d views
Merge branch 'master' into hackweek-multi-scene-view
Add Widget.GetAncestor<T>
Move Grid, Scene toolbars to header bar, remove SceneViewToolbar
Fix warnings
HeaderBar switch layout
Tweak viewport menu, so you can see the checkboxes
Merge pull request #1582 from Facepunch/hackweek-multi-scene-view
Multi-viewport and Ortho Scene views
Joint component can find physics body on bone objects https://files.facepunch.com/layla/1b1811b1/sbox-dev_dmPchGQpY7.mp4
Add try catch to OnCreateObject so users can't fuck up the map loading
Fix ObjectEntry transform
Fix bone objects not being created, don't need this check here
Just run FinishBoneUpdate here instead of progressing animation
Initial bone merge to the root merge target
Skinned renderer updates scene model and bone objects on Model change or CreateBoneObjects change - Fixes bone objects not having their transform set when trying to parent an object directly after creating the component
▌▌▄▊▄▇ ▉█▉▊▆▌▋▆▍ ▅▅▊▅▌▄▅▌█▇▊▍▋▅▍, ▆▍█'▊ ▄▆█▍ ▋▋▍ ▊▅█▉▌ ▆▍ ▊▋█▅ ▅▊▄ ▊▍▊
Cache ObjectEntry keyvalues so we're not having to call into managed every time
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