1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-20 06:33:02 +08:00
Commit Graph

40666 Commits

Author SHA1 Message Date
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
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
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