1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 14:52:55 +08:00
Commit Graph

39178 Commits

Author SHA1 Message Date
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
Dean Herbert
c8e081c2b6 Remove unused interface 2023-06-26 16:32:19 +09:00
Dean Herbert
ec20942830 Actuall add composite component to hierarchy 2023-06-26 16:24:36 +09:00
Dean Herbert
3a2dd0e7dd Move argon key counter to right to match stable expectations 2023-06-26 16:22:38 +09:00
Dean Herbert
52fdeeb491 Improve positioning and positioning code clarity for argon / triangles implementations 2023-06-26 16:20:51 +09:00
Dean Herbert
ba7f472247 Split padding out into constant to fix weird looking math 2023-06-26 16:05:57 +09:00
Dean Herbert
0c869367e1
Merge branch 'master' into hud/kc-skinnable 2023-06-26 15:53:16 +09:00
Dan Balasescu
e1d723a2cc Merge branch 'master' into diffcalc-total-scorev1 2023-06-26 14:32:14 +09:00
Bastian Pedersen
506829d9a5
Merge branch 'master' into localise-multiplayer-countdown-buttons 2023-06-26 07:28:05 +02:00
Dean Herbert
b240ce295b Rename class and key to better match expectations 2023-06-26 13:38:34 +09:00
Dean Herbert
1abce098b4 Apply nullability to login form related classes 2023-06-26 13:26:07 +09:00
Dean Herbert
372cef3c0a Merge branch 'master' into ui-login-spacing-fix 2023-06-26 13:24:26 +09:00
Dean Herbert
ac0c988d49 Fix weirdly named test method and add xmldoc 2023-06-26 13:21:29 +09:00
Dean Herbert
8d2dccbda5 Remove pointless zero opacity specification 2023-06-26 13:19:07 +09:00
Dean Herbert
55ab27c5b6
Merge pull request #24022 from frenzibyte/fix-open-user-profile-argument
Fix `OpenUserProfile` links having multiple argument types
2023-06-26 13:13:05 +09:00
Joseph Madamba
5477ef6bfb
Remove unused usings 2023-06-25 12:58:51 -07:00
Joseph Madamba
ccc4d16096
Remove most custom styling of user dropdown 2023-06-25 12:46:00 -07:00
Joseph Madamba
6ebc2581c2
Normalise login overlay padding/spacing 2023-06-25 12:26:01 -07:00
Joseph Madamba
671f84e32b
Remove unnecessary container 2023-06-25 12:15:03 -07:00
Joseph Madamba
4582faee79
Refactor login panel to not inherit FillFlowContainer 2023-06-25 12:06:02 -07:00
Bastian Pedersen
a7153478d6 Use newly create localised strings for buttons 2023-06-25 21:03:07 +02:00
Bastian Pedersen
59fa46bbdd Create localisation string class for multiplayer countdown buttons 2023-06-25 21:02:51 +02:00
Joseph Madamba
4a3b8c405e
Fix login error text adding unnecessary spacing 2023-06-25 11:57:17 -07:00
Joseph Madamba
442fda3598
Remove using aliases 2023-06-25 11:39:33 -07:00
Joseph Madamba
1058f434d7
Update login overlay background to conform to other overlays 2023-06-25 11:39:32 -07:00
Joseph Madamba
25c9bf4061
Improve and refactor LoginPanel test scene to use LoginOverlay 2023-06-25 11:39:32 -07:00
Joseph Madamba
f87ac3f405
Merge remote-tracking branch 'upstream/master' into pr/23331 2023-06-25 10:01:32 -07:00
tsrk
350d722c8d
Merge branch 'master' into hud/kc-skinnable 2023-06-25 15:42:08 +02:00
tsrk
a7088ffe22
revert: bring back old attachment flow
As discussed, this would bring more problems that anything.

Refs: 4c39708, f83a4f4
2023-06-25 15:21:55 +02:00
Bartłomiej Dach
4215ca313f
Add missing using 2023-06-25 14:36:21 +02:00
Dean Herbert
3d1a8aeb54 Use more understandable cancel button text 2023-06-25 21:25:16 +09:00
Dean Herbert
95e8dd2e8e
Don't attempt to access notifications before loaded
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-25 21:25:07 +09:00
Bartłomiej Dach
a7202721ff
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-25 13:35:21 +02:00
Bartłomiej Dach
25842105ce
Merge pull request #23976 from peppy/gameplay-sample-trigger-source-correctness
Adjust `GameplaySampleTriggerSource` to only switch samples when close enough to the next hit object
2023-06-25 08:23:55 +02:00
Dean Herbert
922fe927ac Update resources 2023-06-25 15:18:56 +09:00
Dean Herbert
5806153cfd Update framework 2023-06-25 12:00:14 +09:00
Bartłomiej Dach
d7ae430ec2
Merge branch 'master' into framework-update 2023-06-24 18:47:52 +02:00
Dean Herbert
ca402c4d2f Update framework 2023-06-25 00:38:19 +09:00
Salman Ahmed
9a5f033a0f Change OpenUserProfile argument type to always use IUser 2023-06-24 18:12:35 +03:00
Bartłomiej Dach
e273c223a8
Fix some more missed CI inspections 2023-06-24 17:11:38 +02:00
Bartłomiej Dach
df2dcf85b4
Fix wrong disable 2023-06-24 17:07:42 +02:00
Bartłomiej Dach
e3a89a6273
Fix remaining obvious CI inspections 2023-06-24 16:07:01 +02:00
Bartłomiej Dach
2c1a44da89
Revert nullability enable in BeatmapBackground
Due to varying expectations in handling of `Beatmap`. Some places allow
or expect null and some don't. Needs to be looked at closer separately.
2023-06-24 15:40:06 +02:00
Bartłomiej Dach
66ef199fa4
Revert nullability enable in Score (and related changes)
Causes several knock-on inspections in `OsuGame` et al. Probably best
addressed in a separate pass, because treatment is mixed at best (some
places nullcheck, some expect non-null).
2023-06-24 15:35:07 +02:00
Bartłomiej Dach
8fdd599b39
Match field NRT annotation in ctor argument 2023-06-24 15:17:14 +02:00
Bartłomiej Dach
1f2f522a1e
Mark override as null-accepting
`ModelBackedDrawable<T>.CreateDrawable()` is R#-annotated to accept
a potentially null model. Apply nullability there too for better reading
experience.
2023-06-24 15:07:04 +02:00
Bartłomiej Dach
354e85a2e1
Trim redundant BDL nullability spec 2023-06-24 14:35:23 +02:00
Dean Herbert
2bda63c2c8 Merge branch 'master' into mass-nrt 2023-06-24 09:59:15 +09:00
Dean Herbert
58e6b3782b Fix a couple of remaining issues 2023-06-24 09:58:36 +09:00
Bartłomiej Dach
23aa1752c3
Merge pull request #24009 from peppy/fix-touch-input-controls-floating-fruits
Change "floating fruits" mod to only apply adjustments to the playfield
2023-06-23 23:26:20 +02:00
Salman Ahmed
ff17685bc3 Fix OpenUserProfile links having multiple argument types 2023-06-23 22:38:16 +03:00
Salman Ahmed
c5771912db
Merge branch 'master' into tournament-chatcolor 2023-06-23 22:23:33 +03:00
Salman Ahmed
7a771609f9 Reword and fix typo 2023-06-23 22:20:25 +03:00
Dan Balasescu
5fadadc3d0 Merge branch 'master' into diffcalc-total-scorev1 2023-06-24 02:46:15 +09:00
Dean Herbert
df5b389629 Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Dan Balasescu
06565871d6 Add flag to disable computing legacy scoring values 2023-06-24 01:03:18 +09:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Dean Herbert
1dc7c05c12
Merge branch 'master' into no-confirmation-on-update-restart 2023-06-23 15:33:01 +09:00
Dean Herbert
f66b787b12 Show ongoing operations in exit confirmation dialog
Also changes the button to a dangerous button, forcing user acknowledgement
2023-06-23 15:20:19 +09:00
Dean Herbert
693b7c9906 Reorganise resolved fields in MainMenu 2023-06-23 15:19:47 +09:00
Dean Herbert
7fa07805b0 Expose all notifications from INotificationOverlay
Also fixes `HasOngoingOperations` not actually working.
2023-06-23 15:19:21 +09:00
Dean Herbert
20aedc82ac Remove unused code 2023-06-23 14:47:32 +09:00
Dean Herbert
6df617d536 Rename ExitConfirmOverlay to be more explicit about purpose 2023-06-23 14:46:38 +09:00
Dean Herbert
11a97e1bb8 Move confirmation bypass implementation to MainMenu to allow for more correct logic 2023-06-23 14:42:56 +09:00
Dean Herbert
08b3c0cce0 Change "floating fruits" mod to only apply adjustments to the playfield
Avoids things like touch screen inputs also being flipped.

Note that these adjustments can't be applied directly to the playfield
due to how playfields are used in various rulesets (basically relying on
the `PlayfieldAdjustContainer` to get things in the right place).

Closes #24000.
2023-06-23 14:18:43 +09:00
Dean Herbert
343271751a Add Schedule to ensure correct thread for UI code 2023-06-23 14:07:33 +09:00
Dean Herbert
ce1579f2fe Bind to API.State instead of API.User 2023-06-23 14:05:02 +09:00