244,151 Commits over 3,898 Days - 2.61cph!
Cleanup upload code a bit
ActionGraph fixes / improvements from hackweek
Everything except the component editor
Fix embedding target object in scene Action Graphs
Fix legacy Get Game Object node
Add PhysicsBody.AddCylinderShape and PhysicsBody.AddConeShape
Add hull collider component to combine multiple hull shapes with selector (box, cone, cylinder) https://files.facepunch.com/layla/1b1511b1/sbox-dev_KwarwIJ8dm.mp4
▆▋▌▋▌▉▄▉▉▄▋▄ ▅▌▄█▅▌ ▇▇▉▇█▌▆▆ ▌▇▉▅▋▊▇ ▊▌▍▊▅▄█▇▊█▇▍▆
▋▌▌▄▇ ▌▇▍▄ ▌▆▍▉ ▊▊▊▍▇▇▅ ▋█▄ ▄▋▄▌▌▍▍▌ ▄▌▍█▄▉█ ▌▌▆▇▊▍▋ ▊▉█ ▋▋▊▅'▄ ▌█▆▌▋▆?
!▆▄█▄▅▄▅ ▄▉▅▊▅▉██▌▇▌▅▇▄██ ▅▅▆▋▄▄
!▉▆▅▋▅ ▉▌▋▇█▍▉▊▍ ▆▅▊▅▊▉▄ ▄█▊█ ▅▌▊▇ ▌▍▆▅▄ ▄▍█▇▇▍▊▄▄
!▇▆▌██ ▅▄▉▄▅▉▍█▋▉▇ ▍▋▅█ ▉▉▊█▉▍▆▊▆
▌▋-▌▍▄▄█▊ ▋▇█▇▆▌ ▅▉▅▊▅▍▄ ▇▅▉ ▊▉▋
!▉█▍▉▌▇▇ ▆█▊▍█▊ ▄▊▆▇▊▄▆▋_▉▌▇▆
Move SegmentedControl over
Add EditorUtility.DisplayDialog which asks a bool
Pin/Remove works
Expose GetOutputExpression
▅▉▄▍▄▄▆ ▉▄▉▋▍█▋▆▍ ▉▇▆▋ ▄▇▋ █▌▊█▍ █▍▆▉ ▊▉█ ▌▇█ ▇▅
▉▆▇▋▉▅▌ ▄▌▆▄▅▋▆ ▉▇▄▋▆▇▍▅▉▅ ▋▄▉▆
Fixed upkeep resources cost texts being too large
Fixed get component helper nodes
QtAppSystem styles, filesystem
ToolFramwork2 startup, use managed qt init
Launcher has project list basics
Paint.Draw from url is dpi aware
Optimized upkeep cost calculation by caching upgrade costs during prefab preprocessing
▍▅█▆█ ▄▊█▄▊▌▊ ▍▊▊▍ ▅█▄_▊▍▇█▋▄█▉▍▆▉▆██▇▊█▋▍▍
▊▅▇▉ ▍▊▊▊▊▊ █▍█▊▉ ▊▉▋ ▋▅▍▉▋
!▆▉▇█▆ ▉▄ ▅▆▅█▇█▊ ▋█▄▇ ▌▌▆▋_▉▌▌▍▋▄▊
!▍▋▄▅█ ▄▄▊▆█▅▊▉▆ ▋▄▆▄▍▋▇▋ ▌▅▊█ ▉▍▉▊▆▋▍█▆▇▇▆▄▊
!▋▋▋▍▊ ▆▋█ ▌▌▉▍▋▇▇▅ ▍▍█
!▄▉▅▅▊ ▆▇▋▄▍▇▊ ▄▍▇▄▉▍▌ ██▊▄ ▅▊▄▆_▄▊▅▄██▋
▄▄▉▊▅ ▋▇█▋▉█▅ ▉▍▇▆▋▆▄▉ ▄▇█▄█▉▍▇▄ ▌▌▍ ▆▆▍▆█▍
Give components an ID, add ComponentList.Get( guid ), serialize and deserialize component references properly
Add backwards compatibility when deserializing component references (find type)
Started on ComponentDefinition GameResource
Proof of concept generate component type at runtime
https://files.facepunch.com/ziks/2024-02-05/sbox-dev_Ga8FKcNpIW.png
Implemented properties in component definitions
https://files.facepunch.com/ziks/2024-02-05/sbox-dev_KJpUex47QT.png
Fixed hotloading ComponentDefinition changes
BaseResourceEditor.SavedToDisk()
Started on a ComponentDefinitionEditor
Property editing mostly working
Get rid of Asset.SaveToMemory
Avoid re-deserializing GameResources after they have just saved to file
Fix ComponentDefinition not building on change
WIP editor for adding methods to components
https://files.facepunch.com/ziks/2024-02-06/sbox-dev_eh9gkCe81q.png
Generate method stubs based on component definition
Implemented calling methods on generated components
ActionGraphComponentTemplate
Action Graph editor tweaks
Fix Action Graph node pulsing being unreliable
Make sure graph is saved to file on Ctrl+S when embedded in resource
Create methods from inside the Action Graph editor
Action Graph: Double-click on a property to edit it
https://files.facepunch.com/ziks/2024-02-07/devenv_aHfLD4Qsb5.mp4
Action Graph: double-click on method node to go to definition
Use CodeEditor.OpenFile() when double-clicking nodes
https://files.facepunch.com/ziks/2024-02-07/devenv_u7cl3d2Gzu.mp4
Enter name when creating method out of nodes
ActionGraph, ShaderGraph: store view in cookie per-asset
Can create component properties from within the Action Graph editor
https://files.facepunch.com/ziks/2024-02-08/devenv_AN2eN6L2BR.mp4
Node grouping tweaks
More node list tweaks
https://files.facepunch.com/ziks/2024-02-08/sbox-dev_gRcj5bOB44.mp4
Can directly use component properties as node inputs
https://files.facepunch.com/ziks/2024-02-08/sbox-dev_sjs44F0SQM.mp4
Fixed private [Property] not showing up in node list
Menu.AddOptions()
Refactor GraphView to use Menu.AddOptions
TypeControlWidget now uses Menu.AddOptions too
More node list tweaks
Fix clearing and expanded output
Double-click on an output to auto expand / hide expanded outputs
https://files.facepunch.com/ziks/2024-02-08/sbox-dev_KZJs1sxKKy.mp4
Specify which members should get auto-expanded on double-click
Update Facepunch.ActionGraphs, fix filtering methods for parameter safety
Implement expression methods / outputs
Fix invalid program involving value type inputs
Rebuild component type if method or property removed
Menu.AddOptions: support having headings at any depth
https://files.facepunch.com/ziks/2024-02-09/devenv_mRkCi2hCHa.mp4
Node list tweaks
Playing with a live value inspector on hover
https://files.facepunch.com/ziks/2024-02-09/sbox-dev_0Iwj4OgIbd.mp4
Can set default values for component properties again
https://files.facepunch.com/ziks/2024-02-09/sbox-dev_v4JnzXDks5.mp4
ComponentDefinition property default value hotload fixes
Create properties from inputs
Fix menu item ordering with headers
Fully refresh component list on hotload
Small Action Graph editor fixes
Node library tweaks
EnterNameMenu fixes
Avoid re-using member names of deleted members
Use aliases for types like float, int, bool
WIP
Update Facepunch.ActionGraphs
Fix after rebase
WIP simplifying after ActionGraph refactor
Support custom [ClassName] when serializing type references in ActionGraph
????
Fix deserializing override methods
Fix passing target
Fix creating local instance nodes
Fix target type in editor
Re-implement embedding target in scene ActionGraphs
Ensured vendors window is closed on server change
Refactored map view reset code into a single method
Fix Camera.RenderToTexture incorrect aspect when using ortho, just use ortho height, we don't use ortho width and it should be removed
DefaultSignals serialized shorthand
Can anger the heli by attacking it anywhere (provided it already isnt targetting someone and has been waiting a decent amount of time since it was last damaged)
Implied target types / values
updated overgrowth prefabs inside spawning junkpiles
arid variants for some grasses
fixed incorrect biome set on a tire prefab
S2P all (overgrowth links refresh)
CanSpawnObjects settable only by the host
Init qt fonts properly
Init qt dirs properly
fixed an offset that appeared in coaling tower prefab - collection bin offset
removed missing mesh bit from static refinery prefab
new tree models for monument overgrowth, temperate and snow variants
added a button to the workshop editor to toggle the pole light
▄▊▆▅▌█▅ ▍▊ ▊▌▌▌▋ ▇▅▅▊▉▇█▋ ▆▄▅▆ ▆▅▍▆▆█▌ ▍ ▍▊▄▄ ▋▌▉▄▋▌▊▍▅▇▌ ▍▋▌ ▌▊▌▆█▅▍ ▉▆▍▍█▇ █▄▍▋▊▅ ▅▍ ▊▋█ ▄▇█▆▄▌▇ ▄█▇▊▆▄▊ ▆▌▄▅ ▊▊ ▄▆█ ▆▍▆▊▅▌▉ ▍▅▍█▆ ▄▋▋ █▇▊▍▍▍▌
█▇▉▍█▉▋ █▉▆▅▄▅▆.▊█▋ ▄█▍▇█▄ ▋▄ ▊▇▉▊█▌ ▆█▌▊▊
GatherVisibleLightsGPU
Move depth prepass to be the first pass of everything, we'll use it on lightbinner for light culling from now on
Do lightbinning for light culling on render thread when a layer first wants to request lights, guarantees we have a depth pyramid by then
If we are on a render thread just do a simple flush for ForceFlushGPU(), we just want the GPU to finish it's work, not clean up things
Allow custom type serialization
Skinnable setup, placeholder icon
Merge from metal_detector
ContextTools not used anymore
Delete Command.Collection, simplify concommand internals. Change how cookies work, filenames (your cookies will be cleared)
Update default editor layout
Delete empty cookie files instead of writing them
Fix convar values being wrong
merge from server_parent_pid