From 48ce8eca53eaf069ab8684d6583521e64336460f Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 28 Apr 2012 18:23:03 -0500 Subject: [PATCH 01/41] update libpng.lib for windows to latest; should hopefully fix any issues --- extern/libpng/lib/libpng.lib | Bin 324408 -> 1316138 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/extern/libpng/lib/libpng.lib b/extern/libpng/lib/libpng.lib index ae02dcbae5e890935c0fe053a62deb3777efdc94..f045af9d8e888e0bc086effffdb73f8bbe8b50e9 100644 GIT binary patch literal 1316138 zcmeEv37lm|Rrl@JJxgYio?%!M2GW@%9Ui2US<;i9Ny5B+-$*79Vx;Nmelz`&p6;fX zOeTP|0Rkxa0pbS=O2nurh=_o+q97uIAe+c8qI@Wd0`h^ZlJEboQ&qR>zW2K4^+*)H z%>4S@d#lblb?Vf1>QvRKi>{qmn4Et6wkwDHfBOy`7(F<8)!2bCKYXwL+<$2Fs)OqN zsoR1e_N5^B!o3gt{Wr@X_MEQ-9sj;_Z4mnr{_Fqz+k&%Sf{=s12fxk17 z!KSCbFnHka0U7+b)qyRqethu%%ip#gM}xM%?B&6>`}6MyQ^B_X0e{;+`ih{}zjMz& z82o?#_o-I}=l&4>&O1^G9{4*e85}t>o=%MK-B+q7tCd2%kvMYb$R){SBG3^BN~uyM z-^f)G&Dkk0=BjkDny*%?`NUH5jwL^;R;U(==~N+6%p{L`QKOk$x?D_W3yFP4uG)X( zs!=cYV5XF;mUG2SVsUAqIdRgDEL6(bN-3X9oNS()TR81SUY#!HlKB+4S)RRZcJ9<{ zB({-mlp5tq;`ZjkVr$NiO(helM!sIC<8ai?v3gHGBKS zOl!)ZEG|tf0l_JpR5nr1SJTx>u9UdBxd7rb&Dj%6(?>>cYo0zex8N5Tpc~apy;MOq z?_3|coJeQtnOdb-OBkxnJ0_dWsl_9sjanXAn7E^La>8e*nyA(C)k3A7O5CW+VRUlt zp7mMpW!QENu8&!>)zLPRWPr_|D^M5>riry7-tgFG>L+lhs_Wi+zU`H7k4 z5{i1XH9OV3!!||W6>GU_s#3v=5m9RvOwLS90$N0CbL--jb7_=&%@J)UW|NxR5HpiV zLA0r4)k#q02ZcJrEP83Wc;#fWmMdi(#17R!^XlT&YmHjAn9d}!C+C+=qe4&2o>-;? zM^W@M5Kaq~sCD!vh517RV~9Vs(4r6*)5!{JT)KE{`S@{F zE#}Zt7EeyN*oA66o6eTPe9kVPJVxNT<4B2_MYU(zEF2fHl*v`A=v>f9CZ<}mCs*(=?xs%c)UBq&|QLR^s<;0!3uN$461J_Jrc@cb*V^zAd6EjEHw}i;K zM6Q&oq>8D;(!xY*W}Q@BymGpbuatmjD^OcS(6x`E4l(nIR3@2Bmb0lueHmO*D!LaQ zJvH5$0l)JLbI7*h5+ zUoXx1!jru;3yC~9En#3=tK(C(H=S;TycQCrbS_iOqPz9$?b7wN8&HW`?E4TiIx#ap zJ%PIDqE@n{biGh1CS*`Kj>(KXs<&Fe zDBoOAg~+-$3pp>&yNK0HK3^*3D`Bmjn88Rrg{IoE=7zW^i%hbZtko(B+s&GR<>c}r zQaT1!_o3n+Ix>1S{wAkGdPO6PN#bU9Kk&8IC-EIA{Kst*pwl|-SCOQ&+hbOKt+ z0tBeqREwQghlU!aSWV;_*>bs%b-J)M>d+G4iy*O3ChOl5gLgGx&&m@DNz>@IiE##QM@W?n_woHD5mSh zda{i17aiWz6zdO~GKNr;hAE#V_Lwsh3nxOvR3clAjUximco zk|AOmV@k4|D-}wKqYKNklPEs+nl?>VUJSj&U;9*xS;Y?x*xk*Qaz$yCM}=g%aUS!jvXVy@m`^|47# zU{uGj<|Qf3JZ#m#EETJbQm%{!vnJ-ggGUabMp|ZpSE`5Z7JuhK(QC?*uF}WZ%JPh=CDGoV*Bx{?67i z-ghB$z5C6o<9<`j?)PNj`s(=c)*a0$FLW9ch_-<7sfneD_E2=s?SYsWEG)Uf$DueP zAu7R<;MU^w_`=*NH}piZnr!E4x_E<^_Z9{%7mF&G`^_QP{ho)`<$Ytgbib+Ed*6T` z_aPuo4*~;}_uV?-eNqU~ye(yYE~#R;NNjxW_nkIZs7_Ghbh+STak_O}XV|T23lsAw z&l#cNL|_8BG_FSMNYvt~iTREZs)xqtby5vyi)Q|vsw67aRIX91mJ>B}RIHQGJ6Itx zJgd6(MK@KQWG`PBi%QrZTwiF%`6u9aP6lh|}~c>$wWYm$ni8WX&9(}`-Pk}FV=eiHJgh6FW9J!Hlp zv=TM1r`{iq3YaO>F=NQ2vgl{D0yQy(0q4f~kmrfxY9^=JiKEo!5|w^w1nISsWOI=1!1nPp5@`S=o*)GpVX1QmJCCRLB$(PZUdpMdaw&T2Qkas!}REOtGFw6>_;k4IO!Xb_Tj(N1b3y zcwSs~^tF1TP|1`UX^ehHX;$(v+p=nt%%l=&%!$g$R6S9pb>et)Vrdz2fHJXw9ILt2 z#LUdxDe_Du!9~SPwNPom($RriNfUIAT#~8duXbc~|L8#sQmImUJ^ZTRAJ~7J zi=Rsr(l8Mvp`LJXlfkAndz^a71QMQYqH;hIV4utR_2$7jH(?hB()7|GX;W|ttW zL{X7Ccs_BubF384I20j0dJx?m`@-*W+XuCQI#KResBmYN7pKFtY3y7p({1q`a^3;P z&wd*~yA0YuItoJS5-o?zi{r;b?saQB&|44vN)8A)jxgi){616{1krZmhu2qZmQ+$IL>_3*AvB zn@ymHD3_{^l?X+QZgYb^+rg`eMjgh8YO)*kpfNE!Yg#J6LXZ<|(aQ^*CjxnKaa<;mg6~G6INIVOwP}7ybIm+rOm@{C z2H9Nk11)yOXsi6TTKqV8ouY|Lc#ycLdgX+koSW4(j)4?_hwDp(AdY6IKCQUSSCsEa zHdPhZwFEtQK3PlF8b!>j&8%1qkjiM~R>l-;oG@Ld3MFUGF0iLsQ>c#~Ff9G4ay^@b z{@~M{ZnjQL`^zs}cPXc8l{5_f7TS*7TA%W$W1!F1Yvo+ZF$_|Jhi2g0S0Y%2dZk{+ zoHId8(Qy)lyk3QaSb*NlZ(i zTWSrgUga8vhEku+gi>j-i|B!@F0|-z30r%)kq4JBTUvuBR6-h}PfVP|vd5_KXi~M> zL^_?QRMP2ONeO=uCg;{i92Q|xl8ss=N25`v1RZ45!Z5*XqFl?A%jpc)1=c}Csv#oO-ZCa64b1x2M_hIg z^C-kJlvp&6o1T2LmLW8pIb%~^XmY6t;+i-XHO!Xlsaz_Lr3j9E5xwx_+!Ulq1=vyw zxh*8p$pY#e7RlD<*3D)SbEs0WA||e`^5IMw?6`{&pZ!7rc%;CPnuS1VLqiAjGG0lfTGSw&NNh%7VPes zdNEhlQ2B)>Ee}yzg=!jeMc6BZmWGPbDiz9ASU2-(ro$1I<|h$?(xT>@3nyDk<0ml> zGBdbv;4fN(8!1(leLf>zsAuIwTDFK01DEv+%XAJ#L%}= z>Ehre%9ulpHEeux0)XRKE00E;R24T86VB_$r5%j38HA{mmj4xHH8k9j$^wrnQEyj8%dgPvr@pL_(0oO6 z!x7$?1r>}n3aT$_5;R|`I*mhP9QTVlH2e`VH2bM9j3*(7YF?#hzKr#xGj6(?5Z;S- za;n5J(?Vso)0RW2QXX4ou%4N|J`L3>oIn`$5jz7a4cJX;HKnb{-T`H;fPNfNh|-BN zy0lyp{gUmt=Vd1V+lkk)Krb!VvW--==IEuOPSDQm!@|5&LD!K>I%^(^qO!c*76s1d zQq@YiQV4fZs7e6khFd*6)i0Y!qYEq*u!rVGW6hIwN2>c+nuR68@dYCd00ChG~&^xX=uI6b!zsW7mkB`cLou838;ki0wGM?_Od zr(wk{mRxXY6&>@6aW@b0cHNSB<%&Va`URc3nnq4D9(6U^b!tbsL@8A)lwdM-nUReR z9hoT=()oN2dLqUVBY3x&M6!yFAGu0CopY&kaOlE&HI*r)%Ggck2vT-DbY!Mhsnyaj z-g~v6JN0@t)5xP1yVTiVcVPxAu=RAl=t;({5Rt4lxGIgki7s{O3LUBExr|*$pM=Fz zZog^H&MlvSEl790?Y(0j8w#?8YPRIe(yZ3oK{%K{mh*)|x&qZzHXxYJhSjH?KK6r@ zYSlV+P)4@&b*;yRM7dO{6f!j!6#Nv_3Vf#|>Q!upEMa?s9=#wMF1oj zQiX=IEkW9eUZrT;=9vOYwUW;ju|#4g2hvHcfs)B$M^ph@<)Q;x*WM6yqTVRv(@Dp0 zA&q8@WOBJ=E>m;u2+9z!7Df#y73j86#=7>5#Y8?^hSk9tL!}O`kxIUnQhV4!iOHa` z21*fobITaVLKJDGYoXMOnNk%?9cIq0m4>bZR54M?X3=|8VS|d`bnVW7Q%RLG$u`s0 z8jMxSsX`W;lG;+~+D{c>&aD-()k_vmV2PViW35@SYge#<-1WVrJ$2q&ZOMCCR2h21RW)rt0k%}Z2aZ^9;y9e`o|=nJ5aoS z8#t+QBZWol5J$95gQGZ%;H0s6DVOJ(pGn8ZQH(}#GT0?mY-IA?aJXq8%3G#bX(V%n zl(SH*R>iy5Gz|N-O1@ZwV%&u{Rf!_JWz*Q9T}8*-1xM|CjpAgJ*b18MDg#x&qd56o zx|oHXAzb)Y`4P)=r>O~6pRq4LnZib~F1#sKD3T8L6qT`syla^%jU|dx&zDQ}M%VID z{d*fuDW9&x5Z#40)%qehg-W5Jwj*}IQ9Wq{2fMzpce?;HUFZ6yI?)IYP76TTjjp^Y zRi+K6TCSC_IoPJ-x1UaBTFIu0l|s2|I*LLhom!?;&z8_n*>wE&qq?9dP7xE-Tp<(U z_`G$h*L7|#Lt_nb{B)Ey5lIJT`&_nIDs{tY??cLo9Jah*t8vz!F)Ab9u?gr~o#t!Y z9)Y%ytIG}>WBhci=E~&mFAzW%$W)=G)uG^UUrr~i<%Rhc1v_mri3U-pF?wbYV=Es0qs-HC7)v|1`tuT^mt$Vtte zXmvx&rZKDFh;9>eRiURsPy^OS<>=(0mK)Vtxh&;*avmpcz+ZG~hUIdc zLUYk-$#esIyS>)y)j72yuUEEQM3}K)CV?4deO9S}gs5D(04C3Pg@d)WaGAAnaL(!T zA#PE+>B%l`8Y4ooo~|X-k*(#~MVQ5vjRpp{6Y6}6(F3{m5n^Vr{k>4b2@1#JCAKuX zT?E}0_dcpKPcC99S*kTKS+Lro%+<|e@Bvl~t**Ko`LgIxORzj*88ghMQc7ec2$R#v zW$5>6QrmPE6@ggG!T<@|rd4W9cdVDnlm=={H6gEAEJdd?=|&EgI+{VX-lGhM9jbzh zh*NjTT%(%w2O7OA4ogaE$Nb6VNthDAONfc1JJ|YODM37T@mq#Z-BP$U%^pp0@$z65 z>o7RPr?$6o8!<{?4zi*^+e$M;#fhj!4ac!?y2&$f7#XpDn6f5NXJZ;p#+9oLoQ8oV zIHgzR9Mfu>gu*0o7^a5waC)NFtiYxbX391sUHf-Z_tHA z4J)VhimBu&_M8L`faPF2v*w=)&2`XKxRaEW+lVE8zeHP7=BnAXhx$itEvv zTuhh`vD*~~E7!*ayDlcS8&>L2*UkXb+a!RAH5UJ}*kz0M)oD%I*pL>`8_OQJgUlqm)=9I#9()roK&%BC9d$P{iga97fx`wX+rge;S@^N`a=TkbS`QgCp{n^ z$Gjr;II}r~rxld~%l$hcB9zt!_7U-vWW${C5&7uTl_$-#M$RmTnAHT=go>D(c5BhH zVO6(l7ZIm@V5Q*sT-)P$8juKQ&WuALDrTBs7YAB6+UgO*wfmaAH%Bm}DDB=wZPdyI zG|gh-dhU%@GXUw6CuY$T96Ps zSsaEwWE165QKpEw3p#{#v)YCVt4XeytRqz`V8F-`?`Y>4CJDtWNy{|s>LH$|bxXm_ zHcw#C4LeLu7K_zP4GTXGqSLht4U`x6E}RN$da>(Dt_Y*!sB7ked`J2Mev&p7dWnE~dAlMOhqFT_v~=E##$C7a`%WC(-_uzN0a z0JRklg6gjqK#_U@ELbmqQ%Ns?CFuu1UH1YwL-PXI;rRh}PlD!@(=!i(jnNN4X8ZuV zqd?OLPY{^^dxXdY*fT^rK(DEIbg8UJfZ8h|Rb?85ZT7sXVA-}FRu~<~DiR5V8t;%( z2U`?`S+GWblETUWMo`%mt@LQUv&yqaV23DX`q(>G#ONNL8OFFt6b}^60HCvAO5iw5 z(1()M{<{cpwo!pK6Fv@jrhz*tj)g7`JW%XH|A5e`$}WG8r&Kran2-UR;xld>naKqvJHO5m*&Quc^K6FTq9ph zVWF3D#Aa;_=(9`eSocB`CtTEQ4rRp=EldwaDY$!pT3a`0O>}uvP1(!L0dsjaWHrRY z!h90Fd#xZFw2+)(NfpR(aZrKLg#{F%!Pt$REie#c@YIK}rdl{$4-X{H%A#6{9HkeK zbcotW6tdX0m}|hcZaa1>PQ4*7WWpk1>wi51Q%5<6O@#BZ%|gjh&XVI$(L4_xp~u$8 z#zIW&m#x(DIP!xnbaPlUYM}(UM8N|#S}8z%rDmW`+=sI_Y?RGZ8d)4fFDBr{1qFhc z(;O8ErS36JZc5OV0!PA+g}N6kc&OyrBJ?0{1F@>oY7{xP+?tshw{t)2T~}^Eq@ANA zCa34Zjr<(fVO+G4Zt;eJO3jUY+A#qnMGtOENik^A$PsHL3c-e%N@xR2|7ADvv+D3X z1xBIhAxRw`-NbJ&IvkNy7}oHhPe>}E5lJ^1uxZ&*jvbIw@;zolmuI~*ov?<4r#jj9 z3CA7N@i{=Q%()i!Y^tJ+vlEo0{IKYrwy={5p~J8!G?fPFB0^{>w&=GlSSGJaR+Zhp z@%`ghIg((!Q^fW&nsi&i6H?bouR<`~uMrGUB2(MotVI2tfzfhPNMT@<9aE-ZzU4HF z(Q$|_Am`O*^5RvmPM~JW+7@G$&Ni0uYub{HwBC}LT zedb5yo;{wh8~L>I!Koj^P#QLV=*L-{wiFiwVtq7LDR1n_M1b zd#p5VWg~BI8g)3w!w!ZTR^n;YQUF4|-JccCjnmnlmn@EdS8J&2*lZHn%Vyc^k}{6} z7qY0du;oWEl~$;7*clZkwyL=-dX9WK(ZKO|-O<=SMmf7uZbZ}s%2syZHHulRQlouo zE4R#7WG`_W!yzILUZru6AA;&)#8sv{lVpg8UE#?LHtrR&N~_mRP>!rF-qwQ01FEo0 z*lm#^6{Pm+V>$wx9@Jg9WXPn`aGu1;#~SIiW^sr~jeoQ>IJC#@DNuvW zI^lRXF~KY#q2Pu<-GBzsA)MLugBRy;%-y46ng@?-`<9q_9O)jXX64#nY@kD%aOl)$ z^l1#8B15O?SH^ZL3ReY%T|pRTyATy*^5=)DPJ^;>(okW_RuB!e^M6GV-2l%Mwlis} z5ZvAg1w~QeNX|pE0yPqFW@V-zL+u0}9dKqVS5B6~MYgKrhEtV2Yv0_Yq@?@q4&Au~ zMSF4=(0Cm1A&+BrF0}bJt`ApB2x}cwps=>d=^BZYcOOBAotjv14#kr~m}MBtVcE~+ zlV!dAy!}`%PK9H~cCmt$GBNbJr*Um_V0Rv}8QRatbZ9(NUzmd^cb6e}XiOsjzrrI+ zZiuTb+i>T|k_y8>jC0?50Fw|{tD7-5%_0U=I&Xk#U%(7(HwsWuf(mlsmDc4)HUQfI<5c{V~-8$Vo` z9K+P_7@s?SoSi78Zagv&KN1lYh>bqknp~Khbwq1pq)6SQx)$;s<4#nhm```(FcJ~v z&_=g$Xk(%ro_5*rtDzSq9O?=1zHGKyO6IT)?8re+D?Egg1j$koYd~<1+r+>H4ad_O zQwbb|sh7)`kQuX_XsHL38&x<5^}w zN6E~P4(7{wY;!MH6RI#Pd-2aJ&x7z_na0`cI$es79=U3tAC0q*)oi0yO}oA`WQNr~ z?ZFyq7Kzp2h76Nb8u;O&Qq>H-zUZY4M;p~z1DbV}io9NfkOf7xbRoNQyt;>TAvkWI zPl4MA#xb>C+5rV~z9d|q!vGLPkyT5*3CK$ZS{jV_sNv2D1Yu0Cadb!ryJxeRDzzD7 zq1Ij)tWz;ss3TkB%L(`n#d3;ru3%PS97ot}7fRS3dvF^`lYbt&2|_8j9;G{@Ve@P@ znXMFHToAj2-mXsbge-S=!^5tkd>RKn!{n4Yz=;xFt;oc%?bIwRgVk(3m#Sd1jU=e` zJLPI(trTn6rc=&h{jJiy$KYy5v?s$1ub#!cyY5(tG^aM{juM6A*gDqcvY1ldXpYtz zYZQ7}<%6}eaOjMoRL5B*XTQUlVK#7>2K7IQG`$rVsV2I?=nffM6MYxx*=nJLox+Yy z5-SD9U=-!pPD#1b6h3+LI794O5%qQsHEmW4^z34k>JVb4;q=ldWe2C;3*~qZDJFP)Fqy%K7^&!; zQNuKGETjepDGit;u)AKbiCLSm?U0pI=PIw1gZI1;8{37k6%y!`P(+;EDUX7B6p_YB zA%`2bVA6mUgwBWH(onZxW1^&+Vwz&6|e9S7Tw1PQ#Fvtil4n7NT^}P=UiFvGFon!BG(O zK+taCQ64!HFr`n>;4`b%9%)d;Vy4Bcq7GDG@~Pn5iIKuO#e(ffFG!PaHqBFmoer;XvGtt=s2rzjONb z3O-wRwvOG1u=>pDr)i7O!K)xq+7_m)VK;0pddbcSfN~D!zD7Ton1oaL#c|ELr{+v7 zPPSUo>YRD58>$r>y|7BRP2*}v(~6efP~4;?NCzpu!r^>fZ|vcu+etz~kI#GD*gzO9 zph+5foI{$ah%tlfIPJfYE33yR_wCz%K!?NfqD{)$t)qlfSwU{mIP|x6%cxfJ+m70pKs*~W| zaat<5^;9GMzC_;1k_>vjrE_fG{{8xv&K*Gz-1~(f_{wu)!L{Fs1#kO&e=vB#K=8qr z4+JlK`ljIVuig?I-LWmWJi9HJ`oXr~6(8Lm96bNr;8mYGH>eyrFZfa{2nK^b=l>48 z^RF-1qGGn{w{5}ZK;E|m+W@f@@e;NLU)vPy7KHKtHvDZ4wreUT#Kf-s+^i_~+ z`cxPp7{)L1CNL&teleV!8OmGnP7YbFCd|Z!u%t(9QX<@T{1J-0Glcboc_fU;z~sJP z!EIAKlQ&9+0Yd&ux&w*> z@+5pQh4a?Qj1dA-WC!)MUhx=(H$qte-2H@B`EuyyU7J>FNBIkT<6JzZ?qi>I<4&9lAj zgF176yFF}m2567h_WjVjvGuakt2aw$PrJE$atYVdezP8&Aj84YnQki2z+J@|`=#sA z>Wi}|XTC?S=f#E|FM#}!^{Cgw*1?|K@Ac#dsh)N*nL|lfx_rRJVj_D#xmeuD zMxUM!glz1X)C1lhONsx{-XD8D##T!FxOt51ea~A7$Lo9dGMUc67fA)zMd~A3`ukHgq^Rh1=#ga3k6V zcSBY-b~Ers-EC~xbLmF+Y;NcP;)ZXRyPy55ZshvP6t2D8s9)9%U7dITx^vyw9^Go< z$Jh;Qt%mD@D)m&jJJQ=gs(jnv*g-bA&mV2DadZO?WKq91bXj8RZ1zdRa11Ak@DLtO zYM0X7 zut%oU*=%0l=y`GYVJKy4xHk`{K3nG0$8F8ir{f0QtYm zvow7AHsI{E?B>~=PO#T`)5oql;@~ljEegea8mrv&MPZJngg(gR&U$)%R&F%x&S@Mm zxZlqvVB38yS4~wa&JiEyI7FoJxU8Oy-|Y?hBRM;d-MMtVgyTX^kvOM?OeIX}TIl8! z4&rb;{{Hm!z0n(h;XdU@%}e-3PsVK2y*Td4-q4wv`~Pxf?5V+xb-3HCq%M9}UToCK zuR~_?uebNh>Tg(Mfq4IV6@h<748HIr6Sghs%5g9RNA}@xhZiy$jVfgHEY2xy*hl!O z`ZD5iEbS26y#yK?e}I@tW#O4d`$U|W0{D$^(_%(2eS?zn-{~C3+USMe8$CGoqvd)( zua^Db!rF-S6z;BL#fEDEbws!rJKF( z*unjxi&)C!s_=|fg3)hcN}O52n;@M(;#d|Af}?1~X*N|s7ja|0el~nLI}qy)+@ptc z^!oUTc2CJn;f#rhNNE?dbf|_?-Y&Nrz1ZOX_i(zwJLorl149nCTjQp!1l$?6X4a_z zp-6Ly4d2|5gP*8Ep1umg>e{BWYj1Guh}=XgxC_2o#H9vdN$YlEy)mLMn>*2(L=|um zH|97tpGZMD!YNKAS@cwN)VNan`^31DLoR z7uQ>vZdQ$6jS0-OIt^fMqV;4Fw}#|7OD|dq@xSFVmV6riz@Zn|prtsEiSn%yj|k>JCf{LUG24LZju{4ZjXcd8@@QESWee6HF%^j zHApq+Bu<=aZFWXkt&C3Uvil=*=L~Lp$mH{-Qoa%@KNB@Bho4s<^(P zn9r1P*RePwca;m}J;CS|i;Ixjfsor;0+(jt&Pe2-ZZ3^7?$0}1*5x#@v${}fBd&MV zZFC#HhbmQoZ{ZrWi~20Dvhd7RW|e151{YjC5en!mZm(^ELY&47!K!cimpj!x&`01n4+9S$BC;X zTs%0WEfpG2uaiqlO&I4yF;zZzj0H%18Xs$(c3k5CAzLUU;inol3vpqqF9DN&-Bd(V zm%=1BdRGZj+~CDvz}%P*cOW)kuRtH<=)g5oDBQi3{Y_)1g>^P_Xn4e@S~{|JX?p=O@ot5%e1(nK8HmM z#99hl3E(k*jjC@f39e{i?cd-vMjLiyb{6*^!6{uKT~1e$DRCyR%opn71XwR7Pz7h3 zn2Dk*LffH@A(T*$Ug-771zb~@tykgA6X}Ic*QoEoZsAs??(2d@yh_p87TrLY&5mnq_-=MPD*%O{;oeI?iV3vy2Mkxn1 zVQtKP2agn$ zx}(D^;nGQKrV)i^j%HWolwTad(bPBVwv)5F>2j@mjdZ2}(#X|nbzJJKJr%N@-sJ5( zgmI~shgVSS=W}3gj=-$zS0CH2vw2jnyi4WD5h~?!GL37A&234_Td@a%oz5^`R&oEQ zCX-Swc6~Z)-pi(Qj(xXz+z`~jeQ~^IeN^c9IbZWC086J)hata;tCXK4YnIvY_9z3h zA;*mx85=PR`5Z3lEon}lr0z8x^|M?Q zYIe{j%Jpw=wKOY@R1PMaf~IMvlTMxbF?EgE=BK=ivrHX~JND!nHa#g6CxjTYCzogF zwbJ@O^sWNw!KSF?xNFE1mS?w_q7SPq2t;PYT)R8^NfA2ck$Dy?t$<; zokLsq?~~z;^38=M@zbbpEm=CLnQ-H{JUOmCV;ZD(2cSJ%6RfXUY4i2jesz}SM!buv zfkZQ^9ax^}g)JIR^fw{lk#-~OB`WT zU})~N+-`VAK2eRcR7W5_DL01(*cY4$bu+GM%#9yAVcfOy>JZjY-EyG%!WwKYioi9N z|C6rwY^myOGvVEu$q!!9X=DAHAI&YEn7Vhm3sgLOTU;e}m`4A{ToLNr2#TDbpj-1O z8Fg)rW!lUAT6ca7+{N-JEmWBe0R9*MK zxC>^=yG0^waxjFS;e`^)^{l$?BH~V1KII}zN&AQFU^w*H%u6mFxM3-BIa8bW<;mp* z8vf81!MCo9iyRVByuqL7f*+aSiVTjznR zPkEgOR0}N`UZtug0hCQNOm&peK-`(&1@(0GsdT-fSqPQL%u+trxj$N~JT?~!DSDx* z3RK#OlMpMj^XcC--SJ*lMaEAFUwTMUkyaq`B^ON_0jscZ{D`FAc71htt%c#zTzhfm z*Ianl$nln3HCk$XbtA1BF83XjB*GA*o6$TNYV`aHdscp7-{QD4Gg3h_^V1XK+(oU4 z63m9Vm$wi)?10smJrf$@9xQ@k4mx3Z<=K1^x`*ZUZ-r4GgL}?SRElg}(xN;Sf za_(Ld!$HWZRO!hHSQo+zDpe}VaHYF7dxfit3HK6Z-m}C}CNb9>@BRBVyjyjFZ*&Y8WEPe8jz?uzANk);zVZFzSB=92Hx{C}rVGMLbNAx0QxYgEtiWaA1+al?3pf_Jp z1T}LG)0T;}GnH3(%n8kiCys@Xp~^szP+w4AcIKmoU@TRKc)FT-0kmyKTAY}O(Bx)y zheo=$HJkJ15*|EsPB{7WHM-74?M{>hbN{r33`K`CyceO2(bN zsQ%IAz_(_ROdE*lXP1^2J?2%oqv5+`!?>_B_To<*BcH63q2%4!RHVqmF@P+Fiktef zTATTbRx0-vUIk;-I`w6BI`bu0Fr!^Xx;9x0usu0BnQk4|dZC>WmEHTR7j+L zg+?|-2L{Jz4Ga}aLWFk#n=i^ULX;!ddROEk{XGm@s|P;)4zZ_HxOPxBSv}XRHSk-amV$7tN|!o^T#&q59iS z`t-M*^T~Ipn8c6VF}>C<@PEP8jd;g9gaHs+s^9rH(iam*$6A12H+ib;?mSn0wpdS zE95&IE%dh?FZ8z=<>b@q)b>-i2l)=WRQ>H-T&_cGr>Vbfx2eC)L`8r4in#=avt|8V ztY%$#guR-?htuLSxfL#QE!@5X2SyK$UNv@LOkMqEfA;FPtM(nzZ%^HJeG|u=7n?(s z*0F_&h10iSrgCa|sWo%O+_77OPLXWxT_ah^yGFL=x<#ojq+29mG?wq8lDeh25f*X4@@Ng>Spk6r3(KTfSG@qE#>Z_U=7+@ZiwUzP$&p zJ~+ytr)~>^`|j%tDt&J`{i^!d4}SmLU;otWs;__L$KSeV_=b1=+dX~3gU{U(Fz$V? z?hAI}hCu$iVhYp4rQ4hG6$E9xT;6BC^mE(J;EKuC%q7Q9*oaT!?NkIV5$sGTxDzuL z?k&SXP{(b8?mr9Hnzh0AZV!TixcyWw7Or`Rjd<6VzTmZ2*-syC@wAQj^r0ZQ^;(}n zOK<9!g?ld2%-r4%2Z4@IEx=~wg~NN&hi_@nJU(%9D2I^6TdFipF3ufa8hT=D5gR~< zZdh8LYR#cIuGo9a6Vta~E5R+3`>&Xqnb|Y63yF=;PsdbiCKx#$WDegl)x7j65m03O_dmBlQ#bJGMU<$rcb*Jqp+x@OL^G z$<4JTRdpAd^K%PJhoNg@ zXMXUYyZiUuy1(z0Z-w;s_Xns_D|5H^ef`oPc*GOWTe3;2Aj`hA@Gy_~(IutJS=mR}XPE3C_oKZocQ@)C$!?F`dGJSeWyibRsza>ENW!=)xn#?Sm!dx9XH* zzZaHDx&Uv+Jsnn76fYBs2OcE(-|A3IozX38ipox*^32PG$~K3}nQT{6GE=??0qpQ z*}KpodUYCScuI|OC7~66hnKB__Mr;}?IH*5V5Wovx9|y;zzm8z0K*(?5v-5sdUCOg z)$!6l#bN~OQU|Ncb$<#i!s25bG;TdV!+Ycusa?YNw=~~zhg7=v^Ky#htF2*o8Ww)Z#`;q|dsry7dnu#jwOlJ9d#Zpb;KqBKb&q#l04B?^avJ$eOHBrg&^e_Pj>Pq`#}^@XMgUMvJ(rwM+>C)k_+ zuucU3&LN1?V?8=cRTLjBEdGaP@$Vgq>0X^kb`s*l-sB9aJv+-%6eE4Z`3}VmoXJrn z$0XN3rEBDMF3FzH)G3PlgyJ`~9FI8^F~+5P^CY4uMh3WNx)gi$7NZD8RFk_Mf;?^3 z>cS-hq1XEGmD-^%3<@hr$#h#DEb>i{Q9E$MX+?%&(MetF=;;Hkc zhm8HcQ^R{cB&#T1DHJzrF>ZG#Zs25;BAF19dEJda#3$M7k*Q83AL)>UvfQ&bAw@G% zCm-X|?A6__A{gnz_c;V1%3hCcb;|c4pJcCR$U2d%I3&|>m)+Cxbw%(BDehP68Z_+? zOl1>|Y6d=XbLoWgGir}N8y7F3p8F6X6C|W+&pBkErS$5MO>q{{Ql9RR+?d~MMfE~q z^ewuZ_$h~K8vgit@~fu^Ms$>Cy9Bdv&)t)&Mny3)Y`xf}*t0heMe%Wx>AQ3xzto|K zLOzq5WEGi6A-~Ka10Oz^XZPv=NKuUob060w@@1DQJeT(9^HhBnB6n9xfkSTQl6w_>~oBaei!aOL;#cI))czP^XOzCY+2ycgCZ z2g}>jb=MZe0p)XOb$FzZot5*z+|k0${(;0$YzHYQGC4)-u$#V6lC?F%$N894g2rWA z@bmK^l$zez-$xGm29xc$Y8ftq`uwdx{SHtM05#^MooUDC8l6Gc68ML6fPNAZ8-WC3 zi6Je74@QIlGb?sG=%qx^5HakR;&~7(<}2?2jq3_K2R0=y=*wKtckgb=25pFRa6MtOm63El`8XueWX*ad z#M+NC?N{maQ7C=1fW!uGMh$n`iP};YK`8Idx~@ukE(#uznzDloqZtJkIJq1 z=2S5@cw2-37xfJRT}@sJv92845d=f*XQXy7`)JORw?TfWNb%MifP4(dm!MB$6BYd5 z^zrG9(k81hZ$1jl_W<)sVD_VKDojpCV}oz<(bZbIN%+em#h0FWG z;%-nH_yo|Ug|p`Nv5NI^RvP0>GRC=IjMKH);2-$us4d(!@p})#&k)jy zZANWF53;zsuQaqdOlR;J5lXno$7c8|!g2p3hVW{0F)cQ_=(8C`d1e2sC1&jJo8j>>Q93(bK*{c>VM@!A&=euK@RG;*C zDZQD~AoWp@T6sMi$KdR47Tp_mZ~1J!@0+#{8~zRR50eys@!3f1yJ(ur7%RYhOlk|#b85?%eL8AugQ4?aUGMG&ozJjK z{VSHzIfhcdp+sJym3;8qK4JRiw+!wS!Y}z*GWbaRJPsn+ye)abfMPKQ5r4KGBbU+* zg>8o_a%^zh?|6Nx+Jj=4J|rdg2QLNLe|l69q>=dn5X=t6q+UXWiw!=~r=WJN7z#1r z?g=jgh37vSKNo_#t(vSeXk|q-zMSL^X&~P ziH1qS9@mAwtj|1~L^4uMe(euH|5vdBzLLh!+aLQl2yFf&ezpw0#88nI=I+!oL_RGe z&-s52{7+$D!pfVsL6&`wdkZ)ln%O2@cRNKMs+QMEYSdrq01!Vq`Bb-yHbEU1>$;6R;M^r$&I1-6N zi9>1;dSJ^6c=!ioh>PPCgF{3W{szdfOdK+&eL7aIEgnCaJJpRD7OG3d&C;3DU_EhY zY>W}sGl$4V_+XQ8NOa;ug{>tIwkU^2I~(g#U~_aRbS#&3iLg1lM0)09ptW0uP36Qg zxVwK~AXwoRjh|BL?vKI#d(|ACZ}mq`=6*<;=rs>)W?(PG70E|mY)XEj$o$3I-;$sM% z>9uT(16154*2&vF%v(kP7KPCe7nFZmvOVSIp`HC*7X@(9K|e3xU0C{PY6q#o~d|oOR$7q%McZeJrm{7ww=oC37rgf_T78KJ=3q;`!lzF>%p1d zs5LHq#NwEYgItC7?MY=-<5Wiv3rN;**Ar zpnnrh2l%3e17B()yCtBhBj|syK6f)jW5$rQpDh6`AVL3SDop&+4lT_Mg?BFunMOCa zF!UHurm-aG-x(j$TWN-*-fRhIKnePH#6g*xWo$TYDk>biROc2>+i;p$6d}D$$VSlg z67)YtUoAAGo$G_8A?)2BdW=$caIcWS$H5Y9D?$HO%@6`;X9@bZ2qXBW$pzoS0KRE` z0fJ5#0kp&f{kwi*c20zI5=Tg}Z~P|_Mf*(9e|bbcs-iohIXslu_n5@~IGzW9M0-xq ze~HNgJhraEKCLuC|Lz;*K))r5PHu?%G(i~@sUija+Z7u|;I@F+g9W4!C+NSlGoW@*G-aV_?SYUxLt8E$r_S0~BwB}p{);*zftRF(qzNhL zzt}*k%s|e#iAyAGFY|#wXlZg_U3sd~aA9eX3i=;y=!zEHPLd`ohf%Aqw?on-g?eKM zirx#PmDDna8GZA(DYRnR|X98L~t&!cR46Wm7Kdh=CvZ3k8^^Z=X1~X`sT=Ri_ZdQ?@B-7mt>rpx=5H9hwkl z&_jFgP=f?5YUp%Poz(4d;D^@- zqGhVv1BZBdphK0WH*_}ovcYwLX`&1I9|!GXVL~-7}xC~XO7IB}_T;Dv@B zL#2%Zs6s9@D7jSHdD&6FaAjcUJwbhF~n7dj<|81HS;WXOn>}GVs_7awD&>yyu2riFX!iaM@kbHkMXifL5UD zzm4p(kqtj0W+Q5TM8A#5`w;^+;ygcMla1KsM{Kqc7x)odY=mIc`%0_K+TH0-?N`nD z^|2th?C$h8+2ogY?MI2AN!RLq^fKeOBCf{GGNPN$p)$N2w48CI;%P{&GD&WTHJ)^+hE1CSeDS~VOs9|$~9n9 zx2$&J;aQfN;=vPHN;9zX(`cP2WF_gdDC8Baz6L1h!{`rw2l5yIy#yYBJkZlOg0I&gl%#ey%(1pK>*IGa|q@=_6S5(0i3XpOv;KX1m57BJR< zgH?XJ4e9OpuJ^6{0^$z;p}fBw?{S8&l7dK@t!`-SPZ&tr$Oy$1T%v-2{|cs!=P%+J zX$=NJ<=#+4?olBPGodW7nj1vwb5HoM2L920FmexG;^Y@qSLN$$s_w6Y7^-dtl6?nA zYI*(!LXpyI@mOWBE7o`8`|zLQ2LNv%D-3X;q8-%AT>vsI?oD|2JD`v}5HB%Z#a`1V zy$i%4L+QI#-c0o9fRkF5K0$**_=aXE{I>uR;!|?14u44A-;4J+!&ga5RlU?Q4s+jk-z8&zEg-Q+MgB2pwnHia;s??@MO zKj{>{WKtM@=tY0b@nHpv)P4rGU&lLwzKMsD)bQ9I z$;Z`b1qUG1u^T~jnCo%K0Xi42>^=`PWbYeW_X3E3el%;s8quFzJDN>+4eSrE8Qodx z{{b8+`fnpcR_fnE@ZqnEK)#Fj_;=*}dw7R%{*zb~Z*Rh3XSoLd?Bv&o=2)>t^gGv% ze*2oyorUuQ;D~Uzz-om<4b%t+yPbmg_eD4`F-1louEhG4B<%b90ey6nqBG3ucrB_H z39-8NT}OHIEp{ENWhJi50!~eWxT?v1<^BPHP%fJh?N>P4mzb(=6pXC^J$xU~;u`lH z1h6e^!*e*m8kX0*wj&ggJo$jfpn)0YR)s$X=h!cXW8%=^Q!+jF{ zwXJCN(rkBhp|r~Gh|Q}fY7YW6)9kP5M`GZ07s8mY2jdyvB4H2dlIk#*yL(FUp`dhl zK&U>PDV!tkkLZ>H*UfuM;e02BM>2)&lEUt8DR2e8rxYILq;MfqI8Ra->Xri6@_S0* zA}57Cct5&X$!wTKbS-K*6J&M!?sY66zJ32XW|MC}xQ-&N#I=yA`TA;}u2fD>4Bo`x zv2rOB+Z1O#M->?6*8pDPc!_gp?9y16?tnINtUQ)joKMg-)!`jrCay>05d`?Wa5IBQ z#*7M@mpJi2;|das#lJ*`&PJOX1s!N}+&!8bc@TcJHgOQ)tNdO|n;3hjFmpADfT=M& zhaZNp;mh4I+a=SvgFM_lHHz?i57(`nzOYuA00J3-dE~=|h3hm6kH-_79FYetQwIK; z3j{KyA=7xqA1z@SybnJD@59^_Vms(8f)77ZK=K41lJ|lI=avx*UUb0A1m7dz6${QC zB^JEufY%9riGVjOI5(VF@FzIn*W(?1K3N-PwpjOxO__Z6I%bM*-@lFw@a+fJk@HGi z=jA9<;AS&X%UjszXQV_`gBZ}NoR{JAfsPvZ_Ivth(ptHZ1h}tF2poYOa+Tt<9W6<~ zs0IBdg83w1`t|C?GN8WZqP=&gzqWO37-W#bO-z9#*8;Y(c`~36Uk2#7M!(sh4|9)> zz{Lpw(zh^fJ?8s6G5-``g1|TlY(mSE+}{fE4RgPbYOqd*E$h1N0`;jtRXxW9UgE5~ zsz;c_*Wt(FE3RAA6q9&^I|=39AeBIrYMgi=-6ZK){2}~0n;zjApo1QP=L>Qp*Wh>L z5Pz=b&nSNm;79io&jc)zeik091id@GdT$@geydWj_y*z2jB%Iu(1G3vwJgkwIzEV;h#!m$*- zK;e0aVc+)rHcC3hRSJa_|8h=Q$)Y6v0wU;SltnQKx`!VxRDTAMs^njYmpGGhQ}4fc zEGuv?LNrtVIXv-ru{>UaN3{KF=DlXioT!F8oC7(h{l1h0A~iTKAomP8z^g24e=f_T zri$}l!%LiO4s$*#P2v6M2$(3EKFpKt$iE338%)4wc%`9?C8kJzI||F8WA$2B-1n#& zanDwk^y{MF$`&f*4I@lZnY2_eXT>J5*SBFmN4g~>=wZLn1f#dQXDd4vmHO`jKVE_` zz{wl&&N6!wp2J5dpj~=2{2MJE6a^-9F5S+<;+x48DFB?jW4NnI8gJ2Q`~e|cLO8mj zW;eP!mF6%sRu{ClktNr*wHB`QHimfEhy5Xl9BzPMTvPp{DAnO7AhsiVoOqDU+kv9` z!FS*#&P@57JYRD0O-z4N%ZIKPq;~?Af_)dBow^%NmHlw(VHke#*bPGD&oq&D;|W^t z!DIL+)A#zX5YcpBf6(OLR>!{J?I z*&%@>e9qV%d>j}@H{<0KcsYCv5{zrUP75@x?ZYg_=j-C~6(+!j}l-v242+KbWf>Z9~I9w_*1-H2e$jRaf_~c!{$s zJK7&Fzlu;|f~W8I3F700nPcxp3^br14Fi z#oW4(B6T8Mm46Zt-#$led|7;Yh|8=~n`?`uo6 zmmV1>`XVW~U61LJZxa^#08G)x@Wf*PkKvg%7F`0iN8TbRTjg;M9)7-lcs=rVN%CAg zBF&f5^?PJyrl%fx5LEph*&)%fN8SO9qgx=o2jS)L(~w|XOLrFn5dL6!JOq#XMMQD( zfOH><1l3US2)x8~r95Alxu6>}|2;kOZsF=tctncSYpY&Ac0c#X7q&^PLyx?NKpxAz z^vD;tVfWS}UjlqJ1Ye4mIJ+{{KM&*U@Exp|>o9XQtxJF-D{*Jp4Q#;X&eO*L0i%kVwV#bqw2S{EpnkpB4OQQ_2xQfTa{3tBgZ$ET$A~ zW}MF{B_XC2idl6|K_UqD2$)Gqg?k0dkiJV46!KF;TFe(OTfpN+Jp3fW zN;URE;q!@r8UEQeUfi)5X~;GL&erV*_C}g|`6SRd{36hZYoa$Bx;uShxr+f4KXqhE|@a@4m9!82}EY$I1^(MoJjT^#19+Y35Hr09;QR55ekbolZ%r&0BSbye9fIJVAT0ciM)eyLo?Q z33P^EjwJj{t;wj``(pO|s&e@}E0|H3mkmiqU1(C}$JTRJnH1h)DsD5nNSQm`-dlFa zfg$B(=M?BDCF>5n#3?#80-wg$;a|d6To=)u2w)LC9Zx)-iHGf|RE|2gL6aFT&7T7D z@GB|8bz1Q{a(kAc(@Acm-$8CGXTZ1;md5uO|7jp&wUKgx4DR9=R~w&$m&3n8VX-4Y zz;h9R$K7~%+Qsmz5sywDOPMC;_~KG#oajJ#9%*td@@Mf9XIDP_eEcwjFzKM^58s2& z_^-MVGM|n!VwJ!E^Xq2V;P#BY1^^)cLXc;1z6eh|ehv?RyfXZ$vh_xW&`9BRd2RzR zYyep-AjUe-addkz6Zecry%WaF#&E19id?+}gpc+grm*5V-#?EaUpV2!R|$D&>|T-3 z%g&rDq}Vb2mxDx{k(r~{|xOYp~oAD0Rx5(qI@_3s({t%B<@?%%)k6=KyM@;(E*^|S6Dumt+ z;P{`*`yUJbpWxy5An!puM2sH9kPQV+f1O7M6uDtC%++VoW7X=rj_mR+X5R+v+gAIw zQ@vHm&{-yBuLA)Dgu6e(NeF$MJLlX88yd&tN^7w0c zd<+jO-uA?$)PVIjfIIvFA@m8n$3HCZpTxVL-;W@oTYf(UXp|c143krq8VNDszU#;* z-(vP{z`ku&Zb!qYr0j<2r$Uyo3ILJT}Q=vpncA7;)#|;kTBXK*^fxRnE4L{VkI7pk_P>b>>XX zxNz`G!Rj8G=&=hAeU9i(&}M;(t8fknS~Q6Z4}BJ2aYe!jhsYQXcDI3DiflWczR3O# z0Nq4(E}==!6WMtPRU+Gom$**gL3m%~Fcp^8=ketR!EVJMaIp)(aX5B^bY@M9KU=iYVop%FKUB-hK1K{!Gqt^2LFFB$5NGSm1+Uzvt~+qaU1BDEGX3o2lUc5 zP;O)suC;F93(XEw_KfF%$L4Sw!Ee~Kz0$JjSVAo9trwfjC^g(qJA#5uyF}^VHqaB! z0Fkz+`DXvNbSgZu^q4l*X(kZ~d#qc*)8u4?9&f|u)KZ|F-0-SyX|kk!MH{TH5*8NnaZiS>TuBTPVZ>HWv~|t!3VyE(bq=9A zwW@tC)HXtOs_Xk*sO^O6)PfGUQ0Ee=Q@cD!DE}xB%|hqd?4lFmi60!tx;|4VDg&k| zFGT5mxQ9T+uZ%n`h`RB;U+o*Fhr#`KXa4*Ss^5p(AYUbr-v=Z;6$0`lrwMsY8{|C# z`Hmr*6gE4^_OoZJ?LODFp&T~Vgth6=w@^x;{CI$|*FAzK9*H(A+x2;kum8eB-vI%e zI2+1}S6!7Qiosj=jC~uRal#{oWLpZBF9mHXY8r5dze_}712MBUB79=&WA$-j0U-+n zH3;PK5@&urcIUlOw{QEQ?+ID~(3D8AdwQNIprd_XFiUM1_7n)SW=E$A;12&MaN-)V zx;CPiJL1FuUo`-$Y&Gx_C(~E4?Dh_GgCsdEN zQGKse%x@^C0N8ydHo7O0Dsk4Jx^?@Z0N$pM#V55hoSmpQYFqBRCjJa)F)JL zZln56m#XFUDWpoAHK?ut6ICWAl*ijBf8M1m<%fJtkTP-Bp^Q@N7s|)lD1X>c_Gqlw z!sNy-BcCazM@k;7U-4H!59K)^={4KZ`)ud*Y%#m(onU&Tv`%^`=}nT}bX$7%T$o2= z#Z~|}y<3?cDS5E%`9mGpEa~0WmfpuY=kJ{+*iG+trbkL%df_2PHY60bEF#+1v&#I1haQZtcr;uszFac4i*W=1CqIV-*vV zUu~LHno;&>rJ*#V_9FN#5*Y*=ww(;`AXBWXccn6%!=|#Rk;w7hS46SQyO% zjVMG=3m`56ef2~Te#b@NS?yI9fj)d92yY;QYrdxBaGV2qB%>%>7@XVXhr=u=&%=~V zTxar~q~x8dZ%6x6z*uU`bJ!8Z%)zgBk#sDs>hsxjM1KJ~=!od7+i5Cq6$zTFkqqg^dV%NyW|J%9mt(k=^4= zaV1D_FG4${H-(HqBDK%z#J?bk{~vjLQ6B#&kAK2r_`upc`0RO!`cdArQfc`EK0y04 zK+U6f=y|l=YV&X4%Ez>36PD@NRU+N5NFKg=26>=#WV*g}lTW#wC&F&s!(ZhJXEUew z17_FFzaz0Y(;wbPsX65z?o;?W8QPC%(&$?ype}G{pTakU`EQcmL6TxA0Bn_rcwRJi zHAD3mDd~L*3`Xhx2M}3{zs1Cu1bYg*PvP4PwJex@3g1B}PMtEjxF+*G0;)#fWCi;a z9HyOp3jYb{j;%#@7ibbgV`IYO4**Uc@52+1V4wrG5us-X=mX^NArSErTW6&^W{@bX z3k_X;cM{~*B!t) z2tdxa;o&PJ^g}EowQ2nLQj6R~2g-J!s3Cd~FL8EV5d(zjNYs#OdN4IWsL}RlG9z|~ z2z`*=0g7HD2)liI-uIzVn3d;9zl1YIhN7yJZ#2Pb`P!Z-dRQC&^G(0z<9o~IMnir$ zurcU7j-oi5L1#DUV9?=BWx0_wsOh2RQ3$s~&4u`g$d(dB@vz6I=_HhDrj`|{k{An2 zml~ux1Tw28n4$@#y3-7%7Xb$O%ARe$E(0Cpi&v@TM(Ut8QVlcr7({}f$Kql0ID!w~ zxJN87X*VhiUylIfM*B{>f(Y#vFY%qELAAvzSxuf$m5@C6GPx2|kl!aD;;hQ?Am|{! zy!tISato-9+>9Sxm{%hb`8|Y(&F?k%SS28`$g&u?cx-}9^sQVg(AVMN>(0jz&-@Rq zlD40ZBY=*R!01B3)`AlfGn{a+<3i1M%tY{hj7#dp~bZQu!sF(r>C9;%RSigFw{bl=C69&t`28iBj|Vm=W32X=spMWEm`ume=T z1BI=TVjnyK-r~%|Dr=z;?VhpcO17pEO%Gj{A8+pgA4Rpkk7suiK#*&{)+;Gw!-RB5ve_i0<5l$9%k`oNf`B3*1iRkQyL16* z(tEE<@1PWwqJV&apaK>^kShG2=bSl{nVnhGFZcKV@L|q7=k4!#&wI{HW@g_2EUbJB zfJS?Qt*q|rF0FhU6twakv}oQ%W3`gM77)tH_essnQ_iaa{4Wr~fc5}1s!|5{dP=<= zfPlV^N`iQOUw&??kTaCE1!~nJ<>EatJ;#mZ%Sb0D`;;kNXo0S@E4A@stMc(I@s&-M z2h4M2pV%zA-G&aauX?1YsJSTG_T=aekpY!K0bLkpj*F7yM`?MAZ~WfWn%UG73}|}M z6!S&Dnb)M>kd4{-vA!#D$k7jIh8`c^KpEmb=;P4#r7AwiFTE~7conHwpvpt-Ah;ix z#YheSpi#2*27^5!1F7yWrS2f=aBHHjUdzsJIOJgATPPO3!7w#(5DxlEHv&imW29_G z$>w7;-Vq=Qki1LLh7ZKYAo$s2{U%NMAFir#7%T8#`Qz_siWo@|l*3H2h~nC}*`G3@ zV3Xgt)Ey(0PefxZsFNw?BS;8ds)nHt`HiK@B9{wdpWd#N2}K|D<_G1lg`u;Ki`Qr% z;QAD(@DG*nbikV4KZB}+W(6(LS3kEqK=*JKG%IjxPi|$bikalIAQH`NO131qNv^A0 zT!2op1e=rGE_H6OIC1$aCZ;7e+zDW_fT-ZcnO)36iWvos)`)T!vvDjVx?wE-I9D_` zx1N6rsI;j#2zpNF%IN~55fh*go?bAuQY-?VAQ6h}9xk#n~D_Yh`lIM&ESF zw^-*}La&CSkAlUGO=TTZHcZ^vO~K7v%f@x7nMvH-G&8xKnUz4RvwVA1s!6eF<^4;`p>avv(ATH8Z1Mts5bTmC|YtX@Puf3{@ z@~~M{gyC}`>Y{1gRRxrX&?3NX60rWN0?NZ_5ny(5!&L>8ht?vXg2{r7R}~N<%#}<6 zK7j!I#e?xhNHoW=d9E8x$!+ETJCGxXY~)Hu`D~Ps6Y|+ zb#{)UROHq~MZA_}=LF7T>%O+lSiygl>$`B6@Y@ujHifNJ%V1cwtku+hHM#)pQ*ZTDx6_;cXksj{PI80k{z$IrZ!1@o8%$@F z>stluH9CplyATr&f*Y-MU%UnctOAin)N!Ui^y2}wf3cJh4p@|+3IH_9_AbEz@s(9N zL?G3lpDI$ZVh|PD%wUR;VyI+h5Y^etU~*kCTt|kb(xg(4x*Jy+y<*>YJplh&pfx=& ztD=J;`5RhG8t_*rf_F_A*7e}MDxDF)5NTW8w~p#52WoH7)!&Hr&yUDWpjIPtGhi_y zw*t^8+X%2&H_h=f`K01?8x^Z~VWS{#HT<1IJsJZABk#bOd4h&l@okWpJAq;J?jnU* zlhZ1X=zRjVtJ3{(^fp3-MmbP>x32ykw0}N&{{Xd$-o1cD^dbRhlr5sCM@0YQEVEnu z9!DtCRWPF{jei}Fp)|%Q=ssG2kw%Qg;>CF&mJNBg`~E_?|5RnKd;(UdSbX~)^w)GN zEeUc^+Q*2}z8}&O_wulZhh02;$-@pFw(;;e4_k523x6{B;an;jqvEH_z6>;8{!+2L z=v~H78d3vFx477)A_Y^Qf~i)))UIF}p>qmUpD(gI zV9fzutks1SF$eDhpfM>hbq+8$u4PyBFoa?1tQJ$}JftO_<>3quzw&Sr2Ys460$LdI z7#d@mJb{w{`H;L^7(CT{mvIKNCn*{2Q>36!ogyqM%QY9(Qtt{-fw3Dho^BD>K;Xd7 zcZ7jjBMXE*tqXkyt+g=n*DRUyk%qwXI`eN(`!7nfo&_ul<8uHs$_^SDWtcIh0mgwB zsSv0S)8qeo4AUROq>L}u^*rUXRK7r^m1sKyVvZ4>ceqZv(-1U_(TivUjCq%$0r+Yg z{w#`%rarMLY7tD*nx!HW-Sb9|nyzX<7V6Mck zL&6`8y-1pBzFRm#j3%w%Hp#fEFnYP!Guq^@2(hq%>7kC%*P# zzJ##KvDfezALYQ(VK9mo4@YYq7ycx#92aFX&h+cF5uo-*O9>+Zi#+-mfJU+27#vi( z2SS*sHnO9s*q(UuPrwuet$N}W-&d~@^U-jw+@LWuf{8Z{fIkUr8i&L@O1MFgj4sfO z2Mv9mK-HEiWVSW93hB1!RcPW>d4sEv3W&K1O}eUt;3}jfn5)nfNHAi-M08kz*p2Ve zq`-5_uo#8K=nbkuhC*upl4w}6fttBy?S9g{8A!3Ww-6zAbM3=i1EyOQF zV+{v?Y&ujpR)AWCVI`E^2QPWG5EzkcWd_d$)iB3b)GUb2LT?-iDI^nULNAvN+dN zaW|{F?*R}%&~`9!^mj;sJIw;W!ijar__N+}$dvr@a70DA7{y7;*eLELO2X)y;0P@8CXHWYv8jVHo6|@c>1bZ&A|=nNvC;{&HmZ z4U!lI7O4o$WB$@B|p$xRz8q135@FKFd-!@mWYqe1?aoaL`ljH&7r# zXJvCvHs@t?0gbm2Xv+rzq?gcZq~m3r1Spt)Z!{jqIU(L4466Vf_3=_je>f$pDbBsm z@v!${-p9DHY!dHdC^C_E;umj(PJFZ#q#Bu^*#&_dPB&U>%JL`WWy;buPKolA^?;g# z6;^$}AT2TWu zG+(0v%kJrY5QNJ3nxNLoXig~c?WOnxU3?N|rVr1&mU ze3mZWPw_?sFqP#PWwYDncn*5uIOS`)oLqL%@jL(;Z8yqfA!RgV52k}yrLR&~x>06# z9Dr5M2&DWEHXb;R0Cdn?amFVnsX)!07NCy!Ni!_z? z_mNI{X1sL$PxOk(_y7QZFNo2E%22u38x&Ap57e~%K?=2n{2}(L71mJoFZ2pkj{xw0 zKvlZ5N6|rPkCE?BxbisZlq<%gv`?THe|#5$=?DZq$u5tdL!{|Ze+pfex@0_%_B1iH z8lm>}kpiAUpEZ&D0ud^ap9Qr>PE#!@#fsQZ3i}VxbhAE%TK+xAK{Y6k)%O|t%VO(3vd83#5#uO^k zqoDL*^(Vq6=oO|l1)$LmWtw>}(~MMZP3&y0WwY2CaLmSzYqA_a1>p1a_1ZnUiX`|4G(c&X%fVgFlnL)ATyEW6()1!fak~bjGKSIK9 z0oK?bpjnim_LSqyok4q%YQC|+Y9xWYw`m|eXBC~E%m0n@H z*re9e$OeuwaG+^V#-In|7!N24P%T>VxTxt#Hm*HorO%YeoA}m%(70|=a(7BLUw;I2 zx%9*&F2GQ;&RZUg6Mg1QaZiX-7Wt+F4NbkIrrtJ9y5;46g;0Tj4*VPx!ojEJY&!Zt zkVe_os~tOGUuv{WbL9j?^FbV&=zicp%8SgnmXsd~IY{~ABIOrBP2vI`=J7Cxhgmr2 zdH)e;5v5_W87`X^kHsKadEmoBaG+U) zM)KtHk!|=LRwkZ^XAZ&zJP{wz10tRipm=!c;HlL&wF)hfYL-$>P;F!WFkre!QQJ%x z#(Hgg;%%YJDxCwrLP}mq$(Gut%MGq=Y9!3H%`SB{#r>u6SWAwj@I}SR^321Hv7;R74jRh91$#z74m=? z?@%ERn(@vR@{pOtxk4T$$$nT7Tmk6}Mg|p-?z0Bq3{#&WaIAnwfj~fxK%jrGgue%@ zvERFohoHB~4x&$LV3hxahGQUuh94l6)$1rtw_G?MmlADOa+)0@HB|+ zfSG7kdQ#%fP}%{&7NgHn=_&MTI@vizW>u<$nw63bN-u%~%_V~|sG2fg!NzLJ38619 zZt*Ls0UD%gszrxG(r`#T6@{{J*+j^uf@~_vrV^TH4V>e7QtFXu$?w$d){W@-8@Xv{%!Rm-{vesdR=L$7#PK#neMz|qRT1M9y;a`K?#b|-TAF=35#Ai2v-!pC4O67M0_>^B1?Z|Bnr zj5BJw-M@RyLitRCMQAl(p*b>Gwi+lBo44wml8k9U0dhYr;=m`bLs=0m^~Bip=y?#V zN6j>29{))_u~ZPWf|(LsRB(Mp*h3XZX3Gj@r_o4bS*cZ;K`b`@c8+)(hl*V&j+)@W zDk;kHwXBl0AP1{tWqhosZepc*SP?7m5YB@e2Yqd<4Kn0F1{!0z^Wh{w7F9E1d{uD< zvMgY%b^LEYz!lVS3N2r4I1REvt&!7PqQBwtPrjK)6ChdKmad|+%RgG>P`rhfHk)aY zDwZcLbICy=M2HV?>ULXpM0upL|B3ZFu_w|^(EnQ9wr<^4V)tivCm&KUGL@n2n*PZ3 zPsqW@+$}~X2GSCvc&Nt1KX|yChdX(=orl|S&`0Zjup+Pz$fllb9+b^PvUwPdF_Mqs zBtV(^NaBM5NjQUu$AGbpWHJzPB&pCkl23qIBd6EPL(uM^rsTx_gZAoIPRIzW968I? zCjCjXnNQJ}I7+tsk&R(7_8Jcc7$Dt`F!4HwsAeu!9{i}Q{yw}}>@yTw16%=G4T=DD zuyE3r$_CT3phHOhLvjriK|k7Q=(Yazs?|G`s59b^XlKM<6<(mM1jwQ${cpnQIMp&J zUm^6r2@?@uA83`A(Y{P{z^aCjByQuO4bVFATiH4_vtItrs3mYrDzP67CKG==6NCI< zutG6B@--WWxV{MOFs3mYBe|O3M20t{S^NsH`o_>pAjd6R20+t&Yi1VLoZ^D6*Eo0( zVcf|P+k*!Sidu^)Y8?SqoR=xXyiBT*7xc_ieNSNA2C~a|g)%Hfh*J?mBMMeLUvR-`g}%kWedMNKyon*zIo zt%KRrv@pUPP%}?1ys+L;P#X%eEQcz>;J|WdS6xaDmHqm(C_yl^x;PjJeOeF^oTbse z`_PM#ZU;%67O&f!xoR?sJh=MwxVq18Kp(Q0_G-E*Z_xxx7?cU2!tgdZEPD-msNSI> zw-!rxuVo+55puBFq>0t$VMt4Sh=+PS+>e94vUCC&!r56iUC|ixygN?3kAu`&ohhcg zI;#TQgTznRh^g34+>^vl0u`WmByWJ6X!RR2N@#D;1xN=J>r{Sq-_tmQy&nL>H0VP~ zmJ7^hK)`7i8K9Te<*YBL{f|ls{Q!&0#{mE|iuFE*1E;5WSBimxO3TC>2vXWnR{o3H zx&!QWiG6v%6rUxLhD;(cHy&iQ8e|uv`!CYe6f<3b3KNaf|B@{pRMh1SrabjqH$!j| zwC7PF6cvI_!W4bmgPJPeG_nV4CX zhS-cpWB4)=Cjqh`x{NTsF!(agKsE^&>$txHgdBGYwT}A~P;2D0z63-QkXa%u&2)A- zLQ^T;^1={pHq&w_%#V6bBL{^LA?mwswXdeLMm{BG60F7~`=__AQsq3N!(-btxJxA2kYk#+gHQef6xj zLGp)mu4p@*=@mue;f!hy@|@_L>+oLe z1~Y^BVu6{#6ixLA_(n4WpFXqees}5^CHA63ibW>{;+I7% z@(-(T8X7;(tEj~eku3aWk-x%Y`(+UdaT!-&Kfx@kydw4E4c2bU@0_R{_}Ru?XmIOp zTB`3!8+|3x<6db_(4`+ErB{2y4oqsiT!CF8K32r%6UFu3uc1YXFG#{&`)$IrHYVez zA&ik_oNlb*8w5j;K3Rb=mwiehu(uFbRKe1)$LhtGUkpmX(Qw8zFtZ4XpI} z?`YB7j>anFj{j#q-x*q$&1d6R>+S-R@cC{48l4bRE|O=QLssLhADbQ}U5)}RU5-X; zAumNaEdN+HKGy%SWQfrjs-p#8Y%pKhkBF$?wTQER|J&OW!c<8t|I(s-)X3xQ?uhk- z;EGUJiE+}T8a9(oIGbcy=Db}Ul`4}uJ7PT{xD1mt*dj)#CIJ6v2+{O7CZL0XPqbP4 zX9B2PPO@?T8DAB5GPv2&Thq~6NA<7RnqlMqE4F5W z8}B#KELf6-Gw=7tXAU<#f=v@Q6ymyBRb086@j}~gQ{BxuB^*E7oNeRoB)Rd?Xr)V3 z_gSi2Oj%=ZkOO{fE<4inYuQ{DKn^yS>0)y^4$}0^WnJ{c$@^vVpllwN&11580*$e& zd>SVK@*5k03$#`*ou#)7O=sBvR*dm2k{Vip!@p3%uL0Kd{x*OS zueP!&MPt=pKGiG(Z!LjSAlJ%fm~A#ke)q;+wkQ4H*gf9=qh6!RzAn9fLpE>9<}F(c zj1;x{_=8G*X0CU}|IG=tPE7m1v3vfndW{&o6YQ>S1_WRlQsi9_stkG`u*QD;vi$;^ zI%9c#kZI-!a8XD@OYkOO8(9U@7Qq<20@U z^c@mztKuDurIM`+$idZBHr>#O5anTG@*K zKd7->asU6K%yy}6m>{nfMd1|>W?Ia#jt16V{ibvegkIyIsCA$xIz&nBMGQw->^l1K zjOAZjEl03FIymqH(Ryd1&wF!}d{}g+zTAsf+$<4(6Fbj+qxfCaUj1EoMoZrG7z_yk zO2E0WzM5~H)G^nx<_`4~m3~gdkSgch`>L_rF-vap2ijh8`-GziLrHj(yi zrhU59Nx@RRkK(CgM|O>TuzNCCgtJosXmm=W$JlsL(Eq-mwivM$2I2#s-2|5>mMk~Fy7+>0c z#hm%&gD?-IR$b#{9D;r$VLoNMHL*dwmYwk`$idF|5wSDg1``uM=V2=j`W|^5C=kw# zviTH^u^rxmlK`3Y>QEutw+CmS-Ueg|%gN_kDqEK(D6FX;}Fj?S`%7&Ct#QQx9h zR6A7$_p|qq-dj=i9zZV)J4oaaAiZDWV2X!nwG>fQM zMVRENOpL3Fiog+yV6+0115|)PLVMkvIPm)Mdr+uO5z=bDpFjf455Um&qm*Hb?J@Rp zh`=P@Os^E6B8auzkUma2+j#wm-X|(T_|E|RzkpBEwf;hSr426v!%B^K(4Hhy1wY3} z)8l&zU1sYmM*2=j;$MlOePRW2vg`~fG*bKbN|xU!KLU!*5pzm*o(Ie*TtJKFqHHe7 z=6Bg#mdzE}gk1*@&V&08lH5(Y)1*^5VT`pGF@9wXJOP!OXNpfpef7(lc}s#gVt>ZAy~5bp(1RN& z!xr}&*~@_flS*|ef(T2h-$Xjw_}q+Mk?OYs@Vn+C_`25HNUyZHZ-lsd8u2jX?_{dr z=O}45RKDQ*kgBaQ;Qr*e2yFj6lTBZ8kl+RTE2QlGN&b@#cg=%QgM9L;g zHqo+)kxg~k#G>(50rwxIdK~F0kWOWWk?J*wst6QE#Q0mD#@Ngmvo=icEPJq%7w*Ui()=2eKP^eBl)o%g`EKdW59@L@?Tik22mjh)= zbt-~vORA@n&Ne<7=oP8%1K_^}e44H`i}Z#znd-#D5I>nJ_&G|N9_4IwnXM0x^xZ0n zbBLjRBGsKNs{;y+)GF2UD4(fbK+NBzoI=2iLJ?Xt#j+`pOERUnC%ieFkW{Y< zmn1GG6+L#`OCk+1IMc7W{{wc7qGZT*R%ycxRK!h9eGnn17!^(T>N#|&lz5(KrbGh* z;iB8ijcyL?VusK@S1z}?gxtB@3lIv=WvP5n(>Dwa!44^nWb>kI8l!PY9EUFMc)fox zUh3xCm$1Nj=PLJoeo40!&O&5an+TEF;7h4z(0HwC&t@A zqIp*~@5$zUG+sZ50;Dwl{9yUpta_;9zogA3Ek$?Hue{_4m@k9clP!~IEB{r)I}exu!wOf82jnVM@#RsDtv^!qV{GPwjYG8nEt-Xt zUm)b0{<5-2A_KBnLYhJ|jW?f4XfcgNxbWL~!eo4%s~Ejn2@X1o{^wH$L%YU=`kT}z>pW-g=dB2rQ%In6`6oLE{PAPGi|BUe_2+YZr|o-q8GM|F7k z>WF$hVFd)B%+Xv;*Ss2C)=UjIXO$6Zd^Y($u))SP;GnH*(V|%=oAqeC_tQ2S2;cM( z#Ir7H2se=ApB56lp@Q8zKDM#)N?tkPrzCs;g!E5t`uzXGsrE1q210*=o`?X6K^x#4 zK^yIR1OSZN1WB}YGg_;cmFOj(h7!4{1c(s}uVMPsu`r>U?@=jli!N^~T8RA&jdYrx zb6_oV{(7n70Ph5ju4L9BKWoU}aiWK!rd2Xl{x78PZ4@rT#l!zf_;yGYKZd*mfJV2T zi10J6njW$}Qv27`F2>W*wOcK&F>GOsn#H5?YO+tt+)tUIJ^E`h4?tKzkBpH*)qPLE z6^zV5s*)2O*<~&y-vZ-*iVo|fhZSkLG^FKq0o`x;{GLV*$UOpLaohBJ02*h6C|4@! zRjU6$GCpT;oMetQ>c(omr=`rFK*J>c87-P$WOGtBr_gx+144Z+V5jg5&K#?e_gP}B zDX5<25os>c+bCW2L9IQ9gDzi{F3J~_vUCZlrt^9l83VM5Ny*g(ZM5%s05Jbo7))HvO=mufF7Td1HJ+=OzNLbl}(&r-gGeh|7qNFUs2(Rk2!Uj~X6qOjt@0`Du7z$F)F zDt*Hxd4z1PM`O*ZkV`~MskSOOsP=DCzzwpw5smjXs-sS*vo8@hk)*YS#CeIhg@mm@ zsC$B2CjNFf)n3QJK+&Vy4RpZ9TOovzRYp?BRhNjnr0}~bT!f2<|CR82AXO|8{{W!TEi4g? ztEPvnn$#Xi?P5F~UAx2LnsDhVOGLDk8AF+&J^E`hV<9Y{N5-^7yaQJ-GG3};ChBQe zzSpb)jQ>44tdnYrv|O54B6Pp?C4wA~8xLZ!L?i;x^cj&v2`z*&edc+a;>@YO6?>Zz zlY)bB^M8cA7Q0;I=WgEqB2HTQ_^sor7Pp4Nf@6iE7_>1L#(3sz)M zbaRT%q-g6dyq>>3IXd9*2O*#YQwT($P3QGA3Nk`sEC?OZ3nMaN1ViGZF`+{uR|Tq4 zK?=DlsL1&#@meC60|5aF;85z-wYsmXv^y6_zwSdFz#97zX9i5u`wJ+*l5!zyd^ahz z5FCs~5n43GvME91?FkBHjlIU#B}oqpiF1wrCkeZQka?tE2K2$H))xl@q1SjK0wlK7 z_PtJe63rSL~6 zT!f2<|CR7ZAyw4)#{g(_3pJi`)%1`(A+>Wmo#d6~<5!*F~ zcQ}bNa0n{lxREjvz1k=obj@lRqh?c$79z~&)NeYkr%_OV)^n~HHT+|Az~44-jqbNa z8z3tU2~dZnSO;jRr6<&;z7&E`OKG^K>v)~vvk#~>EXIJoK>^&ZlXy>;=CoNoHC|oC|(;63zgj?g=;b^Kh!o$H7481)qoji7f?x0Xkq~ z4@jb|J<(dd3@Z4#0Fgkpf{%M%3#GhXy1d?KA@&0_(rJ4BM>W}`Qy4*;OiEfjplRntQ@NNWF(+QoP}x@IrVB5EP-`wWpXhf-!}kN%p>VGtJ3 zBV#J~i{T1JW;j(b6Kw^5BryJ^bXX@HrAW)AiGr{DtrvW9K<>vN7G-xV08O6}<0xUO zP^LEZ6L98SCnpk>m$PIUy#{ApaB4LR`zf(C>yV*(9!GaW^B1}*4tLp%BkGKxd zJ1o}$Qy?Hf0rW&KE7g5#&;bvo0_oSing&>7KPoUoqUrrJDZmozki~7SlsXF>jL&Se zXy(XfE*kF!P$+Bc#cdu*)>}xNi`xPct^*;Xq3>ol;Z)mTscq76)#A2H3SUm)B3wND zuY|9FR8ibk0?_CdiW}pq=^6B!t+=g|GS^dPXpjDy%#9Eh&?93i zZePF^jLaugC0F{Oo7$Uz@o%TYI_YLbS}si#H{EZ&xRC>Lw}4m_x6c7+oDnMD)gB_+ zw?mSC0Se~cHp&;fS$&?WUB-4I{`BT&2dIVSod7iI5L=;LJR6TQjr$?nRw%!kZ>Kb8 zHwbCY9<*q_md!rd>__9>144bqVH^7;#W`+czaqv`GK`mh?c3O0Bz7*(UjwD>#X;9> zlxHFWw1!D<+-=#14jBFoOr;+OXfjO^b5>Sn+FX8GUYTixLqDB$M>y4IJ`iyb3Q#O* zpr-5omO6K%!znQJ{0B*T2!~*Yh%g*7)|+q93q6N*hmN4d>37s|ZGH(89sCs!Muc|w zduWEkbU@Q>`+>&TQ`9=%#{T>$1&BZ80Pz1nIZQr#QdaRDmA?N7LJsCnXwm$P#``l+ z92xzl`!AFbv_JnvlAn;xuV}3K7;*_aCDon=2i2aD0)CUtSv1}=R7ai2J^K=NjwGio zB+g6N1rq)WLfsSY&(GsjyMTj%(3dbG0wlI9VHeQ>8!tiSfRprV9|`Zd=0e zQ>T}tyx(FAn$FJ0j(H{Gw3GAmQ2NB~EV{+i6|AuOQFF)d+N;0i{jDpfHP z^)xKM>3#z+e%AsxtdriTNXw;(B~15QU&6=%xi^7WEF`xA(DWH`8zr0&%GCb+7|xvP zT(S2!F@JUe_>siU3xJz0cyQ1)8w&st0a{~O0K%pHe}}1@5VzChlOPiIl$Sd%4KF_} zUj=B1LqEDgtO9D6ekV1tECr|z^cBP1z)%@!kRo zWsQAxNF>S4782*xA(@0Xfsl!$U*O!1Q|%5M41~Tq5D_3TXv_a3dnYO1s zFN0PGU4R%x+v@iv`2qUW&wl+^vIZ2hkw8o zj7%X_$*oe*1x_(A{%UksCoNH=<&Ipz7Y7-Xii|LEt)4}^OS6!M&peGp+4(ykrRzGrvhB;jUmQjw(+$e`$bN55<9PPHGtAI z9CXdb8b?Hc)>ziKcyz$EzP!;0hyGBPH_t*eN+nIxbglKN z&5I7Fka%N>aCS0@LXvR^c9ICgNn^E2K`)$pPIvNov^af%+S4e+?ulAX8j_|KX=shr zTSe1|G^wPaE6y~HNs|e5fC^byDHJV!2ozg&Skr_Q8Kj^nCyExNs7(qA0tHl+;_*`b ztdauwRH>5sDtXe$L(%0t`dKB_ZRTldSfWc-L}K|ZS7>w_nvEW_xYsC7xK7*Y80|qD z6;K_zHBt8%zUw4PU{r9}sKBhGEtUMayj5Wem8Yc;g*;_;X?o(cqjY;+u})Cqs`PaV z;8p3H0Q`Q+VYP6sBvpLbz=8NJ5OW5;jTX&2XuJhLi9r?x&Ra++L06{lO7iz)Q-;P` zL_+R8N~GHM;Go(LQb0%9bVB3(C)H6W3Wj~}(U~OoSxB7s9$iUT7lgVeyfS?dr`kg} z7zlmuK}3MW%#$4M!uZ7Szt902yFn6d?T*&!WzgP37a*phZSN6Y&G)dB*F%@r6D`E{ zLL;4~=eF%Z(3Po4$5rupqXYJjg{hnn<7jd*xoM9`dwGA7hL@j~FWt1nq2H+_s+D8{ zb+8}>s0h;%{OX$2+#{|@^$yE5=|l)XU8R$nZvSM;%%@C;Yf^6>5zgWI4~5jnAvjz_ z7~wM3|L4$)Fin9vhHENXG}EcQ0fpGZp}d|!niohzYpfwtG&4!_JZb2PGtC^*GzL0A zg)D9qiq=^F=aS+@Qc#o=MSv6yNkKuN;0Rzj*3T*_z`QOlCQl>sP;@zuepX3!n|YQP zmgtfdky`(QyA90-p;_EAiX%&aw$m}%gEq?O(5=DxuYA`@l)$Lquu*|o$yO>UhTK0n z15~W8mhqoc=Cx$}HV6n%0Ou~t7uxE+rT~zA+ky1!iMa!?#(vBXX0@jGe?JoA} zZziSg0tZukH(E4%Wb-u|?<=5C*4UTxy(D?rLgKuf?UWhuv7tUqc6s`v#I|>jAV@FN2nIU4WQbPRn^4Des^z?+{vu{T7XMnx5NM+@M-7Z3j{;on25Sk8X{pwTTX=ZveShwPZtew^CHcsjafzwE!-a{iN) z`7>pP_UNz4JON<=Ju;@{yd7M@$eg4q&I{Xe{wpy4H|VfVdRmc|OB2hv?zg_2lLK%`+uU}I=pJ#hgJnyEaJI?T#Z(bQjK)iK+SY9p_PcVzgh@S?K-cqyr_A8I4*)pS$-_Logiai#|GMx05(4OGBuwwnQH3?tr9u8o1Y zrZ<%DgfP6J%!H_$*a1Ql%XoMn2mLkWyFg*Q5qyvNq#8~Fq*Tu&@!N9v;wvREQH;yY z$Y8>E#pjPX*77f!@G2TKT32uajseW%sE!s*k~2GBaTX$~`FcveWSuXC40J|N$a{fT zs{49Ns#KjS%~`CP@mJI>yIP?0QksFe5ptRKwSf^I0LTE~?+X%5*O7@1dXR+Bl&VE6rC5s`WjfJUbbMRc^RoBZ6G{D61Xhmz?b(9-FLsjnG+J=s(wl^(%u z`7)jO;DiP3^xZf`Q10d<%EZTLB2B>e^SaSeBX^Mq)w4J&EXK`05H4ZZ`%UnkF{#7K*$)+P;r$;W31g z%IdjAK#bspqL-kEQE!UY8+Z3reP{+6;rGh`G%82o?}SDbe)oI$%r}I+3j9MJS4W&x z3k!2qb-7&a0f#jY>*5acgooq0x1G!NUv@QW_fl9FkKS1p86Fl^)m_2k>Sbc>p|iSl zs#2G$+f`TxnOFzttR}7fLbJL@0C#Vg%jI!>WD+uj9Iab6ZP2>3jmg%3<9mu#-EQ|V zg>KutY0HMC?brf%g6<#T9bXcXZvhQz11S)vklMLD8g>07y%NR1ZXwtH2X){Y~ zK4$-m&Dynmr9sPvuQsvZMiLj=o(V)VtPWPVW&){(WI72QbWdf!)ZMnUP4kvbO-}c| z8Q!=ilOmJ_@O3%x_lCJ$9`{lKF`|nBRRb@RVG;QqG%sL(}#QUTh>L#Hg+( zE|iCu5&MBxBe$2d4x0C{-%;}}Vy-%-Uy>rUe)kRdkf?}ng{pvV4RgCa6{-NbCCmlr zIs>YxponllH-~v#o(K=1n+SzpffgYp{IY@~E&&qqBF+O6@*>VCDEt&4Atn4IASvYp zASvZ%1$mAs$bD2nt{(uYm>mHe*0!`^sdX}a%kEHaSM^j4cZL5*k~f;QVp6(9@hXet zqz*q$M4Kk1VO?B0qO@uR|G6Vv@Hp(%woTdPhN?w+!e_ z1yy*>fL>8hL^B12H&u}5B?Y;g0IC2>JnqJT@Y_a!UIY}ujE$(T=pvp{Q265t@;s)X z@J9^jVFh^}Qjq&WKvG9NKvKs8fP@Zri9uJWAXgng)leH*2eSc(z1Zs2)~0%wg`eGa zxv~_dO_R25o40Do6q5@lR=-RlOPjn|+5k1cvNWVCj7gx#RaY%yLgl&3okw)g0DG!> z+@89E&v}SBJ@7BW74ZbATD550;MIn2nrA}=SB0k)N?$$oOvt(yt0(y*s)DGwA`0TK z=&IO4p&aqkVpmQ=;mYSOrYNTjyS-xhUIuSc%%KDvPB zEnh<6Geo$;`x4QtVT+d)WM`IWpbArhg=!v(9H$B!W=b_ z5e5`)Kpq2f8<5L@!VKsNq|0=;tRT^J)M z35Wx}*TC*kSkEp%qGWr%R9MeWK%#hiwi|uhRA2b#fCNYQXQB@i(6brP%}hhjCP1>F ze=4v@YtKeNVyorZp!&ks0g_VIiattN1xQL+2}nv=A+VerO9hsGEKyk3B0y?^SO7Sz zdCSr!ZCW&Zu}Oo{w^}1xOciM!@h>%R0RlU64v{M1P|NHTvm`}}Ru0@Vh-=imv_a!0 zt+`1yX`Mz?vnI`(Hp3EZ+Tu@P{~OI42kogRu{+dEa=QaUk=i#`l}lO6M^TOSI){lR z{~=jpkZ`iXL<5o)CJKw%QU?bxZO9h%h)4( zWLyT_Wr<4#k0%FYV&X;k3@8(jsGt!UfJBrcYAbAbihz)Go@4=WY9%VjRTGd(KMkuZ{VNqdaXL((Tc{LCyS-yK3 zPZqT4E1nid8EU(loc^HtJO( zuUgAqA%(nVH|C|}Z7u|doR@D9-Q?9qO&T}GsvKmUoQ?P^NIN0E$s77@0eMA&0Jdh@ zyI&_(ZXVDf;_7Q#3Hy#^|_ZT$h8=dO4>z$F}9A2kO!pf;=t*3R95# zG8D^rUj(F5<~+>_kuqnAX(``Bd+PtaD6*JuMkAdGYOGoU^S z@_b-Gy$z_B0reCR2d@Vp8G!D9WB|GWl9%UQ6xP$(z;*y6^m^JG*fInAo`HSWfZjBq zHv~kzZ2?KWZ2(EVuK|*QZzGoyVH$V?w67p z3P~@uXo&m#5uw9AQs=Y9aTF2UhUh{$BKkfH4z2@M{)J<$fS5L` z735kBNL|A%0xY&e#?6KIgz0Qe}HK7AnO}%mwUgi&Nd|bh!FPccX$n! zgT!z^h^76eymYyb5F27B4=GN2Lc86E1*1{=-AwiUT$f$$Z-`Q{46;;A_Nw@C0x{UG z%7D~fuM%KfMdQYe?QT&8qTXuI>ZO<3%0HeM8@_O2-gLsai3t^Bx4R0_hWXdYjl~e& zyuoC>4@g<}>jIK>zXXu1`|I()6tJpaOEdWu((Qz|M z7O84PwN!kj9oIjIu*K7eh+q3;_lm0it$N9%+m-`9gnpuU3$@Vf3($A)VR6aH#x$|Uuk*K#Cv~K=p zlNN0ow8jlu>6qz$X+x5{c~z1IBnjoa+ue+4!()BtZHAtmo zezg_;649JbIv8Uy+Rsq5AvUz;H;6VgSCkWfg1l>ssXqp25iZYY1NvA&?okTzj4+^K z1~gPb?!g8$NI|ZSfK>R~0}g4U%iW7;*cg0IqN2MCFv7QnZQJ5T+Kb#~RSXX+JM>6c zSXbbX3BAeOu5BARJmq)6<%)nGJn3YXfj@A!DK$&!Oeq!JJ>Pd9T058DhfR&-Cb(AdOJ zBb7dA5%T^F{y>L~dIe8~NIYyS9FDjbkXRxk{sBlVkrDR*5=&(G-vP;I4{ik{I4ay? zKsPBU;%|VYl&XNFl=jQi{ufuE0)d3x6L_O5x81N-6xkMk$3qT_vTQ z03@aG_cSH+lY%0S0+LdG03@Y+4@gS+29W$S9Dn*sJTKwl4`zu!jJf%%OG2KDKfI)7 z`8L2<^xIl*mhiX4!rHWY!&JEBpCI_dP()x}^G~QoS!*bs8>{I43iwco!ynPY(C##o z*hZE=p(RHaf3!G^ld#tt;@%q9EWJ3mB95@z{P!GJ1b=%KH)m;)Boj~Fxgrj--*SB@ z{D}CD{q)25i<)F>=Zg4NuvirGmrldlHf#QpSUYt)s#d64k$+h^OQhY%bL_Sn$=}X& zGV(P09gIBBerF?p6D$@Z&j{%ujJysh>0o4Kc3X{%V3$KAE3n_e$SUl2HnNgnu^3rV zNDpD;okUu#xn0oP$Mp^&+TMQ``<<=1n<%kkXwc}b(k4iF;{gCZspR2n1!8V__?Cf~ zTOPg(A?B8wZv=?h$CrVnEqpgv z+QK)jrDVSMD(KwV2INe`zC|i1yqW?1LqQRD zDJc9-K+@7X07*-42PC!KXwcoDAWvmLGHTZWlJ->sBsszbmQTod46IvW!(D)6g!o-6 z0Y&ihUb62ZAZZJ~^(AfLm(!$Ve#c7Cx%sUS3Gss=0`l;4b~0-Gx}CI&ALWz0{JNjS z?lrJqE3A7bASq>sg2J~O&=(4d*s7p#eo0eW$`5NwOE&?M+W65(AupVtW0jKmF;*Eh zew$U=w+xWr2w$q`!WSzjVxfY<7XXsl<^z)2<^hu0rYkx(KN2alx%s6?sh6MOmY$CS zB=wF2BzWCJ4Z0x;3Lk7hgA^3eUqRvh07+Z=0+P1$0VHkdX3%w2kf$Rc>3Ii0(t`GY zBuAORGGG2{VBc5R@b>`8NWP<>h&L4!{stgv%j;zH?Yqc*!l|Vej1Rp>L~+yLO~IaDk%IBK+?X40ZIG*1xV_+PtkemDmqVz zqVp6hI(MF+!>wmmZ9r-t!I#`b;dR&;xLkavE#!97<<26yQEQZQqa?fBIqVeAi8PQ8 z;fO7Y+61`M1y7Tf=j*2?I%h-*3+s%<5s3W_qp5|#NsKk*B!<3 z+Z$o8Hs_y~OqOOE%H(tZrX2|Xv{*#+>*i(9Q^+pMO6SQJLToFVr-1!!+r4Vi$SW0B z_&;?-GmD(?`}OV?)+gK^VE4-=BlwIWt@{rV77?Cj*=1kqJV6A$S#`c5WCVxS(~R8?rZi>0gDEew-x@8Kr@4@Ax6c*+n!vmo6sy*U$NgI0$;M~}En82cSe{F(jML2`M1VyA=MuJAJg6FhjQWpB_>@SCoVgU2km z8Cx=knZ!@Wu{&t^Zeq7X9$@(Ry{@nq?b9ZX{nk)cXO~0FV%YBxvuO4^#LUZnhw#v^ zOrgV6fL-CK>=MtksZ}jJLr}eFA*(I=taNGYYh)oy7i88xeq$`mER8jQU&#ncFMiv^ zDON@7x5lcFUG~~ghusb#%w@kr2y@u)5JG+xz?OFT>~x4L7D0gt&WihFZ&2FtgH2Ak zg28D_6jG)9CPVo1?6L-(UnvP|Z4Rd^yrJl`((wx~L4(sskXZ-k1@@VxF-=}(r+p#e z=MEgwpC7GoatWjSwha}IyPABzQT~aSZ+OZrIbV&H+eg0KD*K$CuU+4l;ZY}jQz!q3 zCU54r_yTIkT_iJ`uUZG)Zp5<3x0l3SU6+S%y@r)qU%KE8A>25;KCE&Wwc&?BpS|t2 zyPo`I?1UrlmP~K-w|aFezHoO0`WyS}H*WHJ{T8^tm71QKQXfwUmpS~O|cwn-#T+ca$RR{hssOif8iYTdX|*r}5hZ!0@pDJ-mSQK~?sH0KGqJD|`F=}BS*NLc8 zQNKo=jXE85@_}N#m=r7(X*pxMvr=MPV|E4K=hUtOQJi!z9M>6 z^y=tM(QBfQHeDAzpkQD*~G1H31$4q{BO3bvF=`pin=Ef|HSroH4W=YKQm=!S> ztFMgN`qJi@BhT%OS zmn%?x<_On{>a$DNRbSWBwW<2ix4x*}t@NwvtA@GuRc}Ag^<(w-v)<)HU01v--s=+AJ+4PwuejcE{o?w^4U8KUH#lxc+(&Vv;>N{| zj{Cjk__&F2lj5evO^cfuH!E&#-0Zl156p{O6t^I5$qUQkR>rN0TNAf7Ze!f0xLt9Z z<0ikiJMQba{c+#M9f<4t`r)|m;*Q2muW>AHWV=o^K9BETqfeP@M2#gy<7*uE&8o4m z#_Sp^TFtAmx7nf^i)$>Yv8=}O8Y^q8sovd-X#+e%DYn-jI>wyb3ey?%4MhC4-TT;8T)>Z4F_0~Sn25Eh@QTO%N zb|(+ketUL|Hcp$Vebr=v7SI-JOSNU%N^QBe`GHm1T5X-SLEET(s%_G?Xj`?lWW5zGr-|_}=jY<3EVs z)v{0gh5P%)|N6+F_>bZT$6w4G7C$n6czln<(edNrC&e$yo)JGQes=u4`1$dR;sfzZ z;+Mv+h+i4MHhy*dZ|z+h;!pnTi}?NV+v4Xu|4sa%_;2ICi~m0USp4z$U*dm^FMI7o z{IBt+!sLW03DXm1 zC(KQlm#{ElQNoghr3tGNmM8S-=~|tzK4EP_@BeH__$=X*guS_&5(brgp0GV(N5Zaz zFB5+Hz_mMJZ^FKWPhLBea3tZogyRW6By33hG2ukQPYFXBo=iBCa4KP2<8uiY6Uq`h zC3a5in%Fb3Phzjc%h`Ps2PXDQTs^`yC~;`whl$@d{U~wQVW|&rV*H97tZ0yfk@b^77=d|5}y2E_rqGwg=WHf0F!Z^48={ z$$k2{K1<$~{CV=O7CVx^O5T&aFL{6R!Q?~98|xoQ?&JF<`DF6xXH7I;M0<>6+3brDw_qDScA}4oV%8Iy7~7>WI`)sUN3~NgbOyDRpw{jMSN_vs34!&QA@bE=gUQx;%AN z>YCKGsT)!^rhc0GS?ZzG&r`QQ^lj>q)bCRJK6x_rbn2K|P3xc5Ep6T_J<`5^tZ&*6c>~fuOdFiGtI^1`kJHAcjZd4DHZ5&d+MKjy zX)Du~r;RUIm9{2rUD}4UjcJ?GHm7}-wk0j_=(eQk#O{hJ& z_LSPwYtN`XtMEqHTrcX+rmOedwPWs&R1?daZ7pE^tUzWZ+eRcYp^!4c*(l@1VOkY!PbNcr5 zt?9p~??~U3zB7HoE4$ObPT!k;F#S;ak@WA|2h4a^i%1-rvH|HHvN41h4jx~ zxSZZTqhm(rj4l~HGP-7TtJgE5cSiq=4>Ja549ysxF)HKZjIkNxGA3k9%$SlfHDgA` z?2Ne?^D-7@%+ENUzbIo##?p)x8LKkZWUSBlB;(VJEg4%gzR372V@YS%wv3$_UuJag z@7j~GH)CJM!Hh#0hck|3{E%@pig}1ZoY3jx_bKdwe0Kb?;GIz&^Orkk#D4Ll<#BTc;6V`=~pKBCiy1& zruwG&X8LCN=KALO7Wo$V0!;$GWxnOURle1}wZ3(}4Zcr&n|zynTYaDTzVLnN+wI%y z`^I;`cgXjn?`PjHzEi$4zO%k_zDvH}ePvngvpQ#W$?BffGpl!2->d;y1G5Ha4apjs zH8N{V)~Kuv16|{@CT2~_nvyjwYgX3utZ{W`WPRPqH9KoT*21hn*5a(?Su3*kX06OR z{ldnqQ4j6QI*@fR>u}chSzo+yEUTaYc-Hr?4D^5KAMPLTpXi_LpW>hCpXOiQV2*#C zf3APbLreT8ny&Y6^nd36!oSVG)BmM^w||d+zyE9h{DQsy-H#mff9pT&AJ@lq-2apR zg#VQPg8#Drl7Her*A;)q?6T}G^*d#E$?lfjBfDpI@9Yn<`(^jf9+EvEyXWHrv#0-i zX!fw|;n^dzM`e%69-BQrdqVc4?8(_Po}8XNCwqQ&r{@FNOS6|{ugqSRy*B%k>`mF5 zv%kpRn!U8)w(K3*JF~ya-j%&4`|Ip|+558(WgpMp)Z2A7`-i$$vODB-%ITcbC8tMD zx17oCdggqP(YR-^pXO}J*^={l&QCdCKv$Zq|Tu_zYKDHSLbM*V|9+#`Kiu{ zI%n#ft8>22?{zNJSz6K|uTx&5) zv-0NVEy!D#7sy+gw>oc4-p0I7@;2vf$@?O2Ti(vRU3vTR_U9eUJCyfb-r>Bd4;;-q zp7(R!iM*3}r}NI_oy|L!cOma$-tT#r^V;Wk$nTurGk;`$ul)XXN9B*sACo^Ze{%km z$EWAd%%7D%H-BFKg8YT~i}RP}ugG7Szb1cG{%=j!=6{vHF8}O0-r~FfopUyvA*?^UDf46?7@+SJ16s(6b*F z3@I2|Frr{|!PtTc1(OOU7fdafRxq<*R>9nY1qF)=Ru!x-*ii6k!KQ*O1zQV7-?yz` zN5Rg5T?JnkoGsW}Ftn%ZT*1nhelNIE(7v!!Vb{W*h20C6H||r|uW&%&pu!=A9~F)+ z99uZ9aAM))!l{MR3TG6~Dx6z5uW(`EqQWJGOAA*Pt}0wpxVG@C!d-=X3coJgU-(Vo zp~7zqj}-n?_)Fo5!c&F67M>~mt?+!|#lp*lR|-26bu8*s)VZj8QJ132|LsxKtEhKT zzoPy{Ly86#oqT#|(XgW7MdOMl7ELLdRP^b;rWegDnpHHnXkO8RqUA*^i&hn_Em~JJ z{ryjiHWzIv`n+go(N{&gigp+6DcW1Kujrei14W05zAgH`=!c@8ijEcS@8|lt=tR-U zqBBLOil&sgek(dxbiU|PQCV?^;*Q0gi@OweFYZy?tGIV@pW*?<9~KWT{-}6Z@u=eA z#aHehTRgsaLh+>H$;DHPrxnjAo>@G*cuw)W;`zl3ivz_=icz5yM;%|z-Ek0a)toWDWlf|ct&laC6zEFIz`1j(= z#bqV!OFETwF6ma%yQFVPzmfqZLrOj>8BsE-WK7AplJO;zOD2@`dt^$-GtE!kMIuH=*ZHJF;=Vcj8hht?hb|FQQTU{PFa!0;Z5At5ndlbf3u?{zhClSzV63<;9tih^`l zkfJo{y(}(E6>%w|2#AVe7X+fQcjMZ7@4aL1#@=H4-*?W;>}&y(c>nMF|L2kCVa}Oz z-hSRw=FHi7ohCcgI8Ajr9yHTww$mJ^c~0}48Y34uEpb}rw8Ckn(;BC>P8*yyI&F2@ zU`Y!g!38aQ_lCNkh9JgozFRs?sv)gvhx+^>&`cw z?>PVNJS6C@^F8PL&TCvAI4}2G>$1URolCizY;xJ+vdv|$%TbpTE~j12yIgR&?N(n=Ze*+;Ms6^4R5x%Tt$UE-zeOx)it;x(;z2>N?D|%(c?B+_gwP(zVKUwCe=d zDX#Ud4X)E&x4Z6k-QhZCBH815z;& zU)^TA&2^jSw!m$n+hVsRZW_1cZmZl@yKQh=>ozA~liOCeU2c2b4!Rw7JLY!6?WEgj zw??3*n$+;P9>{>1&M z`!n~K?rM)>k0BoA9;F^LvnxDCdJOkC5dY<)s?0L^~ zS>_YZr=HI|)n3m%cTFJ$Uc1M;Kt zlk#KoUouX~&&bcpFUUuES9@1^ugx0kJ;8gTcdhpn@3SFw-qXEjde8Nqwz1n-N_d4%`-iN%8cpvvZ>3zz((ff?|dGE{Kx4o}>ZwQ?I z?VYN_Fv?)#Al_?8lSa3n|#*$OqoKq`JC|C?sH){+3#~B~qEEy3Y-t+demaHpJiYx#x4==b_IdpT|B=e4hFI;j=2{xsRsz3!h!t zqk0!9#`RuRMi%uR5x%nb>fUR5uj{?O_o3b!df%xe$9kXWeX@6B@9Vv9_P*8oPVf7@ zANPLP`$XcC-p_i!?7ed&De@icTjE>lTkbo;x59T^YL)L8-)i6Sz7u>W`cCn!^=_g>6A--W*OeJ{l=^40h*@m=0;sqYHkmA;gz_oy90k`@O z=`*a)&^|ARknw$F_t?E0v@7TWM`c4QP-}hc}P2WGVruF@`?~J~ym9zWK?K`jUg1!s;F7CUe z?{9rK_MI59sqd31DAioC937Q#H zQ$*$l?GD-#bRg(Z(9xh1L8pRF2b~YP6m%u%M$oOG+d+4O?giZsdKB~|=#QWmK`(;} zgNuR(2bTm73mzU^66}&uncJQ+)WJU0r;FZCv zqSgj)2woTbY!cZRyd`*h@Xp{}!Fz-E1s@1L9(*eJbnx}y#^7Nkq&j4L$b^tdA(KOD zLZ*gH3z;4=BV=aC+>luzJ0cf^Y)JhrWO>NCkWC@$L&gsy+d_7P>aq@M^m9da(@V#uYCDShUI~le)Y<&Kyu(M&O!>*1d*TQau-3+@Gb|a2l)552R&j_CxzC3(Z_{=F}W%%mwwc)$M_k|w}KNNmA{7Cq* z@Dt&u!cT{v3vUenBkp|o?Ec`|I%kYAT z!ieIC!4X3uhDVHy7!@%(Vtj;p;G~Et5%m$8h*c45BGyK1h}aylHDX7^u87?cdn5Km z?2kAQaVX+&#KOoWk-tSQi(DSLGIDj~`p8X@nR{B-sN+#5qE1IOMxBki7rs`_H=-8A z6-7VJ9uYkzdQ^1L7*ZWQA$n}|^-3}^dUEtH(bJ=6M9+zy8GRsQLG+^NrP0fxHPI`g zH$-oa-V(hvdVBPq=$+AvhmnKPhog^0pNu{geKz`Z^o69x==r(lqAx^Wk6se9I%aLm zx|jno>tjYtB1dB`#vF?&C?c0)F2~%8xgAp+J0!L;c4X|R*wL{yu~TE~V}FUA7CR$$ zcI>>^g|Ulcm&9sfm&dM*T^GA4c5Cd8*!{7GV;f`7$DWCuH-TJ;y%c*T_Im7%*jurs zabXb6P2AMDU*l%QEs9$bw=_-@w>)lD-0HZsaqHra z#I293D0mzBqnfMp=AC{P6e@@gw7_;z!4i zjUN|3A-*PlUHqo_E%DppcgF9E-yOd<{$Tvk_~Y@X;v3`7#NUoT8^3$No%j_As}nXP ztWB7!+L*8@f zP5gB-DM%_zDo!d%8k$s|RGL&aj#MNKPa2t2om7>ys)&qBnvgU(X-ZOEQbW?rq`65; zl9nZDl2#RBbU5i~(#fRLNsUR>`B##zCtXe2m3kxT zR?_XHyGaj{9wj|adY1GgX~lT*B58E;%cLa($0turu1j8&T%UX*Rg=6jc|-E%S zCX(|hms2jJJQ_u=rQArlnQ|-TcFNt9dnxx*9;7@@d6M!h<$21@w8^PcQfpG@r%q43 zo4YY}bLzI#9jUuh_og09J)GK@dN%c3>ZR24shftA%c)mWZ=~K%y_fnp^+D?N+?S~Z ziVDRD#c;*_No1sAjAE=}f?}d#vSNy&R`HACSH%p)EX8caT*U&#BE@3GGQ|?b!$P7_ ztWq3O98nxqoKT!poK`d{&MM9+E-Ef5t|+c5ZYb_3?kOH99x5Iwo+$oMJX1VZ6sEmY ztQbv-(}tuCPMbBEl%@?&t4ym(8WsA+>oPWEY|Pk_aWLa>#*vJR!^!E4#*8x==Q1v4T+O(YF*Ea8#?6f1Gwx*E z%XpM=KV#cS@;KvZMnmTG%sH70Gv{UQAGj!UN#^Rz4Vh~*>qe4|nOieAWu6^Dwq@?f zJd$}V^Hk=U%(I#2GcROb&b*R&E%SQj&CENQ4>Ip&P8m(sWo^n@pEbFHY|q-2wLj}% z)}gEmS%qJ$9_BpC`6K5=PC@RF-16Mg-113ec<#vDF}dS&t8@nuFE}@+n9Sc_hRn3+`;AKQtq|f%eiL@$?v(hb06kD&V7>mJoiPedcfcT zr2|R^Y#dNAVEBL$1F8m$8Su-1>H#-KlW7AUP9`%4%pNdrz=8n_2P_@1Xu#1b^4kE- zfYk%m4%joGalqaI>xYuF1I`avmA58uUEYSgjd`2%w&ZQi+mW{?Z*SiIyn}g1@=oNP z&O4WPG4E2|<-99-*YbYPyOVb}??K+fyr+4O^R7=KFY=}rl7fN71Iq?h46GbjHE_hh zA>&Ey!1{p=1E&p~IdIOv-v%xpxN_j^5^`zam4Vj>-W)hIe^`E5enoy|{>c0Z`BU;I z=C2$yHNPSM*Zf)ebMxotFUVh}cgw16xsAWH_5Wd&qK z0ohhSb{3Fh1>{r#IbJ}1DwP8N|1MdWf3xl%-K7m*i5L|se@i^-y5vbdNm zEhfJelV!zZb1_*nhU_dRdy2`vVsfyU94aP9U`L>soGvE!iphgw^01gZE+&r2Rn60)U)>@6V&O329)ata`akcF_)9YQV*Axnpl-4*2W5ONhBeuk3y!%6K>(lC^4 z9ZI$jC3}XF@ug%!DVbPGR+W;qrQ~=iIRzFjCFe`Yg;H|4luR8)>W7gf!^rVrWa%)n zwvwD3M$Qi-7lx5b!^qQNkz~e5GHWE!j3g^Yl4YaF@=;{zdkxNzNIAq3=YgOcW75SrzJg*`zs>q6JQaqZJj3z@zlVPJt*=RC+G}$ql z>={jVjwUN6k|U$ZF?dllhD;wr){Y_TLAGkLt(xqtCVQ*Nu4+ULZE@e?fkln9R=PsEMtWTO zhqSVNb^CGcC$z6^U)O$G`$g^dwm;eaO#2J%FSmcuzM{jF4z(Q?by(KnXou?^Zg#le zVc}<2J}d87(Q$ak%8qp%XLg+3aZ$%59oKi<)^SJ2M;)JbtdvcV)ycNV&dM&yuF4+B zCVesGi{)Re{9^kTr@ol?<*qM_nf1(m<|K2EdBD_uHS4R*Uv2+t=U2PG`sJHP-@N!{ zy47*3CstECE&cZ1x6i+w-+5tYP3L2sFL%D$xv0yuE^E8&?6SK{g>|KMo%M9xV zms+p1K4yKw`lR(~>qhId*4M1BTR*aXVg1s&ple~*rCsa4`{lbM-<|&M%y;L$Q`;2U z6x)>9jIkMSQ)@HB=CsYk@8^HN>HFdzmi*B8!-XF%{c!h(1GXn@FWFwTo!D)1w}x&j zyIty5Ww*d?yWI}Eop!tJZrRgPIFl0Q0KVG@wDR&$KM@?^(ybR zz1JVThB(b|+U~U5>7dg!r=8CGT~4{&b9vx0#%;UXCAVSjGu)a zUe~;Ccs=);D&HVKB)=n{?0wPuH=h+g7kj_xJ<4~dZ>j$%{}ujs15WhW)^|tWi+v9S z9tp1OcROrUcwNMWs2wqfV}6g>61z8cSK^_h2gz4c?xq&?Kd79Vu`zp7_K2L3Iiqvc zYBIEt94sVfipa$xGQ5IRR*)^jN%<%;vxdy7A&Y9r;u^A~hAgciTWZLT8nUy7?5iOM zYsldma-xQutRWCK=57tSS3@4ukcTzoQ4JYWOUBod8MS0yEm>JhR@ag>wd8OuIa*7O z*OKS8WXn{teJa^8mF$~J_D>}Tr;V=+*I;(DtR`QsOv~c9nsX0jdkR39l2OX zuGW!jb>#Ota<`7$uOlz&NMSuGswd;>NliVOR!^qalV9t}s(P}yo@}WnTkFZ`dUCy< z{9aFP*OPnoss>WsK*lzZxea7q1DW4I z7B-MY4P8!a#y|o4b#_zYj#-_*PEiTTpU1|rWhQVn zB}aAY@rH$oOJ>XAR4BkKfiKPK{;@C#sca!04K*bgX;b%)g^9^#3-Oq!DOvv(N-O?j zVbXKhA~+-qFvq)z>oL#5z#&omgX6ORGnip-L>H9doo}tXNyUF%x^}hs-sU^ou0M!N zrBXO``u+FcOQqJ`e(2JbtqOk!jYuROWJ%5>x$TQZ@BVUZmgnq=hnIGc`L4f{E|Glj z?pqS9+ohC9;LBg^pV;77fad;2U&D7=Q3W`oBOIDMOApRo(#oDylrucST>|UNv6V!B z0vu<2tU^*YXg$%N0LL`|R{hsTBKf{4IIa;8F8F;o3;ZMIw0{CUt|74I#TOFE9ycuv z<`51{YK8s^U#C^tb#Sl?@m4D0;OjY3Cn!k|@l1$PD$*6PDrrDMdPYRD)R#Ra49(K1 zb4Y+gNMu54NR)M_=;Y)MQuwr;#0o!^6Ag!=tzspP`bUjZEec?YxV&$YTpxDIW<=))kWe@J~ zG8|~8oE4FYKqp$iUVFIN3Zfz?l**Vig;He)XQNZnRFZ#`n086DCJPrp+gU?1x00w8 zndCFbeH`$f`sK@y)#gNk=~wLaYxepLUR&ow9Ev}C;u?fZQzm3~iU%{co?`lE(ew{$ z)AQS1Y&xYyA*GgQ=7OL=8-61gmZiiGYGNCt$10R55i0oRH+(4cE$s0U^>O&L37cs_ z;#-+OFC+8jz^}D5cv*{=O?cUkm&1jRpvt6YMWk_GyyTJ1D6$g1 zi>W>egOGX*>LY21is&LIq-Mq_RmRbSp~I+mf)&)?Q}pn8hUj2Q_Q&{wsvPg&PJq|% zJ-BpZk)LFkCn}x4O;~Rs)M&w~Ieo$Ii zRD48gYD}^~%#k%+YYY};;D3A{ijuS<&(mAB+S=;M#;unRmDW59ihM_X{qDzI3{aZr zp3S;!JdWIG7*n&1jD+Y;;Lj3m?j0*vF9#2Q$6j_}VPW?6Vct>kzBwsj_MJQ1`)6gw z_$!i9R6U(~_V7x|V;oW&2081X8 zh5IXP?HDB33|lixTa2tGCqK%`Pcj@zDc5gc?9@S1{{+*}7lqIsG!S~v3<%^15#_XA z29XQ@WE-ME>>1>%gRX0kR+hHIS;>0Ha1i<*7^4@11e;-LVQE{*vUHLYXBkctl&iNv z6HG>9lsMe?1~06O&>{I(jNr~7KOJ;kBY@|bfLDxQrSg#BJoG;>gg1i(n`dhQY%wyP zocPFa2Kyhd^=FV^Gi-^a?I@OIfDEUl{{hP&1_?I9Qfg_7ApzwiScY@u|A1vEg9ITC zB0J8ucJ?EFlD{>^$HEwo9n#4P;|*F><7G5l=s+LG5A+FglBmIQ9364odt1~?AxI|{ zS+ujA1Q0r4?-+s+3MMB>5CAe+gKVLTvmugyoB}s;k^&W}48|yw69wecuUxNURbojMR2MMHr5?%}O%@AQ*(UtDz_(k%u`jtHPRvv~V=! zQSUL3LQ+kWu{0S6iEJ4FHt%Zc2?)0c;q={2JrS!ge57I3B&=EjRoGxHIG0mT#?qx+ zDerdb8Z7-yTZ*oyfm;UST5=VF>tTfkfzkC)eAe|=Kn66d1xl#!R7fGIN5U8;Q-ksw zxTC41P7606GzzCd6li<4yJ}Dg(BW;)OV!f=j4wpxU_H1RK!DwJs6p<(A|V6aXCNLL zi*+&Nqwiuf5f34BU2GN>8yIail={5|+~z{YZY^LjoEY;Eo@Z~;3b?p4SP!rZunKLV z%V8nXYGH@wW;jb?>|?Q(Eu^*>`x9s^!J20E_zfT!gyx-d8PZ4RT#hvxD4i9MM{BKw z6p~dmSxu8QkjS~=#9a^Hi540PX%cxWuvIgyXPbM8Yt zgwS=J{a9>Zv;$DeI_DwC*kOoQh7;p3!VB!Fb7DP6h8uNkTk3K+hO}DPp}85(k|&@@ ztfiUMc0Z+Y5^I{(<1|1p2+ccZBhp9bJc~64DV=kW=K;Fb#sCeaX)_ zgJaI*XB>1fXZACCxCg_H%ohP&$BXHzLRb@sCz(t7u$Ju7f``>1qqpiX(;3Sy10hi9 ziatFvb|s-hhqBO_r!79yfzU2L*iiO5bz*FIkU{-T-!anx`3vY~i2s%erQ*;N*D5d> zfFf5x5jH&bHOMfy0)u7Y1W5Ss*nj8IU;P+}!O{>PPn@h8ftuARyqtgwT^g#N00h50 zR6m6q4OW(L>q85}g`cU^_B=p<$j^{Cq|YIR>SYI(DvWUEYzM=1lof&=hH3G)lV( zd>#`c&Wy90saw3htfVPf@dd}9kX3}w%ZiWJhO)l%`m&ldC9CD1lU0Pz%lfWS zS>J~a z`Gui%afkNUwBJFkP(dYv6$I9Nk9dy&h3y0=g#>1V&R})c7wsNH6@y{mDG++I7>KUL z5J-bW0F8BcF^I+Iwtqks@cIFGq2#tG4F}E&^SSL)3ein0rv}vl1?UqM2mdxAur{Yl zUAFQQPMIG8-R?PHF&sVIG!^tVO3&gQ4Z0b>Hr6M~AT<#AXCMUYNi+n*Y4cw!GPlF_ zWVoj3jzu`U_JEAtORT}}_sU+{&Q=1kZUL_+;Gu;aAeCXrdc$7o2vq>l3n5Gqf}72C zm}pl|@Ss8$L(Yg`0tl?dsY9BP25m1B3=#a>jb;uTw0a09l zG79ZRC3B~V2l9JcjK>Muf^9N>r1L_sw-5}O>iex6YK00aIM>uZh-U#Pbnr$-;20=0 zyQI-NuqD(m?;;=z%?`)Lps6P#v<3lrPu3WN1($vgU_j^IAO`C0i-K}^tel_Qwxke# zVih!~so>Hae6ubc0O)qD0E^-1^?4;di+4~0qkV)yN+51uAOh};W??u@0zNsBpediKLPB|`eY;`e1Hf#lacI0D59+me&*-u|W@+)BYlIksR6tB65CG3bb1<9+=|~e>iERXS16YIB<|RdK zEZ)(1(pCKl6j2A_R{|Nx+}sX5k>Q*y6N}6kwsYWs45EA4lgj9n-B~3qhwrFSD1t0*rh{Gz@ z$1<``gZCNM6l*YtH3U*1GL$BzkjTCV2p#s?Nr|76$`H;5;AqEy&MWH*ce3vg6?MdZ z$F5J=3ycImKp|s`FceJ~39v$gWjGQbYjz~)1{n~m9QdF`Dv+NYl(B5I?t=Z6Z{y(z zg92!)n}M$UOVA_!67)zzXblQ45_S}TKyN^UFr2PcScE%M)sV6K5o@@%8Vdzzh4GL= zGJz%&A(3?luvfGdzH*iQ7vQvQ^%LC5enwQIZDkKNOb>*iXhK_Ig$B#8t&la_Ry`pD zVod=)C}j;5uNK)lKovFzE=^^~Rogb=rkg5;CC$UuAuP(SCDjb&`o9F-@Ry)}`Ag8# z{u1=`zXbiO5oodL#kQW&3@n;n3_BBG!AsE<7_OCPVUan5?g?!@2k&s9F%L3!jtGaN zl8#3j**1d*yk3;Re85AeSpcaHmhr*MiDE6}uogoK$V+Il6cU-6K6}H#YZ=110-Ux( zIK!RH1yPN52zRJqJP?MW2^|6}G+2fm0$H;i!V@wemInBsZp)FM7nI46jn-|&mR^A{ zD1f%Q8R(UU&>CbQ8emod2s9lE&2aLp#v&YG)PbrDh^a)~CF zA(2G^gbsT{-@b})kpQRl?Qpo0MIb8bXt2+=1o$BbG)@c7jw~}Q)Ul%lf?}01 zJMtu&wd32bP2nA&04;&)GMpxsSY*y%6M#PN;T`th_aS4aL^$jfI#xG6(WX-ZaG;ts z%s(L2!7|=?R1~Wa8tFpX6H-VV zAdyu?=W#v73Z7=p;HVXT+CUwX>ZJV1O44cxZ(XNFfQONf;zLG>o)9_);yU5f0FTF9|0K zBcar8DoTW4uc8LNR7a^riK)TH6g{jEgVgGg8V44O1*|WzrN{{6k4NMh$YbkJUz!4U z2ENpQlzxE=2h95t3vASv5JQ8Mb$n?W6ad=0BTw5#9NkKX@kq)Ybx}$KAqLa3U z-{IkwG~BYb#-(m5BFshv1gi|_TKp#cdVmRkeVG;JxOvo_U?-=Z;?0lAmML2iBq=wGSPiovx zpwzig?`djM1smHmiq0q@H&V!r5OS45Zn%&u7jk7nZkUiO6>>v_TnV2eMUZO;ak}3l zgy1ifnhxMN2y5}DkX-B>Q;3uUzuXLjpFq85(!$gXkLA%|+WR5L>e2#F7t$OaL1c60 zc#e<_L1~W13fT~p=6H6K4MAy!$M1<8OR3=TWJ+Zr zXP zq!XpfydH~;L~;HF%TprKlf<#E%p0)OFi4mAuUL*zH1(ro^Rch-aI~H{_UQpi!S z{Ftvb`xjqp_7Pue+8T0{UMnHjlFymH2RTalUC2?&mXM>ATky4J=6tQ08DDEEfgDTO z6kpX*9(cfm=J3o2n={7~9+U?j_@F%Sj0@#~hdtO@Gd%mj)|%mo9a@WrfLJPKcv^_< zU1oSDh?e2GCAQ2I4~DR1rg)Hx=I|sN&Ecs$HfMtG57`{SSBQKcZG^nIkD79QR9)8@ zdNIM*=|=nM39h24erjThXW^)qhS31`B`v@uTS*E)KeZqH63>j7;`?(6_akC)WLpzc zd^ycwN5@1-3~@1#%6eO2}0@W2MaaB13I+hYr6+A!*fxr6YGb`#lZG> zbO<_kF?J{Tm$Zji_gJJ8Zm|Uhtuq0i(368;kr6peSGx&=xCn1^ARLib&3g(XqlOSgb48zp+SH zt`?@|0Z>Z&fIsADAMk@5^>R7nSg$nq6yQ7rIClZgiH9@oCFC6WoOw^kQ64=YM|s#o zj`F~lLzG810nS!{`$2%S=HX1c@Hz4=L;cKp z4D}tB8yRoE=NTE!MWlrtODqCD3ZwOIY3u@3o%zwsmBYeAKxv_Eny%r`d z99Uv3U+m%7OVp>^;2MBc+ZC&I**mishU{Ii+z5L&EH}=cwD4ky8LHhI%XRtUYZGJU z_Q7%^e0{OpIA4<%eOO{f)CQj~hC1qxMUbQZSO_`lj{_k`{SkNRC>(CuQMeodPQ}BS zrVBYGpEFlLj^d_5j^d_3j`D~X;9>>17y&L?fD7Z{O#AUU5&}8i=W#F3sL%K1Dw_BC zNQBaDgm5e};`0$$Zln>Sct(akkKUbR$RVK#4!Egqj6-rW99S35GUSob1dq%ncw{%j z1GG>Za>#Fj!=NTO6g15No=v7fE$c02_}IpJi&+EYsJGNZj`c{hIw3bz$kp;WQ+%*v z;Y{)Aj$+_04W&E|a+LB|$WhAG0^ArOH(JP5@i|l6(P8PCRPZ@c2Dx?;6ZTo66!J#> za0pk?lphjP-0G09b9-1?j53UVa78qqn&PgR@oo;&`Y5c_@nAFDNHYxEivd=N8Sb9w zf#Y_FF>qpz+YOTR&f+QC95)9bd~38$AwI`TB5?}Vt`~^;3>Mv5rwn&4BUEc(CeG}C6O;Fc2L0#Vjb$t`m^-WOMH$h$B1a*BA)b&kJ*Ed03 z-vo7i6V&xhP}es>UF+Wjb$t`m^-WOMH$h$B1a*BA)b&kJ*Ed03-vo7i6V&xhP}es> zUEc(CeG}C6O;Fc2L0#Vjb$t`m^?w)CmHp5(hI3W1(Oe%`=*Dm5qqklVBDWgGZPkz2 z`m`g)Yds6mT8+hOeRZVPzY?eQtn~$J<1tw=BCD}@tm0^_d@NSoIIMgWR&5N{|9u2j zar{+r^ws-+BK~Ug(N{<33ISIk-f3|i8C*voj2DDC-Bd^R)RDb)nP$HM4D6U9)Lx_>MT7sT={s4^uO#!~ms3~t}~ z*2Y#U{(Dt4QJZeoojbD#%|{cJ!k6&*Xrj;HQ~a$s-v4h$6Kw&<@9~%E;y-&n>ZmB1 zXel(0e_Jt>L?Xb6qKO_Tl1NU&k#O;!04ItjI`LzPWI??cN<@!q2&|nCL0vsC^oHmU z>48cAPev2PaF(5-{%=GRWjVi2G|^8NLATLH6Lo;!p#J|Lny85cf1lg2d-pI0`>@WA zJ?$ObdV09`=qb1N^m6WQgJF&{lribuZ6cI0-EC48D##@#E3#suyW1qBcDJ#Y6t;lh zjdiL01&)`iA3&T(A~BKR?@)P~4i5I7jvh`f4&H9|eZa~Isd3$Ha$}T=?%k4OQsY$d z-EA^blTsB~KrJdhBbB4rfl|D~QN&-$3KTu;d-inoa&vKXu@8tyP5@ETB9dcNDv(ea z(?25t4r_zx3ME(0QT&=xEQBArp^W%DJDy@s4|@;Ko=)Dbp6>QuitaY9jy?Q9XADTH ziUGM2QdLkI3juVyf8L`9NAFWg?>;9X{)UgI=iqMd>geh0*u%jUbXK5Xf`kdF(J|TG zZDO*cVj!+A8Y4A>qxco2xP_yLzarr&Iy%|AIJi4_^yukek3V>(u~HLKV?nO02#_^3 z1|pw=1)+6Ndyb+FrMS_X>WpXqd5R8B_8!hXy**vM1FTK ztEZEjhpV^NqEQ*}6T=iOLC&69r~Wr3m<6L3c9I|wL1-emx7^*!UED;xuJJJ$%7k1v%Mc(>lD^P4VVCpSkI4{ukmR}q#|!qzt5H$_+@BJAL1@7%MeyoaZ|qrHQntT0x9 zxREhz#|Az4Zo^Q!9_AcsgP5Y+zNd?mlZ%(Di!o7om$#*)(=*bzw(mqq)^KfqS(l`X zhohUfgS(r(UraW5y%DpDL^VdSrB567(+b*=CM+@r2Gy7_Zx6p-5MbCGmkMencnX`T z!MMope$|F_ZA0d^HOXm5f@VVy=?uK&;iV2Q)A6zpFF5a*;6!24GC-e`9(8rEw}Dd! zm|xX4rog2&u<&U^8rl-z5`n~i!^?WSY{Sc5yqv+yb-X;r%RBJZLGmeHKF14#7i+xW z)MC;y=u?rlF{#n|BFJG;rnWYP%PCaU5<~$0%UBVTjId+r;~Zmx6N5?17^-8Gf<~y0 zg-GP^D{N&(lqyV>A~5?Dg2Ms}IV_6RWv~#IvvIByjo_*hQXufRfY_cQ{tU}F^@fJD6XLVKAHN5KI-tHp{H1`eJ|Ky2_13$)-XoGWY{$iAb6c~R6 zlYB%qYGsYW08Sq?Nn;xp%~gyBoCKu*P)1*T2S{t+*HiFKEo^NV4IA2;*nqoO*rLyP z<7FgXFjh3dFM5$>c)>Z_1gBY(mY-7|=`pIX*yN1#c!9@1sj1w00{Q%RB$D=QBYzOqSoz+D>`31Tug8-Hffng=|sms6Dx9bo15>n9jTTj z&OmE4CKKtiA&Jm8nH^TQlfabK9EX>c9jia}%6>O>nw2!THUkB{~Z$ z6^^f9T$XN_Fax32002BYV^agKxa)Wxai8 zON^tY#H1KUmni{#ynw#kI68PCj5={S`pjFW1NJomdyR2yx&R1+Pu6J10#5oDNWktx ziNp(CcWzr#TvwRj8o&hSYm=56jgzGFslGT5GJx7|K&=x{GlAB{8QP@fHZ2Vm%%fqi zv}va-p!5Ded7JKT2ER$e{wEt~ga|YaG()2)>$c1R5_1F+N1GwhoQaXjbD$zNF+md( zTy2=NJk<B07&M3q-$r=(y}ev9kDyp^#-iQRT=4Fv8h5swWEFU`+-1UKM?qY z9W~qQBW9$-FN%f77cqfIO5i>c`08JL3(aaL8sOl`O5oR?f}hU^@CpEjIGr#hz8lbn z>h9R-Jah*;C{N z`1CIb*N<{VRz{{_@e!%f$>?2t+sdff9%%;| zjz10xl)F5IezE^lFh$^)*Uevq#96QQbrws5N0{lc;$l&OY3h^tnX4?D`h z^FBVN(zX<&ZbPNMu9ceI2B9MnmAW4V`H*tNQ3B@zcC4cS8z?}XtE5+Ug34Q|h=M0# z`|m*HcO)ag>wRebuJu(FqD^m(HC! zhh#>DB&0?qXGF(@;B!i+gw$k7D`MeOo*(r=_c4yAZhm`a_oZ`YaV;fbaVZG#{daUFqQtm_Wj_}gGL7uS-Q;p3Oc>s)(zISP$Smw;x=sHr1k zQWN4*!`KE9K!T~s@NrQ@Mb)b>K3&oF_=sI{nc>5v2qf1}1o8m|!ADIINP-xo6$Qa( zRS`%!JWdOY-lHJ+@F)UNxq9LQHhzL=;DfmcB+}hk+e*(U2tL4z zKvccGd<9vaP>=@NklGehgEw$3h&urybZ(o1TJ0f4?@Idx9Y=7tIZ0q}k3!_o^#D5< z#e_wqhjE+JLjOKWM-tr45HX8#>Fp`3(<#f_lpyYXhyc@jx@t}HI|af05D`d%gM+sq z)^!Sk`z9ig^xn=r1rWL*Hp8735lCDQ&mMXbae%llBLZ}FaqKP7`j!q2bE%ne6co?* zoT0xGTQNOBe?8E8AnbTV+l55OWQHWelB$bMm(C%OvR3aD1tWpo{9ak+-m)=H9V#^>Xm=ckE>s78Yi2ALbnu@0*hnX5YE9y?<6_jK3l& zMb*=(XAl3RgyjC2*>UmyG4XM+S;}O8g)#@~{1Y-2nYrb( zBUbd)h?H|aDRtGiB)C^4G5wl->mlV<4^sY}hZJ___`+x@yBU%W^P3Kb(2mMl{Ct%HrLbQvg+1dmg;Et0Ese}U_X9=oA+9;h|Nbn64RK?b z_;4*TWgN77-yAz>LOQfI*by8O)-+P^E}JgazzZLxC8nJWq~zMj77>kzh>w_nhWpn> zlxvFH`|`gN`u*SVS$>~3PF4lb53B~kg?^O(Kl}&zr5Y?OaX4n(wZx&wLej3=P`KA1 zc!|SpzR(uGX3SuXoV2&Y<{3NoRd=B69 zmdU15itFcy9a#invs*Qgi`!uwLU#qKv~-2$Ch=V)P3Rjfxwxqmy@r7 z-#48ekfuKKv?DsA*@e`psSF|(>N?|lV zb;j@4e*>M$f_fqATL!M7-bmr=+5`M;izfWlgFy*(gwbst2%&+WHkT7m87|YP0=M)P zXvU))vE{sheO-iMvw1T}yczZovmU>(E+;;6(pyfTFZ#)ezYLd_RFpgVqNpcPy+z)l zW5#jKSC4MKdPMWp<;_o3>hpZq5R+- zCMV%?5+NI7fQ<*9paox45^$p@))0#Hi8X}$05}FemCj;-1GfIqhOJ?+MuTMVR#y-` zQo5BoQnCciOgh+(2SRcZ3DQQ%@GI@IoOY|A|4Y=zU;!(zVLJfy+M!bk_*q3qJwM|@ zRm8|itenKjNxYmS$VsA{Bx#T)&_e=5YC93`bcnVRhJxnm*#3$nOf0)KLqY&E`*UCx zM!>KsG(VwvOuxiH^;}3YWG=PrhF`Q7t7O`a7V&O^U}?fIgLi5?!(hoO#~`+xB!jI} zbd2z>4u%9Gl(2xQx^p7Frfy=4Nn;R0)|H#G?_-bUJp_f&GGJ#9aTSh5+<-@0R$M7* zy2)V;(BH3xoG2M=5RA@a`;)!bv>@8S_AB3*Fhk!qOH4EdYHS z${;C)M25Qxl*c1%TQT~FUlcn`wdl-7qlRE4Yy*qyTR{W=8Vy6sWor;(n}-pR%7BF( zhJ0X^2!zpeDxHp_mcR@evIS6uKasegJz>W!3nBZC6nx z*1!!Yu@({;zHy*RysfW9w!q%Nb+z+^!StwIt+7>x@@@pS3`)|Ryl_et@hu7!*iv8MpTOcp-N03+W*BMgEr2Z)<0K$nJpnsz^~653vcn`k;W8*fvw})d z&^1)hT__+1I1){E>)@7I4;P_=o9wVcgTVTeo%$${0afU365I40Y&QTPm|!<@z;{j5 z1TFPVpgu@(*QP46nIA010|1|4Yk?O=;xia>mn4qNgNq>vnjgnyo6wbsG61^kJwpvO`jJ=*e< zINFHPXU+Y&?N-X<7{>&A5HLAKlhZV5q{$hYoP|V&Z}+G<|DkWrSBZc_g?5aARhoE& zdlmA>uY>&I>mcL4*xwdgYj$>6Fzn!$z^H%85R@V|;&VPm<7J@1uBfg-#%>!lEQ784 zH^|}!9P1zLY`0VYxDF)I34ezal3O&n4T%ij1yfh}@UOapu31=)24mx^JmR(7$)HgU zTjl}i_%}?5%DmuP<{{8vTjnuj>~>(wpk4n4S-xdnwzJ(yTjmLn#FlvmDJ0Kn@&XbW zzR0I7^Dk(b|8JTX*N1<@4ycUa_~t-^HE#>ZFlZNswJ~-9KT|s#fEjKueMg@iJEKF_ zrh}sGE^1Uu07Ij`3n?TmArZ#hRN$K)gOZf;xdg~8yKW#q{0VAxzu@3|d9`9&(ho*P@ln+jFZuHx`cP50c84}+l44sF3M*dG6eRCk|D z+!T8IWa26u>vZ?8ye~+w}iT9<>HpAKuStF(ft)$)gliHrAX z(?s;s*vp6S@F4gOp?!;DYAkmckfLk->80>B%EXIf z;zODArim|2{Al7&lK@Ecm%?IOy-EawwaZ^YHdqS(6=Z{@@LxeTST+3>WNlYsm%@fF z6bwfF8x4uRCaefTfCf9*^@EJvb!b=yTla5}twx|0TO-fuMiG06HF@4K!H0=0Ju)gD|Xd(f47Z$B~!eM$tTd zc6w{zThy8Z0Sv8~4=E&SNQA+*kd_tEq!<#}ZNSn|LVw}Py;Hu6lH7v}ivc!po|ZYtrma?k{ARspH*I#p~gy>+U%%3z%;uGCql@^WbxVZ(tbzSC7#LWV)H;Jq&T3&XYO z2n2w4yXsL0fX>RUT1Vp@E|!d}bWm#xey?&Y0Lt*BJbg4~kCqvV(STe`7pG4M9{4-n4kFJYocVSEF@BAmW= z+I61RV~3r|H}KX~VhtB~jjf)mPsW7Zkk-X+rNu^K#N?a8)>4TzT#&>(eG;ZdNMPf0 z0_Y&m*GD!pf{gBA40(Y*vbhmtoTrQ-FVshFVFVdFk1=HYVhyzRGqADzbz1v3paZR) z2(67#+O5ps!nO7?r~>OQheT-fm2e|_8(?HNTdpc`7%7#g|Je$P5Eptxfz$&A&5>-Y ztU}Nj?j3(y+-O5QtOY>u3JtPC-+|l0Zg@IUy&6zJDGbT|T1ssKI-t~@Pn@j&0ko{% z$IE+ov4jh!-WC7?o?B7OFWP`I$E+pl``(}|drZ{7#IdlekbTLW69rj|EHp^8#PKAY z41kLUscY|$4FXX}?x)Ir0WBy4%2uD_r2}51 zc=-=rFcP^{8@O<~A4H`YxM%yVb#;#iQwcV}VJL^>C`}q65nBEnEjtg1>?^>O;ZKmj zYH*@ft-(W2$Wp5~N>SqY5>14*gFcIkXAd|X2xhjfc6dk`UIua+B*&I;2Xt*aLjj0! z1^KfasNue(#W$dsK@c$_3_5Cfz4Jviyih@Q>X$EH4zi|4Wz;wIxIi_;pl<^BG0PP| zPQXr;J&=+~&^zvfo{w1X=$T=U3tic+_dvO$)>O1XT<=?W*mkADJ_l;DI#(RI zTd8}q_%Ko;KI`!W#9$Cq_96G+{TN_0*pTRdtP^T|Kh&f?wbrn^>pHB!6f6hh11kyZ?*9QoMtXERC}xe&9x@DSEqlcI@4wmi z0F;X3bzu~CY!tFhX!$wHjGvnjEt&+mw4LP(0Mi;nXPo&Gr7~gIQRj6A=&nEqW+QLd zP;>%$tQ_&u6E56f{2kPTk!@)510=$r+YN3s2#O;M?^d305Ab$SXXirmKSQ3ua+xb! zuu0jzBXfg04f4ZXSZGzvPmb<(UU1LI;lcs;%z%w87|#$GP+ObXP(TI&HAoO@H7Giy z9c;ZJ1ML3`EYT^uLn?FSTB{vS^GHW;*Oym8Yj=A_!uJns`E@K_Ib_gW(<^y`av{pXR+G&tSRGJONN5>kB2a zMwlYN=xR$m8N}0~+VW3g!3f+3(P{JG8M#onW%?ljzJl9h#0m|T0jvf&K-$4J3^E{8 z2v9=P_d|*SP^NA0K)BPO*5U>ahkGUhE*vo5;0UbK;0UNeg4p1^7D!xu1xHf;utEph zNPqzW!Z<;~Q4k#;K+<|Xz|+(EKm?${lRiqua1LHp1(;MLf^} zw{Qiwhyn6eQE=hhA`z-Uon%NfSS)sgM7W2#6sWU{qj?478Lm7H@`694>kC;|oMDxixEo~ch?e_I@nf^|!wQf2`#;ABIh`$7SK z{RfQzFBEuPwM|k3&I!em5CY`= z1*oB}(;yWDWPQ-kNrZLU$AV0nUjTVsWsC^ZEgOJ!p|}HP+FzWRcd*R@C92$QD?~E2>^2a9b)gJQY1+Xy51<$X1$oy4U6gwR zq_38HBS7(TZ-P84_h!g2NRyX)D;DHa`r9C{E0KXIO)dW)*1iKSsw~-?1I(VK;0oKxra4d+rrL4>u5R=EHwXi_`uzi!e+km8th324fs z%Rn#?j$={>7DUnbSAqVDN#qCB7!c-{niWd8fgcT03={=>I{_E%z6SfR+ua3H9J{Xr zP1$_|2nJ$u?C!>bSQ@_vXnu=kg%a$JqlIsQFdEYf`>z|*2T~kk`hlj5832NTa2#W9 zV?jKPKZF|WA%6!ogsCG*OidavGEfYgRX`IH6H-JIvjWxBnmEpo64J!(jg+t^b{M3- z)5LZ{>U&M}+>F7l<}Ox)_r33<9hf&Iz1Wg-=u1ePY>moMcq5iOyKt_VJpfg%7ClAr zhjfg0=HmPid&sNxr%%+S{i(Vh@oN3?6IytSc$S5uyjnj{Y_7pH2zR#RmeVG2%Z2%_ z^gZSU#EWv1bGV8$K35UrHbyd+-tuus`54?b`UmjB6+z4DQcgJUzm<3*fY%UWC6_ z%)yr8p4b80FGLW;V&_ml@7_Qa&@JD>j$e)cTp$zh`T4V_cC_?+G1e^6S*Hys0d>BE zI&ql4hrJ}Ok3`Sl26#TsHyZe=qHgH&u|MNr2^}nOb%=VAJL&`0!x?oS`-f^4ZH@rE z|BmJm*nd6i2!a$R>j(i&-7F9Wf`M?Gbzit zk$@xidsROpE?f66sLSz*w{JuC;;K?zXc6y#rEdO+sOEwJzfW6lwl*sVv>6BiLHh;m z;Cn$T4;WzcCr?@bjUJ#nX#NT`zomR{&ZF({;_g-u=9j`>RNMr_y_u!`DdWtWI5+<7j{E zzl!J}+5tZish?-x@)MB-VDJ-hF8oB?0g%iB*sy;hssf9fi`CI#Wb*z{EQ4d{A{xL` zE2im1Kr^tMM;HrKr^tMM;ILBYdC(^W8TvWan?Q>$ASmb z3Nf*qv7csILjexHC9sE`E$k!@0ZZ~1QTn3Gbx3j;JeY~#YRN~lbwbubnEQ+IVe%Zph8V4tAJpjQ~Z|T zE3;I8#4`ZZDq3kZ$fDEkSRbykNDtzbIEXoBVwj?+%jcX+L)0kcV^`APA0GlOnZwop z=%xqO!f6u1X%bH;r4081f`NuD6=EDf`%#qLPUKfr>?n+bumO90K$Kg-YyEC+yU?SE<8VEe zpX4ncqslj8c@s}L+zCVZNGxyRDTnh;ERTkAZt9AKgIcUSL9ZhY9z6gV0TI?|C;-Vg zL_kYEO2EC69$YOBS+u;}t%K`!PCmZ%Ww$V|$M9bu`WpZIJxq*HE=>psY!tV9~ zlP)#RK5T;TAK{f_PF2v!;9Y)BAU}4wZTxjX*cQ`qV87CEnXWdUUF~+PmhZL~2a>AR zjMn{_VBoG7N8n?f1)r~zJ!t5;p%CP#AN@r@Fwhbz0hQtrI~-*|&%7IkO^dAu6+-pc zcR${~<%DDA&9Gg7!)-S1(4gCGH}I$)uoo-Fw&ME4=>c6(2o1Ln1h4_&?i{>`&OI}v zM*HkAz)2t~9YWz5H}t;b0taZO3r7Lx<51%IK#!$kz@&Vr0)m0&LY}EZtG^}B)Bzae z8T8bU*#l_oB+~%p;8`QRYo>Rn=v^DVI}1B*p11%9wWv=Ia_EHko-lVBq&kHN>kgU= zSKvTc@^9?ZjXu2n$*akKmVv|lGRQMfm%rcgDskSu=Igf{fsg(63f9cm`8hIF=jZ>u zLH9n6z(%e z&X(YLbG?XUANWW0Eb1E1Fxt@%MO+(EK_3+AN^sKagUJUrI12E4g^~j^MHhcc^Z|+v z&J;BR(V27OBb2;7Q}VMD?-LNGJjNv)v@tuQ$5D9w9=)cVrG7SW-2dq5Gf@4MleOqQ zpQF!bO0s>dMd$e>$7f2?F4m&!XdL$xU~;A)kB7DBKHurZYmlbAoZYUR=7TGF92Y64 zxh>4TcJ~$_AV2p4^f%>aToMuTa~zxpJ_0P}1Kiw$4LeU0;B%8Ot`1#`%#UYUzp|de zG4vi>Bwp8>40ib(ejP~MpSs2~28y*-QNFI0R( zEB^PF6-D?Ie?`T&w4%tD6}9;k#Zd7bttkFw#i%HVGM};pD!-?dB|opsX{wL+0XTu0 z4@z*W2E!(at%tX25Rd8!-)UlNBlSI(`U6Fo zG1x7mJj+V{xtnuZCjjSE&|g$Q96OxqEH!TH^Ial@)t>}GlfR?z&&hNRzfy95tj4ZE z9rkdjF{>i3wxk>1({r5eita{DK+8ZX`FMvK?+3td0FDsdr)NAtr}_E1s7KcT`4@qC zbV?&syMuv?K#4jt*9L+y+u2XYMdSz8ceCQcf11IG3(7$~IslK6*PUe~|9KKe?GLn? z9$QTx_WT1K7cu_aKsNwssLOCxU0iRtk)*=SE#_G9xfG&W!E_j4JU=vnt`bg2R8)-`Q`xtN}TyeSLsX`zIhW*!B8C z0h;Rvd)WEI?laE*ueWc&=j)o)zQUaL4Fn}eS?8u%x)=eH269{oTmMY z)(@R!0#^g$N1rPJd>F!`4s~&7Egs>#OI@v42S;lE4Mz<2xnDRG@Lk83#HHXr*@O(# z1N;b3fs<+K?DbnNb|eB0oJ{{0oLm?(e+6vzNpw1t*Wxkv;srjX&pjvPz8ST7mYguJ z9CvQbm?bxd{yoY55lxQ?5tcaZ-WD_q+{}c%8uVaqqaKt`g&H)Xo^>Tq=pqX4DYTo>jc8C2No8yiY?M@!(pgUW!+Ie5m z1tUwTtIpd%`ZJYq-JvD(5tq*$tc1N#;V0eM4jPm@g+MUSO#YgF{-iteX?J#j4!To> z)yjNDm+MY3NPni18Sa!IE}uJC$(P(I1r5rb3LqG0CJYWywDwyD$6f$~!GRxPG-N8m zmMM=LS=g|L$v%*%#be%|mnv`!(b*3?>>2_(uu)T@3lE`vC@}M)4hQ68kE=p#tPs=@ zNAOn`iw3C%4#xjD>|s}ff@mIFP+%@gjTWqB3)azs^(e@xi0ZZ6fyAGy@d^gvKnhc* z+Z;98z8R<6jQ}jE3UyNcQonfB7QrDy3pQK^`^j@;)S@t$%c(<*r40q(OB37T=Fgi- zrFsqkR5)WfR!-h;0R(tW7A;_~!CRpS>S&vV%^ke6!yw2p@iSp4rQX}2hv69-|LiP$ z?r8cp{PO_JjV5~$5hL_(F>JUDc9@aDi4w;LF_tluLI^GZ684~W+Tx3!w-};bI){UU z(H6vY^Z0uaH+-KKrg|DKYK3p)a^A|l1XV)wpydp-h!{ z4D9m!X7OM4q;t%#EHgR+H$ev@&<%Uo^}y~k+Oym2PoEwUyj`J}hV7dL%e{>H{{`C* zc$CY7Krql1ZnLxdgAE3BDKCTFACSS*jv?@%w=EQb@3#R9Looz<*xi90e<-*%f4Y77 zh54h-QzPATurtiz?Fe_FI=D`PCNtOu-J4|r-$@1c$J;}YLp;KpVILtLKD#;!gqj_~ zveV{cgyl)7@S&FF7!;l&@+)f@YG64)JOK@i%v0FUs^}RMQWcE>p=OV2s0-rH*=jFf z&wpy}00NLf;gTGGKE;dK;~&Np6~cAY z)qu=&#m!3GIOE0@R?w0N~9l+Vd4{Ns0Ef&m$^}yLn8*xjP#_T z>IsK{APfjVD~?=ZNZ+DPJi0tK&2**G1NLUT~41?Vr#G#1Wf7qGyH{=JwhRa}gEM)L> z70jf;ScIeK_jIE%2$DD}1f;>3xll7Ul?3czCkZ?Lrkas_XZ4JaVG_Zn`mzyU4%0l^ z2F5HKX5{p5v*F9#MH(unX1Mu4Ffd4J*ai%YFqLg(upH9^zaNMkg4Lb)afh0Evs=>j`9Ee(+yobsh8ZmfsU@RO$JF5eNS~N{B0-Ay4 zwQM~c?T`cGXtoxxv4?2G9(FpglZ*!zO0m0Y0vs|DVZ&vxyDBnjQ5a-v*%peilAr*P zblJdqu&+hWaUl?nH0CK`DhJ|BrxL2m#@|O611T|B4~Mz>i%#vGD+T{;o13_0H^>wP+kD^R>Dcr&hFj&R44D z=|mi>*YN67@!{C#Gt0giY58~A=L;xQe)R)_fst3kre$EmQTf#$%Q5vpex(xBx8&Cl z0E7Hm3Hdb-AelL^VJFm3U~v=bS~#dhChv8W0yu_tSqD6|Z8RMLGy}_dggL8sQR9KL zqSbnSK*&iAa6SX~5hv!fx zESiQ)USG@M7<`Qbo>~b_CjiaBavot`UxhioCh`MGI@R7569r^7T~Gvq3JB38CcFE%<-C+t)(029J5&I||3(-VWfYRnl}Z&087BcH#!*2F!U~#+n2{a9vynUbr zjv-hzz*B3a={lepSYC^8>^?9@gmsE$*8`is53~Y zod=%UIht+Yug#153BTmdh z{Fwh|BfdiOP?LeMe2BlY?$L;^K?d{xn_0;BL4eLvvytDTH2Tb!|KC9=mH$5g!N3Z5 zf;hA3xpRQP_k6*Ire}ZP2u|tPVdV^M0;16LRP?{4>AwRUX!?F=`bS_T^8swwP5(Wx zxLth?nubi?e((&AAz*(5p4wxY{sCwPme(R2yC1+DFh;X~1U7#^_&5h}&_DKr|3EO* zF2^hEi!ps`2fe@iUjb~-qExa&fWXh( zZ->p}2h|C2fnP55Wuz8ONzflgcZVr=86XMnQk8s*y9$5f5yXuE zY}k$~qFH#%zuY#U6`2C60=H(;fJKhw}=2;KE%H>?o? z<#{8){+Q&?G|Uo&ssA#}GK4{Sewd%}$+f@GFv}6j+0T>UbPFT$WaFAS_t{(oo)KZLmXWr!ezKzUw>C;_Z4}{X__f23lZ^zem8zz>pw;1R((-VPUwq z9Tfeen}ipKV_vSV1ZCHXbxN5ymfB3wZMvQ+)yY1N3nG;MFJk11MfY&dmPs z-S-Dg3qu zP2tC7C`t&wu|fAV{Nx6OEQFspqLJ~-NR%yt_@x3$LlD3EL{s?bDVo9$Tu~Ic1r#UV z-9Udn-uMlJ&&C^LhaW)_Si>7y;h(;v{z3Tg3k{zLEDSXKn#8QY!ayUqTK=yvl5wcx z*9indLe}`X^NjQVg7s?&!H*gU1kPZ^{0m1pfXso1aXBF01I-3WB9JWL0R(}+66h13 z1t5Zdq;yt=dhn!(zrg$s(0`?%=~VO=6kF>W3U8WVzl-qS{l4#i0b1xYR-}wSY^>b0{(o zs9zzwW0)m@7Vrpicjq@0SFa{yE;9XGeSHH~^Rsc4ZbHN;w!7bqd`o*Fg3Qmw=ikWu zY<&Lpk^8Cm{1e$;2-L@GALkeut0(!yK{sRqK_OX z<>}L^|HfGABI9#&7ZEf@HjFeu_QVuQ1WhO?-iZv6&}N}kz@k%zD^PUGZ~=<8c_oJ{ zxPrqKbmnp$fucRK1&ZU54bTE>{9HYGMyHL^Z$xgDj+XSqEV1|Iw`?P~Yy+2C&*esN%fh*3>$qiWxl|aJ z8_F#U;gkve2GlQjx+W9|)L)Pi44~v-au)KVC^$(I#6^JVxOj8Q2rkOSNe1pf&*+`$ zzhLiNjf~H?u@_r!C7zlIBzzB@^hbeGfh2*bYohc(g1MHS7&u#;fpK`1fhyhIih<&E zw;c%RPmdnV+jx=}LP!A?f6fd5tLA_SRdFa`Tw{rD#UmU_=rD&8JO~t=219Ic*&_HV z4p6vS(RbL|g8R5~dpQ)@3DmD}l8ng{SL^w#Jw$L9veyO$gt)IX*4J6e)1z_n#HFkR zg4{!Ri{T8Fib@yoXrpn36N(bL#GwRnxe=;N@I05oMQG?UTpfp^NF7j|nXm?E?o2-; zVJ}t3Ha?CL?BLE2u+qg@hX|hJ1>u<EO(lZ$Jm@@{cy3MvacL6) zzmF3MTN5V|%)(UX!On6Arso>|Bu~v#g8d)a^hD0C zoSMi5@lF2E_#`OUhs+Saz?I&9kj${xYeTPx?~vGnSHeUPR~MkBz%?)t%>oC1{u{1G zQT_=3i$i_)PcHR$4ki3Iiozdezi`UF`!k0U{)x-|6Q}IEKX54F?>JmxK@KG(z~#ON z6X|S+uS(N7?k$&k!=+wxsaISIU#b49fRLb&&^SHPB?D7r)9Tl;j@dB!Ot z_~sR7us;G?z+;VXhNZ#TcGH7pllTi28xbM5Kwevegle%jIcjPP8gr^r8RtkqBVSgqBXpMqR*4OIC6rX z9E!LD#p$=JfoAvHm8%1S(RuC#2^$qmsjfT{+yKpxS&1@u(!&+tnegzb?k`8s5hcD9 zL44ZulM#gT#4W(1BZ1E^(UI5;6dehCK8=oD3P(;D9}}cCl7ON$5`m&M5`dy(7srtk zjO9=y8YoWeHUa&)*qQw|#txsT`;4ah(4heD%arX@8GqB<-cr_e6!Q))2noAwyQuyc&9hFL;I8iwSw7}Xm z{%!$lSFTz!BXt}==I3HVog(4m8x*J@J{3a4Hv+|hZ$N}kq?|e|{~R(z9UqmT(a!Op zok6YH5pVkn*flO#2M^d~)cSN2Ui=Cm-sq>T>*fK(Tlb%C!mh92;oW08ig*K?riQuH zT`q-p-|2est}rLYc;EQ5P1uLb&jp%l!Z8l0Al}ra;U5FVfyXHj z+9VI!IBKm8S_5a}@WX=tdIsL5Ap~!!ehK#j7xx_xF5XmR<5CwTU?lkmdjtge@mJwS zRq^U8Rp8wKx)tz#1Wn-$4w}NdB{YS%UuX(%>d+M4*`X=CgG5t!r;4WV))!6TeKh)f z4DagEWq7lZrttP6MG?Gbz-bD+u^JB6)Qke8PYbXz6x z;`tx`7Bvp{*S3gci|iFSCUQumlyOR=Pvou02a$IoPnDxYV@0DyW3ow{XrgG6Xu4>M z=!iqA=!xJhq66LqqD7*mq7|aMMfZ#D745b-AbLdfkZ6@%mFNl48qqq@deJ7)lcJZ* zn?+ki+eFWco)(>mCuc;H0xpPN7QHCiuYFatOZ2*Ew`h;(fasv;9nlfdhoX-}pNT#e zJ&{4iL|=%Gi%yA7h(0%YCHhwMooJL;v{<}YjMy2U1hFKsWU*AS&0<@{GQ=j;GR0C< zw}};q6^d1em5M!5+bOnJY?s(IxqV^>#rBK6jVFi1j))x=D>geSc3iAh?2>Q2SbSKM zSc}*xv39Xmv4@_g#jk;c0yCrtncR=j6*pS#=v0<@?Vo$|h zh&>bQ-ZUxpO6;Xri`#3lcVchEZpyzG`ydu0o*9?zC&@F_M7(myvkhdiEJ9Yx;F{V@0a+!&iEiCBp^i2{juiG-jn z5LZD3&OZD3{nJv0Gw~#6gK85{D$3-HuDtN}Q0molNQ^PD<2E zTvcq8XqIS|I4jX6QO&q0aYf>i#0kR=iR%)b5(mPrNi;d%km!-PCDAW2C@~^2BvHTO zp~O>(QHkrU#}aWN&m^8pypWibcq#E(;+@2_#0QCZ$!N*M@EFNrw*<*#$rQ;n$#ls~ z$t=kn$pXn8l0}jwlI4<>k`oDWJ~k~|_=C0Q+5BUvliAbC=WyeZiwS!vWQ*(cdAIVgEYa#-@dYDN<=t=~9_eSyDMtxl&uDwn=T5Dwe8{DwTTgzf)?r)E=q*QU|0COI1o8lR6@m zX;LLsBXwM=-sPlJvs8;zt5loRIjMH3ZmEk>dpGt-^-2v$-Icm6l^8ZGbx-P{)WLa= zq>4i0=5i9->v>c2x=r59dp~b_UJN6O zQNJ*rk;q74q%$@%av56~#YS0-9=WZImkwo&3dUi^P50xBT1FkCfpL=2%xGj>G-+Y9 zF-|kiGR`qBFxnZH7?&9xjBAXWjBds)Mn7YOahq{K`yS%~;~`^|@tE8;XlRSKkwqzk1}n5EJc(tD(9 z)DKBlN*|G~lCGAnk*<}lmu`@5l5Uo6lRhQ=GMb!~er|D9dO*5U`sj*5={wSQrSD1K zmwqHYD*a6Qv2@gLW76Z&6Vk7wC#9>`y_S9}JuO`||AX{&JlQ?}kxBLZ_W8%>pNqIS z|ML9K`Cap`&+ne!GrwQjm_IpxYW}PFZ|1+9KRy4$ z{8*VNnZ9*#GD$M=GLIJ}%cRL<$mGam%9Lv4%50O#mno7dklDMwSf*U2MCM8q*(I}A zW}nPKnIkgCWU6FN$kfQx%QVQe$TZ4iq>@uIXJp!B(jCvrT#-31)2G=klWWi+b4{j8 zrd#HQ%#+QeN2X7vU*`O8cVtFn?#YbGJdiodd@M62^F(Hw>vNe&nHMshZm(qC%0w~a znDNX+W-2p-nZ}$}-@?pcW-?FhAi2zZW*+md=XPfIk{!%aW*KuQa}RSLb3gMi^8hn8 zvXXg}d5n3Sd4gHTJjrZkwlG_nZOk*wbIc3OcIIW~6=oOnD)VLVb!IoSmpRDnV@^ig zX5L}mW!_`nXFg&+V0NgCGM_S^F<&spn5pZ>nN!RO=4-V#%xUIZ=G#Q_ff*|sC7b9O zCz~LfD4QyqBzx2_O?I` z*`u;mvemLRvbC}&W$R=MLYrhy$u`UG&~24HBYRf%f^56&CE3feS7bY7yJfG*?g+jv zn~_F(WP4@%WJ~1wWh(+6$zFDPA$wzSwA@b5Qn{USWpc+B?v*M?ucBCT&-Na zT!UP*T%%mMMT^{Nxl?kTCTHZ%%UzJWEY~iVkx8z|b;@3-w1mwpP~9x{-NrW{6G|WD<7@! zUVcm=ULjE-Ng+)kSs~jrU15ttrb3QFuEI8je1$@V9SX$?B?@H<woQ6s{=TQRq;(W`0*;MB$#o7Tf0v6ACXBqO~R! zrWD>PyjPf3h*FGJj8%+NOi)Zz%u-BJtnx`wyuW0N;sdR0#XQBWiruS<6iXD#6?ZD` zQ9Phnsd!ZJq++vTqvB4T7R6S@(~4&m&ndPmUR1oIcuBF=x>GS}!EMEBdLxRvBkw7; zn>|p>)p({@uklLpWLVmQ%?mOXWG={Bkh>snLH>g63wA6hT2Qv2e8J8IyB6$SuzNwi z%f1DN793u1WWmt|RSQlms9#XCpy;=T1*aCATrd>gxZrd?X>Nfs&q{0xY7xwI;DE0lS++Br<7Wi&M2K#YF9d^)M|QB>6+4IrT0o* zO5IA=m3H~`DD^7!DGe#zQ5sRYr}R+ikYdoT!{+nyQ?xoTZ$nyj3}0xlp-SxkR~Kxk7oD@^0mQ%KMcMDIZZjrd*|bLb+Ob zRJ%sGUb#WJNx4P2Rr!qadF2brmy|CnUsb-MTpv$5m9Hz`P)^Pwx0L&o`;~{3?xcGQHfVcR7p}vQAt(FP)S#5_uZnBt+G`m zUuC;Wfl8rDkxH>jsY;p3F_m(a_gQ4WO19QlgcTTW|h9MR+ZB# zXH?FqoL9N1a#iJ;N|(wFm76NJRC-nVRc@=?QF)~DMCGZ2ck$kE6Fc`HLjn?dTElxx*JPUS^fT7SXr!W zRvv3BYdfomRm>`3?PQg)CVY0W_OSM{_OlMK4zns*$5>UY8rE@Et$Qu&B&(6t!aBuj zW1VK5Wu0fWvo5kOv#zkNvTm??SbeNP)@{}u)??OF)-%=%)+B3+^@{b5^_~@_8m$_y znxLAjnyQ+vxNeGU)gsk0)ne7NIb^5mZq+@i`&198R;nIUtuQ>K+8alX zs2*26p<1h2r`o96q}r$2tUBRxPPN#)U-h=?km|7NebuXLAE{=ljjG=F$x+KwD^%O5 zwp(ql+CH_zY6sLBR~}V6t#(YU%)DN0%=3)eIkhWlSJgVzuB+Wp>ruOnDNa2>JxM)9JyktjeY1L| zdY1Y&^=$Q2n;i9n_W9}s>V@h>>c#41>gDP?)px1yQQxb6$o8Q6QT1x|xD~bP4eBS= zo7G#?+tkmix2s=Nzp8#&y}`9py-WSN`c3t2^;_z_>iy~i>UY#f)!Wm_l==h159%=* zaT@U&2^uLHNg8`YQ#CegWN2h+Y||*z$k*7XwL_y=qfDbhW2eS0jeQyiG!AMU)~M8| z(m0|~oJNjn++SL)vBUU;Mzv;xMx#cP#wm?+8W%L$H7;p%Xgtxls&Q+>fX2&hx5RV zR z3GF)V2JI&8X6;t(7VVdwZQ3`rPiw!ny`;Unh;(abnBUSa^&Ql{tv#eYtUaRrK>M-w zGwmnZFKi~Xr?g*bztMiH{a!mtCl1zC$<#^G$#uxn*`|}PvqPs;r(9>3&K{k;I{S4F z=p5Fm)H$YeT&G5-MdyspS)B_y?K+oqF6)#Ub?S8KT-WK=>D8Ii>C?$iC9iavJ>Khl z(23TK(@oS()lJrIbj#4q)Xmn-)!nAMUAI)XT(?4Zx9(ou{kjKq59wCw9@DMTJ)v8p zTd&)o+pOE7+p629dsDYt_m*z2?tt!~?j7B`x+A(zbf4*t>Auh%*PYaTsry>@t?sn$ z2i+LGSiLyCc)eu31ik4^DSByo>3W%ZS$f;_a`c`r%hxN=E7Ysd+pV`xZ;##ui-UTH z^(ys_=~d|+*K5>k)@#vg(>twqF!F-lMZHUU9eUUGZt8XG_2}Kw>(lGk8`Qh4cSrB8 z-hI6XdQbEo=?!F(r+Q<0&-EttUg+(MA}{q`>Alu_rx&FkqaUjuub-fwte>Kvrk}2# zp`Wdvr@vKyyMBRwv3{Zc2jg=6o%*}<_vr7{->-i_|B(J+{UiEE^{e!&^-t*6>Nn^& z>No4R=(p;h)o<57r{5Y)F6m#@zoOsh(W&31e_g*@zem4Me^CFf{;>Wd{b%~m^(XYF z^k3<}(SNJ|UVmCY${^Yx&LG|($spZei$SJAw!t=o?FKsxiVeyPDhzfS>^0bBkZHBg z;DEtFgGz%V2Gs_~4eAVP3^IdG8Z;TS8JsgXZE)VW-Qb16xWP+hCQZZ zh6zT`4J*SFjgpO0j8cu#j5Zr(7;QHyFxp{MX0+3&+^8*%>@wPGbinAK(GjC#MpZ^F zM%6}b8Kl+dw9y%(3r1&+I)XZkx{R(G<+^qo-7@Mmx^2{NG*Lu`j7E&^80D??72|8h9mWkCt{Zn7_ZasY4;l{{-!UFBzGwW% zc+~ir@tE)jeeUt8F^1@`oWXj~N$t#l`X(ZJ&-E^~QrfG)h)omol^r&f(>21Gb zrdxb!O;4KEnU?xAnzop>nVvPhWjbiuXWH`HZPPoZcTFFdJ~kaQePVh&fjl=IH+^mT z*7Tj}2h%9CII~2vG_z#0ee2TAGR-!d-So;b%Q4F}+h&$;R%o`vtU0K}tjw(3tj(;# zYvEuN!8$Avet)diR+Pm<^f@ncXoP zF?(P(YWCPH)%=OsbR0=DZ%8Iv%(KjM&9|CwGcPpHH?Q_BH{WHx+kBt-0rNxVhs`_v zs?2N5tIf}>uQjhXZ!m8(Z!$k+-e!Kz{JeR)d6)SO^PA>%aiq_D(0s`JmHD`NP1tMm zx90E6qb%N=Un(Ne7Mm?HEpjY!E%Gh$EOMQSElMpaEOuG!wm4w1*P_(npv7T}N{eF_ z)fOi#YAot38ZDYFS}fWu&RCqYXt%g*amC`QMVG}5iyn&si(ZSktz^*RuElMO%LQcE z;-1A5i)R+&7E=}z7FDZWS-i7|vrMo|v`n^4u}rf}x6H82w#>6Ev@EtPv)pZ2VObQu z&+>rfLCeFIM=h%?k6YGS)>$@Kp0sSSY_vQQP1-EaSe~`KVA*bY#qz4Rwb^7t&Uh7wW_wN zv8uDGw>oLnXw_`hV%24J-Rh>*Evr7Oeyc&N+g5k2?puvnjar>^d}4KUa!lO9<&~^zGFRXJz{;| z`hoSR^<(QX>nGN&UeB$^ttYHsT2EQOvVLv-&iak@N%!~GwM(Y0FRja35*x5>$;ni5 zY{?dvh9!+lnwGRIIkn{alGY{9Gf2;p-X(oY2A7O3d9vi$lIKe%mb_Z>a!IfE>m~1& zd{}ZZlf>G@+a%Z|+oaiSu}Qbt=AUhoYm;Y_Z?oN|z^2Hi#HPY#m(6aQ;#9KV=8(++ zn{oHUHb-qLZSHviVz|z5`BTFAF9bNi(X_W1g zrJ4C;a%pD{iMCC!jkWD@Otnq7&9=?8&9lw7-EOPZMAK!?Qz>!k4D>O+ZNk4 z+q1S8Y};)w+jiJ?+FrB0Zrfw~Hjdn~y}G8?wtrQh?Zb`zw#i`wwwWsiZM)sx*iPHN zwY|2Pe6WqSi?K_vi?vI(OSDV3+icevzSnNQ-66Y5yR&xZ?Jn3|w7X@+e19pRULw0xUhV4e|?%O@Edt~>{?%8jN%TkslE&Gs2@|V5!FI=|G zqhwjxvMbB3E_<}>_J$YBCYDVud$a82vi2%7Da+HAr!UV~zGZp#@|@*cmv39X z-8p~xxNq_DH*0q--?M!0^2VS8%MUF-y!^=Wqsyz7S1&)Yylr`b>*?jMi^$XEW6M+Q zH`}M#w?vZ+`%L=+`yKW>?f2U6vfpoi$iCA4i2X79D*GDyYWsTo2K#3FllG_VTkX%< zx7lB`KWBfz{)+uo`!4&N_TBdF>wD~PuD)e|F7TcGwEYMBXonbwScf==1cxMtG>3GD zEe?4O1rFOB`XUM)iXF-wb~{u!oY_M5I2?4?=TIC=4mn(QxZ-fl;krY&L$5=>!+^tG zhkFhW93DG7a~N}Y;V|wn;V|X!+To4Ew8IC77{^%0c*g|C6vxeu*^U{G&o+}B$2`Za zj`@z;9rrmFIBwmz-?7f|faAL&Qt#O0*x-0_b+couV~gXvLel1V*71VlMaN5y9gbHW zuQ}dw>~|b+9CaLYOi3VlPWevToeG_HI2AjUI_+}W?X=fvpVJ|y{Z8$xjySdYpKz*k zYH>R4bjm3|g`9V4ce>(q)v43zy3-A(TTVBfZU^@|4LIF#8gaVk^uXzf({rb%PK8TeStT??QIy8M{l>h0KeJjtb%#Z9}Ika+M<-;8E zXyxOTPgXu#`Fv%%%ZrtzMI_rL&teA(M-Q|YMO_v^*UYCBC0hc>2gD!78@4DP~8Fm@??Sac9mr<7|F3((^ zyG**ga(V6Y*5#ecw95yVXxA9mIM;aBMAyx(nXXx`Ij;GxQ5y?gi(JcHYh6#eHn}#t zwz{5iJ?Gl)ddc;&YlrJq*G|`KuGd{}xE@_qz3RlOnpJhH8df!~I<@Nbsxzz3t-83X zW7VZqr+m6r-B{JLs(01xRd-jltUkT^)at`-XIGzJePQ*b)mK+{t?piZYjyAHfz^Yn zhgOfQzQ6jx>PM?bS7*3AUVX$f*6r20EpEAPS#GhpB+qTT+g7*H3{v2>!)>SAZnwQ| z2i^9$T?;+pcFgU#Ta8<-TfJMW+ZngBZs*)CxLt9(=vI|Ny4-HK^|a z47ycD+;JOr8+EI8Z**^VZ*jloe#(7IA?bD>aqn@DjwScp@4G*9A9IiMNc70?$n?na z$nhxlDD^1!*y*v$W3R^nkHa2EJ*qsaJ!(DbJQ_S&JWhL@^Jw?z^tjbb{rzvnT}YR}`I zwVrjJCp{ZIn>|}RZ+f2cEK4I#JkM_<&pjtRr#x#4$y?9&p3|ODUNK&YUU6QBLsPxd zy*7Jo@yhhd_R8_v>b1>lyH~MSi`QwdvtH-DE_z+^y6n~A)#cUgb<3;YYtZYq*O=Fk z*X8xkz3SIAu4!Gpq$9VFT(#wX4v!6(Tl%_rF>bsI_d+3b_)ljoD|b264}^V#mR!>7on z%%{RG0|Fx#838)8{kbGw72S`M_t? z=b_If|HnShe8zlU_)Pjt`MmOZ=kwa9KA%kc*{oeV#_j?k!!@tPC*uT<$ zxBrWXHvcpJ=l$FLFZ*}+clqD&AM_vczvF+;|E~Y(&E&rSL;uJAWB%j*uly(dcSn5i zj}Ax=*b=ZgV4{#@2IK~84cHz~5U?YlD4--@XTY9-y#f0J4g?$uI1+FypempypgQ1X z45L7`z%7C486+=oTVQ@*LEw(S;=o;jdjj_c?hiZ| zcqH&p;EOnNG_WeLA+Ra1C9o~sG%p#4DygDQiL22}-}2&xHc2&xS_8qpGTI_ON$g`l%R54VzwL6?KB z26YB?2lWQ^1q}w>4!RRG9P}V)B&aowJPaBQdK@$s^d#uuR`NV(BIsq%>!3G5?}FY3 zMFmF(#|6g+CkH14pU);K!CQk`~~G z(5Io#L&rm>LMKAcXOdT;Z$m4>c847dI~sO4taIbBu}FU`Sbx~U0Bz#?%KMpb=~Xw*A1*2Tz7lj(7Lob>WTS&Ec)#r^C;Ow})Q}AK7><{APG}_^t4} z;UnRX!k>gsgue`*3V#zm9UdK#7?Bo{9FbN?Hb-Pe%ZOJIuOr?^Oh-hm zk6)j>K4E>^`tfgALo!=>tF65`_>;=e|Y_o^+(qqUw>?UcQ!e( zzIJ`%`sVdl)(@`lSbr*s46VPr{^W+H4J{j5H?(ayv*GN9a~s+>T-ngEp>spmhMOCD zHw%-EQ{ zam&WUd{VNpd}GDNT^sjpJh<`1#=4CS8xJIqdmA5Y9NqY2V^U;FWNKu3WJY9W|h$6{RBrl5ON09=!?Hxr9N0B2@ zpLkEo}_oK;!Xfhg2o^DTyKFG30U#>4+gyG30d&c^^Zjp*)t9$C8RzvMZJ}#*&s;av_#n zjwS7}v7~JToH&P194(9X^bcDw~|xwq&1$rj3=++NqhoHOdypBmO%OvNIys>lA~~@n@H{@lH-Zwayq%6NFKtEpCnSbnUo}viX?I_iCjn`SCUA6 zGTEL?3X;jmWYU~WZY7g`h;TBwn@on2$^B$fnnKD`NOcOil|qiEkmd|BltS*Nkl_?^ zFNM5KA=4>jODf4qC5@@11#XL{l8Wu*Oez^jC1+E~J-8?V+f?!(l{`)*&r`{GDw#+n zQE6l{m7K^TX=!9z0Vz)-yCA2ek>)gVAdTd1B^T1j%{0=UMkeye2wYPtAP?abDUCcz zBU6BxPVS|XUdWc4NlgZ6$RM>Dq&SzH$sp%4$cGGaWD6`5N7D1jsV$^!3)z)Pc4v~k znPh(^sm&zynWQF*)Mb&zEYg}qQnE=}Hrbp_wq%oS*<^b**^y0(vq?`jxtC3D0kMrd z$|j@P84Tgl4{89N@`5yWE@(<->6?Q2!D_m5#tdOplp;)H4Tk()$ zmEv*52F2@&Hx;`TdlY*W`xFNh2NiEC4k->R-dB92II8$W@u}jN;tR!b#VN(tiqnc8 z6r&f!EI7WPeBsW8Hx~{pyuI+w!YHK}r8uQjrF^9lr2^$j<D%C23D#I%GR9>j` zvhJ}SvSL(YRSQ&is8*=nQ_WU8qIN;8UG1XUWwmE&6KYdxRqAKdl?Y}MGKaa^ND zqgLaJ#y!pFn(s9G7fmd>sr5u_r}lI0aqSPN$7&c*$U#}`j7E-=nDxnOe7B*k=}>7?nD z>3OsJW;y0tED9{HSv<0MY*A|2YI)uAx#bS45vvKS6V~kL)idHN~X1m^2lW=3)Y00zX?! z&KHvl#RS%CxKT{Hi%Cy0=`ALG#iYNOJTE2_#bmOW6m6GeFf^4oJTPjFq1<9@;ITa+Yf^4lI z`4yy~f)rMe9TlXgf)rPf(h5>uL3UP<-4$eS1^Kh~>Hxn$*)?tfVfzF=e1M@VpzY!A z8X_w%5963!BI_0e4`_zDLjf*I3~wr$BFXnByLyf9Tn|sG3>Fmu8C{-6930s@rG8hRmic>M-s@T2hjf0T^-I;s$#C>0{tV)-T5IKkmmF}y1XG6nzm zqzpVyihuAHA;?rRr~{r2+91bL5#jw)Sg=4zS!p3_0e`UwJfEtptSlm;uuxfnMJc%a z31dhE%t&>3p(Shj*pEAV_M0ClxN%%e(&p3~mVm%tfBb_0@@~MpC-9m$^~W1;EWl{X zVBmTG{`4~)D|XD0)dm08&XCg<_*t7b?kI<^Jegu6@%(Y+*s(`e68!hU;PL!%<=F8@ zRu;&Ne@>3w1}J9@b;kdM)W<(A9=jbV&O8Bu8-M;NgA~d^NSWAO*Z8^zsfp>SIavh- zc*4`oB8E^B>}0-Xbx=TXfJcak-J0M~S6>ku>Um;l7Fl^GJ3XgWYy6#7E6Te0`ihCb z3$g;tknlivw>7>3Ob-G5nGYrVd#+s*AiG+CX%xIrUR7Cu=@t+yz;sw6z+5J<5H`yN zn3kUKf0d#D(_k^M%$I_!4g3!mU>XL@!u!la&P&)2Ih(N`a)t+=vEG1H-hkpZll$=z zXeRY;WRQDcKv0MpJVEUj7$WeO1R(`)MN(S{T|f~A&Cdc+0b#@$sDIe~6!qc5Kcc>a zRaamyO>O5>TN&K`5($el{NCrX!NkCzHDR(|5W-)IgnqBu%*VOur@R%EWCK?tlAr)C zEhC|&wNg)erM#}W_F^L=D?MXiUb8Rb2Gb#86M6kyd7kwT7Hn*@o9r62iN&&;kgfi>vRQz#5eIG}KbCjVYbH|CY_F;hzX5YfD-Zz%r&*)lmLGRd1tIQHj z_a)&&Be!J7^U#->>mf6mmF1&5I~ zwRus?qQjdO)pFTSDQWDM^cxemL3vFqv6g8i zNz+J(RQ1FXBXR!nwj@=Yl;GYMOIhFE%PLr_uRNp0uw0wP!04`)YQjsU~MpMmx3?Yh1P1QMowfl&NPgt(C{3d90NuC1fpV z?n>5rEBz18DGMcgJjsgliKugSi5g8lXpQFU&6VAha#vRz7|m$j38Q5f(*iM^`p41f z3lQq9_;@VwIbHkilx?ERqVQK5m-;MlDXqN58g9p}ir%`GS*Xz$8x$vdJlw7%QKSnc zurozE*%nDX>gcqVi1Uhc3h`)qnlx2(*b|m1Qzv^mX&J56Mfgm@uHsWmIfOWhIRSfJ z;sjdE?kw0+7xcD!WPK#}5xYsIyb#rj>TIYetI4V}WxX9aRNoJ*Q+qYpq_s9#dW8;J zQp_v(pCQWWI$YxGxkiyYNXuxwGs1Tgb`>8Y_6wVnP#;u20jp`-mdzDCxjZ3K6?@6ZygzD?RsQ&#scg^Z{Ph%hsOLIjT?V z%bZp%Q==ZTSdQvg3v)~|8gd-EZDADuwAoYyJo?5&4TTk1=}?Xwrdt_*DTnsS+HHRV7q3)cFltA zng!c63$|+(Y}YKVPF~g2)zzJ}y1G+VqZ3v?sx3ZQb# zc7E#9mpXq~>Kt>K!z6nhLXH{yBU-U0LyN|CDnZ>Bj zL8E`|XH{x$U-Ym2tV+%6i~bp!$gE0DAd3DOn#iom81wm}e^PM!!Gm`+lO(;vs%BO0 zFl6u!Lk#W8XI0KPGC!-b@(4|Xvw#1mvnpSKeRXD4o{P2W3ak;#ZVb(;+;FW}?EO+t zDen}}g=SSw9UP1OxPAw8p;?u0Goy0S=nm*Yvnto47SdDN(_zy8i?b@tmNWl?1)Xxr^=d{H*MB}U{ao)$rp=l$_&0(+4Fg#)F{8d=&itnQ3{H>b zC?=9;H={@?Se!>Tb;|C_bE)_RY@W%EqeI9Z51Xxxd-FWa^Vm$htvJ`nHQ~A|;Cine z*W8wQEkU8YtV)=Zp8YCd`sh0EQ}!7x>;$a50)`T6@%zP4F0(%yGd6!D#1g4dk0Hz4 z?d((7dWs=`GDI$qDaP`gdDT$S(E%U7Q z%yt)C>&^8x>z}uScNcp9&5Sp1pXZ&vaKVDcd2MFPGyd1UrITK^yoMtOZU5 zwcu&6Ew~oU0sjDfz{OyH@CFzT?gmGIpMm}tgKF>~=ns~GY2ZE38=MVx2QPpj;AXG@ zd<}YllfiiKB-k2U4GsdIf=$7NU|;YW$bdV+;ov9G9V`K(!J{ArR)Cq{L$Dz@AM6QU z0y}}*!6NWIC=1#f~~z&+qd@E?!> z$ATL05ZDr24yJ?m!Fu2vum|`n*a6%ETERDZ?Fb90gM5UfpTyqm<2up8-d@0y}--hH{j3U5by(72b=-wz+b@j;0DkF{t5bm zOF=z&8;k(=fuq5%YnTo-Mo_2(S#Uq-1txw_uaT<{_o0A_&Y-~+HDXal!`Z$T*-3r+-&gN?!7-~#Xp7zmocpTNhU0vrnN0RIAO zfm(1XcpCHp`-6+Y8(>>72V4vO0fvJkz}?_y;D9P{40r&n3w8r%f#*R#&;Tw2?}EYL zU~m)o3UmXb!13S_umP9~&I5k~TY*M!1^7D{3KoLfz;|FxFbcl8JGl42hV~nzyaVA@D|t(%mdehFTk$gC~zIx}7tj~fgG<5N zV0+L4ZUFxTBf!z%K0r61F<6YC&JOG{t?}D#@{(FP|UBCD;MffIYx;&E#M*WSMWag29$vH!2qx$7zw6;8K4au2hIh{!L8t7 z@FMsCd<(jP4Zv1lC>RB%f<~|q91qR|SAg5VBj9h~@8CPo9c&0vU?(sd>oCq!ee*$-a$H6P$WAHDqCfEeHU>Fz&_5sb{FmMw11Goz0z!TtA@Co=4^Z=WJ ztw9Ei2m6A9z~SIza3Q!F+zFlpuYpg&PoO8*3~U2-1{1)3U^e(2I0ak;t^s#}r@-sr zGw^S)7U%=E1;art*dNRRM}Sko#o$_SH+UMn0saAg25W=OK^p7=CW7CBx!_1}8u%l) z4%`Et0dIoO!GAy**aB<^b_J8b0bm|D3Y-ou0oQ|j!L#5k@CEn+JGbZ9-DjdobPMk2;?9h(Hp*4V`v`c@pr z)b~1P(~MR=sB`+bx(*RlwY9MT#CN4;C74ZE>IEU2v-W}^@5Fi^1JLn#bkw2@c5#ob zd>zYkiVUytp+$GGmXE=AlEP)du z>abX){VTNiL!Fah^^Kh)9QmS^ctsl?Nzd-$8%p*m9fGx}&|S2&#;&e}VgsX2Cu}eZ z8@!AS&Ow~D!D!zGV{?iO+d%75)H&la=b7^aSJxq;mD%7AhNU(_oiBfu+h@$P!9-WI z6wTz)iK6X6(cYkFT4N)virugOCGpERK`7YzS&eN-ReZeFFHw);lX zvwyTTmfJR`Tv-XLVbHQYFKZaGc+WewrSA5lSVnj!iZzX5y-l&S2#77wbiYK6IYp{O z6a=_WHa!`^JN}5CY z3{fY_cL?Qsgz{a3{Pa~iT*<+f^iaQ~hvyU-t~G^d>DLAO1wf4|re4%A*2wpdPjQEXH6z7;o{?6SuwC9hId+x(y- zHe6nA*<+#0XkiuCV?1spj7R_a>#rNB7x$M3(o#~9T(UcdD>dj!<9#c<6@pHML#zIr z){e8%=Tt#TyuQV(L}ixlIR^%_%+TuO7wcPb8)b@;7VqUtw=|@vbgrk`c`H{f?yGh_ zbVjw`OEu+(vzglNgtKKYmKJ-Yp2gwrL}Xg)8l|-wj&-=~A4&I}E_*2#IVFZ2?>??6 z&Qj7cciZqX!mi?RWV-;_Jbu&2DFci>737o;Rcn@O^Cjk2P`W&tQPg?qD}8rb4joo7 z*>=VX*CGci+=UhHM=`JL*AW|({RXL|#BkXk;hM7FNLuDW8@`#atN0Lcf&Ov7@nvs; z82t@vXY|(+V(5P_`aeq6p8j_c8|Z%z7da({^?%ChtaZaOkK6G5gk8mlhzs;D4fKBi zV)Qqxozed>k1=>IfXd-^|4Y@okcSxkvx{hzlwKLugtSsQ+au&el7o;a+3()XQb zAw+k>)*0RZiX3#;Pg$eWFOqTk1rA;jUL-Ln!mC{5l(?kkT^90VNYj24NLTU-6gZWZ z9#hw4)*gG6xSWJ*Swq%>TWZ#V(?VlVyvZr`x+ucJOH2EL?ezgCni{T+eK zCrXj+i1?m}hzW~Z`ctSQWJN5^la0s_sxQ-28vTTx`b@0tEd3)%Q2Zo{&kKdOxAf1V z`v-I(OMk(o`%ex*LW#As5^^Gzr6t^0`bz@j_#Y%mw_iBtq?@s{ALzi+zlMp8U&jMp zd)Wb_ews8E5EbfqRpby&6-jy5(~H+?wu(v!xH6<`>PgLl{_7=9om#hZEyU7)>38+f z>FDQTC*J%i&>h+Dp=yZ3KNSAQ%s{V8mgQ`E1i<}ZyQuRFP z_kaQ=&yrluXLIIsjy;{nDYX_9Ib~&9S6E`cZ5ykU#Br0;w$fwA?_pe3=1$*=GMo7Y z%4TiCDg8(t2)U5x%sRxlqFa?Xo*;TbM&{a5#){L|1A#a_=w{ZHIMJ<29Ji$2R@^0l zIK4Cv#4VM$^(4-tyG#+KiZHPzCuxsHmrF!X!hszT!+;>OzQ{M=U{Z}0?OoPYN=_`s z>Z$|TwtvNjgpjx#iTPyNPRT(`(1qEG85oNVTGsp2t&B%!l%MO#xdJ)HOIHwZ z9$w5J?Xc@17$c+weG+DB!-4uC3=JNJT8-h6LarjcCu5TSmg`ZE>oIYu(8#RV(xyF5 zoGGrUkKo?%1ksrRkhmV*lVLjB*BMjf+35PjfOgM7>!t|jWJlvBGK~WLE6Od+vyvxU z8Ue<&0&2f24D|B*){KO@o`mO+5V2fO)0@j+{_DN$^UzEwL8ZSE$P5&>Y!YEBVmbyH zE@be%2%il8H)ZCVZfl$N5^)78s)u=5S#6`NJi1rHboTZfl-w_wD+ZWfgVs$G4vdk@ zn{GQx^Sb0kO&6$Phr)pYqf~)RKYe7tmoPOyazaLVyIw|bl2OD|c?;OjJ}Jk9@WSKvLI_; zOy1LckIzU&*VE@;=o6`jyr*sKd&Q5?7*G2*fy^**%fb=1A{9Yf&e%f#44UU%M@X{ArmXVfs9XNqcZc|P{NnFULj49Zm4_TiYhB{{o>T>hJx3w8$jcV z-gHA7ah0i-s$T!Hu_BDBCRRNZs_Gl;Nb&7pA}4P#_f~(LlJFm2`oO_pNs>A>SlSXf z43_li@#yp@q@`;(c;lo2BnCtJlyp?0Kj0~1s(8G zxP{V-G;{jf30C^np7d=Bxr*u3x1!c^ZR>HRIiuQk_B4o7Y7!LoZo-pXYNGU&F@m8X zcg;Gk-N_t0V*lY##IW}E9o!XRP6G9CsG^&P!`%pw>0nQXAIxkoyoprn`DN zj8Lxoic*-LVC>e4j0awOxWlhsbjUg(t zpQ7Zm5!)7VZSG+ELx!la@X5C0I7hgO)Cdm^zqMTBJudB(2Xn1GP2!ZQhaz7i2S}O1 z8aa?iw}FF4?AM5hWsKmiC&HWrMrvdl5oD_QWYT=Ha-A+p@fX&J=HLYhK|r~bL|l9K zFr7`#Noc4>_Gp)p=$wd{DTQL3cqG$q5$dUh)ZOBRneGV*ZXj#9UcvWLl-yt+0+|^~ zQMIh9_GnLykioYve6rkroH^}pPX};H&4Pkb+1Kx>nG#!Adrd^T%^W;pzxG5dgV-Sq z?MZ|=35?X9Yj^Wg)yKgJPxch1%&*=0#q^0L@@b12CB%;JA3dW zwv&?p|K?oK$E?}E;$Tvvat2AxlA3RMX=;C;k8NqF$aIku<9sCN)Bf7XA z8cEFG+e@gTwl#VV;i#M1QIgf#PK#2jMQ%8|b@8K6IG>JRsbpo8Flj+~cWxse@;t^X z$70Uzp*HSVFYW}+nZt;459eSsGak5;^qAl(B`0-_T9FEfsyv|LcTkbpiJst-I0u}8 zm2xs8rsyH7#F7<9Sf-Oj9FZPWiwGUxdZ$3=ipNxkk>MwuN)k@3Qn;QfrxTS~XmdD2 z$#U?sB;rULc{X8H@HrwpN}NY?XlDea1VxFeS!jf;6@0EI_&m<3W5VpkEs+TPUEseYuW1SwOo3MZFThOUZB^C)z#~GtJjsQuh&)5OKj~M!PO+u2;{}C z=Ze=7B`o*>Q>C0mU?+!H8eH5S$!0Ew9&|tE<qinFYQ$HiHkuDw9N+Ma;Pl>iK(lDM8aPZ94M;%UOh5YLME z9Glx;LIlr=pu~`;bZZ=rS|T&Im|b*ZR4BfS?hXo-?4l;3Q0XqRYpv_uOrDn@{jm6g za?+TBanO8Dof-$djxfeSTlX2Az7SdI3v@VNhjTf2<6xA zCM|QZ4ZlO!ReXrJs%-|tp8JwH|}K6%nz_%AO}08vC}fL@eK1%X`<^TH7|M_e)g?c!8Nw{k~I4@e3eR?S#G1hCfXHA zh|ikk#ih=m6*Yfd>acI>v8AyH*Eeuc3?rj6#rP396k~geaTPjv#rO}gIbG+Ak*v7R z>ibJHjX|(J~*x-x!tAxy;o;Pb^V@I%gdAqnTKOalD+`rPJwNr>xWaj~IuWBs(|w$@mF z=gVa*4B(h;Bv)pZ6-KD0dg(juzA;U@ahzoms@>7;N(bH+o7sK%YIW_nDU80i-2&=F z{8kgv7Ld0Dp__wHutB7wPjmgsx`uGfF7r`8r)4@zgLqlAIgUQG_R=D|d+KZImFQ%& z(l@r&M0XSNbGtJyv0ZNZ?zUKN`Ubbd+^7tF(Q0#gkdU8~zK2~I*HZzPJ`we~^cCvL zxb*d=%}XC=`ds>)b0u5}eJ<4#4@e~R_0(E1C!R>?gRfG>#r55ktv`J{Wuzzc4V>lB zCvlcTALCgLeFtYb^re;M(D#X!L!T>JjyDKd4t=9&_0~sO{${57!Y#I-<&co8CQIb1 z`dCv5tnM+hC6wCWd7YEc=a;eO(2l82Lf=ou7R(p9w}Yt>me3cPvF6sc7Lwxr2CHkA ztetQY`n0e>ioOjjCPiN#b|6Kc%@s(|w{gX!=*zkyQo1J+`kKkwPaii~`{~;&Yd?L~ zWbLOfn|%A}tFfZ?)5l^fx1YY~D$rSJ^062|{IlDBi;lIi-Yr*Y8fas0m8EgpOUPr=e)? zFKa8_u9cE^C9`>OVl5>#&YKbPF(uFmRFh&$RuzOQ{ZPpWLdGg3yAm>1DH$H5?(ByW znIJUG50z99vb_3<+42qzQg`%2i5>hc3=$AL=%ZkmYC~WH}BbWI6QS+7o= zUCADPsM~IYEXQO*mZOf4<*4=P5)=GTe4HP0^mf7FP#hv@ZV@pz*9S%i#3bUTxft;#b9*{ak-ysgU9 z2(71kc=uBY8IJC!_@Qnm5wg5`m0)@GR>$%#A!K>=YRU2*7libB&c-eFL*253th}QM zS$TR@YUSx6+R8hEkkwxAWi7|yge-^NFk6m82^o%r99gcqFmaT@p(8-*H-crZrvt*oIlFl0%w8>f5?k+gp^^R8F#_i2) z%-&|BPc9bCUEosUjS(C@|N8eRJtoHr79H~zN@J8B8t>}ayO3~3<9s!x5S1R~3#p=m zbGsS(xuWZ6gm+8spnHK zq+U+Fn7VPyE2%e9Z>HW(y_fnR^-=2c)EB95QeURtI_mq>@#R0H?)`)FYwErumz1AW zescM#<)@XORepB)x#j1T|GxZ!@(ar^Eni-KS^0nFT~U5z`Jc+KDZjS-hVmQBZz;d2 z{H*b}mful+d-+`l-cx>m`2*z-l|Nkmc==Q1uarMse$|n$mcL&9R{8to@06dg=!5bP z%RecJIKcMQC9;9Udn z8F=r&`v*QS@Zo`v418?h;{%@>`0T(J2L5&6mjhoM`1o#Jo3(ds*50*Qd)H>|U7NLc zZPwnkS$o%J?OmI-cWu_*wOM=DX6;>@wRdgS-nChK*JkZqo3(ds*50*Qd)H>|U7NLc zZPwnkS$o%J?OmI-cWu_*wOM=DX6;>@wRdgS-nChK*JkZqo3;Nh-K<^9yC!-k`?W1R zwsdLfWu@Pieph;5^0nko$us($-|vEc7xr7)Z&f?CpSsm)TdnS%?H`qYTz`q{0o*!GTXbKCx~?JwJ2nSL$(WBRh~zS;gi+uu0o z=0UkZuMYZX&?keA9lT=j{ezz#{OsVc)*KVbhm?Gts-486e}=}}L!5~#&}bL&=%1nS_7B%~ z%n3(3h)4enO=SOe?H(TeGc+@%nMgJ>Mvit4kN!!A?Fa9;Lo)QYs{PxCRt(v3u%Tc1 z{_PF#=l5^l<-N}D->&uF521yJ|APJ2J-aLIt&L(at@RWB3+O`ow;zge-A%((u~JNp`MH$9df z)4JoJVLQdrGg?|>>3y4H>Ahk*a@aeTuA2p>4T+^kjU{Q~6lnJVhsDyPTSjK~pV7Ez z|2cdtJb38fLHo~N&~i}Y^tRUh7qzx6oYCB}|D5J&r0u_Z{l8%E_IOMa^|l%@qQ0iGeo)Pr%JGvXR9DxHtE$|4pM6IR zUDPmVVPorvp)CvBILsU|bV1|%1&yt2{j43BM+~hrn=m`6rC0D#e74csf?2cWe326? ztLw(rPMlafvU2*^-6xJ1T8+dJL-!dmpsLE_UdwVHGg%uX#bcUvm**ZkrfTw}$u$w? zy*p;sn7Dq9v5W~=U%|BDR@46ZDq}*F}1Z5 z$BhoFzHg|;3RLgGr}I8@O?Bmj$zvu=9$!1AvMzABhIzA4e^$fXxecC2ju_fJYhKHO z#u=Um^|PkDy3TsgdLfaMD#wqVFmdAK@nb4AgFw5c&#IbO71F1mFq-id=u=l&Q#)zG z_(?S*E62^FF*H+$-hS;PhPE~z-Z)~=h@nm6_LwqaXu}*P{d)RrXZ5+%^D0d?3q+2q z96f6MxZ089#v-zH;mn!M)0=5eBZkgxoZGVCun|LNwk+^vPH$T1NgQY;{=LeUP%~Y8 ziTG#rn7T<5Mpsvdl&q<$9Wk`=;Drrs%`NzR+hOw?LuKB~iu=|xn5NqJ;%aItYbRHY zA6qqPLS7s?&22zOquYEVdw#=$hPjPxjh=%2t;DZ9iJICINE}^RGhy7s36pW>l@!?% zyKsRgaVslvPtS`rtgfjXQ#Gk-(qua4 zz!_UjT~NlhQ0?}%LVoZHdUsgJ$jVWZ#@1Djr9Bh~F;m?_Qr5FlZug|zAC@wzvaWhU z-KeT@g+iJdn`bqJby?p^VE|(~_eVogY9?2X8auXX!o-oIDkpl*Z(5P(vojl-=cv;> zq=_@_&NKS(Z-k0j&=lSXi<`*puzFP0#M+64 z;=FPek=Mtn_q1oW^>5DmL^b|Dp?Xqn&FGrEyr4Uo(>QNdTT@80jjW`1JW2b8B-Ko) zoLGfw6UM3riuEFGEm&+p%k;)pZr^?j*xE{b%#(OPSmMOWn(C@CW2))*{|kxRT8Rt1 z%9sMs8_uO9m&OEiDN1!)K!nJ9#b{35(fIC=`C|L z9%(gw+}xHKNNNrbS3H>oy>6BzIyuWk29d!S>}!g;gl(HlI)hB1yBw!q%hS{vs2Zau_W@=?!{CAWn9 zW@6>!F_TA+o;-GPulssY3{;9r!^kdGSAa8a`!E(-rP(b)Qx}IgfSyyi`USzYb<*PhSp!Y zsaGOa_IjR5!_@kj&4)J52xyNmwAmhv@Q*sUsaFrDmBk;Ovabu67%~?yK42Li=CM0_ zHQd;$?mEtQuO>~>r$2p>pbA6wbHc{Sxy|v%Aa87dT|mb6y|Z0P~c*QCG4H)^#+di)$nn*Wf9x@lIT0l(>c! z@v_-{1KaDSU!Pa!GMmA}yK=Bu>+~n4X+?h(R+k&ML&P@Jw>9~SJT<-Gs6g}imU`nsP`@DWIGtK8 z>DFub{&PyEQMMwR&9MvkvpJ+X3G5*YP`v2Se1mkEsr_^Bn)B9id*gS1dNr zbSY0nsm)_YeZ#yN_3B^>c|RNq@2T*Pk^9raX#o#z;gr3f7t&l)GdW;eVikPjH?Xa- zE{9twVfQs`om=mJqt4NgA+Ec8ysTTkhIH!;1pU%bUTli zDH!;knCpiyjk}v((Pgi;?5FNR_$xJ{?Gm!|ygmth4>RN3x`W5d)(ho7ZeqTwmRkV_ z)Bk60*&r4>jPk3~&^i@?E1ipW2&iFJXY40&vwD8qEFxg3mO|{)SFcRj2-G{&I>eu&B|D_1@KblE*+$6{>G{UR5xBPnD@q-+n#BpGM?qCiFZ61qFqsa0D>wX$e#LNDW zH-I;=3)sD;JGTw?r(xgJDEwHS!IX1OGbYdL{g%~xtA#M_w1vH8#mZjDGg-S#Z%NY*9Kl;2pC+O7aAZKNJD?`2w)75n%OX z2_aUL$m#{)QQYHVv65z+JlzzdeX{y|!{5+4y}7x5=7N^F!3{&5N-VphQM*KUnRbNp z(all~u~e-#x0$@$3zCkpis+ta1W*ww=6qJ?(Ey+B3zf-ekQMPpU2G01Jb_hJ?nq*f zl3pZUX{xzIV}XzmZ}?zU*xvHb3)`dqkcI{G+L!u>yqfhh8rm8HU7z4-45M9d)5R9)fzHik-+EL_+;V>=RK`B0DaxJfm&Q%8=<)YsQnR@P6R z-n7SIbL%Sy4XT`a$fCxnEwksg@!(iBb$0WdgBKk-t7&Ru)2x|?ESNKuS8k+DZC=!} z=k)(<*~$C zGGS7$x|915`DS6{-b8B99!sokD9xK`L#k1HG*+}4h{qB=4J|K{4W-8A;W*KmHQzj$ z=C!Y(G>gMUVnu5fP7BH0mpBd8V~Kvedo?B0Lu%5zc(r9udaqrf)W{q?!|zmy)rdQm z*v@;il=PlTlj^azO=|3(%)j7Cw$5&zKcA?;Vo%aWqNSWEoALnlvqE zjhM#DvBYLUJ`9MH{>#p!-gP2WL+MzezfWUdVH$ZFo}-(6f4Kls4Y*^8tvbrz(l1;v zzok`zH8PJSwp=N--pI8=s{wp0F<_;%MiUWhpdU+=ubP%W937hW@d{`jIsIJ_|-Y62ubQ+xKzd+OluslIHC|(tEQ+N0n5r@abV7 zR3kSWOHlKVW>GF zSwmZy!F$`3Y_@maq~0~zb_S6~u(8Aty+X3(Nb&+nlF}_R)26dY>gCa###ZCftdm-A z7g$;&rm-vXC$;$cstsuX?6*hxn#Q)6(QD~mV{2cz;_}U?VQegsUImLcx(v891fxsv zUf?8UyT-Pp9m<)GA!**-%t$g&%Dcfjb$zoXy_Ux6lI+!7x5L^qd-oaCzk3g7q|>u! zVx3+aJ8Q@vT7{AH-O$SE?k z1obd2o|_Z-lA14rwU|%h+Eq%O(>J4qbnBdct|GO%Z}wVl*_B#sS?d+|n5xZLlk6)OA`cr&>+HHp zsdENpmYVYpt|IH49a9=z+(Y?d*?SmK<)ji9Il3fsxdG_|mc8!u<9FTccQ-3jpv%$?}X=$$8*2NbMHc2I;X>*b5% z$-;gKaVg)j6~4oH=#Q z+&X7oozqh1%&&6}u5%VdD?rbow#tv-i7=(79b1FS_Qd0>rh=TLsQlL=R!PtRtSPgY-jK0Uu#K2_A}^SvMNsct*w z%c<7ogJgmuMk|VD*NP*)4oPP=2008zd=y9g7jn|y>+r1(U+bXt+tXUGJ*}n2(^{}S z{jm-o>hJ*v>y3xkIlrrOj;M2vtaFa4bB<nYQ&K3`r>)yC@c<@Hnru0CI0 zPu2PA^X2uFn{>>VlLO@)J6gdwc2>hUockxpI^*2g(~yIMmu)dR9piB}{R;xqKXb5- z%P&o#4R17z%PBED_E-b9oYsH**|lU6HVCTl3eG+9ridaBJU~%jqiXfv#AZ= zN!V2)@pnmDo>Akj<7zG|jcj2V>pQGJ)T<)P^7&V6K!w)McSVo%yOAyryN5HUdpSk@ zRc{k*jrb+X`|JHs`zk*`*z9lh5CKk|X{z={$n~}RlAqte5XLY|!$m2HHUi#w* zLZv4-1*ziB@_n)fg75T8&FgcI*=#9$G(%alYmw57^r$@cWV)<0Hbh5x$5S24WHZgn zcoU#4ocdOjTO&OUxs3D-=csk`(zGM%JPWmNoxcz^)_I4cmLb8p^ z7i-H{6%4P6?9TRaA?+rXR+cEF{iKj~Q%fuR71DlMNV}P(mB9;XKP#l|V`)_-g|weT zi`Blcr+;!v>BmBQi#d$vqlkTMrrLW@eNiOI>RvR-W?wYPTBm4|HFD7;TTO$gBGXre zYfwGgcWf-|CHbzD?{vQ^G)`WHU`yjf-->bA3cGw=NWHl+r8*vG2xd@k_$@S<@z9&? znIlFiB0Ju*VuF?ZUB|K$zU&_)yH>J2rhj$JWEFA^wbVhip9-mqC{)t3Vxpz~cOkV` zSjy=P^$PnRXk5`p%DIJguy93KUR9qlYlJ*swI;13(t>o8MRmuXH0_kDggvpdk*>ON z^4qexZJqw>uYCtpOt!`7uGFw9dUs;GK5k*=bzgQ3XfoQQ#r2r9t8fvfNR%yQP$W4) z>6X48+aftCAxuu1$P+zER-4}LVjZ_^HPuYalJ2gQ#sq7kFMYS^^g7dbuY(-=?!D=| zwdG2Be;xMKVQ(GwE1Gz62twpw%y5zE!`supUz7rv%O99;sNC{`wLPYJ4Jl9R%=7P& zn?Q%1jnbX5b3f!@=cBOmA*hqqekxrkA>o?PmNEVo#RK6odype_Yr=LH?!%!-y-}x^W4*F};`zdCW3RWH zW{_5Ey1lsHhPHtZcI^ruXfv3LoJxcUQOEiZJC>_(RKjkgZML6=eFz-USE~A9+ztx; zV&!}9p-|fmwSNbd$-$2Qw1bY>UOD9_IO~xA1hZ>%PH|k>&2FpO`d6Gl1ex!o%y;2A z*1ivXNRL#J@~f_v)GX`gOCZPIB^vZG6#SBLIHsvJ_n_4w9Co73^*8N`d=d#A6GdXl1(iGDl&Yy}v zj5Zu{4d-`JF(MD=`Uat+V(bdF?{Omto8f#F0kZ|OYBK+WWJGl}2+sxiO)~G);gb8c zVSk*=)*v=;$&p+{*_K;_(a)&Gk+a{=jA}>vr+`!~G(p@s^N*3cV#Ld4ad=g;*5an^V+JZnUQQ`}t1v zN!jm4q=v%{x_V(riMjooo}gV*Th>oc&dd5~thnz=GC{3n{rt9ep|#$A(93%JbBmCa0ib zG;y)glKJW(%J%pLJ|M+bt9L!(pz^Bap-BZFb+$>Fbb{zD9?ubhuK7D>!%~wIiWS-N?0R zKgI)7H$^Tf>d_Ddo_GuwIY|f);BMzSC)wcv+-+RDN*|n?gqiPd=HE zTPs@_qx3cOAt6=0V;WH{TlZ4?tSG9qr79Sl81{~pn(1<~-I+HD zcOi#+(Nyk5FH-RI3pzZf!?QX(&B41D-3?{nW%qHB6D_|A?r`GCRk)b>D~geuIRLL_Z?YZ$jXD?2i&5 z2Ys9~rzh;`DSLXFQ)*p3#GB8u9_Arl-q6jA#=R2jn;s3+dn+>amd*Ri(p>vuJ!6GF zyE36(S))SVUWw4>ByDzItKc%dW$>t%CVgf2f=rc&;%3mTy41ZN6Y=X_do`a&BELf$ zBdHRw$_t8$yD#agGYhj%!54)z+9frGutMNYI7LH5V5 z{=pTBy+uk#ekEy9zj_Di%;!YAV$Vs1yu>fKLgKsaB<9_zy~Ot=@t>0Dv422>-04Hk zoIbLrPdKGE4gBa4z5nvcqbkX}&zFc&y_DwK=k;k3Azl%pLcUswkbg)>#9cgU+{Mcr zcTts~mvI->Ox|7EtMxe&aTj9**_Kj&p{Tg~sjfQXF5e>ucR80gn?E5d{VyH9*Wp_o zzUJV$%MVZn?(!oSIVGz0{eh&zjDeikR2KhHI7Xza6qNo6uFTI65dN94tHcmTRoi^V zAN?<~8zTFqknB)9KvKalb!33_Yawmu9+9PM_4|GOq>i19 z(w(t$cjRE_71()A3Y}g_44b$Y*Ez9;O}q}*u2L{-Pq;EY zZFp_Mt`c*~(rnnn-g$V zypF%h$i{kk-%j|YwS9McwYNkVG6!%9RS$#6fw&ZY`KKAF=JsD^Bs}R+d5oVw8lv}0 z9}Us_r4%v?hC)HjRWD4Gn0ul;XGzTyytvjZ4_}^P3p8Lr^pS2p-rJpW>FSqDl=@8h zPcv4=9OyK#kk@{J6Xo4jMc0QpzNc-=XA?1fJ7K<`plDkciYXjxVSc~OZCgm2Z=1o_ z4{2yuO*wc?a!1mGCb^RoQ)0MDZpC#@Y~dz3fNNJN z6#X}FWs){LjIgW3Xf^BZWJf$wf=93hTf2F&Rc#}wvu`KoD>Wl!!UTCM#eGZe3=LK? znRmuYRmj0g4`QWlP%!Q4P|m@#QZ?y;l}1W2C5EjugzKEx!d4p0wW}1YGzzXv+J?sv zc9j_7p#QeLxfCeu&BrRsymWrqH8%)jWTu4&o;40S>|wI$j6EhH2YWn$Jt|Nqy^{_* za`5a?M|xn7-K3ln!}b`#bxv$yd+f@!s}$_9J6xHJ4NoELDv=ty&}A$(Ez z2O~~DH?F+Sb}vLkK0Y+IIpZdEOS~ms75jd$qttKh=>U7Gx2FT`sex1EQ+<=e{Eci5 z=Hh}(=;A;=im`(#`p!WMLl+-&0}fJRd<79)92ZVW9d1)rsr+;_qt=ZvJ5%d(kVCD% zPpyx~^y#rWjMibK4%IqTa`2pBuC>cNdup+#gE5#u!MF>*h^nfb;CJFf;7d&u zOXPdQoTSienOl-y1nX`EFNF?MAtiwF1m70!!!-&XPMU@pzf&fWJN~{97lHT^mRh8cc08kjY-HTD649_!?G?lzr`*!zr`*_ zKu!WMWKh=Ma!nbJB~4{LPMJhr(?k?0Qr_d?fN_Z!BSty^$sHN#1gL!@ok-Xi>0|<~ z^eHfsSHS$wV7^x&9ZUHo%3JDG>C)jRuDy&`_&y95T~gFXG}<{G86iif7kHY1x9PZZ zoNHemMYTLri7}~;))xL{|o#w1m`3eAr-SZ zliB6UEHdd%^V;F#88|9MKCv8XSDe_SSpqs^ldBMhO;pIy=~kqr57wbYhq)X)t6U8k zSzl{U*KrCu=o`4mi8S0n|BmaNgoHb26RA8Xx*8YXPan>et9XRpD5;9B;*eQrBX1+p z6;()DRoftq^Y{i*AH0ypIUY&hF-RX!afB6gJA%};{F!s=$U=d62EU%}5ZzIQboq>Z zx;vqZ zMj^xWtyp3W^9ZD>o5u=SJd3EhD6e1U#|z195pptvat~B^0z#R~347F&L{8~OZch_% zJq@1mC_`W9c$pTK+0TSB)9Z)r6f!!A-tF>P1V`^=Apv}w5H+Fd=`YexzhXa6AafFB zay|cffe4xDubd+}du9qXt-OQ0SV(ML$}}|Jpnrn~xi1xx{!h8a%f&N_xW?($HC};K zWqz%Y#TFx{78-Jm*9*ytd(az@wR4O&i8PM!76DiJM~qzfFkYE|WO`eiC9diURo~@` z(|eqPPV#+G=rzj+1YC7VsYM*}wU9ZJOZTjBg7+nf5^^G@n0_bFzv65n5chY)$vhu& z=Jb(0eatEKd+~MPpON@{AA>r*`{>)hpap%3q@3;u_6Fyv5ztA0eX4%OY0jV(HK(8E z_#^B;SoJ=GJ)=UQ+vkK`FaC>Fi`97H>CB)NRZnG<%dh>1U8Dl7T$ci-#FiBo!sLn* z4gN{4GS-)zql3hYA+WdG_U-X2sQog0P1v-}Zwa`PojO;C$dkg#Rg9R+S&Hvwp#X%#g zQc0G@{u|XJ0;8(;km}2&x|cyuKZB6!N=NmzNTNGYg>bb#SF5N4jhhRb;IJ!U|L^#` zuQ(R3J3p8w!VqnRl$J1b*#KSS7aL0XbBN0;Pwd94*0i93GS~1=R`Mp|RhOk3xRFYk zzBMcEIR0&FGiWkbLF0N%n|I9gt6_3Qjb>XwXgobB5m!ruibYC4B2=ROoK1=ToBEE} zJzC#eBCkk!R#71#^Z11xfFPVfI-_QaD^BJ1G_WuebuR6`l2#8zKaf*>agOKIJ(z&} zTLIa-B%Xh=jdp?s?<%$~o+&r){Hu%W5saGKKq}dh@mHEi*CQAt0{y0~?r(@k9U6mq zs^>NP@A_5-XknMK)-j4wS>6C`2XgI*D(B@-8G1V<#!RsxG!JPzRD3H}CsdopqX$&n zWbLvOymGqV6y~kIkH_^6ly0w1Z@q)^zBQ>pn6e3(&#P$jreWo(7IwM?ma}>lSZ-Kx z?G2UhW5q0&DdbbPSy1XwhV4a#OTBaZQhQ##8l^7muM0|T^(rX!@Z#FrQhQk!EA=jg zeCj+3N*&5D*G^Qp)Vm_g^kGB@K@uIE}+M98(O3$wEpwd1qEXS7;<#M`U}1ymyo zsfwr`YFjIJ(@_YcKacLKS( zQY2!Q5UHMT*r<`cQueBcGIw$V%Yb_I*r>tt5V=729bX6j=8bQyBhv9NXitK}s zow?tJ=MZ+4Nc>!z^*noO;gplUJbM{QabCHew$-3zy-(dLG(a2n7$mEtTWdgjy2NVA zD@ND1h`f>_@-`|$*R2TM&PC|D7oi(IpyE-=>#ERLY(6%UZy(G#`bhUU1ZGGUR3ca2 z4}A-u_U+$F*gTmpB;ZQ6skGq75xxJh%Tf4MfgF00ycblp4X4779hM(cEJ9R-K>dfE zpKH9qe*u1o@{YU46FTGHM63WMZS09x$%>zg8JUzIF=AGD~8w!^U@5(1`PX{fNSW(mM9`N-nZhTLb34< z#eP~yTC)12-8&*R3b+#ON^NX)sWr<|PSGytGt#L;e#D7-nI0dOLG7w6gfAx?br^Lz zcD-7^hTA*JWPCfcUTyXYr1*|z{IqYy=T`m-X(o3yZs6DSmC`^I#;2~*mE0#%vm0Us zK3MWxJ@{Zr1-Pa#yJW>bZFbj^BJblTrKq%gFBtp;czq#F;agTZ2EVst(GIICAF#$; zWk%m=I-<_>o%bP(zVjPCSoj{1>2G!TT8A$=c-`jx5K*EB?CBv+Ii-gC&0o0Ai7(u5 z{)cNi=6bO{h0Zgz3hi? zzE-#k_d2?>JIpUKcbH#*o+OK$vQV`DrZ&OK&uH-!X{xlRrAFijbS+eEy*MgdPVfxW zewm&nY+UI%0&NRsJak;ERN^a~f&BvSe0+M9h}e4*YYH!Z8(tCH1IvgFT8Y92e?X-`U|D)BXF zIlUp4wP1<90h18JZ^}tE1TPwmQxtp&^Cm)aDuZ<~?v`-0dn2V>sB3crj@CiJyQa5` zi!;w`z5}m=Fw}nsQd#j`&Ya%k6!l}RrQVSrzYldr6$j@Bgw2E0hXhn?}K@V`tF8Vp=mR(fUpLUQ9 zO5L)HZ_xFv9X^9r2K|TC@N-V9Z_qD99r=J~WtJ$?5dVpQh(W9)1&z?oulf=yzuvwg zZ0hYB0QkS=;_Px^GfK*x>T+!;G_BiH6y+{hR65VSdFNN=XYCOT}y!Ml-n zhX|k6-b9?%6RHg`})|;fQ{BnjvlloB~PtoA~GUXfCW@H%cU{)c8+kN|T^+8IguBnB5_CZ%; zZM%gs?1zm^_1pXX_FTGyI0Oma{ay(<5$k^MRb~H*!9-xpzDQC{Bqec(DE;C^Rf#wR zx%OV4`@JXByQKYE?fOa94w5Ce$7YM#Q{J^mRkH~S18O~WzAD0hWQTLTSvOPr zVjvAw<~MM-9@}gLm^A z0}=X-m41rO-}RCeW4X?WA%EBNA|=Yd>uqW2yr>X;;r*+>AtbYL$}BH8(!-h#K9`qI z2j}${Uh`H_$U4%B$0N{{wwP@cr%wGaup7cK+ufM07Fp@>96V#~PEzoubc#x$#JtJ+ zR_vzSo$OQ*(uMNNMfJkWBpbOGk*-Iuca#|u?9Jyjrnkx|SJ>1zx_P}7mulJjcFd(d zE}YqZkYWv!b!VJt8gj5k8`jtlz0&*Wu$K-~Ie2!N4iW0ju%|{&Ii-dTGo5QlW|Efq ztqnI3b`_tKWZ#|oR?M);%_OVmJV@e{qeqeGJ8Y(yLQ%W|Y$VE6JRGydkypT<9cy}< zST_IiXfAY_Sz;77jPq8)`0LTX{<@Ls!4(I@^F69V;N?}T@^4oD z9%I`|7=Qis7cYNtkpCiad!{^uuo-_HM!=N;bE>HP%lEz&vn|)*A+94ttoT%eIKmdo zYGxSjXh)v@lgN=Ukn>TTQU{2y;3YZ^>(^yYBB`->=+j_7gQ9n>EJC9y)LIpC!$Wtj zWJL>d(cu`#DI#0{VC zF8wPO5`mdcMUk8o5wYLA@|}G~8Mq$p>7w;5EmiVf>zCA*AAB2sMmwIs2ZEvpqq#HN z5fAr!X_H-ybpMg{EW&iSra^Y5!@U4Gbhs6LMyG#AS<{E{1lkJaHA4qoA}Bt0nnRnkz2p~4S4mFt|?@?)01 z6{m3RDur@g4Oiv_8@`sXtHclo1^t-E1p2VuN3{52*tnfoaZkz)G#M+jstg2eT-dbDHteo@TxppoQ? zlOjCcjwvuu^j__YFplV#!WJ&{d$;<5XWEH8&bN8A_(4wQb{+Jg&$i<~(ef9pP5zfc zI&BY8K=T|lIH&QC&N%0b$iX@Pz@T;+hD$Hi;Svs>hyG2v=vp3HaRq^#NYqZv6=r!! zBz|PRQRO6$CRS#KiqO3bohu3Gy_{309!=h{dOwEVS0gL^CmmLB@bvz>l+ty$WnIrT zihM{~=2{#6SV}2AL`-ASG+z4%BEh(-@1>tau{uLj+(q{OCtdx6~BSh6&rfqBJR%U`J>hIHT3*5 zveLJ4@bvsiD(Twjd8cx6vi}Z88a+=9^pt>*o%CB08qohfN=>&FM zk)3s5hPvt$H-;|rBy_IFxXH>Hy_pB%fO}JjDd}Un@=EG$gPiS4(!@kuyBBW}bDTu{ zBtPUFPpB_(Ydemk9gAbr8m7;lwV-9;ycw}2iCChfgh$KldRy>>=^Uf<=6N$)>gTsD z2&K+vbwkI|F3K_O{~k@;hs3qx-4pQ@q}$xJF|Z9S_e0K7LcSiC5ROfov#_!Lu-FpE z)1l3AE)L=kjl^rS+t{oHjg9jP7_?cgmk{O9X1lQkjWY`9wN1ZPS75tft!XCw8^OF zrr~JqA?mqlI9gkT25uTo&>oFsNl*UR?LE3N9L`TJFJ4q8A6{2k< zJGPLvm0XF1;yrKjoAH`Ks5A(z5rn$?Atz4AZ`v`!v6;>*`J>#&KfrPPj^7~R-5r1vy8oUIA1Mbk>eT|zVzZbIdR zY$w-02x+rE8FAPAU1 z#RM1#f`|!Bm_QLsn6qFOzp8t?+e<6syvO{e=gh5J|2lQ*R62F)TqJ9NPknJeXyYTY zD|}8cCRI}+H6>J20yV`~Q#>_=zOhE2&{Y(e4JlQVJ3$&Xd0dcuL0n=?(1bR3K#2je zs2F)rY;2e;`pY-$&>L_v2$Dzo2LyeYZbKkM%D#ebjnWo|#VrU7iir!IP_QLR3JnSi z35CMOl=E>s0OsiVqOd^pI_a?~dOWH8jZx}k@`pMT1k(u-1*$0E2Pu_^=A-=a(U8$E z1muH~WWm9)L2()ryB8^C;!HgcrA*4K2TGlsS#1>gpJ28MQiQ5kLW)pz^koJ@)z_)t zD^XMVYARbzWkHHS$%GVvk^w0KB~ATas+v-$spTpPpb-74Zh}5OpcUgU_m7Gtb(ESP zQAa`F_rOI-PMU@%q0gvjMXU0W)?mM&gfAp7Lr>>fOwgJr{F(WLXA$UGOuRfs77KM- zy}TsK3`2>NHbn@Yb&};Jz>-jMWKeVnp^QZ5jR)8g927A@>d&Z8|1bqA8;W*Kv>%FA zPEdz%N*fMP?doSO>SqVl&rlHme`#Uxy=L_@^x*&;1)$K>sy5gGX{}gQ2hynZHat<; zi!{>eP#V(p2}0b0o=z$!6w7>4m4)*QN+#rl_gb}}c70A*gu1gbK{@=P*vN!DD?1`^}dOoPFnBlDD~Is{S3V@dA(5xWVJ?qt=<6o@)C8_Qc(a! z-Bpdk?-0P(N8vXp2~JUH2qw)6uT+oW_)B^`iXKl|PZZO5(t7?*Tl*g>=CuE=qOiZI zslTeJAJx=fR229Vr2Yr?U$m6}1EjU0TTPp69uf#z6p>k3{k>PMbf-p#_hQAOzH|$GsL5nA9Ob|*zPc=+L z)gq+ID5Txw74}D|lQk;9!cnq32rrLdG!70A`{7fZL2YzFnV`^(Yl7ONrqGRc;#q^5 zs#j4{>eSR$6{WpJO`+%>c-|=+)f5W6LOiQhQyWy2cBPs^F>r`-QQRPcTBoMgswiv~ zq=;o<5v2aC1t&IaC8Y3W;gl7s_q20V)RasWrL9m=*itpM1gFr_B}w%RpsUX+ZI6XC zJ{*40gukGaNt;lHQYY<~Q7CotCQQIHPgtn|?PT;&78$qz4bCcVlno5Dm#I>t{1@nIUC@~@^ae=bq6J^H(?NXEw z=?}Z0W(vBNkK@Il0YTYqP?12pOr7aVNXU-HKX8OT1~dE%?s&B^bYB?P5DZ=ICKjIP zGB^GVbU;cqnYBY&D@qo)ATDgexKa({{Q`h)6Hneo2T|%|ZG>-x(QP7a*mY68a#m6({$Pj$IHSgL_!g za7);y&!QJ_ML{o3STmzru*$stkujmrn4+G?iJ=-@2c29jCsFF;VnJGju9#}Y`bWh; zdks{_33?2NqW=fY@`O14qN1=rK#J(r-$RP%*1v}ovD?#Dzc&t{2@#=-d^iQrB?eW4 zzd}Vv!}(br7BsQi=t`EBIze4!4hLz%3zRr%Z$-DICap5S-r<=^wFDTtO9uChB&D}Q z{S5B4fcBqZWxg^YY5x&DkCSQS0os2;&x7T%C{haI8g-H1X-`3(x40apII1XZTQx;d zQJ4j!2ni#9Tw*_M1}Q?qM(X$Ua0(5G=sE=<;s1e@O2YpQXTv2e84G!{;i-+5a39B#uH!$O2I??{f!;5JDSV$4=FM||bB8J=*aY`Gx zK@wD`nhH@<$Q6`G4N_4U@{1%;0#p?6g_LSC^@cRAJGj6m_D@fghCg2rInk6!j7mSF z^oXD!*r`Z6MtAgdGD!jq`MGJ4yWuprWCNHVdK@-Em5@^+95@!K3s+87LjQQ$k$PbI)4>=#H_{)H_mRz=IL5vJHm%>(2_gZ`W ztTPS0F{v)6pwwUCsT`&gJgrt!r78*_PZJd)Anl3^(bLKB@o9Jyjs{08 zfc!sHT^9L?Xhr$QPVAS+p=9#9Adi$u%YyPn9vy@Pk^6;;?|PIAZ#lwxLdX~om(rtO{9Fs<6~@U+2c@27p5_F>u+8--4qPKr)yF-X_R z(#h5-(8<*q@ygTL7rRntD7;*!Qm0yHqs|tcZ8~*2{o?I9yLB3L8a*0y_UY``IjGa3 zb4aI6=ai^Jr%UIE&Iz4vozV<%R3}?@Qs=Zzug*2yIQwU zcg&$kH`jiRZnz+5O*WIDJP4|5UXwcoQyHmGHxJS2H_kixH z$QIpR=~>frrsqyyHNALx<@D0& z>n+zz-^N)xeP3Mp^kYs{)9a>JPcMzBoxYv1X?mTce){(5JErfNzIXb*>HDW2oZd3M zefpv4?`L#OKONjVeZ=?T^yc`>)AtDmrsq;0Pw%JzFQ+%I0&k}e*i_G`$OcaA?Nvxb7LCof;KPhhGd|8pbyMi2 z>80zH>t*O=%2(k6GA>T`S1A15V zuIUZyjp*IbYngvv?}^?+y^D5_^wQ&=>OI$cp*N=YO7E@S2fcBmSf>)o;`9 z(C^egqTj85LjRt>3;De9}L(EYl#zAlD$@punKWV3k3ML8-xNgEa>045|z^8dMv6jNW9h#bB$! zHiPX3I}LUj>^0bJP{eOE*l*Bm(Bju-&|%PN&}DGM;J87LLBBz-LEW+egR2HZ2Dc2Z z8)PNiHn?MO-(bhg2L_e#=`+t7t(sY=0PAPAFgDG6Xt!(TzL~pc9+EZA91Pt*^We;u znQb%MXLii&oOxts_snB6kI(Fxd3t8w%=0s!&Ac%4xa+N%x9uLxJdqBb&m5gOHuLSw z*E9S1?`D3SIX*MhP+{0&one?|m}^*IxWcg1aHU}tXO-cA*=oaAUNwdr4R;z|4r(?$ zV0h55)v(R5!?4}3m)~i4#IW1&nBj55lZHKprwmUUo;5sgc-gSu@QUFz!x6*lhTExk z4DT79dS*4xI-b-!>-4O?Sr=wqoYg;TVAkNQYqM_5x;g9itdUuFXWg6i zaMq()qqD|ly`J@E*1K8nXN}MLG%L+mVLZ4v-8kDg!}!tc9OHcBLgNzSBI9bOQsXto zYmF<7%Z=-nR2kPAZ!kWi0Go~LjO&ee81FXTYusqO&v?Iai*c)Qr*XS+VIDYaeAM`e zae?<6WYpxX!#k64llLa?v%n{lG*g9XR!F*OrfHUGo@ut}9(KOz3e!T*O`28%;NvZg<>f+F-iVbhqgq(?-)K)BUCgOxsKknwG~OGCgeC zVY;5)WqQ=~nCVH=9@A5%r%lh8_L=sZo;O_|d(pHo9}JjYH61kFV0O)PqwIm{X`dIS zm$)frn?kD1Hks9!?X|8m+hNvVw##g{*?zMFW-Vr|W*uhjX0_r@vu?A)W_|plW+%)} znw>W5F)J(rXUzJ{&YJZ{UNF0CcE#+P*^t={vzuneeMZa*?Vg%FHybs3WA@6dA>^&u zd$Vz~^!POMO!F-BT=P8h73PKJMdqu_%gjs6TYXlWmz%FKf8bMLUS+<)yvBTsdA<2I z^Bv|5=8fh}=KIVKnzxy^n;$kmWPaPZ%lxSMG4qq=J?3Z4&zYY$zhHjJ{EGRY`8D$! z<~Pkp%paJ)Gk<7)DdCZMq5Tu{`}VKRhZNwwd5XnH^Jf+r7FibA7Wo!A7R7=Bi5XMuLcY}st3sw4=Q)(zIXtQ)NlShrdqvhJ|HXx(Yu zChoVsYCULu+j_+Mp7nj}C)N+G9|)dVzqB5;err8uy(|8;^=j5T>v8K3)@8OClpIPX zWlc87r>vlqP|7J~l+&ISluAl9rIxahvW2phvYoPnvWK#l(oES$IY?=tv{BkAhbdi@ zqm*Nm9?Ee_m!Ow&o^qPwW+YFve{r$YqQa2v&|Np zdYf%F4K}-N_S!Vs?6YaIc}U%F(_+(VbI7LCrpxB2%?X>6Hm7V(+nlpGW7CoW`fM)R zT(Zeo1+Lf(+FY}_VRO^ww#|smJ)8SBk8EDrjM==hd292|=7Y^gn@=_h+f>^O+br8` z+g#f`+d|s{+n&gkw#BxqZP(havn{u+u&uPMvaPnQvE6H1Yx{8(*k)Vo(rkOscAss* zYS3caZhOe~ux*F!U_zH|x9w5e3DaEdspK5nLGR-b~S-RbJ1<0_=j>@!q z$;`5Q#m~08l?L+cu0^l3TV+>lS7x``Zk=7FU6tJiyG?dAcB2uS?Y7$0*=@7iZnx8J zm)%~wM!WrX&2|TZ4%oHXwcB;t9kx4S*KK#q?u1>BU9a6~yEAs@>@L|2*bUkZ+g-Q2 zY4^zPiQQAX7j|QIukGI0eX#pzr?5}4&#=$5&#}+5FR))}Uu<7uzuJC{{aX7<`x^Ty z`(q_wll>O^t@icy+wFJR@37yD$zCj z>-IP7Z`! zqYlR%&N!TN=ySN}aLHl7;flkM!&QeS+MvUL^oGMNhuaPt3&BH&#}3aNUO2pS7s0Tu-l@u|#%ZI|Ca29#^-kNJb~x>H+U3;fwA-mFAMA0uJGaScJ#U{=lXI(6yVD`3 z!%oMYPCE5CopL(s^w{Z~)0L$|POsL0Cr;0to;!^>y>R-N23|Y8b$aJi>ipiRGaZyU zuXbMJT;sgad9(8t=X&RD&O4kNoOe6#alYu??7ZLkfOD&JoAV*(4(B7z-Ok6Hk307` z_d1_*?sLB6eBSv?3b^b%;C#h7KNVba9(KO#{J{C4^Hb+X&dokAonJY>c7Esl(Ybf_ zxO0b3=Iq1C<+I1*w#?oUe_;0h$oAQdKBs1%pM84vS=!mzdt5KfzBK#t>?^ac&K{n9 zefG%go3o#mf;+SC&weob;q1q=pUobd{bu&t*&k=Wo88JvbxC*0aLIDXcFA?gb18Hw za5*hp>2fd+l)H2;+~%^wrNL#F%U+jemwhe=TsmA1yL7o6cRAtG>vGEFoJ*g}MVEe; zYc4}BH(YMI+;O?>vWum-lmRF?@=F7pHd%FU$~7@UsK;u-%;OFKT;L6bQs6Ch?Y$& z^(v#Sp{=E@r&ZHxX`5+VX?3)1wC%K=v|Y5lv}W3VS|{x&?HKJOt%r7scA8er>7!ks zU8MEXuF_u925D>az#Cde@JHGwS_(a#o<+~2=g`{&3+YAlVtOfk4SgNGnqEuaNZ&%Q zqi>^cr#H}d(f86D>HFyW=`HkDdI!Ce-bFt`zfA9^U!h;657CF|H|e+NBlO4gr}Ss^ z7xb6(G5Ra|Tl#zYIQ|*R?G%}hQ?TijaC*ugCo3SJLB%_ycigA{4k#U*P&lq4_VGJ^^ zF@_n}88;cX77>^kb7(+$i3F8^#Ib)3Rf>EykuNZF_Zy6sL3T7%ZjhVsBWacn) znfc5DW+AhfS;kz=T*oYDRxvA>pLn&*P0Y>At;{;+Hs*F_19K;HH**iOk=exD$2`Dn zWwtXrn4Qcn<}qdu^Ek6B1)O4@W1eBQ2lp{AFfTIunFGv0<}mXX^EUGV^C|N=bCmg- z`G)z9`JVZaInGqDQdsG%3|2O)fVGlU#42X3VXb4WXH~IkSQ}ZJSaqz;tRiVWYddQP zYZq%btBKXjI>_43Dw4Oc4zZ4~jhR3OkjZ!Omvqvh&%6 z>|%B)yNtbty_Q|UUeB&#SF^8p)w8#=cd&P|cd>^T?qxTz_p@8rt?WbW4t5v&2>Uqu z47-ngkv+h^!X9D|vb)m2F#9(9I{R$E4R)LR2>XKUA^R!&5qm)JjGf7O&fb-n#mV91 za`HI&oE4lx&N@yxXFaEevx!s7Ig$=GbLu$TIXgJJIeR&coK8*?=SU&w;&gM4a!zuN zan8!maxQSraZ3IBIafGWIoCPYIHQ%|24{qGlT$MP4(BfC9_JzFG3Pnw2`9_z1?MGa zlyitX#yL2*gWJXJ-%#J$D6&Ar3D%e~KizIYd0D({UM??>SIEofrAdl-#k>;UI$kBOmba0&g?Ey7n%BeIQ4Y@V z&hyUlT9;nr_45XJS9!y{8@!vm5#Al%1Kva4Q{FS)OWr8&HSaxdoR`AS;HUCeR)I`@ zHa~}-$Is^%^2_+^_^bJ2i_7_y{A&J2{$~DG{&s!?elsJ()f5eEcqf`fwUh;~7z;E3Ru;EG^aFevE!<+|Xe;FjQ? z;E~{&;IZIhCU`D*DR?V*FZdw%Bv1&`g;~OUVUDnVae=T%xI%b2bd|6~SSnm2Tq~>) zt`~O5HwbHlwZbF9jl$at&Iqpx&kDP8z&T;h+&i5?5b(?PzdH3zH|trC@rR*Tk%Dnx5VO_8;t&7v)$ zdeL@KgJ`FyFRD?rU(_Tzy5xYUMbs*47abBE799~C7o8CGh%SgOi7tx{rh`Gzu;_;9 zjp(Ilf5KbQd(j7xLi|y5suHA#SBQ(mCE`-?T5*}U)Tc^ZE#4^JEZ!pCF0K<-d+iYK z6z>x66*r0ZiT8^Sird8<;!g1q@lo+{agX@4_>B0R_=5P7ctAWPzA8>%4TiB2XVS2Q<5dgk>pD9B?Xc~NwK6%QX#35)JV2SHcBcJ z>m}PIJ0v?LdnApLX2}7`K}oBmP0}f8m+VdfM^4oj~~Z%OY;pGhA|k9$9s?pZb_eJgz>P4#^zeJ}kW z9hauKX1M0K=DOy&u5itF?Vnrdy2`cKwbZrDb&cy<*K*ei*DBWyt~IW;uDe|~y59d~ zuWOTQtLq`x4%cqi!>*N;;DqZ{*ORWdSAag(M?QnDL$1TFH(YPJ-gX^vz3Y0<^`Yw{ z*JrMeUAsb`yS{WCb$#Xf+Vzd=Th|Y+?_Ar0KDr*5Gwyn7@v1p#vNdzs^1$9XEB#vM zw9h#-r*qEXITz=2&3Rr32IgFyGdO2>&civ6=RBSBe9q{cH*;Rixf=d<&WAal=JXbU zG`9@5Ot&1je7BWu1#WAii``1y%G}nvt#d1Pt90Aow$W{~+ZMN~Jh08J!EL+S%b=ZZ zd)#)p-3i(2cEGL4?cn@ow-&cnw|2KfZe4C2Zh65++>W{(cRT5J%I%EXIk)p}7u+tn zU3MFC8+NfFJ(Lvx4cj?BF`_u7ToUM;oj+f#Qm82 zN%tQ2)9z>8``pjFUvwXEf1eJnxStEV>V9qEp!@x0*W7awhTMzh54-mVzH=XUfA4;N z1^DEi;*si+>5=A<4z z9{nBz9#=gEJ%&7nJ#Kj1^tkOY;&IpGp2q`^4<1i{$@)3>=j@+9Wr4LnzmKl?c}?(! zpKE?T^Ygi%AN+iM>5HF7e;)h!-OsOn?pX!i|NQai+3KymtBac@6V+&f7h2&%DNYP4o86J2J1_zkA->O7LXfvw69m zD?IZ(J5xZRXOU;Q=X%dgo^_s^J-2x_c<%Dt?YY;p(R06NlV^)(t7nI2o9AKAF3)40 zM?8Byk9(fblD zrB|6(xz`%6!K4bWDz93vEnXYFj;;h-y>@ujdsU@@2CvgzXS~jPUG(bry6Sb!Ysl-C z*B!5WUXQ$GrTjsbG=u17kd|aKV1Pzyvw{- zd$09g=Uwkz?!9{1Ht&Pp+r2+jf)?*X-mTtk0Uh35-kshbD!>u%W8Npdd%aJ2pY=ZH zectYYT2H7+P?@ z1Uy*qXu;zJPZvC2P~i7sL3Jf4_AB#S=U3sk-ml7UgI|qbt>0$9Eq--=^?nEaw)xdp zf>ytFzYf1se&_ry_+9k71gU4}Rl*pZrq%Q~lHZGyJpsSNIqCuktVPU+b?}R^eaiU+aIszs>)U ze}{jU|55+r{yqMu{7?Iz^*`s|=YQV+qW>lTJqw!_?pwHj;lYKi3)>eSUf8|x=)&U* zdl#NvcxvI{hzkoZEgV>Qb>a1ew-$B=bO#&`*co^%;6%X5fKvhI0xksf2V4ob8ZZ6Q2ks4Q4%{DjAh0E{EAVLGvB2YjCj-v}_69cQf(wC{0tW&I1Fr?%2pkH$ z9WflZE9qw7?ZAhDO+oEJ9YLKz=YtLht*ik3K_fu}K`CkAPSD+;r$Ntx(u1>t3xkV- zR|S^@R|QuG*9LD2-W*&Pyghhl@Sfnt;HKaM!3Tp|gFAz}gO3OI1os7B3LXx=6?{E- z=Q?mZ_)hS>;D^DFf}aNGgyeq~u!itG;f>)<;rqi6gdYrV32zHO z6y6zrIQ&TX(eUHpC&GKePlxw~p9#NJ04|32hhGXmlQ0~9Bm8FgNch9>C*jY+Uxbf_ zzY2dH{xqq9~#)qBx>04XlY+7qLE~ zGNLA8V?=#KLqt=={)ht+EfK8|ha$Qnx+9K9^hESVoQXIa(HC(kqCa9VVklxbqAdAd z#KVaD5vQUbMLdmo7V#otEaG*7o)n$!L6vfQMaRBuL2LE9z{KldK&dC>P6JcsL`mgs5en>qdr7^jCvfiKDsix zDtcG+mgpBrN1~5LpNQ^>J{^5F`a<-j=;7!a(Kn;-MBj?;UIFe#-;aJ2{Ve)r^qc6h z=q*W~qEloAvX!zGve61qBrBDzmaUVO%ht;(WgBFhWLsr*vTd^MvIg01*7Y(#cPc29O+_DJ?z_EI(`dnJ1G80tBZi}soeU`92c6V$;Y)%2#6T3Hdf9%27*Rk(nKg5p5 zeu`DZWyEdG0y%L7ak+7|2`l0X=I~8|2?p)lNxE2NIi+dAyKCU<)JdZn@_%`l+Tt<9We0F?pe0}`W46r-CF@Asi z!T6T=w)pn=j`+^_uJ|MI$Ko%C}V$sV*ql;cIdcSCVQR?EX#p#Q0=7VjE8x|j0 z+`0JJ;**QdEg9$tKX@r}i|7T;ccXYs4WX^C$azhC@uu_7@$F)y(o zu`sbJu{LpI;+Dj%iQ5tz6PpwFCmu{}PwYtSO6*QNk=T=XDsg1l`NYeK{fSo+ZzYZ- zK1h6=IGXq>@pa<6#PP(Gq^zX;q@1Mu3a}!nD5*4QZBkj%hvn;%Dw4J)ZBMF8x>W|6 zlMW=cB(*0UO6p9ymNcAnBWWb*W>Q8zxRdlC>2A`ERPZF}S<MPDVAg` z$yt)QwlCSaWcQLiOPZJLUD96+_ANQE zqDi@yOD`i^zPDoOCKzKvh?}V7fZ*MzFPWz>6@hwE5P{DEvX=7S^BcPWd+L$mlZEt zxh!if*s!d2*~Vp?m(?%Zv25S6gUec%ZO;UEmfc(SaM|N!*~z)ddC3LIg~>(9>yj&z z%adD|S0`^w-kQ8ExgmL1^6uouiGfs<+A zbQ&FNrY zI@q5Mj;4b{rJy$*oJj}g(!qsva4{WRh8BTzFq95nrh~C`@G2d=Ne6`)peO@0!^&oW z)(p^@0opUb$JO9)2I$HFuQI@!43LotvNFN0Ot3c-G-iV4Ot3!_9Lxlrnc#3H=*k4g zGQrtQa6S_ZW`b+*%`C77u5`1&oh;Ct1x^=$yIJ5q-27yNT`RzbY_KsK9M1+Pv%#5c zur>#*%K_y%pe+Y<`Cv^ssLcnP;h2&SI`YBxd{DX?oXiK8^FdEO7%c-M(56%l?!zTg zK6sE1UPH_RaHjxVg`?#Pu)h$r7J>tXpsExcEd<94!KXs7dnHh;1O;os;g#UXO0c;I zY$*bDMPOSII8X#yiopI=;NU9Iz6x}$0=dN?zZk421}lrfnqsi77_2V_RmEVS7~Cla zS0J$lJSYYai^02M@Ua+-7lW2EkX`~ZOF(uB$SnbRC16Df=qUkbNpooRR zXte(}O-Gj&6BnQM{f6(Wzkl}q==WpaS54b6t!3JwX;-Gbn^ve(rn5$8oz4cG8lBBL zdv(t04C-9hxvev*V}8JV!2GWHee*Pn%@!RN zy%wh}3M>mPYb>`|Hdr=VHe0q@4p?5b9JIV^`ONaIl@YG?{;k84f<59=sj>S%^owhnPJMDKm;B>}muk#(}=guFTugxBv zec9!)%O>h`>PzY;YAJ04?FtO4yP94_-^^%Z)G)i5L(E6aC(K+{KIuykyi)#2{vCd~yeljbtrVAw&x;?3ABn3aU6PBE z=aTi(5$ULOpKFWj$ei&xtK53sa@<$Bx46IXxcc*nc|G$+=AHMv>|Hp2m0ykj?SQR; zJwca(o&+5WJ{x>0{35>C9gDml^&+|>CheCC^6L1OgpwqM0%WIx3#s6G8W>3f@bl~N z+br;-E--dJ{B+1j8K^D?^;KY76=<#k$Ev`IDsZw2z)*+1Rp5FRxL*aHSAo$g@VW|= zZUA)~z_txw=LWEA1K6_xG;RRR8vqQt4Wna(Kf!Ul z7Qndly|v(UEjU{X`f9=XT5z!zT&e~AwctuE7_0?DwcsyQbj8m!EKrtEul4B@>`YqJ zVCb!GYL3D@DW8}I%Aw0-LJ)iaqr|{>fB=yb{!9bHB4-4L;Ll+AF8B`mB+$e^{GE_U z{2}z}gzpUf`@}c2wD5PrqVdPjg&MxI7`bsy_`}}`T8uwKiQ0gkIN=5OKlnSb#N*%L z@BGKKuf794Jkj6p;lB{a5dR<258~mEW)`;Q(@1|7R#p@ninX1UE$Ja7q06X^jSc*- zwYdca&*Aq+Bt)Pk1Wkz*61(xef8I2(O|-rIQnRkU+hLFCnAYF_{Ch2wW~qy5!SDt6 zA6ek&0TQ<{l05nEk3SNXR0p|6oF(s+-m^&^!mc=TR08%8Zgtwj1$zo!&FO49pJ zEv+^#=_N?2-%~aKN?kk`Xx;Rm)Ji(zAq}>_;tyECFm| zX=(k3#}6>j=6@)@gE7(Ie~s|pS@^Fp`u$rnjJ)$(-K8OuG4ikk(@-eJzg24g)@+(y z)`au51;sQb03l&oD7=`Si^~EAb%8m9L1hTJ0-A&&rb@*e7fO6Iyhs4yqb0JhM7!F_x(A}^JUXoEfM`02mB#OwUhGbJY90rrgl&}cM;IPFA z55G$BRahma9)aoMN?;x)VM?h2o`}a03b<6U407Y|LczI3*OOgl&}d48zYqw=qyz$r zji%-b<`mJy5}~T1cveaPY}@#lIKCIpjltu&z^Bm(N=O3&(h3Fsf)%|>g0!de zIU2wZFOr^&M2O}vH*`d@?@k9(C z#8sewoPVs67kvUTNGTvaG9ru0hC*jZ*)%E>X8CozIJpvW27%b8Par97#C8Wx@49~lN~hhO|5 zZq994c#ZKu}O15)!%}<3foHiwc9f0R!jY9}?<9i3*C6$)S41$zX#9shZb?^7VE_VWU)#bP-i7 zhB_vc(5ddk-NMgJ0I%IaOgO%}P+VrPXci<9{zP!utK<@eN>W2Ir~*1oz^2i-REer< z$Dn{vE)*V@IfsPuHv$C@h60s8n2f@N1BZkuWJ49^shShdPBbbBoiVK8b{bcm7(%EF*vnH;ht70zXm!2Xi}8&-m$AW7tvKc}lgD%0xF=gd=EHP7Exi3Z_jqcMy#^X~N3<;0Tfq0Xs zYzR$6BejBt%65^#cvPuG%Hz{v4b{B}&;HwV_UJ?`K8wX=3q`Ci`ZWPbsNAGO*$FZj zo5~Y0*a9w-PwoI;$I<8jJ!Bj>e(`8rCL6XTnnje-C*x4QCH*rbJg8(Mnt&@63OJ-5 zH34o>SR5R3)r*#|tJy^oCR0ciGFfywPb?x~k~#tb52vhnsD1cIs|0l<)Gkh`yEjOn zbUu~O=Fxc^u3$1XiKX+%!;yxXps-J>t_9~Pj+oA+Gda@FYJz9~ZEA9NA{I}=WAa7f zFSLX}{DzjGNLFgT*i<@=ClIljaMkg7nEX19hL)fRRB9ZkB`mn|5)n%crIL_gzNsX? zgTV#VaC|DAE|Ah$boOMj58%!bP2NTSKn8zAip7e6rD<4OEy))VoEt&zJx6Nuj6P4|F2{m5tT1xz_lz7O)2UwO2+x7^#7ZL z$Ak+G+?3W1Z3YN2gG^rbQ7#6E+B$mUT+LZ%eXR(uj7se=;W zcm!sb84Mn|i_Rlp*~*#0mIMpel1v6uBo#76a77AN2+{tLs`VZv6fPbk@flIcxlA=X zYpf+5$%qWtAH+h5kj?)lqP@!urevO{awO5%PjN_~a3m2k`4SeN3B~aBHB#&x4t;WM z=99sYHq%6~fw-Tw8PERPv>AndQY#>j$`-R}Y$09vg*FqA-_T|$8H`P3v6&13S2AJ6 z^>rK#ZJtBM5mDJ98eafcZ)9yI<9t(_QHU>fC0SGkizDH4>9o%aZ~~2pc}9}E#=gam z1cTa+Ct`}lH1fRlg$gU@m_?yVwXh?!H(5Es#E}r8T0piq42fjYbx0V4AtkY=F~KY% zgYn=1EagZ=kWcj>hiCt7YJtK;sU?OsRCF#2ZmPae3j*>RYJp-pslnJ(0RygSIB+FR znqj_T zy=R<7K&C1+1BIbdL9&==Aui^#r9u*qAL0T^yYBmL#7ag9MBrYjM*lMoqjNN4fr z5&?sTFT`VG@ZBPAt3Xj+V8v0K1-LAi!EIJ7+~6oHu3-;A(bH61BK_sF1!5s@(n%Tt zO|HKvD4QA#4n=SzVxkqCYL3Qp|2Fk)BSW#Nd@h5-VRLy@7~w&sDFm9P=4xo%VKR;Y zZT*A{A%{gJXNEINEHpOx!Z^f zZl4$S8UxWO5)Ok!6){9Kwp2u$h$9dBB|Z$s&p}oSh!__mUlE*?d+Qe&~HT$)hGWbsu8_ncwnQYHu!SV!eA$*7TgV?^j14s&oY8r3SIg!yKMRbo z3aG3ezb>%9k-@lBKIBd!=8C9Z_#mWIs|ow}&-MIwLdUKvb?o0rP;f!ShXzdvmrtWk zs9ZE|b0tEOKm!}T!9roul)9m@B0?duNL7`x*=!aMF5M~*j z2{~*Y8}3e3-5k&U+qyZ5=S5uz6D2gpCjx=bMUVPr`%awwT6{GI<=haQ?ispMVz@9T>FOg@Ugr!)C+|kE zCn9p_3=Y~+!)+_H=gUH(;UO7ZbfWwyV592fh^YA25%o!kbT~>dc`PAYBA8Tg_-7jHMe0c8Pre`cN6tt=dMG^)FTCYeQ zlR*21o^dDQutgk>h(?o8$(f1Ob!;efCm;z*WAP~>0l^03aiORt*bG%#t32z3ehC5S zn=j}9C-&=2Ifo3%r1EKeu@oK@sI`sY5gz@+L$^Q|D|E`D9O2@lm59@cUa(Es3p~h( za1jN!u@WJ^&`@TaP;C-2zV}gLnh==XO7om28517*^I2S}6d7{90SPzYF7`@DGXnB= z%6;s7GNc3=b3|}~#U}N$-@>LTfmx-*^e15=(>Id`cY1L5^S|O#!zdslVM2R96Y?qK zLeB=xBicBgh^0EX`n;;wILnMBgR$YNSs-Ew;khVDqrZ-$p@<1&9JrXFu_SzGbb=LC z+lk3I-<)dlNqBH^3OBRRTFPhs2BSh8YhIkPfi;W@D@d5osK8{I9H9}Ao5+yRkj)YBcyRuJEfWhJO2PudU{vSNv)e?Lm53VKw*6#8 zXz<~&;dwdSh@h(fy1^%D?qqFqkc5d0J_wR7Anmv&E?yDPk5KS!WG1#xW8kJS^gJXdGxR;H%EB(R`@_KxVGb{Y|5v^pJ4i$+`d? ze$b)s#;>_-AnO@PavCS==g5d?-^&sU;I8X8s0_sXy2@Oh2+60x6BP+;jLB6dHV${e zm=y5|84)gurSJ?@%qG?czpgT2ld8-!5++m`7DL2@9tF^9t1^R5R2c+BY8Q>}JVpY8 z-B|#Sc%hwyF?n~!;l9|hXmsa~Bvhz1@aUL9r^8W9=|_PZmJwTD;Am(K)$F0|NmF^dU@1d^X03Xl9Hj)w7e zJ{gAzhfumm2**7QA3Eh~{__B(;dCVX#S7WI=d*A1d3KfjSV@cqN zAUX>n&EHDzB#m94h6@&JB9a81lQV=;=*tM%fx4jK`AHhtG=Ml{AQs&Iump4-GFPeH z3vq$7koPhPMMJp+WE41Wp;atX%+zEDhtjB+hPs!MkZ>1U0T<3!Jn9^zR``(zajf7U z4gDY&CdLs54baqtVrZ*2v=ep%Qyr(_L8(LF*BaxYYAvvW-w(vTLze{<$Kief{W*sI zh+!Ll0?4Hqn~Hyj8ToLcEV$P(5x*Tq(MF--wG{nu>jM8{2jE99m|U2(;U|Dxm$9kl znq^t4%Q^@b{V>xe=*zD__bp69e*{`nZ9Zqfd4ul*g0~jp{c>&i{@-9pH2i(5&+p@v zv9Qrf$G$`N0~D=92K2dmg%`~5FFeCPw?hC_89YorbjsFBMPEdR@5tee0r;Ov_5zLW=5` zsRhgb&T$&}3j)It*@!yV0Dq<$s}KX^0XS=Fw&p9@`V++11%YOU{-{kbglC`XM9vu; z79AFgz9LGCZ6lzazorK_;;8_WlIgegddS%muN4ysx#VA`+JjVgVmc)j0YD zj^mFI;yiq7DXa=ng{f1ZzY(5G>EH_mKqy5BA%0`HR#&V-ZSYUP{qeis!Lt8L2l(p% zwAfTzRq>xad5I4gs3oBw5EuLx1dD?gV-)j2=#St1Df%ZY_9yLzpQeoO zgmw82)&(G@FytkTAtz@H`6Xk>qZmUzz}QqO6gkc_?u`<(04;sgrJN$_`j6?b01MQ5 zj<6K%-$N~+{|h)y!;shj5;{QMzZi1f#invJ5Rrvk6Y;7M1Uvc%_~V8U|GW_~{oUq& z;SGT!PC-7r81lWvkk>4RTwXEcrmBrxOflpYicJ-36oou4HH-S*3YHQDHAVmn`VMwv z*dcM2ksBz6+&HnR0U9{S8&4Bw$Qt52N1FEmDvtJFaHQ|1l3D&NbTmu=DS4<4~ zP-4jU5kroP81gp6kb59DwM3(2X z!^4mR9frK$u&F*81t3==%>p*jA+~rb{P~kMEa2}%Yh3+rQft&8eM0s79#<+h>LsX> z-y^3u3^}u5$O{ca-eVYY{lbvH7KU7`Fys)0As;4eYMll*$je2O8@@Ya#O<%}XFaMe zA?V+oAXoRZppg^-a%IAh3ljd>I1KsxV8~$y|BxPrd}Oexzi5<9 zR}2g}PheAPG?+k#_L@v2z>9T?*Z&Xx6d)%40-1;=@$r%@2joD3A&&NgG6P>zhmf5)k7H0`B@hMuA-4XVZ?+yP4R{(9)TfRr9@fbQq$I$UN zhR&|1paW+N9Ta2eh!>mcu2B>^1k@~QK_)Ea;D5lM5meNlaOr+WC+XUE=x`T9hq4$t zO~ueDD29$OF?8;TO%2y51s!#1mf~Cl3lO2f@geH0$}aO0Np|0%BS#D!72+SO!O+

#^40=6UN{i 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 z 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

&;M-7hKYR$M&JRB9(d}(>Ays-XoJHde3^+OQ0 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 #k!hKdgF0wLx{2X_M+v)mGILs%@&LR8Om( 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 d6P_4VMNtwe3A9@{{cw#;U@q9 literal 324408 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 Date: Tue, 1 May 2012 15:15:21 +0000 Subject: [PATCH 02/41] Reload the wheel on late join. --- src/MusicWheel.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 1b5224e21b..f27ecbb473 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -1511,13 +1511,20 @@ void MusicWheel::PlayerJoined() // a song that has an illegal stepstype for the current amount of players. // (e.g. a song that only has doubles difficulties and a second player joins.) // We need to rebuild the wheel item data in this situation. -aj + // TaroNuke: Is at some point this going to remove the non selectable song/course choices? if( !GAMESTATE->IsCourseMode() && !PREFSMAN->m_bAutogenSteps ) { FOREACH_ENUM(SortOrder, so) { m_WheelItemDatasStatus[so] = INVALID; - } - RebuildWheelItems(); + } + // TaroNuke: Refresh the screen - feel free to replace this with an actual reload screen function + SCREENMAN->SetNewScreen( "ScreenSelectMusic" ); + // RebuildWheelItems(); + } + else + { + SCREENMAN->SetNewScreen( "ScreenSelectCourse" ); } SetOpenSection( m_sExpandedSectionName ); } From bcdb7d702de7f7846a8268d50b76a97f69014bc0 Mon Sep 17 00:00:00 2001 From: TaroNuke Date: Tue, 1 May 2012 15:18:30 +0000 Subject: [PATCH 03/41] Reload wheel on late join. --- src/MusicWheel.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index f27ecbb473..20215fa875 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -1511,20 +1511,20 @@ void MusicWheel::PlayerJoined() // a song that has an illegal stepstype for the current amount of players. // (e.g. a song that only has doubles difficulties and a second player joins.) // We need to rebuild the wheel item data in this situation. -aj - // TaroNuke: Is at some point this going to remove the non selectable song/course choices? + // TaroNuke: Is at some point this going to remove the non selectable song/course choices? if( !GAMESTATE->IsCourseMode() && !PREFSMAN->m_bAutogenSteps ) { FOREACH_ENUM(SortOrder, so) { m_WheelItemDatasStatus[so] = INVALID; - } - // TaroNuke: Refresh the screen - feel free to replace this with an actual reload screen function - SCREENMAN->SetNewScreen( "ScreenSelectMusic" ); - // RebuildWheelItems(); - } - else - { - SCREENMAN->SetNewScreen( "ScreenSelectCourse" ); + } + // TaroNuke: Refresh the screen - feel free to replace this with an actual reload screen function + SCREENMAN->SetNewScreen( "ScreenSelectMusic" ); + // RebuildWheelItems(); + } + else + { + SCREENMAN->SetNewScreen( "ScreenSelectCourse" ); } SetOpenSection( m_sExpandedSectionName ); } From 4e24ead887b23660af09dc262ccaa18eab2a6355 Mon Sep 17 00:00:00 2001 From: Colby Klein Date: Tue, 1 May 2012 09:53:11 -0700 Subject: [PATCH 04/41] This is far too nasty of a hack and not good behavior in the first place. I'm fairly sure you can do this in Lua if you REALLY want this kludge. --- src/MusicWheel.cpp | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/MusicWheel.cpp b/src/MusicWheel.cpp index 20215fa875..1b5224e21b 100644 --- a/src/MusicWheel.cpp +++ b/src/MusicWheel.cpp @@ -1511,20 +1511,13 @@ void MusicWheel::PlayerJoined() // a song that has an illegal stepstype for the current amount of players. // (e.g. a song that only has doubles difficulties and a second player joins.) // We need to rebuild the wheel item data in this situation. -aj - // TaroNuke: Is at some point this going to remove the non selectable song/course choices? if( !GAMESTATE->IsCourseMode() && !PREFSMAN->m_bAutogenSteps ) { FOREACH_ENUM(SortOrder, so) { m_WheelItemDatasStatus[so] = INVALID; } - // TaroNuke: Refresh the screen - feel free to replace this with an actual reload screen function - SCREENMAN->SetNewScreen( "ScreenSelectMusic" ); - // RebuildWheelItems(); - } - else - { - SCREENMAN->SetNewScreen( "ScreenSelectCourse" ); + RebuildWheelItems(); } SetOpenSection( m_sExpandedSectionName ); } From 41d42f9561f357b3758cdfbdc132b8b0de0d872d Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 2 May 2012 19:13:22 -0500 Subject: [PATCH 05/41] "pump/default: move player variable to outside of function to work for split timing" sourced from hanubeki: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=ca5903590a0decbaca4c17194cf2efe025d3ce4a --- NoteSkins/pump/default/UpLeft Receptor.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NoteSkins/pump/default/UpLeft Receptor.lua b/NoteSkins/pump/default/UpLeft Receptor.lua index 973425b8b2..6b36007723 100644 --- a/NoteSkins/pump/default/UpLeft Receptor.lua +++ b/NoteSkins/pump/default/UpLeft Receptor.lua @@ -1,7 +1,8 @@ +local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber() + local function Beat(self) -- too many locals local this = self:GetChildren() - local player = Var "Player" or GAMESTATE:GetMasterPlayerNumber() local playerstate = GAMESTATE:GetPlayerState( player ) local songposition = playerstate:GetSongPosition() -- GAMESTATE:GetSongPosition() From eb061fa03d5529765cb0ef7f4fe9a85f1896e7dc Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 2 May 2012 19:24:08 -0500 Subject: [PATCH 06/41] Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce --- Docs/Changelog_sm5.txt | 6 +++++- src/GhostArrowRow.cpp | 4 +++- src/ReceptorArrowRow.cpp | 6 +++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index f408432cc4..7b4201dcd4 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -6,9 +6,13 @@ ________________________________________________________________________________ ================================================================================ -StepMania 5.0 alpha 2 | 201204?? +StepMania 5.0 alpha 2 | 201205?? -------------------------------------------------------------------------------- +2012/05/02 +* Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce + 2012/04/25 ---------- * [Profile] Added GetLastPlayedSong and GetLastPlayedCourse Lua bindings. [AJ] diff --git a/src/GhostArrowRow.cpp b/src/GhostArrowRow.cpp index f81eef75d6..934abbd461 100644 --- a/src/GhostArrowRow.cpp +++ b/src/GhostArrowRow.cpp @@ -87,8 +87,10 @@ void GhostArrowRow::Update( float fDeltaTime ) void GhostArrowRow::DrawPrimitives() { - for( unsigned c=0; cGetCurrentStyle(); + for( unsigned i=0; im_iColumnDrawOrder[i]; m_Ghost[c]->Draw(); } } diff --git a/src/ReceptorArrowRow.cpp b/src/ReceptorArrowRow.cpp index 7acb928da9..276c63eb90 100644 --- a/src/ReceptorArrowRow.cpp +++ b/src/ReceptorArrowRow.cpp @@ -66,8 +66,12 @@ void ReceptorArrowRow::Update( float fDeltaTime ) void ReceptorArrowRow::DrawPrimitives() { - for( unsigned c=0; cGetCurrentStyle(); + for( unsigned i=0; im_iColumnDrawOrder[i]; m_ReceptorArrow[c]->Draw(); + } } void ReceptorArrowRow::Step( int iCol, TapNoteScore score ) From e639a7c7fccb34bccd0616392c7c3d8acf741e84 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 2 May 2012 19:24:26 -0500 Subject: [PATCH 07/41] ugh, forgot something so simple. --- Docs/Changelog_sm5.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 7b4201dcd4..c5480ef899 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -10,6 +10,7 @@ StepMania 5.0 alpha 2 | 201205?? -------------------------------------------------------------------------------- 2012/05/02 +---------- * Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=8ccf7449651eef51e8c42d031aa64da49a0b72ce From 8b630f1064b70b8cc789caec55ebacbdcbcef8b0 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 3 May 2012 14:01:20 -0500 Subject: [PATCH 08/41] apply djpohly's patch to fix issue 767 http://ssc.ajworld.net/sm-ssc/bugtracker/view.php?id=767 --- src/RageSoundReader_ThreadedBuffer.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/RageSoundReader_ThreadedBuffer.cpp b/src/RageSoundReader_ThreadedBuffer.cpp index 9a12a22e2a..14dac250a9 100644 --- a/src/RageSoundReader_ThreadedBuffer.cpp +++ b/src/RageSoundReader_ThreadedBuffer.cpp @@ -1,5 +1,6 @@ #include "global.h" #include "RageSoundReader_ThreadedBuffer.h" +#include "RageUtil.h" #include "RageTimer.h" #include "Foreach.h" #include "RageLog.h" From 201d6e80297ce071f32ec0a1d3e0b75ffcd2c7a4 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 3 May 2012 14:06:41 -0500 Subject: [PATCH 09/41] another patch from djpohly, this time to silence some pointless log output --- src/arch/InputHandler/InputHandler_Linux_Joystick.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp b/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp index 2fc7392d0c..c4f8028803 100644 --- a/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp +++ b/src/arch/InputHandler/InputHandler_Linux_Joystick.cpp @@ -4,7 +4,6 @@ #include "RageLog.h" #include "RageUtil.h" -#include #include #include @@ -135,7 +134,6 @@ void InputHandler_Linux_Joystick::InputThread() continue; RageTimer now; - printf("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n"); for(int i = 0; i < NUM_JOYSTICKS; ++i) { if( fds[i] == -1 ) From 967237d88133bd33f8c13db82c6a93ee5a72d311 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 3 May 2012 14:27:51 -0500 Subject: [PATCH 10/41] Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a --- Docs/Changelog_sm5.txt | 5 +++++ Docs/credits.txt | 2 ++ src/GhostArrowRow.cpp | 5 +++++ src/NoteDisplay.cpp | 5 +++++ src/NoteSkinManager.cpp | 5 +++++ src/NoteSkinManager.h | 8 +++++++- src/ReceptorArrow.cpp | 5 +++++ 7 files changed, 34 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index c5480ef899..1184163400 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -9,6 +9,11 @@ ________________________________________________________________________________ StepMania 5.0 alpha 2 | 201205?? -------------------------------------------------------------------------------- +2012/05/03 +---------- +* Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] + Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a + 2012/05/02 ---------- * Make ReceptorArrowRow and GhostArrowRow respect the column draw order. [hanubeki] diff --git a/Docs/credits.txt b/Docs/credits.txt index fc4eeea55c..e56c656a5b 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -87,6 +87,8 @@ Macgravel hanubeki (@803832, formerly sy567) * Small beginner helper fix (http://www.stepmania.com/forums/showpost.php?p=158721&postcount=12) + * Lots of code changes from hanubeki-modified-sm-ssc: + http://code.google.com/r/hanubeki-modified-sm-ssc/ galopin * Pump it Up Exceed PlayStation 2 USB dance mat support patch diff --git a/src/GhostArrowRow.cpp b/src/GhostArrowRow.cpp index 934abbd461..9693167e6d 100644 --- a/src/GhostArrowRow.cpp +++ b/src/GhostArrowRow.cpp @@ -16,12 +16,17 @@ void GhostArrowRow::Load( const PlayerState* pPlayerState, float fYReverseOffset m_fYReverseOffsetPixels = fYReverseOffset; const Style* pStyle = GAMESTATE->GetCurrentStyle(); + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + NOTESKIN->SetPlayerNumber( pn ); // init arrows for( int c=0; cm_iColsPerPlayer; c++ ) { const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( c ); + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( c, pn ); + NOTESKIN->SetGameController( GameI.controller ); + m_bHoldShowing.push_back( TapNote::SubType_Invalid ); m_bLastHoldShowing.push_back( TapNote::SubType_Invalid ); diff --git a/src/NoteDisplay.cpp b/src/NoteDisplay.cpp index 7e1ff5516c..565619c431 100644 --- a/src/NoteDisplay.cpp +++ b/src/NoteDisplay.cpp @@ -246,6 +246,11 @@ void NoteDisplay::Load( int iColNum, const PlayerState* pPlayerState, float fYRe m_pPlayerState = pPlayerState; m_fYReverseOffsetPixels = fYReverseOffsetPixels; + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNum, pn ); + NOTESKIN->SetPlayerNumber( pn ); + NOTESKIN->SetGameController( GameI.controller ); + const RString &sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNum ); cache->Load( sButton ); diff --git a/src/NoteSkinManager.cpp b/src/NoteSkinManager.cpp index 902a757dd7..8815c414bc 100644 --- a/src/NoteSkinManager.cpp +++ b/src/NoteSkinManager.cpp @@ -2,6 +2,7 @@ #include "NoteSkinManager.h" #include "RageFileManager.h" #include "RageLog.h" +#include "GameInput.h" #include "GameState.h" #include "Game.h" #include "Style.h" @@ -47,6 +48,8 @@ namespace NoteSkinManager::NoteSkinManager() { m_pCurGame = NULL; + m_PlayerNumber = PlayerNumber_Invalid; + m_GameController = GameController_Invalid; // Register with Lua. { @@ -378,6 +381,8 @@ bool NoteSkinManager::PushActorTemplate( Lua *L, const RString &sButton, const R ASSERT( iter != g_mapNameToData.end() ); const NoteSkinData &data = iter->second; + LuaThreadVariable varPlayer( "Player", LuaReference::Create(m_PlayerNumber) ); + LuaThreadVariable varController( "Controller", LuaReference::Create(m_GameController) ); LuaThreadVariable varButton( "Button", sButton ); LuaThreadVariable varElement( "Element", sElement ); LuaThreadVariable varSpriteOnly( "SpriteOnly", LuaReference::Create(bSpriteOnly) ); diff --git a/src/NoteSkinManager.h b/src/NoteSkinManager.h index 7534a51827..3917982fb7 100644 --- a/src/NoteSkinManager.h +++ b/src/NoteSkinManager.h @@ -4,6 +4,7 @@ #include "Actor.h" #include "RageTypes.h" #include "PlayerNumber.h" +#include "GameInput.h" #include "IniFile.h" class Game; @@ -24,7 +25,8 @@ public: void SetCurrentNoteSkin( const RString &sNoteSkin ) { m_sCurrentNoteSkin = sNoteSkin; } const RString &GetCurrentNoteSkin() { return m_sCurrentNoteSkin; } - + void SetPlayerNumber( PlayerNumber pn ) { m_PlayerNumber = pn; } + void SetGameController( GameController gc ) { m_GameController = gc; } RString GetPath( const RString &sButtonName, const RString &sElement ); bool PushActorTemplate( Lua *L, const RString &sButton, const RString &sElement, bool bSpriteOnly ); Actor *LoadActor( const RString &sButton, const RString &sElement, Actor *pParent = NULL, bool bSpriteOnly = false ); @@ -46,6 +48,10 @@ protected: void LoadNoteSkinDataRecursive( const RString &sNoteSkinName, NoteSkinData& data_out ); RString m_sCurrentNoteSkin; const Game* m_pCurGame; + + // xxx: is this the best way to implement this? -freem + PlayerNumber m_PlayerNumber; + GameController m_GameController; }; extern NoteSkinManager* NOTESKIN; // global and accessable from anywhere in our program diff --git a/src/ReceptorArrow.cpp b/src/ReceptorArrow.cpp index 87e260fa08..13628af2d2 100644 --- a/src/ReceptorArrow.cpp +++ b/src/ReceptorArrow.cpp @@ -19,6 +19,11 @@ void ReceptorArrow::Load( const PlayerState* pPlayerState, int iColNo ) m_pPlayerState = pPlayerState; m_iColNo = iColNo; + const PlayerNumber pn = m_pPlayerState->m_PlayerNumber; + const GameInput GameI = GAMESTATE->GetCurrentStyle()->StyleInputToGameInput( iColNo, pn ); + NOTESKIN->SetPlayerNumber( pn ); + NOTESKIN->SetGameController( GameI.controller ); + RString sButton = GAMESTATE->GetCurrentStyle()->ColToButtonName( iColNo ); m_pReceptor.Load( NOTESKIN->LoadActor(sButton, "Receptor") ); this->AddChild( m_pReceptor ); From 0e867243bee0e80d6784b98c1af6f53b38755936 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 3 May 2012 20:04:49 -0500 Subject: [PATCH 11/41] [CustomSpeedMods] If a player decides to remove 1x from the machine profile's custom speed mods, re-add it back in to avoid crashes. --- Docs/Changelog_sm5.txt | 2 ++ .../_fallback/Scripts/03 CustomSpeedMods.lua | 23 +++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 1184163400..beb9e5d1a0 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -13,6 +13,8 @@ StepMania 5.0 alpha 2 | 201205?? ---------- * Add Var "Player" and Var "Controller" for NoteSkin. [hanubeki] Sourced from http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=824cff29912d1c29a667046ba463d195e81c524a +* [CustomSpeedMods] If a player decides to remove 1x from the machine profile's + custom speed mods, re-add it back in to avoid crashes. [AJ] 2012/05/02 ---------- diff --git a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua index 6836e3c67e..43a691d66d 100644 --- a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua +++ b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua @@ -1,9 +1,13 @@ --[[ -Custom Speed Mods v2.2 (for StepMania 5) +Custom Speed Mods v2.3 (for StepMania 5/SM5TE) by AJ Kelly of KKI Labs ( http://kki.ajworld.net/ ) changelog: +v2.3 (StepMania 5 a2/SM5TE) +* If someone has decided to remove 1x from the machine profile's speed mods, + silently fix it. + v2.2 (StepMania 5 alpha 2) [by FSX] * Rewrite table management code. * Add code to make sure that there are speed mods and that they are correct. @@ -174,11 +178,20 @@ local function GetSpeedMods() PlayerNumber_P2 = ProfileDir('ProfileSlot_Player2') } - -- figure out how many players we have to deal with. - local numPlayers = GAMESTATE:GetNumPlayersEnabled() + -- if someone is trying to be "smart" and removes 1x from the machine + -- profile's custom speed mods, re-add it to prevent crashes. + local machineMods = ParseSpeedModFile(profileDirs.Machine..baseFilename) + if machineMods then + local found1X = false + for k,v in pairs(machineMods) do found1X = (v == "1x") end + if not found1X then table.insert(machineMods,"1x") end + end -- load machine to finalMods - finalMods = InvertTable(ParseSpeedModFile(profileDirs.Machine..baseFilename)) + finalMods = InvertTable(machineMods) + + -- figure out how many players we have to deal with. + local numPlayers = GAMESTATE:GetNumPlayersEnabled() local playerMods = {} for pn in ivalues(GAMESTATE:GetHumanPlayers()) do @@ -253,7 +266,7 @@ function SpeedMods() end --[[ -Copyright 2008-2011 AJ Kelly/KKI Labs. +Copyright 2008-2012 AJ Kelly/KKI Labs. Use freely, so long this notice and the above documentation remains. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" From 37246257afd1ac96226233dcbaa781a5636a4afd Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Fri, 4 May 2012 01:14:17 +0000 Subject: [PATCH 12/41] I just realized there was a pretty serious problem here --- Themes/_fallback/Scripts/03 CustomSpeedMods.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua index 43a691d66d..3d413bfa3d 100644 --- a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua +++ b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua @@ -80,7 +80,7 @@ local function ParseSpeedModFile(path) end end - if #mods==0 then return Failure() end + if #mods==0 then return Failure(file) end file:destroy() return mods @@ -266,7 +266,7 @@ function SpeedMods() end --[[ -Copyright 2008-2012 AJ Kelly/KKI Labs. +Copyright © 2008-2012 AJ Kelly/KKI Labs. Use freely, so long this notice and the above documentation remains. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" From 84eef100a6f39b76cb2c9dfda5ebc497702cc4da Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Thu, 3 May 2012 20:28:55 -0500 Subject: [PATCH 13/41] lazytown --- Themes/_fallback/Scripts/03 CustomSpeedMods.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua index 3d413bfa3d..716ac1ae92 100644 --- a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua +++ b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua @@ -7,6 +7,7 @@ changelog: v2.3 (StepMania 5 a2/SM5TE) * If someone has decided to remove 1x from the machine profile's speed mods, silently fix it. +* Ignore Cmod and mmod capitalization errors. v2.2 (StepMania 5 alpha 2) [by FSX] * Rewrite table management code. @@ -77,6 +78,9 @@ local function ParseSpeedModFile(path) string.gsub(mods[i], "%s", "") if not(mods[i]:find("%d+.?%d*[xX]") or mods[i]:find("[cmCM]%d+")) then mods[i] = nil + --hack for those lazy with their capitalization + if mods[i]:find("[mM]") then mods[i]=mods[i]:lower() + elseif mods[i]:find("[cC]") then mods[i]=mods[i]:upper() end end end From 58669e616ee02e099d178d7fc85f5ae17a71ef91 Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Fri, 4 May 2012 07:16:04 -0500 Subject: [PATCH 14/41] Tweaked Failure function, made case-correction code work --- Themes/_fallback/Scripts/03 CustomSpeedMods.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua index 716ac1ae92..922ca57136 100644 --- a/Themes/_fallback/Scripts/03 CustomSpeedMods.lua +++ b/Themes/_fallback/Scripts/03 CustomSpeedMods.lua @@ -57,10 +57,11 @@ end -- Tries to parse the file at path. If successful, returns a table of mods. -- If it can't open the file, it will write a fallback set of mods. local function ParseSpeedModFile(path) - local function Failure(file) + local function Failure() -- error; write a fallback mod file and return it local fallbackString = "0.5x,1x,1.5x,2x,3x,4x,5x,6x,7x,8x,C250,C450,m550" Trace("[CustomSpeedMods]: Could not read SpeedMods; writing fallback to "..path) + local file = RageFileUtil.CreateRageFile() file:Open(path, 2) file:Write(fallbackString) file:destroy() @@ -78,18 +79,17 @@ local function ParseSpeedModFile(path) string.gsub(mods[i], "%s", "") if not(mods[i]:find("%d+.?%d*[xX]") or mods[i]:find("[cmCM]%d+")) then mods[i] = nil - --hack for those lazy with their capitalization - if mods[i]:find("[mM]") then mods[i]=mods[i]:lower() - elseif mods[i]:find("[cC]") then mods[i]=mods[i]:upper() end - end + elseif mods[i]:find("[mM]") then mods[i]=mods[i]:lower() + elseif mods[i]:find("[cC]") then mods[i]=mods[i]:upper() end end - if #mods==0 then return Failure(file) end + if #mods==0 then file:destroy() return Failure() end file:destroy() return mods else - return Failure(file) + file:destroy() + return Failure() end end From 9f2b9e4853367fb6731f4072b1176429729ee9f8 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 4 May 2012 16:26:59 -0400 Subject: [PATCH 15/41] Minimum build we (try to) support is 10.5.0. Best to not lie about it unintensionally. --- Xcode/Info-StepMania.plist | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/Xcode/Info-StepMania.plist b/Xcode/Info-StepMania.plist index f0cc221793..f34fb68cfc 100644 --- a/Xcode/Info-StepMania.plist +++ b/Xcode/Info-StepMania.plist @@ -45,23 +45,15 @@ PRODUCT_VER_BARE CFBundleSignature Step - CFBundleURLTypes - CFBundleVersion PRODUCT_VER_BARE LSApplicationCategoryType public.app-category.music-games LSMinimumSystemVersion - 10.4.10 + 10.5.10 NSHumanReadableCopyright Copyright 2001-2011 NSPrincipalClass SMApplication - NSServices - - UTExportedTypeDeclarations - - UTImportedTypeDeclarations - From 54aff5282ad6c6f752f6db9eeb2a8949e806335b Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 4 May 2012 16:28:34 -0400 Subject: [PATCH 16/41] No universal support for Xcode 4.3. --- .../project.pbxproj | 495 ------------------ 1 file changed, 495 deletions(-) diff --git a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj index d6e9c9ce73..fa127f043b 100644 --- a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj +++ b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj @@ -7857,49 +7857,6 @@ }; name = PerformanceDebug; }; - 2B17AB7513980FE0001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INHIBIT_ALL_WARNINGS = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = "../extern/libpng/**"; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "png-1.5.1-sm5"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Universal; - }; 2B17AB7613980FE0001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8030,48 +7987,6 @@ }; name = PerformanceDebug; }; - 2B17ABC313981522001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - HEADER_SEARCH_PATHS = "../extern/glew-1.5.8/include"; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "glew-sm5"; - USER_HEADER_SEARCH_PATHS = ""; - }; - name = Universal; - }; 2B17ABC413981522001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8197,46 +8112,6 @@ }; name = PerformanceDebug; }; - 2B17ABE313981757001AE57D /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = ""; - GCC_PREFIX_HEADER = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PREBINDING = NO; - PRODUCT_NAME = "pcre-sm5"; - }; - name = Universal; - }; 2B17ABE413981757001AE57D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8326,22 +8201,6 @@ }; name = PerformanceDebug; }; - 2BD6E10F13D78B37008443DB /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - INSTALL_PATH = /usr/local/lib; - LIBRARY_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/../extern/zlib\"", - ); - PRODUCT_NAME = "zlib-sm5"; - }; - name = Universal; - }; 2BD6E11013D78B37008443DB /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8559,54 +8418,6 @@ }; name = Native; }; - AA40D52909A08D650068C0D5 /* Universal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; - buildSettings = { - FRAMEWORK_SEARCH_PATHS = ( - "$(SRCROOT)/Frameworks", - "$(SYSTEM_LIBRARY_DIR)/Frameworks", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks", - ); - FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; - GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; - GCC_PREPROCESSOR_DEFINITIONS = ( - NO_MP3_SUPPORT, - WITHOUT_NETWORKING, - ); - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/Frameworks/ffmpeg.framework/Headers", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - "$(SYSTEM_LIBRARY_DIR)/Frameworks/CoreServices.framework/Versions/Current/Frameworks/CarbonCore.framework/Versions/A/Headers", - ); - INFOPLIST_FILE = "Info-StepMania.plist"; - INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; - INFOPLIST_PREPROCESS = YES; - INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; - INSTALL_PATH = "$(HOME)/Applications"; - LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/Libraries", - "$(SRCROOT)/build/$(CONFIGURATION)", - "$(LIBRARY_SEARCH_PATHS_QUOTED_1)", - "\"$(SRCROOT)/../extern/mad-0.15.1b/msvc++/Release\"", - ); - LIBRARY_SEARCH_PATHS_QUOTED_1 = "\"$(SRCROOT)/build\""; - OBJROOT = "$(SRCROOT)/build"; - OTHER_CPLUSPLUSFLAGS = ( - "-finline-limit=300", - "-fconstant-cfstrings", - "-fsingle-precision-constant", - "-fno-exceptions", - ); - PRODUCT_NAME = StepMania; - SYMROOT = "$(SRCROOT)/.."; - WRAPPER_EXTENSION = app; - }; - name = Universal; - }; AA40D52A09A08D660068C0D5 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; @@ -8675,24 +8486,6 @@ }; name = Native; }; - AA7A2B9B0AE09BA50054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - LUA_USE_MACOSX, - "$(value)", - ); - INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; - OBJROOT = "$(SRCROOT)/build"; - PRODUCT_NAME = lua; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7A2B9C0AE09BA50054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8726,21 +8519,6 @@ }; name = Native; }; - AA7A2BBB0AE09D4E0054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = LUA_USE_MACOSX; - INSTALL_PATH = "$(HOME)/bin"; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/build/$(CONFIGURATION)"; - OBJROOT = "$(SRCROOT)/build"; - PRODUCT_NAME = luac; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7A2BBC0AE09D4E0054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8763,13 +8541,6 @@ }; name = Native; }; - AA7A2BBF0AE09D4E0054C5BA /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - PRODUCT_NAME = "all lua"; - }; - name = Universal; - }; AA7A2BC00AE09D4E0054C5BA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8796,21 +8567,6 @@ }; name = Native; }; - AA7C89830B67447E00FD9940 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_DYNAMIC_NO_PIC = YES; - GCC_MODEL_TUNING = G5; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - INSTALL_PATH = /usr/local/lib; - PRODUCT_NAME = "tommath-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7C89840B67447E00FD9940 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8845,23 +8601,6 @@ }; name = Native; }; - AA7C8B900B67464300FD9940 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - DEAD_CODE_STRIPPING = NO; - GCC_DYNAMIC_NO_PIC = YES; - GCC_ENABLE_CPP_RTTI = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - INSTALL_PATH = /usr/local/lib; - KEEP_PRIVATE_EXTERNS = YES; - PRODUCT_NAME = "tomcrypt-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AA7C8B910B67464300FD9940 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -8955,42 +8694,6 @@ }; name = PerformanceDebug; }; - AAA070AC0CE7B0E2005A3060 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - FPM = ""; - "FPM[arch=i386]" = FPM_INTEL; - "FPM[arch=ppc]" = FPM_PPC; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PREPROCESSOR_DEFINITIONS = ( - "HAVE_ASSERT_H=1", - "HAVE_DLFCN_H=1", - "HAVE_ERRNO_H=1", - "HAVE_FORK=1", - "HAVE_INTTYPES_H=1", - "HAVE_LIMITS_H=1", - "HAVE_MEMORY_H=1", - "HAVE_WAITPID=1", - "SIZEOF_LONG=4", - "$(FPM)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../src/mad-0.15.1b"; - INSTALL_PATH = /usr/local/lib; - PREBINDING = NO; - PRODUCT_NAME = "mad-sm5"; - }; - name = Universal; - }; AAA070AD0CE7B0E2005A3060 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9417,125 +9120,6 @@ }; name = Native; }; - AAE44A2B0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - COPY_PHASE_STRIP = NO; - DEAD_CODE_STRIPPING = YES; - GCC_ENABLE_FIX_AND_CONTINUE = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_PARAMETER = NO; - GCC_WARN_UNUSED_VALUE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LIBRARY_STYLE = Bundle; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRODUCT_NAME = version; - ZERO_LINK = NO; - }; - name = Universal; - }; - AAE44A2C0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = AA8B8C49091F48C000D14C5F /* product.xcconfig */; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(SYMROOT)"; - FULL_NAME = "$(PRODUCT_NAME).$(WRAPPER_EXTENSION)"; - GCC_ENABLE_OBJC_EXCEPTIONS = NO; - GCC_PREFIX_HEADER = "$(SRCROOT)/../src/archutils/Darwin/StepMania.pch"; - GCC_PREPROCESSOR_DEFINITIONS = _XOPEN_SOURCE; - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/../Xcode/ffmpeg/include", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - ); - INFOPLIST_FILE = "Info-StepMania.plist"; - INFOPLIST_PREFIX_HEADER = "$(SRCROOT)/../src/ProductInfo.h"; - INFOPLIST_PREPROCESS = YES; - INFOPLIST_PREPROCESSOR_DEFINITIONS = "EXECUTABLE_NAME=\"$(PRODUCT_NAME)\""; - LIBRARY_SEARCH_PATHS = ( - "$(SRCROOT)/../src", - "$(SRCROOT)/../src/ffmpeg/include", - "$(SRCROOT)/../src/vorbis", - "$(SRCROOT)/../src/libjpeg", - "$(SRCROOT)/../src/libpng/include", - ); - LINKER_DISPLAYS_MANGLED_NAMES = NO; - MACOSX_DEPLOYMENT_TARGET = 10.5; - OBJROOT = "$(SRCROOT)/build"; - OTHER_CPLUSPLUSFLAGS = ( - "-finline-limit=300", - "-fconstant-cfstrings", - "-fno-exceptions", - "-falign-loops=16", - ); - OTHER_LDFLAGS = "-lbz2"; - PRODUCT_NAME = StepMania; - SYMROOT = "$(SRCROOT)/.."; - WRAPPER_EXTENSION = app; - }; - name = Universal; - }; - AAE44A2D0965707500B025E5 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - BUILD_VARIANTS = normal; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)"; - DEAD_CODE_STRIPPING = YES; - EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES = "*.nib *.lproj *.framework *.gch *.xcode* (*) CVS .svn .hg .git"; - GCC_ENABLE_CPP_EXCEPTIONS = NO; - GCC_FAST_MATH = NO; - GCC_FAST_OBJC_DISPATCH = NO; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_INLINES_ARE_PRIVATE_EXTERN = YES; - GCC_OPTIMIZATION_LEVEL = 3; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_STRICT_ALIASING = YES; - GCC_UNROLL_LOOPS = YES; - GCC_VERSION = ""; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES; - GCC_WARN_ABOUT_MISSING_NEWLINE = YES; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_SHADOW = YES; - GCC_WARN_SIGN_COMPARE = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNKNOWN_PRAGMAS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_LABEL = YES; - GCC_WARN_UNUSED_VALUE = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LIBRARY_SEARCH_PATHS = "$(PROJECT_DIR)/Libraries"; - LINKER_DISPLAYS_MANGLED_NAMES = YES; - MACOSX_DEPLOYMENT_TARGET = 10.5; - PRESERVE_DEAD_CODE_INITS_AND_TERMS = YES; - SDKROOT = macosx10.6; - SHARED_PRECOMPS_DIR = "/Library/Caches/com.apple.Xcode.$(UID)/SharedPrecompiledHeaders/$(PRODUCT_NAME)/$(CONFIGURATION)"; - STRIP_INSTALLED_PRODUCT = YES; - STRIP_STYLE = "non-global"; - USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/../extern/glew-1.5.8/include $(PROJECT_DIR)/../extern/jsoncpp/include"; - }; - name = Universal; - }; AAE781800AC7E3BF00AEFC64 /* Native */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9561,31 +9145,6 @@ }; name = Native; }; - AAE781810AC7E3BF00AEFC64 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_DEBUGGING_SYMBOLS = full; - GCC_DYNAMIC_NO_PIC = YES; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "$(value)", - LUA_USE_MACOSX, - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - INSTALL_PATH = /usr/local/lib; - OBJROOT = "$(SRCROOT)/build"; - PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO; - PRODUCT_NAME = "lua-5.1-sm5"; - SYMROOT = "$(SRCROOT)/build"; - }; - name = Universal; - }; AAE781820AC7E3BF00AEFC64 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9689,44 +9248,6 @@ }; name = PerformanceDebug; }; - EE4FD26314A8EFE1002B5758 /* Universal */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; - GCC_ENABLE_FIX_AND_CONTINUE = YES; - GCC_MODEL_TUNING = G5; - GCC_PRECOMPILE_PREFIX_HEADER = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = NO; - GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; - GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; - GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; - GCC_WARN_ABOUT_MISSING_NEWLINE = NO; - GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; - GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; - GCC_WARN_ABOUT_RETURN_TYPE = NO; - GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; - GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; - GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; - GCC_WARN_MISSING_PARENTHESES = NO; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; - GCC_WARN_PROTOTYPE_CONVERSION = NO; - GCC_WARN_SHADOW = NO; - GCC_WARN_SIGN_COMPARE = NO; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; - GCC_WARN_UNDECLARED_SELECTOR = NO; - GCC_WARN_UNINITIALIZED_AUTOS = NO; - GCC_WARN_UNKNOWN_PRAGMAS = NO; - GCC_WARN_UNUSED_FUNCTION = NO; - GCC_WARN_UNUSED_LABEL = NO; - GCC_WARN_UNUSED_VALUE = NO; - GCC_WARN_UNUSED_VARIABLE = NO; - INSTALL_PATH = /usr/local/lib; - OTHER_LDFLAGS = ""; - PRODUCT_NAME = "jpeg-sm5"; - }; - name = Universal; - }; EE4FD26414A8EFE1002B5758 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -9777,7 +9298,6 @@ buildConfigurations = ( 2B17AB7313980FE0001AE57D /* Native */, 2B17AB7413980FE0001AE57D /* PerformanceDebug */, - 2B17AB7513980FE0001AE57D /* Universal */, 2B17AB7613980FE0001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9788,7 +9308,6 @@ buildConfigurations = ( 2B17ABC113981522001AE57D /* Native */, 2B17ABC213981522001AE57D /* PerformanceDebug */, - 2B17ABC313981522001AE57D /* Universal */, 2B17ABC413981522001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9799,7 +9318,6 @@ buildConfigurations = ( 2B17ABE113981757001AE57D /* Native */, 2B17ABE213981757001AE57D /* PerformanceDebug */, - 2B17ABE313981757001AE57D /* Universal */, 2B17ABE413981757001AE57D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9810,7 +9328,6 @@ buildConfigurations = ( 2BD6E10D13D78B37008443DB /* Native */, 2BD6E10E13D78B37008443DB /* PerformanceDebug */, - 2BD6E10F13D78B37008443DB /* Universal */, 2BD6E11013D78B37008443DB /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9821,7 +9338,6 @@ buildConfigurations = ( AA40D52809A08D650068C0D5 /* Native */, AABF4DBD0CD37960005A3060 /* PerformanceDebug */, - AA40D52909A08D650068C0D5 /* Universal */, AA40D52A09A08D660068C0D5 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9832,7 +9348,6 @@ buildConfigurations = ( AA7A2B9A0AE09BA50054C5BA /* Native */, AABF4DBF0CD37960005A3060 /* PerformanceDebug */, - AA7A2B9B0AE09BA50054C5BA /* Universal */, AA7A2B9C0AE09BA50054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9843,7 +9358,6 @@ buildConfigurations = ( AA7A2BBA0AE09D4E0054C5BA /* Native */, AABF4DC00CD37960005A3060 /* PerformanceDebug */, - AA7A2BBB0AE09D4E0054C5BA /* Universal */, AA7A2BBC0AE09D4E0054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9854,7 +9368,6 @@ buildConfigurations = ( AA7A2BBE0AE09D4E0054C5BA /* Native */, AABF4DC10CD37960005A3060 /* PerformanceDebug */, - AA7A2BBF0AE09D4E0054C5BA /* Universal */, AA7A2BC00AE09D4E0054C5BA /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9865,7 +9378,6 @@ buildConfigurations = ( AA7C89820B67447E00FD9940 /* Native */, AABF4DC20CD37960005A3060 /* PerformanceDebug */, - AA7C89830B67447E00FD9940 /* Universal */, AA7C89840B67447E00FD9940 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9876,7 +9388,6 @@ buildConfigurations = ( AA7C8B8F0B67464300FD9940 /* Native */, AABF4DC30CD37960005A3060 /* PerformanceDebug */, - AA7C8B900B67464300FD9940 /* Universal */, AA7C8B910B67464300FD9940 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9887,7 +9398,6 @@ buildConfigurations = ( AAA070AA0CE7B0E2005A3060 /* Native */, AAA070AB0CE7B0E2005A3060 /* PerformanceDebug */, - AAA070AC0CE7B0E2005A3060 /* Universal */, AAA070AD0CE7B0E2005A3060 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9898,7 +9408,6 @@ buildConfigurations = ( AAC8450D0856A19700A9FEAB /* Native */, AABF4DBC0CD37960005A3060 /* PerformanceDebug */, - AAE44A2B0965707500B025E5 /* Universal */, AA0AA8FE0963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9909,7 +9418,6 @@ buildConfigurations = ( AAC845110856A19700A9FEAB /* Native */, AABF4DBB0CD37960005A3060 /* PerformanceDebug */, - AAE44A2C0965707500B025E5 /* Universal */, AA0AA8FF0963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9920,7 +9428,6 @@ buildConfigurations = ( AAC845150856A19700A9FEAB /* Native */, AABF4DBA0CD37960005A3060 /* PerformanceDebug */, - AAE44A2D0965707500B025E5 /* Universal */, AA0AA9000963CF7700427F4D /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9931,7 +9438,6 @@ buildConfigurations = ( AAE781800AC7E3BF00AEFC64 /* Native */, AABF4DBE0CD37960005A3060 /* PerformanceDebug */, - AAE781810AC7E3BF00AEFC64 /* Universal */, AAE781820AC7E3BF00AEFC64 /* Debug */, ); defaultConfigurationIsVisible = 0; @@ -9942,7 +9448,6 @@ buildConfigurations = ( EE4FD26114A8EFE1002B5758 /* Native */, EE4FD26214A8EFE1002B5758 /* PerformanceDebug */, - EE4FD26314A8EFE1002B5758 /* Universal */, EE4FD26414A8EFE1002B5758 /* Debug */, ); defaultConfigurationIsVisible = 0; From f31372c7d681526a1a07b99a772e7c929e6fa29e Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 4 May 2012 16:30:52 -0400 Subject: [PATCH 17/41] Almost half a year late on copyright update? Man, we've fallen behind here. --- Xcode/Info-StepMania.plist | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xcode/Info-StepMania.plist b/Xcode/Info-StepMania.plist index f34fb68cfc..907653aecc 100644 --- a/Xcode/Info-StepMania.plist +++ b/Xcode/Info-StepMania.plist @@ -52,7 +52,7 @@ LSMinimumSystemVersion 10.5.10 NSHumanReadableCopyright - Copyright 2001-2011 + Copyright 2001-2012 NSPrincipalClass SMApplication From 1cbbf08c58ef94968243b35b77a7ce7b3deecf1d Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 4 May 2012 17:13:55 -0400 Subject: [PATCH 18/41] Reduce warnings on external projects. --- .../project.pbxproj | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj index fa127f043b..c6d1338d22 100644 --- a/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj +++ b/Xcode/stepmania_xcode4.3.xcodeproj/project.pbxproj @@ -8036,6 +8036,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -8050,6 +8051,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8076,6 +8078,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -8090,6 +8093,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8116,6 +8120,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -8133,6 +8138,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -8159,9 +8165,34 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -8182,9 +8213,34 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; + GCC_WARN_64_TO_32_BIT_CONVERSION = NO; + GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; + GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; + GCC_WARN_ABOUT_MISSING_NEWLINE = NO; + GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; + GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; + GCC_WARN_ABOUT_RETURN_TYPE = NO; + GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; + GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; + GCC_WARN_SHADOW = NO; + GCC_WARN_SIGN_COMPARE = NO; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; + GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; + GCC_WARN_UNKNOWN_PRAGMAS = NO; + GCC_WARN_UNUSED_FUNCTION = NO; + GCC_WARN_UNUSED_LABEL = NO; + GCC_WARN_UNUSED_VALUE = NO; + GCC_WARN_UNUSED_VARIABLE = NO; INSTALL_PATH = /usr/local/lib; LIBRARY_SEARCH_PATHS = ( "$(inherited)", @@ -8205,6 +8261,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -8213,19 +8270,24 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_WARN_64_TO_32_BIT_CONVERSION = NO; GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO; + GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = NO; GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = NO; GCC_WARN_ABOUT_MISSING_NEWLINE = NO; GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO; GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; + GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = NO; GCC_WARN_PROTOTYPE_CONVERSION = NO; GCC_WARN_SHADOW = NO; GCC_WARN_SIGN_COMPARE = NO; GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO; GCC_WARN_UNDECLARED_SELECTOR = NO; + GCC_WARN_UNINITIALIZED_AUTOS = NO; GCC_WARN_UNKNOWN_PRAGMAS = NO; GCC_WARN_UNUSED_FUNCTION = NO; GCC_WARN_UNUSED_LABEL = NO; @@ -9174,6 +9236,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -9187,6 +9250,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -9213,6 +9277,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; GCC_ENABLE_FIX_AND_CONTINUE = YES; GCC_MODEL_TUNING = G5; @@ -9226,6 +9291,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; @@ -9252,6 +9318,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_CXX0X_EXTENSIONS = NO; CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)"; COPY_PHASE_STRIP = NO; GCC_DYNAMIC_NO_PIC = NO; @@ -9268,6 +9335,7 @@ GCC_WARN_ABOUT_POINTER_SIGNEDNESS = NO; GCC_WARN_ABOUT_RETURN_TYPE = NO; GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = NO; + GCC_WARN_CHECK_SWITCH_STATEMENTS = NO; GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = NO; GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = NO; GCC_WARN_MISSING_PARENTHESES = NO; From ae957524089de4be72d531c1fb1ff143d2982a56 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Fri, 4 May 2012 21:58:21 -0400 Subject: [PATCH 19/41] I'm guessing more HGEOL crap. --- .../include/projects/visualc71/libpng.sln | 120 +-- .../include/projects/visualc71/libpng.vcproj | 838 +++++++++--------- .../include/projects/visualc71/pngtest.vcproj | 534 +++++------ .../include/projects/visualc71/zlib.vcproj | 782 ++++++++-------- .../include/projects/vstudio/vstudio.sln | 174 ++-- 5 files changed, 1224 insertions(+), 1224 deletions(-) diff --git a/extern/libpng/include/projects/visualc71/libpng.sln b/extern/libpng/include/projects/visualc71/libpng.sln index eeb101f2e3..adce68aae0 100644 --- a/extern/libpng/include/projects/visualc71/libpng.sln +++ b/extern/libpng/include/projects/visualc71/libpng.sln @@ -1,60 +1,60 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng.vcproj", "{0008960E-E0DD-41A6-8265-00B31DDB4C21}" - ProjectSection(ProjectDependencies) = postProject - {2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest.vcproj", "{FD1C2F86-9EEF-47BD-95A4-530917E17FDA}" - ProjectSection(ProjectDependencies) = postProject - {0008960E-E0DD-41A6-8265-00B31DDB4C21} = {0008960E-E0DD-41A6-8265-00B31DDB4C21} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{2D4F8105-7D21-454C-9932-B47CAB71A5C0}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - DLL Debug = DLL Debug - DLL Release = DLL Release - DLL VB = DLL VB - LIB Debug = LIB Debug - LIB Release = LIB Release - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.Build.0 = DLL Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.ActiveCfg = DLL Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.Build.0 = DLL Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.ActiveCfg = DLL VB|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.Build.0 = DLL VB|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.Build.0 = LIB Debug|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.ActiveCfg = LIB Release|Win32 - {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.Build.0 = LIB Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.Build.0 = DLL Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.ActiveCfg = DLL Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.Build.0 = DLL Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.ActiveCfg = DLL VB|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.Build.0 = DLL VB|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.Build.0 = LIB Debug|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.ActiveCfg = LIB Release|Win32 - {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.Build.0 = LIB Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.ActiveCfg = DLL Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.Build.0 = DLL Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.ActiveCfg = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.Build.0 = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.ActiveCfg = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.Build.0 = DLL Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.ActiveCfg = LIB Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.Build.0 = LIB Debug|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.ActiveCfg = LIB Release|Win32 - {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.Build.0 = LIB Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng.vcproj", "{0008960E-E0DD-41A6-8265-00B31DDB4C21}" + ProjectSection(ProjectDependencies) = postProject + {2D4F8105-7D21-454C-9932-B47CAB71A5C0} = {2D4F8105-7D21-454C-9932-B47CAB71A5C0} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest.vcproj", "{FD1C2F86-9EEF-47BD-95A4-530917E17FDA}" + ProjectSection(ProjectDependencies) = postProject + {0008960E-E0DD-41A6-8265-00B31DDB4C21} = {0008960E-E0DD-41A6-8265-00B31DDB4C21} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{2D4F8105-7D21-454C-9932-B47CAB71A5C0}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + DLL Debug = DLL Debug + DLL Release = DLL Release + DLL VB = DLL VB + LIB Debug = LIB Debug + LIB Release = LIB Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Debug.Build.0 = DLL Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.ActiveCfg = DLL Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL Release.Build.0 = DLL Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.ActiveCfg = DLL VB|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.DLL VB.Build.0 = DLL VB|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Debug.Build.0 = LIB Debug|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.ActiveCfg = LIB Release|Win32 + {0008960E-E0DD-41A6-8265-00B31DDB4C21}.LIB Release.Build.0 = LIB Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Debug.Build.0 = DLL Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.ActiveCfg = DLL Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL Release.Build.0 = DLL Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.ActiveCfg = DLL VB|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.DLL VB.Build.0 = DLL VB|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Debug.Build.0 = LIB Debug|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.ActiveCfg = LIB Release|Win32 + {FD1C2F86-9EEF-47BD-95A4-530917E17FDA}.LIB Release.Build.0 = LIB Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.ActiveCfg = DLL Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Debug.Build.0 = DLL Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.ActiveCfg = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL Release.Build.0 = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.ActiveCfg = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.DLL VB.Build.0 = DLL Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.ActiveCfg = LIB Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Debug.Build.0 = LIB Debug|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.ActiveCfg = LIB Release|Win32 + {2D4F8105-7D21-454C-9932-B47CAB71A5C0}.LIB Release.Build.0 = LIB Release|Win32 + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal diff --git a/extern/libpng/include/projects/visualc71/libpng.vcproj b/extern/libpng/include/projects/visualc71/libpng.vcproj index 4c5acf94c8..e17f4f7a8d 100644 --- a/extern/libpng/include/projects/visualc71/libpng.vcproj +++ b/extern/libpng/include/projects/visualc71/libpng.vcproj @@ -1,419 +1,419 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/visualc71/pngtest.vcproj b/extern/libpng/include/projects/visualc71/pngtest.vcproj index ff330ae350..ac82ff9b7d 100644 --- a/extern/libpng/include/projects/visualc71/pngtest.vcproj +++ b/extern/libpng/include/projects/visualc71/pngtest.vcproj @@ -1,267 +1,267 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/visualc71/zlib.vcproj b/extern/libpng/include/projects/visualc71/zlib.vcproj index eb218488dc..614b869e7f 100644 --- a/extern/libpng/include/projects/visualc71/zlib.vcproj +++ b/extern/libpng/include/projects/visualc71/zlib.vcproj @@ -1,391 +1,391 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extern/libpng/include/projects/vstudio/vstudio.sln b/extern/libpng/include/projects/vstudio/vstudio.sln index 4ab66418ca..c6c50e4431 100644 --- a/extern/libpng/include/projects/vstudio/vstudio.sln +++ b/extern/libpng/include/projects/vstudio/vstudio.sln @@ -1,87 +1,87 @@ -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\libpng.vcxproj", "{D6973076-9317-4EF2-A0B8-B7A18AC0713E}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest\pngtest.vcxproj", "{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngvalid", "pngvalid\pngvalid.vcxproj", "{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}" - ProjectSection(ProjectDependencies) = postProject - {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} - {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} - {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pnglibconf", "pnglibconf\pnglibconf.vcxproj", "{EB33566E-DA7F-4D28-9077-88C0B7C77E35}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug Library|Win32 = Debug Library|Win32 - Debug|Win32 = Debug|Win32 - Release Library|Win32 = Release Library|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.ActiveCfg = Debug|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.Build.0 = Debug|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.Build.0 = Release Library|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.ActiveCfg = Release|Win32 - {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.Build.0 = Release|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.ActiveCfg = Debug|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.Build.0 = Debug|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.Build.0 = Release Library|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.ActiveCfg = Release|Win32 - {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.Build.0 = Release|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.ActiveCfg = Debug|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.Build.0 = Debug|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.Build.0 = Release Library|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.ActiveCfg = Release|Win32 - {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.Build.0 = Release|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.ActiveCfg = Debug|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.Build.0 = Debug|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.Build.0 = Release Library|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.ActiveCfg = Release|Win32 - {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.Build.0 = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.ActiveCfg = Release|Win32 - {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.Build.0 = Release|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.Build.0 = Debug Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.ActiveCfg = Debug|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.Build.0 = Debug|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.ActiveCfg = Release Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.Build.0 = Release Library|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.ActiveCfg = Release|Win32 - {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libpng", "libpng\libpng.vcxproj", "{D6973076-9317-4EF2-A0B8-B7A18AC0713E}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngtest", "pngtest\pngtest.vcxproj", "{228BA965-50D5-42B2-8BCF-AFCC227E3C1D}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib\zlib.vcxproj", "{60F89955-91C6-3A36-8000-13C592FEC2DF}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pngvalid", "pngvalid\pngvalid.vcxproj", "{9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}" + ProjectSection(ProjectDependencies) = postProject + {60F89955-91C6-3A36-8000-13C592FEC2DF} = {60F89955-91C6-3A36-8000-13C592FEC2DF} + {EB33566E-DA7F-4D28-9077-88C0B7C77E35} = {EB33566E-DA7F-4D28-9077-88C0B7C77E35} + {D6973076-9317-4EF2-A0B8-B7A18AC0713E} = {D6973076-9317-4EF2-A0B8-B7A18AC0713E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pnglibconf", "pnglibconf\pnglibconf.vcxproj", "{EB33566E-DA7F-4D28-9077-88C0B7C77E35}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug Library|Win32 = Debug Library|Win32 + Debug|Win32 = Debug|Win32 + Release Library|Win32 = Release Library|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.ActiveCfg = Debug|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Debug|Win32.Build.0 = Debug|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release Library|Win32.Build.0 = Release Library|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.ActiveCfg = Release|Win32 + {D6973076-9317-4EF2-A0B8-B7A18AC0713E}.Release|Win32.Build.0 = Release|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.ActiveCfg = Debug|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Debug|Win32.Build.0 = Debug|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release Library|Win32.Build.0 = Release Library|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.ActiveCfg = Release|Win32 + {228BA965-50D5-42B2-8BCF-AFCC227E3C1D}.Release|Win32.Build.0 = Release|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.ActiveCfg = Debug|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Debug|Win32.Build.0 = Debug|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release Library|Win32.Build.0 = Release Library|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.ActiveCfg = Release|Win32 + {60F89955-91C6-3A36-8000-13C592FEC2DF}.Release|Win32.Build.0 = Release|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.ActiveCfg = Debug|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Debug|Win32.Build.0 = Debug|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release Library|Win32.Build.0 = Release Library|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.ActiveCfg = Release|Win32 + {9B36B6FE-7FC0-434F-A71F-BBEF8099F1D8}.Release|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug Library|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Debug|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release Library|Win32.Build.0 = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.ActiveCfg = Release|Win32 + {EB33566E-DA7F-4D28-9077-88C0B7C77E35}.Release|Win32.Build.0 = Release|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.ActiveCfg = Debug Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug Library|Win32.Build.0 = Debug Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.ActiveCfg = Debug|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Debug|Win32.Build.0 = Debug|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.ActiveCfg = Release Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release Library|Win32.Build.0 = Release Library|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.ActiveCfg = Release|Win32 + {277AC57F-313B-4D06-B119-A3CDB672D2FF}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From dc6869c76183cfe7cf74089e4758f84e60c96df9 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 5 May 2012 19:36:01 -0500 Subject: [PATCH 20/41] nothing special, just forgot to give sm5 alpha 2 a proper date in the changelog. --- Docs/Changelog_sm5.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index beb9e5d1a0..a937b89736 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -6,7 +6,7 @@ ________________________________________________________________________________ ================================================================================ -StepMania 5.0 alpha 2 | 201205?? +StepMania 5.0 alpha 2 | 20120504 -------------------------------------------------------------------------------- 2012/05/03 From e59955fa806211dbd8578da3778099c78076db17 Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Sun, 6 May 2012 00:45:47 -0500 Subject: [PATCH 21/41] ScoringEngine2 --- Themes/_fallback/Scripts/04 Scoring.lua | 1220 +++++------------ .../Scripts/05 NewScoringFrontend.lua | 170 +++ .../_fallback/Scripts/05 ScoringEngine2.lua | 118 ++ .../ScreenEvaluation decorations/default.lua | 4 + .../ScreenGameplay decorations/default.lua | 3 +- .../default.lua | 6 + 6 files changed, 654 insertions(+), 867 deletions(-) create mode 100644 Themes/_fallback/Scripts/05 NewScoringFrontend.lua create mode 100644 Themes/_fallback/Scripts/05 ScoringEngine2.lua diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index d3cf7fd46b..bc84d85ce7 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -1,865 +1,355 @@ ---internals table -local Shared = {}; ---Special Scoring types. -local r = {}; -local DisabledScoringModes = { '[SSC] Radar Master' }; ---the following metatable makes any missing value in a table 0 instead of nil. -local ZeroIfNotFound = { __index = function() return 0 end; }; - --- Retrieve the amount of taps/holds/rolls involved. Used for some formulas. -function GetTotalItems(radars) - local total = radars:GetValue('RadarCategory_TapsAndHolds') - total = total + radars:GetValue('RadarCategory_Holds') - total = total + radars:GetValue('RadarCategory_Rolls') - -- [ja] Liftを加えると一部二重加算になるため除外する。 - -- total = total + radars:GetValue('RadarCategory_Lifts') - - -- [en] prevent divide by 0 - -- [ja] 0除算対策(しなくても動作するけど満点になっちゃうんで) - return math.max(1,total); -end; - --- Determine whether marvelous timing is to be considered. -function IsW1Allowed(tapScore) - return tapScore == 'TapNoteScore_W2' - and (PREFSMAN:GetPreference("AllowW1") ~= 'AllowW1_Never' - or not (GAMESTATE:IsCourseMode() and - PREFSMAN:GetPreference("AllowW1") == 'AllowW1_CoursesOnly')); -end; - --- Get the radar values directly. The individual steps aren't used much. -function GetDirectRadar(player) - return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player); -end; - ------------------------------------------------------------ --- StepMania 3.9 (Plus) Scorings by @803832 --- 3.9 MAX2 --- 3.9 5TH --- 3.9Plus HYBRID --- 3.9Plus SN --- 3.9Plus SN2 --- note: 3.9Plus PIU Scoring cannot be implemented due to no NumTapsInRow --- in JudgmentMessage. This is fixed in hanubeki-modified-sm-ssc revision 6c7184e7df9a: --- http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=6c7184e7df9a3694649f965c2976859bb9e45963 ------------------------------------------------------------ -local function isW2OrAbove(tns) - if tns == 'TapNoteScore_W1' or tns == 'TapNoteScore_W2' then - return true; - end; - return false; -end -local sm3_Steps = {0,0}; -local sm3_Score = {0,0}; -local sm3_CurMaxScore = {0,0}; -local sm3_Combo = {0,0}; -local sm3_CurMaxCombo = {0,0}; -local sm3_GradePoints = {0,0}; -local sm3_Bonus = {0,0}; -local sm3_MaxBonus = {0,0}; - -r["3.9 MAX2"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/の値 - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求める - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = meter * 10000000 * length; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - end; - - -- [ja] 現在のステップ数 - -- [ja] 地雷とHoldCheckpointsの場合は加算しない - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne*sm3_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+math.floor(vScore)); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - - -- [ja] 落ちていた場合は入るスコアが減る - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時は10点 - sm3_Score[p] = sm3_Score[p]+10; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.でもN.G.でもない場合のスコア: - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - sm3_Score[p] = sm3_Score[p]+multLookup[params.TapNoteScore]; - end; - - -- [ja] 5点単位の処理がなぜかここでされる - if multLookup[params.TapNoteScore] > 0 then - sm3_Score[p] = math.floor((sm3_Score[p] + 2) / 5) * 5; - end; - else - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後の1ステップがW2以上の場合、端数を加算する - -- [ja] 端数は設定上の満点と最終ステップ時点での満点の差から求める - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - pss:SetScore(pss:GetScore()+(baseScore-pss:GetCurMaxScore())); - pss:SetCurMaxScore(pss:GetCurMaxScore()+(baseScore-pss:GetCurMaxScore())); - end; - end; -end; - --- TODO: Don't add combo bonus if autoplay -r["3.9 5TH"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/の値 - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求める - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = (meter * length + 1) * 5000000; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - sm3_Score[p] = 0; - sm3_CurMaxScore[p] = 0; - sm3_Combo[p] = 0; - sm3_CurMaxCombo[p] = 0; - sm3_GradePoints[p] = 0; - sm3_Bonus[p] = 0; - sm3_MaxBonus[p] = 0; - end; - - -- [ja] 現在のステップ数 - -- [ja] 地雷とHoldCheckpointsの場合は加算しない - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne*sm3_Steps[p]; - sm3_CurMaxScore[p] = sm3_CurMaxScore[p]+math.floor(vScore); - - -- [ja] グレードの計算は5THではなくMAX2方式 - local gradeWeightTable = { - ['TapNoteScore_W1'] = 2, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1, - ['TapNoteScore_W5'] = -4, - ['TapNoteScore_Miss'] = -8, - }; - setmetatable(gradeWeightTable, ZeroIfNotFound); - - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - sm3_GradePoints[p] = sm3_GradePoints[p] + 6; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - sm3_GradePoints[p] = sm3_GradePoints[p] + gradeWeightTable[params.TapNoteScore]; - end; - end; - - -- [ja] コンボは自前で処理する - if not params.HoldNoteScore then - if params.TapNoteScore == 'TapNoteScore_W1' or - params.TapNoteScore == 'TapNoteScore_W2' or - ( - GAMESTATE:GetPlayMode() ~= 'PlayMode_Oni' and - params.TapNoteScore == 'TapNoteScore_W3' - ) - then - sm3_Combo[p] = sm3_Combo[p] + 1; - -- [ja] 地雷とHoldCheckpointsの場合はリセットしない - elseif params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Combo[p] = 0; - end; - sm3_CurMaxCombo[p] = sm3_CurMaxCombo[p] + 1; - end; - - local bonusTable = - { - ['TapNoteScore_W1'] = 55, - ['TapNoteScore_W2'] = 55, - ['TapNoteScore_W3'] = 33 - }; - setmetatable(bonusTable, ZeroIfNotFound); - - -- [ja] 落ちていた場合は入るスコアが減る - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時は10点 - sm3_Score[p] = sm3_Score[p]+10; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.でもN.G.でもない場合のスコア: - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - sm3_Score[p] = sm3_Score[p]+multLookup[params.TapNoteScore]; - end; - - -- [ja] 5点単位の処理がなぜかここでされる - if multLookup[params.TapNoteScore] > 0 then - sm3_Score[p] = math.floor((sm3_Score[p] + 2) / 5) * 5; - end; - else - sm3_Score[p] = sm3_Score[p]+math.floor(vScore); - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - sm3_Bonus[p] = sm3_Bonus[p]+55*sm3_Combo[p]; - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - sm3_Bonus[p] = sm3_Bonus[p]+bonusTable[params.TapNoteScore]*sm3_Combo[p]; - end; - sm3_MaxBonus[p] = sm3_MaxBonus[p]+55*sm3_CurMaxCombo[p]; - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後の1ステップがW2以上の場合、端数を加算する - -- [ja] 端数は設定上の満点と最終ステップ時点での満点の差から求める - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - sm3_Score[p] = sm3_Score[p]+(baseScore-sm3_CurMaxScore[p]); - sm3_CurMaxScore[p] = sm3_CurMaxScore[p]+(baseScore-sm3_CurMaxScore[p]); - end; - end; - - -- [ja] 5点単位の処理は5TH方式のみでされる - pss:SetScore(sm3_Score[p] - sm3_Score[p] % 5); - pss:SetCurMaxScore(sm3_CurMaxScore[p] - sm3_CurMaxScore[p] % 5); - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] コンボボーナスとグレードボーナスを加算 - -- [ja] 本当はリザルト画面でやりたいんだけどね - local totalTaps = radarValues:GetValue('RadarCategory_TapsAndHolds'); - local totalHolds = radarValues:GetValue('RadarCategory_Holds') + radarValues:GetValue('RadarCategory_Rolls'); - - local gradeBonusTable = { - -- Threshold: sm3_GradePoints[p] / (totalTaps * 2 + totalHolds * 6) * 100 - { Threshold = 100, Bonus = 10000000 }, - { Threshold = 93, Bonus = 1000000 }, - { Threshold = 80, Bonus = 100000 }, - { Threshold = 65, Bonus = 10000 }, - { Threshold = 45, Bonus = 1000 }, - -- [ja] 45%に達していない場合は100点とする - }; - - local gradeBonus = 100; - - for i = 1,#gradeBonusTable do - if (sm3_GradePoints[p] / (totalTaps * 2 + totalHolds * 6) * 100 >= gradeBonusTable[i].Threshold) then - gradeBonus = gradeBonusTable[i].Bonus; - break; - end; - end; - - if pss:GetFailed() then - gradeBonus = 0; - end; - - pss:SetScore(pss:GetScore()+sm3_Bonus[p]+gradeBonus); - pss:SetCurMaxScore(pss:GetCurMaxScore()+sm3_MaxBonus[p]+10000000); - end; -end; - -r["3.9Plus HYBRID"] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = GAMESTATE:ShowW1() and 9 or 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/の値 - local sTotal = (totalItems+1)*totalItems/2; - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local meter = steps:GetMeter(); - meter = clamp(meter,1,10); - - -- [ja] 満点を求める - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 100000000 * length; - - local sOne = baseScore/sTotal; - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - sm3_Steps[p] = 0; - end; - - -- [ja] 現在のステップ数 - -- [ja] 地雷とHoldCheckpointsの場合は加算しない - if params.TapNoteScore ~= "TapNoteScore_HitMine" and - params.TapNoteScore ~= "TapNoteScore_AvoidMine" and - params.TapNoteScore ~= "TapNoteScore_CheckpointHit" and - params.TapNoteScore ~= "TapNoteScore_CheckpointMiss" - then - sm3_Steps[p]=sm3_Steps[p]+1; - end; - - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne*sm3_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+math.floor(vScore)); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - - -- [ja] 落ちていた場合は入るスコアが減る - if (pss:GetFailed()) then - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時は10点 - pss:SetScore(pss:GetScore()+10); - elseif (params.HoldNoteScore ~= 'HoldNoteScore_LetGo') then - -- [ja] O.K.でもN.G.でもない場合のスコア: - -- W1 (Marvelous): 10 - -- W2 (Perfect): 9 - -- W3 (Great): 5 - pss:SetScore(pss:GetScore()+multLookup[params.TapNoteScore]); - end; - - -- [ja] 5点単位の処理がなぜかここでされる - if multLookup[params.TapNoteScore] > 0 then - pss:SetScore(math.floor((pss:GetScore() + 2) / 5) * 5); - end; - else - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - if (sm3_Steps[p] == totalItems and not pss:GetFailed()) then - -- [ja] 最後の1ステップがW2以上の場合、端数を加算する - -- [ja] 端数は設定上の満点と最終ステップ時点での満点の差から求める - if (isW2OrAbove(params.TapNoteScore) or params.HoldNoteScore == 'HoldNoteScore_Held') then - pss:SetScore(pss:GetScore()+(baseScore-pss:GetCurMaxScore())); - pss:SetCurMaxScore(pss:GetCurMaxScore()+(baseScore-pss:GetCurMaxScore())); - end; - end; -end; - -r["3.9Plus SN"] = function(params, pss) - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - - -- [ja] 満点を求める - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 10000000 * length; - - -- [en] current score - -- [ja] 今回加算するスコア - local multLookup = - { - ['TapNoteScore_W1'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W2'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W3'] = math.floor(math.floor(baseScore / 2) / totalItems) - }; - setmetatable(multLookup, ZeroIfNotFound); - local vScore = multLookup[params.TapNoteScore]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+multLookup['TapNoteScore_W1']); - - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = multLookup['TapNoteScore_W1']; - elseif (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - end; - - -- [ja] 落ちていた場合は入るスコアが減る - if (not pss:GetFailed()) then - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - -- [ja] 端数の処理はされていないようだ -end; - -r["3.9Plus SN2"] = function(params, pss) - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - - -- [ja] 満点を求める - local length = 1; - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - length = 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - length = 2; - end; - local baseScore = 1000000 * length; - - -- [en] current score - -- [ja] 今回加算するスコア - local multLookup = - { - ['TapNoteScore_W1'] = math.floor(baseScore / totalItems), - ['TapNoteScore_W2'] = math.floor(baseScore / totalItems) - 10, - ['TapNoteScore_W3'] = math.floor(math.floor(baseScore / 2) / totalItems) - 10 - }; - setmetatable(multLookup, ZeroIfNotFound); - local vScore = multLookup[params.TapNoteScore]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+multLookup['TapNoteScore_W1']); - - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = multLookup['TapNoteScore_W1']; - elseif (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - end; - - -- [ja] 落ちていた場合は入るスコアが減る - if (not pss:GetFailed()) then - pss:SetScore(pss:GetScore()+math.floor(vScore)); - end; - - -- [ja] 端数の処理はされていないようだ -end; - ------------------------------------------------------------ --- Oldschool scoring, best described as a modified 4th mix --- scheme with a little 1st mix influence ------------------------------------------------------------ -r['Oldschool'] = function(params, pss) - local bestPoints = 999 - local scoreLookupTable = - { - ['TapNoteScore_W1']=999, - ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, - ['TapNoteScore_W3']=777, - ['TapNoteScore_W4']=555, - ['TapNoteScore_W5']=111, - }; - setmetatable(scoreLookupTable, ZeroIfNotFound); - local comboBonusForThisStep = (pss:GetCurrentCombo()*111)^1.1; - local capScore = 1000000000; - pss:SetCurMaxScore(capScore); --i don't really care about weird scoring modes -fsx - local pointsGot = comboBonusForThisStep + scoreLookupTable[params.TapNoteScore] + (params.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0); - pss:SetScore(clamp(pss:GetScore()+pointsGot,0,capScore)); -end; - ------------------------------------------------------------ --- DDR MAX2/Extreme(-esque) Scoring by @sakuraponila ------------------------------------------------------------ -local ext_Steps = {0,0}; -r['DDR Extreme'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 9, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1 + 2 + 3 + ... + totalItems value/の値 - local sTotal = (totalItems + 1) * totalItems / 2; - local meter = steps:GetMeter(); - if (steps:IsAnEdit()) then - meter = 5; - else - meter = math.min(10,meter); - end; - -- [en] score for one step - -- [ja] 1ステップあたりのスコア - local baseScore = meter * 1000000 - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - baseScore = baseScore * 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - baseScore = baseScore * 2; - end; - local sOne = math.floor(baseScore / sTotal); - -- [en] measures for 5 points of units - -- [ja] 5点単位のための処置 - sOne = sOne - sOne % 5; - -- [en] because fractions are added by the last step, get value - -- [ja] 端数は最後の1ステップで加算するのでその値を取得 - local sLast = baseScore - (sOne * sTotal); - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - -- [en] initialized when score is 0 - -- [ja] スコアが0の時に初期化 - if pss:GetScore() == 0 then - ext_Steps[p] = 0; - end; - -- [en] now step count - -- [ja] 現在のステップ数 - ext_Steps[p] = ext_Steps[p] + 1; - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne * ext_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore() + vScore); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時は問答無用で満点 - vScore = vScore; - else - -- [ja] N.G.判定時は問答無用で0点 - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - -- [en] non-long note scoring - -- [ja] それ以外ということは、ロングノート以外の判定である - else - vScore = vScore * multLookup[params.TapNoteScore] / 10 - end; - end; - -- [en] measures for 5 points of units - -- [ja] ここでも5点単位のための処置 - vScore = vScore - vScore % 5 - pss:SetScore(pss:GetScore() + vScore); - -- if one of the last step, add the fractions - -- [ja] 最後の1ステップの場合、端数を加算する - if ((vScore > 0) and (ext_Steps[p] == totalItems)) then - pss:SetScore(pss:GetScore() + sLast); - end; -end; - ------------------------------------------------------------ --- HYBRID Scoring, contributed by @waiei ------------------------------------------------------------ -local hyb_Steps={0,0}; -r['Hybrid'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 9, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/の値 - local sTotal = (totalItems+1)*totalItems/2; - -- [en] Score for one song - -- [ja] 1ステップあたりのスコア - local sOne = math.floor(100000000/sTotal); - -- [ja] 端数は最後の1ステップで加算するのでその値を取得 - local sLast = 100000000-(sOne*sTotal); - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - hyb_Steps[p]=0; - end; - - -- [ja] 現在のステップ数 - hyb_Steps[p]=hyb_Steps[p]+1; - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne*hyb_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+vScore); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - pss:SetScore(pss:GetScore()+vScore); - - -- [ja] 最後の1ステップの場合、端数を加算する - if ((vScore > 0) and (hyb_Steps[p] == totalItems)) then - pss:SetScore(pss:GetScore()+sLast); - end; -end; - ------------------------------------------------------------ --- DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila ------------------------------------------------------------ -local sntmp_Score = {0,0}; -local sntmp_Steps = {0,0}; -r['DDR SuperNOVA'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 3, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues) - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- initialized when score is 0 - -- [ja] スコアが0の時に初期化 - if pss:GetScore() == 0 then - sntmp_Score[p] = 0; - sntmp_Steps[p] = 0; - end; - - -- [ja] 判定によって加算量を変更 - local maxAdd = 0; - -- [ja] O.K.判定時は問答無用で満点 - if params.HoldNoteScore == 'HoldNoteScore_Held' then - maxAdd = 3; - else - -- [ja] N.G.判定時は問答無用で0点 - if params.HoldNoteScore == 'HoldNoteScore_LetGo' then - maxAdd = 0; - -- [ja] それ以外ということは、ロングノート以外の判定である - else - maxAdd = multLookup[params.TapNoteScore]; - end - end; - sntmp_Score[p] = sntmp_Score[p] + maxAdd; - - -- [ja] 踏み踏みしたステップ数 - sntmp_Steps[p] = sntmp_Steps[p] + 1; - -- [ja] 現時点での、All W1判定の時のスコア - pss:SetCurMaxScore(math.floor(10000000 * sntmp_Steps[p] / totalItems / 3)); - -- [ja] 計算して代入 - pss:SetScore(math.floor(10000000 * sntmp_Score[p] / totalItems / 3)); -end; - ------------------------------------------------------------ --- DDR SuperNOVA 2 scoring by @waiei ------------------------------------------------------------ -local sn2tmp_Sub={0,0}; -local sn2tmp_Score={0,0}; -local sn2tmp_Steps={0,0}; -r['DDR SuperNOVA 2'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - sn2tmp_Sub[p]=0; - sn2tmp_Score[p]=0; - sn2tmp_Steps[p]=0; - end; - - -- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50%) - local maxAdd = 0; - -- [ja] O.K.判定時は問答無用で満点 - if params.HoldNoteScore == 'HoldNoteScore_Held' then - maxAdd = 10; - else - -- [ja] N.G.判定時は問答無用で0点 - if params.HoldNoteScore == 'HoldNoteScore_LetGo' then - maxAdd = 0; - -- [ja] それ以外ということは、ロングノート以外の判定である - else - maxAdd = multLookup[params.TapNoteScore]; - if (params.TapNoteScore == 'TapNoteScore_W2') or (params.TapNoteScore=='TapNoteScore_W3') then - -- [ja] W2とW3の数を記録 - sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; - end; - end - end; - sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; - -- [ja] 踏み踏みしたステップ数 - sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; - -- [ja] 現時点での、All W1判定の時のスコア - pss:SetCurMaxScore(math.floor(10000*sn2tmp_Steps[p]/totalItems) * 10); - - -- [ja] 計算して代入 - pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); -end; - ------------------------------------------------------------ --- Radar Master (disabled) --- (todo: get this working with StepMania 5) ------------------------------------------------------------ -r['[SSC] Radar Master'] = function(params, pss) - local masterTable = { - ['RadarCategory_Stream'] = 0, - ['RadarCategory_Voltage'] = 0, - ['RadarCategory_Air'] = 0, - ['RadarCategory_Freeze'] = 0, - ['RadarCategory_Chaos'] = 0 - }; - local totalRadar = 0; - local finalScore = 0; - for k,v in pairs(masterTable) do - local firstRadar = GetDirectRadar(params.Player):GetValue(k); - if firstRadar == 0 then - masterTable[k] = nil; - else - masterTable[k] = firstRadar; - totalRadar = totalRadar + firstRadar; - end; - end; - -- two loops are needed, because we need to calculate totalRadar - -- to actually calculate any part of the score - for k,v in pairs(masterTable) do - local curPortion = pss:GetRadarActual():GetValue(k) / v; - finalScore = finalScore + curPortion*(500000000*(v/totalRadar)); - end; - pss:SetScore(finalScore); -end; - ------------------------------------------------------------- --- Marvelous Incorporated Grading System (or MIGS for short) --- basically like DP scoring with locked DP values ------------------------------------------------------------- -r['MIGS'] = function(params,pss) - local curScore = 0; - local tapScoreTable = - { - ['TapNoteScore_W1'] = 3, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1, - ['TapNoteScore_W5'] = -4, - ['TapNoteScore_Miss'] = -8 - }; - for k,v in pairs(tapScoreTable) do - curScore = curScore + ( pss:GetTapNoteScores(k) * v ); - end; - curScore = math.max(0,curScore + ( pss:GetHoldNoteScores('HoldNoteScore_Held') * 6 )); - pss:SetScore(curScore); -end; - --------------------------------------------------------------- --- 1bilDP scoring because I can. --------------------------------------------------------------- -r['Billions DP']= function(params,pss) - local poss = pss:GetPossibleDancePoints() - pss:SetScore(math.floor((pss:GetActualDancePoints()/poss)*1000000000)) - pss:SetCurMaxScore(math.floor((pss:GetCurrentPossibleDancePoints()/poss)*1000000000)) -end - -------------------------------------------------------------------------------- --- Formulas end here. - -for v in ivalues(DisabledScoringModes) do r[v] = nil end -Scoring = r; - -function UserPrefScoringMode() - local baseChoices = {} - for k,v in pairs(Scoring) do table.insert(baseChoices,k) end - if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end - local t = { - Name = "UserPrefScoringMode"; - LayoutType = "ShowAllInRow"; - SelectType = "SelectOne"; - OneChoiceForAllPlayers = true; - ExportOnChange = false; - Choices = baseChoices; - LoadSelections = function(self, list, pn) - if ReadPrefFromFile("UserPrefScoringMode") ~= nil then - --Load the saved scoring mode from UserPrefs. - local theValue = ReadPrefFromFile("UserPrefScoringMode"); - local success = false; - - --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. - if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end - - --Search the list of scoring modes for the saved scoring mode. - for k,v in ipairs(baseChoices) do - if v == theValue then list[k] = true success = true break end - end; - - --We couldn't find it, pick the first available scoring mode as a sane default. - if success == false then list[1] = true end; - else - WritePrefToFile("UserPrefScoringMode", baseChoices[1]); - list[1] = true; - end; - end; - SaveSelections = function(self, list, pn) - for k,v in ipairs(list) do - if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end - end; - end; - }; - setmetatable( t, t ); - return t; -end +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +Scoring table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + +--internals table +local Shared = {}; +--Special Scoring types. +local r = {}; +local DisabledScoringModes = { '[SSC] Radar Master' }; +--the following metatable makes any missing value in a table 0 instead of nil. +local ZeroIfNotFound = { __index = function() return 0 end; }; + +-- Retrieve the amount of taps/holds/rolls involved. Used for some formulas. +function GetTotalItems(radars) + local total = radars:GetValue('RadarCategory_TapsAndHolds') + total = total + radars:GetValue('RadarCategory_Holds') + total = total + radars:GetValue('RadarCategory_Rolls') + -- [ja] Liftを加えると一部二重加算になるため除外する。 + -- total = total + radars:GetValue('RadarCategory_Lifts') + + -- [en] prevent divide by 0 + -- [ja] 0除算対策(しなくても動作するけど満点になっちゃうんで) + return math.max(1,total); +end; + +-- Determine whether marvelous timing is to be considered. +function IsW1Allowed(tapScore) + return tapScore == 'TapNoteScore_W2' + and (PREFSMAN:GetPreference("AllowW1") ~= 'AllowW1_Never' + or not (GAMESTATE:IsCourseMode() and + PREFSMAN:GetPreference("AllowW1") == 'AllowW1_CoursesOnly')); +end; + +-- Get the radar values directly. The individual steps aren't used much. +function GetDirectRadar(player) + return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player); +end; + +----------------------------------------------------------- +--Oldschool scoring, best described as a modified 4th mix scheme +--with a little 1st mix influence +----------------------------------------------------------- +r['Oldschool'] = function(params, pss) + local bestPoints = 999 + local scoreLookupTable = + { + ['TapNoteScore_W1']=999, + ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, + ['TapNoteScore_W3']=777, + ['TapNoteScore_W4']=555, + ['TapNoteScore_W5']=111, + }; + setmetatable(scoreLookupTable, ZeroIfNotFound); + local comboBonusForThisStep = (pss:GetCurrentCombo()*111)^1.1; + local capScore = 1000000000; + pss:SetCurMaxScore(capScore); --i don't really care about weird scoring modes -fsx + local pointsGot = comboBonusForThisStep + scoreLookupTable[params.TapNoteScore] + (params.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0); + pss:SetScore(clamp(pss:GetScore()+pointsGot,0,capScore)); +end; + +----------------------------------------------------------- +--DDR MAX2/Extreme(-esque) Scoring by @sakuraponila +----------------------------------------------------------- +local ext_Steps = {0,0}; +r['DDR Extreme'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 9, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local steps = GAMESTATE:GetCurrentSteps(params.Player); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + -- 1 + 2 + 3 + ... + totalItems value/の値 + local sTotal = (totalItems + 1) * totalItems / 2; + local meter = steps:GetMeter(); + if (steps:IsAnEdit()) then + meter = 5; + else + meter = math.min(10,meter); + end; + -- [en] score for one step + -- [ja] 1ステップあたりのスコア + local baseScore = meter * 1000000 + if (GAMESTATE:GetCurrentSong():IsMarathon()) then + baseScore = baseScore * 3; + elseif (GAMESTATE:GetCurrentSong():IsLong()) then + baseScore = baseScore * 2; + end; + local sOne = math.floor(baseScore / sTotal); + -- [en] measures for 5 points of units + -- [ja] 5点単位のための処置 + sOne = sOne - sOne % 5; + -- [en] because fractions are added by the last step, get value + -- [ja] 端数は最後の1ステップで加算するのでその値を取得 + local sLast = baseScore - (sOne * sTotal); + + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + -- [en] initialized when score is 0 + -- [ja] スコアが0の時に初期化 + if pss:GetScore() == 0 then + ext_Steps[p] = 0; + end; + -- [en] now step count + -- [ja] 現在のステップ数 + ext_Steps[p] = ext_Steps[p] + 1; + -- [en] current score + -- [ja] 今回加算するスコア(W1の時) + local vScore = sOne * ext_Steps[p]; + pss:SetCurMaxScore(pss:GetCurMaxScore() + vScore); + -- [ja] 判定によって加算量を変更 + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + -- [ja] O.K.判定時は問答無用で満点 + vScore = vScore; + else + -- [ja] N.G.判定時は問答無用で0点 + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + -- [en] non-long note scoring + -- [ja] それ以外ということは、ロングノート以外の判定である + else + vScore = vScore * multLookup[params.TapNoteScore] / 10 + end; + end; + -- [en] measures for 5 points of units + -- [ja] ここでも5点単位のための処置 + vScore = vScore - vScore % 5 + pss:SetScore(pss:GetScore() + vScore); + -- if one of the last step, add the fractions + -- [ja] 最後の1ステップの場合、端数を加算する + if ((vScore > 0) and (ext_Steps[p] == totalItems)) then + pss:SetScore(pss:GetScore() + sLast); + end; +end; + +----------------------------------------------------------- +--HYBRID Scoring, contributed by @waiei +----------------------------------------------------------- +local hyb_Steps={0,0}; +r['Hybrid'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 9, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + -- 1+2+3+...+totalItems value/の値 + local sTotal = (totalItems+1)*totalItems/2; + -- [en] Score for one song + -- [ja] 1ステップあたりのスコア + local sOne = math.floor(100000000/sTotal); + -- [ja] 端数は最後の1ステップで加算するのでその値を取得 + local sLast = 100000000-(sOne*sTotal); + + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- [ja] スコアが0の時に初期化 + if pss:GetScore()==0 then + hyb_Steps[p]=0; + end; + + -- [ja] 現在のステップ数 + hyb_Steps[p]=hyb_Steps[p]+1; + -- [en] current score + -- [ja] 今回加算するスコア(W1の時) + local vScore = sOne*hyb_Steps[p]; + pss:SetCurMaxScore(pss:GetCurMaxScore()+vScore); + -- [ja] 判定によって加算量を変更 + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + vScore = vScore; + else + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + else + vScore = vScore*multLookup[params.TapNoteScore]/10; + end; + end; + pss:SetScore(pss:GetScore()+vScore); + + -- [ja] 最後の1ステップの場合、端数を加算する + if ((vScore > 0) and (hyb_Steps[p] == totalItems)) then + pss:SetScore(pss:GetScore()+sLast); + end; +end; + +----------------------------------------------------------- +--DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila +----------------------------------------------------------- +local sntmp_Score = {0,0}; +local sntmp_Steps = {0,0}; +r['DDR SuperNOVA'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 3, + ['TapNoteScore_W2'] = 2, + ['TapNoteScore_W3'] = 1 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues) + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- initialized when score is 0 + -- [ja] スコアが0の時に初期化 + if pss:GetScore() == 0 then + sntmp_Score[p] = 0; + sntmp_Steps[p] = 0; + end; + + -- [ja] 判定によって加算量を変更 + local maxAdd = 0; + -- [ja] O.K.判定時は問答無用で満点 + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 3; + else + -- [ja] N.G.判定時は問答無用で0点 + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0; + -- [ja] それ以外ということは、ロングノート以外の判定である + else + maxAdd = multLookup[params.TapNoteScore]; + end + end; + sntmp_Score[p] = sntmp_Score[p] + maxAdd; + + -- [ja] 踏み踏みしたステップ数 + sntmp_Steps[p] = sntmp_Steps[p] + 1; + -- [ja] 現時点での、All W1判定の時のスコア + pss:SetCurMaxScore(math.floor(10000000 * sntmp_Steps[p] / totalItems / 3)); + -- [ja] 計算して代入 + pss:SetScore(math.floor(10000000 * sntmp_Score[p] / totalItems / 3)); +end; + +----------------------------------------------------------- +--DDR SuperNOVA 2 scoring by @waiei +----------------------------------------------------------- +local sn2tmp_Sub={0,0}; +local sn2tmp_Score={0,0}; +local sn2tmp_Steps={0,0}; +r['DDR SuperNOVA 2'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 10, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- [ja] スコアが0の時に初期化 + if pss:GetScore()==0 then + sn2tmp_Sub[p]=0; + sn2tmp_Score[p]=0; + sn2tmp_Steps[p]=0; + end; + + -- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50%) + local maxAdd = 0; + -- [ja] O.K.判定時は問答無用で満点 + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 10; + else + -- [ja] N.G.判定時は問答無用で0点 + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0; + -- [ja] それ以外ということは、ロングノート以外の判定である + else + maxAdd = multLookup[params.TapNoteScore]; + if (params.TapNoteScore == 'TapNoteScore_W2') or (params.TapNoteScore=='TapNoteScore_W3') then + -- [ja] W2とW3の数を記録 + sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; + end; + end + end; + sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; + -- [ja] 踏み踏みしたステップ数 + sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; + -- [ja] 現時点での、All W1判定の時のスコア + pss:SetCurMaxScore(math.floor(10000*sn2tmp_Steps[p]/totalItems) * 10); + + -- [ja] 計算して代入 + pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); +end; + +----------------------------------------------------------- +--Radar Master (disabled; todo: get this working with StepMania 5) +----------------------------------------------------------- +r['[SSC] Radar Master'] = function(params, pss) + local masterTable = { + ['RadarCategory_Stream'] = 0, + ['RadarCategory_Voltage'] = 0, + ['RadarCategory_Air'] = 0, + ['RadarCategory_Freeze'] = 0, + ['RadarCategory_Chaos'] = 0 + }; + local totalRadar = 0; + local finalScore = 0; + for k,v in pairs(masterTable) do + local firstRadar = GetDirectRadar(params.Player):GetValue(k); + if firstRadar == 0 then + masterTable[k] = nil; + else + masterTable[k] = firstRadar; + totalRadar = totalRadar + firstRadar; + end; + end; + --two loops are needed because we need to calculate totalRadar + --to actually calculate any part of the score + for k,v in pairs(masterTable) do + local curPortion = pss:GetRadarActual():GetValue(k) / v; + finalScore = finalScore + curPortion*(500000000*(v/totalRadar)); + end; + pss:SetScore(finalScore); +end; +------------------------------------------------------------ +--Marvelous Incorporated Grading System (or MIGS for short) +--basically like DP scoring with locked DP values +------------------------------------------------------------ +r['MIGS'] = function(params,pss) + local curScore = 0; + local tapScoreTable = + { + ['TapNoteScore_W1'] = 3, + ['TapNoteScore_W2'] = 2, + ['TapNoteScore_W3'] = 1, + ['TapNoteScore_W5'] = -4, + ['TapNoteScore_Miss'] = -8 + }; + for k,v in pairs(tapScoreTable) do + curScore = curScore + ( pss:GetTapNoteScores(k) * v ); + end; + curScore = math.max(0,curScore + ( pss:GetHoldNoteScores('HoldNoteScore_Held') * 6 )); + pss:SetScore(curScore); +end; + +-------------------------------------------------------------- +--1bilDP scoring because I can. +-------------------------------------------------------------- +r['Billions DP']= function(params,pss) + local poss = pss:GetPossibleDancePoints() + pss:SetScore(math.floor((pss:GetActualDancePoints()/poss)*1000000000)) + pss:SetCurMaxScore(math.floor((pss:GetCurrentPossibleDancePoints()/poss)*1000000000)) +end +------------------------------------------------------------------------------- +-- Formulas end here. +for v in ivalues(DisabledScoringModes) do r[v] = nil end +Scoring = r; diff --git a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua new file mode 100644 index 0000000000..dad9cb1f52 --- /dev/null +++ b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua @@ -0,0 +1,170 @@ +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +ScoringModes table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + +ScoringModes={} + +local function CreateOldScoringShim(name) + return function(judg,pss,player,mode) + judg,pss,player,mode=coroutine.yield() + while true do + if mode=="update" then + Scoring[name](judg,pss) + judg,pss,player,mode=coroutine.yield(pss:GetScore(),pss:GetCurMaxScore()) + elseif mode=="finalize" then + return pss:GetScore(),pss:GetCurMaxScore() + else + error("scoring shim for mode "..name.." got an unknown state.") + end + end + end +end + +local ZeroIfNotFound = { __index = function() return 0 end; }; + +function GetDirectRadar(player) + return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player) +end + +--The code here is an example of native modes. + +--[[There are three operation modes: +init mode: The JudgmentCommand is invalid in this mode. + This mode is designed to allow you to prepare your scoring mode. +update mode: all are valid. + This lets you respond to score changes. +finalize mode: JudgementCommand invalid. + This is designed to let you give score bonuses. +]] +--[[ +ScoringModes["Oldschool"]=function(judg,pss,player,mode) + local tscore = 0 + local tmaxscore = 1000000000 + local possibilities= { + ['TapNoteScore_W1']=999, + ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, + ['TapNoteScore_W3']=777, + ['TapNoteScore_W4']=555, + ['TapNoteScore_W5']=111, + }; + assert(mode=="init","issues") + setmetatable(possibilities, {__index=function() return 0 end;}); + judg,pss,player,mode = coroutine.yield() + --holy crap it's a state machine i guess! + while true do + if mode=="update" then + tscore=tscore+((pss:GetCurrentCombo()*111)^1.1)+ possibilities[judg.TapNoteScore] + (judg.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0) + judg,pss,player,mode = coroutine.yield(tscore,tmaxscore) + end + if mode=="finalize" then + break + end + end + return tscore,tmaxscore +end + +ScoringModes['DDRMAX']=function(judge,pss,player,mode) + --[en] in init mode, you start here. judge will be nil. + --[jp] + local multLookup = { + TapNoteScore_W1=10, + TapNoteScore_W2=10, + TapNoteScore_W3=5 } + local notesToIgnore = { + TapNoteScore_CheckpointHit=true, + TapNoteScore_CheckpointMiss=true, + TapNoteScore_HitMine=true, + TapNoteScore_AvoidMine=true, + TapNoteScore_None=true} + local radarCategoriesAndBonuses={ + RadarCategory_Stream=20000000, + RadarCategory_Air=10000000, + RadarCategory_Voltage=10000000, + RadarCategory_Chaos=10000000, + RadarCategory_Freeze=10000000} + setmetatable(multLookup,ZeroIfNotFound) + local numNoteObjects = GetDirectRadar(player):GetValue('RadarCategory_TapsAndHolds') + local base = 5000000 + local curstep = 0 + local score = 0 + local bestscore = 0 + local s = numNoteObjects<1 and 0 or ((numNoteObjects/2)*(1+numNoteObjects)) + --[en] coroutine.yield() acts somewhat like return, but when the function is run by UpdateScoreKeepers() it will start here. + --[jp] xxx + judge,pss,player,mode = coroutine.yield() + --[en] a while loop is only one way to make the mode selection system, but it's probably the easiest. + --ideally, this would just be 'while mode=="update" do', with finalize stuff after it, + --but I had written the code already when I thought of that. + --[jp] xxx + while true do + --update mode code + if mode == "update" then + --[en] this filters out holds and spurious judgments. DDRMAX ignores holds for scoring purposes. + --[jp] xxx + if (not notesToIgnore[judge.TapNoteScore]) and judge.HoldNoteScore==nil then + curstep=curstep+1 + if curstep>numNoteObjects then error "is bery bad" end + score=score+(pss:GetFailed() and 1 or (multLookup[judge.TapNoteScore]*math.floor(base/s)*curstep))+((curstep==numNoteObjects and pss:FullComboOfScore('TapNoteScore_W2')) and (10*(base-(math.floor(base/s)*numNoteObjects))) or 0) + bestscore = (curstep==numNoteObjects and 50000000 or bestscore+(10*math.floor(base/s)*curstep)) + end + judge,pss,player,mode=coroutine.yield(score,bestscore) + end + if mode == "finalize" then + --[en] this code would work, but SM5 behavior prevents it from doing anything. it should give the groove radar bonuses. + --[jp] xyz + local actradar = pss:GetRadarActual() + local possradar = pss:GetRadarPossible() + for k,v in pairs(radarCategoriesAndBonuses) do + local thispossradar=possradar:GetValue(k) + if thispossradar>0 then + score=score+math.floor((actradar:GetValue(k)/thispossradar)*thispossradar*v) + bestscore=bestscore+(thispossradar*v) + end + end + break + end + end + return score,bestscore +end]] + +for k,v in pairs(Scoring) do + if ScoringModes[k] == nil then + ScoringModes[k] = CreateOldScoringShim(k) + end +end + +function UserPrefScoringMode() + local baseChoices = {} + for k,v in pairs(ScoringModes) do table.insert(baseChoices,k) end + if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end + local t = { + Name = "UserPrefScoringMode"; + LayoutType = "ShowAllInRow"; + SelectType = "SelectOne"; + OneChoiceForAllPlayers = true; + ExportOnChange = false; + Choices = baseChoices; + LoadSelections = function(self, list, pn) + if ReadPrefFromFile("UserPrefScoringMode") ~= nil then + --Load the saved scoring mode from UserPrefs. + local theValue = ReadPrefFromFile("UserPrefScoringMode"); + local success = false; + --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. + if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end + --Search the list of scoring modes for the saved scoring mode. + for k,v in ipairs(baseChoices) do if v == theValue then list[k] = true success = true break end end; + --We couldn't find it, pick the first available scoring mode as a sane default. + if success == false then list[1] = true end; + else + WritePrefToFile("UserPrefScoringMode", baseChoices[1]); + list[1] = true; + end; + end; + SaveSelections = function(self, list, pn) + for k,v in ipairs(list) do if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end end; + end; + }; + setmetatable( t, t ); + return t; +end \ No newline at end of file diff --git a/Themes/_fallback/Scripts/05 ScoringEngine2.lua b/Themes/_fallback/Scripts/05 ScoringEngine2.lua new file mode 100644 index 0000000000..0e18b36dbf --- /dev/null +++ b/Themes/_fallback/Scripts/05 ScoringEngine2.lua @@ -0,0 +1,118 @@ +--ScoringEngine2 by FSX v1.41 +--essentially a really chunky layer to make SetScore elegant(ish) +--arguments for scorekeepers: JudgmentMessageCommand,PlayerStageStats,PlayerNumber,State +--[[changelog +v1.41 6 May 2012 +*Not really sure. +*Included in SM5 for alpha 3. +v1.4 18 Apr 2012 +*Support for judgment filtering. +*Minor changes. +*First public release (in SE2 Dev Kit) (didn't happen) +v1.3 17 Apr 2012 +*First complete release. +*Error reporting in FinalizeScoreKeepers() +*Bug fixes.]] +--scoring modes written for the old ad-hoc system don't work, but don't cause crashes either. +--SM5 has some glue code for them, though +local stageKey = nil +local ReadiedScoreKeepers = {} +local JudgmentFilters = {} + +local function CoroutineIsGood(cr) + return coroutine.status(cr)=="suspended" +end + +function InitScoreKeepers(p1Mode, p2Mode) + local newStgK = {pcall(GameState.GetStageSeed,GAMESTATE)} + assert(newStgK[1], "it's too early to initialize the ScoreKeepers, the GameState isn't ready yet") + if newStgK[2] == stageKey then + Log "[InitScoreKeepers] unnecessary call" + return true + end + ReadiedScoreKeepers={} + JudgmentFilters={} + stageKey = newStgK + local intab = {} + if p1Mode ~= nil then + intab.P1 = p1Mode + end + if p2Mode ~= nil then + intab.P2 = p2Mode + end + assert(next(intab), "InitScoreKeepers didn't get any args") + for k,v in pairs(intab) do + if not ScoringModes[v] then + --SPOILER: UndocumentedFeature crashes the game intentionally. + UndocumentedFeature(k.."'s scoring mode \""..v.."\" doesn't exist.") + end + ReadiedScoreKeepers[k] = coroutine.create(ScoringModes[v]) + --call each scoring mode one time in init mode + checks={coroutine.resume(ReadiedScoreKeepers[k],nil,STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k), "PlayerNumber_"..k, "init")} + if not CoroutineIsGood(ReadiedScoreKeepers[k]) then SCREENMAN:SystemMessage("scoring init error: "..checks[2]) return false end + --very very very very safe filtering rule load code + if type(checks[2])=="table" then + if type(checks[2][1])..type(checks[2][2]) == "tabletable" then + local isGood=false + local tapscan = Enum.Reverse(TapNoteScore) + local holdscan = Enum.Reverse(HoldNoteScore) + local finaltable = {{},{}} + for i=1,2 do + for k,v in pairs(checks[2][i]) do + finaltable[i][v]=true + if (not (i==2 and holdscan[v] or tapscan[v])) or v==nil then isGood=false break end + isGood=true + end + if not isGood then break end + end + if isGood then + JudgmentFilters[k]=finaltable + end + end + end + end + return true +end + +function UpdateScoreKeepers(JMC) + assert(JMC,"pass args, please") + runplayer = ToEnumShortString(JMC.Player) + if ReadiedScoreKeepers[runplayer] then + if JudgmentFilters[runplayer] and (JudgmentFilters[runplayer][1][JMC.TapNoteScore] or JudgmentFilters[runplayer][2][JMC.HoldNoteScore]) then + return true + end + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats(JMC.Player) + local newscores = {coroutine.resume(ReadiedScoreKeepers[runplayer],JMC,pss,JMC.Player,"update")} + if CoroutineIsGood(ReadiedScoreKeepers[runplayer]) then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + return true + else + SCREENMAN:SystemMessage("scoring update error: "..newscores[2]) + ReadiedScoreKeepers[runplayer]=nil + return false + end + end +end + +function FinalizeScoreKeepers() + for k,v in pairs(ReadiedScoreKeepers) do + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k) + local newscores = {coroutine.resume(v,nil,pss,"PlayerNumber_"..k,"finalize")} + local status = coroutine.status(v) + --kill the scorekeeper now, we don't need it again + ReadiedScoreKeepers[k] = nil + if status=="dead" then + if newscores[1]==true then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + else + SCREENMAN:SystemMessage("scoring finalize error: "..newscores[2]) + return false + end + else + return false + end + end + return true +end \ No newline at end of file diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua index 8695387dfe..ff478c90c8 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua @@ -1,3 +1,7 @@ +if not GAMESTATE:IsCourseMode() then + FinalizeScoreKeepers() +end + local function GraphDisplay( pn ) local t = Def.ActorFrame { Def.GraphDisplay { diff --git a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua index 3bacf03843..b6ff781803 100644 --- a/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenGameplay decorations/default.lua @@ -215,8 +215,7 @@ if( not GAMESTATE:IsCourseMode() ) then params.TapNoteScore ~= 'TapNoteScore_Invalid' and params.TapNoteScore ~= 'TapNoteScore_None' then - Scoring[GetUserPref("UserPrefScoringMode")](params, - STATSMAN:GetCurStageStats():GetPlayerStageStats(params.Player)) + UpdateScoreKeepers(params) end end; }; diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 249debdbdf..6d753b9d5f 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -77,4 +77,10 @@ t[#t+1] = Def.ActorFrame { }; }; +--Get scoring ready. +if not GAMESTATE:IsCourseMode() then + InitScoringModes((GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode")), + (GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode")) +end + return t \ No newline at end of file From 9628d038108bb6d295e4f46871b6c07c5406b873 Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Sun, 6 May 2012 15:09:37 +0000 Subject: [PATCH 22/41] turn on the native scoring modes that exist --- .../Scripts/05 NewScoringFrontend.lua | 338 +++++++++--------- 1 file changed, 169 insertions(+), 169 deletions(-) diff --git a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua index dad9cb1f52..a523cbff8e 100644 --- a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua +++ b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua @@ -1,170 +1,170 @@ ---[[DO NOT MODIFY THIS FILE. -You can add new scoring modes just by creating a different file and adding them to the -ScoringModes table. Replacing this file will cause additions to be lost during updates. -It's unnecessary and problematic.]] - -ScoringModes={} - -local function CreateOldScoringShim(name) - return function(judg,pss,player,mode) - judg,pss,player,mode=coroutine.yield() - while true do - if mode=="update" then - Scoring[name](judg,pss) - judg,pss,player,mode=coroutine.yield(pss:GetScore(),pss:GetCurMaxScore()) - elseif mode=="finalize" then - return pss:GetScore(),pss:GetCurMaxScore() - else - error("scoring shim for mode "..name.." got an unknown state.") - end - end - end -end - -local ZeroIfNotFound = { __index = function() return 0 end; }; - -function GetDirectRadar(player) - return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player) -end - ---The code here is an example of native modes. - ---[[There are three operation modes: -init mode: The JudgmentCommand is invalid in this mode. - This mode is designed to allow you to prepare your scoring mode. -update mode: all are valid. - This lets you respond to score changes. -finalize mode: JudgementCommand invalid. - This is designed to let you give score bonuses. -]] ---[[ -ScoringModes["Oldschool"]=function(judg,pss,player,mode) - local tscore = 0 - local tmaxscore = 1000000000 - local possibilities= { - ['TapNoteScore_W1']=999, - ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, - ['TapNoteScore_W3']=777, - ['TapNoteScore_W4']=555, - ['TapNoteScore_W5']=111, - }; - assert(mode=="init","issues") - setmetatable(possibilities, {__index=function() return 0 end;}); - judg,pss,player,mode = coroutine.yield() - --holy crap it's a state machine i guess! - while true do - if mode=="update" then - tscore=tscore+((pss:GetCurrentCombo()*111)^1.1)+ possibilities[judg.TapNoteScore] + (judg.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0) - judg,pss,player,mode = coroutine.yield(tscore,tmaxscore) - end - if mode=="finalize" then - break - end - end - return tscore,tmaxscore -end - -ScoringModes['DDRMAX']=function(judge,pss,player,mode) - --[en] in init mode, you start here. judge will be nil. - --[jp] - local multLookup = { - TapNoteScore_W1=10, - TapNoteScore_W2=10, - TapNoteScore_W3=5 } - local notesToIgnore = { - TapNoteScore_CheckpointHit=true, - TapNoteScore_CheckpointMiss=true, - TapNoteScore_HitMine=true, - TapNoteScore_AvoidMine=true, - TapNoteScore_None=true} - local radarCategoriesAndBonuses={ - RadarCategory_Stream=20000000, - RadarCategory_Air=10000000, - RadarCategory_Voltage=10000000, - RadarCategory_Chaos=10000000, - RadarCategory_Freeze=10000000} - setmetatable(multLookup,ZeroIfNotFound) - local numNoteObjects = GetDirectRadar(player):GetValue('RadarCategory_TapsAndHolds') - local base = 5000000 - local curstep = 0 - local score = 0 - local bestscore = 0 - local s = numNoteObjects<1 and 0 or ((numNoteObjects/2)*(1+numNoteObjects)) - --[en] coroutine.yield() acts somewhat like return, but when the function is run by UpdateScoreKeepers() it will start here. - --[jp] xxx - judge,pss,player,mode = coroutine.yield() - --[en] a while loop is only one way to make the mode selection system, but it's probably the easiest. - --ideally, this would just be 'while mode=="update" do', with finalize stuff after it, - --but I had written the code already when I thought of that. - --[jp] xxx - while true do - --update mode code - if mode == "update" then - --[en] this filters out holds and spurious judgments. DDRMAX ignores holds for scoring purposes. - --[jp] xxx - if (not notesToIgnore[judge.TapNoteScore]) and judge.HoldNoteScore==nil then - curstep=curstep+1 - if curstep>numNoteObjects then error "is bery bad" end - score=score+(pss:GetFailed() and 1 or (multLookup[judge.TapNoteScore]*math.floor(base/s)*curstep))+((curstep==numNoteObjects and pss:FullComboOfScore('TapNoteScore_W2')) and (10*(base-(math.floor(base/s)*numNoteObjects))) or 0) - bestscore = (curstep==numNoteObjects and 50000000 or bestscore+(10*math.floor(base/s)*curstep)) - end - judge,pss,player,mode=coroutine.yield(score,bestscore) - end - if mode == "finalize" then - --[en] this code would work, but SM5 behavior prevents it from doing anything. it should give the groove radar bonuses. - --[jp] xyz - local actradar = pss:GetRadarActual() - local possradar = pss:GetRadarPossible() - for k,v in pairs(radarCategoriesAndBonuses) do - local thispossradar=possradar:GetValue(k) - if thispossradar>0 then - score=score+math.floor((actradar:GetValue(k)/thispossradar)*thispossradar*v) - bestscore=bestscore+(thispossradar*v) - end - end - break - end - end - return score,bestscore -end]] - -for k,v in pairs(Scoring) do - if ScoringModes[k] == nil then - ScoringModes[k] = CreateOldScoringShim(k) - end -end - -function UserPrefScoringMode() - local baseChoices = {} - for k,v in pairs(ScoringModes) do table.insert(baseChoices,k) end - if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end - local t = { - Name = "UserPrefScoringMode"; - LayoutType = "ShowAllInRow"; - SelectType = "SelectOne"; - OneChoiceForAllPlayers = true; - ExportOnChange = false; - Choices = baseChoices; - LoadSelections = function(self, list, pn) - if ReadPrefFromFile("UserPrefScoringMode") ~= nil then - --Load the saved scoring mode from UserPrefs. - local theValue = ReadPrefFromFile("UserPrefScoringMode"); - local success = false; - --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. - if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end - --Search the list of scoring modes for the saved scoring mode. - for k,v in ipairs(baseChoices) do if v == theValue then list[k] = true success = true break end end; - --We couldn't find it, pick the first available scoring mode as a sane default. - if success == false then list[1] = true end; - else - WritePrefToFile("UserPrefScoringMode", baseChoices[1]); - list[1] = true; - end; - end; - SaveSelections = function(self, list, pn) - for k,v in ipairs(list) do if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end end; - end; - }; - setmetatable( t, t ); - return t; +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +ScoringModes table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + +ScoringModes={} + +local function CreateOldScoringShim(name) + return function(judg,pss,player,mode) + judg,pss,player,mode=coroutine.yield() + while true do + if mode=="update" then + Scoring[name](judg,pss) + judg,pss,player,mode=coroutine.yield(pss:GetScore(),pss:GetCurMaxScore()) + elseif mode=="finalize" then + return pss:GetScore(),pss:GetCurMaxScore() + else + error("scoring shim for mode "..name.." got an unknown state.") + end + end + end +end + +local ZeroIfNotFound = { __index = function() return 0 end; }; + +function GetDirectRadar(player) + return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player) +end + +--The code here is an example of native modes. + +--[[There are three operation modes: +init mode: The JudgmentCommand is invalid in this mode. + This mode is designed to allow you to prepare your scoring mode. +update mode: all are valid. + This lets you respond to score changes. +finalize mode: JudgementCommand invalid. + This is designed to let you give score bonuses. +]] + +ScoringModes["Oldschool"]=function(judg,pss,player,mode) + local tscore = 0 + local tmaxscore = 1000000000 + local possibilities= { + ['TapNoteScore_W1']=999, + ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, + ['TapNoteScore_W3']=777, + ['TapNoteScore_W4']=555, + ['TapNoteScore_W5']=111, + }; + assert(mode=="init","issues") + setmetatable(possibilities, {__index=function() return 0 end;}); + judg,pss,player,mode = coroutine.yield() + --holy crap it's a state machine i guess! + while true do + if mode=="update" then + tscore=tscore+((pss:GetCurrentCombo()*111)^1.1)+ possibilities[judg.TapNoteScore] + (judg.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0) + judg,pss,player,mode = coroutine.yield(tscore,tmaxscore) + end + if mode=="finalize" then + break + end + end + return tscore,tmaxscore +end + +ScoringModes['DDRMAX']=function(judge,pss,player,mode) + --If you know Japanese and English, and can translate these comments, please help. + --日本のコメントは、機械解釈されました。 あなたが彼らを人間を翻訳されたコメントと入れ替えるのを手伝うことができるならば、どうぞ。 + --[en] in init mode, you start here. judge will be nil. + --[jp] initモードで、あなたがここに出発すること。judgeが、nilです + local multLookup = { + TapNoteScore_W1=10, + TapNoteScore_W2=10, + TapNoteScore_W3=5 } + local notesToIgnore = { + TapNoteScore_CheckpointHit=true, + TapNoteScore_CheckpointMiss=true, + TapNoteScore_HitMine=true, + TapNoteScore_AvoidMine=true, + TapNoteScore_None=true} + local radarCategoriesAndBonuses={ + RadarCategory_Stream=20000000, + RadarCategory_Air=10000000, + RadarCategory_Voltage=10000000, + RadarCategory_Chaos=10000000, + RadarCategory_Freeze=10000000} + setmetatable(multLookup,ZeroIfNotFound) + local numNoteObjects = GetDirectRadar(player):GetValue('RadarCategory_TapsAndHolds') + local base = 5000000 + local curstep = 0 + local score = 0 + local bestscore = 0 + local s = numNoteObjects<1 and 0 or ((numNoteObjects/2)*(1+numNoteObjects)) + --[en] coroutine.yield() acts somewhat like return, but when the function is run by UpdateScoreKeepers() it will start here. + --[jp] coroutine.yield()はいくぶん「return」のようなふりをします、しかし、機能がUpdateScoreKeepers()に通されるとき、それはここで始まります。 + judge,pss,player,mode = coroutine.yield() + --[en] a while loop is only one way to make the mode selection system, but it's probably the easiest. + --[jp]「while」ループはモード選択システムを行う1つの方法だけです、しかし、それは多分最も簡単でしょう。 + while true do + --update mode code + if mode == "update" then + --[en] this filters out holds and spurious judgments. DDRMAX ignores holds for scoring purposes. + --[jp] これは、holdともっともらしい判断を除去します。 DDRMAXは、目的を記録するために、holdを無視します。 + if (not notesToIgnore[judge.TapNoteScore]) and judge.HoldNoteScore==nil then + curstep=curstep+1 + if curstep>numNoteObjects then error "Got some things we shouldn't have" end + score=score+(pss:GetFailed() and 1 or (multLookup[judge.TapNoteScore]*math.floor(base/s)*curstep))+((curstep==numNoteObjects and pss:FullComboOfScore('TapNoteScore_W2')) and (10*(base-(math.floor(base/s)*numNoteObjects))) or 0) + bestscore = (curstep==numNoteObjects and 50000000 or bestscore+(10*math.floor(base/s)*curstep)) + end + judge,pss,player,mode=coroutine.yield(score,bestscore) + end + if mode == "finalize" then + --[en] this code isn't accurate, but it's good enough + --[jp] このコードは正確でありません、しかし、それは十分によいです + local actradar = pss:GetRadarActual() + local possradar = pss:GetRadarPossible() + for k,v in pairs(radarCategoriesAndBonuses) do + local thispossradar=possradar:GetValue(k) + if thispossradar>0 then +score=score+math.floor((actradar:GetValue(k)/thispossradar)*(thispossradar*v)) + bestscore=bestscore+(thispossradar*v) + end + end + break + end + end + return score,bestscore +end + +for k,v in pairs(Scoring) do + if ScoringModes[k] == nil then + ScoringModes[k] = CreateOldScoringShim(k) + end +end + +function UserPrefScoringMode() + local baseChoices = {} + for k,v in pairs(ScoringModes) do table.insert(baseChoices,k) end + if next(baseChoices) == nil then UndocumentedFeature "No scoring modes available" end + local t = { + Name = "UserPrefScoringMode"; + LayoutType = "ShowAllInRow"; + SelectType = "SelectOne"; + OneChoiceForAllPlayers = true; + ExportOnChange = false; + Choices = baseChoices; + LoadSelections = function(self, list, pn) + if ReadPrefFromFile("UserPrefScoringMode") ~= nil then + --Load the saved scoring mode from UserPrefs. + local theValue = ReadPrefFromFile("UserPrefScoringMode"); + local success = false; + --HACK: Preview 4 took out 1st and 4th scoring. Replace with a close equivalent. + if theValue == "DDR 1stMIX" or theValue == "DDR 4thMIX" then theValue = "Oldschool" end + --Search the list of scoring modes for the saved scoring mode. + for k,v in ipairs(baseChoices) do if v == theValue then list[k] = true success = true break end end; + --We couldn't find it, pick the first available scoring mode as a sane default. + if success == false then list[1] = true end; + else + WritePrefToFile("UserPrefScoringMode", baseChoices[1]); + list[1] = true; + end; + end; + SaveSelections = function(self, list, pn) + for k,v in ipairs(list) do if v then WritePrefToFile("UserPrefScoringMode", baseChoices[k]) break end end; + end; + }; + setmetatable( t, t ); + return t; end \ No newline at end of file From 8f155996a568356a1e6441a0eba2c3129e82873e Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Sun, 6 May 2012 22:03:19 -0700 Subject: [PATCH 23/41] Update /new. --- Themes/_fallback/Languages/en.ini | 20 ++- Themes/home/metrics.ini | 4 +- ...ult.lua => ScreenGameplay decorations.lua} | 0 ....lua => ScreenSelectMusic decorations.lua} | 20 +-- ...=> ScreenWithMenuElements decorations.lua} | 0 .../Graphics/ScreenSelectMusic BPMDisplay.lua | 4 +- .../ScreenSelectMusic DifficultyList.lua | 7 + .../ScreenSelectMusic PaneDisplay.lua | 125 ++++++++++++++++++ .../Graphics/ScreenSelectMusic SongTime.lua | 17 --- .../ScreenSelectMusic SortDisplay.lua | 25 ++++ .../ScreenSelectMusic TimeDisplay.lua | 28 ++++ .../ScreenWithMenuElements Header.lua | 6 +- .../ScreenWithMenuElements StageDisplay.lua | 2 +- .../Graphics/StepsDisplayListRow frame.lua | 1 + Themes/new/metrics.ini | 98 +++++++++++++- 15 files changed, 320 insertions(+), 37 deletions(-) rename Themes/new/BGAnimations/{ScreenGameplay decorations/default.lua => ScreenGameplay decorations.lua} (100%) rename Themes/new/BGAnimations/{ScreenSelectMusic decorations/default.lua => ScreenSelectMusic decorations.lua} (68%) rename Themes/new/BGAnimations/{ScreenWithMenuElements decorations/default.lua => ScreenWithMenuElements decorations.lua} (100%) create mode 100644 Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua create mode 100644 Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua delete mode 100644 Themes/new/Graphics/ScreenSelectMusic SongTime.lua create mode 100644 Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua create mode 100644 Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua create mode 100644 Themes/new/Graphics/StepsDisplayListRow frame.lua diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index e0fade52a7..9677f6624d 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -1180,7 +1180,25 @@ TapsAndHolds=TapsAndHolds Voltage=Voltage MinMidiNote=MinMidiNote MaxMidiNote=MaxMidiNote - +Lifts=Lifts +Fakes=Fakes +[RadarCategoryShort] +Air=A +Chaos=C +Freeze=F +Hands=Hands +Holds=Holds +Jumps=Jumps +Mines=Mines +Rolls=Rolls +Stream=S +Taps=Taps +TapsAndHolds=Taps +Voltage=V +MinMidiNote=Min +MaxMidiNote=Max +Lifts=Lifts +Fakes=Fakes [RageInput] No input devices were loaded.=No input devices were loaded. diff --git a/Themes/home/metrics.ini b/Themes/home/metrics.ini index a5a948a6c8..3531cb3c0f 100644 --- a/Themes/home/metrics.ini +++ b/Themes/home/metrics.ini @@ -2,4 +2,6 @@ [Global] FallbackTheme=default -# Now you can edit or add things. ############################################## \ No newline at end of file +# Now you can edit or add things. ############################################## +[ScreenEdit] +EditModifiers="midi-note" \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenGameplay decorations/default.lua b/Themes/new/BGAnimations/ScreenGameplay decorations.lua similarity index 100% rename from Themes/new/BGAnimations/ScreenGameplay decorations/default.lua rename to Themes/new/BGAnimations/ScreenGameplay decorations.lua diff --git a/Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua similarity index 68% rename from Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua rename to Themes/new/BGAnimations/ScreenSelectMusic decorations.lua index e0302ba383..f2ea766b1d 100644 --- a/Themes/new/BGAnimations/ScreenSelectMusic decorations/default.lua +++ b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua @@ -2,8 +2,12 @@ local t = LoadFallbackB(); -- t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay"); t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); --- StepsDisplay +t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); + +-- StepsDisplay creator local function CreateStepsDisplay( _pn ) local function set(self, _pn) self:SetFromGameState( _pn); @@ -23,13 +27,6 @@ local function CreateStepsDisplay( _pn ) return t; end --- Create Background For Each Player ---[[ for pn in ivalues(PlayerNumber) do - local MetricsName = "PlayerFrame" .. PlayerNumberToString(pn) - t[#t+1] = LoadActor(THEME:GetPathG(Var "LoadingScreen","PlayerFrame")) .. { - InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; - }; -end ]] -- Create StepsDisplay for each player for pn in ivalues(PlayerNumber) do local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); @@ -37,5 +34,10 @@ for pn in ivalues(PlayerNumber) do InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; }; end - +-- Create PaneDisplay for each player +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplay","PaneDisplay"); +--[[ for pn in ivalues(PlayerNumber) do + local MetricsName = "PaneDisplay" .. PlayerNumberToString(pn); + t[#t+1] = StandardDecorationFromFileOptional(MetricsName,"PaneDisplay",PlayerNumber); +end ]] return t; \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenWithMenuElements decorations/default.lua b/Themes/new/BGAnimations/ScreenWithMenuElements decorations.lua similarity index 100% rename from Themes/new/BGAnimations/ScreenWithMenuElements decorations/default.lua rename to Themes/new/BGAnimations/ScreenWithMenuElements decorations.lua diff --git a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua index d80623d688..9a62404639 100644 --- a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua @@ -41,7 +41,7 @@ return Def.ActorFrame { -- BPM Multiple Warning Def.Quad { Name="BPMFlag"; - InitCommand=cmd(x,-32;y,4;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); + InitCommand=cmd(x,32;y,-8;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0); MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;); }; @@ -56,7 +56,7 @@ return Def.ActorFrame { Name="BPMText"; File=THEME:GetPathF("Common","Normal"); InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); - OnCommand=cmd(horizalign,left;x,-16); + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); BeginCommand=cmd(playcommand,"Set"); CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); SetCommand=function(self) diff --git a/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua b/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua new file mode 100644 index 0000000000..2bcb3f567a --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic DifficultyList.lua @@ -0,0 +1,7 @@ +return Def.StepsDisplayList { + Name="StepsDisplayListRow"; + CursorP1 = Def.ActorFrame {}; + CursorP2 = Def.ActorFrame {}; + CursorP1Frame = Def.Actor {}; + CursorP2Frame = Def.Actor {}; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua new file mode 100644 index 0000000000..9927385f00 --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua @@ -0,0 +1,125 @@ +local t = Def.ActorFrame {}; +-- Background +t[#t+1] = Def.ActorFrame { Name="Background"; + Def.Quad { + InitCommand=cmd(zoomto,320+8,96;diffuse,ThemeColor.Secondary); + }; +}; +-- Radar Text +local function RadarLabel( rc ) + local t = Def.ActorFrame {}; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.upper(THEME:GetString("RadarCategoryShort",ToEnumShortString(rc))); + InitCommand=cmd(shadowlength,1;zoom,0.675;horizalign,right); + }; + -- + return t; +end; +-- +local function RadarItem( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%04i",GetRadarValue(rc,pn)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%04i",GetRadarValue(rc,pn)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +local function RadarPercent( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +for index,rc in ipairs(RadarCategory) do + if index > 5 then + local VisualIndex = index-6 + local VertOffset = ( VisualIndex % 4 ) * 16; + local HorizOffset = math.floor( (VisualIndex)/4 ) * 156; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-96+HorizOffset;y,-10+VertOffset); + -- + RadarLabel(rc); + RadarItem(PLAYER_1, rc) .. { InitCommand=cmd(x,-96-8); }; + RadarItem(PLAYER_2, rc) .. { InitCommand=cmd(x,-64+4); }; + }; + end +end; +-- +for index,rc in ipairs(RadarCategory) do + if index < 6 then + local HorizOffset = (index-1) * 64; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-148+HorizOffset;y,-33); + -- + RadarLabel(rc); + RadarPercent(PLAYER_1, rc) .. { InitCommand=cmd(x,-104;y,-7); }; + RadarPercent(PLAYER_2, rc) .. { InitCommand=cmd(x,-104;y,7); }; + }; + end +end; +-- +--[[ for index,rc in ipairs(RadarCategory) do + if index > 5 then + t[#t+1] = LoadFont("Common Normal") .. { Text=ToEnumShortString(rc); InitCommand=cmd(zoom,0.5;shadowlength,1;y,(index-5)*10); }; + end +end; ]] +return t \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic SongTime.lua b/Themes/new/Graphics/ScreenSelectMusic SongTime.lua deleted file mode 100644 index ab6a023f8f..0000000000 --- a/Themes/new/Graphics/ScreenSelectMusic SongTime.lua +++ /dev/null @@ -1,17 +0,0 @@ -return Def.ActorFrame { - CurrentSongChangedMessageCommand=function(self) - self:aux(0); - self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); - end; - -- BPM Background - Def.Quad { - Name="BPMBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- BPM Label - LoadFont("Common Normal") .. { - Name="BPMLabel"; - Text="Time"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; -}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua new file mode 100644 index 0000000000..d12c667684 --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua @@ -0,0 +1,25 @@ +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="SortBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="SortLabel"; + Text="SORT"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="SortText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + SortOrderChangedMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() ); + -- reset numbers + self:settext(s); + end; + }; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua new file mode 100644 index 0000000000..962cc8ad37 --- /dev/null +++ b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua @@ -0,0 +1,28 @@ +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="TimeBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="TimeLabel"; + Text="TIME"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="BPMText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + Song = GAMESTATE:GetCurrentSong(); + Time = Song:GetStepsSeconds() or 0; + Minutes = math.floor( Time / 60 ); + Seconds = tonumber(Time) - tonumber(Minutes*60); + -- reset numbers + self:settextf("%02i:%02i",Minutes,Seconds); + end; + }; +}; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenWithMenuElements Header.lua b/Themes/new/Graphics/ScreenWithMenuElements Header.lua index 6542393f23..9e0b9ed996 100644 --- a/Themes/new/Graphics/ScreenWithMenuElements Header.lua +++ b/Themes/new/Graphics/ScreenWithMenuElements Header.lua @@ -2,11 +2,11 @@ local t = Def.ActorFrame {}; local function UpdateTriangleFrame(self) local curBPS = GAMESTATE:GetSongBPS() and GAMESTATE:GetSongBPS() or 1; local c = self:GetChildren(); - local auxRate = 6; + local auxRate = 3; -- c.TriangleFrame:aux( math.mod( c.TriangleFrame:getaux() + ( curBPS * auxRate ), 360) ); - c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 1.5 ) ); - c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.5) ); + c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 0.75 ) ); + c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.35) ); -- c.TriangleFrame:x( math.cos( math.rad(c.TriangleFrame:getaux()) ) * 8 ); -- c.TriangleFrame:y(math.sin( math.rad(c.TriangleFrame:getaux()) ) * 8); end; diff --git a/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua index 499ff3332f..d50a9037c2 100644 --- a/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/new/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -10,7 +10,7 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",160,20); LoadFont("Common Normal") .. { - Text=curStage .. " (" .. curStageIndex .. ")"; + Text=StageToLocalizedString( curStage ) .. " Stage (" .. curStageIndex .. ")"; InitCommand=cmd(zoom,0.75;y,-2;shadowlength,1; diffuse,StageToColor(curStage); diffusetopedge,ColorLightTone(StageToColor(curStage)); diff --git a/Themes/new/Graphics/StepsDisplayListRow frame.lua b/Themes/new/Graphics/StepsDisplayListRow frame.lua new file mode 100644 index 0000000000..870c71931a --- /dev/null +++ b/Themes/new/Graphics/StepsDisplayListRow frame.lua @@ -0,0 +1 @@ +return Def.Quad {}; \ No newline at end of file diff --git a/Themes/new/metrics.ini b/Themes/new/metrics.ini index 7eae55d25e..049bea05cf 100644 --- a/Themes/new/metrics.ini +++ b/Themes/new/metrics.ini @@ -51,6 +51,24 @@ BPMDisplayY=SCREEN_CENTER_Y-128-40 BPMDisplayOnCommand=draworder,115 BPMDisplayOffCommand= # +ShowTimeDisplay=true +TimeDisplayX=SCREEN_CENTER_X-256+96+4 +TimeDisplayY=SCREEN_CENTER_Y-128-40 +TimeDisplayOnCommand=draworder,115; +TimeDisplayOffCommand= +# +ShowSortDisplay=true +SortDisplayX=SCREEN_CENTER_X-256+96+96+8 +SortDisplayY=SCREEN_CENTER_Y-128-40 +SortDisplayOnCommand=draworder,115; +SortDisplayOffCommand= +# +ShowDifficultyList=true +DifficultyListX=SCREEN_CENTER_X-128-64-64-32; +DifficultyListY=SCREEN_CENTER_Y-96-32-4; +DifficultyListOnCommand=draworder,115; +DifficultyListOffCommand= +# StepsDisplayP1X=SCREEN_CENTER_X-160 StepsDisplayP1Y=SCREEN_CENTER_Y+184 StepsDisplayP1OnCommand=draworder,155; @@ -61,6 +79,24 @@ StepsDisplayP2Y=SCREEN_CENTER_Y+184 StepsDisplayP2OnCommand=draworder,155; StepsDisplayP2OffCommand= # +ShowPaneDisplay=true +PaneDisplayX=SCREEN_CENTER_X-128-32+4 +PaneDisplayY=SCREEN_CENTER_Y +PaneDisplayOnCommand= +PaneDisplayOffCommand= +# +ShowPaneDisplayP1=true +PaneDisplayP1X= +PaneDisplayP1Y= +PaneDisplayP1OnCommand= +PaneDisplayP1OffCommand= +# +ShowPaneDisplayP2=true +PaneDisplayP2X= +PaneDisplayP2Y= +PaneDisplayP2OnCommand= +PaneDisplayP2OffCommand= +# PlayerFrameP1X=SCREEN_CENTER_X-160 PlayerFrameP1Y=SCREEN_CENTER_Y+184 PlayerFrameP1OnCommand=draworder,155;diffuse,PlayerColor(PLAYER_1); @@ -75,8 +111,8 @@ TextFormat="%04.0f" ApproachSeconds=0.25 Commify=false LeadingZeroMultiplyColor=color("#777777FF") -[RollingNumbersSongTime] -TextFormat="%02i:02i" +[RollingNumbersTimeDisplay] +TextFormat="%02f:02f" ApproachSeconds=0.25 Commify=false LeadingZeroMultiplyColor=color("#777777FF") @@ -205,7 +241,63 @@ ShowStepsType=false StepsTypeX=-20-32 StepsTypeY=7 StepsTypeOnCommand=zoom,0.45 - +[DifficultyList] +ItemsSpacingY=16 +NumShownItems=5 +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=5 +ItemsSpacingY=16 +MoveCommand= +FrameX= +FrameY= +FrameOnCommand=zoomto,60,14; +FrameOffCommand= +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; +# +NumTicks=10 +MaxTicks=10 +# +ShowMeter=true +MeterX=0 +MeterOnCommand=zoom,0.75; +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowDescription=false +DescriptionX=0 +DescriptionOnCommand=0 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=false +AutogenX=0 +AutogenY=0 +AutogenOnCommand= +# +ShowStepsType=false +StepsTypeX=0 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= [ScreenGameplay] LifeP1OnCommand=draworder,105 LifeP2OnCommand=draworder,105 From 5a4ca869eddd85fb30428b22c5791e51d43c5f1c Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Thu, 10 May 2012 05:55:06 +0000 Subject: [PATCH 24/41] Fix extra ) --- .../ScreenStageInformation underlay/default.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 6d753b9d5f..53098f389f 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -79,8 +79,10 @@ t[#t+1] = Def.ActorFrame { --Get scoring ready. if not GAMESTATE:IsCourseMode() then - InitScoringModes((GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode")), - (GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode")) + InitScoringModes( + (GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode"), + (GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode") + ) end return t \ No newline at end of file From 3f7412428295cf5829399d23e154c2a858283d19 Mon Sep 17 00:00:00 2001 From: Jonathan Payne Date: Thu, 10 May 2012 05:59:20 +0000 Subject: [PATCH 25/41] even better. --- .../BGAnimations/ScreenStageInformation underlay/default.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 53098f389f..79af9fe45d 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -80,8 +80,8 @@ t[#t+1] = Def.ActorFrame { --Get scoring ready. if not GAMESTATE:IsCourseMode() then InitScoringModes( - (GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode"), - (GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode") + (GAMESTATE:IsSideJoined(PLAYER_1)) and GetUserPref("UserPrefScoringMode"), + (GAMESTATE:IsSideJoined(PLAYER_2)) and GetUserPref("UserPrefScoringMode") ) end From a8eca9c49c2d93c1aea763e48aff257e85338529 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 10 May 2012 02:02:16 -0400 Subject: [PATCH 26/41] The bigger issue, of course... ...is that InitScoringModes doesn't exist. Comment out the block of code for now. --- .../ScreenStageInformation underlay/default.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 79af9fe45d..9ced34afd1 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -79,10 +79,12 @@ t[#t+1] = Def.ActorFrame { --Get scoring ready. if not GAMESTATE:IsCourseMode() then +--[[ InitScoringModes( - (GAMESTATE:IsSideJoined(PLAYER_1)) and GetUserPref("UserPrefScoringMode"), - (GAMESTATE:IsSideJoined(PLAYER_2)) and GetUserPref("UserPrefScoringMode") - ) + GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode"), + GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode") + ) +]] end -return t \ No newline at end of file +return t From b71caa445cd618805544b33d6a47f5e96b18ca51 Mon Sep 17 00:00:00 2001 From: Jason Felds Date: Thu, 10 May 2012 02:02:37 -0400 Subject: [PATCH 27/41] hgeol I bet. --- Themes/_fallback/Scripts/04 Scoring.lua | 710 +++++++++--------- .../_fallback/Scripts/05 ScoringEngine2.lua | 234 +++--- .../ScreenGameplay decorations.lua | 60 +- .../ScreenSelectMusic decorations.lua | 84 +-- .../Graphics/ScreenSelectMusic BPMDisplay.lua | 146 ++-- .../ScreenSelectMusic PaneDisplay.lua | 248 +++--- .../ScreenSelectMusic SortDisplay.lua | 48 +- .../ScreenSelectMusic TimeDisplay.lua | 54 +- .../ScreenWithMenuElements Header.lua | 194 ++--- 9 files changed, 889 insertions(+), 889 deletions(-) diff --git a/Themes/_fallback/Scripts/04 Scoring.lua b/Themes/_fallback/Scripts/04 Scoring.lua index bc84d85ce7..9a73fdb4c7 100644 --- a/Themes/_fallback/Scripts/04 Scoring.lua +++ b/Themes/_fallback/Scripts/04 Scoring.lua @@ -1,355 +1,355 @@ ---[[DO NOT MODIFY THIS FILE. -You can add new scoring modes just by creating a different file and adding them to the -Scoring table. Replacing this file will cause additions to be lost during updates. -It's unnecessary and problematic.]] - ---internals table -local Shared = {}; ---Special Scoring types. -local r = {}; -local DisabledScoringModes = { '[SSC] Radar Master' }; ---the following metatable makes any missing value in a table 0 instead of nil. -local ZeroIfNotFound = { __index = function() return 0 end; }; - --- Retrieve the amount of taps/holds/rolls involved. Used for some formulas. -function GetTotalItems(radars) - local total = radars:GetValue('RadarCategory_TapsAndHolds') - total = total + radars:GetValue('RadarCategory_Holds') - total = total + radars:GetValue('RadarCategory_Rolls') - -- [ja] Liftを加えると一部二重加算になるため除外する。 - -- total = total + radars:GetValue('RadarCategory_Lifts') - - -- [en] prevent divide by 0 - -- [ja] 0除算対策(しなくても動作するけど満点になっちゃうんで) - return math.max(1,total); -end; - --- Determine whether marvelous timing is to be considered. -function IsW1Allowed(tapScore) - return tapScore == 'TapNoteScore_W2' - and (PREFSMAN:GetPreference("AllowW1") ~= 'AllowW1_Never' - or not (GAMESTATE:IsCourseMode() and - PREFSMAN:GetPreference("AllowW1") == 'AllowW1_CoursesOnly')); -end; - --- Get the radar values directly. The individual steps aren't used much. -function GetDirectRadar(player) - return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player); -end; - ------------------------------------------------------------ ---Oldschool scoring, best described as a modified 4th mix scheme ---with a little 1st mix influence ------------------------------------------------------------ -r['Oldschool'] = function(params, pss) - local bestPoints = 999 - local scoreLookupTable = - { - ['TapNoteScore_W1']=999, - ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, - ['TapNoteScore_W3']=777, - ['TapNoteScore_W4']=555, - ['TapNoteScore_W5']=111, - }; - setmetatable(scoreLookupTable, ZeroIfNotFound); - local comboBonusForThisStep = (pss:GetCurrentCombo()*111)^1.1; - local capScore = 1000000000; - pss:SetCurMaxScore(capScore); --i don't really care about weird scoring modes -fsx - local pointsGot = comboBonusForThisStep + scoreLookupTable[params.TapNoteScore] + (params.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0); - pss:SetScore(clamp(pss:GetScore()+pointsGot,0,capScore)); -end; - ------------------------------------------------------------ ---DDR MAX2/Extreme(-esque) Scoring by @sakuraponila ------------------------------------------------------------ -local ext_Steps = {0,0}; -r['DDR Extreme'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 9, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local steps = GAMESTATE:GetCurrentSteps(params.Player); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1 + 2 + 3 + ... + totalItems value/の値 - local sTotal = (totalItems + 1) * totalItems / 2; - local meter = steps:GetMeter(); - if (steps:IsAnEdit()) then - meter = 5; - else - meter = math.min(10,meter); - end; - -- [en] score for one step - -- [ja] 1ステップあたりのスコア - local baseScore = meter * 1000000 - if (GAMESTATE:GetCurrentSong():IsMarathon()) then - baseScore = baseScore * 3; - elseif (GAMESTATE:GetCurrentSong():IsLong()) then - baseScore = baseScore * 2; - end; - local sOne = math.floor(baseScore / sTotal); - -- [en] measures for 5 points of units - -- [ja] 5点単位のための処置 - sOne = sOne - sOne % 5; - -- [en] because fractions are added by the last step, get value - -- [ja] 端数は最後の1ステップで加算するのでその値を取得 - local sLast = baseScore - (sOne * sTotal); - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - -- [en] initialized when score is 0 - -- [ja] スコアが0の時に初期化 - if pss:GetScore() == 0 then - ext_Steps[p] = 0; - end; - -- [en] now step count - -- [ja] 現在のステップ数 - ext_Steps[p] = ext_Steps[p] + 1; - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne * ext_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore() + vScore); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - -- [ja] O.K.判定時は問答無用で満点 - vScore = vScore; - else - -- [ja] N.G.判定時は問答無用で0点 - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - -- [en] non-long note scoring - -- [ja] それ以外ということは、ロングノート以外の判定である - else - vScore = vScore * multLookup[params.TapNoteScore] / 10 - end; - end; - -- [en] measures for 5 points of units - -- [ja] ここでも5点単位のための処置 - vScore = vScore - vScore % 5 - pss:SetScore(pss:GetScore() + vScore); - -- if one of the last step, add the fractions - -- [ja] 最後の1ステップの場合、端数を加算する - if ((vScore > 0) and (ext_Steps[p] == totalItems)) then - pss:SetScore(pss:GetScore() + sLast); - end; -end; - ------------------------------------------------------------ ---HYBRID Scoring, contributed by @waiei ------------------------------------------------------------ -local hyb_Steps={0,0}; -r['Hybrid'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 9, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - -- 1+2+3+...+totalItems value/の値 - local sTotal = (totalItems+1)*totalItems/2; - -- [en] Score for one song - -- [ja] 1ステップあたりのスコア - local sOne = math.floor(100000000/sTotal); - -- [ja] 端数は最後の1ステップで加算するのでその値を取得 - local sLast = 100000000-(sOne*sTotal); - - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - hyb_Steps[p]=0; - end; - - -- [ja] 現在のステップ数 - hyb_Steps[p]=hyb_Steps[p]+1; - -- [en] current score - -- [ja] 今回加算するスコア(W1の時) - local vScore = sOne*hyb_Steps[p]; - pss:SetCurMaxScore(pss:GetCurMaxScore()+vScore); - -- [ja] 判定によって加算量を変更 - if (params.HoldNoteScore == 'HoldNoteScore_Held') then - vScore = vScore; - else - if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then - vScore = 0; - else - vScore = vScore*multLookup[params.TapNoteScore]/10; - end; - end; - pss:SetScore(pss:GetScore()+vScore); - - -- [ja] 最後の1ステップの場合、端数を加算する - if ((vScore > 0) and (hyb_Steps[p] == totalItems)) then - pss:SetScore(pss:GetScore()+sLast); - end; -end; - ------------------------------------------------------------ ---DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila ------------------------------------------------------------ -local sntmp_Score = {0,0}; -local sntmp_Steps = {0,0}; -r['DDR SuperNOVA'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 3, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues) - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- initialized when score is 0 - -- [ja] スコアが0の時に初期化 - if pss:GetScore() == 0 then - sntmp_Score[p] = 0; - sntmp_Steps[p] = 0; - end; - - -- [ja] 判定によって加算量を変更 - local maxAdd = 0; - -- [ja] O.K.判定時は問答無用で満点 - if params.HoldNoteScore == 'HoldNoteScore_Held' then - maxAdd = 3; - else - -- [ja] N.G.判定時は問答無用で0点 - if params.HoldNoteScore == 'HoldNoteScore_LetGo' then - maxAdd = 0; - -- [ja] それ以外ということは、ロングノート以外の判定である - else - maxAdd = multLookup[params.TapNoteScore]; - end - end; - sntmp_Score[p] = sntmp_Score[p] + maxAdd; - - -- [ja] 踏み踏みしたステップ数 - sntmp_Steps[p] = sntmp_Steps[p] + 1; - -- [ja] 現時点での、All W1判定の時のスコア - pss:SetCurMaxScore(math.floor(10000000 * sntmp_Steps[p] / totalItems / 3)); - -- [ja] 計算して代入 - pss:SetScore(math.floor(10000000 * sntmp_Score[p] / totalItems / 3)); -end; - ------------------------------------------------------------ ---DDR SuperNOVA 2 scoring by @waiei ------------------------------------------------------------ -local sn2tmp_Sub={0,0}; -local sn2tmp_Score={0,0}; -local sn2tmp_Steps={0,0}; -r['DDR SuperNOVA 2'] = function(params, pss) - local multLookup = - { - ['TapNoteScore_W1'] = 10, - ['TapNoteScore_W2'] = 10, - ['TapNoteScore_W3'] = 5 - }; - setmetatable(multLookup, ZeroIfNotFound); - local radarValues = GetDirectRadar(params.Player); - local totalItems = GetTotalItems(radarValues); - local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; - - -- [ja] スコアが0の時に初期化 - if pss:GetScore()==0 then - sn2tmp_Sub[p]=0; - sn2tmp_Score[p]=0; - sn2tmp_Steps[p]=0; - end; - - -- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50%) - local maxAdd = 0; - -- [ja] O.K.判定時は問答無用で満点 - if params.HoldNoteScore == 'HoldNoteScore_Held' then - maxAdd = 10; - else - -- [ja] N.G.判定時は問答無用で0点 - if params.HoldNoteScore == 'HoldNoteScore_LetGo' then - maxAdd = 0; - -- [ja] それ以外ということは、ロングノート以外の判定である - else - maxAdd = multLookup[params.TapNoteScore]; - if (params.TapNoteScore == 'TapNoteScore_W2') or (params.TapNoteScore=='TapNoteScore_W3') then - -- [ja] W2とW3の数を記録 - sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; - end; - end - end; - sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; - -- [ja] 踏み踏みしたステップ数 - sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; - -- [ja] 現時点での、All W1判定の時のスコア - pss:SetCurMaxScore(math.floor(10000*sn2tmp_Steps[p]/totalItems) * 10); - - -- [ja] 計算して代入 - pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); -end; - ------------------------------------------------------------ ---Radar Master (disabled; todo: get this working with StepMania 5) ------------------------------------------------------------ -r['[SSC] Radar Master'] = function(params, pss) - local masterTable = { - ['RadarCategory_Stream'] = 0, - ['RadarCategory_Voltage'] = 0, - ['RadarCategory_Air'] = 0, - ['RadarCategory_Freeze'] = 0, - ['RadarCategory_Chaos'] = 0 - }; - local totalRadar = 0; - local finalScore = 0; - for k,v in pairs(masterTable) do - local firstRadar = GetDirectRadar(params.Player):GetValue(k); - if firstRadar == 0 then - masterTable[k] = nil; - else - masterTable[k] = firstRadar; - totalRadar = totalRadar + firstRadar; - end; - end; - --two loops are needed because we need to calculate totalRadar - --to actually calculate any part of the score - for k,v in pairs(masterTable) do - local curPortion = pss:GetRadarActual():GetValue(k) / v; - finalScore = finalScore + curPortion*(500000000*(v/totalRadar)); - end; - pss:SetScore(finalScore); -end; ------------------------------------------------------------- ---Marvelous Incorporated Grading System (or MIGS for short) ---basically like DP scoring with locked DP values ------------------------------------------------------------- -r['MIGS'] = function(params,pss) - local curScore = 0; - local tapScoreTable = - { - ['TapNoteScore_W1'] = 3, - ['TapNoteScore_W2'] = 2, - ['TapNoteScore_W3'] = 1, - ['TapNoteScore_W5'] = -4, - ['TapNoteScore_Miss'] = -8 - }; - for k,v in pairs(tapScoreTable) do - curScore = curScore + ( pss:GetTapNoteScores(k) * v ); - end; - curScore = math.max(0,curScore + ( pss:GetHoldNoteScores('HoldNoteScore_Held') * 6 )); - pss:SetScore(curScore); -end; - --------------------------------------------------------------- ---1bilDP scoring because I can. --------------------------------------------------------------- -r['Billions DP']= function(params,pss) - local poss = pss:GetPossibleDancePoints() - pss:SetScore(math.floor((pss:GetActualDancePoints()/poss)*1000000000)) - pss:SetCurMaxScore(math.floor((pss:GetCurrentPossibleDancePoints()/poss)*1000000000)) -end -------------------------------------------------------------------------------- --- Formulas end here. -for v in ivalues(DisabledScoringModes) do r[v] = nil end -Scoring = r; +--[[DO NOT MODIFY THIS FILE. +You can add new scoring modes just by creating a different file and adding them to the +Scoring table. Replacing this file will cause additions to be lost during updates. +It's unnecessary and problematic.]] + +--internals table +local Shared = {}; +--Special Scoring types. +local r = {}; +local DisabledScoringModes = { '[SSC] Radar Master' }; +--the following metatable makes any missing value in a table 0 instead of nil. +local ZeroIfNotFound = { __index = function() return 0 end; }; + +-- Retrieve the amount of taps/holds/rolls involved. Used for some formulas. +function GetTotalItems(radars) + local total = radars:GetValue('RadarCategory_TapsAndHolds') + total = total + radars:GetValue('RadarCategory_Holds') + total = total + radars:GetValue('RadarCategory_Rolls') + -- [ja] Liftを加えると一部二重加算になるため除外する。 + -- total = total + radars:GetValue('RadarCategory_Lifts') + + -- [en] prevent divide by 0 + -- [ja] 0除算対策(しなくても動作するけど満点になっちゃうんで) + return math.max(1,total); +end; + +-- Determine whether marvelous timing is to be considered. +function IsW1Allowed(tapScore) + return tapScore == 'TapNoteScore_W2' + and (PREFSMAN:GetPreference("AllowW1") ~= 'AllowW1_Never' + or not (GAMESTATE:IsCourseMode() and + PREFSMAN:GetPreference("AllowW1") == 'AllowW1_CoursesOnly')); +end; + +-- Get the radar values directly. The individual steps aren't used much. +function GetDirectRadar(player) + return GAMESTATE:GetCurrentSteps(player):GetRadarValues(player); +end; + +----------------------------------------------------------- +--Oldschool scoring, best described as a modified 4th mix scheme +--with a little 1st mix influence +----------------------------------------------------------- +r['Oldschool'] = function(params, pss) + local bestPoints = 999 + local scoreLookupTable = + { + ['TapNoteScore_W1']=999, + ['TapNoteScore_W2']=IsW1Allowed('TapNoteScore_W2') and 888 or 999, + ['TapNoteScore_W3']=777, + ['TapNoteScore_W4']=555, + ['TapNoteScore_W5']=111, + }; + setmetatable(scoreLookupTable, ZeroIfNotFound); + local comboBonusForThisStep = (pss:GetCurrentCombo()*111)^1.1; + local capScore = 1000000000; + pss:SetCurMaxScore(capScore); --i don't really care about weird scoring modes -fsx + local pointsGot = comboBonusForThisStep + scoreLookupTable[params.TapNoteScore] + (params.HoldNoteScore == 'HoldNoteScore_Held' and 777 or 0); + pss:SetScore(clamp(pss:GetScore()+pointsGot,0,capScore)); +end; + +----------------------------------------------------------- +--DDR MAX2/Extreme(-esque) Scoring by @sakuraponila +----------------------------------------------------------- +local ext_Steps = {0,0}; +r['DDR Extreme'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 9, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local steps = GAMESTATE:GetCurrentSteps(params.Player); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + -- 1 + 2 + 3 + ... + totalItems value/の値 + local sTotal = (totalItems + 1) * totalItems / 2; + local meter = steps:GetMeter(); + if (steps:IsAnEdit()) then + meter = 5; + else + meter = math.min(10,meter); + end; + -- [en] score for one step + -- [ja] 1ステップあたりのスコア + local baseScore = meter * 1000000 + if (GAMESTATE:GetCurrentSong():IsMarathon()) then + baseScore = baseScore * 3; + elseif (GAMESTATE:GetCurrentSong():IsLong()) then + baseScore = baseScore * 2; + end; + local sOne = math.floor(baseScore / sTotal); + -- [en] measures for 5 points of units + -- [ja] 5点単位のための処置 + sOne = sOne - sOne % 5; + -- [en] because fractions are added by the last step, get value + -- [ja] 端数は最後の1ステップで加算するのでその値を取得 + local sLast = baseScore - (sOne * sTotal); + + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + -- [en] initialized when score is 0 + -- [ja] スコアが0の時に初期化 + if pss:GetScore() == 0 then + ext_Steps[p] = 0; + end; + -- [en] now step count + -- [ja] 現在のステップ数 + ext_Steps[p] = ext_Steps[p] + 1; + -- [en] current score + -- [ja] 今回加算するスコア(W1の時) + local vScore = sOne * ext_Steps[p]; + pss:SetCurMaxScore(pss:GetCurMaxScore() + vScore); + -- [ja] 判定によって加算量を変更 + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + -- [ja] O.K.判定時は問答無用で満点 + vScore = vScore; + else + -- [ja] N.G.判定時は問答無用で0点 + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + -- [en] non-long note scoring + -- [ja] それ以外ということは、ロングノート以外の判定である + else + vScore = vScore * multLookup[params.TapNoteScore] / 10 + end; + end; + -- [en] measures for 5 points of units + -- [ja] ここでも5点単位のための処置 + vScore = vScore - vScore % 5 + pss:SetScore(pss:GetScore() + vScore); + -- if one of the last step, add the fractions + -- [ja] 最後の1ステップの場合、端数を加算する + if ((vScore > 0) and (ext_Steps[p] == totalItems)) then + pss:SetScore(pss:GetScore() + sLast); + end; +end; + +----------------------------------------------------------- +--HYBRID Scoring, contributed by @waiei +----------------------------------------------------------- +local hyb_Steps={0,0}; +r['Hybrid'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 9, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + -- 1+2+3+...+totalItems value/の値 + local sTotal = (totalItems+1)*totalItems/2; + -- [en] Score for one song + -- [ja] 1ステップあたりのスコア + local sOne = math.floor(100000000/sTotal); + -- [ja] 端数は最後の1ステップで加算するのでその値を取得 + local sLast = 100000000-(sOne*sTotal); + + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- [ja] スコアが0の時に初期化 + if pss:GetScore()==0 then + hyb_Steps[p]=0; + end; + + -- [ja] 現在のステップ数 + hyb_Steps[p]=hyb_Steps[p]+1; + -- [en] current score + -- [ja] 今回加算するスコア(W1の時) + local vScore = sOne*hyb_Steps[p]; + pss:SetCurMaxScore(pss:GetCurMaxScore()+vScore); + -- [ja] 判定によって加算量を変更 + if (params.HoldNoteScore == 'HoldNoteScore_Held') then + vScore = vScore; + else + if (params.HoldNoteScore == 'HoldNoteScore_LetGo') then + vScore = 0; + else + vScore = vScore*multLookup[params.TapNoteScore]/10; + end; + end; + pss:SetScore(pss:GetScore()+vScore); + + -- [ja] 最後の1ステップの場合、端数を加算する + if ((vScore > 0) and (hyb_Steps[p] == totalItems)) then + pss:SetScore(pss:GetScore()+sLast); + end; +end; + +----------------------------------------------------------- +--DDR SuperNOVA scoring (Use MARVELOUS) by @sakuraponila +----------------------------------------------------------- +local sntmp_Score = {0,0}; +local sntmp_Steps = {0,0}; +r['DDR SuperNOVA'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 3, + ['TapNoteScore_W2'] = 2, + ['TapNoteScore_W3'] = 1 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues) + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- initialized when score is 0 + -- [ja] スコアが0の時に初期化 + if pss:GetScore() == 0 then + sntmp_Score[p] = 0; + sntmp_Steps[p] = 0; + end; + + -- [ja] 判定によって加算量を変更 + local maxAdd = 0; + -- [ja] O.K.判定時は問答無用で満点 + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 3; + else + -- [ja] N.G.判定時は問答無用で0点 + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0; + -- [ja] それ以外ということは、ロングノート以外の判定である + else + maxAdd = multLookup[params.TapNoteScore]; + end + end; + sntmp_Score[p] = sntmp_Score[p] + maxAdd; + + -- [ja] 踏み踏みしたステップ数 + sntmp_Steps[p] = sntmp_Steps[p] + 1; + -- [ja] 現時点での、All W1判定の時のスコア + pss:SetCurMaxScore(math.floor(10000000 * sntmp_Steps[p] / totalItems / 3)); + -- [ja] 計算して代入 + pss:SetScore(math.floor(10000000 * sntmp_Score[p] / totalItems / 3)); +end; + +----------------------------------------------------------- +--DDR SuperNOVA 2 scoring by @waiei +----------------------------------------------------------- +local sn2tmp_Sub={0,0}; +local sn2tmp_Score={0,0}; +local sn2tmp_Steps={0,0}; +r['DDR SuperNOVA 2'] = function(params, pss) + local multLookup = + { + ['TapNoteScore_W1'] = 10, + ['TapNoteScore_W2'] = 10, + ['TapNoteScore_W3'] = 5 + }; + setmetatable(multLookup, ZeroIfNotFound); + local radarValues = GetDirectRadar(params.Player); + local totalItems = GetTotalItems(radarValues); + local p = (params.Player == 'PlayerNumber_P1') and 1 or 2; + + -- [ja] スコアが0の時に初期化 + if pss:GetScore()==0 then + sn2tmp_Sub[p]=0; + sn2tmp_Score[p]=0; + sn2tmp_Steps[p]=0; + end; + + -- [ja] maxAdd は 加算する最高点を 10 とした時の値(つまり、10=100% / 5=50%) + local maxAdd = 0; + -- [ja] O.K.判定時は問答無用で満点 + if params.HoldNoteScore == 'HoldNoteScore_Held' then + maxAdd = 10; + else + -- [ja] N.G.判定時は問答無用で0点 + if params.HoldNoteScore == 'HoldNoteScore_LetGo' then + maxAdd = 0; + -- [ja] それ以外ということは、ロングノート以外の判定である + else + maxAdd = multLookup[params.TapNoteScore]; + if (params.TapNoteScore == 'TapNoteScore_W2') or (params.TapNoteScore=='TapNoteScore_W3') then + -- [ja] W2とW3の数を記録 + sn2tmp_Sub[p]=sn2tmp_Sub[p]+1; + end; + end + end; + sn2tmp_Score[p]=sn2tmp_Score[p]+maxAdd; + -- [ja] 踏み踏みしたステップ数 + sn2tmp_Steps[p]=sn2tmp_Steps[p]+1; + -- [ja] 現時点での、All W1判定の時のスコア + pss:SetCurMaxScore(math.floor(10000*sn2tmp_Steps[p]/totalItems) * 10); + + -- [ja] 計算して代入 + pss:SetScore((math.floor(10000*sn2tmp_Score[p]/totalItems) * 10) - (sn2tmp_Sub[p]*10) ); +end; + +----------------------------------------------------------- +--Radar Master (disabled; todo: get this working with StepMania 5) +----------------------------------------------------------- +r['[SSC] Radar Master'] = function(params, pss) + local masterTable = { + ['RadarCategory_Stream'] = 0, + ['RadarCategory_Voltage'] = 0, + ['RadarCategory_Air'] = 0, + ['RadarCategory_Freeze'] = 0, + ['RadarCategory_Chaos'] = 0 + }; + local totalRadar = 0; + local finalScore = 0; + for k,v in pairs(masterTable) do + local firstRadar = GetDirectRadar(params.Player):GetValue(k); + if firstRadar == 0 then + masterTable[k] = nil; + else + masterTable[k] = firstRadar; + totalRadar = totalRadar + firstRadar; + end; + end; + --two loops are needed because we need to calculate totalRadar + --to actually calculate any part of the score + for k,v in pairs(masterTable) do + local curPortion = pss:GetRadarActual():GetValue(k) / v; + finalScore = finalScore + curPortion*(500000000*(v/totalRadar)); + end; + pss:SetScore(finalScore); +end; +------------------------------------------------------------ +--Marvelous Incorporated Grading System (or MIGS for short) +--basically like DP scoring with locked DP values +------------------------------------------------------------ +r['MIGS'] = function(params,pss) + local curScore = 0; + local tapScoreTable = + { + ['TapNoteScore_W1'] = 3, + ['TapNoteScore_W2'] = 2, + ['TapNoteScore_W3'] = 1, + ['TapNoteScore_W5'] = -4, + ['TapNoteScore_Miss'] = -8 + }; + for k,v in pairs(tapScoreTable) do + curScore = curScore + ( pss:GetTapNoteScores(k) * v ); + end; + curScore = math.max(0,curScore + ( pss:GetHoldNoteScores('HoldNoteScore_Held') * 6 )); + pss:SetScore(curScore); +end; + +-------------------------------------------------------------- +--1bilDP scoring because I can. +-------------------------------------------------------------- +r['Billions DP']= function(params,pss) + local poss = pss:GetPossibleDancePoints() + pss:SetScore(math.floor((pss:GetActualDancePoints()/poss)*1000000000)) + pss:SetCurMaxScore(math.floor((pss:GetCurrentPossibleDancePoints()/poss)*1000000000)) +end +------------------------------------------------------------------------------- +-- Formulas end here. +for v in ivalues(DisabledScoringModes) do r[v] = nil end +Scoring = r; diff --git a/Themes/_fallback/Scripts/05 ScoringEngine2.lua b/Themes/_fallback/Scripts/05 ScoringEngine2.lua index 0e18b36dbf..e675cd9b34 100644 --- a/Themes/_fallback/Scripts/05 ScoringEngine2.lua +++ b/Themes/_fallback/Scripts/05 ScoringEngine2.lua @@ -1,118 +1,118 @@ ---ScoringEngine2 by FSX v1.41 ---essentially a really chunky layer to make SetScore elegant(ish) ---arguments for scorekeepers: JudgmentMessageCommand,PlayerStageStats,PlayerNumber,State ---[[changelog -v1.41 6 May 2012 -*Not really sure. -*Included in SM5 for alpha 3. -v1.4 18 Apr 2012 -*Support for judgment filtering. -*Minor changes. -*First public release (in SE2 Dev Kit) (didn't happen) -v1.3 17 Apr 2012 -*First complete release. -*Error reporting in FinalizeScoreKeepers() -*Bug fixes.]] ---scoring modes written for the old ad-hoc system don't work, but don't cause crashes either. ---SM5 has some glue code for them, though -local stageKey = nil -local ReadiedScoreKeepers = {} -local JudgmentFilters = {} - -local function CoroutineIsGood(cr) - return coroutine.status(cr)=="suspended" -end - -function InitScoreKeepers(p1Mode, p2Mode) - local newStgK = {pcall(GameState.GetStageSeed,GAMESTATE)} - assert(newStgK[1], "it's too early to initialize the ScoreKeepers, the GameState isn't ready yet") - if newStgK[2] == stageKey then - Log "[InitScoreKeepers] unnecessary call" - return true - end - ReadiedScoreKeepers={} - JudgmentFilters={} - stageKey = newStgK - local intab = {} - if p1Mode ~= nil then - intab.P1 = p1Mode - end - if p2Mode ~= nil then - intab.P2 = p2Mode - end - assert(next(intab), "InitScoreKeepers didn't get any args") - for k,v in pairs(intab) do - if not ScoringModes[v] then - --SPOILER: UndocumentedFeature crashes the game intentionally. - UndocumentedFeature(k.."'s scoring mode \""..v.."\" doesn't exist.") - end - ReadiedScoreKeepers[k] = coroutine.create(ScoringModes[v]) - --call each scoring mode one time in init mode - checks={coroutine.resume(ReadiedScoreKeepers[k],nil,STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k), "PlayerNumber_"..k, "init")} - if not CoroutineIsGood(ReadiedScoreKeepers[k]) then SCREENMAN:SystemMessage("scoring init error: "..checks[2]) return false end - --very very very very safe filtering rule load code - if type(checks[2])=="table" then - if type(checks[2][1])..type(checks[2][2]) == "tabletable" then - local isGood=false - local tapscan = Enum.Reverse(TapNoteScore) - local holdscan = Enum.Reverse(HoldNoteScore) - local finaltable = {{},{}} - for i=1,2 do - for k,v in pairs(checks[2][i]) do - finaltable[i][v]=true - if (not (i==2 and holdscan[v] or tapscan[v])) or v==nil then isGood=false break end - isGood=true - end - if not isGood then break end - end - if isGood then - JudgmentFilters[k]=finaltable - end - end - end - end - return true -end - -function UpdateScoreKeepers(JMC) - assert(JMC,"pass args, please") - runplayer = ToEnumShortString(JMC.Player) - if ReadiedScoreKeepers[runplayer] then - if JudgmentFilters[runplayer] and (JudgmentFilters[runplayer][1][JMC.TapNoteScore] or JudgmentFilters[runplayer][2][JMC.HoldNoteScore]) then - return true - end - local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats(JMC.Player) - local newscores = {coroutine.resume(ReadiedScoreKeepers[runplayer],JMC,pss,JMC.Player,"update")} - if CoroutineIsGood(ReadiedScoreKeepers[runplayer]) then - pss:SetScore(newscores[2]) - pss:SetCurMaxScore(newscores[3]) - return true - else - SCREENMAN:SystemMessage("scoring update error: "..newscores[2]) - ReadiedScoreKeepers[runplayer]=nil - return false - end - end -end - -function FinalizeScoreKeepers() - for k,v in pairs(ReadiedScoreKeepers) do - local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k) - local newscores = {coroutine.resume(v,nil,pss,"PlayerNumber_"..k,"finalize")} - local status = coroutine.status(v) - --kill the scorekeeper now, we don't need it again - ReadiedScoreKeepers[k] = nil - if status=="dead" then - if newscores[1]==true then - pss:SetScore(newscores[2]) - pss:SetCurMaxScore(newscores[3]) - else - SCREENMAN:SystemMessage("scoring finalize error: "..newscores[2]) - return false - end - else - return false - end - end - return true +--ScoringEngine2 by FSX v1.41 +--essentially a really chunky layer to make SetScore elegant(ish) +--arguments for scorekeepers: JudgmentMessageCommand,PlayerStageStats,PlayerNumber,State +--[[changelog +v1.41 6 May 2012 +*Not really sure. +*Included in SM5 for alpha 3. +v1.4 18 Apr 2012 +*Support for judgment filtering. +*Minor changes. +*First public release (in SE2 Dev Kit) (didn't happen) +v1.3 17 Apr 2012 +*First complete release. +*Error reporting in FinalizeScoreKeepers() +*Bug fixes.]] +--scoring modes written for the old ad-hoc system don't work, but don't cause crashes either. +--SM5 has some glue code for them, though +local stageKey = nil +local ReadiedScoreKeepers = {} +local JudgmentFilters = {} + +local function CoroutineIsGood(cr) + return coroutine.status(cr)=="suspended" +end + +function InitScoreKeepers(p1Mode, p2Mode) + local newStgK = {pcall(GameState.GetStageSeed,GAMESTATE)} + assert(newStgK[1], "it's too early to initialize the ScoreKeepers, the GameState isn't ready yet") + if newStgK[2] == stageKey then + Log "[InitScoreKeepers] unnecessary call" + return true + end + ReadiedScoreKeepers={} + JudgmentFilters={} + stageKey = newStgK + local intab = {} + if p1Mode ~= nil then + intab.P1 = p1Mode + end + if p2Mode ~= nil then + intab.P2 = p2Mode + end + assert(next(intab), "InitScoreKeepers didn't get any args") + for k,v in pairs(intab) do + if not ScoringModes[v] then + --SPOILER: UndocumentedFeature crashes the game intentionally. + UndocumentedFeature(k.."'s scoring mode \""..v.."\" doesn't exist.") + end + ReadiedScoreKeepers[k] = coroutine.create(ScoringModes[v]) + --call each scoring mode one time in init mode + checks={coroutine.resume(ReadiedScoreKeepers[k],nil,STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k), "PlayerNumber_"..k, "init")} + if not CoroutineIsGood(ReadiedScoreKeepers[k]) then SCREENMAN:SystemMessage("scoring init error: "..checks[2]) return false end + --very very very very safe filtering rule load code + if type(checks[2])=="table" then + if type(checks[2][1])..type(checks[2][2]) == "tabletable" then + local isGood=false + local tapscan = Enum.Reverse(TapNoteScore) + local holdscan = Enum.Reverse(HoldNoteScore) + local finaltable = {{},{}} + for i=1,2 do + for k,v in pairs(checks[2][i]) do + finaltable[i][v]=true + if (not (i==2 and holdscan[v] or tapscan[v])) or v==nil then isGood=false break end + isGood=true + end + if not isGood then break end + end + if isGood then + JudgmentFilters[k]=finaltable + end + end + end + end + return true +end + +function UpdateScoreKeepers(JMC) + assert(JMC,"pass args, please") + runplayer = ToEnumShortString(JMC.Player) + if ReadiedScoreKeepers[runplayer] then + if JudgmentFilters[runplayer] and (JudgmentFilters[runplayer][1][JMC.TapNoteScore] or JudgmentFilters[runplayer][2][JMC.HoldNoteScore]) then + return true + end + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats(JMC.Player) + local newscores = {coroutine.resume(ReadiedScoreKeepers[runplayer],JMC,pss,JMC.Player,"update")} + if CoroutineIsGood(ReadiedScoreKeepers[runplayer]) then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + return true + else + SCREENMAN:SystemMessage("scoring update error: "..newscores[2]) + ReadiedScoreKeepers[runplayer]=nil + return false + end + end +end + +function FinalizeScoreKeepers() + for k,v in pairs(ReadiedScoreKeepers) do + local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats("PlayerNumber_"..k) + local newscores = {coroutine.resume(v,nil,pss,"PlayerNumber_"..k,"finalize")} + local status = coroutine.status(v) + --kill the scorekeeper now, we don't need it again + ReadiedScoreKeepers[k] = nil + if status=="dead" then + if newscores[1]==true then + pss:SetScore(newscores[2]) + pss:SetCurMaxScore(newscores[3]) + else + SCREENMAN:SystemMessage("scoring finalize error: "..newscores[2]) + return false + end + else + return false + end + end + return true end \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenGameplay decorations.lua b/Themes/new/BGAnimations/ScreenGameplay decorations.lua index 68a7bae928..b2a600e16d 100644 --- a/Themes/new/BGAnimations/ScreenGameplay decorations.lua +++ b/Themes/new/BGAnimations/ScreenGameplay decorations.lua @@ -1,31 +1,31 @@ -local t = Def.ActorFrame {}; --- Header -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_TOP;draworder,100); - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,64; - diffuse,ThemeColor.Secondary); - }; - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,48; - diffuse,ThemeColor.Background); - }; -}; --- Footer -t[#t+1] = Def.ActorFrame { - InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_BOTTOM;draworder,100); - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - zoomto,SCREEN_WIDTH,64; - diffuse,ThemeColor.Secondary); - }; - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - zoomto,SCREEN_WIDTH,32; - diffuse,ThemeColor.Background); - }; -}; - +local t = Def.ActorFrame {}; +-- Header +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_TOP;draworder,100); + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,64; + diffuse,ThemeColor.Secondary); + }; + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,48; + diffuse,ThemeColor.Background); + }; +}; +-- Footer +t[#t+1] = Def.ActorFrame { + InitCommand=cmd(x,SCREEN_LEFT;y,SCREEN_BOTTOM;draworder,100); + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + zoomto,SCREEN_WIDTH,64; + diffuse,ThemeColor.Secondary); + }; + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + zoomto,SCREEN_WIDTH,32; + diffuse,ThemeColor.Background); + }; +}; + return t; \ No newline at end of file diff --git a/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua index f2ea766b1d..f7c1c28553 100644 --- a/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua +++ b/Themes/new/BGAnimations/ScreenSelectMusic decorations.lua @@ -1,43 +1,43 @@ -local t = LoadFallbackB(); --- -t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); -t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay"); -t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); - --- StepsDisplay creator -local function CreateStepsDisplay( _pn ) - local function set(self, _pn) - self:SetFromGameState( _pn); - end - - local t = Def.StepsDisplay { - InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(_pn);); - }; - - if _pn == PLAYER_1 then - t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, _pn); end; - t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, _pn); end; - else - t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, _pn); end; - t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, _pn); end; - end - - return t; -end --- Create StepsDisplay for each player -for pn in ivalues(PlayerNumber) do - local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); - t[#t+1] = CreateStepsDisplay(pn) .. { - InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; - }; -end --- Create PaneDisplay for each player -t[#t+1] = StandardDecorationFromFileOptional("PaneDisplay","PaneDisplay"); ---[[ for pn in ivalues(PlayerNumber) do - local MetricsName = "PaneDisplay" .. PlayerNumberToString(pn); - t[#t+1] = StandardDecorationFromFileOptional(MetricsName,"PaneDisplay",PlayerNumber); -end ]] +local t = LoadFallbackB(); +-- +t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame"); +t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("TimeDisplay","TimeDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("SortDisplay","SortDisplay"); +t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList"); + +-- StepsDisplay creator +local function CreateStepsDisplay( _pn ) + local function set(self, _pn) + self:SetFromGameState( _pn); + end + + local t = Def.StepsDisplay { + InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(_pn);); + }; + + if _pn == PLAYER_1 then + t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, _pn); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, _pn); end; + else + t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, _pn); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, _pn); end; + end + + return t; +end +-- Create StepsDisplay for each player +for pn in ivalues(PlayerNumber) do + local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn); + t[#t+1] = CreateStepsDisplay(pn) .. { + InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end; + }; +end +-- Create PaneDisplay for each player +t[#t+1] = StandardDecorationFromFileOptional("PaneDisplay","PaneDisplay"); +--[[ for pn in ivalues(PlayerNumber) do + local MetricsName = "PaneDisplay" .. PlayerNumberToString(pn); + t[#t+1] = StandardDecorationFromFileOptional(MetricsName,"PaneDisplay",PlayerNumber); +end ]] return t; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua index 9a62404639..0b34bd35e4 100644 --- a/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic BPMDisplay.lua @@ -1,74 +1,74 @@ -local switchTime = 2; -local bThen, bNow, bMultipleBPMs; -local iCurrent = 0; -local Song, BPMs; -local updateTimer = function(self, fDeltaTime) - local c = self:GetChildren(); - -- use aux as a timer internally. - self:aux( self:getaux() + fDeltaTime ); - -- debug - -- c.BPMText:settextf("d:%0.16f (a:%0.2f)",fDeltaTime,self:getaux()); - bNow = (math.floor( self:getaux() % switchTime ) == 0) and true or false; - local bChanged = (bThen == bNow); - -- Toggle current index - if bChanged then - iCurrent = 1 - iCurrent; - if ( BPMs[1] == BPMs[2] ) then - bMultipleBPMs = false; - c.BPMText:targetnumber(clamp(BPMs[1],0,9999)); - else - bMultipleBPMs = true; - c.BPMText:targetnumber(clamp(BPMs[1+iCurrent],0,9999)); - end; - end; - -- - -- - bThen = (math.floor( self:getaux() % 2 ) ~= 0) and true or false; -end; -return Def.ActorFrame { - BeginCommand=function(self) - self:SetUpdateFunction( updateTimer ); - end; - CurrentSongChangedMessageCommand=function(self) - self:aux(0); - self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); - end; - -- BPM Background - Def.Quad { - Name="BPMBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- BPM Multiple Warning - Def.Quad { - Name="BPMFlag"; - InitCommand=cmd(x,32;y,-8;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); - SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0); - MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;); - }; - -- BPM Label - LoadFont("Common Normal") .. { - Name="BPMLabel"; - Text="BPM"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; - -- BPM Display - Def.RollingNumbers { - Name="BPMText"; - File=THEME:GetPathF("Common","Normal"); - InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); - OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); - BeginCommand=cmd(playcommand,"Set"); - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - Song = GAMESTATE:GetCurrentSong(); - BPMs = Song:GetDisplayBpms() or {0,0}; - -- reset numbers - self:targetnumber( clamp(BPMs[1],0,9999) ); - -- (force once) - if (self:getaux() == 0) then - self:settext(clamp(BPMs[1],0,9999)); - self:aux( 1 ); - end; - end; - }; +local switchTime = 2; +local bThen, bNow, bMultipleBPMs; +local iCurrent = 0; +local Song, BPMs; +local updateTimer = function(self, fDeltaTime) + local c = self:GetChildren(); + -- use aux as a timer internally. + self:aux( self:getaux() + fDeltaTime ); + -- debug + -- c.BPMText:settextf("d:%0.16f (a:%0.2f)",fDeltaTime,self:getaux()); + bNow = (math.floor( self:getaux() % switchTime ) == 0) and true or false; + local bChanged = (bThen == bNow); + -- Toggle current index + if bChanged then + iCurrent = 1 - iCurrent; + if ( BPMs[1] == BPMs[2] ) then + bMultipleBPMs = false; + c.BPMText:targetnumber(clamp(BPMs[1],0,9999)); + else + bMultipleBPMs = true; + c.BPMText:targetnumber(clamp(BPMs[1+iCurrent],0,9999)); + end; + end; + -- + -- + bThen = (math.floor( self:getaux() % 2 ) ~= 0) and true or false; +end; +return Def.ActorFrame { + BeginCommand=function(self) + self:SetUpdateFunction( updateTimer ); + end; + CurrentSongChangedMessageCommand=function(self) + self:aux(0); + self:playcommand( GAMESTATE:GetCurrentSong():GetTimingData():HasBPMChanges() and "MultipleBPM" or "SingleBPM" ); + end; + -- BPM Background + Def.Quad { + Name="BPMBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- BPM Multiple Warning + Def.Quad { + Name="BPMFlag"; + InitCommand=cmd(x,32;y,-8;basezoomx,24;basezoomy,4;fadeleft,0.2;faderight,0.2;diffuse,ThemeColor.Primary;thump,1;effectclock,'beatnooffset'); + SingleBPMCommand=cmd(finishtweening;decelerate,0.1;zoom,0;zoomx,8;diffusealpha,0); + MultipleBPMCommand=cmd(finishtweening;smooth,0.05;zoom,1;diffusealpha,1;); + }; + -- BPM Label + LoadFont("Common Normal") .. { + Name="BPMLabel"; + Text="BPM"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- BPM Display + Def.RollingNumbers { + Name="BPMText"; + File=THEME:GetPathF("Common","Normal"); + InitCommand=cmd(Load,"RollingNumbersBPMDisplay"); + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + Song = GAMESTATE:GetCurrentSong(); + BPMs = Song:GetDisplayBpms() or {0,0}; + -- reset numbers + self:targetnumber( clamp(BPMs[1],0,9999) ); + -- (force once) + if (self:getaux() == 0) then + self:settext(clamp(BPMs[1],0,9999)); + self:aux( 1 ); + end; + end; + }; }; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua index 9927385f00..7fd7af834b 100644 --- a/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic PaneDisplay.lua @@ -1,125 +1,125 @@ -local t = Def.ActorFrame {}; --- Background -t[#t+1] = Def.ActorFrame { Name="Background"; - Def.Quad { - InitCommand=cmd(zoomto,320+8,96;diffuse,ThemeColor.Secondary); - }; -}; --- Radar Text -local function RadarLabel( rc ) - local t = Def.ActorFrame {}; - -- - t[#t+1] = LoadFont("Common Normal") .. { - Text=string.upper(THEME:GetString("RadarCategoryShort",ToEnumShortString(rc))); - InitCommand=cmd(shadowlength,1;zoom,0.675;horizalign,right); - }; - -- - return t; -end; --- -local function RadarItem( pn, rc ) - local t = Def.ActorFrame {}; - -- - local function GetRadarValue( _rc, _pn ) - if GAMESTATE:GetCurrentSteps( _pn ) then - local Steps = GAMESTATE:GetCurrentSteps( _pn ); - local RadarValues = Steps:GetRadarValues( _pn ); - local ThisValue = RadarValues:GetValue( _rc ); - -- - return tonumber(ThisValue); - else - return 0; - end; - end; - -- - t[#t+1] = LoadFont("Common Normal") .. { - Text=string.format("%04i",GetRadarValue(rc,pn)); - InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); - SetCommand=function(self,params) - if params.Player == pn then - self:settextf("%04i",GetRadarValue(rc,pn)); - end; - end; - }; - -- - t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; - t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; - t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; - t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; - t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; - t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; - -- - return t; -end; --- -local function RadarPercent( pn, rc ) - local t = Def.ActorFrame {}; - -- - local function GetRadarValue( _rc, _pn ) - if GAMESTATE:GetCurrentSteps( _pn ) then - local Steps = GAMESTATE:GetCurrentSteps( _pn ); - local RadarValues = Steps:GetRadarValues( _pn ); - local ThisValue = RadarValues:GetValue( _rc ); - -- - return tonumber(ThisValue); - else - return 0; - end; - end; - -- - t[#t+1] = LoadFont("Common Normal") .. { - Text=string.format("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); - InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); - SetCommand=function(self,params) - if params.Player == pn then - self:settextf("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); - end; - end; - }; - -- - t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; - t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; - t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; - t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; - t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; - t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; - -- - return t; -end; --- -for index,rc in ipairs(RadarCategory) do - if index > 5 then - local VisualIndex = index-6 - local VertOffset = ( VisualIndex % 4 ) * 16; - local HorizOffset = math.floor( (VisualIndex)/4 ) * 156; - t[#t+1] = Def.ActorFrame { - Name="RadarCategoryRow" .. tonumber(index-5); - InitCommand=cmd(x,-96+HorizOffset;y,-10+VertOffset); - -- - RadarLabel(rc); - RadarItem(PLAYER_1, rc) .. { InitCommand=cmd(x,-96-8); }; - RadarItem(PLAYER_2, rc) .. { InitCommand=cmd(x,-64+4); }; - }; - end -end; --- -for index,rc in ipairs(RadarCategory) do - if index < 6 then - local HorizOffset = (index-1) * 64; - t[#t+1] = Def.ActorFrame { - Name="RadarCategoryRow" .. tonumber(index-5); - InitCommand=cmd(x,-148+HorizOffset;y,-33); - -- - RadarLabel(rc); - RadarPercent(PLAYER_1, rc) .. { InitCommand=cmd(x,-104;y,-7); }; - RadarPercent(PLAYER_2, rc) .. { InitCommand=cmd(x,-104;y,7); }; - }; - end -end; --- ---[[ for index,rc in ipairs(RadarCategory) do - if index > 5 then - t[#t+1] = LoadFont("Common Normal") .. { Text=ToEnumShortString(rc); InitCommand=cmd(zoom,0.5;shadowlength,1;y,(index-5)*10); }; - end -end; ]] +local t = Def.ActorFrame {}; +-- Background +t[#t+1] = Def.ActorFrame { Name="Background"; + Def.Quad { + InitCommand=cmd(zoomto,320+8,96;diffuse,ThemeColor.Secondary); + }; +}; +-- Radar Text +local function RadarLabel( rc ) + local t = Def.ActorFrame {}; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.upper(THEME:GetString("RadarCategoryShort",ToEnumShortString(rc))); + InitCommand=cmd(shadowlength,1;zoom,0.675;horizalign,right); + }; + -- + return t; +end; +-- +local function RadarItem( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%04i",GetRadarValue(rc,pn)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%04i",GetRadarValue(rc,pn)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +local function RadarPercent( pn, rc ) + local t = Def.ActorFrame {}; + -- + local function GetRadarValue( _rc, _pn ) + if GAMESTATE:GetCurrentSteps( _pn ) then + local Steps = GAMESTATE:GetCurrentSteps( _pn ); + local RadarValues = Steps:GetRadarValues( _pn ); + local ThisValue = RadarValues:GetValue( _rc ); + -- + return tonumber(ThisValue); + else + return 0; + end; + end; + -- + t[#t+1] = LoadFont("Common Normal") .. { + Text=string.format("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + InitCommand=cmd(shadowlength,1;x,128;zoom,0.675;diffuse,PlayerColor(pn);playcommand,"Set"); + SetCommand=function(self,params) + if params.Player == pn then + self:settextf("%03i%%",math.floor(GetRadarValue(rc,pn)*100)); + end; + end; + }; + -- + t.CurrentSongChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentCourseChangedMessageCommand=function(self) self:playcommand("Set"); end; + t.CurrentTrailP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentTrailP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + t.CurrentStepsP1ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_1}); end; + t.CurrentStepsP2ChangedMessageCommand=function(self) self:playcommand("Set",{ Player = PLAYER_2}); end; + -- + return t; +end; +-- +for index,rc in ipairs(RadarCategory) do + if index > 5 then + local VisualIndex = index-6 + local VertOffset = ( VisualIndex % 4 ) * 16; + local HorizOffset = math.floor( (VisualIndex)/4 ) * 156; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-96+HorizOffset;y,-10+VertOffset); + -- + RadarLabel(rc); + RadarItem(PLAYER_1, rc) .. { InitCommand=cmd(x,-96-8); }; + RadarItem(PLAYER_2, rc) .. { InitCommand=cmd(x,-64+4); }; + }; + end +end; +-- +for index,rc in ipairs(RadarCategory) do + if index < 6 then + local HorizOffset = (index-1) * 64; + t[#t+1] = Def.ActorFrame { + Name="RadarCategoryRow" .. tonumber(index-5); + InitCommand=cmd(x,-148+HorizOffset;y,-33); + -- + RadarLabel(rc); + RadarPercent(PLAYER_1, rc) .. { InitCommand=cmd(x,-104;y,-7); }; + RadarPercent(PLAYER_2, rc) .. { InitCommand=cmd(x,-104;y,7); }; + }; + end +end; +-- +--[[ for index,rc in ipairs(RadarCategory) do + if index > 5 then + t[#t+1] = LoadFont("Common Normal") .. { Text=ToEnumShortString(rc); InitCommand=cmd(zoom,0.5;shadowlength,1;y,(index-5)*10); }; + end +end; ]] return t \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua index d12c667684..f03bcc4afb 100644 --- a/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic SortDisplay.lua @@ -1,25 +1,25 @@ -return Def.ActorFrame { - -- Time Background - Def.Quad { - Name="SortBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- Time Label - LoadFont("Common Normal") .. { - Name="SortLabel"; - Text="SORT"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; - -- Time Text - LoadFont("Common Normal") .. { - Name="SortText"; - OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); - BeginCommand=cmd(playcommand,"Set"); - SortOrderChangedMessageCommand=cmd(playcommand,"Set";); - SetCommand=function(self) - local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() ); - -- reset numbers - self:settext(s); - end; - }; +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="SortBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="SortLabel"; + Text="SORT"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="SortText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + SortOrderChangedMessageCommand=cmd(playcommand,"Set";); + SetCommand=function(self) + local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() ); + -- reset numbers + self:settext(s); + end; + }; }; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua index 962cc8ad37..823e5fefac 100644 --- a/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua +++ b/Themes/new/Graphics/ScreenSelectMusic TimeDisplay.lua @@ -1,28 +1,28 @@ -return Def.ActorFrame { - -- Time Background - Def.Quad { - Name="TimeBackground"; - InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); - }; - -- Time Label - LoadFont("Common Normal") .. { - Name="TimeLabel"; - Text="TIME"; - InitCommand=cmd(x,-32;y,-8;zoom,0.5); - }; - -- Time Text - LoadFont("Common Normal") .. { - Name="BPMText"; - OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); - BeginCommand=cmd(playcommand,"Set"); - CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); - SetCommand=function(self) - Song = GAMESTATE:GetCurrentSong(); - Time = Song:GetStepsSeconds() or 0; - Minutes = math.floor( Time / 60 ); - Seconds = tonumber(Time) - tonumber(Minutes*60); - -- reset numbers - self:settextf("%02i:%02i",Minutes,Seconds); - end; - }; +return Def.ActorFrame { + -- Time Background + Def.Quad { + Name="TimeBackground"; + InitCommand=cmd(zoomto,96,32;diffuse,ThemeColor.Secondary;shadowlength,2;shadowcolor,Color.Alpha(ColorDarkTone(ThemeColor.Primary),0.95)); + }; + -- Time Label + LoadFont("Common Normal") .. { + Name="TimeLabel"; + Text="TIME"; + InitCommand=cmd(x,-32;y,-8;zoom,0.5); + }; + -- Time Text + LoadFont("Common Normal") .. { + Name="BPMText"; + OnCommand=cmd(horizalign,left;x,-46;y,6;zoom,0.75;maxwidth,92/0.75;); + BeginCommand=cmd(playcommand,"Set"); + CurrentSongChangedMessageCommand=cmd(playcommand,"Set"); + SetCommand=function(self) + Song = GAMESTATE:GetCurrentSong(); + Time = Song:GetStepsSeconds() or 0; + Minutes = math.floor( Time / 60 ); + Seconds = tonumber(Time) - tonumber(Minutes*60); + -- reset numbers + self:settextf("%02i:%02i",Minutes,Seconds); + end; + }; }; \ No newline at end of file diff --git a/Themes/new/Graphics/ScreenWithMenuElements Header.lua b/Themes/new/Graphics/ScreenWithMenuElements Header.lua index 9e0b9ed996..095989bcaa 100644 --- a/Themes/new/Graphics/ScreenWithMenuElements Header.lua +++ b/Themes/new/Graphics/ScreenWithMenuElements Header.lua @@ -1,98 +1,98 @@ -local t = Def.ActorFrame {}; -local function UpdateTriangleFrame(self) - local curBPS = GAMESTATE:GetSongBPS() and GAMESTATE:GetSongBPS() or 1; - local c = self:GetChildren(); - local auxRate = 3; - -- - c.TriangleFrame:aux( math.mod( c.TriangleFrame:getaux() + ( curBPS * auxRate ), 360) ); - c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 0.75 ) ); - c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.35) ); - -- c.TriangleFrame:x( math.cos( math.rad(c.TriangleFrame:getaux()) ) * 8 ); - -- c.TriangleFrame:y(math.sin( math.rad(c.TriangleFrame:getaux()) ) * 8); -end; -t[#t+1] = Def.ActorFrame { - -- Base - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - zoomto,SCREEN_WIDTH,48; - diffuse,ThemeColor.Secondary); - }; - -- Inner Shadow - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - y,48; - zoomto,SCREEN_WIDTH,5; - diffuse,Color('Black');diffusealpha,0.25; - fadetop,1); - }; - -- Inner Hard Line - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,bottom; - y,48; - zoomto,SCREEN_WIDTH,1; - diffuse,Color('Black');diffusealpha,0.125;); - }; - -- Outer White Fade - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - y,48; - zoomto,SCREEN_WIDTH,8; - diffuse,Color('White');diffusealpha,0.125; - fadebottom,1); - }; - -- Outer White Line - Def.Quad { - InitCommand=cmd(horizalign,left;vertalign,top; - y,48; - zoomto,SCREEN_WIDTH,1; - diffuse,Color('White');diffusealpha,0.125;); - }; -} -t[#t+1] = Def.ActorFrame { Name="TriangleFrame"; - InitCommand=cmd(x,24;y,32); - BeginCommand=function(self) - self:SetUpdateFunction( UpdateTriangleFrame ); - end; - -- Triangle Beaterator - Def.ActorFrame { - Name="TriangleFrame"; ---~ OnCommand=cmd(thump,2;effectclock,'beatnooffset';effectmagnitude,1,1.135,1); - -- - LoadActor(THEME:GetPathG("_primitive","Triangle")) .. { - Name="Triangle"; - OnCommand=cmd(diffuse,ThemeColor.Primary;zoom,0.75); - }; - }; -}; -t[#t+1] = Def.ActorFrame { - -- Text - LoadFont("Common Normal") .. { - Text=string.upper(THEME:GetString( Var "LoadingScreen","HeaderText")); - InitCommand=cmd(horizalign,left; - x,16;y,16; - diffuse,ThemeColor.Primary; - zoom,0.875; - ); - }; - -- // ---[[ LoadFont("Common Normal") .. { - Text="//"; - InitCommand=cmd(horizalign,left; - x,16;y,32; - diffuse,color("0.7,0.7,0.7,1"); - zoom,0.5; - ); - }; ]] - -- Textem - LoadFont("Common Normal") .. { - Text=string.upper("SELECT AND CHOOSE THE BEST ONE"); - InitCommand=cmd(horizalign,left; - x,34;y,32; - diffuse,color("0.7,0.7,0.7,1"); - zoom,0.5; - skewx,-0.125; - ); - }; -}; - +local t = Def.ActorFrame {}; +local function UpdateTriangleFrame(self) + local curBPS = GAMESTATE:GetSongBPS() and GAMESTATE:GetSongBPS() or 1; + local c = self:GetChildren(); + local auxRate = 3; + -- + c.TriangleFrame:aux( math.mod( c.TriangleFrame:getaux() + ( curBPS * auxRate ), 360) ); + c.TriangleFrame:rotationz( c.TriangleFrame:GetRotationZ() + ( curBPS * 0.75 ) ); + c.TriangleFrame:zoom( 1.125 - ((c.TriangleFrame:getaux() / 360) * 0.35) ); + -- c.TriangleFrame:x( math.cos( math.rad(c.TriangleFrame:getaux()) ) * 8 ); + -- c.TriangleFrame:y(math.sin( math.rad(c.TriangleFrame:getaux()) ) * 8); +end; +t[#t+1] = Def.ActorFrame { + -- Base + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + zoomto,SCREEN_WIDTH,48; + diffuse,ThemeColor.Secondary); + }; + -- Inner Shadow + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + y,48; + zoomto,SCREEN_WIDTH,5; + diffuse,Color('Black');diffusealpha,0.25; + fadetop,1); + }; + -- Inner Hard Line + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,bottom; + y,48; + zoomto,SCREEN_WIDTH,1; + diffuse,Color('Black');diffusealpha,0.125;); + }; + -- Outer White Fade + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + y,48; + zoomto,SCREEN_WIDTH,8; + diffuse,Color('White');diffusealpha,0.125; + fadebottom,1); + }; + -- Outer White Line + Def.Quad { + InitCommand=cmd(horizalign,left;vertalign,top; + y,48; + zoomto,SCREEN_WIDTH,1; + diffuse,Color('White');diffusealpha,0.125;); + }; +} +t[#t+1] = Def.ActorFrame { Name="TriangleFrame"; + InitCommand=cmd(x,24;y,32); + BeginCommand=function(self) + self:SetUpdateFunction( UpdateTriangleFrame ); + end; + -- Triangle Beaterator + Def.ActorFrame { + Name="TriangleFrame"; +--~ OnCommand=cmd(thump,2;effectclock,'beatnooffset';effectmagnitude,1,1.135,1); + -- + LoadActor(THEME:GetPathG("_primitive","Triangle")) .. { + Name="Triangle"; + OnCommand=cmd(diffuse,ThemeColor.Primary;zoom,0.75); + }; + }; +}; +t[#t+1] = Def.ActorFrame { + -- Text + LoadFont("Common Normal") .. { + Text=string.upper(THEME:GetString( Var "LoadingScreen","HeaderText")); + InitCommand=cmd(horizalign,left; + x,16;y,16; + diffuse,ThemeColor.Primary; + zoom,0.875; + ); + }; + -- // +--[[ LoadFont("Common Normal") .. { + Text="//"; + InitCommand=cmd(horizalign,left; + x,16;y,32; + diffuse,color("0.7,0.7,0.7,1"); + zoom,0.5; + ); + }; ]] + -- Textem + LoadFont("Common Normal") .. { + Text=string.upper("SELECT AND CHOOSE THE BEST ONE"); + InitCommand=cmd(horizalign,left; + x,34;y,32; + diffuse,color("0.7,0.7,0.7,1"); + zoom,0.5; + skewx,-0.125; + ); + }; +}; + return t \ No newline at end of file From 5fd5091899f56261c325a47339daaf8a1d48fc4a Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Thu, 10 May 2012 07:29:48 -0500 Subject: [PATCH 28/41] i appear to have forgotten my own function names --- .../BGAnimations/ScreenStageInformation underlay/default.lua | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua index 9ced34afd1..2f0471e7aa 100644 --- a/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua +++ b/Themes/default/BGAnimations/ScreenStageInformation underlay/default.lua @@ -79,12 +79,10 @@ t[#t+1] = Def.ActorFrame { --Get scoring ready. if not GAMESTATE:IsCourseMode() then ---[[ - InitScoringModes( + InitScoreKeepers( GAMESTATE:IsSideJoined(PLAYER_1) and GetUserPref("UserPrefScoringMode"), GAMESTATE:IsSideJoined(PLAYER_2) and GetUserPref("UserPrefScoringMode") ) -]] end return t From dcce92d22f537ee0194e26d976fa39c81aef263c Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 14 May 2012 00:25:49 -0500 Subject: [PATCH 29/41] I'm going to do something ELSE for this alpha in terms of toggling things. if enough people legit complain, I'll revert it. --- Themes/_fallback/metrics.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 194bbd99b9..9528f5255d 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1152,7 +1152,8 @@ RequireStepOnMines=false InitialHoldLife=IsGame("pump") and 0.05 or 1 MaxHoldLife=1 RollBodyIncrementsCombo=false -ScoreMissedHoldsAndRolls=not IsGame("pump") +#ScoreMissedHoldsAndRolls=not IsGame("pump") +ScoreMissedHoldsAndRolls=not IsGame("pump") and not IsGame("dance") PercentUntilColorCombo=0.25 ComboStoppedAt=50 AttackRunTimeRandom=6 From 058c90aceb9532c16e59c17f31819fd7c199b597 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 14 May 2012 00:25:58 -0500 Subject: [PATCH 30/41] [Course] Added AllSongsAreFixed() Lua binding. --- Docs/Changelog_sm5.txt | 6 +++++- src/Course.cpp | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index a937b89736..fad6cbd8e3 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,8 +4,11 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ -================================================================================ +2012/05/14 +---------- +* [Course] Added AllSongsAreFixed() Lua binding. +================================================================================ StepMania 5.0 alpha 2 | 20120504 -------------------------------------------------------------------------------- @@ -128,6 +131,7 @@ set MemoryCards=1 in Save/Preferences.ini (or Save/Static.ini). [AJ] * [ScreenSelectMusic] Added PlaySoundOnEnteringOptionsMenu metric. [AJ] * [MusicWheel, WheelBase] Added collapse sound. [AJ] +================================================================================ StepMania 5.0 alpha 1a | 20120219 -------------------------------------------------------------------------------- diff --git a/src/Course.cpp b/src/Course.cpp index ac591041b1..6736109b63 100644 --- a/src/Course.cpp +++ b/src/Course.cpp @@ -1116,6 +1116,7 @@ public: return 1; } DEFINE_METHOD( IsRanking, IsRanking() ) + DEFINE_METHOD( AllSongsAreFixed, AllSongsAreFixed() ) LunaCourse() { @@ -1146,6 +1147,7 @@ public: ADD_METHOD( IsAnEdit ); ADD_METHOD( IsPlayableIn ); ADD_METHOD( IsRanking ); + ADD_METHOD( AllSongsAreFixed ); } }; From 650723a7e5b0c8a9061804798e98d89df1b08cab Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 14 May 2012 21:48:42 -0500 Subject: [PATCH 31/41] add Double5 to techno list, need to add Versus modes at some point --- Themes/_fallback/Scripts/03 Gameplay.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Themes/_fallback/Scripts/03 Gameplay.lua b/Themes/_fallback/Scripts/03 Gameplay.lua index 863f130900..f8b0bf43b0 100644 --- a/Themes/_fallback/Scripts/03 Gameplay.lua +++ b/Themes/_fallback/Scripts/03 Gameplay.lua @@ -48,7 +48,8 @@ function GameCompatibleModes() beat = "5Keys,7Keys,10Keys,14Keys,Versus5,Versus7", kb7 = "KB7", para = "Single", - techno = "Single4,Single5,Single8,Double4,Double8", + -- todo: add versus modes for technomotion + techno = "Single4,Single5,Single8,Double4,Double5,Double8", lights = "Single" -- lights shouldn't be playable } return Modes[CurGameName()] From d35089a75f2f8191658f33de2d032d62ffa9f2c1 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 14 May 2012 21:54:17 -0500 Subject: [PATCH 32/41] metrics for versus techno stuff --- Themes/_fallback/metrics.ini | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 9528f5255d..d59611d896 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1874,20 +1874,34 @@ DefaultChoice="Single" ChoiceNames=GameCompatibleModes() # OptionOrderAuto="1:2,2:1" +# dance, pump, and likely others ChoiceSingle="name,Single;style,single;text,Single;screen,"..Branch.AfterSelectStyle() ChoiceDouble="name,Double;style,double;text,Double;screen,"..Branch.AfterSelectStyle() ChoiceSolo="name,Solo;style,solo;text,Solo;screen,"..Branch.AfterSelectStyle() ChoiceVersus="name,Versus;style,versus;text,Versus;screen,"..Branch.AfterSelectStyle() ChoiceCouple="name,Couple;style,couple;text,Couple;screen,"..Branch.AfterSelectStyle() ChoiceRoutine="name,Routine;style,routine;text,Routine;screen,"..Branch.AfterSelectStyle() +# pump ChoiceHalfDouble="name,HalfDouble;style,halfdouble;text,HalfDouble;screen,"..Branch.AfterSelectStyle() +# beat Choice5Keys="name,5Keys;style,single5;text,5Keys;screen,"..Branch.AfterSelectStyle() Choice7Keys="name,7Keys;style,single7;text,7Keys;screen,"..Branch.AfterSelectStyle() ChoiceVersus5="name,Versus5;style,versus5;text,Versus5;screen,"..Branch.AfterSelectStyle() ChoiceVersus7="name,Versus7;style,versus7;text,Versus7;screen,"..Branch.AfterSelectStyle() Choice10Keys="name,10Keys;style,double5;text,10Keys;screen,"..Branch.AfterSelectStyle() Choice14Keys="name,14Keys;style,double7;text,14Keys;screen,"..Branch.AfterSelectStyle() +# kb7 ChoiceKB7="name,kb7;style,single;screen,"..Branch.AfterSelectStyle() +# techno +ChoiceSingle4="name,Single4;style,single4;screen,"..Branch.AfterSelectStyle() +ChoiceSingle5="name,Single5;style,single5;screen,"..Branch.AfterSelectStyle() +ChoiceSingle8="name,Single8;style,single8;screen,"..Branch.AfterSelectStyle() +ChoiceVersus4="name,Versus4;style,versus4;screen,"..Branch.AfterSelectStyle() +ChoiceVersus5="name,Versus5;style,versus5;screen,"..Branch.AfterSelectStyle() +ChoiceVersus8="name,Versus8;style,versus8;screen,"..Branch.AfterSelectStyle() +ChoiceDouble4="name,Double4;style,double4;screen,"..Branch.AfterSelectStyle() +ChoiceDouble5="name,Double5;style,double5;screen,"..Branch.AfterSelectStyle() +ChoiceDouble8="name,Double8;style,double8;screen,"..Branch.AfterSelectStyle() # PerChoiceScrollElement=false PerChoiceIconElement=false From 495aa1ef1428c0e057346696ca289bca4b5be4d8 Mon Sep 17 00:00:00 2001 From: Flameshadowxeroshin Date: Tue, 15 May 2012 23:04:46 -0500 Subject: [PATCH 33/41] some things. --- Themes/_fallback/Scripts/02 Utilities.lua | 15 ++++++++++ .../Scripts/05 NewScoringFrontend.lua | 19 +++++++++++- .../_fallback/Scripts/05 ScoringEngine2.lua | 29 ++++++++++++++++++- 3 files changed, 61 insertions(+), 2 deletions(-) diff --git a/Themes/_fallback/Scripts/02 Utilities.lua b/Themes/_fallback/Scripts/02 Utilities.lua index c9337d3581..9bd1500e7c 100644 --- a/Themes/_fallback/Scripts/02 Utilities.lua +++ b/Themes/_fallback/Scripts/02 Utilities.lua @@ -141,6 +141,15 @@ function table.find(t, sFind) return nil end +--Get the count of all items in a table +function table.itemcount(t) + local i = 0 + while next(t)~=nil do + i=i+1 + end + return i +end + function math.round(num, pre) if pre and pre < 0 then pre = 0 end local mult = 10^(pre or 0) @@ -201,6 +210,12 @@ function IsFreePlay() return IsArcade() and (GAMESTATE:GetCoinMode() == 'CoinMode_Free') or false end +function ArgsIfPlayerJoinedOrNil(arg1,arg2) + if arg1==nil then arg1=arg2 + elseif arg2==nil then arg2=arg1 end + return (GAMESTATE:IsSideJoined(PLAYER_1) and arg1 or nil),(GAMESTATE:IsSideJoined(PLAYER_2) and arg2 or nil) +end + function Center1Player() local styleType = GAMESTATE:GetCurrentStyle():GetStyleType() -- always center in OnePlayerTwoSides. diff --git a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua index a523cbff8e..0740ce18d5 100644 --- a/Themes/_fallback/Scripts/05 NewScoringFrontend.lua +++ b/Themes/_fallback/Scripts/05 NewScoringFrontend.lua @@ -6,11 +6,12 @@ It's unnecessary and problematic.]] ScoringModes={} local function CreateOldScoringShim(name) + local func = Scoring[name] return function(judg,pss,player,mode) judg,pss,player,mode=coroutine.yield() while true do if mode=="update" then - Scoring[name](judg,pss) + func(judg,pss) judg,pss,player,mode=coroutine.yield(pss:GetScore(),pss:GetCurMaxScore()) elseif mode=="finalize" then return pss:GetScore(),pss:GetCurMaxScore() @@ -134,6 +135,22 @@ for k,v in pairs(Scoring) do end end +--if you are using the old Scoring system in the standard way, your theme will not need to be updated +local OldCallShimMt={ + __index=function(t,k,v) + return function(judg, _) + if GetNumReadiedScoreKeepers()==0 then + --lazy programming + InitScoreKeepers(ArgsIfPlayerJoinedOrNil(v)) + end + UpdateScoreKeepers(judg) + end + end +} + +Scoring={} +setmetatable(Scoring,OldCallShimMt) + function UserPrefScoringMode() local baseChoices = {} for k,v in pairs(ScoringModes) do table.insert(baseChoices,k) end diff --git a/Themes/_fallback/Scripts/05 ScoringEngine2.lua b/Themes/_fallback/Scripts/05 ScoringEngine2.lua index e675cd9b34..4519d6ef2c 100644 --- a/Themes/_fallback/Scripts/05 ScoringEngine2.lua +++ b/Themes/_fallback/Scripts/05 ScoringEngine2.lua @@ -23,6 +23,10 @@ local function CoroutineIsGood(cr) return coroutine.status(cr)=="suspended" end +function GetNumReadiedScoreKeepers() + return table.itemcount(ReadiedScoreKeepers) +end + function InitScoreKeepers(p1Mode, p2Mode) local newStgK = {pcall(GameState.GetStageSeed,GAMESTATE)} assert(newStgK[1], "it's too early to initialize the ScoreKeepers, the GameState isn't ready yet") @@ -115,4 +119,27 @@ function FinalizeScoreKeepers() end end return true -end \ No newline at end of file +end + +-- (c) 2012 Jack Walstrom and the spinal shark collective +-- All rights reserved. +-- +-- Permission is hereby granted, free of charge, to any person obtaining a +-- copy of this software and associated documentation files (the +-- "Software"), to deal in the Software without restriction, including +-- without limitation the rights to use, copy, modify, merge, publish, +-- distribute, and/or sell copies of the Software, and to permit persons to +-- whom the Software is furnished to do so, provided that the above +-- copyright notice(s) and this permission notice appear in all copies of +-- the Software and that both the above copyright notice(s) and this +-- permission notice appear in supporting documentation. +-- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF +-- THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS +-- INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT +-- OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +-- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +-- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +-- PERFORMANCE OF THIS SOFTWARE. \ No newline at end of file From b02a4ae096c308ddd178a9af60f037d2303bd747 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 16 May 2012 01:31:00 -0500 Subject: [PATCH 34/41] [ScreenWithMenuElements] Add DelayMusicSeconds metric. requested in issue 540: http://ssc.ajworld.net/sm-ssc/bugtracker/view.php?id=540 --- Docs/Changelog_sm5.txt | 4 ++++ Themes/_fallback/metrics.ini | 1 + src/ScreenWithMenuElements.cpp | 9 +++++++++ src/ScreenWithMenuElements.h | 1 + 4 files changed, 15 insertions(+) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index fad6cbd8e3..7c23e67d14 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,10 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +2012/05/16 +---------- +* [ScreenWithMenuElements] Added DelayMusicSeconds metric. + 2012/05/14 ---------- * [Course] Added AllSongsAreFixed() Lua binding. diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index d59611d896..631d525f25 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -1578,6 +1578,7 @@ TimerSeconds=-1 FirstUpdateCommand= PlayMusic=true MusicAlignBeat=true +DelayMusicSeconds=0 StopMusicOnBack=false WaitForChildrenBeforeTweeningOut=false CancelTransitionsOut=false diff --git a/src/ScreenWithMenuElements.cpp b/src/ScreenWithMenuElements.cpp index 8377a5fb75..0db311fd6d 100644 --- a/src/ScreenWithMenuElements.cpp +++ b/src/ScreenWithMenuElements.cpp @@ -31,6 +31,7 @@ void ScreenWithMenuElements::Init() { PLAY_MUSIC.Load( m_sName, "PlayMusic" ); MUSIC_ALIGN_BEAT.Load( m_sName, "MusicAlignBeat" ); + DELAY_MUSIC_SECONDS.Load( m_sName, "DelayMusicSeconds" ); CANCEL_TRANSITIONS_OUT.Load( m_sName, "CancelTransitionsOut" ); TIMER_SECONDS.Load( m_sName, "TimerSeconds" ); TIMER_METRICS_GROUP.Load( m_sName, "TimerMetricsGroup" ); @@ -217,7 +218,11 @@ void ScreenWithMenuElements::StartPlayingMusic() { pmp.sFile = sMusicPathFromLua; pmp.bAlignBeat = MUSIC_ALIGN_BEAT; + // TODO: load other params into pmp here -aj + if( DELAY_MUSIC_SECONDS > 0.0f ) + pmp.fStartSecond = -DELAY_MUSIC_SECONDS; + SOUND->PlayMusic( pmp ); } else @@ -238,6 +243,10 @@ void ScreenWithMenuElements::StartPlayingMusic() { pmp.sFile = m_sPathToMusic; pmp.bAlignBeat = MUSIC_ALIGN_BEAT; + + if( DELAY_MUSIC_SECONDS > 0.0f ) + pmp.fStartSecond = -DELAY_MUSIC_SECONDS; + SOUND->PlayMusic( pmp ); } } diff --git a/src/ScreenWithMenuElements.h b/src/ScreenWithMenuElements.h index 6027387120..a671e9cfd9 100644 --- a/src/ScreenWithMenuElements.h +++ b/src/ScreenWithMenuElements.h @@ -49,6 +49,7 @@ protected: ThemeMetric PLAY_MUSIC; ThemeMetric MUSIC_ALIGN_BEAT; + ThemeMetric DELAY_MUSIC_SECONDS; ThemeMetric CANCEL_TRANSITIONS_OUT; ThemeMetric TIMER_SECONDS; ThemeMetric TIMER_METRICS_GROUP; From 9d3b2f10dd548c92c05c5a1dda893b0061c0067e Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 16 May 2012 13:13:58 -0500 Subject: [PATCH 35/41] fix eval showing one stage later than expected --- .../ScreenWithMenuElements StageDisplay.lua | 47 +++++++++++-------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua index 5394ab5d25..e0baff0761 100644 --- a/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua +++ b/Themes/default/Graphics/ScreenWithMenuElements StageDisplay.lua @@ -6,25 +6,34 @@ local t = Def.ActorFrame {}; t[#t+1] = Def.ActorFrame { LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,12); LoadFont("Common Normal") .. { - InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set"); - SetCommand=function(self) - if GAMESTATE:GetCurrentCourse() then - self:settext( GAMESTATE:GetCurrentStageIndex()+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); - elseif GAMESTATE:IsEventMode() then - self:settextf("Stage %s", curStageIndex+1); - else - if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then - self:settextf("%s", ToEnumShortString(curStage)); - self:zoom(0.75); - else - self:settextf("%s Stage", ToEnumShortString(curStage)); - self:zoom(1); - end; - end; - -- StepMania is being stupid so we have to do this here; - self:diffuse(StageToColor(curStage)); - self:diffusetopedge(ColorLightTone(StageToColor(curStage))); - end; + InitCommand=cmd(y,-1;shadowlength,1;); + BeginCommand=function(self) + local top = SCREENMAN:GetTopScreen() + if top then + if not string.find(top:GetName(),"ScreenEvaluation") then + curStageIndex = curStageIndex + 1 + end + end + self:playcommand("Set") + end; + SetCommand=function(self) + if GAMESTATE:GetCurrentCourse() then + self:settext( curStageIndex+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() ); + elseif GAMESTATE:IsEventMode() then + self:settextf("Stage %s", curStageIndex); + else + if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then + self:settextf("%s", ToEnumShortString(curStage)); + self:zoom(0.75); + else + self:settextf("%s Stage", ToEnumShortString(curStage)); + self:zoom(1); + end; + end; + -- StepMania is being stupid so we have to do this here; + self:diffuse(StageToColor(curStage)); + self:diffusetopedge(ColorLightTone(StageToColor(curStage))); + end; }; }; return t \ No newline at end of file From a476e34619f66b3439f592c7b342498eb5b8c57f Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Wed, 16 May 2012 13:14:13 -0500 Subject: [PATCH 36/41] [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference to be called via the "conf" command. --- Docs/Changelog_sm5.txt | 6 ++++-- Themes/_fallback/Languages/en.ini | 2 ++ Themes/_fallback/metrics.ini | 3 ++- src/ScreenOptionsMasterPrefs.cpp | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 7c23e67d14..295f47fd0e 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -6,11 +6,13 @@ ________________________________________________________________________________ 2012/05/16 ---------- -* [ScreenWithMenuElements] Added DelayMusicSeconds metric. +* [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ] +* [ScreenOptionsMasterPrefs] Allow for FastLoadAdditionalSongs preference + to be called via the "conf" command. [AJ] 2012/05/14 ---------- -* [Course] Added AllSongsAreFixed() Lua binding. +* [Course] Added AllSongsAreFixed() Lua binding. [AJ] ================================================================================ StepMania 5.0 alpha 2 | 20120504 diff --git a/Themes/_fallback/Languages/en.ini b/Themes/_fallback/Languages/en.ini index 9677f6624d..2489e45e35 100644 --- a/Themes/_fallback/Languages/en.ini +++ b/Themes/_fallback/Languages/en.ini @@ -378,6 +378,7 @@ EventMode=When set to &oq;ON&cq;, and you can continue playing forever. Failing Exit= Fail=Fail FastLoad=If enabled, don't check songs for changes on load. +FastLoadAdditionalSongs=If enabled, don't check songs for changes to Additional Songs on load. Fill Machine Stats= Game=Change the current game type with this option. GetRankingName=Determines if name entry should never be shown, always be shown, or shown when the course is listed on the high scores screen. @@ -916,6 +917,7 @@ Exit=Exit Fail=Fail Fakes=Fakes FastLoad=Fast\nLoad +FastLoadAdditionalSongs=Fast Load\nAdditional Songs File1 Global BGAnimation=File1 Global BGAnimation File1 Global Movie=File1 Global Movie File1 Global Movie (Group + Genre)=File1 Global Movie (Group + Genre) diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 631d525f25..e445c49c40 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -2888,7 +2888,7 @@ Line20="conf,VisualDelaySeconds" Fallback="ScreenOptionsServiceChild" NextScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService" -LineNames="Score,3,4,8,11,13,14,15,16,28,29,30" +LineNames="Score,3,4,8,11,13,14,15,16,28,29,30,31" LineScore="lua,UserPrefScoringMode()" Line3="conf,TimingWindowScale" Line4="conf,LifeDifficulty" @@ -2901,6 +2901,7 @@ Line16="conf,UseUnlockSystem" Line28="conf,AutogenSteps" Line29="conf,AutogenGroupCourses" Line30="conf,FastLoad" +Line31="conf,FastLoadAdditionalSongs" # unused options #Line2="conf,ScoringType" diff --git a/src/ScreenOptionsMasterPrefs.cpp b/src/ScreenOptionsMasterPrefs.cpp index a3fd2305c8..6993cefeb6 100644 --- a/src/ScreenOptionsMasterPrefs.cpp +++ b/src/ScreenOptionsMasterPrefs.cpp @@ -678,6 +678,7 @@ static void InitializeConfOptions() ADD( ConfOption( "AutogenGroupCourses", MovePref, "Off","On" ) ); ADD( ConfOption( "FastLoad", MovePref, "Off","On" ) ); + ADD( ConfOption( "FastLoadAdditionalSongs", MovePref, "Off","On" ) ); // Background options ADD( ConfOption( "RandomBackgroundMode", MovePref, "Off","Animations","Random Movies" ) ); From ea0a85406569bc284da4e830f4206b0e8764006c Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Thu, 17 May 2012 12:08:05 -0500 Subject: [PATCH 37/41] [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] --- Docs/Changelog_sm5.txt | 4 ++++ Docs/credits.txt | 3 +++ src/arch/LoadingWindow/LoadingWindow_Gtk.cpp | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index 295f47fd0e..c3e1f6ea13 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,10 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +2012/05/17 +---------- +* [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] + 2012/05/16 ---------- * [ScreenWithMenuElements] Added DelayMusicSeconds metric. [AJ] diff --git a/Docs/credits.txt b/Docs/credits.txt index e56c656a5b..d83939c271 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -141,6 +141,9 @@ Deamon007 cvpcs * Updated ffmpeg support to v0.10 +djpohly + * Various patches/fixes + ==the beta testers== [SSC Beta Testing Team] KeithD diff --git a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp index 0fbb07199c..7e1d3187d9 100644 --- a/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp +++ b/src/arch/LoadingWindow/LoadingWindow_Gtk.cpp @@ -92,7 +92,7 @@ void LoadingWindow_Gtk::SetIcon( const RageSurface *pIcon ) void LoadingWindow_Gtk::SetSplash( const RString str ) { - Module_SetSplash( str ); + Module_SetSplash( FILEMAN->ResolvePath(str) ); } void LoadingWindow_Gtk::SetProgress( const int progress ) From ae57a3f2c2eb1bd6a260af71e7b2cc5b060bf015 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Sat, 19 May 2012 00:20:30 -0500 Subject: [PATCH 38/41] [Actor] Make the xy command a source-code level command. --- Docs/Changelog_sm5.txt | 4 ++++ Themes/_fallback/Scripts/02 Actor.lua | 24 ++++-------------------- src/Actor.cpp | 2 ++ 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/Docs/Changelog_sm5.txt b/Docs/Changelog_sm5.txt index c3e1f6ea13..fb75636d41 100644 --- a/Docs/Changelog_sm5.txt +++ b/Docs/Changelog_sm5.txt @@ -4,6 +4,10 @@ The StepMania 5 Changelog covers all post-sm-ssc changes. For a list of changes from StepMania 4 alpha 5 to sm-ssc v1.2.5, see Changelog_sm-ssc.txt. ________________________________________________________________________________ +2012/05/19 +---------- +* [Actor] Made the xy command a source-code level command. + 2012/05/17 ---------- * [LoadingWindow_Gtk] Actually resolve the path to the Splash file. [djpohly] diff --git a/Themes/_fallback/Scripts/02 Actor.lua b/Themes/_fallback/Scripts/02 Actor.lua index a86bf5e864..d13ebf13c0 100644 --- a/Themes/_fallback/Scripts/02 Actor.lua +++ b/Themes/_fallback/Scripts/02 Actor.lua @@ -156,25 +156,9 @@ function Actor:scale_or_crop_background() self:zoomto(SCREEN_HEIGHT*graphicAspect,SCREEN_HEIGHT) end --- xy(actorX,actorY) --- Sets the x and y of an actor in one command. -function Actor:xy(actorX,actorY) - self:x(actorX) - self:y(actorY) -end - -function Actor:CenterX() - self:x(SCREEN_CENTER_X) -end - -function Actor:CenterY() - self:y(SCREEN_CENTER_Y) -end - -function Actor:Center() - self:x(SCREEN_CENTER_X) - self:y(SCREEN_CENTER_Y) -end +function Actor:CenterX() self:x(SCREEN_CENTER_X) end +function Actor:CenterY() self:y(SCREEN_CENTER_Y) end +function Actor:Center() self:xy(SCREEN_CENTER_X,SCREEN_CENTER_Y) end function Actor:bezier(...) local a = {...} @@ -392,7 +376,7 @@ function Actor:hidden(bHide) self:visible(not bHide) end --- (c) 2006-2011 Glenn Maynard, SSC +-- (c) 2006-2012 Glenn Maynard, the Spinal Shark Collective, et al. -- All rights reserved. -- -- Permission is hereby granted, free of charge, to any person obtaining a diff --git a/src/Actor.cpp b/src/Actor.cpp index 917f4cc45f..0d5e3411d6 100644 --- a/src/Actor.cpp +++ b/src/Actor.cpp @@ -1351,6 +1351,7 @@ public: static int x( T* p, lua_State *L ) { p->SetX(FArg(1)); return 0; } static int y( T* p, lua_State *L ) { p->SetY(FArg(1)); return 0; } static int z( T* p, lua_State *L ) { p->SetZ(FArg(1)); return 0; } + static int xy( T* p, lua_State *L ) { p->SetXY(FArg(1),FArg(2)); return 0; } static int addx( T* p, lua_State *L ) { p->AddX(FArg(1)); return 0; } static int addy( T* p, lua_State *L ) { p->AddY(FArg(1)); return 0; } static int addz( T* p, lua_State *L ) { p->AddZ(FArg(1)); return 0; } @@ -1569,6 +1570,7 @@ public: ADD_METHOD( x ); ADD_METHOD( y ); ADD_METHOD( z ); + ADD_METHOD( xy ); ADD_METHOD( addx ); ADD_METHOD( addy ); ADD_METHOD( addz ); From 5a798e78cded234d93972f687e0093609c893125 Mon Sep 17 00:00:00 2001 From: Aldo Fregoso Date: Sun, 20 May 2012 20:30:13 -0500 Subject: [PATCH 39/41] Added Visual Studio 2011 solution --- src/StepMania-net2011.vcxproj | 2393 +++++++++++++ src/StepMania-net2011.vcxproj.filters | 3127 +++++++++++++++++ src/libtomcrypt/libtomcrypt-net2011.vcxproj | 309 ++ .../libtomcrypt-net2011.vcxproj.filters | 478 +++ src/libtommath/libtommath-net2011.vcxproj | 277 ++ .../libtommath-net2011.vcxproj.filters | 378 ++ src/sm5-net2011.sln | 45 + 7 files changed, 7007 insertions(+) create mode 100644 src/StepMania-net2011.vcxproj create mode 100644 src/StepMania-net2011.vcxproj.filters create mode 100644 src/libtomcrypt/libtomcrypt-net2011.vcxproj create mode 100644 src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters create mode 100644 src/libtommath/libtommath-net2011.vcxproj create mode 100644 src/libtommath/libtommath-net2011.vcxproj.filters create mode 100644 src/sm5-net2011.sln diff --git a/src/StepMania-net2011.vcxproj b/src/StepMania-net2011.vcxproj new file mode 100644 index 0000000000..27aa2cab92 --- /dev/null +++ b/src/StepMania-net2011.vcxproj @@ -0,0 +1,2393 @@ + + + + + Debug + Win32 + + + FastDebug + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + StepMania + {AF209DBD-24BD-4356-8DFE-41751B221195} + StepMania + MFCProj + $(VCTargetsPath11) + + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + Application + false + MultiByte + v110 + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + true + true + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + false + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + true + true + $(TargetDir)../Program/ + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(ConfigurationName) + false + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + StepMania-debug + StepMania-fastdebug + StepMania-SSE2 + StepMania + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include;$(IncludePath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib;$(LibraryPath) + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + Disabled + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINDOWS;DEBUG;GLEW_STATIC;%(PreprocessorDefinitions) + + + EnableFastChecks + MultiThreadedDebugDLL + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + EditAndContinue + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + true + true + /EHsc %(AdditionalOptions) + false + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania-debug.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + + + SendErrorReport + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-debug.vdi" + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + /MP4 %(AdditionalOptions) + Full + AnySuitable + true + Size + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINDOWS;RELEASE;GLEW_STATIC;%(PreprocessorDefinitions) + true + false + Sync + MultiThreadedDLL + false + false + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + true + true + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;%(IgnoreSpecificDefaultLibraries) + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + true + SendErrorReport + UseLinkTimeCodeGeneration + true + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania.vdi" + + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + _DEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + MaxSpeed + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;WINDOWS;DEBUG;GLEW_STATIC;%(PreprocessorDefinitions) + Sync + Default + MultiThreadedDebugDLL + Use + global.h + $(IntDir)StepMania.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + false + AnySuitable + true + Speed + true + + + _DEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ../Program/StepMania-fastdebug.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\;%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;msvcrt.lib;%(IgnoreSpecificDefaultLibraries) + true + $(IntDir)StepMania.pdb + true + $(IntDir)$(TargetName).map + true + Windows + false + + + SendErrorReport + Default + + + archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-fastdebug.vdi" + + + + + archutils\Win32\verinc +cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) + + + NDEBUG;%(PreprocessorDefinitions) + true + true + Win32 + ../StepMania.tlb + + + /MP4 %(AdditionalOptions) + Full + AnySuitable + true + Speed + .;..\extern\lua-5.1\src;..\extern\ffmpeg\include;BaseClasses;..\extern\jsoncpp\include;..\extern\glew-1.5.8\include;..\extern\pcre;..\extern\mad-0.15.1b;..\extern\libpng\lib;..\extern\libpng\include;..\extern\libjpeg;..\extern\zlib;..\extern\vorbis;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;WINDOWS;RELEASE;GLEW_STATIC;%(PreprocessorDefinitions) + true + false + + + MultiThreadedDLL + false + false + StreamingSIMDExtensions2 + Create + global.h + $(IntDir)StepMania-SSE2.pch + $(IntDir) + $(IntDir) + $(IntDir)vc80.pdb + + + Level4 + true + ProgramDatabase + 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) + false + + + NDEBUG;%(PreprocessorDefinitions) + 0x0409 + + + /MACHINE:I386 "$(IntDir)verstub.obj" %(AdditionalOptions) + shell32.lib;gdi32.lib;user32.lib;ole32.lib;advapi32.lib;Comctl32.lib;swscale.lib;avcodec.lib;avformat.lib;avutil.lib;%(AdditionalDependencies) + ..\Program/StepMania-SSE2.exe + true + ..\extern\libpng\lib;..\extern\ffmpeg\lib;..\extern\libjpeg\;..\extern\zlib\;..\extern\mad-0.15.1b\msvc++\Release\%(AdditionalLibraryDirectories) + wininet.lib;msimg32.lib;libci.lib;%(IgnoreSpecificDefaultLibraries) + $(IntDir)StepMania-SSE2.pdb + true + $(IntDir)$(TargetName)-SSE2.map + true + Windows + false + + + NotSet + SendErrorReport + + + archutils\Win32\mapconv "$(IntDir)$(TargetName)-SSE2.map" "$(TargetDir)\StepMania-SSE2.vdi" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HAVE_VERSION_INFO;%(PreprocessorDefinitions) + HAVE_VERSION_INFO;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + true + + + true + + + true + + + true + + + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + NotUsing + NotUsing + NotUsing + NotUsing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + true + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {f70dd0fe-a74a-42e7-b81f-e35c49fc9eb9} + false + + + {fede5283-1518-4b1d-8124-5c54db17ea57} + false + + + + + + \ No newline at end of file diff --git a/src/StepMania-net2011.vcxproj.filters b/src/StepMania-net2011.vcxproj.filters new file mode 100644 index 0000000000..237aef0c0c --- /dev/null +++ b/src/StepMania-net2011.vcxproj.filters @@ -0,0 +1,3127 @@ + + + + + {499eeb19-5960-444d-b411-19d081889b15} + + + {7374b57a-894a-455d-9005-31ec8182ef1f} + + + {f95bd5c1-b158-4130-9920-2963e4f00821} + + + {03e9a63d-2660-4086-80ba-8c4734317c34} + + + {0d7a3c39-ac85-4040-8379-3b790cb9d687} + + + {33ad08c0-708a-489d-b95e-f2d95fa26b5e} + + + {8ed6a7cc-d70d-463f-a069-8e6602c4ff90} + + + {48e2a90f-22fb-43c5-b702-09eb19321a7a} + + + {59ec1714-aac9-4da1-b409-f75eead865f8} + + + {dafaf471-0654-4704-9773-13d78caeeb9b} + + + {eb3b5843-3d55-4ef7-816c-8c27b0e4898c} + + + {0aedb235-8389-48a5-ae3a-1938807ce182} + + + {bf943b89-b3a7-4565-85d5-55a43d959c5c} + + + {abab063b-8f74-441a-a461-d21c8bcf4390} + + + {7d083a3b-3121-4848-99c4-00928682d01d} + + + {4adcace8-8e8e-42c1-8cff-4fb55ad97faf} + + + {babeda37-148f-48d6-a5f0-4459c8e9c061} + + + {b4aa0865-e07d-438b-887e-a2afcd21301d} + + + {4feef3e5-646f-4ab8-9369-29b54b7607a1} + + + {cfefd67e-7fd4-4bf7-aa4b-0032ded96b5e} + + + {361d936e-6d5a-44df-a363-d8f305fafeac} + + + {148c21c0-1798-463e-8494-060eeb389f01} + + + {0a42b7f0-1202-401f-8e16-42d1dd50a4a5} + + + {8bcf27ef-f964-4001-bda2-ae3a982d86ec} + + + {672a8d1d-bb79-4eb7-9950-bbf3dcff4770} + + + {a432da5c-eeb6-4012-9e34-0aef2bd8f59e} + + + {68f5026f-06bd-483b-b577-24d1fcb15592} + + + {d61d93ca-80d7-4ca3-8f99-fae33523caae} + + + {b3893dd5-1761-4d69-bb3f-18bcaefd5064} + + + {44550b7c-6a30-41c1-92bd-e0a9c3199de5} + + + {e7ecc1c5-b142-4259-b87c-4728177e2fae} + + + {2d157d5c-7c0e-4967-925a-3976a6ad0dd0} + + + {46a5ab77-6eaf-44eb-93ec-43b2db4741ff} + + + {a89b61cf-bbf6-4303-a32a-6eec76f78893} + + + {b4c5e8c8-60f5-44c6-9529-832212276d1a} + + + {c2c701a5-a88f-4a36-ab40-43619668f88f} + + + {52c8e19c-32ec-4115-bee6-f5957389d7ea} + + + {ba251bae-0742-4c91-9b1f-488c32791a63} + + + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + File Types + + + File Types + + + File Types + + + File Types + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania\arch + + + StepMania\arch\LoadingWindow + + + StepMania\arch\LoadingWindow + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Threads + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\jsoncpp + + + Helpers\jsoncpp + + + Helpers\jsoncpp + + + Helpers\glew + + + Data Structures + + + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Gameplay + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Screens\Options + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\NotesLoader + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Courses + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Fonts + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\Lua + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NoteData + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\NotesWriter + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + Data Structures\ScoreKeeper + + + File Types + + + File Types + + + File Types + + + File Types + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch + + + StepMania\arch\LoadingWindow + + + StepMania\arch\LoadingWindow + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\Sound + + + StepMania\arch\ArchHooks + + + StepMania\arch\ArchHooks + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\InputHandler + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\LowLevelWindow + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\MemoryCard + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Dialog + + + StepMania\arch\Threads + + + StepMania\arch\Threads + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\arch\Lights + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + StepMania\system + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Gameplay and Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Menus + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Actors used in Gameplay + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Rage + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Actors + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Global Singletons + + + Helpers + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\libpng + + + Helpers\pcre + + + Helpers\pcre + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Helpers\Lua + + + Data Structures + + + + + StepMania\system + + + StepMania\system + + + + + + + + + StepMania\system + + + + + StepMania\arch\MovieTexture + + + StepMania\arch\MovieTexture + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + BaseClasses + + + diff --git a/src/libtomcrypt/libtomcrypt-net2011.vcxproj b/src/libtomcrypt/libtomcrypt-net2011.vcxproj new file mode 100644 index 0000000000..27209577ee --- /dev/null +++ b/src/libtomcrypt/libtomcrypt-net2011.vcxproj @@ -0,0 +1,309 @@ + + + + + Debug + Win32 + + + Release-PGO + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + libtomcrypt + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9} + libtomcrypt + Win32Proj + $(VCTargetsPath11) + + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + v110 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + src\headers;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level2 + EditAndContinue + true + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + false + src\headers;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters b/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters new file mode 100644 index 0000000000..324bacfbbc --- /dev/null +++ b/src/libtomcrypt/libtomcrypt-net2011.vcxproj.filters @@ -0,0 +1,478 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {ad1b2be2-aa3e-4683-8892-a9742e0e933a} + + + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + src\headers + + + \ No newline at end of file diff --git a/src/libtommath/libtommath-net2011.vcxproj b/src/libtommath/libtommath-net2011.vcxproj new file mode 100644 index 0000000000..baf245a54a --- /dev/null +++ b/src/libtommath/libtommath-net2011.vcxproj @@ -0,0 +1,277 @@ + + + + + Debug + Win32 + + + Release-PGO + Win32 + + + Release-SSE2 + Win32 + + + Release + Win32 + + + + libtommath + {FEDE5283-1518-4B1D-8124-5C54DB17EA57} + libtommath + Win32Proj + $(VCTargetsPath11) + + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + true + v110 + + + StaticLibrary + Unicode + v110 + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(IntDir) + $(SolutionDir)/build-$(SolutionName)/$(ProjectName)/$(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + AllRules.ruleset + + + + + + Disabled + .;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level2 + EditAndContinue + true + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + false + .;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) + true + MultiThreadedDLL + false + + + Level2 + ProgramDatabase + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/libtommath/libtommath-net2011.vcxproj.filters b/src/libtommath/libtommath-net2011.vcxproj.filters new file mode 100644 index 0000000000..3f78ab53fa --- /dev/null +++ b/src/libtommath/libtommath-net2011.vcxproj.filters @@ -0,0 +1,378 @@ + + + + + {d28820c7-38c7-477c-8993-1124bc2d2caf} + + + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + src + + + + + src + + + src + + + src + + + \ No newline at end of file diff --git a/src/sm5-net2011.sln b/src/sm5-net2011.sln new file mode 100644 index 0000000000..52645ba4ac --- /dev/null +++ b/src/sm5-net2011.sln @@ -0,0 +1,45 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sm-ssc", "StepMania-net2011.vcxproj", "{AF209DBD-24BD-4356-8DFE-41751B221195}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtommath", "libtommath\libtommath-net2011.vcxproj", "{FEDE5283-1518-4B1D-8124-5C54DB17EA57}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libtomcrypt", "libtomcrypt\libtomcrypt-net2011.vcxproj", "{F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + FastDebug|Win32 = FastDebug|Win32 + Release|Win32 = Release|Win32 + Release-SSE2|Win32 = Release-SSE2|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {AF209DBD-24BD-4356-8DFE-41751B221195}.Debug|Win32.ActiveCfg = Debug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Debug|Win32.Build.0 = Debug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.FastDebug|Win32.ActiveCfg = FastDebug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.FastDebug|Win32.Build.0 = FastDebug|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release|Win32.ActiveCfg = Release|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release|Win32.Build.0 = Release|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {AF209DBD-24BD-4356-8DFE-41751B221195}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Debug|Win32.ActiveCfg = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Debug|Win32.Build.0 = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.FastDebug|Win32.ActiveCfg = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.FastDebug|Win32.Build.0 = Debug|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release|Win32.ActiveCfg = Release|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release|Win32.Build.0 = Release|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {FEDE5283-1518-4B1D-8124-5C54DB17EA57}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Debug|Win32.ActiveCfg = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Debug|Win32.Build.0 = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.FastDebug|Win32.ActiveCfg = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.FastDebug|Win32.Build.0 = Debug|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release|Win32.ActiveCfg = Release|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release|Win32.Build.0 = Release|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release-SSE2|Win32.ActiveCfg = Release-SSE2|Win32 + {F70DD0FE-A74A-42E7-B81F-E35C49FC9EB9}.Release-SSE2|Win32.Build.0 = Release-SSE2|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal From 341a474c9a706b7a24849abd304f5403c0945910 Mon Sep 17 00:00:00 2001 From: Aldo Fregoso Date: Sun, 20 May 2012 21:00:14 -0500 Subject: [PATCH 40/41] Fixed errors & warnings to compile with VS 2011 --- src/LightsManager.cpp | 3 ++- src/RageDisplay_OGL.cpp | 2 +- src/StepMania-net2011.vcxproj | 7 ++++++- src/archutils/Win32/arch_setup.h | 2 ++ src/libtomcrypt/libtomcrypt-net2011.vcxproj | 5 ++++- src/libtommath/libtommath-net2011.vcxproj | 5 ++++- 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/LightsManager.cpp b/src/LightsManager.cpp index 77d49fb16f..e2d2c4083a 100644 --- a/src/LightsManager.cpp +++ b/src/LightsManager.cpp @@ -209,7 +209,8 @@ void LightsManager::Update( float fDeltaTime ) int iSec = (int)RageTimer::GetTimeSinceStartFast(); int iTopIndex = iSec % 4; - CabinetLight cl = CabinetLight_Invalid; + // Aldo: Disabled this line, apparently it was a forgotten initialization + //CabinetLight cl = CabinetLight_Invalid; switch( iTopIndex ) { diff --git a/src/RageDisplay_OGL.cpp b/src/RageDisplay_OGL.cpp index 20d0a85340..9a6e1fe65e 100644 --- a/src/RageDisplay_OGL.cpp +++ b/src/RageDisplay_OGL.cpp @@ -2618,7 +2618,7 @@ bool RageDisplay_Legacy::SupportsTextureFormat(PixelFormat pixfmt, bool bRealtim return glColorTableEXT && glGetColorTableParameterivEXT; case GL_BGR: case GL_BGRA: - return GLEW_EXT_bgra; + return !!GLEW_EXT_bgra; default: return true; } diff --git a/src/StepMania-net2011.vcxproj b/src/StepMania-net2011.vcxproj index 27aa2cab92..082bf889d8 100644 --- a/src/StepMania-net2011.vcxproj +++ b/src/StepMania-net2011.vcxproj @@ -144,7 +144,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) EditAndContinue 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) true - true + false /EHsc %(AdditionalOptions) false @@ -169,6 +169,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) SendErrorReport + false archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-debug.vdi" @@ -236,6 +237,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) SendErrorReport UseLinkTimeCodeGeneration true + false archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania.vdi" @@ -301,6 +303,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) SendErrorReport Default + false archutils\Win32\mapconv "$(IntDir)$(TargetName).map" "$(TargetDir)\StepMania-fastdebug.vdi" @@ -347,6 +350,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) ProgramDatabase 4063;4100;4127;4201;4244;4275;4355;4505;4512;4702;4786;4996;%(DisableSpecificWarnings) false + true NDEBUG;%(PreprocessorDefinitions) @@ -369,6 +373,7 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir) NotSet SendErrorReport + false archutils\Win32\mapconv "$(IntDir)$(TargetName)-SSE2.map" "$(TargetDir)\StepMania-SSE2.vdi" diff --git a/src/archutils/Win32/arch_setup.h b/src/archutils/Win32/arch_setup.h index 5e980524ea..2872d71972 100644 --- a/src/archutils/Win32/arch_setup.h +++ b/src/archutils/Win32/arch_setup.h @@ -106,8 +106,10 @@ typedef int int32_t; typedef unsigned int uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; +#if _MSC_VER < 1700 // 1700 = VC++ 2011 #define INT64_C(i) i##i64 #define UINT64_C(i) i##i64 +#endif // #if _MSC_VER < 1700 #if _MSC_VER < 1600 // 1600 = VC++ 2010 static inline int64_t llabs( int64_t i ) { return i >= 0? i: -i; } #endif // #if _MSC_VER < 1600 diff --git a/src/libtomcrypt/libtomcrypt-net2011.vcxproj b/src/libtomcrypt/libtomcrypt-net2011.vcxproj index 27209577ee..1c132e1d64 100644 --- a/src/libtomcrypt/libtomcrypt-net2011.vcxproj +++ b/src/libtomcrypt/libtomcrypt-net2011.vcxproj @@ -93,7 +93,7 @@ Disabled src\headers;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true + false EnableFastChecks MultiThreadedDebugDLL @@ -115,6 +115,7 @@ Level2 ProgramDatabase + true @@ -129,6 +130,7 @@ Level2 ProgramDatabase + true @@ -143,6 +145,7 @@ Level2 ProgramDatabase + true diff --git a/src/libtommath/libtommath-net2011.vcxproj b/src/libtommath/libtommath-net2011.vcxproj index baf245a54a..c092061577 100644 --- a/src/libtommath/libtommath-net2011.vcxproj +++ b/src/libtommath/libtommath-net2011.vcxproj @@ -93,7 +93,7 @@ Disabled .;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) - true + false EnableFastChecks MultiThreadedDebugDLL @@ -115,6 +115,7 @@ Level2 ProgramDatabase + true @@ -129,6 +130,7 @@ Level2 ProgramDatabase + true @@ -143,6 +145,7 @@ Level2 ProgramDatabase + true From 0e2cc939d62b66fd3dbc36628a40e17aeb1924dd Mon Sep 17 00:00:00 2001 From: Aldo Fregoso Date: Sun, 20 May 2012 22:19:27 -0500 Subject: [PATCH 41/41] Mac OS X DialogDriver was lacking OKCancel, I also added YesNo Dialog to every platform. --- src/arch/Dialog/Dialog.cpp | 24 ++++++++++++++ src/arch/Dialog/Dialog.h | 3 +- src/arch/Dialog/DialogDriver.h | 5 +-- src/arch/Dialog/DialogDriver_MacOSX.cpp | 42 +++++++++++++++++++++++++ src/arch/Dialog/DialogDriver_MacOSX.h | 2 ++ src/arch/Dialog/DialogDriver_Win32.cpp | 16 ++++++++++ src/arch/Dialog/DialogDriver_Win32.h | 1 + 7 files changed, 90 insertions(+), 3 deletions(-) diff --git a/src/arch/Dialog/Dialog.cpp b/src/arch/Dialog/Dialog.cpp index 9067ce0bb7..62ec752fc6 100644 --- a/src/arch/Dialog/Dialog.cpp +++ b/src/arch/Dialog/Dialog.cpp @@ -234,6 +234,30 @@ Dialog::Result Dialog::AbortRetry( RString sMessage, RString sID ) return ret; } +Dialog::Result Dialog::YesNo( RString sMessage, RString sID ) +{ + Dialog::Init(); + + if( LOG ) + LOG->Trace( "Dialog: \"%s\" [%s]", sMessage.c_str(), sID.c_str() ); + + if( sID != "" && MessageIsIgnored(sID) ) + return g_NullDriver.YesNo( sMessage, sID ); + + RageThread::SetIsShowingDialog( true ); + + // only show Dialog if windowed + Dialog::Result ret; + if( DialogsEnabled() ) + ret = g_pImpl->YesNo( sMessage, sID ); // call derived version + else + ret = g_NullDriver.YesNo( sMessage, sID ); + + RageThread::SetIsShowingDialog( false ); + + return ret; +} + /* * (c) 2003-2004 Glenn Maynard, Chris Danford * All rights reserved. diff --git a/src/arch/Dialog/Dialog.h b/src/arch/Dialog/Dialog.h index e36d2cacda..d115c85b6d 100644 --- a/src/arch/Dialog/Dialog.h +++ b/src/arch/Dialog/Dialog.h @@ -10,12 +10,13 @@ namespace Dialog void SetWindowed( bool bWindowed ); - enum Result { ok, cancel, abort, retry, ignore }; + enum Result { ok, cancel, abort, retry, ignore, yes, no }; void Error( RString sError, RString sID = "" ); void OK( RString sMessage, RString sID = "" ); Result OKCancel( RString sMessage, RString sID = "" ); Result AbortRetryIgnore( RString sMessage, RString sID = "" ); Result AbortRetry( RString sMessage, RString sID = "" ); + Result YesNo( RString sMessage, RString sID = "" ); /* for DialogDrivers */ void IgnoreMessage( RString sID ); diff --git a/src/arch/Dialog/DialogDriver.h b/src/arch/Dialog/DialogDriver.h index 3ce0dd3de0..5e377328ba 100644 --- a/src/arch/Dialog/DialogDriver.h +++ b/src/arch/Dialog/DialogDriver.h @@ -12,8 +12,9 @@ public: virtual void Error( RString sMessage, RString sID ) { printf("Error: %s\n", sMessage.c_str()); } virtual void OK( RString sMessage, RString sID ) {} virtual Dialog::Result OKCancel( RString sMessage, RString sID ) { return Dialog::ok; } - virtual Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ) { return Dialog::ignore; } - virtual Dialog::Result AbortRetry( RString sMessage, RString sID ) { return Dialog::abort; } + virtual Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ) { return Dialog::ignore; } + virtual Dialog::Result AbortRetry( RString sMessage, RString sID ) { return Dialog::abort; } + virtual Dialog::Result YesNo( RString sMessage, RString sID ) { return Dialog::no; } virtual RString Init() { return RString(); } virtual ~DialogDriver() { } diff --git a/src/arch/Dialog/DialogDriver_MacOSX.cpp b/src/arch/Dialog/DialogDriver_MacOSX.cpp index 989d4abda2..57340a9c51 100644 --- a/src/arch/Dialog/DialogDriver_MacOSX.cpp +++ b/src/arch/Dialog/DialogDriver_MacOSX.cpp @@ -54,6 +54,27 @@ void DialogDriver_MacOSX::Error( RString sError, RString sID ) ShowAlert( kCFUserNotificationStopAlertLevel, sError, CFSTR("OK") ); } +Dialog::Result DialogDriver_MacOSX::OKCancel( RString sMessage, RString sID ) +{ + CFBundleRef bundle = CFBundleGetMainBundle(); + CFStringRef sOK = LSTRING( bundle, "OK" ); + CFStringRef sCancel = LSTRING( bundle, "Cancel" ); + CFOptionFlags result = ShowAlert( kCFUserNotificationNoteAlertLevel, sMessage, sOK, sCancel ); + + CFRelease( sOK ); + CFRelease( sCancel ); + switch( result ) + { + case kCFUserNotificationDefaultResponse: + case kCFUserNotificationCancelResponse: + return Dialog::cancel; + case kCFUserNotificationAlternateResponse: + return Dialog::ok; + default: + FAIL_M( ssprintf("Invalid response: %d.", int(result)) ); + } +} + Dialog::Result DialogDriver_MacOSX::AbortRetryIgnore( RString sMessage, RString sID ) { CFBundleRef bundle = CFBundleGetMainBundle(); @@ -101,6 +122,27 @@ Dialog::Result DialogDriver_MacOSX::AbortRetry( RString sMessage, RString sID ) } } +Dialog::Result DialogDriver_MacOSX::YesNo( RString sMessage, RString sID ) +{ + CFBundleRef bundle = CFBundleGetMainBundle(); + CFStringRef sYes = LSTRING( bundle, "Yes" ); + CFStringRef sNo = LSTRING( bundle, "No" ); + CFOptionFlags result = ShowAlert( kCFUserNotificationNoteAlertLevel, sMessage, sYes, sNo ); + + CFRelease( sYes ); + CFRelease( sNo ); + switch( result ) + { + case kCFUserNotificationDefaultResponse: + case kCFUserNotificationCancelResponse: + return Dialog::no; + case kCFUserNotificationAlternateResponse: + return Dialog::yes; + default: + FAIL_M( ssprintf("Invalid response: %d.", int(result)) ); + } +} + /* * (c) 2003-2006 Steve Checkoway * All rights reserved. diff --git a/src/arch/Dialog/DialogDriver_MacOSX.h b/src/arch/Dialog/DialogDriver_MacOSX.h index d07e513db7..109d8053da 100644 --- a/src/arch/Dialog/DialogDriver_MacOSX.h +++ b/src/arch/Dialog/DialogDriver_MacOSX.h @@ -8,8 +8,10 @@ class DialogDriver_MacOSX: public DialogDriver public: void Error( RString sError, RString sID ); void OK( RString sMessage, RString sID ); + Dialog::Result OKCancel( RString sMessage, RString sID ); Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ); Dialog::Result AbortRetry( RString sMessage, RString sID ); + Dialog::Result YesNo( RString sMessage, RString sID ); }; #define USE_DIALOG_DRIVER_COCOA diff --git a/src/arch/Dialog/DialogDriver_Win32.cpp b/src/arch/Dialog/DialogDriver_Win32.cpp index 705e29fb9c..1849f70c1c 100644 --- a/src/arch/Dialog/DialogDriver_Win32.cpp +++ b/src/arch/Dialog/DialogDriver_Win32.cpp @@ -263,6 +263,22 @@ Dialog::Result DialogDriver_Win32::AbortRetry( RString sMessage, RString sID ) } } +Dialog::Result DialogDriver_Win32::YesNo( RString sMessage, RString sID ) +{ + int iRet = 0; +#if !defined(SMPACKAGE) + iRet = ::MessageBox(::GetHwnd(), ConvertUTF8ToACP(sMessage).c_str(), ConvertUTF8ToACP(::GetWindowTitle()).c_str(), MB_YESNO); +#else + iRet = ::AfxMessageBox( ConvertUTF8ToACP(sMessage).c_str(), MB_RETRYCANCEL, 0 ); +#endif + switch( iRet ) + { + case IDYES: return Dialog::yes; + default: ASSERT(0); + case IDNO: return Dialog::no; + } +} + /* * (c) 2003-2004 Glenn Maynard, Chris Danford * All rights reserved. diff --git a/src/arch/Dialog/DialogDriver_Win32.h b/src/arch/Dialog/DialogDriver_Win32.h index 14c3be75bb..3edc6e1544 100644 --- a/src/arch/Dialog/DialogDriver_Win32.h +++ b/src/arch/Dialog/DialogDriver_Win32.h @@ -11,6 +11,7 @@ public: Dialog::Result OKCancel( RString sMessage, RString sID ); Dialog::Result AbortRetryIgnore( RString sMessage, RString sID ); Dialog::Result AbortRetry( RString sMessage, RString sID ); + Dialog::Result YesNo( RString sMessage, RString sID ); }; #endif

%5!5%JzoUJZmj_22O4@2IQ) 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�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