From bec947ab2d109efd10710314e8432fd54bfa4fc2 Mon Sep 17 00:00:00 2001 From: nanaya Date: Thu, 5 Apr 2018 16:48:18 +0900 Subject: [PATCH 1/4] Add support for touch device mod --- app/Libraries/ModsHelper.php | 1 + public/images/badges/mods/mod_touchdevice.png | Bin 0 -> 2074 bytes public/images/badges/mods/mod_touchdevice@2x.png | Bin 0 -> 4233 bytes .../react/beatmapset-page/scoreboard.coffee | 3 +++ resources/assets/less/bem/mod.less | 1 + resources/lang/en/beatmaps.php | 1 + 6 files changed, 6 insertions(+) create mode 100644 public/images/badges/mods/mod_touchdevice.png create mode 100644 public/images/badges/mods/mod_touchdevice@2x.png diff --git a/app/Libraries/ModsHelper.php b/app/Libraries/ModsHelper.php index 12f5eaf3214..062087d3616 100644 --- a/app/Libraries/ModsHelper.php +++ b/app/Libraries/ModsHelper.php @@ -37,6 +37,7 @@ class ModsHelper [13, 'AP'], [14, 'PF', [5]], [5, 'SD'], + [2, 'TD'], // mania keys (converts) [15, '4K'], diff --git a/public/images/badges/mods/mod_touchdevice.png b/public/images/badges/mods/mod_touchdevice.png new file mode 100644 index 0000000000000000000000000000000000000000..c685f136f2e8e5ac2cd8c7a98811d60ffc65c03d GIT binary patch literal 2074 zcmX|C2{_bSAD*#hi*hX`On>6Lx7jS2{4>TfG1iDsvd)a}o4g~yR z@eCJtoh>rr(c5gT3Ic&Tg?swYd|aGCVl)LAM2Ze3BNHew;yeUmflG)9B1VvDuwZg% zcoY^8aoYh{I0*}Q?{h)B#MqL;dlB{C`& zOuz#F;DX}y<~9m|{Zm4Vzyj8rgfJf$H<)cSl?>a5G(!-LOpRd}bEJ_O+T7R_4l_m@ zVNhrc%E$zPHUiORpoux`R|72NVHQ+U2zVH8_lry%VSz9jEe1rP=yW=gZi0-ahN6tj z&COA0W0bKmLR^7}O^l)iB_N_=^)?~?kAWx05~<-awD9OC*d}IBaC96E3jnB164Wmi zu{_kj`ozJ%4w0k8wot|Tuk8vHK_D_L2fVeX&)J7pk|I5ZwYzc4{_V4Twzg_o>KW;s ztU?z>(3A3sc>TBhC_j#xk=YWVv+`RmkjkkRJXMz?45`()cob1GYy6&^s<~866mVE+ zLrpDvh>`tpt3s6pDdC5^%z)Jn*U5YF!FibtBtcRiwtf6ZacqjEa4qN2i|u!>&5Q*; z>{!kwnKsy})JgMyL;B@bQzzH?&w5uniVE5!!(JWH2#E>({xM*c&VQhg;%+4{-wT?~ zmse&uDnlIGz)91k;NDtY%doG=IzYprjl*oyjRqDdnrf-58>Tee7Wv*sE5O!57fVWw9V^gZv%7jQqmhg zS%@1s&4ueO16mCWWeO4QPa4CdU)JL!-6aBBnkmAjZtrz@HwCD=*RUlwrgy1y!`rm* z0fa~QH#j+mkjl~~CaQI@`hbd(J}*uUEC8F4JPR<4)4z@FtXpPkLtI?9-q~QYKdqH9 zB_Cbd_FOu0lyQ6Ya!%eJoF-~Z+nVX~K#fYZ<%#c~l!a1-_5D2Tvl0#TC9jFK_zrwx z!u*O;1_mL3KD+v@`LwT3yNHl45T*dlZil*{Xt=+5Ln9=w0X~>+_U-csbHi{*bl~v8 zq3a=%MeCoa1Q}fakprxLc-!4lM|k$ja3LxxC2*uW_@Q9i$V9wYpeZ zyxxvtRm|LNM=rgyN{f0-9XMjJuwcl^Uq|G^1lZA&gLSJG*4^-v_n zXEwh%ZWqY8{Iq?{ZklT|i4$#Ku@w{tL9@;5$=^0qN1$>Bsg%~q0nv-0Y8|B;QfxhN zl&||XX9{koJ!h-^sYI4UXnq5e(2Uw{xpnS`;Uml zDb4@%^l0QkZKtU%{VELOoY6$+&DHHadvzxhW~O}&&gaT-xbY+8#Ue`j+YhB(4+gy7$ zNr4AfTe(U^&2WtTZr68}^H$GFUv+Qwo<0KH9b zh$`_}*q$Cca;^A$<+Fh#%^>Qliba3BxixytdEk(1bL+5{RzAK?HZz3&zpb88CuhsY zIhO@@3|`Ro%O`&f&eu z$H$pD^IwF#8^ozETNnUqYJOsENC#gP%@Tx#`hFI_38r$GA@<4DB)nSxBr)~Ef^6Gu z2bIoqN8B3KgWz1Po6FQcyj0z-y6=-QmE=z0Bt{&dKDwt{A| zQ&S!D3LlqS-fa_TN}OLg@p{H)0bUqfUd^H|{m|yxgUAxuE<&_Pvt+k~r^P}M{j)}W z;)K(E%M0TBbT(sKiKUbiqtjE(#(o)~2jJlgK>npeP42P>c;(hJ`?zRCK$cGKb!kbl zVyOsscF0r&cKu^%+s_FTD_L~Y%g`!9vn=a5F3*;JdG** z%6L(hT%^rAn*GJ27OIUcFmYKu!*OlrS-gESv{kC-`F<+7Ngx1etm*QIPw*6ci{|QyR_?H_QRMBdj%t|VxBggN>jVQ(m zZC3`{cWta!mnQ!Oi8;IYps0TOaDW;i{u(%T^J#hNje*{iOE s_!yeB0ygM5e{$+_s3)BW*{`^Ui<2SkZ7q&S-TcxW4!YvmHi2n>14vP~5&!@I literal 0 HcmV?d00001 diff --git a/public/images/badges/mods/mod_touchdevice@2x.png b/public/images/badges/mods/mod_touchdevice@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a87178177f612c5293311837568f04e525b47bda GIT binary patch literal 4233 zcmX|_c{mhM_s4A^QI_msY^f~6*u{*U$ySyu6In(GL(G`5%QBX+lQQ^mjdvy9#R^#0!Gz0Y&+x#ynqd_T|k{CQ*V8|yJK@GwwNP%uIDwM{Rg)x`$W(_Wla zO4Gg+6qE*T=2l26BSRG@FHb24xR;}|6vos0qE11f3c+|gIJr9`0glctZU{A@t=0}9 zfE!#*$Wq=&+Q?hW+0{)yz{lAvz}Va=z}-n1E(8HHsA5zu1U#LQ4gid&2f|kcqbBqp zU6qUbzh|Hj;6E)$cQql6e?Wkh(S3lHmya_*UP?jINk$F?P*j$ZQIJ*!$w>e}(lUxb zX+@xntfaJzinM}?tTN!gO9;#WQ1yX7Q8Crl{V(hyQxkGUBE40BKr|XHg_f1_@^Jym zC@U)ir9nUtNb;gX($^n>biha=e1-o>{J(~_v#*nnn>W(U3jz42>EP&vLaGS~0sldO z|D{~m1OCt7Me@H1IU_E{;&b6Y_lErz1;y1PsJ4bVCVL}05M%x;rx&uN>>>rdnWj#a zs^9!Y^abuZWkQlgwU65`AxF=KRVf?ia$8$qR4{U4(X4)u@L7uVx8~QAhPW&2xArH; z!~3XM9;6sF)3fLU98wJtX)QUvq$F7}*|Y%>*|f+=M8}|S?m%|i@3xNJoVla+jxQ(g z!z&|PQTi--fwFtV0-Yd*B;!JHesJpjUx|`pmC!+M@0aifc4#e#u^Oo%FcTYAOl$HM zyw&?v{)HFfm7=2}vj~1WeaJc-7L(HyGWbGSSgZ{I^BhC(xEFVBz0!_Vm+y-!tTY17~GDtPjzn( zURr3ez9ejSmL~$}q3zFLk;eFh%pq^i@K{N~KCR|I6 zOolUq+{Ola!OmCvYW_5PtpE6x*w!VWn0s>5txAZS*8`8O_h0jaBF1_CrnS@wAR?ka61^de>YEkksa>-j3xx6wjTX%uaZw`CeUEc)_M#Z731_`In@>9H-hox8r$8U_Uk3rf47FU$X zhb)@)G7s^stOw!{-0&lZh9#?QUx|n+!~87VHF6CrPg5n0JTv&V$nohePox^ww`i?v z7*d&Y{#W*3gRV_PdR}y~xS`p(yI9hSANPoYJk$=*nKn*+HhrvJCCb^U;sZ*Yz!lOe z3W^_^1aX{D38p)I=a3M)+*BbP4ijorE=PZ>eext!%&yzs!urSB%?Um$Z2Vd&nLoOr znqKgO+=>R|?V8~!DRW{jvo7Gb1Z(^@tDsdsj~uA(@j{XFhWroSr>}v?y+8A#?KGO2 zMJ_ry!!~LL?t9|d^%CyHK0{XGB8gt1VNAjISL2Cuc`!zk>Tw)%h0-bjkXk`nkhMg# z3RDk0=jat~?vdm@Db(A^rjCZ-Bb&*<`5Q{7Lp6{9k!#)NuX>^sT$AiCRVQ?u^uN(e z&6yEiese{z|Jz?Qq~*F6ZV4Y}MUyq@o=N(mc(dp?V{_ff$F};ET-o_=ZXH2RRJtQK zi!T^floGhndwITa8Y$`zwaL&>76I% z*}=JC#JzJbqAIFD&c%IYg%Xkgvuj@QLDBpxUu|`BkiuHHE{vQKU$?Vys-ap%#I0pE zhc<}8{HMJnZ2t@P^l;60g~hr*m61PIeSUnd&1II660z>bH?NdUxxMM}q&MDr32ArH zrfDGDU`fHG_+IgzJ-TvZSD;&AnUJxo`S8ANNucIOKbA!)sV)Zlx}v+f2k{u)*P5Q}Vj?WzBc*#JI!lrI>pN1=Ot?cGU;R<@h^RbQN$!9E= zM^~lhPoCagJ*pbQ^G=$uKjr!0C>xjFrM^ej>|LU-F_oqT`OfV;E5PGnhU}} zRlmJY;1Tg&rq4~XOMrE*Uo{sX*G4iYMLtEP(3GotZ@m@mp)UE>Y|=PMK;26xAC}Oz z$WX^MRww4hovluUg^5>wQVCHp4d5U&rC`a{&zH;eyxz&z!oC0VkDPhFyU7lR9I{S8U=i0-N|?fXY`bR#zMcylHnkh;AK>-%Jcf7FO_lj%r0H1ldZFIG=v%@xYW`ra)Bh5GSd8XMUI_u(nAv`0 zqA~R&7adE?5T3M;ZM?mNmsav{5_(NfyL!-eIG%`&tJRA2d;JJptK&<7wCHKw${A09 zu?QR<`%L zf*YwzOZdXOs<}1dZ{wNN&(24_jOB|d^be@`_#n;X!(2{yG3UoBgr?hXD^k%q=~-{& zTinJ^Rrl9&0ahV$3(>es6`NFqBkFq~(3RX&s}oI2R8Q^-Az@R8zj|LpxpabH0rAD91~-!d4*?9-%0{h8>Zwt%^%C z2U4@Co-~OW_S_0xTw!-ibn8cm`02x|o9YMt)r{OzjoG;rsy*&QtL03Y@GGQP*_4xI zws%U#-NlcG+I*>JXR`iohVX8D_~UvaE)F;Bpc4&+YX)2J-MKxxUmo2^CDobW5WyzI zr5R;1mNNKRZ`Nmv5&BT&QKB=q627wxm=IJ6%~ocSUWpF7R#AXgpP&SBO6lA~vz{*J zYrsDyv8slq&Swf+=@})|j__$zNEG^y6_?tJF16yA<6aQtlX#ajJ2^+k`xK2IRx|RM z9PhP4;b9hM;K4kByp9iM!SAU`yNLD>mJvo*SemS7O7Lk@$Gw%yqL~8% z=e&(WWA#~V(k_$}m4wXoXuB@(LUA%5qng#N`>vR!xrC>>;oIv$;)Zw;2XP6_aam%- zbA=~&7%5ZZgFhI-XOC%O1ArwEf0wkimEXT2J*%Jy^IMZC5FyIXnYLRN*QGG?0X-b@ z+Pxf>sWplCa8qg83epW5ElJH90KDfFTD%kNrjSwasZGAXs)jKy2DR5fV;q8De(R3y zcdgVzTRQN`zv-rX=svh`+m3V8PSAV6pXT;VY%<&&Eoy^`TJZW(yTHKk+Ankvvij`L=-eFTg;`Mpwp0KW zp@Vw_MO#tEk7Vl4i~s=|p<`!XrD z8<`Nyowr8Sr(8B^yn_8PNHL!d4PAsVG^pmh#l^tR<{0dKwe%CwzHXj73PY1MA%AzC z=9u~j?VZ2in6D0o1lxDFu^5Cg zxd*mjyQji(SBf{g@)lcNI&mc=sl9$gVGSM?r-eZ-s{$r z{F)bUv4j^+H{#hITcmr=)z<6^q4`Ag1SGV?0K<2YKBl@8BuQR(;~)zSI)pXv1Z#6s zS&tnfx+tV~M+er98nGo`Ev9cEscu>va39Sh!kQ|N*Asu?8Xc3TV!CuR*M6~zj^Ef; zRSzbvJrf96dxI*&O@kvP`=d?@EHneOEsFMQ!@kWEVZe$j0cr@wa5bcKwT{pW)^{|w zeuJm%6oWop)0?XEZ4J7aOGHt*7-)4tYoi%8lV#S#3Pgf`&z~=^xb#3eHqcy0w6dby zfUc3;ez@5{|7~t{0sGGU*Aq*KkdWPb{f-+u8;s#DR|^T{ri6#wN(?O~b|ub4s*tVd zq`}aidzI*G6u&RCWpDdT!oORve)P7v4Wjym^LK>NM1Z_a< zB&-`g#*aVZnvF;j$rvuyj63=Q4KuehU9T;2Zaxlm-_aKA4`mZ^?+PQA&vk6CrCJz( zg*2ad@w zEu|aA0c&CAqyjhV#VCiQIvG|?Wp%#=Ph4-pE0oIvQhti%c&(35VCx^EywU!MMeB4) z5+CI6>=v4Dc5jC={--}`#hZ;3m^SAFj&<>%;}d99%Zd7)-H5)|Ln; zh*QBf614P+U>U=oILp3?$Hi|uieiUlK+l$Uif0L?{n=4$ozj&2jIb%@<7q>&rv260 zgg?^t6IhLRl6z;S!}bs?N1#^d+1~aiWXeH|h|12&#)+lwCXCwywHH^x4x3xs%8F?G aK&DhH`s@#nEsXm2g8 [ 'NF' => 'No Fail', + 'TD' => 'Touch Device', 'EZ' => 'Easy Mode', 'HD' => 'Hidden', 'HR' => 'Hard Rock', From 2cdf70c676ec1318046b854a7cf97fdbe2bd3b8d Mon Sep 17 00:00:00 2001 From: nanaya Date: Thu, 5 Apr 2018 19:15:02 +0900 Subject: [PATCH 2/4] Sort the selector according to how it's displayed --- .../assets/coffee/react/beatmapset-page/scoreboard.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee b/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee index fbf03e9cec4..31effda7716 100644 --- a/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee +++ b/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee @@ -20,10 +20,10 @@ el = React.createElement class BeatmapsetPage.Scoreboard extends React.PureComponent - DEFAULT_MODS = ['NM', 'EZ', 'NF', 'HT', 'HR', 'SD', 'PF', 'DT', 'NC', 'HD', 'FL', 'SO'] + DEFAULT_MODS = ['NM', 'NF', 'EZ', 'HD', 'HR', 'NC', 'DT', 'HT', 'FL', 'SO', 'PF', 'SD'] OSU_MODS = DEFAULT_MODS.concat('TD') MANIA_KEY_MODS = ['4K', '5K', '6K', '7K', '8K', '9K'] - MANIA_MODS = ['NM', 'EZ', 'NF', 'HT', 'HR', 'SD', 'PF', 'DT', 'NC', 'FI', 'HD', 'FL'] + MANIA_MODS = ['NM', 'NF', 'EZ', 'HD', 'FI', 'HR', 'NC', 'DT', 'HT', 'FL', 'PF', 'SD'] hitTypeMapping: => # mapping of [displayed text, internal name] for each mode From 475f044df731120e78009ce305270a830dcdafa7 Mon Sep 17 00:00:00 2001 From: nanaya Date: Thu, 5 Apr 2018 19:16:26 +0900 Subject: [PATCH 3/4] Not sure what it's sorted by anymore --- resources/assets/less/bem/mod.less | 32 +++++++++++++++--------------- resources/lang/en/beatmaps.php | 30 ++++++++++++++-------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/resources/assets/less/bem/mod.less b/resources/assets/less/bem/mod.less index d3d6553da1f..b96ecf06667 100644 --- a/resources/assets/less/bem/mod.less +++ b/resources/assets/less/bem/mod.less @@ -30,26 +30,26 @@ } } - .all(NM, 'no-mod'); - .all(TD, 'touchdevice'); - .all(NF, 'no-fail'); - .all(EZ, 'easy'); - .all(HD, 'hidden'); - .all(HR, 'hard-rock'); - .all(SD, 'sudden-death'); - .all(DT, 'double-time'); - .all(Relax, 'relax'); - .all(HT, 'half'); - .all(NC, 'nightcore'); - .all(FL, 'flashlight'); - .all(SO, 'spun-out'); - .all(AP, 'autopilot'); - .all(PF, 'perfect'); .all(4K, '4K'); .all(5K, '5K'); .all(6K, '6K'); .all(7K, '7K'); .all(8K, '8K'); - .all(FI, 'fader'); .all(9K, '9K'); + .all(AP, 'autopilot'); + .all(DT, 'double-time'); + .all(EZ, 'easy'); + .all(FI, 'fader'); + .all(FL, 'flashlight'); + .all(HD, 'hidden'); + .all(HR, 'hard-rock'); + .all(HT, 'half'); + .all(NC, 'nightcore'); + .all(NF, 'no-fail'); + .all(NM, 'no-mod'); + .all(PF, 'perfect'); + .all(Relax, 'relax'); + .all(SD, 'sudden-death'); + .all(SO, 'spun-out'); + .all(TD, 'touchdevice'); } diff --git a/resources/lang/en/beatmaps.php b/resources/lang/en/beatmaps.php index 82d3a65db07..98169802159 100644 --- a/resources/lang/en/beatmaps.php +++ b/resources/lang/en/beatmaps.php @@ -211,28 +211,28 @@ 'electronic' => 'Electronic', ], 'mods' => [ - 'NF' => 'No Fail', - 'TD' => 'Touch Device', - 'EZ' => 'Easy Mode', - 'HD' => 'Hidden', - 'HR' => 'Hard Rock', - 'SD' => 'Sudden Death', - 'DT' => 'Double Time', - 'Relax' => 'Relax', - 'HT' => 'Half Time', - 'NC' => 'Nightcore', - 'FL' => 'Flashlight', - 'SO' => 'Spun Out', - 'AP' => 'Auto Pilot', - 'PF' => 'Perfect', '4K' => '4K', '5K' => '5K', '6K' => '6K', '7K' => '7K', '8K' => '8K', - 'FI' => 'Fade In', '9K' => '9K', + 'AP' => 'Auto Pilot', + 'DT' => 'Double Time', + 'EZ' => 'Easy Mode', + 'FI' => 'Fade In', + 'FL' => 'Flashlight', + 'HD' => 'Hidden', + 'HR' => 'Hard Rock', + 'HT' => 'Half Time', + 'NC' => 'Nightcore', + 'NF' => 'No Fail', 'NM' => 'No mods', + 'PF' => 'Perfect', + 'Relax' => 'Relax', + 'SD' => 'Sudden Death', + 'SO' => 'Spun Out', + 'TD' => 'Touch Device', ], 'language' => [ 'any' => 'Any', From f23a590a361a5d1c12a3e64c95642bd189183147 Mon Sep 17 00:00:00 2001 From: nanaya Date: Thu, 5 Apr 2018 19:49:54 +0900 Subject: [PATCH 4/4] Revert "Sort the selector according to how it's displayed" This reverts commit 2cdf70c676ec1318046b854a7cf97fdbe2bd3b8d. --- .../assets/coffee/react/beatmapset-page/scoreboard.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee b/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee index 31effda7716..fbf03e9cec4 100644 --- a/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee +++ b/resources/assets/coffee/react/beatmapset-page/scoreboard.coffee @@ -20,10 +20,10 @@ el = React.createElement class BeatmapsetPage.Scoreboard extends React.PureComponent - DEFAULT_MODS = ['NM', 'NF', 'EZ', 'HD', 'HR', 'NC', 'DT', 'HT', 'FL', 'SO', 'PF', 'SD'] + DEFAULT_MODS = ['NM', 'EZ', 'NF', 'HT', 'HR', 'SD', 'PF', 'DT', 'NC', 'HD', 'FL', 'SO'] OSU_MODS = DEFAULT_MODS.concat('TD') MANIA_KEY_MODS = ['4K', '5K', '6K', '7K', '8K', '9K'] - MANIA_MODS = ['NM', 'NF', 'EZ', 'HD', 'FI', 'HR', 'NC', 'DT', 'HT', 'FL', 'PF', 'SD'] + MANIA_MODS = ['NM', 'EZ', 'NF', 'HT', 'HR', 'SD', 'PF', 'DT', 'NC', 'FI', 'HD', 'FL'] hitTypeMapping: => # mapping of [displayed text, internal name] for each mode