1,073 Commits over 1,430 Days - 0.03cph!
Fixed ambiguous property match in HasSkipHotloadAttribute
Fixed PropertySheet AmbiguousMatchException
Would happen if a subclass redeclared a property with "new"
Added TrustedBinaryStream
* Required by AssemblyRegistation
* Only created by AccessControl
Rename `AssemblyRegistation` to `AssemblyRegistration`
Move TrustedBinaryStream to Sandbox.Access, so it's hidden from users
Added TrustedBinaryStream
* Required by AssemblyRegistation
* Only created by AccessControl
Rename `AssemblyRegistation` to `AssemblyRegistration`
Move TrustedBinaryStream to Sandbox.Access, so it's hidden from users
Rename `AssemblyRegistation` to `AssemblyRegistration`
Added TrustedBinaryStream
* Required by AssemblyRegistation
* Only created by AccessControl
▅▍▌▌ ▉▉▄▍▍▉▇▆▋▍▇ #▊█▋
! ▄▊▋▉▌ ▊█▆▌▌▇ ▉▌▋▆▉▇█ ▇▊▇ ▊▄▌▆▊▄ ▋▆ ▆▉▅▄▌▇▋▋, ▊▅▆▇▇ #▊▅▊
▄▋▄▍ ▋▄▆▍█▅█▄▍▌▉ #▅▋▆
! ▍▄▆▉▅ ▆▄▊██▆ ▇▇▋▊█▍▆ ▄▍▊ ▇▍▊▍▅▍ ▅▍ ▅▅▉▊▄█▍▍, ▉▊▌▌▄ #▉▌▊
Allow loose .txt and .csv files in published addons
Added TypeDescription.GetAttributes<T>()
Fixed -tools not starting if `ServerAddons.TryAdd()` returns null
Added Color[32].FromRgb[a]
Color[32] property consistency cleanup
Added some Color[32] tests
Added Color[32].FromRgb[a]
Color[32] property consistency cleanup
Added some Color[32] tests
Move hotload unsupported warnings to Sandbox.Generator
Added warning for static fields in generic types
Fixed some addon DLLs not getting watched
Introduced by bb5359a20
Added failing hotload static primitive field test
Repros Facepunch/sbox-issues#1918
Fixed hotloading static fields of auto-skipped types
Fixes Facepunch/sbox-issues#1918
Fixed hotloading concurrent containers
EntityManager.OnHotloaded safety
Handle entities being added / removed during the event.
Fixed possible exception in ToTitleCase()
ToTitleCase(string) tests
Use memoization for short strings in ToTitleCase
More ToTitleCase tests
More persistent caching between hotloads
HotloadManager name consistency
Added failing hotload test for static initonly HashSets
Added ConcurrentQueueUpgrader
Fixed in-place hotload of a HashSet<T>
Allow individual types to be added to hotload SkipUpgrader
Skip hotload for types in System.Net.Http and System.Text.RegularExpressions
Fixed some false negatives when checking if a type is blittable
Added ConcurrentDictionaryUpgrader, fixed ConcurrentQueueUpgrader
Only start addon worker threads when first needed
Make sure hotload verbose log works with and without -tools
Cache which static fields need to be watched in hotload
Some extra timing info for hotload
Added InstanceUpgrader.GetUpgraderOrDefault<T>()
DefaultUpgrader field caching, now uses auto-skip
Added InstanceUpgrader.GetUpgraderOrDefault<T>()
DefaultUpgrader field caching, now uses auto-skip
Added failing hotload test for static initonly HashSets
Added ConcurrentQueueUpgrader
Fixed in-place hotload of a HashSet<T>
Allow individual types to be added to hotload SkipUpgrader
Skip hotload for types in System.Net.Http and System.Text.RegularExpressions
Fixed some false negatives when checking if a type is blittable
Added ConcurrentDictionaryUpgrader, fixed ConcurrentQueueUpgrader
Only start addon worker threads when first needed
Make sure hotload verbose log works with and without -tools
Cache which static fields need to be watched in hotload
Some extra timing info for hotload
Fixed verbose hotload log formatting
Fix error in JsonSerializerOptionsUpgrader on hotload
Added HasSkipHotloadAttribute() helper method
ArrayUpgrader now checks AutoSkipUpgrader
Added SkipHotload to Arguments array in LogEvent
Fixed AutoSkipUpgrader check in ArrayUpgrader
Fixed DelegateUpgrader missing some replacements
AutoSkipUpgrader is now optional for ArrayUpgrader
Added failing test involving JsonSerializerOptions
Moved special handling hotload upgraders
Special json hotload handling, fixes #213
Fixed bug hotloading lambdas in generic methods
AsyncTasks tests stability
More helpful worker task yielding error
Merge branch 'master' of sbox
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Fixed errors after rebase
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Fixed errors after rebase
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Exposed hotload skip attrib and callback interfaces
Deleted empty INotice.cs
Added cl_hotload_log and sv_hotload_log console vars
Fixed possible NRE when setting up console vars
SkipHotloadAttribute now supports properties
Fixed hotload test assemblies having wrong package ID
Replaced hotload callback interfaces with IHotloadManaged
Destroyed() returns a state dictionary that is passed to Created() in the new instance
Don't let Hotload see some sensitive fields
IHotloadManaged.Destroyed() now passes in a dictionary ready for use
Exposed hotload skip attrib and callback interfaces
Deleted empty INotice.cs
Added cl_hotload_log and sv_hotload_log console vars
Fixed possible NRE when setting up console vars
SkipHotloadAttribute now supports properties
Fixed hotload test assemblies having wrong package ID
Replaced hotload callback interfaces with IHotloadManaged
Destroyed() returns a state dictionary that is passed to Created() in the new instance
Don't let Hotload see some sensitive fields
IHotloadManaged.Destroyed() now passes in a dictionary ready for use
Cleanup texture builders to reduce loads of code duplication
Bring Texture3d, TextureArray & TextureCube builders extra properties
Make Texture2DBuilder a struct
Generic gibs are now based on the entity's physics material
Moved generic gibs and added break sound to Surface asset
Added PhysicsBody.GetDominantSurface, PhysicsShape.SurfaceMaterial and Surface.GetRandomGib
Allow breakable glass to use assigned UV mapping (requires map entity recompile)
Fix glass texture coords when breaking shards that have moved away from the panel
Whitelist System.Half
Fix base shader not compiling
Fix alpha testing for shaders
Allow foliage shader to be compiled again
Don't bother trying to compile 32 bit PCM so you don't damage your ears if you try
Merge pull request #168 from Facepunch/texture-builder
Cleanup texture builders to reduce loads of code duplication
Create Developer-GenerateSolutions.bat
Completely removed vscript from anim system
Update Developer-GenerateSolutions.bat
Few more script references in anim projects
Remove WithMips for texture cube for the time being
Add constructor parameters for CreateCube & CreateArray
Remove anonymous param from Texture Finish
Create WithAnonymous for textures instead of passing it as a parameter to Texture Finish
Remove anything marked as [Obsolete] 3+ months ago
Obsolete Entity.EyePos/Rot => Entity.EyePosition/Rotation
delete some legacy c++ concommands: god, say, give, etc. these didn't work anyway and if they should work they should be done in c#
reimplement cl_showpos in c# so it uses the pawn, remove cl_showfps (there's much better ways to see it now)
Fix compile error and strip Panorama stuff from the particle host
Remove more legacy player concommands and whatevers left of impulse
remove env_message
Allow menu tasks to persist between sessions
string.QuoteSafe takes a bool, if true the quotes are optional
DataNode sorts children on creation (fixes no children)
Make scrollbar more apparent (todo make qt scrollbars all hover type)
Added LocalAddon GetRootPath(), GetCodePath(), GetAssetsPath()
Fixed QuoteSafe not handling empty/null strings
Bind listview/treeview activated
Add TreeView.SetExpanded
Less abrasive qt errors/warnings
Get access to MRU assets from c#
Allow @ in QuoteSafe
Add DataNode.RemoveAllChildren
Add TreeView.Indentation
Asset Browser has filters etc
If filtering by recent, then order by recent
WheelEvent has HasAlt, HasCtrl, HasShift
Ctrl wheel in asset list changes list type/icon size
Add "Everything" category
Add toggle for recursive folders
Add TaskCanceledException to whitelist
Put it where it belongs
Access to AssetType
Initialize interop to nullptr
Packaged games properly update their hash for networking, fixes net vars in packaged games
Add "content" addon type
Update addon list on asset browser when they change
Addon switcher shows paths
TreeNodes support context menus, added context menus to asset browser folders
Create in folder options
Updated Citizen blendshapes. Updated Citizen AO now you can sometimes see the inner lip
Merge branch 'master' of sbox
Loading screen can access game/map packages
Don't let Hotload see some sensitive fields
Merge branch 'master' into hotload-api
Don't let Hotload see some sensitive fields
IHotloadManaged.Destroyed() now passes in a dictionary ready for use
Expirable SyncContext refactor
* Rename MainThreadContext to ExpirableSynchronizationContext
* ExpirableSynchronizationContext supports having multiple live instances on different threads
* Added SyncContext static class to handle resetting on session end
* MainThreadContext.Instance is now SyncContext.MainThread etc
More control over addon tasks running on worker threads
* Added an ExpirableSynchronizationContext for worker tasks
* WorkerThread.Start() spawns a bunch of long running tasks to process addon tasks off the main thread
* WorkerThread.Stop() causes those worker tasks to exit, can be restarted later
* Stop worker threads during hotload
* Fixed case where addon tasks that refuse to cancel could keep running forever on a worker thread
Allow menu tasks to persist between sessions
Allow menu tasks to persist between sessions
Replaced hotload callback interfaces with IHotloadManaged
Destroyed() returns a state dictionary that is passed to Created() in the new instance
Don't let Hotload see some sensitive fields
Fixed hotload test assemblies having wrong package ID
Exposed hotload skip attrib and callback interfaces
Deleted empty INotice.cs
Added cl_hotload_log and sv_hotload_log console vars
Fixed possible NRE when setting up console vars
SkipHotloadAttribute now supports properties
Fixed possible NRE when setting up console vars
SkipHotloadAttribute now supports properties
Added cl_hotload_log and sv_hotload_log console vars
Exposed hotload skip attrib and callback interfaces
Thread safety in MainThreadContext.CanTaskMethodPersist
Thread safety in MainThreadContext.CanHandleCancellation
Added another async task test
Thread safety in MainThreadContext.CanTaskMethodPersist
Thread safety in MainThreadContext.CanHandleCancellation
Added another async task test
Tests for cancelling tasks on game loop end
Persist tasks that were awaiting a cancelled task
Test for task that saves itself from cancellation
Test for task that politely handles being cancelled
Let tasks from an expired context handle awaiting a cancelled task only once
Some extra safety when persisting tasks handling a cancellation