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

65124 Commits

Author SHA1 Message Date
Bartłomiej Dach
5cb17bcacf
Merge pull request #26502 from frenzibyte/prevent-submission-with-invalid-mods
Add guard against submitting score with invalid mod instances
2024-01-17 11:39:32 +01:00
Dean Herbert
0ddd89a5b8
Merge pull request #26579 from bdach/accuracy-rank-lazer-score-reimport
Fix incorrect accuracy and rank population when decoding lazer replays
2024-01-17 19:33:26 +09:00
Dean Herbert
c623956b3f
Merge pull request #26576 from bdach/flashlight-broke
Fix flashlight not dimming if slider head is hit early
2024-01-17 19:23:00 +09:00
Dean Herbert
456a8e6e82
Merge pull request #26549 from bdach/hit-error-meter-pooling-bad
Fix `ColourHitErrorMeter` not loading pooled drawables ahead of time
2024-01-17 18:43:47 +09:00
Dean Herbert
ee18123fc2
Merge pull request #26340 from stanriders/user-rank-card
Add user card with global/country ranks to login overlay
2024-01-17 17:22:33 +09:00
Dean Herbert
c1c2e61723
Merge pull request #26446 from LeNitrous/add/replay-playback-controls
Add replay playback controls
2024-01-17 17:06:15 +09:00
Dean Herbert
353df2f312
Fix one more incorrect bindable flow and simplify string setters 2024-01-17 17:00:56 +09:00
Dean Herbert
66c7a29e79
Add comment about messy methods 2024-01-17 16:57:22 +09:00
Dean Herbert
fe06402951
Fix incorrect bindable usage 2024-01-17 16:50:48 +09:00
Dean Herbert
e97b31d82e
Fix test failures 2024-01-17 16:40:45 +09:00
Dean Herbert
e7732caaf7
Make PlayerSettingsOverlay's api more stringent 2024-01-17 15:13:59 +09:00
Dean Herbert
2788bd912e
Add tooltips and localisation 2024-01-17 15:12:33 +09:00
Salman Ahmed
0adfe5f348
Merge pull request #26564 from peppy/drag-volume-controls
Allow adjusting volume controls via a drag
2024-01-17 09:09:36 +03:00
Dean Herbert
e53989faeb
Change replay playback adjustment to skew frequency, not tempo 2024-01-17 15:02:42 +09:00
Dean Herbert
042e852a3e
Adjust playback speed range to allow slower minimum speed 2024-01-17 15:02:42 +09:00
Dean Herbert
42f64c2c44
Move load procedure to async method and simplify code 2024-01-17 15:02:42 +09:00
Salman Ahmed
23e5167cb5
Merge branch 'master' into drag-volume-controls 2024-01-17 08:37:34 +03:00
Salman Ahmed
1790a5df03 Remove redundant value to appease CI 2024-01-17 08:29:55 +03:00
Salman Ahmed
a34d2a3424 Add small volume meter to test feel 2024-01-17 08:28:47 +03:00
Dean Herbert
9cde04c30c
Change drag adjustments to be linear (and account for partial deltas) 2024-01-17 14:12:12 +09:00
Dean Herbert
68fb1b8663
Merge pull request #26573 from EVAST9919/leaderboard-glow-remove
Fix multiple issues with `GlowingSpriteText`
2024-01-17 13:17:03 +09:00
Bartłomiej Dach
17b9d842ab
Fix incorrect accuracy and rank population when decoding lazer replays
Closes https://github.com/ppy/osu/issues/24061.

The gist of this change is that if the `LegacyReplaySoloScoreInfo`
bolt-on is present in the replay, then it can (and is) used to recompute
the accuracy, and rank is computed based on that.

This was the missing part of
https://github.com/ppy/osu/issues/24061#issuecomment-1888438151.
The accuracy would change on import before that because the encode
process is _lossy_ if the `LegacyReplaySoloScoreInfo` bolt-on is not
used, as the legacy format only has 6 fields for encoding judgement
counts, and some judgements that affect accuracy in lazer do not fit
into that.

Note that this _only_ fixes _relatively_ new lazer scores looking wrong
after reimport.

- Very old lazer scores, i.e. ones that don't have the
  `LegacyReplaySoloScoreInfo` bolt-on, obviously can't use it
  to repopulate. There's really not much good that can be done there,
  so the stable pathways are used as a fallback that always works.

- For stable replays, `ScoreImporter` recalculates the accuracy of
  the score _again_ in

  15a5fd7e4c/osu.Game/Scoring/ScoreImporter.cs (L106-L110)

  as `StandardisedScoreMigrationTools.UpdateFromLegacy()` recomputes
  _both_ total score and accuracy.

  This makes a _semblance_ of sense as it attempts to make the accuracy
  of stable and lazer replays comparable. In most cases it also won't
  matter, as the only ruleset where accuracy changed between the legacy
  implementation and current lazer accuracy is mania.

  But it is also an inaccurate process (as, again, some of the required
  data is not in the replay, namely judgement counts of ticks
  and so on).

  For whatever's worth, a similar thing happens server-side in

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L319)

- However, _ranks_ of stable scores will still use the local stable
  reimplementation of ranks, i.e. a 1-miss stable score in osu! ruleset
  will be an A rather than an S. See importer:

  106c2948db/osu.Server.Queues.ScoreStatisticsProcessor/Commands/Queue/BatchInserter.cs (L237)

  (it's the same method which is renamed
  to `PopulateLegacyAccuracyAndRank()` in this commit).

  That is all a bit of a mess honestly, but I'm not sure where to even
  begin there...
2024-01-16 22:38:53 +01:00
Bartłomiej Dach
1075b87fb8
Add failing test coverage 2024-01-16 22:38:52 +01:00
Salman Ahmed
15a5fd7e4c
Merge pull request #26575 from bdach/touch-device-multiplayer
Fix touch device not always activating when it should
2024-01-16 22:35:59 +03:00
Salman Ahmed
e5f67173e5
Merge branch 'master' into touch-device-multiplayer 2024-01-16 22:09:17 +03:00
Bartłomiej Dach
24741e9615
Add some more test coverage for good measure 2024-01-16 18:56:58 +01:00
Bartłomiej Dach
d0e9402761
Fix flashlight not dimming if slider head is hit early
Closes https://github.com/ppy/osu/issues/26551

Fix is a bit nuclear (`OnUpdate` should be considered last resort),
but I don't see many better alternatives here as
`ApplyCustomUpdateState` does not work...
2024-01-16 18:56:50 +01:00
Bartłomiej Dach
e9e5a0b08c
Add failing test case 2024-01-16 18:56:50 +01:00
Bartłomiej Dach
b16152811d
Use until step instead 2024-01-16 17:54:49 +01:00
Dean Herbert
658fa14a92
Merge pull request #26562 from kyubxy/spinner-speed-fix
Make spinner-top and spinner-middle2 spin at different speeds to match stable
2024-01-17 01:24:36 +09:00
Bartłomiej Dach
a9d086c119
Fix touch device not always activating when it should
See https://github.com/ppy/osu/discussions/26574
2024-01-16 17:12:40 +01:00
Bartłomiej Dach
7a7548e89d
Add failing test coverage 2024-01-16 17:09:04 +01:00
Andrei Zavatski
dfdf700560 Don't use glowing text in ScoreComponentLabel 2024-01-16 17:43:17 +03:00
Andrei Zavatski
7920e93fa9 Rework GlowingSpriteText 2024-01-16 17:43:16 +03:00
Justin
7736445659
Merge branch 'master' into spinner-speed-fix 2024-01-17 01:40:53 +11:00
Salman Ahmed
485195d4c2 Fix submission test not asserting properly 2024-01-16 14:27:40 +03:00
Salman Ahmed
90da39c65d Fix helper method returning incorrect result 2024-01-16 14:27:30 +03:00
Salman Ahmed
2935bd4809 Add test cases for helper method 2024-01-16 14:27:24 +03:00
Bartłomiej Dach
c27f01dc14
Merge pull request #26565 from peppy/fix-leaderboard-display
Fix some elements not showing on leaderboard scores when almost off-screen
2024-01-16 11:30:52 +01:00
Bartłomiej Dach
cde0c0b2ee
Merge pull request #26561 from peppy/fix-catch-banana-health-bar
Fix argon health bar showing "miss" bar for bananas
2024-01-16 11:04:38 +01:00
Bartłomiej Dach
a3b7943e7d
Merge pull request #26560 from peppy/fix-skin-loss
Fix skin potentially being lost when opening and closing skin editor rapidly
2024-01-16 10:16:30 +01:00
Bartłomiej Dach
805a9b56ec
Merge pull request #26557 from peppy/fix-silver-s-ss
Fix silver S/SS not being awarded correctly
2024-01-16 10:03:20 +01:00
Dean Herbert
ee26329353
Fix some elements not showing on leaderboard scores when almost off-screen 2024-01-16 16:44:50 +09:00
Dean Herbert
cdc6621f33
Allow adjusting volume controls via a drag 2024-01-16 16:37:05 +09:00
Dean Herbert
2be8d66d4c
Fix argon health bar showing "miss" bar for bananas 2024-01-16 15:52:18 +09:00
Dean Herbert
57a6025a2c
Add helper method to bypass judgement woes 2024-01-16 15:52:05 +09:00
Dean Herbert
24a06e1d65
Merge pull request #26479 from EVAST9919/argon-health-rework
Rework `ArgonHealthDisplay` to use shaders
2024-01-16 15:27:31 +09:00
Dean Herbert
cd02d00c03
Fix skin potentially being lost when opening and closing skin editor rapidly 2024-01-16 15:23:07 +09:00
Dean Herbert
0e41d0c9cf
Add failing test coverage of skin getting nuked
This doesn't fail in headless unfortunately.

Run a few times manually to confirm.
2024-01-16 15:22:38 +09:00
Justin
e3ab7b1e9f Update disctop to use turnratio like stable 2024-01-16 17:22:22 +11:00