17,268 Commits over 1,338 Days - 0.54cph!
Make StartScreen inside EditorMainWindow, instead of going through an event
Fix text gradients 🤦♂️
Dunno how this got corrupted
Latest master compiled DXC now that bugs are fixed
Minor HLSL2021 fix catching bad for loop scope
Unload vfx dll at very end of vfxcompile
Use -fvk-invert-y on geometry shaders too, works as expected on core shaders so "fix" it in objecthighlight shader
Don't do these Pix events under Vulkan, incomprehensible
GameMenu games can have a Main method instead of a menu
Add PackageLoader2.
- Doesn't have TypeLibrary inside
- Wraps HotloadManager
- Clear separation between loading the assembly and loading into typelibrary etc
- only used by Tools + GameMenu right now
- I broke fast hotload
Round the chunks in Graphics.Draw so when drawing Triangles they don't end up hanging over the chunk boundary
Add Draw.SolidTriangle
Enable fast hotload again
Fix keyword-based transform origin values
Don't hide EditorMainWindow on startup if there isn't a StartScreen
e.g. if tools fail to compile
Lettters -> letters (sboxgame/issues/issues/4030)
Use the same rendering code as cubemap build system to narrow down differences
Fix flipping when copying texture with shaders
Flip Y when copying rendered view to cubemap
Remove depthmaptexture
Remove customcubemaptexture bool
Remove ggx_cubemap_blur_accumulation_pass_count - unused
Remove the cube cross stuff on cubemap builder, just to make things more clear
Remove UploadToCubemapArray
Rip out WorldRenderer/EnvironmentMapCacheSize, we didn't have it enabled and it's awful anyway
Remove render_depth_map and always_check_depth, I don't see these being set or used in any meaningful way
Load cubemap_feathering
Create env map constant buffer
SceneCubemap sets box projection and influence radius based on projection mode
C# env_cubemap, mostly the same as env_cubemap_box, use a base cubemap entity
Remove env_cubemap from fgd
Bump up cubemap camera zfar
Get the size of texture when calculating SH, don't assume 256
Calculate radiance SH from cubemap source, reads texture pixels until we can move this to compute shader
Add function to render tools to copy texture to cubemap slice
Move the important parts of ggxcubemapblurhelper to rendertools until we can reasonably do this in C#
After source cubemap is created, go through render tools to mip it to the cubemap array
Fix for transform-origin values not correctly being applied
Stop trying to destroy aoproxy manually, it's a child now so it'll happen automatically and not risk double delete
Give our shader programs debug names so we can see them in debugger/renderdoc
Geometry shaders still need access to VS_INPUT
Log stack traces
Handle badly defined GameResource more gracefully
Aoproxy sceneobjects are children of their parents and inherit visibility - stops them lingering when entities are hidden
Moved tiled rendering buffers to lightbinner, where it should belong
Remove members that have long been deprecated, start adding support for structured buffer lights
Move all cbuffer stuff to legacy, standard will only have structured buffer path
Start implementing structured buffer lights data structure
Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers
Iterate on new lightbinner, let all shadows render through a single rendering path, disregard legacy for now
Fix not correctly rebuilding .editor.dll when recompiling dependant game dll
Add GlobalEngineNamespace, move TypeLibrary into it so that we can access it from Sandbox.Game and Sandbox.UI
Ambient occlusion proxies made by SceneSystem instead of entity system
Add internal BakeResourceAttribute until we can phase out tool objects and the bake resource shit
Experiment with rendering cubemaps for SceneCubemaps
Set renderToCubemap and environmentMaps pipeline attributes from camera attributes
CCameraRenderer::RenderToTexture uses msaa value from attributes
Fix dstStride in GetPixels
Protocol::Network++ because I removed CEnvVolumetricFog classes earlier
Tools replaces and uses GameMenu PackageLoader/HotloadManager
Add TypeIcon, TypeName, TypeTitle to SerializedObject,
Clean layout separator style
Ambient occlusion proxies made by SceneSystem instead of entity system
OOG Volumetric Fog
* Added SceneCamera.VolumetricFog and SceneFogVolume
* Fog volumes are part of SceneSystem instead of managed separately
* Delete volumetric fog gamesystem, game entities and fgd entries, replace with C# game entities for volumetric fog controller & volumes
* SceneMapLoader loads SceneFogVolumes and light_rect
Make these entities internal, no need for public use in legacy entity system
Make sure entities have default values in Hammer
Remove IsMaster from volumetric fog controller entity, it doesn't do anything
VolumetricFogVolume use BoundsHelper
Fix editor sometimes loading base tools package in the wrong order
NavigationMesh available out of game
* Supports runtime generation
* Pathfinding all in c#
* Save/Load navmesh
* Added Triangle struct
Remove all code for calculating mixed shadows, that'll be all allocated in the main light shadow function, iterate structured buffers
C# entity definitions for env_cubemap_box (do box first, env_cubemap is the same but with a sphere influence)
Remove env_cubemap_box from fgd
Network tables for env_cubemap_box
Create SceneCubemap from entity properties
Add indoor_outdoor_level (priority)
Helper for baking fog
Make baked fog work again
Work out global bounds in the CVolumetricFog so we don't have to worry about it anywhere else
Bring clipboard back in case people were using it, forward to Sandbox.Game
Move UseTemplate attribute
TypeLibrary fixes
Move input, UISystem
Tweak navmesh generation params that I don't understand
Add NavigationMesh.Node.Triangles/ClosestPoint/Distance
Remove the bullshit from VolumetricFog, setting bounds make no sense (and does nothing) when they're exclusively made from volume bounds
Headgear adjustments and Tanktop skinning fixes
Move controls over, delete unused clipboard class
Temp fix for route attribute
Move Screen
Triangle math
Create TriangleTest.cs
More connection setup
SceneMapLoader loads light_rect