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

45146 Commits

Author SHA1 Message Date
Andrei Zavatski
d35b308745 Use cleaner array creation expression 2025-01-07 01:23:19 +03:00
Andrei Zavatski
791ca915e4 Fix allocations in updateSamplePointContractedState 2025-01-07 00:48:58 +03:00
Andrei Zavatski
e8dc09f5bc Reduce HitSampleInfo constants allocations 2025-01-07 00:36:58 +03:00
Bartłomiej Dach
3a4497af32
Constrain range of usable characters in romanised metadata to ASCII only
Closes https://github.com/ppy/osu/issues/31398.

Rationale given in issue.

Compare stable logic:

- 2280c4c436/osu!/GameModes/Edit/Forms/SongSetup.cs#L118-L122
- 2280c4c436/osu!common/Helpers/GeneralHelper.cs#L410-L423

The control character check is a bit gratuitous (text boxes will already
not allow insertion of those, see
e05cb86ff6/osu.Framework/Graphics/UserInterface/TextBox.cs (L92)),
but as it's a general helper I figured might as well.
2025-01-06 14:04:47 +01:00
Dean Herbert
4f1a6b4688
Always show dialog when clicking supporter icon before opening browser
I managed to do this by accident three times today while testing using
the dashboard display, so it's time to action on it.

Touched on in
https://github.com/ppy/osu/discussions/30740#discussioncomment-11345996.
Was also mentioned recently in discord or another discussion explicitly
but I can't find that.
2025-01-06 17:51:04 +09:00
Dan Balasescu
448790a76f
Merge pull request #31386 from peppy/fix-applying-offset
Fix not being able to apply last play offset after returning to song select
2025-01-06 11:40:12 +09:00
Dean Herbert
37da72d764
Reduce nesting slightly 2025-01-05 00:32:06 +09:00
Dean Herbert
72dfdac2e2
Ensure intro files exist in storage
Guards against user interdiction.

See
[https://discord.com/channels/188630481301012481/1097318920991559880/1324765503012601927](recent)
but not only case of this occurring.
2025-01-04 15:27:49 +09:00
Dean Herbert
e15978cc65
Add test coverage of user deleting intro files 2025-01-04 15:26:42 +09:00
Salman Alshamrani
3fc86f60ee Fix mobile release dialog obstructed by the software keyboard 2025-01-03 22:01:06 -05:00
Dean Herbert
2cd86cbf91
Localise text 2025-01-04 01:28:33 +09:00
Dean Herbert
da85517036
Adjust popup icon animation slightly 2025-01-04 01:28:09 +09:00
Dean Herbert
60fd0be481
Make popup body text left aligned when multiple lines of text are provided 2025-01-04 01:19:56 +09:00
Dean Herbert
1d81dade25
Update copy and require actually clicking button to confirm 2025-01-04 01:13:03 +09:00
Dean Herbert
97d065d887
Only flip value if popup was definitely shown 2025-01-04 00:58:19 +09:00
Salman Alshamrani
c40371c052 Move dialog class location 2025-01-03 00:27:26 -05:00
Salman Alshamrani
039800550c Display popup disclaimer about game state and performance on mobile platforms 2025-01-03 00:20:50 -05:00
Dean Herbert
2a28c5f4de
Add static memory of last applied offset score
I don't really like adding this new session static, but we don't have a
better place to put this.
2025-01-02 16:20:25 +09:00
Dean Herbert
58dcb25bd5
Revert "Clear previous LastLocalUserScore when returning to song select"
This reverts commit ced8dda1a2.
2025-01-02 15:59:00 +09:00
Dan Balasescu
1cb2c86104
Merge pull request #31383 from peppy/editor-toolbar-scrolling-weird
Always block scroll input above editor toolbox areas
2025-01-02 15:11:11 +09:00
Dean Herbert
cca63b599e
Always block scroll input above editor toolbox areas
Originally this was an intentional choice (see
https://github.com/ppy/osu/pull/18088) when these controls were more
transparent and didn't for a solid toolbox area.

But this is no longer the case, so for now let's always block scroll to
match user expectations.

Closes #31262.
2025-01-02 14:31:27 +09:00
Dean Herbert
1211f6cf4c
Add auto-start setting for 10 seconds
As touched on in
https://github.com/ppy/osu/discussions/31205#discussioncomment-11671185.

Doesn't require server-side changes as the server just uses a
`TimeSpan`.
2025-01-02 13:06:34 +09:00
Dan Balasescu
9da27b5fe5
Merge pull request #31305 from bdach/round-coordinates-on-legacy-export
Round object coordinates to nearest integers on legacy export rather than truncating
2025-01-01 21:05:18 +09:00
Bartłomiej Dach
929173c971
Merge pull request #31342 from minetoblend/feature/speedy-metronome
Speed up metronome in timing screen when pressing control key
2024-12-31 14:49:48 +01:00
Bartłomiej Dach
1803ee4025
Rename method 2024-12-31 14:09:36 +01:00
Bartłomiej Dach
88311f5442
Remove unused method 2024-12-31 14:02:07 +01:00
Bartłomiej Dach
21dba621f0
Display storyboard in editor background
Fixes the main part of https://github.com/ppy/osu/issues/31144.
Support for selecting a video will come later.

Making this work was an absolutely awful time full of dealing with
delightfully kooky issues, and yielded in a very weird-shaped
contraption. There is at least one issue remaining wherein storyboard
videos do not actually display until the track is started in editor, but
that is 99% a framework issue and I do not currently have the mental
fortitude to diagnose further.
2024-12-31 13:57:50 +01:00
Dean Herbert
6ff3110433
Consolidate variable 2024-12-31 21:14:15 +09: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
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
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
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
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
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
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
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
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
a5d354d753
Update framework 2024-12-24 15:17:10 +09:00
Dean Herbert
362311d040
Merge pull request #31220 from normalid-awa/feature/skin/rename-skin
Add ability to rename the skin
2024-12-24 14:24:48 +09:00
Dean Herbert
85f5234880
Merge pull request #31238 from frenzibyte/make-featured-artist-setting
Save "featured artists" filter to user settings and disable toggling on iOS
2024-12-24 14:07:20 +09:00
Dean Herbert
378bef34ef
Change order of skin layout editor button for better visual balance 2024-12-24 13:42:18 +09:00
Dean Herbert
ae9c7e1b35
Adjust layout and remove localisable strings for temporary buttons 2024-12-24 13:17:58 +09:00
Dean Herbert
8762e3fedb
Always show tooltip, and reword to be always applicable 2024-12-24 12:25:18 +09:00
Dean Herbert
282c67d14b
Update resources 2024-12-24 11:59:45 +09:00
Dean Herbert
7e8aaa68ff
Add keywords for intro-related settings 2024-12-24 11:46:39 +09:00
Plextora
47afab8a32 Use yellow instead of pink 2024-12-23 12:47:50 -05:00
Salman Alshamrani
6b635d588f Add tooltip 2024-12-23 10:59:06 -05:00
Salman Alshamrani
7e3477f4bb Remove unnecessary guarding 2024-12-23 10:54:52 -05:00
Salman Alshamrani
050bf9ec60 Keep 'x' symbol visible even while disabled 2024-12-23 10:52:18 -05:00
Dean Herbert
9ff4a58fa3
Add migration to update users which have previous default bindings for beat snap 2024-12-23 22:14:03 +09:00
Dean Herbert
097828ded2
Fix incorrect mouse wheel mappings 2024-12-23 22:07:42 +09:00
Dean Herbert
7b9f776a14
Merge pull request #31206 from peppy/christmas
Add christmas / seasonal mode
2024-12-23 16:49:38 +09:00
Dean Herbert
f12fffd116
Fix more than obvious test failure
Please run tests please run tests please run tests.
2024-12-23 14:43:36 +09:00
Dean Herbert
1a7feeb4ed
Use virtual property rather than inline iOS conditional 2024-12-23 14:39:07 +09:00
Plextora
b3056d6114 Change score background to pink if user is friended 2024-12-22 16:58:00 -05:00
Salman Alshamrani
fcfab9e53c Fix spacing 2024-12-22 10:14:52 -05:00
Dean Herbert
0aed625bb8
Rename variable and adjust commentary 2024-12-22 23:58:35 +09:00
Dean Herbert
e716919a07
Remove redundant && true
Co-authored-by: Susko3 <Susko3@protonmail.com>
2024-12-22 22:57:17 +09:00
Salman Alshamrani
589e187a80 Disable ability to toggle "featured artists" beatmap listing filter in iOS 2024-12-22 07:50:08 -05:00
Salman Alshamrani
c24f690019 Allow disabling filter items in beatmap listing overlay 2024-12-22 07:47:57 -05:00
Salman Alshamrani
431d57a8a1 Make "featured artist" beatmap listing filter persist in config 2024-12-21 18:18:46 -05:00
Joseph Madamba
ce5a205993
Capitalise English 2024-12-21 11:37:30 -08:00
Salman Alshamrani
1c48fdb235 Add Hidden cursor state flag on all platforms 2024-12-21 14:03:20 -05:00
Salman Alshamrani
7cd3979866 Fix typo in main menu tip 2024-12-21 12:59:02 -05:00
jkh675
ae7f1a9ef1 Fix code quality 2024-12-21 22:27:21 +08:00
jkh675
9a0d9641ab Select all on focus when popover just open 2024-12-21 21:26:56 +08:00
Dean Herbert
1174f46656
Add menu tip hinting at correct spelling of laser 2024-12-21 21:41:48 +09:00
jkh675
5f617e6697 Implement rename skin popover and button 2024-12-21 20:31:12 +08:00
Dean Herbert
d897a31f0c
Add extra safeties against null ref when rulesets are missing 2024-12-21 20:30:00 +09:00
Dean Herbert
1fcd953e4a
Fetch ruleset before initialising beatmap the first time 2024-12-21 20:17:27 +09:00
Dean Herbert
881623d47d
Merge branch 'master' into christmas 2024-12-20 23:11:20 -08:00
Dean Herbert
9b1d94b5be
Merge branch 'master' into skinnable-mod-display 2024-12-20 21:27:31 +09:00
Dean Herbert
a9cf31f5d8
Usings 2024-12-20 21:27:24 +09:00
Bartłomiej Dach
e62b329d4a
Merge pull request #31143 from peppy/no-pause-cooldown-break-intro
Skip the pause cooldown when in intro / break time
2024-12-20 12:29:46 +01:00
Dean Herbert
c16bfa010b
Merge branch 'master' into christmas 2024-12-20 20:07:48 +09:00
Bartłomiej Dach
4551d59f39
Give skinnable mod display a minimum size
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-12-20 12:06:35 +01:00
Dean Herbert
139fb2cdd3
Revert and fix some tests still 2024-12-20 19:44:43 +09:00
Bartłomiej Dach
e23085cdb4
Merge branch 'master' into editor-beat-snap-adjust-scroll 2024-12-20 11:05:18 +01:00
Bartłomiej Dach
767be9d0d6
Merge pull request #31146 from peppy/global-volume-scroll-better-maybe
Move "global" scroll-adjusts-volume to a per-screen component-based implementation
2024-12-20 11:04:57 +01:00
Bartłomiej Dach
18e2912206
Merge pull request #31198 from peppy/seasonal-no-login
Load seasonal backgrounds without requiring being logged in
2024-12-20 10:21:27 +01:00
Bartłomiej Dach
0a87fb5993
Merge branch 'master' into global-volume-scroll-better-maybe 2024-12-20 09:58:25 +01:00
Bartłomiej Dach
25373c3f9c
Fix backwards repeat check 2024-12-20 09:50:58 +01:00
Dean Herbert
48ce68694a
Add missing partial 2024-12-20 17:06:47 +09:00