1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 07:12:55 +08:00
Commit Graph

41668 Commits

Author SHA1 Message Date
Bartłomiej Dach
dbd4f26436
Use alternative method of scheduling storyboard unload 2023-11-16 15:37:53 +09:00
Dean Herbert
b45872d2e0
Merge branch 'master' into argon-hide-counter-labels 2023-11-16 14:20:13 +09:00
Dean Herbert
73eda6c09c
Move non-matching default value to argon skin default speficiation instead 2023-11-16 14:18:49 +09:00
Dean Herbert
39a3313929
Update tooltip description slightly 2023-11-16 14:11:01 +09:00
Joseph Madamba
dc2d574965 Fix comment markdown image not showing tooltips 2023-11-15 19:50:32 -08:00
Joseph Madamba
2b19cf6ce4 Fix comment markdown style regression 2023-11-15 19:50:32 -08:00
Poyo
a73c870712 Allow GameplayRate to be nullable and assert before use 2023-11-15 17:00:35 -08:00
Dean Herbert
7f90db7603
Merge pull request #25472 from bdach/argon-health-folding-in-on-self
Fix argon health bar folding in on itself when too narrow
2023-11-15 19:02:30 +09:00
Dean Herbert
2987c0e802
Add note about enfocing size methodology 2023-11-15 19:01:52 +09:00
Dean Herbert
189fca2eb6
Merge pull request #25339 from joshika39/change-clickable-avatars-tooltip-for-usergrid
Add `UserGridPanel` as the `ClickableAvatar` tooltip
2023-11-15 18:01:24 +09:00
Joseph Madamba
7b987266d5
Change behavior of some clickable avatars in line with web 2023-11-15 17:22:36 +09:00
Joshua Hegedus
deef8998f7
reverted the change 2023-11-15 17:22:36 +09:00
Joshua Hegedus
aa9deecafe
added missing comment, fixed incorrect visibility 2023-11-15 17:22:36 +09:00
cs
520642975b Fix control point hover text and context menu 2023-11-15 07:45:09 +01:00
Bartłomiej Dach
8cd1f08a92
Fix argon health bar folding in on itself 2023-11-15 15:42:45 +09:00
Joseph Madamba
62352ce5f3 Add ability to toggle labels on argon counter components 2023-11-14 20:46:42 -08:00
Joseph Madamba
87ace7565d Use existing localisation for argon counter component labels 2023-11-14 20:44:33 -08:00
Bartłomiej Dach
159cf41f82
Fix default argon health bar width being zero
Closes #25460.
2023-11-15 12:53:09 +09:00
Dean Herbert
2264e1e249
Change default value and range of BoxElement's corner radius to match other usages 2023-11-15 10:45:01 +09:00
Dean Herbert
74fb1b5f81
Rename property to match expctations 2023-11-15 10:40:59 +09:00
Joseph Madamba
535282ba7d Use existing localisation for corner radius in BoxElement 2023-11-14 14:13:20 -08:00
Poyo
f5e1734de9 Use soft-cast to access IGameplayClock 2023-11-14 13:51:55 -08:00
Bartłomiej Dach
711bf14c06
Merge pull request #25443 from peppy/fix-argon-custom-skins
Fix customised argon skins no longer loading due to incorrect resource store specification
2023-11-14 23:11:39 +09:00
Dean Herbert
9a7d7dda2a
Update resources 2023-11-14 23:04:11 +09:00
Dean Herbert
a745642f76
Fix customised argon skins no longer loading due to incorrect resource store spec 2023-11-14 22:01:56 +09:00
Bartłomiej Dach
83f8f03c7e
Fix argon health bar not relative sizing correctly 2023-11-14 21:54:06 +09:00
Bartłomiej Dach
70d2de5669
Move song select touch detector to solo implementation
It should not run in multiplayer. Even if we wanted to allow touch-only
playlist items at some point, the current behaviour of multiplayer song
selects with respect to touch device mod is currently just broken.
2023-11-14 16:35:16 +09:00
Bartłomiej Dach
69c2c0e427
Fix touch device mod declared valid for multiplayer
Mostly matters for web, so that it doesn't permit creation of playlist
items with touch device inside.
2023-11-14 16:30:10 +09:00
Dan Balasescu
e3137d575b
Fix osu! and base HP processor break time implementation 2023-11-14 01:11:17 +09:00
cs
fa976a5aa0 Fix code style/quality issues 2023-11-13 08:25:27 +01:00
Dean Herbert
8ad8764947
Update framework 2023-11-13 14:06:18 +09:00
Dan Balasescu
98e6b7744b
Cleanup 2023-11-13 13:46:47 +09:00
Poyo
f794d4dc83 Allow gameplayClock to be null 2023-11-12 13:29:40 -08:00
Poyo
e67725f5d6 Use IGameplayClock for rate 2023-11-12 12:14:19 -08:00
Givikap120
26d493986c Fixed precision and updated AdvancedStats 2023-11-12 18:05:18 +02:00
ratinfx
fab6fc9adb Updated comments, renamed method 2023-11-12 15:09:15 +01:00
Bartłomiej Dach
bb2f38d189
Merge pull request #25411 from peppy/fix-key-counter-sizing-woes
Refactor `KeyCounterDisplay` to use autosize
2023-11-12 20:47:55 +09:00
Dean Herbert
469b9e2546
Increase size and adjust positioning of max combo display in argon skin 2023-11-12 17:28:15 +09:00
Dean Herbert
798e677c09
Refactor KeyCounterDisplay to use autosize
A previous attempt at this was unsuccessful due to a partially
off-screen elements not getting the correct size early enough (see
https://github.com/ppy/osu/issues/14793). This can be accounted for by
setting `AlwaysPresent` when visibility is expected.

This fixes [test failures](https://github.com/ppy/osu/actions/runs/6838444698/job/18595535795)
due to the newly added `Width` / `Height` being persisted with
floating-point errors (by not persisting the values in the first place,
via `AutoSize.Both`).
2023-11-12 17:19:25 +09:00
Dean Herbert
4df1eb1b37
Refactor logic and tooltip formatting 2023-11-12 16:19:55 +09:00
Dean Herbert
6bd5eda2a0
Merge branch 'master' into arod_rate_adjust 2023-11-12 15:49:07 +09:00
ratinfx
c367697559 Changed TIME_REGEX to accept everything in the parentheses
- changed osu-web link to the current value
2023-11-11 16:14:26 +01:00
cs
54b8244a18 CI Fixup 2023-11-11 15:02:06 +01:00
Dean Herbert
04a16b3596
Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-11 22:38:39 +09:00
ratinfx
4e1e19728c Refactor HitObject selection in Composer 2023-11-11 14:02:42 +01:00
cs
3f85aa79c5 Add free-hand drawing of sliders to the editor 2023-11-11 13:33:25 +01:00
Thomas Müller-Höhne
926636cc03 Generalize Bezier curves to BSplines of Nth degree 2023-11-11 13:32:53 +01:00
Bartłomiej Dach
ea556abad8
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters 2023-11-11 21:28:29 +09:00
Bartłomiej Dach
50789d2e18
Fix song progress bars not sizing vertically properly 2023-11-11 21:28:04 +09:00
Bartłomiej Dach
870e4ce27e
Fix argon health display not handling invalidation correctly 2023-11-11 20:42:45 +09:00
Dean Herbert
b0aa4a4257
Add "export" item to skin editor menu 2023-11-11 20:34:35 +09:00
Bartłomiej Dach
b7972e3c84
Merge branch 'skin-size-editing' into gameplay-hud-redesign/counters 2023-11-11 20:16:14 +09:00
Dean Herbert
ed59a379f1
Merge pull request #25407 from peppy/update-framework
Update framework
2023-11-11 20:15:07 +09:00
Bartłomiej Dach
8d7539ab70
Merge branch 'master' into skin-size-editing 2023-11-11 19:56:09 +09:00
Dean Herbert
61d336521d
Update framework 2023-11-11 19:48:56 +09:00
Bartłomiej Dach
2428a97d44
Fix editor not clearing undo history on skin change 2023-11-11 18:49:44 +09:00
Poyo
064857c40b Calculate unstable rate using rate-adjusted offsets 2023-11-10 19:57:44 -08:00
Salman Ahmed
96da7a07bb Add detailed explaination on existence of ScheduleUntilTransitionEnd 2023-11-11 02:57:29 +03:00
Salman Ahmed
bb912bc616 Avoid spinning another load thread on initial storyboard load 2023-11-11 02:57:17 +03:00
Salman Ahmed
080f13e34d Schedule outside of UnloadStoryboard and fix disposal happening on update thread 2023-11-11 02:56:45 +03:00
Givikap120
60c3e7250b fixed naming incconvinence 2023-11-10 15:13:40 +02:00
Givikap120
d0d334a371 Update Ruleset.cs 2023-11-10 15:05:26 +02:00
Givikap120
9ef34fa51a FIxed stated problems 2023-11-10 15:02:15 +02:00
Dean Herbert
57cd5194ce
Flip comparison to allow non-composite drawables to still get resized 2023-11-10 20:00:20 +09:00
Bartłomiej Dach
b7acbde719
Only store width/height of serialised drawable if it isn't automatically computed 2023-11-10 19:12:26 +09:00
Dan Balasescu
fecc6f580b
Add legacy reference health processor 2023-11-10 18:40:21 +09:00
Bartłomiej Dach
fbf94214a5
Fully delegate tooltip show/hide logic 2023-11-10 18:36:09 +09:00
Bartłomiej Dach
26eae0bdee
Remove unused using directive 2023-11-10 18:25:39 +09:00
Bartłomiej Dach
43a4b34295
Fix typo 2023-11-10 18:20:14 +09:00
Bartłomiej Dach
c522a703eb
Merge branch 'master' into skin-size-editing 2023-11-10 18:19:27 +09:00
Bartłomiej Dach
374e13b496
Remove argon health display bar length setting
It is no longer needed.

Intentionally not doing backwards migration to simplify things; users
can fix their skins.
2023-11-10 18:18:58 +09:00
Bartłomiej Dach
2c1f304f3b
Fix test failures due to fluctuations in needlessly-serialised automatic sizings 2023-11-10 18:13:36 +09:00
Dean Herbert
1c63f1f89d
Merge pull request #25348 from bdach/less-basic-touchscreen-detection
Implement basic touchscreen detection
2023-11-10 18:01:40 +09:00
Bartłomiej Dach
36d0bae42d
Restore mention of dependency on another ctor param 2023-11-10 17:57:16 +09:00
Dean Herbert
35e11c7c63
Rename diagonal scale variable and update xmldoc 2023-11-10 17:55:02 +09:00
Dean Herbert
f25489cc7b
Check X/Y sizing available separately to fix weird edge cases 2023-11-10 17:54:43 +09:00
Dean Herbert
46a219e010
Add comment explaining AutoSize change in LegacySongProgress 2023-11-10 17:53:52 +09:00
Dean Herbert
a02aeed50a
Adjust combo animation slightly 2023-11-10 16:53:16 +09:00
Dean Herbert
67312a2db9
Remove ArgonScoreWedge and use ArgonWedgePiece directly 2023-11-10 16:53:16 +09:00
Dean Herbert
b4ec62473e
Remove width/height bindables from ArgonWedgePiece 2023-11-10 16:53:15 +09:00
Dean Herbert
7c4e9506da
Merge pull request #25399 from Susko3/mobile-touch-settings
Show touch input settings on mobile
2023-11-10 16:25:01 +09:00
Dean Herbert
7db14baed7
Update resources 2023-11-10 16:20:05 +09:00
Dean Herbert
60df2722ab
Rename RoundedLine to BoxElement and make more generically useful 2023-11-10 16:20:05 +09:00
Dean Herbert
4f90ac15fa
Reduce the default wireframe opacity a bit 2023-11-10 15:53:05 +09:00
Dean Herbert
7e0b41219c
Change animation to only affect number portion, add miss animation 2023-11-10 15:53:05 +09:00
Dean Herbert
e861681cd4
Adjust argon rolling easings 2023-11-10 15:53:05 +09:00
Dean Herbert
7c3a626f4b
Add basic animation for combo counter 2023-11-10 15:53:05 +09:00
Dean Herbert
6c1d48dfaf
Remove unused function 2023-11-10 15:53:05 +09:00
Dean Herbert
99d9db5b76
Use a better default size for line 2023-11-10 15:53:05 +09:00
Dean Herbert
f31c1c9c79
Rename and move skinnable line component to a more commomn place 2023-11-10 15:53:05 +09:00
Dean Herbert
175dae49c6
Reset scale per axis 2023-11-10 14:43:51 +09:00
Dean Herbert
0add035c67
Disable resizing of LegacySongProgress
Because it looks bad.
2023-11-10 14:31:02 +09:00
Dean Herbert
fb361a4e0a
Reset size along with scale for relative items 2023-11-10 14:25:55 +09:00
Dean Herbert
ec3b6e47fb
Change selection handling to adjust Size instead of Scale for edge nodes 2023-11-10 14:22:28 +09:00
Dean Herbert
b0c5b3cb10
Add Size to serialised components of a SerialisedDrawableInfo 2023-11-10 14:22:20 +09:00
Dean Herbert
7fc2050f72
Rename variables and mak seconary tooltip type work again 2023-11-10 11:52:34 +09:00
Salman Ahmed
d3af3c615f Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-10 01:04:03 +03:00
Salman Ahmed
6f5d905ce7 Update argon accuracy counter design 2023-11-10 01:02:05 +03:00
Salman Ahmed
59998b507a Hide background sprite when storyboard finishes loading 2023-11-09 23:23:57 +03:00
Salman Ahmed
e947158969 Remove fade out transition
Unnecessary addition from this PR, makes the background fade to ugly black during transition between screens.
2023-11-09 23:03:30 +03:00
Salman Ahmed
768a31b2f5 Fix background crash on a beatmap with no storyboard 2023-11-09 22:57:20 +03:00
Salman Ahmed
bd8409219f Unload beatmap storyboard background when no longer present 2023-11-09 17:20:11 +03:00
Susko3
1b08f317fb Show touch input settings on iOS
This does not cover android since `TouchHandler` is SDL-based.
2023-11-09 15:12:24 +01:00
Susko3
0c4c9aa4b5 Show touch taps setting in player loader on mobile platforms 2023-11-09 14:52:33 +01:00
Susko3
51cf85a9ab Add touch input settings to android
Also updates touch settings so the touch handler can't be disabled on mobile.
2023-11-09 14:52:15 +01:00
Dean Herbert
615d8384ab
Refactor everythign back to sanity 2023-11-09 22:31:28 +09:00
Joshua Hegedus
4900a91c60
fixed static analysis problems and finished the implementation 2023-11-09 13:27:09 +01:00
Joshua Hegedus
ccb9ff826a
fixed tests 2023-11-09 13:09:59 +01:00
Dean Herbert
92043f45a4
Merge branch 'master' into slider-combo-matching-2 2023-11-09 18:45:37 +09:00
Dean Herbert
02966bc02f
Merge branch 'master' into change-clickable-avatars-tooltip-for-usergrid 2023-11-09 18:19:23 +09:00
Dean Herbert
67dc3aa5b7
Merge pull request #25366 from Susko3/better-touch-settings
Add "disable taps during gameplay" to touch input settings and related UI
2023-11-09 18:19:02 +09:00
Dean Herbert
e3e752b912
Update resources 2023-11-09 17:56:58 +09:00
Bartłomiej Dach
63a0ea5410
Fix PlayerTouchInputDetector applying touch device mod when other inactive mods present 2023-11-09 17:51:01 +09:00
Bartłomiej Dach
13b599b9b6
Merge branch 'master' into less-basic-touchscreen-detection 2023-11-09 17:36:48 +09:00
Jamie Taylor
8a47f05b16
Always play 'swoosh' sample when transitioning back to logo 2023-11-09 14:01:33 +09:00
Jamie Taylor
f69c2ea39b
Implement sample choking/muting for ButtonSystem samples 2023-11-08 22:21:24 +09:00
Jamie Taylor
f0a1df06ac
Add 'swoosh' samples to accentuate MainMenu animations 2023-11-08 22:21:24 +09:00
Jamie Taylor
17aa079cb1
Use new tiered 'back' samples 2023-11-08 22:21:24 +09:00
Jamie Taylor
fc1a0cf645
Update ButtonSystem to use new sample names 2023-11-08 22:21:24 +09:00
Dean Herbert
5ac285ed2f
Merge pull request #25380 from frenzibyte/fix-create-difficulty-crash
Fix editor crash when creating a new difficulty in a non-existent beatmap
2023-11-08 18:56:00 +09:00
Dean Herbert
626cfae3fe
Merge pull request #25386 from EVAST9919/bar-graph-smooth
Ensure `BarGraph`'s draw quad is thick enough
2023-11-08 17:24:37 +09:00
Dean Herbert
6c6baab115
Reword comment to explain why 2023-11-08 16:41:30 +09:00
Joseph Madamba
c8d276281a Fix flags not showing on kudosu rankings
The `country` attribute is optional and not included in the kudosu rankings response so use `country_code` instead.
2023-11-07 16:09:48 -08:00
Joseph Madamba
387de7ec24 Add ability to view kudosu rankings 2023-11-07 15:58:17 -08:00
Salman Ahmed
2ef17c56b1 Remove unused local 2023-11-08 02:13:35 +03:00
Salman Ahmed
18c71c95cc Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-08 02:12:37 +03:00
Salman Ahmed
07b7e13633 Place health display in front of the score wedge 2023-11-08 02:07:24 +03:00
Salman Ahmed
4de5454538 Bring back left-side line next to health display
Makes the score counter not look weird when it reaches 8 digits
2023-11-08 02:07:15 +03:00
Salman Ahmed
fdc714a248 Support percentages and ignore dot characters in wireframes part 2023-11-08 02:06:14 +03:00
Salman Ahmed
d30bac3f49 Move "required display digits" feature to reside in argon score counter 2023-11-08 02:06:14 +03:00
Salman Ahmed
e6d3085353 Update accuracy counter design 2023-11-08 02:06:14 +03:00
Salman Ahmed
cbea2db4be Support absolute-sized health bar and use it for default layout 2023-11-08 02:06:14 +03:00
Andrei Zavatski
b092b0093a Make sure bar draw quad is thick enough 2023-11-07 17:43:40 +03:00
Dean Herbert
c00a1d948a
Merge branch 'master' into better-touch-settings 2023-11-07 23:21:59 +09:00
Dean Herbert
3e257f1e6c
Remove unused using statements 2023-11-07 23:21:51 +09:00
Susko3
fcd73e62d2 Remove mobile specific changes
Will be added back in a separate PR
2023-11-07 13:06:14 +01:00
ratinfx
544d5d1d86 Forgot a clock.Stop call 2023-11-07 12:23:22 +01:00
ratinfx
bdbeb2bce4 Renamed CollectionChanged event handler 2023-11-07 11:11:32 +01:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
ratinfx
44f127c8a8 Renamed method and made private 2023-11-07 01:02:45 +01:00
ratinfx
0834b79cc7 Renamed method and moved Notifications inside 2023-11-07 00:56:24 +01:00
Susko3
7385c3c97b Move InputSettings children creation code to BDL
- Avoids now obsolete variable name
- Makes changing to touch detection easier (access to session statics in BDL)
2023-11-07 00:17:15 +01:00
Susko3
05d9418718 Rename setting to TouchDisableGameplayTaps for better visibility when searching 2023-11-07 00:13:46 +01:00
Salman Ahmed
0dbba13686 Split argon score sprite text and update combo counter design 2023-11-07 01:59:36 +03:00
Salman Ahmed
7c1c62ba8a Remove argon combo wedge and update combo counter position 2023-11-07 01:59:36 +03:00
Salman Ahmed
ce36884ef0 Make score wireframes display up to required digits count 2023-11-07 01:59:36 +03:00
Salman Ahmed
4c7db4c262 Make score counter right-aligned 2023-11-07 01:59:36 +03:00
Salman Ahmed
754e05213c Update argon score wedge design 2023-11-07 01:59:36 +03:00
Salman Ahmed
01e59d134a Adjust health bar settings on default components initialiser to match new layout 2023-11-07 01:59:36 +03:00
Susko3
a4ac50cf86 Revert "Rename popup/binding string to Toggle gameplay clicks/taps"
This reverts commit 0d8bfedf5d.
2023-11-06 21:10:04 +01:00
Dean Herbert
ed02335e3e
Merge pull request #25377 from bdach/system-mod-better-colours 2023-11-07 05:08:47 +09:00
Susko3
f8b5ecc92a Update UI to use the new setting 2023-11-06 21:07:15 +01:00
Susko3
ea357bafdd Fix tests by using the correct setting for touch input 2023-11-06 20:53:22 +01:00
Susko3
d6e7145e1c Add new setting for GameplayDisableTaps 2023-11-06 20:42:40 +01:00
Salman Ahmed
b2749943e2 Display "required save" popup when creating another difficulty on a new beatmap 2023-11-06 21:54:40 +03:00
Bartłomiej Dach
a136f272cf
Just use yellow for system mods 2023-11-06 16:40:57 +01:00
Joshua Hegedus
f897c21b3f
partial change 2023-11-06 15:25:12 +01:00
Joshua Hegedus
a01f6187f4
testing the tooltip 2023-11-06 14:52:06 +01:00
Bartłomiej Dach
4bc36a6c90
Fix unused variable 2023-11-06 12:18:02 +01:00
Joshua Hegedus
034f53da4b
added isEnabled to tooltip 2023-11-06 11:54:57 +01:00
Bartłomiej Dach
39ad91feea
Make debug input toggle post notifications 2023-11-06 11:50:04 +01:00
Bartłomiej Dach
6deac9a5a4
Use better colours for system mods 2023-11-06 11:41:23 +01:00
Dean Herbert
51c891e2e4
Automatically refresh the verify screen's issue list on re-entering it
Addresses https://github.com/ppy/osu/discussions/25365.
2023-11-06 19:34:36 +09:00
Bartłomiej Dach
682668ccf0
Remove touch device toasts entirely 2023-11-06 10:54:32 +01:00
Bartłomiej Dach
204cd541e2
Use placeholder mod icon for touch device 2023-11-06 10:14:56 +01:00
Bartłomiej Dach
97fee6143c
Rename touch "input handlers" to detectors 2023-11-06 10:08:19 +01:00
Bartłomiej Dach
408ae84111
Merge pull request #25375 from peppy/reset-rotation-skin-editor
Add skin editor dropdown items to reset rotation and scale
2023-11-06 09:38:48 +01:00
Bartłomiej Dach
41cd9a4db6
Merge pull request #25374 from peppy/add-skinnable-player-name
Add player name skin component
2023-11-06 09:34:11 +01:00
Joshua Hegedus
4a70f2435c
fixed showUsernameTooltip 2023-11-06 09:22:50 +01:00
Joshua Hegedus
b45d8c785c
fixed review findings 2023-11-06 08:38:34 +01:00
Dean Herbert
0915ac8891
Use left aligned text for non-rotate key counter 2023-11-06 16:32:12 +09:00
Dean Herbert
1f0b914251
Add skin editor dropdown items to reset rotation and scale 2023-11-06 16:18:33 +09:00
Dean Herbert
40d081ee2d
Add note about Width requirement in UserGridPanel 2023-11-06 16:05:50 +09:00
Bartłomiej Dach
7ba07ab530
Add protections against handling system mods in mod presets 2023-11-06 08:05:42 +01:00
Bartłomiej Dach
3c72c5bccd
Steer touch input flag via bindable rather than config manager 2023-11-06 07:48:09 +01:00
Bartłomiej Dach
11bd801795
Use more intelligent default for TouchInputActive 2023-11-06 07:44:25 +01:00
Dean Herbert
e2b07628fb
Add player name skin component
3 minute implementation.

Addresses https://github.com/ppy/osu/discussions/25340.
2023-11-06 15:24:16 +09:00
ratinfx
277cf7dc12 Ensure every SelectedItem is alive and has Blueprint 2023-11-05 18:26:51 +01:00
Susko3
9947897c5f Use appropriate clicks/taps text in player loader input settings 2023-11-05 12:53:40 +01:00
Susko3
0d8bfedf5d Rename popup/binding string to Toggle gameplay clicks/taps 2023-11-05 12:44:22 +01:00
Susko3
fa1d1df594 Rename mouse button string to Disable clicks during gameplay 2023-11-05 12:43:14 +01:00
Susko3
86fb33cb90 Add disable taps checkbox to touch input settings 2023-11-05 12:40:06 +01:00
Salman Ahmed
1d4f4cf4c3 Merge branch 'master' into gameplay-hud-redesign/counters 2023-11-05 02:02:36 +03:00
Salman Ahmed
6c3169a0ed Remove PP wedge and logic for gameplay layout 2023-11-05 01:56:54 +03:00
Salman Ahmed
a23dfbeab5 Revert "Abstractify PP counter logic from the "Triangles" implementation"
This reverts commit daf4a03fd0.
2023-11-05 01:55:54 +03:00
Salman Ahmed
58a830fc5b Revert "Add "Argon" performance points counter"
This reverts commit 56eeb117ce.
2023-11-05 01:55:54 +03:00
Salman Ahmed
1c844a155e Remove health line detail 2023-11-05 01:55:54 +03:00
Salman Ahmed
91cf237fc1 Revert health display settings changes 2023-11-05 01:55:54 +03:00
ratinfx
7492d953ae Moved error checks into Editor
- Invoke Action on error to Notify user
- added some comments
2023-11-04 21:17:58 +01:00
Givikap120
d0b2b4f7b9 Update AdvancedStats.cs 2023-11-04 21:57:42 +02:00
Givikap120
820519c37d improved tooltip 2023-11-04 21:55:46 +02:00
Joshua Hegedus
ec290ae953
added tests 2023-11-04 19:03:23 +01:00
Joshua Hegedus
a70bfca501
added usergrid for tooltip 2023-11-04 17:57:37 +01:00
Givikap120
440d57fb48 Basic rate-adjust tooltip 2023-11-04 17:47:02 +02:00
Givikap120
57170501cd Improve code quality 2023-11-04 17:25:09 +02:00
ratinfx
60f62faec3 Renamed Editor method 2023-11-04 03:30:38 +01:00
ratinfx
f854e78bb0 Added ExclamationTriangle Icon to notifications 2023-11-04 03:29:05 +01:00
ratinfx
43ab7f4942 Added OpenEditorTimestamp base implementation 2023-11-04 02:01:18 +01:00
Joseph Madamba
16731ff85f
Fix text positioning 2023-11-02 20:42:28 -07:00
Joseph Madamba
b3dfe19472
Fix UprightAspectMaintainingContainer not being centred 2023-11-02 20:42:28 -07:00
Joseph Madamba
090601b485
Apply peppy's upright key counter attempt diff
Co-Authored-By: Dean Herbert <pe@ppy.sh>
2023-11-02 20:42:23 -07:00
Bartłomiej Dach
a78fab0e7d
Do not hardcode ruleset name in touch device detection toast 2023-11-03 00:17:29 +01:00
Bartłomiej Dach
a613292802
Fix unknown mod test failure 2023-11-02 23:44:40 +01:00
Bartłomiej Dach
8e9006b5d5
Declare Touch Device incompatible with Autopilot
With Autopilot active, Touch Device no longer matters.
2023-11-02 22:57:05 +01:00
Bartłomiej Dach
0dd0a84312
Move player touch handler to SubmittingPlayer
Shouldn't be there in `ReplayPlayer`.
2023-11-02 22:56:43 +01:00
Bartłomiej Dach
8784dd42c0
Do not attempt to turn on Touch Device in song select with autoplay active 2023-11-02 22:56:43 +01:00
Bartłomiej Dach
3a6d65d395
Touch up PlayerTouchInputHandler 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
4532d0ecdf
Add logging & debug facility for touch input interceptor 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
c588f434e5
Fix song select touch handler causing crashes when song select is suspended 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
ef555ed0cf
Fix test failures 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
f2df02b60f
Automatically activate touch device mod in player 2023-11-02 21:24:58 +01:00
Bartłomiej Dach
2f6ff893b5
Automatically activate and deactivate touch device mod in song select 2023-11-02 19:45:48 +01:00
Bartłomiej Dach
980c900f43
Add component for game-wide touch detection 2023-11-02 19:32:56 +01:00
Bartłomiej Dach
68efb3c110
Mark ModTouchDevice as always valid for submission 2023-11-02 19:25:57 +01:00
Bartłomiej Dach
9f11a04cc7
Generalise notion of 'touch device' mod 2023-11-02 19:14:05 +01:00
Dean Herbert
818432fab4
Fix non-classic osu! combo not matching expectations 2023-11-02 19:27:55 +09:00
Dean Herbert
57d8b5ddc9
Merge pull request #25328 from bdach/mod-cleanups-docs
Clean up mod usability flags
2023-11-01 15:48:47 +09:00
Bartłomiej Dach
a90f8dd4f6
Seal a few more multiplayer playability flags of rate-changing mods
Not really changing anything, just tightening things down to curb
possible funny business.
2023-10-31 16:20:33 +01:00
Bartłomiej Dach
955e2ed051
Seal UnknownMod
Not a class for extension.
2023-10-31 16:18:09 +01:00
Bartłomiej Dach
a644c75957
Mark ModScoreV2 as invalid for multiplayer
Doesn't do much for the client; mostly a safety for osu-web's sake,
as without the change it could theoretically fail to validate the mod
properly in multiplayer contexts.
2023-10-31 16:16:59 +01:00
Bartłomiej Dach
456f4ebba2
Seal ModScoreV2
Nobody should ever need to extend it.
2023-10-31 16:16:14 +01:00
Bartłomiej Dach
3a2645efb1
Seal ModAutoplay playability flags
Can't do much more than that due to the unfortunate fact of Cinema
inheriting from Autoplay.
2023-10-31 16:15:10 +01:00
Bartłomiej Dach
7ea298a1b6
Add xmldoc to Mod playability flags 2023-10-31 16:13:44 +01:00
Bartłomiej Dach
9f5a280bc2
Fix key binding row fire-and-forgetting writes
Intends to fix test failures as seen in https://github.com/ppy/osu/actions/runs/6692350567/job/18181352642#step:5:129

This is what happens if you carelessly fire and forget.

The working theory (that I'm not sure I have the tools to conclusively
confirm) is that the async write from the key binding changing could
fire _after_ the section is reset.

I briefly considered having the test wait for the change, but given that
the entirety of the surrounding flow is using sync operations, this just
looks like a bug to me. And there's no real sane way to inject async
into that flow due to dependence on `OsuButton.Action`.
2023-10-31 12:25:09 +01:00
Bartłomiej Dach
bc2acc3e93
Merge pull request #25318 from peppy/fix-follow-point-scrathces
Fix potential texture corruption when cropping gameplay textures of weird aspect ratios
2023-10-31 11:02:59 +01:00
Bartłomiej Dach
850866e7f4
Merge pull request #25316 from peppy/metronome-always-play-tick
Decouple metronome tick playback from pendulum movement
2023-10-31 09:37:29 +01:00
Dean Herbert
0d44b5af90
Fix potential texture corruption when cropping gameplay textures of weird aspet ratios
Closes https://github.com/ppy/osu/issues/25273.
2023-10-31 17:36:23 +09:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes 2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click 2023-10-31 08:36:53 +01:00
Dean Herbert
64efc3d251
Decouple metronome tick playback from pendulum movement
Not super happy about doing this, but it seems like it's in the best
interest of editor usability.
2023-10-31 15:33:46 +09:00
Dean Herbert
7ceced7012
Scope TestPauseWithLargeOffset to focus on what matters
See https://github.com/ppy/osu/actions/runs/6693917410/job/18186111009

This test is to make sure we don't seek before the original
pause time, so I've exposed that value precisely to avoid
CI woes.
2023-10-31 14:47:04 +09:00
Dean Herbert
3060cf1438
Merge pull request #25286 from frenzibyte/search-text-box-select-all
Automatically select existing search text when opening settings
2023-10-31 12:14:00 +09:00
Bartłomiej Dach
88e10dd051
Update framework 2023-10-30 20:19:52 +01:00
Dean Herbert
f706fd2fca
Merge pull request #25307 from bdach/slider-velocity-undo
Fix slider velocity changes not being undone correctly
2023-10-31 01:44:18 +09:00
Bartłomiej Dach
b2d3aa982d
Merge branch 'master' into fix-click-through-timeline 2023-10-30 12:52:00 +01:00
Bartłomiej Dach
cea24298cb
Privatise setters 2023-10-30 12:42:34 +01:00
Bartłomiej Dach
de89b7e53c
Fix slider velocity changes not being undone correctly
Closes https://github.com/ppy/osu/issues/25239.

`LegacyEditorBeatmapPatcher.processHitObjectLocalData()` was already
supposed to be handling changes to hitobjects that will show up neither
when comparing the hitobjects themselves or the timing point with
"legacy" info stripped - so, in other words, changes to slider velocity
and samples.

However, a change to slider velocity requires default application to
take effect, so just resetting the value would visually fix the timeline
marker but not change the actual object. Calling
`EditorBeatmap.Update()` fixes this by way of triggering default
re-application.

This could probably be smarter (by only invoking the update when
strictly necessary, etc.) - but I'm not sure it's worth the hassle. This
is intended to be a quick fix, rather than a complete solution - the
complete solution would indeed likely entail a wholesale restructuring
of the editor's change handling.
2023-10-30 10:59:02 +01:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Dean Herbert
8828562512
Merge pull request #25277 from Susko3/fix-cut-in-filter-textbox
Fix cut and copy not working in song select search filter textbox
2023-10-30 18:18:46 +09:00
Bartłomiej Dach
2dc2469507
Merge pull request #25303 from peppy/last-played-import-score-update
Update the last played date of a beatmap when importing a replay by the local user
2023-10-30 10:12:27 +01:00
Dean Herbert
63e6eaf538
Fix failing tests 2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
`SelectionHandler` is receiving input from anywhere out of necessity:

19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)

Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:

19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)

But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.

The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Salman Ahmed
39abb8e408 Only run "select all on focus" behaviour on desktop platforms 2023-10-30 11:54:19 +03:00
Dean Herbert
66fa09ba66
Merge pull request #25287 from frenzibyte/fix-user-profile-support-banners
Update user profile overlay to show more than one tournament banner
2023-10-30 17:32:20 +09:00
Bartłomiej Dach
a000c06900
Merge branch 'master' into last-played-import-score-update 2023-10-30 09:29:07 +01:00
Bartłomiej Dach
19d10e5e45
Merge pull request #25300 from peppy/better-submission-logging
Improve log output surrounding score submission
2023-10-30 09:04:06 +01:00
Dean Herbert
4ae9b40a78
Update resources 2023-10-30 16:35:14 +09:00
Dean Herbert
caddbacfe8
Merge branch 'master' into gameplay-hud-redesign/counters 2023-10-30 16:35:10 +09:00
Dean Herbert
c1c8e2968f
Move operation to after user population 2023-10-30 15:46:09 +09:00
Dean Herbert
96dd7b3333
Update the last played date of a beatmap when importing a replay by the local user 2023-10-30 15:44:16 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
Dean Herbert
a8c3f59845
Clean up type display for web requests in logs 2023-10-30 15:07:35 +09:00
Dean Herbert
d90f29a5ff
Improve log output surrounding score submission 2023-10-30 15:07:26 +09:00
Salman Ahmed
c7bc8e6865 Move behaviour to settings search text box only 2023-10-30 06:41:01 +03:00
Salman Ahmed
984c30ded6 Load each tournament banner as soon as it is loaded 2023-10-30 06:20:15 +03:00
Salman Ahmed
922ad80cfc Update user profile overlay to show more than one tournament banner 2023-10-29 01:50:07 +03:00
Salman Ahmed
ec9ae12bbd Update API response model to accept array of tournament banners 2023-10-29 01:43:49 +03:00
Salman Ahmed
d877536dc0 Select all text content in SearchTextBox on focus 2023-10-29 01:03:38 +03:00
Susko3
366e41f111 Use local workaround instead of disabling clipboard entirely 2023-10-28 12:23:23 +02:00
Salman Ahmed
6526955b09
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 04:46:30 +03:00
Salman Ahmed
bac306879a Minor reword on documentation 2023-10-28 03:18:13 +03:00
Salman Ahmed
dca5716709
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 02:45:23 +03:00
Bartłomiej Dach
9ce2c1f49c
Exclude video events from being accounted for when calculating storyboard time bounds
Closes https://github.com/ppy/osu/issues/25263.

In some circumstances, stable allows skipping twice if a particularly
long storyboarded intro is being displayed:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameModes/Play/Player.cs#L1728-L1736

`AllowDoubleSkip` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1761-L1770

and `leadInTime` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1342-L1351

The key to watch out for here is `{first,last}EventTime`. `EventManager`
will calculate it on-the-fly as it adds storyboard elements:

    3ea48705eb/osu!/GameplayElements/Events/EventManager.cs#L253-L256

However, this pathway is only used for sprite, animation, sample,
and break events. Video and background events use the following pathway:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameplayElements/Events/EventManager.cs#L368

Note that this particular overload does not mutate either bound.
Which means that for the purposes of determining where a storyboard
starts and ends temporally, a video event's start time is essentially
ignored.

To reflect that, add a clause that excludes video events from
calculations of `{Earliest,Latest}EventTime`.
2023-10-27 22:24:17 +02:00
Bartłomiej Dach
99e590c8dd
Fix legacy sprite texts not matching stable with respect to fixed width
stable's `pSpriteText` has a `TextConstantSpacing` flag, that is
selectively enabled for some usages. In particular, these are:

- mania combo counter (not yet implemented)
- taiko combo counter (not yet implemented)
- score counter
- accuracy counter
- scoreboard entries (not yet implemented)

Everything else uses non-fixed-width fonts.

Hilariously, `LegacySpinner` _tried_ to account for this by changing
`Font` to have `fixedWidth: false` specified, only to fail to notice
that `LegacySpriteText` changes `Font` in its BDL, making the property
set do precisely nothing. For this reason, attempting to set `Font`
on a `LegacySpriteText` will now throw.
2023-10-27 20:14:39 +02:00
Bartłomiej Dach
c9cb0561f7
Move maxSizePerGlyph optional ctor param to init-only property
I'm doing this as I'm about to add more similar properties to
`LegacySpriteText` and I don't want to create a twenty-argument
constructor monstrosity.
2023-10-27 19:48:10 +02:00
Dean Herbert
5a9d4170e8
Merge pull request #24794 from bdach/score-encoding-cleanup
Correctly handle multiple online score ID types
2023-10-28 02:29:56 +09:00
Dean Herbert
4ed30342db
Merge pull request #25264 from bdach/quick-retry-f-rank
Fix quick retry immediately after completion marking score as failed
2023-10-28 02:29:21 +09:00
Bartłomiej Dach
35f30d6135
Scale back debug assertion
The import preparation task can actually be non-null when exiting even
if the player hasn't passed:

- fail beatmap
- click import button to import the failed replay
2023-10-27 14:39:58 +02:00
Bartłomiej Dach
5ad962070c
Fix skin editor freezing game if opened during active gameplay 2023-10-27 14:34:30 +02:00
Bartłomiej Dach
dc7f5cd6ed
Add preventive assertions concerning submission flow state 2023-10-27 13:30:51 +02:00
Bartłomiej Dach
2d5b1711f6
Share !HasPassed condition 2023-10-27 13:27:48 +02:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay as no longer needed 2023-10-27 12:39:54 +02:00
Bartłomiej Dach
86a8ab6db6
Fix quick retry immediately after completion marking score as failed
Closes https://github.com/ppy/osu/issues/25247.

The scenario involved here is as follows:

1. User completes beatmap by hitting all notes.
2. `checkScoreCompleted()` determines completion, and calls
   `progressToResults(withDelay: true)`.
3. `progressToResults()` schedules `resultsDisplayDelegate`, which
   includes a call to `prepareAndImportScoreAsync()`, a second in the
   future.
4. User presses quick retry hotkey.
   This calls `Player.Restart(quickRestart: true)`,
   which invokes `Player.RestartRequested`,
   which in turn calls `PlayerLoader.restartRequested(true)`,
   which in turn causes `PlayerLoader` to make itself current,
   which means that `Player.OnExiting()` will get called.
5. `Player.OnExiting()` sees that `prepareScoreForDisplayTask` is null
   (because `prepareAndImportScoreAsync()` - which sets it -
   is scheduled to happen in the future), and as such assumes that
   the score did not complete. Thus, it marks the score as failed.
6. `Player.Restart()` after invoking `RestartRequested` calls
   `PerformExit(false)`, which then will unconditionally call
   `prepareAndImportScoreAsync()`. But the score has already been marked
   as failed.

The flow above can be described as "convoluted", but I'm not sure I have
it in me right now to try and refactor it again. Therefore, to fix,
switch the `prepareScoreForDisplayTask` null check in
`Player.OnExiting()` to check `GameplayState.HasPassed` instead, as it
is not susceptible to the same out-of-order read issue.
2023-10-27 12:17:03 +02:00
Dean Herbert
f931f4c324
Remove reundant interface specification 2023-10-27 18:19:44 +09:00
Dean Herbert
fc25e24397
Merge branch 'master' into score-encoding-cleanup 2023-10-27 18:03:38 +09:00
Bartłomiej Dach
fdb81bfa4c
Rename methods to not mention "source clock" anymore 2023-10-26 19:38:52 +02:00
Bartłomiej Dach
565ae99e0d
Fix StopUsingBeatmapClock() applying adjustments to track it was supposed to stop using
- Closes https://github.com/ppy/osu/issues/25248
- Possibly also closes https://github.com/ppy/osu/issues/20475

Regressed in e33486a766.

`StopUsingBeatmapClock()` intends to, as the name says, stop operating
on the working beatmap clock to yield its usage to other components on
exit. As part of that it tries to unapply audio adjustments so that
other screens can apply theirs freely instead.

However, the aforementioned commit introduced a bug in this. Previously
to it, `track` was an alias for the `SourceClock`, which could be
mutated in an indirect way via `ChangeSource()` calls. The
aforementioned commit made `track` a `readonly` field, initialised in
constructor, which would _never_ change value. In particular, it would
_always_ be the beatmap track, which meant that
`StopUsingBeatmapClock()` would remove the adjustments from the beatmap
track, but then at the end of the method, _apply them onto that same
track again_.

This was only saved by the fact that clock adjustments are removed again
on disposal of the `MasterGameplayClockContainer()`. This - due to async
disposal pressure - could explain infrequently reported cases wherein
the track would just continue to speed up ad infinitum.

To fix, fully substitute the beatmap track for a virtual track at the
point of calling `StopUsingBeatmapClock()`.
2023-10-26 19:38:52 +02:00
Bartłomiej Dach
7779554360
Merge branch 'master' into fix-catch-distance-snap-grid 2023-10-26 17:50:15 +02:00
Dean Herbert
a463c37320
Merge pull request #25243 from bdach/song-select-volume-scroll-blocked
Fix left side of carousel blocking volume adjust hotkeys
2023-10-27 00:23:47 +09:00
Salman Ahmed
c51513705a
Merge branch 'master' into fix-catch-distance-snap-grid 2023-10-26 17:44:33 +03:00
Bartłomiej Dach
2fa2217381
Fix left side of carousel blocking volume adjust hotkeys
Closes https://github.com/ppy/osu/issues/25234.

A little ad-hoc, but probably fine...?
2023-10-26 16:26:35 +02:00
Bartłomiej Dach
5d6a58d443
Add failing test scene for scroll handling in song select 2023-10-26 16:24:16 +02:00
Salman Ahmed
54b69333f0
Merge branch 'master' into double-click-disabled-slider 2023-10-26 17:01:46 +03:00
Bartłomiej Dach
79910df959
Fix catch distance snap provider not hiding slider properly
Regressed in https://github.com/ppy/osu/pull/25171.

The old code was kinda dependent on correct order of setting `Disabled`.
`CatchHitObjectComposer` would disable distance spacing in its BDL, and
then via the base `DistancedHitObjectComposer.LoadComplete()`, the
slider would be faded out. The switch to composition broke that
ordering.

To fix, stop relying on ordering and just respond to changes as they
come. That's what bindables are for.
2023-10-26 15:46:32 +02:00
Bartłomiej Dach
b078748724
Merge pull request #25235 from peppy/add-ctrl-r-quick-retr
Add ability to quick retry using Ctrl-R
2023-10-26 15:27:04 +02:00
Bartłomiej Dach
cbb2a0dd70
Use both score ID types to deduplicate score on solo results screen 2023-10-26 15:09:59 +02:00
Bartłomiej Dach
c3e9f5184f
Fix SoloScoreInfo not copying over legacy score ID when converting to ScoreInfo 2023-10-26 15:09:34 +02:00
Bartłomiej Dach
900530080f
Make SoloScoreInfo implement IScoreInfo 2023-10-26 14:58:35 +02:00
Bartłomiej Dach
526ee6e140
Remove IScoreInfo : IHasNamedFiles inheritance 2023-10-26 14:58:33 +02:00
Dean Herbert
238e8175ae
Add ability to quick retry using Ctrl-R
Matches osu!stable
2023-10-26 21:26:26 +09:00
Bartłomiej Dach
3b9c4c9d53
Do not revert to default value when double-clicking disabled slider
Closes https://github.com/ppy/osu/issues/25228.
2023-10-26 12:11:26 +02:00
Dean Herbert
4cca70ee19
Fix iOS AOT compilation failure due to SharpCompress library upgrade 2023-10-26 17:42:28 +09:00
Bartłomiej Dach
ca4b09f8ef
Merge branch 'master' into score-encoding-cleanup 2023-10-26 09:04:05 +02:00
Salman Ahmed
07e7d533bf Bake external scale factors into glyph scale 2023-10-26 10:01:27 +03:00
Salman Ahmed
e119e045e4 Update "Argon" skin components layout and use the new components 2023-10-26 09:13:09 +03:00
Salman Ahmed
df80b4dcab Update "Argon" health display specifications to match design
Also adds a little white bar next to the display to match with the
components below it (score/accuracy/combo counters).
2023-10-26 09:12:05 +03:00
Salman Ahmed
50af1574cf Add "Argon" background wedges 2023-10-26 09:10:56 +03:00
Salman Ahmed
56eeb117ce Add "Argon" performance points counter 2023-10-26 09:10:10 +03:00
Salman Ahmed
daf4a03fd0 Abstractify PP counter logic from the "Triangles" implementation 2023-10-26 09:09:55 +03:00
Salman Ahmed
0aa0562dc0 Add "Argon" combo counter 2023-10-26 09:09:55 +03:00
Salman Ahmed
1f36acca1a Add "Argon" accuracy counter 2023-10-26 09:09:52 +03:00
Salman Ahmed
9ca672d689 Add "Argon" total score counter 2023-10-26 08:58:25 +03:00
Bartłomiej Dach
5e059a362f
Merge pull request #25223 from peppy/prompt-before-save-for-export
Fix editor not prompting before saving beatmap for export
2023-10-25 12:03:26 +02:00
Bartłomiej Dach
2a075065d8
Merge pull request #25217 from peppy/update-country-codes
Update country code names to match database
2023-10-25 08:31:28 +02:00
Dean Herbert
6934e045df
Fix editor not prompting before saving beatmap for export 2023-10-25 14:39:46 +09:00
Dean Herbert
23ea128f30
Merge branch 'master' into velocity-based-ball-animation 2023-10-25 14:01:19 +09:00
Dean Herbert
da07066a74
Add note about CountryCode being at parity with osu_countries 2023-10-25 13:03:03 +09:00
Dean Herbert
34505b3933
Merge pull request #25185 from bdach/minimum-sample-volume 2023-10-24 22:04:43 +09:00
Bartłomiej Dach
19be0055d5
Merge pull request #24921 from Pasi4K5/diff-name-search
Add ability to search for difficulty names using square brackets
2023-10-24 12:07:02 +02:00
Dean Herbert
c9161a7bfc
Remove incorrect copy paste fail 2023-10-24 17:32:01 +09:00
Bartłomiej Dach
abfe2ce0fe
Fix comment 2023-10-24 10:05:20 +02:00
Dean Herbert
fcb366af4d
Add diff= support for more advanced usages 2023-10-24 16:09:05 +09:00
Dean Herbert
6865d8894d
Simplify implementation and remove unsupported test coverage 2023-10-24 16:01:32 +09:00
Bartłomiej Dach
05d7516479
Merge pull request #25182 from peppy/song-select-scroll-improvemets
Improve mouse interactions at song select
2023-10-24 08:26:20 +02:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
1274829193
Block scroll and click operations on the left side of song select 2023-10-24 14:51:40 +09:00
Dean Herbert
17070707b5
Update and add remaining country codes to match database 2023-10-24 14:46:58 +09:00
Dean Herbert
11c949d091
Sort countries alphabetically 2023-10-24 14:45:25 +09:00
Dean Herbert
1591246afb
Update country code names to match database
Required for ASS / osu-web cross-compatibility
2023-10-24 13:53:31 +09:00
Pasi4K5
c5339f440e Apply code review suggestions 2023-10-23 23:30:54 +02:00
Dean Herbert
baf4130f3a
Fix test clock no longer accounting for rate changes 2023-10-23 22:28:40 +09:00
Dean Herbert
15c1fcbf96
Set ManualClock rate to 0 to avoid interpolation causing test errors 2023-10-23 20:29:36 +09:00
Andrei Zavatski
b18a5e63b7 Remove nullable disable 2023-10-23 13:29:46 +03:00
Andrei Zavatski
ac1783fa94 Fix comment 2023-10-23 13:26:59 +03:00
Andrei Zavatski
1dbdbd6de6 Merge branch 'master' into comments-image-size 2023-10-23 13:22:31 +03:00
Dean Herbert
fc1254ba47
Update resources 2023-10-23 16:15:56 +09:00
Salman Ahmed
8ed660d863 Remove incorrect logic 2023-10-23 01:58:25 +03:00
Salman Ahmed
12bb4b697c Support retrieving textures in argon skin from game resources 2023-10-23 01:24:32 +03:00
Andrei Zavatski
e1e9c3d7b3 Fix incorrect height limit 2023-10-22 00:33:26 +03:00
Andrei Zavatski
71718bd761 Limit comment sprite height 2023-10-22 00:11:59 +03:00
Salman Ahmed
491f119988 Add animation support for legacy osu!mania column lights 2023-10-21 00:22:34 +03:00
Salman Ahmed
ac8c2a173b Apply velocity into legacy slider ball animation rate 2023-10-20 22:47:45 +03:00
Bartłomiej Dach
c58a47760e
Merge pull request #25167 from peppy/fix-circle-radius
Fix circle scale not matching stable due to missing multiplier
2023-10-20 20:59:53 +02:00
Bartłomiej Dach
12282fff5c
Disallow setting sample volume lower than 5% in editor 2023-10-20 15:50:21 +02:00
Bartłomiej Dach
b321d556b6
Enforce minimum gameplay sample volume of 5% 2023-10-20 15:50:13 +02:00
Jamie Taylor
fbf8f52f7d
Add audio feedback for when keys are pressed during key binding 2023-10-20 21:01:37 +09:00
Jamie Taylor
6b28f85615
Change RevertToDefaultButton and BackButton to use Default sampleset instead 2023-10-20 21:01:36 +09:00
Jamie Taylor
6dc4dbde13
Reduce LoginOverlay pop-in/pop-out sample panning to match NowPlayingOverlay 2023-10-20 21:01:36 +09:00
Jamie Taylor
e17c94d09d
Change ruleset button hover samples to Default instead of Button to match other toolbar buttons 2023-10-20 21:01:36 +09:00
Jamie Taylor
bf608a6b08
Use Button sample set for NewsCard 2023-10-20 21:01:36 +09:00
Jamie Taylor
ba6e36bd67
Remove NowPlayingOverlay custom pop-in/pop-out samples in favour of the generic overlay ones 2023-10-20 21:01:36 +09:00
Jamie Taylor
6e8a4c2eff
Fix toolbar ruleset buttons not having hover sounds 2023-10-20 21:01:36 +09:00
Dean Herbert
906b700aca
Fix fudge not being applied 2023-10-20 20:18:14 +09:00
Dean Herbert
a26e0bda35
Merge pull request #25179 from bdach/insufficient-sample-point-query-leniency
Fix insufficient leniency when querying sample points
2023-10-20 20:07:32 +09:00
Dean Herbert
0ae0b0c353
Fix carousel "reset position" marging not scaling with UI scale correctly 2023-10-20 20:04:26 +09:00
Dean Herbert
137a1d948d
Allow interacting with the carousel anywhere in empty space at song select 2023-10-20 20:04:11 +09:00
Susko3
5bbbca3e44 Also support D for those with muscle memory from stable 2023-10-20 12:22:00 +02:00
Dean Herbert
3fb74cb5f9
Move helper method to LegacyRulesetExtensions and stop applying rounding allowance to catch
As discussed, it isn't used in stable like this. Was a mistake.
2023-10-20 18:57:14 +09:00
Dean Herbert
2ba6286470
Merge branch 'master' into fix-circle-radius 2023-10-20 18:53:36 +09:00
Susko3
4a3a4ee17f Change beatmap listing key to B to match Ctrl-B shortcut 2023-10-20 11:47:00 +02:00
Bartłomiej Dach
c89081589c
Fix insufficient leniency when querying sample points 2023-10-20 10:26:16 +02:00
Dean Herbert
686c45e21b
Merge branch 'master' into legacy-tick-test-coverage 2023-10-20 16:41:32 +09:00
Bartłomiej Dach
2c6bf9e346
Remove unused using directive 2023-10-19 20:45:47 +02:00
Dean Herbert
013b5fa916
Move beat snap grid implementation details to ScrollingHitObjectComposer 2023-10-19 23:54:34 +09:00
Dean Herbert
52c2eb93de
Merge branch 'master' into taiko-beat-snap-grid 2023-10-19 23:53:01 +09:00
Bartłomiej Dach
144ef5a87c
Remove DistancedHitObjectComposer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
dcfd6a0a8a
Remove DistancedHitObjectComposer inheritance from osu! composer 2023-10-19 11:46:30 +02:00
Bartłomiej Dach
3ab083b696
Split IPositionSnapProvider from IDistanceSnapProvider
In preparation to remove `DistancedHitObjectComposer`, split off
`IPositionSnapProvider` from `IDistanceSnapProvider`.

`DistancedHitObjectComposer` was not touching `IPositionSnapProvider`'s
only interface member at all, it was just forwarding it for subclasses
to override to their own leisure.
2023-10-19 11:45:24 +02:00
Dean Herbert
040d0970f2
Use DifficultyRange helper method in one more place 2023-10-18 23:54:18 +09:00
Dean Herbert
3a5490892c
Centralise and repair circle size calculations game-wide 2023-10-18 19:50:42 +09:00
Bartłomiej Dach
cff69d63a6
Add inline commentary in Mod{Day,Night}core about different speed adjustments 2023-10-18 12:27:16 +02:00
Dean Herbert
9907adc337
Take in IBindables and tidy up multiplier handling 2023-10-18 17:39:13 +09:00
Dean Herbert
161890292f
Move audio adjustment hookup to own method for clarity 2023-10-18 17:38:11 +09:00
Dean Herbert
e56ff33271
Also share ScoreMultiplier implementation 2023-10-18 17:23:50 +09:00
Dean Herbert
43238b0cee
Split common functionality from rate adjust mods into helper class 2023-10-18 17:23:50 +09:00
Dean Herbert
eabfcfbf2a
Merge branch 'master' into pitch_change 2023-10-18 16:33:03 +09:00
Dan Balasescu
939b55020c
Merge branch 'master' into legacy-tick-test-coverage 2023-10-18 15:21:31 +09:00
Joseph Madamba
18e8ca6245 Add ability to revert slider settings to default when double-clicking nub 2023-10-17 21:41:03 -07:00
Bartłomiej Dach
e927267c4d
Merge pull request #25155 from peppy/fix-new-inspections
Fix various new rider EAP inspections
2023-10-17 17:04:39 +02:00
Dean Herbert
d9fc532a9f
Merge pull request #25152 from bdach/key-binding-deduplication
Clear pre-existing bindings of same key combination to single action
2023-10-17 17:49:51 +09:00
Dean Herbert
e081fa48a2
Fix various other inspections 2023-10-17 17:48:51 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach
7abd7fe658
Remove redundant explicit array type specification 2023-10-17 10:26:02 +02:00
Dean Herbert
4885c55ef0
Merge branch 'master' into key-binding-deduplication 2023-10-17 17:17:44 +09:00
Dean Herbert
4381169a3f
Combine selection and input handling logic for beat snap grids across all rulesets 2023-10-17 17:09:42 +09:00
Dean Herbert
2a89a25790
Add beat snap grid to osu!taiko editor
Addresses https://github.com/ppy/osu/discussions/25150.
2023-10-17 16:59:56 +09:00
Bartłomiej Dach
4cfc95c673
Add backwards migration of catch dash binding 2023-10-17 09:43:40 +02:00
Dean Herbert
1b9acdf55c
Abstract out common implementation of BeatSnapGrid 2023-10-17 16:42:52 +09:00
Dean Herbert
d26d4b8b79
Cache IScrollingInfo at a HitObjectComposer level automatically 2023-10-17 16:42:22 +09:00
Dean Herbert
165cd07428
Persist the state of "show speed changes" between editor sessions
Addresses https://github.com/ppy/osu/discussions/25149.
2023-10-17 16:01:02 +09:00
Dan Balasescu
d2a3f14d5b
Merge branch 'master' into mania-bonus-refactor 2023-10-17 13:28:04 +09:00
Bartłomiej Dach
828cedea33
Fix bindings being cleared if multiple bindings for same action have the same combination
This actually seems to be the case in catch (dash is bound to shift
twice). This is annoying but harmless, so let's work around it for now
to avoid ruining users' configs.
2023-10-16 22:20:26 +02:00
Bartłomiej Dach
9c6166ec3d
Add migration to remove duplicate bindings 2023-10-16 22:20:26 +02:00
Bartłomiej Dach
639c96e60c
Prevent ruleset input managers from reading duplicate bindings 2023-10-16 21:02:24 +02:00
Bartłomiej Dach
90c44cee54
Implement method to deduplicate keybindings 2023-10-16 20:51:57 +02:00
Bartłomiej Dach
79273b88f6
Add stub of method to deduplicate bindings (and failing test) 2023-10-16 20:48:52 +02:00
Bartłomiej Dach
f2436a5ecb
Remove no longer used scoring difficulty attributes 2023-10-16 12:36:58 +02:00
Bartłomiej Dach
e2192806e4
Use ID rather than SoloScoreID
The latter is apparently not going to be a thing anymore.
2023-10-16 12:02:55 +02:00
Bartłomiej Dach
fb2293821a
Allow watching replay from multi/playlist results screens 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c4af8591a5
Preserve OnlineID when importing scores
Previously, for lazer scores, the ID returned from `osu-web` was
discarded and replaced with -1, due to the fact that the appropriate
structures for unification with stable, as well as unification across
solo and multiplayer, were not in place yet.

Now we're at the point where scores from all the aforementioned sources
receive a `solo_scores` DB row, and as such, we can start treating
`solo_scores`-scheme IDs as canonical "online IDs" for a score.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
d5a733d244
Use solo score ID as OnlineID when converting from MultiplayerScore 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
b144cfd55c
Add LegacyOnlineID handling to places that definitely need it
Mostly places that can interact with imported replays.

There are other places that use the online ID as a sort tiebreaker, or
to check presence of a score on results screens, but they should
probably still continue to only use `OnlineID`, since all scores with a
legacy online ID should have an online ID, but the converse is not
generally true.
2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c53f4c144c
Encode/decode new OnlineID into/from LegacyReplaySoloScoreInfo 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
fa519984df
Move legacy online ID encode/decode to legacy property 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
c1a817fec6
Add LegacyOnlineID with backwards migration 2023-10-16 11:20:02 +02:00
Bartłomiej Dach
9cd33d9bb2
Merge pull request #25139 from peppy/collection-ordering-fix
Fix collections not being sorted alphabetically in context menus
2023-10-16 10:53:43 +02:00
Bartłomiej Dach
ee3ddacf46
Merge pull request #25140 from peppy/manage-collections-drag-handles-bye-bye
Remove drag handles from manage collections dialog for now
2023-10-16 10:47:38 +02:00
Dean Herbert
7139592e43
Fix collections not being sorted correctly in context menus 2023-10-16 16:03:12 +09:00
Dean Herbert
36112302d6
Remove drag handles from manage collections dialog for now
The realm implementation doesn't support this.
2023-10-16 15:51:18 +09:00
Dean Herbert
48832c64ac
Fix health bar animating when it shouldn't be
It wasn't correctly checking the current underlying health, which could
be zero in usages of `AccumulatingHealthProcessor`, for instance.

Closes #25046.
2023-10-16 13:12:04 +09:00
Dean Herbert
67a8a51ec7
Merge branch 'master' into generic-error-sfx 2023-10-14 03:56:41 +09:00
Dean Herbert
d4627a2402
Update resources 2023-10-14 03:48:59 +09:00
Bartłomiej Dach
c762241268
Merge branch 'master' into fix-hr-cs-mania-adjustment 2023-10-13 14:08:05 +02:00
Jamie Taylor
d97b618d02
Use new generic-error sample in appropriate places 2023-10-13 21:06:50 +09:00
Dean Herbert
3d5736188e
Merge pull request #25112 from bdach/dangerous-button-shades
Fix dangerous buttons using different shades of pink
2023-10-13 20:43:24 +09:00
Bartłomiej Dach
af89d69fc4
Fix dangerous buttons using different shades of pink 2023-10-13 13:16:24 +02:00
Bartłomiej Dach
a88779e588
Use dimmed placeholder text instead of empty box on cleared bindings 2023-10-13 13:10:04 +02:00
Dean Herbert
6358a5e210
Merge pull request #25105 from bdach/multiple-keys-one-binding
Disallow binding multiple bindings in a single section to one key
2023-10-13 20:01:33 +09:00
Bartłomiej Dach
a1c68b66f2
Rename KeyBindingRow parts to appease CodeFileSanity 2023-10-13 12:06:25 +02:00
Bartłomiej Dach
ea766b792d
Update localisation keys to match localisable member names 2023-10-13 11:58:55 +02:00
Bartłomiej Dach
5f51b8a7c9
Merge pull request #25097 from peppy/results-screen-progress-fast
Show results immediately if user hits "back" key after finishing gameplay
2023-10-13 11:54:34 +02:00
Dean Herbert
17b6ebbfbf
Avoid using a bindable in KeyBindingConflictPopover where data is never mutated 2023-10-13 18:40:21 +09:00
Dean Herbert
9b0c4acdef
Split KeyBindingRow out into partial pieces 2023-10-13 18:29:06 +09:00
Dean Herbert
8e609b6f1d
Switch records to classes for sanity
I don't have anything against records except for the capitalisation when
including the paramter names in a constructor.

ie. `new Record(This: 1);`
2023-10-13 18:19:12 +09:00
Bartłomiej Dach
d5557bbbfb
Merge pull request #25005 from minetoblend/multiplayer-invites
Add ability to invite players to multiplayer rooms
2023-10-13 11:09:28 +02:00
Dean Herbert
d7a06059f2
Rename string properties to give more hinting to localisers 2023-10-13 17:49:48 +09:00
Bartłomiej Dach
e04a57d67f
Use less dodgy method of specifying allowable notification types 2023-10-13 10:31:00 +02:00
Bartłomiej Dach
79cec7707d
Privatise setter 2023-10-13 09:56:46 +02:00
Dean Herbert
3787348448
Change Perfect judgement to not give extra score 2023-10-13 16:29:02 +09:00
Bartłomiej Dach
61b8d035fe
Use dangerous colour for "apply new" button 2023-10-13 09:08:13 +02:00
Dean Herbert
37411f923e
Merge branch 'master' into multiple-keys-one-binding 2023-10-13 15:07:12 +09:00
Dean Herbert
549a6581b0
Merge branch 'master' into make-realm-key-binding-action-suck-less 2023-10-13 13:53:24 +09:00
Dean Herbert
9289c47cd4
Tidy up GlobalActionContainer a bit 2023-10-13 13:47:51 +09:00
Dean Herbert
aabed8b6e5
Merge pull request #25093 from Joehuu/mod-switch-tiny-extended-info
Add extended info support to tiny mod switches
2023-10-13 13:40:24 +09:00
Bartłomiej Dach
6c8490bc7e
Revert changes to LoungeSubScreen.Join()
- `virtual` modifier was used in mocking.
- The spacing change revert is just mostly to keep it out of the final
  diff.
2023-10-12 20:39:40 +02:00
Bartłomiej Dach
edec10204e
Merge pull request #25096 from peppy/show-total-bonus
Show maximum bonus statistics on results screen
2023-10-12 20:29:28 +02:00
Bartłomiej Dach
f083309e64
Move type back next to exposing class 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
f1c1ffbdfd
Add localisation support 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
08bdea0036
Reformat code 2023-10-12 20:26:01 +02:00
Bartłomiej Dach
991e425b9a
Refactor conflict handling flow to be less back-and-forth 2023-10-12 20:25:59 +02:00
Bartłomiej Dach
9468371556
Fix min width not really working as intended 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
b09252a8f8
Fix restore-to-default button for entire section triggering conflicts 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
f5a6781e5a
Integrate key binding conflict popover into keybindings panel 2023-10-12 16:04:46 +02:00
Bartłomiej Dach
7b6563116a
Implement visual appearance of key binding conflict popover 2023-10-12 16:01:51 +02:00
Bartłomiej Dach
aa8dbd742e
Hoist database update to subsection level
The end goal here is to be able to better coordinate deconfliction of
bindings at the subsection level rather than try to jam that logic into
individual rows somehow.

The flipside is that this is going to require a flow to update the
individual rows after the subsection's intervention, but that's what the
previous commit was for.
2023-10-12 16:01:51 +02:00
Bartłomiej Dach
5f0b1d69a5
Prepare KeyBindingRow for accepting external changes 2023-10-12 16:00:20 +02:00
Bartłomiej Dach
c2e92cbb70
Refactor key binding panel leveraging new helper methods 2023-10-12 15:03:29 +02:00
Bartłomiej Dach
1c784c9abe
Add API for retrieving global key bindings per section 2023-10-12 14:24:21 +02:00
Bartłomiej Dach
2a0e4c364d
Add method to unmap RealmKeyBinding.Action to actual enum-typed value 2023-10-12 14:17:26 +02:00
Dean Herbert
3849b11644
Fix "Hard Rock" mod affecting CS/AR in osu!mania
Closes https://github.com/ppy/osu/issues/25090.

Not sure if there are other exceptions we should account for here.
2023-10-12 19:48:47 +09:00
Dean Herbert
fa47309eef
Fix exit key during storyboard outro not progressing to results 2023-10-12 19:31:54 +09:00
Dean Herbert
d174a6ce61
Remove dead code which was only there for the exit-specific scenario 2023-10-12 19:27:35 +09:00
Dean Herbert
32eda99c3a
Add missing xmldoc returns 2023-10-12 19:06:34 +09:00
Dean Herbert
1ce268be3f
Update some packages to match osu.Server.Spectator 2023-10-12 18:58:42 +09:00
Dean Herbert
fc1287b4c6
Reword xmldoc on invite method to better describe what is happening 2023-10-12 18:25:20 +09:00
Dean Herbert
56e27f1c27
Merge branch 'master' into multiplayer-invites 2023-10-12 18:17:15 +09:00
Dean Herbert
e48c4fa430
Add missing ConfigureAwait calls 2023-10-12 18:15:15 +09:00
Dean Herbert
a591af2b97
Fix too many tasks in lookupRoom method 2023-10-12 18:11:04 +09:00
Dean Herbert
5f62c225bf
Ad localisation (and adjust messaging) of invite failures 2023-10-12 18:07:03 +09:00
Dean Herbert
361d70f68a
Rename callback to match standards 2023-10-12 17:59:47 +09:00
Dean Herbert
d2aa601912
Allow localisation of the invite notification 2023-10-12 17:59:08 +09:00
Dean Herbert
a1a9bb75b7
Remove unnecessary schedule logic 2023-10-12 17:55:58 +09:00
Dean Herbert
cde4fad610
Simplify async lookup logic in Invited handling 2023-10-12 17:55:14 +09:00
Dean Herbert
94d7a65e40
Schedule Join operations rather than using OnLoadComplete for added safety 2023-10-12 17:42:02 +09:00
Dean Herbert
a512ef5637
Add exceptions to online state handling 2023-10-12 17:41:31 +09:00
Dean Herbert
20f32e2025
Add light colouring for user notifications and adjust lighting slightly 2023-10-12 16:06:06 +09:00
Dean Herbert
aee8ba789c
Tidy up UserAvatarNotification implementation 2023-10-12 16:06:06 +09:00
Dean Herbert
55a9de034d
Change NotificationOverlay type based logic to not require specifying every type of notification 2023-10-12 16:00:23 +09:00
Dean Herbert
242a41371c
Fix HotkeyOverlay fade out occurring when exit is blocked 2023-10-12 15:42:54 +09:00
Dean Herbert
7c0d496730
Show results immediately if user hits "back" key after finishing gameplay
I've gone ahead and matched the osu!stable behaviour for this, as it
seems like it's what people are used to and they will settle for no
less.

Closes https://github.com/ppy/osu/issues/18089.
2023-10-12 15:42:23 +09:00
Dean Herbert
d2044fc2cc
Merge pull request #25082 from peppy/test-scene-background
Remove test scene background stack and use new `ChangeBackgroundColour`
2023-10-12 14:57:34 +09:00
Dean Herbert
5bb73632c4
Show maximum bonus statistics on results screen
Addresses https://github.com/ppy/osu/discussions/25088.
2023-10-12 14:55:16 +09:00
Dean Herbert
194ad9650d
Remove test scene background stack and use new ChangeBackgroundColour method 2023-10-12 14:08:31 +09:00
Dean Herbert
29eba3c58a
Update framework 2023-10-12 14:08:31 +09:00
Dean Herbert
f26e3afd29
Merge pull request #25062 from smoogipoo/remove-hold-note-ticks
Remove osu!mania hold note ticks
2023-10-12 13:55:50 +09:00
Joseph Madamba
764f641bc9 Add extended info support to tiny mod switches 2023-10-11 12:47:12 -07:00
Bartłomiej Dach
712564ea4f
Enable NRT in KeyBindingsSubsection 2023-10-11 20:03:31 +02:00
Bartłomiej Dach
063623b4e6
Merge branch 'master' into remove-hold-note-ticks 2023-10-11 19:47:51 +02:00
Bartłomiej Dach
041318e3e8
Assign red colour to ComboBreak hit result
For a judgement result to show up on the colour hit error meter, it has
to be two things: be scorable, and not be bonus.

`ComboBreak` happens to meet both of those criteria - it impacts score
indirectly via decreasing the combo portion, and isn't bonus. Therefore
it would show up on the colour hit error meter, but because
`OsuColour.ForHitResult()` wasn't handling it explicitly, it was
painting the result in light blue, which isn't ideal for a miss type
judgement. Therefore, use red instead.

There is possibly an argument to be made that this judgement should not
show up on the colour hit error meter at all, but I think it's actually
okay for it to be this way. In any case it doesn't appear to be anything
so major as to warrant blocking the hold note tick removal at this time.
2023-10-11 19:44:46 +02:00
Bartłomiej Dach
797109c05c
Enable NRT in KeyBindingRow 2023-10-11 08:50:00 +02:00
Bartłomiej Dach
0b2b065383
Add xmldoc 2023-10-11 08:50:00 +02:00
Bartłomiej Dach
7ac874d17a
Use init-only properties where applicable 2023-10-11 08:49:58 +02:00
Bartłomiej Dach
1acc02405e
Reorder KeyBindingRow members 2023-10-11 08:18:59 +02:00
Bartłomiej Dach
6f5f3a1ef4
Merge branch 'master' into fix-argon-health-bar-flash 2023-10-10 20:03:20 +02:00
Bartłomiej Dach
66c12e5269
Merge pull request #25083 from peppy/fix-preview-point-incorrect
Fix default preview point being incorrect on old beatmaps
2023-10-10 19:54:14 +02:00
Dean Herbert
b9dbc8139b
Merge branch 'master' into fix-argon-health-bar-flash 2023-10-11 00:20:08 +09:00
Bartłomiej Dach
d701e88a08
Merge pull request #25076 from peppy/fix-argon-health-bar-perf
Ensure health displays don't pile up transforms when off-screen
2023-10-10 16:33:32 +02:00
Dean Herbert
b9dadc52b7
Adjust comment to match current behaviour
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-10-10 22:54:19 +09:00
Dean Herbert
e2e28ef0ca
Remove comment regarding inlined delegate 2023-10-10 22:12:20 +09:00
Dean Herbert
682aa06acf
Remove JudgementResult from Miss/Flash as it is not used 2023-10-10 22:10:44 +09:00
Dan Balasescu
a1a46e58fc
Move validation to DHO.ApplyResult() 2023-10-10 21:42:37 +09:00
Dean Herbert
2781846147
Fix beatmaps with no preview point set getting incorrect default
Note that this will require a re-import to fix existing beatmaps
becuse.. it's stored to realm. Probably not worth worrying about for
now.
2023-10-10 19:13:16 +09:00
Dean Herbert
f0bd975393
Change GameplayClockContainer.Reset to directly call GameplayClock.Stop
The reasoning is explained in the inline comment, but basically this was
getting blocked by `isPaused` being in an initial `true` state (as it is
on construction), while the source clock was still `IsRunning`.

There's no real guarantee of sync between the source and the `isPaused`
bindable right now. Maybe there should be in the future, but to restore
sanity, let's ensure that a call to `Reset` can at least stop the track
as we expect.
2023-10-10 18:16:14 +09:00
Dean Herbert
100c0cf533
Fix MultiplayerPlayer never calling Reset on GameplayClockContainer
This call is responsible for ensuring the clock is in a stopped state.
2023-10-10 17:58:37 +09:00
Dean Herbert
eee7dc02da
Reduce severity of clock running check to avoid production crashes 2023-10-10 17:58:11 +09:00
Dan Balasescu
18d20cad8b
Adjust xmldoc for readability
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-10-10 17:04:21 +09:00
Bartłomiej Dach
24956588e9
Fix score importer looking up guest user by username online 2023-10-10 09:28:01 +02:00
Dean Herbert
4674f63655
Fix Scheduler.AddOnce not working in one location 2023-10-10 16:17:34 +09:00
Dean Herbert
7e68b64526
Avoid running finishInitialAnimation when already finished 2023-10-10 15:59:48 +09:00
Dean Herbert
1eb6c93916
Also debounce updatePathVertices to reduce overhead 2023-10-10 15:50:42 +09:00
Dean Herbert
6c346874d3
Add TODO mentioning that ArgonHealthDisplay is doing lerp wrong 2023-10-10 15:24:54 +09:00
Dean Herbert
57f588fa86
Ensure health displays don't pile up transforms when off-screen 2023-10-10 15:24:54 +09:00
Dean Herbert
6ee958743e
Adjust glow animation specifics slightly 2023-10-10 15:10:42 +09:00
Dean Herbert
aeb579eb54
Syncrhonise initial colour of glowBar for sanity 2023-10-10 15:10:27 +09:00
Dean Herbert
8e26b3c405
Fix argon health bar not completing flash animation correctly 2023-10-10 15:09:33 +09:00
Dan Balasescu
04ce223e66
Remove pairings that shouldn't be valid 2023-10-10 10:03:37 +09:00
Dan Balasescu
594bcc2ab5
Apply suggestion to condense method 2023-10-10 09:56:26 +09:00
Bartłomiej Dach
d7e891140d
Apply mod multipliers to local score V1/V2 reimplementations 2023-10-09 13:04:12 +02:00
Bartłomiej Dach
419cc8784a
Apply mods to processor-based score algorithms 2023-10-09 12:59:02 +02:00
Bartłomiej Dach
55064c387d
Add mod controls to scoring test scene 2023-10-09 12:59:02 +02:00
Bartłomiej Dach
71c4b138fb
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-09 10:53:14 +02:00
Bartłomiej Dach
ca217094d6
Merge pull request #25063 from peppy/move-download-button
Move playlist item download button to left
2023-10-09 10:01:15 +02:00
Dean Herbert
142c61ab9b
Move playlist item download button to left 2023-10-09 12:21:56 +09:00
Dan Balasescu
326702165f
Update HitResult helpers with new judgement 2023-10-09 11:50:17 +09:00
Dan Balasescu
65ac617be4
Actually validate judgements 2023-10-09 10:45:29 +09:00
Dan Balasescu
9415fe4446
Add mania hold note body + combo break judgement 2023-10-09 09:47:00 +09:00
Dean Herbert
e5207167c8
Rename FailAnimation to FailAnimationContainer 2023-10-08 00:39:30 +09:00
Dean Herbert
7c7771afca
Merge pull request #24986 from peppy/health-animates-in-intro
Add initial animation for health bars
2023-10-07 10:31:34 +09:00
Bartłomiej Dach
cfcdbe1c30
Merge pull request #25028 from peppy/bindable-fixes
Fix some incorrect bindable-related code
2023-10-06 22:31:30 +02:00
Bartłomiej Dach
250b9112c4
Merge pull request #25029 from peppy/socket-exception-handling
Fix OAuth refresh attempt when no network available causing full logout (part 2)
2023-10-06 21:59:27 +02:00
Bartłomiej Dach
a099cc0f36
Merge pull request #25030 from peppy/adjustable-health-bar
Adjust argon health bar to fit with existing layout
2023-10-06 21:51:18 +02:00
Bartłomiej Dach
b7d0bf3756
Only flush the Current transform specifically 2023-10-06 21:39:29 +02:00
Bartłomiej Dach
ce0d4bd0df
Fix health display potentially desyncing from actual if health was changed during initial animation 2023-10-06 21:35:08 +02:00
Dean Herbert
58448d3dd9
Fix health animation affecting failing tint 2023-10-07 01:06:31 +09:00
Dean Herbert
1a60e6d76e
Merge branch 'master' into health-animates-in-intro 2023-10-07 00:32:19 +09:00
Bartłomiej Dach
10ce5705ce
Update framework 2023-10-06 14:11:41 +02:00
Dean Herbert
8e5b2e78e5
Fix variable clash 2023-10-06 21:01:23 +09:00
Dean Herbert
d87ab9c82d
Adjust transition time based on miss/hit 2023-10-06 19:34:38 +09:00
Dean Herbert
3f2a00d90d
Add argon health display to default skin layout 2023-10-06 19:34:27 +09:00
Dean Herbert
f40e910c51
Remove left line from health display 2023-10-06 19:34:27 +09:00
Dean Herbert
db5178e453
Change ArgonHealthDisplay to be relative sized for now 2023-10-06 18:56:39 +09:00
Dean Herbert
c78b5112c6
Fix OAuth refresh attempt when no network available causing full logout (part 2)
This time for `SocketException`s. I seem to recall looking at this and
deciding there was a reason to not catch socket exceptions, but on
revisiting it seems sane to do so.

This covers a fail case like reported:

```
2023-10-06 03:24:17 [verbose]: Request to https://lazer.ppy.sh/oauth/token failed with System.Net.Http.HttpRequestException: No such host is known. (lazer.ppy.sh:443)
2023-10-06 03:24:17 [verbose]: ---> System.Net.Sockets.SocketException (11001): No such host is known.
2023-10-06 03:24:17 [verbose]: at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
```

Closes https://github.com/ppy/osu/issues/24890 (again).
2023-10-06 18:24:22 +09:00
Dean Herbert
936a21a661
Fix redundant bindable initialisation in SongSelect 2023-10-06 16:51:56 +09:00
Dean Herbert
1d7b8ea21a
Fix incorrect implementation of IHasCurrentValue in FooterButtonFreeMods 2023-10-06 16:51:40 +09:00
Dean Herbert
f2e56bbb65
Fix publicly-settable bindables 2023-10-06 16:51:24 +09:00
Dean Herbert
1005b7ac85
Fix incorrect test assumption in TestSceneEditorClock
I don't know what this test was trying to do, but it was wrong. Any
offset which is applied should be invisible to the clock's final
`CurrentTime` (and to the user).
2023-10-06 16:43:28 +09:00
Dean Herbert
354193c53a
Merge branch 'master' into clock-fix-attempt-2 2023-10-06 16:43:27 +09:00
Bartłomiej Dach
4d315cb718
Merge pull request #25016 from peppy/fix-waveform-comparison-crash
Fix `WaveformComparisonDisplay` potentially crashing on invalid track length
2023-10-05 20:02:44 +02:00
Dean Herbert
61fd4186af
Ensure regenerateDisplay is eventually performed if originally called before load 2023-10-05 22:55:23 +09:00
Bartłomiej Dach
c195fbe76f
Merge branch 'master' into crop-gameplay-textures 2023-10-05 09:35:58 +02:00
Dean Herbert
76cc2f9f22
Fix WaveformComparisonDisplay potentially crashing on invalid track length
As seen at https://github.com/ppy/osu/runs/17415814918#r0s2.
2023-10-05 14:58:55 +09:00
Dean Herbert
f8455af0d0
Fix double interpolation being applied when applyOffsets=false 2023-10-05 13:20:52 +09:00
Dean Herbert
20342d430d Update framework 2023-10-04 23:55:38 +09:00
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro 2023-10-04 13:53:42 +02:00
Dean Herbert
a186d97edf Update framework 2023-10-04 16:57:54 +09:00
Dean Herbert
5a17a86d1d Merge branch 'master' into clock-fix-attempt-2 2023-10-04 16:57:49 +09:00
Marvin Schürz
6d97f89399 Rename OnlinePlayScreen.LoungeSubScreen to Lounge 2023-10-04 08:37:22 +02:00
Marvin Schürz
6bd51b32b4 Make resolved multiplayerClient field nullable 2023-10-04 08:35:45 +02:00
Marvin Schürz
0726ccb988 Fix formatting 2023-10-04 08:32:18 +02:00
Marvin Schürz
74ed3bc4ff Rename loadRoom to lookupRoom 2023-10-04 08:31:50 +02:00
Marvin Schürz
bfeafd6f70 Fix formatting 2023-10-04 08:30:48 +02:00
Dean Herbert
cfb18e18c0 Add better commenting around legacy last tick edge case 2023-10-04 13:45:26 +09:00
Dan Balasescu
854b797ab5
Merge branch 'master' into legacy-tick-not-so-legacy-after-all 2023-10-04 10:52:13 +09:00
Marvin Schürz
fe5177fa4f Remove unused import 2023-10-04 00:50:48 +02:00
Marvin Schürz
5469d134cb Add missing parameter description to docs. 2023-10-04 00:28:01 +02:00
Marvin Schürz
32f69cd0ba Make UserAvatarNotification.user readonly 2023-10-04 00:20:07 +02:00
Marvin Schürz
267d1ee7d4 Handle cases when player cannot be invited. 2023-10-03 22:08:14 +02:00
Dan Balasescu
a120ea8464
Merge branch 'master' into fix-legacy-score-multipliers-2 2023-10-04 01:19:33 +09:00
Dean Herbert
69ae370e82 Merge branch 'master' into legacy-tick-test-coverage 2023-10-03 19:37:32 +09:00
Bartłomiej Dach
844a3b6c1b
Merge pull request #24980 from frenzibyte/gameplay-hud-redesign/health-display
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +02:00
Bartłomiej Dach
9c1f5c35d6
Merge pull request #24990 from peppy/argon-better-reverse
Add edge highlight to "argon" slider repeat arrow (and improve all skins' reverse arrow animations)
2023-10-03 10:55:11 +02:00
Dean Herbert
4f3c433946 Move vertex related constants local to method 2023-10-03 17:41:52 +09:00
Dean Herbert
32b2ac4974 Rename and refactor glow/miss bars to hopefully make more sense 2023-10-03 17:41:11 +09:00
Dean Herbert
4f9daa1c14 Tidy up ArgonHealthDisplay code quality 2023-10-03 17:32:35 +09:00
Dean Herbert
8178cf3a8d Tidy up background colour gradient logic
This changes things visually a touch, but I think it feels better.
And reads better.
2023-10-03 17:17:11 +09:00
Dean Herbert
2cbec6dbdf Update resources 2023-10-03 17:11:52 +09:00
Dean Herbert
b234a453da Fix legacy beatmap importer not always handling nested paths correctly
Addresses https://github.com/ppy/osu/discussions/24989.
2023-10-03 16:01:17 +09:00
Marvin Schürz
a171fa7649 Join multiplayer match when clicking the invite notification 2023-10-03 01:31:30 +02:00
Marvin Schürz
8e73dbc894 Load api room before displaying notification 2023-10-03 01:22:25 +02:00
Marvin Schürz
3879775219 Add room name to invite notification 2023-10-02 23:20:24 +02:00
Marvin Schürz
e81695bcac Display avatar in invitation notification 2023-10-02 23:10:51 +02:00
Marvin Schürz
251e4d4de9 Add localisation for inviting a player 2023-10-02 23:10:29 +02:00
Marvin Schürz
7629b725a2 Add invite button to UserPanel context menu 2023-10-02 22:55:53 +02:00
Marvin Schürz
574dc67a9e Add Invited task to multiplayer client 2023-10-02 22:53:28 +02:00
Marvin Schürz
d19cdbdefb Add InvitePlayer method to multiplayer server 2023-10-02 22:31:47 +02:00
Dean Herbert
82ba545358 Add initial animation for health bars 2023-10-02 17:01:58 +09:00
Dan Balasescu
b9ab4a2b7c Update score conversion to consider legacy multiplier 2023-10-02 16:56:15 +09:00
Dan Balasescu
da2a4681d9 Add method to retrieve legacy score multiplier 2023-10-02 16:52:01 +09:00
Dan Balasescu
b4b7a7ea5e Add LegacyBeatmapConversionDifficultyInfo abstraction 2023-10-02 16:52:01 +09:00
Dean Herbert
3a45bcad15 Improve flash and glow further 2023-10-02 02:11:07 +09:00
Dean Herbert
c4f47974bc Improve glow further 2023-10-02 02:11:07 +09:00
Dean Herbert
88d608e1fa Tidy up common animation code 2023-10-02 02:11:07 +09:00
Dean Herbert
df51e61234 Improve animation 2023-10-02 00:42:51 +09:00
Dean Herbert
22aa7ffd06 Use additive colour 2023-10-01 22:09:59 +09:00
Salman Ahmed
eef099e69d Do not display "miss" bar if health is already zero 2023-10-01 15:25:34 +03:00
Salman Ahmed
7825bea959 Use interpolation for health bar opacity instead of transforms 2023-10-01 15:25:23 +03:00
Salman Ahmed
30d9004ef9 Fix small mistake 2023-10-01 13:41:11 +03:00
Salman Ahmed
446c9c2efe Apply adjustments on the "miss" bar display 2023-10-01 13:39:36 +03:00
Salman Ahmed
9e2b8254d9 Add argon-specific health display test scene 2023-10-01 13:26:47 +03:00
Salman Ahmed
a331fb993a Adjust health bar outer stroke colour 2023-10-01 01:21:37 +03:00
Salman Ahmed
319208ca3d Adjust health bar glow intensity 2023-10-01 01:18:05 +03:00
Salman Ahmed
776536e816 Add "Argon" health display implementation 2023-10-01 00:56:16 +03:00
Salman Ahmed
33b0cb15a8 Add handling for miss judgements in HealthDisplay 2023-10-01 00:21:25 +03:00
Salman Ahmed
314ecec65b Refactor player max dimensions test scene to actually upscale textures 2023-09-30 01:34:49 +03:00
Salman Ahmed
0bcb99f2c4 Crop oversized gameplay textures instead of downscaling them 2023-09-30 01:34:47 +03:00
Pasi4K5
c927f90a48 Replace regex with a custom algorithm and update test scene. 2023-09-29 13:46:33 +02:00
Pasi4K5
23c20ca5f4 Add xmldocs 2023-09-29 13:44:11 +02:00
Dean Herbert
62bcb62842 Document remaining pieces of LastTick and add back legacy prefix for generation flow 2023-09-29 16:58:17 +09:00
Dean Herbert
81485c548c Move LegacyLastTickOffset specification to generation code and stop passing everywhere 2023-09-29 14:32:29 +09:00
Dean Herbert
d5472d3524
Merge pull request #24957 from bdach/solo-score-info-get-display-score
Add `GetDisplayScore()` extension for `SoloScoreInfo`
2023-09-29 13:09:16 +09:00
Joseph Madamba
9e90374a90 Flash discard changes dialog popup when force quitting room/playlist creation with changes 2023-09-28 17:09:50 -07:00
Bartłomiej Dach
9a49f44db0
Use AsOrdered() when presenting mod presets too 2023-09-28 18:42:05 +02:00
Bartłomiej Dach
c0728f0b2e
Replace local sort with new utility method 2023-09-28 18:35:15 +02:00
Bartłomiej Dach
8215c4cb0e
Merge branch 'master' into mods-stable-ordering 2023-09-28 18:30:56 +02:00
Bartłomiej Dach
39d5025969
Update resources 2023-09-28 16:58:21 +02:00
Bartłomiej Dach
7638ea36a0
Merge branch 'master' into mod-icon-extended 2023-09-28 16:57:17 +02:00
Dean Herbert
f340bb99e8 Nudge text right 1 pixel 2023-09-28 22:23:45 +09:00
Dean Herbert
e4fd3b65f4 Avoid recreating ModSettingChangeTracker unless required 2023-09-28 22:18:28 +09:00
Dean Herbert
b1f6803371
Remove unused commented code
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:11:03 +09:00
Dean Herbert
e0e222c1fa
Include mention of what to do when not using field in xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-28 22:10:30 +09:00
Dan Balasescu
db9113b38e
Merge pull request #24924 from bdach/update-classic-scoring
Update classic scoring formula to closer match stable score V1
2023-09-28 20:19:23 +09:00
Bartłomiej Dach
fc4390884f
Add GetDisplayScore() extension for SoloScoreInfo
To be used server-side for ppy/osu-queue-score-statistics#134.
2023-09-28 12:43:05 +02:00
Dean Herbert
d4cf6e100f Update other usages of OsuIcon.ModBg and remove 2023-09-28 19:03:34 +09:00
Dean Herbert
2ff376daa4 Adjust to include shadow, and use new main background sprite which includes shadow 2023-09-28 19:03:34 +09:00
Dean Herbert
b8953e8ce1 Code quality pass 2023-09-28 19:03:34 +09:00
Dean Herbert
2800920ed9 Adjust font size slightly for better display when small 2023-09-28 19:03:34 +09:00
Bartłomiej Dach
90326f62a7
Merge pull request #24953 from peppy/flash-dialog-on-stuck
Flash dialog popup when attempting to exit editor while exit is being blocked
2023-09-28 11:04:38 +02:00
Bartłomiej Dach
afa1815d13
Merge pull request #24929 from peppy/reduce-song-select-debounce
Reduce delay before loading beatmap after selection change at song select
2023-09-28 10:45:43 +02:00
Dean Herbert
7d74d84e6c Display mod icons using stable ordering
In discussion with nanaya, we likely want this now that we're adding the
ability for some icons to be extended. Historically mod icons have been
displayed in a stable but arbitrary order (based on their position in
the `Mods` enum).

This change aims to make them stable across lazer scores (where they are
stored based on .. the order the user selected them).
2023-09-28 16:48:09 +09:00
Dean Herbert
7908b36b39 Flash dialog popup when attempting to exit editor while exit is being blocked 2023-09-28 15:25:39 +09:00
Bartłomiej Dach
0b9d01075a
Merge branch 'master' into fix-missing-skin-ini-version 2023-09-27 19:33:43 +02:00
Bartłomiej Dach
edf40cc091
Fix nullability inspection 2023-09-27 17:09:42 +02:00
Bartłomiej Dach
0769d0f49f
Merge branch 'master' into fix-batch-import-score-missing-notifications 2023-09-27 17:06:47 +02:00
NiceAesth
83bf1efc1c Add color search alias for colour settings 2023-09-27 16:29:29 +03:00
Bartłomiej Dach
934ac1b640
Merge branch 'master' into better-erroring-score-import-fail 2023-09-27 14:34:14 +02:00
Dean Herbert
1246f15186 Don't show extended information where it duplicates already visible information 2023-09-27 19:29:03 +09:00
Dean Herbert
9f4df29880 Adjust fade durations at player loader to better hide mod jank 2023-09-27 19:29:03 +09:00
Dean Herbert
6e602929a4 Add support for tracking settings changes 2023-09-27 19:29:03 +09:00
Dean Herbert
192eb541c0 Adjust sizing to work better with expansion (no more centre anchoring) 2023-09-27 19:29:03 +09:00
Dean Herbert
16e752e07d Add basic structure and test coverage for extended info on mod icon 2023-09-27 19:29:03 +09:00
Bartłomiej Dach
0722bc88b7
Merge pull request #24861 from peppy/fix-storyboard-skin-textures-lookup
Fix storyboard `UseSkinSprites` being implemented incorrectly
2023-09-27 11:58:42 +02:00
Bartłomiej Dach
e314913aeb
Handle null texture case 2023-09-27 11:18:38 +02:00
Dean Herbert
d0456908cd
Merge branch 'master' into SR/BPM-Display-fix 2023-09-27 18:17:50 +09:00
Dean Herbert
a639e51ddb Fix value not updating after missing beatmap is imported 2023-09-27 18:17:25 +09:00
Dean Herbert
175cf68bd6 Avoid re-fetching WorkingBeatmap 2023-09-27 18:13:07 +09:00
Dean Herbert
a7237e48aa Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-27 17:17:51 +09:00
Dean Herbert
3705c4c8d5 Avoid potentially incorrect size adjustment when texture doesn't change 2023-09-27 17:16:45 +09:00
Dean Herbert
2481c0b64b Don't show replay import "missing beatmap" notifications during stable import
Closes https://github.com/ppy/osu/issues/24926.
2023-09-27 17:04:43 +09:00
Dean Herbert
3708e79577 Adjust logging to still expose the underlying exception 2023-09-27 16:55:03 +09:00
Dean Herbert
c44cca2c23 Fix skin version being incorrectly set to 1.0 when skin is missing skin.ini
Closes https://github.com/ppy/osu/issues/24939.
2023-09-27 16:50:03 +09:00
Dean Herbert
9d8c3f0f5c
Merge pull request #24779 from smoogipoo/split-legacy-scoring-attribs
Split legacy scoring attribs into its own table
2023-09-26 22:35:38 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
ae31a8fadf Reduce delay before loading beatmap after selection change at song select
This was originally set high because of performance concerns. We have
since improved things quite drastically. Even with a very low debounce
my song select is amazingly smooth.

This is about as low as we can got unless we want chaos when key
repeating left/right arrows (it's not as bad as you think, maybe worth
testing during review and see if it feels more expected?).

Of note, stable has key repeat disabled on left/right arrows and zero
debounce.

Addresses concerns in https://github.com/ppy/osu/discussions/24916.
2023-09-26 16:21:09 +09:00
Dean Herbert
0dcf7a2fa9
Merge branch 'master' into split-legacy-scoring-attribs 2023-09-26 15:52:27 +09:00
Dean Herbert
d1d82d2b49 Improve notification display when score import fails 2023-09-26 15:00:56 +09:00
Dean Herbert
567bc8fcd3 Ensure DrawableStoryboardSprite's texture size propagates corectly on skin change 2023-09-26 14:13:51 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-26 14:05:27 +09:00
Bartłomiej Dach
57c00e728b
Update classic scoring algorithm to closer match stable score V1 2023-09-25 19:16:18 +02:00
Fabian van Oeffelt
2040dcabe0 Improve Code Quality 2023-09-25 17:51:39 +02:00
Fabian van Oeffelt
2a3391d83b Remove unused namepace 2023-09-25 16:56:34 +02:00
Fabian van Oeffelt
59d3143645 Fix SR/BPM Display in Playlist rooms 2023-09-25 16:53:40 +02:00
Pasi4K5
74896fd6b2 Fix multiple difficulty search queries not working in some cases. 2023-09-25 13:38:47 +02:00
Pasi4K5
793d1bf970 Add ability to search for difficulty names 2023-09-25 12:52:49 +02:00
Dean Herbert
3c62521e69 Fix OAuth refresh attempt when no network available causing full logout 2023-09-24 10:50:07 +09:00
Dean Herbert
d019cb5167 Update in line with framed clock changes 2023-09-22 22:02:18 +09:00
Dean Herbert
251a85db43 Fix StopUsingBeatmapClock not transferring time and running state 2023-09-22 16:22:36 +09:00
Dean Herbert
faa0481fc6 Fix editor operating directly on track rather than decoupled clock 2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee Don't apply decoupling to SpectatorPlayerClocks
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
6629a47ed3 Fix FramedBeatmapClock's source not being processed 2023-09-22 16:22:35 +09:00
Dean Herbert
bf08fbe196 Set source directly in FramedBeatmapClock ctor
This isn't required, but avoids creating a temporary `StopwatchClock`
and generally just makes debug easier with less state changes.
2023-09-22 16:22:35 +09:00
Dean Herbert
586311d508 Fix souce clock not always being transferred to FramedBeatmapClock in time 2023-09-22 16:22:35 +09:00
Dean Herbert
0200b63fd3 Add note about beatmap offset not being reapplied correctly on ChangeSource 2023-09-22 14:41:07 +09:00
Dean Herbert
a1e298930c Remove second hopefully-unnecessary workaround 2023-09-22 14:41:07 +09:00
Dean Herbert
a451ab75dd Remove hopefully-unnecessary workaround
It was causing issues with the new implementation.
2023-09-22 14:41:05 +09:00
Dean Herbert
df08c4e1ad Disable decoupling for OsuGameBase's beatmap implementation
This avoids it ever mutating the underlying track (aka attempting to start
it). Resolves the one caveat mentioned in
aeef92fa710648d4a00edc523e13c17ac6104125.
2023-09-22 12:49:25 +09:00
Dean Herbert
5f634f2812 Remove unnecessary encapsulation workaround
The new implementation of `DecouplingClock` will not mutate the
underlying clock in any way (unless attempting to start it when
approaching from a negative time value).

This should be quite safe as a result.
2023-09-22 12:49:25 +09:00
Dean Herbert
21a2e27e5f Simplify some pieces of FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
04e6ec8715 Fix interpolation not being applied when applyOffsets is set 2023-09-22 12:49:25 +09:00
Dean Herbert
117cd74af6 Update usage of DecoupleableInterpolatingFramedClock in FramedBeatmapClock 2023-09-22 12:49:25 +09:00
Dean Herbert
3f27be1f33 Replace most usages of DecoupleableInterpolatingFramedClock
Except `FramedBeatmapClock`, which is the high-effort one.
2023-09-22 12:49:25 +09:00
Dean Herbert
600651795b Change FramedBeatmapClock to always be decoupled 2023-09-22 12:49:25 +09:00
Salman Ahmed
5266cdc722 Add explanatory note 2023-09-21 20:41:10 +03:00
Salman Ahmed
095812c6b8
Merge branch 'master' into fix-song-select-shift-delete 2023-09-21 20:25:43 +03:00
Salman Ahmed
9e4a56d64e
Merge branch 'master' into update-framework 2023-09-21 19:49:20 +03:00
Dean Herbert
f1258a3963 Update framework 2023-09-22 01:26:38 +09:00
Dean Herbert
9af4e75dfc Disable clipboard export for song select textbox
In combination with https://github.com/ppy/osu-framework/pull/5997,
closes https://github.com/ppy/osu/issues/24867
2023-09-22 01:24:29 +09:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Dean Herbert
bf984388b3 Update clocks in line with framework changes 2023-09-20 21:17:08 +09:00
Bartłomiej Dach
28da5baea4
Merge branch 'master' into fix-slider-length 2023-09-20 11:10:01 +02:00
Dean Herbert
41a8239e49 Remvoe null default for mods which can't be null 2023-09-20 15:27:50 +09:00
Dean Herbert
c6cc858967 Change implementation of "show speed changes" to require explicit ruleset support 2023-09-20 15:27:30 +09:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
12611a09f1
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-09-20 14:18:41 +09:00
Dean Herbert
71ac5cfc79 Don't bother binding to friends changes for score display purposes 2023-09-20 14:14:37 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight 2023-09-20 14:14:08 +09:00
Dean Herbert
bd66285bd4 Rename parameter on LegacySpriteText to better imply the maximum size is per glyph 2023-09-20 12:59:40 +09:00
Dean Herbert
b5e64d933c Apply same fix to DrawableStoryboardAnimation 2023-09-20 12:54:36 +09:00
Dean Herbert
50adb5f7a7 Remove incorrectly merge conflict resolved 2023-09-20 12:54:28 +09:00
Dean Herbert
cd4651ffe3
Merge pull request #24863 from bdach/storyboard-fail
Fix issues after storyboard resource lookup refactor
2023-09-20 11:14:15 +09:00
Bartłomiej Dach
333b839e0d
Fix broken automatic beatmap download setting migration 2023-09-19 21:38:07 +02:00
Bartłomiej Dach
641e651bf2
Fix DrawableStoryboardVideo attempting to unmap path once too much
The `StoryboardResourceLookupStore` cached at storyboard level is
supposed to already be handling that; no need for local logic anymore.
2023-09-19 20:18:33 +02:00
Bartłomiej Dach
ba518e1da8
Fix StoryboardResourceLookupStore dying on failure to unmap path
Before the introduction of `StoryboardResourceLookupStore`, missing
files would softly fail by use of null fallbacks. After the
aforementioned class was added, however, the fallbacks would not work
anymore if for whatever reason `GetStoragePathFromStoryboardPath()`
failed to unmap the storyboard asset name to a storage path.
2023-09-19 20:11:16 +02:00
Dean Herbert
aea7f81f1c
Merge pull request #24800 from sw1tchbl4d3r/invalid_bank
Default to normal bank if invalid sample bank is specified
2023-09-19 22:28:34 +09:00
Bartłomiej Dach
c4a0ca326e
Replace sample bank fix with more correct fix
stable does not treat unknown enum members as `None` / `Auto`, it treats
them as `Normal`:

    switch (sampleSet)
    {
        case SampleSet.Normal:
        default:
            sample = 0;
            break;
        case SampleSet.None:
        case SampleSet.Soft:
            sample = 1;
            break;
        case SampleSet.Drum:
            sample = 2;
            break;
    }

    (from 1531237b63/osu!/Audio/AudioEngine.cs#L1158-L1171).
2023-09-19 13:53:49 +02:00
Dean Herbert
4a7dc4d792 Fix storyboard UseSkinSprites being implemented incorrectly
This was implemented as a "fallback", but it's actually intended to be
an "override". As in it allows storyboarders to *prefer* a skin sprite
before falling back to a local version contained within the storyboard.

Can be tested with https://osu.ppy.sh/beatmapsets/832364#osu/1743837.

Closes https://github.com/ppy/osu/issues/24813.
2023-09-19 20:20:20 +09:00
Dean Herbert
773ec46989 Expose some storyboard pieces to allow better testability 2023-09-19 20:20:11 +09:00
Bartłomiej Dach
43ae26b8ef
Merge pull request #24809 from peppy/storyboard-resource-lookup-refactor
Refactor storyboard resource lookup to be more streamlined
2023-09-19 12:52:02 +02:00
Dean Herbert
067c487b21
Merge pull request #24450 from cdwcgt/missing-beatmap
Fetch missing beatmap when importing replay
2023-09-19 18:40:02 +09:00
Bartłomiej Dach
ed9039f60f
Fix notification text sets overwriting each other 2023-09-19 11:12:58 +02:00
Dean Herbert
05e05f8160 Increase transition speed slightly 2023-09-19 18:02:08 +09:00
Dean Herbert
cdb5fea513 Remove unused translations 2023-09-19 17:53:00 +09:00
Dean Herbert
f726c38215 Pass ArchiveReader instead of Stream to simplify resolution code 2023-09-19 17:49:15 +09:00
Dean Herbert
0593c76c57 Fix log output using incorrect name 2023-09-19 17:34:24 +09:00
Bartłomiej Dach
62f97a8d83
Adjust beatmap card thumbnail dim state to match web better 2023-09-19 10:28:08 +02:00
Dean Herbert
7f30354e61 Adjust sizing slightly to remove need for CollapsibleButtonContainerSlim 2023-09-19 17:20:58 +09:00
Dean Herbert
0555d22eb8 Add comment mentioning why hover is disabled on the notification type 2023-09-19 16:35:22 +09:00
Bartłomiej Dach
8e199de78a
Tweak nano beatmap card UX further to meet expectations 2023-09-19 08:36:32 +02:00
Magnus-Cosmos
73db68a49a
Check if path lists are empty 2023-09-19 02:28:28 -04:00
Bartłomiej Dach
0ffb906741
Merge pull request #24831 from peppy/update-deps
Update all dependencies (except for Moq)
2023-09-19 07:50:27 +02:00
Magnus-Cosmos
a9b45c6fdc
Fix slider path calculations for edge cases 2023-09-19 01:31:26 -04:00
Dean Herbert
aba98f2985
Merge pull request #24823 from bdach/scoring-test-scene-catch
Add scoring test scene for catch
2023-09-19 13:59:11 +09:00
Salman Ahmed
8e992de763 Fix crash when loading player instance without exiting previous instance 2023-09-19 05:09:01 +03:00
Salman Ahmed
922f6f36f2 Add size limitation for hit object numbers 2023-09-19 04:38:10 +03:00
Salman Ahmed
b823507b2a Add size limitation for approach circles 2023-09-19 04:38:10 +03:00
Salman Ahmed
291a91be66 Change extension from retrieval to post-processing instead 2023-09-19 03:40:30 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Magnus-Cosmos
83584519e6
Fix extension check using control points instead of path points 2023-09-18 11:40:00 -04:00
Bartłomiej Dach
8b5a851f31
Merge branch 'master' into scoring-test-scene-catch 2023-09-18 15:15:03 +02:00
Dean Herbert
163b6df357
Merge pull request #24846 from bdach/get-reader-regression
Fix `MemoryStreamArchiveReader.GetStream()` failing in some cases
2023-09-18 22:06:33 +09:00
Bartłomiej Dach
25e43bd7d7
Auto-close notification after successful download 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
4cdd19bb5a
Use different copy when auto-downloading 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
3bddf4bf9a
Rename spectator-specific settings to more generic (with backwards migration) 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
27471ad170
Make missing beatmap notification simple
Progress didn't work for several reasons:

- It was spinning when nothing was actually happening yet
  (especially egregious with autodownload off)

- It was blocking exits (as all progress notifications do)

- When actually going to download, two progress notifications would
  pertain to one thing

- It wasn't helping much with the actual implementation of score
  re-import, cancelling the progress notification would result in
  similarly jank UX of beatmap importing but not the score.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
b2c98da330
Reword and localise copy 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
2709c6cd67
Integrate nano beatmap card into the notification 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
47764b3012
Fix OsuTestScene.CreateAPIBeatmapSet() not backlinking set beatmaps to the set 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
5fcd736332
Redo nano beatmap card design to fit needs better
Wanting to use this inside notification, it turns out that the original
design did not work very well at such narrow widths, and additionally
the typical button setup borrowed from elsewhere resulted in teeny tiny
action buttons.

To that end, slim down the design (get rid of thumbnail, audio preview,
make expandable right side slimmer), as well as change the entire panel
so that it has only one action associated with it at all times, and
clicking the panel in any place triggers that action.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
67b5dfb9cf
Merge branch 'get-reader-regression' into missing-beatmap 2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap 2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
e57d7d1205
Fix MemoryStreamArchiveReader.GetStream() failing in some cases
`MemoryStreamArchiveReader` introduced in
0657b55196 would previously use
`MemoryStream.GetBuffer()` to retrieve the underlying byte buffer with
stream data. However, this is not generally the method you would want,
for two reasons:

1. It can fail if the stream wasn't created in the way that supports it.
2. As per

	https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.getbuffer?view=net-7.0#system-io-memorystream-getbuffer,

   it will return the _raw_ contents of the buffer, including
   potentially unused bytes.

To fix, use `MemoryStream.ToArray()` instead, which avoids both
pitfalls. Notably, `ToArray()` always returns the full contents of the
buffer, regardless of `Position`, as documented in:

    https://learn.microsoft.com/en-us/dotnet/api/system.io.memorystream.toarray?view=net-7.0#system-io-memorystream-toarray
2023-09-18 11:50:36 +02:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card 2023-09-18 11:30:14 +02:00
Bartłomiej Dach
59b9a636d3
Fix grammar in comment 2023-09-18 10:46:14 +02:00
Bartłomiej Dach
3709861132
Merge pull request #24814 from LukynkaCZE/parse-only-supported-char-uris
Parse only supported schemes as URIs
2023-09-18 10:20:09 +02:00
Bartłomiej Dach
d3cc6dbaa0
Fix link protocol allowlist allowing too much 2023-09-18 09:20:24 +02:00
Dean Herbert
be026f7ff1 Bump realm once more 2023-09-17 01:27:43 +09:00
Dean Herbert
56b5f52e83 Update all dependencies (except for Moq) 2023-09-16 15:37:31 +09:00
Joseph Madamba
c2685da94c
Fix dummy beatmap showing AR 5 on song select 2023-09-15 20:26:17 -07:00
Bartłomiej Dach
ebdc501e5b
Add example scenarios and configurable score multiplier 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
5eccc771c2
Turn off non-perfect judgements for catch scoring test scene 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
0c22ff2a80
Refactor further to allow extensibility to other rulesets 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02:00
Bartłomiej Dach
a6fab28461
Merge branch 'master' into no-legacy-difficulty-control-point 2023-09-15 11:14:28 +02:00
Dean Herbert
56cc2b62f0 Make not extension method 2023-09-15 18:13:04 +09:00
Dean Herbert
0031da76ff Move to extension method and throw on non-legacy ruleset 2023-09-15 17:38:34 +09:00
Bartłomiej Dach
9b391cd661
Merge branch 'master' into import-task-improve 2023-09-14 19:37:01 +02:00
Bartłomiej Dach
c8b18acd4d
Bring back disposal of stream after copy-out to MemoryStream
Was there in previous code and got removed in the refactor. I'd rather
have it than not.
2023-09-14 19:36:35 +02:00
Lukynka CZE
9b8fdcbcdc somehow accidentally removed backslashes 2023-09-14 17:55:53 +02:00
Lukynka CZE
66751ef5bb add regex 2023-09-14 17:46:29 +02:00
Bartłomiej Dach
6aff1d4063
Merge branch 'master' into mod-select-difficulty-multiplier-animation 2023-09-14 16:23:30 +02:00
Dean Herbert
57f32b177d Fix incorrect handling of non-MemoryStream pathway 2023-09-14 22:19:18 +09:00
Bartłomiej Dach
94cdcfd7ce
Move collapsed bindable back to BeatmapAttributesDisplay for now
Better to have it only in one place that needs it, rather than have it
not work as expected when someone inherits
`ModFooterInformationDisplay`.
2023-09-14 14:56:58 +02:00
Bartłomiej Dach
44461b4eff
Merge branch 'master' into mod-select-diff-multiplier-visual-matching 2023-09-14 12:12:23 +02:00
Bartłomiej Dach
3f7b8dbe58
Merge branch 'master' into move-mod-select-diff-multiplier 2023-09-14 11:26:22 +02:00
Bartłomiej Dach
25dbd0a1d3
Rename variable to reflect new "beatmap attributes display" naming 2023-09-14 11:24:53 +02:00
Bartłomiej Dach
2d3be819d0
Merge pull request #24796 from peppy/collapse-preset-column
Collapse mod presets column slightly when not in use
2023-09-14 11:07:36 +02:00
Bartłomiej Dach
18672e178f
Merge pull request #24795 from peppy/fix-mod-rate-adjust-tooltip-x
Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip
2023-09-14 10:18:32 +02:00
Dean Herbert
900376b662 Refactor storyboard resource lookup to be more streamlined 2023-09-14 16:15:50 +09:00
Bartłomiej Dach
68323671ec
Update framework and resources 2023-09-14 08:24:18 +02:00
Dean Herbert
7bf0a22112 Improve flash effect 2023-09-14 13:57:56 +09:00
Dean Herbert
364094fcf2 Inline all archive reader pathing 2023-09-14 13:38:23 +09:00
Dean Herbert
541cd972e1 Rename ArchiveReader implementations to read better 2023-09-14 13:36:07 +09:00
Dean Herbert
0657b55196 Avoid MemoryStream.ToArray overhead in LegacyByteArrayReader 2023-09-14 13:33:25 +09:00
Dean Herbert
b5902a8736 Avoid MemoryStream overhead for incoming non-MemoryStream in ImportTask 2023-09-14 13:29:29 +09:00
Dan Balasescu
753c1c877c Revert masking SSBO changes 2023-09-13 23:10:13 +09:00
Dean Herbert
32946413de Change display text from "difficulty" to "score" multiplier 2023-09-13 20:01:19 +09:00
Dean Herbert
3e1388c73f Add vertical animation when difficulty multiplier is changed 2023-09-13 19:57:48 +09:00
Dean Herbert
824a3e4adc Update DifficultyMultiplierDisplay to use new shared design 2023-09-13 19:56:31 +09:00
sw1tchbl4d3
5b2af7f264 Default to none bank if invalid samplebank is specified 2023-09-13 12:44:00 +02:00
Dean Herbert
46d5aa59bf Split base design out of BeatmapAttributesDisplay 2023-09-13 19:33:30 +09:00
Dean Herbert
9a7d1ed98b Tidy up DifficultyMultiplierDisplay 2023-09-13 18:55:17 +09:00
Dean Herbert
35840bf671 Combine ModCounterDisplay and DifficultyMultiplierDisplay into one class 2023-09-13 18:51:56 +09:00
Dean Herbert
491d94c5ac Use local shear definition 2023-09-13 18:51:50 +09:00
Dean Herbert
41b0619533 Fix shear being included on wrong side of ModCounterDisplay 2023-09-13 18:19:42 +09:00
Dean Herbert
923c2a16ed Fix weird centering of multiplier "x" 2023-09-13 18:11:16 +09:00
Dean Herbert
21252c1c23 Fix animations 2023-09-13 18:06:50 +09:00
Dean Herbert
e241e41f2a Fix layout decision to account for new multiplier addition 2023-09-13 17:55:21 +09:00
Dean Herbert
49114430ed Move multiplier display to bottom of sceen to make visible while customising 2023-09-13 17:43:55 +09:00
Dean Herbert
be373391f8 Simplify multiplier display implementation 2023-09-13 17:43:41 +09:00
Dean Herbert
f5cee22db7 Collapse mod presets column slightly when not in use 2023-09-13 17:05:42 +09:00
Dean Herbert
d146da9546 Fix rate adjust mods not showing "x" prefix on customisation slider's tooltip 2023-09-13 16:43:48 +09:00
Givikap120
1a70110a4e Added BeatmapAttributesDisplay support 2023-09-12 16:44:44 +03:00
Givikap120
c61212c523
Merge pull request #1 from Givikap120/master
add display to calibrate
2023-09-12 13:02:19 +03:00
Dean Herbert
4ecc4632aa Make rounding error even less precise
Basically matching the old code more closely to avoid too much precision
from doing math in a slightly different way.
2023-09-12 18:41:09 +09:00
Dean Herbert
0d7157f727
Merge branch 'master' into map_info_on_mod_settings 2023-09-12 17:16:47 +09:00
Dean Herbert
7e3652284d Adjust various class naming and add some xmldoc 2023-09-12 17:15:16 +09:00
Dean Herbert
3da30485b2 Move shear spec to correct location 2023-09-12 17:06:45 +09:00
Dean Herbert
e40eaa7377 Improve collapse/expand animations
Especially when on a screen resolution where it would start collapsed.
2023-09-12 17:06:45 +09:00
Dean Herbert
7aaf88ae84
Merge branch 'master' into overlays/profile/previous-usernames 2023-09-12 15:54:41 +09:00
Dean Herbert
23521ad394 Simplify container structure and mention why a zero-size container is being used 2023-09-12 15:53:27 +09:00
Dean Herbert
a6acd00908 Reword inline comment 2023-09-12 15:46:05 +09:00
Dean Herbert
b4bedee49e Adjust naming of component to give more context 2023-09-12 15:43:59 +09:00
Dean Herbert
04ab44bb7a
Reword xmldoc to read better
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-12 15:28:55 +09:00
tsrk.
f331f92151
chore: explain f6031bc1 2023-09-11 16:06:06 +02:00
tsrk.
8c989d77bd
revert: use OverlayColourProvider for B6
Refs: 293b81106261b1a3aad47d9461a8ba7f550c8b6
2023-09-11 16:03:15 +02:00
tsrk.
c6e8a77f08
refactor: slightly offset to make it look good 2023-09-11 15:22:23 +02:00
tsrk.
65f3feb044
refactor: remove container position 2023-09-11 15:21:51 +02:00
tsrk.
8c137353b6
feat: integrate previous usernames tooltip to profile overlay 2023-09-11 15:02:19 +02:00
tsrk.
200b3f87ff
fix: adjust values according to osu-web 2023-09-11 14:26:10 +02:00
tsrk.
f6031bc15f
fix: prevent flickering when hovering out 2023-09-11 13:41:32 +02:00
tsrk.
293b811062
feat(OsuColours): add B6 2023-09-11 13:09:49 +02:00
Bartłomiej Dach
eebacfb982
Make mod effect preview uncollapse on hover 2023-09-11 10:59:19 +02:00
Bartłomiej Dach
d51396fdaf
Collapse mod effect preview when it's not wide enough to fit 2023-09-11 10:46:07 +02:00
Bartłomiej Dach
3deb6cb4ec
Fix z-order of mod preview panel 2023-09-11 10:19:02 +02:00
Bartłomiej Dach
0822e8b925
Fix preview panel not being marked nullable 2023-09-11 10:18:37 +02:00
Bartłomiej Dach
f9d4fbee56
Add collapsed state to effect preview panel 2023-09-11 10:16:24 +02:00
Bartłomiej Dach
ff6bf0bc2c
Fix slightly wrong binding setup 2023-09-11 10:16:09 +02:00
Bartłomiej Dach
97665e029b
Remove weird fade 2023-09-11 10:00:44 +02:00
Bartłomiej Dach
589f56d20c
Merge branch 'master' into map_info_on_mod_settings 2023-09-11 09:55:54 +02:00
Bartłomiej Dach
76bf82d900
Do not show mod effects on free mod select 2023-09-11 09:55:45 +02:00
Bartłomiej Dach
53c30dca64
Fix data flow being sometimes incorrect 2023-09-11 09:53:58 +02:00
Bartłomiej Dach
552230af9d
Refactor layout of display 2023-09-11 09:44:52 +02:00
Bartłomiej Dach
f591a30ea7
Refactor preview panel to be more self-contained 2023-09-11 09:19:34 +02:00
Bartłomiej Dach
c1a2b86f3f
Extract constants properly 2023-09-11 08:29:37 +02:00
Bartłomiej Dach
23c4a03848
Fix code inspections 2023-09-11 08:26:05 +02:00
Bartłomiej Dach
e3a0a914e7
Merge pull request #24727 from peppy/fix-mania-skin-lookups-no-sprites
Fix osu!mania legacy skin configurations not working when notes are not skinned
2023-09-11 08:11:58 +02:00
Givikap120
507f9642cc Better counter formatization
Now CS and HP have 1 decimal point precision, while AR and OD is kept with 2 because of future support of rate-changed AR/OD
2023-09-08 22:15:30 +03:00
Givikap120
ed213dad6c minor format fix (again) 2023-09-08 20:38:24 +03:00
Givikap120
a01537c763 minor format fix 2023-09-08 20:37:07 +03:00
Givikap120
02e2b8546c fixed all stated problems 2023-09-08 20:32:55 +03:00
Bartłomiej Dach
2bb869732e
Delete outdated warning disables 2023-09-07 18:47:01 +02:00
Dan Balasescu
4198e025fa Fix overflow 2023-09-08 00:27:01 +09:00
Dan Balasescu
2334be1987 Split legacy scoring attributes into a separate object 2023-09-07 21:10:38 +09:00
Dean Herbert
dcbdc114ce Remove precision limitations of SliderVelocity 2023-09-07 17:41:58 +09:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Dean Herbert
b1a9f50065
Merge pull request #24736 from isakvik/negative-ar-adjustment
Allow "Difficulty Adjust" mod's extended AR selection to go below zero
2023-09-07 17:17:59 +09:00
Dean Herbert
4d12678c9d
Merge pull request #24734 from Joehuu/hd-badges
Use `@2x` variant of profile badges
2023-09-07 15:26:58 +09:00
Bartłomiej Dach
9c6f77b26e
Fix too many things being exposed 2023-09-07 08:11:04 +02:00
Dean Herbert
281c2f6de1
Merge pull request #24733 from Joehuu/wedge-title-artist-link
Link new song select wedge title and artist to search text box
2023-09-07 14:51:43 +09:00
Dean Herbert
e05d7d5f8d Inline local control 2023-09-07 14:22:06 +09:00
Dean Herbert
d2a6235135 Fix code quality issues 2023-09-07 14:19:19 +09:00
Joseph Madamba
0bbe28dcc9
Update badge header background color in line with web 2023-09-06 16:43:32 -07:00
isakvik
2ab11ab568 adds new diffsetting control that shows millisecond values for approach rate override 2023-09-07 01:41:22 +02:00
Joseph Madamba
5ee412cc9a
Use @2x variant of profile badges 2023-09-06 16:17:53 -07:00
Joseph Madamba
d0780fb765
Add comment explaining the max width 2023-09-06 15:01:55 -07:00
Joseph Madamba
97bd90c0ff
Link new song select wedge title and artist to search text box 2023-09-06 14:41:10 -07:00
isakvik
3db0d0d341 extendable minimum AR value for osu!std diff adjust mod, set to -10 2023-09-06 23:26:34 +02:00
Bartłomiej Dach
ce4b523950
Merge branch 'master' into fix-mania-skin-lookups-no-sprites 2023-09-06 19:29:13 +02:00
Bartłomiej Dach
17e791d984
Merge branch 'master' into skin-lookup-debug 2023-09-06 18:44:50 +02:00
Bartłomiej Dach
fe3683ed5b
Adjust formatting slightly
The uneven spacing was bothering me...
2023-09-06 18:41:27 +02:00
Bartłomiej Dach
f9db0fad88
Ignore unused thing inspection harder 2023-09-06 18:37:17 +02:00
Dean Herbert
dce6adb895
Add text explanation of icons
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-09-07 01:23:56 +09:00
cdwcgt
68752f95e5
color friend score to pink 2023-09-06 22:58:03 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Dean Herbert
88b9d3237a Fix osu!mania legacy skin configurations not working when notes are not skinned 2023-09-06 18:03:54 +09:00
Dean Herbert
14936677fc Ignore unused thing inspection 2023-09-06 18:03:40 +09:00
Dean Herbert
6c95b88589 Add debug output for skin configuration lookups
We've struggle with debugging these over the years so I think this was
worth a couple of hours of work.

Example of osu! lookups:

```log
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: SpinnerFrequencyModulate) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: SpinnerFrequencyModulate)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: SpinnerFrequencyModulate) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]:
[runtime] 2023-09-06 08:38:30 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: Vickeblanka - Lucky Ending (TV Size) (tears_) [Normal] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: ScorePrefix) 🟢
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: osu.Game.Skinning.ResourceStoreBackedSkin }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-osu.Game.Skinning.ResourceStoreBackedSkin.GetConfig(lookup: ScorePrefix) 🔴
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: TrianglesSkin{ Name: osu! "triangles" (2017) } }.GetConfig(lookup: ScorePrefix)
[runtime] 2023-09-06 08:38:30 [verbose]: |-|-|-TrianglesSkin{ Name: osu! "triangles" (2017) }.GetConfig(lookup: ScorePrefix) 🔴
```

Example of osu!mania lookups:

```log
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnWidth col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnWidth col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:
[runtime] 2023-09-06 08:28:34 [verbose]: BeatmapSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacyBeatmapSkin{ Name: antiPLUR - Runengon (Raveille) [Easy] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-RulesetSkinProvidingContainer.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: LegacySkin{ Name: Test Skin [test-skin] } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-LegacySkin{ Name: Test Skin [test-skin] }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🔴
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-SkinProvidingContainer+DisableableSkinSource{ skin: SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } } }.GetConfig(lookup: [ManiaSkinConfigurationLookup lookup:ColumnSpacing col:0])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-SkinTransformer{ Skin: DefaultLegacySkin{ Name: osu! "classic" (2013) } }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4])
[runtime] 2023-09-06 08:28:34 [verbose]: |-|-|-|-DefaultLegacySkin{ Name: osu! "classic" (2013) }.GetConfig(lookup: [LegacyManiaSkinConfigurationLookup lookup:ColumnSpacing col:0 totalcols:4]) 🟢
[runtime] 2023-09-06 08:28:34 [verbose]:

```
2023-09-06 18:03:40 +09:00
Bartłomiej Dach
eddb879973
Merge pull request #24722 from peppy/beatmap-status-pill-animation
Add animation support for beatmap status pills
2023-09-06 09:59:21 +02:00
Bartłomiej Dach
b5e812eb3e
Merge pull request #24723 from bdach/beatmap-carousel-split-missing-status
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
63e92f8fab
Fix status on carousel beatmap set not showing in split difficulty mode 2023-09-06 08:25:19 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover 2023-09-06 15:16:34 +09:00
Dean Herbert
1ca713f649
Merge pull request #22116 from mk56-spn/beatmap_wedge_clean_ii
New beatmap information wedge design implementation
2023-09-06 15:10:29 +09:00
Dean Herbert
034c887dcb Add animation support for beatmap status pills
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00
Joseph Madamba
73604d171a
Make "general" a common string 2023-09-05 23:00:07 -07:00
Joseph Madamba
701e24e8d3
Move hide button to end and make it work 2023-09-05 18:50:31 -07:00
Joseph Madamba
6d2e57b73e
Add localisation support to beatmap options popover 2023-09-05 18:43:42 -07:00
Joseph Madamba
69fa8747f0
Explicitly add beatmapinfo param to edit call 2023-09-05 18:35:35 -07:00
Joseph Madamba
9565039192
Hide beatmap options popover when beatmap changes 2023-09-05 18:24:54 -07:00
Joseph Madamba
9f10082ffc
Revert param removal of delete beatmap and clear scores methods 2023-09-05 18:24:53 -07:00
Joseph Madamba
8e8fae0fba
Fix left padding adding shear width 2023-09-05 15:21:23 -07:00
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content 2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display 2023-09-05 14:57:55 -07:00
Joseph Madamba
5becac6431
Make beatmap non-nullable
Doesn't seem like it'll be null after first set: 5454d1caa1/osu.Game/OsuGameBase.cs (L363)
2023-09-05 14:43:43 -07:00
Joseph Madamba
b63c1e4257
Remove mods dependency
BPM is not in the wedge anymore.
2023-09-05 12:14:17 -07:00
Joseph Madamba
6e6dd86a51
Remove buffered container comment
While it is true that there is a transparency overlap, it is only seen when entering/exiting song select. And there are other components game-wide that exhibit the same issue when transparency changes. Should be reconsidered another time.
2023-09-05 11:10:06 -07:00
Dean Herbert
96f12cfbaa Update GetTexture signature rather than creating new overload 2023-09-05 18:01:19 +09:00
Bartłomiej Dach
691c08ebde
Update spectator server development endpoint URLs
With the way `dev.ppy.sh` was previously configured, the `osu-web`
`/multiplayer` routes and `osu-server-spectator` `/multiplayer` routes
would conflict with each other, with the `osu-server-spectator` route
taking precedence. This would mean that some `osu-web` pages would just
straight up not be available on dev.

To counteract this, the `osu-server-spectator` routes are now exposed
under `https://dev.ppy.sh/signalr/`. This PR updates the client-side
configuration to use these new routes.
2023-09-05 10:30:12 +02:00
Dean Herbert
4cd4eb3b0a Move "general" to top for key binding compatibility 2023-09-05 16:46:49 +09:00
Dean Herbert
84d8d33ad7 Add headers and generally improve the UI of the popover 2023-09-05 16:44:55 +09:00
Dean Herbert
4ff3630484 Add a slight delay before hiding the popover to better visualise button click 2023-09-05 16:14:01 +09:00
Dean Herbert
a8c9c2bf17 Remove buffered container (doesn't seem like it's doing anything anymore) 2023-09-05 15:59:00 +09:00
Dean Herbert
1215ad7ace Update framework 2023-09-05 15:40:00 +09:00
Joseph Madamba
98d027d207
Fix star counter animating weird and delayed 2023-09-04 21:39:41 -07:00
Joseph Madamba
9accd0ded2
Fix star rating rolling counter regression 2023-09-04 21:21:56 -07:00
Joseph Madamba
82fb9dc2ef
Simplify text initialization 2023-09-04 12:59:21 -07:00
Joseph Madamba
e70510ef19
Move drawable and binding logic to standard places 2023-09-04 12:56:20 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor 2023-09-04 12:42:01 -07:00
Joseph Madamba
e8a793425b
Use right padding instead of negative x offset 2023-09-04 12:38:40 -07:00
Joseph Madamba
bf71099e57
Fix truncating sprite text usage 2023-09-04 12:04:20 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii 2023-09-04 11:24:20 -07:00
Joseph Madamba
f616648730 Remove icon blending 2023-09-04 09:40:35 -07:00
cdwcgt
fd1fce486a
ensure dispose realmSubscription 2023-09-05 00:21:08 +09:00
cdwcgt
87aa191c12
use realm Subscription instead of Beatmap Download Tracker 2023-09-04 17:53:31 +09:00
cdwcgt
f68a12003a
check beatmap hash before try to import 2023-09-04 17:37:31 +09:00
Bartłomiej Dach
a200d043be
Merge pull request #24698 from Wleter/skin-editor-closest-anchor
Fix closest anchor for rotated/flipped selections in skin editor
2023-09-04 10:29:05 +02:00
cdwcgt
164f61f590
clean up 2023-09-04 17:14:04 +09:00
cdwcgt
3decadaf51
use realm query 2023-09-04 17:13:46 +09:00
Joseph Madamba
6c0bd13308
Add xmldoc to newly exposed methods 2023-09-04 00:53:14 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover 2023-09-04 00:53:09 -07:00
cdwcgt
58844092d6
post a notification instead a screen 2023-09-04 16:17:21 +09:00
Hồ Nguyên Minh
d5a89c4c45 Fix formatting 2023-09-04 13:32:42 +07:00
Hồ Nguyên Minh
b17a55d6a8 Add length check for slider velocity 2023-09-04 10:43:05 +07:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap 2023-09-04 12:41:23 +09:00
Givikap120
8281ed5173 Fixed "no animations" issue 2023-09-03 14:51:53 +03:00
Givikap120
0797926448 Update VerticalAttributeDisplay.cs 2023-09-03 12:19:03 +03:00
Magnus-Cosmos
40dbf098d2
Use existing localisation for "view profile" 2023-09-02 22:51:08 -04:00
Magnus-Cosmos
d674856e29
Use existing localisations in BeatmapInfoWedge 2023-09-02 22:49:29 -04:00
Salman Ahmed
6674c70280 Add support for limiting skin texture/animation dimensions 2023-09-03 02:21:47 +03:00
Givikap120
5e5fe84a88 Update AdvancedStats.cs 2023-09-03 02:19:02 +03:00
Givikap120
0779cd8f4f minor design fixes 2023-09-03 02:17:04 +03:00
Givikap120
2e2d4d0d60 Merge branch 'map_info_on_mod_settings' of https://github.com/Givikap120/osu into map_info_on_mod_settings 2023-09-03 02:09:18 +03:00
Givikap120
b0398b6259 functionality is done 2023-09-03 02:09:01 +03:00
Bartłomiej Dach
76954f6e91
Merge branch 'master' into skin-editor-selection-negative-scaling 2023-09-01 21:30:24 +02:00
tsrk
a4e146ad9b
style: remove usage of HIT_FLOURISH
Unaware clueless usage
2023-09-01 21:02:43 +02:00
tsrk
2e2dcd99a6
fix(AudioCheckUtils): use Path.GetExtension()
To avoid filename escaping
2023-09-01 20:56:54 +02:00
tsrk
5f00d3e2a4
style: convert to using declaration for less nesting 2023-09-01 20:54:02 +02:00
Wleter
fc4069f794 let SelectionBox perform flip with scale handles 2023-09-01 13:01:51 +02:00
Dean Herbert
37c2b330a2 Move toggle implementation to work on all scrolling rulesets automatically 2023-09-01 19:53:10 +09:00
Dean Herbert
6ce251fbb5 Expose base VisualisationMethod so we don't need to new it locally per ruleset 2023-09-01 19:17:53 +09:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Wleter
47160f7744 make getClosestAnchor work with rotated drawable 2023-08-31 20:24:26 +02:00
Dean Herbert
038e618af0 Merge branch 'master' into switch-to-new-score-download-endpoint 2023-08-31 00:15:57 +09:00
Wleter
f277909470 maintain rotated selection's centre position 2023-08-30 09:16:16 +02:00
Dean Herbert
96a5443813
Merge branch 'master' into carousel-difficulty-split 2023-08-30 14:24:30 +09:00
Dean Herbert
cbd4b91feb
Merge pull request #24678 from Nabile-Rahmani/bot-scores
Fix and use score user's IsBot property in results screen animation
2023-08-30 14:00:35 +09:00
Nabile Rahmani
270e2a6600
Update osu.Game/Rulesets/Mods/ModExtensions.cs
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-29 23:59:08 +02:00
Nabile Rahmani
b658b0e346 Fix and use score user's IsBot property in results screen animation
While a mod-created replay did flag itself as performed by a bot, the extension method converting it into a Score did not copy all the generated properties.

As noted, it might be preferable for ModCreatedUser to inherit APIUser and forward it as-is to the Score instance.

Related to PR #24675
2023-08-29 23:28:50 +02:00
tsrk
5ecd5142d8
fix(AudioCheckUtils): add license header 2023-08-29 23:27:15 +02:00
tsrk
b3d432b0d5
fix: issue template typo in CheckDelayedHitsounds 2023-08-29 20:15:33 +02:00
tsrk
c1a7ad09b4
style: move common audio utils to separate static class 2023-08-29 20:10:35 +02:00
tsrk
a7a64b57e9
fix: use using statement for waveform auto-disposal 2023-08-29 19:46:19 +02:00
tsrk
a04333c17b
style: use HitSampleInfo.All properties 2023-08-29 19:42:37 +02:00
Wleter
ce1bc71567 formatting 2023-08-29 18:41:56 +02:00
Wleter
586ce6e8d3 fix multiple selected 2023-08-29 17:47:42 +02:00
Wleter
14ee0ee395
Merge branch 'ppy:master' into skin-editor-selection-negative-scaling 2023-08-29 17:30:55 +02:00
Wleter
d56ab0fe9a change names 2023-08-29 17:25:52 +02:00
Wleter
3c575516ab add correct scaling for 90 degrees rotation 2023-08-29 17:06:23 +02:00
Bartłomiej Dach
d07530b241
Mark "Score V2" mod as not user-playable
The mod generally will only be present on scores imported from stable.
As such, it's probably ok to mark it as such.

The primary reason for this change is to address #24436 (Score V2 being
visible on beatmap overlay leaderboard mod selector).

There is one possibly-unintended consequence of this change, namely that
the results screen uses `UserPlayable` to determine as to whether
animations should be played back, with the intention of turning off the
animation playback for autoplay scores specifically. Therefore, turning
off this flag will mean that the results screen animations will not play
out for Score V2 scores - but I tend to consider this as either largely
unimportant, or something that should be fixed in some other way
(possibly by checking against the autoplay mod directly).

Other usages of `UserPlayable` are either innocuous, or straight-up good
safeties going forward in the context of Score V2 (guards against
selection in mod select overlays, against score submission with
the mod).
2023-08-29 11:52:11 +02:00
Givikap120
f8adc911cd
Merge branch 'ppy:master' into map_info_on_mod_settings 2023-08-28 23:17:04 +03:00
Givikap120
50235cc245 somewhat working prototype 2023-08-28 23:16:33 +03:00
Wleter
07e126241d working negative scaling 2023-08-28 16:41:55 +02:00
Bartłomiej Dach
99d5ff9efb
Switch download requests to new API endpoint
This API endpoint is intended for usage with the entire `solo_scores`
machinery and ID schema, rather than the legacy `*_scores_high` ID
schema. It also supports automagically falling back to downloading
legacy replays if a stable-imported score is requested for download
(internally this happens via `legacy_score_id` in the `data` json).

This change will allow replays to be downloaded, but it will still not
yield 100% correct behaviour, as there is further work to be done in
that respect. The download tracker is expecting score hashes to arrive
from web to verify the integrity of the incoming download, but the API
does not expose such a facility right now; we will have to decide as to
whether we want to add one web-side, or whether we want to disable the
checking client-side.
2023-08-28 13:50:52 +02:00
Bartłomiej Dach
97d1c6e9fc
Merge branch 'master' into carousel-difficulty-split 2023-08-28 11:07:43 +02:00
Bartłomiej Dach
b9795eb3d4
Fix changes to beatmap sets being undone on switching sort mode 2023-08-28 11:02:22 +02:00
Bartłomiej Dach
80ec18d117
Fix incorrect selection restore code in split case
The fallback to "any of the added sets" needs to be applied after
they've all been added, rather than with every added one. Otherwise, in
flows that expect a particular difficulty to be selected in the end
(such as exiting from editor) would end up switching away from the
edited beatmap.
2023-08-28 10:06:26 +02:00
Bartłomiej Dach
0af6cc1394
Fix online ID not being propagated in split difficulty mode
Would result in failures to re-download the beatmap in update flows, for
instance.
2023-08-28 10:05:59 +02:00
Givikap120
290f8db341 fixed stated problems
removed functions from `Ruleset.cs` and added a `GetEffectiveDifficulty()` instead
2023-08-26 02:13:14 +03:00
Givikap120
8a1fc7c340 Basic stuff (not working for now) 2023-08-26 01:20:41 +03:00
tsrk
29a46f5b36
style(editor/checks): add issues for delays with no silence 2023-08-25 11:46:09 +02:00
Dean Herbert
10b1450138 Rename remove method to better explain return type being IEnumerable 2023-08-25 18:10:54 +09:00
tsrk
4c32e9a479
style: use more rigorous hitsound filtering 2023-08-25 00:37:45 +02:00
Givikap120
d5ac93f631 Added "value is rate changed" indication
Now if AR or OD value is not "true" and changed through rate - it will appear with symbol `*`
Instead of `11` it wil show as `11*`
2023-08-25 01:25:12 +03:00
Givikap120
772633178c Moved ruleset decl in right place 2023-08-25 01:02:12 +03:00
Givikap120
17b9b1649a Fixed "works only for std" problem
1) Now it use AR/OD calculation from Ruleset class
2) Implemented needed functions in each of default rulesets
2023-08-25 00:58:26 +03:00
tsrk
50dbf564a5
revert: use old wording
This makes more sense wrt to the complete silence thing.

Refs: f7599c5b
2023-08-24 23:52:41 +02:00
tsrk
f7599c5bc4
style: reword 2023-08-24 23:41:56 +02:00
tsrk
273593a0ee
style: typo 2023-08-24 23:25:42 +02:00
tsrk
208e94e9be
style(editor/checks): add type nullability for Stream 2023-08-24 21:33:54 +02:00
tsrk
df55a2f683
style(editor/checks): fix inconsistent argument names 2023-08-24 21:31:28 +02:00
tsrk
12bff9659b
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-08-24 21:05:59 +02:00
tsrk
a885bf6ebf
feat(editor/checks): check for delayed hitsounds
I really just borrowed the implementation from MapsetVerifier
2023-08-24 21:05:40 +02:00
Dean Herbert
bf0f4fddad Localise non-overridden samples 2023-08-25 01:08:22 +09:00
Dean Herbert
35cdd6d866 Use string.Empty 2023-08-25 01:07:07 +09:00
Dean Herbert
89eeff515b Reduce complexity of selection restore 2023-08-25 00:52:54 +09:00
Givikap120
ed886a4dc3 Added a true AR/OD display when using DT/HT 2023-08-24 16:49:42 +03:00
Givikap120
49598774e0 Added a "Adjust pitch" switch
Adjust pitch switch in DoubleTime and HalfTime mods
Also Nightcore and Daycore is now inherit from RateAdjust
2023-08-24 15:00:32 +03:00
Dean Herbert
9e94f38091 Fix typo in local variable 2023-08-24 18:33:15 +09:00
Dean Herbert
081fb308e1 Merge branch 'master' into new-overlay-sfx 2023-08-24 18:29:00 +09:00
Jamie Taylor
f4415a5bab
Add more detail to comment 2023-08-24 18:20:36 +09:00
Jamie Taylor
7ef5a71e91
Move PopIn/PopOut sample playback from WaveOverlayContainer to WaveContainer (so Multiplayer/Lounge plays the samples) 2023-08-24 18:13:23 +09:00
Jamie Taylor
2e27a476bb
Re-enable sample playback for PasswordEntryPopover and remove sampleJoin playback instead 2023-08-24 18:04:47 +09:00
Dean Herbert
5ddb10281b Move combo exponent to shared constant 2023-08-24 14:55:44 +09:00
Dean Herbert
a8e4237e34 Enable sentry "global mode" as per recommendation
Sentry documentation suggests this should be on for a client-facing app.

We haven't run into issues without it until now, but might as well set it correctly?
2023-08-24 03:23:18 +09:00
Dean Herbert
72d2715222 Show mod settings as "on" or "off" rather than "True" or "False" 2023-08-23 20:21:43 +09:00
Dean Herbert
d6aded3ac3 Update framework 2023-08-23 20:11:55 +09:00
Dean Herbert
91c2cadb47 Add missing colon in mod settings tooltip 2023-08-23 19:13:32 +09:00
Dean Herbert
018be4c20f Fix selection not being retained when switching between split mode 2023-08-22 18:49:02 +09:00
Dean Herbert
ecbf0f138e Fix incorrect handling when new beatmaps arrive 2023-08-22 18:48:07 +09:00
Dean Herbert
2b1c6ae612 Ensure ID is maintained in temporary BeatmapSetInfos 2023-08-22 18:48:07 +09:00
Dean Herbert
290d18ad69 Split out difficulties in beatmap carousel in a bit of a hacky way
Seems like the simplest path forward for now, without a full rewrite.
2023-08-22 18:47:41 +09:00
Bartłomiej Dach
8cd9f0822a
Merge branch 'master' into judge-fix 2023-08-22 09:44:58 +02:00
Bartłomiej Dach
5be5335784
Reword comment to be better 2023-08-22 09:37:54 +02:00
Dean Herbert
5dee43815c Bump version to allow migration to re-run 2023-08-22 16:13:01 +09:00
Bartłomiej Dach
142abe1fd0
Make highlight messages important in order to trigger window flash 2023-08-22 09:01:32 +02:00
Bartłomiej Dach
aa29e00578
Remove FlashTaskbar and use IsImportant directly instead 2023-08-22 08:58:48 +02:00
Bartłomiej Dach
be1a712f33
Make OsuGame dependency nullable 2023-08-22 08:54:41 +02:00
Dean Herbert
4e9e084b2c Merge branch 'master' into scorev3 2023-08-22 15:52:22 +09:00
Bartłomiej Dach
71b5be2568
Merge branch 'master' into ux/notifications/flash-on-message 2023-08-22 08:20:08 +02:00
Dean Herbert
f09b818418 Update resources 2023-08-22 13:17:12 +09:00
Dan Balasescu
e8337c592a Update framework and apply changes to support masking SSBO 2023-08-22 12:50:13 +09:00
Dean Herbert
2937dcef1a
Merge pull request #24610 from bdach/remove-global-action-container-hack
Remove global action container input queue workaround
2023-08-22 12:44:26 +09:00
tsrk
96c58c86ea
refactor: make flashing available in Notifications
This will be used in `NotificationOverlay` when a `Notification` is posted.
2023-08-21 23:36:54 +02:00
Wleter
9f4f81c150 accumulating negative scaling 2023-08-21 19:36:11 +02:00
Bartłomiej Dach
5454d1caa1
Remove global action container input queue workaround
As described in #24248, the workaround employed by
`GlobalActionContainer`, wherein it tried to handle actions with
priority before its children by being placed in front of the children
and not _actually containing_ said children, is blocking the resolution
of some rather major input handling issues that allow key releases to be
received by deparented drawables.

To resolve, migrate `GlobalActionContainer` to use `Prioritised`, which
can be done without regressing certain mouse button flows after
ppy/osu-framework#5966.
2023-08-21 17:54:08 +02:00
Bartłomiej Dach
273dcf9150
Also update the reference to added flag in schema change breakdown 2023-08-21 17:44:35 +02:00
Bartłomiej Dach
99c862f894
Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 17:28:10 +02:00
Bartłomiej Dach
8533cba0bf
Fix mismatching schema version in comment 2023-08-21 17:27:05 +02:00
Bartłomiej Dach
aa5680a8aa
Merge pull request #24527 from Pasi4K5/fix-slider-reversing
Fix sliders being reversed incorrectly in the editor
2023-08-21 17:12:00 +02:00
Bartłomiej Dach
6cd48e9db5
Merge pull request #24604 from peppy/fix-star-fountain-directions
Fix star fountain directions not matching stable
2023-08-21 17:00:51 +02:00
tsrk
bdac052631
refactor(MessageNotifier): apply changes required by framework 2023-08-21 15:29:41 +02:00
OliBomby
e283aa2843 Update inline comments 2023-08-21 13:09:31 +02:00
OliBomby
5bc11ed358 Revert "Ensure invariant of monotone time"
This reverts commit 5d1ccc2601.
2023-08-21 13:02:23 +02:00
OliBomby
c7b1c75379 Revert "Fix typo"
This reverts commit 90f2acaf0a.
2023-08-21 13:00:01 +02:00
Dean Herbert
b3e7416972 Rename new flag and update xmldoc to match 2023-08-21 19:36:22 +09:00
Dean Herbert
662073c472
Fix some incorrect comments / test step descriptions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-21 19:35:04 +09:00
Dean Herbert
db893f3dc7 Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 19:34:12 +09:00
Dean Herbert
5f040a991b Fix potential crash when loading menu items due to cross-thread ops 2023-08-21 19:05:20 +09:00
Dean Herbert
e7d61e0002 Fix star fountain directions not matching stable 2023-08-21 17:59:24 +09:00
Dean Herbert
4915b2563c
Merge pull request #24366 from Joehuu/supporter-playlist-duration
Always show supporter-only playlist durations
2023-08-21 17:46:26 +09:00
Bartłomiej Dach
1d657a8844
Merge branch 'master' into fix-slider-reversing 2023-08-21 09:29:46 +02:00
Bartłomiej Dach
90bef267c8
Merge pull request #24581 from OliBomby/fix-segment-ends
Fix `SliderPath.GetSegmentEnds`
2023-08-21 09:29:13 +02:00
Bartłomiej Dach
dd1ac461db
Reformat xmldoc 2023-08-21 08:29:51 +02:00
Bartłomiej Dach
c27f06c0a7
Merge branch 'master' into formats-nrt 2023-08-21 08:17:34 +02:00
Bartłomiej Dach
de9a4448fc
Merge branch 'master' into fix-export-slider 2023-08-21 07:28:16 +02:00
Bartłomiej Dach
a942b6ff74
Replace inline comment with actual explanation of what's happening 2023-08-21 07:27:02 +02:00
Wleter
d2798c7a1c don't allow negative scaling 2023-08-20 17:55:19 +02:00
OliBomby
56b1062c2f expand xmldoc 2023-08-19 19:39:29 +02:00
Dean Herbert
8120c3f87a
Merge branch 'master' into precise-rotation-2 2023-08-19 23:25:42 +09:00
Bartłomiej Dach
0a55830c16
Add braces for clarification
I like no-braces for single-line ifs as much as anyone, but with inline
comments involved it gets rather dicey.
2023-08-19 14:34:20 +02:00
tsrk
548e6dc23b
feat(MessageNotifier): flash window on PM or mention 2023-08-19 03:04:09 +02:00
Pasi4K5
44a85139e4 Update Reverse() based on the changes in #24581 2023-08-19 02:40:18 +02:00
Pasi4K5
47d787b359 Merge remote-tracking branch 'OliBomby/fix-segment-ends' into fix-slider-reversing 2023-08-19 02:38:34 +02:00
Pasi4K5
0e691d5935 Revert changes in SliderPath 2023-08-19 00:16:05 +02:00
OliBomby
ff07fbae15 fix GetSegmentEnds 2023-08-18 12:20:40 +02:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dean Herbert
cbee7c7146
Merge branch 'master' into import-stable-date-added 2023-08-18 18:01:06 +09:00
Dean Herbert
5e0b89a1a8 Rename GetPath to GetFullPath to better match expectations 2023-08-18 17:56:43 +09:00
Dean Herbert
864f1bdb3e Move population of import time to the Populate method
Feels like a better place to be doing this. I think we want to keep any
kind of potentially expensive work in the `Populate` method.
2023-08-18 17:56:11 +09:00
Dean Herbert
eb2460d180 Remove dead metadata transfer code 2023-08-18 17:40:00 +09:00
Dean Herbert
9023059bc0 Convert to switch statement 2023-08-18 17:27:09 +09:00
Dean Herbert
75750957c7 Add note about why pop in samples are disabled for PasswordEntryPopover 2023-08-18 17:11:30 +09:00
Dean Herbert
fc2fac577f Inverse and xmldoc ShearedToggleButton sample allowance bool 2023-08-18 17:05:25 +09:00
Pasi4K5
3481c41a22 Fix segmentEnds being calculated incorrectly 2023-08-18 04:34:10 +02:00
OliBomby
360f9750e1 Allow selecting empty control point groups 2023-08-17 16:30:18 +02:00
Dean Herbert
c811546868 Update resources 2023-08-17 21:09:50 +09:00
Jamie Taylor
d10d7b6ea4
Change some component samples to go better with overlay pop-in samples 2023-08-17 18:36:37 +09:00
Jamie Taylor
3d7ba0e18c
Add pop-in/pop-out sfx to more overlays 2023-08-17 18:36:37 +09:00
Jamie Taylor
04a1f6a508
Add panning to certain overlay pop-in/pop-outs 2023-08-17 18:36:37 +09:00
Jamie Taylor
b15a54c914
Use new overlay pop-in/pop-out samples 2023-08-17 18:36:36 +09:00
Dean Herbert
e2cb0d7afb Update framework 2023-08-17 17:59:22 +09:00
Dean Herbert
a78c03bd5b Merge branch 'master' into precise-rotation-2 2023-08-17 17:59:13 +09:00
cdwcgt
0db82e5286
beatmapSetInfo never be null 2023-08-17 17:27:50 +09:00
cdwcgt
61a1460f09
remove useless Using 2023-08-17 17:27:14 +09:00
cdwcgt
3a3951ebf4
remove useless api resolved 2023-08-17 17:26:00 +09:00
Krzysztof Gutkowski
59abb59ee8 Set correct date added value when importing stable beatmapsets 2023-08-17 00:49:48 +02:00
OliBomby
8686b6b1e6 fix The last slider point has effect on previous inherited 2023-08-16 16:44:08 +02:00
Dean Herbert
59a31cc868
Merge pull request #24431 from bdach/slider-with-textbox-instantaneous
Add instantaneous mode to `SliderWithTextBoxInput`
2023-08-16 20:10:52 +09:00
Bartłomiej Dach
ed84be2f26
Merge pull request #24566 from peppy/multiplayer-spectator-score-diff
Add score difference display to multiplayer spectator
2023-08-16 12:57:17 +02:00
Dean Herbert
49fc9655d2 Apply NRT to osu.Game.Betamaps.Formats namespace 2023-08-16 19:37:24 +09:00
Bartłomiej Dach
f9ca7f3e0e
Merge pull request #24564 from peppy/multi-spectator-test-improvements
Add various testing improvements to various tournament components
2023-08-16 12:29:36 +02:00
Bartłomiej Dach
19f892687a
Add precise rotation control to osu! editor 2023-08-16 11:37:52 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Bartłomiej Dach
35af15f491
Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 10:34:20 +02:00
Dean Herbert
8b9759c569 Apply nullability to MatchScoreDisplay 2023-08-16 17:26:10 +09:00
Dean Herbert
ab826c35b7 Add score diff display to multiplayer spectator
Basically pulling changes over from the tournament client implementation
2023-08-16 17:26:10 +09:00
Dean Herbert
56eb44d15b Change TestSpectatorClient to provide some better fake data for score / acc 2023-08-16 17:14:42 +09:00
Bartłomiej Dach
add1ef77d0
Fix typo in comment 2023-08-16 10:07:12 +02:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access 2023-08-16 09:59:17 +02:00
Bartłomiej Dach
d70a9a5bc4
Fill out xmldoc and adjust inline commentary 2023-08-16 09:40:46 +02:00
Dean Herbert
bb98f10ff6 Use CurrentTime instead of StartTime for hotfix seek (and update comment) 2023-08-16 16:38:49 +09:00
Dean Herbert
184eabb902 Merge branch 'master' into multi-spectator-fix-startup-delay 2023-08-16 16:27:49 +09:00
Dean Herbert
caf0fd0742 Refactor migration to read the same as previous one 2023-08-16 16:21:42 +09:00
Dean Herbert
68db112882 Re-date migration 2023-08-16 16:20:17 +09:00
Dean Herbert
c885b71f3a Add leaderboard toggle as tracked setting to give better use visibility 2023-08-16 16:17:56 +09:00
Dean Herbert
31c2b7f925 Merge branch 'master' into leaderboard-toggle 2023-08-16 15:49:55 +09:00
Dean Herbert
6e11162ab1 Add helper method for safer realm Find<T> 2023-08-16 15:37:09 +09:00
Bartłomiej Dach
88295a49aa
Fix invalid reference in xmldoc 2023-08-16 07:38:31 +02:00
Bartłomiej Dach
6c4c76350f
Remove unused using directive 2023-08-16 07:36:56 +02:00
Dean Herbert
531794b26b Fix ModelManager not correctly re-retrieving realm objects before performing operations
Falls into the age-old trap of attempting to retrieve an item from realm
without first ensuring that realm is in an up-to-date state.

Consider this scenario:

- Editor is entered from main menu, causing it to create a new beatmap
  from its async `load()` method.
- Editor opens correctly, then main thread performs a file operations on
  the same beatmap.
- Main thread is potentially not refreshed yet, and will result in `null`
  instance when performing the re-fetch in `performFileOperation`.

I've fixed this by using the safe implementation inside `RealmLive<T>`.
Feels like we want this is one place which is always used as the correct
method.

On a quick search, there are 10-20 other usages of `Realm.Find<T>` which
could also have similar issues, but it'll be a bit of a pain to go
through and fix each of these. In 99.9% of cases, the accesses are on
instances which couldn't have just been created (or the usage of
recently-imported/created is blocked by realm subscription flows, ie.
baetmap import) so I'm not touching them for now.

Something to keep in mind when working with realm going forward though.
2023-08-16 14:23:32 +09:00
Dean Herbert
5bd7370439 Add log output when editor is creating a fresh beatmap 2023-08-16 14:23:17 +09:00
Dean Herbert
502844a858 Add ability to construct RealmLive from ID 2023-08-16 14:23:01 +09:00
Dean Herbert
6001f7e5c7 Rename "dummy" local user to something more descriptive
This created weird cases in logs which are very hard to understand. The
one which really got me was this:

```
[runtime] 2023-08-13 07:48:27 [verbose]: Invalidating working beatmap cache for unknown artist - unknown title (Dummy)
```

Which looks like a dummy working beatmap was invalidated, but it turns
out that's just the local user which was populated when creating a new
local beatmap.
2023-08-16 13:52:27 +09:00
Pasi4K5
58bffa13cd Fix possible IndexOutOfRangeException 2023-08-16 01:19:41 +02:00
Pasi4K5
e7e0c49f42 Replace .Distinct() with truncateEndingDuplicates() 2023-08-16 01:14:25 +02:00
Pasi4K5
6346872c39 Improve code readability and add assertion to test scene 2023-08-15 23:27:12 +02:00
Dean Herbert
e8bde6504a Fix score being cloned in async method causing random crashes
Closes https://github.com/ppy/osu/issues/24445.
2023-08-15 16:08:13 +09:00
Dean Herbert
526a145b93
Merge pull request #24546 from peppy/update-framework
Update framework
2023-08-15 15:34:56 +09:00
Bartłomiej Dach
ab1d523528
Fix kiai stars flickering on and off during gameplay
Closes #24503.

The problematic reset of `lastParticleAdded` has been moved to a place
that should hopefully (a) not cause such problems and (b) be much more
explicit about what's happening.
2023-08-15 07:44:05 +02:00
Dean Herbert
8c14ff674e Update framework 2023-08-15 14:33:21 +09:00
Pasi4K5
449bee98cc Code cleanup 2023-08-14 21:56:08 +02:00
Pasi4K5
19c8b74a47 Remove unnecessary circle arc approximation 2023-08-14 21:09:58 +02:00
Bartłomiej Dach
9e7cc05138
Merge branch 'master' into remove-fps-fade-in-out 2023-08-14 18:46:30 +02:00
Dan Balasescu
90d7e46e20 Fix incorrect truncation to int 2023-08-15 00:58:13 +09:00
Dean Herbert
34c761946c Don't completely fade FPS counter out when running at full FPS
I've heard multiple times from uses that this is distracting or
confusing.
2023-08-14 23:55:57 +09:00
Pasi4K5
55ac942e7a Fix IndexOutOfRangeException when trying to reverse a zero-length slider 2023-08-14 14:09:08 +02:00
Pasi4K5
f42b3603b3 Fix linear sliders sometimes being reversed incorrectly
Extract control point reversing to separate method
2023-08-14 14:08:02 +02:00
Dan Balasescu
d1a4a46fd3 Temporarily allow new difficulty attributes to not exist 2023-08-14 16:59:01 +09:00
cdwcgt
e7b34cd4da
declare BeatmapSet is not null 2023-08-14 03:43:16 +09:00
Pasi4K5
8912a0e91e Fix sliders being reversed incorrectly in the editor. 2023-08-12 20:30:48 +02:00
QuantumSno
a0543d97bd
Merge branch 'master' into leaderboard-toggle 2023-08-12 11:21:02 -04:00
Dean Herbert
0eaa383120 Update framework 2023-08-12 17:54:05 +09:00
Bartłomiej Dach
253392409e
Fix LegacyBeatmapExporter not converting beatmap between decode and re-encode 2023-08-12 00:50:31 +02:00
Bartłomiej Dach
37361cd683
Repurpose Flat{File -> }WorkingBeatmap 2023-08-12 00:49:42 +02:00
OliBomby
90f2acaf0a Fix typo 2023-08-11 23:50:00 +02:00
OliBomby
5d1ccc2601 Ensure invariant of monotone time 2023-08-11 23:39:28 +02:00
OliBomby
d2f5e696e7 Fix DrawableHitObject state not synchronizing with hitobject edits 2023-08-11 22:34:04 +02:00
Dean Herbert
896cbb0ba0 Update framework 2023-08-11 21:34:59 +09:00
Bartłomiej Dach
2b738edb93
Reword / fix comments 2023-08-10 22:55:02 +02:00
Bartłomiej Dach
1b3806539a
Merge branch 'master' into leaderboard-toggle 2023-08-10 22:50:55 +02:00
QuantumSno
5d6ebb4df9 Removed comments organizing GlobalActionContainer.cs, since they were incorrectly grouping actions 2023-08-10 10:18:15 -04:00
QuantumSno
71c42167e7 Updated wording on realm comments 2023-08-10 10:17:12 -04:00
Bartłomiej Dach
2698ec9206
Merge branch 'master' into block-exit-if-save-failed 2023-08-08 23:41:03 +02:00
Bartłomiej Dach
500a1363ec
Merge branch 'master' into fix-break-info-decimal-separator 2023-08-08 22:49:00 +02:00
Joseph Madamba
49f5d6813e
Block beatmap editor from testing/exiting/exporting when saving fails 2023-08-04 22:08:25 -07:00
cdwcgt
09047538c7
remove all memory stream dispose 2023-08-04 20:02:22 +09:00
cdwcgt
7989286528
scoreStream never been null 2023-08-04 20:02:03 +09:00
Joseph Madamba
d179fe3d96
Add support for changelog entries with url attached 2023-08-03 23:24:37 -07:00
Bartłomiej Dach
785d2ed9b1
Merge branch 'master' into multi-spectator-better-start-time 2023-08-03 22:07:47 +02:00
Bartłomiej Dach
52b1073d93
Fix playfield skin layer not rotating correctly with barrel roll mod 2023-08-03 21:08:00 +02:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00
Dean Herbert
d39ef48b71 Return null intead of FileNotFoundException on missing file in ZipArchiveReader 2023-08-03 09:01:11 +09:00
Dean Herbert
71f6e5731d
Fix potential null reference if no frames found
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:58:19 +09:00
Dean Herbert
f38b21110f
Add missing parenthesis to comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-03 08:57:43 +09:00
Bartłomiej Dach
f48b1ebdbf
Merge branch 'master' into fix-transparent-player-background 2023-08-03 00:41:42 +02:00
Joseph Madamba
aab462fd95
Fix valueText being replaced even if current is not binding to anything 2023-08-02 09:40:22 -07:00
cdwcgt
0e7e36f114
don't passing stream by exception 2023-08-02 22:04:29 +09:00
Dean Herbert
87fee001c7 Fix multiplayer spectator potentially taking too long to start
When watching from the middle of gameplay, due to a series of failures,
`SpectatorClock` would not get seeked to the current time, causing all
clients to look like they were out of sync.

This is a hotfix for the issue. A better fix will require framework
changes or considerable restructuring.

I'd recommend testing this works in practice and agreeing that while it
is a hack, it's likely not going to cause issues and is something we
want to see fixed sooner rather than later.
2023-08-02 19:05:43 +09:00
cdwcgt
6637a5e7bc
ensure Performer not null 2023-08-02 18:53:27 +09:00
Dean Herbert
75c1d5ad7f Add lenience to FramedBeatmapClock workaround 2023-08-02 18:49:24 +09:00
Dean Herbert
14d87e49c7 Improve choice of where to start playback of multiplayer spectator 2023-08-02 18:46:35 +09:00
cdwcgt
1bdd054bd6
extract method 2023-08-02 18:16:39 +09:00
cdwcgt
4c43c92329
ensure dispose stream 2023-08-02 17:58:17 +09:00
cdwcgt
c07a1ec91e
retrun DefaultBeatmap when beatmapset already delete pending
reimplement https://github.com/ppy/osu/pull/22741
2023-08-02 17:58:17 +09:00
cdwcgt
eef63b41da
fetch missing beatmap when import score with missing beatmap 2023-08-02 17:58:05 +09:00
Dean Herbert
0e510088f9 Ensure background of gameplay is black when storyboard is overriding background display 2023-08-02 15:50:15 +09:00
Dean Herbert
a618ed140e Move StoryboardReplacesBackground bindable more local to usage 2023-08-02 15:29:18 +09:00
QuantumSno
5443f89dca Assuming its still set to tab, removes binding for toggle chat so itll be set to the new default 2023-08-01 16:58:52 -04:00
QuantumSno
426bc52fd5 Updated schema_version number and added braces around some migration cases to help with re-using variable names 2023-08-01 14:27:37 -04:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes 2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results 2023-08-01 18:25:41 +02:00
Bartłomiej Dach
d65f08a048
Merge pull request #24427 from peppy/fix-skin-editor-crash-multi-spectator
Fix game crashing when entering skin editor in multiplayer spectator
2023-08-01 18:25:11 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter 2023-08-01 18:09:48 +02:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle 2023-08-01 10:06:03 -04:00
Dean Herbert
70bd1d3cf4 Fix centred player not animating correctly 2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2 Show extended statistics in multiplayer spectator automatically 2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b Fix onLoadRequested getting early-exited too early in spectator scenarios
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.

Here's an example:

- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete

In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.

It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90 Fix potential crash on multiple StartGameplay calls in multiplayer spectator 2023-08-01 19:22:41 +09:00
Bartłomiej Dach
4fb0ff8800
Implement instantaneous SliderWithTextBoxInput mode 2023-08-01 01:02:16 +02:00
Bartłomiej Dach
ca81f23356
Add test covering non-instantaneous behaviour 2023-08-01 01:01:37 +02:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +02:00
Dean Herbert
d78cc60851 Update framework 2023-08-01 07:12:40 +09:00
Dean Herbert
a3afb198a1
Merge pull request #24341 from bdach/selection-operations-refactor
Refactor rotation handling in editor to facilitate reuse
2023-07-31 17:18:05 +09:00
Dean Herbert
72005bef7c Fix skin editor crashing if the same component is provided twice 2023-07-31 15:10:58 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler via DI rather than explicit passing 2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
7763f3dd40
Fix osu! logo suddenly disappearing during rapid exit 2023-07-30 19:05:37 +02:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
This was supposed to be fixed by #24255, but has popped up as a
regression on Sentry since:

	https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email

On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op 2023-07-30 14:58:14 +02:00
Bartłomiej Dach
1981e49a40
Fix nullability inspection 2023-07-30 14:28:16 +02:00
Bartłomiej Dach
b51e577239
Merge pull request #24418 from peppy/now-playing-async-fix
Fix now playing overlay background occasionally showing incorrect background
2023-07-30 14:05:49 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3 Remove pending export operation if active score is changed 2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6 Don't queue export replay operations if button is disabled 2023-07-30 16:41:33 +09:00
Dean Herbert
de61b74e91 Add proper cancellation and out-of-order blocking logic to NowPlayingOverlay's background carousel 2023-07-30 16:21:35 +09:00
Dean Herbert
07d224ecb6 Apply NRT to NowPlayingOverlay 2023-07-30 16:17:04 +09:00
Dean Herbert
4f83c8661a Remove unnecessary async fetch of beatmap in NowPlayingOverlay
No idea if this was historically required for some reason, but it's
definitely not required now.
2023-07-30 16:16:25 +09:00
Dean Herbert
45ceaba00d Disable multiplayer spectator zoom when there's only one player's screen visible 2023-07-30 14:40:58 +09:00
Dean Herbert
7138291636 Adjust xmldoc to explicitly metnion it only affects end user control 2023-07-30 13:52:58 +09:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f Update BreakInfoLine to formatting standards 2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3 Remove unnecessary text comparison 2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb Remove unnecessary prefix parameter 2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225 Apply NRT to BreakInfoLine 2023-07-29 10:39:50 -07:00
Dean Herbert
75625f089e Hide toolbar when entering multiplayer spectator 2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f Further refactorings along with shadow implementation 2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd Improve animation and sizing of maximised screen display 2023-07-30 02:29:14 +09:00
Dean Herbert
1826819663 Move Facade to nested class 2023-07-30 02:29:14 +09:00
Dean Herbert
5fa0a21b56 Add corner radius around player areas 2023-07-30 02:29:14 +09:00