Dean Herbert
a3d9ab1e2e
Move approach rate to EffectControlPoint
2021-09-03 16:58:16 +09:00
Dean Herbert
b41b1e2394
Write out DifficultyControlPoint
s into HitObject
s
2021-09-03 16:58:16 +09:00
Bartłomiej Dach
ce1912781e
Add extension point for ruleset-specific beatmap setup sections
2021-09-02 23:29:14 +02:00
Dean Herbert
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
Dan Balasescu
6c649b7bbe
Merge branch 'master' into no-more-sample-control-points-info
2021-09-02 18:09:05 +09:00
smoogipoo
e2f7aaeb71
Fix 0 score with bonus-only maps
2021-09-02 17:00:13 +09:00
Dean Herbert
b907c2f4f6
Fix osu! judgements getting scaled twice over different durations
2021-09-02 16:31:43 +09:00
smoogipoo
31433c4b89
Apply @spaceman_atlas' quadratic factor
2021-09-02 16:26:17 +09:00
smoogipoo
bd0f385cdb
Make classic scoring a constant multiple of standardised scoring
2021-09-01 14:53:11 +09:00
Dean Herbert
d988aa1680
Actually serialise SampleControlPoint
s along with HitObject
s
2021-08-31 15:14:03 +09:00
Dean Herbert
ce0d7cce2d
Merge branch 'remove-ijsonserializable' into no-more-sample-control-points-info
2021-08-31 14:40:54 +09:00
Dean Herbert
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
Dean Herbert
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
Dean Herbert
ccacf56dd8
Move to legacy namespace
2021-08-30 17:14:53 +09:00
Dean Herbert
7257aae7f2
Move samples to LegacyControlPointInfo
2021-08-30 17:14:53 +09:00
Dean Herbert
4dd60e3299
Merge branch 'master' into taiko-drum-refacor
2021-08-30 14:12:52 +09:00
Dan Balasescu
a28bc9f6b2
Merge branch 'master' into path-control-point-bindable-removal
2021-08-27 09:37:37 +09:00
Bartłomiej Dach
2ef2af17eb
Merge branch 'master' into alternative-difficulty-bindable
2021-08-26 23:07:52 +02:00
Dean Herbert
15aa0458bc
Use PausableSkinnableSound
instead
2021-08-26 17:15:36 +09:00
Dean Herbert
ec85d7f356
Remove unused helper method
2021-08-26 17:15:23 +09:00
Dean Herbert
982c4eff14
Merge branch 'master' into taiko-drum-refacor
2021-08-26 17:13:14 +09:00
Dean Herbert
e32933eb54
Avoid Enum.GetValues
in each score population pass
2021-08-26 13:37:53 +09:00
Dean Herbert
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
Dean Herbert
fd78d0440b
Update missed conditional
2021-08-25 17:00:32 +09:00
Dean Herbert
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
Dean Herbert
ef2b5e1c51
Tidy up variable names and unused resolved properties
2021-08-25 16:56:44 +09:00
Dean Herbert
a1936b141b
Refactor base class to allow correct usage in taiko drum
2021-08-25 16:56:44 +09:00
Dean Herbert
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
Dean Herbert
4a294d4de4
Optimise fallback logic to reduce lookups to bare minimum
2021-08-25 16:56:44 +09:00
Dean Herbert
6aa894e55e
Split out separate component
2021-08-25 16:56:44 +09:00
Salman Ahmed
84637b59ef
Define DifficultyBindableWithCurrent
and use in SliderControl
2021-08-25 07:40:41 +03:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Salman Ahmed
956112eb10
Reword comment and remove brackets
2021-08-22 12:40:41 +03:00
Michael Malloy
9cd0a182f6
Add null check for Android ruleset loading
2021-08-22 00:38:48 -05:00
Salman Ahmed
072560ba3e
Remove leftover unused using
2021-08-19 07:17:43 +03:00
Salman Ahmed
102320f8ae
Merge branch 'master' into mod-settings-difficulty-cache
2021-08-19 06:35:13 +03:00
Salman Ahmed
1ae4a1910a
Cache mod settings rather than fetching everytime
2021-08-18 09:17:42 +03:00
Salman Ahmed
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
Nathan Alo
eaca331170
apply suggestions
2021-08-18 08:13:53 +08:00
smoogipoo
1e2c0031d7
Remove unused usings
2021-08-17 13:34:44 +09:00
Salman Ahmed
060ba0692d
Add hash code support for Mod
2021-08-17 04:27:04 +03:00
Xexxar
61045bd087
adjusted code comments
2021-08-16 22:36:14 +00:00
Xexxar
ae076c9a4e
merged latest ppy/master
2021-08-16 22:20:12 +00:00
Xexxar
176b3e7533
changed decay system to allow for customizing the currentStrain
2021-08-16 22:14:29 +00:00
Salman Ahmed
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
Nathan Alo
c56b34d2da
apply code inspection fixes
2021-08-16 07:06:23 +08:00
Nathan Alo
cc3468b4ab
apply suggestions
...
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
emu1337
29a22bd11f
added rhythm multiplier for strain sections
2021-08-15 20:48:00 +02:00
Nathan Alo
4ed06a1021
apply suggestions
2021-08-14 22:39:12 +08:00
PercyDan
6ecc728c01
Remove override
2021-08-12 10:27:36 +08:00
PercyDan
d80a2dcca7
Missed one
2021-08-12 10:14:01 +08:00
PercyDan
18ecd8758b
Make Perfect auto restart toggleable
2021-08-12 10:12:35 +08:00
PercyDan
4706dcf525
Merge branch 'master' of https://hub.fastgit.org/ppy/osu into auto-restart
2021-08-11 20:18:05 +08:00
ekrctb
c63dfa21e1
Always initialize DHO transforms on LoadComplete
...
With the previous commit, the transform application is skipped when the state is already changed. But it turns out the previous commit breaks slider animation in the standard editor. This is probably due to the transforms are applied before nested hit objects are added.
2021-08-10 16:34:38 +09:00
ekrctb
f262f288fc
Fix DHO state is overwritten to Idle
on LoadComplete
...
The state may already be changed before `LoadComplete` is called because DHO is already added to the draw hierarchy.
2021-08-06 19:58:46 +09:00
Dan Balasescu
472925180a
Merge branch 'master' into fix-muted-dim-factor
2021-08-04 12:00:49 +09:00
smoogipoo
2af827f913
Increase TimeRange max value
2021-08-02 19:37:45 +09:00
Dan Balasescu
0089cdb0ca
Merge branch 'master' into fix-muted-dim-factor
2021-08-02 12:26:31 +09:00
Dan Balasescu
cd0e7223a6
Merge pull request #14092 from bdach/proxied-judgement-layer-ordering
...
Ensure proxied judgement content is correctly depth-ordered
2021-08-02 10:40:37 +09:00
Salman Ahmed
fb5ef7d2d2
Remove brackets
2021-08-01 20:59:51 +03:00
Salman Ahmed
a26e7b2680
Limit combo count to minimum 1 when using inversed
...
Avoids making the mod of no effect.
2021-08-01 20:59:31 +03:00
Salman Ahmed
ce7987dac7
Clarify 0
final combo indicates always muted audio
2021-08-01 20:19:44 +03:00
Salman Ahmed
1e3173bf44
Fix muted dim factor not considering "0 divided by 0" case
2021-08-01 20:19:43 +03:00
Salman Ahmed
f12e66052c
Reword outdated doc
2021-08-01 19:22:33 +03:00
Salman Ahmed
ac930b8918
Fix judgement processors provided to mods while not completely loaded
2021-08-01 19:16:30 +03:00
Bartłomiej Dach
f868a201f5
Ensure proxied judgement content is correctly depth-ordered
2021-08-01 15:21:31 +02:00
Dean Herbert
53c901bfa8
Expose DrawableRuleset
audio adjustments as non-container
2021-07-31 15:47:54 +09:00
Dean Herbert
29328bdf7f
Use metronome's audio adjustments directly
2021-07-31 15:03:26 +09:00
Dean Herbert
b01b0d711f
Merge branch 'master' into mute-mod-improvements
2021-07-31 14:55:44 +09:00
Salman Ahmed
397c73e786
Add audio adjustment support to Metronome
2021-07-31 02:16:02 +03:00
Dean Herbert
cd516c4ac7
Fix regressed metronome handling
2021-07-30 19:38:43 +09:00
Dean Herbert
d5e68f53b5
Change some defaults and always tween
2021-07-30 17:38:04 +09:00
Dean Herbert
bdc5eb6d3d
Add ability to also mute hitsounds
2021-07-30 17:25:01 +09:00
Dean Herbert
0c3f1195e9
Allow audio adjustments to be applied to DrawableRuleset
s
2021-07-30 17:25:01 +09:00
Dean Herbert
3cfd235b7f
Add tween when missing to avoid sudden volume difference
2021-07-30 16:10:20 +09:00
Dean Herbert
b399ddaea0
Add inverse setting
2021-07-30 16:10:10 +09:00
Dean Herbert
a2f3edbfc0
Fade track volume out as combo increases
2021-07-30 15:49:11 +09:00
Henry Lin
888e8f1c80
Use shared metronome class
2021-07-29 21:18:07 +08:00
Henry Lin
7251c28c4a
Merge branch 'master' into mod-muted
2021-07-29 21:14:03 +08:00
Henry Lin
935984d200
Rename MetronomeBeatContainer
to Metronome
2021-07-29 15:17:21 +08:00
Henry Lin
18e760ee91
Extract metronome from OsuModTarget
2021-07-29 14:52:18 +08:00
Henry Lin
0620cd130e
Change mod description
2021-07-29 14:41:47 +08:00
Henry Lin
58bbe9db7e
Added muted mod
2021-07-28 18:21:08 +08:00
Gabe Livengood
49160e4482
review modifications: maniamodmirror inheritance, reflection utilities, vertical flip option
2021-07-26 10:46:41 -04:00
Gabe Livengood
2e1cd4a389
remove accidental tab characters
2021-07-25 21:26:21 -04:00
Gabe Livengood
eb585a6120
Add "Mirror" mod
2021-07-25 20:40:50 -04:00
Dean Herbert
50a2abbe7f
Merge pull request #12683 from frenzibyte/legacy-beatmap-combo-offset
...
Apply combo offsets "colour hax" only on beatmap skins
2021-07-23 14:30:18 +09:00
Salman Ahmed
0b3b9e35ba
Also update colours once on DrawableHitObject
2021-07-23 07:32:56 +03:00
Salman Ahmed
8600a3bf5b
Replace "offset" term in combo index documentations with "index" instead
2021-07-23 07:31:03 +03:00
Dean Herbert
3392086d1c
Merge pull request #13984 from ekrctb/catch-editor-reverse
...
Implement "reverse pattern" in catch editor
2021-07-23 01:12:13 +09:00
Salman Ahmed
523c154f15
Add ComboIndexWithOffsetsBindable
and bind similar to ComboIndexBindable
2021-07-22 16:40:33 +03:00
ekrctb
cc01b9e639
Extract SliderPath
reverse logic to be used in other rulesets
2021-07-22 16:14:43 +09:00
Dean Herbert
399c3b0be8
Rename property, reword xmldoc and improve readability of update code
2021-07-21 17:32:56 +09:00
emu1337
84fd59777c
Merge branch 'master' into diffspike-balance
2021-07-20 19:39:41 +02:00
Salman Ahmed
9d92b795fa
Revert making ComboOffset
s legacy and define BeatmapSkinComboIndex
instead
2021-07-20 14:15:43 +03:00
Salman Ahmed
554652b033
Merge branch 'refactor-combo-colour-retrieval' into legacy-beatmap-combo-offset
2021-07-20 10:11:52 +03:00
Salman Ahmed
1af230c48c
Merge branch 'master' into refactor-combo-colour-retrieval
2021-07-20 10:08:25 +03:00
Dan Balasescu
5ef1fe6948
Merge branch 'master' into fix-replay-date
2021-07-19 21:58:37 +09:00
Dan Balasescu
f3bcaf7f11
Merge pull request #13929 from peppy/i-deep-cloneable
...
Create a deep clone of score for score submission purposes
2021-07-19 21:58:27 +09:00
Dean Herbert
b3f60c8253
Fix date being updated on replays unexpectedly
2021-07-19 19:28:35 +09:00
Dean Herbert
23ef666f34
Merge pull request #13887 from ekrctb/legacy-converted-y
...
Preserve Y position of hit objects in osu!catch
2021-07-19 18:48:23 +09:00
Dan Balasescu
473011070f
Merge pull request #13908 from peppy/editor-disallow-placement-when-untimed
...
Fix editor composer allowing object placement without timing present
2021-07-19 18:37:19 +09:00
Dean Herbert
b29209d13f
Ensure tool is always set back to select tool when beatmap becomes untimed
2021-07-19 17:08:40 +09:00
Dean Herbert
bde35d9f21
Rename radio button classes to be local to editor
2021-07-19 16:57:12 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Bartłomiej Dach
fb5d25405e
Replace calls to obsoleted GetOrDefault()
extension
2021-07-18 21:52:16 +02:00
Dean Herbert
eac9b1ec7e
Disable toolbox composition buttons when beatmap is not timed
2021-07-17 02:30:13 +09:00
ekrctb
7f432665e5
Preserve Y position of hit objects in osu!catch
2021-07-14 14:38:38 +09:00
Dean Herbert
ed29646291
Remove IApplicableToDifficulty.ReadFromDifficulty
...
This was added specifically for `ModDifficultyAdjust`, but turned out to
be more of a headache than we expected. We have since removed usage and
would hope that this is not required by any other mods.
Opting for complete removal rather than obsoletion, as we discovered
this was already broken in multiple cases, with fixes being quite
logically complex.
If you happen to be a ruleset developer relying on this, open an issue
and we'll talk you through a better approach (or check what
`ModDifficultyAdjust` is doing now for an example).
2021-07-14 12:32:16 +09:00
Dean Herbert
2436ebb6d3
Merge pull request #13874 from Naxesss/short-object-checks
...
Add object duration checks
2021-07-13 19:01:02 +09:00
Naxess
3a5912e35e
Add new checks to verifiers
2021-07-13 10:53:25 +02:00
Naxess
6da2a3d51f
Add zero-length objects check and tests
2021-07-13 10:50:11 +02:00
Dean Herbert
35841fa4f7
Merge branch 'master' into fix-difficulty-bindable-bind-order
2021-07-13 13:42:53 +09:00
Dean Herbert
5cff379cd9
Merge pull request #13860 from smoogipoo/fix-bindable-ctor
...
Fix DifficultyBindable not binding correctly and not having default ctor
2021-07-13 13:42:44 +09:00
Naxess
dc4285582b
Fix misplaced "f" in issue message
2021-07-13 06:07:04 +02:00
Naxess
c8f58cbf6c
Add audio in video check and tests
2021-07-13 04:17:41 +02:00
Naxess
a4a1919842
Add too short audio files check and tests
2021-07-13 03:46:45 +02:00
Naxess
0a8fd01b99
Add zero byte check and tests
2021-07-13 03:45:21 +02:00
Dan Balasescu
351a46b379
Merge pull request #13823 from ekrctb/catch-editor-tests
...
Add some tests for catch editor blueprints
2021-07-13 08:27:41 +09:00
Bartłomiej Dach
cce4a4dc31
Fix incorrect value copy order in BindTo()
2021-07-12 22:27:36 +02:00
smoogipoo
4b393209ec
Implement UnbindFrom()
2021-07-12 17:33:29 +09:00
smoogipoo
242982730f
Fix incorrect DifficultyBindable binding implementation
2021-07-12 17:09:09 +09:00
Dean Herbert
a6258d705e
Make CurrentNumber
internal
2021-07-12 11:26:30 +09:00
Bartłomiej Dach
32b4f5fbd6
Do not store direct references to original bindable
...
`DifficultyAdjustSettingsControl` and its inner `SliderControl` were
holding different references to `DifficultyBindable`s from the
difficulty adjust mod, therefore leading to bindings being lost to the
framework-side automatic unbind logic if the mod was toggled off and
back on in rapid succession.
Resolve by adding a shadowed implementation of `GetBoundCopy()` and
using it to isolate the controls from the mod bindable.
2021-07-11 15:28:13 +02:00
Dean Herbert
741062a6da
Simplify bindable update methods
2021-07-09 13:58:44 +09:00
Dean Herbert
e0277763d0
Refactor DifficultyAdjustSettingsControl
to help with readability
2021-07-09 13:50:07 +09:00
Dean Herbert
f9cd7f10d8
Allow null values for ReadCurrentFromDifficulty
...
As long as this isn't a constructor parameter it feels best to
gracefully handle omission. Realistically having it in the ctor is the
best move, but it doesn't feel great in line with the other parameters
passed in via object initalisers.
2021-07-09 13:26:01 +09:00
Dean Herbert
90326f8864
Standardise variables
2021-07-09 13:24:26 +09:00
Dean Herbert
b7803b889e
Rename control class to be more descriptive
2021-07-08 20:37:38 +09:00
Dean Herbert
ba939c0b65
Simplify serialisation edge case by moving to Value
override
2021-07-08 17:49:00 +09:00
Dean Herbert
52ea62e3b2
Add more comments and xmldoc
2021-07-08 17:49:00 +09:00
Dean Herbert
88b00123f6
Use existing reflection methods to avoid manual binding of ExtendedLimits
2021-07-08 17:49:00 +09:00
Dean Herbert
bd7c334588
Avoid the need for per-settings control classes
2021-07-08 17:49:00 +09:00
Dean Herbert
a6e94dd491
Add back extended limits support
2021-07-08 17:49:00 +09:00
Dean Herbert
c4313d6e96
Initial implementation of new flow (only working for approach rate)
2021-07-08 17:48:08 +09:00
Dean Herbert
0e4f4a6fde
Initial storage changes
2021-07-08 14:28:13 +09:00
ekrctb
663ffae42f
Fix hit object selection blueprint potential null reference
2021-07-08 14:19:00 +09:00
Dan Balasescu
d2722f1523
Merge branch 'master' into ruleset-shaders
2021-07-07 15:44:30 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Derrick Timmermans
216e52d6d0
Avoid using single letter variable names
2021-07-04 23:24:17 +02:00
Derrick Timmermans
32b068fbdc
Fix typo causing nested windows to be ignored
2021-07-04 21:50:58 +02:00
Henry Lin
6a0c5b54c3
Fix obsolete message in Mod.Ranked
2021-07-02 15:55:25 +08:00
Dean Herbert
0396a03bbc
Rename Mod.Ranked
back to avoid breaking ruleset API
2021-07-02 12:50:58 +09:00
Dean Herbert
f7aba7360a
Merge pull request #13654 from Henry-YSLin/fix-invisible-number-box
...
Refactor `SeedSettingsControl` and `SettingsNumberBox`
2021-06-28 16:07:30 +09:00
Dean Herbert
f939e2603a
Merge branch 'master' into localisable-tooltips
2021-06-28 15:29:42 +09:00
Henry Lin
0cceef8da5
Moved the string
to int?
conversion logic into SettingsNumberBox
2021-06-28 11:00:07 +08:00
Dean Herbert
a1e8cc5444
Merge pull request #13669 from Naxesss/hitsound-checks
...
Add hitsound checks
2021-06-28 03:13:43 +09:00
Naxess
9f9e96ce9e
Add check for spanDuration
<= 0 prior to division
2021-06-27 15:40:09 +02:00
Naxess
a4a5325b73
Improve acceptable difference for repeat edges
...
Likelihood that `spanDuration` is greater than E+7 is quite low in any realistic case, so this should work fine.
2021-06-27 15:39:31 +02:00
Naxess
4cfa0ae5ec
Improve precision for repeat edges
2021-06-27 03:26:35 +02:00