1,495 Commits over 1,157 Days - 0.05cph!
Add IEnumerable<Type>.GetCommonBaseType()
CanEdit.CreateEditorFor( Array ) uses the most common base type. Fixes Facepunch/sbox-issues#5233
About to show!
FindRenderStateInfo case insensitive
Support pascal case filter enums
Set InputState.Ignore if game isn't being played
CMaterialSystem2::GetVfxPlatformType default to SPIRV
Remove HLSL/GLSL compatibility funcs
Delete unused Gather4Red macros
Use normal precise keyword
Piss off Dx9Sampler
What the fuck is SV_ScreenPosition, delete pre SM 4.0 semantics
Unused tessellation macros
vr_cubemap_fog include common_samplers
Fuck these Front/BackFace macros
Useless redefines
vfx_vulkan: actually fail if any of this validation fails, add another validation check for binding ids
vfx_vulkan: improve error feedback
Remove domain/hull shaders (they weren't working, Valve already deleted them, compute better)
vfx_vulkan: never disable optimizations, this was fucking spirv-reflect and the compile time difference is minuscule
Don't have a different fastMode shader compile, it doesn't do anything now
Matching register offset check in AddSamplerStateVariableToCommandBuffer, same as SetSamplerStateValueFromVariable (prevent oob write)
Bind some default shader resources to prevent crashes, this stuff shouldn't be hit normally so warn/assert it's likely solved by a shader recompile otherwise yell at me
Whitelist common_samplers.fxc (hate this)
PresentYUV420Texture sets its sampler state (this whole func is manual?), fix random crash from using an unbound sampler
Revert verifying bound samplers & images until I fix these bad bindings
Debug string for CTextureManagerVulkan::GetTextureResource
Whitelist some more common exception types
Vulkan: Verify bound samplers and images
VFX_MAX_SAMPLERS is 16 (matches VFX_MAX_SAMPLERS_PER_STAGE and RENDERSYSTEM_MAX_SAMPLERS ) - there is no reason a shader should have more samplers than this
These sanity checks aren't sane, textures aren't samplerstates. A proper sanity check already exists in CVfxVulkan::CompileSource
Use more common samplers for volume fog, vr lighting. Add g_sBilinearClamp & g_sPointClamp common samplers
Fix error texture spam by making sure "EnvironmentMap" is always valid
Dark mode non editor window
Vulkan: Aftermath is opt-in with -aftermath, costly callstack info with -aftermath_full
Recompile sprite shader
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
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