242,855 Commits over 3,867 Days - 2.62cph!
Increase delay when equipping clothing from hotbar from 0.2s -> 1.5s (to account for items actually swapping slots now)
Fix swapping items from inventory -> worn moving to the next free slot instead of swapping the items exactly
Native resource Load methods should only be called from main thread, the resourcesystem has no idea what to do with a blocking load on a thread and will just crash
Rework how we get workshop subscriptions
TODO: This modifies the subscribe date sorting in-game!
This system should be faster and guarantees no duplicates if Steam decides to change ordering of subscriptions mid-game while we are getting them.
Restore and fix code to count published file upvotes
Performance improvements for clientside file.Exists/IsDir and Lua paths
Fixed AI node related crashes, probably
Added server settings to Sandbox menu bar
Making them more visible to the average player
Disable ability to grab jeeps with super grav gun
Do not use deprecated functions in menu bar
Do not run player anims to completion on model change
Fix multiple box-shadow parsing (oops)
UI box / shadow / filter shader recompile
Added server settings to Sandbox menu bar
Making them more visible to the average player
Disable ability to grab jeeps with super grav gun
Do not use deprecated functions in menu bar
Do not run player anims to completion on model change
CSS box-shadow inset implementation
https://files.facepunch.com/alexguthrie/1b2311b1/sbox_QVsBt34bNx.png
sbox-issues/issues/3649
Merge from main -> backpacks
Fixed AI node related crashes, probably
Fix possible division by zero in layout when scale is zero
Fixed backpacks not facing player when they are dropped
Fix UIEffect on CoverImage
Revert import size of large backpack from 85% -> 100% as the skinned mesh is fixed properly
Rotate large backpack world model to standing upright instead of laying on the ground (also modify buoyancy points to match new rotation)
Increase collider size of large backpack to prevent it tipping over when dropped on flat ground
Decrease collider size of small backpack to match the new model
Basic support for custom C# nodes
Added force option to ActionGraph.Validate
Each SceneMap has a unique SpawnGroupHandle, fixes crashes with multiple map instances (including 3d skyboxes) in scenes
Added animations to vendor listings
Added Rohans fixes for Flex Element NaNs
Fix cover image sizing weirdness
Restore and fix code to count published file upvotes
Performance improvements for clientside file.Exists/IsDir and Lua paths
Fixed AI node related crashes, probably
Merge large backpack smaller scale -> backpacks
Fix right clicking item from inside a backpack on the ground not going into your worn backpack when it is open
Fix player model blocking certain inventory slots & having glow overlay when hovering over player model when backpack is open
Improve trash spawner
Conveyor mover
Fixed right clicking empty backpack inside a backpack trying to wear it instead of moving it into your main inventory
Add Rohans custom script to imagery on store item
Get rid of INodeAttribute.Kind
Appear to have fixed NRE when wearing backpack while another backpack is equipped
Look for INodeAttribute instead of NodeAttribute
Fix Graphics.MipmapGen trying to generate one out of bounds mip
Add a CoverImage component
set sewer branch to skip HLOD by default
SubContext support on RenderContext (#1441)
* 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.
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
Facepunch.ActionGraph API changes
Fixed race condition in Tools/CodeGen
Updated Facepunch.ActionGraphs
Don't list GameObjectActionComponent in action graph menus
Fix variable default values in BindingSurface.FromNode