13,872 Commits over 1,552 Days - 0.37cph!
Fix New Project button in Editor Launcher
Only call ServiceWorldRequests if map was loaded
Prompt before closing scene/prefab tab with unsaved changes
Make sure Top 2D view isn't flipped 180deg
(Makes everything face upright at default rotation, perfect for 2D games)
VR: Get skeletal data from OpenXR
VR: Match controller positions with SteamVR ones, which better represent where the controller is
VR Input cleanup
Update Facepunch.XR to d7212d3, fixes broken digital actions
Remove unused from filesystem
IWorldReference doesn't need to be ref counted
Unmount vpk on map unload properly
Call ServiceWorldRequests to finish destroying map instance, create HammerSession
Only serialize NetworkMode, NetworkInterpolation, NetworkOrphaned and OwnerTransfer in GameObject.Serialize if they are not their default values
Fixed static Authority RPC checking permissions against the wrong attribute and messages should be sent to the host and not broadcast
Check index is >= 0 or <= Count when using ObservableCollection<T>.Insert in NetList - otherwise use Add instead
Added ResourceLibrary.GetAll<T>. Resolves Facepunch/sbox-issues#4749
Inspector Advanced Network Settings (#1617)
* Start adding support to edit Network Orphaned and Owner Transfer options in Inspector (visible when Network Mode is set to Object) https://files.facepunch.com/conna/1b0311b1/sbox-dev_I7Fk7tfs6K.png
* Make sure NetworkOrphaned and OwnerTransfer modes get serialized / deserialized
* Move over to setting NetworkOrphaned/OwnerTransfer on the GameObject directly (with multi-select)
* Move out to its own widget - this is gonna be a button that drops down for advanced network settings
* Adv network settings button next to Network Mode in inspector - opens drop down menu to set net orphaned mode / owner transfer mode
* Store current val outside scope
* Modify style
* Add RadioSelect widget for use with advanced network settings as it makes sense ( https://files.facepunch.com/conna/1b0911b1/sbox-dev_Ej9Kk8WU3y.mp4 )
* Disable the option to open the menu if NetworkMode is not Object - no point allowing to change these settings for objects that arent networked
Remove old templates
Map template
Asset browser state is saved per project
Fix Map Instance selector not replacing .vmap with .vpk
Remove unused worldrendermgr stuff
Better VPK loading, find physworld etc properly
Add option for discarding scene changes and load its saved state, resolves Facepunch/sbox-issues#5085
https://files.facepunch.com/devultj/1b0911b1/sbox-dev_VFwF4r2Fku.mp4
Add Vector3.Direction, closes Facepunch/sbox-issues#5026
Mesh implements IValid (already has IsValid property), closes Facepunch/sbox-issues#4170
Can [Property] GameResource properties to have them serialize, resolves Facepunch/sbox-issues#2925 (worth noting you could use [JsonInclude] for this already)
Add fullscreen on play editor preference, closes #1476
https://files.facepunch.com/devultj/1b0911b1/sbox-dev_xrv7uAqbh4.mp4
Use existing asset name as the baseline when using asset browser rename flyout
Add rename shortcut to asset browser
Fixed SwitchControl styling
Add test asserting no ActionGraphs have errors in a given scene
Fix loading custom cursors and tga, psd textures in non editor games
Serialize prefab vars with expected type
Add Json.ToNode overload with expected type
* We're deserializing with an expected type already
* We can start phasing out JsonConverterFactorys, just use JsonConverter<T>s
* Can actually use [JsonDerivedType] etc
Let anyone serialize / deserialize System.Type
* We already had this in Facepunch.ActionGraphs, add it to Sandox.Json
* Looks up types through TypeLibrary
* Works with array types / generic types / nested types
* Fixes Facepunch/sbox-issues#5762
Allow dedicated sever to load maps
Update steam libs
Lets store the appid in one place, so it's easier to change for standalone exports
Init SteamGameServer for dedicated server when starting a game
Revert "Add json type converter safely through TypeLibrary"
This reverts commit 620f60624d3f32ac8686a2add19159a0b42fa25f.
Add "game" concommand, to load a game
Add a bunch of Application.IsHeadless
Startup help
Fix warning
Dedicated server starts up properly
▌█ ▍▋▋ ▊▅██ ▌▅▌ ▇▆▍▆▅▄ ▊▊▉▇▆▌
▇▅▆▉ ▆▋▊▍▇██▄▊▋ ▆▊▋█▊▆ █▅▄▉▅█▋▆▌▌█▇▅▊▉▆▋
Remove ProjectConfig.Tags
Add Package.UpdateValue( key, val )
Add debounce to Package.UpdateValue
Add SerializedProperty.Create()
Can edit some asset properties inline
Remove step results from physics interface, no longer used
Make BaseDropObject public so it's accessible to editor tools
Add BytePack handlers for Vector2Int, Vector3Int
Add json type converter safely through TypeLibrary
Remove unused convar refs
Disable launcher maximize button
LineEdit for creating new actions instead of having to edit the action afterwards
https://files.facepunch.com/tony/1b0411b1/sbox-dev_duZ3bhoZdb.png
When adding an input action, add it to the final group, not "Other", less annoying
Fix Depth::GetWorldPosition dividing by zero on skyboxes, pass epsilon to it
use Depth::GetWorldPosition on Motion Blur, fix darkening/overbrightening of it based on sample count
Don't try to compile shaders that have missing source files
Add ListControlWidget handle context menu with duplicate option
Reverse Z (#1581)
Every other modern engine uses a reversed depth buffer,
Unity DX11+
UE4+
Godot
It brings a massive improvement to depth buffer precision helping to prevent z-fighting and other depth precision issues.
Source 2 has always had support for it but was not forced because of DX9.
We should have turned this on long ago and will have to rip the band aid off at some point. It will break peoples custom shaders.
The other ways their shaders would break that I'm unsure if we could provide compatability are rare:
Interact with the depth buffer directly or through Depth::Get etc.
Perform operations in clip space like gizmo_grid.shader does.
I don't see why we'd ever change clip space direction again after this.
Add binds we'll need for sceneobject serialization
Bind light desc so we can create a light directly from desc
Make sure any scene light properties ask native for their value so they can never go out of sync
Preview animgraph parameters on model preview https://files.facepunch.com/layla/1b0311b1/sbox-dev_orVYPmENxI.mp4