1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 02:17:46 +08:00
Commit Graph

10444 Commits

Author SHA1 Message Date
Bartłomiej Dach
6aff1d4063
Merge branch 'master' into mod-select-difficulty-multiplier-animation 2023-09-14 16:23:30 +02:00
Bartłomiej Dach
44461b4eff
Merge branch 'master' into mod-select-diff-multiplier-visual-matching 2023-09-14 12:12:23 +02:00
Dan Balasescu
753c1c877c Revert masking SSBO changes 2023-09-13 23:10:13 +09:00
sw1tchbl4d3
8f9cde01aa Add test 2023-09-13 13:38:13 +02:00
Dean Herbert
32946413de Change display text from "difficulty" to "score" multiplier 2023-09-13 20:01:19 +09:00
Dean Herbert
35840bf671 Combine ModCounterDisplay and DifficultyMultiplierDisplay into one class 2023-09-13 18:51:56 +09:00
Bartłomiej Dach
7c65a9de75
Fix Score V1 simulation in scoring test scene incorrectly applying multiplier
`TestSceneScoring` included a local simulation of stable's Score V1
algorithm. One of the parts of said algorithm is a mysterious
"score multiplier", influenced by - among others - the beatmap's drain
rate, overall difficulty, circle size, object count, drain length,
and active mods. (An implementation of this already exists in lazer
source, in `OsuLegacyScoreSimulator`, but more on this later.)

However, `TestSceneScoring` had this multiplier in _two_ places, with
_two_ distinct values, one of which being 1 (i.e. basically off).
Unfortunately, the place that had 1 as the multiplier was the wrong one.

Stable calculates the score increase for every hit in two stages;
first, it takes the raw numerical value of the judgement, but then
applies a combo-based bonus on top of it:

    scoreIncrease += (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));

On the face of it, it may appear that the `ScoreMultiplier` factor
can be factored out and applied at the end only when returning total
score. However, once the above formula is rewritten as:

    scoreIncrease = scoreIncrease + (int)(Math.Max(0, ComboCounter.HitCombo - 1) * (scoreIncrease / 25 * ScoreMultiplier));
                  = scoreIncrease * (1 + (Math.Max(0, ComboCounter.HitCombo - 1) / 25 * ScoreMultiplier))

it becomes clear that that assumption is actually _incorrect_,
and the `ScoreMultiplier` _must_ be applied to every score increase
individually.

The above was cross-checked experimentally against stable source
on an example test map with 100 objects, and a replay hitting them
perfectly.
2023-09-12 21:33:26 +02:00
Bartłomiej Dach
3981e2e957
Only show visible graph values in tooltip 2023-09-12 13:29:02 +02:00
Bartłomiej Dach
15708ee465
Add toggle for showing relative/absolute score values 2023-09-12 13:27:40 +02:00
Bartłomiej Dach
607ceeccb9
Persist visibility state of graphs 2023-09-12 12:19:50 +02:00
Bartłomiej Dach
3cf8082aa7
Add capability to toggle visibility of graph 2023-09-12 12:07:12 +02:00
Bartłomiej Dach
95d15a703e
Improve legibility of scoring test scene
- Add black background to avoid clashes with background images.
- Use sorta-tetradic colours for the four plots.
2023-09-12 11:36:41 +02:00
Dean Herbert
0d7157f727
Merge branch 'master' into map_info_on_mod_settings 2023-09-12 17:16:47 +09:00
Dean Herbert
7e3652284d Adjust various class naming and add some xmldoc 2023-09-12 17:15:16 +09:00
Dean Herbert
b4bedee49e Adjust naming of component to give more context 2023-09-12 15:43:59 +09:00
tsrk.
dbc07bc6dc
fix: provide OverlayColourProvider as a dep in tests 2023-09-12 01:34:17 +02:00
Bartłomiej Dach
824416067e
Fix test failure 2023-09-11 20:53:17 +02:00
tsrk.
8c137353b6
feat: integrate previous usernames tooltip to profile overlay 2023-09-11 15:02:19 +02:00
Bartłomiej Dach
f9d4fbee56
Add collapsed state to effect preview panel 2023-09-11 10:16:24 +02:00
Bartłomiej Dach
589f56d20c
Merge branch 'master' into map_info_on_mod_settings 2023-09-11 09:55:54 +02:00
Bartłomiej Dach
53c30dca64
Fix data flow being sometimes incorrect 2023-09-11 09:53:58 +02:00
Bartłomiej Dach
a631fae6df
Add actual testing 2023-09-11 09:19:37 +02:00
Bartłomiej Dach
2bb869732e
Delete outdated warning disables 2023-09-07 18:47:01 +02:00
Dean Herbert
b34a36f6ce Remove all usage of LegacyDifficultyControlPoint 2023-09-07 17:41:57 +09:00
Dean Herbert
87ec33bb66 Tidy up test 2023-09-07 14:50:22 +09:00
Joseph Madamba
5ee412cc9a
Use @2x variant of profile badges 2023-09-06 16:17:53 -07:00
cdwcgt
68752f95e5
color friend score to pink 2023-09-06 22:58:03 +09:00
Dean Herbert
1a37543d28 Rename SliderVelocity to SliderVelocityMultiplier to distinguish from Velocity 2023-09-06 19:01:08 +09:00
Bartłomiej Dach
eddb879973
Merge pull request #24722 from peppy/beatmap-status-pill-animation
Add animation support for beatmap status pills
2023-09-06 09:59:21 +02:00
Bartłomiej Dach
b5e812eb3e
Merge pull request #24723 from bdach/beatmap-carousel-split-missing-status
Fix status on carousel beatmap set not showing in split difficulty mode
2023-09-06 09:35:38 +02:00
Bartłomiej Dach
b884f1af4a
Assign random statuses to beatmap sets in carousel test
Just to have visual coverage of the statuses before fixing them not
propagating to split difficulty mode.
2023-09-06 08:25:07 +02:00
Dean Herbert
dded7fe6ca
Merge branch 'master' into beatmap-options-popover 2023-09-06 15:16:34 +09:00
Dean Herbert
034c887dcb Add animation support for beatmap status pills
To be used in conjunction with https://github.com/ppy/osu/pull/22116
2023-09-06 15:04:25 +09:00
Joseph Madamba
3f92dae55c
Move star rating display and status pill out of reloadable content 2023-09-05 15:20:20 -07:00
Joseph Madamba
676240928e
Move actual star updating to star rating display 2023-09-05 14:57:55 -07:00
Dean Herbert
96f12cfbaa Update GetTexture signature rather than creating new overload 2023-09-05 18:01:19 +09:00
Dean Herbert
02fefff5e7 Add better testing of options popover 2023-09-05 16:44:46 +09:00
Dean Herbert
340edf68d3 Fix test scene not updating all star counters 2023-09-05 15:59:00 +09:00
Joseph Madamba
9451613391
Rename null beatmap test to indicate there's a background 2023-09-04 21:39:41 -07:00
Joseph Madamba
854bb323cc
Remove weird red edge effect visibility 2023-09-04 21:21:55 -07:00
Joseph Madamba
e0a9c7e9a9
Fix wedge showing abruptly in test 2023-09-04 14:54:58 -07:00
Joseph Madamba
2df2002735
Move negative corner radius margin to constructor 2023-09-04 12:42:01 -07:00
Joseph Madamba
2fbd67cf26
Merge branch 'master' into beatmap_wedge_clean_ii 2023-09-04 11:24:20 -07:00
Joseph Madamba
5abf271b56
Implement beatmap options popover 2023-09-04 00:53:09 -07:00
cdwcgt
58844092d6
post a notification instead a screen 2023-09-04 16:17:21 +09:00
cdwcgt
dfecddbf5d
Merge branch 'master' into missing-beatmap 2023-09-04 12:41:23 +09:00
Magnus-Cosmos
ae9c901b94
Fix BeatmapInfoWedge tests failing due to BPM 2023-09-03 01:45:22 -04:00
Dean Herbert
0f5eff1230 Merge branch 'master' into mania-edit-disable-sv 2023-09-01 19:08:48 +09:00
Bartłomiej Dach
118c86df34
Fix TestSceneUpdateBeatmapSetButton using random difficulty count 2023-08-28 14:57:00 +02:00
Bartłomiej Dach
6251803868
Add failing test coverage of selection not being retained on song select 2023-08-28 10:05:59 +02:00
Bartłomiej Dach
3a6920c306
Add failing test coverage of beatmap update flow w/ split diffs 2023-08-28 09:51:44 +02:00
Dean Herbert
84f4fab9cf Adjust test to actually test diff splitting 2023-08-25 18:09:51 +09:00
Dean Herbert
b471ab07a6
Fix typo in test step
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-24 18:30:59 +09:00
Dean Herbert
ba70d48d2c Fix one more test probably going off-screen 2023-08-24 13:31:33 +09:00
Dean Herbert
4881130cae Limit set/diff count in test to better fit on screen 2023-08-24 03:32:12 +09:00
Dean Herbert
5eac604f8b Add coverage of selection retention when difficulties are split out 2023-08-23 19:44:42 +09:00
Dean Herbert
a64381f855 Add test coverage of add/remove when difficulties are split out 2023-08-23 19:43:08 +09:00
Dean Herbert
5555f73e97 Update test to match new behaviour 2023-08-23 19:38:18 +09:00
Dan Balasescu
e8337c592a Update framework and apply changes to support masking SSBO 2023-08-22 12:50:13 +09:00
Bartłomiej Dach
99c862f894
Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 17:28:10 +02:00
Dean Herbert
b3e7416972 Rename new flag and update xmldoc to match 2023-08-21 19:36:22 +09:00
Dean Herbert
662073c472
Fix some incorrect comments / test step descriptions
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2023-08-21 19:35:04 +09:00
Dean Herbert
db893f3dc7 Merge branch 'master' into fix-score-import-fail-fail-fail 2023-08-21 19:34:12 +09:00
Dean Herbert
e7d61e0002 Fix star fountain directions not matching stable 2023-08-21 17:59:24 +09:00
Bartłomiej Dach
90bef267c8
Merge pull request #24581 from OliBomby/fix-segment-ends
Fix `SliderPath.GetSegmentEnds`
2023-08-21 09:29:13 +02:00
Bartłomiej Dach
479c463751
Explain why segment end positions are not recovered in test 2023-08-21 08:29:51 +02:00
Dean Herbert
8120c3f87a
Merge branch 'master' into precise-rotation-2 2023-08-19 23:25:42 +09:00
Bartłomiej Dach
3d52a1267e
Fix test failures via test-local popover containers 2023-08-19 15:08:30 +02:00
Bartłomiej Dach
2b09594823
Use nunit constraints in test for better debug experience 2023-08-19 14:33:26 +02:00
OliBomby
fbf4d3ac81 Add test 2023-08-18 12:36:34 +02:00
Dan Balasescu
a2fd7707a1 Allow toggling SVs in the editor 2023-08-18 18:55:24 +09:00
Dean Herbert
80a143ae85 Tidy up test a bit more 2023-08-18 18:00:33 +09:00
Krzysztof Gutkowski
046cc62db2 Cleanup tests 2023-08-17 01:11:09 +02:00
Krzysztof Gutkowski
59abb59ee8 Set correct date added value when importing stable beatmapsets 2023-08-17 00:49:48 +02:00
Dean Herbert
59a31cc868
Merge pull request #24431 from bdach/slider-with-textbox-instantaneous
Add instantaneous mode to `SliderWithTextBoxInput`
2023-08-16 20:10:52 +09:00
Bartłomiej Dach
f9ca7f3e0e
Merge pull request #24564 from peppy/multi-spectator-test-improvements
Add various testing improvements to various tournament components
2023-08-16 12:29:36 +02:00
Bartłomiej Dach
bdf87e43db
Merge branch 'master' into slider-with-textbox-instantaneous 2023-08-16 10:48:45 +02:00
Dean Herbert
26d05afadc Add more test coverage to multi spectator screen 2023-08-16 17:14:42 +09:00
Dean Herbert
56eb44d15b Change TestSpectatorClient to provide some better fake data for score / acc 2023-08-16 17:14:42 +09:00
Bartłomiej Dach
4f47b196c1
Merge branch 'master' into fix-unsafe-realm-access 2023-08-16 09:59:17 +02:00
Dean Herbert
a8824c8c8a Remove flaky test documentation for fixed test 2023-08-16 14:30:10 +09:00
cdwcgt
e7b34cd4da
declare BeatmapSet is not null 2023-08-14 03:43:16 +09:00
Bartłomiej Dach
4152b4e523
Remove duplicated test case 2023-08-12 22:46:18 +02:00
QuantumSno
e9bb9434e9 Merge remote-tracking branch 'origin/leaderboard-toggle' into leaderboard-toggle 2023-08-12 00:19:48 -04:00
QuantumSno
562af8b46d Updated test TestSceneGameplayChatDisplay.cs. Now uses new default bind for toggle chat (enter) 2023-08-12 00:18:10 -04:00
Bartłomiej Dach
d91798271d
Add test case covering exit block
Co-authored-by: Joseph Madamba <madamba.joehu@outlook.com>
2023-08-08 22:06:49 +02:00
Joseph Madamba
d179fe3d96
Add support for changelog entries with url attached 2023-08-03 23:24:37 -07:00
Bartłomiej Dach
dde03b7d46
Merge branch 'master' into playfield-skin-layer 2023-08-03 20:42:15 +02:00
cdwcgt
eef63b41da
fetch missing beatmap when import score with missing beatmap 2023-08-02 17:58:05 +09:00
Dean Herbert
0e510088f9 Ensure background of gameplay is black when storyboard is overriding background display 2023-08-02 15:50:15 +09:00
Bartłomiej Dach
5b6c3321cf
Merge branch 'master' into multi-spectator-flow-fixes 2023-08-01 19:03:48 +02:00
Bartłomiej Dach
bcfc76b469
Add visual-only test coverage for centred player case 2023-08-01 17:41:07 +02:00
Dean Herbert
ed0c7e8880 Add failing test coverage showing crash on multiple StartGameplay invocations 2023-08-01 19:21:58 +09:00
Bartłomiej Dach
049215f2dc
Add test coverage for invalid input scenarios 2023-08-01 01:02:16 +02:00
Bartłomiej Dach
4fb0ff8800
Implement instantaneous SliderWithTextBoxInput mode 2023-08-01 01:02:16 +02:00
Bartłomiej Dach
0b019f1d45
Add test covering desired instantaneous behaviour 2023-08-01 01:01:37 +02:00
Bartłomiej Dach
ca81f23356
Add test covering non-instantaneous behaviour 2023-08-01 01:01:37 +02:00
Dean Herbert
528298bc39 Update test in line with framework changes 2023-08-01 07:17:12 +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