13,182 Commits over 1,522 Days - 0.36cph!
CManagedSceneObject main thread is optional
Remove mainthread enforcement from "safe" internal managed sceneobjects
Make grabbedTextures a thread static
ParticleSpriteRenderer builds verts in render thread
Use CustomEditor for Transform, make presentation/ux consistent with components, add copy/paste world transform context menu options
Change project open file filter from ".sbproj" -> "*.sbproj" to find named project files
Byte Pack Convert - Networked GameObject, Component, GameResource References (#1618)
* Add add IBytePackConvert to a class to specify how it should be serialized/deserialized with BytePack (similar to IJsonConvert). Implement for GameObject.
* Add IBytePackConvert support to Component and GameResource
* We should be able to null these out
* Some comments on ConverterPacker to describe its use
* Let's move it out of Sandbox and call it BytePack.ISerializer - it won't be exposed to public API (for now?)
* Makes sense to rename to SerializerPacker so it matches ISerializer
* Explicit implementations of BytePackRead and BytePackWrite means we can have these non-public
* Add test for BytePack.ISerializer with MySerializedClass
* Some minor doc change
* Tidy
Don't serialize component [Property] variables if they have [JsonIgnore] attribute
Fix navmesh usage before initialized
Avoid some errors when closing
Load WorldRendererMgr in unit tests
For backwards compatibility, when loading a vpk look in the maps/ folder too
Allow map loading during tests
Remove warnings
PackageManagement test cleanup, make a bit more resiliant
Fix project templates (oops)
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