From 7cf0868730528aa1d0223358f27715d5c45bc532 Mon Sep 17 00:00:00 2001 From: = <=> Date: Wed, 16 Nov 2016 10:15:25 +0100 Subject: [PATCH] Synchronized lists that are rendered Removed lock from Scene --- .../intermediates/res/resources-debug.ap_ | Bin 1351800 -> 1496628 bytes .../data/SynchronizedArrayList.java | 147 ++++++++++++++++++ .../endlessroll/entities/Background.java | 17 +- .../entities/tileLists/TileList.java | 3 +- .../endlessroll/main/game/GameScene.java | 16 +- .../julian/endlessroll/main/game/Physics.java | 2 - .../julian/endlessroll/main/game/Scene.java | 44 +++--- .../rendering/renderer/GameRenderer.java | 26 ++-- particlelab/particlelab.iml | 16 +- 9 files changed, 204 insertions(+), 67 deletions(-) create mode 100644 app/src/main/java/com/example/julian/endlessroll/data/SynchronizedArrayList.java diff --git a/app/build/intermediates/res/resources-debug.ap_ b/app/build/intermediates/res/resources-debug.ap_ index 76644bce9e2f78d9704ec4e6baa19a457aaf6a27..ea0e8272a3919956deaf6e2a9138664b2fa13dc8 100644 GIT binary patch delta 150374 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%0DY4aq2G%BGSLJ1`0&{l{KjY7%*Bq zx$E@xJz^+_)Q?{ezZH&KYjHH#2u8R|+W3>nDB4tZ(q(_^SQ7edSzd&j7vkkw%rZ}e zUQxx4X+bJwQ4-LIiIF*-$Nv_gG3S0#?34Y#p#lUCV$F8mYbl!jhHNjIc=WwIv9klr zUvg%>fszk7$_cr&wJ-@B1Rl|`c_zHrd?KO6@Z>Hbh$H*Y4neB|mw&o?!pj)TUunRH zHr^!xeWyc0F$r8f@E|T*yogp2f11YL&NYIzK}a!=HRBDrL0*9^nyheMSWZ};cHTX^>cfoL}$K_XK(zlG;-CXJ9(cF zJ&V46AAcGZQ2iNTcbH&|CuVC<`2xl8Ff!@GK?f~Tw9L~(((W^%jXwx$>{r*K5mJtO|8)Ra z{Iya;M|_i90_!HD!`FGWbPnIHp(x|4gNl3bpEP%tUuzJ7uH)&DY zvjk-OSN$~1wyzs|0}kzv2S|}Q59E^7N~_z|qyrapQ?PN4P*OE?y~C6l**WG3`Y{BI z3ZI4Y7%5fD#FR@v&3nt{Ll;mjpB^6(VW%{6f_s5Tyxtv~5-Towm+Ri!_}7S_b1z)} znd^zMPyeiijPT{J`kFGJ267sO71{WbppddfxuJ(N@S{2Bj4a$Ipl+Y1C4KoBa4kS@ zjWP@<}{ox7dV22I)Et{gX*`{p{W%GEaIl;WzzQ4gWp>|FOQ`wi>GHt z3lUyHegzf9$X=WvO(XU^L2%$uCK%dmfo8L&80X}B=^?wvVlW}O40X6g3F~WYQ`tQ! z&nsgJqT&>ID(C1w!A2hca0OcVA@GOuAq^J06T@#Pt+{5Ws&Cwd!phb{;$ord+H`c& z8J282yTRtRT#}BCj-Dt5Q&Q>;{)?@-=rS||#Lj4Zoz2nZ*xJw>!ob&qZLE9=wD zaa-4|dR~w5LMiTf*_nKjq|lyR*5G~uIcj+iYT-t88eOH-tDx6-H&MIQC1U8B8N546Xt?Q89~m? zDr*U&(Bzj@!7^f&8HTvfTFfW7zov?KY&OY*N7}Jb6U-w=zmhLd)R{dlaz1^`5 zaQ5-v9i^ynziYXaQ;hj@L9+*!fAQSCtow^?4&I-#{i`BON`T~ElsyNI!-hDwFlMwK z+LYjetUbxmWnx4P~)JNzB2^gCre zJ!&)do(x@~v-f`!iLC`8YfW=`9{Up;m1Baunq`g# z#Nube7bw&op9)DK6<9>z;sM0d?zzw{(FRm~ud8-G=4Pb1otv*p6fm!pJm!=DKx}M_ zlLc!CaA>gSQ5kM1MA+~ACQ%;6Ky7>Y{kgOMx8>Huy{7djb)3cW6{2T?l@=E2i8R@t z-lyiM%BUG2xb$;x?D;7+7uL{Xjxu33tuY768Cmdkjwyhx>i=})6CY^fpxff!x|M=~ zrFUpq@5BY;1!`U4#g=0*3@-m1-zNStd3Xnq{0}VcUkp~*a0nUb*>i`%M@xj7GAe*B zglk~H9kCz?75zg|g$|1hl9lws=Fsn|gQHo)tMA<-BWp(gzE6Xi=^JR))zPzox<^NX z3wo%b4BbTXf4M7Lg%L#|liTdA=~nBU{=EApSCoS+geHu z20rx9%Ix2d-CDteJH_LHKmHc*C&*MZb4P+z34N~wKLua?;P3PBJ$#!SE@!`ED*CSz z+<#6Ifjb9K;Cqh5Q)@=(+tRgZu&eXt&V=cf`m7!1V*PPlF&8uGR-#YvJq{WAC={G{G4Yoxa z>IiviIBTmcUmZgp&989O}^c)12Wo#fLRie92I6 zt-jib4rDWi_p%}seXDW^IlQh(_yB7jEpq@DkBd2HfDJ+Cv}CLN!~4k3cIz{gg^t%J z`?41w)e>a4q%^1nD%m=Q4E`3daT#YYCK&0_Bur_><=4OA8TK_UK9m;c* zLKPSDYw+r5b#-;AyStkLU`~i$>KkHm^B`)Z2xTt{g*F-#6p?WDQf@H7Tmk~F7q+*z z`CwkuUFuPLdU|@M!y_YY@~G22KFo6#U-IMqVr7Uw=|!Tt0JPjkf>fj- z7crgHCq!j@eS*)x{J770*jOK=i}G~ckzk5jQ#c zFFTMc$x-L~P?`PsHmI?tkR(H$%!u+w)LiCIp~N_nc{tNdtaQB_5_CwG*zrxUZ3M~y z9>zDe-<(S!ZnGbySa0SalR@b(KQSUJ@<=|1qRZUB5MZYDf=vhm#Pn^AXe#gC5|rI* z!8X#t7mD;*RXi*bC&58q(3qStfzhz<#l2a{RJTNac^$6AzP|nzA?y{Jn*fkZnG-g8 zz@=b{`c=&|{l?+G811d?bX6>UWfDfQ98mB?G&*_Jn}1yB=^KRNN<}2SovfX(oVRyAYb<2~oSby&v522}Y^p{6^@a&59_8Og@e=Q*L$&9okJF=wyJ!HvA^?S*5T9?Xg2u2AyD3LS>7FV=r*>T_ z{U<;Q+u*kXl(hF*Gc@zvRe`xwUVm%~f**9}RR?J$%S7L+`XR4XapDby%0RAe_m@UMAw86~3Ji8Yjg8}ndcXbmL$eRKfk7;Q53zj^;Pwk7VM@k=`9*#C z40ZCGyihfHSBmwX=%*^tcgZwPgInS?b;KOnrYEsa%(#Kgt}l^4*?Tv)!Xpxf{T@>?jG5nn&JNkQ~HuFxw<#YK16qFAB1D}ex<%2$2fUpe*Vf8sB zp%CB=F(Ykf2Pz=`i1QC%&X8tNaq+-5&`Wo-X}9910|SZWRRee=E-dVWJO3jG+C3|k zIrUQa(@W1F4>i3f6-WB&eka~lK)b1t(Upsf%lFb4z&>&7ilw#Cr2;Q3-BPULZ-D{k(bBdIim&_Lt0LA-Rzw*2LMrU4=_y*kn0v4G?`MtjtI+uT}bec+wU>>?A0pn;o+Eh%TRr|qJzPKxu2YMGvZ_Zd=p_2i#h?0q}mrfW! z16a;}E#0LeGOX2jYVP)N$%0F`wZ*SOy}>$WpnLqlh5QJ^X$4= zjkl%TUylw_F!1v5FskpHaU#+3p&{L0pm^(yRL>Q|rH}SiM$+Q+P1s8oNxV=cT0uN* zBv@+D3<>X5v*vzm4C``NJtH@+l=kb-EJ?6t3@A$=ZGLi)7>%OJd$oO>Q559H6(tlH zmZX#6bTKR^lB*{GAE3j}Cl0b9-A=}fuWSm`ApAAgmW{ehJFkNv!E_&;NQxyCU}j_) z%`DUju9fQ0dtl-nmM!_bq&m4UQs;h<7?Kb@KNtRUPmKDXZP}#7-+7EON^}HV1-0?e zb#=Ggd05eAQXjYb-Wr$y96U*q>wLR`2E^@$KuosD#t>z!QJpi8B$}m7Ma$s!g)wR7 zdEYN`-Ls#xv~3#Wt$gctAk%RxUom6zbnY#L>GukYto);eyPp5c=m+1Gz$pp1{L8Gr znJp339dRN2<-6n^`CsWf=mz-49UtBpfiGW^cyNLx@#G{j6>WFKV99h{4EnG2HT7MP zpFiiSCC#ZVSORo)L*l>c<7GJWeaNZC-x+MRpFWom9USJIcM-Zlueg<>QFg$yj6sGG zAoIR)Iccglksp75rXn}At|MmInPEAuA_S%Q64yN1liZsf8ktZ(=wsFggUC>))d-|4 zYx+6XsR`30iP+2x$OG$7GDCM}tsP?I#!&S}(^EF|_tKTjiS_19=FThAiaOmicZe;X zPMGldHeuI>@Oa}p+ftx~wLV_mnB1)go49)_fT6qOJULz?Oq32W-rw+OCj~_JD zd?Xe{ui?UR+O$=n7B@TehPnnZnQHO`9HU(w4hm7mO3b5BR4&l#&FG)sX*MP=?yD@Q zRk%ol+WS9aDp0fha9YJbbncjNZ3+z}C-FFSg4%qm$CDMB6otqrs95Dx;*URw-=MrW zhbR<;S@e*AzX1Zt%jsfDw0JoQ3;L~c*(zpoefwzJ8_6Fp*Jp`%x`y`IATDZ1=D|1r z>g9;>6Gf@up0*xDlx1zweIItWFr?J82vr9EpV$oS8+bJV5tz`<6gnz~ugmJLQfax6 zCPpu(w(Hao&STa$E>bM(?DW13YH^AJEeAgi(9Ku;<7wZEDVe-!1Cs3_h*xZ$&Ft=hATfQPfAxwy6x&Yq8=Jx^U@5KE)Ob zb1autA+@6K@R*RQT0CF9ZnIv^SLxdnI6`gDL`_{&@7})CqvVd8=QyZCxcs{wx$a0F z=k@TRnSTmp`DB~AfhG|!zxRWQ^P@;#;R~3^B!Y}6|E`lKz3UVd?UrE49SLQq$)fyR27aK_H|8@n40dmz7BxyjU;b*8?Cro6Oi!oSneX%Yf5g3IR2)ke zusgWBySqzpw;(|S!7YK{A-FSmu;A{l!3plco#5_)Ab}u31Gk5B&THp}0wj z#`%-USW9@V`N`z`<$&sQq3`AE;0U_?HJi33*Qa!i8K$1-iul=VwSh5yd5h<+TnzhJ;x4|0cxLe<+JTLX3+FdSbiz z0^#K)F3LB-MFsk?EP`OVNNo;3LSh;zV5;x#4tV6dCnFN>@qo4a_!xEAcYpMccsyT# z%#M1BP&8l%2N1|R3O*nZ2Z_)UBUQ*F{-5}klz`upgG_k%(?Oyf;vidAKsW&wBO!SB zivkc3C@IJj08<{4x|P2`)SW|b7z(Mt`vNG%9C+(NE>TLVgU|%{oREYVcnt~m_k(N> zXHJ8k>h%KJZAfV+MXcyXgzN4^8bnY4BZ9!EQ}J>&sK9!o{Q}HvHrouvXQ#zlGD>$E z`?7EfDHX*81 z!oAVgT3O~5eLdR@;S4qEOG+!3EoqE-mWc0k@oZ)qG)kTc^-(ebqnb=%v=j0^$^Cw>iC{U;OstbH_Z)c#ZyNNu2d+ zjxsmt&rt?|!B7X%;&hl%(RU;m-+%H#aw0MTe22;|Gzhc{{bYOIJ^7tA?vw3#F%BT| z|6q0pI8b>22Tv)D1ndBpKNTOy_Afi2Qh~jvz~MhLHX-?h1Q3XW{D>S7%Kv6;##H~_ z06Z!GOyHExa9l|M(DTeW$z{yZ*57Od7OE?Xu8S#J+rX*w!F%^tOXgpkfMfYfH zKqB{v`SQR!vU6xyh2*ll6vG5{M5X}4lg?XX{46*kbvAAsW}f>an>w$}Mgc*4zm%T2 z`!4f)R6@5=&x7N`X+A!GjNRKU5$!O+O4jtaSEA0guTK5_KW24hL(Qd+KXAD7plqmK zIO`g~M2*LT?QU^p*RlndVc~yyfzVE2u2++80G3Riv--w|uB)OtCym|mtgcS}y4Zrm z{kwEQtsfw9e;O2SO80w@Ly?o&&)juxT@k%G?7CHc_FZ*WAaNXuwS4dU97R) zQP(wQx#Gs$jD>s+=MA+6&EapS`XPekicFE}2E|J}O6>lSSn)}f_RHY$jRE-yA`mt5 zKg}hw_9v3yU*_m|lpzgLh=VB1Kggs`l~TYy>mN;kKb7MjHt3+Ro?yU7yr2F2{Wrzg z*i7iT@50G$&+)r}#77i;L5t(;8S%rVkXtRBg#0 zhVjfh>^%E`pF-pxy0|I5@c)f0{hv@lkfmAPIPvGcl$|EvE4QMJ|OT(;pUH7R!xrATg#0{U0&*S1SHhTR_pT zNqz!;LIz32KM1NYXoNtO{1}~tU(E@)uV0}-k4mu6_BbAwPk}jMyM6IjV5I+#f%ywz zN`U+yq4{69>;Jc)?L&fw@d}pRByzIuDQL5T`ycUOKp=?F{5@!qV8%bDZo&h8WmXPr zfZ|+%JUGBNO^H{E^`f|C7Jzq@dT?QR=h0`GEC&r*C&}Pukg+4OFE6bTkh- zI)fFUXY3@^UDjaBFC4N68(KcYH2u{|;?#xOje+kp!ho*7mpyl_` z1j7;lw`aip9>wGrErQ4Oz{`L??%3mdPyf@ml^cEPazls^4rhZ6tQ?&hx|Q@r^>pZJ zIer7Z3GJP~*d$y_H&=C`L7|O)FI@)jh2%RwDM9U?cc&t7TULpvllV0?WXLP61i|6O zP$TN)MBpHdT*<(2_ID-ew&6S^liwetL*4Zf)8qGnfoOjPMFFjk$yQqQx+L{U`=_=) z(K2wS#GEQPiSn;83@Eka%dk-lSQp1JRlE6yrq?9L`}o31%C4=aC$Eg_C?CoaxB4|) zo2*RXG8B{!TZ!B1O}f5ljv_W$R6D?{@ig$E!GklZoo^rE@4i+)p6I^t7yXJhsGmg= z8778s>gYw|8rByYJS{v$XJs6Hu9a#fE&Gj6aqV#%p88vp-ly~5hB)rFO~jrB z#A+irsnu1_sr99XEr%&7lrmv7&@3?)AE#N_?N2j~H+%={)@YX=KeSzUVZ#hhmGF1) zo)m+@8PF%m3sS;`VZ{W#*aEBH;Viwd8{h|peQova0k|Y|iC;+A_fY5og6LuyiASk#z(5912 zfq872NUhH64!HI&Hvydl_vgMCye(v4_%F9IEPviQ26eUsZMcDZ0T9MDiIG_>deeA; zaPvYz8eh=v{|3nZjll-Gdn({i$4jD70L>k=>0oJF2-8a>U^q?`6;D4!P4r69+^#0k z_}BCEcClX@aUY_n6aX-*VnOHqZ(yZgDmG{8OD9D?*o@Q^T^*RWrf;`U3rdV1#{=C? zMVg+s^+;^B7(XhYwR-P1GZ-ke6BL7pK_3@Qo7NLT&JMBypgHbHD%>OebE z{i)3gL>mMn`?nZ_exhju4ALpCvM&;-A>E5Ebym{ovC}shhuckDv>W?|J=`Lb-tEZ0 z6`2YXG$3DIyvO3}Cnj7X*u?mgbXM+q%B?iHtM#6F=01;hI74=8L@dr@BlO;x)TPtf z3vIl=Zy&3Ap3`1o&1Ik!WxoW|y4|L>jG(nPm9D;T{vf?F^K&3;wSXBz+JO+fB;eup zRne`aP3wfZBBu$4f8$yEWH%UlSQ42W!+C3fRrO3sne9;wzZ%}mamSC;3(hD~#GRQ| zrz<`dg-lp796M*RvlecH(`O^=k6lVXS|1^ApJ_cU_lXnA()9hXx@7owK^!`kgy@rER+iW0sl!brTTY_ zDkmfbgl}_Q+t`yVAnX8eJt!I{R}bl9!}*0ladZN5bW~P+zP|Y2@>@}1BTYHhgGql!-LwycJyK9xc%%=u5ISgAulO}@R#;J zcknzhfepli_8j(8H2jO*=66W4PYV)#7i=a}8<1YH;r{ zpel7PdWtS0ET&N+DnTE*)v#phUfJ$YfB2j-prh#|2}%4-58IWGRn<^~=Pv4&qziahc&LN+S?BziFao1&u7hhXrVQOi zhR5Moup1TtS`r97Q}txInN#dIuEe2a#`BfS#qCCNvm3#7tZ!6_(vzY}In`Uf8Sa*`R->`~GQD$-l zV?$Re{hAeAL@34*3iDq2K>E3Xqd6+)O#r`g+;BrVql;u%d4ra+(;DLH75J6)$8oRB zTiz`rn*#beL_=i6S2N9zpIrvdLb~KW{b|6GFZvy7p}N{uY68zJ zev8dat@rHS7re-Tm=ChUi%G30ZA&d?-@tOrCY3I_m9B{vCKXtmydQfQ89D715OsJa zk>2o;KzS7b7YrNGm`tar5H`~6TFe)yb6YhIeSXtMa9YeZL$L)zkq`dODR&ofbmDrv z0Pn{bWV-Lo>V2Mh;Uz@NKY=nC*L%sbnOeSX)?K>gLo#OZBK%ENOKu8g} zGZL+0ad|4^=p>gPfQA2{X4rq1@xNCZuzr6Q?W7u;mv*@Q;1jR-lmu%8tK8QsxK!x^ zO#+HmA=ezC)XwvTtAUe}M|qRYp|iTJ-_^D#!vj@j}6c7IB^hhn+?WLNr#|9cEB;%sQ3|rp2r2$loWSbIr60g)Ns%u zgE;TEOy~}9lS^v{iP0LYrhe4)@uAJ>6bzfIFo}A_rNM(LYkQUSWS&>|DJ3-_gBWsi zp?&5TOth(mNwL4WICr|>Im$oBZ?#oB_j;`L{vv|L(M~fJxKOw~ZOIvZ)ZO(&hRP{DlD6fV46d*ebxi3c`?{;*4Dy zak%M`i_px5oumHTkdxPGl|@a`4QUK zd6!hBUf)sb+{4apM`fpOsZHczYTWwo zYI307zr+)U|GZ6)*&FU4{wpgTn-z`vQ7!F6cmZ#fY#>L-r?5(Q&nF`kp09$dbY@>9ys z7zfFrRzprN0v+XUN34>2=PM}4vrEadM-I4dypGV6Iy(jTfR+fT3q|Z%6Y?E4u^B{r zQMfY%)5Zg@`w;p2aO?j7oWU``4Pu@KU6oatd4P@-y+5^DHxxuOLQy`d^2k6sWkDeK zna@t0R2nWWpn(%HvGbJeITH{5RckyOE?(VHzSqW#!AjM5Eaoy&Q3V{m#a@>{GNb6-CKk5Z9AT3~66)J=y&g@e)XSxYy!g!^Rqfil^#fz5evZ1#gbquaFR{W3^w8PYL-5J-IhE7l0*} zySQQ==)=Io+rqR&RxcWE(2u2iT!%rUyhS+HYNUAX3@uLVk9}l<5C{t!8E2e=eOdPS z=?sicKHYTR6N!cS-emJ}27_O1Pbyr5C*|_FQQ1vnXRwurO6=SCREhQ%m`NTD+p`(2 z@351Yez87NONrW=eRi^A95i68m-8iPS1W0ARv@GUxhrWfAR#<&xC=UO5x7UJeJ;RQX{^qF!M zqf{v8-YE=>ye;lF2Od4yr$Xgt-dP?qAwBK*K=L0W+t<^okUXFKj`H~WSvR3I*gPE! z=V3HKH=}qx){;gccg$q`&LQi{k>oS!&|7x5i~M-H*;)~V8w_j7bAr*i+?QrbO7G}1 zpIcNvV+mKFS8JW9q~FsWaB*(YZ{A6h+Vme{Ro-NYk;jc$m&TNPI(DZV zpWdRUo#VbaCy%?WpZYANn`AaaZnR${Q+PtOay9f#lppuUrFvmD(aO0XvyX6DG`JI1 z^R}j2G+NDyxy-+)w%bBJlx+~W&ria9Vl;;5uRACeqy6zJQYss80D<>hElv_i4t@r zhe8keE4dA=M}-yR3~Tp{u!>Z71+U954T^lVb*kD(eM2l6k^R4hW>JfKG(>_qxSqcu zKNIY8aAvzdncf6{cpy7dxFPn0^6cC_el`~zDn+@dUGQcPODNuXD|Uxk$jLi4x$GgL zS8N&Pl4@DQ;mAOi&Y@E6Sm_fn8gIl!@^qm1 z-m%8-XO_Il4&T3i1lHJAv zmjkJ}9h!5vUbr*I4I^1$lCC}sUTn|>)XEpsS-K-s%`vz*Q?VSn@1MEAlS0mKrQ8K7 zZxw{!yvczn@qyx~|1SO7*N}1Lr87DO#|{!`vHqjKBikLFLpBmEA3SsY#omG^(*k)3 zBU>gv_%@|hPz|sGw*A@JlL#i99;TTKcM#5T8@gG7JqBgx&rLs^qrU+q0pRhp83RM{ z1Q5T{?(c_+e5$j4EGfWw0d*Nf{yr4(Z+!LNsw08%A12%A{2p6!k(berQL{oV!d$QJc9?0oX}c+xtA<-g-ChqOe5YX?*5G zK1BE?lB@r(FDuHW6`q*ID14hN7qbScO=FZ)@Ilh=K(;jz^cm83RNrVBsAd5qCg8k3fHtx5ZUw8%Ci@@a@hqi&KeTV|{WO|VpV z5L{LKZ6o9U-7IMVZcY(pPD*Z?KUQCXHGC58tj2FF4TDd&Z(cZ{%u=xY!YWx4unOo^-Vj?k!jf-=9F4cpfB1rd@YwE4M)G&@qjHB!e?GF;!f|sASr0#Mb zsE-3XOB;iK^<@a5eCE&_EiG?A4@?jWcNPGTmZZyn=zDfqLp!sH^%A2|2;cMCzTge@ z7FITzvu%CT7gZAK#6YfxRICz_jLl>j^KDo#sumpdx9gnz1I}(cCjT;73b&8D&{FtK zB@Awy-E2($D^e70k-OBunH&bUShWg4{}s9HgBLq6(BCw38Ni%*1}~v+g3(Eau}8qq zGt{Dt&v1}-b%sL$?Ic?UsAlO~ozzNA0@zAL0m#*u<*mT1VQSJQ(2it7ypl2_~<;}8D^ znJ)Wql0iFEM(eys2RZe5N0NEmn%r`*8)8#&=*N}*@Oxh?mJnR5LBsk%8)b=~bM?!t?@@Q(iKeV+vnH5n07w&<|v=(S~z1}4`YO!Egg`#xqoAN)3|tLmLT z`9zbh@W(+>+O9aA#JmZz>V$vib71f49;#B@npL_(m*}ZH*1mk)E(eAfA@Wb<@xNKo z>OkXA{b|UuELxEdICvWVhxBOwr&z@zN;LHw+26F(4}q|vx&F&T z0`U3ML8b(#0s{G$5cjX+`0m#@|7Jz!;|jk6y6k(N+OkW>89tUI7Fh$}iHL$&-lVOC z(l>M$q}cqWnYMgb7jeHV;n)g_{N1^3^AlK1sn`p+3>ya4e)Qnifmdpmcbh5|6b9eo zc&|!0I2=zJA=Wooc_|M*gN+}4r;X+y#X7)IbIDCJad>`2;n6>OkkQ|81YUUcI}l;$ zOrEE6!W+yn!9xS}X)&$h&(AP-eR%YT$4M$`0@xiPbfeR&z>S{)SEssSjb>DN2%^z_ zuNm2iBbQe$!z|aGLz5^&ZKX=ub_2k?ci9c=?XZsRsYij1q&Aq|_ z9eH@uTiMxNuC%&=qro@3$wvpX<)d&vVtZtwDa~SqZMT0404x3cWT?AAU5(9oeJ5A;fc>}tE_A9OT2Kzi#9{ndzs{@a`Wb-bcFK_L?Rfrq-YEV3aWwG%w_93- zfXV08C_Nb*+9d=im|>H>Ac?J?O;@LzU*hT{0obz1`}bhZv>`L!{IUaCX~ZK@i0S^;6mHc-Lwl*!(rjsIX*L=f zn&|fsFjK+{=Zv1kk7y zFd$1y%Tw8W^$CpB7)LZu+t|1dt!s zuQ32ZS4ABwPXLO!z4eTfr~RbsISRM@T3|Z}vA(|E9Xl*&aczygaQeIWD}dn22;$}v zQ9_**B#*9BjrfBl}}+~V#3V_eFSjmgIVXv#j@NV6=)8aiHF@7SR+O|DXufP11+CtE#SPv&*d0l>fdch9 zwCd+PPs6bw-VX_Zp8x>E7Xa6D27m@*AW>aXGsNQQfb2k&4R#C~r8BAki!99+cznaA z_uaree2XDUp_6WEh4gISTd9&9VoXFaM9c!ac8qp`Or8TR{)sL5VqIZc2)zwd^t*NE; zn-@Q#d7g5wK#qH!GiqRaXVqB> zL;)ov$i1WOgv{<9Z{qldZ8nr|H`_;ecImmm`d3q+}ATIRv?1F?! zhjFMkr0l>6SdhWBv2*tRiV1Evp)i4;;v!-H0uFL8wUhaU8Xa?Z0I;ZHnwGiaO5}U z8PywBx5K%LRuEVs=n=&Tc^ksRfI$Vd0l4T^JKa}HzdNzfEUH;qe15DnFM~Gl9>7%- z7-(Yv%(9wH*fl1CfCK%o#kaWk5ScPaV!B?KfWwG%t>z5^09-_85z2s2VBG~sYcVPB_4 z=Lj;XWeu!6ROC)Ql0u|1dVMZFF8CZV*Nl6y@UVq?q_%EB!#jI_C&=Y+ZV_bS>gwuS z1U|f_?Qb%Za2yxxC;Z+bwz#->Lj+3cSr=R-6iBP|zAyT!rw%)-Q&QBA* z(SR1E86X5gJPiPNDJX+%72;5#qS?Sn*qO&7pp9stkZ3aZ0a#o6M*DT&6t0G)lOPkq zH}?RmIIE(n3e18XmIL57q5Q0x9^2Dphr)P-VL&YDW7cuBQvfUYx31Rg@@w{Xz1cx5 zDIH)RfGOYA(JJr)SFq!a4}C+PLbB3V$DKa8T5fM||FSoc4NiA@M-2{IV1^ySl8SVC zmn9B7GeWM`-3zE2MCD~CZ)Of|6dVkR6 z4|5mTy#Wt}UE%Ea^5sjgu;b2PdN%ms23BhDEALoEmxm#~5n^vDkC`q$u+)6*aK5U% ztjzavlxO0;ZvCXnByy2OJvPHBT|=>U@#tgYn&;u(3Ap`gtwN2_47f7fTErd?Kfjkq z_Mipb+}yl_qvQIuqqFnHW0udaMGAz#?t$KU?pMQX?xY}6ICQ{3WBQ}(!A$81P|s2( zk1*wx&h35G;eeAt2bmDU57r*FI_?h7@UMHHcTR|2t<0%0UZ_^;Qt7?*lR)eSp4ym? zpZ^hj_WNqRlWv5YF+2~Km78_{N7U;KC*SRE6p$|naj=$^B|N~!+Ipw5vU2|L;NSu8 z4Qd`0c&2RUHD3VH8(;?7>H5cy9|t~!gy8BXrJ`&Ed~sJ#+}EJJ@@&5VRQ9hh90vB; zxjA~^9t}!yno*cikz7i+WcBr>(aS*qZx<{D;FC-0>dqSh7V5Q)P$plSQ59e~;&?|w zc~lV}^?gkbY6LJByh0eBvCvmbYpgiSvkZ9XmmeSuY7I(E9s6azCS(jfGk4TCFA%9> zCiWQYSDJqQ1OTt&M$L}qyo9KptRrc2E}|#MrmM3$91DZ5>E9KPG}@)77a`SxS*L+| z(wadf<2n-4v7)SOn3;uTnN~qVV&zJ7+EpMT&q<(pg^GSH5cI>?xj5mq@^n$$(9TUf zgX+UP0R6u2K0U2wAK}*4a#?Dy(*n5gXq$bn^6s2UbV^R4{b(Hv>))*kF=eWxgZ$Rq zw?8rvlaO4UEPXyKRAbbPz@!EfzS+o_0A{VD(_V?eazeoe#H3 z02KH4$ab`NhcG6hrdRtKCzVW5f+uG`dUI-eB;gwq-6X5!hS!90^x*7?=#>ti)=ofC zL~IX4uaE9JGJ_U2-!IrKH{>#ge}mrJ5qGM=ZAz#>aNJdRo~Y7sFN^!;cV z8q{Gik@XP)gM39(U%!-w1Z1eD@x2$HN~I3y+P+N zwyu)3ZpMbrD(Fyv-FV$FwvpF2-fO(5U$9U34Zb)BSGMbH-jz_cur%hs&;!kQsF3D# zn_zm0kiTG}0}QEa?4-RGa${I1vf|d#N=3;y4%mg?Gs-lowOcNr*gau*og8P`oqxX4 zuDtnE5V_Vc(@($oRX2@(_@tpqXfP*A?)a~JNlY?YcEcTj|g9l&XcNH&(62(54Gu5-CLf z4{xl0*aP_EW%X$?Xh=Xi@Cy0=-^(f%ILjFun30M6v@{EtK9;5*X{bds@VKsLlkGE} znmSHLmM)l?Ll)kL{z8Em-abRu!bsDSg9OqL3C|WQd$xrK^U<>31_`;8?JN>ZR=3BtFjR}$0(zmBbBt81*P@%$8xt%Ed!8C)d~sR% z?(nCcY?{U=JEn}5`;)r8j^9(I4)TnHzOfA-&=yKp*?ak{BoAE5*IVVlTbDkQ9X}U{4x!k^KqtTcF~AVfl{88uj4PyY_F6LwRi08FEYDc5LF3~j ztkGpNpY6j7RzpaWM%S%-Yv)oRUExwfWA{wk7wHUPLhN?w5~RW3NP|Yf#3(-)KE(PH z8xx%)_yw4yw(Eg}T}(^lxJ!q`u6~NI|Esyd;SVQNeG#9ZrN8+>gTET70~5aBvQx7v z1aRdbh$pYsL!WhPy-`gF0ZY$)`eLQ##8xgnMwJ{gkmdd!Z>9*Znbq4J-4U41hKR`M zF7MV@Y3)zEq#^L>jR=owTiGY+u{4wqAASVr&3;`C=M`Z@4DF-tcZWt6`}(_L(77>6 zq!gxD$7qIo$$G9ZmZ4QY_Pf0-aYvv5>|3oqv9E_qF`gp)9n0+@$@SpKw`1F_6cbdR zE5{_+rB=;3UY)+~+MD0O2r>9IL&sj8A9Ie7ZM;qSCfy*%ZNQIQ8GKIS-ZTFPqax^TE0&+2!ACTQs67)g3$eH9hyn(OP4zU!;{eaS`4Qt~QeIt6~IK zS5GtN!ZK;lQ7cMbx%oPMFj$QtQ+e$#wKnYU)EW)%F&e_6FY`MTET7&Mdp{lR0b`qt zh6xI-;6J^1Lvy2SbicM}kK-~M3FX2hz*)V8^_KOnuWc(91|~TGO6%p+1eGkp_tN;H zN7F@^))_@J@+>=Z)yFRkABzv5=A>y&B*@qw91RCt`)iq-%WR!(A8%T|^brfvQ^q-Y znj+TUpnq;b;&yh_1eZ6iL2=hSJ9AbDU*v{GgJN4;o{~l_4Z?i!P?UUU;xx;g5ofCovcvw>Fm{@@VtDp$8FiW7f+s9Z{$yr_2J7>> zO38O})<<)s<3^f;SUfGK*ZV&T^IZ=WAD8-VDF|YaH;r3ecERe)O4`HhGwjdv?`~xn z(s15ei%2@J&GQp~9@)v+4tT5A^Jz@o>l~}p#}1vIt(+A}l7YrV$V(=vxp}RJwKh|f zlPH$dnbZu$Uy}r?VMwDMb{4-=Tz3i<9u7L@d-?Qi5>VY#E~gU`FiD$i;-pns2Ap;i zrL{&0Q2Mq3o+c?3|pWKGrI8;ng)dJKl? zexQ6U_aVF9-|a^L6ZSLyR?O6`W|Y%<2U*kFJO-qLb}XK$dss{QH4^`{f@Zw24W{(V zU#RIr^j;{4ZyhJz&!yL<)EsAAg=5%Bm!Hpkq8)tUY-`*yiKR42->Ss=42H%w%veN|Fg75)TF`_= z)^w*&nhqZy3}2@yI!(t)=*l}<=$du^p5hq;ANS@LA7RyR8u?Vi#lcPunS}U!RX)vc z>^B22N6?3)aM_O*4oBKTGD~-E8!Sys=$#`xe_Y?SrpLgi?*Cq$AhTD;5%Rq^Tgf%q3s{C7vB766& zu2(~`VDQ>q{x%%RcWPeVo*R}lmY5#3SDEaYo_7%>`Yj|#L$AW7z@oo?!w}RNFjGl@ zj%~5dC0Xrt;1F@cZ4dTmHqzZH>_=+sP%+a}IUa{9 z$?Kj3-XGepEiNx2Y|#zJRbU3Fbh=(eueYSoA%F>&b1T*(@_VTl$P#Hj@^UXa`zKt@ zSJ~f(T(ENJC7~j6Z*C|VFJJ}hvL~p?Akig|zFys+$H5|+ot6kX#r;_Y-x?yeoP11Q z`!-kDuAy23^CKB}lVSOnqCC1HqogoPWL#@1@4(wU?~QahVlnRt)nfKT8zI-#&Igu? zY;JIM$Tu(i3ESX=l$O&63X1FBsXrSu6+S>g!>R;Opi*#f1-kiK? z)J|T~Hh+z zrYdu45f`O%VwOvAs9#Xfd>Hm~dfwfGQfR_ivmH8`q=}mmY1v&o)mQ~YL{&x&DI~3N zB~q%|*pCAB)#wvll%GBcs4d^rn|~801?yyaGgsl#(gvm1#8!ruR|r9EmrXP!&8tMk z!kF>e3cPRWfisg0DGN}TRyird$u@5*p??0d6p2LWwQl+8Sx!=rBfd7-dAY3F2c5NO znekWUIJuT0)XX2xm@Qc)zyC<&CvN!4$EgyhC6L9ZvHHGu$sLJ5lAd|84$m%=wVb1J zDk%5+_aud9O`k1P%$4e^V2KZ2%(1oj5#x;CC#y0Xp- z-oJo$D@4Qq`R|oc|2Axp+$e|fFUtlb(G3x{L18qIF9^m;u?%rH0fAbv+Caru-jvLvtcqkNdOB%1I>GmJG;hi#p z`)2;NN+BLFY5 ztuhR%CML~dLHHlk5xRx^!5D2<61lBkGE{it3sNBNk&{(^p*TG#o4HmEQ;##oorxB{ zQ-dNC4U|r@NP#f~Hqmy)qu6O+XS&}{(u<8eYtFiUH{?@fNMohX5nJ@_KXy7p7-i=*dkZp$RnR6lhRzkwr}m7YJk82LEZq3nV0C&3ca z;GkKg;z#0w%REL*6>y!Tjj$YL#zRup*P>#Y6(AHvCWJgdLF7; zzWA0~UOls{u+vjj1vWQ7f&DI8O7ViLCgJFVRM>v`l#H4%HPiIo%~zV2Iju8qbE2AW zsqGeBoL{r$lf0?OBs%=ruV0VCb_6^J%`lF+JHZ=%T1j(A3^Smq7_!0uu?vxZD4BmV zs_^G(0iYuuw3Xr}0Brui6E7XlP@zKuRuv@2{Wc`rQPE|4+L4}jnUd7G27-Pymc-G> zU5tzZcHsZzx-jSj={>$pu(p$LB%l;QEbSG zPsxF&KV~6&9PKnGVMKXz@8*MxKhNcP!E7^M2^S^PK$I0lB6wT?8AvLK{L^x<|FWa- zHzfv|`csL`h+6k?V#=Co)y`wa(}i2KDLuw6xHG`#{wP4JLL##13h{bZEag2LG*BE$ zE2mid5LV&8N1@T zKt1$>Ml9Qk9H?xgSCiqYb$FVmOe7NMdmC=hNVG8$|MRt$(|P6n*I7L8;a8IZs_}R; z+b?Sah+Pk^Wa|T<$@E>u5xUWldD~Kk3^;gVLt%vnZJ>#M!C=&|u>^1qLO(^%hrSAu z0bqO`BF}(i`(J(WpEeq3!BKz4#=@8)i5+48&!YfFQNK93t2{Q}O!=REFJqDvC8uP? zi;ndYKG8N|VPQ}a?hk1OM!dV%Nm1y(M`8DTxz4cW=p@U34t_-?bZ`09^;=m&Vxp+= ziyGNR#xR$n&U&;k(7~KH!~Ac)*yt7}57y(;U2e zc-BKfE456U`;G9lw0L;3Hm=ZR;ri zBT}eW$%gpABqLekorgXcQUuNI@PXt~LHOEpia-ITL5Fvfb6W+R1I@vP=-~IdDcdVM z^8y7MzR6H=Uw%ru9@tK9C1i;0WmFFfEN&}^4Iq?0)Qy4zNMXJ!pbsE?SAdH0pDDPW z5;?tG%vZ>z)KZK2^}~ptO73f5np@Qsl|-C>hbbQKVzHWc@)l{;5tHP4O)o9i0K<1l z@#+Fv3Nw;zw$7U&VvZ2Uj<_4z-~H~&EgWg!b{LZF_fg?Hc9Fi>&wWr@u{RJEVn0sZ z(sts!=j$f{H>BoUljKi?#ovGYNidCJ8=3qf@Yy?GxSS(@J{74<@I&CTwHf3+q{I4^#3gRb7ygF-j{EokBp0umZ?XHaxpv55aPule_ zn-zakVo*=m0ATvulDG=AI|AfS`A2PNM1*fR@lrAW7!^(KZLEZ~EZyQL^zy^K{}BY>n`AQT4UEG&{`A_;J8~l>%ViRB$hYCidq2 z6yD2=;>!<-VOc-yj0lJpI`6AHe7Q?+w$F!MDJv9n~Xn z4^o=89w41qL7T-$-r{PxchKp?NW$Z3LE$|E0iM~?P?UkFXW}lTgOq_=#p-~c=;N`q zDH_Zeu_ZE$IogaL z``g($b2u|+y1#K!#N_9pp7ycpZT*=GZVLP{-vuP`8_O*NaOL|8ee^_grWM967*lTZ z(mYn)y_vm|nSJuJgm0EG)nl0I*?#`D4sd3(Uz{v=a#olg{(}O5{BC zCqI37qWA8CQ9604=(VtilOCD$Y12jA3xa;Pc26Z=_Nk*+Lg4u-?8+)xrcFg~a_DJk{w&A2z+l z#^*_&%v*eNjTLd04Exz}m||(9OVF=z9HfIra++U$HV9t&-fGEH_cL}}?WA;-`}V8Z zXZhOWX1KA0HWq>5n$9Wvo+P`HRMaf+XZvyTver>s74JDLvk26k`1K#BIXRXLOJpYL znRhmAKDX&5-m^Cb@8}{)r$2>t%JtBUTTg_kmlp2&5Hy(?l@_l?`Mdd2ljZueP0Y#- z3!ae1rIDsvajSFEPgs|l%jLr)r$G5MODXt{y%?^xEw$)MN0qVtL~k(Ms$N?DWFky^ z;9SOv@vGIi>pS@L;?%SG-9ohz^!Z|9LqkKdGmKqI?&(_RGgU~QM($ky!7B&{2x}# zkTr@_areThld&2xnRK7TsKzpOs56ID6tNU7%ukk1r+l&AW#~YZDBIoKODuTC78~G_ zH99OZd~CYXAN&zq?J@gn?)1aqg5AF9(`Mka&PgS&5NchfuC7$~oc9BFIqB&ozvK^n z7`o7_X6s>*7J;20FW=nj9kx0$)p^s%374Lt$N^I)A8E7d81t z(-!Og=VhlcRoeSEVld&k{<3hkG)*$OJ;do)Yt<8B$~s^K#?6N?(GZzbD&nU1p|e{~ zi3{X%)9}d0UDjbaLBuvcWCq`B$8YZ=S(GE;RvDn7y4T-t#aX>_p5m{QRxu|2_Tkc? zQh{XgoGuIx%H#9L1YKT=l9j!r+q;PIA!M-gX*!id+NXjq6)>eT`&ov0SRa33tnO?m z7wvZ!)I0cs#mYA638)#Yj~OCMoU*)fX^FBl7@7HI8)^q^t-la3?%l8kPp_rDpdNd+ z(0?eI`t*e7R`O@QnEZ)|7OVC6qDxyP%+^_c4ESo4n*lI)cxzv(In?@NzU-!Ln5e5`i-;$%47kzL*ZI;cbEZ zX=y1G#$m{bN@u7l3L~@875f@;0YS*I`O-MoZaSM2wELBl2-@^jjV?ruBmHs;_a;8Q zjY`NyRLt9p!a?ihx0CRbM03xneY#h}nSug|kuO2-d0tl?kDC9C{Yij`;vS-|# zp%!r`6r4wte}Lf*^6*zy_!J#1vH*3X1upbzOG~}6aLS>LG~E-^pG7XM!-;~=GanAp9|6Cja1D^M zKHNPmd%m`JmZ_@{|ITp-4cDP(B>2mlrUMOoU5DXUy)T3_!CEGC?6*+;IU;3hsc7Ea zVkV67WJXNPf?tIr{bnV07BCnavn~nWpigaFNPz<_W*Rme!DY8MJyaGu(*%s%`tAZW z(I3G>p`P$kUaM`>$Aqba`dD1gPq*IB6`1)FIV@{*?oK;;O_~&(2M~xY_Ea7vEiP>h zWZBqy-FgYe3g{Tv`Ma|%E%RAi zf$3kUb^9WUR5l#@MW9{3_0maI&T+7;nuIOf zr6ahwU-PhKS7Kmy;Ag&b-^B-`Rco}8INSlE3xrQ{YEMsBe!j%G&ECkrP!zrJ@bZqu zWq-oGOwu1D=GRlZlZ&isK=rJ#dC!r^)2}jAbEAK#?4{U74}3%$8npY;-2q(O`!;hG zFyS*I)d&3WPKGMl$?-6kIdaBPy^D444NEB80sc@mg5d-9gB%#V2(x%WhbPXrFwciu zc?9vMP=h3*^OU{fM=;V{;l)gr4r&!xzcosSbHfy}J7zYGqo{S-i1X7FvRe(GUQ@nf zx;P_(3U@iIhfiQC&89uinj2sUP!zhgq({ZYUp8j#93!_@Dw@D&OqzNim{h`BfQJ0t zP#|!Syc;}r6@F}khJ|G@DgrG5i2U8Q!{787S}^vX=1_wjjv8tAv7+g###lzOQb{t{ z{up(Afir+jQY)k)R}`BHmW=jS=&Txh^xiMBX4YI~7?UOizs@ zp}>H}Eh{BT^-d1~&ze&%)W2C=v6b19q%m5NXR#2*;NmS>j5E?ZwBF~T+;ac?+{YFo za(wd$?+8P@3kjsI)tk6b@U6XqgX6}kGZQQmkrUtvaD-&GoXO&@rQ)Z9O?sMP!K%x(v9v|zV9zGwLGfNOvXsL9G&s@T zO-?;mu;fGG^M(=jP8W|a&jzS10-+pbg*G*Lb>=zpCry(Mt6g~)3-Db>-;JY_DUo^V zTICyDba@OhnNl#_+;@N;ERcT(to6|pCE8SB7gH&@%2OlOna373h)SR3Ezq)t2xMIB zKU&xTDMtt$NM``c6Eb+_+Kfh<3cy|v9{|HV8KHTq%1bs*h&@C>KLAQbNZ~c`8xNB9 z5a-N(0hhq=fTD*7*eAkQu%L5)yJwH-nBi47(K&D{ME+)&G!-E5q>B48rHUGHp+Ovn zoDKA-Ly$XiVoi#WQ!M!)?f?gV{)ODZ1L44=cUOpq0VCyYHGF*?@;p(&kW=D_3tYJC zIY2Z#s3+vlzlMIH1cmRxuB?6H>wgS|EJr(|P=D(ZD}G9+e1q=P%06AMcdF#}jkgP8xF{f^xQ@wKBe|KB9h*CWD@ZJUR%5rZ1i&KB`bpFPvU3ussd4(sB2eeWMtqTPIdBeYpX8^PF z=qiM(^Y5?Y7gVeWJq9jo?ZPq_(1C-9_12pxHwujB?y>u`Ob(Sw8xX8EiT)1Q>U@NJ4#N)^#57iEW?Q+9K(87kwiRu3`}ZsHdG ziEcE%b|0RPP)=f~V;s>6(j*u9xA{dDZ0 zIiQL1uDC-o$y<<43&Cr={K_!a)Nx&4WuXIVc$b*gG#>d8i7a_dC~yHD`8x$18z~h@ zQlpJr;$=h2zRQhCQmLQ125(++lL$tyBEDdBuVRlVf>K@pecPWu%)%Svgg(~EHfF~C zfNQ7@Pl$cXGhhrW5RbSSQh|dUaMC#^Gx`miBqZiDFN$W;Lm7Asx#jLwn?1rNPI9vq z6*J*V8}o)UWCF`Y@UUUYO);JFJs3cZy!MGl`bs~#t^-Qld14(@juZWg(i!nGa}F%y z&qS8IN8$If329)+Xf2MJ4`=wSAvsXD^AO-Vgy!bvW-jhu?4Dbm!UVBVH$)~yb{v84 zzAv{^93C75c7i)P?%Y}y?>74Ba5yw|ZMLLTj#{C!e#sROe@nKBZ~^E>yT5+AN^y}j)!w{dM>K4^*Bk_aaGzNgv@ZQaM#PfD`shth5E^5ska zyNiAPAeJB%A|tt85a@^~Xy1!~;1pPlFAEAJuuR?(Qv|bOrApysDW%3LrTzqyeOTN$ zL3n=p3nxeiBywpPh$znibp_LH6xy`v7Xm(_9^YKf4~G|M*UiXEy{^zW=#>q z#u%vH4O*iM!nkZP#7wm;V#*4MxB^?qay6xm-S#R?_{9mALK_J-5J}2|F>gW`&9*>F z^oO^LYv2H~j$5`X{S@T!i^bbpEbxLI+b;ox0P)sl%yE1zt)MS^D&w?ajl6?x(i-vw z&+)`;gW`*+<8I?WN1p84gEi`{X59^rCFBPEzzVjfg%aNGEf4;#r2n zAEByFl_L#^EL_<^KM{`EzPElVR*Ni0Cu^&YSV_k-oDw7W^|PpDP>R>fN#-OD=wu%1 zBzIQ>g(@|}ZTw!-@s#oL*c$k0P^k`%5co;sc9_DNLhjlWc6zK_7-?Cj{a|QnEjmr9 zEbONrH8BlpJ2_AL5p8&aK5m5TjLm97#TkdBaS#R%711PVmuq3kJzY=3g4oMkY27r% zBTxxb&4J{caCE~DVi1g8cw?5y6e0}~W69wpPA-Dz@SuTEum@FR)zuVV?|%bpO3c>6 zm%(_vh0ap&dM)xLBnkiXmWY3Y?k_uON{Yd`MDBHBgda10LGxBT{Mw)?A7>AuF|s8P zy$QU;>>K!6E1pRMENx%*II&GktP1x@tuFrBDsSpBSzYWY;s&0DPr|b-&`qR>R5cCd zifqOx=*8}$XkxxPLF5b7wV+Dy#LJV_REw|Hps8sPheKN&Z!Q{e!gDY zTFlyFsm~zu8gel+==8ur8HSsJ6=7Lk*05x4OA|K<+Fjz{#&O$m(=g4md^-8EHfTAE zC)#+VPeDHnph_`%9b*>FEYl{&uH?AHaJWEOAt4RZ0RC0E$oKu?^n@*bur3xm5a#-oR z1~0-Dy_n2lol}`ybLNx0+a2XhI&!k}+5{D3w}jW6H}mAk`!6k5Mwj=oGpSTD@xiy@ z^$Z12du%7HNjMVF2WhQl0Wz(TbMQ%|>+{f+r-n)1JFAg`m{|3GYNCP#iJqh;v0wt! zx)wxe^HotbU8H=pL!H0M3ixW%?^I9*7zZS zm$|Z`3qQ8W+tW*rFBUtzf&y=S?zZ)^Aqr}qg~~cvR7+|r%IL5v+Q@M(X6prYy>4Nl zyASQji#c*CN|e2qXP20w+V~78w23nU1O~%OlsYx4tHgyD=N@T^cwZslJr!A5*{;#; z(>e)6O7?EkCVj(B@WcJw26$s*6=juzsYgnN`&G~qk62X!n~$Gkz&oJMx%c$;zM=_y z*&TyHA@WMZ|LSO)r*eeushwiWPHZ)1-XI>~&)#U0W~ztl>ua|pilgd{HJy%Ap%K>XSdtRw>Vj> zs+v+D6xcYE;KutvR!;FjZbwZL^GYZo&x&SIOc1*^nrf;rLBCUn`2c*I9q0*(+~^mU1iD^eFH|B||S&YA-3y=OOOEKY)Jyj32}9FsLWuEOhAtCs*=n8&YZ z7FiIcWnpdS1YN#PzKY%0RRVz|;ku>oQ~Z+8a+~4xC~du~=j)|F>|dbeGZ=`k+M0-i zXhfMYoeA*4L)0NFJYsgtj2=4FW@%&$7&z%9&fMAboKgdnV|ne|0lPBHl7U=|b;%|PkMb$tZdF%&qE zSu%L#BL_}o$uUTd52TKc%8N)ieQ(Zy@cdV-FnZtm9Tz8v-4%W)LBD&nef~7OCKT#A z*kPfNO4{YZJZKi7$?{J5YCkA=(lU0NIkAd_h-}5^)L`N40>qvHrvQ&-9qgM%JzqR9 z)Ax8n1R!36t`Ttyv90)`XnB~ohxPzINQ`nC12?J;CN$D_DUY=>B|mZu*U_E zD+#3BpG#Gl{)nNgnbRA>uKdixi6WMZTZaqvEX~9J`s91AY$EwxivepQg^+hWz(;G< zgEv0D*k1&zC@bH4U+jI2jk%(`)Q5tB@D_U)sK*z!kwroqewk z_)d^lGuLp_>k`mi`oZaXB6T1F;kx{32yIkhBXgChA?w^s;P?S;_+*XUw4=$2#`3v) z`l|&qsxY)`9XucYsR<@18;y0)^eFUjGMskEjGk8CA#Sc&vk<_qOfHE10&a`Bd3T

gk2LR0(8(q3wC?u2tkWW**gt+mYc0`$ZPi7BeYs{d5MQA^UY_;COPE ze?j~M+y1mt^gW@Y#e&3;0{#x{(=S?^UHAeb^7Rs5C!sC4LbPFEw|w}81Nff@wAGX> zre?X6K8HKTSHauvTBk^+NmrM6P8vX5`c zPeQMz>!3bR%SrSZJ#qLf^$Sh+E93l@PmtKn`MqXTNS2bA0u)(xhK(H)DQc(S9jX|u z5rg&|jJ}NZ*MiL**mDt#?yrTE6}7k_xJ0|kDqnvVV1e;{kEE=-J1n5&VfA+Q+~YlM z<|svy-ORBMeL%&F4Ba2V4{^Fk!B4%*dI|2qExVvv%2{NyAO7OloH9Sdba7@;#gxw2 z*n*RaMd!#E?*f?+SBPjtVe4~whVcoM1W}xlG=c z+S9{;#CnTBy77>{U6-FPgDdt*$Tty=y|{4XHe_5jCwez%5u=9!J*?TFR3%|cr95J1 zzQq`h3OC<+fRg=*I{Jw%`Y)_E%Nt-Rua6iJi|Je3?aI=xDDMJ2!i6M~4xViz7Np&L zqys%cNivpiHEr@x0lQR=Q0=`&o9dfn(~F~&n~EW4q5?Q>YR%dh#)+QNUaLg`A2DN_N5s$8IK zt~y|;mWYi-I4q2@Ii6hN1@#wu%dIfEhiT1mo- zK{j)6ELhgO(eT(t%MV1m?Q}@+p{v%9E!N9t&i!$~@CiizZq3gh^c)0Lgl&un8OxI( zpqzwgs!E#Dnf2?~5@1B5Daddg{^R0TdWYAa_kS7nKB!G*5iW$wkifmjh5yq348q6Q zfV4d!xVk~~K1x)nCr^?j&>kMDoCI4 z=41+xhz~Q*Igj^wZ-@W9-hj4hiq=-x#`3P$zv4m&JRm?3;x)V1b`Yo}lp^bP&NDN} zlIQTcrjzwS7wzjU#-i=hx%w@ijM^0$qlQ|d&`64PiGdIjqDd35Q~7|ng%9`n}R#G-33X9$D=N<7(L9s~FdN}9|P5V#PL1cKl{M$Iz+L7;<> z(@OpdpPJbYbsRNZgrn7!#^^XSX~cbc!}Yb&H8{o!t{YIG5Js;XI}BQhjAD##6xpPJ zIW{t3X;?kJ9euIhNrRu`L+-=!JGY5wrK*%Sx*9J&<{^39xnZ0k(sXL`F89{_`q z0v-q1-bmEShVTv7HG|s2-+$%xZ!mGYY zM)j=&O;xg+X1&RaClw2C-*Uq|ZPpB(->Rkvl#%A03C)->K&|%0YINI@=juQO6Somr zOVtXof!-&?xi$u>mry5(PCloabU1p4xkJsz0xN*xo3f;|{=#{k^O^e(Kj#BJtJi%E z?+Opi#(~4nOI5Hi7JZpy1R|t`n$q@}IV7j}PsDv(N8~O?5Q}9^tE|rkj z*8SKq-=mDH2ONBEw2Y)I0dJ2_?_S>&Z3)l)KDj0ygFQPwTb6xnk)`s6-*g#6Kk&P zOD*s)yMCwdMiU-ejgOPYt6xQ>*DgFdh8*9`2V2Y@^pAVFP(T~teI86A9pH-h_ zR3Ip|nh8rD3lO+}B*T%fc#EJP5PTs!0`q+XjI8T9F)OCpFrVS~X*ovEwOv-tonXYF zY#h1z1qCA${tF$^H={$q!GI5VvSrPEM!kW{yy+cvU=CY zu|jvR&GrSpRBe0GckU5Vf?uq*9|!I%`E=&%jpA{nYy;)p63(%bpYW)$zuD5PW#lWf zBZbMWa9?io10XP^HudEGfor;to0 ziVM4l;)yb%RBuRFMP!c;e@pDojCw((%YxcW{L7GVPiwMX3(;1Q#@nt9bN;PYPY#{% zWo#u)^QK|FO;6^MiILDdqCWiU%~vn%`$NEdYrq73Td#gT>E8A)usXx>oz8Y>WKP@n znX}2;j~K}I%nSEoCM-BT2CQRiOHjLO83{EvpVMEG=9p<-MT!Rel_E;3Q0lXXq3!j#GiRXX z><5uj9esA)Y~4;XBJ&TJz~M(gpAYE zK8|_he~z&M4F8xQdIXRF7yjswX@R2+3I+&93)FP~v^J0$^tO zD--Qc^q_&*5&PJUAM)yOj%3pJ;EFY&x{FgcsfBa~dwY8yBB6}WLHES4m=ufV)sOG6 zZ0D5@*&+lH0YLtyX#OWSkobSULuOGFCN6AfTfzmz*WmvbU(5gY^=t!hwhyYr=e7E; zV3<8&6q2%|cin=laLN1nG?k84nv4rPfyugN#(-KoP2M?}AQo(leOS)IfF*<|J`5Ft z9gIA8(tV)k^&8}p%A|=!Ve8>)?hO=35P_6C|M6-N_~2uC^w(TXhXcGlaMNR?-~m5K zAqGIG0D&k-q}ajojwbO}Hpo1Ffs zQdy-@z<0URia>mJL4pHVN}S1|3~cI%cz}wdC$>`%WHVOTMmj^E#b21$)pda*_C>Zu z?trGt2ayQkl(gP1evqffK^-|5RXBS{c|KHsx^jEL@e!Re3==p7=l9pT)5e=6sT0KR zPX}JvcEyH%pp{+t9}bwV8Joo2WZ)nS(DJA$Tu=ZA19Y%2&bePgLpF>)43lEkJealF z`Q4MYVP8vYJbUR2HrO)hn4>&nWG4L$t)(kjuCvm~XJkffg=<}v44TnwmC?=jyp<}h zj^WkVa@T}zv1D7H*zi3L!Zv%6Z)_>QZ?iI6ZYa-S#|n7KxY~rL^OXL2RR-=?n5tYb zO**N-oa8 zJXwRaWLtEgrKo)Jro*Rr>dY*Z{2TW9-VwP^PCq{uYB*Z;7wfPkk=9(392Lllm%o*# z!+CMK%Y!7aEyyE({N~Gh-NqGlboud+gfV;OpYM_DHm#nfkb&reM1r!>3ShjU*18ts zLoH$2G)R0MHJEaB-Q}b+KCU}O!{tfl=3)Och$Rq@jjrIE1S&}QrozP@rwWO)!!K!p z10*2A2SoXQB)@-R5oH0(zW|t$nO2s7;V}(D3Ij+>^N-%}t>kgO&~wFZ9k~4WSVRiI z=1+oz{4)z65ZonBY7{Ff7%+f9E;03Ez>|%Br?#9CTU;Qub#dWr3_OJ;h=GlxhdM^b z@~Dxcq(<(HKv~{|I)U#DVuh1Nt=M^~hG;cpS7N_-Nrx60XbSD7Iwj%kg_B-F8}$iJ9-#z;t5n7zKjP>t*`c;@__p*| z=yleeSs!ip%QYl+WbWXXD-H1MAZBQ*;7hTw(VS&&?Vs36$R3!jSV)AVO4D~s&fuce z^>0@>#YhHluYV=X(D;acS)RakZd$DPVXH6yCR-1@etH8}&$CX}{mi&`bmettY{Dzt zoyJgkYPi(at{;vtMYASfP_y(jrjU#|P1&gm<>d#LFU69RQ+u!5#mm>?X3T6#KdOT@)PMnaqeT)nTpm<{m4|cymne*O&05RgACVIoJGa z7+)P)bYJVL@jbQZ*4uOMm^6E`(Vn#*YBa9H?YhOa!DxPaR9)(-FT{dVnZBU^VzOi!DYrO^`DWHIvW@?E!Y5|}F*PiZV*+>>i1A<*6uP2Phm7lvGu z*5Y__bZg10WOBwa7xp$oPG{^Sd{v&yPeUO@c1kV)6Pa*=mP?9)8`_? zbI9=a@CVS_(Hp9X-Gel1*he^W3N_0}ru{WU@ zo59#=l0|hZUHCWsieTaXskbc?cW+yGgMRsTmA*)sMP|w}IK9AV{3(i&u4e0p+NxBQ zWlbH)`f`#foRj4A+_@_Jq4Z&FmClg2>cP~TDE~%77)kpn)Gu6z!k%UX%HK{hl!*ryz0$g zD+Q_+pjWH!Fi}xRn}^$2&Voa`GXod03yXaqYmv$kg_CLA35Q70ms-g73Ahs?qJaEI zY4ymQqzA53J+@$)_`c#p2#VUM|ETjoAc!?YL26Hkf?7aVYXtNszkT=Drs3}H5b%T~ z+%UNpat=OVD^{KpZ{qcn!=yLRuVo$zWv#_D=CNf`*@*Cb6u1E*!hrm@kNyQb`5#^b zaEh3a^6!swi5Rs=Jqo1J{eSWA)8GD`>UrE&*kE_D+Ll+G6v^FVVgPwy-mW8RZcS|b z^wC$C`f4aR;~3BU#}c2LrO&GexB((Efc%Y*|IjEQLkY;pk72p=`qv61ET6;tOIZGi zX<(TN(DVS5546_-@bk|Stw%&OZXA2}6~r=hSX?QTB@8|<6g2Px7W#Fp57}c73eT+} z^#T6{5h+0ahllwonfGb$=-e93VL z@H#qgU_+Ovyv83r*z~sMf)!X!4-v>K|EC85F6DpieuX`UxB`GF4Xzcn)G#l~nsqI! zSW44NH5-dGRk85lEY&84N2zhOAQCre8=N+!YMNypCHYBn;a>1Cvq9fIEyU6C8I zPRuPIwq1@QtYX}+w{PeAS#FJvw(03X2a8c+BEtTQrV1v7fzfO0!&ajfg3-jR!-l9?uhtWrS%uXVui8KpZi~<`6@tOu#V86O5iDJPl_^N2Y@(I=| z$fBg6VJFKaz!4gC@-+a@*@M>#?@`UE*QDa)pd-HO_vv4KbRxTo`@NUYGt7ohVXLv+<6=>-);LM^unIy-KQO_|bP= zxjw-gjMa42%xyn7%w5TNi&edvo8Jz{HX!m*Kbxn|r;nQThKMg1B|^L{4)3Vu4jJVq z!L4yUTbBGf^f#+lAArq{p07)G%1W?C;Z5dvS&yzHMEUSKn{+geyEY25C@htRWD73J zE!Vw@<+7?IjJLkHJo7hO3b)F<4fC5&C~F*Q0JmA)@@}oKO4#P9o-3(FaI-r0WE2{m)9ae`FJg*yaYGye_6GEg!+a`^tB7A+f0`Z;i?O95E>7~6Zs1NY z_zp&MDZ*doGM6L3ePVRv_(A?vnbuEiv_#-ED7MxOPnktQI7TDx$g8bq*20o83bu+- zf@>dUac~;1rji!ZYxIq5iu;{h_%AmymXw*NzCIM7@xz#II8Dufa10X2eEVti6B?$A zw_kj4-F#LMxiF3P8PpW>Dg@|e!R$~y!>9mrX{(pzLbc)^>lX=3a@4GYSUly2ew1e? zHnuIre;yDfkGddfABvSx$>gPYkc_PUS~jxw{*E>ORu=E{?TFfih(jkwaHVOvlLJN{ zE6P0Gp z^?|sUP2i~#}K6u)1fKDDth(7gRx|}~*EMHYw z<6MbHWfS+Kjc_7EPKs>vJuMc+x;(iAuR;5wJBA*JF)bBXQrB|U!ZUKUfzW;DM)?DR z+8bcIR?T8Wn;Q0Tri*8(SoS25iUjPzu^QL#>xz<}d>K4Fs6M#NO$L4Y;+$eSF_?*_ zV)D!xo|oSdo>2@`t9o*A-LET!K`TE72f?46=rBDn^*KDEWZ}voWQeXiG|DleiyPNl#BgA~YUza=i`j>BmZ$QZ+ z!KI1p*IbxbSf9Ht;n-oqtvFvK)T!%20C@sU zl5i?i*l+x12raa&*M^kgVInApUoO~J8Rw-ToY22M_ndm9tjSB?>$B2`?a9^V&A4{A zz*3=|Z%}wYmp%_3wsY$?OL4@C*Dn>ULFX%NuR(7ujeU7H-x4|<5kiSroR<}+eks4$g{v;Y|u4pQ1IH*XGw?9goycV!Tx03 zVxY~RAb4m>BLsF#h;=q-=o!=~tXL~Ux@r|^!_Vh^RIY@o_}mAK<)JeLsC^x;aw#`B`_KUs4U@I3pIwQ4ZeH)&?stZ zcphSI(vTVZndZ-EA_&vAOXbE~_5`eYaHr`b8G>l8-!@~MDG{D^i5S7Rt@3mI{Pyz{ zwAKFZG?7S=7&TgMzW)0VQTY03G7AYdbp-cSY78v1w>a1kosAih@kG{~sD2aY{GT)KQOG5y;&{5EMv#)kP_`>nH2N(&iZ#cqg*z^N*o1+2C#}PDn9RM0OrXQXJDX2{AxuqVSAyp!WXnquxx?d z&O0upFoFBzXUqYKX>A#ti4ot~6TOfWHgk#QcsEGsQr5l_(w#_0p-~wzCUcPU@DEQg zbZ3ZpLNVlcr7;nFG_qG;A1C+R8H?Id*OeRwWgZUF&}5!s)<8#l+Qels;X~l5G#!a^GYw~ z!KkMxh7d-P^hu0W0>8*;zlH)919Vyjx`?|J8I&?}pJ4&R`hjyW%6c?cZ>F43mB6H! z&5w0Ou+EpM?)OEl+m~`5Xi%3i+VMncmQ)6%NQ3=jmMMmw>8DbOgzNK=R4>{-zc{Ka z*Lv6gzGT*%q+mgxN48qf?z#4HmoA#@z8b|Y9!1q^%Wjg%6^U@%#jSX1l4R=#mqVI0EwKHx&>A#%8T zdGcF>Q<&@$3WIlvgQC4AnY>-e7#F#`?R?cd1sW?!a5sq>{Lf&`=un!gT|$>jw_@rouBH4W7l zpZLpGKlk1YBYyXV?^`mG={{J{M_V;rr*A6Ajmcjs+zmdeOy^B?7Td44_g9z&6Guoj zsYkJF)k$x@Z$ErbVU8Vg9X1-l)zriC85wzy2<7AUZeR`*dP-^b^``S17D1v@#yyk~I(4>o9bi#G&1N?l!fAQ+xzB|BCVH}m&LjET(q&dz zADm&IdM1j(==yO8qjc$Ld0ovt{Pg$Mb+YWwf;yX7wMF}|0siV9F^q}vJ*kQt6>S$59##h} zBLz28mm5Ok>pEZ@)Yoka_{SUC#qoFG+uimxVq}>vnnr4oc_W8H$V@dpvyNZL_cw9w z(eU!a4~3u&nVeP#`8_9YRC&cPZ$QQ29zGU*p~nLUCsi4t7wttG0bY4xqAi(*OzWu9 zzTMI$X1WWFvM<<69*wdsi1S-3rr0E{& zJ29Vw;6CA}lCvD`(x!X(@7|v*aYg@pB8ku8Cty3?hZ2ys=LiclDMAqv|*cN`zN8^j?TbNXf`4C@HI|YijH28@x1;u#mA)a8Pzp z_t5sy4_FBbK|-TpvUI=4cv5C1H=LHi(eyQY>+B_&>tnt}2CS-~s)s0J}>bDLS586mEdkbSa?nB{Rrhla9{Q1X6OEKV%-wIMwLYjaOCn4$|=6|Q?ynBY#1hgL)e|O9Cz)B?B zM1uvF9q$^@c$Ez(?YoJ!zer8Wa6g9`OSC|%wrw=8uQ5!ox7D9B;x4R|zNOj4pYn(% zj<;}awK_|zNEG`lA zLhr6A@Ni~W;pyq|rBD9lx!)m_s@lIOIt}aWmtAtfEPGAVWMa{{SsZf_Ti4`$eB!|G zW;+Ri-WY_OtWRsIF)w2m_+xNPsq4Rt_w$LfzA%2*ll@ccTzK>QcPda&a4-~yvhi^z zD<5B4Z=q?PB(N?`TutpWjCK{cDas_vk1*m%AK^As5E+#@45;et6iN-3A9REg!j2g& z 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 Ai2wiq diff --git a/app/src/main/java/com/example/julian/endlessroll/data/SynchronizedArrayList.java b/app/src/main/java/com/example/julian/endlessroll/data/SynchronizedArrayList.java new file mode 100644 index 0000000..6bf3065 --- /dev/null +++ b/app/src/main/java/com/example/julian/endlessroll/data/SynchronizedArrayList.java @@ -0,0 +1,147 @@ +package com.example.julian.endlessroll.data; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +/** + * Created by Julian on 16.11.2016. + */ + +public class SynchronizedArrayList extends ArrayList { + + @Override + public synchronized String toString() { + return super.toString(); + } + + @Override + public synchronized boolean add(E object) { + return super.add(object); + } + + @Override + public synchronized void add(int index, E object) { + super.add(index, object); + } + + @Override + public synchronized boolean addAll(Collection collection) { + return super.addAll(collection); + } + + @Override + public synchronized boolean addAll(int index, Collection collection) { + return super.addAll(index, collection); + } + + @Override + public synchronized void clear() { + super.clear(); + } + + @Override + public synchronized Object clone() { + return super.clone(); + } + + @Override + public synchronized void ensureCapacity(int minimumCapacity) { + super.ensureCapacity(minimumCapacity); + } + + @Override + public synchronized E get(int index) { + return super.get(index); + } + + @Override + public synchronized int size() { + return super.size(); + } + + @Override + public synchronized boolean isEmpty() { + return super.isEmpty(); + } + + @Override + public synchronized boolean contains(Object object) { + return super.contains(object); + } + + @Override + public synchronized int indexOf(Object object) { + return super.indexOf(object); + } + + @Override + public synchronized int lastIndexOf(Object object) { + return super.lastIndexOf(object); + } + + @Override + public synchronized E remove(int index) { + return super.remove(index); + } + + @Override + public synchronized boolean remove(Object object) { + return super.remove(object); + } + + @Override + protected synchronized void removeRange(int fromIndex, int toIndex) { + super.removeRange(fromIndex, toIndex); + } + + @Override + public synchronized E set(int index, E object) { + return super.set(index, object); + } + + @Override + public synchronized Object[] toArray() { + return super.toArray(); + } + + @Override + public synchronized T[] toArray(T[] contents) { + return super.toArray(contents); + } + + @Override + public synchronized void trimToSize() { + super.trimToSize(); + } + + @Override + public synchronized int hashCode() { + return super.hashCode(); + } + + @Override + public synchronized boolean equals(Object o) { + return super.equals(o); + } + + @Override + public synchronized List subList(int start, int end) { + return super.subList(start, end); + } + + @Override + public synchronized boolean containsAll(Collection collection) { + return super.containsAll(collection); + } + + @Override + public synchronized boolean removeAll(Collection collection) { + return super.removeAll(collection); + } + + @Override + public synchronized boolean retainAll(Collection collection) { + return super.retainAll(collection); + } +} diff --git a/app/src/main/java/com/example/julian/endlessroll/entities/Background.java b/app/src/main/java/com/example/julian/endlessroll/entities/Background.java index ca0c2ce..fc94d2d 100644 --- a/app/src/main/java/com/example/julian/endlessroll/entities/Background.java +++ b/app/src/main/java/com/example/julian/endlessroll/entities/Background.java @@ -1,14 +1,13 @@ package com.example.julian.endlessroll.entities; +import com.example.julian.endlessroll.data.SynchronizedArrayList; import com.example.julian.endlessroll.data.Vector; import com.example.julian.endlessroll.entities.textures.Texture; -import java.util.ArrayList; - /** * Created by Julian on 20.07.2016. */ -public class Background extends ArrayList { +public class Background extends SynchronizedArrayList { private final float PART_WIDTH = 5; private final float HALF_PART_WIDTH = PART_WIDTH / 2; @@ -21,8 +20,10 @@ public class Background extends ArrayList { public void changeTexture(Texture texture) { this.texture = texture; - for (Entity entity : this) - entity.setTexture(texture); + synchronized (this) { + for (Entity entity : this) + entity.setTexture(texture); + } } private Entity createPart(float xLeftEdge) { @@ -31,8 +32,10 @@ public class Background extends ArrayList { public void move(float x, float cameraX) { Vector movement = new Vector(x, 0); - for (Entity part : this) - part.move(movement); + synchronized (this) { + for (Entity part : this) + part.move(movement); + } if (!super.isEmpty()) { Entity last = super.get(super.size() - 1); if (last.getRightEdge() - cameraX < 3) { diff --git a/app/src/main/java/com/example/julian/endlessroll/entities/tileLists/TileList.java b/app/src/main/java/com/example/julian/endlessroll/entities/tileLists/TileList.java index fedb0d4..9533d34 100644 --- a/app/src/main/java/com/example/julian/endlessroll/entities/tileLists/TileList.java +++ b/app/src/main/java/com/example/julian/endlessroll/entities/tileLists/TileList.java @@ -1,5 +1,6 @@ package com.example.julian.endlessroll.entities.tileLists; +import com.example.julian.endlessroll.data.SynchronizedArrayList; import com.example.julian.endlessroll.entities.Entity; import com.example.julian.endlessroll.entities.textures.Texture; import com.example.julian.endlessroll.levels.TileData; @@ -9,7 +10,7 @@ import java.util.ArrayList; import java.util.List; @SuppressWarnings("serial") -public class TileList extends ArrayList { +public class TileList extends SynchronizedArrayList { public enum Type { TERRAIN, CEILING; diff --git a/app/src/main/java/com/example/julian/endlessroll/main/game/GameScene.java b/app/src/main/java/com/example/julian/endlessroll/main/game/GameScene.java index 3496b23..13ba0e6 100644 --- a/app/src/main/java/com/example/julian/endlessroll/main/game/GameScene.java +++ b/app/src/main/java/com/example/julian/endlessroll/main/game/GameScene.java @@ -19,6 +19,7 @@ import com.example.julian.endlessroll.levels.worlds.World; import com.example.julian.endlessroll.main.GameLog; import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -46,14 +47,12 @@ public class GameScene extends Scene { public void loadLevel(Level level, World world) throws Exception { this.currentWorld = world; reset(); - lock.lock(); background.changeTexture(world.getBackground()); terrain.loadData(world, level.getTerrainEdge(), level.getTerrainTiles()); ceiling.loadData(world, level.getCeilingEdge(), level.getCeilingTiles()); super.add(goal); player.init(terrain.getEdge(), level.getStartSpeed(), level.getEndSpeed()); super.add(player); - lock.unlock(); for (ObstacleData data : level.getObstacles()) addObstacle(data); for (StarData data : level.getStars()) { @@ -71,9 +70,7 @@ public class GameScene extends Scene { } private void reset() { - lock.lock(); super.clear(); - lock.unlock(); obstacles.clear(); tools.clear(); cameraX = 0; @@ -81,7 +78,6 @@ public class GameScene extends Scene { } public void onStarCollision(Star collisionStar) { - lock.lock(); Iterator iter = stars.iterator(); while (iter.hasNext()) { Star star = iter.next(); @@ -90,24 +86,18 @@ public class GameScene extends Scene { iter.remove(); } } - lock.unlock(); - //TODO: change lock with atomic lists!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! } public void addObstacle(ObstacleData data) { Obstacle obstacle = new Obstacle(currentWorld, data, terrain.getEdge()); - lock.lock(); super.add(obstacle); obstacles.add(obstacle); - lock.unlock(); } public void addStar(StarData data) { Star star = new Star(textures.star, data); - lock.lock(); super.add(star); stars.add(star); - lock.unlock(); } public void addTool(ToolType type, float screenX, float screenY) throws Exception { @@ -115,10 +105,8 @@ public class GameScene extends Scene { Tool tool = type.newInstance(position, particleSystem); if (tool == null) throw new Exception("Current ToolType(" + type + ") returns null at method newInstance()"); - lock.lock(); super.add(tool); tools.add(tool); - lock.unlock(); } @@ -126,7 +114,6 @@ public class GameScene extends Scene { public void update(Timer timer) { super.update(timer); player.setSpeedByProgress(player.getProgress() / goalX); - lock.lock(); for (Tool tool : tools) { tool.update(timer); if (tool instanceof Bomb) { @@ -135,7 +122,6 @@ public class GameScene extends Scene { bomb.explode(obstacles, collisionDetector); } } - lock.unlock(); } @Override diff --git a/app/src/main/java/com/example/julian/endlessroll/main/game/Physics.java b/app/src/main/java/com/example/julian/endlessroll/main/game/Physics.java index 6283719..b59f884 100644 --- a/app/src/main/java/com/example/julian/endlessroll/main/game/Physics.java +++ b/app/src/main/java/com/example/julian/endlessroll/main/game/Physics.java @@ -35,7 +35,6 @@ public class Physics { } public void applyGravity(GameScene scene) { - scene.lock.lock(); scene.getPlayer().getMovement().y -= GRAVITY_FORCE; for (Tool tool : scene.getTools()) { if (tool.isFloating()) @@ -71,7 +70,6 @@ public class Physics { tool.setToTerrain(orientingHeight); } } - scene.lock.unlock(); } @Nullable diff --git a/app/src/main/java/com/example/julian/endlessroll/main/game/Scene.java b/app/src/main/java/com/example/julian/endlessroll/main/game/Scene.java index c81a9c7..12a04b7 100644 --- a/app/src/main/java/com/example/julian/endlessroll/main/game/Scene.java +++ b/app/src/main/java/com/example/julian/endlessroll/main/game/Scene.java @@ -1,5 +1,6 @@ package com.example.julian.endlessroll.main.game; +import com.example.julian.endlessroll.data.SynchronizedArrayList; import com.example.julian.endlessroll.data.Vector; import com.example.julian.endlessroll.entities.Background; import com.example.julian.endlessroll.entities.Entity; @@ -11,16 +12,14 @@ import com.example.julian.endlessroll.entities.tileLists.Terrain; import com.example.julian.endlessroll.levels.worlds.World; import com.example.julian.endlessroll.rendering.Lock; -import java.util.ArrayList; import java.util.Iterator; /** * Created by Julian on 20.07.2016. */ -public abstract class Scene extends ArrayList { +public abstract class Scene extends SynchronizedArrayList { public float cameraX; - public final Lock lock; private Vector screenSize; private Entity playerArrow; @@ -40,7 +39,6 @@ public abstract class Scene extends ArrayList { terrain = new Terrain(World.GRASSLANDS.getTerrain()); ceiling = new Ceiling(World.GRASSLANDS.getTerrain()); player = new Player(textures.player); - lock = new Lock(); } public void setTexturePack(TexturePack texturePack) { @@ -48,20 +46,21 @@ public abstract class Scene extends ArrayList { } public void update(Timer timer) { - lock.lock(); - Iterator iterator = super.iterator(); - while (iterator.hasNext()) { - Entity entity = iterator.next(); - Vector movement = entity.getMovement(); - Vector finalMovement = new Vector(movement).mul(timer.getFrameTime()); - entity.move(finalMovement); - if (entity.isDestroyed() && entity.getDestroyEffect() != null) - entity.getDestroyEffect().createEffect(particleSystem, new Vector(entity.getPosition()), new Vector(entity.getWidth(), entity.getHeight())).start(); - if (entity.equals(player)) - moveEnviroment(finalMovement.x); - else if (entity.getRightEdge() - cameraX < -3f || entity.isDestroyed()) { - iterator.remove(); - removeEntityFromAllLists(entity); + synchronized (this) { + Iterator iterator = super.iterator(); + while (iterator.hasNext()) { + Entity entity = iterator.next(); + Vector movement = entity.getMovement(); + Vector finalMovement = new Vector(movement).mul(timer.getFrameTime()); + entity.move(finalMovement); + if (entity.isDestroyed() && entity.getDestroyEffect() != null) + entity.getDestroyEffect().createEffect(particleSystem, new Vector(entity.getPosition()), new Vector(entity.getWidth(), entity.getHeight())).start(); + if (entity.equals(player)) + moveEnviroment(finalMovement.x); + else if (entity.getRightEdge() - cameraX < -3f || entity.isDestroyed()) { + iterator.remove(); + removeEntityFromAllLists(entity); + } } } @@ -71,11 +70,10 @@ public abstract class Scene extends ArrayList { super.add(playerArrow); } } else super.remove(playerArrow); - lock.unlock(); } @Override - public boolean remove(Object object) { + public synchronized boolean remove(Object object) { removeEntityFromAllLists((Entity) object); return super.remove(object); } @@ -103,15 +101,15 @@ public abstract class Scene extends ArrayList { this.screenSize = screenSize; } - public Background getBackground() { + public synchronized Background getBackground() { return background; } - public Terrain getTerrain() { + public synchronized Terrain getTerrain() { return terrain; } - public Ceiling getCeiling() { + public synchronized Ceiling getCeiling() { return ceiling; } diff --git a/app/src/main/java/com/example/julian/endlessroll/rendering/renderer/GameRenderer.java b/app/src/main/java/com/example/julian/endlessroll/rendering/renderer/GameRenderer.java index f1e5058..528fcb9 100644 --- a/app/src/main/java/com/example/julian/endlessroll/rendering/renderer/GameRenderer.java +++ b/app/src/main/java/com/example/julian/endlessroll/rendering/renderer/GameRenderer.java @@ -104,11 +104,9 @@ public class GameRenderer implements GLSurfaceView.Renderer { GLES20.glClearColor(1, 1, 1, 1.0f); GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); - scene.lock.lock(); renderEntities(gl, scene); renderTileList(gl, scene.getTerrain(), scene); renderTileList(gl, scene.getCeiling(), scene); - scene.lock.unlock(); renderFbo(gl); } } @@ -116,10 +114,14 @@ public class GameRenderer implements GLSurfaceView.Renderer { private void renderEntities(GL10 gl, Scene scene) { entityShader.start(); entityShader.loadMVPMatrix(matrixCreator, scene.cameraX); - for (Entity backgroundPart : scene.getBackground()) - renderEntity(gl, backgroundPart); - for (Entity entity : scene) - renderEntity(gl, entity); + synchronized (scene.getBackground()) { + for (Entity backgroundPart : scene.getBackground()) + renderEntity(gl, backgroundPart); + } + synchronized (scene) { + for (Entity entity : scene) + renderEntity(gl, entity); + } entityShader.stop(); } @@ -135,11 +137,13 @@ public class GameRenderer implements GLSurfaceView.Renderer { private void renderTileList(GL10 gl, TileList tileList, Scene scene) { terrainShader.start(); terrainShader.loadMVPMatrix(matrixCreator, scene.cameraX); - for (Tile tile : tileList) { - gl.glActiveTexture(GL10.GL_TEXTURE0); - gl.glBindTexture(GL10.GL_TEXTURE_2D, tile.getTexture().getId()); - terrainShader.loadTransformationMatrix(matrixCreator, tile); - quad.draw(); + synchronized (tileList) { + for (Tile tile : tileList) { + gl.glActiveTexture(GL10.GL_TEXTURE0); + gl.glBindTexture(GL10.GL_TEXTURE_2D, tile.getTexture().getId()); + terrainShader.loadTransformationMatrix(matrixCreator, tile); + quad.draw(); + } } terrainShader.stop(); } diff --git a/particlelab/particlelab.iml b/particlelab/particlelab.iml index cc6a111..e2a5c28 100644 --- a/particlelab/particlelab.iml +++ b/particlelab/particlelab.iml @@ -66,14 +66,6 @@ - - - - - - - - @@ -82,6 +74,14 @@ + + + + + + + +