20,865 Commits over 1,522 Days - 0.57cph!
Fix not finding primary connection when not p2p
Add Networking.HostConnection
Fix map 3d skyboxes lifecycle by making them map components
Offset 3d skybox camera by skybox_reference position
Add Networking.Connections (list of connections)
Add Networking.IsHost
Assert that the connection isn't host when calling OnJoined during handshake
Cancel loading button leaves the game (fixes sbox-issues/issues/4523)
Add Rigidbody.ApplyTorque (fixes sbox-issues/issues/4544)
git-blame-ignore dotnet format commit
LineEdit: Enter key blurs the widget
Bounding box editor tool
Add ITerrainPaintTool for easily extensible terrain painting tools
Set the light transform on creation
Be able to get object from CodeGen wrapped prop/method
Setup attachments for bind pose animated objects, fixes incorrect attachment transforms on models not using animgraph
Simplify particle mode selection - with most likely presets
https://files.facepunch.com/garry/2a502906-36a8-42dc-a536-0fdb6d8c089f.png
Make mode change button less obtrusive on ParticleFloatControlWidget
https://files.facepunch.com/garry/2bf2ff16-38ac-478f-89f3-3fa89a7ffbcb.png
Draw indicator lines through range
Curve editor supports ranges
https://files.facepunch.com/garry/bd829663-f1a0-4db3-8aed-4ad8b3ec4388.png
Allow editing of multiple rects
Make handle resize less sucky
Allow rects to be loaded from json
Cleanup + Rect gizmo testing
Fix motion blur not working, simplify it, make it use the same reconstruction technique as in dynamic reflections, I still don't like it but this gives correctness to it
https://i.imgur.com/YkSiZXY.png
Delete CurveProperty.cs
Add CurveRange struct (between two curves)
Add Random.Float() (faster to get float between 0-1)
TypeLibrary allow access to Curve and CurveRange
ConstrainToScreen doesn't call AdjustSize()
Floating WidgetWindows don't need to constrain to screen
Curve Editor WidgetGallery
CurveControl tweaks
Add CurveRangeControlWidget
Make curve editor less obnoxious to look at
Add CurveRange option to particlefloats
Make value range work
Light components derive from a common base class
Called the wrong function
Fix game test not being in test mode
Don't try to init steam during unit tests (!)
Bootstrap more linearly
Fix unit tests
Remove unused
Bootstrap cleanup
More Bootstrap cleanup
Can expand any output with right-click
https://files.facepunch.com/ziks/1b1911b1/sbox-dev_27P2mGG33e.mp4
Expose ValueTuple, IList.Count, Array.Length to TypeLibrary
DisplayInfo: Get rid of backquote in generic names
Updated Facepunch.ActionGraph
Fixed expanded output hiding logic
gaussian_bloom_blur compiled material to fix bloom on dev builds
hunch satisfied, fuck steamworks
Upload to default branch (not staging)
Fix NRE
more NetworkTable unit tests
Lift restrictions on Sync var types (it'll error now instead of silently ignoring)
Add GameObject.NetworkSpawn, obsolete Network.Spawn (redirect)
Fix NRE
Split heartbeat message into ping and pong
Exception wrap INetworkListener calls
Move FriendsListModal
Map list right click menu
Fix NRE in ClothingContainer.Apply
Transition cards in
Remove unused
These updated after a full resource build
Package updates
Update packages
Fix loading screen not being interactive
Fix imprecise degrees <-> radians which was causing bad quat <-> euler
Rotation.Angles(): at singularities pitch should always be +-(π/2)
A few more tests around euler angles at singularities
Time out if we can't connect to a host when joining a lobby
Delete all vmat_c except a few required ones - should build correctly on CI since contentbuilder fixes
Registering textures here shouldn't be needed anymore
Layout and some functionality
Renames + new rect view
Translate view based on zoom factor
Focus point zooming
Apply factor to zoom
Grid toggle + size, Preview
Temp properties
Active Material window
Material Reference > Active Material
Scaling preview better
Center better
Do grid and material in a less stupid way
Clean up Active material panel
Short cuts for grid
better focusing
context menu
preview plane sized to material size
Open + GetDependants from rect
Align preview better
Control mode
Preview window
Less spaghetti on project initialization: only load user projects in editor mode, add & compile built-in first and only error then, remove dead code paths
ActionGraph: Automatically mark record properties as expanded
Update Facepunch.ActionGraphs
Add IRenderContext::GetSubContext() to get or create a sub context for a new thread, use it in managedsceneobject
Render contexts can never be passed between threads; they can only be used on the thread that created them. The thread index will be set in the constructor and can't change after that.
This causes a problem in our current implementation of SceneCustomObject that reuses the threaded render context on the main thread and expects we can add things,modify and render it from there, for D3D11 it is not a problem since the implementation or driver seems to have a mutex for command lists, but on Vulkan that gives validation errors and causes crashes.
Valve has the concept of Secondary RenderContexts but doesn't fit what we need
This implements the concept of SubThreads to RenderContext, a very simple way to pass the render context around and consume it in a timely manner, it creates a new render context with the same characteristics as the parent one in a new thread and submits it when the parent context is released
Remove pragma optimize off
Only override states if target layer wants it so, otherwise subcontext just uses the default rasterizer and depth stencil state, fixes worldpanels with depth test, pass attributes from rendercontext rather than layer