22,418 Commits over 1,614 Days - 0.58cph!
Move navigation from C++ to C# (#1752)
Replace C++ version of detour & detour crowd with a C# version.
Managed version should behave exactly the same as the native version.
If not, please yell at me.
Achieved by using dotrecast as base
- Refactored the shit out of it
- Optimised it, so the managed performance comes close to the native version.
Navmesh generation (recast) is still in C++.
Add Facepunch Copyright to comply with zlib license
Improve cycle detection
Format
Obsolete GpuBuffer.UsageFlags.Counter, Structured and Append both have it automatically, this flag was only for D3D11. Both VK and D3D12 behave the same way for this.
Fix out of bounds in overlappoly
Hacky path cycle detection
Don't apply cubemap fog to camera if it's render excluded
Don't apply skybox tint to cubemap fog if it's render excluded
Fix envmaps not checking view tags - Fixes skybox with indirect lighting not being able to render exclude
Dirty render of scene cubemap on EnvmapProbe tags change, it's probably needed
Whitelist System.IParsable
Closes Facepunch/sbox-issues#7253
Whitelist System.UInt128
Closes Facepunch/sbox-issues#6892
Whitelist a few assembly attributes a library was using
▍▄▌▌▅█▍▉█ ▆▊▇ ▊▍▌▊▋▉▄▍▍█▆▄▅ ▅▌▊▉▇▋▅▍ █▇▌█▊▉▊▋ ▇▄▋▊▆▊▇▉▋▋
Shadergraph: Make enable shadows option work again
Fix scene rendering widget incorrect gizmo cursor ray when using different DPI
▇▉▇▌ ▌▄▋▄▌▇▍█.▆▇▇▉▊█▌▄▆▆█▆▊▍▉▉ ▆▇ ▌▌▍▆▉▊▆▆▋▋▌▍▆
Vulkan: Structured buffers also have a UAV hidden counter
Start removing unused from native asset preview system
Fix crash trying to load invalid base_model_resource
Apply cubic scaling to motor max torque
Build physics aggregate with initial scale so ModelPhysics can at least spawn scaled (no dynamic scaling)
Delete public/renderablesystem there's nothing in here
Delete texturedictionary.vpc
Delete inputsystem.vpc, this was moved to engine2
Delete these unused files from tier3
Add GpuBuffer.UsageFlags.Counter for usage with structured buffers
Enables IncrementCounter and DecrementCounter in HLSL
Can also use GpuBuffer.SetCounterValue and GpuBuffer.CopyStructureCount
These both previously and still do work with Append buffers
Added default 0 offset parameter to GpuBuffer.CopyStructureCount
Delete resourceinfo utils project
Delete surface properties compiler
Delete post processing compiler
Delete itoolclientsimulationapi, itoolgamesimulationapi and everything that goes along with it
Remove unused rescale from physics interface
Fixup SoundFile.Load filename so the same sound file can't be cached multiple times by passing in different exts (should we warn on fixup?)
Add missing vectorization for some functions in Vector3 and Vector2
It was missing for Clamp, Min/Max, Lerp & Abs
Mark Rotation operator + and - as obsolete, they cause confusion and lead to invalid rotations
Closes sbox-issues/issues/7262
Write vmat
Add Asset.SetInMemoryReplacement, ClearInMemoryReplacement
AssetInspector always create save button
Save materials, preview texture changes
Ignore malformed paths in package downloads, add test
KeyValuesToJson
Make ParseToJsonObject public
Use source properties
This would cause extra work, do it in OnParentChanged instead
Make sure all descendants update tags on parent change - Fixes child colliders not updating tags when parent rigidbody changes parent
Make all the fun stuff internal
Prevent NavAgent/MoveTo from triggering replan if target pos is the same
Vectorize all the things.
Now comes close to native performance.
Clean up DropdownControlWidget
Add DropdownControlWidget
Send combos etc through json too
Fix bone merge not calculating world space attachments
SceneRenderingWidget.GetRay uses widget size for screen size
▆▌▇▅▇ ▇▇▍▊▍▅▇▌▇ ▇▇ ▉█▉▋▊▍▍.▌▋▋▉▉█▄█▊▌▄▅█ ▌▅▅▇ █▄▊▉▊▌▍ █▅█▇ ▇▊▆▉▆'▍ ▉▇▉▌▋ ▉▊▉█▉▌▆▌█▇ (▇▅ ▆▉▇█▅▍▌'▄ █▍▋▄ ▄▉ ▉▌ ▉▆▌▉ ▉▋ ▉▄▍▆▆▅▆▆▍▍ ▄█▄▍▌██?)
Nav Agents/Crowds & pathing are now entirely handled in c#
Get rid of some of our C# detour abstractions (agent, query), since we now have direct access in managed.