20,764 Commits over 1,522 Days - 0.57cph!
Move s_LightList out of singleton to the CLightObjectDesc, make other light-like object descriptors use CUtlVectorFixedGrowable instead of linked list ( trashes the cache while iterating ), all of them should be consistent now, use a single light descriptor for all light types
Tiled Culling Renderer buffers shouldn't live in Lightbinner, but instead on CLightCullingRenderer itself since they're rendered per view, so we just reuse that memory, Lightbinners are allocated in a pool, so all that memory was wasted on GPU, remove wasteful copy of binned lights on tiled light callback
Don't generate shadow frusta for unshadowed lights
Separate shadow generation, both shadow maps and the viewproj we pass, into SetupShadowsForLight in Lightbinner, when we do bindless shadows and lightbinner caching, this is where to look for it
Go back to do a copy of current light list for CLightCullVisibilityReadback, callbacks can have latency longer than one frame and that list could change
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView
Add lights to lightbinner through CLightObjectDesc::OnSceneObjectVisibleInView instead of LightBinnerStandard::AddLights
Add SkinnedModelRenderer.Parameters for better API to set animgraph parameters and show the parameters in inspector https://files.facepunch.com/layla/1b1211b1/sbox-dev_GElUzo5Kpn.mp4
Add stub GBuffer.hlsl for DepthNormals() mode and move ToolVis to it's own file and class so it's not a mess, aiming to remove ToolVis() mode, S_DISABLE_SPECULAR_HIGHLIGHTS not referenced anywhere
Update Facepunch.ActionGraphs
Get rid of old hack to re-use ActionGraphs between tools and game
Serialize invalid Components / GameObjects as null
Don't call PostDeserialize multiple times for child objects
Keep track of source resource for ActionGraph instances
Also fixes case where prefab ActionGraphs wouldn't get cached properly
Improved inspecting experience with ActionGraph stack traces
* Include source location in stack trace
* Opens the containing scene / prefab when inspecting an ActionGraph stack row
Include ActionGraph diagnostics in console
Graphs need to be loaded at least once for it to know about them
Update AssertNoGraphErrorsInScene test case
We were double-counting prefab ActionGraphs before
Tweak categories
Group asset types with a toggle
https://files.facepunch.com/alexguthrie/1b1211b1/NVIDIA_Overlay_IwtzsHuw5A.mp4
Revert "Test rendering asset thumbnails as animated images, see if it works"
This reverts commit 3df3c676a41be1aeacddc99c8a0640e2c6c976a6.
Basic search
Make search progressive
Search through subdirectories
https://files.facepunch.com/alexguthrie/1b1211b1/NVIDIA_Overlay_JJc4EiRmM9.mp4
Add CameraComponent.CustomProjectionMatrix
Library Assets/Code folder is mounted accessible to game context
Update sweeper project with defaults
Update cable.vmat_c
Fix GameTile rebuilding constantly
Panel scrolling doesn't need PreLayout
Cache whether styles are in the rebuild list
Faster SetChildIndex checks
Game controller rewrite (#1664)
You shouldn't experience anything different other than you shouldn't run into any problems. Let's see how long that lasts 👀
Add some protection when opening CGameController, don't open from constructor, add static initializer for controller which can return null if something went wrong, also, don't use a fixed-size array for controllers, so we're not hard-capped at 4
Static initializer in CGameController instead of CInputSystem
If SetLEDColor failed somehow, managed LEDColor would be out of sync - but this is gonna get redone soon anyway..
WIP rewrite, no CGameController, pass SDL handle to managed and fetch data through it, just need to restore rumble/sensors/LED
Implement controller closing
Restore LED/Rumble/Sensors
Way more sane controller closure
Set default LED colors
More useful logs
Initialize use of gyro/accelerometer sensors in native
Add diagnostics to console on first open
ActionGraphDebugger: resolve original Guid
Fix AssertNoGraphErrorsInScene test
We were counting some graphs twice before
Initialize use of gyro/accelerometer sensors in native
Put LONG obsolete method back again so tests pass because someone is still using it (grr)
WIP rewrite, no CGameController, pass SDL handle to managed and fetch data through it, just need to restore rumble/sensors/LED
Implement controller closing
Restore LED/Rumble/Sensors
Way more sane controller closure
Set default LED colors
Restore functionality to clear interpolation over the network with new system
Select target object when inspecting ActionGraph
Make ActionGraphStackLineHandler pattern more lenient
Include ActionGraph errors in ConsoleWidget.PopulateDiagnostics
Refresh diagnostics when saving an Action Graph
Only Show() each Action Graph MainWindow once
Inspecting a cloned ActionGraph edits original (#1663)
Write null instead of trying to serialize invalid GameObject / Component
Attempt to support both types of prefab instances in one places
Don't PostDeserialize child objects multiple times
Optimize ModelRenderer.Tint
Fix MetaData.Get error
Warn in TcpSocket when there's a socket exception on connecting
Fix startup exception when not using Gregorian calendar
Don't report errors created by us, in non retail builds
Cancel launcher fade in if they already closed the window
Inspector component edits use nicer undo system instead of whole scene
Json ignore this in case it needs it
Add CameraComponent.RenderTarget to render allow rendering to texture https://files.facepunch.com/layla/1b1211b1/sbox-dev_N5LTZuJHYE.mp4
Better handling for prefab variables that aren't hooked up to anything, Facepunch/sbox-issues#6116
Avoid multiple undo entries when editing GameObject transform/name in inspector
Attempt to support both types of prefab instances in one places
Always do vmdls as a large network download, Facepunch/sbox-issues#6181
Write null instead of trying to serialize invalid GameObject / Component
Fix windows popping up on hotload
Make ActionGraphStackLineHandler pattern more lenient
Include ActionGraph errors in ConsoleWidget.PopulateDiagnostics
Refresh diagnostics when saving an Action Graph
Only Show() each Action Graph MainWindow once
Inspecting a cloned ActionGraph edits original (#1663)
Add UI_OVERLAY_LAYER
Add new layers to pipeline
DisplayInfo uses OrderAttribute
[InlineEditor] has a Label option
RenderComponents have RenderOptions, let you choose a layer to render on
The logic for marking ControlWidgets as readonly doesn't really work
ControlSheet observes [Order]
Fix MaterialOverride not removing
Fix UI overlay depth
Basic filters
https://files.facepunch.com/alexguthrie/1b1111b1/NVIDIA_Overlay_CsbSssrrui.png
Tag prefix provider
Don't need prefix for autocomplete
https://files.facepunch.com/alexguthrie/1b1111b1/NVIDIA_Overlay_8lj3rVaSwA.png
Add some protection when opening CGameController, don't open from constructor, add static initializer for controller which can return null if something went wrong, also, don't use a fixed-size array for controllers, so we're not hard-capped at 4
Static initializer in CGameController instead of CInputSystem
If SetLEDColor failed somehow, managed LEDColor would be out of sync - but this is gonna get redone soon anyway..
Re-instate these long-obsolete methods for now because something is still using one of them :(
Ensure last update is sent properly when ownership changes (Fixes Facepunch/sbox-issues#6394)
Set the GameEditorSession as active when tabbing to game view in playmode, resolves Facepunch/sbox-issues#6393
hammer: Don't append to EditorReferences when gathering them, start again from scratch - helps clearing out old refs that a map might not rely on anymore
Fix performance regression if ModelRenderer changes tint often
Latest service models
Fix NRE in MapInstance.UpdateDirtyReflections
Add Model.Morphs
Add IJsonPopulator - internal for now
Added StartFolded to GroupAttribute
Refactor ControlSheet
ControlSheet groups remember their open/close state
Hide the entire group if all the controls are ShowIf'd out
Add SkinnedModelRenderer.Morphs
Don't add more lights to visible list than the list can permit, this relatively low limit is silly but don't want to break api until frustum tiled cull is here https://files.facepunch.com/sam/1b1011b1/parsecd_CiKjzyScdq.mp4
Fix modeldoc not cleaning up a embedded preview, causing an invalid thumbnail listener to stay around which sometimes causes a crash when a thumbnail is generated
Don't add more lights to visible list than the list can permit, this relatively low limit is silly but don't want to break api until frustum tiled cull is here
https://files.facepunch.com/sam/1b1011b1/parsecd_CiKjzyScdq.mp4
Lightbinner caching experiment, AddLight still sucks and we need to deal with shadows and faster insertions
https://files.facepunch.com/sam/1b1011b1/NkiL7ryaEs.png
Revert "Fog Fix (#1661)", causing some slowdown problems, will be
brought back shortly
This reverts commit f0981cbaf9679a34c219f57cd232a638f60d463f.
Citizen: added "blink" pose parameter + "Eyes_1D" sequence
Partial backport of ISceneObjectDesc::OnSceneObjectVisibleInView
Add lights to lightbinner through CLightObjectDesc::OnSceneObjectVisibleInView instead of LightBinnerStandard::AddLights
Move ChangeAttribute back to Sandbox.System but put the callback in Sandbox.Game so we don't break anything.
Upgrade ChangeAttribute to support any property not just for [ConVar], so it now works with [Sync], too. Move ChangeAttribute to Sandbox.Game so it can use TypeLibrary for CodeGenerator wrapped property stuff. Resolves Facepunch/sbox-issues#6386