1,472 Commits over 1,157 Days - 0.05cph!
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
Fix "could not find ConVar attribute" spam - should just silently set the backing value
Warning -> Trace Unable to determine package
Demote a bunch of vulkan debug logs to verbose only
Holding shift/ctrl disables clearing selection by clicking nothing
Fix inverse multiselect logic
Gizmo.Select: allow unselect of object selections
Shift allows multi select too but without deselecting
SceneViewWidget.UpdateHovered: Just because we're already selected doesn't mean we can't be hovered, otherwise how will you deselect me
Deselect game object when nothing is clicked
SceneCamera viewport caps size properly
Bail out of CameraRenderer if no valid viewport
Unused resource glue
Log_Detailed these rendersystemvulkan messages
Fix crash with symlink resident resource reloading
Foliage: Fix depth alpha tests
Foliage: fmod phase to avoid jittering imprecision at high time/world offsets
Fix tests from non fully init engine
PackageManager Mount/Unmount reloads symlinked resident resources