16e60eed56
Reduce NestedHitObject
enumerator overhead
...
This was especially bad due to it allocating on any and every start time
change, even the first (see usage in `HitObject.ctor`).
2021-09-20 15:09:27 +09:00
a743a3f306
Change combo bind logic to be non-weird
2021-09-17 19:15:14 +09:00
2d39131202
Refactor taiko flashlight a bit
2021-09-17 18:41:03 +09:00
f9d5abff8a
Update with keybinding changes
2021-09-16 18:26:12 +09:00
a1d325cb22
Mark key and value non-nullable (at realm end) and simplify Value
logic
2021-09-15 17:16:05 +09:00
a150fb2996
Add nullability directive and make variant non-nullable
2021-09-15 17:16:05 +09:00
dcfe9c67e3
Make ruleset id non-nullable
2021-09-15 17:12:04 +09:00
80ecf81be3
Rename all databased setting classes to be specific to rulesets for now
2021-09-15 17:12:04 +09:00
520e550764
Bring back SettingsStore
to avoid changing ruleset API for now
...
Also fixes some remaining test failures due to locally constructed
rulesets that are not being tracked by the game.
2021-09-15 17:12:02 +09:00
c36a67d06e
Fix some tests failing due to using a locally constructed ruleset
2021-09-15 17:04:38 +09:00
a2f1752344
Make settings works with current caching structure
...
Will likely pull out that `RulesetConfigCache` next, but this is an
"everything works" state.
2021-09-15 16:31:13 +09:00
187c557ea8
Begin migrating settings implementation across to realm
2021-09-15 16:22:14 +09:00
464797fecf
Allow ModIcon
to be constructed using an IMod
2021-09-10 12:43:12 +09:00
c3531e1361
Move more specification from Mod
to IMod
2021-09-10 12:42:53 +09:00
719392de39
Change CreateInstance
to use Activator.CreateInstance
instead of clone
2021-09-10 12:05:10 +09:00
cf633973a9
Refactor exposed mod retrieval methods for better safety
2021-09-10 11:09:13 +09:00
2edb851008
Add ability to lookup mod from a type specification
2021-09-09 16:50:59 +09:00
4d0530ca9d
Add new methods to ruleset for quicker mod lookups
2021-09-09 16:46:14 +09:00
25420af078
Rename method to drop redundant ruleset suffix
2021-09-05 13:34:23 +09:00
ce1912781e
Add extension point for ruleset-specific beatmap setup sections
2021-09-02 23:29:14 +02:00
cdd0262ca1
Merge pull request #14598 from smoogipoo/adjust-classic-scoring
...
Make classic scoring a constant multiple of standardised scoring
2021-09-02 19:18:03 +09:00
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info
2021-09-02 18:09:05 +09:00
e2f7aaeb71
Fix 0 score with bonus-only maps
2021-09-02 17:00:13 +09:00
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
31433c4b89
Apply @spaceman_atlas' quadratic factor
2021-09-02 16:26:17 +09:00
bd0f385cdb
Make classic scoring a constant multiple of standardised scoring
2021-09-01 14:53:11 +09:00
d988aa1680
Actually serialise SampleControlPoint
s along with HitObject
s
2021-08-31 15:14:03 +09:00
ce0d7cce2d
Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info
2021-08-31 14:40:54 +09:00
c25ab6835c
Remove IJsonSerializable interface
...
Was pretty pointless and made it hard to use the custom serialisation
terms arbitrarily in tests.
2021-08-31 14:39:20 +09:00
4da2dca339
Apply the default SampleControlPoint
if not externally provided
...
This is mostly to handle tests for now, as generally this should be
provided by an external source in all other cases.
2021-08-30 17:21:07 +09:00
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
4dd60e3299
Merge branch 'master' into taiko-drum-refacor
2021-08-30 14:12:52 +09:00
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal
2021-08-27 09:37:37 +09:00
2ef2af17eb
Merge branch 'master' into alternative-difficulty-bindable
2021-08-26 23:07:52 +02:00
15aa0458bc
Use PausableSkinnableSound
instead
2021-08-26 17:15:36 +09:00
ec85d7f356
Remove unused helper method
2021-08-26 17:15:23 +09:00
982c4eff14
Merge branch 'master' into taiko-drum-refacor
2021-08-26 17:13:14 +09:00
e32933eb54
Avoid Enum.GetValues
in each score population pass
2021-08-26 13:37:53 +09:00
6dcd9427ac
Remove bindable usage in PathControlPoint
...
This is quite a breaking change, but I think it is beneficial due to the large amount of usage of this class.
I originally intended just to remove the allocations of the two delegates handling the `Changed` flow internally, but as nothing was really using the bindables for anything more than a general "point has changed" case, this felt like a better direction.
2021-08-26 12:33:53 +09:00
fd78d0440b
Update missed conditional
2021-08-25 17:00:32 +09:00
ccfff50c6f
Apply fixes in line with issues found during testing
...
I was trying to be too smart with caching, but if the `Play` method was
not called often enough it would have a recent reference. Unfortunately
this requires a separate query to `Entries`, but is also a special case
(no future hitobjects).
This also removes the time-based checks (result status alone should be
all we care about).
2021-08-25 16:56:44 +09:00
ef2b5e1c51
Tidy up variable names and unused resolved properties
2021-08-25 16:56:44 +09:00
a1936b141b
Refactor base class to allow correct usage in taiko drum
2021-08-25 16:56:44 +09:00
681215e5b5
Rewrite object lookup to use previous entry regardless
...
This changes the fallback logic to always prefer the previous resolved
lifetime entry rather than fallback to the first entry ever. I think
this is more correct in all cases.
Also rewrites the inline comments to hopefully be easier to parse.
2021-08-25 16:56:44 +09:00
4a294d4de4
Optimise fallback logic to reduce lookups to bare minimum
2021-08-25 16:56:44 +09:00
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
956112eb10
Reword comment and remove brackets
2021-08-22 12:40:41 +03:00