Commit Graph
4650 Commits
Author SHA1 Message Date
Jesse Plamondon-Willard 41faae781b Merge pull request #1038 from AnotherPillow/develop
Update SMAPI blacklist for Stardew Essentials and Stardew Space Age
2026-09-13 19:15:44 -04:00
Jesse Plamondon-Willard de178828dd sort new entries, add alternate author name for Stardew Essentials 2026-09-13 19:14:46 -04:00
AnotherPillow da02ee9cfb Update SMAPI.blacklist.json for stardewessentials & stardew spaec age 2026-09-14 00:10:57 +01:00
Jesse Plamondon-Willard f2da005117 update mod blacklist for malicious 'Stardew Sprint' mod 2026-09-12 01:25:00 -04:00
Jesse Plamondon-Willard 327809f912 assign stat color for new 'malware scan' SMAPI cost 2026-09-12 01:25:00 -04:00
Jesse Plamondon-Willard 930d8d94f2 update stats page automatically when dataset changes 2026-09-12 01:25:00 -04:00
Jesse Plamondon-Willard 79f9bbbe3e deprecate mod compatibility list 2026-07-01 16:31:21 -04:00
Jesse Plamondon-Willard 446dd933c8 fix stats page when mod ID capitalization changes in data 2026-06-30 21:34:30 -04:00
Jesse Plamondon-Willard 5689c8d6ae switch to zip download for fetching mod dataset
Azure App Services doesn't have Git installed on the servers by default, and alternatives like LibGit2Sharp are slower than just redownloading the latest branch when it changes.
2026-06-25 01:07:48 -04:00
Jesse Plamondon-Willard a444b2b359 update release notes & URL for open mod dataset 2026-06-24 16:01:15 -04:00
Jesse Plamondon-Willard 8adb4ebc97 Merge branch 'add-stats-page' into develop 2026-06-24 15:49:44 -04:00
Jesse Plamondon-Willard 012f1cd109 simplify chart controls
This commit:
- removes the 'enable advanced controls' checkbox;
- disables the 'data view' option for simplicity;
- and enables the remaining features which the checkbox toggled.
2026-06-24 15:46:28 -04:00
Jesse Plamondon-Willard a979564a8c remove timeline on bar/line charts
These aren't as useful with the new mark lines.
2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard 9b8712a4e3 add independent error-handling for each file 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard 40611258bf add DNS traffic to stats page 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard d691aeba15 add marklines for notable events 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard bfdd2b4126 add web costs & Patreon to stats page 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard 6002688149 add stats quick nav sidebar 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard 45cea17788 add 'Content Patcher packs' stats 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard f8d23d3799 add checkbox to toggle advanced controls 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard 65f57bff6c add timeline controls for all charts 2026-06-24 15:46:27 -04:00
Jesse Plamondon-Willard ef3001aa49 add stats page with initial 'mods by type' and 'new mods' charts 2026-06-24 15:46:25 -04:00
Jesse Plamondon-Willard 13818abc3d fix inconsistent mod/user ID types in mod data
This avoids needing to cast values between models (e.g. between the compatibility list and open mod dataset).
2026-06-10 22:17:08 -04:00
Jesse Plamondon-Willard e5e35f0253 add open mod dataset to the SMAPI toolkit 2026-06-09 01:43:47 -04:00
Jesse Plamondon-Willard 59a748e3a5 add error when running build script in PowerShell 5 2026-05-10 01:08:58 -04:00
Jesse Plamondon-Willard 67cfb40600 update mod blacklist 2026-04-30 10:48:09 -04:00
Jesse Plamondon-Willard d3d161488c update mod blacklist 2026-04-30 00:26:43 -04:00
Jesse Plamondon-Willard 423076ff90 update mod blacklist 2026-04-01 11:58:52 -04:00
Jesse Plamondon-Willard 11c6d61031 optimize watcher IsChanged tracking
This commit...
- avoids repeated collection count accesses since we can just track the result while updating;
- and adds more short-circuiting in cases where we know watchers haven't changed.
2026-03-29 18:31:02 -04:00
Jesse Plamondon-Willard f2d1fa5e65 reduce unneeded internal use of IEnumerable<T> 2026-03-28 23:52:50 -04:00
Jesse Plamondon-Willard d9c62b9815 optimize ButtonsChanged event args
This commit...
- removes the Lazy<T>, which was unnecessary since mods will virtually always check which buttons were changed;
- avoids a dictionary lookup on each property access;
- and avoids allocating LINQ enumerators, temporary array, and dictionary on init.
2026-03-28 23:52:50 -04:00
Jesse Plamondon-Willard bc6d7e90ff optimize AssetsInvalidated event args
Some quick benchmarks show that...
- `new HashSet<T>(values)` (266ns) is 79% faster than `values.ToImmutableHashSet()` (1440ns);
- filling a hash set with a loop (554ns) is 21% faster than filling it from a LINQ enumerable (697ns);
- and searching a `HashSet` (18ns) is 49% faster than searching an `ImmutableHashSet` (35ns).
2026-03-28 23:52:50 -04:00
Jesse Plamondon-Willard 6bfb481838 prefer strongly-typed Enum.* methods 2026-03-28 23:52:50 -04:00
Jesse Plamondon-Willard 1070761192 prefer empty collection expression 2026-03-28 23:52:50 -04:00
Jesse Plamondon-Willard 677dd94b61 update Korean translations
Thanks to To2morrow on Nexus!
2026-03-27 23:59:34 -04:00
Jesse Plamondon-Willard 45216fe62b reduce allocations in collection watchers 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard aaa23edc49 use cached HasListeners in ManagedEvent.Raise for simplicity 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard e4f42f961b avoid redundant set.Contains before Add/Remove 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard a6b5b3260a avoid Math.sqrt call in gamepad deadzone handling 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard d9d33c5949 reduce remaining uses of LINQ on warmer paths 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard 06ebc8d049 avoid unneeded OrderBy(…) in AssemblyLoader 2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard 2194fa6f28 avoid Any() on warmer paths
This is typically much slower than equivalent manual checks.
2026-03-27 23:59:33 -04:00
Jesse Plamondon-Willard 7bc3595e66 avoid Union() enumerator in player inventory tracking 2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard db59d384b9 avoid Where() enumerators when possible 2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard da888ba9b0 avoid ToArray() copies when possible 2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard 42238538bd remove Distinct() in inventory tracking
These cover very rare edge cases with invalid inventory data, so it's not really worth the added performance hit of handling them. The next commits will avoid the error if duplicates do occur.
2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard 67dff9ea7a avoid unneeded inventory scan in PlayerTracker.TryGetInventoryChanges
We already have the current inventory (as of the last update) in `this.CurrentInventory`, which is usually what we want to diff against.
2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard 88c2250738 add OS platform type to temporary stats 2026-03-26 22:42:35 -04:00
Jesse Plamondon-Willard 87bfc1b093 split up extension files 2026-03-26 00:48:58 -04:00
Jesse Plamondon-Willard bdf5b0eb48 migrate to extension blocks 2026-03-26 00:48:57 -04:00