1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 19:27:26 +08:00
Commit Graph

39248 Commits

Author SHA1 Message Date
Bartłomiej Dach
1473abd909
Remove outdated xmldoc 2023-07-06 22:01:02 +02:00
Bartłomiej Dach
f3f4bb6356
Add one more safety against processing scores with missing beatmap 2023-07-06 20:56:24 +02:00
Jamie Taylor
a55ba963a9
Don't play 'popout' sample when ProgressNotification completes 2023-07-07 01:51:58 +09:00
Jamie Taylor
d4f5d0c878
Revert "Remove sound from notification closing/hiding"
This reverts commit 244f3c6098bb27b66f5ff7fb8c76f38f56cfb4cd.
2023-07-07 01:51:57 +09:00
Jamie Taylor
6e2b7f433b
Add a sound for 'cancelling' ProgessNotification 2023-07-07 01:51:57 +09:00
Jamie Taylor
4ff4c3a12e
Remove sound from notification closing/hiding 2023-07-07 01:51:57 +09:00
Jamie Taylor
fdb572fdea
Add more/different notification sounds 2023-07-07 01:51:57 +09:00
Dean Herbert
070b3883ce Remove the ability to cancel all "in progress" tasks 2023-07-07 00:31:32 +09:00
Dean Herbert
753db044b4 Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 19:08:42 +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
c9fd435402 Fix potential crash when mashing exit key 2023-07-06 17:58:36 +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
de74c9eb8b Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 14:16:31 +09:00
Dean Herbert
af3f9086e5 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 14:16:31 +09:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
b679ab88a1 Avoid attempting to process missing statistics on scores without linked beatmaps 2023-07-06 12:29:03 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
65384d6125
Merge pull request #24129 from peppy/toggle-replay-overlay
Remember state of replay settings visibility and allow key customisation
2023-07-06 12:27:30 +09:00
Dean Herbert
170bc5bfce Add support for skinnable "retry" sound 2023-07-06 12:25:15 +09:00
Bartłomiej Dach
1938bdbf9d
Move replay settings toggle to replay key bindings section 2023-07-05 22:45:10 +02:00
Bartłomiej Dach
cdb8a56df4
Remove weird aliased using
Doesn't appear to be required.
2023-07-05 22:41:22 +02:00
Bartłomiej Dach
a87a631c50
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-05 22:15:32 +02:00
Bartłomiej Dach
f3576b88a4
Merge pull request #24121 from peppy/fix-judged-fallback
Fix fallback for `Judged` to be more correct
2023-07-05 22:15:04 +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
Dean Herbert
00c68cad53 Fix new scoring related properties not storing to realm due to internal spec 2023-07-05 19:47:44 +09:00
Dean Herbert
49e5558e4f
Merge pull request #24072 from smoogipoo/diffcalc-total-scorev1
Add difficulty attributes to facilitate conversion from legacy score, and convert existing scores
2023-07-05 18:47:18 +09:00
Dean Herbert
8f61f5e4c6 Cache Playfield for the sake of tests
I'm open to an alternative. Name it.
2023-07-05 18:44:27 +09:00
Dean Herbert
c5b949154c Merge branch 'fix-judged-fallback' into taiko-hitsounding-final-attempt 2023-07-05 18:44:27 +09:00
Dean Herbert
168b6c70a9 Update resources 2023-07-05 18:44:27 +09:00
Dean Herbert
4364736ccd Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:44:27 +09:00
Dean Herbert
561fff801a Consume nested object states in HitObjectLifetimeEntry 2023-07-05 18:44:27 +09:00
Dean Herbert
759cd5aec7 Warm up pool with argon-specific drum samples 2023-07-05 18:44:27 +09:00
Dean Herbert
27af07b74b Add basic implementation of argon osu!taiko hitsounds (volume / flourish / strong) 2023-07-05 18:44:27 +09:00
Dean Herbert
beed390031 Add balance adjust to base implementation of DrumSampleTriggerSource 2023-07-05 18:44:27 +09:00
Dean Herbert
6d4fa6569f Add back required pieces to GameplaySampleTriggerSource from old PR 2023-07-05 18:44:27 +09:00
Dean Herbert
3f8dfc7cb0 Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:03:58 +09:00
Dean Herbert
5947c2b298 Throw if a null BeatmapInfo arrives during score import process 2023-07-05 16:08:06 +09:00
Bartłomiej Dach
6c4e52821d
Redirect judgement-related flags from DHO to HOLE 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
0ceaf3c451
Ensure synthetic entries from non-pooled DHO are linked to parents 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
bae7670855
Redirect HitObjectEntryManager child mapping to HOLE 2023-07-04 23:41:06 +02:00
Bartłomiej Dach
6dc8c7b617
Add HitObjectLifetimeEntry.NestedEntries 2023-07-04 23:39:56 +02:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
Bartłomiej Dach
a55809733d
Expand ScoreInfo.BeatmapInfo xmldoc 2023-07-04 22:20:50 +02:00
Dean Herbert
f2aa80f413 Rename and adjust xmldoc on TotalScoreVersion 2023-07-04 20:04:02 +09:00
Dean Herbert
aee89e5e4b Rewrite comment regarding LegacyTotalScore 2023-07-04 19:59:57 +09:00
Dean Herbert
664294cef4 Fix cancelled progress notifications requiring exit confirmation 2023-07-04 18:39:19 +09:00
Dean Herbert
dd9998127e Count missing beatmaps as errored items 2023-07-04 18:35:03 +09:00
Dean Herbert
d3eb06578e Improve messaging around failed scores 2023-07-04 18:34:53 +09:00
Dean Herbert
56bfb92ba6 Allow user cancellation 2023-07-04 18:22:10 +09:00
Dean Herbert
257a96ef60 Fix background beatmap processor thread not correctly exiting 2023-07-04 18:21:22 +09:00
Dean Herbert
4de15f975e Fix realm silly business 2023-07-04 18:08:26 +09:00
Dean Herbert
a0c3fa9c13 Move preconditions to realm migration step to simplify marker version logic 2023-07-04 17:53:53 +09:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dean Herbert
3b5f3b67a7 Tidy up and improve messaging on completion notification 2023-07-04 15:53:24 +09:00
Dean Herbert
1a6381bcbb Reduce code repetition for sleep logic 2023-07-04 15:35:09 +09:00
Dean Herbert
64fc5e40e8 Move score attach logic to a helper method and call during editor save 2023-07-04 15:07:40 +09:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Dean Herbert
67650831bd Remove unnecessary null check 2023-07-04 14:19:25 +09:00
Dean Herbert
4203e2183d
Merge branch 'master' into diffcalc-total-scorev1 2023-07-04 14:15:24 +09:00
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Bartłomiej Dach
7b3cb5b410
Merge pull request #24068 from peppy/fix-sign-out-string
Use more correct localised string source for "sign out" text
2023-07-02 19:20:24 +02:00
Dean Herbert
95c30fe12a Duplicate sign out string for now 2023-07-03 00:14:26 +09:00
Dean Herbert
b3c874fdc5
Merge pull request #24099 from bdach/fix-oob-selection-box-again
Fix edge cases where selection buttons go outside playfield bounds
2023-07-02 09:37:50 +09:00
Bartłomiej Dach
d017be50f1
Merge pull request #24081 from Cootz/restore-scores-after-bearmap-reinstallation
Reattach any orphaned scores when a beatmap is imported
2023-07-01 22:33:38 +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
Bartłomiej Dach
1ce60378be
Rewrite comments further 2023-07-01 20:37:33 +02:00
Susko3
e38ac4185c Update inline with framework IWindow changes 2023-07-01 19:02:09 +02:00
Bartłomiej Dach
fe2ca5cfef
Merge pull request #24087 from peppy/less-tablet-error-spam
Ensure "tablet support disabled" notification is only shown once
2023-07-01 18:46:27 +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
Dean Herbert
5bd91a531d Tidy up comments and code 2023-07-01 23:37:22 +09:00
Dean Herbert
a4a9223726 Move score re-attach to PostImport 2023-07-01 23:12:04 +09:00
Cootz
8d25e2c3e1 Add importer update test 2023-07-01 09:49:06 +03:00
Dean Herbert
e2db6159d6 Ensure "tablet support disabled" notification is only shown once 2023-06-30 13:47:55 +09:00
Bartłomiej Dach
1f3d833b05
Merge pull request #24080 from peppy/star-rating-no-rounding
Never remove significant digits from star rating displays
2023-06-29 21:27:30 +02:00
Dan Balasescu
426f11b824 Apply a few other code reviews 2023-06-29 17:28:06 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
6822871dab Move population of LegacyTotalScore to ScoreImporter 2023-06-29 17:21:24 +09:00
Dan Balasescu
ddd870e843 Make LegacyTotalScore nullable 2023-06-29 17:19:10 +09:00
Dan Balasescu
c816281494 Make BackgroundBeatmapProcessor task long-running 2023-06-29 17:16:33 +09:00
Dan Balasescu
829044de59 Revert unintented change 2023-06-29 17:15:48 +09:00
Cootz
87308abec2
Merge branch 'master' into restore-scores-after-bearmap-reinstallation 2023-06-29 08:29:41 +03:00
Cootz
47ccbddfb1 Reword comment 2023-06-29 08:08:10 +03:00
Cootz
351f217c8c Reassign existing scores to new/re-exported beatmap 2023-06-29 08:07:43 +03:00
Dean Herbert
34f53965c4 Never remove significant digits from stsar rating displays
Closes https://github.com/ppy/osu/issues/24079.
2023-06-29 13:55:04 +09:00
Bartłomiej Dach
90cb3dac86
Merge pull request #24076 from bastianpedersen/localise-chat-notifications
Localise chat related notifications
2023-06-28 22:36:53 +02:00
Bastian Pedersen
ea87000539 Localise chat related notifications 2023-06-28 21:11:56 +02:00
Bartłomiej Dach
27eef6996b
Merge branch 'master' into fix-flip-undo-states 2023-06-28 20:49:42 +02:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle 2023-06-28 20:48:22 +02:00
Bartłomiej Dach
e1600b3d72
Merge branch 'master' into fix-editor-save-failure 2023-06-28 19:56:58 +02:00
Dean Herbert
5d209b3ffc Change default availability in MultiplayerRoomUser to Unknown 2023-06-28 16:38:20 +09:00
Dan Balasescu
1ca4e39fc3 Allow legacy scores to be displayed in "classic" scoring mode 2023-06-28 16:30:50 +09:00
Dan Balasescu
af25ffbe81 Remove JSON output 2023-06-28 16:15:44 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dean Herbert
fec086aec8 Fix OnlinePlayBeatmapAvailabilityTracker not passing through Unknown state 2023-06-28 16:02:46 +09: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
664a2b2255 Force a beatmap availability state change when selected item is changed 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
Dan Balasescu
e291dff5ad Fix imported scores not getting LegacyTotalScore 2023-06-28 14:50:16 +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
99e55bb9c0 Add logging and Debug.Fail on detached beatmap detection 2023-06-28 12:21:05 +09:00
Dean Herbert
1d4380cfd0
Merge pull request #24058 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
b3f2a3ccdf Use more correct localised string source for "sign out" text 2023-06-28 12:11:40 +09:00
Dean Herbert
bc26d52dbd
Merge pull request #24067 from bdach/fix-difficulties-not-deleting-from-db
Fix delete difficulty flow not actually deleting the difficulty from realm
2023-06-28 12:06:01 +09:00
Dean Herbert
076f41be12
Merge pull request #24059 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
6876566530
Fix difficulty deletion not deleting records from realm 2023-06-27 23:43:00 +02:00
Bartłomiej Dach
eb82bd3871
Merge pull request #24064 from bastianpedersen/localise-common-game-notifications
Localise common game notifications
2023-06-27 22:40:22 +02: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 #23926 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
Bastian Pedersen
62dcd513ca Fix XML doc not mirroring string 2023-06-27 21:02:44 +02:00
Bastian Pedersen
8a2cd57f4e Add back missing punctunation 2023-06-27 21:01:39 +02:00
Bastian Pedersen
37ee3a7bbd Localise common game notifications 2023-06-27 20:56:35 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable 2023-06-27 20:35:47 +02:00
Dean Herbert
8e80e2fa32 Fix incorrect realm copy logic when a beatmap becomes detached from its set
The code here was assuming that if the beatmap which is having changes
copied across does not exist within the `BeatmapSet.Beatmaps` list, it
was not yet persisted to realm.

In some edge case, it can happen that the beatmap *is* persisted to
realm but not correctly attached to the beatmap set. I don't yet know
how this occurs, but it has caused loss of data for at least two users.

The fix here is to check realm-wide for the beatmap (using its primary
key) rather than only in the list. We then handle the scenario where the
beatmap needs to be reattached to the set as a seprate step.

---

This does raise others questions like "are we even structuring this
correctly? couldn't a single beatmap exist in two different sets?"

Maybe, but let's deal with that if/when it comes up.
2023-06-27 18:20:01 +09:00
Dan Balasescu
6e2369e651 Add xmldoc on LegacyTotalScore 2023-06-27 17:18:32 +09: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
Dan Balasescu
0c5c09597c Store old total score as LegacyTotalScore 2023-06-27 14:59:40 +09:00
Bartłomiej Dach
40ceb4dfac
Fix incorrect indent size 2023-06-26 22:40:25 +02: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
Bartłomiej Dach
cc45ec4fff
Mark IHasRecordingHandler.Recorder nullable 2023-06-26 18:52:05 +02:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dan Balasescu
8e79510793 Add migration for total score conversion 2023-06-26 21:53:21 +09: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
084354a8dc Split out interfaces from RulesetInputManager and improve xmldoc 2023-06-26 16:34:57 +09:00