2,421 Commits over 1,338 Days - 0.08cph!
Add BBox Rotate and Transform because I'm always needing it
Create trace data for procedural meshes
Fix back of stairs primitive builder
Merge vertices in PolygonMesh
Dynamically created physics bodies set their game scene node handle to zero so tracing against them should return world as the entity
Add internal function to scene object to add tracing from vertex data, internal because it's only needed for tools currently
Assert when creating scene object with model that has no visible meshes, this would result in no native scene object being created and the next handle to mess up
Check if model has visible meshes before creating scenemap models
Resolve map name for scenemap so it's more forgiving with the map name you give it
Don't set light probe textures if they're null
PET: Render sound pitch scale default to 1.0
Trim _c off asset drag drop, fixes compiled only models being dragged in
ShaderGraph: Add Texture Cube node https://files.facepunch.com/layla/1b2611b1/sbox_GNWEjlZAAv.png
Animgraph: Support int params for selector node https://files.facepunch.com/layla/1b2611b1/sbox-dev_um7vlodzlf.mp4
PET: Remove junk from render sound, hook up volume_atten and pitch
Rework Inertia and InertiaRotation to use non inverse inertia to give sane values
Modeldoc: Don't scale and mirror offsets for hull and mesh, fixes mirror getting cancelled out
ShaderGraph: Fix inline node editor not updating when deleting connection
Add PhysicsBody Inertia and InertiaRotation getters
Shadergraph: Shift click connection to insert reroute node
Allow scene maps to be created in menu context even if the scene world isn't transient, menu sometimes creates non transient worlds
Animgraph: Transition states must all pass before checking random time between if it's enabled
Animgraph: Allow state machine to transition at a random time between https://files.facepunch.com/layla/1b2011b1/sbox-dev_Me4oLBw6HB.mp4
MaxVisClusters 1024 -> 4096 this should be better for large maps
Fix potential shader compile errors with dot product node, make sure B is casted to A so they have the same dimension
ShaderGraph: Accept right mouse press to stop it from deselecting items
ShaderGraph: Create a comment node from a selection of nodes
Add undo scope for adding comment
Make sure collision tags for particles are initialized to zero
Fix particle traces not using tags for calculating planes
Fix ortho lights not working
SceneMap (#870)
SceneMap adds the ability to render map geometry in a scene world for menus, ui and tools. SceneObjects are created for visual map entities.
ShaderGraph: Open just the node menu when opening from connection drag
ShaderGraph: Fix comment UI not clamping to min max size in layout
ShaderGraph: Add Fresnel node
Support tags for particles collision via traces
ShaderGraph: Add Save As menu option
Scene culling box (#889)
Scene culling boxes lets users control scene visibility, either everything inside the box is culled or everything outside the box is culled.
Fix skybox tint, skybox expects color to be converted from srgb to linear
Remove collision group from particle collision via traces, this will need to be replaced with tags
Apply environment light ambient color when light isn't baked
Allow Sky.Skyname and Sky.TintColor to be changed after spawn
Remove unused PrepareDeletion from physics body
More null checking in broadphase update
Don't purge shapes when removing body
Rubikon: Null check shape owner in a few places, should fix some crashes but remember to find out why this is happening, because it shouldn't be possible
Rubikon: Use uint32 storage for touching ent pairs, fixes this hashtable from reaching max capacity when many objects are colliding
Rubikon: Add some error checking in broadphase update
Don't use tools vis shading mode if we're not using a vis mode, fixes shader graph preview
ShaderGraph: Add vertex color node
Rubikon: Use growable stack for dynamic tree query and casting, fixes crashing with many overlapping object and is generally safer
Rubikon: Ray cast optimizations against meshes from Dirk
Vis3: Use large bit vec for grid set storage and restore log warning about accessing bit out of range (this should never happen now)
Update cache optimized kd node
Delete unused files from visbuilder
TextManager creates texture with mips