22,418 Commits over 1,614 Days - 0.58cph!
We don't need to do this anymore
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
Hook it up in PS_FinalCombinerDoLighting before I do a full shader build
CDecalSceneObject - Non renderable, holds data only but can be culled by the scenesystem
Tiled Frustums ( We should make light culling use these as they are more accurate and faster )
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView
Forward+ Decals
* Decals get binned by the lightbinner from OnSceneObjectVisibleInView (all lights should start using this callback too)
* Tiled culling checks decals within each tiles frustum
* Decal::Apply( ... ) is used to mix decal's albedo, normal, etc. into surface
Apply forward+ decals as part of standard shading (recompiles needed to support this feature)
Remove AmbientLightSH from lightbinner, Directional Light doesn't control ambient color anymore, this is a visually breaking change, I'll see to put a better replacement to existing things
Set skybox as global cubemap
Be able to sample cubemaps from any resolution, use diffuse cubemap as diffuse indirect illumination if no GI in scene
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
Call ProjectSettings.Reset in ResetEnvironment
Store CollisionRules from Project Settings in ProjectSettings static class - update it when project settings change. Physics worlds using this reference should update automatically
Addition of compute shader version + minor changes to PS shader version and UI
ditto
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
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
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
ReadWithFallback will return new T() if package is null too
Add all files from network when mounting on client side
Fix - but obviously it can't be done this way it's absolutely awful
Kind of genericize SmallNetworkFiles - push / add / remove files from it externally - mount its MemoryFileSystem externally as well to desired file system
Do GetHashCode this way
Initialize CollisionRules
Handle small network files from different file systems this way?
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 )
Forgot to change these, oops
Add PhysicsWorld.CollisionRules getter. Delete ServerConfig. Update collision rules json on world if hash changes before physics step. Project Settings (.config) are networked via Small Network Files - can react to changes
Add openxr_loader pdb and dll
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
Remove openvr_api.lib dep, unused preprocessor definitions
Facepunch.XR update
Fix NRE on Scene.DebugSceneWorld, can happen when switching from play mode