13,933 Commits over 1,583 Days - 0.37cph!
Don't stop shadow animations/transitions when building final style
sbox-issues/issues/5122, sbox-issues/issues/4679
Clean up UI lerp functions
Render stats analytics, so we can work out whether our optimizations are working
Stats properly count shadowed lights again, add shadow map count too
Expose scenesystem stats to c#
Main stats we want
Put edge smoothing data in a new data stream to avoid old data not being able to load
Use buttons for edge smoothing like hammer, enum doesn't have multi edit support yet
Add smoothing angle to mesh component
Edges can be hard, soft or default, smoothing angles are used for default
Smooth vertex normals based on edge smoothing
Fix CreateEditorFor throwing for array on some types, should be using EditorTypeLibrary
Simple edge bridge, connect a face from two open edges of the same mesh https://files.facepunch.com/layla/1b1111b1/sbox-dev_zqhIWcX3As.mp4
Internal geometry helpers for #1508
* Line2D
* Vector2.Remap(oldRange, newRange, clamp)
* Line.Clip(plane)
* SceneCamera.ToScreen(line)
DrawText / DrawQuad / Gizmo.ScreenText overloads accepting an angle
Make Gizmo.Input.CursorPosition relative to view widget
Refactor ActionGraphDebugger
Add overloads accepting CancellationTokens to delay tasks
Facepunch/sbox-issues#5131
Action Graph editor tweaks to streamline CancellationTokens
Facepunch/sbox-issues#5131
Fix pivot point getting reset on edge extrude
Only select "full" edges, not each half edge
Add edge data for soft normals
Select all mesh vertices with double click
Add Gizmo.IsDoubleClicked
Select all mesh faces with double click
Support [Property] attribute on event fields (Facepunch/sbox-issues#4372)
Typo in GetHandleNormalFunc
Serialize and Deserialize Scene properties such as Time Scale, Fixed Update Frequency, Threaded Animation... joining clients will now have correct values for the Scene. These don't replicate when changed after that though. Fixes Facepunch/sbox-issues#4483
When creating networked object from remote (networked), wrap Deserialize and NetworkSpawnRemote in CallbackBatch so that _net is initialized before OnAwake is called. Fixes Facepunch/sbox-issues#4950
Make CTextureManagerVulkan::GetTextureResource warning only when passed handle isn't invalid, matches behaviour of similar methods
BufferedDescriptorSetVulkan: Handle handles with no data properly, e.g 2 queued texture updates where the 2nd one is replaced data in the handle
Add batch publisher to asset browser context menus
draw icons in the asset list name instead of the icon
Tools: Menu.ParentMenu, Menu.RootMenu
So you can do stuff like menu.RootMenu.Close()
Variable node editing (Facepunch/sbox-issues#5125)
Use StringTable.Remove instead of StringTable.Entries.Remove when removing Connection from ConnectionInfoManager. Fixes Facepunch/sbox-issues#4983
Flip controller contexts once a frame instead of multiple times, breaking Pressed/Released tests when scoping multiple times a frame
Init JsonUpgrade early (fixes sbox/issues/1513)
Render dynamic envmap probes in editor sceneviews too
Make control sheet labels draggable (Facepunch/sbox-issues#5129)
Merge property or variable get / set nodes (#1507)
Add .flac sound compiler https://files.facepunch.com/layla/1b1011b1/sbox-dev_trygOXu7s7.mp4
Fix some animgraphs using deleted animtag types
Support FBX Normal Mapping/Reference Mode 1/2
Pivot tool for mesh editor https://files.facepunch.com/layla/1b1011b1/sbox-dev_IpU43VArUy.mp4
Better mesh element selection, supports click drag selection
Cancel block tool placement with delete
Add OnAnimTagEvent to SceneModel and SkinnedModelRenderer
Rename status tag to event tag
Remove unused animgraph tags
Fix NRE in scene tree when selection contains invalid gameobject
Fix recent `ResourceHandleToData( ) failed! Falling back to error texture!` spam for error textures
Add support for gamepad input scoping
https://files.facepunch.com/tony/1b0911b1/devenv_ixNt02fEyh.png
Fixed controller axes not being specific to controllers 🤦🤦
Update Facepunch.ActionGraph
Specify in documentation that NetPermission.OwnerOnly works the same as NetPermission.HostOnly for static actions.
Fix crash when selecting nodes with System.Object inputs / properties
Fixed reading String Table snapshot that has an entry with 0 elements throwing an exception. Instead, ByteStream.ReadArray should return null (empty span) if it has a length of 0. Added a test to prove the bug. Fixes Facepunch/sbox-issues#5357
New Hair - Medium Beard
https://files.facepunch.com/daniel/1b0811b1/sbox-dev_pc2pbsjud1.jpg