13,183 Commits over 1,522 Days - 0.36cph!
Fix NRE on Scene.DebugSceneWorld, can happen when switching from play mode
Legacy particles with collision use physics traces instead of mesh traces, (should) be faster and work on terrain https://files.facepunch.com/layla/1b1211b1/sbox-dev_ZaiiI5fZ10.mp4
Scenes free their SceneWorld/PhysicsWorld/GizmoInstance on close/destroy/finalize
When calling NetworkSpawn we break from prefabs in all of our ancestors ( Fixes Facepunch/sbox-issues#5046 )
Clean GetPrefabScene - actually load the prefab scene if not loaded (although I feel like this would already be doing that if it should be doing it)
Add TypeDescription.GetValue, SetValue - handles both properties and fields for QOL
TextDialog cleanup
ControlSheet.AddRow just creates a ControlWidgetRow (single path)
Move ComponentSheetHeader to its own file
Now GameObjectTransformControl uses the new path, we don't need to manually align margins
MakeIdGuidsUnique returns a translation dictionary
Store prefab guid to instance guid translation table on prefab instance root GameObject
Add EditorUtility.Prefabs.CreateAsset, obsolete GameObject.GetAsPrefab
Add CloneConfig.PrefabVariables
Add PrefabFile.VariableList
Simplify prefab instance lookup object by id
Add PrefabScene.VariableCollection
Prefab variables end to end
Show variable names when inspecting prefab
Prefab variables widget, editing, grouping, deleting
Fix ControlSheet stretching horizontally
Store variables in the prefab's RootObject, makes most sense
Variable star opens a menu instead
PrefabVariable UI https://files.facepunch.com/garry/83829991-476d-4934-ad39-099fc0f7ce6d.png
Fix prefab changes not updating after save
UI tweaks
Remove Scene.Save - way too confusing
Merge pull request #1603 from Facepunch/prefab-variables
Prefab Variables
Add Additive (Model Space) blend mode to aim matrix blend node https://files.facepunch.com/layla/1b1111b1/sbox-dev_GcsQxAEM2k.mp4
Delete choreoobjects and scenefilecache
Update test animgraph for model-space additives
Citizen: add model-space versions of additive idle aim matrices
Add "Find in Asset Browser" context menu item to resource/asset widgets
Focus the current value in asset pickers
Citizen/animgraph: first pass at making the locomotion lean layer based on model-space additives + lowered default eyelid pose by 10 degrees
Citizen/animgraph: improved scale_height parameter (see commit comments)
• tweaked input poses, especially the tall one (5% less legs, 5% more torso & arms)
• tweaked stride scaling: from 0,1,2 to -1,1,3 (this lets short characters cover much more ground, and helps prevent IK pops on tall characters)
• added a new weighted constraint to the procedural neck_clothing bone so that it won't flip anymore on extremely short characters (with e.g. jumpsuit outfit)
• scaling your height is now bouncy because it looks fun: https://files.facepunch.com/maxlebled/1b1111b1/sbox-dev_2024-06-11_11-58-31.mp4
Add SubtractModelSpace to ModelAnimUtils, use it for AnimSubtractModelSpace
Add AnimSubtractModelSpace modeldoc node
Fix modelspace blending in SubtractPoses and AddPoses https://files.facepunch.com/layla/1b1111b1/sbox-dev_zpJENXQ2mT.mp4
Animgraph: Add modelspace blending support to Add and Subtract nodes https://files.facepunch.com/layla/1b1011b1/sbox-dev_DkWD1KYUFD.mp4
Context menu UI to add / remove inputs / outputs
Fixes Facepunch/sbox-issues#5625
Add Priority to CodeGeneratorAttribute - allows you to specify priority. Higher priority means the target method/property is wrapped first.
Fixed scene selection not updating when switching active scene
Scene tab fixes
- Fix scene tabs being invisible when restoring layout
- Save/restore scene tab position in window state
- Place new scene tabs with existing scene tab when possible
Example graph for model-space additive blending implementation
FPArms: new shared sprint in/out additive transitions
Add rib select to edge selection
Start splitting up half edge code to make it easier to maintain
Make C# hotspot editor a editor app, delete native version
Also only show push to talk input in push to talk activate mode
VoiceComponent.PushToTalkInput mark with InputAction attribute
Fix physics not using the correct per triangle (cell) surface for terrain https://files.facepunch.com/layla/1b0811b1/sbox-dev_KC7RvG3czd.mp4
Use solver hit normal when casting against heightfields, fixes player movement snagging on terrain
Ensure 4 surfaces are always set on terrain collision shape
Make sure GetTriangleMaterial doesn't index outside of materials array
Calculate dominant control map indices to use for per triangle surface indices
Set terrain collision surfaces to storage material surfaces
Allow shape surfaces to include null surfaces
Don't think we need this anymore, fixes NRE when trying to fullscreen game/scene viewports
Don't box select while trying to use orbit camera controls
Fixed ability to create an infinite destroy loop in QObject
ToolWindowManager: don't delete a window if we're removing it as a result of it being deleted
Add TypeLibrary.Create<T> that accepts args
Add GizmoInstance.Clear
Add DockManager.RaiseDock( Widget )
Move ShowCloseDialog to SceneEditorSession (it makes no sense on GameEditorSession)
EditorMainWindow exists during startup, but made visible after startup
Add Scene.Editor.FrameTo (replaces hacky "scene.frame" event) that doesn't work with multiple active scene sessions)
Make SceneEditorSession.Tick a member
Make SceneEditorSession .UpdateEditorTitle non static
Create a SceneDock for each open scene
Give playing scene tab a proper name
Add SceneEditorSession.BringToFront()
Don't try to save tool widget windows that have no name
Hide GameEditorSession + PrefabEditorSession , (its confusing people), refactor, document
Clean SceneViewWidget a bit
Use a different icon for prefab scenes
New Outfit Piece(s) - Gasmask and War Helmet!
Army Outfit bits for citizen
https://files.facepunch.com/daniel/1b0711b1/sbox-dev_betGBfBGKO.jpg
LODs coming next.
Check valid scene in SceneNetworkSystem message handlers
Fix possible NRE's in SetVelocityFromRendererBones
Add Gizmo.CursorMoveDelta , CursorDragDelta
If we move the mouse while pressing a GameObject, clear it as pressed
Move ObjectEditorTool to its own folder, to highlight that it's self contained
Feed ToolManager to current SceneCamera when updating
GameObject.GetBounds() returns a 1x1x1 square on the transform if no ModelRenderer's are found
Add Gizmo.Draw.ScreenRect
Cache ControlWidget type lookup
Add GameObject.HasGimzoHandle (this is gonna change at some point)
Get rid of this EntityPrefabEditor namespace
Add Rect.FromPoints
Add Frustum.FromCorners
Add SceneCamera.GetFrustum( rect )
Refactor Gizmo.Pressed
Move object selection to EditorTool
Remove Scene.HasUnsavedChanges
Clear scene's unsaved changes when clearing from editor session
Support collision on terrain component https://files.facepunch.com/layla/1b0711b1/sbox-dev_o1zZIhIEEB.jpg
TextRenderer remove Text2 test property
Range check bone gizmos, don't need to render ones far away
FPArms: added shared ironsights animations
Add connect operation to vertex selection https://files.facepunch.com/layla/1b0711b1/sbox-dev_k94KMmxHkm.mp4
Don't interpolate when setting local transform within fixed update if the GameObject isn't enabled. Fixes trying to interpolate to initial position when cloning GameObjects in fixed update, but really we need a way to say "was the game object created this frame" and if it was then don't interpolate.