14,019 Commits over 1,583 Days - 0.37cph!
Don't call Asset.Compile in parallel 🤦
Don't enable network GameObjects that are not enabled
Close context menu on line edit submit
Get rid of legacy code paths in DefaultUpgrader
When adding a collider, update the rigidbody's gameobject transform immediately to avoid offsets
Formalize how Rigidbody attaches colliders, add tests
Deserialize GameObjects as disabled, and enable when all children and components are created
Tweak editor painting to avoid crash
Lauinching
Network Authority / Permissions (#1457)
* Can a connection create objects?
* Send network destroy even if DestroyImmediate is called
* Ownership authority flags
* Let GameObject have [Sync] too (test)
* Reorder enum, add [Expose]
* Change up logic for can create objects - only check if we have a source
* Default CanCreateObjects to true for now (this is current behavior)
* Initial implementatior for ownership authority
* Use NetworkAccessor for changing ownership authority. (Temp? Depending on review) don't use TL for set prop for Sync Vars
* Initial implementation of Rpc authority
* Remove a test log
* CodeGen static array for attributes on a CodeGenerator method/prop now marked as [SkipHotload] and readonly, so they do update when changed
* Make it CanSpawnObjects
* CanSpawnObjects settable only by the host
* Some renaming. Set OwnerTransfer direct on GameObject instead of method on NetworkAccessor
* Make sure CanSpawnObjects is synchronized to clients when set from host via ConnectionInfo
* Default CanSpawnObjects to true for now
* When OwnerTransfer is Request, make actual requests to the host for Drop/Assign/Take ownership and if host approves, then host will send the messages to everyone to take that action. Each message will then validate if was received from host
* Remove this for now, sus is later
* CanSpawnObjects is always true for the host. Early out in NetworkSpawn if local connection can't spawn objects - why bother trying at all?
* NetworkAccessor.SetOwnerTransfer method
* Documentation fixes
* Rename Rpc.HasAuthority to Rpc.HasPermission for consistency
* Owner can always drop ownership
* Allow owner transfer changing from current owner
Set saved gizmo settings way earlier, protect against stomping the settings instance
Fixes sbox-issues/issues/4888
Add support for CSS `font-smooth`
https://files.facepunch.com/alexguthrie/1b2011b1/sbox-dev_oYg0ytkmSm.png
Fix MultiSerializedObject propagating OnPropertyChanged
Facepunch/sbox-issues#4885
Call GameResource.PostReload() after saving to disk
Clears cached scene in PrefabFile
Facepunch/sbox-issues#4885
Don't just use ClassName to serialize types in ActionGraph
Fixed Facepunch/sbox-issues#4869
"Reset to Default" in the editor will look for DefaultValueAttribute, then get proper instance default intead of just bailing
Hash view ID to FindOrCreateFrameBufferScratchTexture as well to solve collision when we have multiple views with same resolution, eg with splitscreen
Fix dynamic reflections and AO in viewported views
Add compiled shaders for viewport shading fixes
Texture barriers for SSR in multiple viewports
Fix component weirdness when cloning disabled objects
Add isolated CallbackBatch, use it when cloning. Fixes instances when cloning in OnEnabled etc would cause weirdness
Implement calc for CSS, make it so that dynamic units (vw/vh/expressions/etc.) all update correctly
https://files.facepunch.com/alexguthrie/1b1911b1/sbox-dev_ADiqfZ9hI2.png
For sbox/issues/421, sbox-issues/issues/4753, sbox-issues/issues/723
Launcher: creating a new project uses Ident as the folder name instead of Title
Add some standard map entity definitions that we have loaders for: prop_physics, prop_animated, env_sky, env_gradient_fog, snd_event_*,
I hate this double launch solution
Rename launcher project
Lock project row button when launching
Context menu text entry cleanup, can edit graph inputs / outputs again
Protect against 0 width/height video modes and assert
CHostedWidget::SizeToParent() don't change the video mode if height() is 0
Some PredictBestType fixes for operators
Fixed legacy Get Game Object node appearing in node list again
Some local instance node grouping cleanup
https://files.facepunch.com/ziks/2024-02-19/O0b83KRmbo.png
Early error when trying to open an invalid project
Forgot to force add this dll
Launcher only launches a single instance of each project
Create runtime buffers for dynamically created meshes so they can create trace data, allows them to be scene traced
Forward command line between sbox-dev and sbox-launch
Early out of CreateToolsTriangleList when there's no runtime buffers but also assert because ideally this should happen
CMapAssetType::CalculateDependencies suppress pointless upconversion of vmaps so we don't spend 30+ seconds doing so on initial load
Fix launcher layout to stop people obsessing
Silently ignore delete error when removing unknown cloud file
Fix NRE when setting convar
Fixed file not found when reading asset json
If a model has no meshes, show error model instead
Fix text cannot be empty exception in Graphic.Draw
Assert on AssetType not null
Show stall source to everyone
ProjectList own file
Run Asset.UpdateInternals() in parallel, empty project initial scan goes from 770ms -> 200ms
Don't scan project filesystem twice
Fixed StructArrayConverter.BlockCopy
Fixes Facepunch/sbox-issues#4794
Fix double clicking sbproj not opening it
Fix right click unsaved scene error
Add TaskSource.FromCanceled & TaskSource.FromException (fixes sbox-issues/issues/4807)
Whitelist some Task properties
Whitelist OperationCanceledException (fixes sbox-issues/issues/4806)
Don't focus on nothing (fixes sbox-issues/issues/4828)
Escape deselects all (fixes sbox-issues/issues/4829)
Add right click menu in game list
Fix DamageInfo breaking changes
Fixed #1459
https://files.facepunch.com/ziks/2024-02-16/sbox-dev_PgVOUJbZm0.mp4
Update Facepunch.ActionGraphs
Fixed pulses not always animating
Fix expression node regression in legacy GetGameObjectNodeDefinition
Hide the settings option in the launcher to stop people obsessing over it
Fix exceptions in NavMeshToolbarWidget
Revert "Update a bunch of assets from kv to json"
This reverts commit bd0bfe1240a001e9a121f099e20edb4cfffe5f2c.
Upgrade those assets properly
Fix conversion from keyvalue to json asset being fucked
Make RPC errors more useful
Fix project changes not saving
Let sbox-dev.exe -test pass through
Fixed ActionGraphResource
Init frustum as ortho when using ortho, fixes PointToScreenPixels. Obsolete OrthoWidth
Remove broken (deleted) projects from the ProjectList
Fix hotloading action graphs