1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-14 18:47:27 +08:00
Commit Graph

1509 Commits

Author SHA1 Message Date
Dean Herbert
89444d5544
Fix export test still occasionally failing due to file write in progress
https://github.com/ppy/osu/actions/runs/6701591401/job/18209826074

Basically, `File.Move` may not be an atomic operation.
2023-10-31 14:00:49 +09:00
Dean Herbert
a3dc9a73b1
Revert behaviour changes of MaxDimensions test and ignore instead 2023-10-31 13:36:10 +09:00
Salman Ahmed
a53c0adae0 Remove unused using directive 2023-10-28 06:56:12 +03:00
Salman Ahmed
51b7c97cab Fix TestScenePlayerMaxDimensions bottlenecking CI 2023-10-28 06:07:49 +03:00
Bartłomiej Dach
96d784e06b
Delete ScoreInfo.HasReplay as no longer needed 2023-10-27 12:39:54 +02:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Bartłomiej Dach
5f51b8a7c9
Merge pull request #25097 from peppy/results-screen-progress-fast
Show results immediately if user hits "back" key after finishing gameplay
2023-10-13 11:54:34 +02:00
Dean Herbert
fa47309eef
Fix exit key during storyboard outro not progressing to results 2023-10-12 19:31:54 +09:00
Bartłomiej Dach
34bab38e80
Fix judgement counter test failure due to exploiting mania ruleset
Large ticks are not a thing in mania anymore, so the judgement counter
tests began to fail as `LargeTickHit` is no longer a valid hit result
in that ruleset.
2023-10-12 11:34:59 +02:00
Dean Herbert
73b8146729
Update tests in line with new behaviour 2023-10-12 15:42:54 +09:00
Bartłomiej Dach
ea400a9db7
Fix cross-test interference
`TestLastPlayedUpdated` was implicitly relying on running first.
`TestGuestScoreIsStoredAsGuest` showing up changed test ordering,
causing the former test to fail if it didn't get to run first.
2023-10-10 09:30:51 +02:00
Bartłomiej Dach
08b1a3cbe2
Add failing test case for guest user being looked up in API 2023-10-10 09:18:57 +02:00
Dean Herbert
7c7771afca
Merge pull request #24986 from peppy/health-animates-in-intro
Add initial animation for health bars
2023-10-07 10:31:34 +09:00
Bartłomiej Dach
a099cc0f36
Merge pull request #25030 from peppy/adjustable-health-bar
Adjust argon health bar to fit with existing layout
2023-10-06 21:51:18 +02:00
Dean Herbert
1a60e6d76e
Merge branch 'master' into health-animates-in-intro 2023-10-07 00:32:19 +09:00
Dean Herbert
71be3c8f8b
Add ability to adjust health bar settings in test scene 2023-10-06 19:34:27 +09:00
Dean Herbert
db5178e453
Change ArgonHealthDisplay to be relative sized for now 2023-10-06 18:56:39 +09:00
Dean Herbert
354193c53a
Merge branch 'master' into clock-fix-attempt-2 2023-10-06 16:43:27 +09:00
Bartłomiej Dach
c195fbe76f
Merge branch 'master' into crop-gameplay-textures 2023-10-05 09:35:58 +02:00
Dean Herbert
5a0faaa0b1
Fix TestReplayExport intermittent failure
The previous fix was not working as it was checking the path for the
prefix `_`, not the filename.

See https://github.com/ppy/osu/runs/17415814653#r0s2 which clearly shows
this.
2023-10-05 14:30:06 +09:00
Bartłomiej Dach
bd71403309
Merge branch 'master' into health-animates-in-intro 2023-10-04 13:53:42 +02:00
Dean Herbert
5a17a86d1d Merge branch 'master' into clock-fix-attempt-2 2023-10-04 16:57:49 +09:00
Bartłomiej Dach
844a3b6c1b
Merge pull request #24980 from frenzibyte/gameplay-hud-redesign/health-display
Implement redesigned health bar display for "Argon" skin
2023-10-03 11:26:21 +02:00
Dean Herbert
e1445fcc65 Adjust health display test scene's background colour to better visualise background fill 2023-10-03 17:17:42 +09:00
Dean Herbert
622cbc3af7 Adjust test scene to actually make HP bars fit 2023-10-02 16:07:45 +09:00
Salman Ahmed
9e2b8254d9 Add argon-specific health display test scene 2023-10-01 13:26:47 +03:00
Salman Ahmed
776536e816 Add "Argon" health display implementation 2023-10-01 00:56:16 +03:00
Salman Ahmed
869f8e5e1b Adjust test scene to apply miss judgements as well 2023-10-01 00:21:24 +03:00
Salman Ahmed
314ecec65b Refactor player max dimensions test scene to actually upscale textures 2023-09-30 01:34:49 +03:00
Dean Herbert
a7237e48aa Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-27 17:17:51 +09:00
Dean Herbert
40a548d372 Adjust new test scene to not be super broken 2023-09-26 17:30:49 +09:00
Dean Herbert
990c54519b
Merge branch 'master' into limit-gameplay-sprite-dimensions 2023-09-26 16:40:32 +09:00
Dean Herbert
b1561b650f Rename test scene, add xmldoc and increase scale factor to something absurdly high 2023-09-26 16:39:36 +09:00
Dean Herbert
2ca1c684bb
Merge branch 'master' into fix-storyboard-skin-textures-lookup 2023-09-26 14:05:27 +09:00
Dean Herbert
c40bd74138 Update usages of GameplayClockContainer not using an adjustable source 2023-09-22 16:22:36 +09:00
Dean Herbert
8367bb6bee Don't apply decoupling to SpectatorPlayerClocks
See inline comment for reasoning. It's a bit complicated.
2023-09-22 16:22:35 +09:00
Dean Herbert
3f27be1f33 Replace most usages of DecoupleableInterpolatingFramedClock
Except `FramedBeatmapClock`, which is the high-effort one.
2023-09-22 12:49:25 +09:00
Bartłomiej Dach
e45d456324
Fix TestFriendScore intermittently failing due to randomness
If `createRandomScore()` happened to randomly pick the highest total
score when called with `friend` as the sole argument, that particular
score would not be pink.

`GetScoreByUsername()` would arbitrarily pick the first score for the
user, so in this particular case where a friend had the number 1 score,
the test would wrongly fail.

Fix by checking whether any of the 3 added friend scores have received
the pink colour. Because there is more than 1 friend score in the test,
doing so ensures that at least one of those should eventually become
pink (because, obviously, you can't have two scores at number 1).
2023-09-21 21:12:44 +02:00
Bartłomiej Dach
9301a1907a
Rewrite TestFriendScore assertions to constraint model
Allows to clearly see what the failure is:

	TearDown : System.TimeoutException : "friend score is pink" timed out: Expected: some item equal to "#FF549A"
	  But was:  < "#FFFFFF", "#7FCC33", "#444444" >

The #7FCC33 colour is used for the first score on the leaderboard.
2023-09-21 21:05:41 +02:00
Bartłomiej Dach
69ed99dfd5
Merge branch 'master' into mania-edit-disable-sv 2023-09-21 09:13:27 +02:00
Bartłomiej Dach
d7129da8ea
Fix TestSceneDrawableStoryboardSprite not displaying anything 2023-09-20 12:05:23 +02:00
Dean Herbert
c5397bdbb3
Merge branch 'master' into mania-edit-disable-sv 2023-09-20 14:23:07 +09:00
Dean Herbert
1927b524db
Merge branch 'master' into leaderboard-friend-highlight 2023-09-20 14:14:08 +09:00
Dean Herbert
1316403180 Fix inspection in new test scene 2023-09-20 13:02:40 +09:00
Dean Herbert
2f020f8682 Add test coverage of storyboard preferring skin when specified 2023-09-19 20:20:20 +09:00
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
45751dd1f2
Minimum viable changes for ruleset-specific scoring test scenes 2023-09-15 12:58:29 +02: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