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

44289 Commits

Author SHA1 Message Date
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
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
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
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
OliBomby
92b5650ff8 fix outdated comment 2024-09-23 10:56:03 +02:00
Bartłomiej Dach
881c9dfbba
Fix score being cloned in async method causing random errors (again)
Compare: https://github.com/ppy/osu/pull/24548.

I don't have a reproduction scenario (judging from the stack trace
of the crash it's likely to be nigh-impossible to concoct a reliable
one), but there is some circumstantial evidence that this might help,
namely that that previous fix above worked, and the pathway that's
failing here is similarly async to the one that pull fixed. So I'm just
gonna start with that and hope that it does the job.
2024-09-23 09:51:02 +02:00
Marvin Schürz
1095f35025 Only store position instead of entire draw quad 2024-09-21 15:25:37 +02:00
Marvin Schürz
0077ba72ec Freeze select box buttons in place as long as they are hovered 2024-09-21 14:59:47 +02:00
Marvin Schürz
3180468db1 Prevent the distance snap grid from being activated by alt key while dragging select box handle 2024-09-21 14:22:17 +02:00
Marvin Schürz
2dbbbe270d Scale around center when pressing alt while dragging selection box scale handle 2024-09-21 13:37:41 +02:00
Daniel Cios
73b6744a97 Rename FontColour to TextColour 2024-09-20 16:50:17 +02:00
Daniel Cios
ec575e9de4 Rename Colour to AccentColour 2024-09-20 16:38:26 +02:00
OliBomby
8e11cda41a use minimum enclosing circle selection centre in scale 2024-09-20 01:07:54 +02:00
OliBomby
ee00624751 use minimum enclosing circle selection centre in rotation 2024-09-20 01:07:47 +02:00
OliBomby
59ab71f786 Implement minimum enclosing circle 2024-09-20 01:06:52 +02:00
OliBomby
e3aeaf6d85 Merge remote-tracking branch 'upstream/master' into grids-4 2024-09-19 20:06:47 +02:00
Daniel Cios
b86f246095 Fix code inspection failure 2024-09-19 19:24:05 +02:00
Daniel Cios
94c2f522ff Fix spacing 2024-09-19 17:31:33 +02:00
Daniel Cios
67f04f75a6 Fix default color 2024-09-19 17:27:26 +02:00
Daniel Cios
e81e356d59 Add colour customisation to skin components 2024-09-19 17:27:25 +02:00
PowerDaniex
6ec3f715d2 Fix formatting 2024-09-19 17:26:09 +02:00
PowerDaniex
8c72feda09 Add colour customization to the layout editor 2024-09-19 17:26:09 +02:00
Dean Herbert
d5c2484109
Always transfer updated counts once 2024-09-19 19:23:14 +09:00
Dean Herbert
bd8addfb5f
Merge pull request #29897 from bdach/editor/setup-screen-slider
Implement "form" slider bar control
2024-09-19 19:07:14 +09:00
Dean Herbert
ca8402d980
Make animation slightly more snappy 2024-09-19 19:06:46 +09:00
Dean Herbert
cd61aecad1
Merge pull request #29925 from nekupaw/skip-overlay-beat-synced-animation
Implement beat-synchronized animation in skip overlay
2024-09-19 18:53:45 +09:00
Dean Herbert
9376ba3262
Merge pull request #26311 from OliBomby/grids-3
Make editor flip, rotate, and scale tools revolve around the grid center
2024-09-19 18:45:39 +09:00
Dean Herbert
188a430418
Merge branch 'master' into grids-3 2024-09-19 18:21:05 +09:00
Dean Herbert
fd45644d0f
Fix skin layout editor PlayerAvatar applying corner radius weirdly after scale
Closes #29919.

I've also made this handle resizing better, so now you can have
non-square avatar displays.
2024-09-19 16:55:04 +09:00
Bartłomiej Dach
fdd94aa845
Remove pointless max
The clamp should already ensure this.
2024-09-19 09:43:50 +02:00
Neku
d0519238a3
Implement beat-synchronized animation in skip overlay 2024-09-19 09:43:45 +02:00
Joseph Madamba
c185acdbae Use GetLocalisedBindableString() instead 2024-09-18 11:16:25 -07:00
Bartłomiej Dach
7f52ae8837
Fix code quality inspection 2024-09-18 15:30:56 +02:00
Bartłomiej Dach
f6195c5515
Add to existing selection when dragging with control pressed
Closes https://github.com/ppy/osu/issues/29023.
2024-09-18 15:18:13 +02:00
Bartłomiej Dach
12bd516a57
Shuffle playback order in global playlist by default
RFC. Closes https://github.com/ppy/osu/issues/18169.

Implements the given proposal of keeping the current stable order but
adding a shuffle facility to the now playing overlay, and enabling it by
default.

There are more changes I want to make here but I'd like this to get
discussion first, because I am likely to continue putting this sort of
selection logic into `MusicController` and I just want to confirm nobody
is going to have a problem with that.

In particular this is not sharing the randomisation implementation with
beatmap carousel because it doesn't generalise nicely (song select cares
about the particular *beatmap difficulties* selected to rewind properly,
while the music controller only cares about picking a *beatmap set*).
2024-09-18 14:19:55 +02:00
Bartłomiej Dach
cf9f8c7f66
Merge pull request #29916 from peppy/fix-song-select-crash-selection-after-loading
Fix occasional song select crash when entering gameplay
2024-09-18 11:44:59 +02:00
Bartłomiej Dach
d506d8a150
Implement TabbableContentContainer for slider control 2024-09-18 11:32:55 +02:00
Bartłomiej Dach
093d9ab076
Keep slider bar looking active when dragging outside of its bounds 2024-09-18 11:30:52 +02:00
Bartłomiej Dach
0bab755be3
Add missing xmldoc 2024-09-18 11:25:23 +02:00
Bartłomiej Dach
95e26e6fd8
Make slider bar instantaneous by default (and fix broken implementation) 2024-09-18 11:23:00 +02:00
Dean Herbert
ac507a3ba5
Remove unused parameter in applyActiveCriteria 2024-09-18 17:22:09 +09:00
Dean Herbert
743d509241
Also ensure filter is applied when returning to song select 2024-09-18 17:22:08 +09:00
Dean Herbert
c192a6a1d5
Fix song select crashes due to attempting to clear selection after load has already begun 2024-09-18 16:12:34 +09:00
Dean Herbert
8f49876fe7
Re-sync judgement counter display after replay frame reset 2024-09-18 15:28:11 +09:00
Dean Herbert
c46e9cbce3
Tidy up JudgementCounter classes 2024-09-18 15:28:10 +09:00
Dean Herbert
2d993645af
Add test coverage of judgements not being synced when resuming a replay 2024-09-18 15:28:10 +09:00
Joseph Madamba
fd6b3b6b36 Fix searching by clicking title/artist in beatmap overlay not following original language setting 2024-09-17 22:34:06 -07:00
Dean Herbert
76c5e743d7
Remove opacity from old style dropdown menus
These aren't used in many places, but we've since moved away from
opacity in UI elements like this, so let's just nuke it here for
legibility.

Addresses https://github.com/ppy/osu/discussions/29906.
2024-09-18 13:49:27 +09:00
Bartłomiej Dach
1b17231da4
Implement "form" slider bar control 2024-09-17 11:40:57 +02:00
Dean Herbert
d34e8ea69e
Update framework 2024-09-16 16:15:09 +09:00
OliBomby
30096c1c71 clean up code 2024-09-14 17:26:04 +02:00
kongehund
385eb5eed5 Rewrite GetConvexHull 2024-09-14 16:32:51 +02:00
Dean Herbert
5ea7061d5a
Merge pull request #29712 from bdach/editor/setup-screen-checkbox
Implement "form" check box control
2024-09-14 02:26:59 +09:00
Dean Herbert
562a5006ea
Change log output to only output when matches are found (in line with other methods) 2024-09-14 02:19:52 +09:00
Bartłomiej Dach
a4f6d4a300
Backpopulate missing ranked/submitted dates using new local metadata cache
People keep asking why https://github.com/ppy/osu/pull/29553 didn't fix
their databases (as stated in the PR, it didn't intend to), so this
should do it for them.
2024-09-13 16:00:49 +02:00
Bartłomiej Dach
7f71ef4547
Only allow seek to next/previous object via keybinding if there is no selection 2024-09-13 15:14:09 +02:00
Bartłomiej Dach
929ea87975
Revert to checkbox on right 2024-09-13 14:53:59 +02:00
Bartłomiej Dach
652a590611
Attempt to address design concerns 2024-09-13 09:59:20 +02:00
Dean Herbert
77c3cb6504
Update framework 2024-09-12 14:38:51 +09:00
Dean Herbert
a8365202d9
Merge pull request #29841 from bdach/replay-analysis-mod-woes
Fix several issues in interactions between playfield-altering mods and the replay analysis feature
2024-09-12 13:52:09 +09:00
Bartłomiej Dach
4a39873e2a
Fix replay analysis overlay not rotating with Barrel Roll enabled
Closes https://github.com/ppy/osu/issues/29839.
2024-09-11 15:54:30 +02:00
Bartłomiej Dach
b78ef81bf1
Fix Flashlight not appearing on top of bubbles from Bubbles mod
Inadvertently regressed in 44d0dc6113.
2024-09-11 15:54:07 +02:00
apollo-dw
a7e1d35f64
Update osu.Game/Rulesets/Difficulty/DifficultyAttributes.cs
Co-authored-by: James Wilson <tsunyoku@gmail.com>
2024-09-11 12:29:17 +01:00
Bartłomiej Dach
0e663d1801
Revert default combo counter code to pre-abstractification (and nuke eldritch abstract entity) 2024-09-11 11:44:59 +02:00
Bartłomiej Dach
f0e2b803de
Merge pull request #29766 from SchiavoAnto/29761-fix-blocked-info
Fix timing points being blocked by buttons in the editor
2024-09-08 18:37:59 +02:00
Bartłomiej Dach
7ec2e0e866
Refactor layout code to be a bit less haphazard
Visually the same, functionally much saner.
2024-09-08 16:30:09 +02:00
Bartłomiej Dach
f5c5614eef
Resolve existing colour provider instead of re-caching own one 2024-09-08 16:29:53 +02:00
Bartłomiej Dach
cefbc76490
Fix selection being dropped when changing carousel sort mode from difficulty sort
Closes https://github.com/ppy/osu/issues/29738.

This "regressed" in https://github.com/ppy/osu/pull/29639, but if I
didn't know better, I'd go as far as saying that this looks like a .NET
bug, because the fact that PR broke it looks not sane.

The TL;DR on this is that before the pull in question, the offending
`.Contains()` check that this commit modifies was called on a
`List<BeatmapSetInfo>`. The pull changed the collection type to
`BeatmapSetInfo[]`. That said, the call is a LINQ call, so all good,
right?

Not really. First off, the default overload resolution order means that
the previous code would call `List<T>.Contains()`, and not
`Enumerable.Contains<T>()`. Then again, why would that matter? In both
cases `T` is still `BeatmapSetInfo`, right? Well... about that...

It is difficult to tell for sure what precisely is happening here,
because of what looks like runtime magic. The end *symptom* is that the
old code ended up calling `Array<BeatmapSetInfo>.IndexOf()`, and the new
code ends up calling... `Array<object>.IndexOf()`.

So while yes, `BeatmapSetInfo` implements `IEquatable` and
the expectation would be that `Equals<BeatmapSetInfo>()` should be
getting called, the type elision to `object` means that we're back to
reference equality semantics, because that's what
`EqualityComparer.Default<object>` is.

A five-minute github search across dotnet/runtime yields this:

	c4792a228e/src/coreclr/vm/array.cpp (L984-L990)

Now again, if I didn't know better, I'd see that "OPTIMIZATION:"
comment, see what transpired in this scenario, and call that
optimisation invalid, because it changes semantics. But I *probably*
know that the dotnet team knows better and am probably just going to
take it for what it is, because blame on that code looks to be years
old and it's probably not a new behaviour. (I haven't tested empirically
if it is.)

Instead the fix is just to tell the `.Contains()` method to use the
correct comparer.
2024-09-08 16:06:35 +02:00
schiavoanto
2e6f17f253 Fixed wrong OverlayColourScheme 2024-09-08 16:04:10 +02:00
schiavoanto
cf23c6668c Added background color to hide beatmap background 2024-09-08 15:59:23 +02:00
Dean Herbert
4a6266efcf
Merge pull request #29714 from Crystallized21/total-participation-tooltip
Add Total Participation stat to users profile Daily Challenge Tooltip
2024-09-08 22:42:02 +09:00
Bartłomiej Dach
7f814d3106
Fix incorrect tiers being used for tooltip total participation display
Compare: 95e4561a54
2024-09-08 14:26:50 +02:00
Ianlucht
cd94d6e2bc fixed if statement format 2024-09-07 14:01:38 -06:00
Ianlucht
e6f81abc3b cleaned up whitespace 2024-09-07 13:57:12 -06:00
Ianlucht
170737b68f added DailyChallengeIntro to notification 2024-09-07 13:48:14 -06:00
Ianlucht
958bfde51d added DailyChallengeIntro to notification 2024-09-07 13:46:42 -06:00
schiavoanto
2bc6547d49 Code quality fix: added type 2024-09-07 16:23:23 +02:00
schiavoanto
32de8e9b2d Fixed ControlPointTable items being blocked by buttons 2024-09-07 16:15:00 +02:00
Dean Herbert
4c6eb89530
Fix beatmap difficulties not being split out on first load
Closes https://github.com/ppy/osu/issues/29728.
2024-09-07 22:14:03 +09:00
Dean Herbert
7f687d545d
Merge pull request #29715 from bdach/fix-stall-on-empty-replay-import-attempt
Fix stall when attempting to import replay after hitting nothing
2024-09-07 22:01:31 +09:00
Dean Herbert
10ef5a6d6d
Update framework 2024-09-07 21:46:43 +09:00
Dan Balasescu
02eb6835e3
Merge pull request #29745 from Ianlucht/fix-beatmap-artist-and-title-search-to-include-double-quotes-resolves#29708
Double-quote in beatmap listing when searching by artist/title
2024-09-07 18:42:27 +09:00
Dan Balasescu
ac6cce5911
Refactor to string interpolation 2024-09-07 17:40:33 +09:00
Dan Balasescu
6fb5c10f19
Merge pull request #29742 from SchiavoAnto/29736-results-collections-overflow
Fix collections overflowing in the results screen
2024-09-07 17:37:11 +09:00
Bruno Heredia
3b81ad4cbf
Fix scroll speed slider defaulting to 0.01 2024-09-07 01:44:40 -03:00
Ianlucht
581f190856 fixed issues with search by adding the double quotation marks in the BeatmapSetHeaderContents links. 2024-09-06 16:31:48 -06:00
schiavoanto
ed044d5b85 Fix proposal for #29736 2024-09-06 22:58:18 +02:00
Bartłomiej Dach
4e9ad1388f
Fix stall when attempting to import replay after hitting nothing 2024-09-06 13:16:58 +02:00
Michael Bui
a31ea24c6d show stats on all rulesets 2024-09-06 23:05:04 +12:00
Michael Bui
362b4bbc56 Hide daily challenge stats if there are no plays 2024-09-06 23:01:05 +12:00
Michael Bui
ab8771900a change colour 2024-09-06 22:04:10 +12:00
Michael Bui
34a9d60c19 revert back to axes.both 2024-09-06 22:02:35 +12:00
Michael Bui
f59895aa34 take out drawable 2024-09-06 21:54:41 +12:00
Michael Bui
15f73a3dfb show participation count in tooltip 2024-09-06 21:52:42 +12:00
Bartłomiej Dach
2c19b7994c
Implement "form" check box control 2024-09-06 11:45:13 +02:00
Dean Herbert
04d133832f
Merge pull request #29711 from smoogipoo/add-played-acronyms
Add 'yes'/'no' acronyms to the `played=` filter
2024-09-06 18:08:37 +09:00
Dan Balasescu
6913d75792
Add 'yes'/'no' acronyms to the played= filter 2024-09-06 18:04:39 +09:00
Bartłomiej Dach
9f834ca1a2
Silence beatmap retrieval failures from results screen favourite button
As reported (very poorly) in
https://github.com/ppy/osu/pull/28991#issuecomment-2331854970.

I believe this is a total edge case and is mostly visible on dev due to
some beatmaps existing on `osu.ppy.sh` and not on `dev.ppy.sh`, but I
tend to agree in general that these types of failures should not be
firing very loud error notifications; logging to network and disabling
the button with a tooltip adjustment should be enough.
2024-09-06 10:29:23 +02:00
Bartłomiej Dach
925710d9b3
Merge pull request #29702 from peppy/fix-offset-control-wrong-order
Fix beatmap offset control not working correctly when calibrating from quitting gameplay
2024-09-06 09:39:14 +02:00
Dean Herbert
36a30cf077
Add note about using hard links in the future 2024-09-06 16:01:47 +09:00
Fabep
584d4a9abf Merge branch 'master' into ModCustomisationHeaderColor 2024-09-05 12:44:26 +02:00
Dean Herbert
9802b59459
Merge pull request #29693 from bdach/editor/setup-screen-textbox
Implement "form" text box control
2024-09-05 19:31:02 +09:00
Dean Herbert
37f61b26ea
Fix offset adjust control not correctly applying changes after song select quit
This is an interesting scenario where we arrive at a fresh
`BeatmapOffsetControl` but with a reference score (from the last play).

Our best assumption here is that the beatmap's offset hasn't changed
since the last play, so we want to use it for the `lastPlayBeatmapOffset`.
But due to unfortunate order of execution, `Current.Value` was not yet
initialised.
2024-09-05 19:04:52 +09:00
Dean Herbert
c51503cfee
Merge pull request #29695 from peppy/fail-t-request-on-null-response
Trigger request failure on receiving a null response for a typed `APIRequest`
2024-09-05 18:31:54 +09:00
Bartłomiej Dach
3a3a912ebc
Merge pull request #29701 from peppy/fix-gc-fuck-fuck-fuck
Fix high performance session potentially getting stuck after multiplayer spectator
2024-09-05 11:24:54 +02:00
Bartłomiej Dach
49b14ad579
Merge branch 'master' into editor/setup-screen-textbox 2024-09-05 11:22:10 +02:00
Bartłomiej Dach
e1b763ff0d
Apply review suggestions wrt border appearance 2024-09-05 11:21:59 +02:00
Dean Herbert
446c8109b7
Merge pull request #27334 from Sheppsu/replay-analysis-settings
Add a replay analysis overlay
2024-09-05 17:43:00 +09:00
Dean Herbert
86a06c7e10
Fix high performance session potentially getting stuck after multiplayer spectator 2024-09-05 17:19:53 +09:00
Dean Herbert
6fc60908c0
Trigger request failure on receiving a null response for a typed APIRequest 2024-09-05 01:00:23 +09:00
Fabep
17760afa60 Changed ModCustomisationHeader to inherit from OsuClickableContainer.
ModCustomisationHeader changes color depending on state.
2024-09-04 15:29:48 +02:00
Bartłomiej Dach
b7a56c8a45
Implement "form" text box control 2024-09-04 14:09:50 +02:00
Bartłomiej Dach
6f99d839b0
Make struct readonly 2024-09-04 12:41:02 +02:00
Dean Herbert
0e85110ee2
Merge pull request #29690 from peppy/update-framework
Update framework
2024-09-04 19:39:47 +09:00
Dean Herbert
ca09028b06
Merge pull request #29616 from peppy/break-overlay-animation
Add beat-synced animation to break overlay
2024-09-04 19:39:35 +09:00