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
Salman Ahmed
07e7d533bf
Bake external scale factors into glyph scale
2023-10-26 10:01:27 +03:00
Salman Ahmed
e119e045e4
Update "Argon" skin components layout and use the new components
2023-10-26 09:13:09 +03:00
Salman Ahmed
df80b4dcab
Update "Argon" health display specifications to match design
...
Also adds a little white bar next to the display to match with the
components below it (score/accuracy/combo counters).
2023-10-26 09:12:05 +03:00
Salman Ahmed
50af1574cf
Add "Argon" background wedges
2023-10-26 09:10:56 +03:00
Salman Ahmed
56eeb117ce
Add "Argon" performance points counter
2023-10-26 09:10:10 +03:00
Salman Ahmed
daf4a03fd0
Abstractify PP counter logic from the "Triangles" implementation
2023-10-26 09:09:55 +03:00
Salman Ahmed
0aa0562dc0
Add "Argon" combo counter
2023-10-26 09:09:55 +03:00
Salman Ahmed
1f36acca1a
Add "Argon" accuracy counter
2023-10-26 09:09:52 +03:00
Salman Ahmed
9ca672d689
Add "Argon" total score counter
2023-10-26 08:58:25 +03: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
Salman Ahmed
8ed660d863
Remove incorrect logic
2023-10-23 01:58:25 +03:00
Salman Ahmed
12bb4b697c
Support retrieving textures in argon skin from game resources
2023-10-23 01:24:32 +03: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
Dean Herbert
165cd07428
Persist the state of "show speed changes" between editor sessions
...
Addresses https://github.com/ppy/osu/discussions/25149 .
2023-10-17 16:01:02 +09:00
Dan Balasescu
d2a3f14d5b
Merge branch 'master' into mania-bonus-refactor
2023-10-17 13:28:04 +09:00
Bartłomiej Dach
828cedea33
Fix bindings being cleared if multiple bindings for same action have the same combination
...
This actually seems to be the case in catch (dash is bound to shift
twice). This is annoying but harmless, so let's work around it for now
to avoid ruining users' configs.
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
9c6166ec3d
Add migration to remove duplicate bindings
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
639c96e60c
Prevent ruleset input managers from reading duplicate bindings
2023-10-16 21:02:24 +02:00
Bartłomiej Dach
90c44cee54
Implement method to deduplicate keybindings
2023-10-16 20:51:57 +02:00
Bartłomiej Dach
79273b88f6
Add stub of method to deduplicate bindings (and failing test)
2023-10-16 20:48:52 +02:00
Bartłomiej Dach
f2436a5ecb
Remove no longer used scoring difficulty attributes
2023-10-16 12:36:58 +02:00
Bartłomiej Dach
e2192806e4
Use ID
rather than SoloScoreID
...
The latter is apparently not going to be a thing anymore.
2023-10-16 12:02:55 +02:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c4af8591a5
Preserve OnlineID
when importing scores
...
Previously, for lazer scores, the ID returned from `osu-web` was
discarded and replaced with -1, due to the fact that the appropriate
structures for unification with stable, as well as unification across
solo and multiplayer, were not in place yet.
Now we're at the point where scores from all the aforementioned sources
receive a `solo_scores` DB row, and as such, we can start treating
`solo_scores`-scheme IDs as canonical "online IDs" for a score.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
d5a733d244
Use solo score ID as OnlineID
when converting from MultiplayerScore
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
b144cfd55c
Add LegacyOnlineID
handling to places that definitely need it
...
Mostly places that can interact with imported replays.
There are other places that use the online ID as a sort tiebreaker, or
to check presence of a score on results screens, but they should
probably still continue to only use `OnlineID`, since all scores with a
legacy online ID should have an online ID, but the converse is not
generally true.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c53f4c144c
Encode/decode new OnlineID
into/from LegacyReplaySoloScoreInfo
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
fa519984df
Move legacy online ID encode/decode to legacy property
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c1a817fec6
Add LegacyOnlineID
with backwards migration
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
9cd33d9bb2
Merge pull request #25139 from peppy/collection-ordering-fix
...
Fix collections not being sorted alphabetically in context menus
2023-10-16 10:53:43 +02:00
Bartłomiej Dach
ee3ddacf46
Merge pull request #25140 from peppy/manage-collections-drag-handles-bye-bye
...
Remove drag handles from manage collections dialog for now
2023-10-16 10:47:38 +02:00
Dean Herbert
7139592e43
Fix collections not being sorted correctly in context menus
2023-10-16 16:03:12 +09:00
Dean Herbert
36112302d6
Remove drag handles from manage collections dialog for now
...
The realm implementation doesn't support this.
2023-10-16 15:51:18 +09:00
Dean Herbert
48832c64ac
Fix health bar animating when it shouldn't be
...
It wasn't correctly checking the current underlying health, which could
be zero in usages of `AccumulatingHealthProcessor`, for instance.
Closes #25046 .
2023-10-16 13:12:04 +09:00
Dean Herbert
67a8a51ec7
Merge branch 'master' into generic-error-sfx
2023-10-14 03:56:41 +09:00
Dean Herbert
d4627a2402
Update resources
2023-10-14 03:48:59 +09:00
Bartłomiej Dach
c762241268
Merge branch 'master' into fix-hr-cs-mania-adjustment
2023-10-13 14:08:05 +02:00
Jamie Taylor
d97b618d02
Use new generic-error
sample in appropriate places
2023-10-13 21:06:50 +09:00
Dean Herbert
3d5736188e
Merge pull request #25112 from bdach/dangerous-button-shades
...
Fix dangerous buttons using different shades of pink
2023-10-13 20:43:24 +09:00
Bartłomiej Dach
af89d69fc4
Fix dangerous buttons using different shades of pink
2023-10-13 13:16:24 +02:00
Bartłomiej Dach
a88779e588
Use dimmed placeholder text instead of empty box on cleared bindings
2023-10-13 13:10:04 +02:00
Dean Herbert
6358a5e210
Merge pull request #25105 from bdach/multiple-keys-one-binding
...
Disallow binding multiple bindings in a single section to one key
2023-10-13 20:01:33 +09:00
Bartłomiej Dach
a1c68b66f2
Rename KeyBindingRow
parts to appease CodeFileSanity
2023-10-13 12:06:25 +02:00
Bartłomiej Dach
ea766b792d
Update localisation keys to match localisable member names
2023-10-13 11:58:55 +02:00
Bartłomiej Dach
5f51b8a7c9
Merge pull request #25097 from peppy/results-screen-progress-fast
...
Show results immediately if user hits "back" key after finishing gameplay
2023-10-13 11:54:34 +02:00
Dean Herbert
17b6ebbfbf
Avoid using a bindable in KeyBindingConflictPopover
where data is never mutated
2023-10-13 18:40:21 +09:00
Dean Herbert
9b0c4acdef
Split KeyBindingRow
out into partial pieces
2023-10-13 18:29:06 +09:00
Dean Herbert
8e609b6f1d
Switch records to classes for sanity
...
I don't have anything against records except for the capitalisation when
including the paramter names in a constructor.
ie. `new Record(This: 1);`
2023-10-13 18:19:12 +09:00
Bartłomiej Dach
d5557bbbfb
Merge pull request #25005 from minetoblend/multiplayer-invites
...
Add ability to invite players to multiplayer rooms
2023-10-13 11:09:28 +02:00
Dean Herbert
d7a06059f2
Rename string properties to give more hinting to localisers
2023-10-13 17:49:48 +09:00
Bartłomiej Dach
e04a57d67f
Use less dodgy method of specifying allowable notification types
2023-10-13 10:31:00 +02:00
Bartłomiej Dach
79cec7707d
Privatise setter
2023-10-13 09:56:46 +02:00
Dean Herbert
3787348448
Change Perfect
judgement to not give extra score
2023-10-13 16:29:02 +09:00
Bartłomiej Dach
61b8d035fe
Use dangerous colour for "apply new" button
2023-10-13 09:08:13 +02:00
Dean Herbert
37411f923e
Merge branch 'master' into multiple-keys-one-binding
2023-10-13 15:07:12 +09:00
Dean Herbert
549a6581b0
Merge branch 'master' into make-realm-key-binding-action-suck-less
2023-10-13 13:53:24 +09:00
Dean Herbert
9289c47cd4
Tidy up GlobalActionContainer
a bit
2023-10-13 13:47:51 +09:00
Dean Herbert
aabed8b6e5
Merge pull request #25093 from Joehuu/mod-switch-tiny-extended-info
...
Add extended info support to tiny mod switches
2023-10-13 13:40:24 +09:00
Bartłomiej Dach
6c8490bc7e
Revert changes to LoungeSubScreen.Join()
...
- `virtual` modifier was used in mocking.
- The spacing change revert is just mostly to keep it out of the final
diff.
2023-10-12 20:39:40 +02:00
Bartłomiej Dach
edec10204e
Merge pull request #25096 from peppy/show-total-bonus
...
Show maximum bonus statistics on results screen
2023-10-12 20:29:28 +02:00
Bartłomiej Dach
f083309e64
Move type back next to exposing class
2023-10-12 20:26:01 +02:00
Bartłomiej Dach
f1c1ffbdfd
Add localisation support
2023-10-12 20:26:01 +02:00
Bartłomiej Dach
08bdea0036
Reformat code
2023-10-12 20:26:01 +02:00
Bartłomiej Dach
991e425b9a
Refactor conflict handling flow to be less back-and-forth
2023-10-12 20:25:59 +02:00
Bartłomiej Dach
9468371556
Fix min width not really working as intended
2023-10-12 16:04:46 +02:00
Bartłomiej Dach
b09252a8f8
Fix restore-to-default button for entire section triggering conflicts
2023-10-12 16:04:46 +02:00
Bartłomiej Dach
f5a6781e5a
Integrate key binding conflict popover into keybindings panel
2023-10-12 16:04:46 +02:00
Bartłomiej Dach
7b6563116a
Implement visual appearance of key binding conflict popover
2023-10-12 16:01:51 +02:00
Bartłomiej Dach
aa8dbd742e
Hoist database update to subsection level
...
The end goal here is to be able to better coordinate deconfliction of
bindings at the subsection level rather than try to jam that logic into
individual rows somehow.
The flipside is that this is going to require a flow to update the
individual rows after the subsection's intervention, but that's what the
previous commit was for.
2023-10-12 16:01:51 +02:00
Bartłomiej Dach
5f0b1d69a5
Prepare KeyBindingRow
for accepting external changes
2023-10-12 16:00:20 +02:00
Bartłomiej Dach
c2e92cbb70
Refactor key binding panel leveraging new helper methods
2023-10-12 15:03:29 +02:00
Bartłomiej Dach
1c784c9abe
Add API for retrieving global key bindings per section
2023-10-12 14:24:21 +02:00
Bartłomiej Dach
2a0e4c364d
Add method to unmap RealmKeyBinding.Action
to actual enum-typed value
2023-10-12 14:17:26 +02:00
Dean Herbert
3849b11644
Fix "Hard Rock" mod affecting CS/AR in osu!mania
...
Closes https://github.com/ppy/osu/issues/25090 .
Not sure if there are other exceptions we should account for here.
2023-10-12 19:48:47 +09:00
Dean Herbert
fa47309eef
Fix exit key during storyboard outro not progressing to results
2023-10-12 19:31:54 +09:00
Dean Herbert
d174a6ce61
Remove dead code which was only there for the exit-specific scenario
2023-10-12 19:27:35 +09:00
Dean Herbert
32eda99c3a
Add missing xmldoc returns
2023-10-12 19:06:34 +09:00
Dean Herbert
1ce268be3f
Update some packages to match osu.Server.Spectator
2023-10-12 18:58:42 +09:00
Dean Herbert
fc1287b4c6
Reword xmldoc on invite method to better describe what is happening
2023-10-12 18:25:20 +09:00
Dean Herbert
56e27f1c27
Merge branch 'master' into multiplayer-invites
2023-10-12 18:17:15 +09:00
Dean Herbert
e48c4fa430
Add missing ConfigureAwait
calls
2023-10-12 18:15:15 +09:00
Dean Herbert
a591af2b97
Fix too many tasks in lookupRoom
method
2023-10-12 18:11:04 +09:00
Dean Herbert
5f62c225bf
Ad localisation (and adjust messaging) of invite failures
2023-10-12 18:07:03 +09:00
Dean Herbert
361d70f68a
Rename callback to match standards
2023-10-12 17:59:47 +09:00
Dean Herbert
d2aa601912
Allow localisation of the invite notification
2023-10-12 17:59:08 +09:00
Dean Herbert
a1a9bb75b7
Remove unnecessary schedule logic
2023-10-12 17:55:58 +09:00
Dean Herbert
cde4fad610
Simplify async
lookup logic in Invited
handling
2023-10-12 17:55:14 +09:00
Dean Herbert
94d7a65e40
Schedule Join
operations rather than using OnLoadComplete
for added safety
2023-10-12 17:42:02 +09:00
Dean Herbert
a512ef5637
Add exceptions to online state handling
2023-10-12 17:41:31 +09:00
Dean Herbert
20f32e2025
Add light colouring for user notifications and adjust lighting slightly
2023-10-12 16:06:06 +09:00
Dean Herbert
aee8ba789c
Tidy up UserAvatarNotification
implementation
2023-10-12 16:06:06 +09:00
Dean Herbert
55a9de034d
Change NotificationOverlay
type based logic to not require specifying every type of notification
2023-10-12 16:00:23 +09:00
Dean Herbert
242a41371c
Fix HotkeyOverlay
fade out occurring when exit is blocked
2023-10-12 15:42:54 +09:00
Dean Herbert
7c0d496730
Show results immediately if user hits "back" key after finishing gameplay
...
I've gone ahead and matched the osu!stable behaviour for this, as it
seems like it's what people are used to and they will settle for no
less.
Closes https://github.com/ppy/osu/issues/18089 .
2023-10-12 15:42:23 +09:00
Dean Herbert
d2044fc2cc
Merge pull request #25082 from peppy/test-scene-background
...
Remove test scene background stack and use new `ChangeBackgroundColour`
2023-10-12 14:57:34 +09:00
Dean Herbert
5bb73632c4
Show maximum bonus statistics on results screen
...
Addresses https://github.com/ppy/osu/discussions/25088 .
2023-10-12 14:55:16 +09:00
Dean Herbert
194ad9650d
Remove test scene background stack and use new ChangeBackgroundColour
method
2023-10-12 14:08:31 +09:00
Dean Herbert
29eba3c58a
Update framework
2023-10-12 14:08:31 +09:00
Dean Herbert
f26e3afd29
Merge pull request #25062 from smoogipoo/remove-hold-note-ticks
...
Remove osu!mania hold note ticks
2023-10-12 13:55:50 +09:00
Joseph Madamba
764f641bc9
Add extended info support to tiny mod switches
2023-10-11 12:47:12 -07:00
Bartłomiej Dach
712564ea4f
Enable NRT in KeyBindingsSubsection
2023-10-11 20:03:31 +02:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks
2023-10-11 19:47:51 +02:00
Bartłomiej Dach
041318e3e8
Assign red colour to ComboBreak
hit result
...
For a judgement result to show up on the colour hit error meter, it has
to be two things: be scorable, and not be bonus.
`ComboBreak` happens to meet both of those criteria - it impacts score
indirectly via decreasing the combo portion, and isn't bonus. Therefore
it would show up on the colour hit error meter, but because
`OsuColour.ForHitResult()` wasn't handling it explicitly, it was
painting the result in light blue, which isn't ideal for a miss type
judgement. Therefore, use red instead.
There is possibly an argument to be made that this judgement should not
show up on the colour hit error meter at all, but I think it's actually
okay for it to be this way. In any case it doesn't appear to be anything
so major as to warrant blocking the hold note tick removal at this time.
2023-10-11 19:44:46 +02:00
Bartłomiej Dach
797109c05c
Enable NRT in KeyBindingRow
2023-10-11 08:50:00 +02:00
Bartłomiej Dach
0b2b065383
Add xmldoc
2023-10-11 08:50:00 +02:00
Bartłomiej Dach
7ac874d17a
Use init-only properties where applicable
2023-10-11 08:49:58 +02:00
Bartłomiej Dach
1acc02405e
Reorder KeyBindingRow
members
2023-10-11 08:18:59 +02:00
Bartłomiej Dach
6f5f3a1ef4
Merge branch 'master' into fix-argon-health-bar-flash
2023-10-10 20:03:20 +02:00
Bartłomiej Dach
66c12e5269
Merge pull request #25083 from peppy/fix-preview-point-incorrect
...
Fix default preview point being incorrect on old beatmaps
2023-10-10 19:54:14 +02:00
Dean Herbert
b9dbc8139b
Merge branch 'master' into fix-argon-health-bar-flash
2023-10-11 00:20:08 +09:00
Bartłomiej Dach
d701e88a08
Merge pull request #25076 from peppy/fix-argon-health-bar-perf
...
Ensure health displays don't pile up transforms when off-screen
2023-10-10 16:33:32 +02:00
Dean Herbert
b9dadc52b7
Adjust comment to match current behaviour
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-10-10 22:54:19 +09:00
Dean Herbert
e2e28ef0ca
Remove comment regarding inlined delegate
2023-10-10 22:12:20 +09:00
Dean Herbert
682aa06acf
Remove JudgementResult
from Miss
/Flash
as it is not used
2023-10-10 22:10:44 +09:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult()
2023-10-10 21:42:37 +09:00
Dean Herbert
2781846147
Fix beatmaps with no preview point set getting incorrect default
...
Note that this will require a re-import to fix existing beatmaps
becuse.. it's stored to realm. Probably not worth worrying about for
now.
2023-10-10 19:13:16 +09:00
Dean Herbert
f0bd975393
Change GameplayClockContainer.Reset
to directly call GameplayClock.Stop
...
The reasoning is explained in the inline comment, but basically this was
getting blocked by `isPaused` being in an initial `true` state (as it is
on construction), while the source clock was still `IsRunning`.
There's no real guarantee of sync between the source and the `isPaused`
bindable right now. Maybe there should be in the future, but to restore
sanity, let's ensure that a call to `Reset` can at least stop the track
as we expect.
2023-10-10 18:16:14 +09:00
Dean Herbert
100c0cf533
Fix MultiplayerPlayer
never calling Reset
on GameplayClockContainer
...
This call is responsible for ensuring the clock is in a stopped state.
2023-10-10 17:58:37 +09:00
Dean Herbert
eee7dc02da
Reduce severity of clock running check to avoid production crashes
2023-10-10 17:58:11 +09:00
Dan Balasescu
18d20cad8b
Adjust xmldoc for readability
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-10-10 17:04:21 +09:00
Bartłomiej Dach
24956588e9
Fix score importer looking up guest user by username online
2023-10-10 09:28:01 +02:00
Dean Herbert
4674f63655
Fix Scheduler.AddOnce
not working in one location
2023-10-10 16:17:34 +09:00
Dean Herbert
7e68b64526
Avoid running finishInitialAnimation
when already finished
2023-10-10 15:59:48 +09:00
Dean Herbert
1eb6c93916
Also debounce updatePathVertices
to reduce overhead
2023-10-10 15:50:42 +09:00
Dean Herbert
6c346874d3
Add TODO mentioning that ArgonHealthDisplay
is doing lerp wrong
2023-10-10 15:24:54 +09:00
Dean Herbert
57f588fa86
Ensure health displays don't pile up transforms when off-screen
2023-10-10 15:24:54 +09:00
Dean Herbert
6ee958743e
Adjust glow animation specifics slightly
2023-10-10 15:10:42 +09:00
Dean Herbert
aeb579eb54
Syncrhonise initial colour of glowBar
for sanity
2023-10-10 15:10:27 +09:00
Dean Herbert
8e26b3c405
Fix argon health bar not completing flash animation correctly
2023-10-10 15:09:33 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid
2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method
2023-10-10 09:56:26 +09:00
Bartłomiej Dach
d7e891140d
Apply mod multipliers to local score V1/V2 reimplementations
2023-10-09 13:04:12 +02:00
Bartłomiej Dach
419cc8784a
Apply mods to processor-based score algorithms
2023-10-09 12:59:02 +02:00
Bartłomiej Dach
55064c387d
Add mod controls to scoring test scene
2023-10-09 12:59:02 +02:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-09 10:53:14 +02:00
Bartłomiej Dach
ca217094d6
Merge pull request #25063 from peppy/move-download-button
...
Move playlist item download button to left
2023-10-09 10:01:15 +02:00
Dean Herbert
142c61ab9b
Move playlist item download button to left
2023-10-09 12:21:56 +09:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement
2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements
2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement
2023-10-09 09:47:00 +09:00
Dean Herbert
e5207167c8
Rename FailAnimation
to FailAnimationContainer
2023-10-08 00:39:30 +09:00
Dean Herbert
7c7771afca
Merge pull request #24986 from peppy/health-animates-in-intro
...
Add initial animation for health bars
2023-10-07 10:31:34 +09:00
Bartłomiej Dach
cfcdbe1c30
Merge pull request #25028 from peppy/bindable-fixes
...
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Bartłomiej Dach
250b9112c4
Merge pull request #25029 from peppy/socket-exception-handling
...
Fix OAuth refresh attempt when no network available causing full logout (part 2)
2023-10-06 21:59:27 +02:00
Bartłomiej Dach
a099cc0f36
Merge pull request #25030 from peppy/adjustable-health-bar
...
Adjust argon health bar to fit with existing layout
2023-10-06 21:51:18 +02:00
Bartłomiej Dach
b7d0bf3756
Only flush the Current
transform specifically
2023-10-06 21:39:29 +02:00
Bartłomiej Dach
ce0d4bd0df
Fix health display potentially desyncing from actual if health was changed during initial animation
2023-10-06 21:35:08 +02:00
Dean Herbert
58448d3dd9
Fix health animation affecting failing tint
2023-10-07 01:06:31 +09:00
Dean Herbert
1a60e6d76e
Merge branch 'master' into health-animates-in-intro
2023-10-07 00:32:19 +09:00
Bartłomiej Dach
10ce5705ce
Update framework
2023-10-06 14:11:41 +02:00
Dean Herbert
8e5b2e78e5
Fix variable clash
2023-10-06 21:01:23 +09:00
Dean Herbert
d87ab9c82d
Adjust transition time based on miss/hit
2023-10-06 19:34:38 +09:00
Dean Herbert
3f2a00d90d
Add argon health display to default skin layout
2023-10-06 19:34:27 +09:00
Dean Herbert
f40e910c51
Remove left line from health display
2023-10-06 19:34:27 +09:00
Dean Herbert
db5178e453
Change ArgonHealthDisplay
to be relative sized for now
2023-10-06 18:56:39 +09:00
Dean Herbert
c78b5112c6
Fix OAuth refresh attempt when no network available causing full logout (part 2)
...
This time for `SocketException`s. I seem to recall looking at this and
deciding there was a reason to not catch socket exceptions, but on
revisiting it seems sane to do so.
This covers a fail case like reported:
```
2023-10-06 03:24:17 [verbose]: Request to https://lazer.ppy.sh/oauth/token failed with System.Net.Http.HttpRequestException: No such host is known. (lazer.ppy.sh:443)
2023-10-06 03:24:17 [verbose]: ---> System.Net.Sockets.SocketException (11001): No such host is known.
2023-10-06 03:24:17 [verbose]: at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
```
Closes https://github.com/ppy/osu/issues/24890 (again).
2023-10-06 18:24:22 +09:00
Dean Herbert
936a21a661
Fix redundant bindable initialisation in SongSelect
2023-10-06 16:51:56 +09:00
Dean Herbert
1d7b8ea21a
Fix incorrect implementation of IHasCurrentValue
in FooterButtonFreeMods
2023-10-06 16:51:40 +09:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables
2023-10-06 16:51:24 +09:00
Dean Herbert
1005b7ac85
Fix incorrect test assumption in TestSceneEditorClock
...
I don't know what this test was trying to do, but it was wrong. Any
offset which is applied should be invisible to the clock's final
`CurrentTime` (and to the user).
2023-10-06 16:43:28 +09:00
Dean Herbert
354193c53a
Merge branch 'master' into clock-fix-attempt-2
2023-10-06 16:43:27 +09:00
Bartłomiej Dach
4d315cb718
Merge pull request #25016 from peppy/fix-waveform-comparison-crash
...
Fix `WaveformComparisonDisplay` potentially crashing on invalid track length
2023-10-05 20:02:44 +02:00
Dean Herbert
61fd4186af
Ensure regenerateDisplay
is eventually performed if originally called before load
2023-10-05 22:55:23 +09:00
Bartłomiej Dach
c195fbe76f
Merge branch 'master' into crop-gameplay-textures
2023-10-05 09:35:58 +02:00
Dean Herbert
76cc2f9f22
Fix WaveformComparisonDisplay
potentially crashing on invalid track length
...
As seen at https://github.com/ppy/osu/runs/17415814918#r0s2 .
2023-10-05 14:58:55 +09:00
Dean Herbert
f8455af0d0
Fix double interpolation being applied when applyOffsets=false
2023-10-05 13:20:52 +09:00
Dean Herbert
20342d430d
Update framework
2023-10-04 23:55:38 +09:00
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro
2023-10-04 13:53:42 +02:00
Dean Herbert
a186d97edf
Update framework
2023-10-04 16:57:54 +09:00
Dean Herbert
5a17a86d1d
Merge branch 'master' into clock-fix-attempt-2
2023-10-04 16:57:49 +09:00
Marvin Schürz
6d97f89399
Rename OnlinePlayScreen.LoungeSubScreen
to Lounge
2023-10-04 08:37:22 +02:00
Marvin Schürz
6bd51b32b4
Make resolved multiplayerClient
field nullable
2023-10-04 08:35:45 +02:00
Marvin Schürz
0726ccb988
Fix formatting
2023-10-04 08:32:18 +02:00
Marvin Schürz
74ed3bc4ff
Rename loadRoom
to lookupRoom
2023-10-04 08:31:50 +02:00
Marvin Schürz
bfeafd6f70
Fix formatting
2023-10-04 08:30:48 +02:00
Dean Herbert
cfb18e18c0
Add better commenting around legacy last tick edge case
2023-10-04 13:45:26 +09:00
Dan Balasescu
854b797ab5
Merge branch 'master' into legacy-tick-not-so-legacy-after-all
2023-10-04 10:52:13 +09:00
Marvin Schürz
fe5177fa4f
Remove unused import
2023-10-04 00:50:48 +02:00
Marvin Schürz
5469d134cb
Add missing parameter description to docs.
2023-10-04 00:28:01 +02:00
Marvin Schürz
32f69cd0ba
Make UserAvatarNotification.user
readonly
2023-10-04 00:20:07 +02:00
Marvin Schürz
267d1ee7d4
Handle cases when player cannot be invited.
2023-10-03 22:08:14 +02:00
Dan Balasescu
a120ea8464
Merge branch 'master' into fix-legacy-score-multipliers-2
2023-10-04 01:19:33 +09:00
Dean Herbert
69ae370e82
Merge branch 'master' into legacy-tick-test-coverage
2023-10-03 19:37:32 +09:00
Bartłomiej Dach
844a3b6c1b
Merge pull request #24980 from frenzibyte/gameplay-hud-redesign/health-display
...
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +02:00
Bartłomiej Dach
9c1f5c35d6
Merge pull request #24990 from peppy/argon-better-reverse
...
Add edge highlight to "argon" slider repeat arrow (and improve all skins' reverse arrow animations)
2023-10-03 10:55:11 +02:00
Dean Herbert
4f3c433946
Move vertex related constants local to method
2023-10-03 17:41:52 +09:00
Dean Herbert
32b2ac4974
Rename and refactor glow/miss bars to hopefully make more sense
2023-10-03 17:41:11 +09:00
Dean Herbert
4f9daa1c14
Tidy up ArgonHealthDisplay
code quality
2023-10-03 17:32:35 +09:00
Dean Herbert
8178cf3a8d
Tidy up background colour gradient logic
...
This changes things visually a touch, but I think it feels better.
And reads better.
2023-10-03 17:17:11 +09:00
Dean Herbert
2cbec6dbdf
Update resources
2023-10-03 17:11:52 +09:00
Dean Herbert
b234a453da
Fix legacy beatmap importer not always handling nested paths correctly
...
Addresses https://github.com/ppy/osu/discussions/24989 .
2023-10-03 16:01:17 +09:00
Marvin Schürz
a171fa7649
Join multiplayer match when clicking the invite notification
2023-10-03 01:31:30 +02:00
Marvin Schürz
8e73dbc894
Load api room before displaying notification
2023-10-03 01:22:25 +02:00
Marvin Schürz
3879775219
Add room name to invite notification
2023-10-02 23:20:24 +02:00
Marvin Schürz
e81695bcac
Display avatar in invitation notification
2023-10-02 23:10:51 +02:00
Marvin Schürz
251e4d4de9
Add localisation for inviting a player
2023-10-02 23:10:29 +02:00
Marvin Schürz
7629b725a2
Add invite button to UserPanel context menu
2023-10-02 22:55:53 +02:00
Marvin Schürz
574dc67a9e
Add Invited
task to multiplayer client
2023-10-02 22:53:28 +02:00
Marvin Schürz
d19cdbdefb
Add InvitePlayer
method to multiplayer server
2023-10-02 22:31:47 +02:00
Dean Herbert
82ba545358
Add initial animation for health bars
2023-10-02 17:01:58 +09:00
Dan Balasescu
b9ab4a2b7c
Update score conversion to consider legacy multiplier
2023-10-02 16:56:15 +09:00
Dan Balasescu
da2a4681d9
Add method to retrieve legacy score multiplier
2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e
Add LegacyBeatmapConversionDifficultyInfo abstraction
2023-10-02 16:52:01 +09:00
Dean Herbert
3a45bcad15
Improve flash and glow further
2023-10-02 02:11:07 +09:00
Dean Herbert
c4f47974bc
Improve glow further
2023-10-02 02:11:07 +09:00
Dean Herbert
88d608e1fa
Tidy up common animation code
2023-10-02 02:11:07 +09:00
Dean Herbert
df51e61234
Improve animation
2023-10-02 00:42:51 +09:00
Dean Herbert
22aa7ffd06
Use additive colour
2023-10-01 22:09:59 +09:00
Salman Ahmed
eef099e69d
Do not display "miss" bar if health is already zero
2023-10-01 15:25:34 +03:00
Salman Ahmed
7825bea959
Use interpolation for health bar opacity instead of transforms
2023-10-01 15:25:23 +03:00
Salman Ahmed
30d9004ef9
Fix small mistake
2023-10-01 13:41:11 +03:00
Salman Ahmed
446c9c2efe
Apply adjustments on the "miss" bar display
2023-10-01 13:39:36 +03:00
Salman Ahmed
9e2b8254d9
Add argon-specific health display test scene
2023-10-01 13:26:47 +03:00
Salman Ahmed
a331fb993a
Adjust health bar outer stroke colour
2023-10-01 01:21:37 +03:00
Salman Ahmed
319208ca3d
Adjust health bar glow intensity
2023-10-01 01:18:05 +03:00
Salman Ahmed
776536e816
Add "Argon" health display implementation
2023-10-01 00:56:16 +03:00
Salman Ahmed
33b0cb15a8
Add handling for miss judgements in HealthDisplay
2023-10-01 00:21:25 +03:00
Salman Ahmed
314ecec65b
Refactor player max dimensions test scene to actually upscale textures
2023-09-30 01:34:49 +03:00
Salman Ahmed
0bcb99f2c4
Crop oversized gameplay textures instead of downscaling them
2023-09-30 01:34:47 +03:00
Pasi4K5
c927f90a48
Replace regex with a custom algorithm and update test scene.
2023-09-29 13:46:33 +02:00
Pasi4K5
23c20ca5f4
Add xmldocs
2023-09-29 13:44:11 +02:00
Dean Herbert
62bcb62842
Document remaining pieces of LastTick
and add back legacy prefix for generation flow
2023-09-29 16:58:17 +09:00
Dean Herbert
81485c548c
Move LegacyLastTickOffset
specification to generation code and stop passing everywhere
2023-09-29 14:32:29 +09:00
Dean Herbert
d5472d3524
Merge pull request #24957 from bdach/solo-score-info-get-display-score
...
Add `GetDisplayScore()` extension for `SoloScoreInfo`
2023-09-29 13:09:16 +09:00
Joseph Madamba
9e90374a90
Flash discard changes dialog popup when force quitting room/playlist creation with changes
2023-09-28 17:09:50 -07:00
Bartłomiej Dach
9a49f44db0
Use AsOrdered()
when presenting mod presets too
2023-09-28 18:42:05 +02:00
Bartłomiej Dach
c0728f0b2e
Replace local sort with new utility method
2023-09-28 18:35:15 +02:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering
2023-09-28 18:30:56 +02:00
Bartłomiej Dach
39d5025969
Update resources
2023-09-28 16:58:21 +02:00
Bartłomiej Dach
7638ea36a0
Merge branch 'master' into mod-icon-extended
2023-09-28 16:57:17 +02:00
Dean Herbert
f340bb99e8
Nudge text right 1 pixel
2023-09-28 22:23:45 +09:00
Dean Herbert
e4fd3b65f4
Avoid recreating ModSettingChangeTracker
unless required
2023-09-28 22:18:28 +09:00
Dean Herbert
b1f6803371
Remove unused commented code
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:11:03 +09:00
Dean Herbert
e0e222c1fa
Include mention of what to do when not using field in xmldoc
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:10:30 +09:00
Dan Balasescu
db9113b38e
Merge pull request #24924 from bdach/update-classic-scoring
...
Update classic scoring formula to closer match stable score V1
2023-09-28 20:19:23 +09:00
Bartłomiej Dach
fc4390884f
Add GetDisplayScore()
extension for SoloScoreInfo
...
To be used server-side for ppy/osu-queue-score-statistics#134 .
2023-09-28 12:43:05 +02:00
Dean Herbert
d4cf6e100f
Update other usages of OsuIcon.ModBg
and remove
2023-09-28 19:03:34 +09:00
Dean Herbert
2ff376daa4
Adjust to include shadow, and use new main background sprite which includes shadow
2023-09-28 19:03:34 +09:00
Dean Herbert
b8953e8ce1
Code quality pass
2023-09-28 19:03:34 +09:00
Dean Herbert
2800920ed9
Adjust font size slightly for better display when small
2023-09-28 19:03:34 +09:00
Bartłomiej Dach
90326f62a7
Merge pull request #24953 from peppy/flash-dialog-on-stuck
...
Flash dialog popup when attempting to exit editor while exit is being blocked
2023-09-28 11:04:38 +02:00
Bartłomiej Dach
afa1815d13
Merge pull request #24929 from peppy/reduce-song-select-debounce
...
Reduce delay before loading beatmap after selection change at song select
2023-09-28 10:45:43 +02:00
Dean Herbert
7d74d84e6c
Display mod icons using stable ordering
...
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).
This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
7908b36b39
Flash dialog popup when attempting to exit editor while exit is being blocked
2023-09-28 15:25:39 +09:00
Bartłomiej Dach
0b9d01075a
Merge branch 'master' into fix-missing-skin-ini-version
2023-09-27 19:33:43 +02:00
Bartłomiej Dach
edf40cc091
Fix nullability inspection
2023-09-27 17:09:42 +02:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications
2023-09-27 17:06:47 +02:00
NiceAesth
83bf1efc1c
Add color
search alias for colour
settings
2023-09-27 16:29:29 +03:00
Bartłomiej Dach
934ac1b640
Merge branch 'master' into better-erroring-score-import-fail
2023-09-27 14:34:14 +02:00
Dean Herbert
1246f15186
Don't show extended information where it duplicates already visible information
2023-09-27 19:29:03 +09:00
Dean Herbert
9f4df29880
Adjust fade durations at player loader to better hide mod jank
2023-09-27 19:29:03 +09:00
Dean Herbert
6e602929a4
Add support for tracking settings changes
2023-09-27 19:29:03 +09:00
Dean Herbert
192eb541c0
Adjust sizing to work better with expansion (no more centre anchoring)
2023-09-27 19:29:03 +09:00
Dean Herbert
16e752e07d
Add basic structure and test coverage for extended info on mod icon
2023-09-27 19:29:03 +09:00
Bartłomiej Dach
0722bc88b7
Merge pull request #24861 from peppy/fix-storyboard-skin-textures-lookup
...
Fix storyboard `UseSkinSprites` being implemented incorrectly
2023-09-27 11:58:42 +02:00
Bartłomiej Dach
e314913aeb
Handle null texture case
2023-09-27 11:18:38 +02:00
Dean Herbert
d0456908cd
Merge branch 'master' into SR/BPM-Display-fix
2023-09-27 18:17:50 +09:00
Dean Herbert
a639e51ddb
Fix value not updating after missing beatmap is imported
2023-09-27 18:17:25 +09:00
Dean Herbert
175cf68bd6
Avoid re-fetching WorkingBeatmap
2023-09-27 18:13:07 +09:00
Dean Herbert
a7237e48aa
Merge branch 'master' into fix-storyboard-skin-textures-lookup
2023-09-27 17:17:51 +09:00
Dean Herbert
3705c4c8d5
Avoid potentially incorrect size adjustment when texture doesn't change
2023-09-27 17:16:45 +09:00
Dean Herbert
2481c0b64b
Don't show replay import "missing beatmap" notifications during stable import
...
Closes https://github.com/ppy/osu/issues/24926 .
2023-09-27 17:04:43 +09:00
Dean Herbert
3708e79577
Adjust logging to still expose the underlying exception
2023-09-27 16:55:03 +09:00
Dean Herbert
c44cca2c23
Fix skin version being incorrectly set to 1.0
when skin is missing skin.ini
...
Closes https://github.com/ppy/osu/issues/24939 .
2023-09-27 16:50:03 +09:00
Dean Herbert
9d8c3f0f5c
Merge pull request #24779 from smoogipoo/split-legacy-scoring-attribs
...
Split legacy scoring attribs into its own table
2023-09-26 22:35:38 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions
2023-09-26 16:40:32 +09:00
Dean Herbert
ae31a8fadf
Reduce delay before loading beatmap after selection change at song select
...
This was originally set high because of performance concerns. We have
since improved things quite drastically. Even with a very low debounce
my song select is amazingly smooth.
This is about as low as we can got unless we want chaos when key
repeating left/right arrows (it's not as bad as you think, maybe worth
testing during review and see if it feels more expected?).
Of note, stable has key repeat disabled on left/right arrows and zero
debounce.
Addresses concerns in https://github.com/ppy/osu/discussions/24916 .
2023-09-26 16:21:09 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs
2023-09-26 15:52:27 +09:00
Dean Herbert
d1d82d2b49
Improve notification display when score import fails
2023-09-26 15:00:56 +09:00
Dean Herbert
567bc8fcd3
Ensure DrawableStoryboardSprite
's texture size propagates corectly on skin change
2023-09-26 14:13:51 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup
2023-09-26 14:05:27 +09:00
Bartłomiej Dach
57c00e728b
Update classic scoring algorithm to closer match stable score V1
2023-09-25 19:16:18 +02:00
Fabian van Oeffelt
2040dcabe0
Improve Code Quality
2023-09-25 17:51:39 +02:00
Fabian van Oeffelt
2a3391d83b
Remove unused namepace
2023-09-25 16:56:34 +02:00
Fabian van Oeffelt
59d3143645
Fix SR/BPM Display in Playlist rooms
2023-09-25 16:53:40 +02:00
Pasi4K5
74896fd6b2
Fix multiple difficulty search queries not working in some cases.
2023-09-25 13:38:47 +02:00
Pasi4K5
793d1bf970
Add ability to search for difficulty names
2023-09-25 12:52:49 +02:00
Dean Herbert
3c62521e69
Fix OAuth refresh attempt when no network available causing full logout
2023-09-24 10:50:07 +09:00
Dean Herbert
d019cb5167
Update in line with framed clock changes
2023-09-22 22:02:18 +09:00
Dean Herbert
251a85db43
Fix StopUsingBeatmapClock
not transferring time and running state
2023-09-22 16:22:36 +09:00
Dean Herbert
faa0481fc6
Fix editor operating directly on track rather than decoupled clock
2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee
Don't apply decoupling to SpectatorPlayerClock
s
...
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
6629a47ed3
Fix FramedBeatmapClock
's source not being processed
2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196
Set source directly in FramedBeatmapClock
ctor
...
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
586311d508
Fix souce clock not always being transferred to FramedBeatmapClock
in time
2023-09-22 16:22:35 +09:00
Dean Herbert
0200b63fd3
Add note about beatmap offset not being reapplied correctly on ChangeSource
2023-09-22 14:41:07 +09:00
Dean Herbert
a1e298930c
Remove second hopefully-unnecessary workaround
2023-09-22 14:41:07 +09:00
Dean Herbert
a451ab75dd
Remove hopefully-unnecessary workaround
...
It was causing issues with the new implementation.
2023-09-22 14:41:05 +09:00
Dean Herbert
df08c4e1ad
Disable decoupling for OsuGameBase
's beatmap implementation
...
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812
Remove unnecessary encapsulation workaround
...
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).
This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Dean Herbert
21a2e27e5f
Simplify some pieces of FramedBeatmapClock
2023-09-22 12:49:25 +09:00
Dean Herbert
04e6ec8715
Fix interpolation not being applied when applyOffsets
is set
2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6
Update usage of DecoupleableInterpolatingFramedClock
in FramedBeatmapClock
2023-09-22 12:49:25 +09:00
Dean Herbert
3f27be1f33
Replace most usages of DecoupleableInterpolatingFramedClock
...
Except `FramedBeatmapClock`, which is the high-effort one.
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b
Change FramedBeatmapClock
to always be decoupled
2023-09-22 12:49:25 +09:00
Salman Ahmed
5266cdc722
Add explanatory note
2023-09-21 20:41:10 +03:00
Salman Ahmed
095812c6b8
Merge branch 'master' into fix-song-select-shift-delete
2023-09-21 20:25:43 +03:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework
2023-09-21 19:49:20 +03:00
Dean Herbert
f1258a3963
Update framework
2023-09-22 01:26:38 +09:00
Dean Herbert
9af4e75dfc
Disable clipboard export for song select textbox
...
In combination with https://github.com/ppy/osu-framework/pull/5997 ,
closes https://github.com/ppy/osu/issues/24867
2023-09-22 01:24:29 +09:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv
2023-09-21 09:13:27 +02:00
Dean Herbert
bf984388b3
Update clocks in line with framework changes
2023-09-20 21:17:08 +09:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length
2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49
Remvoe null default for mods which can't be null
2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967
Change implementation of "show speed changes" to require explicit ruleset support
2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv
2023-09-20 14:23:07 +09:00
Dean Herbert
71ac5cfc79
Don't bother binding to friends changes for score display purposes
2023-09-20 14:14:37 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight
2023-09-20 14:14:08 +09:00
Dean Herbert
bd66285bd4
Rename parameter on LegacySpriteText
to better imply the maximum size is per glyph
2023-09-20 12:59:40 +09:00
Dean Herbert
b5e64d933c
Apply same fix to DrawableStoryboardAnimation
2023-09-20 12:54:36 +09:00
Dean Herbert
50adb5f7a7
Remove incorrectly merge conflict resolved
2023-09-20 12:54:28 +09:00
Dean Herbert
cd4651ffe3
Merge pull request #24863 from bdach/storyboard-fail
...
Fix issues after storyboard resource lookup refactor
2023-09-20 11:14:15 +09:00
Bartłomiej Dach
333b839e0d
Fix broken automatic beatmap download setting migration
2023-09-19 21:38:07 +02:00
Bartłomiej Dach
641e651bf2
Fix DrawableStoryboardVideo
attempting to unmap path once too much
...
The `StoryboardResourceLookupStore` cached at storyboard level is
supposed to already be handling that; no need for local logic anymore.
2023-09-19 20:18:33 +02:00
Bartłomiej Dach
ba518e1da8
Fix StoryboardResourceLookupStore
dying on failure to unmap path
...
Before the introduction of `StoryboardResourceLookupStore`, missing
files would softly fail by use of null fallbacks. After the
aforementioned class was added, however, the fallbacks would not work
anymore if for whatever reason `GetStoragePathFromStoryboardPath()`
failed to unmap the storyboard asset name to a storage path.
2023-09-19 20:11:16 +02:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
...
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
c4a0ca326e
Replace sample bank fix with more correct fix
...
stable does not treat unknown enum members as `None` / `Auto`, it treats
them as `Normal`:
switch (sampleSet)
{
case SampleSet.Normal:
default:
sample = 0;
break;
case SampleSet.None:
case SampleSet.Soft:
sample = 1;
break;
case SampleSet.Drum:
sample = 2;
break;
}
(from 1531237b63/osu
!/Audio/AudioEngine.cs#L1158-L1171).
2023-09-19 13:53:49 +02:00
Dean Herbert
4a7dc4d792
Fix storyboard UseSkinSprites
being implemented incorrectly
...
This was implemented as a "fallback", but it's actually intended to be
an "override". As in it allows storyboarders to *prefer* a skin sprite
before falling back to a local version contained within the storyboard.
Can be tested with https://osu.ppy.sh/beatmapsets/832364#osu/1743837 .
Closes https://github.com/ppy/osu/issues/24813 .
2023-09-19 20:20:20 +09:00
Dean Herbert
773ec46989
Expose some storyboard pieces to allow better testability
2023-09-19 20:20:11 +09:00
Bartłomiej Dach
43ae26b8ef
Merge pull request #24809 from peppy/storyboard-resource-lookup-refactor
...
Refactor storyboard resource lookup to be more streamlined
2023-09-19 12:52:02 +02:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
...
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Bartłomiej Dach
ed9039f60f
Fix notification text sets overwriting each other
2023-09-19 11:12:58 +02:00
Dean Herbert
05e05f8160
Increase transition speed slightly
2023-09-19 18:02:08 +09:00
Dean Herbert
cdb5fea513
Remove unused translations
2023-09-19 17:53:00 +09:00
Dean Herbert
f726c38215
Pass ArchiveReader
instead of Stream
to simplify resolution code
2023-09-19 17:49:15 +09:00
Dean Herbert
0593c76c57
Fix log output using incorrect name
2023-09-19 17:34:24 +09:00
Bartłomiej Dach
62f97a8d83
Adjust beatmap card thumbnail dim state to match web better
2023-09-19 10:28:08 +02:00
Dean Herbert
7f30354e61
Adjust sizing slightly to remove need for CollapsibleButtonContainerSlim
2023-09-19 17:20:58 +09:00
Dean Herbert
0555d22eb8
Add comment mentioning why hover is disabled on the notification type
2023-09-19 16:35:22 +09:00
Bartłomiej Dach
8e199de78a
Tweak nano beatmap card UX further to meet expectations
2023-09-19 08:36:32 +02:00
Magnus-Cosmos
73db68a49a
Check if path lists are empty
2023-09-19 02:28:28 -04:00
Bartłomiej Dach
0ffb906741
Merge pull request #24831 from peppy/update-deps
...
Update all dependencies (except for Moq)
2023-09-19 07:50:27 +02:00
Magnus-Cosmos
a9b45c6fdc
Fix slider path calculations for edge cases
2023-09-19 01:31:26 -04:00
Dean Herbert
aba98f2985
Merge pull request #24823 from bdach/scoring-test-scene-catch
...
Add scoring test scene for catch
2023-09-19 13:59:11 +09:00
Salman Ahmed
8e992de763
Fix crash when loading player instance without exiting previous instance
2023-09-19 05:09:01 +03:00
Salman Ahmed
922f6f36f2
Add size limitation for hit object numbers
2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a
Add size limitation for approach circles
2023-09-19 04:38:10 +03:00
Salman Ahmed
291a91be66
Change extension from retrieval to post-processing instead
2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345
Revert "Update GetTexture
signature rather than creating new overload"
...
This reverts commit 96f12cfbaa
.
2023-09-19 03:21:19 +03:00
Magnus-Cosmos
83584519e6
Fix extension check using control points instead of path points
2023-09-18 11:40:00 -04:00
Bartłomiej Dach
8b5a851f31
Merge branch 'master' into scoring-test-scene-catch
2023-09-18 15:15:03 +02:00
Dean Herbert
163b6df357
Merge pull request #24846 from bdach/get-reader-regression
...
Fix `MemoryStreamArchiveReader.GetStream()` failing in some cases
2023-09-18 22:06:33 +09:00
Bartłomiej Dach
25e43bd7d7
Auto-close notification after successful download
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
4cdd19bb5a
Use different copy when auto-downloading
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
3bddf4bf9a
Rename spectator-specific settings to more generic (with backwards migration)
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
27471ad170
Make missing beatmap notification simple
...
Progress didn't work for several reasons:
- It was spinning when nothing was actually happening yet
(especially egregious with autodownload off)
- It was blocking exits (as all progress notifications do)
- When actually going to download, two progress notifications would
pertain to one thing
- It wasn't helping much with the actual implementation of score
re-import, cancelling the progress notification would result in
similarly jank UX of beatmap importing but not the score.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
b2c98da330
Reword and localise copy
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
2709c6cd67
Integrate nano beatmap card into the notification
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
47764b3012
Fix OsuTestScene.CreateAPIBeatmapSet()
not backlinking set beatmaps to the set
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
5fcd736332
Redo nano beatmap card design to fit needs better
...
Wanting to use this inside notification, it turns out that the original
design did not work very well at such narrow widths, and additionally
the typical button setup borrowed from elsewhere resulted in teeny tiny
action buttons.
To that end, slim down the design (get rid of thumbnail, audio preview,
make expandable right side slimmer), as well as change the entire panel
so that it has only one action associated with it at all times, and
clicking the panel in any place triggers that action.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
67b5dfb9cf
Merge branch 'get-reader-regression' into missing-beatmap
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap
2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
...
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
e57d7d1205
Fix MemoryStreamArchiveReader.GetStream()
failing in some cases
...
`MemoryStreamArchiveReader` introduced in
0657b55196
would previously use
`MemoryStream.GetBuffer()` to retrieve the underlying byte buffer with
stream data. However, this is not generally the method you would want,
for two reasons:
1. It can fail if the stream wasn't created in the way that supports it.
2. As per
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.getbuffer?view=net-7.0#system-io-memorystream-getbuffer ,
it will return the _raw_ contents of the buffer, including
potentially unused bytes.
To fix, use `MemoryStream.ToArray()` instead, which avoids both
pitfalls. Notably, `ToArray()` always returns the full contents of the
buffer, regardless of `Position`, as documented in:
https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.toarray?view=net-7.0#system-io-memorystream-toarray
2023-09-18 11:50:36 +02:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card
2023-09-18 11:30:14 +02:00