1,495 Commits over 1,157 Days - 0.05cph!
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
Whine about very old nvidia drivers to the user
Vulkan: Always allow mutable swapchain format
Vulkan: Update swapchain texture spec if overridden swapchain format
videorecorder: convert image format if not RGBA
Disable a couple more crappy Vulkan overlays in editor mode
Project creator: doesn't matter if directory doesn't exist becuase we're gonna make it
Disable some commonly bad third party overlays in editor mode - we can finally disable Steam overlay too in editor
Fix infinite recursion crash with prefabs when the root object has bone proxies
Fix trailing backslash escaping quoted search paths
Dead auto mount vpk code
-outroot has to be specified before
Only need to pass user project search paths & maintain mod names
Fix downloading cloud assets
Pass search paths to external spawned processes resourcecompiler and vfxcompile
Remove multiple editor instance nag
Prefer -editor to -tools
Remove native "Startup Tools"
Don't create native splashscreen pixmap that we don't use
Remove bs "Starting Asset Browser" line
Unused -tool -asset command line
ToolsDll remove dead gameloop code
Don't add inactive projects to filesystem
Don't get fucked by removed projects
Native doesn't automatically mount everything from config/addons.json
Menu shouldn't care about local packages/projects - non-editor doesn't load any of that
Remove JumpList - we can try this again when we have a concrete idea of project workflow
Remove "Content Mode", remove skip start screen - all content should be in a project, so why wouldn't you create/open a project
New Game Project -> New Project - these are workspaces for any content really
AssetSystem: Defer scanning new projects until they've all been added, and fix the counter
Remove Change Project - there's not much sanity in trying to reset the entire engine state when we could simply restart the process
-project command line is part of editor bootstrap not engine
Hacky mark all games as inactive on bootstrap
Consolidate project filesystem logic, call native directly instead of saving json and relying on it reading it
File -> Quit prompts unsaved changes
Dirty editor window title when scene modified, add renderer
Move editor only code out of engine Project class
Make sure we still mount content projects on startup
Support opening non-game projects
Batch rebuild content path / update assetsystem on bootstrap
Native resource Load methods should only be called from main thread, the resourcesystem has no idea what to do with a blocking load on a thread and will just crash
Each SceneMap has a unique SpawnGroupHandle, fixes crashes with multiple map instances (including 3d skyboxes) in scenes
AssetSystem.CreateResource - create empty json not kv3 since I removed the legacy kv3 path
TerrainEditorTool use EditorTypeLibrary for paint tools
Fix a `ERROR: Reentrant call to CResourceSystem::FrameUpdate()` caused by some resource compilers using g_pRenderDevice->Present() to clean up resources, this was cascading into swapchain updates when the window was resized (which always happens at startup) - which then make another call to the resource system to free previous swapchain resources.
Fix infinite loop compiling games, sorry!
Check typedef before we try and use it
PackageLoader: Don't add a package to loaded until we know the assemblies aren't going to throw
Graphics.Draw (RenderTools::DrawSceneObject) passes non-uniform scale to shader
Input action keybinds accept Tab
Input actions setup MOUSE buttons correctly, also uppercase everything so it's consistent
Fix map 3d skyboxes lifecycle by making them map components
Offset 3d skybox camera by skybox_reference position
git-blame-ignore dotnet format commit
LineEdit: Enter key blurs the widget
Bounding box editor tool
Add ITerrainPaintTool for easily extensible terrain painting tools
Fix imprecise degrees <-> radians which was causing bad quat <-> euler
Rotation.Angles(): at singularities pitch should always be +-(π/2)
A few more tests around euler angles at singularities
Time out if we can't connect to a host when joining a lobby
Delete all vmat_c except a few required ones - should build correctly on CI since contentbuilder fixes
Registering textures here shouldn't be needed anymore
Less spaghetti on project initialization: only load user projects in editor mode, add & compile built-in first and only error then, remove dead code paths