1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-24 07:22:57 +08:00
Commit Graph

14634 Commits

Author SHA1 Message Date
Salman Ahmed
a23dfbeab5 Revert "Abstractify PP counter logic from the "Triangles" implementation"
This reverts commit daf4a03fd0.
2023-11-05 01:55:54 +03:00
Salman Ahmed
58a830fc5b Revert "Add "Argon" performance points counter"
This reverts commit 56eeb117ce.
2023-11-05 01:55:54 +03:00
Salman Ahmed
1c844a155e Remove health line detail 2023-11-05 01:55:54 +03:00
Salman Ahmed
91cf237fc1 Revert health display settings changes 2023-11-05 01:55:54 +03:00
ratinfx
7492d953ae Moved error checks into Editor
- Invoke Action on error to Notify user
- added some comments
2023-11-04 21:17:58 +01:00
Givikap120
d0b2b4f7b9 Update AdvancedStats.cs 2023-11-04 21:57:42 +02:00
Givikap120
820519c37d improved tooltip 2023-11-04 21:55:46 +02:00
Givikap120
57170501cd Improve code quality 2023-11-04 17:25:09 +02:00
ratinfx
60f62faec3 Renamed Editor method 2023-11-04 03:30:38 +01:00
ratinfx
43ab7f4942 Added OpenEditorTimestamp base implementation 2023-11-04 02:01:18 +01:00
Joseph Madamba
16731ff85f
Fix text positioning 2023-11-02 20:42:28 -07:00
Joseph Madamba
b3dfe19472
Fix UprightAspectMaintainingContainer not being centred 2023-11-02 20:42:28 -07:00
Joseph Madamba
090601b485
Apply peppy's upright key counter attempt diff
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-11-02 20:42:23 -07:00
Bartłomiej Dach
a78fab0e7d
Do not hardcode ruleset name in touch device detection toast 2023-11-03 00:17:29 +01:00
Bartłomiej Dach
a613292802
Fix unknown mod test failure 2023-11-02 23:44:40 +01:00
Bartłomiej Dach
0dd0a84312
Move player touch handler to SubmittingPlayer
Shouldn't be there in `ReplayPlayer`.
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
8784dd42c0
Do not attempt to turn on Touch Device in song select with autoplay active 2023-11-02 22:56:43 +01:00
Bartłomiej Dach
3a6d65d395
Touch up PlayerTouchInputHandler 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
c588f434e5
Fix song select touch handler causing crashes when song select is suspended 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
f2df02b60f
Automatically activate touch device mod in player 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
2f6ff893b5
Automatically activate and deactivate touch device mod in song select 2023-11-02 19:45:48 +01:00
Bartłomiej Dach
850866e7f4
Merge pull request from peppy/metronome-always-play-tick
Decouple metronome tick playback from pendulum movement
2023-10-31 09:37:29 +01:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes 2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click 2023-10-31 08:36:53 +01:00
Dean Herbert
64efc3d251
Decouple metronome tick playback from pendulum movement
Not super happy about doing this, but it seems like it's in the best
interest of editor usability.
2023-10-31 15:33:46 +09:00
Dean Herbert
7ceced7012
Scope TestPauseWithLargeOffset to focus on what matters
See https://github.com/ppy/osu/actions/runs/6693917410/job/18186111009

This test is to make sure we don't seek before the original
pause time, so I've exposed that value precisely to avoid
CI woes.
2023-10-31 14:47:04 +09:00
Dean Herbert
f706fd2fca
Merge pull request from bdach/slider-velocity-undo
Fix slider velocity changes not being undone correctly
2023-10-31 01:44:18 +09:00
Bartłomiej Dach
b2d3aa982d
Merge branch 'master' into fix-click-through-timeline 2023-10-30 12:52:00 +01:00
Bartłomiej Dach
cea24298cb
Privatise setters 2023-10-30 12:42:34 +01:00
Bartłomiej Dach
de89b7e53c
Fix slider velocity changes not being undone correctly
Closes https://github.com/ppy/osu/issues/25239.

`LegacyEditorBeatmapPatcher.processHitObjectLocalData()` was already
supposed to be handling changes to hitobjects that will show up neither
when comparing the hitobjects themselves or the timing point with
"legacy" info stripped - so, in other words, changes to slider velocity
and samples.

However, a change to slider velocity requires default application to
take effect, so just resetting the value would visually fix the timeline
marker but not change the actual object. Calling
`EditorBeatmap.Update()` fixes this by way of triggering default
re-application.

This could probably be smarter (by only invoking the update when
strictly necessary, etc.) - but I'm not sure it's worth the hassle. This
is intended to be a quick fix, rather than a complete solution - the
complete solution would indeed likely entail a wholesale restructuring
of the editor's change handling.
2023-10-30 10:59:02 +01:00
Dean Herbert
8828562512
Merge pull request from Susko3/fix-cut-in-filter-textbox
Fix cut and copy not working in song select search filter textbox
2023-10-30 18:18:46 +09:00
Dean Herbert
63e6eaf538
Fix failing tests 2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
`SelectionHandler` is receiving input from anywhere out of necessity:

19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)

Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:

19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)

But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.

The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Bartłomiej Dach
19d10e5e45
Merge pull request from peppy/better-submission-logging
Improve log output surrounding score submission
2023-10-30 09:04:06 +01:00
Dean Herbert
caddbacfe8
Merge branch 'master' into gameplay-hud-redesign/counters 2023-10-30 16:35:10 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
Dean Herbert
d90f29a5ff
Improve log output surrounding score submission 2023-10-30 15:07:26 +09:00
Susko3
366e41f111 Use local workaround instead of disabling clipboard entirely 2023-10-28 12:23:23 +02:00
Dean Herbert
5a9d4170e8
Merge pull request from bdach/score-encoding-cleanup
Correctly handle multiple online score ID types
2023-10-28 02:29:56 +09:00
Bartłomiej Dach
35f30d6135
Scale back debug assertion
The import preparation task can actually be non-null when exiting even
if the player hasn't passed:

- fail beatmap
- click import button to import the failed replay
2023-10-27 14:39:58 +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
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
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
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
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
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
Dean Herbert
6934e045df
Fix editor not prompting before saving beatmap for export 2023-10-25 14:39:46 +09:00
Dean Herbert
34505b3933
Merge pull request from bdach/minimum-sample-volume 2023-10-24 22:04:43 +09:00
Bartłomiej Dach
19be0055d5
Merge pull request 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 from peppy/song-select-scroll-improvemets
Improve mouse interactions at song select
2023-10-24 08:26:20 +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
Pasi4K5
c5339f440e Apply code review suggestions 2023-10-23 23:30:54 +02:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor 2023-10-20 15:50:21 +02: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
Susko3
4a3a4ee17f Change beatmap listing key to B to match Ctrl-B shortcut 2023-10-20 11:47:00 +02:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +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
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
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid 2023-10-17 16:42:52 +09: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
9cd33d9bb2
Merge pull request from peppy/collection-ordering-fix
Fix collections not being sorted alphabetically in context menus
2023-10-16 10:53:43 +02:00
Dean Herbert
7139592e43
Fix collections not being sorted correctly in context menus 2023-10-16 16:03:12 +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 .
2023-10-16 13:12:04 +09:00
Jamie Taylor
d97b618d02
Use new generic-error sample in appropriate places 2023-10-13 21:06:50 +09:00
Bartłomiej Dach
5f51b8a7c9
Merge pull request 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
Bartłomiej Dach
79cec7707d
Privatise setter 2023-10-13 09:56:46 +02: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
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
56e27f1c27
Merge branch 'master' into multiplayer-invites 2023-10-12 18:17:15 +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
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
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 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
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
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
Bartłomiej Dach
ca217094d6
Merge pull request 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
Dean Herbert
e5207167c8
Rename FailAnimation to FailAnimationContainer 2023-10-08 00:39:30 +09:00
Dean Herbert
7c7771afca
Merge pull request 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 from peppy/bindable-fixes
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Bartłomiej Dach
a099cc0f36
Merge pull request 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
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
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
Dean Herbert
61fd4186af
Ensure regenerateDisplay is eventually performed if originally called before load 2023-10-05 22:55:23 +09: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
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro 2023-10-04 13:53:42 +02: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
Bartłomiej Dach
844a3b6c1b
Merge pull request from frenzibyte/gameplay-hud-redesign/health-display
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +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
Marvin Schürz
a171fa7649 Join multiplayer match when clicking the invite notification 2023-10-03 01:31:30 +02:00
Dean Herbert
82ba545358 Add initial animation for health bars 2023-10-02 17:01:58 +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
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
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
8215c4cb0e
Merge branch 'master' into mods-stable-ordering 2023-09-28 18:30:56 +02:00
Bartłomiej Dach
7638ea36a0
Merge branch 'master' into mod-icon-extended 2023-09-28 16:57:17 +02:00
Bartłomiej Dach
90326f62a7
Merge pull request 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 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
Dean Herbert
9f4df29880 Adjust fade durations at player loader to better hide mod jank 2023-09-27 19:29:03 +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
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
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
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 SpectatorPlayerClocks
See inline comment for reasoning. It's a bit complicated.
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
a1e298930c Remove second hopefully-unnecessary workaround 2023-09-22 14:41:07 +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
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
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
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
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
9b391cd661
Merge branch 'master' into import-task-improve 2023-09-14 19:37:01 +02:00
Dean Herbert
541cd972e1 Rename ArchiveReader implementations to read better 2023-09-14 13:36:07 +09:00
Dan Balasescu
753c1c877c Revert masking SSBO changes 2023-09-13 23:10:13 +09:00
Givikap120
1a70110a4e Added BeatmapAttributesDisplay support 2023-09-12 16:44:44 +03:00
Givikap120
c61212c523
Merge pull request from Givikap120/master
add display to calibrate
2023-09-12 13:02:19 +03:00
Bartłomiej Dach
589f56d20c
Merge branch 'master' into map_info_on_mod_settings 2023-09-11 09:55:54 +02:00
Bartłomiej Dach
76bf82d900
Do not show mod effects on free mod select 2023-09-11 09:55:45 +02:00
Givikap120
ed213dad6c minor format fix (again) 2023-09-08 20:38:24 +03:00
Givikap120
a01537c763 minor format fix 2023-09-08 20:37:07 +03:00
Givikap120
02e2b8546c fixed all stated problems 2023-09-08 20:32:55 +03:00
Joseph Madamba
d0780fb765
Add comment explaining the max width 2023-09-06 15:01:55 -07:00
Joseph Madamba
97bd90c0ff
Link new song select wedge title and artist to search text box 2023-09-06 14:41:10 -07:00
cdwcgt
68752f95e5
color friend score to pink 2023-09-06 22:58:03 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Bartłomiej Dach
b5e812eb3e
Merge pull request from bdach/beatmap-carousel-split-missing-status
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
63e92f8fab
Fix status on carousel beatmap set not showing in split difficulty mode 2023-09-06 08:25:19 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover 2023-09-06 15:16:34 +09:00
Joseph Madamba
73604d171a
Make "general" a common string 2023-09-05 23:00:07 -07:00
Joseph Madamba
701e24e8d3
Move hide button to end and make it work 2023-09-05 18:50:31 -07:00
Joseph Madamba
6d2e57b73e
Add localisation support to beatmap options popover 2023-09-05 18:43:42 -07:00
Joseph Madamba
69fa8747f0
Explicitly add beatmapinfo param to edit call 2023-09-05 18:35:35 -07:00
Joseph Madamba
9565039192
Hide beatmap options popover when beatmap changes 2023-09-05 18:24:54 -07:00
Joseph Madamba
9f10082ffc
Revert param removal of delete beatmap and clear scores methods 2023-09-05 18:24:53 -07:00
Joseph Madamba
8e8fae0fba
Fix left padding adding shear width 2023-09-05 15:21:23 -07:00
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content 2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display 2023-09-05 14:57:55 -07:00
Joseph Madamba
5becac6431
Make beatmap non-nullable
Doesn't seem like it'll be null after first set: 5454d1caa1/osu.Game/OsuGameBase.cs (L363)
2023-09-05 14:43:43 -07:00
Joseph Madamba
b63c1e4257
Remove mods dependency
BPM is not in the wedge anymore.
2023-09-05 12:14:17 -07:00
Joseph Madamba
6e6dd86a51
Remove buffered container comment
While it is true that there is a transparency overlap, it is only seen when entering/exiting song select. And there are other components game-wide that exhibit the same issue when transparency changes. Should be reconsidered another time.
2023-09-05 11:10:06 -07:00
Dean Herbert
4cd4eb3b0a Move "general" to top for key binding compatibility 2023-09-05 16:46:49 +09:00
Dean Herbert
84d8d33ad7 Add headers and generally improve the UI of the popover 2023-09-05 16:44:55 +09:00
Dean Herbert
4ff3630484 Add a slight delay before hiding the popover to better visualise button click 2023-09-05 16:14:01 +09:00
Dean Herbert
a8c9c2bf17 Remove buffered container (doesn't seem like it's doing anything anymore) 2023-09-05 15:59:00 +09:00
Joseph Madamba
98d027d207
Fix star counter animating weird and delayed 2023-09-04 21:39:41 -07:00
Joseph Madamba
9accd0ded2
Fix star rating rolling counter regression 2023-09-04 21:21:56 -07:00
Joseph Madamba
82fb9dc2ef
Simplify text initialization 2023-09-04 12:59:21 -07:00
Joseph Madamba
e70510ef19
Move drawable and binding logic to standard places 2023-09-04 12:56:20 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor 2023-09-04 12:42:01 -07:00
Joseph Madamba
e8a793425b
Use right padding instead of negative x offset 2023-09-04 12:38:40 -07:00
Joseph Madamba
bf71099e57
Fix truncating sprite text usage 2023-09-04 12:04:20 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii 2023-09-04 11:24:20 -07:00
Joseph Madamba
f616648730 Remove icon blending 2023-09-04 09:40:35 -07:00
Joseph Madamba
6c0bd13308
Add xmldoc to newly exposed methods 2023-09-04 00:53:14 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover 2023-09-04 00:53:09 -07:00
Hồ Nguyên Minh
d5a89c4c45 Fix formatting 2023-09-04 13:32:42 +07:00
Hồ Nguyên Minh
b17a55d6a8 Add length check for slider velocity 2023-09-04 10:43:05 +07:00
Magnus-Cosmos
d674856e29
Use existing localisations in BeatmapInfoWedge 2023-09-02 22:49:29 -04:00
Givikap120
5e5fe84a88 Update AdvancedStats.cs 2023-09-03 02:19:02 +03:00
Givikap120
0779cd8f4f minor design fixes 2023-09-03 02:17:04 +03:00
Givikap120
2e2d4d0d60 Merge branch 'map_info_on_mod_settings' of https://github.com/Givikap120/osu into map_info_on_mod_settings 2023-09-03 02:09:18 +03:00
Givikap120
b0398b6259 functionality is done 2023-09-03 02:09:01 +03:00
Bartłomiej Dach
76954f6e91
Merge branch 'master' into skin-editor-selection-negative-scaling 2023-09-01 21:30:24 +02:00
Wleter
fc4069f794 let SelectionBox perform flip with scale handles 2023-09-01 13:01:51 +02:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Dean Herbert
96a5443813
Merge branch 'master' into carousel-difficulty-split 2023-08-30 14:24:30 +09:00
Dean Herbert
cbd4b91feb
Merge pull request from Nabile-Rahmani/bot-scores
Fix and use score user's IsBot property in results screen animation
2023-08-30 14:00:35 +09:00
Nabile Rahmani
b658b0e346 Fix and use score user's IsBot property in results screen animation
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.

As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.

Related to PR 
2023-08-29 23:28:50 +02:00
Wleter
14ee0ee395
Merge branch 'ppy:master' into skin-editor-selection-negative-scaling 2023-08-29 17:30:55 +02:00
Wleter
d56ab0fe9a change names 2023-08-29 17:25:52 +02:00
Givikap120
f8adc911cd
Merge branch 'ppy:master' into map_info_on_mod_settings 2023-08-28 23:17:04 +03:00
Givikap120
50235cc245 somewhat working prototype 2023-08-28 23:16:33 +03:00
Wleter
07e126241d working negative scaling 2023-08-28 16:41:55 +02:00
Bartłomiej Dach
97d1c6e9fc
Merge branch 'master' into carousel-difficulty-split 2023-08-28 11:07:43 +02:00
Bartłomiej Dach
b9795eb3d4
Fix changes to beatmap sets being undone on switching sort mode 2023-08-28 11:02:22 +02:00
Bartłomiej Dach
80ec18d117
Fix incorrect selection restore code in split case
The fallback to "any of the added sets" needs to be applied after
they've all been added, rather than with every added one. Otherwise, in
flows that expect a particular difficulty to be selected in the end
(such as exiting from editor) would end up switching away from the
edited beatmap.
2023-08-28 10:06:26 +02:00
Bartłomiej Dach
0af6cc1394
Fix online ID not being propagated in split difficulty mode
Would result in failures to re-download the beatmap in update flows, for
instance.
2023-08-28 10:05:59 +02:00
Givikap120
290f8db341 fixed stated problems
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
Givikap120
8a1fc7c340 Basic stuff (not working for now) 2023-08-26 01:20:41 +03:00
Dean Herbert
10b1450138 Rename remove method to better explain return type being IEnumerable 2023-08-25 18:10:54 +09:00
Givikap120
d5ac93f631 Added "value is rate changed" indication
Now if AR or OD value is not "true" and changed through rate - it will appear with symbol `*`
Instead of `11` it wil show as `11*`
2023-08-25 01:25:12 +03:00
Givikap120
772633178c Moved ruleset decl in right place 2023-08-25 01:02:12 +03:00
Givikap120
17b9b1649a Fixed "works only for std" problem
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
Dean Herbert
89eeff515b Reduce complexity of selection restore 2023-08-25 00:52:54 +09:00
Givikap120
ed886a4dc3 Added a true AR/OD display when using DT/HT 2023-08-24 16:49:42 +03:00
Dean Herbert
9e94f38091 Fix typo in local variable 2023-08-24 18:33:15 +09:00
Dean Herbert
081fb308e1 Merge branch 'master' into new-overlay-sfx 2023-08-24 18:29:00 +09:00
Jamie Taylor
2e27a476bb
Re-enable sample playback for PasswordEntryPopover and remove sampleJoin playback instead 2023-08-24 18:04:47 +09:00
Dean Herbert
018be4c20f Fix selection not being retained when switching between split mode 2023-08-22 18:49:02 +09:00
Dean Herbert
ecbf0f138e Fix incorrect handling when new beatmaps arrive 2023-08-22 18:48:07 +09:00
Dean Herbert
2b1c6ae612 Ensure ID is maintained in temporary BeatmapSetInfos 2023-08-22 18:48:07 +09:00
Dean Herbert
290d18ad69 Split out difficulties in beatmap carousel in a bit of a hacky way
Seems like the simplest path forward for now, without a full rewrite.
2023-08-22 18:47:41 +09:00
Dan Balasescu
e8337c592a Update framework and apply changes to support masking SSBO 2023-08-22 12:50:13 +09:00
Dean Herbert
e7d61e0002 Fix star fountain directions not matching stable 2023-08-21 17:59:24 +09:00
Dean Herbert
4915b2563c
Merge pull request from Joehuu/supporter-playlist-duration
Always show supporter-only playlist durations
2023-08-21 17:46:26 +09:00
Dean Herbert
8120c3f87a
Merge branch 'master' into precise-rotation-2 2023-08-19 23:25:42 +09:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dean Herbert
9023059bc0 Convert to switch statement 2023-08-18 17:27:09 +09:00
Dean Herbert
75750957c7 Add note about why pop in samples are disabled for PasswordEntryPopover 2023-08-18 17:11:30 +09:00
OliBomby
360f9750e1 Allow selecting empty control point groups 2023-08-17 16:30:18 +02:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples 2023-08-17 18:36:37 +09:00
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays 2023-08-17 18:36:37 +09:00
Jamie Taylor
b15a54c914
Use new overlay pop-in/pop-out samples 2023-08-17 18:36:36 +09:00
Dean Herbert
a78c03bd5b Merge branch 'master' into precise-rotation-2 2023-08-17 17:59:13 +09:00
Dean Herbert
59a31cc868
Merge pull request from bdach/slider-with-textbox-instantaneous
Add instantaneous mode to `SliderWithTextBoxInput`
2023-08-16 20:10:52 +09:00
Bartłomiej Dach
ed84be2f26
Merge pull request from peppy/multiplayer-spectator-score-diff
Add score difference display to multiplayer spectator
2023-08-16 12:57:17 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Bartłomiej Dach
35af15f491
Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 10:34:20 +02:00
Dean Herbert
8b9759c569 Apply nullability to MatchScoreDisplay 2023-08-16 17:26:10 +09:00
Dean Herbert
ab826c35b7 Add score diff display to multiplayer spectator
Basically pulling changes over from the tournament client implementation
2023-08-16 17:26:10 +09:00
Bartłomiej Dach
add1ef77d0
Fix typo in comment 2023-08-16 10:07:12 +02:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access 2023-08-16 09:59:17 +02:00
Dean Herbert
bb98f10ff6 Use CurrentTime instead of StartTime for hotfix seek (and update comment) 2023-08-16 16:38:49 +09:00
Dean Herbert
184eabb902 Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 16:27:49 +09:00
Dean Herbert
31c2b7f925 Merge branch 'master' into leaderboard-toggle 2023-08-16 15:49:55 +09:00
Dean Herbert
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Dean Herbert
e8bde6504a Fix score being cloned in async method causing random crashes
Closes https://github.com/ppy/osu/issues/24445.
2023-08-15 16:08:13 +09:00
Bartłomiej Dach
1b3806539a
Merge branch 'master' into leaderboard-toggle 2023-08-10 22:50:55 +02:00
Bartłomiej Dach
2698ec9206
Merge branch 'master' into block-exit-if-save-failed 2023-08-08 23:41:03 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator 2023-08-08 22:49:00 +02:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
Bartłomiej Dach
785d2ed9b1
Merge branch 'master' into multi-spectator-better-start-time 2023-08-03 22:07:47 +02:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod 2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00
Dean Herbert
71f6e5731d
Fix potential null reference if no frames found
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:58:19 +09:00
Dean Herbert
f38b21110f
Add missing parenthesis to comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:57:43 +09:00
Joseph Madamba
aab462fd95
Fix valueText being replaced even if current is not binding to anything 2023-08-02 09:40:22 -07:00
Dean Herbert
87fee001c7 Fix multiplayer spectator potentially taking too long to start
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.

This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.

I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
Dean Herbert
14d87e49c7 Improve choice of where to start playback of multiplayer spectator 2023-08-02 18:46:35 +09:00
Dean Herbert
0e510088f9 Ensure background of gameplay is black when storyboard is overriding background display 2023-08-02 15:50:15 +09:00
Dean Herbert
a618ed140e Move StoryboardReplacesBackground bindable more local to usage 2023-08-02 15:29:18 +09:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes 2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results 2023-08-01 18:25:41 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter 2023-08-01 18:09:48 +02:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle 2023-08-01 10:06:03 -04:00
Dean Herbert
70bd1d3cf4 Fix centred player not animating correctly 2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2 Show extended statistics in multiplayer spectator automatically 2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b Fix onLoadRequested getting early-exited too early in spectator scenarios
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.

Here's an example:

- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete

In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.

It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90 Fix potential crash on multiple StartGameplay calls in multiplayer spectator 2023-08-01 19:22:41 +09:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +02:00
Dean Herbert
a3afb198a1
Merge pull request from bdach/selection-operations-refactor
Refactor rotation handling in editor to facilitate reuse
2023-07-31 17:18:05 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler via DI rather than explicit passing 2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
7763f3dd40
Fix osu! logo suddenly disappearing during rapid exit 2023-07-30 19:05:37 +02:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
This was supposed to be fixed by , but has popped up as a
regression on Sentry since:

	https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email

On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op 2023-07-30 14:58:14 +02:00
Bartłomiej Dach
898913f32a
Merge pull request from peppy/multi-spectator-improvements
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3 Remove pending export operation if active score is changed 2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6 Don't queue export replay operations if button is disabled 2023-07-30 16:41:33 +09:00
Dean Herbert
45ceaba00d Disable multiplayer spectator zoom when there's only one player's screen visible 2023-07-30 14:40:58 +09:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f Update BreakInfoLine to formatting standards 2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3 Remove unnecessary text comparison 2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb Remove unnecessary prefix parameter 2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225 Apply NRT to BreakInfoLine 2023-07-29 10:39:50 -07:00
Dean Herbert
75625f089e Hide toolbar when entering multiplayer spectator 2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f Further refactorings along with shadow implementation 2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd Improve animation and sizing of maximised screen display 2023-07-30 02:29:14 +09:00
Dean Herbert
1826819663 Move Facade to nested class 2023-07-30 02:29:14 +09:00
Dean Herbert
5fa0a21b56 Add corner radius around player areas 2023-07-30 02:29:14 +09:00
Bartłomiej Dach
579b0bc570
Merge branch 'master' into fix-autoplay-mod-revert 2023-07-29 16:12:11 +02:00
Joseph Madamba
a3301dc7ff Fix accuracy break info decimal separator being incorrect in certain languages 2023-07-28 23:26:07 -07:00
Bartłomiej Dach
1fd4a6dc96
Fix tests crashing due to HUDOverlay not finding DrawableRuleset in Update() 2023-07-29 01:07:49 +02:00
Bartłomiej Dach
4db203ecc3
Merge branch 'master' into playfield-skin-layer 2023-07-29 00:01:06 +02:00
Bartłomiej Dach
c6f0cf50ca
Use better safety in rectangular grid
- Checking `DrawSize != Vector2.Zero` is too specific. It could also
  crash on zero-height-but-non-zero-width, or
  zero-width-but-non-zero-height.

- Take the `gridCache.Validate()` call out of the zero checks, because
  even if the width or height are zero, not generating anything is valid
  and there is no reason to validate every frame until `gridCache` gets
  invalidated again.
2023-07-28 22:57:02 +02:00
QuantumSno
a4065486c1 bound bind during gameplay 2023-07-28 14:39:41 -04:00
Dean Herbert
0e4db9b439 Add safety in RectangularPositionSnapGrid that size is greater than zero
Would crash otherwise
2023-07-28 16:25:40 +09:00
Dean Herbert
6cf065f6d1 Add playfield layer to skin editor 2023-07-28 15:50:44 +09:00
Dean Herbert
f15394fb6d Fix temporary auto mod (ctrl+enter at song select) not reverting in all scenarios 2023-07-28 14:49:06 +09:00
Joseph Madamba
9d87ff2986
Improve supporter-only duration notice and fix max duration of non-supporter
See 3c54229256/.env.example (L230). Might have more duration options in the future.
2023-07-26 01:37:55 -07:00
Dean Herbert
4889864478 Fix files references not correctly being copied after replay import in Player 2023-07-26 15:22:00 +09:00
Dean Herbert
e26afc2b89 Fix ReplayDownloadButton handling key repeat 2023-07-26 15:21:43 +09:00
Joseph Madamba
30e0e00c52
Rename selectedAvailableDuration to hasValidDuration 2023-07-25 22:57:01 -07:00
Dean Herbert
7fd6bb9d5f Fix a couple of code style issues in SelectionBox 2023-07-26 14:04:38 +09:00
Dean Herbert
39c2bb240b Apply NRT to SelectionBoxRotationHandle. 2023-07-26 14:04:21 +09:00
Joseph Madamba
0bd34a4f13
Always show supporter-only playlist durations 2023-07-25 21:14:21 -07:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length 2023-07-25 22:40:45 +02:00
Bartłomiej Dach
3b11559fd0
Revert "Show only the break length instead of total minute breaks"
This reverts commit 9edaa6909e.
2023-07-25 22:17:55 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
3485b72eaa Disallow interacting with the global track state in Player and Editor 2023-07-25 20:20:53 +09:00
Dean Herbert
6146f30541 Allow screens to change the ability to interact with the global track 2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b Rename AllowTrackAdjustments to more understandable ApplyModTrackAdjustments 2023-07-25 20:20:53 +09:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
9edaa6909e Show only the break length instead of total minute breaks 2023-07-25 17:02:27 +09:00
Dean Herbert
480163ec2e Show drain length in length tooltip at song select 2023-07-25 16:58:53 +09:00
Bartłomiej Dach
a201152b04
Add xmldoc to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler to use SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba8ebefb50
Add basic structure for new rotation handler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class 2023-07-23 18:24:20 +02:00
Bartłomiej Dach
9f68bb4e4a
Merge pull request from peppy/editor-menu-spacer
Adjust metrics of editor menu spacers (and make visible)
2023-07-23 15:25:27 +02:00
Dean Herbert
4bf300d64d
Merge pull request from OliBomby/legacy-export
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Dean Herbert
4ea8495c61 Adjust metrics of editor menu spacers (and make visible) 2023-07-23 14:12:37 +09:00
Dean Herbert
fb34ee94c2 Move export/save options to bottom of menu 2023-07-23 14:07:31 +09:00
Dean Herbert
20359c90bc Adjust localisations slightly 2023-07-23 14:06:00 +09:00
Dean Herbert
d11e56b8bb Add common Export string and use in editor 2023-07-23 14:03:50 +09:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count 2023-07-22 16:11:21 +02:00
Bartłomiej Dach
f985bdc10f
Make difficulty sliders private set 2023-07-22 15:55:20 +02:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
82a5ba66e1 Align mode switcher with rest of interface 2023-07-21 15:27:42 +09:00
Dean Herbert
cdcb10e0e7 Fix timeline centre point being ever-so-slight off 2023-07-21 15:26:41 +09:00
Dean Herbert
f489dbd7a9 Reduce width of right toolbar ever so slightly (and use more shared constants) 2023-07-21 14:39:15 +09:00
Dean Herbert
870f3e324a Adjust "test" button to better align with rest of interface 2023-07-21 14:26:33 +09:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Dean Herbert
2cb1a6fdaa Adjust metrics further 2023-07-21 14:23:53 +09:00
Dean Herbert
b29a2081ac Merge branch 'master' into menu-star-fountains 2023-07-21 14:21:16 +09:00
Bartłomiej Dach
c77d3cd6bd
Merge pull request from peppy/toggle-all-freemods
Add ability to toggle all free mods quickly at multiplayer song select
2023-07-20 22:32:53 +02:00
Bartłomiej Dach
07e0a703d7
Adjust inline comment 2023-07-20 20:51:39 +02:00
Bartłomiej Dach
708dd355cd
Merge branch 'master' into editor-cyclic-selection 2023-07-20 20:19:46 +02:00
Bartłomiej Dach
210e114f7d
Merge branch 'master' into editor-prefer-closest 2023-07-20 19:16:09 +02:00
Bartłomiej Dach
511948ba56
Add xmldoc to ApplySelectionOrder() 2023-07-20 19:16:04 +02:00
Dean Herbert
c93d6a4008 Invert text colour when freemods is enabled for better contrast 2023-07-20 13:04:26 +09:00
Dean Herbert
18c5fc689f Don't expose such specific information from ModSelectOverlay 2023-07-20 12:58:13 +09:00
Dean Herbert
4057fcd70e Merge branch 'master' into toggle-all-freemods 2023-07-20 12:56:46 +09:00
Bartłomiej Dach
285a232cc2
Merge pull request from peppy/beatmap-offset-all-difficulties
Change offset calibration control to adjust for all difficulties of the current beatmap set
2023-07-19 22:31:38 +02:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +02:00
Bartłomiej Dach
764029bde1
Fix nullability inspection 2023-07-19 19:23:08 +02:00
Dean Herbert
e47722565a Clarify guard condition in RoomSubScreen 2023-07-19 19:39:10 +09:00
Dean Herbert
18aace177a Fix deadlock when logging out while at the create match screen
Closes https://github.com/ppy/osu/issues/24275.
2023-07-19 19:37:38 +09:00
Dean Herbert
eb149942e5 Add ability to toggle all free mods quickly at multiplayer song select 2023-07-19 19:08:32 +09:00
Dean Herbert
cf3949c9e2 Fix double-click handling when cyclic selection is enabled
Removes the limitations of cyclic selection as a result.
2023-07-19 17:21:20 +09:00
Dean Herbert
5ec9cd84b2 Change offset calibration control to adjust for all difficulties of the current beatmap set 2023-07-19 17:13:19 +09:00
Dean Herbert
5ade093c5a Change editor to always perform selection of closest object 2023-07-19 16:56:16 +09:00
Dean Herbert
55a41b0887 Fix overlap between header text and menu items 2023-07-19 15:13:20 +09:00
Dean Herbert
871056790b Mark editor tile as non-localisable 2023-07-19 15:01:20 +09:00
Dean Herbert
7f336b8dac Merge branch 'master' into editor-metrics 2023-07-19 15:00:51 +09:00
Dean Herbert
ba237a0e3a Convert StarFountain to use ParticleSpewer
More efficient
2023-07-18 20:04:52 +09:00
OliBomby
395dd23966 Put 'Export package' and 'Export legacy package' in one nested menu 2023-07-18 12:37:37 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
Dean Herbert
f4acc86df8 Adjust metrics to closer match expectations 2023-07-18 16:26:37 +09:00
Dean Herbert
49bb0b190a Split out star constant to reuse in pool definition 2023-07-18 16:14:54 +09:00
Bartłomiej Dach
7fbd47e9ee
Fix MultiplayerMatchSubScreen erroneously pushing exit dialog on API failure
If `IAPIProvider.State` changes from `Online` at any point when being on
an `OnlinePlayScreen`, it will be forcefully exited from. However,
`MultiplayerMatchSubScreen` had local logic that suppressed the exit in
order to show a confirmation dialog.

The problem is, that in the suppression logic,
`MultiplayerMatchSubScreen` was checking
`MultiplayerClient.IsConnected`, which is a SignalR flag, and was not
checking `IAPIAccess.State`, which is maintained separately. Due to
differing timeouts and failure thresholds, it is not impossible to have
`MultiplayerClient.IsConnected == true` but `IAPIAccess.State !=
APIState.Online`.

In such a case, the match subscreen would wrongly consider itself to be
still online and due to that, push useless confirmation dialogs, while
being in the process of being forcefully exited. This then caused the
dialog to cause a crash, as it was calling `.Exit()` on the screen which
would already have been exited by that point, by the force-exit flow.
2023-07-16 19:56:22 +02:00
Aki
cb354685ca
simplify code 2023-07-16 10:21:32 +08:00
Aki
309c852222
Compute the top local rank directly without an expensive detach call 2023-07-15 23:00:13 +08:00
Dean Herbert
85c780ae5b Allow the osu! logo to be proxied locally into scenes 2023-07-14 19:19:14 +09:00
Dean Herbert
fe70f24925 Update design of summary timeline current time marker 2023-07-14 17:00:42 +09:00
Dean Herbert
e6b8cd0c06 Add editor header 2023-07-14 16:55:12 +09:00
Dean Herbert
57abb15724 Update design of timeline centre marker and adjust surrounding paddings 2023-07-14 16:37:57 +09:00
Dean Herbert
00e9746174 Implement longer design for timing point piece 2023-07-14 16:37:56 +09:00
Dean Herbert
6b222cfafd Fix slight misalignment so timeline is now completely centered 2023-07-14 14:29:13 +09:00
Dean Herbert
01750dd091 Update metrics of checkboxes and backgrounds to match design better 2023-07-14 14:29:02 +09:00
Dean Herbert
5b2e704264 Move beat divisor control inside of TimelineArea and adjust metrics to match design 2023-07-14 14:19:04 +09:00
Dean Herbert
ebaf63b764 Apply NRT to timeline related classes 2023-07-14 14:04:12 +09:00
Dean Herbert
56acc9e3dd Change BeatDivisorControl to retrive bindable divisor via DI 2023-07-14 14:03:25 +09:00
Bartłomiej Dach
ff56e35093
Merge pull request from peppy/allow-autoplay-failure
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
96e4b8d792
Merge pull request from peppy/results-screen-component-metrics
Touch up various results screen component's metrics
2023-07-13 22:03:49 +02:00
Dean Herbert
ded7ec3aa6
Merge branch 'master' into framework-clipboard 2023-07-14 03:32:37 +09:00
Bartłomiej Dach
20bde40ce2
Fix differing anchor specs on statistics panel flow items 2023-07-13 20:00:29 +02:00
Dean Herbert
1051982bc5 Tidy up code with constants 2023-07-13 23:25:50 +09:00
Dean Herbert
8f826a3702 Add skinning support for kiai fountain stars 2023-07-13 22:57:04 +09:00
Dean Herbert
53fccaa3bd Use skinnable sprite 2023-07-13 22:30:27 +09:00
Dean Herbert
1698caa078 Add kiai fountains to main menu 2023-07-13 22:13:40 +09:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Dean Herbert
2c27b17c85 Disable masking on inner scroll container 2023-07-13 19:01:59 +09:00
Dean Herbert
e34839c891 Rename StatisticContainer to StatisticItemContainer and add a background 2023-07-13 18:59:11 +09:00
Dean Herbert
b333945cde Change OverallRanking to use a two-column layout similar to statistics table 2023-07-13 18:45:32 +09:00
Dean Herbert
0881f4772c Adjust metrics of HitEventTimingDistributionGraph 2023-07-13 18:45:32 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dean Herbert
d54cf63983 Centralise font size specification for statistic items (and reduce slightly) 2023-07-13 18:31:40 +09:00
Dean Herbert
f223fd7c3b Adjust metrics of PerformanceBreakdown 2023-07-13 18:30:57 +09:00
Dean Herbert
7637a9e603 Adjust metrics of OverallRanking 2023-07-13 18:30:57 +09:00
Dean Herbert
98bf15182e Remove more GridContainer nonsense 2023-07-13 18:30:57 +09:00
Dean Herbert
1d62a041cc Fix animation restarting unexpectedly 2023-07-13 15:07:26 +09:00
Dean Herbert
21f26f98da Fix graph breaking when resized vertically 2023-07-13 14:57:01 +09:00
Dean Herbert
e2b5abd4e8 Split bar drawable creation into own method 2023-07-13 14:43:41 +09:00
Dean Herbert
fbf14a0f7c Allow autoplay to fail
Feels more correct.
2023-07-13 13:41:35 +09:00
Dean Herbert
4f4c481a67 Fix timing distribution graph sometimes not displaying correctly
Weird "basal" height logic just didn't make any sense (was getting stuck at 1 when `DrawHeight` was 0)
2023-07-12 19:21:39 +09:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +02:00
Bartłomiej Dach
45194b2b4a
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard 2023-07-09 18:21:43 +02:00
Bartłomiej Dach
84138849cf
Merge pull request from peppy/skin-retry-sound
Add support for skinnable "retry" sound
2023-07-08 15:24:26 +02:00
Bartłomiej Dach
10da80638b
Merge pull request from peppy/results-screen-tweens
Adjust results screen transition tweens to feel better
2023-07-08 14:15:37 +02:00
Bartłomiej Dach
287418e214
Merge branch 'master' into skin-retry-sound 2023-07-08 14:00:52 +02:00
Bartłomiej Dach
832c1c0009
Merge branch 'master' into fix-gameplay-samepl-trigger-source-rewind 2023-07-08 13:33:04 +02:00
Dean Herbert
82babbf8fa Adjust results screen transition tweens to feel better 2023-07-07 17:39:54 +09:00
Dean Herbert
d72765b6f8
Merge pull request from peppy/editor-save-local-score-management
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Dean Herbert
67746e1369 Move retry sample playback to PlayerLoader 2023-07-07 15:36:17 +09:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
ddd65f5fe7
Merge pull request from peppy/update-realm
Bring realm library up-to-date
2023-07-07 10:59:38 +09:00
Dean Herbert
2e98ab0a48 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
f69f6adf67 Remove beatmap info wedge rotation animation
It looks jank and also causes framebuffer overheads.

But mostly because it looks jank.
2023-07-06 16:15:42 +09:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
170bc5bfce Add support for skinnable "retry" sound 2023-07-06 12:25:15 +09:00
Bartłomiej Dach
cdb8a56df4
Remove weird aliased using
Doesn't appear to be required.
2023-07-05 22:41:22 +02:00
Dean Herbert
9291895305 Make key for toggling replay settings customisable 2023-07-06 01:00:41 +09:00
Dean Herbert
95a9b532df Remember state of replay settings visibility 2023-07-06 00:53:37 +09:00
Dean Herbert
fbab5acac1 Remove not-yet-implemented settings group comments 2023-07-06 00:46:09 +09:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Bartłomiej Dach
9eec1337b3
Use slightly different condition for better UX 2023-07-01 21:39:08 +02:00
Bartłomiej Dach
183777f8df
Fix edge cases where selection buttons go outside playfield bounds
Addresses
https://github.com/ppy/osu/discussions/23599#discussioncomment-6300885.
2023-07-01 21:27:17 +02:00
Dean Herbert
5f880397a9 Increase the minimum size of the scroll bar
Allows easier targetting when there is a lot of content in the scroll view

As discussed in https://github.com/ppy/osu/discussions/24095#discussioncomment-6332398.
2023-07-02 00:04:56 +09:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle 2023-06-28 20:48:22 +02:00
Dean Herbert
3883c28b15 Add visual display in participants list when availability is still being established 2023-06-28 16:02:46 +09:00
Dean Herbert
91354b1570 Avoid performing any actions when BeatmapAvailability is updated to Unknown 2023-06-28 16:01:54 +09:00
Dean Herbert
29376ffcc0 Trigger state change when flipping via hotkey in the editor
This will trigger a change even if nothing happens. But I think that's
okay (not easy to avoid) because the change handler should be aware that
nothing changed, if anything.

Closes https://github.com/ppy/osu/issues/24065.
2023-06-28 13:52:51 +09:00
Dean Herbert
1d4380cfd0
Merge pull request from peppy/full-term-exact-match
Add support for matching full terms at song select using suffixed `!`
2023-06-28 12:14:15 +09:00
Dean Herbert
076f41be12
Merge pull request from peppy/add-editor-rotate-hotkeys
Add support for `Ctrl` + `<` / `>` to rotate selection in editor
2023-06-28 12:03:34 +09:00
Bartłomiej Dach
9be2d9d62e
Fix hotkey presses generating unnecessary undo history
The buttons don't check whether the operation they correspond to is
possible to perform in the current state of the selection box, so not
checking `Can{Reverse,Rotate}` causes superfluous undo states to be
added without any real changes if an attempt is made to reverse or
rotate a selection that cannot be reversed or rotated.
2023-06-27 22:25:04 +02:00
Bartłomiej Dach
17ed45d07c
Mention hotkeys in button tooltips 2023-06-27 22:04:15 +02:00
Bartłomiej Dach
54280f06be
Switch to == true 2023-06-27 22:02:15 +02:00
Bartłomiej Dach
ad3a470eaf
Enable NRT in SelectionBox 2023-06-27 22:01:44 +02:00
Bartłomiej Dach
eb6bdb5a38
Merge pull request from ItsShamed/hud/kc-skinnable
Make key counter skinnable
2023-06-27 21:57:41 +02:00
Bartłomiej Dach
bf99fc61b8
Trim full phrase filters in a more precise manner 2023-06-27 21:50:36 +02:00
Bartłomiej Dach
e3d97b37f1
Rename MatchMode.{None -> Substring} 2023-06-27 21:28:37 +02:00
Bartłomiej Dach
06654dc618
Merge branch 'master' into full-term-exact-match 2023-06-27 21:27:39 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable 2023-06-27 20:35:47 +02:00
Dean Herbert
c6d952abe3 Add support for Ctrl + < / > to rotate selection in editor
As discussed in https://github.com/ppy/osu/discussions/24048.
2023-06-27 17:01:41 +09:00
Dean Herbert
7ddbf4eaa7 Add a visual effect when keyboard shortcuts are used to trigger selection box buttons 2023-06-27 17:01:13 +09:00
Dean Herbert
41890cfc65 Change JudgementCountController to a Component and remove handling overrides 2023-06-27 16:39:21 +09:00
Dean Herbert
8bd6f7a46a Rename ClicksPerSecondCalculator to ClicksPerSecondController 2023-06-27 16:38:46 +09:00
Dean Herbert
de23a4691e Change JudgementCountController to a Component 2023-06-27 16:38:15 +09:00
Dean Herbert
113b570bd4 Move controllers above skinnable elements in initialisation order 2023-06-27 16:37:23 +09:00
Dean Herbert
e21583ff1b Refactor InputCountController to not require being added to foreign body via Attach
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Dean Herbert
c423f77d53 Add support for matching full terms using suffixed ! 2023-06-27 15:34:33 +09:00
Dean Herbert
702266198b Add missing "title=" search support at song select 2023-06-27 15:21:13 +09:00
Bartłomiej Dach
9c30b1d3e0
Merge branch 'master' into exact-match-song-select 2023-06-26 22:33:50 +02:00
Bartłomiej Dach
4cb122dad4
Escape user input before embedding into regex 2023-06-26 22:27:48 +02:00
Bartłomiej Dach
8a7a42b7ec
Remove weird nullable enable and double licence header 2023-06-26 22:19:52 +02:00
timiimit
e1cbcabe0b
Fix skip not always triggering in multiplayer 2023-06-26 21:26:41 +02:00
Bartłomiej Dach
7200855d46
Rename Judgement{Tally -> CountController} 2023-06-26 19:30:04 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller 2023-06-26 19:27:42 +02:00
Bartłomiej Dach
4ac48e4cd8
Group input handling members together 2023-06-26 19:25:52 +02:00
Bartłomiej Dach
ff562e2dd7
Remove redundant guard
In this particular case guarding with `.IsNull()` makes no sense, as the
`Trigger` is supplied in constructor and cannot feasibly be null. Doing
that only makes sense in scenarios where BDL / dependency injection is
involved.
2023-06-26 19:25:52 +02:00
Bartłomiej Dach
dbd76c1193
Fix attempting to add key counter controller to hierarchy in multiple places 2023-06-26 19:02:49 +02:00
Dean Herbert
a74547c43c Add exact match support at song select 2023-06-26 18:26:44 +09:00
Dean Herbert
14c95f4584 Apply NRT to FilterCriteria 2023-06-26 17:54:11 +09:00
Dean Herbert
44c08f3944 Add xmldoc for KeyCounterController 2023-06-26 16:47:33 +09:00
Dean Herbert
c8e081c2b6 Remove unused interface 2023-06-26 16:32:19 +09:00
Dean Herbert
ec20942830 Actuall add composite component to hierarchy 2023-06-26 16:24:36 +09:00
Dean Herbert
0c869367e1
Merge branch 'master' into hud/kc-skinnable 2023-06-26 15:53:16 +09:00
Dean Herbert
b240ce295b Rename class and key to better match expectations 2023-06-26 13:38:34 +09:00
Bastian Pedersen
a7153478d6 Use newly create localised strings for buttons 2023-06-25 21:03:07 +02:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable 2023-06-25 15:42:08 +02:00
tsrk
a7088ffe22
revert: bring back old attachment flow
As discussed, this would bring more problems that anything.

Refs: 4c39708, f83a4f4
2023-06-25 15:21:55 +02:00
Dean Herbert
3d1a8aeb54 Use more understandable cancel button text 2023-06-25 21:25:16 +09:00
Bartłomiej Dach
a7202721ff
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-25 13:35:21 +02:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections 2023-06-24 17:11:38 +02:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections 2023-06-24 16:07:01 +02:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1dc7c05c12
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-23 15:33:01 +09:00
Dean Herbert
f66b787b12 Show ongoing operations in exit confirmation dialog
Also changes the button to a dangerous button, forcing user acknowledgement
2023-06-23 15:20:19 +09:00
Dean Herbert
693b7c9906 Reorganise resolved fields in MainMenu 2023-06-23 15:19:47 +09:00
Dean Herbert
20aedc82ac Remove unused code 2023-06-23 14:47:32 +09:00
Dean Herbert
6df617d536 Rename ExitConfirmOverlay to be more explicit about purpose 2023-06-23 14:46:38 +09:00
Dean Herbert
11a97e1bb8 Move confirmation bypass implementation to MainMenu to allow for more correct logic 2023-06-23 14:42:56 +09:00
Bartłomiej Dach
0ce4d17e30
Merge pull request from peppy/fix-intro-playing-twice
Fix music sometimes restarting twice if exiting song select with no beatmap selected
2023-06-22 22:49:15 +02:00
Bartłomiej Dach
a753c89dea
Merge pull request from peppy/fix-multiplayer-present-beatmap
Fix presenting beatmaps while in a multiplayer room not working
2023-06-22 22:48:48 +02:00
Bartłomiej Dach
65d4506ef2
Merge branch 'master' into save-replay-hotkey 2023-06-22 18:51:30 +02:00
Dean Herbert
07a00e8afd
Fix typo in comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:02:02 +09:00
Dean Herbert
7b4cbea362
Allow nullable to fix test usages
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:01:48 +09:00
Dean Herbert
59b1f08d53 Don't require exit confirmation when there are no ongoing operations that could be interrupted 2023-06-21 19:06:28 +09:00
Dean Herbert
655491ae2d Fix potential null ref in ResultsScreen 2023-06-21 17:50:06 +09:00
Dean Herbert
1907beb0c9 Add FireAndForget to stray Task.Run 2023-06-21 17:48:55 +09:00
Dean Herbert
9ca772421d Improve and combine logic that exists in two classes 2023-06-21 17:48:12 +09:00
Dean Herbert
2e02b4a85b Apply more correct fix for double-playing menu track 2023-06-20 18:35:51 +09:00
Dean Herbert
0a81170bca Merge branch 'master' into fix-intro-playing-twice 2023-06-20 18:34:22 +09:00
Dean Herbert
10ed3787a0 Don't show song select screen when local user doesn't have permission to add an item 2023-06-20 18:27:19 +09:00
Dean Herbert
dc1b4a39aa Fix presenting beatmaps while in a multiplayer room not working 2023-06-20 18:23:59 +09:00
Dean Herbert
4bd121d3b8 Also add hotkey to export replays 2023-06-20 16:54:37 +09:00
Dean Herbert
1e0e29847f Apply NRT and hotkey support to save replay button at results screen 2023-06-20 16:29:15 +09:00
Dean Herbert
69526f25bb Add hotkey to save replay
Defaults to `F2` aka stable.
2023-06-19 20:45:29 +09:00
Dean Herbert
84fc6e92db Fix slightly incorrect calculations 2023-06-19 20:23:46 +09:00
Dean Herbert
4314f9f46a Merge branch 'master' into fix-distance-snap-grid-centering 2023-06-19 20:22:09 +09:00
tsrk
f83a4f4952
refactor: tidy up attachement flow
TODO: find better naming and improve XMLDocs
2023-06-18 22:57:21 +02:00
tsrk
141f9efad5
style(KeyCounterController): remove reliance on Receptor 2023-06-18 21:26:16 +02:00
tsrk
1a8219adf6
style: guard event handler unsubscriptions 2023-06-18 20:20:56 +02:00
Ruki
9c6c6bf1ea
Merge branch 'master' into hud/kc-skinnable 2023-06-18 18:30:44 +02:00
Dean Herbert
425d3c23f5 Fix some code layout and NRT some classes 2023-06-19 01:03:43 +09:00
Bartłomiej Dach
9ba4bf5fb7
Merge branch 'master' into add-mod-search-option 2023-06-18 15:06:21 +02:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Bartłomiej Dach
eafd774044
Bring back old formatting spec 2023-06-17 20:03:24 +02:00
Dean Herbert
4919069ea6 Avoid humanizer regex compilation overhead when opening song select for the first time 2023-06-18 02:19:03 +09:00
Bartłomiej Dach
2976145150
Merge pull request from peppy/order-by-total-score-extension
Move `OrderByTotalScore()` to an extension method
2023-06-16 22:18:27 +02:00
Ruki
66f44452d2
Merge branch 'master' into hud/kc-skinnable 2023-06-16 17:30:33 +02:00
Bartłomiej Dach
28696f595f
Privatise setter 2023-06-16 16:24:07 +02:00
Dean Herbert
d965d39c44 Fix distance snap grid circles not correctly being centered on snap point 2023-06-16 17:21:32 +09:00
Dean Herbert
36954e55ad Fix incorrect mapping when distance spacing is not 1.0x 2023-06-16 17:15:45 +09:00
Dean Herbert
003949ac4e Merge branch 'master' into limited-distance-spacing 2023-06-16 16:56:22 +09:00
Dean Herbert
362aa4b376 Also move GetMaxAchievableCombo 2023-06-16 15:26:13 +09:00
Dean Herbert
ce41ef6e5d Move OrderByTotalScore() to an extension method 2023-06-16 15:24:30 +09:00
Dean Herbert
6f0c8c286b
Merge pull request from Joehuu/truncate-room-name
Truncate online play drawable room name text
2023-06-16 00:22:04 +09:00
Ruki
aba8219d06
Merge branch 'master' into hud/kc-skinnable 2023-06-15 15:48:43 +02:00
tsrk
fcdaf72915
style(KeyCounter): remove useless IsCounting bindable
Counting logic has been moved to the `Trigger`
2023-06-15 12:40:47 +02:00
tsrk
184c793f56
style(KeyCounter): remove useless Content override 2023-06-15 12:39:22 +02:00
tsrk
a61c1116f5
style: remove unused IAttachableSkinComponent on KCD 2023-06-15 12:27:37 +02:00
Salman Ahmed
39db17d2e9 Use better method to avoid rewinding to deleted beatmaps 2023-06-15 11:22:11 +03:00
Salman Ahmed
cabb4dfaa8 Merge branch 'master' into fix-rewind-bug 2023-06-15 10:59:15 +03:00
Salman Ahmed
2360219b55 Merge branch 'master' into fix-rewind-bug 2023-06-15 10:48:23 +03:00
Dan Balasescu
e78950a162
Merge pull request from peppy/argon-progress-visibility-light-background
Adjust argon progress display to work well on bright backgrounds
2023-06-15 15:50:53 +09:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable 2023-06-14 22:19:45 +02:00
tsrk
e26aeea589
feat: make KeyCounterDisplay skinnable 2023-06-14 21:15:12 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
tsrk
e9ef270e46
refactor: move count logic in InputTrigger
This will allow us to keep track of the real count regardless of whether
the key counter has been placed mid-replay or not.
2023-06-14 19:39:28 +02:00
Salman Ahmed
24d8e336e2 Remove width limit on room status text in favour of cell distribution 2023-06-14 07:55:09 +03:00
Joseph Madamba
05bdc92426 Add right padding according to right detail shear 2023-06-13 14:00:56 -07:00
Joseph Madamba
2a3f2ff122 Truncate room name text 2023-06-13 13:56:29 -07:00
Joseph Madamba
df49a48d4d Put left and right details inside GridContainer 2023-06-13 13:48:47 -07:00
Dean Herbert
f553efba8a Fix playback controls in editor handling key repeat when they probably shouldn't
Closes https://github.com/ppy/osu/issues/23903.
2023-06-14 02:30:15 +09:00
Joseph Madamba
0adb399ea8
Use anchor instead of FillFlowContainer 2023-06-13 00:09:58 -07:00
Joseph Madamba
a5c3c9a93f
Use FillFlowContainer instead of GridContainer for drawable room background gradient 2023-06-12 23:30:08 -07:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request from Joehuu/truncating-text-tooltips
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
Salman Ahmed
7269b4807e
Merge branch 'master' into improve-song-select-enter-performance 2023-06-12 13:13:59 +03:00
Dean Herbert
a201339f9c Fix background track restarting twice when exiting song select with no active selection 2023-06-12 17:12:38 +09:00
Dean Herbert
a1b17c4468 Adjust log output for global background changes to make more sense 2023-06-12 17:12:18 +09:00
Dean Herbert
855185ca85 Adjust argon song progress bar's background fill to always display 2023-06-12 16:43:28 +09:00
Dean Herbert
84670d4c90 Adjust argon graph to use a non-gray colour range 2023-06-12 16:22:40 +09:00
Cootz
036479dd9d
Merge branch 'master' into add-mod-search-option 2023-06-09 16:27:18 +03:00
Dean Herbert
c2663f27a1 Fix audio settings not displaying while watching a replay 2023-06-09 17:58:44 +09:00
Dean Herbert
78b2e6f3df Add setting to limit distance snapping to current time
As discussed in https://github.com/ppy/osu/discussions/23815#discussioncomment-6124116.
2023-06-09 15:54:33 +09:00
Dan Balasescu
3c51b5a53a
Merge pull request from peppy/crop-texture-uploads-song-select
Greatly improve song select performance by cropping beatmap backgrounds before display
2023-06-09 15:04:57 +09:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text 2023-06-08 19:44:07 -07:00
Bartłomiej Dach
4b3b22f046
Merge branch 'master' into beat-divisor-better-defaults 2023-06-08 20:35:03 +02:00
Bartłomiej Dach
b66d1aa33d
Fix code quality inspection 2023-06-08 20:32:16 +02:00
Dean Herbert
c1743dbe1d Select all text when popover is initially shown
Depends on https://github.com/ppy/osu-framework/pull/5823.
2023-06-09 02:27:22 +09:00
Bartłomiej Dach
e6503c24c8
Merge branch 'master' into crop-texture-uploads-song-select 2023-06-08 12:24:16 +02:00
Bartłomiej Dach
281aae91ec
Merge pull request from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Dean Herbert
10c43d2273 Reduce delays and fades for carousel panels to improve song select initial display performance
Entering song select has seen a hit since the new renderer
implementations. The underlying cause is large numbers of vertex buffer
uploads (the counter hits >200k for me during the transition).

Song select is in the process of being redesigned, and we are probably
going to make improvements to the renderer to alleviate this, but in the
mean time we can greatly improve the user experience by reducing how
long the initial fade in delays take on panels.

Visually this doesn't look too jarring, and gives a more immediate
feeling when scrolling. It's also more feasible to load elements sooner
with https://github.com/ppy/osu/pull/23809 applied.
2023-06-08 17:28:58 +09:00
Dean Herbert
3978d4babb Crop and disable mipmaps on beatmap panel backgrounds
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.

By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.

You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02:00
Bartłomiej Dach
3c8f387a6c
Remove unused method 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
d9281ac8c7
Remove unused virtual spec 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Dean Herbert
2c89af608a Add ability to cycle beat snap divisor using hotkeys
Defaults to Ctrl+Shift+Wheel (as per stable).

Closes .
2023-06-07 17:15:15 +09:00
Dean Herbert
7d49f5d7c6 Apply NRT to SectionsContainer 2023-06-07 16:32:29 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
247ac3a5fd
Merge pull request from bdach/fix-progress-bar-blink
Fix triangles song progress bar blinking during gameplay
2023-06-07 13:44:43 +09:00
Bartłomiej Dach
be59eb1116
Fix triangles song progress bar blinking during gameplay
Closes .
2023-06-06 18:36:25 +02:00
Dean Herbert
247fa088db Add IHasNoTimedInputs interface to scope change further 2023-06-06 22:22:42 +09:00
Dean Herbert
d1300f75c0 Merge branch 'master' into no-offset-calibration-with-relax 2023-06-06 22:22:08 +09:00
Dean Herbert
8ba9677b96
Merge branch 'master' into add-last-played-filter 2023-06-06 16:12:23 +09:00
Dean Herbert
22f7fe1d79 Rename variable and ensure timestamp is updated even when not saving 2023-06-06 15:11:31 +09:00
Dean Herbert
3a50e0fb2f Merge branch 'master' into add-last-edit-time 2023-06-06 15:07:20 +09:00
Dean Herbert
0c7ab8f971
Merge branch 'master' into hud/argon-kc-animations-poc 2023-06-06 14:43:08 +09:00
Dean Herbert
2f11bd5473 Adjust animations slightly 2023-06-06 14:42:42 +09:00
Dean Herbert
c54670aee1 Add comment explaining implementation 2023-06-06 13:30:56 +09:00
tsrk
6fc6729677
feat: integrate attachment flow in SkinComponentsContainer 2023-06-06 00:27:43 +02:00
tsrk
4c397085c5
refactor: improve attachement flow
This removes the hard reliance on individual classes and makes its usage easiser to ingreate anywhere
else.
2023-06-06 00:12:53 +02:00
tsrk
41b7eacc72
Merge branch 'master' into hud/argon-kc-animations-poc 2023-06-05 15:22:20 +02:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Joseph Madamba
4eb0f0261c
Fix song select beatmap panels not displaying correct background shown in web 2023-06-04 22:54:15 -07:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Bartłomiej Dach
602d5db3bb
Simplify column dimensions code
`dimensions` would always receive exactly one item, so might as well
inline it.

And yes, at this point the grid container is mostly a glorified
`FillFlowContainer { Direction = FlowDirection.Vertical }`, but I am not
touching that in this pull pending further decisions with respect to
direction.
2023-06-03 19:40:01 +02:00
Bartłomiej Dach
a9d4556647
Merge branch 'master' into update-multiplayer-room-diff-range 2023-06-03 16:50:09 +02:00
Bartłomiej Dach
8433813677
Merge branch 'master' into editor-timeline-fix 2023-06-01 21:18:08 +02:00
Bartłomiej Dach
c2d89a32a9
Adjust inline comment 2023-06-01 21:18:00 +02:00
Andrei Zavatski
03eb7c7830 Fix nullability 2023-06-01 21:21:01 +03:00
Andrei Zavatski
949fe32740 Use combined area of children as a mask instead 2023-06-01 15:32:17 +03:00
Dean Herbert
32207d4112 Remember the last used custom divisor when cycling divisor types 2023-06-01 17:11:49 +09:00
Dean Herbert
bcde2cbc73 Apply NRT to BeatDivisorControl 2023-06-01 16:58:14 +09:00
Dean Herbert
f52ed41f10 Use better defaults of 1/4 and 1/6 when cycling types 2023-06-01 16:28:03 +09:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
dc595b83f1 Remove unused Dimension specification from StatisticItem 2023-06-01 14:25:18 +09:00
timiimit
a58426dab6 Use LastEditTime in Editor 2023-05-31 19:07:04 +02:00
Dean Herbert
812def124f
Merge pull request from peppy/fix-multiplayer-present-crash
Fix `OnResume` / `OnSuspending` potentially getting called before `OnEntering` on a sub screen
2023-05-31 19:43:30 +09:00
Bartłomiej Dach
62d1774407
Apply same comment & reworded condition to suspend too 2023-05-30 21:54:56 +02:00
Andrei Zavatski
d119447a10 Fix editor timeline hitobjects popping in 2023-05-30 16:41:42 +03:00
Dean Herbert
741ee84ed6
Add comment and use full conditional similar to extension method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-05-30 18:38:28 +09:00
Dean Herbert
14a376c041 Merge branch 'master' into scorev2 2023-05-30 14:34:43 +09:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Dean Herbert
1a6d9e9ff0 Apply NRT to GameplayLeaderboardScore and change GetDisplayedScore handling
I don't feel too confident with the default scoring function being
assigned in the constructor to a publicly settable delegate. This just
feels a bit more elegant, and handles the (likely-never-used) case where
we need to restore the default function.

An alternative would be to provide the function as a `ctor` argument,
but I believe that wasn't done here to allow using the
`ILeaderboardScore` interface.
2023-05-29 20:00:29 +09:00
Dean Herbert
fcd7a1d51a Move GetDisplayScore xmldoc to interface and remove getter 2023-05-29 19:41:53 +09:00
Dean Herbert
9a886125ad Ensure GameplayScoreCounter's display score is updated on ScoringMode change
This isn't strictly required, but only because of a kind of hacky
behaviour where `HUDOverlay` will recreate all components on a scoring
mode change currently (see
8f6df5ea0f/osu.Game/Screens/Play/HUDOverlay.cs (L410-L418)).

Best we do this just in case that happens to go away in the future.
2023-05-29 19:00:02 +09:00
Dean Herbert
22be045de3 Apply NRT to GameplayScoreCounter 2023-05-29 18:48:17 +09:00
Dean Herbert
b0501c4e5c Actually use paused header 2023-05-29 10:24:59 +09:00
Robin Oger
cfa1280028 GameplayMenuOverlay.cs: add translatable strings for Retry count: and Song progress:
This makes the assumption that languages will prefer having the number on the right
2023-05-27 12:47:05 +02:00
Robin Oger
a01577cba5 Adapt changes to fit master 2023-05-27 12:29:14 +02:00
Bartłomiej Dach
574ecf939c
Merge pull request from peppy/pause-screen-progress
Show current progress on pause screen
2023-05-26 19:36:30 +02:00
Dean Herbert
725734bc03
Merge pull request from peppy/keep-selection-buttons-on-screen
Ensure editor selection buttons remain on screen when selection is near edge
2023-05-26 20:51:45 +09:00
Dean Herbert
6b0e215246 Add (int) flooring and handle potential NaN value 2023-05-26 20:44:13 +09:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls 2023-05-25 21:58:16 +02:00
Bartłomiej Dach
7d8f08c0ea
Fix ComposeBlueprintContainer briefly assigning auto bank
Seems to have had no consequence due to the way
`AutomaticBankAssignment` works (that flag is checked in
`PlacementBlueprint.UpdateTimeAndPosition()`, which runs essentially
every frame), but let's avoid putting it there at all ever.
2023-05-25 21:49:29 +02:00
Bartłomiej Dach
b9be886ae1
Merge branch 'master' into pause-screen-progress 2023-05-25 20:34:11 +02:00
Bartłomiej Dach
6425a33b45
Merge branch 'master' into beatmap-length-calcualtions 2023-05-25 17:44:15 +02:00
Bartłomiej Dach
b59f4aee99
Merge pull request from peppy/simplify-deselect
Fix crash when deleting dragged object in skin editor
2023-05-25 17:27:41 +02:00
Bartłomiej Dach
3ad5f8b9c9
Polish a few extreme edge cases 2023-05-25 16:39:54 +02:00
Dean Herbert
949de35664 Ensure selection is reset after immediately deleting objects
Closes https://github.com/ppy/osu/issues/23518.
2023-05-25 23:20:32 +09:00
Bartłomiej Dach
beeca5a8dd
Use alternative layouting implementation 2023-05-25 16:17:44 +02:00
Dean Herbert
b3c2d120bf Fix OnResume / OnSuspending potentially getting called before OnEntering on a sub screen 2023-05-25 20:39:11 +09:00
Dean Herbert
a6a380dd41
Merge branch 'master' into organize-room-pills 2023-05-25 19:57:28 +09:00
Dean Herbert
609c7227ee Fix changes to font weight in a couple of combined implementations 2023-05-25 19:55:11 +09:00
Dean Herbert
57c63dbb29 Add xmldoc for GetDisplayScore 2023-05-25 19:24:15 +09:00
Dean Herbert
1049257b56 Simplify SelectionHandler's DeselectAll implementation
We are already doing other operations in this class directly on `SelectedItems`, so might as well change this one to match
2023-05-25 18:46:31 +09:00
Dean Herbert
1e14b02493 Fix bindable feedback loop 2023-05-25 17:58:38 +09:00
Dean Herbert
37c6e632d0 Switch to using new extension method for length calculations 2023-05-25 17:38:35 +09:00
Dean Herbert
cf9fda0cf2 Merge branch 'beatmap-length-calcualtions' into pause-screen-progress 2023-05-25 17:34:08 +09:00
Dean Herbert
058edb5d5f Centralise beatmap playable duration and bounds lookups 2023-05-25 17:32:48 +09:00
Bartłomiej Dach
578a0e7494
Merge branch 'master' into beat-divisor-visual-improvements 2023-05-24 22:28:26 +02:00
Bartłomiej Dach
6ec4ecfdd7
Mention fallback default in GetDivisorForBeatIndex() 2023-05-24 22:17:51 +02:00
Bartłomiej Dach
133c954c93
Merge branch 'master' into pause-screen-progress 2023-05-24 21:57:26 +02:00
Bartłomiej Dach
8b6cd1310a
Merge branch 'master' into editor-escape-deselects 2023-05-24 20:18:44 +02:00
Bartłomiej Dach
cd3602406b
Remove unused using directive 2023-05-24 18:54:48 +02:00
Dean Herbert
b14b1072c2 Allow deselecting any selection in the editor using the Back binding (escape key) 2023-05-24 19:24:14 +09:00
Dean Herbert
3b9e1e8a94 Ensure editor selection buttons remain on screen when selection is near edge
Addresses https://github.com/ppy/osu/discussions/23599.
2023-05-24 19:16:53 +09:00
Dean Herbert
79c9a48ff7 Show song progress at pause/fail screen 2023-05-24 18:36:37 +09:00
Dean Herbert
456f3005d6 Apply nullability to GameplayMenuOverlay and use TextFlowContainer for text 2023-05-24 18:28:04 +09:00
Dean Herbert
8ada8b1c8c Remove description line from pause/fail screen
These were in the designs but read pretty bad / evil. I can't think of
any text to go in their place that makes sense, so let's just nuke it.
2023-05-24 17:48:35 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
fc22c75464 Don't use switch for single case statement 2023-05-24 16:14:05 +09:00
Dean Herbert
a9ba16a2be Update to support non-control-point sample changes 2023-05-24 14:20:38 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Dean Herbert
561b759bf9 Tidy up implementation and ensure non-solid ticks start at zero alpha 2023-05-24 13:49:29 +09:00
Dean Herbert
8f1f1955df
Merge pull request from Gyoshi/beat-divisor-visual-improvements
Add ghost ticks to exhibit current divisor on `BeatDivisorControl`
2023-05-24 13:41:48 +09:00
Joseph Madamba
067328233c
Remove OsuScreen.ApplyLogoArrivingDefaults() 2023-05-23 13:17:43 -07:00
Gyoshi
7fe19d1992 Last instead of Max divisor to match code elsewhere 2023-05-23 18:45:49 +02:00
Gyoshi
c5ef3ae181 Code styling 2023-05-23 18:44:20 +02:00
Gyoshi
b5f8093941 Use RangePadding to align mouse with slider 2023-05-23 18:16:14 +02:00
Gyoshi
7b1e8ede54 Small format 2023-05-23 15:11:27 +02:00
Gyoshi
1b32370c6a Remove duplicate code by making GetDivisorForBeatIndex method more general 2023-05-23 15:05:38 +02:00
Gyoshi
37a796306d Small format & comment 2023-05-23 14:30:35 +02:00
Johannes vd Berg
ebda35c3c9 Add ghost ticks to exhibit current divisor on BeatDivisorControl 2023-05-23 12:57:25 +02:00
Dan Balasescu
7658536b5a Fix CI issues 2023-05-23 19:32:19 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Bartłomiej Dach
38b4bd8aef
Fix undo not behaving as expected sometimes 2023-05-22 22:45:39 +02:00
Bartłomiej Dach
e0b7539c2a
Fix sample changes not being applied in patcher 2023-05-22 22:45:23 +02:00
Bartłomiej Dach
f253d17a7f
Fix slider velocity changes not being applied in patcher 2023-05-22 22:19:10 +02:00
timiimit
9d14ea9d27
Merge branch 'ppy:master' into update-multiplayer-room-diff-range 2023-05-21 16:37:00 +02:00
timiimit
4441718437
Merge branch 'ppy:master' into organize-room-pills 2023-05-21 16:36:53 +02:00
Bartłomiej Dach
afdddb0195
Merge pull request from peppy/placement-blueprint-timeline-combo-fixes
Fix timeline blueprint display not showing correct combo number / colour during placement
2023-05-20 15:02:55 +02:00
Bartłomiej Dach
0e11adaaac
Merge pull request from peppy/fix-missing-sample-additions
Fix sample banks not transferring when adjusting via editor
2023-05-20 14:36:45 +02:00
Dan Balasescu
035d0d5c9c Fix multiplayer leaderboard not working 2023-05-19 13:16:57 +09:00
Dan Balasescu
c33e4fe75e Remove unnecessary override 2023-05-18 20:10:28 +09:00
Dan Balasescu
f3591f83a2 Remove ScoreManager.GetTotalScore() 2023-05-18 20:08:49 +09:00
Dan Balasescu
510b8e4c78 Remove ScoreManager.Mode, handle per-use 2023-05-18 20:08:49 +09:00
Dean Herbert
214d7e07fa Add TODO regarding failing stack display code 2023-05-17 17:52:17 +09:00
Dean Herbert
9563d4f730 Fix weird purple tint on placement object in timeline 2023-05-17 17:26:19 +09:00
Dean Herbert
87ff28b022 Update beat divisor control to show ticks in more visually correct locations
As proposed in https://github.com/ppy/osu/discussions/23527.
2023-05-17 16:34:12 +09:00
Dean Herbert
730bc3a961 Apply NRT and simplify some remaining code 2023-05-17 16:18:13 +09:00
Dean Herbert
e97d027230 Make OnlinePlayPill class abstract 2023-05-17 16:13:03 +09:00
Dean Herbert
764f0323f4 Show "rewind" text on random button when beginning a right mouse press 2023-05-17 14:51:40 +09:00
Dean Herbert
94b184712d Fix random button hover state not correctly being reset on right click 2023-05-17 14:51:40 +09:00
Dean Herbert
dc51d5ecf3 Rename GetSampleInfo to better describe what method does
Also add full xmldoc
2023-05-17 14:07:48 +09:00
Dean Herbert
d9ae822966 Fix bank not correctly being assigned when adding sample additions in editor 2023-05-16 18:52:52 +09:00
timiimit
cc6e4df93e Remove wrongly added back namepspace 2023-05-16 10:27:46 +02:00
timiimit
4ef74eb3f9 Fix RoomStatusPill text colour 2023-05-16 10:22:52 +02:00
timiimit
81b7737660 Fix text colour of RoomSpecialCategoryPill 2023-05-16 10:20:16 +02:00
timiimit
a9991d9dd4 Remove another unused namespace 2023-05-16 10:14:14 +02:00
timiimit
40daa41a52 Fix naming & namespaces 2023-05-16 10:06:48 +02:00
timiimit
04893064f0 Make used pills inherit from a common one 2023-05-16 09:53:11 +02:00
timiimit
10d6f9ea5a Create common online play pill 2023-05-16 09:52:26 +02:00
timiimit
0fd718478a
Merge branch 'master' into update-multiplayer-room-diff-range 2023-05-15 07:36:43 +02:00
Bartłomiej Dach
592fcafcd4
Merge pull request from timiimit/fix-default-progress-graph-flipping
Fix default progress graph not updating after flip
2023-05-14 19:19:10 +02:00
timiimit
fd80ffd52b Fix display update condition 2023-05-14 12:09:15 +02:00
timiimit
18efdb0e4c Make layout readonly 2023-05-13 11:37:56 +02:00
timiimit
d81cdacb0d Undo stupid changes 2023-05-13 11:28:05 +02:00
timiimit
4b544903cb Optimize recalculateValues 2023-05-13 10:13:09 +02:00
timiimit
2cfc4eb515 Fix unconsidered height change 2023-05-13 10:12:46 +02:00
timiimit
80b6e014f1 More code style 2023-05-13 01:47:44 +02:00
timiimit
8cc0c5ad1c Fix code style 2023-05-13 01:39:01 +02:00
timiimit
04f7def798 Remove useless comment 2023-05-13 01:31:12 +02:00
timiimit
21d7c62f30 Add optimized UpdateGraph 2023-05-13 01:29:11 +02:00
timiimit
159cacf9c7 Fix logic in recalculateValues() 2023-05-13 01:27:28 +02:00
timiimit
6180d0d620 Remove cached frame buffer 2023-05-12 15:00:46 +02:00
Dean Herbert
70e248b927 Force placement of in-progress object when changing tools in the editor 2023-05-12 16:06:01 +09:00
Dean Herbert
bdf8a78b42 Add the ability to adjust the beatmap tick rate in the editor 2023-05-09 20:53:20 +09:00
Dan Balasescu
3c3c812ed6 Initial implementation of ScoreV2 2023-05-09 19:33:33 +09:00
Dean Herbert
2085833a84 Fix missing delegate unsubscribe 2023-05-09 17:08:03 +09:00
Dean Herbert
944da06c10 Rename slider multiplier variable back for now 2023-05-09 16:58:19 +09:00
Dean Herbert
8c44d528e9 Use min/max values from stable 2023-05-08 13:52:16 +09:00
Dean Herbert
a6cb1f90e4 Change difficulty popover inspector display (yet again)
I think this makes the most sense of the iterations I've tested so far, albeit maybe being a touch too verbose.
2023-05-08 13:43:23 +09:00
Dean Herbert
a91edd68d9 Show post-multiplied velocity in main hit object inspector 2023-05-08 13:42:25 +09:00
Dean Herbert
451af9d1b5 Fix beatmap values not being updated due to a varying data type 2023-05-08 13:23:13 +09:00
Dean Herbert
d9dd35c020 Show base velocity in slider adjustment popover 2023-05-08 13:13:09 +09:00
Dean Herbert
31de4de720 Remove median/mode slider velocity display
The intention was to give an idea of what the most common velocity of
the beatmap is, but in hindsight, because the "base" velocity is being
set elsewhere this doesn't make sense. It will/should be 1.0x.

Showing this range is still valuable, though.
2023-05-08 13:13:09 +09:00
Dean Herbert
b109ee74a6 Add "base velocity" adjustment to difficulty setup screen 2023-05-08 13:13:09 +09:00
Bartłomiej Dach
65b4b198a4
Merge branch 'master' into export 2023-05-06 20:12:53 +02:00
tsrk
e9d7cd7a79
feat(ArgonKeyCounter): flash key name 2023-05-06 19:08:30 +01:00
Bartłomiej Dach
e808a47811
Fix delegate leak 2023-05-05 20:33:27 +02:00
Bartłomiej Dach
f536238554
Use shorter copy 2023-05-05 20:30:50 +02:00
Bartłomiej Dach
34b19dd6f4
Merge branch 'master' into slider-velocity-inspector 2023-05-05 20:20:16 +02:00
Dean Herbert
b7a287869a Add display of beatmap slider velocity when adjusting 2023-05-05 15:57:38 +09:00
Dean Herbert
cc70d89bf9 Move editor inspector classes out of ruleset namespace 2023-05-05 15:57:38 +09:00
Dean Herbert
560f71ef53 Adjust BlurredIcon expansion ratio to fix glow getting cut off at lower resolutions
Closes https://github.com/ppy/osu/issues/23210.

Ballparked the fix to work down to the lowest resolution we support. The
previous number (`2.5f`) was also likely ballparked so the fix seems in
line with expectations.

I don't want to put too much thought into this because the design of
this screen is likely going to change in the mean time anyway.
2023-05-05 14:29:04 +09:00
tsrk
74e7a958bb
feat(ArgonKeyCounter): make animation
Currently WIP. Do not consider this final.
2023-05-05 05:31:06 +01:00
Bartłomiej Dach
fa3f42ba75
Merge pull request from peppy/fix-osu-logo-input-handling
Extend input handling of osu! logo to full border area
2023-05-03 17:48:51 +02:00
cdwcgt
4549a865d9
Merge branch 'master' into export 2023-05-04 00:18:01 +09:00
Dean Herbert
444f66b0ee Move to base class for added safety 2023-05-03 18:46:30 +09:00
Dean Herbert
cd31cff8cd Fix event subscriptions not being cleaned up in DrawableCarouselBeatmap
The handling of cleanup is performed only the `Item_Set` method. This
was already correctly called for `DrawableCarouselBeatmapSet`, but not
for the class in question here.

This would cause runaway memory usage at song select when opening many
beatmaps to show their difficulties. For simplicity, we don't yet pool
these (and generate the drawables each time a set is opened) which isn't
great but likely will be improved upon when we update the visual /
filtering of the carousel. But this simplicity caused the memory usage
to blow out until exiting back to the main menu when cleanup would
finally occur.
2023-05-03 18:41:30 +09:00
Dean Herbert
5757eb7529 Update a few more instances of 0.96f scale constants 2023-05-03 18:20:12 +09:00
Dean Herbert
453143813f Extend input handling of osu! logo to full border area
This is the easiest way to make this happen. It does mean the pink area
is being drawn behind the white border, but I haven't found a scenario
where this is noticeable.

Closes .
2023-05-03 14:57:57 +09:00
Dean Herbert
6b017ac05f
Merge pull request from OliBomby/sample-control-points
Remove SampleControlPoint and DifficultyControlPoint from HitObject
2023-05-03 14:21:51 +09:00
Dean Herbert
8a536c1cdb Fix non-block namespace usage 2023-05-02 15:09:24 +09:00
OliBomby
1dc34ee25d fix infinite repeat count when adjusting length of 0 length slider 2023-05-01 15:48:54 +02:00
OliBomby
608fa3cc73 Merge remote-tracking branch 'upstream/master' into sample-control-points 2023-04-30 19:47:03 +02:00
Cootz
607a04ae73 Fix the issue 2023-04-29 10:29:33 +09:00
OliBomby
c44f71a737 remove all regular usage of DifficultyControlPoint 2023-04-26 17:55:38 +02:00
OliBomby
87ca0f5335 Update SamplePointPiece.cs 2023-04-26 13:45:58 +02:00
Bartłomiej Dach
5ec8ecb11b
Merge pull request from peppy/key-counters-fix
Fix key counters counting during break time
2023-04-25 21:15:12 +02:00
OliBomby
e4b64bdc3e clean up code stuff 2023-04-25 19:06:29 +02:00
OliBomby
755ad25dbe clean code 2023-04-25 18:27:20 +02:00
OliBomby
c23a7b014e add missing } 2023-04-25 18:17:07 +02:00
OliBomby
065464d90c Fixed DifficultyPointPiece 2023-04-25 18:12:53 +02:00
Dean Herbert
14af2063e5
Merge pull request from peppy/round-editor-rotation
Always round editor rotation to integer values
2023-04-25 21:43:44 +09:00
Dean Herbert
6b4032e34b Add missing binding of IsCounting with contained counters 2023-04-25 21:37:19 +09:00
Dean Herbert
0a861ffcee Restructure key counters to use a common flow 2023-04-25 21:37:19 +09:00
Dean Herbert
7630958633 Stop using Drawable.Name to convey actual UI information 2023-04-25 20:24:36 +09:00
Dean Herbert
dd2c289ce9 Remove pointless default value 2023-04-25 20:22:12 +09:00
Dean Herbert
d8b4db3a13
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-25 19:54:31 +09:00
Renzo Poggio
0991c56e1c
Add extra check in 'SelectPreviousRandom'
Check if the poped beatmap exists within the beatmapSets
2023-04-25 00:05:15 -03:00
Dean Herbert
9f4b1f0f24 Always round editor rotation to integer values 2023-04-20 14:30:01 +09:00
Joseph Madamba
c80a25328d
Shorten label to just "matches" 2023-04-17 20:59:41 -07:00
Joseph Madamba
d0cbe206a9
Revert back to one number with "matching beatmap difficulties" label 2023-04-10 23:37:29 -07:00
Joseph Madamba
f0c8a3202b
Merge remote-tracking branch 'upstream/master' into fix-beatmap-terminology 2023-04-10 23:22:15 -07:00
Dean Herbert
52bb7891f7
Merge branch 'master' into fix-count-not-updating-when-deleting 2023-04-11 09:04:02 +09:00
Joseph Madamba
f80de08f24
Adjust BeatmapSetsChanged xmldoc
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-04-10 11:28:23 -07:00
Joseph Madamba
c7dea71793
Use existing BeatmapSetsChanged action 2023-04-10 11:26:18 -07:00
Bartłomiej Dach
73bd0feef5
Fix incorrectly implemented localisation 2023-04-10 15:03:33 +02:00
Bartłomiej Dach
6fec476147
Simplify snap implementation 2023-04-10 14:55:30 +02:00
Joseph Madamba
7f5b99c91b
Fix song select beatmap difficulty count not updating when deleting 2023-04-09 22:12:51 -07:00
cdwcgt
ce6a87b4a3
Merge remote-tracking branch 'upstream/master' into export 2023-04-09 15:02:47 +09:00
Dean Herbert
8d2e852ffd Fix overbearing key down handling 2023-04-08 22:30:36 +09:00
Dean Herbert
a1fc4def1d Remove redundant method override 2023-04-08 22:18:07 +09:00
Micha Lehmann
3c4a25e53f Fix tooltip text not resetting when ending an editor rotation 2023-04-08 14:28:52 +02:00
Micha Lehmann
580d5745c0 Add "(snapped)" to the tooltip when snap-rotating in the editor 2023-04-08 14:15:49 +02:00
Dean Herbert
f72dd86b42 Fix code quality issues and avoid updating bindable twice per operation 2023-04-08 10:40:36 +09:00
Micha Lehmann
c827c2810b Improve editor selection rotation value wrapping
This fixes two issues the previous algorithm had:
1.  A half-turn rotation used to show up as -180°.
2.  Rotating more than 180° in one drag event would overwhelm it
    and cause the value to go outside its range.

This comes at the cost of a negligible performance hit,
since a division (modulo) is performed instead of just addition/subtraction.
2023-04-08 01:30:29 +02:00
Micha Lehmann
f1de560d57 Snap editor selection rotation when holding shift 2023-04-08 01:30:29 +02:00
Elvendir
8e156fdb51 Enforce integer through regex match instead 2023-04-07 00:29:46 +02:00
Dean Herbert
0c71fa1bbd
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-06 23:39:57 +09:00
Dean Herbert
e6872629f3
Merge pull request from peppy/no-epilepsy-warning-storyboard-disable
Don't show epilepsy warning when storyboards are disabled
2023-04-06 12:32:38 +09:00
tsrk
809b817e8e
Merge branch 'master' into gameplay/argon-key-counter_le-retour 2023-04-05 22:57:36 +02:00
Bartłomiej Dach
ba753a8aac
Merge branch 'master' into update-skinnable-sound-before-playing 2023-04-05 22:56:25 +02:00
Elvendir
928145cdeb Enforce integer value before y and M
Change impacted Tests
2023-04-05 22:12:15 +02:00
Elvendir
c2f225f025 Made Operator.Equal not parse for date filter and added corresponding test 2023-04-05 21:25:58 +02:00
Bartłomiej Dach
6df7614b9d
Add tests for suppressing epilepsy warning when storyboard disabled 2023-04-05 20:56:50 +02:00
Bartłomiej Dach
432f698697
Merge branch 'master' into gameplay/key-counter-abstraction 2023-04-05 19:45:14 +02:00
Elvendir
df170517a8 -renamed function inverse() to reverseInequalityOperator() for clarity
-changed default case of reverseInequalityOperator() to out of range exception
2023-04-05 11:59:31 +02:00
Elvendir
d6c6507578
Update osu.Game/Screens/Select/FilterQueryParser.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-04-04 19:30:13 +02:00
Bartłomiej Dach
8cc425774b
Merge branch 'master' into fix-replay-fail-on-exit 2023-04-03 21:23:23 +02:00
Dean Herbert
b0c09df259 Merge branch 'master' into gameplay/key-counter-abstraction 2023-04-03 15:33:35 +09:00
Elvendir
4b053b4785 changed regex match to be inline with standard 2023-04-01 22:58:25 +02:00
Dean Herbert
4b294278d6 Merge branch 'master' into fix-ruleset-shader-caching 2023-03-31 20:04:55 +09:00
Dean Herbert
796cd9c916 Rewrite comment explaining early return on checkScoreCompleted given new usages 2023-03-31 02:36:17 +09:00
Dean Herbert
b25a59fd14 Rename scoreCompleted -> checkScoreCompleted to reflect the fact it doesn't always succeed 2023-03-31 02:30:04 +09:00
Dean Herbert
4dd0c2c7a5 Add assert ensuring we don't ever get to the results screen with an F rank
Intentionally an assertion as I want tests to fail, but I don't want
this to cause crashes for an end user if it does happen to occur.
2023-03-29 14:11:58 +09:00
Dean Herbert
a8bb2e33ac Ensure all preconditions are checked before progressing to results screen after storyboard ends 2023-03-29 14:00:11 +09:00
Dean Herbert
aad540629f Remove duplicate load rule from ShaderPrecompiler 2023-03-29 12:36:56 +09:00
Dean Herbert
5dfac02b11 Preload triangle shader on startup 2023-03-28 14:15:38 +09:00
Joseph Madamba
8b30c67580
Fix incorrect song select matching label by showing both beatmap and difficulty count for less ambiguity 2023-03-26 18:08:28 -07:00
Joseph Madamba
3e0bbb2432
Fix select beatmap button not highlighting when creating a multiplayer room using keyboard 2023-03-26 16:03:21 -07:00
Dean Herbert
c65a79614d Don't show offset calibration controls when "relax" mod is active
Closes https://github.com/ppy/osu/issues/22892.
2023-03-22 15:45:04 +09:00
Dean Herbert
425be20e46 Fix song select search textbox font size incorrectly having increased 2023-03-22 14:17:39 +09:00
Bartłomiej Dach
9ff9cd3b7f
Merge branch 'master' into skin-editor-cyclic-selection 2023-03-21 19:49:55 +01:00
Dean Herbert
e31a90e043 Don't cycle selection when more than one items are selected 2023-03-21 21:31:10 +09:00
Dean Herbert
5cb8160eee
Merge pull request from peppy/show-song-select-visible-beatmap-count
Show count of visible beatmaps at song select
2023-03-21 18:22:29 +09:00
Bartłomiej Dach
ea8da69263
Fix importing beatmaps not changing count of visible beatmaps
Reproduction steps:

1. Go to song select
2. Open beatmap listing
3. Import a beatmap that would fit the current filter criteria
4. The count of visible beatmaps does not change

Fixed by updating the count on `BeatmapSetsChanged` too.
2023-03-20 20:53:53 +01:00
Bartłomiej Dach
695ee39b87
Privatise setter 2023-03-20 20:30:54 +01:00
Elvendir
6dead81d21 Generalized tryUpdateLastPlayedRange to tryUpdateDateRange and Added tests 2023-03-19 18:43:17 +01:00
Elvendir
216a88e18d limited max Date comparison 2023-03-18 21:35:10 +01:00
Elvendir
102576cd8c adddede LastPlayed as filter option in beatmap carousel 2023-03-18 17:53:41 +01:00
Cootz
556964eae0
Merge branch 'master' into BitmapUpdatesOnScore 2023-03-16 12:16:42 +03:00
Dean Herbert
3b62f87b64 Ensure Player does not fail a score on exit if a replay is currently loaded 2023-03-16 17:14:20 +09:00
Dean Herbert
f21238f517 Adjust shadow to look better 2023-03-16 16:51:57 +09:00
Dean Herbert
cd102da3af Move matches string inside text box 2023-03-16 16:34:31 +09:00
Dean Herbert
89b42ddd98 Don't localise beatmap count string for now 2023-03-16 15:02:38 +09:00
Terochi
edc6314634 Drank some coffee and figured out the fix 2023-03-15 10:49:59 +01:00
Dean Herbert
5f9b13a775 Rename Add/AddRange methods as they are no longer conflicting with Container 2023-03-15 18:02:41 +09:00
Dean Herbert
9e444af380 Use object initialisers and fix order of initialisation vs add 2023-03-15 18:02:26 +09:00
Terochi
b0f1a69523 Update the pauseLoop sample instantly on skin change 2023-03-15 09:05:34 +01:00
Dean Herbert
1cf870d956 Add test coverage and fix fail case where a drag selection ends incorrectly with cyclic selection 2023-03-15 15:16:48 +09:00
Terochi
1d5e596615 Update FailAnimation to use SkinnableSound 2023-03-14 20:44:30 +01:00
Dean Herbert
6546f5968a Merge branch 'master' into skin-editor-cyclic-selection 2023-03-14 20:43:56 +09:00
Dean Herbert
b46fc14e56
Merge pull request from Rovearix/Fix-Dragging-Preventing-Beatmap-Loading
Prevent LoadingLayer from blocking loading
2023-03-14 20:42:10 +09:00
Dean Herbert
4cea29402b Don't show epilepsy warning when storyboards are disabled
I have more thoughts on this warning in general (which will likely see
it removed or moved in the future) but this seems like a quick QOL fix
for now.

As mentioned in https://github.com/ppy/osu/discussions/22861.
2023-03-14 18:32:26 +09:00
Rovearix
9ac9287dbd Switched the implementation to set the blockInput flag for the BeatmapMetadataDisplay's LoadingLayer. This prevents the UIEvents from being being handled in this case without modifying the class 2023-03-13 08:07:55 -04:00
Derrick Timmermans
febdca4547
Fix argon progress bar fill being oversized 2023-03-12 02:08:00 +01:00
Dan Balasescu
e327993d11
Merge pull request from Terochi/replay-length-extension
Replay recording extension until results screen transition
2023-03-11 15:41:32 +09:00
tsrk
d806b85a30
revert: make counters an IEnumerable again
As suggested by bdach as this would make the last two commits useless

Refs: 5d15426
2023-03-09 10:25:03 +00:00
Dean Herbert
4f7be332f3 Revert isDraggingBlueprint to field 2023-03-08 19:24:03 +09:00
Dean Herbert
245c3c025c Refactor endClickSelection to reduce nesting 2023-03-08 19:23:32 +09:00
tsrk
5d15426c27
refactor: make Counters return a Container 2023-03-08 01:52:12 +00:00
tsrk
5b0db94a24
docs: add XMLDoc for methods in KCD 2023-03-08 00:58:54 +00:00
tsrk
44297a7d0a
refactor: make KCD a CompositeDrawable 2023-03-08 00:47:16 +00:00
Bartłomiej Dach
72695f7c90
Merge branch 'master' into omit-barline-in-timing-control-point 2023-03-07 22:46:24 +01:00
Bartłomiej Dach
6c5ccdfd90
Merge branch 'master' into optimise-search 2023-03-07 22:07:29 +01:00
Bartłomiej Dach
12af002c4d
Reorder and add xmldoc to KeyCounter members 2023-03-07 21:28:42 +01:00
Bartłomiej Dach
98f40b2679
Improve documentation of InputTrigger 2023-03-07 21:22:59 +01:00
Bartłomiej Dach
5213bfa5c9
Merge branch 'master' into make_skin_reset_dangerous 2023-03-07 21:06:44 +01:00
Bartłomiej Dach
cfafa8af8c
Merge branch 'master' into hud/player-components 2023-03-07 19:44:12 +01:00
Bartłomiej Dach
7ade525eef
Display corner radius setting as percentage 2023-03-07 19:43:52 +01:00
Dean Herbert
dc2945f4f8 Move avatar user loading to BDL also 2023-03-07 17:39:21 +09:00
Dean Herbert
5af41bb1c8 Move filter matching code into own method to simplify early returns 2023-03-07 17:24:17 +09:00
Dean Herbert
5e90b67be0 Move GameplayState usage to BDL 2023-03-07 17:01:29 +09:00
Dean Herbert
d98199961b Adjust default sizing to fit a bit better with existing elements 2023-03-07 17:00:10 +09:00
Dean Herbert
6a7c4d0bf7 Remove NRT disables in new classes 2023-03-07 16:41:39 +09:00
Dean Herbert
97ba236eb1 Add basic xmldoc to KeyCounter classes 2023-03-07 16:41:39 +09:00
Dean Herbert
28520414aa Move KeyCounter components to HUD namespace 2023-03-07 16:41:39 +09:00
Dean Herbert
15d65059b5 Tidy up Add method logic 2023-03-07 16:21:57 +09:00
Dean Herbert
8f6df5ea0f
Merge branch 'master' into gameplay/key-counter-abstraction 2023-03-07 16:09:45 +09:00
Dean Herbert
21bdbb20e6 Add optional support for cyclic selection to BlueprintContainer 2023-03-07 14:22:12 +09:00
tsrk
fc0e27fb15
style: use normalised CornerRadius values 2023-03-06 20:11:52 +00:00
tsrk
952814604e
style: fix late night oopsies 2023-03-06 20:06:56 +00:00
tsrk
3a240aaa5f
style: use 64 radius 2023-03-06 10:27:59 +00:00
Dean Herbert
87d0bef313 Use nullable comparison helper method instead of manual implementation 2023-03-06 15:16:32 +09:00
tsrk
07bde4990d
feat: implement PlayerAvatar 2023-03-05 23:17:39 +00:00
tsrk
654eacd449
feat(l10n): localise CornerRadius 2023-03-05 23:10:42 +00:00
tsrk
082bfe3621
refactor: SkinnableAvatar to PlayerAvatar 2023-03-05 23:09:02 +00:00
mk56-spn
908651cc11 make ResetConfirmDialog properly utilise its parent's logic
Adjust name of `DeleteAction` to `DangerousAction`
2023-03-05 20:57:26 +01:00
OliBomby
70a925aab1 added extra early-returns 2023-03-04 16:49:33 +01:00
OliBomby
b90c389ff0 using List instead of Span in GetSearchableTerms 2023-03-04 15:42:35 +01:00
tsrk
d5ba5eed88
fix(SkinnableAvatar): init avatar.CornerRadius 2023-03-03 23:47:22 +00:00
tsrk
d39b8c7c23
fix(SkinnableAvatar): update outdated interface 2023-03-03 19:35:45 +00:00
Ruki
e75aa9138b
Merge branch 'ppy:master' into hud/avatar-thing 2023-03-03 20:03:56 +01:00
OliBomby
91d206e8d2 Optimised GetSearchableTerms
Reduced memory allocations to 1
2023-03-03 19:21:50 +01:00
Dean Herbert
82293c0c86 Don't filter away results with missing data when using "Date Submitted" or "Date Ranked" sort modes
From a user's perspective, changing a sort / order mode shouldn't filter
away results, but we were doing this.

In terms of UX expectations, in stable this kind of scenario would
results in a group being added to the end of son select with "Not
ranked" or "Unknown". I think we should aim to match this eventually.
2023-03-03 16:36:18 +09:00
Dean Herbert
dc669835e2 Show count of visible beatmaps at song select 2023-03-03 15:28:51 +09:00
Dean Herbert
6ff1fb6b1a Adjust sizing to allow for timing point information now being longer than before 2023-03-02 18:57:54 +09:00
Dean Herbert
044b0604b2 Move OmitFirstBarLine to TimingControlPoint 2023-02-28 19:29:31 +09:00
mk56-spn
90227a6496 Rename DeleteConfirmationDialog.cs into DangerousActionDialog.cs 2023-02-27 21:57:59 +01:00
tsrk
8c94b77de1
refactor(InputTrigger): move out of KCD
I love JetBrains Rider.
2023-02-22 15:05:07 +00:00
tsrk
1beec71037
refactor(KeyCounterDisplay): apply suggestions
I also took the freedom to add type checking, as we can't limit the
usage of `Add()` since it's a Container. The exception thrown also
advises of using the suggested `AddTrigger()` instead.
2023-02-22 14:58:27 +00:00
tsrk
42a5a06b9d
style(KeyCounter): fields and methods visiblity 2023-02-21 19:10:37 +00:00
tsrk
5bec2d7c52
style(KeyCounter): forwardPlayback 2023-02-21 19:02:56 +00:00
mk56-spn
299023fce0 Improve visibility of wedge shading in test scene and fix an issue with excessive roundness on said shadow. 2023-02-21 16:07:26 +01:00
Bartłomiej Dach
c9999bdeb1
Merge branch 'master' into skin-per-ruleset-layouts 2023-02-20 20:14:38 +01:00
Bartłomiej Dach
1ba1298850
Merge branch 'master' into blueprint-improve-visuals 2023-02-19 15:55:30 +01:00
Bartłomiej Dach
d9ca7102f0
Use more generic wording for future-proofing 2023-02-19 15:06:40 +01:00
Maximilian Kruse
723a043c43 naming change from Hitobject to HitObject 2023-02-19 10:18:22 +01:00
Maximilian Kruse
ddd37bb319 Add setting to disable automatic seeking after object placement 2023-02-18 19:43:45 +01:00
Bartłomiej Dach
6b9472c367
Merge branch 'master' into skin-per-ruleset-layouts 2023-02-17 22:58:38 +01:00
Bartłomiej Dach
8894a73b07
Merge branch 'master' into blueprint-improve-visuals 2023-02-17 21:40:16 +01:00
Bartłomiej Dach
6afa65bd3d
Merge branch 'master' into skinnable-clean-up-documentation 2023-02-17 20:59:18 +01:00
cdwcgt
e84e011d5d Merge branch 'master' into export 2023-02-17 22:15:19 +09:00
Dean Herbert
a01c3090e4 Fix tests which rely on HUDOverlay's DrawableRuleset being nullable 2023-02-17 19:27:09 +09:00
Dean Herbert
209d41ee9d Use RulesetInfo instead of Ruleset in skin components lookup 2023-02-17 18:24:05 +09:00
Dean Herbert
16d94b4ea2 Improve visuals of skin blueprint 2023-02-17 18:19:46 +09:00
tsrk
8830e06588
fix: compilation 2023-02-17 09:17:11 +00:00
tsrk
c94e647e21
style(KeyCounterDisplay): remove type check 2023-02-17 09:09:56 +00:00
Dean Herbert
4cc6664dc7 Add optional ruleset identifier to SkinComponentsContainerLookup 2023-02-17 14:19:19 +09:00
tsrk
d0e8d65766
style(KeyCounter): rename IsLit to IsActive 2023-02-17 00:56:17 +00:00
tsrk
e3ca751027
refactor: make FillFlowContainer read-only 2023-02-16 23:17:47 +00:00
tsrk
c61fac578c
style(KeyCounter): rename methods and arguments
As for the second suggestion in
https://github.com/ppy/osu/pull/22654#discussion_r1109047998,
I went with the first one as only one Trigger actually uses this
argument for rewinding.
2023-02-16 23:15:03 +00:00
tsrk
ddd6c1a1c6
refactor(KeyCounter): address bindables issues
`IsCounting` is back being an auto-property.
`countPresses` is now encapsulated and being exposed as an
`IBindable<int>` via `CountPresses`
2023-02-16 22:20:34 +00:00
tsrk
6340730427
refactor(KeyCounter): remove circularity 2023-02-16 21:59:39 +00:00
Bartłomiej Dach
ad5132ed41
Remove redundant conditional access qualifier
It is impossible for the callback passed to `ApplyToBackground()` to
receive a null reference. See `OsuScreen.ApplyToBackground()` - if the
background to call the callback on were `null`, then an
`InvalidOperationException` would be thrown instead.
2023-02-16 20:47:51 +01:00
Dean Herbert
394d368f16 Fix song select potentially updating background parameters when not the current screen 2023-02-16 18:45:22 +09:00
tsrk
74e7cc2056
feat: implement new design of key counter 2023-02-15 22:18:02 +00:00
tsrk
e9dcc257b4
reafactor: simplify type checking 2023-02-15 22:06:35 +00:00
tsrk
b0a2e69f95
style: nullable pass on KeyCounterDisplay 2023-02-15 22:06:10 +00:00
tsrk
076eb81b21
refactor: rename trigger classes
Makes it better to understand their purpose
2023-02-15 21:46:13 +00:00
tsrk
a644fae364
style(KeyCounter): rename (Un)lit methods to (Un)light 2023-02-15 21:41:41 +00:00
tsrk
df0633858c
fix(KeyCounter): don't override Handle
This caused the Keyboard inputs to register twice, which is not what we
want.
2023-02-15 21:41:41 +00:00
tsrk
157bba7830
refactor: rename Trigger class to InputTrigger 2023-02-15 21:41:36 +00:00
Dean Herbert
a92e42bb84 Rename SkinnableTargetContainer to SkinComponentsContainer
Also use full `SkinComponentsContainerLookup` instead of the sub-type.
This will potentially be useful once we bring in per-ruleset targets.
2023-02-15 18:37:41 +09:00
Dean Herbert
d159d6b970 Rename ISkinnableDrawable to ISerialisableDrawable 2023-02-15 18:37:41 +09:00
Dean Herbert
6010dde86e Move SkinnableInfo to better namespace 2023-02-15 18:23:10 +09:00
Dean Herbert
9ed068c1e6 Only apply dim changes when background blur is disabled 2023-02-15 14:16:34 +09:00
Dean Herbert
19e3c5d33c Adjust song select background dimming to be more evenly applied 2023-02-15 13:59:24 +09:00
Dean Herbert
7aaaf7fca2 Combine and attempt to simplify the score import / preparation process further 2023-02-14 16:55:35 +09:00
Dean Herbert
8a206234f7 Merge branch 'master' into replay-length-extension 2023-02-14 16:42:26 +09:00
Dean Herbert
51d4ae5241
Merge branch 'master' into footer_V2_implementation 2023-02-14 14:00:53 +09:00
Dean Herbert
f0ebb920b9 Make Actions nullable 2023-02-14 13:54:00 +09:00
MK56
5006dbe3db
Update osu.Game/Screens/Select/FooterV2/FooterButtonV2.cs
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-02-14 00:07:02 +01:00
Bartłomiej Dach
939144fb6c
Merge pull request from EVAST9919/letterbox-no-containers
Remove unnecessary containers in `LetterboxOverlay`
2023-02-13 23:54:48 +01:00
mk56-spn
ae9a17d76b Add offset to FooterButtonV2.cs shadow 2023-02-13 22:20:41 +01:00
mk56-spn
be52d0a60c Add note explaining shadow opacity
pass ColourProvider in from test, instead of hard coding it in `FooterButtonV2.cs`
2023-02-13 22:18:34 +01:00
mk56-spn
61584ba63c Fix corner_radius missing in some parts of FooterButtonV2.cs.
Adjust shadow radius value to 5 to match figma.
2023-02-13 22:15:29 +01:00