1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-21 07:53:38 +08:00
Commit Graph

42933 Commits

Author SHA1 Message Date
Nitrous
30e335233d
Crop screenshot image to scaling container. 2024-01-25 09:27:10 +08:00
Andrei Zavatski
7811968582 Fix ArgonScoreCounter is still using localisation 2024-01-25 03:28:02 +03:00
Mike Will
9e1c242713 Prevent custom divisor ranges from halting preset cycling
A custom divisor like 24 or 32 will result in a range containing
many divisors that are already in the `Common` and `Triplets` presets.
When this happens, it can become impossible to cycle between presets,
because the preset can only be changed if the new divisor isn't already
contained within the current preset's range.
2024-01-24 18:31:39 -05:00
Andrei Zavatski
67010fcd03 Reduce allocation overhead in ScoreCounter 2024-01-24 23:45:07 +03:00
Bartłomiej Dach
e3eb7a8b42
Support verification via clicking link from e-mail 2024-01-24 21:35:58 +01:00
Bartłomiej Dach
62a0c236bc
Split out raw websocket logic from conjoined notifications client contrivance 2024-01-24 21:35:30 +01:00
Bartłomiej Dach
602c3bc2d9
Hook up reissue request 2024-01-24 21:35:21 +01:00
Bartłomiej Dach
445a7450e0
Implement verification from within client 2024-01-24 21:35:20 +01:00
Chandler Stowell
d2775680e6 use stack to pass action state when applying hit results
this removes closure allocations
2024-01-24 13:13:45 -05:00
Bartłomiej Dach
ddc2bbeb9b
Add session_verified attribute to /me response 2024-01-24 14:24:33 +01:00
Bartłomiej Dach
7b47215657
Split /me request from /users requests
Them being together always bothered me and led to the abject failure
that is `APIUser` and its sprawl. Now that I'm about to add a flag that
is unique to `/me` for verification purposes, I'm not repeating the
errors of the past by adding yet another flag to `APIUser` that is never
present outside of a single usage context.
2024-01-24 14:22:57 +01:00
Bartłomiej Dach
7c140408ea
Add request structures for verification endpoints 2024-01-24 13:53:40 +01:00
Dean Herbert
b272d34960
Merge pull request #26630 from peppy/s-rank-change
Change S rank to require no miss
2024-01-24 13:27:40 +09:00
Bartłomiej Dach
5d26afc531
Fix OsuGameTestScene not clearing second auth factor 2024-01-23 17:00:16 +01:00
Bartłomiej Dach
2cfaa1c103
Merge branch 'master' into 2fa 2024-01-23 16:51:23 +01:00
Bartłomiej Dach
871683a3dc
Merge pull request #26674 from peppy/use-better-enumerator
Reduce enumerator overhead in `GameplayLeaderboard`
2024-01-23 16:31:17 +01:00
Bartłomiej Dach
0486c77a74
Merge pull request #26680 from peppy/fix-now-playing-centering
Fix now playing beatmap backgrounds not being correctly centred
2024-01-23 16:17:34 +01:00
Bartłomiej Dach
6c169e3156
Do not reprocess ranks for custom rulesets
Chances are that because we've broken rank API, it would utterly fail
for all custom rulesets anyhow.
2024-01-23 12:59:36 +01:00
Bartłomiej Dach
cb87d6ce50
Move transferal of LegacyTotalScore back to original spot
This subtle detail was messing with server-side score import flows.
Server-side, legacy total score will *already* be in `LegacyTotalScore`
from the start, and `TotalScore` will be zero until recomputed via
`StandardisedScoreMigrationTools.UpdateFromLegacy()` - so in that
context, attempting to move it across is incorrect.
2024-01-23 12:42:57 +01:00
Dean Herbert
0cf90677e6
Apply more correct visual offset adjustment
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2024-01-23 19:16:55 +09:00
Dean Herbert
c8cd7ebe6c
Fix now playing beatmap backgrounds not being correctly centred
https://github.com/ppy/osu/discussions/26679
2024-01-23 17:30:00 +09:00
Andrei Zavatski
da992ccc55 Implement per-axis triangles clamping 2024-01-23 04:54:27 +03:00
Bartłomiej Dach
4d253ebf3c
Remove redundant assertion
It does look pretty dumb to be checking if something is `null` *after
calling an instance method on it*...
2024-01-22 22:01:03 +01:00
Bartłomiej Dach
fdd499a485
Fix rank background processing not working (and not bumping score version) 2024-01-22 21:34:28 +01:00
Dean Herbert
02bb506cce
Avoid using .Children for enumeration in other locations 2024-01-23 05:32:11 +09:00
Dean Herbert
069af13aaf
Reduce enumerator overhead in GameplayLeaderboard 2024-01-23 05:31:53 +09:00
Bartłomiej Dach
24be6d92ce
Expand xmldoc 2024-01-22 21:13:59 +01:00
Bartłomiej Dach
cdd6e71d01
Remove legacy computation of accuracy & ranks 2024-01-22 20:52:54 +01:00
Bartłomiej Dach
217cbf684b
Remove superfluous recomputation of accuracy 2024-01-22 20:52:54 +01:00
Bartłomiej Dach
db4849442e
Unify legacy total score / accuracy / rank recomputation flows 2024-01-22 20:52:51 +01:00
Bartłomiej Dach
2958631c5d
Use lazer accuracy & rank implementations across the board 2024-01-22 20:30:16 +01:00
Bartłomiej Dach
aa8eee0796
Move maximum statistics population to LegacyScoreDecoder 2024-01-22 20:01:24 +01:00
Bartłomiej Dach
45dc9de1e0
Remove remnant of old implementation of showing "A due to misses" 2024-01-22 19:58:11 +01:00
Bartłomiej Dach
cb8ec48717
Make RankFromScore()'s dictionary param readonly
Just to make sure nobody tries any "funny" business.
2024-01-22 19:56:30 +01:00
Bartłomiej Dach
5bae9074aa
Merge branch 'master' into s-rank-change 2024-01-22 19:54:53 +01:00
Bartłomiej Dach
4cd1573a4c
Merge pull request #26612 from peppy/fix-back-sample-playback
Fix back sound being too loud when exiting many screens
2024-01-22 16:18:32 +01:00
Bartłomiej Dach
3cf83e7106
Merge pull request #26667 from peppy/fix-star-fountains
Fix star fountains sometimes resetting visually
2024-01-22 16:13:55 +01:00
Bartłomiej Dach
43fa89ebcd
Merge branch 'master' into fix-back-sample-playback 2024-01-22 15:36:32 +01:00
Bartłomiej Dach
9aa7c7f591
Revert incorrect removal of exitConfirmed flag
Removing it meant that it was _literally impossible_ to exit
multiplayer.
2024-01-22 15:35:03 +01:00
Bartłomiej Dach
b85a861175
Merge pull request #26668 from peppy/adjust-tick-end-misses
Adjust slider tick / end miss animations to be less busy
2024-01-22 15:03:33 +01:00
Bartłomiej Dach
49c117793c
Merge pull request #26609 from peppy/fix-per-ruleset-hud-positioning
Fix gameplay elements not correctly offsetting to avoid per-ruleset skin layout
2024-01-22 15:00:03 +01:00
smallketchup82
2305a53a02 Remove max combo reading & remove unnecessary commas 2024-01-22 08:59:37 -05:00
Bartłomiej Dach
95435ecd13
Merge pull request #26591 from peppy/offset-awareness
Show offset explanation tooltip on settings offset adjust slider bar
2024-01-22 14:59:31 +01:00
Bartłomiej Dach
17d05b0fdf
Fix non-miss drawable judgements fading out instantly on triangles skin
`else if` proves to be insidious once again.
2024-01-22 14:23:46 +01:00
Bartłomiej Dach
b8dd78eec8
Merge branch 'master' into fix-per-ruleset-hud-positioning 2024-01-22 13:55:56 +01:00
Dean Herbert
15df6b1da1
Revert keyboard seek speed change 2024-01-22 21:47:38 +09:00
Bartłomiej Dach
99d3fcc326
Fix crash if ruleset components container is not present 2024-01-22 13:45:55 +01:00
Dean Herbert
83f9118b22
Adjust results screen to handle S->A rank adjustment when misses are present 2024-01-22 21:43:32 +09:00
Dean Herbert
644e7d6fe6
Add migration 2024-01-22 21:43:32 +09:00
Dean Herbert
4eba3b5d70
Move BackgroundDataStoreProcessor to better namespace 2024-01-22 21:43:32 +09:00
Dean Herbert
c8521b49cd
Change S rank to require no miss 2024-01-22 21:43:32 +09:00
Bartłomiej Dach
7f31070b87
Merge pull request #26648 from peppy/fix-followpoint-pooling
Fix `FollowPointConnection` pool filling up when follow points are hidden
2024-01-22 13:31:43 +01:00
Bartłomiej Dach
0d6c681275
Merge pull request #26649 from peppy/fix-more-allocations
Remove `FillFlow` overhead of argon counters
2024-01-22 12:57:16 +01:00
Bartłomiej Dach
c8053a8077
Merge pull request #26600 from peppy/frame-stable-catchup-zoom
Change frame stable catch-up method to allow for much faster sync
2024-01-22 11:29:15 +01:00
Bartłomiej Dach
b7f0102461
Merge pull request #26662 from peppy/fix-player-crash
Fix potential null reference in player screen transition handling
2024-01-22 11:07:16 +01:00
Dean Herbert
47e9846315
Adjust slider tick / end miss animations to be less busy 2024-01-22 18:48:48 +09:00
Bartłomiej Dach
77ef12ebb0
Merge branch 'master' into frame-stable-catchup-zoom 2024-01-22 10:37:06 +01:00
Bartłomiej Dach
daa9279a23
Merge pull request #26607 from peppy/replay-seek-single-frame
Add ability to step forward/backwards single frames when watching replays
2024-01-22 10:36:13 +01:00
Dean Herbert
319af2d0c6
Merge branch 'master' into fix-storyboard-sprites-3 2024-01-22 18:03:24 +09:00
Dean Herbert
cd551b1abd
Fix star fountains sometimes resetting visually
Addresses https://github.com/ppy/osu/discussions/26622.
2024-01-22 18:01:21 +09:00
Dean Herbert
993e733fce
Merge pull request #26598 from frenzibyte/fix-storyboard-sprites-2
Remove handling for non-legacy texture lookup paths in `LegacySkin`
2024-01-22 17:50:55 +09:00
Bartłomiej Dach
1ac682e2c9
Merge branch 'master' into replay-seek-single-frame 2024-01-22 09:36:15 +01:00
Bartłomiej Dach
af5e6700af
Merge pull request #26606 from peppy/frame-stable-update-while-paused
Allow seeking while paused
2024-01-22 09:35:52 +01:00
Dean Herbert
3dd18c777a
Remove a couple more overrides 2024-01-22 17:00:35 +09:00
Dean Herbert
f6fa965252
Merge pull request #26661 from frenzibyte/fix-mouse-blueprint
Fix blueprint container not handling right clicks correctly while moving a blueprint
2024-01-22 16:53:54 +09:00
Bartłomiej Dach
cd9cb7d6c8
Merge branch 'master' into frame-stable-update-while-paused 2024-01-22 08:52:15 +01:00
Bartłomiej Dach
493d495992
Merge pull request #26605 from peppy/simplify-gameplay-pause
Simplify gameplay pause sequence
2024-01-22 08:49:08 +01:00
Dean Herbert
62965549e7
Merge pull request #26660 from EVAST9919/carousel-alloc
Reduce allocation overhead in `BeatmapCarousel`
2024-01-22 16:47:28 +09:00
Dean Herbert
3e5fe66e58
Fix potential null reference in player screen transition handling
See https://github.com/ppy/osu/actions/runs/7607677219/job/20715418536?pr=26660.
2024-01-22 16:37:56 +09:00
Dean Herbert
1f0ad5cff2
Apply same fix in more places 2024-01-22 15:56:16 +09:00
Dean Herbert
74f05a5c4b
Use container itself rather than ScrollContent 2024-01-22 15:54:24 +09:00
Salman Ahmed
2bd9cd5d34 Fix blueprint container not handling right clicks correctly while moveing an element 2024-01-22 04:39:08 +03:00
Andrei Zavatski
cec4f670d1 Reduce allocation overhead in BeatmapCarousel 2024-01-22 03:12:23 +03:00
Dean Herbert
3b7a47aded
Merge branch 'master' into update-framework 2024-01-21 13:49:44 +09:00
Dean Herbert
02369139b3
Remove FillFlow overhead of argon counters 2024-01-21 13:22:58 +09:00
Andrei Zavatski
1393f52b2b Rename Masking to ClampToDrawable 2024-01-21 05:20:42 +03:00
Dean Herbert
a69fd8198d
Update framework and other nuget packages
- Moq held back because dicks
- NUnit held back because large API changes (trivial but effort)
- SignalR held back due to api deprecations
2024-01-21 11:00:53 +09:00
Andrei Zavatski
e003ecb593 Change default masking value to true 2024-01-21 04:57:48 +03:00
Dean Herbert
2dedead1d1
Allow debug instances to coexist alongside release instances 2024-01-21 10:56:55 +09:00
Dean Herbert
1999e772f6
Fix FollowPointConnection pool filling up when follow points are hidden
Closes https://github.com/ppy/osu/issues/26642.

I think this applied to all pooling cases here.
2024-01-21 10:31:27 +09:00
Andrei Zavatski
6ba3546be5 Enable masking in RoundedButton 2024-01-21 02:28:14 +03:00
Andrei Zavatski
60f7b4ea2f Enable masking in DrawableRank 2024-01-21 02:25:29 +03:00
Andrei Zavatski
421ae73715 Enable masking in DrawableCarouselBeatmap 2024-01-21 02:21:09 +03:00
Andrei Zavatski
087d0f03a4 Enable masking in toolbar 2024-01-21 02:15:48 +03:00
Andrei Zavatski
a3703d657a Enable masking in popup dialog 2024-01-21 02:12:49 +03:00
Andrei Zavatski
3ad3b052df Enable masking is osu logo 2024-01-21 02:10:36 +03:00
OliBomby
78e87d379b fix divide by zero 2024-01-20 16:53:11 +01:00
OliBomby
2f924b3368 fix skewed single axis scale 2024-01-20 16:33:03 +01:00
OliBomby
5f40d3aed9 rename variable 2024-01-20 16:29:26 +01:00
OliBomby
a155b315bf Fix negative width or height skin drawables 2024-01-20 16:10:17 +01:00
OliBomby
ac76af5cc8 fix skin scale coordinate system 2024-01-20 15:43:47 +01:00
OliBomby
9b9485f656 fix adjust axes detection 2024-01-20 15:39:38 +01:00
OliBomby
1596776a81 fix imports 2024-01-20 15:15:49 +01:00
OliBomby
0fc448f4f3 fix adjusting scale from anchor 2024-01-20 15:12:48 +01:00
OliBomby
6a4129dad8 fix aspect ratio transform 2024-01-20 15:11:35 +01:00
OliBomby
fcaa5ec20e remove debug logs 2024-01-20 13:26:08 +01:00
OliBomby
6a57be0a50 clean up code and fix flipping 2024-01-20 13:04:05 +01:00
Andrei Zavatski
45effdb6df Remove local vertex batching from triangles backgrounds 2024-01-20 08:41:34 +03:00
OliBomby
ed430a3df4 refactor skin editor scale 2024-01-20 02:49:56 +01:00
OliBomby
a4f771ec08 refactor CanScale properties 2024-01-20 01:13:01 +01:00
OliBomby
26c0d1077a Refactor scale handling in editor to facilitate reuse 2024-01-20 00:22:53 +01:00
Joseph Madamba
3eeefd5b7e Fix changelog stream user count only accounting for latest build 2024-01-18 16:15:52 -08:00
Dean Herbert
0383bdf6a1
Add bindings for stepping backward/forward 2024-01-18 20:38:25 +09:00
Dean Herbert
c50534c819
Move seek/step logic into ReplayPlayer 2024-01-18 20:38:15 +09:00
Salman Ahmed
b97c3ac9ee Fix revert-to-default button appearing on disabled settings regardless of value 2024-01-18 14:24:49 +03:00
Dean Herbert
8c4af58109
Keep replay controls expanded by default 2024-01-18 20:13:32 +09:00
Dean Herbert
60e972cd15
Add ability to step forward/backwards single frames 2024-01-18 20:13:32 +09:00
Dean Herbert
dafff26d0e
Tidy up implementation of PlaybackSettings 2024-01-18 20:13:32 +09:00
Dean Herbert
e73910571f
Allow FrameStabilityContainer to continue updating while paused during replay playback 2024-01-18 20:13:28 +09:00
Dean Herbert
2afa4c7e1c
Remove redundant RequiresChildrenUpdate usage
We are already manually calling `base.UpdateSubTree` when we need to.
Changing this flag is doing nothing and just adds to the complexity of
the implementation.
2024-01-18 20:13:28 +09:00
Andrei Zavatski
4532a409d2
Fix ConstrainedIconContainer always using masking 2024-01-18 20:13:27 +09:00
Dean Herbert
c4e9bcd140
Remove test guarantee of audio time not advancing 2024-01-18 20:06:53 +09:00
Dean Herbert
82e7643df5
Update IPC usages
Of note, I've disabled IPC on visual test runners as we generally don't
use IPC in these cases. Having it set means that the game will not open
while visual tests are open, which has been a complaint from devs in the
past.
2024-01-18 19:45:36 +09:00
Bartłomiej Dach
2be989b9f5
Merge pull request #26542 from peppy/non-touch-fade-button
Fade hold-for-menu button out completely on non-touch devices
2024-01-18 11:27:50 +01:00
Dean Herbert
c9945b41c1
Remove rounding of slider velocity (when applied as scroll speed)
This affects both osu!taiko and osu!mania.

Closes https://github.com/ppy/osu/issues/25862.
2024-01-18 18:37:44 +09:00
smallketchup82
5c70c786b4 Fix extended tooltip content still being shown despite ShowExtendedTooltip being false 2024-01-18 03:18:44 -05:00
Dean Herbert
fd9c7184e4
Only play back sample once when traversing up multiple screens in stack 2024-01-18 16:31:33 +09:00
Dean Herbert
ef0b5c9406
Stop playing back samples for nested screens in multiplayer
I'd argue this sounds better.
2024-01-18 16:31:20 +09:00
Dean Herbert
a756942f4d
Merge branch 'master' into fix-storyboard-sprites-2 2024-01-18 16:07:02 +09:00
Dean Herbert
ee3de9c522
Fix gameplay elements not correcly offsetting to avoid per-ruleset skin layout
Closes https://github.com/ppy/osu/issues/26601.
2024-01-18 15:44:27 +09:00
Dean Herbert
8ab8c90e33
Remove "pause rate adjust" flow 2024-01-18 14:21:02 +09:00
Dean Herbert
799c74cfe5
Simplify gameplay pause sequence 2024-01-18 14:17:19 +09:00
Dean Herbert
c362a93a36
Change frame stable catch-up method to allow for much faster sync 2024-01-18 14:01:37 +09:00
Andrei Zavatski
42e4c933d3 Fix ConstrainedIconContainer always using masking 2024-01-18 04:06:02 +03:00
smallketchup82
060ea1d4fd Switch from using a constructor argument to using a public field for ShowExtendedTooltip 2024-01-17 14:04:13 -05:00
smallketchup82
9a6541356e Refactor the extended tooltip variables to be more descriptive 2024-01-17 13:31:23 -05:00
Salman Ahmed
06da7f74de
Merge branch 'master' into fix-storyboard-sprites-2 2024-01-17 18:43:25 +03:00
Dean Herbert
e260e75fac
Merge pull request #26594 from frenzibyte/fix-storyboard-sprites-1
Change legacy beatmap skins to not handle `@2x` textures (to match stable)
2024-01-18 00:40:29 +09:00
Salman Ahmed
5597b48882 Fix storyboard animations stripping path directory on skin lookup 2024-01-17 18:39:48 +03:00
smallketchup82
b6422bc8bd Apply suggested changes
- Change difficultyicon mods parameter docstring to be more professional
- Add a parameter for controlling whether the difficulty statistics show or not. Defaults to false
- Round the BPM in the tooltip to make sure it displays correctly
2024-01-17 09:07:17 -05:00
Bartłomiej Dach
b718897b30
Merge pull request #26593 from peppy/rolling-counter-unstick
Change rolling counters to use quicker easing types
2024-01-17 14:37:52 +01:00
Salman Ahmed
e54d20ea93 Remove ancient osu-resources lookup path from legacy skin textures 2024-01-17 16:33:14 +03:00
Bartłomiej Dach
d335c01553
Merge pull request #26589 from peppy/key-binding-overlay-ordering
Change key overlay to use the ordering provided by rulesets
2024-01-17 13:37:26 +01:00
Dean Herbert
6a8a45bb13
Merge pull request #26585 from frenzibyte/fix-editor-ux
Fix timing point changes not applying after selecting another one
2024-01-17 19:53:35 +09:00
Bartłomiej Dach
5cb17bcacf
Merge pull request #26502 from frenzibyte/prevent-submission-with-invalid-mods
Add guard against submitting score with invalid mod instances
2024-01-17 11:39:32 +01:00
Dean Herbert
0ddd89a5b8
Merge pull request #26579 from bdach/accuracy-rank-lazer-score-reimport
Fix incorrect accuracy and rank population when decoding lazer replays
2024-01-17 19:33:26 +09:00
Salman Ahmed
98c65f36c9 Disable high resolution texture lookup for legacy beatmap skins to match stable 2024-01-17 12:56:29 +03:00
Salman Ahmed
5ad2918a75 Allow disabling high resolution texture lookups in LegacySkin 2024-01-17 12:56:29 +03:00
Dean Herbert
456a8e6e82
Merge pull request #26549 from bdach/hit-error-meter-pooling-bad
Fix `ColourHitErrorMeter` not loading pooled drawables ahead of time
2024-01-17 18:43:47 +09:00
Dean Herbert
a66ddc7813
Change rolling counters to use quicker easing types 2024-01-17 18:18:53 +09:00
Dean Herbert
cc7be137bc
Show tooltip on global offset adjust slider bar 2024-01-17 17:57:49 +09:00
Dean Herbert
123e36a999
Change display text for beatmap audio offset adjust to make more sense 2024-01-17 17:51:46 +09:00
Dean Herbert
45e52854ca
Change key overlay to use the ordering provided by rulesets
osu!mania already goes out of its way to order things correctly.
Arguably, osu!taiko just did it wrong.
2024-01-17 17:37:38 +09:00
Dean Herbert
ee18123fc2
Merge pull request #26340 from stanriders/user-rank-card
Add user card with global/country ranks to login overlay
2024-01-17 17:22:33 +09:00
Dean Herbert
c1c2e61723
Merge pull request #26446 from LeNitrous/add/replay-playback-controls
Add replay playback controls
2024-01-17 17:06:15 +09:00
Dean Herbert
353df2f312
Fix one more incorrect bindable flow and simplify string setters 2024-01-17 17:00:56 +09:00
Dean Herbert
66c7a29e79
Add comment about messy methods 2024-01-17 16:57:22 +09:00
Dean Herbert
fe06402951
Fix incorrect bindable usage 2024-01-17 16:50:48 +09:00
Dean Herbert
e97b31d82e
Fix test failures 2024-01-17 16:40:45 +09:00
Dean Herbert
e7732caaf7
Make PlayerSettingsOverlay's api more stringent 2024-01-17 15:13:59 +09:00
Dean Herbert
2788bd912e
Add tooltips and localisation 2024-01-17 15:12:33 +09:00
Dean Herbert
e53989faeb
Change replay playback adjustment to skew frequency, not tempo 2024-01-17 15:02:42 +09:00
Dean Herbert
042e852a3e
Adjust playback speed range to allow slower minimum speed 2024-01-17 15:02:42 +09:00
Dean Herbert
42f64c2c44
Move load procedure to async method and simplify code 2024-01-17 15:02:42 +09:00
Salman Ahmed
23e5167cb5
Merge branch 'master' into drag-volume-controls 2024-01-17 08:37:34 +03:00
Salman Ahmed
1790a5df03 Remove redundant value to appease CI 2024-01-17 08:29:55 +03:00
Salman Ahmed
46429c5074 Schedule control point switch for settings modifications to apply first 2024-01-17 08:15:01 +03:00
Dean Herbert
9cde04c30c
Change drag adjustments to be linear (and account for partial deltas) 2024-01-17 14:12:12 +09:00
Dean Herbert
68fb1b8663
Merge pull request #26573 from EVAST9919/leaderboard-glow-remove
Fix multiple issues with `GlowingSpriteText`
2024-01-17 13:17:03 +09:00
Bartłomiej Dach
17b9d842ab
Fix incorrect accuracy and rank population when decoding lazer replays
Closes https://github.com/ppy/osu/issues/24061.

The gist of this change is that if the `LegacyReplaySoloScoreInfo`
bolt-on is present in the replay, then it can (and is) used to recompute
the accuracy, and rank is computed based on that.

This was the missing part of
https://github.com/ppy/osu/issues/24061#issuecomment-1888438151.
The accuracy would change on import before that because the encode
process is _lossy_ if the `LegacyReplaySoloScoreInfo` bolt-on is not
used, as the legacy format only has 6 fields for encoding judgement
counts, and some judgements that affect accuracy in lazer do not fit
into that.

Note that this _only_ fixes _relatively_ new lazer scores looking wrong
after reimport.

- Very old lazer scores, i.e. ones that don't have the
  `LegacyReplaySoloScoreInfo` bolt-on, obviously can't use it
  to repopulate. There's really not much good that can be done there,
  so the stable pathways are used as a fallback that always works.

- For stable replays, `ScoreImporter` recalculates the accuracy of
  the score _again_ in

  15a5fd7e4c/osu.Game/Scoring/ScoreImporter.cs (L106-L110)

  as `StandardisedScoreMigrationTools.UpdateFromLegacy()` recomputes
  _both_ total score and accuracy.

  This makes a _semblance_ of sense as it attempts to make the accuracy
  of stable and lazer replays comparable. In most cases it also won't
  matter, as the only ruleset where accuracy changed between the legacy
  implementation and current lazer accuracy is mania.

  But it is also an inaccurate process (as, again, some of the required
  data is not in the replay, namely judgement counts of ticks
  and so on).

  For whatever's worth, a similar thing happens server-side in

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L319)

- However, _ranks_ of stable scores will still use the local stable
  reimplementation of ranks, i.e. a 1-miss stable score in osu! ruleset
  will be an A rather than an S. See importer:

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L237)

  (it's the same method which is renamed
  to `PopulateLegacyAccuracyAndRank()` in this commit).

  That is all a bit of a mess honestly, but I'm not sure where to even
  begin there...
2024-01-16 22:38:53 +01:00
Bartłomiej Dach
a9d086c119
Fix touch device not always activating when it should
See https://github.com/ppy/osu/discussions/26574
2024-01-16 17:12:40 +01:00
Andrei Zavatski
dfdf700560 Don't use glowing text in ScoreComponentLabel 2024-01-16 17:43:17 +03:00
Andrei Zavatski
7920e93fa9 Rework GlowingSpriteText 2024-01-16 17:43:16 +03:00
Salman Ahmed
90da39c65d Fix helper method returning incorrect result 2024-01-16 14:27:30 +03:00
Bartłomiej Dach
c27f01dc14
Merge pull request #26565 from peppy/fix-leaderboard-display
Fix some elements not showing on leaderboard scores when almost off-screen
2024-01-16 11:30:52 +01:00
Bartłomiej Dach
cde0c0b2ee
Merge pull request #26561 from peppy/fix-catch-banana-health-bar
Fix argon health bar showing "miss" bar for bananas
2024-01-16 11:04:38 +01:00
Bartłomiej Dach
a3b7943e7d
Merge pull request #26560 from peppy/fix-skin-loss
Fix skin potentially being lost when opening and closing skin editor rapidly
2024-01-16 10:16:30 +01:00
Bartłomiej Dach
805a9b56ec
Merge pull request #26557 from peppy/fix-silver-s-ss
Fix silver S/SS not being awarded correctly
2024-01-16 10:03:20 +01:00
Dean Herbert
ee26329353
Fix some elements not showing on leaderboard scores when almost off-screen 2024-01-16 16:44:50 +09:00
Dean Herbert
cdc6621f33
Allow adjusting volume controls via a drag 2024-01-16 16:37:05 +09:00
Dean Herbert
2be8d66d4c
Fix argon health bar showing "miss" bar for bananas 2024-01-16 15:52:18 +09:00
Dean Herbert
57a6025a2c
Add helper method to bypass judgement woes 2024-01-16 15:52:05 +09:00
Dean Herbert
cd02d00c03
Fix skin potentially being lost when opening and closing skin editor rapidly 2024-01-16 15:23:07 +09:00
Dean Herbert
451ba1c861
Ensure PresentGameplay doesn't get stuck in loop if no beatmaps available 2024-01-16 15:13:08 +09:00
Dean Herbert
34905b2052
Apply NRT to new classes 2024-01-16 14:17:21 +09:00
Dean Herbert
e75f113a06
Update resources 2024-01-16 14:14:04 +09:00
Dean Herbert
1fd85b79db
Merge branch 'master' into argon-health-rework 2024-01-16 13:35:29 +09:00
Dean Herbert
902a5436f3
Fix silver S/SS not being awarded correctly 2024-01-16 13:21:15 +09:00
Bartłomiej Dach
97e08f5071
Fix ColourHitErrorMeter not loading pooled drawables ahead of time 2024-01-15 21:40:07 +01:00
Bartłomiej Dach
40f612435d
Merge pull request #26178 from felipemarins/mod-search-text-box-select-all
Make mod search box text be selected when a new mod is selected/deselected
2024-01-15 20:08:02 +01:00
Bartłomiej Dach
744cb8e10c
Merge pull request #26538 from peppy/save-multiplayer-filter-mode
Remember multiplayer room filter mode
2024-01-15 19:53:50 +01:00
Bartłomiej Dach
a41108057f
Merge pull request #26287 from wooster0/no-scores-yet
Don't leave scores screen empty if no scores are present yet
2024-01-15 19:49:20 +01:00
Bartłomiej Dach
c5a276a7de
Merge pull request #26543 from peppy/offset-toast-limit
Only display offset toast when in local gameplay
2024-01-15 19:19:21 +01:00
Bartłomiej Dach
4d39c91972
Merge pull request #26449 from peppy/playlist-room-buttons
Allow interacting with playlist item buttons when not selected
2024-01-15 19:12:01 +01:00
Bartłomiej Dach
c46615839d
Only select all text in mod search text box if enter press selected anything 2024-01-15 19:09:50 +01:00
Andrei Zavatski
8661edfc2f Organize consts better 2024-01-15 21:07:12 +03:00
Bartłomiej Dach
9d2c82452c
Revert "simplify the code even more"
This reverts commit 9bc9db9138.
2024-01-15 18:47:49 +01:00
Andrei Zavatski
c406135487 Merge branch 'master' into argon-health-rework 2024-01-15 20:40:19 +03:00
Bartłomiej Dach
64e94a8b6c
Merge pull request #26544 from peppy/fix-background-dim-failure
Fix background dim occasionally getting in a bad state when exiting gameplay
2024-01-15 15:16:37 +01:00
Bartłomiej Dach
c5351bd14d
Fix back-to-front set 2024-01-15 14:20:07 +01:00
Bartłomiej Dach
664035c796
Merge pull request #26546 from peppy/judgement-pooler
Fix judgement pooling not working correctly in osu!taiko and osu!mania
2024-01-15 14:02:52 +01:00
Bartłomiej Dach
d206acac63
Merge pull request #26540 from peppy/fix-double-counters
De-dupe displayed hits in judgement counter
2024-01-15 14:02:11 +01:00
Bartłomiej Dach
fe8540b441
Merge pull request #26541 from peppy/fix-collection-dropdown-crash
Fix collection dropdown crashing when all collections are deleted at once
2024-01-15 13:28:00 +01:00
Bartłomiej Dach
cd9b6656ba
Merge pull request #26536 from peppy/cache-fonts
Fix gameplay counter textures not being cached ahead of time
2024-01-15 13:11:40 +01:00
Salman Ahmed
d346dd0650 Fix TestModReinstantiation failing due to custom mod being used 2024-01-15 15:01:13 +03:00
Salman Ahmed
1d7b63e204 Move checking logic inside ModUtils and somewhat optimise 2024-01-15 14:58:59 +03:00
wooster0
9bc9db9138 simplify the code even more 2024-01-15 20:58:43 +09:00
Dean Herbert
6b844ed8b6
Split out judgement pooling concepts from OsuPlayfield for reuse 2024-01-15 20:50:09 +09:00
Bartłomiej Dach
6dee2860d2
Merge branch 'master' into fix-multiplayer-mods-cheesing 2024-01-15 12:19:29 +01:00
StanR
e3989c854d Change LoginPanel to use LocalUser.Status for the dropdown 2024-01-15 16:57:22 +06:00
StanR
b86c883a5d Merge branch 'master' into user-rank-card 2024-01-15 16:37:48 +06:00
Bartłomiej Dach
9da3aeb28b
Merge pull request #26492 from frenzibyte/fix-system-mods-selected-on-free-mods-overlay
Fix touch device mod getting selected as a free mod in playlists
2024-01-15 11:29:37 +01:00
Dean Herbert
8e32780888
Fix background dim occasionally getting in a bad state when exiting gameplay 2024-01-15 19:21:19 +09:00
Dean Herbert
a3b63391fa
Merge pull request #26356 from stanriders/global-user-statistics
Add `Statistics` bindable to `IAPIProvider` and update it from `SoloStatisticsWatcher`
2024-01-15 18:43:35 +09:00
Dean Herbert
0aa8a20d57
Fix regression in interaction when panels are not selectable 2024-01-15 18:34:32 +09:00
Dean Herbert
2a2a4c416e
Only display offset toast when in local gameplay 2024-01-15 18:17:49 +09:00
Dean Herbert
52f8348ee3
Fade hold-for-menu button out completely on non-touch devices 2024-01-15 17:55:37 +09:00
Dean Herbert
0a522d260b
Fix collection dropdown crashing when all collections are deleted at once 2024-01-15 17:10:30 +09:00
Dean Herbert
e6453853c2
De-dupe displayed hits in judgement counter 2024-01-15 16:02:59 +09:00
Felipe Marins
d8962ddff8 Select all when pressing enter instead of every mod selection change 2024-01-15 03:22:52 -03:00
Dean Herbert
6940579b9e
Remember multiplayer room filter mode
As proposed in https://github.com/ppy/osu/discussions/26218.
2024-01-15 14:30:34 +09:00
Dean Herbert
a6c309b61a
Add more keywords 2024-01-15 14:12:39 +09:00
Dean Herbert
cd20561843
Adjust text slightly 2024-01-15 14:12:10 +09:00
Dean Herbert
093001438c
Merge branch 'master' into add-minimise-on-focus-loss-setting 2024-01-15 14:05:25 +09:00
Dean Herbert
0b5cc8fb10
Fix gameplay counter textures not being cached ahead of time
Part of https://github.com/ppy/osu/issues/26535.
2024-01-15 14:01:21 +09:00
smallketchup82
d2efa2e56a peppy said he prefers the version without pipes so ill remove the pipes 2024-01-14 15:47:50 -05:00
Susko3
47b385c552 Move toolbar button padding to a const 2024-01-14 21:13:00 +01:00
Susko3
724b4c9507 Expand click target of toolbar buttons and clock 2024-01-14 21:09:49 +01:00
Bartłomiej Dach
e3ffea1b12
Merge pull request #26528 from peppy/update-framework
Update framework
2024-01-14 15:18:14 +01:00
Dean Herbert
4c6c849d26
Merge pull request #26522 from bdach/slider-tick-display
Show "slider end" statistic next to slider ticks on results screen (and use correct colour)
2024-01-14 23:17:40 +09:00
Dean Herbert
a8b301c618
Merge pull request #26526 from bdach/fix-date-display-failing
Fix date failing to display on leaderboard for some scores with weird datetimes
2024-01-14 22:56:32 +09:00
Salman Ahmed
13060c8698
Merge branch 'master' into slider-tick-display 2024-01-14 16:35:34 +03:00
Dean Herbert
fb4f8d0834
Update framework 2024-01-14 22:31:48 +09:00
Bartłomiej Dach
baf3867e17
Fix date failing to display on leaderboard for some scores with weird datetimes
Addresses https://github.com/ppy/osu/discussions/26517.

The score reported has a datetime of 0001/1/1 05:00:00 AM.

Bit of a dodge fix but maybe fine?
2024-01-14 13:52:39 +01:00
Bartłomiej Dach
1cd7656f33
Reorder hit results so that SliderTailHit is next to SmallTickHit
This addresses https://github.com/ppy/osu/discussions/26507.
2024-01-14 09:33:04 +01:00
Bartłomiej Dach
eecd868d66
Use darker blue for SliderTailHit result 2024-01-14 09:24:50 +01:00
Bartłomiej Dach
b7d74fda88
Revert "Keep editor in frame stable mode when possible" 2024-01-14 09:10:39 +01:00
Dean Herbert
68496f7a0e
Fix scores not showing up on leaderboards during gameplay 2024-01-14 15:13:20 +09:00
Salman Ahmed
0c02062780 Add guard against starting gameplay with invalid mod instances
Move guard to `Player` instead
2024-01-13 16:25:02 +03:00
Salman Ahmed
c514550dfa Fix multiplayer potentially selecting mods of wrong ruleset when starting match 2024-01-13 11:17:08 +03:00
Salman Ahmed
aebf246f62 Change select all mod buttons to check ValidForSelection instead of directly checking system mods 2024-01-13 09:43:50 +03:00
Salman Ahmed
c476843a83 Mark system mods as invalid for selection in mod select overlay 2024-01-13 09:43:20 +03:00
Dean Herbert
3d3f58c252
Merge pull request #26486 from peppy/update-framework
Update framework
2024-01-13 15:19:49 +09:00
Dean Herbert
0934cff501
Workaround implementation oversight
See https://github.com/ppy/osu-framework/pull/6130.
2024-01-13 15:19:02 +09:00
Dean Herbert
98fe9f32d8
Merge pull request #26484 from bdach/only-validate-playback-rate-when-submitting
Only validate playback rate when in submission context
2024-01-13 12:10:55 +09:00
Dean Herbert
58ade18c06
Update framework 2024-01-13 04:53:26 +09:00
Bartłomiej Dach
6572fa4378
Only validate playback rate when in submission context
Temporary workaround for https://github.com/ppy/osu/issues/26404.

It appears that some audio files do not behave well with BASS, leading
BASS to report a contradictory state of affairs (i.e. a track that is
in playing state but also not progressing). This appears to be related
to seeking specifically, therefore only enable the validation of
playback rate in the most sensitive contexts, namely when any sort of
score submission is involved.
2024-01-12 14:59:15 +01:00
Dean Herbert
02975b9498
Merge pull request #26471 from bdach/fix-incorrect-difficulty-peppy-stars
Fix incorrect score conversion on selected beatmaps due to incorrect `difficultyPeppyStars` rounding
2024-01-12 22:34:54 +09:00
Andrei Zavatski
c1e4e51a5f Add comment explaining negative container padding 2024-01-12 15:34:07 +03:00
Andrei Zavatski
8d4ba6d466 Remove PathPadding property 2024-01-12 15:30:19 +03:00
Bartłomiej Dach
593ca9f84f
Merge pull request #26468 from frenzibyte/fix-skin-parsing
Fix mania skin array decoder not handling malformed entries rigorously
2024-01-12 12:52:02 +01:00
Nitrous
ccbba8a00b
Avoid NRE due to a beatmap loading with no hit objects. 2024-01-12 17:19:59 +08:00
Nitrous
c545a9c242
remove extra new line 2024-01-12 15:13:38 +08:00
Nitrous
c404628113
move creation of PlaybackSettings to ReplayPlayer 2024-01-12 15:12:02 +08:00
Andrei Zavatski
e861661037 Remove invalidations in update
oops
2024-01-12 03:03:41 +03:00
Andrei Zavatski
101a26a53e Update start and end progress in one go 2024-01-12 02:54:07 +03:00
Andrei Zavatski
bbb36da323 Don't pass start and end progress to the background 2024-01-11 18:58:40 +03:00
Andrei Zavatski
d75bf55c58 CI fixes 2024-01-11 18:28:00 +03:00
Andrei Zavatski
f1db7db259 Implement ArgonHealthDisplayBar 2024-01-11 17:52:34 +03:00
Andrei Zavatski
90ab306a96 Implement ArgonHealthDisplayBackground 2024-01-11 17:52:33 +03:00
Bartłomiej Dach
b65d3baa8a
Merge branch 'master' into health-less-value-changed 2024-01-11 10:33:08 +01:00
Bartłomiej Dach
7c9adc7ad3
Fix incorrect score conversion on selected beatmaps due to incorrect difficultyPeppyStars rounding
Fixes issue that occurs on *about* 246 beatmaps and was first described
by me on discord:

    https://discord.com/channels/188630481301012481/188630652340404224/1154367700378865715

and then rediscovered again during work on
https://github.com/ppy/osu/pull/26405:

    https://gist.github.com/bdach/414d5289f65b0399fa8f9732245a4f7c#venenog-on-ultmate-end-by-blacky-overdose-631

It so happens that in stable, due to .NET Framework internals, float
math would be performed using x87 registers and opcodes.
.NET (Core) however uses SSE instructions on 32- and 64-bit words.
x87 registers are _80 bits_ wide. Which is notably wider than _both_
float and double. Therefore, on a significant number of beatmaps,
the rounding would not produce correct values due to insufficient
precision.

See following gist for corroboration of the above:

    https://gist.github.com/bdach/dcde58d5a3607b0408faa3aa2b67bf10

Thus, to crudely - but, seemingly accurately, after checking across
all ranked maps - emulate this, use `decimal`, which is slow, but has
bigger precision than `double`. The single known exception beatmap
in whose case this results in an incorrect result is

    https://osu.ppy.sh/beatmapsets/1156087#osu/2625853

which is considered an "acceptable casualty" of sorts.

Doing this requires some fooling of the compiler / runtime (see second
inline comment in new method). To corroborate that this is required,
you can try the following code snippet:

    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3f).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', BitConverter.GetBytes(1.3).Select(x => x.ToString("X2"))));
    Console.WriteLine();

    decimal d1 = (decimal)1.3f;
    decimal d2 = (decimal)1.3;
    decimal d3 = (decimal)(double)1.3f;

    Console.WriteLine(string.Join(' ', decimal.GetBits(d1).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d2).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));
    Console.WriteLine(string.Join(' ', decimal.GetBits(d3).SelectMany(BitConverter.GetBytes).Select(x => x.ToString("X2"))));

which will print

    66 66 A6 3F
    CD CC CC CC CC CC F4 3F

    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    0D 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
    8C 5D 89 FB 3B 76 00 00 00 00 00 00 00 00 0E 00

Note that despite `d1` being converted from a less-precise floating-
-point value than `d2`, it still is represented 100% accurately as
a decimal number.

After applying this change, recomputation of legacy scoring attributes
for *all* rulesets will be required.
2024-01-10 19:30:18 +01:00
Dean Herbert
5d6f767dbd
Reduce excessive Color4 allocations during path colour updates 2024-01-11 00:31:39 +09:00
Salman Ahmed
7ca4d85441 Remove unnecessary AllowThousands flag
The flag is there to match `float.Parse` behaviour, but it's too illogical and unnecessary to have it.
2024-01-10 17:48:48 +03:00
Salman Ahmed
698ae66a49 Fix mania skin array decoder not handling malformed entries rigorously 2024-01-10 17:41:58 +03:00
Dean Herbert
49d13cda6b
Fix failing test by setting health on source of truth 2024-01-10 23:09:43 +09:00
Dean Herbert
91677158a0
Update framework 2024-01-10 22:33:00 +09:00
Dean Herbert
f912a1ba31
Merge branch 'master' into health-less-value-changed 2024-01-10 18:03:34 +09:00
Dean Herbert
a4c9e9f84d
Merge pull request #26405 from bdach/catch-scoring
Adjust catch scoring to match stable score V2
2024-01-10 01:28:56 +09:00
Bartłomiej Dach
8e133ed3ab
Merge pull request #26422 from peppy/allocs-off-the-charts
Preliminary fixes for off-the-charts allocations
2024-01-09 16:06:24 +01:00
Bartłomiej Dach
00a4c055b3
Merge branch 'master' into catch-scoring 2024-01-09 15:49:37 +01:00
Dean Herbert
eec9b6806a
Merge pull request #26434 from bdach/mania-conversion-accuracy
Fix mania score conversion using score V1 accuracy
2024-01-09 23:48:07 +09:00
Nitrous
484e9e8ee6
Fix binding order of IsPaused bindable and disable playback controls in spectator mode. 2024-01-09 22:09:20 +08:00
Bartłomiej Dach
a25223597b
Merge pull request #26456 from peppy/fix-missing-validation
Fix `SettingsToolboxGroup` allocating excessively due to missing cache validation
2024-01-09 14:36:14 +01:00
Bartłomiej Dach
8110c995dd
Merge branch 'master' into allocs-off-the-charts 2024-01-09 14:11:00 +01:00
Bartłomiej Dach
92ba770314
Fix missing wireframe behind percent sign on accuracy counter 2024-01-09 14:00:58 +01:00
Bartłomiej Dach
77bf6e3244
Fix missing wireframe behind "x" sign on combo counter display 2024-01-09 13:59:27 +01:00
Bartłomiej Dach
393d101bc2
Merge branch 'master' into realm-cleanup-overheads-fix 2024-01-09 13:35:22 +01:00
wooster0
8ad697ff4c apply some suggestions/corrections 2024-01-09 21:28:46 +09:00
Dean Herbert
4110adc4c0
Fix missing wireframe on argon combo counter 2024-01-09 20:16:28 +09:00
Bartłomiej Dach
a8a70be04a
Reference property via nameof rather than hardcoding 2024-01-09 11:49:42 +01:00
Dean Herbert
8324b75fa4
Merge pull request #26437 from bdach/song-select-logo-crash
Fix crash when clicking osu! logo in song select immediately after exiting
2024-01-09 19:40:19 +09:00
Bartłomiej Dach
cac0b0de6d
Remove unused using directive 2024-01-09 11:38:01 +01:00
Bartłomiej Dach
66b3945cd6
Move current screen check to better place 2024-01-09 10:44:30 +01:00
Dean Herbert
6ac1c799bd
Fix SettingsToolboxGroup allocating excessively due to missing cache validation 2024-01-09 18:34:20 +09:00
Dean Herbert
9c7e555237
Fix initial animation not playing correctly 2024-01-09 18:27:37 +09:00
Dean Herbert
80892f3167
Fix misses not displaying properly 2024-01-09 18:18:11 +09:00
Dean Herbert
b6505ba063
Reduce colour tween overhead and mark other calls of concern 2024-01-09 18:16:54 +09:00
Dean Herbert
12a59eb34c
Remove vertex update overheads 2024-01-09 17:35:01 +09:00
Nitrous
c081ca2145
Make field to a local. 2024-01-09 16:30:48 +08:00
Dean Herbert
b3533d270c
Remove delegate overhead of HealthBarValue/GlowBarValue 2024-01-09 17:20:49 +09:00
Nitrous
63961ea276
use RepeatingButtonBehavior for seek buttons 2024-01-09 16:08:29 +08:00
Dean Herbert
d83b8dbdaf
Refactor ArgonHealthDisplay to user interpolation and less bindable events 2024-01-09 16:50:27 +09:00
Dean Herbert
1837b31f9b
Remove usage of HealthDisplay.BindValueChanged
Health updates very often when using HP drain. Let's avoid bindable overheads.
2024-01-09 16:38:05 +09:00
Nitrous
bdecac6d79
Inverse check. 2024-01-09 15:19:54 +08:00
Nitrous
99c7685495
use GameplayClock.IsPaused bindable instead of polling in Update 2024-01-09 15:18:21 +08:00
Dean Herbert
19d1fff536
Use native query to avoid huge overheads when cleaning up realm files 2024-01-09 15:37:29 +09:00
Dean Herbert
f376bb5ec7
Merge pull request #26441 from Joehuu/fix-wiki-main-page-layout
Fix wiki main page not displaying custom layout
2024-01-09 14:51:49 +09:00
Dean Herbert
1f6e1cbe56
Allow interacting with playlist item buttons when not selected 2024-01-09 14:45:21 +09:00
Dean Herbert
765d41faa9
Change second occurrence of debug.assert with early return for fallback safety 2024-01-09 14:07:48 +09:00
Dean Herbert
3f5899dae0
Fix incorrect implementation of wireframe digits 2024-01-09 14:07:48 +09:00
Nitrous
afa808695b
Make resolved properties nullable. 2024-01-09 12:48:11 +08:00
Dean Herbert
6f8a3e15d8
Merge pull request #26382 from peppy/editor-more-frame-stable
Keep editor in frame stable mode when possible
2024-01-09 13:25:03 +09:00
Nitrous
2e041823a1
Perform null check on gameplay state. 2024-01-09 12:24:09 +08:00
Nitrous
bb2b7d3c31
Add playback controls. 2024-01-09 12:23:01 +08:00
Dean Herbert
743411d7c6
Merge pull request #26440 from bdach/incorrect-combo-proportion
Fix score conversion incorrectly assuming zero combo score in certain cases
2024-01-09 13:21:30 +09:00
Dean Herbert
3cdc3b5786
Merge branch 'master' into fix-wiki-main-page-layout 2024-01-09 13:14:36 +09:00
Dean Herbert
172fe53099
Use better method of ignore case comparison 2024-01-09 13:13:32 +09:00
Dean Herbert
06447e95aa
Merge pull request #26439 from bdach/do-not-attempt-score-upgrade-for-custom-rulesets
Do not attempt to recalculate non-legacy scores or scores set on custom rulesets
2024-01-09 13:08:31 +09:00
Joseph Madamba
d6ba7a9c6e Centralise INDEX_PATH to WikiOverlay 2024-01-08 14:28:16 -08:00
Joseph Madamba
58619f1684 Fix wiki main page not displaying custom layout 2024-01-08 14:16:05 -08:00
Bartłomiej Dach
4f7dcb3a50
Do not attempt to recalculate non-legacy scores or scores set on custom rulesets
Addresses discussions such as https://github.com/ppy/osu/discussions/26407
or https://github.com/ppy/osu/discussions/25914 wherein:

- the game would attempt to convert scores for custom rulesets, which
  makes no sense, especially so when they're not there,

- the game would also "recalculate" lazer scores, but that was never the
  intention or was never supported; the game would just increment the
  score version on those but still include them in the converted tally.
2024-01-08 22:47:13 +01:00
Bartłomiej Dach
aa83b84bb2
Fix Cinema mod being compatible with mods that can force failure
Addresses
https://github.com/ppy/osu/pull/26080#issuecomment-1868833214.
2024-01-08 22:34:41 +01:00
Bartłomiej Dach
67df7b33fb
Add failing test coverage for not attempting to upgrade custom ruleset scores 2024-01-08 22:10:08 +01:00
Bartłomiej Dach
58db39ec32
Fix crash when clicking osu! logo in song select immediately after exiting
Closes https://github.com/ppy/osu/issues/26415.

The crash report with incomplete log was backwards, the exit comes
first. Sentry events and the reproducing test in
8a87301c55 confirm this.
2024-01-08 21:37:25 +01:00
Bartłomiej Dach
c4ac53002c
Remove loop in combo score loss estimation calculation 2024-01-08 19:49:22 +01:00
Bartłomiej Dach
70ba5dd0d3
Merge pull request #26385 from peppy/carousel-thing
Fix beatmap carousel not preloading panels when off-screen
2024-01-08 19:37:34 +01:00
Dean Herbert
51bd32bf7e
Restore comment regarding usage of MinBy 2024-01-09 01:08:47 +09:00
Dean Herbert
e77d203a24
Refactor delayed load logic to hopefully read better 2024-01-09 01:08:17 +09:00
Bartłomiej Dach
8c82bb006c
Fix mania score conversion using score V1 accuracy
Partially addresses https://github.com/ppy/osu/discussions/26416

As pointed out in the discussion thread above, the total score
conversion process for mania was using accuracy directly from the
replay. In mania accuracy is calculated differently in score V1 than in
score V2, which meant that scores coming from stable were treated more
favourably (due to weighting GREAT and PERFECT equally).

To fix, recompute accuracy locally and use that for the accuracy
portion.

Note that this will still not be (and cannot be made) 100% accurate, as
in stable score V2, as well as in lazer, hold notes are *two*
judgements, not one as in stable score V1, meaning that full and correct
score statistics are not available without playing back the replay.

The effects of the change can be previewed on the following spreadsheet:

https://docs.google.com/spreadsheets/d/1wxD4UwLjwcr7n9y5Yq7EN0lgiLBN93kpd4gBnAlG-E0/edit#gid=1711190356

Top 5 changed scores with replays:

| score                                                                                                                            | master  | this PR | replay  |
| :------------------------------------------------------------------------------------------------------------------------------- | ------: | ------: | ------: |
| [Outlasted on Uwa!! So Holiday by toby fox [[4K] easy] (0.71\*)](https://osu.ppy.sh/scores/mania/460404716)                      | 935,917 | 927,269 | 920,579 |
| [ag0 on Emotional Uplifting Orchestral by bradbreeck [[4K] Rocket's Normal] (0.76\*)](https://osu.ppy.sh/scores/mania/453133066) | 921,636 | 913,535 | 875,549 |
| [rlarkgus on Zen Zen Zense by Gom (HoneyWorks) [[5K] Normal] (1.68\*)](https://osu.ppy.sh/scores/mania/458368312)                | 934,340 | 926,787 | 918,855 |
| [YuJJun on Harumachi Clover by R3 Music Box [4K Catastrophe] (1.80\*)](https://osu.ppy.sh/scores/mania/548215786)                | 918,606 | 911,111 | 885,454 |
| [Fritte on 45-byou by respon feat. Hatsune Miku & Megpoid [[5K] Normal] (1.52\*)](https://osu.ppy.sh/scores/mania/516079410)     | 900,024 | 892,569 | 907,456 |
2024-01-08 16:38:43 +01:00
Bartłomiej Dach
5337d999b5
Merge branch 'master' into disable-intro-track-pause 2024-01-08 12:54:37 +01:00
Bartłomiej Dach
b6ce57b777
Use override that was intended to steer global track control rather than local sets 2024-01-08 12:54:16 +01:00
Bartłomiej Dach
50eba9ebdb
Reduce code duplication in test 2024-01-08 12:52:14 +01:00
Bartłomiej Dach
3e9d222d67
Merge pull request #26409 from peppy/overall-ranking-overlap
Fix overall ranking text overlapping at some aspect ratios
2024-01-08 12:29:42 +01:00
Bartłomiej Dach
7b663a27bd
Fix score conversion incorrectly assuming zero combo score in certain cases 2024-01-08 10:47:22 +01:00
Dean Herbert
dc31c66f62
Return null on font lookup failure instead of asserting
Fallback weirdness.
2024-01-07 20:41:58 +09:00
Dean Herbert
16ea7f9b77
Avoid completely unnecessary string allocations in ArgonCounterTextComponent 2024-01-07 14:31:22 +09:00
Dean Herbert
9d9e6fcfdb
Remove LINQ calls in hot paths 2024-01-07 14:31:22 +09:00
Dean Herbert
b809d4c068
Remove delegate overhead from argon health display's animation updates 2024-01-07 14:31:22 +09:00
Dean Herbert
d3710f0bfd
Remove scores from song select leaderboard when leaving the screen 2024-01-06 20:53:20 +09:00
Dean Herbert
14a43375a7
Fix overall ranking text overlapping at some aspect ratios
Can't confirm on the actual ranking screen due to stuff not working.

Maybe it'll work tomorrow.

Closes https://github.com/ppy/osu/issues/26341.
2024-01-06 20:25:07 +09:00
Bartłomiej Dach
ea7078fab5
Implement approximate score conversion algorithm matching score V2 2024-01-05 20:46:11 +01:00
Bartłomiej Dach
8295ad1feb
Change catch scoring to match score V2 2024-01-05 20:46:11 +01:00
Zachary
091241634c Make IntroScreen set AllowTrackControl to false instead 2024-01-05 23:55:17 +10:00
Dean Herbert
fbc40ffc65
Merge pull request #26381 from Joehuu/flash-ongoing-operations-dialog
Flash blocking ongoing operations dialog when trying to force quit
2024-01-05 18:34:06 +09:00
Dean Herbert
e9289cfbe7
Reduce precision of audio balance adjustments during slider sliding 2024-01-05 02:26:30 +09:00
Dean Herbert
5b55ca6692
Cache legacy skin character glyph lookups to reduce string allocations 2024-01-05 02:26:30 +09:00
Dean Herbert
91bb3f6c57
Cache argon character glyph lookups to reduce string allocations 2024-01-05 01:24:00 +09:00
Zachary
9b734bac25 Allow track control after intro screen finishes. 2024-01-05 01:14:34 +10:00
Dean Herbert
35b9940c4e
Merge pull request #26140 from CaffeeLake/multiplier1x
Fix mod score multiplier rounding to 1.00x with specific mod combinations
2024-01-04 19:26:49 +09:00
Dean Herbert
81c6fd5589
Load items closer to the centre of the screen as a priority 2024-01-04 19:25:12 +09:00
Dean Herbert
adac3b65ce
Fix beatmap carousel not preloading panels when off-screen 2024-01-04 19:25:12 +09:00
Dean Herbert
b12011d501
Avoid rank updates after failing 2024-01-04 17:13:24 +09:00
Dean Herbert
a4dee1a01a
Don't unset Disabled on rank (never actually disabled?) 2024-01-04 17:13:24 +09:00
Dean Herbert
705f25e4b9
Make ScoreProcessor.Rank read-only 2024-01-04 17:13:24 +09:00
Dean Herbert
0bbc27e380
Add a gameplay configuration flag to disable fail animation 2024-01-04 17:13:24 +09:00
Dean Herbert
f0aeeeea96
...in a safer way 2024-01-04 17:13:21 +09:00
Dean Herbert
df99a37254
Fix another realm null inspection 2024-01-04 17:11:40 +09:00
Dean Herbert
0f11743fff
Merge pull request #26379 from wooster0/chat
Make chat command names case-insensitive
2024-01-04 16:17:42 +09:00
Dean Herbert
65c29b4f09
Make editor remain frame stable during normal playback 2024-01-04 15:47:16 +09:00
Joseph Madamba
ea714c86d4 Fix potential null reference with flash sample when exiting rapidly
Fixes `TestForceExitWithOperationInProgress()`.
2024-01-03 22:30:46 -08:00
Joseph Madamba
cd9bf0c753 Flash blocking ongoing operations dialog when trying to force quit 2024-01-03 22:30:46 -08:00
wooster0
cf5f0a2bdc Make chat commands case-insensitive
Would be nice if I accidentally have caps lock enabled and write "/HELP" it still works.
2024-01-04 15:06:10 +09:00
wooster0
659118c043 Fix wiki link path inconsistencies
If I access https://osu.ppy.sh/wiki/en/MAIN_PAGE or use any other
capitalization my browser always redirects me to
https://osu.ppy.sh/wiki/en/Main_page so I think Main_page is the
correct capitalization.

This might slightly reduce loading time? No idea though. Probably
negligible if so.
2024-01-04 12:20:51 +09:00
wooster0
2c64db0628 Use already existing message placeholder + localized string 2024-01-04 12:15:48 +09:00
CaffeeLake
c7b0a7ff69
Merge branch 'master' into multiplier1x 2024-01-04 05:04:23 +09:00
StanR
e240443c46 Update LocalUser statistics, add test 2024-01-03 18:15:32 +06:00
StanR
7262fef67f Add comments 2024-01-03 17:39:48 +06:00
CaffeeLake
8482d731c3
Merge branch 'master' into multiplier1x 2024-01-03 20:24:45 +09:00
Bartłomiej Dach
04147eb689
Fix lack of correct default value spec 2024-01-03 11:46:28 +01:00
StanR
d34f30f6ad Add Statistics bindable to IAPIProvider and update it from SoloStatisticsWatcher 2024-01-03 14:37:57 +06:00
StanR
3df7430d2e Bind UserRankPanel values to Statistics bindable in APIAccess 2024-01-03 14:32:32 +06:00
Bartłomiej Dach
e686a6a1dd
Fix player submission test intermittent failures due to audio playback discrepancy logic kicking in
See https://github.com/ppy/osu/actions/runs/7384457927/job/20087439457#step:5:133.
2024-01-03 09:17:01 +01:00
Dean Herbert
bdfaa4b583
Fix crash when dragging rotation control in editor with both mouse buttons
Closes https://github.com/ppy/osu/issues/26325.
2024-01-03 13:34:50 +09:00
Dean Herbert
18820e60b3
Merge pull request #26337 from bdach/persist-user-status-to-config
Store user online state in config for next launch
2024-01-03 13:21:31 +09:00
Dean Herbert
e4ba7b81b0
Merge pull request #26343 from adryzz/fix-discord-multiplayer-presence
update the current activity when the multiplayer room updates
2024-01-03 13:10:56 +09:00
Dean Herbert
4e7b1e1190
Merge pull request #26333 from bdach/retry-perfect-unobserved-error
Fix possible double score submission when auto-retrying via perfect mod
2024-01-03 13:02:38 +09:00
CaffeeLake
79ef032182
Merge branch 'master' into multiplier1x 2024-01-03 07:40:02 +09:00
StanR
c4be6fa974 Fix code quality, add new cards to the test scene 2024-01-03 00:37:24 +06:00
Lena
17656e9b9c
update the current activity when the multiplayer room updates 2024-01-02 18:38:25 +01:00
Dean Herbert
16c7c14602
Merge pull request #26332 from bdach/more-score-conversion-fail
Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion
2024-01-03 01:48:28 +09:00
StanR
5eaf5fca2a Add user card with global/country ranks for login overlay 2024-01-02 20:33:36 +06:00
Bartłomiej Dach
09b2a4e3b4
Fix users blipping online briefly before their online status is known 2024-01-02 14:07:59 +01:00
Bartłomiej Dach
d4e917448d
Fix login panel dropdown forcing user online
It was sort of assuming that the user can't be anything but online when
opening, thus forcing the status to online via the immediately-run value
change callback.
2024-01-02 14:07:04 +01:00
Bartłomiej Dach
f9f03ebc0f
Store user online state in config for next launch
Closes remainder of https://github.com/ppy/osu/issues/12635.
2024-01-02 14:04:40 +01:00
Dean Herbert
05d9aeefbc
Merge pull request #26248 from smoogipoo/slider-tail-judgement
Increase slider tails' worth to 150 points (up from 30)
2024-01-02 20:50:34 +09:00
Bartłomiej Dach
3c5e9ac9a9
Fix possible double score submission when auto-retrying via perfect mod
Closes https://github.com/ppy/osu/issues/26035.

`submitOnFailOrQuit()`, as the name suggests, can be called both when
the player has failed, or when the player screen is being exited from.
Notably, when perfect mod with auto-retry is active, the two happen
almost simultaneously.

This double call exposes a data race in `submitScore()` concerning the
handling of `scoreSubmissionSource`. The race could be experimentally
confirmed by applying the following patch:

diff --git a/osu.Game/Screens/Play/SubmittingPlayer.cs b/osu.Game/Screens/Play/SubmittingPlayer.cs
index 83adf1f960..76dd29bbdb 100644
--- a/osu.Game/Screens/Play/SubmittingPlayer.cs
+++ b/osu.Game/Screens/Play/SubmittingPlayer.cs
@@ -228,6 +228,7 @@ private Task submitScore(Score score)
                 return Task.CompletedTask;
             }

+            Logger.Log($"{nameof(scoreSubmissionSource)} is {(scoreSubmissionSource == null ? "null" : "not null")}");
             if (scoreSubmissionSource != null)
                 return scoreSubmissionSource.Task;

@@ -237,6 +238,7 @@ private Task submitScore(Score score)

             Logger.Log($"Beginning score submission (token:{token.Value})...");

+            Logger.Log($"creating new {nameof(scoreSubmissionSource)}");
             scoreSubmissionSource = new TaskCompletionSource<bool>();
             var request = CreateSubmissionRequest(score, token.Value);

which would result in the following log output:

	[runtime] 2024-01-02 09:54:13 [verbose]: scoreSubmissionSource is null
	[runtime] 2024-01-02 09:54:13 [verbose]: scoreSubmissionSource is null
	[runtime] 2024-01-02 09:54:13 [verbose]: Beginning score submission (token:36780)...
	[runtime] 2024-01-02 09:54:13 [verbose]: creating new scoreSubmissionSource
	[runtime] 2024-01-02 09:54:13 [verbose]: Beginning score submission (token:36780)...
	[runtime] 2024-01-02 09:54:13 [verbose]: creating new scoreSubmissionSource
	[network] 2024-01-02 09:54:13 [verbose]: Performing request osu.Game.Online.Solo.SubmitSoloScoreRequest
	[network] 2024-01-02 09:54:14 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/869310/solo/scores/36780 successfully completed!
	[network] 2024-01-02 09:54:14 [verbose]: SubmitSoloScoreRequest finished with response size of 639 bytes
	[network] 2024-01-02 09:54:14 [verbose]: Performing request osu.Game.Online.Solo.SubmitSoloScoreRequest
	[runtime] 2024-01-02 09:54:14 [verbose]: Score submission completed! (token:36780 id:20247)
	[network] 2024-01-02 09:54:14 [verbose]: Request to https://dev.ppy.sh/api/v2/beatmaps/869310/solo/scores/36780 successfully completed!
	[network] 2024-01-02 09:54:14 [verbose]: SubmitSoloScoreRequest finished with response size of 639 bytes
	[runtime] 2024-01-02 09:54:14 [error]: An unhandled error has occurred.
	[runtime] 2024-01-02 09:54:14 [error]: System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
	[runtime] 2024-01-02 09:54:14 [error]: at osu.Game.Screens.Play.SubmittingPlayer.<>c__DisplayClass30_0.<submitScore>b__0(MultiplayerScore s) in /home/dachb/Documents/opensource/osu/osu.Game/Screens/Play/SubmittingPlayer.cs:line 250

The intention of the submission logic was to only ever create one
`scoreSubmissionSource`, and then reuse this one if a redundant
submission request was made. However, because of the temporal proximity
of fail and quit in this particular case, combined with the fact that
the calls to `submitScore()` are taking place on TPL threads, means that
there is a read-write data race on `scoreSubmissionSource`, wherein the
source can be actually created twice.

This leads to two concurrent score submission requests, which, upon
completion, attempt to transition only _the second_
`scoreSubmissionSource` to a final state (this is because the API
success/failure request callbacks capture `this`, i.e. the entire
`SubmittingPlayer` instance, rather than the `scoreSubmissionSource`
reference specifically).

To fix, ensure correct synchronisation on the read-write critical
section, which should prevent the `scoreSubmissionSource` from being
created multiple times.
2024-01-02 10:55:52 +01:00
Bartłomiej Dach
b0cfea4916
Fix standardised score conversion failing for some taiko scores due to overestimating accuracy portion
Standardised score conversion would return a negative total score for
https://osu.ppy.sh/scores/taiko/182230346.

The underlying reason for this is that the estimation of the accuracy
portion for a score can be above the actual accuracy portion in the
taiko ruleset.

When calculating the maximum accuracy portion achievable,
`TaikoLegacyScoreSimulator` will include the extra 300 points from
a double hit on a strong hit, per strong hit. However, this double hit
is not factored into accuracy.

Both of the aforementioned facts mean that in taiko

	maximumLegacyAccuracyScore * score.Accuracy

- which normally in other rulesets can be used pretty reliably as the
exact number of points gained from the accuracy portion - is an
estimate in the case of taiko, and an _upper_ estimate at that,
because it implicitly assumes that the user has also hit
`score.Accuracy` percent of all double hits possible in the beatmap. If
this assumption is not upheld, then the user will have earned _less_
points than that from the accuracy portion, which means that the combo
proportion estimate will go below zero.

It is possible that this has happened on other scores before, but did
not result in the total score going negative as the accuracy portion
gained would have counteracted the effect of that due to being larger in
magnitude than the score loss incurred from the negative combo
portion. In the case of the score in question this was not the case due
to very low accuracy _and_ very low max combo.
2024-01-02 10:11:49 +01:00
Dean Herbert
94531807e4
Make slider ends show on results screen again 2024-01-02 17:01:32 +09:00
iilwy
fbedcb29e4
Merge branch 'master' into fix-precision 2024-01-01 10:42:15 -06:00
OliBomby
de14da95fa Remove other grid types 2024-01-01 15:44:20 +01:00
OliBomby
f649fa106f Added bindables and binding with BindTo 2024-01-01 15:13:11 +01:00
OliBomby
d0ca3f2b2b Add circular grid 2024-01-01 15:13:11 +01:00
OliBomby
847f04e63a reduce opacity of middle cardinal lines 2024-01-01 15:13:10 +01:00
OliBomby
8a331057b0 Make it actually possible to change grid type 2024-01-01 15:13:10 +01:00
OliBomby
f223487e1c improve code 2024-01-01 15:13:10 +01:00
OliBomby
0ce1a48e68 Add comment 2024-01-01 15:13:10 +01:00
OliBomby
b16c232490 add basic control by grid tool box 2024-01-01 15:13:10 +01:00
OliBomby
a20c430d6f fix wrong grid cache being used 2024-01-01 15:13:10 +01:00
OliBomby
d0c8b285ce clean up code duplication 2024-01-01 15:13:10 +01:00
OliBomby
92c3b142a4 Added Triangular snap grid 2024-01-01 15:11:50 +01:00
OliBomby
2193601f3a fix typo 2024-01-01 15:11:49 +01:00
OliBomby
f2edd705ea add rotation to snapped position 2024-01-01 15:11:49 +01:00
OliBomby
f3b88c318b Add rotation to snap grid visual 2024-01-01 15:11:49 +01:00
CaffeeLake
ad4b5f6ded Fix: floating point errors
Signed-off-by: CaffeeLake <PascalCoffeeLake@gmail.com>
2024-01-01 08:32:21 +09:00
Salman Ahmed
34acb435b8
Merge branch 'master' into multiplier1x 2023-12-31 16:48:00 +03:00
wooster0
0c85fd496f Don't leave scores screen empty if no scores are present yet
Addresses https://github.com/ppy/osu/discussions/23787

I originally wanted to set `allowShowingResults` to false if there are
no results but because this involves an API request to fetch the scores
that would mean all the scores would have to be fetched all at once so
that it knows whether to hide or show the "View results" button on a
beatmap.
Because that would slow things down and be very inefficient, this still
allows the user to view the scores screen but if there aren't any
scores, it shows a text, which I think is at least for now better than
nothing.

As for the testing of this, I wasn't sure how to not generate scores
only for one specific test so I opted into not using `SetUpSteps` and
doing it that way.
2023-12-31 22:42:32 +09:00
Dean Herbert
e10733834b
Merge pull request #26201 from iminlikewithyou/menu-button-tweaks
Adjust menu buttons
2023-12-31 16:58:55 +09:00
Dean Herbert
68b1455257
Merge pull request #26267 from frenzibyte/fix-audio-offset-adjust-control
Fix suggested value in audio offset adjust control being opposite in signs
2023-12-31 16:32:13 +09:00
iminlikewithyou
5ae5d7f92d change floor to round 2023-12-30 23:59:47 -06:00
Salman Ahmed
4dc11c4c48 Update existing code to use helper method 2023-12-31 05:18:07 +03:00
Salman Ahmed
7cfb786b1a Add helper method for properly formatting score multiplier in ModUtils 2023-12-31 05:17:34 +03:00
Gabriel Del Nero
922b6ccb83
Use FontAwesome solid heart icon instead of OsuIcon's 2023-12-31 00:36:55 +01:00
iminlikewithyou
45f6c78314 Merge branch 'master' of https://github.com/ppy/osu into menu-button-tweaks 2023-12-30 12:58:10 -06:00
iminlikewithyou
452f201f06 use margins isntead of moving the position of the sprite 2023-12-30 12:56:38 -06:00
Salman Ahmed
e6fe631625 Fix suggested value in audio offset adjust control being opposite in signs 2023-12-30 21:34:37 +03:00
Salman Ahmed
cc89390ea8 Expose SuggestedOffset bindable for testing purposes 2023-12-30 21:33:03 +03:00
CaffeeLake
bca0600482 Use 0.99x or 1.01x
Signed-off-by: CaffeeLake <PascalCoffeeLake@gmail.com>
2023-12-31 00:47:09 +09:00
Dan Balasescu
807443b648
Add HitResult.SliderTailHit 2023-12-30 10:38:47 +09:00
Dean Herbert
0fa4cd5dfe
Merge pull request #26225 from peppy/new-menu-tips
Add some new menu tips (and reword some others)
2023-12-29 22:27:47 +09:00
Dean Herbert
61c46b78bd
Update MenuTip.cs
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2023-12-29 22:24:16 +09:00
Dean Herbert
9f0fe6c6ca
Fix common typos
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-12-29 22:20:29 +09:00
Dean Herbert
d00b7c9cdf
Add some new menu tips (and reword some others) 2023-12-29 22:14:51 +09:00
Bartłomiej Dach
f80f6a8c5b
Merge pull request #26207 from frenzibyte/fix-dropdown-colour
Fix dropdown colour not updating correctly on enabled state changes
2023-12-29 14:07:09 +01:00
Bartłomiej Dach
17753b8235
Remove opaque background from toolbar user button
Would close https://github.com/ppy/osu/issues/26223, and generally seems
more consistent with the rest of toolbar anyhow?
2023-12-29 13:49:11 +01:00
Dean Herbert
490c584982
Merge pull request #26222 from bdach/i-cannot-into-offsets
Fix global audio offset suggestion feature not taking previous offset value into account
2023-12-29 21:14:52 +09:00
Dean Herbert
2b81f4f557
Merge pull request #26221 from bdach/system-title-only-on-top-level-menu
Do not display system title in inital menu state
2023-12-29 21:13:40 +09:00
Bartłomiej Dach
cdcb3ef4aa
Fix global audio offset suggestion feature not taking previous offset value into account
See https://osu.ppy.sh/comments/2989193 etc.
2023-12-29 12:20:58 +01:00
Dan Balasescu
9548818a1b
Merge pull request #26220 from bdach/no-version-manager-on-deployed-builds
Do not show main menu version display on deployed builds
2023-12-29 19:54:30 +09:00
Bartłomiej Dach
db78d73fa5
Do not display system title in inital menu state
Addresses https://github.com/ppy/osu/discussions/26199.
2023-12-29 11:50:30 +01:00
Bartłomiej Dach
25fa76a1b2
Do not show main menu version display on deployed builds
See https://discord.com/channels/188630481301012481/188630652340404224/1190028102525530202.
2023-12-29 11:14:28 +01:00
Bartłomiej Dach
99cddb6317
Use alternative workaround 2023-12-29 11:07:45 +01:00
Bartłomiej Dach
cd1f6b46c4
Fix crash after changing audio track in editor
Closes https://github.com/ppy/osu/issues/26213.

Reproduction scenario: switch audio track in editor after timeline
loads.

Happens because `beatmap.Value.Track.Length` is 0 immediately after a
track switch, until BASS computes the actual track length on the audio
thread.

Yes this is a hack. No I have no better immediate ideas how to address
this otherwise.
2023-12-29 10:37:36 +01:00
Dan Balasescu
a6313c4ee8
Expose Mod.UsesDefaultConfiguration 2023-12-29 17:16:16 +09:00
Salman Ahmed
c147ec0a98 Update dropdown disabled state to match with other components 2023-12-29 05:31:13 +03:00
Salman Ahmed
150bf67064 Fix dropdown colour not updating correctly on enabled state changes 2023-12-29 05:30:50 +03:00
Nitrous
c68a850325
Make menu tip about mod select more up to date. 2023-12-29 08:51:54 +08:00
iminlikewithyou
51d26d2d71 make the hover scale bigger
as a consequence, the rotation needs to be tweaked to be lower
2023-12-28 17:20:44 -06:00
iminlikewithyou
f1f1221e0e move text left to be visually centered in the skewed rectangle 2023-12-28 17:18:41 -06:00
iminlikewithyou
4760c6aaee move icon upwards to be visually centered 2023-12-28 17:17:24 -06:00
iminlikewithyou
637119f7d4 increase the base size of button icons 2023-12-28 17:15:23 -06:00
Bartłomiej Dach
7a10e132ea
Fix crash when retrieval of system title image fails
Closes https://github.com/ppy/osu/issues/26194.
2023-12-28 20:39:13 +01:00
Dean Herbert
8e3fe090f3
Merge pull request #26169 from bdach/universal-offset-from-session-plays
Implement automatic suggestion of global audio offset based on last plays
2023-12-28 22:57:30 +09:00
Dean Herbert
1de3e3771f
Merge pull request #26187 from peppy/dialog-overlay-design-update
Update popup dialog design
2023-12-28 22:39:42 +09:00
Bartłomiej Dach
93c7ebdae3
Remove unused using 2023-12-28 14:30:11 +01:00
Bartłomiej Dach
6d124513e7
Fix test failures due to player bailing early after failing to load beatmap 2023-12-28 14:15:15 +01:00
Bartłomiej Dach
619b0cc69b
Fix code quality inspection 2023-12-28 14:12:28 +01:00
Bartłomiej Dach
6718de01ec
Suggest audio adjust after one play 2023-12-28 14:11:08 +01:00
Bartłomiej Dach
e6f1d7db44
Move SessionAverageHitErrorTracker to more general namespace 2023-12-28 14:10:03 +01:00
Bartłomiej Dach
24a80da83f
Merge branch 'master' into universal-offset-from-session-plays 2023-12-28 14:07:46 +01:00
Bartłomiej Dach
e0279920b6
Merge pull request #26189 from peppy/fix-escape-key-spectator-fail
Fix using "Back" binding at spectator fail screen not working
2023-12-28 13:23:38 +01:00
Dean Herbert
f8347288c1
Add padding around text in dialogs 2023-12-28 20:29:56 +09:00
Bartłomiej Dach
a9c7131d47
Merge pull request #26184 from peppy/spectate-from-context-menu
Allow entering spectator mode from context menu on user panels
2023-12-28 12:24:29 +01:00
Dean Herbert
e1a376c0a7
Fix using "Back" binding at spectator fail screen not working 2023-12-28 20:14:18 +09:00
Bartłomiej Dach
0fc86a07cb
Merge pull request #26177 from peppy/fix-leaderboard-tab-ordering
Fix song select leaderboard tab ordering not matching stable
2023-12-28 12:02:46 +01:00
Dean Herbert
91af94086c
Remove offset wizard button for now 2023-12-28 20:02:08 +09:00
Dean Herbert
b7f3c83514
Expose the ability to update global offset from the player loader screen 2023-12-28 20:01:34 +09:00
Dean Herbert
28e220ca50
Update popup dialog design
Had to be done. I hated the old ones so much.

As usual, disclaimer that this is an iterative design and will probably
be replaced in the future.
2023-12-28 19:04:35 +09:00
Dean Herbert
22eced3300
Show local user in online users 2023-12-28 17:40:07 +09:00
Dean Herbert
2ec9343868
Add the ability to spectate a user by right clicking their user panel 2023-12-28 17:35:10 +09:00
Dean Herbert
bd0e2b4dde
Remove disclaimer screen completely 2023-12-28 17:21:29 +09:00
Dean Herbert
7dc50b9baf
Don't dismiss on hover, and allow dismissing via click 2023-12-28 17:20:01 +09:00
Dean Herbert
1f2339244e
Add supporter display to main menu 2023-12-28 17:20:01 +09:00
Dean Herbert
b19f72481b
Fade out quickly on game exit sequence 2023-12-28 17:19:41 +09:00
Dean Herbert
0ad6ac8b2a
Remove unused variable 2023-12-28 16:48:17 +09:00
Dean Herbert
932d03a4f8
Make toggle more immediately hide/show tips 2023-12-28 16:21:19 +09:00
Dean Herbert
222459d921
Add background and improve layout 2023-12-28 16:16:27 +09:00
Dean Herbert
a1867afbb4
Move menu tips to main menu
In preparation for removing the disclaimer screen.
2023-12-28 16:06:08 +09:00
rushiiMachine
75b9d0fe66
Make flashlight scale with playfield
When the playfield is shrunk with mods such as BarrelRoll, flashlight does not account for this, making it significantly easier to play. This makes it scale along with the playfield.
2023-12-27 23:02:45 -08:00
Dean Herbert
be3fc45da5
Merge branch 'master' into system-title-basic 2023-12-28 15:19:33 +09:00
Dean Herbert
6684987289
Reduce refresh interval slightly 2023-12-28 15:19:09 +09:00
Dean Herbert
0ea62d0c5d
Add initial additive blending on fade in 2023-12-28 15:16:42 +09:00
Dean Herbert
972234b1e5
Move re-schedule inside continuation 2023-12-28 15:12:44 +09:00
Dean Herbert
481a251786
Use HandleLink to allow potentially opening wiki or otherwise 2023-12-28 15:11:02 +09:00
Dean Herbert
289e0f00f9
Add flash on click 2023-12-28 15:10:47 +09:00
Dean Herbert
c70e7d340d
Adjust animation and add delay to URL open 2023-12-28 15:10:47 +09:00
Dean Herbert
93a8afe96e
Add very simple cache-busting (30 minutes) 2023-12-28 14:40:10 +09:00
Dean Herbert
ffc8778d67
Fix song select leaderboard tab ordering not matching stable 2023-12-28 14:13:35 +09:00
Dean Herbert
f8d6b8e347
Adjust toolbar animations / layering to feel better 2023-12-28 14:10:52 +09:00
Felipe Marins
dce9204731 Select search box text on ModSelectOverlay when mod selection changes 2023-12-28 00:10:44 -03:00
Felipe Marins
cbfcda7929 Expose SelectAll() method on ShearedSearchTextBox 2023-12-28 00:10:01 -03:00
Bartłomiej Dach
ef39759813
More code quality inspections 2023-12-28 00:18:20 +01:00
Bartłomiej Dach
10106e20c7
Merge pull request #26162 from Gabixel/alternate-daycore-with-classic-hotkey
Cycle between Daycore and Half Time mod when using classic hotkeys style
2023-12-28 00:16:51 +01:00
rushiiMachine
0c8b551c66
SkinEditor lifetime fix & show gameplay
If the SkinEditor was created already but not finished initializing, wait for it to initialize before handling a screen change, which could possibly null the skin editor. Additionally, in the case the skin editor is already loaded but hidden, make sure to show gameplay.
2023-12-27 14:49:42 -08:00
Bartłomiej Dach
ac449131ed
CodeFileSanity does not like records in standalone files 2023-12-27 23:47:37 +01:00
Bartłomiej Dach
a3f720bc62
Retrieve system title from online source 2023-12-27 23:37:39 +01:00
Bartłomiej Dach
d9299a8a55
Implement visual appearance of "system title" message in main menu 2023-12-27 23:07:17 +01:00
Bartłomiej Dach
160342ceed
Implement automatic suggestion of audio offset based on last plays 2023-12-27 21:14:37 +01:00
Bartłomiej Dach
f51b5f5487
Add components to track average hit errors across session 2023-12-27 20:44:59 +01:00
Dean Herbert
cf5e3e8863
Breathe some colour and life into the toolbar 2023-12-28 04:12:55 +09:00
Dean Herbert
92c4c20a51
Adjust paddings and fills of toolbar buttons 2023-12-28 03:43:38 +09:00
Dean Herbert
70aa067eb1
Adjust gradient visibility and transition 2023-12-28 03:23:04 +09:00
Bartłomiej Dach
1b7af989ec
Migrate BeatmapOffsetControl to use session static directly 2023-12-27 19:19:27 +01:00
Bartłomiej Dach
d4423d4933
Store last set score to a SessionStatic 2023-12-27 19:13:42 +01:00
Dean Herbert
1f55ef211e
Rearrange buttons 2023-12-28 03:11:27 +09:00
Dean Herbert
5f7f1f771d
Reword tooltip text for dashboard 2023-12-28 03:09:20 +09:00
Dean Herbert
655528a537
Update resources 2023-12-28 03:04:13 +09:00
Bartłomiej Dach
89e2b6358a
Remove hexacons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
53766285ce
Remove remaining hexacons usages 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
288ac930e4
Use new icons in editor
Some that exist on figma are purposefully not used due to an editorial
request from @peppy.
2023-12-27 17:42:18 +01:00
Bartłomiej Dach
2857322a8b
Use new icons in settings 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
c45477bd1f
Use new icons in main menu wherever feasible 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
28d9145a4c
Add more spacing to toolbar icons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
69baabee62
Replace hexacons in toolbar with new icons 2023-12-27 17:42:18 +01:00
Bartłomiej Dach
45143a6c17
Implement new icon store 2023-12-27 17:42:17 +01:00
Susko3
a6bed04e50 Update confine mode settings checkbox to match the new ConfineMouseTracker logic
Not too happy with the duplicated logic, but settings can't depend on `ConfineMouseTracker`
for testability reasons.
2023-12-27 16:54:01 +01:00
Susko3
0fde9cd6ae Override confine mouse mode only when clicking outside the window would minimise it 2023-12-27 16:50:25 +01:00
Susko3
c9de6a383d Add settings checkbox for MinimiseOnFocusLossInFullscreen
Shown only on desktop platforms in fullscreen.
"alt-tab" keyword also matches "alt" and "tab".
2023-12-27 16:21:54 +01:00
Gabriel
28a552f7b9
Merge branch 'ppy:master' into alternate-daycore-with-classic-hotkey 2023-12-27 15:12:13 +01:00
Bartłomiej Dach
13333f7575
Make room for OsuIcon to accept new icons 2023-12-27 15:04:28 +01:00
Gabriel Del Nero
14b37db3dd
Make ModDaycore sequential for ModHalfTime 2023-12-27 14:35:19 +01:00
Dean Herbert
1233533fb9
Update framework 2023-12-27 22:14:15 +09:00
Bartłomiej Dach
e9f350e763
Merge pull request #26147 from peppy/settings-expanded
Always show settings section text on buttons
2023-12-27 09:17:56 +01:00
Dean Herbert
768e10d55f
Adjust NotificationOverlay fades to match 2023-12-27 13:50:47 +09:00
Dean Herbert
81ba46216f
Speed up fades in transition to avoid ugliness 2023-12-27 13:49:00 +09:00
Dean Herbert
901674a130
Move back button inside sidebar to fix weird animation 2023-12-27 13:39:13 +09:00
Dean Herbert
8cd240fbec
Reduce size and fix alignment of back button 2023-12-27 13:20:19 +09:00
rushiiMachine
85a768d0c8
Don't reuse results delay const 2023-12-26 12:46:50 -08:00
rushiiMachine
1d4db3b7a9
Fix SkinEditorOverlay freezing when ReplayPlayer screen exits early
Originally when popping in, the ReplayPlayer was loaded first (if previous screen was MainMenu), and afterwards the SkinEditor component was loaded asynchronously. However, if the ReplayPlayer screen exits quickly (like in the event the beatmap has no objects), the skin editor component has not finished initializing (this is before it was even added to the component tree, so it's still not marked `Visible`), then the screen exiting will cause `OsuGame` to call SetTarget(newScreen) -> setTarget(...) which sees that the cached `skinEditor` is not visible yet, and hides/nulls the field. This is the point where LoadComponentAsync(editor, ...) finishes, and the callback sees that the cached skinEditor field is now different (null) than the one that was loaded, and never adds it to the component tree. This occurrence is unhandled and as such the SkinEditorOverlay never hides itself, consuming all input infinitely.

This PR changes the loading to start loading the ReplayPlayer *after* the SkinEditor has been loaded and added to the component tree.
Additionally, this lowers the exit delay for ReplayPlayer and changes the "no hit objects" notification to not be an error since it's a controlled exit.
2023-12-26 12:22:00 -08:00
Bartłomiej Dach
af47f9fd70
Fix sidebar button text becoming masked away during fadeout 2023-12-26 20:24:43 +01:00
Bartłomiej Dach
c107bfcd31
Fix TestSceneSideOverlays test failure 2023-12-26 20:09:34 +01:00
Bartłomiej Dach
668ce937a8
Merge pull request #26138 from peppy/fix-audio-rate-playback-not-fail
Bail from score submission if audio playback rate is too far from reality
2023-12-26 19:13:46 +01:00
Dean Herbert
5d0b524794
Adjust back button to match style better 2023-12-27 02:54:24 +09:00
Dean Herbert
8e13f65c5d
Adjust hover effect slightly 2023-12-27 02:46:21 +09:00
Dean Herbert
5b1deb7c4b
Give buttons a touch of padding to make click effect feel better 2023-12-27 02:40:50 +09:00
Dean Herbert
5de8307918
Reduce width of sidebar buttons 2023-12-27 02:38:23 +09:00
Dean Herbert
9a1a97180d
Change settings overlay to always show expanded buttons 2023-12-27 02:33:17 +09:00
Dean Herbert
58476d5429
Allow ExpandingContainer to not auto expand on hover 2023-12-27 02:33:02 +09:00
Dean Herbert
c55458e49c
Remove pointless intermediary class 2023-12-27 02:32:47 +09:00
Dean Herbert
d70fddb6fd
Fix elapsed time being counted twice on first frame 2023-12-27 00:11:22 +09:00
Dean Herbert
03e2463b06
Add test coverage and refactor to better handle equality edge case 2023-12-26 21:21:08 +09:00
Dean Herbert
1f2f749db6
Fix selection not being retained in control point list when undoing / redoing 2023-12-26 21:04:42 +09:00
Dean Herbert
f2c0e7cf2e
Fix editor's control point list refreshing multiple times for a single change 2023-12-26 21:04:42 +09:00
Bartłomiej Dach
b1a26acdd0
Merge pull request #26136 from peppy/add-waveform-visual-offset
Add visual offset to better align editor waveforms with expectations
2023-12-26 12:57:13 +01:00
Nathan
6269c79c17
Merge branch 'master' into fix-rewind-backtracking 2023-12-26 03:10:00 -08:00
Dean Herbert
92f7a42fd7
Merge pull request #26131 from smoogipoo/fix-mania-scroll-difference
Make mania scroll speed independent of hit position
2023-12-26 19:27:43 +09:00
Dean Herbert
225528d519
Bail from score submission if audio playback rate is too far from reality
Closes https://github.com/ppy/osu/issues/23149.
2023-12-26 19:20:58 +09:00
Dean Herbert
f9e47242db
Add visual offset to better align editor waveforms with expectations 2023-12-26 17:44:49 +09:00
Dan Balasescu
2ec6aa7fbb
Make mania scroll speed independent of hit position 2023-12-26 12:46:21 +09:00
Dean Herbert
b18b5b9977
Add inline note about deadlock 2023-12-26 12:06:56 +09:00
Nathan Tran
060bf8beff Fix rewind backtracking 2023-12-25 15:27:32 -08:00
Bartłomiej Dach
f84b07e71a
Do not attempt to stop preview tracks when arriving from a "track completed" sync
This fixes an issue identified with the WASAPI implementation in
https://github.com/ppy/osu-framework/pull/6088. It has no real effect
on current `master`, but fixes a deadlock that occurs with the
aforementioned framework branch when one lets a preview track play out
to the end - at this point all audio will stop and an attempt to perform
any synchronous BASS operation (playing another track, seeking) will
result in a deadlock.

It isn't terribly clear as to why this is happening precisely, but
there does not appear to be any need to stop and seek at that point,
so this feels like a decent workaround even if the actual issue is
upstream (and will unblock pushing out WASAPI support to users).
2023-12-25 19:01:06 +01:00
Bartłomiej Dach
4fa35d709c
Update resources 2023-12-25 14:56:40 +01:00
Bartłomiej Dach
3748541569
Merge branch 'master' into add-slider-tick-end-miss-sprites 2023-12-25 14:55:09 +01:00
Bartłomiej Dach
8142a7cb7e
Remove incorrect spec 2023-12-25 14:00:32 +01:00
Dean Herbert
8e6ea2dd9b
Update argon and triangles to match display style 2023-12-25 17:37:28 +09:00
Dean Herbert
b1d994b6ff
Add classic skin sprites for slider tick and slider end misses 2023-12-25 17:17:23 +09:00
Dean Herbert
ee00f7ea1f
Merge pull request #26086 from peppy/fix-toolbar-button-lag
Use a realm subscription to avoid overhead when hovering a toolbar button
2023-12-24 04:01:04 +09:00
Bartłomiej Dach
a0915a0dd1
Merge pull request #26076 from peppy/gameplay-offset-adjust
Add control to allow changing offset from gameplay
2023-12-23 19:41:57 +01:00
Bartłomiej Dach
68430d6ecd
Fix toolbar keybinding hint not clearing after unbinding the keybinding 2023-12-23 19:39:17 +01:00
Dean Herbert
5b03dc8d0b
Use a realm subscription to avoid overhead when hovering a toolbar button
Addresses https://github.com/ppy/osu/discussions/26018.
2023-12-24 03:20:42 +09:00
Dean Herbert
686b2a4394
Disable positional interaction for now 2023-12-24 03:00:51 +09:00
Dean Herbert
72bec527fd
Add conditions to match stable offset adjust limitations 2023-12-24 02:36:27 +09:00
Dean Herbert
92b490f2e7
Don't bother with alt support for now 2023-12-24 01:59:48 +09:00
Dean Herbert
d72ec81684
Merge pull request #26083 from smoogipoo/try-improve-hp-drain
Replace recently-added HP drain density calculation with combo-end bonus
2023-12-24 01:30:49 +09:00
Dan Balasescu
ee0bd69e24
Merge pull request #26072 from peppy/fix-migration-hard-crash
Fix hard crash when attempting to change folder location during a large import
2023-12-24 00:09:13 +09:00
Dan Balasescu
0db2668026
Merge pull request #26069 from peppy/fix-legacy-version-checks
Change legacy version checks to account for users specifying incorrect versions
2023-12-24 00:07:01 +09:00
Dan Balasescu
807ea8a9a0
Merge pull request #26082 from bdach/relax-legacy-score-conversion
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
2023-12-24 00:04:10 +09:00
Bartłomiej Dach
fde0276db3
Merge pull request #26077 from peppy/profile-cover-pixel-fix
Fix user profile cover showing 1px line when contracted
2023-12-23 15:49:03 +01:00
Bartłomiej Dach
a011a1ebb8
Merge pull request #26080 from peppy/cinema-no-fail
Change "cinema" mod to never fail
2023-12-23 15:48:42 +01:00
Dan Balasescu
d1000b2e6c
remove HP density 2023-12-23 23:36:15 +09:00
Bartłomiej Dach
0cbf594a8c
Make cinema mod incompatible with no fail 2023-12-23 15:10:31 +01:00
Bartłomiej Dach
3a2ed3677b
Fix standardised score conversion failing for scores set with 0.0x mod mutliplier
Closes https://github.com/ppy/osu/issues/26073.
2023-12-23 13:28:39 +01:00
Dean Herbert
644c981673
Fix "spectate" button not always being clickable in online users list 2023-12-23 21:21:34 +09:00
Dean Herbert
15a9740eb6
Change "cinema" mod to never fail
Addresses https://github.com/ppy/osu/discussions/26032.
2023-12-23 21:12:47 +09:00
Bartłomiej Dach
007ea51e20
Add extra safety against returning negative total score in conversion operation 2023-12-23 13:07:29 +01:00
Dean Herbert
a2e5f62478
Fix user profile cover showing 1px line when contracted
Addresses https://github.com/ppy/osu/discussions/26068.
2023-12-23 21:07:17 +09:00
Dean Herbert
6f11885d4b
Add control to allow changing offset from gameplay 2023-12-23 20:51:30 +09:00
Dean Herbert
7e9522a722
Allow external use of offset text explanation 2023-12-23 20:46:12 +09:00
Dean Herbert
27a9dcc5a1
Add basic hotkey offset adjust support (via existing offset control) 2023-12-23 19:55:05 +09:00
Dean Herbert
8349cb7bbe
Fix hard crash when attempting to change folder location during a large import
Closes https://github.com/ppy/osu/issues/26067.
2023-12-23 17:03:58 +09:00
Dean Herbert
c5893f245c
Change legacy version checks to account for users specifying incorrect versions 2023-12-23 14:03:45 +09:00
smallketchup82
f7c1e66165 Make the difficulty stats change based on the currently applied mods 2023-12-22 17:28:02 -05:00
Simon G
3487b5865e
Merge branch 'ppy:master' into adjust_beatmap_length_according_to_rate 2023-12-22 18:08:35 +01:00
Dean Herbert
21e9e103fd
Merge pull request #26039 from smoogipoo/hp-drain-density
Add basic density consideration to HP drain
2023-12-23 01:04:53 +09:00
Dean Herbert
7e09164d70
Merge pull request #26036 from smoogipoo/fix-perfect-mod-special-judgements
Fix perfect mod not failing with special judgements
2023-12-22 18:22:28 +09:00
Dan Balasescu
a0185508b7
Add basic consideration of density for HP drain 2023-12-22 18:08:26 +09:00
Dan Balasescu
5703546d71
Revert change to ModSuddenDeath 2023-12-22 16:43:17 +09:00
Dan Balasescu
88a5ba8167
Add mania/osu sudden death mod tests 2023-12-22 16:43:09 +09:00
Dan Balasescu
ea778c6e0a
Fix perfect/sudden death not working on slider tails 2023-12-22 14:02:25 +09:00
Dan Balasescu
9c35e25036
Add failing tests 2023-12-22 13:58:12 +09:00
smallketchup82
3b58f6a7e7 Implement difficulty statistics 2023-12-21 21:07:12 -05:00
Simon G
b31b9e96d0
adjust beatmap length and drain based on rate changing mods 2023-12-22 03:04:48 +01:00
Bartłomiej Dach
a7326e3891
Merge pull request #26004 from DanielPower/25049-fix-skin-element-bounding-box
Fix scale of skin element bounding box
2023-12-21 18:14:24 +01:00
Dean Herbert
716d866178
Merge pull request #25998 from peppy/add-score-version
Add versioning of local scores
2023-12-21 23:58:23 +09:00
Bartłomiej Dach
b4e71a0787
Fix slider tick / end misses displaying with full size on legacy skins with animated misses
Resolves https://github.com/ppy/osu/issues/25987.

Structure is a bit clumsy but I'm not sure how to do better...
2023-12-21 13:58:12 +01:00
Daniel Power
d4731e0830 Fix scale of skin element bounding box 2023-12-21 08:56:39 -03:30
Bartłomiej Dach
fbf19ea598
Merge branch 'master' into add-score-version 2023-12-21 13:06:53 +01:00
Bartłomiej Dach
2baf579f7c
Serialise and deserialise ClientVersion to replays 2023-12-21 12:58:08 +01:00
Bartłomiej Dach
81bbdccee7
Rename ScoreInfo.{ -> Client}Version 2023-12-21 12:56:43 +01:00
Dean Herbert
a4baa0a716
Add versioning of local scores
For any potential future usage
2023-12-21 18:37:15 +09:00
Dan Balasescu
c3c1752a5a
Reconvert all legacy scores 2023-12-21 15:32:34 +09:00
Dan Balasescu
eb072a1d24
Add accuracy conversion, fix usages 2023-12-21 15:09:56 +09:00
Dan Balasescu
6b4b2a57fc
Expose only as one method 2023-12-21 14:58:23 +09:00
Dan Balasescu
4e3b994142
Relocate HitResult numeric score to ScoreProcessor 2023-12-21 14:52:31 +09:00
Bartłomiej Dach
b7cca788b5
Merge pull request #25964 from rushiiMachine/fix-export-replay-spam
Fix save & export failed replay hotkeys handling repeated keypresses
2023-12-20 21:07:36 +01:00
Bartłomiej Dach
53cca61e61
Merge pull request #25951 from peppy/show-tick-results
Show slider tick / slider end misses with a visible judgement
2023-12-20 20:44:04 +01:00
Bartłomiej Dach
975bacaeb7
Add back blank line to fix code quality inspection 2023-12-20 19:07:26 +01:00
Bartłomiej Dach
a763ad8473
Add remarks to Is{Hit,Miss}() to explain their simultaneous existence 2023-12-20 19:07:18 +01:00
rushiiMachine
ebbc8333e8
Prevent ExportReplay being spammed on fail by being held down
This was already handled in ReplayDownloadButton (98efff0bd6/osu.Game/Screens/Ranking/ReplayDownloadButton.cs (L114-L115)) but seemingly missed for SaveFailedScoreButton
2023-12-20 08:41:16 -08:00
Dean Herbert
eb8fb8092d
Attempt to standardise miss handling logic 2023-12-21 00:59:35 +09:00
Bartłomiej Dach
9515f7dbfa
Bump score version in order to recompute legacy scores 2023-12-20 16:01:59 +01:00
Bartłomiej Dach
8c06d3873d
Merge branch 'master' into mania-scorev2-values 2023-12-20 15:54:31 +01:00
Bartłomiej Dach
77d8bbf152
Merge pull request #25949 from peppy/fix-song-select-extra-selections
Fix beatmap updates causing one extra carousel selection
2023-12-20 15:30:38 +01:00
Bartłomiej Dach
83e885192b
Merge pull request #25931 from peppy/fix-thread-safety
Fix thread safety of `OnlineMetadataClient.UserStates`
2023-12-20 12:55:31 +01:00
Dean Herbert
d1ba2a4a64
Use orange for non-combo-breaking miss 2023-12-20 20:45:27 +09:00
Dean Herbert
d2716d8557
Improve animation for legacy skins 2023-12-20 20:34:05 +09:00
Bartłomiej Dach
6bddc56851
Merge branch 'master' into fix-song-select-extra-selections 2023-12-20 12:23:55 +01:00
Dean Herbert
9b383e3276
Add support for showing tick misses 2023-12-20 20:23:19 +09:00
Bartłomiej Dach
22513e0070
Merge pull request #25943 from peppy/fix-song-select-sound-at-gameplay
Fix song select running updates when screen is not active
2023-12-20 12:20:06 +01:00
Dan Balasescu
38d6b7f45b
Update total score conversion 2023-12-20 20:03:13 +09:00
Dean Herbert
5284b95bb8
Schedule even more 2023-12-20 19:42:05 +09:00
Dean Herbert
7fa4dcf0fb
Fix selection retention logic copy paste failure 2023-12-20 19:27:57 +09:00
Dean Herbert
e003462f7d
Fix beatmap updates causing one extra carousel selection 2023-12-20 19:15:02 +09:00
Dan Balasescu
72274041eb
Merge pull request #25876 from bdach/fix-standardised-score-conversion
Fix osu! standardised score conversion sometimes exceeding bounds
2023-12-20 18:54:33 +09:00
Dean Herbert
64f62e7d90
Fix song select running updates when screen is not active
Who would have guessed that `Schedule` calls were there for a reason!

I've tidied things up. Most of the changes I've made here are not
required – the schedule is the main thing here. The reason the sound was
playing is because one-too-many schedules was removed causing beatmap
updates to update carousel specifics while still at the player loader
screen.

Note that the selection sound still plays on returning to song select,
but this is not a regression. I'm looking at fixing this in a separate
PR because I'm in a good place as far as understanding the logic right
now and it would be a waste to leave it broken.

Closes https://github.com/ppy/osu/issues/25875.
2023-12-20 17:31:09 +09:00
Dean Herbert
831c273b45
Merge pull request #25887 from smoogipoo/restore-taiko-accuracy
Restore taiko accuracy to ScoreV2 values
2023-12-20 17:29:40 +09:00
Dan Balasescu
188c463c9c
Merge pull request #25934 from peppy/adjust-classic-mod-multiplier
Adjust "classic" mod multiplier to 0.96x
2023-12-20 17:11:09 +09:00
Bartłomiej Dach
9a5027e556
Merge pull request #25900 from peppy/editor-from-any-carousel
Allow choosing "Edit" from any beatmap carousel item
2023-12-20 08:35:42 +01:00
Dean Herbert
98efff0bd6
Merge pull request #25917 from rushiiMachine/remove-relax-mod-exclusions
Allow failing with "relax" and "autopilot" mods
2023-12-20 15:48:21 +09:00
Dean Herbert
14d2d0d215
Remove ModBlockFail
Was only being used by `NoFail` now.
2023-12-20 14:50:45 +09:00
Dan Balasescu
3818977a36
Merge pull request #25898 from peppy/song-select-stats
Update song select to always show difficulty stats
2023-12-20 14:39:35 +09:00
Dean Herbert
d7603e8021
Adjust "classic" mod multiplier to 0.96x
Following discussions on discord, this seems like the most agreed upon
value. Increasing this is important so that imported legacy scores don't
lose too much value.
2023-12-20 14:33:14 +09:00
Dean Herbert
856c59f7f7
Fix thread safety of OnlineMetadataClient.UserStates
Closes https://github.com/ppy/osu-framework/issues/6081.
2023-12-20 14:15:00 +09:00
Dean Herbert
85e5d74a16
Apply proposed changes 2023-12-20 12:42:06 +09:00
rushiiMachine
1b004dbebc
Allow Relax to fail and remove failable mod exclusions
Allows the Relax mod to fail, and remove NF/PF/SD mod exclusion

ref: https://github.com/ppy/osu/discussions/13229
2023-12-19 12:33:00 -08:00
OliBomby
c167f10ad5 fix crash from dragging near zero-length repeating object in timeline 2023-12-19 21:20:45 +01:00
OliBomby
ec578e1d9f fix near-zero length sliders n stuff being placeable 2023-12-19 21:20:21 +01:00
Bartłomiej Dach
1ebb6262fd
Merge pull request #25895 from peppy/fix-beatmap-statsitics-reprocessing
Fix some beatmaps being reprocessed each startup
2023-12-19 18:05:40 +01:00
Bartłomiej Dach
322cfaae1d
Merge branch 'master' into fix-standardised-score-conversion 2023-12-19 17:41:38 +01:00
Bartłomiej Dach
3f41c20ac6
Use safer fix for now 2023-12-19 17:25:15 +01:00
Bartłomiej Dach
64b0534fb8
Merge pull request #25857 from peppy/fix-mod-settings-keyboard-adjust
Fix mod search textbox having focus while settings are visible
2023-12-19 15:44:17 +01:00
Bartłomiej Dach
e306cc35ba
Merge branch 'master' into fix-song-select-realm-refresh-performance 2023-12-19 14:14:46 +01:00
Dean Herbert
bbfdd6892d
Allow choosing "Edit" from any beatmap carousel item 2023-12-19 19:58:49 +09:00
Dean Herbert
c556475c2c
Revert to using a more manual approach to holding focus 2023-12-19 19:46:30 +09:00
Dean Herbert
502e3edac3
Add missing invalidation call 2023-12-19 19:39:48 +09:00
Dean Herbert
2c5ca9c1c8
Change default song select tab display to local leaderboard 2023-12-19 19:31:05 +09:00
Dean Herbert
3b848e8503
Tidy up visual look 2023-12-19 19:28:02 +09:00
Dean Herbert
07bb0805e9
Move advanced stats to a more permanent location on song select 2023-12-19 19:10:43 +09:00
Dean Herbert
0a64d631e2
Add support for dual-column advanced stats 2023-12-19 19:09:47 +09:00
Dean Herbert
f09c6b8c1b
Change default values of new object counts to -1 to identify non-processed values 2023-12-19 18:20:02 +09:00
Dean Herbert
8f5d21dc70
Actually fix realm selection retention regression 2023-12-19 18:10:55 +09:00
Dean Herbert
7e9c1b2acb
Use sender's realm (because we can) 2023-12-19 17:27:52 +09:00
Bartłomiej Dach
7c05d66bd7
Add more detail to exception 2023-12-19 08:57:18 +01:00
Bartłomiej Dach
ddb67c87a8
Roll back incorrect change in ShouldMigrateToNewStandardised() 2023-12-19 08:13:02 +01:00
Dean Herbert
44efa2c540
Fix incorrect ordering of items at song select when certain sort modes are used 2023-12-19 15:09:03 +09:00
Dan Balasescu
c1b55c7fac
Add ScoreProcessor methods to override numeric result 2023-12-19 13:50:31 +09:00
Bartłomiej Dach
9c8df4e6d1
Run score conversion for previously-imported scores 2023-12-18 22:27:51 +01:00
Bartłomiej Dach
017003deea
Fix osu! standardised score conversion sometimes exceeding bounds
Co-authored-by: Zyf <zyfarok@gmail.com>

Closes https://github.com/ppy/osu/issues/25860

Users reported that some stable scores would convert to large negative
total scores in lazer after the introduction of combo exponent. Those
large negative total scores were actually mangled NaNs.

The root cause of this was the following calculation going below zero
unexpectedly:

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L323)

which then propagates negative numbers onward until

	8e8d9b2cd9/osu.Game/Database/StandardisedScoreMigrationTools.cs (L337)

which yields a NaN due to attempting to take the square root of a
negative number.

To fix, clamp `comboPortionInScoreV1` to sane limits: to
`comboPortionFromLongestComboInScoreV1` from below, and to
`maximumAchievableComboPortionInScoreV1` from above. This is a less
direct fix than perhaps imagined, but it seems like a better one as it
will also affect the calculation of both the lower and the upper
estimate of the score.
2023-12-18 22:05:19 +01:00
Susko3
cc800a18b2 Fix opening log files from notification not presenting the correct file 2023-12-18 21:11:00 +01:00
Bartłomiej Dach
8e8d9b2cd9
Merge pull request #25832 from peppy/more-background-processing-progress-notifications
Show more comprehensive background processing progress notifications
2023-12-18 20:05:47 +01:00
Bartłomiej Dach
b8bcf7a097
Merge pull request #25856 from peppy/fix-keybaord-adjust-nc-dc
Fix keyboard precision of nightcore/daycore adjustments being incorrect
2023-12-18 19:54:17 +01:00
Dean Herbert
9594ae7802
Update framework 2023-12-19 03:22:22 +09:00
Dean Herbert
51f4c7254c
Fix mod search textbox having focus while settings are visible
Stopped arrow key adjust on slider bars from working.

Also just felt wrong that you could type into an off-screen textbox.
2023-12-19 01:32:34 +09:00
Dean Herbert
374425ea75
Fix keyboard precision of nightcore/daycore adjustments being incorrect
Closes https://github.com/ppy/osu/issues/25854.
2023-12-19 01:07:33 +09:00
Dean Herbert
c466775f78
Merge pull request #25821 from bdach/fix-collection-dropdown-crash
Fix collections dropdown crashing during storage migration
2023-12-19 01:01:23 +09:00
Dean Herbert
c88c25e77f
Merge pull request #25848 from 65-7a/dropdown-search-padding
Fix padding on dropdown search bar
2023-12-19 00:36:14 +09:00
Dean Herbert
9aaaa12809
Don't show progress notifications when there are too few items to be worthwhile 2023-12-19 00:01:09 +09:00
Dean Herbert
d81cabc063
Revert "Improve performance of attemptSelection using new cached count and LastSelected"
This reverts commit 25df42630e.
2023-12-18 22:46:02 +09:00
Dean Herbert
25e3a8e82e
Fix a few of silly issues 2023-12-18 22:45:58 +09:00
65-7a
17f1f8bb43 Fix padding on dropdown search bar 2023-12-19 00:28:23 +11:00
Bartłomiej Dach
eeeb5aa3d4
Fix crash when creating collections named "All beatmaps" or "Manage collections..."
Closes https://github.com/ppy/osu/issues/25834

The name fallback that was there previously since
https://github.com/ppy/osu/pull/11892 was half broken. This way should
be a lot less prone to failure.
2023-12-18 12:52:39 +01:00
Dean Herbert
25df42630e
Improve performance of attemptSelection using new cached count and LastSelected 2023-12-18 20:47:08 +09:00
Dean Herbert
5755fa214a
Cache non-filtered beatmap counts to massively improve count performance 2023-12-18 20:44:08 +09:00
Dean Herbert
034c5cd654
Debounce count updates for good measure 2023-12-18 20:43:23 +09:00
Dean Herbert
6fa1f5ef9b
Simplify invalidation logic
The only case where this was checking is guaranteed by realm to only be called once.
2023-12-18 20:31:02 +09:00
Dean Herbert
87b7699fcc
Avoid calling invalidation logic per beatmap set updated
Realm will batch the updates. We don't want to do expensive operations per set when we don't need to.
2023-12-18 20:31:02 +09:00
Dean Herbert
32cc3f9ef7
Combine multiple similar invalidation logic into single event 2023-12-18 20:31:02 +09:00
Dean Herbert
03ac2c3094
Remove some excessive logging 2023-12-18 19:20:57 +09:00
Dean Herbert
62444c3d04
Fix song select's carousel scroll position getting reset on background processing
This only happened for users using absolute right-click scroll.
2023-12-18 19:17:59 +09:00
Dean Herbert
e3251b40b3
Fix progress notifications queueing up infinite text changes when not visible 2023-12-18 19:00:44 +09:00
Dean Herbert
5ab3815123
Add logging of progress every so often 2023-12-18 18:45:49 +09:00
Dean Herbert
bfa90e9dcb
Also populate ObjectCounts when running a full beatmap process
Saves running things twice on an old install
2023-12-18 18:41:41 +09:00
Dean Herbert
e7d1cf7868
Add progress notifications for background tasks which don't already have them 2023-12-18 18:41:41 +09:00
Dean Herbert
7462a9f4ab
Add helper method to handle progress notifications for background jobs 2023-12-18 18:41:41 +09:00
Bartłomiej Dach
ef230884a8
Fix collections dropdown crashing during storage migration
Closes https://github.com/ppy/osu/issues/25815.

`CollectionDropdown.collectionsChanged()` was assuming that if it
received `null` changes, then it must mean that the change subscription
is being initialised and the `filters` list will not contain any items.

However, that is not the only circumstance wherein a realm subscription
can fire with `null` changes; that can also happen after the main realm
instance gets recycled via the notification registration flow:

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L545-L549)

	2f28a92f0a/osu.Game/Database/RealmAccess.cs (L1228-L1251)

Therefore, to fix the crash, just ensure that the list is cleared every
time.
2023-12-18 09:11:00 +01:00
Dan Balasescu
4b9aefa6f2
Change osu ruleset to use new HP algorithm by default 2023-12-17 19:33:04 +09:00
Dan Balasescu
d7aca2f641
Add IApplicableHealthProcessor 2023-12-17 19:27:03 +09:00
Bartłomiej Dach
285284eb34
Merge branch 'master' into more-import-lenience 2023-12-15 16:02:44 +01:00
Bartłomiej Dach
91f4123aa7
Fix first run locator stable locator directory desyncing between display & popover 2023-12-15 16:00:34 +01:00
Bartłomiej Dach
b384c9f938
Extract common method for determining stable import usability of directory 2023-12-15 15:42:19 +01:00
Dean Herbert
94f63d6044
Update resources 2023-12-15 19:18:53 +09:00
Dean Herbert
4ad312ef5b
Update xmldoc for LegacyComboIncrease 2023-12-15 19:12:45 +09:00
Dan Balasescu
9e3b1dbb59
Fix CI inspection 2023-12-15 17:41:22 +09:00
Bartłomiej Dach
49f2adde25
Merge pull request #25774 from peppy/fix-star-rating-wobble
Fix star rating display changing width depending on number displayed
2023-12-15 09:33:51 +01:00
Bartłomiej Dach
b3c6e80f5c
Merge pull request #25770 from peppy/show-back-button-spectator
Show back button when spectating
2023-12-15 09:08:24 +01:00
Dean Herbert
6e7e243e70
Allow new common cases when a user is locating a stable osu! install directory for import 2023-12-15 16:05:29 +09:00
Dean Herbert
4357bb1040
Change LeftContent autosize duration to match main content to reduce visual awkwards 2023-12-15 16:01:07 +09:00
Dean Herbert
dc5c9837ed
Fix StarRatingDisplay's display width to avoid text making slight autosize changes 2023-12-15 16:00:03 +09:00
Dean Herbert
b86f387fd3
Fix the width of vertical attribute display numbers
Not necessarily required to fix the issue at hand, but probably good
practice here.
2023-12-15 15:04:22 +09:00
Dean Herbert
48e89b903c
Merge pull request #25760 from bdach/if-i-speak-i-am-in-big-trouble-pt-1
Fix `AdjustedAttributesTooltip` being broken by design
2023-12-15 12:26:10 +09:00
Dean Herbert
27296c59de
Show back button when spectating
Avoids getting stuck at some screens.
It's a bit ugly having the back button visible like this,
but is the best approach we have for now.
2023-12-15 11:26:17 +09:00
Dean Herbert
8a52c4f176
Merge pull request #25768 from smoogipoo/reduce-song-select-allocs
Reduce some allocations in SongSelect in the mania ruleset
2023-12-15 11:08:56 +09:00
Dan Balasescu
fbef40bb1f
Reduce some allocations in SongSelect in the mania ruleset 2023-12-15 11:01:15 +09:00
Bartłomiej Dach
c0e68df20f
Fix InverseDifficultyRange() not working correctly in both directions 2023-12-14 20:41:12 +01:00
Bartłomiej Dach
24e31f7d91
Implement inverse of IBeatmapDifficultyInfo.DifficultyRange() 2023-12-14 20:41:12 +01:00
Bartłomiej Dach
9e5b6b97ff
Fix AdjustedAttributesTooltip being broken by design
Fixes issue described in the following comment:
https://github.com/ppy/osu/pull/25759#issuecomment-1855954637

That is just not how the tooltip system is supposed to be used.

To name the individual sins:

- Caching and returning a tooltip instance like the classes that used
  tooltips is incorrect. The lifetime of tooltip instances is managed by
  the tooltip container. `GetCustomTooltip()` is called by it
  exclusively. It should return a fresh instance every time.

- Not putting actual data in `IHasCustomTooltip.TooltipContent` is
  wrong.

- Having `Tooltip.SetContent()` be a no-op is *grossly and flagrantly*
  wrong.

I'm not even sure which particular combination of the above
transgressions caused the issue as it presented itself, but at this time
I frankly do not care.
2023-12-14 16:15:56 +01:00
Bartłomiej Dach
73c0a0ecb4
Merge pull request #25759 from Givikap120/arod_rate_adjust
Fix adjusted attributes tooltip not updating without mods
2023-12-14 16:09:34 +01:00
Givikap120
23c427cd3e Update AdjustedAttributesTooltip.cs 2023-12-14 14:38:01 +02:00
Givikap120
b22a7cf520 Update AdvancedStats.cs 2023-12-14 14:31:58 +02:00
Givikap120
c2373bb37b change the order of attributes
+ simplifying the bug fix
2023-12-14 14:31:19 +02:00
Givikap120
8698835db2 fixed bug
fixed the bug where it's not updates tooltip when there are no mods
2023-12-14 14:00:35 +02:00
Dean Herbert
c3d881caee
Merge branch 'master' into more-dropdown-search 2023-12-14 18:44:57 +09:00
Dean Herbert
76653e61cb
Merge pull request #25575 from frenzibyte/collection-dropdown-improve-ux
Improve handling of beatmap collection changes in `CollectionDropdown`
2023-12-14 18:39:36 +09:00
Dean Herbert
d77972a39b
Show search bar by default in language and collection dropdowns 2023-12-14 18:26:13 +09:00
Bartłomiej Dach
b3a7c7a7c9
Add control to adjust mod select search text box behaviour 2023-12-14 10:04:37 +01:00
Bartłomiej Dach
0ab6e18792
Automatically focus search text box on open depending on setting 2023-12-14 09:52:55 +01:00
Bartłomiej Dach
70a546b23c
Add setting for adjusting whether text search is active by default 2023-12-14 09:52:23 +01:00
Dean Herbert
e296730b37
Merge pull request #24642 from Givikap120/arod_rate_adjust
Show adjusted AR/OD when using DT/HT
2023-12-13 22:17:10 +09:00
Dean Herbert
76c4931f3a
Merge pull request #25673 from frenzibyte/fix-argon-initial-display
Fix `ArgonHealthDisplay` not displaying miss correctly during initial transition
2023-12-13 22:16:34 +09:00
Dean Herbert
c6b1a5f1ee
Merge pull request #25691 from bdach/fix-skin-editor-crash-again
Fix skin editor crashing in some circumstances when opened in main menu
2023-12-13 22:15:42 +09:00
Bartłomiej Dach
084474ef79
Merge branch 'master' into export-log-archive 2023-12-13 11:08:33 +01:00
Bartłomiej Dach
7a4ea90bda
Fix test failures due to dependency becoming required 2023-12-13 11:01:07 +01:00
Dean Herbert
8d55b3f34d
Merge pull request #25749 from smoogipoo/move-counts-to-beatmapinfo
Move object counts to BeatmapInfo
2023-12-13 17:58:13 +09:00
Dan Balasescu
8c7570525a
Merge pull request #25744 from peppy/adjust-mod-multipliers
Adjust some mod multipliers for initial leaderboard sanity
2023-12-13 17:56:13 +09:00
Dan Balasescu
812f52e793
Bump version number 2023-12-13 17:38:59 +09:00
Dean Herbert
9235f3d935
Merge pull request #25747 from peppy/fix-hit-error-clear
Fix hit error displays not clearing on seek
2023-12-13 17:36:24 +09:00
Dean Herbert
5062c53e36
Refactor everything for sanity 2023-12-13 17:33:39 +09:00
Dan Balasescu
0171078052
Move object counts to BeatmapInfo 2023-12-13 17:33:24 +09:00
Dean Herbert
9a982a9564
Tidy up GetRateAdjustedDisplayDifficulty implemetations 2023-12-13 17:13:21 +09:00
Dean Herbert
3131d37621
Clear transformations with more fire 2023-12-13 17:00:21 +09:00
Dean Herbert
9433180ffe
Fix various code quality and visual issues with AdjustedAttributesTooltip 2023-12-13 16:57:31 +09:00
Dean Herbert
fb44fb18e0
Update in line with upstream changes 2023-12-13 16:42:20 +09:00
Bartłomiej Dach
df90efdfac
Merge branch 'master' into collection-dropdown-improve-ux 2023-12-13 08:36:39 +01:00
Bartłomiej Dach
d0fccb30ec
Merge branch 'master' into export-log-archive 2023-12-13 08:36:13 +01:00
Dean Herbert
0259ab761b
Merge branch 'master' into arod_rate_adjust 2023-12-13 16:35:18 +09:00
Dean Herbert
fdcf87569c
Merge pull request #25711 from smoogipoo/mania-convert-song-select-keycount
Display osu!mania keycount in song select carousel panels and details
2023-12-13 16:31:25 +09:00
Dean Herbert
ec6200b4ad
Merge pull request #25743 from peppy/merge-everything-at-once
Merge everything at once
2023-12-13 16:17:06 +09:00
Dean Herbert
f2c6c348be
Fix HitError Clear methods not correctly returning pooled drawables 2023-12-13 16:13:23 +09:00
Dean Herbert
110749205d
Cache GameplayClockContainer to allow usage of OnSeek 2023-12-13 16:13:08 +09:00
Dan Balasescu
2abf3a55ae
Add IsLegacyScore to SoloScoreInfo 2023-12-13 16:12:12 +09:00
Dean Herbert
4983845041
Update HT mod multiplier to match stable better 2023-12-13 15:53:39 +09:00
Dean Herbert
0611a1ddc9
Avoid background processing falling over is BeatmapSet is null
See https://github.com/ppy/osu/issues/10458.
2023-12-13 15:28:54 +09:00
Dean Herbert
5e10f9f899
Fix failing tests due to more textboxes being present with searchable dropdowns 2023-12-13 15:11:47 +09:00
Dean Herbert
aa4faf5e8e
Merge pull request #25740 from smoogipoo/fix-ignoremiss-accuracy-update
Fix IgnoreMiss judgements not updating accuracy
2023-12-13 15:03:07 +09:00
Dean Herbert
eb30a603d9
Fix typo in argument name 2023-12-13 15:01:36 +09:00
Dean Herbert
996bc659e4
Adjust some mod multipliers for initial leaderboard sanity 2023-12-13 14:31:19 +09:00
Dean Herbert
0be6743e87
Apply Bindable.Parse refactorings 2023-12-13 14:07:38 +09:00
Dean Herbert
ae8a70ddfc
Merge branch 'drawnode-subtree-draw-cleanup' into dropdown-search 2023-12-13 14:03:46 +09:00
Dan Balasescu
41ba1dcfce
Merge branch 'master' into editor/checks/delayed-hitsounds 2023-12-13 14:01:06 +09:00
Dean Herbert
2579b42ac5
Update framework 2023-12-13 14:01:03 +09:00
Dean Herbert
5b00cf283d
Merge branch 'master' into drawnode-subtree-draw-cleanup 2023-12-13 14:01:01 +09:00
Dan Balasescu
6ed5613c22
Merge branch 'master' into mania-convert-song-select-keycount 2023-12-13 13:53:50 +09:00
Dan Balasescu
2930b53edd
Simplify implementation 2023-12-13 13:43:14 +09:00
Dan Balasescu
8c760e5110
Fix hitobject count when creating from an IBeatmap 2023-12-13 13:41:03 +09:00
Dan Balasescu
c31ff84417
Fix possible nullref 2023-12-13 13:32:27 +09:00
Dan Balasescu
daaadf3fc3
Fix IgnoreMiss judgements not updating accuracy 2023-12-13 11:51:45 +09:00
Salman Ahmed
67a9eab741 Update caret layout 2023-12-12 21:21:11 +03:00
Salman Ahmed
f0ddcb22c6 Remove arbitrary margin 2023-12-12 21:21:04 +03:00
Salman Ahmed
10e8edff67 Merge branch 'master' into dropdown-search 2023-12-12 21:14:01 +03:00
Dan Balasescu
987fe9322e
Merge pull request #24166 from Zyfarok/scorev3
Modify osu! standardised scoring to introduce a combo exponent
2023-12-12 17:38:44 +09:00
Givikap120
2d94841929 fixed one test 2023-12-10 02:00:32 +02:00
Givikap120
faf54bca43
Merge branch 'master' into arod_rate_adjust 2023-12-10 01:49:18 +02:00
Givikap120
f5b93121f1 Update AdjustedAttributesTooltip.cs 2023-12-10 00:51:50 +02:00
Givikap120
78cdedf34d Update BeatmapAttributesDisplay.cs 2023-12-10 00:42:02 +02:00
Givikap120
1d0c37e138 fixed test errors 2023-12-10 00:40:05 +02:00
Dan Balasescu
b36db3518c
Add keycount to song select details panel and carousel panels 2023-12-09 22:31:51 +09:00
Dan Balasescu
767d5c8018
Add object counts to IBeatmapDifficultyInfo 2023-12-09 22:31:51 +09:00
Bartłomiej Dach
07da9d95a9
Merge pull request #25689 from peppy/taiko-multiplier-fix
Fix osu!taiko slider velocity being written incorrectly to `.osu` file on export
2023-12-07 14:12:42 +01:00
Dean Herbert
ea0ad2a0ef
Merge branch 'master' into online-presence 2023-12-07 17:42:46 +09:00
Dean Herbert
3c29e9162c
Merge pull request #25693 from bdach/online-presence-structure-serialisation
Simplify user presence structures for serialisability
2023-12-07 17:39:21 +09:00
Bartłomiej Dach
9e93ca9679
Merge branch 'master' into taiko-multiplier-fix 2023-12-07 08:36:44 +01:00
Dean Herbert
07dc44ccd7
Make log export async and show notification on completion 2023-12-07 16:19:17 +09:00
Dean Herbert
a500f55ec6
Merge pull request #25688 from peppy/match-default-sv
Change default slider velocity for new beatmaps to match osu!stable
2023-12-07 11:52:16 +09:00
Bartłomiej Dach
37049d41b4
Show user's status as tooltip on the extended user panel 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
86e003aec1
Update currently online display tests 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
54f3a622be
Retrofit user presence watching into dashboard overlay 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
41c33f74f2
Extend metadata client with user presence-observing capabilities 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
d66fa09320
Simplify UserStatus to be an enumeration type
There were absolutely no gains from having it be a reference type /
class, only complications, especially when coming from the serialisation
angle.
2023-12-06 18:52:27 +01:00
Bartłomiej Dach
cb823f367f
Simplify UserActivity for serialisability over the wire
Up until now, the `UserActivity` class hierarchy contained things like
beatmap info, room info, full replay info, etc. While this was
convenient, it is soon going to be less so, as the data is sent over the
wire to the spectator server so that the user's activity can be
broadcast to other clients.

To counteract this without creating a second separate and slimmed-down
class hierarchy, slim down the `UserActivity` structure to contain the
bare minimum amounts of data such that the structures aren't overly
large and complex to serialise, but also contain enough data that they
can be used by receiving clients directly without having to do beatmap
or score lookups.
2023-12-06 18:52:26 +01:00
Bartłomiej Dach
f239d03d75
Forcibly change ruleset to correct one before entering gameplay from main menu
Closes #25663 (again).

As it turns out, in some scenarios it can be the case that the current
game-global `Beatmap` is not valid for the current game-global
`Ruleset`. The validity of one and the other in conjunction is only
really validated by the song select screen; elsewhere there is no
guarantee that the global beatmap is playable using the global ruleset.

However, this only comes up in very specific circumstances, namely one:
when trying to autoplay a catch beatmap with osu! ruleset globally
active via the skin editor flow.

`Player` is responsible for retrieving the beatmap to be played. It does
so by invoking the appropriate beatmap converter and asking it if the
beatmap can be converted:

	6d64538d7a/osu.Game/Beatmaps/WorkingBeatmap.cs (L262-L266)

If the code above throws, `Player` actually silently covers for this, by
trying the beatmap's default ruleset instead:

	6d64538d7a/osu.Game/Screens/Play/Player.cs (L529-L536)

However, for the pairing of osu! ruleset and catch beatmap, this fails,
as `OsuBeatmapConverter`'s condition necessary for permitting conversion
is that the objects have a defined position:

	6d64538d7a/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs (L25)

which they will do, due to the fact that all catch beatmaps are really
just osu! beatmaps but with conversion steps applied, and thus `Player`
succeeds to load the catch beatmap in osu! ruleset.

In the skin editor scenario, this would lead to the secondary failure
of the skin editor trying to apply `CatchModAutoplay` on top of all
of that, which would fail at the hard-cast of the beatmap
to `CatchBeatmap`.
2023-12-06 10:35:41 +01:00
Bartłomiej Dach
6d64538d7a
Merge pull request #25687 from peppy/fix-skin-editor-beatmap-change
Fix being able to change ruleset / beatmap when opening skin editor from main menu
2023-12-06 10:08:29 +01:00
Bartłomiej Dach
f69a5b44cc
Merge branch 'master' into fix-argon-initial-display 2023-12-06 09:30:28 +01:00
Bartłomiej Dach
4585a169b1
Merge pull request #25686 from peppy/fix-song-select-match
Fix searching at song select matching incorrect ruleset
2023-12-06 09:25:47 +01:00
Dean Herbert
ca991f1f54
Move flags local to EndlessPlayer 2023-12-06 17:18:35 +09:00
Dean Herbert
1b50d1011a
Move constant local to taiko 2023-12-06 15:59:34 +09:00
Dean Herbert
b5bae566c2
Fix incorrect slider velocity being written on export for osu!taiko beatmaps 2023-12-06 15:59:34 +09:00
Dean Herbert
0af16732b8
Change default slider velocity to 1.4
This is the default in osu!stable and plays better than 1.0.
2023-12-06 13:38:46 +09:00
Dean Herbert
4da6d53c72
Merge pull request #25672 from frenzibyte/fix-argon-health-display-2
Fix `ArgonHealthDisplay` sometimes behaving weirdly on miss judgements (alternative)
2023-12-06 12:24:39 +09:00
Dean Herbert
639fac2d49
Fix being able to change ruleset / beatmap when opening skin editor from main menu
No tests because it would be silly to test this – it's already a well
established behaviour and was just initialised incorrectly.
2023-12-06 12:09:34 +09:00
Dean Herbert
8286d3896f
Fix searching at song select matching incorrect ruleset
Regressed with https://github.com/ppy/osu/pull/25679.
2023-12-06 11:32:26 +09:00
POeticPotatoes
07f9f5c6d8 Remove hover checks for mod-copying menu item 2023-12-06 06:33:25 +08:00
Salman Ahmed
f45336a4f6 Make skin dropdown searching non-contiguous 2023-12-05 22:53:48 +03:00
Salman Ahmed
d4aedaf22d Always show search bar in skin dropdown for visibility 2023-12-05 22:53:48 +03:00
Salman Ahmed
ee2e176082 Add osu! dropdown search bar implementation 2023-12-05 22:53:48 +03:00
Salman Ahmed
d92db8059e Add new dropdown properties to SettingsDropdown 2023-12-05 22:53:48 +03:00
Salman Ahmed
b8b82f8901 Handle back action in OsuDropdown rather than menu 2023-12-05 22:47:10 +03:00
Salman Ahmed
a0813d18ca CalculatedTextSize -> FontSize 2023-12-05 22:47:10 +03:00
Salman Ahmed
20fd458fac Perserve miss animation when followed by a hit at same frame 2023-12-05 21:59:28 +03:00
Salman Ahmed
9496cdf42b Add explanatory note for scheduling 2023-12-05 21:59:28 +03:00
Salman Ahmed
927cfe4257 Fix health processor event leaks 2023-12-05 21:59:28 +03:00
Bartłomiej Dach
88095aaefa
Merge pull request #25637 from smoogipoo/multiplayer-abort
Add ability for the host to abort an in-progress match
2023-12-05 13:51:00 +01:00
Bartłomiej Dach
4644c4e7a2
Remove unused class 2023-12-05 12:43:32 +01:00
Bartłomiej Dach
566d336470
Merge pull request #25679 from peppy/song-select-search-performance
Improve song select search performance
2023-12-05 11:06:31 +01:00
Dean Herbert
8704dc3505
Fix change in filter behaviour 2023-12-05 18:20:27 +09:00
Dean Herbert
5a2240838b
Merge branch 'master' into multiplayer-abort 2023-12-05 17:01:54 +09:00
Dean Herbert
02178d8e61
Remove usage of case-when 2023-12-05 16:58:16 +09:00
Dean Herbert
f317e06da1
Use DangerousActionDialog 2023-12-05 16:54:44 +09:00
Dean Herbert
7b9c9a3bfd
Merge pull request #25675 from vegguid/editor-setup-show-filename
Changed the LabelledFileChooser in the setup to show the file name of the file that is was selected
2023-12-05 16:38:07 +09:00
Dean Herbert
45e499778f
Search terms before performing other criteria checks
Very minor, but putting the more common case towards the
start of the method allows early return.
2023-12-05 15:28:56 +09:00
Dean Herbert
42010574b5
Avoid list construction when doing filtering 2023-12-05 15:26:14 +09:00
Dean Herbert
27e778ae09
Avoid sorting items when already in the correct sort order 2023-12-05 14:47:32 +09:00
Dean Herbert
7fda38d0b0
Use ordinal comparison when searching at song select
Bypasses various overheads. In theory should be fine? (until it's not on some language)
2023-12-05 14:14:13 +09:00
Guido
8756dd25c6 Changed file chooser in resource selection to show file name when file is selected 2023-12-04 22:51:56 +01:00
Salman Ahmed
629e64d50a Fix ArgonHealthDisplay not displaying miss correctly during initial transition 2023-12-04 23:55:31 +03:00
Salman Ahmed
4d82a55594 Remove method for being unused 2023-12-04 23:24:28 +03:00
Salman Ahmed
5723715ea0 Fix ArgonHealthDisplay sometimes behaving weirdly on miss judgements 2023-12-04 23:24:28 +03:00
Susko3
0e47492858 Uncomment net6.0 code and remove old code 2023-12-04 20:17:22 +01:00
Dean Herbert
c5a08a0711
Remove unused using statement 2023-12-04 23:06:08 +09:00
Bartłomiej Dach
5512298d60
Trim unused resolved bindable 2023-12-04 15:01:23 +01:00
Bartłomiej Dach
8754fa40f4
Source autoplay mod from beatmap about to be presented rather than ambient global 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
063694f544
Do not attempt to load gameplay scene if current beatmap is dummy 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
9d39b70e38
Fix endless player not handling load failure 2023-12-04 14:42:51 +01:00
Bartłomiej Dach
055fb5bd8f
Do not set initial activity in skin editor endless player
Seems like an overreach to say that the user is "watching a replay"
there.
2023-12-04 14:42:51 +01:00
Dan Balasescu
8587652869
Fix countdown button being enabled 2023-12-04 11:00:11 +09:00
Dan Balasescu
c2644a5d5e
Correctly implement button enabled state 2023-12-04 10:18:37 +09:00
Dan Balasescu
b56a78c6ec
Adjust with framework changes 2023-12-04 08:51:21 +09:00
Susko3
abb4c943a7 Rename to more readable names 2023-12-01 18:35:57 +01:00
Bartłomiej Dach
30a4e77097
Merge branch 'master' into fix-overlapping-chat-links 2023-12-01 14:30:55 +01:00
Bartłomiej Dach
28aa98ab6a
Merge branch 'master' into cleanup-chat-link-test 2023-12-01 13:34:42 +01:00
Dan Balasescu
f3530a79b1
Add test 2023-12-01 21:34:20 +09:00
Bartłomiej Dach
cdaff30aa6
Update framework 2023-12-01 13:24:51 +01:00
Dan Balasescu
1b0fc8ca9d
Refactor 2023-12-01 20:41:41 +09:00
Dan Balasescu
15c9416244
Rename method 2023-12-01 18:47:40 +09:00
Dan Balasescu
a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch 2023-12-01 18:26:59 +09:00
Dan Balasescu
894c31753b
Add initial support for aborting multiplayer games 2023-12-01 15:31:06 +09:00
Susko3
d3517998cf Use common Overlaps() logic
This actually fixes the problem and makes the tests pass
2023-12-01 01:11:10 +01:00
Susko3
30bdd2d4c0 Extract Overlaps() logic to accept generic index and length 2023-12-01 01:07:23 +01:00
Susko3
152c7e513e Ignore overlapping links instead of crashing 2023-12-01 00:54:13 +01:00
Joseph Madamba
d2324cd8f9 Fix chat overlay top bar icon being incorrect 2023-11-30 10:20:01 -08:00
Dean Herbert
3553717cc6
Fix results screen not including slider end misses in tick count 2023-11-29 21:28:25 +09:00
Dean Herbert
1cfcaee121
Reorder badges so that SS shows above others
This isn't perfect and probably needs much more consideration, but let's
at least give the "better" ranks more visibility by bringing them to the
front.

Of note, this is only important due to the changes to osu!catch
accuracy-grade cutoffs, which brings things closer in proximity than
ever before.
2023-11-29 20:29:52 +09:00
Dan Balasescu
295a1b01d6
Adjust catch score grade cutoffs 2023-11-29 19:05:31 +09:00
Dean Herbert
537c9e031d
Merge pull request #25522 from bdach/no-concurrent-connections
Implement flow allowing disconnection from online services when another client instance for same user is detected
2023-11-28 19:09:38 +09:00
Dean Herbert
efb6c30252
Merge branch 'master' into scoring-test-mods 2023-11-28 18:38:50 +09:00
Dean Herbert
51de98f341
Use Logger.Storage rather than locally querying 2023-11-28 17:59:21 +09:00
Dean Herbert
4c2819dbc2
Update button text and make localisable 2023-11-28 17:59:05 +09:00
Dean Herbert
11f1f44237
Add button to compress log files for bug submission 2023-11-27 17:13:11 +09:00
Dean Herbert
ff18f80559
Apply NRT to UpdateSettings 2023-11-27 16:56:11 +09:00
Bartłomiej Dach
874a3706bc
Merge branch 'master' into spinner-glow 2023-11-27 15:06:27 +09:00
Bartłomiej Dach
3f73610ee7
Update framework ^& resources 2023-11-27 15:06:11 +09:00
Bartłomiej Dach
e2d51973ce
Merge pull request #25569 from smoogipoo/legacy-hp-abstraction
Encapsulate common HP logic from osu and catch HP calculations
2023-11-27 14:38:41 +09:00
Bartłomiej Dach
6eebf633c6
Merge pull request #25566 from peppy/show-spectator-fail-2
Fix spectator not immediately showing when a spectated user fails
2023-11-27 13:30:18 +09:00
Dean Herbert
a4be28a2ae
Don't show buttons on fail overlay when player interaction is disabled 2023-11-27 12:25:24 +09:00
Bartłomiej Dach
98ab9853ce
Merge branch 'master' into show-spectator-fail-2 2023-11-27 12:24:59 +09:00
Bartłomiej Dach
e8730fae84
Merge branch 'master' into skin-editor-load-gameplay 2023-11-27 12:14:25 +09:00
Bartłomiej Dach
7e3bb5f8db
Make skin editor overlay dependency nullable to fix tests 2023-11-27 12:09:13 +09:00
Bartłomiej Dach
3f48f4acdf
Remove blank line 2023-11-27 12:06:08 +09:00
Bartłomiej Dach
19639de299
Merge branch 'master' into fix-spectator-quit-2 2023-11-27 11:36:10 +09:00
Bartłomiej Dach
7f788058cd
Revert incorrect xmldoc change 2023-11-27 11:35:10 +09:00
Bartłomiej Dach
1388e492b1
Merge branch 'master' into chat-drag-improvements 2023-11-27 10:46:55 +09:00
Bartłomiej Dach
6f66819e51
Privatise setter 2023-11-27 10:44:50 +09:00
Salman Ahmed
68fca00757 Improve handling of beatmap collection changes in CollectionDropdown
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-11-25 02:40:32 +03:00
Zyf
71e5654b64 Account for legacyAccScore in score conversion 2023-11-24 23:07:27 +01:00
Zyf
27f9dfccc4 Fix scoring-conversion when miss-count is 0 2023-11-24 22:05:24 +01:00
Dean Herbert
a6cf1e5d2e
Make osu! logo do something when in edit submenu 2023-11-25 00:53:25 +09:00
Dean Herbert
a44edfdedd
Fix incorrect sample for top level edit button 2023-11-24 19:37:57 +09:00
Dan Balasescu
8314f656a3
Encapsulate common HP logic from osu and catch HP calculations 2023-11-24 18:32:06 +09:00
Dean Herbert
3015135178
Merge branch 'master' into chat-drag-improvements 2023-11-24 18:13:18 +09:00
Dean Herbert
7153c823e8
Choose a better beatmap if the intro is still playing
Also skip intro time.
2023-11-24 17:47:20 +09:00
Dean Herbert
95229cb336
Show gameplay when loading the skin editor from the main menu 2023-11-24 17:47:20 +09:00
Dean Herbert
290c3d6349
Clean up left-overs 2023-11-24 17:46:23 +09:00
Dean Herbert
3b41480bef
Always show drag bar on mobile 2023-11-24 17:46:02 +09:00
Dean Herbert
de1d921383
Merge branch 'master' into menu-skin-editor-button 2023-11-24 17:39:54 +09:00
Dean Herbert
55df8e81b9
Merge pull request #25560 from peppy/hexacons-sprite-icon
Replace all hexacon lookups with strongly typed properties
2023-11-24 17:38:58 +09:00
Dean Herbert
59800821da
Update framework 2023-11-24 16:44:18 +09:00
Dean Herbert
7600595e5d
Add drag bar on chat overlay to better signal resizability 2023-11-24 16:39:54 +09:00
Dean Herbert
36b45d34f7
Check drag location on mouse down instead of drag start to avoid lenience issues 2023-11-24 16:39:29 +09:00
Dean Herbert
e3217bc82e
Merge branch 'master' into hp-drain-fix-breaks 2023-11-24 15:15:48 +09:00
Dan Balasescu
289cda71b2
Fix inspections 2023-11-24 15:06:51 +09:00
Dean Herbert
7ceb49fbc0
Add extra test coverage and handle case where still at loading screen 2023-11-24 15:05:39 +09:00
Dean Herbert
d3a55d83c0
Schedule FailScore inside onFail instead of onFailComplete 2023-11-24 14:44:57 +09:00
Dean Herbert
ef5dd24589
Update failing test coverage and fix onFail being called too often 2023-11-24 14:44:57 +09:00
Dean Herbert
4ad3cb3b49
Submit and send failed spectator state more aggressively 2023-11-24 14:44:57 +09:00
Dean Herbert
8375dd72d6
Add xmldoc to new AllowFail method 2023-11-24 14:44:57 +09:00
Dean Herbert
ca93fdc94b
Add visualisation of when a spectated player fails
Create a new stack each time for isolation and safety
2023-11-24 14:44:57 +09:00
Dean Herbert
b024065857
Remove implicit schedule of abstract methods in SpectatorScreen
This allows each implementation to have control over scheduling. Without
this, the solo implementation would not be able to handle quit events
while watching a player, as it would push a child (gameplay) screen to
the stack where the `SpectatorScreen` would usually be.
2023-11-24 14:26:09 +09:00
Dean Herbert
ed5375536f
Reduce access to various fields and events in SpectatorClient
Restore some `virtual` specs to appease Moq
2023-11-24 14:26:09 +09:00
Dean Herbert
335e8efff7
Apply NRT to SoloSpecatorScreen 2023-11-24 14:26:09 +09:00
Dean Herbert
dabbdf674b
Rename SoloSpectator to SoloSpectatorScreen 2023-11-24 14:26:08 +09:00
Dean Herbert
4c7d2bb0fb
Apply NRT to SpectatorScreen 2023-11-24 14:26:08 +09:00
Dean Herbert
b8179aa875
Use better(?) icons and full strings 2023-11-24 13:23:47 +09:00
Dean Herbert
a069a673fa
Allow buttons to be displayed on more than one state (and share the back button) 2023-11-24 13:18:17 +09:00
Dean Herbert
1d1b3ca982
Apply NRT to MainMenuButton 2023-11-24 13:18:17 +09:00
Dean Herbert
8ad414488a
Play out previous transforms immediately to avoid flow issues with multiple sub menus 2023-11-24 13:18:17 +09:00
Dean Herbert
7e59a1d0be
Apply NRT to ButtonSystem 2023-11-24 13:18:17 +09:00
Dean Herbert
5905ca6492
Add second level menu for skin editors 2023-11-24 13:18:17 +09:00
Dean Herbert
340227a06d
Replace all hexacon lookups with strongly typed properties 2023-11-24 13:17:39 +09:00
Dean Herbert
95c00f9666
Add HexaconIcons lookup to allow usage with SpriteIcon 2023-11-24 13:17:39 +09:00
Dean Herbert
537b0ae870
Add silly annotation for now (more new r# rules) 2023-11-24 12:47:42 +09:00
Bartłomiej Dach
9541d3d452
Merge pull request #25553 from peppy/skin-player-elements
Allow use of skin username/flag/avatar components outside of gameplay
2023-11-24 11:28:01 +09:00
Bartłomiej Dach
02c794cc1f
Merge pull request #25552 from peppy/fix-r#-inpsections
Fix a couple of new r# inspections
2023-11-24 11:04:08 +09:00
Bartłomiej Dach
ca37e1afc2
Merge branch 'master' into scorev3 2023-11-24 10:37:10 +09:00
Bartłomiej Dach
7590bae445
Rename and comment everything in score migration code
Hopefully, _hopefully_, makes all this a little bit less inscrutable.
2023-11-24 10:34:13 +09:00
Dean Herbert
686afa9697
Merge branch 'master' into fix-combo-handling 2023-11-24 10:30:52 +09:00
Dan Balasescu
10e16e4b04
Fix handling of combo offset without new combo, and incorrect lazer tests 2023-11-24 09:46:06 +09:00
Givikap120
93e3156868 slight format changes 2023-11-24 01:07:37 +02:00
Givikap120
c2a44cf118 Made custom tooltip 2023-11-23 23:30:18 +02:00
Dean Herbert
268b965ee8
Enable NRT on Beatmap 2023-11-23 17:28:16 +09:00
Dean Herbert
5239fee947
Allow use of skin username/flag/avatar components outside of gameplay 2023-11-23 17:15:03 +09:00
Dean Herbert
a80a5be4ec
Fix a couple of new r# inspections 2023-11-23 17:11:40 +09:00
Dean Herbert
9a6857bfad
Merge pull request #25530 from yesseruser/FlagHUD
Fix skin element "PlayerFlag" responding to clicks/hovers
2023-11-23 16:51:09 +09:00
Dean Herbert
191e8c5487
Add note about skin editor reload jank 2023-11-23 16:39:05 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling 2023-11-23 16:22:01 +09:00
Dean Herbert
5d367c247c
Merge pull request #25547 from bdach/skin-editor-paste-catching-fire
Fix skin editor crashing when pasting with nothing in clipboard
2023-11-23 16:15:11 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners 2023-11-23 13:54:05 +09:00
Bartłomiej Dach
d4519f74ab
Merge branch 'master' into hp-drain-fix-breaks 2023-11-23 10:31:42 +09:00
Bartłomiej Dach
abbcdaa7f7
Fix skin editor crashing when pasting with nothing in clipboard 2023-11-23 09:55:27 +09:00
Dan Balasescu
30309cdf11
Merge pull request #25415 from Poyo-SSB-forks/unify-ur
Change unstable rate calculation to account for rate-change mods
2023-11-23 09:53:28 +09:00
Dan Balasescu
5b0f8ee9c2
Merge pull request #25546 from bdach/classic-score-overflow
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
2023-11-23 09:03:43 +09:00
Bartłomiej Dach
e28e0ef1cc
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
Closes https://github.com/ppy/osu/issues/25545.
2023-11-23 08:16:25 +09:00
Dean Herbert
52dc02fd32
Merge pull request #25418 from smoogipoo/hp-drain-v1-2
Add `OsuHealthProcessor` that uses the legacy drain rate algorithm
2023-11-23 00:08:20 +09:00
yesseruser
82fec4194d Disabled RecievePositionalInputAtSubTree in PlayerFlag. 2023-11-22 15:45:32 +01:00
yesseruser
08e0279d72 Revert "Renamed UpdateableFlag to ClickableUpdateableFlag."
This reverts commit 671177e871.
2023-11-22 15:25:43 +01:00
yesseruser
be8b59e59d Revert "Created and implemened a BaseUpdateableFlag."
This reverts commit cd7e0bf620.
2023-11-22 15:25:35 +01:00
yesseruser
7bc304f20e Revert "Added a BaseDrawableFlag without a tooltip, and used it."
This reverts commit b2f74325ef.
2023-11-22 15:25:17 +01:00
yesseruser
33de27499a
Merge branch 'master' into FlagHUD 2023-11-22 14:36:20 +01:00
Dan Balasescu
cb4568c4a1
Fix first object after break not starting a new combo 2023-11-22 17:22:48 +09:00
Bartłomiej Dach
f1f820bec3
Merge pull request #25523 from peppy/save-skin-on-screen-change
Save any unsaved changes in the skin editor when game changes screens
2023-11-22 14:19:57 +09:00
Dean Herbert
b30a4ab3a9
Merge pull request #25536 from peppy/combo-commenting
Improve commenting around `IHasCombo` interfaces
2023-11-22 13:28:03 +09:00
Dean Herbert
d86e743745
Merge branch 'master' into login-state-changes-user-profile-overlay 2023-11-22 12:13:49 +09:00
Dean Herbert
ad6af1d9b7
Ensure only run once 2023-11-22 12:03:42 +09:00
Dean Herbert
fe15b26bd2
Refactor to use API state instead of logged in user state 2023-11-22 12:02:37 +09:00
Dean Herbert
04640b6fb0
Improve commenting around IHasCombo interfaces
Following discusion with smoogi IRL.
2023-11-22 10:44:29 +09:00
Poyo
3a0586a8f5 Rewrite backwards assertion 2023-11-21 15:19:04 -08:00
Poyo
0cf925dadf Use better fallback
Seems better to use the rate from a non-gameplay clock than to arbitrarily apply 1.
2023-11-21 15:18:04 -08:00
Bartłomiej Dach
c98be5823d
Update framework 2023-11-22 07:52:28 +09:00
yesseruser
b2f74325ef Added a BaseDrawableFlag without a tooltip, and used it.
The BaseDrawableFlag is used in a BaseUpdateableFlag so the tooltip is not shown, the ClickableUpdateableFlag still shows the tooltip.
2023-11-21 19:51:35 +01:00
yesseruser
cd7e0bf620 Created and implemened a BaseUpdateableFlag.
The tooltip still shows.
2023-11-21 19:27:33 +01:00
yesseruser
671177e871 Renamed UpdateableFlag to ClickableUpdateableFlag. 2023-11-21 19:02:23 +01:00
Clément Burgelin (Zyfarok)
901e45b6a4 Scoring conversion: remove mention of v3 + improve comments 2023-11-21 14:26:07 +01:00
Clément Burgelin (Zyf)
16acec335f
Fix: update score migration of special case to match the new score
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-11-21 11:27:03 +01:00
Dan Balasescu
8302ebcf1a
Remove default DrainRate value 2023-11-21 19:18:02 +09:00
Dean Herbert
aa749aeb73
Save any unsaved changes in the skin editor when game changes screens
Closes https://github.com/ppy/osu/issues/25494.
2023-11-21 17:49:57 +09:00
Bartłomiej Dach
85bddab52b
Refactor OnlineStatusNotifier to be more local 2023-11-21 17:36:29 +09:00
Dean Herbert
21bf288277
Merge pull request #25520 from peppy/context-menu-spacers
Allow context menus to have visible spacers
2023-11-21 16:56:36 +09:00
Bartłomiej Dach
bf972a04ee
Merge pull request #25409 from Tom94/bspline-sliders
Add free-hand drawing of sliders to the editor
2023-11-21 16:28:14 +09:00
Bartłomiej Dach
d83b2e24e7
Merge pull request #25371 from RatinFX/open-editor-timestamp
Implement opening editor timestamp links
2023-11-21 15:48:36 +09:00
Dean Herbert
4b2d8aa6a6
Add ToString on PathType for better test output 2023-11-21 15:38:12 +09:00
Dean Herbert
ba6fbbe43c
Update framework 2023-11-21 15:38:12 +09:00
Dean Herbert
3d094f84ad
Fix incorrect parsing of BSpline curve types 2023-11-21 15:38:12 +09:00
Bartłomiej Dach
aa3ff151c0
Fix RoomManager attempting to part room when not online 2023-11-21 15:15:46 +09:00
Bartłomiej Dach
42fada578e
Centralise and improve messaging around online state
When the server requests a disconnect due to a user connecting
via a second device, the client will now log the user out on the first
device and show a notification informing them of the cause of
disconnection.
2023-11-21 15:15:46 +09:00
Bartłomiej Dach
2391035e49
Remove redundant api field from HubClientConnector 2023-11-21 15:15:46 +09:00
Bartłomiej Dach
1c612e2e0c
Implement client-side disconnection flow 2023-11-21 15:15:45 +09:00
Dean Herbert
7c5345bf7e
Use SimpleErrorNotification for error display 2023-11-21 15:10:41 +09:00
Dean Herbert
917a68eac3
Adjust localisablel strings and keys 2023-11-21 15:08:15 +09:00
Dean Herbert
405ab499e9
Allow context menus to have visible spacers 2023-11-21 14:24:10 +09:00
Stedoss
ec7b82f5e8 Change early return to check for online State instead of IsLoggedIn 2023-11-21 01:55:08 +00:00
Stedoss
5514a53df1 Pass ruleset to callback to prevent ruleset desync 2023-11-21 01:04:46 +00:00
Bartłomiej Dach
b6215b2809
Rename and document SelectFromTimestamp 2023-11-20 21:57:14 +09:00
Bartłomiej Dach
234ef6f923
Rectify selection keep-alive logic 2023-11-20 21:57:14 +09:00
Bartłomiej Dach
246aacb216
Remove unnecessary guard
Setting a bindable's value to something if that value is already there
is a no-op (doesn't trigger bindings / callbacks).
2023-11-20 21:57:14 +09:00
Bartłomiej Dach
0e0ab66148
Simplify parsing code
Less methods, less smeared around logic, saner data types.
2023-11-20 21:57:12 +09:00
Bartłomiej Dach
c9e8d66e19
Improve xmldoc 2023-11-20 21:02:12 +09:00
Dean Herbert
ded9981d07
Update framework 2023-11-20 17:55:01 +09:00
Bartłomiej Dach
8e39dbbff1
Adjust casing of curve type menu items
The "Perfect curve" one in particular... fixes test failures, as some
tests were relying on this particular casing. But the new version feels
more correct anyway, so it's whatever.
2023-11-20 15:42:55 +09:00
Bartłomiej Dach
6d7d826b8b
Fix incorrect legacy conversion when B-splines are used 2023-11-20 15:08:58 +09:00
Bartłomiej Dach
80a3225bb2
Use static BEZIER instead of allocating new every time 2023-11-20 13:35:07 +09:00
Bartłomiej Dach
487326a4c7
Remove pattern matching syntax usage in switch
Also throw on unknown types.
2023-11-20 13:34:01 +09:00
Bartłomiej Dach
5d1bac6d7a
Remove IToolboxAttachment for now
The interface doesn't really do anything useful right now because
it enforces a common contract, but all usages of the contract
go through the concrete implementation, and it inflates
the already-huge diff.
2023-11-20 13:17:43 +09:00
Bartłomiej Dach
7820c8ce4d
Decrease redundancy of equality implementations 2023-11-20 12:28:20 +09:00
Bartłomiej Dach
25c1a90047
Change switchexpr to standard switch statement 2023-11-20 12:26:45 +09:00
Bartłomiej Dach
577cb9994c
Move static instances / construction methods closer together 2023-11-20 12:26:43 +09:00
Bartłomiej Dach
33b592f1c7
Update framework (again) 2023-11-20 12:04:30 +09:00
Bartłomiej Dach
b6e3e42445
Merge branch 'master' into bspline-sliders 2023-11-20 12:03:29 +09:00
Clément Burgelin (Zyfarok)
1f88658bad Fix syntax 2023-11-20 03:05:46 +01:00
Stedoss
bfcca38200 Handle login API state changes in UserProfileOverlay 2023-11-20 02:00:57 +00:00
Zyf
432b88674b Scoring : change formula parameters to match survey results 2023-11-20 00:02:58 +01:00
Zyf
cadd9b4ace Merge remote-tracking branch 'upstream/master' into scorev3 2023-11-19 23:53:05 +01:00
Poyo
d9cd546377 Use rate fallback in DrawableHitObject 2023-11-18 12:09:37 -08:00
Dean Herbert
6fa7b4f552
Merge branch 'master' into hp-drain-v1-2 2023-11-17 18:33:03 +09:00
Dean Herbert
bd932a5417
Update localisation analyser
Pulls in https://github.com/ppy/osu-localisation-analyser/pull/60.
2023-11-17 17:07:21 +09:00
Dean Herbert
9172632b0b
Rename method and adjust xmldoc to be very explicit about how wrong this is 2023-11-17 17:04:20 +09:00
Dean Herbert
d1cea10f21
Add note about localisation 2023-11-17 16:52:40 +09:00
Dean Herbert
7472dc9bb5
Update APIState checks 2023-11-16 20:39:23 +09:00
Dean Herbert
b88e3cd26f
Change ResourceStore provided to Skin to be a fallback, not replacement 2023-11-16 20:19:01 +09:00
Dean Herbert
167f5b4ef4
Tidy up localisations and connect missing links 2023-11-16 18:28:46 +09:00
Dean Herbert
f7fa9c90d6
Add test coverage of 2FA flow 2023-11-16 18:18:40 +09:00
Dean Herbert
285f740e2a
Update various components to handle new state 2023-11-16 18:18:15 +09:00
Dean Herbert
0e4244a692
Add APIAccess flow for 2fa 2023-11-16 18:18:15 +09:00
Dean Herbert
c4e461ba44
Add two factor auth form 2023-11-16 18:18:15 +09:00
Dean Herbert
e9d4cf2e24
Setup basic form flow 2023-11-16 18:18:15 +09:00
Dean Herbert
80c879e5eb
Adjust member ordering in LoginForm 2023-11-16 18:18:15 +09:00
Dean Herbert
85e303ec54
Add two factor step to api state flow 2023-11-16 18:18:15 +09:00
Dean Herbert
87a76b9ee8
Merge pull request #25478 from Joehuu/fix-comment-markdown
Fix `CommentMarkdownTextFlowContainer` not inheriting osu! class
2023-11-16 17:39:35 +09:00
Dean Herbert
0a8ede6274
Merge pull request #25469 from Joehuu/argon-hide-counter-labels
Add ability to toggle labels on argon counter components
2023-11-16 17:01:03 +09:00
Bartłomiej Dach
1e2f1b3ef2
Merge branch 'master' into unload-main-menu-storyboard 2023-11-16 15:46:44 +09:00
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