Commit Graph

3537 Commits

Author SHA1 Message Date
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 SampleControlPoints along with HitObjects 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
9cd0a182f6 Add null check for Android ruleset loading 2021-08-22 00:38:48 -05:00
072560ba3e Remove leftover unused using 2021-08-19 07:17:43 +03:00
102320f8ae Merge branch 'master' into mod-settings-difficulty-cache 2021-08-19 06:35:13 +03:00
1ae4a1910a Cache mod settings rather than fetching everytime 2021-08-18 09:17:42 +03:00
8c5d99ab21 Override CreateInstance() in osu! bindable subclasses
Three bindables are left which don't have this overriden due to them
already not having a value-only constructor and not supporting
`GetBoundCopy()` properly:
 - `BeatmapDifficultyCache.BindableStarDifficulty`.
 - `TotalScoreBindable`
 - `TotalScoreStringBindable`

I could add support for them by passing the required data to them, as
they seem to be able to have that shared, but I'm hesitant to support
something which was already broken and never used, not sure.
2021-08-18 04:19:58 +03:00
eaca331170 apply suggestions 2021-08-18 08:13:53 +08:00
1e2c0031d7 Remove unused usings 2021-08-17 13:34:44 +09:00
060ba0692d Add hash code support for Mod 2021-08-17 04:27:04 +03:00
61045bd087 adjusted code comments 2021-08-16 22:36:14 +00:00
ae076c9a4e merged latest ppy/master 2021-08-16 22:20:12 +00:00
176b3e7533 changed decay system to allow for customizing the currentStrain 2021-08-16 22:14:29 +00:00
855fff1486 Fix DifficultyAdjustSettingsControl.SliderControl not following up with the current pattern
This was causing any `ValueChanged` event bind (such as the one in
`SettingsItem` to invoke `SettingsChanged`) to be overwritten when
`Current` is set afterwards.
2021-08-16 12:47:58 +03:00