20,764 Commits over 1,522 Days - 0.57cph!
Fix connection preview vanishing when dragging to a new node
Update PackageDto.cs
CreateLobby will refuse to create a lobby if we already have a network system
Add ISceneStartup event (https://docs.facepunch.com/s/sbox-dev/doc/iscenestartup-UaHEQHresW)
Add command line switch for opening a game on startup (currently opens the game modal)
Fix Facepunch/sbox-issues#6514
Fix OnValidate not being called on property change in editor
Razor @namespace doesn't want a trailing semicolon
Max 15 tags
Simplify list drawing code a bit, display author in cloud view
Make chips widget shorter
Fix Facet icons
DropDown widget
Tweak AssetList icon sizing
Display facets next to tags - not a huge fan of this, seems overly compliated
https://files.facepunch.com/alexguthrie/1b2611b1/sbox-dev_LSGvHQMFEE.png
When selecting a map auto select the ParentPackage game, if set. Default to Walker if not.
Remove old "launcher", add map select to gamemodal
Make package selector acceptable
Fix ComponentSheet filtering out methods
Mark unsaved changes for all scene edits again
Add File > Close Project shortcut to quit and return to launcher
Put expression node plugs in header if only one input / output
https://files.facepunch.com/ziks/2024-09-26/sbox-dev_lYhXT4ah9M.png
Prioritize FbxNode name over FbxMesh name for modeldoc mesh names - If you needed it to be the other way, blame the guy that wants it this way
Get rid of log
Node plug labels match header text colour
https://files.facepunch.com/ziks/2024-09-26/sbox-dev_EFyQuHEEXj.png
Don't need to bother getting parameterless function if we're not going to use it
Tweak graph editor grid size
https://files.facepunch.com/ziks/2024-09-26/sbox-dev_OTHe5wmoKA.mp4
Allow [Change] attribute to have parameterless callback, parameter version takes priority
Let's not have 2 KeyBind razor components, use same styling as settings for BindModal, fixes not being able to bind properly
Fixes Facepunch/sbox-issues#6421
Only show collider Trigger actions if enabled
Add ActionsComponent to replace Component.OnComponentUpdate etc
Hide Component Actions in inspector (right click header to get them back), show Actions with other properties
Add ISceneEditorSession.AddUndo
Component.Serialize ignores ComponentFlags.NotSaved when cloning
Undo system serializes game objects with cloning enabled
Use PackageManager to LoadAllGameResource from active packages instead of explicitly calling it everytime we need to after Package.MountAsync()
Fixes Facepunch/sbox-issues#6206
Include root namespace when creating new razor component
Fix error in OnChangePropertySet if the new value is null
Change most Menus to use ContextMenu so they get deleted when closed, instead of hanging around invisibly forever
Don't save game sessions when editing action graphs
EditorScene.OpenScene: don't use game sessions
Update Facepunch.ActionGraphs
Fix Menu.AboutToShow not getting called unless opening as a modal
Tweak node/actiongraph design
RenderTarget.From throws an exception if the passed textures were not created as render targets. This then fixes crashes when you're trying to use these invalid RenderTargets.
Fixes Facepunch/sbox-issues#6463
Avoid cyclic library references when publishing libraries
Fixes Facepunch/sbox-issues#6414
Fixes Facepunch/sbox-issues#6410
Can drag drop cloud prefabs into the scene
MeshComponent updates meshsystem & sceneobject flags when setting a new model, this is usually automatic but it's a semi-procedural workflow
Wrap CallbackBatch exceptions so we know where they're being called from
Explicitly load the steamapi64 dll from the bin folder
Fix menu music NRE
Make Web.DownloadFile a bit more resiliant
Fix NRE in Component.Loading
Fix NRE in TrailRenderer
Fix error reporter not reporting some package errors
Human/citizen: more "prefabization" & poor man's RBF backport to Citizen
TreeView nodes do not call OnItemActivate when double clicking the expand/collapse button
Fixes Facepunch/sbox-issues#6487
Add ReadAsPropertyName/WriteAsPropertyName to all Vector2/3/4/Int JsonConverters. This means Vectors will be serialized properly when used as Keys in a Dictionary.
Try / catch around new node types in FindAllReflectionNodeTypes
Update existing refs in GameResources when updating package
Normal GameResource processor uses versioned idents too
Consistently sort reference lists alphabetically so diffs aren't so mental to read
Only update references inside project assets folder
Avoid walking into a LoadResource exception, we don't really care that much
Differentiate between persistent and preview contexts when fetching cloud assets, only update references for persistent installs
Show remote/latest version info, incl version id, in PackagePopup
GameObject.Deserialize removes existing components not included in serialization when in editor
Disable components when breaking apart a disabled prop. Don't recreate prop components when changing tint etc, only model change needs to
Fix action graph node list not showing new members after hotload
Allow creating instances of simple user types in action graph
```csharp
public record ExampleRecord( int Foo, string Bar );
```
https://files.facepunch.com/ziks/2024-09-25/sbox-dev_PyZRMaMzAu.png
sbox.game browser -> cloud browser
Fix chips height based on whether there are / aren't any
Cloud list view
https://files.facepunch.com/alexguthrie/1b2511b1/sbox-dev_PP05UtzRQT.png
TextRenderer exposes BlendMode
Fixed ScreenPanel not keeping screen dpi in bind when scaling down
It's fine to call NetworkSpawn multiple times, just ignore it
Wrap GameObjectSystem's init in a Scene.Push
Cloud chips
Fixes
Accumulate tags
https://files.facepunch.com/alexguthrie/1b2511b1/sbox-dev_a9UaWWMIeH.mp4
Remove cloud from asset locations
Use EditorTypeLibrary for Hammer PrimitiveBuilders (bonus: you can define these in your own editor libraries too)
Fixes Facepunch/sbox-issues#6499
Humans: added a "poor man's RBF" constraint setup which pushes out elbow & kneecap helpers outwards a bit as arms/legs rotate, which helps volume preservation
Add JsonObject.GetPropertyValue
Fix errors
Fix exception when creating new scene
MapInstance - load resources from loading instance
MapInstance - allow loading scenes as maps
Publish scenes as maps
When publishing a map, try to set ParentPackage
Add Flag.WithFlag( Flag, bool )
Add GameObjectFlags.EditorOnly
Make map preview less annoying