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

71060 Commits

Author SHA1 Message Date
Dean Herbert
6ff3110433
Consolidate variable 2024-12-31 21:14:15 +09:00
aychar
333ae75a82
Add game mode key to plist 2024-12-31 00:29:36 -06:00
Unili
acd51c8e9d
Merge branch 'ppy:master' into master 2024-12-31 11:35:55 +08:00
CuNO3
22c8229993 Ignore whitespace while 2FA authentication 2024-12-31 10:43:48 +08:00
Marvin Schürz
0641d2b510 Remove turboweird function and update displayed bpm text 2024-12-30 19:12:21 +01:00
Dean Herbert
73083e1337
Merge pull request #31350 from bdach/fix-slider-drag-marker-blocking-context-menu
Fix slider end drag marker blocking open of control point piece context menus
2024-12-30 22:27:30 +09:00
Bartłomiej Dach
06879eee39
Fix slider repeats not properly respecting "show hit markers" setting
Closes https://github.com/ppy/osu/issues/31286.

Curious on thoughts about how the instant arrow fade looks on
non-classic skins. On argon it's probably fine, but it does look a
little off on triangles...
2024-12-30 13:52:50 +01:00
Dan Balasescu
11a4e3beb4
Merge pull request #31287 from stanriders/change-relax-leniency
Change `OsuModRelax` hit leniency to be the same as in stable
2024-12-30 21:42:48 +09:00
Dan Balasescu
643e849029
Merge branch 'master' into fix-slider-drag-marker-blocking-context-menu 2024-12-30 21:34:11 +09:00
Dan Balasescu
c56a6ed595
Merge pull request #31348 from bdach/fix-slider-quick-delete
Fix quick-deleting unselected slider path control point also deleting all selected control points
2024-12-30 21:33:57 +09:00
Dan Balasescu
ab111178d0
Merge pull request #31352 from bdach/collapse-sample-point-indicators-better
Take custom bank name length into account when collapsing sample point indicators
2024-12-30 21:32:07 +09:00
Bartłomiej Dach
693db097ee
Take custom bank name length into account when collapsing sample point indicators
Would close https://github.com/ppy/osu/issues/31312.

Not super happy with the performance overhead of this, but this is
already a heuristic-based implementation to avoid every-frame
`.ChildrenOfType<>()` calls or similar, so not super sure how to do
better. The `Array.Contains()` check stands out in profiling, but
without it the indicators can collapse *too* eagerly sometimes.
2024-12-30 12:04:41 +01:00
Bartłomiej Dach
4d326ec31f
Fix slider end drag marker blocking open of control point piece context menus
Closes https://github.com/ppy/osu/issues/31323.
2024-12-30 11:07:25 +01:00
Bartłomiej Dach
a4c6f221c2
Add extra test coverage to prevent regressions
Covers scenario described in https://github.com/ppy/osu/issues/31176 and
fixed in https://github.com/ppy/osu/pull/31184.
2024-12-30 11:07:21 +01:00
Bartłomiej Dach
2a758bc3df
Add failing test case 2024-12-30 10:47:55 +01:00
Bartłomiej Dach
182f998f9b
Fix quick-deleting unselected slider path control point also deleting all selected control points
Closes https://github.com/ppy/osu/issues/31308.

Logic matches corresponding quick-delete logic in
130802e480/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L307-L316).
2024-12-30 09:44:04 +01:00
Bartłomiej Dach
aa67f87fe9
Add failing test coverage 2024-12-30 09:42:24 +01:00
Bartłomiej Dach
f18114d2fb
Merge pull request #31282 from peppy/fix-volume-key-repeat
Fix volume adjust key repeat not working as expected
2024-12-30 08:49:35 +01:00
Marvin Schürz
9ea7afb38e Use return value instead of field to force weight position update 2024-12-30 03:59:54 +01:00
Marvin Schürz
aa6763785c Use 3x speed instead when beat snap divisor is divisible by 3 2024-12-30 03:21:52 +01:00
Marvin Schürz
8be500535d Speed up metronome when holding control 2024-12-30 03:13:22 +01:00
Dean Herbert
10ee2e28c2
Merge pull request #31303 from bdach/pause-on-gameplay-test
Pause playback when entering gameplay test from editor
2024-12-28 04:41:28 +09:00
Dean Herbert
ac348b8780
Merge pull request #31307 from bdach/id3-tags
Populate metadata from ID3 tags when changing beatmap audio track in editor
2024-12-28 02:41:49 +09:00
Dean Herbert
1b2a223a5f
Fix failing test scene due to new dependency 2024-12-28 01:02:15 +09:00
Bartłomiej Dach
6a6db5a22b
Populate metadata from ID3 tags when changing beatmap audio track in editor
- Closes https://github.com/ppy/osu/issues/21189
- Supersedes / closes https://github.com/ppy/osu-framework/pull/5627
- Supersedes / closes https://github.com/ppy/osu/pull/22235

The reason why I opted for a complete rewrite rather than a revival of
that aforementioned pull series is that it always felt quite gross to me
to be pulling framework's audio subsystem into the task of reading ID3
tags, and I also partially don't believe that BASS is *good* at reading
ID3 tags. Meanwhile, we already have another library pulled in that is
*explicitly* intended for reading multimedia metadata, and using it
does not require framework changes. (And it was pulled in explicitly for
use in the editor verify tab as well.)

The hard and dumb part of this diff is hacking the gibson such that
the metadata section on setup screen actually *updates itself*
after the resources section is done doing its thing. After significant
gnashing of teeth I just did the bare minimum to make work by caching
a common parent and exposing an `Action?` on it. If anyone has better
ideas, I'm all ears.
2024-12-27 15:16:03 +01:00
Dean Herbert
a9a5bb2c6a
Remove duplicated block 2024-12-27 21:36:07 +09:00
Bartłomiej Dach
e7225399a2
Fix slider event generator incorrectly not generating repeats when tick distance is zero
RFC. This closes https://github.com/ppy/osu/issues/31186.

To explain why: The issue occurs on
https://osu.ppy.sh/beatmapsets/594828#osu/1258033, specifically on the
slider at time 128604. The failure site is

	fa0d2f4af2/osu.Game.Rulesets.Osu/Edit/Blueprints/Sliders/SliderCircleOverlay.cs (L65-L66)

wherein `LastRepeat` is `null`, even though the slider's `RepeatCount`
is 1 and thus `SpanCount` is 2.

In this case, `SliderEventGenerator` is given a non-zero `tickDistance`
but a zero `length`. The former is clamped to the latter:

	fa0d2f4af2/osu.Game/Rulesets/Objects/SliderEventGenerator.cs (L34)

Because of this, a whole block of code pertaining to tick generation
gets turned off, because of zero tick spacing - however, that block also
includes within it *repeat* generation, for seemingly very little reason
whatsoever:

	fa0d2f4af2/osu.Game/Rulesets/Objects/SliderEventGenerator.cs (L47-L77)

While a zero tick distance would indeed cause `generateTicks()` to loop
forever, it should have absolutely no effect on repeats.

While this *is* ultimately an aspire-tier bug caused by people pushing
things to limits, I do believe that in this case a fix is warranted
because of how hard the current behaviour violates invariants. I do not
like the possibility of having a slider with multiple spans and no
repeats.
2024-12-27 12:38:31 +01:00
Bartłomiej Dach
ecf64dfc57
Add failing test case 2024-12-27 12:38:31 +01:00
Bartłomiej Dach
e9762422b3
Round object coordinates to nearest integers rather than truncating
Addresses https://github.com/ppy/osu/issues/31256.
2024-12-27 11:10:29 +01:00
Bartłomiej Dach
0d16ed028b
Add setters to hitobject coordinate interfaces 2024-12-27 11:01:47 +01:00
Bartłomiej Dach
0c02369bdc
Add failing test case 2024-12-27 11:01:47 +01:00
Bartłomiej Dach
5abad07412
Pause playback when entering gameplay test from editor
Closes https://github.com/ppy/osu/issues/31290.

Tend to agree that this is a good idea for gameplay test at least. Not
sure about other similar interactions like exiting - I don't think it
matters what's done in those cases, because for exiting timing is in no
way key, so I just applied this locally to gameplay test.
2024-12-27 09:08:16 +01:00
Bartłomiej Dach
ed397c8fee
Add failing assertions 2024-12-27 09:04:41 +01:00
StanR
94d56d3584 Change OsuModRelax hit leniency to be the same as in stable 2024-12-26 18:13:09 +05:00
Bartłomiej Dach
fa0d2f4af2
Merge pull request #31277 from kongehund/switch-scroll-direction-beat-snap
Switch scroll direction for beat snap
2024-12-26 09:25:32 +01:00
Dean Herbert
2a374c0695
Add migration 2024-12-26 15:46:12 +09:00
Dean Herbert
e752531aec
Fix volume adjust key repeat not working as expected
Regressed in https://github.com/ppy/osu/pull/31146.

Closes part of https://github.com/ppy/osu/issues/31267.
2024-12-26 15:05:59 +09:00
kongehund
1f60adbaf1 Switch scroll direction for beat snap
Matches stable better
2024-12-26 00:35:21 +01:00
Dean Herbert
62e536baf6
Merge pull request #31138 from bdach/mark-as-played
Implement ability to mark beatmap as played
2024-12-24 21:43:15 +09:00
Dean Herbert
df3b300fff
Merge pull request #31226 from frenzibyte/fix-raw-input-mobile
Add `Hidden` cursor state flag on non-desktop platforms as well
2024-12-24 21:35:50 +09:00
Bartłomiej Dach
287b880ec7
Merge pull request #31259 from peppy/intro-volume-adjust
Fix adjusting volume using scroll wheel not working during intro
2024-12-24 10:18:10 +01:00
Bartłomiej Dach
a169bf557d
Merge pull request #31258 from peppy/reduce-dim-seasonal
Slightly reduce background brightness at main menu when seasonal lighting is active
2024-12-24 10:18:01 +01:00
Dean Herbert
ce1eda7e54
Fix adjusting volume using scroll wheel not working during intro 2024-12-24 17:11:21 +09:00
Dean Herbert
d8686f55f7
Slightly reduce background brightness at main menu when seasonal lighting is active 2024-12-24 17:10:48 +09:00
Bartłomiej Dach
6b56c658b3
Merge pull request #31254 from peppy/fix-invisible-circle-sprites
Fix some hitcircle sprites missing in certain skins since last release
2024-12-24 09:05:16 +01:00
Bartłomiej Dach
2211a4d505
Merge pull request #31147 from peppy/editor-beat-snap-adjust-scroll
Change beat snap divisor adjust defaults to be Ctrl+Scroll instead of Ctrl+Shift+Scroll
2024-12-24 09:03:42 +01:00
Bartłomiej Dach
1f90be3fea
Merge branch 'master' into editor-beat-snap-adjust-scroll 2024-12-24 08:21:34 +01:00
Bartłomiej Dach
d9be172647
Add explanatory comment for schema version bump 2024-12-24 08:21:27 +01:00
Dean Herbert
b8d6bba039
Fix legacy hitcircle fallback logic being broken with recent fix
I was a bit too eager to replace all calls with the new `provider`
in
dae380b7fa,
while it doesn't actually make sense.

To handle the case that was trying to be fixed, using the `provider` to
check whether the *prefix* version of the circle sprite is available is
enough alone.

Closes https://github.com/ppy/osu/issues/31200
2024-12-24 16:05:44 +09:00
Dean Herbert
a5d354d753
Update framework 2024-12-24 15:17:10 +09:00