1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-18 10:22:56 +08:00
Commit Graph

12592 Commits

Author SHA1 Message Date
Joseph Madamba
5fb6f220e6 Fix playlist items not animating when rearranging 2023-01-03 11:10:02 -08:00
Joseph Madamba
5dfd4180c8 Fix playlist selecting random item when not allowed after deleting 2023-01-03 11:10:02 -08:00
Dean Herbert
beb3b96aca Harden request equality checks 2023-01-04 01:44:00 +08:00
Dean Herbert
8f7ae0395a Fix song select leaderboard potentially showing wrong scores on quick beatmap changes
Closes #22002.
2023-01-03 00:55:09 +08:00
Bartłomiej Dach
b689ad6d80
Fix changing preview point not prompting for save 2023-01-01 19:54:26 +01:00
Bartłomiej Dach
efdd557f3b
Adjust binding logic 2023-01-01 19:45:23 +01:00
Bartłomiej Dach
452ebddfd2
Adjust visual appearance of preview time part
- Use slightly different hue of green to distinguish from difficulty
  control points. The colour is still not ideal, but picking
  a distinctive enough hue is pretty hard.

- Place the preview time part at the bottom rather at the top.
  Not sure why it was at the top; not only could it overlap with the
  control points, but it also looked quite badly misaligned there
  when bookmarks were displayed at the bottom.
2023-01-01 19:42:55 +01:00
Bartłomiej Dach
a82f1a6abd
Adjust method naming and copy 2023-01-01 18:50:47 +01:00
Bartłomiej Dach
0e59b55a12
Merge branch 'master' into previewTime 2023-01-01 18:38:19 +01:00
Bartłomiej Dach
6509d3538c
Fix counter initially rolling down from 100% to 0% in minimum achievable mode 2022-12-30 21:13:41 +01:00
Bartłomiej Dach
7580ab78be
Move binding to LoadComplete() 2022-12-30 21:08:48 +01:00
Bartłomiej Dach
6d42cc5a36
Naming pass 2022-12-30 20:30:58 +01:00
cdwcgt
d60349c7c6
add description 2022-12-30 23:24:41 +09:00
cdwcgt
8beb168be9
remove nullable disabled 2022-12-30 23:24:20 +09:00
cdwcgt
784fe7ecf2
rename AccType to AccuracyDisplay 2022-12-30 23:06:10 +09:00
cdwcgt
23c485c763
readonly 2022-12-30 22:59:56 +09:00
cdwcgt
a91da2284d
safe way to pass bindable 2022-12-30 22:58:46 +09:00
cdwcgt
3c32a50c12
add new accuracy counter display 2022-12-30 21:19:46 +09:00
Bartłomiej Dach
3c0b8af8f1
Allow unsubscribing from solo statistics updates
This is more of a safety item. To avoid potential duplicate key in
dictionary errors (and also avoid being slightly memory-leaky), allow
`SoloStatisticsWatcher` consumers to dispose of the subscriptions they
take out.
2022-12-28 08:07:48 +01:00
Bartłomiej Dach
04f9a354c3
Convert SoloResultsScreen to NRT 2022-12-28 07:54:36 +01:00
Bartłomiej Dach
e90619244d
Fix incorrect accuracy display on overall ranking view 2022-12-27 19:51:51 +01:00
Dean Herbert
df6f2ad0a1
Merge pull request #21804 from bdach/hide-global-rankings-when-presenting-scores
Only show global rankings on solo results screen when progressing from gameplay
2022-12-27 16:39:26 +08:00
integer
a0690e7ffb replay menus remembers expanded state
no messing with readonly fields
2022-12-27 00:13:46 +00:00
Bartłomiej Dach
01cf96e240
Only show global rankings on results screen when progressing from gameplay 2022-12-26 23:35:45 +01:00
Berkan Diler
c7ca4bbba5 Use generic Enum methods 2022-12-26 20:36:39 +01:00
Joseph Madamba
0dba25e0ab Refactor to just exit sub screens until lounge sub screen
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2022-12-25 21:56:22 -08:00
Joseph Madamba
5232588a1f Use PerformFromScreen to exit sub screens instead 2022-12-24 20:04:45 -08:00
Joseph Madamba
00ed5d6f92 Merge remote-tracking branch 'upstream/master' into fix-op-non-current-onexiting 2022-12-24 14:01:11 -08:00
Bartłomiej Dach
36a6f3685e
Don't show global rankings display when not logged in 2022-12-24 14:35:11 +01:00
Bartłomiej Dach
da519acb20
Add overall ranking display to solo results 2022-12-24 14:35:04 +01:00
Bartłomiej Dach
3abdf557ea
Add protected method for customising statistics panel rows 2022-12-24 14:35:00 +01:00
Bartłomiej Dach
600ada46be
Add protected method for customising statistics panel 2022-12-24 14:34:54 +01:00
Bartłomiej Dach
cf0b3ec879
Merge branch 'master' into score-stats-display 2022-12-24 14:32:08 +01:00
Bartłomiej Dach
83a50816b6
Remove unused constructor param 2022-12-24 10:44:38 +01:00
Bartłomiej Dach
4e5109a649
Use plain bindable flow instead of binding to watcher directly 2022-12-24 10:27:28 +01:00
Bartłomiej Dach
c7f248e13c
Implement overall ranking display for solo results screen 2022-12-24 00:30:38 +01:00
Joseph Madamba
494886ef92 Rename Text to Metadata 2022-12-23 11:11:15 -08:00
ansel
f25439e359 Move track change subscription to LoadComplete 2022-12-23 01:54:49 +03:00
Bartłomiej Dach
676d4a0d6d
Merge branch 'master' into fix-waveform-zoom-reload 2022-12-22 23:48:50 +01:00
Salman Ahmed
0cb9b79834 Fix ZoomableScrollContainer potentially not updating content width on setup 2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795 Dispose previous waveform on track reload 2022-12-23 00:35:59 +03:00
Berkan Diler
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
ansel
20370bd5ae Invalidate waveform on track load 2022-12-22 20:49:09 +03:00
ansel
d0645ce151 Rewrite waveform invalidation 2022-12-22 15:59:51 +03:00
ansel
f2e8776529 Bind to clock instead of music controller 2022-12-22 15:35:53 +03:00
ansel
a18ece8610 Listen for track reload in timing screen 2022-12-22 01:24:23 +03:00
ansel
7089bb6c23 Listen for track reload in timeline 2022-12-22 01:23:59 +03:00
ansel
66a02374da Clear cached waveform on track change in editor 2022-12-22 01:23:24 +03:00
Bartłomiej Dach
6948035a3c
Ensure score submission attempt completion before notifying spectator server when exiting play early
When a `SubmittingPlayer` gameplay session ends with the successful
completion of a beatmap, `PrepareScoreForResultsAsync()` ensures that
the score submission request is sent to and responded to by osu-web
before calling `ISpectatorClient.EndPlaying()`.

While previously this was mostly an implementation detail, this becomes
important when considering that more and more server-side flows (replay
upload, notifying about score processing completion) hook into
`EndPlaying()`, and assume that by the point that message arrives at
osu-spectator-server, the score has already been submitted and has been
assigned a score ID that corresponds to the score submission token.

As it turns out, in the early-exit path (when the user exits the play
midway through, retries, or just fails), the same ordering guarantees
were not provided. The score's submission ran concurrently to the
spectator client `EndPlaying()` call, therefore creating a network
race. osu-server-spectator components that implciitly relied on the
ordering provided by the happy path, could therefore fail to unmap the
score submission token to a score ID.

Note that as written, the osu-server-spectator replay upload flow is
not really affected by this, as it self-corrects by essentially polling
the database and trying to unmap the score submission token to a score
ID for up to 30 seconds. However, this change would have the benefit of
reducing the polls required in such cases to just one DB retrieval.
2022-12-21 22:23:26 +01:00
Joseph Madamba
1d39e8d0ce Refactor MetadataSection to use generics and inheritance 2022-12-21 10:18:47 -08:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dean Herbert
b64a5cbda6 Merge branch 'master' into guard-url-protocols 2022-12-19 15:46:45 +09:00
Bartłomiej Dach
fea0895f16
Call spectator EndPlaying() immediately after score submission
As it turns out, in current `master`, if a gameplay session ends
normally (i.e. by the player completing the beatmap in full), then
the spectator server `EndPlaying()` method will not be called until
`SubmittingPlayer.OnExiting()`, which in practice turns out to be
the moment where the user exits from the post-gameplay results screen
back to song select.

There is seemingly no reasonable cause for not calling this earlier. In
fact the solo spectator flow looks more broken without this call than
with, because without it the spectator view just hangs until the
spectated player exits gameplay, and *only then* shows results, rather
than do it upon normal gameplay completion.
2022-12-17 21:35:43 +01:00
mk56-spn
f3873b73e3 Clean up syntax for readability 2022-12-16 20:56:34 +01:00
Dean Herbert
ba54551313 Merge branch 'master' into guard-url-protocols 2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Jamie Taylor
d5b2c7dfe9
Clamp SFX panning on results screen 2022-12-16 17:19:07 +09:00
Dan Balasescu
cbee72897a
Merge pull request #21654 from Susko3/use-localisable-strings-for-dates-and-times
Use `LocalisableString`s for date and time formats
2022-12-16 16:17:14 +09:00
Dean Herbert
232f590ba3
Merge pull request #21628 from peppy/go-hard-file-writes
Use hard links on windows when importing beatmaps from a legacy osu! install
2022-12-16 14:52:57 +09:00
cdwcgt
a4d28aff6d
fix typo 2022-12-16 10:48:56 +09:00
cdwcgt
79e27c2d9d
PreviewTimePart will not show if preview time is -1 2022-12-16 10:44:07 +09:00
cdwcgt
f0246df1a9
only get; 2022-12-16 09:58:58 +09:00
Susko3
0f34d908c7 Use LocalisableStrings for date and time formats 2022-12-16 00:05:47 +01:00
cdwcgt
c164744064
Add ability to set preview time 2022-12-16 01:03:30 +09:00
mk56-spn
0c177aa7de Improve tests, simplify "updateDisplay" method 2022-12-15 16:12:34 +01:00
mk56-spn
9a235b3213 remove rolling duration, fix issue with loading 2022-12-15 15:21:03 +01:00
Dean Herbert
50dc76d579
Merge pull request #21618 from smoogipoo/multi-spec-only-local-results
Only show local results in multi-spectator results screen
2022-12-14 14:00:02 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
mk56-spn
edb46e422c Fix "using" name in HUD overlay 2022-12-12 15:15:30 +01:00
mk56-spn
99d83315c1 change settings order 2022-12-12 15:10:45 +01:00
mk56-spn
8efe7528e3 change ruleset source to avoid issues with converted beatmaps 2022-12-12 15:10:10 +01:00
mk56-spn
4d592184ca temp cmt 2022-12-12 11:53:07 +01:00
Dan Balasescu
7b48c91fe2 Only show local results in multi-spectator results screen 2022-12-12 18:56:43 +09:00
mk56-spn
58bf081096 Fix judgement counter not loading after first attempt in gameplay, Fix typo in Display 2022-12-12 10:52:55 +01:00
Dan Balasescu
caa0b7c290 Move score token to BeginPlaying 2022-12-12 13:59:27 +09:00
mk56-spn
f0c780f1f6 Fix tally header 2022-12-12 00:48:35 +01:00
mk56-spn
a107fca5d0 Hide "Full" option from counter flow directions 2022-12-12 00:33:28 +01:00
mk56-spn
161894da3b Add more test checks and fix deserialisation test 2022-12-11 23:58:10 +01:00
mk56-spn
4c17b27273 Add Display, Counter, Tests 2022-12-11 23:47:17 +01:00
mk56-spn
f798951f09 Create Judgement Info struct 2022-12-11 22:09:14 +01:00
mk56-spn
ffbe68bd26 Add judgementTally to HUD overlay 2022-12-11 22:08:48 +01:00
Dan Balasescu
4a65f5c864 Add score token to spectator state 2022-12-09 19:09:51 +09:00
Loreos7
0aeee8d6ab
fix typo in today's tip 2022-12-07 17:47:37 +03:00
Dean Herbert
eea7984ba9 Remove triangle effect from latency certifier buttons 2022-12-07 14:53:56 +09:00
mk56-spn
fc630165fd Adjust formatting of BPM text 2022-12-06 15:08:21 +01:00
Dan Balasescu
9ddc2f4804
Merge pull request #21523 from Feodor0090/rewind-click-fix
Perform rewind with right click only if cursor didn't leave the button
2022-12-06 13:38:20 +09:00
ansel
b66409bd37 Perform rewind with right click only if cursor didn't leave the button 2022-12-05 23:38:45 +03:00
mk56-spn
f69c084969 Add roll duration 2022-12-05 17:08:00 +01:00
mk56-spn
b6a6db1160 Add dynamic BPM counter to SkinEditor 2022-12-05 12:29:23 +01:00
Andrei Zavatski
41f7dad8e9 Delete SmoothCircularProgress.cs 2022-12-03 16:40:41 +03:00
Andrei Zavatski
97b6d88f00 Remove SmoothCircularProgress usage in AccuracyCircle 2022-12-03 16:39:44 +03:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
d1296a22ce Update timeline blueprint's end time logic to better match new blueprint implementation 2022-12-02 17:57:15 +09:00
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dan Balasescu
d684aa75b8
Merge pull request #21477 from peppy/fix-mania-timeline-blueprint-colour
Fix osu!mania editor timeline showing bright-white blueprints
2022-12-02 16:55:29 +09:00
Dean Herbert
a2db0afe19 Avoid querying GetLastObjectTime twice in editor seek flow 2022-12-02 16:07:24 +09:00
Dean Herbert
8cf89fcb81 Use Highlight1 instead of dull grey 2022-12-02 15:30:47 +09:00
Dean Herbert
896f2d8f74 Fix multiple instances of last hitobject time being calculated incorrectly 2022-12-01 18:04:06 +09:00
Dean Herbert
f34a79b1a9 Set a better default colour for timeline blueprints when no colour information is available 2022-12-01 17:03:53 +09:00
Dean Herbert
bbf023cf68 Fix incorrect culture used when parsing timeline popup textbox content 2022-12-01 16:12:29 +09:00
Derrick Timmermans
5c8fce1c08
Remove extra blank line 2022-11-30 13:05:14 +01:00
Derrick Timmermans
6a61e70766
Expose Ruleset from HitObjectComposer instead 2022-11-30 12:17:58 +01:00
Dean Herbert
4215f4f5d7 Merge branch 'master' into Editor-DrawableRuleset-Dependencies 2022-11-30 17:42:46 +09:00
Dean Herbert
2a3b24d058 Avoid need for implicit null casting 2022-11-30 14:21:04 +09:00
Dean Herbert
0659c84341 Rename method to be more in line with project naming 2022-11-30 14:17:49 +09:00
Dean Herbert
63ba40ff39
Merge branch 'master' into control-point-scroll-into-view 2022-11-30 14:12:19 +09:00
Jai Sharma
7dbf379351 Don't use verbatim string literals 2022-11-29 18:22:07 +00:00
Derrick Timmermans
70c320b2e8
Provide ruleset dependencies only to Compose Placement Blueprints 2022-11-27 21:43:33 +01:00
mk56-spn
0aba119056 Merge remote-tracking branch 'origin/RangeSlider_implementation' into RangeSlider_implementation
# Conflicts:
#	osu.Game.Tests/Visual/SongSelect/TestSceneDifficultyRangeFilterControl.cs
#	osu.Game/Screens/Select/DifficultyRangeFilterControl.cs
2022-11-27 10:40:29 +01:00
Jai Sharma
218c04c174 Code quality 2022-11-27 03:23:08 +00:00
Jai Sharma
6000e14668 Correctly select issue row 2022-11-27 03:08:54 +00:00
Jai Sharma
3c56b9c93a Add OnRowSelected event to EditorTable 2022-11-27 02:47:54 +00:00
Jai Sharma
792334a190 Move Control Group timing data into it's own component 2022-11-27 02:47:02 +00:00
Jai Sharma
b6d7bec240 Remove #nullable disabled from EditorTable and it's derived classes 2022-11-27 02:45:56 +00:00
Jai Sharma
1a914d0df7 Remove #nullable disable from TimingScreen 2022-11-27 02:43:22 +00:00
Bartłomiej Dach
894ef15e79
Merge branch 'master' into update-framework 2022-11-26 16:19:36 +01:00
Dan Balasescu
7bc8908ca9 Partial everything 2022-11-27 00:00:27 +09:00
mk56-spn
92ed2ed4ef Refactor star "DifficultyRangeFilterControl" into generic range slider class 2022-11-26 12:19:08 +01:00
Bartłomiej Dach
73176a1315
Merge branch 'master' into triangle-button-v2 2022-11-25 18:35:59 +01:00
Bartłomiej Dach
bbbc1d0428
Darken colour of playlists create button
To match d0c4637683.
2022-11-25 18:23:28 +01:00
Dean Herbert
d0c4637683 Lighten colour of multiplayer create game button 2022-11-25 20:18:21 +09:00
Bartłomiej Dach
fca3e7e39f
Merge branch 'master' into editor-seek-control-points 2022-11-24 21:53:47 +01:00
Dean Herbert
2b2beadd06 Merge branch 'master' into update-framework 2022-11-25 01:00:08 +09:00
Dean Herbert
6ad432b311 Use RoundedButton in more places 2022-11-24 16:33:01 +09:00
Dean Herbert
53b03df93d Combine TriangleButton and RoundedButton classes 2022-11-24 16:26:57 +09:00
Dean Herbert
bea2acc60e Remove local specifications of triangle colouring 2022-11-24 16:18:15 +09:00
Dean Herbert
37f725bfa2 Reverse directionality of up/down traversal keys to match scroll 2022-11-24 13:55:58 +09:00
Dean Herbert
b381b4fd2d Merge branch 'master' into update-framework 2022-11-24 01:27:58 +09:00
Bartłomiej Dach
30f9cc46a7
Protect offset and bpm adjustments from null selection too 2022-11-23 17:25:43 +01:00
Dean Herbert
9b9b8a5977 Add ability to seek between control points in editor using down/up arrows
Matches stable. Addresses #21376.
2022-11-23 15:59:32 +09:00
Dean Herbert
d146f86511 Fix crash when hitting 'T' to tap timing while no timing point is selected 2022-11-23 15:39:56 +09:00
Dean Herbert
de163b2bb5 Change song select to only allow volume adjusting if alt is held while scrolling 2022-11-22 19:48:55 +09:00
Dean Herbert
4a79141824
Merge pull request #21338 from RATCM/fix-leaderboard-filter
Match leaderboard filter behaviour to web
2022-11-21 14:01:55 +09:00
Dean Herbert
dfa92b3de9
Merge pull request #21326 from bdach/fix-phantom-beatmap-sets
Fix phantom beatmap sets appearing on carousel after delete/update
2022-11-21 13:25:14 +09:00
RATCM
f5fbb7c8de Changed comments 2022-11-20 19:27:40 +01:00
RATCM
d20a357c0e Fixed ordering bug 2022-11-20 19:24:51 +01:00
RATCM
9040dfbd4e Match leaderboard filter behaviour to web 2022-11-20 17:39:46 +01:00
Bartłomiej Dach
1269afd0c5
Merge pull request #21307 from frenzibyte/disable-scroll-speed-on-osu
Hide scroll speed control from effects section on rulesets which don't support it
2022-11-20 16:17:55 +01:00
Bartłomiej Dach
7b274083d3
Fix phantom beatmap sets appearing on carousel after delete/update
Regressed in c40c70509e.

As it turns out, `item.Item.Filtered.Value` is not the only condition
that should be checked to determine if a carousel item should be hidden
or not - `item.Item.State.Value != CarouselItemState.Collapsed` should
also be true. This was even available as the `item.Item.Visible`
convenience property, which is used in this commit.

Failing to check `item.Item.State.Value` led to setting non-zero alpha
on collapsed carousel items, leading to phantom beatmap sets appearing,
as the alpha was set in the entire carousel's `Update()` method, thus
firing every frame.
2022-11-20 10:08:34 +01:00
Salman Ahmed
4b0ba86bd0 Identify scrolling rulesets using temporary DrawableRuleset instances 2022-11-20 04:12:52 +03:00
Bartłomiej Dach
c05c1625f2
Merge branch 'master' into editor-test-play-dont-retain-test-time 2022-11-19 12:09:04 +01:00
Salman Ahmed
60c424837b
Merge branch 'master' into disable-scroll-speed-on-osu 2022-11-19 12:13:45 +03:00
Salman Ahmed
2e3af97892 Remove unused using 2022-11-19 12:13:36 +03:00
Salman Ahmed
290369db47 Hide scroll speed slider on rulesets which don't support it 2022-11-19 06:42:27 +03:00
Salman Ahmed
016de2f5a0 Fix editor not always playing hitsounds with clock offsets applied 2022-11-19 05:15:22 +03:00
Dawid Sośnia
9ad484a0f4
Merge branch 'ppy:master' into gameplay-leaderboard-fix 2022-11-18 12:11:22 +01:00
Dean Herbert
06ce8130c2 Apply changes in line with framework NRT updates 2022-11-18 18:13:15 +09:00
Dan Balasescu
d8e99d811d
Merge pull request #21293 from frenzibyte/fix-timeline-extent-scrolling
Fix timeline potentially scrolling at extents while not dragging
2022-11-18 16:19:30 +09:00