1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 21:03:08 +08:00
Commit Graph

63437 Commits

Author SHA1 Message Date
Dean Herbert
9c1f4b552e
Rename and invert flags for slider classic behaviours 2023-11-02 17:43:21 +09:00
Bartłomiej Dach
64feea80db
Merge pull request #25334 from peppy/fix-bubble-crash-again
Fix another potential crash in bubbles mod
2023-11-02 09:32:09 +01:00
Bartłomiej Dach
b7ab886848
Merge pull request #25333 from peppy/fix-spinner-performance
Fix all spinner ticks being alive and causing performance degradation
2023-11-02 09:07:44 +01:00
Bartłomiej Dach
ad82ada030
Trim redundant comments 2023-11-02 08:18:37 +01:00
Dean Herbert
48bdeaeff1
Fix another potential crash in bubbles mod
Storing `DrawableHitObject` for later use is not safe – especially
when accessing `HitObject` – as it's a pooled class. In the case here,
it's important to note that `PrepareForUse` can be called a frame or
more later in execution, which made this unsafe.

Closes https://github.com/ppy/osu/issues/24444.
2023-11-02 02:43:51 +09:00
Dean Herbert
c2de03aa44
Fix all spinner ticks being alive and causing performance degradation
Regressed in https://github.com/ppy/osu/pull/25216.

The new logic will ensure at least one tick is ready for judgement.
There shouldn't be a case where more than one is needed in a single
frame.
2023-11-01 18:28:07 +09:00
Dean Herbert
57d8b5ddc9
Merge pull request #25328 from bdach/mod-cleanups-docs
Clean up mod usability flags
2023-11-01 15:48:47 +09:00
Bartłomiej Dach
a90f8dd4f6
Seal a few more multiplayer playability flags of rate-changing mods
Not really changing anything, just tightening things down to curb
possible funny business.
2023-10-31 16:20:33 +01:00
Bartłomiej Dach
955e2ed051
Seal UnknownMod
Not a class for extension.
2023-10-31 16:18:09 +01:00
Bartłomiej Dach
a644c75957
Mark ModScoreV2 as invalid for multiplayer
Doesn't do much for the client; mostly a safety for osu-web's sake,
as without the change it could theoretically fail to validate the mod
properly in multiplayer contexts.
2023-10-31 16:16:59 +01:00
Bartłomiej Dach
456f4ebba2
Seal ModScoreV2
Nobody should ever need to extend it.
2023-10-31 16:16:14 +01:00
Bartłomiej Dach
3a2645efb1
Seal ModAutoplay playability flags
Can't do much more than that due to the unfortunate fact of Cinema
inheriting from Autoplay.
2023-10-31 16:15:10 +01:00
Bartłomiej Dach
7ea298a1b6
Add xmldoc to Mod playability flags 2023-10-31 16:13:44 +01:00
Dean Herbert
95d8ee8e9b
Merge pull request #25323 from bdach/fix-key-binding-test-failures
Fix key binding row fire-and-forgetting writes
2023-10-31 22:13:42 +09:00
Bartłomiej Dach
9f5a280bc2
Fix key binding row fire-and-forgetting writes
Intends to fix test failures as seen in https://github.com/ppy/osu/actions/runs/6692350567/job/18181352642#step:5:129

This is what happens if you carelessly fire and forget.

The working theory (that I'm not sure I have the tools to conclusively
confirm) is that the async write from the key binding changing could
fire _after_ the section is reset.

I briefly considered having the test wait for the change, but given that
the entirety of the surrounding flow is using sync operations, this just
looks like a bug to me. And there's no real sane way to inject async
into that flow due to dependence on `OsuButton.Action`.
2023-10-31 12:25:09 +01:00
Bartłomiej Dach
bc2acc3e93
Merge pull request #25318 from peppy/fix-follow-point-scrathces
Fix potential texture corruption when cropping gameplay textures of weird aspect ratios
2023-10-31 11:02:59 +01:00
Bartłomiej Dach
850866e7f4
Merge pull request #25316 from peppy/metronome-always-play-tick
Decouple metronome tick playback from pendulum movement
2023-10-31 09:37:29 +01:00
Dean Herbert
0d44b5af90
Fix potential texture corruption when cropping gameplay textures of weird aspet ratios
Closes https://github.com/ppy/osu/issues/25273.
2023-10-31 17:36:23 +09:00
Bartłomiej Dach
84fb0c63e5
Merge pull request #23823 from peppy/beat-divisor-select-text-on-click
Select text in beat divisor popover automatically
2023-10-31 09:34:44 +01:00
Bartłomiej Dach
144006fbe8
Update autoselect implementation to work correctly with framework changes 2023-10-31 08:38:22 +01:00
Bartłomiej Dach
8a68333425
Merge branch 'master' into beat-divisor-select-text-on-click 2023-10-31 08:36:53 +01:00
Bartłomiej Dach
af84704076
Merge pull request #25315 from peppy/fix-flaky-tests
Address some flaky tests from recent times
2023-10-31 08:30:19 +01:00
Dean Herbert
64efc3d251
Decouple metronome tick playback from pendulum movement
Not super happy about doing this, but it seems like it's in the best
interest of editor usability.
2023-10-31 15:33:46 +09:00
Dean Herbert
8c067dc584
Fix mod tests not waiting for presets to finish loading
See https://github.com/ppy/osu/actions/runs/6692350567/job/18181352850.
2023-10-31 14:53:07 +09:00
Dean Herbert
7ceced7012
Scope TestPauseWithLargeOffset to focus on what matters
See https://github.com/ppy/osu/actions/runs/6693917410/job/18186111009

This test is to make sure we don't seek before the original
pause time, so I've exposed that value precisely to avoid
CI woes.
2023-10-31 14:47:04 +09:00
Dean Herbert
d379e553da
Fix back-to-front logging 2023-10-31 14:31:26 +09:00
Dean Herbert
bdd3f2847b
Add an extra storyboard sample to avoid intermittent failures in TestStoryboardSamplesStopOnSkip
Probably CI running slow timing balls.

The point of failure is `waitUntilStoryboardSamplesPlay()`
after already testing the important part of the test (that
the samples stop on skip) so let's give it another possible
point to recover.

See https://github.com/ppy/osu/actions/runs/6698399814/job/18201753701.
2023-10-31 14:28:40 +09:00
Dean Herbert
66b84d02cb
Add note about TestGameplayExitFlow failure, and ignore for now
See:
https://github.com/ppy/osu/actions/runs/6695995685/job/18194110641
https://github.com/ppy/osu/actions/runs/6700910613/job/18208272419
2023-10-31 14:27:55 +09:00
Dean Herbert
89444d5544
Fix export test still occasionally failing due to file write in progress
https://github.com/ppy/osu/actions/runs/6701591401/job/18209826074

Basically, `File.Move` may not be an atomic operation.
2023-10-31 14:00:49 +09:00
Dean Herbert
37ec10d4f5
Fix TestSongSelectScrollHandling not waiting for VolumeOverlay to load
See https://github.com/ppy/osu/actions/runs/6701786492/job/18210372721.
2023-10-31 13:49:53 +09:00
Dean Herbert
fa220d34de
Merge pull request #25272 from frenzibyte/use-scale-adjust-for-player-max-dimensions-test-scene
Fix `TestScenePlayerMaxDimensions` texture loading process bottlenecking CI
2023-10-31 13:36:30 +09:00
Dean Herbert
a3dc9a73b1
Revert behaviour changes of MaxDimensions test and ignore instead 2023-10-31 13:36:10 +09:00
Dean Herbert
0ffd5104ef
Merge pull request #25274 from frenzibyte/tournament-display-team-seed
Support displaying team seeds in tournament client
2023-10-31 13:34:13 +09:00
Dean Herbert
bb6555c901
Merge branch 'master' into tournament-display-team-seed 2023-10-31 12:45:21 +09:00
Dean Herbert
feeb95e4c3
Adjust DrawableTeamTitleWithHeader to match new layout 2023-10-31 12:44:43 +09:00
Dean Herbert
87c9df937f
Move team seed to below team name 2023-10-31 12:40:21 +09:00
Dean Herbert
3060cf1438
Merge pull request #25286 from frenzibyte/search-text-box-select-all
Automatically select existing search text when opening settings
2023-10-31 12:14:00 +09:00
Dean Herbert
5a1865ed01
Merge pull request #25311 from bdach/spinner-rotation-tracker-incorrect-assertion 2023-10-31 10:38:12 +09:00
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
Bartłomiej Dach
06508d08fe
Delete outdated test 2023-10-30 20:22:41 +01:00
Bartłomiej Dach
88e10dd051
Update framework 2023-10-30 20:19:52 +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