1,495 Commits over 1,157 Days - 0.05cph!
README: Link to docs, remove old docs, unrequired prerequisite
vtf project unused
TerrainMaterial resource: custom compiler that generates 2 packed vtex_c from input images
Remove ModelRenderer.OnPreRender, use Transform.OnTransformChanged
BufferedHashSet: Add removes from removals queue & Remove removes from additions queue
VTEX_InitCreationDescFromHeader: check for nullptr
Validate shader descriptor bindings, refuse to load invalid shaders that will crash (shaders compiled with compiler bugs that were fixed)
Terrain: use bindless textures
Terrain: use roughness from normal alpha
Force push compiled surfaces & decals
Fixes Facepunch/sbox-issues#5429
Add [TestClass] to LibraryTests in library template
Fixes Facepunch/sbox-issues#5418
BufferedHashSet<T>: For safely iterating over a hashset that can be modified without needing a copy
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Sandbox.Game convars work in editor again
Codegen IUpdateSubscriber and others on Components that implement those methods
Scene update loop only iterates over enabled components that implement each of their methods; OnUpdate, OnFixedUpdate, OnPreRender
BufferedHashSet<T>: For safely iterating over a hashset that can be modified without needing a copy
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Sandbox.Game convars work in editor again
Codegen IUpdateSubscriber and others on Components that implement those methods
Scene update loop only iterates over enabled components that implement each of their methods; OnUpdate, OnFixedUpdate, OnPreRender
BufferedHashSet<T>
Use BufferedHashSet<Component> to safely iterate components without a copy
Name this ComponentSubscriberInterfaces, name interfaces IUpdateSubscriber etc.
Test out this iterator safe workset collection, this probably has some fancy standard name
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes
New update mode, iterating over components with IWants interfaces
Sandbox.Game convars work in editor again
Run legacy game loop on older assemblies
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Check Component.IsValid() just in case they've been immediately deleted
CitizenAnimationHelper: FootShuffle becomes more generic MoveRotationSpeed, update docs for what this parameter is doing now
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Optimize GameObject.Network, we do not need to constantly find the network root, it should only be set on network spawns and parent changes
Make sure we run interpolation on the new loop, this is being rewritten atm so I don't wanna touch it
Codegen adds Sandbox.Internal.IWantsOnUpdate etc. when those methods are found on Component derived classes
New update mode, iterating over components with IWants interfaces
Sandbox.Game convars work in editor again
Run legacy game loop on older assemblies
Resolve circular dependency on base csproj
Use interfaces instead of attributes
Unused GameObject.PreRender
Component.OnStart works on components that don't implement OnUpdate
Codegen applies attributes if OnUpdate, OnFixedUpdate or OnPreRender are implemented
Only call OnUpdate, OnFixedUpdate, OnPreRender on components that implement them. Also call them flat instead of recursing every GO 3 times
Fix hlsl antlr grammar 🙄
Fixes Facepunch/sbox-issues#5382
Can use Alt+F4 to close the game
Force add compiled menu scenes
Cast shadows of non culled lights, not culled lights.. wtf?
Only debug draw actual shadow casters, add spot light debug drawer
Make AssetInspector an InspectorWidget, fold multiple inspector into it which hadn't worked for a while
Fixes Facepunch/sbox-issues#5372
Only show the considered lights in the debug view, we don't cull the unconsidered lights so it'd show them as unculled
Fix Asset.CompileIfNeededAsync getting stuck
Compile all non-existing and out-of-date assets on project startup
Opening project progress gets reported to splash screen
Bunch of resources that were out-dated
Dead code
Stats properly count shadowed lights again, add shadow map count too
Expose scenesystem stats to c#
Main stats we want
Make CTextureManagerVulkan::GetTextureResource warning only when passed handle isn't invalid, matches behaviour of similar methods
BufferedDescriptorSetVulkan: Handle handles with no data properly, e.g 2 queued texture updates where the 2nd one is replaced data in the handle
Fix recent `ResourceHandleToData( ) failed! Falling back to error texture!` spam for error textures
Auto collect font files to upload too
Thank god nobody was using these
Delete unused shaders/includes
vfx preprocessor auto includes system.fxc
Raw dog bindless API, we can build something higher level on top of this
Open project when created
Adding a new project sets it to the top
Don't copy .gitignore if it exists - fixes Facepunch/sbox-issues#4634
Opening a .sbproj adds to project list
TypeSerializedProperty.TryGetAsContainer should not propogate NoteChanged, commented on this behaviour - Fixes Facepunch/sbox-issues#5174
Accumulate escape presses across all input contexts - Fixes Facepunch/sbox-issues#5314
AMD driver check: 2.0.279 is fine for Polaris/Vega
Skip driver version check if running under proton
Revert "HotloadManager disposes Hotload instance, was stopping assembly unloading"
This reverts commit 1d83455903d1b9995c5680c933c49738ce22f149.
Revert "LoadContext.Unload also unloads all it's IsolatedAssemblyContext"
This reverts commit 672aabaadd48f649bf3c38068d4efe2e2c55780e.
HotloadManager disposes Hotload instance, was stopping assembly unloading
Warn for older AMD GPU drivers too, 2.0.283 has a driver crash when child processes are opened
LoadContext.Unload also unloads all it's IsolatedAssemblyContext
Use a fresh PackageLoader when loading new games - fixes Facepunch/sbox-issues#5219
CVfxStackMachineBuilder::FindConstant case insensitive
This should be engine internal, expose with EditorUtility
Remove debug line
Regenerate project solution when compiler settings are changed - fixes Facepunch/sbox-issues#4801
Update spirv-reflect
Fix spirv-reflect bug with output_vertices being stomped
Validate geometry shaders [maxvertexcount] to not exceed limits - fixes Facepunch/sbox-issues#4738
Input will tick before layout is computed on a newly created panel, so check null. Fixes Facepunch/sbox-issues#5268
Remove dupe convars_save
Api.GetAsync throws if status code not OK