497 Commits over 1,369 Days - 0.02cph!
Whoops, revert Log.Info back to Log.Trace here
Always call HotloadManager.Replace in PackageLoader.AddAssembly
Updated docs to explain why
▍▍ ▇▆█▇▄▅▆ ▍▋▋▉▄ ▆▅▋▆ ▋▍▌▊▉▄ ▋▊▅█▆▅▉ ▆▄▍▉ ▋▉▋▍▊ ▄ ▅▊▋▇ ▇▄▍▇▍▆▌
! ▊▅▆▇█▇█▌ ▆▊▌▄▇▉ ▋▊▉█▉▍ ▆▄▍▋▍▋▋▇▊ ▅▅ ▆▍▊▊ ▌▊▅▇▆▆▄
██▇▉▇▌▊ █▇▌ █▆ ▊▉▆▉▇▊▊ ▅▆▄▉▉▅▊▌▌ ▍█▅▆ ▋▆▉█▇▇█▍▋▅▌▆▌
▊▄▅▊ ▄▋▊▊▅▌█ ▍▋█▊▍▋█▍▋ ▅▉▇▍▋▅
Added methods for reading / writing from raw byte buffer to net message
▄▉▄▇▄▄▋▊.▍▇▋▆▄▄▆▊▇▌█▅() ▅▉▆▆▄▇ ▉▄ ▋▌▌▍▇▄ ▆▄▌▅ ▊▊▆▇▄▉ ▉▄▊▅█▄▄ ▉▅▆▊▉▆
Fix edge case for FindDeepestNodeContainingSpan
Fix basic Random primitives (#1219)
* Fix (Rotation / Vector2 / Vector3 / Angles).Random
* Add some System.Random extension methods
* VectorInCircle
* VectorInSphere
* VectorInSquare
* VectorInCube
* Gaussian (+ 2D / 3D / 4D)
Stricter Rotation.Angles() tests
sboxgame/issues/3984
Some angle related MathX methods
LerpDegrees, LerpRadians, DeltaDegrees, DeltaRadians
Don't compare euler angles in rotation tests
There's always at least two solutions
Fixed sboxgame/issues#3984
Fixed typo in DeltaRadians
DeltaDegrees / DeltaRadians tests
LerpDegrees / LerpRadians tests
Rotation -> Angles -> Rotation test
Fails because of #1250
Deal with singularities in Rotation.Angles()
Fixes #1250
Hotload test for dictionary enumeration order (sboxgame/issues#3391)
Use sorted dictionaries for network tables, component lists
Fixes sboxgame/issues#3391
Hotload: Support sorted dictionaries in DictionaryUpgrader
Be more careful about finding active packages
Takes into account full / menu packages, fixes sboxgame/issues#3886
Fix GameTask.source always being invalid in menu
Warn if a TaskSource is created in an invalid state
ShaderGraph: ObjectSpaceNormal node
ShaderGraph: TransformNormal node can now transform from object space
Sandbox.Utility.Svg wrapper (#1208)
* Added Sandbox.Utility.Svg to read paths from a .svg
ShaderGraph: Triplanar texture mapping nodes (#1198)
Added Texture Triplanar and Normal Map Triplanar nodes
Simplify handling expired tasks (#1157)
* Simplify checking expired tasks (#1143)
Allow any tasks defined in our DLLs to continue, but user code can't continue if it was from an expired context
* Allow persistent tasks in current menu package assembly (#1143)
* Move task persistence allowing / forbidding to GameMenuInstance
Don't emit SB3000 about const fields in generic types
Fixed FastPathTest.ResolveGeneric test
Failing test reproducing #1027
Simpler repro of #1027
Fixed #1027 in cases involving array types
Add a generic Texture.GetPixels<T>() (#1117)
* Added Texture.GetPixels<T>(srcRect, slice, mip, dstData, dstFormat, dstStride)
* Fix reading non-zero slice from 3D texture (#1118)
* CopyToStagingResource: only use 1 mip level / array slice in staging texture
* CopyToStagingResource: fix copy destination offset
* GetPixels: add dstSize parameter instead of dstStride
* Add Texture.GetPixels3D<T>()
* Texture.GetPixels( int mip ) now gets everything for array / volume textures
* Added Texture.GetPixel3D() to complement Texture.GetPixel()
* GetPixels: fix nativeDstRect size
* GetPixels: stride fixes
* GetPixels: reading from non-zero mip level fixes
Add TaskSource.WorkerThread()
Added test for GameTask.WorkerThread() / GameTask.MainThread()
Whitelist Task.Wait() / Task.RunSynchronously()
Whitelist System.Collections.Concurrent.ConcurrentBag
Added Texture.Depth property
Added TaskSource.MainThread()
Like TaskSource.NextPhysicsFrame(), but can immediately continue if already on the main thread.
Limit worker thread count to avoid starving the main thread
Failing test reproducing #1027
Fixed #1027
Make sure fast hotload related error reports are grouped correctly
Failing test reproducing #1087
Gracefully handle NotSupportedException during fast hotload
Fixes #1087
Added TypeLibrary.GetGenericArguments(Type) with access control checks
Simplify ILHotload error report change summary
Add CreateDelegate overloads that accept a target object
Added MethodDescription.CreateDelegate( Type )
Added TypeDescription.MakeGenericType( Type[] )
Uses same access control checks as CreateGeneric( Type[], object[] )
Added MethodDescription.CreateDelegate<T>()
Try to get change summary to actually show up in sentry on ILHotload error
Fixed #1092
Include a change summary during ILHotload errors
Fixed paths to members in hotload sentry reports
Failing test reproducing #1027
Fixed #1027
There might be other reasons why methods won't resolve, will re-open if we encounter that
Handle TypeInitializationException during UpdateReferencesInType more cleanly
Tag ILHotload exceptions with `fast-hotload`
Added IHotloadManaged.Failed(), called when an instance couldn't be upgraded
IHotloadManaged tests
Log some more info when #1027 occurs
Failing test for when lambda signatures change
Warn on lambda signature change, replace with error-throwing delegate
Include member and instance path in hotload error reports
Directly write to Logger during hotloads
Include path and member in hotload log messages
Allow nested FormattableStrings in log messages
So that their args can be inspected too
Implement IsMatchingType for generic type definitions
Fixed IsMatchingType for required modifier types
Don't warn about attempted fast hotload of generic method
Failing test reproducing #1063
Fixed #1063
Support for ConCmd ParamArray arguments
Fix compile time bomb when checking big methods for fast hotload support
Failing test for #1007
Fixed stack overflow when searching for methods with certain parameter types
Fixes #1007
Failing test reproducing sboxgame/issues#3227
Fixed sboxgame/issues#3227
Warn about missing input actions once
Fixed documentation of Compiler.Name
Failing test reproducing #996
Better generic method resolution, fixes #996
Possible fix for sboxgame/issues#3227
Make RPC code gen deterministic
Addon packages should reference package.base too
When loading multiple packages, sort by references
Make sure that a referenced package is loaded before the packages that reference it.
Possible fix for #996
Added test for Package.SortByReferences()
Allow resolving newer versions of assemblies in AccessControl