1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-21 23:27:25 +08:00
Commit Graph

64409 Commits

Author SHA1 Message Date
Bartłomiej Dach
5991c49541
Merge pull request #25702 from smoogipoo/re-fix-mania-conversion
Re-fix mania conversion following new discoveries
2023-12-08 14:37:12 +01:00
Bartłomiej Dach
9a83d7be81
Ensure that SoloScoreInfo serialisation result does not contain interface members 2023-12-08 09:27:12 +01:00
Dan Balasescu
0fe2e1e8d6
Re-fix mania conversion following new discoveries 2023-12-08 16:33:10 +09:00
Bartłomiej Dach
07da9d95a9
Merge pull request #25689 from peppy/taiko-multiplier-fix
Fix osu!taiko slider velocity being written incorrectly to `.osu` file on export
2023-12-07 14:12:42 +01:00
Bartłomiej Dach
54f11a0dad
Merge pull request #25697 from smoogipoo/fix-mania-conversion
Fix precision issue when converting mania beatmaps
2023-12-07 12:49:41 +01:00
Dean Herbert
2df15698b6
Merge pull request #25694 from bdach/online-presence
Display other users' online presence state in dashboard overlay
2023-12-07 19:13:51 +09:00
Dean Herbert
ea0ad2a0ef
Merge branch 'master' into online-presence 2023-12-07 17:42:46 +09:00
Dean Herbert
3c29e9162c
Merge pull request #25693 from bdach/online-presence-structure-serialisation
Simplify user presence structures for serialisability
2023-12-07 17:39:21 +09:00
Bartłomiej Dach
73a491216c
Merge pull request #25695 from smoogipoo/fix-osu-conversion
Fix last tick handling in osu beatmap conversion tests
2023-12-07 09:09:12 +01:00
Bartłomiej Dach
9e93ca9679
Merge branch 'master' into taiko-multiplier-fix 2023-12-07 08:36:44 +01:00
Dean Herbert
323808ad1e
Add more inline commenting around VELOCITY_MULTIPLIER application to TimeRange 2023-12-07 16:34:26 +09:00
Bartłomiej Dach
856310e954
Remove reference to removed comment from another comment 2023-12-07 08:22:01 +01:00
Dean Herbert
07dc44ccd7
Make log export async and show notification on completion 2023-12-07 16:19:17 +09:00
Dan Balasescu
005fb78994
Fix last tick handling in osu beatmap conversion tests 2023-12-07 16:02:00 +09:00
Dean Herbert
0553de768c
Enforce namespace body style 2023-12-07 15:26:02 +09:00
Dan Balasescu
d6cb8b70bb
Fix FP precision issue when converting mania beatmaps 2023-12-07 12:26:02 +09:00
Dean Herbert
a500f55ec6
Merge pull request #25688 from peppy/match-default-sv
Change default slider velocity for new beatmaps to match osu!stable
2023-12-07 11:52:16 +09:00
OliBomby
7b49db05d1 Update default parameters to be slightly better 2023-12-07 01:15:42 +01:00
OliBomby
a2ec75d824 Fix illegal circle arc with center out of polygon 2023-12-07 00:57:29 +01:00
OliBomby
89859b85b7 add controllable leniency 2023-12-07 00:43:34 +01:00
OliBomby
1930476192 Add circle arc segments 2023-12-07 00:26:13 +01:00
Bartłomiej Dach
37049d41b4
Show user's status as tooltip on the extended user panel 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
86e003aec1
Update currently online display tests 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
54f3a622be
Retrofit user presence watching into dashboard overlay 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
41c33f74f2
Extend metadata client with user presence-observing capabilities 2023-12-06 19:37:35 +01:00
Bartłomiej Dach
602550b9c2
Fix test failures 2023-12-06 19:37:28 +01:00
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