From 1a0e1699d9162b1c68ccae33eaf9918e9f79a2d3 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Tue, 23 Apr 2013 22:40:50 -0700 Subject: [PATCH 01/31] Fixed bug when passing identity to view transform. --- src/bgfx_p.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 225a1362..2512f512 100755 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -2290,7 +2290,7 @@ namespace bgfx } else { - m_view[_id].setIdentity(); + m_proj[_id].setIdentity(); } } From e25e93a7e70803c6339ace23e32edb3b62ee1277 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 08:44:55 -0700 Subject: [PATCH 02/31] Fixed GCC warnings. --- src/renderer_gl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 68326bf8..dc4dc60c 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -1049,6 +1049,7 @@ namespace bgfx , data , offset ); + BX_UNUSED(offset); } m_constantBuffer->finish(); @@ -2256,6 +2257,7 @@ namespace bgfx } BX_TRACE("GL_EXTENSION%s: %s", supported ? " (supported)" : "", name); + BX_UNUSED(supported); pos += len+1; } From 10236da0f45cb14ebd8c42e93ceb56b7f14bf48c Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 19:15:29 -0700 Subject: [PATCH 03/31] Fixed warnings. --- premake/bgfx.lua | 2 +- src/glcontext_wgl.cpp | 4 +++- src/renderer_gl.cpp | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/premake/bgfx.lua b/premake/bgfx.lua index 14484943..19c019ea 100755 --- a/premake/bgfx.lua +++ b/premake/bgfx.lua @@ -30,7 +30,7 @@ project "bgfx" BGFX_DIR .. "src/**.mm", } - configuration { "vs* or linux" } + configuration { "vs* or linux or mingw" } includedirs { --nacl has GLES2 headers modified... BGFX_DIR .. "3rdparty/glext", diff --git a/src/glcontext_wgl.cpp b/src/glcontext_wgl.cpp index 30cddd95..ea3a36b6 100644 --- a/src/glcontext_wgl.cpp +++ b/src/glcontext_wgl.cpp @@ -203,7 +203,7 @@ namespace bgfx uint32_t flags = BGFX_CONFIG_DEBUG ? WGL_CONTEXT_DEBUG_BIT_ARB : 0; BX_UNUSED(flags); - int32_t contextAttrs[] = + int32_t contextAttrs[9] = { #if BGFX_CONFIG_RENDERER_OPENGL >= 31 WGL_CONTEXT_MAJOR_VERSION_ARB, 3, @@ -213,6 +213,8 @@ namespace bgfx #else WGL_CONTEXT_MAJOR_VERSION_ARB, 2, WGL_CONTEXT_MINOR_VERSION_ARB, 1, + 0, 0, + 0, 0, #endif // BGFX_CONFIG_RENDERER_OPENGL >= 31 0 }; diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index 68326bf8..c0156be9 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -180,7 +180,7 @@ namespace bgfx glGetError(); // ignore error if glGetString returns NULL. if (NULL != str) { - return bx::hashMurmur2A(str, strlen(str) ); + return bx::hashMurmur2A(str, (uint32_t)strlen(str) ); } return 0; From 375d4b821b76d10d7085d719c8f5a1f7c82a4872 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 19:24:08 -0700 Subject: [PATCH 04/31] Added droidsans.ttf font to examples/runtime. --- README.md | 3 +++ examples/runtime/font/droidsans.ttf | Bin 0 -> 190044 bytes 2 files changed, 3 insertions(+) create mode 100644 examples/runtime/font/droidsans.ttf diff --git a/README.md b/README.md index 3fa6f510..8a1064bf 100644 --- a/README.md +++ b/README.md @@ -299,6 +299,9 @@ Bunny Uffizi [Light Probe Image Gallery ](http://www.pauldebevec.com/Probes/) +Droid Sans +[http://www.fontsquirrel.com/license/Droid-Sans](http://www.fontsquirrel.com/license/Droid-Sans) + Contributors ------------ diff --git a/examples/runtime/font/droidsans.ttf b/examples/runtime/font/droidsans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..767c63ad000e3eea20f3cb7a43ba9f4154ed7a5d GIT binary patch literal 190044 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%0D=-PBu&{ zc#2hK`b9|l`YVeQ)TwH4>9GfoJGg(314d2G|L)$`XI0J})4S`nsccQ5WH7e*MgFP$ zB75IS%rBP;^WPA)fPBq=g(T)$IcZLzy>^{c=OBA6@7a~v>!gHdk~t-8x&55O3!O@P zo$4%dYVCCw+V@d=o#w1@erm6~JCjw3z3$=UsNlDKbpD>BlDbl^wd!*Am62;^Pu0iv z+I4!k>Gqm%xI5ThCnY?S>`Zj$*w0g(KJEs4o$B1^?y%QgoGfp+y-ssp_T-deq1DYP zNy@O->6~%C&|Y`v`VM>D!#OHBX-?Ies)nl5DpqH%E^jE$TvfYaOI_8PwGEkfX6EPS z7EjEaS6jQLx*~ISZQX|2y7Gpq+M3C8>T0W2XC7HzQ@^BQ&8F(|x|#K>Dr#0&)MZY} zjDNSZqOP8&GxH|r=IT%72j=Ul`pojohPv|A73<6EPR^{Y45*aXtj=6tz9n;IMP^;a znyUJSiaJVGRg<}@qOPHwbls-9s`}MctE3$DlS8@*rHdCJQS}AMR?#%;*Kgv& zw86qEs$9=6H|dHutgXnLxuJX&iT!3`X3zlnlXKTLG;EkQWy-0io;tZ)KQ+0wZq1Zx zlSloOg@?>8TXbaEB%Wmcp$ZnNkNXFd5;@omsX_0*zc8+6{DiFF9-m8tVIwOI=dDPfKNOnR+e-$`xjb$P0E-5RLF z2JS2QR>~=TU%?Z?6E$2(O)GU@W|E`%rO>Id^$dPzTG6yjh2{jQm-M)lU=_ItC#~mi zll>%-H-xVmD91EL$|;SKNXwbKw!abCXwRwnP{`e9x#M|F)^%M&YgD%>M?Ie`bPhqv z$`~<@}h)4;#dKk0JPV!*~aG1oau|jAAAI7~kphT=d3#YO=sNlo}mIZ4P%9J4c`sj&zQ4 zj;7^~A;NSlqvdhD$8~~pB0l5_+WPy>?anz)BO~Os&L5p~ol7|>^(J)EPUSflswC%Z z=PFL1`Kxn@^DXCmmF)b=`M|l^+2#DV^O4iy+~)j%HyEE~f3%hK+U4};3-sepoadca zoEJHD=4IzkwBFBHg!5D9hseMl-j4mb^Q!Y2efDSPFTC-vj{Z0qKCXrvZl#wt!U4iL zo8aJ6;M;ed&FIlB&gssX&Kb^w&bOUy&Q@o;bC%;f?>P_Q`LkuR>Z;OIH|H~FuS!?E zDzADvt%|i0s<-N+`m%*UKh<9iPy^K8v+^$2iK#r5&xnW;i`5atnvYaRaT3i^b&Oi(eBylS{LXnt z9jlh}lFISw1a%_ug%zq?tyHVjYE_{s)f%-{RjGCAWL3?aYmM`;s^t};jjGQ1z4HfE z?|heY88&go&8cd$+M-TVr#ruJ-co0*QjgRU->$9y^5$C)Q##U_FuR~-KxH= zZd13bo$5R4yXt%D4i+fxQvad8uYRDK)DP8N>TY$9x>q%`zU2mWzj{DD$O6WP)Whl# z^{9GGJd(qoe^KwL_thTtf%;JW zRei*{87-^~{#gB8{X>1CK2@Koy{Z*q)%!ZjD>Z*4`W4I=7zpvo^V>xTm_C-7W5EtUNr! zJ=5LlZgaQ0XSqAvv)yypRQFu>JokL}0{24qBKKnV68BQ~GWT-#3inF)D)(yl8uwau zeZJ1U-i^37xHq~txi`DFxVO6Bc5icUcXztqVRzo|xp%mCy1U%}aKG>Vz-@AW=-%bt z?cU?w>o&Xhx%aydxDUENavyRZb{}ycbsuvdcb{;7>^|v6-KX5A-Dliq-JiJ6xzD>V zxG%adxi7n~urc{h-T!ib=DzB_=KkD`xxa8yT5VYa)0Z-?f%Yv z$Njzg2ltQepWJuZG}w3l;=ad0gL~W$+z;Kqx*xg!?Y6job3bd-Vkr7 zH_T)0u9xYJ^hSB3y)oWcZ=5&Y%kr{0qiTXT(VN6M)Kk1%FVD;O3cNyZs#nCh#U);; zH_bc1JCIl658{lA8Qx59mN(m*hb57UVQ}7yA)z($?*np*8yBZ@~`v9pk*O#xt4o@vNY0Au%brq*nq?GF< zb!P3F+M0@!Q_D@-ZT70Fx>cLjS5{YS?zSp^oiuxOZ9~#3{z;j$s+{anR-0rFd6zeE zCrN6VrG9zWqj8ngj9b(H_Wzw`m!Ya6jEO4vVbz2Z8(QRG)I{nauGNqr~=4MS@MMX_D?o!pNl!fK1 zHZ@eFRO=*tVd8Vu2{$PVP5V^qBx#|vLpA@TEHb~ZF~47w@RRhKgqxH_=Jz$GeQU}$ z)YjvtZCG33mDQ~ADr(lG9&X#A*0#gprX6Z^(*5wYn`+jS*KJx~UB0QIdu`%f$`VtC zI#Y%v31rjj5^hqKm@?Fvf_hxMca!PeqiwD5YBg^jZECeiC&@?GRn@FX#z(GM)BWhgI(6Tac$a##<$_Hn?RHGO zgxyX}xIQ-FdQ1E|Wx1*AX*x+;9`aDyY2jsZb#2X>`m~u+7V}tnc$qr0On;PGUZK-& zhu2q^*RM6#wejopBNG}Z9la2WNQ$X`azkxRZGHFERm2JEaq{IZZD#d`wdMM8;wo>++S=qJtJbV9_l_#xlxj=kEnZvY%?69>s|=Z$rRkDiP@#CVT&YJDkY;reOrPiAId39@RQ;52(FV9QXiPu0KEq!kT^;-ofPI9d@e7a;C z6su>uVy4?XO|RK6^-Y@ovA*nDURhO@mz$ek5L`{o3$OCStN6Et;b&9BtD^9#IJ_ze zuS$cfqTKK*q)`;m$SVx<%L{YK3vBl z%()=UxggBBAk4WSY=eT3MnOoUAf!MQ5e!F3QJWK{-P-SMN#;RqVN~RVX2D4vJ{79DGtk09Ohgc=3E@+TpZ?H9OhgS z=3Eliw&8fJRXDZl(#Q*G#LGN2_$;@y zB;}Yjb>*0Kr<&v#JtCx>s*|qA1Ztq`slipsvF5=oI?*LW&~r<=>!_?YBv-Gj?!Ivo z!+_X}bwq4a)>qYtiBey&sP5GeZK|u) zpBCliTYluq_D@kBC&zcKsBggHYN%M<6-%^2Lg;JL8`feOnd|y)l~tz%*Xi|?rN(}d zJV$F)Ea17ba`QxKlIC|`MI64G2(cd6yD+R)SJc<9>!q!Ogn_VI!gcS2>pD^G73rr{ z)YS&nO0TTlR2RRYIKfS~`l`*rb$4C1@J<&pxJ$38stJE2C1r{r*QUDU+~?c-0-F}v zbgE5@Y+7v75}TIVbf!&bNjkS|?p&SDojcp6b0p2po2%*O=Fiff=N8P-^hq^+QcWkX zte{MuC)N4nm6`IA>gV(37MlF>=N5EbU0z>RUc0$U590KJt^sLb^5JW1>uQo~^}k2! ze>cg$x+DcA$J_#wBWXd>+S=NarOQ@URM(!WpDMIZ73Laxg;P!W3#Z!qB70wC>QPu^ z>QPvvOOabxq}!2HwpAE|CfQr(WEx*bV%JCf>lBsJ|+SQOCH?ZW4}U2+SHE&XCk zzu3|*w)BfF{bEbM*wQby^ouS1VoSf+(l563i!J?POTXCCFShhcEd3Hozr@lnvGhwU z{Sr&R#L_RZbW1GV5=*zl(k-!cODx?IOSi<*Ewyw?EgeiZ;jh9{OQ+P*DYf-1we(6Y zy;4iB)Y2=p^hzzgQcJJY(wk}PIn&m2rlmjA(w}MR&$RSsTKY3B{h5~jOiO>Jr9acs zpK0mOwDf0M`ZF#4S(g4ROMjN7Kg-geW$Dkd^k-T6vn>5tmi{bDf0m^`%hI>@?B)4#mr9a2gpJVCIvGnIy`g1J(IhOt$OMi}~UuNl- z+4`5+`j=VyWtM)KrC(<2UuNl-S^8y`ewn3TX6ct%`el}WnWbN5>07;7IM>pjYw6Fm z^ygaob1nV3mi}Bzf3BrJ*V3PB>Cd(Fjh@aeoNMXNwe*c1&z)-Z;8d$Er<(DC&kg;l zxrYAKTtk0quAx6Q*U+DuYv@nSHT0+E8v0Xn4gIOPrv6i{o}HR&=ugcx^`Dw&+J9=E zssGeGQ~#-XntooHkxx?nJ*oblH27YZk9%D{Qe8e$T|QD>K2lviQe8e$T|QD>K2qI2 zq`G{hx_o(MMm|X`eIuXTTlz*mxwrI%%quhUNownF-nPGyPws8|8~MyDGxAAl+uO(^_qM%_JaTXAYveIM*Ny`P zxpVu*<2BlT#yDJ=@R_!l<+DEV=frMl_n3}4$!9&ZAsXgnZo^Ev>u-bKn=iwk_6lrS z`M$cMvY~hI!Ak68K0A7L`%f0mmKjr*c~O@Y$*gJNE*(S^(|Yddy|vHx`|ilNE8|y#Rt$P?*ySUOMz0;eBXwccTK;Ol_Uysgx!FZ> zpFKZ&X;w}4tJ&{nznkOaypgjfb>W1ECj4Z=&nJ(WJZ8erb1U<|-)&Uk-l@MU+*`P} z#~AZh^kngz;IH@AlAFz6=^dJaP~k6oepbyvEA3zPL8k?O+4B#&+Wy@`M1>rtBb1VR4)hB)fZMjRsHkq`RgaHKS;{B{^FXN+SPUU z*B90=sBdn#a?|Qla!$E*^U^IJoiX@~r_Nlk?fmUmp0(_(56>QR&eq1O&%ODgKVEXm zrJ0w$aoLTRUwcKbE3UjU^U7oNuMC-(-|Wqv33(l@S;$ZyZtdTrLZH-GEIQ*z{!YqR9vARkHP-h3~=6-shCG3WU~%p3F{!1uo9w@ zwGi2?hFHRSh-_zWYt)$s=7R;TF=q+sQQ#Q9I~FWw9mesbJILp3a1Lk$=YsRV`K`yZ z`XQTH*KAfYWV2Esn>F@JoIA+lPOuC72lzht0cZyIf&0M&;6d;Zc%0w;7(7XyPl0E^ zbA0{+cnQ1$UIQ`kI@k@~1U|pn13q-JRnOL_>J9pWeqfBVMDbpuDsn1SF>4Gw)S>bsTc-Y$Mqw8_bB(&S3Siw^-{k8)JOf2&)x*T;`&|i z7w`|t{t3VRl=L&wy`-&92Fq-gxa{%bX0DqACW#p`Y_Kv%JuW4FSj0T;GYmIv8pa-Az0=-)sz5d(} zaF%!jxgX5+5I!5$+T@J@Bf)4e7K{hkU;>x~rhq(90E+ls377^B1P6f`U>2AI%E)^j zSito{um~&$@Vy7$drQGGupAr@P6V{AS4+7z@H_a!t0QIIpw|H3d8|4*oi#nDtJ_IW zbjHDxIUpYtg5uVQQ-WNTl1_uC4}~Kq_yGKs zwnG-Z0j&{l5a}V{P;eMH92^0T1V@8oz_H*sZ~~w#9%b=XfeNq&RDqMhdQeNA)W@r* zjRr_d>)O>(v%9GMeL!l6HgQj(Mz;Vdd18ql<})ev^Q13>cgQsvq=Mc+N^si6<`cQ48e|`ElO8>@e|N8W=PyhP#uTTH_^si6<`t+|)|N8W=PyhP1 ze|`Gbr+!e$bBw=K7H)d$FYPy_UU7vR%oP;efrp^ z1sdt&7=0Y0k7K%zQ)!WI;G|ZczV_*BpT73#YoEUM>1&_9_UUV%7Hg!hefrv`}kb+NaeT>1&_9_UUV%zV_*BpT73#YoEUM>1&_9_UUV% zzV_*BpT73#YoEUM>1&_9_UUV%zV_Sn^+1PKpyj32eTN<9X?1BypH}i|C7%}Y;d*Ha zX#t;FOHHH(J~i;Eflm#jq`p@M=4lE(+~mVeeQs9HXCO^mB}Uj?vFC`ZtM}Q;2 z(cl60-3{KPUk9K~hLMf{Bf)4e z7K{hkU;>x~rhq(90OGt6gEwOE2AUk+m=14D*Syga-P0S4f*;1{Z!@s5GO({QLO$8S z=Vt@@lU9q-YB5?Zrd#b6o_mt(r@%9`LXoypGO$rHXoVQ95Tg}hv_K47K7_AVa6=KvlMvY_CI7V$_)HX(KW7IZAZDZ6nMr~u%Hb!k@)HX(KW7HOX z>SQp!WiYm7=vo>HK%UxYybHMBmv;LJ-|b(M`Eb6`QdUDHaQ^-^(cSdpy22jr%f%}%J~08wnbn6JIS|0PSYMbs(`lb_mPGvGaFJXLM0_Q~7+c|N3ZtUQnVSx}E$#CXi$Ik`x zz`*lVgd=@yek+Hs!vA&V9zLBxM zk+Hs!v0gZG-+te1JaaqP3BCiq3%&>L0NCKfQ5uP(G!jQ?B#zSP+zb6?QfzW!DUHNZ z8i}Pe5=&`x9_G78z@y+X@HljT44&k>D0m7y4W0qd0`V`OBYgq91jN^Th4eKL1FwVK z;7!op2Tegzx&VA5?T_|E)8ory<4PQ+5#L2(F^y^{y*7+=1jyuiB;H_h3nIyxs`M~-_h=h*p$LYC05f&tfrAzO{2Pk z`>ROtw~5s>602z>R@10%g*I)9{cU|=@_e3q>Pu z4}8LBpMh3JBn4bFgU5)JN_?an$ig>T295>dPp=?d2gIkQ{Mc!Y+PB_DdKUL*1M#!r z7wmnB(==l9ORT0*``j0CEq?bU+~0}aw~On$!9CoI4-Ov?x5;qt=lTIs>O|Zo!+nVK zQBwNPeFIP@_m_ZvBxWQ2TijRQ!~F-`e@KeYP7J5f{h0J0fYFzDO(XG|Mvs_-*9(YG z-=F&d*oyy3CV|Od3djX{ zARiQfLQn)sz%+0mI0(!DvjDuJV+#vNCBCqbRALN^NF~m&nDhwJC8QE>IEqwa4ogWT z?m&Ox7fIZw5#LB+KaKcD68~w`aR~a*TSFL5(ud*wv_yRv_f?`D{MtE`eJ+T{gQMuc7&_3zh4CSE zY#2Wh9T-Cg$_N}q-$l`PQS@CDeHTUFMbUSS`}L1+YG#MyM58UL_NocSs~Cq5X)my!D*UVyHOwuv31m(fusX8a!hUtAYO(M3^oQ50Pi z3**ERV}M_EoM9U&v~`U5TvGZ^#~c{1!nngFT;I)i_mI*TI#x`3p;w~ll_+{8ie8E8 zSa4!&LSn)n@cf6QeKsLw$ z6Tn0;2}}l4KrYAw`Jez4f+A1?rhx;&L4a{4j0;Q5WC8aQH(5w3v6Drl5kjN=I7zveVn~#LXkWe2>B-TMfXYl!KKBs-Hl#2H*u_uYp`ABIDOT$M>V@PQX zE5k=hV^|n5EQ}b|MGPs8A*C@a3lpiau??g&hLrM7CZOC{5;3GSh9wchk`O7a#A2un zBRI$MnfSFUNZ}AH28nG+G|+dqkwP0Om8hVPluBgK$4Zdspo!LA!nMRn?je;}3H_lX zLT`{lA1T$5A*56yi1Fy{9_~Nj{zKBgl70kdrh#RHB_eQYsNoA1Rfnr;n6MLaBwMtC17^^sB^DP;$KKp!BbKJT3dF=1-xP%DR$JCqu!^pQ#*sT4^RDfIU{_T9nv zcrQqhj|BNhkdFk3^!P}RkM#IRkB{{DNRMyFEgz}ykqU{h$++bs6+TkoBNaYU;Ug6? zhtM(J+!K!N4f?=!eMvJ&=~cMg#Gtou4Tr(q!r4BY?ZeqVobAKeKAi2t*?u_oKpT$s z;b$R6lMgrfaFY)=`EV0w%Yr%J z5T0K^YIMHLQ;5!&xeC$wGG8G&U*;@C=gYi>=zN*G5S=gc7cscWw>n?uF+}IfT!!d; zpS>MBx4a|{*Or4QDIRD9PKv-u5jZJ=eisikihhs6RT1>N%*;p7?@{!76V{h_o-yZm zev74wo{wOOMXH{XmDx-PL05+5jZu1o{ysEqv-i4dY)N*%JyUMB;Q5BQ{ZXv40sm& zgz`T}`T}?f7|xEs*%3H90%u3y>A=}3SUX(+)&%-qEV2k(9a*O!9J z!ByZ|a6PyI+{*W~T_`orbNveV1)xrNmLfe7q$h&(L>Ld6@Fqoy0xvRxC4y!XjG2F5>%(dHxcfH&Pa{QWn8u^zjyb z#)=3QU4*eB!dMZ(qKhDbGOL>?fe|Z#5i5ZaJVhT*(Z^F1X^bF^5j;g7Pce{6nf(#7B_$2ofJb;v-h#BUa)gR^lU8;v-h#BUa)gR^lU8;v-h#BUa)gR^lU8 z;vG|ITo&5FB zuCOl|@-6$k==n0rqUWpFwI#53k0tVERv2Zl0w{wOKtzE+DcBA!1XqBo!7ss^Kvu)Z zN*GxM!|r0_YHX=oM(*(6*Y|+;FZKSt@o!~p*yWo2u3Z4ef@=Kn@ zN))L#wK$gRH^499l;L0$7z4(EERX{xg2^BkN`vAGjYR*zM?4V?*~P726s8u}`~KY+S65pmoq!#)cKURcuzVSH)Hp8}%Ll zO>KvY?fD`22>k%RXq!{)O|dl>0I~DL#uNLF@-h<3C@dqejK1P+$*3zMZcNwL%*~qm z8h*>yR+(5`&7czti+UOhNvtEWjP_>*{ethYdZ?eVaKy3^t41suv1Y`I5eo)d+IrbT z`XTs;o=O8^sfd*_7%Tt_fmj`j!4hy35G!LDSPmH9wN(KLx-N^B-SUvFHRvS=9v=GQohI9cF>kc=>ZNFwu7}yY&+&a z9qU43JhAD5Gmte)kMo-!gP(B!GN8p0*S4@?>O@9uu}O_RN_p^Q}B{7U|jG9Inp==YtEuMSKR===CzYxE3$$ zULb2`kSe`y=0VaQasLqMqoj!*n0Q}*1t0U>KLBN81dTC*8V^j?)C}Z$5Zpi?X%FZy z(!+sxJx7A00ez>voa0E*OpHvQzpiEj`NBzzPO`!w!Uz>(EoZReXQFNTStP79(wIxq=$A}J+#~Eq227| zmCRm(X`p-SH(b!l zW>uFu>2MFTfXvs#*Ue69ZE+-)$4Uk)>y9hBX7HK#DLZ)PY#=63R+Ww4O{J=WLGYBPI|kLyeabHM&u?KZx@9qa^& zzV?&cM}hEz_}uV>_PY%i;a4X_*FpA#MPiDnr; zeFW)9Krax@GCuoQ(s5usATOd>#($qcil0L?%lPqANX3`W1Lz{6S=y&plab*iPFHwI zRx_pJpLNIU>$s{Z9#5Xs`k2G)CtjYJnb5q*9=W{rq*o=+AP?eT&Rj4LNSyf)EUN{i zpBHNmJi^47^9u4K9{PVN?u^VmroM{U^B7K28wX^?w|Kavz^r`QcPx4%&u_s4?mQkX z@tJr$TD)M1NsA}kJ}!Mbb=bvsc%xf<7>5O-chb?iWcnteKKG&W$DI+i|pvLQ%_M@c#%DDCbXT0^yzlm?7C3Sq8 zci3C6)6riqxWe{~vEO%cYb~GGqIGt+iJr2KRyc!2{qy@DO+oyZ~MT zuYlJ;47?6@gEtu!dxGAeFX#uhfURH$xENdtE(ceEYr*y420(ty^0Y9^(?X=Mg&Cd} z^_SKbq+`0|DTA0acA(GfaB(a4^VhfSP7C5|xNMZ|- z#1?lC_z-;5+Cn6;g-Buxk;E1vi7m{0v@rA0!puhtGaoI?e6%q0(Zb9}3o{=rL>gO& zG`0|FY$4Lv;?Z_Q8e51owh(D-A=21Fq_M?25l|lXWpCdLi4oP+^j6#V;U+n6G3x9) zw)kZuKY9|jh2eK=Ubp72e?VDDnL`Mbd%`0P(S|7VrP{_-!en|2F3)@QR{{dDJV^z7gH z{!_4*Hv9=u*>}tIQlZU`7&lmCb4>HTIh3N^*A|T62A$!Vt*X)`Mv$`_1@5| zu%@}_B4hE(JH9@#^!Pg**p0-j%$snJll~Y!90~$!9Xk;oj$yIOySnC0II#kV$Ll!% zcCPV7i6i-p;=Z0yeuVF^J&7Or9o~jBBd~do5S}MiZDxgK=J!rw%Hsbp%fl!sZ$ZY) zC`tMd_m7f(O!^P-DOw!AR?prJASOJJ>srzcq|86)Smbk2mJXf zvc8DtD`V^aR%Wp(f)%^}y46|Y;oc36_TKFS{|`LdL5%a?tlBbO?bD&v*NYfiVB-e% zZ4v%$30B@*Fb~WJOTbaU#Li@`=9gPZaR6JWW0p_Rgkt1h17H!pyffULlH1-u4g z;B`P06EC;J$_(vc^+W=CgFc`y5N}J?#SA6Q1g!b)uu`L#&xm=49@iG0XU0Rxsth8x zSh5nIimxs<@hP!vB|a5jWqd35#BYd8`FPUtmBuC>C2Ner702omp8X88A}xC5M!1WH zS)WsmHM`SnMV;k3rt2l_i>y;d`e&>9EpVDSU$0ghcD?0As`d-isB-SJ=I%GA+ zZ@7O8ybaz5d%y?aL-1Gd5lCFwk%lFm4iZ;*^yfZU;W3zNJOVuW{jFX$>xT~InT6mm zum~Iu7K0-I{HIrjz=L{q$Wl^SA+ih{3zmc90A7k-Epj61Nniz_?e@7Fi>w%t)gle> zbAje^;Z$1XD_dRFjrD4jLie8ZnDo-uvBIjGTFDMv5;dqI#f#FB1J>FqJRY?PZ07oW zzPkb);Dy{?Pu;ue8HCmRW(|Pn6dn`5k1EsO`Bg-*a+JKx zyJ14<6d;k_(||;K&jee!K8qE~vI3bkNO~1AE9=y`e8)Rmiubj`2=HY*Bde0HRa;Bv0TXT6g2DsVN|*N}>o8`?2w>$hcyMzoJ4<smz;A8@ zH-VdhtU~($U7qi?w}j4#M;2l)B%T?#hRH)h|E#5t$- z<6gX<;(Lg!=XYlkA^ht5OKP{Tm4flTMC6U}mGq64V^WdhdN|)mRU=Z>_U-Yrc*eXz z9&IB{7t*)#HaTxU>UI8?aUHx>ZY0aRS#BgNqP~ShT*tHWmbsBG*(d+Ac|92%bWuoJ;L>Lv!%H8;=5=GxewN8~4((y<~hxd1x zbN;{io@|%I(N>QxGO8Gv(<2J!xwc=Cv9FaFSfpRY3JkQ-7h7?$l9GxZt^%D|24WQu zd+ls@Grh)O1bTTSkhKM}u3$XK1{1&}Fa_j+0#F9#0g2g4ycQmFlH0W1Sx{p1=G@$1 zl@Kv#BKGlj8d<6TPw#D)L0tkq7p*InKD`7_hkM-VH*w^>yTicY;0SOeI2s%S@R;;l zHYbptL|I-5?F6&aT1WpYJ`TlKw9mn+nG5ED`CtK9Om0xaYK=Nj#6OGjPTd#X(O}=} zraH4fZX@s8!A|h??Q$URP$%wkAim$eb~$Kk7p2fsT|gRO27npRV3z~&1NXhl!M?}j z`0kX6J0Zxp+|jlU>?yNCzcYJ^H~(3Y6YORnKA!AWDywk*Uus10!(`_G@xx^20P(|Q z=K%4;Waj|!!(`_GpBY!#IY8d;kljwj50jk(#1E651H=!Lode{357{|D{4m)8)#tr3 z*#*`2R+CncB3*ii%(bLw6mK2r$)we!w5#kYfb_?AM~(X_BK7~iT5^9HGVq=Lm0Gfh z@#E{=ZHzr-lz5D?_q5pLn}PUQyc;cVT8T|gtWodr43~eoy^s@a`RuPj(`%3Lf28GQ zCye-P;@7=*m+@L;b>=sFc>OE(@G>4*+kL$18C6aJTkx0yuME$Tn1k8Z%fvg(-d^lE zPn@F(%O!(YN87!=+InV9#2o_9tckcoBlgF1JhLY2nKcpj=xiS^>zRdbV0V~hLsMqLIW2#D>n$G40E^z8r|9YocE5BVN9Zc=@d3wY&UKo~SNQ6{+Za^u5mIDsqxo z+4VrIN_o%I#1QckIL#q$v-{ZWGN)-GX8Vh_e10S>zQRU)((TYTUIK4mGX}+N_b>ha zq4S>B>i=%DwM1SWc=4O{%k(z#%zV$6+dCszzfAP8({;=7i1z2{0~6U6ePFmwVsY^Z zcVcw=LTH(2bA*_jNKAx?vx#&Y*=w&85@T|KPLQ{Jg`>?r8~d2eMbm$?PleJ^f)qUy zu+?gWi%CV-p{3A%iP|yH8FB4s<_F{#mw>ifQZ%Hmz6GuWqU$2$sARUl>4wG#-{aSM z=n^8Um-0-o8^pDGKLhiAzbhI_W;o)%(Hu(zA^h?Z3w~q9z zp1aa{n%&!kHw{mi-P^9@UdCHF%g4-7$=q1Hz1z~EbWUIL7Ar>jE|?b!+E&g95?&8@ zF0crMJB>wFruGBy<}8J?|tbv5+8)(!{D(vU+DKftGS2k zzP2|JrxUs34JM@HCTwo@HP)xI$bJlu(oT<4!XNY9Q{4ZO^iA%64cMDj{SLo3l?YEa zKvctJ_QpMfYvw}T?EpS;caSnC$^Hwzdkf#+$-WA^_{{9PAg4hz+I6n7?}G30wu^q} z`Ej0k0zlh+5zBaGt;e%2qfz}Q*FOdS1%3u-J@p#j{hXBDRCxoUQL#g)dIPlIP5IY+ z_8TC*{9Eug_#Jo${2u%P{1N<#a=lAFKG%OCWsfYi2QBm=bpFa`{|){I{tnvDvjyWj zaWws|^Ex=;WO|Pn8Qf%cVHQq8ih1)QaVKWkuSRxamOX1^CuZ5VMs{M3!DX@&v+QBh z=w8cp1l$UU@4DXw!g=2ZP2etYH_w_~nq|Km*$E^HH%8&asLT77ngfOVo&rz9?a#Ds zbe|=Cf%}(v{*~6_UE0{CeKlv&uDr{%uic!@9$mDbOMAKRf%lf9k@3IbOBvkkLT@@Mz0%b;*QTm1iU_cmccXq;C$Kr8BVwRdNu0Px`y)oAxMM7 zLM0A*IFR_K#6BhNDKXDufy6o)6LgHToK#|)64xaDx6f05VR|v&KyRjlD z1}Dj!nVDY@4Toj_xmxZCo_P|y2HxT~Z-e*22jH(@FSTUVlk9cC{K>6QVhxgB3&h$V zS*zm=rY!nXt+yxxTr4Y%41Lj0fo|HxFZq?$MWTlS+E4S@vp~uq`bKn(=oz6cdZiZ- zO7Zu(+v}43>5VUr2FE>JTJT;g z#sL`vME^JGzKQGqCUk!jr-hkwujnfz!FTe)8U>@CsZ~&;7^7aiHovB(a3D2;i^CfE zjCN8ZpV2O;QGAD?#GQpqjpQwkM)z@^eS+VZ8u`>HsEto;d_A(ss3s$tsg2KQ<};f4 zjAo`b1GH?%oMDXFoM#Bk_$>P;NlAszqpF46{uR8wK9F?A&98P=QZ&a-EWP`{gIvP} zXpknxH($MsmG}zxzW}>Ie7&J?n~YE4-o2rwIf*u02h5lfqpyPTB<5n5BmJ^dl-d8x zj3?$aFWCppj3>d)r$(=s@xq+&)yy+SW0*CDVy(zn@iH@F=&UCF=%+6B1ImyuIa;?v-E{B8p{1Be|GBdPm0*fcXn%Ia8N9-HM z*|c zH0AuvY|dcF4)y(0Jo7RVZbtSPBfHW4)X|RYa;~PF(;#PS$~g^9jOH;$a~a8-7{!|y z!Ho`b=%F+uHeKtVh#j3}WNzYI2025s30)NN7?qt1&_`|G*bID(&gRYcH>Uh^w&)jo zTT`@+j7K}M@x)VT3T4&!GBO$n7a83dQLpj6$f=P}>_+b8B-nrOS!eUdGPYrFAg_UL z6?u*8SNtu#7WjNpe6EC@lsezhP4sSD=ZZHWqex)OMYSy_^7;xeBTBSWOT*~lXsCZh zF8gTNjE^cb|Hs=1GYvfV;TV`YuKP!e+>SLA4$Q0E+)&M?Z zjCDq`KJ@cfKHf#Cp-yeI1)*nCPk|CVMrqrgAM`NyJg3J?Gfsx1emFi3pd__mBd8aj zJkWW}h8%A=7Y^PfoC^X^D)6HI%{{0DJ@}2MWJb_`si)-3($aRj)1qw>Mia%JwVmiZ zI#25~_OZog6g$LtKif%(WnzPLrq>d6n(R<%q}51j z%u1^9ke=bYxE?bj*6YyP4cL=+A380jCAd2h+Y_|aX=W!&u`|$TVlCTvFHtb<-*vRo zqB;r@*Z57k*1;K=)s&EVW9`k0#dR(a&t0sni@`1+*44d0tg0uprf$OPj^cGk(A37V z5>5RY-z8dBVpR!0a7J=ME#ekaPz%}D*m$USqi@iHR+H)&93G5}TRwg0t7qwtz*{|o z>+OITuKR6pCzM2kw(SqG=Y1>(iBkFQAHbi$e}lh)xOXC&Qle45J-=AIkr?m)w~aFX zE3E42omkb_aB%2b*k8Y+_QIt>t;KTwygm#1E9k3$1HWkh41()y-+XCnb}6&8ZTI&2 zcUVa(qw`Lnbp?FX1jJJ&mZUvo(GNrrI$K4GRcj)s_(1Sj+p}`0BCGf}p zyES0nto{1x&u_d1?Sy}T<`Nkc+t|n;k#J%IQFb58z^h{pi1c~BkK4%`JIpkgS%!`3 zpPgk0W*E%uf}EMwsQ%0tMa10BFf`gYL1Tv*hEI5g`5)dkHRnDCaf5xG_h@Dt;%7dZ z=uouXY{M5j_p!6thC8vmI?gzJv2!71_Cd~u45CVA210D1Mr{k383@sR8^6R1ggH;L z?F>ZJ&Oq$*Y)KuNYC8kbXlEeWo;hjs?M6ET(fRq4Cf>0TUHr{DJM=saSV-3d9Pdj_f-cpJ|g=Toe33L^EO5 z&G<6J-9j6}#METwD~PEXpQbb46aPrRNB=mfXdv-zg4nkBH^#2$I3xEN-$~ntK8}r% z+1Qwq%U%667pu1@EpzU=W zi~GcyXkU_Ay-Xkdl+<{~!3>SxCO%My_a(lj#0G-eeVY+LYPbt9+lFT>JA<)zCg`lD zrgjp`ls=N$WfKF)CI*o0{(-#y1pXWRjr+fYPeA9j&epXa7}h+S)kW}R!a9+S$cT70 zjr3WtK1Al7WQNSF2|0swJCOLJS@$8HbNsxGcy!jR^N?60<99+VQJ<;daALTfeY^>3 z5_jG=Wi#9OWhp-mWr;BCs|2HUB*^H7n5G`+1rtfYMxrg~5v?C+d2~WtAGD7cU{le1 zGM6d3Ac`(9@}CeXNRa<1K1__>kVruk`8TtEaX(Wul_^b31#yj_Bxo8mR8X3jo^cgl z@_AsiP=^`R(4XuLMWJl8PRtoZ-v_g9;cO^#jIvroxYlPzZGZFWB8$S6veQQ5JbHXD zI~_Mht4cIGpcG@Zk<1_HxmQa~B1uBc%->x^dMl6!QsR6ZJ%a8sR9PRRDgU0d?VOuW z1Up6qJARsrlwwRUGKX<>baaQ31S8>ka_v|mvnxs45{WhqN@UtX;_4ksWMb+)C>8NG z9ZyfS-msiS=fhoM`H6Qcvq!A;SI=uL6U?@l`QHzm)3r7UT1H~~q7Owgynz z2a(dmy5CBR?gEBGP5py@euZa^tb~#p_It4Er4M5RvI774thsDU-SoikpbYg+ImuE8 zb2Yj7I=2B~pYjx36`Wog*quHc^iS_N4+ZA$1b6BDUo~X+893e{CPeZ9{1(u?;hVy8P2Q4?+{jNv1M(8IAZm z)>pK^8S8aFz`vxj3PwgzcATfYa@uIHq9s0Fv>l@oN6QGkZ~fTLsD(WERZ{F7S_y&1 zllozMT5V@6f_B=h4Ihct>b1{YWZV!A{k$B)-P5IgouO8fh|MME$ciR0qv5+;2jjMA zkNu5+jO*>SLpbWmcpujU5yvGqHeG#06k(*bnWVSH-;a-hzZ2~RO<7YbqwiUyX9HO) zYosvf^g_|SJh&H8&^IYU>p{}H!nj4LG zEUU)a+a;za0?WXxNBz7W`3psT~)usy*lyyxj(GkO^PD_TzU&oKOF-v3 zHy9PZxXyhe9LN4QuV6PThRiDVcwG6L73}+3!5+Lnkr+vnnV-Z}?8e6q-mQodEs%FB z%!+nd4J8pBiRPG?^8db7?Pm4s*SE6WV=YsJcYO7ZP>!4?)x=xA*{u0q!pS{L*jK-j zlUcK!1G%0~Iv0y*9+(dnppll49tDo!yJNv}-cn-yGy5AgIp+Y@FgmnT7))p?G4 z<_nyc02Us*j7HgIG|DccQFa-Pvdd`H@u9N^um&L9Ri-Z^Nk1@#b(!Np5i42b^yd<; zrvd8BIj`BA^P0^WO>#1Olinv|Bj3qhSz7_IAN#JD?9gW4#N+v^xR!Uih!Csm!42Rh zekX6be3$eN#x*k^%=<`O-wj<^uk{GuJ<9##{ProXsShKqyulL1^37)ClQ|=qE8>k4 z$}6W)e@ZGRQtu^|Q>i&2A)G^AfgG#@GM9V`*77#48^L+t0&oeqh0pKgH$?l8vnYNl zv-8~F&;0|WKLQW)%%h~wlggVRuj@#)M5&t?&3R{u&-ajuRsIq98~1+)pE%P!tS1jk zopB|Kg)K4PMn-vJzRnV?Y*{BNvERloJ%3%q?@GWla3DAc%mA~%98gBy^S}bG7lK7# zF@Rt7PB=?Rmx1NrcyJ=1y}Vk=MIU?h@MSO73rxokspK4s=?UjpOlRlF>2Q1{9A62? zS31YRUB{E20L2YXC1-k9dJWuv(Hxc}x-`X_<4I^8@m@m-9Q0aUSB# z^boZRsWdHj^W4bE%)ZFFM%)j6*_yPbOHP5w?n5`E`XWO0wP8EO2` z+2VZ6-)YW2oKKw7ozM6?(`i-8*{VF{IcKR9mE!DBT~rt6Y?a3OAm^was;9#&vFhub zr~0XW&V_228s=Q2MyL_a#cCw-e2E&T#yeN2iE5&AmC9AQ&ebYki}>_f6_xHN&}C%~o@qTh#)!z`0E=RZE@Q)pB-X-Kkcq)y@x8CA+aUscN;}xkuHi zGn{6%Rh{EJsm|qn*5}lP>Qd)Lbvf^w{#0GXP9Hy0*Q@KDU#J_@ZO-dzC$j#Q+C?1w z_v$X>{LiXcH9LP%52^>9_tZn`3Fmz!bI&d68TAwAWA!|d^iR~Q{CVmZ{3WS3)NfR> zdRx7#(v`2?QyFRxe*@HqsznV{AG@9!=BBtQD%(wS(^QU|i}2Dd>KyQjEks1kRpd$Bs$y~e#sEpl&hZ&k;*x4A!5$GUgB zPpCC+)Ma-H_i6WOwb^~veO7I8pL1VSr@1e?uc)o=f4M(X+ufhLud5yI?*FeMb4f`k z48Z9B{ilK8777s&5fKqVL_|aiaRVVDk_aMlapW4baVv;M?IG>`eo*t^s-ae+HV|B| zlQa0{XYg_Cr-s(Gu10ode|2d8?7xnzhtV+*&b&^H0I Date: Wed, 24 Apr 2013 19:26:06 -0700 Subject: [PATCH 05/31] Updated README. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a1064bf..ac3c9490 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ Premake 4.4 beta4 [http://industriousone.com/premake/download](http://industriousone.com/premake/download) GNU make and CoreUtils -Windows users download GNU make utility from: +Windows users download GNU utilities from: [http://gnuwin32.sourceforge.net/packages/make.htm](http://gnuwin32.sourceforge.net/packages/make.htm) [http://gnuwin32.sourceforge.net/packages/coreutils.htm](http://gnuwin32.sourceforge.net/packages/coreutils.htm) From 6e374982be2ab8120541b8449f46441f0dfa285b Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 21:01:11 -0700 Subject: [PATCH 06/31] Added imgui. --- 3rdparty/stb_truetype/stb_truetype.h | 2065 ++++++++++++++++++ examples/common/imgui/fs_imgui_color.bin.h | 58 + examples/common/imgui/fs_imgui_color.sc | 13 + examples/common/imgui/fs_imgui_texture.bin.h | 91 + examples/common/imgui/fs_imgui_texture.sc | 16 + examples/common/imgui/imgui.cpp | 1400 ++++++++++++ examples/common/imgui/imgui.h | 79 + examples/common/imgui/makefile | 9 + examples/common/imgui/varying.def.sc | 6 + examples/common/imgui/vs_imgui_color.bin.h | 124 ++ examples/common/imgui/vs_imgui_color.sc | 15 + examples/common/imgui/vs_imgui_texture.bin.h | 137 ++ examples/common/imgui/vs_imgui_texture.sc | 16 + examples/common/processevents.h | 24 +- premake/premake4.lua | 1 + 15 files changed, 4049 insertions(+), 5 deletions(-) create mode 100644 3rdparty/stb_truetype/stb_truetype.h create mode 100644 examples/common/imgui/fs_imgui_color.bin.h create mode 100644 examples/common/imgui/fs_imgui_color.sc create mode 100644 examples/common/imgui/fs_imgui_texture.bin.h create mode 100644 examples/common/imgui/fs_imgui_texture.sc create mode 100644 examples/common/imgui/imgui.cpp create mode 100644 examples/common/imgui/imgui.h create mode 100644 examples/common/imgui/makefile create mode 100644 examples/common/imgui/varying.def.sc create mode 100644 examples/common/imgui/vs_imgui_color.bin.h create mode 100644 examples/common/imgui/vs_imgui_color.sc create mode 100644 examples/common/imgui/vs_imgui_texture.bin.h create mode 100644 examples/common/imgui/vs_imgui_texture.sc diff --git a/3rdparty/stb_truetype/stb_truetype.h b/3rdparty/stb_truetype/stb_truetype.h new file mode 100644 index 00000000..9f07124a --- /dev/null +++ b/3rdparty/stb_truetype/stb_truetype.h @@ -0,0 +1,2065 @@ +// stb_truetype.h - v0.6c - public domain +// authored from 2009-2012 by Sean Barrett / RAD Game Tools +// +// This library processes TrueType files: +// parse files +// extract glyph metrics +// extract glyph shapes +// render glyphs to one-channel bitmaps with antialiasing (box filter) +// +// Todo: +// non-MS cmaps +// crashproof on bad data +// hinting? (no longer patented) +// cleartype-style AA? +// optimize: use simple memory allocator for intermediates +// optimize: build edge-list directly from curves +// optimize: rasterize directly from curves? +// +// ADDITIONAL CONTRIBUTORS +// +// Mikko Mononen: compound shape support, more cmap formats +// Tor Andersson: kerning, subpixel rendering +// +// Bug/warning reports: +// "Zer" on mollyrocket (with fix) +// Cass Everitt +// stoiko (Haemimont Games) +// Brian Hook +// Walter van Niftrik +// +// VERSION HISTORY +// +// 0.6c (2012-07-24) improve documentation +// 0.6b (2012-07-20) fix a few more warnings +// 0.6 (2012-07-17) fix warnings; added stbtt_ScaleForMappingEmToPixels, +// stbtt_GetFontBoundingBox, stbtt_IsGlyphEmpty +// 0.5 (2011-12-09) bugfixes: +// subpixel glyph renderer computed wrong bounding box +// first vertex of shape can be off-curve (FreeSans) +// 0.4b (2011-12-03) fixed an error in the font baking example +// 0.4 (2011-12-01) kerning, subpixel rendering (tor) +// bugfixes for: +// codepoint-to-glyph conversion using table fmt=12 +// codepoint-to-glyph conversion using table fmt=4 +// stbtt_GetBakedQuad with non-square texture (Zer) +// updated Hello World! sample to use kerning and subpixel +// fixed some warnings +// 0.3 (2009-06-24) cmap fmt=12, compound shapes (MM) +// userdata, malloc-from-userdata, non-zero fill (STB) +// 0.2 (2009-03-11) Fix unsigned/signed char warnings +// 0.1 (2009-03-09) First public release +// +// LICENSE +// +// This software is in the public domain. Where that dedication is not +// recognized, you are granted a perpetual, irrevokable license to copy +// and modify this file as you see fit. +// +// USAGE +// +// Include this file in whatever places neeed to refer to it. In ONE C/C++ +// file, write: +// #define STB_TRUETYPE_IMPLEMENTATION +// before the #include of this file. This expands out the actual +// implementation into that C/C++ file. +// +// Simple 3D API (don't ship this, but it's fine for tools and quick start, +// and you can cut and paste from it to move to more advanced) +// stbtt_BakeFontBitmap() -- bake a font to a bitmap for use as texture +// stbtt_GetBakedQuad() -- compute quad to draw for a given char +// +// "Load" a font file from a memory buffer (you have to keep the buffer loaded) +// stbtt_InitFont() +// stbtt_GetFontOffsetForIndex() -- use for TTC font collections +// +// Render a unicode codepoint to a bitmap +// stbtt_GetCodepointBitmap() -- allocates and returns a bitmap +// stbtt_MakeCodepointBitmap() -- renders into bitmap you provide +// stbtt_GetCodepointBitmapBox() -- how big the bitmap must be +// +// Character advance/positioning +// stbtt_GetCodepointHMetrics() +// stbtt_GetFontVMetrics() +// stbtt_GetCodepointKernAdvance() +// +// ADDITIONAL DOCUMENTATION +// +// Immediately after this block comment are a series of sample programs. +// +// After the sample programs is the "header file" section. This section +// includes documentation for each API function. +// +// Some important concepts to understand to use this library: +// +// Codepoint +// Characters are defined by unicode codepoints, e.g. 65 is +// uppercase A, 231 is lowercase c with a cedilla, 0x7e30 is +// the hiragana for "ma". +// +// Glyph +// A visual character shape (every codepoint is rendered as +// some glyph) +// +// Glyph index +// A font-specific integer ID representing a glyph +// +// Baseline +// Glyph shapes are defined relative to a baseline, which is the +// bottom of uppercase characters. Characters extend both above +// and below the baseline. +// +// Current Point +// As you draw text to the screen, you keep track of a "current point" +// which is the origin of each character. The current point's vertical +// position is the baseline. Even "baked fonts" use this model. +// +// Vertical Font Metrics +// The vertical qualities of the font, used to vertically position +// and space the characters. See docs for stbtt_GetFontVMetrics. +// +// Font Size in Pixels or Points +// The preferred interface for specifying font sizes in stb_truetype +// is to specify how tall the font's vertical extent should be in pixels. +// If that sounds good enough, skip the next paragraph. +// +// Most font APIs instead use "points", which are a common typographic +// measurement for describing font size, defined as 72 points per inch. +// stb_truetype provides a point API for compatibility. However, true +// "per inch" conventions don't make much sense on computer displays +// since they different monitors have different number of pixels per +// inch. For example, Windows traditionally uses a convention that +// there are 96 pixels per inch, thus making 'inch' measurements have +// nothing to do with inches, and thus effectively defining a point to +// be 1.333 pixels. Additionally, the TrueType font data provides +// an explicit scale factor to scale a given font's glyphs to points, +// but the author has observed that this scale factor is often wrong +// for non-commercial fonts, thus making fonts scaled in points +// according to the TrueType spec incoherently sized in practice. +// +// ADVANCED USAGE +// +// Quality: +// +// - Use the functions with Subpixel at the end to allow your characters +// to have subpixel positioning. Since the font is anti-aliased, not +// hinted, this is very import for quality. (This is not possible with +// baked fonts.) +// +// - Kerning is now supported, and if you're supporting subpixel rendering +// then kerning is worth using to give your text a polished look. +// +// Performance: +// +// - Convert Unicode codepoints to glyph indexes and operate on the glyphs; +// if you don't do this, stb_truetype is forced to do the conversion on +// every call. +// +// - There are a lot of memory allocations. We should modify it to take +// a temp buffer and allocate from the temp buffer (without freeing), +// should help performance a lot. +// +// NOTES +// +// The system uses the raw data found in the .ttf file without changing it +// and without building auxiliary data structures. This is a bit inefficient +// on little-endian systems (the data is big-endian), but assuming you're +// caching the bitmaps or glyph shapes this shouldn't be a big deal. +// +// It appears to be very hard to programmatically determine what font a +// given file is in a general way. I provide an API for this, but I don't +// recommend it. +// +// +// SOURCE STATISTICS (based on v0.6c, 2050 LOC) +// +// Documentation & header file 520 LOC \___ 660 LOC documentation +// Sample code 140 LOC / +// Truetype parsing 620 LOC ---- 620 LOC TrueType +// Software rasterization 240 LOC \ . +// Curve tesselation 120 LOC \__ 550 LOC Bitmap creation +// Bitmap management 100 LOC / +// Baked bitmap interface 70 LOC / +// Font name matching & access 150 LOC ---- 150 +// C runtime library abstraction 60 LOC ---- 60 + + +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +//// +//// SAMPLE PROGRAMS +//// +// +// Incomplete text-in-3d-api example, which draws quads properly aligned to be lossless +// +#if 0 +#define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation +#include "stb_truetype.h" + +char ttf_buffer[1<<20]; +unsigned char temp_bitmap[512*512]; + +stbtt_bakedchar cdata[96]; // ASCII 32..126 is 95 glyphs +GLstbtt_uint ftex; + +void my_stbtt_initfont(void) +{ + fread(ttf_buffer, 1, 1<<20, fopen("c:/windows/fonts/times.ttf", "rb")); + stbtt_BakeFontBitmap(data,0, 32.0, temp_bitmap,512,512, 32,96, cdata); // no guarantee this fits! + // can free ttf_buffer at this point + glGenTextures(1, &ftex); + glBindTexture(GL_TEXTURE_2D, ftex); + glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA, 512,512, 0, GL_ALPHA, GL_UNSIGNED_BYTE, temp_bitmap); + // can free temp_bitmap at this point + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); +} + +void my_stbtt_print(float x, float y, char *text) +{ + // assume orthographic projection with units = screen pixels, origin at top left + glBindTexture(GL_TEXTURE_2D, ftex); + glBegin(GL_QUADS); + while (*text) { + if (*text >= 32 && *text < 128) { + stbtt_aligned_quad q; + stbtt_GetBakedQuad(cdata, 512,512, *text-32, &x,&y,&q,1);//1=opengl,0=old d3d + glTexCoord2f(q.s0,q.t1); glVertex2f(q.x0,q.y0); + glTexCoord2f(q.s1,q.t1); glVertex2f(q.x1,q.y0); + glTexCoord2f(q.s1,q.t0); glVertex2f(q.x1,q.y1); + glTexCoord2f(q.s0,q.t0); glVertex2f(q.x0,q.y1); + } + ++text; + } + glEnd(); +} +#endif +// +// +////////////////////////////////////////////////////////////////////////////// +// +// Complete program (this compiles): get a single bitmap, print as ASCII art +// +#if 0 +#include +#define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation +#include "stb_truetype.h" + +char ttf_buffer[1<<25]; + +int main(int argc, char **argv) +{ + stbtt_fontinfo font; + unsigned char *bitmap; + int w,h,i,j,c = (argc > 1 ? atoi(argv[1]) : 'a'), s = (argc > 2 ? atoi(argv[2]) : 20); + + fread(ttf_buffer, 1, 1<<25, fopen(argc > 3 ? argv[3] : "c:/windows/fonts/arialbd.ttf", "rb")); + + stbtt_InitFont(&font, ttf_buffer, stbtt_GetFontOffsetForIndex(ttf_buffer,0)); + bitmap = stbtt_GetCodepointBitmap(&font, 0,stbtt_ScaleForPixelHeight(&font, s), c, &w, &h, 0,0); + + for (j=0; j < h; ++j) { + for (i=0; i < w; ++i) + putchar(" .:ioVM@"[bitmap[j*w+i]>>5]); + putchar('\n'); + } + return 0; +} +#endif +// +// Output: +// +// .ii. +// @@@@@@. +// V@Mio@@o +// :i. V@V +// :oM@@M +// :@@@MM@M +// @@o o@M +// :@@. M@M +// @@@o@@@@ +// :M@@V:@@. +// +////////////////////////////////////////////////////////////////////////////// +// +// Complete program: print "Hello World!" banner, with bugs +// +#if 0 +char buffer[24<<20]; +unsigned char screen[20][79]; + +int main(int arg, char **argv) +{ + stbtt_fontinfo font; + int i,j,ascent,baseline,ch=0; + float scale, xpos=0; + char *text = "Heljo World!"; + + fread(buffer, 1, 1000000, fopen("c:/windows/fonts/arialbd.ttf", "rb")); + stbtt_InitFont(&font, buffer, 0); + + scale = stbtt_ScaleForPixelHeight(&font, 15); + stbtt_GetFontVMetrics(&font, &ascent,0,0); + baseline = (int) (ascent*scale); + + while (text[ch]) { + int advance,lsb,x0,y0,x1,y1; + float x_shift = xpos - (float) floor(xpos); + stbtt_GetCodepointHMetrics(&font, text[ch], &advance, &lsb); + stbtt_GetCodepointBitmapBoxSubpixel(&font, text[ch], scale,scale,x_shift,0, &x0,&y0,&x1,&y1); + stbtt_MakeCodepointBitmapSubpixel(&font, &screen[baseline + y0][(int) xpos + x0], x1-x0,y1-y0, 79, scale,scale,x_shift,0, text[ch]); + // note that this stomps the old data, so where character boxes overlap (e.g. 'lj') it's wrong + // because this API is really for baking character bitmaps into textures. if you want to render + // a sequence of characters, you really need to render each bitmap to a temp buffer, then + // "alpha blend" that into the working buffer + xpos += (advance * scale); + if (text[ch+1]) + xpos += scale*stbtt_GetCodepointKernAdvance(&font, text[ch],text[ch+1]); + ++ch; + } + + for (j=0; j < 20; ++j) { + for (i=0; i < 78; ++i) + putchar(" .:ioVM@"[screen[j][i]>>5]); + putchar('\n'); + } + + return 0; +} +#endif + + +////////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////////// +//// +//// INTEGRATION WITH YOUR CODEBASE +//// +//// The following sections allow you to supply alternate definitions +//// of C library functions used by stb_truetype. + +#ifdef STB_TRUETYPE_IMPLEMENTATION + // #define your own (u)stbtt_int8/16/32 before including to override this + #ifndef stbtt_uint8 + typedef unsigned char stbtt_uint8; + typedef signed char stbtt_int8; + typedef unsigned short stbtt_uint16; + typedef signed short stbtt_int16; + typedef unsigned int stbtt_uint32; + typedef signed int stbtt_int32; + #endif + + typedef char stbtt__check_size32[sizeof(stbtt_int32)==4 ? 1 : -1]; + typedef char stbtt__check_size16[sizeof(stbtt_int16)==2 ? 1 : -1]; + + // #define your own STBTT_sort() to override this to avoid qsort + #ifndef STBTT_sort + #include + #define STBTT_sort(data,num_items,item_size,compare_func) qsort(data,num_items,item_size,compare_func) + #endif + + // #define your own STBTT_ifloor/STBTT_iceil() to avoid math.h + #ifndef STBTT_ifloor + #include + #define STBTT_ifloor(x) ((int) floor(x)) + #define STBTT_iceil(x) ((int) ceil(x)) + #endif + + // #define your own functions "STBTT_malloc" / "STBTT_free" to avoid malloc.h + #ifndef STBTT_malloc + #include + #define STBTT_malloc(x,u) malloc(x) + #define STBTT_free(x,u) free(x) + #endif + + #ifndef STBTT_assert + #include + #define STBTT_assert(x) assert(x) + #endif + + #ifndef STBTT_strlen + #include + #define STBTT_strlen(x) strlen(x) + #endif + + #ifndef STBTT_memcpy + #include + #define STBTT_memcpy memcpy + #define STBTT_memset memset + #endif +#endif + +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +//// +//// INTERFACE +//// +//// + +#ifndef __STB_INCLUDE_STB_TRUETYPE_H__ +#define __STB_INCLUDE_STB_TRUETYPE_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +////////////////////////////////////////////////////////////////////////////// +// +// TEXTURE BAKING API +// +// If you use this API, you only have to call two functions ever. +// + +typedef struct +{ + unsigned short x0,y0,x1,y1; // coordinates of bbox in bitmap + float xoff,yoff,xadvance; +} stbtt_bakedchar; + +extern int stbtt_BakeFontBitmap(const unsigned char *data, int offset, // font location (use offset=0 for plain .ttf) + float pixel_height, // height of font in pixels + unsigned char *pixels, int pw, int ph, // bitmap to be filled in + int first_char, int num_chars, // characters to bake + stbtt_bakedchar *chardata); // you allocate this, it's num_chars long +// if return is positive, the first unused row of the bitmap +// if return is negative, returns the negative of the number of characters that fit +// if return is 0, no characters fit and no rows were used +// This uses a very crappy packing. + +typedef struct +{ + float x0,y0,s0,t0; // top-left + float x1,y1,s1,t1; // bottom-right +} stbtt_aligned_quad; + +extern void stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, // same data as above + int char_index, // character to display + float *xpos, float *ypos, // pointers to current position in screen pixel space + stbtt_aligned_quad *q, // output: quad to draw + int opengl_fillrule); // true if opengl fill rule; false if DX9 or earlier +// Call GetBakedQuad with char_index = 'character - first_char', and it +// creates the quad you need to draw and advances the current position. +// +// The coordinate system used assumes y increases downwards. +// +// Characters will extend both above and below the current position; +// see discussion of "BASELINE" above. +// +// It's inefficient; you might want to c&p it and optimize it. + + +////////////////////////////////////////////////////////////////////////////// +// +// FONT LOADING +// +// + +extern int stbtt_GetFontOffsetForIndex(const unsigned char *data, int index); +// Each .ttf/.ttc file may have more than one font. Each font has a sequential +// index number starting from 0. Call this function to get the font offset for +// a given index; it returns -1 if the index is out of range. A regular .ttf +// file will only define one font and it always be at offset 0, so it will +// return '0' for index 0, and -1 for all other indices. You can just skip +// this step if you know it's that kind of font. + + +// The following structure is defined publically so you can declare one on +// the stack or as a global or etc, but you should treat it as opaque. +typedef struct stbtt_fontinfo +{ + void * userdata; + unsigned char * data; // pointer to .ttf file + int fontstart; // offset of start of font + + int numGlyphs; // number of glyphs, needed for range checking + + int loca,head,glyf,hhea,hmtx,kern; // table locations as offset from start of .ttf + int index_map; // a cmap mapping for our chosen character encoding + int indexToLocFormat; // format needed to map from glyph index to glyph +} stbtt_fontinfo; + +extern int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data, int offset); +// Given an offset into the file that defines a font, this function builds +// the necessary cached info for the rest of the system. You must allocate +// the stbtt_fontinfo yourself, and stbtt_InitFont will fill it out. You don't +// need to do anything special to free it, because the contents are pure +// value data with no additional data structures. Returns 0 on failure. + + +////////////////////////////////////////////////////////////////////////////// +// +// CHARACTER TO GLYPH-INDEX CONVERSIOn + +int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint); +// If you're going to perform multiple operations on the same character +// and you want a speed-up, call this function with the character you're +// going to process, then use glyph-based functions instead of the +// codepoint-based functions. + + +////////////////////////////////////////////////////////////////////////////// +// +// CHARACTER PROPERTIES +// + +extern float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float pixels); +// computes a scale factor to produce a font whose "height" is 'pixels' tall. +// Height is measured as the distance from the highest ascender to the lowest +// descender; in other words, it's equivalent to calling stbtt_GetFontVMetrics +// and computing: +// scale = pixels / (ascent - descent) +// so if you prefer to measure height by the ascent only, use a similar calculation. + +extern float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels); +// computes a scale factor to produce a font whose EM size is mapped to +// 'pixels' tall. This is probably what traditional APIs compute, but +// I'm not positive. + +extern void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap); +// ascent is the coordinate above the baseline the font extends; descent +// is the coordinate below the baseline the font extends (i.e. it is typically negative) +// lineGap is the spacing between one row's descent and the next row's ascent... +// so you should advance the vertical position by "*ascent - *descent + *lineGap" +// these are expressed in unscaled coordinates, so you must multiply by +// the scale factor for a given size + +extern void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1); +// the bounding box around all possible characters + +extern void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing); +// leftSideBearing is the offset from the current horizontal position to the left edge of the character +// advanceWidth is the offset from the current horizontal position to the next horizontal position +// these are expressed in unscaled coordinates + +extern int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2); +// an additional amount to add to the 'advance' value between ch1 and ch2 +// @TODO; for now always returns 0! + +extern int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1); +// Gets the bounding box of the visible part of the glyph, in unscaled coordinates + +extern void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing); +extern int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2); +extern int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1); +// as above, but takes one or more glyph indices for greater efficiency + + +////////////////////////////////////////////////////////////////////////////// +// +// GLYPH SHAPES (you probably don't need these, but they have to go before +// the bitmaps for C declaration-order reasons) +// + +#ifndef STBTT_vmove // you can predefine these to use different values (but why?) + enum { + STBTT_vmove=1, + STBTT_vline, + STBTT_vcurve + }; +#endif + +#ifndef stbtt_vertex // you can predefine this to use different values + // (we share this with other code at RAD) + #define stbtt_vertex_type short // can't use stbtt_int16 because that's not visible in the header file + typedef struct + { + stbtt_vertex_type x,y,cx,cy; + unsigned char type,padding; + } stbtt_vertex; +#endif + +extern int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index); +// returns non-zero if nothing is drawn for this glyph + +extern int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices); +extern int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **vertices); +// returns # of vertices and fills *vertices with the pointer to them +// these are expressed in "unscaled" coordinates + +extern void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *vertices); +// frees the data allocated above + +////////////////////////////////////////////////////////////////////////////// +// +// BITMAP RENDERING +// + +extern void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata); +// frees the bitmap allocated below + +extern unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff); +// allocates a large-enough single-channel 8bpp bitmap and renders the +// specified character/glyph at the specified scale into it, with +// antialiasing. 0 is no coverage (transparent), 255 is fully covered (opaque). +// *width & *height are filled out with the width & height of the bitmap, +// which is stored left-to-right, top-to-bottom. +// +// xoff/yoff are the offset it pixel space from the glyph origin to the top-left of the bitmap + +extern unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff); +// the same as stbtt_GetCodepoitnBitmap, but you can specify a subpixel +// shift for the character + +extern void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint); +// the same as stbtt_GetCodepointBitmap, but you pass in storage for the bitmap +// in the form of 'output', with row spacing of 'out_stride' bytes. the bitmap +// is clipped to out_w/out_h bytes. Call stbtt_GetCodepointBitmapBox to get the +// width and height and positioning info for it first. + +extern void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint); +// same as stbtt_MakeCodepointBitmap, but you can specify a subpixel +// shift for the character + +extern void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1); +// get the bbox of the bitmap centered around the glyph origin; so the +// bitmap width is ix1-ix0, height is iy1-iy0, and location to place +// the bitmap top left is (leftSideBearing*scale,iy0). +// (Note that the bitmap uses y-increases-down, but the shape uses +// y-increases-up, so CodepointBitmapBox and CodepointBox are inverted.) + +extern void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1); +// same as stbtt_GetCodepointBitmapBox, but you can specify a subpixel +// shift for the character + +// the following functions are equivalent to the above functions, but operate +// on glyph indices instead of Unicode codepoints (for efficiency) +extern unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff); +extern unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff); +extern void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph); +extern void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph); +extern void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1); +extern void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1); + + +// @TODO: don't expose this structure +typedef struct +{ + int w,h,stride; + unsigned char *pixels; +} stbtt__bitmap; + +extern void stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, float shift_x, float shift_y, int x_off, int y_off, int invert, void *userdata); + +////////////////////////////////////////////////////////////////////////////// +// +// Finding the right font... +// +// You should really just solve this offline, keep your own tables +// of what font is what, and don't try to get it out of the .ttf file. +// That's because getting it out of the .ttf file is really hard, because +// the names in the file can appear in many possible encodings, in many +// possible languages, and e.g. if you need a case-insensitive comparison, +// the details of that depend on the encoding & language in a complex way +// (actually underspecified in truetype, but also gigantic). +// +// But you can use the provided functions in two possible ways: +// stbtt_FindMatchingFont() will use *case-sensitive* comparisons on +// unicode-encoded names to try to find the font you want; +// you can run this before calling stbtt_InitFont() +// +// stbtt_GetFontNameString() lets you get any of the various strings +// from the file yourself and do your own comparisons on them. +// You have to have called stbtt_InitFont() first. + + +extern int stbtt_FindMatchingFont(const unsigned char *fontdata, const char *name, int flags); +// returns the offset (not index) of the font that matches, or -1 if none +// if you use STBTT_MACSTYLE_DONTCARE, use a font name like "Arial Bold". +// if you use any other flag, use a font name like "Arial"; this checks +// the 'macStyle' header field; i don't know if fonts set this consistently +#define STBTT_MACSTYLE_DONTCARE 0 +#define STBTT_MACSTYLE_BOLD 1 +#define STBTT_MACSTYLE_ITALIC 2 +#define STBTT_MACSTYLE_UNDERSCORE 4 +#define STBTT_MACSTYLE_NONE 8 // <= not same as 0, this makes us check the bitfield is 0 + +extern int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2); +// returns 1/0 whether the first string interpreted as utf8 is identical to +// the second string interpreted as big-endian utf16... useful for strings from next func + +extern const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID); +// returns the string (which may be big-endian double byte, e.g. for unicode) +// and puts the length in bytes in *length. +// +// some of the values for the IDs are below; for more see the truetype spec: +// http://developer.apple.com/textfonts/TTRefMan/RM06/Chap6name.html +// http://www.microsoft.com/typography/otspec/name.htm + +enum { // platformID + STBTT_PLATFORM_ID_UNICODE =0, + STBTT_PLATFORM_ID_MAC =1, + STBTT_PLATFORM_ID_ISO =2, + STBTT_PLATFORM_ID_MICROSOFT =3 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_UNICODE + STBTT_UNICODE_EID_UNICODE_1_0 =0, + STBTT_UNICODE_EID_UNICODE_1_1 =1, + STBTT_UNICODE_EID_ISO_10646 =2, + STBTT_UNICODE_EID_UNICODE_2_0_BMP=3, + STBTT_UNICODE_EID_UNICODE_2_0_FULL=4 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_MICROSOFT + STBTT_MS_EID_SYMBOL =0, + STBTT_MS_EID_UNICODE_BMP =1, + STBTT_MS_EID_SHIFTJIS =2, + STBTT_MS_EID_UNICODE_FULL =10 +}; + +enum { // encodingID for STBTT_PLATFORM_ID_MAC; same as Script Manager codes + STBTT_MAC_EID_ROMAN =0, STBTT_MAC_EID_ARABIC =4, + STBTT_MAC_EID_JAPANESE =1, STBTT_MAC_EID_HEBREW =5, + STBTT_MAC_EID_CHINESE_TRAD =2, STBTT_MAC_EID_GREEK =6, + STBTT_MAC_EID_KOREAN =3, STBTT_MAC_EID_RUSSIAN =7 +}; + +enum { // languageID for STBTT_PLATFORM_ID_MICROSOFT; same as LCID... + // problematic because there are e.g. 16 english LCIDs and 16 arabic LCIDs + STBTT_MS_LANG_ENGLISH =0x0409, STBTT_MS_LANG_ITALIAN =0x0410, + STBTT_MS_LANG_CHINESE =0x0804, STBTT_MS_LANG_JAPANESE =0x0411, + STBTT_MS_LANG_DUTCH =0x0413, STBTT_MS_LANG_KOREAN =0x0412, + STBTT_MS_LANG_FRENCH =0x040c, STBTT_MS_LANG_RUSSIAN =0x0419, + STBTT_MS_LANG_GERMAN =0x0407, STBTT_MS_LANG_SPANISH =0x0409, + STBTT_MS_LANG_HEBREW =0x040d, STBTT_MS_LANG_SWEDISH =0x041D +}; + +enum { // languageID for STBTT_PLATFORM_ID_MAC + STBTT_MAC_LANG_ENGLISH =0 , STBTT_MAC_LANG_JAPANESE =11, + STBTT_MAC_LANG_ARABIC =12, STBTT_MAC_LANG_KOREAN =23, + STBTT_MAC_LANG_DUTCH =4 , STBTT_MAC_LANG_RUSSIAN =32, + STBTT_MAC_LANG_FRENCH =1 , STBTT_MAC_LANG_SPANISH =6 , + STBTT_MAC_LANG_GERMAN =2 , STBTT_MAC_LANG_SWEDISH =5 , + STBTT_MAC_LANG_HEBREW =10, STBTT_MAC_LANG_CHINESE_SIMPLIFIED =33, + STBTT_MAC_LANG_ITALIAN =3 , STBTT_MAC_LANG_CHINESE_TRAD =19 +}; + +#ifdef __cplusplus +} +#endif + +#endif // __STB_INCLUDE_STB_TRUETYPE_H__ + +/////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// +//// +//// IMPLEMENTATION +//// +//// + +#ifdef STB_TRUETYPE_IMPLEMENTATION + +////////////////////////////////////////////////////////////////////////// +// +// accessors to parse data from file +// + +// on platforms that don't allow misaligned reads, if we want to allow +// truetype fonts that aren't padded to alignment, define ALLOW_UNALIGNED_TRUETYPE + +#define ttBYTE(p) (* (stbtt_uint8 *) (p)) +#define ttCHAR(p) (* (stbtt_int8 *) (p)) +#define ttFixed(p) ttLONG(p) + +#if defined(STB_TRUETYPE_BIGENDIAN) && !defined(ALLOW_UNALIGNED_TRUETYPE) + + #define ttUSHORT(p) (* (stbtt_uint16 *) (p)) + #define ttSHORT(p) (* (stbtt_int16 *) (p)) + #define ttULONG(p) (* (stbtt_uint32 *) (p)) + #define ttLONG(p) (* (stbtt_int32 *) (p)) + +#else + + stbtt_uint16 ttUSHORT(const stbtt_uint8 *p) { return p[0]*256 + p[1]; } + stbtt_int16 ttSHORT(const stbtt_uint8 *p) { return p[0]*256 + p[1]; } + stbtt_uint32 ttULONG(const stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; } + stbtt_int32 ttLONG(const stbtt_uint8 *p) { return (p[0]<<24) + (p[1]<<16) + (p[2]<<8) + p[3]; } + +#endif + +#define stbtt_tag4(p,c0,c1,c2,c3) ((p)[0] == (c0) && (p)[1] == (c1) && (p)[2] == (c2) && (p)[3] == (c3)) +#define stbtt_tag(p,str) stbtt_tag4(p,str[0],str[1],str[2],str[3]) + +static int stbtt__isfont(const stbtt_uint8 *font) +{ + // check the version number + if (stbtt_tag4(font, '1',0,0,0)) return 1; // TrueType 1 + if (stbtt_tag(font, "typ1")) return 1; // TrueType with type 1 font -- we don't support this! + if (stbtt_tag(font, "OTTO")) return 1; // OpenType with CFF + if (stbtt_tag4(font, 0,1,0,0)) return 1; // OpenType 1.0 + return 0; +} + +// @OPTIMIZE: binary search +static stbtt_uint32 stbtt__find_table(stbtt_uint8 *data, stbtt_uint32 fontstart, const char *tag) +{ + stbtt_int32 num_tables = ttUSHORT(data+fontstart+4); + stbtt_uint32 tabledir = fontstart + 12; + stbtt_int32 i; + for (i=0; i < num_tables; ++i) { + stbtt_uint32 loc = tabledir + 16*i; + if (stbtt_tag(data+loc+0, tag)) + return ttULONG(data+loc+8); + } + return 0; +} + +int stbtt_GetFontOffsetForIndex(const unsigned char *font_collection, int index) +{ + // if it's just a font, there's only one valid index + if (stbtt__isfont(font_collection)) + return index == 0 ? 0 : -1; + + // check if it's a TTC + if (stbtt_tag(font_collection, "ttcf")) { + // version 1? + if (ttULONG(font_collection+4) == 0x00010000 || ttULONG(font_collection+4) == 0x00020000) { + stbtt_int32 n = ttLONG(font_collection+8); + if (index >= n) + return -1; + return ttULONG(font_collection+12+index*14); + } + } + return -1; +} + +int stbtt_InitFont(stbtt_fontinfo *info, const unsigned char *data2, int fontstart) +{ + stbtt_uint8 *data = (stbtt_uint8 *) data2; + stbtt_uint32 cmap, t; + stbtt_int32 i,numTables; + + info->data = data; + info->fontstart = fontstart; + + cmap = stbtt__find_table(data, fontstart, "cmap"); // required + info->loca = stbtt__find_table(data, fontstart, "loca"); // required + info->head = stbtt__find_table(data, fontstart, "head"); // required + info->glyf = stbtt__find_table(data, fontstart, "glyf"); // required + info->hhea = stbtt__find_table(data, fontstart, "hhea"); // required + info->hmtx = stbtt__find_table(data, fontstart, "hmtx"); // required + info->kern = stbtt__find_table(data, fontstart, "kern"); // not required + if (!cmap || !info->loca || !info->head || !info->glyf || !info->hhea || !info->hmtx) + return 0; + + t = stbtt__find_table(data, fontstart, "maxp"); + if (t) + info->numGlyphs = ttUSHORT(data+t+4); + else + info->numGlyphs = 0xffff; + + // find a cmap encoding table we understand *now* to avoid searching + // later. (todo: could make this installable) + // the same regardless of glyph. + numTables = ttUSHORT(data + cmap + 2); + info->index_map = 0; + for (i=0; i < numTables; ++i) { + stbtt_uint32 encoding_record = cmap + 4 + 8 * i; + // find an encoding we understand: + switch(ttUSHORT(data+encoding_record)) { + case STBTT_PLATFORM_ID_MICROSOFT: + switch (ttUSHORT(data+encoding_record+2)) { + case STBTT_MS_EID_UNICODE_BMP: + case STBTT_MS_EID_UNICODE_FULL: + // MS/Unicode + info->index_map = cmap + ttULONG(data+encoding_record+4); + break; + } + break; + } + } + if (info->index_map == 0) + return 0; + + info->indexToLocFormat = ttUSHORT(data+info->head + 50); + return 1; +} + +int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint) +{ + stbtt_uint8 *data = info->data; + stbtt_uint32 index_map = info->index_map; + + stbtt_uint16 format = ttUSHORT(data + index_map + 0); + if (format == 0) { // apple byte encoding + stbtt_int32 bytes = ttUSHORT(data + index_map + 2); + if (unicode_codepoint < bytes-6) + return ttBYTE(data + index_map + 6 + unicode_codepoint); + return 0; + } else if (format == 6) { + stbtt_uint32 first = ttUSHORT(data + index_map + 6); + stbtt_uint32 count = ttUSHORT(data + index_map + 8); + if ((stbtt_uint32) unicode_codepoint >= first && (stbtt_uint32) unicode_codepoint < first+count) + return ttUSHORT(data + index_map + 10 + (unicode_codepoint - first)*2); + return 0; + } else if (format == 2) { + STBTT_assert(0); // @TODO: high-byte mapping for japanese/chinese/korean + return 0; + } else if (format == 4) { // standard mapping for windows fonts: binary search collection of ranges + stbtt_uint16 segcount = ttUSHORT(data+index_map+6) >> 1; + stbtt_uint16 searchRange = ttUSHORT(data+index_map+8) >> 1; + stbtt_uint16 entrySelector = ttUSHORT(data+index_map+10); + stbtt_uint16 rangeShift = ttUSHORT(data+index_map+12) >> 1; + stbtt_uint16 item, offset, start, end; + + // do a binary search of the segments + stbtt_uint32 endCount = index_map + 14; + stbtt_uint32 search = endCount; + + if (unicode_codepoint > 0xffff) + return 0; + + // they lie from endCount .. endCount + segCount + // but searchRange is the nearest power of two, so... + if (unicode_codepoint >= ttUSHORT(data + search + rangeShift*2)) + search += rangeShift*2; + + // now decrement to bias correctly to find smallest + search -= 2; + while (entrySelector) { + stbtt_uint16 start, end; + searchRange >>= 1; + start = ttUSHORT(data + search + 2 + segcount*2 + 2); + end = ttUSHORT(data + search + 2); + start = ttUSHORT(data + search + searchRange*2 + segcount*2 + 2); + end = ttUSHORT(data + search + searchRange*2); + if (unicode_codepoint > end) + search += searchRange*2; + --entrySelector; + } + search += 2; + + item = (stbtt_uint16) ((search - endCount) >> 1); + + STBTT_assert(unicode_codepoint <= ttUSHORT(data + endCount + 2*item)); + start = ttUSHORT(data + index_map + 14 + segcount*2 + 2 + 2*item); + end = ttUSHORT(data + index_map + 14 + 2 + 2*item); + if (unicode_codepoint < start) + return 0; + + offset = ttUSHORT(data + index_map + 14 + segcount*6 + 2 + 2*item); + if (offset == 0) + return (stbtt_uint16) (unicode_codepoint + ttSHORT(data + index_map + 14 + segcount*4 + 2 + 2*item)); + + return ttUSHORT(data + offset + (unicode_codepoint-start)*2 + index_map + 14 + segcount*6 + 2 + 2*item); + } else if (format == 12 || format == 13) { + stbtt_uint32 ngroups = ttULONG(data+index_map+12); + stbtt_int32 low,high; + low = 0; high = (stbtt_int32)ngroups; + // Binary search the right group. + while (low < high) { + stbtt_int32 mid = low + ((high-low) >> 1); // rounds down, so low <= mid < high + stbtt_uint32 start_char = ttULONG(data+index_map+16+mid*12); + stbtt_uint32 end_char = ttULONG(data+index_map+16+mid*12+4); + if ((stbtt_uint32) unicode_codepoint < start_char) + high = mid; + else if ((stbtt_uint32) unicode_codepoint > end_char) + low = mid+1; + else { + stbtt_uint32 start_glyph = ttULONG(data+index_map+16+mid*12+8); + if (format == 12) + return start_glyph + unicode_codepoint-start_char; + else // format == 13 + return start_glyph; + } + } + return 0; // not found + } + // @TODO + STBTT_assert(0); + return 0; +} + +int stbtt_GetCodepointShape(const stbtt_fontinfo *info, int unicode_codepoint, stbtt_vertex **vertices) +{ + return stbtt_GetGlyphShape(info, stbtt_FindGlyphIndex(info, unicode_codepoint), vertices); +} + +static void stbtt_setvertex(stbtt_vertex *v, stbtt_uint8 type, stbtt_int32 x, stbtt_int32 y, stbtt_int32 cx, stbtt_int32 cy) +{ + v->type = type; + v->x = (stbtt_int16) x; + v->y = (stbtt_int16) y; + v->cx = (stbtt_int16) cx; + v->cy = (stbtt_int16) cy; +} + +static int stbtt__GetGlyfOffset(const stbtt_fontinfo *info, int glyph_index) +{ + int g1,g2; + + if (glyph_index >= info->numGlyphs) return -1; // glyph index out of range + if (info->indexToLocFormat >= 2) return -1; // unknown index->glyph map format + + if (info->indexToLocFormat == 0) { + g1 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2) * 2; + g2 = info->glyf + ttUSHORT(info->data + info->loca + glyph_index * 2 + 2) * 2; + } else { + g1 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4); + g2 = info->glyf + ttULONG (info->data + info->loca + glyph_index * 4 + 4); + } + + return g1==g2 ? -1 : g1; // if length is 0, return -1 +} + +int stbtt_GetGlyphBox(const stbtt_fontinfo *info, int glyph_index, int *x0, int *y0, int *x1, int *y1) +{ + int g = stbtt__GetGlyfOffset(info, glyph_index); + if (g < 0) return 0; + + if (x0) *x0 = ttSHORT(info->data + g + 2); + if (y0) *y0 = ttSHORT(info->data + g + 4); + if (x1) *x1 = ttSHORT(info->data + g + 6); + if (y1) *y1 = ttSHORT(info->data + g + 8); + return 1; +} + +int stbtt_GetCodepointBox(const stbtt_fontinfo *info, int codepoint, int *x0, int *y0, int *x1, int *y1) +{ + return stbtt_GetGlyphBox(info, stbtt_FindGlyphIndex(info,codepoint), x0,y0,x1,y1); +} + +int stbtt_IsGlyphEmpty(const stbtt_fontinfo *info, int glyph_index) +{ + stbtt_int16 numberOfContours; + int g = stbtt__GetGlyfOffset(info, glyph_index); + if (g < 0) return 1; + numberOfContours = ttSHORT(info->data + g); + return numberOfContours == 0; +} + +static int stbtt__close_shape(stbtt_vertex *vertices, int num_vertices, int was_off, int start_off, + stbtt_int32 sx, stbtt_int32 sy, stbtt_int32 scx, stbtt_int32 scy, stbtt_int32 cx, stbtt_int32 cy) +{ + if (start_off) { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+scx)>>1, (cy+scy)>>1, cx,cy); + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, sx,sy,scx,scy); + } else { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve,sx,sy,cx,cy); + else + stbtt_setvertex(&vertices[num_vertices++], STBTT_vline,sx,sy,0,0); + } + return num_vertices; +} + +int stbtt_GetGlyphShape(const stbtt_fontinfo *info, int glyph_index, stbtt_vertex **pvertices) +{ + stbtt_int16 numberOfContours; + stbtt_uint8 *endPtsOfContours; + stbtt_uint8 *data = info->data; + stbtt_vertex *vertices=0; + int num_vertices=0; + int g = stbtt__GetGlyfOffset(info, glyph_index); + + *pvertices = NULL; + + if (g < 0) return 0; + + numberOfContours = ttSHORT(data + g); + + if (numberOfContours > 0) { + stbtt_uint8 flags=0,flagcount; + stbtt_int32 ins, i,j=0,m,n, next_move, was_off=0, off, start_off=0; + stbtt_int32 x,y,cx,cy,sx,sy, scx,scy; + stbtt_uint8 *points; + endPtsOfContours = (data + g + 10); + ins = ttUSHORT(data + g + 10 + numberOfContours * 2); + points = data + g + 10 + numberOfContours * 2 + 2 + ins; + + n = 1+ttUSHORT(endPtsOfContours + numberOfContours*2-2); + + m = n + 2*numberOfContours; // a loose bound on how many vertices we might need + vertices = (stbtt_vertex *) STBTT_malloc(m * sizeof(vertices[0]), info->userdata); + if (vertices == 0) + return 0; + + next_move = 0; + flagcount=0; + + // in first pass, we load uninterpreted data into the allocated array + // above, shifted to the end of the array so we won't overwrite it when + // we create our final data starting from the front + + off = m - n; // starting offset for uninterpreted data, regardless of how m ends up being calculated + + // first load flags + + for (i=0; i < n; ++i) { + if (flagcount == 0) { + flags = *points++; + if (flags & 8) + flagcount = *points++; + } else + --flagcount; + vertices[off+i].type = flags; + } + + // now load x coordinates + x=0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + if (flags & 2) { + stbtt_int16 dx = *points++; + x += (flags & 16) ? dx : -dx; // ??? + } else { + if (!(flags & 16)) { + x = x + (stbtt_int16) (points[0]*256 + points[1]); + points += 2; + } + } + vertices[off+i].x = (stbtt_int16) x; + } + + // now load y coordinates + y=0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + if (flags & 4) { + stbtt_int16 dy = *points++; + y += (flags & 32) ? dy : -dy; // ??? + } else { + if (!(flags & 32)) { + y = y + (stbtt_int16) (points[0]*256 + points[1]); + points += 2; + } + } + vertices[off+i].y = (stbtt_int16) y; + } + + // now convert them to our format + num_vertices=0; + sx = sy = cx = cy = scx = scy = 0; + for (i=0; i < n; ++i) { + flags = vertices[off+i].type; + x = (stbtt_int16) vertices[off+i].x; + y = (stbtt_int16) vertices[off+i].y; + + if (next_move == i) { + if (i != 0) + num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy); + + // now start the new one + start_off = !(flags & 1); + if (start_off) { + // if we start off with an off-curve point, then when we need to find a point on the curve + // where we can start, and we need to save some state for when we wraparound. + scx = x; + scy = y; + if (!(vertices[off+i+1].type & 1)) { + // next point is also a curve point, so interpolate an on-point curve + sx = (x + (stbtt_int32) vertices[off+i+1].x) >> 1; + sy = (y + (stbtt_int32) vertices[off+i+1].y) >> 1; + } else { + // otherwise just use the next point as our start point + sx = (stbtt_int32) vertices[off+i+1].x; + sy = (stbtt_int32) vertices[off+i+1].y; + ++i; // we're using point i+1 as the starting point, so skip it + } + } else { + sx = x; + sy = y; + } + stbtt_setvertex(&vertices[num_vertices++], STBTT_vmove,sx,sy,0,0); + was_off = 0; + next_move = 1 + ttUSHORT(endPtsOfContours+j*2); + ++j; + } else { + if (!(flags & 1)) { // if it's a curve + if (was_off) // two off-curve control points in a row means interpolate an on-curve midpoint + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, (cx+x)>>1, (cy+y)>>1, cx, cy); + cx = x; + cy = y; + was_off = 1; + } else { + if (was_off) + stbtt_setvertex(&vertices[num_vertices++], STBTT_vcurve, x,y, cx, cy); + else + stbtt_setvertex(&vertices[num_vertices++], STBTT_vline, x,y,0,0); + was_off = 0; + } + } + } + num_vertices = stbtt__close_shape(vertices, num_vertices, was_off, start_off, sx,sy,scx,scy,cx,cy); + } else if (numberOfContours == -1) { + // Compound shapes. + int more = 1; + stbtt_uint8 *comp = data + g + 10; + num_vertices = 0; + vertices = 0; + while (more) { + stbtt_uint16 flags, gidx; + int comp_num_verts = 0, i; + stbtt_vertex *comp_verts = 0, *tmp = 0; + float mtx[6] = {1,0,0,1,0,0}, m, n; + + flags = ttSHORT(comp); comp+=2; + gidx = ttSHORT(comp); comp+=2; + + if (flags & 2) { // XY values + if (flags & 1) { // shorts + mtx[4] = ttSHORT(comp); comp+=2; + mtx[5] = ttSHORT(comp); comp+=2; + } else { + mtx[4] = ttCHAR(comp); comp+=1; + mtx[5] = ttCHAR(comp); comp+=1; + } + } + else { + // @TODO handle matching point + STBTT_assert(0); + } + if (flags & (1<<3)) { // WE_HAVE_A_SCALE + mtx[0] = mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = mtx[2] = 0; + } else if (flags & (1<<6)) { // WE_HAVE_AN_X_AND_YSCALE + mtx[0] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = mtx[2] = 0; + mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + } else if (flags & (1<<7)) { // WE_HAVE_A_TWO_BY_TWO + mtx[0] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[1] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[2] = ttSHORT(comp)/16384.0f; comp+=2; + mtx[3] = ttSHORT(comp)/16384.0f; comp+=2; + } + + // Find transformation scales. + m = (float) sqrt(mtx[0]*mtx[0] + mtx[1]*mtx[1]); + n = (float) sqrt(mtx[2]*mtx[2] + mtx[3]*mtx[3]); + + // Get indexed glyph. + comp_num_verts = stbtt_GetGlyphShape(info, gidx, &comp_verts); + if (comp_num_verts > 0) { + // Transform vertices. + for (i = 0; i < comp_num_verts; ++i) { + stbtt_vertex* v = &comp_verts[i]; + stbtt_vertex_type x,y; + x=v->x; y=v->y; + v->x = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4])); + v->y = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5])); + x=v->cx; y=v->cy; + v->cx = (stbtt_vertex_type)(m * (mtx[0]*x + mtx[2]*y + mtx[4])); + v->cy = (stbtt_vertex_type)(n * (mtx[1]*x + mtx[3]*y + mtx[5])); + } + // Append vertices. + tmp = (stbtt_vertex*)STBTT_malloc((num_vertices+comp_num_verts)*sizeof(stbtt_vertex), info->userdata); + if (!tmp) { + if (vertices) STBTT_free(vertices, info->userdata); + if (comp_verts) STBTT_free(comp_verts, info->userdata); + return 0; + } + if (num_vertices > 0) memcpy(tmp, vertices, num_vertices*sizeof(stbtt_vertex)); + memcpy(tmp+num_vertices, comp_verts, comp_num_verts*sizeof(stbtt_vertex)); + if (vertices) STBTT_free(vertices, info->userdata); + vertices = tmp; + STBTT_free(comp_verts, info->userdata); + num_vertices += comp_num_verts; + } + // More components ? + more = flags & (1<<5); + } + } else if (numberOfContours < 0) { + // @TODO other compound variations? + STBTT_assert(0); + } else { + // numberOfCounters == 0, do nothing + } + + *pvertices = vertices; + return num_vertices; +} + +void stbtt_GetGlyphHMetrics(const stbtt_fontinfo *info, int glyph_index, int *advanceWidth, int *leftSideBearing) +{ + stbtt_uint16 numOfLongHorMetrics = ttUSHORT(info->data+info->hhea + 34); + if (glyph_index < numOfLongHorMetrics) { + if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*glyph_index); + if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*glyph_index + 2); + } else { + if (advanceWidth) *advanceWidth = ttSHORT(info->data + info->hmtx + 4*(numOfLongHorMetrics-1)); + if (leftSideBearing) *leftSideBearing = ttSHORT(info->data + info->hmtx + 4*numOfLongHorMetrics + 2*(glyph_index - numOfLongHorMetrics)); + } +} + +int stbtt_GetGlyphKernAdvance(const stbtt_fontinfo *info, int glyph1, int glyph2) +{ + stbtt_uint8 *data = info->data + info->kern; + stbtt_uint32 needle, straw; + int l, r, m; + + // we only look at the first table. it must be 'horizontal' and format 0. + if (!info->kern) + return 0; + if (ttUSHORT(data+2) < 1) // number of tables, need at least 1 + return 0; + if (ttUSHORT(data+8) != 1) // horizontal flag must be set in format + return 0; + + l = 0; + r = ttUSHORT(data+10) - 1; + needle = glyph1 << 16 | glyph2; + while (l <= r) { + m = (l + r) >> 1; + straw = ttULONG(data+18+(m*6)); // note: unaligned read + if (needle < straw) + r = m - 1; + else if (needle > straw) + l = m + 1; + else + return ttSHORT(data+22+(m*6)); + } + return 0; +} + +int stbtt_GetCodepointKernAdvance(const stbtt_fontinfo *info, int ch1, int ch2) +{ + if (!info->kern) // if no kerning table, don't waste time looking up both codepoint->glyphs + return 0; + return stbtt_GetGlyphKernAdvance(info, stbtt_FindGlyphIndex(info,ch1), stbtt_FindGlyphIndex(info,ch2)); +} + +void stbtt_GetCodepointHMetrics(const stbtt_fontinfo *info, int codepoint, int *advanceWidth, int *leftSideBearing) +{ + stbtt_GetGlyphHMetrics(info, stbtt_FindGlyphIndex(info,codepoint), advanceWidth, leftSideBearing); +} + +void stbtt_GetFontVMetrics(const stbtt_fontinfo *info, int *ascent, int *descent, int *lineGap) +{ + if (ascent ) *ascent = ttSHORT(info->data+info->hhea + 4); + if (descent) *descent = ttSHORT(info->data+info->hhea + 6); + if (lineGap) *lineGap = ttSHORT(info->data+info->hhea + 8); +} + +void stbtt_GetFontBoundingBox(const stbtt_fontinfo *info, int *x0, int *y0, int *x1, int *y1) +{ + *x0 = ttSHORT(info->data + info->head + 36); + *y0 = ttSHORT(info->data + info->head + 38); + *x1 = ttSHORT(info->data + info->head + 40); + *y1 = ttSHORT(info->data + info->head + 42); +} + +float stbtt_ScaleForPixelHeight(const stbtt_fontinfo *info, float height) +{ + int fheight = ttSHORT(info->data + info->hhea + 4) - ttSHORT(info->data + info->hhea + 6); + return (float) height / fheight; +} + +float stbtt_ScaleForMappingEmToPixels(const stbtt_fontinfo *info, float pixels) +{ + int unitsPerEm = ttUSHORT(info->data + info->head + 18); + return pixels / unitsPerEm; +} + +void stbtt_FreeShape(const stbtt_fontinfo *info, stbtt_vertex *v) +{ + STBTT_free(v, info->userdata); +} + +////////////////////////////////////////////////////////////////////////////// +// +// antialiasing software rasterizer +// + +void stbtt_GetGlyphBitmapBoxSubpixel(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y,float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + int x0,y0,x1,y1; + if (!stbtt_GetGlyphBox(font, glyph, &x0,&y0,&x1,&y1)) + x0=y0=x1=y1=0; // e.g. space character + // now move to integral bboxes (treating pixels as little squares, what pixels get touched)? + if (ix0) *ix0 = STBTT_ifloor(x0 * scale_x + shift_x); + if (iy0) *iy0 = -STBTT_iceil (y1 * scale_y + shift_y); + if (ix1) *ix1 = STBTT_iceil (x1 * scale_x + shift_x); + if (iy1) *iy1 = -STBTT_ifloor(y0 * scale_y + shift_y); +} +void stbtt_GetGlyphBitmapBox(const stbtt_fontinfo *font, int glyph, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetGlyphBitmapBoxSubpixel(font, glyph, scale_x, scale_y,0.0f,0.0f, ix0, iy0, ix1, iy1); +} + +void stbtt_GetCodepointBitmapBoxSubpixel(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, float shift_x, float shift_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetGlyphBitmapBoxSubpixel(font, stbtt_FindGlyphIndex(font,codepoint), scale_x, scale_y,shift_x,shift_y, ix0,iy0,ix1,iy1); +} + +void stbtt_GetCodepointBitmapBox(const stbtt_fontinfo *font, int codepoint, float scale_x, float scale_y, int *ix0, int *iy0, int *ix1, int *iy1) +{ + stbtt_GetCodepointBitmapBoxSubpixel(font, codepoint, scale_x, scale_y,0.0f,0.0f, ix0,iy0,ix1,iy1); +} + +typedef struct stbtt__edge { + float x0,y0, x1,y1; + int invert; +} stbtt__edge; + +typedef struct stbtt__active_edge +{ + int x,dx; + float ey; + struct stbtt__active_edge *next; + int valid; +} stbtt__active_edge; + +#define FIXSHIFT 10 +#define FIX (1 << FIXSHIFT) +#define FIXMASK (FIX-1) + +static stbtt__active_edge *new_active(stbtt__edge *e, int off_x, float start_point, void *userdata) +{ + stbtt__active_edge *z = (stbtt__active_edge *) STBTT_malloc(sizeof(*z), userdata); // @TODO: make a pool of these!!! + float dxdy = (e->x1 - e->x0) / (e->y1 - e->y0); + STBTT_assert(e->y0 <= start_point); + if (!z) return z; + // round dx down to avoid going too far + if (dxdy < 0) + z->dx = -STBTT_ifloor(FIX * -dxdy); + else + z->dx = STBTT_ifloor(FIX * dxdy); + z->x = STBTT_ifloor(FIX * (e->x0 + dxdy * (start_point - e->y0))); + z->x -= off_x * FIX; + z->ey = e->y1; + z->next = 0; + z->valid = e->invert ? 1 : -1; + return z; +} + +// note: this routine clips fills that extend off the edges... ideally this +// wouldn't happen, but it could happen if the truetype glyph bounding boxes +// are wrong, or if the user supplies a too-small bitmap +static void stbtt__fill_active_edges(unsigned char *scanline, int len, stbtt__active_edge *e, int max_weight) +{ + // non-zero winding fill + int x0=0, w=0; + + while (e) { + if (w == 0) { + // if we're currently at zero, we need to record the edge start point + x0 = e->x; w += e->valid; + } else { + int x1 = e->x; w += e->valid; + // if we went to zero, we need to draw + if (w == 0) { + int i = x0 >> FIXSHIFT; + int j = x1 >> FIXSHIFT; + + if (i < len && j >= 0) { + if (i == j) { + // x0,x1 are the same pixel, so compute combined coverage + scanline[i] = scanline[i] + (stbtt_uint8) ((x1 - x0) * max_weight >> FIXSHIFT); + } else { + if (i >= 0) // add antialiasing for x0 + scanline[i] = scanline[i] + (stbtt_uint8) (((FIX - (x0 & FIXMASK)) * max_weight) >> FIXSHIFT); + else + i = -1; // clip + + if (j < len) // add antialiasing for x1 + scanline[j] = scanline[j] + (stbtt_uint8) (((x1 & FIXMASK) * max_weight) >> FIXSHIFT); + else + j = len; // clip + + for (++i; i < j; ++i) // fill pixels between x0 and x1 + scanline[i] = scanline[i] + (stbtt_uint8) max_weight; + } + } + } + } + + e = e->next; + } +} + +static void stbtt__rasterize_sorted_edges(stbtt__bitmap *result, stbtt__edge *e, int n, int vsubsample, int off_x, int off_y, void *userdata) +{ + stbtt__active_edge *active = NULL; + int y,j=0; + int max_weight = (255 / vsubsample); // weight per vertical scanline + int s; // vertical subsample index + unsigned char scanline_data[512], *scanline; + + if (result->w > 512) + scanline = (unsigned char *) STBTT_malloc(result->w, userdata); + else + scanline = scanline_data; + + y = off_y * vsubsample; + e[n].y0 = (off_y + result->h) * (float) vsubsample + 1; + + while (j < result->h) { + STBTT_memset(scanline, 0, result->w); + for (s=0; s < vsubsample; ++s) { + // find center of pixel for this scanline + float scan_y = y + 0.5f; + stbtt__active_edge **step = &active; + + // update all active edges; + // remove all active edges that terminate before the center of this scanline + while (*step) { + stbtt__active_edge * z = *step; + if (z->ey <= scan_y) { + *step = z->next; // delete from list + STBTT_assert(z->valid); + z->valid = 0; + STBTT_free(z, userdata); + } else { + z->x += z->dx; // advance to position for current scanline + step = &((*step)->next); // advance through list + } + } + + // resort the list if needed + for(;;) { + int changed=0; + step = &active; + while (*step && (*step)->next) { + if ((*step)->x > (*step)->next->x) { + stbtt__active_edge *t = *step; + stbtt__active_edge *q = t->next; + + t->next = q->next; + q->next = t; + *step = q; + changed = 1; + } + step = &(*step)->next; + } + if (!changed) break; + } + + // insert all edges that start before the center of this scanline -- omit ones that also end on this scanline + while (e->y0 <= scan_y) { + if (e->y1 > scan_y) { + stbtt__active_edge *z = new_active(e, off_x, scan_y, userdata); + // find insertion point + if (active == NULL) + active = z; + else if (z->x < active->x) { + // insert at front + z->next = active; + active = z; + } else { + // find thing to insert AFTER + stbtt__active_edge *p = active; + while (p->next && p->next->x < z->x) + p = p->next; + // at this point, p->next->x is NOT < z->x + z->next = p->next; + p->next = z; + } + } + ++e; + } + + // now process all active edges in XOR fashion + if (active) + stbtt__fill_active_edges(scanline, result->w, active, max_weight); + + ++y; + } + STBTT_memcpy(result->pixels + j * result->stride, scanline, result->w); + ++j; + } + + while (active) { + stbtt__active_edge *z = active; + active = active->next; + STBTT_free(z, userdata); + } + + if (scanline != scanline_data) + STBTT_free(scanline, userdata); +} + +static int stbtt__edge_compare(const void *p, const void *q) +{ + stbtt__edge *a = (stbtt__edge *) p; + stbtt__edge *b = (stbtt__edge *) q; + + if (a->y0 < b->y0) return -1; + if (a->y0 > b->y0) return 1; + return 0; +} + +typedef struct +{ + float x,y; +} stbtt__point; + +static void stbtt__rasterize(stbtt__bitmap *result, stbtt__point *pts, int *wcount, int windings, float scale_x, float scale_y, float shift_x, float shift_y, int off_x, int off_y, int invert, void *userdata) +{ + float y_scale_inv = invert ? -scale_y : scale_y; + stbtt__edge *e; + int n,i,j,k,m; + int vsubsample = result->h < 8 ? 15 : 5; + // vsubsample should divide 255 evenly; otherwise we won't reach full opacity + + // now we have to blow out the windings into explicit edge lists + n = 0; + for (i=0; i < windings; ++i) + n += wcount[i]; + + e = (stbtt__edge *) STBTT_malloc(sizeof(*e) * (n+1), userdata); // add an extra one as a sentinel + if (e == 0) return; + n = 0; + + m=0; + for (i=0; i < windings; ++i) { + stbtt__point *p = pts + m; + m += wcount[i]; + j = wcount[i]-1; + for (k=0; k < wcount[i]; j=k++) { + int a=k,b=j; + // skip the edge if horizontal + if (p[j].y == p[k].y) + continue; + // add edge from j to k to the list + e[n].invert = 0; + if (invert ? p[j].y > p[k].y : p[j].y < p[k].y) { + e[n].invert = 1; + a=j,b=k; + } + e[n].x0 = p[a].x * scale_x + shift_x; + e[n].y0 = p[a].y * y_scale_inv * vsubsample + shift_y; + e[n].x1 = p[b].x * scale_x + shift_x; + e[n].y1 = p[b].y * y_scale_inv * vsubsample + shift_y; + ++n; + } + } + + // now sort the edges by their highest point (should snap to integer, and then by x) + STBTT_sort(e, n, sizeof(e[0]), stbtt__edge_compare); + + // now, traverse the scanlines and find the intersections on each scanline, use xor winding rule + stbtt__rasterize_sorted_edges(result, e, n, vsubsample, off_x, off_y, userdata); + + STBTT_free(e, userdata); +} + +static void stbtt__add_point(stbtt__point *points, int n, float x, float y) +{ + if (!points) return; // during first pass, it's unallocated + points[n].x = x; + points[n].y = y; +} + +// tesselate until threshhold p is happy... @TODO warped to compensate for non-linear stretching +static int stbtt__tesselate_curve(stbtt__point *points, int *num_points, float x0, float y0, float x1, float y1, float x2, float y2, float objspace_flatness_squared, int n) +{ + // midpoint + float mx = (x0 + 2*x1 + x2)/4; + float my = (y0 + 2*y1 + y2)/4; + // versus directly drawn line + float dx = (x0+x2)/2 - mx; + float dy = (y0+y2)/2 - my; + if (n > 16) // 65536 segments on one curve better be enough! + return 1; + if (dx*dx+dy*dy > objspace_flatness_squared) { // half-pixel error allowed... need to be smaller if AA + stbtt__tesselate_curve(points, num_points, x0,y0, (x0+x1)/2.0f,(y0+y1)/2.0f, mx,my, objspace_flatness_squared,n+1); + stbtt__tesselate_curve(points, num_points, mx,my, (x1+x2)/2.0f,(y1+y2)/2.0f, x2,y2, objspace_flatness_squared,n+1); + } else { + stbtt__add_point(points, *num_points,x2,y2); + *num_points = *num_points+1; + } + return 1; +} + +// returns number of contours +stbtt__point *stbtt_FlattenCurves(stbtt_vertex *vertices, int num_verts, float objspace_flatness, int **contour_lengths, int *num_contours, void *userdata) +{ + stbtt__point *points=0; + int num_points=0; + + float objspace_flatness_squared = objspace_flatness * objspace_flatness; + int i,n=0,start=0, pass; + + // count how many "moves" there are to get the contour count + for (i=0; i < num_verts; ++i) + if (vertices[i].type == STBTT_vmove) + ++n; + + *num_contours = n; + if (n == 0) return 0; + + *contour_lengths = (int *) STBTT_malloc(sizeof(**contour_lengths) * n, userdata); + + if (*contour_lengths == 0) { + *num_contours = 0; + return 0; + } + + // make two passes through the points so we don't need to realloc + for (pass=0; pass < 2; ++pass) { + float x=0,y=0; + if (pass == 1) { + points = (stbtt__point *) STBTT_malloc(num_points * sizeof(points[0]), userdata); + if (points == NULL) goto error; + } + num_points = 0; + n= -1; + for (i=0; i < num_verts; ++i) { + switch (vertices[i].type) { + case STBTT_vmove: + // start the next contour + if (n >= 0) + (*contour_lengths)[n] = num_points - start; + ++n; + start = num_points; + + x = vertices[i].x, y = vertices[i].y; + stbtt__add_point(points, num_points++, x,y); + break; + case STBTT_vline: + x = vertices[i].x, y = vertices[i].y; + stbtt__add_point(points, num_points++, x, y); + break; + case STBTT_vcurve: + stbtt__tesselate_curve(points, &num_points, x,y, + vertices[i].cx, vertices[i].cy, + vertices[i].x, vertices[i].y, + objspace_flatness_squared, 0); + x = vertices[i].x, y = vertices[i].y; + break; + } + } + (*contour_lengths)[n] = num_points - start; + } + + return points; +error: + STBTT_free(points, userdata); + STBTT_free(*contour_lengths, userdata); + *contour_lengths = 0; + *num_contours = 0; + return NULL; +} + +void stbtt_Rasterize(stbtt__bitmap *result, float flatness_in_pixels, stbtt_vertex *vertices, int num_verts, float scale_x, float scale_y, float shift_x, float shift_y, int x_off, int y_off, int invert, void *userdata) +{ + float scale = scale_x > scale_y ? scale_y : scale_x; + int winding_count, *winding_lengths; + stbtt__point *windings = stbtt_FlattenCurves(vertices, num_verts, flatness_in_pixels / scale, &winding_lengths, &winding_count, userdata); + if (windings) { + stbtt__rasterize(result, windings, winding_lengths, winding_count, scale_x, scale_y, shift_x, shift_y, x_off, y_off, invert, userdata); + STBTT_free(winding_lengths, userdata); + STBTT_free(windings, userdata); + } +} + +void stbtt_FreeBitmap(unsigned char *bitmap, void *userdata) +{ + STBTT_free(bitmap, userdata); +} + +unsigned char *stbtt_GetGlyphBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int glyph, int *width, int *height, int *xoff, int *yoff) +{ + int ix0,iy0,ix1,iy1; + stbtt__bitmap gbm; + stbtt_vertex *vertices; + int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices); + + if (scale_x == 0) scale_x = scale_y; + if (scale_y == 0) { + if (scale_x == 0) return NULL; + scale_y = scale_x; + } + + stbtt_GetGlyphBitmapBox(info, glyph, scale_x, scale_y, &ix0,&iy0,&ix1,&iy1); + + // now we get the size + gbm.w = (ix1 - ix0); + gbm.h = (iy1 - iy0); + gbm.pixels = NULL; // in case we error + + if (width ) *width = gbm.w; + if (height) *height = gbm.h; + if (xoff ) *xoff = ix0; + if (yoff ) *yoff = iy0; + + if (gbm.w && gbm.h) { + gbm.pixels = (unsigned char *) STBTT_malloc(gbm.w * gbm.h, info->userdata); + if (gbm.pixels) { + gbm.stride = gbm.w; + + stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0, iy0, 1, info->userdata); + } + } + STBTT_free(vertices, info->userdata); + return gbm.pixels; +} + +unsigned char *stbtt_GetGlyphBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int glyph, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y, 0.0f, 0.0f, glyph, width, height, xoff, yoff); +} + +void stbtt_MakeGlyphBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int glyph) +{ + int ix0,iy0; + stbtt_vertex *vertices; + int num_verts = stbtt_GetGlyphShape(info, glyph, &vertices); + stbtt__bitmap gbm; + + stbtt_GetGlyphBitmapBoxSubpixel(info, glyph, scale_x, scale_y, shift_x, shift_y, &ix0,&iy0,0,0); + gbm.pixels = output; + gbm.w = out_w; + gbm.h = out_h; + gbm.stride = out_stride; + + if (gbm.w && gbm.h) + stbtt_Rasterize(&gbm, 0.35f, vertices, num_verts, scale_x, scale_y, shift_x, shift_y, ix0,iy0, 1, info->userdata); + + STBTT_free(vertices, info->userdata); +} + +void stbtt_MakeGlyphBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int glyph) +{ + stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, glyph); +} + +unsigned char *stbtt_GetCodepointBitmapSubpixel(const stbtt_fontinfo *info, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetGlyphBitmapSubpixel(info, scale_x, scale_y,shift_x,shift_y, stbtt_FindGlyphIndex(info,codepoint), width,height,xoff,yoff); +} + +void stbtt_MakeCodepointBitmapSubpixel(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, float shift_x, float shift_y, int codepoint) +{ + stbtt_MakeGlyphBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, shift_x, shift_y, stbtt_FindGlyphIndex(info,codepoint)); +} + +unsigned char *stbtt_GetCodepointBitmap(const stbtt_fontinfo *info, float scale_x, float scale_y, int codepoint, int *width, int *height, int *xoff, int *yoff) +{ + return stbtt_GetCodepointBitmapSubpixel(info, scale_x, scale_y, 0.0f,0.0f, codepoint, width,height,xoff,yoff); +} + +void stbtt_MakeCodepointBitmap(const stbtt_fontinfo *info, unsigned char *output, int out_w, int out_h, int out_stride, float scale_x, float scale_y, int codepoint) +{ + stbtt_MakeCodepointBitmapSubpixel(info, output, out_w, out_h, out_stride, scale_x, scale_y, 0.0f,0.0f, codepoint); +} + +////////////////////////////////////////////////////////////////////////////// +// +// bitmap baking +// +// This is SUPER-CRAPPY packing to keep source code small + +extern int stbtt_BakeFontBitmap(const unsigned char *data, int offset, // font location (use offset=0 for plain .ttf) + float pixel_height, // height of font in pixels + unsigned char *pixels, int pw, int ph, // bitmap to be filled in + int first_char, int num_chars, // characters to bake + stbtt_bakedchar *chardata) +{ + float scale; + int x,y,bottom_y, i; + stbtt_fontinfo f; + stbtt_InitFont(&f, data, offset); + STBTT_memset(pixels, 0, pw*ph); // background of 0 around pixels + x=y=1; + bottom_y = 1; + + scale = stbtt_ScaleForPixelHeight(&f, pixel_height); + + for (i=0; i < num_chars; ++i) { + int advance, lsb, x0,y0,x1,y1,gw,gh; + int g = stbtt_FindGlyphIndex(&f, first_char + i); + stbtt_GetGlyphHMetrics(&f, g, &advance, &lsb); + stbtt_GetGlyphBitmapBox(&f, g, scale,scale, &x0,&y0,&x1,&y1); + gw = x1-x0; + gh = y1-y0; + if (x + gw + 1 >= pw) + y = bottom_y, x = 1; // advance to next row + if (y + gh + 1 >= ph) // check if it fits vertically AFTER potentially moving to next row + return -i; + STBTT_assert(x+gw < pw); + STBTT_assert(y+gh < ph); + stbtt_MakeGlyphBitmap(&f, pixels+x+y*pw, gw,gh,pw, scale,scale, g); + chardata[i].x0 = (stbtt_int16) x; + chardata[i].y0 = (stbtt_int16) y; + chardata[i].x1 = (stbtt_int16) (x + gw); + chardata[i].y1 = (stbtt_int16) (y + gh); + chardata[i].xadvance = scale * advance; + chardata[i].xoff = (float) x0; + chardata[i].yoff = (float) y0; + x = x + gw + 2; + if (y+gh+2 > bottom_y) + bottom_y = y+gh+2; + } + return bottom_y; +} + +void stbtt_GetBakedQuad(stbtt_bakedchar *chardata, int pw, int ph, int char_index, float *xpos, float *ypos, stbtt_aligned_quad *q, int opengl_fillrule) +{ + float d3d_bias = opengl_fillrule ? 0 : -0.5f; + float ipw = 1.0f / pw, iph = 1.0f / ph; + stbtt_bakedchar *b = chardata + char_index; + int round_x = STBTT_ifloor((*xpos + b->xoff) + 0.5); + int round_y = STBTT_ifloor((*ypos + b->yoff) + 0.5); + + q->x0 = round_x + d3d_bias; + q->y0 = round_y + d3d_bias; + q->x1 = round_x + b->x1 - b->x0 + d3d_bias; + q->y1 = round_y + b->y1 - b->y0 + d3d_bias; + + q->s0 = b->x0 * ipw; + q->t0 = b->y0 * iph; + q->s1 = b->x1 * ipw; + q->t1 = b->y1 * iph; + + *xpos += b->xadvance; +} + +////////////////////////////////////////////////////////////////////////////// +// +// font name matching -- recommended not to use this +// + +// check if a utf8 string contains a prefix which is the utf16 string; if so return length of matching utf8 string +static stbtt_int32 stbtt__CompareUTF8toUTF16_bigendian_prefix(const stbtt_uint8 *s1, stbtt_int32 len1, const stbtt_uint8 *s2, stbtt_int32 len2) +{ + stbtt_int32 i=0; + + // convert utf16 to utf8 and compare the results while converting + while (len2) { + stbtt_uint16 ch = s2[0]*256 + s2[1]; + if (ch < 0x80) { + if (i >= len1) return -1; + if (s1[i++] != ch) return -1; + } else if (ch < 0x800) { + if (i+1 >= len1) return -1; + if (s1[i++] != 0xc0 + (ch >> 6)) return -1; + if (s1[i++] != 0x80 + (ch & 0x3f)) return -1; + } else if (ch >= 0xd800 && ch < 0xdc00) { + stbtt_uint32 c; + stbtt_uint16 ch2 = s2[2]*256 + s2[3]; + if (i+3 >= len1) return -1; + c = ((ch - 0xd800) << 10) + (ch2 - 0xdc00) + 0x10000; + if (s1[i++] != 0xf0 + (c >> 18)) return -1; + if (s1[i++] != 0x80 + ((c >> 12) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((c >> 6) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((c ) & 0x3f)) return -1; + s2 += 2; // plus another 2 below + len2 -= 2; + } else if (ch >= 0xdc00 && ch < 0xe000) { + return -1; + } else { + if (i+2 >= len1) return -1; + if (s1[i++] != 0xe0 + (ch >> 12)) return -1; + if (s1[i++] != 0x80 + ((ch >> 6) & 0x3f)) return -1; + if (s1[i++] != 0x80 + ((ch ) & 0x3f)) return -1; + } + s2 += 2; + len2 -= 2; + } + return i; +} + +int stbtt_CompareUTF8toUTF16_bigendian(const char *s1, int len1, const char *s2, int len2) +{ + return len1 == stbtt__CompareUTF8toUTF16_bigendian_prefix((const stbtt_uint8*) s1, len1, (const stbtt_uint8*) s2, len2); +} + +// returns results in whatever encoding you request... but note that 2-byte encodings +// will be BIG-ENDIAN... use stbtt_CompareUTF8toUTF16_bigendian() to compare +const char *stbtt_GetFontNameString(const stbtt_fontinfo *font, int *length, int platformID, int encodingID, int languageID, int nameID) +{ + stbtt_int32 i,count,stringOffset; + stbtt_uint8 *fc = font->data; + stbtt_uint32 offset = font->fontstart; + stbtt_uint32 nm = stbtt__find_table(fc, offset, "name"); + if (!nm) return NULL; + + count = ttUSHORT(fc+nm+2); + stringOffset = nm + ttUSHORT(fc+nm+4); + for (i=0; i < count; ++i) { + stbtt_uint32 loc = nm + 6 + 12 * i; + if (platformID == ttUSHORT(fc+loc+0) && encodingID == ttUSHORT(fc+loc+2) + && languageID == ttUSHORT(fc+loc+4) && nameID == ttUSHORT(fc+loc+6)) { + *length = ttUSHORT(fc+loc+8); + return (const char *) (fc+stringOffset+ttUSHORT(fc+loc+10)); + } + } + return NULL; +} + +static int stbtt__matchpair(stbtt_uint8 *fc, stbtt_uint32 nm, stbtt_uint8 *name, stbtt_int32 nlen, stbtt_int32 target_id, stbtt_int32 next_id) +{ + stbtt_int32 i; + stbtt_int32 count = ttUSHORT(fc+nm+2); + stbtt_int32 stringOffset = nm + ttUSHORT(fc+nm+4); + + for (i=0; i < count; ++i) { + stbtt_uint32 loc = nm + 6 + 12 * i; + stbtt_int32 id = ttUSHORT(fc+loc+6); + if (id == target_id) { + // find the encoding + stbtt_int32 platform = ttUSHORT(fc+loc+0), encoding = ttUSHORT(fc+loc+2), language = ttUSHORT(fc+loc+4); + + // is this a Unicode encoding? + if (platform == 0 || (platform == 3 && encoding == 1) || (platform == 3 && encoding == 10)) { + stbtt_int32 slen = ttUSHORT(fc+loc+8), off = ttUSHORT(fc+loc+10); + + // check if there's a prefix match + stbtt_int32 matchlen = stbtt__CompareUTF8toUTF16_bigendian_prefix(name, nlen, fc+stringOffset+off,slen); + if (matchlen >= 0) { + // check for target_id+1 immediately following, with same encoding & language + if (i+1 < count && ttUSHORT(fc+loc+12+6) == next_id && ttUSHORT(fc+loc+12) == platform && ttUSHORT(fc+loc+12+2) == encoding && ttUSHORT(fc+loc+12+4) == language) { + stbtt_int32 slen = ttUSHORT(fc+loc+12+8), off = ttUSHORT(fc+loc+12+10); + if (slen == 0) { + if (matchlen == nlen) + return 1; + } else if (matchlen < nlen && name[matchlen] == ' ') { + ++matchlen; + if (stbtt_CompareUTF8toUTF16_bigendian((char*) (name+matchlen), nlen-matchlen, (char*)(fc+stringOffset+off),slen)) + return 1; + } + } else { + // if nothing immediately following + if (matchlen == nlen) + return 1; + } + } + } + + // @TODO handle other encodings + } + } + return 0; +} + +static int stbtt__matches(stbtt_uint8 *fc, stbtt_uint32 offset, stbtt_uint8 *name, stbtt_int32 flags) +{ + stbtt_int32 nlen = (stbtt_int32) STBTT_strlen((char *) name); + stbtt_uint32 nm,hd; + if (!stbtt__isfont(fc+offset)) return 0; + + // check italics/bold/underline flags in macStyle... + if (flags) { + hd = stbtt__find_table(fc, offset, "head"); + if ((ttUSHORT(fc+hd+44) & 7) != (flags & 7)) return 0; + } + + nm = stbtt__find_table(fc, offset, "name"); + if (!nm) return 0; + + if (flags) { + // if we checked the macStyle flags, then just check the family and ignore the subfamily + if (stbtt__matchpair(fc, nm, name, nlen, 16, -1)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 1, -1)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1; + } else { + if (stbtt__matchpair(fc, nm, name, nlen, 16, 17)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 1, 2)) return 1; + if (stbtt__matchpair(fc, nm, name, nlen, 3, -1)) return 1; + } + + return 0; +} + +int stbtt_FindMatchingFont(const unsigned char *font_collection, const char *name_utf8, stbtt_int32 flags) +{ + stbtt_int32 i; + for (i=0;;++i) { + stbtt_int32 off = stbtt_GetFontOffsetForIndex(font_collection, i); + if (off < 0) return off; + if (stbtt__matches((stbtt_uint8 *) font_collection, off, (stbtt_uint8*) name_utf8, flags)) + return off; + } +} + +#endif // STB_TRUETYPE_IMPLEMENTATION \ No newline at end of file diff --git a/examples/common/imgui/fs_imgui_color.bin.h b/examples/common/imgui/fs_imgui_color.bin.h new file mode 100644 index 00000000..3d61a2c3 --- /dev/null +++ b/examples/common/imgui/fs_imgui_color.bin.h @@ -0,0 +1,58 @@ +static const uint8_t fs_imgui_color_dx9[137] = +{ + 0x46, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x03, 0xff, 0xff, // FSH....I..|..... + 0xfe, 0xff, 0x16, 0x00, 0x43, 0x54, 0x41, 0x42, 0x1c, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, // ....CTAB....#... + 0x00, 0x03, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, // ................ + 0x1c, 0x00, 0x00, 0x00, 0x70, 0x73, 0x5f, 0x33, 0x5f, 0x30, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, // ....ps_3_0.Micro + 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, // soft (R) HLSL Sh + 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, // ader Compiler 9. + 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0x1f, 0x00, 0x00, 0x02, // 29.952.3111..... + 0x0a, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, 0x90, 0x01, 0x00, 0x00, 0x02, 0x00, 0x08, 0x0f, 0x80, // ................ + 0x00, 0x00, 0xe4, 0x90, 0xff, 0xff, 0x00, 0x00, 0x00, // ......... +}; +static const uint8_t fs_imgui_color_dx11[494] = +{ + 0x46, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, // FSH....I........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x44, 0x58, 0x42, // .............DXB + 0x43, 0xa9, 0x98, 0xd1, 0xdb, 0x4a, 0xa2, 0x9c, 0xfe, 0x9c, 0xf1, 0xe4, 0xd0, 0x2c, 0xa5, 0xd6, // C....J.......,.. + 0xb6, 0x01, 0x00, 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, // .............4.. + 0x00, 0x8c, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x54, 0x01, 0x00, // .............T.. + 0x00, 0x52, 0x44, 0x45, 0x46, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .RDEFP.......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x00, 0x91, 0x00, // ................ + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, // .....Microsoft ( + 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, // R) HLSL Shader C + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, // ompiler 9.29.952 + 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0xab, 0xab, 0xab, 0x49, 0x53, 0x47, 0x4e, 0x4c, 0x00, 0x00, // .3111....ISGNL.. + 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .........8...... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, // ................ + 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // .D.............. + 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, // .........SV_POSI + 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0xab, 0xab, 0x4f, 0x53, 0x47, // TION.COLOR...OSG + 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, // N,........... .. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, 0x45, 0x54, 0x00, 0xab, // .....SV_TARGET.. + 0xab, 0x53, 0x48, 0x44, 0x52, 0x38, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, // .SHDR8...@...... + 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, // .b...........e.. + 0x03, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, // .. ......6.... . + 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, // .....F.......>.. + 0x01, 0x53, 0x54, 0x41, 0x54, 0x74, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .STATt.......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .............. +}; +static const uint8_t fs_imgui_color_glsl[130] = +{ + 0x46, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, // FSH....I#ifdef G + 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, // L_ES.precision h + 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, // ighp float;.#end + 0x69, 0x66, 0x20, 0x2f, 0x2f, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x0a, 0x76, 0x61, 0x72, // if // GL_ES..var + 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, // ying vec4 v_colo + 0x72, 0x30, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x29, // r0;.void main () + 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, // .{. gl_FragColo + 0x72, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, // r = v_color0;.}. + 0x0a, 0x00, // .. +}; diff --git a/examples/common/imgui/fs_imgui_color.sc b/examples/common/imgui/fs_imgui_color.sc new file mode 100644 index 00000000..7796aa19 --- /dev/null +++ b/examples/common/imgui/fs_imgui_color.sc @@ -0,0 +1,13 @@ +$input v_color0 + +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include + +void main() +{ + gl_FragColor = v_color0; +} diff --git a/examples/common/imgui/fs_imgui_texture.bin.h b/examples/common/imgui/fs_imgui_texture.bin.h new file mode 100644 index 00000000..5baae37c --- /dev/null +++ b/examples/common/imgui/fs_imgui_texture.bin.h @@ -0,0 +1,91 @@ +static const uint8_t fs_imgui_texture_dx9[241] = +{ + 0x46, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0xe4, 0x00, 0x00, 0x03, 0xff, 0xff, // FSH............. + 0xfe, 0xff, 0x22, 0x00, 0x43, 0x54, 0x41, 0x42, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x00, // ..".CTAB....S... + 0x00, 0x03, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 0x00, // ................ + 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, // L...0........... + 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, // <.......u_texCol + 0x6f, 0x72, 0x00, 0xab, 0x04, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, // or.............. + 0x00, 0x00, 0x00, 0x00, 0x70, 0x73, 0x5f, 0x33, 0x5f, 0x30, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, // ....ps_3_0.Micro + 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, // soft (R) HLSL Sh + 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, // ader Compiler 9. + 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0x1f, 0x00, 0x00, 0x02, // 29.952.3111..... + 0x0a, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x80, // ................ + 0x01, 0x00, 0x03, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x90, 0x00, 0x08, 0x0f, 0xa0, // ................ + 0x42, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x80, 0x01, 0x00, 0xe4, 0x90, 0x00, 0x08, 0xe4, 0xa0, // B............... + 0x05, 0x00, 0x00, 0x03, 0x00, 0x08, 0x08, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0xff, 0x90, // ................ + 0x01, 0x00, 0x00, 0x02, 0x00, 0x08, 0x07, 0x80, 0x00, 0x00, 0xe4, 0x90, 0xff, 0xff, 0x00, 0x00, // ................ + 0x00, // . +}; +static const uint8_t fs_imgui_texture_dx11[738] = +{ + 0x46, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, // FSH............. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x02, 0x44, 0x58, 0x42, // .............DXB + 0x43, 0x8f, 0x77, 0x55, 0xdc, 0xbb, 0x5d, 0x37, 0x2c, 0xed, 0xde, 0x24, 0x6d, 0xe4, 0xbc, 0xf1, // C.wU..]7,..$m... + 0x76, 0x01, 0x00, 0x00, 0x00, 0xc4, 0x02, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, 0x00, // v............4.. + 0x00, 0xf0, 0x00, 0x00, 0x00, 0x64, 0x01, 0x00, 0x00, 0x98, 0x01, 0x00, 0x00, 0x48, 0x02, 0x00, // .....d.......H.. + 0x00, 0x52, 0x44, 0x45, 0x46, 0xb4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // .RDEF........... + 0x00, 0x02, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x04, 0xff, 0xff, 0x00, 0x91, 0x00, // ................ + 0x00, 0x80, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x01, 0x00, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, // .....n.......... + 0x00, 0x04, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x0d, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x53, // .....u_texColorS + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x00, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, // ampler.u_texColo + 0x72, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, // rTexture.Microso + 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, 0x61, 0x64, // ft (R) HLSL Shad + 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, 0x32, 0x39, // er Compiler 9.29 + 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0xab, 0xab, 0xab, 0x49, 0x53, 0x47, // .952.3111....ISG + 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, // Nl...........P.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x62, 0x00, 0x00, // .............b.. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, // ................ + 0x00, 0x03, 0x03, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, // .....SV_POSITION + 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, // .COLOR.TEXCOORD. + 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x2c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, // .OSGN,.......... + 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, // . .............. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x54, 0x41, 0x52, 0x47, // .........SV_TARG + 0x45, 0x54, 0x00, 0xab, 0xab, 0x53, 0x48, 0x44, 0x52, 0xa8, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, // ET...SHDR....@.. + 0x00, 0x2a, 0x00, 0x00, 0x00, 0x5a, 0x00, 0x00, 0x03, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, // .*...Z....`..... + 0x00, 0x58, 0x18, 0x00, 0x04, 0x00, 0x70, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0x55, 0x00, // .X....p......UU. + 0x00, 0x62, 0x10, 0x00, 0x03, 0xf2, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x62, 0x10, 0x00, // .b...........b.. + 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, // .2.......e.... . + 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x45, 0x00, 0x00, // .....h.......E.. + 0x09, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, // .........F...... + 0x00, 0x46, 0x7e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, // .F~.......`..... + 0x00, 0x38, 0x00, 0x00, 0x07, 0x82, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x10, // .8.... ......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3a, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, // .....:.......6.. + 0x05, 0x72, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x12, 0x10, 0x00, 0x01, 0x00, 0x00, // .r ......F...... + 0x00, 0x3e, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, 0x74, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .>...STATt...... + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, // .. +}; +static const uint8_t fs_imgui_texture_glsl[303] = +{ + 0x46, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, // FSH.....#ifdef G + 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, // L_ES.precision h + 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, // ighp float;.#end + 0x69, 0x66, 0x20, 0x2f, 0x2f, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x0a, 0x75, 0x6e, 0x69, // if // GL_ES..uni + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x75, // form sampler2D u + 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, // _texColor;.varyi + 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, // ng vec2 v_texcoo + 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, // rd0;.varying vec + 0x34, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, // 4 v_color0;.void + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x65, 0x63, // main ().{. vec + 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, // 4 tmpvar_1;. tm + 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x7a, 0x20, 0x3d, 0x20, 0x76, 0x5f, 0x63, // pvar_1.xyz = v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, // olor0.xyz;. tmp + 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x77, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // var_1.w = (v_col + 0x6f, 0x72, 0x30, 0x2e, 0x77, 0x20, 0x2a, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, // or0.w * texture2 + 0x44, 0x20, 0x28, 0x75, 0x5f, 0x74, 0x65, 0x78, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x76, // D (u_texColor, v + 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x29, 0x2e, 0x78, 0x29, 0x3b, 0x0a, // _texcoord0).x);. + 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, // gl_FragColor = + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00, // tmpvar_1;.}... +}; diff --git a/examples/common/imgui/fs_imgui_texture.sc b/examples/common/imgui/fs_imgui_texture.sc new file mode 100644 index 00000000..08467ea8 --- /dev/null +++ b/examples/common/imgui/fs_imgui_texture.sc @@ -0,0 +1,16 @@ +$input v_texcoord0, v_color0 + +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include + +SAMPLER2D(u_texColor, 0); + +void main() +{ + float alpha = texture2D(u_texColor, v_texcoord0).x; + gl_FragColor = vec4(v_color0.xyz, v_color0.w * alpha); +} diff --git a/examples/common/imgui/imgui.cpp b/examples/common/imgui/imgui.cpp new file mode 100644 index 00000000..2b80c75e --- /dev/null +++ b/examples/common/imgui/imgui.cpp @@ -0,0 +1,1400 @@ +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +// This code is based on: +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// +// Source altered and distributed from https://github.com/AdrienHerubel/imgui + +#include +#include +#include +#include + +#include "imgui.h" +#include "../math.h" + +#include "vs_imgui_color.bin.h" +#include "fs_imgui_color.bin.h" +#include "vs_imgui_texture.bin.h" +#include "fs_imgui_texture.bin.h" + +#define MAX_TEMP_COORDS 100 +#define NUM_CIRCLE_VERTS (8 * 4) + +static const int32_t BUTTON_HEIGHT = 20; +static const int32_t SLIDER_HEIGHT = 20; +static const int32_t SLIDER_MARKER_WIDTH = 10; +static const int32_t CHECK_SIZE = 8; +static const int32_t DEFAULT_SPACING = 4; +static const int32_t TEXT_HEIGHT = 8; +static const int32_t SCROLL_AREA_PADDING = 6; +static const int32_t INDENT_SIZE = 16; +static const int32_t AREA_HEADER = 28; +static const float s_tabStops[4] = {150, 210, 270, 330}; + +static void* imguiMalloc(size_t size, void* /*_userptr*/) +{ + return malloc(size); +} + +static void imguiFree(void* _ptr, void* /*_userptr*/) +{ + free(_ptr); +} + +#define STBTT_malloc(_x, _y) imguiMalloc(_x, _y) +#define STBTT_free(_x, _y) imguiFree(_x, _y) +#define STB_TRUETYPE_IMPLEMENTATION +#include + +struct PosColorVertex +{ + float m_x; + float m_y; + uint32_t m_abgr; + + static void init() + { + ms_decl.begin(); + ms_decl.add(bgfx::Attrib::Position, 2, bgfx::AttribType::Float); + ms_decl.add(bgfx::Attrib::Color0, 4, bgfx::AttribType::Uint8, true); + ms_decl.end(); + } + + static bgfx::VertexDecl ms_decl; +}; + +bgfx::VertexDecl PosColorVertex::ms_decl; + +struct PosColorUvVertex +{ + float m_x; + float m_y; + float m_u; + float m_v; + uint32_t m_abgr; + + static void init() + { + ms_decl.begin(); + ms_decl.add(bgfx::Attrib::Position, 2, bgfx::AttribType::Float); + ms_decl.add(bgfx::Attrib::TexCoord0, 2, bgfx::AttribType::Float); + ms_decl.add(bgfx::Attrib::Color0, 4, bgfx::AttribType::Uint8, true); + ms_decl.end(); + } + + static bgfx::VertexDecl ms_decl; +}; + +bgfx::VertexDecl PosColorUvVertex::ms_decl; + +struct Imgui +{ + Imgui() + : m_mx(-1) + , m_my(-1) + , m_scroll(0) + , m_active(0) + , m_hot(0) + , m_hotToBe(0) + , m_dragX(0) + , m_dragY(0) + , m_dragOrig(0) + , m_widgetX(0) + , m_widgetY(0) + , m_widgetW(100) + , m_left(false) + , m_leftPressed(false) + , m_leftReleased(false) + , m_isHot(false) + , m_isActive(false) + , m_wentActive(false) + , m_insideCurrentScroll(false) + , m_areaId(0) + , m_widgetId(0) + , m_scrollTop(0) + , m_scrollBottom(0) + , m_scrollRight(0) + , m_scrollAreaTop(0) + , m_scrollVal(NULL) + , m_focusTop(0) + , m_focusBottom(0) + , m_scrollId(0) + , m_insideScrollArea(false) + , m_textureWidth(512) + , m_textureHeight(512) + , m_halfTexel(0.0f) + , m_view(31) + { + m_invTextureWidth = 1.0f/m_textureWidth; + m_invTextureHeight = 1.0f/m_textureHeight; + + u_texColor.idx = bgfx::invalidHandle; + m_fontTexture.idx = bgfx::invalidHandle; + m_colorProgram.idx = bgfx::invalidHandle; + m_textureProgram.idx = bgfx::invalidHandle; + } + + bool create(void* _data, uint32_t /*_size*/) + { + for (int32_t ii = 0; ii < NUM_CIRCLE_VERTS; ++ii) + { + float a = (float)ii / (float)NUM_CIRCLE_VERTS * (float)(M_PI * 2.0); + m_circleVerts[ii * 2 + 0] = cosf(a); + m_circleVerts[ii * 2 + 1] = sinf(a); + } + + PosColorVertex::init(); + PosColorUvVertex::init(); + + u_texColor = bgfx::createUniform("u_texColor", bgfx::UniformType::Uniform1i); + + const bgfx::Memory* vs_imgui_color; + const bgfx::Memory* fs_imgui_color; + const bgfx::Memory* vs_imgui_texture; + const bgfx::Memory* fs_imgui_texture; + + switch (bgfx::getRendererType() ) + { + case bgfx::RendererType::Direct3D9: + vs_imgui_color = bgfx::makeRef(vs_imgui_color_dx9, sizeof(vs_imgui_color_dx9) ); + fs_imgui_color = bgfx::makeRef(fs_imgui_color_dx9, sizeof(fs_imgui_color_dx9) ); + vs_imgui_texture = bgfx::makeRef(vs_imgui_texture_dx9, sizeof(vs_imgui_texture_dx9) ); + fs_imgui_texture = bgfx::makeRef(fs_imgui_texture_dx9, sizeof(fs_imgui_texture_dx9) ); + m_halfTexel = 0.5f; + break; + + case bgfx::RendererType::Direct3D11: + vs_imgui_color = bgfx::makeRef(vs_imgui_color_dx11, sizeof(vs_imgui_color_dx11) ); + fs_imgui_color = bgfx::makeRef(fs_imgui_color_dx11, sizeof(fs_imgui_color_dx11) ); + vs_imgui_texture = bgfx::makeRef(vs_imgui_texture_dx11, sizeof(vs_imgui_texture_dx11) ); + fs_imgui_texture = bgfx::makeRef(fs_imgui_texture_dx11, sizeof(fs_imgui_texture_dx11) ); + break; + + default: + vs_imgui_color = bgfx::makeRef(vs_imgui_color_glsl, sizeof(vs_imgui_color_glsl) ); + fs_imgui_color = bgfx::makeRef(fs_imgui_color_glsl, sizeof(fs_imgui_color_glsl) ); + vs_imgui_texture = bgfx::makeRef(vs_imgui_texture_glsl, sizeof(vs_imgui_texture_glsl) ); + fs_imgui_texture = bgfx::makeRef(fs_imgui_texture_glsl, sizeof(fs_imgui_texture_glsl) ); + break; + } + + bgfx::VertexShaderHandle vsh; + bgfx::FragmentShaderHandle fsh; + + vsh = bgfx::createVertexShader(vs_imgui_color); + fsh = bgfx::createFragmentShader(fs_imgui_color); + m_colorProgram = bgfx::createProgram(vsh, fsh); + bgfx::destroyVertexShader(vsh); + bgfx::destroyFragmentShader(fsh); + + vsh = bgfx::createVertexShader(vs_imgui_texture); + fsh = bgfx::createFragmentShader(fs_imgui_texture); + m_textureProgram = bgfx::createProgram(vsh, fsh); + bgfx::destroyVertexShader(vsh); + bgfx::destroyFragmentShader(fsh); + + const bgfx::Memory* mem = bgfx::alloc(m_textureWidth * m_textureHeight); + stbtt_BakeFontBitmap( (uint8_t*)_data, 0, 15.0f, mem->data, m_textureWidth, m_textureHeight, 32, 96, m_cdata); + m_fontTexture = bgfx::createTexture2D(m_textureWidth, m_textureHeight, 1, bgfx::TextureFormat::L8, BGFX_TEXTURE_NONE, mem); + + return true; + } + + void destroy() + { + bgfx::destroyUniform(u_texColor); + bgfx::destroyTexture(m_fontTexture); + } + + bool anyActive() const + { + return m_active != 0; + } + + bool isActive(uint32_t _id) const + { + return m_active == _id; + } + + bool isHot(uint32_t _id) const + { + return m_hot == _id; + } + + bool inRect(int32_t _x, int32_t _y, int32_t _width, int32_t _height, bool _checkScroll = true) const + { + return (!_checkScroll || m_insideCurrentScroll) + && m_mx >= _x + && m_mx <= _x + _width + && m_my >= _y + && m_my <= _y + _height; + } + + void clearInput() + { + m_leftPressed = false; + m_leftReleased = false; + m_scroll = 0; + } + + void clearActive() + { + m_active = 0; + // mark all UI for this frame as processed + clearInput(); + } + + void setActive(uint32_t _id) + { + m_active = _id; + m_wentActive = true; + } + + void setHot(uint32_t _id) + { + m_hotToBe = _id; + } + + bool buttonLogic(uint32_t _id, bool _over) + { + bool res = false; + // process down + if (!anyActive() ) + { + if (_over) + { + setHot(_id); + } + + if (isHot(_id) + && m_leftPressed) + { + setActive(_id); + } + } + + // if button is active, then react on left up + if (isActive(_id) ) + { + m_isActive = true; + if (_over) + { + setHot(_id); + } + + if (m_leftReleased) + { + if (isHot(_id) ) + { + res = true; + } + + clearActive(); + } + } + + if (isHot(_id) ) + { + m_isHot = true; + } + + return res; + } + + void updateInput(int32_t _mx, int32_t _my, uint8_t _button, int32_t _scroll) + { + bool left = (_button & IMGUI_MBUT_LEFT) != 0; + + m_mx = _mx; + m_my = _my; + m_leftPressed = !m_left && left; + m_leftReleased = m_left && !left; + m_left = left; + m_scroll = _scroll; + } + + void beginFrame(int32_t _mx, int32_t _my, uint8_t _button, int32_t _scroll, uint16_t _width, uint16_t _height, uint8_t _view) + { + m_view = _view; + bgfx::setViewSeq(_view, true); + bgfx::setViewRect(_view, 0, 0, _width, _height); + + float proj[16]; + mtxOrtho(proj, 0.0f, (float)_width, (float)_height, 0.0f, 0.0f, 1000.0f); + bgfx::setViewTransform(_view, NULL, proj); + + updateInput(_mx, _my, _button, _scroll); + + m_hot = m_hotToBe; + m_hotToBe = 0; + + m_wentActive = false; + m_isActive = false; + m_isHot = false; + + m_widgetX = 0; + m_widgetY = 0; + m_widgetW = 0; + + m_areaId = 1; + m_widgetId = 1; + } + + void endFrame() + { + clearInput(); + } + + bool beginScrollArea(const char* _name, int32_t _x, int32_t _y, int32_t _width, int32_t _height, int32_t* _scroll) + { + m_areaId++; + m_widgetId = 0; + m_scrollId = (m_areaId << 16) | m_widgetId; + + m_widgetX = _x + SCROLL_AREA_PADDING; + m_widgetY = _y + + AREA_HEADER + (*_scroll); + m_widgetW = _width - SCROLL_AREA_PADDING * 4; + m_scrollTop = _y + SCROLL_AREA_PADDING; + m_scrollBottom = _y - AREA_HEADER + _height; + m_scrollRight = _x + _width - SCROLL_AREA_PADDING * 3; + m_scrollVal = _scroll; + + m_scrollAreaTop = m_widgetY; + + m_focusTop = _y - AREA_HEADER; + m_focusBottom = _y - AREA_HEADER + _height; + + m_insideScrollArea = inRect(_x, _y, _width, _height, false); + m_insideCurrentScroll = m_insideScrollArea; + + drawRoundedRect( (float)_x, (float)_y, (float)_width, (float)_height, 6, imguiRGBA(0, 0, 0, 192) ); + drawText(_x + AREA_HEADER / 2, _y + AREA_HEADER / 2, IMGUI_ALIGN_LEFT, _name, imguiRGBA(255, 255, 255, 128) ); + +// setScissor(_x + SCROLL_AREA_PADDING, _y + SCROLL_AREA_PADDING, _width - SCROLL_AREA_PADDING * 4, _height - AREA_HEADER - SCROLL_AREA_PADDING); + + return m_insideScrollArea; + } + + void endScrollArea() + { + // Disable scissoring. +// setScissor(-1, -1, -1, -1); + + // Draw scroll bar + int32_t xx = m_scrollRight + SCROLL_AREA_PADDING / 2; + int32_t yy = m_scrollTop; + int32_t width = SCROLL_AREA_PADDING * 2; + int32_t height = m_scrollBottom - m_scrollTop; + + int32_t stop = m_scrollAreaTop; + int32_t sbot = m_widgetY; + int32_t sh = sbot - stop; // The scrollable area height. + + float barHeight = (float)height / (float)sh; + + if (barHeight < 1) + { + float barY = (float)(yy - sbot) / (float)sh; + if (barY < 0) + { + barY = 0; + } + + if (barY > 1) + { + barY = 1; + } + + // Handle scroll bar logic. + uint32_t hid = m_scrollId; + int32_t hx = xx; + int32_t hy = yy + (int)(barY * height); + int32_t hw = width; + int32_t hh = (int)(barHeight * height); + + const int32_t range = height - (hh - 1); + bool over = inRect(hx, hy, hw, hh); + buttonLogic(hid, over); + if (isActive(hid) ) + { + float u = (float)(hy - yy) / (float)range; + if (m_wentActive) + { + m_dragY = m_my; + m_dragOrig = u; + } + + if (m_dragY != m_my) + { + u = m_dragOrig + (m_my - m_dragY) / (float)range; + if (u < 0) + { + u = 0; + } + + if (u > 1) + { + u = 1; + } + + *m_scrollVal = (int)( (1 - u) * (sh - height) ); + } + } + + // BG + drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, (float)width / 2 - 1, imguiRGBA(0, 0, 0, 196) ); + // Bar + if (isActive(hid) ) + { + drawRoundedRect( (float)hx, (float)hy, (float)hw, (float)hh, (float)width / 2 - 1, imguiRGBA(255, 196, 0, 196) ); + } + else + { + drawRoundedRect( (float)hx, (float)hy, (float)hw, (float)hh, (float)width / 2 - 1, isHot(hid) ? imguiRGBA(255, 196, 0, 96) : imguiRGBA(255, 255, 255, 64) ); + } + + // Handle mouse scrolling. + if (m_insideScrollArea) // && !anyActive()) + { + if (m_scroll) + { + *m_scrollVal += 20 * m_scroll; + if (*m_scrollVal < 0) + { + *m_scrollVal = 0; + } + + if (*m_scrollVal > (sh - height) ) + { + *m_scrollVal = (sh - height); + } + } + } + } + + m_insideCurrentScroll = false; + } + + bool button(const char* _text, bool _enabled) + { + m_widgetId++; + uint32_t id = (m_areaId << 16) | m_widgetId; + + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = BUTTON_HEIGHT; + m_widgetY += BUTTON_HEIGHT + DEFAULT_SPACING; + + bool over = _enabled && inRect(xx, yy, width, height); + bool res = buttonLogic(id, over); + + drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, (float)BUTTON_HEIGHT / 2 - 1, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) ); + if (_enabled) + { + drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + } + else + { + drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + } + + return res; + } + + bool item(const char* _text, bool _enabled) + { + m_widgetId++; + uint32_t id = (m_areaId << 16) | m_widgetId; + + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = BUTTON_HEIGHT; + m_widgetY += BUTTON_HEIGHT + DEFAULT_SPACING; + + bool over = _enabled && inRect(xx, yy, width, height); + bool res = buttonLogic(id, over); + + if (isHot(id) ) + { + drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, 2.0f, imguiRGBA(255, 196, 0, isActive(id) ? 196 : 96) ); + } + + if (_enabled) + { + drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(255, 255, 255, 200) ); + } + else + { + drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + } + + return res; + } + + bool check(const char* _text, bool _checked, bool _enabled) + { + m_widgetId++; + uint32_t id = (m_areaId << 16) | m_widgetId; + + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = BUTTON_HEIGHT; + m_widgetY += BUTTON_HEIGHT + DEFAULT_SPACING; + + bool over = _enabled && inRect(xx, yy, width, height); + bool res = buttonLogic(id, over); + + const int32_t cx = xx + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + const int32_t cy = yy + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + drawRoundedRect( (float)cx - 3, (float)cy - 3, (float)CHECK_SIZE + 6, (float)CHECK_SIZE + 6, 4, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) ); + if (_checked) + { + if (_enabled) + { + drawRoundedRect( (float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + } + else + { + drawRoundedRect( (float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(128, 128, 128, 200) ); + } + } + + if (_enabled) + { + drawText(xx + BUTTON_HEIGHT, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + } + else + { + drawText(xx + BUTTON_HEIGHT, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + } + + return res; + } + + bool collapse(const char* _text, const char* _subtext, bool _checked, bool _enabled) + { + m_widgetId++; + uint32_t id = (m_areaId << 16) | m_widgetId; + + int32_t x = m_widgetX; + int32_t y = m_widgetY; + int32_t w = m_widgetW; + int32_t h = BUTTON_HEIGHT; + m_widgetY += BUTTON_HEIGHT + DEFAULT_SPACING; + + const int32_t cx = x + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + const int32_t cy = y + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + + bool over = _enabled && inRect(x, y, w, h); + bool res = buttonLogic(id, over); + + if (_checked) + { + drawTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 2, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + } + else + { + drawTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + } + + if (_enabled) + { + drawText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + } + else + { + drawText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + } + + if (_subtext) + { + drawText(x + w - BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, _subtext, imguiRGBA(255, 255, 255, 128) ); + } + + return res; + } + + void labelVargs(const char* _format, va_list _argList) + { + char temp[8192]; + char* out = temp; + int32_t len = bx::vsnprintf(out, sizeof(temp), _format, _argList); + if ( (int32_t)sizeof(temp) < len) + { + out = (char*)alloca(len+1); + len = bx::vsnprintf(out, len, _format, _argList); + } + out[len] = '\0'; + + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + m_widgetY += BUTTON_HEIGHT; + drawText(xx + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , out + , imguiRGBA(255, 255, 255, 255) + ); + } + + void value(const char* _text) + { + const int32_t xx = m_widgetX; + const int32_t yy = m_widgetY; + const int32_t ww = m_widgetW; + m_widgetY += BUTTON_HEIGHT; + + drawText(xx + ww - BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_RIGHT + , _text + , imguiRGBA(255, 255, 255, 200) + ); + } + + bool slider(const char* _text, float* _val, float _vmin, float _vmax, float _vinc, bool _enabled) + { + m_widgetId++; + uint32_t id = (m_areaId << 16) | m_widgetId; + + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = SLIDER_HEIGHT; + m_widgetY += SLIDER_HEIGHT + DEFAULT_SPACING; + + drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, 4.0f, imguiRGBA(0, 0, 0, 128) ); + + const int32_t range = width - SLIDER_MARKER_WIDTH; + + float uu = (*_val - _vmin) / (_vmax - _vmin); + if (uu < 0) + { + uu = 0; + } + + if (uu > 1) + { + uu = 1; + } + + int32_t m = (int)(uu * range); + + bool over = _enabled && inRect(xx + m, yy, SLIDER_MARKER_WIDTH, SLIDER_HEIGHT); + bool res = buttonLogic(id, over); + bool valChanged = false; + + if (isActive(id) ) + { + if (m_wentActive) + { + m_dragX = m_mx; + m_dragOrig = uu; + } + + if (m_dragX != m_mx) + { + uu = m_dragOrig + (float)(m_mx - m_dragX) / (float)range; + if (uu < 0) + { + uu = 0; + } + + if (uu > 1) + { + uu = 1; + } + + *_val = _vmin + uu * (_vmax - _vmin); + *_val = floorf(*_val / _vinc + 0.5f) * _vinc; // Snap to vinc + m = (int)(uu * range); + valChanged = true; + } + } + + if (isActive(id) ) + { + drawRoundedRect( (float)(xx + m) + , (float)yy + , (float)SLIDER_MARKER_WIDTH + , (float)SLIDER_HEIGHT + , 4.0f + , imguiRGBA(255, 255, 255, 255) + ); + } + else + { + drawRoundedRect( (float)(xx + m) + , (float)yy + , (float)SLIDER_MARKER_WIDTH + , (float)SLIDER_HEIGHT + , 4.0f + , isHot(id) ? imguiRGBA(255, 196, 0, 128) : imguiRGBA(255, 255, 255, 64) + ); + } + + // TODO: fix this, take a look at 'nicenum'. + int32_t digits = (int)(ceilf(log10f(_vinc) ) ); + char fmt[16]; + bx::snprintf(fmt, 16, "%%.%df", digits >= 0 ? 0 : -digits); + char msg[128]; + bx::snprintf(msg, 128, fmt, *_val); + + if (_enabled) + { + drawText(xx + SLIDER_HEIGHT / 2 + , yy + SLIDER_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) + ); + + drawText(xx + width - SLIDER_HEIGHT / 2 + , yy + SLIDER_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_RIGHT + , msg + , isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) + ); + } + else + { + drawText(xx + SLIDER_HEIGHT / 2 + , yy + SLIDER_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(128, 128, 128, 200) + ); + + drawText(xx + width - SLIDER_HEIGHT / 2 + , yy + SLIDER_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_RIGHT + , msg + , imguiRGBA(128, 128, 128, 200) + ); + } + + return res || valChanged; + } + + void indent() + { + m_widgetX += INDENT_SIZE; + m_widgetW -= INDENT_SIZE; + } + + void unindent() + { + m_widgetX -= INDENT_SIZE; + m_widgetW += INDENT_SIZE; + } + + void separator() + { + m_widgetY += DEFAULT_SPACING * 3; + } + + void separatorLine() + { + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = 1; + m_widgetY += DEFAULT_SPACING * 4; + + drawRect( (float)xx + , (float)yy + , (float)width + , (float)height + , imguiRGBA(255, 255, 255, 32) + ); + } + + void drawPolygon(const float* _coords, uint32_t _numCoords, float _r, uint32_t _abgr) + { + _numCoords = bx::uint32_min(_numCoords, MAX_TEMP_COORDS); + + for (uint32_t ii = 0, jj = _numCoords - 1; ii < _numCoords; jj = ii++) + { + const float* v0 = &_coords[jj * 2]; + const float* v1 = &_coords[ii * 2]; + float dx = v1[0] - v0[0]; + float dy = v1[1] - v0[1]; + float d = sqrtf(dx * dx + dy * dy); + if (d > 0) + { + d = 1.0f / d; + dx *= d; + dy *= d; + } + + m_tempNormals[jj * 2 + 0] = dy; + m_tempNormals[jj * 2 + 1] = -dx; + } + + for (uint32_t ii = 0, jj = _numCoords - 1; ii < _numCoords; jj = ii++) + { + float dlx0 = m_tempNormals[jj * 2 + 0]; + float dly0 = m_tempNormals[jj * 2 + 1]; + float dlx1 = m_tempNormals[ii * 2 + 0]; + float dly1 = m_tempNormals[ii * 2 + 1]; + float dmx = (dlx0 + dlx1) * 0.5f; + float dmy = (dly0 + dly1) * 0.5f; + float dmr2 = dmx * dmx + dmy * dmy; + if (dmr2 > 0.000001f) + { + float scale = 1.0f / dmr2; + if (scale > 10.0f) + { + scale = 10.0f; + } + + dmx *= scale; + dmy *= scale; + } + + m_tempCoords[ii * 2 + 0] = _coords[ii * 2 + 0] + dmx * _r; + m_tempCoords[ii * 2 + 1] = _coords[ii * 2 + 1] + dmy * _r; + } + + uint32_t numVertices = _numCoords*6 + (_numCoords-2)*3; + if (bgfx::checkAvailTransientVertexBuffer(numVertices, PosColorVertex::ms_decl) ) + { + bgfx::TransientVertexBuffer tvb; + bgfx::allocTransientVertexBuffer(&tvb, numVertices, PosColorVertex::ms_decl); + uint32_t trans = _abgr&0xffffff; + + PosColorVertex* vertex = (PosColorVertex*)tvb.data; + for (uint32_t ii = 0, jj = _numCoords-1; ii < _numCoords; jj = ii++) + { + vertex->m_x = _coords[ii*2+0]; + vertex->m_y = _coords[ii*2+1]; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = _coords[jj*2+0]; + vertex->m_y = _coords[jj*2+1]; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = m_tempCoords[jj*2+0]; + vertex->m_y = m_tempCoords[jj*2+1]; + vertex->m_abgr = trans; + ++vertex; + + vertex->m_x = m_tempCoords[jj*2+0]; + vertex->m_y = m_tempCoords[jj*2+1]; + vertex->m_abgr = trans; + ++vertex; + + vertex->m_x = m_tempCoords[ii*2+0]; + vertex->m_y = m_tempCoords[ii*2+1]; + vertex->m_abgr = trans; + ++vertex; + + vertex->m_x = _coords[ii*2+0]; + vertex->m_y = _coords[ii*2+1]; + vertex->m_abgr = _abgr; + ++vertex; + } + + for (uint32_t ii = 2; ii < _numCoords; ++ii) + { + vertex->m_x = _coords[0]; + vertex->m_y = _coords[1]; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = _coords[(ii-1)*2+0]; + vertex->m_y = _coords[(ii-1)*2+1]; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = _coords[ii*2+0]; + vertex->m_y = _coords[ii*2+1]; + vertex->m_abgr = _abgr; + ++vertex; + } + + bgfx::setVertexBuffer(&tvb); + bgfx::setState(0 + | BGFX_STATE_RGB_WRITE + | BGFX_STATE_ALPHA_WRITE + | BGFX_STATE_BLEND_FUNC(BGFX_STATE_BLEND_SRC_ALPHA, BGFX_STATE_BLEND_INV_SRC_ALPHA) + ); + bgfx::setProgram(m_colorProgram); + bgfx::submit(m_view); + } + } + + void drawRect(float _x, float _y, float w, float h, uint32_t _argb, float _fth = 1.0f) + { + float verts[4 * 2] = + { + _x + 0.5f, _y + 0.5f, + _x + w - 0.5f, _y + 0.5f, + _x + w - 0.5f, _y + h - 0.5f, + _x + 0.5f, _y + h - 0.5f, + }; + + drawPolygon(verts, 4, _fth, _argb); + } + + void drawRoundedRect(float _x, float _y, float w, float h, float r, uint32_t _argb, float _fth = 1.0f) + { + const uint32_t num = NUM_CIRCLE_VERTS / 4; + const float* cverts = m_circleVerts; + float verts[(num + 1) * 4 * 2]; + float* vv = verts; + + for (uint32_t ii = 0; ii <= num; ++ii) + { + *vv++ = _x + w - r + cverts[ii * 2] * r; + *vv++ = _y + h - r + cverts[ii * 2 + 1] * r; + } + + for (uint32_t ii = num; ii <= num * 2; ++ii) + { + *vv++ = _x + r + cverts[ii * 2] * r; + *vv++ = _y + h - r + cverts[ii * 2 + 1] * r; + } + + for (uint32_t ii = num * 2; ii <= num * 3; ++ii) + { + *vv++ = _x + r + cverts[ii * 2] * r; + *vv++ = _y + r + cverts[ii * 2 + 1] * r; + } + + for (uint32_t ii = num * 3; ii < num * 4; ++ii) + { + *vv++ = _x + w - r + cverts[ii * 2] * r; + *vv++ = _y + r + cverts[ii * 2 + 1] * r; + } + + *vv++ = _x + w - r + cverts[0] * r; + *vv++ = _y + r + cverts[1] * r; + + drawPolygon(verts, (num + 1) * 4, _fth, _argb); + } + + void drawLine(float _x0, float _y0, float _x1, float _y1, float _r, uint32_t _abgr, float _fth = 1.0f) + { + float dx = _x1 - _x0; + float dy = _y1 - _y0; + float d = sqrtf(dx * dx + dy * dy); + if (d > 0.0001f) + { + d = 1.0f / d; + dx *= d; + dy *= d; + } + + float nx = dy; + float ny = -dx; + float verts[4 * 2]; + _r -= _fth; + _r *= 0.5f; + if (_r < 0.01f) + { + _r = 0.01f; + } + + dx *= _r; + dy *= _r; + nx *= _r; + ny *= _r; + + verts[0] = _x0 - dx - nx; + verts[1] = _y0 - dy - ny; + + verts[2] = _x0 - dx + nx; + verts[3] = _y0 - dy + ny; + + verts[4] = _x1 + dx + nx; + verts[5] = _y1 + dy + ny; + + verts[6] = _x1 + dx - nx; + verts[7] = _y1 + dy - ny; + + drawPolygon(verts, 4, _fth, _abgr); + } + + void drawTriangle(int32_t _x, int32_t _y, int32_t _width, int32_t _height, int32_t _flags, uint32_t _abgr) + { + if (1 == _flags) + { + const float verts[3 * 2] = + { + (float)_x + 0.5f, (float)_y + 0.5f, + (float)_x + 0.5f + (float)_width * 1.0f, (float)_y + 0.5f + (float)_height / 2.0f - 0.5f, + (float)_x + 0.5f, (float)_y + 0.5f + (float)_height - 1.0f, + }; + + drawPolygon(verts, 3, 1.0f, _abgr); + } + else + { + const float verts[3 * 2] = + { + (float)_x + 0.5f, (float)_y + 0.5f + (float)_height - 1.0f, + (float)_x + 0.5f + (float)_width / 2.0f - 0.5f, (float)_y + 0.5f, + (float)_x + 0.5f + (float)_width - 1.0f, (float)_y + 0.5f + (float)_height - 1.0f, + }; + + drawPolygon(verts, 3, 1.0f, _abgr); + } + } + + void getBakedQuad(stbtt_bakedchar* _chardata, int32_t char_index, float* _xpos, float* _ypos, stbtt_aligned_quad* _quad) + { + stbtt_bakedchar* b = _chardata + char_index; + int32_t round_x = STBTT_ifloor(*_xpos + b->xoff); + int32_t round_y = STBTT_ifloor(*_ypos + b->yoff); + + _quad->x0 = (float)round_x; + _quad->y0 = (float)round_y; + _quad->x1 = (float)round_x + b->x1 - b->x0; + _quad->y1 = (float)round_y + b->y1 - b->y0; + + _quad->s0 = (b->x0 + m_halfTexel) * m_invTextureWidth; + _quad->t0 = (b->y0 + m_halfTexel) * m_invTextureWidth; + _quad->s1 = (b->x1 + m_halfTexel) * m_invTextureHeight; + _quad->t1 = (b->y1 + m_halfTexel) * m_invTextureHeight; + + *_xpos += b->xadvance; + } + + float getTextLength(stbtt_bakedchar* _chardata, const char* _text, uint32_t& _numVertices) + { + float xpos = 0; + float len = 0; + uint32_t numVertices = 0; + + while (*_text) + { + int32_t ch = (uint8_t)*_text; + if (ch == '\t') + { + for (int32_t ii = 0; ii < 4; ++ii) + { + if (xpos < s_tabStops[ii]) + { + xpos = s_tabStops[ii]; + break; + } + } + } + else if (ch >= ' ' + && ch < 128) + { + stbtt_bakedchar* b = _chardata + ch - ' '; + int32_t round_x = STBTT_ifloor( (xpos + b->xoff) + 0.5); + len = round_x + b->x1 - b->x0 + 0.5f; + xpos += b->xadvance; + numVertices += 6; + } + + ++_text; + } + + _numVertices = numVertices; + + return len; + } + + void drawText(int32_t _x, int32_t _y, imguiTextAlign _align, const char* _text, uint32_t _abgr) + { + drawText( (float)_x, (float)_y, _text, _align, _abgr); + } + + void drawText(float _x, float _y, const char* _text, imguiTextAlign _align, uint32_t _abgr) + { + if (!_text) + { + return; + } + + uint32_t numVertices = 0; + if (_align == IMGUI_ALIGN_CENTER) + { + _x -= getTextLength(m_cdata, _text, numVertices) / 2; + } + else if (_align == IMGUI_ALIGN_RIGHT) + { + _x -= getTextLength(m_cdata, _text, numVertices); + } + else // just count vertices + { + getTextLength(m_cdata, _text, numVertices); + } + + if (bgfx::checkAvailTransientVertexBuffer(numVertices, PosColorUvVertex::ms_decl) ) + { + bgfx::TransientVertexBuffer tvb; + bgfx::allocTransientVertexBuffer(&tvb, numVertices, PosColorUvVertex::ms_decl); + + PosColorUvVertex* vertex = (PosColorUvVertex*)tvb.data; + + const float ox = _x; + + while (*_text) + { + int32_t ch = (uint8_t)*_text; + if (ch == '\t') + { + for (int32_t i = 0; i < 4; ++i) + { + if (_x < s_tabStops[i] + ox) + { + _x = s_tabStops[i] + ox; + break; + } + } + } + else if (ch >= ' ' + && ch < 128) + { + stbtt_aligned_quad quad; + getBakedQuad(m_cdata, ch - 32, &_x, &_y, &quad); + + vertex->m_x = quad.x0; + vertex->m_y = quad.y0; + vertex->m_u = quad.s0; + vertex->m_v = quad.t0; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = quad.x1; + vertex->m_y = quad.y1; + vertex->m_u = quad.s1; + vertex->m_v = quad.t1; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = quad.x1; + vertex->m_y = quad.y0; + vertex->m_u = quad.s1; + vertex->m_v = quad.t0; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = quad.x0; + vertex->m_y = quad.y0; + vertex->m_u = quad.s0; + vertex->m_v = quad.t0; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = quad.x0; + vertex->m_y = quad.y1; + vertex->m_u = quad.s0; + vertex->m_v = quad.t1; + vertex->m_abgr = _abgr; + ++vertex; + + vertex->m_x = quad.x1; + vertex->m_y = quad.y1; + vertex->m_u = quad.s1; + vertex->m_v = quad.t1; + vertex->m_abgr = _abgr; + ++vertex; + } + + ++_text; + } + + bgfx::setTexture(0, u_texColor, m_fontTexture); + bgfx::setVertexBuffer(&tvb); + bgfx::setState(0 + | BGFX_STATE_RGB_WRITE + | BGFX_STATE_ALPHA_WRITE + | BGFX_STATE_BLEND_FUNC(BGFX_STATE_BLEND_SRC_ALPHA, BGFX_STATE_BLEND_INV_SRC_ALPHA) + ); + bgfx::setProgram(m_textureProgram); + bgfx::submit(m_view); + } + } + + int32_t m_mx; + int32_t m_my; + int32_t m_scroll; + uint32_t m_active; + uint32_t m_hot; + uint32_t m_hotToBe; + int32_t m_dragX; + int32_t m_dragY; + float m_dragOrig; + int32_t m_widgetX; + int32_t m_widgetY; + int32_t m_widgetW; + bool m_left; + bool m_leftPressed; + bool m_leftReleased; + bool m_isHot; + bool m_isActive; + bool m_wentActive; + bool m_insideCurrentScroll; + + uint32_t m_areaId; + uint32_t m_widgetId; + + float m_tempCoords[MAX_TEMP_COORDS * 2]; + float m_tempNormals[MAX_TEMP_COORDS * 2]; + + float m_circleVerts[NUM_CIRCLE_VERTS * 2]; + + int32_t m_scrollTop; + int32_t m_scrollBottom; + int32_t m_scrollRight; + int32_t m_scrollAreaTop; + int32_t* m_scrollVal; + int32_t m_focusTop; + int32_t m_focusBottom; + uint32_t m_scrollId; + bool m_insideScrollArea; + + stbtt_bakedchar m_cdata[96]; // ASCII 32..126 is 95 glyphs + + uint16_t m_textureWidth; + uint16_t m_textureHeight; + float m_invTextureWidth; + float m_invTextureHeight; + float m_halfTexel; + + uint8_t m_view; + bgfx::UniformHandle u_texColor; + bgfx::TextureHandle m_fontTexture; + bgfx::ProgramHandle m_colorProgram; + bgfx::ProgramHandle m_textureProgram; +}; + +static Imgui s_imgui; + +bool imguiCreate(void* _data, uint32_t _size) +{ + return s_imgui.create(_data, _size); +} + +void imguiDestroy() +{ + s_imgui.destroy(); +} + +void imguiBeginFrame(int32_t _mx, int32_t _my, uint8_t _button, int32_t _scroll, uint16_t _width, uint16_t _height, uint8_t _view) +{ + s_imgui.beginFrame(_mx, _my, _button, _scroll, _width, _height, _view); +} + +void imguiEndFrame() +{ + s_imgui.endFrame(); +} + +bool imguiBeginScrollArea(const char* _name, int32_t _x, int32_t _y, int32_t _width, int32_t _height, int32_t* _scroll) +{ + return s_imgui.beginScrollArea(_name, _x, _y, _width, _height, _scroll); +} + +void imguiEndScrollArea() +{ + return s_imgui.endScrollArea(); +} + +void imguiIndent() +{ + s_imgui.indent(); +} + +void imguiUnindent() +{ + s_imgui.unindent(); +} + +void imguiSeparator() +{ + s_imgui.separator(); +} + +void imguiSeparatorLine() +{ + s_imgui.separatorLine(); +} + +bool imguiButton(const char* _text, bool _enabled) +{ + return s_imgui.button(_text, _enabled); +} + +bool imguiItem(const char* _text, bool _enabled) +{ + return s_imgui.item(_text, _enabled); +} + +bool imguiCheck(const char* _text, bool _checked, bool _enabled) +{ + return s_imgui.check(_text, _checked, _enabled); +} + +bool imguiCollapse(const char* _text, const char* _subtext, bool _checked, bool _enabled) +{ + return s_imgui.collapse(_text, _subtext, _checked, _enabled); +} + +void imguiLabel(const char* _format, ...) +{ + va_list argList; + va_start(argList, _format); + s_imgui.labelVargs(_format, argList); + va_end(argList); +} + +void imguiValue(const char* _text) +{ + s_imgui.value(_text); +} + +bool imguiSlider(const char* _text, float* _val, float _vmin, float _vmax, float _vinc, bool _enabled) +{ + return s_imgui.slider(_text, _val, _vmin, _vmax, _vinc, _enabled); +} + +void imguiDrawText(int32_t _x, int32_t _y, imguiTextAlign _align, const char* _text, uint32_t _argb) +{ + s_imgui.drawText(_x, _y, _align, _text, _argb); +} + +void imguiDrawLine(float _x0, float _y0, float _x1, float _y1, float _r, uint32_t _argb) +{ + s_imgui.drawLine(_x0, _y0, _x1, _y1, _r, _argb); +} + +void imguiDrawRoundedRect(float _x, float _y, float _width, float _height, float _r, uint32_t _argb) +{ + s_imgui.drawRoundedRect(_x, _y, _width, _height, _r, _argb); +} + +void imguiDrawRect(float _x, float _y, float _width, float _height, uint32_t _argb) +{ + s_imgui.drawRect(_x, _y, _width, _height, _argb); +} diff --git a/examples/common/imgui/imgui.h b/examples/common/imgui/imgui.h new file mode 100644 index 00000000..2cb49a10 --- /dev/null +++ b/examples/common/imgui/imgui.h @@ -0,0 +1,79 @@ +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +// This code is based on: +// +// Copyright (c) 2009-2010 Mikko Mononen memon@inside.org +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// 3. This notice may not be removed or altered from any source distribution. +// +// Source altered and distributed from https://github.com/AdrienHerubel/imgui + +#ifndef __IMGUI_H__ +#define __IMGUI_H__ + +enum imguiMouseButton +{ + IMGUI_MBUT_LEFT = 0x01, + IMGUI_MBUT_RIGHT = 0x02, +}; + +enum imguiTextAlign +{ + IMGUI_ALIGN_LEFT, + IMGUI_ALIGN_CENTER, + IMGUI_ALIGN_RIGHT, +}; + +inline uint32_t imguiRGBA(uint8_t _r, uint8_t _g, uint8_t _b, uint8_t _a = 255) +{ + return 0 + | (uint32_t(_r) << 0) + | (uint32_t(_g) << 8) + | (uint32_t(_b) << 16) + | (uint32_t(_a) << 24) + ; +} + +bool imguiCreate(void* _data, uint32_t _size); +void imguiDestroy(); + +void imguiBeginFrame(int32_t _mx, int32_t _my, uint8_t _button, int32_t _scroll, uint16_t _width, uint16_t _height, uint8_t _view = 31); +void imguiEndFrame(); + +bool imguiBeginScrollArea(const char* _name, int _x, int _y, int _width, int _height, int* _scroll); +void imguiEndScrollArea(); + +void imguiIndent(); +void imguiUnindent(); +void imguiSeparator(); +void imguiSeparatorLine(); + +bool imguiButton(const char* _text, bool _enabled = true); +bool imguiItem(const char* _text, bool _enabled = true); +bool imguiCheck(const char* _text, bool _checked, bool _enabled = true); +bool imguiCollapse(const char* _text, const char* _subtext, bool _checked, bool _enabled = true); +void imguiLabel(const char* _format, ...); +void imguiValue(const char* _text); +bool imguiSlider(const char* _text, float* val, float vmin, float vmax, float vinc, bool _enabled = true); + +void imguiDrawText(int _x, int _y, imguiTextAlign _align, const char* _text, uint32_t _argb); +void imguiDrawLine(float _x0, float _y0, float _x1, float _y1, float _r, uint32_t _argb); +void imguiDrawRoundedRect(float _x, float _y, float _w, float _h, float _r, uint32_t _argb); +void imguiDrawRect(float _x, float _y, float _w, float _h, uint32_t _argb); + +#endif // __IMGUI_H__ diff --git a/examples/common/imgui/makefile b/examples/common/imgui/makefile new file mode 100644 index 00000000..61c359c4 --- /dev/null +++ b/examples/common/imgui/makefile @@ -0,0 +1,9 @@ +# +# Copyright 2011-2013 Branimir Karadzic. All rights reserved. +# License: http://www.opensource.org/licenses/BSD-2-Clause +# + +include ../../../premake/shader-embeded.mk + +rebuild: + @make -s --no-print-directory clean all diff --git a/examples/common/imgui/varying.def.sc b/examples/common/imgui/varying.def.sc new file mode 100644 index 00000000..5f4c47ac --- /dev/null +++ b/examples/common/imgui/varying.def.sc @@ -0,0 +1,6 @@ +vec4 v_color0 : COLOR0 = vec4(1.0, 0.0, 0.0, 1.0); +vec2 v_texcoord0 : TEXCOORD0 = vec2(0.0, 0.0); + +vec2 a_position : POSITION; +vec4 a_color0 : COLOR0; +vec2 a_texcoord0 : TEXCOORD0; diff --git a/examples/common/imgui/vs_imgui_color.bin.h b/examples/common/imgui/vs_imgui_color.bin.h new file mode 100644 index 00000000..121ee071 --- /dev/null +++ b/examples/common/imgui/vs_imgui_color.bin.h @@ -0,0 +1,124 @@ +static const uint8_t vs_imgui_color_dx9[290] = +{ + 0x56, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH....I...u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x09, 0x01, 0x00, 0x00, 0x04, 0x00, 0x04, 0x01, 0x00, 0x03, 0xfe, // wProj........... + 0xff, 0xfe, 0xff, 0x22, 0x00, 0x43, 0x54, 0x41, 0x42, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, // ...".CTAB....S.. + 0x00, 0x00, 0x03, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, // ................ + 0x00, 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .L...0.......... + 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // .<.......u_viewP + 0x72, 0x6f, 0x6a, 0x00, 0xab, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, // roj............. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x73, 0x5f, 0x33, 0x5f, 0x30, 0x00, 0x4d, 0x69, 0x63, 0x72, // .....vs_3_0.Micr + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, // osoft (R) HLSL S + 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, // hader Compiler 9 + 0x2e, 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0x1f, 0x00, 0x00, // .29.952.3111.... + 0x02, 0x0a, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ + 0x80, 0x01, 0x00, 0x0f, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, // ................ + 0xe0, 0x1f, 0x00, 0x00, 0x02, 0x0a, 0x00, 0x00, 0x80, 0x01, 0x00, 0x0f, 0xe0, 0x05, 0x00, 0x00, // ................ + 0x03, 0x00, 0x00, 0x0f, 0x80, 0x01, 0x00, 0xe4, 0xa0, 0x01, 0x00, 0x55, 0x90, 0x04, 0x00, 0x00, // ...........U.... + 0x04, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0xe4, 0xa0, 0x01, 0x00, 0x00, 0x90, 0x00, 0x00, 0xe4, // ................ + 0x80, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0xe4, 0x80, 0x03, 0x00, 0xe4, // ................ + 0xa0, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0f, 0xe0, 0x00, 0x00, 0xe4, 0x90, 0xff, 0xff, 0x00, // ................ + 0x00, 0x00, // .. +}; +static const uint8_t vs_imgui_color_dx11[1187] = +{ + 0x56, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, // VSH....I........ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb0, 0x09, 0x0a, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x09, 0x00, 0x60, 0x00, 0x04, 0x00, 0x74, 0x04, 0x44, 0x58, // ewProj..`...t.DX + 0x42, 0x43, 0xe3, 0x22, 0x0f, 0xd1, 0xff, 0x88, 0xa2, 0x22, 0x16, 0xe2, 0x07, 0x99, 0x95, 0xfb, // BC."....."...... + 0x1a, 0x5b, 0x01, 0x00, 0x00, 0x00, 0x74, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, // .[....t.......4. + 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0xc8, 0x02, 0x00, 0x00, 0x1c, 0x03, 0x00, 0x00, 0xf8, 0x03, // ..x............. + 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x3c, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, // ..RDEF<.......H. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfe, 0xff, 0x00, 0x91, // ................ + 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......<......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x00, 0xab, // ......$Globals.. + 0xab, 0xab, 0x3c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xb0, 0x09, // ..<.......`..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00, // ..........P..... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..l............. + 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x01, 0x00, 0x00, 0x20, 0x00, // ..........x... . + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, // ......`...@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x00, 0x00, 0xa0, 0x00, // ................ + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0xb4, 0x01, 0x00, 0x00, 0xa0, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // ..........@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x08, // ................ + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... ...@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x01, 0x00, 0x00, 0x60, 0x09, // ..............`. + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0xab, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, // Rect............ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, // ......u_viewTexe + 0x6c, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0xab, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, // l.u_view........ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0xab, 0x03, 0x00, // Proj.u_model.... + 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, // ...... .......u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // modelView.u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // lViewProj.u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x58, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // lViewProjX.u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x58, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, // wProjX.u_alphaRe + 0x66, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // f............... + 0x00, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, // ..Microsoft (R) + 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, // HLSL Shader Comp + 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, // iler 9.29.952.31 + 0x31, 0x31, 0x00, 0xab, 0xab, 0xab, 0x49, 0x53, 0x47, 0x4e, 0x48, 0x00, 0x00, 0x00, 0x02, 0x00, // 11....ISGNH..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......8......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x3e, 0x00, // ..............>. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x4f, 0x53, 0x49, // ......COLOR.POSI + 0x54, 0x49, 0x4f, 0x4e, 0x00, 0xab, 0x4f, 0x53, 0x47, 0x4e, 0x4c, 0x00, 0x00, 0x00, 0x02, 0x00, // TION..OSGNL..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ......8......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x44, 0x00, // ..............D. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x53, 0x56, 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, // ......SV_POSITIO + 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0xab, 0xab, 0x53, 0x48, 0x44, 0x52, 0xd4, 0x00, // N.COLOR...SHDR.. + 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x35, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, // ..@...5...Y...F. + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0xf2, 0x10, // ........._..... + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x01, 0x00, // ......_...2..... + 0x00, 0x00, 0x67, 0x00, 0x00, 0x04, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ..g.... ........ + 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x00, // ..e.... ......h. + 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x08, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, // ......8......... + 0x00, 0x00, 0x56, 0x15, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, // ..V.......F. ... + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x0a, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, // ......2......... + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x10, // ..F. ........... + 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......F......... + 0x00, 0x08, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, // ... ......F..... + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x36, 0x00, // ..F. .........6. + 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x00, 0x00, // ... ......F..... + 0x00, 0x00, 0x3e, 0x00, 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, 0x74, 0x00, 0x00, 0x00, 0x05, 0x00, // ..>...STATt..... + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x02, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, // ... +}; +static const uint8_t vs_imgui_color_glsl[321] = +{ + 0x56, 0x53, 0x48, 0x01, 0xa4, 0x8b, 0xef, 0x49, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, // VSH....I#ifdef G + 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, // L_ES.precision h + 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, // ighp float;.#end + 0x69, 0x66, 0x20, 0x2f, 0x2f, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x0a, 0x75, 0x6e, 0x69, // if // GL_ES..uni + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // form mat4 u_view + 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, // Proj;.varying ve + 0x63, 0x34, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x61, 0x74, 0x74, // c4 v_color0;.att + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x61, 0x5f, 0x70, 0x6f, // ribute vec2 a_po + 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, // sition;.attribut + 0x65, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, // e vec4 a_color0; + 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x28, 0x29, 0x0a, 0x7b, 0x0a, // .void main ().{. + 0x20, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, // vec4 tmpvar_1; + 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x7a, 0x77, 0x20, 0x3d, // . tmpvar_1.zw = + 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, // vec2(0.0, 1.0); + 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x2e, 0x78, 0x79, 0x20, 0x3d, // . tmpvar_1.xy = + 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x67, // a_position;. g + 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x5f, // l_Position = (u_ + 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, // viewProj * tmpva + 0x72, 0x5f, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, // r_1);. v_color0 + 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, // = a_color0;.}.. + 0x00, // . +}; diff --git a/examples/common/imgui/vs_imgui_color.sc b/examples/common/imgui/vs_imgui_color.sc new file mode 100644 index 00000000..4ddb8d84 --- /dev/null +++ b/examples/common/imgui/vs_imgui_color.sc @@ -0,0 +1,15 @@ +$input a_position, a_color0 +$output v_color0 + +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include + +void main() +{ + gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); + v_color0 = a_color0; +} diff --git a/examples/common/imgui/vs_imgui_texture.bin.h b/examples/common/imgui/vs_imgui_texture.bin.h new file mode 100644 index 00000000..a542e821 --- /dev/null +++ b/examples/common/imgui/vs_imgui_texture.bin.h @@ -0,0 +1,137 @@ +static const uint8_t vs_imgui_texture_dx9[326] = +{ + 0x56, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0x01, 0x00, 0x0a, 0x75, 0x5f, 0x76, 0x69, 0x65, // VSH........u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x09, 0x01, 0x00, 0x00, 0x04, 0x00, 0x28, 0x01, 0x00, 0x03, 0xfe, // wProj......(.... + 0xff, 0xfe, 0xff, 0x22, 0x00, 0x43, 0x54, 0x41, 0x42, 0x1c, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, // ...".CTAB....S.. + 0x00, 0x00, 0x03, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, // ................ + 0x00, 0x4c, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, // .L...0.......... + 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, // .<.......u_viewP + 0x72, 0x6f, 0x6a, 0x00, 0xab, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, // roj............. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x73, 0x5f, 0x33, 0x5f, 0x30, 0x00, 0x4d, 0x69, 0x63, 0x72, // .....vs_3_0.Micr + 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, // osoft (R) HLSL S + 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, // hader Compiler 9 + 0x2e, 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, 0x31, 0x31, 0x00, 0x1f, 0x00, 0x00, // .29.952.3111.... + 0x02, 0x0a, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, // ................ + 0x80, 0x01, 0x00, 0x0f, 0x90, 0x1f, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, 0x80, 0x02, 0x00, 0x0f, // ................ + 0x90, 0x1f, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x0f, 0xe0, 0x1f, 0x00, 0x00, // ................ + 0x02, 0x0a, 0x00, 0x00, 0x80, 0x01, 0x00, 0x0f, 0xe0, 0x1f, 0x00, 0x00, 0x02, 0x05, 0x00, 0x00, // ................ + 0x80, 0x02, 0x00, 0x03, 0xe0, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0f, 0x80, 0x01, 0x00, 0xe4, // ................ + 0xa0, 0x01, 0x00, 0x55, 0x90, 0x04, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0f, 0x80, 0x00, 0x00, 0xe4, // ...U............ + 0xa0, 0x01, 0x00, 0x00, 0x90, 0x00, 0x00, 0xe4, 0x80, 0x02, 0x00, 0x00, 0x03, 0x00, 0x00, 0x0f, // ................ + 0xe0, 0x00, 0x00, 0xe4, 0x80, 0x03, 0x00, 0xe4, 0xa0, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x0f, // ................ + 0xe0, 0x00, 0x00, 0xe4, 0x90, 0x01, 0x00, 0x00, 0x02, 0x02, 0x00, 0x03, 0xe0, 0x02, 0x00, 0xe4, // ................ + 0x90, 0xff, 0xff, 0x00, 0x00, 0x00, // ...... +}; +static const uint8_t vs_imgui_texture_dx11[1295] = +{ + 0x56, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, // VSH............. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xb0, 0x09, 0x0a, 0x75, 0x5f, 0x76, 0x69, // ............u_vi + 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x09, 0x00, 0x60, 0x00, 0x04, 0x00, 0xe0, 0x04, 0x44, 0x58, // ewProj..`.....DX + 0x42, 0x43, 0xba, 0x64, 0x76, 0xcf, 0xca, 0x9d, 0xf4, 0xd5, 0x85, 0xc5, 0x48, 0xa7, 0x92, 0xde, // BC.dv.......H... + 0x73, 0x7f, 0x01, 0x00, 0x00, 0x00, 0xe0, 0x04, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x34, 0x00, // s.............4. + 0x00, 0x00, 0x78, 0x02, 0x00, 0x00, 0xe8, 0x02, 0x00, 0x00, 0x5c, 0x03, 0x00, 0x00, 0x64, 0x04, // ..x...........d. + 0x00, 0x00, 0x52, 0x44, 0x45, 0x46, 0x3c, 0x02, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x48, 0x00, // ..RDEF<.......H. + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x04, 0xfe, 0xff, 0x00, 0x91, // ................ + 0x00, 0x00, 0x08, 0x02, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......<......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x73, 0x00, 0xab, // ......$Globals.. + 0xab, 0xab, 0x3c, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xb0, 0x09, // ..<.......`..... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00, 0x00, 0x00, // ..........P..... + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x6c, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, // ..l............. + 0x00, 0x00, 0x5c, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x01, 0x00, 0x00, 0x20, 0x00, // ..........x... . + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, // ......`...@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x01, 0x00, 0x00, 0xa0, 0x00, // ................ + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa4, 0x01, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0xb4, 0x01, 0x00, 0x00, 0xa0, 0x08, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // ..........@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0xe0, 0x08, // ................ + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0xd0, 0x01, 0x00, 0x00, 0x20, 0x09, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, // ...... ...@..... + 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1, 0x01, 0x00, 0x00, 0x60, 0x09, // ..............`. + 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, // ..@............. + 0x00, 0x00, 0xed, 0x01, 0x00, 0x00, 0xa0, 0x09, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x52, 0x65, 0x63, 0x74, 0x00, 0xab, 0x01, 0x00, 0x03, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, // Rect............ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x54, 0x65, 0x78, 0x65, // ......u_viewTexe + 0x6c, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x00, 0xab, 0x03, 0x00, 0x03, 0x00, 0x04, 0x00, // l.u_view........ + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // ..........u_view + 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x00, 0xab, 0x03, 0x00, // Proj.u_model.... + 0x03, 0x00, 0x04, 0x00, 0x04, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0x5f, // ...... .......u_ + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x56, 0x69, 0x65, 0x77, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // modelView.u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x00, 0x75, 0x5f, 0x6d, 0x6f, 0x64, 0x65, // lViewProj.u_mode + 0x6c, 0x56, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x58, 0x00, 0x75, 0x5f, 0x76, 0x69, 0x65, // lViewProjX.u_vie + 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x58, 0x00, 0x75, 0x5f, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x52, 0x65, // wProjX.u_alphaRe + 0x66, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // f............... + 0x00, 0x00, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x28, 0x52, 0x29, 0x20, // ..Microsoft (R) + 0x48, 0x4c, 0x53, 0x4c, 0x20, 0x53, 0x68, 0x61, 0x64, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6d, 0x70, // HLSL Shader Comp + 0x69, 0x6c, 0x65, 0x72, 0x20, 0x39, 0x2e, 0x32, 0x39, 0x2e, 0x39, 0x35, 0x32, 0x2e, 0x33, 0x31, // iler 9.29.952.31 + 0x31, 0x31, 0x00, 0xab, 0xab, 0xab, 0x49, 0x53, 0x47, 0x4e, 0x68, 0x00, 0x00, 0x00, 0x03, 0x00, // 11....ISGNh..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......P......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00, 0x00, 0x56, 0x00, // ..............V. + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......_......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00, 0x43, 0x4f, // ..............CO + 0x4c, 0x4f, 0x52, 0x00, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x54, 0x45, 0x58, // LOR.POSITION.TEX + 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0x4f, 0x53, 0x47, 0x4e, 0x6c, 0x00, 0x00, 0x00, 0x03, 0x00, // COORD.OSGNl..... + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ......P......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x5c, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, // ................ + 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ......b......... + 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x0c, 0x00, 0x00, 0x53, 0x56, // ..............SV + 0x5f, 0x50, 0x4f, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x00, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x00, // _POSITION.COLOR. + 0x54, 0x45, 0x58, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x00, 0xab, 0x53, 0x48, 0x44, 0x52, 0x00, 0x01, // TEXCOORD..SHDR.. + 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0x40, 0x00, 0x00, 0x00, 0x59, 0x00, 0x00, 0x04, 0x46, 0x8e, // ..@...@...Y...F. + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0xf2, 0x10, // ........._..... + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x01, 0x00, // ......_...2..... + 0x00, 0x00, 0x5f, 0x00, 0x00, 0x03, 0x32, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x67, 0x00, // .._...2.......g. + 0x00, 0x04, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, // ... ..........e. + 0x00, 0x03, 0xf2, 0x20, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x65, 0x00, 0x00, 0x03, 0x32, 0x20, // ... ......e...2 + 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, // ......h.......8. + 0x00, 0x08, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x15, 0x10, 0x00, 0x01, 0x00, // ..........V..... + 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x32, 0x00, // ..F. .........2. + 0x00, 0x0a, 0xf2, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, // ..........F. ... + 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x10, 0x10, 0x00, 0x01, 0x00, 0x00, 0x00, 0x46, 0x0e, // ..............F. + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xf2, 0x20, 0x10, 0x00, 0x00, 0x00, // ........... .... + 0x00, 0x00, 0x46, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x8e, 0x20, 0x00, 0x00, 0x00, // ..F.......F. ... + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0xf2, 0x20, 0x10, 0x00, 0x01, 0x00, // ......6.... .... + 0x00, 0x00, 0x46, 0x1e, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x05, 0x32, 0x20, // ..F.......6...2 + 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x46, 0x10, 0x10, 0x00, 0x02, 0x00, 0x00, 0x00, 0x3e, 0x00, // ......F.......>. + 0x00, 0x01, 0x53, 0x54, 0x41, 0x54, 0x74, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x01, 0x00, // ..STATt......... + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ................ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ............... +}; +static const uint8_t vs_imgui_texture_glsl[404] = +{ + 0x56, 0x53, 0x48, 0x01, 0x01, 0x83, 0xf2, 0xe1, 0x23, 0x69, 0x66, 0x64, 0x65, 0x66, 0x20, 0x47, // VSH.....#ifdef G + 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x70, 0x72, 0x65, 0x63, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x68, // L_ES.precision h + 0x69, 0x67, 0x68, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x3b, 0x0a, 0x23, 0x65, 0x6e, 0x64, // ighp float;.#end + 0x69, 0x66, 0x20, 0x2f, 0x2f, 0x20, 0x47, 0x4c, 0x5f, 0x45, 0x53, 0x0a, 0x0a, 0x75, 0x6e, 0x69, // if // GL_ES..uni + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6d, 0x61, 0x74, 0x34, 0x20, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, // form mat4 u_view + 0x50, 0x72, 0x6f, 0x6a, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, // Proj;.varying ve + 0x63, 0x32, 0x20, 0x76, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, // c2 v_texcoord0;. + 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x76, 0x5f, 0x63, // varying vec4 v_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, // olor0;.attribute + 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x61, 0x5f, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, // vec2 a_texcoord + 0x30, 0x3b, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, // 0;.attribute vec + 0x32, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x3b, 0x0a, 0x61, 0x74, // 2 a_position;.at + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x61, 0x5f, 0x63, // tribute vec4 a_c + 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, // olor0;.void main + 0x20, 0x28, 0x29, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x74, 0x6d, 0x70, // ().{. vec4 tmp + 0x76, 0x61, 0x72, 0x5f, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // var_1;. tmpvar_ + 0x31, 0x2e, 0x7a, 0x77, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x30, 0x2e, 0x30, 0x2c, // 1.zw = vec2(0.0, + 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, // 1.0);. tmpvar_ + 0x31, 0x2e, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, // 1.xy = a_positio + 0x6e, 0x3b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, // n;. gl_Position + 0x20, 0x3d, 0x20, 0x28, 0x75, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x50, 0x72, 0x6f, 0x6a, 0x20, 0x2a, // = (u_viewProj * + 0x20, 0x74, 0x6d, 0x70, 0x76, 0x61, 0x72, 0x5f, 0x31, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, // tmpvar_1);. v_ + 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x74, 0x65, // texcoord0 = a_te + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x76, 0x5f, 0x63, 0x6f, 0x6c, // xcoord0;. v_col + 0x6f, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x30, 0x3b, 0x0a, // or0 = a_color0;. + 0x7d, 0x0a, 0x0a, 0x00, // }... +}; diff --git a/examples/common/imgui/vs_imgui_texture.sc b/examples/common/imgui/vs_imgui_texture.sc new file mode 100644 index 00000000..193f6db7 --- /dev/null +++ b/examples/common/imgui/vs_imgui_texture.sc @@ -0,0 +1,16 @@ +$input a_position, a_texcoord0, a_color0 +$output v_texcoord0, v_color0 + +/* + * Copyright 2011-2013 Branimir Karadzic. All rights reserved. + * License: http://www.opensource.org/licenses/BSD-2-Clause + */ + +#include + +void main() +{ + gl_Position = mul(u_viewProj, vec4(a_position.xy, 0.0, 1.0) ); + v_texcoord0 = a_texcoord0; + v_color0 = a_color0; +} diff --git a/examples/common/processevents.h b/examples/common/processevents.h index 183f6f72..3b2e59a6 100644 --- a/examples/common/processevents.h +++ b/examples/common/processevents.h @@ -6,7 +6,14 @@ #ifndef __PROCESS_EVENTS_H__ #define __PROCESS_EVENTS_H__ -inline bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug, uint32_t& _reset) +struct MouseState +{ + uint32_t m_mx; + uint32_t m_my; + uint8_t m_buttons[entry::MouseButton::Count]; +}; + +inline bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug, uint32_t& _reset, MouseState* _mouse = NULL) { using namespace entry; @@ -26,11 +33,18 @@ inline bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug, return true; case Event::Mouse: + if (NULL != _mouse) { -// const MouseEvent* mouse = static_cast(ev); -// if (mouse->m_move) -// { -// } + const MouseEvent* mouse = static_cast(ev); + if (mouse->m_move) + { + _mouse->m_mx = mouse->m_mx; + _mouse->m_my = mouse->m_my; + } + else + { + _mouse->m_buttons[mouse->m_button] = mouse->m_down; + } } break; diff --git a/premake/premake4.lua b/premake/premake4.lua index f75839c7..3f380921 100644 --- a/premake/premake4.lua +++ b/premake/premake4.lua @@ -46,6 +46,7 @@ function exampleProject(_name, _uuid) includedirs { BX_DIR .. "include", BGFX_DIR .. "include", + BGFX_DIR .. "3rdparty", } files { From 872b25b4474fc053b081ce0b98aefa81bc284195 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 21:40:54 -0700 Subject: [PATCH 07/31] Added imgui parameter tweaker to HDR example. --- examples/09-hdr/hdr.cpp | 55 ++++++++++++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/examples/09-hdr/hdr.cpp b/examples/09-hdr/hdr.cpp index 04cadf4e..1f289372 100644 --- a/examples/09-hdr/hdr.cpp +++ b/examples/09-hdr/hdr.cpp @@ -12,6 +12,7 @@ #include "../common/dbg.h" #include "../common/math.h" #include "../common/processevents.h" +#include "../common/imgui/imgui.h" #include #include @@ -493,10 +494,32 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::RenderTargetHandle blur; blur = bgfx::createRenderTarget(width/8, height/8, BGFX_RENDER_TARGET_COLOR_RGBA8); + FILE* file = fopen("font/droidsans.ttf", "rb"); + uint32_t size = (uint32_t)fsize(file); + void* data = malloc(size); + size_t ignore = fread(data, 1, size, file); + BX_UNUSED(ignore); + fclose(file); + + imguiCreate(data, size); + + free(data); + + float speed = 0.37f; + float middleGray = 0.18f; + float white = 1.1f; + float treshold = 1.5f; + + int32_t scrollArea = 0; + uint32_t oldWidth = 0; uint32_t oldHeight = 0; - while (!processEvents(width, height, debug, reset) ) + MouseState mouseState; + + float time = 0.0f; + + while (!processEvents(width, height, debug, reset, &mouseState) ) { if (oldWidth != width || oldHeight != height) @@ -513,6 +536,28 @@ int _main_(int /*_argc*/, char** /*_argv*/) blur = bgfx::createRenderTarget(width/8, height/8, BGFX_RENDER_TARGET_COLOR_RGBA8); } + imguiBeginFrame(mouseState.m_mx + , mouseState.m_my + , (mouseState.m_buttons[entry::MouseButton::Left ] ? IMGUI_MBUT_LEFT : 0) + | (mouseState.m_buttons[entry::MouseButton::Right ] ? IMGUI_MBUT_RIGHT : 0) + , 0 + , width + , height + ); + + imguiBeginScrollArea("Settings", width - width / 5 - 10, 10, width / 5, height / 3, &scrollArea); + imguiSeparatorLine(); + + imguiSlider("Speed", &speed, 0.0f, 1.0f, 0.01f); + imguiSeparator(); + + imguiSlider("Middle gray", &middleGray, 0.1f, 1.0f, 0.01f); + imguiSlider("White point", &white, 0.1f, 2.0f, 0.01f); + imguiSlider("Treshold", &treshold, 0.1f, 2.0f, 0.01f); + + imguiEndScrollArea(); + imguiEndFrame(); + // This dummy draw call is here to make sure that view 0 is cleared // if no other draw calls are submitted to view 0. bgfx::submit(0); @@ -524,7 +569,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; - float time = (float)(now/freq); + time += (float)(frameTime*speed/freq); bgfx::setUniform(u_time, &time); @@ -588,7 +633,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) float mtx[16]; mtxRotateXY(mtx , 0.0f - , time*0.37f + , time ); float temp[4]; @@ -653,7 +698,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) screenSpaceQuad(1.0f, 1.0f, s_flipV); bgfx::submit(6); - float tonemap[4] = { 0.18f, square(1.1f), 1.5f, 0.0f }; + float tonemap[4] = { middleGray, square(white), treshold, 0.0f }; bgfx::setUniform(u_tonemap, tonemap); // Bright pass treshold is tonemap[3]. @@ -686,6 +731,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::frame(); } + imguiDestroy(); + // Cleanup. mesh.unload(); From 6403d9b5a6968719eefbd9c9d33c62a9df0e7f5e Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 22:03:04 -0700 Subject: [PATCH 08/31] Fixed GCC warnings. --- 3rdparty/stb_truetype/stb_truetype.h | 3 +-- examples/09-hdr/hdr.cpp | 1 - examples/common/processevents.h | 6 ++++++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/3rdparty/stb_truetype/stb_truetype.h b/3rdparty/stb_truetype/stb_truetype.h index 9f07124a..2db3ce0e 100644 --- a/3rdparty/stb_truetype/stb_truetype.h +++ b/3rdparty/stb_truetype/stb_truetype.h @@ -915,7 +915,6 @@ int stbtt_FindGlyphIndex(const stbtt_fontinfo *info, int unicode_codepoint) // now decrement to bias correctly to find smallest search -= 2; while (entrySelector) { - stbtt_uint16 start, end; searchRange >>= 1; start = ttUSHORT(data + search + 2 + segcount*2 + 2); end = ttUSHORT(data + search + 2); @@ -2062,4 +2061,4 @@ int stbtt_FindMatchingFont(const unsigned char *font_collection, const char *nam } } -#endif // STB_TRUETYPE_IMPLEMENTATION \ No newline at end of file +#endif // STB_TRUETYPE_IMPLEMENTATION diff --git a/examples/09-hdr/hdr.cpp b/examples/09-hdr/hdr.cpp index 1f289372..fcb6f74c 100644 --- a/examples/09-hdr/hdr.cpp +++ b/examples/09-hdr/hdr.cpp @@ -14,7 +14,6 @@ #include "../common/processevents.h" #include "../common/imgui/imgui.h" -#include #include #include #include diff --git a/examples/common/processevents.h b/examples/common/processevents.h index 3b2e59a6..3228e9f2 100644 --- a/examples/common/processevents.h +++ b/examples/common/processevents.h @@ -8,6 +8,12 @@ struct MouseState { + MouseState() + : m_mx(0) + , m_my(0) + { + } + uint32_t m_mx; uint32_t m_my; uint8_t m_buttons[entry::MouseButton::Count]; From 047eca582925d00a15bd5b994ec7542e98eaafea Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Wed, 24 Apr 2013 23:42:20 -0700 Subject: [PATCH 09/31] Cleanup. --- examples/09-hdr/hdr.cpp | 12 +-- examples/common/imgui/imgui.cpp | 176 +++++++++++++++++++++++++++----- 2 files changed, 154 insertions(+), 34 deletions(-) diff --git a/examples/09-hdr/hdr.cpp b/examples/09-hdr/hdr.cpp index fcb6f74c..17496498 100644 --- a/examples/09-hdr/hdr.cpp +++ b/examples/09-hdr/hdr.cpp @@ -257,12 +257,12 @@ struct Mesh // Set render states. bgfx::setState(0 - |BGFX_STATE_RGB_WRITE - |BGFX_STATE_ALPHA_WRITE - |BGFX_STATE_DEPTH_WRITE - |BGFX_STATE_DEPTH_TEST_LESS - |BGFX_STATE_CULL_CCW - |BGFX_STATE_MSAA + | BGFX_STATE_RGB_WRITE + | BGFX_STATE_ALPHA_WRITE + | BGFX_STATE_DEPTH_WRITE + | BGFX_STATE_DEPTH_TEST_LESS + | BGFX_STATE_CULL_CCW + | BGFX_STATE_MSAA ); // Submit primitive for rendering to view 0. diff --git a/examples/common/imgui/imgui.cpp b/examples/common/imgui/imgui.cpp index 2b80c75e..91f1d00d 100644 --- a/examples/common/imgui/imgui.cpp +++ b/examples/common/imgui/imgui.cpp @@ -386,8 +386,20 @@ struct Imgui m_insideScrollArea = inRect(_x, _y, _width, _height, false); m_insideCurrentScroll = m_insideScrollArea; - drawRoundedRect( (float)_x, (float)_y, (float)_width, (float)_height, 6, imguiRGBA(0, 0, 0, 192) ); - drawText(_x + AREA_HEADER / 2, _y + AREA_HEADER / 2, IMGUI_ALIGN_LEFT, _name, imguiRGBA(255, 255, 255, 128) ); + drawRoundedRect( (float)_x + , (float)_y + , (float)_width + , (float)_height + , 6 + , imguiRGBA(0, 0, 0, 192) + ); + + drawText(_x + AREA_HEADER / 2 + , _y + AREA_HEADER / 2 + , IMGUI_ALIGN_LEFT + , _name + , imguiRGBA(255, 255, 255, 128) + ); // setScissor(_x + SCROLL_AREA_PADDING, _y + SCROLL_AREA_PADDING, _width - SCROLL_AREA_PADDING * 4, _height - AREA_HEADER - SCROLL_AREA_PADDING); @@ -461,15 +473,34 @@ struct Imgui } // BG - drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, (float)width / 2 - 1, imguiRGBA(0, 0, 0, 196) ); + drawRoundedRect( (float)xx + , (float)yy + , (float)width + , (float)height + , (float)width / 2 - 1 + , imguiRGBA(0, 0, 0, 196) + ); + // Bar if (isActive(hid) ) { - drawRoundedRect( (float)hx, (float)hy, (float)hw, (float)hh, (float)width / 2 - 1, imguiRGBA(255, 196, 0, 196) ); + drawRoundedRect( (float)hx + , (float)hy + , (float)hw + , (float)hh + , (float)width / 2 - 1 + , imguiRGBA(255, 196, 0, 196) + ); } else { - drawRoundedRect( (float)hx, (float)hy, (float)hw, (float)hh, (float)width / 2 - 1, isHot(hid) ? imguiRGBA(255, 196, 0, 96) : imguiRGBA(255, 255, 255, 64) ); + drawRoundedRect( (float)hx + , (float)hy + , (float)hw + , (float)hh + , (float)width / 2 - 1 + , isHot(hid) ? imguiRGBA(255, 196, 0, 96) : imguiRGBA(255, 255, 255, 64) + ); } // Handle mouse scrolling. @@ -508,14 +539,31 @@ struct Imgui bool over = _enabled && inRect(xx, yy, width, height); bool res = buttonLogic(id, over); - drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, (float)BUTTON_HEIGHT / 2 - 1, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) ); + drawRoundedRect( (float)xx + , (float)yy + , (float)width + , (float)height + , (float)BUTTON_HEIGHT / 2 - 1 + , imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) + ); + if (_enabled) { - drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + drawText(xx + BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) + ); } else { - drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + drawText(xx + BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(128, 128, 128, 200) + ); } return res; @@ -537,16 +585,32 @@ struct Imgui if (isHot(id) ) { - drawRoundedRect( (float)xx, (float)yy, (float)width, (float)height, 2.0f, imguiRGBA(255, 196, 0, isActive(id) ? 196 : 96) ); + drawRoundedRect( (float)xx + , (float)yy + , (float)width + , (float)height + , 2.0f + , imguiRGBA(255, 196, 0, isActive(id) ? 196 : 96) + ); } if (_enabled) { - drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(255, 255, 255, 200) ); + drawText(xx + BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(255, 255, 255, 200) + ); } else { - drawText(xx + BUTTON_HEIGHT / 2, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + drawText(xx + BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(128, 128, 128, 200) + ); } return res; @@ -568,26 +632,55 @@ struct Imgui const int32_t cx = xx + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; const int32_t cy = yy + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; - drawRoundedRect( (float)cx - 3, (float)cy - 3, (float)CHECK_SIZE + 6, (float)CHECK_SIZE + 6, 4, imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) ); + drawRoundedRect( (float)cx - 3 + , (float)cy - 3 + , (float)CHECK_SIZE + 6 + , (float)CHECK_SIZE + 6 + , 4 + , imguiRGBA(128, 128, 128, isActive(id) ? 196 : 96) + ); + if (_checked) { if (_enabled) { - drawRoundedRect( (float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + drawRoundedRect( (float)cx + , (float)cy + , (float)CHECK_SIZE + , (float)CHECK_SIZE + , (float)CHECK_SIZE / 2 - 1 + , imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) + ); } else { - drawRoundedRect( (float)cx, (float)cy, (float)CHECK_SIZE, (float)CHECK_SIZE, (float)CHECK_SIZE / 2 - 1, imguiRGBA(128, 128, 128, 200) ); + drawRoundedRect( (float)cx + , (float)cy + , (float)CHECK_SIZE + , (float)CHECK_SIZE + , (float)CHECK_SIZE / 2 - 1 + , imguiRGBA(128, 128, 128, 200) + ); } } if (_enabled) { - drawText(xx + BUTTON_HEIGHT, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + drawText(xx + BUTTON_HEIGHT + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) + ); } else { - drawText(xx + BUTTON_HEIGHT, yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + drawText(xx + BUTTON_HEIGHT + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(128, 128, 128, 200) + ); } return res; @@ -598,39 +691,66 @@ struct Imgui m_widgetId++; uint32_t id = (m_areaId << 16) | m_widgetId; - int32_t x = m_widgetX; - int32_t y = m_widgetY; - int32_t w = m_widgetW; - int32_t h = BUTTON_HEIGHT; + int32_t xx = m_widgetX; + int32_t yy = m_widgetY; + int32_t width = m_widgetW; + int32_t height = BUTTON_HEIGHT; m_widgetY += BUTTON_HEIGHT + DEFAULT_SPACING; - const int32_t cx = x + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; - const int32_t cy = y + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + const int32_t cx = xx + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; + const int32_t cy = yy + BUTTON_HEIGHT / 2 - CHECK_SIZE / 2; - bool over = _enabled && inRect(x, y, w, h); + bool over = _enabled && inRect(xx, yy, width, height); bool res = buttonLogic(id, over); if (_checked) { - drawTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 2, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + drawTriangle(cx + , cy + , CHECK_SIZE + , CHECK_SIZE + , 2 + , imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) + ); } else { - drawTriangle(cx, cy, CHECK_SIZE, CHECK_SIZE, 1, imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) ); + drawTriangle(cx + , cy + , CHECK_SIZE + , CHECK_SIZE + , 1 + , imguiRGBA(255, 255, 255, isActive(id) ? 255 : 200) + ); } if (_enabled) { - drawText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) ); + drawText(xx + BUTTON_HEIGHT + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , isHot(id) ? imguiRGBA(255, 196, 0, 255) : imguiRGBA(255, 255, 255, 200) + ); } else { - drawText(x + BUTTON_HEIGHT, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_LEFT, _text, imguiRGBA(128, 128, 128, 200) ); + drawText(xx + BUTTON_HEIGHT + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_LEFT + , _text + , imguiRGBA(128, 128, 128, 200) + ); } if (_subtext) { - drawText(x + w - BUTTON_HEIGHT / 2, y + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2, IMGUI_ALIGN_RIGHT, _subtext, imguiRGBA(255, 255, 255, 128) ); + drawText(xx + width - BUTTON_HEIGHT / 2 + , yy + BUTTON_HEIGHT / 2 + TEXT_HEIGHT / 2 + , IMGUI_ALIGN_RIGHT + , _subtext + , imguiRGBA(255, 255, 255, 128) + ); } return res; From 52079f1d49478102f7bcce94c50902b5519c8d22 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Thu, 25 Apr 2013 23:30:56 -0700 Subject: [PATCH 10/31] Removed time offset from bx. Let app #dealwithit. --- examples/03-raymarch/raymarch.cpp | 4 +++- examples/04-mesh/mesh.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/03-raymarch/raymarch.cpp b/examples/03-raymarch/raymarch.cpp index e1b1c842..927c4e44 100644 --- a/examples/03-raymarch/raymarch.cpp +++ b/examples/03-raymarch/raymarch.cpp @@ -232,6 +232,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::ProgramHandle raymarching = loadProgram("vs_raymarching", "fs_raymarching"); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -274,7 +276,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Set view and projection matrix for view 0. bgfx::setViewTransform(1, NULL, ortho); - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); + float time = (float)( (bx::getHPCounter()-timeOffset)/double(bx::getHPFrequency() ) ); float vp[16]; mtxMul(vp, view, proj); diff --git a/examples/04-mesh/mesh.cpp b/examples/04-mesh/mesh.cpp index 37b77bd9..e4b4aa5c 100644 --- a/examples/04-mesh/mesh.cpp +++ b/examples/04-mesh/mesh.cpp @@ -331,6 +331,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) Mesh mesh; mesh.load("meshes/bunny.bin"); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -346,7 +348,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) last = now; const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); + float time = (float)( (bx::getHPCounter()-timeOffset)/double(bx::getHPFrequency() ) ); bgfx::setUniform(u_time, &time); // Use debug font to print information about this example. From 8711d3d3a342bc58b9876eb116f1640660c2dbbb Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Fri, 26 Apr 2013 23:43:31 -0700 Subject: [PATCH 11/31] GLX: added swap interval. --- src/glcontext_glx.cpp | 30 +++++++++++++++++++++++++++--- src/glcontext_wgl.cpp | 29 ++--------------------------- src/renderer_gl.cpp | 30 ++++++++++++++++++++++++++++++ src/renderer_gl.h | 4 +++- 4 files changed, 62 insertions(+), 31 deletions(-) diff --git a/src/glcontext_glx.cpp b/src/glcontext_glx.cpp index ab1b68cd..d67a3581 100644 --- a/src/glcontext_glx.cpp +++ b/src/glcontext_glx.cpp @@ -7,6 +7,8 @@ #if (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) # include "renderer_gl.h" +# define GLX_GLXEXT_PROTOTYPES +# include # if BX_PLATFORM_LINUX @@ -39,6 +41,12 @@ namespace bgfx , minor ); + int32_t screen = DefaultScreen(s_display); + + const char* extensions = glXQueryExtensionsString(s_display, screen); + BX_TRACE("GLX extensions:"); + dumpExtensions(extensions); + const int attrsGlx[] = { GLX_RENDER_TYPE, GLX_RGBA_BIT, @@ -57,7 +65,7 @@ namespace bgfx GLXFBConfig bestConfig = NULL; int numConfigs; - GLXFBConfig* configs = glXChooseFBConfig(s_display, DefaultScreen(s_display), attrsGlx, &numConfigs); + GLXFBConfig* configs = glXChooseFBConfig(s_display, screen, attrsGlx, &numConfigs); BX_TRACE("glX num configs %d", numConfigs); @@ -113,8 +121,7 @@ namespace bgfx XFree(visualInfo); #if BGFX_CONFIG_RENDERER_OPENGL >= 31 - typedef GLXContext (*glXCreateContextAttribsARBProc)(Display*, GLXFBConfig, GLXContext, Bool, const int*); - glXCreateContextAttribsARBProc glXCreateContextAttribsARB = (glXCreateContextAttribsARBProc)glXGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB"); + PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress( (const GLubyte*)"glXCreateContextAttribsARB"); if (NULL != glXCreateContextAttribsARB) { BX_TRACE("Create GL 3.1 context."); @@ -142,7 +149,24 @@ namespace bgfx import(); + PFNGLXSWAPINTERVALEXTPROC glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalEXT"); + if (NULL != glXSwapIntervalEXT) + { + BX_TRACE("Using glXSwapIntervalEXT."); + glXSwapIntervalEXT(s_display, 0, 0); + } + else + { + PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalSGI"); + if (NULL != glXSwapIntervalSGI) + { + BX_TRACE("Using glXSwapIntervalSGI."); + glXSwapIntervalSGI(0); + } + } + glXMakeCurrent(s_display, s_window, m_context); + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glXSwapBuffers(s_display, s_window); diff --git a/src/glcontext_wgl.cpp b/src/glcontext_wgl.cpp index ea3a36b6..d46c9728 100644 --- a/src/glcontext_wgl.cpp +++ b/src/glcontext_wgl.cpp @@ -120,34 +120,9 @@ namespace bgfx if (NULL != wglGetExtensionsStringARB) { - BX_TRACE("WGL extensions:"); const char* extensions = (const char*)wglGetExtensionsStringARB(hdc); - if (NULL != extensions) - { - char name[1024]; - const char* pos = extensions; - const char* end = extensions + strlen(extensions); - while (pos < end) - { - uint32_t len; - const char* space = strchr(pos, ' '); - if (NULL != space) - { - len = uint32_min(sizeof(name), (uint32_t)(space - pos) ); - } - else - { - len = uint32_min(sizeof(name), (uint32_t)strlen(pos) ); - } - - strncpy(name, pos, len); - name[len] = '\0'; - - BX_TRACE("\t%s", name); - - pos += len+1; - } - } + BX_TRACE("WGL extensions:"); + dumpExtensions(extensions); } if (NULL != wglChoosePixelFormatARB diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index af289129..c1abfe0b 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -186,6 +186,36 @@ namespace bgfx return 0; } + void dumpExtensions(const char* _extensions) + { + if (NULL != _extensions) + { + char name[1024]; + const char* pos = _extensions; + const char* end = _extensions + strlen(_extensions); + while (pos < end) + { + uint32_t len; + const char* space = strchr(pos, ' '); + if (NULL != space) + { + len = uint32_min(sizeof(name), (uint32_t)(space - pos) ); + } + else + { + len = uint32_min(sizeof(name), (uint32_t)strlen(pos) ); + } + + strncpy(name, pos, len); + name[len] = '\0'; + + BX_TRACE("\t%s", name); + + pos += len+1; + } + } + } + #if BGFX_CONFIG_RENDERER_OPENGL const char* toString(GLenum _enum) { diff --git a/src/renderer_gl.h b/src/renderer_gl.h index b5a7d016..0fc13b2f 100755 --- a/src/renderer_gl.h +++ b/src/renderer_gl.h @@ -280,7 +280,9 @@ namespace bgfx #define GL_IMPORT(_optional, _proto, _func) extern _proto _func #include "glimports.h" #undef GL_IMPORT - + + void dumpExtensions(const char* _extensions); + class ConstantBuffer; class VaoCache From 9780828b988be1efcbe5e85ef950f23afcadc23f Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 00:11:23 -0700 Subject: [PATCH 12/31] Fixing update time. --- examples/01-cubes/cubes.cpp | 6 ++++-- examples/06-bump/bump.cpp | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/examples/01-cubes/cubes.cpp b/examples/01-cubes/cubes.cpp index 2d633106..7a788341 100644 --- a/examples/01-cubes/cubes.cpp +++ b/examples/01-cubes/cubes.cpp @@ -183,6 +183,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -199,14 +201,14 @@ int _main_(int /*_argc*/, char** /*_argv*/) const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; + float time = (float)( (now-timeOffset)/double(bx::getHPFrequency() ) ); + // Use debug font to print information about this example. bgfx::dbgTextClear(); bgfx::dbgTextPrintf(0, 1, 0x4f, "bgfx/examples/01-cube"); bgfx::dbgTextPrintf(0, 2, 0x6f, "Description: Rendering simple static mesh."); bgfx::dbgTextPrintf(0, 3, 0x0f, "Frame: % 7.3f[ms]", double(frameTime)*toMs); - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); - // Submit 11x11 cubes. for (uint32_t yy = 0; yy < 11; ++yy) { diff --git a/examples/06-bump/bump.cpp b/examples/06-bump/bump.cpp index 1e5175f3..d77e9a1a 100644 --- a/examples/06-bump/bump.cpp +++ b/examples/06-bump/bump.cpp @@ -348,6 +348,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) mem = loadTexture("fieldstone-n.dds"); bgfx::TextureHandle textureNormal = bgfx::createTexture(mem); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -364,7 +366,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; - float time = (float)(now/freq); + float time = (float)( (now-timeOffset)/freq); // Use debug font to print information about this example. bgfx::dbgTextClear(); From 3686725fef1b1c0cea9592525e4fdc24dc9ac780 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 12:43:18 -0700 Subject: [PATCH 13/31] Fixing update time. --- examples/02-metaballs/metaballs.cpp | 5 +++-- examples/05-instancing/instancing.cpp | 5 +++-- examples/08-update/update.cpp | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/examples/02-metaballs/metaballs.cpp b/examples/02-metaballs/metaballs.cpp index 60dc8a94..2d1ff7c7 100644 --- a/examples/02-metaballs/metaballs.cpp +++ b/examples/02-metaballs/metaballs.cpp @@ -572,6 +572,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) const uint32_t zpitch = DIMS*DIMS; const float invdim = 1.0f/float(DIMS-1); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -587,6 +589,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) last = now; const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; + float time = (float)( (now - timeOffset)/double(bx::getHPFrequency() ) ); // Use debug font to print information about this example. bgfx::dbgTextClear(); @@ -604,8 +607,6 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); - // Stats. uint32_t numVertices = 0; int64_t profUpdate = 0; diff --git a/examples/05-instancing/instancing.cpp b/examples/05-instancing/instancing.cpp index 379cafbe..16daffeb 100644 --- a/examples/05-instancing/instancing.cpp +++ b/examples/05-instancing/instancing.cpp @@ -172,6 +172,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) bgfx::destroyVertexShader(vsh); bgfx::destroyFragmentShader(fsh); + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -187,6 +189,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) last = now; const double freq = double(bx::getHPFrequency() ); const double toMs = 1000.0/freq; + float time = (float)( (now - timeOffset)/double(bx::getHPFrequency() ) ); // Use debug font to print information about this example. bgfx::dbgTextClear(); @@ -205,8 +208,6 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); - const uint16_t instanceStride = 80; const bgfx::InstanceDataBuffer* idb = bgfx::allocInstanceDataBuffer(121, instanceStride); if (NULL != idb) diff --git a/examples/08-update/update.cpp b/examples/08-update/update.cpp index c979bbd7..a6ec145e 100644 --- a/examples/08-update/update.cpp +++ b/examples/08-update/update.cpp @@ -228,6 +228,8 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t miss = 0; std::list quads; + int64_t timeOffset = bx::getHPCounter(); + while (!processEvents(width, height, debug, reset) ) { // Set view 0 default viewport. @@ -243,6 +245,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) last = now; const int64_t freq = bx::getHPFrequency(); const double toMs = 1000.0/double(freq); + float time = (float)( (now - timeOffset)/double(bx::getHPFrequency() ) ); // Use debug font to print information about this example. bgfx::dbgTextClear(); @@ -310,8 +313,6 @@ int _main_(int /*_argc*/, char** /*_argv*/) // Set view and projection matrix for view 0. bgfx::setViewTransform(0, view, proj); - float time = (float)(bx::getHPCounter()/double(bx::getHPFrequency() ) ); - float mtx[16]; mtxRotateXY(mtx, time, time*0.37f); From 3ed331220f0545f441d4409bf73b6e603eb0e536 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 13:30:35 -0700 Subject: [PATCH 14/31] Cleanup. --- src/glcontext_glx.cpp | 8 ++------ src/glcontext_ppapi.cpp | 7 ++----- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/src/glcontext_glx.cpp b/src/glcontext_glx.cpp index d67a3581..04f0f930 100644 --- a/src/glcontext_glx.cpp +++ b/src/glcontext_glx.cpp @@ -5,13 +5,11 @@ #include "bgfx_p.h" -#if (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) +#if BX_PLATFORM_LINUX & (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) # include "renderer_gl.h" # define GLX_GLXEXT_PROTOTYPES # include -# if BX_PLATFORM_LINUX - namespace bgfx { # define GL_IMPORT(_optional, _proto, _func) _proto _func @@ -201,6 +199,4 @@ namespace bgfx } // namespace bgfx -# endif // BX_PLATFORM_LINUX -#endif // (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) - +#endif // BX_PLATFORM_LINUX & (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) diff --git a/src/glcontext_ppapi.cpp b/src/glcontext_ppapi.cpp index e5c61027..e6be1983 100644 --- a/src/glcontext_ppapi.cpp +++ b/src/glcontext_ppapi.cpp @@ -5,11 +5,9 @@ #include "bgfx_p.h" -#if (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) +#if BX_PLATFORM_NACL & (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) # include "renderer_gl.h" -# if BX_PLATFORM_NACL - namespace bgfx { # define GL_IMPORT(_optional, _proto, _func) _proto _func @@ -65,5 +63,4 @@ namespace bgfx } } // namespace bgfx -# endif // BX_PLATFORM_NACL -#endif // (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) +#endif // BX_PLATFORM_NACL & (BGFX_CONFIG_RENDERER_OPENGLES2|BGFX_CONFIG_RENDERER_OPENGLES3|BGFX_CONFIG_RENDERER_OPENGL) From 2ef508139f35edfeffb320685acf99b796c360e7 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 15:16:05 -0700 Subject: [PATCH 15/31] GL/GLES: vsync. --- examples/common/processevents.h | 5 +++++ src/glcontext_egl.cpp | 5 ++++- src/glcontext_egl.h | 2 +- src/glcontext_glx.cpp | 22 ++++++++++++++++++---- src/glcontext_glx.h | 2 +- src/glcontext_nsgl.h | 2 +- src/glcontext_ppapi.cpp | 2 +- src/glcontext_ppapi.h | 2 +- src/glcontext_wgl.cpp | 6 +++++- src/glcontext_wgl.h | 2 +- src/renderer_gl.cpp | 7 ++++--- 11 files changed, 42 insertions(+), 15 deletions(-) diff --git a/examples/common/processevents.h b/examples/common/processevents.h index 3228e9f2..540e00b7 100644 --- a/examples/common/processevents.h +++ b/examples/common/processevents.h @@ -70,6 +70,11 @@ inline bool processEvents(uint32_t& _width, uint32_t& _height, uint32_t& _debug, bgfx::setDebug(_debug); return false; } + else if (key->m_key == Key::F7) + { + _reset ^= BGFX_RESET_VSYNC; + reset = true; + } else if (key->m_key == Key::F8) { _reset ^= BGFX_RESET_MSAA_X16; diff --git a/src/glcontext_egl.cpp b/src/glcontext_egl.cpp index 92c93d55..a66b23ab 100644 --- a/src/glcontext_egl.cpp +++ b/src/glcontext_egl.cpp @@ -77,6 +77,8 @@ namespace bgfx success = eglMakeCurrent(m_display, m_surface, m_surface, m_context); BGFX_FATAL(success, Fatal::UnableToInitialize, "Failed to set context."); + eglSwapInterval(m_display, 0); + # if BX_PLATFORM_EMSCRIPTEN emscripten_set_canvas_size(_width, _height); # endif // BX_PLATFORM_EMSCRIPTEN @@ -93,8 +95,9 @@ namespace bgfx m_context = NULL; } - void GlContext::resize(uint32_t /*_width*/, uint32_t /*_height*/) + void GlContext::resize(uint32_t /*_width*/, uint32_t /*_height*/, bool _vsync) { + eglSwapInterval(m_display, _vsync ? 1 : 0); } void GlContext::swap() diff --git a/src/glcontext_egl.h b/src/glcontext_egl.h index 1fe35748..73cc0337 100644 --- a/src/glcontext_egl.h +++ b/src/glcontext_egl.h @@ -23,7 +23,7 @@ namespace bgfx void create(uint32_t _width, uint32_t _height); void destroy(); - void resize(uint32_t _width, uint32_t _height); + void resize(uint32_t _width, uint32_t _height, bool _vsync); void swap(); void import(); diff --git a/src/glcontext_glx.cpp b/src/glcontext_glx.cpp index 04f0f930..2874b5e0 100644 --- a/src/glcontext_glx.cpp +++ b/src/glcontext_glx.cpp @@ -12,6 +12,10 @@ namespace bgfx { + PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB; + PFNGLXSWAPINTERVALEXTPROC glXSwapIntervalEXT; + PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI; + # define GL_IMPORT(_optional, _proto, _func) _proto _func # include "glimports.h" # undef GL_IMPORT @@ -119,7 +123,7 @@ namespace bgfx XFree(visualInfo); #if BGFX_CONFIG_RENDERER_OPENGL >= 31 - PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress( (const GLubyte*)"glXCreateContextAttribsARB"); + glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC)glXGetProcAddress( (const GLubyte*)"glXCreateContextAttribsARB"); if (NULL != glXCreateContextAttribsARB) { BX_TRACE("Create GL 3.1 context."); @@ -147,7 +151,7 @@ namespace bgfx import(); - PFNGLXSWAPINTERVALEXTPROC glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalEXT"); + glXSwapIntervalEXT = (PFNGLXSWAPINTERVALEXTPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalEXT"); if (NULL != glXSwapIntervalEXT) { BX_TRACE("Using glXSwapIntervalEXT."); @@ -155,7 +159,7 @@ namespace bgfx } else { - PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalSGI"); + glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalSGI"); if (NULL != glXSwapIntervalSGI) { BX_TRACE("Using glXSwapIntervalSGI."); @@ -176,8 +180,18 @@ namespace bgfx glXDestroyContext(s_display, m_context); } - void GlContext::resize(uint32_t _width, uint32_t _height) + void GlContext::resize(uint32_t /*_width*/, uint32_t /*_height*/, bool _vsync) { + int32_t interval = _vsync ? 1 : 0; + + if (NULL != glXSwapIntervalEXT) + { + glXSwapIntervalEXT(s_display, 0, interval); + } + else if (NULL != glXSwapIntervalSGI) + { + glXSwapIntervalSGI(interval); + } } void GlContext::swap() diff --git a/src/glcontext_glx.h b/src/glcontext_glx.h index ff9e09e5..2c2e6167 100644 --- a/src/glcontext_glx.h +++ b/src/glcontext_glx.h @@ -22,7 +22,7 @@ namespace bgfx void create(uint32_t _width, uint32_t _height); void destroy(); - void resize(uint32_t _width, uint32_t _height); + void resize(uint32_t _width, uint32_t _height, bool _vsync); void swap(); void import(); diff --git a/src/glcontext_nsgl.h b/src/glcontext_nsgl.h index e779c834..b8e7c1b9 100755 --- a/src/glcontext_nsgl.h +++ b/src/glcontext_nsgl.h @@ -19,7 +19,7 @@ namespace bgfx void create(uint32_t _width, uint32_t _height); void destroy(); - void resize(uint32_t _width, uint32_t _height); + void resize(uint32_t _width, uint32_t _height, bool _vsync); void swap(); void import(); diff --git a/src/glcontext_ppapi.cpp b/src/glcontext_ppapi.cpp index e6be1983..3ba6a622 100644 --- a/src/glcontext_ppapi.cpp +++ b/src/glcontext_ppapi.cpp @@ -47,7 +47,7 @@ namespace bgfx { } - void GlContext::resize(uint32_t _width, uint32_t _height) + void GlContext::resize(uint32_t _width, uint32_t _height, bool /*_vsync*/) { m_graphicsInterface->ResizeBuffers(m_context, _width, _height); } diff --git a/src/glcontext_ppapi.h b/src/glcontext_ppapi.h index 222d86fc..053fde2e 100644 --- a/src/glcontext_ppapi.h +++ b/src/glcontext_ppapi.h @@ -28,7 +28,7 @@ namespace bgfx void create(uint32_t _width, uint32_t _height); void destroy(); - void resize(uint32_t _width, uint32_t _height); + void resize(uint32_t _width, uint32_t _height, bool _vsync); void swap(); void import(); diff --git a/src/glcontext_wgl.cpp b/src/glcontext_wgl.cpp index d46c9728..b0b57b13 100644 --- a/src/glcontext_wgl.cpp +++ b/src/glcontext_wgl.cpp @@ -238,8 +238,12 @@ namespace bgfx m_opengl32dll = NULL; } - void GlContext::resize(uint32_t /*_width*/, uint32_t /*_height*/) + void GlContext::resize(uint32_t /*_width*/, uint32_t /*_height*/, bool _vsync) { + if (NULL != wglSwapIntervalEXT) + { + wglSwapIntervalEXT(_vsync ? 1 : 0); + } } void GlContext::swap() diff --git a/src/glcontext_wgl.h b/src/glcontext_wgl.h index 8aee18fb..44044681 100644 --- a/src/glcontext_wgl.h +++ b/src/glcontext_wgl.h @@ -66,7 +66,7 @@ namespace bgfx void create(uint32_t _width, uint32_t _height); void destroy(); - void resize(uint32_t _width, uint32_t _height); + void resize(uint32_t _width, uint32_t _height, bool _vsync); void swap(); void import(); diff --git a/src/renderer_gl.cpp b/src/renderer_gl.cpp index c1abfe0b..314dff30 100644 --- a/src/renderer_gl.cpp +++ b/src/renderer_gl.cpp @@ -291,7 +291,8 @@ namespace bgfx uint32_t msaa = 1<<( (m_resolution.m_flags&BGFX_RESET_MSAA_MASK)>>BGFX_RESET_MSAA_SHIFT); msaa = uint32_min(m_maxMsaa, msaa == 0 ? 0 : 1< Date: Sat, 27 Apr 2013 15:26:23 -0700 Subject: [PATCH 16/31] GLX: Fixed vsync. --- src/glcontext_glx.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/glcontext_glx.cpp b/src/glcontext_glx.cpp index 2874b5e0..dea09d80 100644 --- a/src/glcontext_glx.cpp +++ b/src/glcontext_glx.cpp @@ -155,7 +155,7 @@ namespace bgfx if (NULL != glXSwapIntervalEXT) { BX_TRACE("Using glXSwapIntervalEXT."); - glXSwapIntervalEXT(s_display, 0, 0); + glXSwapIntervalEXT(s_display, s_window, 0); } else { @@ -186,7 +186,7 @@ namespace bgfx if (NULL != glXSwapIntervalEXT) { - glXSwapIntervalEXT(s_display, 0, interval); + glXSwapIntervalEXT(s_display, s_window, interval); } else if (NULL != glXSwapIntervalSGI) { From 80282277a99ce62293d29fefde57b1b91b25dd5b Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 16:55:34 -0700 Subject: [PATCH 17/31] DX9: Added device info to debug display. --- src/renderer_d3d9.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 11272203..333bfc9d 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -295,10 +295,9 @@ namespace bgfx #endif // BGFX_CONFIG_DEBUG_PERFHUD } - D3DADAPTER_IDENTIFIER9 identifier; - DX_CHECK(m_d3d9->GetAdapterIdentifier(m_adapter, 0, &identifier) ); - m_amd = identifier.VendorId == 0x1002; - m_nvidia = identifier.VendorId == 0x10de; + DX_CHECK(m_d3d9->GetAdapterIdentifier(m_adapter, 0, &m_identifier) ); + m_amd = m_identifier.VendorId == 0x1002; + m_nvidia = m_identifier.VendorId == 0x10de; uint32_t behaviorFlags[] = { @@ -875,6 +874,7 @@ namespace bgfx D3DDEVTYPE m_deviceType; D3DPRESENT_PARAMETERS m_params; uint32_t m_flags; + D3DADAPTER_IDENTIFIER9 m_identifier; bool m_initialized; bool m_amd; @@ -2772,8 +2772,13 @@ namespace bgfx double toMs = 1000.0/freq; tvm.clear(); - uint16_t pos = 10; - tvm.printf(0, 0, BGFX_CONFIG_DEBUG ? 0x89 : 0x8f, " " BGFX_RENDERER_NAME " "); + uint16_t pos = 0; + tvm.printf(0, pos++, BGFX_CONFIG_DEBUG ? 0x89 : 0x8f, " " BGFX_RENDERER_NAME " "); + + const D3DADAPTER_IDENTIFIER9& identifier = s_renderCtx.m_identifier; + tvm.printf(0, pos++, 0x0f, "Device: %s (%s)", identifier.Description, identifier.Driver); + + pos = 10; tvm.printf(10, pos++, 0x8e, " Frame: %7.3f, % 7.3f \x1f, % 7.3f \x1e [ms] / % 6.2f FPS" , double(frameTime)*toMs , double(min)*toMs From 757bf93b78bc1f99f838ef20bc9442e0e173a3b4 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 18:03:40 -0700 Subject: [PATCH 18/31] DX11: Added device info to debug display. --- src/renderer_d3d11.cpp | 81 +++++++++++++++++++++++++++++++++++++++--- src/renderer_d3d9.cpp | 28 ++++++++------- 2 files changed, 91 insertions(+), 18 deletions(-) diff --git a/src/renderer_d3d11.cpp b/src/renderer_d3d11.cpp index 7e812a89..3f39189d 100644 --- a/src/renderer_d3d11.cpp +++ b/src/renderer_d3d11.cpp @@ -10,6 +10,8 @@ namespace bgfx { + typedef HRESULT (WINAPI * PFN_CREATEDXGIFACTORY)(REFIID _riid, void** _factory); + static const D3D11_PRIMITIVE_TOPOLOGY s_primType[] = { D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST, @@ -322,8 +324,58 @@ namespace bgfx PFN_D3D11_CREATE_DEVICE d3D11CreateDevice = (PFN_D3D11_CREATE_DEVICE)GetProcAddress(m_d3d11dll, "D3D11CreateDevice"); BGFX_FATAL(NULL != d3D11CreateDevice, Fatal::UnableToInitialize, "Function D3D11CreateDevice not found."); + m_dxgidll = LoadLibrary("dxgi.dll"); + BGFX_FATAL(NULL != m_dxgidll, Fatal::UnableToInitialize, "Failed to load dxgi.dll."); + + PFN_CREATEDXGIFACTORY dxgiCreateDXGIFactory = (PFN_CREATEDXGIFACTORY)GetProcAddress(m_dxgidll, "CreateDXGIFactory"); + BGFX_FATAL(NULL != dxgiCreateDXGIFactory, Fatal::UnableToInitialize, "Function CreateDXGIFactory not found."); + HRESULT hr; + IDXGIFactory* factory; + hr = dxgiCreateDXGIFactory(__uuidof(IDXGIFactory), (void**)&factory); + BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Unable to create DXGI factory."); + + m_adapter = NULL; + m_driverType = D3D_DRIVER_TYPE_HARDWARE; + + IDXGIAdapter* adapter; + for (uint32_t ii = 0; DXGI_ERROR_NOT_FOUND != factory->EnumAdapters(ii, &adapter); ++ii) + { + DXGI_ADAPTER_DESC desc; + hr = adapter->GetDesc(&desc); + if (SUCCEEDED(hr) ) + { + BX_TRACE("Adapter #%d", ii); + + char description[countof(desc.Description)]; + wcstombs(description, desc.Description, countof(desc.Description) ); + BX_TRACE("\tDescription: %s", description); + BX_TRACE("\tVendorId: 0x%08x, DeviceId: 0x%08x, SubSysId: 0x%08x, Revision: 0x%08x" + , desc.VendorId + , desc.DeviceId + , desc.SubSysId + , desc.Revision + ); + BX_TRACE("\tMemory: %" PRIi64 " (video), %" PRIi64 " (system), %" PRIi64 " (shared)" + , desc.DedicatedVideoMemory + , desc.DedicatedSystemMemory + , desc.SharedSystemMemory + ); + +#if BGFX_CONFIG_DEBUG_PERFHUD + if (0 != strstr(description, "PerfHUD") ) + { + m_adapter = adapter; + m_driverType = D3D_DRIVER_TYPE_REFERENCE; + } +#endif // BGFX_CONFIG_DEBUG_PERFHUD + } + + DX_RELEASE(adapter, adapter == m_adapter ? 1 : 0); + } + DX_RELEASE(factory, NULL != m_adapter ? 1 : 0); + D3D_FEATURE_LEVEL features[] = { D3D_FEATURE_LEVEL_11_0, @@ -350,8 +402,8 @@ namespace bgfx D3D_FEATURE_LEVEL featureLevel; - hr = d3D11CreateDevice(NULL - , D3D_DRIVER_TYPE_HARDWARE + hr = d3D11CreateDevice(m_adapter + , m_driverType , NULL , flags , features @@ -367,11 +419,13 @@ namespace bgfx hr = m_device->QueryInterface(__uuidof(IDXGIDevice), (void**)&device); BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Unable to create Direct3D11 device."); - IDXGIAdapter* adapter; hr = device->GetParent(__uuidof(IDXGIAdapter), (void**)&adapter); BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Unable to create Direct3D11 device."); DX_RELEASE(device, 2); + hr = adapter->GetDesc(&m_adapterDesc); + BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Unable to create Direct3D11 device."); + hr = adapter->GetParent(__uuidof(IDXGIFactory), (void**)&m_factory); BGFX_FATAL(SUCCEEDED(hr), Fatal::UnableToInitialize, "Unable to create Direct3D11 device."); DX_RELEASE(adapter, 2); @@ -444,6 +498,7 @@ namespace bgfx DX_RELEASE(m_device, 0); DX_RELEASE(m_factory, 0); + FreeLibrary(m_dxgidll); FreeLibrary(m_d3d11dll); } @@ -1032,6 +1087,10 @@ namespace bgfx } HMODULE m_d3d11dll; + HMODULE m_dxgidll; + D3D_DRIVER_TYPE m_driverType; + IDXGIAdapter* m_adapter; + DXGI_ADAPTER_DESC m_adapterDesc; IDXGIFactory* m_factory; IDXGISwapChain* m_swapChain; ID3D11Device* m_device; @@ -2675,8 +2734,20 @@ namespace bgfx double toMs = 1000.0/freq; tvm.clear(); - uint16_t pos = 10; - tvm.printf(0, 0, BGFX_CONFIG_DEBUG ? 0x89 : 0x8f, " " BGFX_RENDERER_NAME " "); + uint16_t pos = 0; + tvm.printf(0, pos++, BGFX_CONFIG_DEBUG ? 0x89 : 0x8f, " " BGFX_RENDERER_NAME " "); + + const DXGI_ADAPTER_DESC& desc = s_renderCtx.m_adapterDesc; + char description[countof(desc.Description)]; + wcstombs(description, desc.Description, countof(desc.Description) ); + tvm.printf(0, pos++, 0x0f, " Device: %s", description); + tvm.printf(0, pos++, 0x0f, " Memory: %" PRIi64 " (video), %" PRIi64 " (system), %" PRIi64 " (shared)" + , desc.DedicatedVideoMemory + , desc.DedicatedSystemMemory + , desc.SharedSystemMemory + ); + + pos = 10; tvm.printf(10, pos++, 0x8e, " Frame: %7.3f, % 7.3f \x1f, % 7.3f \x1e [ms] / % 6.2f FPS" , double(frameTime)*toMs , double(min)*toMs diff --git a/src/renderer_d3d9.cpp b/src/renderer_d3d9.cpp index 333bfc9d..3a8f80e8 100644 --- a/src/renderer_d3d9.cpp +++ b/src/renderer_d3d9.cpp @@ -273,13 +273,14 @@ namespace bgfx for (uint32_t ii = 0; ii < adapterCount; ++ii) { D3DADAPTER_IDENTIFIER9 identifier; - DX_CHECK(m_d3d9->GetAdapterIdentifier(ii, 0, &identifier) ); - - BX_TRACE("Adapter #%d", ii); - BX_TRACE("\tDriver: %s", identifier.Driver); - BX_TRACE("\tDescription: %s", identifier.Description); - BX_TRACE("\tDeviceName: %s", identifier.DeviceName); - BX_TRACE("\tVendorId: 0x%08x, DeviceId: 0x%08x, SubSysId: 0x%08x, Revision: 0x%08x" + HRESULT hr = m_d3d9->GetAdapterIdentifier(ii, 0, &identifier); + if (SUCCEEDED(hr) ) + { + BX_TRACE("Adapter #%d", ii); + BX_TRACE("\tDriver: %s", identifier.Driver); + BX_TRACE("\tDescription: %s", identifier.Description); + BX_TRACE("\tDeviceName: %s", identifier.DeviceName); + BX_TRACE("\tVendorId: 0x%08x, DeviceId: 0x%08x, SubSysId: 0x%08x, Revision: 0x%08x" , identifier.VendorId , identifier.DeviceId , identifier.SubSysId @@ -287,12 +288,13 @@ namespace bgfx ); #if BGFX_CONFIG_DEBUG_PERFHUD - if (0 != strstr(identifier.Description, "PerfHUD") ) - { - m_adapter = ii; - m_deviceType = D3DDEVTYPE_REF; - } + if (0 != strstr(identifier.Description, "PerfHUD") ) + { + m_adapter = ii; + m_deviceType = D3DDEVTYPE_REF; + } #endif // BGFX_CONFIG_DEBUG_PERFHUD + } } DX_CHECK(m_d3d9->GetAdapterIdentifier(m_adapter, 0, &m_identifier) ); @@ -2776,7 +2778,7 @@ namespace bgfx tvm.printf(0, pos++, BGFX_CONFIG_DEBUG ? 0x89 : 0x8f, " " BGFX_RENDERER_NAME " "); const D3DADAPTER_IDENTIFIER9& identifier = s_renderCtx.m_identifier; - tvm.printf(0, pos++, 0x0f, "Device: %s (%s)", identifier.Description, identifier.Driver); + tvm.printf(0, pos++, 0x0f, " Device: %s (%s)", identifier.Description, identifier.Driver); pos = 10; tvm.printf(10, pos++, 0x8e, " Frame: %7.3f, % 7.3f \x1f, % 7.3f \x1e [ms] / % 6.2f FPS" From fb7fd32f249c2210d012b2af7489989285a11cdb Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 18:47:18 -0700 Subject: [PATCH 19/31] Run all samples with vsync on by default. --- examples/00-helloworld/helloworld.cpp | 2 +- examples/01-cubes/cubes.cpp | 2 +- examples/02-metaballs/metaballs.cpp | 2 +- examples/03-raymarch/raymarch.cpp | 2 +- examples/04-mesh/mesh.cpp | 2 +- examples/05-instancing/instancing.cpp | 2 +- examples/06-bump/bump.cpp | 2 +- examples/08-update/update.cpp | 2 +- examples/09-hdr/hdr.cpp | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/00-helloworld/helloworld.cpp b/examples/00-helloworld/helloworld.cpp index c210a341..238a7be8 100644 --- a/examples/00-helloworld/helloworld.cpp +++ b/examples/00-helloworld/helloworld.cpp @@ -14,7 +14,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/01-cubes/cubes.cpp b/examples/01-cubes/cubes.cpp index 7a788341..a50318d1 100644 --- a/examples/01-cubes/cubes.cpp +++ b/examples/01-cubes/cubes.cpp @@ -99,7 +99,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/02-metaballs/metaballs.cpp b/examples/02-metaballs/metaballs.cpp index 2d1ff7c7..325a51f1 100644 --- a/examples/02-metaballs/metaballs.cpp +++ b/examples/02-metaballs/metaballs.cpp @@ -499,7 +499,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/03-raymarch/raymarch.cpp b/examples/03-raymarch/raymarch.cpp index 927c4e44..3731b540 100644 --- a/examples/03-raymarch/raymarch.cpp +++ b/examples/03-raymarch/raymarch.cpp @@ -178,7 +178,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/04-mesh/mesh.cpp b/examples/04-mesh/mesh.cpp index e4b4aa5c..2e9418f9 100644 --- a/examples/04-mesh/mesh.cpp +++ b/examples/04-mesh/mesh.cpp @@ -283,7 +283,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/05-instancing/instancing.cpp b/examples/05-instancing/instancing.cpp index 16daffeb..39b7bb74 100644 --- a/examples/05-instancing/instancing.cpp +++ b/examples/05-instancing/instancing.cpp @@ -99,7 +99,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/06-bump/bump.cpp b/examples/06-bump/bump.cpp index d77e9a1a..f3fe9fa3 100644 --- a/examples/06-bump/bump.cpp +++ b/examples/06-bump/bump.cpp @@ -255,7 +255,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/08-update/update.cpp b/examples/08-update/update.cpp index a6ec145e..33e33813 100644 --- a/examples/08-update/update.cpp +++ b/examples/08-update/update.cpp @@ -130,7 +130,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); diff --git a/examples/09-hdr/hdr.cpp b/examples/09-hdr/hdr.cpp index 17496498..55ee14e2 100644 --- a/examples/09-hdr/hdr.cpp +++ b/examples/09-hdr/hdr.cpp @@ -410,7 +410,7 @@ int _main_(int /*_argc*/, char** /*_argv*/) uint32_t width = 1280; uint32_t height = 720; uint32_t debug = BGFX_DEBUG_TEXT; - uint32_t reset = BGFX_RESET_NONE; + uint32_t reset = BGFX_RESET_VSYNC; bgfx::init(); bgfx::reset(width, height); From bb8531d9a26fa5ef62f9c2cf6d447dc104df5897 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sat, 27 Apr 2013 22:39:15 -0700 Subject: [PATCH 20/31] GLX: Added glXSwapIntervalMESA. --- src/glcontext_glx.cpp | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/glcontext_glx.cpp b/src/glcontext_glx.cpp index dea09d80..f7df1404 100644 --- a/src/glcontext_glx.cpp +++ b/src/glcontext_glx.cpp @@ -12,8 +12,11 @@ namespace bgfx { + typedef int (*PFNGLXSWAPINTERVALMESAPROC)(uint32_t _interval); + PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB; PFNGLXSWAPINTERVALEXTPROC glXSwapIntervalEXT; + PFNGLXSWAPINTERVALMESAPROC glXSwapIntervalMESA; PFNGLXSWAPINTERVALSGIPROC glXSwapIntervalSGI; # define GL_IMPORT(_optional, _proto, _func) _proto _func @@ -159,11 +162,20 @@ namespace bgfx } else { - glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalSGI"); - if (NULL != glXSwapIntervalSGI) + glXSwapIntervalMESA = (PFNGLXSWAPINTERVALMESAPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalMESA"); + if (NULL != glXSwapIntervalMESA) { - BX_TRACE("Using glXSwapIntervalSGI."); - glXSwapIntervalSGI(0); + BX_TRACE("Using glXSwapIntervalMESA."); + glXSwapIntervalMESA(0); + } + else + { + glXSwapIntervalSGI = (PFNGLXSWAPINTERVALSGIPROC)glXGetProcAddress( (const GLubyte*)"glXSwapIntervalSGI"); + if (NULL != glXSwapIntervalSGI) + { + BX_TRACE("Using glXSwapIntervalSGI."); + glXSwapIntervalSGI(0); + } } } @@ -188,6 +200,10 @@ namespace bgfx { glXSwapIntervalEXT(s_display, s_window, interval); } + else if (NULL != glXSwapIntervalMESA) + { + glXSwapIntervalMESA(interval); + } else if (NULL != glXSwapIntervalSGI) { glXSwapIntervalSGI(interval); From 0e0fcd22de1a8e7492c2b56491b5f453576a12f9 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sun, 28 Apr 2013 12:27:35 -0700 Subject: [PATCH 21/31] Removed use of external debug functions. --- examples/common/dbg.cpp | 21 ++------------------- include/bgfx.h | 6 ++++-- src/bgfx.cpp | 15 +++++++++++---- src/bgfx_p.h | 29 ++++++++++++++++------------- src/config.h | 4 ++++ src/vertexdecl.cpp | 28 +++++++++++++++++++++++++--- 6 files changed, 62 insertions(+), 41 deletions(-) diff --git a/examples/common/dbg.cpp b/examples/common/dbg.cpp index 6e671e28..bae0edb0 100755 --- a/examples/common/dbg.cpp +++ b/examples/common/dbg.cpp @@ -12,24 +12,7 @@ #include "dbg.h" #include - -#if BX_PLATFORM_ANDROID -# include -#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 -extern "C" __declspec(dllimport) void __stdcall OutputDebugStringA(const char* _str); -#endif // BX_PLATFORM_WINDOWS - -void dbgOutput(const char* _out) -{ -#if BX_PLATFORM_ANDROID - __android_log_write(ANDROID_LOG_DEBUG, "", _out); -#elif BX_PLATFORM_WINDOWS || BX_PLATFORM_XBOX360 - OutputDebugStringA(_out); -#elif BX_PLATFORM_NACL || BX_PLATFORM_LINUX || BX_PLATFORM_OSX - fputs(_out, stderr); - fflush(stderr); -#endif // BX_PLATFORM_ -} +#include void dbgPrintfVargs(const char* _format, va_list _argList) { @@ -42,7 +25,7 @@ void dbgPrintfVargs(const char* _format, va_list _argList) len = bx::vsnprintf(out, len, _format, _argList); } out[len] = '\0'; - dbgOutput(out); + bx::debugOutput(out); } void dbgPrintf(const char* _format, ...) diff --git a/include/bgfx.h b/include/bgfx.h index 369e8972..2d725ab1 100644 --- a/include/bgfx.h +++ b/include/bgfx.h @@ -223,7 +223,8 @@ namespace bgfx { enum Enum { - MinimumRequiredSpecs = 1, + DebugCheck, + MinimumRequiredSpecs, InvalidShader, UnableToInitialize, UnableToCreateRenderTarget, @@ -354,7 +355,8 @@ namespace bgfx { virtual ~CallbackI() = 0; - /// Called on unrecoverable error. It's not safe to continue, inform + /// If fatal code code is not Fatal::DebugCheck this callback is + /// called on unrecoverable error. It's not safe to continue, inform /// user and terminate application from this call. virtual void fatal(Fatal::Enum _code, const char* _str) = 0; diff --git a/src/bgfx.cpp b/src/bgfx.cpp index 266834fa..0505b206 100755 --- a/src/bgfx.cpp +++ b/src/bgfx.cpp @@ -63,9 +63,16 @@ namespace bgfx virtual void fatal(Fatal::Enum _code, const char* _str) BX_OVERRIDE { - BX_TRACE("0x%08x: %s", _code, _str); - BX_UNUSED(_code, _str); - abort(); + if (Fatal::DebugCheck == _code) + { + bx::debugBreak(); + } + else + { + BX_TRACE("0x%08x: %s", _code, _str); + BX_UNUSED(_code, _str); + abort(); + } } virtual uint32_t cacheReadSize(uint64_t /*_id*/) BX_OVERRIDE @@ -130,7 +137,7 @@ namespace bgfx va_list argList; va_start(argList, _format); - vsnprintf(temp, sizeof(temp), _format, argList); + bx::vsnprintf(temp, sizeof(temp), _format, argList); va_end(argList); temp[sizeof(temp)-1] = '\0'; diff --git a/src/bgfx_p.h b/src/bgfx_p.h index 2512f512..9e9b1380 100755 --- a/src/bgfx_p.h +++ b/src/bgfx_p.h @@ -7,6 +7,8 @@ #define __BGFX_P_H__ #include "bgfx.h" +#include "config.h" + #include #include // va_list #include @@ -14,17 +16,16 @@ #include #include -extern void dbgPrintf(const char* _format, ...); -extern void dbgPrintfData(const void* _data, uint32_t _size, const char* _format, ...); - -#ifndef BGFX_CONFIG_DEBUG -# define BGFX_CONFIG_DEBUG 0 -#endif // BGFX_CONFIG_DEBUG +namespace bgfx +{ + void fatal(Fatal::Enum _code, const char* _format, ...); + void dbgPrintf(const char* _format, ...); +} #if BGFX_CONFIG_DEBUG # define BX_TRACE(_format, ...) \ do { \ - dbgPrintf(BX_FILE_LINE_LITERAL "BGFX " _format "\n", ##__VA_ARGS__); \ + bgfx::dbgPrintf(BX_FILE_LINE_LITERAL "BGFX " _format "\n", ##__VA_ARGS__); \ } while(0) # define BX_WARN(_condition, _format, ...) \ @@ -40,7 +41,7 @@ extern void dbgPrintfData(const void* _data, uint32_t _size, const char* _format if (!(_condition) ) \ { \ BX_TRACE("CHECK " _format, ##__VA_ARGS__); \ - bx::debugBreak(); \ + bgfx::fatal(bgfx::Fatal::DebugCheck, _format, ##__VA_ARGS__); \ } \ } while(0) #endif // 0 @@ -65,6 +66,7 @@ extern void dbgPrintfData(const void* _data, uint32_t _size, const char* _format #include #include #include +#include #include "dds.h" @@ -109,8 +111,6 @@ namespace stl { # include #endif // BX_PLATFORM_* -#include "config.h" - #include #include #include @@ -196,7 +196,6 @@ namespace bgfx extern ReallocFn g_realloc; extern FreeFn g_free; - void fatal(Fatal::Enum _code, const char* _format, ...); void release(const Memory* _mem); void saveTga(const char* _filePath, uint32_t _width, uint32_t _height, uint32_t _srcPitch, const void* _src, bool _grayscale = false, bool _yflip = false); const char* getAttribName(Attrib::Enum _attr); @@ -323,7 +322,7 @@ namespace bgfx { char* temp = (char*)alloca(m_width); - uint32_t num = vsnprintf(temp, m_width, _format, _argList); + uint32_t num = bx::vsnprintf(temp, m_width, _format, _argList); uint8_t* mem = &m_mem[(_y*m_width+_x)*2]; for (uint32_t ii = 0, xx = _x; ii < num && xx < m_width; ++ii, ++xx) @@ -986,7 +985,11 @@ namespace bgfx if (0 < m_numDropped) { - BX_TRACE("Too many draw calls: %d, dropped %d (max: %d)", m_num+m_numDropped, m_numDropped, BGFX_CONFIG_MAX_DRAW_CALLS); + BX_TRACE("Too many draw calls: %d, dropped %d (max: %d)" + , m_num+m_numDropped + , m_numDropped + , BGFX_CONFIG_MAX_DRAW_CALLS + ); } } diff --git a/src/config.h b/src/config.h index 7767cce0..3d1d64a5 100644 --- a/src/config.h +++ b/src/config.h @@ -6,6 +6,10 @@ #ifndef __CONFIG_H__ #define __CONFIG_H__ +#ifndef BGFX_CONFIG_DEBUG +# define BGFX_CONFIG_DEBUG 0 +#endif // BGFX_CONFIG_DEBUG + #if !defined(BGFX_CONFIG_RENDERER_DIRECT3D9) \ && !defined(BGFX_CONFIG_RENDERER_DIRECT3D11) \ && !defined(BGFX_CONFIG_RENDERER_OPENGL) \ diff --git a/src/vertexdecl.cpp b/src/vertexdecl.cpp index 6518520d..697eb17d 100644 --- a/src/vertexdecl.cpp +++ b/src/vertexdecl.cpp @@ -4,14 +4,14 @@ */ #include +#include #include #include +#include +#include #include "vertexdecl.h" -extern void dbgPrintf(const char* _format, ...); -extern void dbgPrintfData(const void* _data, uint32_t _size, const char* _format, ...); - namespace bgfx { static const uint8_t s_attribTypeSizeDx9[AttribType::Count][4] = @@ -56,6 +56,28 @@ namespace bgfx &s_attribTypeSizeGl, }; + void dbgPrintfVargs(const char* _format, va_list _argList) + { + char temp[8192]; + char* out = temp; + int32_t len = bx::vsnprintf(out, sizeof(temp), _format, _argList); + if ( (int32_t)sizeof(temp) < len) + { + out = (char*)alloca(len+1); + len = bx::vsnprintf(out, len, _format, _argList); + } + out[len] = '\0'; + bx::debugOutput(out); + } + + void dbgPrintf(const char* _format, ...) + { + va_list argList; + va_start(argList, _format); + dbgPrintfVargs(_format, argList); + va_end(argList); + } + void VertexDecl::begin(RendererType::Enum _renderer) { m_hash = _renderer; // use hash to store renderer type while building VertexDecl. From b222ba05b1da38b15800e44884fd4268b910b970 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sun, 28 Apr 2013 12:47:20 -0700 Subject: [PATCH 22/31] Cleanup. --- include/bgfx.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/bgfx.h b/include/bgfx.h index 2d725ab1..7b3ebcee 100644 --- a/include/bgfx.h +++ b/include/bgfx.h @@ -637,6 +637,7 @@ namespace bgfx void calcTextureSize(TextureInfo& _info, uint16_t _width, uint16_t _height, uint16_t _depth, uint8_t _numMips, TextureFormat::Enum _format); /// Create texture from memory buffer. + /// /// @param _mem DDS texture data. /// @param _flags Default texture sampling mode is linear, and wrap mode /// is repeat. @@ -728,6 +729,7 @@ namespace bgfx void setViewTransformMask(uint32_t _viewMask, const void* _view, const void* _proj, uint8_t _other = 0xff); /// Set render states for draw primitive. + /// /// @param _state State flags. Default state for primitive type is /// triangles. See: BGFX_STATE_DEFAULT. /// From 30a6503c4a7e2fd850666a97b4b8c7b26fbb4bd1 Mon Sep 17 00:00:00 2001 From: bkaradzic Date: Sun, 28 Apr 2013 14:08:59 -0700 Subject: [PATCH 23/31] Strip executables. --- premake/geometryc.lua | 2 ++ premake/shaderc.lua | 2 ++ tools/bin/geometryc | Bin 665566 -> 59928 bytes tools/bin/shaderc | Bin 5109879 -> 1142696 bytes 4 files changed, 4 insertions(+) diff --git a/premake/geometryc.lua b/premake/geometryc.lua index 3444273f..f5950b89 100644 --- a/premake/geometryc.lua +++ b/premake/geometryc.lua @@ -15,3 +15,5 @@ project "geometryc" BGFX_DIR .. "tools/geometryc/**.cpp", BGFX_DIR .. "tools/geometryc/**.h", } + + strip() diff --git a/premake/shaderc.lua b/premake/shaderc.lua index 44ffaaad..6d2e20a2 100644 --- a/premake/shaderc.lua +++ b/premake/shaderc.lua @@ -91,3 +91,5 @@ project "shaderc" GLSL_OPTIMIZER .. "src/glsl/main.cpp", GLSL_OPTIMIZER .. "src/glsl/builtin_stubs.cpp", } + + strip() diff --git a/tools/bin/geometryc b/tools/bin/geometryc index c8f427a53d4596b9c0a160a54246520984265d53..958f78516c9f438ca08f3858e6ad09c055e18feb 100755 GIT binary patch delta 11903 zcmeHtdwfh+*Z(;u7ZV~gK}h5_VUV~cZl!J$qCH_~w6sx5+*0>O1yPrTB$Y7T6^7q_hv( zAMOEz&iKzxc;mlUge1kH$lP=I-<9?$?d0Jkdo+@Nqh&7*CBaYNGF5v9%4bDyO$D}kMay}@>Vja0 zh;oSdEEk^##OF5g`9QSvFY$Sb8D~bdk0*J0G@yKsK+5+Hl%ErZqv?=$J9(qKDi85F zu0$E={!h_Sq-bQAun3?#u-?f`&^w5izZ4{uT~0!fBq_&72+5l+*J>oMp+9Sd%NZ18 z_@2Cd-lamH1>VWYlV?mHPv+Y5nB2%4{il%;dMGkCR4@oH>1J%G(pB zrY4UZGky|%Tzk{lK8cC3z2is5wCy0hXp8R+II=_Aj%{P2pM~77f`1;8r}*a~c?nk( zApY+O?9wo19kcxD%_Z7Zr&YQqYS$9H0U8-r$1pw<%1QXYV%dAhjM~!ANG9eQOqftt zLPp+lmq-Gv5luMG{srTn* zNpBX1Ph+?hCC1~~x~fvg)9iW17?@ObR^axG;k#5-CU8r}9E7SOftxT!@Ie#`qA?Tf zeO11|^%(Q2tjZ9$He>d)Dn($0F;7`llE9D70CPmD5(K`>xHe;}z`ruC!#G;tE5PaF zeVH%|;sP6Ba-}Mhz~>nIF_r{A$=JyF_J2S$JIt8pxT;d%{fzw?pB4C1#`PGN3H%Y` z`izSN-gw5GE{$)%M4=#7vq1pke1VrUZpb)8;Khs^F-{S9A>%;CNdmvaIEZnAz;82d z%-AaMM8?64qXiy)CLKfw6J|lY&IX~3O#;8nIE=9*a6iW3jBh{Y2=r!bW?U)o^Nf)+ zh=9QD88=~ECU8r}O&J#n+$5a|3loKcXw0}7<9vbZF>cN{L*UwsTQE)$SYaH=I7#3~ zr-7pwCkT9(aZAQlfq!M(igC2SKqhk%Gw!U5{N%xE+jvFHn-7~g4e$O}*(p2}X zpohC?Q{AJ0T6Y>15Uvyy(!zkY-bu_{r#%5tVY%O!B{_CP`95h6dg&+C^pe88B+=u5 z7k!hkVzbLs`%z=oTuNxzAiai&vy3-pO+d1!c?T?3tkeDHN~}`pbTp!U03-G#cfF{6 z&**Qnq@)JMJW%b&wC^zPWMhM}WaH~)(8O6%YFdanx9>c+QHVW6D|1MaBVhGOvsCgr z+Env)Td>nfb!v?F{a8Z3Hw;f735%F>S{lsR#sr%h6SQ|7?H$V!EEAHwgxiL#cNVMQw zG-|)3+OsStX;pa!)|s&)M?0-Lj$1_pI+Is|K3J#^J$fc;_LnBP!c%SY>~ z{Q^321v{E{1Z{4Z&(q}CZ3)D7$zu(~Hmb$ZgvNd3SlZDzC{n?I_JM@c7w>IOeea-* zw0lYzvy!k)9rWBszc+4FYd5x_gT{U28{A5{_K>;;hj`A#CPF>hc2piWq@}@){5Hc+ z?#PURYEiU1I9u_^rEVdeY7Kv=>)MNpXjaIS&=g6EU+}jRHpZnNqJs)g3p;?wYU|!4 zIdrsg&X2~0zWVA&?80gurV+cj7?)~~vm|LBVPSJGO!tjB(Kn_n=D|LGBkbo7Z4TCX z#sSL-l%>>Ymq8}1(VuM0x@02%uwcZsO;|HIgkA}2VnK7TKhE~X?913#D=@)~YC6$6 zHKSEwJ>(bYyD*C!L4Tux4=FIbXN&xUR!K#or6GuC-Q^4pC?0M00!hj)GiHBZkLHCB ztT!1$wK=w1@}X1naxM7^{S@92lX#2#&B5{_YGZC>NH&INab^b?wn@Wa00sy*#$Wj8;|qp*Z_pn_ZWG)4sr*bHZL62dp)@$NBz4 zs)18(#$8>H&paAf)76YE94>Y*=7AO{yv=oaJK@lOc?T~u&`nLqd9g4yWfPusR6a+2i!G4TF(mt7sHQx|R#D4f76ES6)<2P4=vzay!`T^NLry6Yb>)MyU zLxVKq*_Bf3st#9C+Xr6zU_L$Htcg;%nnpBhtrV70ZnIdq9ev&`*w5t78g4P+AU$l> z9B2Np<}I4;z3J-8#9i&jM#4?r=IKQiR6}Zi(D>%V)%*EWCpKA|9cr5$hFYKhuCj`jv<#2< zIUW8u5DX4x8ESFt5;)Q)SrhVzK5yA6{?}VP1-mUpP_V&Smi8)}{iN1mfh1wJ*P^Oo zTr>ocQSIA*jD~?RYcHeBa=GhTkqyRoH~k~jVmITxP_8oZqO@x&b`2{Wz438u=I44}`~9k8^jqtmZSK5=*mk{Y%<7N* zz-GUOe#Fjq;74yrF&y(@lNu|HIY48v*A>!kDFX2$Qkh&Jw_Cp zIjV8Uu~KU(4nqj9RN?g^(^~tVkz`T4RP2Xs_Ohz|zlx%2udaFx#q(YhmZ8HhP%QOz zx7-UY$2`a`qd(djkyc*q5`t^Zfzgs1x_+?m-$>`gX_8dJy;ONrQ%bwWZAarUT@@m- zVV=qDZ*snIsTXgEND$;ZMsiC#c@^H=rjmA@m54v+cDts=?{O@z+3Ac~m#Im#rRQdF zRR^&z98BZh-o*RR)muG&Nd{s>s{Pl}P-%noV&u25EV3uRC;?T8Lm?$5%@ zHH@_A=JM}kj0slGU8Ve(0Pl{l)%MVfF%fm{r=hbsRcLrIEE?A0{Yjh3W{s7XuhRCI z;QHU-jWfSKugYj_lt@9#Rk{!}I>5|Tw{V(573orKr$Oz5<$RjbKC=HJc=dEKs*X5I zV%1fwDQ(1M4htf+6c)(%rKSIf(~e5SX&aMR#^X!VN~yAav+(Qq&Qm3cZEvl`#A^*} zPV9L0i`wcL7^4q1gb7TplR&xFnWAk@qOBVh-$y4&Bx*VjS8>%pyYey zyxFOlJv18I@k@CRb?%hc{6q$}`_jznUNg7fQ;jWgv^CY;2M$Nv!4?xfLo8aSi&WL= z52fzEsIqfF)8GeYXcKSr&3=Hxdz<`p&h99DL5(%;J;v2%rWXf3H$!e{#$jxKOH8Hf zJAenE*6jjq>e51qD5le0w#hS#XLjwZ3>JpIPYmzwhGEEeuFW>q@q&Rv^cZ{fK4IAW ziJ_Sd?|sXL5<7pG&sT};!t!^PcW)!#qPE?~DEe%o?iP6*KqLC1`^<^6zHz05ILKh# zduijCsW})VGFWg#LpQ_Th#emLM(l{#k>#$wJ)iXb4fj0&rdk0!b!qv<;u`BA*0%eG zcJ>(BO*sA66P3!Uvaf6EJbI!KquBz5&3;Qgblp>%^lfpUp1HF86P@kVPX1}R^`v~4 zPFa(@w{R0TDJFKM^_O!zmJT+@7(=}MXnfRtexcW~*{`4x?awcDy?@@^W>^!d{1}T; zje4YwJ3eWG0Z4A#j{ zM+vvjOH#U&Ri@fgEs-i-zR{}PX6a%>K3Q!jsj1Hyqv9+H#weR5$rv@*l46WnYstWv zj8PxB-jY$5d zaKRCHBb6sV@vwM)?*Lgz+CwY*v{N$nP(`0nO4**`sJNA$$|onOOifpQn?kYifq~ym z!D=3g70^h{Jm!hzd6rkhp(!*iexm#a{TM%~{U4Kgz1~6(8IL@SS>Bk?j7Kt?U4kZc z_&+P3m`t<#CCfvovftSDe^0{J^*SbrR~)MR$e1rxp2cBL^#>-=%>G5SYr~Aq|1*)I zZL5`y6~(7*numW@GCCY!Jm}53Spf87LRtx zzYkiHzI&_-ZH275Cr)Rq4cPAH3n6c;<8!#M3&?WwX^>TUPwnTr`4r|mKJ|V$z~~-Nhfg(Mgu6_`-0=>r(J~oLg{~_;JGHwa zo2c$IrxLiHHcv}YHospS`1WvFsqRBFr!SS?B=6K{c|ARs`igR;H|3^=D@S`5??{~_ z%j+m;W{PreH92N>RU+3=#msif!`1X~W`aDM)LEUBrE4gCR;16kH8`p|yh_JY(X2?% zjzIL~+Li_@R_b+4T0?$mqm*^4XNVR-IlhWsnB6pJ(< z(@pWHyKg0ZIIo}b+X}if@4Qlf1)ZAzieJwaY&73wgG=pKQ0w%j#=4-mLwrlRrAaGj zMEXI$Uc}ryVb+1DRYv2kVA#FpPkX+kZCVER8VF{NNgL@larrAoa7oKpM)Navm|~W@ z#vRS^(3&o%ZVOiTKyBPC;^1da-_IVrq}spJ>gDVDjgQs5cMvvcwA0U6ZGK{Pb1BtZ zxJc=fPiq#oF|9xyR-tu->D_!fzi`;-C_&B>@vzx{Q!{S_Y5~k4zoNNULly6@!l5_8 zXP2dCb0gvWYRp}Nkxj2rt3qvDn(7|BFqyD~R%YfY`}R8DZi z#jZ-c(LSl9*y-<_@k*MVlI`(I8$0c?4^)22A$jpkziT;c=*r~pb0~Z9K*cAAzFFK) z`S&7iq2DskuRh*5l^t`hJ}E`3Ppe6mLJG5g2ZuKcvn63$8qYa1%UdE)}onuY}EA zzOs?=k9D}x;(IH;no;Ld^OY@>^m+8s%E|Rc&Ea}i-1mt`HUBwuW@U3Zs`&oOEgtfM z;Bd1aP+7ZgpKE>PCZdOJ-?q`68h(X~Kf`?4Q=b1GR+R=_%~4T3_M*Xc8B`1RKs(kqa$gMrS*5DU z)9Bp#mX>mKsIB1^`EtIG$+)7-xTkEG_+nC8#>)BA$XpnuYBIm}aXna=^SNhkr!&A8}Pm4OC%yq+u;~9DjEPr}5#G9X@H@z6Q6y0J0 ze8qWZGG-#3*|Jf2JdvhtRqJ1!z+**+M}1u#emb5` zZ~Z|zI)S!r>x1{|Z`*b%mC5w}N6~T@`r@MiCGk!A<)dvrXWn$(-OrJRXkH_)N1pYRF{EWw+OxBH|1v_$->0_wQCo}zj80)H& zX>!%cq~)KS4_b{|V1`o8KO)>Qs^uZ5JkGe+4uhW702si>pq!OmW? zMxBeIl%JAlRMB5ew${a2Y95Twd#&SQTTxuj#h-C=r7cgyu|`H5SWy5;9C*+Hsw z6L;Ox6N`wShHe?@me0GTt)%$nJuk>jz8vAQbGl`3w;c3_i$6G`c>ms+-u@Z&UHFNl z*wS|YfA;0Gg)ZCMZkfNqh0Si6;+92jiQ883NbaZ7UC-p!pWQ&p!ROQY_bYv2a(pl{ z1LZ4__-TM-7^3TG9{8EetGaGN8b#to$Jabv=Ii=a*l8KCWBo#1FM+Iv)F2Bob=`my zlLl#q%*oRAE|Arb36Nc|wU39yI?*#c@x3q+g#r)-ck_7C@#!mOvIj9*4XQ2ew|pNYL?lTr6&dH2e%69pylpuvE7~MnWFHhR{PAenCVb z6LA+-0;xg9RH9Ig8$bhogAj?EP&1@<10#h@#9wjBn7;={kOL)xTy_IfLkAJpxnHT*kWhK`SQzRZ-kV-3{&w;*= zn`6QJcJO83*FWXSSnd^i1iYGo+mffeu>TQ!A;px}5514laabUJPaba37r9U!52H6&Z)f-j`Yu=oI_$PJhkv|97nP&feIO#Vmvd--Ciq|m6N!CtLVDx(EQ zn}!ZXN&6m?UsDB=+no%)k`5iMADV^Ic~~%8^Kf~su()%yzSnNHAfJlh(63Q4TyWdQ z`I%nA46yA@@Ft3_sPE;8Wf(|9VQb+MY>~}R9`?68_qo)Gg1e7W0S!If-z$zc4%!CoWX^y3@^sVC6)0&x z=z1G&-TiPdw+jpZGZ-UEn0%CM$k%+@b*8`1T9l+0bzLE^&s!*xKeas-=6w@n*;RV^ z^CpG{Sm=@15uBsmtksAr@dwWT`~QD2_}|ZgfO@8mR*|*l0GGVofgb(Ty#0Fjeps_D z@(&>S;k@Oi$lod?@>D!u7t_lZN61#%buk=2N%`_(FS&sHFNOOD*0l-)EOhadQ0%34 z_+#C)OX2cDT6Sqsab#tRTz^jkt58?C<+ly2wC3^x=fqn+)pQO&@^FpaTdw1j@A&kR z>pNpvL^v0)=;%DeqNh{7>k}@gI3pk;UONZNSjQ^V3wZ(KNp)_3S$}(qw1EADF))XY3!C%>&K_ERH)5 zu{h(DA3%KTjAikIbHM{x7CJYu_}O`g$zPrFLm L^-=ANKnVXI$GCct literal 665566 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

*zn> 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

fw26 zvOnCY{ZoQ2$_zI(g1Zvhx$&>2o2Aw=bHv(;(wYsS>cpi6<6_-7nPzar>@`Sr16Vyj z2^DEPF@IiXd zHupiOrxpMu6Le&JFCWZ8W1-@ksi^h{q12YDw@VF-5==`eBS>!@l+#bgBsI{og$`M5 zsS$@Ut{vJL9y1kUQI8IUoL#d8Olf-i_zCOTH3!uQXdMC;%{QLfF^(G0urT#0;Yr7_ zajB*%?UWWBjjq(v%7IvJ%R0jmcj1i z;eoD)>$>5zV$gJV*aIgR=z7`yT)Pyk>M+3!^7g!wESvU5m|D773kR=mdIw{289&Bl zg5P$3_@K~HwKuBak1D4+&Dh197U;(4>7gM-@7FUprm@@U#{ePyL*oF_&vb*`0FHI+ zbO(k3wE0=e3d-3A%d|metc3g5nTD+A1m$OR2*+47j)VdXWx-6E9Z`lsjJ9}I!?~s} z4owj;J+y{VTaL7ICfso6p;h~gm>Ieum@1AogXx%%PALBQfr)923(N?AA+cn-C}cpr zzsH8Gp$X$c2-t6Yn2sr8po1;jL~9~D)Ld-UvC&CE!Dz9`!SrHEXm&9*!~~_Mg;anM zrU&EpC61qExzt4NJhc|5E0+a5g6GW$dMzR^56sAUZk7&ZxVdJ!k?ac7e1oB8RyYB- zQOG&sk39dQYXpuFf8+^tq*~4?0$Wk76gQN?3*rN{mDjZ0E$&1DYq@*Aw!7!+n9;6o zwa{!k)%EDXC<1;nJ*;mVq~6-WNMd>{ZMtsO*f9PMfKSA~A)rZ`YgdhJ4MHI6xrwcI z8*OTuYO_$iYPpVZcV6?Lid%#loPv(@>k`fJC^rJ7yMeA{kh7Vov`Sn^{Qp*7c$$zD zOcUVSvdsylGn0hmp!ah_ONyHzs6z|xtN?-@!=Y+vs&)QrZ?vM2xMUC*IZ4=eL zw7o5XMmo5$preij$l;i94!k9g4JBxIcw9IE<1?eYLCmTHqq7-QGE58aV!GR|)YS8i zkE`>z+p3#Y(%v8^1SR6_(>)Z0mOTQalX_w(3TjVx5B74MBOF7a&b5zAX8BGEZZtb& zqusgrHOA{;5U1xMeCPb%e8LHihNSqG8+QYtA2jVK#WnjHrd8IAZ~ayDdSSm&T{rDX zHB<6>Y}56_)87W+j-;XM9UJ+%Xnm*oAdEbXU2oIG>Ti4Mz?&PM?>2L{{1N_L9VR!A zOARKtxNDpX#qR@HRYz8lj(aIk*GzoVshXSkn#r~G0a8e4Rvn)B#!sq)=_^@6{$JH6 zo*HrngBs9qBicp_8=0wVXwnU+ne)caxY@=!xZa~<*j02)&|q*=1_R@9;ZC_z05V;F z-~e`WZ!^!&aEqoc!Lx*}zB3j*%JIQNgl@q@gus&ve=F`v=X8hb*3}rxiaRp!*!K(u z3L3LlprRQndi%UJx$tvdYPfFQtp{5L{!(~xL+N3sX=ujnMw8I}s|GiPhd(z?1ksp% zyC(~$24qu3rv?6fIB-L(h71ob(!xU)%h}IIvdPmbOzp2ju})xZDkkKWke&yhuFJ=0 zH!x`B=9vL}yB6X5psjb;Eb=g8x0XipGmT+zkYG%IjxQ9Zr+PzznS!q#ChsmIO$(}G zSR5rtKetjkWe<-_4IXQZ@bff=q8xaI19Z?P&hrzsshHX{?%}ZcO}cRs`;KXGHyLB8P3NE9NJU;J4*GQ7Stk^2CiqIf#Fj&8ewS=Dv+4VNe$1Wu}A91(AEceL5CBO}BX3-{7c%U_krcDWR zg3;eB`RBTXkm2UV^|qJ>TxEwkHPY3f2DhCt^)-IWqq=N$^PL(_uLa=*IIQXPU*wk( z-A z#Mr#(!S?e356iS%&^|(Q;G3i+B;Op!GIeEIG5y*>>oVi%tpU{Bq2V#^HcGcXGXu{F z;6`!)XI-waWDdTrr@B4F5+0QA2&HRH2cqa159+}&(M#^Dj|`aMT^47SvZnpsEu2sp zC(tU;gGo9LGxBHY_gV_2&_7P!xNSyS9}j?TnyG6CzGEEq*T5Dc<9OY`a>Z zOFXm|@x4&SD^3^6rb~v`%{Kqj)O(NTo22i&lSH%W2jL zz9P@~Rm8dfW{sK7h4G@ervSx%j4$s6Q~hV-3Yp}~e$Ha7de18?A^)vf7!D8H^q~ni z(QvDt7XpSFb`|%cfy247-9EbD-V$!TwKHIF4u+T14E8aR4$HgZQuqZ?cnwBFm1!p2 zJ_ePUHyN5zvp@0dy;8!b^H1JIWq70ywCBwuLo27G@UDo zLsR|?wMXZGVmkl2ZlBKa{x{Gm>f|?_*YVsz-Hv+hS^XWHUkJ+e9M269-=!#i3s<#l z#6-b$_uI}k@r{3Vv`KyYj{9xbyWe#_i++Dk0Z%COefzC?Z-0JZVHJ(>d5lrc!VmF| zwt8Cd^&^@B$J8BCpP*M?;1@_~mni*X-5n5<3)!*$6Gt~%-M-A9;+76|pvGS0bBPwz zU#77ids@+(? ziNn?jyj{PvPVo54)(O_(SJnwW@@q9NUQVrh|3+Q3O_2YkuIMLztIi4X@G5og6~+GO z5z=-smPlw#9ffoK?!*)D7hzpE!GBFnbL4;XO5Odbk~uslTP&4_&D{BBu^5_DDVOHt z3+diUcVderziH8&uDn?ezLOa;-8Y67FHA0+e|~SiP#HSEr%uKPXxsoLM4 z)1B$6^vG6v^Ida#(&;(Ax2gAPG_LQtPW-Qxhs%&b<+PwoVye*7n<0HhYt)-kxGts+?)c=_~3PJ}+bj@kDPioub!rAw<;b zm*fk5#R12w>0+U5mMUq}Zmm+t7xHF4)r)R)t9Mdnt~-;(2^QQO?$0F6Qi|3LAV#hC zr}FeI)xo@(Dbd%H)XOA2UY0jAL+K30S1cs^P4zsM1zpJId+-E+7rm!8(`B<8Q_hEd z__n^5FY?h~I+rS0*9xc)i&tpKy%{=m4j*0OQ`KSF4_;Ut0*^|mLU*xGUapigW!K!{ zWwX*R8>M0Dfyu|Sl|q^Zlj^09@|hfu6UATEk_QIU;-Z~+k4M!G)yCdh#u8W9!Mn?Hc z*7yU?J~lEgUOx&8+xW=gx;pXDw5a&j_5sHu7k)G{jz`|H^Pu>JfkGn3;nSGS zvH9x5A3;p+Qao_?E>wsV&xM+Bd{CG;{xDjl<1thfh~WGqJF*YAiNOiuuPV6yiMk0~ z`|{QC4xD^oR{|$3k=KXCGP9?rA})%GH)O>}cg4k1p{V%lQIUy?tqE}o{*H@t4dieOE}p)6RD7fkQ-Lq;-jNU|9}r)|9NfPvf!~Rx*NV@Fvf|U2nR|DQ zif@LR@VgJcapQGjAS(9nGR1f}Dt&3)Z#W)VcgpH2*Du2@?12Fn`jz z`O@}F+uyzWq4RP1fM}{~5FfdE)R?{LU6;0RxkH$Tuf&7XkQfzcLQf>kXp~;!~KE$ckBF`IuN~90Jf`qF!S(-GJ^rxN9u3Slv0y zcm5ey|2s6g8_&FJS7LAb-gaEr9X^Q9{a|ENoG_|Tv`#EbIM1F4CDfg;_^*KSPv!7)`!wS5^)41K|jgT+n0V8nkn01P>dccnHsa4=qm@ zk45Ag?+)*aoGy|7B~4+!3yuD#J5BM%g!l#4_@;;+m`OfGIMvpk_ zz&FIYL{hxbFh$9T8neV{`@Se%3}-=Gv*L$%^JhDwOsUU=m>LNow;3O*CKZ-T=_!OG zmIf^;5(iyFTE@a5;<1%{>5{vSTtb6rRWdU}-I;W+7PcS?a5+5-#X`lJ>oQ@Y1aPD;w)luACFMuU*0+TkDX!yIuD9BM&}xH=wGqsfcOyz(Jgr3M?m=x0{X;vLeU)H=@~3=i!mWCi;6|2 z=rP3^an*KIJhCf3PxQvcNm21RwBH)txkCJHljw?yGfeTfQPGnSXGFzSQE^-}COYEc ztmwR}h{p9ctq>;&OJDRYV`^06KwJa}Y)UlXRd)DHjwQ1+tpv7!jv6f)rtmq20l)7`) zVgdmCi#aBGaNV_%f7}^=2e4rO2$8j~gPGGYv8da_`v^iG*mXdBH3S%4M*o6i8Z)nr zym5BqtXamb#;u~!Fx!osQK5goLf2nE%h+%17aNQ?F89#C;>i$j3W)J2M98rC48BCi zkvGuUBO{5owuwi(>JL~o)|kw}PMd^N5*)HO;E;N3H_ zi-7m&yt7v@PEfD*fjzb+FgZ<3NB)O81NcK{nyPjNMiJ`Fy?_X3XP6Ap%wU>potdmX zGmGq*iHqKBtuq6AOkVuM!D}P0n{7PHu>1yNRIEB|pPynJw%`;X`Hv$I_QT@;Mj|hT z!^WOglEl6nA`Wv=e2aJtYdsNZ5?|aoDjvlu4oCkF?k_MJaeqzXo#%Jn)J7N1A;IgS z?54SRAuB$G7rulS>4m}Qri;Z;qCjsQ7t>1w|NsA`|34AO1VmgUjvEz! z6Bp@yP$L>IVIh0#L1?J&1QNYxCn3yFBc#f|hw1wBk;LAI-zF+qF(ZzPzuW<3Sd0p2 zvWZTSONhVT2eM^?Aw49nOb~KJKE}Leke+^F2dUBT7g6ycDAy73*`4u-0l^p*6(C-I z7t&#MAsLp^-twHDOtCLxmWJH|^HEwP{YFTZvqNTaYo-8GU%Ibbi@|9!KtY6s5NwIH z@>p7-AlhoH9%N!|M^aCdbqR+g`}S{EvhNAu$^}DRXDtyk8$}@+7bio)>~FfNL;Oc* z-vw>73Ulbs1@ve0;6v9B@xr`s7g-b*9Nb7xL>k5$jDfxRB^N?TX5#_0=Ey4O!_Wi8 z*F#3*01gk}h_vXq_#q_OaY(^)jrhAT`F{-2(p|sHpv8q^%O~;s_b!7JkVsq%!5hNn zg;%s*FP0?Q&mR!)-j$$_ioZHUU1`92@~?Pr81#+~#ZN}!WS|I(*B$&9amIlaH?)b1 z54S==WQF$S+r=s47wldsPL84*NCtJkdV+_R~5Q~#RPn>+E$qfl?dVr66_RNhV$QtY4NWc$?`o0gpus3t5)^UKez@Z zJd&FgiOw?q?wZQRPGinZJ&}2{Zt01%oRq&D|E41?vp&@mnKSFAp0-S9`Puj9j9Kr$ zuk-R;&$h@CdFR@v@J6Ha^8D)d&W+u-Z!^xkE&Y%&`%lHo5teY?@em$~0 zEKbh0b$0gj{8X%H5*J3riZO9vTwFY{26VgHE0ct#7>NGRR}R3|H1LX@Czj9$XC^sTPj6koS(Q-p1ofFyjfm6lh1Aun@KI+* zm)VG}z09|62*=-f@18c%I3c>S;_u8%PF$63|NW2i+xCbv_lfT8U7PlAyKU2t#NQ-D z*SKgL7pa8!oAI`Ld+^_-n=)ufFDfm71qXyc798wvHDGQ9BqWwF+(dc#JB?Yl02%nL zNK06>XWQB?ZEI^2KMBEn@ZMcn9K`=YY|Fv~$$z01V2a0JI|dQI@me(X-;Ai&F}%GJ zPE^p=^$cRaWpLX)GDc4Uo%i2@TmQ(n@Ene>9WiF^;d|6=pt?Mc%sUwqbG%^GO@f% zBW?87k3*53uy`kQRG{52LPk{V*%h9o`G5SOH*2qTs!+e?lh~WvkAf`9*&!9056|{3(+a|GfVucuP;)d3y#jJ$rj*8dD zjb&dJGa5yuNz5Rv{L8E;e;Ato@$t5eote(fZ+Wis&0_dqduL}G--lNOGyvx5I`R3D zrac5`4~0h`z7|h+?lB$~!-sFfYn`{^a1e5tF>_mIPiF@}Qa#zcpO-^fzAy3N8wO88b0GFIv`^kN7XSa#;)fqx{ zx80xAJq!M{Q>f7IJN@NVJ5G*oYia@m1VW`u3Xbr>5_wytl#wp>^}$c8yqFL>q%

    gq30i#pCVH}ZKL9>fzwfcZV?S{so(+!PNw;S5wAD511+cocwIY75`C;^<%-tYsu z>j*!9=bXY1@L-x2hYz@)d?aHI=%!SO=%O>wfErUF2)N?{I*Q%EZ9A%>lFKhvb=IIu$IF3X~XmnWT3FPJS+xA*$@B?SzgDTU*Jxg^UiIzUc@)WZ31?^ zoz7d*_pTX5jm;W+SFQ0ykzWzxOZd|^n?eCb^a!AMA0oBmY zL*eHl=gzKd7Oxp=2baEK7uin^heqMPhKnmZUu-^+eV zC{HKkqhB0JkQ4Wl+~5~SNE@0^$0SAQD_`Y4 zK+D2YUmJ-ukuY{Yzw^w9L7^1)@vUc|K+tg$9{a`!T=QYE4^K6Sw?^ob|HZ*3-yDGz z1BMSsw9~{#!|b_#3L-F{(I=lmBuqU#?exms{P`zfv%2Z(sQ5))9KQ+C$F|=I)ij#J z=XTKSeGrY-BWNTt7=|DD32_K#AKw8x|F}4QoZQJLK~A2Di!T)t=+;A#$hqNM-E>HO z@Zy|^le**h_@DdHYd$(NsxBq*0$(`*SDt+8llZ2*_TWhq;`wc(Xi9wV#0j+jLSYQ; zKLF><8MK}s!;l)pi->@z7w<-73f+RA2wo5xDrqWomtK7L4tXq}biO5z_rXWhD89LK zOxzneK))F0HFXEn82)<(X>LNu%a|T$E7(Y%Rz(qGKwRsNuA)+Q97L=KD;ZDp|90p`5VN; z2>CI@7od*Qr{nlCrUqZ8b9_09FOMyMf`;`z$o2+0&+DXyrH^S?1bcEt-9wDy-CtrP z_2iJI2$vUmX5P(%dlB%w0r4}ARh)t7r32zOBa!(OcM&<8;P*ygH}SN5eo!1BTlsoV);7qvNPN7Skt)CQVO>L0DeU#$nYRa=uE) z1C9e^MGt&&5^xEQHE2SOp_90Hd?(G{Z|dlgXNM2t_@0JweB-IB>3bhV&=MUJ5YRC_ zLo*9>z;!tGar_w8NsfPvp?HS4E^^=lxbeH4hm0*hFt*f97e73a!$Iz-OyJ~u$5EKr z?tY0^2PE<+6p{%1Qe2X@hT4T58hm}6pt zyXVuzZ%?G>9xNG+gfWkvKrr$9B8?dDN&t~aeTbGS`Xun^R6KaYNk+mrWyxmD(pxK8 zTzKU;TGwwBG3o~Kr7%7_UHpLY?>6+Ej;T!?16~tOOlbtX#&dwz>EdVn^=FEsIKJy- z0=%~)bc(PeQFpxfB4Xp}#RN?IbeCFt`!@JyvEB!1y^n`|Vhp#QKOQi2ytu7QZ+?og z!ZQn_xP29^{=|+fTG5nELL`xZNv7+4Cyj~Y4;o9!!^;s}&-a^8{@_V`cj5$w-ERyM z9omQS&k&=g5y#0N;K4A&HwF{9bRS5hA)XO5J^OH%t`mSiu!B#&%FzA*9>R=b^=F71 zO$OYjKp^Bq%n;v?(DChXlMu;3v)*~G^8D1`K78xh;mDjYUV1db>-yf~qu1cO`oQybStneM zq00wy;-7X+;A)b_g}^%}p*?^HjHcy#zl?!@duJ1F{S$W-G??FA{sj8?xt(4D2S7h zsupz@Vc2(dk!Vj1lSmU6Jc)C{;%yK@rigy)q z#{LrO(DGx6%DL;G0HBzIM~VHy23?tLh7_9^0oCQ*)x6JU~#ixV0}Im>@> z9L05$qGC^iYlwvS&%pyk$ArWOLJ8w+k%r&?;C157ka8Q%>x5~{{OIr2j4+St*)Y4zIH)t9Y%=-KC< zeO3$|G-m4~v2k3SGdh6IbasmE3HiG=Ar@pY>NO)5-LrY*%DR&goJ;&30lQ1XZEZOJ zS7xUl2p@W=(u&jX@a+$QtI(|k;(mz=-ip9#TzDQqQV;>_#hu`_TcN_9EdFz3w5@F& zzBrKBA%@4--wGwI{em_;_Am0$4?|i!SsaA?T`xWyjz`X(MM3zdAC#-pup2kOJHkrw zo#Du}h#Puh>E6u-xiY>FqdAy6`(3`z-MSt8T3^2x%mX_NlNMT!m~Q-p5s?XRA?*Ur zXYeY5RYMC8Q&iHE@*@v&6HoG>KNgO*@*SFy2gC6nLD7oO%Xd}Ji?LEL+iPsn~zFTR49aaaxb7*Y_O ze3VbVhG{32oEo!Ka^tMFy4N65od*5$FkERk+dC3x>kC5Sr$?U9!QM}X!l#HgkBgb3 zbHwaK1Vz}xY=yaB8)%?6MaRV@(A}a&V$(7hV@BP^7@5xzM_xxlEE|VC=8(AbfLI(C zmo|yTrm?(jb7oD1QUST$vD=k(=PNL6opn%L)g;bJMCP!S=YXr>^>rtR8wqeIYiDA3 z)s^D!4wJd(Pbg3RM&i#OT@!KI1BtOk6_2*eS|1`pMNCI6jCVmYC4u>?MEFZl) zd zAH>5q0WSEGN-EFvjnf&_NxY`yus^?r0PD zO?9-9yJd10$NXIcLQv--XN6Vw>fvy&n=Q7HdFvG8A(?_?*?t2Y7t4lxf#BHjZ(CDWVEclcraVgvK^AEb}B&hXi`cbfQ5r2o{N zD&9LSj+37Z#lK~=T{9M0WYT5-~W9?_r07jCK$$N6U%1WyzHwmphResx^*;Y!;waQy_F=o`g= ziI)CQrj}m7Li|fzyj6S^-0Ap<_NB|((8Ty~6WwbV-;a~`foB@86_-^R zy0N6{*bm@s&)A*Q6u-yyW}L=;nz--kaic7{4o5DTjVLQ|2aNrvianr;Slq!ZG6s#A zH(rNJ`;LpOr4@g^a@hExI1@tk3HX1taR`(AtGa_1?&5#(z|B{WepsBh4@3UJ&V3Ri zP66P&<)aF4UI>Mafu-#?68RBCP{t%dVVgr8!{lDvdu#ZRF=Q+@wnz^JF^tfus)_F) zw7pFF_|?Z-Jy;0d4%q?8E683Zx$ zjZgDKpXVE&he_kwr8)4ydsu}2R%rZN#_o?8t$+B{ppn_X$vE>%ZJl4LYZ$C%OH(e)4dMT8cb3rHO=VcaSzJc(R)8I{j>^Kd+ z1)6Tx$#5h}$n*AkGF*KxJmG}l|8}qA7AN!*#2ZbnW&e8M;{dd)6Ii6TjnKLR59`OT z!|5yAC*FzPegv5hj{uEkioGzo5;lzD_(7OM88gIU;z_^WPUeA6h9j4fbP1Wk-2V|V zybogMKIAuz?-4%@83=VBiQk6oy!(u|5irG#wFoF1Gl)Apy%WJmcZtK|SFjOH6Ax}9 zLt7dFHI?%#-=mq@Nz7~-*(6{;u8*{wj2m<7rWvhu^}ni{c28aXwL_38!VQUrYr(xJ z!>%3xOq}d{&{!bc;}{C--_!9gJ4v0SV?+FYGZ`4JfBgX*zp|P1%IjZG3gjyY>^ffj zYlv)E_nrkU<+Itbr||AXf(x|w;z6rna-RCcR!L5_x*%#sFsTZfk(avq# z$5k`W*PGYA<=U+n4Mdq0NSlNLatZ`6YWHOl*3cU_2ct$l&_MHZ3;ZoWz^g|e7QaF$ z;oFea!-mK|!uDB@fVR>7`{5}W6`u`7SE3!{JmE6@h6sWj{U=J$ohDY2+O!xpg+uVA z5N#&{{&2%6j=wNGf#Xj%L^loY#pzxMLLY{(daC#W-@f+hF|f2R?gT=ghV%~jJ*Y2{ zgW~njkrQL0V_bYYWE|Xk+aD@zt@!$vcarJ)W1vU!c$)Y+NDv8ztTGJ}UD(?Yfh`GU zxQSMBE#15euM}|o_fpwA90sl+SQ0emm&0sfyAinm1OXgSVmJTpYj{GyB2&TY!A3Ss z{2K$pKSuyiuK_=$8Mqa>zI;OJ)!UeS{f0Cu<9#^4F9OvM>E}BSi-8HO!~%l4m!X~o ztiv?1WQ@!PQV51}+>pQ4rH&zW$CoGLy$WAq`MJpx+^e<5ErjQ=YGgIG8IRNY^TJ9wIZ0D*BY z&c>no0DCd%e=R=5hK3iyqnp6{p5+@K2J1ONSuOU558?Rhto}Y2KD7A4iue?qX9sqS zE&=F&iuvdh5rY3aAbXvGwCE-r{|w!xV-ov*7CMa8dANb@J~u?Tb@w#lgI@q3GH&f1 z+=SD;J11=1x)BTcM|QzKJZ#JyFm@Pi$aqJRz{^;x8(q^v9i~)I;>!CD~LTh<4mK1?cmY9n|Q@V3K%^_%a+)$BU;M#vv17 zIFN{Niwp)QAn}kMdmDrnIwm3EZ6L~YOd`n*k;Iy9dqAd6015gSj5xQ7ry}FVen93Y zb|m1f2Kg7p#J$(R@fHQ8H%23GnDw04vlHy)R>0_g?WE6x=+%qSdZ7GuaDlvkCn>CN!No((_=qintEG=UjG5yjWApB_3!ib+xhzU`T8A^MEhIz?8bB7 z;c2)ta%c@@7!Qn!;~;I1F8j(2kH2dVwf_|isva5e1bjc|>AN{{=y4#=d*KsK7W@zcst5bzyVYshYDeqjmbge2hbOk5D zUy?FY=bqPyD6OSSWlO4tPwj6nZ(JTKBabL)a>vS{7k+Kd9KPut=+LjsqXGlrd*D#Z|mlVeKV9FiuHvu1tjff z%B_WqQ|Vl0E}C~ot0ggWnI3cjzsqq~Mo*&1P5*H8RgL$&#+qjq-*qnV7A)|VSgfTv zxhARN&Cp9-a|vUz0t;2xsqCnAHCic@^F4)3cO!+S(!`fCUHL+{eO->#`Ar2>sgBs% zj^<oA)a+C7zVjDS^o$6m^o`PJ5-H6L3* z@H&Jy0I8+ElpVPl<@nV`YiJmPhDeDQuF)x24VV%ddLzwA@{$Z9DT~9d_t2#C3&9KH z#JnwXKAIO=pHgemDzS7iMw2AC2bgxu#l*I*O_o!@#Y};r)&^R&>dgx<_b8Bs(pV{z zo{Fu*Hvk8o&eGDJO8`3sdRxQc7XoqE{Rq#^RI~4F%sc&buloGcUAX|gz1{f%H#n&| z01QzLsF(w2niu&XqIKOCfNCtZb_*gu%jt4|LB)CkQqb<2Bol}%9f1($djtR=BMhZ$)H)|iv_B#hiTo-zWze0FEo<8g3HS3kMavl|e-?vB1=1x>717%fo$L#omw=h%SrE z*=-OhSgvUlQTdgXY&KIOj?&X-7PA0>WG`9`r5Wjxh~q5|;zI>Q^a9mN#S*^Nof%T} z%?JAye!O~`1D@u?_yw81esdV0fN~APPg-61XKWwl{P! z=AdF`q&#y4N&yzq8Sb(VsWi(iB%7nCeV8F4OX7gUwiI9UfVY!vP`?3=Bz=KE;9dTU ztNB9UV$Lr)2tjj;6ZKj(Pgn#RmPX=>nL(yXv6Si|+K>jSlmNbJ8k!dYJTpBd@Jwcv zse;+s)!x+{i=_v;st}s_EItlM%*z5rsCbdPmuglQVQn*|0j5bCO8Eg$AWUK(+WA&?OAJyQ2xbz&{IVm>bCa!*Hu)`({PwQ7 zvDhNjN{m=)DZ|iF$^hqSRcn?>{~jy51`~=Rq%t`nU&t1Hc^F=Z1UP}9xS$+Di$|!; z_7+nnYDGa#1uY|yCYc%PFBTw;HqT{{?+x)Pfu;h7!0a`3t6jLmax<@Xig8E9K>OCW zX)(qPeroNTmq-?x+|X~6a6l9gtd!1`EHWS|fI>8nbfcPTNtu9L@0g>On7?$XkImP- zoSMBUd8Ah9+b62j`XWm)V46iRLjXl-*|OTZx;!-EVu&HXzU787Kc!x5k?Fp5ZAy-S z@CZ0_R8ei7=Q@RWuf$L$tARo*G!L)P3PzeQcY}e}E^RtkrHgjk*hEhd{3_j~=2;IF zijsj-cc#$REY2;7vX^QTWzQ5S2@a}pAYF%8G1!lyZzhY8nlsoc4kx%-xN8qiF@Zr8 z=k4oaDXuS7+6tK@xt=S^u1Ke$x)NO@$Wa8;qu?(9#g`%?7m8(hsE|yTll`SkIs=7( z#a_a{T(M-j^cG1ub$gnNEF@}|!)Uf9%_8`%NnFA1Ln|G6x}siPlrD8;dcdslg3Sxn zj1iAiNF+1Qk|`dYH7z8^EN33We-?XLj3!!I>LqeisPy)t3NRi$GGZaM#9D#rFGVs) z*vS-%p(OKArJ=aUYbbeXs=Sg!t|0wlp*>YOhuFMuezmDRB84hYi{BC>d3v}zHSF$@ zTDl8E#c3q3CA2HFPjJkT~aUFa{I z&njRqrT>{3KoOCl5b}%7420T1sS@%^A4!$TKD++`CLj+{AydNIiV5M;LM4*@ASCl& zNQ0Aoju0yAwaqxiNz4I@DSCQR{r#lHI0bL0ifE;Z1QO-x>n>J6<#^(tfCNZgkOa#a zMsIwuxn;36;em4vZQM3Z$sUoi8n7x3TM40c7D=#x>A}8CA4v`n^ljWvz&; z1R=k2#Wp~6EO^xYy(DWgFt{ZjO){;k`M&;M2YDUW1nF$?`&rLE|rLlJB7a%>urgT?Cs22mq<&n=nM+9Ax^ z(eNZ|Nmw>eD|VE&Gk}mSgGe*03mzEJZ9{_+zBMj@0JQYm#`khdvN;xryv>UN@T`~H zUyHG}kS~DVxfpz?w^WgK047HPq+mg|R4lN}u|iU12tJxvOVCyqxIHfR@l$wZTl=51mYF*6bwVUbBYn0Xiq5x69%muJWlksU?u?#Om!1yI* zuL7}`MhI4yNCF_Gb!D+wHrEvg84($Es-TSvjEI&{>bkU=vGUGI@KwZs=J{Ap26|<$ zCx!`VsA@S-B+6rz&}!j4FgUM5SRiUeMsBj`dAp%rv;kpKbXIuc8Zc2TCf8NFynulu z#w>9aaRiy(g0d=)eXF z-9`%GHuh=>OWBlNpr!kFL< zA5~5yh$o_DS8aXSih&8(${S#wY1i;3!DwcU9?;bTIX2b2!(|^aujr z8XuUaU8Cs`-jF_-pD` zqZEI`b7Db(#FT1=P$okdon&2>nUyd|2e>xRL(iSjC^^J(xD`Nl-6s){rPV~D+kVYi z`_U$`96%@5mIKl^IcCGvmO`Csn5C6;6;Q!$HCCPq?x5U(tmRMS-UN@FB0rfx!F8cD z(5hw{^jrpbXmWAp5&5Bc0W|qggIwHSL>w_i79%K$!a%3?$v8+P@uNVh)I87YeT2AE zLZ}4rs?>x3GpW!~2&hK_q+UUh_18->>C~{ay)ozHKNtl#jS6_M@U6p~)RL5ofu`7& zB%kpVe8(LM;+`ip{YPu2)2rxX0%XA{79gOwLro?RyO53y3!RBYRWVxQmXE?Y--C1_ zBW|54mUFB!^ovO=nU`S{^Joxk^$%2!t?v*)ajE-!!2y;`alos|a&39)T+pxP4Kg5t zBoGAM*Ck`!0=m6G+pdWB%K%M|EkwK`7*lVhufTR$T5Om^{5%V6#w;Q*K*p$+%f)QX z%w&0}$FhpKy00lzjlN!Kf#lhC4p2?Pk-;EY6uqeBG;DY9-n$$W6`GU7t|fE2wx&v{ z?(O;XoOOsM1DTtX?8%$CO4pn&?4~!TiDby`IWQ(|0b9XVCluu@cXf7$T%d?-x|d|; zvsJ{vIZ_^nVS-#|6#2&natdyf&MhohS0!r&q4~H4mLIg%AI1&`coN3XJgi|H2M^+y zPn(%;CLyh4Bne3`D^{Ex77n7}!AvK8l^o0GktIT@bXh3IdxFWA-%Dn(4MP9|G9 zh4`wU;cz>WeGon!1WqmoE-=#;0o|yly)=Q1Sn&$-Zg8|b0*_RzoWq~mN>TF`Yvyom zECa<((L*@wPj!=N1wRn?=x3h%nJ<49guu-Qu;4hY8tOx|4FXKLpbe4Cnq6^+Ie*;Y z5xRaSlXx`Jc_kjm!{}QwTS}#q-FYBL8Rt3?MEU)WL_(urU9!}LV9*aR%UQu#uBByW z9w1dI1rEYhsxMP5z8l@=_p8HcF6ND7BTtMI&{&3)MkHkew>4u;_NB7H6sC&ITE%XC zHghlhIVUurmcOeEqXmVZdbp5fu=9LAz$S+=J5qL%{ip*yqzIxkN~utK7V;R8L37-) zpam0NFPlVVO;Qxq*O9zn^e}d5QLwQaIy0hQMqE*V>U+8c^`ZF`9S?yI5^6b}DsYS| zI^{KBbLcf9hMg%!6zM_>fk8{!XvK57sev96d8?FL`3Ukn*zv3scfx8yYTNlqQDxZ- zh2~aUH5f)*y@ohbgP~+il0rY=-C*-_Z)jT?!FKqF+kP-rP6VNWLl%)(q17>~SGWv1 z#GR6?B*XyC3a%po&^L{?eNn~n>ZMh{QH`a^%q%}@+YZ_w7079v@r4~>2%Jr)WoRJ6 zWfcw$3iymAL;Rl?7F0gHSo7W8X^Hur#d0p;wMBfJVHnV zg{8adaKf)$qG0CVR~uwx>^8AtLflzkAKd{`^1^(acUzUEV+ zYJE|uS430``Eo8aB5g62?H!CB{1wyHmeVqYCgm>i(C(_J{yh{$KF`uPUG)vZZIH6%_BkOWjzI2}dUQ<`K#6DPHEKES$gGdfetFob z^OlcgI&U&t1WB)=I`V{g7Ez&*)`fyl43dIBjfVK3jOt|d8i69DH6YL(A0hEwQq3x{ zbF~sNVoxJH`J6O_!VDZmP8BQ=v5${{I5EVw^vqlC5yo>IUI{F`e?EBa~oQf|H;Rc_Od` z)~ut@hY2uC@XAt(f-v!luNHJe^qsOn=& zI_wDMdPY`Pws0WCa!RzFK#Uv?*6q9H57`e8aE2|uY`ZZhtoc-eBYuTQG{kW0EE0u0zPOenV_2tg2pN>f#so|1EPLVqDadJTL zkwr-m@2D}u1s6z6W={dYH%mLgd02$v%=5JrMhWCFv2n6y2)^SC(o}*311p^qPY*#f z!c^EwDd_=798hmgMe5xC-Zw1^B?ovbN6QQD5z@WM5!P&As2;PFj%~pZCZk{Ou#H@w z$NZ~#zKpn*n5ku8HGh+q3?g4k6`{JHV%orgB_t7RMbVPb)-|c2by!eYt(_()4J$HJ#AlkWLg?EoJPz6jh^BJzN;;0~r)-3;}@mrMFWckjAj zwE+e~>GHIs3--ukl0eQmjGySar4XsbaXLr>NNq0WC$%(ts2@`11(O03`_DSanS<*E zS{X&@tnZzVRL&rbaw4|Tg=n1+pkc3*Hp$jXY+M7Knmk5lVD9Uq*`+77kMn%DwU-ONRWos@)}BEg-|B#^O#F4 zFHNS;3d`mK#JNTJfMozIklR|QZF|<$sws|)iBm{l;JZj1UjPCh(qwB5~`#B5OBB@?H&neNBqlbu=lM_SIO_r`z#yba<*~^e7gUK+*v<7J3 zIt0?HpTw>MmapbYV;tLt{X&e68lpBQ4KV4BA@yNeoSJSGY@3x?* zI&IID;v1G3-5Z#sfW{}sJH!`y1jqn|3DL%-9-xxT;k(c#BC^Dks^Ny^_o!BGuXHf0 zLN>W&|Cx%Rla?>5l>vA9i-Xw^@evt7khk)FN+~#iYhD;im7{KZXs0$5S=m?Idrd1f zU{p!`B%de>PjK11BOs9|za{gnsuH2V0!N^Gv|`K{onGvepM#&fuCfN!O<+&UO~{<%c$a@5I)xYs;jNETc{73v;s(J64dO$gNO-b9+*Sx z-6*tzDsXhzmnv_?0Zl`yAP;D!9Qr<_!pxAVrn8%8S$C(I(w*h(Uq=1EtRuNlp3aZK z!59l+%Js+aPMdE|7a~**i{yK8eQrJ4YMyJatZZ<7SH~imiQ;Q&9(IHGwL_ChebDQj zrGZ+bw|fV-YO*VzDu>oUmF}zbtejL>EgF9%S--HBW zb|Gtp3iJ@>)8z6jyS@U)bpa8l=Gy+yWh$Z42R7PmuGZWMgY&=1R1a-=4~WUB0a=POMH9m6jl#G5mzpIMQxHNkK*O}bPGu)w z4lG`b)Y430b$hI%g+7$CkPyC5iO9q`6;5AV>@Ak&`f%%#q2^|Wqd~+%CUg02EMF*> z>dmey75i3EO*uWBatQ@7=_}Mdz2d-ra06b!vZLEhvE;E=D4>;~MoW|-En0VwF7)woQ;@zSeBBgd0-Ug^nyaTF%W(^;I!E53m1d_b zW>F#uLj-k3k_pWEhN7Hv#v~#cioyUu%9PGUEdjVIDA>sDC=tm~^hB;Lr`}uGA^X0LLi5+PWxMdIiv|U)$d=IMZ0g=nyci0C znUP=GfQWl!r)rX!>5*(^Bl5d4@W2hEdh^|vB60&(k4xB6Ht!OErXGLABDR=D32+uA zcHjyvP*%^bx^9v3&?*EXf|p=PE+MSjK!63O`CRL$**a>mj^??R*=D08C^l|xUU1cN z>(K?)(L(EJksbmJn7~U?`_`{sxk6)&18Eq{Kq^D%f7xWO&iVzb7p`0o0^7uYc%1+) zr0l|IsT=eTSlw(**b)oIRY`OALSVqe4XJO;6{+4ebMNh$QjswMrQU3~XEw}m&j1Cm zrROx82e3Gx`0~QmLUB;BICb64<?<04TV`*UpvJvXo6Avpe^&$dIACY8`=}1AOAtvcX92^ee3Cr;%-=9yfOZP6w1%!}68GBCX(9$h zR53NgZtyuYCY$Lf?B5m zjl>#RROw@~Ghb69D()raY!WR)t&;wB5xfjkkq-v>N=)L z(^%`nW#mU-rXhT`5Rel6V>tB+{g(_aaexh=mtcbVwZcWB6)tiGA;|_nm(Zl-B*dVz z!cb*#kq*wxh^$h8s_qJ``~Zcu{cO==Y?x0M1EdgGAN9P4u3(9U84LhZ4i4g+WVZBa zzno4pCXvS{ebU0`G(#iAMVK3Afq58()hAH_g;f~l8N}5vxeHcUj1%h&3u19=rT~aU zSZ5zDwCBn8-`at~SN&iotsQdr4jiO<`*SH;<1DP-xq|cb8;q)BcPP(s~1sS}- zIRYWdZ-JAJ+Un{}6@c2U9sQL8+^!h^5Gr>MU=CqbLdGoIaj0F0VX2R9YF?t7b#xEF zyDq(c%liB}q($Y^{933ZV{V`})}>IsxYWT;FpzN42a;V>{)s*dHUmKw2SciB@X$C1 z4fO&Y?bw>{-=Yu(i^bZjmWrO<6p*8Tw zBe5u7DR=Odd|?Ho9xOCzpS@{1S&{1MT0fuuD)I-~11Sdo&&S(q%pveVJW2O0xzRiK zT_oC;<+L+;E?i&eSu>c1jz~pPAw!}W%(fXyp`8tg2P(s`+P9&&mOI;zB2Or$ZVvGs zFnNq;Q}bf~v+L*Kh4pRRTL^r33enfHb8-lT92E4ugx{s+ov-jnpysWl?!q6?AwSHs zh4Ss&N~mi~y`UK=A#|7Pw=beE=!Up`6!W8qMxN0un-r}ae}s9Zi)D0-zR#bd5oSqh zwR(i^wKP+szMiaKD0{?Tfd>RWgMK;tYMnxIT4{0Ssl~AxOAWb)x%@liOx;5T(FZuoMFI0cZuMt6EwyVK;g+l`{Mh zj&wq+dD}x3ZH$tbtZZX+r~{Jd7>;01(|nceVb*F>*-onO<{Zd^)l^hL4!BcwmctI68hm-M3zjMiV#93kQ3QaUa0EA;=AQO z^`-g!seGxmt1l)U&Z^LgjTCNJ(z~e8r)>Lk;7%~$N+g5=LX%0)L7B6731HR6**<3bda0Lxa1>6OApyaG!p=Ef50s<=W zoa4X^e`vjWq^4$lh|4{!=~e2{s~Zo$4GSW|Xw0I29J+ndm8;*?PD|j;nqs#qh)A!1 zXXy??>>`^k9=Sw?e{+;=H>=_Phlu`VAn8#n&|!P?>0uQgVf}Ed2GKWK2VY{Pgm8b% zqfMWz2s*|EZ0uk!Xlq}GDS^GMZ=qcM7@^g?BvB{ODGfd9(qcV>t$lc4K6M&LU>A$^ z)KD!}@6_Odl}W@s226;)6)+75%b2VF$L1hxfMxV-V=ZG13T2mu*TdbADJ_B93fq=o z5j1rKO+rizv|7sefrL+CBV~Sj3Iw%h&Bk^rK8iV^J)E5Txg4AGX!)fTF!%%O(=i?K zgWQ-RCJ`pMN*}}#D^VQW$6oLGNf+5^^}>x0zBt^5pCWi>x&km=1rh(=kdqOCom^oy_}PwKPf=)QIbW(G}7q76Ug>+13J5vN`@YpwC>hw776S zBuh?_R*>QDcrg2h3ThP}p>P!7pQaE2RFovNtx{;Pc8T<`QeDkOv2iI%Y6(ZOa~m;z zebQ032$t1?fNX&U7!5a{Zb6oirN-zno?$8m% zk$t>PT~~fukgP>gifdgkNVaQoE5iA>2J$8Q8d#2^RF6_d3Pg~FQ0Bjnvvxqc>?*WO z*JztC424J=df1om#@eB#z+A**)|zlT4eevo!(-GO{Ac3B;Ah zI8FzSa&p0Ge=rQFEUNMTUwVrvEiuYpnq;Kh!)7bh2^OVUIl&EfyK8BlS+ebjcg+}p zAMrynkEsjgdHFFJ6j-h?#fM}q7Ns2|-?KZXpZUey5u+XR;lm+ZEVJ-Pk|X$dNehov zpt!~kYCV8IU^V3fYOCs^9n)gXGzqtU)-Q2N)kbDQ;>KkMlT$h!Z?~?<1TwNEoyk~MzhL(#YFNg3fCAVa=pc=& z11gvl5Ls0{@`2E14~T_?)s3hU(RFO!GmuBMYpMIXgJyVjf$6kjtXolF6fA>X#6MGD zRZwt4$#(2%qIP++r`X4U)YR3a2k2?GSh@p?!rN+s`pJ?^hel8L%T2JO|XOC^U!Su~3LEi{926CSpw>T-^* zC3i#rk@7pMG_Varc1N_;%vJ=a;_?N*g|JqqiC2zo2Ban|vucZnIq zJ?Y7kz>rf++3p-#sDdqWdoyeW8a6x@4QQ@T8^)39mRxCzcEQfIpg&}rhlB%b9!Gvq ztuKGt4FZ7!FinX{=QV0^N^@5Py{r1dlTlzT7}R8jmrZM-!k$2A$;>QRU9y-plzFdp zNE>Aw(xpZy_i{T5vT1m&o!JNna|v(L?p2sd+@4R`LLpEyJUgdlc0m?v!|(FzGjX z%p-#bG(VO{rTt({vacfjxCAZM^d1Ea)9%cy;XuA832}OXbV&*rhoSl@L9Z%W z*b?%2jrOs(A4jM>LTxua-WMLzrOm-=Nmr3zk?G4OgwA*v+XNRX1a=6ac$2x zJ9H;2e?E;_BjXPMlBKGu5{S~Eu|Bex08NO^c!{I(6>l!Mk84;X3``0~H(*mJ$=&E= zR;oifQ@~+)vD3XQ>r!o=o(gRI*u{hsj;P2C!U6kJ&N2c9yk17;Q{OEz;Uh~{ z{lYSQm()@L%$l|XfrlsA66;H2zQ|(gbL>a8L&Wdu)1d8F&)9qpJqn-c=0Z8CUbSTk zOWgmnCUDwHO$SmqINzVh3aORW@`4f@88wuU!0Js1wN^ojb!73SK+~xyKdUXWvW9b2 zy?`efv0dUt)ws6jSi+f4(AKsi;^@?=xsnpVyJU-%P;^f5K+_tA1GxMRmw)O5!bFy)zPime(69jZpbl&Kyg<|lEEON1XPE%?0_o8x19Pi zG38@bFQKq84&Z@Mu5Fyy){2aOiZ0Tjj(4GBEgo6ezzM`oJ}@6ZkVRIw@K5@^}$$vyzdge-xS zH>3#$=9i${cF8SAujzegcG3I-bPAh1}*37sWXy-5ojz0-^PAmb-Lp z3f8y$w2<-F5G7laluk5q_x18N>F_prG)y0X(;t}vQY^WgA}yR{odU!1CKDe}i;OL0 ztp%=@F84M~$^th;nzCx+p2=V#U}Fd+*+9?3jdTwq30P z1gTtHoIO2)t`YHo3g#I~w9m1Ru(y!7gOO?yfb?Dl6u`gnrc zDePEA>jlzBraT`o9jI+=m>K%ap0=E++yEf)@Hh~$lyN*RpQ(>)BwOt)Fq?mLsVqoI z+nv#VLCWD|#9iA}iO5!2R>))||CUv+wdCzaXO31!0oxSHpC?uNrlNfM1$!p6tga1# zFiaPfA&h3m;rWpQ>3k}U9qXkkBGRd*${cBQSqVy_T=Oh|}dUtktHL$0+E12xFWI+p!kgwaNh9ynb#ir=flwhf(K8lf$72<7Q zW3*YVHhDz+;Y@aPGEq5LMO$^AN$WaGoaInWdoKm@B2(CSic8?zLWA|ZrWr?Sm*zl6 zH=%HX8s(CqVlNdqQJu9092l<(YuW$4L|nF=sC;EkQp2n-0)%9c{-KgRQU$ZMi(NGy zwDEFi%P)Uq^2g-zs%-loteAZQv`I^KD|reUlA~g` zgip)6&ZT7?NUXEQyj5mdlD14t(8CD6VaWV52W7JY=v)w(99ojHxC3MltAj@#Fsh|a zn`U?<6Kl6FcMK8?i1RMvqFu;C;1mGO)d?P4%Dc?sl2nj4w?fQ;M;h|cDTjeb$67nb z8I&|l(GGoyHbmT&4<>6C%z$E@z(+^m3|hzbR<5YlT=#Y=OQEe@=uNw=fXzRjf8S)yDKb+(n-6Y9ozXYm=H_rE;Sa863?(f$j_4vU(- zsFnfIgmd^YkYg7aX!r^rq;C!g;pRhDaR6)WLHJyJe<~4PD>>vGm+{+ENWe~0I?P+N z9kCNhePn4;7cD3ADXk#n%-TO{&m)AI=0%PW2w7TyL)(dzs^B+BLC6a(!;MLM(n0p= zs^oi3+NB~xn_7b8%Fs5M<)QMK3p8Fk=g zrQ#qeR7=1{gdJQWYU4u`;PmCAqpLC+ysD(dL=!3p|GH!>O>V6bX&quJ+oMw+sXf}# zj_e>`3W1Wx>FFi=lf-*6J9QKbyM*%Dg4%RbzF;S+l29%04W?A4M%cDVeNWS4>0PZg z@j1DE1*v!;ci9>0FGyC^Rj@P-M~;?f!%d4AkVxig%`f>nc2|^-da1rGzXfV`L79lo zI5*hqNbup>N=KcSnAt|_2%uL56QzDkq)->#@n!cB(Ecw}Ims<;?;OHe6fs28!1E;? z9ehQ5y-@T6vAU>~rwX7HsJu6u1t<`>-9B6|fn39k7h~+5Jv^D5Qhq@B=c3#O2w9y< zSp!7dM;?Esy1_yQplb?#!EvZs+wdaje7N8XM4VAjlr&Q+P{;+J`$$bKnHs?q7$2MQ zip?#Gi951HK;=CCyM@@X2T>a|8N8ZSIX^t=&y_-ywWMo-%t!-3EvedIm=ustp$SSU znQB2DM8qOf&e%FDr-X_5G3mhLBrX{otRyhv#~^@I?UF0KP41~iy+=~g?Z|*osi!No zp}3-}N6AaaCMa8GL|FzeFwxrSu}6>xarLPb8xN^*t2O$jQfefcNEBi7h^{kLPGzAo zDl->xz49WJ>_CYe9@WPI!^#8%=?0HU{h7#=KO|*76`;cYJidY@OdtP8(ge&Rtko2E zM|-|7!dIj5RXs_h{`l#KcB9#DvY1uX!1A1E>Puoo2llo><`L|6Y$o@=@0`CWd4iI^ z0?CKu6>`;OnI$Eodf1SZV9Af`vO39Ej>1dpv`9J@lNGLlHvG|4AbSZr7Ll|x6{VbP zn3_r=(TMiEEoQr^aLhVnIupJ?6+y~61MO5_nd~FFLaU<0wnt$qwb0in%CZ1anEY`m zOPE+YWbG4*$mU&mx$qv&l^$8|t7NnrW1DgjPpg7=w{>XNGb=g_h(%(Kc?CCe?7qoUV_>7y6b9j~m{t&vfI zTtO@lc{TIbw7{pSc}zK&lK*W|J>_t)0#lY2ZOFhL5qLfae#yFbwmRge+g80H_FZhn zHm=1|62)Gr&L{8(MeeW{hKqFi+W_raOQheI1|?|><2qKt>*=@VJ%+SMm<^_;2#!w& z(mtJD$?QvIhY|BqmQZgA6KAa8dM>=Xj_dAX*qLqIA%dSEbA?0=$cF$721ichvy1uY z;?-6(vbOf?(&(Bu0JVv@$ezhM(+FQUbW7-(y5zFVl-v&xBn*r)=6E;@{LdI%g$u`=#Lj+vd>Sik%EQyCYhAk@y1cdC7x|Qr=elH7VSsKjbalt%D zk5!(p`Qq)Qgh!EfcDSwsackEjb?VEj3{PE4H6C?h684X&IubI6C@ZPla*F}$7_E4P z_?3WCy~rMA)3~qPW{v60mgUGcW-kXqbV19~s;LrRee}fQ>()LAHnR8`kc}-4vZG0o z=7Rbm_IWxoom$bQBaeC4guw&k`mzts^$mcH3@e5H<=L@DWiP2&lO%#@?J;S=Rn{z} zI87ltu)$FgF;WCE=-@!Wxl$jUlmltQ4%e}7mgVeWF#x$kMke-pmD19&IjdIo9q)zN z!P~?+wKfZFG|)S$a*!%c+qb%+iajb$I<{D8t15LouxL+ot^)5#c4%<8w4EZ?(S(|- z>`GcUhr!R&bEvMijm725^SLHDhSwP;z`~oe?Vw(=AI)ta$d(WqW_h^1B9Y|0G324a z60k~cLqY75Y+MM#^ITz@7Gyk+=-Hw7C?IzRnQZv4w5~vZpv}LT-Ak^AsDGGJl>V&a z?H*SQR31`rP;x9K2;@mwp2zUnZ*^_tLswfKs1wyy7I{~N>cq9nZIR#Q34BgC+vq6?9W^$ z+a``~?qWHxEWd*W5o;quNjz%`&z&?SPiAEX5e-YEwrg=YT(olGee^(^X;~msJ8OU` z+GfM4yv$bcF;p&M4Gy`i%d&h(3kYaWzz#Kdg`@;>&l3T1U|paHttLLuR)@J6;97+N znR$}9d4&XxOIp_n@FTOY;Mk;RE~3P=-MbSdC=s**W!9Gop3Jc)&(d=6X}2-G8XIcm z@-J+taadREW~}LFmqspw8foweT2&4weaDIk2pk~t<#;P8Qr;&o@!}L{L$vi^JN9T9 zvDven7jMX)6`zEe1pN1LwZBV>I;k?yachrT2KS*~js(0`D#C7;km5bCXg6-EGR&n% zvdp)Y4NPffI?Yqpvz!WxI0Hbjm>^4tQarUKzQ*PTQ0cX|Sem;wi(nF-0>_IUW!o_c zUVDMl8sVX{9xFA%KvHHZG~!B4=7q9&t=zQmSd}8}fUclTxGhH<{%I3)Vt{Q$6^AXj2m~O5-`SOu-m3XObd8cA$Kmt)d%eq9wR7Pe&T0m=l1q*>%vCzep5(-0_ zEcDYNIlAiQXLeXZZ5~8x`E3)5gaeD;`o5q`4pK)P=pMwpnd(?28O!szTo)~X6XShq zrzY?U%dzxipg3r z`85#G;PsR7qz+DC&9s)S9o1ajvV@F!nS^r!tm6wUW-SBYJydO?$J%(vyft30>q{cM4yBeO)Jv{J zS+)fc^m|LqP)Ly6DqUqqNLH`7rc~Sr;mSI!l5vA)&jFnQ=^aO46!7dGs}T#-9OVpp zv5(N7w0W#2Lb`dQ2(3Z*V8x<09;dl=-3Kk!9cjOEFJx6I#i1M3z-|8bWhqM8N>*xf zf$k(D9tcSXl4HA+Dx}uhc67NJ6&b>pgM=EyHnC5xq9O_hU#nz%2xE6S)>a9&v zZA$8oM6)C*N5_~lIGV3Yp6uXZH0%oB(z=f>N~Q>_T#?#DuK#^VUq|sgkBBWRL&K3YvK@nB2iKw>?XT0 zAR%s&1%e3)yGeK$k|;j#Q45A*Tdfx@ing^yt5#48{i}bq)z()qG5XhcgPafB3Vcqv)@KD zliZWpz>0d}=oMOf5t+!N%s|-ySiE zqHIdOrTqmcbDc_Of9VGkoIz~AdfmoJdpp+J#^gz|%CpU$jfh|GF{+V=^3Aus;5ZTi2f^45?6f>>wi7|P8q+K`S7l-nP zm6PJgdG5Sn`ODSuz{I{AV8&6hL}0AJ)Nzvo%f2gYu-u?Ih6(=gs_}F!S0y+tup3C}l*3*DYW9eqkV`k3_@by|bdx0SDP?9F!|{5C$K#^HXwhBIac$YYZEP-7 zIE(OoyY~~Q!;hLeydV_vk7N{kZ#d`amS&qe5MKq^+}y8koFx`#Rt6gFk`4gj8_pHm zw(noMYI46xCnd6A4P`j$#KU_| zlGA!&9c}RHBuA%pOdh$yW!3Xl^NOH6 z(V>na>pSpH?j3;L=3c}^d?04AoAIn59bT-{H3B+VcS1}qmgq{S$m1>mrc>)nE?xPY zCf~9!ovHlqjiS-poh^Gjt{*Xb7_EJ9xc@iBO(b0w-<^H*sWHE-$C|3T%mP3D+~@{6p_+D}W$XLansQ*-|0Ku(=nnU3$D^39WYbfEiX zQf~X~U1NPVT8?)<+hikqg&W{U9zPjBpoQg`!DZgcw=0xP}q$a$GntS8g0OR=1L zlx{{_$vau+3_a7_IFlz+8?OfW0lhe4J7Fw3ezVJMnv(1h?v!mMaacO7)7KgGRT+1X z#J!_qI;in%mauDE1e&Q(^E>$a|6ziRvVHcrs{Q%&+#jr;mrLl$!C-fm(W5$qkL zaGT3;U(EYbOD}x}y*64+5Ei zMJ^}@iK6Z2Z2cnNLN1)H2@9HbWy_xNbek4N-)RS{-HxBzvS+neM{N1nKyHIFqex!x zT)26=ELFH~Z#>W5c5HO-Ij_$8{B#HtPSnTbgBg~EuW%0>=e$UHV?_JPXw)ZjJDHlxXj_nSMburQKbIkD>m$wFjk_pAz)?~ygHS5UN_*`IeO9<*$WF)ugvYls}t3>j#4~g3N z%u6k8UD!0v~6|+%#1qS(-=lww1-ru z(HRRCn_1nlzq-tvGz-5-;T7&{qv;ZTEJa2?)e%JF6f+EYtpSCtw|0A@{)%g9Ewb%H zzV;pZ(s{t3?yR6;vnp~KrNNSWQN}C*xdlw$LCO}p9kKc&^&R$;;hxge??l)h$A0h0 zv>6?FuqlyESBS6^5V->E-sA4DygMti%M0dk; z!)_c~TGI$#)9n%13Auagq_DWQbL*y!(k#|RpY~z2Bn6tY1)CMVKvZb3DZrG46^^=VTiE@zO>Z3p-*)ij$1J6CdYQl@}}HIH?QDD7xvr`FWK8mzVadS z@7;W~PYl|ew~UroTF(wQ#MfEv3r|sFFO5>{G+ysp*nS}lQ%-99@<)?-tQ}dnvyss; zK|M8MTcRE;G{-F`#^pO4+sBL>GM76p-(fo~@lR$U-aS0;T$FUHUXUgu1oL@{XhC0= zb;Q{%H^Yr^Xo_y#PsGHdGYprHfwt{l{3f9hm)*`^+udg4HxAB|A17~+kEokNTCz+y z;_l8F(U*u;EX1PBsXXR)%y$Tj!wO_pP5QZi3vy*P6 zP%Y3O(bnmpRHNVSrzbTUX;W0~0R3dJv@+06t)eQs#GX?S`Xg_O{V~H|Y zlwn&3MX(OX&x$7bE}I=6wkf@m+N9CA+gl97Zh!Q*;UJsYAh7=EAZ(B9#?dQnWZe z=9Ytf%Y!jR_a4r=wfGdP_yO~@|9%c<4rYtBdsT%k`j&fDrof^xy8y`PdwWVeOd#Az z!C;7)186Z{qs(8$W^VYKOj~&>+l`OFkoBcm7G{TR?WcV+BgK zx)kb&N${g#jnzjnI=TYj|LvMX*}R`o5haZ>1g zztL-piZSz8{Q!@gSQ*=F{2Mc=hHg0Vhc35te%#TdNGj_hGyj!kEn_#4&n*qiTXpqz zKSv6XeCl>GJ4+MHz%FGRSe9uQooJ?T5jKB4%#8RB%GDHEKQ{&=pTRQY2r(5IdTr_O zLkUqWM0Y!+>lJq6SDLej#;-*0%;~Y2R_8*rJ?o*#B&A#UH~YBaecXdc&aL_uk-5xx zoNM29ZdlG)FevWOd=P!eUA5rJ&&f(g8NPUWb|Za<&%Jjb&dw^W1JiHc6aP@2*HM?!H^<_E`am(X<;*SFq$py7_qnSxDhHP8RbWz((O4rDjfF3<_PDIds|6EB-KZ<<00IlBK$$NRg)+E~}6 zUOTE8Ut0~6bo=7Sx^0_wx_3yUX>6lA@vmLTS+6nK?lD(~ja#wZkGmBl&V92vZ)XgfE_CrX; zvvaQFoYb#{nqEv=qq*^5o_REy_w}4AP4=ejI}J9`!8z*THrlgf+#aof`uiTvkPpPq z9LTAQtX(@VXeSZbv3F``IrsQwk{P9M>MQJ;M*g0tE^3=^HfA4BfLG)U^sSevI-clT zuP~(?EIjy60t7>B^dyBs=7O;ajSr6RpB$W~yI_Ia0+PA(tJ|O5nA*asent&bw_6SFlkD+U zL+}@wAN8{y*TKo$SC5vNhYwcR1!fuZ>TSgpL(XcJFW)(`Zk4=u#SVe2SNW--4DYt? zu&*cCH%!HAZjc$JbSm~Exo*jLVe4;2S+`CDZ8X&A={Y?bFB^^H(nD_;cf&-x`tje) zfW@y{`$gS;NUViLRcVL8;$nH9%$}QR9Oou;n&2B7wg%**LbB1|MoS$`a?J9oKOSKG zkStWlX=8a-(|&7QzU{kCR)4pRZQo$8N!uw{bn!d>FspUzO-EsoZP8d;$l$jzqUovJnwkhEIEOj^KEwM&UnY*N!=B?rt?NW+KUz?N)uJH zy~Pz!qd7xz55Zh9As_rcef`B3U3u!M?kmG*k8jv4{(JS<<{j>Z ztcxeM?l3oBM<&KLZMW^aY1RAla8jR9?I-SAJL{y;@^!Ev<*fEw61?$-@X^6K3mU`DGiEMZa`N z*SLV9qIZ&`d~Ais)S~2N&4!yf_NthE491UyT<_d?Cdw2;ch|$wcXgVw)b37B>ji4@ ztj*RVS8j5jUW_&>+WE5b33$1dDc8X5Dw7-dHXa_(Gc8YHY@2Vpdrznz3v?8YAuF-E zMC=Cv{`&*|Wc6g@+vIMj7?Rnt1%1UfUossw^q(&a`76ZS!~rf}b+YYSM4?M`53t@c^{P=S0OxyP0`R$hdIE~{b5-t3+TLtX+eYvp3q1L&`3{C8n6?0ZDGtf>IE*Iyv znv48l3#rj68+#XB&j??l$J)Zp^A<(+0|YxL2xGm2{N;>zbIE-nV4-N!KiHsE6DH`g ziC|Ac>SJvkUoeU9S#HsJ9ygOrC$@B*{8_xt%sb4-)pP76n%Nl zuFlw{n1^AFrqLf2Mli8kiN;@fN-vVg@faq@wL+h@AG98o%OVcAs^wACy$L_ZkL^ZAG6J=q zdx}O}(qqTdndL(p+AvwQ&JJMRB82&V@#N&Di!U>sv^{NV{Es*M{r;4-yuDx!Lb`=U zTlV&=82)f&i;KkRa$bv3w@JFF;pKg)jIGl0_2kaMxjV&m=?*^;zv>)a1Iztl=!4wO zCdrYcU z=VKNG4$8x<=-awbv-shTVXu(G)8W>x6t2m!^da+9o~xFFv;1O1YzA!Gx_Q$EyZGjY z8*Yut`^Icg;$w7`Dz?mpGA6TEYd6byRA#}_2iw(Nvw9{SI;}SvTQ@qY!cmUk-I)|H z{I>)LWlFzaO66q8!64hL`{URBk%La?Nx#=F22m`acsQWjZa*t(?OJ~ z<+$Se&nmI4qsM$F3CkJh@hie!<>_X*S+`i@%MD>H=QYZd1%)=hmSR`=^G9e)y=BWU zr|CMidyvN$T}FrQ4NSSL?~bmTqQ~8GvXULDqO=c}k3pOnyQeqg`OO_$%x1xw*dT=02FMy<;cFLyXiR#}f zYxeGQSylyc>-}}T$|BB)1GrbV^ZnyU& z(mdVZKF}g<)2_k$FFd$WUs#v-tzJfa9`-LNvj6B6DgECwD6FW9+XQ|oju2|z+zWii)&2GoI z>j;~cWj~HKrK`){D9z+!`y~@wuaI7RqqFMYoMvu!Q{>Ryxadr#JI$BRwT&N~Ln}G- zEVXaW3%6VWWx0YYcXm8rZ^rEopV(W0YwGZ!+-P8hk<#^YEpUtMWXa*}O%ta#c^yio zn)bEp#aM^AK(N&%#x>uq!OvBvv_o$wpj|jC7cLPsq$i&Jpl-SvHcRWNsiQ zT8=iPi+yQuXJM=rUr7)jr+eG&IO%BBH|3ZM?-J@dg6*A4%LjJYYSs=EX#3$fo6Zlm z7w@$9Sd-7J+mkct+ta0wJD9~Jz1ZgF{pmTfHY#YROS_D*#UAfa$8&JD;=-7u)eVVf zY~Q+N(}s0d@L-pn^_VG%U!+TBlIC!>KfopCx5*sDb$w2na-kgcGDB|LAWc$}E?*Q( zr>^NnJwsIU_OHuG`Y8@MtQewI*$vFFxxmr0e8>yIa<_vaFEx&vcf!q-&yT_EtO#Eq zSD=|u$PB{`iDf&K(x_FQC7;=Q@ros~U}X+F`eg>pKC(Y<6vSIop@HWK<0WjfaFHs= z7f1#d@|r@tef;a)t+gW?cb0$q)?5^ECE0o*!z@?RZk86Whs&6w;dJ+kRqIwf$A8$= z*nr!}Uhk_+KfRZYGjlyRJH;oaanP<8m7mOQX>AuxY`u)HYlnmw8QpTU_d-wW2XnGq z?O{9LmYof~g=J5s$t#nle%s9@TXkCceziI5G$tc6h8gaJzt7y96I(a7@zNcWW{@kh z(f#{0ne<_5s`gr??boKd-6p4`*Kf7knsKp{*?WVfH{5B<9zk+u9#8U@BqO)1#-@0v z$lYM_p0+e3@MA0Hl=5LxIg-0$`}pJ)a*V`QaxfvSPj!E+hS{6>Zso^4FX);+elwdV zxA>CNly~A}zGk=L_|$j0Y`Sp#a_P6+hbtb2;hMgkRB++i$MI?DHe;E#x8vF@w`|drrbDlP2jK#YB8FQ~WBkndbin?QWP0ak4n*KH|WJ z?`87rkszP1AJj3U8yV>9xTb02VsclU*vR@on-zhmQ?Pwz(|n2tgUqzkTSjZki%+{* zD+}A*i^L7CyUgBKki%^gTjYf;dWq&2&$E>(<}Ms?O25M#nZTrf8{IzCx_NBFxIE~2 z(YQ9f;!2G7YMn2|$U@!4dT}}KK}r+HRvo9fUAqIH-L~@gMx#o|M_a{y$hJ=FyE3k> zL)LzR10BASr^w%q|FbjH3kJiv{^e$?#?DBxx_6S8`3Sq|q6wM$$YTd`Mc?iXs1>+5 zi#@gPwhS`sup0^XXp3J&bKRraLEk>MY4fS4hAaR3vB;z=jZxy$AIEAk|;^=TKGZ+PpCjc5(P&9+Y3B8zg%FV&WIaBk@8 zs7!iC@mzM7AF|Jx3z({t#NyQm%*s}4taGdhxd5 zf<+BQS;5RRJn%2xlNs-dEz8Yp$-7L`e=aw#sg--zCDOZEwd#<}iy>MwHn8a;@oBP& zCP#GEjfGof@nj3n7Bt|eLdIK!B~+`J$XPWE!lv%9(4GJKW&A+@ftXtdv&5FWs=5;? zJ81r?2XXjYC&n(;?wJuvYP*F~I%nD6xl=9E?x6|uc;70yEx2jJ^Tx%0US(aW%f9WB zZnS~dID&4R+eyFfzVpW?8qI4eV)e}*J>|pAqL=(S@uYOn@~JuLspS(a?LYIt*v)+F zYooN~t(T2$K3#A2yHP;ret{O%krT1Y4Sqzxti(6Lq)vo}Q&US}^te@U_?zjG=^wx8f&ZZIvz}p$J-l|JcT?d z+Y{#4@fP!*kv(iD-<)@cHh!tjJw6K}_LQzg2M_3$*S)g0hw-$#y}4>qdO{sRlt1AY z@#=WPI;$nup3=_1v)cs z?r3~h;^)@oZ!ehhxpL-5&JyjcZaZRGW&XWKf2UPf)PVmc;CgMM=+DhhUuHvZ(_cde zd~3k<0>3NZ`hfp9;QE38B;W>suR7D^C3y@2Umb7*z`FvjA9#1b^#ShUh!0X0W+I?d-e1o%>q8ooopy8>#K zD&_HBIYX%ghh-8BzerJ+>2G&+`JOs~Al7g$)~Z~rmA9!lf2F_O)x@4UfgtP3T-Hom zs2Q6V%>!Z_)2f{{VDvxT7}+tkwB*z(<}$nL{={D_v#ILM(jr0II)|wwY{m-{7xM%} z@~K#R%Kraot$kd7XH=J0+p2kW!k<@sS9Kl=LiK{eQl8>1=Dak6|Imt@8r8pPw*Td` z9|fG|4R$2WE2ZkLM)%cHy6$RZUsk(NQpRc3f;tjYNP}yZBfhb#S_=rPZevd=FG<&o zRVZK9`e;IJ?JCbMvnzOf#;Y@Pd!N#%7Dj}ZX(70f~&$Ax^{DDWU285yW*M!dSa*P0m99KtW zvEa{@Eh0Q^vZ?jAM4dG8IzN;Dn{G6f&B;ii^|Cqh}>)IIyo-)u?J?3!33^^`VZ3(kfjt-Li zAIR(N><}i!%&J-4u)tMkFl^)+o(?YN;d%Ao`k7U1N=oFuIvpO;$6E0W~WqjP{3T z2clB}$Wu@NNe)Dkv~=(!+iBHcrh$i4n>AluqbZvnjcSnu9pEU%B>{#Sor)bmJ)_!D zZI_B83^#+nyilPCf~l2?eEmtwY!Tm}zou^keq+G(0{?!%^#Q*n;QE2z7H|W=?+Ca- z;6D$zrNCRya58mQSKQn~V4EUEz@@;K2izd=WWWso?+Cbl;41>I5BREp>jl0#;A+4( z>J-TeXw?_}L8E`IC6i_Zh>T+LfUtDEIiXYh9Beh<=^ix-h!}+ylnXI}5HRenZusIZ z0%v>fBY<$X>7w#kFy}uE|MO2?W|N2y2K+tMp(*5WozT}5D+vJ+$0a0$L|xS|;4Uxk z1%SxwXxj_C5`oD^3i{=OLROL|8Q65~`LBULmef_P1EijftZV9o5JVCJl6P0N1`shM zRXZVOh>zP>+t-UEw43SGDuYh*RWx~{Shx^I08O3>u}JHmYVNLPJyid))-}8>GG%Cy zDZ8&OUS?5GUgCaxsvB;*rcP+PVr80k%c(BG7xh=#9pFb#b5W9tGQYta-+43DmY(2k z>b!mhmj;v-BKm_|7YDgMu)B^Bf98ca5Ac&7m5tL;H6sn z-}PD;dYghvycRCV71LJC8P!{Qs%r0@-#^8vceaWO{x}W4#us5d;2S;aVn9^aRjtp< zzCJI+8087IyZ&if9?FFzdEv&Qsk$QZRTrg6-mD&-<|Ol5Ks?|aInJ&gc;uVYL>flm zEujp6I~3JjU9+c70G@@#1eE_hKZY2rzegW>m=C zW9p=yis`T^EfSKWb0AgqDa~%0>I6Jtbk$X5j^*!^w1vbZfs1lqmP$vu|EDaGg7Ehh z-&_6okqhL%c|Tep4!SB#4N{60awkHa`CaWhEFq2x&w zicO{US1_}b>X*`<7ODk2M}Lj@Z&mmn{VgoTko=;E4ESXpx1bIT%W2g@&mL_|s}^M* z2L3BOuZaqne5O?sR|AvJq1Co7*C{QSzq6VL`VW}f>w+}JbE(J!1YQ`Z}Nj)~d92ECm*6?Wo5XQT{MTSF_)S9xbu6P1&<4r;YV z$>ahM9Z6~}T^$tqIigW*%9B{sB&p)!YARwW{nOEbbg6t(mENuT zA|F}Z0K`7$n3?5`Jv!EzraczJ>{5HrnU2DApLV~}n6JO44zsAs6l^Nvtt#VR=&z$C z1ZSBb05)bq@76jKN(-%7&ZLY`mXl0jZqoxrCQIkVb**p1VU>8gWx ztxhdu^aps4M~!@2K_(z#i-7O-6O6ThVM_GEk7*x9UncAU2etbWUi5H3^Qg6eGu0}+ zz#y1;6o#v>)IxsPD`g1qmZi(A3VUVxaAl<)(>mn0Ys}-csCf#?^64GC`WIBxeie0Qwa1Ny(~*IXXvTrU&a7V2$N_PEL^}@B6O%i%h0gh2 zm3+EN&bW#&@^n=ja&8;Gt2#tug|SplmCYqc0+(iEK+=6kb46CdclsJ_HwH{83Uc3| zruw_yWG@87bp4zM1h#x+X3N^6q$b@oVQSevtJJ=ma!Ad*X+pG)wKq+e8r(mrX1<}n zv#RYZ0D!vBD{mO^scLXhYEY=}kZQLKp0p1|Wq*>>fx<=`=+g2xL{esaT0Q;A1>$2(VvKasaAU zCxB)IIj2tGj6nQM1)t}Mx7F$dUJ#IT>Mzv5#riAG8t`=Xlz*v| zANNuX0p72uX|gd0Oa{{=gOtC)rR;yEL#X3)6hTiznDtlbH#%5fO}UwoB%Fpd2Qyp- z-sN!%>%in_CctDFhTr+5IL*^^Aa+!hW}M7|k%9b@Suk0%hmb_K)8k=Cq5WYhOnGjZ z%2b|PrlOTor4pW~K$4helo>S0QMigafw?Ikyd)b)Xo;%9bv3s?4d91TM{nt)yF!3|k4G-0`qAr6>$r znFO*SW$c-O3=_1Hjg$UO>iK3?SBt;cQOyIv9+gDwu@R|Vq#O=|gIZb2Na7tMjZgWp zg?5TcRFaw!(e~YHN6P6;ow1&yzq0y~CONx(k`U{kzYYxKz|0v*kfgcRGKH#4OTt9Hnqa9!2 zHvs(QfExtO-xF~C!2c9*eZb!ixL)9Y4Y(R`^%yV9pe=0lhw^uOy1_c|Y{ki8 zlQ${&)_{tbSP)K6h&ZKbh=YxD9e16XN(#Oi{R=b?+#lf$Uc52Djfy(DvTJ2~&(xo5 zs-Gyukbfd)Rvy+wUZe#*Ox*Uq9{%6g1AddnKUxM-bAI=} z&%N;IhGay)N|QaM+A&{d(l%j$&Uw<43$)Puw$dJ24aE|G{vC}zp(*RzufKHQ=*z1o zH%JEAjY@t_Yw{ffUThC}u^TymTseMUe_vVcINlR`$P))O1js~Msat33lxA|@vEat8 z+CxVzoxfwD1(wZ!;*LQJJyBv8$^ZN8?xTuif6^+RR-IXo;|-jq=@u>3U!in3vg>lHUPX+aWcyT+@q*jGHzAl0)?o;6cDL} z0pK6x3_#uNvl|9{hoTOXU9EGTG*MyD;4y}yTN^`G0rxB4WnB)CrEtIzMVW(ZBTWg9 z_JqTL5XurkS5vzG(2PYRfIs)BAwXD3Dvk6%NdBOwS_24`J96hK6i5lD%QF1p`Sp}| zhB>b%_-5otJyU9A(NT-$*Fhk=nSt5}5Qya|nz24abvj*co-I16PVg{~HjLW}Hdh3z z_0O;MAKSh6{mX1#^KR@KJn^dPs3p0yb4A+bsna5~=AD-7MJo6fZ!05!Hz=xXWDs8A z35Nk=!r@F8mngx@J>d}Gt2}BL5MGBFOLt0;iNG=Q({kLUq!ZIzj2SZmUlDM+7$czARP#4XGeP{)uLb_5WrvS~v2bWb=8c+Vr8N(|v}ozRaIE4>0>oI`HIgxoYYn}Kvjju~E+L`!1&)9-4+}D{tP`p$RyYFwc|$@%l%(LNDaLcXqSgSS8YA7B zf}+-x6tyO6>?bQ{tW3J(9-U)@LUCe?=7oQzHRb zR3-%Ii4qGcEt{aymUN*O>;qnPBY=OSsP1a}o;m?ad9=u{er&;fDayQKW;lJwe)EK! z5JLr&S2}$P`4O*`5x}o|)LKBwf1Ihf9o5lp>#9kn^TbBy)ggJgYEcB=T_=FX7RHJf z)}1hhc7?aq5kM-Soj$0YZv+;AKTwp_Gl3=Al-uzo-45UMM*v@~D60knSVud)x#^5F zGo9cKS5w90BD4FP(duT5uq|<4n9sAkVGILeQAY#|wDvdu#;zq#sw2S<10f)_SSBQv z3Kb!!vrwAMtxBq9r9myS&eZiiO@wrCjN?*8#c>_v@#F6{&%?(R^6+sTg>7k(30uY3 zVMmtc#NbQnKU0#msx*iFyoMI3k{tGJ8p4x0Y%2DbRA+HM-SxK@^69Q$Q^=>gK2*r3 zJFBCVqdz5m9ow8TfRMt;nWEhqm6p(JE-j>wNXyw&r3I^~_Li(duxSN~oe4Ir zJ%>$IO6kth%91O5fE2j9+STRl{uu8p)&kNLTp_!Us?!>N=F^SVCr=|CuF68Bd!gOQCbKE=g$q>m@rR zBF*pg#OQ0{>S_-?d;SyaM{8+ONKJ%xF%N1Cg%2?wO}dW2EzS2h&6oUTpbvPaFZ%g_ zG|3*>pYQjL5(&Gi7XmKuRdgO8^7qL3k$zv7ltE|#XZi{|50DZ%T56V3$~i>9FL~NE zfK+ymR7iiO_q6;+nA0s+&X-yEp6aODD|c6OO&y>T${+NJ1yk@N%=00EewU*s79E6| z!iiD%Bjg}#PERa)2=u8gj*#QSFA4d-#O05A&_$5Hojn{`(#Pf1QC=mO#vvH&)e;F3 zea#7x{YPbXb7Vba-SFAPQv_L`)xacLP2P#}kGmJd3gqWT%jJm{@! z4PduQrL{+pF@!u2*;OY%)!4C&bo#zXf9I`m4d6YEdfNZdvO{WL&iLZsiF@z(`x5i zUgCWVk>naB3J!=!GJd4=y@`(^3Yj``WJt*Hx7=G3i(N~f*p>I`G+D;Q<(`{Ztf$Z3 z&gwoY@1tppjGfCpIk8wxbAB{phT7$xomi};PyFEQhq{l-`k}10F(0%vty-G78H1x- zNNjM(My>|e%sk;Q{tuO-Oqo5T+y#{~m!V-Z-q_hpwbab`rA>(8`C<6U!G)wOF)i$S zhFqeP{RI~P%tMMY4~$JnQo@IMM>7hDbCOr*_L!uEF*_Ly>|y?M zR2?k(dz2dEg1I3L3cXu1LkPm(4nhFp$!5p~m=S_7wmL`fAp@}3LrDm#@K*JA!r5wq z@cX@M90A1biGHmRgfZ|rf@ijNR2?h^C^vSj*)NzI(xf%a&vRMaD_D$G4;TQ%3#gasIyn9OyI zL78k-bw_y>jsgxS$}uN|Vvoq%nXp6Cw5%Wk7#dj3H7ub4^FR;*@Sz3~2vI#{5vVWP zm1JbvnPdcp<|QgtEr7YxSLX=eXB5>VZ2IejsN^H^HYOQ0t94xS>@bMPymO6Vfp^e& z)!AWMQ^#pz05YISGo`taq`Ru^&N?%Tq|(r=e zBXh~K!$>4ElC-|2RnKmkX2|!Zb~&a__7Q5s26*k>aavMy66{B_S_1Q0_sEKJgNwqb8wvFejqh;*G{ z{F~W{S#R*8+00scgSEIdvCL*mvd~55hl$N+dtIPf5kX=>n4LOQ@Z<8%bR6w(25ZpX^Ufe21RhI!#kJc=}mAlks`|HOFg#zZh`6z+VZtKHz%-t{?d80XG2r&43#O z{`Y`e3jB#9U9*$(zqfT0_@p95z@@;S3b;YwzYVwn;LikHKk(lNTp#e~0_^Sao0Q|Lp>j%C!;QE07IpBJMzZY=XDQjwX%Ojn@;%foV z)pE(A0pMMVvabyj_`D*`;n>kSp+{?`HYtJkC{kDg{*_0K0{)FhT>$uHj~WF;Gr|jy zf;vf3&rDHg`J#>hQa(9p2#Cmr*GQcZ@<>9!`@Co)fZz3~QNUQV{EiBu&Ge!T10s)j zZa@?-s=ap?0rYO<9WK?vy}R;4Tu34Q&PzNDh($@pfN>%6W8f45G3AIgAUPZ1R(fTk z8%YQl=ddyxnB_UFNpldLe8(3Qt}>?qBmgon8k%#pBMX126ZuQ|rLP9(P(Dc&*1RtpjiJxKrxDJ3MZ29r&dlx1?&Lb~+dXb!9TQ`rq za~0I96@_mV)B}pbwF>Hm>Rs`yg8G=EaIAtlLH#IxRZur63b!h#hZKcZ71Sl_SaGU? z`kbQhse;0lVh(}=#2TE+2w@wNFlgC9k5d&c*I##WR9?mef$y1R?vQsaI!dBmqiNsk zX)c#Lp%MXtDw0RypQJQD)U=P&$}q3xSQ-%2q0k(wG#6;vm!~u!sAQpeveJB9(|$Ll z0YM)tGy_U=qSo_j{q?eez)XbZIHh@`roA(z0f8L}%~O=7QcD@oU!M;M3{7aBsx+H4 z?F}gn2rN-(j#rw`YucZsG$1flp*cZmPE%vtpub)=5ZJQNoTxOnXxdMwG$1f`p?R9p z9IEDgvi|yfK+qb5MlShV6WOV0-;&aRpt%T*ycJ++zD`;lmiT;TDuVVTH1e!~rAgbB zr%79vZzO30^Azox*=%#;`Jtm09V>UK)0Q^JwlreX#x`3T4smIFla)bfZ^WieE~ZRd zolr`vgEDP+F=g8Jgi_iblxg#eDbp4xl+psBOdDZLnYKfrly(SZ+7x5Tv^5H)v_>e? z1{qVPZBi(uO+uMA%a}54nL;To6Uwx4#*}IM6iR8IP^L{Zrc7I@P)aL>GHs|aW!hGS zQraq%X>*M!(-td~?pY3N)oG)RDbscLg^j_v6N{8jw#bN9Jj!< z8OL<(TJj;LB`-Tl6gGHb)|3x*O_}JlEgxdqGLdOxKGZd4qSMygK$|vap*77J+O$14 z(54MqXibBLHf_-jv}uzTTGOPVP1|$>ZQ7`X)--Bp(^lO;n>K5qHO(5@v|TsQrVU$Y zO~ZyZZP^X9Y10;3)3l*Y+jawO+PH<*G;V0q*4;pxHgBOd%^TXZeK*ji4P0nV1BW(k z;SIED6Bk<3#Gy^wcmr+P$c5H4a%j_5-awl+bD=fO9NM&Q zm=;4ggTrJPq8S{fz!1#fsA7g#21nH~gfcj)gsFzXwbQ3uWM1B@&zhuqjpI`N#&M~h zEjCZ>EjCZ>EjCZ>EjCZ>EjCZ>EjCZ>EjCZ>EjCZ>EjCZ z>EjCZ>EjCZ>EjCZ>EjCZ>EjCZ>Ek-6&queYPajvPPajvPPajvPPajvPPajvPPajvP zPajvPPajvPPajvPPajvPPajvPPajvPPajvPPajvPPaoH=K20B+_M2w;H?2RjHIUYu z*^Wr-Yg%~$dcwK`EB8g$TeqOnMlGncEek4b!h%X$uApeJOfv)ph;Bt+fT&qgHEYc*|Hq*oGD*=)WFicB!9ZL-{>6c`HVWzU{$TGk^zQU&#tFp1Nd_2v z(XJD)7G~Iz3@}WWcAba?F`1TRfcNO?w`BS>tcrQFBm)eSs$GLv8dGFR2Ka7Ww-#;- zus&wPk_<3Ry>>0kEpj-w$f4XKhf|9@LHB5a`3=^8PjSK47Sy}c1cG5LtY50QU`31S zUr<~ynUm_LYlR2HpimnDIkuWu5jfsh!Djq}0p=m0FpgQX>;oYGZ;* zO-xX!g$XJ(FhQmEC8*TA1eIEspi<)!RBBs-N=-{psbvX@)*O0{3)6Obv~FQ>P%1i= z#nCajD9w>37#8kMKRID!wy*4cb2!6pw)u{%uS-f6J-&7J4 zBswgJ3H@7x2=cLFS2Nd$2;c*Yk!B*iC9r5H1^B=sD+SJjgP)J~uhPm<${Tz1Y12B< z90q-~`O=*I%yL6AqQ9%h+xpCTRGz49NSPJ|IiT$LSSW-Xzm@ayfPq(sCvg!jS<%;Cg|7FW_pxKUWP|0X07RS*{qF@Bl(rKCcZ2QcJZ0 zLMW$r-?@i$>F=P=a2PP6yR9kR5>K}hFrxclQ#yo`)5d@(SGrTc8$$!zfGZ`GOS|*xS~>nFWoB$A6z=b)>QyewJ8+v$$=6>+7?jg?EL`+c!x&~ z0p9IVD*^w}qlQxD&}JyTv>EJ|Yz2jWTNokscAZz>n%r#Gq}fA7V>C)h$qX)~dtXvn z<|8z>vXM{9#cVuMJ%}fnAqT%m z{8+uVDozmallpGHF{k`0;$JDjOieYblKQ`RUyl@gyP|gM@APV4O>BVRwGmoU6MR)8 zn&3@}t~o;z0x*A&#elh0V`f!SJCd^yfuc~6xTu0(O7=M|VU!fqOrODv_w|S!i@}1r zM59ch1-(s!l+vK3brF2MMw`-!tP%r;QkodaL1MsAlv&37TokBKIxiQc;- zfExt{sb@TN*3Z%fA) zcVD9$h40eeu4+Bt-HH-9Zp*%iaj4eL;rct>`00H$f{#^nP2Kmt9x!|;4#zG-5m1Yj zXjUbzQhdHdy-rcD_fgUj2wpOyxaVmTiWq`gr%|)zc_27~!$b}tZhI~N<|)R4@Y4GN zBCPCAAPFoBClg>4s77+Ctfi%S8Bd&QMCSS_CzA|&;TO9htsFxA_xU;_BMrZ##jvE* zfRM|8{I1tM_o#4excg# zlUz&`zmx^_n6l8KqUQ6ytocCj$T^M`&9P70+!Eg$Hvn!3&GF{l1Zb;W)ds*Q-<#X! zYXm0Gi13z-5JB%s1b(SHH6HvC{{e`L6aVq$YjAFqM$!RN7MqU1X0L$tfRTJ(&iq>{ zpD7r!A&4v+BL=(*E6J3QBvvdcoZmvCT-k+0xg$*z72Xy~lZZtBk}05&=-y5eeYlfE z|JF3od;G(3m!TVek!Yb$vV|yqNfLBjSPV!Ll^n(&XdW;sEU~9a#HZYSY!eSyNZZs~ zo^_Zj&9MGPbB&|5am?3W8zsG$^lfN>-;|5=AuxQkGL|uS%CImDPZ^ocAScU)MTHXI z_v9wpp*SeJm3KZ#i++jzild@Aej}g&kLY#!s8v6H+zCJKD=fY&&G@Z{-y@V*Tnk#| z_w$xgNoH6(=tRl)0%nnq@NfRLG)%4jw+gYb!-a0Kw>iZX;F zbwVEu2?66A^0i5FKpt6G0E`LqRj8bBWr;9<=jsR*u}^<>HI(37MTgZ;FxxbS)lgZ3 z0Y&j=>q6-cnH0QTlfSDmAA;}B@&WU~JReY$FwQ4bvx5+qieij7u52&XU-5TojwEfz zQbzVEX<>o!Dz)I3>8~o9;HwlJ6bcY(cxA)krQjKAq6iL(rNa>^#MiN*S`ehges*#*(B+Wj} z%k<``5N*f`M#`x)10*@-WQI|>DGjCeP#SIBt6Ker{u-AC{L_Hz1-?v=T}irr;H?4I z3(O%h!w>kqAzgo}9po6-G~x~cA$RVO&>x3{fbcK-%{+&ZQVt{aJcp4|4!PeXhfDQD zwD?Uxa+0$wfMjE&9WG>gUMbVu=aMOGWf1`|&S7OChn1xqa_3AALtf)!faEZv`eFBv zA9;e$gF|>-)fga^L(*mjfX3!jvrieU@9UZUribJ&*a=nbjOvB^dRFc0A$*PE#hn;5 z!E2M`gkS5E3!8mC1W_E^31igCol>Jdk`tz=n!H&_f3D5Tym&3!G$Mytw*uRxBAV~M z$kyYJk33zh+Cj(W@(yB_Vs{ToJWB=CyxR}Ekq2df!C=?Mp2+{$fH30ZXN}SDvTI5 ztG@fR`lK5H#7d>lxK+#ZJ^dBb&lEh(x1;R%!t*rA`JU=xKzN&%S&Y&jD>D{wXy|zP zT7x@GySjD)wy7UEBxLt2E@D*Ad~g!OvM?hZV0sNRWC4b6 zX+%W1X>NuNIJCF(&(fy%T;BxGPo=s^EB|btWEk+-it4Vm?Wq$$QPSBXJc=l6$i82> zKjckpe0C<&IE=3HGK{BU-k}Vp`y?A5kull`qun7@%IKrY=+QpOhR0@%Ho)lGkSb+# zuQHnJldNByFDe>LLXRbOU{`UU+JaRI-msIqobLMv`c+DyBj+}~X9SHd6aubGtqAAYkd zir{*I`vR^8JQ#4jzzYH{Ti_wj|Ij=|MSx@@D~fudhAY^5Azeou-M$Cct1Y9rh-hj)5fY(k?>3 zPdEa2wMPvB#=P=+LkLn!bpXbMd36x`(x`;MZwR> zvM(*)ZPsFJ_r)0ne1)QmNJ1f`MANboiBY7izj(wli~6emc95jIn)OgN z*y~l}JW+p5iw5q#(&ZtBds`QQnj%d?;77*^Q%T9;B+Wr21^l^3tp)5+R?g@NkwM`c z1nkf7yhZ^3#iLdM!qBw?LV^9NX41n`It{?@c=oFSVQAP7*9isotJ||*3Hu*;_7?!c z(6C=wV1Gf%{tD%>OMl&lB%!@Nhf%_U6S~J|ISL3fQMDvYvxME0WrYy- z#qHpJZ9Ma$HVXXYfa?W5F5vorpBixez{dyN0PtYI4FaDQa7%&TcJ(r=1aTtwR|Nh@ zk>W&_0^bsFgTU_yxB=jI23$Yz9|v3?@Sg@;FYvnqE*qJlycJpq@l$|^BPVVF;pF^O zTFvlU<#~+&LMWT?H}7dix5U#81OBB)tpbFV^ESv0As>6nZ4(P=cRFKhx|M{fZecfNIc954kJsOtk>kdm1@r4*p6q4G?m9qB5^>w9U=?Ym zEZH+PUmA>59$=)4Lfe6G$~m5+Iex~Mcr73~POEOnN{GYR?8!y}?^Bf2u3X9WA$3Ah zq8QRDO{Ey}K3 zr4W)z{B$$kBr&fWq-pX3P4?C)5QOr;#g!T5bQSM$`rFDh(zMg%+sg8EQ7R0{$hT0Y zxtiO2{T0!A>I4=lQj`ctQEWN_@E7FftX$+kq837s#JqBwmSvI3a#|2{PMyGtASfWR ziA-}!6|lW&4oFcD6d_1b67;uJ76g!0LO{qwrc1Kyp(9Zt`!q=@`xj~Umjpf4>I8NM zJpm${$W$xoXibYQVK?A_1Kq!(TM|4_Y#5;(+%l%KF!fUgDTMMl-NT0{x0q2TgFH zN8j*oyZ6-yK0jtLsR5K^`4XT6wu>MTic@g=6z3m(aYg_`aYpvly0tiS^mmpy(mmsx zxzfFW>eHz1YTdpX0g7gk1fChndB2pCB3Ab^{Y9nY_0Gk zTE)=Gh~VZu^_0+IQ$41%oeBS^n&WNyD_f#~U-YO80Fg^3#e4UpVp(J=RnC7jE) zp2MD6R`BjhkZBHINpvP+Tvw9qx;^bF_w<(X%%8TQ%F)ME>gi^c_x<`S#qX^X_^{Xc zC?K|E(-9zJL0(x9SvaPJCEGyRshXgq-lkPMQs&j~sNAFxuMLREwweh9DJHj-_ z90FyhCI}_v5ZM4x`>&`DQb}x!L6)ds9olb7*;$K+imEsOcl92v_5bIsb~RuqO{Z-N zX20S(`L@cAz*A|;DQ)Mj=lglC_2B5gqLD2%2Yf#&spjf3tbE%GB%aXz2|7LQG=jvQWPW2!WJNmD3)Auh7ofOLFG!jFg3Js z&1;MP7OpFi7Xxr%oJ*K7&Z*WuN1MZ1{S`)(dauvEz#hy!DI#GBYo1YQYHYh>u&MJkRpHM*$1j zQFTHHNQFsufK;2L0&F1^!cYM+Qh_%{At*rdkP7X~?4z?mPMV>$jWkP(EM)p{7-cA_ z_W~4490Mwwnm3~!1MjsIDeztk?+6Q>R$_kmtQ zGAQIdtaceZ=Md!zR6}WAk5Y;I^;eeZmhe1rnzmO*M32&6vrGs4xPa>getf|70UsN1 z{lF&#+yL;20XGP|FyNK~U%zLW71J)$5x7B-W|+hpg7%?Am5~N zeM5gOlE4x#prj;lrXs~x0fvG|x@HBTTEwaWk=;7%TeSelE{^XBDn616YFJUX=&#&2 zO$95ue+-l?<&YR4^tLY{K+z-}U?`f z^C+r~Om?dJ#Q6b6n*4yqqESf&7%7)}|E?Ot^lG9@wx5w0MHCf`91~uSRe;EIXtlFi zFkim)VUK>+K_lj&)$TpJ_biyN(SNIqj`TIX3h*dJB@97RqJ&|pP9!FOah&7{hk`GK zio)5^7y*j(h=!6L)0>s`5e;RP1msK+En5N2N0qx1elQJAD$Q%@Of)+A`S(0!5@Nrg*~O4fogNuol0 zNvXc#%XMKYPM+8KFbH`y)dm*VT>J0Qte@fCvP=i@)wjjSJ2XJsEzTz?ZVN*ppY_p2}pP{K2sqyU8U#Am7=uxomoSIhY zDb{Nr=lBwedO6|yE2@ECl370d7MT0TY!;9w8AXmyd!IF$Di+s?_mT1Z*4w7JR5&fV zfH*GY^Kx~?@R9ZHlw45FsNSa3GR*{hhoa(o%Y?4&8ht`j=}PqAHnD*Xjf! zyb3FWP8YwC-wWzLE4st+BeVR_VJ4AhYNRFsjDh zQZ@EwHbD+=@;S(o76I7GgekQ_xDf?Q|XX^Gq>Psx2mGY-#Exm^cAh_)kD3`kZkVVaM_Hp>KB zm8Q3un7Nry&^19!866N>r&tjakgP-?Nmvk5u+7B$ZPlt*8VH!~zx>Q~XJ|#GB9K$3 z>5xc@*|E`(2eft$m};mvF@!SoOe?>rx_Y9of|VyK_zaI)jqk-d$y6WkDFc zy)W$3!jw4r;700D{FyJN+XDumrhfVo9Y&(uJN=VrWD&%s^?W{r+Cdq|bEYHg! zh;l5nXs`UWgrI#3&r|{ipG3Ne1)Hvrix=_x|6gi z-wv{t4TdzwCu-f2W5HLF^vX7zKotO_%0(y{3PI{+gXM;6DtwUf_Db z^#Q*%;QE2z7H|W=e-vh4bdADAImXLBz%P z)l+7Lb_OeikS4z6Bhy^jQ}Q@2)z0@-&D5XdU#k;1(O2du;2y6 zA>bFM1xFs@P{kRiMReFH6>df-9N^MWxZXN}(?dEyWU~D+ftPE#Sa@&Ge~295$8Y7iuqu1g!v~Fsl^;s7x9^Alch=1dt_` zK9wkrOXWffN2**iWv(c<_>SoVfdS7EwAnPCJ85E@u|fP_Ygy1uTyAjaYbtezjyf$I z*7GYfa|9&gxZvPWz=4}Gc8i7Vr^y_l7DtUppOzYKp__vW|9=2oL4P8EUC~ZOu*lTf zp`>j{BLze*sry=;07VpJf95Z2$~1?k<+Ak_C}pv^8D*!&ij3A+2}A-96tXQG2tFeb zI5NR1)oC1;iVvTS%1_KyW@Ut~Q>-kl0V1kPm}cd$X(qGw#tp1lRv&EaIzh(jmJU`%ifsYHgKH#SYTtD#f0XG0V7;uBY zO9O7Hhp$~$nSU|?+}kycfc}~ZV7J0O0XGOdBj5&rYXR2}JUig}fae5UFK}wUHJH5jCk zw3dJL=f#@Kr2g7zAX&e{Bjt$<0$=w?xl&62t#wyxgOJZs0W41f&+$k}nTsgMD)~pX zqa9HgAX3Xp2_SVP%dLPYP4>L5+cQJ97D1qy!qV(=EhRbGry=w^^Bh4)@dZmBqT!H(`2u|86zYSX%9p$i?l zT)V6?|K!YfPIZBeivB!KQ$N8|Wt&upgC-l)`j0PLX1Q5q5%`WGorw`b8rMt+q2LB> z*VA6{1)R=1E4=ByUyf+w?b5E&3Bwdn#Xzfhw!U zTeG}YqN+f(GR+IgNGjTpNdcORbR^hjv~;D?U8IDCwf0Y_oH*IY-$p{naBiVi+hT8F zBY;ue*XjhwTk5`6DnVg{n9DMXSQN^-&0LgGL}8R*(-HVB6G4wj`-86mCxy~ zvsFTPe9;wPq$}~pls&4jLYF`$|Dc(OB)xS4FqUxuV5EcIEDK9qCI4v1k#rrKQ-QYQ zl6_N46y+;JeYCPUH~_&CnhbUY_&W^=3EdPD0!Dfkj)@W~r1^nLCA|=$;C%#@QkC5u z1W}F!L;i8G{LoSmF)ERk5M>dg0*o>#6pKul2S^#n0m4GD=pbmOk^~T?6uM-nXi?%w z0HemWEmQpxt*bNj*Y*wspp+5=B0{lyhS_PJnY0%IaFF(r*5u8a{%!heW_Q511Y9rh zI|8l`_?-dQ5B#ox8vuTHzzqVwC*YO>pYw`kR!qCSM_`2_&Fl{Nw*qbu__+Z$0Q~%b z>jxeRxIW;O0oMz>Cg5toZ&REVu$e}We7P%yC>`)@r4tJQT;)-tfN(E#NS{<~-L1d& zSt>P~1V$F7XwaYwcND!&)tvlqo)R$JKdjt?t8Kg?MQ)PjntZQBI zDcxX$FD&A?l+VAa@CfMo{8R{sZAUBmObH7r{(H^w3%>eB01?La+7Bg?*|UZz|Kb6} zJcrRd2RT-q=OBlh^Bf8%o_n;$X6di%p$R=wvEo_)BlSu@mgeEeQ}vR`q24^i;}C$c z7(XC+*v>f3qS!+ZsfsaLamRpxnb>d6OpvL#FoSX`mh_seu6JEo$~AvV6H0XdOQ{Jm zxmm@WC2w$=O}cr@=7M^cMjcx1lBIA4QL3XHd1c8HXf&_l4)vzy7o=lfg1r%mbDV3D8LyJx+JM(WTmHCWHDrV`^ zD$rp`QWQWcN#^h=r^4P{%E%V@eX2WLY+;ynizfMo{)#sM{Fb6*1huD5;7IT0vf=9o z+vk=iS(h5_7nRGGeeQC1mB77<6ekNv*^1*gn0?hVlU+Rma1d__7?>4y{~o19r(&k! z>k70TcL|Tn^OdnVHnB@%MH;~py4F|I2;lEEBqUT12>}^FIF4!kAkA@}a22AwGN4kb z`5J}ptp6ZA85aBX6B0@%6{HlyVF^(ZF%v-YC>JWtL|OqkKq#oRP>cl`j)|*CM`4Ab z5L9%!&H7(hp&>WmwUS63Oh;i9o11=`&!5KsF_TkcXs9^Eg6V zB3@2hQp&90rJ!2v+y4bnZSY2yEu)>IsTrgcZj)0PWMB(IfO?&}2I0`a4j*9I5ujm+ zU5Y~>6qGGpJ0(TGmYx7+>gWlDDkuyM5N_(lgYrqf8nQJ}lE7THfRG=d3cEs2QHIo5 zp-0b?tW9leFyoT1cB-|!SAWgK9Qcla>jnOB!1V$DRlxNF-x+WNz#k2`LEz5>+*06k zuUlqIBJOhXZa9cvZj+0FMS-Kky3zt`GRUfa?W5Kj3P>-LH-WOqG6{ zmgwkLxTOvG4*!hJqW;B^V*QMLxTczf^GgtB`X95M7G1 z1|(bQLGD(K1PQX!y(!EmbbIm#0~%M%!6x7}x# zy{+*LttiBh1%fL-uZss{Mp@&yH1`6Zi57f(T*@aExmI0OopZFDfXw;~${9)C^M&S; z`?xem_>i-dlC-rGRB@~IcQ(?jdr$=>RFN)M0O(0A-K#(u)SDuefaB&`wO(PDi3i85iW* z33Zrj$H(=eF)Y_{OZ5`TQ$s1q)msOD)pEI-CEh|y;j;T#W|L|_5 z_X`W?k!)g+3wG%2TKy{89RiWTjDnv}zE)Nk{Hbmk6 zLe0ft2_d!|#RWtRmoOE;VcTULiJ56Pj!U`6aqaRDNyJ}aNs-ioP5HXC9dHzd?MSNQ zK=k19EpR*#8D;V1+FVA#QtFrMz)o@(ETPvbRtB1YA8$xV=+hw~Annd^O!bH~*Q-== zF7+nm@ovv68(XGhB;hS%2zW&GDOgGdTbDMKqrg$h|N9S*uA;1kX__^eyd$UpnKw6A z0fl6GU=N6|F+?41*=4PoFh3Q&OwJxVxm*#bIl9#Nk)aognMK+_PiLC5FSqq-0b+F4YVpkxt8p5w;y! zr)7u)>}@6l%;U7+P^@?>@%Jfrhi%3e!)ZFqx+}4dNPsD66F%Qnej=81f`opcSQ#Gx zMx~O3g;EJNEmf+KNZ8(#LmbzR&r~$~K%y{L&@^|4P4g|#c3h+XsrjCy{ea{k9SEV* zeD5#<7%5m1BH)7!Vo6g` zVMnF~x#&1Ul1};ss1EnWy$+CNGVv9c)CmOcowzx;LuFUyQyp7mT3{#<#yTtl2qVZV zGs$eqJdc9wK1IuXt}pv}FHrD;fNCb$BYctzVDyTBN~sRfs6dsS+os4QmF4*Jl#1@6 zutHCg4kQkY&m(nUoUL3UPEfY=uLLNuRW^aC*K%Q$Ds7250^?t4JK|voF;En&q(w^f zYK^I-l=v^3k^qg`Wku+8ZNx4sLKHJ{&VDg58X1dlgzzSgdukdK0jaHE`>#_dgH>nS zMdXOm#G63%6K}%VMo+J9NG#P~vx@_K*c)=Fz8LvHPhQORUVmi0o$U%^44zQ#6q7gt!ARCM+tHPcmjHpkkVn9? z@sTjtA&guh=&ch#GTSm?7c8hS?|8nd{Zqb1R%4k@^Oc+JXhC(j+Kae*sQxXW(zonyg+3V8_Dv4n5`vG1xD9MWpz#9e?@Gf#Y5C% zJzjrZXF_Ooz)HtMh&EmBc&G==yus%2ZPw-q1gnro`f{s~hJaPzdabDt2&N(_b5jwX zsi|NU7yEX!a;t*x4X8U5oaP(JN`(7TKsDq2yPnZnz`%PH5EV#Y30TPPuY7iE0fPji zsU8ZW_#G+??J#lywDZCsFsEAmf0faveCbyAs&EDO5_qrvmZpk4&hhH9TDY#4WO5Ht z1%Y=qHu?$*Fv|j^8PC7%7!?O=)gLf0a`f&9~4EKp9m+YK6JUt+`Wm z8SHBfRTmVsCKbJ_%08?24P}JE7J7y}`}01QWuMIrFfKAEl z{DU9ujRO8aQPQ*KOWp8?nMfi1IouvpQimn<3!ldbVASyod1`fJ@}f`(z&(nx-9CX= zhID|)XVW3xhrA%8fd3c@+gm5_jgSs7Qc6AwNac0KM`T11tSl3xvbeN}(;bFMl9teH z#mcM(FjAl-Ocgk)3Kkh_9n0MVJ{M*ywK>e(?g$AD|$r}7lboFos6 zmAop+Pjpsr!)dC51uzp~($P_pY}}A?DGm_xM1`pgiK20JYS;OcVa?Z69rL_rSi@*M z6f7I~b!loQ9EE{jp4WNb%<{?x2uu#hpfDQnwC_#i5rv#!qU+!l|HwJV~a4FJ)Y^S|iEBQvQEV z@++%6O;sq{e<>pdP)?DA7(;bDoH|0sUn|1sOm=$-4TaGe;3W+S32hAt0izDJa8ikU z=Xt_a>B?DQA)&nFmbRp0l_#YT6}2uCIlF|-*paFr*Iv!>W%_HjU4UN`aJ|5<3%EYu z*9Tlb@b3iN0PytzHwgU3fLjXuwSCKMNzA^`Gy-2&q`74Sd~d)F0{?Ts4FLa3!1V)v zJK*|&|1IEpf$s~r8t{f2BLP#TqtT;&+a(f%{&VGVhyDucZUtc}sAh~%i)_#U1_26} z#z^!m6+pHekNuwB!2tL35I5%s8VBw}uXlnA-R%!(9Jsx|n9oq?z$U1-QNGuIB@R{ah?v`7ekz<1K0Nk&(qU^+Zy7$oZvnk;(YnQ9j8?m z>jm7kATnD=FIxXnp+7`MPY@v&PYN3nQw9v(p7P|O;3tjlQf-ZbqstbH=$u2(I!Y*Fd z!Y+ne*v0>6?>gYCsIvD!C=n0?qC`N9fGmna01G1ELs{Eel92ERl}X6K7Rfm?v^l-0dDZ3)M{|;?`|sbd$?H{>k)apJYCjA+l>VbU z7sRCR_h~ykLp+2<=UrFWV1Sq%v>OV|onYD|OF(U@zQ31g6X8B>hoP~0UcK448D|1v z&htlx7h8|1&FM>uS8ZNjXihS%kd)ZuDWl5B&ABG)De~i?Z_kS*17!szeZNoJ;rY26E-K#0u)zQ^J7_l) znmfU?NtS@x;@-cGYZKuoW3=g&*Q=8*)s-CYY50Tj5c`C~( znww4AJkNXMqRlb7P?k^g#v>+6zfarYP0Gsf0I;#Zk5%4&V}s`w%nUXewfBi7BM2%I z^ZFbsLQNSA|4^k3g!^nM1VxlFVS}eoc{IRC??hHHPYYO$P)KL+EEf}!-={;O_t5#+ zKikEekNrL!qNMHjX&)8k36He|=swvXy)@wEkiIM6<&wTT;N_9NFW_|`-Q+ssOMK*$ zZXWPDkj@Qwd8Ateyj;?)0$vX3ynvTYx^KYCCw*YR>p=RTfR{)5kbsv<`p|%vL;A3Q zmreTAfR}Hp`)jC^eB4Nq>UErNYLz6}Dugi+BuV>5FtvwbdSJ2SB`K2I!@O&&ILTIb z-{~NdjK>JF#gOCy4M|29^ClK2-IIRugGe&O+RjCzwQ-l1Dogh}>7si1k&l@_gX^#S z5K4R!Ny|HXwUV{a$OhJPj&tg@t>ss!U09fn4obKb?Xf`l%!uR^Uw>k)BpXwGxyTps z{)Bk9^hF{slT(DDOCGf&dB`-jb zqbR-13X;@|-&~@K#adC$FUul#V^O_A>ap_jnFz^!5W5>gVUn#$;EEv0v#SWQ#S~&b zWr@a7#5g!BWZxo5&u$z=F>wrvi=!wRjbo6izjG4`f0sW1gGe$S+4UkHLQ{=0^3dC6 zIS@&6XtnLQZ~0t_a98D-9lN_Loj&qk7?9OvT-<= zG9!n9WRYd}WMwb$Rb{JYV;-1QoH^>}D@4=`!ZBAViZBUpA7z6X#q6V%Fu5G)?xUoi z2zWW9zYlnMq}K(!9MaAW3CI0$?UCLs;N_9-6!3CLcMf=wTb*~VPq=0s`jHdu`s))e z$Dw-6A$KC4pPvDAqayuuz{?~3Ou&moKwIZPMv6-E0iV^6BrV17O!J^{wXaw}@^POP zd2M1bx|aGP1tgdIto|e!LCm`!DcN6 z!VCRsi7sl(S|qt?hBy(be@@IqsI!3XBRx0Zbs&9Zz{@AS zIN)_Bed<+a(aHH|W)>T>z?1;HlRhor<&!==;B_EVv4NovV4u6(*JEDFo{gJei= zUK)Bu)a!hiDT7>yNz#;?PIS#ZjhLVJV=o}d;gj#bj25B4PKJi)R@MbcM$ptP!Xy$mBstsM9Bg?etJ3p}ug`gh;R7?Lz1*`t8O; zZRML7K{8~bd}9Us9tGRYH!+-K$i$5sD;P~szLs;0E*M3MeJ`U)QcDW9Y~ux^k%Vt# zBuN^Pf-T)x!Dym^Z=#eWP31V>HR*1@9a!vQkHi{%2?k`i-ouq2kZzS-D z+m;c(gW&H_e{(7$Nxvsm-4K+&@YJtTwbrdRKit-lc*i2%LOU6Q0{`Mj=4 z(hR(|(=D=+nC}a)FE>6U-vTRFzQOg9+6{jBrA7GoB;Vv0*TKmHrbbB}UJF}zZ5u@b^bF__#Xx+BVn7G!8PK~nGq}yKeSUHXZWP7=k*OG&9$F;qN}J2MI^nT80o`W=q}PKd_v#h3*l?~f3a%jO#^8B^ zHV<83P41aVzUH&~k^BKHbI;5c9mL!-GlAZ|tzwez`mFvWY0x!aoMbC7AGsTinlGgJ zkA3q;lcYh{d|{0F$gUAJUqtg?`Q`_a44W^CF(0{mJPtOd0%dBhnx16q6yHNJ$>~)D z^-$6rrDBHTA{e+LFtm1hlC2v8k0gVfp;4Dz{?}uBjDwd?iuiMNcReOktgXa-asTFTL($1 z%Pvilmdw_nN07Gu&$m@fl8WxLwHY?OzxjHFB&S_#>L|;ABu$wOz-Eg{$oH#~obB5h zOfqaM`n-+#(184@B+0PifMn_*25Lnq#4V9RbVUI;5n}%7u{sQ zw0s~=G6*8>87mbz>x&7wDn}nb&{xJmK8zqZ)vABi(L=_e zJ%Z5w4U}=bWk!;%m;CA#lMIcc2Q25|G07{zlF^mF?q=)u zK#(Nu8$s=Y9x~3TJv?#0Z{WsZo)09++slt8GQL!&NNxESXY>zcGLCH|{Bom`@g*6m zM$Dc?#f&|k2#?&$z1QB^Xn|vn_ue-f?ZB+-9OwRf?rie-75k1jFQ*(@$%|wsn2R6f zsA7p$jJf5F#xLJ0!T9M=zN#SlFL73&9K7y_CkJ`UArte$6xAtGR~`(>n@W0qP>i9( zr0@uwJOz|!>m=ED(T|{*B(wA6*r0u39vj^rVT3|4LA(T!H-aDafBO4P_<|;}06@S@r`Av)j zK@S@Vf(wWu^5Em>3v25sW7-MC)EDU9n30|v@N!7c3wV+H6x!+s895x19O1KyNYYaL zeagX57zu3PWPNx~!izall6<^I);sh%8R(U+L6USCUjXe?-t)^zYPT|N=ev@&IZ3wZ&l6^Y&MB;C$H6c< z8z}cMLy~Nq>nBr8vOFxu#?65oN&5Bd*_@8^_4+dj>c!k{#S}&UF-e%9zR5E?8J~aj zYx&YGzugl()8j_UA9a7E3g0UiEwQ{FlMNPFHW!ktS!}K8VYFZCezZ@$nCDs*kiOH` zDk1p@Sn<=DQV#@*4}zqkEGs=BmO&(>rA1aipfsuaX#)Ky>ynND+2E1(2s{>wS z@zZ`M$VikVZ}(aKNYbJy0$a2nQ&5`k>f0(N`H;^VOp*p&^TkQF0`tYXIw!)$IY9T5 zwhKTn_U#`{l4;bI%ModMsq1YkkxjoPtaS9P6;LCHEAqAzU zKs{%oysgwG$u^UdkETd6Iq#owXM@?vU(RILJE&EXZF=9rWb1b65K7>hDl)1hsU5!t z7(1oYR^%wo@@rf|@(iD49eavqIr1+lutB{ndDsydQ~F~%?q{*O3Y59l51>Cu<|nhr zAx%?RZe4A*7?eB^)FK?r%YAndD|6Ac5s|eJX?Ih?b0CYE(j&G;@lrL*YOKNz&&=#_$~9V=>9Th+g&) zk~C;GPqqT{k@vXYfY}~?CGwL4K+glp`C-8f9lgg4RmLMHz}l&Pu!YeWA`d_oK$=Nd z^U?08xEKc9i@_;!F<^U*AI2c9dM&y*RGEyLw#6{2!`7{ci{m1-(C(rlk?g3=k&O8Q zNs4fg1HR{2s9@}HMfDU zox(oZ2s9^0HMRM=&J=f5=?ZEwNh-B1i9af&qp~>URLN|{Mz#7y=Xqp}QELvWC(Do| z-OK&l=;S7t^6mp;j7^Og^CWfI$0H(!Ax}9Up5d$hfL_C8%ki%`#Uy)xWdzyk69|&z z{%r(p(VXblsfZ<66|l4xrC9|@G&{)#6BFjdWDWvi6rQ9u$HAgmuWoG6tlb9#rY}#O zjg2~<5jz%CWl=Y?#B_3=U(Z5%XyXr8WXok0d2))`%ddgKn|#BO*M4Tg!DT@A07?4u zfR{&lZNSU+=>-XIz(hB%Ht6~RFLJJ>&kER*GZD#;eO7;xUw~zfSZvjUebFUJm+|L& zI=$ETP)u@_&pMhU-I!ArTl6GPU`U3YM(+)7fMt3TMUwO+x3MJY#yHh$fVST7qmAro z6k#4oVZ!q)GcNKthxW%q zPl`bD1E1B8BrTdr!xrtwoXu!{vTv)Hrr!F+?8STmfk&A&+iIQagT%Qt@gS;G-M1nTY(Y9Z4pV<(x7l z$p*df5lzqNBbrO$g5xM7MUvWPNc9Y5jFe7Wkt4IruVo3z2Yi-wJSpluqG5x2v5#oz zkLkocqM^)7egOSRGC%hb4QZN+eMCcB3@YXk4F~Nx-(BPp%~R;wh)5n5@1a0hpd=3i zD}Lyrip6n?(QSAanCG1)tJL!8Dnf=pyF_Mk@z?1;HlfFOT<&%Ce;B_GVaKOtW zy*%LMl72Mc<&b_X;ANBEYH=t)TSez1GbuVr+LW7pk~C@N6kDIbsR)v!&y9@XBHv>% z$pOBhek5toY?5pR<|CKHbufFlUy1zWv7qMyy{9oc`q)P_7sA?gez1kn7$V2XCn3!w zWM3pnZIh244JtkZ1Ma4OygZ^|`%^!R5|UqnC7*asOtSGUn2qH9hZCGuTdZ&4KIqZj z9)c7{H4isS(WS)^^4K|@5bhyBuhl5BmuiDNGhcsu9cL`vF z103^ZG&IizEN6kJ)?i&(YH{+)y-8FnaxX%y2L6=qKR26=zxz!2l1VnWNW5>Jv;{#6 zk{!tszgUrVKoPo-%OJ_XTg;Oz>Kz=ICP{CxPqMawe4jv1ClVEjJjv>!ti(R5i3-I$ zs@XdoOAMCdEAO9F?t#CO(gPjt)0wfNw3FWKifW}ZyP{hCbf__lmRjff!_$u>gO;ZW zqm!Fp%6keCV{B@~m?x=gHysf%4D%3zajZhG;j;CSpG7grPpSyooSf+^7Sh8D0ZVH! zB%T;z9!<=HcDZjQvK{2$4A2zl9-K%w3wSxCw+nc=q+15OJkmP^ybh$>2E2UIy9B)M zq&we|@RIdD+hU^|nC`)e^zH#KpY)yquLJ4s0WXhqkARm;x@W-4A)N?#*`#OQ5eiU` z3oCjtGLtJ1NyaTpfMhS2HwP!S=pbgTM9mk|d<)o;ryV3|(3~pRI?fj?CV9-QCMD4& z+5a}fGP-Py2Ui41&h}ZwBuC!vn*NV0$;MUn+HPT68zM35wBnwTTWsu^8J z{Zyhlj|1yDbF=g1dtuXu`%5Oe=U7~ zB~gEoCnT#-laKtpt%&4WpVfaoZ2#i#VnrmgeRq-V;T1?zTgEF3(t*}MU4bW{^{nr! zKglnARuRc>d{%#w?fr;~q6H|@?(RmG|MIgfAo+~XDkS-e&nh4pl&O%RGjU0nXLFfBD zmOgWm6Bf62h8sGw@k$ypXivlT3_?$HYvBlU^APhSxrAbNh+jWW+aNRH@SdRuE!?N=9EN2!5ZF+jv#&c~UH9*H z?A|g-CU0N1Lg#TEBx`dD?v3dkK8p^6O-)WZbt;ZO9zBsprbuC~EU2xdg&vp5FF+?80y&`^ATy( z&?c_RxwwSf;$KRNNG|nR14(}6vx-Rm=(7frY~*KG6wNNODQb7}enI(+sP)Kw*p+a+ z#1Ek8L6GYM7D>kD&Vw|9qH!iJLqOxSB&?{R$lpxR5TmRuulv(dr5|PiNrvl+k)}h; zDecr1)$@!h90|!fBEvg1K68zkWl@pHO6MhJ7Vfm&56noP7w~dOUlj0iNnaN5@ir{%P0MQ!0SNzgMgPu`lEoCOZwx0mqYrK zfR|0W&ys{UVqSoH>{!top(uw^l8jp}xY|_AM`KY##Wci#cpXUZ z9q{rmqr8pX~7tY1(qPoRY{}cO0J1 zzOiDGG~m99IEsz1wdm`($HU4!z3oe zackEQa|s%Z$g>$PlS}^>frNalDvR;4s*FBD=2n$yb3K|TJXXlu+BkD-Ujr zWk5OhlMGdAWn86J##L%%DYFPwYGr9mrB;^e)J{SSGlE!1hGJP<7Bgy#<4UmDFF`1l z#bq(EERNLWLc}mPh=pV*mIZOKEQpI`L0l{g;$m44iRDVfaAOb)$(Gxh*&wHaM>`qv zHK4FYW719p%HZmnSHR{{U>$k3w?mSx8(SHh^_+{=l-AoJ$@Zh*i$Rj1sx0%XvSJsb zFAHN?85{TRTGc4quY&Ihv$5T7RfXB^g)BW`Hn=7jZp%_8$~<&UPyAhy{OqJ!FamqjRSo$ zP+qqt`5IWFyQ1_fG}ifY1tdB0o)0!S4O}0b0&}scyFAkO2fO~NQZ~5jyMo-xI8|I8 zr^yw;nj*=`;swJ7XNs#!Iy7rm`CH@4;L5V9lnu@rSKCoP_hZRE9Bd0DU-nu3Nxtf{ zB749JbiEXakUYEvhjlQ?2U;4Imn9pk!IawvlCkrNo0O-_#%h1Z8cdQy=*e*mIW!(q zkBxZd(8QLPmGqQVB^?K8GDo-Eq?w}JHZ!$%c3@Qokql*fi@*JG#fU0Nt^*0<7JoZ zWpw=aU=?pDW1}CKa=9cK3UEW@g3rn<@mJpvlK1+o0+OtsY@e(iFCxO?VTlt^Se%2L zYr=}oupv5kkz&a?t%MbwOhcmcW=M244AFyfHjWfm1V;;!J$Ew8O~$FBjEwi}wwX<~Gtuj5 zl_cjHd!96+Qzc(#OFoB@D~EiYGx<7g@^$9q>*TYxH{-`W(%oJ4n7KTihs)y}3CZp-iLt=b#Z3nM%0Rjtibd<`gHr~K`BeAhO4%uf2|m7!0MVYp8x z6Yk?q`8AH3;XXZf;XXZt;XaP!N4Tnl`}Bamhde(4%5F)LX-b{emg@XGrcTUb>Wn<5 zPQ_#D96Y8D-ec;ho8o-c!arvfkbKSG4v*F`%fnS2v9NT!!qU+SOUEiK?rtozuxxSi za_ep;yk~3CCgF+8xpW4|r+}^)Y2J#7STvu(yt;DwxSG*W2kTJdHZ|5XE>;F8gYjf3 z8;md^$r9{9#}7R`R1sv0k8?$kByWUF zjG@Wpk%u8w7E@*zNk0CN!R1Xbk4VDe*>*tin1&>u9EcPj?C|bQSUQ4!h=7+%_l+bT zUg^Z;(JF6^T^=uX%rWk5rl|eka2(hVo<#-rgTriKKYEze_OqPq36TUmrp~})>J&Vt ztwvl0f2|3};X>GyHNm-N>ZoU%;p)*cTs>TdtH)~s<}`O6Syd$ITK4-V{incOUmlZ< zQ8?0yGD*%?PfiEuF?D<%Q-{Zo@EA*Y$D)c!rD%`q=pW;U_KDI+tSBrjS< zkS$)fM3CgCf2K%ayamaP`O-t{xi0)njA0dT`D|2^Rom9cqzeY7svB-}ncK z+Ay`|uk8X(uNx|+r_RP^;1-}`C13VXH?|t zxX9O$k*{MTUq?rNs`wZlA?$HbWt8t^A$V-jvmOu~(c zNw_gF2{$Gt;p&+5IM#N4n^hByqiby`(Yq3RHC&`gUFeIFOu_pRuRcXKC77IN}p8} z4YJ7Qj=@ThB(L%f6_TV|ks=wSQb>0%p*A8#GAL8z{crl^l35vCRcAS;Xb`& z!hL#*g!}YV3HRwK6Yi_Y%Ds(Jf9{vOfaEtmtB~Z+KC6IauKyxZAusb!1*1Tc10;V- zNse{Y?vHU~O!OM=Bac%gY*W{qlkGr1-C}K8RxmB`pd&18=*dXI zOR`~eE8lhzNv0&1;i$XF3VtzSdjJQsp>MljYmkBM0a4onY;kh{BqA-sad^+4B_$*| zTjZT3lC}MaN=OC~6-6V8Y#?;U6lEfja30a%xyHD#=z;aAibEaz`|RdM`9w zy$c$yj>d4g^ZnSx1Y)>s?d!iKQ9_buawDiWN5j=sWR|&@enyI|J^^>_s3cq8w)X>? zGdjuEdT^y8BtsPuK~|&~k3z(iaM>E*KOiX~$y2Hkj47R{$COUEEM2G~!i}kjaCJqP zd#zyHC3m*!2IEdLl%)tV%TVybjR{`3F~JL$!4D3`UASx=1Fn>rWGG7!jLA~Cwk$cO zQe%-~i(_gk&lZREk3Pcx8(E%@iE@!YVTO_X2`t$%*Os!;02@j}mnmOW@LiKGt&?Q7 z@^_ozB)RLXJ#22 zI|qJdmN7>%13$xTepbN`?`zqn{aQ{$m0k1_BQgnAj|WO=){oU8M29nSl!#V6BJvzu zyb-vXbBuPCg{`=LuqA5|{jQ#bd{)HHFjRX2P=sbigzm+;mzREdv^(^{gy%1^X=Nem zCPDPkLhX#s-GH)NMWRR7!FG{-@QN-U(8*3Xb4-$N%Z$Q1>xQe%Q}-s=aHU2i*;?qo z{98q(S(8S_2MnK&cK1{LL|jU?ZnlpT0&ss3XjkLjo%YVtXDj=bJCc5a=c z=hhiKx6T&7B0&CRS+1CO z@APmsa);AVc@znJQ-Y-@!2T$nFpX%^<4w>L{xA>M*MI+T!Sq zv}NqS1$m)A9{uU@y?{lMlSf8Pdybh$9ICD0LoOq8#wOX~dY8v@Bsr!=@Ne+Xx)?5_ zVnUy0Ro6HpFIwIVB9UqfRp=>tp5 zg_hUg&=p+Aqtlaz+$)FRlNWC9%re}^WVw@u`}Fn|?z8#l#%}grwu1F&+2(bKMqLMI zxH>Gu)d8);tl=n%RQZ_52*pUvi%R{XY{`{RyW`=RHLmR((gJmD5DpJj(0Q45!Mb$k=o*wrb$8BJ+LkW%+n2~Rq1;7~xrb76jYd-vZcIwTWlE3bhXY{i8E_>4lA+v1ow>IT9w7;rt)2WE&JvQL zB8i|b68{$ais0G9+R;h2I2+{SEl!2}pl%|_7KfD$W{rsk{`)XfkiN; zz`~6wuyA7vEL;}&fuO*`W$R17!2L*u3M_&w@U}sLh07Liz@;K2Lj@K=TY*R6Pl=@* z>qjTqI>!G4;}Vjrxe;X9Lq!txm?8-`rbxn#DUxtmq)_g{W$vMrgsW3(grNDC-ExLp zKl%pz^%(#DM3^(j>c0c=nA#ktAkCV@*$S0I9-y)uGvG~Rh09i`NHc?1uXvy_vTSiz zb-81cZ1GRpj4WIHb66wGR%i=wBa3bU!e#OKaLU+a>uWq9H+I?L3)V)K1I54dHnME- zVWg2|D>SH*8wZuoz>Ed9LPIU_>ap4QD1_@hCT>!utV?{Z;rPe+@o!F~oFS%8Y=z_h zYrdF=;hQ&K_?P#g%B~2uE3Psb1>y3T!UKxo@|eO^X1H8Oq4^>fV%COmV^)E1xeEB8 z-q_XiJtqE@vGEHxCVt_@#4p^K_=Ou2zi?yX7j8`a!nMU8?85!#`d>1~tuM@jU2@_P!h9Qmg~>3ARin}~$T2BWFxoILXs`Dd-P z#rZgr(4ySDJTw|NL^Mnr;l4ENEZvA5zfaq_PsLML9$6mL(w`Z5$PsKdnQgZGE8p^u z=86J2jJ=`sob0q}J2OivJ>ee1(#tm^T(*&KaPa$d!NYpoW4OJ9`^ftm zrzSrTJt|=(JvQM!ju5x4aGxG0T?LWdz^}53%1Jj7I75p)K0ZIN*yXT&bD|Rt4 z8Ev*Iz?Ba>N%He_Pn(U$t7xcxG+Cj6*I3O!pH}dtis>nQ$}#k*d$xQ z2o{sPv5KG${c6miH-TFQ2k}#!Hc7p3RkvQjs@vvlfj@BzNj?r%LuZ=fzZ;Z;bKR-H zDxEgtT%Wa_o{{ifo{rh&*=#YYrlF{MwwAxesn;f{gNu{VcB#`WNT`mVEtwtADVHgd zp#lW*Hsibk)ONZ@5@P@~C_(!MC9yf9B{7@b5s1s(Gvx0_(4r+dv5{l|Mo^pMl`qaCAxyNM0Hz&%vCB*SxD3)1J#n>=Utk`n=!73ri8XG}+ z2tAjU>S-qnVf4cj%b>4jmSK@=a<c+T#=G*Ezar%K&yT_#VU{yw zZZ;e3+9bR{JSOk=Y1CszZ{tN>2TvbQ`R3$NL)4rwqvnLEr>J+cuYI&f{F8w44U9IC zzP?C*k_Y*$NLizX2iXkMx4fH^7g@dC;39BUK$3bf!*ejSG7^adI6_&GBkRK_Wa%_a z`*O%G21-zRsAA%5&?e!jR~h282CgYImjmV73P}dWW=!<&KY14{a*q0G0TUHKnFBh6 zm}x<+<-S&R2Ji!(fbhm!!j6fF&l`AaypiNmg&B3|e`#u{bWw+quR~>B_!kxu6G;w? zOoV7M{T%f}tt0#b_aj*hmi*bo=*S;vi1nC1&j_AG1nKmPrnAXWY(hfbAAQ86G&M45 zJxNs_r#FhgV#o#boibnbw%{{-;j(oXxbi*>NtVN?r*a~%S4T6Ad|l#5gf^~1|4uU2wFDlg-KmM1KasT3V*@`1Qpl`%=SXipB9w8m%OMv$$FT@s#U+mmqZ z_6+r9vazvIXfcGP93<}y9`P?5V>8YytT}1Lz40jYO#hLnl#x-e7O|mHbF%*&x`28N zIo;@Kib0s@X)WWN&PSyl2r5=yrW2=7rm=EXKG!DUnUp_lSy6gP9ehGmyxu(;cDHs@Jd~8mTA@4si!r~e4#2oY%*N7_<57eNs`RY2PP(LZL;F z%1*qu1d4GIFxDG|HsX!NnzsF3FZaJn{n6lLBF@?3sEG5Jq|4*}wTE*5 zUwh#B*9+5@G;@)pWx?xNW4JmS!_`A$xH?S3)q`WWdUOm|N4n|ns`4LEdm0}?XUXkC zHXB?79#co{F?Ap`$4{{(Tsd#B#SgOONFy_W9DiS%g zM@1q>R4o#F^F1F?Eb^l%AQ=QWMCY(r<>0;_)ukOSx2c5XUsFmg63OOq&qDWz58 zCz{rk+f=O>b2lB;Iy$Nqxh19+ze+&b2CaU-rw48b)zvwmWVdx-D1*i zm9I6>#$s>Izrue!dxg85Q3Ok~Ke%>sb5g zj}nAx8S^d%rN%;97VpZ@Hd7&?6%nCh((-p4q)rCPfmwT-np)(PsIQ9XdnTtt>H@p3 zb5e_37~?DYnB#ItB?DhKg1p6N^&|O!&x&NvUFHV62z_is@}^#Y)yK??voKHIN|?H=1@`J=+D0n)P5Eb_NBJM1 zw+r-a`sYG#Q}yRTKMA}ZxBwVLYN$-*8P^)v>x{hm0;dDd1M0lB|LV49i=z_pX#ao7 zC%lsURUb1mScgY3U!DLyZ<#-t%Fn_2Z@!e*}7?QpnGRT)OgcHk1={lL+^jNUZhCB04CGZy-l zuD#{3Te^p_Ga7h2a2jxL_&M3)k9M|#{5-^W2QUs;yMyI2sjQn5y*9vZa&)H^RV+B@JHa!Kwa<6)#o^J{-&Cr|G>Pv5_k>pI-rg( zQ~4s;83-H?JRW!s@FJl0x4HU@VfRkptH3uc{ddKSu>&WYp9`DA`ZwhPyYz6!qup_V+FabOexTJ@P=Xu}@z&C-v zR(ykFIznAswtjS<3<06pbmvV*5}FY zCf|PpUj(*9e5auvUjrTW^IQ98e2*c%4}c$A;>}e4W7O+B)MWv%0?7G7yR6fX@LwPE z$Tpw;==RrQeP56Dlj;8RBlNG>O#PFgpK8COzjWn)L45UKzY}l|;6UI|pjsZz=IYz_ ztuL`Y^}eP34}#o>Y04i5xoN-)fL8&Nz;}SD{8zU<`s;!9btG`GWxZ!A&${w@#&yf< zm#%LP=Ev^9y?|E%wR|4B1OEy9TRqdC5Bw=x8A9`Q z*n0=~A@D2Ux4?BkZDn)y8zWxkQ-OF3P>=zL+ZKPS{B^un!rw>0Pk`%yKLdMb8O^@H z6M;5+S3~bQ;LSiSPq}NA+^rUQ%F%8GN| zU8SexDfc$y8ljF`0gHeoz;VEdz?!y~ssAsL$Jf9Xh_e;29k4xcXJ98_H{c#XonKAc zPZe)R6|atu>!TLrwgxu0^-C@5c@Ic_fz{7zBz?!y~ zDjx0MHcx0r%X5EXp3Fw(C343O)rrtPJQNBh^~bQIzpY#A@+rR7Fi8t@N}!<(`1tcfj?)y;0Ymz!Km9OTDYxUZ(z6BJMYUwGn3>U?X5- zU=!drz!tz(KwYnzwx25AtyR1_KCX{XkpF*yzW}v7<-SD!*Feq#EwAM`Pv}R>>pJg% z_}c#U~jrHV)U*W(7`Q~~X?e=s4!O60tAIPA-tB;W zfPH~AZ7);*m5BRM;3vS(fZqbY2mS#330NC>)v@GP)ArMi_rHi&*PrXo1P za<8KQbs*<~wy)(lPv}R>>pIs*T^j`2kro@X?v;S(f)1ogm$z%_bcYfy!5=* z``NC@zZa0}?$@@TX}mfrTZPXT`x@G>ClqvJmd{pSKNR(e{V zau-7GL0~1YHl8om1#S<_1J<;?O#PQ5?i+zm1D^xF415*%I`AFfYT$=JonKAcPdDB- zE%9-E+=+gU<6{Iu1h zf%^jw03HlH9H`WtrQqKSd=NOjp_VjloBX5DdlEPS`X>O>wf7G6-vjC>7+P@+|koz9^18`^P?P}4d-Zzln z9&$Ta-iE-&miWnUg8p0}>#Fl* z-8fEzAU_N^5;z)I-TFf;{>m)=x`WR;GA_NIInFxX&DG~T+7EH`1s-ULSIgiEur zo%4Yg0spU&mNadf{Oizr3-~VZ1K>fhcLXq9`wO7I7^tISyqBQ=a^STVd7Io#7J2d+ z$8C_i!y?Z(DR&p-?zPC1{{Z?Q0X_!&3HS?8=TE(d(fPNL0y*y5Un%;R0Ph0c3w#jRdP}3Z z6L2@6&E8n(%>trtN1MkDl+(Bd`Aeb$z%VSQpk|734n!eh&N|xE|OPb!l#?Pfgp;G+v$m*D5dO zq4x*QgX-329e+d|wNXcoyY|-|{igxX0GBJS%g@pC<}F08}t zkiQprKk!lDzku%oKLqOf)U^Ff^U(VP=RtMrvyM+9juk+TyY`oZ=Y{3! zx#23y^TSW@T=WazH^9o~#_~$w^SP$|GH@mEJ>VBW9nTN2w=L`x00#iKf!@0ni;uXz;fVx;1=7M{;hzM zfm4BR0N(}n-PXt-0=yM?C(!f;zq626Ki~);^L|$4y@$&CT9tQwzzM(?fh&PMv2OYRZvrj?HpaTx8h9e`WZ){` z2f%|d&kqMK0p0^_iFup{oDDo1_&M-vpq}roah+`g+zqI&!}@y9>vB!o<2hh4;^KM3 z=AZJDAU_Rw32+{8J}{NNQIH!0JQhg%I)8os`7p)#hkvJtkKY_jI|ptY9(!8CQ7hmM zz&(I_0eb@b01pMu0Nw!HfWNmw(}z1iorS+oJRf*Ha4PiX0bc^z?0o=xyF)(#90QyP zwE24n_W5^QexM*e1%3hi3RqMAmLlFKfX@K`4TO6i_!|E}a8?1^TI9Qd{~Yi|;2Pi; zz^{SpfgMq&Ie2g4Ma%mWw0{otQps;>90`m6O||zi@>>i14)`PRA{3f`r*k#h{Cl07 z(Y_UUC(s`#5H;mz1m3gd`|q>Sz7Ti?FbTW`sN>sIJA5yn?^%wnb`$5&H+Z1brjHqcJMy@1zoV^sn2@1RT2KNL90B3}vqW56eX+v4x2w*&3~ zYy&(4cnX_f6nCz($a747@Hw{W_4Z4@}qIe<1%d@NM9Gz%PK` z0e=Ga#(Aeda3oOIYg6rCfD3GMJO>^CoCCZJ_-TV{5OEBfnNdjdqCOv{CI0%E8vd6uE0LPVj$md8HM(-z$w5} zfpdZB=64g~TnJ>oTAy_(hum$zCBS=t>DK8p$g@tV>ar*D>IFMo)2%Lj;Zv|!SmP^z++)=3Xsop_#Ee)YW6pxn(h6F`(r*A&4ztG zzvA<%>Z;dQ@VBY<#-r|&fm4Ae0Z#>Td{X&ajd5>)>x>@%S?W5(_X5hnpATFFtN>O5 zzXkI1&Ykc%06$mnigsV%*}w~dF9F{Mt^x9M4BO`yoX>yO{2oVLp9HQ1z7N#%OV@$p z%5%o=bzIwVKH~udpI85{=cm`z9{Aj>7jQpdy7e0X`J;hDfM)~G1GdI^==$6A&qz~$ zbLV4C?JKsr>ik*ffvC?A;0Q~-GL`3kzCx`7+y1_(@*g7JPk>(n{|o#XSRbEDHUoA7 zb_4bWmH>|ejsWWV{aSw0t>31`vmNr=0k|`eb?J__tuCjd|1#ihz7 zX^Vs7#5g!ko9cHL`0ott2HXdD7_bOU|ZmBKwF-AJX6(`b!416F4i^OxHh-W zI{t}xZgM|9A9@)0BG4wk9(w$|wnH_^Plny&foB5K^~d)iZiL<~z(;{PAI3cj@$>WK z^U=N)xXh9t^>;;oXW&7=Lx80~?Vs;qypMjqpTN(p*MmP6AMi{BF5w40%HUXhZg;4X zzcz*ZWav!+&b560mjr*GH0?9qDUd%6cqZ^tpe?@MCnUTK7Xj}D);-biRr=0oi~LLA zuS}ue1$K7_?hSksm_60_-3F-r4~E=u;3(jvUrE0!;@S(i5Aa~%;lO^t0l=eyWx$pH zG@Xhc z+2Y}NkB0q;z*B&;f#pD*&xPR61zwdxK3zYoqxN?y>@%)g(7pqx<(YT7^O^D+V2|_v zeXIj*|4YcFD^EGbL%X*1RTqBKmFKwUA+GMwF9ntZZv*Ol{?bo)C1L$Ctyd~}jz?3x zza_qZfS>MoW-8wl=Z5Wo+XLGH+XHt7b_MnU768wiVb*0O@bsCct?M@w^2Y+70p?Br z-;l3^Jk!lLl|1YBZ`AQc;HyAgf1BJJ7Wosvp9Y)>oLx=wHoG@l?B56eL%>IYPgIk< z%`WS#>zS#1A;!Ny@F?KL(o4GI4Mo}V^he}&Q!?F1lr=!@@J)xx8*rh?H6m% z*77Fk z#vA!m+-S5*bII`rajUo*DHnmx3HTBxy}}O@^?pncc9Ha`TIex2zWH`c;IZH&c~)V z1oCCTvA{_{+ST^XMt{2FMft0s$MIc@wzhvU`02`1j`7g0ZT{S-;!h>N>#T$qVrO7? z;LpIE(-MyRb2ZRwgns>fR>Er)0tW%hfL>?l7v&E|e=2#K-KiG)lrKR)7MLm0t?`_X3{)J_~fz z5BV>k|7GCoKqc;w&-HdB=ACW5QT{X7qx?TD^Ywkmr7KT4#zVWdc)o-EbmbpLoPAGE zIPT8?;PpU{8T$1uG$76{c$Pubi9;55qdgKEpMws1@xB!IgWqn zSFOP2)=$@&^ETb}X47wnb-?v{hGqR|{g#kRSD$i>mws&f%Wklrt~~dlpRhkTn2&XU z^??TgtB#K2{H34pO2YcFUX4(%9AL9F>!H@WX9{B0z-wyJ-0rPM{T0kl#On zmjNq*T7L=n_WTJUcxI$b=7Ym#v|Q&r;^v>%YCW~{OkeT8>q)OmHy_+ z>wQ$mrR{geKAiv_06Y^|eon$uSpfV?ziI_ozn-dohoD_m+HokydQI0S*9; z1M2!7YLOpmkx$ppnHK%t;4{t>&_2l`UjhD7;C;Y{Eb=zFS1t1AV&0t(yc$>myc75& zP}lEfi~Ri-`E>ofXVJd`e8%|#+OJsT8=jZ&Lf#(OA2=DP^J$i${4B_y1zZHY9eCPY z*PfQ~9isI1g`SRwcJ%mM4*i>ew*kKft^;lW z)|CF$uuuPYTl`gm|1aQ^z!lXbZ_AtG!tu4$)283(0<&J8z1ZL@z*ZR7_LlL@ReJA1 zPsc+$dVKmpe;9Bq@HXJx!25wUr9S}n>3_1t-^t*g3Y-l*ubSj-d2?JizP5VW^q)t3 z6EHsi1lGg2=2*t}b)|PY^mIJ5qsJ%rLNlM*13Lqc1D*t&39Kpo?O~t(_p#ry1rK{y-v_$JX-z*$iD;p0N8$x8Rw3` zd|*xKzoPtqj<)u<4*U(kUx4*3@ntG+%bVk%Bv_!96F)sh?SZ=h8PA>;|M!(AypXoM&R`SZw!l1K0@xRL z0Pry2sX(3IU-nI1f2;a@oaXp;!}twLF`n0=zZ`fI@Nd_fJUasOfeGL=;2husKu7)9 z>^Fn_U-lAS#eS{&y@c`A^&g1w7z7*#oC-{Lyq81%QQ#B6uYt}D3CI1}8R#`azgFVh z`#Nwn@FU<)!2C-Sp4Oqj0l<(ckDLYm>A(ws7X#-4uK->NycT#J@J8UBz|Vl|fYYur z@tgT1*0@jMLqCxA}_{|(ggxy`P??Nw?{@&2<1Ds{Cx5MSe zPg`IiuoyTMI1P9y@N(d*z&C-@<{5i`6#uLv$KN&%=cC{=3j` z3BA7o_XIlXrwIK1z@vb3fb)P?1D^rD4ty8*Dey~RR+{ntUj0u)9;#dp>ySi0$0yUe zG(~;32kr>e{%mp`A>Rqu)uP`C`%V{N58w;jkFH60E*k^2|Dli@0UQk+m!^Ij*!>%@ zBd{xQFW^4FLx5*pYvP&%?36TZ9iPp9CyV_e@Q(y)dnbcG12`LaiAA3L%h7)Y@LJ$? zz?*^EANlv7|6$-G7WtRKe+~E+@I&Al;HN&D!ccOn8@DYnV`Ts)yQ^1!j^5nmY{x^UhTIAP(|0D2c;1-sAPX_-&;9TH5i+pdK z6ZZrD9asdM47>oS>veF3^0Yfb*^nPvq68IksECZ$+f4cfMxnnH;-T=Q3>e?50I8ev;m%N#G)m5J| z)Oj9|^PBTj*ZiLnb{xQFi{vq&Nw2A&x>9ams?*A`rc;H=&4F56UR*Owr&tIGVb+GfvZ=`=b{7(m-0ZcdkboFg==UV)&1HS}y82}s( z)baf#Z{}Tf)n_8=JQv9M&3UTp|7VduGsApqN`5-xNZ0-@*mpYKV&*{tIP(tE*5gI_ zPSEQLd>lyqf?JLL(Ax|)t1y@koC7Qeo@DWtfZa+U?ajH}*jojC2l}0WeJ%DDAfD0C zuWtF}u%83_d#8wJQ{~@>pEba&H2pmR`DcM&0KWk`>ZhjVS*NWL|F%FqKCGh(W> z_J|{0e>VA!u(Ln#pbYct0{K0FhXad%I=-5g=Q`wiKLq;)*E`o`s`Z{~-P-m8?f>%4 z^q*(hHzr#4kKddBwaEV);P;ex|C& zHjv*A*aO%bsN=0^`3j6D>%eh5(lVZ#D*p`ptN?xrOy%!x$lVWo1^5O~*Q=)Gxi782 zdErIiD?lAjrt&tsKUnP7Lmk=!>)<+@4crpg1h^fL=Nug`=W)7rZ09W7`R>nR|1_-E zGlBO39|YEP{pg?9u~hZ0Y5C)j_esF%Y-1lu72l@nv;OD8Upep=;8LI-pO3-+47eVs z=d)fPHhY!O|GmpQSpT;9spJ2n%io6i_aERVz&=Y7kyKsArpi|;``cRV-vhaHjX+CJ-Hi(ALj4{?qHjs;Gz#Gk2rW%GpR@?XFwfX@L}0AB{`_*R4eC9r<3 zvDXOL4!AS06nOD=Ms6N(8SsIYhQAv4XeYFRBl1mqG|*8$f5lV1^-<+@PQmz%N^`tw zO1~0uJdb(t8qnr1Q~9f4zZ`gfn*L6M+?l}nz(qhEUroz1?_7)**Awfeza_R~6u=+K>J$_R5j(4Z!);od2fUw_SH~ zF^}~8scCuo)z`f~mUwDf{!)w+ud{tyB)pOw4xH4*wEvECm#)_|^v?#K54;$tk8cM0%bAooozzb*301MUp$ zWXZQH_&tGt2OeUPe-`JQH-TRQ*ICX#naa1uIg976#yEG6vYfy7f&4&VNe#*G5BvWB z9s$(#Zx8=_0{Z|D25zqWid_<(iF_~%h3BFL;d<4jotl#M*!3H zPyIH~dlR@C_$}~z;LpHX$g2sk74UDsnZQu09{F4QtL}W#wbu;w=m_j&sn1{b%zW1K z>$j>O{p$Ix$I&+5)776~nGb*IoB5Ec{$2mSBK&`t3F3)|E*xB9dK7*Z{Xp;B4B^uk-(a^XN&8A6mbo< z#8=(+rohk1z}djdfb)TifVTmc0CoMU+nz11Yg5E^wm| z;Jv`*z^8zBwu_Hf$EV}*k`DdS{Al|8AnSWK?u!`jqo`-9cxkT* z>>dQXzlQ8T*T%&C3UCcj`&)zkwP4o}mJx#WZ*B?cH!e+)_Q~G*6o`*O$b^URF z$Vqd5D8qho4e%!5t-yZ)KL&mS+yG3q|J1a7?$0M;pJv^@vyAtq$`6A5Qs5Y%-alx+ zrsQpQ$64Z83jPpg_DF3PA{iDn0Bj0}jQ{`LJ^1U;R z$2L!9z>cGSW`lnoa1pQqxD@yl&{03!SKh+9;W?G(aV742j&sI$z#oA>1DoMKq&cuP zuq{yABmYeF(=YG0w7kAA()U4HemI`%j0KJZzGiveGaLLffad@o|Bd8_?v(ISng+ZE zcoR_Po2mSC*qIBQ2h@HlE&g5r|6Sk@z@E5&=KFgqE%&>W-{pTqz8>=2G0l8yTE1C^ z@$mV^$#}lOakV|qxDfWA0R9{J5m3+H%fY`Im;~Npk!Syn=)W1b=uawdtK(;ueE;b3 z`6rnDkKgxI3lnBju{>$)RVcg{?M<~yy-L`53AhUQA#g3QOSy?70W1a%1IojpG z`M{@}89S?i72xyxrsrH|`X9L7U?s5g4W^wBXDv2X{Ih_s?-th7A{-GTGp0 zQe(zXDV;pg=`?=Al+sRp_B(jDDZ@sgHER6vorWJj=Gc+DjTz~5a$BQ^9XHzPH1eP0 z#h$?_lTFVFrIU{vGhuv{#t`Y7Tzc#j}%?DjK+{*lP3@Rr_mric7%wD^AuY!#1|!dF1;6S9q(^m; z-(meJwG$qH3iR7~t>Bl|?<-y3|MJTO`kz-j;R(+JV|TCRICX*9K*HfdG?f3TzoK?R zT8^^gT#b^3z}b&yxSC-yu68Eyw8q!9(57(2uU)VCnlM6#tZl2~T>8 z85kM-hxI6uWLag51gR}eE-yE z{$Ol&dgNXyMA-l8B?+%<^%5hog#rJ!j=x-bTz%Hx zxicXx`MJ|TcZ`E+IZhr4-~z$0e)oqHUQhRjjX*o!uxV@mcMChLKXiG*6CAqS$nT1A zG_7F#*sc`99V3=`&09mI{+*$&xU>Ep5B&LVT0#D_^Qm-% z^_^8ijp!-^^WfjKqWa%TM_9l7-Jzan`MX8~%fK|`H{&MbM-vRyHLn&!6 zuWHlzMcS_ae8s1}yFZ10Tv_*rm@Ncp(_?>{ee+fG_R@wt>4z7 zUvIiuDUa*~#}@xxEc#F0VDyhTc;ouLps(xK{BxuK%;{AlW{Y?b^s9PtocAW18QXnQ z)eV4pl<#NJZ?W3U&_u(k8dY14>#1L5$UH96FNKcmR*2S^>EN4nAzm796mS0!S z83{-KWXW#Bb40i=OHN8WA5`UMJG|~!^z~ObeD!-wB{jJJxt$7bV~5wls(jh$d3_6YWXZ0?>sE*@*H0biD|g$k^3zvZwH=uc-4a#!#nOtC zKY{W%Z?Ph`3cr?|2r8E*gmRpL-fzeGMzEIDv;5Pc9*66=y$~+Ha@S!-5*-6P{#H%` zc8)c@&RojFj?>3{LjG8 zImPgg$7VTR47&1jW*Yt(@cS~SDbG6{a}B9Tz*{n zoU;wzjnDmg4g8tsCA{|g?#-Y43=nklt$25+*M?hXl%pI>_{)VK7tae8zHMCI^z1ir&U)VXML5nU z9zQx>ZhxHL?>+hEk^Q!jcP!Y>xdZcr_H#Xc)5!k6Gvrt9HjJVkc7nXVj`Z>Pxe@yZ z3BOj%^`cPtZDhXj>D@GV83I0^DoW51EurTV%@y7Mbr+jC^ zSQp{P*+0O-Kia~dXyKpc@waqVElGGDu?;wL!Jn~ui< zYdt$?grK%O&v5PVsV?i;O89a4_VoB$Iui#Q`|dg4{V9PRK7Ho8m|(GU4(#OjO?dju zcd_vEJWkbL_gVPQTkOAU;eTu4XE%z^w}pkjhlPKH$KTQ^n3C`k_z&uHBKWH&8~$kU zueI2@Tlm+>^>+oWF=M{_mT8|$+AAaxg<@z$j_`N}{EACG#dHxVLzMU=n!-emy zi#rmY{&MfPUDR`R##Q3s(X997z2ViNCHL(sAT;J#+#@IA%_G}(2J-SQ55{R2)TIh zqJ-%0|K6+Vs_L%U4KWV8(_O#%zxV#{|NXCell}ODqEDa3zoF*&8Ssb5k6vmC@>kWM zKM6cLgZ%zaMgQz>O8{*NYoA65zD}N>0e(TzWIwKy(0>s)?Y9{BUQl@Yw&BBy|KFC( z^HvFc1&&Gk4cjfjj-!|gfz!I_+nXJQzo_VYT+(kV{CkQ%eVY*~g}wHmoWEyEddkQ2 z^GAWp@7dpP1Aj16&wm+lnSLIFFa@7ax5V|^DnNWr;lJLM_$%VBrg^|0{NSV7PyTXK zA@XA(=yQ;`cp12m^Q$d!y`$#;y`YD^sr}v&cQx%Fz`upKdjA`eKDG1u!|U~aS>T8R zKa}*(t9h;gr*(hu9f@OF@pB5C{Qb>>zkglL(^CHR+505@9|W#xHy>_EK>hxg!gC-l zK8nDeu9dy_$r5}6_&PqX0jKySUF%SM-&?}=->>}Wae=GFG9M0b zvh$m7-4y5rb?>Wcp4Ox#ke8Icz7L%EN#CkoRP?_CPI2Q|HIE82+FOb~ean17(SPL8 z^>V&Yg4YF(KI@w;F~dc*ujhdiKW~0p;(@rUX?IHI`B4e}%M$!=CHQ|z@Q3gmj`*n- z;+P41oxhI-j%53YT{~7WS%bpr*+d)1}bc8-&OdX$L0L5DYafZIlSg&sk22Zj5E8X^>bKGUDeDPW>W_ZP(E*-anX*f%` zW1KTYPlsH!Jnq|EFdfr~46F5HwflX`=CRQ`NKQ_AN%C&_)3?*b+Lk?8E|tnJo()-t zWo28kaGtxI0%~=&YpH|fLWb*>@H^(glqb=tovQYrHeBdB=9yZ)bBNdb4IDsl47+z= zyErD`$4Ll#sOWl~1PdL((wMzi9M(1&;|qI2CkGhDGRtw8%!d5aWv@Cnx=bZeuteE%d4s z#2&Xjp}78m8RLJ_oO3$~qRw_Nf?+4_oSRn1++&83TeFHa%%r9>HuJ|b3$EZWGG~kk z{7z=`I`-}d(bV!7@o&-Gy^YIJFbkK9nKeeM)Ub+S;NwPPYPml2BI$xC**!h7Fx<5~ zW5CR9`qw`gRM|i$!#5MX&LGv3S)8y5x5D?vfp<3+<^zVc%^g~PP?H>N$6)h+u=u%q z$HLe-)|TSm$cmp1oLCWa{TROf-UM(r9#RJMCR6J{>x=~O{;r$ZJ1Lwr&0_AsV&C_5 zvrEIZr@@@FDR+`4>|lk`I0y|fvt|noN3KGTBSTf1 zn+=4+bwrT5@5-ZG49BygQ%xTJa%R)%DTZXOV4`l4BbC|ELF`Loy9kPhdJ_yJNbtkK zX~<3Fb&(_0O+;9_*~J;NER5`xAG5dE&fKr5Vaqx9kVP^C`c`p*%buYn!7c8C0ek8Q z9)}_oNOswNf9J?xMt6_WzL2~6u2Sal{=SJgIoR1fG>8HR*;EZf{+bbnqd|E1l|^N- z!?-vD$M&A;?i_X6h&NpswfAbqoUSMt*4t6C?|NM3rVZ#h=Hf0=LzS^)5(T#z>W6VM zVLXb02&uBwx_sE#ZC}66>J>_LT{E^!q@Xo7&XUpAK-FB7C9230sDO?bhn1l4U_;Bk zMRwEaAc4_cW4;$24=6@h9gw7T#2;B zZa7|Vo+slAx1cH1378Y9dStDLjFoSqrlTFOk6d5WWUfCp!wG_1zbQXORW~|xnCGAZB@8FquQ%*n`{;x%^nBm!KrYz!(r7hkO>`$r9~Z_4>d|d zIG?OE>)?7v1XU3^q5r15Y#9D*DgxnZENPJE86FW|n@|I?BsSx=PEH#u9?v4lVB&AF zHE~HA{f+KQ{ocfp)>BXJX70m4B<+?K~7ieBh-W4h;o|}C)A1XTu?Uc zt8`a!1Kt_xRm5MVdD4Z|v5lfS(tH6v^YYldDq4*C`N4c8<}o_~<7~)qgnG%b=(Uz= zySKU5B#ITu)zPGp+;YY`AwgE9`7Xs+78)DmXq4J0bm}zyzQK;S z$TJg!IDLy91r8I3%^BTC>;l0qLx$etBWva*@}?v1rnjj5<1hmn!NS0E?NftXUjEmS zf}1b_*=(@k%)Z6JQk8*!(Z$gMdV_TXhcEj+u$)d|7)a35DH(=}60#<12R?mSlP7v} z%uHc6m%s2Q0vwUFkiT;KuQ3Yi*o=pQG;gI9o%&dPJ1w>{y*;$nv->A~w`b}Me;{zi zXvVqfa43;a;rnSdh8RNe3B$|WVri`Tl4N~Nv*HFfwuBv>*^tOQU=Q&vqje~EjRtic zI`i?j6Kr@ZF{TDA4`~oRGcGA9B|))>Sk^F9HV>=%8FA`&PrUp+sGEhQ;c-b48Y zd5wleXIrfmdS}`XXAx&}H%egrIpw1`quy*8AgD5+d^?Hq*a)8J%=SBnB_)C~H~3o<6`ecw*A@ki zRV)cZv?WkIvn`Yr9+s1lc|cF+{3Pzplhrf|`%F$W*w&i8bq`i@M-#0jBHv2-=ui4< z6G(q(ZZd5o`lq5vmQ^+9RY+%z(*(I=f>^yN(zOisR*0qM zA%ulT;eowcZGsmaPb@54h=+8=ROsOSOvw~HMOwU8^#Cdr2ykW?BUCk|7hi?}S% KEcK+!QvVAe@Uc+< diff --git a/tools/bin/shaderc b/tools/bin/shaderc index 918e5034f225539b17cc1d7cadfdac93532b24f0..c9d6cbcfd05b1960c40daa817370d0be31d32b2b 100755 GIT binary patch delta 382 zcmXxcze@sP9LMo{9xpw!AButEsVPBl&>&4lrbe98L;pZ+EnSpTi%SIsLbS+%pBtOR z0|%R2+*(?K42-~`1}RP&q9w<^&(H&JUhskM^ZVW7?Ke|9H${arrZluntbG_!{$E+i zD?z2KBo+OxWb&ov{bbxdSt+z``me*!V(sUE?O!^)?r=s)eUwVg^c?QrKIZHB`l#xs z0+dDtsaYyS%~A8z0=3v1Rl`qH4C7*IKeJW)oyDmD3&Bc=5{tr>WZ@AAf0!!PbWvbM zSUT+$xRPCXl06tn;s}=H6t3h9o}>mNMO?v>T*D=BQQlPXm7@O~7-`yDun6Qj8!9?! z+WYY2{s3c{c!VW+fh!rolZ;_xhzTqLIem*xGosMws?28(ShSfH8k=IU6N%wAA+$d% CRD{g{ literal 5109879 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