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

39360 Commits

Author SHA1 Message Date
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
Dean Herbert
64b726d5ec Fix nested logic not being completely correct (favouring already-passed rather than near-future) 2023-06-23 13:48:13 +09:00
Bartłomiej Dach
c06b825d9b
Merge branch 'master' into comment-logged-out 2023-06-22 23:19:00 +02:00
Bartłomiej Dach
1672608a87
Document why things were done in DummyAPIAccess 2023-06-22 23:08:30 +02:00
Bartłomiej Dach
786deec296
Rename and xmldoc members 2023-06-22 23:00:52 +02:00
Bartłomiej Dach
0ce4d17e30
Merge pull request #23888 from peppy/fix-intro-playing-twice
Fix music sometimes restarting twice if exiting song select with no beatmap selected
2023-06-22 22:49:15 +02:00
Bartłomiej Dach
a753c89dea
Merge pull request #23974 from peppy/fix-multiplayer-present-beatmap
Fix presenting beatmaps while in a multiplayer room not working
2023-06-22 22:48:48 +02:00
Liam DeVoe
21bed336c6 adjust DummyAPIAccess to more closely match APIAccess
wrt logging in and out
2023-06-22 16:01:12 -04:00
Bartłomiej Dach
a11b3a67fb
Merge branch 'master' into skin-editor-beatmap-skin-disable 2023-06-22 20:30:51 +02:00
Bartłomiej Dach
aea5eb37dc
Remove unused using directive 2023-06-22 20:24:44 +02:00
Bartłomiej Dach
79606317ab
Remove redundant parentheses 2023-06-22 20:02:10 +02:00
Bartłomiej Dach
65d4506ef2
Merge branch 'master' into save-replay-hotkey 2023-06-22 18:51:30 +02:00
Bartłomiej Dach
28dc5640a3
Merge pull request #23972 from peppy/notifications-during-pause
Allow notifications while the game is paused (or in break time)
2023-06-22 18:31:39 +02:00
Dean Herbert
07a00e8afd
Fix typo in comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:02:02 +09:00
Dean Herbert
7b4cbea362
Allow nullable to fix test usages
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-22 00:01:48 +09:00
Dean Herbert
59b1f08d53 Don't require exit confirmation when there are no ongoing operations that could be interrupted 2023-06-21 19:06:28 +09:00
Dean Herbert
c3f772f0da Add method to queue a restart after app is exited (when supported) 2023-06-21 19:06:28 +09:00
Dean Herbert
655491ae2d Fix potential null ref in ResultsScreen 2023-06-21 17:50:06 +09:00
Dean Herbert
1907beb0c9 Add FireAndForget to stray Task.Run 2023-06-21 17:48:55 +09:00
Dean Herbert
9ca772421d Improve and combine logic that exists in two classes 2023-06-21 17:48:12 +09:00
Dean Herbert
4ff5275208 Make IGameplayClock optional in GameplaySampleTriggerSource to ease testing 2023-06-21 17:33:42 +09:00
Dean Herbert
cb0f642ad7 Change skin editor flow to always save on toggle
This also moves the beatmap skin disable toggle to on toggle, in line
with review feedback.

I've decided to always apply the disable, not just on the `Player`
screen. It should be assumed that if a user is in the skin editor they
are never going to need access to this anyway.
2023-06-21 16:14:47 +09:00
Dean Herbert
366dd96875 Use bindable lease instead of reimplementing the same thing locally 2023-06-21 16:09:54 +09:00
Liam DeVoe
cc764afe3e use two separate buttons for posting / login 2023-06-21 00:58:43 -04:00
Liam DeVoe
8460873e61 move commitButton.Text update to appropriate method 2023-06-21 00:37:54 -04:00
Dean Herbert
cb07f2399f Apply NRT to GameplaySampleTriggerSource 2023-06-20 21:03:55 +09:00
Dean Herbert
04dad6c6e8 Use IGameplayClock to ensure our clock source is correct 2023-06-20 20:47:56 +09:00
Dean Herbert
0e86102681 Fix nested lookups 2023-06-20 20:45:02 +09:00
Dean Herbert
786d5a394b Add back optimisation and increase time allowance slightly 2023-06-20 20:30:07 +09:00
Dean Herbert
555ce7684b Adjust GameplaySampleTriggerSource to only switch samples when close enough to the next hit object
Closes #23963.

To simplify things, I've removed the optimisation of using
`AliveObject`s because it would break the way this whole lookup works.
2023-06-20 20:06:07 +09:00
Dean Herbert
d7b486e2ac Disable beatmap skinning when entering the skin editor 2023-06-20 19:18:17 +09:00
Dean Herbert
2e02b4a85b Apply more correct fix for double-playing menu track 2023-06-20 18:35:51 +09:00
Dean Herbert
0a81170bca Merge branch 'master' into fix-intro-playing-twice 2023-06-20 18:34:22 +09:00
Dean Herbert
10ed3787a0 Don't show song select screen when local user doesn't have permission to add an item 2023-06-20 18:27:19 +09:00
Dean Herbert
dc1b4a39aa Fix presenting beatmaps while in a multiplayer room not working 2023-06-20 18:23:59 +09:00
Dean Herbert
ff8350bac6 Update framework 2023-06-20 17:43:52 +09:00
Dean Herbert
7b69b92eab Allow notifications while the game is paused (or in break time)
RFC. This is to allow notifications to show at the pause screen
(specifically for #23967, where exports are now happening).

Not sure about the break time part of this, but might be fine? The
toasts are immediately flushed before break time ends.
2023-06-20 16:57:35 +09:00
Dean Herbert
4bd121d3b8 Also add hotkey to export replays 2023-06-20 16:54:37 +09:00
Dean Herbert
7c5813c05a Fix OsuAnimatedButton not flashing when triggered via code 2023-06-20 16:34:22 +09:00
Dean Herbert
1e0e29847f Apply NRT and hotkey support to save replay button at results screen 2023-06-20 16:29:15 +09:00
Liam DeVoe
60eedbafd1 rename GetTextBoxPlaceholder to GetPlaceholderText 2023-06-19 22:05:18 -04:00
Liam DeVoe
f7dde53f9b use runOnceImmediately instead of duplicating logic 2023-06-19 18:20:16 -04:00
Liam DeVoe
591277e0f9 extract button text properties to methods, show login overlay on click 2023-06-19 18:10:37 -04:00
Liam DeVoe
d5d494f07b resolve protected API in comments superclass 2023-06-19 17:36:40 -04:00
Liam DeVoe
4a9543092a disable posting comments when logged out 2023-06-19 17:08:04 -04:00
Bartłomiej Dach
c467e6ba1f
Merge pull request #23969 from Joehuu/fix-beatmap-info-bpm
Fix beatmap info not showing individual difficulty bpm
2023-06-19 22:57:17 +02:00
Joseph Madamba
362fe62b4b
Fix beatmap info not showing individual difficulty bpm 2023-06-19 11:05:29 -07:00
Bartłomiej Dach
ecc5915ab3
Merge branch 'master' into fix-distance-snap-grid-centering 2023-06-19 18:45:06 +02:00
Dan Balasescu
bfa449e47a Adjust attribute data 2023-06-19 21:38:13 +09:00
Dean Herbert
69526f25bb Add hotkey to save replay
Defaults to `F2` aka stable.
2023-06-19 20:45:29 +09:00
Dean Herbert
84fc6e92db Fix slightly incorrect calculations 2023-06-19 20:23:46 +09:00
Dean Herbert
4314f9f46a Merge branch 'master' into fix-distance-snap-grid-centering 2023-06-19 20:22:09 +09:00
Dean Herbert
aa96fefae2 Merge branch 'master' into snap-colour-mod 2023-06-19 20:01:36 +09:00
tsrk
f83a4f4952
refactor: tidy up attachement flow
TODO: find better naming and improve XMLDocs
2023-06-18 22:57:21 +02:00
tsrk
141f9efad5
style(KeyCounterController): remove reliance on Receptor 2023-06-18 21:26:16 +02:00
tsrk
1a8219adf6
style: guard event handler unsubscriptions 2023-06-18 20:20:56 +02:00
Bartłomiej Dach
ee08ed414c
Document DrawableChatUsername members 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
a2a9823d84
Rename constant 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
dad32817ee
Improve UsernameColour documentation 2023-06-18 18:46:49 +02:00
Bartłomiej Dach
bd174b5193
Revert to non-bindable AccentColour
Not necessary for now, so let's not incur unnecessary overheads.
2023-06-18 18:46:49 +02:00
Ruki
9c6c6bf1ea
Merge branch 'master' into hud/kc-skinnable 2023-06-18 18:30:44 +02:00
Dean Herbert
db445660e7 Avoid resolving realm Live more than once 2023-06-19 01:06:45 +09:00
Dean Herbert
425d3c23f5 Fix some code layout and NRT some classes 2023-06-19 01:03:43 +09:00
Bartłomiej Dach
b4c1266fc5
Add TODO for future support of typical search shortcuts 2023-06-18 15:58:50 +02:00
Bartłomiej Dach
b87acfa66f
Dynamically change placeholder to convey how to activate search 2023-06-18 15:58:50 +02:00
Bartłomiej Dach
75300ca229
Switch search box to initially unfocused
Done primarily to keep mod hotkeys working without any behavioural
changes when mod select is opened.
2023-06-18 15:58:50 +02:00
Bartłomiej Dach
9ba4bf5fb7
Merge branch 'master' into add-mod-search-option 2023-06-18 15:06:21 +02:00
Bartłomiej Dach
d4c9eb013e
Fix bugged initial state of matching filter flag
Was preventing mod preset panels from refiltering correctly on ruleset
change due to the `matchingFilter == value` guard.
2023-06-18 14:51:52 +02:00
Bartłomiej Dach
a49af06e88
Reword comments in ModSelectOverlay 2023-06-18 14:34:33 +02:00
Bartłomiej Dach
28f929dc4d
Remove yet another redundant guard 2023-06-18 14:28:26 +02:00
Bartłomiej Dach
4c78144d10
Remove obvious comment 2023-06-18 14:04:00 +02:00
Bartłomiej Dach
64e96c6d82
Fix duplicate linq and reword comment 2023-06-18 14:03:26 +02:00
Bartłomiej Dach
a1015b4145
Remove duplicated xmldoc and move into relevant region 2023-06-18 13:59:36 +02:00
Bartłomiej Dach
1b4d7db1e6
Remove redundant guard
`Bindable` has one of those already.
2023-06-18 13:58:25 +02:00
Bartłomiej Dach
c7e8990576
Remove unused property 2023-06-18 13:58:25 +02:00
Bartłomiej Dach
62f01e4f40
Rename ModState members to better convey what's what 2023-06-18 13:58:25 +02:00
Dean Herbert
d9c00fc4be Update framework 2023-06-18 20:57:43 +09:00
Dean Herbert
eb31fdecee Apply osu! side changes in line with FocusedOverlayContainer.PopIn abstract change
See https://github.com/ppy/osu-framework/pull/5834
2023-06-18 20:57:32 +09:00
Dean Herbert
ba8ca3facf
Merge pull request #23954 from Joehuu/fix-drain-length-tooltip
Fix beatmap info length tooltip not showing actual drain length
2023-06-18 15:20:45 +09:00
Dean Herbert
66f33b4f8c
Merge pull request #23952 from frenzibyte/ios-file-import-support
Add back support for importing beatmaps/skins/replays on iOS via "Files" app
2023-06-18 15:14:50 +09:00
Joseph Madamba
9ae864c219
Fix beatmap info length tooltip not showing actual drain length 2023-06-17 15:00:32 -07:00
Joseph Madamba
fdebf93ae4
Fix incorrect xmldoc of IBeatmapInfo.Length 2023-06-17 14:55:27 -07:00
Bartłomiej Dach
eafd774044
Bring back old formatting spec 2023-06-17 20:03:24 +02:00
Salman Ahmed
25fa4a2eb5 Move DragDrop handling to base game implementation for iOS support 2023-06-17 20:30:22 +03:00
Dean Herbert
4919069ea6 Avoid humanizer regex compilation overhead when opening song select for the first time 2023-06-18 02:19:03 +09:00
Bartłomiej Dach
2976145150
Merge pull request #23937 from peppy/order-by-total-score-extension
Move `OrderByTotalScore()` to an extension method
2023-06-16 22:18:27 +02:00
Bartłomiej Dach
26a36a023e
Merge pull request #23837 from peppy/limited-distance-spacing
Add setting to limit distance snapping to current time
2023-06-16 20:36:08 +02:00
Dean Herbert
a62b11606e Attempt to fix NaN fps display
The only thing I can see which could cause this is reading from the `drawClock.ElapsedFrameTime` after the `isSpike` read causing a div-by-zero. Reading the values once at the start should avoid this.
2023-06-17 01:32:45 +09:00
Ruki
66f44452d2
Merge branch 'master' into hud/kc-skinnable 2023-06-16 17:30:33 +02:00
Bartłomiej Dach
28696f595f
Privatise setter 2023-06-16 16:24:07 +02:00
Dean Herbert
d965d39c44 Fix distance snap grid circles not correctly being centered on snap point 2023-06-16 17:21:32 +09:00
Dean Herbert
36954e55ad Fix incorrect mapping when distance spacing is not 1.0x 2023-06-16 17:15:45 +09:00
Dean Herbert
003949ac4e Merge branch 'master' into limited-distance-spacing 2023-06-16 16:56:22 +09:00
Dean Herbert
362aa4b376 Also move GetMaxAchievableCombo 2023-06-16 15:26:13 +09:00
Dean Herbert
ce41ef6e5d Move OrderByTotalScore() to an extension method 2023-06-16 15:24:30 +09:00
Dean Herbert
1f17f416a4 Force migration of old-new standardised scores to run once more 2023-06-16 14:04:18 +09:00
Dean Herbert
94b7de4b3f Fix old-new standardised score conversion missing some scores due to not rounding correctly 2023-06-16 14:01:56 +09:00
Bartłomiej Dach
51b5a0863f
Apply migration to new standardised score on normal reimport too 2023-06-15 21:53:15 +02:00
Dean Herbert
d83bf02923
Fix thing 2023-06-15 21:43:41 +02:00
Dean Herbert
6f0c8c286b
Merge pull request #23906 from Joehuu/truncate-room-name
Truncate online play drawable room name text
2023-06-16 00:22:04 +09:00
Dean Herbert
e587d3f4f2
Merge pull request #22239 from Feodor0090/registration-loc
Login and registration localisation
2023-06-15 23:58:22 +09:00
Ruki
aba8219d06
Merge branch 'master' into hud/kc-skinnable 2023-06-15 15:48:43 +02:00
tsrk
9d688733ac
fix: correct key counter position in Triangles and Legacy skins 2023-06-15 14:37:38 +02:00
tsrk
fcdaf72915
style(KeyCounter): remove useless IsCounting bindable
Counting logic has been moved to the `Trigger`
2023-06-15 12:40:47 +02:00
tsrk
184c793f56
style(KeyCounter): remove useless Content override 2023-06-15 12:39:22 +02:00
Dan Balasescu
0844a21a51 Merge branch 'master' into diffcalc-total-scorev1 2023-06-15 19:33:29 +09:00
tsrk
a61c1116f5
style: remove unused IAttachableSkinComponent on KCD 2023-06-15 12:27:37 +02:00
tsrk
b4cbcb210e
refactor: remove detachment logic
No real use case, cleaning up the diff
2023-06-15 12:24:37 +02:00
tsrk
2f40f5bd19
fix: change key counter position in Triangles and Legacy skins 2023-06-15 12:01:38 +02:00
Salman Ahmed
39db17d2e9 Use better method to avoid rewinding to deleted beatmaps 2023-06-15 11:22:11 +03:00
Salman Ahmed
cabb4dfaa8 Merge branch 'master' into fix-rewind-bug 2023-06-15 10:59:15 +03:00
Salman Ahmed
2360219b55 Merge branch 'master' into fix-rewind-bug 2023-06-15 10:48:23 +03:00
Dan Balasescu
e78950a162
Merge pull request #23884 from peppy/argon-progress-visibility-light-background
Adjust argon progress display to work well on bright backgrounds
2023-06-15 15:50:53 +09:00
tsrk
42b740a175
Merge branch 'master' into hud/kc-skinnable 2023-06-14 22:19:45 +02:00
Bartłomiej Dach
e46b4209c3
Remove no-longer-needed local method 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
462570801a
Introduce new method for enumeration of objects during autoplay simulation 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
3295294cbc
Reorder autoplay-related virtual methods closer together 2023-06-14 21:50:19 +02:00
Bartłomiej Dach
04e812b5ab
Make JudgementProcessor.SimulateAutoplay() non-virtual
Nobody overrides this, and with the structure given, overriders would
have to rewrite half of this code anyway. The fact that the class has 2
other overridable members (`CreateResult()`, `GetSimulatedHitResult()`)
which cease to have any meaning if `SimulateAutoplay()` is overridden
also contributes to taking this decision.
2023-06-14 21:50:19 +02:00
tsrk
081190802e
revert: remove attachment logic from SkinComponentContainer
This is no longer in the scope of the PR.
2023-06-14 21:19:08 +02:00
tsrk
e26aeea589
feat: make KeyCounterDisplay skinnable 2023-06-14 21:15:12 +02:00
tsrk
c637fddf73
refactor: decouple Trigger logic from KeyCounterDisplay
This allows to keep a coeherent state regardless of the progress of the play
2023-06-14 21:13:35 +02:00
tsrk
e9ef270e46
refactor: move count logic in InputTrigger
This will allow us to keep track of the real count regardless of whether
the key counter has been placed mid-replay or not.
2023-06-14 19:39:28 +02:00
Joseph Madamba
45e67fbe78
Remove unused load dependency 2023-06-14 08:09:03 -07:00
Joseph Madamba
b54f3a2cba
Normalise source strings to sentence case
The casing of the "caps lock" tooltip wasn't changed in code, as tooltips should be ideally sentence-cased, see https://github.com/ppy/osu/pull/21765#issuecomment-1552378930.
2023-06-14 07:58:55 -07:00
Joseph Madamba
e4af1df663
Apply automated formatting changes 2023-06-14 07:57:37 -07:00
Joseph Madamba
8cecfef2ff
Apply key renaming suggestions 2023-06-14 07:40:26 -07:00
Joseph Madamba
ed95fb5982
Revert blocking password requirement text localisation 2023-06-14 07:30:46 -07:00
Joseph Madamba
874ce4fe71
Merge remote-tracking branch 'upstream/master' into pr/22239 2023-06-14 07:06:55 -07:00
Salman Ahmed
24d8e336e2 Remove width limit on room status text in favour of cell distribution 2023-06-14 07:55:09 +03:00
Dean Herbert
83abc80950 Update resources 2023-06-14 13:54:37 +09:00
Dan Balasescu
74126524cf
Merge pull request #23892 from peppy/local-score-recalc
Migrate old standardised scores to new algorithm
2023-06-14 13:34:38 +09:00
Joseph Madamba
05bdc92426 Add right padding according to right detail shear 2023-06-13 14:00:56 -07:00
Joseph Madamba
2a3f2ff122 Truncate room name text 2023-06-13 13:56:29 -07:00
Joseph Madamba
df49a48d4d Put left and right details inside GridContainer 2023-06-13 13:48:47 -07:00
Dean Herbert
f553efba8a Fix playback controls in editor handling key repeat when they probably shouldn't
Closes https://github.com/ppy/osu/issues/23903.
2023-06-14 02:30:15 +09:00
Bartłomiej Dach
6205864c62
Fix score migration not considering mod multipliers 2023-06-13 19:00:13 +02:00
Dean Herbert
3334323eb7 Run updateScore on Reset for good measure 2023-06-14 01:54:57 +09:00
Salman Ahmed
d371cf3645
Merge branch 'master' into add-offset-keywords 2023-06-13 16:33:02 +03:00
Joseph Madamba
0adb399ea8
Use anchor instead of FillFlowContainer 2023-06-13 00:09:58 -07:00
cdwcgt
432b5e2d25
move Inverted and color logic to ChatLine 2023-06-13 15:56:25 +09:00
Joseph Madamba
a5c3c9a93f
Use FillFlowContainer instead of GridContainer for drawable room background gradient 2023-06-12 23:30:08 -07:00
Dean Herbert
4cdd4561c4 Add a few more search keywords for offset settings
https://github.com/ppy/osu/discussions/23898#discussioncomment-6159206
2023-06-13 14:17:32 +09:00
Dean Herbert
0ab9a48f00 Fix score not updating when TrackHitEvents is set to false 2023-06-13 11:44:52 +09:00
Bartłomiej Dach
af3fbdbfbe
Merge pull request #23829 from Joehuu/truncating-text-tooltips
Add tooltips to truncated text
2023-06-12 23:43:31 +02:00
Bartłomiej Dach
422216aa4c
Merge pull request #23889 from peppy/fix-null-storyboard
Fix storyboard being null if file doesn't exist
2023-06-12 23:16:02 +02:00
Dean Herbert
422e87f0ec Fix weird usings 2023-06-13 05:30:12 +09:00
Dean Herbert
c1b0c60e79 Ensure all misses are dequeued 2023-06-13 05:24:04 +09:00
Dean Herbert
3304e41a30 Add more commenting 2023-06-13 05:20:29 +09:00
Dean Herbert
afb5a9243a
Fix typo
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-06-13 05:13:22 +09:00
Dean Herbert
e9fb1f8932 Avoid tracking hit events altogether during migration 2023-06-13 02:15:41 +09:00
Dean Herbert
385f6dbd84 Move local classes to their rightful location 2023-06-13 02:12:23 +09:00
Dean Herbert
e0ebb000d6 Avoid unnecessary operations during score processor simulation 2023-06-13 02:05:11 +09:00
Dean Herbert
87520ae400 Avoid overhead from retrieving MaxCombo inside loop from realm 2023-06-13 02:05:00 +09:00
Dean Herbert
0916ae1671 Add basic profiling output of realm migrations 2023-06-13 01:57:41 +09:00
Dean Herbert
0e9576acfb Remove logging and catch any kind of errors 2023-06-13 01:40:43 +09:00
Dean Herbert
d19f8997fc Account for scores which don't have correct maximum statistics populated 2023-06-13 01:40:43 +09:00
Dean Herbert
f30c1a564f Add basic setup for score migration 2023-06-13 01:40:43 +09:00
cdwcgt
27b99ea923
use { get; init; } 2023-06-13 01:11:19 +09:00
Dan Balasescu
446807e7f6 Add combo score / bonus score attributes 2023-06-12 23:00:29 +09:00
cdwcgt
430938fbb2
allow custom username color for chatLine
user's color (e.g. green for NAT) will be ignore
2023-06-12 22:07:36 +09:00
Salman Ahmed
7269b4807e
Merge branch 'master' into improve-song-select-enter-performance 2023-06-12 13:13:59 +03:00
Cootz
aece548db1
Merge branch 'master' into add-mod-search-option 2023-06-12 13:09:09 +03:00
Dean Herbert
a29f6772cd Fix storyboard being null if file doesn't exist
It's expected that `WorkingBeatmap.Storyboard` is non-null.

An example fail case is in `BeatmapBackgroundWithStoryboard.load`.
2023-06-12 17:22:15 +09:00
Dean Herbert
a201339f9c Fix background track restarting twice when exiting song select with no active selection 2023-06-12 17:12:38 +09:00
Dean Herbert
a1b17c4468 Adjust log output for global background changes to make more sense 2023-06-12 17:12:18 +09:00
Dean Herbert
855185ca85 Adjust argon song progress bar's background fill to always display 2023-06-12 16:43:28 +09:00
Dean Herbert
1626d8d5a5
Merge pull request #23867 from Cootz/fix-toggling-mod-presets-causes-too-many-sounds-to-play
Fix toggling mod presets causes too many sounds to play
2023-06-12 16:36:43 +09:00
Dean Herbert
84670d4c90 Adjust argon graph to use a non-gray colour range 2023-06-12 16:22:40 +09:00
Dean Herbert
99f93f5185 Add comment mentioning why ShowTooltip is disabled in mod select panels 2023-06-12 15:31:22 +09:00
Dean Herbert
8864014af8 Add xmldoc 2023-06-12 15:25:45 +09:00
Dean Herbert
1e774fc017 Refactor implementation to roughly match existing HoverSampleDebounceComponent 2023-06-12 14:35:15 +09:00
Dean Herbert
392287e9fb
Merge pull request #23836 from frenzibyte/fix-aspect-ratio-crop-texture-stuff
Fix beatmap panel background looking different than usual
2023-06-12 14:14:04 +09:00
Cootz
4819a28791 Move mod overlay statics to SessionStatics 2023-06-11 13:53:17 +03:00
Joseph Madamba
0d51e4f6ce
Fix mod select panels having conflicting tooltips
Going simple with a bool instead of making `TooltipText` init-able, as the current cases will just init `string.Empty`. And not sure if we want custom tooltip text in the future.
2023-06-10 12:24:58 -07:00
Joseph Madamba
61a9c6fd7e
Disable Truncate in OsuSpriteText
Co-Authored-By: Salman Ahmed <frenzibyte@gmail.com>
2023-06-10 11:53:45 -07:00
Cootz
502193e1c6 Use debounce constant for select/deselect animation 2023-06-10 13:55:37 +03:00
Cootz
31f370ec9b Add comments for ModSelectOverlayStatics 2023-06-10 13:50:45 +03:00
Cootz
09cd5580e1 Add sample playback time restrictions 2023-06-10 13:13:34 +03:00
Cootz
9224486ec7 Add mod select overlay statics 2023-06-10 12:38:26 +03:00
Dean Herbert
659a042065
Merge pull request #23844 from peppy/memory-caching-nrt
Apply NRT to `MemoryCachingComponent` classes
2023-06-09 23:28:21 +09:00
Cootz
d219b5f77f Reword change focus comment 2023-06-09 17:10:13 +03:00
Cootz
7697dbe4b3 Mod panel don't play sound when hidden 2023-06-09 16:55:19 +03:00
Cootz
036479dd9d
Merge branch 'master' into add-mod-search-option 2023-06-09 16:27:18 +03:00
Cootz
c3b50e1309 Move the multiplier back to TopRight 2023-06-09 16:25:04 +03:00
Bartłomiej Dach
52412c673d
Bump replay version in encoder after Score V2 changes
One release too late, but this may help in the future if we need to
discern replays set with Score V2 from older lazer replays.
2023-06-09 14:49:49 +02:00
Bartłomiej Dach
ee746decf0
Merge pull request #23845 from peppy/cache-replay-import-username-lookups
Add a very simple user cache to `ScoreImporter`
2023-06-09 14:42:55 +02:00
Salman Ahmed
2823a62b5f Avoid potential cropping error on very tall backgrounds 2023-06-09 15:27:53 +03:00
Bartłomiej Dach
287229efd5
Fix code quality inspection 2023-06-09 14:25:53 +02:00
Bartłomiej Dach
58507291b9
Apply NRT in MemoryCachingComponent test-only subclasses 2023-06-09 13:48:42 +02:00
Bartłomiej Dach
11694f35fe
Apply NRT in MemoryCachingComponent subclasses too 2023-06-09 13:47:35 +02:00
Bartłomiej Dach
15df2875ec
Merge pull request #23841 from peppy/replay-audio-settings
Fix audio settings not displaying while watching a replay
2023-06-09 13:16:39 +02:00
Dean Herbert
49c77a64ef Apply more correct fix, factoring in minimum display ratio 2023-06-09 19:30:28 +09:00
Dean Herbert
c5e77e13de Add a very simple user cache to ScoreImporter 2023-06-09 19:03:28 +09:00
Dean Herbert
4685ba83e1 Apply NRT to MemoryCachingComponent classes 2023-06-09 19:00:05 +09:00
Bartłomiej Dach
fbbeb3893b
Merge pull request #23832 from peppy/fix-catch-distance-spacing-display
Fix weird right-toolbox distance snapping display in osu!catch editor
2023-06-09 11:50:11 +02:00
Bartłomiej Dach
c9bb687547
Merge branch 'master' into scoring-hotfix 2023-06-09 11:20:21 +02:00
Bartłomiej Dach
ca25ac446b
Be slightly more specific with error message 2023-06-09 11:20:12 +02:00
Dean Herbert
c2663f27a1 Fix audio settings not displaying while watching a replay 2023-06-09 17:58:44 +09:00
Dean Herbert
53f935714e Inline binary reading to avoid polluting RealmAccess with nested class 2023-06-09 17:34:27 +09:00
Dean Herbert
a9071e7afd try-catch more 2023-06-09 17:33:59 +09:00
Dean Herbert
78b2e6f3df Add setting to limit distance snapping to current time
As discussed in https://github.com/ppy/osu/discussions/23815#discussioncomment-6124116.
2023-06-09 15:54:33 +09:00
Salman Ahmed
df874b9ae8 Fix beatmap panel background looking different than usual 2023-06-09 09:16:10 +03:00
Dan Balasescu
3c51b5a53a
Merge pull request #23809 from peppy/crop-texture-uploads-song-select
Greatly improve song select performance by cropping beatmap backgrounds before display
2023-06-09 15:04:57 +09:00
Dean Herbert
1ab3b43b59 Fix weird right-toolbox distance snapping display in osu!catch editor 2023-06-09 14:36:17 +09:00
Dan Balasescu
67562a3856 Catch errors during score parsing 2023-06-09 14:35:29 +09:00
Joseph Madamba
85fedbd025
Add tooltips to truncated text 2023-06-08 19:44:07 -07:00
Joseph Madamba
519923e843
Remove redundant EllipsisString assign 2023-06-08 19:43:52 -07:00
Bartłomiej Dach
4b3b22f046
Merge branch 'master' into beat-divisor-better-defaults 2023-06-08 20:35:03 +02:00
Bartłomiej Dach
b66d1aa33d
Fix code quality inspection 2023-06-08 20:32:16 +02:00
Dean Herbert
46dc47b0b4 Update framework 2023-06-09 01:22:29 +09:00
Bartłomiej Dach
05bd912a21
Revert internal access modifier application
Unfortunately breaks a few classes (which is fixable), and also breaks
Moq/Castle dynamic proxies (which is unfortunate).

Relevant error:

    System.TypeLoadException : Method 'GetPanelBackground' in type 'Castle.Proxies.IWorkingBeatmapProxy' from assembly 'DynamicProxyGenAssembly2, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation.
    Stack Trace:
        at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock()
        at System.Reflection.Emit.TypeBuilder.CreateTypeInfo()
        at Castle.DynamicProxy.Generators.Emitters.AbstractTypeEmitter.BuildType()
        at Castle.DynamicProxy.Generators.BaseInterfaceProxyGenerator.GenerateType(String typeName, INamingScope namingScope)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.<>c__DisplayClass13_0.<GetProxyType>b__0(CacheKey cacheKey)
        at Castle.Core.Internal.SynchronizedDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
        at Castle.DynamicProxy.Generators.BaseProxyGenerator.GetProxyType()
        at Castle.DynamicProxy.DefaultProxyBuilder.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyTypeWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options)
        at Castle.DynamicProxy.ProxyGenerator.CreateInterfaceProxyWithoutTarget(Type interfaceToProxy, Type[] additionalInterfacesToProxy, ProxyGenerationOptions options, IInterceptor[] interceptors)
        at Moq.CastleProxyFactory.CreateProxy(Type mockType, IInterceptor interceptor, Type[] interfaces, Object[] arguments) in C:\projects\moq4\src\Moq\Interception\CastleProxyFactory.cs:line 50

In theory it would be possible to fix this via application of

    [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]

onto the `osu.Game` assembly, but I think this would be bad precedent.
2023-06-08 15:23:09 +02:00
Dan Balasescu
76df11c398 Don't scale stable scores with the classic scoring mode 2023-06-08 21:38:10 +09:00
Dan Balasescu
facf7de053 Parse ScoreInfo.IsLegacyScore from replays 2023-06-08 21:38:10 +09:00
Bartłomiej Dach
6dbf02454f
Fix bad math 2023-06-08 14:19:34 +02:00
Dean Herbert
cccc06de48 Fix potential failure if beatmap background isn't tall enough 2023-06-08 21:10:40 +09:00
Dean Herbert
ff4d376c84 Mark relevant components as internal 2023-06-08 21:01:05 +09:00
Bartłomiej Dach
e6503c24c8
Merge branch 'master' into crop-texture-uploads-song-select 2023-06-08 12:24:16 +02:00
Bartłomiej Dach
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Dean Herbert
10c43d2273 Reduce delays and fades for carousel panels to improve song select initial display performance
Entering song select has seen a hit since the new renderer
implementations. The underlying cause is large numbers of vertex buffer
uploads (the counter hits >200k for me during the transition).

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

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

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

You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Bartłomiej Dach
5162f5c3d8
Fix code quality inspections 2023-06-08 09:20:43 +02:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00