Bartłomiej Dach
f9cfc7d96c
Fix preview tracks not stopping playback when suspending/exiting daily challenge screen
...
Closes https://github.com/ppy/osu/issues/29083 .
2024-07-26 10:53:12 +02:00
Cameron Brown
17f00ec0a6
Bind the mod select overlay's Beatmap to OsuScreen.Beatmap in constructor
...
Suggested by @bdach!
2024-07-26 18:29:50 +10:00
Cameron Brown
a8851950bc
Update the beatmap of Daily Challenge's mods overlay when beatmap is set - #29094
2024-07-26 18:10:11 +10:00
Bartłomiej Dach
174dc91f4b
Implement component for displaying running totals in daily challenge
...
Total pass count and cumulative total score, to be more precise.
2024-07-26 09:51:39 +02:00
Bartłomiej Dach
e489ae8f72
Merge pull request #29055 from peppy/event-feed-improvements
...
Improve daily challenge event feed
2024-07-26 08:37:47 +02:00
Bartłomiej Dach
09a1fd2cd1
Merge pull request #29057 from frenzibyte/daily-challenge-replay-download-button
...
Fix daily challenge not showing a replay button in results screen
2024-07-26 08:03:17 +02:00
Bartłomiej Dach
c17cabd981
Adjust alpha for rows for better visibility
2024-07-26 07:44:02 +02:00
Salman Ahmed
c558dfdf13
Reset download state when score is changed
2024-07-26 05:11:54 +03:00
Dean Herbert
c90e04092a
Merge pull request #29068 from bdach/results-statistics-toggle-crash
...
Fix crash when toggling extended statistics visibility during results load
2024-07-25 22:49:41 +09:00
Bartłomiej Dach
8dbd4d70ff
Fix crash when toggling extended statistics visibility during results load
...
Closes https://github.com/ppy/osu/issues/29066 .
Initially I fixed this at where the assert is right now:
9790c5a574/osu.Game/Screens/Ranking/ResultsScreen.cs (L333)
but because of the weird way that visible state management is done in
this screen that made it possible for the extended statistics to be
visible *behind* the score panels, without the score panels making way
for it. So this is in a way safer, because it prevents the visibility
state of the extended statistics from changing in the first place if
there is no score selected (yet).
This can be also seen in playlists, at least.
2024-07-25 11:45:17 +02:00
Bartłomiej Dach
8d89557ab8
Fix not being able to send chat reports on daily challenge screen
...
Something something some people cannot be trusted with a textbox.
2024-07-25 11:11:54 +02:00
Salman Ahmed
615f07d54c
Fix results screen fetching more scores twice
2024-07-25 09:16:09 +03:00
Salman Ahmed
9d5fbb8b4f
Fix target score selection abruptly discarded after opening results screen
2024-07-25 09:01:43 +03:00
Dean Herbert
f1dda4ab1e
Fix too many event rows displaying after spending a long time in gameplay/results
2024-07-25 14:31:22 +09:00
Dean Herbert
c90d345ff9
Scroll content forever rather than aggressively fading
2024-07-25 14:31:21 +09:00
Salman Ahmed
dad8e28446
Fix replay download button not added when no score is selected initially
2024-07-25 07:40:17 +03:00
Dean Herbert
aac98ab6b2
Debounce leaderboard refetches to stop excessive operations after returning from gameplay
2024-07-25 12:58:35 +09:00
Dean Herbert
9ec687caab
Avoid reloading the daily challenge leaderboard when already requested
2024-07-25 12:55:45 +09:00
Dean Herbert
4983e5f33e
Merge pull request #29039 from bdach/multiple-selection-sample-popover
...
Make sample popover change properties of all samples in multiple selection
2024-07-24 22:49:20 +09:00
Bartłomiej Dach
1ed7e4b075
Make sample popover change properties of all samples in multiple selection
...
Closes https://github.com/ppy/osu/issues/28916 .
The previous behaviour *may* have been intended, but it was honestly
quite baffling. This seems like a saner variant.
2024-07-24 12:15:12 +02:00
Dean Herbert
6e4625609d
Merge pull request #29036 from bdach/hardcode-positions-for-leaderboard
...
Fill daily challenge top 50 position numbers client-side
2024-07-24 17:49:51 +09:00
Bartłomiej Dach
788b70469d
Exit daily challenge screen when going offline
...
This sort of thing is bound to happen when rewriting screens from
scratch without invoking abstract eldritch entities sometimes. Damned if
you do, damned if you don't...
2024-07-24 09:15:32 +02:00
Bartłomiej Dach
bf4bf4d39e
Fill daily challenge top 50 position numbers client-side
...
Only doing this client-side, because doing this server-side is
expensive:
https://github.com/ppy/osu-web/pull/11354#discussion_r1689224285
2024-07-24 08:57:11 +02:00
Dean Herbert
aded31bd07
Merge pull request #29021 from bdach/editor-breaks-respect-time-preempt
...
Respect pre-empt time when auto-generating breaks
2024-07-24 15:21:12 +09:00
Dean Herbert
aed7ba9508
Change order of application to avoid bias to side with more room to drag
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2024-07-23 20:56:21 +09:00
Bartłomiej Dach
c3062f96ee
Fix autogenerated breaks not invalidating on change to pre-empt time
2024-07-23 13:38:50 +02:00
Bartłomiej Dach
088e8ad0a2
Respect pre-empt time when auto-generating breaks
...
Closes https://github.com/ppy/osu/issues/28703 .
2024-07-23 13:30:13 +02:00
Dean Herbert
cc4ed0ff3f
Use non-screen-space coordinates and add time-based drag ramping for better control
2024-07-23 18:59:22 +09:00
Bartłomiej Dach
38fc6f70f6
Add tolerance when drag-scrolling editor timeline
...
Closes https://github.com/ppy/osu/issues/28983 .
While the direct cause of this is most likely mouse confine in
full-screen, it shouldn't/can't really be disabled just for this,
and I also get this on linux in *windowed* mode.
In checking other apps, adding some tolerance to this sort of
drag-scroll behaviour seems like a sane UX improvement anyways.
2024-07-23 11:10:18 +02:00
Bartłomiej Dach
dd8be62d07
Merge pull request #28849 from frenzibyte/custom-profile-colour
...
Add custom hue support to user profile overlay
2024-07-22 09:41:32 +02:00
Layendan
6a4872faa8
Remove nullable disable
2024-07-21 23:56:47 -07:00
Layendan
6bb562db14
Fix collection popover
2024-07-22 12:22:52 +09:00
Layendan
e4cccb5e31
Fix lint errors
2024-07-22 12:22:52 +09:00
Layendan
a575566638
Add tests
2024-07-22 12:22:51 +09:00
Layendan
c16b7c5c70
Update favorite button
2024-07-22 12:22:51 +09:00
Layendan
3296beb003
Added collection button to result screen
2024-07-22 12:22:50 +09:00
Salman Ahmed
818b60a3d8
Fix pause overlay hiding input from ruleset input manager
...
If a key is pressed while the pause overlay is visible, the ruleset input manager will not see it, therefore if the user resumes while the key is held then releases the key, the ruleset input manager will not receive the key up event.
2024-07-19 18:48:35 +03:00
Salman Ahmed
d7651ef387
Add extensive test cases for correct input handling while paused in osu! & non-osu!
2024-07-19 18:48:35 +03:00
Bartłomiej Dach
27000aa8ed
Merge branch 'master' into editor-blah
2024-07-19 13:42:40 +02:00
Dan Balasescu
ad564f31cb
Merge pull request #28947 from peppy/fix-playlist-item-panel
...
Fix various visuals of playlist beatmap panels
2024-07-19 20:12:40 +09:00
Dean Herbert
c2cc85e6f0
Use purple again for kiai time specifically
2024-07-19 19:59:38 +09:00
Dean Herbert
c4de2bbb60
Ignore "too many ticks" in timeline (triggers in normal cases)
2024-07-19 19:57:47 +09:00
Dean Herbert
5ee645ac8f
Increase opacity of control points slightly
2024-07-19 19:50:21 +09:00
Dean Herbert
d9297438ba
Merge pull request #28900 from smoogipoo/fix-more-tests
...
Fix more test failures
2024-07-19 19:38:52 +09:00
Dean Herbert
f11f01f9b7
Fix various visuals of playlist beatmap panels
...
Supersedes https://github.com/ppy/osu/pull/28907 .
- Fix border being fat
- Fix thumbnail not masking correctly
- Fix background layer not being correctly fit to the panel
- Dim the main background on hover
- Minor tweaks to dimming
2024-07-19 19:26:04 +09:00
Dan Balasescu
5af39aad00
Add beatmap name to log string
...
Makes it easy to compare this line versus the one in
OsuGame.PresentBeatmap(). At the moment it's just GUID which is... not
useful!
2024-07-19 19:02:41 +09:00
Dean Herbert
0f29ed618a
Don't attempt to clear the carousel during realm blocking operation
2024-07-19 17:39:47 +09:00
Dean Herbert
0560214d5b
Fix beatmap carousel performance regression with large databases
2024-07-19 17:39:47 +09:00
Bartłomiej Dach
4dd225fdc8
Fix compose blueprint container not unsubscribing from event
...
Closes https://github.com/ppy/osu/issues/28938 .
This is related to reloading the composer on timing point changes in
scrolling rulesets. The lack of unsubscription from this would cause
blueprints to be created for disposed composers via the
`hitObjectAdded()` flow.
The following line looks as if a sync load should be forced on a newly
created placement blueprint:
da4d37c4ad/osu.Game/Screens/Edit/Compose/Components/ComposeBlueprintContainer.cs (L364)
however, it is not the case if the parent
(`placementBlueprintContainer`) is disposed, which it would be in this
case. Therefore, the blueprint stays `NotLoaded` rather than `Ready`,
therefore it never receives its DI dependencies, therefore it dies on
an `EditorBeatmap` nullref.
2024-07-19 08:32:36 +02:00
Salman Ahmed
a570949459
Fix selection box initialy visible despite no items selected
2024-07-19 03:00:44 +03:00
Salman Ahmed
d61a72b8fb
Explicitly define Hue
rather than implicitly provide it by enum value
2024-07-18 00:26:24 +03:00
Layendan
0bc14ba646
Add favourite button to results screen
2024-07-17 12:45:20 -07:00
Bartłomiej Dach
4c1f902969
Do not allow working beatmap to switch to protected beatmap in song select
...
Principal fix to https://github.com/ppy/osu/issues/28880 .
2024-07-17 11:46:19 +02:00
Bartłomiej Dach
ad2db3f853
Merge pull request #28882 from peppy/update-framework
...
Update framework
2024-07-16 12:28:51 +02:00
Dean Herbert
f1325386f0
Fix summary timeline timing points having x position applied twice
2024-07-16 18:32:54 +09:00
Dean Herbert
4ad7d900c1
Fix incorrect editor screen padding
2024-07-16 18:20:33 +09:00
Dean Herbert
1083e71ce6
Fix potential crash when exiting daily challenge screen
...
Without the schedule this will potentially run after disposal of the
local drawable hierarchy.
Closes https://github.com/ppy/osu/issues/28875 .
2024-07-16 03:02:04 +09:00
Dean Herbert
eb3f480a2a
Merge pull request #28683 from frenzibyte/footer-v2-integration
...
Replace local footer in existing sheared overlays (e.g. mod select & first-run setup) with `ScreenFooter`
2024-07-12 22:45:06 +09:00
Dean Herbert
e8f7213b3b
Move logo depth to a forward passing
2024-07-12 22:01:20 +09:00
Bartłomiej Dach
217b01d303
Apply tooltip to bookmark pieces too
...
Bookmarks don't show on real beatmaps, but they do show in test scenes
(namely `TestSceneEditorSummaryTimeline`).
Also does some more changes to adjust the markers to the latest updates
to other markers.
2024-07-12 11:12:20 +02:00
Dean Herbert
2453e2fd00
Fix nullability issue
2024-07-12 18:11:23 +09:00
Bartłomiej Dach
5e00995948
Merge branch 'master' into tooltips
2024-07-12 11:01:03 +02:00
Bartłomiej Dach
518dc17518
Merge pull request #28788 from bdach/timeline-redesign
...
Redesign editor timelines to address most frequent user complaints
2024-07-12 10:58:59 +02:00
Dean Herbert
4be5d056c5
Reduce opacity of centre marker slightly
2024-07-12 17:23:48 +09:00
Dean Herbert
d2cb07b157
Add a bit more padding between node overlays and hitobjects in timeline
2024-07-12 17:22:36 +09:00
Dean Herbert
2454722601
Add tooltips to summary timeline display
2024-07-12 16:39:41 +09:00
Dean Herbert
275e7aa451
Adjust timeline centre marker visuals and bring in front of ticks
2024-07-12 16:37:03 +09:00
Dean Herbert
ca2fc72959
Adjust timeline centre marker visuals and bring in front of ticks
2024-07-12 16:29:40 +09:00
Dean Herbert
f65ab6736d
Adjust breaks in timeline to be centered with waveform / hitobjects
2024-07-12 15:45:58 +09:00
Dean Herbert
2ad2ae0c16
Add slight offset for timeline BPM display to avoid overlaps
2024-07-12 14:34:01 +09:00
Dean Herbert
9a7a0cdb34
Adjust timeline ticks to add a bit more body back
2024-07-12 14:29:18 +09:00
Dean Herbert
685b19a571
Adjust various visuals of summary timeline in a hope for user acceptance
...
.. with a somewhat appealing design.
2024-07-12 13:57:42 +09:00
Dean Herbert
fb4f620c90
Add back BPM and adjust sizing of bottom bar a bit more
2024-07-12 12:34:43 +09:00
Salman Ahmed
d4a4a059d4
Fix footer content not accessible by overlay when overriden by a subclass
2024-07-11 15:31:02 +03:00
Bartłomiej Dach
ccc4d288b2
Merge pull request #28821 from peppy/fix-editor-dim
...
Fix editor UI transparency being incorrectly opaque when hovering slider control points
2024-07-11 12:05:10 +02:00
Dean Herbert
95464ebf36
Merge branch 'master' into timeline-redesign
2024-07-11 18:38:17 +09:00
Bartłomiej Dach
6801ccbbc5
Fix editor UI remaining transparent when switching away from compose tab
...
Could still happen if using the keyboard F-key shortcuts. In that case
the composer becomes non-present, so its `Update()` can't really do
anything.
2024-07-11 11:23:09 +02:00
Bartłomiej Dach
f1fa34e5d5
Merge pull request #28800 from peppy/file-mounting-v3
...
Add ability to edit beatmap content externally
2024-07-11 10:47:36 +02:00
Dean Herbert
c139478aa2
Merge pull request #28805 from frenzibyte/select-all-on-focus
...
Select all text when focusing sample bank/volume textboxes in editor (and number boxes in general)
2024-07-11 17:33:30 +09:00
Dean Herbert
7b0c1e3498
Also apply to timing textboxes
2024-07-11 16:54:27 +09:00
Bartłomiej Dach
cc0d7e9981
Add error logging on failure to begin/end external edit
2024-07-11 09:54:12 +02:00
Bartłomiej Dach
ac467cf73a
Set locally modified state for all externally modified beatmap(sets) that could not be mapped to online
2024-07-11 09:44:33 +02:00
Dean Herbert
fe421edd8f
Fix editor UI transparency being incorrectly opaque when hovering slider control points
...
As mentioned at
https://github.com/ppy/osu/pull/28787#issuecomment-2221150025 .
2024-07-11 16:41:21 +09:00
Dean Herbert
b5bb94e4ec
Merge branch 'master' into file-mounting-v3
2024-07-11 15:54:54 +09:00
Dan Balasescu
00cab0ec0a
Merge pull request #28809 from bdach/mania-timeline-zooms-composer
...
Match mania editor playfield time range with timeline zoom
2024-07-11 15:41:26 +09:00
Dean Herbert
bdbdc3592e
Move full export async flow inside screen and add error handling
2024-07-11 14:27:12 +09:00
Dean Herbert
599a765fd1
Add confirmation before saving for external edit
2024-07-11 12:20:33 +09:00
Dean Herbert
cd6b0e875a
Simplify save dialogs
2024-07-11 12:15:17 +09:00
Dean Herbert
b0d6c8ca6d
Abort operation on save failure
2024-07-11 11:42:06 +09:00
Bartłomiej Dach
4901fece26
Merge branch 'master' into fix-dialog-overflow
2024-07-10 18:20:18 +02:00
Bartłomiej Dach
55b4dd9b99
Adjust punctuation
2024-07-10 18:17:10 +02:00
Bartłomiej Dach
92dc125d39
Match mania editor playfield time range with timeline zoom
2024-07-10 17:36:39 +02:00
Dean Herbert
b58ba5f5f1
Just give in to silly code quality inspection
2024-07-10 23:02:19 +09:00
Salman Ahmed
bb9a2b705e
Remove unnecessary math min
2024-07-10 16:29:28 +03:00
Salman Ahmed
7d667ac46b
Fix confirm exit dialog overflowing from too many ongoing operations
2024-07-10 16:06:53 +03:00
Bartłomiej Dach
c8a64c5950
Remove setup screen controls that do nothing useful
...
Before I go with a hammer to redesign these, I want to remove stuff that
does nothing first.
Hard-breaks API to allow rulesets to specify an enumerable of custom
sections rather than two specific weird ones.
For specific rulesets:
- osu!:
- Stack leniency slider merged into difficulty section.
- osu!taiko:
- Approach rate and circle size sliders removed.
- Colours section removed.
- osu!catch:
- No functional changes.
- osu!mania:
- Special style toggle merged into difficulty section.
- Colours section removed.
2024-07-10 14:53:16 +02:00
Salman Ahmed
ce93455aa8
Extend behaviour to sample edit popover
2024-07-10 15:16:10 +03:00
Dean Herbert
b6741ee4ea
Fix back-to-front exit blocking conditionals
2024-07-10 20:00:34 +09:00
Dean Herbert
75344f9c5c
Fix break overlay progress bar becoming a pancake near end of break
2024-07-10 19:28:37 +09:00
Dean Herbert
1381b3c0c5
Merge pull request #28801 from bdach/break-generation-caching
...
Improve performance of automatic break regeneration
2024-07-10 19:21:16 +09:00
Bartłomiej Dach
b881c25b17
Pool summary timeline break visualisations to reduce allocations
2024-07-10 11:42:28 +02:00
Bartłomiej Dach
343090e3b1
Do not regenerate breaks unless meaningful change to object start/end times is detected
...
Tangentially found when profiling https://github.com/ppy/osu/pull/28792 .
For reproduction, import https://osu.ppy.sh/beatmapsets/972#osu/9007 ,
move any object on the playfield, and observe a half-second freeze
when ending the drag.
2024-07-10 11:42:25 +02:00
Dean Herbert
aa16c72e06
Add test coverage of external editing
2024-07-10 18:34:47 +09:00
Dean Herbert
3beca64cc5
Attempt to stay on correct difficulty
2024-07-10 18:34:46 +09:00
Dean Herbert
27ab54882b
Add loading segments and tidy things up
2024-07-10 18:34:46 +09:00
Dean Herbert
74aa05fa6e
Improve UX and styling of external edit screen
2024-07-10 18:34:45 +09:00
Dean Herbert
118162c631
Add sub screen to limit user interactions
2024-07-10 18:34:45 +09:00
Dean Herbert
d3c66e2404
Add basic flow for mounting beatmaps for external editing
2024-07-10 18:29:51 +09:00
Salman Ahmed
337f05f9a4
Fix loading (but not showing) a sheared overlay hiding displayed footer content
...
Identified by tests. See https://github.com/ppy/osu/actions/runs/9869382635/job/27253010485 & https://github.com/ppy/osu/actions/runs/9869382635/job/27253009622 .
This change also prevents the initial `PopOut` call in overlays from calling `clearActiveOverlayContainer`, since it's not in the update thread and it's never meant to be called at that point anyway (it's supposed to be accompanied by a previous `PopIn` call adding the footer content).
2024-07-10 11:56:35 +03:00
Salman Ahmed
002679ebb0
Ask for VisibilityContainer
explicitly
2024-07-10 11:14:22 +03:00
Bartłomiej Dach
95783bd6c2
Merge pull request #28789 from peppy/fix-deletes-reappearing
...
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-10 09:14:10 +02:00
Dean Herbert
9a88281ab0
Merge branch 'master' into footer-v2-integration
2024-07-10 15:33:05 +09:00
Dean Herbert
4fe3f39d22
Merge pull request #28682 from frenzibyte/footer-v2-overlay-content
...
Add implementation for `ScreenFooter` to house footer content of sheared overlays
2024-07-10 15:08:00 +09:00
Dean Herbert
cd9973b6f9
Merge pull request #28740 from bdach/daily-challenge/better-results
...
Improve results displays in daily challenge screen
2024-07-10 14:17:21 +09:00
Dean Herbert
f281019358
Rename method to match provided argument
2024-07-10 14:00:15 +09:00
Joseph Madamba
8c81ba3357
Fix preview track persisting to play after leaving multi/playlists room
2024-07-09 14:36:24 -07:00
Dean Herbert
123d3d2ff8
Add similar special case for insert after removal
2024-07-09 20:44:55 +09:00
Dean Herbert
0e2e44a2f5
Add failing test case showing editor save then delete failure
2024-07-09 20:41:22 +09:00
Salman Ahmed
ed1f3a1eb4
Merge branch 'master' into footer-v2-integration
2024-07-09 13:48:40 +03:00
Salman Ahmed
b17af86491
Merge branch 'master' into footer-v2-overlay-content
2024-07-09 13:41:44 +03:00
OliBomby
306dc37ab5
Make hit object and sample point seek keybinds configurable
2024-07-09 12:28:23 +02:00
Bartłomiej Dach
ca4c0aa7e2
Remove unused using
2024-07-09 10:57:21 +02:00
Dean Herbert
920c0e4d25
Fix deleted beatmap sets potentially reappearing due to pending update requests
2024-07-09 17:08:26 +09:00
Dean Herbert
63b4327978
Ensure beatmap set is always detached when updating
...
Slight performance improvement by doing the detach as early as possible.
2024-07-09 17:08:25 +09:00
Bartłomiej Dach
5d5dd0de00
Redesign bottom timeline pieces to match stable better
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
29b8948609
Slim down bottom timeline
...
This removes the BPM display, which is commonly cited to have
no functional purpose by users, and reduces the height of the bottom bar
in exchange for more space for the playfield.
2024-07-09 09:25:22 +02:00
Bartłomiej Dach
50818da166
Ensure timeline ticks aren't hidden by other pieces
...
Addresses https://github.com/ppy/osu/issues/28667 .
2024-07-09 09:25:22 +02:00
Dean Herbert
aadcc5384d
Adjust editor transparent tweens to be less "flashy"
...
Touched on in https://github.com/ppy/osu/discussions/28581 .
After a bit more usage of the editor I do agree with this and think that
making the fades a bit more gentle helps a lot.
2024-07-09 16:16:19 +09:00
Dean Herbert
c100d1ab65
Merge pull request #28769 from peppy/carousel-realm-simplification
...
Simplify realm model tracking in `BeatmapCarousel` (and fix hard delete handling)
2024-07-09 01:40:10 +09:00
Dan Balasescu
9c2a0576fb
Merge pull request #28776 from bdach/fix-composer-disappearing
...
Fix composer disappearing when undoing change to control points
2024-07-09 00:54:38 +09:00
Dean Herbert
9a61adc4bc
Ensure other lists are cleared when realm is reset
2024-07-08 23:59:20 +09:00
Bartłomiej Dach
275b959c02
Fix composer disappearing when undoing change to control points
...
As mentioned in https://github.com/ppy/osu/issues/28752 .
Regressed in https://github.com/ppy/osu/pull/28444 .
2024-07-08 16:28:54 +02:00
Bartłomiej Dach
877b5768fc
Merge branch 'master' into sorted-breaks
2024-07-08 15:59:32 +02:00
Salman Ahmed
b33e54d064
Enforce IBeatmap.Breaks
to be sorted chronologically
2024-07-08 16:06:38 +03:00
Bartłomiej Dach
2cad8d3684
Merge branch 'master' into time-accurate
2024-07-08 14:19:57 +02:00
Bartłomiej Dach
d5158d1035
Fix incorrect changes around success callback refactor
2024-07-08 13:36:30 +02:00
OliBomby
2822ba2377
Fix CurrentTimeAccurate being inaccurate if seeking smoothly in the same frame and a transform is already active
2024-07-08 13:30:11 +02:00
Bartłomiej Dach
0fe2c45e1d
Fix editor playback control not removing correct adjustment
...
Closes https://github.com/ppy/osu/issues/28768 .
great job past me 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦 🤦
2024-07-08 13:21:42 +02:00
Dean Herbert
8f271170e9
Coalesce beatmap updates
2024-07-08 20:05:18 +09:00
Dean Herbert
1095137a5b
Simplify tracking of hidden beatmaps
...
Handling a few extra events is preferrable to keeping a second realm
subscription live.
2024-07-08 20:05:18 +09:00
Dean Herbert
151c448535
Simplify tracking of beatmap sets in BeatmapCarousel
2024-07-08 20:05:18 +09:00
Dan Balasescu
b2bdb67a3e
Merge pull request #28765 from bdach/editor-menu-max-height
...
Fix editor menus overflowing off screen
2024-07-08 19:13:30 +09:00
Bartłomiej Dach
db7774485a
Fix editor player crashing with UR counter present in skin
...
Closes https://github.com/ppy/osu/issues/28764 .
2024-07-08 11:14:32 +02:00
Bartłomiej Dach
2ceedb0f93
Fix editor menus overflowing off screen
...
Closes https://github.com/ppy/osu/issues/28750 .
Yes this is not the perfect change to fix this (which would probably be
some framework change to take bounds of the parenting input manager into
account). I really do not want to go there and would like to just fix
this locally and move on. Due to the game-wide scaling container this
sorta works for any resolution anyhow.
2024-07-08 11:05:39 +02:00
OliBomby
f36321a8ea
allow alt scroll for volume in editor
2024-07-07 21:33:43 +02:00
OliBomby
ba44757c86
clarify logic
2024-07-05 15:24:39 +02:00
OliBomby
c05f48979b
fix naming violation
2024-07-05 14:33:05 +02:00
OliBomby
8d46d6c697
always seek on click
2024-07-05 14:18:17 +02:00
OliBomby
7d6ade7e84
shift alt seek to open next sample edit popover
2024-07-05 14:16:51 +02:00
OliBomby
98610f4f6d
alt left/right or scroll to seek to neighbouring hit objects
2024-07-05 12:41:50 +02:00
Bartłomiej Dach
4c59ec1d94
Fix incorrect ternary state computation for bank toggles
...
Closes https://github.com/ppy/osu/issues/28741 .
Regressed in a7b066f3ee
.
The intent of the original change there was to ensure that addition
banks being set will put the ternary state toggles in indeterminate
state (to at least provide a visual indication that the selection does
not use a single bank). This would previously not be the case due to
the use of `.All()` in the original condition (a single object/node
was considered to have a bank enabled if and only if *all* samples
within it used it). However the attempt to fix that via switching
to `Any()` was not correct.
The logic used in the offending commit operates on extracted `Samples`
and `NodeSamples` from the selection, and would consider the ternary
toggle:
- fully off if none of the samples/node samples contained a sample with
the given bank,
- indeterminate if the some of the samples/node samples contained a
sample with the given bank,
- fully on if at least one sample from every samples/node samples
contained a sample with the given bank.
This is a *two-tiered* process, as in first a *binary* on/off state is
extracted from each object's samples/node samples, and *then* a ternary
state is extracted from all objects/nodes. This is insufficient to
express the *desired* behaviour, which is that the toggle should be:
- fully off if *none of the individual samples in the selection* use
the given bank,
- indeterminate if *at least one individual sample in the selection*
uses the given bank,
- fully on if *all individual samples in the selection* use the given
bank.
The second wording is flattened, and no longer tries to consider "nodes"
or "objects", it just looks at all of the samples in the selection
without concern as to whether they're from separate objects/nodes
or not.
To explain why this discrepancy caused the bug, consider a single object
with a `soft` normal bank and `drum` addition bank. Selecting the object
would cause a ternary button state update; as per the incorrect logic,
there were two samples on the object and each had its own separate
banks, so two ternary toggles would have their state set to `True`
(rather than the correct `Indeterminate`), thus triggering a bindable
feedback loop that would cause one of these banks to win and actually
overwrite the other.
Note that the addition indeterminate state computation *still* needs
to do the two-tiered process, because there it actually makes sense (for
a selection to have an addition fully on rather than indeterminate,
*every* object/node *must* contain that addition).
2024-07-05 09:27:21 +02:00
Dean Herbert
f0ad7a97cb
Merge branch 'master' into daily-challenge/better-results
2024-07-04 23:56:09 +09:00
Dean Herbert
aa72c09c3a
Merge pull request #28659 from bdach/daily-challenge/integration
...
Use room watching functionality to receive realtime daily challenge updates
2024-07-04 23:55:46 +09:00
Bartłomiej Dach
5fa586848d
Replace old bad daily challenge leaderboard with new implementation
...
- Actually shows scores rather than playlist aggregates (which are
useful... in playlists, where there is more than one item)
- Actually allows scores to be shown by clicking on them
- Doesn't completely break down visually on smaller window sizes
The general appearance is not as polished as the old one in details but
I wanted something quick that we can get out by next weekend.
Also includes the naive method of refetching scores once a new top 50
score is detected. I can add a stagger if required.
2024-07-04 13:52:08 +02:00
Bartłomiej Dach
8e8909c999
Adjust daily challenge screen background colour
2024-07-04 13:49:33 +02:00
Bartłomiej Dach
b29e535ca5
Add results screen for displaying arbitrary daily challenge scores
...
At this point its primary usage is the daily challenge event feed, but
the leaderboard will be using this too shortly.
Because the playlists results screen that exists in `master` is
hard-coupled to showing the *local user's* best result on a given
playlist by way of hard-coupling itself to the relevant API request,
allowing show of *arbitrary* score by ID requires a whole bunch of
subclassery as things stand. Oh well.
Class naming is... best effort, due to the above.
2024-07-04 13:45:24 +02:00
Salman Ahmed
207ee8a2ee
Fix editor not updating ruleset when switching difficulty
2024-07-04 14:06:36 +03:00
OliBomby
b9c6674a58
Allow seeking to sample point on double-click
2024-07-04 11:47:45 +02:00
Dean Herbert
a4c575f77a
Merge pull request #28521 from bdach/tempo-adjust-editor
...
Change editor speed adjustment back to adjusting tempo
2024-07-04 16:42:55 +09:00
Dean Herbert
3f138489a1
Merge pull request #28509 from bdach/slider-anchor-type-switching
...
Add ability to cycle slider control point types via keyboard
2024-07-04 16:11:37 +09:00
Dean Herbert
73d71d3d77
Merge pull request #28705 from bdach/editor-test-play
...
Reimplement missing gameplay test hotkeys from stable
2024-07-04 13:44:25 +09:00
OliBomby
d0715c5f12
scale along rotated axis
2024-07-03 16:23:19 +02:00
Dean Herbert
88375694a3
Merge branch 'master' into slider-anchor-type-switching
2024-07-03 22:36:57 +09:00
Bartłomiej Dach
e73faaefd2
Merge branch 'master' into editor-test-play
2024-07-03 13:54:47 +02:00
Dean Herbert
56cdd83451
Adjust padding and round corners of hover layer
2024-07-03 20:42:34 +09:00
Dean Herbert
5f56ed6872
Merge branch 'master' into navigate-to-timestamp
2024-07-03 20:42:32 +09:00
Bartłomiej Dach
17ce9cd162
Merge branch 'master' into grids-2
2024-07-03 10:57:05 +02:00
Dean Herbert
824a00b018
Merge pull request #28707 from bdach/remove-breaks
...
Add option to remove breaks via timeline context menu
2024-07-03 16:29:25 +09:00
Dean Herbert
abfcac7466
Fix nullability
2024-07-03 15:31:46 +09:00
Dean Herbert
b6dc483fc1
Add missing change handler to ensure undo/redo works for break removal
2024-07-03 14:23:31 +09:00
Salman Ahmed
cb350470e5
Merge branch 'master' into update-framework-has-flag
2024-07-03 07:06:13 +03:00
Dean Herbert
5350945340
Update HasFlag
usages
2024-07-03 00:19:04 +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
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
Dean Herbert
2c3b411bb5
Change breaks list to IReadOnlyList
2024-07-02 11:59:24 +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
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
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
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
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
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
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
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
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
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
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
Bartłomiej Dach
006184ed2f
Implement carousel container for daily challenge screen
2024-06-26 08:49:00 +02: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bartłomiej Dach
69990c35cb
Add commentary on presence of IsPresent
override
2024-05-31 08:47:19 +02:00
Dean Herbert
53b7c29488
Add test coverage of menu banner link opening
2024-05-31 03:15:26 +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
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
Dean Herbert
16e2fa2c6a
Merge branch 'master' into fix/editor-test-exit
2024-05-29 21:08:36 +09:00
Bartłomiej Dach
7b7e439d03
Merge branch 'master' into scale-tool
2024-05-29 10:15:48 +02:00
Bartłomiej Dach
4c881b5633
Use better name if we're renaming
2024-05-29 09:40:29 +02: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
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
Bartłomiej Dach
405c72c0d6
Fix mod display not being aligned with mapper text
2024-05-27 13:36:44 +02: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
Salman Ahmed
2c18c10ac8
Move to SelectV2
namespace
2024-05-25 17:20:10 +03:00
OliBomby
497701950d
fix nitpick
2024-05-24 18:11:28 +02:00
Dean Herbert
2134ff7a1b
Merge pull request #28071 from Fabiano1337/lazer-speedkeys
...
Make ctrl-up/down change speed modifier of mods
2024-05-24 23:20:04 +09:00
Bartłomiej Dach
9f19ab092d
Merge branch 'master' into grids-1
2024-05-24 14:39:55 +02:00
Bartłomiej Dach
c800bb5339
Merge branch 'master' into lazer-speedkeys
2024-05-24 13:19:26 +02:00
Bartłomiej Dach
b1b207960a
Actually use return value
2024-05-24 13:09:44 +02:00
Bartłomiej Dach
63406b6feb
Rewrite implementation
2024-05-24 13:03:42 +02:00
Bartłomiej Dach
7255cc3344
Fix tests dying on a nullref
2024-05-24 11:25:29 +02:00
Bartłomiej Dach
807d982a72
Move workaround to subscreen
2024-05-24 10:35:33 +02:00
Bartłomiej Dach
a80dbba9d0
Update to not use obsoleted method
2024-05-24 10:35:31 +02:00
Bartłomiej Dach
4089071299
Merge branch 'master' into fix-editor-didnt-save
2024-05-24 10:16:46 +02:00
Bartłomiej Dach
8a2dd4d816
Merge branch 'master' into scaling
2024-05-23 15:10:40 +02:00
Bartłomiej Dach
128029e2af
Fix aspect ratio lock applying when shift pressed on a non-corner anchor
...
It doesn't make sense and it wasn't doing the right thing.
2024-05-23 15:08:43 +02:00
Bartłomiej Dach
9e86a08405
Simplify scale origin computation
2024-05-23 14:07:43 +02:00
Bartłomiej Dach
070668c96f
Use ShiftPressed
instead of explicitly checking both physical keys
...
Not only is this simpler, but it also is more correct (for explanation
why, try holding both shift keys while dragging, and just releasing one
of them - the previous code would briefly turn aspect ratio off).
2024-05-23 13:57:34 +02:00
Bartłomiej Dach
bfa23ec7a4
Fix main menu button animation not playing on initial show
2024-05-23 11:46:48 +02:00
Dean Herbert
357e55ae1f
Make gradient layer a bit more dynamic
2024-05-23 17:39:59 +08:00
Dean Herbert
a3639e0ce3
Remove unused field
2024-05-23 17:19:11 +08:00
Dean Herbert
88a2f74326
Adjust animation
2024-05-23 16:00:23 +08:00
Dean Herbert
f85a1339d9
Unload daily challenge background less aggressively
2024-05-23 14:23:02 +08:00
Dean Herbert
6c37560842
Merge branch 'master' into daily-challenge-mvp
2024-05-23 10:57:05 +08:00
Dean Herbert
66ceda1d67
Update focus specifications in line with framework changes
2024-05-22 21:32:49 +08:00
Fabian van Oeffelt
0df634574f
Improve readability
2024-05-22 13:59:33 +02:00
Dean Herbert
d0b1ebff5a
Revert "Temporary rollback of framework / SDL3"
...
This reverts commit d7d569cf4e
.
2024-05-22 16:29:39 +08:00
Dean Herbert
1fdebe94ac
Merge branch 'master' into lazer-speedkeys
2024-05-22 12:05:04 +08:00
Dean Herbert
02a388cba6
Fix enum not being at end (and adjust naming)
2024-05-22 12:03:48 +08:00
Dean Herbert
99d99cede0
Basic cleanup
...
Before I gave up on attempting to fix the method.
2024-05-22 11:59:34 +08:00
Fabian van Oeffelt
3403789c6f
Toast now only shows when speed is actually changed
2024-05-21 16:11:20 +02:00
Fabian van Oeffelt
148afd1201
Change Speedchange behaviour to keep changing while holding key, Add Toast to nofity user what just happend
2024-05-21 14:47:34 +02:00
Dean Herbert
d7d569cf4e
Temporary rollback of framework / SDL3
2024-05-21 14:36:16 +08:00
Fabian van Oeffelt
3fdbd735ce
change to single Function,
...
Nightcore now switches into Daycore, keep Adjustpitch after change
2024-05-18 18:40:51 +02:00
Salman Ahmed
0a391d5c4e
Remove duplicate back button class
2024-05-18 08:39:45 +03:00
Bartłomiej Dach
c9b7aaf442
Fix formatting
2024-05-17 11:50:23 +02:00
Bartłomiej Dach
a4f8ed2a0e
Add button to access daily challenge playlist from main menu
2024-05-17 11:15:52 +02:00
Salman Ahmed
8b285f5b1e
Add dummy SongSelectV2
screen to house new footer buttons (and new components going forward)
2024-05-16 07:48:58 +03:00
Salman Ahmed
2b5818a4d7
Fix DI crash in beatmap options popover
2024-05-16 07:48:58 +03:00
Salman Ahmed
03220598b8
Move screen footer to OsuGame
2024-05-16 07:48:58 +03:00
Salman Ahmed
921be3ca01
Add back receptor, logo tracking, and own colour provider to screen footer
2024-05-16 07:48:58 +03:00
Salman Ahmed
d0e8632fbf
Refactor ScreenFooter
to prepare for global usage and add transitions
2024-05-16 07:48:10 +03:00
Salman Ahmed
a2794922d5
Add TopLevelContent
layer for applying external transforms on footer buttons
2024-05-16 07:48:10 +03:00
Salman Ahmed
820cfbcb00
Remove unused using directives
2024-05-16 07:47:57 +03:00
Salman Ahmed
310b4d90cc
Move SHEAR
constant to OsuGame
and revert back to 0.2x (i.e. master)
...
Discussed in [discord](https://discord.com/channels/188630481301012481/188630652340404224/1240490608934653984 ).
2024-05-16 07:28:02 +03:00
Salman Ahmed
9265290acf
Change shear factor everywhere to 0.15x
2024-05-16 05:33:01 +03:00
Salman Ahmed
7fce4cc494
Make ScreenFooterButtonMods
share shear factor with base class
2024-05-16 05:30:28 +03:00
Salman Ahmed
9446f45acf
Fix shear factor of ScreenFooterButton
s not matching anything else
...
When shear factors differ between components that are close to each other (`BackButtonV2` and `ScreenFooterButton` in this case), they look completely ugly.
2024-05-16 05:30:28 +03:00
Salman Ahmed
7e8d5a5b0a
Add new footer back button
2024-05-16 05:30:28 +03:00
Salman Ahmed
21f5d891bb
Rename and move footer classes to appropriate places
2024-05-16 04:41:16 +03:00
OliBomby
c4ac6d20a0
fix code quality
2024-05-15 23:40:51 +02:00
OliBomby
8df5f22b4e
Merge remote-tracking branch 'upstream/master' into scaling
2024-05-15 23:05:19 +02:00
Dean Herbert
cff865b556
Continue loading even when osu! logo is being dragged at loading screen
...
Closes https://github.com/ppy/osu/issues/28130 .
2024-05-14 23:54:07 +08:00