1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 18:07:23 +08:00
Commit Graph

63383 Commits

Author SHA1 Message Date
Bartłomiej Dach
12ef93ac3b
Remove no-longer-valid assertion 2023-10-30 21:31:34 +01:00
Bartłomiej Dach
e5b51f769c
Fix incorrect assertion placement in spinner rotation tracker
Checking the delta after the application of rate is not correct. The
delta is in screen-space *before* the rate from rate-changing mods were
applied; the point of the application of the rate is to compensate for
the fact that the spinner is still judged in "track time" - but the goal
is to keep the spinner's difficulty *independent* of rate, which means
that with DT active the user's spin is "twice as effective" to
compensate for the fact that the spinner is twice as short in real time.

In another formulation, with DT active, the user gets to record replay
frames "half as often" as in normal gameplay.
2023-10-30 21:28:29 +01:00
Bartłomiej Dach
f2c0bc8218
Add failing test case 2023-10-30 21:28:26 +01:00
Dean Herbert
f706fd2fca
Merge pull request #25307 from bdach/slider-velocity-undo
Fix slider velocity changes not being undone correctly
2023-10-31 01:44:18 +09:00
Bartłomiej Dach
30ffb15868
Merge pull request #25304 from peppy/fix-click-through-timeline
Fix right clicks on timeline potentially not working as expected
2023-10-30 15:03:21 +01:00
Bartłomiej Dach
b2d3aa982d
Merge branch 'master' into fix-click-through-timeline 2023-10-30 12:52:00 +01:00
Bartłomiej Dach
cea24298cb
Privatise setters 2023-10-30 12:42:34 +01:00
Bartłomiej Dach
de89b7e53c
Fix slider velocity changes not being undone correctly
Closes https://github.com/ppy/osu/issues/25239.

`LegacyEditorBeatmapPatcher.processHitObjectLocalData()` was already
supposed to be handling changes to hitobjects that will show up neither
when comparing the hitobjects themselves or the timing point with
"legacy" info stripped - so, in other words, changes to slider velocity
and samples.

However, a change to slider velocity requires default application to
take effect, so just resetting the value would visually fix the timeline
marker but not change the actual object. Calling
`EditorBeatmap.Update()` fixes this by way of triggering default
re-application.

This could probably be smarter (by only invoking the update when
strictly necessary, etc.) - but I'm not sure it's worth the hassle. This
is intended to be a quick fix, rather than a complete solution - the
complete solution would indeed likely entail a wholesale restructuring
of the editor's change handling.
2023-10-30 10:59:02 +01:00
Bartłomiej Dach
b3369dbb7b
Add failing test for slider velocity 2023-10-30 10:57:48 +01:00
Bartłomiej Dach
e1ff0d12c6
Update tests to NUnit-style assertions 2023-10-30 10:55:26 +01:00
Bartłomiej Dach
0ed5f274f6
Enable NRT in TestSceneSliderVelocityAdjust 2023-10-30 10:48:31 +01:00
Dean Herbert
fbba3787d1
Merge pull request #25190 from frenzibyte/match-skin-element-animation-support
Match capability of animating legacy skin elements with osu!(stable)
2023-10-30 18:25:06 +09:00
Dean Herbert
8828562512
Merge pull request #25277 from Susko3/fix-cut-in-filter-textbox
Fix cut and copy not working in song select search filter textbox
2023-10-30 18:18:46 +09:00
Bartłomiej Dach
2dc2469507
Merge pull request #25303 from peppy/last-played-import-score-update
Update the last played date of a beatmap when importing a replay by the local user
2023-10-30 10:12:27 +01:00
Dean Herbert
63e6eaf538
Fix failing tests 2023-10-30 18:06:11 +09:00
Dean Herbert
57d88a0ac4
Fix right clicks on timeline objects potentially getting eaten by playfield area
`SelectionHandler` is receiving input from anywhere out of necessity:

19f892687a/osu.Game/Screens/Edit/Compose/Components/SelectionHandler.cs (L119-L125)

Also important is that `BlueprintContainer` will selectively not block
right clicks to make sure they fall through to the
`ContextMenuContainer`:

19f892687a/osu.Game/Screens/Edit/Compose/Components/BlueprintContainer.cs (L122-L126)

But because the whole editor is sharing a `ContextMenuContainer` and
it's at a higher level than both components, we observe here the
playfield's `SelectionHandler` intercepting the right click before it
can reach the `ContextMenuContainer`.

The fix here is similar to what we're already doing in
`TimelineBlueprintContaienr`.
2023-10-30 18:06:11 +09:00
Dean Herbert
6be02966b9
Add test coverage of failing context menu display 2023-10-30 18:06:11 +09:00
Dean Herbert
66fa09ba66
Merge pull request #25287 from frenzibyte/fix-user-profile-support-banners
Update user profile overlay to show more than one tournament banner
2023-10-30 17:32:20 +09:00
Bartłomiej Dach
a000c06900
Merge branch 'master' into last-played-import-score-update 2023-10-30 09:29:07 +01:00
Bartłomiej Dach
0dfb41b796
Add test coverage for not updating LastPlayed due to newer plays 2023-10-30 09:28:37 +01:00
Bartłomiej Dach
19d10e5e45
Merge pull request #25300 from peppy/better-submission-logging
Improve log output surrounding score submission
2023-10-30 09:04:06 +01:00
Bartłomiej Dach
46d1eca0c7
Merge pull request #25301 from peppy/inspections-bash
Fix some new nullable inspections
2023-10-30 08:42:34 +01:00
Dean Herbert
c1c8e2968f
Move operation to after user population 2023-10-30 15:46:09 +09:00
Dean Herbert
96dd7b3333
Update the last played date of a beatmap when importing a replay by the local user 2023-10-30 15:44:16 +09:00
Dean Herbert
a91b704d21
Fix some new nullable inspections 2023-10-30 15:10:10 +09:00
Dean Herbert
a8c3f59845
Clean up type display for web requests in logs 2023-10-30 15:07:35 +09:00
Dean Herbert
d90f29a5ff
Improve log output surrounding score submission 2023-10-30 15:07:26 +09:00
Salman Ahmed
2b24167c47
Merge branch 'master' into fix-user-profile-support-banners 2023-10-30 06:20:59 +03:00
Salman Ahmed
984c30ded6 Load each tournament banner as soon as it is loaded 2023-10-30 06:20:15 +03:00
Salman Ahmed
af10dbb76c Add test case with many tournament banners 2023-10-30 06:20:01 +03:00
Dean Herbert
5ab20f5db7
Merge pull request #25294 from Frederisk/patch-1 2023-10-30 01:01:33 +09:00
Rowe Wilson Frederisk Holme
204ebfade7
Small update to README of Templates 2023-10-29 21:25:15 +08:00
Salman Ahmed
922ad80cfc Update user profile overlay to show more than one tournament banner 2023-10-29 01:50:07 +03:00
Salman Ahmed
ec9ae12bbd Update API response model to accept array of tournament banners 2023-10-29 01:43:49 +03:00
Dean Herbert
bb2da97096
Merge pull request #25279 from frenzibyte/tournament-date-text-box-invariant-culture
Change tournament date text box parsing to use invariant culture info
2023-10-29 00:03:00 +09:00
Salman Ahmed
c38c8e933a Change tournament date text box parsing to use invariant culture info 2023-10-28 16:52:34 +03:00
Susko3
366e41f111 Use local workaround instead of disabling clipboard entirely 2023-10-28 12:23:23 +02:00
Susko3
cfc0520481 Add failing test 2023-10-28 12:13:13 +02:00
Salman Ahmed
c5ff708c6f
Merge pull request #25267 from bdach/legacy-font-fixed-width
Fix legacy sprite texts not matching stable with respect to fixed width
2023-10-28 07:32:15 +03:00
Salman Ahmed
6526955b09
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 04:46:30 +03:00
Salman Ahmed
4bdd7b2fb8
Merge pull request #25269 from bdach/multiple-skips
Exclude video events from being accounted for when calculating storyboard time bounds
2023-10-28 04:16:36 +03:00
Salman Ahmed
bac306879a Minor reword on documentation 2023-10-28 03:18:13 +03:00
Salman Ahmed
dca5716709
Merge branch 'master' into legacy-font-fixed-width 2023-10-28 02:45:23 +03:00
Bartłomiej Dach
9ce2c1f49c
Exclude video events from being accounted for when calculating storyboard time bounds
Closes https://github.com/ppy/osu/issues/25263.

In some circumstances, stable allows skipping twice if a particularly
long storyboarded intro is being displayed:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameModes/Play/Player.cs#L1728-L1736

`AllowDoubleSkip` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1761-L1770

and `leadInTime` is calculated thus:

    3ea48705eb/osu!/GameModes/Play/Player.cs#L1342-L1351

The key to watch out for here is `{first,last}EventTime`. `EventManager`
will calculate it on-the-fly as it adds storyboard elements:

    3ea48705eb/osu!/GameplayElements/Events/EventManager.cs#L253-L256

However, this pathway is only used for sprite, animation, sample,
and break events. Video and background events use the following pathway:

    https://github.com/peppy/osu-stable-reference/blob/master/osu!/GameplayElements/Events/EventManager.cs#L368

Note that this particular overload does not mutate either bound.
Which means that for the purposes of determining where a storyboard
starts and ends temporally, a video event's start time is essentially
ignored.

To reflect that, add a clause that excludes video events from
calculations of `{Earliest,Latest}EventTime`.
2023-10-27 22:24:17 +02:00
Bartłomiej Dach
2f9b50172e
Add failing test coverage for video events affecting storyboard time bounds 2023-10-27 22:09:33 +02:00
Bartłomiej Dach
99e590c8dd
Fix legacy sprite texts not matching stable with respect to fixed width
stable's `pSpriteText` has a `TextConstantSpacing` flag, that is
selectively enabled for some usages. In particular, these are:

- mania combo counter (not yet implemented)
- taiko combo counter (not yet implemented)
- score counter
- accuracy counter
- scoreboard entries (not yet implemented)

Everything else uses non-fixed-width fonts.

Hilariously, `LegacySpinner` _tried_ to account for this by changing
`Font` to have `fixedWidth: false` specified, only to fail to notice
that `LegacySpriteText` changes `Font` in its BDL, making the property
set do precisely nothing. For this reason, attempting to set `Font`
on a `LegacySpriteText` will now throw.
2023-10-27 20:14:39 +02:00
Bartłomiej Dach
c9cb0561f7
Move maxSizePerGlyph optional ctor param to init-only property
I'm doing this as I'm about to add more similar properties to
`LegacySpriteText` and I don't want to create a twenty-argument
constructor monstrosity.
2023-10-27 19:48:10 +02:00
Bartłomiej Dach
7a5f3b856f
Add visual test coverage for displaying hitcircles with high combo index 2023-10-27 19:43:49 +02:00
Dean Herbert
5a9d4170e8
Merge pull request #24794 from bdach/score-encoding-cleanup
Correctly handle multiple online score ID types
2023-10-28 02:29:56 +09:00
Dean Herbert
4ed30342db
Merge pull request #25264 from bdach/quick-retry-f-rank
Fix quick retry immediately after completion marking score as failed
2023-10-28 02:29:21 +09:00