From 7a5f3b856f41d3288b2d7940cb9009dabf8d8770 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Fri, 27 Oct 2023 19:43:49 +0200 Subject: [PATCH] Add visual test coverage for displaying hitcircles with high combo index --- .../Resources/special-skin/display-0@2x.png | Bin 0 -> 5085 bytes .../Resources/special-skin/display-1@2x.png | Bin 0 -> 1262 bytes .../Resources/special-skin/display-2@2x.png | Bin 0 -> 3534 bytes .../Resources/special-skin/display-3@2x.png | Bin 0 -> 3456 bytes .../Resources/special-skin/display-4@2x.png | Bin 0 -> 3213 bytes .../Resources/special-skin/display-5@2x.png | Bin 0 -> 3647 bytes .../Resources/special-skin/display-6@2x.png | Bin 0 -> 4954 bytes .../Resources/special-skin/display-7@2x.png | Bin 0 -> 2503 bytes .../Resources/special-skin/display-8@2x.png | Bin 0 -> 5710 bytes .../Resources/special-skin/display-9@2x.png | Bin 0 -> 5195 bytes .../Resources/special-skin/skin.ini | 1 + .../TestSceneHitCircle.cs | 10 ++++++---- 12 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-0@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-1@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-2@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-3@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-4@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-5@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-6@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-7@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-8@2x.png create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-9@2x.png diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-0@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-0@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..67d2e2cf04a71c59957a79a69ef6de8e02a6bbb2 GIT binary patch literal 5085 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 literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-1@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-1@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2df10655efabdb9eefbad32abd4be42deef4fb02 GIT binary patch literal 1262 zcmeAS@N?(olHy`uVBq!ia0vp^IzXJo!3HFcw{9)~QjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`ISV`@iy0XBc7rhE@gG;rfNGjOT^vIy;@-}&_Lp`PXb?Yi*oMiei6eZX zfU1z7(2@mSQC`1P_AA)8sp&2}q+9ADa#Dn?(LsUB;Y2`!gFxIQQK=JW?)7fIcf0!C z+nap9Jtu!%`@YQnSn+i03$r45E#T>A1DjarutZbLY;Te{PxcT!RyJ zZO@dCM0Z@jaos^q!A~K~@t5^`#;ikmY5SiP?ezEKPxkls-&0#x$Cs07uar}t)w!Uu zs=9jmgQrTVyJY_t9yB^|rf8PqHP*QodX>47&wet>5R2UIy8PBp6|Ul0KG&Kf4p$ti zef#RwEFu0^FJ2@#J3HqjBs6?)y?E`}&JQe??!9~R=G(VvckkTU@cQ*@tDF1w?bFQ= zdvWA5M|oM9-$OH56CyP%1t=SibYQ|{=?Z{M`((6s5(Zyr0wcHgbw9}rk2`tx>gYPtU; z^W-Xl=i(nZl(jMsh?(vgRw^U5fQT9IZw=nhS-=x$TCxXIM zJj4RIy4it_X}L2$WLlr|pA^CVf(!l`ULYyXvj!7e*YtSV1+^XR=gyp>BV>8FMKkha z#jNns&f2Hja!N|R$eO%QTyB$h+41h(yF7W8H}Bq+-5+jiVXG2z>dZZ7&-#Yxh(#_8c(DHb z`SU;j?dsU1#gsi`0{g_QQBNo6Yb>nm|RUf(A7WbUDqjcdbJzxnuaV*YETetl)G zcqa?d_d>4I3<{?T99Pde6fpnC>II=Ylyn^bG~H;@X6cX7JHB}N^5r~%NB@R4FLj)t z6BK^<-Q<@_N6b4|UH>%fFj4hp@vQcTa4~-2&K=+=#)~E3KRos__o(YBFc2m zR-H)}hnM}Y{-!)}gV(mytR1RGYbI@#{HC~-C;jN@vm4$S$A)Y%o?{v%DVF(bHOoaI zQy-H>I&pct>8)kF>Aj+6Bq855_J1#&y5qI<&~zbTV`Jl-va)IV>V917w#7zACj&D` zUca;5{BV8YzNYyfZrqTNmXo^{CD!=brQqk$j~_SQew^TPLuJ#4`ua;BmkOUdedfT= zf;hjJ#PgRrdBDs!_5!<0=N!F0iKYIjhm3<&w|-q<-OBExIz4|`-`mdZZe_Mq1eQ?@ Mp00i_>zopr0AYwh{{R30 literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-2@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-2@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb8ec0edf1953c6a8b036e6e33207bb99f84bf6 GIT binary patch literal 3534 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 IM6N<$f*~28E&u=k literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-3@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-3@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee73f503aa11548b1dc44347629007b288ceefb GIT binary patch literal 3456 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 A#sB~S literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-9@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/display-9@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..53b687fdea4d84005a44887e130fff5044936aa1 GIT binary patch literal 5195 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 FV1j9g503x< literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/skin.ini b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/skin.ini index 49ac2cf80d..9d16267d73 100644 --- a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/skin.ini +++ b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/skin.ini @@ -1,3 +1,4 @@ [General] Version: latest HitCircleOverlayAboveNumber: 0 +HitCirclePrefix: display \ No newline at end of file diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneHitCircle.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneHitCircle.cs index af02087d1a..30b0451a3b 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneHitCircle.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneHitCircle.cs @@ -34,6 +34,7 @@ namespace osu.Game.Rulesets.Osu.Tests AddStep("Hit Big Stream", () => SetContents(_ => testStream(2, true))); AddStep("Hit Medium Stream", () => SetContents(_ => testStream(5, true))); AddStep("Hit Small Stream", () => SetContents(_ => testStream(7, true))); + AddStep("High combo index", () => SetContents(_ => testSingle(2, true, comboIndex: 15))); } [Test] @@ -66,12 +67,12 @@ namespace osu.Game.Rulesets.Osu.Tests AddStep("Hit Big Single", () => SetContents(_ => testSingle(2, true))); } - private Drawable testSingle(float circleSize, bool auto = false, double timeOffset = 0, Vector2? positionOffset = null) + private Drawable testSingle(float circleSize, bool auto = false, double timeOffset = 0, Vector2? positionOffset = null, int comboIndex = 0) { var playfield = new TestOsuPlayfield(); for (double t = timeOffset; t < timeOffset + 60000; t += 2000) - playfield.Add(createSingle(circleSize, auto, t, positionOffset)); + playfield.Add(createSingle(circleSize, auto, t, positionOffset, comboIndex: comboIndex)); return playfield; } @@ -84,14 +85,14 @@ namespace osu.Game.Rulesets.Osu.Tests for (int i = 0; i <= 1000; i += 100) { - playfield.Add(createSingle(circleSize, auto, i, pos, hitOffset)); + playfield.Add(createSingle(circleSize, auto, i, pos, hitOffset, i / 100 - 1)); pos.X += 50; } return playfield; } - private TestDrawableHitCircle createSingle(float circleSize, bool auto, double timeOffset, Vector2? positionOffset, double hitOffset = 0) + private TestDrawableHitCircle createSingle(float circleSize, bool auto, double timeOffset, Vector2? positionOffset, double hitOffset = 0, int comboIndex = 0) { positionOffset ??= Vector2.Zero; @@ -99,6 +100,7 @@ namespace osu.Game.Rulesets.Osu.Tests { StartTime = Time.Current + 1000 + timeOffset, Position = OsuPlayfield.BASE_SIZE / 4 + positionOffset.Value, + IndexInCurrentCombo = comboIndex, }; circle.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty { CircleSize = circleSize });