1,380 Commits over 1,066 Days - 0.05cph!
Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST
Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints
Vulkan: Add VK_EXT_device_fault support and dump info after device loss
Vulkan: out-of-date or suboptimal swapchains are verbose logging
Vulkan: Assert for absurd swapchain width/height that are happening during shutdown
Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes
Vulkan: Show error message box and bail on VK_ERROR_DEVICE_LOST
Vulkan: Enable Nvidia Aftermath for GPU crashdumps with VK_NV_device_diagnostic_checkpoints
Vulkan: Add VK_EXT_device_fault support and dump info after device loss
Vulkan: out-of-date or suboptimal swapchains are verbose logging
Vulkan: Assert for absurd swapchain width/height that are happening during shutdown
Vulkan: Log layers that are older than specified API version, these are the most likely cause of GPU device crashes
Fix asset references trying to resolve before those references were added to the assetsystem, which would cause failed uploads
No amount of reverting was fixing this, so I think this has existed for
a long time...
Fixes
sbox-issues/issues/4914
sbox-issues/issues/5013
Add unrecognised reference paths to asset inspector
Remove legacy path from CMapAssetType::CalculateDependencies
Terrain default cast shadows off
Heightmap import support mac byte order
Remake heightmap/controlmap texture when importing at a different size
Fix enums on ReflectionSerializedObject properties
Fix showing project launch errors
Add mips to texture editor
Fix GPU crash when ReadTexturePixels is provided a srcRect that exceeds texture size
Terrain: Add splatting with layers, add heightmap imports, switch to editortool subtools
SceneMapLoader: don't cast dynamic shadows for map lights marked as baked shadows only
Add VK_EXT_full_screen_exclusive support for enabling but also explicitly disabling exclusive fullscreen (this should stop nvidia forcing exclusive fullscreen on borderless windows)
Model AssetPreview: for viewmodels show bone merged arms and use viewmodel camera
Don't show install for incompatible cloud package types
Forgot the interop somehow
Add Graphics.CopyTexture for GPU texture copying, format and size must be the same
Sandbox.Generator: don't run some unneeded codegen in intellisense.. ISourceGenerator is obsolete and slow and we should figure out how to make this an IIncrementalGenerator
Pixmap.UpdateFromPixels: Support RGBA8888 imageformat
More informative vulkan init failed message
Lightbinner handle exceeding max envmaps
In tools don't demote exclusive fullscreen to cooperative fullscreen, these behave the same way on Nvidia's Vulkan drivers and a game window in a Qt widget acting like it's exclusive fullscreen will make your screen black
When saving a GameResource - reregister it with ResourceLibrary. When Scene/PrefabFile save they create a new GameResource, so the old one needs to be stomped out.
Make game resources compile again when saved
Don't call Asset.Compile in parallel 🤦
Set saved gizmo settings way earlier, protect against stomping the settings instance
Fixes sbox-issues/issues/4888
Add some standard map entity definitions that we have loaders for: prop_physics, prop_animated, env_sky, env_gradient_fog, snd_event_*,
Protect against 0 width/height video modes and assert
CHostedWidget::SizeToParent() don't change the video mode if height() is 0
Early error when trying to open an invalid project
Forgot to force add this dll
Launcher only launches a single instance of each project
CMapAssetType::CalculateDependencies suppress pointless upconversion of vmaps so we don't spend 30+ seconds doing so on initial load
Show stall source to everyone
ProjectList own file
Run Asset.UpdateInternals() in parallel, empty project initial scan goes from 770ms -> 200ms
Don't scan project filesystem twice
Remove broken (deleted) projects from the ProjectList
ProjectList: fix NRE on Project.Current
Fix InputRouter not passing to game when no menudll is loaded
Fix launch settings, remove bullshit ones
Treat warnings as errors so I stop pushing shit code and having CI fail
Fix warning
Initialize these engine classes outside of MenuDll now that editor doesn't run menu dll
Null check a bunch of IMenuDll.Current calls
Fix a couple of invalid cases for compute shaders when viewport is very small but not zero
Nicer assert for invalid vk compute shaders, and don't actually dispatch invalid ones otherwise we'll probably crash
Fuck this test for now, a full end to end test for opening a project would be better
Fix empty test warning. Test OpenProject directly
Remove File -> New Game Project...
Make project opening code more predictable, move to Sandbox.Tools, fix compiling before dependant packages are installed, kill more content mode shit.
Terrain: 4 layer paintable splatmap, weighted blending, better normals, better tooling
Shitty layer selection, need to GetPixels on a mip or something instead
Import heightmap dialog, support different resolutions
Put all terrain editor code in its own namespace
Auto shading by slope
Ao texture is excessive
Delete CMaterialSystem2AppSystemDict::CreateMainConsoleWindow (dx9 hack)
Whitelist Delegate.GetInvocationList() and Delegate.DynamicInvoke( System.Object[] )
Import heightmap dialog, support different resolutions
Put all terrain editor code in its own namespace
Terrain tool selection
Splatting tool & compute shader, balances weights automatically
Artist defined splats (albedo, normal, roughness, more is probably overkill) - use summed control map
Nicer brush defaults
Don't use VirtualWidgets for terrain tool selection, they're the most simple buttons + tooltips
Better behaved brush preview, don't destroy/create every frame, can destroy on disable or invalid tool
more normal normals
default first layer for any missing weight
Terrible performing Texture -> Pixmap, but only because of GetPixels on a 4k texture
Add adjusting camera speed with mouse wheel in editor first person camera
ShaderGraph preview target spir-v only properly
Fix GetSearchPathArgs fucking up after more than 1 usage, fixes failing shader compiles
Fix vkCmdPipelineBarrier-dstStageMask-07949
tools_wireframe.shader: strip S_MOBILE properly and remove unused vertex input
Fix Asset.CompileIfNeededAsync() not failing early for assets that don't compile via asset system: maps, anim subgraphs and shaders
Fix ToolScene fullbright, used by blend channel pickers in Hammer
Standardize SceneMap.MapName same way native does, fix world physics when using local world name