20,861 Commits over 1,522 Days - 0.57cph!
Rebuild component type if method or property removed
Route SoundHandle through managed system, use speaker volumes etc
Fix invalid program involving value type inputs
Remove unused args
Add some more c# compatible funcs to CAudioMixBuffer
Add AudioBuffers, MixBuffer
create mixer - can play sounds!
Specify which members should get auto-expanded on double-click
Update Facepunch.ActionGraphs, fix filtering methods for parameter safety
Implement expression methods / outputs
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
Fixed private [Property] not showing up in node list
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
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
Re-use the shader compile error window, so we can keep it open while iterating. We need a better way to do this tbh.
Add global usings to minimal project
Make minimal scene less reflective
Don't try to to build path from empty dependency string for a VPC Makefile dependency
Cupertino: Cleanup source_posix_base, update SDK versions and build settings for macOS, just use latest SDK version, target Sonoma, don't use 10 year old tools for cc
chmod +x on vpc_script bash scripts
Cupertino: ISO C++20 Fixes
Update .gitignore and build scripts, fix permission on antlr, some small code fixes
Node grouping tweaks
More node list tweaks
https://files.facepunch.com/ziks/2024-02-08/sbox-dev_gRcj5bOB44.mp4
Terrain tool selection
Splatting tool & compute shader, balances weights automatically
Artist defined splats (albedo, normal, roughness, more is probably overkill) - use summed control map
Nicer brush defaults
Don't use VirtualWidgets for terrain tool selection, they're the most simple buttons + tooltips
Better behaved brush preview, don't destroy/create every frame, can destroy on disable or invalid tool
more normal normals
default first layer for any missing weight
Terrible performing Texture -> Pixmap, but only because of GetPixels on a 4k texture
Add adjusting camera speed with mouse wheel in editor first person camera
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
Add try catch to ControlObjectWidget so we don't break inspector with incompatible classes
Cascade tag changes to ModelPhysics body shapes
Enter name when creating method out of nodes
Use CodeEditor.OpenFile() when double-clicking nodes
https://files.facepunch.com/ziks/2024-02-07/devenv_u7cl3d2Gzu.mp4
Made DynamicSceneObject not use CMeshBuilder2 (really was no need)
Add LineStrip , LineStripWithAdjacency
Allow RENDER_PRIM_LINE_STRIP_WITH_ADJACENCY
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
Create methods from inside the Action Graph editor
Make sure graph is saved to file on Ctrl+S when embedded in resource
Timeline component stores curves for properties, timeline editor edits curves for selected object
Action Graph editor tweaks
Fix Action Graph node pulsing being unreliable
ActionGraphComponentTemplate
Implemented calling methods on generated components
Generate method stubs based on component definition
Discover tab new tiles, social styling, side nav styles
Expose style functions
Canvas class - internal for now
WIP editor for adding methods to components
https://files.facepunch.com/ziks/2024-02-06/sbox-dev_eh9gkCe81q.png
Social Bar, Main Menu, Header Bar
Get rid of Asset.SaveToMemory
Avoid re-deserializing GameResources after they have just saved to file
Fix ComponentDefinition not building on change
Cupertino: Fix OSXARM64 conditionals, update VPC binary
Cupertino: Add gitignore rules for Xcode crap files and add build native step for POSIX
Add Widget.UpdateGeometry()
Add IStyleTarget, to remove direct panel usage from StyleBlock / StyleSelector
Property editing mostly working
Cupertino: Finish setting up makeile for VPC on Mac ARM64
Cupertino: Remove some definitions for OSX64 for OSXARM64
Cupertino: Add prebuilt macOS vpc
Cupertino: update VPC, still needs cleanup, builds all but need to sort linking and .mm files
Cupertino: Encapsulate Windows-specific code and error handling
BaseResourceEditor.SavedToDisk()
Started on a ComponentDefinitionEditor
Cupertino: Use Unix trailing paths for codegen, this should be fine on Windows too
Backport new tier0 threadtools stuff for process thread creation, fixes things that were missing from our initial code drop
Fixed hotloading ComponentDefinition changes
Correctly ignore razor files in editor/ unittest/
Implemented properties in component definitions
https://files.facepunch.com/ziks/2024-02-05/sbox-dev_KJpUex47QT.png
Proof of concept generate component type at runtime
https://files.facepunch.com/ziks/2024-02-05/sbox-dev_Ga8FKcNpIW.png
This BoundingBoxEditorTool is implemented completely wrong
Make Scene DragDrop more modular
Can drag drop materials into scene