1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 19:12:57 +08:00
Commit Graph

39860 Commits

Author SHA1 Message Date
Dean Herbert
0e510088f9 Ensure background of gameplay is black when storyboard is overriding background display 2023-08-02 15:50:15 +09:00
Dean Herbert
a618ed140e Move StoryboardReplacesBackground bindable more local to usage 2023-08-02 15:29:18 +09:00
QuantumSno
5443f89dca Assuming its still set to tab, removes binding for toggle chat so itll be set to the new default 2023-08-01 16:58:52 -04:00
QuantumSno
426bc52fd5 Updated schema_version number and added braces around some migration cases to help with re-using variable names 2023-08-01 14:27:37 -04:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes 2023-08-01 19:03:48 +02:00
Bartłomiej Dach
a75f42f5a9
Merge branch 'master' into multi-spectator-extended-results 2023-08-01 18:25:41 +02:00
Bartłomiej Dach
d65f08a048
Merge pull request #24427 from peppy/fix-skin-editor-crash-multi-spectator
Fix game crashing when entering skin editor in multiplayer spectator
2023-08-01 18:25:11 +02:00
Bartłomiej Dach
f7d5ac9f92
Privatise setter 2023-08-01 18:09:48 +02:00
QuantumSno
054ca5e59c
Merge branch 'master' into leaderboard-toggle 2023-08-01 10:06:03 -04:00
Dean Herbert
70bd1d3cf4 Fix centred player not animating correctly 2023-08-01 20:18:21 +09:00
Dean Herbert
df504e1fc2 Show extended statistics in multiplayer spectator automatically 2023-08-01 20:02:36 +09:00
Dean Herbert
fe47dc291b Fix onLoadRequested getting early-exited too early in spectator scenarios
In some scenarios, multiplayer spectator would not tick over to the next
beatmap.

Here's an example:

- Room has two items queued
- Local user starts download of both
- First beatmap starts and download is complete
- First beatmap ends (spectating is active)
- Second beatmap starts but download is not complete

In this scenario, the local client will get stuck at the spectator
screen due to the `onLoadRequested`-invoked screen change being early
exited.

It would require manual recovery (clicking back button) to return to a
sane state.
2023-08-01 19:22:41 +09:00
Dean Herbert
9fe9ea2c90 Fix potential crash on multiple StartGameplay calls in multiplayer spectator 2023-08-01 19:22:41 +09:00
Bartłomiej Dach
4fb0ff8800
Implement instantaneous SliderWithTextBoxInput mode 2023-08-01 01:02:16 +02:00
Bartłomiej Dach
ca81f23356
Add test covering non-instantaneous behaviour 2023-08-01 01:01:37 +02:00
Bartłomiej Dach
2e2b0c4e41
Move SliderWithTextBoxInput to more general namespace 2023-08-01 01:01:36 +02:00
Dean Herbert
d78cc60851 Update framework 2023-08-01 07:12:40 +09:00
Dean Herbert
a3afb198a1
Merge pull request #24341 from bdach/selection-operations-refactor
Refactor rotation handling in editor to facilitate reuse
2023-07-31 17:18:05 +09:00
Dean Herbert
72005bef7c Fix skin editor crashing if the same component is provided twice 2023-07-31 15:10:58 +09:00
Bartłomiej Dach
ebe5dd2ac9
Interface with SelectionRotationHandler via DI rather than explicit passing 2023-07-30 20:21:41 +02:00
Bartłomiej Dach
262f25dce8
Make SelectionRotationHandler a Component 2023-07-30 20:18:33 +02:00
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
7763f3dd40
Fix osu! logo suddenly disappearing during rapid exit 2023-07-30 19:05:37 +02:00
Bartłomiej Dach
d3435483eb
Fix multiplayer match screen being exited from when not current
This was supposed to be fixed by #24255, but has popped up as a
regression on Sentry since:

	https://sentry.ppy.sh/organizations/ppy/issues/22749/?project=2&referrer=regression_activity-email

On a fifteen-minute check I cannot figure out how to reproduce, so
rather than spending further brain cycles on this, just apply the same
explicit guard that like fifteen other places do.
2023-07-30 15:50:10 +02:00
Bartłomiej Dach
1f7f336fd5
Merge branch 'master' into fix-replay-export-queued-op 2023-07-30 14:58:14 +02:00
Bartłomiej Dach
1981e49a40
Fix nullability inspection 2023-07-30 14:28:16 +02:00
Bartłomiej Dach
b51e577239
Merge pull request #24418 from peppy/now-playing-async-fix
Fix now playing overlay background occasionally showing incorrect background
2023-07-30 14:05:49 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
6d5b3617b3 Remove pending export operation if active score is changed 2023-07-30 16:41:45 +09:00
Dean Herbert
35ec55c1f6 Don't queue export replay operations if button is disabled 2023-07-30 16:41:33 +09:00
Dean Herbert
de61b74e91 Add proper cancellation and out-of-order blocking logic to NowPlayingOverlay's background carousel 2023-07-30 16:21:35 +09:00
Dean Herbert
07d224ecb6 Apply NRT to NowPlayingOverlay 2023-07-30 16:17:04 +09:00
Dean Herbert
4f83c8661a Remove unnecessary async fetch of beatmap in NowPlayingOverlay
No idea if this was historically required for some reason, but it's
definitely not required now.
2023-07-30 16:16:25 +09:00
Dean Herbert
45ceaba00d Disable multiplayer spectator zoom when there's only one player's screen visible 2023-07-30 14:40:58 +09:00
Dean Herbert
7138291636 Adjust xmldoc to explicitly metnion it only affects end user control 2023-07-30 13:52:58 +09:00
Dean Herbert
945d89e955 Move disables to loading screens for better coverage of edge cases 2023-07-30 13:45:42 +09:00
Joseph Madamba
4ddf05602f Update BreakInfoLine to formatting standards 2023-07-29 11:05:15 -07:00
Joseph Madamba
6ebfafa9c3 Remove unnecessary text comparison 2023-07-29 11:02:04 -07:00
Joseph Madamba
740898dffb Remove unnecessary prefix parameter 2023-07-29 10:40:18 -07:00
Joseph Madamba
9d928c0225 Apply NRT to BreakInfoLine 2023-07-29 10:39:50 -07:00
Dean Herbert
75625f089e Hide toolbar when entering multiplayer spectator 2023-07-30 02:29:14 +09:00
Dean Herbert
38244c081f Further refactorings along with shadow implementation 2023-07-30 02:29:14 +09:00
Dean Herbert
84bc14c1dd Improve animation and sizing of maximised screen display 2023-07-30 02:29:14 +09:00
Dean Herbert
1826819663 Move Facade to nested class 2023-07-30 02:29:14 +09:00
Dean Herbert
5fa0a21b56 Add corner radius around player areas 2023-07-30 02:29:14 +09:00
QuantumSno
65b4ae506e Moved enum to bottom of enumeration table 2023-07-29 13:18:47 -04:00
Bartłomiej Dach
579b0bc570
Merge branch 'master' into fix-autoplay-mod-revert 2023-07-29 16:12:11 +02:00
Joseph Madamba
a3301dc7ff Fix accuracy break info decimal separator being incorrect in certain languages 2023-07-28 23:26:07 -07:00
Bartłomiej Dach
1fd4a6dc96
Fix tests crashing due to HUDOverlay not finding DrawableRuleset in Update() 2023-07-29 01:07:49 +02:00
Bartłomiej Dach
4db203ecc3
Merge branch 'master' into playfield-skin-layer 2023-07-29 00:01:06 +02:00
Bartłomiej Dach
c6f0cf50ca
Use better safety in rectangular grid
- Checking `DrawSize != Vector2.Zero` is too specific. It could also
  crash on zero-height-but-non-zero-width, or
  zero-width-but-non-zero-height.

- Take the `gridCache.Validate()` call out of the zero checks, because
  even if the width or height are zero, not generating anything is valid
  and there is no reason to validate every frame until `gridCache` gets
  invalidated again.
2023-07-28 22:57:02 +02:00
Bartłomiej Dach
0c10d875ce
Merge branch 'master' into ladder-grid-expand 2023-07-28 22:51:33 +02:00
Bartłomiej Dach
caad931a16
Move comment to more fitting place 2023-07-28 22:10:10 +02:00
Bartłomiej Dach
6d018c08af
Rename Apply{Vertical -> Horizontal}Centering to match common understanding 2023-07-28 22:09:28 +02:00
QuantumSno
a4065486c1 bound bind during gameplay 2023-07-28 14:39:41 -04:00
QuantumSno
26c128a093 added keybind and localization string 2023-07-28 14:39:30 -04:00
Dean Herbert
c9155f85ab Fix playfield not taking up full width correclty when not vertically centered 2023-07-28 16:40:14 +09:00
Dean Herbert
d26164e9fe Merge branch 'master' into fix-taiko-alignment 2023-07-28 16:32:37 +09:00
Dean Herbert
0e4db9b439 Add safety in RectangularPositionSnapGrid that size is greater than zero
Would crash otherwise
2023-07-28 16:25:40 +09:00
Dean Herbert
6cf065f6d1 Add playfield layer to skin editor 2023-07-28 15:50:44 +09:00
Dean Herbert
5bd06832d0 Fix skin component toolbox not working correctly for ruleset matching
Until now, the only usage of ruleset layers was where there is both a
ruleset specific and non-ruleset-specific layer present. The matching
code was making assumptions about this.

As I tried to add a new playfield layer which breaks this assumption,
non-ruleset-specifc components were not being displayed in the toolbox.
This turned out to be due to a `target` of `null` being provided due to
the weird `getTarget` matching (that happened to *just* do what we
wanted previously due to the equals implementation, but only because
there was a container without the ruleset present in the available
targets).

I've changed this to be a more appropriate lookup method, where the
target for dependency sourcing is provided separately from the ruleset
filter.
2023-07-28 15:50:44 +09:00
Dean Herbert
06fe5583cb Expose a new SSDQ from playfield for skinnable area bounds 2023-07-28 15:47:57 +09:00
Dean Herbert
f15394fb6d Fix temporary auto mod (ctrl+enter at song select) not reverting in all scenarios 2023-07-28 14:49:06 +09:00
Bartłomiej Dach
22163020c3
Merge pull request #24367 from peppy/fix-replay-export-from-results
Fix attempting to export replay from results screen after play not working
2023-07-27 20:47:07 +02:00
Bartłomiej Dach
973e6ded2a
Update wrong comment, too 2023-07-26 21:56:04 +02:00
Bartłomiej Dach
992f78b158
Use more consistent way of closing overlay 2023-07-26 21:54:35 +02:00
Dean Herbert
8d5efc9612 Add back the ability to close mod select using enter key
I've seen this brought up a few times (with people thinking
the fact it's not working is a bug) so we'll need to keep this
behaviour for now.
2023-07-27 02:36:25 +09:00
Dean Herbert
deba6e2508 Fix osu!taiko editor playfield missing a piece
Regressed with recent centering changes in https://github.com/ppy/osu/pull/24220
2023-07-27 02:24:10 +09:00
Joseph Madamba
9d87ff2986
Improve supporter-only duration notice and fix max duration of non-supporter
See 3c54229256/.env.example (L230). Might have more duration options in the future.
2023-07-26 01:37:55 -07:00
Dean Herbert
30baac0f3d Avoid reprocessing scores which already failed an upgrade previously
Closes https://github.com/ppy/osu/issues/24301.
2023-07-26 16:22:10 +09:00
Dean Herbert
c1ba8fe175 Rename BackgroundBeatmapProcessor to BackgroundDataStoreProcessor 2023-07-26 16:22:10 +09:00
Dean Herbert
4889864478 Fix files references not correctly being copied after replay import in Player 2023-07-26 15:22:00 +09:00
Dean Herbert
e26afc2b89 Fix ReplayDownloadButton handling key repeat 2023-07-26 15:21:43 +09:00
Joseph Madamba
30e0e00c52
Rename selectedAvailableDuration to hasValidDuration 2023-07-25 22:57:01 -07:00
Dean Herbert
7fd6bb9d5f Fix a couple of code style issues in SelectionBox 2023-07-26 14:04:38 +09:00
Dean Herbert
39c2bb240b Apply NRT to SelectionBoxRotationHandle. 2023-07-26 14:04:21 +09:00
Joseph Madamba
0bd34a4f13
Always show supporter-only playlist durations 2023-07-25 21:14:21 -07:00
Bartłomiej Dach
57ccf82f34
Merge branch 'master' into song-select-drain-length 2023-07-25 22:40:45 +02:00
Bartłomiej Dach
3b11559fd0
Revert "Show only the break length instead of total minute breaks"
This reverts commit 9edaa6909e.
2023-07-25 22:17:55 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Dean Herbert
3485b72eaa Disallow interacting with the global track state in Player and Editor 2023-07-25 20:20:53 +09:00
Dean Herbert
6146f30541 Allow screens to change the ability to interact with the global track 2023-07-25 20:20:53 +09:00
Dean Herbert
157b1f301b Rename AllowTrackAdjustments to more understandable ApplyModTrackAdjustments 2023-07-25 20:20:53 +09:00
Dean Herbert
eac6271bd0 Add new property to avoid overlapping usages 2023-07-25 18:14:03 +09:00
Dean Herbert
43107f8cf0 Fix skin mapping not working for menu fountains 2023-07-25 17:46:05 +09:00
Dean Herbert
9edaa6909e Show only the break length instead of total minute breaks 2023-07-25 17:02:27 +09:00
Dean Herbert
480163ec2e Show drain length in length tooltip at song select 2023-07-25 16:58:53 +09:00
Dean Herbert
9cfe9164fa Add helper method to get drain length (and rename some usages) 2023-07-25 16:58:41 +09:00
Dean Herbert
bc671f8ac6 Fix beatmaps being queued for reprocessing every startup when logged out 2023-07-25 03:15:17 +09:00
Dean Herbert
2a06f11026
Merge pull request #24338 from frenzibyte/ios-enable-aot
Enable AOT compilation on iOS release builds for much better performance
2023-07-24 18:25:14 +09:00
Dean Herbert
bf89fbcd81 Update framework 2023-07-24 16:38:37 +09:00
Bartłomiej Dach
a201152b04
Add xmldoc to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
aec3ca250c
Migrate SelectionHandler to use SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
f8047d6ab6
Migrate skin element rotation handling to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
ba8ebefb50
Add basic structure for new rotation handler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
4622255cc7
Move out helper methods to static class 2023-07-23 18:24:20 +02:00
Bartłomiej Dach
9f68bb4e4a
Merge pull request #24333 from peppy/editor-menu-spacer
Adjust metrics of editor menu spacers (and make visible)
2023-07-23 15:25:27 +02:00
Dean Herbert
4bf300d64d
Merge pull request #24186 from OliBomby/legacy-export
Add ability to export beatmaps from editor in a stable-compatible format
2023-07-23 15:25:06 +09:00
Dean Herbert
4ea8495c61 Adjust metrics of editor menu spacers (and make visible) 2023-07-23 14:12:37 +09:00
Dean Herbert
fb34ee94c2 Move export/save options to bottom of menu 2023-07-23 14:07:31 +09:00
Dean Herbert
20359c90bc Adjust localisations slightly 2023-07-23 14:06:00 +09:00
Dean Herbert
d11e56b8bb Add common Export string and use in editor 2023-07-23 14:03:50 +09:00
Bartłomiej Dach
d7b674bf2b
Merge branch 'master' into verify-breaks 2023-07-22 17:42:55 +02:00
Bartłomiej Dach
699b66be42
Do not reimplement binary sort manually 2023-07-22 17:12:21 +02:00
Bartłomiej Dach
d1c69283b2
Merge branch 'master' into editor-key-count 2023-07-22 16:11:21 +02:00
Bartłomiej Dach
f985bdc10f
Make difficulty sliders private set 2023-07-22 15:55:20 +02:00
Bartłomiej Dach
7e61a10524
Merge pull request #24314 from peppy/reduce-settings-item-spacing
Reduce spacing in settings items
2023-07-22 13:15:19 +02:00
Bartłomiej Dach
e2e3581674
Merge pull request #24292 from peppy/legacy-skin-alignment
Fix some UI elements in legacy skins not always aligning correctly
2023-07-21 21:48:03 +02:00
Bartłomiej Dach
2f6d125588
Merge pull request #24309 from peppy/tournament-team-editor-improvements
General improvements to tournament client team editor and buttons
2023-07-21 20:18:30 +02:00
Dean Herbert
fd2bdc10c7 Fix "key count" setting showing as "circle size" in osu!mania editor
Closes https://github.com/ppy/osu/issues/12904.
2023-07-21 18:52:29 +09:00
Dean Herbert
d23c73a2f1
Adjust with better numbers based off 1920x1080 resolution
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-07-21 17:25:38 +09:00
Dean Herbert
b5c3231feb Fix SettingsNumberBox having additional margin 2023-07-21 15:46:28 +09:00
Dean Herbert
741c3b8d21 Reduce spacing in settings items 2023-07-21 15:39:40 +09:00
Dean Herbert
82a5ba66e1 Align mode switcher with rest of interface 2023-07-21 15:27:42 +09:00
Dean Herbert
cdcb10e0e7 Fix timeline centre point being ever-so-slight off 2023-07-21 15:26:41 +09:00
Dean Herbert
b58354ac64 Fix playfield getting cut off (again) at tall aspect ratios 2023-07-21 15:20:20 +09:00
Dean Herbert
f489dbd7a9 Reduce width of right toolbar ever so slightly (and use more shared constants) 2023-07-21 14:39:15 +09:00
Dean Herbert
870f3e324a Adjust "test" button to better align with rest of interface 2023-07-21 14:26:33 +09:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Dean Herbert
2cb1a6fdaa Adjust metrics further 2023-07-21 14:23:53 +09:00
Dean Herbert
b29a2081ac Merge branch 'master' into menu-star-fountains 2023-07-21 14:21:16 +09:00
Bartłomiej Dach
c77d3cd6bd
Merge pull request #24294 from peppy/toggle-all-freemods
Add ability to toggle all free mods quickly at multiplayer song select
2023-07-20 22:32:53 +02:00
Bartłomiej Dach
07e0a703d7
Adjust inline comment 2023-07-20 20:51:39 +02:00
Bartłomiej Dach
708dd355cd
Merge branch 'master' into editor-cyclic-selection 2023-07-20 20:19:46 +02:00
Bartłomiej Dach
210e114f7d
Merge branch 'master' into editor-prefer-closest 2023-07-20 19:16:09 +02:00
Bartłomiej Dach
511948ba56
Add xmldoc to ApplySelectionOrder() 2023-07-20 19:16:04 +02:00
Dean Herbert
f791f21dcb Update framework 2023-07-20 20:05:38 +09:00
Dean Herbert
d9d055361a More realm analytic disables 2023-07-20 17:51:33 +09:00
Dean Herbert
c93d6a4008 Invert text colour when freemods is enabled for better contrast 2023-07-20 13:04:26 +09:00
Dean Herbert
18c5fc689f Don't expose such specific information from ModSelectOverlay 2023-07-20 12:58:13 +09:00
Dean Herbert
4057fcd70e Merge branch 'master' into toggle-all-freemods 2023-07-20 12:56:46 +09:00
NiceAesth
fa29c25097 Change check to use binary search 2023-07-20 00:32:35 +03:00
Bartłomiej Dach
285a232cc2
Merge pull request #24290 from peppy/beatmap-offset-all-difficulties
Change offset calibration control to adjust for all difficulties of the current beatmap set
2023-07-19 22:31:38 +02:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +02:00
Bartłomiej Dach
764029bde1
Fix nullability inspection 2023-07-19 19:23:08 +02:00
Dean Herbert
e47722565a Clarify guard condition in RoomSubScreen 2023-07-19 19:39:10 +09:00
Dean Herbert
18aace177a Fix deadlock when logging out while at the create match screen
Closes https://github.com/ppy/osu/issues/24275.
2023-07-19 19:37:38 +09:00
Dean Herbert
310067b4c3 Update resources 2023-07-19 19:11:19 +09:00
Dean Herbert
eb149942e5 Add ability to toggle all free mods quickly at multiplayer song select 2023-07-19 19:08:32 +09:00
Dean Herbert
61ff3d08d4 Change depth of LegacySongProgress to allow "skinning" via health bar background 2023-07-19 17:48:19 +09:00
Dean Herbert
e283845b71 Adjust legacy skin elements to better align with skinning expectations 2023-07-19 17:45:07 +09:00
Dean Herbert
cf3949c9e2 Fix double-click handling when cyclic selection is enabled
Removes the limitations of cyclic selection as a result.
2023-07-19 17:21:20 +09:00
Dean Herbert
5ec9cd84b2 Change offset calibration control to adjust for all difficulties of the current beatmap set 2023-07-19 17:13:19 +09:00
Dean Herbert
5ade093c5a Change editor to always perform selection of closest object 2023-07-19 16:56:16 +09:00
Dean Herbert
55a41b0887 Fix overlap between header text and menu items 2023-07-19 15:13:20 +09:00
Dean Herbert
871056790b Mark editor tile as non-localisable 2023-07-19 15:01:20 +09:00
Dean Herbert
7f336b8dac Merge branch 'master' into editor-metrics 2023-07-19 15:00:51 +09:00
Dean Herbert
5e2a0bd733 Fix spawning edge case when elapsed became unexpectedly negative 2023-07-19 14:10:27 +09:00
Dean Herbert
7fa95f7512 Fix #region 2023-07-19 13:52:43 +09:00
Dean Herbert
2e3d1fe950 Fix regression in time jumping behaviour 2023-07-19 13:38:04 +09:00
OliBomby
e7a9175aea fix skin using wrong stream 2023-07-18 13:08:05 +02:00
Dean Herbert
ba237a0e3a Convert StarFountain to use ParticleSpewer
More efficient
2023-07-18 20:04:52 +09:00
Dean Herbert
ccbb30cdda Fix ParticleSpewer not correctly accounting for lower frame rates (and spawning less particles) 2023-07-18 19:52:45 +09:00
OliBomby
63dd8bd991 use base.GetFileContents to get file stream 2023-07-18 12:40:48 +02:00
OliBomby
395dd23966 Put 'Export package' and 'Export legacy package' in one nested menu 2023-07-18 12:37:37 +02:00
OliBomby
bcdf531039 truncate end time before start time 2023-07-18 12:28:35 +02:00
OliBomby
5d82190b70 Merge remote-tracking branch 'upstream/master' into legacy-export 2023-07-18 12:18:49 +02:00
OliBomby
c02684d985 truncate hit object end time 2023-07-18 12:18:43 +02:00
Dean Herbert
f4acc86df8 Adjust metrics to closer match expectations 2023-07-18 16:26:37 +09:00
Dean Herbert
49bb0b190a Split out star constant to reuse in pool definition 2023-07-18 16:14:54 +09:00
Dean Herbert
e6e66c6aef
Remove mention of clock being nullable in IBeatSyncProvider
Co-authored-by: Susko3 <Susko3@protonmail.com>
2023-07-18 13:08:23 +09:00
NiceAesth
ff529d9df7 Rename variables, fix check message formatting 2023-07-17 20:48:53 +03:00
Dean Herbert
66269be189
Merge pull request #24256 from tybug/update-download-icon
Use `FontAwesome.Download` for updates instead of `FontAwesome.Upload`
2023-07-17 12:25:04 +09:00
NiceAesth
3888471148 Add break length and bounds checks 2023-07-16 23:03:21 +03:00
Liam DeVoe
6200e207d2 use fa_download for updates instead of fa_upload 2023-07-16 15:21:15 -04:00
Bartłomiej Dach
7fbd47e9ee
Fix MultiplayerMatchSubScreen erroneously pushing exit dialog on API failure
If `IAPIProvider.State` changes from `Online` at any point when being on
an `OnlinePlayScreen`, it will be forcefully exited from. However,
`MultiplayerMatchSubScreen` had local logic that suppressed the exit in
order to show a confirmation dialog.

The problem is, that in the suppression logic,
`MultiplayerMatchSubScreen` was checking
`MultiplayerClient.IsConnected`, which is a SignalR flag, and was not
checking `IAPIAccess.State`, which is maintained separately. Due to
differing timeouts and failure thresholds, it is not impossible to have
`MultiplayerClient.IsConnected == true` but `IAPIAccess.State !=
APIState.Online`.

In such a case, the match subscreen would wrongly consider itself to be
still online and due to that, push useless confirmation dialogs, while
being in the process of being forcefully exited. This then caused the
dialog to cause a crash, as it was calling `.Exit()` on the screen which
would already have been exited by that point, by the force-exit flow.
2023-07-16 19:56:22 +02:00
Bartłomiej Dach
cd02a8a9ca
Fix PopupDialog potentially accumulating schedules during load 2023-07-16 19:43:37 +02:00
Dean Herbert
acb51dfca3
Merge pull request #24246 from bdach/fix-exit-dialog-crash
Fix potential crash in confirm exit dialog while attempting to exit game
2023-07-17 01:11:07 +09:00
Dean Herbert
e25cd03e4b Update framework 2023-07-17 00:55:25 +09:00
Bartłomiej Dach
d25a03984b
Fix PerformAction<T>() potentially crashing when no matching button is found 2023-07-16 16:55:20 +02:00
Dean Herbert
2d51aa21b7
Merge pull request #24235 from AkiSakurai/toplocalrank
Compute the top local rank directly without an expensive detach call
2023-07-16 12:14:56 +09:00
Dean Herbert
cf70f5e04d
Merge pull request #24219 from peppy/fix-mania-everything
Fix osu!mania scores failing to convert to new standardised score due to cast failure
2023-07-16 11:54:42 +09:00
Aki
cb354685ca
simplify code 2023-07-16 10:21:32 +08:00
Aki
309c852222
Compute the top local rank directly without an expensive detach call 2023-07-15 23:00:13 +08:00
Dean Herbert
eb81eac635 Flag decoded scores more correctly 2023-07-15 12:19:18 +09:00
Dean Herbert
1868826d69 Update framework 2023-07-15 01:12:10 +09:00
Dean Herbert
480259b8d2 Ensure migration is never run on scores with new-enough TotalScoreVersions 2023-07-14 20:02:25 +09:00
Dean Herbert
85c780ae5b Allow the osu! logo to be proxied locally into scenes 2023-07-14 19:19:14 +09:00
Dean Herbert
fe70f24925 Update design of summary timeline current time marker 2023-07-14 17:00:42 +09:00
Dean Herbert
e6b8cd0c06 Add editor header 2023-07-14 16:55:12 +09:00
Dean Herbert
57abb15724 Update design of timeline centre marker and adjust surrounding paddings 2023-07-14 16:37:57 +09:00
Dean Herbert
00e9746174 Implement longer design for timing point piece 2023-07-14 16:37:56 +09:00
Dean Herbert
6b222cfafd Fix slight misalignment so timeline is now completely centered 2023-07-14 14:29:13 +09:00
Dean Herbert
01750dd091 Update metrics of checkboxes and backgrounds to match design better 2023-07-14 14:29:02 +09:00
Dean Herbert
1dc293ed61 Allow specifying a custom width for nubs in OsuCheckboxes 2023-07-14 14:24:55 +09:00
Dean Herbert
5b2e704264 Move beat divisor control inside of TimelineArea and adjust metrics to match design 2023-07-14 14:19:04 +09:00
Dean Herbert
ebaf63b764 Apply NRT to timeline related classes 2023-07-14 14:04:12 +09:00
Dean Herbert
56acc9e3dd Change BeatDivisorControl to retrive bindable divisor via DI 2023-07-14 14:03:25 +09:00
Bartłomiej Dach
cdbb6f90be
Merge pull request #24199 from peppy/revert-to-default-design-change
Update design of "revert to default" button
2023-07-13 23:44:24 +02:00
Bartłomiej Dach
ff56e35093
Merge pull request #24197 from peppy/allow-autoplay-failure
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
cef0dd1d61
Merge pull request #24190 from novialriptide/emoji-fix
Replace emoji unicode with `[emoji]`
2023-07-13 22:05:12 +02:00
Bartłomiej Dach
96e4b8d792
Merge pull request #24204 from peppy/results-screen-component-metrics
Touch up various results screen component's metrics
2023-07-13 22:03:49 +02:00
Bartłomiej Dach
9cc2150b5a
Fix mixed [cC]urrent usage 2023-07-13 22:00:21 +02:00
Bartłomiej Dach
3ca767b7a2
Remove outdated comment 2023-07-13 21:58:55 +02:00
Bartłomiej Dach
eeb50e2700
Do not rely on OverlayColourProvider presence 2023-07-13 21:45:06 +02:00
Bartłomiej Dach
674eb1a36b
Remove unused property 2023-07-13 21:25:43 +02:00
Bartłomiej Dach
a1e83b20e6
Make autoplay compatible with ModFailCondition 2023-07-13 21:23:57 +02:00
Dean Herbert
ded7ec3aa6
Merge branch 'master' into framework-clipboard 2023-07-14 03:32:37 +09:00
Dean Herbert
4114fab8ea Update framework 2023-07-14 03:31:36 +09:00
Bartłomiej Dach
20bde40ce2
Fix differing anchor specs on statistics panel flow items 2023-07-13 20:00:29 +02:00
Bartłomiej Dach
d5912165e9
Merge branch 'master' into results-screen-component-metrics 2023-07-13 19:53:52 +02:00
Bartłomiej Dach
9b771ee798
Merge pull request #24202 from peppy/save-preset-on-select
Allow saving changes to mod presets using enter key
2023-07-13 19:50:16 +02:00
Bartłomiej Dach
16540d69d5
Merge pull request #24206 from peppy/results-screen-misc
Fix some minor issues with results screen
2023-07-13 19:49:49 +02:00
Bartłomiej Dach
1ed15dc42f
Merge pull request #24191 from peppy/fix-hit-distro-code-quality
Fix timing distribution graph sometimes not displaying correctly
2023-07-13 18:35:28 +02:00
Dean Herbert
1051982bc5 Tidy up code with constants 2023-07-13 23:25:50 +09:00
Dean Herbert
8f826a3702 Add skinning support for kiai fountain stars 2023-07-13 22:57:04 +09:00
Dean Herbert
53fccaa3bd Use skinnable sprite 2023-07-13 22:30:27 +09:00
Dean Herbert
1698caa078 Add kiai fountains to main menu 2023-07-13 22:13:40 +09:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
OliBomby
cde8d8e7f1 Optimize realm transactions for editor Save action 2023-07-13 14:33:21 +02:00
Dean Herbert
2c27b17c85 Disable masking on inner scroll container 2023-07-13 19:01:59 +09:00
Dean Herbert
e34839c891 Rename StatisticContainer to StatisticItemContainer and add a background 2023-07-13 18:59:11 +09:00
Dean Herbert
b333945cde Change OverallRanking to use a two-column layout similar to statistics table 2023-07-13 18:45:32 +09:00
Dean Herbert
1a7b00ec15 Ensure PerformanceBreakdown pieces cannot be null 2023-07-13 18:45:32 +09:00
Dean Herbert
0881f4772c Adjust metrics of HitEventTimingDistributionGraph 2023-07-13 18:45:32 +09:00
Dean Herbert
947b40149f Adjust metrics of SimpleStatisticTable 2023-07-13 18:45:32 +09:00
Dean Herbert
6edaf4f230 Ensure PerformanceBreakdown pieces cannot be null 2023-07-13 18:38:16 +09:00
Dean Herbert
d54cf63983 Centralise font size specification for statistic items (and reduce slightly) 2023-07-13 18:31:40 +09:00
Dean Herbert
f223fd7c3b Adjust metrics of PerformanceBreakdown 2023-07-13 18:30:57 +09:00
Dean Herbert
7637a9e603 Adjust metrics of OverallRanking 2023-07-13 18:30:57 +09:00
Dean Herbert
98bf15182e Remove more GridContainer nonsense 2023-07-13 18:30:57 +09:00
Dean Herbert
12e8ac09bd Merge branch 'master' into fix-hit-distro-code-quality 2023-07-13 17:58:27 +09:00
Dean Herbert
db37de45ac Allow saving changes to presets in popover using "select" binding 2023-07-13 17:53:26 +09:00
Dean Herbert
f5c472c0fe Don't hide mod select overlay when pressing select binding with no search 2023-07-13 17:50:07 +09:00
Andrew Hong
ea6704ca1d Move parsing 2023-07-13 04:41:53 -04:00
Dean Herbert
2f40989a4f Allow no fail mod during autoplay 2023-07-13 17:25:08 +09:00
Andrew Hong
3d17a03dc6 Emojis now represented as "[emoji]" 2023-07-13 03:52:22 -04:00
Dan Balasescu
47a65f8890
Merge branch 'master' into fix-imperfect-simulation 2023-07-13 15:41:54 +09:00
Dean Herbert
1d62a041cc Fix animation restarting unexpectedly 2023-07-13 15:07:26 +09:00
Dean Herbert
21f26f98da Fix graph breaking when resized vertically 2023-07-13 14:57:01 +09:00
Dean Herbert
e2b5abd4e8 Split bar drawable creation into own method 2023-07-13 14:43:41 +09:00
Dean Herbert
94201579f6 Update design of "revert to default" button
I keep getting feedback that the old design looked like anything *but* a
button to revert defaults. Including people clicking it expecting
opposite behaviour.

This is intended to be a temporary design until we get the full new UI
components online (where this is moved to the right-hand-side).
2023-07-13 14:26:03 +09:00
Dean Herbert
1bfe5a18cb Rename RestoreDefaultValueButton to RevertToDefaultButton
Because I can't find it every time I search.
2023-07-13 13:46:50 +09:00
Dean Herbert
fbf14a0f7c Allow autoplay to fail
Feels more correct.
2023-07-13 13:41:35 +09:00
Andrew Hong
d62cfc1616 Parse emoji to an empty string 2023-07-12 20:24:09 -04:00
OliBomby
1d837a8725 Move all conversion code to LegacyBeatmapExporter 2023-07-13 00:20:01 +02:00
OliBomby
8ca801a224 dispose the streams 2023-07-12 15:18:16 +02:00
OliBomby
3052c317e1 change .osz2 to .olz (osu lazer zip) 2023-07-12 15:04:06 +02:00
OliBomby
465cc759f0 Add xmldoc to clarify the purpose of BeatmapExporter 2023-07-12 14:49:49 +02:00
Andrew Hong
b05ba8c501 Remove unused code 2023-07-12 06:32:33 -04:00
Dean Herbert
4f4c481a67 Fix timing distribution graph sometimes not displaying correctly
Weird "basal" height logic just didn't make any sense (was getting stuck at 1 when `DrawHeight` was 0)
2023-07-12 19:21:39 +09:00
Andrew Hong
b3b6df6e30 Remove emoji regex 2023-07-12 06:19:48 -04:00
Dean Herbert
b20190ed4f Merge branch 'master' into fix-blueprint-end-placement 2023-07-12 17:38:47 +09:00
Dan Balasescu
41d3924326 Update localisation analyser packages 2023-07-12 16:30:26 +09:00
Dean Herbert
8e1e8a2807
Merge pull request #24169 from bdach/legacy-score-v2
Backpopulate stable ScoreV2 scores with ScoreV2 system mod (and don't recalculate their total score)
2023-07-12 12:44:04 +09:00
Bartłomiej Dach
851e6d111a
Merge branch 'master' into verify-drain-time 2023-07-11 23:29:18 +02:00
OliBomby
b577b6b6ae Export legacy converted beatmaps as .osz and non-converted beatmaps as .osz2 2023-07-11 21:04:09 +02:00
OliBomby
2db25722cb It works now 2023-07-11 20:18:54 +02:00
NiceAesth
1dae1d8f0a Account for break time 2023-07-11 13:40:19 +03:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
Dean Herbert
a0e6748882 Fix slider blueprint placement when ending placement outside the playfield
As mentioned in https://github.com/ppy/osu/discussions/24161
2023-07-11 17:29:53 +09:00
Dean Herbert
0dd4ad8c5d Merge branch 'master' into legacy-score-v2 2023-07-11 16:56:49 +09:00
OliBomby
06e5ef88c0 legacy export broken 2023-07-11 02:30:16 +02:00
Bartłomiej Dach
9e4ffc8c12
Split helper method for populations from replay 2023-07-10 21:10:01 +02:00
NiceAesth
9a2915f423 Add beatmap minimum length checks 2023-07-10 17:29:49 +03:00
Dean Herbert
89b110e3aa Update framework 2023-07-10 21:26:20 +09:00
Dean Herbert
8b222dc42b
Merge pull request #24171 from bdach/editor-timestamp-copy-without-selection
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard with empty selection
2023-07-10 15:27:42 +09:00
Bartłomiej Dach
91e286560e
Fix search being broken in channel listing "channel" 2023-07-09 21:51:08 +02:00
Bartłomiej Dach
6453ab6049
Set chat text box message length limit based on channel 2023-07-09 21:42:13 +02:00
Bartłomiej Dach
d135b3f6f5
Add message length limit field to API response 2023-07-09 21:27:33 +02:00
Bartłomiej Dach
45194b2b4a
Fix pressing Ctrl-C in composer not copying timestamp to system clipboard 2023-07-09 18:21:43 +02:00
Bartłomiej Dach
e12255bbe5
Do not run legacy conversion with ScoreV2 mod present 2023-07-09 17:48:25 +02:00
Bartłomiej Dach
9377622cd4
Add backwards migration to populate ScoreV2 mod for already-imported scores 2023-07-09 17:48:24 +02:00
Bartłomiej Dach
7be5e0e978
Implement back-and-forth conversion of ModScoreV2 and LegacyMods 2023-07-09 16:15:21 +02:00
Bartłomiej Dach
10ba04512d
Add ScoreV2 to LegacyMods 2023-07-09 16:06:05 +02:00
Bartłomiej Dach
ae05df3b8c
Add ModScoreV2 2023-07-09 15:56:51 +02:00
Bartłomiej Dach
56a2ba4ac0
Fix GenerateTicks being lost during osu! beatmap conversion process 2023-07-08 23:24:38 +02:00
Bartłomiej Dach
055e4a78f0
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-08 18:10:04 +02:00
Bartłomiej Dach
d5a48a4b9f
Merge branch 'master' into move-local-input-control 2023-07-08 15:25:10 +02:00
Bartłomiej Dach
84138849cf
Merge pull request #24134 from peppy/skin-retry-sound
Add support for skinnable "retry" sound
2023-07-08 15:24:26 +02:00
Bartłomiej Dach
0ecfb7b36f
Remove unused field 2023-07-08 15:03:33 +02:00
Bartłomiej Dach
e2aaef6663
Merge branch 'master' into no-dismiss-all-progress-notifications 2023-07-08 14:19:57 +02:00
Bartłomiej Dach
10da80638b
Merge pull request #24152 from peppy/results-screen-tweens
Adjust results screen transition tweens to feel better
2023-07-08 14:15:37 +02:00
Bartłomiej Dach
cdaf8e4b0f
Flip and rename CompletedOrCancelled to Ongoing 2023-07-08 14:11:58 +02:00
Bartłomiej Dach
3a9b259f8a
Add back removed .ToUpper() case transform 2023-07-08 14:10:05 +02:00
Bartłomiej Dach
287418e214
Merge branch 'master' into skin-retry-sound 2023-07-08 14:00:52 +02:00
Bartłomiej Dach
832c1c0009
Merge branch 'master' into fix-gameplay-samepl-trigger-source-rewind 2023-07-08 13:33:04 +02:00
Dean Herbert
0e85a33ca2 Update framework 2023-07-07 20:58:04 +09:00
Dean Herbert
1d9d90e6e3 Merge branch 'master' into framework-IWindow-changes 2023-07-07 20:57:48 +09:00
Dean Herbert
82babbf8fa Adjust results screen transition tweens to feel better 2023-07-07 17:39:54 +09:00
Dean Herbert
0049f3fed4
Merge branch 'master' into more-notification-sounds 2023-07-07 16:39:31 +09:00
Dean Herbert
9732e5733c Update resources 2023-07-07 15:45:21 +09:00
Dean Herbert
d72765b6f8
Merge pull request #24114 from peppy/editor-save-local-score-management
Ensure scores always have the correct linked `BeatmapInfo`
2023-07-07 15:40:54 +09:00
Dean Herbert
67746e1369 Move retry sample playback to PlayerLoader 2023-07-07 15:36:17 +09:00
Dean Herbert
e0fc97bb93 Replace various local implementations of rewinding checks with new property 2023-07-07 15:21:24 +09:00
Dean Herbert
04a1550215 Redesign "local input" toggle in manual input tests to be more user-friendly
- Only displays when required (there's literally zero case we want to
  return input to the test, as this is automatic on next action)
- No longer hugs the right side of the screen (blocking visibility of
  some tests).
2023-07-07 13:32:16 +09:00
Dean Herbert
d93548f4ea Add back "clear all" button for progress notifications but only clear cancelled 2023-07-07 13:18:23 +09:00
Dean Herbert
ddd65f5fe7
Merge pull request #24135 from peppy/update-realm
Bring realm library up-to-date
2023-07-07 10:59:38 +09:00
Dean Herbert
8978f2ddd8 Remove all usage of !something!.something
aka don't mix NRT forgiving syntax with not syntax
2023-07-07 10:15:33 +09:00
Bartłomiej Dach
e3fd88db59
Merge pull request #24137 from peppy/remove-wedge-rotation
Remove beatmap info wedge rotation animation
2023-07-06 22:43:12 +02:00
Bartłomiej Dach
ae2896ba7e
Sprinkle some more null-forgiving operators 2023-07-06 22:08:48 +02:00
Bartłomiej Dach
1473abd909
Remove outdated xmldoc 2023-07-06 22:01:02 +02:00
Bartłomiej Dach
f3f4bb6356
Add one more safety against processing scores with missing beatmap 2023-07-06 20:56:24 +02:00
Jamie Taylor
a55ba963a9
Don't play 'popout' sample when ProgressNotification completes 2023-07-07 01:51:58 +09:00
Jamie Taylor
d4f5d0c878
Revert "Remove sound from notification closing/hiding"
This reverts commit 244f3c6098bb27b66f5ff7fb8c76f38f56cfb4cd.
2023-07-07 01:51:57 +09:00
Jamie Taylor
6e2b7f433b
Add a sound for 'cancelling' ProgessNotification 2023-07-07 01:51:57 +09:00
Jamie Taylor
4ff4c3a12e
Remove sound from notification closing/hiding 2023-07-07 01:51:57 +09:00
Jamie Taylor
fdb572fdea
Add more/different notification sounds 2023-07-07 01:51:57 +09:00
Dean Herbert
070b3883ce Remove the ability to cancel all "in progress" tasks 2023-07-07 00:31:32 +09:00
Dean Herbert
753db044b4 Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 19:08:42 +09:00
Dean Herbert
2e98ab0a48 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 19:08:42 +09:00
Dean Herbert
c9fd435402 Fix potential crash when mashing exit key 2023-07-06 17:58:36 +09:00
Dean Herbert
f69f6adf67 Remove beatmap info wedge rotation animation
It looks jank and also causes framebuffer overheads.

But mostly because it looks jank.
2023-07-06 16:15:42 +09:00
Dean Herbert
de74c9eb8b Fix GameplaySampleTriggerSource not handling rewinds correctly 2023-07-06 14:16:31 +09:00
Dean Herbert
af3f9086e5 Expose rewinding state of IGameplayClocks
The implementation of this requires a bit of a special case
for 0, so makes sense to implement in a central place.
2023-07-06 14:16:31 +09:00
Dean Herbert
a98a36872e Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Dean Herbert
b679ab88a1 Avoid attempting to process missing statistics on scores without linked beatmaps 2023-07-06 12:29:03 +09:00
Dean Herbert
9ff6b3fcd3 Merge branch 'master' into editor-save-local-score-management 2023-07-06 12:28:44 +09:00
Dean Herbert
65384d6125
Merge pull request #24129 from peppy/toggle-replay-overlay
Remember state of replay settings visibility and allow key customisation
2023-07-06 12:27:30 +09:00
Dean Herbert
170bc5bfce Add support for skinnable "retry" sound 2023-07-06 12:25:15 +09:00
Bartłomiej Dach
1938bdbf9d
Move replay settings toggle to replay key bindings section 2023-07-05 22:45:10 +02:00
Bartłomiej Dach
cdb8a56df4
Remove weird aliased using
Doesn't appear to be required.
2023-07-05 22:41:22 +02:00
Bartłomiej Dach
a87a631c50
Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-05 22:15:32 +02:00
Bartłomiej Dach
f3576b88a4
Merge pull request #24121 from peppy/fix-judged-fallback
Fix fallback for `Judged` to be more correct
2023-07-05 22:15:04 +02:00
Dean Herbert
9291895305 Make key for toggling replay settings customisable 2023-07-06 01:00:41 +09:00
Dean Herbert
95a9b532df Remember state of replay settings visibility 2023-07-06 00:53:37 +09:00
Dean Herbert
fbab5acac1 Remove not-yet-implemented settings group comments 2023-07-06 00:46:09 +09:00
Dean Herbert
00c68cad53 Fix new scoring related properties not storing to realm due to internal spec 2023-07-05 19:47:44 +09:00
Dean Herbert
49e5558e4f
Merge pull request #24072 from smoogipoo/diffcalc-total-scorev1
Add difficulty attributes to facilitate conversion from legacy score, and convert existing scores
2023-07-05 18:47:18 +09:00
Dean Herbert
8f61f5e4c6 Cache Playfield for the sake of tests
I'm open to an alternative. Name it.
2023-07-05 18:44:27 +09:00
Dean Herbert
c5b949154c Merge branch 'fix-judged-fallback' into taiko-hitsounding-final-attempt 2023-07-05 18:44:27 +09:00
Dean Herbert
168b6c70a9 Update resources 2023-07-05 18:44:27 +09:00
Dean Herbert
4364736ccd Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:44:27 +09:00
Dean Herbert
561fff801a Consume nested object states in HitObjectLifetimeEntry 2023-07-05 18:44:27 +09:00
Dean Herbert
759cd5aec7 Warm up pool with argon-specific drum samples 2023-07-05 18:44:27 +09:00
Dean Herbert
27af07b74b Add basic implementation of argon osu!taiko hitsounds (volume / flourish / strong) 2023-07-05 18:44:27 +09:00
Dean Herbert
beed390031 Add balance adjust to base implementation of DrumSampleTriggerSource 2023-07-05 18:44:27 +09:00
Dean Herbert
6d4fa6569f Add back required pieces to GameplaySampleTriggerSource from old PR 2023-07-05 18:44:27 +09:00
Dean Herbert
3f8dfc7cb0 Fix fallback for Judged to be more correct
Without this change, when the `Judged` value is checked on an
`HitObjectLifetimeEntry` it would return `true` if a `DrawableHitObject`
has not yet been associated with the entry. Which is completely wrong.

Of note, the usage in `DrawableHitObject` will have never fallen through
to this incorrect value as they always have a result populated:

f26f001e1d/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs (L721-L726)
2023-07-05 18:03:58 +09:00
Dean Herbert
5947c2b298 Throw if a null BeatmapInfo arrives during score import process 2023-07-05 16:08:06 +09:00
Bartłomiej Dach
6c4e52821d
Redirect judgement-related flags from DHO to HOLE 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
0ceaf3c451
Ensure synthetic entries from non-pooled DHO are linked to parents 2023-07-04 23:45:08 +02:00
Bartłomiej Dach
bae7670855
Redirect HitObjectEntryManager child mapping to HOLE 2023-07-04 23:41:06 +02:00
Bartłomiej Dach
6dc8c7b617
Add HitObjectLifetimeEntry.NestedEntries 2023-07-04 23:39:56 +02:00
Bartłomiej Dach
e2ddcb2349
Silence a few remaining nullability warnings 2023-07-04 22:39:26 +02:00
Bartłomiej Dach
a55809733d
Expand ScoreInfo.BeatmapInfo xmldoc 2023-07-04 22:20:50 +02:00
Dean Herbert
f2aa80f413 Rename and adjust xmldoc on TotalScoreVersion 2023-07-04 20:04:02 +09:00
Dean Herbert
aee89e5e4b Rewrite comment regarding LegacyTotalScore 2023-07-04 19:59:57 +09:00
Dean Herbert
664294cef4 Fix cancelled progress notifications requiring exit confirmation 2023-07-04 18:39:19 +09:00
Dean Herbert
dd9998127e Count missing beatmaps as errored items 2023-07-04 18:35:03 +09:00
Dean Herbert
d3eb06578e Improve messaging around failed scores 2023-07-04 18:34:53 +09:00
Dean Herbert
56bfb92ba6 Allow user cancellation 2023-07-04 18:22:10 +09:00
Dean Herbert
257a96ef60 Fix background beatmap processor thread not correctly exiting 2023-07-04 18:21:22 +09:00
Dean Herbert
4de15f975e Fix realm silly business 2023-07-04 18:08:26 +09:00
Dean Herbert
a0c3fa9c13 Move preconditions to realm migration step to simplify marker version logic 2023-07-04 17:53:53 +09:00
Dean Herbert
1629024111 ILegacyScoreProcessor -> ILegacyScoreSimulator 2023-07-04 17:32:54 +09:00
Dean Herbert
3b5f3b67a7 Tidy up and improve messaging on completion notification 2023-07-04 15:53:24 +09:00
Dean Herbert
1a6381bcbb Reduce code repetition for sleep logic 2023-07-04 15:35:09 +09:00
Dean Herbert
64fc5e40e8 Move score attach logic to a helper method and call during editor save 2023-07-04 15:07:40 +09:00
Dean Herbert
d74b1e148d Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Dean Herbert
67650831bd Remove unnecessary null check 2023-07-04 14:19:25 +09:00
Dean Herbert
4203e2183d
Merge branch 'master' into diffcalc-total-scorev1 2023-07-04 14:15:24 +09:00
Bartłomiej Dach
21f758947d
Merge branch 'master' into availability-fixes 2023-07-02 20:38:37 +02:00
Bartłomiej Dach
7b3cb5b410
Merge pull request #24068 from peppy/fix-sign-out-string
Use more correct localised string source for "sign out" text
2023-07-02 19:20:24 +02:00
Dean Herbert
95c30fe12a Duplicate sign out string for now 2023-07-03 00:14:26 +09:00
Dean Herbert
b3c874fdc5
Merge pull request #24099 from bdach/fix-oob-selection-box-again
Fix edge cases where selection buttons go outside playfield bounds
2023-07-02 09:37:50 +09:00
Bartłomiej Dach
d017be50f1
Merge pull request #24081 from Cootz/restore-scores-after-bearmap-reinstallation
Reattach any orphaned scores when a beatmap is imported
2023-07-01 22:33:38 +02:00
Bartłomiej Dach
9eec1337b3
Use slightly different condition for better UX 2023-07-01 21:39:08 +02:00
Bartłomiej Dach
183777f8df
Fix edge cases where selection buttons go outside playfield bounds
Addresses
https://github.com/ppy/osu/discussions/23599#discussioncomment-6300885.
2023-07-01 21:27:17 +02:00
Bartłomiej Dach
1ce60378be
Rewrite comments further 2023-07-01 20:37:33 +02:00
Susko3
e38ac4185c Update inline with framework IWindow changes 2023-07-01 19:02:09 +02:00
Bartłomiej Dach
fe2ca5cfef
Merge pull request #24087 from peppy/less-tablet-error-spam
Ensure "tablet support disabled" notification is only shown once
2023-07-01 18:46:27 +02:00
Dean Herbert
5f880397a9 Increase the minimum size of the scroll bar
Allows easier targetting when there is a lot of content in the scroll view

As discussed in https://github.com/ppy/osu/discussions/24095#discussioncomment-6332398.
2023-07-02 00:04:56 +09:00
Dean Herbert
5bd91a531d Tidy up comments and code 2023-07-01 23:37:22 +09:00
Dean Herbert
a4a9223726 Move score re-attach to PostImport 2023-07-01 23:12:04 +09:00
Cootz
8d25e2c3e1 Add importer update test 2023-07-01 09:49:06 +03:00
Dean Herbert
e2db6159d6 Ensure "tablet support disabled" notification is only shown once 2023-06-30 13:47:55 +09:00
Bartłomiej Dach
1f3d833b05
Merge pull request #24080 from peppy/star-rating-no-rounding
Never remove significant digits from star rating displays
2023-06-29 21:27:30 +02:00
Dan Balasescu
426f11b824 Apply a few other code reviews 2023-06-29 17:28:06 +09:00
Dan Balasescu
c6ad184d94 Move Ruleset method to ILegacyRuleset interface 2023-06-29 17:24:37 +09:00
Dan Balasescu
6822871dab Move population of LegacyTotalScore to ScoreImporter 2023-06-29 17:21:24 +09:00
Dan Balasescu
ddd870e843 Make LegacyTotalScore nullable 2023-06-29 17:19:10 +09:00
Dan Balasescu
c816281494 Make BackgroundBeatmapProcessor task long-running 2023-06-29 17:16:33 +09:00
Dan Balasescu
829044de59 Revert unintented change 2023-06-29 17:15:48 +09:00
Cootz
87308abec2
Merge branch 'master' into restore-scores-after-bearmap-reinstallation 2023-06-29 08:29:41 +03:00
Cootz
47ccbddfb1 Reword comment 2023-06-29 08:08:10 +03:00
Cootz
351f217c8c Reassign existing scores to new/re-exported beatmap 2023-06-29 08:07:43 +03:00
Dean Herbert
34f53965c4 Never remove significant digits from stsar rating displays
Closes https://github.com/ppy/osu/issues/24079.
2023-06-29 13:55:04 +09:00
Bartłomiej Dach
90cb3dac86
Merge pull request #24076 from bastianpedersen/localise-chat-notifications
Localise chat related notifications
2023-06-28 22:36:53 +02:00
Bastian Pedersen
ea87000539 Localise chat related notifications 2023-06-28 21:11:56 +02:00
Bartłomiej Dach
27eef6996b
Merge branch 'master' into fix-flip-undo-states 2023-06-28 20:49:42 +02:00
Bartłomiej Dach
e4e08c0f5f
Fix selection handlers eating hotkey presses they didn't handle 2023-06-28 20:48:22 +02:00
Bartłomiej Dach
e1600b3d72
Merge branch 'master' into fix-editor-save-failure 2023-06-28 19:56:58 +02:00
Dean Herbert
5d209b3ffc Change default availability in MultiplayerRoomUser to Unknown 2023-06-28 16:38:20 +09:00
Dan Balasescu
1ca4e39fc3 Allow legacy scores to be displayed in "classic" scoring mode 2023-06-28 16:30:50 +09:00
Dan Balasescu
af25ffbe81 Remove JSON output 2023-06-28 16:15:44 +09:00
Dan Balasescu
09bc8e45de Refactoring 2023-06-28 16:14:32 +09:00
Dean Herbert
fec086aec8 Fix OnlinePlayBeatmapAvailabilityTracker not passing through Unknown state 2023-06-28 16:02:46 +09:00
Dean Herbert
3883c28b15 Add visual display in participants list when availability is still being established 2023-06-28 16:02:46 +09:00
Dean Herbert
664a2b2255 Force a beatmap availability state change when selected item is changed 2023-06-28 16:02:46 +09:00
Dean Herbert
91354b1570 Avoid performing any actions when BeatmapAvailability is updated to Unknown 2023-06-28 16:01:54 +09:00
Dan Balasescu
e291dff5ad Fix imported scores not getting LegacyTotalScore 2023-06-28 14:50:16 +09:00
Dean Herbert
29376ffcc0 Trigger state change when flipping via hotkey in the editor
This will trigger a change even if nothing happens. But I think that's
okay (not easy to avoid) because the change handler should be aware that
nothing changed, if anything.

Closes https://github.com/ppy/osu/issues/24065.
2023-06-28 13:52:51 +09:00
Dean Herbert
99e55bb9c0 Add logging and Debug.Fail on detached beatmap detection 2023-06-28 12:21:05 +09:00
Dean Herbert
1d4380cfd0
Merge pull request #24058 from peppy/full-term-exact-match
Add support for matching full terms at song select using suffixed `!`
2023-06-28 12:14:15 +09:00
Dean Herbert
b3f2a3ccdf Use more correct localised string source for "sign out" text 2023-06-28 12:11:40 +09:00
Dean Herbert
bc26d52dbd
Merge pull request #24067 from bdach/fix-difficulties-not-deleting-from-db
Fix delete difficulty flow not actually deleting the difficulty from realm
2023-06-28 12:06:01 +09:00
Dean Herbert
076f41be12
Merge pull request #24059 from peppy/add-editor-rotate-hotkeys
Add support for `Ctrl` + `<` / `>` to rotate selection in editor
2023-06-28 12:03:34 +09:00
Bartłomiej Dach
6876566530
Fix difficulty deletion not deleting records from realm 2023-06-27 23:43:00 +02:00
Bartłomiej Dach
eb82bd3871
Merge pull request #24064 from bastianpedersen/localise-common-game-notifications
Localise common game notifications
2023-06-27 22:40:22 +02:00
Bartłomiej Dach
9be2d9d62e
Fix hotkey presses generating unnecessary undo history
The buttons don't check whether the operation they correspond to is
possible to perform in the current state of the selection box, so not
checking `Can{Reverse,Rotate}` causes superfluous undo states to be
added without any real changes if an attempt is made to reverse or
rotate a selection that cannot be reversed or rotated.
2023-06-27 22:25:04 +02:00
Bartłomiej Dach
17ed45d07c
Mention hotkeys in button tooltips 2023-06-27 22:04:15 +02:00
Bartłomiej Dach
54280f06be
Switch to == true 2023-06-27 22:02:15 +02:00
Bartłomiej Dach
ad3a470eaf
Enable NRT in SelectionBox 2023-06-27 22:01:44 +02:00
Bartłomiej Dach
eb6bdb5a38
Merge pull request #23926 from ItsShamed/hud/kc-skinnable
Make key counter skinnable
2023-06-27 21:57:41 +02:00
Bartłomiej Dach
bf99fc61b8
Trim full phrase filters in a more precise manner 2023-06-27 21:50:36 +02:00
Bartłomiej Dach
e3d97b37f1
Rename MatchMode.{None -> Substring} 2023-06-27 21:28:37 +02:00
Bartłomiej Dach
06654dc618
Merge branch 'master' into full-term-exact-match 2023-06-27 21:27:39 +02:00
Bastian Pedersen
62dcd513ca Fix XML doc not mirroring string 2023-06-27 21:02:44 +02:00
Bastian Pedersen
8a2cd57f4e Add back missing punctunation 2023-06-27 21:01:39 +02:00
Bastian Pedersen
37ee3a7bbd Localise common game notifications 2023-06-27 20:56:35 +02:00
Bartłomiej Dach
af66ccbfdf
Merge branch 'master' into hud/kc-skinnable 2023-06-27 20:35:47 +02:00
Dean Herbert
8e80e2fa32 Fix incorrect realm copy logic when a beatmap becomes detached from its set
The code here was assuming that if the beatmap which is having changes
copied across does not exist within the `BeatmapSet.Beatmaps` list, it
was not yet persisted to realm.

In some edge case, it can happen that the beatmap *is* persisted to
realm but not correctly attached to the beatmap set. I don't yet know
how this occurs, but it has caused loss of data for at least two users.

The fix here is to check realm-wide for the beatmap (using its primary
key) rather than only in the list. We then handle the scenario where the
beatmap needs to be reattached to the set as a seprate step.

---

This does raise others questions like "are we even structuring this
correctly? couldn't a single beatmap exist in two different sets?"

Maybe, but let's deal with that if/when it comes up.
2023-06-27 18:20:01 +09:00
Dan Balasescu
6e2369e651 Add xmldoc on LegacyTotalScore 2023-06-27 17:18:32 +09:00
Dean Herbert
c6d952abe3 Add support for Ctrl + < / > to rotate selection in editor
As discussed in https://github.com/ppy/osu/discussions/24048.
2023-06-27 17:01:41 +09:00
Dean Herbert
7ddbf4eaa7 Add a visual effect when keyboard shortcuts are used to trigger selection box buttons 2023-06-27 17:01:13 +09:00
Dean Herbert
41890cfc65 Change JudgementCountController to a Component and remove handling overrides 2023-06-27 16:39:21 +09:00
Dean Herbert
8bd6f7a46a Rename ClicksPerSecondCalculator to ClicksPerSecondController 2023-06-27 16:38:46 +09:00
Dean Herbert
de23a4691e Change JudgementCountController to a Component 2023-06-27 16:38:15 +09:00
Dean Herbert
113b570bd4 Move controllers above skinnable elements in initialisation order 2023-06-27 16:37:23 +09:00
Dean Herbert
e21583ff1b Refactor InputCountController to not require being added to foreign body via Attach
I've made the flow match `ClicksPerSecondCalculator` as close as
possible. Hopefully this reads better.
2023-06-27 16:36:00 +09:00
Dean Herbert
c423f77d53 Add support for matching full terms using suffixed ! 2023-06-27 15:34:33 +09:00
Dean Herbert
702266198b Add missing "title=" search support at song select 2023-06-27 15:21:13 +09:00
Dan Balasescu
0c5c09597c Store old total score as LegacyTotalScore 2023-06-27 14:59:40 +09:00
Bartłomiej Dach
40ceb4dfac
Fix incorrect indent size 2023-06-26 22:40:25 +02:00
Bartłomiej Dach
9c30b1d3e0
Merge branch 'master' into exact-match-song-select 2023-06-26 22:33:50 +02:00
Bartłomiej Dach
4cb122dad4
Escape user input before embedding into regex 2023-06-26 22:27:48 +02:00
Bartłomiej Dach
8a7a42b7ec
Remove weird nullable enable and double licence header 2023-06-26 22:19:52 +02:00
timiimit
e1cbcabe0b
Fix skip not always triggering in multiplayer 2023-06-26 21:26:41 +02:00
Bartłomiej Dach
7200855d46
Rename Judgement{Tally -> CountController} 2023-06-26 19:30:04 +02:00
Bartłomiej Dach
8d91580dc1
Rename {KeyCounter -> InputCount}Controller 2023-06-26 19:27:42 +02:00
Bartłomiej Dach
4ac48e4cd8
Group input handling members together 2023-06-26 19:25:52 +02:00
Bartłomiej Dach
ff562e2dd7
Remove redundant guard
In this particular case guarding with `.IsNull()` makes no sense, as the
`Trigger` is supplied in constructor and cannot feasibly be null. Doing
that only makes sense in scenarios where BDL / dependency injection is
involved.
2023-06-26 19:25:52 +02:00
Bartłomiej Dach
dbd76c1193
Fix attempting to add key counter controller to hierarchy in multiple places 2023-06-26 19:02:49 +02:00
Bartłomiej Dach
cc45ec4fff
Mark IHasRecordingHandler.Recorder nullable 2023-06-26 18:52:05 +02:00
Dan Balasescu
a9c65d200a Initial conversion of scores 2023-06-26 22:19:01 +09:00
Dan Balasescu
8e79510793 Add migration for total score conversion 2023-06-26 21:53:21 +09:00
Dean Herbert
a74547c43c Add exact match support at song select 2023-06-26 18:26:44 +09:00
Dean Herbert
14c95f4584 Apply NRT to FilterCriteria 2023-06-26 17:54:11 +09:00
Dean Herbert
44c08f3944 Add xmldoc for KeyCounterController 2023-06-26 16:47:33 +09:00
Dean Herbert
084354a8dc Split out interfaces from RulesetInputManager and improve xmldoc 2023-06-26 16:34:57 +09:00
Dean Herbert
c8e081c2b6 Remove unused interface 2023-06-26 16:32:19 +09:00
Dean Herbert
ec20942830 Actuall add composite component to hierarchy 2023-06-26 16:24:36 +09:00
Dean Herbert
3a2dd0e7dd Move argon key counter to right to match stable expectations 2023-06-26 16:22:38 +09:00
Dean Herbert
52fdeeb491 Improve positioning and positioning code clarity for argon / triangles implementations 2023-06-26 16:20:51 +09:00
Dean Herbert
ba7f472247 Split padding out into constant to fix weird looking math 2023-06-26 16:05:57 +09:00
Dean Herbert
0c869367e1
Merge branch 'master' into hud/kc-skinnable 2023-06-26 15:53:16 +09:00
Dan Balasescu
e1d723a2cc Merge branch 'master' into diffcalc-total-scorev1 2023-06-26 14:32:14 +09:00
Bastian Pedersen
506829d9a5
Merge branch 'master' into localise-multiplayer-countdown-buttons 2023-06-26 07:28:05 +02:00