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

44533 Commits

Author SHA1 Message Date
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
CloneWith
d7ba4ce7f2
Refactor progress tooltip updating method
* Rewrite calculating logic
* Remove useless variables
2024-10-04 23:30:50 +08:00
Bartłomiej Dach
7816c41b94
Only transfer difficulty slider values on commit
Closes https://github.com/ppy/osu/issues/30112.
2024-10-04 14:08:46 +02:00
Bartłomiej Dach
86c3e3e987
Replace FormSliderBar.Instantaneous with TransferValueOnCommit
Rather than control the propagation of the value between the slider and
the textbox, add a property that controls the propagation of the value
between the bindables inside the form control to external bindables.
This will help alleviate issues where the external bindable update
incurs overheads due to having heavy change callbacks attached.
2024-10-04 14:07:16 +02:00
Bartłomiej Dach
31aea86eab
Merge pull request #30110 from peppy/new-colour-better-ux
When adding a new combo colour, use the last colour as a starting point
2024-10-04 13:19:01 +02:00
Bartłomiej Dach
45a6a743a2
Fix improper handling of decimal separator in "form" number boxes / sliders
Spotted in passing in
https://discord.com/channels/188630481301012481/1097318920991559880/1291693852981329981.
2024-10-04 13:12:25 +02:00
Bartłomiej Dach
96b6780e0c
Merge pull request #30101 from bdach/menu-padding-left
Do not add checkbox padding to the left of menu items if no item actually needs it
2024-10-04 12:22:35 +02:00
Dean Herbert
4fc0aae486
Merge pull request #30108 from bdach/default-combo-colours-in-editor
Initialise colours section with default combo colours if none present
2024-10-04 18:57:25 +09:00
Dean Herbert
ff2777a3b9
When adding a new combo colour, use the last colour as a starting point
Also opens the popover automatically because you always want to edit it.
2024-10-04 18:44:33 +09:00
Bartłomiej Dach
e136568a18
Remove linq usage to kill allocations 2024-10-04 11:25:21 +02:00
Bartłomiej Dach
61103cc712
Remove redundant initialiser 2024-10-04 11:18:09 +02:00
Bartłomiej Dach
7cd724f342
Move setup screen background preview to appropriate form control
See
https://discord.com/channels/188630481301012481/188630652340404224/1291361342971707463.
2024-10-04 11:09:14 +02:00
CloneWith
fd5655455a
Adjust tooltip text format 2024-10-04 16:56:16 +08:00
CloneWith
2d7fdaf892
Override OnMouseMove for cursor position fetching 2024-10-04 16:42:48 +08:00
Bartłomiej Dach
6e5a38c6c8
Initialise colours section with default combo colours if none present
Closes https://github.com/ppy/osu/issues/30100.
2024-10-04 10:01:24 +02:00
tsunyoku
f54a5a5b0e Merge branch 'master' into no-combo-scaling 2024-10-03 16:37:20 +01:00
Bartłomiej Dach
29418226c0
Do not add checkbox padding to the left of menu items if no item actually needs it
RFC. As per
https://discord.com/channels/188630481301012481/188630652340404224/1291346164976980009.

The diff is extremely dumb but I tried a few smarter methods and they're
either not fully correct or don't work. Primary problem is that menu
items are mutable externally and there's no hook provided by the
framework to know that items changed. One could probably be made but I'd
prefer that this change be examined visually first before I engage in
too much ceremony and start changing framework around.
2024-10-03 15:36:53 +02:00
Bartłomiej Dach
1bab2236fe
Ensure columns collapse into one correctly if no space 2024-10-03 15:01:23 +02:00
Bartłomiej Dach
090c8ee602
Make colour palette things circular again 2024-10-03 14:35:03 +02:00
Bartłomiej Dach
2c0a7d4c18
Adjust slider bar padding
https://discord.com/channels/188630481301012481/188630652340404224/1291374650256916482
2024-10-03 14:32:46 +02:00
Bartłomiej Dach
99eb26b7d5
Redo the layout of sections based on discord feedback
See
https://discord.com/channels/188630481301012481/188630652340404224/1291358770064130140
and everything after.
2024-10-03 13:53:21 +02:00
Dean Herbert
0a0e31163b
Merge branch 'master' into editor/setup-screen 2024-10-03 20:05:08 +09:00
Dean Herbert
19356d0487
Match corner radius of "new" button 2024-10-03 19:33:48 +09:00
Bartłomiej Dach
a567c6369d
Autoselect contents of "form" number box 2024-10-03 11:49:05 +02:00
Bartłomiej Dach
cde348bfb8
Fix "form" textbox not dropping border if disabled when hovered 2024-10-03 11:49:05 +02:00
Bartłomiej Dach
09441a53c2
Fix "form" file selector displaying commit animation on initial show 2024-10-03 11:49:05 +02:00
Bartłomiej Dach
b15608343b
Replace setup screen controls with new "form" controls 2024-10-03 11:49:03 +02:00
Bartłomiej Dach
df730e6b6f
Implement "form" colour palette control 2024-10-03 11:20:47 +02:00
OliBomby
2c39ecbda3 Add xmldoc to SnapType 2024-10-03 11:16:37 +02:00
OliBomby
80dffa905a Use new keyword instead of overriding TooltipText to remove setter 2024-10-03 11:13:49 +02:00
Dean Herbert
24d6ea5444
Change failed states to be considered as NotPlaying 2024-10-03 17:11:41 +09:00
Dean Herbert
1039d4e45d
Increase chat font size again 2024-10-03 16:23:17 +09:00
OliBomby
4bbefa360c fix using directive 2024-10-01 15:57:34 +02:00
OliBomby
f8397cccc7 Merge remote-tracking branch 'upstream/master' into grids-4 2024-10-01 15:43:54 +02:00
OliBomby
9fa2849b14 Fixed tooltip inheritors of RoundedButton 2024-10-01 15:34:12 +02:00
OliBomby
4de73dd9c8 Reapply "Add tooltip to rounded button"
This reverts commit 1912b1fcf3.
2024-10-01 15:28:13 +02:00
CloneWith
5dd28d5352
Fix extra newline 2024-10-01 21:08:31 +08:00
CloneWith
5af05f1cc9
Use play length for timestamp calculation 2024-10-01 20:53:15 +08:00
CloneWith
4f16ecdf1b
Add progress tooltip for ArgonSongProgressBar 2024-10-01 20:22:46 +08:00
OliBomby
154a3eebc6 Reset the sample bank states to auto when selection is cleared
this matches behaviour in stable
2024-10-01 13:22:20 +02:00
OliBomby
1960a0d44d Add tooltip to explain why addition banks dont work when no additions exist 2024-10-01 13:07:25 +02:00
Dean Herbert
8773c34fdd
Rename enum to non-plural now that it won't conflict 2024-10-01 19:55:46 +09:00
Dean Herbert
8dba4cf760
Passing means NotPlaying 2024-10-01 19:55:31 +09:00
Dean Herbert
54e68005ef
Merge pull request #29691 from bdach/hotkeys-in-context-menus
Add hotkey hints to editor menus
2024-10-01 19:29:05 +09:00
Dean Herbert
8ea1ff5de6
Merge pull request #30069 from peppy/grid-to-current-object
Add button to centre editor grid to current hit object
2024-10-01 19:24:46 +09:00
OliBomby
2381c2c72c Fix hitobjects without custom sample banks parsing as not auto sample bank 2024-10-01 12:11:44 +02:00
Bartłomiej Dach
afc34b2614
Merge pull request #30074 from peppy/lock-because
Fix usage of locked context without locking
2024-10-01 12:08:38 +02:00
Dean Herbert
598bc74614
Merge pull request #30058 from bdach/disabled-beatmap-comment-box
Properly disable comment box on things that cannot be commented on
2024-10-01 18:52:40 +09:00
Dean Herbert
162558e0b8
Use record struct
See
https://www.jetbrains.com/help/rider/UsageOfDefaultStructEquality.html.
2024-10-01 18:48:34 +09:00
Dean Herbert
ae75bfd966
Rename keyboard mapping methods to make more sense now that everything's on the left 2024-10-01 18:41:53 +09:00
Dean Herbert
8f0fedbd22
Fix local scores never importing due to new conditionals 2024-10-01 18:21:15 +09:00
Bartłomiej Dach
44b982864c
Fix test failures 2024-10-01 11:12:56 +02:00
Dean Herbert
307cc5581d
Fix usage of locked context without locking
Raised in the latest Rider EAP, seems valid enough.
2024-10-01 18:01:06 +09:00
Dean Herbert
3d54f4a5ab
Make states better defined 2024-10-01 17:53:58 +09:00
Dean Herbert
ad3007eaad
Adjust ILocalUserPlayInfo to expose whether gameplay is in a paused/break state 2024-10-01 17:53:46 +09:00
Bartłomiej Dach
2a214f7c9f
Fix incorrect implementation of next track choice
`SkipWhile()` in this context does not correctly ensure that
`ElementAtOrDefault(1)` is not a protected track. An explicit `Where()`
does.

Spotted accidentally when I noticed that skipping to next track can
select a protected track, but skipping to previous cannot.
2024-10-01 10:19:59 +02:00
Bartłomiej Dach
a2d9302f4a
Move shuffle button to left side 2024-10-01 10:12:38 +02:00
Bartłomiej Dach
8eb5e6b1d5
Merge branch 'master' into shuffle 2024-10-01 10:07:54 +02:00
Bartłomiej Dach
8d2f2517a3
Specify type explicitly 2024-10-01 10:01:31 +02:00
Bartłomiej Dach
a9818854f4
Merge pull request #30024 from peppy/edit-url-decode
Fix editor timestamp URLs not working when they contain a space
2024-10-01 09:44:18 +02:00
OliBomby
0a78eb9628
Implement auto additions editor-only 2024-10-01 16:40:48 +09:00
Dean Herbert
1b4215576d
Merge branch 'master' into additions 2024-10-01 16:38:56 +09:00
Dean Herbert
87ab953935
Merge pull request #30062 from bdach/distance-snap-weirdness
Fix various distance snap grid weirdness around unsnapped objects
2024-10-01 16:16:22 +09:00
Dean Herbert
75745bd95f
Merge branch 'master' into move-already-placed-objects-when-adjusting-offset-bpm 2024-10-01 15:53:13 +09:00
Dean Herbert
590f27e0a0
Merge branch 'master' into hotkeys-in-context-menus 2024-10-01 15:50:19 +09:00
Dean Herbert
0409edccce
Add button to centre editor grid to current hit object 2024-10-01 15:22:05 +09:00
Bartłomiej Dach
74a9899fc0
Fix doubled-up enabled state management of commit button 2024-09-30 14:05:26 +02:00
Bartłomiej Dach
11fc1f9a1c
Fix distance snap grid using wrong colour when reference object is unsnapped 2024-09-30 13:36:51 +02:00
Bartłomiej Dach
75fc57c34b
Fix distance spacing grid displaying incorrectly for unsnapped objects with duration 2024-09-30 13:36:16 +02:00
Bartłomiej Dach
e91c8fb4bd
Properly disable comment box on beatmaps that cannot be commented on
Closes https://github.com/ppy/osu/issues/30052.

Compare:

- 83816dbe24/resources/js/components/comment-editor.tsx (L54-L60)
- 83816dbe24/resources/js/components/comment-editor.tsx (L47-L52)
2024-09-30 11:02:00 +02:00
Bartłomiej Dach
5e5bb49cd8
Fix rate change hotkeys sometimes losing track of adjust pitch setting
Fixes https://osu.ppy.sh/community/forums/topics/1983327.

The cause of the bug is a bit convoluted, and stems from the fact that
the mod select overlay controls all of the game-global mod instances if
present. `ModSpeedHotkeyHandler` would store the last spotted instance
of a rate adjust mod - which in this case is a problem, because on
deselection of a mod, the mod select overlay resets its settings to
defaults:

	a258059d43/osu.Game/Overlays/Mods/ModSelectOverlay.cs (L424-L425)

A way to defend against this is a clone, but this reveals another issue,
in that the existing code was *relying* on the reference to the mod
remaining the same in any other case, to read the latest valid settings
of the mod. This basically only mattered in the edge case wherein Double
Time would swap places with Half Time and vice versa (think [0.95,1.05]
range). Therefore, track mod settings too explicitly to ensure that the
stored clone is as up-to-date as possible.
2024-09-30 08:47:02 +02:00
Dean Herbert
a258059d43
Merge pull request #29918 from bdach/control-drag
Add to existing selection when dragging with control pressed
2024-09-30 14:00:36 +09:00
Andrei Zavatski
f473f4398c Fix text in FormFileSelector bleeding through the border 2024-09-28 22:37:16 +03:00
OliBomby
1912b1fcf3 Revert "Add tooltip to rounded button"
This reverts commit 3e4cd0aeac.
2024-09-28 17:33:24 +02:00
OliBomby
3e4cd0aeac Add tooltip to rounded button 2024-09-28 17:04:20 +02:00
OliBomby
1c6e42671a return grid placement tool to right toolbox 2024-09-28 17:04:11 +02:00
Dean Herbert
c46d787f1e
Merge pull request #29949 from minetoblend/feature/scale-around-center
Support scaling around center when scaling with select box
2024-09-28 21:37:39 +09:00
Dean Herbert
9647a1be7d
Ensure editor timestamp args are URL decoded 2024-09-27 20:08:38 +09:00
Bartłomiej Dach
c1e51e05df
Merge pull request #29704 from Fabep/ModCustomisationHeaderColor
Mod customisation header color
2024-09-27 12:40:35 +02:00
Bartłomiej Dach
d607331755
Fix control-drag selection expansion deselecting object if control is released over one of the blueprints 2024-09-27 12:15:08 +02:00
Bartłomiej Dach
b45fedc356
Merge branch 'master' into control-drag 2024-09-27 11:39:50 +02:00
Dean Herbert
a358731af5
Merge pull request #29913 from Joehuu/fix-romanised-searching
Fix searching by clicking title/artist in beatmap overlay not following original language setting
2024-09-27 18:39:33 +09:00
Dean Herbert
e7c4451206
Reduce brightness of hover effect 2024-09-27 18:20:16 +09:00
Dean Herbert
64c1ced80d
Merge branch 'master' into ModCustomisationHeaderColor 2024-09-27 18:15:30 +09:00
Bartłomiej Dach
a00ed8dd77
Merge pull request #29914 from peppy/fix-judgement-counter-sync
Fix judgement counter not showing correct counts when spectating user mid-play
2024-09-27 10:57:26 +02:00
Bartłomiej Dach
33593280d8
Merge pull request #29938 from OliBomby/selection-center
Use minimum enclosing circle as selection centre for scale and rotate
2024-09-27 10:46:32 +02:00
Dean Herbert
371cee1617
Consume framework change to avoid weird unbind flow 2024-09-27 17:41:55 +09:00
Dean Herbert
92ee86e3dd
Update framework 2024-09-27 17:40:06 +09:00
Dean Herbert
048e3c2505
Merge branch 'master' into fix-romanised-searching 2024-09-27 17:40:03 +09:00
Dean Herbert
9dcce67b81
Make points slightly smaller when contracted and fix width getting obliterated 2024-09-27 17:24:24 +09:00
Dean Herbert
ce41dc4629
Use bindable flow for zoom handling 2024-09-27 17:13:26 +09:00
Bartłomiej Dach
766d2d2ad2
Merge pull request #29950 from minetoblend/feature/freeze-select-box-buttons
Freeze select box buttons position on press
2024-09-27 10:13:06 +02:00
Dan Balasescu
73a9b03401
Merge pull request #30018 from peppy/add-missing-shader-preload
Update shader preloader with missing shader usages
2024-09-27 16:58:15 +09:00
Dean Herbert
1dd6082aa9
Rename method to be more appropriate 2024-09-27 16:56:22 +09:00
Dean Herbert
9a39b80a4d
Merge pull request #29970 from bdach/volume-aware-sample-equality-pitfall
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
2024-09-27 16:38:35 +09:00
Dean Herbert
19a96bcc50
Merge pull request #29967 from bdach/storyboard-full-dim
Continue displaying storyboard even if fully dimmed in specific circumstances
2024-09-27 16:33:58 +09:00
Bartłomiej Dach
fa90b43233
Merge branch 'master' into selection-center 2024-09-27 09:30:36 +02:00
Bartłomiej Dach
21796900e2
Fix code quality naming issue 2024-09-27 09:26:08 +02:00
Dean Herbert
5be63ee304
Reorganise with ruleset shader separated out 2024-09-27 16:19:24 +09:00
Dean Herbert
4205a21c0c
Add one more shader usage 2024-09-27 16:11:24 +09:00
Bartłomiej Dach
8ca68be5fe
Merge pull request #30017 from peppy/file-picker-hover-states
Add basic hover states for file selector elements
2024-09-27 08:57:16 +02:00
Dean Herbert
b2983e2562
Update shader preloader with missing shader usages 2024-09-27 14:21:20 +09:00
Dean Herbert
5efdc6cdd7
Merge pull request #29936 from u4vh3/skinning-colour-customisation
Add colour customisation to layout editor
2024-09-27 14:20:58 +09:00
Dean Herbert
eacd9b9756
Move dependent files to namespace 2024-09-27 14:00:54 +09:00
Dean Herbert
cbeeb4a2b4
Add basic hover states for file selector elements 2024-09-27 13:44:37 +09:00
OliBomby
b179e086c6 Merge remote-tracking branch 'upstream/master' into grids-4 2024-09-26 14:59:52 +02:00
Bartłomiej Dach
f4a4807449
Implement "form" file picker 2024-09-26 14:36:24 +02:00
Bartłomiej Dach
f16f419928
Merge pull request #29983 from bdach/directory-selector-redesign
Redesign directory & file selector
2024-09-26 14:14:22 +02:00
Dean Herbert
b1a05f463e
Reduce size of hidden toggle slightly 2024-09-26 19:42:31 +09:00
Dean Herbert
78c1426a30
Merge pull request #29992 from smoogipoo/fix-ios-realm-crashes
Fix reflection-related iOS crashes
2024-09-26 17:34:36 +09:00
Dean Herbert
89e8baf1d3
Add inline comments for iOS locals 2024-09-26 16:48:42 +09:00
Dan Balasescu
2fe229d620
Inline condition 2024-09-25 22:47:37 +09:00
Dan Balasescu
fd4891cf31
Fix similar Bindable-related crashes 2024-09-25 20:59:35 +09:00
Dan Balasescu
3ab04d98f6
Fix Realm-related iOS crashes by removing object references 2024-09-25 16:45:37 +09:00
OliBomby
e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
OliBomby
796fc948e1 Rewrite Welzl's algorithm to use no recursion 2024-09-24 20:15:03 +02:00
OliBomby
2d95c0b0bb remove tail recursion form welzl 2024-09-24 18:45:52 +02:00
Bartłomiej Dach
20e7ade3b0
Fix statistics update not being shown on results screen if it arrives too fast
As reported in
https://discord.com/channels/188630481301012481/1097318920991559880/1288160137286258799.
2024-09-24 17:52:19 +02:00
Marvin Schürz
99a80b399c Animate SelectionBox buttons on unfreeze 2024-09-24 16:42:37 +02:00
Bartłomiej Dach
9f4e48dde7
Actually use bindables rather than stick things in Update() 2024-09-24 15:15:28 +02:00
Bartłomiej Dach
16fc413a4a
Apply NRT to directory & file selectors 2024-09-24 14:55:05 +02:00
Bartłomiej Dach
7f8b64bb6d
Redesign directory & file selector (and update usages accordingly) 2024-09-24 14:54:48 +02:00
Dean Herbert
b7d8cb2371
Merge pull request #29968 from bdach/cache-for-spectate-screen
Use cache for beatmap lookups on spectate screen
2024-09-24 20:59:33 +09:00
Bartłomiej Dach
4f57a67ea4
Merge branch 'master' into skinning-colour-customisation 2024-09-24 13:02:22 +02:00
Bartłomiej Dach
4c2ebdb2db
Simplify accent colour assignment in argon wedge piece 2024-09-24 12:53:54 +02:00
Marvin Schürz
b54b4063be Rename parameter 2024-09-24 12:40:28 +02:00
OliBomby
c857de3a9a Revert "add a max depth to prevent stack overflow"
This reverts commit bf245aa9d6.
2024-09-24 11:44:02 +02:00
OliBomby
0f0f490598 Don't snap to global grid while placing grid 2024-09-23 17:24:09 +02:00
Dean Herbert
f08134f443
Merge pull request #29966 from bdach/unsafe-deep-clone
Fix score being cloned in async method causing random errors (again)
2024-09-23 23:37:46 +09:00
OliBomby
0a5a463380 Convert 'grid from points' button to placement tool 2024-09-23 16:36:45 +02:00
OliBomby
1a81e12192 Refactor PlacementBlueprint to not be hitobject specific 2024-09-23 16:33:36 +02:00
Bartłomiej Dach
d6c17f6ac0
Implement "form" dropdown control 2024-09-23 14:41:39 +02:00
Bartłomiej Dach
e8a394f894
Fix argon volume-aware hitsounds not correctly playing immediately after object placement
Closes https://github.com/ppy/osu/issues/29832.

The underlying reason for the incorrect sample playback was an equality
comparer failure.

Samples are contained in several pools which are managed by the
playfield. In particular, the pools are keyed by `ISampleInfo`
instances. This means that for correct operation, `ISampleInfo` has to
implement `IEquatable<ISampleInfo>` and also provide an appropriately
correct `GetHashCode()` implementation. Different audible samples must
not compare equal to each other when represented by `ISampleInfo`.

As it turns out, `VolumeAwareHitSampleInfo` failed on this, due to not
overriding equality members. Therefore, a `new
HitSampleInfo(HitSampleInfo.HIT_NORMAL, HitSampleInfo.BANK_NORMAL,
volume: 70)` was allowed to compare equal to a
`VolumeAwareHitSampleInfo` wrapping it, *even though they correspond to
completely different sounds and go through entirely different lookup
path sequences*.

Therefore, to fix, provide more proper equality implementations for
`VolumeAwareHitSampleInfo`.

When testing note that this issue *only occurs immediately after
placing an object*. Saving and re-entering editor makes this issue go
away. I haven't looked too long into why, but the general gist of it is
ordering; it appears that a `normal-hitnormal` pool exists at point
of query of a new object placement, but does not seem to exist when
entering editor afresh. That said I'm not sure that ordering aspect of
this bug matters much if at all, since the two `IHitSampleInfo`s should
never be allowed to alias with each other at all wrt equality.
2024-09-23 13:38:26 +02:00
OliBomby
bf245aa9d6 add a max depth to prevent stack overflow 2024-09-23 13:16:45 +02:00
OliBomby
eead6b9eae return to stackalloc because its faster 2024-09-23 13:13:33 +02:00
OliBomby
203951780e use collection expression instead of stackalloc 2024-09-23 12:15:42 +02:00
Bartłomiej Dach
4b349ba387
Use cache for beatmap lookups on spectate screen
@peppy noticed recently that attempting to spectate just a few users was
very likely to end up in requests very quickly being rejected with code
429 ("Too Many Requests").

I'm somewhat certain that the reason for that is that a significant
number of players is wont to retry a lot in quick succession. That means
that spectator server is going to note a lot of gameplay start and end
messages in quick succession, too. And as it turns out, every gameplay
start would end up triggering a new beatmap set fetch request:

	ccf1acce56/osu.Game/Screens/Spectate/SpectatorScreen.cs (L131-L134)
	ccf1acce56/osu.Game/Screens/Play/SoloSpectatorScreen.cs (L168-L172)
	ccf1acce56/osu.Game/Screens/Play/SoloSpectatorScreen.cs (L243-L256)

To attempt to curtail that, use the beatmap cache instead, which should
prevent these unnecessary requests from firing in the first place,
therefore reducing the chance of the client getting throttled.

This technically means that a different endpoint is used to fetch the
data (`GET /beatmaps/?ids[]=` rather than `GET
/beatmapsets/lookup?beatmap_id={id}`), but docs claim that both should
return the same data, and it looks to work fine in practice.
2024-09-23 12:15:19 +02:00
OliBomby
42549e81aa use RNG.Next 2024-09-23 11:44:07 +02:00
OliBomby
40cfaabc53 verify n<=3 in minCircleTrivial 2024-09-23 11:43:36 +02:00
OliBomby
d0f12006a4 update wikipedia url 2024-09-23 11:42:28 +02:00
OliBomby
447d178e01 use named tuple members 2024-09-23 11:42:02 +02:00
OliBomby
0d06b122c1 rename region 2024-09-23 11:39:42 +02:00
OliBomby
a9ebfbe431 Assert default origin not null in rotation handle 2024-09-23 11:37:42 +02:00
Bartłomiej Dach
0f758ca25f
Continue displaying storyboard even if fully dimmed in specific circumstances
Closes https://github.com/ppy/osu/issues/9315.
Closes https://github.com/ppy/osu/issues/29867.

Notably, this does nothing about
https://github.com/ppy/osu/issues/25075, but I'm not sure what to do
with that one in the first place.
2024-09-23 11:19:31 +02:00