5,132 Commits over 1,552 Days - 0.14cph!
CManagedSceneObject main thread is optional
Remove mainthread enforcement from "safe" internal managed sceneobjects
Make grabbedTextures a thread static
ParticleSpriteRenderer builds verts in render thread
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)
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
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
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
Package.Type.Gamemode becomes Package.Type.Game
Can publish any asset, scene + prefab previewers
Published assets can optionally include source files
Add algorithmVersion to vtex crc if GGXCubeMapBlur
Increment sky shader version, forces material rebuild, which forces a texture rebuild
DynamicSceneObject can take vertex span instead of one at a time
Process particles in a GameSystem, all at the same time, to benefit from multithreading
Fix Component being decorated with IUpdateSubscriber, IFixedUpdateSubscriber (making it useless)
Don't do MakeNameUnique() if we have > 100 siblings, don't always create a hashset
Lets cache TypeLibrary.GetTypes( t ) - and invalidate when things change - this significantly improves TypeLibrary performance
Completely remove the locking from Performance.Scope
Benchmark fullscreen is borderless
Optimize performance scope to not lock, not create
Use custom implementation of .HasFlag for mostly unnessecary optimization ( .Contains() )
Micro optimization, use RenderAttributes.SetComboEnum<T> instead of SetCombo (avoid boxing)
Avoid creating a Func when getting friend state
avoid creating an array when iterating CircularBuffer
Fix player count in GameLobbyGroup
Fix warnings
This stops the creation of boxed steamids, somehow
Scene.RunTrace optimization (test)
Add Diagnostics.Allocations
Temporary allocations dock
Send allocation info with benchmarks
Force render settings for benchmark
Actually save the project list when adding a project to it
Add OnParticleDestroy, OnParticleCreate properties for actiongraph
https://files.facepunch.com/garry/6ee12c48-30bf-40f9-a246-301d48cd61a2.mp4
Don't think ControlWidget if it's not visible
Add Style.HasBorder
ComponentEditorWidget default size mode
Margin.GetEdges optimizationj
Add Paint.SetFont, Paint.Rect (from Styles)
Add EditorUtility.Projects.ResolveCompiler( assembly )
TabWidget has a no text mode, icons only
Add experimental StyleWidget
Add custom inspector for Particle Effect
Moved asset.party to sbox.game
Update to steam sdk 1.60
Make game focus when playing in editor consistent, instead of having to click on it sometimes
Push scene scope when setting up camera, fixes sbox-issues/issues/5730
GameObjectFlags.DontDestroyOnLoad works
Session hash is a guid
Benchmark service
Remove debug
Benchmark api input
SkinnedModelRenderer - add string based bone getters
Fix GetPlayerStats caching wrong
LocalFileSystem cleanup
Add Application.HoveredWidget
Hide EngineOverlay if the game isn't visible
Fix SceneViewport hasmouseinput logic
Add Transform.ForwardRay
Fix editor not finding resources in libraries
Add GameObject.Clone( prefabPath )
Add copy/paste by right clicking property labels
Can set animgraph bool params using numbers
GameEditorSession stores the session that spawned it
Add SceneEditorSession.Resolve, GetParentSession
Can right click properties in game session and apply their tweaked values to editor session
Increase/Decrease grid size shortcuts were the wrong way around
Add grid axis selection in perspective viewport
Shutdown Tools properly on launcher exit
Add Close On Launch option to launcher
fix debug compile
Simplify how RecentScenes works
Load editor MRU and tags after all assets have been imported
Move Scene.Save to EditorSession.Save, update scene name/path on saveas, record asset as opened
Loading a prefab in editor loads the cloud assets
Fix NRE when setting border size to a %
Yoga3
* Latest version (fixes, additions)
* No longer relies on thirdparty facebook.yoga.dll
* Uses our interop system (faster)
* Much cleaner implementation
Remove yoga from vpc groups
Update to yoga 3, embed in engine
vpc fixes
Remove Facebook.Yoga
Convert style setters
Bug fixes
Add tests
It's important to yoga to be fp:precise because it uses nan
Measure functions
Restore to previous defaults
Fix package card style (now position: absolute is fixed)
Consolidate enums
Support for `align-content: space-evenly`
Consolidate enums
Support for `align-content: space-evenly`
Measure functions
Restore to previous defaults
Fix package card style (now position: absolute is fixed)