1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 21:17:33 +08:00
Commit Graph

13146 Commits

Author SHA1 Message Date
Bartłomiej Dach
281aae91ec
Merge pull request #23808 from peppy/working-beatmap-get-background
Refactor `IWorkingBeatmap.Background` to `GetBackground()`
2023-06-08 12:23:07 +02:00
Dean Herbert
10c43d2273 Reduce delays and fades for carousel panels to improve song select initial display performance
Entering song select has seen a hit since the new renderer
implementations. The underlying cause is large numbers of vertex buffer
uploads (the counter hits >200k for me during the transition).

Song select is in the process of being redesigned, and we are probably
going to make improvements to the renderer to alleviate this, but in the
mean time we can greatly improve the user experience by reducing how
long the initial fade in delays take on panels.

Visually this doesn't look too jarring, and gives a more immediate
feeling when scrolling. It's also more feasible to load elements sooner
with https://github.com/ppy/osu/pull/23809 applied.
2023-06-08 17:28:58 +09:00
Dean Herbert
3978d4babb Crop and disable mipmaps on beatmap panel backgrounds
This is an effort to improve general performance at song select. At
least on the metal renderer, I can notice very high draw frame overheads
related to texture uploads.

By reducing the size of the texture uploads to roughly match what is
actually being displayed on screen (using a relatively inexpensive crop
operation), we can bastly reduce stuttering both during initial load and
carousel scroll.

You might ask if it's safe to disable mipmapping, but I've tested with
lower resolutions and bilinear filtering seems to handle just fine.
Bilinear without mipmaps only falls apart when you scale below 50% and
we're not going too far past that at minimum game scale, if at all.
2023-06-08 16:51:07 +09:00
Dean Herbert
a842f79ad4 Refactor IWorkingBeatmap.Background to GetBackground() 2023-06-08 16:19:32 +09:00
Bartłomiej Dach
b3ce7f7b43
Merge branch 'master' into fix-section-container-scroll-attempt-2 2023-06-08 09:19:26 +02:00
Bartłomiej Dach
3c8f387a6c
Remove unused method 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
d9281ac8c7
Remove unused virtual spec 2023-06-07 23:38:06 +02:00
Bartłomiej Dach
9b665d2e1a
Merge branch 'master' into beat-snap-divisor-hotkeys 2023-06-07 23:38:03 +02:00
Dean Herbert
3a01498789 Use existing next/previous methods (and remove looping behaviour) 2023-06-08 01:01:29 +09:00
Bartłomiej Dach
1f4e79d79d
Merge pull request #23711 from timiimit/add-last-edit-time
Store timestamp of beatmap's last edit time in local database
2023-06-07 16:57:24 +02:00
Dean Herbert
2c89af608a Add ability to cycle beat snap divisor using hotkeys
Defaults to Ctrl+Shift+Wheel (as per stable).

Closes #23785.
2023-06-07 17:15:15 +09:00
Dean Herbert
7d49f5d7c6 Apply NRT to SectionsContainer 2023-06-07 16:32:29 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Dean Herbert
247ac3a5fd
Merge pull request #23781 from bdach/fix-progress-bar-blink
Fix triangles song progress bar blinking during gameplay
2023-06-07 13:44:43 +09:00
Bartłomiej Dach
be59eb1116
Fix triangles song progress bar blinking during gameplay
Closes #23760.
2023-06-06 18:36:25 +02:00
Dean Herbert
247fa088db Add IHasNoTimedInputs interface to scope change further 2023-06-06 22:22:42 +09:00
Dean Herbert
d1300f75c0 Merge branch 'master' into no-offset-calibration-with-relax 2023-06-06 22:22:08 +09:00
Dean Herbert
22f7fe1d79 Rename variable and ensure timestamp is updated even when not saving 2023-06-06 15:11:31 +09:00
Dean Herbert
3a50e0fb2f Merge branch 'master' into add-last-edit-time 2023-06-06 15:07:20 +09:00
Dean Herbert
0c7ab8f971
Merge branch 'master' into hud/argon-kc-animations-poc 2023-06-06 14:43:08 +09:00
Dean Herbert
2f11bd5473 Adjust animations slightly 2023-06-06 14:42:42 +09:00
Dean Herbert
c54670aee1 Add comment explaining implementation 2023-06-06 13:30:56 +09:00
tsrk
41b7eacc72
Merge branch 'master' into hud/argon-kc-animations-poc 2023-06-05 15:22:20 +02:00
Cootz
3ebc801484 Move (de)select all mods hotkeys handling to ModSelectOverlay 2023-06-05 13:49:07 +03:00
Joseph Madamba
4eb0f0261c
Fix song select beatmap panels not displaying correct background shown in web 2023-06-04 22:54:15 -07:00
Bartłomiej Dach
331e90f720
Merge branch 'master' into tidy-results-grid-usage 2023-06-03 19:45:23 +02:00
Bartłomiej Dach
602d5db3bb
Simplify column dimensions code
`dimensions` would always receive exactly one item, so might as well
inline it.

And yes, at this point the grid container is mostly a glorified
`FillFlowContainer { Direction = FlowDirection.Vertical }`, but I am not
touching that in this pull pending further decisions with respect to
direction.
2023-06-03 19:40:01 +02:00
Bartłomiej Dach
a9d4556647
Merge branch 'master' into update-multiplayer-room-diff-range 2023-06-03 16:50:09 +02:00
Bartłomiej Dach
8433813677
Merge branch 'master' into editor-timeline-fix 2023-06-01 21:18:08 +02:00
Bartłomiej Dach
c2d89a32a9
Adjust inline comment 2023-06-01 21:18:00 +02:00
Andrei Zavatski
03eb7c7830 Fix nullability 2023-06-01 21:21:01 +03:00
Andrei Zavatski
949fe32740 Use combined area of children as a mask instead 2023-06-01 15:32:17 +03:00
Dean Herbert
32207d4112 Remember the last used custom divisor when cycling divisor types 2023-06-01 17:11:49 +09:00
Dean Herbert
bcde2cbc73 Apply NRT to BeatDivisorControl 2023-06-01 16:58:14 +09:00
Dean Herbert
f52ed41f10 Use better defaults of 1/4 and 1/6 when cycling types 2023-06-01 16:28:03 +09:00
Dean Herbert
985604fab5 Return StatisticItems rather than StatisticRows from ruleset
There were no usages of more than one column being provided per row, so
it seemed like unnecessarily complexity. I'm currently trying to reduce
complexity so we can improve the layout of the results screen, which
currently has up to three levels of nested `GridContainer`s.

Of note, I can't add backwards compatibility because the method
signature has not changed in `Ruleset` (only the return type). If we do
want to keep compatibility with other rulesets, we could designate a new
name for the updated method.
2023-06-01 14:35:15 +09:00
Dean Herbert
dc595b83f1 Remove unused Dimension specification from StatisticItem 2023-06-01 14:25:18 +09:00
timiimit
a58426dab6 Use LastEditTime in Editor 2023-05-31 19:07:04 +02:00
Dean Herbert
812def124f
Merge pull request #23661 from peppy/fix-multiplayer-present-crash
Fix `OnResume` / `OnSuspending` potentially getting called before `OnEntering` on a sub screen
2023-05-31 19:43:30 +09:00
Bartłomiej Dach
62d1774407
Apply same comment & reworded condition to suspend too 2023-05-30 21:54:56 +02:00
Andrei Zavatski
d119447a10 Fix editor timeline hitobjects popping in 2023-05-30 16:41:42 +03:00
Dean Herbert
741ee84ed6
Add comment and use full conditional similar to extension method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-05-30 18:38:28 +09:00
Dean Herbert
14a376c041 Merge branch 'master' into scorev2 2023-05-30 14:34:43 +09:00
Dean Herbert
1558723420 Merge branch 'master' into scorev2 2023-05-29 20:06:32 +09:00
Dean Herbert
1a6d9e9ff0 Apply NRT to GameplayLeaderboardScore and change GetDisplayedScore handling
I don't feel too confident with the default scoring function being
assigned in the constructor to a publicly settable delegate. This just
feels a bit more elegant, and handles the (likely-never-used) case where
we need to restore the default function.

An alternative would be to provide the function as a `ctor` argument,
but I believe that wasn't done here to allow using the
`ILeaderboardScore` interface.
2023-05-29 20:00:29 +09:00
Dean Herbert
fcd7a1d51a Move GetDisplayScore xmldoc to interface and remove getter 2023-05-29 19:41:53 +09:00
Dean Herbert
9a886125ad Ensure GameplayScoreCounter's display score is updated on ScoringMode change
This isn't strictly required, but only because of a kind of hacky
behaviour where `HUDOverlay` will recreate all components on a scoring
mode change currently (see
8f6df5ea0f/osu.Game/Screens/Play/HUDOverlay.cs (L410-L418)).

Best we do this just in case that happens to go away in the future.
2023-05-29 19:00:02 +09:00
Dean Herbert
22be045de3 Apply NRT to GameplayScoreCounter 2023-05-29 18:48:17 +09:00
Dean Herbert
b0501c4e5c Actually use paused header 2023-05-29 10:24:59 +09:00
Robin Oger
cfa1280028 GameplayMenuOverlay.cs: add translatable strings for Retry count: and Song progress:
This makes the assumption that languages will prefer having the number on the right
2023-05-27 12:47:05 +02:00
Robin Oger
a01577cba5 Adapt changes to fit master 2023-05-27 12:29:14 +02:00
Bartłomiej Dach
574ecf939c
Merge pull request #23647 from peppy/pause-screen-progress
Show current progress on pause screen
2023-05-26 19:36:30 +02:00
Dean Herbert
725734bc03
Merge pull request #23649 from peppy/keep-selection-buttons-on-screen
Ensure editor selection buttons remain on screen when selection is near edge
2023-05-26 20:51:45 +09:00
Dean Herbert
6b0e215246 Add (int) flooring and handle potential NaN value 2023-05-26 20:44:13 +09:00
Bartłomiej Dach
96fe7cbe54
Merge branch 'master' into sample-set-controls 2023-05-25 21:58:16 +02:00
Bartłomiej Dach
7d8f08c0ea
Fix ComposeBlueprintContainer briefly assigning auto bank
Seems to have had no consequence due to the way
`AutomaticBankAssignment` works (that flag is checked in
`PlacementBlueprint.UpdateTimeAndPosition()`, which runs essentially
every frame), but let's avoid putting it there at all ever.
2023-05-25 21:49:29 +02:00
Bartłomiej Dach
b9be886ae1
Merge branch 'master' into pause-screen-progress 2023-05-25 20:34:11 +02:00
Bartłomiej Dach
6425a33b45
Merge branch 'master' into beatmap-length-calcualtions 2023-05-25 17:44:15 +02:00
Bartłomiej Dach
b59f4aee99
Merge pull request #23660 from peppy/simplify-deselect
Fix crash when deleting dragged object in skin editor
2023-05-25 17:27:41 +02:00
Bartłomiej Dach
3ad5f8b9c9
Polish a few extreme edge cases 2023-05-25 16:39:54 +02:00
Dean Herbert
949de35664 Ensure selection is reset after immediately deleting objects
Closes https://github.com/ppy/osu/issues/23518.
2023-05-25 23:20:32 +09:00
Bartłomiej Dach
beeca5a8dd
Use alternative layouting implementation 2023-05-25 16:17:44 +02:00
Dean Herbert
b3c2d120bf Fix OnResume / OnSuspending potentially getting called before OnEntering on a sub screen 2023-05-25 20:39:11 +09:00
Dean Herbert
a6a380dd41
Merge branch 'master' into organize-room-pills 2023-05-25 19:57:28 +09:00
Dean Herbert
609c7227ee Fix changes to font weight in a couple of combined implementations 2023-05-25 19:55:11 +09:00
Dean Herbert
57c63dbb29 Add xmldoc for GetDisplayScore 2023-05-25 19:24:15 +09:00
Dean Herbert
1049257b56 Simplify SelectionHandler's DeselectAll implementation
We are already doing other operations in this class directly on `SelectedItems`, so might as well change this one to match
2023-05-25 18:46:31 +09:00
Dean Herbert
1e14b02493 Fix bindable feedback loop 2023-05-25 17:58:38 +09:00
Dean Herbert
37c6e632d0 Switch to using new extension method for length calculations 2023-05-25 17:38:35 +09:00
Dean Herbert
cf9fda0cf2 Merge branch 'beatmap-length-calcualtions' into pause-screen-progress 2023-05-25 17:34:08 +09:00
Dean Herbert
058edb5d5f Centralise beatmap playable duration and bounds lookups 2023-05-25 17:32:48 +09:00
Bartłomiej Dach
578a0e7494
Merge branch 'master' into beat-divisor-visual-improvements 2023-05-24 22:28:26 +02:00
Bartłomiej Dach
6ec4ecfdd7
Mention fallback default in GetDivisorForBeatIndex() 2023-05-24 22:17:51 +02:00
Bartłomiej Dach
133c954c93
Merge branch 'master' into pause-screen-progress 2023-05-24 21:57:26 +02:00
Bartłomiej Dach
8b6cd1310a
Merge branch 'master' into editor-escape-deselects 2023-05-24 20:18:44 +02:00
Bartłomiej Dach
cd3602406b
Remove unused using directive 2023-05-24 18:54:48 +02:00
Dean Herbert
b14b1072c2 Allow deselecting any selection in the editor using the Back binding (escape key) 2023-05-24 19:24:14 +09:00
Dean Herbert
3b9e1e8a94 Ensure editor selection buttons remain on screen when selection is near edge
Addresses https://github.com/ppy/osu/discussions/23599.
2023-05-24 19:16:53 +09:00
Dean Herbert
79c9a48ff7 Show song progress at pause/fail screen 2023-05-24 18:36:37 +09:00
Dean Herbert
456f3005d6 Apply nullability to GameplayMenuOverlay and use TextFlowContainer for text 2023-05-24 18:28:04 +09:00
Dean Herbert
8ada8b1c8c Remove description line from pause/fail screen
These were in the designs but read pretty bad / evil. I can't think of
any text to go in their place that makes sense, so let's just nuke it.
2023-05-24 17:48:35 +09:00
Dean Herbert
3a05dffa50 Add "auto" bank selection during placement 2023-05-24 17:11:12 +09:00
Dean Herbert
fc22c75464 Don't use switch for single case statement 2023-05-24 16:14:05 +09:00
Dean Herbert
a9ba16a2be Update to support non-control-point sample changes 2023-05-24 14:20:38 +09:00
Dean Herbert
298989ffd2 Merge branch 'master' into sample-set-controls 2023-05-24 14:03:04 +09:00
Dean Herbert
561b759bf9 Tidy up implementation and ensure non-solid ticks start at zero alpha 2023-05-24 13:49:29 +09:00
Dean Herbert
8f1f1955df
Merge pull request #66 from Gyoshi/beat-divisor-visual-improvements
Add ghost ticks to exhibit current divisor on `BeatDivisorControl`
2023-05-24 13:41:48 +09:00
Joseph Madamba
067328233c
Remove OsuScreen.ApplyLogoArrivingDefaults() 2023-05-23 13:17:43 -07:00
Gyoshi
7fe19d1992 Last instead of Max divisor to match code elsewhere 2023-05-23 18:45:49 +02:00
Gyoshi
c5ef3ae181 Code styling 2023-05-23 18:44:20 +02:00
Gyoshi
b5f8093941 Use RangePadding to align mouse with slider 2023-05-23 18:16:14 +02:00
Gyoshi
7b1e8ede54 Small format 2023-05-23 15:11:27 +02:00
Gyoshi
1b32370c6a Remove duplicate code by making GetDivisorForBeatIndex method more general 2023-05-23 15:05:38 +02:00
Gyoshi
37a796306d Small format & comment 2023-05-23 14:30:35 +02:00
Johannes vd Berg
ebda35c3c9 Add ghost ticks to exhibit current divisor on BeatDivisorControl 2023-05-23 12:57:25 +02:00
Dan Balasescu
7658536b5a Fix CI issues 2023-05-23 19:32:19 +09:00
Dan Balasescu
fee3d43596 Merge branch 'master' into scorev2 2023-05-23 19:07:54 +09:00
Bartłomiej Dach
38b4bd8aef
Fix undo not behaving as expected sometimes 2023-05-22 22:45:39 +02:00
Bartłomiej Dach
e0b7539c2a
Fix sample changes not being applied in patcher 2023-05-22 22:45:23 +02:00
Bartłomiej Dach
f253d17a7f
Fix slider velocity changes not being applied in patcher 2023-05-22 22:19:10 +02:00