1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 03:07:26 +08:00
Commit Graph

3608 Commits

Author SHA1 Message Date
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 DrawableRulesets 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 ComboOffsets 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
Naxess
2cd7eda3c4 Add "or equal to" to volume threshold xmldocs 2021-06-27 02:30:12 +02:00
Naxess
0c0fd291d9 Order hitobjects by endtime 2021-06-27 01:25:03 +02:00
Naxess
4796b1b208 Use local variables for hasHitsound & couldHaveHitsound 2021-06-27 00:04:30 +02:00
Naxess
5bc08ebadb Rename hasHitsounds -> mapHasHitsounds 2021-06-26 23:49:25 +02:00
Naxess
d29e6f4695 Add negligible template to PossibleTemplates 2021-06-26 23:49:06 +02:00
Naxess
1913084342 Use HitSampleInfo.AllAdditions instead of new list 2021-06-26 23:48:28 +02:00
Naxess
f78cc9397e Factor out edge type logic 2021-06-26 20:45:31 +02:00
Naxess
51147405c5 Make || and && priority explicit 2021-06-26 20:44:39 +02:00
Naxess
4b436b774d Add few hitsounds check 2021-06-26 19:20:46 +02:00
Naxess
d8117fa730 Add muted objects check 2021-06-26 19:20:34 +02:00
Henry Lin
3b822cd5cf Refactor SeedSettingsControl and related controls 2021-06-26 11:19:14 +08:00
Bartłomiej Dach
50c27d2635 Update usages of IHasTooltip in line with framework localisation changes 2021-06-25 19:10:04 +02:00
Henry Lin
31c786e1c3 Use SettingsNumberBox.NumberBox instead of OsuNumberBox 2021-06-25 09:51:34 +08:00
ekrctb
e1b2c63e09 Add IApplicableToBeatmapProcessor mod interface 2021-06-23 14:46:30 +09:00
Dean Herbert
a1da9c5ee3
Merge pull request #13626 from Henry-YSLin/IHasSeed-interface
Extract `SeedSettingsControl` to `IHasSeed` interface
2021-06-23 14:10:34 +09:00
Dean Herbert
54084f8a9c Move SeedSettingsControl to own file 2021-06-23 13:40:05 +09:00
smoogipoo
6fd020d91d Remove unnecessary public accessibility
All interface members are implicitly public.
2021-06-23 12:00:57 +09:00
Salman Ahmed
2b1f461d79 Pass empty resource store for FallbackShaderManager base constructor 2021-06-22 12:36:45 +03:00
Dean Herbert
1b0aadcc6f Merge branch 'master' into transformers-per-skin 2021-06-22 16:03:15 +09:00
Henry Lin
fc224c53f4 Remove extra usings 2021-06-22 14:49:37 +08:00
Henry Lin
3745101f32 Extract seed setting control to IHasSeed 2021-06-22 14:43:41 +08:00
Salman Ahmed
67f0344c0c Add support for loading shaders from ruleset resources 2021-06-20 23:07:44 +03:00
Dean Herbert
3f336d88ec
Merge pull request #11461 from peppy/realm-key-binding-store
Add initial realm database implementation with KeyBindingStore migration
2021-06-19 02:49:41 +09:00
Dean Herbert
89c27dcb10
Merge pull request #13517 from ekrctb/initial-entry
Allow setting `Entry` of `PoolableDrawableWithLifetime` (including `DrawableHitObject`)
2021-06-19 00:03:41 +09:00
Dean Herbert
2dadc9d686 Remove unused using statement 2021-06-18 19:39:01 +09:00
Dean Herbert
78c5ccda60 Fix renaming a ruleset DLL causing a startup crash 2021-06-18 19:32:40 +09:00
smoogipoo
42c5a962fb Add xmldoc remark 2021-06-18 19:27:10 +09:00
smoogipoo
36d51d5117 Don't set entry immediately 2021-06-18 19:23:37 +09:00