From 2c81fe5613e79e2e9370f19d40a1839e28a20c45 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sat, 2 Sep 2023 01:29:57 +0300 Subject: [PATCH 001/106] Make gameplay skin elements in `special-skin` awfully large --- .../special-skin/fruit-apple-overlay.png | Bin 4677 -> 26684 bytes .../Resources/special-skin/fruit-apple.png | Bin 4677 -> 26685 bytes .../special-skin/fruit-bananas-overlay.png | Bin 4949 -> 23898 bytes .../Resources/special-skin/fruit-bananas.png | Bin 4949 -> 23899 bytes .../special-skin/fruit-drop-overlay.png | Bin 4677 -> 26684 bytes .../Resources/special-skin/fruit-drop.png | Bin 4677 -> 26684 bytes .../special-skin/fruit-grapes-overlay.png | Bin 4677 -> 26684 bytes .../Resources/special-skin/fruit-grapes.png | Bin 4633 -> 26684 bytes .../special-skin/fruit-orange-overlay.png | Bin 4633 -> 26685 bytes .../Resources/special-skin/fruit-orange.png | Bin 4633 -> 26685 bytes .../special-skin/fruit-pear-overlay.png | Bin 4633 -> 26685 bytes .../Resources/special-skin/fruit-pear.png | Bin 4633 -> 26686 bytes .../Resources/special-skin/hitcircle@2x.png | Bin 245645 -> 295339 bytes .../special-skin/hitcircleoverlay-0@2x.png | Bin 26595 -> 87032 bytes .../special-skin/hitcircleoverlay-1@2x.png | Bin 40858 -> 119975 bytes .../Resources/old-skin/taiko-roll-end.png | Bin 0 -> 2095 bytes .../Resources/old-skin/taiko-roll-middle.png | Bin 0 -> 140 bytes .../special-skin/taiko-drum-inner.png | Bin 0 -> 1926 bytes .../special-skin/taiko-drum-outer.png | Bin 0 -> 3749 bytes .../Resources/special-skin/taiko-roll-end.png | Bin 0 -> 14570 bytes .../special-skin/taiko-roll-middle.png | Bin 0 -> 4791 bytes ...ikobigcircle@2x.png => taikobigcircle.png} | Bin .../special-skin/taikobigcircleoverlay.png | Bin 0 -> 66280 bytes .../Resources/special-skin/taikohitcircle.png | Bin 0 -> 12374 bytes .../special-skin/taikohitcircleoverlay.png | Bin 0 -> 66281 bytes 25 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-end.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-inner.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-middle.png rename osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/{taikobigcircle@2x.png => taikobigcircle.png} (100%) create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircle.png create mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple-overlay.png index fe567d158d0b47f06c39eca9d055b9c8361b040a..c6e27996b92328a0c6fbcf3fb9f4f6b6598bbdfb 100755 GIT binary patch literal 26684 zcmeFYRdgI%vMpL-W@ct)W@ctAF*7rin89LMY%#ON%nTM;%(B=PSh94rclSA`d%XK| z#(4Lyb5vDkt`#vOVy?)QP?0gJ$}&js`0xM#07*_(QXK#Q``82nz(Rhk9{f!&0RXz+ zeww-->OgN&7dK}sTL(*04__BcQcE9OD*(V}qc+dhi>N&n^lpyj43`ykWGYzhJwJ8L zqAI1|WMdHEghVN2v?_IkikBjrzW)9qGWL2R^6tu=X=6su)t<-HXBIc(-CObSymBpL zeemb$cB+RY_;>H~>*77%4WHn<+Wm_L$&R;((dgG%owF!}mFKsyr)LrU0O6P4<@ViCKg7X1_ ziH}HN$4*Vr)A7kK<7H>>fPrcT%{;;SP4k-qd)G(D-2CHSgQNV+gR*T`wy~sum-go? zl)Ms6m)TVngGT0SONR`yxibouA&RSRX{B%dBz^C%3PDIdtP_*+DUrZ2_n4F|5?R!` z5(pN>fS|>ZPrr--7`Ll2BOM_yH#rCsmez5PBYcQ@uBz5&!jd94Aqo>L*k|UjcsrW) z?Z+~)T`a#Q?j467!8im{#F3$PlD&BuMkQa!u&9SR1Tivj8?u8QNXx);pu5I1+otyn6AoAT;?0P7Pbzj!%P)(Z1 z@u%F=H1E=M^EChFkE!~G{-jSjdY-K-?VF&*M1jlhsk*MqAlO!n=@^>)fXT}8{I|2# zZ?%1|Z;{`&F1Uh)%5XAN>TkcR3p4LQ(#Q!90kz9AAWWAyVB_kJZddt=d2(5%$Tm` zNc!^hZq!w8G;)7IUKx!b8|!#_ zeg>1f1#ZSPU*LD;r~2jYx>B9ys5Gu;i5DbDxoX7l;@n;+zdwJg zEF13qVVrxkuie+p;JLo7|3IO`sPoEMm%gVR!O_uemq0HrxxPAhlddr4HP7`DX$w7d z&e$xI1i{WQK2XPDH3@zAXen7hD*-}kmsUQc-eyNw*q;4~`=eA0@e0&DCJV$281&Z8 z;-%iyo8Gql*;ewar^P4++-x(d2$n3TO^7=`=WcM2*A}xoxwFx?!D^t>Q{`F@jVpap zyVFrPvh#lYu^_8PQ#@+75_jyyCRd|jMRG$Z;*TFePTJN6b^gi?oL(Z*Lz}Mil~OU| zp6o==r|tu?0cjVS4PulKwz-X1WW;eHncZ1N#O1MZNUkYHkX;*F7w-?eG5^}{52E5T zA%6(s>5?mhrrlvPFYl=PP&(VLdGzTSKrf%JwF>O<6VT^$AhF`f%P^kzh(_RAoBWx2 z1L`e*CN*5Q3)ejuUL43j@^?S_Q}urRw&4Pv-ITO=w~-91UBHk6-zLT00pGnFfwol| zrnTNgJh;e!+|PW1!wSJi!p0+*f2``3oiVVM>+)LtT$I!Wi1z<{NrZ4;nko{Mw4xDa z&+LGs<7~^@-!qpqy#kod zPyWpBiOzEGVW=Cs_fY94DJo*1nx;^axSEkxNIeilmky3#mfJyPR^gQn+HZ>w2SaAa z^GOf@7~-G`?bqOayF3f9Kx3Rhm+0hHjot8TMtvnOcKIFMk1U3P@l4n@kzzU)!CZjH z%1w+ML>CQqK$dk>KAG1~91<(!Hd@h4A|Qr=h*4yitjB@9ZiHVy)&xXfj=kQ4;A&G* z*Fto@#X)cU&17NIU?P%R&?n}1w51OhSSp0D3z^bi;mG$Uj*(MXMAnI_ib;*tp1Rf2 zfJO!}pad2Zx=Eg0sg3~&ZYv9q8(vs>1Usr8%Dv9rQL`mR>6wM_=I~2iO)(*0jR_vY z^c_K2c4BAhIsrP~oREsXpY3knFGxEJ$&eBXylgHM4ao|Z*VL^{eZ0D<@#sq_TDqkJxaIAO1w;s?{CJpZihi&rOkIU6I7n zUROH48g$4PY?KwRrb8xTQ8eVx_nrNs`Y9%2(^UrZ?4=jBeKi%V$zn*CV%9>Y7=pZ(!UMyReA`Qbj_%R@XiAsi<2m*i#Rf!%Kx=pqf+h zI6xG=Fr*zWJML;KeBQn&EQ>}ii2RM}&1LsT4-s!olQ&mY_$C#ov*g zqdy#2@%G@Md$rN|pH)h>@rV84XNtpF7=7E2MG%E;AL%sKgmwhsDs zW+x}WD1HV{@sJG z3qJ*VZ)vcG>V@-2`b>th`NgGh%E1UDIk#BURHj%`y_?OMvnwMJ4{TP%C7w*a9q67_Pjw4iLD*S^=I@a#4Kl zMVW%IrI1PQ=A^@OjW{m1d5n&s%TGnu(+w(!z(RbvL0|di;tOXBZ=KKKXrN-0NB|49 zn%}9(xfVt#m@u;1lk853rx}UB{X~g}KQRZ*H`1NJ8BxG|1@J_7Wq%qT6M7t6V?}Dz z4NGy})DYj!pPHS1QLGc|DEz`J@5g+ZTh?iS`a;N>3J9~DgI^$qUOlAr;n33gxX%aAm=CKHz>*B$NDf}X@uIrBE>{|Cb>6EhO?{Dq7N$9q@(~O z7&VpJoJ@ChuuP3+V@5ur;E4kHyqlKlFh6TfX$n*8$*VnBWA~&D1~KQe?+y_e;Z(Hc zJpgF5VpHhbE^_KH6@=N#Foq@UaBhg;yY_;Riq(B(-sG=0u%C`j`rPwZ-FiCC#h8*@Zpt*2iwo%jv;$uLDJ?v)MU@##VyKN<8dHn5k^;_TVe1sXcY6mL;pqS1cs zyX8ZxgUysqWV#TuC|*JgwNZx$`NT<@-D01Hh4d4TBPTaiuGHKAr!X zgAAA^ml+t*o=-_t4pe)p5RZcmTNmq+nX=UOl&lLMrkt1VM_NHi-}75Ukp7c*U=6qM z?Br|@99Yst3esjeY=v6GC}gHv6x{Pnj;AEC;<{-vV$Q;bko-0~&rF!=NvlxhU#^=< zlYSu1rX|8ap|ja9C{9QY8Cq(LO9l74M@h+k*0U=z0}JI`bWf#~_$y3zKh`9@(jVpb zlt>#5UEMB61YT;r0|HfrS}K&lrv95MC2CSh({N!gAd4-od{hf~LbBXEv>k|v!@_}# z)rl!Vx>Kf7Jh5v#{Am_VFP;X4 z+vNmzzhMeX8Heg3-!Duf_HlC@oX^9n#%PvcVrs&Dljc>c1%vSsnS#m%bRsW%ZLyp@ zg=9p|zBpiPS;%^SH#XDGl_3l!YLub%qHb))hV-saqdjMB!`cw-E)J)@Df6oKcp}U% zhFfx}fJ?3aQS}{$9(`*mj$Zxf2tK|)VZbn6p~}vi!fmGwuc~Tm+q^QVqVUR(DGT=J zBRG=(#y*^Y%*-Gc!X`d%svjK|ZoPUZW;zH?NU%f@0e}K`@XEZ)9S56n^2a$%_Id~L zjBTZc0pbr{l8y<^0vL=VB&n***#Mp?B0l9 zQ;Rkrd6tO*kh^M^72eedEOwi!5%hj!S~^YYMgbg$c6ty}Hjqa8>t&hl zmEW*k#Y)y!w0IfEDfl|oi3lT}zDmgakqaRY2q*mSk}~<8vEUZOKLAFM*+Yrn(QCfg zEkX0+A=GRRCGM4aNvr0rkgoKr?DngUp;7^zFNK_IzYG0}SYAfn)i7p;v)e$?^sQ_+ zuO(3ZWdK!gq5}c)4Iop1(~2?TerHZh-s<1&lbDk$6P2s7d$v zWEuhsvrwn$F@mBqyP@G%kg^bE{h(=zx@@)2`!N~j_hVpA@$+7R@0&;B5q2h-lqI=;;<56&#tdZ zP8uDdoeZ-2mB}H8#r0liZP)|U-%LPikK~xVYrX6)NyhiIpo!Bw)TVj{fM)24&y&@T z`T~kEM8?sS%IfB?DLoNX*>u3v(G6^r4s2Gy$82bK_A(G@cc#{toJDV!a=6P8o`4~k zcLy;+%8;ReFxEeJ9l|s?sIMxN!f60Sl%Vvt(smD?DuB0BU?u*zwq}X#Ol_JehN(9 zkQXrUNyp^j#+0ETT=0zspx!KZX+T7a=kAJ+zmz`QfY#jEa**;OIcYp+Dfe;VvDpdHdw2cd&v51Q)`jCgu4Y+vpv#| z_qy1a%v+|(mBuu+Fz7Oy?qZ{c7JbYjzr=1D%07Y!h&=>qkQB**`zeP!Z0Xz)O zXV2`7(A!Aq^J-c~Rt~G&msuGo!S5>+QXB~S@6;(X-W=~2bLkF0sDs9lQm4E|0+2$* z9d2A}B(~6O(%BNY6ww*WWuM9S={`%vv_%bv?j`0ghvHO{jHAb}h6vhs!8@6SMsr-48IfM56ViT+JEHXoIhAM} z)*?dZp0jqxXR8xJeV=CpLU6`uQMNX!$tZMRGhW)>uhJh0BRF-29sBzw?WaX_sH32B zLnf*8A>(8P=P?(O7hXF_6eO2>iB=5sekuwO#h3qLe?J#L?p9jNrcfz|gqz?`>%L%X zXCRIbqi{BE7KXs9tF^L#LD9ze1baA#Bf(W;-6bJ5mJ=>(2-07q#!9STmQ^hJDQwr` z=b5oFn;sciRLdC~-E=KY6im;>$%^vMk~;kQhJw0_iy4>qBhkK^3VUp)2U`~yEgYau z#F$0ym3-?|xm5!y<7p=&gN>xsRFOV47gt(RTXN8-esWN%(?w0)-=oP>Ux~)GiGzh_ zFy@2kqCkLS>wCo3W*ND+s5Q#jGU0Bx1j23_4QCTg!J3^?nMZ;^dSa7X9n^9u~YdUfm$_Q|yuulFkRL-CL8aSqfQ&PM{jaMm$JmD9552kZjL zkIP0#wtmT76I~3yY;H?w3eNLUUkn}9Z*&Pa5*X%Hkwv)mS)y`a@&sYQ9LU*mBfI0i#;2YsZFAo71#iU0?#!vD@jFP36)1;QO(+$&)An zr~D8p&W2rHSkx~$@&IKu*qRQYmnoZ(mzSK0|KO717kt62TLJOe*mX@vbq3YjFj zJT)T_T6%_90}_pvD;1g1P~REEHo17rIJRnSA?q+F_AV><=jU@&sRF%L<&&?XCkHya zs(3jotr7@-l($yTK%hsAOO6)Vb9zCSLle*McDMS?y3ql)9 zZLikm)ExSXK>L~#yuY~Zx4S_=v!~mblxzod2WKLPXhFGQptIB#c!lk1)yg9v`zEjs z`*IwIsO*I1tF+z_V6}eJRv#H{2yai$l=fJ|`B-ZB{CkjiJ3W zbj~`=79|LRKL>nI%9&V`#ow2C2~<`cJEzsqy0keJo9uGmkyYClhj47j{I2{B_f`3{ zIOdI4>*WHHg&p!|!n71sOYDgEUpztYa0F=i9L z=t*0^l}m9Zb9N3SCd3JIYY~Kx2ppM`sLh7H z(o|mbuFvN$Woi)YUQ`=PtzBvUAzVeEKX(p7&Ip@;=c3(P5BzkNhL#e(e8kJT7F+JVDHPQJ_iC=cf{k1 z_Tm=*V5%cKqWrFsz?S@^#)3@lf~l21S-8iw`Q$-a>2L-LP~UI)LiY0_syG9h(u7KR z#w-B=FCW9D*ESi=a_u(3 zKb?E>`=X?SU02x-(ul3~61Q*u$rs|0unjCJ+H^k&b2m{Y#-ktc3XL^i10f62l&fvD zEv}%8FTY<#K(*Dep*Bei*mxs?;X)|ET96Kx6Z?f3o z13EZ@V$)4`*oOo!vSmpP3(LX}&{-M;%Ye>6cPzWf0EM{XgI|YpD(z^a@vFGSiJOe+ zn$l{uYLh;CbHaR%7$zl3>F&1zc{Wu{^2ku=uY?+7Eit!;Bdn8`wmA-6% zb}ZkjRn#LiCcM%<#$1oVZ{)t#KDPPPx9_ttIbAX!-0~?Ky%cw zZ>^$iZ^Biv@a(jH(TxSg?7Zu4o;^FP&K?>Ils_SyJ~j8nF#4uvUKF7R0p3uFYvi6Y$RN?*Rx z0-jZ(JP1(9^7rV-S}w zdQaS=Et650Op(iOyT-zctqk8mImZlZuT0DFA}AHvJ9um&z=BFTa&Vn7`SY-=YBb1# zIsC`a7SW{4<0MI_*7{>1G=43A*_qlUz;K6h$gR5$4(xv9RY6n8l~;~qVlq|<$q7Qi z^6K_R=H9js+QV*YTlFR*J^k*gFmRc*LoxXm9|g@Tkurz3MjONOD2fmr2r}Xhb`P!TBBQ91G#JpjER84pw+1Z)LYtCej0l2JZqLc8 zIK5_kC1!hX<8=mB6!i9-5GhQ=hPV8X8UC`KRA|#ruZ%NX_lo^?qiGxN<@8m35)F@Q zxuac)%@8RHjy4-`(a~Bht;`jALR!Bo#-X)-X@?O%ZBNW((|$W!a>jp-X>PIy{lopk$Gi6QyS&>aOdNSANmJqkVEj=K(Z3GsLL8~C6v(%Jqf#$`XJ zb*D*`vtJTZL~@3`wjhMb52gr0ayeJfNanShSYwT}61XDwTGuDLDpq_U9a#-ev!PkX zILb}$1(t0j`}hgbb8wbh0wVDVe8E1;cJJR?SD3b(=y%~6)UrQMt%nVf z$j2tK%K`fR4s(b7vTMkRO>tbK4$n$5@@~fvZG(C6G1W3?|HH zH6c{vvq<8fxmud7uYnL%N`-6--v@aT85OpEx9wE4ZS0)iELsJvB<{BWxa;IFF9 zG6vI~)Jmye%?KZBoz%*f5Bh$&b|{yBk465bB;H#QM|}8jKfQ>R(5h7DS>8Dg=`bAI zLR9iFf1?ww$M?iXa3YG|O;XV8ifhcF^CCoW@+c=YM8!{FEvj`M+QtK@IB_9l!_%Pg z2{|iKR>4G&R)t*Sd6usA!f#%Q3E+~G{Eniku(fPb7M(a?_Y|SuXI5@@VT-Mt@CjFI zFdAWa{_9X`gROn+xEe42vB;`B|EzL;swB?V(8pgX%lEL?dmYk@7d21ryt8*{{DeA@ z6LwEJ=h3qTMtwA4pDo98pL)IzA!B@o6{oqB)Ci$d;b+-yuY-KN#)3=XN^<=Ys9d|# z*&g5SGga3Xb{u`k#hCadr`C1sstrGy(Su9er@F^V82Q_PN(VbxsZz36Qa}n0ro=TT zgFw>;G%E`M7vY-cDb}pbO4Bwz2DkB_#qCGJP*zCspWs^Y$HYbR}oK6ZxZWaXXfonJ1~-92H?Y6+yNe|q)f zspn!i5VGNoxQDv2LR*`rzEb<~u=RHzX;PwZ05L*=+)15wKw`v2$L_M%<@E9et$b5q z@MDO|wKx7H>Fj)pft#h0ds4P-MvxE_yCb6147$+R^tcz5oquBX$~}a)O;6_ak4IWG(!29Dmu1X( z!gJ!LWF>T*@6@>N1;#}~JK8GsqReYf@@xEYuBFcvvE!nY4VZ9%MozoZVg!m6wjg#m z$!vaSYQCiuLca4#{2Tp)BxN8ePBk~DR`e3l%B=F3;kb4S?E2I>SrqDEA{87d)%b!r z+~hqWTKuIO(sj7x>Vm4^`GK&kN8FwSnNnCGtm&KeX^d*@3cQIT1ns~=G( z(4j4FN!!`bWSjZIJ;;9q9;|zF^77{-jQYDRuQhZhITWgCRFA49x{2|>{JE<03h!kH z&4FQzYs^F}r(C(pE2$Nn08!>vKHCQxp7qT7fAWVbIWZH|Q9FA(;5ROr#4Z8LRS2Bw z%Jlb^B(bjIDx`S94k^vZsuSzEP?XHnEPlA4^Y>AwDJxf=-kT^&*-<)A+W;Rw{S&$+ zpk%j&haJwjNchW}WZb1dv^h*#LqsN0N+2{!DTr!0n3dy4#y}KV#fDP2|)# z$zpy{&kPIkmlwAcuh~}Qz~U)ZS7weX4wY@U9p9|F7c7fEWJ}4E>!A2lJ~8xq{kSov z*JImy;;RbjX)k7(G!~8k>A|ekr`;=Y-Y*qjt)-l{60eDf8+9hZ2#5F zLQeX(h=;upxvr8bsf4qeB`GH}Co?OPl#i_!JGn4Csi2#M6~DTq^gkg!_CB8XczC$* zv#@x3doz1;Fgv?hv#{~;@v*S7v#_%>eMm65`#O05eVClwDgJ`^2Zp4jySbaKi-)bV z6X{==Kr?4g4x?|FFvT zZzg5rlvMv)<1Y%VZ5>_y*7_j(-y}V3t^S9sfAj6Hp1;HSS4Te7{~Pz;r2i}SzlA@f zl$7`-oy|S}a!*cDi2N`6{1(pUwif(M;S&dJ>a=wxpB7t{whv+V~C7rTWyy9K8OlbM+%HxsA11s@Zixw$11 zJ1>u=B^R3|(8AK{Um#T6Y(KIR=#u4aGL{px!FI^{)VzJ=a+VNa|C`2r>!H<+LFb^$@=e(zX<0SQ0g?E=QpX~KSo8? z*8M}m_pg-yXVPm}y8dJDAIE@$?cZIbq<`lvKhXRiM%;m3mKJ{-`q2AFm$?nl$=dSc z0RLx3{a3r~|7EnyI63*u%z>;-Kn}K#0k<;aWa8ud_~9`#=Q8K!V`F8rx_=kZv{#U~P$*%v<^}k}^eqS^*T7Jbd3j{F2$~PG}TeAjf#gZ^W*Ik_*9&30E)MZh-d=) z_!Mo0TnOUTE;9IXX|kFzG~NnKM|d2};WnvnWhp+77QKPfp>&hq1Ui+v*^YbP0G|xy zT+xwos@yXp7&IeMYOa6nFOy4SgMHl;QSmj~5fzxA4V#ir+5tW;d&8j^Fx>jA=7V8K z9IE6pDeP46hvUiA60w+UUeTz)T*tPUWKsq!sKv$&Hidh}Uzx9HMenU}4BUikjpjr2 zHN3a`Ls2j&PJ$gSd;OtG&$a_$a2Qq*ndnx9@o*mthxQL%*ZnV_yuL=GQ7Fg8kEh`H zx*d+ElF58-@)ASuJ4{k)u2xU8?}CC6=7&Wu4)=O(*&m3>$JTE!ReR$yAB~6OppIA| z1&V`1T0)YdrqgK@E5@Kp#bVMXmy3pi^DR4alwJgB{Psco?07%a|!E@DD9z-dZS~{*-5;~0R7zyZZTFt$gAAy5DJ%JPp z=y2H|jv=}rFgE+lXuDV{hek2YuE5wdt%06SK!Q{nY2ia9-FPq(olcOKd^VCQj zn-FY7pF%T9AII1<3=cG;j7}@lUB8mXfUOMW>Vx9RM|6(``q_>}5#TV_AXRII3DT)k z#x%~*y9-(+BBiPqsilb8iO%o|I=B>v72~8z9J*>R;W4IM;{;*zbkiU;ni=IprC#``SeP^?m~t2*>!@wy>2Mql z%0s4=XbvUYKBZg=rBn_gpW7j=YO!qSqA~gyNDt^1m&)k2I~+lP<75eitZ%$XY9WV8 zGYfq$Xcj3osJ_7p_F~(Mf#Mjuox~CR9FbIC=jQA_wo?!VI zg)9THAxr5amD}*TSsbf@0|qdPm#*m$%L)e*f|MY%$qZ1H)}#54BlFUBIKcVtFwa*KjNQxi8|aS* z5{)XwJQkH$ggnstpYy&mrcq2FtLPnqwP#yu$oE)M?_vm-(6{e|#f20<La^BO;l9Gr7;$lMZ&QFhQM!Djen=FBVIdC|-_btv7A(p|A+kY*XYH{v#QNR6X=dluNImKB58dC%9nqu+0qaTdFARsi{4-Cc(*+zvdJ}38Fe~0cE`F*qi{ec#Uch zU&UvdkwLOl(fp$r6@5_5lqGyUyns7^_cL${Qi{8Cj;Yr=1IcVtZWN$yNbje#~|hw+vy7zb01WhByKocuTX9OjK+h0~F#I!BS zDp-LBaP|%j1E^%+Evr)C0{JZqasU{|=~yi<$%l$pu(N1Rl4%dN2`XlGanv~u2lE(4 z`>hjZlm|``gOnoa`g;4xb#yPm7WBdbwOKahIgTp)FmSlR={q3}#ryRAg#eu?G>1q^ zMxQgYbnlK~+yU!=dPcUk^<6mc&N1^gT6ysJwN`O5c6Dio#(s1HhsF^(e%rBf zjzDy6@Tc2@f$%h#nmAr5GGv3(GKzUv24m%W3T8HOp5CuQf=wKpLqu1sbJzmID-E*7 z$0pBoGZOC;eapY0xVu{x22fA<=GHj!cLdp1vn^v;d?jCR?jfRXt}qmJdb{yx#3DO~ zqv98gznw9pnq?{-XCEU!u9Mb(dp)KO1tm8uPVk;&n?|G7&YilBH_afvo5u1Dmac4z z$H0Bbg#$~6Hz7$27={dN0am~GvSD}5c?()-O`Pj6U26m_4adKy?<|vt8j77BA!g!P z15CarOf?R{F9i%ZY9qJ1`Sf4E8U*P)4{E>ubWim5DH!+)^_iTmP1h`PGhmLqa?~-O zf4-(D4vd+70vDp?h2dJk| z-ftaZqv(;zSAF%pQ+eITWqVV3EpA(1i6{`BbqQraT;YNW!^{;tgyzY%x^IXzf_X{| zK0f)xaz;5$dwq|5a^d$!3f-Y`*r?7uX=T(lnOB_hW`0Vq&MgtcW4Dq45_sj3=A1>Q zsBgJm@a$Vc9#Z@V`?qhBcjq{%qi4?>(Q(HNmzB??a%)Mm(hHl_EB9q9vKxU>{5^9T z;Pl19W$MYV%E+45G9FAHkkf}Zab&JG{=m0z*y7jfwRbJ z&W>@Jdod-IWU5lJg)FLdG;)4r3;JLp5rb4sO$?-EXM$_2LP8|qW1<`!g%vp#8a=Bu z-<&+uJ>=hUO_FMxpzS2z7RM-b>lYJ%$U9=cW>+24V@@?o@HafT7Nn;6gyL3@3;@eG z)oI;{PXY_-k5WWm{Phd&PErq;Q{OR@idp?e?u_wb&mJjWT4sr6o=GW%o>%x$uxl|O zgMh3*Zfd1AOgll_AQ@aj8nVcHwu>loAS8WOv-CZUYBKO`7V{n?r}g9QBw%_|rr_SS zRb-cZ95wTa?ZA^icG6;f7i{MShd7n5BJ$fe=@0@#wbmVR0tv&tD8=PxaH&+mBQ~CA zn55`$qc6@BFGtQsM<~NmkwmGorF>F2SNPjmE{h377;@9oaYV7~@LRi+xzYej^{6ol2w8IvqBPu4U! zV+b&MC=}qA1Yq5r#OzWP!pq$c*11Q+6MlsiEaC7!D{mpF>SB^HY2wLL=7T5uR%(9d`xhlsVF%JY{lnFIkd5QCV@#|>M(e^Q+ZCc4ND zdqX^X$p@Krcx7boO%ZDIzy#A}(^4kEjTxAJ#)99#6=?0hX-E2GK3>=bXD|`pAbo2+ zQ~WS*p`iwVORc{8Q_x*v3V<=-Vu*0er zK^-KXKd&K=S^f1(Z=AV`_f$ODpS-GYY#aKB|9s`AA6Fm{7ansctC^@Ar!_5-Oea?$ zj|{7>Uu3y~2WM5%DlkD2IfjtFXy_Z(=smXYH4g=mGe<2iy987$DpHURFiPDG`xbyH zO{~QhsNJnSDOj?v|6CvqQLVvJ=Fi@x$2ncj{)u_9wXe`?*~ooh-SF-^*%}2dWh*m| zq4XpDtd5U|P6iU)ckplx^$gxRksdzzbeEpQB}3V0qkNeE{g9#8IwpNr3+K`61X@%y zRti!IJ)l1s8tMm#SAh`2r17Al6Ct%90Y}UEq{gWGn z6dg4-Ef}$)$I6dZI2s{Ca+P#KwUl5ispjt2K~eD*wgG=b3)uGK6n27uk<5TOc3X)T z6adsBqxq;}Bnew#4D1$Sig_mc(qg0!)Q8em7-WbZFWxSUAy786ZW`4pr~WyE>O%(> zN?u)@5sbP!3vRz+&xApOa-xx8u~hQRQsYO4&U_F}VBUez?8+H%{g~f`-E!>>;t?u? zbxAz&@pQ?-mf(c$CcV_b%|v-mk>z2HW_)Qm1@wtDt$PShJZHXMG%L#RfEqzPzPMC~ z#(bWkI0RCPZj_v-b5x>jIeo)e7Wa@-CySD{M)vNsSp^vzOjx6JCoB^vydNmezkTJB zWUt6ZGxjI)frJ&F(kCndfIW-8JT4dgh~|JnL5(#`Jchgmhq-&inVDrFi}8#j*VM1% zbW@u8i(@UgA8jBp>jYZcP?zfuI5V_dlWb}fxf`r<;h;K)Q9ysx&olZrIqa-`1t&DF zmUmP&(n+TNIISfXQeasU3fk~m+0XqKXWtl<_N4*ZOx*I;QE$}4wO#)@j-g1yTaK3Z zT{QruWFnFkENwfb7D+3|!Xz);adacq9F7kfSwr`5R6E;%03ybGfADA8q$iqhuq00& z!r?!E;~wLqU;1$6HK3VhF<4}$u9|4V6<|QUYX5pu8kA$n?2v4?qPEJWee9gzR47H- z41S^&&7u0zIT2XQb>Kwx!^1sA;U_E&H6Q-d-gdV6aq`ALTq8=hPe-j#HqWyQ~7zwp@n16SNg`r>>ctx zV9aswlW=g!<_W9ZB|f@1eKeEPK~a+S%!C;Vg=EJR_9nT`-k}0Th(_ysZQc<%#Mi_f zNOwi|`qalcJVJi($x7N}iEKMQSqhWBZ6> zZ}rs^8-HL@*aLsGg1RE(9g$N27cMD~Vwke4Caz*Dnx)5$xIawr=%nV$jREBZ`nRV< zM~eGL>Qt~;_uiTIH9XP^Iiz;C45O5!fu1qE@2G_vzg!FaATS$tQH* zKCKV0SWu5snf;LMda;CJdJ&D6<2?n2x$4^+vkbj6T{Tj`QCz=As)>RA+Q6h^na)3N9en@`3o-34dv;?K>Wb&1uy? z0;kL-Y18+j!1%(8ODv6Bt^&anMs&4;%=)^vJ4#TPRC$hPxW^r|aidN56^|q^zFF*i z{RCR^Lpq3=HOA!rM35k03Nz(TK0r5^dXBf9XBuEgwP(Caxcg7K{K?Kh@%^)+*MV0j)Kk|JVCUNobDR}IG5 zH|DAm$%1kYIWIr#nxw^`dF8y7IG&rKOi|Q7)TD7{b7Kj?R-CwTz6eE$Y*d-K$a;eN82}0VmMz7oox&*08&d_WQ z1W#E_ zm;ckkd55$4y?;E37(uPrGezv$BSwi)1TjjL))tDYhSH)+klK6HR#ls}R$Ejn_TE(Z z(8k_1+K-kZzkI&e@89#BbDitD&-0vf?)Urk+?&EUHu94RqnDlt$X-C|Q{P&yBHkIS zjZ48N4ISjhCZtHGk^?8eLAA)JsAu_zCm{X7kHLAJ?n|{QAsBI4`#13|gce?i=dPZi zX8V`A1pTbmc1-bY^<}nkQzv6;{P4qLTK74=xXTi$hlTwk^;UTuZ!M))lWH%3#b=USAFil)G+eu@tF*bAkad}p&h+R&?*7<3HmE);{^X->y|rL8B44FI0y zt7aflgN*~p3yr#0(plq<(~NplLW;C$AUp5MEx{yr4ywJtDI@W3`5se!$n{kbO0q{$5a>GAYj615wXl0rV4W`R?J@BmUdhS0t zzM3{7f_c8eaTzl5Mg~vldrSI6byMgb{c^31Kflh{l*9~OH}NLgxQlCnx67@q5ytZU zGM{b^)|1gIv{^(C+c{Z3aRWJl;F^n1K0xdQiWyj#&qM$>jntfw8QgRDaxd=;(vB$B z#)C&%yed=Q`cSKN%FS}AZj~+4W#ysG(x3ahl$Ls}AO zuU|r2)||tI83;nNT&+AVNO$tjz533!u~+g{4U$IqAXVZdV^)CD0Km^aPbZVQWQUOe zxX7oOP~Me+rYj!9_XwP;aP!T*{MSktU)p3k?fs$8ot5XqE#oMxhHxAzffhhc?Ly;5ECL6P%y*F_%lnw z8+|&CegbD#-k*;V3{^hS=~pcVuRFnxz3j4B5X2p0oY1V>~RULJs08ffM)?y>S z7m;}eq+Y4}X(Iw)vIiL40EnLQBR^Kq!bYWPcYdV`xZf^_JJEPPUALpBD}Ft2wXTMm zj=@ilqrb!ukj3ay&`^sucv{ru{nc)k4p+pa;m?pL1rXy8hHSlkX4X`ZDHxrfs94wV zcKKB{C9%Z1WKa_ln01_zFLR6=J1hFaxo3Pq^@B7hbYhhNbGZF78kfu@aLy1QN)-0N zgnPhFYF2U63<18)P=c&0n+v?87UVhaX}S-(ENCb|8%NZ_2#*DThfso)JSxC} zSTP7(BdWIHQqZFHqaR{&Y!|$GV=!!w3xl!VDU9oJ+#swk7&&grAlr^;DDdh{v{s^Z z_(45$lF2huX!A1X8sc!urz@5DQw3`~G9LkPXYXk!0YO&ER2G%p`;7<&u@$Ti#nfq{ z<->xM5uyX>!qo*l6H%#;p}=-tphSkK`BwyF=DhjIO$k$nIpTCw4lZ7Gv@B!*Dq`OG z-;-a@^BE*q#4C=dWLmscCKK+)0w8ScNtwt|3!!R+B}`W@79e{IAj4aEwfZTsWTQeD zlEJH1PY;yQ5Q2Fd0QzOvjCaBSHvnO6qLz`Ol2pJH9*}5|>t|tr;FABLu%td9r3g@F zd_UNyFR~vGr6fWom_UWsx})fSDNQNec<3ijJBN4~drHSV0A|oT*rzL|NgK2l$jmph z2P)aD=HWAEFn5HPn2mAM1&ve*T8t7U?6I!3?jS}mBAhO5HV>d_SMNGYhn$xO_RoN` zR6r9T&O7qE;1XmfrDX)X6(Z#d%uKm}NmwbGboMh*4e=J6gP*wlWLp8WN{? z16rB_FsAvNS_IhAJg4@+?@?(v-(mE5tT;FR+fD*D8_!Ic@4+E3fn8=T5aiNVBh5+) z#o4<}?>vw_)VomwSijqbrwjm3{A@N$NqVllq4C-6F(rUJAmWbl<(lzbxCyPh;9z@=2x zIvB-J8B+;Y6gBG!>?hp8@`12>U_x@`7%a^Z`YFgFxh=^3HKUKGPp9K=_FzY#S7&lR z66YQRDAtHZo`6eAo)YyF9j>0$HiV$foB^;B>QwV;hBBf`!)twjw03**Kz8&?-cQ7y zU#x%(Eta9mJepb<(m>7hTNIz%V^`a<{*ns#IQ+y(^`pcp z-BA-ZRfm?K5FAM11KJ>dJLSp;QcqQg3FV7)0GBv+n}$RM zGr4BKEDWApFAS?pT53_O2=P7`;?@*sla359h)>Irzv?X6=t#DeTph~YDE}<&e&R=0 z%Zhs-j9E8*9pKwgu8)K1asU~9d}_o2$Jh1LIe;H_9HhVM(mqy)y2R-!Wn_ReurnNh zbt!e|@kQeuN+4r}gqTElW@bc}dlH?Wh#MpW)^=bx{1rI?L)nsT5rB?BaG?Ft=TBht z0GELQ%FBR|lxVKUyCq*WzZVf_zL+nHeF3(5JU9%p6w@z^`(X&-y8dfL`Ef)1Ad2}q zui!>J>s7;;Mn#yOREB6>BDnC^RJ8SDu@A|kzQPN(OUQcy@G&;e%rYDB4FDKpw<+me z^y}A3R2PlWq zR9(GUX#hX5`8P;64nv9o`QGX3EqX-?Uw~zySXweRd#7nfCa!QNj7aTa^~0biCrv zdGjvoq?$6d&mdkktvB3c8q7>C*YC}Y(T~-4^0MB{7xR}BNg}D3)2nD-w7ZdGc{=a@ z>}QkwU|)^Ld4Wp|qORG_&&*J-tKI*v4;t)Jn#~$>G;^*nEOy^_*7K>^Y_W)k+lYdZ z9v6fWD*s;}ZWj?ky)4N15O41m0EW%#0z~7KhGqPV^e4L^dOoS7%04kQ*s~fpToH@- z)~xyu`iJ-5+p*$OXSu|4-BVgM)xMLtZKRLbr{M#&7= z2uM0VsU&B*u=C*zHD9sJAN6i;G&s%kIdzw)vJs$`8aYVE8Fy&BNw=_#!9fFEGU5Bo zeYR>W7rMQa!@1A}XO4y-I{8!MjGz0^T8aQ5|Dqqajz4>R{~IAG)4UH+zCrc>mtm3!q-dOu(|pfJvOYcxuQ+6d{X$SSRq+b-DAgY02rHTS%VgC+*m z`)0zB9Swi4Ad6~t&bU|kixA2VOUq18;=exJsg4C0r;!wxi7-bc)S{W@rn*IJJ$E=V zdY;UwkxSCrSNY+br_85CQiwl8UmtJd7VFlquoJEGX8ox!7SiU=Gu^`{bM|Di8+=dY zM8_x>Uc7bZ@;4L!DG`O+Z33I}!*J0o-G#5dZ$W)w`?TU0Ndb+1=Q`c_StT|d<>NOG z(C}0A>%~3`q0W4ryAc081VmC+{tWzGrke6bIjpf=70`LTxbnF7(o`-9P$MMYT~i?o zTi%r6+JXv>fOO&Sd?&1?HV5X&Zk&Q=xtPKayi7T9O+zD1`{ZzK9KVj=G2Tcfv*z@3 zqHZ4o&CGOqO-Hrmh-S+@yP7E!G0Gj?;v;C>Fydak#T!<94^(pulx!FiSU6g#W)os~ z!-$O(xGDU+iuoFiz?X|0%f^U%tpr@(1(dSV%DXpxbgUoD{~o>C#qMN2^(Le-TDr{s zYMr_%X2MDnXxr90#G#=aA<4RNw<1pKpGzHPU>XaGlTN`%TtMXlE*leveMz?~{P{aA zcVOHCCFADa70p>L003qR>#A#$^Vh7Y<{h~M2C{i(tc!0&OBXe}y;*t0peu%|mvs}p0TB)8 z+fElL;a8pC$$wq|lvP5-R-EPBi@v)kCc{z8RdXN$@Gg|N0RBEyFsbz1XpVJd8)+IY zEriMwBiJ$4qfLq7V~VftlVw@l(+^r}zmli_GKMbngAup*2O0<6e{3~Iah@~!=Ru-M zsZnE)^KYbyt5XNFL}xZdkh5o;YBH~Q@Q8q5ldf&e3PoE%CX3g1s_gwyc@q<$Z0V9I zu%ftlzCfC~I`!_>{zsBWoY3*xvA=TA4UIWsSnM+31aJ-_ z`L=OFprR{whs8^8HXM)7nRalC0xr?D$Tuyn06)oX6zUiO!fS&$*65Ume~);T0-=x1 z58bs(xf0L(r)fSiMOH{NzMmL2I?vT!%0B!wBH!!YwPwIU>pTxWH$OGDdNJjeEV=mS zXeO)K{tmC%-Aj=CTGl)i{rz(>U?%L4X&S)|LmHtc zClg*;hsBYkUnI4YUR463+J|Ecr;0Adn?_|Qj>|pr-gi@af|ITMu(hD#^PHdf8jMAk zITzO;E8NItjgcLpy#JBSC9Bq922GZ3>SnaoT9YilXo`>%qON*)Yemx8tAn!dwY&D#TJa6#CpPOx5KY1Ilb@+#q;k20*Row%mT)aHNx zX18rr;Z>9L42ew2Ovv}&dtnFIY$dSD-TZs8MvElXf}2iD2jfiNzdCu(` zTzj3GvPUFmvP9Pz%rZ)HlxRRo_6X}jO{ ze63g)%425N6IIBS=B(nHm2mP3QX$>mOvfDUu<}fHyV?22S!=gSg?(t=$af$e0X!{* z%(mM+z%;ncEy;UTBnmC}#yq$8Hsa3i;wtf;oix-7=H3tp?*bQT?2kj&f#gxOI;)%4 z$h8tV>$9BIcY@MM6q_!WTin1jnMH$#U?!+^%`HVB{k9d!+I_-7;Ou(GTd$5=%?cwP zZv)b`lXt}>ST?ksA4T`CNnOs?O3X>;Z&>^>bF7P}cs8lzUQuoIGkQheBizH5&gPve z?r(%gMLO{;P={rTEjIDz_VMS4kEb1B-CCb^7RN1|5dS`cnUn5uR7oW|3c7Tq#w!JS zSrT-GY|WZoR)DVQh7GpftA;~TCaZPY+kBX;-z{D0dc4nA*@-JxzhjGNF=fZYo|jCr z^rZ1~2PbTv48yq^gixaogy?MgPaEQPWvsIBfanXAGF1{igkh%+1_z@AhmhwIJ zJnx|$%+%h-e`SE0w8_CP5ij6L*;&U}W(>f#dc=BH{jS0MxYvQTd>bWV8#xE3yX#s) z*aq`ni!|{O{V&UWp2jG65IOvk_vK}Nrp`kwb-78dTZ*D)mi+3Rqx!xl9qs!i=uuIzLrJe+Lc)7O%t>>(mh+~Jj}ki$ zuO;r)T-PzBm9N|f#OVBQ) zjeAUk820$)ft=gARxqdX?rxg!h`t{-(_6J>dW$wB=sU1> zspIFvY&oCT$>C%E&wumu-05%QKsEHTDJ^b1j{+1&nHXYTsRjI!!Rm;3# zN4oEa&4HKhaZFtnMQDN_t{r}<%h47)O+$qS#iDE$JktM~9pO|y5Z?&;eBI0Lwm3yU zco$P-tFh&pWty}r_ViY6$FS7L)2M&yY(g)X#s#ih)_D8KuZs4dWPbwPn|ImxrI_{_ z2cdpSqg1Nv14s?Od^uNmj|9{#AcN&iP>@iguTr;8o?8lfYEOM2cG8SeG#rV(J(w+l zf>5kJQTPhu^qWL_LKHJ4DVsFJF>w;vG<$Bmy<<*Zu*vy)DNepwd#buzp3Fp}-XGGp z-E;GH*U!DiF@Ec?L6H@TClhq9000aeWP&g_wIRAS9o*XeY+$CBvj6xh_B;OgnR~4@ zKtiQs@Y2Gu^Y2^ zzL2cQwYB&oc*&}{O{dlq^HR{uR0C(`Hs_EBPg9qTPh0rRj(owY<*xlaU4{5l7Pdbz5P2Woh~5dn)iw9qN^ z02~7+yA@d*OdZMwXKUtS0vv}5%CBhL-~WuiQhB%{f)uLc@yPPyA79+%|KwXgAn^7G zhxKUdXZ6~$s+yHM73o+bSM9xDex1oG8xYwPB(_*P z!*rDhie`Q1=sMM(^@G;V>wZVqn|xVB#GjmAJiHu`J6(PC&MuUS5A3O-K1?mfBNq4Y zC4(23T6jdMUnWrtt{26QYE*f`4ahY63B7y_{=O`Jo(%E3AMt>~rf~_L2PzThx*6F@ z*7J-GP0QjMdig)L^j=r3*}t?(4_q60hk-;Fx+Iw(^wF zI&pXD$%?o^>hW~E5Czsm><0d_$qY;1ec&0~rSU(=?ax{^UwZ*P&_{LpMx6D30A3LV zz`HCAf=u}~b@JBMHFa_-C}IXP;6^E0oNi%&*z@Tu+*8&(NMv_*l_rp!gnt6@KC znndSaqi+ae3;KOcs?{F!eJg`hfx{p725Ag(Z>ppIK1#ikMFAT1^OaF-1`w#&2q&xX zUK*lhF%qel+pzqKqBK$7aM3s+X1_v&KPfonG(#n#Kzz|kS;r)*F7(=FfhktS*sNUH zIPg&d#C*~y%~q?;bmHYYdNWQMR6nZ9`Zz9A*fbLKA0K=3X82GR>rlt+Uze`3^ZR{x z9tO@kSrK>ZSG!F4fD7KY!Gy$p>bV@@L0MPZ;1T6i`-g=zxrXw zhDJb^gaoMMM^qj~jgs^~U*EHgY{u zD5YhI@L4+5j!sr&ro+)hH62oJpK>yV`lbErnNuW=P5>(i*C`ImJn|hdTIPK;nd}9U zBEKgQqG^S6&$jNR0n6Wy%;28di}f?r$}|$#r12bbqSi}$KDoHttaMPpHbf_k>epl> zGnZ^3qM@VALpxY14UW#w%9wX{O{ablViFaw`ZCyOVitZl;~6l5V6Pm}$CgVE?Fe>*&||19PvpCyHRw>;$q4UjTFbHD$_t^*s0lq@<45 zY!{6EAE8I?YOiGfuHaVVMB%CvAa9YZUwddJHu zLz7d+#6_GoM69ev=u}Gf-^x000^G!;tqNHTqNZOn&a?!(m=0?74H)-&`Z+u(&AyEm zdo33A(KZhtty&m-G?hSM#TQ$!lJlYS#?2C4E}cmb3G31-`OnA{e)|B7aXL&l38CQD zgG#3m;_b&~FJw;heWM!7jT|SRnzEAes$43w0RrIv;pTvf-(Q*rarJL(xY;lTcmLU)B-7I4ekp3z2FOu(d;sc(xxrgKm#F^(ouB0A literal 4677 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 Hu0mjfgVw2; diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple.png index 17f3be9c262953cac52da794d601bb853d8dc276..6a862572faca191c265bd1bdd76283c08fdab790 100755 GIT binary patch literal 26685 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 B13Lf! literal 4677 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 Hu0mjf9r&r4 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas-overlay.png index 2c94ea78bfdba901614472a3215401d7b0a2dd71..9d1d6d1177b9e36bcef557251ba3914fa5acbae2 100755 GIT binary patch literal 23898 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 literal 4949 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 Hu0mjfi%6-N diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-drop.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-drop.png index f259684055ad3ce25b2c3cdb5c3a53062b60a8e9..b3d7e39dcdec42cc39c96f004690d7f6a7337be3 100755 GIT binary patch literal 26684 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 literal 4677 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 Hu0mjfQGBVH diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes-overlay.png index 17f3be9c262953cac52da794d601bb853d8dc276..2529b5cd1928637c69a512b292d5533fee42a48c 100755 GIT binary patch literal 26684 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 Hu0mjf9r&r4 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes.png index 3dc60464cf31e3ba07d5585542d75d616f63da03..f2bbf26ad759fb2ca151a839d4e61a983ac45f2a 100755 GIT binary patch literal 26684 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 P00000NkvXXu0mjfY&D(f diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange-overlay.png index 3dc60464cf31e3ba07d5585542d75d616f63da03..254a6f32bca09ab3009cb6d25ca4d57c048ba97a 100755 GIT binary patch literal 26685 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 B;9~#) literal 4633 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 P00000NkvXXu0mjfY&D(f diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange.png index 3dc60464cf31e3ba07d5585542d75d616f63da03..998f5fb3cb6f04dd8541efdc151bde4014aa69db 100755 GIT binary patch literal 26685 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 P00000NkvXXu0mjfY&D(f diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear-overlay.png index 3dc60464cf31e3ba07d5585542d75d616f63da03..0d8d037a5f0357f90e13ff9cb05544cbd6d7d931 100755 GIT binary patch literal 26685 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 literal 4633 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 P00000NkvXXu0mjfY&D(f diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear.png index 3dc60464cf31e3ba07d5585542d75d616f63da03..c8acaaa58349b47893c0c3ab3bbd4a2d472c8721 100755 GIT binary patch literal 26686 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 B?Uw)m literal 4633 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 P00000NkvXXu0mjfY&D(f diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircle@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircle@2x.png index 919d8f405ca7f40c921e71b91e7a81655db1f94b..207ce15dfabab74df8b5c13932506d94ef19dcfe 100755 GIT binary patch delta 95844 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�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 K?H<|qr~Dr=#f2~c delta 42344 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 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-0@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-0@2x.png index 8e50cd033596fb3daacd173247d6779168cc8f99..ccd1494cdf1a9d19a9c860b88d240392ef1919ea 100755 GIT binary patch literal 87032 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 CAgN>k literal 26595 zcmXtf1z1z>`}f(#U?WF|#3&`CRX}QlGzv&5tssg>O2;`WPa6viJp%h001T&O{m*WzV4VU=C2sy1exeavrCgohQHSo z=)3a^$b`A};>N@aInm*~Svw3;Ns2#|j5!!(WMnw`uWvuM@GI>0wM#5;!LpX8=G0Mta&- zArpTakHV+)Uy6r`LhUyg(tpc(R(SQwRy&eEc+4o1mk%0V{V9?iz11t;{Z3+|Tjl_c z)N4C|uyz}Y;b<_%BI0cai|KC9-qp-yg%8v!LlK`}gl$n>B<9@H<|5Nbl{G%P$)mTa z846CJhJ%qk3)c06QoCq%O_AHT;DWF*@{wPX%Mb=VTaWSE5A+)`PIjgY9D zL$mv#-#RtnkoS;?@5_4NWo>;xsD9!cJaQsMTpU;b74So%S5?XX4#$+=%vEFNS5jSwxje`$OOrgV1Ag?N8;wNjk*7nUiiS7W^JcE@ zgi;0{mC!4SfXk|gDc8UGoZK8c34TlCoe2>uIrW>lc5>69_kZtygcG9uBxbF_OnQ#e zb-3uuErvR`b?xR}o|DPRmWqwYcd3YOJ)Gj4-0rTQdw3Sz)OJ8?k*1APr-G3f{jLSZ z4dT-(fYV%G?xhj#iZG`=ZBx{e&GpmqPuvOgBgOzYW*~m^20M$0pk3%b)j0}x zeeo3(#{fJDd6QVZ_~q1rx*&@a&{y{(csqoX+SwpII3W|8kD+t1ISdetZF4aUhXho& z%G*TgfKWgpaXD*SzKvjk)V|(SWel)&m2Ue2L@pO0$rNFLv26zdbo>(5@=n4QKTFKv zae)*(M`0Y|P@L$fr~gi3z=pY*yAT_j8|`TG5b25hD*~iJa%ll;pdj&pAsQhzw1 zUTnfnqPR^Vd<^EmGZcRuPe(MO4j6*qE&*TLP9ozZ#BQkcjJ{{U^m}jJbPzfG)vB`_ z7p-OV9|6&2v1!1Hr}=P}m`R6w286+Zmw?L+bx-KuE6#h$S6*~7G*I8+*wV ziTj1PCN!Q4aQLtDMM%jxLEWv*Dc}t2x!}Z;s43J|(pR_yEJ|wbW9S)a%NcXP8G^eE zd;&1K>T-`plm7dp9Qk6(M?kZ?OifS29O8YC`&dWV0Y+2>EzJ4>DlgO>i_e}GW{sVQ9(+VImrtJiLB@E{+8)jI_>DBdw+k_Lo7R`OJf~_dQ zu>7@U(f2Lvsu3#`<1!@LWT*^Lz6lUt790o8F9#Tlq|EnbcAIOj(FYE3R^=iA1Hcz; zIIkld^XTwY!X2g0XrV2FY1nA?$fq6hfSz8l)=H)!MHi)r&gj#xT!gIr2R-hD9I;taU8!lWr71 zc6sqyW+R;pMUfeO%5lNYtS(r3U@*4NnM>&U^%Jk@CyZ{kZ_jNO%vYKfNVJw&i%{nz9V=uDf^{@JEoAV+CHW!XU_3;ej9 zY^l$ipJv%1;VyeSS)qq#AxoiyXF01E+iM+d4m^=>nNjLM2qz==xtjUT^04b5glCFr zM3a9LbP@OnsvxS_5Y_w?jdzB#UJ!1$j~W%Ed8%!0c!>6gJREE$NGv*A9W6keVP%fh zj6gl~a27xM)80~D^Z3wZnW!v&_pYPkltxv2viD=gIE5ENhcobc%p(%TCSRC>-G;)pqV+b6SUQQ3cOo6k%faRC&-$)pUTT&Q{6h4V;O7*NTB&I!H; zH`paO9<${#CA8N$t?e^>CTN{f?!&VF^uAh^nxB`a8v7l!OM#9Fs=wyLj&Vx*s(VfQ zR?x&A7Mk0!3feU6?^&baNEfpo6@{5?!%SW)XB7gk_hzb=WXQeFj~GACZCrb+^e*S8 z=od->AMV-37oMqmdnUg051)R9;gzkYNPMf=XfD!ejU*%@s)DN3w(7)nAn1j@iep&# zPyNKT@N?H6{@1dMWdf)o2p9H-LXFz~{XE04Yo*thYM$73uUBaBvvf9EV8=Ep_Na$-tY-I+f{e)ALEzL+Ol!-U z%pbB|?+6@ftG}VI^=VGnTnH%RQ_|-RTz{m&d#z*Ng zXJmZz%t^-j@y!a)kzSM9kqKkJ%Bq`1>FLIcI)$mqJF4I*9^aiXFsD@%T8SCGbjk!! z=mEL*6OA0cTm>)fVb{V_&F4TEFn8_yD2pgC{-Z2rbdbslM6n4w3p7;C(mg#93HOi< z{L}VotaZzG_)joxdUmh(myy3&j@f&%6Wp!E10yxlo2L5vsbRUns_qZzLpcAkt+36p zO(h4oXyyi7IacDjhBVBR1+-2oGF^O(*?97JZ>7FRBk?ZL56yHxct6W}b#CNVd%=q} zo4l&m&h|H@FM2-i@prFvkhGx>mCjLm*gBl3?8`aW<aixs-)kQ%$;Rjxbhr(kxd8^+_^SpIm-+$6WQdvT}+uhS&AM3EKM4_AW#{6 zh(Ne27Ohb5e(oGi_Da`KphG$R&3wCyFN=F?^-C}trgzu%>I>2Bx&IEMnUxT42@3tC*mQ#VmLw6A$Mpb8_5f&JoH6crwI%9$u-zJ z4&GRo%o~0)7KFXPQ&l%Q{blXT{cJ--n1lb7hCpI z$(3;?)x^xZ*=J6-2UMDnudKF{~3DmObBRG#D|HRAuzq?09&qaeb9U(8g$?| zEySVawj2YIs;mvvi_8=5mkmnhP34!WRdp`Rl#gopIDbtUNGWB>q+5U9`lcYj))@1#<+9^s@m|0;mXDMWqckEUZ9V&uL%t=^h0T~Y z{?1(1y{E=+-sefS|hQjyJ*3CUQe+&}W z2-V__6Svc&VTq<0(xAgyeZQvj#=4s-0GtL3AC0!J{e}UvypIhQf(X<1t6rDHEX|Lc zd^uQONLrw{pWK={vp4-n$yIjGGMsaFW>PSN%;^N3VF|+Sd0e+d`0TZpP+X;mvm#bT zEt_PIB0>tvN|A^_LTiL!KD64c@!oTmr3Es!wx9Z6^#97MG#JV5*tg94Szw(sVmZ)r zgYVle3x>wZkg7zwLrWSxsXOF%zsoG~-c{HvEPJi>ZU@$nj0=9mPh3!u76zB4`d z_O_qZR@PZZeBOG$A41;R?${1%v?+R#f3c>u-27(rr4TS&=1Q4up7fB%A7y4uo#j6K zw^N=&?jy1fFo#X#ntk$Yd)7!T#WH>3$%EkI?2SJoe@14uX4*G93C=~lQ$n}mR{u-Y(@^d%H_JS0s^C*3Uwi_lf{)1?@;Gu_=Hj4G{g{q{%OF1Js zUYa*R2Fd{$^<$Wu&qT}_%SNE_>4mWutne*bmpKdzjoSAlKsz1X}PDdo1)rf zMeKArEUxlw&D=@5HibO%#K60F^mB^b6S~dJO|`-5oa#4T>Ng$?pV_l)vKqcPJ(L*4 z&7MuuFkf-**Xw81o+or6Ck*;P1QCCC?mh&Zf}EpH)e8k#C$i zU7ozCR`qSO3Y5=dyikfSqQ78@a_3+*MV(`G(65b`wB*F=3TW~iOoLAI@b~t6>d5}i zz^K~bnaSeGVo>|M_&yY}u2;dFc^V#lqn(nke z9>xr;!xELJxjFXlK~L30R-Vt5O(q1mWH zOSMJ3Aufuyfyr(A4GPP}+l-OGixr6&QhE}T~3EFOY^ z7d7Z0ld>`4oo7>OZ8m+u=M@wBEwDP*|ElXgJCbds^RGPGS#XYyVjzrX;f3lSVH+@z zSUiDd#&3%1h@;*o=|}qP1;`K7ng|5T^D)03^{_2tna!dcZ=~-uE;J5YS^h3KF3Kl% z;L}Akqlq9iq(I3c#7@Z3gKC%oMJUSO1!atg3Y@d0)h@y*upDaZ5mgNs1KJR}SxRk> z4)~U{s>5V7-z4ArI9esA#@)K+eV-I@QoN@h`Jgbhm;1uI`_+Fr?!F^6kj8%;C>Y}C z>>w`~PhIEe7~q>}fQ}B~O0#p?sV$5k0y+_@E{>`?mAvppL%DU?Ikc4%M3BMI)RL{P-*G8pHP2HdbS1)>wHsA%*b{ z60OO4Hw$(}_ME9M2fH4Rc9BeOvj1q{xQqHj`^KM#b>SKjTZip;!vn)BZ+=Q+nwIxg z#k_w6-DT=y{D~H6auNMib*L8T5mjKx^2=GG9lZ2k;aS4>`p-U5;(0>n z?J-ml-a2zQX)rqhx@YM)2jOdpL1#=bZ5NLm?rmDQ($O;Dgg6;#7ioiE(@h1^mP>4P zqRQ4kz8S7Bd`}JrqB{6T{pw@94{}3&DZMjtoz$_D#b4#2V>$bKl8aB)Vr?QTSX^$B z^M`{YHKLGzRYoXpqcvrC`y^sqtO0+^RErJ|D+nO3eU|SVYT=(n`w9>6#QA*)5O{o; z==}B1SkT$8TB~Y}u7eax_rdsvs3QC*(t{m+D*lDgV57gg-sbF6yX?6Cf+u4xPJ!#fid%>n&7V~K?g9cuSajaphxR5-F4{v z)!^RgcW(My$jW{~WVnjp)i>Unj%6=At$)Zrwtt5E3M)lJxEoaQuF2*@K5+9y|C%rA zn0irC=N{RwRg0kkpMjBCBrssIA_ zuIezd#iVk2YV)S zhpvY@??31J=zR?NHPCk3~ zq)Yp!kcO?9uk2C(^mjaO9t>35<-!U4l+&d$kIkzyfs^Da6~ED^*4WFx7itDtisZV{ zh`)a7lyv%2E4{g1gqURCAX`Wk<|w?c00OvtXA5zg3q;DQ^#w^j7=L2cxj#mJ6Ln45 z_L8mt9od}Ey12HB^^7x=w5K5|a{_8rcUdsz5-Ou?4Ghw`(`=_ki`cZ~^n_4#SlK95 z4k(BI@i+n9{bhcZ1kkT6W3eX(F@y$6?>Oa86hZl~8knH)kG?u47eYx;4A<|y)}kod z(-b!*4iWRo1OVr->QCTHbxtp&$Jjy3c-wwoG_r5x3TDZEvT${!El}ci@`DoZlBJRe z%|%V9szQxa>7wvdmc;Ol-8J0Y?JeDUT!yFpOU(7N2pT%8gIf-fAY5nq#B+Y|mSZ~2MLd?f`%^asQwI^Sq zuu^2sZlRB>9z<%a9!i(#PzG`rn1fyqfJjz`x4t={co7EE!WF&ByvsOu+P{k7+AAAG zOV>-wVRWb_ag`z^lri+4749Y5X_B3s(Jvnfr$4jA`WpuGm*%)%Q2!E~$cyB`GU|7A zbuIp`OF1-zh0CT@hi7#tCjavKq<_3%F`#*SL^N|z`Jref)4b~w$IG)l7=L6+ZDg4f zyufnoR7R|KUE7$*tF)JZoG<;;`HOF}rN22Z2|+BQITT4gD~$ijg@v=Q0R5jKGM)dZOP0uf;`Hv|q0UB<5(9#R1g6n%UVUQ7zjG!|Wi<@+OdjvU32viJ3^kb7Fn-)}32zYbeWPCzzam_0{} zW$VtdCWjZ%ik!zYY)rk1H+FAts`fAhZhs$cIK#V8GEy><^{O{1JJzV;w$vz@bBbT7 zX(h27EsgUohTdYuw9Ls3RLpE+;<)D?A8WE{8{Hx$ZOv@`vrT22Q5vT=-jk~#gx;yK zXId}{*%D^)5(8rzb^sf7{2=Epe|uf`f&KAax7(pG`w#B)fCi zwbcrI4H2IHQ4F%e6uv!!hc+{+&*)`cv!jW#e=c%U$eJ>K~3Sgp2l`5sXYN?<(A5k?m5 z6X9|!Ly0dlXuwcv2fRNz+<(2d{DR|;%KRQn$5BQNIIKxxvkA3n!}irIP{=>%sKzBQ|np^!aSc%)<%t{;9$=1 z)hws=ENf7VY#p3#CJz3qT*LlLH^a&kXDqg=>Tcl8PM5w>!Z- ztm=&>9o8A_mgnC>w*XozM)qGM}n-gcWxAb?%)R#Yu@yAG_O zhbsAa-Jg6trk!z?r2uIPW_>c9R-D9$jQ>2Dbl9%siWgA)kiwsi!6JY3A;hxklxO*0 z2%Ns&yY^3Dwo@9NWv`Z9O%M$?mCXO4tL7M{H2;zLsE;NJGBsKzfqNZGKsywl9>>x`fII*Ik-USOKZx1 zo$rWpFe>+yu(={W*9E22=NM0Z9?b)c0m5Np>VK&kwq7r{#d|ND4=B{}jK3q+4|~rU za$es5*B2*x4?SO8~S^`O?syx^NnA!cSU*`-z-^!}OI zn!NX`EIu;r+pEVK!n&Hghe~W2q7YY>JBEO8o46&amH#>;kLwfO=tnVj!9#)jPiBL9 zd;}6qF(y)JUNqr&3u`LrxVxK zgaZ7|iEci*^1~b@+;?sxwlZwJdo5;kJ*+UwavwmJV@ z%@mv!fKtwrdZU}sY`&4zhXGH|aL_6y%U20xzNvnlH@olbG}5~lpP2M}FG9K<6LqL1LYh2hQq!)U6jJvxsN z*5qONGk;`3U8MBxgw;Cr-KcfQH5;5G z7354yNv1g!LyZWwA;RsGVA}wlD!*`BX`Su&N16JE*q5CAO%Kn2 zjo}6hS6+mETy)YW%qLmQ)Or(G-Ap+Q6V`d$rbd>?^8!G!-h1Q3!t8OS>Sf0WLnRqHf>Hud^JmkK>n2 zWos5Q+7}OI^hPqSCt-$|Dj==_5Qb`o1>gwFJwlLbpxUP1`n7pyZu#BbG08e$^S9$i z&@ada!tA3gj}49}xk|@MBo8r^iy9dY`@Pq8Mf=rFGkuTJE1Q@6OGo+CLq|g+4~s&_ zo9>!rb;pVm27brR*+NaM@iGlSOwt|Lo$}IlAoBGpLH2hq?fbhY7OUUE68o&yq!t#G z;$zSfHoAIb>^lEG@rb$d60c>iWK5hD+=aIXgyKE|OC>;iT1vJ;{a=T%G8QN22j_j# zq}z=xL|@BZVidQ4SQ=qrGe#}zYUYptysp(DxAM_JIQ3i$)%Lk9c6`Uj>0kZM?_t#N zW(sX7O;pBi&Yy!$5}Eh#%c3n*JAr7L^KtY=@MAca;9ICfzQY@_-Q&5vD?4?e57esq zRc=dKVXR&LAg87TS>%Yf(&#Z#OMX48gn~_~LjmsnNKXB5esXMVes!i&7$UJ%pE>iHVMgdDoVh=)a;!0423_K8)xp*M0X6c~(R|rBx5=QV?+S7l zyk4QANLP6db!8yT2r8E(uACkBdw5o~{fk%;CCx&!sxxn)_j&PXLRs1C(f)5Cx0C|& zu34?h<%31kjJT+A<7afS0(9pNo*Ke?G7cyXu56nr=PuoMQa1QkhZS&sc_OEH}~T;f@Ke{ zzt>uhxU{$2EZTHqCB5Y9+gxM%DCs#xKPD*~q7dTWBI-jzeQ-nYx7Erz*}!c30$kbL zQc!3JewU?n%akXPy9;ZFCNJKnX_z*hj4ovJIbV`<S-bE1{$ zH8^>sk3Zuiq)~C}h44gn%9R^{;}Na0aOf=dCV4iysa_qdgZ}F?^t@MyAzb;cWj|i` zKoDJm`HM-l(Bxs7%G=4K)c*)huQrElpEtYVvPZ*(zQEXqY$eEFOl4bi`{$wS^}Q~RF$?mRby(JozIfL>{)ywMq^SLZsn$JKT>l|&o&9)bSn$=5B1mJ zOZi@e6UQsut56W@g)DUe2J%Ji4^B{0^V(2eZce3YPGi zVfWE#>2Q#N(+%Dq`k@c;6(5`AQF3Vfkg5>>bxMK}Q|Q#_*${)M7td_4Jre6o;pBt< zgVA&8A7kc2IEs%u1rGX)uvHs9^m>nxofeSRtuBpPb%6$-Cc*|&cx2CAK2CEsyGhiT zs6qwbT^JV=RA!sX7qZh+@2m74rFMEdYwM9x#o#3Odd!lmTIs<-HMxaH4F>+l3Hm

yftJ!Y0GsdcN%;MEM+5u>2KjHnOqx_AeVsl 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 diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-1@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-1@2x.png index 3b5e886933d2f7a8803a44304c5439058ef86fa2..e611add3ba9861baf68614ec51d63d3f94c8592a 100755 GIT binary patch literal 119975 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

wSIutbvWi6D`m2u|!^@bLCI5us_1F3$vl-qM^r3 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≪}_ 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 E0Oy=DQvd(} literal 40858 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�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 U^GtX>4gf!RCwC#opET>M-<0j)>w_GlupaE zQdA~lAy}x?Kb);qief>Tio%>y85B1MMFn+;e-wn4iCWkYhE~K;Tv@diJE>EKHPvca zHDYSh5db zjM@LdW5GVBo-aEjj#cOe{8^>_9`zyW-9figw}yN!BrqBam}foI8>u%0|NK)VUQ17MwEp_u)0SWA_zYSk0`vKNWN>hh+`oUH)YsRO?c29Ulj?)i_fk)eOCKgtn&0myLqkIW z_}bc9vSrJbXh!!!VSvLU|LoZ_a_7z+Qc+PsX3m@$3HVRcrwIkD813_csCRU9kmJXX z6SLW@7y57N1;PP`8XfgXXJ;olapDA-KYzYn@G|O2LINv>5pQpACr6GPAx5K75444P zy0E}XA9uN2q^YTi6c-okf$pcCCoHgHUayxp91e2w=(y;pc(#hyQZ9_ZIAR;C&Y<=sIbDl{);&l`C3{ zkDby0E2H=M^XIin&>U%i(fa!O$gyL`w02LDr2)qJ8y6kBckkvw?~?`?ZDeGGSglsF zeED)-YJV&Zuu_;{3Cf9by;Q(Te?D~R5D)rOsep0!1ecZh`T4v7EQtjy+zEiBq$J45 z$bgcP64qC+A8(ZE$iu{m6Co!jhX=h+x-%YAr%r{98<~O3Wc6iXfya#-2ejmb($dn1 zqAc_&p2?FZLt!EF@f0o}mq`VT1K6B7b724e{j9HSmI@ec%9JU*DC54iNh)BB^4z&| zp}4qMt$9-T;3dULJdE~SF&`#6bcqDT&UKB`_>;zdC7y* zkL3i$s*7P6QUaSyCT49SB`_`~ScAB<7q!f0^VkArEEVMio<4oL>eM7HFz$k=jc3vV zvj#3{f$?h6m;!dY-D)2XOAFlF+pG5Rh_t}n-Q8**JGnR0L|-+jSf!K^W(`;vVJU$< z9uKRjM@nF))5&VGO9_lOVaH5_aSX=0&uVip^?OFyfW2NXoI7_;t*ISPF-jLd@8I^`A_qm>)_PVY}U~28-4p z-SQCCC>k3ZSe(1O}uxL-S@US3|hq84=j z@BTwh=%PZ%D*)krm$6Vl`;B^w+Hy)rL&XTZm&l3kvhZc2&=G$6^eLP=b&A#85{xiN z5n+_LI(_;yFS>|!> zv6w*7k%I>h>PcaodPYsI^}Pb4a1iQO*45SV#DhW|pK6cln*`nqup-Nf>)2hpcIlN| z{u$oEn*-h{umXy5Q03+2#9%P!0rkW(?ZgFGkxs|ax2&v;m`o-9RCLv5(>+ z-D0tjJ$v>5_HeJ99AZ~o4Byv$vQ7rFn!Knt-MUo*7rT`o9)C-<(qUi|^hXXo0 zJAneiwQJW#<2@~C_)@BJ>OTh0Tg2Vo#hZAr{;iKk>T0I+D1+j5Dax2lg9Nj;DIMeQ z!6UhNhOsetc;sH9Z|X-1jIR)C4S{S-lztfvF#f|spJV(5Z{CR44sVX$;?GXe55fE+ ZzyR4Xd;=*Q?iv69002ovPDHLkV1gL3>M{TT literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png b/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png new file mode 100644 index 0000000000000000000000000000000000000000..03ebd1904875ab54fa71cbe948304fbb6266d69a GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6ht&!3HE(th_Z1NJ*BsMwA5Sr)zI%U~#c*aSiV>bgcqrenRo!(7sQ*l5b=5lS zHz>XqA5MduI3AJ3)o!d^br=$OWl&|sX@~VZ$$kjMf^*+5^|JIp^;7XGD@8l4m+Fq5 zbR@7C?o*Zte`1aIhsJvoa%oiq#8D}Ki%3xN-Ksnged2uiUDl?~c^n4)<4I1OL@J{s zVbM5~>zhOgK)+qf;w)+W21PgsudT$_W{dvh%J^~W25rSR8(jc< z_fL>Vf#GBu5+M8?a)ADqw~O-tr|7*i>Is87{CTFawH0p@a7Nez!b2*^x0zygxz-zJ zkY>w@5g3#`3)hxc7oS!>lk?q4A2}BKF4OE+l=$q;=o6RE{<#@Y^c6ReN2_0|6weK| z2uIAnbU>U^b5ZVub3{6?%JM{p_E&w1R}>YSKGQiTyB-Xk=tfFQe;f9 zT7frr1ow~=e}5}V$xMU*Y4I@*Evnes())7`go78n7;RKpIx`kD`E%XMaa-?OQZ-28 zi5A$#5ZvHTSuXzTXl?s@$h+&#_xArktA)i(04d2$ziJv9de^lR6uwRAw+mf3DxL5i zZ%jZ&vDSxmHFDjcMMePT4CJ&RQMrwF1c;wW1GqPo!cSZ^A(b-S3e=k6n)X>l7c;buJdiW4TJFtS@WP;S0XgZL zRZr~^B;3JzAm@^5`N8^|J9S$Eo}Uy8Bag4E`!ifO*#yn~@NB|Sx?P45|HI~V?QC?g z4jFo_Dw>(fI(BuPb+*GvzfZv!*mM-wnSs#~9FzwephKn{u!ofyos z#4hRx06epEi_y1?Qq$3HdB0QwjO&@~ShGCE8=pRb&BawoU$ZzWCoUoOIx7L1t28)d z`yS1UG#((0hLy3j40^L2$5CnL#>$kX73~K-M7th}=wN8AyWKeS(#q%ETnn=#%<90t ze7vB1Kb>x9o>VALdA9*Ak}r2xz8Rw57nC4M3H<_h<7Ki1Fz`+PZbuO%l5Br0a(oSA zg;^8KgM`6aeM%%kx-bcr>ZGgP7Qr&44d-K|2JBpyh%9M!COO<|4q{>(ULo9=0@1|` z{mdIm##t*?42H{S5)ek>iXW($sYURj-j(3}Ao(XED3+A5XEmxS;3@V8-Lioga8`Zm zKGNssuY$f>>S4+Fubmb-0Ub}(`9&iCk5&1fTkn{v_16n9O~0IyKJrn1yh6BoSU@*>AiDNP`V(J;9{Ld+x^0JNiTBTS>lAaos86NG z4tj6a1y0egJwb*di9UsPQkh zVUV*XtU<4yq=oM3s=AeRG6WkrM2iyo(WeWwm?<>=Qy7 zPz!0(bK?q3h@tu4v->WnEttwXV40o7A14u+VB^TJY0coQo|V0F9X(&cElEqk8XNmG iXXL~5fUGV&%!C*_ol6Q};|lnZLeiKIqOXgS)&B#53)X=E literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png new file mode 100644 index 0000000000000000000000000000000000000000..87ead80a08146adfa553d242f315f764a467506e GIT binary patch literal 3749 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 DZJ4!X literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png new file mode 100644 index 0000000000000000000000000000000000000000..778c231f20ca9253e64ccffb64a0aa39a3b97a76 GIT binary patch literal 14570 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 PK2D*pzfZY$bjE)HM$sIi literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle@2x.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle.png similarity index 100% rename from osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle@2x.png rename to osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle.png diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png new file mode 100644 index 0000000000000000000000000000000000000000..6dca33317131cd69ef449c0a6c0122f0f39cd84c GIT binary patch literal 66280 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 e__0p9W$exLq4HUNEC{AIAxiS~PfR=%CLeS{yi$ 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 Qd;A||`ImC#G8P~IA7%MrKL7v# literal 0 HcmV?d00001 diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png new file mode 100644 index 0000000000000000000000000000000000000000..2626c394dcdccdb7d74da5460ec3f6d6570ad9a5 GIT binary patch literal 66281 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 z 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�kcUrvy?Ky7PM-eKS~7g% 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 literal 0 HcmV?d00001 From 6674c702800ad0d876808e06ade20e43f2b694e8 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sun, 3 Sep 2023 01:20:01 +0300 Subject: [PATCH 002/106] Add support for limiting skin texture/animation dimensions --- osu.Game/Skinning/IAnimationTimeReference.cs | 3 +- osu.Game/Skinning/LegacySkinExtensions.cs | 35 ++++++++++++++----- .../Drawables/DrawableStoryboardAnimation.cs | 2 +- 3 files changed, 30 insertions(+), 10 deletions(-) diff --git a/osu.Game/Skinning/IAnimationTimeReference.cs b/osu.Game/Skinning/IAnimationTimeReference.cs index b6a944ddf8..91f1171a72 100644 --- a/osu.Game/Skinning/IAnimationTimeReference.cs +++ b/osu.Game/Skinning/IAnimationTimeReference.cs @@ -5,6 +5,7 @@ using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics.Textures; using osu.Framework.Timing; +using osuTK; namespace osu.Game.Skinning { @@ -13,7 +14,7 @@ namespace osu.Game.Skinning /// /// /// This should not be used to start an animation immediately at the current time. - /// To do so, use with startAtCurrentTime = true instead. + /// To do so, use with startAtCurrentTime = true instead. /// [Cached] public interface IAnimationTimeReference diff --git a/osu.Game/Skinning/LegacySkinExtensions.cs b/osu.Game/Skinning/LegacySkinExtensions.cs index 0d2461567f..ad3b10edd3 100644 --- a/osu.Game/Skinning/LegacySkinExtensions.cs +++ b/osu.Game/Skinning/LegacySkinExtensions.cs @@ -11,6 +11,7 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Animations; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; +using osuTK; using static osu.Game.Skinning.SkinConfiguration; namespace osu.Game.Skinning @@ -18,16 +19,16 @@ namespace osu.Game.Skinning public static partial class LegacySkinExtensions { public static Drawable? GetAnimation(this ISkin? source, string componentName, bool animatable, bool looping, bool applyConfigFrameRate = false, string animationSeparator = "-", - bool startAtCurrentTime = true, double? frameLength = null) - => source.GetAnimation(componentName, default, default, animatable, looping, applyConfigFrameRate, animationSeparator, startAtCurrentTime, frameLength); + bool startAtCurrentTime = true, double? frameLength = null, Vector2? maxSize = null) + => source.GetAnimation(componentName, default, default, animatable, looping, applyConfigFrameRate, animationSeparator, startAtCurrentTime, frameLength, maxSize); public static Drawable? GetAnimation(this ISkin? source, string componentName, WrapMode wrapModeS, WrapMode wrapModeT, bool animatable, bool looping, bool applyConfigFrameRate = false, - string animationSeparator = "-", bool startAtCurrentTime = true, double? frameLength = null) + string animationSeparator = "-", bool startAtCurrentTime = true, double? frameLength = null, Vector2? maxSize = null) { if (source == null) return null; - var textures = GetTextures(source, componentName, wrapModeS, wrapModeT, animatable, animationSeparator, out var retrievalSource); + var textures = GetTextures(source, componentName, wrapModeS, wrapModeT, animatable, animationSeparator, maxSize, out var retrievalSource); switch (textures.Length) { @@ -53,7 +54,7 @@ namespace osu.Game.Skinning } } - public static Texture[] GetTextures(this ISkin? source, string componentName, WrapMode wrapModeS, WrapMode wrapModeT, bool animatable, string animationSeparator, out ISkin? retrievalSource) + public static Texture[] GetTextures(this ISkin? source, string componentName, WrapMode wrapModeS, WrapMode wrapModeT, bool animatable, string animationSeparator, Vector2? maxSize, out ISkin? retrievalSource) { retrievalSource = null; @@ -78,7 +79,9 @@ namespace osu.Game.Skinning } // if an animation was not allowed or not found, fall back to a sprite retrieval. - var singleTexture = retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); + var singleTexture = maxSize != null + ? retrievalSource.GetTextureWithMaxSize(componentName, maxSize.Value, wrapModeS, wrapModeT) + : retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); return singleTexture != null ? new[] { singleTexture } @@ -88,9 +91,11 @@ namespace osu.Game.Skinning { for (int i = 0; true; i++) { - Texture? texture; + var texture = maxSize != null + ? skin.GetTextureWithMaxSize(getFrameName(i), maxSize.Value, wrapModeS, wrapModeT) + : skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT); - if ((texture = skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT)) == null) + if (texture == null) break; yield return texture; @@ -100,6 +105,20 @@ namespace osu.Game.Skinning string getFrameName(int frameIndex) => $"{componentName}{animationSeparator}{frameIndex}"; } + public static Texture? GetTextureWithMaxSize(this ISkin source, string componentName, Vector2 maxSize, WrapMode wrapModeS = WrapMode.None, WrapMode wrapModeT = WrapMode.None) + { + var texture = source.GetTexture(componentName, wrapModeS, wrapModeT); + if (texture == null) + return texture; + + if (texture.DisplayWidth <= maxSize.X && texture.DisplayHeight <= maxSize.Y) + return texture; + + // use scale adjust property for downscaling the texture in order to meet the specified maximum dimensions. + texture.ScaleAdjust *= Math.Max(texture.DisplayWidth / maxSize.X, texture.DisplayHeight / maxSize.Y); + return texture; + } + public static bool HasFont(this ISkin source, LegacyFont font) { return source.GetTexture($"{source.GetFontPrefix(font)}-0") != null; diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs index 82c01ea6a1..309ca63896 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs @@ -137,7 +137,7 @@ namespace osu.Game.Storyboards.Drawables // When reading from a skin, we match stables weird behaviour where `FrameCount` is ignored // and resources are retrieved until the end of the animation. - foreach (var texture in skin.GetTextures(Path.GetFileNameWithoutExtension(Animation.Path)!, default, default, true, string.Empty, out _)) + foreach (var texture in skin.GetTextures(Path.GetFileNameWithoutExtension(Animation.Path)!, default, default, true, string.Empty, null, out _)) AddFrame(texture, Animation.FrameDelay); } From 351081eb278ff0f48fff992ba9f0e0de2cf98814 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sun, 3 Sep 2023 01:20:40 +0300 Subject: [PATCH 003/106] Add limit to osu! hit circle elements --- .../Skinning/Legacy/LegacyMainCirclePiece.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs index cadac4d319..45a18152c2 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs @@ -21,6 +21,8 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { public partial class LegacyMainCirclePiece : CompositeDrawable { + private static readonly Vector2 circle_piece_size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + public override bool RemoveCompletedTransforms => false; ///

@@ -51,7 +53,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy this.priorityLookupPrefix = priorityLookupPrefix; this.hasNumber = hasNumber; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = circle_piece_size; } [BackgroundDependencyLoader] @@ -68,7 +70,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy // expected behaviour in this scenario is not showing the overlay, rather than using hitcircleoverlay.png. InternalChildren = new[] { - CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName) }) + CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTextureWithMaxSize(circleName, circle_piece_size) }) { Anchor = Anchor.Centre, Origin = Anchor.Centre, @@ -77,7 +79,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Child = OverlaySprite = new LegacyKiaiFlashingDrawable(() => skin.GetAnimation(@$"{circleName}overlay", true, true, frameLength: 1000 / 2d)) + Child = OverlaySprite = new LegacyKiaiFlashingDrawable(() => skin.GetAnimation(@$"{circleName}overlay", true, true, frameLength: 1000 / 2d, maxSize: circle_piece_size)) { Anchor = Anchor.Centre, Origin = Anchor.Centre, From d286816ba8b1beefe81457dd2533ecc9c937b449 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sun, 3 Sep 2023 01:21:02 +0300 Subject: [PATCH 004/106] Add limit to taiko hit elements --- .../Skinning/Legacy/LegacyCirclePiece.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyCirclePiece.cs b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyCirclePiece.cs index 5516e025cd..c94016d2b1 100644 --- a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyCirclePiece.cs +++ b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyCirclePiece.cs @@ -22,6 +22,8 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy { public partial class LegacyCirclePiece : CompositeDrawable, IHasAccentColour { + private static readonly Vector2 circle_piece_size = new Vector2(128); + private Drawable backgroundLayer = null!; private Drawable? foregroundLayer; @@ -52,9 +54,9 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy string prefix = ((drawableHitObject.HitObject as TaikoStrongableHitObject)?.IsStrong ?? false) ? big_hit : normal_hit; - return skin.GetAnimation($"{prefix}{lookup}", true, false) ?? + return skin.GetAnimation($"{prefix}{lookup}", true, false, maxSize: circle_piece_size) ?? // fallback to regular size if "big" version doesn't exist. - skin.GetAnimation($"{normal_hit}{lookup}", true, false); + skin.GetAnimation($"{normal_hit}{lookup}", true, false, maxSize: circle_piece_size); } // backgroundLayer is guaranteed to exist due to the pre-check in TaikoLegacySkinTransformer. @@ -96,7 +98,7 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy // Not all skins (including the default osu-stable) have similar sizes for "hitcircle" and "hitcircleoverlay". // This ensures they are scaled relative to each other but also match the expected DrawableHit size. foreach (var c in InternalChildren) - c.Scale = new Vector2(DrawHeight / 128); + c.Scale = new Vector2(DrawHeight / circle_piece_size.Y); if (foregroundLayer is IFramedAnimation animatableForegroundLayer) animateForegroundLayer(animatableForegroundLayer); From f182f571cbaa019ed3ad3272ff208dea98ac51a0 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sun, 3 Sep 2023 02:22:41 +0300 Subject: [PATCH 005/106] Add limit to catch palpable object elements --- .../Skinning/Legacy/LegacyBananaPiece.cs | 8 ++++++-- .../Skinning/Legacy/LegacyDropletPiece.cs | 7 +++++-- .../Skinning/Legacy/LegacyFruitPiece.cs | 12 ++++++++---- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs index 26832b7271..9f99e3a586 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs @@ -2,17 +2,21 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; +using osu.Game.Skinning; +using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy { public partial class LegacyBananaPiece : LegacyCatchHitObjectPiece { + private static readonly Vector2 banana_max_size = new Vector2(128); + protected override void LoadComplete() { base.LoadComplete(); - Texture? texture = Skin.GetTexture("fruit-bananas"); - Texture? overlayTexture = Skin.GetTexture("fruit-bananas-overlay"); + Texture? texture = Skin.GetTextureWithMaxSize("fruit-bananas", banana_max_size); + Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-bananas-overlay", banana_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs index 7ffd682698..63be1bcf91 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs @@ -2,12 +2,15 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; +using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy { public partial class LegacyDropletPiece : LegacyCatchHitObjectPiece { + private static readonly Vector2 droplet_max_size = new Vector2(100); + public LegacyDropletPiece() { Scale = new Vector2(0.8f); @@ -17,8 +20,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTexture("fruit-drop"); - Texture? overlayTexture = Skin.GetTexture("fruit-drop-overlay"); + Texture? texture = Skin.GetTextureWithMaxSize("fruit-drop", droplet_max_size); + Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-drop-overlay", droplet_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs index 85b60561dd..e4d25e036b 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs @@ -2,11 +2,15 @@ // See the LICENCE file in the repository root for full licence text. using osu.Game.Rulesets.Catch.Objects; +using osu.Game.Skinning; +using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy { internal partial class LegacyFruitPiece : LegacyCatchHitObjectPiece { + private static readonly Vector2 fruit_max_size = new Vector2(128); + protected override void LoadComplete() { base.LoadComplete(); @@ -22,19 +26,19 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy switch (visualRepresentation) { case FruitVisualRepresentation.Pear: - SetTexture(Skin.GetTexture("fruit-pear"), Skin.GetTexture("fruit-pear-overlay")); + SetTexture(Skin.GetTextureWithMaxSize("fruit-pear", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-pear-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Grape: - SetTexture(Skin.GetTexture("fruit-grapes"), Skin.GetTexture("fruit-grapes-overlay")); + SetTexture(Skin.GetTextureWithMaxSize("fruit-grapes", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-grapes-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Pineapple: - SetTexture(Skin.GetTexture("fruit-apple"), Skin.GetTexture("fruit-apple-overlay")); + SetTexture(Skin.GetTextureWithMaxSize("fruit-apple", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-apple-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Raspberry: - SetTexture(Skin.GetTexture("fruit-orange"), Skin.GetTexture("fruit-orange-overlay")); + SetTexture(Skin.GetTextureWithMaxSize("fruit-orange", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-orange-overlay", fruit_max_size)); break; } } From 96f12cfbaac4cfc0d8782de0d2890aa8b63e3fdb Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 5 Sep 2023 18:01:09 +0900 Subject: [PATCH 006/106] Update `GetTexture` signature rather than creating new overload --- .../Skinning/Legacy/LegacyBananaPiece.cs | 5 ++-- .../Skinning/Legacy/LegacyDropletPiece.cs | 5 ++-- .../Skinning/Legacy/LegacyFruitPiece.cs | 9 ++++---- .../LegacyMainCirclePieceTest.cs | 5 ++-- .../TestSceneCursorTrail.cs | 2 +- .../TestSceneGameplayCursor.cs | 2 +- .../TestSceneSkinFallbacks.cs | 3 ++- .../Skinning/Legacy/LegacyMainCirclePiece.cs | 2 +- .../TestSceneHitObjectAccentColour.cs | 3 ++- .../Skinning/LegacySkinAnimationTest.cs | 3 ++- .../TestSceneRulesetSkinProvidingContainer.cs | 3 ++- .../Skins/SkinDeserialisationTest.cs | 3 ++- .../TestSceneBeatmapSkinLookupDisables.cs | 4 +++- .../Skins/TestSceneSkinConfigurationLookup.cs | 4 +++- .../Skins/TestSceneSkinProvidingContainer.cs | 3 ++- .../Skins/TestSceneSkinResources.cs | 3 ++- .../Gameplay/TestSceneSkinnableDrawable.cs | 6 ++--- .../Gameplay/TestSceneSkinnableSound.cs | 6 ++++- osu.Game/Screens/Edit/EditorBeatmapSkin.cs | 6 ++++- osu.Game/Skinning/ArgonSkin.cs | 3 ++- osu.Game/Skinning/ISkin.cs | 11 +++------ osu.Game/Skinning/LegacySkin.cs | 5 ++-- osu.Game/Skinning/LegacySkinExtensions.cs | 23 +++++++------------ osu.Game/Skinning/ResourceStoreBackedSkin.cs | 4 +++- osu.Game/Skinning/Skin.cs | 5 ++-- osu.Game/Skinning/SkinManager.cs | 4 +++- osu.Game/Skinning/SkinProvidingContainer.cs | 11 +++++---- osu.Game/Skinning/SkinTransformer.cs | 5 ++-- osu.Game/Skinning/TrianglesSkin.cs | 3 ++- osu.Game/Tests/Visual/SkinnableTestScene.cs | 6 ++--- 30 files changed, 84 insertions(+), 73 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs index 9f99e3a586..d471a7ee32 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; -using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -15,8 +14,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTextureWithMaxSize("fruit-bananas", banana_max_size); - Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-bananas-overlay", banana_max_size); + Texture? texture = Skin.GetTexture("fruit-bananas", banana_max_size); + Texture? overlayTexture = Skin.GetTexture("fruit-bananas-overlay", banana_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs index 63be1bcf91..f1b1b45288 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; -using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -20,8 +19,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTextureWithMaxSize("fruit-drop", droplet_max_size); - Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-drop-overlay", droplet_max_size); + Texture? texture = Skin.GetTexture("fruit-drop", droplet_max_size); + Texture? overlayTexture = Skin.GetTexture("fruit-drop-overlay", droplet_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs index e4d25e036b..3c853e5d3d 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using osu.Game.Rulesets.Catch.Objects; -using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -26,19 +25,19 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy switch (visualRepresentation) { case FruitVisualRepresentation.Pear: - SetTexture(Skin.GetTextureWithMaxSize("fruit-pear", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-pear-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-pear", fruit_max_size), Skin.GetTexture("fruit-pear-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Grape: - SetTexture(Skin.GetTextureWithMaxSize("fruit-grapes", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-grapes-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-grapes", fruit_max_size), Skin.GetTexture("fruit-grapes-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Pineapple: - SetTexture(Skin.GetTextureWithMaxSize("fruit-apple", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-apple-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-apple", fruit_max_size), Skin.GetTexture("fruit-apple-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Raspberry: - SetTexture(Skin.GetTextureWithMaxSize("fruit-orange", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-orange-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-orange", fruit_max_size), Skin.GetTexture("fruit-orange-overlay", fruit_max_size)); break; } } diff --git a/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs b/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs index baaa24959f..dbeae2a76e 100644 --- a/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs +++ b/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs @@ -14,6 +14,7 @@ using osu.Framework.Testing; using osu.Game.Rulesets.Osu.Skinning.Legacy; using osu.Game.Skinning; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Rulesets.Osu.Tests { @@ -77,9 +78,9 @@ namespace osu.Game.Rulesets.Osu.Tests // shouldn't be required as GetTexture(string) calls GetTexture(string, WrapMode, WrapMode) by default, // but moq doesn't handle that well, therefore explicitly requiring to use `CallBase`: // https://github.com/moq/moq4/issues/972 - skin.Setup(s => s.GetTexture(It.IsAny())).CallBase(); + skin.Setup(s => s.GetTexture(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).CallBase(); - skin.Setup(s => s.GetTexture(It.IsIn(textureFilenames), It.IsAny(), It.IsAny())) + skin.Setup(s => s.GetTexture(It.IsIn(textureFilenames), It.IsAny(), It.IsAny(), It.IsAny())) .Returns((string componentName, WrapMode _, WrapMode _) => { var tex = renderer.CreateTexture(1, 1); diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs index 9582ee491b..22111d4412 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs @@ -98,7 +98,7 @@ namespace osu.Game.Rulesets.Osu.Tests public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { switch (componentName) { diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs index c84a6ab70f..29dffd029e 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs @@ -130,7 +130,7 @@ namespace osu.Game.Rulesets.Osu.Tests private class TopLeftCursorSkin : ISkin { public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => null; + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => null; public ISample GetSample(ISampleInfo sampleInfo) => null; public IBindable GetConfig(TLookup lookup) diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs index 09b906cb10..da959b6be0 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs @@ -25,6 +25,7 @@ using osu.Game.Rulesets.Osu.Skinning.Default; using osu.Game.Skinning; using osu.Game.Storyboards; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Rulesets.Osu.Tests { @@ -163,7 +164,7 @@ namespace osu.Game.Rulesets.Osu.Tests }; } - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => null; + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => null; public ISample GetSample(ISampleInfo sampleInfo) => null; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs index 45a18152c2..cf91ac4596 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs @@ -70,7 +70,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy // expected behaviour in this scenario is not showing the overlay, rather than using hitcircleoverlay.png. InternalChildren = new[] { - CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTextureWithMaxSize(circleName, circle_piece_size) }) + CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName, circle_piece_size) }) { Anchor = Anchor.Centre, Origin = Anchor.Centre, diff --git a/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs b/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs index f38c2c9416..bf8f5fd1e8 100644 --- a/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs +++ b/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs @@ -20,6 +20,7 @@ using osu.Game.Rulesets.Objects.Legacy; using osu.Game.Rulesets.Objects.Types; using osu.Game.Skinning; using osu.Game.Tests.Visual; +using osuTK; using osuTK.Graphics; namespace osu.Game.Tests.Gameplay @@ -140,7 +141,7 @@ namespace osu.Game.Tests.Gameplay public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => throw new NotImplementedException(); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs b/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs index 197e9404ff..34ea459988 100644 --- a/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs +++ b/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs @@ -18,6 +18,7 @@ using osu.Framework.Timing; using osu.Game.Audio; using osu.Game.Skinning; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Tests.NonVisual.Skinning { @@ -68,7 +69,7 @@ namespace osu.Game.Tests.NonVisual.Skinning this.renderer = renderer; } - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { return lookup_names.Contains(componentName) ? renderer.WhitePixel : null; } diff --git a/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs b/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs index 11f3fe660d..705fd19d93 100644 --- a/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs +++ b/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs @@ -17,6 +17,7 @@ using osu.Game.Rulesets; using osu.Game.Skinning; using osu.Game.Tests.Testing; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Tests.Rulesets { @@ -80,7 +81,7 @@ namespace osu.Game.Tests.Rulesets public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => skin.GetTexture(componentName); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => skin.GetTexture(componentName); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/SkinDeserialisationTest.cs b/osu.Game.Tests/Skins/SkinDeserialisationTest.cs index 82d204f134..79ce4de720 100644 --- a/osu.Game.Tests/Skins/SkinDeserialisationTest.cs +++ b/osu.Game.Tests/Skins/SkinDeserialisationTest.cs @@ -16,6 +16,7 @@ using osu.Game.Screens.Play.HUD; using osu.Game.Screens.Play.HUD.HitErrorMeters; using osu.Game.Skinning; using osu.Game.Tests.Resources; +using osuTK; namespace osu.Game.Tests.Skins { @@ -133,7 +134,7 @@ namespace osu.Game.Tests.Skins { } - public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public override IBindable GetConfig(TLookup lookup) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs b/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs index 0bbf4406fb..5144f57f8d 100644 --- a/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs +++ b/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs @@ -18,6 +18,7 @@ using osu.Game.Rulesets.Osu; using osu.Game.Skinning; using osu.Game.Tests.Beatmaps; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Tests.Skins { @@ -100,7 +101,8 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => skin.GetTexture(componentName, wrapModeS, wrapModeT); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs b/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs index 816834989c..a433b67bfb 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs @@ -21,6 +21,7 @@ using osu.Game.Rulesets.Osu; using osu.Game.Skinning; using osu.Game.Tests.Beatmaps; using osu.Game.Tests.Visual; +using osuTK; using osuTK.Graphics; namespace osu.Game.Tests.Skins @@ -223,7 +224,8 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => skin.GetTexture(componentName, wrapModeS, wrapModeT); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs b/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs index df314b56a9..4acd127a58 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs @@ -16,6 +16,7 @@ using osu.Framework.Testing; using osu.Game.Audio; using osu.Game.Skinning; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Tests.Skins { @@ -89,7 +90,7 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => throw new System.NotImplementedException(); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { if (componentName == TEXTURE_NAME) return renderer.WhitePixel; diff --git a/osu.Game.Tests/Skins/TestSceneSkinResources.cs b/osu.Game.Tests/Skins/TestSceneSkinResources.cs index aaec319b57..636f1071dd 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinResources.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinResources.cs @@ -22,6 +22,7 @@ using osu.Game.IO; using osu.Game.Skinning; using osu.Game.Tests.Resources; using osu.Game.Tests.Visual; +using osuTK; namespace osu.Game.Tests.Skins { @@ -100,7 +101,7 @@ namespace osu.Game.Tests.Skins { } - public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public override IBindable GetConfig(TLookup lookup) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs index c02cec8c75..326e233e3f 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs @@ -297,7 +297,7 @@ namespace osu.Game.Tests.Visual.Gameplay } : null; - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); @@ -308,7 +308,7 @@ namespace osu.Game.Tests.Visual.Gameplay { public Drawable GetDrawableComponent(ISkinComponentLookup componentLookupName) => new SecondarySourceBox(); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); @@ -320,7 +320,7 @@ namespace osu.Game.Tests.Visual.Gameplay { public Drawable GetDrawableComponent(ISkinComponentLookup componentLookupName) => new BaseSourceBox(); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs index 3f78dbfd96..0071c7e2c0 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs @@ -15,6 +15,7 @@ using osu.Framework.Graphics.Textures; using osu.Framework.Testing; using osu.Game.Audio; using osu.Game.Skinning; +using osuTK; namespace osu.Game.Tests.Visual.Gameplay { @@ -163,7 +164,10 @@ namespace osu.Game.Tests.Visual.Gameplay IBindable ISamplePlaybackDisabler.SamplePlaybackDisabled => SamplePlaybackDisabled; public Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => source.GetDrawableComponent(lookup); - public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => source.GetTexture(componentName, wrapModeS, wrapModeT); + + public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + source.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + public ISample? GetSample(ISampleInfo sampleInfo) => OverridingSample ?? source.GetSample(sampleInfo); public IBindable? GetConfig(TLookup lookup) diff --git a/osu.Game/Screens/Edit/EditorBeatmapSkin.cs b/osu.Game/Screens/Edit/EditorBeatmapSkin.cs index 80239504d8..d04bb72bd9 100644 --- a/osu.Game/Screens/Edit/EditorBeatmapSkin.cs +++ b/osu.Game/Screens/Edit/EditorBeatmapSkin.cs @@ -11,6 +11,7 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; using osu.Game.Skinning; +using osuTK; using osuTK.Graphics; namespace osu.Game.Screens.Edit @@ -54,7 +55,10 @@ namespace osu.Game.Screens.Edit #region Delegated ISkin implementation public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => Skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Skin.GetTexture(componentName, wrapModeS, wrapModeT); + + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + Skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + public ISample GetSample(ISampleInfo sampleInfo) => Skin.GetSample(sampleInfo); public IBindable GetConfig(TLookup lookup) => Skin.GetConfig(lookup); diff --git a/osu.Game/Skinning/ArgonSkin.cs b/osu.Game/Skinning/ArgonSkin.cs index 61b0dc5aa1..3d14df70ce 100644 --- a/osu.Game/Skinning/ArgonSkin.cs +++ b/osu.Game/Skinning/ArgonSkin.cs @@ -67,7 +67,8 @@ namespace osu.Game.Skinning }; } - public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Textures?.Get(componentName, wrapModeS, wrapModeT); + public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + Textures?.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); public override ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Skinning/ISkin.cs b/osu.Game/Skinning/ISkin.cs index fa04dda202..5cc677ad1c 100644 --- a/osu.Game/Skinning/ISkin.cs +++ b/osu.Game/Skinning/ISkin.cs @@ -6,6 +6,7 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; +using osuTK; namespace osu.Game.Skinning { @@ -25,17 +26,11 @@ namespace osu.Game.Skinning /// Retrieve a . /// /// The requested texture. - /// A matching texture, or null if unavailable. - Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); - - /// - /// Retrieve a . - /// - /// The requested texture. + /// The maximum dimensions that the texture should be. /// The texture wrap mode in horizontal direction. /// The texture wrap mode in vertical direction. /// A matching texture, or null if unavailable. - Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT); + Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default); /// /// Retrieve a . diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs index cf51fa8f74..1b0b1be585 100644 --- a/osu.Game/Skinning/LegacySkin.cs +++ b/osu.Game/Skinning/LegacySkin.cs @@ -466,7 +466,7 @@ namespace osu.Game.Skinning return null; } - public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { switch (componentName) { @@ -497,7 +497,8 @@ namespace osu.Game.Skinning continue; texture.ScaleAdjust = ratio; - return texture; + + return texture.WithMaximumSize(maxSize); } return null; diff --git a/osu.Game/Skinning/LegacySkinExtensions.cs b/osu.Game/Skinning/LegacySkinExtensions.cs index ad3b10edd3..bd38eda259 100644 --- a/osu.Game/Skinning/LegacySkinExtensions.cs +++ b/osu.Game/Skinning/LegacySkinExtensions.cs @@ -67,7 +67,7 @@ namespace osu.Game.Skinning if (animatable && s.GetTexture(getFrameName(0)) != null) return true; - return s.GetTexture(componentName, wrapModeS, wrapModeT) != null; + return s.GetTexture(componentName, maxSize, wrapModeS, wrapModeT) != null; }) ?? source; if (animatable) @@ -79,21 +79,15 @@ namespace osu.Game.Skinning } // if an animation was not allowed or not found, fall back to a sprite retrieval. - var singleTexture = maxSize != null - ? retrievalSource.GetTextureWithMaxSize(componentName, maxSize.Value, wrapModeS, wrapModeT) - : retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); + var singleTexture = retrievalSource.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); - return singleTexture != null - ? new[] { singleTexture } - : Array.Empty(); + return singleTexture != null ? new[] { singleTexture } : Array.Empty(); IEnumerable getTextures(ISkin skin) { for (int i = 0; true; i++) { - var texture = maxSize != null - ? skin.GetTextureWithMaxSize(getFrameName(i), maxSize.Value, wrapModeS, wrapModeT) - : skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT); + var texture = skin.GetTexture(getFrameName(i), maxSize, wrapModeS, wrapModeT); if (texture == null) break; @@ -105,17 +99,16 @@ namespace osu.Game.Skinning string getFrameName(int frameIndex) => $"{componentName}{animationSeparator}{frameIndex}"; } - public static Texture? GetTextureWithMaxSize(this ISkin source, string componentName, Vector2 maxSize, WrapMode wrapModeS = WrapMode.None, WrapMode wrapModeT = WrapMode.None) + public static Texture? WithMaximumSize(this Texture? texture, Vector2? maxSize) { - var texture = source.GetTexture(componentName, wrapModeS, wrapModeT); - if (texture == null) + if (texture == null || maxSize == null) return texture; - if (texture.DisplayWidth <= maxSize.X && texture.DisplayHeight <= maxSize.Y) + if (texture.DisplayWidth <= maxSize.Value.X && texture.DisplayHeight <= maxSize.Value.Y) return texture; // use scale adjust property for downscaling the texture in order to meet the specified maximum dimensions. - texture.ScaleAdjust *= Math.Max(texture.DisplayWidth / maxSize.X, texture.DisplayHeight / maxSize.Y); + texture.ScaleAdjust *= Math.Max(texture.DisplayWidth / maxSize.Value.X, texture.DisplayHeight / maxSize.Value.Y); return texture; } diff --git a/osu.Game/Skinning/ResourceStoreBackedSkin.cs b/osu.Game/Skinning/ResourceStoreBackedSkin.cs index f5c6192ba5..35165c2e6f 100644 --- a/osu.Game/Skinning/ResourceStoreBackedSkin.cs +++ b/osu.Game/Skinning/ResourceStoreBackedSkin.cs @@ -10,6 +10,7 @@ using osu.Framework.Graphics.Textures; using osu.Framework.IO.Stores; using osu.Framework.Platform; using osu.Game.Audio; +using osuTK; namespace osu.Game.Skinning { @@ -29,7 +30,8 @@ namespace osu.Game.Skinning public Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => textures.Get(componentName, wrapModeS, wrapModeT); + public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + textures.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); public ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Skinning/Skin.cs b/osu.Game/Skinning/Skin.cs index a6250d7488..0e96feaccc 100644 --- a/osu.Game/Skinning/Skin.cs +++ b/osu.Game/Skinning/Skin.cs @@ -18,6 +18,7 @@ using osu.Framework.Logging; using osu.Game.Audio; using osu.Game.Database; using osu.Game.IO; +using osuTK; namespace osu.Game.Skinning { @@ -44,9 +45,7 @@ namespace osu.Game.Skinning public abstract ISample? GetSample(ISampleInfo sampleInfo); - public Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); - - public abstract Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT); + public abstract Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default); public abstract IBindable? GetConfig(TLookup lookup) where TLookup : notnull diff --git a/osu.Game/Skinning/SkinManager.cs b/osu.Game/Skinning/SkinManager.cs index 51605c6045..f0819211c0 100644 --- a/osu.Game/Skinning/SkinManager.cs +++ b/osu.Game/Skinning/SkinManager.cs @@ -25,6 +25,7 @@ using osu.Game.Database; using osu.Game.IO; using osu.Game.Overlays.Notifications; using osu.Game.Utils; +using osuTK; namespace osu.Game.Skinning { @@ -223,7 +224,8 @@ namespace osu.Game.Skinning public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => lookupWithFallback(s => s.GetDrawableComponent(lookup)); - public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => lookupWithFallback(s => s.GetTexture(componentName, wrapModeS, wrapModeT)); + public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + lookupWithFallback(s => s.GetTexture(componentName, maxSize, wrapModeS, wrapModeT)); public ISample GetSample(ISampleInfo sampleInfo) => lookupWithFallback(s => s.GetSample(sampleInfo)); diff --git a/osu.Game/Skinning/SkinProvidingContainer.cs b/osu.Game/Skinning/SkinProvidingContainer.cs index 2612e0b47c..342d6d8009 100644 --- a/osu.Game/Skinning/SkinProvidingContainer.cs +++ b/osu.Game/Skinning/SkinProvidingContainer.cs @@ -11,6 +11,7 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Textures; using osu.Game.Audio; +using osuTK; namespace osu.Game.Skinning { @@ -127,19 +128,19 @@ namespace osu.Game.Skinning return ParentSource?.GetDrawableComponent(lookup); } - public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { foreach (var (_, lookupWrapper) in skinSources) { Texture? sourceTexture; - if ((sourceTexture = lookupWrapper.GetTexture(componentName, wrapModeS, wrapModeT)) != null) + if ((sourceTexture = lookupWrapper.GetTexture(componentName, maxSize, wrapModeS, wrapModeT)) != null) return sourceTexture; } if (!AllowFallingBackToParent) return null; - return ParentSource?.GetTexture(componentName, wrapModeS, wrapModeT); + return ParentSource?.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); } public ISample? GetSample(ISampleInfo sampleInfo) @@ -251,10 +252,10 @@ namespace osu.Game.Skinning return null; } - public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { if (provider.AllowTextureLookup(componentName)) - return skin.GetTexture(componentName, wrapModeS, wrapModeT); + return skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); return null; } diff --git a/osu.Game/Skinning/SkinTransformer.cs b/osu.Game/Skinning/SkinTransformer.cs index ed5b04da1e..cd7755b854 100644 --- a/osu.Game/Skinning/SkinTransformer.cs +++ b/osu.Game/Skinning/SkinTransformer.cs @@ -7,6 +7,7 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; +using osuTK; namespace osu.Game.Skinning { @@ -28,9 +29,7 @@ namespace osu.Game.Skinning public virtual Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => Skin.GetDrawableComponent(lookup); - public virtual Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); - - public virtual Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Skin.GetTexture(componentName, wrapModeS, wrapModeT); + public virtual Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => Skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); public virtual ISample? GetSample(ISampleInfo sampleInfo) => Skin.GetSample(sampleInfo); diff --git a/osu.Game/Skinning/TrianglesSkin.cs b/osu.Game/Skinning/TrianglesSkin.cs index 0957f60579..d1d094b301 100644 --- a/osu.Game/Skinning/TrianglesSkin.cs +++ b/osu.Game/Skinning/TrianglesSkin.cs @@ -44,7 +44,8 @@ namespace osu.Game.Skinning this.resources = resources; } - public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Textures?.Get(componentName, wrapModeS, wrapModeT); + public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => + Textures?.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); public override ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Tests/Visual/SkinnableTestScene.cs b/osu.Game/Tests/Visual/SkinnableTestScene.cs index aab1b72990..6c286f37c7 100644 --- a/osu.Game/Tests/Visual/SkinnableTestScene.cs +++ b/osu.Game/Tests/Visual/SkinnableTestScene.cs @@ -207,9 +207,9 @@ namespace osu.Game.Tests.Visual this.extrapolateAnimations = extrapolateAnimations; } - public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) { - var lookup = base.GetTexture(componentName, wrapModeS, wrapModeT); + var lookup = base.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); if (lookup != null) return lookup; @@ -220,7 +220,7 @@ namespace osu.Game.Tests.Visual var match = Regex.Match(componentName, "-([0-9]*)"); if (match.Length > 0 && int.TryParse(match.Groups[1].Value, out int number) && number < 60) - return base.GetTexture(componentName.Replace($"-{number}", $"-{number % 2}"), wrapModeS, wrapModeT); + return base.GetTexture(componentName.Replace($"-{number}", $"-{number % 2}"), maxSize, wrapModeS, wrapModeT); } return null; From 9d1753977858dd0e1e0c4312db964749931c11f3 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 5 Sep 2023 17:35:28 +0900 Subject: [PATCH 007/106] Add size limitations for taiko drum rolls --- osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs index 5543a31ec9..33f85328fa 100644 --- a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs +++ b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs @@ -9,6 +9,7 @@ using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Game.Graphics; using osu.Game.Skinning; +using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Taiko.Skinning.Legacy @@ -47,13 +48,13 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy Anchor = Anchor.CentreRight, Origin = Anchor.CentreLeft, RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-end", WrapMode.ClampToEdge, WrapMode.ClampToEdge), + Texture = skin.GetTexture("taiko-roll-end", new Vector2(128, 256), WrapMode.ClampToEdge, WrapMode.ClampToEdge), FillMode = FillMode.Fit, }, body = new Sprite { RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-middle", WrapMode.ClampToEdge, WrapMode.ClampToEdge), + Texture = skin.GetTexture("taiko-roll-middle", new Vector2(2, 256), WrapMode.ClampToEdge, WrapMode.ClampToEdge), }, headCircle = new LegacyCirclePiece { From 2334be1987deb34344bca65445e08788fd2acef7 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Mon, 4 Sep 2023 17:43:23 +0900 Subject: [PATCH 008/106] Split legacy scoring attributes into a separate object --- osu.Game.Rulesets.Catch/CatchRuleset.cs | 1 + .../Difficulty/CatchDifficultyCalculator.cs | 12 ----- .../Difficulty/CatchLegacyScoreSimulator.cs | 35 +++++++------ .../Difficulty/ManiaDifficultyCalculator.cs | 13 ----- .../Difficulty/ManiaLegacyScoreSimulator.cs | 18 ++----- osu.Game.Rulesets.Mania/ManiaRuleset.cs | 1 + .../Difficulty/OsuDifficultyCalculator.cs | 12 ----- .../Difficulty/OsuLegacyScoreSimulator.cs | 37 +++++++------- osu.Game.Rulesets.Osu/OsuRuleset.cs | 1 + .../Difficulty/TaikoDifficultyCalculator.cs | 12 ----- .../Difficulty/TaikoLegacyScoreSimulator.cs | 50 +++++++++---------- osu.Game.Rulesets.Taiko/TaikoRuleset.cs | 1 + .../StandardisedScoreMigrationTools.cs | 20 +++----- .../Difficulty/DifficultyAttributes.cs | 11 ---- .../Difficulty/DifficultyCalculator.cs | 7 --- osu.Game/Rulesets/ILegacyRuleset.cs | 2 +- .../Rulesets/Scoring/ILegacyScoreSimulator.cs | 40 --------------- .../Scoring/Legacy/ILegacyScoreSimulator.cs | 20 ++++++++ .../Scoring/Legacy/LegacyScoreAttributes.cs | 23 +++++++++ 19 files changed, 117 insertions(+), 199 deletions(-) delete mode 100644 osu.Game/Rulesets/Scoring/ILegacyScoreSimulator.cs create mode 100644 osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs create mode 100644 osu.Game/Rulesets/Scoring/Legacy/LegacyScoreAttributes.cs diff --git a/osu.Game.Rulesets.Catch/CatchRuleset.cs b/osu.Game.Rulesets.Catch/CatchRuleset.cs index bd6b857fe8..efd4b46782 100644 --- a/osu.Game.Rulesets.Catch/CatchRuleset.cs +++ b/osu.Game.Rulesets.Catch/CatchRuleset.cs @@ -25,6 +25,7 @@ using osu.Game.Rulesets.Edit; using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Replays.Types; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Rulesets.UI; using osu.Game.Scoring; using osu.Game.Screens.Ranking.Statistics; diff --git a/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyCalculator.cs b/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyCalculator.cs index 0b56405299..b826c1f546 100644 --- a/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Catch/Difficulty/CatchDifficultyCalculator.cs @@ -25,12 +25,9 @@ namespace osu.Game.Rulesets.Catch.Difficulty public override int Version => 20220701; - private readonly IWorkingBeatmap workingBeatmap; - public CatchDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) : base(ruleset, beatmap) { - workingBeatmap = beatmap; } protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beatmap, Mod[] mods, Skill[] skills, double clockRate) @@ -49,15 +46,6 @@ namespace osu.Game.Rulesets.Catch.Difficulty MaxCombo = beatmap.HitObjects.Count(h => h is Fruit) + beatmap.HitObjects.OfType().SelectMany(j => j.NestedHitObjects).Count(h => !(h is TinyDroplet)), }; - if (ComputeLegacyScoringValues) - { - CatchLegacyScoreSimulator sv1Simulator = new CatchLegacyScoreSimulator(); - sv1Simulator.Simulate(workingBeatmap, beatmap, mods); - attributes.LegacyAccuracyScore = sv1Simulator.AccuracyScore; - attributes.LegacyComboScore = sv1Simulator.ComboScore; - attributes.LegacyBonusScoreRatio = sv1Simulator.BonusScoreRatio; - } - return attributes; } diff --git a/osu.Game.Rulesets.Catch/Difficulty/CatchLegacyScoreSimulator.cs b/osu.Game.Rulesets.Catch/Difficulty/CatchLegacyScoreSimulator.cs index c79fd36d96..0183d723b2 100644 --- a/osu.Game.Rulesets.Catch/Difficulty/CatchLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Catch/Difficulty/CatchLegacyScoreSimulator.cs @@ -2,33 +2,26 @@ // See the LICENCE file in the repository root for full licence text. using System; -using System.Collections.Generic; using System.Linq; using osu.Game.Beatmaps; using osu.Game.Rulesets.Catch.Objects; using osu.Game.Rulesets.Judgements; -using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.Objects.Types; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; namespace osu.Game.Rulesets.Catch.Difficulty { internal class CatchLegacyScoreSimulator : ILegacyScoreSimulator { - public int AccuracyScore { get; private set; } - - public int ComboScore { get; private set; } - - public double BonusScoreRatio => legacyBonusScore == 0 ? 0 : (double)modernBonusScore / legacyBonusScore; - private int legacyBonusScore; - private int modernBonusScore; + private int standardisedBonusScore; private int combo; private double scoreMultiplier; - public void Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap, IReadOnlyList mods) + public LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap) { IBeatmap baseBeatmap = workingBeatmap.Beatmap; @@ -70,13 +63,19 @@ namespace osu.Game.Rulesets.Catch.Difficulty + baseBeatmap.Difficulty.CircleSize + Math.Clamp((float)objectCount / drainLength * 8, 0, 16)) / 38 * 5); - scoreMultiplier = difficultyPeppyStars * mods.Aggregate(1.0, (current, mod) => current * mod.ScoreMultiplier); + scoreMultiplier = difficultyPeppyStars; + + LegacyScoreAttributes attributes = new LegacyScoreAttributes(); foreach (var obj in playableBeatmap.HitObjects) - simulateHit(obj); + simulateHit(obj, ref attributes); + + attributes.BonusScoreRatio = legacyBonusScore == 0 ? 0 : (double)standardisedBonusScore / legacyBonusScore; + + return attributes; } - private void simulateHit(HitObject hitObject) + private void simulateHit(HitObject hitObject, ref LegacyScoreAttributes attributes) { bool increaseCombo = true; bool addScoreComboMultiplier = false; @@ -112,28 +111,28 @@ namespace osu.Game.Rulesets.Catch.Difficulty case JuiceStream: foreach (var nested in hitObject.NestedHitObjects) - simulateHit(nested); + simulateHit(nested, ref attributes); return; case BananaShower: foreach (var nested in hitObject.NestedHitObjects) - simulateHit(nested); + simulateHit(nested, ref attributes); return; } if (addScoreComboMultiplier) { // ReSharper disable once PossibleLossOfFraction (intentional to match osu-stable...) - ComboScore += (int)(Math.Max(0, combo - 1) * (scoreIncrease / 25 * scoreMultiplier)); + attributes.ComboScore += (int)(Math.Max(0, combo - 1) * (scoreIncrease / 25 * scoreMultiplier)); } if (isBonus) { legacyBonusScore += scoreIncrease; - modernBonusScore += Judgement.ToNumericResult(bonusResult); + standardisedBonusScore += Judgement.ToNumericResult(bonusResult); } else - AccuracyScore += scoreIncrease; + attributes.AccuracyScore += scoreIncrease; if (increaseCombo) combo++; diff --git a/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyCalculator.cs b/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyCalculator.cs index de9f0d91ae..6bb6879052 100644 --- a/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Mania/Difficulty/ManiaDifficultyCalculator.cs @@ -31,13 +31,9 @@ namespace osu.Game.Rulesets.Mania.Difficulty public override int Version => 20220902; - private readonly IWorkingBeatmap workingBeatmap; - public ManiaDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) : base(ruleset, beatmap) { - workingBeatmap = beatmap; - isForCurrentRuleset = beatmap.BeatmapInfo.Ruleset.MatchesOnlineID(ruleset); originalOverallDifficulty = beatmap.BeatmapInfo.Difficulty.OverallDifficulty; } @@ -60,15 +56,6 @@ namespace osu.Game.Rulesets.Mania.Difficulty MaxCombo = beatmap.HitObjects.Sum(maxComboForObject), }; - if (ComputeLegacyScoringValues) - { - ManiaLegacyScoreSimulator sv1Simulator = new ManiaLegacyScoreSimulator(); - sv1Simulator.Simulate(workingBeatmap, beatmap, mods); - attributes.LegacyAccuracyScore = sv1Simulator.AccuracyScore; - attributes.LegacyComboScore = sv1Simulator.ComboScore; - attributes.LegacyBonusScoreRatio = sv1Simulator.BonusScoreRatio; - } - return attributes; } diff --git a/osu.Game.Rulesets.Mania/Difficulty/ManiaLegacyScoreSimulator.cs b/osu.Game.Rulesets.Mania/Difficulty/ManiaLegacyScoreSimulator.cs index e544428979..098ccdf21d 100644 --- a/osu.Game.Rulesets.Mania/Difficulty/ManiaLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Mania/Difficulty/ManiaLegacyScoreSimulator.cs @@ -1,28 +1,16 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. -using System.Collections.Generic; -using System.Linq; using osu.Game.Beatmaps; -using osu.Game.Rulesets.Mania.Mods; -using osu.Game.Rulesets.Mods; -using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; namespace osu.Game.Rulesets.Mania.Difficulty { internal class ManiaLegacyScoreSimulator : ILegacyScoreSimulator { - public int AccuracyScore => 0; - public int ComboScore { get; private set; } - public double BonusScoreRatio => 0; - - public void Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap, IReadOnlyList mods) + public LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap) { - double multiplier = mods.Where(m => m is not (ModHidden or ModHardRock or ModDoubleTime or ModFlashlight or ManiaModFadeIn)) - .Select(m => m.ScoreMultiplier) - .Aggregate(1.0, (c, n) => c * n); - - ComboScore = (int)(1000000 * multiplier); + return new LegacyScoreAttributes { ComboScore = 1000000 }; } } } diff --git a/osu.Game.Rulesets.Mania/ManiaRuleset.cs b/osu.Game.Rulesets.Mania/ManiaRuleset.cs index 4507015169..b977c07dfb 100644 --- a/osu.Game.Rulesets.Mania/ManiaRuleset.cs +++ b/osu.Game.Rulesets.Mania/ManiaRuleset.cs @@ -33,6 +33,7 @@ using osu.Game.Rulesets.Mania.UI; using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Replays.Types; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Rulesets.UI; using osu.Game.Scoring; using osu.Game.Screens.Edit.Setup; diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs index b92092c674..3b580a5b59 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuDifficultyCalculator.cs @@ -26,12 +26,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty public override int Version => 20220902; - private readonly IWorkingBeatmap workingBeatmap; - public OsuDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) : base(ruleset, beatmap) { - workingBeatmap = beatmap; } protected override DifficultyAttributes CreateDifficultyAttributes(IBeatmap beatmap, Mod[] mods, Skill[] skills, double clockRate) @@ -109,15 +106,6 @@ namespace osu.Game.Rulesets.Osu.Difficulty SpinnerCount = spinnerCount, }; - if (ComputeLegacyScoringValues) - { - OsuLegacyScoreSimulator sv1Simulator = new OsuLegacyScoreSimulator(); - sv1Simulator.Simulate(workingBeatmap, beatmap, mods); - attributes.LegacyAccuracyScore = sv1Simulator.AccuracyScore; - attributes.LegacyComboScore = sv1Simulator.ComboScore; - attributes.LegacyBonusScoreRatio = sv1Simulator.BonusScoreRatio; - } - return attributes; } diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs index 980d86e4ad..3448a7b033 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs @@ -2,34 +2,27 @@ // See the LICENCE file in the repository root for full licence text. using System; -using System.Collections.Generic; using System.Linq; using osu.Game.Beatmaps; using osu.Game.Rulesets.Judgements; -using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.Objects.Types; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; namespace osu.Game.Rulesets.Osu.Difficulty { internal class OsuLegacyScoreSimulator : ILegacyScoreSimulator { - public int AccuracyScore { get; private set; } - - public int ComboScore { get; private set; } - - public double BonusScoreRatio => legacyBonusScore == 0 ? 0 : (double)modernBonusScore / legacyBonusScore; - private int legacyBonusScore; - private int modernBonusScore; + private int standardisedBonusScore; private int combo; private double scoreMultiplier; private IBeatmap playableBeatmap = null!; - public void Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap, IReadOnlyList mods) + public LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap) { this.playableBeatmap = playableBeatmap; @@ -73,13 +66,19 @@ namespace osu.Game.Rulesets.Osu.Difficulty + baseBeatmap.Difficulty.CircleSize + Math.Clamp((float)objectCount / drainLength * 8, 0, 16)) / 38 * 5); - scoreMultiplier = difficultyPeppyStars * mods.Aggregate(1.0, (current, mod) => current * mod.ScoreMultiplier); + scoreMultiplier = difficultyPeppyStars; + + LegacyScoreAttributes attributes = new LegacyScoreAttributes(); foreach (var obj in playableBeatmap.HitObjects) - simulateHit(obj); + simulateHit(obj, ref attributes); + + attributes.BonusScoreRatio = legacyBonusScore == 0 ? 0 : (double)standardisedBonusScore / legacyBonusScore; + + return attributes; } - private void simulateHit(HitObject hitObject) + private void simulateHit(HitObject hitObject, ref LegacyScoreAttributes attributes) { bool increaseCombo = true; bool addScoreComboMultiplier = false; @@ -122,7 +121,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty case Slider: foreach (var nested in hitObject.NestedHitObjects) - simulateHit(nested); + simulateHit(nested, ref attributes); scoreIncrease = 300; increaseCombo = false; @@ -146,9 +145,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty for (int i = 0; i <= totalHalfSpinsPossible; i++) { if (i > halfSpinsRequiredBeforeBonus && (i - halfSpinsRequiredBeforeBonus) % 2 == 0) - simulateHit(new SpinnerBonusTick()); + simulateHit(new SpinnerBonusTick(), ref attributes); else if (i > 1 && i % 2 == 0) - simulateHit(new SpinnerTick()); + simulateHit(new SpinnerTick(), ref attributes); } scoreIncrease = 300; @@ -159,16 +158,16 @@ namespace osu.Game.Rulesets.Osu.Difficulty if (addScoreComboMultiplier) { // ReSharper disable once PossibleLossOfFraction (intentional to match osu-stable...) - ComboScore += (int)(Math.Max(0, combo - 1) * (scoreIncrease / 25 * scoreMultiplier)); + attributes.ComboScore += (int)(Math.Max(0, combo - 1) * (scoreIncrease / 25 * scoreMultiplier)); } if (isBonus) { legacyBonusScore += scoreIncrease; - modernBonusScore += Judgement.ToNumericResult(bonusResult); + standardisedBonusScore += Judgement.ToNumericResult(bonusResult); } else - AccuracyScore += scoreIncrease; + attributes.AccuracyScore += scoreIncrease; if (increaseCombo) combo++; diff --git a/osu.Game.Rulesets.Osu/OsuRuleset.cs b/osu.Game.Rulesets.Osu/OsuRuleset.cs index 220dc53705..607b83d379 100644 --- a/osu.Game.Rulesets.Osu/OsuRuleset.cs +++ b/osu.Game.Rulesets.Osu/OsuRuleset.cs @@ -33,6 +33,7 @@ using osu.Game.Rulesets.Osu.Statistics; using osu.Game.Rulesets.Osu.UI; using osu.Game.Rulesets.Replays.Types; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Rulesets.UI; using osu.Game.Scoring; using osu.Game.Screens.Edit.Setup; diff --git a/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyCalculator.cs b/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyCalculator.cs index 25adba5ab6..ab193caaa3 100644 --- a/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyCalculator.cs +++ b/osu.Game.Rulesets.Taiko/Difficulty/TaikoDifficultyCalculator.cs @@ -25,12 +25,9 @@ namespace osu.Game.Rulesets.Taiko.Difficulty public override int Version => 20220902; - private readonly IWorkingBeatmap workingBeatmap; - public TaikoDifficultyCalculator(IRulesetInfo ruleset, IWorkingBeatmap beatmap) : base(ruleset, beatmap) { - workingBeatmap = beatmap; } protected override Skill[] CreateSkills(IBeatmap beatmap, Mod[] mods, double clockRate) @@ -99,15 +96,6 @@ namespace osu.Game.Rulesets.Taiko.Difficulty MaxCombo = beatmap.HitObjects.Count(h => h is Hit), }; - if (ComputeLegacyScoringValues) - { - TaikoLegacyScoreSimulator sv1Simulator = new TaikoLegacyScoreSimulator(); - sv1Simulator.Simulate(workingBeatmap, beatmap, mods); - attributes.LegacyAccuracyScore = sv1Simulator.AccuracyScore; - attributes.LegacyComboScore = sv1Simulator.ComboScore; - attributes.LegacyBonusScoreRatio = sv1Simulator.BonusScoreRatio; - } - return attributes; } diff --git a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs index e77327d622..149552604f 100644 --- a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs @@ -2,39 +2,29 @@ // See the LICENCE file in the repository root for full licence text. using System; -using System.Collections.Generic; using System.Linq; using osu.Game.Beatmaps; using osu.Game.Rulesets.Judgements; -using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.Objects.Types; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Rulesets.Taiko.Objects; namespace osu.Game.Rulesets.Taiko.Difficulty { internal class TaikoLegacyScoreSimulator : ILegacyScoreSimulator { - public int AccuracyScore { get; private set; } - - public int ComboScore { get; private set; } - - public double BonusScoreRatio => legacyBonusScore == 0 ? 0 : (double)modernBonusScore / legacyBonusScore; - private int legacyBonusScore; - private int modernBonusScore; + private int standardisedBonusScore; private int combo; - private double modMultiplier; private int difficultyPeppyStars; private IBeatmap playableBeatmap = null!; - private IReadOnlyList mods = null!; - public void Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap, IReadOnlyList mods) + public LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap) { this.playableBeatmap = playableBeatmap; - this.mods = mods; IBeatmap baseBeatmap = workingBeatmap.Beatmap; @@ -76,13 +66,17 @@ namespace osu.Game.Rulesets.Taiko.Difficulty + baseBeatmap.Difficulty.CircleSize + Math.Clamp((float)objectCount / drainLength * 8, 0, 16)) / 38 * 5); - modMultiplier = mods.Aggregate(1.0, (current, mod) => current * mod.ScoreMultiplier); + LegacyScoreAttributes attributes = new LegacyScoreAttributes(); foreach (var obj in playableBeatmap.HitObjects) - simulateHit(obj); + simulateHit(obj, ref attributes); + + attributes.BonusScoreRatio = legacyBonusScore == 0 ? 0 : (double)standardisedBonusScore / legacyBonusScore; + + return attributes; } - private void simulateHit(HitObject hitObject) + private void simulateHit(HitObject hitObject, ref LegacyScoreAttributes attributes) { bool increaseCombo = true; bool addScoreComboMultiplier = false; @@ -117,13 +111,16 @@ namespace osu.Game.Rulesets.Taiko.Difficulty halfSpinsRequiredForCompletion = (int)Math.Max(1, halfSpinsRequiredForCompletion * 1.65f); - if (mods.Any(m => m is ModDoubleTime)) - halfSpinsRequiredForCompletion = Math.Max(1, (int)(halfSpinsRequiredForCompletion * 0.75f)); - if (mods.Any(m => m is ModHalfTime)) - halfSpinsRequiredForCompletion = Math.Max(1, (int)(halfSpinsRequiredForCompletion * 1.5f)); + // + // Normally, this multiplier depends on the active mods (DT = 0.75, HT = 1.5). For simplicity, however, we'll only consider the worst case. + // This way, scores remain beatable at the cost of the conversion being slightly inaccurate. + // - A perfect DT/NM score will have less than 1M total score (excluding bonus). + // - A perfect HT score will have 1M total score (excluding bonus). + // + halfSpinsRequiredForCompletion = Math.Max(1, (int)(halfSpinsRequiredForCompletion * 1.5f)); for (int i = 0; i <= halfSpinsRequiredForCompletion; i++) - simulateHit(new SwellTick()); + simulateHit(new SwellTick(), ref attributes); scoreIncrease = 300; addScoreComboMultiplier = true; @@ -139,7 +136,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty case DrumRoll: foreach (var nested in hitObject.NestedHitObjects) - simulateHit(nested); + simulateHit(nested, ref attributes); return; } @@ -159,8 +156,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty { int oldScoreIncrease = scoreIncrease; - // ReSharper disable once PossibleLossOfFraction (intentional to match osu-stable...) - scoreIncrease += (int)(scoreIncrease / 35 * 2 * (difficultyPeppyStars + 1) * modMultiplier) * (Math.Min(100, combo) / 10); + scoreIncrease += (int)(scoreIncrease / 35f * 2 * (difficultyPeppyStars + 1)) * (Math.Min(100, combo) / 10); if (hitObject is Swell) { @@ -185,15 +181,15 @@ namespace osu.Game.Rulesets.Taiko.Difficulty scoreIncrease -= comboScoreIncrease; if (addScoreComboMultiplier) - ComboScore += comboScoreIncrease; + attributes.ComboScore += comboScoreIncrease; if (isBonus) { legacyBonusScore += scoreIncrease; - modernBonusScore += Judgement.ToNumericResult(bonusResult); + standardisedBonusScore += Judgement.ToNumericResult(bonusResult); } else - AccuracyScore += scoreIncrease; + attributes.AccuracyScore += scoreIncrease; if (increaseCombo) combo++; diff --git a/osu.Game.Rulesets.Taiko/TaikoRuleset.cs b/osu.Game.Rulesets.Taiko/TaikoRuleset.cs index 584a91bfdc..072653dcbf 100644 --- a/osu.Game.Rulesets.Taiko/TaikoRuleset.cs +++ b/osu.Game.Rulesets.Taiko/TaikoRuleset.cs @@ -34,6 +34,7 @@ using osu.Game.Screens.Ranking.Statistics; using osu.Game.Skinning; using osu.Game.Rulesets.Configuration; using osu.Game.Configuration; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Rulesets.Taiko.Configuration; namespace osu.Game.Rulesets.Taiko diff --git a/osu.Game/Database/StandardisedScoreMigrationTools.cs b/osu.Game/Database/StandardisedScoreMigrationTools.cs index 11a5e252a3..d1020aea3b 100644 --- a/osu.Game/Database/StandardisedScoreMigrationTools.cs +++ b/osu.Game/Database/StandardisedScoreMigrationTools.cs @@ -15,6 +15,7 @@ using osu.Game.Rulesets.Judgements; using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Objects; using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; using osu.Game.Scoring; namespace osu.Game.Database @@ -222,15 +223,9 @@ namespace osu.Game.Database throw new InvalidOperationException("Beatmap contains no hit objects!"); ILegacyScoreSimulator sv1Simulator = legacyRuleset.CreateLegacyScoreSimulator(); + LegacyScoreAttributes attributes = sv1Simulator.Simulate(beatmap, playableBeatmap); - sv1Simulator.Simulate(beatmap, playableBeatmap, mods); - - return ConvertFromLegacyTotalScore(score, new DifficultyAttributes - { - LegacyAccuracyScore = sv1Simulator.AccuracyScore, - LegacyComboScore = sv1Simulator.ComboScore, - LegacyBonusScoreRatio = sv1Simulator.BonusScoreRatio - }); + return ConvertFromLegacyTotalScore(score, attributes); } /// @@ -241,18 +236,19 @@ namespace osu.Game.Database /// (, , and ) /// for the beatmap which the score was set on. /// The standardised total score. - public static long ConvertFromLegacyTotalScore(ScoreInfo score, DifficultyAttributes attributes) + public static long ConvertFromLegacyTotalScore(ScoreInfo score, LegacyScoreAttributes attributes) { if (!score.IsLegacyScore) return score.TotalScore; Debug.Assert(score.LegacyTotalScore != null); - int maximumLegacyAccuracyScore = attributes.LegacyAccuracyScore; - int maximumLegacyComboScore = attributes.LegacyComboScore; - double maximumLegacyBonusRatio = attributes.LegacyBonusScoreRatio; double modMultiplier = score.Mods.Select(m => m.ScoreMultiplier).Aggregate(1.0, (c, n) => c * n); + int maximumLegacyAccuracyScore = attributes.AccuracyScore; + int maximumLegacyComboScore = (int)Math.Round(attributes.ComboScore * modMultiplier); + double maximumLegacyBonusRatio = attributes.BonusScoreRatio; + // The part of total score that doesn't include bonus. int maximumLegacyBaseScore = maximumLegacyAccuracyScore + maximumLegacyComboScore; diff --git a/osu.Game/Rulesets/Difficulty/DifficultyAttributes.cs b/osu.Game/Rulesets/Difficulty/DifficultyAttributes.cs index f62eeab5d7..6043731e6e 100644 --- a/osu.Game/Rulesets/Difficulty/DifficultyAttributes.cs +++ b/osu.Game/Rulesets/Difficulty/DifficultyAttributes.cs @@ -27,9 +27,6 @@ namespace osu.Game.Rulesets.Difficulty protected const int ATTRIB_ID_FLASHLIGHT = 17; protected const int ATTRIB_ID_SLIDER_FACTOR = 19; protected const int ATTRIB_ID_SPEED_NOTE_COUNT = 21; - protected const int ATTRIB_ID_LEGACY_ACCURACY_SCORE = 23; - protected const int ATTRIB_ID_LEGACY_COMBO_SCORE = 25; - protected const int ATTRIB_ID_LEGACY_BONUS_SCORE_RATIO = 27; /// /// The mods which were applied to the beatmap. @@ -91,9 +88,6 @@ namespace osu.Game.Rulesets.Difficulty public virtual IEnumerable<(int attributeId, object value)> ToDatabaseAttributes() { yield return (ATTRIB_ID_MAX_COMBO, MaxCombo); - yield return (ATTRIB_ID_LEGACY_ACCURACY_SCORE, LegacyAccuracyScore); - yield return (ATTRIB_ID_LEGACY_COMBO_SCORE, LegacyComboScore); - yield return (ATTRIB_ID_LEGACY_BONUS_SCORE_RATIO, LegacyBonusScoreRatio); } /// @@ -104,11 +98,6 @@ namespace osu.Game.Rulesets.Difficulty public virtual void FromDatabaseAttributes(IReadOnlyDictionary values, IBeatmapOnlineInfo onlineInfo) { MaxCombo = (int)values[ATTRIB_ID_MAX_COMBO]; - - // Temporarily allow these attributes to not exist so as to not block releases of server-side components while these attributes aren't populated/used yet. - LegacyAccuracyScore = (int)values.GetValueOrDefault(ATTRIB_ID_LEGACY_ACCURACY_SCORE); - LegacyComboScore = (int)values.GetValueOrDefault(ATTRIB_ID_LEGACY_COMBO_SCORE); - LegacyBonusScoreRatio = values.GetValueOrDefault(ATTRIB_ID_LEGACY_BONUS_SCORE_RATIO); } } } diff --git a/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs b/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs index d005bbfc7a..00c90bd317 100644 --- a/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs +++ b/osu.Game/Rulesets/Difficulty/DifficultyCalculator.cs @@ -23,13 +23,6 @@ namespace osu.Game.Rulesets.Difficulty { public abstract class DifficultyCalculator { - /// - /// Whether legacy scoring values (ScoreV1) should be computed to populate the difficulty attributes - /// , , - /// and . - /// - public bool ComputeLegacyScoringValues; - /// /// The beatmap for which difficulty will be calculated. /// diff --git a/osu.Game/Rulesets/ILegacyRuleset.cs b/osu.Game/Rulesets/ILegacyRuleset.cs index 24aa672219..6900afa243 100644 --- a/osu.Game/Rulesets/ILegacyRuleset.cs +++ b/osu.Game/Rulesets/ILegacyRuleset.cs @@ -1,7 +1,7 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. -using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Scoring.Legacy; namespace osu.Game.Rulesets { diff --git a/osu.Game/Rulesets/Scoring/ILegacyScoreSimulator.cs b/osu.Game/Rulesets/Scoring/ILegacyScoreSimulator.cs deleted file mode 100644 index 7240f0d73e..0000000000 --- a/osu.Game/Rulesets/Scoring/ILegacyScoreSimulator.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. -// See the LICENCE file in the repository root for full licence text. - -using System.Collections.Generic; -using osu.Game.Beatmaps; -using osu.Game.Rulesets.Mods; - -namespace osu.Game.Rulesets.Scoring -{ - /// - /// Generates attributes which are required to calculate old-style Score V1 scores. - /// - public interface ILegacyScoreSimulator - { - /// - /// The accuracy portion of the legacy (ScoreV1) total score. - /// - int AccuracyScore { get; } - - /// - /// The combo-multiplied portion of the legacy (ScoreV1) total score. - /// - int ComboScore { get; } - - /// - /// A ratio of new_bonus_score / old_bonus_score for converting the bonus score of legacy scores to the new scoring. - /// This is made up of all judgements that would be or . - /// - double BonusScoreRatio { get; } - - /// - /// Performs the simulation, computing the maximum , , - /// and achievable for the given beatmap. - /// - /// The working beatmap. - /// A playable version of the beatmap for the ruleset. - /// The applied mods. - void Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap, IReadOnlyList mods); - } -} diff --git a/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs b/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs new file mode 100644 index 0000000000..3cea58b2b7 --- /dev/null +++ b/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs @@ -0,0 +1,20 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using osu.Game.Beatmaps; + +namespace osu.Game.Rulesets.Scoring.Legacy +{ + /// + /// Generates attributes which are required to calculate old-style Score V1 scores. + /// + public interface ILegacyScoreSimulator + { + /// + /// Performs the simulation, scoring values achievable for the given beatmap. + /// + /// The working beatmap. + /// A playable version of the beatmap for the ruleset. + LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap); + } +} diff --git a/osu.Game/Rulesets/Scoring/Legacy/LegacyScoreAttributes.cs b/osu.Game/Rulesets/Scoring/Legacy/LegacyScoreAttributes.cs new file mode 100644 index 0000000000..47ab68bf88 --- /dev/null +++ b/osu.Game/Rulesets/Scoring/Legacy/LegacyScoreAttributes.cs @@ -0,0 +1,23 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +namespace osu.Game.Rulesets.Scoring.Legacy +{ + public struct LegacyScoreAttributes + { + /// + /// The accuracy portion of the legacy (ScoreV1) total score. + /// + public int AccuracyScore; + + /// + /// The combo-multiplied portion of the legacy (ScoreV1) total score. + /// + public long ComboScore; + + /// + /// A ratio of standardised score to legacy score for the bonus part of total score. + /// + public double BonusScoreRatio; + } +} From 4198e025fae71703ad546695c980222d69924bee Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Fri, 8 Sep 2023 00:27:01 +0900 Subject: [PATCH 009/106] Fix overflow --- osu.Game/Database/StandardisedScoreMigrationTools.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game/Database/StandardisedScoreMigrationTools.cs b/osu.Game/Database/StandardisedScoreMigrationTools.cs index d1020aea3b..dd7d7c7b1b 100644 --- a/osu.Game/Database/StandardisedScoreMigrationTools.cs +++ b/osu.Game/Database/StandardisedScoreMigrationTools.cs @@ -246,11 +246,11 @@ namespace osu.Game.Database double modMultiplier = score.Mods.Select(m => m.ScoreMultiplier).Aggregate(1.0, (c, n) => c * n); int maximumLegacyAccuracyScore = attributes.AccuracyScore; - int maximumLegacyComboScore = (int)Math.Round(attributes.ComboScore * modMultiplier); + long maximumLegacyComboScore = (long)Math.Round(attributes.ComboScore * modMultiplier); double maximumLegacyBonusRatio = attributes.BonusScoreRatio; // The part of total score that doesn't include bonus. - int maximumLegacyBaseScore = maximumLegacyAccuracyScore + maximumLegacyComboScore; + long maximumLegacyBaseScore = maximumLegacyAccuracyScore + maximumLegacyComboScore; // The combo proportion is calculated as a proportion of maximumLegacyBaseScore. double comboProportion = Math.Min(1, (double)score.LegacyTotalScore / maximumLegacyBaseScore); From 628517569bb22a6223c801c570e666118b83ac9b Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Fri, 8 Sep 2023 21:08:09 +0900 Subject: [PATCH 010/106] Fix another difficulty-specific value --- .../Difficulty/OsuLegacyScoreSimulator.cs | 10 +++++----- .../Difficulty/TaikoLegacyScoreSimulator.cs | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs index 3448a7b033..a8ac52714c 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs @@ -20,12 +20,9 @@ namespace osu.Game.Rulesets.Osu.Difficulty private int combo; private double scoreMultiplier; - private IBeatmap playableBeatmap = null!; public LegacyScoreAttributes Simulate(IWorkingBeatmap workingBeatmap, IBeatmap playableBeatmap) { - this.playableBeatmap = playableBeatmap; - IBeatmap baseBeatmap = workingBeatmap.Beatmap; int countNormal = 0; @@ -132,13 +129,16 @@ namespace osu.Game.Rulesets.Osu.Difficulty // The spinner object applies a lenience because gameplay mechanics differ from osu-stable. // We'll redo the calculations to match osu-stable here... const double maximum_rotations_per_second = 477.0 / 60; - double minimumRotationsPerSecond = IBeatmapDifficultyInfo.DifficultyRange(playableBeatmap.Difficulty.OverallDifficulty, 3, 5, 7.5); + + // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that maximises rotations. + const double minimum_rotations_per_second = 7.5; + double secondsDuration = spinner.Duration / 1000; // The total amount of half spins possible for the entire spinner. int totalHalfSpinsPossible = (int)(secondsDuration * maximum_rotations_per_second * 2); // The amount of half spins that are required to successfully complete the spinner (i.e. get a 300). - int halfSpinsRequiredForCompletion = (int)(secondsDuration * minimumRotationsPerSecond); + int halfSpinsRequiredForCompletion = (int)(secondsDuration * minimum_rotations_per_second); // To be able to receive bonus points, the spinner must be rotated another 1.5 times. int halfSpinsRequiredBeforeBonus = halfSpinsRequiredForCompletion + 3; diff --git a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs index 149552604f..f3f318f2f2 100644 --- a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs @@ -103,16 +103,16 @@ namespace osu.Game.Rulesets.Taiko.Difficulty case Swell swell: // The taiko swell generally does not match the osu-stable implementation in any way. // We'll redo the calculations to match osu-stable here... - double minimumRotationsPerSecond = IBeatmapDifficultyInfo.DifficultyRange(playableBeatmap.Difficulty.OverallDifficulty, 3, 5, 7.5); - double secondsDuration = swell.Duration / 1000; + + // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that maximises rotations. + const double minimum_rotations_per_second = 7.5; // The amount of half spins that are required to successfully complete the spinner (i.e. get a 300). - int halfSpinsRequiredForCompletion = (int)(secondsDuration * minimumRotationsPerSecond); - + int halfSpinsRequiredForCompletion = (int)(swell.Duration / 1000 * minimum_rotations_per_second); halfSpinsRequiredForCompletion = (int)Math.Max(1, halfSpinsRequiredForCompletion * 1.65f); // - // Normally, this multiplier depends on the active mods (DT = 0.75, HT = 1.5). For simplicity, however, we'll only consider the worst case. + // Normally, this multiplier depends on the active mods (DT = 0.75, HT = 1.5). For simplicity, we'll only consider the worst case that maximises rotations. // This way, scores remain beatable at the cost of the conversion being slightly inaccurate. // - A perfect DT/NM score will have less than 1M total score (excluding bonus). // - A perfect HT score will have 1M total score (excluding bonus). From 86330a7cc46b939e2b6c293f2cf492f569a1b03d Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Mon, 11 Sep 2023 18:01:53 +0900 Subject: [PATCH 011/106] Adjust comment --- osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs index a8ac52714c..03c6876bae 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs @@ -130,7 +130,7 @@ namespace osu.Game.Rulesets.Osu.Difficulty // We'll redo the calculations to match osu-stable here... const double maximum_rotations_per_second = 477.0 / 60; - // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that maximises rotations. + // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that minimises bonus score. const double minimum_rotations_per_second = 7.5; double secondsDuration = spinner.Duration / 1000; From 04ab44bb7a057851ad68e198e8746334e9827bc7 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 12 Sep 2023 15:28:55 +0900 Subject: [PATCH 012/106] Reword xmldoc to read better MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartłomiej Dach --- osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs b/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs index 3cea58b2b7..fe7843a682 100644 --- a/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs +++ b/osu.Game/Rulesets/Scoring/Legacy/ILegacyScoreSimulator.cs @@ -11,7 +11,7 @@ namespace osu.Game.Rulesets.Scoring.Legacy public interface ILegacyScoreSimulator { /// - /// Performs the simulation, scoring values achievable for the given beatmap. + /// Performs the simulation, computing the maximum scoring values achievable for the given beatmap. /// /// The working beatmap. /// A playable version of the beatmap for the ruleset. From ed295effc5206fcb347d2e73cadc5c5abb9251db Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Fri, 15 Sep 2023 15:51:05 +0900 Subject: [PATCH 013/106] Maximise bonus score --- osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs index 03c6876bae..f92bf6f5ea 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs @@ -130,8 +130,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty // We'll redo the calculations to match osu-stable here... const double maximum_rotations_per_second = 477.0 / 60; - // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that minimises bonus score. - const double minimum_rotations_per_second = 7.5; + // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that maximises bonus score. + const double minimum_rotations_per_second = 3; double secondsDuration = spinner.Duration / 1000; From 2abef4ade5d9b7d63a9d1cb2da5172c74aff9e9b Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Fri, 15 Sep 2023 18:35:17 +0900 Subject: [PATCH 014/106] Expand comment to justify maximising bonus score MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartłomiej Dach --- osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs index f92bf6f5ea..952ffa5e7a 100644 --- a/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Osu/Difficulty/OsuLegacyScoreSimulator.cs @@ -131,6 +131,8 @@ namespace osu.Game.Rulesets.Osu.Difficulty const double maximum_rotations_per_second = 477.0 / 60; // Normally, this value depends on the final overall difficulty. For simplicity, we'll only consider the worst case that maximises bonus score. + // As we're primarily concerned with computing the maximum theoretical final score, + // this will have the final effect of slightly underestimating bonus score achieved on stable when converting from score V1. const double minimum_rotations_per_second = 3; double secondsDuration = spinner.Duration / 1000; From 57dc76b345c97b8ee76abdf8de1c596d757ec9ed Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 03:17:07 +0300 Subject: [PATCH 015/106] Revert "Update `GetTexture` signature rather than creating new overload" This reverts commit 96f12cfbaac4cfc0d8782de0d2890aa8b63e3fdb. --- .../Skinning/Legacy/LegacyBananaPiece.cs | 5 ++-- .../Skinning/Legacy/LegacyDropletPiece.cs | 5 ++-- .../Skinning/Legacy/LegacyFruitPiece.cs | 9 ++++---- .../LegacyMainCirclePieceTest.cs | 5 ++-- .../TestSceneCursorTrail.cs | 2 +- .../TestSceneGameplayCursor.cs | 2 +- .../TestSceneSkinFallbacks.cs | 3 +-- .../Skinning/Legacy/LegacyMainCirclePiece.cs | 2 +- .../TestSceneHitObjectAccentColour.cs | 3 +-- .../Skinning/LegacySkinAnimationTest.cs | 3 +-- .../TestSceneRulesetSkinProvidingContainer.cs | 3 +-- .../Skins/SkinDeserialisationTest.cs | 3 +-- .../TestSceneBeatmapSkinLookupDisables.cs | 4 +--- .../Skins/TestSceneSkinConfigurationLookup.cs | 4 +--- .../Skins/TestSceneSkinProvidingContainer.cs | 3 +-- .../Skins/TestSceneSkinResources.cs | 3 +-- .../Gameplay/TestSceneSkinnableDrawable.cs | 6 ++--- .../Gameplay/TestSceneSkinnableSound.cs | 6 +---- osu.Game/Screens/Edit/EditorBeatmapSkin.cs | 6 +---- osu.Game/Skinning/ArgonSkin.cs | 3 +-- osu.Game/Skinning/ISkin.cs | 11 ++++++--- osu.Game/Skinning/LegacySkin.cs | 5 ++-- osu.Game/Skinning/LegacySkinExtensions.cs | 23 ++++++++++++------- osu.Game/Skinning/ResourceStoreBackedSkin.cs | 4 +--- osu.Game/Skinning/Skin.cs | 5 ++-- osu.Game/Skinning/SkinManager.cs | 4 +--- osu.Game/Skinning/SkinProvidingContainer.cs | 11 ++++----- osu.Game/Skinning/SkinTransformer.cs | 5 ++-- osu.Game/Skinning/TrianglesSkin.cs | 3 +-- osu.Game/Tests/Visual/SkinnableTestScene.cs | 6 ++--- 30 files changed, 73 insertions(+), 84 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs index d471a7ee32..9f99e3a586 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; +using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -14,8 +15,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTexture("fruit-bananas", banana_max_size); - Texture? overlayTexture = Skin.GetTexture("fruit-bananas-overlay", banana_max_size); + Texture? texture = Skin.GetTextureWithMaxSize("fruit-bananas", banana_max_size); + Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-bananas-overlay", banana_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs index f1b1b45288..63be1bcf91 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Graphics.Textures; +using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -19,8 +20,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTexture("fruit-drop", droplet_max_size); - Texture? overlayTexture = Skin.GetTexture("fruit-drop-overlay", droplet_max_size); + Texture? texture = Skin.GetTextureWithMaxSize("fruit-drop", droplet_max_size); + Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-drop-overlay", droplet_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs index 3c853e5d3d..e4d25e036b 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using osu.Game.Rulesets.Catch.Objects; +using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Catch.Skinning.Legacy @@ -25,19 +26,19 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy switch (visualRepresentation) { case FruitVisualRepresentation.Pear: - SetTexture(Skin.GetTexture("fruit-pear", fruit_max_size), Skin.GetTexture("fruit-pear-overlay", fruit_max_size)); + SetTexture(Skin.GetTextureWithMaxSize("fruit-pear", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-pear-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Grape: - SetTexture(Skin.GetTexture("fruit-grapes", fruit_max_size), Skin.GetTexture("fruit-grapes-overlay", fruit_max_size)); + SetTexture(Skin.GetTextureWithMaxSize("fruit-grapes", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-grapes-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Pineapple: - SetTexture(Skin.GetTexture("fruit-apple", fruit_max_size), Skin.GetTexture("fruit-apple-overlay", fruit_max_size)); + SetTexture(Skin.GetTextureWithMaxSize("fruit-apple", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-apple-overlay", fruit_max_size)); break; case FruitVisualRepresentation.Raspberry: - SetTexture(Skin.GetTexture("fruit-orange", fruit_max_size), Skin.GetTexture("fruit-orange-overlay", fruit_max_size)); + SetTexture(Skin.GetTextureWithMaxSize("fruit-orange", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-orange-overlay", fruit_max_size)); break; } } diff --git a/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs b/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs index dbeae2a76e..baaa24959f 100644 --- a/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs +++ b/osu.Game.Rulesets.Osu.Tests/LegacyMainCirclePieceTest.cs @@ -14,7 +14,6 @@ using osu.Framework.Testing; using osu.Game.Rulesets.Osu.Skinning.Legacy; using osu.Game.Skinning; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Rulesets.Osu.Tests { @@ -78,9 +77,9 @@ namespace osu.Game.Rulesets.Osu.Tests // shouldn't be required as GetTexture(string) calls GetTexture(string, WrapMode, WrapMode) by default, // but moq doesn't handle that well, therefore explicitly requiring to use `CallBase`: // https://github.com/moq/moq4/issues/972 - skin.Setup(s => s.GetTexture(It.IsAny(), It.IsAny(), It.IsAny(), It.IsAny())).CallBase(); + skin.Setup(s => s.GetTexture(It.IsAny())).CallBase(); - skin.Setup(s => s.GetTexture(It.IsIn(textureFilenames), It.IsAny(), It.IsAny(), It.IsAny())) + skin.Setup(s => s.GetTexture(It.IsIn(textureFilenames), It.IsAny(), It.IsAny())) .Returns((string componentName, WrapMode _, WrapMode _) => { var tex = renderer.CreateTexture(1, 1); diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs index 22111d4412..9582ee491b 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneCursorTrail.cs @@ -98,7 +98,7 @@ namespace osu.Game.Rulesets.Osu.Tests public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { switch (componentName) { diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs index 29dffd029e..c84a6ab70f 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneGameplayCursor.cs @@ -130,7 +130,7 @@ namespace osu.Game.Rulesets.Osu.Tests private class TopLeftCursorSkin : ISkin { public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => null; + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => null; public ISample GetSample(ISampleInfo sampleInfo) => null; public IBindable GetConfig(TLookup lookup) diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs index da959b6be0..09b906cb10 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneSkinFallbacks.cs @@ -25,7 +25,6 @@ using osu.Game.Rulesets.Osu.Skinning.Default; using osu.Game.Skinning; using osu.Game.Storyboards; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Rulesets.Osu.Tests { @@ -164,7 +163,7 @@ namespace osu.Game.Rulesets.Osu.Tests }; } - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => null; + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => null; public ISample GetSample(ISampleInfo sampleInfo) => null; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs index cf91ac4596..45a18152c2 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs @@ -70,7 +70,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy // expected behaviour in this scenario is not showing the overlay, rather than using hitcircleoverlay.png. InternalChildren = new[] { - CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName, circle_piece_size) }) + CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTextureWithMaxSize(circleName, circle_piece_size) }) { Anchor = Anchor.Centre, Origin = Anchor.Centre, diff --git a/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs b/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs index bf8f5fd1e8..f38c2c9416 100644 --- a/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs +++ b/osu.Game.Tests/Gameplay/TestSceneHitObjectAccentColour.cs @@ -20,7 +20,6 @@ using osu.Game.Rulesets.Objects.Legacy; using osu.Game.Rulesets.Objects.Types; using osu.Game.Skinning; using osu.Game.Tests.Visual; -using osuTK; using osuTK.Graphics; namespace osu.Game.Tests.Gameplay @@ -141,7 +140,7 @@ namespace osu.Game.Tests.Gameplay public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => throw new NotImplementedException(); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs b/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs index 34ea459988..197e9404ff 100644 --- a/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs +++ b/osu.Game.Tests/NonVisual/Skinning/LegacySkinAnimationTest.cs @@ -18,7 +18,6 @@ using osu.Framework.Timing; using osu.Game.Audio; using osu.Game.Skinning; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Tests.NonVisual.Skinning { @@ -69,7 +68,7 @@ namespace osu.Game.Tests.NonVisual.Skinning this.renderer = renderer; } - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { return lookup_names.Contains(componentName) ? renderer.WhitePixel : null; } diff --git a/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs b/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs index 705fd19d93..11f3fe660d 100644 --- a/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs +++ b/osu.Game.Tests/Rulesets/TestSceneRulesetSkinProvidingContainer.cs @@ -17,7 +17,6 @@ using osu.Game.Rulesets; using osu.Game.Skinning; using osu.Game.Tests.Testing; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Tests.Rulesets { @@ -81,7 +80,7 @@ namespace osu.Game.Tests.Rulesets public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => skin.GetTexture(componentName); + public Texture GetTexture(string componentName, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => skin.GetTexture(componentName); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/SkinDeserialisationTest.cs b/osu.Game.Tests/Skins/SkinDeserialisationTest.cs index 79ce4de720..82d204f134 100644 --- a/osu.Game.Tests/Skins/SkinDeserialisationTest.cs +++ b/osu.Game.Tests/Skins/SkinDeserialisationTest.cs @@ -16,7 +16,6 @@ using osu.Game.Screens.Play.HUD; using osu.Game.Screens.Play.HUD.HitErrorMeters; using osu.Game.Skinning; using osu.Game.Tests.Resources; -using osuTK; namespace osu.Game.Tests.Skins { @@ -134,7 +133,7 @@ namespace osu.Game.Tests.Skins { } - public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public override IBindable GetConfig(TLookup lookup) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs b/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs index 5144f57f8d..0bbf4406fb 100644 --- a/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs +++ b/osu.Game.Tests/Skins/TestSceneBeatmapSkinLookupDisables.cs @@ -18,7 +18,6 @@ using osu.Game.Rulesets.Osu; using osu.Game.Skinning; using osu.Game.Tests.Beatmaps; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Tests.Skins { @@ -101,8 +100,7 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => skin.GetTexture(componentName, wrapModeS, wrapModeT); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs b/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs index a433b67bfb..816834989c 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinConfigurationLookup.cs @@ -21,7 +21,6 @@ using osu.Game.Rulesets.Osu; using osu.Game.Skinning; using osu.Game.Tests.Beatmaps; using osu.Game.Tests.Visual; -using osuTK; using osuTK.Graphics; namespace osu.Game.Tests.Skins @@ -224,8 +223,7 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => skin.GetDrawableComponent(lookup); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => skin.GetTexture(componentName, wrapModeS, wrapModeT); public ISample GetSample(ISampleInfo sampleInfo) => skin.GetSample(sampleInfo); diff --git a/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs b/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs index 4acd127a58..df314b56a9 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinProvidingContainer.cs @@ -16,7 +16,6 @@ using osu.Framework.Testing; using osu.Game.Audio; using osu.Game.Skinning; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Tests.Skins { @@ -90,7 +89,7 @@ namespace osu.Game.Tests.Skins public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => throw new System.NotImplementedException(); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { if (componentName == TEXTURE_NAME) return renderer.WhitePixel; diff --git a/osu.Game.Tests/Skins/TestSceneSkinResources.cs b/osu.Game.Tests/Skins/TestSceneSkinResources.cs index 636f1071dd..aaec319b57 100644 --- a/osu.Game.Tests/Skins/TestSceneSkinResources.cs +++ b/osu.Game.Tests/Skins/TestSceneSkinResources.cs @@ -22,7 +22,6 @@ using osu.Game.IO; using osu.Game.Skinning; using osu.Game.Tests.Resources; using osu.Game.Tests.Visual; -using osuTK; namespace osu.Game.Tests.Skins { @@ -101,7 +100,7 @@ namespace osu.Game.Tests.Skins { } - public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public override IBindable GetConfig(TLookup lookup) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs index 326e233e3f..c02cec8c75 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableDrawable.cs @@ -297,7 +297,7 @@ namespace osu.Game.Tests.Visual.Gameplay } : null; - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); @@ -308,7 +308,7 @@ namespace osu.Game.Tests.Visual.Gameplay { public Drawable GetDrawableComponent(ISkinComponentLookup componentLookupName) => new SecondarySourceBox(); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); @@ -320,7 +320,7 @@ namespace osu.Game.Tests.Visual.Gameplay { public Drawable GetDrawableComponent(ISkinComponentLookup componentLookupName) => new BaseSourceBox(); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => throw new NotImplementedException(); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => throw new NotImplementedException(); public ISample GetSample(ISampleInfo sampleInfo) => throw new NotImplementedException(); diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs index 0071c7e2c0..3f78dbfd96 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneSkinnableSound.cs @@ -15,7 +15,6 @@ using osu.Framework.Graphics.Textures; using osu.Framework.Testing; using osu.Game.Audio; using osu.Game.Skinning; -using osuTK; namespace osu.Game.Tests.Visual.Gameplay { @@ -164,10 +163,7 @@ namespace osu.Game.Tests.Visual.Gameplay IBindable ISamplePlaybackDisabler.SamplePlaybackDisabled => SamplePlaybackDisabled; public Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => source.GetDrawableComponent(lookup); - - public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - source.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); - + public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => source.GetTexture(componentName, wrapModeS, wrapModeT); public ISample? GetSample(ISampleInfo sampleInfo) => OverridingSample ?? source.GetSample(sampleInfo); public IBindable? GetConfig(TLookup lookup) diff --git a/osu.Game/Screens/Edit/EditorBeatmapSkin.cs b/osu.Game/Screens/Edit/EditorBeatmapSkin.cs index d04bb72bd9..80239504d8 100644 --- a/osu.Game/Screens/Edit/EditorBeatmapSkin.cs +++ b/osu.Game/Screens/Edit/EditorBeatmapSkin.cs @@ -11,7 +11,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; using osu.Game.Skinning; -using osuTK; using osuTK.Graphics; namespace osu.Game.Screens.Edit @@ -55,10 +54,7 @@ namespace osu.Game.Screens.Edit #region Delegated ISkin implementation public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => Skin.GetDrawableComponent(lookup); - - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - Skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); - + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Skin.GetTexture(componentName, wrapModeS, wrapModeT); public ISample GetSample(ISampleInfo sampleInfo) => Skin.GetSample(sampleInfo); public IBindable GetConfig(TLookup lookup) => Skin.GetConfig(lookup); diff --git a/osu.Game/Skinning/ArgonSkin.cs b/osu.Game/Skinning/ArgonSkin.cs index 3d14df70ce..61b0dc5aa1 100644 --- a/osu.Game/Skinning/ArgonSkin.cs +++ b/osu.Game/Skinning/ArgonSkin.cs @@ -67,8 +67,7 @@ namespace osu.Game.Skinning }; } - public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - Textures?.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); + public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Textures?.Get(componentName, wrapModeS, wrapModeT); public override ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Skinning/ISkin.cs b/osu.Game/Skinning/ISkin.cs index 5cc677ad1c..fa04dda202 100644 --- a/osu.Game/Skinning/ISkin.cs +++ b/osu.Game/Skinning/ISkin.cs @@ -6,7 +6,6 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; -using osuTK; namespace osu.Game.Skinning { @@ -26,11 +25,17 @@ namespace osu.Game.Skinning /// Retrieve a . /// /// The requested texture. - /// The maximum dimensions that the texture should be. + /// A matching texture, or null if unavailable. + Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); + + /// + /// Retrieve a . + /// + /// The requested texture. /// The texture wrap mode in horizontal direction. /// The texture wrap mode in vertical direction. /// A matching texture, or null if unavailable. - Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default); + Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT); /// /// Retrieve a . diff --git a/osu.Game/Skinning/LegacySkin.cs b/osu.Game/Skinning/LegacySkin.cs index 1b0b1be585..cf51fa8f74 100644 --- a/osu.Game/Skinning/LegacySkin.cs +++ b/osu.Game/Skinning/LegacySkin.cs @@ -466,7 +466,7 @@ namespace osu.Game.Skinning return null; } - public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { switch (componentName) { @@ -497,8 +497,7 @@ namespace osu.Game.Skinning continue; texture.ScaleAdjust = ratio; - - return texture.WithMaximumSize(maxSize); + return texture; } return null; diff --git a/osu.Game/Skinning/LegacySkinExtensions.cs b/osu.Game/Skinning/LegacySkinExtensions.cs index bd38eda259..ad3b10edd3 100644 --- a/osu.Game/Skinning/LegacySkinExtensions.cs +++ b/osu.Game/Skinning/LegacySkinExtensions.cs @@ -67,7 +67,7 @@ namespace osu.Game.Skinning if (animatable && s.GetTexture(getFrameName(0)) != null) return true; - return s.GetTexture(componentName, maxSize, wrapModeS, wrapModeT) != null; + return s.GetTexture(componentName, wrapModeS, wrapModeT) != null; }) ?? source; if (animatable) @@ -79,15 +79,21 @@ namespace osu.Game.Skinning } // if an animation was not allowed or not found, fall back to a sprite retrieval. - var singleTexture = retrievalSource.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + var singleTexture = maxSize != null + ? retrievalSource.GetTextureWithMaxSize(componentName, maxSize.Value, wrapModeS, wrapModeT) + : retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); - return singleTexture != null ? new[] { singleTexture } : Array.Empty(); + return singleTexture != null + ? new[] { singleTexture } + : Array.Empty(); IEnumerable getTextures(ISkin skin) { for (int i = 0; true; i++) { - var texture = skin.GetTexture(getFrameName(i), maxSize, wrapModeS, wrapModeT); + var texture = maxSize != null + ? skin.GetTextureWithMaxSize(getFrameName(i), maxSize.Value, wrapModeS, wrapModeT) + : skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT); if (texture == null) break; @@ -99,16 +105,17 @@ namespace osu.Game.Skinning string getFrameName(int frameIndex) => $"{componentName}{animationSeparator}{frameIndex}"; } - public static Texture? WithMaximumSize(this Texture? texture, Vector2? maxSize) + public static Texture? GetTextureWithMaxSize(this ISkin source, string componentName, Vector2 maxSize, WrapMode wrapModeS = WrapMode.None, WrapMode wrapModeT = WrapMode.None) { - if (texture == null || maxSize == null) + var texture = source.GetTexture(componentName, wrapModeS, wrapModeT); + if (texture == null) return texture; - if (texture.DisplayWidth <= maxSize.Value.X && texture.DisplayHeight <= maxSize.Value.Y) + if (texture.DisplayWidth <= maxSize.X && texture.DisplayHeight <= maxSize.Y) return texture; // use scale adjust property for downscaling the texture in order to meet the specified maximum dimensions. - texture.ScaleAdjust *= Math.Max(texture.DisplayWidth / maxSize.Value.X, texture.DisplayHeight / maxSize.Value.Y); + texture.ScaleAdjust *= Math.Max(texture.DisplayWidth / maxSize.X, texture.DisplayHeight / maxSize.Y); return texture; } diff --git a/osu.Game/Skinning/ResourceStoreBackedSkin.cs b/osu.Game/Skinning/ResourceStoreBackedSkin.cs index 35165c2e6f..f5c6192ba5 100644 --- a/osu.Game/Skinning/ResourceStoreBackedSkin.cs +++ b/osu.Game/Skinning/ResourceStoreBackedSkin.cs @@ -10,7 +10,6 @@ using osu.Framework.Graphics.Textures; using osu.Framework.IO.Stores; using osu.Framework.Platform; using osu.Game.Audio; -using osuTK; namespace osu.Game.Skinning { @@ -30,8 +29,7 @@ namespace osu.Game.Skinning public Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => null; - public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - textures.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); + public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => textures.Get(componentName, wrapModeS, wrapModeT); public ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Skinning/Skin.cs b/osu.Game/Skinning/Skin.cs index 0e96feaccc..a6250d7488 100644 --- a/osu.Game/Skinning/Skin.cs +++ b/osu.Game/Skinning/Skin.cs @@ -18,7 +18,6 @@ using osu.Framework.Logging; using osu.Game.Audio; using osu.Game.Database; using osu.Game.IO; -using osuTK; namespace osu.Game.Skinning { @@ -45,7 +44,9 @@ namespace osu.Game.Skinning public abstract ISample? GetSample(ISampleInfo sampleInfo); - public abstract Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default); + public Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); + + public abstract Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT); public abstract IBindable? GetConfig(TLookup lookup) where TLookup : notnull diff --git a/osu.Game/Skinning/SkinManager.cs b/osu.Game/Skinning/SkinManager.cs index f0819211c0..51605c6045 100644 --- a/osu.Game/Skinning/SkinManager.cs +++ b/osu.Game/Skinning/SkinManager.cs @@ -25,7 +25,6 @@ using osu.Game.Database; using osu.Game.IO; using osu.Game.Overlays.Notifications; using osu.Game.Utils; -using osuTK; namespace osu.Game.Skinning { @@ -224,8 +223,7 @@ namespace osu.Game.Skinning public Drawable GetDrawableComponent(ISkinComponentLookup lookup) => lookupWithFallback(s => s.GetDrawableComponent(lookup)); - public Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - lookupWithFallback(s => s.GetTexture(componentName, maxSize, wrapModeS, wrapModeT)); + public Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => lookupWithFallback(s => s.GetTexture(componentName, wrapModeS, wrapModeT)); public ISample GetSample(ISampleInfo sampleInfo) => lookupWithFallback(s => s.GetSample(sampleInfo)); diff --git a/osu.Game/Skinning/SkinProvidingContainer.cs b/osu.Game/Skinning/SkinProvidingContainer.cs index 342d6d8009..2612e0b47c 100644 --- a/osu.Game/Skinning/SkinProvidingContainer.cs +++ b/osu.Game/Skinning/SkinProvidingContainer.cs @@ -11,7 +11,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Textures; using osu.Game.Audio; -using osuTK; namespace osu.Game.Skinning { @@ -128,19 +127,19 @@ namespace osu.Game.Skinning return ParentSource?.GetDrawableComponent(lookup); } - public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { foreach (var (_, lookupWrapper) in skinSources) { Texture? sourceTexture; - if ((sourceTexture = lookupWrapper.GetTexture(componentName, maxSize, wrapModeS, wrapModeT)) != null) + if ((sourceTexture = lookupWrapper.GetTexture(componentName, wrapModeS, wrapModeT)) != null) return sourceTexture; } if (!AllowFallingBackToParent) return null; - return ParentSource?.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + return ParentSource?.GetTexture(componentName, wrapModeS, wrapModeT); } public ISample? GetSample(ISampleInfo sampleInfo) @@ -252,10 +251,10 @@ namespace osu.Game.Skinning return null; } - public Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { if (provider.AllowTextureLookup(componentName)) - return skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + return skin.GetTexture(componentName, wrapModeS, wrapModeT); return null; } diff --git a/osu.Game/Skinning/SkinTransformer.cs b/osu.Game/Skinning/SkinTransformer.cs index cd7755b854..ed5b04da1e 100644 --- a/osu.Game/Skinning/SkinTransformer.cs +++ b/osu.Game/Skinning/SkinTransformer.cs @@ -7,7 +7,6 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Textures; using osu.Game.Audio; -using osuTK; namespace osu.Game.Skinning { @@ -29,7 +28,9 @@ namespace osu.Game.Skinning public virtual Drawable? GetDrawableComponent(ISkinComponentLookup lookup) => Skin.GetDrawableComponent(lookup); - public virtual Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => Skin.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + public virtual Texture? GetTexture(string componentName) => GetTexture(componentName, default, default); + + public virtual Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Skin.GetTexture(componentName, wrapModeS, wrapModeT); public virtual ISample? GetSample(ISampleInfo sampleInfo) => Skin.GetSample(sampleInfo); diff --git a/osu.Game/Skinning/TrianglesSkin.cs b/osu.Game/Skinning/TrianglesSkin.cs index d1d094b301..0957f60579 100644 --- a/osu.Game/Skinning/TrianglesSkin.cs +++ b/osu.Game/Skinning/TrianglesSkin.cs @@ -44,8 +44,7 @@ namespace osu.Game.Skinning this.resources = resources; } - public override Texture? GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) => - Textures?.Get(componentName, wrapModeS, wrapModeT).WithMaximumSize(maxSize); + public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) => Textures?.Get(componentName, wrapModeS, wrapModeT); public override ISample? GetSample(ISampleInfo sampleInfo) { diff --git a/osu.Game/Tests/Visual/SkinnableTestScene.cs b/osu.Game/Tests/Visual/SkinnableTestScene.cs index 6c286f37c7..aab1b72990 100644 --- a/osu.Game/Tests/Visual/SkinnableTestScene.cs +++ b/osu.Game/Tests/Visual/SkinnableTestScene.cs @@ -207,9 +207,9 @@ namespace osu.Game.Tests.Visual this.extrapolateAnimations = extrapolateAnimations; } - public override Texture GetTexture(string componentName, Vector2? maxSize = null, WrapMode wrapModeS = default, WrapMode wrapModeT = default) + public override Texture GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) { - var lookup = base.GetTexture(componentName, maxSize, wrapModeS, wrapModeT); + var lookup = base.GetTexture(componentName, wrapModeS, wrapModeT); if (lookup != null) return lookup; @@ -220,7 +220,7 @@ namespace osu.Game.Tests.Visual var match = Regex.Match(componentName, "-([0-9]*)"); if (match.Length > 0 && int.TryParse(match.Groups[1].Value, out int number) && number < 60) - return base.GetTexture(componentName.Replace($"-{number}", $"-{number % 2}"), maxSize, wrapModeS, wrapModeT); + return base.GetTexture(componentName.Replace($"-{number}", $"-{number % 2}"), wrapModeS, wrapModeT); } return null; From 291a91be6687c214072b510644cd0b2436b630c8 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 03:29:43 +0300 Subject: [PATCH 016/106] Change extension from retrieval to post-processing instead --- .../Skinning/Legacy/LegacyBananaPiece.cs | 4 ++-- .../Skinning/Legacy/LegacyDropletPiece.cs | 4 ++-- .../Skinning/Legacy/LegacyFruitPiece.cs | 8 ++++---- .../Skinning/Legacy/LegacyMainCirclePiece.cs | 2 +- .../Skinning/Legacy/LegacyDrumRoll.cs | 4 ++-- osu.Game/Skinning/LegacySkinExtensions.cs | 20 +++++++++---------- 6 files changed, 20 insertions(+), 22 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs index 9f99e3a586..c6f32e2014 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyBananaPiece.cs @@ -15,8 +15,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTextureWithMaxSize("fruit-bananas", banana_max_size); - Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-bananas-overlay", banana_max_size); + Texture? texture = Skin.GetTexture("fruit-bananas")?.WithMaximumSize(banana_max_size); + Texture? overlayTexture = Skin.GetTexture("fruit-bananas-overlay")?.WithMaximumSize(banana_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs index 63be1bcf91..581259a9c4 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs @@ -20,8 +20,8 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { base.LoadComplete(); - Texture? texture = Skin.GetTextureWithMaxSize("fruit-drop", droplet_max_size); - Texture? overlayTexture = Skin.GetTextureWithMaxSize("fruit-drop-overlay", droplet_max_size); + Texture? texture = Skin.GetTexture("fruit-drop")?.WithMaximumSize(droplet_max_size); + Texture? overlayTexture = Skin.GetTexture("fruit-drop-overlay")?.WithMaximumSize(droplet_max_size); SetTexture(texture, overlayTexture); } diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs index e4d25e036b..eacda1dc64 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs @@ -26,19 +26,19 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy switch (visualRepresentation) { case FruitVisualRepresentation.Pear: - SetTexture(Skin.GetTextureWithMaxSize("fruit-pear", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-pear-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-pear")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-pear-overlay")?.WithMaximumSize(fruit_max_size)); break; case FruitVisualRepresentation.Grape: - SetTexture(Skin.GetTextureWithMaxSize("fruit-grapes", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-grapes-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-grapes")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-grapes-overlay")?.WithMaximumSize(fruit_max_size)); break; case FruitVisualRepresentation.Pineapple: - SetTexture(Skin.GetTextureWithMaxSize("fruit-apple", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-apple-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-apple")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-apple-overlay")?.WithMaximumSize(fruit_max_size)); break; case FruitVisualRepresentation.Raspberry: - SetTexture(Skin.GetTextureWithMaxSize("fruit-orange", fruit_max_size), Skin.GetTextureWithMaxSize("fruit-orange-overlay", fruit_max_size)); + SetTexture(Skin.GetTexture("fruit-orange")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-orange-overlay")?.WithMaximumSize(fruit_max_size)); break; } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs index 45a18152c2..18010cdb2c 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs @@ -70,7 +70,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy // expected behaviour in this scenario is not showing the overlay, rather than using hitcircleoverlay.png. InternalChildren = new[] { - CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTextureWithMaxSize(circleName, circle_piece_size) }) + CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName)?.WithMaximumSize(circle_piece_size) }) { Anchor = Anchor.Centre, Origin = Anchor.Centre, diff --git a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs index 33f85328fa..83f05fe6ec 100644 --- a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs +++ b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs @@ -48,13 +48,13 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy Anchor = Anchor.CentreRight, Origin = Anchor.CentreLeft, RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-end", new Vector2(128, 256), WrapMode.ClampToEdge, WrapMode.ClampToEdge), + Texture = skin.GetTexture("taiko-roll-end", WrapMode.ClampToEdge, WrapMode.ClampToEdge)?.WithMaximumSize(new Vector2(128, 256)), FillMode = FillMode.Fit, }, body = new Sprite { RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-middle", new Vector2(2, 256), WrapMode.ClampToEdge, WrapMode.ClampToEdge), + Texture = skin.GetTexture("taiko-roll-middle", WrapMode.ClampToEdge, WrapMode.ClampToEdge)?.WithMaximumSize(new Vector2(2, 256)), }, headCircle = new LegacyCirclePiece { diff --git a/osu.Game/Skinning/LegacySkinExtensions.cs b/osu.Game/Skinning/LegacySkinExtensions.cs index ad3b10edd3..dde6c1fa29 100644 --- a/osu.Game/Skinning/LegacySkinExtensions.cs +++ b/osu.Game/Skinning/LegacySkinExtensions.cs @@ -79,9 +79,10 @@ namespace osu.Game.Skinning } // if an animation was not allowed or not found, fall back to a sprite retrieval. - var singleTexture = maxSize != null - ? retrievalSource.GetTextureWithMaxSize(componentName, maxSize.Value, wrapModeS, wrapModeT) - : retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); + var singleTexture = retrievalSource.GetTexture(componentName, wrapModeS, wrapModeT); + + if (singleTexture != null && maxSize != null) + singleTexture = singleTexture.WithMaximumSize(maxSize.Value); return singleTexture != null ? new[] { singleTexture } @@ -91,13 +92,14 @@ namespace osu.Game.Skinning { for (int i = 0; true; i++) { - var texture = maxSize != null - ? skin.GetTextureWithMaxSize(getFrameName(i), maxSize.Value, wrapModeS, wrapModeT) - : skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT); + var texture = skin.GetTexture(getFrameName(i), wrapModeS, wrapModeT); if (texture == null) break; + if (maxSize != null) + texture = texture.WithMaximumSize(maxSize.Value); + yield return texture; } } @@ -105,12 +107,8 @@ namespace osu.Game.Skinning string getFrameName(int frameIndex) => $"{componentName}{animationSeparator}{frameIndex}"; } - public static Texture? GetTextureWithMaxSize(this ISkin source, string componentName, Vector2 maxSize, WrapMode wrapModeS = WrapMode.None, WrapMode wrapModeT = WrapMode.None) + public static Texture WithMaximumSize(this Texture texture, Vector2 maxSize) { - var texture = source.GetTexture(componentName, wrapModeS, wrapModeT); - if (texture == null) - return texture; - if (texture.DisplayWidth <= maxSize.X && texture.DisplayHeight <= maxSize.Y) return texture; From a373d71b3ebe021eca147a220f728ad8372d87fb Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 03:15:37 +0300 Subject: [PATCH 017/106] Add basic test scene upscaling all skin elements --- .../TestSceneGameplayElementDimensions.cs | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs new file mode 100644 index 0000000000..20e6e5658c --- /dev/null +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs @@ -0,0 +1,73 @@ +// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. +// See the LICENCE file in the repository root for full licence text. + +using System; +using System.Collections.Generic; +using System.Linq; +using osu.Framework.Allocation; +using osu.Framework.Graphics.Textures; +using osu.Framework.Testing; +using osu.Game.IO; +using osu.Game.Rulesets; +using osu.Game.Screens.Play; +using osu.Game.Skinning; + +namespace osu.Game.Tests.Visual.Gameplay +{ + public partial class TestSceneGameplayElementDimensions : TestSceneAllRulesetPlayers + { + protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) + { + var dependencies = new DependencyContainer(base.CreateChildDependencies(parent)); + + // for now this only applies to legacy skins, as modern skins don't have texture-based gameplay elements yet. + dependencies.CacheAs(new UpscaledLegacySkin(dependencies.Get())); + + return dependencies; + } + + protected override void AddCheckSteps() + { + } + + protected override Player CreatePlayer(Ruleset ruleset) + { + var player = base.CreatePlayer(ruleset); + player.OnLoadComplete += _ => + { + // this test scene focuses on gameplay elements, so let's hide the hud. + var hudOverlay = player.ChildrenOfType().Single(); + hudOverlay.ShowHud.Value = false; + hudOverlay.ShowHud.Disabled = true; + }; + return player; + } + + private class UpscaledLegacySkin : DefaultLegacySkin, ISkinSource + { + public UpscaledLegacySkin(IStorageResourceProvider resources) + : base(resources) + { + } + + public event Action? SourceChanged + { + add { } + remove { } + } + + public override Texture? GetTexture(string componentName, WrapMode wrapModeS, WrapMode wrapModeT) + { + var texture = base.GetTexture(componentName, wrapModeS, wrapModeT); + + if (texture != null) + texture.ScaleAdjust /= 5f; + + return texture; + } + + public ISkin? FindProvider(Func lookupFunction) => this; + public IEnumerable AllSources => new[] { this }; + } + } +} From fc1a39ede3f713ff3bae8e5a556db9515042b675 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 03:57:22 +0300 Subject: [PATCH 018/106] Add size limitations for slider balls --- osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs | 6 ++++-- .../Skinning/Legacy/OsuLegacySkinTransformer.cs | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs index 2aa843581e..145a8a50af 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs @@ -7,8 +7,10 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; using osu.Game.Rulesets.Objects.Drawables; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; using osu.Game.Skinning; +using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy @@ -46,7 +48,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Texture = skin.GetTexture("sliderb-nd"), + Texture = skin.GetTexture("sliderb-nd")?.WithMaximumSize(new Vector2(OsuHitObject.OBJECT_RADIUS * 2)), Colour = new Color4(5, 5, 5, 255), }, LegacyColourCompatibility.ApplyWithDoubledAlpha(animationContent.With(d => @@ -58,7 +60,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Texture = skin.GetTexture("sliderb-spec"), + Texture = skin.GetTexture("sliderb-spec")?.WithMaximumSize(new Vector2(OsuHitObject.OBJECT_RADIUS * 2)), Blending = BlendingParameters.Additive, }, }; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs index f049aa088f..8efe77b510 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs @@ -4,6 +4,7 @@ using System; using osu.Framework.Bindables; using osu.Framework.Graphics; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Skinning; using osuTK; @@ -20,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy /// Their hittable area is 128px, but the actual circle portion is 118px. /// We must account for some gameplay elements such as slider bodies, where this padding is not present. /// - public const float LEGACY_CIRCLE_RADIUS = 64 - 5; + public const float LEGACY_CIRCLE_RADIUS = OsuHitObject.OBJECT_RADIUS - 5; public OsuLegacySkinTransformer(ISkin skin) : base(skin) @@ -48,7 +49,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy return null; case OsuSkinComponents.SliderBall: - var sliderBallContent = this.GetAnimation("sliderb", true, true, animationSeparator: ""); + var sliderBallContent = this.GetAnimation("sliderb", true, true, animationSeparator: "", maxSize: new Vector2(OsuHitObject.OBJECT_RADIUS * 2)); // todo: slider ball has a custom frame delay based on velocity // Math.Max((150 / Velocity) * GameBase.SIXTY_FRAME_TIME, GameBase.SIXTY_FRAME_TIME); From f963a921dbc59c267c9028eef5a9473cc2af3601 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 03:57:33 +0300 Subject: [PATCH 019/106] Add size limitation for slider follow circle --- .../Skinning/Legacy/OsuLegacySkinTransformer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs index 8efe77b510..d176041015 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs @@ -42,7 +42,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy return this.GetAnimation("sliderscorepoint", false, false); case OsuSkinComponents.SliderFollowCircle: - var followCircleContent = this.GetAnimation("sliderfollowcircle", true, true, true); + var followCircleContent = this.GetAnimation("sliderfollowcircle", true, true, true, maxSize: new Vector2(308f)); if (followCircleContent != null) return new LegacyFollowCircle(followCircleContent); From b823507b2a96a06f8306d522530124494a5a0f4a Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 04:36:40 +0300 Subject: [PATCH 020/106] Add size limitation for approach circles --- .../Skinning/Legacy/LegacyApproachCircle.cs | 4 +++- osu.Game/Skinning/Skin.cs | 2 +- osu.Game/Skinning/SkinnableSprite.cs | 16 +++++++++++----- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs index e9342bbdbb..cdc61ebd9b 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs @@ -5,12 +5,14 @@ using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Game.Rulesets.Objects.Drawables; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Skinning; using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy { + // todo: this should probably not be a SkinnableSprite, as this is always created for legacy skins and is recreated on skin change. public partial class LegacyApproachCircle : SkinnableSprite { private readonly IBindable accentColour = new Bindable(); @@ -19,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy private DrawableHitObject drawableObject { get; set; } = null!; public LegacyApproachCircle() - : base("Gameplay/osu/approachcircle") + : base("Gameplay/osu/approachcircle", new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) { } diff --git a/osu.Game/Skinning/Skin.cs b/osu.Game/Skinning/Skin.cs index a6250d7488..e8446d9ffb 100644 --- a/osu.Game/Skinning/Skin.cs +++ b/osu.Game/Skinning/Skin.cs @@ -190,7 +190,7 @@ namespace osu.Game.Skinning { // This fallback is important for user skins which use SkinnableSprites. case SkinnableSprite.SpriteComponentLookup sprite: - return this.GetAnimation(sprite.LookupName, false, false); + return this.GetAnimation(sprite.LookupName, false, false, maxSize: sprite.MaxSize); case SkinComponentsContainerLookup containerLookup: diff --git a/osu.Game/Skinning/SkinnableSprite.cs b/osu.Game/Skinning/SkinnableSprite.cs index 1d97566470..9effb483c4 100644 --- a/osu.Game/Skinning/SkinnableSprite.cs +++ b/osu.Game/Skinning/SkinnableSprite.cs @@ -34,8 +34,8 @@ namespace osu.Game.Skinning [Resolved] private ISkinSource source { get; set; } = null!; - public SkinnableSprite(string textureName, ConfineMode confineMode = ConfineMode.NoScaling) - : base(new SpriteComponentLookup(textureName), confineMode) + public SkinnableSprite(string textureName, Vector2? maxSize = null, ConfineMode confineMode = ConfineMode.NoScaling) + : base(new SpriteComponentLookup(textureName, maxSize), confineMode) { SpriteName.Value = textureName; } @@ -56,10 +56,14 @@ namespace osu.Game.Skinning protected override Drawable CreateDefault(ISkinComponentLookup lookup) { - var texture = textures.Get(((SpriteComponentLookup)lookup).LookupName); + var spriteLookup = (SpriteComponentLookup)lookup; + var texture = textures.Get(spriteLookup.LookupName); if (texture == null) - return new SpriteNotFound(((SpriteComponentLookup)lookup).LookupName); + return new SpriteNotFound(spriteLookup.LookupName); + + if (spriteLookup.MaxSize != null) + texture = texture.WithMaximumSize(spriteLookup.MaxSize.Value); return new Sprite { Texture = texture }; } @@ -69,10 +73,12 @@ namespace osu.Game.Skinning internal class SpriteComponentLookup : ISkinComponentLookup { public string LookupName { get; set; } + public Vector2? MaxSize { get; set; } - public SpriteComponentLookup(string textureName) + public SpriteComponentLookup(string textureName, Vector2? maxSize = null) { LookupName = textureName; + MaxSize = maxSize; } } From ab5226832a70099d76ec6737e9197e5da707e74a Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 04:37:09 +0300 Subject: [PATCH 021/106] Add size limitation for slider reverse arrow piece --- osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index e6166e9441..293df6b3a0 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -7,8 +7,10 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; +using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; using osu.Game.Skinning; +using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy @@ -35,7 +37,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy var skin = skinSource.FindProvider(s => s.GetTexture(lookupName) != null); - InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true) ?? Empty()); + InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) ?? Empty()); textureIsDefaultSkin = skin is ISkinTransformer transformer && transformer.Skin is DefaultLegacySkin; } From 922f6f36f2d496b82f7550e02b997aba755514e5 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 04:37:51 +0300 Subject: [PATCH 022/106] Add size limitation for hit object numbers --- .../Skinning/Legacy/OsuLegacySkinTransformer.cs | 2 +- osu.Game/Skinning/LegacySpriteText.cs | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs index d176041015..2564dbf335 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs @@ -139,7 +139,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy if (!this.HasFont(LegacyFont.HitCircle)) return null; - return new LegacySpriteText(LegacyFont.HitCircle) + return new LegacySpriteText(LegacyFont.HitCircle, new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) { // stable applies a blanket 0.8x scale to hitcircle fonts Scale = new Vector2(0.8f), diff --git a/osu.Game/Skinning/LegacySpriteText.cs b/osu.Game/Skinning/LegacySpriteText.cs index d6af52855b..f021a99102 100644 --- a/osu.Game/Skinning/LegacySpriteText.cs +++ b/osu.Game/Skinning/LegacySpriteText.cs @@ -13,6 +13,7 @@ namespace osu.Game.Skinning public sealed partial class LegacySpriteText : OsuSpriteText { private readonly LegacyFont font; + private readonly Vector2? maxSize; private LegacyGlyphStore glyphStore = null!; @@ -20,9 +21,11 @@ namespace osu.Game.Skinning protected override char[] FixedWidthExcludeCharacters => new[] { ',', '.', '%', 'x' }; - public LegacySpriteText(LegacyFont font) + public LegacySpriteText(LegacyFont font, Vector2? maxSize = null) { this.font = font; + this.maxSize = maxSize; + Shadow = false; UseFullGlyphHeight = false; } @@ -33,7 +36,7 @@ namespace osu.Game.Skinning Font = new FontUsage(skin.GetFontPrefix(font), 1, fixedWidth: true); Spacing = new Vector2(-skin.GetFontOverlap(font), 0); - glyphStore = new LegacyGlyphStore(skin); + glyphStore = new LegacyGlyphStore(skin, maxSize); } protected override TextBuilder CreateTextBuilder(ITexturedGlyphLookupStore store) => base.CreateTextBuilder(glyphStore); @@ -41,10 +44,12 @@ namespace osu.Game.Skinning private class LegacyGlyphStore : ITexturedGlyphLookupStore { private readonly ISkin skin; + private readonly Vector2? maxSize; - public LegacyGlyphStore(ISkin skin) + public LegacyGlyphStore(ISkin skin, Vector2? maxSize) { this.skin = skin; + this.maxSize = maxSize; } public ITexturedCharacterGlyph? Get(string fontName, char character) @@ -56,6 +61,9 @@ namespace osu.Game.Skinning if (texture == null) return null; + if (maxSize != null) + texture = texture.WithMaximumSize(maxSize.Value); + return new TexturedCharacterGlyph(new CharacterGlyph(character, 0, 0, texture.Width, texture.Height, null), texture, 1f / texture.ScaleAdjust); } From 8f5d1b57a38365fdccad24db4206955375e9bc27 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Tue, 19 Sep 2023 05:21:19 +0300 Subject: [PATCH 023/106] Revert "Make gameplay skin elements in `special-skin` awfully large" This reverts commit 2c81fe5613e79e2e9370f19d40a1839e28a20c45. Not needed in favour of `TestSceneGameplayElementDimensions`. --- .../special-skin/fruit-apple-overlay.png | Bin 26684 -> 4677 bytes .../Resources/special-skin/fruit-apple.png | Bin 26685 -> 4677 bytes .../special-skin/fruit-bananas-overlay.png | Bin 23898 -> 4949 bytes .../Resources/special-skin/fruit-bananas.png | Bin 23899 -> 4949 bytes .../special-skin/fruit-drop-overlay.png | Bin 26684 -> 4677 bytes .../Resources/special-skin/fruit-drop.png | Bin 26684 -> 4677 bytes .../special-skin/fruit-grapes-overlay.png | Bin 26684 -> 4677 bytes .../Resources/special-skin/fruit-grapes.png | Bin 26684 -> 4633 bytes .../special-skin/fruit-orange-overlay.png | Bin 26685 -> 4633 bytes .../Resources/special-skin/fruit-orange.png | Bin 26685 -> 4633 bytes .../special-skin/fruit-pear-overlay.png | Bin 26685 -> 4633 bytes .../Resources/special-skin/fruit-pear.png | Bin 26686 -> 4633 bytes .../Resources/special-skin/hitcircle@2x.png | Bin 295339 -> 245645 bytes .../special-skin/hitcircleoverlay-0@2x.png | Bin 87032 -> 26595 bytes .../special-skin/hitcircleoverlay-1@2x.png | Bin 119975 -> 40858 bytes .../Resources/old-skin/taiko-roll-end.png | Bin 2095 -> 0 bytes .../Resources/old-skin/taiko-roll-middle.png | Bin 140 -> 0 bytes .../special-skin/taiko-drum-inner.png | Bin 1926 -> 0 bytes .../special-skin/taiko-drum-outer.png | Bin 3749 -> 0 bytes .../Resources/special-skin/taiko-roll-end.png | Bin 14570 -> 0 bytes .../special-skin/taiko-roll-middle.png | Bin 4791 -> 0 bytes ...ikobigcircle.png => taikobigcircle@2x.png} | Bin .../special-skin/taikobigcircleoverlay.png | Bin 66280 -> 0 bytes .../Resources/special-skin/taikohitcircle.png | Bin 12374 -> 0 bytes .../special-skin/taikohitcircleoverlay.png | Bin 66281 -> 0 bytes 25 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-end.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-inner.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-middle.png rename osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/{taikobigcircle.png => taikobigcircle@2x.png} (100%) delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircle.png delete mode 100644 osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple-overlay.png index c6e27996b92328a0c6fbcf3fb9f4f6b6598bbdfb..fe567d158d0b47f06c39eca9d055b9c8361b040a 100755 GIT binary patch literal 4677 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 Hu0mjfgVw2; literal 26684 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 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-apple.png index 6a862572faca191c265bd1bdd76283c08fdab790..17f3be9c262953cac52da794d601bb853d8dc276 100755 GIT binary patch literal 4677 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 Hu0mjf9r&r4 literal 26685 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 B13Lf! diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas-overlay.png index 9d1d6d1177b9e36bcef557251ba3914fa5acbae2..2c94ea78bfdba901614472a3215401d7b0a2dd71 100755 GIT binary patch literal 4949 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 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-bananas.png index 88bc33b592a04625c97fafdea8040090e64d5cfc..2c94ea78bfdba901614472a3215401d7b0a2dd71 100755 GIT binary patch literal 4949 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 Hu0mjfi%6-N literal 26684 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 Hu0mjfQGBVH literal 26684 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 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes-overlay.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-grapes-overlay.png index 2529b5cd1928637c69a512b292d5533fee42a48c..17f3be9c262953cac52da794d601bb853d8dc276 100755 GIT binary patch literal 4677 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 Hu0mjf9r&r4 literal 26684 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 P00000NkvXXu0mjfY&D(f literal 26684 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 P00000NkvXXu0mjfY&D(f literal 26685 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 B;9~#) diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-orange.png index 998f5fb3cb6f04dd8541efdc151bde4014aa69db..3dc60464cf31e3ba07d5585542d75d616f63da03 100755 GIT binary patch literal 4633 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 P00000NkvXXu0mjfY&D(f literal 26685 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 P00000NkvXXu0mjfY&D(f literal 26685 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 diff --git a/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear.png b/osu.Game.Rulesets.Catch.Tests/Resources/special-skin/fruit-pear.png index c8acaaa58349b47893c0c3ab3bbd4a2d472c8721..3dc60464cf31e3ba07d5585542d75d616f63da03 100755 GIT binary patch literal 4633 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 P00000NkvXXu0mjfY&D(f literal 26686 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 B?Uw)m diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircle@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircle@2x.png index 207ce15dfabab74df8b5c13932506d94ef19dcfe..919d8f405ca7f40c921e71b91e7a81655db1f94b 100755 GIT binary patch delta 42344 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 delta 95844 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�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 K?H<|qr~Dr=#f2~c diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-0@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-0@2x.png index ccd1494cdf1a9d19a9c860b88d240392ef1919ea..8e50cd033596fb3daacd173247d6779168cc8f99 100755 GIT binary patch literal 26595 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

KVsm2B>cb8^}lrej~MtL3IA_&{r^T6&VRN% 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

wSIutbvWi6D`m2u|!^@bLCI5us_1F3$vl-qM^r3 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≪}_ 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 E0Oy=DQvd(} diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-end.png b/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-end.png deleted file mode 100644 index 60e2d3328f89df794d7b894fd2f6e2dfbb44ba82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2095 zcmV+~2+;S5P)RCwC#opET>M-<0j)>w_GlupaE zQdA~lAy}x?Kb);qief>Tio%>y85B1MMFn+;e-wn4iCWkYhE~K;Tv@diJE>EKHPvca zHDYSh5db zjM@LdW5GVBo-aEjj#cOe{8^>_9`zyW-9figw}yN!BrqBam}foI8>u%0|NK)VUQ17MwEp_u)0SWA_zYSk0`vKNWN>hh+`oUH)YsRO?c29Ulj?)i_fk)eOCKgtn&0myLqkIW z_}bc9vSrJbXh!!!VSvLU|LoZ_a_7z+Qc+PsX3m@$3HVRcrwIkD813_csCRU9kmJXX z6SLW@7y57N1;PP`8XfgXXJ;olapDA-KYzYn@G|O2LINv>5pQpACr6GPAx5K75444P zy0E}XA9uN2q^YTi6c-okf$pcCCoHgHUayxp91e2w=(y;pc(#hyQZ9_ZIAR;C&Y<=sIbDl{);&l`C3{ zkDby0E2H=M^XIin&>U%i(fa!O$gyL`w02LDr2)qJ8y6kBckkvw?~?`?ZDeGGSglsF zeED)-YJV&Zuu_;{3Cf9by;Q(Te?D~R5D)rOsep0!1ecZh`T4v7EQtjy+zEiBq$J45 z$bgcP64qC+A8(ZE$iu{m6Co!jhX=h+x-%YAr%r{98<~O3Wc6iXfya#-2ejmb($dn1 zqAc_&p2?FZLt!EF@f0o}mq`VT1K6B7b724e{j9HSmI@ec%9JU*DC54iNh)BB^4z&| zp}4qMt$9-T;3dULJdE~SF&`#6bcqDT&UKB`_>;zdC7y* zkL3i$s*7P6QUaSyCT49SB`_`~ScAB<7q!f0^VkArEEVMio<4oL>eM7HFz$k=jc3vV zvj#3{f$?h6m;!dY-D)2XOAFlF+pG5Rh_t}n-Q8**JGnR0L|-+jSf!K^W(`;vVJU$< z9uKRjM@nF))5&VGO9_lOVaH5_aSX=0&uVip^?OFyfW2NXoI7_;t*ISPF-jLd@8I^`A_qm>)_PVY}U~28-4p z-SQCCC>k3ZSe(1O}uxL-S@US3|hq84=j z@BTwh=%PZ%D*)krm$6Vl`;B^w+Hy)rL&XTZm&l3kvhZc2&=G$6^eLP=b&A#85{xiN z5n+_LI(_;yFS>|!> zv6w*7k%I>h>PcaodPYsI^}Pb4a1iQO*45SV#DhW|pK6cln*`nqup-Nf>)2hpcIlN| z{u$oEn*-h{umXy5Q03+2#9%P!0rkW(?ZgFGkxs|ax2&v;m`o-9RCLv5(>+ z-D0tjJ$v>5_HeJ99AZ~o4Byv$vQ7rFn!Knt-MUo*7rT`o9)C-<(qUi|^hXXo0 zJAneiwQJW#<2@~C_)@BJ>OTh0Tg2Vo#hZAr{;iKk>T0I+D1+j5Dax2lg9Nj;DIMeQ z!6UhNhOsetc;sH9Z|X-1jIR)C4S{S-lztfvF#f|spJV(5Z{CR44sVX$;?GXe55fE+ ZzyR4Xd;=*Q?iv69002ovPDHLkV1gL3>M{TT diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png b/osu.Game.Rulesets.Taiko.Tests/Resources/old-skin/taiko-roll-middle.png deleted file mode 100644 index 03ebd1904875ab54fa71cbe948304fbb6266d69a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^j6ht&!3HE(th_Z1NJ*BsMwA5Sr)zI%U~#c*aSiV>bgcqrenRo!(7sQ*l5b=5lS zHz>XqA5MduI3AJ3)o!d^br=$OWl&|sX@~VZ$$kjMf^*+5^|JIp^;7XGD@8l4m+Fq5 zbR@7C?o*Zte`1aIhsJvoa%oiq#8D}Ki%3xN-Ksnged2uiUDl?~c^n4)<4I1OL@J{s zVbM5~>zhOgK)+qf;w)+W21PgsudT$_W{dvh%J^~W25rSR8(jc< z_fL>Vf#GBu5+M8?a)ADqw~O-tr|7*i>Is87{CTFawH0p@a7Nez!b2*^x0zygxz-zJ zkY>w@5g3#`3)hxc7oS!>lk?q4A2}BKF4OE+l=$q;=o6RE{<#@Y^c6ReN2_0|6weK| z2uIAnbU>U^b5ZVub3{6?%JM{p_E&w1R}>YSKGQiTyB-Xk=tfFQe;f9 zT7frr1ow~=e}5}V$xMU*Y4I@*Evnes())7`go78n7;RKpIx`kD`E%XMaa-?OQZ-28 zi5A$#5ZvHTSuXzTXl?s@$h+&#_xArktA)i(04d2$ziJv9de^lR6uwRAw+mf3DxL5i zZ%jZ&vDSxmHFDjcMMePT4CJ&RQMrwF1c;wW1GqPo!cSZ^A(b-S3e=k6n)X>l7c;buJdiW4TJFtS@WP;S0XgZL zRZr~^B;3JzAm@^5`N8^|J9S$Eo}Uy8Bag4E`!ifO*#yn~@NB|Sx?P45|HI~V?QC?g z4jFo_Dw>(fI(BuPb+*GvzfZv!*mM-wnSs#~9FzwephKn{u!ofyos z#4hRx06epEi_y1?Qq$3HdB0QwjO&@~ShGCE8=pRb&BawoU$ZzWCoUoOIx7L1t28)d z`yS1UG#((0hLy3j40^L2$5CnL#>$kX73~K-M7th}=wN8AyWKeS(#q%ETnn=#%<90t ze7vB1Kb>x9o>VALdA9*Ak}r2xz8Rw57nC4M3H<_h<7Ki1Fz`+PZbuO%l5Br0a(oSA zg;^8KgM`6aeM%%kx-bcr>ZGgP7Qr&44d-K|2JBpyh%9M!COO<|4q{>(ULo9=0@1|` z{mdIm##t*?42H{S5)ek>iXW($sYURj-j(3}Ao(XED3+A5XEmxS;3@V8-Lioga8`Zm zKGNssuY$f>>S4+Fubmb-0Ub}(`9&iCk5&1fTkn{v_16n9O~0IyKJrn1yh6BoSU@*>AiDNP`V(J;9{Ld+x^0JNiTBTS>lAaos86NG z4tj6a1y0egJwb*di9UsPQkh zVUV*XtU<4yq=oM3s=AeRG6WkrM2iyo(WeWwm?<>=Qy7 zPz!0(bK?q3h@tu4v->WnEttwXV40o7A14u+VB^TJY0coQo|V0F9X(&cElEqk8XNmG iXXL~5fUGV&%!C*_ol6Q};|lnZLeiKIqOXgS)&B#53)X=E diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-drum-outer.png deleted file mode 100644 index 87ead80a08146adfa553d242f315f764a467506e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3749 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 DZJ4!X diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taiko-roll-end.png deleted file mode 100644 index 778c231f20ca9253e64ccffb64a0aa39a3b97a76..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14570 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 PK2D*pzfZY$bjE)HM$sIi diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle@2x.png similarity index 100% rename from osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle.png rename to osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircle@2x.png diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikobigcircleoverlay.png deleted file mode 100644 index 6dca33317131cd69ef449c0a6c0122f0f39cd84c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66280 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 e__0p9W$exLq4HUNEC{AIAxiS~PfR=%CLeS{yi$ zPyS-A)8$5o%A}Y;f)J24 zk2oP!Xb>?V^*&mr0FY9E1Z8|<)&a870E_-Nuh#%gPQZdCaC008%D7DNg8;@~=|~{i zaR7|yZMYm@D+-hjzlxLx47dSeYt`Svz+X;)TUp;)3HVtLv<=~7R{>BQfLkj(^f`d$ z2UzqlF!%t76o6RaSYPajy&Qjw4b)Uhl~^OAuzavFl+z7UU!RMXbx4_vomjvU#WGcj ztHU>if+v^{Z~0^Z0J7sqz}cSM`3&Kf4-E-K*WsFT?jkWB=wH8HyWbctag_pq6_0?? zdk%OtWsoRFkkfrG(*c^T8FsekMU-_Fo>VQ6y)&zS;`*o?`JC9snVF6C^}i~=WsEKR z^grC&beOm4-#K0dh}~YCEw`>R2J@H(E23R4cMP1WyGVJrBds>BjM@Y7xb;upvH!}Ja6xhf03 zfk)fw1ppj3xwKEPLQ#WkLso{p9}Xq&6tkItAZz7#Hvlk`W8~89tCsAB0)Sk0FxyXQ zs?&CIjy4SHcJ%pn>{|-~gbd^F4jFuzCssk!?iSBWKgzI%4gREIvw%-X(eSlt*@h*! z;&OH9HQO#R$k`exvBjH>k&x}?ZrdiuDjUj9}30i$N*Bbdb!#6m@Ab+FJU{7|i7 z{zY*0oBTD;i%$kh91K&0F+^~Dzi`>#f{cU_vOFw}u_(%w-*v|b#}vk#wHbCeiqiO$ zC>auZXRREnFonNzz}S02*E7~T*Ll~e*6EIopJcq2a{GR%v&yR7XRkuBfxp4Gf${bm zkF;K1s`kQ<99;tb7$cdooI33atxrFQ_&igE2SZ4eRrAYo6UQlS$!ss|Dz-g-5iBIq zzDyp`AM4*y+)my`J@v+U8b%V*9d5%)kw%V5ZbRWsUhz$>fMPs~qFa|+@WtM@trWZz z7d->EIyQfjxV|TeDv8XARBUkFqT+($#bRu|6TN=jm?ATs59JDaygF+|SQAMldc_%< zdpcA)HbtU8J{8;iaM6|g9$Ix{*8 zg-;4e)x|~5%DIXi@~Lu~hRDUb_}yH@XyDy*M_RI`ol>&-mWh_hD~PzpQL(&9g)a(tpY8sbtTC=R{c-w} z$Be;D$E>QptA3EGt=?Ghyg*bqZ5J2X)QPp+>@n`38DMrqv2%8D&gUO=V4m1ci++6JC~NPT6$+JgV!hE2^jX zx$zfcuDs5v?t`VxYciYquJX=)S>hP z$q!wpNjq>GgJJyPzr1U8ME%cy+hypajVs!a*)+ZjISG%7Q2p4?l`O%PM)hZ*r)6Em zC2~6~l?G_Y zY6RQVZZW{$z~l7GrhnGwdlz3=9+F9%OSosPNvw$pF7hlInhyxJ)%Vo*YjnC~nujjQ z1~NQYJ-mMy1qy?hAU3EG!P3FTC^why{ppa=k|J|&&#Pwkr9WpkN|Q*(d@TF8(OyPp z+w)&+8QsO!x1qQpJKRvsfbFRfOv_EnsLlW!me5b3`eBmMuHgohqc4*Ay+`L|-z~{q z%O%MzrrEsE5U$`<;b)U5=CT)?75v5bOY#qwwc)^|L56{{qbjv97hAc2vt#Sh?f%K9 z)r?i_H9xX%@E%iF-<+Y2)6hcFA}&G>kt8X#@Rveg|4HMs{UH6!bWG&U6#c}vgQmlV z9zH5C8va+-gpKy)u@am5`}qIjn)!VhyLj_CHX0EuMX}9lPt_LEL^4TJyl(36vtd@* zyw$fx4o36|CzWKf5AF|C_szu$rXOZK>=SknuEf{nhpFmw(im*El-dhdiMjdCJy|0` zXAgUYQ7YCDS;yuysZp}8pIjc$!u(#{A=s?F?_+x{#9|vdWI6F1Su#oBU)Fh_4XRHreaMvguQf#_zZ)G^dM zOa|P#>BfmknlW)*?U*U{Jw@E^XRY@chu)k|1)l1CN&mCT;40_4zH@=KbV2)6WY+7m zU+D_w_%kmW8ydL1OzLr}LYhwMjqz*aUm61vqf@(!?{5|7p5dkQi5dE;oapx2&F*|0 zPp~;2{+yAR@gacgYTjZlx6W_t&CrrPp3C7ce2=!v~TmyJ{g@?yub(z z8NQD@i@}pck4cH?4|^K6mnkG6EW9e|ez$X5C_8L5%$!MfpL^e5PDTn3xSZUZ9vb~N znv;B-oPc!l&%fJk+oPzM`_u7MVm&x2|sUF)-=>J#?>?tJyYb6h zXoPb|hVHFhwO#ouYIi#PCoG|3e4N;J0)Fv?C^=~fv?y1XgrqX#vDl5|bIR*cR>nzA zhDjWA@d{%Xit$X}BRo^Qtrsc8k?({sWBE^pM2AoOGM5fN*vRE;KSu*m4H2Ij2%o_o z5Ck>=|M3e2Y*LRM5Y7C5bPap#{2vd+K2g|((E2O~Bd-E?7GJpDuXzMAoV~jmmhKP| z6%mQV&n?g)PF2#Mw%rb*Tl)QXSi&lWnc^HCy2 ztxG0HlQl){I-%FffhVO@BVW5)yJ*4&l;S|GTyWYiYromr{h>S{Q}s~8`9!5*j7kkGr{YsGW*T*g*ISy`D;5Tz?E=#o%e@O7Wn zJ^vI$(|`yI??zSK3z0GrhK!Dm#$`@XlTaH!rNIbUF{+*s3$rBmyKYRD7*c~WQFUaq zrV5hdY(R6|5hK)y5e<1Q9E_0m0y%m&juf?nJl5TX)z#N8ZWy~po7}adFVo_5+mvP`MCgyD(@oXRu>2u z6mI43i=*@WV!4QvmLZNbz`<_T2k+P+*54XRDJCJ^YZR*Er$jiN^PJEQ;*fTWA!fr0 zU9EhIg54_&eM-zuZtF11a#^TpvJzteArx(wFyi;39DQSBsUyNT(m!EpRrTZ@4;>C+ zDd0#G6hA3R*3qs`zVk7+w)RXpr2SuZ*Xxw7s#4x$xqkWTLIxa@{aR{-TQH8Z6m$U= zxymapE^Z!~due89IFr_>8^CYmPfe4yDFS#VU9Iz9yBqr2Iy;vOkmH;PM>ow`SL^9) zO)HU%{?|yPuo=OYpKHyoXprPt#o_18miUVoA9|a{8tF$A@%v94gQ7rR{eSFtM%ChB zTp~c@7oo-`)FK+SckfQbaXJU84LItL#msZfsG@D0Oj4gId;LEZpQlI+_CC$UU7RhQ*Cp&DRf{XkmmIAyx+%& z`?`ixkqf`w37o;m%*<5-Yh*=Ya`K_x7-rv@h{pn?r{eI43*GGA_syF({QXtzXwsKl z!za;>3F-%Zk)OD~_Yv43f_0*QayVEUo8h}I9it{mW}{G!*$f^Asl!-Zh452Wj+cBS507CNZR$;mOEot>>qPELmF&$7h- z8Z=4(?d{sEd{E)bmoG8@#E@+(t^*3mE!^_QHefg{y##rq23;q&gjvHE-bX(E zvhwm>xYVgM7ra~|yTI4+!-iz4y}i9CiZI_9``UYkZntyCUc8HPiFxCo4Q3AQjqrAh zY);btFQCr6ot*X`VwJ+9*xA{eT)pgsl6CkOAw9_>?g5J)pN{I<) zBbjg`Nv?Ac((UFIy%xa7&COi`Ziutu;$p$czriZ01mQ=PFn2XreC|3&tLd;fR27#DB5pw?`)AUs*Ch9l^|DkSoilP+@NN}vwQ1wi4WHV zQC(GX_=vr)Q-|&x`73G$jkQg)h+en!Hqa_DF)#}F1qCaf@mdc=|95Dqa!x){gPH9i zV?*@s?CcCa=UDfQ;>({^lRK>E`$Aa8!5j0X-)jQn9K02n>Gh~mM-=~$7n|9(dh5q(xz!}!$cOQx>lSO8&29Qa3sVRl#U`5>d>-R@@cqLW+l z;(d!w?&$VMEF$J~t+gv+8XsV{?8ru2S|d~JC>#duN0fr9rfIA8p7Tl=%Gd3;5j0gl{XL5?BJu6<1x?2-qq(_DB``o0$ZvvMLIO9-U1 zd6d|i9A}^+H8r)kJDR5HRm9&(C(P`7S@DU`^@^L8&J~|i`@^OFubQrXB=Ll=oE|>b z45}!+k*4V9QB6xrWB(IPbMtlHC3?&a)797Fxhk|f<{5m`_ui>+{L1vYiY2LMd}NoY zboL%S!X5F}uzJDy!A(_F)sTZUP2bdXfhpNLe+^eEK^Zu{>b378}kxR2~IUYSK2z(A(l~$p-r=?pVK$uNQ(Rq zRZ+Cxo{=Kjo~1OtgclqpCa(qO7Z9Lid6|A$NByGW2vO^HENWk zTXF@B`YoS&1t?Y_vqom~3;n9`!B-Yc=MWRlqSo8v{=#7vWFtq~fvn216}{qjJ>fh2 zFtexKCtYFglhe~IEZ`XB=mSi#Ail))ksMi#zx!U(U3HS8YwV(pGNhKVZ-fevUUyuD zscL_C5ZdJx$a@hH&)tc^5eVxxgj&R7JFcUnV+&oHJW+KyzL`I{)HLjhLvf6yX2y|L zUTfl{P$Mf^Elt1)^QAB5 zBn_LX4(A&pbD1OhV6Qj;eJ{Z4VJRtRUgN*-N=Ed zm!eQh_+JV#F)>{{y?ElTttQDSys=}X!ylnt;{MyYeo0?n|01nOr|_Ow48TFS{#$N0 zCng~gAL7QzLm!7D*Ta+Uuzfc(3he$^SBnQ6ulE-0j29wNXoAqj563kmTZVT$?gy-R zux8a$9XFttWbXK3@mpN1toWs`_J*UMNiMoBcuwz6oehWBj6v3`lwUvGqcS)O%&9aj zm}QzP=b0^AuWGPvnA?63o^%vQ?p`}eRE(w;7IT>5Fc&x~Zo-8npAR|;AhmRLJ;c8S zs9opyrH-vBxLM?WAwF{yhe>^qG{QB;Xfx&)@P6Bfmpb^`j z4W#fow4?ScpWNMCEUkHnJcOq`X2 zI6QD8e9-!)5RSZcfB0{v+IzbXHC99z6PMZoR3aQr+Vw{k-}Tj`SuBH<_^cyO3bm}P zEKRM9&*DM`ZL?c?_cftG+wW&KQU3t^H^fpO*4RYqla z&qO?IFVqDWYV-w}Ej9%==cJjS9rS5~uViw=rf#k*h4pBJUspnzK#`(YBgZ5lCg;_D zhU)*dez-}})zuxKJ0s8;BYM?;FW(9;Bqb#s6869RM~E1C&yN)pzpLQ9@Qc4ByD5C3 z$y-!KRaNqxNJhfDs{rPn^JL5FJCj}VDs_X~X^n%c{GpcA>CBxsE3c>@9OGGs2&ZzWT%c_H{Vw7jz2Kpb`zf5@pu`nkmrCeBRLt08C!I} zRBbct`S$JG3!4NED>O%uj-DmNWc-fen0qk{dhxJ~De1GP5qLeWrS1*P=mu8LH2-z3 zPgZtHK09Neoaravratl@v%e-2NGo%+u&{U`v;AQE3$-WrdP&%R;zv`t2kHh6`7t}S zvoQS^?$gt>u`cLltUI)%8OO3>xZFqIzwSoW|Xgz_4y>+mdCz zJD;XjAd@$GSplWnCy=r>4j$I%Iap{qY?-afs@dfc>tvHAzsg^#uS!qH>-H0%?RmV)N#m;xP5b5OV2-G&Zx#bJ`SaG zB9JPe3YNHB4iRNzXW#nXbktycnqa|`l36*oFYjL8?q2^<1(Th&qfOOd zeb2jUU8ycC4+fQQxA;c^W?_8e5FGCWuY-9zE)adO-xOl>jt#nh4(1bqtDjq?QszIq?K%a$i5pz46Tg;HEQ5QhlRM~ZFLJW8mnDR;q^i*VA_E_mOa|(l z=K4Uq;x}(yE$miTdu`V)9lb2}X*R4d{RkiTlb;yv@WB3Dy_0}w2PPXX3t`U&A26`K1Rqd@wkS2DHC!%{Mr{nK1p->-cULonVJ7S- z%jT>ZrB=$h9&dUW1->Y(Ww;XrSz-MHJ?@7+lzPXR)o?d5);s+Nb2o5By43j3KUSd9coEPpb+?enY zqjhm~Y_{o7;>^OIgMe>q^2xMOF4;cT_q^*P&^B^qS`Vj86d!L~7K-L%Wo^KwljDMX z8{ABT2MXCXV0DeUJE)_?%8~y}XUnoq4&er&_~36}Ai0%jfxdHp`#k<`Fo+347Hb8Z~@Y7Re9nQ$=_Zptsy z4hsYQq1<1;G8mn}*BRmYNjl0W@F!26l(USXa;K;f@nFH2N*cccXb&awf^erKl3*CVz0ZXmE)IoD9fLk$mdB! z=hjh#bDOE@W{@LM)Ru-xEb=HncLK(rdUqvN+lNq()(7S!Z|D|DwuXEG$ipmoW_n1;WO*kk*FpSh6%BWI_y|tY$}TyW`;=X=X2m>qpI|w@ zN9Z#`m)TJcMHw^$C34;#0u>USSLhG)@@No{T4C(3!VqVs@gRdKDxJaQwA2Wt0g#qd z*7_(-{&KjvMNH8-W>-b>SPlNGXjzuvF?>^N3 zUYyG64cIanoj8C?~I6x7ng2F_P{$dWut$u9ZAzerHH%k*~R~h zRXt{xB|nbFzQwNU=EQ6-l6KBzJqHz4X;7+R|M7X^x5i!5fAFst@a!h?dzZB%pJ&er zvyJWXd)3L;`w0HQgSg$PLMEC!XCNM|S`mr%EA2?2V+6$#)CVp-6c(rCQ{_vk8S%TX zC3HF_(9P}QTY83eYb<)iy}TIh1->*eYI|zJT!E%DMg=pCUcaV^Wf(Cvxt;S73y6lI zfV8OjT6vqjKi;}h072MPvd;L1>7VWd5v);L;{AoD`X&3?RAra7iR;Yx>B0%`bqP$n zX}Yb;YH=?i>ga(C(d5t59~lsufq{V)gVwz4AM(B?kt{!&9(7M0)z0DJVV9>f2ON!p zoP0Z*wb&$DfCd`E@qn@(evNn`B=lFB7=rWkY2)+AUzQD62^~X5Fc8Yr$dS*Qy`-U} zbSIJrLPA138{#n)JJ?f{V2Tq742?t>hI8%JEn&8NMv6EP7($bS^rnQeH)QPwrdab_ z@pK)GXD)w5f#|h!%#e0hOUoRXen;#W-F6Ch4Wr`mByxLi5BnW;{WD`Oyt)e5Mo-AN=-Om_mfOhlze;k-Q{beoX?6AzxUZO`;>t+^)PK_>9N zYhw%K^=M+m&;KgriUg?=;9v~1DFY2`l#kn?2Bvs@eLb`qO;L&l!UH^dL~95X9UlWf zED0+QiF|;KqTxr#Nkl5-J^VQli}C>e!T$|?(!NI@a$xB~hIhR_3JwmA`MIPsAACF{ zddT;MR{Yl!NE;G(K$-JxF>^Uti;B#iU(^}?{FGv#}nNHiq?|f z@0)_W4k{|@oK*^$@ZYOJ!KGWP-HD<=OgreK*Be8cgQ@dFrtfCT96#No{>gCyKI5aH z0KzElXd&OBp)$|ho3xFSMA4YegDC79ai*-6xmvz0Z>iocqg{4g*u>g*!{dk2S> zjEszKx>JZdGp5~rDE0P#|B1EQPqI~*oDBAOE^D&ZP|=-U;Ew^Z42}J9*uIQZwiGS{ zhaer=jGqgLdy%X3#GRje!9l)foDsrd(%{;2coB$8hY38;3wHdwxyynZ)z~T}patQ} zeE9HT?)v5?4_^U*Mg0e504=0*<)6SzH^+s@?&e_HgNWPeZz`A=5Hv74GU9p}!IJrn z^TOA*QDbC${KVW<6aw&^D0rcelav2lKJrOjNkRcq+SiWw@NjS(N6;Y?Q&S2eqN0)? z=bivoVM9YhG2r|de!&0){*zD{WGE&A2s#BtTFBAdu2;#>AV6_#H0hq3o5O3{M+d?b z{rqkq$^D)t`j5hbOok2&AKK1|0hFgQLR z15i3*D4LnGi_2kgDCtx_WVgicb%;bR1q_g6nB+*x;H2MRTP{;xhe}2U6KIP@*8S(b?JS zp|N~b?^r(ONQAk5i-(vC^6q>KBsYIyb)aXnOiWJ)zHnJ=e)xh<&$eRQvH5&*W~Py{ z4h!`Z0hXzvLHn5e&LkOu7L>$kd~WIBu!mHnC%BX*2-+lwkjpJAD|={loTChPI^vGWq44~aZgPA=WJ)^%ZU#~(0vDt zq(Pgjuc>K%1sX`&Y30~=JlD}&`HF^xgR)8kHN*%?Y_tIf^Dppc6e;I>dF(Z&DYRy4 zDnV!ez|Db_3)ygp(x0QXZtuY?$p=W;=j5qADb(OLB2Q1xho^KHFp|d(4HPYNWb7Ni zENILn!&@hVlJ7PL+@Sn`ozP<^YgiC8oihleM-inET)5nVf&vAoF!0>g-roMyM=Z*O zYx;TFmyD^|Akg+(!RjFiZA>AF3|_W?7_Ekbs%rm}{J=4G7c9^#Cc({HJNLaLmq0on zgAS^R4VGJ-oa=9{Hu{qfM|Sx~jA$;a-u4R!^7EI4VtxYbv%!6nS5#!T|9IEoO2n2E zFW_jkD{bCcFcy$HTK8^Ra3F)5H7oB;%Q)Pjkb>Q#`Nnq+L1=&q(?jFCttk$(W}iIT zaz$RM;4#a)>$4LuoZA~rWSs|N=MYx|SoOXY=oV~?9?BnsZ@GYpo$%qS%TZgHT-0B*Xt-+4)0 zU0we7)(KSTGEb>l%k}K>@v$JYda4I60xtDrcW)2xeaoVagM&lN&e64pGPr+FJFwxz zq8UT=g=#6sreT)0(6>?o`0_6dL7%>rnVIPeZWPn^EiV@c+vJdhrAl{%W zg`~iUpU6{EQPqoI%)isvxij+Ac>KrRl8RrCWJ(ORa1~Am6*u+l+?=S9k&yrw=#ZTx zOkB+HK?hZ4Tz?P;inn2bi&7p2l2HL0XYZ%&d>!EUZQKU6_LGRQv9YH_EH9g*wtPut zXhAPHYRmUnVbZd(+4`8suAkXk=rGKV(h&ZXN}$=q(C{h`q&px(%P{Y&1 zqq)_pH(t1sdmBHT+7Vtejz@d5OW}0U>WpYW)&C1 z?G~ZSN`{)n?wbfFemZWOl+vs+W%$@ zgPwpIKA;tU@4??3p(FyP9Ph<4|A4PO>3MeP-wF?DU-tXyLLHCfj|!6b#j7us=<&gmE%Qw57+qX9hx z4pXHR{oDhb3VBCHd80zTjsp4y97%-I_@xSYaXRnCK#X4rGWolQhZl?bl#? zlgk=_u}OmuNYRNs+@8qebgJ1HdeL{gB~o`MzN6Ofs45Lv6Qb&Nvrc;J8@=X}^p+yb z5{FNH93uog*%PUfuU!Q4Eh@|j%38!kM?NN>yIzli`QDeV*Kr0MQ)DsSsFel-&!W1T z!BmWiHbyW!*Jt%=E9)>!^nVAB_@4YN0uT5<9`%QT?f*KA^nX3{d-VYiz>Um*z)H8# Qd;A||`ImC#G8P~IA7%MrKL7v# diff --git a/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png b/osu.Game.Rulesets.Taiko.Tests/Resources/special-skin/taikohitcircleoverlay.png deleted file mode 100644 index 2626c394dcdccdb7d74da5460ec3f6d6570ad9a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66281 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 z 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�kcUrvy?Ky7PM-eKS~7g% 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 From 773ec469898c9d616c2211723ebb3a9742dc76c0 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 11 Sep 2023 23:59:44 +0900 Subject: [PATCH 024/106] Expose some storyboard pieces to allow better testability --- osu.Game/Storyboards/Drawables/DrawableStoryboard.cs | 4 +++- osu.Game/Storyboards/Drawables/DrawableStoryboardLayer.cs | 5 ++++- osu.Game/Storyboards/Storyboard.cs | 2 +- osu.Game/Storyboards/StoryboardVideo.cs | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs index 6931cea81e..a11251ed22 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs @@ -23,7 +23,9 @@ namespace osu.Game.Storyboards.Drawables { public partial class DrawableStoryboard : Container { - [Cached] + public Vector2 AppliedScale { get; private set; } + + [Cached(typeof(Storyboard))] public Storyboard Storyboard { get; } ///

diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardLayer.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardLayer.cs index 38e7ff1c70..40842fe7ed 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardLayer.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardLayer.cs @@ -1,6 +1,7 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. +using System.Collections.Generic; using System.Threading; using osu.Framework.Allocation; using osu.Framework.Graphics; @@ -30,10 +31,12 @@ namespace osu.Game.Storyboards.Drawables InternalChild = ElementContainer = new LayerElementContainer(layer); } - protected partial class LayerElementContainer : LifetimeManagementContainer + public partial class LayerElementContainer : LifetimeManagementContainer { private readonly StoryboardLayer storyboardLayer; + public IEnumerable Elements => InternalChildren; + public LayerElementContainer(StoryboardLayer layer) { storyboardLayer = layer; diff --git a/osu.Game/Storyboards/Storyboard.cs b/osu.Game/Storyboards/Storyboard.cs index 1892855d3d..03e30d6272 100644 --- a/osu.Game/Storyboards/Storyboard.cs +++ b/osu.Game/Storyboards/Storyboard.cs @@ -86,7 +86,7 @@ namespace osu.Game.Storyboards } } - public DrawableStoryboard CreateDrawable(IReadOnlyList? mods = null) => + public virtual DrawableStoryboard CreateDrawable(IReadOnlyList? mods = null) => new DrawableStoryboard(this, mods); private static readonly string[] image_extensions = { @".png", @".jpg" }; diff --git a/osu.Game/Storyboards/StoryboardVideo.cs b/osu.Game/Storyboards/StoryboardVideo.cs index 4652e45852..8c11e19a06 100644 --- a/osu.Game/Storyboards/StoryboardVideo.cs +++ b/osu.Game/Storyboards/StoryboardVideo.cs @@ -14,7 +14,7 @@ namespace osu.Game.Storyboards public double StartTime { get; } - public StoryboardVideo(string path, int offset) + public StoryboardVideo(string path, double offset) { Path = path; StartTime = offset; From 2f020f8682aece5fcf4b54f879c4492149485ff6 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 19 Sep 2023 19:44:41 +0900 Subject: [PATCH 025/106] Add test coverage of storyboard preferring skin when specified --- .../TestSceneDrawableStoryboardSprite.cs | 176 +++++++++++++++--- 1 file changed, 150 insertions(+), 26 deletions(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs index ec4bb1a86b..d20c7c2f7a 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs @@ -2,17 +2,23 @@ // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; +using System.IO; using System.Linq; +using System.Threading; +using System.Threading.Tasks; using NUnit.Framework; using osu.Framework.Allocation; using osu.Framework.Extensions.IEnumerableExtensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Sprites; +using osu.Framework.IO.Stores; using osu.Framework.Testing; using osu.Game.Rulesets; +using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Osu; using osu.Game.Storyboards; using osu.Game.Storyboards.Drawables; +using osu.Game.Tests.Resources; using osuTK; namespace osu.Game.Tests.Visual.Gameplay @@ -21,17 +27,21 @@ namespace osu.Game.Tests.Visual.Gameplay { protected override Ruleset CreateRulesetForSkinProvider() => new OsuRuleset(); - [Cached] - private Storyboard storyboard { get; set; } = new Storyboard(); + [Cached(typeof(Storyboard))] + private TestStoryboard storyboard { get; set; } = new TestStoryboard(); private IEnumerable sprites => this.ChildrenOfType(); + private const string lookup_name = "hitcircleoverlay"; + [Test] public void TestSkinSpriteDisallowedByDefault() { - const string lookup_name = "hitcircleoverlay"; - - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = false); + AddStep("disallow all lookups", () => + { + storyboard.UseSkinSprites = false; + storyboard.AlwaysProvideTexture = false; + }); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); @@ -40,11 +50,13 @@ namespace osu.Game.Tests.Visual.Gameplay } [Test] - public void TestAllowLookupFromSkin() + public void TestLookupFromStoryboard() { - const string lookup_name = "hitcircleoverlay"; - - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = true); + AddStep("allow storyboard lookup", () => + { + storyboard.UseSkinSprites = false; + storyboard.AlwaysProvideTexture = true; + }); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); @@ -52,16 +64,54 @@ namespace osu.Game.Tests.Visual.Gameplay AddAssert("sprite found texture", () => sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Texture != null))); - AddAssert("skinnable sprite has correct size", () => - sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Size == new Vector2(128)))); + assertStoryboardSourced(); + } + + [Test] + public void TestSkinLookupPreferredOverStoryboard() + { + AddStep("allow all lookups", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = true; + }); + + AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); + + // Only checking for at least one sprite that succeeded, as not all skins in this test provide the hitcircleoverlay texture. + AddAssert("sprite found texture", () => + sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Texture != null))); + + assertSkinSourced(); + } + + [Test] + public void TestAllowLookupFromSkin() + { + AddStep("allow skin lookup", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = false; + }); + + AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); + + // Only checking for at least one sprite that succeeded, as not all skins in this test provide the hitcircleoverlay texture. + AddAssert("sprite found texture", () => + sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Texture != null))); + + assertSkinSourced(); } [Test] public void TestFlippedSprite() { - const string lookup_name = "hitcircleoverlay"; + AddStep("allow all lookups", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = true; + }); - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = true); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); AddStep("flip sprites", () => sprites.ForEach(s => { @@ -74,9 +124,12 @@ namespace osu.Game.Tests.Visual.Gameplay [Test] public void TestZeroScale() { - const string lookup_name = "hitcircleoverlay"; + AddStep("allow all lookups", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = true; + }); - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = true); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); AddAssert("sprites present", () => sprites.All(s => s.IsPresent)); AddStep("scale sprite", () => sprites.ForEach(s => s.VectorScale = new Vector2(0, 1))); @@ -86,9 +139,12 @@ namespace osu.Game.Tests.Visual.Gameplay [Test] public void TestNegativeScale() { - const string lookup_name = "hitcircleoverlay"; + AddStep("allow all lookups", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = true; + }); - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = true); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); AddStep("scale sprite", () => sprites.ForEach(s => s.VectorScale = new Vector2(-1))); AddAssert("origin flipped", () => sprites.All(s => s.Origin == Anchor.BottomRight)); @@ -97,9 +153,12 @@ namespace osu.Game.Tests.Visual.Gameplay [Test] public void TestNegativeScaleWithFlippedSprite() { - const string lookup_name = "hitcircleoverlay"; + AddStep("allow all lookups", () => + { + storyboard.UseSkinSprites = true; + storyboard.AlwaysProvideTexture = true; + }); - AddStep("allow skin lookup", () => storyboard.UseSkinSprites = true); AddStep("create sprites", () => SetContents(_ => createSprite(lookup_name, Anchor.TopLeft, Vector2.Zero))); AddStep("scale sprite", () => sprites.ForEach(s => s.VectorScale = new Vector2(-1))); AddAssert("origin flipped", () => sprites.All(s => s.Origin == Anchor.BottomRight)); @@ -111,13 +170,78 @@ namespace osu.Game.Tests.Visual.Gameplay AddAssert("origin back", () => sprites.All(s => s.Origin == Anchor.TopLeft)); } - private DrawableStoryboardSprite createSprite(string lookupName, Anchor origin, Vector2 initialPosition) - => new DrawableStoryboardSprite( - new StoryboardSprite(lookupName, origin, initialPosition) - ).With(s => + private DrawableStoryboard createSprite(string lookupName, Anchor origin, Vector2 initialPosition) + { + var layer = storyboard.GetLayer("Background"); + + var sprite = new StoryboardSprite(lookupName, origin, initialPosition); + sprite.AddLoop(Time.Current, 100).Alpha.Add(Easing.None, 0, 10000, 1, 1); + + layer.Elements.Clear(); + layer.Add(sprite); + + return storyboard.CreateDrawable(); + } + + private void assertStoryboardSourced() + { + AddAssert("sprite came from storyboard", () => + sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Size == new Vector2(200)))); + } + + private void assertSkinSourced() + { + AddAssert("sprite came from skin", () => + sprites.Any(sprite => sprite.ChildrenOfType().All(s => s.Size == new Vector2(128)))); + } + + private partial class TestStoryboard : Storyboard + { + public override DrawableStoryboard CreateDrawable(IReadOnlyList? mods = null) { - s.LifetimeStart = double.MinValue; - s.LifetimeEnd = double.MaxValue; - }); + return new TestDrawableStoryboard(this, mods); + } + + public bool AlwaysProvideTexture { get; set; } + + public override string GetStoragePathFromStoryboardPath(string path) => AlwaysProvideTexture ? path : string.Empty; + + private partial class TestDrawableStoryboard : DrawableStoryboard + { + private readonly bool alwaysProvideTexture; + + public TestDrawableStoryboard(TestStoryboard storyboard, IReadOnlyList? mods) + : base(storyboard, mods) + { + alwaysProvideTexture = storyboard.AlwaysProvideTexture; + } + + protected override IResourceStore CreateResourceLookupStore() => alwaysProvideTexture + ? new AlwaysReturnsTextureStore() + : new ResourceStore(); + + internal class AlwaysReturnsTextureStore : IResourceStore + { + private const string test_image = "Resources/Textures/test-image.png"; + + private readonly DllResourceStore store; + + public AlwaysReturnsTextureStore() + { + store = TestResources.GetStore(); + } + + public void Dispose() => store.Dispose(); + + public byte[] Get(string name) => store.Get(test_image); + + public Task GetAsync(string name, CancellationToken cancellationToken = new CancellationToken()) => store.GetAsync(test_image, cancellationToken); + + public Stream GetStream(string name) => store.GetStream(test_image); + + public IEnumerable GetAvailableResources() => store.GetAvailableResources(); + } + } + } } } From 4a7dc4d7927aaba2b1f527e6b2939fa179189535 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 19 Sep 2023 19:13:58 +0900 Subject: [PATCH 026/106] Fix storyboard `UseSkinSprites` being implemented incorrectly This was implemented as a "fallback", but it's actually intended to be an "override". As in it allows storyboarders to *prefer* a skin sprite before falling back to a local version contained within the storyboard. Can be tested with https://osu.ppy.sh/beatmapsets/832364#osu/1743837. Closes https://github.com/ppy/osu/issues/24813. --- .../Drawables/DrawableStoryboardSprite.cs | 23 ++++++++++++------- osu.Game/Storyboards/Storyboard.cs | 2 +- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs index 379de1a497..14132654d1 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using System; +using System.ComponentModel; using osu.Framework.Allocation; using osu.Framework.Extensions.ObjectExtensions; using osu.Framework.Graphics; @@ -74,6 +75,15 @@ namespace osu.Game.Storyboards.Drawables public override bool IsPresent => !float.IsNaN(DrawPosition.X) && !float.IsNaN(DrawPosition.Y) && base.IsPresent; + [Resolved] + private ISkinSource skin { get; set; } = null!; + + [Resolved] + private Storyboard storyboard { get; set; } = null!; + + [Resolved] + private TextureStore textureStore { get; set; } = null!; + public DrawableStoryboardSprite(StoryboardSprite sprite) { Sprite = sprite; @@ -84,24 +94,21 @@ namespace osu.Game.Storyboards.Drawables LifetimeEnd = sprite.EndTimeForDisplay; } - [Resolved] - private ISkinSource skin { get; set; } = null!; - [BackgroundDependencyLoader] - private void load(TextureStore textureStore, Storyboard storyboard) + private void load() { - Texture = textureStore.Get(Sprite.Path); - - if (Texture == null && storyboard.UseSkinSprites) + if (storyboard.UseSkinSprites) { skin.SourceChanged += skinSourceChanged; skinSourceChanged(); } + else + Texture = textureStore.Get(Sprite.Path); Sprite.ApplyTransforms(this); } - private void skinSourceChanged() => Texture = skin.GetTexture(Sprite.Path); + private void skinSourceChanged() => Texture = skin.GetTexture(Sprite.Path) ?? textureStore.Get(Sprite.Path); protected override void Dispose(bool isDisposing) { diff --git a/osu.Game/Storyboards/Storyboard.cs b/osu.Game/Storyboards/Storyboard.cs index 03e30d6272..21342831b0 100644 --- a/osu.Game/Storyboards/Storyboard.cs +++ b/osu.Game/Storyboards/Storyboard.cs @@ -18,7 +18,7 @@ namespace osu.Game.Storyboards public BeatmapInfo BeatmapInfo = new BeatmapInfo(); /// - /// Whether the storyboard can fall back to skin sprites in case no matching storyboard sprites are found. + /// Whether the storyboard should prefer textures from the current skin before using local storyboard textures. /// public bool UseSkinSprites { get; set; } From 8e16b1d50784e62123d4ab308985b186e3c4ecb3 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 20 Sep 2023 12:48:15 +0900 Subject: [PATCH 027/106] Simplify some maximum size specs --- .../Skinning/Legacy/LegacyFruitPiece.cs | 13 +++++++++---- .../HitCircles/Components/HitCircleOverlapMarker.cs | 2 +- .../HitCircles/Components/HitCirclePiece.cs | 2 +- .../Objects/Drawables/DrawableHitCircle.cs | 2 +- .../Objects/Drawables/DrawableSliderBall.cs | 2 +- .../Objects/Drawables/DrawableSliderRepeat.cs | 2 +- .../Objects/Drawables/DrawableSliderTail.cs | 2 +- .../Objects/Drawables/DrawableSliderTick.cs | 2 +- osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs | 5 +++++ .../Skinning/Argon/ArgonMainCirclePiece.cs | 2 +- .../Skinning/Argon/ArgonReverseArrow.cs | 2 +- .../Skinning/Default/CirclePiece.cs | 3 +-- .../Skinning/Default/ExplodePiece.cs | 3 +-- .../Skinning/Default/FlashPiece.cs | 3 +-- .../Skinning/Default/MainCirclePiece.cs | 3 +-- .../Skinning/Default/ReverseArrowPiece.cs | 2 +- osu.Game.Rulesets.Osu/Skinning/Default/RingPiece.cs | 3 +-- .../Skinning/Legacy/LegacyApproachCircle.cs | 2 +- .../Skinning/Legacy/LegacyMainCirclePiece.cs | 9 +++------ .../Skinning/Legacy/LegacyReverseArrow.cs | 3 +-- .../Skinning/Legacy/LegacySliderBall.cs | 5 ++--- .../Skinning/Legacy/OsuLegacySkinTransformer.cs | 4 ++-- .../UI/Cursor/CursorRippleVisualiser.cs | 2 +- 23 files changed, 39 insertions(+), 39 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs index eacda1dc64..62097d79bd 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyFruitPiece.cs @@ -26,21 +26,26 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy switch (visualRepresentation) { case FruitVisualRepresentation.Pear: - SetTexture(Skin.GetTexture("fruit-pear")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-pear-overlay")?.WithMaximumSize(fruit_max_size)); + setTextures("pear"); break; case FruitVisualRepresentation.Grape: - SetTexture(Skin.GetTexture("fruit-grapes")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-grapes-overlay")?.WithMaximumSize(fruit_max_size)); + setTextures("grapes"); break; case FruitVisualRepresentation.Pineapple: - SetTexture(Skin.GetTexture("fruit-apple")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-apple-overlay")?.WithMaximumSize(fruit_max_size)); + setTextures("apple"); break; case FruitVisualRepresentation.Raspberry: - SetTexture(Skin.GetTexture("fruit-orange")?.WithMaximumSize(fruit_max_size), Skin.GetTexture("fruit-orange-overlay")?.WithMaximumSize(fruit_max_size)); + setTextures("orange"); break; } + + void setTextures(string fruitName) => SetTexture( + Skin.GetTexture($"fruit-{fruitName}")?.WithMaximumSize(fruit_max_size), + Skin.GetTexture($"fruit-{fruitName}-overlay")?.WithMaximumSize(fruit_max_size) + ); } } } diff --git a/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCircleOverlapMarker.cs b/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCircleOverlapMarker.cs index e5cc8595d1..3cba0610a1 100644 --- a/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCircleOverlapMarker.cs +++ b/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCircleOverlapMarker.cs @@ -41,7 +41,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.HitCircles.Components { Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; InternalChild = content = new Container { diff --git a/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCirclePiece.cs b/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCirclePiece.cs index 670e98ca50..c585f09b00 100644 --- a/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Edit/Blueprints/HitCircles/Components/HitCirclePiece.cs @@ -16,7 +16,7 @@ namespace osu.Game.Rulesets.Osu.Edit.Blueprints.HitCircles.Components { Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; CornerRadius = Size.X / 2; CornerExponent = 2; diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs index 3458069dd1..999979c491 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs @@ -242,7 +242,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables public HitReceptor() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs index d06fb5b4de..47214f1e53 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderBall.cs @@ -37,7 +37,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Children = new[] { diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs index fc4863f164..5721328057 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs @@ -50,7 +50,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables private void load() { Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; AddInternal(scaleContainer = new Container { diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs index d9501f7d58..9fbc97c484 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTail.cs @@ -55,7 +55,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables private void load() { Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; AddRangeInternal(new Drawable[] { diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTick.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTick.cs index 6d0ae93e62..a947580d2f 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTick.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderTick.cs @@ -41,7 +41,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables [BackgroundDependencyLoader] private void load() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Origin = Anchor.Centre; AddInternal(scaleContainer = new SkinnableDrawable(new OsuSkinComponentLookup(OsuSkinComponents.SliderScorePoint), _ => new CircularContainer diff --git a/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs b/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs index fd5741698a..0bdbfaa760 100644 --- a/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs +++ b/osu.Game.Rulesets.Osu/Objects/OsuHitObject.cs @@ -21,6 +21,11 @@ namespace osu.Game.Rulesets.Osu.Objects /// public const float OBJECT_RADIUS = 64; + /// + /// The width and height any element participating in display of a hitcircle (or similarly sized object) should be. + /// + public static readonly Vector2 OBJECT_DIMENSIONS = new Vector2(OBJECT_RADIUS * 2); + /// /// Scoring distance with a speed-adjusted beat length of 1 second (ie. the speed slider balls move through their track). /// diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonMainCirclePiece.cs index 3427031dc8..7508a689d2 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonMainCirclePiece.cs @@ -48,7 +48,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon private Bindable configHitLighting = null!; - private static readonly Vector2 circle_size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + private static readonly Vector2 circle_size = OsuHitObject.OBJECT_DIMENSIONS; [Resolved] private DrawableHitObject drawableObject { get; set; } = null!; diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index f93e26b2ca..67fc1b2304 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -27,7 +27,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon Anchor = Anchor.Centre; Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; InternalChildren = new Drawable[] { diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/CirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/CirclePiece.cs index f4761e0ea8..65a7b1328b 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/CirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/CirclePiece.cs @@ -9,7 +9,6 @@ using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; -using osuTK; namespace osu.Game.Rulesets.Osu.Skinning.Default { @@ -22,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default public CirclePiece() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Masking = true; CornerRadius = Size.X / 2; diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/ExplodePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/ExplodePiece.cs index 91bf75617a..7beb16f7d7 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/ExplodePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/ExplodePiece.cs @@ -7,7 +7,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; -using osuTK; namespace osu.Game.Rulesets.Osu.Skinning.Default { @@ -20,7 +19,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default public ExplodePiece() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/FlashPiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/FlashPiece.cs index 789137117e..86087ac50d 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/FlashPiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/FlashPiece.cs @@ -5,7 +5,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Game.Rulesets.Osu.Objects; -using osuTK; namespace osu.Game.Rulesets.Osu.Skinning.Default { @@ -13,7 +12,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default { public FlashPiece() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs index 20fa4e5342..bcea33f63c 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/MainCirclePiece.cs @@ -9,7 +9,6 @@ using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Default @@ -25,7 +24,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default public MainCirclePiece() { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs index 3fe7872ff7..27868db2f6 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs @@ -27,7 +27,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default Anchor = Anchor.Centre; Origin = Anchor.Centre; - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Child = new SkinnableDrawable(new OsuSkinComponentLookup(OsuSkinComponents.ReverseArrow), _ => new SpriteIcon { diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/RingPiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/RingPiece.cs index 46d48f62e7..c3bbd89ab6 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/RingPiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/RingPiece.cs @@ -5,7 +5,6 @@ using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Game.Rulesets.Osu.Objects; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Default @@ -14,7 +13,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default { public RingPiece(float thickness = 9) { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); + Size = OsuHitObject.OBJECT_DIMENSIONS; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs index cdc61ebd9b..403a14214e 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyApproachCircle.cs @@ -21,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy private DrawableHitObject drawableObject { get; set; } = null!; public LegacyApproachCircle() - : base("Gameplay/osu/approachcircle", new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) + : base("Gameplay/osu/approachcircle", OsuHitObject.OBJECT_DIMENSIONS) { } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs index 18010cdb2c..8990204931 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyMainCirclePiece.cs @@ -14,15 +14,12 @@ using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; using osu.Game.Skinning; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy { public partial class LegacyMainCirclePiece : CompositeDrawable { - private static readonly Vector2 circle_piece_size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2); - public override bool RemoveCompletedTransforms => false; /// @@ -53,7 +50,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy this.priorityLookupPrefix = priorityLookupPrefix; this.hasNumber = hasNumber; - Size = circle_piece_size; + Size = OsuHitObject.OBJECT_DIMENSIONS; } [BackgroundDependencyLoader] @@ -70,7 +67,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy // expected behaviour in this scenario is not showing the overlay, rather than using hitcircleoverlay.png. InternalChildren = new[] { - CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName)?.WithMaximumSize(circle_piece_size) }) + CircleSprite = new LegacyKiaiFlashingDrawable(() => new Sprite { Texture = skin.GetTexture(circleName)?.WithMaximumSize(OsuHitObject.OBJECT_DIMENSIONS) }) { Anchor = Anchor.Centre, Origin = Anchor.Centre, @@ -79,7 +76,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Child = OverlaySprite = new LegacyKiaiFlashingDrawable(() => skin.GetAnimation(@$"{circleName}overlay", true, true, frameLength: 1000 / 2d, maxSize: circle_piece_size)) + Child = OverlaySprite = new LegacyKiaiFlashingDrawable(() => skin.GetAnimation(@$"{circleName}overlay", true, true, frameLength: 1000 / 2d, maxSize: OsuHitObject.OBJECT_DIMENSIONS)) { Anchor = Anchor.Centre, Origin = Anchor.Centre, diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 293df6b3a0..3a80607522 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -10,7 +10,6 @@ using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; using osu.Game.Skinning; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy @@ -37,7 +36,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy var skin = skinSource.FindProvider(s => s.GetTexture(lookupName) != null); - InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) ?? Empty()); + InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: OsuHitObject.OBJECT_DIMENSIONS) ?? Empty()); textureIsDefaultSkin = skin is ISkinTransformer transformer && transformer.Skin is DefaultLegacySkin; } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs index 145a8a50af..c3beb5bc35 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacySliderBall.cs @@ -10,7 +10,6 @@ using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; using osu.Game.Skinning; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy @@ -48,7 +47,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Texture = skin.GetTexture("sliderb-nd")?.WithMaximumSize(new Vector2(OsuHitObject.OBJECT_RADIUS * 2)), + Texture = skin.GetTexture("sliderb-nd")?.WithMaximumSize(OsuHitObject.OBJECT_DIMENSIONS), Colour = new Color4(5, 5, 5, 255), }, LegacyColourCompatibility.ApplyWithDoubledAlpha(animationContent.With(d => @@ -60,7 +59,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { Anchor = Anchor.Centre, Origin = Anchor.Centre, - Texture = skin.GetTexture("sliderb-spec")?.WithMaximumSize(new Vector2(OsuHitObject.OBJECT_RADIUS * 2)), + Texture = skin.GetTexture("sliderb-spec")?.WithMaximumSize(OsuHitObject.OBJECT_DIMENSIONS), Blending = BlendingParameters.Additive, }, }; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs index 2564dbf335..ea6f6fe6ce 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/OsuLegacySkinTransformer.cs @@ -49,7 +49,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy return null; case OsuSkinComponents.SliderBall: - var sliderBallContent = this.GetAnimation("sliderb", true, true, animationSeparator: "", maxSize: new Vector2(OsuHitObject.OBJECT_RADIUS * 2)); + var sliderBallContent = this.GetAnimation("sliderb", true, true, animationSeparator: "", maxSize: OsuHitObject.OBJECT_DIMENSIONS); // todo: slider ball has a custom frame delay based on velocity // Math.Max((150 / Velocity) * GameBase.SIXTY_FRAME_TIME, GameBase.SIXTY_FRAME_TIME); @@ -139,7 +139,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy if (!this.HasFont(LegacyFont.HitCircle)) return null; - return new LegacySpriteText(LegacyFont.HitCircle, new Vector2(OsuHitObject.OBJECT_RADIUS * 2)) + return new LegacySpriteText(LegacyFont.HitCircle, OsuHitObject.OBJECT_DIMENSIONS) { // stable applies a blanket 0.8x scale to hitcircle fonts Scale = new Vector2(0.8f), diff --git a/osu.Game.Rulesets.Osu/UI/Cursor/CursorRippleVisualiser.cs b/osu.Game.Rulesets.Osu/UI/Cursor/CursorRippleVisualiser.cs index 076d97d06a..52486b701a 100644 --- a/osu.Game.Rulesets.Osu/UI/Cursor/CursorRippleVisualiser.cs +++ b/osu.Game.Rulesets.Osu/UI/Cursor/CursorRippleVisualiser.cs @@ -95,7 +95,7 @@ namespace osu.Game.Rulesets.Osu.UI.Cursor { new RingPiece(3) { - Size = new Vector2(OsuHitObject.OBJECT_RADIUS * 2), + Size = OsuHitObject.OBJECT_DIMENSIONS, Alpha = 0.1f, } }; From 50adb5f7a7991dcfd84eba98bb28155b65e32175 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 20 Sep 2023 12:54:28 +0900 Subject: [PATCH 028/106] Remove incorrectly merge conflict resolved --- osu.Game/Storyboards/Drawables/DrawableStoryboard.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs index a11251ed22..352246c533 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboard.cs @@ -23,8 +23,6 @@ namespace osu.Game.Storyboards.Drawables { public partial class DrawableStoryboard : Container { - public Vector2 AppliedScale { get; private set; } - [Cached(typeof(Storyboard))] public Storyboard Storyboard { get; } From b5e64d933c9d09196c0553d548e5dde0bbec8ed2 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 20 Sep 2023 12:54:36 +0900 Subject: [PATCH 029/106] Apply same fix to `DrawableStoryboardAnimation` --- .../Drawables/DrawableStoryboardAnimation.cs | 43 ++++++++++++------- .../Drawables/DrawableStoryboardSprite.cs | 6 +-- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs index 054a50456b..33f7a3c6f2 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs @@ -94,25 +94,19 @@ namespace osu.Game.Storyboards.Drawables [Resolved] private IBeatSyncProvider beatSyncProvider { get; set; } + [Resolved] + private TextureStore textureStore { get; set; } + [BackgroundDependencyLoader] - private void load(TextureStore textureStore, Storyboard storyboard) + private void load(Storyboard storyboard) { - int frameIndex = 0; - - Texture frameTexture = textureStore.Get(getFramePath(frameIndex)); - - if (frameTexture != null) + if (storyboard.UseSkinSprites) { - // sourcing from storyboard. - for (frameIndex = 0; frameIndex < Animation.FrameCount; frameIndex++) - AddFrame(textureStore.Get(getFramePath(frameIndex)), Animation.FrameDelay); - } - else if (storyboard.UseSkinSprites) - { - // fallback to skin if required. skin.SourceChanged += skinSourceChanged; skinSourceChanged(); } + else + addFramesFromStoryboardSource(); Animation.ApplyTransforms(this); } @@ -135,11 +129,28 @@ namespace osu.Game.Storyboards.Drawables // When reading from a skin, we match stables weird behaviour where `FrameCount` is ignored // and resources are retrieved until the end of the animation. - foreach (var texture in skin.GetTextures(Path.GetFileNameWithoutExtension(Animation.Path)!, default, default, true, string.Empty, out _)) - AddFrame(texture, Animation.FrameDelay); + var skinTextures = skin.GetTextures(Path.GetFileNameWithoutExtension(Animation.Path)!, default, default, true, string.Empty, out _); + + if (skinTextures.Length > 0) + { + foreach (var texture in skinTextures) + AddFrame(texture, Animation.FrameDelay); + } + else + { + addFramesFromStoryboardSource(); + } } - private string getFramePath(int i) => Animation.Path.Replace(".", $"{i}."); + private void addFramesFromStoryboardSource() + { + int frameIndex; + // sourcing from storyboard. + for (frameIndex = 0; frameIndex < Animation.FrameCount; frameIndex++) + AddFrame(textureStore.Get(getFramePath(frameIndex)), Animation.FrameDelay); + + string getFramePath(int i) => Animation.Path.Replace(".", $"{i}."); + } protected override void Dispose(bool isDisposing) { diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs index 14132654d1..ad344b6bd4 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using System; -using System.ComponentModel; using osu.Framework.Allocation; using osu.Framework.Extensions.ObjectExtensions; using osu.Framework.Graphics; @@ -78,9 +77,6 @@ namespace osu.Game.Storyboards.Drawables [Resolved] private ISkinSource skin { get; set; } = null!; - [Resolved] - private Storyboard storyboard { get; set; } = null!; - [Resolved] private TextureStore textureStore { get; set; } = null!; @@ -95,7 +91,7 @@ namespace osu.Game.Storyboards.Drawables } [BackgroundDependencyLoader] - private void load() + private void load(Storyboard storyboard) { if (storyboard.UseSkinSprites) { From bd66285bd47859569618a26eebbf2563d65d9f93 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 20 Sep 2023 12:59:40 +0900 Subject: [PATCH 030/106] Rename parameter on `LegacySpriteText` to better imply the maximum size is per glyph --- osu.Game/Skinning/LegacySpriteText.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/osu.Game/Skinning/LegacySpriteText.cs b/osu.Game/Skinning/LegacySpriteText.cs index f021a99102..7eb92126fa 100644 --- a/osu.Game/Skinning/LegacySpriteText.cs +++ b/osu.Game/Skinning/LegacySpriteText.cs @@ -13,7 +13,7 @@ namespace osu.Game.Skinning public sealed partial class LegacySpriteText : OsuSpriteText { private readonly LegacyFont font; - private readonly Vector2? maxSize; + private readonly Vector2? maxSizePerGlyph; private LegacyGlyphStore glyphStore = null!; @@ -21,10 +21,10 @@ namespace osu.Game.Skinning protected override char[] FixedWidthExcludeCharacters => new[] { ',', '.', '%', 'x' }; - public LegacySpriteText(LegacyFont font, Vector2? maxSize = null) + public LegacySpriteText(LegacyFont font, Vector2? maxSizePerGlyph = null) { this.font = font; - this.maxSize = maxSize; + this.maxSizePerGlyph = maxSizePerGlyph; Shadow = false; UseFullGlyphHeight = false; @@ -36,7 +36,7 @@ namespace osu.Game.Skinning Font = new FontUsage(skin.GetFontPrefix(font), 1, fixedWidth: true); Spacing = new Vector2(-skin.GetFontOverlap(font), 0); - glyphStore = new LegacyGlyphStore(skin, maxSize); + glyphStore = new LegacyGlyphStore(skin, maxSizePerGlyph); } protected override TextBuilder CreateTextBuilder(ITexturedGlyphLookupStore store) => base.CreateTextBuilder(glyphStore); From 1316403180f1f4f095e71e205221eead5a481912 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 20 Sep 2023 13:02:40 +0900 Subject: [PATCH 031/106] Fix inspection in new test scene --- .../Visual/Gameplay/TestSceneGameplayElementDimensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs index 20e6e5658c..ff7cf2a124 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs @@ -66,7 +66,7 @@ namespace osu.Game.Tests.Visual.Gameplay return texture; } - public ISkin? FindProvider(Func lookupFunction) => this; + public ISkin FindProvider(Func lookupFunction) => this; public IEnumerable AllSources => new[] { this }; } } From d7129da8ea708f5485e023a18012940b1d5d3dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 20 Sep 2023 12:05:23 +0200 Subject: [PATCH 032/106] Fix `TestSceneDrawableStoryboardSprite` not displaying anything --- .../Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs index d20c7c2f7a..32693c2bb2 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneDrawableStoryboardSprite.cs @@ -180,7 +180,7 @@ namespace osu.Game.Tests.Visual.Gameplay layer.Elements.Clear(); layer.Add(sprite); - return storyboard.CreateDrawable(); + return storyboard.CreateDrawable().With(s => s.RelativeSizeAxes = Axes.Both); } private void assertStoryboardSourced() From c4fc4199d190b6bff29d10c65341b9c7a011fca9 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Thu, 21 Sep 2023 19:02:31 +0300 Subject: [PATCH 033/106] Use correct maximum size for droplets --- osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs index 581259a9c4..c6c0839fba 100644 --- a/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs +++ b/osu.Game.Rulesets.Catch/Skinning/Legacy/LegacyDropletPiece.cs @@ -9,7 +9,7 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy { public partial class LegacyDropletPiece : LegacyCatchHitObjectPiece { - private static readonly Vector2 droplet_max_size = new Vector2(100); + private static readonly Vector2 droplet_max_size = new Vector2(82, 103); public LegacyDropletPiece() { From ad86bf2d56cb85e5bd4b84e74a92d1ed63aaf578 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Thu, 21 Sep 2023 19:03:08 +0300 Subject: [PATCH 034/106] Revert redundant size limitations Already handled by the sprites themselves being resized. --- osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs index 83f05fe6ec..5543a31ec9 100644 --- a/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs +++ b/osu.Game.Rulesets.Taiko/Skinning/Legacy/LegacyDrumRoll.cs @@ -9,7 +9,6 @@ using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; using osu.Game.Graphics; using osu.Game.Skinning; -using osuTK; using osuTK.Graphics; namespace osu.Game.Rulesets.Taiko.Skinning.Legacy @@ -48,13 +47,13 @@ namespace osu.Game.Rulesets.Taiko.Skinning.Legacy Anchor = Anchor.CentreRight, Origin = Anchor.CentreLeft, RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-end", WrapMode.ClampToEdge, WrapMode.ClampToEdge)?.WithMaximumSize(new Vector2(128, 256)), + Texture = skin.GetTexture("taiko-roll-end", WrapMode.ClampToEdge, WrapMode.ClampToEdge), FillMode = FillMode.Fit, }, body = new Sprite { RelativeSizeAxes = Axes.Both, - Texture = skin.GetTexture("taiko-roll-middle", WrapMode.ClampToEdge, WrapMode.ClampToEdge)?.WithMaximumSize(new Vector2(2, 256)), + Texture = skin.GetTexture("taiko-roll-middle", WrapMode.ClampToEdge, WrapMode.ClampToEdge), }, headCircle = new LegacyCirclePiece { From 7c40072c4707a9fab3b3bf4c8ce743ddc871e3e7 Mon Sep 17 00:00:00 2001 From: Fabian van Oeffelt Date: Sat, 23 Sep 2023 13:18:49 +0200 Subject: [PATCH 035/106] Get first Spinner,Slider or HitCircle instead of only HitCircle Fixes bug --- osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs b/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs index b74b722bad..49c6fa65ed 100644 --- a/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs +++ b/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs @@ -61,11 +61,11 @@ namespace osu.Game.Rulesets.Osu.Mods public void ApplyToDrawableRuleset(DrawableRuleset drawableRuleset) { + OsuHitObject firstObject = drawableRuleset.Beatmap.HitObjects.Where(o => o is Spinner || o is Slider || o is HitCircle).First(); // Multiplying by 2 results in an initial size that is too large, hence 1.90 has been chosen // Also avoids the HitObject bleeding around the edges of the bubble drawable at minimum size - bubbleSize = (float)(drawableRuleset.Beatmap.HitObjects.OfType().First().Radius * 1.90f); - bubbleFade = drawableRuleset.Beatmap.HitObjects.OfType().First().TimePreempt * 2; - + bubbleSize = (float)firstObject.Radius * 1.90f; + bubbleFade = firstObject.TimePreempt * 2; // We want to hide the judgements since they are obscured by the BubbleDrawable (due to layering) drawableRuleset.Playfield.DisplayJudgements.Value = false; From 734ee0e68b62ec90c9ebf0d71de460e1211c3235 Mon Sep 17 00:00:00 2001 From: Salman Ahmed Date: Sun, 24 Sep 2023 02:22:50 +0300 Subject: [PATCH 036/106] Simplify code --- osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs b/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs index 49c6fa65ed..9c0e43e96f 100644 --- a/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs +++ b/osu.Game.Rulesets.Osu/Mods/OsuModBubbles.cs @@ -61,11 +61,13 @@ namespace osu.Game.Rulesets.Osu.Mods public void ApplyToDrawableRuleset(DrawableRuleset drawableRuleset) { - OsuHitObject firstObject = drawableRuleset.Beatmap.HitObjects.Where(o => o is Spinner || o is Slider || o is HitCircle).First(); + OsuHitObject firstObject = drawableRuleset.Beatmap.HitObjects.First(); + // Multiplying by 2 results in an initial size that is too large, hence 1.90 has been chosen // Also avoids the HitObject bleeding around the edges of the bubble drawable at minimum size bubbleSize = (float)firstObject.Radius * 1.90f; bubbleFade = firstObject.TimePreempt * 2; + // We want to hide the judgements since they are obscured by the BubbleDrawable (due to layering) drawableRuleset.Playfield.DisplayJudgements.Value = false; From 3c62521e69ff091b54cf9685eaa000fed1fd81ad Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Sun, 24 Sep 2023 10:50:07 +0900 Subject: [PATCH 037/106] Fix OAuth refresh attempt when no network available causing full logout --- osu.Game/Online/API/OAuth.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/osu.Game/Online/API/OAuth.cs b/osu.Game/Online/API/OAuth.cs index 58306c1938..1f26ab5458 100644 --- a/osu.Game/Online/API/OAuth.cs +++ b/osu.Game/Online/API/OAuth.cs @@ -99,9 +99,14 @@ namespace osu.Game.Online.API return true; } } + catch (HttpRequestException) + { + // Network failure. + return false; + } catch { - //todo: potentially only kill the refresh token on certain exception types. + // Force a full re-reauthentication. Token.Value = null; return false; } From 59d3143645ce5af731bd52fc4a08fc12cc0268be Mon Sep 17 00:00:00 2001 From: Fabian van Oeffelt Date: Mon, 25 Sep 2023 16:53:40 +0200 Subject: [PATCH 038/106] Fix SR/BPM Display in Playlist rooms --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index 8d08de4168..cfae890323 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -32,6 +32,7 @@ using osu.Game.Rulesets.Mods; using osu.Game.Screens.Menu; using osu.Game.Screens.OnlinePlay.Match.Components; using osu.Game.Screens.OnlinePlay.Multiplayer; +using osuTK; namespace osu.Game.Screens.OnlinePlay.Match { @@ -437,6 +438,8 @@ namespace osu.Game.Screens.OnlinePlay.Match } else { + var localBeatmap = selected.Beatmap == null ? null : beatmapManager.QueryBeatmap(b => b.OnlineID == selected.Beatmap.OnlineID); + UserModsSelectOverlay.Beatmap = beatmapManager.GetWorkingBeatmap(localBeatmap); UserModsSection?.Show(); UserModsSelectOverlay.IsValidMod = m => allowedMods.Any(a => a.GetType() == m.GetType()); } From 2a3391d83b0e1832a8127d2b8a9b7b6f3e940efb Mon Sep 17 00:00:00 2001 From: Fabian van Oeffelt Date: Mon, 25 Sep 2023 16:56:34 +0200 Subject: [PATCH 039/106] Remove unused namepace --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index cfae890323..f9482b810a 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -32,7 +32,6 @@ using osu.Game.Rulesets.Mods; using osu.Game.Screens.Menu; using osu.Game.Screens.OnlinePlay.Match.Components; using osu.Game.Screens.OnlinePlay.Multiplayer; -using osuTK; namespace osu.Game.Screens.OnlinePlay.Match { From 2040dcabe067a9daa54f6d6cab490d3c97f4ef45 Mon Sep 17 00:00:00 2001 From: Fabian van Oeffelt Date: Mon, 25 Sep 2023 17:51:39 +0200 Subject: [PATCH 040/106] Improve Code Quality --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index f9482b810a..ab29ac6d06 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -437,7 +437,7 @@ namespace osu.Game.Screens.OnlinePlay.Match } else { - var localBeatmap = selected.Beatmap == null ? null : beatmapManager.QueryBeatmap(b => b.OnlineID == selected.Beatmap.OnlineID); + var localBeatmap = beatmapManager.QueryBeatmap(b => b.OnlineID == selected.Beatmap.OnlineID); UserModsSelectOverlay.Beatmap = beatmapManager.GetWorkingBeatmap(localBeatmap); UserModsSection?.Show(); UserModsSelectOverlay.IsValidMod = m => allowedMods.Any(a => a.GetType() == m.GetType()); From 57c00e728b534baec9ff0f035cbf279f6927d0de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Fri, 15 Sep 2023 14:11:14 +0200 Subject: [PATCH 041/106] Update classic scoring algorithm to closer match stable score V1 --- .../Scoring/Legacy/ScoreInfoExtensions.cs | 37 ++++++++----------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs b/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs index 980b742585..ba56e32268 100644 --- a/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs +++ b/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs @@ -27,44 +27,37 @@ namespace osu.Game.Scoring.Legacy .DefaultIfEmpty(0) .Sum(); - // This gives a similar feeling to osu!stable scoring (ScoreV1) while keeping classic scoring as only a constant multiple of standardised scoring. - // The invariant is important to ensure that scores don't get re-ordered on leaderboards between the two scoring modes. - double scaledRawScore = score / ScoreProcessor.MAX_SCORE; - - return (long)Math.Round(Math.Pow(scaledRawScore * Math.Max(1, maxBasicJudgements), 2) * getStandardisedToClassicMultiplier(rulesetId)); + return convertStandardisedToClassic(rulesetId, score, maxBasicJudgements); } /// - /// Returns a ballpark multiplier which gives a similar "feel" for how large scores should get when displayed in "classic" mode. + /// Returns a ballpark "classic" score which gives a similar "feel" to stable. /// This is different per ruleset to match the different algorithms used in the scoring implementation. /// - private static double getStandardisedToClassicMultiplier(int rulesetId) + /// + /// The coefficients chosen here were determined by a least-squares fit performed over all beatmaps + /// with the goal of minimising the relative error of maximum possible base score (without bonus). + /// The constant coefficients (100000, 1 / 10d) - while being detrimental to the least-squares fit - are forced, + /// so that every 10 points in standardised mode converts to at least 1 point in classic mode. + /// This is done to account for bonus judgements in a way that does not reorder scores. + /// + private static long convertStandardisedToClassic(int rulesetId, long standardisedTotalScore, int objectCount) { - double multiplier; - switch (rulesetId) { - // For non-legacy rulesets, just go with the same as the osu! ruleset. - // This is arbitrary, but at least allows the setting to do something to the score. - default: case 0: - multiplier = 36; - break; + return (long)Math.Round((objectCount * objectCount * 32.57 + 100000) * standardisedTotalScore / ScoreProcessor.MAX_SCORE); case 1: - multiplier = 22; - break; + return (long)Math.Round((objectCount * 1109 + 100000) * standardisedTotalScore / ScoreProcessor.MAX_SCORE); case 2: - multiplier = 28; - break; + return (long)Math.Round(Math.Pow(standardisedTotalScore / ScoreProcessor.MAX_SCORE * objectCount, 2) * 21.62 + standardisedTotalScore / 10d); case 3: - multiplier = 16; - break; + default: + return standardisedTotalScore; } - - return multiplier; } public static int? GetCountGeki(this ScoreInfo scoreInfo) From 72c61c3a6a879d66221bf85ed697bd5c7b7d7545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Mon, 25 Sep 2023 19:14:22 +0200 Subject: [PATCH 042/106] Update osu! scoring tests to match updated formulae --- .../Rulesets/Scoring/ScoreProcessorTest.cs | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/osu.Game.Tests/Rulesets/Scoring/ScoreProcessorTest.cs b/osu.Game.Tests/Rulesets/Scoring/ScoreProcessorTest.cs index e5e96d2033..17a4c80f7f 100644 --- a/osu.Game.Tests/Rulesets/Scoring/ScoreProcessorTest.cs +++ b/osu.Game.Tests/Rulesets/Scoring/ScoreProcessorTest.cs @@ -45,9 +45,9 @@ namespace osu.Game.Tests.Rulesets.Scoring [TestCase(ScoringMode.Standardised, HitResult.Meh, 116_667)] [TestCase(ScoringMode.Standardised, HitResult.Ok, 233_338)] [TestCase(ScoringMode.Standardised, HitResult.Great, 1_000_000)] - [TestCase(ScoringMode.Classic, HitResult.Meh, 0)] - [TestCase(ScoringMode.Classic, HitResult.Ok, 2)] - [TestCase(ScoringMode.Classic, HitResult.Great, 36)] + [TestCase(ScoringMode.Classic, HitResult.Meh, 11_670)] + [TestCase(ScoringMode.Classic, HitResult.Ok, 23_341)] + [TestCase(ScoringMode.Classic, HitResult.Great, 100_033)] public void TestSingleOsuHit(ScoringMode scoringMode, HitResult hitResult, int expectedScore) { scoreProcessor.ApplyBeatmap(beatmap); @@ -84,17 +84,17 @@ namespace osu.Game.Tests.Rulesets.Scoring [TestCase(ScoringMode.Standardised, HitResult.SmallBonus, HitResult.SmallBonus, 1_000_030)] [TestCase(ScoringMode.Standardised, HitResult.LargeBonus, HitResult.LargeBonus, 1_000_150)] [TestCase(ScoringMode.Classic, HitResult.Miss, HitResult.Great, 0)] - [TestCase(ScoringMode.Classic, HitResult.Meh, HitResult.Great, 4)] - [TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 15)] - [TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 53)] - [TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 140)] - [TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 140)] + [TestCase(ScoringMode.Classic, HitResult.Meh, HitResult.Great, 7_975)] + [TestCase(ScoringMode.Classic, HitResult.Ok, HitResult.Great, 15_949)] + [TestCase(ScoringMode.Classic, HitResult.Good, HitResult.Perfect, 30_398)] + [TestCase(ScoringMode.Classic, HitResult.Great, HitResult.Great, 49_546)] + [TestCase(ScoringMode.Classic, HitResult.Perfect, HitResult.Perfect, 49_546)] [TestCase(ScoringMode.Classic, HitResult.SmallTickMiss, HitResult.SmallTickHit, 0)] - [TestCase(ScoringMode.Classic, HitResult.SmallTickHit, HitResult.SmallTickHit, 11)] + [TestCase(ScoringMode.Classic, HitResult.SmallTickHit, HitResult.SmallTickHit, 54_189)] [TestCase(ScoringMode.Classic, HitResult.LargeTickMiss, HitResult.LargeTickHit, 0)] - [TestCase(ScoringMode.Classic, HitResult.LargeTickHit, HitResult.LargeTickHit, 9)] - [TestCase(ScoringMode.Classic, HitResult.SmallBonus, HitResult.SmallBonus, 36)] - [TestCase(ScoringMode.Classic, HitResult.LargeBonus, HitResult.LargeBonus, 36)] + [TestCase(ScoringMode.Classic, HitResult.LargeTickHit, HitResult.LargeTickHit, 49_289)] + [TestCase(ScoringMode.Classic, HitResult.SmallBonus, HitResult.SmallBonus, 100_003)] + [TestCase(ScoringMode.Classic, HitResult.LargeBonus, HitResult.LargeBonus, 100_015)] public void TestFourVariousResultsOneMiss(ScoringMode scoringMode, HitResult hitResult, HitResult maxResult, int expectedScore) { var minResult = new TestJudgement(hitResult).MinResult; From 567bc8fcd346573f1b9086f6636c2020624bc04d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 14:13:51 +0900 Subject: [PATCH 043/106] Ensure `DrawableStoryboardSprite`'s texture size propagates corectly on skin change --- .../Storyboards/Drawables/DrawableStoryboardSprite.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs index ad344b6bd4..87c09c3e5e 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs @@ -104,7 +104,14 @@ namespace osu.Game.Storyboards.Drawables Sprite.ApplyTransforms(this); } - private void skinSourceChanged() => Texture = skin.GetTexture(Sprite.Path) ?? textureStore.Get(Sprite.Path); + private void skinSourceChanged() + { + // Setting texture will only update the size if it's zero. + // So let's force an update by setting to zero. + Size = Vector2.Zero; + + Texture = skin.GetTexture(Sprite.Path) ?? textureStore.Get(Sprite.Path); + } protected override void Dispose(bool isDisposing) { From d1d82d2b4952a179b5d55ac6f1ed144d07770993 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 15:00:56 +0900 Subject: [PATCH 044/106] Improve notification display when score import fails --- osu.Game/Database/RealmArchiveModelImporter.cs | 2 +- osu.Game/Scoring/ScoreImporter.cs | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/osu.Game/Database/RealmArchiveModelImporter.cs b/osu.Game/Database/RealmArchiveModelImporter.cs index 9d06c14b4b..d2de00d476 100644 --- a/osu.Game/Database/RealmArchiveModelImporter.cs +++ b/osu.Game/Database/RealmArchiveModelImporter.cs @@ -149,7 +149,7 @@ namespace osu.Game.Database return imported; } - notification.Text = $"{HumanisedModelName.Humanize(LetterCasing.Title)} import failed!"; + notification.Text = $"{HumanisedModelName.Humanize(LetterCasing.Title)} import failed! Check logs for more information."; notification.State = ProgressNotificationState.Cancelled; } else diff --git a/osu.Game/Scoring/ScoreImporter.cs b/osu.Game/Scoring/ScoreImporter.cs index b85b6a066e..5af53c6f7b 100644 --- a/osu.Game/Scoring/ScoreImporter.cs +++ b/osu.Game/Scoring/ScoreImporter.cs @@ -62,6 +62,11 @@ namespace osu.Game.Scoring api.Queue(req); return null; } + catch (Exception) + { + Logger.Log($@"Score '{archive.Name}' failed to import: failed to parse replay headers.", LoggingTarget.Database); + return null; + } } } From ae31a8fadfaf92bf477f050b3f02f5b4fc267839 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 16:19:53 +0900 Subject: [PATCH 045/106] Reduce delay before loading beatmap after selection change at song select This was originally set high because of performance concerns. We have since improved things quite drastically. Even with a very low debounce my song select is amazingly smooth. This is about as low as we can got unless we want chaos when key repeating left/right arrows (it's not as bad as you think, maybe worth testing during review and see if it feels more expected?). Of note, stable has key repeat disabled on left/right arrows and zero debounce. Addresses concerns in https://github.com/ppy/osu/discussions/24916. --- osu.Game/Screens/Select/SongSelect.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/Select/SongSelect.cs b/osu.Game/Screens/Select/SongSelect.cs index 34ee0ae4e8..9c2b1cfe37 100644 --- a/osu.Game/Screens/Select/SongSelect.cs +++ b/osu.Game/Screens/Select/SongSelect.cs @@ -525,7 +525,11 @@ namespace osu.Game.Screens.Select if (beatmapInfoNoDebounce == null) run(); else - selectionChangedDebounce = Scheduler.AddDelayed(run, 200); + { + // Intentionally slightly higher than repeat_tick_rate to avoid loading songs when holding left / right arrows. + // See https://github.com/ppy/osu-framework/blob/master/osu.Framework/Input/InputManager.cs#L44 + selectionChangedDebounce = Scheduler.AddDelayed(run, 80); + } if (beatmap?.Equals(beatmapInfoPrevious) != true) { From b1561b650f13aee7db98dcda3a5e10dd67029604 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 16:39:36 +0900 Subject: [PATCH 046/106] Rename test scene, add xmldoc and increase scale factor to something absurdly high --- ...tDimensions.cs => TestScenePlayerMaxDimensions.cs} | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) rename osu.Game.Tests/Visual/Gameplay/{TestSceneGameplayElementDimensions.cs => TestScenePlayerMaxDimensions.cs} (83%) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs b/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs similarity index 83% rename from osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs rename to osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs index ff7cf2a124..0d7a114c28 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneGameplayElementDimensions.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs @@ -14,7 +14,14 @@ using osu.Game.Skinning; namespace osu.Game.Tests.Visual.Gameplay { - public partial class TestSceneGameplayElementDimensions : TestSceneAllRulesetPlayers + /// + /// Upscales all gameplay sprites by a huge amount, to aid in manually checking skin texture size limits + /// on individual elements. + /// + /// + /// The HUD is hidden as it does't really affect game balance if HUD elements are larger than they should be. + /// + public partial class TestScenePlayerMaxDimensions : TestSceneAllRulesetPlayers { protected override IReadOnlyDependencyContainer CreateChildDependencies(IReadOnlyDependencyContainer parent) { @@ -61,7 +68,7 @@ namespace osu.Game.Tests.Visual.Gameplay var texture = base.GetTexture(componentName, wrapModeS, wrapModeT); if (texture != null) - texture.ScaleAdjust /= 5f; + texture.ScaleAdjust /= 40f; return texture; } From 5150c5a64369ead0388136bfee902ffe71983c04 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 16:58:50 +0900 Subject: [PATCH 047/106] Adjust osu!mania "major" barlines to be less visually distracting Applies to both "triangles" and "argon" skins. --- .../Skinning/Default/DefaultBarLine.cs | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs b/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs index cd85901a65..806b9e0f93 100644 --- a/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs +++ b/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs @@ -4,6 +4,7 @@ using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; +using osu.Framework.Graphics.Colour; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Game.Rulesets.Mania.Objects.Drawables; @@ -33,25 +34,28 @@ namespace osu.Game.Rulesets.Mania.Skinning.Default RelativeSizeAxes = Axes.Both, }); - Vector2 size = new Vector2(22, 6); - const float line_offset = 4; + const float major_extension = 10; - AddInternal(leftAnchor = new Circle + AddInternal(leftAnchor = new Box { Name = "Left anchor", + Blending = BlendingParameters.Additive, Anchor = Anchor.CentreLeft, Origin = Anchor.CentreRight, - Size = size, - X = -line_offset, + Width = major_extension, + RelativeSizeAxes = Axes.Y, + Colour = ColourInfo.GradientHorizontal(Colour4.Transparent, Colour4.White), }); - AddInternal(rightAnchor = new Circle + AddInternal(rightAnchor = new Box { Name = "Right anchor", + Blending = BlendingParameters.Additive, Anchor = Anchor.CentreRight, Origin = Anchor.CentreLeft, - Size = size, - X = line_offset, + Width = major_extension, + RelativeSizeAxes = Axes.Y, + Colour = ColourInfo.GradientHorizontal(Colour4.White, Colour4.Transparent), }); major = ((DrawableBarLine)drawableHitObject).Major.GetBoundCopy(); @@ -66,7 +70,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Default private void updateMajor(ValueChangedEvent major) { mainLine.Alpha = major.NewValue ? 0.5f : 0.2f; - leftAnchor.Alpha = rightAnchor.Alpha = major.NewValue ? 1 : 0; + leftAnchor.Alpha = rightAnchor.Alpha = major.NewValue ? mainLine.Alpha * 0.3f : 0; } } } From 9949480ccd8d3ecca504cf58dfb2aabe8dbdd441 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 17:06:51 +0900 Subject: [PATCH 048/106] Add minor edge smoothing to fix flickering of barlines In most cases. Closes https://github.com/ppy/osu/issues/15184. --- osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs b/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs index 806b9e0f93..ef75e9df11 100644 --- a/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs +++ b/osu.Game.Rulesets.Mania/Skinning/Default/DefaultBarLine.cs @@ -26,9 +26,13 @@ namespace osu.Game.Rulesets.Mania.Skinning.Default { RelativeSizeAxes = Axes.Both; + // Avoid flickering due to no anti-aliasing of boxes by default. + var edgeSmoothness = new Vector2(0.3f); + AddInternal(mainLine = new Box { Name = "Bar line", + EdgeSmoothness = edgeSmoothness, Anchor = Anchor.BottomCentre, Origin = Anchor.BottomCentre, RelativeSizeAxes = Axes.Both, @@ -39,6 +43,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Default AddInternal(leftAnchor = new Box { Name = "Left anchor", + EdgeSmoothness = edgeSmoothness, Blending = BlendingParameters.Additive, Anchor = Anchor.CentreLeft, Origin = Anchor.CentreRight, @@ -50,6 +55,7 @@ namespace osu.Game.Rulesets.Mania.Skinning.Default AddInternal(rightAnchor = new Box { Name = "Right anchor", + EdgeSmoothness = edgeSmoothness, Blending = BlendingParameters.Additive, Anchor = Anchor.CentreRight, Origin = Anchor.CentreLeft, From 859155dda194066a5b06709112d5d4ec94004b78 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Tue, 26 Sep 2023 13:48:18 +0900 Subject: [PATCH 049/106] Cap maximum spinner RPM based on OD --- osu.Game.Rulesets.Osu/Objects/Spinner.cs | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Spinner.cs b/osu.Game.Rulesets.Osu/Objects/Spinner.cs index 5ef670c739..ca88701c07 100644 --- a/osu.Game.Rulesets.Osu/Objects/Spinner.cs +++ b/osu.Game.Rulesets.Osu/Objects/Spinner.cs @@ -18,6 +18,16 @@ namespace osu.Game.Rulesets.Osu.Objects { public class Spinner : OsuHitObject, IHasDuration { + /// + /// The RPM required to clear the spinner at ODs [ 0, 5, 10 ]. + /// + private static readonly (int min, int mid, int max) clear_rpm_range = (90, 150, 225); + + /// + /// The RPM required to complete the spinner and receive full score at ODs [ 0, 5, 10 ]. + /// + private static readonly (int min, int mid, int max) complete_rpm_range = (250, 380, 430); + public double EndTime { get => StartTime + Duration; @@ -52,13 +62,16 @@ namespace osu.Game.Rulesets.Osu.Objects { base.ApplyDefaultsToSelf(controlPointInfo, difficulty); - const double maximum_rotations_per_second = 477f / 60f; + // The average RPS required over the length of the spinner to clear the spinner. + double minRps = IBeatmapDifficultyInfo.DifficultyRange(difficulty.OverallDifficulty, clear_rpm_range) / 60; + + // The RPS required over the length of the spinner to receive full score (all normal + bonus ticks). + double maxRps = IBeatmapDifficultyInfo.DifficultyRange(difficulty.OverallDifficulty, complete_rpm_range) / 60; double secondsDuration = Duration / 1000; - double minimumRotationsPerSecond = IBeatmapDifficultyInfo.DifficultyRange(difficulty.OverallDifficulty, 1.5, 2.5, 3.75); - SpinsRequired = (int)(secondsDuration * minimumRotationsPerSecond); - MaximumBonusSpins = (int)((maximum_rotations_per_second - minimumRotationsPerSecond) * secondsDuration) - bonus_spins_gap; + SpinsRequired = (int)(minRps * secondsDuration); + MaximumBonusSpins = (int)(maxRps * secondsDuration) - bonus_spins_gap; } protected override void CreateNestedHitObjects(CancellationToken cancellationToken) From 40a548d372467047693b50352e25ebf217239775 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 26 Sep 2023 17:30:30 +0900 Subject: [PATCH 050/106] Adjust new test scene to not be super broken --- osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs b/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs index 0d7a114c28..a8ed44c7f8 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestScenePlayerMaxDimensions.cs @@ -68,7 +68,7 @@ namespace osu.Game.Tests.Visual.Gameplay var texture = base.GetTexture(componentName, wrapModeS, wrapModeT); if (texture != null) - texture.ScaleAdjust /= 40f; + texture.ScaleAdjust /= 8f; return texture; } From 19a442a32a50f363204a51d81350d002f9c2355f Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Tue, 26 Sep 2023 17:46:03 +0900 Subject: [PATCH 051/106] Fix incorrect change in taiko score simulator --- osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs index f3f318f2f2..d4538d3c00 100644 --- a/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs +++ b/osu.Game.Rulesets.Taiko/Difficulty/TaikoLegacyScoreSimulator.cs @@ -156,7 +156,7 @@ namespace osu.Game.Rulesets.Taiko.Difficulty { int oldScoreIncrease = scoreIncrease; - scoreIncrease += (int)(scoreIncrease / 35f * 2 * (difficultyPeppyStars + 1)) * (Math.Min(100, combo) / 10); + scoreIncrease += scoreIncrease / 35 * 2 * (difficultyPeppyStars + 1) * (Math.Min(100, combo) / 10); if (hitObject is Swell) { From 05c9f0f9cc5fb811a341ec95e9cc18438afd7792 Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Tue, 26 Sep 2023 18:11:27 +0900 Subject: [PATCH 052/106] Fix bonus requirement not considering number of normal ticks --- .../TestSceneSpinner.cs | 36 ++++++++++++++++++- osu.Game.Rulesets.Osu/Objects/Spinner.cs | 2 +- 2 files changed, 36 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu.Tests/TestSceneSpinner.cs b/osu.Game.Rulesets.Osu.Tests/TestSceneSpinner.cs index 8cfd674f88..b1d9c453d6 100644 --- a/osu.Game.Rulesets.Osu.Tests/TestSceneSpinner.cs +++ b/osu.Game.Rulesets.Osu.Tests/TestSceneSpinner.cs @@ -43,7 +43,8 @@ namespace osu.Game.Rulesets.Osu.Tests AddUntilStep("Pitch starts low", () => getSpinningSample().Frequency.Value < 0.8); AddUntilStep("Pitch increases", () => getSpinningSample().Frequency.Value > 0.8); - PausableSkinnableSound getSpinningSample() => drawableSpinner.ChildrenOfType().FirstOrDefault(s => s.Samples.Any(i => i.LookupNames.Any(l => l.Contains("spinnerspin")))); + PausableSkinnableSound getSpinningSample() => + drawableSpinner.ChildrenOfType().FirstOrDefault(s => s.Samples.Any(i => i.LookupNames.Any(l => l.Contains("spinnerspin")))); } [TestCase(false)] @@ -64,6 +65,39 @@ namespace osu.Game.Rulesets.Osu.Tests AddUntilStep("Short spinner implicitly completes", () => drawableSpinner.Progress == 1); } + [TestCase(0, 4, 6)] + [TestCase(5, 7, 10)] + [TestCase(10, 11, 8)] + public void TestSpinnerSpinRequirements(int od, int normalTicks, int bonusTicks) + { + Spinner spinner = null; + + AddStep("add spinner", () => SetContents(_ => + { + spinner = new Spinner + { + StartTime = Time.Current, + EndTime = Time.Current + 3000, + Samples = new List + { + new HitSampleInfo(HitSampleInfo.HIT_NORMAL) + } + }; + + spinner.ApplyDefaults(new ControlPointInfo(), new BeatmapDifficulty { OverallDifficulty = od }); + + return drawableSpinner = new TestDrawableSpinner(spinner, true) + { + Anchor = Anchor.Centre, + Depth = depthIndex++, + Scale = new Vector2(0.75f) + }; + })); + + AddAssert("number of normal ticks matches", () => spinner.SpinsRequired, () => Is.EqualTo(normalTicks)); + AddAssert("number of bonus ticks matches", () => spinner.MaximumBonusSpins, () => Is.EqualTo(bonusTicks)); + } + private Drawable testSingle(float circleSize, bool auto = false, double length = 3000) { const double delay = 2000; diff --git a/osu.Game.Rulesets.Osu/Objects/Spinner.cs b/osu.Game.Rulesets.Osu/Objects/Spinner.cs index ca88701c07..aca55c6bd9 100644 --- a/osu.Game.Rulesets.Osu/Objects/Spinner.cs +++ b/osu.Game.Rulesets.Osu/Objects/Spinner.cs @@ -71,7 +71,7 @@ namespace osu.Game.Rulesets.Osu.Objects double secondsDuration = Duration / 1000; SpinsRequired = (int)(minRps * secondsDuration); - MaximumBonusSpins = (int)(maxRps * secondsDuration) - bonus_spins_gap; + MaximumBonusSpins = Math.Max(0, (int)(maxRps * secondsDuration) - SpinsRequired - bonus_spins_gap); } protected override void CreateNestedHitObjects(CancellationToken cancellationToken) From 12585c9f2764539a1feb60a6449cbf2c3c66bd0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Tue, 26 Sep 2023 16:40:18 +0200 Subject: [PATCH 053/106] Fix flaky editor beatmap creation test Came up as a failure when locally running tests for ppy/osu-framework#6001 - but the test is actually a previously-known flaky that I couldn't reproduce the failure of until the aforementioned PR. This appears to be a simple race; the test scene queries the track length from update thread, but the length is actually set on the audio thread. So it's not unreasonable that given unlucky timing, the length will not be set by `TrackBass` before it is queried. To fix, switch assert to until step. I'm generally not really willing to give this more time of day until this change is proven insufficient. --- osu.Game.Tests/Visual/Editing/TestSceneEditorBeatmapCreation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Editing/TestSceneEditorBeatmapCreation.cs b/osu.Game.Tests/Visual/Editing/TestSceneEditorBeatmapCreation.cs index 920e560018..e6c3eea925 100644 --- a/osu.Game.Tests/Visual/Editing/TestSceneEditorBeatmapCreation.cs +++ b/osu.Game.Tests/Visual/Editing/TestSceneEditorBeatmapCreation.cs @@ -125,7 +125,7 @@ namespace osu.Game.Tests.Visual.Editing }); AddAssert("track is not virtual", () => Beatmap.Value.Track is not TrackVirtual); - AddAssert("track length changed", () => Beatmap.Value.Track.Length > 60000); + AddUntilStep("track length changed", () => Beatmap.Value.Track.Length > 60000); AddStep("test play", () => Editor.TestGameplay()); From 84682b42273cae37a0f814a422ebc36b4970c340 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 16:49:59 +0900 Subject: [PATCH 054/106] Add test coverage of incorrect version on missing `skin.ini` --- osu.Game.Tests/Skins/IO/ImportSkinTest.cs | 35 ++++++++++++----------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/osu.Game.Tests/Skins/IO/ImportSkinTest.cs b/osu.Game.Tests/Skins/IO/ImportSkinTest.cs index 1c1ebe271e..ab3e099c3a 100644 --- a/osu.Game.Tests/Skins/IO/ImportSkinTest.cs +++ b/osu.Game.Tests/Skins/IO/ImportSkinTest.cs @@ -27,7 +27,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("test skin", "skinner"), "skin.osk")); // When the import filename doesn't match, it should be appended (and update the skin.ini). - assertCorrectMetadata(import1, "test skin [skin]", "skinner", osu); + assertCorrectMetadata(import1, "test skin [skin]", "skinner", 1.0m, osu); }); [Test] @@ -36,7 +36,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("test skin", "skinner", iniFilename: "Skin.InI"), "skin.osk")); // When the import filename doesn't match, it should be appended (and update the skin.ini). - assertCorrectMetadata(import1, "test skin [skin]", "skinner", osu); + assertCorrectMetadata(import1, "test skin [skin]", "skinner", 1.0m, osu); }); [Test] @@ -45,7 +45,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("test skin", "skinner", includeSectionHeader: false), "skin.osk")); // When the import filename doesn't match, it should be appended (and update the skin.ini). - assertCorrectMetadata(import1, "test skin [skin]", "skinner", osu); + assertCorrectMetadata(import1, "test skin [skin]", "skinner", 1.0m, osu); }); [Test] @@ -54,7 +54,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("test skin", "skinner"), "test skin.osk")); // When the import filename matches it shouldn't be appended. - assertCorrectMetadata(import1, "test skin", "skinner", osu); + assertCorrectMetadata(import1, "test skin", "skinner", 1.0m, osu); }); [Test] @@ -63,7 +63,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithNonIniFile(), "test skin.osk")); // When the import filename matches it shouldn't be appended. - assertCorrectMetadata(import1, "test skin", "Unknown", osu); + assertCorrectMetadata(import1, "test skin", "Unknown", SkinConfiguration.LATEST_VERSION, osu); }); [Test] @@ -72,7 +72,7 @@ namespace osu.Game.Tests.Skins.IO var import1 = await loadSkinIntoOsu(osu, new ImportTask(createEmptyOsk(), "test skin.osk")); // When the import filename matches it shouldn't be appended. - assertCorrectMetadata(import1, "test skin", "Unknown", osu); + assertCorrectMetadata(import1, "test skin", "Unknown", SkinConfiguration.LATEST_VERSION, osu); }); #endregion @@ -102,7 +102,7 @@ namespace osu.Game.Tests.Skins.IO public Task TestImportUpperCasedOskArchive() => runSkinTest(async osu => { var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 1", "author 1"), "name 1.OsK")); - assertCorrectMetadata(import1, "name 1", "author 1", osu); + assertCorrectMetadata(import1, "name 1", "author 1", 1.0m, osu); var import2 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 1", "author 1"), "name 1.oSK")); @@ -115,14 +115,14 @@ namespace osu.Game.Tests.Skins.IO MemoryStream exportStream = new MemoryStream(); var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 1", "author 1"), "custom.osk")); - assertCorrectMetadata(import1, "name 1 [custom]", "author 1", osu); + assertCorrectMetadata(import1, "name 1 [custom]", "author 1", 1.0m, osu); await new LegacySkinExporter(osu.Dependencies.Get()).ExportToStreamAsync(import1, exportStream); string exportFilename = import1.GetDisplayString(); var import2 = await loadSkinIntoOsu(osu, new ImportTask(exportStream, $"{exportFilename}.osk")); - assertCorrectMetadata(import2, "name 1 [custom]", "author 1", osu); + assertCorrectMetadata(import2, "name 1 [custom]", "author 1", 1.0m, osu); assertImportedOnce(import1, import2); }); @@ -133,14 +133,14 @@ namespace osu.Game.Tests.Skins.IO MemoryStream exportStream = new MemoryStream(); var import1 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 『1』", "author 1"), "custom.osk")); - assertCorrectMetadata(import1, "name 『1』 [custom]", "author 1", osu); + assertCorrectMetadata(import1, "name 『1』 [custom]", "author 1", 1.0m, osu); await new LegacySkinExporter(osu.Dependencies.Get()).ExportToStreamAsync(import1, exportStream); string exportFilename = import1.GetDisplayString().GetValidFilename(); var import2 = await loadSkinIntoOsu(osu, new ImportTask(exportStream, $"{exportFilename}.osk")); - assertCorrectMetadata(import2, "name 『1』 [custom]", "author 1", osu); + assertCorrectMetadata(import2, "name 『1』 [custom]", "author 1", 1.0m, osu); }); [Test] @@ -150,7 +150,7 @@ namespace osu.Game.Tests.Skins.IO var import2 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 1", "author 1"), "my custom skin 1"), batchImport); assertImportedOnce(import1, import2); - assertCorrectMetadata(import1, "name 1 [my custom skin 1]", "author 1", osu); + assertCorrectMetadata(import1, "name 1 [my custom skin 1]", "author 1", 1.0m, osu); }); #endregion @@ -183,8 +183,8 @@ namespace osu.Game.Tests.Skins.IO var import2 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("test skin v2.1", "skinner"), "skin.osk")); assertImportedBoth(import1, import2); - assertCorrectMetadata(import1, "test skin v2 [skin]", "skinner", osu); - assertCorrectMetadata(import2, "test skin v2.1 [skin]", "skinner", osu); + assertCorrectMetadata(import1, "test skin v2 [skin]", "skinner", 1.0m, osu); + assertCorrectMetadata(import2, "test skin v2.1 [skin]", "skinner", 1.0m, osu); }); [Test] @@ -194,8 +194,8 @@ namespace osu.Game.Tests.Skins.IO var import2 = await loadSkinIntoOsu(osu, new ImportTask(createOskWithIni("name 1", "author 1"), "my custom skin 2")); assertImportedBoth(import1, import2); - assertCorrectMetadata(import1, "name 1 [my custom skin 1]", "author 1", osu); - assertCorrectMetadata(import2, "name 1 [my custom skin 2]", "author 1", osu); + assertCorrectMetadata(import1, "name 1 [my custom skin 1]", "author 1", 1.0m, osu); + assertCorrectMetadata(import2, "name 1 [my custom skin 2]", "author 1", 1.0m, osu); }); [Test] @@ -264,7 +264,7 @@ namespace osu.Game.Tests.Skins.IO #endregion - private void assertCorrectMetadata(Live import1, string name, string creator, OsuGameBase osu) + private void assertCorrectMetadata(Live import1, string name, string creator, decimal version, OsuGameBase osu) { import1.PerformRead(i => { @@ -276,6 +276,7 @@ namespace osu.Game.Tests.Skins.IO Assert.That(instance.Configuration.SkinInfo.Name, Is.EqualTo(name)); Assert.That(instance.Configuration.SkinInfo.Creator, Is.EqualTo(creator)); + Assert.That(instance.Configuration.LegacyVersion, Is.EqualTo(version)); }); } From c44cca2c23042554cfdc8062939917575c8f15d9 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 16:45:38 +0900 Subject: [PATCH 055/106] Fix skin version being incorrectly set to `1.0` when skin is missing `skin.ini` Closes https://github.com/ppy/osu/issues/24939. --- osu.Game/Skinning/Skin.cs | 9 ++++++++- osu.Game/Skinning/SkinImporter.cs | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/osu.Game/Skinning/Skin.cs b/osu.Game/Skinning/Skin.cs index 5ae4852288..ccf49d722f 100644 --- a/osu.Game/Skinning/Skin.cs +++ b/osu.Game/Skinning/Skin.cs @@ -105,7 +105,14 @@ namespace osu.Game.Skinning Debug.Assert(Configuration != null); } else - Configuration = new SkinConfiguration(); + { + Configuration = new SkinConfiguration + { + // generally won't be hit as we always write a `skin.ini` on import, but best be safe than sorry. + // see https://github.com/peppy/osu-stable-reference/blob/1531237b63392e82c003c712faa028406073aa8f/osu!/Graphics/Skinning/SkinManager.cs#L297-L298 + LegacyVersion = SkinConfiguration.LATEST_VERSION, + }; + } // skininfo files may be null for default skin. foreach (SkinComponentsContainerLookup.TargetArea skinnableTarget in Enum.GetValues()) diff --git a/osu.Game/Skinning/SkinImporter.cs b/osu.Game/Skinning/SkinImporter.cs index f2103a45c4..1b6fa7f4ed 100644 --- a/osu.Game/Skinning/SkinImporter.cs +++ b/osu.Game/Skinning/SkinImporter.cs @@ -118,7 +118,7 @@ namespace osu.Game.Skinning string nameLine = @$"Name: {item.Name}"; string authorLine = @$"Author: {item.Creator}"; - string[] newLines = + List newLines = new List { @"// The following content was automatically added by osu! during import, based on filename / folder metadata.", @"[General]", @@ -130,6 +130,10 @@ namespace osu.Game.Skinning if (existingFile == null) { + // skins without a skin.ini are supposed to import using the "latest version" spec. + // see https://github.com/peppy/osu-stable-reference/blob/1531237b63392e82c003c712faa028406073aa8f/osu!/Graphics/Skinning/SkinManager.cs#L297-L298 + newLines.Add($"Version: {SkinConfiguration.LATEST_VERSION}"); + // In the case a skin doesn't have a skin.ini yet, let's create one. writeNewSkinIni(); } From 3708e79577472e2c5284fc635eb65a9dd022545f Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 16:55:03 +0900 Subject: [PATCH 056/106] Adjust logging to still expose the underlying exception --- osu.Game/Scoring/ScoreImporter.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/osu.Game/Scoring/ScoreImporter.cs b/osu.Game/Scoring/ScoreImporter.cs index 5af53c6f7b..2314dbb63b 100644 --- a/osu.Game/Scoring/ScoreImporter.cs +++ b/osu.Game/Scoring/ScoreImporter.cs @@ -52,19 +52,19 @@ namespace osu.Game.Scoring { return new DatabasedLegacyScoreDecoder(rulesets, beatmaps()).Parse(stream).ScoreInfo; } - catch (LegacyScoreDecoder.BeatmapNotFoundException e) + catch (LegacyScoreDecoder.BeatmapNotFoundException notFound) { - Logger.Log($@"Score '{archive.Name}' failed to import: no corresponding beatmap with the hash '{e.Hash}' could be found.", LoggingTarget.Database); + Logger.Log($@"Score '{archive.Name}' failed to import: no corresponding beatmap with the hash '{notFound.Hash}' could be found.", LoggingTarget.Database); // In the case of a missing beatmap, let's attempt to resolve it and show a prompt to the user to download the required beatmap. - var req = new GetBeatmapRequest(new BeatmapInfo { MD5Hash = e.Hash }); - req.Success += res => PostNotification?.Invoke(new MissingBeatmapNotification(res, archive, e.Hash)); + var req = new GetBeatmapRequest(new BeatmapInfo { MD5Hash = notFound.Hash }); + req.Success += res => PostNotification?.Invoke(new MissingBeatmapNotification(res, archive, notFound.Hash)); api.Queue(req); return null; } - catch (Exception) + catch (Exception e) { - Logger.Log($@"Score '{archive.Name}' failed to import: failed to parse replay headers.", LoggingTarget.Database); + Logger.Log($@"Failed to parse headers of score '{archive.Name}': {e}.", LoggingTarget.Database); return null; } } From 2481c0b64bc2158d710f8cdc57d6efcc4b05f5f3 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 17:02:47 +0900 Subject: [PATCH 057/106] Don't show replay import "missing beatmap" notifications during stable import Closes https://github.com/ppy/osu/issues/24926. --- osu.Game/Beatmaps/BeatmapImporter.cs | 2 +- osu.Game/Database/RealmArchiveModelImporter.cs | 5 +++-- osu.Game/Scoring/ScoreImporter.cs | 14 +++++++++----- osu.Game/Skinning/SkinImporter.cs | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/osu.Game/Beatmaps/BeatmapImporter.cs b/osu.Game/Beatmaps/BeatmapImporter.cs index b497b8e8dc..e89e5339e1 100644 --- a/osu.Game/Beatmaps/BeatmapImporter.cs +++ b/osu.Game/Beatmaps/BeatmapImporter.cs @@ -280,7 +280,7 @@ namespace osu.Game.Beatmaps public override string HumanisedModelName => "beatmap"; - protected override BeatmapSetInfo? CreateModel(ArchiveReader reader) + protected override BeatmapSetInfo? CreateModel(ArchiveReader reader, ImportParameters parameters) { // let's make sure there are actually .osu files to import. string? mapName = reader.Filenames.FirstOrDefault(f => f.EndsWith(".osu", StringComparison.OrdinalIgnoreCase)); diff --git a/osu.Game/Database/RealmArchiveModelImporter.cs b/osu.Game/Database/RealmArchiveModelImporter.cs index 9d06c14b4b..581ed41f75 100644 --- a/osu.Game/Database/RealmArchiveModelImporter.cs +++ b/osu.Game/Database/RealmArchiveModelImporter.cs @@ -229,7 +229,7 @@ namespace osu.Game.Database try { - model = CreateModel(archive); + model = CreateModel(archive, parameters); if (model == null) return null; @@ -474,8 +474,9 @@ namespace osu.Game.Database /// Actual expensive population should be done in ; this should just prepare for duplicate checking. /// /// The archive to create the model for. + /// Parameters to further configure the import process. /// A model populated with minimal information. Returning a null will abort importing silently. - protected abstract TModel? CreateModel(ArchiveReader archive); + protected abstract TModel? CreateModel(ArchiveReader archive, ImportParameters parameters); /// /// Populate the provided model completely from the given archive. diff --git a/osu.Game/Scoring/ScoreImporter.cs b/osu.Game/Scoring/ScoreImporter.cs index b85b6a066e..28e70cff4f 100644 --- a/osu.Game/Scoring/ScoreImporter.cs +++ b/osu.Game/Scoring/ScoreImporter.cs @@ -42,7 +42,7 @@ namespace osu.Game.Scoring this.api = api; } - protected override ScoreInfo? CreateModel(ArchiveReader archive) + protected override ScoreInfo? CreateModel(ArchiveReader archive, ImportParameters parameters) { string name = archive.Filenames.First(f => f.EndsWith(".osr", StringComparison.OrdinalIgnoreCase)); @@ -56,10 +56,14 @@ namespace osu.Game.Scoring { Logger.Log($@"Score '{archive.Name}' failed to import: no corresponding beatmap with the hash '{e.Hash}' could be found.", LoggingTarget.Database); - // In the case of a missing beatmap, let's attempt to resolve it and show a prompt to the user to download the required beatmap. - var req = new GetBeatmapRequest(new BeatmapInfo { MD5Hash = e.Hash }); - req.Success += res => PostNotification?.Invoke(new MissingBeatmapNotification(res, archive, e.Hash)); - api.Queue(req); + if (!parameters.Batch) + { + // In the case of a missing beatmap, let's attempt to resolve it and show a prompt to the user to download the required beatmap. + var req = new GetBeatmapRequest(new BeatmapInfo { MD5Hash = e.Hash }); + req.Success += res => PostNotification?.Invoke(new MissingBeatmapNotification(res, archive, e.Hash)); + api.Queue(req); + } + return null; } } diff --git a/osu.Game/Skinning/SkinImporter.cs b/osu.Game/Skinning/SkinImporter.cs index f2103a45c4..b543197296 100644 --- a/osu.Game/Skinning/SkinImporter.cs +++ b/osu.Game/Skinning/SkinImporter.cs @@ -39,7 +39,7 @@ namespace osu.Game.Skinning protected override bool ShouldDeleteArchive(string path) => Path.GetExtension(path).ToLowerInvariant() == @".osk"; - protected override SkinInfo CreateModel(ArchiveReader archive) => new SkinInfo { Name = archive.Name ?? @"No name" }; + protected override SkinInfo? CreateModel(ArchiveReader archive, ImportParameters parameters) => new SkinInfo { Name = archive.Name ?? @"No name" }; private const string unknown_creator_string = @"Unknown"; From 3705c4c8d5b9cac2422ab1cb8e44244c1f5de085 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 17:16:45 +0900 Subject: [PATCH 058/106] Avoid potentially incorrect size adjustment when texture doesn't change --- .../Storyboards/Drawables/DrawableStoryboardSprite.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs index 87c09c3e5e..68892a6fc1 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs @@ -106,11 +106,11 @@ namespace osu.Game.Storyboards.Drawables private void skinSourceChanged() { - // Setting texture will only update the size if it's zero. - // So let's force an update by setting to zero. - Size = Vector2.Zero; - Texture = skin.GetTexture(Sprite.Path) ?? textureStore.Get(Sprite.Path); + + // Setting texture will only update the size if it's zero. + // So let's force an explicit update. + Size = new Vector2(Texture.DisplayWidth, Texture.DisplayHeight); } protected override void Dispose(bool isDisposing) From 175cf68bd6003e61210929642ebf501725ad4b4c Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 18:13:07 +0900 Subject: [PATCH 059/106] Avoid re-fetching `WorkingBeatmap` --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index ab29ac6d06..2974035127 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -437,8 +437,7 @@ namespace osu.Game.Screens.OnlinePlay.Match } else { - var localBeatmap = beatmapManager.QueryBeatmap(b => b.OnlineID == selected.Beatmap.OnlineID); - UserModsSelectOverlay.Beatmap = beatmapManager.GetWorkingBeatmap(localBeatmap); + UserModsSelectOverlay.Beatmap = Beatmap.Value; UserModsSection?.Show(); UserModsSelectOverlay.IsValidMod = m => allowedMods.Any(a => a.GetType() == m.GetType()); } From a639e51ddb8c0de208ea5a6f7b54ffff5487370e Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 18:17:25 +0900 Subject: [PATCH 060/106] Fix value not updating after missing beatmap is imported --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index 2974035127..b8887b3161 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -437,7 +437,6 @@ namespace osu.Game.Screens.OnlinePlay.Match } else { - UserModsSelectOverlay.Beatmap = Beatmap.Value; UserModsSection?.Show(); UserModsSelectOverlay.IsValidMod = m => allowedMods.Any(a => a.GetType() == m.GetType()); } @@ -453,7 +452,7 @@ namespace osu.Game.Screens.OnlinePlay.Match // Retrieve the corresponding local beatmap, since we can't directly use the playlist's beatmap info var localBeatmap = beatmap == null ? null : beatmapManager.QueryBeatmap(b => b.OnlineID == beatmap.OnlineID); - Beatmap.Value = beatmapManager.GetWorkingBeatmap(localBeatmap); + UserModsSelectOverlay.Beatmap = Beatmap.Value = beatmapManager.GetWorkingBeatmap(localBeatmap); } protected virtual void UpdateMods() From e314913aeb0f509b526198af5871ea49269c5952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 27 Sep 2023 11:18:38 +0200 Subject: [PATCH 061/106] Handle null texture case --- osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs index 68892a6fc1..ec875219b6 100644 --- a/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs +++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardSprite.cs @@ -110,7 +110,7 @@ namespace osu.Game.Storyboards.Drawables // Setting texture will only update the size if it's zero. // So let's force an explicit update. - Size = new Vector2(Texture.DisplayWidth, Texture.DisplayHeight); + Size = new Vector2(Texture?.DisplayWidth ?? 0, Texture?.DisplayHeight ?? 0); } protected override void Dispose(bool isDisposing) From 16e752e07d9d2d37d0ddeb4f849c6a900cc0321d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 18:54:47 +0900 Subject: [PATCH 062/106] Add basic structure and test coverage for extended info on mod icon --- .../Visual/UserInterface/TestSceneModIcon.cs | 52 +++++++++++++++++++ osu.Game/Rulesets/Mods/IMod.cs | 6 +++ osu.Game/Rulesets/Mods/Mod.cs | 3 ++ osu.Game/Rulesets/Mods/ModRateAdjust.cs | 2 + osu.Game/Rulesets/UI/ModIcon.cs | 37 +++++++++++-- 5 files changed, 95 insertions(+), 5 deletions(-) diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs index 897d5fd9f5..15b3e5f310 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs @@ -1,10 +1,14 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. +using System.Collections.Generic; using System.Linq; using NUnit.Framework; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; +using osu.Framework.Testing; +using osu.Framework.Utils; +using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.Osu; using osu.Game.Rulesets.Osu.Mods; using osu.Game.Rulesets.UI; @@ -25,6 +29,54 @@ namespace osu.Game.Tests.Visual.UserInterface ChildrenEnumerable = Ruleset.Value.CreateInstance().CreateAllMods().Select(m => new ModIcon(m)), }; }); + + AddStep("toggle selected", () => + { + foreach (var icon in this.ChildrenOfType()) + icon.Selected.Toggle(); + }); + } + + [Test] + public void TestShowRateAdjusts() + { + AddStep("create mod icons", () => + { + Child = new FillFlowContainer + { + RelativeSizeAxes = Axes.Both, + Direction = FillDirection.Full, + ChildrenEnumerable = Ruleset.Value.CreateInstance().CreateAllMods() + .OfType() + .SelectMany((m) => + { + List icons = new List { new ModIcon(m) }; + + for (double i = m.SpeedChange.MinValue; i < m.SpeedChange.MaxValue; i += m.SpeedChange.Precision * 10) + { + m = (ModRateAdjust)m.DeepClone(); + m.SpeedChange.Value = i; + icons.Add(new ModIcon(m)); + } + + return icons; + }), + }; + }); + + AddStep("adjust rates", () => + { + foreach (var icon in this.ChildrenOfType()) + { + if (icon.Mod is ModRateAdjust rateAdjust) + { + if (RNG.NextDouble() > 0.9) + rateAdjust.SpeedChange.Value = rateAdjust.SpeedChange.Default; + else + rateAdjust.SpeedChange.Value = RNG.NextDouble(rateAdjust.SpeedChange.MinValue, rateAdjust.SpeedChange.MaxValue); + } + } + }); } [Test] diff --git a/osu.Game/Rulesets/Mods/IMod.cs b/osu.Game/Rulesets/Mods/IMod.cs index 05b2510e53..06c470ff2a 100644 --- a/osu.Game/Rulesets/Mods/IMod.cs +++ b/osu.Game/Rulesets/Mods/IMod.cs @@ -19,6 +19,12 @@ namespace osu.Game.Rulesets.Mods /// string Name { get; } + /// + /// Short import information to display on the mod icon. For example, a rate adjust mod's rate + /// or similarly important setting. + /// + string ExtendedIconInformation { get; } + /// /// The user readable description of this mod. /// diff --git a/osu.Game/Rulesets/Mods/Mod.cs b/osu.Game/Rulesets/Mods/Mod.cs index a9ecf89df1..a0bdc9ff51 100644 --- a/osu.Game/Rulesets/Mods/Mod.cs +++ b/osu.Game/Rulesets/Mods/Mod.cs @@ -27,6 +27,9 @@ namespace osu.Game.Rulesets.Mods public abstract string Acronym { get; } + [JsonIgnore] + public virtual string ExtendedIconInformation => string.Empty; + [JsonIgnore] public virtual IconUsage? Icon => null; diff --git a/osu.Game/Rulesets/Mods/ModRateAdjust.cs b/osu.Game/Rulesets/Mods/ModRateAdjust.cs index 7b55ba4ad0..5dad01e015 100644 --- a/osu.Game/Rulesets/Mods/ModRateAdjust.cs +++ b/osu.Game/Rulesets/Mods/ModRateAdjust.cs @@ -28,5 +28,7 @@ namespace osu.Game.Rulesets.Mods public override Type[] IncompatibleMods => new[] { typeof(ModTimeRamp), typeof(ModAdaptiveSpeed), typeof(ModRateAdjust) }; public override string SettingDescription => SpeedChange.IsDefault ? string.Empty : $"{SpeedChange.Value:N2}x"; + + public override string ExtendedIconInformation => SettingDescription; } } diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index bf212ad72f..58f7f2c90d 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -16,6 +16,7 @@ using osu.Game.Rulesets.Mods; using osuTK; using osu.Framework.Bindables; using osu.Framework.Extensions.Color4Extensions; +using osu.Framework.Graphics.Textures; using osu.Framework.Localisation; namespace osu.Game.Rulesets.UI @@ -27,9 +28,9 @@ namespace osu.Game.Rulesets.UI { public readonly BindableBool Selected = new BindableBool(); - private readonly SpriteIcon modIcon; - private readonly SpriteText modAcronym; - private readonly SpriteIcon background; + private SpriteIcon modIcon; + private SpriteText modAcronym; + private SpriteIcon background; private const float size = 80; @@ -55,6 +56,10 @@ namespace osu.Game.Rulesets.UI private Color4 backgroundColour; + private Sprite extendedBackground; + + private OsuSpriteText extendedText; + /// /// Construct a new instance. /// @@ -64,8 +69,12 @@ namespace osu.Game.Rulesets.UI { this.mod = mod ?? throw new ArgumentNullException(nameof(mod)); this.showTooltip = showTooltip; + } - Size = new Vector2(size); + [BackgroundDependencyLoader] + private void load(TextureStore textures) + { + AutoSizeAxes = Axes.Both; Children = new Drawable[] { @@ -77,6 +86,23 @@ namespace osu.Game.Rulesets.UI Icon = OsuIcon.ModBg, Shadow = true, }, + extendedBackground = new Sprite + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), + X = size - 3, + Size = new Vector2(120, 55), + }, + extendedText = new OsuSpriteText + { + Origin = Anchor.Centre, + Anchor = Anchor.Centre, + Font = OsuFont.Default.With(size: 30f, weight: FontWeight.Bold), + UseFullGlyphHeight = false, + X = size, + Text = mod.ExtendedIconInformation, + }, modAcronym = new OsuSpriteText { Origin = Anchor.Centre, @@ -129,7 +155,8 @@ namespace osu.Game.Rulesets.UI private void updateColour() { - background.Colour = Selected.Value ? backgroundColour.Lighten(0.2f) : backgroundColour; + extendedText.Colour = background.Colour = Selected.Value ? backgroundColour.Lighten(0.2f) : backgroundColour; + extendedBackground.Colour = Selected.Value ? backgroundColour.Darken(2.4f) : backgroundColour.Darken(2.8f); } } } From 192eb541c0df560b126aca56fa8a9d8eb0d1c166 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 19:03:02 +0900 Subject: [PATCH 063/106] Adjust sizing to work better with expansion (no more centre anchoring) --- osu.Game/Rulesets/UI/ModIcon.cs | 105 ++++++++++++++++++++------------ 1 file changed, 66 insertions(+), 39 deletions(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 58f7f2c90d..7d1ca412a7 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -60,6 +60,8 @@ namespace osu.Game.Rulesets.UI private OsuSpriteText extendedText; + private Container extendedContent; + /// /// Construct a new instance. /// @@ -67,6 +69,9 @@ namespace osu.Game.Rulesets.UI /// Whether a tooltip describing the mod should display on hover. public ModIcon(IMod mod, bool showTooltip = true) { + AutoSizeAxes = Axes.X; + Height = size; + this.mod = mod ?? throw new ArgumentNullException(nameof(mod)); this.showTooltip = showTooltip; } @@ -74,52 +79,68 @@ namespace osu.Game.Rulesets.UI [BackgroundDependencyLoader] private void load(TextureStore textures) { - AutoSizeAxes = Axes.Both; - Children = new Drawable[] { - background = new SpriteIcon + new Container { - Origin = Anchor.Centre, - Anchor = Anchor.Centre, + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, + Name = "main content", Size = new Vector2(size), - Icon = OsuIcon.ModBg, - Shadow = true, + Children = new Drawable[] + { + background = new SpriteIcon + { + Origin = Anchor.Centre, + Anchor = Anchor.Centre, + Size = new Vector2(size), + Icon = OsuIcon.ModBg, + Shadow = true, + }, + modAcronym = new OsuSpriteText + { + Origin = Anchor.Centre, + Anchor = Anchor.Centre, + Colour = OsuColour.Gray(84), + Alpha = 0, + Font = OsuFont.Numeric.With(null, 22f), + UseFullGlyphHeight = false, + Text = mod.Acronym + }, + modIcon = new SpriteIcon + { + Origin = Anchor.Centre, + Anchor = Anchor.Centre, + Colour = OsuColour.Gray(84), + Size = new Vector2(45), + Icon = FontAwesome.Solid.Question + }, + } }, - extendedBackground = new Sprite + extendedContent = new Container { - Anchor = Anchor.Centre, - Origin = Anchor.Centre, - Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), - X = size - 3, + Name = "extended content", + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, Size = new Vector2(120, 55), - }, - extendedText = new OsuSpriteText - { - Origin = Anchor.Centre, - Anchor = Anchor.Centre, - Font = OsuFont.Default.With(size: 30f, weight: FontWeight.Bold), - UseFullGlyphHeight = false, - X = size, - Text = mod.ExtendedIconInformation, - }, - modAcronym = new OsuSpriteText - { - Origin = Anchor.Centre, - Anchor = Anchor.Centre, - Colour = OsuColour.Gray(84), - Alpha = 0, - Font = OsuFont.Numeric.With(null, 22f), - UseFullGlyphHeight = false, - Text = mod.Acronym - }, - modIcon = new SpriteIcon - { - Origin = Anchor.Centre, - Anchor = Anchor.Centre, - Colour = OsuColour.Gray(84), - Size = new Vector2(45), - Icon = FontAwesome.Solid.Question + X = size - 23, + Children = new Drawable[] + { + extendedBackground = new Sprite + { + Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), + Size = new Vector2(120, 55), + }, + extendedText = new OsuSpriteText + { + Font = OsuFont.Default.With(size: 30f, weight: FontWeight.Bold), + UseFullGlyphHeight = false, + Text = mod.ExtendedIconInformation, + X = 5, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + }, + } }, }; } @@ -151,6 +172,12 @@ namespace osu.Game.Rulesets.UI backgroundColour = colours.ForModType(value.Type); updateColour(); + + bool hasExtended = !string.IsNullOrEmpty(mod.ExtendedIconInformation); + + extendedContent.Alpha = hasExtended ? 1 : 0; + + extendedText.Text = mod.ExtendedIconInformation; } private void updateColour() From 6e602929a4e3a59b88446cb7bb2c38b23ea3476a Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 19:16:31 +0900 Subject: [PATCH 064/106] Add support for tracking settings changes --- osu.Game/Rulesets/UI/ModIcon.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 7d1ca412a7..6101efc436 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -18,6 +18,7 @@ using osu.Framework.Bindables; using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Graphics.Textures; using osu.Framework.Localisation; +using osu.Game.Configuration; namespace osu.Game.Rulesets.UI { @@ -44,6 +45,9 @@ namespace osu.Game.Rulesets.UI get => mod; set { + if (mod == value) + return; + mod = value; if (IsLoaded) @@ -62,6 +66,8 @@ namespace osu.Game.Rulesets.UI private Container extendedContent; + private ModSettingChangeTracker modSettingsChangeTracker; + /// /// Construct a new instance. /// @@ -123,7 +129,7 @@ namespace osu.Game.Rulesets.UI Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft, Size = new Vector2(120, 55), - X = size - 23, + X = size - 22, Children = new Drawable[] { extendedBackground = new Sprite @@ -156,6 +162,14 @@ namespace osu.Game.Rulesets.UI private void updateMod(IMod value) { + modSettingsChangeTracker?.Dispose(); + + if (value is Mod actualMod) + { + modSettingsChangeTracker = new ModSettingChangeTracker(new[] { actualMod }); + modSettingsChangeTracker.SettingChanged = _ => updateMod(actualMod); + } + modAcronym.Text = value.Acronym; modIcon.Icon = value.Icon ?? FontAwesome.Solid.Question; @@ -185,5 +199,11 @@ namespace osu.Game.Rulesets.UI extendedText.Colour = background.Colour = Selected.Value ? backgroundColour.Lighten(0.2f) : backgroundColour; extendedBackground.Colour = Selected.Value ? backgroundColour.Darken(2.4f) : backgroundColour.Darken(2.8f); } + + protected override void Dispose(bool isDisposing) + { + base.Dispose(isDisposing); + modSettingsChangeTracker?.Dispose(); + } } } From 9f4df2988094a19838a7d8b5e574020c933ff607 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 19:16:23 +0900 Subject: [PATCH 065/106] Adjust fade durations at player loader to better hide mod jank --- osu.Game/Screens/Play/PlayerLoader.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game/Screens/Play/PlayerLoader.cs b/osu.Game/Screens/Play/PlayerLoader.cs index 872425e3fd..4054e456b9 100644 --- a/osu.Game/Screens/Play/PlayerLoader.cs +++ b/osu.Game/Screens/Play/PlayerLoader.cs @@ -247,7 +247,7 @@ namespace osu.Game.Screens.Play contentIn(); - MetadataInfo.Delay(750).FadeIn(500); + MetadataInfo.Delay(750).FadeIn(500, Easing.OutQuint); // after an initial delay, start the debounced load check. // this will continue to execute even after resuming back on restart. @@ -420,7 +420,7 @@ namespace osu.Game.Screens.Play { MetadataInfo.Loading = true; - content.FadeInFromZero(400); + content.FadeInFromZero(500, Easing.OutQuint); content.ScaleTo(1, 650, Easing.OutQuint).Then().Schedule(prepareNewPlayer); settingsScroll.FadeInFromZero(500, Easing.Out) From 1246f151869a99a7d7f404cc6a3c80e522f98f82 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Wed, 27 Sep 2023 19:21:10 +0900 Subject: [PATCH 066/106] Don't show extended information where it duplicates already visible information --- .../Online/Leaderboards/LeaderboardScoreTooltip.cs | 2 +- osu.Game/Rulesets/UI/ModIcon.cs | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs b/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs index 0b2e401f57..48e6be1b17 100644 --- a/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs +++ b/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs @@ -210,7 +210,7 @@ namespace osu.Game.Online.Leaderboards Spacing = new Vector2(2f, 0f), Children = new Drawable[] { - new ModIcon(mod, showTooltip: false).With(icon => + new ModIcon(mod, showTooltip: false, showExtendedInformation: false).With(icon => { icon.Origin = Anchor.CentreLeft; icon.Anchor = Anchor.CentreLeft; diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 6101efc436..f13ed0d89d 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -38,7 +38,9 @@ namespace osu.Game.Rulesets.UI public virtual LocalisableString TooltipText => showTooltip ? ((mod as Mod)?.IconTooltip ?? mod.Name) : null; private IMod mod; + private readonly bool showTooltip; + private readonly bool showExtendedInformation; public IMod Mod { @@ -73,13 +75,15 @@ namespace osu.Game.Rulesets.UI ///

yftJ!Y0GsdcN%;MEM+5u>2KjHnOqx_AeVsl z_CP*3E@GR?8nTYm7?*od@l=B^+bO&1n(VdXMvK|N!rqKja`Kj{vv~f?(>M=p=c)}| zOvv?Al|yS>FjK${A~9cf?eXzO_o5MXclE2rX9LkU5zkX)UYqP+`w)CzE`P7{&dJ9g zm@6d|ZEWnPV~@4lML3)+>Nhx4NZYf1R_J$6m!a zz;P`c#CMGl|9vdXa+l(``Ew=)Y?f{W9!%J@YDKla@!VTZx;n}cj^r)XdUS$yq|ae$LT>Uj2lnE z1dwpKVfy~Khpk8BMsBeE8FTeueKK_Fv$lPZI=q>on^SJIy-O|nHwMH59hPy_rys-6`O;iCCar`US4wr>E(?kD5Y>WE5cYiTgY2_-v?f!90 z0@e!o;xXmU+FRD>38qxfW-X339=Z-5mC|1O>6ek;nhY~xhVD+>JWQFSZ0TL2AXv{2 z?92H(47a=>M3p=c>Jl;1$Oro9&iswXP?w0hc3W37yEKZ&wwC=tH*KGFq`Smj%EZ!j z_?%_>o8>SJcwHmTx9dX?1AFG}bP=vmh>N3V;Zb*(etZI%a}K_T0^I_L5I zdTOw|0T_ur`mCEiob3&{Q+2sY$?s<4&s?>YwtcDv-uW!`OJL3e96^BR9Nh|2-PPhz zzN=Z?V)J`4gY=(>{f;s3uF|||Dv1MTs4V5%LIsTM>Bv_ayp!ur;ln~qclIeJA52%N zpsLa30u4F|Jo1|1ELXA27~Vy&EpTsdLR5h@V+nNgmbrd<+Br>JmAr;zy3a84xXd(# zOWKyk(@!-%tF@MDya@@X`eZ29P;-u`UXdHBxMRN_iRx_R`s1*DU-hq&`S-3Ow{KsN zqQjvXP%r5UoYlAXoxuddXISVUA=2O&dy!_VH}AqTX;7|xE}=nf8=D$8(*-4n>^l1= zh3+=Ew&!|uG{R-Rq?v2_s$D!Iry)NOCV-=qD+^BO8rV?(CQoDi8TGpUgZ4e) z>o|TTFzR=b*Q8O^I2qLqYSGuD7AUcg>aixg2sEu-dWcSx<{GQNwshARNIm8HRY$zb zd?)6(+{hWBhHAS;b2$V?%O%!ulA;0`153I4LxSIU8Hi~zFBqUiFZVTJb_g*7B~e5e zgeKqh8OsUDjAjcaCKB&Dxp3+3x)K=bf$ayn5#RK-XHQ=7ei4}Doyhz1Sj+0{@9w2H zN|~u8;WC@Tyefyu+nmbGyk`1O*2kD{pEo;4$sSvmFU$$yrS`g z&NpLE*6W7nS3AEy1pbL=38T(sh=1+yJiCWZ=kp3(Uib5%r~+wvmv8IM!cs7Etxi(p zx3Mfk$$Ze5y;7;lqP#i-VLlXh7bT7#XJLdwH0U1F1PmOtRTQp|JyB*L{`d{3;%|V> zS;$w=m9B?J;F=fs@?n;JB5TiInq05QJ2x;xl>+gQ4%IRC%qQonbb0gC zv!Pwhr?r5#Dp5zPYy(#Qj12&MdmJwLd3ACrQ|-hafm@anmPUMONVD{=X9uq*D5h&~ zU&RR(-?g}l5~q&HdA9V=;K%533LPEKE7t0sqz5100ZuI?hn3wu(e^9_s|kxYv`1^| zBohM$97kQjQ@JNsa0Dt8*(JO|@`#;~X+MltPbRm*^-e4oA$6rw%BVr zI8?}b>>UTbEn(qupPzu#0IjJKL+(jAU(kh+zl@j}Rvz6JRH{P9xl&z6<8iae%{z#@ zH@9>*YF;~9j)x6Np?_cf8Kr1m-BF*W*cliLGvtRFe|lEm2UtN3`x0dXU)8}?49`Nu zgy?&0ssyuiTz1acpJbBLEH=#3KUg(LKu;@{foRQ?_rd^(`yF;aj{_8m9@6&OSDuDt z7=6T5Y$xt@mt)`smt5YyN1%YIeC6uX9!kS_k4*^c?j^Xw#`ixTYTsvAaAG{6H6z^F zC%o;E)X!SMU`A+ivG*^U>2TzhfF$)f8(^#pC?fhmfB2cx`4a3J(V7VbCLkli44&3 zhL6bO5t~{f_xV@vedk-+veC%ziSgH^?u?YmeTArWaPP1K*MKM@kErgCNBW44Tboav zCtR*=(-bBAeb)U`*GYR6d_5^^_h6kQR+yKj)v4iPTNPu&L4?jWT!5?AHKHCrU=%IA4?hAs+# z*yX3cxwQ^B*W$*WWI}2Hm!xGeF9gqRFW#3Qknp)~A&#@@I__5bG~;20M3ygQZ%0-1 zaSF7tsPBO>JavUgmegHBFvR8jo6YmE#N&5Q`7!13Ow+?={lr)l2f{m6DKw`SvE=sKp7hW>=_RxJKxa!hM3L+L`;N* zAeGJlBj5Z#c)BOwx2MMynN=<|VxYcgDk)}EG|U8I1IF*`8Gu0cH*hr1$LoM+#geeG zi!l&^htB;6Ef*e_N44;O`Fz=iPGu1 z42*{r%*>YEeOl8o(yZ+Bv-3nf8rhSnYT3of2sSJ@{>z|GKIQ~s=hZ>0><;5>x|OO< z2e_@o+sImdYIreRIeQ1e8 zfnB_}SQA6~tq}uxH9BIRBChi;Z2SiRw;n>!zl7wkI5DC_&jFe7?p7uv4wBB_ z-BBw{T5T-Qe{t0n1OpT^4oQW$fH&^vdk$PM6?La`LCdcW{?XZb4AVsFh{Z4fk&9Y} z&tT~5%DXoUZ6p>=;!E!-Y0ve0v5fae$bXIadKYn&f-~(>OHY@tSxBPT-F+#PB)$AH8zzn}cCy(Vb zU#W88C*iNq&slaQi>U%Fi02J2l+%0m{*h_%m50BGycu)qIL>R@;3#L93T~v`!NOi@ zG$2&khc!zDcn^J^j^rR_!R>~bQqKo4&6I1uD{1Dr?Z*4E*1-`(m@mHK2h8%nMKGuK z!`#;JMfe+W^+c*|5@$edo#j`?-nQ=j&aQ}3>2k@DP`6_tHwZf3!&h&}7w%Lntc^;n zxR!aw!V zx~*w;VJ~J{E@DX+*DJ}tE1k>fC;Z)2Z6&Sf>prX@s{ti^djQ@{8Tr94O`X&z=c6(N z!zl@?vMmBM?4W{wT3q$7xcQ0a@;6pt8lyAlS6lHienC3sRf6SwHLtca8>=*qt|7E9 zf3v8xQ?T(YZr3SI{Yedm0p&q>urB5z@^g7WQ=p`G>6q;PArZ2~SO*rAKKxJi>|hVW8g*F9vRPVG9`>$kfp9 z1tm*si}{xSAu+P@V;mV@IkRMUsVF~m*E{}P7;sLT=ztXbON-3WS z9h)n02KAGv%L-Ga>ArX1oaFg04PM+UWf!nExft-^UWt`#8a>~)XKx^AnWIO<_nD~P zrBF8mDk;~X=<|AGhlr~HFH>?VNX+%`Cg#B{qM1c7six&Xt=?DR1XCi z%*s<2qaa#lnv*Qu7F``ZWuimrc@Vx+W&A?NeJL3@VlZK&y(4X(V~T7;Q1!YrrcazD zt#QdBA=llwhINoPM@BkC(KaNS<0)#>*vd2 zX>icx(eevJHy)Me@I!IC575thPm8F1>i-dr6JoJ%`rBRj&fX|3{as~qsW?BPFqc)P z|BsdkKgb4NNyGG5p{%X#`HPHVb~{zZx1tk6Os$E3)2#n(+NhXt-thBr@0vAx z)k_zq?r+YzN+kcl_6hI5R`(afZuC(;j-OyfPO(M%LSj=)Ja=GT^SU!Jqba5jZP3Cr z+yQZ?KUZxcL1x=^h0170UyNmiK2EK@Csiq4An*H=wd-eR;UOe%#kE8$R^dB>^%9YR zN)Jv0R5UnE-JC80pH~+aySMiddVdqX|2Jb>%L;-q20N3)rtN-`7y+D$dOWgf9Qd)q z(XsUWHT!6PMRUc%BIunK;wRD6k`z1gau;#*_HpC@|Jq1}A+Awx&^e949Dbm1&~4ljjEG*y$@n+_&K7Q>$gH zOryOfOB=`DmEb~|AD@R$Zi^wPvYemHB3zt@A&6;48euVj!4Tuk?8#u{PlF6bL}xI5 z;wsLcuAE*3Au_itx}opD-m{V%szFBS3v~P#)tvMFU=;Dlnw$jE7@T34a-4K51)oTJ zj)mbXBJrxqG|!)w5Xu={o-!qVhTkS#5^I2$X*|8FnCcSkZ!<7qH&dWB9%7l43GeHN z>sgVLX+FQOIX)S|n9pLL9ypht&%Ac&&G4m{%B!l<=^u{k=N_LnaoU}cOFdy&Bxu15 z`Dlv7<|JmP6vQ0u%Fjya4z&Lm^bAyUl6#i-0kn)9rk(aYg0u-6!!=f<-I{^y%meK7^6+52<#w!KI#D>?X2hr|cx5l(B`#+me0BD3UEnmMk-4tVxl*QbXBg z4`rPqi7b)GHq&A!TNuppy?cEA`TgeKdCbhY&s_Jp&UMb~dG7jsFYoY}X1Bgv%?CG} z2t=wKUR%CsppoU2QhF87aeDT0%_q;(#RpLz%;g=yJGG-|t$ID@AF)xM?dMzB`FbKK z`iDmr6KuB)3>~iPYz^vPybbIWr0)^RGk93M1b zO0f$=YF+VS(LnV&@KawFbsn!iElexdWq|KSkTot%mucSy<(+DQszJ)mCD|4>^f}6q zYphD>mfAgLlH{usX9RTm*vl4Jv>=on6+57uUuo`ysFedTP_N2?U7+hS#ET)=F3J0O z3ruSg*3(3318zj)u57~(5l#EA54?VT@+)>yD4qEG(t$ayuDkyc6HG?WmXlJrl8>-z zAc!343-Hx@wbFI$B*eAL+5;va1lqA3?Hv``YW-P2^D(TO3*K-}(lvbfFcXgJ_CE}) zxheR3{hWvISJ6-qV#$vlO>?2|VX$PhD}G>j!|Ljl`nBPC^wpeiR72_D%DzaKW|nRW*&N3T@B%JT?B*Q|ruL6Gy3-mJi7$W=0t z0F5<#;^66JKu>`81RDmzW6xstEfO}{cH2+@pI#{1b33$ncV}?i-%3l|u`i)sPY|Kn z1m)1?@HUr(F^^GEUmL5+4hr|Uqjom;<))W0h=v6B==gwM z&krdI=FSi4exr@=75*jU32-7pIPtMCm@HA)$E^amE9GS_$w4=a>C8AtGRGOFm-vDw zlTST;CO@WT1eK;LT|s@fp4F|NVmLoCvzTQ2WLctkRjLmfPw$c>Rr0L%L$QJm7%@N@ z7(T*EaH+CWLQh4vd~3V8s|%)W&nHqt2G96-I^d7IkQ!nI1l=K7VBAE-p)u3imkw5* zsD>S?JoX5}x#ODl?^wR3XFQ}4NJH7A!F8!w;tWLUa~MSWJ*g;6e*lVQ2?{&2Bo0yI z)ojz>n3@R^vC<-5s=}MxId+}p`h@dqR(kl+!O1vbDxCs~54wsvP41k_W<0f0B>%yV z-T;@-sF?um(_>~#>@&%AqSNkSSLYjc67z#~GCQIkvgPnIC?VCE4Sx*CyJrR*vHdK_ zktUKR;@IjKSNUfr;^#z`Mqg<4OGzbg6p9cm@g!yt62eKsUrRM`!0jguX6dss0H(y^ zVO&vX_1*9$MW?&38b7aT}IY_(e*`5aUhAPiEVDqe>>xwTje%4_a+(4*JDdj29;WahnJoTky; zr>py!LG#Y@5bY;@EL@tm-aT`H^f;M7g{eM-t6Wh&mS*KO2Uz#fy6PpfaS&G*^L_Hr zd%4rrz46Lwhf^f@eIRw|XnSl&F0Qj0V5mWLubF+@TL`YiO><(t#AEW<^>3XLqjCcb zRXhDF=d7bqq+ZQS;D)7)+oOIc8*3F$Ta{|RF?#Y^YA`CF4FJ>!bxb+E79QjKV(py z%|z&GKI9|kC*q}NJhv1!$_DjKpdQ@Rmna;r(_{QEDTi1n`o>LuB~ANz7B=FbYx2Kq zK8<;5^I)2k^^SZx;ylxX<@#|xaK-f;maai%1rA?WoPEsdJbdb@8JNLstWX*HI7=D zGmnB^?tEuCl{Wi+?_HUVlX@{!6f5VF2|h4MeViH5(Z8nZ$n}y zyL+$Hg#(F+Wk*N@M+@Qd5vK+}5;h%x0{E3E^+y65^Ds^@39=^!p~JzJgukvqnnw2GjRMTkd?sG-9|H*&Y+0>jsAmePiBE{D5cnq8H~vRlG^ zh<21*7&-{f`qPXFs-12&g7Rxl0bXOce4+r=vJCKLL9Ge#<8FW~VIxR#{I<4w|2p@8ja>K$bFdQU0-k3P$LpY4Kt7V$p!|xY6%oaPdIY?K&wX~g8R8w1 zaI(j3S!3`F4%b8mwPQC?D9o`q4pkuT?Jad>!QQVV`tBi$_I%wmou3B63JGXE@CU(A z6Q=b)vLo>4Q1%KV=;tK*NR3=JqwpR1nG!%`Pp*ettOB!3cPrdcMM?H9|D?+!;hlCbB1A zW0~)8+z8|BfCg#QD)Z~B_=*EB&gV7%%L>+57xGW_=m44^N6H3@JO{m?s_Mf)?K!>_ z&xgD}vux`w^IGb{Q|l6PBrn5=)yp8&fcOQ9ZfB2m{t=s7vpSs1A}@#iC|$q>fYw;) z{=+!hvaP26WOjI5Sz#(XpVPxFM-}BTBrZX^ts%iJP+knn?<=t$a7b3xIiOS$0@iof z!B6?mCcqF*JkL;snOs=oUl zpR~_m=^=f#cKwnYC--d~KwWklNIYW_k@!aaeXqAFu>qdX!p-e%yb%oQ`j#y|rPaNu zTczQLJ|C9=6;!l-t#L&ujxI9 z@ym+PHVp8i&Kz_65duwL+Ojzd{ zg0&|(vf$&L$V{75-k*7%suhf{C}lgCFkiGL#ne8=eoG0iJ~L8z1SDWKXZ`Ayx%Q)X zeogLKb&!wxG6T<{*=icYRZ&c)Om*Ph_dHV=MC`W zQ^|I)`pdlOJYL4>oKyqM-U%9`qNapa@!OHku!GzXX}ZHP-hX-U! ziGM1_5Tv>~>)K*NEypj-d{yZ>iv_8InAx)uQ@y(ykVO3fmLj=yKm9Ny%}=uSvgAE| z8_-d*unzWJb&6WWfi_$CEH&nCUQ+o}uf`_7n19<;=>qzu9vR#577V$M6Mc(y`dr;_ zCy^}xDzm%sRU+2r9!{E!n+jEeBI=;Q+xW6Ul2F_BF!pG{IE13R(UWjFW(a;H;BgLE z=5!x9{mdz`Snw5Xv!9+j4sxGe5W_n^B@>Oojs>ePlJFJ(gv%HeJ9IR9>6_%kuW7%w zBlI$U;&f9GO}7>)CvuT^#A9RAr1w?Lme^xR&WAKd{f^*cRLn}P4hd;&}~Np#n@ zhm(#9+HSYp={&-cPT~CmrdY!w3P0{ib&Ll|es~UjLlngb$S8{{< z9G^IuCwdcGHl5qN$X#(z@%u!#ZdVPMyG=b<`?;6a>A~n4UDpPag9o<@-M*c6Zk5ZVKZ^Dw)byph@e+@dAgT>5eDEtt+av$vH^f6<)QSUbVo+J+( z7z#3lB0Md}Q}(Y0yH0&m?$WT>&#+gp8@wXc=JyQL{=bVbJGtwUko?p7H0jJjg$gD= z*nCC-RC6V~7x^5@WoY-#NG9$=frs7Nn4JfKkqF$x*YweScX-MUH0H*W!~3hpTx9mZ z!)YUk8aMBPneBmjVDU}ioY4D4XatSP(H2HLH$EhBU}F~kjm$}1e{n!Ahnl6c!JT8( zEhywu1&pYRP+uHt5g*qAxW@+i27b^8xehWI3fGYQTL~&1GMYeLg1s~* zUuy7N?~oV#g}=HSLEWBmnKgr#fZwgVD7C6;?uk#U*fk(Ip6`fk4G$_?nKu#35Te-= zF@aCE1h+55fJHv=P&Ko4|D&2#lVh`EoA3iMNx<8IL{?q@aOV*cr0! z?221x%_`_%cXOc+Sx4q?rznIA&+#AmPk3(RsCrMjIlO+kKb2$!2SBXf7-ai7Um&E| z)0?G|behfYb5P}n**?+aDN#{}adUcaAMb$#lBt7Y|9s}aiR^W8T<5|6N6wQSwkl(Z ze`(l_j}Yv1oZh~B9Mi}P@Vu+rljoX@T7*@!=31s&-p)Sp3|nA?|p0&{!~vU@4M9V6m1HR9qUP?l){{2PkD@Y&d^KhTAQZIviBlq?dyXsU~fTWr{{anp_f}6R~J$!ItH}?nY zr~-n6J?rucmNb<9;n>;r`S-}yeoNky@sZIiiw$sfp2+xNJFa+$gj6~7W<^J#FxVS- zJ=d4A@AWHq?qAUY9Dh=Mdig=*Ne|_S=9L!vKD8QGB!e8kz&sMs!0^mQul~`yzq^m) zB{P}L;l%@i*S_yuWkdYAFYjOH9scqBsq^lm<(G;TnM@1Ca@oO=Fn(A8?+ie8xtMAy|k4%8h*g&-s??ONtSL&M#vXuSxYC_ zn0YG>l|um*L~%$To-8Bq1rMB*F&e~LhwN$W;`YmrEEso6AL>ThmqcI=&c4qR?eA$6NqBPe= z;Ea($Zy`VpIfIO+7E*x?Qw&GSVmed#{TmT$@5?#%_G1B+H%==(7%|u`pzV>dZ_l>t ztcA9Sm6U|%pDGLUhdeJ#F#^ESND#)d;ieF+M{mTV-`4G zLnv$j6&&hzGeSRE|H2Dvs(zS8`hDR^S8`D2i15clkA;|fTJ zSu6Tglmzvzge3H_jbfo%Q_NGfNVH=aO;(250LR^#qL9N7c}Lk*ZK0c?hxKkf)OT>I zrw*_&MADL0d7sh%-TschT9HyA@Y%5NN_8%eYf>XqHwqUTx!G}8x9$5?Y?DE)PBKg#4~p0Nar}ysT-LBU zd)Gbf$J5+FY=Yy&)=sQm``LDCV|duzqcQ|UHc&~+LWyJ~+nVd!u_$vE@j9}$y$=Z` zK~x+<8RyQvFoIdpM|W@!rvStJP0G_d;TEQ)A3o1ja~K5=pXZ zfQ!`rD99~?G6bgL2e^JiPpO@d=Hq&)e&l;{qt;JDxnkB6Qcj!G*G$A0F=&#z)8^ku9^5?5WO`a!gJ7A5d=~BO~fc*?f-^%UYR)g)n2$mW5 zI5Pqq-#3k&Gxz7A=uo}gK_R|3F{Ki3W@Ufw;=Li4H6-Jqim|#HZ#ZBq zhHp4nSZtHy^vVx>8lhV#fm@E7*D!*o0Pcw0HigBvHG&31(IR`qM zR(1Uh2Jz1u>t!8|f%X;&wvR06T#nH;TRixI$F%qiaMFug;JbCS4pkx^XflR^q3s&$ zEdqQ)4cM>(hV=>Q+VqjyKGWyxcV)(f$=oe*YBOrhK8_2ZPa8Z-r-Z}V+=m|P6fPXv z@Umz=;FNz>#RyJF&w|`y60;aJFM*OZJ%y97WJjv7faIt0f^mLJjXUmjmabK~D<-Y8 zs>hlhnuA6zV`DlUl*aon^s5TBc*@tm2!K%Cwyf|~l&5oQ#2BY2FZss0v9U9p1r)H!8HKUD}JSZ-C06;teQ~)w;)co~Ag z;kRo#0L3Url5$1aa|5|oau)V|S`+}W5=f<>1 za>4j%%O=oR{>sRP$=8#OO)=ozr57OP@HG2+v7P+)98c#b6}~AidPO<+e%cdDX$z#p zCrU<>PygQT>Gm4=35g z2(UFwMHULHkiM>4WaL*v|GXzDOngwr!=9`37Mdqsm(Q`WuK190MQMB>EU>1QJfYU; zzh>SrqMW;0@BTUfoQY^;Z+9WX>u%gyTT#V2hNK!$Ud zkw{{SR^UC&`-sMXuYpADU;3dq7gd4<;w1~|{VwHH#7_N-5fdQskV@Fd-Sx479onzf zOcD3Y_#-mx?7+9N`W+)juM64U&a)ZKX)uq!2c?VKI1`rPge5z2eG2jPQqo6GhN%%C zDj91Z0C9vJPAE{1RKyys@(0|$DVeE}jOgcVBW<6U?FI)jWftm+>?Jn;n)*>SD!Mz( zh@d=hKXL2$uUqGW37cNW{-a&|odl7A5oCJ#T-eU)nx=m{p6~kVve}m0#rN-yA-x{+ z%-^Ule`@|txr}A>TR=m>QDxUk{yvjNyGFm_C+;d^>~fV(@_8(ynwPqUIo&UxwtOV8 zFRmEl_UABfgLtixiF8V1S{ROb7y}n?GcOXDHhd%z+1eYoYR2SHM5r^ z`tv{68=>MM$oKeo8?!S8wXsD@`h1nYHMlAAr>3s|DtTOAvYb*VoKm=yQvNi>*U9Be z{f=#6Ko+}PgPpuflkd|UPhoI4abk%-sPu@?c=&$0?enjMs3+r$rM;D zly-Wp8#@(AsV=oF%dj?&d|oH+ z-m@GwLJ6L{te!#%2E6s?D-<>?g{6Aopc;*&kvQ5(JaNN5Ydynhx1=A%f5r~CwzE$l zYKrPZ*1hcwNGmNb%3J(yv{d*f`Yn}Q7rxzx90eaPAo%YY0XfzF;5nzIq+7O~C;fDfSgviFzyv{KT)oxF=egxshwoK;HlY7e`cR}7l5N|C zpeaphMK#yCZkWDiGtCput9{nwd9z<%VNQcFXvk~$BH7qR=mMV<-w#t66rUlY8E$tA z(3}Tk;c6ZUNfx2bIRcLhU2VLCCG?SLf^SSOb|R?J9`{shxBub{HablO)CmEtTl0@- z7F``55e!ocz_k{BS0EM=fL~-my<3mv;uVAH{#ZQ8Yw*GaGx5A1whu8oyq!{WAsHt7 zW8DljVr0Mbiqv_5$mGd70DY@6$@Xp6wecsK;}f$8fq}`^UgA;~QJZgoN%PUT?@@q| zxTJd4*8aAy>k$7HIt*Zl!>}$^xGzm^cMlG%P_zxZjyGp+Lwd_uk1D_}_Oksn-Vm#8 z`TL0`EqAjFyHYws{&k1QKWJ&V4cAXR}fQ+5xH6R;2X4(KTR%N@MgUcPSCNtrr6M=zD zC1Jp@*LkH5Q0^}?ITd7{d?|;d?MxOor2d{koGAYDrog=#= zNfK@J7#Dkm823EtP+n#@6Chrg_xX=Xgi(LIjrruz%j)n6S)Xp?CVaz;Rg2I834mq7 zUL&HQ!V?60Ym{BzWoRoRBKZ5R6yXph$6%RVhx)IaK^y?}T=QOcmDLuB+2c$_gk-76 z1f1{pTeXbXhxVQEZwbkFRTs}rXM~a`1#`T)Z64Pbk9sL=q zm4^8_w1mu&T?yLWx7_@AtU!+tLvR#?phN(+}!x7&0JNwlTm7m;|D z+h<{N0-l6kN7Fvr-1Hf`SAj1NDqn-xI37&|yJ{-Y3PPi&2kwBa#IXdNWCX z?eElo9$sj_eqJ<)jV1;O$U+=VNT`L@&ZVN+EFMB+hfWo-#M}1y$MNeAvlw{TGLPi| z8XQ!}NYs`l8$|Zvq1Z+^ycWf$ydt8{ZRlhII2&|csw$cjtCXeH0y>&7$Zx5*S8(9W zpDu2yE_A}!Der?giM?R3LN$ke#mV}IBRxMilvVN?DQ9lIQoLVrJDf!3BlXg ibi*qn-(#@@{Y;qu!}KMWkxm={zAj$)&$!wUL-;>oHH~=y literal 87032 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 CAgN>k diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-1@2x.png b/osu.Game.Rulesets.Osu.Tests/Resources/special-skin/hitcircleoverlay-1@2x.png index e611add3ba9861baf68614ec51d63d3f94c8592a..3b5e886933d2f7a8803a44304c5439058ef86fa2 100755 GIT binary patch literal 40858 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�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 U^GtX>4gf!XyL%uw1Pc(DKu92j;1Zk!4M7q# z*xX5e?|IKT>wfo-v)29oJ1iJ_x~rbO>#5qctGYX0=ZOkF4h;?f0KivMRnh|hK&V3y z01E^4@9f#^H2^@n9%x|Vt7j9y;M2fTdFQJ&T#APutZMb zhyp#{ieQQ9D$F43PWC-Cx?BnN;Z5>eomI&zl8k7Q;N;dAIVM_c8a(M2bez;!4&K5edHOtC zFO*jcnhhw|94m(>4mODMTMYEr#m~q_KYpn#Eua+@;WZU|Wjj~kN6VgV(LiSGLfn#E z;L>EI(bzF(rJ}(n?pi%JZ{}I~p#&j)P`$7gcx>l2@irUNnqeH@D&PA>e$BYhf!nKz zR<6?Q+{U)=F7?f=-=5GqEy5O7{nx)mDRLJF|H#r`b*?G(e%Vpz(eFRj*tHt^p}8UC z)wO^uQh9z*-1R3+y|jLy?R|YmC~d)0@1D4)kKfx8*!N{b$jPg0f9gu}G1$oxUXOO8 zpswN;f5>HL4=LTKSVf4-zP>4bjg<0i%0fD>eGSW$teL$Fvp+IkTY0(OcURcp?!6pH zedAjmILXmhxzj#xevVrSM^D$JYoeM!|u3* zi%mFuN}p@1IQgsvhmxJ}CaK#7zJ>{eJ=&BhY+m}gEw;uH?d|Ab5nPg9<^3h+Gxb}( z9iwT>PII-&e$PfZkY0Y}k)+#E`rB?LSMj#&!&rf%3nMDC6-SU;r7u%}$MiBWnNg}^ z0ml3Jg7>DUIg-n^s_9+Jp99j%0u_HYM)`#heE8^V&Wu5QMgC!JY67DFP4Qv1GhqhF zoO1PQfhM<1qdYp^^P;WgI`&vMpsC%a^h_GEMgEU;j8MB_r<<23$o_tG1|r2X`QJi z$$_+vfW8&ZC=Eq`Y!)Z8wVXRGTrAsbFoJ=YeJgaww_b40msOdLfW=Xt{&~@oxNyt7 zao5%azi=Ec{S+ME$&cr0rdwd=O?yUJlrC(VoEQ*7&0VRQ$k@z%E6cFDJ4&7TmSp|8 zhm(ro8dR=(k)W-twuozYOHvQPzY8V5kW19tyaCurUIW28fcx$3zBH6yPMDwx6 zVXS02oh=qqBV0!9;S(8bD)#GltLStqYj(_1-iMZ+1R=n_SeH`tr%U$$w*8brBITeh zHv1*=Lvw*)shdWEwDQxKS=MARm+fPT!MvalRC;y!NjO3kax5%GU49OzDv&=drjMAN zkJDeT<=mOkccwNNbLC6!UwAEWJm3A)j^Hg>js3krjA5+_MBH7)aYv@GVDI`dlN|_v zFlZ628{nHPJNVT1UHa_(blw35>}^c;F;?2Bs0z2f@g0%8nT@{a#@^5g zEJoh%dczyfDt#RA$nfa9rx+a4wsoJ`sdAAQnAD$qhDcBsx>{Mjx;gwMa{8%aHz_B1xW z#5m;TmB?em=D>3rCON;0Uh#aofR0S3Phh~+(ivZ<4r?qGx|JK>_S~3W^q|G0EBV#o z&@&AwO8!r&gH7x)gfN_}YkWJ*G}en z?!T)wDE;*WFzVWoGJYMIG9R8Y*O$SC1k(HejZK*;0q5j!& zQt#=s(Zh9t1|)Y|_a0m_!474a36C~D7h}}Fc)U@J-^J=4_^8{4r;oSQ8*^hHlZV#d zotz;C;7p-rK!f&)E7&x`hV5mdx_eF27kC%B<|@7~aKPDYM{=bacP}l%C4!r?Tk@lp zd3atxt`FDB@T7b77t%CwR&}V~cVPK=v~vx5x0DRIN~IZ7-OGnZbht{O7{@b-OvP_! zxHhp*Vh2g>!}LMGXMOL=fOJ`XH+@AfJItsP*VKTYnZ~9Rz5`DLX&&o=#zCF{wU`)1~r7uUmn6 zvzl0#e}40WY?JtYA-aeO;;z^&UpW&b|GE5fvd}S`l2$JE>#v75dv5B<7zi3^e;PB6 z3ir&qK6#ccfa*FB!KB>AX-U7>RxPO8AX}9MH8U^8c|lMX@J=wpaU9T;FeTz+Kt~>o zEhhARhK0m!!@VYXmgP;iNgtWpc&t28w8*k+`h(!X#(C}iW#y6Md|Doik{4%+H3p43 zr!S@hW=YVf>@qP%axBV70jrW1JuDH7954DW#%}}#ldRB2)I=%b!v&jOeFzmfmG{bO zzg5_TRZ*iaKqY?2DS8=-5Q;!vp7c(z=Zd`6<8I6dDfLKSur{fvcVT9<4tc** z*9fZFNG=c`y+ep79xVx025P>D^rg!#kI*WtZWqMg9bAtyCp(3GKXWSAL=)c274l|E zDRwB>AC&rNgBKrFe0>GbUIpOFW-vT;YKexC3JLo%}TB1^qt!_Wx&&gJF zL|Wcm{j9*cFBq!*{ZRgG^hw(FVl{Z9z0*qQRdwQ>%g4SdQ7hcn=z|%EZ>&`uE;bEw z<+Kk;0y>jIqLR6|$cTy)PUtAb0QF&J6ohhIq{y+@LD@UwF@7J_Y+rMy=YbIB+J4%j z98I6q{p;VvQyF)F?|QX#3QFWkIidA?xUp^)-yVIMRiT@Vn0h&m z$7+i&teQaTzImZFRRO*YWEm7l8kGX#Gsw^Tzl6QJaRZK~8qZvssVu7KchY zGyD63{VV>Ts`b=M` zs2+9rGv^8>Pe*bZ3~q|9O8M=zO~pD_7Wz%HK;XW_z9b0SlK=`nN$$>cJ~wSkba|hb z^2p}p1Baxu;fiPF3nqyiEN7tEJnV>=i$aAF8e%CkQm5%9BE|Bs^7y0_t=e2Qm86Ju zW?x_6BY6VlH4*Mo)-U!1RKzl;>Z#a>M|>){jj-uT8&v9xTycIj@Pg=~>c?$H5{g*R`@` zS{@`jZQe_K+0URsZNeKGX>qINxfV0X>I<3A!ah3h3E`G2AfiOjPiABH6$;GH@i)I2 z-i{tx@~ecf=?$iLm%1D1S8 z-oYjXyyy($ad&oo@ zL02FlZ$+Etl)Lk*a`NW#Q4~8D%AZ{2>cnEmH>A(HKVf| zG;nT0U-4^aAkRWv*+n@Nwx7WR5X8_&&gA$cXm4-g+iFz(9whh5eVQb2E&;+pi!?5z z<`&@Br_u4ivdeu^U$A<5YPx-NhwT@HbM5W6w3FbWzotK!8GX(L$&Fop`?i&hxElNe zYFAF#W-RU}T*GfFB6S0QojX&eTE^OfF1M27-JUu!Y8+hp;ZFWnWHS+$-;=OJGwgj0 zsxn$NnYQn`Ydhvvix&n>E8B;kTJDE|^n@&sYve!cNr^MHF2@0$NHR^$>x#HPk?C8-f$C+@m=5sYkZaUxz0GfeOrEY{TED5D0?DBd+h3k^se8ak} z^qq;`O53xLfrINKHxJ2Z^)0&E!$T9!p{nGD<6%&QT>2RSn7%155eNPp5|QB(7A-dGa&kIjtFR_#@HW~ z)nRNajDdbGr)=Ayq1#1PA54K|)dS1f(er4mFMnK@xEKSnm1p9Ztod~GN0g;jQaP}7 zbWinz1i>SuUjU!@Cd4}q(^idflvQ=7pGF!ecBEpblP!5A&G(U@>W;XV!+$jr^%d8V9H5r$cuifc8yNouyxX%q7o6OGaoDWjW0kY8r0v|MZo zq3y)4D4yb-g3(7X1HLfRlbjUx>bXZI$@Po&s}QL!+cG*Q10TCl8Ojr*VT_2wfsbFB z5cJi*P~%7NuM8<+eoMjF;{i%$3lfWxB|Yl=FSr>n-*eL;99r-xq-^kE!=o`l6zE z%FH{0$ik<*8hi;}9F8m+Wcm6zCa(#oZve`gElGLF3#;vyII4cgJ*6T_>|GdkzU)dM7OUJL88e zzOI;JmbSh&C6ys-Rok32VS{^kEd0Ux3p`l`Sl{|$F-kj_MB6`RJ6Y5GY*g$xsLlB1 z_X9v0N~qNv)#@X%-yW^!`cCO#mgjTkUuUo06OcN8Fn^FkDUeWuZ{}85h&R*?W_jAo zT}}G7@{=20gLql}n`*FJ+sh$2Hih)xR2?libr-*53hcc|J5QEXMxL;sEvdMxygZuf z-YPGH=AU@rY1w>lVhb<0CDBSSR20{B+ePcoycOwD z4yv>_J$P)^SoV@Rx^xKa$I$cc4ZBC9HY43{^RMqCt3=j`OWsJ?n(oQ)4~B&rPcifK zoV-e4=!n!SXBEL3rgfE2Ox#!cHq~b&`SZe{?T6felv|$pV6OmZsKHaP@oB_%752}A z_D?U#RgZjryaK7MT9hTllTTl+imG-{l8-Kno}3>V4_KnL(2`*t*}g9rXt%OiT;hqb z)`NqW-YgltINXnu`@k@on*0@lMGi8iejQDE<5pbPc4>MP@@)BtOqQvg`dy4`xZAUDMO|s9mHAV)Wu0+@n9Zlq z^%B_Qw?L{ZhwvYbSQcJ1GK^Uys}h*g_+J(1;Gj+bqs4h>LtcaSJM$SA!uMS|Uw-*I zalzun0#)o=RGq#7m#Y<@c4VPrfnU4uc8Oqy$3JA?v0#)FmBJQJzy}SIrgiCFKkOp zuE#hglLX8^O~#0Giq&L#ob{Y^B%k_wxa01OvyK;aaH#r5T!fZAK3L+50>x1dShopf zue#RZGNo7bGO@Pqk++_829U>;Z^PMMW&;Fg_C=lU3}$5XNJ{~pDeHME#b%#n-`sUg zOuq$+_`WhN{G2==Z^+vv-229O+B>_W?en#FbAYzL#N^lq$GRXSNewcP?U7& zAv$*63eWv}AD@9rX{Ss|=0J%;+H4~(ch`7Q;wNh))--0O0-k(ahI~z9c+(7+=jE?3 zOW)jW{m>aa=zZ;JFgd%^pM&7qn0&o@Y+B%~7-7J~4=t#=Bdri~mV|5Bn|+A>$v&KK zTOnO7u$k+#bP2?*BAmT?6_TLN%{)AD!JYM$$4_28;=8hW--rs-TtjSWV(xV@ENhRa z)CYAh5^K?{TEVg7=l9)}l$p2mdW;>B3BDs(^X)BJYEMw$3$w3_XDQY(tt;jSx;~e= zq^c$2pIP=A((+DZ-o3{EAy1YRyHBUXmfL8P6H(ACqa1eC&U0N?CzbGu{W#BnW4FDa zk7bLja`d#!+uoXW+v{&KhK9e4ku7;VoSthd~ z+o>iy;&_-4aRuPO6t)-+wNoByMn2J>pbmiH*-Lyg@k4E@1ZX#!O* zSy%OZ6cdpJJ2joY97&&BU(N4oE=mS1KSJF}YJcgw$4gGBN4+$?FP@ZiuLLUJ@P(W# z)72LktrU))?oBc}>Dwzi6R>|f{M5e__jFR3sQNp-=L#?(@H08bBswgYS@hh4 zQwY97AS=5*z9(I2^R`u=-I{%?R1wyGQxQpa+1I3Q8T;L?|)b2nf4|uo}R(z zO(81h^j5D)T`Kq{rHWQ&Hs?8K&4@wbfH2{Q;dJz&o0^%Uu4FLM8f_-ABl>K^B* z`Eu29+4tXZ{Q)|n5)wAe0eXhZB1;s}CO=O~srA-$00!^z(qpmvEHUF^rEMI>Cuv-M z#h}m38~K{~?$*szFqt%x7~jBuDDILm&BB*V=LCM2er{YxVxkpujbwt~HT$v6&FMlj zHJ|VeR3h@+n_g5RvZOsMR7~cl;^~W@jU21;(9H^b>d!bM^(j@~Yn`~o!%`A3?8P&J-@NiFt(@TZ_&N1k@@B zwbeHPNJ=TtToSIXuoM6Q7zUhH>Se98RocJ&&Fr&7Df= z#ZF0<4cM2JbIZywEBb^$I05V(b92c6!_>QgFDz^Pn~tCvqnekHS6yEm zhmX`VX_mjZQmErUrv+G;{)+gzO0$?~=`bmJK7}!f@Qd(6_>`YH`wOwi;4nRUYVRPW zr}X$=5U6j`EKa_@UQz-A0RaL00mA&APaOqN4we*v2nh%Y@u4L6e4cyw+C1a)@L~M} z@ehU)%*XDjvzM>4rw7v?OdDHIKVNAU7Swg7|Cpbe0)qSy z0e5$S|El5RtL%>g`PYR0j~YG(sK?9#dN3bPzo&LEWq+85FYAAWu($iSzL(!qx4-7t z+X=wjVD2bUAJnLV|7}PWH7%WgYy6?W(b?VWuNI2z|0e0{?C_st{kOUOx$@VX|2h$r z`oD4ioAiI!{#O_!rKKgM-c}eQC<^;85ZX_jQBi5*_Frf92g)7=C21ohAz^1D#wRJ} zV9zHaE@aDRD{e2!XCo*iC?q6eXCr81{};;MPU^AeQ+FGbJDuHa9AN@p9*%!6{2^RQ zUPn!uMTj5rpJ#O3YXU!Jhh{Lh%o%AcSA|AK*WJkwRI6V%FwQprQc&YM_jfQhW-t@%4Oa;OXfm&GKhX zOn)^0#y8WWf4rjV?1Pec{wL)B74-Tr?|;7ivj*Ip|6XEZ`Wv@WHg^9E;$!0v`-cRS z-anV@oNPQCVW05IC2jabY$e6{Y(yZa4{>3bC`?cS zCMYQR*NlIo`*=F|2G~4>$vdJfMOlN2pug5Ias9(3_kR};aDx3I3L+%T2a)812pK>G zrGzA<1O*>Jgry)57J+|REbwPt|A)zs1pZ&7Jo+o}UlIXI@1Jw11cS;~0{>1}|03-V zkN+2c{^gASizA?*|96o85x@US*Z

/// The mod to be displayed /// Whether a tooltip describing the mod should display on hover. - public ModIcon(IMod mod, bool showTooltip = true) + /// Whether to display a mod's extended information, if available. + public ModIcon(IMod mod, bool showTooltip = true, bool showExtendedInformation = true) { AutoSizeAxes = Axes.X; Height = size; this.mod = mod ?? throw new ArgumentNullException(nameof(mod)); this.showTooltip = showTooltip; + this.showExtendedInformation = showExtendedInformation; } [BackgroundDependencyLoader] @@ -187,9 +191,9 @@ namespace osu.Game.Rulesets.UI backgroundColour = colours.ForModType(value.Type); updateColour(); - bool hasExtended = !string.IsNullOrEmpty(mod.ExtendedIconInformation); + bool showExtended = showExtendedInformation && !string.IsNullOrEmpty(mod.ExtendedIconInformation); - extendedContent.Alpha = hasExtended ? 1 : 0; + extendedContent.Alpha = showExtended ? 1 : 0; extendedText.Text = mod.ExtendedIconInformation; } From 83bf1efc1cff73e82356915e5963f454ff0342af Mon Sep 17 00:00:00 2001 From: NiceAesth Date: Wed, 27 Sep 2023 16:29:29 +0300 Subject: [PATCH 067/106] Add `color` search alias for `colour` settings --- osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs | 1 + .../Overlays/Settings/Sections/Gameplay/BeatmapSettings.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs b/osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs index 065534eec4..30eca0636c 100644 --- a/osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs +++ b/osu.Game.Rulesets.Mania/ManiaSettingsSubsection.cs @@ -41,6 +41,7 @@ namespace osu.Game.Rulesets.Mania }, new SettingsCheckbox { + Keywords = new[] { "color" }, LabelText = RulesetSettingsStrings.TimingBasedColouring, Current = config.GetBindable(ManiaRulesetSetting.TimingBasedNoteColouring), } diff --git a/osu.Game/Overlays/Settings/Sections/Gameplay/BeatmapSettings.cs b/osu.Game/Overlays/Settings/Sections/Gameplay/BeatmapSettings.cs index 9efdfa9955..69566d85f4 100644 --- a/osu.Game/Overlays/Settings/Sections/Gameplay/BeatmapSettings.cs +++ b/osu.Game/Overlays/Settings/Sections/Gameplay/BeatmapSettings.cs @@ -30,7 +30,7 @@ namespace osu.Game.Overlays.Settings.Sections.Gameplay }, new SettingsCheckbox { - Keywords = new[] { "combo", "override" }, + Keywords = new[] { "combo", "override", "color" }, LabelText = SkinSettingsStrings.BeatmapColours, Current = config.GetBindable(OsuSetting.BeatmapColours) }, @@ -47,6 +47,7 @@ namespace osu.Game.Overlays.Settings.Sections.Gameplay }, new SettingsSlider { + Keywords = new[] { "color" }, LabelText = GraphicsSettingsStrings.ComboColourNormalisation, Current = comboColourNormalisation, DisplayAsPercentage = true, From edf40cc091191d3e4ffdac906992afcfdd1bbfed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Wed, 27 Sep 2023 17:09:42 +0200 Subject: [PATCH 068/106] Fix nullability inspection --- osu.Game/Skinning/SkinImporter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Skinning/SkinImporter.cs b/osu.Game/Skinning/SkinImporter.cs index b543197296..40585a3fd2 100644 --- a/osu.Game/Skinning/SkinImporter.cs +++ b/osu.Game/Skinning/SkinImporter.cs @@ -39,7 +39,7 @@ namespace osu.Game.Skinning protected override bool ShouldDeleteArchive(string path) => Path.GetExtension(path).ToLowerInvariant() == @".osk"; - protected override SkinInfo? CreateModel(ArchiveReader archive, ImportParameters parameters) => new SkinInfo { Name = archive.Name ?? @"No name" }; + protected override SkinInfo CreateModel(ArchiveReader archive, ImportParameters parameters) => new SkinInfo { Name = archive.Name ?? @"No name" }; private const string unknown_creator_string = @"Unknown"; From 7908b36b398ebd75576fa797eeb05471c3afab08 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 15:15:09 +0900 Subject: [PATCH 069/106] Flash dialog popup when attempting to exit editor while exit is being blocked --- osu.Game/Overlays/Dialog/PopupDialog.cs | 27 +++++++++++++++++++++++++ osu.Game/Screens/Edit/Editor.cs | 5 ++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/osu.Game/Overlays/Dialog/PopupDialog.cs b/osu.Game/Overlays/Dialog/PopupDialog.cs index 2e9087fdbd..36a9baac67 100644 --- a/osu.Game/Overlays/Dialog/PopupDialog.cs +++ b/osu.Game/Overlays/Dialog/PopupDialog.cs @@ -3,6 +3,9 @@ using System.Collections.Generic; using System.Linq; +using osu.Framework.Allocation; +using osu.Framework.Audio; +using osu.Framework.Audio.Sample; using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; @@ -28,6 +31,9 @@ namespace osu.Game.Overlays.Dialog private readonly Vector2 ringMinifiedSize = new Vector2(20f); private readonly Vector2 buttonsEnterSpacing = new Vector2(0f, 50f); + private readonly Box flashLayer; + private Sample flashSample = null!; + private readonly Container content; private readonly Container ring; private readonly FillFlowContainer buttonsContainer; @@ -208,6 +214,13 @@ namespace osu.Game.Overlays.Dialog AutoSizeAxes = Axes.Y, Direction = FillDirection.Vertical, }, + flashLayer = new Box + { + Alpha = 0, + RelativeSizeAxes = Axes.Both, + Blending = BlendingParameters.Additive, + Colour = Color4Extensions.FromHex(@"221a21"), + }, }, }, }; @@ -217,6 +230,12 @@ namespace osu.Game.Overlays.Dialog Show(); } + [BackgroundDependencyLoader] + private void load(AudioManager audio) + { + flashSample = audio.Samples.Get(@"UI/default-select-disabled"); + } + /// /// Programmatically clicks the first . /// @@ -232,6 +251,14 @@ namespace osu.Game.Overlays.Dialog Scheduler.AddOnce(() => Buttons.OfType().FirstOrDefault()?.TriggerClick()); } + public void Flash() + { + flashLayer.FadeInFromZero(80, Easing.OutQuint) + .Then() + .FadeOutFromOne(1500, Easing.OutQuint); + flashSample.Play(); + } + protected override bool OnKeyDown(KeyDownEvent e) { if (e.Repeat) return false; diff --git a/osu.Game/Screens/Edit/Editor.cs b/osu.Game/Screens/Edit/Editor.cs index 1cdca5754d..1b2e4785db 100644 --- a/osu.Game/Screens/Edit/Editor.cs +++ b/osu.Game/Screens/Edit/Editor.cs @@ -714,8 +714,11 @@ namespace osu.Game.Screens.Edit } // if the dialog is already displayed, block exiting until the user explicitly makes a decision. - if (dialogOverlay.CurrentDialog is PromptForSaveDialog) + if (dialogOverlay.CurrentDialog is PromptForSaveDialog saveDialog) + { + saveDialog.Flash(); return true; + } if (isNewBeatmap || HasUnsavedChanges) { From 4d5b2477dc92cf231f0221581ba16d30d29e9080 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 15:59:06 +0900 Subject: [PATCH 070/106] Fix failing song select tack transfer test by using a real track --- osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs b/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs index 43a7da0c28..6737ec9739 100644 --- a/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs +++ b/osu.Game.Tests/Visual/SongSelect/TestScenePlaySongSelect.cs @@ -312,7 +312,9 @@ namespace osu.Game.Tests.Visual.SongSelect { createSongSelect(); - addRulesetImportStep(0); + // We need to use one real beatmap to trigger the "same-track-transfer" logic that we're looking to test here. + // See `SongSelect.ensurePlayingSelected` and `WorkingBeatmap.TryTransferTrack`. + AddStep("import test beatmap", () => manager.Import(new ImportTask(TestResources.GetTestBeatmapForImport())).WaitSafely()); addRulesetImportStep(0); checkMusicPlaying(true); @@ -321,6 +323,8 @@ namespace osu.Game.Tests.Visual.SongSelect AddStep("manual pause", () => music.TogglePause()); checkMusicPlaying(false); + + // Track should not have changed, so music should still not be playing. AddStep("select next difficulty", () => songSelect!.Carousel.SelectNext(skipDifficulties: false)); checkMusicPlaying(false); From 7d74d84e6c24e6938d27fae0d7322e113df4be94 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 16:47:41 +0900 Subject: [PATCH 071/106] Display mod icons using stable ordering In discussion with nanaya, we likely want this now that we're adding the ability for some icons to be extended. Historically mod icons have been displayed in a stable but arbitrary order (based on their position in the `Mods` enum). This change aims to make them stable across lazer scores (where they are stored based on .. the order the user selected them). --- osu.Game/Online/Leaderboards/LeaderboardScore.cs | 3 ++- .../Online/Leaderboards/LeaderboardScoreTooltip.cs | 2 +- osu.Game/Overlays/BeatmapSet/Scores/ScoreTable.cs | 3 ++- .../BeatmapSet/Scores/TopScoreStatisticsSection.cs | 2 +- .../Profile/Sections/Ranks/DrawableProfileScore.cs | 12 +++++------- osu.Game/Rulesets/Mods/ModExtensions.cs | 5 +++++ osu.Game/Screens/Play/HUD/ModDisplay.cs | 2 +- osu.Game/Screens/Play/HUD/ModFlowDisplay.cs | 2 +- 8 files changed, 18 insertions(+), 13 deletions(-) diff --git a/osu.Game/Online/Leaderboards/LeaderboardScore.cs b/osu.Game/Online/Leaderboards/LeaderboardScore.cs index 229cfd2aa6..136c9cc8e7 100644 --- a/osu.Game/Online/Leaderboards/LeaderboardScore.cs +++ b/osu.Game/Online/Leaderboards/LeaderboardScore.cs @@ -31,6 +31,7 @@ using osuTK; using osuTK.Graphics; using osu.Game.Online.API; using osu.Game.Resources.Localisation.Web; +using osu.Game.Rulesets.Mods; using osu.Game.Utils; namespace osu.Game.Online.Leaderboards @@ -242,7 +243,7 @@ namespace osu.Game.Online.Leaderboards Origin = Anchor.BottomRight, AutoSizeAxes = Axes.Both, Direction = FillDirection.Horizontal, - ChildrenEnumerable = Score.Mods.Select(mod => new ModIcon(mod) { Scale = new Vector2(0.375f) }) + ChildrenEnumerable = Score.Mods.AsOrdered().Select(mod => new ModIcon(mod) { Scale = new Vector2(0.375f) }) }, }, }, diff --git a/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs b/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs index 0b2e401f57..a8c3b7f587 100644 --- a/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs +++ b/osu.Game/Online/Leaderboards/LeaderboardScoreTooltip.cs @@ -118,7 +118,7 @@ namespace osu.Game.Online.Leaderboards topScoreStatistics.Clear(); bottomScoreStatistics.Clear(); - foreach (var mod in score.Mods) + foreach (var mod in score.Mods.AsOrdered()) { modStatistics.Add(new ModCell(mod)); } diff --git a/osu.Game/Overlays/BeatmapSet/Scores/ScoreTable.cs b/osu.Game/Overlays/BeatmapSet/Scores/ScoreTable.cs index 615a3e39af..1fc997fdad 100644 --- a/osu.Game/Overlays/BeatmapSet/Scores/ScoreTable.cs +++ b/osu.Game/Overlays/BeatmapSet/Scores/ScoreTable.cs @@ -24,6 +24,7 @@ using osu.Framework.Localisation; using osu.Framework.Extensions.LocalisationExtensions; using osu.Framework.Graphics.Cursor; using osu.Game.Resources.Localisation.Web; +using osu.Game.Rulesets.Mods; using osu.Game.Scoring.Drawables; namespace osu.Game.Overlays.BeatmapSet.Scores @@ -195,7 +196,7 @@ namespace osu.Game.Overlays.BeatmapSet.Scores Direction = FillDirection.Horizontal, AutoSizeAxes = Axes.Both, Spacing = new Vector2(1), - ChildrenEnumerable = score.Mods.Select(m => new ModIcon(m) + ChildrenEnumerable = score.Mods.AsOrdered().Select(m => new ModIcon(m) { AutoSizeAxes = Axes.Both, Scale = new Vector2(0.3f) diff --git a/osu.Game/Overlays/BeatmapSet/Scores/TopScoreStatisticsSection.cs b/osu.Game/Overlays/BeatmapSet/Scores/TopScoreStatisticsSection.cs index c92b79cb4d..72e590b009 100644 --- a/osu.Game/Overlays/BeatmapSet/Scores/TopScoreStatisticsSection.cs +++ b/osu.Game/Overlays/BeatmapSet/Scores/TopScoreStatisticsSection.cs @@ -275,7 +275,7 @@ namespace osu.Game.Overlays.BeatmapSet.Scores set { modsContainer.Clear(); - modsContainer.Children = value.Select(mod => new ModIcon(mod) + modsContainer.Children = value.AsOrdered().Select(mod => new ModIcon(mod) { AutoSizeAxes = Axes.Both, Scale = new Vector2(0.25f), diff --git a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs index 529e78a7cf..c26f2f19ba 100644 --- a/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs +++ b/osu.Game/Overlays/Profile/Sections/Ranks/DrawableProfileScore.cs @@ -15,6 +15,7 @@ using osu.Game.Graphics.Sprites; using osu.Game.Online.API.Requests.Responses; using osu.Game.Online.Leaderboards; using osu.Game.Rulesets; +using osu.Game.Rulesets.Mods; using osu.Game.Rulesets.UI; using osu.Game.Scoring.Drawables; using osu.Game.Utils; @@ -48,6 +49,8 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks [BackgroundDependencyLoader] private void load(RulesetStore rulesets) { + var ruleset = rulesets.GetRuleset(Score.RulesetID)?.CreateInstance() ?? throw new InvalidOperationException($"Ruleset with ID of {Score.RulesetID} not found locally"); + AddInternal(new ProfileItemContainer { Children = new Drawable[] @@ -132,14 +135,9 @@ namespace osu.Game.Overlays.Profile.Sections.Ranks Origin = Anchor.CentreRight, Direction = FillDirection.Horizontal, Spacing = new Vector2(2), - Children = Score.Mods.Select(mod => + Children = Score.Mods.Select(m => m.ToMod(ruleset)).AsOrdered().Select(mod => new ModIcon(mod) { - var ruleset = rulesets.GetRuleset(Score.RulesetID) ?? throw new InvalidOperationException($"Ruleset with ID of {Score.RulesetID} not found locally"); - - return new ModIcon(mod.ToMod(ruleset.CreateInstance())) - { - Scale = new Vector2(0.35f) - }; + Scale = new Vector2(0.35f) }).ToList(), } } diff --git a/osu.Game/Rulesets/Mods/ModExtensions.cs b/osu.Game/Rulesets/Mods/ModExtensions.cs index aa106f1203..bd2d42f3eb 100644 --- a/osu.Game/Rulesets/Mods/ModExtensions.cs +++ b/osu.Game/Rulesets/Mods/ModExtensions.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using System.Collections.Generic; +using System.Linq; using osu.Game.Beatmaps; using osu.Game.Online.API.Requests.Responses; using osu.Game.Scoring; @@ -28,5 +29,9 @@ namespace osu.Game.Rulesets.Mods } }; } + + public static IEnumerable AsOrdered(this IEnumerable mods) => mods + .OrderBy(m => m.Type) + .ThenBy(m => m.Acronym); } } diff --git a/osu.Game/Screens/Play/HUD/ModDisplay.cs b/osu.Game/Screens/Play/HUD/ModDisplay.cs index c064cdb040..ba948b516e 100644 --- a/osu.Game/Screens/Play/HUD/ModDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ModDisplay.cs @@ -63,7 +63,7 @@ namespace osu.Game.Screens.Play.HUD { iconsContainer.Clear(); - foreach (Mod mod in mods.NewValue) + foreach (Mod mod in mods.NewValue.AsOrdered()) iconsContainer.Add(new ModIcon(mod) { Scale = new Vector2(0.6f) }); appearTransform(); diff --git a/osu.Game/Screens/Play/HUD/ModFlowDisplay.cs b/osu.Game/Screens/Play/HUD/ModFlowDisplay.cs index 0b2ce10ac3..f9cf025b47 100644 --- a/osu.Game/Screens/Play/HUD/ModFlowDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ModFlowDisplay.cs @@ -68,7 +68,7 @@ namespace osu.Game.Screens.Play.HUD Spacing = new Vector2(0, -12 * iconScale); - foreach (Mod mod in current.Value) + foreach (Mod mod in current.Value.AsOrdered()) { Add(new ModIcon(mod) { From 2800920ed97b129767bb5b1ac76a7b01c95d6f78 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 16:10:55 +0900 Subject: [PATCH 072/106] Adjust font size slightly for better display when small --- osu.Game/Rulesets/UI/ModIcon.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index f13ed0d89d..a7bd8b4556 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -143,7 +143,7 @@ namespace osu.Game.Rulesets.UI }, extendedText = new OsuSpriteText { - Font = OsuFont.Default.With(size: 30f, weight: FontWeight.Bold), + Font = OsuFont.Default.With(size: 34f, weight: FontWeight.Bold), UseFullGlyphHeight = false, Text = mod.ExtendedIconInformation, X = 5, From b8953e8ce1761d113e33193c489318012b148034 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 16:19:06 +0900 Subject: [PATCH 073/106] Code quality pass --- .../Visual/UserInterface/TestSceneModIcon.cs | 9 ++++----- osu.Game/Rulesets/UI/ModIcon.cs | 20 +++++++++---------- 2 files changed, 13 insertions(+), 16 deletions(-) diff --git a/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs b/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs index 15b3e5f310..11cd122c99 100644 --- a/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs +++ b/osu.Game.Tests/Visual/UserInterface/TestSceneModIcon.cs @@ -48,7 +48,7 @@ namespace osu.Game.Tests.Visual.UserInterface Direction = FillDirection.Full, ChildrenEnumerable = Ruleset.Value.CreateInstance().CreateAllMods() .OfType() - .SelectMany((m) => + .SelectMany(m => { List icons = new List { new ModIcon(m) }; @@ -70,10 +70,9 @@ namespace osu.Game.Tests.Visual.UserInterface { if (icon.Mod is ModRateAdjust rateAdjust) { - if (RNG.NextDouble() > 0.9) - rateAdjust.SpeedChange.Value = rateAdjust.SpeedChange.Default; - else - rateAdjust.SpeedChange.Value = RNG.NextDouble(rateAdjust.SpeedChange.MinValue, rateAdjust.SpeedChange.MaxValue); + rateAdjust.SpeedChange.Value = RNG.NextDouble() > 0.9 + ? rateAdjust.SpeedChange.Default + : RNG.NextDouble(rateAdjust.SpeedChange.MinValue, rateAdjust.SpeedChange.MaxValue); } } }); diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index a7bd8b4556..8aee7e22e6 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -1,8 +1,6 @@ // Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. -#nullable disable - using System; using osuTK.Graphics; using osu.Framework.Allocation; @@ -29,13 +27,13 @@ namespace osu.Game.Rulesets.UI { public readonly BindableBool Selected = new BindableBool(); - private SpriteIcon modIcon; - private SpriteText modAcronym; - private SpriteIcon background; + private SpriteIcon modIcon = null!; + private SpriteText modAcronym = null!; + private SpriteIcon background = null!; private const float size = 80; - public virtual LocalisableString TooltipText => showTooltip ? ((mod as Mod)?.IconTooltip ?? mod.Name) : null; + public virtual LocalisableString TooltipText => showTooltip ? ((mod as Mod)?.IconTooltip ?? mod.Name) : string.Empty; private IMod mod; @@ -58,17 +56,17 @@ namespace osu.Game.Rulesets.UI } [Resolved] - private OsuColour colours { get; set; } + private OsuColour colours { get; set; } = null!; private Color4 backgroundColour; - private Sprite extendedBackground; + private Sprite extendedBackground = null!; - private OsuSpriteText extendedText; + private OsuSpriteText extendedText = null!; - private Container extendedContent; + private Container extendedContent = null!; - private ModSettingChangeTracker modSettingsChangeTracker; + private ModSettingChangeTracker? modSettingsChangeTracker; /// /// Construct a new instance. From 2ff376daa42384d7b394bd0471fef91f94e3ed52 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 18:30:38 +0900 Subject: [PATCH 074/106] Adjust to include shadow, and use new main background sprite which includes shadow --- osu.Game/Rulesets/UI/ModIcon.cs | 85 +++++++++++++++++---------------- 1 file changed, 45 insertions(+), 40 deletions(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 8aee7e22e6..f0b6a27bde 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -2,21 +2,21 @@ // See the LICENCE file in the repository root for full licence text. using System; -using osuTK.Graphics; using osu.Framework.Allocation; +using osu.Framework.Bindables; +using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Cursor; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; +using osu.Framework.Localisation; +using osu.Game.Configuration; using osu.Game.Graphics; using osu.Game.Graphics.Sprites; using osu.Game.Rulesets.Mods; using osuTK; -using osu.Framework.Bindables; -using osu.Framework.Extensions.Color4Extensions; -using osu.Framework.Graphics.Textures; -using osu.Framework.Localisation; -using osu.Game.Configuration; +using osuTK.Graphics; namespace osu.Game.Rulesets.UI { @@ -29,9 +29,9 @@ namespace osu.Game.Rulesets.UI private SpriteIcon modIcon = null!; private SpriteText modAcronym = null!; - private SpriteIcon background = null!; + private Sprite background = null!; - private const float size = 80; + public static readonly Vector2 MOD_ICON_SIZE = new Vector2(80); public virtual LocalisableString TooltipText => showTooltip ? ((mod as Mod)?.IconTooltip ?? mod.Name) : string.Empty; @@ -76,8 +76,9 @@ namespace osu.Game.Rulesets.UI /// Whether to display a mod's extended information, if available. public ModIcon(IMod mod, bool showTooltip = true, bool showExtendedInformation = true) { + // May expand due to expanded content, so autosize here. AutoSizeAxes = Axes.X; - Height = size; + Height = MOD_ICON_SIZE.Y; this.mod = mod ?? throw new ArgumentNullException(nameof(mod)); this.showTooltip = showTooltip; @@ -89,21 +90,50 @@ namespace osu.Game.Rulesets.UI { Children = new Drawable[] { + extendedContent = new Container + { + Name = "extended content", + Anchor = Anchor.CentreLeft, + Origin = Anchor.CentreLeft, + Size = new Vector2(116, MOD_ICON_SIZE.Y), + X = MOD_ICON_SIZE.X - 22, + Children = new Drawable[] + { + extendedBackground = new Sprite + { + RelativeSizeAxes = Axes.Both, + FillMode = FillMode.Fit, + Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + //Scale = SHADOW_FUDGE + }, + extendedText = new OsuSpriteText + { + Font = OsuFont.Default.With(size: 34f, weight: FontWeight.Bold), + UseFullGlyphHeight = false, + Text = mod.ExtendedIconInformation, + X = 5, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + }, + } + }, new Container { Anchor = Anchor.CentreLeft, Origin = Anchor.CentreLeft, Name = "main content", - Size = new Vector2(size), + Size = MOD_ICON_SIZE, Children = new Drawable[] { - background = new SpriteIcon + background = new Sprite { - Origin = Anchor.Centre, + RelativeSizeAxes = Axes.Both, + FillMode = FillMode.Fit, + Texture = textures.Get("Icons/BeatmapDetails/mod-icon"), Anchor = Anchor.Centre, - Size = new Vector2(size), - Icon = OsuIcon.ModBg, - Shadow = true, + Origin = Anchor.Centre, }, modAcronym = new OsuSpriteText { @@ -125,31 +155,6 @@ namespace osu.Game.Rulesets.UI }, } }, - extendedContent = new Container - { - Name = "extended content", - Anchor = Anchor.CentreLeft, - Origin = Anchor.CentreLeft, - Size = new Vector2(120, 55), - X = size - 22, - Children = new Drawable[] - { - extendedBackground = new Sprite - { - Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), - Size = new Vector2(120, 55), - }, - extendedText = new OsuSpriteText - { - Font = OsuFont.Default.With(size: 34f, weight: FontWeight.Bold), - UseFullGlyphHeight = false, - Text = mod.ExtendedIconInformation, - X = 5, - Anchor = Anchor.Centre, - Origin = Anchor.Centre, - }, - } - }, }; } From d4cf6e100fbd42d35c418263e45f231ae6d5914e Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 18:40:00 +0900 Subject: [PATCH 075/106] Update other usages of `OsuIcon.ModBg` and remove --- osu.Game/Graphics/OsuIcon.cs | 4 +++- osu.Game/Rulesets/UI/ModSwitchSmall.cs | 24 +++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/osu.Game/Graphics/OsuIcon.cs b/osu.Game/Graphics/OsuIcon.cs index 1f4d6a62da..15af8f000b 100644 --- a/osu.Game/Graphics/OsuIcon.cs +++ b/osu.Game/Graphics/OsuIcon.cs @@ -89,6 +89,8 @@ namespace osu.Game.Graphics public static IconUsage ModSpunOut => Get(0xe046); public static IconUsage ModSuddenDeath => Get(0xe047); public static IconUsage ModTarget => Get(0xe048); - public static IconUsage ModBg => Get(0xe04a); + + // Use "Icons/BeatmapDetails/mod-icon" instead + // public static IconUsage ModBg => Get(0xe04a); } } diff --git a/osu.Game/Rulesets/UI/ModSwitchSmall.cs b/osu.Game/Rulesets/UI/ModSwitchSmall.cs index b6058c16ce..927379c684 100644 --- a/osu.Game/Rulesets/UI/ModSwitchSmall.cs +++ b/osu.Game/Rulesets/UI/ModSwitchSmall.cs @@ -6,6 +6,7 @@ using osu.Framework.Bindables; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; using osu.Framework.Utils; using osu.Game.Graphics; using osu.Game.Overlays; @@ -23,8 +24,8 @@ namespace osu.Game.Rulesets.UI private readonly IMod mod; - private readonly SpriteIcon background; - private readonly SpriteIcon? modIcon; + private Drawable background = null!; + private SpriteIcon? modIcon; private Color4 activeForegroundColour; private Color4 inactiveForegroundColour; @@ -36,19 +37,24 @@ namespace osu.Game.Rulesets.UI { this.mod = mod; - AutoSizeAxes = Axes.Both; + Size = new Vector2(DEFAULT_SIZE); + } + [BackgroundDependencyLoader] + private void load(TextureStore textures, OsuColour colours, OverlayColourProvider? colourProvider) + { FillFlowContainer contentFlow; ModSwitchTiny tinySwitch; - InternalChildren = new Drawable[] + InternalChildren = new[] { - background = new SpriteIcon + background = new Sprite { + RelativeSizeAxes = Axes.Both, + FillMode = FillMode.Fit, + Texture = textures.Get("Icons/BeatmapDetails/mod-icon"), Anchor = Anchor.Centre, Origin = Anchor.Centre, - Size = new Vector2(DEFAULT_SIZE), - Icon = OsuIcon.ModBg }, contentFlow = new FillFlowContainer { @@ -78,11 +84,7 @@ namespace osu.Game.Rulesets.UI }); tinySwitch.Scale = new Vector2(0.3f); } - } - [BackgroundDependencyLoader(true)] - private void load(OsuColour colours, OverlayColourProvider? colourProvider) - { inactiveForegroundColour = colourProvider?.Background5 ?? colours.Gray3; activeForegroundColour = colours.ForModType(mod.Type); From fc4390884fbb70260c88d76dc6e945b613600d08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Thu, 28 Sep 2023 12:02:57 +0200 Subject: [PATCH 076/106] Add `GetDisplayScore()` extension for `SoloScoreInfo` To be used server-side for ppy/osu-queue-score-statistics#134. --- osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs b/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs index 980b742585..2cf4d0f957 100644 --- a/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs +++ b/osu.Game/Scoring/Legacy/ScoreInfoExtensions.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Linq; +using osu.Game.Online.API.Requests.Responses; using osu.Game.Rulesets.Scoring; namespace osu.Game.Scoring.Legacy @@ -16,6 +17,9 @@ namespace osu.Game.Scoring.Legacy public static long GetDisplayScore(this ScoreInfo scoreInfo, ScoringMode mode) => getDisplayScore(scoreInfo.Ruleset.OnlineID, scoreInfo.TotalScore, mode, scoreInfo.MaximumStatistics); + public static long GetDisplayScore(this SoloScoreInfo soloScoreInfo, ScoringMode mode) + => getDisplayScore(soloScoreInfo.RulesetID, soloScoreInfo.TotalScore, mode, soloScoreInfo.MaximumStatistics); + private static long getDisplayScore(int rulesetId, long score, ScoringMode mode, IReadOnlyDictionary maximumStatistics) { if (mode == ScoringMode.Standardised) From e0e222c1fa5fa0012d3de7936fff697a67140283 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 22:10:30 +0900 Subject: [PATCH 077/106] Include mention of what to do when not using field in xmldoc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartłomiej Dach --- osu.Game/Rulesets/Mods/IMod.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/Mods/IMod.cs b/osu.Game/Rulesets/Mods/IMod.cs index 06c470ff2a..ce2d123884 100644 --- a/osu.Game/Rulesets/Mods/IMod.cs +++ b/osu.Game/Rulesets/Mods/IMod.cs @@ -20,8 +20,9 @@ namespace osu.Game.Rulesets.Mods string Name { get; } /// - /// Short import information to display on the mod icon. For example, a rate adjust mod's rate + /// Short important information to display on the mod icon. For example, a rate adjust mod's rate /// or similarly important setting. + /// Use if the icon should not display any additional info. /// string ExtendedIconInformation { get; } From b1f680337167558d1d514dcf6b15c130ccaed5a3 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 22:11:03 +0900 Subject: [PATCH 078/106] Remove unused commented code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartłomiej Dach --- osu.Game/Rulesets/UI/ModIcon.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index f0b6a27bde..578db6dc5d 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -106,7 +106,6 @@ namespace osu.Game.Rulesets.UI Texture = textures.Get("Icons/BeatmapDetails/mod-icon-extender"), Anchor = Anchor.Centre, Origin = Anchor.Centre, - //Scale = SHADOW_FUDGE }, extendedText = new OsuSpriteText { From e4fd3b65f4f10d06ad69b812bef7bb5a64419437 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 22:18:28 +0900 Subject: [PATCH 079/106] Avoid recreating `ModSettingChangeTracker` unless required --- osu.Game/Rulesets/UI/ModIcon.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 578db6dc5d..8c7c380a59 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -173,7 +173,7 @@ namespace osu.Game.Rulesets.UI if (value is Mod actualMod) { modSettingsChangeTracker = new ModSettingChangeTracker(new[] { actualMod }); - modSettingsChangeTracker.SettingChanged = _ => updateMod(actualMod); + modSettingsChangeTracker.SettingChanged = _ => updateExtendedInformation(); } modAcronym.Text = value.Acronym; @@ -193,10 +193,14 @@ namespace osu.Game.Rulesets.UI backgroundColour = colours.ForModType(value.Type); updateColour(); + updateExtendedInformation(); + } + + private void updateExtendedInformation() + { bool showExtended = showExtendedInformation && !string.IsNullOrEmpty(mod.ExtendedIconInformation); extendedContent.Alpha = showExtended ? 1 : 0; - extendedText.Text = mod.ExtendedIconInformation; } From f340bb99e807801a1a4ee1c1b1e9790859a7a4eb Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Thu, 28 Sep 2023 22:23:45 +0900 Subject: [PATCH 080/106] Nudge text right 1 pixel --- osu.Game/Rulesets/UI/ModIcon.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Rulesets/UI/ModIcon.cs b/osu.Game/Rulesets/UI/ModIcon.cs index 8c7c380a59..5fd1507039 100644 --- a/osu.Game/Rulesets/UI/ModIcon.cs +++ b/osu.Game/Rulesets/UI/ModIcon.cs @@ -112,7 +112,7 @@ namespace osu.Game.Rulesets.UI Font = OsuFont.Default.With(size: 34f, weight: FontWeight.Bold), UseFullGlyphHeight = false, Text = mod.ExtendedIconInformation, - X = 5, + X = 6, Anchor = Anchor.Centre, Origin = Anchor.Centre, }, From 39d5025969b41590fa6001cb498fa2a12a276d87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Thu, 28 Sep 2023 16:58:21 +0200 Subject: [PATCH 081/106] Update resources --- osu.Game/osu.Game.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 049d4275a4..58e18d3187 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -37,7 +37,7 @@ - + From c0728f0b2eeac4741cc236d44000221a75016c78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Thu, 28 Sep 2023 18:35:15 +0200 Subject: [PATCH 082/106] Replace local sort with new utility method --- osu.Game/Overlays/Mods/ModSettingsArea.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/Overlays/Mods/ModSettingsArea.cs b/osu.Game/Overlays/Mods/ModSettingsArea.cs index fe1d683d59..6158c2c70f 100644 --- a/osu.Game/Overlays/Mods/ModSettingsArea.cs +++ b/osu.Game/Overlays/Mods/ModSettingsArea.cs @@ -84,7 +84,7 @@ namespace osu.Game.Overlays.Mods { modSettingsFlow.Clear(); - foreach (var mod in SelectedMods.Value.OrderBy(mod => mod.Type).ThenBy(mod => mod.Acronym)) + foreach (var mod in SelectedMods.Value.AsOrdered()) { var settings = mod.CreateSettingsControls().ToList(); From 9a49f44db0325178c9ef13d7e6ccc1347cc54c3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Dach?= Date: Thu, 28 Sep 2023 18:42:05 +0200 Subject: [PATCH 083/106] Use `AsOrdered()` when presenting mod presets too --- osu.Game/Overlays/Mods/EditPresetPopover.cs | 2 +- osu.Game/Overlays/Mods/ModPresetTooltip.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/osu.Game/Overlays/Mods/EditPresetPopover.cs b/osu.Game/Overlays/Mods/EditPresetPopover.cs index d755825a95..571021b0f8 100644 --- a/osu.Game/Overlays/Mods/EditPresetPopover.cs +++ b/osu.Game/Overlays/Mods/EditPresetPopover.cs @@ -159,7 +159,7 @@ namespace osu.Game.Overlays.Mods private void updateState() { - scrollContent.ChildrenEnumerable = saveableMods.Select(mod => new ModPresetRow(mod)); + scrollContent.ChildrenEnumerable = saveableMods.AsOrdered().Select(mod => new ModPresetRow(mod)); useCurrentModsButton.Enabled.Value = checkSelectedModsDiffersFromSaved(); } diff --git a/osu.Game/Overlays/Mods/ModPresetTooltip.cs b/osu.Game/Overlays/Mods/ModPresetTooltip.cs index 8e8259de45..077bd14751 100644 --- a/osu.Game/Overlays/Mods/ModPresetTooltip.cs +++ b/osu.Game/Overlays/Mods/ModPresetTooltip.cs @@ -50,7 +50,7 @@ namespace osu.Game.Overlays.Mods return; lastPreset = preset; - Content.ChildrenEnumerable = preset.Mods.Select(mod => new ModPresetRow(mod)); + Content.ChildrenEnumerable = preset.Mods.AsOrdered().Select(mod => new ModPresetRow(mod)); } protected override void PopIn() => this.FadeIn(transition_duration, Easing.OutQuint); From 9e90374a904b182eaf5e1020809fc09dab667d48 Mon Sep 17 00:00:00 2001 From: Joseph Madamba Date: Thu, 28 Sep 2023 16:48:29 -0700 Subject: [PATCH 084/106] Flash discard changes dialog popup when force quitting room/playlist creation with changes --- osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs index b8887b3161..2cd8e45d28 100644 --- a/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs +++ b/osu.Game/Screens/OnlinePlay/Match/RoomSubScreen.cs @@ -371,8 +371,11 @@ namespace osu.Game.Screens.OnlinePlay.Match return true; // if the dialog is already displayed, block exiting until the user explicitly makes a decision. - if (dialogOverlay.CurrentDialog is ConfirmDiscardChangesDialog) + if (dialogOverlay.CurrentDialog is ConfirmDiscardChangesDialog discardChangesDialog) + { + discardChangesDialog.Flash(); return false; + } dialogOverlay.Push(new ConfirmDiscardChangesDialog(() => { From c0234ff254f0a4144abd5a893c1a3581aba9bbad Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 29 Sep 2023 12:44:26 +0900 Subject: [PATCH 085/106] Reduce approach circle's final opacity to match stable Closes #24941. --- osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs index 2f1cf57ebe..4de9a57acb 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs @@ -191,7 +191,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables CirclePiece.FadeInFromZero(HitObject.TimeFadeIn); - ApproachCircle.FadeIn(Math.Min(HitObject.TimeFadeIn * 2, HitObject.TimePreempt)); + ApproachCircle.FadeTo(0.9f, Math.Min(HitObject.TimeFadeIn * 2, HitObject.TimePreempt)); ApproachCircle.ScaleTo(1f, HitObject.TimePreempt); ApproachCircle.Expire(true); } From 81485c548c84226d4e6f59e9b7f221b376eb449d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 29 Sep 2023 14:19:26 +0900 Subject: [PATCH 086/106] Move `LegacyLastTickOffset` specification to generation code and stop passing everywhere --- .../Beatmaps/CatchBeatmapConverter.cs | 1 - .../Objects/JuiceStream.cs | 4 +--- .../Editor/TestSceneSliderSplitting.cs | 1 - .../Beatmaps/OsuBeatmapConverter.cs | 1 - .../Sliders/SliderSelectionBlueprint.cs | 1 - .../Mods/OsuModStrictTracking.cs | 5 ++--- osu.Game.Rulesets.Osu/Objects/Slider.cs | 6 ++--- .../Objects/SliderTailCircle.cs | 2 +- .../Beatmaps/SliderEventGenerationTest.cs | 16 +++++++------- .../Rulesets/Objects/Legacy/ConvertSlider.cs | 4 +--- .../Rulesets/Objects/SliderEventGenerator.cs | 22 ++++++++++++++----- .../Objects/Types/IHasLegacyLastTickOffset.cs | 14 ------------ 12 files changed, 32 insertions(+), 45 deletions(-) delete mode 100644 osu.Game/Rulesets/Objects/Types/IHasLegacyLastTickOffset.cs diff --git a/osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs b/osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs index 5e8a0b1216..6a24c26844 100644 --- a/osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs +++ b/osu.Game.Rulesets.Catch/Beatmaps/CatchBeatmapConverter.cs @@ -41,7 +41,6 @@ namespace osu.Game.Rulesets.Catch.Beatmaps X = xPositionData?.X ?? 0, NewCombo = comboData?.NewCombo ?? false, ComboOffset = comboData?.ComboOffset ?? 0, - LegacyLastTickOffset = (obj as IHasLegacyLastTickOffset)?.LegacyLastTickOffset ?? 0, LegacyConvertedY = yPositionData?.Y ?? CatchHitObject.DEFAULT_LEGACY_CONVERT_Y, SliderVelocityMultiplier = sliderVelocityData?.SliderVelocityMultiplier ?? 1 }.Yield(); diff --git a/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs b/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs index 724bdc3401..87d316d36d 100644 --- a/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs +++ b/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs @@ -77,7 +77,7 @@ namespace osu.Game.Rulesets.Catch.Objects int nodeIndex = 0; SliderEventDescriptor? lastEvent = null; - foreach (var e in SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), LegacyLastTickOffset, cancellationToken)) + foreach (var e in SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), cancellationToken)) { // generate tiny droplets since the last point if (lastEvent != null) @@ -162,7 +162,5 @@ namespace osu.Game.Rulesets.Catch.Objects public double Distance => Path.Distance; public IList> NodeSamples { get; set; } = new List>(); - - public double? LegacyLastTickOffset { get; set; } } } diff --git a/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderSplitting.cs b/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderSplitting.cs index 8ba97892fe..7315344295 100644 --- a/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderSplitting.cs +++ b/osu.Game.Rulesets.Osu.Tests/Editor/TestSceneSliderSplitting.cs @@ -163,7 +163,6 @@ namespace osu.Game.Rulesets.Osu.Tests.Editor slider = new Slider { Position = new Vector2(0, 50), - LegacyLastTickOffset = 36, // This is necessary for undo to retain the sample control point Path = new SliderPath(new[] { new PathControlPoint(Vector2.Zero, PathType.PerfectCurve), diff --git a/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs b/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs index f3aaf831d3..3c051a6bb1 100644 --- a/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs +++ b/osu.Game.Rulesets.Osu/Beatmaps/OsuBeatmapConverter.cs @@ -44,7 +44,6 @@ namespace osu.Game.Rulesets.Osu.Beatmaps Position = positionData?.Position ?? Vector2.Zero, NewCombo = comboData?.NewCombo ?? false, ComboOffset = comboData?.ComboOffset ?? 0, - LegacyLastTickOffset = (original as IHasLegacyLastTickOffset)?.LegacyLastTickOffset, // prior to v8, speed multipliers don't adjust for how many ticks are generated over the same distance. // this results in more (or less) ticks being generated in s.With()).ToList(), RepeatCount = HitObject.RepeatCount, NodeSamples = HitObject.NodeSamples.Select(n => (IList)n.Select(s => s.With()).ToList()).ToList(), diff --git a/osu.Game.Rulesets.Osu/Mods/OsuModStrictTracking.cs b/osu.Game.Rulesets.Osu/Mods/OsuModStrictTracking.cs index 9b5d405025..78062a0632 100644 --- a/osu.Game.Rulesets.Osu/Mods/OsuModStrictTracking.cs +++ b/osu.Game.Rulesets.Osu/Mods/OsuModStrictTracking.cs @@ -96,14 +96,13 @@ namespace osu.Game.Rulesets.Osu.Mods Position = original.Position; NewCombo = original.NewCombo; ComboOffset = original.ComboOffset; - LegacyLastTickOffset = original.LegacyLastTickOffset; TickDistanceMultiplier = original.TickDistanceMultiplier; SliderVelocityMultiplier = original.SliderVelocityMultiplier; } protected override void CreateNestedHitObjects(CancellationToken cancellationToken) { - var sliderEvents = SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), LegacyLastTickOffset, cancellationToken); + var sliderEvents = SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), cancellationToken); foreach (var e in sliderEvents) { @@ -130,7 +129,7 @@ namespace osu.Game.Rulesets.Osu.Mods }); break; - case SliderEventType.LegacyLastTick: + case SliderEventType.LastTick: AddNested(TailCircle = new StrictTrackingSliderTailCircle(this) { RepeatIndex = e.SpanIndex, diff --git a/osu.Game.Rulesets.Osu/Objects/Slider.cs b/osu.Game.Rulesets.Osu/Objects/Slider.cs index e05dbd8ea6..9736c69e17 100644 --- a/osu.Game.Rulesets.Osu/Objects/Slider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Slider.cs @@ -71,8 +71,6 @@ namespace osu.Game.Rulesets.Osu.Objects } } - public double? LegacyLastTickOffset { get; set; } - /// /// The position of the cursor at the point of completion of this if it was hit /// with as few movements as possible. This is set and used by difficulty calculation. @@ -179,7 +177,7 @@ namespace osu.Game.Rulesets.Osu.Objects { base.CreateNestedHitObjects(cancellationToken); - var sliderEvents = SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), LegacyLastTickOffset, cancellationToken); + var sliderEvents = SliderEventGenerator.Generate(StartTime, SpanDuration, Velocity, TickDistance, Path.Distance, this.SpanCount(), cancellationToken); foreach (var e in sliderEvents) { @@ -206,7 +204,7 @@ namespace osu.Game.Rulesets.Osu.Objects }); break; - case SliderEventType.LegacyLastTick: + case SliderEventType.LastTick: // we need to use the LegacyLastTick here for compatibility reasons (difficulty). // it is *okay* to use this because the TailCircle is not used for any meaningful purpose in gameplay. // if this is to change, we should revisit this. diff --git a/osu.Game.Rulesets.Osu/Objects/SliderTailCircle.cs b/osu.Game.Rulesets.Osu/Objects/SliderTailCircle.cs index b4574791d2..fb81936837 100644 --- a/osu.Game.Rulesets.Osu/Objects/SliderTailCircle.cs +++ b/osu.Game.Rulesets.Osu/Objects/SliderTailCircle.cs @@ -10,7 +10,7 @@ namespace osu.Game.Rulesets.Osu.Objects { /// /// Note that this should not be used for timing correctness. - /// See usage in for more information. + /// See usage in for more information. /// public class SliderTailCircle : SliderEndCircle { diff --git a/osu.Game.Tests/Beatmaps/SliderEventGenerationTest.cs b/osu.Game.Tests/Beatmaps/SliderEventGenerationTest.cs index a26c8121dd..37a91c8611 100644 --- a/osu.Game.Tests/Beatmaps/SliderEventGenerationTest.cs +++ b/osu.Game.Tests/Beatmaps/SliderEventGenerationTest.cs @@ -16,7 +16,7 @@ namespace osu.Game.Tests.Beatmaps [Test] public void TestSingleSpan() { - var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 1, null).ToArray(); + var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 1).ToArray(); Assert.That(events[0].Type, Is.EqualTo(SliderEventType.Head)); Assert.That(events[0].Time, Is.EqualTo(start_time)); @@ -31,7 +31,7 @@ namespace osu.Game.Tests.Beatmaps [Test] public void TestRepeat() { - var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 2, null).ToArray(); + var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 2).ToArray(); Assert.That(events[0].Type, Is.EqualTo(SliderEventType.Head)); Assert.That(events[0].Time, Is.EqualTo(start_time)); @@ -52,7 +52,7 @@ namespace osu.Game.Tests.Beatmaps [Test] public void TestNonEvenTicks() { - var events = SliderEventGenerator.Generate(start_time, span_duration, 1, 300, span_duration, 2, null).ToArray(); + var events = SliderEventGenerator.Generate(start_time, span_duration, 1, 300, span_duration, 2).ToArray(); Assert.That(events[0].Type, Is.EqualTo(SliderEventType.Head)); Assert.That(events[0].Time, Is.EqualTo(start_time)); @@ -83,12 +83,12 @@ namespace osu.Game.Tests.Beatmaps } [Test] - public void TestLegacyLastTickOffset() + public void TestLastTickOffset() { - var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 1, 100).ToArray(); + var events = SliderEventGenerator.Generate(start_time, span_duration, 1, span_duration / 2, span_duration, 1).ToArray(); - Assert.That(events[2].Type, Is.EqualTo(SliderEventType.LegacyLastTick)); - Assert.That(events[2].Time, Is.EqualTo(900)); + Assert.That(events[2].Type, Is.EqualTo(SliderEventType.LastTick)); + Assert.That(events[2].Time, Is.EqualTo(span_duration + SliderEventGenerator.LAST_TICK_OFFSET)); } [Test] @@ -97,7 +97,7 @@ namespace osu.Game.Tests.Beatmaps const double velocity = 5; const double min_distance = velocity * 10; - var events = SliderEventGenerator.Generate(start_time, span_duration, velocity, velocity, span_duration, 2, 0).ToArray(); + var events = SliderEventGenerator.Generate(start_time, span_duration, velocity, velocity, span_duration, 2).ToArray(); Assert.Multiple(() => { diff --git a/osu.Game/Rulesets/Objects/Legacy/ConvertSlider.cs b/osu.Game/Rulesets/Objects/Legacy/ConvertSlider.cs index d91ecf956a..ab8fd2c662 100644 --- a/osu.Game/Rulesets/Objects/Legacy/ConvertSlider.cs +++ b/osu.Game/Rulesets/Objects/Legacy/ConvertSlider.cs @@ -13,7 +13,7 @@ using osu.Game.Beatmaps.ControlPoints; namespace osu.Game.Rulesets.Objects.Legacy { - internal abstract class ConvertSlider : ConvertHitObject, IHasPathWithRepeats, IHasLegacyLastTickOffset, IHasSliderVelocity + internal abstract class ConvertSlider : ConvertHitObject, IHasPathWithRepeats, IHasSliderVelocity { /// /// Scoring distance with a speed-adjusted beat length of 1 second. @@ -59,7 +59,5 @@ namespace osu.Game.Rulesets.Objects.Legacy Velocity = scoringDistance / timingPoint.BeatLength; } - - public double LegacyLastTickOffset => 36; } } diff --git a/osu.Game/Rulesets/Objects/SliderEventGenerator.cs b/osu.Game/Rulesets/Objects/SliderEventGenerator.cs index 7013d32cbc..b3477a5fde 100644 --- a/osu.Game/Rulesets/Objects/SliderEventGenerator.cs +++ b/osu.Game/Rulesets/Objects/SliderEventGenerator.cs @@ -10,9 +10,17 @@ namespace osu.Game.Rulesets.Objects { public static class SliderEventGenerator { - // ReSharper disable once MethodOverloadWithOptionalParameter + /// + /// Historically, slider's final tick (aka the place where the slider would receive a final judgement) was offset by -36 ms. Originally this was + /// done to workaround a technical detail (unimportant), but over the years it has become an expectation of players that you don't need to hold + /// until the true end of the slider. This very small amount of leniency makes it easier to jump away from fast sliders to the next hit object. + /// + /// After discussion on how this should be handled going forward, players have unanimously stated that this lenience should remain in some way. + /// + public const double LAST_TICK_OFFSET = -36; + public static IEnumerable Generate(double startTime, double spanDuration, double velocity, double tickDistance, double totalDistance, int spanCount, - double? legacyLastTickOffset, CancellationToken cancellationToken = default) + CancellationToken cancellationToken = default) { // A very lenient maximum length of a slider for ticks to be generated. // This exists for edge cases such as /b/1573664 where the beatmap has been edited by the user, and should never be reached in normal usage. @@ -76,14 +84,14 @@ namespace osu.Game.Rulesets.Objects int finalSpanIndex = spanCount - 1; double finalSpanStartTime = startTime + finalSpanIndex * spanDuration; - double finalSpanEndTime = Math.Max(startTime + totalDuration / 2, (finalSpanStartTime + spanDuration) - (legacyLastTickOffset ?? 0)); + double finalSpanEndTime = Math.Max(startTime + totalDuration / 2, (finalSpanStartTime + spanDuration) + LAST_TICK_OFFSET); double finalProgress = (finalSpanEndTime - finalSpanStartTime) / spanDuration; if (spanCount % 2 == 0) finalProgress = 1 - finalProgress; yield return new SliderEventDescriptor { - Type = SliderEventType.LegacyLastTick, + Type = SliderEventType.LastTick, SpanIndex = finalSpanIndex, SpanStartTime = finalSpanStartTime, Time = finalSpanEndTime, @@ -173,7 +181,11 @@ namespace osu.Game.Rulesets.Objects public enum SliderEventType { Tick, - LegacyLastTick, + + /// + /// Occurs just before the tail. See . + /// + LastTick, Head, Tail, Repeat diff --git a/osu.Game/Rulesets/Objects/Types/IHasLegacyLastTickOffset.cs b/osu.Game/Rulesets/Objects/Types/IHasLegacyLastTickOffset.cs deleted file mode 100644 index caf22c3023..0000000000 --- a/osu.Game/Rulesets/Objects/Types/IHasLegacyLastTickOffset.cs +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. -// See the LICENCE file in the repository root for full licence text. - -namespace osu.Game.Rulesets.Objects.Types -{ - /// - /// A type of which may require the last tick to be offset. - /// This is specific to osu!stable conversion, and should not be used elsewhere. - /// - public interface IHasLegacyLastTickOffset - { - double LegacyLastTickOffset { get; } - } -} From d7119674e8b5063d5350fbed78046aa873865a45 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 29 Sep 2023 14:40:44 +0900 Subject: [PATCH 087/106] Update comments to better explain what `LastTick` is doing --- osu.Game.Rulesets.Catch/Objects/JuiceStream.cs | 4 ++-- osu.Game.Rulesets.Osu/Mods/OsuModSynesthesia.cs | 2 +- .../Objects/Drawables/DrawableSlider.cs | 2 +- osu.Game.Rulesets.Osu/Objects/Slider.cs | 11 +++++++---- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs b/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs index 87d316d36d..fb1a86d8c0 100644 --- a/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs +++ b/osu.Game.Rulesets.Catch/Objects/JuiceStream.cs @@ -104,8 +104,8 @@ namespace osu.Game.Rulesets.Catch.Objects } } - // this also includes LegacyLastTick and this is used for TinyDroplet generation above. - // this means that the final segment of TinyDroplets are increasingly mistimed where LegacyLastTickOffset is being applied. + // this also includes LastTick and this is used for TinyDroplet generation above. + // this means that the final segment of TinyDroplets are increasingly mistimed where LastTick is being applied. lastEvent = e; switch (e.Type) diff --git a/osu.Game.Rulesets.Osu/Mods/OsuModSynesthesia.cs b/osu.Game.Rulesets.Osu/Mods/OsuModSynesthesia.cs index 9537f8b388..e1123807cd 100644 --- a/osu.Game.Rulesets.Osu/Mods/OsuModSynesthesia.cs +++ b/osu.Game.Rulesets.Osu/Mods/OsuModSynesthesia.cs @@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Osu.Mods d.HitObjectApplied += _ => { - // slider tails are a painful edge case, as their start time is offset 36ms back (see `LegacyLastTick`). + // slider tails are a painful edge case, as their start time is offset 36ms back (see `LastTick`). // to work around this, look up the slider tail's parenting slider's end time instead to ensure proper snap. double snapTime = d is DrawableSliderTail tail ? tail.Slider.GetEndTime() diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 1a6a0a9ecc..77e60a1690 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -288,7 +288,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables public override void PlaySamples() { // rather than doing it this way, we should probably attach the sample to the tail circle. - // this can only be done after we stop using LegacyLastTick. + // this can only be done if we stop using LastTick. if (!TailCircle.SamplePlaysOnlyOnHit || TailCircle.IsHit) base.PlaySamples(); } diff --git a/osu.Game.Rulesets.Osu/Objects/Slider.cs b/osu.Game.Rulesets.Osu/Objects/Slider.cs index 9736c69e17..443e4229d2 100644 --- a/osu.Game.Rulesets.Osu/Objects/Slider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Slider.cs @@ -205,9 +205,10 @@ namespace osu.Game.Rulesets.Osu.Objects break; case SliderEventType.LastTick: - // we need to use the LegacyLastTick here for compatibility reasons (difficulty). - // it is *okay* to use this because the TailCircle is not used for any meaningful purpose in gameplay. - // if this is to change, we should revisit this. + // Of note, we are directly mapping LastTick (instead of `SliderEventType.Tail`) to SliderTailCircle. + // It is required as difficulty calculation and gameplay relies on reading this value. + // (although it is displayed in classic skins, which may be a concern). + // If this is to change, we should revisit this. AddNested(TailCircle = new SliderTailCircle(this) { RepeatIndex = e.SpanIndex, @@ -262,7 +263,9 @@ namespace osu.Game.Rulesets.Osu.Objects if (HeadCircle != null) HeadCircle.Samples = this.GetNodeSamples(0); - // The samples should be attached to the slider tail, however this can only be done after LegacyLastTick is removed otherwise they would play earlier than they're intended to. + // The samples should be attached to the slider tail, however this can only be done if LastTick is removed otherwise they would play earlier than they're intended to. + // (see mapping logic in `CreateNestedHitObjects` above) + // // For now, the samples are played by the slider itself at the correct end time. TailSamples = this.GetNodeSamples(repeatCount + 1); } From 94f4268ae5de46ab33849e6ba6583f616f1a55b4 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Fri, 29 Sep 2023 18:23:22 +0900 Subject: [PATCH 088/106] Fix object dim being applied to approach circles Fixes half of https://github.com/ppy/osu/issues/24956. The other half is high effort. The number portion is nested deeply and with reason - depending on skin setting it changes the visual order. I'm not sure how to fix that one, but I also think it's weird behaviour and if people don't complain, it's probably fine to just dim the number for consistency. That said, the approach circle is an important one to ensure it matches 1:1, so I've fixed that here. --- .../Objects/Drawables/DrawableHitCircle.cs | 6 ++++++ .../Objects/Drawables/DrawableOsuHitObject.cs | 17 ++++++++--------- .../Objects/Drawables/DrawableSlider.cs | 8 ++++++++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs index 4de9a57acb..e87a075a11 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableHitCircle.cs @@ -4,6 +4,7 @@ #nullable disable using System; +using System.Collections.Generic; using System.Diagnostics; using JetBrains.Annotations; using osu.Framework.Allocation; @@ -34,6 +35,11 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables public HitReceptor HitArea { get; private set; } public SkinnableDrawable CirclePiece { get; private set; } + protected override IEnumerable DimmablePieces => new[] + { + CirclePiece, + }; + Drawable IHasApproachCircle.ApproachCircle => ApproachCircle; private Container scaleContainer; diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs index 920dfcab03..ed981d2d5d 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableOsuHitObject.cs @@ -4,6 +4,8 @@ #nullable disable using System; +using System.Collections.Generic; +using System.Linq; using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Graphics; @@ -71,20 +73,17 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables ScaleBindable.UnbindFrom(HitObject.ScaleBindable); } + protected virtual IEnumerable DimmablePieces => Enumerable.Empty(); + protected override void UpdateInitialTransforms() { base.UpdateInitialTransforms(); - // Dim should only be applied at a top level, as it will be implicitly applied to nested objects. - if (ParentHitObject == null) + foreach (var piece in DimmablePieces) { - // Of note, no one noticed this was missing for years, but it definitely feels like it should still exist. - // For now this is applied across all skins, and matches stable. - // For simplicity, dim colour is applied to the DrawableHitObject itself. - // We may need to make a nested container setup if this even causes a usage conflict (ie. with a mod). - this.FadeColour(new Color4(195, 195, 195, 255)); - using (BeginDelayedSequence(InitialLifetimeOffset - OsuHitWindows.MISS_WINDOW)) - this.FadeColour(Color4.White, 100); + piece.FadeColour(new Color4(195, 195, 195, 255)); + using (piece.BeginDelayedSequence(InitialLifetimeOffset - OsuHitWindows.MISS_WINDOW)) + piece.FadeColour(Color4.White, 100); } } diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs index 1a6a0a9ecc..07e448937f 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSlider.cs @@ -4,6 +4,7 @@ #nullable disable using System; +using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; using osu.Framework.Allocation; @@ -35,6 +36,13 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables private ShakeContainer shakeContainer; + protected override IEnumerable DimmablePieces => new Drawable[] + { + HeadCircle, + TailCircle, + Body, + }; + /// /// A target container which can be used to add top level elements to the slider's display. /// Intended to be used for proxy purposes only. From 7dd9951c448515bb438992ca4aa127a3f770e604 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 17:41:08 +0900 Subject: [PATCH 089/106] Split out reverse arrow implementations to allow better animation --- .../Objects/Drawables/DrawableSliderRepeat.cs | 8 +++- .../Skinning/Argon/ArgonReverseArrow.cs | 48 ++++++++++++++----- ...seArrowPiece.cs => DefaultReverseArrow.cs} | 13 ++--- .../Skinning/Legacy/LegacyReverseArrow.cs | 18 ++++++- 4 files changed, 63 insertions(+), 24 deletions(-) rename osu.Game.Rulesets.Osu/Skinning/Default/{ReverseArrowPiece.cs => DefaultReverseArrow.cs} (78%) diff --git a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs index 5721328057..ac4d733672 100644 --- a/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs +++ b/osu.Game.Rulesets.Osu/Objects/Drawables/DrawableSliderRepeat.cs @@ -30,7 +30,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables public SkinnableDrawable CirclePiece { get; private set; } - public ReverseArrowPiece Arrow { get; private set; } + public SkinnableDrawable Arrow { get; private set; } private Drawable scaleContainer; @@ -65,7 +65,11 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables Anchor = Anchor.Centre, Origin = Anchor.Centre, }, - Arrow = new ReverseArrowPiece(), + Arrow = new SkinnableDrawable(new OsuSkinComponentLookup(OsuSkinComponents.ReverseArrow), _ => new DefaultReverseArrow()) + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + }, } }); diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index 67fc1b2304..61077e08a4 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -2,12 +2,16 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; +using osu.Framework.Audio.Track; using osu.Framework.Bindables; using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.Textures; +using osu.Game.Beatmaps.ControlPoints; +using osu.Game.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osuTK; @@ -15,14 +19,19 @@ using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Argon { - public partial class ArgonReverseArrow : CompositeDrawable + public partial class ArgonReverseArrow : BeatSyncedContainer { + [Resolved] + private DrawableHitObject drawableRepeat { get; set; } = null!; + private Bindable accentColour = null!; private SpriteIcon icon = null!; + private Container main = null!; + [BackgroundDependencyLoader] - private void load(DrawableHitObject hitObject) + private void load(TextureStore textures, DrawableHitObject hitObject) { Anchor = Anchor.Centre; Origin = Anchor.Centre; @@ -31,24 +40,39 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon InternalChildren = new Drawable[] { - new Circle + main = new Container { - Size = new Vector2(40, 20), - Colour = Color4.White, - Anchor = Anchor.Centre, - Origin = Anchor.Centre, - }, - icon = new SpriteIcon - { - Icon = FontAwesome.Solid.AngleDoubleRight, - Size = new Vector2(16), + RelativeSizeAxes = Axes.Both, Anchor = Anchor.Centre, Origin = Anchor.Centre, + Children = new Drawable[] + { + new Circle + { + Size = new Vector2(40, 20), + Colour = Color4.White, + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + }, + icon = new SpriteIcon + { + Icon = FontAwesome.Solid.AngleDoubleRight, + Size = new Vector2(16), + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + }, + } }, }; accentColour = hitObject.AccentColour.GetBoundCopy(); accentColour.BindValueChanged(accent => icon.Colour = accent.NewValue.Darken(4), true); } + + protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) + { + if (!drawableRepeat.Judged) + main.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); + } } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs similarity index 78% rename from osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs rename to osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs index 27868db2f6..251f048fb6 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/ReverseArrowPiece.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs @@ -9,17 +9,16 @@ using osu.Game.Beatmaps.ControlPoints; using osu.Game.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; -using osu.Game.Skinning; using osuTK; namespace osu.Game.Rulesets.Osu.Skinning.Default { - public partial class ReverseArrowPiece : BeatSyncedContainer + public partial class DefaultReverseArrow : BeatSyncedContainer { [Resolved] private DrawableHitObject drawableRepeat { get; set; } = null!; - public ReverseArrowPiece() + public DefaultReverseArrow() { Divisor = 2; MinimumBeatLength = 200; @@ -29,14 +28,12 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default Size = OsuHitObject.OBJECT_DIMENSIONS; - Child = new SkinnableDrawable(new OsuSkinComponentLookup(OsuSkinComponents.ReverseArrow), _ => new SpriteIcon + Child = new SpriteIcon { RelativeSizeAxes = Axes.Both, Blending = BlendingParameters.Additive, Icon = FontAwesome.Solid.ChevronRight, - Size = new Vector2(0.35f) - }) - { + Size = new Vector2(0.35f), Anchor = Anchor.Centre, Origin = Anchor.Centre, }; @@ -44,7 +41,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) { - if (!drawableRepeat.IsHit) + if (!drawableRepeat.Judged) Child.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 3a80607522..c63ae35a3f 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -3,9 +3,11 @@ using System.Diagnostics; using osu.Framework.Allocation; +using osu.Framework.Audio.Track; using osu.Framework.Bindables; using osu.Framework.Graphics; -using osu.Framework.Graphics.Containers; +using osu.Game.Beatmaps.ControlPoints; +using osu.Game.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; @@ -14,8 +16,11 @@ using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy { - public partial class LegacyReverseArrow : CompositeDrawable + public partial class LegacyReverseArrow : BeatSyncedContainer { + [Resolved] + private DrawableHitObject drawableRepeat { get; set; } = null!; + [Resolved(canBeNull: true)] private DrawableHitObject? drawableHitObject { get; set; } @@ -30,6 +35,9 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy [BackgroundDependencyLoader] private void load(ISkinSource skinSource) { + Divisor = 2; + MinimumBeatLength = 200; + AutoSizeAxes = Axes.Both; string lookupName = new OsuSkinComponentLookup(OsuSkinComponents.ReverseArrow).LookupName; @@ -59,6 +67,12 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy } } + protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) + { + if (!drawableRepeat.Judged) + Child.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); + } + private void onHitObjectApplied(DrawableHitObject drawableObject) { Debug.Assert(proxy.Parent == null); From 455fc228ad5c572a772648a7da53084ea034dd5c Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 18:26:35 +0900 Subject: [PATCH 090/106] Add edge piece to argon reverse arrow --- .../Skinning/Argon/ArgonReverseArrow.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index 61077e08a4..aed7d1a55f 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -29,10 +29,15 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon private SpriteIcon icon = null!; private Container main = null!; + private Sprite side = null!; [BackgroundDependencyLoader] private void load(TextureStore textures, DrawableHitObject hitObject) { + Divisor = 2; + MinimumBeatLength = 120; + EarlyActivationMilliseconds = 30; + Anchor = Anchor.Centre; Origin = Anchor.Centre; @@ -63,6 +68,13 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon }, } }, + side = new Sprite + { + Anchor = Anchor.Centre, + Origin = Anchor.Centre, + Texture = textures.Get("Gameplay/osu/repeat-edge-piece"), + Size = new Vector2(ArgonMainCirclePiece.OUTER_GRADIENT_SIZE), + } }; accentColour = hitObject.AccentColour.GetBoundCopy(); @@ -72,7 +84,15 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) { if (!drawableRepeat.Judged) - main.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); + { + main.ScaleTo(1.3f, 30, Easing.Out) + .Then() + .ScaleTo(1f, timingPoint.BeatLength / 2, Easing.Out); + side + .MoveToX(-12, 30, Easing.Out) + .Then() + .MoveToX(0, timingPoint.BeatLength / 2, Easing.Out); + } } } } From ad4e988520def03498327625be3c9369be0d0a7d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 18:34:21 +0900 Subject: [PATCH 091/106] Adjust reverse arrows to bounce more --- osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs | 7 +++---- .../Skinning/Default/DefaultReverseArrow.cs | 2 +- .../Skinning/Legacy/LegacyReverseArrow.cs | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index aed7d1a55f..1ce3a32900 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -35,8 +35,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon private void load(TextureStore textures, DrawableHitObject hitObject) { Divisor = 2; - MinimumBeatLength = 120; - EarlyActivationMilliseconds = 30; + MinimumBeatLength = 150; Anchor = Anchor.Centre; Origin = Anchor.Centre; @@ -85,11 +84,11 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon { if (!drawableRepeat.Judged) { - main.ScaleTo(1.3f, 30, Easing.Out) + main.ScaleTo(1.3f, timingPoint.BeatLength / 8, Easing.Out) .Then() .ScaleTo(1f, timingPoint.BeatLength / 2, Easing.Out); side - .MoveToX(-12, 30, Easing.Out) + .MoveToX(-12, timingPoint.BeatLength / 8, Easing.Out) .Then() .MoveToX(0, timingPoint.BeatLength / 2, Easing.Out); } diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs index 251f048fb6..f1deba7782 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs @@ -21,7 +21,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default public DefaultReverseArrow() { Divisor = 2; - MinimumBeatLength = 200; + MinimumBeatLength = 150; Anchor = Anchor.Centre; Origin = Anchor.Centre; diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index c63ae35a3f..e1d1b088a2 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy private void load(ISkinSource skinSource) { Divisor = 2; - MinimumBeatLength = 200; + MinimumBeatLength = 150; AutoSizeAxes = Axes.Both; From 8010410487c9e43434e4785af10f64156f4d81d7 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 19:09:57 +0900 Subject: [PATCH 092/106] Stop beat syncing (and close match stable's implementation of arrow animation) --- .../Skinning/Argon/ArgonReverseArrow.cs | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index 1ce3a32900..d4084a76f1 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -2,7 +2,6 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; -using osu.Framework.Audio.Track; using osu.Framework.Bindables; using osu.Framework.Extensions.Color4Extensions; using osu.Framework.Graphics; @@ -10,8 +9,6 @@ using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Textures; -using osu.Game.Beatmaps.ControlPoints; -using osu.Game.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osuTK; @@ -19,24 +16,20 @@ using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Argon { - public partial class ArgonReverseArrow : BeatSyncedContainer + public partial class ArgonReverseArrow : CompositeDrawable { [Resolved] - private DrawableHitObject drawableRepeat { get; set; } = null!; + private DrawableHitObject drawableObject { get; set; } = null!; private Bindable accentColour = null!; private SpriteIcon icon = null!; - private Container main = null!; private Sprite side = null!; [BackgroundDependencyLoader] - private void load(TextureStore textures, DrawableHitObject hitObject) + private void load(TextureStore textures) { - Divisor = 2; - MinimumBeatLength = 150; - Anchor = Anchor.Centre; Origin = Anchor.Centre; @@ -76,22 +69,39 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon } }; - accentColour = hitObject.AccentColour.GetBoundCopy(); + accentColour = drawableObject.AccentColour.GetBoundCopy(); accentColour.BindValueChanged(accent => icon.Colour = accent.NewValue.Darken(4), true); + + drawableObject.ApplyCustomUpdateState += updateStateTransforms; } - protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) + private void updateStateTransforms(DrawableHitObject hitObject, ArmedState state) { - if (!drawableRepeat.Judged) + const float move_distance = -12; + const double move_out_duration = 35; + const double move_in_duration = 250; + const double total = 300; + + switch (state) { - main.ScaleTo(1.3f, timingPoint.BeatLength / 8, Easing.Out) - .Then() - .ScaleTo(1f, timingPoint.BeatLength / 2, Easing.Out); - side - .MoveToX(-12, timingPoint.BeatLength / 8, Easing.Out) - .Then() - .MoveToX(0, timingPoint.BeatLength / 2, Easing.Out); + case ArmedState.Idle: + main.ScaleTo(1.3f, move_out_duration, Easing.Out) + .Then() + .ScaleTo(1f, move_in_duration, Easing.Out) + .Loop(total - (move_in_duration + move_out_duration)); + side + .MoveToX(move_distance, move_out_duration, Easing.Out) + .Then() + .MoveToX(0, move_in_duration, Easing.Out) + .Loop(total - (move_in_duration + move_out_duration)); + break; } } + + protected override void Dispose(bool isDisposing) + { + base.Dispose(isDisposing); + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; + } } } From e4ac8362ecd5329458356013e0c66eff310cf40d Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 19:17:45 +0900 Subject: [PATCH 093/106] Update other implementations to use non-beat-sync logic --- .../Skinning/Default/DefaultReverseArrow.cs | 42 +++++++++---- .../Skinning/Legacy/LegacyReverseArrow.cs | 61 ++++++++++--------- 2 files changed, 62 insertions(+), 41 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs index f1deba7782..a019a4767b 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs @@ -2,33 +2,28 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; -using osu.Framework.Audio.Track; using osu.Framework.Graphics; +using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; -using osu.Game.Beatmaps.ControlPoints; -using osu.Game.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osuTK; namespace osu.Game.Rulesets.Osu.Skinning.Default { - public partial class DefaultReverseArrow : BeatSyncedContainer + public partial class DefaultReverseArrow : CompositeDrawable { [Resolved] - private DrawableHitObject drawableRepeat { get; set; } = null!; + private DrawableHitObject drawableObject { get; set; } = null!; public DefaultReverseArrow() { - Divisor = 2; - MinimumBeatLength = 150; - Anchor = Anchor.Centre; Origin = Anchor.Centre; Size = OsuHitObject.OBJECT_DIMENSIONS; - Child = new SpriteIcon + InternalChild = new SpriteIcon { RelativeSizeAxes = Axes.Both, Blending = BlendingParameters.Additive, @@ -39,10 +34,33 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default }; } - protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) + [BackgroundDependencyLoader] + private void load() { - if (!drawableRepeat.Judged) - Child.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); + drawableObject.ApplyCustomUpdateState += updateStateTransforms; + } + + private void updateStateTransforms(DrawableHitObject hitObject, ArmedState state) + { + const double move_out_duration = 35; + const double move_in_duration = 250; + const double total = 300; + + switch (state) + { + case ArmedState.Idle: + InternalChild.ScaleTo(1.3f, move_out_duration, Easing.Out) + .Then() + .ScaleTo(1f, move_in_duration, Easing.Out) + .Loop(total - (move_in_duration + move_out_duration)); + break; + } + } + + protected override void Dispose(bool isDisposing) + { + base.Dispose(isDisposing); + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; } } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index e1d1b088a2..98ac770dd0 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -3,11 +3,9 @@ using System.Diagnostics; using osu.Framework.Allocation; -using osu.Framework.Audio.Track; using osu.Framework.Bindables; using osu.Framework.Graphics; -using osu.Game.Beatmaps.ControlPoints; -using osu.Game.Graphics.Containers; +using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; using osu.Game.Rulesets.Osu.Objects; using osu.Game.Rulesets.Osu.Objects.Drawables; @@ -16,13 +14,10 @@ using osuTK.Graphics; namespace osu.Game.Rulesets.Osu.Skinning.Legacy { - public partial class LegacyReverseArrow : BeatSyncedContainer + public partial class LegacyReverseArrow : CompositeDrawable { [Resolved] - private DrawableHitObject drawableRepeat { get; set; } = null!; - - [Resolved(canBeNull: true)] - private DrawableHitObject? drawableHitObject { get; set; } + private DrawableHitObject drawableObject { get; set; } = null!; private Drawable proxy = null!; @@ -35,9 +30,6 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy [BackgroundDependencyLoader] private void load(ISkinSource skinSource) { - Divisor = 2; - MinimumBeatLength = 150; - AutoSizeAxes = Axes.Both; string lookupName = new OsuSkinComponentLookup(OsuSkinComponents.ReverseArrow).LookupName; @@ -46,6 +38,8 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: OsuHitObject.OBJECT_DIMENSIONS) ?? Empty()); textureIsDefaultSkin = skin is ISkinTransformer transformer && transformer.Skin is DefaultLegacySkin; + + drawableObject.ApplyCustomUpdateState += updateStateTransforms; } protected override void LoadComplete() @@ -54,23 +48,14 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy proxy = CreateProxy(); - if (drawableHitObject != null) + drawableObject.HitObjectApplied += onHitObjectApplied; + onHitObjectApplied(drawableObject); + + accentColour = drawableObject.AccentColour.GetBoundCopy(); + accentColour.BindValueChanged(c => { - drawableHitObject.HitObjectApplied += onHitObjectApplied; - onHitObjectApplied(drawableHitObject); - - accentColour = drawableHitObject.AccentColour.GetBoundCopy(); - accentColour.BindValueChanged(c => - { - arrow.Colour = textureIsDefaultSkin && c.NewValue.R + c.NewValue.G + c.NewValue.B > (600 / 255f) ? Color4.Black : Color4.White; - }, true); - } - } - - protected override void OnNewBeat(int beatIndex, TimingControlPoint timingPoint, EffectControlPoint effectPoint, ChannelAmplitudes amplitudes) - { - if (!drawableRepeat.Judged) - Child.ScaleTo(1.3f).ScaleTo(1f, timingPoint.BeatLength, Easing.Out); + arrow.Colour = textureIsDefaultSkin && c.NewValue.R + c.NewValue.G + c.NewValue.B > (600 / 255f) ? Color4.Black : Color4.White; + }, true); } private void onHitObjectApplied(DrawableHitObject drawableObject) @@ -82,11 +67,29 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy .OverlayElementContainer.Add(proxy); } + private void updateStateTransforms(DrawableHitObject hitObject, ArmedState state) + { + const double move_out_duration = 35; + const double move_in_duration = 250; + const double total = 300; + + switch (state) + { + case ArmedState.Idle: + InternalChild.ScaleTo(1.3f, move_out_duration, Easing.Out) + .Then() + .ScaleTo(1f, move_in_duration, Easing.Out) + .Loop(total - (move_in_duration + move_out_duration)); + break; + } + } + protected override void Dispose(bool isDisposing) { base.Dispose(isDisposing); - if (drawableHitObject != null) - drawableHitObject.HitObjectApplied -= onHitObjectApplied; + + drawableObject.HitObjectApplied -= onHitObjectApplied; + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; } } } From 1bee7bf353d286978b1b975c1d202c2730ce7b2f Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 19:22:24 +0900 Subject: [PATCH 094/106] Add note about rotation --- osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 98ac770dd0..81781bc6b0 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -76,6 +76,7 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy switch (state) { case ArmedState.Idle: + // TODO: rotate slightly if Version < 1 (aka UseNewLayout) InternalChild.ScaleTo(1.3f, move_out_duration, Easing.Out) .Then() .ScaleTo(1f, move_in_duration, Easing.Out) From f0070eecf10ce1fe7193e973eee20ae1720e9a12 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 20:09:39 +0900 Subject: [PATCH 095/106] Add rotation support for very old skins --- .../Resources/old-skin/reversearrow.png | Bin 0 -> 4853 bytes .../Skinning/Legacy/LegacyReverseArrow.cs | 26 ++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 osu.Game.Rulesets.Osu.Tests/Resources/old-skin/reversearrow.png diff --git a/osu.Game.Rulesets.Osu.Tests/Resources/old-skin/reversearrow.png b/osu.Game.Rulesets.Osu.Tests/Resources/old-skin/reversearrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebdec37d356490d018f711ae525abb3250be3fd GIT binary patch literal 4853 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 zI7FbTi(SkinConfiguration.LegacySetting.Version)?.Value <= 1; } protected override void LoadComplete() @@ -76,11 +80,23 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy switch (state) { case ArmedState.Idle: - // TODO: rotate slightly if Version < 1 (aka UseNewLayout) - InternalChild.ScaleTo(1.3f, move_out_duration, Easing.Out) - .Then() - .ScaleTo(1f, move_in_duration, Easing.Out) - .Loop(total - (move_in_duration + move_out_duration)); + if (shouldRotate) + { + InternalChild.ScaleTo(1.3f, move_out_duration) + .RotateTo(5.625f) + .Then() + .ScaleTo(1f, move_in_duration) + .RotateTo(-5.625f, move_in_duration) + .Loop(total - (move_in_duration + move_out_duration)); + } + else + { + InternalChild.ScaleTo(1.3f) + .Then() + .ScaleTo(1f, move_in_duration) + .Loop(total - (move_in_duration + move_out_duration)); + } + break; } } From 94e49a34fdd1d827a500d0235800e40fff1cab41 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 22:26:57 +0900 Subject: [PATCH 096/106] Adjust legacy reverse arrow implementation to match stable more closely --- .../Skinning/Legacy/LegacyReverseArrow.cs | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 09625c2aed..7e69c7a25b 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -73,28 +73,26 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy private void updateStateTransforms(DrawableHitObject hitObject, ArmedState state) { - const double move_out_duration = 35; - const double move_in_duration = 250; - const double total = 300; + const double duration = 300; + const float rotation = 5.625f; switch (state) { case ArmedState.Idle: if (shouldRotate) { - InternalChild.ScaleTo(1.3f, move_out_duration) - .RotateTo(5.625f) + InternalChild.ScaleTo(1.3f) + .RotateTo(rotation) .Then() - .ScaleTo(1f, move_in_duration) - .RotateTo(-5.625f, move_in_duration) - .Loop(total - (move_in_duration + move_out_duration)); + .ScaleTo(1f, duration) + .RotateTo(-rotation, duration) + .Loop(); } else { - InternalChild.ScaleTo(1.3f) - .Then() - .ScaleTo(1f, move_in_duration) - .Loop(total - (move_in_duration + move_out_duration)); + InternalChild.ScaleTo(1.3f).Then() + .ScaleTo(1f, duration, Easing.Out) + .Loop(); } break; From 3aa51301e8b9f94c7088b59af796daf7d011e3fd Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Mon, 2 Oct 2023 22:28:33 +0900 Subject: [PATCH 097/106] Add null checks in disposal flow --- osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs | 5 ++++- .../Skinning/Default/DefaultReverseArrow.cs | 5 ++++- .../Skinning/Legacy/LegacyReverseArrow.cs | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs index d4084a76f1..160edb6f67 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Argon/ArgonReverseArrow.cs @@ -4,6 +4,7 @@ using osu.Framework.Allocation; using osu.Framework.Bindables; using osu.Framework.Extensions.Color4Extensions; +using osu.Framework.Extensions.ObjectExtensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Shapes; @@ -101,7 +102,9 @@ namespace osu.Game.Rulesets.Osu.Skinning.Argon protected override void Dispose(bool isDisposing) { base.Dispose(isDisposing); - drawableObject.ApplyCustomUpdateState -= updateStateTransforms; + + if (drawableObject.IsNotNull()) + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; } } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs index a019a4767b..b44f6571b9 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Default/DefaultReverseArrow.cs @@ -2,6 +2,7 @@ // See the LICENCE file in the repository root for full licence text. using osu.Framework.Allocation; +using osu.Framework.Extensions.ObjectExtensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Framework.Graphics.Sprites; @@ -60,7 +61,9 @@ namespace osu.Game.Rulesets.Osu.Skinning.Default protected override void Dispose(bool isDisposing) { base.Dispose(isDisposing); - drawableObject.ApplyCustomUpdateState -= updateStateTransforms; + + if (drawableObject.IsNotNull()) + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; } } } diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 7e69c7a25b..34bcf95e1d 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using osu.Framework.Allocation; using osu.Framework.Bindables; +using osu.Framework.Extensions.ObjectExtensions; using osu.Framework.Graphics; using osu.Framework.Graphics.Containers; using osu.Game.Rulesets.Objects.Drawables; @@ -103,8 +104,11 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy { base.Dispose(isDisposing); - drawableObject.HitObjectApplied -= onHitObjectApplied; - drawableObject.ApplyCustomUpdateState -= updateStateTransforms; + if (drawableObject.IsNotNull()) + { + drawableObject.HitObjectApplied -= onHitObjectApplied; + drawableObject.ApplyCustomUpdateState -= updateStateTransforms; + } } } } From 16fcc4eaaa9818989a1ad39cb6921822ab35abc7 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 12:32:52 +0900 Subject: [PATCH 098/106] Fix incorrect anchor/origin causing rotation to look wrong on legacy skin arrows --- .../Skinning/Legacy/LegacyReverseArrow.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs index 34bcf95e1d..25de6d2381 100644 --- a/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs +++ b/osu.Game.Rulesets.Osu/Skinning/Legacy/LegacyReverseArrow.cs @@ -39,7 +39,12 @@ namespace osu.Game.Rulesets.Osu.Skinning.Legacy var skin = skinSource.FindProvider(s => s.GetTexture(lookupName) != null); - InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: OsuHitObject.OBJECT_DIMENSIONS) ?? Empty()); + InternalChild = arrow = (skin?.GetAnimation(lookupName, true, true, maxSize: OsuHitObject.OBJECT_DIMENSIONS) ?? Empty()).With(d => + { + d.Anchor = Anchor.Centre; + d.Origin = Anchor.Centre; + }); + textureIsDefaultSkin = skin is ISkinTransformer transformer && transformer.Skin is DefaultLegacySkin; drawableObject.ApplyCustomUpdateState += updateStateTransforms; From b234a453da2319a4fc5101ecc5b5d41865232cce Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 16:01:15 +0900 Subject: [PATCH 099/106] Fix legacy beatmap importer not always handling nested paths correctly Addresses https://github.com/ppy/osu/discussions/24989. --- osu.Game.Tests/Database/LegacyBeatmapImporterTest.cs | 8 +++++++- osu.Game/Database/LegacyBeatmapImporter.cs | 5 ++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/osu.Game.Tests/Database/LegacyBeatmapImporterTest.cs b/osu.Game.Tests/Database/LegacyBeatmapImporterTest.cs index 0144c0bf97..5f722e381c 100644 --- a/osu.Game.Tests/Database/LegacyBeatmapImporterTest.cs +++ b/osu.Game.Tests/Database/LegacyBeatmapImporterTest.cs @@ -44,17 +44,23 @@ namespace osu.Game.Tests.Database createFile(subdirectory2, Path.Combine("beatmap5", "beatmap.osu")); createFile(subdirectory2, Path.Combine("beatmap6", "beatmap.osu")); + // songs subdirectory with random file + var subdirectory3 = songsStorage.GetStorageForDirectory("subdirectory3"); + createFile(subdirectory3, "silly readme.txt"); + createFile(subdirectory3, Path.Combine("beatmap7", "beatmap.osu")); + // empty songs subdirectory songsStorage.GetStorageForDirectory("subdirectory3"); string[] paths = importer.GetStableImportPaths(songsStorage).ToArray(); - Assert.That(paths.Length, Is.EqualTo(6)); + Assert.That(paths.Length, Is.EqualTo(7)); Assert.That(paths.Contains(songsStorage.GetFullPath("beatmap1"))); Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory", "beatmap2")))); Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory", "beatmap3")))); Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory", "sub-subdirectory", "beatmap4")))); Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory2", "beatmap5")))); Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory2", "beatmap6")))); + Assert.That(paths.Contains(songsStorage.GetFullPath(Path.Combine("subdirectory3", "beatmap7")))); } static void createFile(Storage storage, string path) diff --git a/osu.Game/Database/LegacyBeatmapImporter.cs b/osu.Game/Database/LegacyBeatmapImporter.cs index 20add54949..a090698a68 100644 --- a/osu.Game/Database/LegacyBeatmapImporter.cs +++ b/osu.Game/Database/LegacyBeatmapImporter.cs @@ -4,7 +4,6 @@ using System; using System.Collections.Generic; using System.Linq; -using osu.Framework.IO.Stores; using osu.Framework.Logging; using osu.Framework.Platform; using osu.Game.Beatmaps; @@ -34,9 +33,9 @@ namespace osu.Game.Database try { - if (!directoryStorage.GetFiles(string.Empty).ExcludeSystemFileNames().Any()) + if (!directoryStorage.GetFiles(string.Empty, "*.osu").Any()) { - // if a directory doesn't contain files, attempt looking for beatmaps inside of that directory. + // if a directory doesn't contain any beatmap files, look for further nested beatmap directories. // this is a special behaviour in stable for beatmaps only, see https://github.com/ppy/osu/issues/18615. foreach (string subDirectory in GetStableImportPaths(directoryStorage)) paths.Add(subDirectory); From 2cbec6dbdf115562d64d44f515ee9ad520e20416 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:11:52 +0900 Subject: [PATCH 100/106] Update resources --- osu.Game/osu.Game.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 58e18d3187..0ee922e53a 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -37,7 +37,7 @@ - + From 8178cf3a8dce61729699668898bd61b6b80ee5b8 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:17:11 +0900 Subject: [PATCH 101/106] Tidy up background colour gradient logic This changes things visually a touch, but I think it feels better. And reads better. --- osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs index 6cf1daa102..f2f71ab64d 100644 --- a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs @@ -267,10 +267,12 @@ namespace osu.Game.Screens.Play.HUD protected override Color4 ColourAt(float position) { if (position <= 0.128f) - return Color4.White.Opacity(0.5f); + return Color4.White.Opacity(0.8f); - position -= 0.128f; - return Interpolation.ValueAt(Math.Clamp(position, 0f, 1f), Color4.White.Opacity(0.5f), Color4.Black.Opacity(0.5f), -0.75f, 1f, Easing.OutQuart); + return Interpolation.ValueAt(position, + Color4.White.Opacity(0.8f), + Color4.Black.Opacity(0.2f), + -0.5f, 1f, Easing.OutQuint); } } From e1445fcc65cf60800fd6f86785db051d821b5f64 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:17:42 +0900 Subject: [PATCH 102/106] Adjust health display test scene's background colour to better visualise background fill --- osu.Game.Tests/Visual/Gameplay/TestSceneArgonHealthDisplay.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osu.Game.Tests/Visual/Gameplay/TestSceneArgonHealthDisplay.cs b/osu.Game.Tests/Visual/Gameplay/TestSceneArgonHealthDisplay.cs index 12a2611a76..06a7763711 100644 --- a/osu.Game.Tests/Visual/Gameplay/TestSceneArgonHealthDisplay.cs +++ b/osu.Game.Tests/Visual/Gameplay/TestSceneArgonHealthDisplay.cs @@ -35,7 +35,7 @@ namespace osu.Game.Tests.Visual.Gameplay new Box { RelativeSizeAxes = Axes.Both, - Colour = Color4.Black, + Colour = Color4.Gray, }, new ArgonHealthDisplay { From 4f9daa1c14eda97baf27a5ab547add008fe46171 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:31:50 +0900 Subject: [PATCH 103/106] Tidy up `ArgonHealthDisplay` code quality --- .../Screens/Play/HUD/ArgonHealthDisplay.cs | 183 +++++++++--------- 1 file changed, 88 insertions(+), 95 deletions(-) diff --git a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs index f2f71ab64d..6d16915576 100644 --- a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs @@ -25,55 +25,64 @@ namespace osu.Game.Screens.Play.HUD { public partial class ArgonHealthDisplay : HealthDisplay, ISerialisableDrawable { + public bool UsesFixedAnchor { get; set; } + private const float curve_start = 280; private const float curve_end = 310; private const float curve_smoothness = 10; private const float bar_length = 350; - private const float bar_height = 32.5f; + private const float bar_verticality = 32.5f; private BarPath healthBar = null!; private BarPath missBar = null!; + private BackgroundPath background = null!; private SliderPath barPath = null!; - private static readonly Colour4 health_bar_colour = Colour4.White; + private static readonly Colour4 main_bar_colour = Colour4.White; + private static readonly Colour4 main_bar_glow_colour = Color4Extensions.FromHex("#7ED7FD").Opacity(0.5f); - // the opacity isn't part of the design, it's only here to control glow intensity. - private static readonly Colour4 health_bar_glow_colour = Color4Extensions.FromHex("#7ED7FD").Opacity(0.5f); - private static readonly Colour4 health_bar_flash_colour = Color4Extensions.FromHex("#7ED7FD").Opacity(0.8f); + private ScheduledDelegate? resetMissBarDelegate; - private static readonly Colour4 miss_bar_colour = Color4Extensions.FromHex("#FF9393"); - private static readonly Colour4 miss_bar_glow_colour = Color4Extensions.FromHex("#FD0000"); + private readonly List missBarVertices = new List(); + private readonly List healthBarVertices = new List(); - // the "flashed" glow colour is just a lightened version of the original one, not part of the design. - private static readonly Colour4 miss_bar_flash_colour = Color4Extensions.FromHex("#FF5D5D"); + private double missBarValue = 1; - public bool UsesFixedAnchor { get; set; } + public double MissBarValue + { + get => missBarValue; + set + { + if (missBarValue == value) + return; + + missBarValue = value; + updatePathVertices(); + } + } + + private double healthBarValue = 1; + + public double HealthBarValue + { + get => healthBarValue; + set + { + if (healthBarValue == value) + return; + + healthBarValue = value; + updatePathVertices(); + } + } [BackgroundDependencyLoader] private void load() { AutoSizeAxes = Axes.Both; - Vector2 diagonalDir = (new Vector2(curve_end, bar_height) - new Vector2(curve_start, 0)).Normalized(); - - // todo: SliderPath or parts of it should be moved away to a utility class as they're useful for making curved paths in general, as done here. - barPath = new SliderPath(new[] - { - new PathControlPoint(new Vector2(0, 0), PathType.Linear), - new PathControlPoint(new Vector2(curve_start - curve_smoothness, 0), PathType.Bezier), - new PathControlPoint(new Vector2(curve_start, 0)), - new PathControlPoint(new Vector2(curve_start, 0) + diagonalDir * curve_smoothness, PathType.Linear), - new PathControlPoint(new Vector2(curve_end, bar_height) - diagonalDir * curve_smoothness, PathType.Bezier), - new PathControlPoint(new Vector2(curve_end, bar_height)), - new PathControlPoint(new Vector2(curve_end + curve_smoothness, bar_height), PathType.Linear), - new PathControlPoint(new Vector2(bar_length, bar_height)), - }); - - var vertices = new List(); - barPath.GetPathToProgress(vertices, 0.0, 1.0); - InternalChild = new FillFlowContainer { AutoSizeAxes = Axes.Both, @@ -83,7 +92,7 @@ namespace osu.Game.Screens.Play.HUD { new Circle { - Margin = new MarginPadding { Top = 10f - 3f / 2f, Left = -2f }, + Margin = new MarginPadding { Top = 8.5f, Left = -2 }, Size = new Vector2(50f, 3f), }, new Container @@ -91,10 +100,9 @@ namespace osu.Game.Screens.Play.HUD AutoSizeAxes = Axes.Both, Children = new Drawable[] { - new BackgroundPath + background = new BackgroundPath { PathRadius = 10f, - Vertices = vertices, }, missBar = new BarPath { @@ -103,25 +111,26 @@ namespace osu.Game.Screens.Play.HUD Blending = BlendingParameters.Additive, Colour = ColourInfo.GradientHorizontal(Color4.White.Opacity(0.8f), Color4.White), PathRadius = 40f, - GlowPortion = 0.9f, + // Kinda hacky, but results in correct positioning with increased path radius. Margin = new MarginPadding(-30f), - Vertices = vertices + GlowPortion = 0.9f, }, healthBar = new BarPath { AutoSizeAxes = Axes.None, RelativeSizeAxes = Axes.Both, Blending = BlendingParameters.Additive, - BarColour = health_bar_colour, - GlowColour = health_bar_glow_colour, + BarColour = main_bar_colour, + GlowColour = main_bar_glow_colour, PathRadius = 10f, GlowPortion = 0.6f, - Vertices = vertices }, } } }, }; + + updatePath(); } protected override void LoadComplete() @@ -137,28 +146,38 @@ namespace osu.Game.Screens.Play.HUD if (resetMissBarDelegate == null) this.TransformTo(nameof(MissBarValue), v.NewValue, 300, Easing.OutQuint); }, true); - - updatePathVertices(); } protected override void Update() { base.Update(); - healthBar.Alpha = (float)Interpolation.DampContinuously(healthBar.Alpha, (float)(Current.Value > 0 ? 1 : 0), 40, Time.Elapsed); - missBar.Alpha = (float)Interpolation.DampContinuously(missBar.Alpha, (float)(MissBarValue > 0 ? 1 : 0), 40, Time.Elapsed); + healthBar.Alpha = (float)Interpolation.DampContinuously(healthBar.Alpha, Current.Value > 0 ? 1 : 0, 40, Time.Elapsed); + missBar.Alpha = (float)Interpolation.DampContinuously(missBar.Alpha, MissBarValue > 0 ? 1 : 0, 40, Time.Elapsed); } - private ScheduledDelegate? resetMissBarDelegate; + protected override void Flash(JudgementResult result) + { + base.Flash(result); + + healthBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour.Opacity(0.8f)) + .TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.OutQuint); + + if (resetMissBarDelegate == null) + { + missBar.TransformTo(nameof(BarPath.BarColour), Colour4.White, 100, Easing.OutQuint) + .Then() + .TransformTo(nameof(BarPath.BarColour), main_bar_colour, 800, Easing.OutQuint); + + missBar.TransformTo(nameof(BarPath.GlowColour), Colour4.White) + .TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 800, Easing.OutQuint); + } + } protected override void Miss(JudgementResult result) { base.Miss(result); - if (result.HealthAtJudgement == 0.0) - // health is already empty, nothing should be displayed here. - return; - if (resetMissBarDelegate != null) { resetMissBarDelegate.Cancel(); @@ -170,78 +189,52 @@ namespace osu.Game.Screens.Play.HUD this.Delay(500).Schedule(() => { this.TransformTo(nameof(MissBarValue), Current.Value, 300, Easing.OutQuint); - finishMissBarUsage(); }, out resetMissBarDelegate); - missBar.TransformTo(nameof(BarPath.BarColour), miss_bar_colour, 100, Easing.OutQuint) - .Then() - .TransformTo(nameof(BarPath.BarColour), miss_bar_flash_colour, 800, Easing.OutQuint); + missBar.TransformTo(nameof(BarPath.BarColour), new Colour4(255, 147, 147, 255), 100, Easing.OutQuint).Then() + .TransformTo(nameof(BarPath.BarColour), new Colour4(255, 93, 93, 255), 800, Easing.OutQuint); - missBar.TransformTo(nameof(BarPath.GlowColour), miss_bar_glow_colour.Lighten(0.2f)) - .TransformTo(nameof(BarPath.GlowColour), miss_bar_glow_colour, 800, Easing.OutQuint); + missBar.TransformTo(nameof(BarPath.GlowColour), new Colour4(253, 0, 0, 255).Lighten(0.2f)) + .TransformTo(nameof(BarPath.GlowColour), new Colour4(253, 0, 0, 255), 800, Easing.OutQuint); } private void finishMissBarUsage() { if (Current.Value > 0) { - missBar.TransformTo(nameof(BarPath.BarColour), health_bar_colour, 300, Easing.In); - missBar.TransformTo(nameof(BarPath.GlowColour), health_bar_glow_colour, 300, Easing.In); + missBar.TransformTo(nameof(BarPath.BarColour), main_bar_colour, 300, Easing.In); + missBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.In); } resetMissBarDelegate?.Cancel(); resetMissBarDelegate = null; } - protected override void Flash(JudgementResult result) + private void updatePath() { - base.Flash(result); + Vector2 diagonalDir = (new Vector2(curve_end, bar_verticality) - new Vector2(curve_start, 0)).Normalized(); - healthBar.TransformTo(nameof(BarPath.GlowColour), health_bar_flash_colour) - .TransformTo(nameof(BarPath.GlowColour), health_bar_glow_colour, 300, Easing.OutQuint); - - if (resetMissBarDelegate == null) + barPath = new SliderPath(new[] { - missBar.TransformTo(nameof(BarPath.BarColour), Colour4.White, 100, Easing.OutQuint) - .Then() - .TransformTo(nameof(BarPath.BarColour), health_bar_colour, 800, Easing.OutQuint); + new PathControlPoint(new Vector2(0, 0), PathType.Linear), + new PathControlPoint(new Vector2(curve_start - curve_smoothness, 0), PathType.Bezier), + new PathControlPoint(new Vector2(curve_start, 0)), + new PathControlPoint(new Vector2(curve_start, 0) + diagonalDir * curve_smoothness, PathType.Linear), + new PathControlPoint(new Vector2(curve_end, bar_verticality) - diagonalDir * curve_smoothness, PathType.Bezier), + new PathControlPoint(new Vector2(curve_end, bar_verticality)), + new PathControlPoint(new Vector2(curve_end + curve_smoothness, bar_verticality), PathType.Linear), + new PathControlPoint(new Vector2(bar_length, bar_verticality)), + }); - missBar.TransformTo(nameof(BarPath.GlowColour), Colour4.White) - .TransformTo(nameof(BarPath.GlowColour), health_bar_glow_colour, 800, Easing.OutQuint); - } - } + List vertices = new List(); + barPath.GetPathToProgress(vertices, 0.0, 1.0); - private double missBarValue = 1.0; - private readonly List missBarVertices = new List(); + background.Vertices = vertices; + healthBar.Vertices = vertices; + missBar.Vertices = vertices; - public double MissBarValue - { - get => missBarValue; - set - { - if (missBarValue == value) - return; - - missBarValue = value; - updatePathVertices(); - } - } - - private double healthBarValue = 1.0; - private readonly List healthBarVertices = new List(); - - public double HealthBarValue - { - get => healthBarValue; - set - { - if (healthBarValue == value) - return; - - healthBarValue = value; - updatePathVertices(); - } + updatePathVertices(); } private void updatePathVertices() From 32b2ac4974d13d98f9abf73f47b6c72a12cd65a1 Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:41:10 +0900 Subject: [PATCH 104/106] Rename and refactor glow/miss bars to hopefully make more sense --- .../Screens/Play/HUD/ArgonHealthDisplay.cs | 74 ++++++++++--------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs index 6d16915576..f7b90fe563 100644 --- a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs @@ -34,8 +34,13 @@ namespace osu.Game.Screens.Play.HUD private const float bar_length = 350; private const float bar_verticality = 32.5f; - private BarPath healthBar = null!; - private BarPath missBar = null!; + private BarPath mainBar = null!; + + /// + /// Used to show a glow at the end of the main bar, or red "damage" area when missing. + /// + private BarPath glowBar = null!; + private BackgroundPath background = null!; private SliderPath barPath = null!; @@ -48,17 +53,17 @@ namespace osu.Game.Screens.Play.HUD private readonly List missBarVertices = new List(); private readonly List healthBarVertices = new List(); - private double missBarValue = 1; + private double glowBarValue = 1; - public double MissBarValue + public double GlowBarValue { - get => missBarValue; + get => glowBarValue; set { - if (missBarValue == value) + if (glowBarValue == value) return; - missBarValue = value; + glowBarValue = value; updatePathVertices(); } } @@ -104,7 +109,7 @@ namespace osu.Game.Screens.Play.HUD { PathRadius = 10f, }, - missBar = new BarPath + glowBar = new BarPath { BarColour = Color4.White, GlowColour = OsuColour.Gray(0.5f), @@ -115,7 +120,7 @@ namespace osu.Game.Screens.Play.HUD Margin = new MarginPadding(-30f), GlowPortion = 0.9f, }, - healthBar = new BarPath + mainBar = new BarPath { AutoSizeAxes = Axes.None, RelativeSizeAxes = Axes.Both, @@ -139,12 +144,12 @@ namespace osu.Game.Screens.Play.HUD Current.BindValueChanged(v => { - if (v.NewValue >= MissBarValue) - finishMissBarUsage(); + if (v.NewValue >= GlowBarValue) + finishMissDisplay(); this.TransformTo(nameof(HealthBarValue), v.NewValue, 300, Easing.OutQuint); if (resetMissBarDelegate == null) - this.TransformTo(nameof(MissBarValue), v.NewValue, 300, Easing.OutQuint); + this.TransformTo(nameof(GlowBarValue), v.NewValue, 300, Easing.OutQuint); }, true); } @@ -152,24 +157,24 @@ namespace osu.Game.Screens.Play.HUD { base.Update(); - healthBar.Alpha = (float)Interpolation.DampContinuously(healthBar.Alpha, Current.Value > 0 ? 1 : 0, 40, Time.Elapsed); - missBar.Alpha = (float)Interpolation.DampContinuously(missBar.Alpha, MissBarValue > 0 ? 1 : 0, 40, Time.Elapsed); + mainBar.Alpha = (float)Interpolation.DampContinuously(mainBar.Alpha, Current.Value > 0 ? 1 : 0, 40, Time.Elapsed); + glowBar.Alpha = (float)Interpolation.DampContinuously(glowBar.Alpha, GlowBarValue > 0 ? 1 : 0, 40, Time.Elapsed); } protected override void Flash(JudgementResult result) { base.Flash(result); - healthBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour.Opacity(0.8f)) - .TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.OutQuint); + mainBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour.Opacity(0.8f)) + .TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.OutQuint); if (resetMissBarDelegate == null) { - missBar.TransformTo(nameof(BarPath.BarColour), Colour4.White, 100, Easing.OutQuint) + glowBar.TransformTo(nameof(BarPath.BarColour), Colour4.White, 100, Easing.OutQuint) .Then() .TransformTo(nameof(BarPath.BarColour), main_bar_colour, 800, Easing.OutQuint); - missBar.TransformTo(nameof(BarPath.GlowColour), Colour4.White) + glowBar.TransformTo(nameof(BarPath.GlowColour), Colour4.White) .TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 800, Easing.OutQuint); } } @@ -184,27 +189,30 @@ namespace osu.Game.Screens.Play.HUD resetMissBarDelegate = null; } else - this.TransformTo(nameof(MissBarValue), HealthBarValue); + { + // Reset any ongoing animation immediately, else things get weird. + this.TransformTo(nameof(GlowBarValue), HealthBarValue); + } this.Delay(500).Schedule(() => { - this.TransformTo(nameof(MissBarValue), Current.Value, 300, Easing.OutQuint); - finishMissBarUsage(); + this.TransformTo(nameof(GlowBarValue), Current.Value, 300, Easing.OutQuint); + finishMissDisplay(); }, out resetMissBarDelegate); - missBar.TransformTo(nameof(BarPath.BarColour), new Colour4(255, 147, 147, 255), 100, Easing.OutQuint).Then() + glowBar.TransformTo(nameof(BarPath.BarColour), new Colour4(255, 147, 147, 255), 100, Easing.OutQuint).Then() .TransformTo(nameof(BarPath.BarColour), new Colour4(255, 93, 93, 255), 800, Easing.OutQuint); - missBar.TransformTo(nameof(BarPath.GlowColour), new Colour4(253, 0, 0, 255).Lighten(0.2f)) + glowBar.TransformTo(nameof(BarPath.GlowColour), new Colour4(253, 0, 0, 255).Lighten(0.2f)) .TransformTo(nameof(BarPath.GlowColour), new Colour4(253, 0, 0, 255), 800, Easing.OutQuint); } - private void finishMissBarUsage() + private void finishMissDisplay() { if (Current.Value > 0) { - missBar.TransformTo(nameof(BarPath.BarColour), main_bar_colour, 300, Easing.In); - missBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.In); + glowBar.TransformTo(nameof(BarPath.BarColour), main_bar_colour, 300, Easing.In); + glowBar.TransformTo(nameof(BarPath.GlowColour), main_bar_glow_colour, 300, Easing.In); } resetMissBarDelegate?.Cancel(); @@ -231,8 +239,8 @@ namespace osu.Game.Screens.Play.HUD barPath.GetPathToProgress(vertices, 0.0, 1.0); background.Vertices = vertices; - healthBar.Vertices = vertices; - missBar.Vertices = vertices; + mainBar.Vertices = vertices; + glowBar.Vertices = vertices; updatePathVertices(); } @@ -240,7 +248,7 @@ namespace osu.Game.Screens.Play.HUD private void updatePathVertices() { barPath.GetPathToProgress(healthBarVertices, 0.0, healthBarValue); - barPath.GetPathToProgress(missBarVertices, healthBarValue, Math.Max(missBarValue, healthBarValue)); + barPath.GetPathToProgress(missBarVertices, healthBarValue, Math.Max(glowBarValue, healthBarValue)); if (healthBarVertices.Count == 0) healthBarVertices.Add(Vector2.Zero); @@ -248,11 +256,11 @@ namespace osu.Game.Screens.Play.HUD if (missBarVertices.Count == 0) missBarVertices.Add(Vector2.Zero); - missBar.Vertices = missBarVertices.Select(v => v - missBarVertices[0]).ToList(); - missBar.Position = missBarVertices[0]; + glowBar.Vertices = missBarVertices.Select(v => v - missBarVertices[0]).ToList(); + glowBar.Position = missBarVertices[0]; - healthBar.Vertices = healthBarVertices.Select(v => v - healthBarVertices[0]).ToList(); - healthBar.Position = healthBarVertices[0]; + mainBar.Vertices = healthBarVertices.Select(v => v - healthBarVertices[0]).ToList(); + mainBar.Position = healthBarVertices[0]; } private partial class BackgroundPath : SmoothPath From 4f3c433946173001e90f6768e9a06bc510c04f1b Mon Sep 17 00:00:00 2001 From: Dean Herbert Date: Tue, 3 Oct 2023 17:41:52 +0900 Subject: [PATCH 105/106] Move vertex related constants local to method --- osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs index f7b90fe563..62a4b958c2 100644 --- a/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs +++ b/osu.Game/Screens/Play/HUD/ArgonHealthDisplay.cs @@ -27,13 +27,6 @@ namespace osu.Game.Screens.Play.HUD { public bool UsesFixedAnchor { get; set; } - private const float curve_start = 280; - private const float curve_end = 310; - private const float curve_smoothness = 10; - - private const float bar_length = 350; - private const float bar_verticality = 32.5f; - private BarPath mainBar = null!; /// @@ -221,6 +214,13 @@ namespace osu.Game.Screens.Play.HUD private void updatePath() { + const float curve_start = 280; + const float curve_end = 310; + const float curve_smoothness = 10; + + const float bar_length = 350; + const float bar_verticality = 32.5f; + Vector2 diagonalDir = (new Vector2(curve_end, bar_verticality) - new Vector2(curve_start, 0)).Normalized(); barPath = new SliderPath(new[] From 48209872bfd73d347a7fa6f35958d77a659a6fbc Mon Sep 17 00:00:00 2001 From: Dan Balasescu Date: Wed, 4 Oct 2023 13:53:33 +0900 Subject: [PATCH 106/106] Fix spinner requirements being susceptible to FP precision --- osu.Game.Rulesets.Osu/Objects/Spinner.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/osu.Game.Rulesets.Osu/Objects/Spinner.cs b/osu.Game.Rulesets.Osu/Objects/Spinner.cs index aca55c6bd9..e3dfe8e69a 100644 --- a/osu.Game.Rulesets.Osu/Objects/Spinner.cs +++ b/osu.Game.Rulesets.Osu/Objects/Spinner.cs @@ -70,8 +70,11 @@ namespace osu.Game.Rulesets.Osu.Objects double secondsDuration = Duration / 1000; - SpinsRequired = (int)(minRps * secondsDuration); - MaximumBonusSpins = Math.Max(0, (int)(maxRps * secondsDuration) - SpinsRequired - bonus_spins_gap); + // Allow a 0.1ms floating point precision error in the calculation of the duration. + const double duration_error = 0.0001; + + SpinsRequired = (int)(minRps * secondsDuration + duration_error); + MaximumBonusSpins = Math.Max(0, (int)(maxRps * secondsDuration + duration_error) - SpinsRequired - bonus_spins_gap); } protected override void CreateNestedHitObjects(CancellationToken cancellationToken)

KVsm2B>cb8^}lrej~MtL3IA_&{r^T6&VRN% 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