Bartłomiej Dach
5ad962070c
Fix skin editor freezing game if opened during active gameplay
2023-10-27 14:34:30 +02:00
Bartłomiej Dach
dc7f5cd6ed
Add preventive assertions concerning submission flow state
2023-10-27 13:30:51 +02:00
Bartłomiej Dach
2d5b1711f6
Share !HasPassed
condition
2023-10-27 13:27:48 +02:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay
as no longer needed
2023-10-27 12:39:54 +02:00
Bartłomiej Dach
86a8ab6db6
Fix quick retry immediately after completion marking score as failed
...
Closes https://github.com/ppy/osu/issues/25247 .
The scenario involved here is as follows:
1. User completes beatmap by hitting all notes.
2. `checkScoreCompleted()` determines completion, and calls
`progressToResults(withDelay: true)`.
3. `progressToResults()` schedules `resultsDisplayDelegate`, which
includes a call to `prepareAndImportScoreAsync()`, a second in the
future.
4. User presses quick retry hotkey.
This calls `Player.Restart(quickRestart: true)`,
which invokes `Player.RestartRequested`,
which in turn calls `PlayerLoader.restartRequested(true)`,
which in turn causes `PlayerLoader` to make itself current,
which means that `Player.OnExiting()` will get called.
5. `Player.OnExiting()` sees that `prepareScoreForDisplayTask` is null
(because `prepareAndImportScoreAsync()` - which sets it -
is scheduled to happen in the future), and as such assumes that
the score did not complete. Thus, it marks the score as failed.
6. `Player.Restart()` after invoking `RestartRequested` calls
`PerformExit(false)`, which then will unconditionally call
`prepareAndImportScoreAsync()`. But the score has already been marked
as failed.
The flow above can be described as "convoluted", but I'm not sure I have
it in me right now to try and refactor it again. Therefore, to fix,
switch the `prepareScoreForDisplayTask` null check in
`Player.OnExiting()` to check `GameplayState.HasPassed` instead, as it
is not susceptible to the same out-of-order read issue.
2023-10-27 12:17:03 +02:00
Dean Herbert
f931f4c324
Remove reundant interface specification
2023-10-27 18:19:44 +09:00
Dean Herbert
fc25e24397
Merge branch 'master' into score-encoding-cleanup
2023-10-27 18:03:38 +09:00
Bartłomiej Dach
fdb81bfa4c
Rename methods to not mention "source clock" anymore
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
565ae99e0d
Fix StopUsingBeatmapClock()
applying adjustments to track it was supposed to stop using
...
- Closes https://github.com/ppy/osu/issues/25248
- Possibly also closes https://github.com/ppy/osu/issues/20475
Regressed in e33486a766
.
`StopUsingBeatmapClock()` intends to, as the name says, stop operating
on the working beatmap clock to yield its usage to other components on
exit. As part of that it tries to unapply audio adjustments so that
other screens can apply theirs freely instead.
However, the aforementioned commit introduced a bug in this. Previously
to it, `track` was an alias for the `SourceClock`, which could be
mutated in an indirect way via `ChangeSource()` calls. The
aforementioned commit made `track` a `readonly` field, initialised in
constructor, which would _never_ change value. In particular, it would
_always_ be the beatmap track, which meant that
`StopUsingBeatmapClock()` would remove the adjustments from the beatmap
track, but then at the end of the method, _apply them onto that same
track again_.
This was only saved by the fact that clock adjustments are removed again
on disposal of the `MasterGameplayClockContainer()`. This - due to async
disposal pressure - could explain infrequently reported cases wherein
the track would just continue to speed up ad infinitum.
To fix, fully substitute the beatmap track for a virtual track at the
point of calling `StopUsingBeatmapClock()`.
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
7779554360
Merge branch 'master' into fix-catch-distance-snap-grid
2023-10-26 17:50:15 +02:00
Dean Herbert
a463c37320
Merge pull request #25243 from bdach/song-select-volume-scroll-blocked
...
Fix left side of carousel blocking volume adjust hotkeys
2023-10-27 00:23:47 +09:00
Salman Ahmed
c51513705a
Merge branch 'master' into fix-catch-distance-snap-grid
2023-10-26 17:44:33 +03:00
Bartłomiej Dach
2fa2217381
Fix left side of carousel blocking volume adjust hotkeys
...
Closes https://github.com/ppy/osu/issues/25234 .
A little ad-hoc, but probably fine...?
2023-10-26 16:26:35 +02:00
Bartłomiej Dach
5d6a58d443
Add failing test scene for scroll handling in song select
2023-10-26 16:24:16 +02:00
Salman Ahmed
54b69333f0
Merge branch 'master' into double-click-disabled-slider
2023-10-26 17:01:46 +03:00
Bartłomiej Dach
79910df959
Fix catch distance snap provider not hiding slider properly
...
Regressed in https://github.com/ppy/osu/pull/25171 .
The old code was kinda dependent on correct order of setting `Disabled`.
`CatchHitObjectComposer` would disable distance spacing in its BDL, and
then via the base `DistancedHitObjectComposer.LoadComplete()`, the
slider would be faded out. The switch to composition broke that
ordering.
To fix, stop relying on ordering and just respond to changes as they
come. That's what bindables are for.
2023-10-26 15:46:32 +02:00
Bartłomiej Dach
b078748724
Merge pull request #25235 from peppy/add-ctrl-r-quick-retr
...
Add ability to quick retry using Ctrl-R
2023-10-26 15:27:04 +02:00
Bartłomiej Dach
cbb2a0dd70
Use both score ID types to deduplicate score on solo results screen
2023-10-26 15:09:59 +02:00
Bartłomiej Dach
c3e9f5184f
Fix SoloScoreInfo
not copying over legacy score ID when converting to ScoreInfo
2023-10-26 15:09:34 +02:00
Bartłomiej Dach
900530080f
Make SoloScoreInfo
implement IScoreInfo
2023-10-26 14:58:35 +02:00
Bartłomiej Dach
526ee6e140
Remove IScoreInfo : IHasNamedFiles
inheritance
2023-10-26 14:58:33 +02:00
Dean Herbert
238e8175ae
Add ability to quick retry using Ctrl-R
...
Matches osu!stable
2023-10-26 21:26:26 +09:00
Bartłomiej Dach
3b9c4c9d53
Do not revert to default value when double-clicking disabled slider
...
Closes https://github.com/ppy/osu/issues/25228 .
2023-10-26 12:11:26 +02:00
Dean Herbert
4cca70ee19
Fix iOS AOT compilation failure due to SharpCompress library upgrade
2023-10-26 17:42:28 +09:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup
2023-10-26 09:04:05 +02:00
Bartłomiej Dach
5e059a362f
Merge pull request #25223 from peppy/prompt-before-save-for-export
...
Fix editor not prompting before saving beatmap for export
2023-10-25 12:03:26 +02:00
Bartłomiej Dach
2a075065d8
Merge pull request #25217 from peppy/update-country-codes
...
Update country code names to match database
2023-10-25 08:31:28 +02:00
Dean Herbert
6934e045df
Fix editor not prompting before saving beatmap for export
2023-10-25 14:39:46 +09:00
Dean Herbert
23ea128f30
Merge branch 'master' into velocity-based-ball-animation
2023-10-25 14:01:19 +09:00
Dean Herbert
da07066a74
Add note about CountryCode
being at parity with osu_countries
2023-10-25 13:03:03 +09:00
Dean Herbert
34505b3933
Merge pull request #25185 from bdach/minimum-sample-volume
2023-10-24 22:04:43 +09:00
Bartłomiej Dach
19be0055d5
Merge pull request #24921 from Pasi4K5/diff-name-search
...
Add ability to search for difficulty names using square brackets
2023-10-24 12:07:02 +02:00
Dean Herbert
c9161a7bfc
Remove incorrect copy paste fail
2023-10-24 17:32:01 +09:00
Bartłomiej Dach
abfe2ce0fe
Fix comment
2023-10-24 10:05:20 +02:00
Dean Herbert
fcb366af4d
Add diff=
support for more advanced usages
2023-10-24 16:09:05 +09:00
Dean Herbert
6865d8894d
Simplify implementation and remove unsupported test coverage
2023-10-24 16:01:32 +09:00
Bartłomiej Dach
05d7516479
Merge pull request #25182 from peppy/song-select-scroll-improvemets
...
Improve mouse interactions at song select
2023-10-24 08:26:20 +02:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
...
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
1274829193
Block scroll and click operations on the left side of song select
2023-10-24 14:51:40 +09:00
Dean Herbert
17070707b5
Update and add remaining country codes to match database
2023-10-24 14:46:58 +09:00
Dean Herbert
11c949d091
Sort countries alphabetically
2023-10-24 14:45:25 +09:00
Dean Herbert
1591246afb
Update country code names to match database
...
Required for ASS / osu-web cross-compatibility
2023-10-24 13:53:31 +09:00
Pasi4K5
c5339f440e
Apply code review suggestions
2023-10-23 23:30:54 +02:00
Dean Herbert
baf4130f3a
Fix test clock no longer accounting for rate changes
2023-10-23 22:28:40 +09:00
Dean Herbert
15c1fcbf96
Set ManualClock
rate to 0 to avoid interpolation causing test errors
2023-10-23 20:29:36 +09:00
Andrei Zavatski
b18a5e63b7
Remove nullable disable
2023-10-23 13:29:46 +03:00
Andrei Zavatski
ac1783fa94
Fix comment
2023-10-23 13:26:59 +03:00
Andrei Zavatski
1dbdbd6de6
Merge branch 'master' into comments-image-size
2023-10-23 13:22:31 +03:00
Dean Herbert
fc1254ba47
Update resources
2023-10-23 16:15:56 +09:00
Andrei Zavatski
e1e9c3d7b3
Fix incorrect height limit
2023-10-22 00:33:26 +03:00
Andrei Zavatski
71718bd761
Limit comment sprite height
2023-10-22 00:11:59 +03:00
Salman Ahmed
491f119988
Add animation support for legacy osu!mania column lights
2023-10-21 00:22:34 +03:00
Salman Ahmed
ac8c2a173b
Apply velocity into legacy slider ball animation rate
2023-10-20 22:47:45 +03:00
Bartłomiej Dach
c58a47760e
Merge pull request #25167 from peppy/fix-circle-radius
...
Fix circle scale not matching stable due to missing multiplier
2023-10-20 20:59:53 +02:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor
2023-10-20 15:50:21 +02:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5%
2023-10-20 15:50:13 +02:00
Jamie Taylor
fbf8f52f7d
Add audio feedback for when keys are pressed during key binding
2023-10-20 21:01:37 +09:00
Jamie Taylor
6b28f85615
Change RevertToDefaultButton
and BackButton
to use Default
sampleset instead
2023-10-20 21:01:36 +09:00
Jamie Taylor
6dc4dbde13
Reduce LoginOverlay
pop-in/pop-out sample panning to match NowPlayingOverlay
2023-10-20 21:01:36 +09:00
Jamie Taylor
e17c94d09d
Change ruleset button hover samples to Default
instead of Button
to match other toolbar buttons
2023-10-20 21:01:36 +09:00
Jamie Taylor
bf608a6b08
Use Button
sample set for NewsCard
2023-10-20 21:01:36 +09:00
Jamie Taylor
ba6e36bd67
Remove NowPlayingOverlay
custom pop-in/pop-out samples in favour of the generic overlay ones
2023-10-20 21:01:36 +09:00
Jamie Taylor
6e8a4c2eff
Fix toolbar ruleset buttons not having hover sounds
2023-10-20 21:01:36 +09:00
Dean Herbert
906b700aca
Fix fudge not being applied
2023-10-20 20:18:14 +09:00
Dean Herbert
a26e0bda35
Merge pull request #25179 from bdach/insufficient-sample-point-query-leniency
...
Fix insufficient leniency when querying sample points
2023-10-20 20:07:32 +09:00
Dean Herbert
0ae0b0c353
Fix carousel "reset position" marging not scaling with UI scale correctly
2023-10-20 20:04:26 +09:00
Dean Herbert
137a1d948d
Allow interacting with the carousel anywhere in empty space at song select
2023-10-20 20:04:11 +09:00
Susko3
5bbbca3e44
Also support D
for those with muscle memory from stable
2023-10-20 12:22:00 +02:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions
and stop applying rounding allowance to catch
...
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Dean Herbert
2ba6286470
Merge branch 'master' into fix-circle-radius
2023-10-20 18:53:36 +09:00
Susko3
4a3a4ee17f
Change beatmap listing key to B to match Ctrl-B shortcut
2023-10-20 11:47:00 +02:00
Bartłomiej Dach
c89081589c
Fix insufficient leniency when querying sample points
2023-10-20 10:26:16 +02:00
Dean Herbert
686c45e21b
Merge branch 'master' into legacy-tick-test-coverage
2023-10-20 16:41:32 +09:00
Bartłomiej Dach
2c6bf9e346
Remove unused using directive
2023-10-19 20:45:47 +02:00
Dean Herbert
013b5fa916
Move beat snap grid implementation details to ScrollingHitObjectComposer
2023-10-19 23:54:34 +09:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid
2023-10-19 23:53:01 +09:00
Bartłomiej Dach
144ef5a87c
Remove DistancedHitObjectComposer
2023-10-19 11:46:30 +02:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer
inheritance from osu! composer
2023-10-19 11:46:30 +02:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider
from IDistanceSnapProvider
...
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.
`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Dean Herbert
040d0970f2
Use DifficultyRange
helper method in one more place
2023-10-18 23:54:18 +09:00
Dean Herbert
3a5490892c
Centralise and repair circle size calculations game-wide
2023-10-18 19:50:42 +09:00
Bartłomiej Dach
cff69d63a6
Add inline commentary in Mod{Day,Night}core
about different speed adjustments
2023-10-18 12:27:16 +02:00
Dean Herbert
9907adc337
Take in IBindable
s and tidy up multiplier handling
2023-10-18 17:39:13 +09:00
Dean Herbert
161890292f
Move audio adjustment hookup to own method for clarity
2023-10-18 17:38:11 +09:00
Dean Herbert
e56ff33271
Also share ScoreMultiplier
implementation
2023-10-18 17:23:50 +09:00
Dean Herbert
43238b0cee
Split common functionality from rate adjust mods into helper class
2023-10-18 17:23:50 +09:00
Dean Herbert
eabfcfbf2a
Merge branch 'master' into pitch_change
2023-10-18 16:33:03 +09:00
Dan Balasescu
939b55020c
Merge branch 'master' into legacy-tick-test-coverage
2023-10-18 15:21:31 +09:00
Joseph Madamba
18e8ca6245
Add ability to revert slider settings to default when double-clicking nub
2023-10-17 21:41:03 -07:00
Bartłomiej Dach
e927267c4d
Merge pull request #25155 from peppy/fix-new-inspections
...
Fix various new rider EAP inspections
2023-10-17 17:04:39 +02:00
Dean Herbert
d9fc532a9f
Merge pull request #25152 from bdach/key-binding-deduplication
...
Clear pre-existing bindings of same key combination to single action
2023-10-17 17:49:51 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections
2023-10-17 17:48:51 +09:00
Dean Herbert
5341a335a6
Bypass Parent
nullability checks for now
2023-10-17 17:48:45 +09:00
Bartłomiej Dach
7abd7fe658
Remove redundant explicit array type specification
2023-10-17 10:26:02 +02:00
Dean Herbert
4885c55ef0
Merge branch 'master' into key-binding-deduplication
2023-10-17 17:17:44 +09:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets
2023-10-17 17:09:42 +09:00
Dean Herbert
2a89a25790
Add beat snap grid to osu!taiko editor
...
Addresses https://github.com/ppy/osu/discussions/25150 .
2023-10-17 16:59:56 +09:00
Bartłomiej Dach
4cfc95c673
Add backwards migration of catch dash binding
2023-10-17 09:43:40 +02:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid
2023-10-17 16:42:52 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo
at a HitObjectComposer
level automatically
2023-10-17 16:42:22 +09:00