1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 04:32:55 +08:00
Commit Graph

12173 Commits

Author SHA1 Message Date
BlauFx
09230304a4
Improve implementation 2022-08-07 13:20:29 +02:00
Ryuki
b2557a8d2d
Refactor KPS
- Remove '#nullable disable' in KeysPerSecondCalculator and
  KeysPerSecondCounter
- Remove KeysPerSecondCalculator IDisposable implementation
- Make KeysPerSecondCalculator static instance initialized once by
  KeysPerSecondCounters
- Auto transfer dependencies from KeysPerSecondCounter to
  KeysPerSecondCalculator using Resolved properties
- Add internal reset logic to KeysPerSecondCalculator and make it
  independent from Player
- Use GameplayClock.TrueGameplayRate to get real-time rate. If 0 then it
  defaults to the last non 0 rate if no such mod is enabled
2022-08-07 00:53:00 +02:00
Bartłomiej Dach
a0d093be5c
Extract common implementation of delete dialog 2022-08-06 21:04:12 +02:00
BlauFx
bd43a9e96e
Add missing type specification 2022-08-06 18:49:07 +02:00
BlauFx
fa6d55b5b5
Remove redundant lambda signature parentheses 2022-08-06 18:47:11 +02:00
BlauFx
0d418559bc
Skip song intro only in case of a quick restart 2022-08-06 17:02:45 +02:00
BlauFx
e411a2d187
Revert reduced wait time commit 2022-08-06 15:12:36 +02:00
Salman Ahmed
84ef24c341 Fix multi-spectator potentially getting stuck for passed players 2022-08-06 05:41:26 +03:00
BlauFx
445f921756
Move IsSkippable event into load method 2022-08-05 23:21:03 +02:00
BlauFx
d8d7423698
Reduce "wait time" in case restarting the map 2022-08-05 23:04:43 +02:00
BlauFx
99e07aa09a
Skip intro if the map gets restarted 2022-08-05 23:01:52 +02:00
BlauFx
6717f0606c
Add property to SkipOverlay 2022-08-05 23:00:37 +02:00
Ryuki
0886137e39
Prevent KeysPerSecondCounter from NRE when no instance is initialized 2022-08-05 21:03:00 +02:00
HiddenNode
b46bc5d65b Remove empty line 2022-08-05 14:57:33 +01:00
Ryuki
24c29b7e2f
Do not add KPS calculation when gameplay rate is 0 2022-08-05 15:51:07 +02:00
HiddenNode
0243f8d6ac Clean up 2022-08-05 14:28:15 +01:00
HiddenNode
12ef99a1a1 Fix text position 2022-08-05 12:56:08 +01:00
Dan Balasescu
802dc90cb1 Adjust using directives for vertices 2022-08-05 20:37:33 +09:00
Dan Balasescu
c4b9b2a14b Merge branch 'master' into irenderer-glwrapper 2022-08-05 20:35:06 +09:00
Ryuki
42d1bdfc95
Move KPS calculation to a standalone class 2022-08-05 04:17:01 +02:00
Salman Ahmed
7c45c571a0
Merge branch 'master' into more-beat-sync-dependence 2022-08-03 20:22:42 +03:00
Dean Herbert
a32149fda1 Convert interface methods to extension methods 2022-08-03 20:07:55 +09:00
Dean Herbert
6ad6561e1c Fix LegacySongProgress incorrectly blocking mouse input from gameplay
Closes #19555.
2022-08-03 17:42:29 +09:00
HiddenNode
dbb77705da Merge branch 'fix_text_orientation' into fix_progress_bar_info 2022-08-02 19:00:43 +01:00
HiddenNode
bc21a2ed56 Remove unnecessary using directive 2022-08-02 17:41:17 +01:00
HiddenNode
78a98cdb9c Prevent TextSprites inside SongProgressInfo from being stretched or flipped 2022-08-02 17:37:31 +01:00
Dean Herbert
de186f67e0 Limit metadata updates to once per frame 2022-08-02 22:02:30 +09:00
Dan Balasescu
b4e55f7309 Apply IRenderer changes 2022-08-02 19:50:57 +09:00
Dan Balasescu
a2a913ab52 Merge branch 'irenderer-batches' into irenderer-textures 2022-08-02 19:25:08 +09:00
Dean Herbert
258ad7c6b9 Tidy up kiai time access 2022-08-02 18:18:40 +09:00
Dean Herbert
cc4cde2c79 Improve IBeatSyncProvider interface and reduce beatmap track dependence 2022-08-02 17:59:18 +09:00
Dean Herbert
efa3c3b757 Fix multiple cases of mutations at editor setup screen not triggering a state save 2022-08-02 16:47:37 +09:00
Dan Balasescu
fc0914bf77
Merge pull request #19536 from frenzibyte/playlists-settings-leak
Fix playlist settings reference leak due to unsafe binding
2022-08-02 13:30:55 +09:00
HiddenNode
df85bd74d7 Keep TextSprites in SongProgressInfo upright 2022-08-01 21:46:37 +01:00
Dean Herbert
c0e5f11c90
Merge pull request #19532 from frenzibyte/fix-new-items-sort-stability
Fix newly imported beatmaps not using correct comparer for sorting
2022-08-02 02:20:51 +09:00
Salman Ahmed
7e9d11ee24 Enable NRT on playlists settings overlay 2022-08-01 20:15:08 +03:00
Salman Ahmed
c851e3d8f3 Fix playlist settings reference leak due to unsafe callback binding 2022-08-01 20:08:18 +03:00
Salman Ahmed
fc7fc3d673 Fix newly imported beatmaps not using correct comparer for sorting 2022-08-01 19:13:57 +03:00
Dean Herbert
01cc9bd7ef
Merge pull request #19479 from frenzibyte/carousel-update-on-resume
Fix song select not updating selected beatmap card on editor resume
2022-08-02 00:48:18 +09:00
Dan Balasescu
d4eec9122f
Merge pull request #19516 from peppy/fix-editor-track-disposal-crash
Fix editor potentially playing a track post-disposal
2022-08-01 18:12:21 +09:00
Dan Balasescu
1d27c4f020
Merge pull request #19504 from peppy/skin-serialisation-test-coverfage
Add test coverage of deserialisation of skin layouts
2022-08-01 17:17:16 +09:00
Dean Herbert
6e7c298aaf Fix changes to audio / background not triggering an editor state change 2022-08-01 16:53:49 +09:00
Dean Herbert
2f60f91a0e Fix editor potentially using a track post-disposal
This changes the editor to track the current track as it is *loaded* by
`MusicController`, rather than haphazardly following the current global
`WorkingBeatmap` (with a potentially unloaded track) or relying on local
immediate-load behaviour (as implemented in `ResourcesSection`).
2022-08-01 16:53:49 +09:00
Dean Herbert
5b98a73edc Apply nullability to SkinComponentToolbox and split out reflection method to get all skinnable components 2022-08-01 14:04:08 +09:00
notmyname
fa3b9ee32f remove unneded guard 2022-07-31 23:42:20 +02:00
notmyname
57b43e0065 Stop capturing arrow keys on Playlist 2022-07-31 19:12:29 +02:00
Ryuki
89855cc1d6
Change KPS Counter implementation base and add better replay integration
The counter implementaiton is now list based, and will not invalidate
previous hits by removing them but by testing if they are within the 1
second span, allowing better integration with replays and spectators.
2022-07-31 01:29:57 +02:00
Salman Ahmed
faefda9143 Fix song select not updating selected beatmap card on editor resume 2022-07-30 19:47:42 +03:00
Susko3
38a8b9cf0a Add battery info for desktop platforms 2022-07-30 14:26:19 +02:00
Dean Herbert
43e612f6d4
Merge pull request #19455 from peppy/confirm-playlist-discard
Add confirmation dialog when about to discard a playlist
2022-07-30 19:17:49 +09:00
Salman Ahmed
8ca8484f0e Fix failing tests 2022-07-30 11:49:33 +03:00
Salman Ahmed
369ab10212 Fix exit confirmation dialog not blocking all exit cases 2022-07-30 11:00:31 +03:00
Salman Ahmed
2500e5c533
Merge branch 'master' into fix-summary-kiai-ranges 2022-07-29 19:38:28 +03:00
Dan Balasescu
09979d44aa Apply DrawNode batching changes 2022-07-29 23:32:09 +09:00
Dean Herbert
acf9ad1429 Apply nullability to EffectPointVisualisation 2022-07-29 23:26:38 +09:00
Salman Ahmed
3bc1774c87
Merge branch 'master' into pie-chart-progress 2022-07-29 16:54:59 +03:00
Salman Ahmed
905bbdc8ee Remove caching of GameplayClockContainer in favour of GameplayClock
Also fixes `SongProgress` being displayed in skin editor on non-gameplay
screens, due to `GameplayClock` not marked as a required dependency.
2022-07-29 16:45:29 +03:00
Dan Balasescu
155dac55d0 Apply DrawNode parameter changes 2022-07-29 22:33:34 +09:00
Salman Ahmed
3f72e76348 Expose StartTime from gameplay clock 2022-07-29 16:18:05 +03:00
Dean Herbert
8f1e3b0154 Fix editor summary timeline not responding to kiai changes correctly 2022-07-29 19:31:49 +09:00
Dean Herbert
9d457535c6 Add confirmation dialog when about to discard a playlist
The confirmation will only show if items have been added to the
playlist.

Closes https://github.com/ppy/osu/issues/19444.
2022-07-29 17:11:37 +09:00
Dean Herbert
eb92c35335
Merge pull request #19442 from smoogipoo/fix-beginplaying-misordering
Move spectator begin/end playing to SubmittingPlayer
2022-07-29 16:09:50 +09:00
Ryuki
2df24019fd
Merge branch 'master' into kps 2022-07-28 18:38:09 +02:00
Ryuki
b2e7da5aa0
Add basic Queue based implementation of KPS 2022-07-28 18:37:12 +02:00
Dean Herbert
3005ff1b9f Merge branch 'master' into pie-chart-progress 2022-07-28 22:19:27 +09:00
Dan Balasescu
11e0022fad Merge branch 'master' into realm-collections 2022-07-28 21:00:08 +09:00
Dan Balasescu
ce694123eb Move spectator begin/end playing to SubmittingPlayer 2022-07-28 20:44:04 +09:00
Dean Herbert
86c2b7e449 Apply nullability to DefaultSongProgress and clean up more stuff 2022-07-28 18:37:17 +09:00
Dean Herbert
ea027eda46 Move initial show to base implementation and add transition for legacy version 2022-07-28 18:29:49 +09:00
Dean Herbert
d5e5761892 Fix DefaultSongProgress graph not resetting if time is in intro 2022-07-28 18:25:24 +09:00
Dean Herbert
7108553883 Tidy up various things everywhere 2022-07-28 18:25:14 +09:00
Nitrous
0d36907cad
apply code quality fixes 2022-07-28 15:30:45 +08:00
Nitrous
bca3994d91
set FirstHitTime and LastHitTime once 2022-07-28 15:25:12 +08:00
Nitrous
db62d4be3a
apply suggestions
- refactor `SongProgress`
- make`UpdateProgress` more readable
- enable NRT on new classes
- refactor `TestSceneSongProgress` to use `GameplayClockContainer`
2022-07-28 15:15:41 +08:00
Dean Herbert
525e4a2019 Fix crash in DrawableRoomPlaylistItem context menu creation due to incorrect enumeration casting 2022-07-28 15:51:18 +09:00
Dean Herbert
ad482b8afc Tidy up naming of collection dropdowns 2022-07-28 13:57:21 +09:00
Dean Herbert
67c7f324ee Simplify CollectionFilterDropdown filter flow weirdness 2022-07-28 13:57:21 +09:00
Nitrous
9088caa377
move LegacyComboCounter to osu.Game.Skinning 2022-07-28 08:36:26 +08:00
Nitrous
45c11f2b7b
account for gameplay start time 2022-07-28 08:01:38 +08:00
Micahel Kelly
dd315ff97b Adds hard-delete for a beatmap diff 2022-07-27 21:21:16 +10:00
Dean Herbert
438067a18b Convert realm data propagation to more correctly use Live<T>
wip
2022-07-27 19:35:09 +09:00
Dean Herbert
41393616d8 Replace BeatmapCollection with RealmBeatmapCollection 2022-07-27 19:35:09 +09:00
Dean Herbert
9c543fef48 Remove CollectionManager 2022-07-27 18:45:33 +09:00
Micahel Kelly
3febd6d644 Dialogue touchups 2022-07-27 19:23:55 +10:00
Micahel Kelly
e6fad601cc Adds delete difficulty option to editor 2022-07-27 19:15:43 +10:00
Nitrous
37e642b0bd
make SongProgress abstract
- move unrelated logic to `DefaultSongProgress`
- make `LegacySongProgress` inherit `SongProgress`
2022-07-27 15:19:21 +08:00
Dean Herbert
e6a3659581 Guard against NewModifiedIndices being empty 2022-07-27 14:23:47 +09:00
Dean Herbert
24d75612e2 Always attempt to follow selection, even if difficulty name / metadata change 2022-07-27 14:18:53 +09:00
Dean Herbert
8105d4854a Fix beatmap carousel not maintaining selection if currently selected beatmap is updated 2022-07-27 13:33:48 +09:00
Dan Balasescu
bc60552694
Merge pull request #19402 from peppy/debugger-attached-audio-warning-disable
Don't show audio playback issue notification if debugger is attached
2022-07-26 18:49:33 +09:00
Dan Balasescu
8f7dff5c2c
Merge pull request #19378 from peppy/beatmap-update-test
Add separate beatmap update flow to handle edge cases better
2022-07-26 18:49:20 +09:00
Dean Herbert
e782590b3c Don't show audio playback issue notification if debugger is attached
I've hit this countless times recently when debugging during the startup
procedure.
2022-07-26 18:20:46 +09:00
Dean Herbert
6ff44ed2c6
Merge pull request #19399 from frenzibyte/carousel-order-stability
Maintain sort stability by using carousel item ID as a fallback
2022-07-26 17:33:30 +09:00
Dean Herbert
7f75184a01
Merge branch 'master' into beatmap-update-test 2022-07-26 17:27:36 +09:00
Dan Balasescu
412d42b907
Merge pull request #19393 from peppy/fix-statistics-panel
Avoid potential realm fetch after disposal in `StatisticsPanel`
2022-07-26 16:32:59 +09:00
Salman Ahmed
a4f6f2b9eb Make item ID comparer static 2022-07-26 09:55:37 +03:00
Dean Herbert
8370ca9765 Add ImportAsUpdate method to IModelImporter to avoid otehr changes 2022-07-26 15:49:04 +09:00
Salman Ahmed
693ac8750c Remove remaining uses of "child" terminology in non-drawable components 2022-07-26 09:43:47 +03:00
Salman Ahmed
d7ef4170be Maintain sort stability by using carousel item ID as fallback 2022-07-26 09:40:41 +03:00
Dean Herbert
4efe09e7c2
Merge pull request #19377 from frenzibyte/fix-timeline-tests
Fix intermittent timeline zoom test failures
2022-07-26 15:18:35 +09:00
Dean Herbert
99bdf41717 Avoid potential realm fetch after disposal in StatisticsPanel
As seen at https://github.com/ppy/osu/runs/7513799859?check_suite_focus=true.
2022-07-26 15:12:23 +09:00
Dan Balasescu
1b2158ff04 Remove unused method 2022-07-26 14:15:59 +09:00
Dean Herbert
ef10145d6f Rename MenuCursorContainer and clean up code 2022-07-26 14:11:52 +09:00
Dean Herbert
b7f6413bce Fix old version of beatmap potentially not being deleted during update flow
This can happen if the online IDs are not present in the `.osu` files.
Previously this was only working due to the early logic in the import
process (that relies on matching all online IDs perfectly).
2022-07-25 19:51:19 +09:00
Salman Ahmed
48bcf57066 Mark SetupZoom and parameterless ZoomableScrollContainer ctor as protected 2022-07-25 12:07:50 +03:00
Salman Ahmed
07c6b44864 Fix Timeline attempting to setup zoom with unloaded track 2022-07-25 12:07:50 +03:00
Salman Ahmed
123930306b Refactor ZoomableScrollContainer to allow setting up zoom range and initial zoom after load 2022-07-25 12:07:50 +03:00
Salman Ahmed
fa9daa6899 Fix TestSceneReplayRecorder not using score provided by gameplay state 2022-07-25 05:21:27 +03:00
solstice23
aaad2e474c
Refactor the multiple regex checks in criteria parsing 2022-07-23 21:43:27 +08:00
solstice23
63210d5662
Merge branch 'master' into search-filter 2022-07-23 18:13:53 +08:00
solstice23
3f2c341369
Simplify length parsing 2022-07-23 18:13:19 +08:00
Salman Ahmed
3aecd288e2 Enable NRT on TopLocalRank 2022-07-23 09:27:03 +03:00
Salman Ahmed
1d0306810a Fix TopLocalRank not handling legacy scores properly 2022-07-23 09:24:38 +03:00
Salman Ahmed
727fe76b60 Fix TopLocalRank hacking around presence to hide on null rank
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
Dean Herbert
db632c0d6e Inline rolling duration 2022-07-23 02:38:00 +09:00
Dean Herbert
475679ca66 Fix DI failure 2022-07-23 02:27:47 +09:00
Dean Herbert
bb46ba66e0 Simplify TotalScoreCounter tick playback logic 2022-07-23 02:27:17 +09:00
Dean Herbert
9f045209b9 Simplify score panel balance adjustment 2022-07-23 02:09:08 +09:00
Jamie Taylor
62d4d4b055
Add dynamic panning fun to score panel sfx 2022-07-22 21:03:47 +09:00
Jamie Taylor
89da21b6de
Add total score counter sfx 2022-07-22 21:03:47 +09:00
Jamie Taylor
6ce8e74e6b
Add panel appearance sounds 2022-07-22 21:03:46 +09:00
Dean Herbert
63fe4f265f
Merge pull request #19263 from frenzibyte/fix-failed-score-statistics
Populate failed scores with "miss" results for all remaining hitobjects
2022-07-22 20:16:16 +09:00
Dean Herbert
bfafb4480e
Merge pull request #19296 from smoogipoo/fix-timeline-focus-point
Fix timeline zoom focus point when using zoom buttons
2022-07-22 17:43:36 +09:00
Dan Balasescu
1d69090301
Merge pull request #19295 from frenzibyte/filter-control-available-area
Fix sorting mode not filling up to usable area in filter control
2022-07-22 17:20:40 +09:00
Dan Balasescu
e1df50c8ff Fix timeline zoom focus point when using buttons 2022-07-22 17:03:05 +09:00
Dean Herbert
72916d708c
Merge pull request #19294 from peppy/fix-timeline-feedback-loop
Fix timeline `alt`+`scroll` zoom not correctly zooming to current mouse position
2022-07-22 16:05:38 +09:00
Dean Herbert
1774a96455
Merge pull request #19278 from Cwazywierdo/timeline-relative-zoom
Make editor timeline zoom relative to song length
2022-07-22 15:37:47 +09:00
Dean Herbert
6eb42d08ce Fix timeline zoom receiving feedback from bindable changes
This causes the focal point zooming to not work (as the focal point is
lost). There's no need to handle ongoing changes to
`BeatmapInfo.TimelineZoom` because it is not a property which is changed
at runtime.
2022-07-22 15:25:57 +09:00
solstice23
7c222505e9
Simplify length parsing 2022-07-22 14:24:17 +08:00
Salman Ahmed
3b913bb9ad Fix sorting mode not filling up to usable area in filter control 2022-07-22 09:15:48 +03:00
Dean Herbert
4cec9a085a Combine both calls to use same pathway 2022-07-22 14:59:20 +09:00
Dean Herbert
f713253d1b Fix formatting inconsistencies in empty ctors 2022-07-22 14:00:29 +09:00
LukynkaCZE
ed94d7fce8 Fix requested changes 2022-07-22 02:46:17 +02:00
Adam Baker
997fe00cdc Fix zoom delta math 2022-07-21 17:29:13 -05:00
Adam Baker
d69dc457ba Extract zoom delta method 2022-07-21 17:28:43 -05:00
LukynkaCZE
ebe386c288
Merge branch 'ppy:master' into editor-save-toast 2022-07-22 00:25:23 +02:00
solstice23
b36e23c0da
Simplify the regex expression 2022-07-22 03:30:31 +08:00
solstice23
ae0902ca86
Fix lax in search criteria parsing 2022-07-22 02:55:11 +08:00
solstice23
0dcb3644f5
Merge branch 'master' into search-filter 2022-07-22 01:32:25 +08:00
Adam Baker
a4f071fe53 Make zoom sensitivity relative to containers max zoom 2022-07-21 08:26:48 -05:00
solstice23
6baaef432f
Add colon parsing support in search length criteria 2022-07-21 18:49:13 +08:00
solstice23
a5a8fac66f
Add multiple units support in search length criteria 2022-07-21 18:24:31 +08:00
Dean Herbert
fc0c9f76bd Fix UpdateBeatmapSetButton intermittent test failure
Carousel would only expire items when off-screen. This meant that for a
case (like a test) where items are generally always on-screen,
`UpdateBeatmapSet` calls would result in panels remaining hidden but not
cleaned up.
2022-07-21 16:24:48 +09:00
Dean Herbert
3cfe624af1 Fix one more missed method with incorrect terminology 2022-07-21 16:16:41 +09:00
Dean Herbert
a05d7f4d8c Change carousel terminology to not use Children / InternalChildren 2022-07-21 16:06:06 +09:00
Dean Herbert
07e1763a70 Tweak velocity a bit more (and simplify in multiple places) 2022-07-21 14:25:11 +09:00
Salman Ahmed
ad09e728fd Move Passed assignment inside FailScore 2022-07-21 08:12:06 +03:00
TacoGuyAT
2f16174d3d Changed control points set to private; Cleanup 2022-07-21 07:25:44 +03:00
TacoGuyAT
d6c3a52494 Added missing braces 2022-07-21 06:38:33 +03:00
TacoGuyAT
ed8e065a86 Logo triangles speed and beat sync tweaks 2022-07-21 06:13:45 +03:00
Salman Ahmed
0f0b19da4a Populate score with remaining "miss" statistics on fail/exit 2022-07-21 06:01:36 +03:00
Dan Balasescu
7dfc18a0e3
Merge pull request #19208 from frenzibyte/remove-score-multiplier-on-custom-mod-settings
Remove score multiplier on difficulty-increasing mods with customised settings
2022-07-20 20:12:59 +09:00
Dan Balasescu
2b399ec7ad
Merge branch 'master' into date-submitted-ranked 2022-07-20 18:36:57 +09:00
Dan Balasescu
de29078db2 Remove nullable disables 2022-07-20 15:16:40 +09:00
Dan Balasescu
f9c02c34b6 Merge branch 'master' into beatmap-update-online-flow 2022-07-20 15:15:51 +09:00
Salman Ahmed
6ce6f6f7df
Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-20 08:57:43 +03:00
Adam Baker
cecf654a7b
Update osu.Game/Screens/OnlinePlay/Multiplayer/MultiplayerMatchSubScreen.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-19 18:58:59 -05:00
Salman Ahmed
ae6aab2555
Merge branch 'master' into edit-map-carousel 2022-07-20 02:43:47 +03:00
LukynkaCZE
5987acfbca Fixed code formatting 2022-07-19 22:59:25 +02:00
LukynkaCZE
a00da279b7 Beatmap Editor Save Toast 2022-07-19 21:38:23 +02:00
Salman Ahmed
4210ec6502 Merge branch 'master' into remove-score-multiplier-on-custom-mod-settings 2022-07-19 19:21:26 +03:00
Adam Baker
4164f260b3 Fix code quality errors 2022-07-19 08:12:12 -05:00
Dean Herbert
30daa0fd44 Add ranked and submitted date storage and filtering 2022-07-19 19:55:56 +09:00
Dean Herbert
17046b0553 Add basic handling of download failures 2022-07-19 19:01:23 +09:00
Dean Herbert
a16bf35581 Rename button class and add basic progress display 2022-07-19 18:29:36 +09:00
Dean Herbert
da360af15a Fix vertical centering of button 2022-07-19 18:29:36 +09:00
Dean Herbert
eaf4f6dbb7 Add beatmap update button 2022-07-19 18:29:36 +09:00
Adam Baker
5008a73774 Make add item button open to the last beatmap in queue 2022-07-19 02:04:19 -05:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Adam Baker
59018ab5ba Fix multiplayer queue edit button opening to the wrong beatmap 2022-07-18 23:21:16 -05:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version 2022-07-18 22:34:58 +02:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset 2022-07-18 12:24:47 +03:00
Dean Herbert
b8c90266de
Merge pull request #19209 from 3stantedja/make-contracted-stats-titlecase
Make sure stats name are title-cased when score panel is contracted
2022-07-18 16:26:20 +09:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
e86a35fe33 Fix NRE on footer button mods 2022-07-18 10:09:14 +03:00
Dean Herbert
a036632c8b Fix potential crash when attempting to create mod display using null ruleset 2022-07-18 15:30:21 +09:00
Dean Herbert
21bf7ee448 Turn on nullability in ParticipantPanel 2022-07-18 15:27:55 +09:00
Salman Ahmed
100c53f9ef Country -> CountryCode 2022-07-18 08:40:34 +03:00
Salman Ahmed
eddae7b143 Fix mod overlay and footer not updating multiplayer on settings change 2022-07-18 07:38:56 +03:00
Fyra Tedja
6ad7723d60 Make sure stats name are title-cased when score panel is contracted 2022-07-17 22:13:08 -06:00
Dean Herbert
55a8a3563b Change MultiplayerMatchSubScreen to not immediately leave the room on connection loss
Instead, we can rely on `MultiplayerClient.Room` going `null`.
2022-07-17 21:19:10 +09:00
tsunyoku
bbb2398a8b change retry button icon from ArrowCircleLeft to Redo 2022-07-17 00:46:29 +01:00
Salman Ahmed
e62049f4a9 Update various usages of Country inline with new enum 2022-07-16 05:04:24 +03:00
Salman Ahmed
e6236ba088 Update save score button to check availability after import
Previously was relying on whether `SaveReplay` returns null, but since
I've changed it to use the standard "prepare score for import" path, the
button has to check for local availability after import since that path
doesn't return null on fail.
2022-07-15 23:39:52 +03:00
Salman Ahmed
6285442b7d Fix failed scores not prepared before import 2022-07-15 22:57:12 +03:00
Salman Ahmed
8f7b3cf11a Merge branch 'master' into Save-Score-Failed 2022-07-15 22:10:19 +03:00
Salman Ahmed
838e9ec12e
Merge branch 'master' into placeholder-fixes 2022-07-15 20:22:25 +03:00
Dean Herbert
cbbc8fdfb1
Merge pull request #19126 from peppy/lazer-leaderboards
Show leaderboard scores from new data source
2022-07-16 01:53:16 +09:00
Dean Herbert
2beed6d7b7 Allow failed scores to fail in replay playback 2022-07-15 20:45:48 +09:00
Dean Herbert
d325c534ab Check whether score is already imported and show correct state for save button 2022-07-15 20:45:37 +09:00
Dean Herbert
cf38b15332
Merge pull request #19124 from frenzibyte/song-select-metadata-search
Change clicking source/tags on song select to filter instead of searching online
2022-07-15 19:16:31 +09:00
Dean Herbert
0200ef1d48 Make delegate firing more safe to being set later than BDL 2022-07-15 19:06:44 +09:00
Dean Herbert
0e788ac714 Simplify bindable logic greatly 2022-07-15 19:02:12 +09:00
Dean Herbert
8a48cb701d Tidy up implementation and remove unnecessary enum 2022-07-15 19:02:04 +09:00
Dean Herbert
ab6665d88c
Merge branch 'master' into Save-Score-Failed 2022-07-15 18:02:58 +09:00
Dean Herbert
e12e480393 Only expose bindable string rather than full textbox 2022-07-15 18:01:35 +09:00
Dean Herbert
ba0a158740 Show search online prompt even when no beatmaps are available locally 2022-07-15 17:50:10 +09:00
Dean Herbert
c8c79d2185 Standardise HasReplay implementation (and remove from persisting to realm) 2022-07-15 16:14:21 +09:00
Dan Balasescu
c1dd1cfead
Merge pull request #19082 from peppy/api-solo-score-model
Add and consume `SoloScoreInfo`
2022-07-15 15:20:18 +09:00
Salman Ahmed
7e80a71020 Replace download tracker with local querying 2022-07-15 08:16:36 +03:00
Salman Ahmed
86d019c2b2 Enable NRT on BeatmapDetails 2022-07-15 06:52:06 +03:00
Salman Ahmed
97c3eea3aa Fix beatmap details source and tags not filtering on song select 2022-07-15 06:51:50 +03:00
Salman Ahmed
a85a70c472 Fix potential nullref in ContextMenuItems 2022-07-14 05:04:28 +03:00
Salman Ahmed
036e64382f Add beatmap details menu item to playlist items 2022-07-14 03:41:47 +03:00
Salman Ahmed
102d0415f1 Merge branch 'master' into drawable-playlist-item-collection 2022-07-14 00:10:49 +03:00
Dean Herbert
7ac04d0478 Fix potential crash when exiting editor test mode 2022-07-14 01:00:18 +09:00
Dan Balasescu
7ed05277f8
Merge pull request #19098 from peppy/last-played
Add "last played" sort mode to song select
2022-07-13 22:44:50 +09:00
Dean Herbert
937692604e Remove mention of autoplay mod for now 2022-07-13 22:37:20 +09:00
Dan Balasescu
afaf8f5189
Merge pull request #19105 from peppy/fix-editor-disposed-track
Fix audio and background file equality incorrectly comparing `BeatmapSet.Hash`
2022-07-13 22:34:36 +09:00
Dean Herbert
6950223a7d Fix drawable mutation from disposal thread 2022-07-13 19:19:14 +09:00
Dean Herbert
952d97c66e Update comment regarding LoadTrack safety 2022-07-13 19:02:22 +09:00
Dean Herbert
fc274629f8 Add "last played" sort mode to song select
Note that this will consider the most recent play of any beatmap in
beatmap set groups for now, similar to other sort methods.
2022-07-13 16:43:43 +09:00
Dean Herbert
ab3ec80159 Update LastPlayed on gameplay starting in a SubmittingPlayer 2022-07-13 16:43:43 +09:00
Dean Herbert
f956955d4d Combine ScoreInfo construction helper methods 2022-07-12 18:00:25 +09:00
Dan Balasescu
bd6f8bde9f
Merge pull request #19079 from peppy/fix-audio-playback-disposed
Fix potential crash during shutdown sequence if intro playback was aborted
2022-07-12 17:29:23 +09:00
Dean Herbert
cad18ebc58 Reword comment to better explain what we are guarding against 2022-07-12 16:46:19 +09:00
Dean Herbert
cafe30fc4d Fix potential crash during shutdown sequence if intro playback was aborted
Fixes one of the audio related `ObjectDisposedException`s
(https://sentry.ppy.sh/organizations/ppy/issues/92/events/12f282f048cb4a4fae85810e8a70b68d/?project=2&query=is%3Aunresolved&sort=freq&statsPeriod=7d).

Ran into this while testing locally. See
`IntroScreen.ensureEventuallyArrivingAtMenu` for the related cause of
this happening (forced continuing to next screen if the intro doesn't
load in time).
2022-07-12 15:20:30 +09:00
Dean Herbert
b52ea16133 Show basic error message when score submission fails 2022-07-12 15:10:59 +09:00
Dan Balasescu
d82d50e308
Merge pull request #19065 from Ludio235/master
Fix playlist room creation screen pushing content on opening dropdowns
2022-07-12 13:22:38 +09:00
Dan Balasescu
3ca10ac02c
Merge pull request #19063 from Joehuu/fix-samples-cancel-exit
Fix editor playing object samples while paused after cancelling exit
2022-07-12 12:51:27 +09:00
為什麼
6a643cb6ea Use Debug.Assert instead. 2022-07-12 09:41:19 +08:00
Dean Herbert
0434c10914 Use global WorkingBeatmap in PlayerArea for the time being 2022-07-11 02:57:44 +09:00
Dean Herbert
8116a4b6f6 Fix multiplayer spectator crash due to track potentially not being loaded in time 2022-07-11 02:51:40 +09:00
為什麼
857377e145 Move CreateConvertibleReplayFrame() into legacy ruleset interface because technically only legacy ruleset use it to convert the legacy frame.
But seems some of the customized ruleset use it for save the replay frame.
2022-07-10 10:15:27 +08:00
Ludio235
52aef09cd6
Update PlaylistsRoomSettingsOverlay.cs 2022-07-10 02:05:40 +00:00
Joseph Madamba
834bb1f187 Fix editor playing object samples while paused after cancelling exit 2022-07-09 12:14:39 -07:00
cdwcgt
d2406242ae
rename updateTooltip to updateState 2022-07-09 00:38:17 +09:00
cdwcgt
91f471ebe0
disabled button instead of shake
removed `ShakeContainer`
2022-07-09 00:37:53 +09:00
cdwcgt
a38c6704c2
Use ContinueWith, Check is Task empty 2022-07-09 00:23:32 +09:00
Dean Herbert
5651eca06c Merge branch 'master' into custom-ruleset-score-import 2022-07-08 19:03:47 +09:00
Dean Herbert
e4ebab92c6 Rename lots of weird variables 2022-07-08 18:37:03 +09:00
Dean Herbert
f3a6e646a6 Merge branch 'master' into Save-Score-Failed 2022-07-08 18:32:13 +09:00
Dean Herbert
eab3eba70e Move event handlers to LoadComplete 2022-07-08 15:09:16 +09:00
Dean Herbert
1e159eb328
Add back fade to black duration
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-07-08 10:43:50 +09:00
Salman Ahmed
67fa15f231 Remove no longer required context menu container in ParticipantsList 2022-07-08 01:42:55 +03:00
Salman Ahmed
7b08501eaf Cover online-play room screens with context menu containers 2022-07-08 01:42:11 +03:00
Salman Ahmed
1d0f2e359a Add collection context menu to room playlist items 2022-07-08 01:40:53 +03:00
Salman Ahmed
a94fb62be3 Split collection toggle menu item to own class 2022-07-08 01:39:45 +03:00
Salman Ahmed
07a08d28c6 Rename parameter and default to 0 2022-07-07 23:31:06 +03:00
Dean Herbert
15d070668d Move intro screen background to base implementation and use colour fading 2022-07-08 02:12:01 +09:00
Dean Herbert
216150b52d Avoid always loading new background at MainMenu
This was meant to be an optimisation to allow the background to load
while the intro is playing, but as the current default intro loads a
background itself, this was rarely the case and also counter-productive
as it would bypass the equality check and start a second load sequence.
2022-07-08 02:12:01 +09:00
Dean Herbert
789904ccd1 Avoid reloading background unnecessariyl when not yet loaded 2022-07-08 02:12:01 +09:00
Dean Herbert
9d730f8440 Fix custom rulesets not importing scores at all
Replaces the error with the ability to import, minus replays.

Closes https://github.com/ppy/osu/issues/17350 (arguably, but let's go with it for now).
2022-07-07 14:49:23 +09:00
Dean Herbert
e1b434b5dc Fix song select placeholder not showing convert hint for custom rulesets 2022-07-07 14:46:51 +09:00
Susko3
4c3789ec5d Split into a function 2022-07-05 11:15:37 +02:00
Susko3
bb0f212448 Trigger the initial cookie with midi and joysticks 2022-07-05 00:38:18 +02:00
Dan Balasescu
9bf91835b6
Merge pull request #18962 from peppy/slider-range-control
Move star difficulty filter to song select
2022-07-03 21:58:00 +09:00
Dan Balasescu
724fd19038 Remove nullable disables 2022-07-03 21:15:13 +09:00
Dan Balasescu
1ccfd69690
Merge pull request #18978 from peppy/send-beatmap-hash-to-server
Send beatmap hash to server on solo score request
2022-07-03 13:18:17 +09:00
Dean Herbert
052a786eff Only show hover effect on one nub at a time 2022-07-03 03:06:03 +09:00
Dean Herbert
7d8ea5e286 Remove unnecessary proxying 2022-07-03 02:59:10 +09:00
Dean Herbert
2a1777fa85
Merge branch 'master' into fix-player-star-difficulty-display 2022-07-02 18:57:46 +09:00
Salman Ahmed
19d300e311 Fix player loader not accepting star difficulty updates after display 2022-07-02 09:17:38 +03:00
Dean Herbert
a03abc747b Tidy up comments and simplify bounding box centre logic 2022-07-02 12:58:34 +09:00
Dean Herbert
1fd9c64803 Change song select FooterButton sound 2022-07-02 12:48:33 +09:00
Dean Herbert
634b6cdbbe Send beatmap has to server on solo score request
Right now, the client does nothing to ensure a beatmap is in a valid
state before requesting to submit a score. There is further work to be
done client-side so it is more aware of this state (already handled for
playlists, but not for the solo gameplay loop), but the solution I have
in mind for that is a bit more involved.

This is not used server-side yet, but I want to get this sending so we
can start using it for some very basic validation.

Will resolve the basic portion of #11922 after implemented server-side.
2022-07-02 12:16:17 +09:00
Dan Balasescu
3b1842a2c2
Merge pull request #18835 from peppy/beatmap-update-flow
Split out beatmap update tasks to `BeatmapUpdater` and invoke from editor save flow
2022-07-01 20:28:04 +09:00
Dean Herbert
6baccad058
Merge pull request #18821 from ggliv/locked-room-filter
Add room access type filter to multiplayer lounge screen
2022-07-01 19:37:43 +09:00
Dean Herbert
b829884861
Merge pull request #18963 from peppy/more-placeholder-suggestions
Add difficulty filter reset to song select "no results" suggestions
2022-07-01 17:55:23 +09:00
Dean Herbert
b460a52faf
Merge pull request #18966 from smoogipoo/fix-flaky-multiplayer-test
Fix test sometimes referencing old ModSelect object
2022-07-01 17:55:06 +09:00
Dean Herbert
e213c1a4ef Rename enum to explicitly mention it is a filter 2022-07-01 17:27:03 +09:00
Dean Herbert
9911c6cbf0
Merge branch 'master' into locked-room-filter 2022-07-01 17:17:01 +09:00
Dan Balasescu
58c9bb031f Apply PR reviews/fixes 2022-07-01 16:51:15 +09:00
Dan Balasescu
c22e77e481 Fix test sometimes referencing old ModSelect object 2022-07-01 16:46:27 +09:00
Dean Herbert
58e25a3a01 Fix potential crash in BeatmapLeaderboard during rapid refresh operations 2022-07-01 15:42:35 +09:00
Dean Herbert
3e0f4e7609 Add test coverage of difficulty filter reset 2022-07-01 15:28:55 +09:00
Dean Herbert
f3af612133 Suggest removing difficulty filter if no matches found at song select 2022-07-01 15:18:04 +09:00
Dean Herbert
545df0a8e8 Display difficulty on nub 2022-07-01 15:17:26 +09:00
Dean Herbert
cb9947b1c9 Align song select components a bit better 2022-07-01 15:17:12 +09:00
Dean Herbert
32139ac13f Tidy up implementation and add basic visual test 2022-07-01 15:16:58 +09:00
Dean Herbert
d54f7fc728 Move slider range control to song select 2022-07-01 14:41:36 +09:00
cdwcgt
33209ecd25
remove useless value change 2022-06-30 19:51:58 +09:00
Dean Herbert
aab4dcefbd Remove unnecessary invalidation handling flow 2022-06-30 17:13:26 +09:00
Dean Herbert
98938821e5 Merge branch 'master' into beatmap-update-flow 2022-06-30 16:44:17 +09:00
cdwcgt
fd0d8b1ce3
Add button state, fix async issues, watch replay method
Most borrowed from `ReplayDownloadButton`
2022-06-29 22:50:47 +09:00
Salman Ahmed
e3eba58cb6 Catch in triangles intro 2022-06-29 13:37:42 +03:00
Dean Herbert
6bfd351dec Add logging of GameplayClockContainer seeks 2022-06-28 15:23:29 +09:00
Dean Herbert
569fde4b47 Add messages to all InvalidOperationExceptions
Without this, they can be very non-descript and hard to track down
2022-06-28 01:34:25 +09:00
Dan Balasescu
d43b980a17
Merge pull request #18872 from peppy/add-working-beatmap-changed-logging
Add various logging of global `WorkingBeatmap` state changes
2022-06-27 21:34:05 +09:00
Dean Herbert
aa7d54f8b6 Add logging for various cases of SongSelect.FinaliseSelection being aborted 2022-06-27 20:10:17 +09:00
Dean Herbert
50c1c066de Add various logging of global WorkingBeatmap state changes 2022-06-27 18:41:31 +09:00
Dean Herbert
0ba29b6fa6 Use currentScreen instead to make sure the screen we care about is loaded 2022-06-27 18:28:00 +09:00
Dean Herbert
5a7d339cc8 Centralise and harden editor-ready-for-use check
Not only does this combine the check into one location, but it also adds
a check on the global `WorkingBeatmap` being updated, which is the only
way I can see the following failure happening:

```csharp
05:19:07     osu.Game.Tests: osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.TestAddAudioTrack
05:19:07       Failed TestAddAudioTrack [161 ms]
05:19:07       Error Message:
05:19:07        TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
05:19:07       Stack Trace:
05:19:07       --TearDown
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass7_0.<AddFile>b__0(TModel managed) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Database.ModelManager`1.<>c__DisplayClass8_0.<performFileOperation>b__0(Realm realm) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 49
05:19:07        at osu.Game.Database.RealmExtensions.Write(Realm realm, Action`1 function) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\RealmExtensions.cs:line 14
05:19:07        at osu.Game.Database.ModelManager`1.performFileOperation(TModel item, Action`1 operation) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 46
05:19:07        at osu.Game.Database.ModelManager`1.AddFile(TModel item, Stream contents, String filename) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Database\ModelManager.cs:line 36
05:19:07        at osu.Game.Screens.Edit.Setup.ResourcesSection.ChangeAudioTrack(FileInfo source) in C:\BuildAgent\work\ecd860037212ac52\osu.Game\Screens\Edit\Setup\ResourcesSection.cs:line 115
05:19:07        at osu.Game.Tests.Visual.Editing.TestSceneEditorBeatmapCreation.<TestAddAudioTrack>b__13_0() in C:\BuildAgent\work\ecd860037212ac52\osu.Game.Tests\Visual\Editing\TestSceneEditorBeatmapCreation.cs:line 101
05:19:07        at osu.Framework.Testing.Drawables.Steps.AssertButton.checkAssert()
05:19:07        at osu.Framework.Testing.Drawables.Steps.StepButton.PerformStep(Boolean userTriggered)
05:19:07        at osu.Framework.Testing.TestScene.runNextStep(Action onCompletion, Action`1 onError, Func`2 stopCondition)
```
2022-06-27 16:22:01 +09:00
Dean Herbert
31a447fda0 Update parameter discards 2022-06-24 21:26:19 +09:00
Dean Herbert
30eebf3511 Merge branch 'master' into c-sharp-10 2022-06-24 21:22:33 +09:00
Dean Herbert
7692bac35a Simplify refetch (and ensure to invalidate after processing) 2022-06-24 21:02:38 +09:00
Dean Herbert
66a01d1ed2 Allow song select to refresh the global WorkingBeatmap after an external update 2022-06-24 21:02:38 +09:00
Bartłomiej Dach
26c5b59f6d
Replace usages of string.To{Lower,Upper}() 2022-06-24 11:57:45 +02:00
Dean Herbert
8912f07745 Merge branch 'master' into difficulty-icon-refactor-pass 2022-06-24 16:34:35 +09:00
Dean Herbert
f71f6302fd Remove unnecessary null casts 2022-06-24 14:50:11 +09:00
Dean Herbert
28837693e5 Nuke calculating everything
The whole component is pointless so I'm just going to nuke for now I
guess. Kind of makes the whole refactor effort pointless but oh well?

To expand on this, the implementation was actually incorrect as pointed
out at https://github.com/ppy/osu/pull/18819#pullrequestreview-1017886035.
2022-06-24 14:24:06 +09:00
Bartłomiej Dach
04d69010b5
Split overlong conditional to local function 2022-06-23 18:03:07 +02:00
Bartłomiej Dach
bea70988bc
Remove unnecessary #nullable disable 2022-06-23 17:57:22 +02:00
Gabe Livengood
454eff43c5
publicity -> accesstype 2022-06-23 11:40:25 -04:00
Gabe Livengood
d67c482c48
move publicity filter to multi exclusively 2022-06-23 11:36:08 -04:00
Gabe Livengood
9a15adbfff
add an all option to publicity filter 2022-06-23 11:24:28 -04:00
Gabe Livengood
2def6d809b
refactor to use enum dropdown 2022-06-23 11:02:27 -04:00
Dean Herbert
ef258122d2 Move GetDifficultyRating helper method to StarDifficulty 2022-06-23 19:51:58 +09:00
Dean Herbert
01da6f20b3 Tidy up all remaining usages 2022-06-23 19:27:35 +09:00
Dean Herbert
7dec530ca5 Split out simple DifficultyIcon with no calculation overhead and update usages 2022-06-23 19:27:35 +09:00
Dean Herbert
4a2ca4394b Remove unused ModeTypeInfo class 2022-06-23 19:27:35 +09:00
Gabe Livengood
bf5a7e3f2a
add locked room filter 2022-06-22 17:01:28 -04:00
Dean Herbert
97fcf8cec9
Merge pull request #18668 from smoogipoo/editor-controlpoint-undo-redo 2022-06-23 04:02:24 +09:00
Dean Herbert
b660119de7
Merge pull request #18796 from bdach/mod-overlay/legacy-key-bindings
Add setting option to toggle between mod overlay hotkey styles
2022-06-22 20:28:18 +09:00
Jamie Taylor
950551f4fd
Fix metronome arm being stuck white when paused 'close enough' to center 2022-06-22 15:33:42 +09:00
cdwcgt
bff35cb348
Shake button when replay already save 2022-06-22 01:19:20 +09:00
cdwcgt
f2eb7e0551
Use better design and fix some problem
Let saveReplay async but still void
Make failed score's rank = F
2022-06-21 19:06:38 +08:00
Bartłomiej Dach
73124d2b1f
Encapsulate mod hotkey selection logic in strategy pattern 2022-06-21 12:49:01 +02:00
Dean Herbert
b7b7de115f
Merge pull request #18744 from nekodex/new-metronome-sfx
New audio feedback for metronome
2022-06-21 17:16:41 +09:00
Dean Herbert
7d988da2c7
Merge pull request #18788 from peppy/editor-seek-constant-while-playing
Change editor seek-while-playing modifier to be BPM agnostic
2022-06-21 15:28:46 +09:00
Dean Herbert
a40ad6f784 Add slight transform when resetting arm from almost-zero 2022-06-21 15:07:35 +09:00
Dean Herbert
82c4d855d4 Rename sample variable to be easier to discern from other fields 2022-06-21 15:05:17 +09:00
Dean Herbert
16a9e18815 Adjust timing of latch to be more in sync with visuals 2022-06-21 15:02:53 +09:00
Dean Herbert
7b46d38318 Move colour fade back to where it was 2022-06-21 15:02:43 +09:00
Dean Herbert
3b79c632f5 Merge branch 'master' into new-metronome-sfx 2022-06-21 14:58:58 +09:00
Dean Herbert
42701757c3 Fix latch reset logic 2022-06-21 14:52:57 +09:00
Dean Herbert
22cb8b0d43
Merge pull request #18768 from smoogipoo/spectator-reset-speed-at-end
Reset spectator speed after the last frame is reached
2022-06-21 14:41:08 +09:00
Dean Herbert
88f450e1d0 Remove accidental nullable enable spec 2022-06-21 14:40:21 +09:00
Dean Herbert
72c0fc3fec
Merge pull request #18753 from frenzibyte/prevent-mistimed-metronome-beats
Fix metronome playing mistimed beat sounds on editor clock resume
2022-06-21 13:48:42 +09:00
Dean Herbert
c61e90d768 Change editor seek-while-playing modifier to be BPM agnostic 2022-06-21 13:07:50 +09:00
Dan Balasescu
046b848bcd Split group selection to separate method 2022-06-21 12:53:06 +09:00
Salman Ahmed
f103de4efb
Merge branch 'master' into spectator-reset-speed-at-end 2022-06-21 06:37:58 +03:00
Dan Balasescu
b3e5642dfd Use WaitingOnFrames instead 2022-06-21 12:23:43 +09:00
Dan Balasescu
93ce6fc981 Remove redundant diff processing 2022-06-21 12:11:44 +09:00
Dan Balasescu
9763a58392 Change to use ReferenceEquals 2022-06-21 12:05:52 +09:00
cdwcgt
43ead5820a
deal with test 2022-06-21 00:54:50 +09:00
Dan Balasescu
e0c82d11ab Convert == usages to ReferenceEquals 2022-06-20 16:56:19 +09:00
Dan Balasescu
ca287d0936 Fix group deselected when table is recreated 2022-06-20 16:56:19 +09:00
Dan Balasescu
a922ea9b01 Fix selection by directly comparing control points
Previously, all control points would get replaced, which led to
performance issues that was worked around in this PR. By comparing
control points, we're able to get good performance without requiring the
workaround.
2022-06-20 15:29:29 +09:00
Dean Herbert
a6c8a832aa Remove Import(ArchiveReader) and redirect existing usages to Import(ImportTask) 2022-06-20 15:14:57 +09:00
Dan Balasescu
468e5fcbed Merge branch 'master' into editor-controlpoint-undo-redo 2022-06-20 13:47:01 +09:00
Bartłomiej Dach
3ab8158b92
Do not try to set ruleset from beatmap if it's a dummy 2022-06-19 20:08:39 +02:00
Bartłomiej Dach
93b3ede2a0
Always use beatmap ruleset in editor gameplay test mode
Fixes cases where opening a convertible beatmap (so any osu! beatmap)
with the game-global ruleset being set to anything but osu! would result
in opening the editor gameplay test mode with the game-global ruleset
rather than the beatmap's.
2022-06-19 19:30:40 +02:00
cdwcgt
9a6f4ef76d
Save score button on failed screen 2022-06-19 23:59:37 +09:00
Dan Balasescu
98d69c846c Reset spectator speed at last frame 2022-06-19 17:12:20 +09:00
Salman Ahmed
a2e17941e5
Merge branch 'master' into timing-offset-adjust-seek-only-at-start 2022-06-19 01:27:44 +03:00
Bartłomiej Dach
2a95715652
Merge branch 'master' into fix-input-regression 2022-06-18 19:44:53 +02:00
Dean Herbert
3902dc64f0 Fix adjusting offset via button seeking to timing point's offset unexpectedly
This was added with the intention of tracking the offset when already at
the start (the most common case when you're using the tap timing
wizard), but was also seeking when the user may be much further beyond
or before it.

Addresses https://github.com/ppy/osu/discussions/18741#discussioncomment-2975051.
2022-06-19 01:35:45 +09:00
Dean Herbert
3fa8c19acd Merge branch 'master' into latency-certifier/hidden-cursor 2022-06-19 00:31:11 +09:00
Salman Ahmed
a5e5172b91 Fix BlueprintContainer eating input from skin editor buttons 2022-06-18 18:28:36 +03:00
Bartłomiej Dach
5917c70127
Merge branch 'master' into multi-song-select-operation 2022-06-18 11:58:13 +02:00
Bartłomiej Dach
f6a3047596
Merge branch 'master' into editor-metadata-name-unification 2022-06-18 10:22:52 +02:00
Dan Balasescu
77e7e4ecb2 Fix selection being blocked after early return 2022-06-18 14:28:30 +09:00
Salman Ahmed
204348f327 Fix metronome playing mistimed beat sounds on editor clock resume 2022-06-18 04:49:44 +03:00
Salman Ahmed
8a1d11fefb Cancel previous metronome sound playback on pause 2022-06-18 04:07:21 +03:00
Dan Balasescu
e04df371d1 Merge branch 'master' into multi-song-select-operation 2022-06-18 08:51:24 +09:00
Dean Herbert
4bc26dbb48
Merge pull request #18743 from smoogipoo/nullable-by-default
Enable NRT by default
2022-06-17 23:18:35 +09:00
Dean Herbert
5d93db1522
Merge pull request #18726 from peppy/disclaimer-stop-handling-after-suspend
Fix `Disclaimer` screen handling user change events after initial display
2022-06-17 18:28:06 +09:00
Dean Herbert
1900480d51 Inline animation method 2022-06-17 17:06:06 +09:00
Dan Balasescu
869db52540 Tie loading layer to ongoing operation state 2022-06-17 17:05:23 +09:00
Dean Herbert
e51babdb96 Change heart animation flow to be more correct 2022-06-17 17:01:11 +09:00
Jamie Taylor
1f78a4fadd
New audio feedback for metronome 2022-06-17 16:56:09 +09:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Bartłomiej Dach
6ff6a3f5b3
Rename and document chooserPath 2022-06-16 21:51:31 +02:00
Salman Ahmed
db02cb81c5 Fix file chooser path not opening home directory initially 2022-06-16 20:48:17 +03:00
Salman Ahmed
f7a27b412a Revert "Let latency certifier buttons steal hover from area"
This reverts commit beb0331640.
2022-06-16 20:35:30 +03:00
Salman Ahmed
8e088140b2 Reword comment since IRequireHighFrequencyMousePosition isn't the issue 2022-06-16 20:09:10 +03:00
Salman Ahmed
beb0331640 Let latency certifier buttons steal hover from area 2022-06-16 20:00:30 +03:00
Salman Ahmed
ed6817ae6a Allow switching between latency and menu cursor using IProvideCursor 2022-06-16 19:46:31 +03:00
Salman Ahmed
52538dc708 Refactor LatencyCursorContainer to become a cursor container 2022-06-16 19:46:04 +03:00
Salman Ahmed
47d0ecf5e8 Merge branch 'master' into editor-metadata-name-unification 2022-06-16 18:53:23 +03:00
Salman Ahmed
6aee689586 Fix previous file lookup not using metadata properties 2022-06-16 18:50:38 +03:00
Salman Ahmed
f1081db953 Fix background/track implicitly renamed on initial load 2022-06-16 18:48:32 +03:00
Dean Herbert
89533fa33d Fix Disclaimer screen handling user change events after initial display
Unnecessary overhead, but also should resolve a production hard crash.
2022-06-16 15:40:20 +09:00
Bartłomiej Dach
f88c568c8d
Update flag sizes after switch to twemoji assets
The old flags used a size of 150x100, while the new assets based on
twemoji use a size of 150x108. Update existing usages to match this new
aspect ratio better.
2022-06-15 21:45:47 +02:00
Salman Ahmed
2c35b1404b Use FileInfo as current bindable type 2022-06-15 19:29:09 +03:00
Salman Ahmed
1ff070f5ff Decouple LabelledFileChooser from LabelledTextBoxWithPopover 2022-06-15 17:45:31 +03:00
Dean Herbert
7571ab6c63 Merge branch 'master' into new-dialog-sfx 2022-06-15 19:47:00 +09:00
Dean Herbert
7a2919975a Fix sound clash when exiting a multiplayer room with confirmation 2022-06-15 18:48:22 +09:00
Dan Balasescu
d89c80ace2 Block operations during beatmap selection in match 2022-06-15 18:44:16 +09:00
Dean Herbert
1520ccf865 Fix double back sound due to sub screen presence in multiplayer/playlists 2022-06-15 18:44:16 +09:00
Dean Herbert
c27e5d1216 Fix editor still playing back sound when exiting with confirmation 2022-06-15 18:44:02 +09:00
Dean Herbert
be2b4e68b9 Don't play player exit sound when restarting 2022-06-15 17:49:18 +09:00
Dean Herbert
713cff3403 Don't play editor exit sound when changing difficulties 2022-06-15 17:49:09 +09:00
Dean Herbert
fd4529aa7c Play editor exit sound if no confirmation buttons were shown during exit process 2022-06-15 17:37:54 +09:00
Dean Herbert
7ac5019c08 Fix intro screens playing exit sounds 2022-06-15 17:37:30 +09:00
Dean Herbert
6136e4e27a Don't play exit sound if screen is in a non-resumable state when exiting 2022-06-15 17:37:25 +09:00
Dean Herbert
87bf53485a
Merge pull request #18649 from frenzibyte/selection-context-outside-bounds
Fix context menus not appearing when clicking outside of editor playfield's bounds
2022-06-15 17:08:09 +09:00
Salman Ahmed
6a8cf514e0 Update background/track file chooser to not display filename 2022-06-15 09:52:13 +03:00
Jamie Taylor
5e3ccf7087
Don't play 'back' sample when exiting Editor 2022-06-15 15:41:28 +09:00
Jamie Taylor
6b744a14b0
Move 'back' sample playback from OnResuming to OnExiting 2022-06-15 15:41:28 +09:00
Salman Ahmed
f3f0960335 Use unified filename for background and track during editor import 2022-06-15 09:02:48 +03:00
Salman Ahmed
d3feb07bc1 Split zoom updating to named method with value as optional 2022-06-15 07:57:16 +03:00
Salman Ahmed
268a7e1334 Fix ZoomableScrollContainer attempting to update zoom with overlapping range 2022-06-15 05:43:41 +03:00
Salman Ahmed
36599d1174
Merge branch 'master' into fix-hit-error-when-not-visible 2022-06-14 22:47:11 +03:00
Dean Herbert
6be4209458 Fix AlwaysPresent specification in wrong container 2022-06-15 01:04:43 +09:00
Dan Balasescu
cc7943dfb1
Merge pull request #18687 from peppy/editor-repeat-behaviour-change-collapsing
Fix timing adjustment repeat buttons firing one change per repeat invocation
2022-06-14 20:24:13 +09:00
Dean Herbert
c30644328c Fix timing adjustment repeat buttons firing one change per repeat invocation 2022-06-14 19:21:02 +09:00
Dean Herbert
aeca138930 Fix ctrl-z in editor also seeking to start in addition to undo 2022-06-14 18:48:57 +09:00
Dean Herbert
a20e43c2ae Ensure containers which are being used to hide HUD elements still update for now
I don't think this is necessarily a final solution (as this means all
HUD elements are adding overhead even when not visible), but this will
make the implementations much easier for the time being.

I've checked and can't notice any perceivable overhead in profiling so
we should be fine for now.
2022-06-14 18:22:25 +09:00
Salman Ahmed
fa4930c586 Remove no longer necessary ReceivePositionalInputAt overrides in timeline components 2022-06-14 00:19:47 +03:00
Salman Ahmed
c49b8e4a5c Allow BlueprintContainer and SelectionHandler to receive input outside bounds 2022-06-14 00:19:15 +03:00
Salman Ahmed
9fc04924eb Revert "Provide context menu items at BlueprintContainer for out-of-bounds support"
This reverts commit 85fc218edf.
2022-06-14 00:02:02 +03:00
Dean Herbert
bd9ea9bd6f Revert most unnecessary changes
Turns out `AlwaysPresent` at top level is actually enough.

This reverts commit 86163d2225.
2022-06-13 23:58:14 +09:00
Dan Balasescu
f680f4d26b Apply refactorings from review 2022-06-13 17:36:32 +09:00
Dean Herbert
f997886142 Add scrolling gameplay visualisation mode to latency certifier 2022-06-13 17:18:32 +09:00
Dan Balasescu
c178e5d592 Add explanatory comment 2022-06-13 16:58:43 +09:00
Dan Balasescu
a8286bdf04 Fix assertion failures 2022-06-13 16:56:08 +09:00
Dan Balasescu
285e5abb41 Fix incorrect fallback value 2022-06-13 16:55:46 +09:00
Dean Herbert
86163d2225 Fix hit error meters not updating visual state when hidden
It is an expectation of users that when the HUD is shown after a period
of being hidden, it will visually reflect the state based on recent
judgements.

To achieve this, I've added `AlwaysPresent` and moved the transform
application to the meter level, rather than at a child level. If this is
seen as a bad direction, `AlwaysPresent` can be applied to the drawable
children and the transforms can be moved back.

Also of note, `ColourHitErrorMeter` is pretty weird. The flow class
could potentially be removed and reduce `AlwaysPresent` usage by one.
Can do that refactor as part of this PR if preferred.

Closes #18624.
2022-06-13 16:38:57 +09:00
Dean Herbert
17eaf7bb5c Add failing test coverage showing hit meters don't update when not visible 2022-06-13 16:36:22 +09:00
Dan Balasescu
5a18547342
Compare by char
Co-authored-by: Berkan Diler <berkan.diler1@ingka.ikea.com>
2022-06-13 15:58:11 +09:00
Dan Balasescu
776e7c0c71 Work around performance issues 2022-06-13 15:45:08 +09:00
Dan Balasescu
7e7716f942 Support undo/redo for control points 2022-06-13 15:45:08 +09:00
Salman Ahmed
85fc218edf Provide context menu items at BlueprintContainer for out-of-bounds support 2022-06-11 20:53:53 +03:00
Dan Balasescu
12ff98001d
Merge pull request #18635 from peppy/latency-comparer-more-modes
Add multiple display modes (including circle gameplay) to latency certification
2022-06-12 00:59:36 +09:00
Dan Balasescu
486f762f44 Fix inspection by removing unstable rate code 2022-06-12 00:13:36 +09:00
Dean Herbert
af353c37c0 Don't show UR for now 2022-06-11 23:54:11 +09:00
Salman Ahmed
419b5791c9 Move circle duration to constant 2022-06-11 16:08:24 +03:00
Dean Herbert
8d53ed64a3 Fix mode cycling and add test coverage 2022-06-11 21:36:43 +09:00
Dean Herbert
0c333e5c08
Link directly to methodology section
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-06-11 21:34:00 +09:00
Dean Herbert
c697dc90e4 Hide settings at results screen 2022-06-11 21:32:02 +09:00
Dean Herbert
d130e7ebff Remove ScrollingGameplay class for now 2022-06-11 21:30:33 +09:00
Dean Herbert
68da9f0386
Add explicit precision for BPM adjustment
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2022-06-11 21:27:44 +09:00
Salman Ahmed
06f070c3ec Fix latency certifier potentially reporting infinite mouse polling rate 2022-06-11 14:58:16 +03:00
Dean Herbert
096d6df868 Fix regression in testing and setting logic 2022-06-10 20:33:21 +09:00
Dean Herbert
8ce545ff9d Fix visuals in circle gameplay and greedy hover 2022-06-10 20:25:33 +09:00
Dean Herbert
b956a916c1 Make units sane 2022-06-10 20:21:03 +09:00
Dean Herbert
213ccfb743 Improve explanation text and add link to wiki 2022-06-10 20:14:12 +09:00
Dean Herbert
18f74b2840 Move settings and bindables to a sane location 2022-06-10 20:04:51 +09:00
Dean Herbert
837958b254 Remove scrolling gameplay mode for now 2022-06-10 19:43:09 +09:00
Dean Herbert
ef5c1a1ecb Improve visuals of circle gameplay mode 2022-06-10 19:42:25 +09:00
Dean Herbert
a6fd61c444 Default to circle gameplay mode 2022-06-10 19:42:25 +09:00
Dean Herbert
41d16c613d Fix being able to hit way too early using keyboard 2022-06-10 19:42:25 +09:00
Dean Herbert
2f1c331f65 Move shared logic to LatencySampleComponent and implement key support for circle gameplay 2022-06-10 19:42:25 +09:00
Dean Herbert
7f4a54096f Fix circles in the future being hittable 2022-06-10 19:42:25 +09:00
Dean Herbert
ba14d646c3 Add static configuration 2022-06-10 19:42:25 +09:00
Dean Herbert
5deaa42e9f Stop music on entering latency certification screen 2022-06-10 19:42:25 +09:00
Dean Herbert
5c7d29cd31 Remove dependency on game-wide audio 2022-06-10 19:42:25 +09:00
Dean Herbert
d46739ff0b Add circle gameplay test coverage 2022-06-10 19:42:25 +09:00
Dean Herbert
c657ef2722 Add ability to adjust spacing 2022-06-10 19:42:25 +09:00
Dean Herbert
e9547542ea Add circle gameplay 2022-06-10 19:42:25 +09:00
Dean Herbert
53eb5c176c Create setup for adding other visual display modes 2022-06-10 19:42:25 +09:00
Dan Balasescu
e5d6dc1ba5
Merge pull request #18606 from peppy/latency-comparer
Add latency certifier system
2022-06-10 19:41:44 +09:00
Dean Herbert
e0644f2726 Simplify flow of progression to be linear 2022-06-10 15:19:10 +09:00
Dean Herbert
5541ebc76b Revert OsuButton changes 2022-06-10 15:02:26 +09:00
Dan Balasescu
c9dfffbc0e
Merge pull request #18619 from peppy/fix-collection-performance
Fix performance overhead of large collections
2022-06-10 15:01:31 +09:00
Dean Herbert
eb16de9c71 Use upper-case "Hz" 2022-06-10 14:38:04 +09:00
Dean Herbert
f71343c880 Fix box colour getting stuck when changing active mode 2022-06-10 14:28:46 +09:00
Dean Herbert
5b8bd24140
Simplify text when reaching maximum supported level
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-06-10 14:25:15 +09:00
Dean Herbert
69b856bd58 Rename rounds variables to hopefully read better 2022-06-10 14:23:24 +09:00
Dean Herbert
613814c26c Make TargetFrameRate nullable 2022-06-10 14:18:35 +09:00
Dean Herbert
4a5e86e451 Rename Beatmaps to BeatmapHashes for clarity 2022-06-10 14:03:51 +09:00
Dean Herbert
70ebfbcf5e Add recommendation text and adjust weightings to read better 2022-06-09 19:26:24 +09:00
Dan Balasescu
6e450b7350 Explicitly handle operation cancelled exceptions 2022-06-09 14:35:53 +09:00
Dan Balasescu
ec03dc16db Don't trigger notification when user quit 2022-06-09 14:13:14 +09:00
Dan Balasescu
bfde334e77 Allow beatmaps to load endlessly when entering Player 2022-06-09 14:03:21 +09:00
Dean Herbert
187086e4ec
Merge pull request #18609 from ALANVF/settings-delete-skin
Add button to delete the current skin
2022-06-08 19:18:59 +09:00
Dean Herbert
42cd7d9e6e Change CollectionManager to only store MD5 hashes instead of full BeatmapInfo 2022-06-08 18:23:09 +09:00
Dan Balasescu
f8594acb1d Cleanup dialog implementation 2022-06-08 18:17:43 +09:00