From f7b6805fb94dac411f982abcd8d2e304034f69bd Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 8 Jul 2011 15:13:44 -0500 Subject: [PATCH 01/33] polish font psd files --- .../frutiger 24px [polish-stroke] 7x2.psd | Bin 0 -> 373395 bytes _assets/fonts/frutiger 24px [polish] 7x2.psd | Bin 0 -> 360205 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 _assets/fonts/frutiger 24px [polish-stroke] 7x2.psd create mode 100644 _assets/fonts/frutiger 24px [polish] 7x2.psd diff --git a/_assets/fonts/frutiger 24px [polish-stroke] 7x2.psd b/_assets/fonts/frutiger 24px [polish-stroke] 7x2.psd new file mode 100644 index 0000000000000000000000000000000000000000..81e396ec2d1f32f2f30b0b9125c09f4937655a2f GIT binary patch literal 373395 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 HA4vUwoyicv literal 0 HcmV?d00001 diff --git a/_assets/fonts/frutiger 24px [polish] 7x2.psd b/_assets/fonts/frutiger 24px [polish] 7x2.psd new file mode 100644 index 0000000000000000000000000000000000000000..0def2e82a72e99a1a1c4ab7de4de00bdc9b5eac6 GIT binary patch literal 360205 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 gvuM#xClIsHkBua0o=0L9qG?f>(+Zk4g&F Date: Fri, 8 Jul 2011 15:17:43 -0500 Subject: [PATCH 02/33] add some missing Polish letters --- .../Fonts/frutiger 24px [polish-stroke] 7x2.png | Bin 0 -> 3297 bytes .../Fonts/frutiger 24px [polish] 7x2.png | Bin 0 -> 1932 bytes Themes/_fallback/Fonts/frutiger 24px.ini | 5 +++++ 3 files changed, 5 insertions(+) create mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png create mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish] 7x2.png diff --git a/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png b/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png new file mode 100644 index 0000000000000000000000000000000000000000..412c68b178ab3c641105467714aaff40511b978b GIT binary patch literal 3297 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 f$O75WzXccoGsc8VQra)@00000NkvXXu0mjf literal 0 HcmV?d00001 diff --git a/Themes/_fallback/Fonts/frutiger 24px [polish] 7x2.png b/Themes/_fallback/Fonts/frutiger 24px [polish] 7x2.png new file mode 100644 index 0000000000000000000000000000000000000000..cee3b9ee1c8c574e83e01dd7dcad25c8887383b7 GIT binary patch literal 1932 zcmV;72Xpv|P)VFek@C}EMDrmHVVbF z;Z=t~p~O}wl-PS4N4lV$#G{?fSY2

mcsD4nPWV zAcUV4)ceQ?$r#xYi54=pmv+Vwb>IkoKdjXEO1N(1M#*VBBC+!xqI03$K3{su`va>W z(l`UD+j;qD%70|c_D#7gtUn)^6D(Uoy#0c9_7m;oL`AuB5j%v{Uy^}}jbchi48gLO z^h`uVDCFd`5+rpg*nTTP6L>Az)(&>RiYz1+V#htJ#Xf=BAc+H+lu(dZC@sq$=;IN- zLoTT9P~ot5>E~Qx=cMvyk=g-x6F7mp84hgt$C`Iue05;YjpR zZqRzA49P7J3&~c%)-5?NYpEdf^mj-9Vm9DAM1N__;Dbfn2K<(ZfFB#%+cEpG>yCdq zApP2n{N2)$bjI&CM-eUog)}Ux}BDkI#8Mt{hs5p2=ED2FW;z?#Y%^J3|wakp)F}yhvE$-53|} zk@+NeXz}#zaICQ+F|od*P6>a|BA=_XU4F3rEis6~72I=MGCvVReU=!f+uy9ePZ66A z$mhUm(Di}bep@pqpoZ6jaU#BLX;cD)GtdXAz$eS$LYyLYOf35$cg`buN2*`&9ro}& z)^N*39q-H%BxIM_3w_@JT$bns$)$-swtZiix4UNt4M>WZ$b0S)ES8YuvXIyj*-KiYu(TzK(dM5J_#4fdyv z6Oy=m5X0i}zHRiTd|M5ezmFsP=@=4o4 z$|ci0k*EwR^l)@0Nfqf9t!ZAjYN2)1MA&d-~pl*Z?AqcgtjxXL&T zN0dI5gHfjVS8BhTd%6lVTBQu`GdVbsa*xtHetT~t*h9ZbW~TD;F&ym==!wrDv4`vj z&b-)Nr$HfNx0PZ!4(6T~gEMo0C3Ey8xP#JXI?mGHUp+_{ z4{Q^h6M-2*!+}F0MgNw)G5=;-4Mu#=OU@aLxj)QF0+t+X&0ah%N9t6^MjbdJ&h!Wl z8ghmXoz3@WWmg^N{JY`LI3*D)LdWc7#^=7?i8GlWDy2CS-P04`v0Uj(b@~Fn|5$dh zgP917axosSFzNK^vL~oK0b+BgC0AkqSyC@bp8W$FkLAM8UB~S}#;hXmaRx$#4!h^l z_UNJ<%eOwsw&e= zg%W#EKg57@snAli#D_d33I#i{(Kz8U9=kx7l4e>}ctdZ{C{$uA6pw;G0t^5{LG)@l Sy|!5Z0000 Date: Fri, 8 Jul 2011 15:39:37 -0500 Subject: [PATCH 03/33] let's try this again... --- .../frutiger 24px [polish-stroke] 7x2.png | Bin 3297 -> 0 bytes .../frutiger 24px [polish-stroke] 8x2.png | Bin 0 -> 3589 bytes .../Fonts/frutiger 24px [polish] 7x2.png | Bin 1932 -> 0 bytes .../Fonts/frutiger 24px [polish] 8x2.png | Bin 0 -> 2178 bytes Themes/_fallback/Fonts/frutiger 24px.ini | 22 ++++++++++++++++-- .../frutiger 24px [polish-stroke] 7x2.psd | Bin 373395 -> 0 bytes _assets/fonts/frutiger 24px [polish] 7x2.psd | Bin 360205 -> 0 bytes src/ScreenDebugOverlay.cpp | 19 ++++++++++++++- 8 files changed, 38 insertions(+), 3 deletions(-) delete mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png create mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 8x2.png delete mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish] 7x2.png create mode 100644 Themes/_fallback/Fonts/frutiger 24px [polish] 8x2.png delete mode 100644 _assets/fonts/frutiger 24px [polish-stroke] 7x2.psd delete mode 100644 _assets/fonts/frutiger 24px [polish] 7x2.psd diff --git a/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png b/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 7x2.png deleted file mode 100644 index 412c68b178ab3c641105467714aaff40511b978b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3297 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 f$O75WzXccoGsc8VQra)@00000NkvXXu0mjf diff --git a/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 8x2.png b/Themes/_fallback/Fonts/frutiger 24px [polish-stroke] 8x2.png new file mode 100644 index 0000000000000000000000000000000000000000..fae305f37ff8eb43d00ddada3a62f20573caa7ce GIT binary patch literal 3589 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

mcsD4nPWV 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 Ef}x}cssI20 literal 0 HcmV?d00001 diff --git a/Themes/_fallback/Fonts/frutiger 24px.ini b/Themes/_fallback/Fonts/frutiger 24px.ini index c746acc8ea..f922cbb2a8 100644 --- a/Themes/_fallback/Fonts/frutiger 24px.ini +++ b/Themes/_fallback/Fonts/frutiger 24px.ini @@ -393,5 +393,23 @@ AdvanceExtraPixels=0 127=7 [polish] -line 0=ĄĘŁŃŚŹŻ -line 1=ąęłńśźż \ No newline at end of file +line 0=ĄĆĘŁŃŚŹŻ +line 1=ąćęłńśźż + +0=15 +1=10 +2=12 +3=12 +4=12 +5=12 +6=13 +7=13 + +8=11 +9=11 +10=11 +11=6 +12=11 +13=10 +14=10 +15=10 \ No newline at end of file diff --git a/_assets/fonts/frutiger 24px [polish-stroke] 7x2.psd b/_assets/fonts/frutiger 24px [polish-stroke] 7x2.psd deleted file mode 100644 index 81e396ec2d1f32f2f30b0b9125c09f4937655a2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 373395 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 HA4vUwoyicv diff --git a/_assets/fonts/frutiger 24px [polish] 7x2.psd b/_assets/fonts/frutiger 24px [polish] 7x2.psd deleted file mode 100644 index 0def2e82a72e99a1a1c4ab7de4de00bdc9b5eac6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360205 zcmeEv34k0$xqr_dNp^E?4hRrn5^hK`y*qn`BxKKINj3@D4Oc*!?DXyqnVlKuNV4F8 ziWraQfr=tt9EwDr`t*rMJP`Ex)I0_6r^Y|ZL-eT;4^RO!|KC@AR!?`&bWhgkqc)kD z?yCB#y1)ABtFONLRaIxt_F*X`seg6&S&Ps8(k!V~4T{~>*)up)cMiK-poW>>EbeT& z?|R$XOZI1CqkEKmc(*d1NUdA(yF*`G5l+O{t+=9XNFK`cDieuKH)NIJ8@7&&-mqu1 zE572A^^I%yuh~DDnN;$z@czkUDz|3;x)rf_dbhF$*AyIC5oSs9d)BS!rik#BL)*i> z>8uiNUEREDRF1ZXTiaK+bhLN0$ScD`=~Q??*&S}~3b)8|N4TYBO{=^{?hI>xE7mvS zYHc}k$wC2t=<=1oz9L&n!CEXB63TlrDYXTtjbNL^0ED^ zQn|C#O!R#El-y`Gk;x}eH02xHoi60ptyn;bUvM%NN3hY%%obuYa{eD zmZxK{PPy8`%RTk}SjKqlR8A{-G(8zX1Rh!D9~psbdb3I_pU#e?)5-N}rES+AG~7EJ z4PTK+#nbz8YbggVvB|TwMwHSQ%PZ?!pvUbEG-CCfc#4t!tIswnmmMnW!mk zc?_lFiLoh%Jlffo1(LDB zzV(GdA`ZSa_sh}dp04KZu70q#tE0QUtFx^m+TY*R)zjL|xXRP{Jon(133wMN@Xukt3fM%zhE%AKi1etnBpnl0E)wH2?mSLsWPD>=}#wXbYx z>%gZIpRScH?JX-?I$H5TSZC|Xwy2CxGp-Td8C}`Z)xI(+H?NE~cjD8vvaJQ5XbZxS zPlt>T(ss~&8{+Yawnken?(6B7J6c-1Aq;Kp18uFHZSBp`uGZ$R{%CK{Ku@Rk;M|jG zkA2)!ma;$LA_o*xDhCw0W_x14lDx7nfp(Ikx^37J2T2~TP2m3~q zqPh@*Z-k(lWcH2f#5F3DDh{+!2nT&5J-)l>yAvt#O=U$PD)ddIL?J@-4O)CNS_n{U zb1P!$8&8XGHKc=GchYwko)h0JO;;PPJ6b5b1Hy)Hh$KV@dD1u0c6AbMS0|ZCMX zT`WykGrOkTx>#;qT~uNh%d?A~1bs;RN{H=Bi2BO*l^rWPS9YxgYnq!^Hn*&7j;?HO zT?sKpqUMg3ka-vsEocd72xud1XfBX;Gz`f5#ZZ`i1O3e%y?uRca(_=>Z(nCiTTgFq zREF?(wDfD0$<^5L7ILHWckU33=u&YvqSi2JL&vAAkFJe41zTj$j2`Um-JVU4C6dbe z+>VVs;lcji_U5kk_EjybA;ymB9P`kS@V4UmWn2SV)&(moE(sa`Qm`D#6r3RyL@rLS7ISuf?d8i;486^F2OEe9PpJ`NS9!jFAn%hETl`Y z%NGZHB^J^p*yW1@z7h-R672HD0bhwdrK{0gfvKdh>~bI0S4wP!W`wQSy!0K9grrTl zq>ujhaE&Bwz(@aEigllHx(_{otB+wtXh@oWUPwwN3n@K~#B#0uExTX9vI`*@Ws6@{ z;<+qto=I`ZO&Zlv7B+XzNH&(rWnx(+H9Dm}Go6kLx= zQ(7LsV=0k)vB<9Q$RRb4Hg?~HZ>(u8i9Mag(kfRq^<3kAKYQv^jQca_zV?sozJYz? zODm(1-6MZWbDp{;wvozXe>IHqDR#X{ij0jRCW-GEEF`3b+4 z2uZ8V5SHg(a4&%$crT~F+Fw$%Q%tc~O&pcYSSCp|(gJp;$_rcfOJ#cfvGg)au`pEf z$71O{>D`HgwJc;73n9)TtY(Ay(dw)np_24Le6)DFO%;+!{4l!9v$<3*;1we%lIpUm1EmptPkomDdh9Y{8nQ%adDj z6pp`!iCAtZO{`%;$mF4w#SGxPR32E{vdP2Z+=QaAr%xtQ$~LytJg1kzawM%ONv38y zm2PXE#uv4T(o$%3|E%4yoU#>yHqw9P2=42pozS-mv@QM3z$*4sJjd7Pj?sKG;#fH& z=}g$d0%?mfW@U-glTS}-@wBIav}1fikH4St&tW;cqQ6CmE2o~tA<;s7X0n^XK1*3M z$Fu1|h6|dJ&L*(yfP!WLnmPT$lsgvoA`JI)V}*QrqmrT)qr?#)jZ9?}Epelom_jIK zaB@71pXq-8TCD%q7;kCae8^C4T(2B8&5T$wKN1_~Qq3DxlF1Qee||8xX=G>%Nf{-c zr3Z6~8z$1(8@iK;ah+51)tBF-2ZM5ETp5cMl6hP<>{YUPhvb**!F=-ByT{pjLJM=7 z)ckuk8WA9owx(0W>xO(fgJzjibitsw#v}x(By`U1bRGg#58Tg* z-b2@{?^vA01LArqg^#P(D_I)#dIMd@CsUB`8hYkTd@@egU&i%;y#$bZp(EZ0*JIy zZ#px@sw8~==mpq?qpLH#N!gcF^7&QUp&Vn`IQH(C%*0Z#<8!uacytKQhD4ejoJz&Db>M zTbB1ZiR8tyqewy-T}=!%{>mmWQo3JQ%3Dq48B1`(eQFC1lT?pliFqL#hOIrSgjd;x zI545*u`JKAa)&aekWH_IFNc&RQsb!ZR6IfbUpSHC77AN(2uNnhfi6|K#>Jw0j!BDO zxLR89t;JI9Zx2g#i)Kr;*SrTYA*0^5G+ZuG%e&&tCset|HR9Pf_f_*o+}7k0tXGhF zcZ`Hb3)#JDk~;dSml~z{(qicp=?v*C>3rDjEmDVcv9v+zmoAmIVJvf%^a6}tCZtL9 zt^1@GOD~shkzOagNqU>~PU*eUJ<@&BN2HHSpOQW&eM$Nc=^N6+()XkvOOHyAOTU($ zl%AHJh2cCiG&i&;bV}&V&^e)tLM@@r(E3n+XiI2E=&I0lq47{ER0zE|^vcldLbrzA z8M-rcU+CXLp9y^_^tI3y#8`(WMubziRgPTkMyo~%1oKev8a{YCX_>IdtutRJu6SAR?WZS^0h|787F>c3b2 zc>U8eX3RKg#(6V3W^9^q)r{+B+&JU)Gu}Ppqca|u@yLwFW;``>=FC%OUNm#v%xyDc zGxIZVnR)xn56}GK%x}+peCA(f&7O7Utd>~=v#y?%n)QlVx6L{@>kG5KJ?n{C&o(S* zIHzGv!?uQa!&Ji?8}4cNY{R!29&dQIv8nOA#&wM&jn_B6yzw24A8Gtb<4+p@ID7W& z6|=i$Up6~2`=;6NnEkQY|2g|-v;R70;hYQS^v=0vPGQa)=G;5yfjR#@=Z|ye&OLYT zhPhYI&Ch+q-23J}H20@-|1xjUyw&pt=f&r}Y~CI7?w|MVc}M3r%s*#-_xu;kzhVAu z^FJ~FTl0Ujpkcwe3wjsC7QA%99Sc6Q;0FtyYFgCP+_bG}vg!3r2b;du^vi`a7oNMY ze_?##%?s~d_|U?~7S%2~YfgC`|VdgDnSKk54?J#+HuCwHH$ocx-TKXUT7PyX}L z)0S>nsw{o&(vL3v-qL4I37^t`%AQl+e9EUzIdW>fB$RxAeTh^KLlrL+AbE{JG~}a{i0Xzw7+(UNGZ=&I|Tj@a_v9zOd%PwhJdN zyyL=eT~u>X`$dV1-hI&{E9Z6gf zBUeY>9QkVGnA|2O<$L5GH!p0ywD}dypKbm_%Y`kYEqAnhH##>u5Pezn)6w6zUev0z zzNhtvZHwB5+FsrEVB6o?JKD4DA8G$p$Jrg%b-b(N2c3&Mw|Bn2^FO=lyL!4_*7dor zzpiOtlV9`kHNU%f)x~=*K6vpj*PgdlS$ogg$JVV_7h8Adx<}WC*I&2(ed`~+Wcekr zOYXYl=Nr!25Z~~D4Nr7m(0zUPhr5sV$UWJfPxkz|cTMk0dLQVk?c3P*+P-i0FYMph z|IYrO4y+g$ANbI~lN;MM-nj9BP4$~LZ+i2l9}J#8I68RW;FFhjT>6qrzr1aFp{#|d|_4qYy*W7Z=_pd$g+Wpsl?FFa4Ao+sNzi|Ew zV=w%~b@kU>aoxe|o{MdZ-4%Ok_u%e#?S68!cl7O}zm9K+zcv0VWu0=X^2FG>v0KM} zIlgZEE#tqMxMbqCiQgo86Yos?{`yVVzxVn-@7cEJ-aWNQhO+%Ry%`){nfarDLqU%dRqFMsjRUef)NJ6{@l>F$?4__DKJ zcJs>~ziH!5AAEV^%lEwezg{7~;?`IE>6KT!^0POee)CN?KlZAPulmp}^KQxB@`G1j z{Ob1}s5_82@XgmmUvv9wj=eVi+ONM(e%)=ad+zn4umAeLH2=#x{-yYau{V74jqPuI z&zokvDfOoBzxk3kfAH3(TW`4av9}Dp<^H#Z-}>6O{^@NmeB0MXJ$4B3_>|L*U*Pq`VfA_cFv*A4-dGG1(ecgMXd0*mv zKfH6}o%i2$?p?RtJ>%}ZcmLv^%kTN>`#ax%-v>_p!0SHnw|i6fKKj8OAN=xt9rxXL zaM{5(eyHX{g%ADe!`FQH;eYM>*H3?B)kp69=t&=a-N&Sl6+ZUA|90KKegET|KmOn+ zIzRD|e?RBn-}T8wpM358q5G%qfAUikpL+DuSAF`C&s_SM2S0o9XFqvp^`Uz|xBPQ= ze16I2-}r^bFWmfv;umlD;!_V~9{A0d#=rE~gD-sW#}8fk(09Ll*_XfhmCaxI&;J}Tp)$y%QKiu{3 zXCGPn$QQnS$+y4soxbn<$9D(6`;G5y{oW(r-}(I?{@|J)Jo>}<4}baJ$^ZWSkM{oP z*&pBZllq^$_Q--GxBYb4Pw)DF7yQ4EKHC21=YQ7sv%^0h{`rp|8-488|C9Tl=N`ZL z7ju7c+Y@I#ao;ane)+jy4gBii|K0V!kN-OJ>t}y+%Ws>0`>vzsAN}{=ZTQ{cC$D_+ z@!w~EU;M-C|9HwD@BLHjpB{W_`%^!Cdh+RK|NPp&obs0s{_)QYXi$9ibmgdZwHLGFP zoQ8%uO|u(kH!YbzXU_a3OBXF#vS`uLraA0S`%!P~-=Vp)XV0BCcfq`Q3l`6tH*Yb0 z&0DOJG*yy8@d2r67GCFlwV@SKO;f10DO5ZHhd^WT%b`o~l=Z5Q4-ZU#wRpL@`WZ84 zH8jqKYnYD=Nj0^4gLmiKPyY7KpDTa( z#LW+Vr|{Sx2hMxzJ+J!rw|)7$|MRE!fATBed;F=($M)WG+XwFdkMIBD>5h$8jPHB( z+wc9f6{OEN@;|hbMT^ibeG;FMso5dV(+Qc;w0G*}H$1 zeZ{T4!%IeUt-n8K20g&cbK4&LHXh>cljHq6+w;oLjYn{Qg7eHrDE>&AQ_IS1k}i>+ z8o71woD0srb@0-`vv1vT>)_dMy~izJTk&CEsUPu``rA*9y#4F)BQc2n!I?cGgK6Jj822C;43=e=LEyE`pYGK#ZzTfcb z1oL|l?LGKBEHyrNlO)0aul;)Lb12c~g=^#v+J_RG7qX29k%d(IzL5EB@2fHLzyE!; z#x?VuA?=J13~~I1;G3|#N9YXmJwoSN-=ij^=Mh?6W9Cie(jW8<;{*Gpx|#nz3a{-!TS>V2_@T|9LG#Xegb&`o8wr#GpDea?wnbW z&hk0*s-7=+GRj!eo!l3j%5}%%-N}4+KA%nOF60$m4(1vmy_iAM9-Sm^PH!@uQ@Sx7 z6B}oegfMAVe`*w45T`Ij$R?#JY-xXPG?r2NFddszdZzNq&K+BNCt_KHXdwyKaBMHg zJRf#8GMh&}cm7R@Pp9-1)E%Q0%8TatdXx#|Xv`Q>qLVh|CzE-Qxy2dU zBiCrZOUwM8gd7(#)(;nUkEN4wC2N^qoGB&X0gXxHF!t2h(Z<2lXtEGju%owLKTSly zW(e|$-H9aT+a0BlxINcQIusk#Gni+F?%XAz9eg8*`&7w zqdN4LrkE{|$Nv3!b+cRJl^1MGZ^4eidKDy@)FUrx0jt=dSY}IF-G*E%n2hB)dK}IC zY2idOU#no`Mw?HwLP+cuYT;KaS*XP4_cKtxn&i9)ycsfdLA*TfL`DX+*=ypBK39{ zb4H`AG3?wis3)C&1-d3>D3MA`#*!AAlUO(cM$*HHxH1~ca;<14I7b^Q>kMN3(p`8w zD96cME9N3qY|s3==_)j9GL}jV?ikpCo98HPcdC!{#ZT}t`!5~yL!uyc4-D&Erdw$s zJDAdR7>_K_sYqxk6+;y?f9d~Stlsx&m8;^Vkg2W-opT}SkOp!b5CPAU)o~9Ljrf7A z{w%}+y)+Ai1d>7Txg%|&n23_`=^nb0mQ9XjF;B}zqZS@$Hd6ikWm3(81MnEx|1kK{ zsEC#%u!iNqP--cdGDSF}@JGC*zw=>!f};Fq-rC5P*p!kDGbo0NGXzACo-vHiJe(sD zk+wkFPccME7+ODzfqen^we|E~IO>6LCUwc2l4ti*i8$TkGl$*hM#)~Gdxi;1<}zd2 zJ>yGqG)eT#7Q`sKL1z|Z!`A-1g~FDskXjf8X_7M)6*v#xsHw0``PD>vMVgff8Qqw~ z>ktprG-@uK6f{KWt+yyKYMLm=l9?)hngHU_j=xkhIVaKHqNK+26PkdBTU5qI z26LCDflS4CC)|wpQ(HP~mKC;gvk5cy=*=}^hUFDMU|hhVDeak)<5? zHy*~|8iz(r!1FLZ!AEULjK}hYtdirNtj`R#$ah0TFR?F?RYn=!$Y9k-4q$2PGwX84 zppB&4O%1aJ4Y2^Xg8ATE(>*xOXb=BvFmRL1_n}pXE{>=e*0A-m8zPs-;2qI>3MW0G zHBC^07wJ8!i^yNLtD`MAizUqeXuXl%2#`NL^guGk*R)zF3+DLA5>sEnzxY*VJ?ifm z!DxgkmJNCE5M3?Jnhxi*j(StMnjnSAXd-0b45r4?2vGT~hUB)T%x8-XPo(!zLQ4?c zvIg1Qsmd#()7w%@izU#gOT9O?)S_91)~HR;Ru`|6He0S>L_v~O|L`s zlrvsYWe;pO)lLhyf@HMK`Z=yv_cF}x@J88HseN6FDWF|}1E*R}x3($T{5v2h7p#F1gbl+#O%r%n& z9tBpHDz75sOC$T-VQO|Wym_=fD=qE8sBRNRdRZw>Hhe>5YnmC7L@0;kn&O<|Jo(w; zsm0TZXBI>9bAW}N5oQTZwPY55NMU6?OlE?skhbglFfX{EGU zS|eS&ymonmbXT!HEbGq%E0&%pyfnP5I7?n!ytueao+UTRbL4sQ0_mFbrCrjE#m9?v z(%r?dbg#UySgTTQR+J1QToOJ<4bg2i?fp>TN{V0%_sh6pFmO!D>ksL{xN=O>v+#UR zHIctpA_8kmH`mE*OO|-PQ)~tO&goceaE2>ETfWvPsDN9<1pw^ z-3$?a$b+IVPeE=cTKZ)f@W6@74R_FY+Xp*r)L@v$hVjD=&z*%*+qnG@&=< z1~{6y@MES*Gb@3uy?R?kqaD7yxbC znXh{lw6FrdcR@;$b);(JVRlroDi%yq%oZOR#sR|<3g(ztw4*s;!sP~GeeFegIry&A zxYkSvpZTjApa4gxdWJD;r>omKqtxdQo8eHZ>KdNa(Wn-;+mS*GElrPJFNs#77SN$t zqWY<{xsn4`iRbuqbxIZ8?$ij5{IY;zaF9JS0+=mwVA zIXTTx2y;~RIqBRI=BRG=nvOzYjw-?&t=QZ>q2}oN^$ZGP!fWdGsjvrHGSWcTY!s!T zB+LNB&Z1a-QwzFglRmWD4kGox`4q7omUf2br}nbVc=R~@F1AH)BRH@vi$+SbBTa}{ z9jrm14$4Iba#(Uyu_ziUhX5@hLXB9_H*np@ZRi`ef^9UpJBjpl1dXBiL~3k5-Q&aV z_oViut@nP=IU7c=11S(Mm#`oDB6QAc@ga21TQzjfhjC4~oD+-Ai9O67!#6qyI3WC; zU~~>GLp(0%oEro>$L57)cBJ9G@DDN)=p3@cdG{*<$~j<>M4)p5Va}KzPM~uLUnbBw z0-eM3H>n_j&e5Fn%-!5jxtb8@9L%H$bdJ`L1Ue^`7w8;;&T)k_sk47u(*m7?PPYoA zk3i>`OF9HPhZbBIOE)SQ8VYm{oBtB%9Ca;&K<6;?O*Q>7Eh^AC0-d9TR||BGx0xou z;_6yOC;U5`!4qKdAb@y*&SAZgKwy zJ0E-JTpMPO;TxT^i;-LWdPUAaD4%% zxlMxR6;yxJZtZUF@Ah=o50pTb7P$Av%g)b5A4GY56FE-4>7{%3%p9LLC>8 zB3v)g#O)hbPhzs zKx|o;85`TCXo^bgonzT)N9>)0oqYs4N1$^AI>%uj9tW(#E9Y?mSR~Ln;$$mvvK1PFIN6FOq{PWqbV_W4x>uFq z0iz3XvXwa5%Fkh4%w-}LD~rX-C5Iuyp({?d(gC&%c3i=c$K3i`{lH`0z!!^^#bRa0 zWeLv19*04Xm<|!sA^#-PAy{dX9>tl{sk}JZN*uI`LuV^GJ64#Zfe(`vd*`T-U2(FN zu@X$|odZwNK&-G|9JK1TPFA3Ek_9DaIi8*$@iE^T2~i@MWQSN8^EQNc!a=U$WGiv9 z6@fMW5l*%OYNQN0Xa2OKbA~q%H>`W-oQ2!<_z*g$PebPbNrS%>JJ~8F)zCFPSqdk^ z7bQBT>+DWSfWPx4saUM!6T)d-COYS=5h--ZlWG?BZ#{g&_Ul-b@4a(+7}*I%=QQ9U zO3*pWU*FhBpj8||Kb}Y_eTmV$ew=WBJdsalVIrxZ*2svmKTqf7hI#}#N1$^AI!B;$ z1Ug5cbJ!3X_O94Fr_wEXR!3V}I+_JKN1$`iYy>)oP$>ePBhWc_73;%tMJGOqqXfiJ z0@ARgNO?(|Y$Z;%N{z!AySkGd03c4b3c6TX-9M5onPiI~#bV`@Sgefcir#dRIRSMy zAZ#`3exsFc#Pg3e9Wo$gr2@K-gfxzBBr9!^M$n<;v6Id!X@``SCZ(8^Qf-mp>Q1*B z!tU=`loJ!X^oU)0q~(&>rH4j)VwWCrn~7a|#4bHzm!2s)556}&nMt3RU3!G!tLQrw zIqjG)cIh$v`oi$lBqcIDmC8>j`NSxb90qyPKmuE1lL~q~ZBRVJM8=Z5J_N;!x_}6QZU$3hX$Xe4Mu3Inwx!I;4uQ^z<-)DtkU;0q$QyjvK9SC+a}()| zrcd;#AR4w!#4?KIWE7S>olxBv*b0K*kC$S}zoF%$yAD|)4mn}2DH}`W#;~vGcFI$> zZ1k%h>B1=aM9o^M<~G_6iCUZbA}(4J0h#rHhaCWyv-QKZ}(GI!B;$ zNWloOxRep*s4z!`IZB;Qek!R9Pbf-$SjmTXp&!y*e!?6T=BO}7H8&r#+X#2%)<^_8 zhZ(Sb%+coqItQqcGU%Lz(~Zti@h;qHU3!rETSsSavGcj;JH)Q(w5}R@GWE2srIhk> z^o75QPwT4BruT(gG!7I}3D7RUryjejrloySSkmLB5^;pr;j@TwD>s_Q^&EUcbf1ak za%y;HOiQP7bu^j9J>iVlAEg=FpUvQA!2??8hILw`{io8m{)t9d@mtSZ8`%<@QnKOk zY`TzHuRf{z_F?2TPg*NQuzPI`yUfx)wqfjNOZ+InCSA|oGL@sZs>7n9Ji9l!GfU+H z;|_7FR=xMnl`op7rqv>!yYM*~pO0!tt#9C3!mhd`3pVS(JXKfr!TTA2LMQ{iu9{}$rY4D~u69_hbw1lKj88!1FO!ALE7tmA^zx=|pt z1X4>NwFFX2AhiTiOG8A6liPGJg$ml3$|zxVPhc9bihYy@1yYM4a3bBQe4;y<5J)X* zCk7r%Ahnnt6-X^&L%D+;#K~>qgnU$fN`6|tLw=WZi8xQKzM=z@#kQV6T25eIOdz$k z3#67nYQfqNNG&j-yO2-o#%DfT5ay_5_fcVv3UhQ?77jcgkXk^EFf@&ZzR4=7IJ-B| zH;d_hG`TwoXh$7^Q0P998rx6z_^|susXb}yeKJ=$I%mV^bs&|bOL%n7YY;@}oVRJ{ zoUc-v6OPV_J5DQke zeVK8^*@{!nP^aRQGqI17rNszz4%4FookMI8=p1>DJWpOArbEPZh`QB%L`;V?i0Ke$ zMll@%CWz?}?Tn1l!Hz)Z&~dQ>og>gW@}N8_zfyjc{A&3P@}2VC^84j`<@;oT&XF7B z+45X@zT71LO+F^STYir$&^gSlqXAt9Q+b?F6iXU=!E9%koIG$j0-eKp9$}8c3K83S z3Uib>f`vIM%+W%gPDQ>V5zkN1lmU6MSeL@SggJWr&C%xrItQqcGU%MfX-DT=7iQ2E z8#*V0Ktku-sG)Oy$`T#ly>o`uw;!1ro{*#!H%TGOGqB?HFFkz2wb!vA-{>6d(u2Pf zjLso2)p0@RTrJQ!0-Yn!IRc#{&^ZE~!)BE+ST$id0-fUx`Vr_HfzA@K<5Z_jyy|l6zCjGg^1}8oE{+1Ik|8rvoXbVh(PD4f*__t#B_+54$0(gJK-3o zpH0hRWpT=xIOPl@HgU?C*gFSjl8e1_ggGkAQDKf+*Ty=mj1^#U0T$0si#hsyK<8*@ zJ0;!s&S{u-bdHK#vG1L;6HpRD=j>L|IU#mh)N$TBXRB{?&gGBdkpi4-)yv3EFgk}0 z3_C99oL+&>5$GI&&JpMwfzA==95zA`=o}7fAkaCfu`~ojTa30bn}~~(tyCa}IN7Q< zo!*mBxBnIB9D&Y})<_pGuU+0C-Bqj)%N1?0FHW`+CtHb=tzdJBldZ(bR^ntUag>0$ zEvc9e5z`^lGaVw(IRc#{&^h8{EAsaVbPjkR_RbM|=aAP|Y~`q~AaUBaUYMi89GxC> z^!b3!0cxbo-Z?X-9i20L6N9ek`_tftkT@6PL+G3VZSS1VqsQSrNYX&go`kCm5YWOe;a>EPs7tBRO~? z{p9gg`Vyo0Ms?C8(jQOc(^+$pZA96h51)Um80r@29D&Xe=p2F05$GI&&JpMw)<@Df zO`RxVBes#Lj1txl>#`k~CHBq{d*_I~bEuh^Ek>Md#q_AyJBK-cx2F43aT;obmxh-W zXUU6;7Z-P#d&&rOjzH%KbdEshUWSL}IPscG%#Tk;OkbeUC#ii}IO0yCalv|LJ z2+basQo50Q8Y@{9X;4Z@dr@8vUh*`q^MUebXE6*HjNN#|EuQELx|$)5uI3R(XT@1I zeh^3fR>V<7r*-viV1@Wb94%#JCm3-=V676wQTWsT5l2e};z%Hl1mZ{_js)VU)WMF4 zAl=2jTGlZqu1r*)b539%oL*bj&{K^jQL z#&bq9VPitEACTA&h_F^n7|dVomIl101Azh~JCt0ykR9dL0&GsCa_KzX$ zIi~5n_e55yi8d=rhM}*PgwIh!HpK+uNFa`2j*0z%1mfs;O}uCz7J)cwh&T;?T!%hR z#}r5U%+Zi#QbZqS^(C^(Xg-lng$=-BQTLq!7frwaFKtwK&B@0R}yo;b-RI2e|=7(;Y z&>N@sD90%?dM+}DEl4yqe->zA5=)rK=JJ-5SD7`U0pqq+hd2^AAR5dUcIOzJs`NO8 z$rz+4mQjI59gR#RB7Nymh-oUXTckOCX{syI6DRpmPK|N1$^AI!B;$n4cI!ebXPE&la@9c(B8_8Eg(Mkh;`S zZ2*~gS2cMNU7XcaDDSRDNU6gbfxOFFUrM4n#yvLfA?LOJQ61OjtU5y~an9?CvlaUR zfq4_@eS}{zCl(@f%iO`uohq7)h3H7P7HxSt3p8d7wAlyiy6#4bIAD#kWQ6PW!MU~y_y5iex5X2KYtiE@k+=p4Ndi&SCu ziCuamVU7xO6ss|H8?b+`lAR)7R&RPTlNRQv*q%~=#RXWrWa~?HKzf2UjeI_!bATEt zgU+d)Zgh@{caf~<96d<=t)sKI*ls!WO&h?}u)7+1GWE1Bwl&S?G_s0M>#EPD_l27^ z4ir)e&@aHJp6#i+4_{!_=M;_6U*h)@XVN&PUY%oGK+gU zN{szcnz8-a3~m-YpoM<%NiCB5i5@wi-ybL*)h}1v-ltzW{2nZ7e|^${!}NEwSd6Oa znvN9rX%vTwhqS8$#UoAXWnZzVW!!YsA>qE_(UOGHk>XKS$l;w$db!0hR1Q^*=f9_m z<^KIc<)U(E#eoAF3l8Be+22@EtD>eO2h|Y$drW7@*iOcxBL;g96>nD)-CjJRUhLHC zXvI-I-sM{NzF@6eGW2N4F5J#-iq1bIfvrWI1uXhlbghg4=p(LN3{`X*wc)<8^QKU$17 zjiJ{2K#FQQj5K3X(}Batny4xe^}iI${riW?g|QUxdqCGcP#Y@aCFy|9A1QiNS0!3{ zFz0|YcDQ&1O{A}Q=uq(}F&39asvU4{pRQkSFCHRh(%()*GPO?pEe5_+TM^`<5=NHO zJ5Lw?p>hG2RK?-`y%V|!Y=%Y$$5%k=p~vw>-x|-|X-S6pSY44!|1XvN_xt;Mmj=d; z9XhINi4~+Spsdkm4m0HstrOj;^}+j!w;$BBK13KjD&q>QX@XIqz3k}epB2GX~uI>P1C;Ua}s{{6_2pr=#hQTfkg-YT$IM} z^GvZ8_0{(msg{h~ze;uJ%U4LxNcF1O^o&%4@MF@mQtcQbjv=R7#O(VUWqGi8_&Mos zQZ3nI&q>FmTC#+n#RbJYBNe4u2to82i~$gF;IC3GTH}$wpo-CHp!Z|n6;zgL8vm(S z*}qDv{~sX723BdPB36M^g?#mC75J=FA3aJY0rCCF(LSnxnnOpTf0LvrYVZ*IJ_y!Q z?SRv4EP`KDfP_k`S50LQQv@SM%-^WesA~SkD(y(|0M%X%D(6|P()#G4=1B2&sys5O zpOI>#5R<<`Bcs?O(h>GuapgT#tn6Rql~-AQPgP`{sNzs@j#^tZ2ZgumgAXV@ZLA`p zPbor=Vf~7x5m{$;7z%F1KC-N-<6(cgafch?uoeoPc~l!SN$3uXNA%w509vaa(=^7+ zYmMZfG2)b@GL#)7x>$H5ArlzR8PETNt8V^w! z2IE$+cBe(4$+0V9oced92!85pMq9#-W+SkhLt3}RZjddjZg#WcpqdA}iLOxdP;aQI zA$RSDwPpQALIZCyZdm6DqX;RHo+=i7r+Nb&3;RdEK_2D}GjsJAGGvNTyoLHYqz)>t zsmfIGpM12w6PP2~gEp!HEBs$JQL|xWV>GCs%P6x$*d^>r#$fn2Zda`rYIiJ1k`BUX z(k`1SDOhc=MJhtStf0A;Z&sC5{NF7Xl1uh?1maG%BsDCfr3JcDb2(t-M^}0~ul!2Q zrAQ{O`ln@ayRI|Fj7$$1<|%rKL#nEe9xg)tS5RN3E3ll~$r}GpnX@YV(1E&Er2ra? zt4)PPgKfH(5BDq36`Dgjq`e&q%}9M1zLz6LYUJAlb*Sgf=%9+V)M~CrHE#_|OT$Gq zHJ*W7g&1D4)EJOzbxyt=HhiIHJH%3t>58AJXnnN9lJ%KsDfR8p;>Oqs207)S{~b2Q zsT4A1*as}$GTfni3~H@j?WTh?ZuTWve<)V|@1HVf#y0hfW)QZ=@-+LvW*A2H=Ub$j zV^@Vs_caQyT^m-9Uc|W_bZzW-gas4Udv*gLo)ViJ!PZu^cp^zVZ86AZWH64+k`iMH zOx+Wa0UWCA)Q_;bY(@^RU$6bIzU1=TUQI`-UO>Cj@~)+~jSQu)Pi!tsCVJCxWhC93 z#555>YOO4w4a}_f9Fs3V7RuyqC7WZxEQ6s~CWBqF4LX9q9cw$*hP1umW-69t$AUYK zbvOlg9qV!mzWCV1PQmMrt#b;#XBB5T1z%irdXnO<;x32O zIL~>hLokkZcFJ3BlpCE=&ynXi1<#Y`IR!6}7dQnkmKQq&A8S9>&VpO`+UY#j=@h)? z*czwcwa3;v1+PE0-YIy)u?Sg8Pp3IRqCQiVaS|>x!yC@UK(6ws@^WYV6r{ zibF7t@pH;so-NOINl8d+p6?XgBsVz)FOiox1Q+KQ)l8yX?G#^7d;v?%2Vezp8+r{FipZ*U5J zxBPCW;P=SyaSFauzSAlAZuxGf;P=b#cM85&zSk-EKKVYU;D_XgoPr;dA9D(RTz=ds z_zC$5r{JUVQK#Uibs-6h?{GPj3+O!}Bpco_SII)=A| zTb;sXNtV=bzK@lAWL2d$^XgFUlU1E+4R)O>8|H_4kE!!MP0JBG*Qn;pY%k#BJf zKOp~$WB428w>X6t7Zg>!-E327cgY%`c@dWHk?&FSv4wv?{(xin2jvesh98t4bPWHp z{6CK2zmR|782(H7w~pbzlmF-x-V$!e_QQLhpA0CyWS2*PpeNl9; zWB5(cBTnI4rT4zyDI8*`8E%Q)QjyQD_S*~X@cji$}cm{B)*APvE; zY=(1>GM3IN;Z>{KXv7m&$Y3UGR5PF*qhXbLMZ-Gvh$bu5D;m||5lzOdS2T=TuV^TB zuW0lTUeV}RyrNZEIZy{fDRaU9fsjFBV#Nrkq6*2mD>q0E}Y zZOAV|SupBuZ5X{Pyc%z>e~@B3lA>(&KYIewFlyE?UKXgs>***36@h%{*#r z=B5TI-^`<7z6y9+qGy{6nTkhmD^XXq#R@Ic(xPFW3#G+UF07q8w6tiLZ)v5}t`E&O zGarPuHs*(tZy|mt1J{kMZTKmZZx|-!>Snz=(mD+`{NPm}B$00#m66*zvsOnbZ>>Vg zTdNY*)~bXR&t0CSU@a4N2cCkyJWn0yZA^tBr&K(%nR^vTARxOy=Coj&?`g(eAA~%r@j; zH@17XeT~+59$jU$hdpb-oy@bfcYqEbH_2fJ^?=sX*z2OV$SRQ!70&C#R0fD+){0JZWk@^$EeA?TjXuN<*!<70%L27iZR%j>AL zbs+=HrP>78+3c_N*baYZAGoomAI0oaIF%O{J9D^`ZH8;)BrENc>RpEyNEc-#q+K@;cBDCEqYgDOp#5X64Wa zK@jAStslyOGLA9> z$~Y(k$~Y*ika18~FXLdelcNK{yn)NtfNqDQ@i}O65C>!>D7_d`ZqN&IzDwhuniRR0 zG6y;DE+{2;5m-0Q05m+HntrxW>c5O|kqMfZ6{ z_E=>MZp;c*C3(%|Ib%q!LwASb%d*Ca-qztkoE(*bePWcCvogw{C9pDRsZJTRR97V} zft5i^U}XSC2UP|j4cPO6E@;{a-Y&$b->AMINLOG9fo~10&CU3y=Q(TAGc{7K zr)aCL;k1=)I9`UlePWe=_Ht?v)mE+nvBFCxiKxQe+K*Xjo^|Hh61?c`;^;g-2uZI( z9PKlNCQHpH^AbnIPgX=oO&_iXgb8k2)78>}m5xOjIbS%+?4xY-tVHy}@4j@$gKfInKB zS>cn|OGdbNc9_6{YmGNde3s3RG<_2DCXG*G-U#(c>^9USc9pAWSID51*cg%6tR-h3 zB-}k76GPq)6xah=`!O7O1_Ddj#%6&`S#(5l5ZS-DEXFQ zQhJRPbR21kqQ!sx$LtZ0=9mf}q1TqvWq#&l+&iM0(2?%MI*a1D5{;Ufu@1cuo|tbM6;azPIkDaVdS@3VWBI{QDJxw> zRjfBC(>la@18rj#-Ee_w^J?_v2CpFJ`?OL~r5bUYS^#-KNe3lApGaiM)EHj-i_)re3T!*iZI>BX2POL&8KrRdfFft>IEOo{g(w+p=U zv>)E73LP)j8&s}s!RVj{A4r25d>{=f@E{Fp@PX7#;49Mcpm&paFM7MkJ5S2u(W(%6 zvEIOY(Bh@Y#CijVy$m7gRfwZ~j?mOcW<$ZOft$Y!g}b%!O6mEAZkEqRb!8?jP<&N} zi&$^Kz!4_X%}Oh+bEX~H7iJo5D1MtOwOSN^i$L*14+<2&iYM21#kX)o95!H;4{_Ll zaUy_=m(JBathw*j2{JKNf;vxg4Okib6a!2Y@F+;i1==K?$D z0{iB`;((qCPzH2VfHI(;0+hUvo7S+dja=s7K*>wEN$F)r>ywrs=ViPya+{PpyXD{j z2`uFTjSp+V$+>U$``8p(nX#%sLuS|WD^BUDRIj>fIlk;k|GIE<*6=-~`o0eyx-YvQr>2|LgPpuD$ z9N_An4Nfz29mu>}ng^X{6Z4?+Y+D|5o{h?b&a*Xn(0Mi^jSf&foAZvadx6mSwk9M{ z_3Dv=0#$GA_HDyAhcQ0ZT~yLgT(Rwyv=&$53Y(1cV|(^HW_z;`+nS6($1~)x*p0s| zmY)}LbL6P^%`QV$;M;i#FQwG|l@7gvK*#HwDXIAOYUUmVI^J8x#cuqi7T#!2Eq&i8-3yV8Z+uH&7j z;qXpX=y-vSFEvHnOk6NJsKA3XsKE!)paKulpaKt4H-WEY-kF5bP2#=i?IQ0yNs33S zLgWQH-a744D*g_ZxY2bBbi6>vueUm=(8{YaT1V5xEnuHk)`N(8}zeUbbPZw z$3qVabi6>vr{hZa{9{GA#yI7`VXc5b$N!_E*Wn~tOjmg$7Ymo1t%&fUj^j?c}T z=R9#acf0+#OP-pZn?7#X8*hL-NA39Jyu+ciY~28LB(@E~{8IDdhEi(dy`2l^2XUq3 z-jB|YI1NPq{nftdB+nRKB8J`QUsC=(YeQFYu+- zxr?s^l)SL}q2vYK4<)Y?O-e79gDFimk40tVHZgbh(ZL(yF%45j%mr3nVCA_ncbjdh zomb{in7YoitTWW5ybZ8RtNX{K)olj)Wj((mH9y$*OU+Nxo7AiY2&}w2+ilv^FXwD- zVBh4tUiD4xCURcYZqutlu<~W}s(o7u{9 zrDi(A;aw{-)*a|w^V!(dP#!uj)7qFF4VT>6a+VK z&DjDk)_ax?8(PGL8*ZrRidgAJ?8Q#KUvpEg(+Qm~%d(1Em)l!c*2G+?dDGr!b$ND3 zWnbH~KPpe{Ro&&Oy?P@TYFq0G0-?9&?BH7vJIq%!mIXRI;8+%vyuh2oJE|J`xQt~% z$#)QbD0#K!hmsfaQcB&(cfgyRFbsVeA@8zv5v4EXQUzVM5f4vTPQ!OqHAN{v^xnq4YEI=K!2dr)zD->K+4=8Z-@ zk1kAiF;U5GBJV+Nmw4wnI=oXg5-))Cm1}u$I;fThX;3W>(x6HSq(LPfq;3-LrKJs# z2fdrfd(qovJ`j+;oMj`B^xgv(2W#A@SAnGWkEAarkMuc~!QHeU6VW-O4-XcP}@B_mXDp?9OImQ|xXy6U*il^?nx%8BE2M{TP8bZ3^pt{-f>@reFI6x6K4}_HDt5 zzP}t zR;1m6)Eg1D+u)U;Z*sl``zGfVsc&*#oBAf_RjO}tUa$Hl=k;o3b;eRqn=={%boJ+51U0z9uX2e4-cH)okW=MC2K)VAg%!1HVXN6Y60 zc)rY7)^VYP&AfNf3$DO@ul~p?!OmrSbw}l?y?P@TYFq0O;Cc1P2C)IX=3sOgkpjfd z3wr6e&z+JN@={9O)#T7c2=F{NUJ~H>@`xxv;Q1j&sld62ssPV3VZ$7(KGuZk8<3Zv z^lJ9y2Du=wYWiJ(=gT(~@HnVaCsMEKwHhA|TAj#w+oiOPI&=y)+eLuqEv&Wk#(9E~ zV9LSWx1bKH4a6SwVh?(C7Sg@$vN0SL6?sOo}NRQ(Cl#B1z0`? zQr@pz+9SAFZB%MdwFJ_D!x}1;?*ZK%2Tmdna=r(wh}^E_o#*KAPSt360iLg1_Q2_& z5)aa#5)aa#5)aa#5)V>0iLYc=EP1f`oo_mU?=9zpM>n!V_mJhCq|ks#ptjnWh#^OFF}=cOD#^a4z8LCeoF zHX83y#?o0Oyb851!1Mx4FTnKw)L?qFV!aP>L^$)BymWA8*i(+wymih~mn)g?1N_mt z+2_n3TV}=EbZ$dm?wvjHaAj)B)?NE!SXqdUcRkxWe4k}kBPBLd!Dq>ya#D`pZi6@` zWRAo(lQ{^0-dlnMe!ij&``~mcXWP0s*+9u_#8RW$osySxKa{*K^h3!@xJl_{N$Zw) ziEpkla+{Pp`{v*T@$is(OSyp03-~+-2N8SEQz$9on^t08-ae_E&QkwZnTwf(T&!VlP(%XZ}`)RmoLY!N?MfLJ6F`KT!|}b zBd)~NRCA?6RtLq^;Xd_f8+AGpSJ-4M#I`0A1SfA10S70M*kit;Au9mj0f(%ha z#p(T|%a9e6yqx=?VtsoG_TYw~UJ|<|~qM;LZceI4A?kxIoG0 zU{33n0Qeu=Ed%0!>H?Hrjb4D{xx?*IM*)SMsyBEQ+3c25#q83JP^n(kt645?I-SUQ zyQQ>bhc3ZpxCoHErMtBACJ;#8yUT-!29-2{krxRZ;-Dg5-S$-|xT-~B0wQ0*A~8rtz#$C@RWJNg}@7h ze5onoW(0xJ0S7l!M?nofkOtLBAPp+;AaxUXFCA@+LO{=3e5S;E(c5)=AcTAwvqtPL z9~_V@0P_BKmoFoZ_BlIKADImW-hbDzm3{KgKfPN+XQR3@6Ax(RRT(b!c|7y!Jvv51 z%Lsh@SR$pwM`Gi!Te(?F=gsBI;p4BC6tUSnU>E`)uY}J(Rt%qFEE(t?%PU!a#X$IU zuUNUkGj_IT>|D>-`JS;&p0P{3VvF;$bcs(v5a{naP4Ui_H&A*pMBw-Zj^8(W$S&|Mhf%wqM$M)h$~bK>Ampv7 zQjw=@*aVM*4GHqHn!up9bXdA7Ao_B;z=__@8-e3DbTg(C0-AQ9Y#U3pz^j$SI61EHtpMZPk6yU07w^?@N(^nZb8`%o;;6P}%A z`@ibu`%rpNkqb6?u^I)oY3@X=nO)*n9NQZW8Z7ZWnmx zX+OME6#_4C{Cq>D>TuKXV02J{2We1&2We1&2We1&2dSIDSES=X?3_<5i@`EbGba`w7c zuZ(Idr_UL=0X8$l36yT?+)JFS^nt~Z$s``hw$Ht7Z0U^Sx9@8&aQkf3Xh5qiXll8! z6!mP4HeuV2)FvX_Fy)i=GJi;yO>-YrSFxZXfO4z|#xdK0C#% zJDZJ7v1T%yiDh$&darIAGnk4i`_cJ1I-*?%#QI>Eep$C>+2zsJ<2t*w;6UJ9-27k+ zb*O87M^H7dxp`WBG{zpwk(#%~dFpZ{^E%%jt(!H@hMr}7oC3FRM-`N>XIlsFud-|- zHlM`Rh>7c{jmb%wmf<>NtB9C)qnq!nwhGoH4NJ<_%$;3%@S1SV+_a3#KTlvsUUh!F z>fCsNy?BA0cwlik6WGNY0!m(y^0h-X$vo5XvN+Xdcvx)ASFg}@8AKd&FCI^0Y}FgoDi zhUzG&z=JfXz=JfX!3R<|fv-r%gWgTzz3A;C?>w1{N2@~Q?bETQ0GLmPi6+)ZI5;R! zxEoU|rROz7$7#+0)?Q|I}CX82_}2#iI{+-CP! z&M3#WFu~%#fsXA<ZA}m7W7$0I zh>zf{>Hbt)yWXrQ8SQdYEH$1;jca$?vr1es&Sqd7QEQHSAFkl-(gcdmkY~$t<@s`xyhQGnd*yz4qdX{&%CD4PCBIsJgM5elF8ST^d*nOiyXE)G_saLl z56O?okIPTUN9CvFr{!nm=j6Z1$BLn1eX*f9r#P>8YVow zo~btElXGpBW9l%NJ0|6kxd9Th)HZR?fp5g0XEiQ(@WA%si}A{M;h?W;X@2f9BxEFj zjQmr|z~4~?tIBjZKb2I5Cln>`U!P{BNhq(R6qa^K8>JpJfdM6!FJzS*Q_KVDR36<_ zgnow;Hz*i%!J>`~#0vX+(#d#uESAhE>iu9omQ0N5A>D<1dW#Z^litl|3rM5ikx3re zl+Gq@K%TMW@MtWFY$@<^C7Vy+))F+5jg9W1JP_Rz%PC2msWUv07|XNi(n#+_3<+@j z$&PeBmQSQpYA_YPS;?mKC-04Aa+CwTg`SIkziniDI+svs!;#^9HnB&^Ph``D@d<0h zPAtR8Qt6I?+s4Ln=*rluZApx43{>A6-SKEvp#oxAbjo_9#<^ZRlCnQvh$Ty+x|4XZ zR4lKQ#B58(S)J?59v~*5fSew%Eepn@YV`ZzeX-nxelwED<3+~xTRcHZVdMkp?4(Ho zp@IdG7&RWlh}wpynp9GGBVZsg4vA4832fe;O=r@mO1yD$NC8Jjjg*^XshD1{DlkUW zj>7IKJxZ^nzC>1iG@ykeBe?<$0mfri)Q&=`JDC_y(W6lO7IgE4*f^4eBbUZ9v6O<9 zR5}kesiwI86djs!MJ$`>ohaxfYPVZZ!@cQ(nxQ3ZV=P0YTF7u=Hzn+zWGPAK^AV~5 z!zd(EO^doB5l`>aDDbda=(cQTB9)6DaAGo(RJO+w;0#vp=_y90GHAPKxv^vc8UxFP(T=Hx^p9b%BCqrwuvVu$ zo_Y5q6_|Zg4JEm{@vQH6vqFHI+)iy)J@M$P9ZR1G(jK$G5*m`vout)%fNx(`j0*B@$_z6cQA39-4k zKQ)>rbxP(iv07&>v#HA({c2CK9qMvC8_P^gPjA7CE#8lDlU|ZmF@lF$;Z zy~P^HQAJy`s}fLvx=NSb_d&lfl@7_X_A||^Neif*4wFng0mW~c%1kJvNVR%3?&DXa zvvJm~!3_cPM2#R_0xh36@1P=c%4i{<*sCRBy~)+-loF1%Q#~3v;;|Cc58j}}ZG}M_ zqJ%LetE5I1n%a%9!trXPi+6=rV>pPcnpa1eZ*q&0ho}%M)M&jy(Jv%oV-oLV#;TOM zpB1e&H4Y7jm*Z;$Z>gK_nlux8phQSi$Ho`QkkxWs@;y75{cFS71&^Eix@%Yi|%t$smOHdQEo`! zF-g^IM+-*}xXVy=)*7;2tK}GD7@d>!-rKSXvDZI#6oRHP^N{+lr@AkH@)vP`$l?PrsvRJhDa|#hKQ|HlJQ)+Fs-r--jIlB zx$&D|0rnFRQXp6$q(C$T+FL~E0>J_y1)?DcT>w*2Gz7td=c5$p&X`DFdK6yDRDRp; z>*2Xno#=WPhM0Mb%+@?6ayp?7!xe6!XHOi3>#Bg^H#WESyFF<4t z323fU3d5UkWNFZ{sAgl2GB;wJ^X*35UX~c!r@0Z!<%q-AT;NXKR*qV#t%6vV+=|fo9qwKL&Prz1q*)hjq%-N`JSPJ94a}+*Y$S7G%A0#sB?91x5PGEE`p~h?k+(s;B zw?k?z%$^n{CgHDQ{;$>WG4ISN!;^5$T~riI+443z0747t%r|JZD-lC#4r;<^h@Pz)|%Y-A;p-lhv z+2!`0Yf9e}EzF_J>1``O9yyfh|2_S*PaF*OcP|qtVy8l!R?q>RjOYP5^sdw9)kTXwK?rn%R3I^bs(RPIWrH3aR--XrvYwjWn%YX^V?Sn%+WP zG}81I>Y|Zc3q2l|XN!wQaxIj!2K5kjE69&|1fcryX)=Cnl@=F`G_7i|+_1kohhdOR`Zg%ea;O{Ueko%$CfKfPV+->IFNh$G!QtS-+PO2?HXL)s7mh&*VaI*I(RhC>igR~3l^ z$SXT5KwH;SNE!GYBQ1mWvDEs)8RW!)x_M9-WJ|#G35&WWHEa zkOU6U@XVugF%}x|m|%U`fLK!?))W}42gI5Jv8Dis-s8WffGiJ&*QX&P{sUE?8pk3A zw$f2GWAr6B_|-3(#!}a5RlVSBb+o0WqdCm~7-*m4zw%6LqsMjW z+3ILl3wBho_7u&l+uA$ZF~X;1D92$1nnMRc3vkPiTb(->LlH3`RM1?ohA2B_4u`u_ z`2-fl#B$heh`=uTs@YhQmBN-5X|NYfhAvMi`&j?RRtV|n7h^dLc9B9tT9||NhgjGZ zHwNRhG}UFCuC8~Y6{c*VjRWH#xmbg&mxeoi5hktI8CH_Om2JfO@bm=_N7lNs) z#kl47{X?4+S~ILh^;vIJ0fP*5=SIl{T-Ac*Vx65-!A4Y{qQ z^yK)kGR~GjM|2=0NvP2t^ab3cTbOIhh+zUUn9|AJC1q8|>S$}UtBWznfAjHtc&2Ui zN~(r?&8@53J3H`@8Vgy*)WD-%+IDU%#9SDz!BOc{2-c`I?Nvyr=KcR~@7#LZNU}R# zy4Z8cZ3*OI0|X0!$wTsBO052DQrlzC*ek=bX0W@+Lyy!gaZQl|FT?dDFZ;%? zpf8XhO!5i%6d-w8euIFIdC1O8`!>GG8dd(Ms;iq<$+Rhhw$FHEtE;Q3t4~#(s{Ylf zQXF<&&z0emAW|8TJmR`D5(*z~bl?a{t`)w*R@oiB{}Fo~O^)$1tV{}{R3>`E z%{>>p=+!4h*^CNG>1rJn^?&mXp*P~|ZRs>iKs)Q%b7?wBm!|;}*x_k{Ml-c_Q)z9| z`Gcf}oy_HHh4ov;cv30rm+woeKF<6Lt7pnhM!dmOPa2Sry1@XN{9~rc5#aTB)3@35 z4K2kqnLX5y?+Er#V|)*=hnjBhH|(JX6W`bMelvbfpqbfNF#%1GIvK&(Jk&5ve$O13 zF-_K<>f(!wvcvch?y20AY4RY@&omjP z72}}E=~Q;X&a6x}O}0{*g_V`1KAOC=5T3>`KALRg5tCjMGL$Bp2t$+f(&YXG)=Fw= z(Oy|GZ^$&6NdL$*d6j80)8yEHG}C1AfKE~{ORW0y*IdyWCmWv`ygJDEEVOxvj6UA1 z^;!7z2{S*V88G`hXMg8V9;86%=Nvf!)8r9slcCPZzCdkVVcX=6!!yol>k89krpa&Z zVHj+i?7_zz*^?4X>OU5PZIhMJ*7$9cBRe&=O{T@SaT`c8O&(;ld#Y5C1>8O}BWr)XOp{>^z%-d@^6M`)GEHWh%ru#4GMUvy z?vjmnU#7`}T_b1NGjiw|8AtswOJ~+n3s&8TA+4%e%Bg3tN zm4<&|DxtOqofre;2<}^OWno)c%ZM;$$v7Qx%q-c+Bd$9WGL$8o2t$+fvgG~*I9n6$<$IX!l}WFwEb?o7x~ zmTV#nP14Jf`xD@hJu98gEE-zQEcun(BL5?^WM;|Cl9?qlOJbB`=Ttpgkjxm?fK#p?1k8 z!q6nWEV(}cd|cQIcE&bu$acxJz&Y~idw;U{O$)kJ{qnB)ea&T-%q*E%GPC3nSaO$a?%#xWU zze6k;gw(RKlZ}!WQwxiB#&Fh{B(GTG_Ldww4 zC5F7l44D}+Gvt?r1ZwJgwOGo1T`W}Gymq#(to1(ka8Mgu%ytC9ch&Zt9E6K)eCFG6 zb1&ytG_PIXa}lB9m2MR)E*Bu;Z2TphE)#H+;YBg=KnuN0`2wFXJ((YcAJ|g@UJ&Un!RM<0N=M zu8jJKiV@w~K&kez%OeW7lG_FN&_#ln`OH1`lgz#?po{d@<1cbM@3e1=P_b_2zV_x8 zm&oRpm@zZt`Dn}-@9@C($jp$LAu~f}hCBj8USftEGUO#@$nPjawz8@0;=%$dc+<=4 zPrA=>U2lXk{lB(uSN=e&GbILwZj9mgz=z~$}rUlOgEzF1hbtFYX@{%g8ari-@#YDFUJ5 zOOi5wLjHBZ&eGc`P^=SFgD%4?iO~d?yl-opSlNb!7Fr{1y9buoi2b44n*{muvP7vvtc8z-CUh5l>=3$5n6)~Es9JE`imPs^Zne4RVHu2W(Ua!>=0yH2mV?YQ z=EIJp29o~af!T4#LL{?eS^|9o3yXZl-di&`kdc7-i8R=l1_wT4@9fcH@Bl%E7H5wS zgVRP+EJa0LH5YuGlShYW}DWY8Kqu;N=yjm9)yq8WSc{%v=c#>>i{26&&q4CNrQaXANW zi)n?Td6)!*2MczTLph1YHA)FhT%rNpK8G@3LOZ++`Y1b7i1R+!4r9Tj6y;Q@P~$Q( zF`qm7MFfafwZGQb=5#RsdKGpYof1bA`pIO+AhYRg z)>7h{FnSzG4`=MzRyIC?E&|9)ne6y2khMJG=3pc=6e61lLzDD^U*N zneC9@+J#2Lk?G$^foq+*Ud$IugVp#=mo)Hv977pmK=FL;=Bv@*z$}?ra!5>Ru~n^< zdgWrZw2cii%#uTv48n=sorSWGU583WFLT&h_qSFB9hydk4x`r;hfE%Milk{Km4N@kSI zD4E?Nvs>iBxOYsnp!<^s!!?cAjFQ5>!_M>WVk+cw|_D-lZF{o`)Ue$uu-Lz7+sFz}~AER7#^J{?e zI~07$$Rh^BCS)i}HW7v<>1E0N3BZz<)9KjonprZ9v?H_Re`1!*ESXs{vt(w;%#xWU zGfQT(WOk2C4sqDU1-rPQPeS&86q^pSS+a-2I!HSZOzPjglCral)^e9KBrBC(&Md<- zf#Jrl;}Ge6Wy#6`6tiUV5yvd~9d(a<#1U zJ)$VU3o97qAZGLhm{@wlS@Po8?UIc=;-{MsX2~&uzYOwzt+0N}>`^uT#9z`~jAHv| z{&fmV#!#fUgSh!$V1EeC1f%n=PWKwUUuNFPh)Bj4Yc$v@gCc8 z_9$?8fpvFF?!jJ{67P0ajJdbkeMMh#wDF2O(~?EdX2mU4Is-5~bzW{BxZB>EhnfAUww0(|JvJR@EaM6q%>1`~&;?eshh z8yfKhA07t_*fJMGi;~n057xn0&>VF|bX6@RID>uq_@arE7AtnB${}#oR znB_ljPy#;@KM{W^{!V-%ekOj3KWpN$xGJuRPsOVEx%hkheHr&Ii$4=T5`QZG9Dlm& z=VS3#;;%&#dHj)Z#0FCST&yGhI`aA%a@xSpkMQSDOxoYc-%I{s8N4%XK>S|(F8ujt zG2_U<`Gc5l%I1-HC}!*+aK01MiJJXb{EL`L;u3ccW#hScgv)l|d@H7FvQ2lVn{696 z9eMZ+H|gpdF>SYNkHr&2m9h~C(LR!*eV-yp+-%Fn5&do77Z+>IK(^|M7vh-^_ERaE zkA$e>U;hZnMeRh2#6429!Er|p2z6disQpmPCfia52&qMRG$@ZFITJ|fP&TtI*^<7> zhF(Jz0twnCiw|+%79v?oz7Y4tj4y*EN(os!7f;27q-@t@vpcnvxLrF|MSwtTDU*-I z12K~bWbGR4t0}Z8DJlGfLZ%TcR!f z&a@|DDxm^qk`37~8PMaM$5d@wQj+jd@~4pJ2M~TjpwdhhAK=Y}@Pj4=%-Xo^oTx$| zX;TLN6ROa5>K#wT(rs0GOSV_VRpX;ekKxKKys1!x4{Q`=N;1@Sx<&sCF3ASb+6 zXHK)el!uA$bVdTDPf$kp#D#>9_Tj$}kMU}4S%-v4N|X~Cu>7Gl(?;Bfh%B6M&}>f7 zK&fG!Pz4-{K-%AmnFgX9BL_URjSQ%q-%|!H8K7ZrnbfjD%{xp@ZK9=8Cm`oz>I`@h zJc9)DNE{&>l;fCct6?&jNg#^O;RkWyP#z)!b*a*$#~kA6Bo0bH?Mt*^YORS!s`#d9 zQvr}1rPR--k{qK&&7h_dcpKcPKcozrvW^U>c>Nh1>&}NKePlPB1ZoPsmU@_KZFmca z;(^e~ZI#!d$|QIJK|VnAXHvbDjVP!9 zpLgUzdIEXSTR#*R{YG21oBneYM6|<9e4WXCG1Y29Egc5VzeBO1L-{fZCFV=#-_-R~ zBluQKHG_t_nmv@wL+75DMQ>>)|3il*8bOo7Y|;o6W>n;$fB#cS{l5@P|Mq`SE%iET z!LM&Ur|y`n*U=)O3+s==D1U&s+j2|QVjJD$AytBpLf2&w$H7$%*|dVB(x^VQ+UevW z`nY}&uIzwf)B@)zddPI5-S{7MZ)(f`ZQs_iK^?y$hE3T`In-_IvW0N~UF(EK8EFTkEhS|BF={w)gh21C zJrEzDktT&mK#igzo2ubMay1eNwOI7n=`Gnr_koJNr`swrQC;i@YMf0Zvq`ZcBAP0M zrL^J`anY$AqMxEMp(Fapz>#g#cnyz72BeG;wj~1$1Z~;0l}^-pRrMdziL>YnYRI8X zpgxWz^qM5yBXky0Wh?7D`N=w7Q56L#n@0_C*q;Y!uo@m$ zdrlSIl8sRRC{iYg!-q$JerPmIW@ zAR0hb@56&BFG~CosYa1NdqCn@yjTOHnSiG3l>k+wPs&3E)HFI}@FH!1- zS+!d&RD8b}kP#}O1wo+iKc%;jFIoZ(h2)Rl(BUvvp*3SJaj05s0yB$11~oM%g!R(a z)%`$ROw_4CqhiqTN!>spio`Q?05xc}Cf>g&N0Y!q_?SEAl gvuM#xClIsHkBua0o=0L9qG?f>(+Zk4g&F 1.0f; } + virtual void DoAndLog( RString &sMessageOut ) + { + if( g_fImageScaleDestination == 1 ) + g_fImageScaleDestination = 2.0f; + else + g_fImageScaleDestination = 1; + IDebugLine::DoAndLog( sMessageOut ); + } +}; + class DebugLineVolumeUp : public IDebugLine { virtual RString GetDisplayTitle() { return VOLUME_UP.GetValue(); } @@ -1226,6 +1242,7 @@ DECLARE_ONE( DebugLineWritePreferences ); DECLARE_ONE( DebugLineMenuTimer ); DECLARE_ONE( DebugLineFlushLog ); DECLARE_ONE( DebugLinePullBackCamera ); +DECLARE_ONE( DebugLineZoomInCamera ); DECLARE_ONE( DebugLineVolumeUp ); DECLARE_ONE( DebugLineVolumeDown ); DECLARE_ONE( DebugLineVisualDelayUp ); From 2c2cebbc1c0d511ce25f95ff2e5eca402649c203 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Fri, 8 Jul 2011 15:44:38 -0500 Subject: [PATCH 04/33] adding baseline to polish fonts, hope this helps --- Themes/_fallback/Fonts/frutiger 24px.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Themes/_fallback/Fonts/frutiger 24px.ini b/Themes/_fallback/Fonts/frutiger 24px.ini index f922cbb2a8..988bc39672 100644 --- a/Themes/_fallback/Fonts/frutiger 24px.ini +++ b/Themes/_fallback/Fonts/frutiger 24px.ini @@ -393,6 +393,9 @@ AdvanceExtraPixels=0 127=7 [polish] +Baseline=23 +Top=6 + line 0=ĄĆĘŁŃŚŹŻ line 1=ąćęłńśźż From 3572e9c7c7ea35f0d8c8b9c7d3de7dbe24c20fa7 Mon Sep 17 00:00:00 2001 From: Alberto Ramos Date: Fri, 8 Jul 2011 22:55:28 -0600 Subject: [PATCH 05/33] string forgotness --- Themes/_fallback/Languages/en.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 505e6582ca..544dff3d11 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1236,6 +1236,7 @@ Write Profiles=Write Profiles off=off on=on or=or +Zoom In Camera=Zoom In Camera [ScreenEdit] %s notes=%s notes From 222587f388200ea776935b2a6f868e520d728adb Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 01:40:58 -0400 Subject: [PATCH 06/33] Forgot to put this in here. --- Docs/Changelog_SSCformat.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index 45901aaabb..ad66ffe058 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,9 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. ________________________________________________________________________________ +[v0.75] - Wolfman2000 +* Add Step based #DISPLAYBPM for those songs that have...very varied syncing. + [v0.74] - Wolfman2000 * Add #CHARTNAME tag for the title of the chart. * Older files will have their #DESCRIPTION tag content copied to #CHARTNAME From 08d5f8f722c560b1d32995c86ca4dbbb2e0bf268 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 02:28:15 -0400 Subject: [PATCH 07/33] Add Miss Combo support in #COMBOS tag. --- Docs/Changelog_SSCformat.txt | 5 ++++ Docs/Changelog_sm5.txt | 6 ++++ Themes/_fallback/Languages/en.ini | 2 +- src/NoteField.cpp | 6 ++-- src/NoteField.h | 2 +- src/NotesLoaderKSF.cpp | 2 +- src/NotesLoaderSMA.cpp | 13 +++++--- src/NotesLoaderSSC.cpp | 8 +++-- src/NotesWriterSSC.cpp | 7 ++++- src/ScoreKeeperNormal.cpp | 13 ++++---- src/ScreenEdit.cpp | 31 +++++++++++-------- src/Song.cpp | 2 +- src/Song.h | 2 +- src/TimingData.cpp | 45 +++++++++++++++++++++++----- src/TimingData.h | 50 +++++++++++++++++++++++++++++++ src/TimingSegments.cpp | 11 +++++++ src/TimingSegments.h | 28 +++++++++++++++-- 17 files changed, 190 insertions(+), 43 deletions(-) diff --git a/Docs/Changelog_SSCformat.txt b/Docs/Changelog_SSCformat.txt index ad66ffe058..721673f31d 100644 --- a/Docs/Changelog_SSCformat.txt +++ b/Docs/Changelog_SSCformat.txt @@ -9,6 +9,11 @@ change to JSON, but it is unsure if this will be done. Implement .ssc at your own risk. ________________________________________________________________________________ +[v0.76] - Wolfman2000 +* Expand the #COMBOS tag to allow for Miss Combos. Anyone that is crazy enough + to put in a 51 miss combo in their tags should be...oh wait: it's already + been done. + [v0.75] - Wolfman2000 * Add Step based #DISPLAYBPM for those songs that have...very varied syncing. diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index a0b6007429..b46b9fa23a 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,12 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- +2011/07/09 +---------- +* [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. + Any files that only use the Combo attribute will have that value copied to + miss combo on next launch. [Wolfman2000] + 2011/07/07 ---------- * [ScreenEdit] Fix the NoMines transformation bug, issue 363. [Wolfman2000] diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 505e6582ca..2ef2b0104c 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1248,7 +1248,7 @@ Enter a new Stop value.=Enter a new Stop value.\n\nType "0" to remove. Enter a new Delay value.=Enter a new Delay value.\n\nType "0" to remove. Enter a new Time Signature.=Enter a new time signature.\nUse the format "x/y".\nEnter the previous value to remove. Enter a new Tickcount value.=Enter a new Tickcount value.\n\nEnter the previous value to remove. -Enter a new Combo value.=Enter a new Combo value.\n\nEnter the previous value to remove. +Enter a new Combo value.=Enter a new Combo value.\nUse the format "x/y".\nEnter the previous value to remove. Enter a new Label value.=Enter a name for this section of the chart.\n\nEnter a previously used label to remove. Enter a new Warp value.=Enter the number of beats you will warp over.\n\nType "0" to remove this segment. Enter a new Speed percent value.=Enter the ratio for speed scrolling.\nEnter the previous value to remove.\n1 is the default scroll. diff --git a/src/NoteField.cpp b/src/NoteField.cpp index 3acfb3ea5e..952f6466c4 100644 --- a/src/NoteField.cpp +++ b/src/NoteField.cpp @@ -577,7 +577,7 @@ void NoteField::DrawTickcountText( const float fBeat, int iTicks ) m_textMeasureNumber.Draw(); } -void NoteField::DrawComboText( const float fBeat, int iCombo ) +void NoteField::DrawComboText( const float fBeat, int iCombo, int iMiss ) { const float fYOffset = ArrowEffects::GetYOffset( m_pPlayerState, 0, fBeat ); const float fYPos = ArrowEffects::GetYPos( m_pPlayerState, 0, fYOffset, m_fYReverseOffsetPixels ); @@ -589,7 +589,7 @@ void NoteField::DrawComboText( const float fBeat, int iCombo ) m_textMeasureNumber.SetHorizAlign( COMBO_IS_LEFT_SIDE ? align_right : align_left ); m_textMeasureNumber.SetDiffuse( COMBO_COLOR ); m_textMeasureNumber.SetGlow( RageColor(1,1,1,RageFastCos(RageTimer::GetTimeSinceStartFast()*2)/2+0.5f) ); - m_textMeasureNumber.SetText( ssprintf("%d", iCombo) ); + m_textMeasureNumber.SetText( ssprintf("%d/%d", iCombo, iMiss) ); m_textMeasureNumber.SetXY( (COMBO_IS_LEFT_SIDE ? -xBase - xOffset : xBase + xOffset), fYPos ); m_textMeasureNumber.Draw(); } @@ -981,7 +981,7 @@ void NoteField::DrawPrimitives() { float fBeat = seg->GetBeat(); if( IS_ON_SCREEN(fBeat) ) - DrawComboText( fBeat, seg->GetCombo() ); + DrawComboText( fBeat, seg->GetCombo(), seg->GetMissCombo() ); } } } diff --git a/src/NoteField.h b/src/NoteField.h index 3357eff284..2deb044350 100644 --- a/src/NoteField.h +++ b/src/NoteField.h @@ -62,7 +62,7 @@ protected: void DrawWarpText( const float fBeat, const float fNewBeat ); void DrawTimeSignatureText( const float fBeat, int iNumerator, int iDenominator ); void DrawTickcountText( const float fBeat, int iTicks ); - void DrawComboText( const float fBeat, int iCombo ); + void DrawComboText( const float fBeat, int iCombo, int iMiss ); void DrawLabelText( const float fBeat, RString sLabel ); void DrawSpeedText( const float fBeat, float fPercent, float fWait, unsigned short usMode ); void DrawScrollText( const float fBeat, float fPercent ); diff --git a/src/NotesLoaderKSF.cpp b/src/NotesLoaderKSF.cpp index 3ad22bfbc4..32971b9774 100644 --- a/src/NotesLoaderKSF.cpp +++ b/src/NotesLoaderKSF.cpp @@ -378,7 +378,7 @@ static bool LoadFromKSFFile( const RString &sPath, Steps &out, const Song &song, else if (BeginsWith(sRowString, "|M") || BeginsWith(sRowString, "|C")) { // multipliers/combo - stepsTiming.SetComboAtBeat( fCurBeat, static_cast(numTemp) ); + stepsTiming.SetHitComboAtBeat( fCurBeat, static_cast(numTemp) ); } else if (BeginsWith(sRowString, "|S")) { diff --git a/src/NotesLoaderSMA.cpp b/src/NotesLoaderSMA.cpp index 05db8d42b0..a47b639350 100644 --- a/src/NotesLoaderSMA.cpp +++ b/src/NotesLoaderSMA.cpp @@ -23,17 +23,22 @@ void SMALoader::ProcessMultipliers( TimingData &out, const int iRowsPerBeat, con { vector arrayMultiplierValues; split( arrayMultiplierExpressions[f], "=", arrayMultiplierValues ); - if( arrayMultiplierValues.size() != 2 ) + unsigned size = arrayMultiplierValues.size(); + if( size < 2 ) { LOG->UserLog("Song file", this->GetSongTitle(), - "has an invalid #MULTIPLIER value \"%s\" (must have exactly one '='), ignored.", + "has an invalid #MULTIPLIER value \"%s\" (must have at least one '='), ignored.", arrayMultiplierExpressions[f].c_str() ); continue; } const float fComboBeat = RowToBeat( arrayMultiplierValues[0], iRowsPerBeat ); - const int iCombos = StringToInt( arrayMultiplierValues[1] ); - ComboSegment new_seg( fComboBeat, iCombos ); + const int iCombos = StringToInt( arrayMultiplierValues[1] ); // always true. + // hoping I'm right here: SMA files can use 6 values after the row/beat. + const int iMisses = (size == 2 || size == 4 ? + iCombos : + StringToInt(arrayMultiplierValues[2])); + ComboSegment new_seg( fComboBeat, iCombos, iMisses ); out.AddComboSegment( new_seg ); } } diff --git a/src/NotesLoaderSSC.cpp b/src/NotesLoaderSSC.cpp index 0073198195..83c249d579 100644 --- a/src/NotesLoaderSSC.cpp +++ b/src/NotesLoaderSSC.cpp @@ -94,17 +94,19 @@ void SSCLoader::ProcessCombos( TimingData &out, const RString line, const int ro { vector arrayComboValues; split( arrayComboExpressions[f], "=", arrayComboValues ); - if( arrayComboValues.size() != 2 ) + unsigned size = arrayComboValues.size(); + if( size < 2 ) { LOG->UserLog("Song file", this->GetSongTitle(), - "has an invalid #COMBOS value \"%s\" (must have exactly one '='), ignored.", + "has an invalid #COMBOS value \"%s\" (must have at least one '='), ignored.", arrayComboExpressions[f].c_str() ); continue; } const float fComboBeat = StringToFloat( arrayComboValues[0] ); const int iCombos = StringToInt( arrayComboValues[1] ); - ComboSegment new_seg( fComboBeat, iCombos ); + const int iMisses = (size == 2 ? iCombos : StringToInt(arrayComboValues[2])); + ComboSegment new_seg( fComboBeat, iCombos, iMisses ); out.AddComboSegment( new_seg ); } } diff --git a/src/NotesWriterSSC.cpp b/src/NotesWriterSSC.cpp index 70578ee0dd..d9edfb1946 100644 --- a/src/NotesWriterSSC.cpp +++ b/src/NotesWriterSSC.cpp @@ -128,7 +128,12 @@ static void GetTimingTags( vector &lines, TimingData timing, bool bIsSo ASSERT( !timing.m_ComboSegments.empty() ); w.Init( "COMBOS" ); FOREACH_CONST( ComboSegment, timing.m_ComboSegments, cs ) - w.Write( cs->GetRow(), cs->GetCombo() ); + { + if (cs->GetCombo() == cs->GetMissCombo()) + w.Write( cs->GetRow(), cs->GetCombo() ); + else + w.Write( cs->GetRow(), cs->GetCombo(), cs->GetMissCombo() ); + } w.Finish(); // Song Timing should only have the initial value. diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index d5b3494a5f..4fc6e1ea92 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -447,17 +447,17 @@ void ScoreKeeperNormal::HandleComboInternal( int iNumHitContinueCombo, int iNumH { m_pPlayerStageStats->m_iCurMissCombo = 0; } - + TimingData td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; if( iNumBreakCombo == 0 ) { - TimingData td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).GetCombo() ); m_pPlayerStageStats->m_iCurCombo += iNumHitContinueCombo * multiplier; } else { m_pPlayerStageStats->m_iCurCombo = 0; - m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumBreakCombo ); + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow).GetMissCombo()); + m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumBreakCombo ) * multiplier; } } @@ -467,10 +467,10 @@ void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsIn { iNumTapsInRow = min( iNumTapsInRow, 1); } + TimingData td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; if ( tns >= m_MinScoreToContinueCombo ) { m_pPlayerStageStats->m_iCurMissCombo = 0; - TimingData td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow( iRow ).GetCombo() ); m_pPlayerStageStats->m_iCurCombo += iNumTapsInRow * multiplier; } @@ -479,7 +479,10 @@ void ScoreKeeperNormal::HandleRowComboInternal( TapNoteScore tns, int iNumTapsIn m_pPlayerStageStats->m_iCurCombo = 0; if( tns <= m_MaxScoreToIncrementMissCombo ) - m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumTapsInRow ); + { + int multiplier = ( iRow == -1 ? 1 : td.GetComboSegmentAtRow(iRow).GetMissCombo()); + m_pPlayerStageStats->m_iCurMissCombo += ( m_MissComboIsPerRow ? 1 : iNumTapsInRow ) * multiplier; + } } } diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index c9f872448a..6009c77d02 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3006,10 +3006,10 @@ void ScreenEdit::HandleScreenMessage( const ScreenMessage SM ) } else if ( SM == SM_BackFromComboChange && !ScreenTextEntry::s_bCancelledLast ) { - int iCombo = StringToInt( ScreenTextEntry::s_sLastAnswer ); - if ( iCombo >= 0 ) + int iCombo, iMiss; + if (sscanf(ScreenTextEntry::s_sLastAnswer.c_str(), " %d / %d ", &iCombo, &iMiss) == 2) { - GetAppropriateTiming().SetComboAtBeat( GetBeat(), iCombo ); + GetAppropriateTiming().SetComboAtBeat( GetBeat(), iCombo, iMiss ); } SetDirty( true ); } @@ -3587,10 +3587,14 @@ void ScreenEdit::DisplayTimingMenu() g_TimingDataInformation.rows[bpm].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetBPMAtBeat( fBeat ) ) ); g_TimingDataInformation.rows[stop].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetStopAtBeat( fBeat ) ) ) ; g_TimingDataInformation.rows[delay].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetDelayAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[time_signature].SetOneUnthemedChoice( ssprintf("%d / %d", pTime.GetTimeSignatureNumeratorAtBeat( fBeat ), pTime.GetTimeSignatureDenominatorAtBeat( fBeat ) ) ); + g_TimingDataInformation.rows[time_signature].SetOneUnthemedChoice(ssprintf("%d / %d", + pTime.GetTimeSignatureNumeratorAtBeat( fBeat ), + pTime.GetTimeSignatureDenominatorAtBeat( fBeat ) ) ); g_TimingDataInformation.rows[label].SetOneUnthemedChoice( pTime.GetLabelAtBeat( fBeat ).c_str() ); g_TimingDataInformation.rows[tickcount].SetOneUnthemedChoice( ssprintf("%d", pTime.GetTickcountAtBeat( fBeat ) ) ); - g_TimingDataInformation.rows[combo].SetOneUnthemedChoice( ssprintf("%d", pTime.GetComboAtBeat( fBeat ) ) ); + g_TimingDataInformation.rows[combo].SetOneUnthemedChoice( ssprintf("%d / %d", + pTime.GetComboAtBeat( fBeat ), + pTime.GetMissComboAtBeat( fBeat ) ) ); g_TimingDataInformation.rows[warp].SetOneUnthemedChoice( ssprintf("%.6f", pTime.GetWarpAtBeat( fBeat ) ) ); g_TimingDataInformation.rows[speed_percent].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedPercentAtBeat( fBeat ) ) : "---" ); g_TimingDataInformation.rows[speed_wait].SetOneUnthemedChoice( bHasSpeedOnThisRow ? ssprintf("%.6f", pTime.GetSpeedWaitAtBeat( fBeat ) ) : "---" ); @@ -4566,13 +4570,16 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ); break; case combo: - ScreenTextEntry::TextEntry( - SM_BackFromComboChange, - ENTER_COMBO_VALUE, - ssprintf( "%d", GetAppropriateTiming().GetComboAtBeat( GetBeat() ) ), - 4 - ); - break; + { + ComboSegment &cs = GetAppropriateTiming().GetComboSegmentAtBeat(GetBeat()); + ScreenTextEntry::TextEntry(SM_BackFromComboChange, + ENTER_COMBO_VALUE, + ssprintf( "%d/%d", + cs.GetCombo(), + cs.GetMissCombo()), + 7); + break; + } case label: ScreenTextEntry::TextEntry( SM_BackFromLabelChange, diff --git a/src/Song.cpp b/src/Song.cpp index 04e7f1fdff..7ec55849c0 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -41,7 +41,7 @@ * @brief The internal version of the cache for StepMania. * * Increment this value to invalidate the current cache. */ -const int FILE_CACHE_VERSION = 189; +const int FILE_CACHE_VERSION = 190; /** @brief How long does a song sample last by default? */ const float DEFAULT_MUSIC_SAMPLE_LENGTH = 12.f; diff --git a/src/Song.h b/src/Song.h index 1a920b1968..a75b740dcd 100644 --- a/src/Song.h +++ b/src/Song.h @@ -20,7 +20,7 @@ void FixupPath( RString &path, const RString &sSongPath ); RString GetSongAssetPath( RString sPath, const RString &sSongPath ); /** @brief The version of the .ssc file format. */ -const static float STEPFILE_VERSION_NUMBER = 0.75f; +const static float STEPFILE_VERSION_NUMBER = 0.76f; /** @brief How many edits for this song can each profile have? */ const int MAX_EDITS_PER_SONG_PER_PROFILE = 15; diff --git a/src/TimingData.cpp b/src/TimingData.cpp index 2c75c60614..29d8d1ada0 100644 --- a/src/TimingData.cpp +++ b/src/TimingData.cpp @@ -166,12 +166,16 @@ void TimingData::SetTimeSignatureAtRow( int iRow, int iNumerator, int iDenominat void TimingData::SetTimeSignatureNumeratorAtRow( int iRow, int iNumerator ) { - SetTimeSignatureAtRow( iRow, iNumerator, GetTimeSignatureSegmentAtBeat( NoteRowToBeat( iRow ) ).GetDen() ); + this->SetTimeSignatureAtRow(iRow, + iNumerator, + GetTimeSignatureSegmentAtRow(iRow).GetDen()); } void TimingData::SetTimeSignatureDenominatorAtRow( int iRow, int iDenominator ) { - SetTimeSignatureAtRow( iRow, GetTimeSignatureSegmentAtBeat( NoteRowToBeat( iRow ) ).GetNum(), iDenominator ); + this->SetTimeSignatureAtRow(iRow, + GetTimeSignatureSegmentAtRow(iRow).GetNum(), + iDenominator); } void TimingData::SetWarpAtRow( int iRow, float fNew ) @@ -222,7 +226,7 @@ void TimingData::SetTickcountAtRow( int iRow, int iTicks ) } } -void TimingData::SetComboAtRow( int iRow, int iCombo ) +void TimingData::SetComboAtRow( int iRow, int iCombo, int iMiss ) { unsigned i; for( i=0; i 0 && m_ComboSegments[i-1].GetCombo() == iCombo ) + if(i > 0 && m_ComboSegments[i-1].GetCombo() == iCombo && + m_ComboSegments[i-1].GetMissCombo() == iMiss) m_ComboSegments.erase( m_ComboSegments.begin()+i, m_ComboSegments.begin()+i+1 ); else + { m_ComboSegments[i].SetCombo(iCombo); + m_ComboSegments[i].SetMissCombo(iMiss); + } } } +void TimingData::SetHitComboAtRow(int iRow, int iCombo) +{ + this->SetComboAtRow(iRow, + iCombo, + this->GetComboSegmentAtRow(iRow).GetMissCombo()); +} + +void TimingData::SetMissComboAtRow(int iRow, int iMiss) +{ + this->SetComboAtRow(iRow, + this->GetComboSegmentAtRow(iRow).GetCombo(), + iMiss); +} + void TimingData::SetLabelAtRow( int iRow, const RString sLabel ) { unsigned i; @@ -398,7 +421,12 @@ float TimingData::GetDelayAtRow( int iRow ) const int TimingData::GetComboAtRow( int iNoteRow ) const { - return m_ComboSegments[GetComboSegmentIndexAtRow( iNoteRow )].GetCombo(); + return m_ComboSegments[this->GetComboSegmentIndexAtRow(iNoteRow)].GetCombo(); +} + +int TimingData::GetMissComboAtRow(int iNoteRow) const +{ + return m_ComboSegments[this->GetComboSegmentIndexAtRow(iNoteRow)].GetMissCombo(); } RString TimingData::GetLabelAtRow( int iRow ) const @@ -1735,7 +1763,7 @@ void TimingData::TidyUpData() // Have a default combo segment of one just in case. if( m_ComboSegments.empty() ) { - ComboSegment seg(0, 1); + ComboSegment seg(0, 1, 1); m_ComboSegments.push_back( seg ); } @@ -1913,8 +1941,9 @@ public: FOREACH_CONST( ComboSegment, p->m_ComboSegments, seg ) { const int combo = seg->GetCombo(); + const int miss = seg->GetMissCombo(); const float beat = seg->GetBeat(); - vCombos.push_back( ssprintf("%f=%d", beat, combo) ); + vCombos.push_back( ssprintf("%f=%d=%d", beat, combo, miss) ); } LuaHelpers::CreateTableFromArray(vCombos, L); return 1; diff --git a/src/TimingData.h b/src/TimingData.h index a4b490e4cb..37b273f71c 100644 --- a/src/TimingData.h +++ b/src/TimingData.h @@ -668,6 +668,18 @@ public: * @return the Combo. */ int GetComboAtBeat( float fBeat ) const { return GetComboAtRow( BeatToNoteRow(fBeat) ); } + /** + * @brief Retrieve the Miss Combo at the given row. + * @param iNoteRow the row in question. + * @return the Miss Combo. + */ + int GetMissComboAtRow( int iNoteRow ) const; + /** + * @brief Retrieve the Miss Combo at the given beat. + * @param fBeat the beat in question. + * @return the Miss Combo. + */ + int GetMissComboAtBeat( float fBeat ) const { return GetMissComboAtRow( BeatToNoteRow(fBeat) ); } /** * @brief Set the row to have the new Combo. * @param iNoteRow the row to have the new Combo. @@ -680,6 +692,44 @@ public: * @param iCombo the Combo. */ void SetComboAtBeat( float fBeat, int iCombo ) { SetComboAtRow( BeatToNoteRow( fBeat ), iCombo ); } + /** + * @brief Set the row to have the new Combo and Miss Combo. + * @param iNoteRow the row to have the new Combo and Miss Combo. + * @param iCombo the Combo. + * @param iMiss the Miss Combo. + */ + void SetComboAtRow( int iNoteRow, int iCombo, int iMiss ); + /** + * @brief Set the beat to have the new Combo and Miss Combo. + * @param fBeat the beat to have the new Combo and Miss Combo. + * @param iCombo the Combo. + * @param iMiss the Miss Combo. + */ + void SetComboAtBeat( float fBeat, int iCombo, int iMiss ) { SetComboAtRow( BeatToNoteRow( fBeat ), iCombo, iMiss ); } + /** + * @brief Set the row to have the new Combo. + * @param iNoteRow the row to have the new Combo. + * @param iCombo the Combo. + */ + void SetHitComboAtRow( int iNoteRow, int iCombo ); + /** + * @brief Set the beat to have the new Combo. + * @param fBeat the beat to have the new Combo. + * @param iCombo the Combo. + */ + void SetHitComboAtBeat( float fBeat, int iCombo ) { SetHitComboAtRow( BeatToNoteRow( fBeat ), iCombo ); } + /** + * @brief Set the row to have the new Miss Combo. + * @param iNoteRow the row to have the new Miss Combo. + * @param iCombo the Miss Combo. + */ + void SetMissComboAtRow( int iNoteRow, int iCombo ); + /** + * @brief Set the beat to have the new Miss Combo. + * @param fBeat the beat to have the new Miss Combo. + * @param iCombo the Miss Combo. + */ + void SetMissComboAtBeat( float fBeat, int iCombo ) { SetMissComboAtRow( BeatToNoteRow( fBeat ), iCombo ); } /** * @brief Retrieve the ComboSegment at the specified row. * @param iNoteRow the row that has a ComboSegment. diff --git a/src/TimingSegments.cpp b/src/TimingSegments.cpp index 304623c285..c208672e01 100644 --- a/src/TimingSegments.cpp +++ b/src/TimingSegments.cpp @@ -125,10 +125,21 @@ void ComboSegment::SetCombo(const int i) this->combo = i; } +int ComboSegment::GetMissCombo() const +{ + return this->missCombo; +} + +void ComboSegment::SetMissCombo(const int i) +{ + this->missCombo = i; +} + bool ComboSegment::operator<( const ComboSegment &other ) const { LTCOMPARE(GetRow()); LTCOMPARE(GetCombo()); + LTCOMPARE(GetMissCombo()); return false; } diff --git a/src/TimingSegments.h b/src/TimingSegments.h index e18e881886..5e59daed90 100644 --- a/src/TimingSegments.h +++ b/src/TimingSegments.h @@ -344,7 +344,8 @@ struct ComboSegment : public TimingSegment ComboSegment(const ComboSegment &other) : TimingSegment(other), - combo(other.GetCombo()) {}; + combo(other.GetCombo()), + missCombo(other.GetMissCombo()) {}; /** * @brief Creates a Combo Segment with the specified values. @@ -354,18 +355,39 @@ struct ComboSegment : public TimingSegment template ComboSegment( StartType s, int t ): TimingSegment(max((StartType)0, s)), - combo(max(0,t)) {} + combo(max(0,t)), missCombo(max(0,t)) {} + + /** + * @brief Creates a Combo Segment with the specified values. + * @param s the starting row / beat of this segment. + * @param t the amount the combo increases on a succesful hit. + * @param m the amount the miss combo increases on missing. + */ + template + ComboSegment(StartType s, int t, int m): + TimingSegment(max((StartType)0, s)), + combo(max(0,t)), missCombo(max(0,m)) {} /** * @brief Get the combo in this ComboSegment. * @return the combo. */ int GetCombo() const; + /** + * @brief Get the miss combo in this ComboSegment. + * @return the miss combo. */ + int GetMissCombo() const; + /** * @brief Set the combo in this ComboSegment. * @param i the combo. */ void SetCombo(const int i); + /** + * @brief Set the miss combo in this ComboSegment. + * @param i the miss combo. */ + void SetMissCombo(const int i); + /** * @brief Compares two ComboSegments to see if one is less than the other. * @param other the other ComboSegment to compare to. @@ -377,6 +399,8 @@ private: * @brief The amount the combo increases at this point. */ int combo; + /** @brief The amount of miss combos given at this point. */ + int missCombo; }; From 86ff676079f6f18c94880544007bbafdeddddec2 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 02:49:40 -0400 Subject: [PATCH 08/33] Set up #COMBOS with proper Judgment values. This will be looked at more on wake up. --- src/NoteTypes.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/NoteTypes.h b/src/NoteTypes.h index 795eef7131..26955ee6cd 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -13,7 +13,8 @@ class XNode; struct TapNoteResult { /** @brief Set up the TapNoteResult with default values. */ - TapNoteResult() : tns(TNS_None), fTapNoteOffset(0.f), bHidden(false) { } + TapNoteResult() : tns(TNS_None), fTapNoteOffset(0.f), + bHidden(false), numJudgments(1) { } /** @brief The TapNoteScore that was achieved by the player. */ TapNoteScore tns; @@ -27,6 +28,12 @@ struct TapNoteResult /** @brief If the whole row has been judged, all taps on the row will be set to hidden. */ bool bHidden; + + /** + * @brief How many judgments is this really worth? + * + * This is based off of the Combo Segment value. */ + int numJudgments; // XML XNode* CreateNode() const; @@ -35,7 +42,10 @@ struct TapNoteResult /** @brief The result of holding (or letting go of) a hold note. */ struct HoldNoteResult { - HoldNoteResult() : hns(HNS_None), fLife(1.f), fOverlappedTime(0), iLastHeldRow(0), iCheckpointsHit(0), iCheckpointsMissed(0), bHeld(false), bActive(false) { } + HoldNoteResult(): hns(HNS_None), fLife(1.f), + fOverlappedTime(0), iLastHeldRow(0), + iCheckpointsHit(0), iCheckpointsMissed(0), + bHeld(false), bActive(false) { } float GetLastHeldBeat() const; HoldNoteScore hns; From c139537ce64f8bca9014584c5e96cee9aa34b143 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 12:37:01 -0400 Subject: [PATCH 09/33] Add metric access for MinScores. This will most likely be needed for my goal. --- src/Player.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Player.cpp b/src/Player.cpp index 5dfed3e310..31885b0135 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -201,6 +201,9 @@ ThemeMetric COMBO_STOPPED_AT ( "Player", "ComboStoppedAt" ); ThemeMetric ATTACK_RUN_TIME_RANDOM ( "Player", "AttackRunTimeRandom" ); ThemeMetric ATTACK_RUN_TIME_MINE ( "Player", "AttackRunTimeMine" ); +ThemeMetric MIN_SCORE_TO_CONTINUE_COMBO ("Gameplay", "MinScoreToContinueCombo"); +ThemeMetric MIN_SCORE_TO_MAINTAIN_COMBO ("Gameplay", "MinScoreToMaintainCombo"); + /** * @brief What is our highest cap for mMods? * From 187415bc70df46170a4efdb72e049fc58ac7c6fa Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 12:54:13 -0400 Subject: [PATCH 10/33] Add some .result hooks. Have to find the other place to grab them. --- src/Player.cpp | 38 +++++++++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/src/Player.cpp b/src/Player.cpp index 31885b0135..9b34efbe1b 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2497,6 +2497,8 @@ done_checking_hopo: if( score != TNS_None ) { + ComboSegment &cs = m_Timing->GetComboSegmentAtRow(row); + switch( pbt ) { DEFAULT_FAIL(pbt); @@ -2508,15 +2510,45 @@ done_checking_hopo: { tn.result.tns = score; tn.result.fTapNoteOffset = -fNoteOffset; + + if (score > MIN_SCORE_TO_CONTINUE_COMBO) + { + tn.result.numJudgments = cs.GetCombo(); + } + else if (score < MIN_SCORE_TO_MAINTAIN_COMBO) + { + tn.result.numJudgments = cs.GetMissCombo(); + } + else + { + tn.result.numJudgments = 1; // sanity check + } + m_NoteData.SetTapNote( t, iRowOfOverlappingNoteOrRow, tn ); } } break; case ButtonType_Hopo: case ButtonType_Step: - pTN->result.tns = score; - pTN->result.fTapNoteOffset = -fNoteOffset; - break; + { + pTN->result.tns = score; + pTN->result.fTapNoteOffset = -fNoteOffset; + + if (score > MIN_SCORE_TO_CONTINUE_COMBO) + { + pTN->result.numJudgments = cs.GetCombo(); + } + else if (score < MIN_SCORE_TO_MAINTAIN_COMBO) + { + pTN->result.numJudgments = cs.GetMissCombo(); + } + else + { + pTN->result.numJudgments = 1; // sanity check + } + + break; + } } } From 55870b4f990c5f4f17b4858a129524e2d6b5e8c8 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 13:09:03 -0400 Subject: [PATCH 11/33] ...wait, it was this area, wasn't it? --- src/ScoreKeeperNormal.cpp | 24 +++++++++++++++++++----- src/ScoreKeeperNormal.h | 7 ++++++- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index 4fc6e1ea92..f24c526507 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -416,18 +416,32 @@ void ScoreKeeperNormal::HandleTapScore( const TapNote &tn ) void ScoreKeeperNormal::HandleHoldCheckpointScore( const NoteData &nd, int iRow, int iNumHoldsHeldThisRow, int iNumHoldsMissedThisRow ) { - HandleTapNoteScoreInternal( iNumHoldsMissedThisRow == 0? TNS_CheckpointHit:TNS_CheckpointMiss, TNS_CheckpointHit ); + HandleTapNoteScoreInternal(iNumHoldsMissedThisRow == 0 ? TNS_CheckpointHit:TNS_CheckpointMiss, + TNS_CheckpointHit, iRow); HandleComboInternal( iNumHoldsHeldThisRow, 0, iNumHoldsMissedThisRow, iRow ); } -void ScoreKeeperNormal::HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum ) +void ScoreKeeperNormal::HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum, int row ) { // Update dance points. if( !m_pPlayerStageStats->m_bFailed ) m_pPlayerStageStats->m_iActualDancePoints += TapNoteScoreToDancePoints( tns ); - // update judged row totals - m_pPlayerStageStats->m_iTapNoteScores[tns] += 1; + // update judged row totals. Respect Combo segments here. + TimingData &td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; + ComboSegment &cs = td.GetComboSegmentAtRow(row); + if (tns >= m_MinScoreToContinueCombo) + { + m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetCombo(); + } + else if (tns < m_MinScoreToMaintainCombo) + { + m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetMissCombo(); + } + else + { + m_pPlayerStageStats->m_iTapNoteScores[tns] += 1; + } // increment the current total possible dance score m_pPlayerStageStats->m_iCurPossibleDancePoints += TapNoteScoreToDancePoints( maximum ); @@ -519,7 +533,7 @@ void ScoreKeeperNormal::HandleTapRowScore( const NoteData &nd, int iRow ) m_iNumNotesHitThisRow = iNumTapsInRow; TapNoteScore scoreOfLastTap = NoteDataWithScoring::LastTapNoteWithResult( nd, iRow ).result.tns; - HandleTapNoteScoreInternal( scoreOfLastTap, TNS_W1 ); + HandleTapNoteScoreInternal( scoreOfLastTap, TNS_W1, iRow ); if ( GAMESTATE->GetCurrentGame()->m_bCountNotesSeparately ) { diff --git a/src/ScoreKeeperNormal.h b/src/ScoreKeeperNormal.h index 9c9ab104bc..81a314a499 100644 --- a/src/ScoreKeeperNormal.h +++ b/src/ScoreKeeperNormal.h @@ -90,7 +90,12 @@ public: static int HoldNoteScoreToGradePoints( HoldNoteScore hns, bool bBeginner ); private: - void HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum ); + /** + * @brief Take care of some internal work with our scoring systems. + * @param tns the Tap Note score earned. + * @param maximum the best tap note score possible. + * @param row the row the score was earned. Mainly for ComboSegment stuff. */ + void HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteScore maximum, int row ); void HandleComboInternal( int iNumHitContinueCombo, int iNumHitMaintainCombo, int iNumBreakCombo, int iRow = -1 ); void HandleRowComboInternal( TapNoteScore tns, int iNumTapsInRow, int iRow = -1 ); void GetRowCounts( const NoteData &nd, int iRow, int &iNumHitContinueCombo, int &iNumHitMaintainCombo, int &iNumBreakCombo ); From 2d8f1307716e2548b1626cb1c731c3a2769c1a4a Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 13:21:08 -0400 Subject: [PATCH 12/33] Revert these. It was only needed in score. I apologize for the recompilation of about 180 files. --- src/NoteTypes.h | 14 ++------------ src/Player.cpp | 41 +++-------------------------------------- 2 files changed, 5 insertions(+), 50 deletions(-) diff --git a/src/NoteTypes.h b/src/NoteTypes.h index 26955ee6cd..795eef7131 100644 --- a/src/NoteTypes.h +++ b/src/NoteTypes.h @@ -13,8 +13,7 @@ class XNode; struct TapNoteResult { /** @brief Set up the TapNoteResult with default values. */ - TapNoteResult() : tns(TNS_None), fTapNoteOffset(0.f), - bHidden(false), numJudgments(1) { } + TapNoteResult() : tns(TNS_None), fTapNoteOffset(0.f), bHidden(false) { } /** @brief The TapNoteScore that was achieved by the player. */ TapNoteScore tns; @@ -28,12 +27,6 @@ struct TapNoteResult /** @brief If the whole row has been judged, all taps on the row will be set to hidden. */ bool bHidden; - - /** - * @brief How many judgments is this really worth? - * - * This is based off of the Combo Segment value. */ - int numJudgments; // XML XNode* CreateNode() const; @@ -42,10 +35,7 @@ struct TapNoteResult /** @brief The result of holding (or letting go of) a hold note. */ struct HoldNoteResult { - HoldNoteResult(): hns(HNS_None), fLife(1.f), - fOverlappedTime(0), iLastHeldRow(0), - iCheckpointsHit(0), iCheckpointsMissed(0), - bHeld(false), bActive(false) { } + HoldNoteResult() : hns(HNS_None), fLife(1.f), fOverlappedTime(0), iLastHeldRow(0), iCheckpointsHit(0), iCheckpointsMissed(0), bHeld(false), bActive(false) { } float GetLastHeldBeat() const; HoldNoteScore hns; diff --git a/src/Player.cpp b/src/Player.cpp index 9b34efbe1b..5dfed3e310 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -201,9 +201,6 @@ ThemeMetric COMBO_STOPPED_AT ( "Player", "ComboStoppedAt" ); ThemeMetric ATTACK_RUN_TIME_RANDOM ( "Player", "AttackRunTimeRandom" ); ThemeMetric ATTACK_RUN_TIME_MINE ( "Player", "AttackRunTimeMine" ); -ThemeMetric MIN_SCORE_TO_CONTINUE_COMBO ("Gameplay", "MinScoreToContinueCombo"); -ThemeMetric MIN_SCORE_TO_MAINTAIN_COMBO ("Gameplay", "MinScoreToMaintainCombo"); - /** * @brief What is our highest cap for mMods? * @@ -2497,8 +2494,6 @@ done_checking_hopo: if( score != TNS_None ) { - ComboSegment &cs = m_Timing->GetComboSegmentAtRow(row); - switch( pbt ) { DEFAULT_FAIL(pbt); @@ -2510,45 +2505,15 @@ done_checking_hopo: { tn.result.tns = score; tn.result.fTapNoteOffset = -fNoteOffset; - - if (score > MIN_SCORE_TO_CONTINUE_COMBO) - { - tn.result.numJudgments = cs.GetCombo(); - } - else if (score < MIN_SCORE_TO_MAINTAIN_COMBO) - { - tn.result.numJudgments = cs.GetMissCombo(); - } - else - { - tn.result.numJudgments = 1; // sanity check - } - m_NoteData.SetTapNote( t, iRowOfOverlappingNoteOrRow, tn ); } } break; case ButtonType_Hopo: case ButtonType_Step: - { - pTN->result.tns = score; - pTN->result.fTapNoteOffset = -fNoteOffset; - - if (score > MIN_SCORE_TO_CONTINUE_COMBO) - { - pTN->result.numJudgments = cs.GetCombo(); - } - else if (score < MIN_SCORE_TO_MAINTAIN_COMBO) - { - pTN->result.numJudgments = cs.GetMissCombo(); - } - else - { - pTN->result.numJudgments = 1; // sanity check - } - - break; - } + pTN->result.tns = score; + pTN->result.fTapNoteOffset = -fNoteOffset; + break; } } From 17d167a291f0039f965dd0d77ea674f47e8ab4ee Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 13:28:25 -0400 Subject: [PATCH 13/33] I'm making a note here: HUGE SUCCESS! --- Docs/Changelog_sm5.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index b46b9fa23a..ad8d844438 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,8 @@ StepMania 5.0 ????????? | 20110??? * [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. Any files that only use the Combo attribute will have that value copied to miss combo on next launch. [Wolfman2000] +* [ScoreKeeperNormal] Better match #COMBOS with eval. Scoring formulas should + not be affected, but it may require more testing. [Wolfman2000] 2011/07/07 ---------- From 0aa44abdd6011b5f5059bd0b093f59416842900c Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 13:29:08 -0400 Subject: [PATCH 14/33] May as well advertise #COMBOS in here. --- .../Mecha-Tribe Assault.ssc | 370 +++++++++--------- 1 file changed, 189 insertions(+), 181 deletions(-) diff --git a/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc b/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc index 6e799ec8de..2731a8a654 100644 --- a/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc +++ b/Songs/StepMania 5/MechaTribe Assault/Mecha-Tribe Assault.ssc @@ -1,4 +1,4 @@ -#VERSION:0.73; +#VERSION:0.76; #TITLE:Mecha-Tribe Assault; #SUBTITLE:; #ARTIST:Kommisar; @@ -57,10 +57,11 @@ #KEYSOUNDS:; #ATTACKS:; -//---------------dance-single - Wyde---------------- +//---------------dance-single - ---------------- #NOTEDATA:; +#CHARTNAME:Wyde: #STEPSTYPE:dance-single; -#DESCRIPTION:Wyde; +#DESCRIPTION:; #CHARTSTYLE:; #DIFFICULTY:Challenge; #METER:11; @@ -1012,10 +1013,11 @@ M000 0000 ; -//---------------dance-single - Wyde---------------- +//---------------dance-single - ---------------- #NOTEDATA:; +#CHARTNAME:Wyde: #STEPSTYPE:dance-single; -#DESCRIPTION:Wyde; +#DESCRIPTION:; #CHARTSTYLE:; #DIFFICULTY:Hard; #METER:10; @@ -1859,10 +1861,11 @@ M100 0000 ; -//---------------dance-single - Wyde---------------- +//---------------dance-single - ---------------- #NOTEDATA:; +#CHARTNAME:Wyde: #STEPSTYPE:dance-single; -#DESCRIPTION:Wyde; +#DESCRIPTION:; #CHARTSTYLE:; #DIFFICULTY:Medium; #METER:8; @@ -2530,10 +2533,11 @@ M100 0000 ; -//---------------dance-single - Wyde---------------- +//---------------dance-single - ---------------- #NOTEDATA:; +#CHARTNAME:Wyde: #STEPSTYPE:dance-single; -#DESCRIPTION:Wyde; +#DESCRIPTION:; #CHARTSTYLE:; #DIFFICULTY:Easy; #METER:6; @@ -3113,10 +3117,11 @@ M100 0000 ; -//---------------dance-single - Wyde---------------- +//---------------dance-single - ---------------- #NOTEDATA:; +#CHARTNAME:Wyde: #STEPSTYPE:dance-single; -#DESCRIPTION:Wyde; +#DESCRIPTION:; #CHARTSTYLE:; #DIFFICULTY:Beginner; #METER:2; @@ -3548,10 +3553,11 @@ M100 M00M ; -//---------------dance-solo - Hard---------------- +//---------------dance-solo - ---------------- #NOTEDATA:; +#CHARTNAME:Hard: #STEPSTYPE:dance-solo; -#DESCRIPTION:Hard; +#DESCRIPTION:; #CHARTSTYLE:Pad; #DIFFICULTY:Hard; #METER:10; @@ -4416,10 +4422,11 @@ MMMMMM 000000 ; -//---------------pump-single - Vin.il---------------- +//---------------pump-single - ---------------- #NOTEDATA:; +#CHARTNAME:Vin.il: #STEPSTYPE:pump-single; -#DESCRIPTION:Vin.il; +#DESCRIPTION:; #CHARTSTYLE:Pad; #DIFFICULTY:Hard; #METER:19; @@ -4436,7 +4443,7 @@ MMMMMM #TICKCOUNTS:0.000000=4 ,303.500000=16 ; -#COMBOS:0.000000=1 +#COMBOS:0.000000=2 ; #SPEEDS:0.000000=1.000000=0.000000=0 ,76.000000=0.500000=0.375000=0 @@ -5470,10 +5477,11 @@ M0000 00000 ; -//---------------pump-single - Vin.il---------------- +//---------------pump-single - ---------------- #NOTEDATA:; +#CHARTNAME:Vin.il: #STEPSTYPE:pump-single; -#DESCRIPTION:Vin.il; +#DESCRIPTION:; #CHARTSTYLE:Pad; #DIFFICULTY:Medium; #METER:13; @@ -5529,27 +5537,26 @@ M0000 #ATTACKS: ; #NOTES: -// measure 0 00000 00000 00000 00000 -, // measure 1 +, 00000 00000 00000 00000 -, // measure 2 +, 00000 00000 00000 00000 -, // measure 3 +, 00000 00000 00000 00000 -, // measure 4 +, 00110 00000 00010 @@ -5558,7 +5565,7 @@ M0000 00000 10000 10001 -, // measure 5 +, 00000 10001 00000 @@ -5567,7 +5574,7 @@ M0000 01001 00000 00000 -, // measure 6 +, 01100 00000 01000 @@ -5576,7 +5583,7 @@ M0000 00000 00001 10001 -, // measure 7 +, 00000 10001 00000 @@ -5585,7 +5592,7 @@ M0000 10010 00000 00000 -, // measure 8 +, 10100 00000 10000 @@ -5594,7 +5601,7 @@ M0000 00000 00010 01010 -, // measure 9 +, 00000 01010 00000 @@ -5603,7 +5610,7 @@ M0000 01001 00000 00000 -, // measure 10 +, 00101 00000 00001 @@ -5612,7 +5619,7 @@ M0000 00000 01000 01010 -, // measure 11 +, 00000 01010 00000 @@ -5621,7 +5628,7 @@ M0000 10010 00000 00000 -, // measure 12 +, 10100 10000 00001 @@ -5630,7 +5637,7 @@ M0000 00001 01000 01100 -, // measure 13 +, 00000 00000 01010 @@ -5647,7 +5654,7 @@ M0000 00000 00100 00001 -, // measure 14 +, 01000 01000 00010 @@ -5656,7 +5663,7 @@ M0000 00010 10000 10100 -, // measure 15 +, 00000 00000 10001 @@ -5673,7 +5680,7 @@ M0000 00000 00100 00010 -, // measure 16 +, 10000 00100 10000 @@ -5682,7 +5689,7 @@ M0000 00001 00100 01001 -, // measure 17 +, 00100 00000 01001 @@ -5699,7 +5706,7 @@ M0000 00000 00100 00001 -, // measure 18 +, 01000 00100 01000 @@ -5708,7 +5715,7 @@ M0000 00010 00100 10010 -, // measure 19 +, 01001 00000 00000 @@ -5725,7 +5732,7 @@ M0000 00000 00100 00000 -, // measure 20 +, 10001 00001 00000 @@ -5734,7 +5741,7 @@ M0000 00010 00100 00001 -, // measure 21 +, 10001 00000 10000 @@ -5751,7 +5758,7 @@ M0000 10000 00010 00000 -, // measure 22 +, 01010 00000 01000 @@ -5768,7 +5775,7 @@ M0000 00000 00010 00000 -, // measure 23 +, 01010 00000 00010 @@ -5785,7 +5792,7 @@ M0000 00010 01000 00000 -, // measure 24 +, 01010 01000 00000 @@ -5794,7 +5801,7 @@ M0000 10000 00100 01000 -, // measure 25 +, 01010 00000 00010 @@ -5811,7 +5818,7 @@ M0000 00010 10000 00000 -, // measure 26 +, 10001 00000 00001 @@ -5828,7 +5835,7 @@ M0000 00000 10000 00000 -, // measure 27 +, 10001 00000 00000 @@ -5845,7 +5852,7 @@ M0000 00000 00100 00000 -, // measure 28 +, 10010 10000 10001 @@ -5854,7 +5861,7 @@ M0000 00000 00100 00000 -, // measure 29 +, 10010 10000 10001 @@ -5863,7 +5870,7 @@ M0000 00000 00100 00000 -, // measure 30 +, 01001 01000 01010 @@ -5872,7 +5879,7 @@ M0000 00000 00100 00000 -, // measure 31 +, 01001 00100 01010 @@ -5881,7 +5888,7 @@ M0000 10100 10001 00101 -, // measure 32 +, 10001 00001 01001 @@ -5890,7 +5897,7 @@ M0000 00000 00100 00000 -, // measure 33 +, 10001 00001 01001 @@ -5899,7 +5906,7 @@ M0000 00000 00100 00000 -, // measure 34 +, 01010 00010 10010 @@ -5908,7 +5915,7 @@ M0000 00000 00100 00000 -, // measure 35 +, 01010 00100 10010 @@ -5917,7 +5924,7 @@ M0000 01001 01010 10010 -, // measure 36 +, 20001 00100 30100 @@ -5926,7 +5933,7 @@ M0000 30100 20001 00100 -, // measure 37 +, 30100 20001 00100 @@ -5935,7 +5942,7 @@ M0000 30100 20001 30100 -, // measure 38 +, 10002 00100 00103 @@ -5944,7 +5951,7 @@ M0000 00103 10002 00100 -, // measure 39 +, 00103 00000 00001 @@ -5961,7 +5968,7 @@ M0000 01000 00010 00000 -, // measure 40 +, 01020 00100 00130 @@ -5970,7 +5977,7 @@ M0000 00130 01020 00100 -, // measure 41 +, 00130 01020 00100 @@ -5979,7 +5986,7 @@ M0000 00130 01020 00130 -, // measure 42 +, 02010 00100 03100 @@ -5988,7 +5995,7 @@ M0000 03100 02010 00100 -, // measure 43 +, 03100 00000 01000 @@ -6005,7 +6012,7 @@ M0000 00001 10000 00000 -, // measure 44 +, 00001 00100 00001 @@ -6022,7 +6029,7 @@ M0000 00000 10000 00000 -, // measure 45 +, 00010 00100 00010 @@ -6039,7 +6046,7 @@ M0000 00000 10000 00000 -, // measure 46 +, 00010 01000 00010 @@ -6056,7 +6063,7 @@ M0000 00000 10000 00000 -, // measure 47 +, 10001 00001 00101 @@ -6065,7 +6072,7 @@ M0000 00010 00110 01010 -, // measure 48 +, 01000 00100 01000 @@ -6082,7 +6089,7 @@ M0000 00000 00010 00000 -, // measure 49 +, 10000 00100 10000 @@ -6099,7 +6106,7 @@ M0000 00000 00010 00000 -, // measure 50 +, 10000 00001 10000 @@ -6116,7 +6123,7 @@ M0000 00000 00010 00000 -, // measure 51 +, 01010 01000 01100 @@ -6125,12 +6132,12 @@ M0000 10000 10100 10001 -, // measure 52 +, 00102 00103 20100 30020 -, // measure 53 +, 02030 00000 03100 @@ -6139,7 +6146,7 @@ M0000 00000 10030 10001 -, // measure 54 +, 20001 30000 10001 @@ -6148,12 +6155,12 @@ M0000 00003 02000 03000 -, // measure 55 +, 00020 00130 02000 03100 -, // measure 56 +, 02010 00100 03100 @@ -6162,7 +6169,7 @@ M0000 00100 00130 10010 -, // measure 57 +, 20010 00100 30100 @@ -6171,7 +6178,7 @@ M0000 00100 00130 10001 -, // measure 58 +, 10002 00100 00103 @@ -6180,7 +6187,7 @@ M0000 00100 30100 01001 -, // measure 59 +, 01002 00000 00100 @@ -6197,12 +6204,12 @@ M0000 00000 00010 01000 -, // measure 60 +, 00100 10100 10001 00101 -, // measure 61 +, 20002 00000 00000 @@ -6211,7 +6218,7 @@ M0000 00000 01010 00000 -, // measure 62 +, 02001 03000 02001 @@ -6220,7 +6227,7 @@ M0000 03000 01020 00030 -, // measure 63 +, 20010 30000 20010 @@ -6229,7 +6236,7 @@ M0000 00003 01002 00003 -, // measure 64 +, 00200 00310 00200 @@ -6238,7 +6245,7 @@ M0000 01300 00200 10300 -, // measure 65 +, 00020 00130 02000 @@ -6247,7 +6254,7 @@ M0000 00103 20000 30100 -, // measure 66 +, 01002 00103 00102 @@ -6256,7 +6263,7 @@ M0000 30100 20100 30010 -, // measure 67 +, 10020 00130 00120 @@ -6265,17 +6272,17 @@ M0000 03001 01002 00100 -, // measure 68 +, 20000 00000 00000 00000 -, // measure 69 +, 00000 00000 00000 00003 -, // measure 70 +, 00200 00000 00000 @@ -6284,27 +6291,27 @@ M0000 00000 02000 00300 -, // measure 71 +, 00002 03000 20000 00003 -, // measure 72 +, 00002 00000 00000 00000 -, // measure 73 +, 00000 00000 00000 00000 -, // measure 74 +, 00000 00000 00000 00000 -, // measure 75 +, 00000 00000 00000 @@ -6321,32 +6328,33 @@ M0000 30003 20002 00000 -, // measure 76 +, 00000 00000 00000 00000 -, // measure 77 +, 00000 00000 00000 00000 -, // measure 78 +, 00000 00000 00000 00000 -, // measure 79 +, 30003 00000 00000 00000 ; -//---------------pump-single - Vin.il---------------- +//---------------pump-single - ---------------- #NOTEDATA:; +#CHARTNAME:Vin.il: #STEPSTYPE:pump-single; -#DESCRIPTION:Vin.il; +#DESCRIPTION:; #CHARTSTYLE:Pad; #DIFFICULTY:Easy; #METER:6; @@ -6448,29 +6456,29 @@ M0000 ,288.000000=Verse 9B ,304.000000=Fin ; -#ATTACKS:; +#ATTACKS: +; #NOTES: -// measure 0 00000 00000 00000 00000 -, // measure 1 +, 00000 00000 00000 00000 -, // measure 2 +, 00000 00000 00000 00000 -, // measure 3 +, 00000 00000 00000 00000 -, // measure 4 +, 10000 00000 00000 @@ -6479,7 +6487,7 @@ M0000 00000 00000 01000 -, // measure 5 +, 00000 01001 00000 @@ -6488,7 +6496,7 @@ M0000 00001 00000 00000 -, // measure 6 +, 10000 00000 00000 @@ -6497,7 +6505,7 @@ M0000 00000 00000 01000 -, // measure 7 +, 00000 01001 00000 @@ -6506,7 +6514,7 @@ M0000 00001 00000 00000 -, // measure 8 +, 10000 00000 00000 @@ -6515,7 +6523,7 @@ M0000 00000 00000 00001 -, // measure 9 +, 00000 01001 00000 @@ -6524,7 +6532,7 @@ M0000 00100 00000 00000 -, // measure 10 +, 00001 00000 00000 @@ -6533,7 +6541,7 @@ M0000 00000 00000 10000 -, // measure 11 +, 00000 10010 00000 @@ -6542,7 +6550,7 @@ M0000 00100 00000 00000 -, // measure 12 +, 00001 00100 00000 @@ -6551,7 +6559,7 @@ M0000 10000 00000 00001 -, // measure 13 +, 00000 00101 00000 @@ -6560,7 +6568,7 @@ M0000 01001 00000 00000 -, // measure 14 +, 10000 00100 00000 @@ -6569,7 +6577,7 @@ M0000 00001 00000 10000 -, // measure 15 +, 00000 10100 00000 @@ -6578,7 +6586,7 @@ M0000 10010 00000 00000 -, // measure 16 +, 00010 00100 00000 @@ -6587,7 +6595,7 @@ M0000 01000 00000 00010 -, // measure 17 +, 00000 00110 00000 @@ -6596,7 +6604,7 @@ M0000 10010 00000 00000 -, // measure 18 +, 01000 00100 00000 @@ -6605,7 +6613,7 @@ M0000 00010 00000 01000 -, // measure 19 +, 00001 00000 00000 @@ -6614,7 +6622,7 @@ M0000 00000 10000 00010 -, // measure 20 +, 01000 00001 00000 @@ -6623,7 +6631,7 @@ M0000 00010 00000 10000 -, // measure 21 +, 00001 01000 00000 @@ -6632,7 +6640,7 @@ M0000 10000 00000 00010 -, // measure 22 +, 00100 00001 00000 @@ -6641,7 +6649,7 @@ M0000 00010 00000 10000 -, // measure 23 +, 00100 01000 00000 @@ -6650,7 +6658,7 @@ M0000 10000 00000 00010 -, // measure 24 +, 10000 00010 00000 @@ -6659,7 +6667,7 @@ M0000 00001 00000 01000 -, // measure 25 +, 00010 10000 00000 @@ -6668,7 +6676,7 @@ M0000 01000 00000 00001 -, // measure 26 +, 00100 00010 00000 @@ -6677,7 +6685,7 @@ M0000 00001 00000 01000 -, // measure 27 +, 00010 00000 00000 @@ -6686,47 +6694,47 @@ M0000 00000 01000 00001 -, // measure 28 +, 10000 10100 10000 00001 -, // measure 29 +, 10000 10100 10000 00001 -, // measure 30 +, 01000 01100 01000 00001 -, // measure 31 +, 01000 01100 00010 00110 -, // measure 32 +, 10000 10100 10000 00001 -, // measure 33 +, 10000 10100 10000 00001 -, // measure 34 +, 01000 01100 01000 00001 -, // measure 35 +, 01000 01100 00010 00110 -, // measure 36 +, 10000 00100 00000 @@ -6735,7 +6743,7 @@ M0000 00000 10000 00100 -, // measure 37 +, 00000 10000 00100 @@ -6744,7 +6752,7 @@ M0000 00001 00100 00000 -, // measure 38 +, 00001 00100 00000 @@ -6753,12 +6761,12 @@ M0000 00000 00001 00100 -, // measure 39 +, 00001 01001 10000 10010 -, // measure 40 +, 00010 00100 00000 @@ -6767,7 +6775,7 @@ M0000 00000 00010 00100 -, // measure 41 +, 00000 00010 00100 @@ -6776,7 +6784,7 @@ M0000 01000 00100 00000 -, // measure 42 +, 01000 00100 00000 @@ -6785,12 +6793,12 @@ M0000 00000 01000 00100 -, // measure 43 +, 01000 01001 00010 10010 -, // measure 44 +, 10000 00001 00100 @@ -6799,7 +6807,7 @@ M0000 10000 00100 00000 -, // measure 45 +, 10000 00001 00100 @@ -6808,7 +6816,7 @@ M0000 10000 00100 00000 -, // measure 46 +, 01000 00010 00100 @@ -6817,12 +6825,12 @@ M0000 01000 00100 00000 -, // measure 47 +, 01010 00001 10000 00001 -, // measure 48 +, 01000 00010 00100 @@ -6831,7 +6839,7 @@ M0000 01000 00100 00000 -, // measure 49 +, 01000 00010 00100 @@ -6840,7 +6848,7 @@ M0000 01000 00100 00000 -, // measure 50 +, 10000 00001 00100 @@ -6849,7 +6857,7 @@ M0000 10000 00100 00000 -, // measure 51 +, 20002 00000 00000 @@ -6858,122 +6866,122 @@ M0000 00000 00000 30003 -, // measure 52 +, 10001 00101 10001 10100 -, // measure 53 +, 10001 01001 10001 10010 -, // measure 54 +, 01010 01010 10001 10001 -, // measure 55 +, 01010 01010 10001 10001 -, // measure 56 +, 01010 01100 01010 00110 -, // measure 57 +, 01010 01001 01010 10010 -, // measure 58 +, 10001 10001 01010 01010 -, // measure 59 +, 10001 10001 01010 01010 -, // measure 60 +, 20001 00000 30002 00000 -, // measure 61 +, 20003 00000 30020 00000 -, // measure 62 +, 02030 00000 00000 00000 -, // measure 63 +, 03020 00000 00000 00000 -, // measure 64 +, 20030 00000 00000 00000 -, // measure 65 +, 30002 00000 00000 00000 -, // measure 66 +, 02003 00000 00000 00000 -, // measure 67 +, 03020 00000 00000 00000 -, // measure 68 +, 20030 00000 00000 00000 -, // measure 69 +, 00000 00000 00000 00000 -, // measure 70 +, 30002 00000 00000 02003 -, // measure 71 +, 03020 00000 00230 00000 -, // measure 72 +, 00302 00000 00000 00000 -, // measure 73 +, 00000 00000 00000 00000 -, // measure 74 +, 00000 00000 00000 00000 -, // measure 75 +, 00000 00000 00000 @@ -6982,22 +6990,22 @@ M0000 00000 00000 20000 -, // measure 76 +, 00000 00000 00000 00000 -, // measure 77 +, 00000 00000 00000 00000 -, // measure 78 +, 00000 00000 00000 00000 -, // measure 79 +, 30003 00000 00000 From d7afb23f5a4de6d86da49e660ada415e34360263 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 14:07:13 -0400 Subject: [PATCH 15/33] Can't forget checkpoints. --- src/ScoreKeeperNormal.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ScoreKeeperNormal.cpp b/src/ScoreKeeperNormal.cpp index f24c526507..07b2cbd213 100644 --- a/src/ScoreKeeperNormal.cpp +++ b/src/ScoreKeeperNormal.cpp @@ -430,11 +430,11 @@ void ScoreKeeperNormal::HandleTapNoteScoreInternal( TapNoteScore tns, TapNoteSco // update judged row totals. Respect Combo segments here. TimingData &td = GAMESTATE->m_pCurSteps[m_pPlayerState->m_PlayerNumber]->m_Timing; ComboSegment &cs = td.GetComboSegmentAtRow(row); - if (tns >= m_MinScoreToContinueCombo) + if (tns == TNS_CheckpointHit || tns >= m_MinScoreToContinueCombo) { m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetCombo(); } - else if (tns < m_MinScoreToMaintainCombo) + else if (tns == TNS_CheckpointMiss || tns < m_MinScoreToMaintainCombo) { m_pPlayerStageStats->m_iTapNoteScores[tns] += cs.GetMissCombo(); } From 0038caed2a4c4c54d1256722109b6362fda05453 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 9 Jul 2011 13:12:01 -0500 Subject: [PATCH 16/33] fuck, I committed this? --- src/ScreenDebugOverlay.cpp | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index e921fb98e2..dd8a50b27b 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -569,7 +569,6 @@ static LocalizedString WRITE_PREFERENCES ( "ScreenDebugOverlay", "Write Preferen static LocalizedString MENU_TIMER ( "ScreenDebugOverlay", "Menu Timer" ); static LocalizedString FLUSH_LOG ( "ScreenDebugOverlay", "Flush Log" ); static LocalizedString PULL_BACK_CAMERA ( "ScreenDebugOverlay", "Pull Back Camera" ); -static LocalizedString ZOOM_IN_CAMERA ( "ScreenDebugOverlay", "Zoom In Camera" ); static LocalizedString VISUAL_DELAY_UP ( "ScreenDebugOverlay", "Visual Delay Up" ); static LocalizedString VISUAL_DELAY_DOWN ( "ScreenDebugOverlay", "Visual Delay Down" ); static LocalizedString VOLUME_UP ( "ScreenDebugOverlay", "Volume Up" ); @@ -1102,7 +1101,7 @@ class DebugLinePullBackCamera : public IDebugLine { virtual RString GetDisplayTitle() { return PULL_BACK_CAMERA.GetValue(); } virtual RString GetDisplayValue() { return RString(); } - virtual bool IsEnabled() { return g_fImageScaleDestination < 1.0f; } + virtual bool IsEnabled() { return g_fImageScaleDestination != 1; } virtual void DoAndLog( RString &sMessageOut ) { if( g_fImageScaleDestination == 1 ) @@ -1113,21 +1112,6 @@ class DebugLinePullBackCamera : public IDebugLine } }; -class DebugLineZoomInCamera : public IDebugLine -{ - virtual RString GetDisplayTitle() { return ZOOM_IN_CAMERA.GetValue(); } - virtual RString GetDisplayValue() { return RString(); } - virtual bool IsEnabled() { return g_fImageScaleDestination > 1.0f; } - virtual void DoAndLog( RString &sMessageOut ) - { - if( g_fImageScaleDestination == 1 ) - g_fImageScaleDestination = 2.0f; - else - g_fImageScaleDestination = 1; - IDebugLine::DoAndLog( sMessageOut ); - } -}; - class DebugLineVolumeUp : public IDebugLine { virtual RString GetDisplayTitle() { return VOLUME_UP.GetValue(); } @@ -1242,7 +1226,6 @@ DECLARE_ONE( DebugLineWritePreferences ); DECLARE_ONE( DebugLineMenuTimer ); DECLARE_ONE( DebugLineFlushLog ); DECLARE_ONE( DebugLinePullBackCamera ); -DECLARE_ONE( DebugLineZoomInCamera ); DECLARE_ONE( DebugLineVolumeUp ); DECLARE_ONE( DebugLineVolumeDown ); DECLARE_ONE( DebugLineVisualDelayUp ); From 473717cac71248d7ff0595d1cfcd5fa1d361df93 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 14:40:57 -0400 Subject: [PATCH 17/33] Checkpoints lumped with judgments on eval. --- Docs/Changelog_sm5.txt | 3 +++ Themes/_fallback/Scripts/03 Gameplay.lua | 4 ++++ Themes/_fallback/metrics.ini | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index ad8d844438..73015cca56 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -15,6 +15,9 @@ StepMania 5.0 ????????? | 20110??? miss combo on next launch. [Wolfman2000] * [ScoreKeeperNormal] Better match #COMBOS with eval. Scoring formulas should not be affected, but it may require more testing. [Wolfman2000] +* [Metrics] Have Pump mode lump the checkpoint judgments with Flawless and + Miss judgments on eval. Of course, this goes down to Perfect and Miss if + that is disabled. [Wolfman2000] 2011/07/07 ---------- diff --git a/Themes/_fallback/Scripts/03 Gameplay.lua b/Themes/_fallback/Scripts/03 Gameplay.lua index 90dcc7c88a..3fd0d83e4b 100644 --- a/Themes/_fallback/Scripts/03 Gameplay.lua +++ b/Themes/_fallback/Scripts/03 Gameplay.lua @@ -105,6 +105,10 @@ function ComboPerRow() end end +function EvalUsesCheckpointsWithJudgments() + return (GAMESTATE:GetCurrentGame():GetName() == "pump") and true or false +end + -- these need cleanup really. function HitCombo() sGame = GAMESTATE:GetCurrentGame():GetName() diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 3a9db0d6ab..ad995db105 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -3226,7 +3226,7 @@ PrevScreen=Branch.AfterEvaluation() LightsMode="LightsMode_MenuStartOnly" # Summary=false -CheckpointsWithJudgments=false +CheckpointsWithJudgments=EvalUsesCheckpointsWithJudgments() # TimerSeconds=20 # From 1abb41720db3b440b4cbaf7af2b66216beac5385 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 9 Jul 2011 14:28:11 -0500 Subject: [PATCH 18/33] add new polish font psds, forgot to do this yesterday --- .../frutiger 24px [polish-stroke] 8x2.psd | Bin 0 -> 406500 bytes _assets/fonts/frutiger 24px [polish] 8x2.psd | Bin 0 -> 391468 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 _assets/fonts/frutiger 24px [polish-stroke] 8x2.psd create mode 100644 _assets/fonts/frutiger 24px [polish] 8x2.psd diff --git a/_assets/fonts/frutiger 24px [polish-stroke] 8x2.psd b/_assets/fonts/frutiger 24px [polish-stroke] 8x2.psd new file mode 100644 index 0000000000000000000000000000000000000000..da93af035af17bedd85ef7cf6a90f5fa202db1af GIT binary patch literal 406500 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 JlhU;C`hPyXc@O{q literal 0 HcmV?d00001 From dd3b0762e57f52495903d6a484a08f47bbf73cac Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sat, 9 Jul 2011 20:37:57 -0400 Subject: [PATCH 19/33] Restore qwerty, adjust order at the bottom. I didn't see two zooming keys, though. --- src/ScreenDebugOverlay.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ScreenDebugOverlay.cpp b/src/ScreenDebugOverlay.cpp index dd8a50b27b..e6c731fa2c 100644 --- a/src/ScreenDebugOverlay.cpp +++ b/src/ScreenDebugOverlay.cpp @@ -196,8 +196,8 @@ void ScreenDebugOverlay::Init() g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Cq); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Cw); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Ce); - g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Ct); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Cr); + g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Ct); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Cy); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Cu); g_Mappings.debugButton[i++] = DeviceInput(DEVICE_KEYBOARD, KEY_Ci); @@ -1226,10 +1226,10 @@ DECLARE_ONE( DebugLineWritePreferences ); DECLARE_ONE( DebugLineMenuTimer ); DECLARE_ONE( DebugLineFlushLog ); DECLARE_ONE( DebugLinePullBackCamera ); -DECLARE_ONE( DebugLineVolumeUp ); DECLARE_ONE( DebugLineVolumeDown ); -DECLARE_ONE( DebugLineVisualDelayUp ); +DECLARE_ONE( DebugLineVolumeUp ); DECLARE_ONE( DebugLineVisualDelayDown ); +DECLARE_ONE( DebugLineVisualDelayUp ); DECLARE_ONE( DebugLineForceCrash ); DECLARE_ONE( DebugLineUptime ); From b6b41d87a16c13a4cf24fe3f366aa2c1b32e9a3a Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 9 Jul 2011 20:21:58 -0500 Subject: [PATCH 20/33] add sm5 changelog and .ssc changelog to mac release script --- Xcode/scripts/mkrelease.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Xcode/scripts/mkrelease.pl b/Xcode/scripts/mkrelease.pl index c3580425e9..210cf52fdf 100644 --- a/Xcode/scripts/mkrelease.pl +++ b/Xcode/scripts/mkrelease.pl @@ -9,7 +9,9 @@ use Cwd; my @docs = ( "Licenses.txt", + "Changelog_sm5.txt", "Changelog_sm-ssc.txt", + "Changelog_SSCformat.txt", "CommandLineArgs.txt", "credits.txt", "Themerdocs/" From 916c9840cf516ecf966a492044558c09fc5bb098 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 9 Jul 2011 23:17:34 -0500 Subject: [PATCH 21/33] attempt to get multi-byte characters working in RageLog --- src/RageLog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RageLog.cpp b/src/RageLog.cpp index 5c517f209e..a01fdb8047 100644 --- a/src/RageLog.cpp +++ b/src/RageLog.cpp @@ -262,7 +262,7 @@ void RageLog::Write( int where, const RString &sLine ) sStr.insert( 0, sWarning ); if( m_bShowLogOutput || (where&WRITE_TO_INFO) ) - puts( sStr ); + _putws( (const wchar_t *)sStr.c_str() ); if( where & WRITE_TO_INFO ) AddToInfo( sStr ); if( m_bLogToDisk && (where&WRITE_TO_INFO) && g_fileInfo->IsOpen() ) From 26ecf8107dcaff842bd02c255aa38b785f1db410 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 00:23:16 -0400 Subject: [PATCH 22/33] Tag, you're it! --- src/RageLog.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/RageLog.cpp b/src/RageLog.cpp index a01fdb8047..d1e60e8eb0 100644 --- a/src/RageLog.cpp +++ b/src/RageLog.cpp @@ -10,6 +10,7 @@ #if defined(_WINDOWS) #include #endif +#include #include RageLog* LOG; // global and accessable from anywhere in the program @@ -262,7 +263,7 @@ void RageLog::Write( int where, const RString &sLine ) sStr.insert( 0, sWarning ); if( m_bShowLogOutput || (where&WRITE_TO_INFO) ) - _putws( (const wchar_t *)sStr.c_str() ); + fputws( (const wchar_t *)sStr.c_str(), stdout ); if( where & WRITE_TO_INFO ) AddToInfo( sStr ); if( m_bLogToDisk && (where&WRITE_TO_INFO) && g_fileInfo->IsOpen() ) From 279ab6abe637783d01d8f3f197b119f9781fb724 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 11:06:21 -0400 Subject: [PATCH 23/33] Well, that was easy. Thanks jmakovicka! --- src/ModIconRow.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/ModIconRow.cpp b/src/ModIconRow.cpp index d77bed655b..7ecf1ce320 100644 --- a/src/ModIconRow.cpp +++ b/src/ModIconRow.cpp @@ -68,18 +68,13 @@ void ModIconRow::HandleMessage( const Message &msg ) struct OptionColumnEntry { - char *szString; + const char *szString; int iSlotIndex; //void FromStack( lua_State *L, int iPos ); }; // todo: metric these? -aj -/* - * May be a good idea to do so at some point. GCC gives plenty of warnings - * About the code below, something about turning string constants into - * char * items. Gotta love the many compilers we use. -Wolfman2000 - */ static const OptionColumnEntry g_OptionColumnEntries[] = { {"Boost", 0}, From 5826dee12fdcd999dd1f6a9e147dca7ff41219f7 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 11:09:06 -0400 Subject: [PATCH 24/33] Another warning fix by jmakovicka. --- src/RageTexture.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RageTexture.cpp b/src/RageTexture.cpp index b049ba159d..0d9e17fd90 100644 --- a/src/RageTexture.cpp +++ b/src/RageTexture.cpp @@ -7,7 +7,7 @@ RageTexture::RageTexture( RageTextureID name ): - m_ID(name), m_iRefCount(1), m_bWasUsed(false), + m_iRefCount(1), m_bWasUsed(false), m_ID(name), m_iSourceWidth(0), m_iSourceHeight(0), m_iTextureWidth(0), m_iTextureHeight(0), m_iImageWidth(0), m_iImageHeight(0), From c15144c2de06c6f1069d35cf53f3947ab7f81329 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 12:20:57 -0400 Subject: [PATCH 25/33] Some attempts at boosting Native speeds. --- Xcode/stepmania.xcodeproj/project.pbxproj | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Xcode/stepmania.xcodeproj/project.pbxproj b/Xcode/stepmania.xcodeproj/project.pbxproj index a3bdafb716..94d0a52ab5 100644 --- a/Xcode/stepmania.xcodeproj/project.pbxproj +++ b/Xcode/stepmania.xcodeproj/project.pbxproj @@ -7896,6 +7896,7 @@ buildSettings = { CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = NO; GCC_ENABLE_SSE3_EXTENSIONS = NO; GCC_INLINES_ARE_PRIVATE_EXTERN = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; @@ -8605,6 +8606,7 @@ COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = stabs; FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = NO; GCC_ENABLE_SSE3_EXTENSIONS = NO; GCC_GENERATE_DEBUGGING_SYMBOLS = YES; GCC_INLINES_ARE_PRIVATE_EXTERN = NO; @@ -8853,7 +8855,9 @@ buildSettings = { CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; - GCC_ENABLE_SSE3_EXTENSIONS = NO; + GCC_AUTO_VECTORIZATION = YES; + GCC_ENABLE_SSE3_EXTENSIONS = YES; + GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS = YES; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; @@ -8982,7 +8986,9 @@ buildSettings = { CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; + GCC_AUTO_VECTORIZATION = NO; GCC_ENABLE_OBJC_EXCEPTIONS = NO; + GCC_ENABLE_SSE3_EXTENSIONS = NO; GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; From cdba5a4f228eee4220c1d7fc6d54dcb17a6eebb9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 13:07:39 -0400 Subject: [PATCH 26/33] Fix a memory leak on MusicWheel. Mac's Leaks claims it's fixed anyway. --- src/MusicWheelItem.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/MusicWheelItem.cpp b/src/MusicWheelItem.cpp index c7ad0fb3c3..5bde9a78a1 100644 --- a/src/MusicWheelItem.cpp +++ b/src/MusicWheelItem.cpp @@ -170,6 +170,10 @@ MusicWheelItem::MusicWheelItem( const MusicWheelItem &cpy ): MusicWheelItem::~MusicWheelItem() { + FOREACH_ENUM( MusicWheelItemType, i ) + { + SAFE_DELETE(m_pText[i]); + } delete m_pTextSectionCount; } From d92ccd3af17555e92f3b93a12bf2b8b33d70657f Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 14:14:13 -0400 Subject: [PATCH 27/33] Revert. Lua warning logs do not show on runtime. I think we have more to do first. --- src/RageLog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RageLog.cpp b/src/RageLog.cpp index d1e60e8eb0..534df14bbf 100644 --- a/src/RageLog.cpp +++ b/src/RageLog.cpp @@ -263,7 +263,7 @@ void RageLog::Write( int where, const RString &sLine ) sStr.insert( 0, sWarning ); if( m_bShowLogOutput || (where&WRITE_TO_INFO) ) - fputws( (const wchar_t *)sStr.c_str(), stdout ); + puts(sStr); //fputws( (const wchar_t *)sStr.c_str(), stdout ); if( where & WRITE_TO_INFO ) AddToInfo( sStr ); if( m_bLogToDisk && (where&WRITE_TO_INFO) && g_fileInfo->IsOpen() ) From b76dcbf1988b81119933994819971c063de952b9 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 14:20:14 -0400 Subject: [PATCH 28/33] Don't show held result for Pump. They care about checkpoints/tickcount. --- Themes/default/metrics.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index dc1c427c1e..71d176dafc 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -1512,7 +1512,7 @@ ShowJudgmentLineW2=true ShowJudgmentLineW3=true ShowJudgmentLineW4=true ShowJudgmentLineW5=true -ShowJudgmentLineHeld=true +ShowJudgmentLineHeld=(GAMESTATE:GetCurrentGame():GetName() ~= "pump") ShowJudgmentLineMiss=true ShowJudgmentLineMaxCombo=true ShowGradeArea=true From 0cb6eb80102f30ebbf8d776b94aca6e134a63ff7 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sun, 10 Jul 2011 13:30:19 -0500 Subject: [PATCH 29/33] fine just shut the fuck up about my directory's local state already mercurial --- Docs/Changelog_sm5.txt | 4 ++++ src/RageLog.cpp | 1 - 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 73015cca56..0338c96195 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,6 +8,10 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- +2011/07/10 +---------- +* [RageLog] Output UTF-8 for Trace(). [AJ, Wolfman2000] + 2011/07/09 ---------- * [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. diff --git a/src/RageLog.cpp b/src/RageLog.cpp index 534df14bbf..8e619766a8 100644 --- a/src/RageLog.cpp +++ b/src/RageLog.cpp @@ -10,7 +10,6 @@ #if defined(_WINDOWS) #include #endif -#include #include RageLog* LOG; // global and accessable from anywhere in the program From 2da452befdfe5a6c0d393ea3f4da3d7402b42f63 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 14:30:33 -0400 Subject: [PATCH 30/33] Redundant, and not hiding for pump 'til now. --- Themes/default/metrics.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 71d176dafc..5b83cf0ef7 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -70,8 +70,6 @@ NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;s LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75,0.75,0.75,1");horizalign,left;vertalign,bottom [HoldJudgment] -HoldJudgmentLetGoCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -HoldJudgmentHeldCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 [HelpDisplay] TipShowTime=7 From 53a8fc455d80b7ae001ad19f0ca03c5d514228a7 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 14:37:01 -0400 Subject: [PATCH 31/33] Revert this until we are sure. --- Docs/Changelog_sm5.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 0338c96195..73015cca56 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -8,10 +8,6 @@ ________________________________________________________________________________ StepMania 5.0 ????????? | 20110??? -------------------------------------------------------------------------------- -2011/07/10 ----------- -* [RageLog] Output UTF-8 for Trace(). [AJ, Wolfman2000] - 2011/07/09 ---------- * [NotesTheUsual] Update the #COMBOS tag to allow for a Miss Combo attribute. From 4b76e30a5a41bb12b9d6c4158169f9aa456966ef Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Sun, 10 Jul 2011 23:15:33 -0400 Subject: [PATCH 32/33] Experimental: taps to count TAPS only. May need manual recache. May be reverted. --- src/NoteDataUtil.cpp | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index eff74fb0ae..236c11f218 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -786,7 +786,6 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) out.quads = 0; map simultaneousMap; map simultaneousMapNoHold; - map simultaneousMapTapHoldHead; map::iterator itr; for( int t=0; tsecond++; - - if( tn.type == TapNote::tap || tn.type == TapNote::lift || tn.type == TapNote::hold_head ) - { - simultaneousMapTapHoldHead[r] = 1; - } if( tn.type == TapNote::hold_head ) { @@ -856,12 +850,12 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) } for( itr = simultaneousMapNoHold.begin(); itr != simultaneousMapNoHold.end(); itr ++ ) { + out.taps++; if( itr->second >= 2 ) { out.jumps ++; } } - out.taps = simultaneousMapTapHoldHead.size(); return out; } From 807c9333931ba42bcefb6113386d026eea11d130 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Mon, 11 Jul 2011 00:18:07 -0400 Subject: [PATCH 33/33] Revert back to how it was. Going to take the cheap route for now. --- src/NoteDataUtil.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/NoteDataUtil.cpp b/src/NoteDataUtil.cpp index 236c11f218..eff74fb0ae 100644 --- a/src/NoteDataUtil.cpp +++ b/src/NoteDataUtil.cpp @@ -786,6 +786,7 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) out.quads = 0; map simultaneousMap; map simultaneousMapNoHold; + map simultaneousMapTapHoldHead; map::iterator itr; for( int t=0; tsecond++; + + if( tn.type == TapNote::tap || tn.type == TapNote::lift || tn.type == TapNote::hold_head ) + { + simultaneousMapTapHoldHead[r] = 1; + } if( tn.type == TapNote::hold_head ) { @@ -850,12 +856,12 @@ RadarStats CalculateRadarStatsFast( const NoteData &in, RadarStats &out ) } for( itr = simultaneousMapNoHold.begin(); itr != simultaneousMapNoHold.end(); itr ++ ) { - out.taps++; if( itr->second >= 2 ) { out.jumps ++; } } + out.taps = simultaneousMapTapHoldHead.size(); return out; }