1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 16:47:29 +08:00
Commit Graph

64433 Commits

Author SHA1 Message Date
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
OliBomby
22287f3a7f decrease max tolerance 2023-12-06 16:36:24 +01:00
OliBomby
a8f3a0533a Use 4th order BSpline by default 2023-12-06 16:35:59 +01:00
Dean Herbert
b8694aba98
Remove unnecessary prefix
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-12-06 22:00:35 +09: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
faf60cec91
Extend test coverage of skin editor open to fail better 2023-12-06 10:11: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
44beecb840
Test multiple values, including default 2023-12-06 17:16:20 +09:00
Dean Herbert
853d67f9cc
Add test coverage of correct multiplier written to .osu file 2023-12-06 17:14:12 +09:00
Dean Herbert
01c614935b
Revert "Remove pointless test"
This reverts commit 51f9377e3d.
2023-12-06 17:09:12 +09:00
Bartłomiej Dach
2a3761fb29
Merge pull request #25598 from rodrigopina360/tournament-ban-count
Add ban count option to round editor
2023-12-06 08:45:38 +01:00
Dean Herbert
317d581a8a
Merge pull request #25685 from smoogipoo/fix-catch-pixeljump-conversion
Fix several issues around catch beatmap conversion
2023-12-06 16:19:17 +09:00
Dean Herbert
51f9377e3d
Remove pointless test 2023-12-06 16:03:32 +09:00
Dean Herbert
1b50d1011a
Move constant local to taiko 2023-12-06 15:59:34 +09:00
Dean Herbert
8a0d152bcf
Reapply legacy taiko velocity multiplier in all relevant places 2023-12-06 15:59:34 +09:00
Dean Herbert
1cb3c710ba
Remove complex implementation of taiko SV multiplier 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
43dc908257
Fix test value getting clobbered due to stupid stuff
Don't even ask. Just smile and nod.
2023-12-06 15:59:29 +09:00
Dan Balasescu
394ea73055
Add some comments where truncations were added 2023-12-06 14:50:03 +09:00
Dean Herbert
79826dee58
Fix tests which were relying on SliderMultiplier==1 2023-12-06 13:50:10 +09:00
Dean Herbert
f9dd5bd828
Remove unused constant 2023-12-06 13:39:59 +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
Dan Balasescu
40ff95d586
Fix diffcalc tests 2023-12-06 12:27:11 +09:00
Dan Balasescu
2c44ca1915
Add more test beatmaps
Move test files to Catch.Tests project
2023-12-06 12:27:11 +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
2605aafe24
Merge branch 'master' into tournament-ban-count 2023-12-06 12:05:17 +09:00
Dean Herbert
49ca1ccb22
Simplify state reset in test scene 2023-12-06 12:03:54 +09:00
Dean Herbert
73aaa0406a
Add test coverage of multiple bans order 2023-12-06 12:00:32 +09:00
Dean Herbert
1d1b855510
Refactor test for readability 2023-12-06 11:57:04 +09:00
Dean Herbert
ac67320b61
Refactor for readability 2023-12-06 11:50:43 +09:00
Dean Herbert
8afa88eae0
Merge pull request #25683 from POeticPotatoes/master
Remove hover checks for mod-copying menu item
2023-12-06 11:42:21 +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
Bartłomiej Dach
43701c5d47
Prefer using statement to fully qualified name 2023-12-05 21:49:32 +01:00
Bartłomiej Dach
7392cc2fda
Fix headless test failures due to input handling idiosyncrasies 2023-12-05 21:49:04 +01:00
Bartłomiej Dach
2c7db61a5c
Improve test 2023-12-05 21:19:35 +01: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
a67df76654 Add test coverage 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
c55bfc03ee Move private method 2023-12-05 22:06:53 +03:00
Salman Ahmed
20fd458fac Perserve miss animation when followed by a hit at same frame 2023-12-05 21:59:28 +03:00