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

8304 Commits

Author SHA1 Message Date
Salman Ahmed
8e992de763 Fix crash when loading player instance without exiting previous instance 2023-09-19 05:09:01 +03:00
Salman Ahmed
a373d71b3e Add basic test scene upscaling all skin elements 2023-09-19 03:40:31 +03:00
Salman Ahmed
57dc76b345 Revert "Update GetTexture signature rather than creating new overload"
This reverts commit 96f12cfbaa.
2023-09-19 03:21:19 +03:00
Bartłomiej Dach
775f96f061
Add very basic visual tests for missing beatmap notification
The full-stack test using the whole 9 `OsuGameTest` yards is unusable
for rapid development. I don't really get how you could ever design
anything using it without tossing your computer out the window.
2023-09-18 14:56:06 +02:00
Bartłomiej Dach
06d1a2a316
Merge branch 'beatmap-card-nano' into missing-beatmap 2023-09-18 14:56:06 +02:00
Dean Herbert
f3b6aa5435
Merge pull request #24821 from bdach/scoring-test-scene-osu
Refactor scoring test scene for ruleset extensibility (and move existing instance to osu! ruleset project)
2023-09-18 19:54:14 +09:00
Bartłomiej Dach
5c2413c06b
Implement nano beatmap card 2023-09-18 11:30:14 +02:00
Bartłomiej Dach
3709861132
Merge pull request #24814 from LukynkaCZE/parse-only-supported-char-uris
Parse only supported schemes as URIs
2023-09-18 10:20:09 +02:00
Bartłomiej Dach
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02:00
Lukynka CZE
2a18f76b02 add visual test 2023-09-14 17:48:10 +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
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
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
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
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
Bartłomiej Dach
821cd08f34
Merge branch 'master' into selection-operations-refactor 2023-07-30 19:29:06 +02:00
Bartłomiej Dach
898913f32a
Merge pull request #24415 from peppy/multi-spectator-improvements
General visual improvements to mutliplayer spectatator screen
2023-07-30 12:43:26 +02:00
Bartłomiej Dach
e208f38bcb
Merge pull request #24361 from peppy/fix-editor-global-music-hotkey-conflicts
Disallow interacting with the global track state in `Player` and `Editor`
2023-07-30 12:28:53 +02:00
Dean Herbert
feea412bec Add test with only one player 2023-07-30 14:40:24 +09:00
Bartłomiej Dach
43a51671ac
Fix wrong test step name 2023-07-29 16:12:02 +02:00
Bartłomiej Dach
aca8310cd1
Fix non-compiling test
To be fair, currently the test is a bit pointless (as it has no reason
to be a `SkinnableTestScene`, it gains precisely nothing from it - all
that is shown there is some generic components on song select). But that
is no worse then `master`, so look away for now.
2023-07-28 23:36:57 +02:00
Dean Herbert
269d4d1cd6 Add test coverage of autoplay restore not working 2023-07-28 14:49:06 +09:00
Bartłomiej Dach
22163020c3
Merge pull request #24367 from peppy/fix-replay-export-from-results
Fix attempting to export replay from results screen after play not working
2023-07-27 20:47:07 +02:00
Dean Herbert
e702e0a23e Avoid intercepting temporary files in new test 2023-07-27 17:44:36 +09:00
Bartłomiej Dach
f66093d3cf
Revert failing test to prior assertions too 2023-07-26 21:51:32 +02:00
Bartłomiej Dach
7bc3edb05a
Fix code quality inspection 2023-07-26 20:52:03 +02:00
Dean Herbert
2dace742a3 Add test coverage of score arriving on disk when exporting from results screen after play 2023-07-26 15:21:43 +09:00
Bartłomiej Dach
653f01f4ce
Merge pull request #24359 from peppy/fix-unknown-mod-test-failure
Fix `TestSceneUnknownMod` failing due to null reference
2023-07-25 22:40:03 +02:00
Bartłomiej Dach
3b9f250c1b
Merge branch 'master' into menu-star-fountains 2023-07-25 21:58:13 +02:00
Bartłomiej Dach
d75e6f78d6
Adjust cyclic selection test to hitcircle lifetime adjustments
As it turns out, the tightening of hitcircle lifetimes in editor caused
the test to fail, since the objects were too far apart and at the
starting time of the test, the first object was fully faded out and as
such not alive, therefore leading cyclic selection to fail to select it.

To fix, bring all three objects closer together time-wise so that this
does not happen and the test can continue to exercise its original
behaviour.
2023-07-25 18:54:13 +02:00
Dean Herbert
157b1f301b Rename AllowTrackAdjustments to more understandable ApplyModTrackAdjustments 2023-07-25 20:20:53 +09:00
Dean Herbert
060ad36d60 Add test coverage of music control in editor from external 2023-07-25 20:20:53 +09:00
Dean Herbert
c1d93607e0 Fix TestSceneUnknownMod failing due to null reference 2023-07-25 19:06:13 +09:00
Bartłomiej Dach
21df0e2d60
Migrate test to SelectionRotationHandler 2023-07-23 20:56:22 +02:00
Bartłomiej Dach
2ef843261b
Adjust failing test after metrics changes 2023-07-21 19:08:40 +02:00
Dean Herbert
ca3d1538ae Merge branch 'master' into editor-metrics 2023-07-21 14:26:32 +09:00
Dean Herbert
b29a2081ac Merge branch 'master' into menu-star-fountains 2023-07-21 14:21:16 +09:00
Bartłomiej Dach
c77d3cd6bd
Merge pull request #24294 from peppy/toggle-all-freemods
Add ability to toggle all free mods quickly at multiplayer song select
2023-07-20 22:32:53 +02:00
Bartłomiej Dach
48024cd17f
Add test coverage of double click behaviour 2023-07-20 20:51:17 +02:00
Bartłomiej Dach
f60a6e9893
Fix test step descriptions 2023-07-20 20:47:33 +02:00
Bartłomiej Dach
708dd355cd
Merge branch 'master' into editor-cyclic-selection 2023-07-20 20:19:46 +02:00
Bartłomiej Dach
210e114f7d
Merge branch 'master' into editor-prefer-closest 2023-07-20 19:16:09 +02:00
Dan Balasescu
733ce4c382 Fix incorrect dependency caching
These are tested framework-side to throw exceptions, but the
test is ignored for the source generated version because it quietly
allows this scenario.

The source gen project should eventually have an analyser for these
unsupported cases, or we could consider relaxing this particular case.
2023-07-20 22:30:49 +09:00
Bartłomiej Dach
f3a95d4c13
Merge branch 'master' into menu-star-fountains 2023-07-19 21:26:41 +02:00
Dean Herbert
eb149942e5 Add ability to toggle all free mods quickly at multiplayer song select 2023-07-19 19:08:32 +09:00
Dean Herbert
94c5b8ed32 Apply NRT to TestSceneComposerSelection 2023-07-19 17:22:25 +09:00
Dean Herbert
d33b174243 Add test coverage of beatmap editor cyclic selection 2023-07-19 17:21:20 +09:00
Dean Herbert
9d46d00294 Update skin editor cyclic test to match expectations better 2023-07-19 16:56:16 +09:00
Dean Herbert
4e4dcc9846 Add test coverage of selection preferring closest objects 2023-07-19 16:56:16 +09:00
Dean Herbert
7f336b8dac Merge branch 'master' into editor-metrics 2023-07-19 15:00:51 +09:00
Dean Herbert
2e3d1fe950 Fix regression in time jumping behaviour 2023-07-19 13:38:04 +09:00
Bartłomiej Dach
a42992d3fd
Remove unused local variable 2023-07-16 17:10:26 +02:00
Bartłomiej Dach
72bf43e297
Add failing test covering exit dialog crash 2023-07-16 16:55:20 +02:00
Dean Herbert
56acc9e3dd Change BeatDivisorControl to retrive bindable divisor via DI 2023-07-14 14:03:25 +09:00
Bartłomiej Dach
cdbb6f90be
Merge pull request #24199 from peppy/revert-to-default-design-change
Update design of "revert to default" button
2023-07-13 23:44:24 +02:00
Bartłomiej Dach
ff56e35093
Merge pull request #24197 from peppy/allow-autoplay-failure
Allow autoplay to fail
2023-07-13 23:44:07 +02:00
Bartłomiej Dach
e7dbe3c938
Fix broken test 2023-07-13 22:28:26 +02:00
Bartłomiej Dach
cef0dd1d61
Merge pull request #24190 from novialriptide/emoji-fix
Replace emoji unicode with `[emoji]`
2023-07-13 22:05:12 +02:00
Bartłomiej Dach
6b9dabbd3c
Rewrite test scene to show non-themed and themed variants 2023-07-13 21:54:30 +02:00
Bartłomiej Dach
ae7ed697ec
Adjust failing test after permitting autoplay and no fail combo 2023-07-13 21:22:48 +02:00
Bartłomiej Dach
4859b8c994
Add some extra text coverage against potential emoji-to-link misparses 2023-07-13 20:51:52 +02:00
Bartłomiej Dach
9b771ee798
Merge pull request #24202 from peppy/save-preset-on-select
Allow saving changes to mod presets using enter key
2023-07-13 19:50:16 +02:00
Bartłomiej Dach
4b06b6f34e
Crudely fix crashes when switching between TestResultsWithPlayer cases
In the visual test browser, if two `TestResultsWithPlayer` test cases
are ran consecutively, the second would die on `SoloStatisticsWatcher`
seeing duplicated online score IDs. This surfaced after
6ef39b87fe, which changed
`TestResultsScreen` to inherit `SoloResultsScreen` rather than
`ResultsScreen`.

This is probably _not_ a very good fix, but I'm trying to be pragmatic
for now. `SoloStatisticsWatcher` should probably not live in
`OsuGameBase`.
2023-07-13 19:06:02 +02:00
Dean Herbert
1698caa078 Add kiai fountains to main menu 2023-07-13 22:13:40 +09:00
Dean Herbert
20e4e2581a Change IBeatSyncProvider.Clock to always be non-null 2023-07-13 22:13:40 +09:00
Dean Herbert
6ef39b87fe Reorder tests for testability 2023-07-13 18:12:46 +09:00
Dean Herbert
654a7057fc Add actual statistics changes to better visualise layout 2023-07-13 18:12:46 +09:00
Dean Herbert
aebbffacf2 Show online stats on TestSceneStatisticsPanel
Fix test regression
2023-07-13 18:12:37 +09:00
Dean Herbert
b7ab46d87b Add full statistics score to TestSceneResultsScreen 2023-07-13 18:12:35 +09:00
Dean Herbert
6529c810fa Change order and test population in TestSceneStatisticsPanel to give better visible results 2023-07-13 18:12:19 +09:00