Commit Graph

72 Commits

Author SHA1 Message Date
471ed968e3 Fix crash when same ruleset loaded more than once
If the same ruleset assembly was present more than once in the current
AppDomain, the game would crash. We recently saw this in Rider EAP9.
While this behaviour may change going forward, this is a good safety
measure regardless.
2020-08-11 11:09:02 +09:00
62ba214dad Use OrderByDescending 2020-07-31 16:21:47 +09:00
23ab6f8f94 Fix dynamic compilation loading wrong ruleset versions 2020-07-30 21:10:13 +09:00
6c8c95677f Fix incorrect usage of Directory.GetFiles 2020-06-02 14:55:10 +09:00
2c6887e610 Remove unnecessary use of and remove StartupStorage 2020-05-31 19:49:03 +03:00
82fe99cf4a Replace any potential usage of Environment.CurrentDirectory with a new RuntimeInfo.StartupDirectory
Using `Environment.CurrentDirectory` for storing / reading files is dangerous as the current directory is mutable and can be changed when performing a certain operation (like opening solutions in roslyn type reference builder for example).
2020-05-31 02:24:49 +03:00
5c2778d5f0 Change comparison direction 2020-05-08 20:33:02 +09:00
a59db976d6 Fix loading a ruleset with a new version specification causing a crash 2020-05-08 18:05:06 +09:00
0e2ccac33b Add spaces to comments 2020-05-04 18:36:24 -07:00
a541f92682 Resolve ruleset dependencies on game core / framework assemblies by checking already loaded assemblies in AppDomain. 2020-04-20 13:56:15 +02:00
1dcb0f53a2 Fix whitespace formatting 2020-04-19 16:29:32 +02:00
ba1c465edf Add comment in regards to the attaching of event handler to the assembly lookup event before call to loadUserRulesets(). 2020-04-19 15:26:00 +02:00
a7179d1c87 Fix comment wording
Co-Authored-By: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-04-19 15:15:04 +02:00
2087d8d09e Don't search for user rulesets if rulesetsStorage isn't set (Testing environnment) 2020-04-07 16:01:47 +02:00
08308e07e7 Apply review suggestions 2020-04-07 12:22:09 +02:00
0e45a4d54e Add back cached ruleset assembly lookup 2020-04-04 20:13:46 +02:00
8cdae790c3 Load user rulesets from the game data directory 2020-04-03 21:40:09 +02:00
fcb7a9ade5 Update RulesetStore to read from populated defaults 2019-12-24 16:16:55 +09:00
a324bfbc2c Remove LegacyID from Ruleset 2019-12-24 13:48:27 +09:00
6e0802e50c Remove RulesetInfo parameter from Ruleset constructor 2019-12-18 14:49:09 +09:00
ccc8aa6fa4 Apply brace style. 2019-11-11 20:13:13 +08:00
9b9138253c Remove finalizer 2019-10-17 11:27:23 +09:00
96c6aeefe9 Remove out-of-date todo 2019-10-15 16:16:33 +09:00
12cd57744b Make RulestStore initialise at construction time 2019-10-15 16:14:06 +09:00
ce609302ed Fix CI error 2019-10-01 15:41:09 +09:00
9f498d2990 Log the exception that caused to loading of rulesets to fail. 2019-09-29 19:25:44 +02:00
9c1badd2e3 Fix rulesets not matching in dictionary lookups due to missing GetHashCode implementation 2019-07-15 15:42:54 +09:00
8120bb36bc More methods 2019-07-03 18:42:10 +09:00
06ef8f71e9 Fix typo 2019-07-03 18:41:01 +09:00
62dd89197c Refactor comment slightly 2019-07-03 18:36:04 +09:00
5ecb764cdc Remove whitespaces and lowercase the comments 2019-07-03 10:57:09 +02:00
43d7f66c5b Add comment about the android ruleset situation. 2019-07-03 10:54:10 +02:00
ab244d1b7f Only log that the rulesets could not be loaded from a directory. 2019-07-03 10:21:18 +02:00
d9e646d9ef Use addRuleset inside loadRulesetFromFile 2019-07-03 09:51:09 +02:00
f1ceea8361 style fixes 2019-07-02 17:25:12 +02:00
778c36c7d7 Allow discover of rulesets that are already loaded. 2019-07-02 17:05:04 +02:00
133c002d02 Fix test dlls being loaded as actual rulesets (and failing) 2019-02-19 12:13:55 +09:00
8617aaa2a7 Update licence header (and remove year) 2019-01-24 17:43:03 +09:00
98fb2e03c0 Fix rulesets not loading in debug builds after running a release build 2018-07-01 18:03:15 +09:00
b1a3f01212 Fix mania maps not being treated as mania maps in release builds 2018-06-28 17:10:30 +09:00
88628812c6 Logexceptions when loading ruleset DLLs 2018-06-03 00:28:29 +09:00
47cf4f27fb Fix possibility of test rulesets being discovered from assemblies 2018-05-14 19:39:23 +09:00
32a74f95a5 Normalize all the line endings 2018-04-13 18:26:38 +09:00
9c75c392f2 Only check by null instead of sign 2018-03-11 21:27:49 +01:00
a321bcf3af Fix check against LegacyID for non-default rulesets 2018-03-11 20:19:03 +01:00
a738664167 Add interface for database context factory 2018-02-12 23:10:05 +09:00
edc3638175 DatabaseWriteUsage 2018-02-12 17:55:11 +09:00
58626e3b30 Allow rulesets to create their own instantiation info 2018-01-10 17:04:07 +09:00
37d393bca0 Update licence headers 2018-01-05 20:21:19 +09:00
b87e6c8b2a Add a method to get ruleset by name 2017-12-27 17:33:34 +09:00