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

45297 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
Dean Herbert
5d17014698
Fix mouse wheel disable not working during gameplay 2024-12-20 16:31:06 +09:00
Dean Herbert
f5b0198077
Fix test faiulres when seasonal set to true due to non-circles intro 2024-12-20 16:02:43 +09:00
Dean Herbert
7ebc9dd843
Disable seasonal for now 2024-12-20 15:35:31 +09:00
Dean Herbert
3fc9990411
Fix some failing tests 2024-12-20 15:35:31 +09:00
Dean Herbert
8e9377914d
Subclass menu logo visualisation 2024-12-20 15:35:31 +09:00
Dean Herbert
ad4a8a1e0a
Subclass menu flashes instead of adding local code to it 2024-12-20 15:35:30 +09:00
Dean Herbert
2a720ef200
Move christmas intro screen to seasonal namespace 2024-12-20 15:28:24 +09:00
Dean Herbert
e5dbf9ce45
Subclass osu logo instead of adding much code to it 2024-12-20 15:28:24 +09:00
Dean Herbert
8c7af79f96
Tidy up for pull request attempt 2024-12-20 14:46:21 +09:00
Dean Herbert
4924a35c31
Fix light expiry 2024-12-20 14:46:21 +09:00
Dean Herbert
22f3831c0d
Add logo hat 2024-12-20 14:46:21 +09:00
Dean Herbert
0954e0b032
Add seasonal lighting
Replaces kiai fountains for now.
2024-12-20 14:46:20 +09:00
Dean Herbert
024029822a
Add christmas intro 2024-12-20 14:46:20 +09:00
Dean Herbert
618a9849e3
Increase intro time allowance to account for seasonal tracks with actual long intros 2024-12-20 14:46:20 +09:00
Dean Herbert
a4bf29e98f
Adjust menu logo visualiser to use seasonal colours 2024-12-20 14:19:12 +09:00
Dean Herbert
180a381b6f
Adjust menu side flashes to be brighter and coloured when seasonal active 2024-12-20 14:19:12 +09:00
Dean Herbert
80ae7942df
Add christmas-specific logo heartbeat 2024-12-20 14:19:12 +09:00
Dean Herbert
a94ada2ec6
Update resources 2024-12-20 14:19:03 +09:00
Dean Herbert
55dff1f0ef
Merge branch 'master' into skinnable-mod-display 2024-12-20 14:08:51 +09:00
Dean Herbert
7c1482366d
Remove unused using statements 2024-12-20 14:07:27 +09:00
Dean Herbert
9f8c390735
Update framework 2024-12-20 12:39:33 +09:00
Dean Herbert
df607ac3ea
Load seasonal backgrounds without requiring being logged in 2024-12-20 00:38:54 +09:00
Bartłomiej Dach
1057aa867f
Merge pull request #30984 from smoogipoo/fix-mania-spinner-conversion
Fix "spinner" conversion for mania-specific beatmaps
2024-12-19 15:30:10 +01:00
Bartłomiej Dach
2cab8f4e8a
Add localisation support 2024-12-19 15:03:55 +01:00
Bartłomiej Dach
e458f540ac
Adjust formatting 2024-12-19 14:54:57 +01:00
Bartłomiej Dach
7d1473c5d0
Simplify expand/contract code 2024-12-19 14:52:27 +01:00
Bartłomiej Dach
772ac2d326
Fix mod display not fading out after start of play
This was very weird on master - `ModDisplay` applied a fade-in on the
`iconsContainer` that lasted 1000ms, and `HUDOverlay` would stack
another 200ms fade-in on top if a replay was loaded. Moving that first
fadeout to a higher level broke fade-out because transforms got
overwritten.
2024-12-19 14:48:18 +01:00
Bartłomiej Dach
b99b3a5bfd
Merge branch 'master' into tournament-hide-mp-commands 2024-12-19 13:10:45 +01:00
Bartłomiej Dach
6dc681f0e9
Annotate virtual as potentially nullable 2024-12-19 12:50:48 +01:00
Dean Herbert
dedf8ad093
Update resources 2024-12-19 17:42:00 +09:00
mini
c7354d9c41
Apply type inheritance check 2024-12-19 09:21:49 +01:00
Dean Herbert
47d81e7dee
Fix null inspections on GameplayChatDisplay 2024-12-17 19:10:09 +09:00
Dean Herbert
09fc30e377
Hide !mp commands from tournament streaming chat 2024-12-16 17:39:27 +09:00
Dean Herbert
d97ea78136
Change beat snap divisior adjust defaults to be Ctrl+Scroll instead of Ctrl+Shift+Scroll
Matches stable.

- [ ] Depends on https://github.com/ppy/osu/pull/31146, else this will
adjust the global volume.
2024-12-16 15:22:30 +09:00
Dean Herbert
bdd417c1a1
Move "global" scroll-adjusts-volume to a per-screen component-based implementation 2024-12-16 15:21:07 +09:00
Bartłomiej Dach
d72a0b04b8
Merge pull request #31084 from NicholasChin28/mania-profile-overlay-tooltip
Add missing mania tooltip overlay for 4k and 7k
2024-12-16 14:22:41 +09:00
Dean Herbert
85ada3275b
Skip the pause cooldown when in intro / break time
Had a quick look at adding test coverage in `TestScenePause` but the
setup to get into either of these states seems a bit annoying..
2024-12-16 14:14:30 +09:00
Bartłomiej Dach
8a2f161619
Merge pull request #31139 from peppy/settings-sensitivity
Expose high precision mouse toggle when searching for "sensitivity" and other keywords
2024-12-16 13:40:32 +09:00
Bartłomiej Dach
9652c5a7ca
Merge pull request #31110 from peppy/timing-current-point-indicator
Change the way "current" points are hinted on timing screen
2024-12-16 13:27:06 +09:00
Bartłomiej Dach
ecb7a809f2
Revert "Fix text anchor for mania tooltip"
This reverts commit c0b6e784a5.

The change affects editor and other stuff and I'm not sure it's correct.
It's not like client needs to match the appearance really. It already
doesn't in many places.
2024-12-16 13:18:47 +09:00
Bartłomiej Dach
cfdb959cf6
Split actual methods & fix completely broken localisation
Localisable strings cannot be plainly interpolated or joined. That is a
lossy operation that loses data.
2024-12-16 13:16:52 +09:00
Bartłomiej Dach
8d1d026f56
Clean up model
- Properly annotate things as nullable
- Remove weird passthrough property (more on that later)
2024-12-16 13:14:21 +09:00
Dean Herbert
a8948628e6
Expose high precision mouse toggle when searching for "sensitivity" and other keywords 2024-12-16 13:12:21 +09:00
Bartłomiej Dach
573d709fae
Merge pull request #31109 from peppy/fix-editor-timing-undo-redo
Fix adjusting control point offset after undo/redo causing catastrophic failure
2024-12-16 12:40:22 +09:00
Bartłomiej Dach
98e8d0b497
Merge branch 'master' into timing-current-point-indicator 2024-12-16 12:22:14 +09:00
Bartłomiej Dach
1058abb4ab
Fix code quality 2024-12-16 12:22:06 +09:00
Bartłomiej Dach
a6e00d6eac
Implement ability to mark beatmap as played
Reported at https://osu.ppy.sh/community/forums/topics/2015478?n=1.

Would you believe it that this button that has been there for literal
years never did anything?

Implemented at a per-beatmap level. Also additionally added to context
menu (at @peppy's suggestion), and also copy reworded from "Delete from
unplayed" to "Mark as played" because double negation hurt my tiny
brain.
2024-12-16 10:49:19 +09:00
Nicholas Chin
e2edd9e0d5 Fix code quality issues 2024-12-15 13:53:33 +08:00
Nicholas Chin
153e6c0c22 Use Count comparison instead of Any 2024-12-14 08:29:32 +08:00
Dean Herbert
c93b6dba2b
Merge pull request #31108 from peppy/quick-retry-for-replays
Allow using "quick retry" shortcut in more cases from results screen
2024-12-13 08:18:59 -08:00
Nicholas Chin
c0b6e784a5 Fix text anchor for mania tooltip 2024-12-13 21:58:23 +08:00
Dean Herbert
9025103b8b
Reword comment to hopefully be more understandable 2024-12-13 20:02:17 +09:00
Dean Herbert
da840e3fac
Change the way "current" points are hinted on timing screen
I actually thought things were bugged with the previous display method,
since the hinting was very similar to the hover colour/state.

I've adjusted this to hopefully give users a better idea of what this is
intending to show them.
2024-12-13 19:45:18 +09:00
Dean Herbert
64555debc2
Fix adjusting control point offset after undo/redo causing catastrophic failure
Closes https://github.com/ppy/osu/issues/31098.

Low effort fix because it was already half broken. The test was testing
in isolation but in actual editor usage it wasn't working as expected.
2024-12-13 19:33:51 +09:00
Dan Balasescu
35c70ceb18
Merge pull request #31106 from peppy/player-settings-fix-overlap-skins
Fix player settings overlay cog overlapping skin elements
2024-12-13 19:30:39 +09:00
Dean Herbert
4b0cdd761d
Add note about player settings overlay button 2024-12-13 18:58:20 +09:00
Dan Balasescu
f84c67babd
Merge pull request #31101 from Joehuu/recommended-diff-beatmap-listing
Add recommended difficulty numerical value near filter in beatmap listing
2024-12-13 18:57:16 +09:00
Dean Herbert
d00bc4bdd1
Also allow using "quick retry" for other replays 2024-12-13 18:14:45 +09:00
Dean Herbert
0e0d96829f
Fix "quick retry" hotkey not working for autoplay 2024-12-13 18:08:29 +09:00
Dean Herbert
a796af9511
Fix player settings overlay cog overlapping skin elements
This brings it down to be in line with the flowing elements that usually
do their best to not get in the way.

Decided against putting it in the `HUDOverlay` flow for simplicity. It
will work fine until it doesn't.
2024-12-13 17:28:15 +09:00
Dean Herbert
1e809c7f16
Fix player settings overlay appearing while in skin editor 2024-12-13 17:18:34 +09:00
Dan Balasescu
2930db5d6e
Merge pull request #31073 from bdach/filter-playing-rooms
Add ability to filter out currently playing rooms
2024-12-13 17:03:30 +09:00
Dan Balasescu
7bb1a5118e
Unbind event on disposal 2024-12-13 16:39:16 +09:00
Dan Balasescu
62a1a5883a
Merge branch 'master' into recommended-diff-beatmap-listing 2024-12-13 16:38:07 +09:00
Dean Herbert
313de33986
Adjust padding to avoid wrapping on checkbox text 2024-12-13 15:42:30 +09:00
Joseph Madamba
38b3d5fc00
Update recommended difficulty for osu!taiko 2024-12-12 16:17:57 -08:00
Joseph Madamba
f7364de01a
Add test and null protections 2024-12-12 15:23:00 -08:00
Joseph Madamba
92e07b4f99
Add recommended difficulty numerical value near filter in beatmap listing 2024-12-12 15:23:00 -08:00
Joseph Madamba
e95dc2b308
Add FormatStarRating() method util 2024-12-12 15:23:00 -08:00
Joseph Madamba
3035e8435d
Apply NRT to incoming changed files 2024-12-12 15:22:58 -08:00
Nicholas Chin
a22f3416d6 Replace switch expression with LocalisableDescription attribute for variant display
Use existing localisation strings from BeatmapsStrings instead of CommonStrings for consistent localisation handling
2024-12-12 22:39:21 +08:00
Bartłomiej Dach
0328708889
Store value of toggle to setting 2024-12-12 15:17:39 +09:00
Bartłomiej Dach
61ee830588
Adjust copy 2024-12-12 15:17:39 +09:00
Bartłomiej Dach
d8d5a00f3b
Merge branch 'master' into filter-playing-rooms 2024-12-12 13:06:22 +09:00
Bartłomiej Dach
88241d5b95
Merge pull request #30838 from smoogipoo/better-room-status
Improve multiplayer room status handling
2024-12-12 13:05:59 +09:00
Dean Herbert
862b41c38e
Move BeatmapInfoWedgeV2 to correct namespace 2024-12-12 12:53:05 +09:00
Nicholas Chin
26f15def70 Add missing mania tooltip overlay for 4k and 7k 2024-12-11 23:15:05 +08:00
Dean Herbert
e8c0e27cc0
Adjust in line with upstream changes 2024-12-11 18:17:59 +09:00
Dean Herbert
0aa17a905b
Increase timed update frequency and add inline comment 2024-12-11 18:08:34 +09:00
Dean Herbert
a3998fbd52
Merge branch 'master' into better-room-status 2024-12-11 18:06:55 +09:00
Bartłomiej Dach
4e4a99decc
Merge pull request #31076 from peppy/beatmap-store-interface
Access beatmap store via abstract base class
2024-12-11 17:48:32 +09:00
Dean Herbert
2a4f596f90
Merge branch 'master' into ios-beatmap-export 2024-12-10 23:59:15 -08:00
Dean Herbert
02c52e41bd
Merge pull request #31039 from frenzibyte/ios-temporary-export-storage
Use temporary storage for file exports on iOS
2024-12-10 23:53:40 -08:00
Dean Herbert
a868c33380
Remove BeatmapCarousel testing backdoor 2024-12-11 16:28:51 +09:00
Dean Herbert
c94b393e30
Access beatmap store via abstract base class
The intention here is to make things more testable going forward.
Specifically, to remove the "back-door" entrance into `BeatmapCarousel`
where `BeatmapSets` can be set by tests and bypas/block realm retrieval.
2024-12-11 16:28:51 +09:00
Dean Herbert
bab9b9c937
Remove no-longer-correct comment 2024-12-11 16:28:50 +09:00
Dean Herbert
de31a48beb
Some Carousel classes can be abstract 2024-12-11 16:28:50 +09:00
Bartłomiej Dach
c4374c7315
Merge branch 'master' into medal-display-fix 2024-12-11 15:52:38 +09:00
Salman Alshamrani
e0aec6f907 Revert unnecessary complexity 2024-12-11 01:03:55 -05:00
Bartłomiej Dach
89e3c551ff
Merge pull request #30860 from frenzibyte/editor-multiple-background-audio-files
Allow choosing different background/audio files for individual difficulties
2024-12-11 14:12:58 +09:00
Bartłomiej Dach
b37a06c0fe
Hide "show playing rooms" toggle when in filter mode it doesn't make sense with 2024-12-11 13:24:54 +09:00
Bartłomiej Dach
3352571f2a
Add ability to filter out currently playing rooms
Addresses https://osu.ppy.sh/community/forums/topics/2013293?n=1.
2024-12-11 13:24:08 +09:00
Bartłomiej Dach
637fe07b31
Rename Room{Status -> Mode}Filter
I need the "status" term free for an upcoming change. And web calls this
parameter "mode" as well:

	642e973f91/app/Models/Multiplayer/Room.php (L184-L199)

so it works in my head.
2024-12-11 12:36:42 +09:00
Salman Alshamrani
e6e79cbd11
Merge branch 'master' into silly-thing 2024-12-10 03:00:53 -05:00
Dean Herbert
bbaa542d4a
Add note about expensive operation 2024-12-10 16:45:26 +09:00
Dean Herbert
3cac583754
Rewrite resource changing code to be more legible (to my eye) 2024-12-10 16:45:26 +09:00
Dean Herbert
48bf2fa001
Merge pull request #30960 from bdach/bookmarks
Implement basic bookmark support in editor
2024-12-09 23:42:04 -08:00
Bartłomiej Dach
7fcfebf4b4
Use Alt-{Left,Right} as default bindings for bookmark navigation 2024-12-10 14:59:19 +09:00
Dean Herbert
d69f5fd4cf
Avoid beatmap lookup per bar in logo visualisation
Just noticed in passing.
2024-12-10 14:45:36 +09:00
Dean Herbert
92dfcae6eb
Adjust bad grammar 2024-12-10 14:35:09 +09:00
Dean Herbert
7ec2d91e14
Merge branch 'master' into editor-multiple-background-audio-files 2024-12-10 14:19:55 +09:00
Bartłomiej Dach
1febed66cf
Fix top score statistics section total score display being terminally broken
Closes https://github.com/ppy/osu/issues/31038.

If you don't realise why this does anything, realise this: the drawable
creation callback runs for every created sprite text in the text flow.
ANd the created sprite texts are split by whitespace. And Russian /
Ukrainian / Polish etc. use spaces as thousands separators.
So on those languages the first encountered part of the score would
duplicate itself to the remaining parts.

I'm actively convinced it was _more difficult_ to produce what was in
place in `master` than to do it properly. Why did `TextColumn` even have
`LocalisableString Text` and `Bindable<string> Current` next to each
other?????
2024-12-09 23:51:57 +09:00
Salman Alshamrani
0c0dcb1e15 Use temporary storage for exported files on iOS 2024-12-09 08:16:37 -05:00
Salman Alshamrani
e9868c6318 Enable exporting beatmaps in iOS 2024-12-09 07:47:28 -05:00
Dan Balasescu
1b8d9370aa
Merge pull request #30973 from frenzibyte/copy-effect-points
Preserve effect point specifications when creating blank difficulties
2024-12-09 16:13:52 +09:00
Salman Alshamrani
2bae93d7ad Add special handling for file import button on iOS 2024-12-09 01:59:18 -05:00
Bartłomiej Dach
459533aba6
Merge branch 'master' into bookmarks 2024-12-07 22:22:04 +09:00
Endrik Tombak
b04f5ab6e4 Fix IPC not working in release 2024-12-07 14:13:14 +02:00
Thomas Müller
0a00f7a7c2 Implement skinnable mod display
Also makes the mod display initialization sequence (start expanded, then
unexpand) controlled by HUDOverlay rather than mod display itself. This
enabled different treatment depending on whether the mod display is
viewed in the skin editor or in the player.

Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-12-07 12:06:33 +09:00
Dean Herbert
b9f1fef250
Update framework 2024-12-07 10:46:03 +09:00
Dean Herbert
e22f3b7d05
Merge branch 'master' into named-pipe 2024-12-07 10:42:55 +09:00
Dean Herbert
5849a69a86
Merge pull request #30921 from huoyaoyuan/netcore-analyzer
Set up-to-date .NET code quality analyzers
2024-12-06 17:29:09 -08:00
Salman Alshamrani
5cb6b86b1c Fix reference effect point getting mutated 2024-12-06 05:47:41 -05:00
Dan Balasescu
8dda5aada8
Populate default LegacyType value on convert hitobjects
Normally not an issue, but some tests create their own hitobjects
deriving from `ConvertHitObject`.
2024-12-06 17:47:14 +09:00
Dan Balasescu
8b456e1379
Always convert mania spinners
A big part of these changes is refactoring, which is somewhat necessary
because it was previously implemented as two separate pathways which
in-fact need to be joined at the hip when handling spinners.

I've chosen to use `IHasLegacyHitObjectType` here because there's no
other flag that allows us to tell `ConvertHold` apart from
`ConvertSpinner`.
2024-12-06 16:40:28 +09:00
Dean Herbert
69014550b5
Remove unnecessary null checks 2024-12-06 12:48:06 +09:00
Dean Herbert
49f4b0e6ef
Update resources 2024-12-05 21:07:13 +09:00
Dean Herbert
84a85000af
Update framework 2024-12-05 21:07:08 +09:00
Dean Herbert
8d0e1f9d18
Merge branch 'master' into improve-menu-sample-playback 2024-12-05 21:07:03 +09:00
Huo Yaoyuan
d92ea910cf Merge branch 'master' into netcore-analyzer 2024-12-05 17:18:56 +08:00
Dean Herbert
3d6e766b32
Merge pull request #30976 from frenzibyte/hide-some-settings
Hide debug settings in release builds
2024-12-05 00:24:26 -08:00
Salman Alshamrani
1b1e7b63e9 Clean up code slightly 2024-12-05 02:48:51 -05:00
Dean Herbert
791416c8f1
Merge pull request #30937 from frenzibyte/fix-quick-restart-not-saving-score
Fix score no longer being saved when quick-restarting after pass
2024-12-04 23:48:18 -08:00
Salman Alshamrani
7c1be5eca2 Remove unnecessary localisations 2024-12-05 02:45:43 -05:00
Salman Alshamrani
7ab16a55e5 Make debug section only visible on debug builds 2024-12-05 02:42:08 -05:00
Salman Alshamrani
f83ec721fb Move latency certifier and import files button outside debug section 2024-12-05 02:42:08 -05:00
Dean Herbert
72aa65206d
Merge pull request #30965 from Susko3/use-GetLocalisedString
Use `LocalisationManager.GetLocalisedString()` instead of bindable hack
2024-12-04 23:34:32 -08:00
Salman Alshamrani
a7586c52d0
Merge branch 'master' into results-screen-quick-retry-transition 2024-12-04 06:31:14 -05:00
Salman Alshamrani
fa87df6c6a Move non-current handling to PerformExit
Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-12-04 04:55:55 -05:00
Salman Alshamrani
8e0f6fc12d Re-encode difficulties on resource change 2024-12-04 04:36:00 -05:00
Salman Alshamrani
60d91bada8 Merge branch 'master' into editor-multiple-background-audio-files 2024-12-04 04:31:15 -05:00
Salman Alshamrani
e3abbf1177 Copy effect points across on blank difficulty creation 2024-12-04 02:32:00 -05:00
Dan Balasescu
ad4df82593
Improve multiplayer listing search by making it fuzzy 2024-12-04 16:26:36 +09:00
Dean Herbert
a4d58648e2
Fix quick retry transition from results screen 2024-12-04 14:31:39 +09:00
Dean Herbert
296fa69edd
Add "buttons" as a search term for key bindings 2024-12-04 14:30:59 +09:00
Susko3
837744b0aa Use LocalisationManager.GetLocalisedString() instead of bindable hack
Made possible by https://github.com/ppy/osu-framework/pull/6377.
2024-12-03 23:29:39 +00:00
Bartłomiej Dach
d60b7f4798
Implement basic bookmark support in editor 2024-12-03 15:14:22 +01:00
Bartłomiej Dach
808934581f
Move bookmarks out of BeatmapInfo
Not sure why I didn't do that in https://github.com/ppy/osu/pull/28473...
2024-12-03 14:17:14 +01:00
Dan Balasescu
f09d8f097a
Merge pull request #30953 from peppy/notification-while-chedcking-for-updates
Show an ongoing operation when checking for updates
2024-12-03 17:27:10 +09:00
Dean Herbert
75781e3436
Update usages of IPC in line with framework changes 2024-12-03 16:34:23 +09:00
Dan Balasescu
be05f2a1c2
Merge pull request #30929 from timschumi/rate-change-ready
Account for rate changing mods when disabling the "Ready" button
2024-12-03 16:30:16 +09:00
Dean Herbert
457957d3b8
Refactor check-update flow to better handle unobserved exceptions 2024-12-03 14:23:10 +09:00
Dean Herbert
2ceb3f6f85
Show an ongoing operation when checking for updates
Addresses https://github.com/ppy/osu/discussions/30950.
2024-12-03 13:43:20 +09:00
Tim Schumacher
e920cfa187 Move rate-changing TODO to a common place in CalculateRateWithMods 2024-12-02 23:49:51 +01:00
Huo Yaoyuan
7ece8ec1dc Update for suggestions 2024-12-03 00:03:59 +08:00
Huo Yaoyuan
68f4fa5a57 Turn off CA1507 2024-12-03 00:00:31 +08:00
Bartłomiej Dach
b505ecc7ba
Do not deselect objects when control-clicking without hitting anything
As per feedback in
https://discord.com/channels/90072389919997952/1259818301517725707/1310270647187935284.
2024-12-02 13:51:43 +01:00
Bartłomiej Dach
6c0ccc5ebe
Merge pull request #30863 from frenzibyte/improve-back-button-display
Delay back button appearance when performing a quick restart
2024-12-02 11:49:45 +01:00
Bartłomiej Dach
52b8753a12
Merge pull request #30749 from Sheppsu/multi-spectator-settings-sidebar
Add player settings to multi spectator screen
2024-12-02 11:34:57 +01:00
Dean Herbert
5b2558cec2
Merge pull request #28473 from bdach/beatmap-info-purge
Move unnecessary properties from `BeatmapInfo` / realm to `IBeatmap`
2024-12-02 16:19:12 +09:00