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

71109 Commits

Author SHA1 Message Date
Dean Herbert
73adc4dfd7
Merge pull request #31364 from bdach/editor-storyboard-display-2
Display storyboard in editor background
2025-01-10 15:09:44 +09:00
Dean Herbert
0509623ef6
Ignore realm List<T> type 2025-01-10 14:50:45 +09:00
Dan Balasescu
38d95abc24
Merge pull request #31462 from bdach/ternary-button-is-bad
Simplify editor "ternary button" structure
2025-01-10 14:24:41 +09:00
Dean Herbert
2133ac6d01
Merge pull request #31453 from bdach/fix-juice-stream-placement-offset
Fix juice stream placement blueprint being initially visually offset
2025-01-10 01:51:24 +09:00
Bartłomiej Dach
5c8ae6f851
Simplify editor "ternary button" structure
As I look into re-implementing the ability to choose combo colour for an
object (also known as "colourhax") from the editor UI, I stumble upon
these wretched ternary items again and sigh a deep sigh of annoyance.

The structure is overly rigid. `TernaryItem` does nothing that
`DrawableTernaryItem` couldn't, except make it more annoying to add
specific sub-variants of `DrawableTernaryItem` that could do more
things.

Yes you could sprinkle more levels of virtuals to
`CreateDrawableButton()` or something, but after all, as Saint Exupéry
says, "perfection is finally attained not when there is no longer
anything to add, but when there is no longer anything to take away."
So I'm leaning for taking one step towards perfection.
2025-01-09 13:41:22 +01:00
Bartłomiej Dach
18f1d62182
Fix juice stream placement blueprint being initially visually offset
- Closes https://github.com/ppy/osu/issues/31423.
- Regressed in https://github.com/ppy/osu/pull/30411.

Admittedly, I don't completely understand all of the pieces here,
because code quality of this placement blueprint code is ALL-CAPS
ATROCIOUS, but I believe the failure mode to be something along the
lines of:

- User activates juice stream tool, blueprint gets created in initial
  state. It reads in a mouse position far outside of the playfield, and
  sets internal positioning appropriately.
- When the user moves the mouse into the bounds of the playfield, some
  positions update (the ones inside `UpdateTimeAndPosition()`, but the
  fruit markers are for *nested* objects, and
  `updateHitObjectFromPath()` is responsible for updating those...
  however, it only fires if the `editablePath.PathId` changes, which it
  won't here, because there is only one path vertex until the user
  commits the starting point of the juice stream and it's always at
  (0,0).
- Therefore the position of the starting fruit marker remains bogus
  until left click, at which point the path changes and everything
  returns to *relative* sanity.

The solution essentially relies on inlining the broken method and only
guarding the relevant part of processing behind the path version check
(which is actually updating the path). Everything else that can touch
positions of nesteds (like default application, and the drawable piece
updates) is allowed to happen unconditionally.
2025-01-09 09:37:57 +01:00
Dan Balasescu
074b743ee6
Merge pull request #31459 from peppy/fix-replay-frame-separation
Fix rate adjustments changing the spacing between replay frames
2025-01-09 17:35:23 +09:00
Dean Herbert
26264d6468
Merge pull request #31438 from Susko3/show-in-windows-association-menus
Show osu!(lazer) in windows "default apps" menus
2025-01-09 14:07:16 +09:00
Dean Herbert
0fe6b4be0d
Add reason for making test interactive-only 2025-01-09 13:33:55 +09:00
Dean Herbert
c8f72fdbe9
Fix rate adjustments changing the spacing between replay frames 2025-01-09 13:30:04 +09:00
Dean Herbert
2a7a3d932e
Add test showing that rate adjustments cause discrepancies in replay frame precision 2025-01-09 13:30:04 +09:00
Dean Herbert
025f3dbd9f
Merge branch 'master' into show-in-windows-association-menus 2025-01-09 12:41:50 +09:00
Dan Balasescu
c72cb016dd
Merge pull request #31452 from bdach/delete-juice-stream-if-path-degenerates
Delete entire juice stream when only one vertex remains after deleting another vertex
2025-01-09 09:18:29 +09:00
Dan Balasescu
520a5e4bfb
Merge pull request #31454 from bdach/select-closest-timing-point-on-every-enter
Select closest timing point every time the timing screen is changed to
2025-01-09 09:04:18 +09:00
Susko3
dc23534a57 Merge branch 'master' into show-in-windows-association-menus and adapt ApplicationCapability 2025-01-08 16:15:22 +00:00
Bartłomiej Dach
bcd35c8899
Merge branch 'master' into editor-storyboard-display-2 2025-01-08 15:46:08 +01:00
Dean Herbert
2e10f83b5c
Merge pull request #31450 from peppy/association-manager-cleanup 2025-01-08 23:38:52 +09:00
Bartłomiej Dach
5a2024777d
Select closest timing point every time the timing screen is changed to
No issue thread for this, was pointed out internally:
https://discord.com/channels/90072389919997952/1259818301517725707/1316604605777444905

Due to the custom setup that editor has with its nested
"screens-that-aren't-screens", the logic that selects the closest
timing point to the current time would only fire on the first open of
the screen. Seems like a good idea to have it fire every time instead.
2025-01-08 14:24:46 +01:00
Dean Herbert
e131a6c39f
Add explicit ToString() to avoid sending LocalisableString to registry function 2025-01-08 20:19:38 +09:00
Bartłomiej Dach
87866d1b96
Enable NRT in test scene 2025-01-08 11:47:28 +01:00
Bartłomiej Dach
9058fd9739
Delete entire juice stream when only one vertex remains after deleting another vertex
Closes https://github.com/ppy/osu/issues/31425.
2025-01-08 11:47:25 +01:00
Bartłomiej Dach
ac19124632
Add failing test 2025-01-08 11:39:48 +01:00
Bartłomiej Dach
e7070bd812
Merge pull request #31448 from bdach/automatic-new-combo-after-break
Force new combo on objects succeeding a break
2025-01-08 11:22:30 +01:00
Bartłomiej Dach
7c70dc4dc3
Only update combo information when any changes happened 2025-01-08 10:28:06 +01:00
Bartłomiej Dach
fbfda2e044
Extend test coverage with combo index correctness checks 2025-01-08 10:28:04 +01:00
Dean Herbert
f216c22806
Merge pull request #31445 from bdach/reset-speed-on-test-play
Reset playback speed to 100% on entering test play
2025-01-08 16:16:28 +09:00
Bartłomiej Dach
d9f0f0d729
Merge branch 'master' into editor-storyboard-display-2 2025-01-08 08:12:55 +01:00
Dean Herbert
b628880214
Change association localisation flow to make logical sense 2025-01-08 15:57:39 +09:00
Dean Herbert
d04947d400
Don't use records they are ugly
Refactor `WindowsAssociationManager` to be usable
2025-01-08 15:54:48 +09:00
Dan Balasescu
22b4f40eb5
Merge pull request #27920 from peppy/upgrade-packages
Upgrade packages
2025-01-08 14:48:35 +09:00
Dean Herbert
d5f2bdf6cd
Appease message pack new inspections 2025-01-08 03:13:29 +09:00
Dean Herbert
6f42b59e31
Upgrade more packages again
This also downgrades nunit to be aligned across all projects. Getting it
up-to-date is a bit high effort.
2025-01-08 03:13:11 +09:00
Dean Herbert
125d652dd8
Update realm xmldoc references 2025-01-08 01:35:56 +09:00
Dean Herbert
18ff25bc6d
Merge branch 'master' into upgrade-packages 2025-01-08 01:23:28 +09:00
Bartłomiej Dach
d0a39a7733
Merge pull request #31442 from peppy/supporter-button-always-warns
Always show dialog when clicking supporter icon before opening browser
2025-01-07 15:14:53 +01:00
Bartłomiej Dach
5431a08b35
Merge pull request #31435 from peppy/star-range-display-quality
Fix star range display looking a bit bad when changing opacity
2025-01-07 14:58:00 +01:00
Bartłomiej Dach
d2918894a0
Merge pull request #31390 from peppy/slider-end-suppress-fix
Fix slider end circles not remaining for long enough when hit animations disabled
2025-01-07 14:49:25 +01:00
Bartłomiej Dach
bda1c3f6e8
Merge pull request #31388 from peppy/fix-reverse-arrow-animation
Remove use of `Loop` (and transforms) for slider repeat arrow animations
2025-01-07 14:43:09 +01:00
Bartłomiej Dach
c93b87583a
Force new combo on objects succeeding a break
No issue thread for this again. Reported internally on discord:
https://discord.com/channels/90072389919997952/1259818301517725707/1320420768814727229

Placing this logic in the beatmap processor, as a post-processing step,
means that the new combo force won't be visible until a placement has
been committed. That can be seen as subpar, but I tried putting this
logic in the placement and it sucked anyway:

- While the combo number was correct, the colour looked off, because it
  would use the same combo colour as the already-placed objects after
  said break, which would only cycle to the next, correct one on
  placement

- Not all scenarios can be handled in the placement. Refer to one of the
  test cases added in the preceding commit, wherein two objects are
  placed far apart from each other, and an automated break is inserted
  between them - the placement has no practical way of knowing whether
  it's going to have a break inserted automatically before it or not.
2025-01-07 14:06:23 +01:00
Bartłomiej Dach
973f606a9e
Add test coverage for expected behaviour 2025-01-07 13:59:26 +01:00
Bartłomiej Dach
98bb723438
Do not expose track directly in EditorClock
Intends to stop people from mutating it directly, and going through
`EditorClock` members like `AudioAdjustments` instead.
2025-01-07 11:40:18 +01:00
Bartłomiej Dach
275e8ce7b7
Remove unused protected field 2025-01-07 11:26:08 +01:00
Bartłomiej Dach
a5036cd092
Re-route editor tempo adjustment via EditorClock and remove it on gameplay test 2025-01-07 11:25:00 +01:00
Bartłomiej Dach
3c03406b45
Add failing test 2025-01-07 11:23:47 +01:00
Dean Herbert
b8a10d9b0e
Mark recommendation test as flaky
Will revisit during song select refactoring no doubt.
2025-01-07 17:58:12 +09:00
Dean Herbert
8d913e8971
Fix multiple animation inconsistencies pointed out in review 2025-01-07 16:54:11 +09:00
Dean Herbert
383fda7431
Fix star range display looking a bit bad when changing opacity 2025-01-07 16:42:06 +09:00
Dean Herbert
a0496c60a4
Refactor StarRatingRangeDisplay test to be more usable 2025-01-07 16:42:06 +09:00
Dean Herbert
1648f2efa3
Ensure slider is not selectable when body is not visible 2025-01-07 16:38:22 +09:00
Bartłomiej Dach
01e9c0f15e
Merge pull request #31418 from peppy/intro-file-integrity
Ensure intro files exist in storage during startup
2025-01-07 08:14:40 +01:00