627 Commits over 397 Days - 0.07cph!
AnimatedModelComponent => SkinnedModelRenderer, ModelComponent => ModelRenderer
DecalRenderer component assumes we're using the new decal shader, has some settings
Add decal test scenne
Add some simple decals
Add decal prefab
SkinnedModelRenderer derives from ModelRenderer
Added OnTagsChanged, tags cascade to child objects
Tags show differently depending on whether they're inherited or not
Fix missing player in volume fog scene
Batch component callbacks nicer
CallbackBatch deals with calling adding inside execute
Make CallbackBatch awesomer
Cleanup
Make OnValidate protected
FixedUpdate renamed to OnFixedUpdate, made protected, don't call in editor unless ExecuteInEditor
Update renamed to OnUpdate, made protected
OnStart is protected
Unit test fix
Made everything else protected
Fix model not getting updated in ModelRenderer
Fix GetComponents getting components of disabled GameObjects
Fixed children gameobjects not disabling properly
Put a decal in the volume fog cave
Moved HeaderBar folder up one to remove Editor directory warning
Move Component access to a class, so we can use the same from Components without twinning methods
GetComponent => Components.Get etc
Rename Components.Add to Components.Create
Tweaks Components.Get/GetAll so they can take flags to filter instead of the two bools
Reverse the disable condition in ForEachChild to match new Component default
Add GetOrCreate
Add component.OnLoad - allows a component to keep the loading screen open while it's doing stuff (in theory)
Show loading screen when loading scene
Update the skinned meshes in order when parented
Fix undo json max depth
Fix ComponentList not updating
Fix undo breaking with too much depth
Update component template to match new API
Hierarchy tree doesn't swallow shortcuts when focused
Stop using emoji for create object menu, everyone hates it except me
Scene hook system, convert Animation and Physics to use hook system
Add Scene.GetAllComponents<T> (fast path)
PostProcessers can use this shortcut to get their camera
Rename SoundListenerComponent to AudioListener
Sound.Listener defaults to camera position
Soundscape component
Sound Point test
soundscape box shape
box shape in soundscape scene
Sound Box component + scene
correct path for box sound component
Rename SceneHook to GameObjectSystem
Fix components not getting unregistered on destroy
Add Scene.Trace, HitboxGroup (heaby work in progress)
Add AnimationHelper.WithWishVelocity to example playercontroller
Add Scene.GetSystem<T>
Fix opening all menus as modal
Add BaseComponent.OnDirty, [MakeDirty] property attribute
Add GameObjectSystem.ITraceProvider
Remove CameraPhysicsDebug from menu camera 🤦
Hitbox components, Hitbox System
PlayerController faces the direction of the camera when spawning
CameraPhysicsDebug does its traces in a thread
Joint components
ModelPhysics creates ragdolls propertly
Grabber uses new SmoothMove
Cleanup
Fix sound scene description
Joints grab body from keyframe collider if all else fails
Joints test scene https://files.facepunch.com/layla/1b0511b1/sbox.2023.12.05.13.20.39.mp4
Joint scene name + description
Fixed SkinnedModelRenderer bugs when multiple on same GameObject
Fix CharacterControllerHelper getting stuck along multiple planes
With a few small changes to read closer to the original source
Hinge center and axis use game object transform instead of properties
Do the same for slider axis
Fix incorrect hinge gizmo drawing
GameObjectInspector, start multi edit
GameObjectInspector support adding components to multiple gameobjects at once
Handle component multi-select
Component/GameObject ControlWidget multi edit support
Update to consider removed painstuff / obsolete
Merge branch 'main' into staticrpc-authorityrpc
Update to consider removed painstuff / obsolete
Editor.ActionGraph.ActionGraph -> Editor.ActionGraphs.EditorActionGraph (Facepunch/sbox#1360)
To avoid conflict with Facepunch.ActionGraphs.ActionGraph
Editor.ActionGraph.ActionGraph -> Editor.ActionGraphs.EditorActionGraph (#1360)
To avoid conflict with Facepunch.ActionGraphs.ActionGraph
GameObjectInspector, start multi edit
GameObjectInspector support adding components to multiple gameobjects at once
Handle component multi-select
Component/GameObject ControlWidget multi edit support
Fix incorrect hinge gizmo drawing
Hinge center and axis use game object transform instead of properties
Do the same for slider axis
Fix CharacterControllerHelper getting stuck along multiple planes
With a few small changes to read closer to the original source
Messy-ish start to editable saveable terrain
Terrain collider but commented out cos master doesn't have it yet
Rename loads of shit, TerrainData not a resource (we can decide later), add back create menu option (I coded it but this could easily be a prefab template too if we don't save terrain as a resource)
Don't cast shadows from terrain, it looks dog shit
Json seems to give a fuck that these are private setters
High precision lighting offset
Use new Depth helper class
CPU Bilinear interpolation for sampling terrain height
Move terrain editing to editor code
some toolvis sceneview options, messy
latest component changes
brush update
splat shit painting
Clamp min height on paint
This should use images from content path now
icons + fixed bug with loading them
couple more brushes
Fix controlmap not being create on first enable
Shitty undo
Misc
Fixed SkinnedModelRenderer bugs when multiple on same GameObject
No need for TypeIdentity to be sent now, use TypeLibrary.GetMemberByIdent for global lookup
Sent TypeIdentity in StaticRpcMsg as well to get rid of that other bs
Update to use MethodIdentity and new CodeGen callback format
Joint scene name + description
Joints grab body from keyframe collider if all else fails
Joints test scene https://files.facepunch.com/layla/1b0511b1/sbox.2023.12.05.13.20.39.mp4
Fix sound scene description
Grabber uses new SmoothMove
Cleanup
ModelPhysics creates ragdolls propertly
Copied over WIP action graph editor
WIP dynamic action graph nodes
OnShoot example in TurretComponent
Node error messages, GetRelevantNodes, property get / set
Let TurretComponent.OnShoot handle setting the velocity
HandleConfigs
Tweak how properties appear in node creation menu
Fixed getting relevant nodes for signals
WIP property panel in action graph editor
Constant node drawing tweaks
Small action graph editor fixes
Error list panel
https://files.facepunch.com/ziks/2023-10-12/sbox-dev_75o6iDzzHZ.png
Fix error when clearing links
Stack trace integration for exceptions thrown by action jigs
Field get / set, sort nodes better
Instance method nodes
Type selection drop down
Fleshed out type selector, now checks constraints
Pure attribute for some things that should be expression nodes
Comment nodes
Node display tweaks
Icon fixes
Rerouting and other fixes
Error list title fix
Action link pulsing in editor
Jig -> Graph
Editor.ActionGraphs -> Editor.ActionGraph
To match Editor.ShaderGraph
Start on undo / redo
ActionGraphComponent
OnUpdate, OnTouch action components
Football demo using action graph
Enum constant node fixes
Action component tweaks
ColliderBaseComponent was renamed to Collider
Copy / pasting nodes
Rework comment and reroute nodes in action graph
Make comment node inspection work like ShaderGraph
Comment nodes are listed separately
Basic variable selector / creation
Rework how variables are added
Fix suggested variable nodes when dragging from an output
On node deletion, remove unreferenced variables
Show variable type in add node context menu
Some fixes after updating Facepunch.ActionGraphs
Graph nodes
WIP Create Custom Node in context menu
Fixed removing UI elements after creating a custom node
Fix up old example action graphs
Fix node positions in new custom graphs
Fixed missing connections on creating custom nodes
Support for renaming inputs / outputs of custom nodes
Update UI of custom nodes if their definition changes
ActionGraph: Better support for methods with lots of overloads
Fixed error involving Connection
Removed debug logging
Fixed jumpscare when opening "Other" in the type selection menu
Static method calls are now distinct from instance method calls
Added ToString nodes
TODO: when Object is in TypeLibrary, this will be obsolete
Clean up ActionControlWidget
Can get rid of ToString node hack
WIP setting const values for node inputs in the editor
Fix action graph component override method signatures
If graph has an icon, use it in ActionControlWidget
WIP show const values for inputs on the node UI
Fixed searching type hierarchy for accessible members
Filter instance methods a bit
Hide indexer properties from ActionGraph for now
Fixed some action graphs
Don't list ignored members when creating nodes
Test out action graph include / ignore attributes
Sort members properties first, then methods (Facepunch/sbox#1360)
Node menu category icons, reordering
Fix OnTouchComponent after rebase
Make getting / adding components simpler in ActionGraph
Render the main camera if we're not in play mode (not sure about this yet)
Get lowest priority camera for player controller (so we're not trying to control the viewmodel camera)
Update cameras.scene
Update to not use camera.Enabled
Add viewmodel camera test scene
Multiple scene cameras test (wip)
Mesh editor & movement test scene
Add Scene.GetSystem<T>
Fix opening all menus as modal
Add BaseComponent.OnDirty, [MakeDirty] property attribute
Add GameObjectSystem.ITraceProvider
Remove CameraPhysicsDebug from menu camera 🤦
Hitbox components, Hitbox System
PlayerController faces the direction of the camera when spawning
CameraPhysicsDebug does its traces in a thread
Add AnimationHelper.WithWishVelocity to example playercontroller
icons + fixed bug with loading them
couple more brushes
This should use images from content path now
Clamp min height on paint
Messy-ish start to editable saveable terrain
Terrain collider but commented out cos master doesn't have it yet
Rename loads of shit, TerrainData not a resource (we can decide later), add back create menu option (I coded it but this could easily be a prefab template too if we don't save terrain as a resource)
Don't cast shadows from terrain, it looks dog shit
Json seems to give a fuck that these are private setters
High precision lighting offset
Use new Depth helper class
CPU Bilinear interpolation for sampling terrain height
Move terrain editing to editor code
some toolvis sceneview options, messy
latest component changes
brush update
splat shit painting
Add Scene.Trace, HitboxGroup (heaby work in progress)
Fix components not getting unregistered on destroy
Node menu category icons, reordering
Sort members properties first, then methods (Facepunch/sbox#1360)
NodePropertyAttribute -> ActionGraphPropertyAttribute
Don't list ignored members when creating nodes
Test out action graph include / ignore attributes
Rename SceneHook to GameObjectSystem
correct path for box sound component
Sound Box component + scene
box shape in soundscape scene
Rename SoundListenerComponent to AudioListener
Sound.Listener defaults to camera position
Soundscape component
Hide indexer properties from ActionGraph for now