1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-09 14:53:00 +08:00
Commit Graph

44677 Commits

Author SHA1 Message Date
Dean Herbert
0087270b7e
Update status and count immediately after friend request completes 2024-11-05 14:53:54 +09:00
Dean Herbert
f21d2de8e8
Merge pull request #30496 from bdach/copy-link-to-score
Add context menu option to copy link to an online score
2024-11-05 14:03:47 +09:00
Dean Herbert
9d65d394d3
Add ability to hide breaks from timeline
This was another IRL request from a mapper / team member. The rationale
here is that it can be very annoying to map with break time enabled if
you have a large gap in the beatmap you are trying to fill with
hitobjects, as you are placing objects on top of a very gray area.
2024-11-05 12:56:19 +09:00
Bartłomiej Dach
74d5de2d13
Remove redundant initialiser 2024-11-04 14:49:11 +01:00
Bartłomiej Dach
1dee041448
Add search textbox in friends display
Random user feature request that made sense to me because the same thing
is in currently online display.

Yes web doesn't have this, but web is in a browser where you can Ctrl-F.
You can't do that in the client.

Design taken out of posterior because I can't be bothered waiting for
design cycles for this.
2024-11-04 14:40:30 +01:00
Bartłomiej Dach
6a1893ff3f
Add context menu option to copy link to an online score
I feel like this may become useful soon enough to help diagnose weird
issues.
2024-11-04 13:59:48 +01:00
Bartłomiej Dach
51f26993fa
Extract "copy link" text to common localisation 2024-11-04 13:59:48 +01:00
Bartłomiej Dach
e064965281
Remove weird method 2024-11-04 13:13:23 +01:00
Bartłomiej Dach
00e795cf76
Merge pull request #30484 from peppy/store-scale-origin-mode
Remember origin for editor scale/rotation popover
2024-11-04 12:58:06 +01:00
Bartłomiej Dach
cb833007e0
Adjust colours to actually match web 2024-11-04 12:02:20 +01:00
Dean Herbert
c99c82ab08
Merge pull request #30460 from Lawtrohux/t-speed-deviation
Implement stamina consideration for Mono (single-coloured) patterns.
2024-11-04 19:38:50 +09:00
Dean Herbert
c4a02b7991
Merge pull request #30489 from iSlodinxOsu/loved
Remove `by the beatmap creator` in `PlayerLoaderStrings`
2024-11-04 18:39:21 +09:00
iSlodinx
a49b2eaa3b
Update PlayerLoaderStrings.cs 2024-11-03 18:52:40 +01:00
Dean Herbert
3a3471c202
Remember origin for editor rotation popover 2024-11-03 15:23:55 +09:00
Dean Herbert
b03963ac84
Remember origin for editor scale popover 2024-11-03 15:20:51 +09:00
Bartłomiej Dach
7e3bb763cd
Merge branch 'master' into key-reversion-conflict 2024-11-01 19:40:27 +01:00
Bartłomiej Dach
f5a2674f66
Rewrite fix in a more legible way
- Use better param name ("restoring" what bindings? the key information
  there is that the *defaults* are being restored)
- Split ugly and not easily understandable (but probably
  best-that-can-be-done) conditional out to a method and comment it
  appropriately
2024-11-01 19:38:45 +01:00
Bartłomiej Dach
f2afec23f9
Merge branch 'master' into hs-toggle2 2024-11-01 18:44:33 +01:00
Bartłomiej Dach
8f48682d0a
Remove hide sample toggle
In line with feedback from
https://github.com/ppy/osu/pull/29896#issuecomment-2378676851.
2024-11-01 18:44:24 +01:00
Dan Balasescu
ef22b6b1a8
Round to integral units
The rounding matches the implementation of `PerformancePointsCounter`.
2024-11-01 22:43:52 +09:00
Bartłomiej Dach
3dc2408965
Merge branch 'master' into bat-max-performance 2024-11-01 13:13:20 +01:00
cdwcgt
1a92e5ad19
remove CreateAPIRelationFromAPIUser 2024-11-01 19:24:58 +08:00
cdwcgt
fbe6077ec2
rename FriendDeleteRequest to DeleteFriendRequest 2024-11-01 19:17:25 +08:00
cdwcgt
21b1c799f3
rename FriendAddRequest to AddFriendRequest 2024-11-01 19:16:56 +08:00
cdwcgt
729c7f11a9
add StringEnumConverter for RelationType 2024-11-01 19:15:20 +08:00
Bartłomiej Dach
1b5d1347aa
Merge branch 'master' into bat-mods 2024-11-01 11:27:06 +01:00
Bartłomiej Dach
5f63950598
Add missing disposal 2024-11-01 11:26:59 +01:00
Dan Balasescu
9766d51559
Store attribute to the database 2024-11-01 16:02:02 +09:00
cdwcgt
9e4c382a61
add tooltips 2024-11-01 14:43:00 +08:00
cdwcgt
3bd116cd65
typo 2024-11-01 14:42:50 +08:00
cdwcgt
29ba13fe77
store follower count locally 2024-11-01 14:06:23 +08:00
cdwcgt
0b2f4facac
add test 2024-11-01 14:05:24 +08:00
cdwcgt
45cc830aee
logic in FollowersButton 2024-11-01 12:54:13 +08:00
cdwcgt
350e1d6332
add ability to shou loading layer and set icon for followersButton 2024-11-01 12:53:57 +08:00
cdwcgt
69b5bd3b50
Fix existing friend logic 2024-11-01 12:53:13 +08:00
cdwcgt
bf53833b7b
add API model and request 2024-11-01 12:52:37 +08:00
Dan Balasescu
372162de5d
Ignore casing when matching mods acronyms 2024-10-31 08:55:42 +09:00
Bartłomiej Dach
7e3564cb4a
Bring back matching by filename when performing online metadata lookups 2024-10-30 10:25:20 +01:00
Luke Knight
0f61e19857 Fixed formatting for InspectCode 2024-10-30 03:02:51 -05:00
Bartłomiej Dach
2b0fd3558f
Remove more no-longer-required checks
The scenario that remaining guard was trying to protect against is
obviated by and no longer possible after
776fabd77c.
2024-10-30 08:44:23 +01:00
Bartłomiej Dach
0e52797f29
Prefer not deleted models when picking model instances for reuse when importing
This fell out while investigating why the issue with online IDs
mismatching in the `.osu` could be worked around by importing the map
three times in total when starting from it not being available locally.

Here follows an explanation of why that "helped".

Import 1:
- The beatmap set is imported normally.
- Online metadata population sees the online ID mismatch and resets it
  on the problematic beatmap.

Import 2:
- The existing beatmap set is found, but deemed not reusable
  because of the single beatmap having its ID reset to -1.
- The existing beatmap set is marked deleted, and all the IDs of
  its beatmaps are reset to -1.
- The beatmap set is reimported afresh.
- Online metadata population still sees the online ID mismatch
  and resets it on the problematic beatmap.

Note that at this point the first import *is still physically present
in the database* but marked deleted.

Import 3:
- When trying to find the existing beatmap set to see if it can be
  reused, *the one pending deletion and with its IDs reset -
  - the remnant from import 1 - is returned*.
- Because of this, `validateOnlineIds()` resets online IDs
  *on the model representing the current reimport*.
- The beatmap set is reimported yet again.
- With the online ID reset, the online metadata population check for
  online ID mismatch does not run because *the IDs were reset to -1*
  earlier.

Preferring undeleted models when picking the model instance for reuse
prevents this scenario.
2024-10-30 08:18:44 +01:00
Bartłomiej Dach
776fabd77c
Only use MD5 when performing metadata lookups
Both online and offline using the cache.

The rationale behind this change is that in the current state of
affairs, `TestPartiallyMaliciousSet()` fails in a way that cannot be
reconciled without this sort of change.

The test exercises a scenario where the beatmap being imported has an
online ID in the `.osu` file, but its hash does not match the online
hash of the beatmap. This turns out to be a more frequent scenario than
envisioned because of users doing stupid things with manual file editing
rather than reporting issues properly.

The scenario is realistic only because the behaviour of the endpoint
responsible for looking up beatmaps is such that if multiple parameters
are given (e.g. all three of beatmap MD5, online ID, and filename), it
will try the three in succession:

	f6b341813b/app/Http/Controllers/BeatmapsController.php (L260-L266)

and the local metadata cache implementation reflected this
implementation.

Because online ID and filename are inherently unreliable in this
scenario due to being directly manipulable by clueless or malicious
users, neither should not be used as a fallback.
2024-10-30 08:12:30 +01:00
Luke Knight
b42fa23e42 Prevent key bind conflict on reversion 2024-10-30 02:04:03 -05:00
Bartłomiej Dach
1a2e323c11
Remove problematic online ID check 2024-10-30 07:40:08 +01:00
Dan Balasescu
904b76b9d7
Merge pull request #30424 from bdach/wtf-wtf-wtf-wtf
Do not fall back to beatmap's original ruleset if conversion fails
2024-10-28 17:14:19 +09:00
StanR
86989aa5ce Fix UserRankPanel rank overflowing on 6+ digits 2024-10-27 13:40:29 +05:00
Salman Alshamrani
0e65655fef Remove redundant condition in else branch
Yep.
2024-10-25 23:15:17 -04:00
Bartłomiej Dach
09582aa653
Merge pull request #30413 from peppy/slider-bar-focus
Adjust slider bar implementations to show focused state
2024-10-25 21:51:54 +02:00
Bartłomiej Dach
b78e7d5d9a
Fix multiplayer song select not correctly applying filter sometimes
Fixes the root client-side failure causing
https://github.com/ppy/osu/issues/30415.

Thread of breakage is as follows:

1. `SongSelect` loads the carousel.
   At this point, the ruleset is what the ambient ruleset would have
   been at the time of pushing song select, so most likely it will
   match the current ruleset.
   Notably, the carousel is loaded with `AllowSelection == false`.
2. `OnlinePlaySongSelect` sets the ruleset to the one taken from
   the relevant playlist item in `LoadComplete()`.
3. At any point between the previous and the next step, the user
   changes the ruleset manually.
4. `SongSelect.carouselBeatmapsLoaded()` is ran, which calls
   `transferRulesetValue()`, which calls `FilterControl.FilterChanged`.
   But at this stage `Carousel.AllowSelection` is still false, so
   the filter is not executed, but `pendingFilterApplication` is set
   instead.
   Unfortunately, the pending filter never gets applied after that.
   The only place that checks that flag is `OnEntering()`, which at
   this point has already ran.

To fix, move the `pendingFilterApplication` check to `Update()`, which
seems like the most obvious and safe solution.
2024-10-25 21:29:53 +02:00
Bartłomiej Dach
e96d593b1f
Fix redundant array type specification 2024-10-25 19:58:31 +02:00
Bartłomiej Dach
b72a50bbaa
Merge pull request #30387 from peppy/editor-sidebars-always-expanded
Keep editor sidebars expanded by default
2024-10-25 19:46:35 +02:00
Jamie Taylor
f5071c205f
Increase ducking duration when selecting Mania ruleset 2024-10-26 01:45:51 +09:00
Bartłomiej Dach
9902c22f5c
Do not fall back to beatmap's original ruleset if conversion fails
I don't know why this was ever a good idea, and would say that we want
this to fail *hard* not soft. If things ever get in this state, things
have gone *seriously* wrong elsewhere, and need to be fixed there.
2024-10-25 13:16:24 +02:00
Dean Herbert
68e8819f3b
Fix taiko playfield looking weird with new editor toolbox displays 2024-10-25 17:17:19 +09:00
Dean Herbert
1fc221bb39
Fix focus glow appearing above range slider's nubs 2024-10-25 16:13:02 +09:00
Dean Herbert
c666fa7472
Update framework 2024-10-25 16:09:08 +09:00
Salman Alshamrani
1d559b2cad Remove fade transitions 2024-10-24 16:20:49 -04:00
OliBomby
eb61da4232 only consider hit objects which are visible in timeline for contracted state 2024-10-24 21:22:09 +02:00
Dean Herbert
6e8400a958
Fix gap in ShearedSliderBar when focused 2024-10-24 20:37:38 +09:00
OliBomby
88e88bdc4f Fix addition banks disabled on reset 2024-10-24 13:17:49 +02:00
OliBomby
5b92a9ff59 Fix enabled state not updating drawable 2024-10-24 13:15:09 +02:00
Dean Herbert
940220b649
Fix big oops 2024-10-24 19:57:39 +09:00
Dean Herbert
6dd1efa013
Adjust slider bar implementations to show focused state 2024-10-24 19:46:20 +09:00
Dean Herbert
787d3dceea
Merge branch 'master' into auto-addition2 2024-10-24 18:40:27 +09:00
Dean Herbert
77bd0e8d70
Add visual disabled state to ternary buttons 2024-10-24 18:36:34 +09:00
Dean Herbert
61f0cfd688
Make flow more async to avoid any chance of deadlocks 2024-10-24 17:56:51 +09:00
Salman Alshamrani
6e9ff49e59
Merge branch 'master' into editor-slider-touch-support-2 2024-10-23 17:02:38 -04:00
Salman Alshamrani
3a4d5af83e Fix placement blueprints sometimes not behaving correctly with touch input
More specifically, this fixes placement blueprints not beginning placement when using touch input while the cursor was previously outside compose area, due to the placement blueprint not existing (removed from the scene by `ComposeBlueprintContainer`).
2024-10-23 16:51:21 -04:00
OliBomby
ddbeb56f0f Show tooltip on auto normal bank when not usable 2024-10-23 21:25:37 +02:00
Dean Herbert
7b2ca2f388
Merge pull request #30400 from peppy/quote-source-search
Quote source text when searching for it via click
2024-10-23 23:50:03 +09:00
Dean Herbert
77d2f35765
Merge pull request #30375 from bdach/fix-broken-playfield-skin-layer-rotation
Fix playfield skinning layer no longer correctly rotating with the playfield
2024-10-23 19:50:39 +09:00
Dean Herbert
064aaeb60e
Initialise container earlier to avoid null reference failures 2024-10-23 18:46:20 +09:00
Dean Herbert
c1453cfd0c
Merge pull request #30389 from bdach/fix-looping-samples-not-stopping
Fix old looping samples not stopping when replacing a `SkinnableSound`'s `Samples`
2024-10-23 18:39:55 +09:00
Dean Herbert
cb880f7e9b
Merge branch 'master' into move-already-placed-objects-when-adjusting-offset-bpm 2024-10-23 18:20:43 +09:00
Dean Herbert
be5cb209e5
Update notification text when import is paused due to gameplay
Addresses https://github.com/ppy/osu/discussions/30388.
2024-10-23 17:51:29 +09:00
Dan Balasescu
2bea1fe4a6
Also add source prefix 2024-10-23 16:21:28 +09:00
Dan Balasescu
af7d35bfbf
Doubly quote strings
Note the external-action case (currently used for tags) doesn't match
osu!web but it doesn't matter because tags are single words
anyway.
2024-10-23 16:15:49 +09:00
Dean Herbert
5939c78760
Merge branch 'master' into auto-addition2 2024-10-23 15:53:07 +09:00
Dean Herbert
2103b3e186
Merge pull request #28863 from OliBomby/additions
Add toggles and hotkeys for configuring sample addition bank
2024-10-23 15:52:55 +09:00
Dean Herbert
21351b1be4
Quote source text when searching for it via click
Addresses https://github.com/ppy/osu/discussions/30181.
2024-10-23 15:41:42 +09:00
Bartłomiej Dach
1008d32ddb
Fix old looping samples not stopping when replacing a SkinnableSound's Samples
Closes https://github.com/ppy/osu/issues/30365.
2024-10-22 14:35:21 +02:00
Dean Herbert
53a340938a
Merge pull request #30377 from bdach/very-bad-completely-no-good-comparer
Fix timeline blueprints sometimes causing crashes due to current placement blueprint becoming unsorted
2024-10-22 20:20:03 +09:00
Bartłomiej Dach
24dfc1b66e
Merge pull request #30328 from TaterToes/seekingControlPointFix
Add breathing room to seek back between control points in editor
2024-10-22 13:14:24 +02:00
Dean Herbert
213be029ed
Merge pull request #30382 from Maks1mio/ChatChannelListSearch
Add search box to chat overlay
2024-10-22 20:10:53 +09:00
Dean Herbert
e37d415c6f
Keep editor sidebars expanded by default
They will not only contract if the user chooses to have them contract
(new setting in the `View` menu) or if the game isn't wide enough to
allow full interaction with the playfield while they are expanded.

Addressess https://github.com/ppy/osu/discussions/28970.
2024-10-22 20:08:50 +09:00
Bartłomiej Dach
2ab68c6ab9
Select first filtered channel on search box commit 2024-10-22 12:29:23 +02:00
Bartłomiej Dach
826b35e031
Use SearchContainer instead of manual search implementation 2024-10-22 12:29:20 +02:00
Dean Herbert
c15490ed58
Merge pull request #30146 from bdach/lookup-users-endpoint
Fix currently online display hitting rate limits
2024-10-22 19:24:14 +09:00
Dean Herbert
7b3376ccd6
Merge pull request #30385 from peppy/fix-selection-lost-during-update
Fix beatmap selection being lost during update process
2024-10-22 19:24:01 +09:00
Dean Herbert
3158338fe4
Merge pull request #30137 from bdach/send-mods-in-frame-headers
Send mods in spectator frame headers
2024-10-22 19:23:21 +09:00
Dean Herbert
187fa5eccd
Use full async flow rather than ContinueWith 2024-10-22 18:48:01 +09:00
Dean Herbert
6ea1623889
Merge branch 'master' into lookup-users-endpoint 2024-10-22 18:48:00 +09:00
Bartłomiej Dach
256d8c6559
Move search box to the top, remove redundant heading, and use existing search box 2024-10-22 11:28:59 +02:00
Bartłomiej Dach
84e08d96ca
Merge pull request #30330 from jhk2601/mod_acronym_search_fix
Prioritize selecting exact searched acronym with select keybind
2024-10-22 11:20:06 +02:00
Dean Herbert
a35551ecd9
Merge pull request #30383 from CloneWith/feature/placeholder-hoverbk
Add hover background back to `ClickablePlaceholder`
2024-10-22 18:17:36 +09:00
Dean Herbert
16bc188ba7
Refactor code to read better (and adjust lenience to match stable) 2024-10-22 18:08:25 +09:00
Dean Herbert
e1a950e2d3
Fix beatmap selection being lost during update process
Broke due to something changing in the way we handle realm things in the
carousel. The deselection happens in `updateBeatmapSet` so we need to
store / check the original selection before this occurs.

Doesn't seem this had test coverage? Probably implies that the overhead
of adding a test was very large, so maybe best to leave it that way.
2024-10-22 17:53:34 +09:00
Dean Herbert
13fba9f92e
Adjust glow slightly 2024-10-22 17:16:09 +09:00
Bartłomiej Dach
03683e28be
Merge branch 'master' into editor-slider-touch-support-1 2024-10-22 09:31:03 +02:00
EvT
17cd411567 Added search box to ChannelGroup Private Message 2024-10-22 01:33:53 +03:00
Dean Herbert
cbaee98674
Don't delete scores when deleting beatmaps
The score model's spec allows for null `BeatmapInfo` so the reasoning of
the inline comment is no longer valid. We match based on hash these
days.
2024-10-22 01:39:05 +09:00
Bartłomiej Dach
455ed0607f
Merge pull request #30346 from wezwery/perfect-combo-and-accuracy-highlighted
Highlight maximum combo and accuracy on user best score display to match web
2024-10-21 15:34:03 +02:00
CloneWith
9940be818d
Add hover color back to ClickablePlaceholder 2024-10-21 21:09:26 +08:00
Bartłomiej Dach
dbc2e78dd9
Fix timeline blueprints sometimes causing crashes due to current placement blueprint becoming unsorted
Closes https://github.com/ppy/osu/issues/30324.
2024-10-21 14:48:57 +02:00
Bartłomiej Dach
0a15eec7de
Remove unused using directive 2024-10-21 13:52:17 +02:00
Bartłomiej Dach
e89a4561ab
Fix playfield skinning layer no longer correctly rotating with the playfield
Closes https://github.com/ppy/osu/issues/30353.

Regressed in
4a39873e2a.
2024-10-21 13:49:12 +02:00
Bartłomiej Dach
a90ad63493
Change property type
Nobody is supposed to be using `ColourInfo` directly, really.
2024-10-21 12:47:41 +02:00
Bartłomiej Dach
8349226d9f
Merge branch 'master' into barrel_roll_fix 2024-10-21 12:33:37 +02:00
OliBomby
22aef90cb7 dont contract samples for stacked objects 2024-10-20 00:07:40 +02:00
OliBomby
f137fed04e Update sample point contracted state each frame 2024-10-19 23:57:41 +02:00
OliBomby
c03017438e Use FinishTransforms to init visual state 2024-10-19 23:57:05 +02:00
Wezwery
47936c7b02 Add blank line to TopScoreStatisticsSection.cs:238 2024-10-19 13:41:36 +03:00
Wezwery
df90b726b9 Add highlight to combo and accuracy when max. 2024-10-19 03:08:08 +03:00
TaterToes
5fe074a0f9
Merge branch 'master' into seekingControlPointFix 2024-10-18 10:59:57 -04:00
Bartłomiej Dach
00b2bdd0af
Merge pull request #30334 from SupDos/argonsongprogress-absolute-size
Add "Use relative size" setting to argon & default song progress
2024-10-18 13:35:26 +02:00
Bartłomiej Dach
05e2f6db8e
Add preselection indicator for better visibility what will be selected 2024-10-18 13:23:37 +02:00
TaterToes
1cc6309656
attempt to fix formatting 2024-10-18 07:21:05 -04:00
TaterToes
b35b16dc10
Merge branch 'ppy:master' into seekingControlPointFix 2024-10-18 06:07:57 -04:00
Dan Balasescu
def499e7cb
Merge branch 'master' into bat-mods 2024-10-18 18:58:45 +09:00
Bartłomiej Dach
47f10693c4
Add relative size toggle to DefaultSongProgress too 2024-10-18 11:43:03 +02:00
Dan Balasescu
083644b713
Refactor a bit 2024-10-18 18:40:25 +09:00
Bartłomiej Dach
bb4f3c71e0
Add localisation support for "use relative size" setting label 2024-10-18 11:39:55 +02:00
Bartłomiej Dach
8e01020f3e
Merge branch 'master' into refactor-bat-component 2024-10-18 10:50:21 +02:00
Dan Balasescu
e27aa0c761
Return empty strings rather than erroring
Preventing malicious actors from permanently destroying games via skins.
2024-10-18 17:18:01 +09:00
Dan Balasescu
2de5e3392e
Only add as many values as are replaced 2024-10-18 17:16:42 +09:00
Dean Herbert
7ca5f91c15
Update signalr exceptions in line with deprecated ctor 2024-10-18 16:20:07 +09:00
Dean Herbert
ca2bd640b4
Update all dependencies (except realm, nunit, moq and deepclone) 2024-10-18 16:20:07 +09:00
Bartłomiej Dach
8804769da1
Use better exception messaging 2024-10-18 08:51:01 +02:00
Bartłomiej Dach
b455b9ad09
Discard unused argument 2024-10-18 08:39:23 +02:00
Dean Herbert
8193038986
Expose no-op constructors as protected 2024-10-18 13:30:29 +09:00
SupDos
7d0da79db7 Add Use relative size setting to ArgonSongProgress 2024-10-18 01:47:54 +02:00
TaterToes
0a8ba4bfb5
cleanup 2024-10-17 18:41:00 -04:00
TaterToes
c8b0220934
fix comment 2024-10-17 18:12:05 -04:00
TaterToes
e10293531b
adjust margin time and apply rate adjust 2024-10-17 18:10:48 -04:00
jhk2601
9a0356919c Also handle full mod name (likely irrelevant but might as well) 2024-10-17 17:11:01 -04:00
jhk2601
2ef8720590 Adds logic to prioritize selecting exact mod acronyms when they are searched 2024-10-17 17:04:13 -04:00
TaterToes
45dd9b1167
Forgot subtraction 2024-10-17 17:01:42 -04:00
TaterToes
3fe0791298
fix seeking back on control points 2024-10-17 16:26:13 -04:00
jhk2601
7416106321 Fixes cursor rotating along with playfield when using Barrel Roll in standard 2024-10-17 14:38:13 -04:00
Dan Balasescu
0473f0b60a
Use stored difficulty to reduce flickering 2024-10-17 20:39:50 +09:00
Dan Balasescu
2ce1475303
Merge branch 'bat-mods' into bat-max-performance 2024-10-17 20:38:29 +09:00
Dan Balasescu
b40c31af3a
Store difficulty to reduce flickering
The computation usually finishes in a few milliseconds anyway.
2024-10-17 20:37:37 +09:00
Dan Balasescu
6749768b9e
Add max performance beatmap attribute text 2024-10-17 20:00:18 +09:00
Dan Balasescu
bfcf6693ca
Simplify implementation 2024-10-17 20:00:17 +09:00
Dan Balasescu
d195a69447
Compute maximum performance along with difficulty 2024-10-17 19:26:19 +09:00
Dan Balasescu
f9a9ceb41c
Also bind to mod setting changes 2024-10-17 17:57:49 +09:00
Dan Balasescu
9ea15a3961
Show bpm and length inclusive of mods 2024-10-17 17:57:49 +09:00
Dan Balasescu
400142545d
Show difficulty values inclusive of mods 2024-10-17 17:57:49 +09:00
Dan Balasescu
1e2c1323ff
Show star difficulty attribute inclusive of mods 2024-10-17 17:57:49 +09:00
Dan Balasescu
102f55a213
Refactor BeatmapAttributeText to compute values on the fly 2024-10-17 16:10:06 +09:00
Dean Herbert
dafe8d6448
Merge pull request #30145 from WitherFlower/ranked-date-filtering
Add ranked date and submitted date filtering to song select
2024-10-17 02:38:36 +09:00
Dean Herbert
b29a17364d
Remove hold-to-confirm delay when pausing using keyboard shortcuts 2024-10-16 20:41:24 +09:00
Bartłomiej Dach
dcf78a6e2c
Merge branch 'master' into grids 2024-10-16 09:55:27 +02:00
Bartłomiej Dach
8ed0554b91
Merge pull request #30245 from 424ever/group-slider-ends
Group `HitResult`s with the same name into one column in beatmap ranking
2024-10-16 09:40:45 +02:00
Dean Herbert
c9519dc90b
Merge pull request #30264 from LBlend/change-fps-toggle-keybind
Remove default keybind for "Toggle FPS counter"
2024-10-16 16:35:02 +09:00
Bartłomiej Dach
5fff632c9f
Merge pull request #30231 from SchiavoAnto/skin-editor-ui-localisation
Allow more localisation in skin editor
2024-10-16 09:17:45 +02:00
Bartłomiej Dach
f8a13b0beb
Fix migration not checking combination properly 2024-10-16 08:17:22 +02:00
Salman Alshamrani
e151c0fab1 Fix coding mistake 2024-10-14 15:11:44 -04:00
Jonas Brandstötter
a007a81fe8
Only keep track of the names of hit results to display in a ScoreTable 2024-10-14 16:55:07 +02:00
Jonas Brandstötter
285756802c
Sum up totals for hit results with the same name 2024-10-14 16:33:30 +02:00
Jonas Brandstötter
511f0e99b3
Correct typo 2024-10-14 16:16:00 +02:00
Jonas Brandstötter
25c0ff4168
Correct reference to hit result and link to them 2024-10-14 16:14:29 +02:00
schiavoanto
d7021f989b Revert 9cd7f2b and fc1ebfd 2024-10-14 16:14:23 +02:00
Jonas Brandstötter
750e0b29ca
Use ChildrenOfType<> to get ScoreTable to test 2024-10-14 16:11:58 +02:00
Leander Furumo
035e5a9613
migrate clearance of conflicting ToggleFPSDisplay keybind 2024-10-14 16:03:29 +02:00
Salman Alshamrani
40b98d4863 Move conditional 2024-10-14 09:55:24 -04:00
Bartłomiej Dach
8cec318c1f
Loop track even if shuffling if there is only one available
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-10-14 15:28:32 +02:00
Bartłomiej Dach
17aed26f85
Fix shuffle not actually changing the track sometimes
See https://github.com/ppy/osu/pull/30215#issuecomment-2407775408 for
context.

Turns out the test failures were more correct than I'd thought. The
long-and-short of it is that both in "pure random" mode and in
"permutation" mode, when running out of track history to fall
back on, it was possible for the random algorithm to pick the same song
twice in a row - which is probably not desired, and which this explicit
exclude should make impossible.
2024-10-14 13:18:45 +02:00
Shin Morisawa
8ff86d560f
Merge branch 'master' into master 2024-10-14 17:48:04 +09:00
Bartłomiej Dach
120eb9adea
Merge pull request #30261 from peppy/faster-quick-retry
Decrease the time it takes to quick retry by ~650 ms
2024-10-14 10:24:35 +02:00
Bartłomiej Dach
cd59b93cc9
Merge branch 'master' into feat/optimize-polygon-tool 2024-10-14 08:28:30 +02:00
Shin Morisawa
90a08b8a68 Fix Beatmap Delete Dialog 2024-10-14 09:55:28 +09:00
Leander Furumo
379794c462
replace empty keybinding array with input key type of None 2024-10-14 00:00:45 +02:00
Leander Furumo
0e768cc517
remove default keybind for toggling fps counter 2024-10-13 22:50:58 +02:00
Leander Furumo
8f1fbb44c4
change fps toggle keybind 2024-10-13 17:36:06 +02:00
Dean Herbert
53671ad11e
Only update beatmaps which actually had offsets
Without this every beatmap gets a write and it reloads the whole of song
select, basically.
2024-10-14 00:35:18 +09:00
Salman Alshamrani
f8c8184c5c Fix placement blueprints not receiving latest mouse position with touch input 2024-10-13 11:01:18 -04:00
Dean Herbert
868a7db9e9
Start preparing player earlier when quick retrying
Should help with https://github.com/ppy/osu/issues/9039.
2024-10-13 22:29:00 +09:00
Jonas Brandstötter
dcd3e5194e
Group HitResults with the same name into one column in beatmap ranking
Closes #29911
2024-10-12 22:53:08 +02:00
Artemis Rosman
e4f9c861ba Add functionality to mass reset offsets 2024-10-13 00:50:45 +11:00
Dan Balasescu
2de1955892
Merge pull request #30218 from bdach/daily-challenge-conclusion-offline
Do not show daily challenge conclusion notification on disconnection
2024-10-12 18:14:22 +09:00
Joseph Madamba
71b08b54c1 Make TernaryStateRadioMenuItem localisable 2024-10-11 18:48:04 -07:00
schiavoanto
fc1ebfdf64 Fix layers dropdown localised entries 2024-10-12 02:00:51 +02:00
schiavoanto
9cd7f2b5d4 Use LocalisableDescription for skin editor layers dropdown 2024-10-12 01:38:52 +02:00
schiavoanto
1e7e2e0b1c Add more localisation in skin editor 2024-10-12 00:55:33 +02:00
Marvin Schürz
f76a2d02f6 Make sure to properly update hitobjects 2024-10-11 23:22:15 +02:00
Dean Herbert
b62d9f8696
Fix bindings being clobbered 2024-10-12 02:19:02 +09:00
Dean Herbert
d07a2fbb57
Change shortcut to Shift+G 2024-10-12 02:18:08 +09:00
Bartłomiej Dach
968835bb44
Do not show daily challenge conclusion notification on disconnection
Closes https://github.com/ppy/osu/issues/30194.
2024-10-11 14:18:19 +02:00
Bartłomiej Dach
9d1eb842a7
Add failing test 2024-10-11 14:16:24 +02:00
OliBomby
550e575221 Rename "Cycle grid display mode" to "Cycle grid spacing"
The "display mode" is easy to confuse with grid type, so I renamed it to literally the grid property it affects.
2024-10-11 14:09:50 +02:00
OliBomby
b93bc21e45 Add back the old keybind for cycling grid spacing 2024-10-11 14:09:50 +02:00
Bartłomiej Dach
4a16341a94
Fix crash when switching tracks back and forth with shuffle on 2024-10-11 12:45:14 +02:00
Bartłomiej Dach
47cb696b69
Fix switching direction when changing tracks with shuffle on restarting the same track
Closes https://github.com/ppy/osu/issues/30190.
2024-10-11 12:40:45 +02:00
WitherFlower
da376c534b Filter out unranked/unsubmitted beatmaps when using the ranked/submitted search filters 2024-10-11 09:49:47 +02:00
Dan Balasescu
616c2aeefc
Merge pull request #30206 from minetoblend/fix/selection-box-buttons-stuck
Fix SelectionBox buttons freezing when button is triggered via key event
2024-10-11 12:02:58 +09:00
Marvin Schürz
af55585dc8 Make TriggerAction public 2024-10-10 20:50:47 +02:00
Marvin Schürz
fc7ad96fcd Move circle flash to TriggerAction 2024-10-10 20:20:02 +02:00
Marvin Schürz
9cc6ee2ebc Fix SelectionBox buttons freezing when button is triggered via key event 2024-10-10 20:14:11 +02:00
Dean Herbert
14ecd56913
Merge pull request #30195 from bdach/advanced-stats-stupid-shenanigans
Fix crashes when attempting to change from a custom ruleset with mods selected to another
2024-10-11 00:57:28 +09:00
WitherFlower
eb2f1d09f8 Improve regex readability by using character set 2024-10-10 17:42:43 +02:00
WitherFlower
6b532824b1 Fix code quality and formatting issues 2024-10-10 17:41:29 +02:00
Bartłomiej Dach
938c3d78ce
Fix argon song progress bar tooltip showing during active gameplay
Closes https://github.com/ppy/osu/issues/30197.

Pretty bad one, might be worth a hotfix...
2024-10-10 14:36:28 +02:00
Bartłomiej Dach
687bdad389
Remove no-longer-required cache-over hack
This is now removable after `AdvancedStats` has been weaned off the
global mods bindable. I think this is a win all things considered?
2024-10-10 14:22:20 +02:00
Bartłomiej Dach
f1842d781e
Decouple AdvancedStats from global mods
Closes https://github.com/ppy/osu/issues/30163.

If I'm to be blunt, the decoupled stuff in song select makes my head
spin. I spent a solid 20 minutes thinking how I was going to fix this
one but then finally realised that generally most of the cause there
was the fact that `AdvancedStats` was seeing the new rulesets *before*
the "ensure global selected mods are valid for current ruleset" logic,
and so decided to just _delay_ that until the decoupled transfer
thingamajig happens.

I was honestly considering combining `BeatmapInfo`, `Ruleset`, and
`Mods` into one property on `AdvancedStats`. I figured I'd rather not
push my luck and try the baseline version first, but I honestly think
that direction is going to be required at some point to properly corral
all of the decoupled madness taking place in song select.
2024-10-10 14:22:16 +02:00
Bartłomiej Dach
baa64d1486
Migrate MusicController to Live<T> to fix broken migrations instead 2024-10-09 11:59:04 +02:00
Bartłomiej Dach
081d87fe6d
Revert 'Fix any and all migration attempts dying on MusicController'
This reverts commit 310eec69fc.

Way to try and "fix" stuff and screw stuff up even harder instead, me.
Great job, well done.
2024-10-09 11:55:59 +02:00
Dean Herbert
270c4c4f12
Merge pull request #30151 from bdach/migration-is-completely-fucked
Fix several breakages with migration operation
2024-10-09 14:24:34 +09:00
Dean Herbert
d836dba982
Rename and xmldoc RealmResetEmptySet 2024-10-09 14:18:34 +09:00
Dean Herbert
48dacd1c15
Remove unused property 2024-10-09 13:45:35 +09:00
Dean Herbert
7ccb770009
Update framework 2024-10-09 12:36:51 +09:00
Bartłomiej Dach
b811b9baf6
Fix DetachedBeatmapStore special condition for detecting resets from blocking all operations failing on empty databases
See https://discord.com/channels/188630481301012481/188630652340404224/1293309912591368244.
2024-10-08 23:16:17 +02:00
Bartłomiej Dach
1633cbdb66
Fix OsuGameBase.Migrate() eating exception messages for breakfast
Whomst've thought this was an ok thing to do? How did this pass review?
Let's leave these as rhetorical questions right now. Huge chances are
I'd implicate myself with at least one of them.
2024-10-08 23:16:17 +02:00
Bartłomiej Dach
310eec69fc
Fix any and all migration attempts dying on MusicController
I'm not sure why this was "fine" for as long as it apparently was,
but what `MusicController` was doing was completely incorrect and
playing with fire (accessing raw managed realm objects), which went
wrong somewhere around - admittedly -
https://github.com/ppy/osu/pull/29917, likely because that one started
*storing* these raw managed realm objects to fields, and you know what
will happen to those after you do a migration and recycle realms.

To attempt to circumvent this, (ab)use `DetachedBeatmapStore` instead.
Which does necessitate moving it to `OsuGameBase`, but it's the simplest
way out I can see. I guess the alternative would be to faff around with
`Live<T>` but it's ugly and I'm attempting to fix this relatively quick
right now.
2024-10-08 23:16:10 +02:00
Bartłomiej Dach
1744566def
Clarify xmldoc 2024-10-08 14:46:53 +02:00
Bartłomiej Dach
5104f3e7ac
Switch multiplayer away from using UserLookupCache
After switching `UserLookupCache` to `GET /users/lookup` from `GET
/users`, multiplayer sort of breaks, since the former endpoint does not
return `ruleset_statistics`, which are used in multiplayer to show
users' ranks. Therefore, switch multiplayer to use the appropriate
request type directly.
2024-10-08 14:46:50 +02:00
WitherFlower
b58576f31b Add slash and dot as valid separators in dates. 2024-10-08 14:13:27 +02:00
Bartłomiej Dach
17bc5ce5a9
Use lookup request in user lookup cache
Doing this alleviates https://github.com/ppy/osu/issues/29982, as the
currently online display utilises the user lookup cache, and currently
is hitting rate limits due to the amount of data retrieved from the `GET
/users` endpoint. Switching to `GET /users/lookup` reduces the chance of
this happening.
2024-10-08 14:05:27 +02:00
Bartłomiej Dach
3d06d67fec
Add GET /users/lookup request type 2024-10-08 14:05:09 +02:00
WitherFlower
2369e98cfc Implement ranked and submitted date filtering 2024-10-08 13:56:55 +02:00
Dean Herbert
b1be31cd6a
Switch back to last tool after using grid tool, rather than always select tool 2024-10-08 17:34:51 +09:00
Dean Herbert
682023e130
Merge branch 'master' into grids-4 2024-10-08 16:26:42 +09:00
Dean Herbert
b658d9a681
Merge pull request #30073 from peppy/updates-outside-of-gameplay-only-2
Avoid updates (and update notifications) from appearing in more gameplay cases
2024-10-08 15:17:09 +09:00
OliBomby
076c8dec5a Revert "Use new place grid icon"
This reverts commit db10202642.
2024-10-07 19:06:32 +02:00
Dean Herbert
a02cda6528
Update resources 2024-10-08 01:51:56 +09:00
OliBomby
db10202642 Use new place grid icon 2024-10-07 16:51:53 +02:00
Bartłomiej Dach
84d6467e48
Merge branch 'master' into taikostatacc 2024-10-07 14:15:29 +02:00
Bartłomiej Dach
ec5f5a2336
Send mods in spectator frame headers 2024-10-07 13:45:34 +02:00
OliBomby
7b998219d7 move grid placement tool to left toolbox 2024-10-07 12:04:14 +02:00
Dan Balasescu
aee5f0ebf5
Fix incorrect condition 2024-10-07 19:01:25 +09:00
OliBomby
d7526be243 Merge remote-tracking branch 'upstream/master' into grids-4 2024-10-07 11:56:35 +02:00
Bartłomiej Dach
f30ac5d996
Merge branch 'master' into no-combo-scaling 2024-10-07 11:50:58 +02:00
Dan Balasescu
6e659e156e
Refactoring for correctness 2024-10-07 17:50:23 +09:00
OliBomby
0a7d2395d2 fix tooltip in SettingsButton 2024-10-07 10:43:24 +02:00
Dan Balasescu
8dece70097
Merge branch 'master' into updates-outside-of-gameplay-only-2 2024-10-07 17:41:42 +09:00
Dean Herbert
11fc811e2f
Fix delete dialogs having generic "Caution" header text
Regressed in https://github.com/ppy/osu/pull/28363.
2024-10-07 16:46:53 +09:00
Dean Herbert
75f15ccaba
Maybe fix compilation? Fuck knows if this is correct. 2024-10-07 16:04:24 +09:00
Dean Herbert
1ab02b93b3
Merge branch 'master' into grids-4 2024-10-07 15:42:23 +09:00
Dean Herbert
5c826be652
Merge pull request #29860 from bdach/fix-nudging
Only allow seek to next/previous object via keybinding if there is no selection
2024-10-07 15:36:19 +09:00
Dan Balasescu
944f8f5f67
Merge pull request #30078 from CloneWith/update/progresshover
Add progress tooltip for ArgonSongProgressBar
2024-10-07 15:20:50 +09:00
Dean Herbert
6e4eed657c
Fix weird mouse position handling and don't return true to event 2024-10-07 14:32:31 +09:00
Dean Herbert
b5cc45bdda
Simplify format code (and adjust formatting slightly) 2024-10-07 14:26:42 +09:00
Bartłomiej Dach
1854e1c2f9
Merge branch 'master' into form-slider-bar-transfer-value-on-commit 2024-10-07 07:21:23 +02:00
Dean Herbert
2bcbaed5b8
Update framework 2024-10-07 14:11:31 +09:00
Dean Herbert
5859021003
Merge pull request #30113 from bdach/fix-separator-jank
Fix improper handling of decimal separator in "form" number boxes / sliders
2024-10-07 13:42:02 +09:00
Dan Balasescu
72ac2eeb1d
Update osu!framework package 2024-10-06 07:54:56 +09:00
OliBomby
ae8abc7f35 fix readybutton and favouritebutton 2024-10-05 21:46:00 +02:00
OliBomby
48da758c39 contract sample point pieces based on smallest gap on the timeline
It finds the smallest distance between two sample point pieces on the alive timeline blueprints
2024-10-05 20:52:45 +02:00
OliBomby
cc29e8c16d introduce tooltip to rounded button with subclass instead 2024-10-05 15:16:29 +02:00
OliBomby
ad734b1a13 Revert "Use new keyword instead of overriding TooltipText to remove setter"
This reverts commit 80dffa905a.
2024-10-05 15:10:36 +02:00