userJames Kingcancel
reposboxcancel

891 Commits over 1,308 Days - 0.03cph!

1 Year Ago
Code-first typed leaderboards, support for creation / writing / reading
1 Year Ago
Check type inits before loading an assembly Facepunch/sbox-issues#2313
1 Year Ago
Main menu Leaderboard visual tweaks
1 Year Ago
Fixed submitting to typed leaderboards from the server Main menu leaderboards support new types / multiple fields
1 Year Ago
Started on leaderboard definition code gen Typed leaderboard score encoding Typed score decoding Moved setting for which leaderboards are visible in the menu
1 Year Ago
Added ExpandGroup.SetHeaderWidget Added "danger" button type in tools Let FloatProperty widget support more than 2 dp of precision First pass of leaderboard type editor done
1 Year Ago
Fixed integer division in Link.cs Converting long / double to / from string Added MinValue / MaxValue to Float / IntProperty editors Make PropertySheet.AddProperty() return a Widget Leaderboard configs, typed leaderboards WIP leaderboard type editor
1 Year Ago
In-game leaderboard UI tweaks with title / player count https://files.facepunch.com/ziks/1b1011b1/sbox_zdvdjjzfiN.png
1 Year Ago
New Leaderboards API wraps Steam Leaderboards
2 Years Ago
Handle clients disconnecting while submitting a score
2 Years Ago
Added server-side Leaderboard.Submit( client, score ) extension
2 Years Ago
Added wrapper around Steamworks leaderboards Allow querying leaderboards from menu code Add DefaultLeaderboards addon metadata, for which boards to show in menu Format for substituting in dates to default leaderboard names Let date formats like yy-MM-dd survive string.ToTitleCase() Added yy-MM-dd date format tests for string.ToTitleCase() Use DateTime.UtcNow.Date for date substitution in leaderboard names Get rid of LeaderboardSort enum, just use a bool IsAscending Made Leaderboard const fields private Rename GameIdent to PackageIdent in new leaderboard wrapper Make LeaderboardEntry.Details internal for now
2 Years Ago
Added wrapper around Steamworks leaderboards Allow querying leaderboards from menu code Add DefaultLeaderboards addon metadata, for which boards to show in menu Format for substituting in dates to default leaderboard names Let date formats like yy-MM-dd survive string.ToTitleCase() Added yy-MM-dd date format tests for string.ToTitleCase() Use DateTime.UtcNow.Date for date substitution in leaderboard names Get rid of LeaderboardSort enum, just use a bool IsAscending Made Leaderboard const fields private Rename GameIdent to PackageIdent in new leaderboard wrapper Make LeaderboardEntry.Details internal for now
2 Years Ago
Let date formats like yy-MM-dd survive string.ToTitleCase()
2 Years Ago
Format for substituting in dates to default leaderboard names
2 Years Ago
Add DefaultLeaderboards addon metadata, for which boards to show in menu
2 Years Ago
Allow querying leaderboards from menu code Add DefaultLeaderboard addon metadata, selecting board to show in menu
2 Years Ago
Added wrapper around Steamworks leaderboards
2 Years Ago
Fixed ambiguous property match in HasSkipHotloadAttribute Fixed PropertySheet AmbiguousMatchException Would happen if a subclass redeclared a property with "new"
2 Years Ago
Added TrustedBinaryStream * Required by AssemblyRegistation * Only created by AccessControl Rename `AssemblyRegistation` to `AssemblyRegistration` Move TrustedBinaryStream to Sandbox.Access, so it's hidden from users
2 Years Ago
Added TrustedBinaryStream * Required by AssemblyRegistation * Only created by AccessControl Rename `AssemblyRegistation` to `AssemblyRegistration` Move TrustedBinaryStream to Sandbox.Access, so it's hidden from users
2 Years Ago
Rename `AssemblyRegistation` to `AssemblyRegistration`
2 Years Ago
Added TrustedBinaryStream * Required by AssemblyRegistation * Only created by AccessControl
2 Years Ago
▅▍▌▌ ▉▉▄▍▍▉▇▆▋▍▇ #▊█▋ ! ▄▊▋▉▌ ▊█▆▌▌▇ ▉▌▋▆▉▇█ ▇▊▇ ▊▄▌▆▊▄ ▋▆ ▆▉▅▄▌▇▋▋, ▊▅▆▇▇ #▊▅▊
2 Years Ago
▄▋▄▍ ▋▄▆▍█▅█▄▍▌▉ #▅▋▆ ! ▍▄▆▉▅ ▆▄▊██▆ ▇▇▋▊█▍▆ ▄▍▊ ▇▍▊▍▅▍ ▅▍ ▅▅▉▊▄█▍▍, ▉▊▌▌▄ #▉▌▊
2 Years Ago
Allow loose .txt and .csv files in published addons
2 Years Ago
Added TypeDescription.GetAttributes<T>()
2 Years Ago
Fixed -tools not starting if `ServerAddons.TryAdd()` returns null
2 Years Ago
Added Color[32].FromRgb[a] Color[32] property consistency cleanup Added some Color[32] tests
2 Years Ago
Added Color[32].FromRgb[a] Color[32] property consistency cleanup Added some Color[32] tests
2 Years Ago
Move hotload unsupported warnings to Sandbox.Generator
2 Years Ago
Added warning for static fields in generic types
2 Years Ago
Fixed some addon DLLs not getting watched Introduced by bb5359a20
2 Years Ago
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
2 Years Ago
Fixed hotloading concurrent containers EntityManager.OnHotloaded safety Handle entities being added / removed during the event.
2 Years Ago
Fixed possible exception in ToTitleCase()
2 Years Ago
ToTitleCase(string) tests Use memoization for short strings in ToTitleCase More ToTitleCase tests
2 Years Ago
More persistent caching between hotloads HotloadManager name consistency
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 Added InstanceUpgrader.GetUpgraderOrDefault<T>() DefaultUpgrader field caching, now uses auto-skip
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
2 Years Ago
Fixed verbose hotload log formatting
2 Years Ago
Fix error in JsonSerializerOptionsUpgrader on hotload
2 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
2 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
2 Years Ago
AsyncTasks tests stability
2 Years Ago
More helpful worker task yielding error Merge branch 'master' of sbox
2 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