Bartłomiej Dach
d66fa09320
Simplify UserStatus
to be an enumeration type
...
There were absolutely no gains from having it be a reference type /
class, only complications, especially when coming from the serialisation
angle.
2023-12-06 18:52:27 +01:00
Bartłomiej Dach
cb823f367f
Simplify UserActivity
for serialisability over the wire
...
Up until now, the `UserActivity` class hierarchy contained things like
beatmap info, room info, full replay info, etc. While this was
convenient, it is soon going to be less so, as the data is sent over the
wire to the spectator server so that the user's activity can be
broadcast to other clients.
To counteract this without creating a second separate and slimmed-down
class hierarchy, slim down the `UserActivity` structure to contain the
bare minimum amounts of data such that the structures aren't overly
large and complex to serialise, but also contain enough data that they
can be used by receiving clients directly without having to do beatmap
or score lookups.
2023-12-06 18:52:26 +01:00
Bartłomiej Dach
f239d03d75
Forcibly change ruleset to correct one before entering gameplay from main menu
...
Closes #25663 (again).
As it turns out, in some scenarios it can be the case that the current
game-global `Beatmap` is not valid for the current game-global
`Ruleset`. The validity of one and the other in conjunction is only
really validated by the song select screen; elsewhere there is no
guarantee that the global beatmap is playable using the global ruleset.
However, this only comes up in very specific circumstances, namely one:
when trying to autoplay a catch beatmap with osu! ruleset globally
active via the skin editor flow.
`Player` is responsible for retrieving the beatmap to be played. It does
so by invoking the appropriate beatmap converter and asking it if the
beatmap can be converted:
6d64538d7a/osu.Game/Beatmaps/WorkingBeatmap.cs (L262-L266)
If the code above throws, `Player` actually silently covers for this, by
trying the beatmap's default ruleset instead:
6d64538d7a/osu.Game/Screens/Play/Player.cs (L529-L536)
However, for the pairing of osu! ruleset and catch beatmap, this fails,
as `OsuBeatmapConverter`'s condition necessary for permitting conversion
is that the objects have a defined position:
6d64538d7a/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs (L25)
which they will do, due to the fact that all catch beatmaps are really
just osu! beatmaps but with conversion steps applied, and thus `Player`
succeeds to load the catch beatmap in osu! ruleset.
In the skin editor scenario, this would lead to the secondary failure
of the skin editor trying to apply `CatchModAutoplay` on top of all
of that, which would fail at the hard-cast of the beatmap
to `CatchBeatmap`.
2023-12-06 10:35:41 +01:00
Bartłomiej Dach
6d64538d7a
Merge pull request #25687 from peppy/fix-skin-editor-beatmap-change
...
Fix being able to change ruleset / beatmap when opening skin editor from main menu
2023-12-06 10:08:29 +01:00
Bartłomiej Dach
f69a5b44cc
Merge branch 'master' into fix-argon-initial-display
2023-12-06 09:30:28 +01:00
Bartłomiej Dach
4585a169b1
Merge pull request #25686 from peppy/fix-song-select-match
...
Fix searching at song select matching incorrect ruleset
2023-12-06 09:25:47 +01:00
Dean Herbert
ca991f1f54
Move flags local to EndlessPlayer
2023-12-06 17:18:35 +09:00
Dean Herbert
1b50d1011a
Move constant local to taiko
2023-12-06 15:59:34 +09:00
Dean Herbert
b5bae566c2
Fix incorrect slider velocity being written on export for osu!taiko beatmaps
2023-12-06 15:59:34 +09:00
Dean Herbert
0af16732b8
Change default slider velocity to 1.4
...
This is the default in osu!stable and plays better than 1.0.
2023-12-06 13:38:46 +09:00
Dean Herbert
4da6d53c72
Merge pull request #25672 from frenzibyte/fix-argon-health-display-2
...
Fix `ArgonHealthDisplay` sometimes behaving weirdly on miss judgements (alternative)
2023-12-06 12:24:39 +09:00
Dean Herbert
639fac2d49
Fix being able to change ruleset / beatmap when opening skin editor from main menu
...
No tests because it would be silly to test this – it's already a well
established behaviour and was just initialised incorrectly.
2023-12-06 12:09:34 +09:00
Dean Herbert
8286d3896f
Fix searching at song select matching incorrect ruleset
...
Regressed with https://github.com/ppy/osu/pull/25679 .
2023-12-06 11:32:26 +09:00
POeticPotatoes
07f9f5c6d8
Remove hover checks for mod-copying menu item
2023-12-06 06:33:25 +08:00
Salman Ahmed
f45336a4f6
Make skin dropdown searching non-contiguous
2023-12-05 22:53:48 +03:00
Salman Ahmed
d4aedaf22d
Always show search bar in skin dropdown for visibility
2023-12-05 22:53:48 +03:00
Salman Ahmed
ee2e176082
Add osu! dropdown search bar implementation
2023-12-05 22:53:48 +03:00
Salman Ahmed
d92db8059e
Add new dropdown properties to SettingsDropdown
2023-12-05 22:53:48 +03:00
Salman Ahmed
b8b82f8901
Handle back action in OsuDropdown
rather than menu
2023-12-05 22:47:10 +03:00
Salman Ahmed
a0813d18ca
CalculatedTextSize
-> FontSize
2023-12-05 22:47:10 +03:00
Salman Ahmed
20fd458fac
Perserve miss animation when followed by a hit at same frame
2023-12-05 21:59:28 +03:00
Salman Ahmed
9496cdf42b
Add explanatory note for scheduling
2023-12-05 21:59:28 +03:00
Salman Ahmed
927cfe4257
Fix health processor event leaks
2023-12-05 21:59:28 +03:00
Bartłomiej Dach
88095aaefa
Merge pull request #25637 from smoogipoo/multiplayer-abort
...
Add ability for the host to abort an in-progress match
2023-12-05 13:51:00 +01:00
Bartłomiej Dach
4644c4e7a2
Remove unused class
2023-12-05 12:43:32 +01:00
Bartłomiej Dach
566d336470
Merge pull request #25679 from peppy/song-select-search-performance
...
Improve song select search performance
2023-12-05 11:06:31 +01:00
Dean Herbert
8704dc3505
Fix change in filter behaviour
2023-12-05 18:20:27 +09:00
Dean Herbert
5a2240838b
Merge branch 'master' into multiplayer-abort
2023-12-05 17:01:54 +09:00
Dean Herbert
02178d8e61
Remove usage of case-when
2023-12-05 16:58:16 +09:00
Dean Herbert
f317e06da1
Use DangerousActionDialog
2023-12-05 16:54:44 +09:00
Dean Herbert
7b9c9a3bfd
Merge pull request #25675 from vegguid/editor-setup-show-filename
...
Changed the LabelledFileChooser in the setup to show the file name of the file that is was selected
2023-12-05 16:38:07 +09:00
Dean Herbert
45e499778f
Search terms before performing other criteria checks
...
Very minor, but putting the more common case towards the
start of the method allows early return.
2023-12-05 15:28:56 +09:00
Dean Herbert
42010574b5
Avoid list construction when doing filtering
2023-12-05 15:26:14 +09:00
Dean Herbert
27e778ae09
Avoid sorting items when already in the correct sort order
2023-12-05 14:47:32 +09:00
Dean Herbert
7fda38d0b0
Use ordinal comparison when searching at song select
...
Bypasses various overheads. In theory should be fine? (until it's not on some language)
2023-12-05 14:14:13 +09:00
Guido
8756dd25c6
Changed file chooser in resource selection to show file name when file is selected
2023-12-04 22:51:56 +01:00
Salman Ahmed
629e64d50a
Fix ArgonHealthDisplay
not displaying miss correctly during initial transition
2023-12-04 23:55:31 +03:00
Salman Ahmed
4d82a55594
Remove method for being unused
2023-12-04 23:24:28 +03:00
Salman Ahmed
5723715ea0
Fix ArgonHealthDisplay
sometimes behaving weirdly on miss judgements
2023-12-04 23:24:28 +03:00
Susko3
0e47492858
Uncomment net6.0 code and remove old code
2023-12-04 20:17:22 +01:00
Dean Herbert
c5a08a0711
Remove unused using statement
2023-12-04 23:06:08 +09:00
Bartłomiej Dach
5512298d60
Trim unused resolved bindable
2023-12-04 15:01:23 +01:00
Bartłomiej Dach
8754fa40f4
Source autoplay mod from beatmap about to be presented rather than ambient global
2023-12-04 14:42:51 +01:00
Bartłomiej Dach
063694f544
Do not attempt to load gameplay scene if current beatmap is dummy
2023-12-04 14:42:51 +01:00
Bartłomiej Dach
9d39b70e38
Fix endless player not handling load failure
2023-12-04 14:42:51 +01:00
Bartłomiej Dach
055fb5bd8f
Do not set initial activity in skin editor endless player
...
Seems like an overreach to say that the user is "watching a replay"
there.
2023-12-04 14:42:51 +01:00
Dan Balasescu
8587652869
Fix countdown button being enabled
2023-12-04 11:00:11 +09:00
Dan Balasescu
c2644a5d5e
Correctly implement button enabled state
2023-12-04 10:18:37 +09:00
Dan Balasescu
b56a78c6ec
Adjust with framework changes
2023-12-04 08:51:21 +09:00
Susko3
abb4c943a7
Rename to more readable names
2023-12-01 18:35:57 +01:00
Bartłomiej Dach
30a4e77097
Merge branch 'master' into fix-overlapping-chat-links
2023-12-01 14:30:55 +01:00
Bartłomiej Dach
28aa98ab6a
Merge branch 'master' into cleanup-chat-link-test
2023-12-01 13:34:42 +01:00
Dan Balasescu
f3530a79b1
Add test
2023-12-01 21:34:20 +09:00
Bartłomiej Dach
cdaff30aa6
Update framework
2023-12-01 13:24:51 +01:00
Dan Balasescu
1b0fc8ca9d
Refactor
2023-12-01 20:41:41 +09:00
Dan Balasescu
15c9416244
Rename method
2023-12-01 18:47:40 +09:00
Dan Balasescu
a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch
2023-12-01 18:26:59 +09:00
Dan Balasescu
894c31753b
Add initial support for aborting multiplayer games
2023-12-01 15:31:06 +09:00
Susko3
d3517998cf
Use common Overlaps()
logic
...
This actually fixes the problem and makes the tests pass
2023-12-01 01:11:10 +01:00
Susko3
30bdd2d4c0
Extract Overlaps()
logic to accept generic index and length
2023-12-01 01:07:23 +01:00
Susko3
152c7e513e
Ignore overlapping links instead of crashing
2023-12-01 00:54:13 +01:00
Joseph Madamba
d2324cd8f9
Fix chat overlay top bar icon being incorrect
2023-11-30 10:20:01 -08:00
Dean Herbert
3553717cc6
Fix results screen not including slider end misses in tick count
2023-11-29 21:28:25 +09:00
Dean Herbert
1cfcaee121
Reorder badges so that SS shows above others
...
This isn't perfect and probably needs much more consideration, but let's
at least give the "better" ranks more visibility by bringing them to the
front.
Of note, this is only important due to the changes to osu!catch
accuracy-grade cutoffs, which brings things closer in proximity than
ever before.
2023-11-29 20:29:52 +09:00
Dan Balasescu
295a1b01d6
Adjust catch score grade cutoffs
2023-11-29 19:05:31 +09:00
Dean Herbert
537c9e031d
Merge pull request #25522 from bdach/no-concurrent-connections
...
Implement flow allowing disconnection from online services when another client instance for same user is detected
2023-11-28 19:09:38 +09:00
Dean Herbert
efb6c30252
Merge branch 'master' into scoring-test-mods
2023-11-28 18:38:50 +09:00
Dean Herbert
51de98f341
Use Logger.Storage
rather than locally querying
2023-11-28 17:59:21 +09:00
Dean Herbert
4c2819dbc2
Update button text and make localisable
2023-11-28 17:59:05 +09:00
Dean Herbert
11f1f44237
Add button to compress log files for bug submission
2023-11-27 17:13:11 +09:00
Dean Herbert
ff18f80559
Apply NRT to UpdateSettings
2023-11-27 16:56:11 +09:00
Bartłomiej Dach
874a3706bc
Merge branch 'master' into spinner-glow
2023-11-27 15:06:27 +09:00
Bartłomiej Dach
3f73610ee7
Update framework ^& resources
2023-11-27 15:06:11 +09:00
Bartłomiej Dach
e2d51973ce
Merge pull request #25569 from smoogipoo/legacy-hp-abstraction
...
Encapsulate common HP logic from osu and catch HP calculations
2023-11-27 14:38:41 +09:00
Bartłomiej Dach
6eebf633c6
Merge pull request #25566 from peppy/show-spectator-fail-2
...
Fix spectator not immediately showing when a spectated user fails
2023-11-27 13:30:18 +09:00
Dean Herbert
a4be28a2ae
Don't show buttons on fail overlay when player interaction is disabled
2023-11-27 12:25:24 +09:00
Bartłomiej Dach
98ab9853ce
Merge branch 'master' into show-spectator-fail-2
2023-11-27 12:24:59 +09:00
Bartłomiej Dach
e8730fae84
Merge branch 'master' into skin-editor-load-gameplay
2023-11-27 12:14:25 +09:00
Bartłomiej Dach
7e3bb5f8db
Make skin editor overlay dependency nullable to fix tests
2023-11-27 12:09:13 +09:00
Bartłomiej Dach
3f48f4acdf
Remove blank line
2023-11-27 12:06:08 +09:00
Bartłomiej Dach
19639de299
Merge branch 'master' into fix-spectator-quit-2
2023-11-27 11:36:10 +09:00
Bartłomiej Dach
7f788058cd
Revert incorrect xmldoc change
2023-11-27 11:35:10 +09:00
Bartłomiej Dach
1388e492b1
Merge branch 'master' into chat-drag-improvements
2023-11-27 10:46:55 +09:00
Bartłomiej Dach
6f66819e51
Privatise setter
2023-11-27 10:44:50 +09:00
Salman Ahmed
68fca00757
Improve handling of beatmap collection changes in CollectionDropdown
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2023-11-25 02:40:32 +03:00
Zyf
71e5654b64
Account for legacyAccScore in score conversion
2023-11-24 23:07:27 +01:00
Zyf
27f9dfccc4
Fix scoring-conversion when miss-count is 0
2023-11-24 22:05:24 +01:00
Dean Herbert
a6cf1e5d2e
Make osu! logo do something when in edit submenu
2023-11-25 00:53:25 +09:00
Dean Herbert
a44edfdedd
Fix incorrect sample for top level edit button
2023-11-24 19:37:57 +09:00
Dan Balasescu
8314f656a3
Encapsulate common HP logic from osu and catch HP calculations
2023-11-24 18:32:06 +09:00
Dean Herbert
3015135178
Merge branch 'master' into chat-drag-improvements
2023-11-24 18:13:18 +09:00
Dean Herbert
7153c823e8
Choose a better beatmap if the intro is still playing
...
Also skip intro time.
2023-11-24 17:47:20 +09:00
Dean Herbert
95229cb336
Show gameplay when loading the skin editor from the main menu
2023-11-24 17:47:20 +09:00
Dean Herbert
290c3d6349
Clean up left-overs
2023-11-24 17:46:23 +09:00
Dean Herbert
3b41480bef
Always show drag bar on mobile
2023-11-24 17:46:02 +09:00
Dean Herbert
de1d921383
Merge branch 'master' into menu-skin-editor-button
2023-11-24 17:39:54 +09:00
Dean Herbert
55df8e81b9
Merge pull request #25560 from peppy/hexacons-sprite-icon
...
Replace all hexacon lookups with strongly typed properties
2023-11-24 17:38:58 +09:00
Dean Herbert
59800821da
Update framework
2023-11-24 16:44:18 +09:00
Dean Herbert
7600595e5d
Add drag bar on chat overlay to better signal resizability
2023-11-24 16:39:54 +09:00
Dean Herbert
36b45d34f7
Check drag location on mouse down instead of drag start to avoid lenience issues
2023-11-24 16:39:29 +09:00
Dean Herbert
e3217bc82e
Merge branch 'master' into hp-drain-fix-breaks
2023-11-24 15:15:48 +09:00
Dan Balasescu
289cda71b2
Fix inspections
2023-11-24 15:06:51 +09:00
Dean Herbert
7ceb49fbc0
Add extra test coverage and handle case where still at loading screen
2023-11-24 15:05:39 +09:00
Dean Herbert
d3a55d83c0
Schedule FailScore
inside onFail
instead of onFailComplete
2023-11-24 14:44:57 +09:00
Dean Herbert
ef5dd24589
Update failing test coverage and fix onFail
being called too often
2023-11-24 14:44:57 +09:00
Dean Herbert
4ad3cb3b49
Submit and send failed spectator state more aggressively
2023-11-24 14:44:57 +09:00
Dean Herbert
8375dd72d6
Add xmldoc to new AllowFail
method
2023-11-24 14:44:57 +09:00
Dean Herbert
ca93fdc94b
Add visualisation of when a spectated player fails
...
Create a new stack each time for isolation and safety
2023-11-24 14:44:57 +09:00
Dean Herbert
b024065857
Remove implicit schedule of abstract
methods in SpectatorScreen
...
This allows each implementation to have control over scheduling. Without
this, the solo implementation would not be able to handle quit events
while watching a player, as it would push a child (gameplay) screen to
the stack where the `SpectatorScreen` would usually be.
2023-11-24 14:26:09 +09:00
Dean Herbert
ed5375536f
Reduce access to various fields and events in SpectatorClient
...
Restore some `virtual` specs to appease Moq
2023-11-24 14:26:09 +09:00
Dean Herbert
335e8efff7
Apply NRT to SoloSpecatorScreen
2023-11-24 14:26:09 +09:00
Dean Herbert
dabbdf674b
Rename SoloSpectator
to SoloSpectatorScreen
2023-11-24 14:26:08 +09:00
Dean Herbert
4c7d2bb0fb
Apply NRT to SpectatorScreen
2023-11-24 14:26:08 +09:00
Dean Herbert
b8179aa875
Use better(?) icons and full strings
2023-11-24 13:23:47 +09:00
Dean Herbert
a069a673fa
Allow buttons to be displayed on more than one state (and share the back button)
2023-11-24 13:18:17 +09:00
Dean Herbert
1d1b3ca982
Apply NRT to MainMenuButton
2023-11-24 13:18:17 +09:00
Dean Herbert
8ad414488a
Play out previous transforms immediately to avoid flow issues with multiple sub menus
2023-11-24 13:18:17 +09:00
Dean Herbert
7e59a1d0be
Apply NRT to ButtonSystem
2023-11-24 13:18:17 +09:00
Dean Herbert
5905ca6492
Add second level menu for skin editors
2023-11-24 13:18:17 +09:00
Dean Herbert
340227a06d
Replace all hexacon lookups with strongly typed properties
2023-11-24 13:17:39 +09:00
Dean Herbert
95c00f9666
Add HexaconIcons
lookup to allow usage with SpriteIcon
2023-11-24 13:17:39 +09:00
Dean Herbert
537b0ae870
Add silly annotation for now (more new r# rules)
2023-11-24 12:47:42 +09:00
Bartłomiej Dach
9541d3d452
Merge pull request #25553 from peppy/skin-player-elements
...
Allow use of skin username/flag/avatar components outside of gameplay
2023-11-24 11:28:01 +09:00
Bartłomiej Dach
02c794cc1f
Merge pull request #25552 from peppy/fix-r#-inpsections
...
Fix a couple of new r# inspections
2023-11-24 11:04:08 +09:00
Bartłomiej Dach
ca37e1afc2
Merge branch 'master' into scorev3
2023-11-24 10:37:10 +09:00
Bartłomiej Dach
7590bae445
Rename and comment everything in score migration code
...
Hopefully, _hopefully_, makes all this a little bit less inscrutable.
2023-11-24 10:34:13 +09:00
Dean Herbert
686afa9697
Merge branch 'master' into fix-combo-handling
2023-11-24 10:30:52 +09:00
Dan Balasescu
10e16e4b04
Fix handling of combo offset without new combo, and incorrect lazer tests
2023-11-24 09:46:06 +09:00
Givikap120
93e3156868
slight format changes
2023-11-24 01:07:37 +02:00
Givikap120
c2a44cf118
Made custom tooltip
2023-11-23 23:30:18 +02:00
Dean Herbert
268b965ee8
Enable NRT on Beatmap
2023-11-23 17:28:16 +09:00
Dean Herbert
5239fee947
Allow use of skin username/flag/avatar components outside of gameplay
2023-11-23 17:15:03 +09:00
Dean Herbert
a80a5be4ec
Fix a couple of new r# inspections
2023-11-23 17:11:40 +09:00
Dean Herbert
9a6857bfad
Merge pull request #25530 from yesseruser/FlagHUD
...
Fix skin element "PlayerFlag" responding to clicks/hovers
2023-11-23 16:51:09 +09:00
Dean Herbert
191e8c5487
Add note about skin editor reload jank
2023-11-23 16:39:05 +09:00
Dan Balasescu
7bc2d6e6cd
Merge branch 'master' into fix-combo-handling
2023-11-23 16:22:01 +09:00
Dean Herbert
5d367c247c
Merge pull request #25547 from bdach/skin-editor-paste-catching-fire
...
Fix skin editor crashing when pasting with nothing in clipboard
2023-11-23 16:15:11 +09:00
Dan Balasescu
7998204cfe
Fix combo/combo colouring issues around spinners
2023-11-23 13:54:05 +09:00
Bartłomiej Dach
d4519f74ab
Merge branch 'master' into hp-drain-fix-breaks
2023-11-23 10:31:42 +09:00
Bartłomiej Dach
abbcdaa7f7
Fix skin editor crashing when pasting with nothing in clipboard
2023-11-23 09:55:27 +09:00
Dan Balasescu
30309cdf11
Merge pull request #25415 from Poyo-SSB-forks/unify-ur
...
Change unstable rate calculation to account for rate-change mods
2023-11-23 09:53:28 +09:00
Dan Balasescu
5b0f8ee9c2
Merge pull request #25546 from bdach/classic-score-overflow
...
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
2023-11-23 09:03:43 +09:00
Bartłomiej Dach
e28e0ef1cc
Fix classic scoring overflowing in osu! ruleset due to integer multiplication overflow
...
Closes https://github.com/ppy/osu/issues/25545 .
2023-11-23 08:16:25 +09:00
Dean Herbert
52dc02fd32
Merge pull request #25418 from smoogipoo/hp-drain-v1-2
...
Add `OsuHealthProcessor` that uses the legacy drain rate algorithm
2023-11-23 00:08:20 +09:00
yesseruser
82fec4194d
Disabled RecievePositionalInputAtSubTree in PlayerFlag.
2023-11-22 15:45:32 +01:00
yesseruser
08e0279d72
Revert "Renamed UpdateableFlag to ClickableUpdateableFlag."
...
This reverts commit 671177e871
.
2023-11-22 15:25:43 +01:00
yesseruser
be8b59e59d
Revert "Created and implemened a BaseUpdateableFlag."
...
This reverts commit cd7e0bf620
.
2023-11-22 15:25:35 +01:00
yesseruser
7bc304f20e
Revert "Added a BaseDrawableFlag without a tooltip, and used it."
...
This reverts commit b2f74325ef
.
2023-11-22 15:25:17 +01:00
yesseruser
33de27499a
Merge branch 'master' into FlagHUD
2023-11-22 14:36:20 +01:00
Dan Balasescu
cb4568c4a1
Fix first object after break not starting a new combo
2023-11-22 17:22:48 +09:00