Bartłomiej Dach
007bd3973a
Merge pull request #28653 from peppy/featured-artist-even-more-visible
...
Update beatmap listing filter overlay to better imply selected filters
2024-06-28 09:50:21 +02:00
Bartłomiej Dach
a3ea36d2b2
Fix formatting
2024-06-28 09:45:45 +02:00
Bartłomiej Dach
7ac5bd4d37
Ensure past drawable objects also get their results populated in editor test play
2024-06-28 09:37:10 +02:00
Bartłomiej Dach
b36e0f0875
Merge branch 'master' into fix/editor-test-exit
2024-06-28 09:17:40 +02:00
Bartłomiej Dach
030bbf2641
Fix vertical overlaps on multiselection filters when they wrap
2024-06-28 09:07:29 +02:00
Dean Herbert
fa1527f446
Update design for selected filters to better imply that they are selected
2024-06-28 15:45:09 +09:00
Dan Balasescu
77b00dac7e
Fix low pass filter sometimes not applied in dialog overlays
2024-06-28 15:20:55 +09:00
Dean Herbert
c1bec7a7c3
Simplify colour logic for beatmap overlay filter rows
2024-06-28 14:55:55 +09:00
Dean Herbert
d370f50cc1
Syncrhronise colours across mod and preset tooltips
2024-06-28 13:16:54 +09:00
Dean Herbert
28d5278935
Show preset description text in tooltip popup
...
As proposed in https://github.com/ppy/osu/discussions/28610 .
2024-06-28 13:16:53 +09:00
Dan Balasescu
3b3f914cd2
Merge branch 'master' into pp_counter_fix
2024-06-28 12:40:56 +09:00
Dean Herbert
fd6b77ea92
Fix distance snap control being removed
2024-06-27 23:59:38 +09:00
Bartłomiej Dach
1b741dada3
Show distance in pixels to previous/next object in osu! hitobject inspector
2024-06-27 14:46:57 +02:00
Bartłomiej Dach
e35744118c
Merge pull request #28638 from OliBomby/beat-divisor
...
Fix editor not loading arbitrary beat divisors
2024-06-27 13:31:44 +02:00
OliBomby
29412bb29b
Fix editor setting arbitrary beat divisor
2024-06-27 12:22:00 +02:00
Bartłomiej Dach
d6e7781be1
Add client/server models for allowing clients to receive realtime playlist updates
2024-06-27 11:32:18 +02:00
Dean Herbert
76a1f19233
Merge pull request #28613 from bdach/control-point-table-is-bad
...
Improve performance of editor tables
2024-06-27 18:22:56 +09:00
Bartłomiej Dach
9e07c8fff7
Update framework again
2024-06-27 10:31:26 +02:00
Bartłomiej Dach
9384cbcdd8
Fix scroll-into-view on control point table not working as it is supposed to
2024-06-27 09:46:35 +02:00
Bartłomiej Dach
a5aedded16
Remove commented code
2024-06-27 09:44:55 +02:00
Dean Herbert
f07a635447
Merge pull request #28630 from peppy/fix-long-note-break-woes
2024-06-27 15:50:25 +09:00
Bartłomiej Dach
b1baa49459
Add note about implicit reliance on sort by start time
2024-06-27 07:56:57 +02:00
Bartłomiej Dach
ef952bcd65
Use GetLastObjectTime()
for safety
...
Due to other circumstances this has no real effect, but may as well.
2024-06-27 07:48:06 +02:00
Dan Balasescu
e6a5131b67
Merge pull request #28632 from frenzibyte/fix-dropdown-enter-key
...
Fix osu! dropdown no longer handling `Enter` key to select items
2024-06-27 14:36:24 +09:00
Dean Herbert
8f9b2106d6
Merge pull request #28620 from normalid-awa/ui/mod-select-color-improvement
...
Optimize Text Color For Mod Multiplier Text
2024-06-27 13:56:12 +09:00
Salman Ahmed
811621325f
Fix osu! dropdown search text box having commits disabled
...
I've also removed inheritance from `SearchTextBox` because it contains
logic that might interfere with the internal implementation of dropdown
search bars (focus logic and stuff).
2024-06-27 07:09:46 +03:00
Dean Herbert
7ef7e5f163
Fix break generation not accounting for concurrent hitobjects correctly
2024-06-27 12:10:26 +09:00
Dean Herbert
ec86cc1333
Merge pull request #28608 from bdach/daily-challenge/carousel
...
Implement carousel container for daily challenge screen
2024-06-27 10:45:23 +09:00
Bartłomiej Dach
847946937e
Fix test failures
2024-06-26 16:56:43 +02:00
Dean Herbert
1998742e42
Update framework
2024-06-26 22:56:43 +09:00
Bartłomiej Dach
fff27e619d
Fix slider tail volume not saving
...
Closes https://github.com/ppy/osu/issues/28587 .
As outlined in the issue thread, the tail volume wasn't saving because
it wasn't actually attached to a hitobject properly, and as such the
`LegacyBeatmapEncoder` logic, which is based on hitobjects, did not
pick them up on save.
To fix that, switch to using `NodeSamples` for objects that are
`IHasRepeats`. That has one added complication in that having it work
properly requires changes to the decode side too. That is because the
intent is to allow the user to change the sample settings for each node
(which are specified via `NodeSamples`), as well as "the rest of the
object", which generally means ticks or auxiliary samples like
`sliderslide` (which are specified by `Samples`).
However, up until now, `Samples` always queried the control point
which was _active at the end time of the slider_. This obviously can't
work anymore when converting `NodeSamples` to legacy control points,
because the last node's sample is _also_ at the end time of the slider.
To bypass that, add extra sample points after each node (just out of
reach of the 5ms leniency), which are supposed to control volume of
ticks and/or slides.
Upon testing, this *sort of* has the intended effect in stable, with
the exception of `sliderslide`, which seems to either respect or _not_
respect the relevant volume spec dependent on... not sure what, and not
sure I want to be debugging that. It might be frame alignment, or it
might be the phase of the moon.
2024-06-26 15:52:16 +02:00
normalid
936a8d800d
Swap the low and high multiplier color
2024-06-26 21:39:14 +08:00
Dean Herbert
2a839b3697
Make action required init
2024-06-26 21:50:34 +09:00
Dean Herbert
fd91210c1c
Remove unnecessary setter on bindable
2024-06-26 21:47:33 +09:00
Dean Herbert
6beae91d53
Ensure carousel panel depth is consistent based on vertical position
...
I thought this was already being handled, but it turns out that changing
sort mode (and potentially other operations) could break the depth of
display of panels due to pooling and what not.
This ensures consistency and also employs @bdach's suggestion of
reversing the depth above and below the current selection for a better
visual effect.
2024-06-26 21:10:29 +09:00
Bartłomiej Dach
9dfd6cf9ef
Remove EditorTable
...
Begone, foul beast.
2024-06-26 10:40:02 +02:00
Bartłomiej Dach
b12db8fbe2
Rewrite IssueTable
to use virtualised list
2024-06-26 10:40:02 +02:00
Bartłomiej Dach
5c2d446767
Rewrite ControlPointTable
to use virtualised list
2024-06-26 10:40:02 +02:00
Dan Balasescu
276d8fe158
Truncate break times for legacy beatmap export
2024-06-26 16:20:56 +09:00
Bartłomiej Dach
006184ed2f
Implement carousel container for daily challenge screen
2024-06-26 08:49:00 +02:00
Dan Balasescu
173c4f430a
Merge pull request #28601 from peppy/adjust-carousel-panel-spacing
...
Adjust beatmap carousel's spacing to remove dead-space
2024-06-26 15:35:52 +09:00
Dan Balasescu
2e03afb2ed
Always log missing official build attribute
2024-06-26 14:49:04 +09:00
Dan Balasescu
0379abd714
Prevent multiple invocations of failure procedure
2024-06-26 13:57:18 +09:00
Dean Herbert
e84daedbea
Reduce length of fade-out when hiding beatmap panels
2024-06-26 12:01:38 +09:00
Dean Herbert
5d4509150b
Adjust beatmap carousel's spacing to remove dead-space
...
As discussed in https://github.com/ppy/osu/discussions/28599 .
I think this feels better overall, and would like to apply the change
before other design changes to the carousel.
2024-06-26 11:56:58 +09:00
Dean Herbert
aadb104851
Merge pull request #28589 from bdach/scale-handling-crash
...
Fix crashes when opening scale/rotation popovers during selection box operations
2024-06-26 00:11:03 +09:00
Dean Herbert
d722be16e3
Add missing base
calls for safety
2024-06-25 23:41:43 +09:00
Dean Herbert
3d22f700a7
Merge pull request #28561 from bdach/daily-challenge/score-breakdown
...
Implement score breakdown display for daily challenge screen
2024-06-25 23:34:47 +09:00
Dean Herbert
0a44022697
Update framework
2024-06-25 23:03:37 +09:00
Bartłomiej Dach
2fda45cad4
Fix crashes when opening scale/rotation popovers during selection box operations
2024-06-25 15:20:59 +02:00
Dean Herbert
6cd1367329
Merge pull request #28580 from bdach/fix-breaks
...
Fix crash when attempting to adjust duration of break that has no preceding/succeeding objects
2024-06-25 20:24:27 +09:00
Dean Herbert
a12f32519d
Merge pull request #28572 from bdach/fix-playlist-duration-death
...
Fix crash on calculating playlist duration when rate-changing mods are present
2024-06-25 20:15:26 +09:00
Bartłomiej Dach
fae6dcfffa
Remove manual breaks at the start/end of beatmap
...
This is the secondary cause of https://github.com/ppy/osu/issues/28577 ,
because you could do the following:
- Have a break autogenerate itself
- Adjust either end of it to make it mark itself as manually-adjusted
- Remove all objects before or after said break
to end up in a state wherein there are no objects before or after a
break.
The direct fix is still correct because it is still technically possible
to end up in a state wherein a break is before or after all objects
(obvious one is manual `.osu` editing), but this behaviour is also
undesirable for the autogeneration logic.
2024-06-25 12:49:17 +02:00
Bartłomiej Dach
03cdfd0660
Fix timeline break piece crashing on drag if there are no objects before start or after end
...
This fixes the direct cause of https://github.com/ppy/osu/issues/28577 .
2024-06-25 12:25:37 +02:00
PercyDan54
2de0852551
Fix transient rank value applied to bindable
2024-06-25 18:06:50 +08:00
Bartłomiej Dach
0d2a47167c
Fix crash on calculating playlist duration when rate-changing mods are present
...
Regressed in https://github.com/ppy/osu/pull/28399 .
To reproduce, enter a playlist that has an item with a rate-changing mod
(rather than create it yourself).
This is happening because `APIRuleset` has `CreateInstance()`
unimplemented:
b4cefe0cc2/osu.Game/Online/API/Requests/Responses/APIBeatmap.cs (L159)
and only triggers when the playlist items in question originate from
web.
This is why it is bad to have interface implementations throw outside of
maybe mock implementations for tests. `CreateInstance()` is a scourge
elsewhere in general, we need way less of it in the codebase (because
while convenient, it's also problematic to implement in online contexts,
and also expensive because reflection).
2024-06-25 11:28:10 +02:00
Dean Herbert
2de42854c3
Fix corner radius looking bad when graph bars are too short
2024-06-25 15:43:52 +09:00
Bartłomiej Dach
66b093b17e
Implement score breakdown display for daily challenge screen
2024-06-24 10:09:10 +02:00
Salman Ahmed
7cbd04db9c
Merge branch 'master' into fix-key-binding-corruption
2024-06-24 05:30:21 +03:00
Dean Herbert
1dc9f10235
Fix scale control key binding breaking previous defaults
...
Oops from ppy/osu#28309 .
2024-06-24 09:46:23 +08:00
Dean Herbert
c58bb62408
Merge branch 'master' into hit-animations
2024-06-23 04:32:47 +09:00
Jamie Taylor
2ffeb1b361
Add fallback behaviour for custom rulesets
2024-06-23 02:20:51 +09:00
Dean Herbert
80907acaa6
Update resources
2024-06-22 22:01:05 +08:00
Jamie Taylor
0d11b2b91c
Replace manual usages of AudioFilter
with new ducking methods
2024-06-22 01:57:14 +09:00
Jamie Taylor
a56751511e
Apply a ducking effect to the currently playing track when switching ruleset
2024-06-22 01:36:30 +09:00
sometimes
89d3f67eb3
fix accuracyProcess typo
2024-06-20 22:06:00 -04:00
Olivier Schipper
74399542d2
Use math instead of hardcoded constant values
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-06-20 17:27:15 +02:00
Bartłomiej Dach
ad2cd0ba8f
Adjust behaviour of hit animations toggle to match user expectations
2024-06-20 13:42:32 +02:00
Dean Herbert
14104e57d4
Merge branch 'master' into timeline-drag-selection-crash
2024-06-20 15:16:10 +09:00
Dean Herbert
0eb533f2fd
Merge pull request #28444 from bdach/scrolling-ruleset-editor-reloads
...
Reload scrolling hitobject composer on control point changes
2024-06-20 15:15:26 +09:00
OliBomby
d5397a2139
fix alpha value in disabled state
2024-06-19 20:59:14 +02:00
Dean Herbert
a718af8af5
Adjust break colours to match closer to stable
2024-06-19 22:02:10 +08:00
Bartłomiej Dach
617c1341d7
Make (Manual)BreakPeriod
a class again
...
CodeFileSanity doesn't like records and it being a record wasn't doing
much anymore anyway.
2024-06-19 14:53:09 +02:00
Dean Herbert
00443403b6
Merge branch 'master' into break-autogeneration
2024-06-19 21:49:17 +09:00
Dean Herbert
32a7885f10
Merge pull request #28523 from bdach/break-display-and-adjustment
...
Display breaks on editor timeline & allow manually adjusting their duration
2024-06-19 21:48:54 +09:00
Dean Herbert
00a866b699
Change colour to match bottom timeline (and adjust tween sligthly)
2024-06-19 20:30:43 +08:00
Bartłomiej Dach
8757e08c2c
Fix test failures due to automatic break generation kicking in
2024-06-19 11:32:08 +02:00
Bartłomiej Dach
2d9c3fbed2
Remove no-longer-necessary null propagation
2024-06-19 11:21:57 +02:00
Bartłomiej Dach
7311a7ffd7
Purge manual breaks if they intersect with an actual hitobject
2024-06-19 10:51:37 +02:00
Bartłomiej Dach
7ed587b783
Fix summary timeline not reloading properly on break addition/removal
2024-06-19 10:26:01 +02:00
Bartłomiej Dach
58701b17f8
Add patcher support for breaks
2024-06-19 10:22:14 +02:00
Bartłomiej Dach
4022a8b06c
Implement automatic break period generation
2024-06-19 10:22:06 +02:00
Bartłomiej Dach
1f692f5fc7
Make BreakPeriod
a struct
2024-06-19 09:01:33 +02:00
Bartłomiej Dach
6a6ccbc09f
Make list of breaks bindable
2024-06-19 07:44:03 +02:00
Bartłomiej Dach
8836b98070
Fix new inspection after framework bump
2024-06-18 18:32:58 +02:00
Bartłomiej Dach
5551bae7ce
Merge branch 'master' into navigate-to-timestamp
2024-06-18 18:32:33 +02:00
Bartłomiej Dach
f764ec24cd
Correct xmldoc
2024-06-18 18:32:24 +02:00
Bartłomiej Dach
7ee29667db
Parse plain numbers as millisecond count when parsing timestamp
2024-06-18 16:48:04 +02:00
Bartłomiej Dach
f88f05717a
Fix bottom timeline break visualisations not updating
2024-06-18 15:54:34 +02:00
Bartłomiej Dach
814f1e552f
Implement ability to manually adjust breaks
2024-06-18 15:51:29 +02:00
Bartłomiej Dach
a9e662a2b6
Add break display to editor timeline
2024-06-18 14:55:59 +02:00
Givikap120
1ddfc8f011
Updated the tests according to new logic
...
and fixed one minor CI code quality thing
2024-06-18 15:48:21 +03:00
Givikap120
ec2b8f3bc3
Changed timed difficulty attributes to be "per-HitObject" instead of "per-DifficultyHitObject"
2024-06-18 15:41:41 +03:00
Bartłomiej Dach
44b9a06639
Allow more lenient parsing of incoming timestamps
2024-06-18 13:13:50 +02:00
Bartłomiej Dach
e1827ac28d
Address review feedback
2024-06-18 13:07:18 +02:00
Bartłomiej Dach
659505f711
Adjust calls to GetContainingInputManager()
2024-06-18 07:41:19 +02:00
Bartłomiej Dach
8a4ae5d23d
Null-propagate all calls to GetContainingFocusManager()
2024-06-18 07:30:46 +02:00
Bartłomiej Dach
7f08008059
Adjust AudioFilter
to framework-side changes
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2024-06-18 07:30:46 +02:00
Bartłomiej Dach
da4160439e
Update framework
2024-06-18 07:26:20 +02:00
Dean Herbert
316125d47a
Merge pull request #23443 from OliBomby/edit-nodesample
...
Make NodeSamples editable
2024-06-18 11:12:02 +09:00