20,840 Commits over 1,522 Days - 0.57cph!
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
Remove the old BuildCubeMaps
Dynamic cubemap component settings
Cubemapper tests
Remove all ggx code for now & just copy directly to cubemap array
TextureCube with mipmaps and arrays and mipmaps
Move texture logic from cubemapper to c#
Stub for cubemapper_cs, will calculate both GGX and spherical harmonics all in GPU
Handle all array index stuff in cubemapper
Allow for single sliced cubemap array, needed to be able to render an independent texture in the renderer since it expects a TextureCubeArray, also allow TSPEC_CUBE_CAN_SAMPLE_AS_ARRAY if we want UAV
Also fix a problem where CTextureManagerVulkan::GetImageView wouldn't work with a cubemap array as a rwtexture2darray in compute shaders
Fix cube orientation when copying, do texture per envmap probe instead of a singleton array, this will cause headaches with multiple envmaps intersecting but makes it much simpler
GGX filtering
Don't bother with writing cubemap normalization right now (in fact disable it for now!), reuse previous mip so that we have more quality with less samples
Assert isn't valid anymore in ComputeImageViews since we can pass a cube array
Do cubemapper processing of all faces at once without using intermediary copies, 4-8x speedup (~17ms > ~2.5ms), still needs to be faster
https://i.imgur.com/b61mX1Y.png
Rendersystemvulkan: Alllow binding specific cubemap [ & arrays ] mips if UAV
Tweak citizen eye ao
add compilled avatar scene (!)
Use faster _aligned_malloc in physics system
Only clear contacts on tag change if the contacts should have no interaction
Rework terrain casting and sweeping