17,247 Commits over 1,338 Days - 0.54cph!
Add HandlePendingSwapChainResize for explicitly handling swapchain resize events before doing any work, fixes NativeRenderingWidget.RenderScene rendering on a frame with different window size than the actual swapchain ( and then having invalid color/depth buffers)
Don't check require component while deserializing, wait until post deserialize
Debug view for scene ref nodes
Warn Nvidia driver 551.23 for known issues
Stop compiling rendersystemdx11, remove -dx11 switch
Clean up IRenderHardwareConfig no need for all this DX8/360 crap, remove dxsupport.cfg override
vfxcompile: stop compiling dxbc, remove vfx_dx11
Remove "Compile Optimized Shaders", spirv-opt always runs
Set bindpose transforms before applying physics bones
ModelBoneTransformProxy.SetWorldTransform needs to set the bone transform local to the renderer transform, fixes bones blowing up when moving them in editor
Parse commandline properly to prevent projects with `-test` in the name breaking
sbox-issues/issues/5208
Test for multiple keyframe percentages (sbox-issues/issues/5168)
Support multiple keyframe percentages
e.g.
```scss
@keyframes tilt {
0%, 10% {
transform: rotate(0deg) scale(1);
transform-origin: center;
}
}
```
sbox-issues/issues/5168
Vector2Int, Vector3Int
sbox-issues/issues/4995
Allow avatar tint editing
Temp comment out this line to fix tests
Object Snapshot Refresh (#1500)
* Initial commit
* Component id + prune those for refresh as well
* Serialize id properly
* OnRefresh
* Fix refresh for bones
* Revert comp ids on this branch
* Use Id not __id as that is what was settled with for Component Ids
* When a component is added to a GameObject after it has been network spawned, and it has Sync vars we should register them with the network table
* Don't do on the root though save that for the multi-comp PR
* Include latest table snapshot with full refresh. Update to support __guid
* Undo this bit
* Added Connection.CanRefreshObjects permission (def: true)
* Add checks for CanRefreshObjects to Network.Refresh() and when OnObjectRefresh is called
* Register properties recursively when sending network refresh or receiving one
* Test to re-register Sync props after Network.Refresh
* Make docs clearer
* If a Component isn't valid then just set the property anyway for a Sync var
* By default, clients (except host) can NOT refresh network objects. Host can change this with Connection.CanRefreshObjects
* Some additional validation checks
* Better logic
* Fix issue with nested types not having correct identity hash for wrapped property codegen
Fix NRE in GraphInputNodeType.GetPath
Inflate heightfield query cell bounds by 0.5, fixes terrain collision
Fix terrain collider not updating on heightmap import
Terrain collision is per triangle again instead of per cell, should be 100% accurate https://files.facepunch.com/layla/1b1911b1/sbox-dev_bZpdwNGM3P.mp4
Vulkan: Fix validation errors with MSAA disabled, this should fix a lot of crashing problems for people playing without MSAA
Actually set D_MSAA combo on depth_downsample
Fix hair blue line
Scene.Load ShowLoadingScreen actually works
Update avatar scene
Open avatar scene when you click the avatar button
Rework terrain casting and sweeping
Only clear contacts on tag change if the contacts should have no interaction
Use faster _aligned_malloc in physics system
Tweak citizen eye ao
add compilled avatar scene (!)
PanelComponent uses internal enable, disable, update
Temporary fix for drag executing multiple times in one frame
Expose render settings to tools
https://files.facepunch.com/garry/0c9677be-c880-4ac5-8976-3c69143c9f5b.png
Compile fix
Max 8x msaa
Fix deserializing ActionGraphs in Menu context (#1506)
Nicer test for if nodes are operators
OnDestroyInternal calls OnDisabledInternal instead of OnDisabled
Reset panel parent before deleting it
Include panel parent in hash, fixes panel not rendering when parent is disabled and enabled
Don't flag SceneObject and SceneModel as ESceneObjectFlags.IS_OPAQUE, the materials should dictate it, fixes translucent materials drawing in opaque passes (& drawing twice)
Messed with input action panel dialogs, fix Facepunch/sbox-issues#5232
Fixed delete prompt having no content
Fixed editing input action group not showing visible changes until re-opening project settings menu. Fixes Facepunch/sbox-issues#5235
Better warning if we can't find ITagset
Fixed ManualHitbox.HitboxTags being uneditable in the inspector (fixes Facepunch/sbox-issues#5231)
Don't give gizmo mouse focus when it orbit mode
Check if aaquality is a valid enum, users are likely to have outdated settings
ModelCollider uses mass and damping properties from model physics parts
Change Json.PushNodeLibrary() to NodeLibrary.Push()
Call NodeLibrary.Push() instead of Scene.Push() if HostScene is null
Fixes Facepunch/sbox-issues#5244
Remove unused
Remove buttons
Show icon if item has alternates
Clothing container stores height
SkinnedModelRenderer stores animgraph params, applies them OnEnabled
CitizenAnimationHelper - make Height nullable
Height option on avatar, can mess with and annoy citizen
Normalize clothing before applying
Reset input config in menu
Remove unused
UI system gets game buttons when no game is loaded
VSync menu option
Can switch between variants
Merge branch 'master' into snapshot-refresh
Fix issue with nested types not having correct identity hash for wrapped property codegen
Can switch between variants
Some additional validation checks
Remove unused
Remove buttons
Show icon if item has alternates
Clothing container stores height
SkinnedModelRenderer stores animgraph params, applies them OnEnabled
CitizenAnimationHelper - make Height nullable
Height option on avatar, can mess with and annoy citizen
Normalize clothing before applying
Reset input config in menu
Remove unused
UI system gets game buttons when no game is loaded
VSync menu option
Merge property or variable get / set nodes
Change Json.PushNodeLibrary() to NodeLibrary.Push()
Call NodeLibrary.Push() instead of Scene.Push() if HostScene is null
Fixes Facepunch/sbox-issues#5244
ModelCollider uses mass and damping properties from model physics parts
Make control sheet labels draggable
Merge property or variable get / set nodes
Check if aaquality is a valid enum, users are likely to have outdated settings
Don't give gizmo mouse focus when it orbit mode
Better warning if we can't find ITagset
Fixed ManualHitbox.HitboxTags being uneditable in the inspector (fixes Facepunch/sbox-issues#5231)
Fixed editing input action group not showing visible changes until re-opening project settings menu. Fixes Facepunch/sbox-issues#5235
Fixed delete prompt having no content
Messed with input action panel dialogs, fix Facepunch/sbox-issues#5232
Don't flag SceneObject and SceneModel as ESceneObjectFlags.IS_OPAQUE, the materials should dictate it, fixes translucent materials drawing in opaque passes (& drawing twice)
Include panel parent in hash, fixes panel not rendering when parent is disabled and enabled
OnDestroyInternal calls OnDisabledInternal instead of OnDisabled
Reset panel parent before deleting it
Nicer test for if nodes are operators
Make control sheet labels draggable
Merge property or variable get / set nodes
https://files.facepunch.com/ziks/1b1611b1/sbox-dev_Bj6e15WZ0F.mp4
Fix deserializing ActionGraphs in Menu context (#1506)
By default, clients (except host) can NOT refresh network objects. Host can change this with Connection.CanRefreshObjects
Expose render settings to tools
https://files.facepunch.com/garry/0c9677be-c880-4ac5-8976-3c69143c9f5b.png
Merge property or variable get / set nodes
https://files.facepunch.com/ziks/1b1611b1/sbox-dev_Bj6e15WZ0F.mp4
Temporary fix for drag executing multiple times in one frame
Fix action graph serialization tests
Set Json.NodeLibrary in Scene.Push()
Make sure node definitions are added in Menu context
Push scene scope in Scene.Save(), Scene.Serialize()
PanelComponent uses internal enable, disable, update
Fix RenderDeviceInfo_t wrong size
Set Json.NodeLibrary in Scene.Push()
Make sure node definitions are added in Menu context
Add WidgetUtil.CreateSwapChain
NativeRenderingWidget renders in regular render path
If a Component isn't valid then just set the property anyway for a Sync var
Test to re-register Sync props after Network.Refresh