userJames Kingcancel
reposboxcancel

1,002 Commits over 1,369 Days - 0.03cph!

2 Years Ago
Added InstanceUpgrader.GetUpgraderOrDefault<T>() DefaultUpgrader field caching, now uses auto-skip
2 Years Ago
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
3 Years Ago
Fixed verbose hotload log formatting
3 Years Ago
Fix error in JsonSerializerOptionsUpgrader on hotload
3 Years Ago
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
3 Years Ago
Added failing test involving JsonSerializerOptions Moved special handling hotload upgraders Special json hotload handling, fixes #213 Fixed bug hotloading lambdas in generic methods
3 Years Ago
AsyncTasks tests stability
3 Years Ago
More helpful worker task yielding error Merge branch 'master' of sbox
3 Years Ago
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
3 Years Ago
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
3 Years Ago
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
3 Years Ago
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
3 Years Ago
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
3 Years Ago
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
3 Years Ago
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
3 Years Ago
Don't let Hotload see some sensitive fields
3 Years Ago
IHotloadManaged.Destroyed() now passes in a dictionary ready for use
3 Years Ago
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
3 Years Ago
Allow menu tasks to persist between sessions
3 Years Ago
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
3 Years Ago
Fixed hotload test assemblies having wrong package ID
3 Years Ago
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
3 Years Ago
Fixed possible NRE when setting up console vars SkipHotloadAttribute now supports properties
3 Years Ago
Added cl_hotload_log and sv_hotload_log console vars
3 Years Ago
Deleted empty INotice.cs
3 Years Ago
Exposed hotload skip attrib and callback interfaces
3 Years Ago
Thread safety in MainThreadContext.CanTaskMethodPersist Thread safety in MainThreadContext.CanHandleCancellation Added another async task test
3 Years Ago
Thread safety in MainThreadContext.CanTaskMethodPersist Thread safety in MainThreadContext.CanHandleCancellation Added another async task test
3 Years Ago
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
3 Years Ago
Some extra safety when persisting tasks handling a cancellation
3 Years Ago
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
3 Years Ago
Updated Sandbox-Engine-Test.sln to include newer projects Fixed class name collisions causing an exception in EventSystem on hotload
3 Years Ago
Test projects now target net6.0 too Fixes build error in Sandbox-Engine-Test.sln Removed attempt to set private Host.IsClient in Sandbox.Test Fixed SetTextDecoration test Fixed default value handling in Sandbox.Hotload MONO_CECIL wasn't defined in Hotload project after upgrade to net5.0 / net6.0, which is needed for finding new default values of fields.
3 Years Ago
Added mechanism for aborting tasks that persist between game sessions
3 Years Ago
Added mechanism for aborting tasks that persist between game sessions
3 Years Ago
Hotload: Fixed duplicate key error spam in console Hotload: Cleanup
3 Years Ago
Hotload: Failing enum array test Hotload: Fixed upgrading enum arrays Hotload: Failing static readonly field test Hotload: refactor to support upgrading into existing instances Merge branch 'master' of github.com:Facepunch/sbox
3 Years Ago
Hotload: Failing test for nested delegates Hotload: Fixed some nested delegates not upgrading Hotload: DelegateUpgrader cleanup
3 Years Ago
Hotload: Failing test for Facepunch/sbox-issues#345 Hotload: Fixed redundant GC.SuppressFinalize calls Hotload: Better handling for multicast delegates
4 Years Ago
Hotload: Simplified test initialization Hotload: Added failing Dictionary comparer test Hotload: Fixed comparer being lost from dicts / hash sets on hotload
4 Years Ago
Hotload: Added failing test for 2D arrays Hotload: basic multi-dimensional array support Hotload: failing multi-dim struct array case Hotload: don't attempt to block copy multi-dimensional arrays
4 Years Ago
First draft of AutoSkipUpgrader Enable AutoSkipUpgrader in HotloadManager Cleaned up AutoSkipUpgrader Merge remote-tracking branch 'origin/master' into hotload-autoskip Show list of auto-skipped types in HotloadDetails sheet Nicer type names in HotloadResult Merge branch 'hotload-autoskip'
4 Years Ago
Fixed stylesheet parser thinking the // in http:// was a comment Texture.Load supports https:// Update baseaccess.txt Game list API test Panel.OnDeleted DevUI Remove Logger on delete Create art_test.vmap Map testing art assets Merge branch 'master' of sbox Restore testmap (was a broken LFS pointer) fix materials world size Rename IMenuSystem to IMenuAddon Cached files from server go to downloads/.sv/ Create RootFileSystem class, clean up EngineFileSystem init Github addon downloader RunAnalyzersDuringBuild = false Merge branch 'master' of sbox Art Test Map 2 Map 2 testing art assets Merge branch 'master' of sbox Refactor addon loading so it's not dependant on folder name (cc @layla you need to add name to your .addon) Warn if trying to add addon without an .addon Merge branch 'master' of sbox Fixed sub-filesystem dispose parent on dispose Dispose transient addons on game shutdown Rename AddonManager to ServerAddons (clearer) Mount downloaded addon when creating gamemode Move IMenuAddon into engine (so it can be accessed everywhere) Loading screen refactor lighting test / asset cleanup Merge branch 'master' of sbox Integrate cs_mdl_import into modeldoc_utils so it can be used by both modeldoc and cmd line Add Invert option to RenderPrimitiveBox Add ModelDoc RenderPrimitivePlane Update groups.vgc Iterating on borders, change how borders are calculated to something simpler and better Finish the equation for cssbox borders that works universally Fix border alpha Remove a few pointless border tests Add another UI border test. Fix border-top-left-radius and border-bottom-right-radius wrong way around Add UI test for scene renders Fix border offsetting More useful LoopModeLevelLoad hooks Bind GetConvarValue for engine Move addon provision, gameinfo to sandbox.engine Look for gamemode info from the LastApiResponse Merge branch 'master' of sbox Added Art Test Map (Doors) Map for art testing Merge branch 'master' of sbox Close the loading screen at the right point Update art_test.vmap Some clean up Fixed AddViewsToSceneSystem returning SCENE_VIEW_RENDER_TRGET_INVALID for the last few frames of loading, causing hall of mirrors (I don't think any AddViewsToSceneSystem should be returning invalid but if they do we just skip over them) Tweak loading screen transition out now it's smooth Merge branch 'master' of sbox Cleaned up AutoSkipUpgrader Merge remote-tracking branch 'origin/master' into hotload-autoskip
4 Years Ago
First draft of AutoSkipUpgrader Enable AutoSkipUpgrader in HotloadManager
4 Years Ago
Hotload.SkipAttribute fixes, merged with Hotload.SafeAttribute Merge remote-tracking branch 'origin/master'
4 Years Ago
Hotload: Reflection instance tests Hotload: Added failing WeakReference tests Hotload: Working on a nicer system for organising instance upgraders Hotload: Factored out reflection and delegate type upgraders Hotload: Added WeakReferenceUpgrader Hotload: Parameter cleanup Hotload: Test cases for closures losing captures of various kinds Hotload: Fixed possible exception in DelegateUpgrader Hotload: Made it more obvious when to pass a replacement type Hotload: Added WeakReferenceUpgrader Hotload: Some documentation, clearing UpdaterGroup caches Hotload: Added a failing HashSet<T> test Hotload: Actually use ChildUpgraderOrder Hotload: Finishing off refactor Hotload: Cleaning up Hotload: IBorn and IKilled work again Hotload: Fixed OnClearCache() not being called in UpgraderGroup children Hotload: Fixed ArrayUpgrader calling the wrong method on elements Merge remote-tracking branch 'origin/master' Merge branch 'hotload-refactor'
4 Years Ago
Hotload root tracing Merge remote-tracking branch 'origin/master'
4 Years Ago
Another failing delegate hotload test case Fixed possible NRE in FindMatchingLambdaMethod Split hotloading tests up Even safer cache check for delegate substitutions Replace delegates with null if we can't find a valid substitution Fixed possible incorrect delegate target substitution Another hotload delegate test Merge branch 'hotload-fix' Merge branch 'master' of github.com:Facepunch/sbox
4 Years Ago
Split hotloading tests up Even safer cache check for delegate substitutions Replace delegates with null if we can't find a valid substitution
4 Years Ago
Another failing delegate hotload test case Fixed possible NRE in FindMatchingLambdaMethod