1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 23:47:24 +08:00
Commit Graph

43339 Commits

Author SHA1 Message Date
Dean Herbert
b6dc483fc1
Add missing change handler to ensure undo/redo works for break removal 2024-07-03 14:23:31 +09:00
Jamie Taylor
d29d114133
Match prior ducking behaviour 2024-07-03 13:52:20 +09:00
Jamie Taylor
b972632e4f
Change default easing to match prior behaviour 2024-07-03 13:50:35 +09:00
Jamie Taylor
153138cdac
Use null to disable audio filter instead 2024-07-03 13:47:59 +09:00
Salman Ahmed
f1012070c4
Merge branch 'master' into mod-select-customisation-panel 2024-07-03 07:36:52 +03:00
Salman Ahmed
cb350470e5
Merge branch 'master' into update-framework-has-flag 2024-07-03 07:06:13 +03:00
Arthur Araujo
7143ff523f Make MarkerChecks and MarkerCheck class private 2024-07-02 21:09:49 -03:00
Arthur Araujo
7cdad20119 Fix explicit array type specification in MarkerChecks 2024-07-02 20:55:52 -03:00
Arthur Araujo
7cb3d7445c Add verify checks for title markers 2024-07-02 17:20:00 -03:00
Dean Herbert
5350945340
Update HasFlag usages 2024-07-03 00:19:04 +09:00
Dean Herbert
9034f6186b
Update framework 2024-07-03 00:15:34 +09:00
Bartłomiej Dach
a7b066f3ee
Include node samples when changing additions and banks 2024-07-02 16:22:15 +02:00
Bartłomiej Dach
9414aec8bf
Add capability to remove breaks via context menu 2024-07-02 14:55:04 +02:00
Bartłomiej Dach
d85c467856
Implement quick exit hotkeys for editor test play 2024-07-02 14:34:36 +02:00
Bartłomiej Dach
e28befb98d
Implement quick pause toggle for editor test play 2024-07-02 14:34:35 +02:00
Bartłomiej Dach
1e4db77925
Implement autoplay toggle for editor test play
Contains some hacks to fix weird behaviours like rewinding to the start
on enabling autoplay, or gameplay cursor hiding.
2024-07-02 14:34:31 +02:00
Salman Ahmed
1d94c96a8e Display customisation header in disabled state when no customisable mod selected 2024-07-02 14:40:16 +03:00
Bartłomiej Dach
d4a8f6c8b0
Do not add extra sample control point after end of IHasRepeats objects 2024-07-02 09:13:07 +02:00
Dan Balasescu
31edca866c
Remove unused code 2024-07-02 12:21:24 +09:00
Dan Balasescu
04da1209f7
Revert "Change breaks list to IReadOnlyList"
This reverts commit 2c3b411bb5.
2024-07-02 12:16:11 +09:00
Dan Balasescu
db84711214
Revert "Move break cloning back to non-virtual method"
This reverts commit f69bc40a4b.
2024-07-02 12:16:10 +09:00
Dean Herbert
f69bc40a4b
Move break cloning back to non-virtual method 2024-07-02 12:07:13 +09:00
Dean Herbert
2c3b411bb5
Change breaks list to IReadOnlyList 2024-07-02 11:59:24 +09:00
Dean Herbert
f694ae416e
Fix typo in xmldoc 2024-07-02 11:47:40 +09:00
Dean Herbert
005af280f2
Isolate bindable breaks list to EditorBeatmap 2024-07-02 11:31:55 +09:00
Dan Balasescu
f942595829
Fix ManiaModInvert permanently messing up the beatmap 2024-07-01 15:02:00 +09:00
Dean Herbert
9aec1de4c2
Merge branch 'master' into daily-challenge/integration 2024-07-01 10:37:33 +09:00
Dean Herbert
8bb51d5a4f
Fix summary timeline not correctly updating after changes to breaks
Closes https://github.com/ppy/osu/issues/28678.

Oops.
2024-06-30 20:32:16 +09:00
Salman Ahmed
a65af8249c Fix first-run setup buttons reset after reopening from dismiss 2024-06-30 07:27:35 +03:00
Salman Ahmed
58c7d1e772 Bind game-wide mods bindable to mod select overlay in new song select screen 2024-06-30 06:50:36 +03:00
Salman Ahmed
e57a0029f1 Remove local footer from ShearedOverlayContainer 2024-06-30 06:50:36 +03:00
Salman Ahmed
5dd822ea38 Migrate first-run setup overlay footer content 2024-06-30 06:50:36 +03:00
Salman Ahmed
48bf3f1385 Migrate mod select overlay footer content 2024-06-30 06:50:36 +03:00
Salman Ahmed
467d7c4f54 Refactor game-wide layout order of footer to fix depth issues with overlays and improve UX
With this new order, the logo can be easily moved to display in front of the footer in `SongSelectV2` without breaking experience when footer-based overlays are present. Such overlays (i.e. mod select overlay) will also be dimmed alongside the current screen when a game-wide overlay is open (e.g. settings).
2024-06-30 06:50:36 +03:00
Salman Ahmed
900d15e777 Add test coverage 2024-06-30 06:50:22 +03:00
Salman Ahmed
56d1255f8a Fix footer button transforms getting interrupted by consecutive method calls 2024-06-30 06:15:54 +03:00
Salman Ahmed
fb77260afc Fix footer buttons receiving input while put away from screen 2024-06-30 04:32:36 +03:00
Salman Ahmed
b8816bfc28 Update colour scheme of footer in line with visible overlay 2024-06-30 04:32:36 +03:00
Salman Ahmed
2319fa11ec Support performing custom overlay-specific action with back button 2024-06-30 04:32:36 +03:00
Salman Ahmed
916d0bfcc2 Temporarily show screen footer if hidden while overlay is present 2024-06-30 04:32:36 +03:00
Salman Ahmed
68b8a4fb2a Use ScreenFooter for displaying footer buttons from overlays 2024-06-30 04:32:36 +03:00
Salman Ahmed
892659de0f Adjust footer design to display well with the rest of the game 2024-06-30 04:32:05 +03:00
Salman Ahmed
c6c75ae48d Merge branch 'master' into footer-v2-side-buttons 2024-06-29 08:19:49 +03:00
Bartłomiej Dach
df97215298
Use room watching functionality to receive realtime daily challenge updates 2024-06-28 13:35:16 +02:00
Bartłomiej Dach
81c6da98c2
Merge pull request #26465 from LeNitrous/fix/editor-test-exit
Fix editor test play not marking hit objects before its start time as judged.
2024-06-28 12:12:17 +02:00
Dean Herbert
4bb8a45d75
Merge pull request #28636 from bdach/daily-challenge/watch-room
Add client/server models for allowing clients to receive realtime playlist updates
2024-06-28 17:51:40 +09:00
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
Salman Ahmed
86b8357b8b Improve UX & input handling when customisation panel is open 2024-06-28 08:53:31 +03: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
Salman Ahmed
167ffac218 Reorder container layout for popovers to recognize clicks on customisation panel
Basically moves `PopoverContainer` to cover both the columns and the customisation panel, so that if the customisation panel is clicked on, the popover container will notice that and hide popovers like the mod preset popover.
2024-06-28 06:35:21 +03: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
Salman Ahmed
a277d9df13 Kill focus from components when clicking on an empty space in the panel 2024-06-25 07:13:36 +03:00
Salman Ahmed
7ddb6cb7e7 Scroll mod setting dropdown into view when open 2024-06-25 06:56:48 +03:00
Salman Ahmed
3f06a0ef9e Block certain operations when customisation panel is open
Normally I would just block keyboard input from going past `ModCustomisationPanel`, but it's a little complicated here since I'm dealing with global action key binding presses, and I also still want actions like `GlobalAction.Back` to get past the customisation panel even if it's expanded.
2024-06-25 06:16:46 +03:00
Salman Ahmed
57ee794398 Add extra margin to avoid 1px artifacts 2024-06-25 06:08:13 +03:00
Salman Ahmed
0a72394c8a Fix customisation panel conflicting with beatmap attributes when collapsed 2024-06-25 06:04:39 +03: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
Salman Ahmed
e23da93c09 Use new display on mod select overlay and remove old display 2024-06-23 08:22:50 +03:00
Salman Ahmed
04efa61156 Add different display for mod customisation 2024-06-23 08:22:13 +03: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
57774ae767
Merge branch 'master' into slider-anchor-type-switching 2024-06-20 19:01:22 +09: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
1b4a3b0e2e
Change editor speed adjustment back to adjusting tempo
- Partially reverts https://github.com/ppy/osu/pull/12080
- Addresses https://github.com/ppy/osu/discussions/27830,
  https://github.com/ppy/osu/discussions/23789,
  https://github.com/ppy/osu/discussions/15368, et al.

The important distinction here is that to prevent misuse when timing,
the control will revert to 1.0x speed and disable when moving to timing
screen, with a tooltip explaining why.
2024-06-18 09:46:00 +02:00
Bartłomiej Dach
2421751419
Fix code quality inspections 2024-06-18 08:33:02 +02:00
Bartłomiej Dach
310265c43f
Add slider placement binding description in tooltip 2024-06-18 08:16:25 +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
Bartłomiej Dach
5652a558f9
Allow to jump to a specific timestamp via bottom bar in editor
Apparently this is a stable feature and is helpful for modding.
2024-06-17 17:07:55 +02:00
Dean Herbert
b535f7c519
Merge pull request #28507 from bdach/editor-opacity
Reduce editor opacity of several editor components when hovering over composer
2024-06-17 22:16:08 +09:00
Dean Herbert
a6f09bc626
Merge pull request #28468 from bdach/daily-challenge/event-feed
Implement event feed view for daily challenge screen
2024-06-17 20:16:48 +09:00
Dean Herbert
d3d325c46c
Record on single line 2024-06-17 19:16:23 +08:00
Bartłomiej Dach
7cfe8d8df2
Reduce editor opacity of several editor components when hovering over composer
Addresses https://github.com/ppy/osu/discussions/24384.
2024-06-17 12:14:28 +02:00
Dean Herbert
cc0ef20afd
Merge pull request #28505 from bdach/move-timeline-toggles-elsewhere
Move timeline toggle controls to "view" menu
2024-06-17 18:59:38 +09:00
Bartłomiej Dach
07f1994a13
Align beat snap control width with right toolbox 2024-06-17 11:47:37 +02:00
Bartłomiej Dach
3884bce239
Remove unused delegate for now
To silence inspections.
2024-06-17 11:09:07 +02:00
Bartłomiej Dach
f7910f774d
Remove redundant type spec 2024-06-17 10:54:52 +02:00
Bartłomiej Dach
03049d45bb
Remove stuff that looks bad after moving timeline toggle controls 2024-06-17 10:23:00 +02:00
Bartłomiej Dach
b42752c9f0
Move timeline toggle controls to "view" menu 2024-06-17 10:16:40 +02:00
Dan Balasescu
f86e9c9a4a
Also annotate ControlPointInfo
Same deal with this class. Fully qualifying the type names because this
has `#nullable disable` and makes use of `NotNull` which is also present
in the `System.Diagnostics.CodeAnalysis` namespace and AAAAAAARGH
NAMESPACE CONFLICTS.
2024-06-17 17:13:44 +09:00
Dan Balasescu
41446a08b6
Annotate ControlPoint and Mod for AOT trimming support 2024-06-17 16:19:33 +09:00
Dean Herbert
15fbad0097
Merge pull request #28480 from bdach/storyboard-pass-fail-show
Implement toggling visibility of pass and fail storyboard layers
2024-06-16 11:08:00 +09:00
Dean Herbert
ff2d721029
Inline enabled setting 2024-06-15 17:34:04 +08:00
Shiumano
6c82f1de9b Set to enable or disable at load time 2024-06-14 21:43:17 +09:00
Bartłomiej Dach
67ca7e4135
Implement toggling visibility of pass and fail storyboard layers
Closes https://github.com/ppy/osu/issues/6842.

This is a rather barebones implementation, just to get this in place
somehow at least. The logic is simple - 50% health or above shows pass
layer, anything below shows fail layer.

This does not match stable logic all across the board because I have
no idea how to package that. Stable defines "passing" in like fifty
ways:

- in mania it's >80% HP
  (bb57924c15/osu!/GameModes/Play/Rulesets/Mania/RulesetMania.cs#L333-L336)
- in taiko it's >80% *accuracy*
  (bb57924c15/osu!/GameModes/Play/Rulesets/Taiko/RulesetTaiko.cs#L486-L492)
- there's also the part where "geki additions" will unconditionally set
  passing state
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3561-L3564)
- and also the part where at the end of the map, the final passing state
  is determined by checking whether the user passed more sections than
  failed
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3320)

The biggest issues of these are probably the first two, and they can
*probably* be fixed, but would require a new member on `Ruleset` and I'm
not sure how to make one look, so I'm not doing that at this time
pending collection of ideas on how to do that.
2024-06-14 13:59:02 +02:00
Bartłomiej Dach
bdeea37a44
Commit active placement when starting drag selection via timeline
This was reported in https://github.com/ppy/osu/pull/28474, albeit the
code changes proposed there did not fix the issue at all.

See 8b6385f7d0 for demonstration of the
crash scenario. Basically what is happening there is:

- The starting premise is that there is a spinner placement active.
- At this time, a drag selection is started via the timeline.
- Once the drag selection finds at least one suitable object to select,
  it mutates `SelectedItems`.
- When selection changes for any reason, the `HitObjectComposer`
  decides to switch to the "select" tool, regardless of why
  the selection changed.
- Changing the active tool causes the current placement - if any -
  to be committed, which mutates the beatmap.
- Back at the drag box selection code, this causes a "collection
  modified when enumerating" exception.

The proposed fix here is to eagerly commit active placement - if any -
when drag selection is initiated via the timeline, which avoids this
issue. This also appears to vaguely match stable behaviour and is sort
of consistent with the logic of committing any outstanding changes upon
switching to the selection tool.
2024-06-14 09:32:40 +02:00
Joppe27
47f89b8969 Clamp X value to avoid excessive balance shift 2024-06-13 18:06:19 +02:00
Bartłomiej Dach
8c4aa84037
Implement event feed view for daily challenge screen 2024-06-13 09:05:45 +02:00
Dan Balasescu
91f2cf8cc3
Use more descriptive HitObject names for debugger displays 2024-06-13 15:18:39 +09:00
Bartłomiej Dach
ae6dd9d053
Use extracted headings on daily challenge screen 2024-06-12 11:44:19 +02:00
Bartłomiej Dach
51c598627a
Move out section header component from editor
This sort of thing has been showing up on flyte designs more and more
so I want to start using it more over that rather ugly "overlined" text
that's there on multiplayer screens right now.
2024-06-12 11:43:40 +02:00
Bartłomiej Dach
2be6b29f21
Implement time remaining display for daily challenge screen 2024-06-12 11:43:24 +02:00
Bartłomiej Dach
6fb0cabf36
Add start date to Room 2024-06-12 11:43:18 +02:00
Dean Herbert
94b7148a9e
Merge pull request #28440 from bdach/daily-challenge/new-screen
Add minimal viable new screen for daily challenge feature
2024-06-12 17:49:02 +09:00
Bartłomiej Dach
5e002fbf9b
Fix user mod select button being inserted in incorrect place 2024-06-12 08:59:50 +02:00
Dean Herbert
90481223dd
Merge pull request #28445 from bdach/mania-key-count-change-force-reload
Attempt full editor reload on key count change
2024-06-12 14:42:59 +09:00
Dan Balasescu
39b219bacc
Merge pull request #28441 from bdach/fix-editor-stacking-not-applying-immediately
Fix stack leniency not applying immediately after change
2024-06-12 12:24:28 +09:00
OliBomby
869cd40195 Fixed samples without additions contributing to common addition bank while not having an editable addition bank 2024-06-11 21:31:18 +02:00
OliBomby
12dd60736a remove code already covered by updatePrimaryBankState 2024-06-11 21:20:42 +02:00
Bartłomiej Dach
922837dd3a
Reload scrolling composer on control point changes 2024-06-11 12:01:35 +02:00
Bartłomiej Dach
da53a11d3c
Attempt full editor reload on key count change 2024-06-11 11:31:49 +02:00
Bartłomiej Dach
3afe98612c
Add RestoreState() to IEditorChangeHandler 2024-06-11 11:31:30 +02:00
Bartłomiej Dach
10af642342
Split mania difficulty section implementation off completely from base
- "Circle size" / key count needs completely different handling.
- Approach rate does not exist in mania.
2024-06-11 11:30:20 +02:00
Dean Herbert
c640fbbaf0
Merge branch 'master' into daily-challenge/new-screen 2024-06-11 18:24:31 +09:00
ColdVolcano
4048a4bdfb fix accuracy counter separating whole and fraction parts with wireframes off 2024-06-11 02:20:14 -06:00
Bartłomiej Dach
694cfd0e25
Expose singular coarse-grained change event on ControlPointInfo 2024-06-11 09:16:45 +02:00
Bartłomiej Dach
b8e0704554
Implement singular change events for ControlPoint 2024-06-11 09:15:45 +02:00
Bartłomiej Dach
25b2dfa601
Fix stack leniency not applying immediately after change 2024-06-10 14:34:22 +02:00
Bartłomiej Dach
073ddcebe4
Hide daily challenge from playlists listing 2024-06-10 13:12:21 +02:00
Bartłomiej Dach
e6da17d248
Add minimal viable variant of new daily challenge screen 2024-06-10 13:09:12 +02:00
Bartłomiej Dach
ffd788c65c
Use room mod select overlay rely on explicit binding rather than DI resolution 2024-06-10 12:45:51 +02:00
Bartłomiej Dach
dd6e9308b3
Extract user mod select button for reuse 2024-06-10 12:45:27 +02:00
Bartłomiej Dach
f135a9a923
Make SelectedItem externally mutable
Not being able to externally mutate this was making reuse in new daily
challenge screen unnecessarily arduous.
2024-06-10 12:44:38 +02:00
Bartłomiej Dach
d80f09e0c0
Adjust online play header to be reusable for new daily challenge screen 2024-06-10 12:43:58 +02:00
Bartłomiej Dach
19f39ca1b6
Extract OnlinePlayScreenWaveContainer from OnlinePlayScreen 2024-06-10 12:42:37 +02:00
Bartłomiej Dach
7d5dc750e5
Use slightly lighter shade of pink for alternative colour 2024-06-10 12:04:52 +02:00
Bartłomiej Dach
0efa028e0a
Restructure popover updates to be more centralised 2024-06-10 11:55:51 +02:00
Bartłomiej Dach
acf4dbb62c
Merge branch 'master' into mutually-exclusive-save-related-actions 2024-06-10 10:30:35 +02:00
Bartłomiej Dach
1d6b7e9c9b
Refactor further to address code quality complaints 2024-06-10 10:30:30 +02:00
Salman Ahmed
6201220994
Merge branch 'master' into footer-v2-become-global 2024-06-08 14:13:05 +03:00
Dean Herbert
daf85c320a
Merge pull request #22237 from mk56-spn/LeaderBoardScore_clean
New leaderboard score card design implementation
2024-06-08 20:06:17 +09:00
Dean Herbert
7fc6ad5340
Merge pull request #28184 from frenzibyte/footer-v2-transitions
Add basic animation to new footer and buttons
2024-06-08 19:43:23 +09:00
Salman Ahmed
5f8f6caedd Use OsuGame.SHEAR 2024-06-07 22:45:22 +03:00
Salman Ahmed
6f729be573 Merge branch 'master' into LeaderBoardScore_clean 2024-06-07 22:42:49 +03:00
Salman Ahmed
f59d94bba4 Move transitions inside ScreenFooterButton and re-use Content from base implementation instead
The point is to apply the transitions against a container that's inside of `ScreenFooterButton`, because the `ScreenFooterButton` drawable's position is being controlled by the flow container it's contained within, and we cannot apply the transitions on it directly.
2024-06-07 22:07:39 +03:00
Dean Herbert
9c6e707f00
Adjust transitions 2024-06-07 17:04:16 +08:00
Dean Herbert
366ef64a2c
Apply NRT to UpdateableRank 2024-06-07 16:54:12 +08:00
Bartłomiej Dach
72890bb9ac
Add stable-like animation legacy rank display
Just substituting the sprite felt pretty terrible.
2024-06-07 09:56:10 +02:00
Bartłomiej Dach
4cd1ccc4d4
Merge branch 'master' into add-rank-display 2024-06-07 09:33:03 +02:00
Bartłomiej Dach
e13e9abda9
Disallow running save-related operations concurrently
Closes https://github.com/ppy/osu/issues/25426.

Different approach to prior ones, this just disables the relevant
actions when something related to save/export is going on. Still ends up
being convoluted because many things you wouldn't expect to touch save
do touch save, so it's not just a concern between export and save
specifically.
2024-06-07 08:13:51 +02:00
Dean Herbert
7cbe93efc3
Refactor latest changes to avoid unnecessary call when mods not present 2024-06-07 10:37:27 +08:00
Xesquim
6e3bea938e Instancing a Ruleset only when it's necessary to 2024-06-06 13:26:52 -03:00
Dean Herbert
dd3f4bcdab
Fix code quality and null handling 2024-06-07 00:01:50 +08:00
Xesquim
860afb8123 Creating method in ModUtils to calculate the rate for the song 2024-06-06 10:06:07 -03:00
OliBomby
e873698221 Add some in-depth xmldoc to GetSamples 2024-06-06 14:57:25 +02:00
OliBomby
fcc8671cbd undo useless change 2024-06-06 14:50:24 +02:00
OliBomby
71ce400359 Fix wasteful recreating of container 2024-06-06 14:48:17 +02:00
Bartłomiej Dach
7a8a37dae6
Use established constants 2024-06-06 13:42:31 +02:00
Bartłomiej Dach
86b13074a0
Merge branch 'master' into edit-nodesample 2024-06-06 13:42:25 +02:00
OliBomby
4f8c167cf9 clean up to match logic in CircularDistanceSnapGrid 2024-06-05 18:56:18 +02:00
Xesquim
7dd18a84f6 Fixing the GetTotalDuration in PlaylistExtesions 2024-06-05 12:25:33 -03:00
OliBomby
d8994786f6 Merge remote-tracking branch 'upstream/master' into grids-2 2024-06-05 17:18:48 +02:00
Dean Herbert
212be6b9a7
Merge branch 'master' into grids-1 2024-06-05 15:20:04 +09:00
Bartłomiej Dach
ecfcf7a2c0
Add xmldoc mention about performance overhead of PerformOnSelection() 2024-06-04 10:36:30 +02:00
Bartłomiej Dach
f13ca28d5e
Fix performance overhead from ternary state bindable callbacks when selection is changing
Closes https://github.com/ppy/osu/issues/28369.

The reporter of the issue was incorrect; it's not the beat snap grid
that is causing the problem, it's something far stupider than that.

When the current selection changes,
`EditorSelectionHandler.UpdateTernaryStates()` is supposed to update the
state of ternary bindables to reflect the reality of the current
selection. This in turn will fire bindable change callbacks for said
ternary toggles, which heavily use `EditorBeatmap.PerformOnSelection()`.

The thing about that method is that it will attempt to check whether any
changes were actually made to avoid producing empty undo states, *but*
to do this, it must *serialise out the entire beatmap to a stream* and
then *binary equality check that* to determine whether any changes were
actually made:

	7b14c77e43/osu.Game/Screens/Edit/EditorChangeHandler.cs (L65-L69)

As goes without saying, this is very expensive and unnecessary, which
leads to stuff like keeping a selection box active while a taiko beatmap
is playing under it dog slow. So to attempt to mitigate that, add
precondition checks to every single ternary callback of this sort to
avoid this serialisation overhead.

And yes, those precondition checks use linq, and that is *still* faster
than not having them.
2024-06-04 10:32:12 +02:00
Bartłomiej Dach
4fcb902341
Merge branch 'master' into grids-1 2024-06-03 12:33:51 +02:00
Dean Herbert
96514132c1
Fix occasional test failures on new menu content tests
Scheduled data transfer could still overwrite test data.
2024-06-03 12:24:56 +09:00
Dean Herbert
091104764e
Fix AssemblyRulesetStore not marking rulesets as available 2024-06-02 17:33:06 +09:00
Dan Balasescu
e3205fce47
Fix unable to drag-scroll on collections right-click menu 2024-06-01 14:29:23 +09:00
Dean Herbert
4162d0babe
Merge pull request #28297 from Hecatia-Lapislazuli/near-straight-slider-crash-fix
Fix for nearly straight sliders causing a crash
2024-05-31 20:00:47 +09:00
Bartłomiej Dach
69990c35cb
Add commentary on presence of IsPresent override 2024-05-31 08:47:19 +02:00
Dean Herbert
c6a7082034
Fix incorrect prefix check 2024-05-31 15:38:26 +09:00
Aurelian
9111da81d2 Updated comments 2024-05-31 08:20:19 +02:00
Bartłomiej Dach
1a26a5dbda
Fix mismatching localisation key prefix
The `Strings` suffix is not supposed to be in here, judging by other
localisation classes.
2024-05-31 08:09:25 +02:00
Bartłomiej Dach
cb72630ce1
Fix compile failures 2024-05-31 08:09:06 +02:00
Dean Herbert
5dfeaa3c4a
Move dialog strings to more common class name 2024-05-31 11:46:32 +09:00
Dean Herbert
e52f524ea2
Use common header text 2024-05-31 11:44:53 +09:00
Dean Herbert
474ff5b99d
Use question mark for more grammatical correctness
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2024-05-31 10:46:30 +09:00
Dean Herbert
53b7c29488
Add test coverage of menu banner link opening 2024-05-31 03:15:26 +09:00
Dean Herbert
ed64bfff8d
Bypass external link dialog for links on the trusted osu! domain 2024-05-31 02:44:51 +09:00
Dean Herbert
87a331fdde
Improve text on external link warning dialog 2024-05-31 02:44:45 +09:00
Dan Balasescu
3c2599c50f
Merge pull request #27977 from DavidBeh/magnetised-judgements
Make judgements follow hitcircles and enable them in magnetised, repel and depth
2024-05-30 19:21:20 +09:00
Dan Balasescu
981b69de2f
Merge pull request #28357 from peppy/dont-fail-acks
Avoid `ChatAckRequest` failures flooding console in `OsuGameTestScene`s
2024-05-30 18:15:25 +09:00
Dean Herbert
f3bc944ac8
Remove using statement 2024-05-30 17:45:32 +09:00
Bartłomiej Dach
50bd0897f6
Fix main menu button backgrounds not covering their entire width sometimes
I thought I had fixed this already once but it still looks broken.
Basically when hovering over main menu buttons every now and then it
will look like their backgrounds are not covering their entire width
when they expand.

The removed X position set looks wrong to me when inspecting the draw
visualiser with the element because the element looks to be off centre
horizontally, and removing it fixes that.
2024-05-30 10:38:22 +02:00
Dean Herbert
36d7775032
Fix typo in IAPIProvider xmldoc 2024-05-30 17:38:05 +09:00
Dean Herbert
2f2bc8e52e
Avoid ChatAckRequest failures flooding console in OsuGameTestScenes 2024-05-30 17:37:55 +09:00
Dean Herbert
fdb47f8dfa
Fix incorrect handling of nested objects when inside parent object's duration 2024-05-29 23:30:47 +09:00
Dean Herbert
126837fadd
Apply results rather than fake a replay frame 2024-05-29 23:28:37 +09:00
Dean Herbert
3b5b7b2f88
Fix the majority of cases where gameplay stil doesn't end due to judgement count mismatch 2024-05-29 22:57:17 +09:00
Dean Herbert
d2c86b0813
Avoid passing beatmap in from editor when it's already present 2024-05-29 21:32:55 +09:00
Bartłomiej Dach
ab01fa6d45
Add xmldoc to APIAccess.APIVersion 2024-05-29 14:10:07 +02:00
Bartłomiej Dach
cc13655617
Derive API response version from game version
(Or local date, in the case of non-deployed builds).

Came up when I was looking at https://github.com/ppy/osu-web/pull/11240
and found that we were still hardcoding this.

Thankfully, this *should not* cause issues, since there don't seem to be
any (documented or undocumented) API response version checks for
versions newer than 20220705 in osu-web master.

For clarity and possible debugging needs, the API response version is
also logged.
2024-05-29 14:10:01 +02:00
Dean Herbert
16e2fa2c6a
Merge branch 'master' into fix/editor-test-exit 2024-05-29 21:08:36 +09:00
Bartłomiej Dach
a6c776dac8
Use hopefully safer implementation of anchoring judgements to objects 2024-05-29 11:11:43 +02:00
Bartłomiej Dach
7b7e439d03
Merge branch 'master' into scale-tool 2024-05-29 10:15:48 +02:00
Bartłomiej Dach
9477e3b67d
Change editor scale hotkey to Ctrl-E
Forgot that Ctrl-T was taken by the game-global toolbar already, so it
wasn't working.
2024-05-29 10:14:47 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming 2024-05-29 09:40:29 +02:00
Aurelian
542809a748 Reduced subpoints limit to be a more practical value 2024-05-29 09:39:46 +02:00
Dan Balasescu
655b0f5343
Merge branch 'master' into negative-frame-handling 2024-05-29 13:14:59 +09:00
OliBomby
d143a697d2 refactor CanScaleFromPlayfieldOrigin and GetClampedScale to derived class 2024-05-28 17:12:16 +02:00
OliBomby
8eb23f8a60 remove redundant CanScaleFromSelectionOrigin 2024-05-28 16:19:57 +02:00
OliBomby
a89ba33b47 rename CanScaleSelectionOrigin/PlayfieldOrigin to make clear its not the origin being scaled 2024-05-28 16:14:16 +02:00
OliBomby
36453f6215 Change scale hotkey to Ctrl+T 2024-05-28 15:56:59 +02:00
Dean Herbert
c2e7cdfdcc
Update framework 2024-05-28 21:29:29 +09:00
Dean Herbert
8c4931eeec
Merge branch 'master' into footer-v2-transitions 2024-05-28 18:49:39 +09:00
Dean Herbert
4408039b3e
Merge branch 'master' into footer-v2-back-button 2024-05-28 15:50:34 +09:00
Dan Balasescu
e2b4e25ffa
Merge pull request #28277 from bdach/total-score-without-mods-once-more
Compute total score without mods during standardised score conversion
2024-05-28 07:49:27 +09:00
Aurelian
6c4def1c09 Added check for infinite subpoints for PerfectCurve 2024-05-27 20:32:18 +02:00
Bartłomiej Dach
daee363743
Merge branch 'master' into total-score-without-mods-once-more 2024-05-27 15:16:58 +02:00
Bartłomiej Dach
405c72c0d6
Fix mod display not being aligned with mapper text 2024-05-27 13:36:44 +02:00
Dean Herbert
aad0982e26
Adjust size of play button / progress to match BeatmapCardThumbnail usage 2024-05-27 20:33:24 +09:00
Dean Herbert
75d961e6f2
Pass the same thing in twice for better maybe 2024-05-27 20:30:01 +09:00
Dean Herbert
d976224912
Standardise padding on both sides of difficulty icon 2024-05-27 19:59:25 +09:00
Bartłomiej Dach
1e2cac3e92
Remove unused using directive 2024-05-27 11:44:55 +02:00
Dean Herbert
740a3377fa
Merge branch 'master' into LeaderBoardScore_clean 2024-05-27 17:18:41 +09:00
Dean Herbert
b6471f0b9c
Allow previewing audio of playlist items 2024-05-27 17:09:37 +09:00
Bartłomiej Dach
bdfce4b9da
Fix xmldoc reference 2024-05-27 08:26:00 +02:00
Dean Herbert
11c3d11db9
Fix cinema mod not hiding playfield skin layer 2024-05-27 14:52:28 +09:00
Joseph Madamba
8e14c24ee3 Follow slanted flow logic precedent in test
See `ModSelectOverlay` components.
2024-05-26 00:24:03 -07:00
OliBomby
37530eebcc Enable scale buttons at the correct times 2024-05-25 20:35:06 +02:00
OliBomby
4eeebdf60c calculate max scale bounds for scale slider 2024-05-25 20:17:27 +02:00
OliBomby
88314dc584 select all input text on popup for an easy typing experience 2024-05-25 18:41:31 +02:00
OliBomby
6aa92bcc45 Add simple scale tool 2024-05-25 18:31:19 +02:00
Salman Ahmed
2c18c10ac8 Move to SelectV2 namespace 2024-05-25 17:20:10 +03:00
Salman Ahmed
d395c85418 Adjust right content width based on scoring mode 2024-05-25 17:16:41 +03:00
Salman Ahmed
5955378004 Replace "X mods" text with a pill indicator 2024-05-25 16:11:24 +03:00
Andrei Zavatski
1e90e5e38e Use sb element path as a name 2024-05-25 13:24:25 +03:00
Salman Ahmed
35af518fdb Remove expanded/contracted states and limit to 5 mods
Also adjusts right content width to contain those 5 mods. Not sure how to handle the extra space in the score though...to be dealt with later.
2024-05-25 12:52:48 +03:00