Layendan
f673d16a1f
Fix formatting
2025-01-22 11:42:11 -07:00
Dan Balasescu
11e84f325c
Merge pull request #31616 from bdach/fix-new-combo-button-crash
...
Fix crash from new combo colour selector when there are no combo colours present
2025-01-22 20:48:02 +09:00
Bartłomiej Dach
3da220b8f6
Fix crash from new combo colour selector when there are no combo colours present
...
Closes https://github.com/ppy/osu/issues/31615 .
2025-01-22 11:39:32 +01:00
Dean Herbert
218720bca5
Merge pull request #31588 from minetoblend/feature/paste-snapped
...
Snap to beat divisor when pasting hitobjects in editor
2025-01-22 18:38:12 +09:00
Dan Balasescu
63e6b0e050
Merge pull request #31603 from peppy/input-amendments
...
Tidy up various input handling anomalies
2025-01-22 18:05:06 +09:00
Bartłomiej Dach
2623d8dcac
Merge pull request #31604 from peppy/fix-song-select-right-click-handling
...
Fix song select right click handling
2025-01-22 10:00:03 +01:00
Dean Herbert
4cf4b8c73d
Switch IsImportant
to init
property isntead of virtual
2025-01-22 16:41:26 +09:00
Layendan
2a5a2738e1
Add context menu to open in browser to rooms
2025-01-21 12:45:23 -07:00
Dan Balasescu
8f8246278a
Merge pull request #31527 from bdach/spectator-list-ready
...
Show spectating users during gameplay
2025-01-21 18:54:11 +09:00
Bartłomiej Dach
0265a29000
Move bindings to LoadComplete()
2025-01-21 10:02:16 +01:00
Dean Herbert
6c27e87714
Add back explicit right click handling of carousel absolute scrolling
2025-01-21 17:24:42 +09:00
Dean Herbert
b6e7b43b11
Remove unnecessary input blocking
...
This was already done by `OverlayContainer`.
2025-01-21 16:40:36 +09:00
Dean Herbert
aeca91cde2
Fix main menu osu logo being activated by function keys and escape
2025-01-21 16:40:21 +09:00
Dean Herbert
9a12f48dcc
Fix ComposeBlueprintContainer
handling nudge keys when it can't nudge
2025-01-21 16:40:16 +09:00
Dean Herbert
0a97fb6359
Merge pull request #31586 from minetoblend/feature/metronome-decimals
...
Display up to 2 decimal places for bpm in timing screen metronome
2025-01-21 16:13:10 +09:00
Dean Herbert
a7c9f84a93
Adjust visuals slightly
2025-01-21 15:14:39 +09:00
Dean Herbert
46ff9d1aad
Fix beat snap grid being lines not being corectly centered to time
...
This was pointed out as an issue in the osu!taiko editor, but actually
affects all rulesets. Has now been fixed everywhere.
---
Closes https://github.com/ppy/osu/issues/31548 .
osu!mania could arguable be consdiered "more correct" with the old
display, but I don't think it's a huge deal either way (subjective at
best).
2025-01-21 14:20:56 +09:00
Rudi Herouard
89586d5ab2
Fix settings in replay hiding when dragging a slider
2025-01-20 13:43:45 +01:00
Dean Herbert
c4509bbe12
Merge pull request #31539 from Rudicito/seek-in-replay-scaled-by-replay-speed
...
Seek in replay scaled by replay speed
2025-01-20 15:15:50 +09:00
Marvin Schürz
e386c9e373
Apply snapping when pasting hitobjects
2025-01-20 01:25:22 +01:00
Marvin Schürz
8f33b4cc61
Add comment
2025-01-20 01:14:21 +01:00
Marvin Schürz
3532ce1636
Olibomby insisted on it being like this so i concede
2025-01-20 01:07:13 +01:00
Marvin Schürz
a6ca9ba9fb
Display up to 2 decimal places in MetronomeDisplay
2025-01-20 00:51:43 +01:00
CloneWith
72e1b2954c
Don't highlight friends' scores under beatmap's friend score leaderboard
2025-01-20 00:21:10 +08:00
Bartłomiej Dach
3c4bfc0a01
Merge spectator list classes into one skinnable
2025-01-17 11:23:14 +01:00
Dean Herbert
43b54623d9
Add required padding on either side of panels so selection can remain centered
2025-01-17 18:08:20 +09:00
Dean Herbert
54f9cb7f68
Add overlapping spacing support
2025-01-17 18:07:54 +09:00
Dean Herbert
a1c5fad6d4
Add curvature to new carousel implementation
2025-01-17 18:07:54 +09:00
Dean Herbert
a8456ce9ac
Merge pull request #31513 from smoogipoo/remove-status-from-apiuser
...
Remove `Status` and `Activity` bindables from `APIUser`
2025-01-17 17:36:47 +09:00
Dean Herbert
c8b38f05d5
Add note about the visibility logic because it tripped me up
2025-01-17 17:14:06 +09:00
Dean Herbert
f59762f0cb
Playing
-> PlayingState
2025-01-17 17:11:40 +09:00
Dan Balasescu
88829d5321
Merge pull request #31535 from peppy/beatmap-carousel-v2-right-click-scroll
...
Refactor absolute scrolling at song select
2025-01-17 17:02:14 +09:00
Bartłomiej Dach
7d026761fc
Merge pull request #31533 from peppy/fix-gameplay-offset-adjust-limitations
...
Fix gameplay offset adjustment limits not being enforced
2025-01-17 08:21:24 +01:00
Dan Balasescu
79fff136a9
Merge branch 'master' into beatmap-carousel-v2-right-click-scroll
2025-01-17 16:12:52 +09:00
Dan Balasescu
5425d62186
Merge branch 'master' into remove-status-from-apiuser
2025-01-17 15:42:40 +09:00
Rudi Herouard
5fc277aa7f
Seek in replay scaled by replay speed
2025-01-16 21:53:56 +01:00
Bartłomiej Dach
5c799d733f
Bind to playing state via GameplayState
instead to fix more tests
2025-01-16 15:25:56 +01:00
Bartłomiej Dach
0c54853710
Merge branch 'spectator-list-visuals' into spectator-list-ready
2025-01-16 15:13:04 +01:00
Bartłomiej Dach
81f54507dd
Fix potential index accounting mistake when creating spectator list with spectators already present
...
Noticed by accident, but if the `BindCollectionChanged()` callback fires
immediately in `LoadComplete()` when set up and there are spectators
present already, then `NewStartingIndex` in the related event is -1:
b03f83de36/src/libraries/System.ObjectModel/src/System/Collections/Specialized/NotifyCollectionChangedEventArgs.cs (L84-L92)
which kinda breaks the math introducing off-by-ones and in result causes
11 items to be displayed together rather than 10.
2025-01-16 14:29:41 +01:00
Bartłomiej Dach
e3b780d0fb
Merge branch 'master' into spectator-list-visuals
2025-01-16 14:07:53 +01:00
Dean Herbert
a6057a9f54
Move absolute scroll support local to carousel and allow custom bindings
2025-01-16 20:47:59 +09:00
Dean Herbert
1c2621d88e
Add support to CarouselV2 for right mouse button scrolling
2025-01-16 20:27:38 +09:00
Dean Herbert
56b450c4a6
Remove setting for right-mouse scroll (make it always applicable)
2025-01-16 20:27:38 +09:00
Bartłomiej Dach
6b921fc4e4
Merge pull request #31471 from peppy/beatmap-carousel-v2
...
Add basic framework for carousel displays (aka `BeatmapCarouselV2`)
2025-01-16 12:21:53 +01:00
Dan Balasescu
8400726887
Move bindables to OsuConfigManager & SessionStatics
2025-01-16 19:33:42 +09:00
Dean Herbert
e47244989a
Adjust animations a bit
...
Removed autosize duration stuff because it looks weird when the list is
shown from scratch where users are already fully populated in it.
2025-01-16 19:23:54 +09:00
Dean Herbert
32906aefde
Add gradient on final spectator if more than list capacity are displayed
2025-01-16 19:05:19 +09:00
Dean Herbert
996798d2df
Avoid list width changing when spectator count changes
2025-01-16 19:02:14 +09:00
Dean Herbert
42e5cb58b7
Merge branch 'master' into mobile-fix-mania
2025-01-16 18:08:46 +09:00
Dean Herbert
1d240eb405
Fix gameplay limitations for adjusting offset not actually being applied
2025-01-16 18:05:59 +09:00
Bartłomiej Dach
12b2631e5e
Add a skinnable variant of spectator list & hook it up to online data
2025-01-15 14:29:53 +01:00
Bartłomiej Dach
43fc48a3f3
Add client methods allowing users to be notified of who is watching them
2025-01-15 14:18:01 +01:00
Bartłomiej Dach
582c5180b9
Implement spectator list display
...
- First step for https://github.com/ppy/osu/issues/22087
- Supersedes / closes https://github.com/ppy/osu/pull/22795
Roughly uses design shown in
https://github.com/ppy/osu/pull/22795#issuecomment-1579936284 with some
modifications to better fit everything else, and some customisation
options so it can fit better on other skins.
2025-01-15 14:17:53 +01:00
Dean Herbert
6027947657
Move animation handling to Carousel
implementation to better handle add/removes
...
With the animation logic being external, it was going to make it very
hard to apply the scroll offset when a new panel is added or removed
before the current selection.
There's no real reason for the animations to be local to beatmap
carousel. If there's a usage in the future where the animation is to
change, we can add more customisation to `Carousel` itself.
2025-01-15 17:01:07 +09:00
Bartłomiej Dach
614243fef4
Merge pull request #31506 from peppy/fix-storyboard-break-overhead
...
Fix stutter on intensive storyboards when entering break time with 100% background dim
2025-01-15 08:23:58 +01:00
Dean Herbert
0b764e6372
Fix substring of GetHashCode
potentially failing
2025-01-15 16:18:34 +09:00
Rudi Herouard
57a9911b22
Apply beatmap offset on every beatmap set difficulty if they have the same audio
2025-01-15 04:12:54 +01:00
Dean Herbert
0e20c0e307
Merge pull request #31473 from bdach/colorhax
...
Add combo colour override control to editor
2025-01-14 20:52:15 +09:00
Dean Herbert
e871f02350
Fix inspections that don't show in rider
2025-01-14 20:43:03 +09:00
Dean Herbert
900237c1ed
Add loading overlay and refine filter flow
2025-01-14 20:23:53 +09:00
Dean Herbert
cc8941a94a
Add animation and depth control
2025-01-14 20:12:09 +09:00
Dean Herbert
7e8a80a0e5
Add difficulty, artist and title sort examples
...
Also:
- Adds hinting at grouping and header status of items
- Passes through criteria and prepare for grouping tests.
- Makes `Filters` list `protected` because naming clash with `Filter()`
on `BeatmapCarousel`.
2025-01-14 19:52:48 +09:00
Dean Herbert
d97a3270a5
Split out BeatmapCarousel
classes and drop V2
suffix
2025-01-14 19:18:02 +09:00
Dean Herbert
8d41eda91a
Merge branch 'master' into beatmap-carousel-v2
2025-01-14 19:06:52 +09:00
Bartłomiej Dach
8ffd254719
Adjust initialisation code to start with combo colour picker hidden
2025-01-14 08:54:46 +01:00
Dean Herbert
904a08af26
Update textbox usage in line with framework changes
2025-01-14 16:29:56 +09:00
Dean Herbert
77db355809
Ensure storyboards are still updated even when dim is 100%
...
This avoids piled-up overhead when entering break time. It's not great,
but it is what we need for now to avoid weirdness.
2025-01-14 16:22:10 +09:00
Bartłomiej Dach
fc069e060c
Only show colour on new combo selector button if overridden
...
As proposed in
https://discord.com/channels/188630481301012481/188630652340404224/1327309179911929936 .
2025-01-13 12:38:28 +01:00
Salman Alshamrani
f718696102
Allow landscape orientation on tablet devices in osu!mania
2025-01-12 02:34:36 -05:00
Salman Alshamrani
f121b03a78
Merge branch 'master' into mobile-fix-mania
2025-01-12 02:00:49 -05:00
Dean Herbert
cf55fe16ab
Generic type instead of raw object
?
2025-01-11 01:43:47 +09:00
Dean Herbert
6fbab1bbce
Stop exposing CarouselItem
externally
2025-01-11 01:43:47 +09:00
Dean Herbert
ad04681b28
Add scroll position maintaining
2025-01-11 01:43:47 +09:00
Dean Herbert
288be46b17
Add basic selection support
2025-01-11 01:43:47 +09:00
Dean Herbert
5e9a7532d3
Add basic implementation of new beatmap carousel
2025-01-11 01:43:47 +09:00
Dean Herbert
94ea003d90
Update game ScrollContainer
usage in line with framework changes
...
See https://github.com/ppy/osu-framework/pull/6467 .
2025-01-11 01:42:59 +09:00
Bartłomiej Dach
48196949e0
Add combo colour override control to editor
...
Closes https://github.com/ppy/osu/issues/25608 .
Logic mostly matching stable. All operations are done on `ComboOffset`
which still makes overridden combo colours weirdly relatively dependent
on each other rather than them be an "absolute" choice, but alas...
As per stable, two consecutive new combos can use the same colour only
if they are separated by a break:
52f3f75ed7/osu
!/GameModes/Edit/Modes/EditorModeCompose.cs#L4564-L4571
This control is only available once the user has changed the combo
colours from defaults; additionally, only a single new combo object
must be selected for the colour selector to show up.
2025-01-10 13:40:56 +01:00
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
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
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
bcd35c8899
Merge branch 'master' into editor-storyboard-display-2
2025-01-08 15:46:08 +01: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
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
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
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
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
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
383fda7431
Fix star range display looking a bit bad when changing opacity
2025-01-07 16:42:06 +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
Andrei Zavatski
791ca915e4
Fix allocations in updateSamplePointContractedState
2025-01-07 00:48:58 +03:00
Andrei Zavatski
e8dc09f5bc
Reduce HitSampleInfo constants allocations
2025-01-07 00:36:58 +03:00
Dan Balasescu
448790a76f
Merge pull request #31386 from peppy/fix-applying-offset
...
Fix not being able to apply last play offset after returning to song select
2025-01-06 11:40:12 +09:00
Dean Herbert
37da72d764
Reduce nesting slightly
2025-01-05 00:32:06 +09:00
Salman Alshamrani
21389820c5
Fix player no longer handling non-loaded beatmaps
2025-01-04 02:35:48 -05:00
Dean Herbert
72dfdac2e2
Ensure intro files exist in storage
...
Guards against user interdiction.
See
[https://discord.com/channels/188630481301012481/1097318920991559880/1324765503012601927 ](recent)
but not only case of this occurring.
2025-01-04 15:27:49 +09:00