From 2abaa866a3a355fc1da74c075dd8a534b47a00ae Mon Sep 17 00:00:00 2001 From: Eukara Date: Mon, 27 Mar 2017 21:45:45 +0000 Subject: [PATCH] Some more progress on the Xbox version. If you can call it that. Also changed the wastes.ico to be up to date. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5082 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/r_2d.c | 4 +-- engine/client/sys_xdk.c | 18 ++++++++--- engine/client/wastes.ico | Bin 766 -> 140206 bytes engine/common/bothdefs.h | 26 +++++++++++++++ engine/common/config_wastes.h | 1 + engine/common/fs_stdio.c | 4 +-- engine/common/net_wins.c | 19 +++++++---- engine/common/netinc.h | 12 ++++--- engine/d3d/d3d8_backend.c | 12 ++++++- engine/d3d/d3d8_image.c | 7 +++++ engine/d3d/vid_d3d8.c | 40 +++++++++++++++++++++--- engine/droid/res/drawable-ldpi/icon.png | Bin 2885 -> 2746 bytes engine/gl/gl_font.c | 6 +++- engine/qclib/qccmain.c | 6 ++-- engine/qclib/qcd_main.c | 2 +- engine/xdk/FTEQW_XDK.suo | Bin 20480 -> 22528 bytes engine/xdk/FTEQW_XDK.vcproj | 12 +++++++ 17 files changed, 141 insertions(+), 28 deletions(-) diff --git a/engine/client/r_2d.c b/engine/client/r_2d.c index 57c5765c..61978cd7 100644 --- a/engine/client/r_2d.c +++ b/engine/client/r_2d.c @@ -902,7 +902,7 @@ void QDECL R2D_Conback_Callback(struct cvar_s *var, char *oldvalue) } } -#if defined(_WIN32) && !defined(FTE_SDL) && !defined(WINRT) +#if defined(_WIN32) && !defined(FTE_SDL) && !defined(WINRT) && !defined(_XBOX) qboolean R2D_Font_WasAdded(char *buffer, char *fontfilename) { char *match; @@ -986,7 +986,7 @@ void R2D_Font_Changed(void) if (qrenderer == QR_NONE) return; -#if defined(_WIN32) && !defined(FTE_SDL) && !defined(WINRT) +#if defined(_WIN32) && !defined(FTE_SDL) && !defined(WINRT) && !defined(_XBOX) if (!strcmp(gl_font.string, "?")) { BOOL (APIENTRY *pChooseFontW)(LPCHOOSEFONTW) = NULL; diff --git a/engine/client/sys_xdk.c b/engine/client/sys_xdk.c index 8d72a784..fb0e5443 100644 --- a/engine/client/sys_xdk.c +++ b/engine/client/sys_xdk.c @@ -1,6 +1,8 @@ #include "quakedef.h" #include +#define MAXPRINTMSG 1024 // Yes +qboolean isDedicated = false; /*Timers, supposedly xbox supports QueryPerformanceCounter stuff*/ double Sys_DoubleTime (void) @@ -69,7 +71,7 @@ void VARGS Sys_Printf (char *fmt, ...) char msg[MAXPRINTMSG]; va_start (argptr,fmt); - _vsnprintf (msg,sizeof(msg)-1, fmt,argptr); + Q_snprintfz (msg,sizeof(msg)-1, fmt,argptr); msg[sizeof(msg)-1] = 0; //_vsnprintf sucks. va_end (argptr); @@ -107,6 +109,10 @@ void Sys_ServerActivity(void) { //player joined the server or said something. would normally flash the app in the system tray. } +void Sys_RecentServer(char *command, char *target, char *title, char *desc) { + +} + /*check any system message queues here*/ void Sys_SendKeyEvents(void) { @@ -195,9 +201,6 @@ void main( int argc, char **argv) } - - - /*input stubs in_generic.c should make these kinda useless, but sometimes you need more than the following three functions: void IN_JoystickAxisEvent(unsigned int devid, int axis, float value); @@ -237,4 +240,11 @@ void INS_EnumerateDevices(void *ctx, void(*callback)(void *ctx, const char *type #endif } +void INS_SetupControllerAudioDevices (void) // Not used +{ +} + +void INS_UpdateGrabs (void) // Not used +{ +} diff --git a/engine/client/wastes.ico b/engine/client/wastes.ico index deb28b14ad0a452aea5ebb11d4d43c301d87c1cd..be60711a997a0ae8d9f77d6b58503002c0b95473 100644 GIT binary patch literal 140206 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 z zQk;BBr8uS1>G?RVO7*Bxt#(vn4q+YYlv;Fvzp>5Ep-cHp+M?^BzkXjq>%xw!TT6D` zXR(GdTKE#Khd6+Q3L3O(VyS}!Fp7d=xw zlBd;!_KtcCb(uY;_Mw+vo56_eOA08-dfxH19!?WI-J)vR& z=a}_^)*Gq+x$JAif0a*rI3DXo*rdfTtR!~TAb4Wy42?Q_R3VPMLw-I`x(}UKWjFK z>g2`jgR~dQdg!9pmtHFPr7=0uM(pdAvmklzF>2Ip&VShxk>~0hr#ihj{=a73X4xZI z8=Y!i-Q%RLA@<@NL-m8ULt7zlN}G(CLEF>UNqDm1@wx-F{-!={Pkiv!_*) zo(rQ><5v(N}REJtRnF##K5$DFAvzvVf_Twp|b-iP?l z=ahNnUmRY+hhojFaioX4a`pP;)a#R1>lY_gsuq=aU9EA~IHgLh`26QS7bl;3T2!u9 zFHS{Qo%s3x7pI`3szKkn)L_>{kJ)$S`%_OlgIesC$;XxJw2o7&)QL*e=$&4@F?y~> zRH{s!27U6UoLY&x?dtFa|D_*8d1wmOF@NTLl(2%jQyD6Jb7i`qzqEE=P5V)`XX^0u zsrY^B2<6{3sJPdHH;{LELO$TTk}gmW=x=Gyl%4D|g#PvlXZ^SOU;EEokj2bM+CvP` zXXC-Wn1|x*LjR}k6hDd8)FFi~F8Da*4NN1xus^v~uj#Sm{o6%MT>jITb^Cv!e&4j-Vtb=njAFw>CH)G$g?u*b#1LN~2oWfpH zJ$XJUKL7a>*wcx==+0v@_j-6d{|o=GZJyH^H~q;y zxlh-wD;|tF8!u)~%!-_AGZ6pN^NAI#|0?wn$ba&!=S?2d-tf8w{YD*!u8MhIeJ{@b zL&Uz{ACG;1jM(|wC((Kc^C7=PeewN=qr+HwnRY!9Q?L71bR2sy``J#bTs8NXZGf&- zkEG2<$4PJTK+b-b&k_r`Ufj2~Q`xVG*U9^?uRccAS`DIM*|-?I@v)fy(0eiU`oG7* z`~DT{pFbKiZ~bR<9DR1Q9k~OVPl%IFM|Nv8k4jaWMBVnpyE~5JnmWdbC!L(SqxH~r zG5&&I$J*~7im5lh5i@T8V@$vOjTn9K$I*BBJ<(yzfv7^C&S~`PoJy_U=TA5he!<7? zG%6~=3#V1CmU=`S<&0smXbbiRwjMKkgyDnqcetMd2bg1~E}EE7KI7A>-?HvRJ(u)W z-U}HhYUK4jD&lSFV-$Rm@-G&J{`%#Kg)8F!>Q>{}&I@&poBrPfW_vm7)!r{>7Kx$6 z3Pu0te|4DGo7dqr;|FsQ;`}&Fk&SJgRwLiKS1zA8UUSG3APPV(~*qV#Rll$FLpWkG?DKj$ylBj7eAg zUo3s%(-?cj3(;)gLUeptoO%Yn33%nCQ%;Z8XKssm_aBSRuOE$Fzdau7o{Lz?W9zSZ z{32reuYzM9iIwoi^2gqdzDw_izxT)KwZI(Bdtv7W#VOd1lhr3@)X3Qz;*HWCk)>Gz z>H_hLct)Gt8CvH( z9~1Mx`tMlHx-9;Vr|wj4)B(_+H8WS$jNbN^J(;mRbWL=gbYaYY@JOuw z(eYUN*wI+>onx`!8;7Iw#EYWOlDlKpO&`ai`=H-5$73_sxAm71Yv7MQ%ddzNPB<-f zd#4GP#Ih$NRz3G=Z2ED;rk@>;HSqD)pB;@2KRy=gIrjEn@!y|C?D<{9hUbpQ>hDEN zzvZoH-hW-3(ZGEgyF}$WE#fpV#|fYR9M9DgJDOKB4&u5RSNDDjU$($A1x>|z1w9M= z2ft@5vXFiG-?*dy&6+&cDX{?S;%Cx5{WIv3@n3wBX6<^Xe{Sx_d0l;p|2dQHnr}Rx zu|Ma*l$ql|2k66;>i?}BmBxuLJ#NY$^oQS)7Vw)hOxpFI8Qo^kM|kVMV)3_G|5uKs ztZYMGHn4WH@A*qCeKca|)~C?}*G2PzE0L9+)HrvJD%fmiymqZ6j-m6|7-1M z@}KvbF&5(}$OZRk-*YQuzvqJ6VkEpZa^KHl#rKcJ;%^;`mCr;>y6R6c7G1vj2Z25~ z7W3{n7OS6+*oHhG_-(|xmp+Oq*ZyA&-tcrZ?#Z4T6E2Gd_k0@j?>dIA_*2aN`bRP6 ztH)!*s}b|>#~ys?y;zMt*bEPB5AXe`7yjJQDE+zNc74v@};|5icc#Q%lOOJAYlH)#V|1NDJ&s83PYV`yVO1^T#e zK*kGrU9$iBa>i#e-T?k{j+r$-Ynekhjvli?#2ULeo1C1aHlj|-zy1H>KYcTGK(YSv zrgG;T73Ws9?u6~;`a7SsCnn$Ulh}lQT>Q;ru@F75?&VKn2k&>F2b8si_Z?=f--@vp zJx9H3_h{I40y@(E}tXABkNs z{-5z*bZb5QKkb1zr=H9<91H#DZ=$CVU$8&(`keV_Zpb*GJX+{~=el7n#{TnT>sq|xbmr(ckkb06L?_TPqC>#Mel+SHvcH_ z3uiFfpdayoLD{>iFJRt4ouh8?9ug~+6}Z`TFm~#9?U==4+)Ul%oUo={#=%qcKq2F^ z?mPr7k;iXfl$LT)%y0jP0W+amO^Bh%`&tb>QP z8RGz7WgR*;poF_z19gDlpsU(El&2Jo3aWnL%O>KwqHgD1p{#k+H!W(Vld23Z}j^lLHm z_P@oXtKW#}xBesM-u<5#fAQ~PBX)Dg>)1@_zvah=V-G&UsB<0!ceRZA?dgNSKB}Lb ze~~pO94~W($cAz+CMxb#nP;tdm`5|t(tuewEqX97a@MV}>bvOUUmuM%uN{w-KZI^y zLH}R=evG^LPtfJVSoK5f^o{?CCViG<9HJI+s!FGwPX8?XC7%DgSp9wM!Y{QON74Ns z#F9tR0qBJ(SG^xouKq_Xdic{=2PRM#j5+UjQMbb=?x9ZliuKyF_wISG#CCAO>gSKd z8hCu!lgDE6RX<2fa5}Z#EeEdw7gpk&RjAQ!oPJB%FEE<6TAFI3)o+D=C=Mv(S$$C0 zKXrUzA4@plvuE{({$a)niuj*8T-$0*x4OXnB?dCzG?RnSCOiVcM73n7xP3 zOC7BJcV8ei;|P!EawX9NRd~xqks~KKK@P zpbz$-Av~~}csTuD_`lBO6Z)aK8^_& zycI15t|k7`I(wiivwpRhQRY56S$7KG6|oI5Kk^`7=RH=~N8@JTr_LkSMXUa^qTP^< zG52e4#3nHL>Q|0(-ecH<<1yprk7E2qe~vL<_!TnzVJx@{zI-sE&G2n;BDo4Nx_cwl zY1llvj@cbkul_6igU<(sUG@yv;3*!D9gl_g;@3j|r4M6cZv8aYym&lj-h4b7lue83 zEqX=OdhMciQ}z)mn;MhPe<3a+94sl{qd!W_JpKANW7y6+k-?6{Y6lP# ztd@DgM#Rlp(8HE7Ag*56mhV=*`f1|-p7XvKCo{Xl*wg7%YDA+B$jk7ZG4IYdVi#+$ zhWOKt*Wm+j#l&k~2J;LiZp67dkBw7^L!DabH2Sp~!hglgy^BR9tOqz*_NP|;_S7#Mk|z_;4} zc6{G?@cig>=F%t|wiqAef>{3WU+~8w=G}$vegI5=_wg9H`?VN%-WxITlE1~s{jcE< zz5%bij1STw>b4{9L$0!#n2g$m`b}Czw`u3c)*l^>vww3e_Wm3mcpZNh{k0z3wT6dw zef~Y%8#ZprRWHToPN)`j@%8GrKQm6NR4JNvW)JV#UyLn3{4h2Xi(2`_QRDy&3?I$? z>aplC?>6|JdA8lB$7xmT;TsY+CLZprR&&+n#fn-4XsY(D0t$(_^7~x z>dVakpr^%f#(%8IkZ0Tv%6_kq7d`|ZUb!KKueD!|IZjUWsqyzB4R%B)yI)5kkz90QR4?Mp9hxpS! z0bl<-V(f*_#EGX?kEVU+#~JuW)(PkfI)}9I`^=e_dTz0U_yCzd#pY#Qq4==xq>OVl zFCQHfF8fui$1h*{*pal|%fE{rc>EJ=`&%*Pnh#>cu9sr`g?|R~A15y{iX7D}_8{$; z7}Pn(4VcT@elWAy55APVy9U2u6W6aTS@`+=huvj4$3F`s>u z#xK~BdrgV`+zU;Aq=^6h|Mh=j66l|`wD4g^W)@2G!Y=@i!fWP^v=w6ho@d7@= zv&XOnU;^lCp5gSGt;s17OQznT8vVD;%7#U&LDbni^k$rop4;=YBe5O+Sr0DM4;ixM zh2(qjPxJnZ;)D}V&Uy)JW}MaF+}NylL+_@~i%gena0v?(&*qWDdle6D2LCDL)78l( z`B#@4HyuF!$Gy3>UPyi6)=SyjYac!#`#P}KgZ@_1AKz5np*`?X&>uYy4|qQPZ)Y+( z!`42*oW+Y>kp9LQ`Y-(oG2fS=!AG&%xHzW{ zAYN*Yl^PN1hn%x*jYf-#{A0$1E3khNAGb%NsL{)K1oo%P;Mvh-)cWW&Y+Vf9{zU44 z*>@a{375V@Oyck9ldpIhyYThnG3Sm$F=qd7i4A-j?M7`U7u1wkB)!<+0CW1z&ujqmq4)UrO~~+LF)ee>s-*U+&>Co_*4`U36E>+jLQkU_XFz z_D<+U|BrDO>lvE1CI4SqfBg~uTi7J&PyEF>ebg#+0c)1i-%-wMXQLFD1f4u&6@Jps zWBHT#)aX6$dnaqKm$g{@twS;UtMA7iUax!R-RLsohK!llY|#fls#XynA*bhT+oA`_ z95lLzdoJmIYyZ+8#UA=um;O_tW4|fUzBl_G64M!Z&TGVg0{Z_c&fNYS&wq`zV9>R% z9!(#>ct8lU@_;kH=rJ%$DE5|1ODEs?;k~v98I5Z#!a7a z+#?xdnnNsk+I1g+F@keEm^sC&^;%OOAPpPRkHeny)7V4l@#As!ua3oT)?gbrVkdmC z=_mN9*vN@j{e)aOGk?GXO?%HS>JzHgOgw0uIBO%s!TS73bM80seIfVid}G9}f!L^& zFBLB;v)U1DxiYQpR&EBIHJ`qpbC~^i8+-D7Ax6#FlyyPQhBVgWO#00K<2$76du}mc z1r{+5RP+YZuf*#f^fK7fq&`+RXbYMW%Nf4ozKn;gdg4eN;Qn`l1y-XwSHE~9X}=GC zIQ!SfVl8;8W~*V~;-=Wb>bd`bGpGw4P~d=q|BV3@HLk|Qiu*3^-*qsDsQ=P&&=PV1 z-$!rbbA0iw7_tAyG5VZe$BY|3BsP7VJnpZE3%wBwq1&X(-^6xP$3iVYwfb$q0o7Rh zRy>+To4yNU_SfHz<;0a1KSV6(fxwUWAZFh1F+7AH3;pMR^>BVZOL)|UHRKM2o~B-98?|PV-+!q?Js{EU-(nR_$!}^|M&URh!at>)?s9v zbmEDLN1JuF#>zQ7MSW+kfqnpMob|=Xzj=7|fcDUOBXzHG;cNAVI9mE!r{w3^|4+T& zOnN@o?z@G#-|L9~v&Sj;znA)-o)=>h(m(Y-`aE?%^f$(r{UGXmVsP!L(P@R95|bqc zE%{~O1N$R-PP;5te3LcD_U?w(`-!cYBb`qPF%+M_YJ7?Yl~mmclkru4t+`V zJ@G(&%0=G-Q=t2o@Y(F!j1lT@9*^emT~%^g)yZ$mM`GDp)QSz>d@pj3zw`4Wu~$6^ z?paE{VB4$5;=s>8iSxPt^63YN6`vA~dQ2r(a4IpvGooQz?j`eu##l;mA!R_C7i(eM zU)?DGmu!SK!PnBNu>bad*#AE;^}qY0&cXlR%zjYr*WH_XK=&SXHoSG^>c2w%t^dOR zOWnhHpnqrOo8vmKznq>s_hMmrANUyh&V!)xj~nmydk`*m!12^|U^+mEat{Oz&W z@ci*u0e;#=JY^5-vFE2p;v8aTtoxJ(g!*MqFZOUb@P}@_B zxXhBz;tpkYANOlwSm4;TT=$a4u`d_DL+Ojz&FTM9FYkHP zFKLV588LakMOVk#7qGiv=Y8DgUT~m(^*$b(v4z^ht>lKx6VAHhjX1qFwzq6-+G5ww z8r$qeLYIke)I}wIC+_i_h3^CHwU2yn?{+8Z0mfeT{n+?R@^*I}P8_$Eb1jDt7u*96 zavh$3*J~fgg?|fjg0r#1b;%3W%G&jM*uVztztXzb6!ga*GKaJldENM9eOK%lbpQ+Q zJ04@s{R8^s@A!w*yZkhwe%Yv~-G&@$oBqslBF+lKB!4Ay2<(F{^HHOujP)7Cb+yg0!^XPPACkXQ<_rAy8SaN}u8$Z& z9hvny{7(I!@gMkEeeRxA#`=fT13YEv{=|YK*qg5x`$9=KeXU99;o?s*6KppE3r zSA(PVt=IdSyvn?Lk5WG~iaM&Zs3-2uJj^OlpE}{@)QXEk3S5h>!~gSK*~^!CF?qna zfLH(=#2U3hSM-{5UCg}gotX9IkIC7-kKR5U8@P^TkD`CU9BZND#vdPv3!uxWJ@;dS z&&YUCwYn`b7UTZ*&C7_H%(yz1KJ{MK0Ih;vE53*9>l0k_Nld(yeAngwi23&(Nvt?z z>m9`P>Y)RM$B8F=F5^0N*>Aq>u+1^!%fE{Q#zlz-rVd~|7CxXaz~jkJ(9P>_6`}VE$AQ~8w~IDj{(cBiZ#S!RuV7Si_Tw64AuDTQs}VJT-^)sz{^Ks z2mV0cbvF29O_+j%!~*2N2^sK+Lc~r(sctn2__BtK)~8k8D8P zw0YMt_$=>I(_~!fXxjdT_Z*FB(0|(XN5}^p#h#!~UPG@C4{FwL0Xe}w<4aik9Bo#k*h9vK;CJ} z-Zfpv?ZfZKXCj}ro%qRqY~L#KDl3sCb!pN79C!{mXyz@CL;t=}pIXXOsMW4X?S8XP z^oqfYc^%MM`j=ur(%jsT`X*l|?}G)Qzw_?_yU#Fp44sJAv%uQ7Av1V6ni+1^$?qkjgwzk!8I+on^@JI z$i!1eh*2DidhN$2|J3U|I*(DG-iqeTh)|a&CabW6$p`9w>Ce3vc#zkuk+>=8&wq?- zX+NB2;C`I$S3hRXHv0cJWj&z#B3f^v|KPrE`V3i*g|0D{lzYFZ55W9A*qgfiK9kxwzGb^G1M@4+8?fi*%0aDNB!1H}H@p#5@kY}N+sM;62f z+nzgu4V^$vpg%Ra?TN`$!ydIxzRbEN^qj}E2RnUE;!q{~uMP0r#y|b7duMeUe=sIr z{YPqaK8{(p9m@Re2JE=_eLcRt=U+(8pgH|nx4(z~HJZBdZqyUI{~fXDX6>R~pDEFr zJjE7hcfoJ4{ap7t?3THJrB9M$ARfGoSl|ZuXdk)ng%A80f1VzsvN7C4>x?byQ?%~4 zI7aPzCeFtO?1ES35`&O$*24!&;H8!dU>pV{NJ&gd*6*8ydPTY3+!VZ#6reK_P+jUP&yP-FMcFWsnLObPI?kcshaV? zX5=IFd9oiH8e0#MwbIaEnA&dV zk7DLcpJI!M1$_m-j=XTIGuNjdUKI>*25}ho7;Hj6bn9L-Vk8)0C-hxFUGZAt`5U0y z8t|ZYL|nNRUA_z6-c8P@dA~K_$!gSo&4Y()lIw3wt#g|gxcas@h|jVA7e`~QxrDDA zjxVqd2l0*8pc7YfoCCi<9tSv2!>&`P8|Vffot3=>)#zbr+{WAhv)!RX;Rh)5>U(Id z4$udxpnt}Jk@=$khxz~b^49+jWcJux^8fp;c_jBS9tH*|r~a>uy#ciUS^p3IE9z8> z-W=yaH3#=~>@%D?LH6q`A50C{xadR9pf`K44mxXI^dCBlI3PW(#OCaAEe9hQCvIKV zhnaS3V!?xN6Ys$f{?*Y~hYnt){l^}dU)^hL09oAf3iUzg$6D}u-S#8lfgaRn)Wr|z zlIIln8RwGbo<|%|(mB$;Gz&y~r3|znj@@&{1sSK^!g-8C?#73+MseJE|3T*(*TMdN z`7rf^K~DOS_}u4DWfosw`W0&xKB%$i&eXgtyp7uL53`13E!S;L!$$PLI`n|`MjLp) z{?)^=g?l{f9FFt3O3}F6WO{|FWsO0tx{agL=pDop-pLvn<6p*;w_^_vaBTtFhxBy$Y@XlYN1O6ZRk;!pd^#)llP|rEe*y!vtgx=~t?O{HkyI3%DwekY@FQ4d# zSzl*9zdJa85VKyVpwiJdiqroNvMFtWE7RF@|n>B=+L#ZzcA#;6CV2PHhQ# zb3L|n4YXfCY-ahR)LP=Rw>fJrJzGtw(Ho8*bvpG6=7h-cKv!!Vx>B#=>;z{3rw!Ep zXH39(0QLqHHo%x?_X!8$%pK2z0}jWMhoINX;1FW)>o{-X?}v%wpnIoW^>)_y)^0N# zA9PIAYF192R-^3gYtojz*2*S=_g;^kzeks#r^T-N5UatE#`Dw();Vn>&a(|2(4_a= zq~96r-DK~p`Q3V8=Uxl1#}}eT=+z^c8(+xzw>*bm{5zi233nd>lYW|ZqSer?^cb-( zRG0CY8>optX^vPdpT4<%fV55wApO<-MXV;{f7on$`dmN%(~Ul3{XcsEN6%p&_PJYl zy$t>Dd?R|#p|SM0X4u*hV~^slcI10qZ}%u}*A1Q^&SoCiSx@EAKXby^WoeT(2D&So z@~4=iIqTPH=<3)(-gh-PU@mgE5D`BDCNAeZ`wJFpGsp{wU!_m?=Sa>J-XJlz@z zZL#<5Jt_On@9xR$6!nb#Fr`^*MGsw352fzW{&YYm^_q1ZwQ1xdU!;EPOaF-lf6^SUJh2X+a_LjlnXP}0{vdi>$ZJ^RX1$mD^mH7#jk;3n6VP?k#O>rbJHdmy zw2Rn=`Cor8=G^~LT!25g{I(bHOKZZ9qoYo%e&m+wW{;|~e3i|@7c>@F_`n$tMh_J6 zU-l}-p6knJ{a07wf5^BsU_-{Qh;ihArYzdYJm6K)jkyrkfT=sg3ij35o0;}s{AZ3$ zTWh?J*p7JH8t^jga7TT^#D0ZOR_v!f5jsH!)?dD9Pj7SC@HH|1iXWv7UGmK%*i2$V z*uE{S-;S4xxTx~;1^mFJ$m$8FR-;a{e^jT2UL0s%LQJo2m$vTjt-kSI#s20WoC_o0 zW$#qZ_+$n*^-ASqwo;S(59%V8>|4+8P{2O|KX?wZm-p106qnMsTo^t z9&H9KjKN!9jPuYPXH&1LFL*ZgPaI^P#M;P-R~?F#kA55%p=+A{_EVlu`zu5TJpYoV(N1CnZh23|9UZR z*f^v1U;1b5y*LBfOLJx1xjx30q`$Id4WO^JyTwc%bOd&}`=Da)b+5_y@=e!a%$T2c zPV9rnH$6u!D0t}r^k4o2x|4YLM&wa@DmF46ST^N+uo%7Atp*SaI4NZVJl$;c_g7#Bx_$_@3U~qKxO7!ofEB~5) z{H&V}qq~=~=5?Z8Yj8l;hczdM(h>~Uiu#dPvd(NZG23nUd!^cDar`=U0Ce3>oNqt! z+Yl^VsY;`0LLTTedIM9RwCGCC`_4EI>}dYWSl9;QiPp+xd=&h*@Gg2yu0I^-q6_C; z@pOE?Qe*m3n`C`~zJz`1(zO($Nh}BtNc;4M@PYLA#frubt?3i9ng8#}tlv57FOFGj zFUUTCfn(V-p0#q{cIC_1cOIMnW}bnVOR@hG^hftx5NZ=2{y2GS1LvG^ z>-+SIAgiqZT4Z?^H6HeGtiv9hb>6GQaYvGmuAR9YXBKF`o3tl}I{C7gam#!7vPEuq z3;*4s9^fJWS}SHudlx)B=3HV5CsZQ0G#h);mi*Eg;MrQyve!J~Qt!oH=sWYvZzJ#T zP#X_6uFwNpxTdMseh`cAr)TY+DC#8J4hEO@%{e`c9mzS>M9;S3|>M9<3CAFtH5sd?r6`g*|MY-~2PR0VBZx%yz(! zuFZX07hpUp_u@%9>kC?cqCKz%!TcAxP`kwEUQ>H@-{3{$^DfDLP5ta;Pt(&0eP-YJ zj~I8^Z>Y%thhUo)eUn(xt;b{Fx<{zbX&H6f3?wf^Jh;dx2=hS!gf z=K7V!^Xz*yp1t5+`1xt#{MhdaS3IA7K(jvcqiUVP7jU1hmed~3yzK*U1AQqs*mK5l zxSl=WlLP31-QeNX%E^QOKp#EJj17De;$k(L5Fdw!>Qf_=dK$S-%nywc3lI-=7NK!6 z^?!?s_@BQq_HVEEfYFO$4A_6kwyWv?2mcZOb8kR#eM$b6*OVjHQ=4yGEn}?dTe6DT`><#6;le;|i`7`#W05IbxvboMRA zW{+enb^5Ju!uM^mHl%8uRu%W{EZe?$-pv1Tub!v44zE@HSMmq735AVvPlNI?TgV0d zhu#i&3;Hj5hcYpHlaa4|4BcnEx?~SOhiORf!1`f3ZH(c|z@n zZ;koP1vn2L-TO0S7VKtjOWkjei$3j&AJ9{V4%q&}A?P+VD%Wk9^94??VvRwQXiC0e z2(@b4(fj&~6X;d#zwvQ!-#fvwzyn9);O{vuy%hFU_Fi;XRBy^Yv0W!K!vuel8kw{K z#K+SQfW8?AhCc2)CcVW6){xlKWjwemn7JJMZ?FHvMZ06e7jB6O^Z>apkaR2Qf9G;2 z|Kj_usoPyoF(0u8j-%`kA?DwknUU&%jK5dVy~GbW=jKu39^WK4{u?j=J+{jqJ4}uEzNk_cd)H%n=7eg4!R$Hg zfDY=ESX7Kr(K|0Lh4!WQ>V%}f=QfYge>$~^-;70%*qcJk;Z9`lrnj*@AEaNZEbn8j z#Ru~rI1=6GTpuT%at3+H0a@2&9Irk#!gZ+C8L^i=RR3h1JF^dvRq38}uG(;XdGq=^ z@pr#KzuUM=zl{z!iTV)g+-uNt#Jq}H^}sV_lVasJKZwizi5>jz$1&qe|B5x}rmZi1 z8r$%Rtd*X6!#}BKrCtzB;+%o14LcS2abgqB6==b}-umt4#|1}6^%tAae=~0TKW1#ai(gKj2uyCC zb{#P`ZRmmr4-u26U$}fCa%jJfdmMHowmpD&FXshg=e}z2s{E7U6L{Dpq0_Bq4GeWI&W z!$09V%++K}7~ehfwaBM>K>1Jo5B?K3iQ6*&i!C-y2lC&8*r5I6 z9@G49+JEF+{9al=bG&7}=p!Mv+nbu9jIR(Ik~icLdqTv0#$vS<`Uts)9M|G&>C=jM zRNEf#;Jn*14`yAMzRzytZuQfLnZ5EiVu8@%PJC$a_)h3FXyd);fQ}hYwYI7*b-MOY z>xamr=7tmZs{1%csV+pG%WKgFaD8n$_lb^ur&5>nBaZ(*c>w)(?9SsKlK=TACSCS6 zH9c>|^y{eW!#2#h>pxL8@hav3b;gIA5|ya$wok2z@$sH>=qGtD&c(*t=azK^(B0VP zGIHF@@hRuu4-RkUb_LgW!7{2WijRYKT<;g?!5JFVj=iG z^quI6lI#o!`x#l@?&hli4$@akuGQ%V}IovkDxDA3&_GpnH+CHQy)wjor$# z*2d}M^&r;g%-8A6{an2D3ibe`{ulXoZ%A=f$^SFHq(9k-n6L7z57!l5Fz3^YJ#6}o zn4SKAx!-~Py0E_fPJT(h5#G_~Y{7Z$Jr-MPkKCue8FhoL2QJ1J{D9h6^(Ju;{C;PK zETnI6?0J8pw&L$Gj-r_*$mOON50MicK|HV>7^)fdwGA?+o%_^ar;0uVdtUWT@J-Ve zR>UmSJv`)9W0@_;3$_OfTKhW+gTMMo&ihCGaMu4udbjbrrd-V|fSW%~yF2>a?-C1W z6m{AS!Ty{~O%E8*dK&Jf+qA3WoS%Fgo5}l6zVcmaOg>5sv7cDJwOt#)0dwv-l79R` z>cc*FGO@g_6Qd@3{8mMm)T-ZzJ)Gynrf1)YoiBbuKKWzL%`C0k-i=K^JQRDeA7`^B z%fI_J`HEkINgtw4vU=8tokqWzIU#4T{kLArTwRf~m44<5+{;<|`?<4iodGmx+;a5) z=2#5=8#8AM@t>&~vp3dXqQA3%%8+;KyrpT%H*(a2*iJX=zv%rNJbHfgXP$s@ApLRm zd(s)dRE*|z>9ac@&z|BY^f~&z9vG@dz4kGIUP(qO&_{#*#P3^+9(C5nyt_X}C;uph zZhIky?|ePh6Sp0<^O@|~YDx^Q=$C3vuTZDNH~KhjsC6^mWxU%shL5bFC-3FGX#c#n zrsVTlb{mBs`T+I$uTgvYeD)@&gVgOoNxR!^L6GI#Q?^1%x8-U_ZZK^r&&V{`S~2DZrk2byB&KpHSa;M*lEOs>yy(P zKrG@HG2xmwV;Qj#dxqy?5BsmbFBaYVPTI)b$j7eYK@KB$TPW8_E0f#%1| z(Pc~+x~u!u2L=6!|8l+70wgX61D-i?6*Bpd~%c@#F{7H1^@qFT=0Kj z6R^ZK;)&KpoI_0fz|XNG_=iKbK8POd050iDY*8IhKk4gS-C~AfVgI$?=5Un_<=^iz zCW;>KkKB$2|IcCnzbWv+;0Y`7*NF{dzx{3Q{|croYPyW2j!k)YMyRvdy220L2jJt2 zw~aG^F~u0h%EidyTVtK}bz4(yue0-E?Tv8$!Ku_UoKAkdey1rh_WUPe2RM3`ejs^y z=X6ZG^k2kaKEYQro?;Kq;h1~hd+5DYQMExwdZ|xmmcq$d7vcN}^`LV#YLXwzJWE~X zbn@CqEqJbW@*h0Nv%Z&pT#G)7u`f?ii}6VeKlgd`?MFEmXyvo!V364t3*UYVG2SJQ zy^a1K$}B%P(l4%G)wD&2=rQ#?@FaHYZu*UH{FJ^TYJ?tx_Rw#yxozmbj~cTb z9B0C1e___xDC$Gmr?D~fkH~8@Z>g-5F=ytr*z(Mw7`pd$asY>*xAk(!Jo$uqU-?(Y zC)7u)pA2~Sa(c$pN9-TT{VP|_9Ms;c1M~y5h5sx6>i;tKvNLx&mOVhH(fcuP^JVmc z?PpKujp-X$JL}wBXU1AXmG&Pj*9Cf)Q}-i&Y>mGu{ktLm+Vhs|HP#3`ZVzo0WFu$( zLSuRJH0EPeV(#lHmFayiJ&1!lGco5PvES{Goe#%4FxVn;Le^ETBpx^WcI(BCu$IJT z!B)G#STn!=X4XYj1^d=+Hy9qM94DN_tl^VSqjyezI3*v>$hg?ZTRyhp$|NH~>1g zIrXirv2(3^OvX;#m;S`8JKiIIbeKHxr__mjOiZ^F&r=srhfG{y(1r)&|9$R6j@2mZ z0y>mYSHs?vWmB(=RS%g1vTyybv5L5&IAS%v-AiB2H!wY3()x z>0xi2^=j%|>vyv53!EeVv!2)fuhjp@v-r=NZ*xDh)?5%9&-rppUvV({jGULT0r6u! zncW$;_&y6km|{yM!*8+iDn=r;39>EA9SC%YP-dY1}ZA@(8>{xXB-{WFz?y4Ugp;qiIe78fXXT<}X(BC`Ixs#Y7Q@`U3>iWn9f& zLjNmkO_&qiVf0%18^A5s|C!hVwcuR;lxzM$pYTVaAE_U>x1z>z)*a+@i3OZdhuP9? z`=cY#U*tC0FvDQ(jc){}O6+K#nDK;N-2Wze*Vf@roP&*;fA3%Eq5Tat;w$Kzq))2b zr0iX^Z`*m8%B{NpGy3BvDbvo&aDR_(`2Nm-aR$`9O<#<&*aOI1saC!ay@Yu^R%Kza6bHS9Kro|c7N z>k@h#7v)UV<^$J|Ut7#$33;uWQ8w+o%yA6g@e^`^+%q&^Nw39(%l^&1GRNoZ%#<@f zj4a3pgErhpEPW2Tco6r`ENAM)>vbBBk5*3q1+(|+mqn%8?Rc~WD|KhC+br^RbY(S}QKlMM?mHMChKjmL6V1A(2h&jvvUQPag7mw}40#@hzFYCXo zD=@BH!jk&b@<2D@w}Zy8R}t9HJ)#m9;8R%#+N%2mda8d!JsbJ1^M4Ti*WDKzUpW*z zfACJ6`|6>%E(9bMO5ddiO=}(38<=?Dpt1ZU_CA z=SH6e*G7-o7e>#S7e@0wv$My$W-DeOcO@S@aes83dOq`MmocB~0RH>S84H$f&ULgG zZ5MLv+S{Kr?|y2AunRkXOP>}xqWzd{QJ2~S|DJN}J-02aWWZ>RrT9vHIaCi=f?Mg0zgsWq<)M%6#+Lf`qpSjoJg zv%!1Yk$YpH_Q#2uMMOOec?hYpb&AC~f8xmsQNjT#hjo0R{e_p6xy z1O3tI)`s*Sy@dI1Gr@byviE=ChD*W!JE#krmbp^%h0eOq`PJwUdr6F~l=mNl{1>r4 z>u!6ohjE|bGnfI`Cprvb?-+FWoT7_qrQYSv+I~;IOnVX$$PKYek^t3#760v z5_hNHhMrgdC;r#pMgMEBjLF#Jsh&TR{NL!g%(~tD#hAQ!U(N(F25io#pnuW(XB;_W ze$;)b?~V29{|}_!Lq2HJxflD_t&C1*?FUQUoUzoA`<{=%>tBdIE1ZpcAu|(SjkV8y zn10j-ah-!HznRq%yTn!kSoc}E`0D4e1Z4qt^OGLybA{WIF_LM zHuAeAV1#*hzeAnQU-1pzWtK0v3SZ0oh&lYN@X(^~et-^oIYylKQY?Gu@7epc^xNj- z!4kyP#P>_S^8q!QKStla8sjhdBR$CY+;_Yi-Df{Y-|&Z-hjVV7d|>bPW{yAgrZ=N} z+@8e!?O5L;-bha*I<+&{s5|v7ohMuf54}h103YV^PvHUjM6P`|h7!wN|17hhxW~=N z@!b25MCb7rQrnGR)^C2)sYe_LePYa{&%A5V@1I~hJ|s8sR_q6#8YA7WKVWSP{5AEu zU&iEX{~2X-E+}k3uW8W)U1G0b;y+_R`2XU;q<`vv_S}F6^Z}*+*m>JyF7v;qtvn~= z!R6G`$urKuF|TZ_Bx^kM_0jwK``rg3`-3JB`#0ueUbSEJ8o8AC?1S|AgL9z8DsajQ zaBjbqUyU}yHqZzDa`ahwANt`JiDSlH^ha{A?gy_z%pCSCDw>IL)}|LZfyd(<=)RqJk~vB1 z2oCamHhDq&SZ3V#_c$L+a0Rxc{fO0BuiU2RIP7*WbW#!fS1*bGo#kaspS)lWwmY%@ zf$TFidd^m60Nfn&)?b2MSU?WY`rknX{ozA-;WPT<|Cba0(Fg2J+;1TLlKqC!Gd^$( z@#M)dZ1H6=V#6)5^!{HF|9+c(i?@lRJ(hLfeP)~&{iu2EJpTOXv-H;JI_aVqu;do> z`_E#^b-#^4YrYjV8+VJ&qt->=d6z`@sTaiL%YGJTuDvgY5ThHu^)Vig$FNP0MTg<5 zpu>vjJ?q>UxcKVmJ>z_^7yD+9-b*a@VtV^uj1fDSLwflu*^{~WTh#d6`7dU9JP$wp z32bN2)|=R$U-S7PVovX89nSJ+-^TBJ2YS61+o9jKAHEywo_d!#;%~%|%}+)*utiIK zV&p3OOpy70!)L~j(ay{;2QeHPwu_DfXU3wtejf+vE8X+Lf51KOaJ;w4>Ajt?tc_0- z=jGVDUw$v_{^*LeuafA{SF_qF)XIltEbj-Ur{ z<=*RJ*6MSxcabIhEeRMJ-@ukBH^j*R#Qafj?X?nSN#d)8^dRQ|_4Dt+0* zaL9t_eCCoUJ9AldVj3v!`86el@Dcl`1TqxY1p z(UE@kHiK4@=UBns?&~@CT8_CjdQR9@9GiRZIc9xv-^3BDX%lN_UFDf`*b8(E*GODu z=(Y7>*oRH?Lv=Z_pzL7;H-?rXur*IWZiCs{x?o-OixR<7@jT#va4^HUw@Mba1Z(Vkdz2YP>;P1KHfSX*M+?RdD)igiG3krDF( zt-!ABx(=i^+3(Tm-Nd`*j`+;i_!e$+uxsf%D_?NK}OAu zIV*P32Qvx0)tWVLhfmjz97EZ`XK#xY zd%wgC$S=?XvJlyxl)0iSa4_@A3UEe@mRBn4itDIJddqcJQeD-;syDkbNWmCUe{T#=3R)6V3AwBR5v! zYjbA)#-3C8Q{L;s?5p1NJ@!Nf`i-1R9&Bz*U%WL&OkPTCuwB$;FQS&r0BhNid>nE2 zq9?!Lj~}o^Bh@k0I%6&C_R)Lc};&sIwe0zck-8F-rVDp-&ilIp0Q3& zImzE~e1BtoVmY-7@>@|iWIYRcZS0;k1=ceppP_4dkpCPwYIb7c{==ungxRZN09deY z({ghBEtp+}oMYpfwWD7XJ1lLrqwevgZqsj6zPw)P>i0g1I+>z&&AFag$H;TmcbbdO z`}93}l>a8ZQ|3LU^1Hz}X;27HmZN3K8l0oo*wC4W@Z9#`;&w3J?cU(_8H zc1Ipjwn~1x=TAAS;Bjqw)~s_JKMxB>lQ z<`kU!<-OaB+1%PJY*1(ZBM-Jl@4KeOOdV_$e4cVIA9%0)&udIRNSTK>v6m%2$oMy8dV zh6|l*Ehv5p*PDEx9)OO8jZmj47xF*)R$VOL@-TOm`dE7)&q15yom?|&mCz;Tsmvn2oWfi}OXId9_s@`y2BYe0?pPF}Jz8FPQjkOAvN#2iJ9uXerghtmp^j7;Kk$(KTEoz|B+A6smzvRiwas7dct)m>J8-qa3Skgqt;~DR6?(ql_u`(Dr@2;jSibhTWDmT4 z{##%QUn57*);Vd()2wOE|19Z$@_+X9YYXi0w+3`DJ^zyy?~SR<|DMGxz;XBj`Yz&s zYb)*l6ffktxesZtOo|1&gZaES*V1|)F?CUM#XZ3n#>3n3nKOa1?#A!oeUBx5)#J)} z@@>+;kU!5+=zH!PT~f#gc7V^-;nKxN(c9<#--SH-pF*azpA~b6DtJiw@qDRQlYa0j zYpJc2x4fnjzveUN)t-GeTY%ST`&o1Q$jZrkO_;qp=C9m`jvN@(>$PIPNOHj)+`ARs z!tdLZBjftb$%FC@kK{GhDs=+5k8_tWsO#Vym+WP!pm#~$bEdo4$+eU2C0mg9T-eCO z4)B&dkbJ;;>$~ayC;r#}XQr3*@4_DA)_I;q{ogF)e({d0r~$h&^?~|S{Zzt#9;4Wo z(DRF3%>`qJ)r0W0bHH2Rmsn5Lv^BLi)G;)r2B#5qKhDi)+``!j)J;-<)0*0QdBMHT zi#|bg19VkqNoVC*{!%Y^9n#Hpah*J;ydl38SX{jiFC_LWbdSF)c(Is4qs=VY(*g%z z6Ofs95vV74iy?>|NnHrPo1+SW-Qyvz7s<;-(0z_Jz;(G zSgqI#A@f1t=In{$dev{f7SAZN>h7dB_xfMmSJ1Zbc?y~LeDY`USs@ql!2im9+BA>J z!!<1Y-@?yM`m^5FhTAh)l7DrpIDgK@OY!|~$UQ*T@T?ExZ1}#H(xyp6e@0__# z*2{a2PJHjYk@VYHH+e~&l`)UJ4``USu((I*64iB_WeRz5e^4pC%M6ITs ziv5$BiCtShKrgiD(1Uw4wxXX#JyGXDIom4ZYZbIedEs2%qcry#q;ujiaUZ;>j!xaq z>q4)Jx9n3>-dICE7f+RZMn5ms*|o!#fhF|!^i7T3m-s=9(H+|NqsF-hK1PRbgJRP3 z<*{`A*{Of3Ht2{Ypo@V0uc=tn59X31wuKGTQi+Pp96Ebk=l z<2mJw?@IJdp7%cdtl~d~{`dd?<$=U}9IxO7_&@1i?Eh&#-~E4_|7twIeg68=w=s3e z0rvm8JQi=hiaGF?QxCip*+)*S_tt=YHd=5^S-YS5a45V< zJPuh>F7kf4zr^O~N!KXXj%VevWY5Lm;y-!8|4CE*UUk2EBY6f{R~F?Vv8_CyUuN7+ z+8fu(%5B%LB;QVFl4pRFthWcZABe+(1QCaVXt}rg@@e|)+ zdyVIHCKhi!bn2pve?TwgmPgtu)>Gc}8l|mzDPMEl{>InptKzp6@A+LJ>)fCG!*7!x zxZeT;l%5Ox=e(by{*U=j(BJsKcC#P#A5+NrPF;2|W}^q@th*Tezcy=tT?_Y$PWofV z)cfjb`Pz8^&A|M1+aUj)hDHN0PiJNZoVj3cj9ztd3}5mE;?eY2j$X#+bEwN1#4Jl@ zxmIn&Gc~y62dvSoUXz&`@&NU7sUPLI zI_WRZu(o3Pg0{svx}JVs=wa*Hi|<`;d8BKt%4s*dfaX5mB9=xkDaUHVwbX!~)tjRG+mWvrGBY|3o`D|d73~L3 zg9k2&aqFzEhqC-#v8TEpIKqrpkogof>-JNl(PI-AP=Xe~>B6R;!H;ppO$BP{??(hGPFR;)t$8$)A<3&LB~yQs()M_E!Ag1s^ci z$@Nb?QOJm|wGBxF^szeG-x+U9e^Pp|=Elzxb0JU0uH=EPeMiQ~smo$0HIj82Q%_jW z{Sf-Yd&aetTjjw%o1#C`n5Xm=V=AliKw>57$#JDeiAR&hd}a(%9?7_tF%j%k$?hi) z!6Ux+nv3g(&K3Nn51^h%K2kr(!~9iMf9C)2QNbVX^)q4q&X`W! z#|-9xO#ut^!1veBF?ONOB7i+r}?e9j-J+qxII$7Ru${T5EI-jqEz7RH2i zSCaofmwe~k7`g1+n6&lUn7;F-7`yf|a;fXdPcDxp#7XM4?HiM}TpMGlH>eFi)})6^ zA40sOopDA$Vs_TB@MpLe_*$LrS}4y&jINM>bwYu&wWa7^)<0t;+V@=Bf{&!Vc-Uj5 zuHk?3hjD)OOvZb8?g9^Wg%0ArLHI+BsKq*|YKy4fl65n;J<|Dh@Jz)TcZ80G4S=s$ z^Rz2Tufm6wwyDpRX?c%x$jkaE(oP#t>c>cXz%_ZF$p=aQ!dJ-udR%@l50vy_e$Kth zANfCJpKJ2i@}03DZN4>O+I0H>)j{P$ro@@V`=&GhW$}*dV%qX^V%Ve=8UM*WHSynz z{vT(qk^?|T)dB0*YDv92bKIKKJEcyqi{3wT;lUUV?aM|kihff!#qK+Q7zgkFNgTN6 z)!2X6%dz5%55=H)yRj3qs0A-Wcg)8|Tox_5u{Sb(RE_DMu;(ascGArJk$A(nY~jZh zv{hc98}un+I?6XT*!6O4xp!qS<&Aq6eQPJ1jZGd=)2_p*y=Epov83KpHbn19Yh(24i(=k6cg31(9*w1!+#hof+!^a{{BG=l2R7aK zRO*8+BNjxj32S52$_uIcn8z%omed-w!4H7`tbg(_&t7}s%S(UP(!RpdeHT7`_8y4^ z;DOSbxYq6stjzg3u^#K=u`)KMUeuQGePM&eeb5%VcgK!6&p^FUuSGdMM)WdK_i?{JFcF|>*lrB;Acrs=$df~bp`+TKiY%L zm&5xdKFaHtw*PYv$yfZ|<9tT{|IrtvdrjS;?2}(m{)_&cK3V@|-+v$U^%&|t4_^03 zoO{Eg;Q#ZG|NR;NF)tt&05RHeJAY1^w0U75X39w*TDs(kpdBt_y1lEyOtO`LA(eWiD-X zg>1?n?om+4i*pM`Cf*x1fthS$nA=V5Qx)R*^;)v0HCVxXM^~PEfF-(G2ceDPT+&0k zu5B^yBhE0_BnD6iOS{A%>NFmm;SHa?KW#KQD_}V8AI$_p&GK zT-MP!NduvOMf{)F<@mpCz$#rvEoN`WvEcr`Im4nshk-G1^K~(5+4(VR-)pQIl9V~C^W z>AYX)mU_+g$wv{V;7q zhwj>b^S_0k;2etq!zLp8v)Ipucs?_FTk)MZQCn|)V^@CP9cl;{q^|QKGT>>sm z9Er{{wyo~fZg~$Wr_i;8MH1sftHh-Kp4Un93OUc;r%V^0Ctl#1lUJp2(%s_~`ox%3 zv1Y|RIfJX5qmS;~Veya5!V*UQqD_I9LpZedaEA}%NcrN@&JvUga=>P7S zx}Ym^)`t6U+jk0cGw_AL0A~=-v3Icv`k?#RWifHnHL?DNCu7ZZkHzc*Ux^)eJQo)} z^z+!nXU2sVoOf5Ozy68X`?cp|CHydD+YR8t)lrif4)xh<%~~k+v3g&-nD@Y%XlM0F z#iglFxej?joG1oQ{I5K+9{x9dRDB#}$u%V(V;n}EDE;*(jM*rE)>U=v&g^n}SO-zR z(R&Ek7k+O+9Mf4y`hZ>V^Exx@qI2?M;Y*}!E1U9?Jjby+_bIL~bwAfp^3kP@*JfD$yHb3X`D5(}eC|E_DB(Z#K*~S# zxBo|9(E5+w)GqX6W_K^*0Pg?g{2%v(b{`;pCVj;g@QS+49BXTIWE*f_7h*l){~ArZ zGMBm&{c!!U=c{At&KqOxm!3@7pR(hISb62QW9`-7i48YCld+)zvzRlBZ@BT=M`O#a z&&1d@UyQ+X_e6bqwCf`O`We=m=%0Ge^1W-QJmlOkbe(G{KXgfZ4Q;t5<2PQf7)n}* zb(}3x(1^8%_S(f#4N@Cs*E_qYJ?BzZoe9?sU#}-J-iex?+MhGwqPf2_Xvv zvH~FsNq~ev+4qDUDPR}cO6}%!QCpX>W2Y{ojvqSX==6^|{(jH7Z_&R&GV{*8dGGt4 z<=M`&o#%*m*A(9o|F$3Y4*IF`Kkxr)Ay;uf=e-_@Gl0zj=$p7m{?|+J|0sT8WB_Zb zzQSBjf%>k>6l7oZi|qZvueXvs-ly>KE`?7#r>UX$VCp;mMtX7LYJBcI`5^57?zwy6 z3s}Q@Rh-M$*f-Cb@Q-wibz$_%$NaWPo(y#$+(+w~@9>_y5wy$r1BT4m`A8Fv!`vL> z!fPw~m+*+3D*g}Km$`~V^}W2lW*U-?!afEj!mpY(tH~R#U2iQD=|tIKuBGcZas?RF z@SHIKV?g2CLDs5EIF`tX3%OERs~NXzt+F8N1o^vtiFf<=GCx|~&bdhk&Mox03NACA zi*-<*eyHzD6ER=l5c8?LYoEdMv=QqYbQ83|IK%e{4_nJ8^FQ^^ux-lVx{dn38`%T0 zef&K8fKH^Ap8a7PXwUep`k(wLKI(YBo_Zk-tl72OrpR5MBA-to&M;b*au&x@f*KLTP7|OH!Y+8D{JsI!jrLX z0yE(t9tycvz|Xm=_xPMV81^8~2hA{Vbys5s;@`C(_(7iFS_8hHCoaDVU2RRhJns6= z{YK-_;2b^AoE+n~#sq5M{m3tc7Q+4vTxP#Sz??DaW62k?An3v|7<AgWqlj`-$m|sCue}TAJE@o{bwJ8bz7{_Bb-Z}V>x9G;sc1*8LCD#<2zHVjSO4Kl>Wj#^hs)SJk1{3g7=+ET+Cnm%hO@sIbVJgZq7^iyGE+_2MxsY@RW9*7cxM4^1D2% zO~5_vhpTlHt6i&U7Ox^q?3R>F!XF&`QO;Dd~BU*sKyUJU zT=KJW*Z+Z;;|*MeY+?+~4P3j9hYi59(zo#S`HZuCFL<5z{0v?XddPfV(7`u6QGr>+ z0~vqtPP8da=JnrN4xZ^`{$D*l`xa_Hwr!u{46ymML;l}$40>Qc7xtey9ZSK#IRny- z^jyvTX5vGwBWGC87s36d)G>35^{MeTPjt9=alcw%{jt}4y)`9!j2Ct>D>%UBs zFaIul0%O-d<@;~Z6aU8geY2Ab zUv*A%pT%9Q`_hzStl-Xmg|##p-??wzPS|7>+7#E0Gw7>A&l%^=wV(l>QN}qxp7qi< z={x#1op0pA`^i18pfmW^{2^iHJHh+R%kimKdG15(=|^8P*4#qwb}xIsI;a6YjQ!U? zMg2c)f)X)1Z3uJ4ms6w3_w@e?pK{M+Y8yF~Iu71Wo%nAyk1t^RpGht3_u0%^zU%CR zG>xzC1h)RAUw@r0e)e@b`N3D%1b<1>uYHkrU-=}>z4_-fgkQKs9B3KzWgij$lkez5 z_!c^qbBXx^3+JIMm!Gu3szcuv_v(Jyc*@Q!8yA zA^075IR^8y#B*)nJIihHXZz|{k)w^?uDrJod03k~^bOt*{4$21560_ULf%*8a^MSG zI;Z?BcCP#nZHJt4j^dAdKC?>MD$R>)E^Q#!6ZIe4@|k#!@%y`c^S^6JhM761#&TTK z_2(ErZNTp9-Fq4z;9dNGH&YMwpK7qP+!tg##5zs#f5v|+G7{NI&4@-~h8;84Q$O~b zxL>n*PuhS?7+Lrz&7<2-BHzbueU@fl|1#|Uu^XTA{f}us_owgu9{m3)ZQOf~eOld| zYf2q&^!0$Ha*jC^_OP-{I7r*lb0K5p7imDe34e8~kgEZM46lgwxdy=dRn#e}VxNBO zd(-bjyV^AB{?;$mcc=d^$70Os)y8+d7DxIaY@Z7|GR7mm)ZuvFv5M=s^es3h$0{CO z-@SNVT*dSJuD$MWf#=Gzc};V@2G@amXqqvEKhO0dXb^hT?gehH(ZZ^r0qN7rvHDKX z9BnI$LcV~1@u>gDSWt|^xX6a#WBBi1Nkhc(wBd~JtRFs=x`_RbUj0S*`=;-Ho~G}7j;&9fZ+QQucm9@6 z;Tzm>^i}o*4#v9jY{Y#TBV#RasNEMZbADU_6JU^a`@FUnGShj=ug+VYI^WN*6~6Lm zTl;X@(#^T1_%Q16-`3&JaetS4Fub%KJPRZH99Z-57r7q0hfO>wXQ~^`{S$A}UiK$u zoMk$&pYSb-zrd+|LkrNF?}@)`^FbpOx`{b5{un3sY|nS4=iqDbY5YPN;7@pUu`Od3 z?p1OBxBJk2H{^53J89I|(Lh>Hy~v*VpQJsk@52|~Myn6^cQj+y({E1b1Cqj=O=B8 z3t^S*`|ySEUeP7sy`fh6BYtN`$Q(~R2LFO2@Wqn+SOx3R^EvYYx%lL%e zBYyyRs0SF=UkhzWAAysKd=hU#3(^c@3f_iJvK-56hWA5OpnC-VD>S0)&-y||U*!L= z37tRl3Rw?K#I@hmLvo%#z8828-p_QB^_+(?$2sZ$Q=eCt5B#%Et)up%@!!dlue0|T zy&eC5-{kr5|GKADo)245y-fXCUO-l6A9j|5(m?hh297f6uW8e}&KgP7L6y zbPPZ6(FcD4?_Z|vAXCpbfo{a%d6cxk3_+LAtnowAd;#@a8ufI;?gDE~4Kg`DMm zf6H=G{Aao^_(XonJO%#L$Dp%slb`(rc50cN9&0qX2eX7v**)vAKUKdE_|`Wl-v+LL zlX#PVwco@?*zxi+_zRk?;5)BPS=VwL1-`>C2To&b_@qNl#9ZZbb(XyLJAY-Ev>UN| z+KqKRWI?6_@t=KN;9B|!yqjy_`a*lIVe$j-#Mm4ounm1Ue45n%ga19-QFxl`GeX^$ zzWrCy^!YdN0bXVA8hfqLtsKu|_+|AO8w)P%a&>R*pWszs;&^J%85`I)w255uZPT13 zF?%cZ9lnz~rxw#@astcL6kLs7@q)HDc7-&VVW~}3$Up6r%p>wg=t9UHc|QE=uG7fs zEJHIb3Oi#w!bQ3aT2Y>WA7QIJ@SJk@{Vqf2^IU`425<`BuL9Sb@qN@&>p;2|epPFs z3v%0}gUru)trqvLxuF9%cG{Lc@;T$mdG(BJXGlA)5g`NA5nKbr1J4W7@H-Z3KjV)! zf?l(p;d|1O@C{z((>Vsb{8T5Pf8pksZQFM;J?6DXJ_@}#=s+K%@jv|k_;SLhhaRA> zy4jqKv2*PIyO<7Kc#tMey-q!-LvjAMGAY-#qb>z&LCjB^R(`@a5;>0Wq54PWTV=Mt zBWvI{uPS8gO8$?v9o%bwixcVG`S|Jjl=rCcJnhN1eww2yy!>A1ea~^P(2<2($N>7! zdEK_BOn`U!EwAP3cf`K1cfDVYfA2YbpsVW0%jA9;J=c20>c+7z1N}{XE#yD_=6n;zXDTH`{eBwLf(?ZFqJ0$Jvi=eO7tA5kGJD@QE}Gzs_Iz zdD?&G%{ULdgipvEgC*1>T|vzTX~#CqBP?_n`9wP+;-1)7>eA{7;j<6D$u+b!a*qoB zcsMTR0se)Z@X^0$?zi>9g`xQh-izPh-OO9&Fl62=;Ord31^^DuJHyhPSKth-tR#o| zhwPDGM*My)@tfzVulO{z`aG-F8YZ4iW!|BANAjg~=6dY+=g?2`SQv+Lh~K0u$E17^ z)&+i*jrrnPVhg^P-?jE0V-ESin0U|k^Z1o9w26GsP8GJcQP4xaNBsd{BrRnJu})GxSp9H9OeJU&AX}na5jy;^piAm_Dyua%d!5~ zwhhMEtj}wWX7$FnD!Cx;3DqxbPPw*(v>?9B+xFA=l52+aA>C+q>D!Z5lqH2eX|A_% zN!zpDn9q5(WBd=#+Mf4}=UBfizS{@3oWEtcq}%|ez|gtcpXU|&>~e7J9!B%tUx4S; z`K(W?-`_RNv&*enVE(>-fr1Wf-<((5w;iwOOFTJO#y?Mp>ZHr64w>+utQ6(Jty|B45Y%>jsPjd{E=Z;ml6yuZLZBzIK-1r{w zr`@Q%jh+1@`+2PmD4o@C{$Dd^z;4@pGEJSiPY%%AX#^iYQwL``;LCmb`4Tmimk0c! zW;c6BtRG|z(G{Et?)O~B+xzvbE$|lgYTRSKjPuf6Yoxj5T5^*LgE zPmyEz6tPCv|EQq>{Hm3&%3NS;9+!CVJb`EEqv+2*9e0eG&*+~|e|MhF&wDGX7?=0| z>o;Lg%+E0k1IL%=!zbtX28?{S0v~lQ`^_7tPKJfBD~12m{{w#f z{{!%6AL2^iroVukZ=t#rh2VEuQgtYFYYyDYay*C*v6WG`Ga_rK~Y& zeUznK+8gSe(FbjstLD4~mgAn3wYi81RmB_FZG_OP9Y8u<*AhS5)A_e0<*Dg>Q_B|Am?Nzv+*Dox3pe zEU*lF#^<}y@3VnB`QAMj-{K779}v%}A^z8hpVu=V#*W=ihc96R9==Uncr?z2a{X7n zdv0i)GtL^OjDEN-d(KSGD^%_&$75YXA5s3O--SGaUSnNDpUL)(_6X~#YZr95k~Uoj zd`3OiHljWH%`)Hm1L$w?X&rv2u$@Cs(nfGyR_-G=dEYfgy;1tM#*u4*c>%`!l>7Ry z)t{|trJP;KxRt5eS?XBsk<1r7X8(*`7&wm@8*Q66lyy|~oh>}iS;V3HFdy{?blT8c z`Tiqpxva~m%c|$0li{xnnIC-Y9IZc;*G*yI8WwAcvK?8J&-CGZ3G5VWY1H9=)d!U2 zy=x|Wu#iLIvzeHzu+-0&*I?E!+Q{uFACVh8tG~L2^AJm%^I^<)ki6f6=>G!;uXE4Z zTIAQ0o4=O0hj}9U*E|pH zdgSh!685t`0`w5u@LBaSFLST5kJo3ion$Qvb96RRtL?>I^JzWf5Bmu?Wj`7F7a3dE z=mPV*N?dP}HhGu%S;t+wRhVYGE05KF%=2x%EQC5ojhpTnqf0@F6sj*W21V9rd8N^Bgaa+d?P-B7S12_ym0BrJ(>o%BhO(2aZBgm8MxAC z3%ZYcqNOEqpsyq761;gXa+&z1Hgj|P1b*`2N*=bj%V((?PZd|bAHD|qFJnu|XTrLL zoNLGL|I&}=?|B(-UBmp`lP@p%zxx6FUT5ALzt!TWYNGEg;C~Zic7FP4rI9*fxn0C! z`(|#Wk$GY{b9d9;W8_wXFX_8P-||k0eckq3%^A4f_qK;3tcFkNOPxv_3NoeaFw&L})`^e2S!Jg55>>c<0Zt{o+i60J3UBR9>Lwi3? zGZ)^*p5T9SzOKCW*U&9{cb|@WGwp-(?4>)AHUaaEoH^{(MeX6f$;H&p{Mw+K_JMig zlJnT3b8$vtTi;CDI((EG#iyfQ-4^1|o>$qs=Q!^i#&1C#L*m#wsb%C@rX2(1m-in@ zJNSK=yvFtca-7)fa_IcesB?IoS{LkjoV^+6-ppQnkY>;QlzotwqXu3d=V4d}!}AcO z@2%uJY$dn3n{%@JCKj0Qnbb-Aqm}q&BQRbM&$w@Lfb%otA9=w&w0+2$A>w3R)Kxdv zs)zHnwqb8?G$`0c_c*AJcs zr>~`f1J`-}{dD}+M`_=Yd({7Vg?a$D({A>H4Fj8@xognVEpU4|>Vu4d@6qFT(xFQ~ zOLLdr!EU_Ao`D-_=-@SAc_a3ab`eijkCSKT5_{rBI#=MO=_fIeK z?p)c-%SV3ypcwxE~DSvWlT5IG<#eY@Bbl9;Pc$axyMuI zsjqwE!*uTDU!_wwKTOANe4OUdgY=2dFT4i~ZUmj~gvKXNvp35_6qCZ%bd4CtzBqhD>(0^?s`A? z*mv?3VlbDXsT0uXrC6i7iN$pezZAJy8@kEWgTAcQu^nHX_>@+ZnXS->>sR~Gk#um8 zx~pg3N(*oO5m-Q{)bo-zTa?-O-reJO=)yZ`p0obuuYQ=OFT9nG|JXUd?KusP{vJW# U5d>4qX zgqU{V*2C+ zj|a^D-bSCxPvY`e0egC{PqeuBxdgu&9nD9kD(Uo-^6ba*%On1%G8>suy1f`%Q?z5IbR`pn4Jhd66K;}GbW|-}qVLKkSJWwFd z&a#r1?VYmzbkwUId8g2@UxjZq*ZzTIeecKt9J78kSaoT;?zRrvS2metV~;FZxLsFP zLn3y?!sAjXLI~o(`wgE!7y|$R diff --git a/engine/common/bothdefs.h b/engine/common/bothdefs.h index 67e3cf41..7a526157 100644 --- a/engine/common/bothdefs.h +++ b/engine/common/bothdefs.h @@ -48,6 +48,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define NO_OGG #define NO_ZLIB #define NOMEDIA + #define NO_FREETYPE + #define HAVE_PACKET #endif #ifdef NACL @@ -400,6 +402,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #endif #if defined(_XBOX) + #define D3DQUAKE + #define D3D8QUAKE #undef HAVE_TCP //FIXME #undef HAVE_PACKET //FIXME #undef SUPPORT_ICE //screw that @@ -410,9 +414,31 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #undef TEXTEDITOR //its hard to edit text when you have just a controller (and no onscreen keyboard) #undef RAGDOLL //needs a proper physics engine #undef AVAIL_MP3_ACM //api not supported + #undef AVAIL_OPENAL #undef HAVE_SPEECHTOTEXT //api not supported #undef MULTITHREAD //no CreateThread stuff. #undef SUBSERVERS //single-process. + #undef VOICECHAT + #undef TERRAIN + #undef Q2CLIENT + #undef Q2SERVER + #undef Q3CLIENT + #undef Q3SERVER + #undef HLCLIENT + #undef HLSERVER + #undef VM_Q1 + #undef VM_LUA + #undef HALFLIFEMODELS + #undef RUNTIMELIGHTING + #undef HEXEN2 + #undef DOOMWADS + #undef MAP_PROC + #undef Q1BSPS + #undef Q2BSPS + #undef Q3BSPS + #undef RFBSPS + #undef WEBSERVER //http/ftp servers + #undef WEBCLIENT //http/ftp clients. #endif #ifdef FTE_TARGET_WEB diff --git a/engine/common/config_wastes.h b/engine/common/config_wastes.h index c9ecb879..64b752ad 100644 --- a/engine/common/config_wastes.h +++ b/engine/common/config_wastes.h @@ -24,6 +24,7 @@ //#define D3D9QUAKE //#define GLQUAKE #undef D3D11QUAKE +#define D3D8QUAKE #undef VKQUAKE #undef HEADLESSQUAKE diff --git a/engine/common/fs_stdio.c b/engine/common/fs_stdio.c index 97b932dc..ec9b19c9 100644 --- a/engine/common/fs_stdio.c +++ b/engine/common/fs_stdio.c @@ -8,7 +8,7 @@ #define Z_Free free #define Z_Malloc malloc #else -#if !defined(_WIN32) || defined(FTE_SDL) || defined(WINRT) +#if !defined(_WIN32) || defined(FTE_SDL) || defined(WINRT) || defined(_XBOX) #define FSSTDIO_OpenPath VFSOS_OpenPath #endif #define FSSTDIO_OpenTemp FS_OpenTemp @@ -196,7 +196,7 @@ vfsfile_t *VFSSTDIO_Open(const char *osname, const char *mode, qboolean *needsfl } #ifndef WEBSVONLY -#if !defined(_WIN32) || defined(FTE_SDL) || defined(WINRT) +#if !defined(_WIN32) || defined(FTE_SDL) || defined(WINRT) || defined(_XBOX) vfsfile_t *VFSOS_Open(const char *osname, const char *mode) { vfsfile_t *f; diff --git a/engine/common/net_wins.c b/engine/common/net_wins.c index e7f92da4..5f73ea65 100644 --- a/engine/common/net_wins.c +++ b/engine/common/net_wins.c @@ -23,6 +23,19 @@ struct sockaddr; #include "quakedef.h" #include "netinc.h" +// Eww, eww. This is hacky but so is netinc.h, so bite me +#ifdef _XBOX + struct sockaddr + { + short sa_family; + }; + + #define ntohs BigShort + #define htons BigShort + #define htonl BigLong + #define ntohl BigLong +#endif + #if defined(_WIN32) || defined(__linux__) && !defined(ANDROID) #define USE_GETHOSTNAME_LOCALLISTING #endif @@ -82,11 +95,6 @@ cvar_t net_enabled = CVARD("net_enabled", "1", "If 0, disables all network acce extern cvar_t sv_public, sv_listen_qw, sv_listen_nq, sv_listen_dp, sv_listen_q3; - - - - - #define MAX_LOOPBACK 64 typedef struct { @@ -6617,4 +6625,3 @@ vfsfile_t *FS_OpenTCP(const char *name, int defaultport) return NULL; } #endif - diff --git a/engine/common/netinc.h b/engine/common/netinc.h index 9c5afdfc..e4d28efd 100644 --- a/engine/common/netinc.h +++ b/engine/common/netinc.h @@ -4,10 +4,17 @@ #ifndef HAVE_PACKET +#ifndef _XBOX struct sockaddr { short sa_family; }; + + #define ntohs BigShort + #define htons BigShort + #define htonl BigLong + #define ntohl BigLong +#endif /* struct sockaddr_in { short sin_family; @@ -27,10 +34,7 @@ char url[64]; }; - #define ntohs BigShort - #define htons BigShort - #define htonl BigLong - #define ntohl BigLong + #elif defined(_WIN32) #ifdef _XBOX diff --git a/engine/d3d/d3d8_backend.c b/engine/d3d/d3d8_backend.c index 808a09e5..f2d2d0d0 100644 --- a/engine/d3d/d3d8_backend.c +++ b/engine/d3d/d3d8_backend.c @@ -8,6 +8,12 @@ #define HMONITOR_DECLARED DECLARE_HANDLE(HMONITOR); #endif + +#ifdef _XBOX + #include + #define D3DLOCK_DISCARD 0 +#endif + #include /* @@ -3200,12 +3206,16 @@ static void R_DrawPortal(batch_t *batch, batch_t **blist) glplane[1] = plane.normal[1]; glplane[2] = plane.normal[2]; glplane[3] = -plane.dist; +#ifndef _XBOX IDirect3DDevice8_SetClipPlane(pD3DDev8, 0, glplane); IDirect3DDevice8_SetRenderState(pD3DDev8, D3DRS_CLIPPLANEENABLE, D3DCLIPPLANE0); +#endif Surf_SetupFrame(); R_RenderScene(); - IDirect3DDevice8_SetRenderState(pD3DDev8, D3DRS_CLIPPLANEENABLE, 0); +#ifndef _XBOX + IDirect3DDevice8_SetRenderState(pD3DDev8, D3DRS_CLIPPLANEENABLE, 0); +#endif for (sort = 0; sort < SHADER_SORT_COUNT; sort++) for (batch = blist[sort]; batch; batch = batch->next) { diff --git a/engine/d3d/d3d8_image.c b/engine/d3d/d3d8_image.c index 9f63bd38..80e8e277 100644 --- a/engine/d3d/d3d8_image.c +++ b/engine/d3d/d3d8_image.c @@ -5,6 +5,13 @@ #define HMONITOR_DECLARED DECLARE_HANDLE(HMONITOR); #endif + +#ifdef _XBOX + #include + #define D3DLOCK_NOSYSLOCK 0 + #define D3DLOCK_DISCARD 0 +#endif + #include extern LPDIRECT3DDEVICE8 pD3DDev8; diff --git a/engine/d3d/vid_d3d8.c b/engine/d3d/vid_d3d8.c index cd5ee188..aaa42bea 100644 --- a/engine/d3d/vid_d3d8.c +++ b/engine/d3d/vid_d3d8.c @@ -9,6 +9,10 @@ //#define FIXME #include "winquake.h" +#ifdef _XBOX + #include +#endif + #if !defined(HMONITOR_DECLARED) && (WINVER < 0x0500) #define HMONITOR_DECLARED DECLARE_HANDLE(HMONITOR); @@ -154,6 +158,7 @@ static modestate_t modestate; static void D3DVID_UpdateWindowStatus (HWND hWnd) { +#ifndef _XBOX POINT p; RECT nr; int window_width, window_height; @@ -183,6 +188,7 @@ static void D3DVID_UpdateWindowStatus (HWND hWnd) window_center_y = (window_rect.top + window_rect.bottom) / 2; INS_UpdateClipCursor (); +#endif } static qboolean D3D8AppActivate(BOOL fActive, BOOL minimize) @@ -231,10 +237,7 @@ static qboolean D3D8AppActivate(BOOL fActive, BOOL minimize) return true; } - - - - +#ifndef _XBOX static LRESULT WINAPI D3D8_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { LONG lRet = 1; @@ -428,6 +431,7 @@ static LRESULT WINAPI D3D8_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA /* return 1 if handled message, 0 if not */ return lRet; } +#endif static void D3D8_VID_SwapBuffers(void) { @@ -580,7 +584,9 @@ static qboolean initD3D8Device(HWND hWnd, rendererstate_t *info, unsigned int de break; } +#ifndef _XBOX cflags = D3DCREATE_FPU_PRESERVE; +#endif if ((caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDLIGHT) && (caps.DevCaps & D3DDEVCAPS_PUREDEVICE)) cflags |= D3DCREATE_HARDWARE_VERTEXPROCESSING; else @@ -599,6 +605,7 @@ static qboolean initD3D8Device(HWND hWnd, rendererstate_t *info, unsigned int de if (pD3DDev8) { +#ifndef _XBOX HMONITOR hm; MONITORINFO mi; char *s; @@ -632,6 +639,7 @@ static qboolean initD3D8Device(HWND hWnd, rendererstate_t *info, unsigned int de AdjustWindowRectEx(&rect, WS_OVERLAPPEDWINDOW, FALSE, 0); MoveWindow(d3dpp.hDeviceWindow, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top, false); } +#endif D3D8Shader_Init(); return true; //successful } @@ -653,6 +661,10 @@ static qboolean initD3D8Device(HWND hWnd, rendererstate_t *info, unsigned int de static void initD3D8(HWND hWnd, rendererstate_t *info) { +#ifdef _XBOX + LPDIRECT3D8 pDirect3DCreate8 = NULL; + pDirect3DCreate8 = Direct3DCreate8( D3D_SDK_VERSION ); +#else int i; int numadaptors; D3DADAPTER_IDENTIFIER8 inf; @@ -660,6 +672,7 @@ static void initD3D8(HWND hWnd, rendererstate_t *info) static HMODULE d3d8dll; LPDIRECT3D8 (WINAPI *pDirect3DCreate8) (int version); + if (!d3d8dll) d3d8dll = LoadLibrary("d3d8.dll"); if (!d3d8dll) @@ -702,10 +715,22 @@ static void initD3D8(HWND hWnd, rendererstate_t *info) if (initD3D8Device(hWnd, info, i, D3DDEVTYPE_REF)) return; } +#endif } static qboolean D3D8_VID_Init(rendererstate_t *info, unsigned char *palette) { +#ifdef _XBOX + vid.pixelwidth = 640; + vid.pixelheight = 480; + + vid.width = 640; + vid.height = 480; + + vid_initializing = false; + + IDirect3DDevice8_SetRenderState(pD3DDev8, D3DRS_LIGHTING, FALSE); +#else DWORD width = info->width; DWORD height = info->height; //DWORD bpp = info->bpp; @@ -808,10 +833,12 @@ static qboolean D3D8_VID_Init(rendererstate_t *info, unsigned char *palette) rf->VID_SetCursor = WIN_SetCursor; return true; +#endif } static void (D3D8_VID_DeInit) (void) { +#ifndef _XBOX Image_Shutdown(); /*final shutdown, kill the video stuff*/ @@ -840,6 +867,7 @@ static void (D3D8_VID_DeInit) (void) // Cvar_Unhook(&v_gamma); // Cvar_Unhook(&v_contrast); // Cvar_Unhook(&v_brightness); +#endif } qboolean D3D8_VID_ApplyGammaRamps (unsigned int gammarampsize, unsigned short *ramps) @@ -915,7 +943,9 @@ static char *(D3D8_VID_GetRGBInfo) (int *truevidwidth, int *truevidheight, enu } static void (D3D8_VID_SetWindowCaption) (const char *msg) { +#ifndef _XBOX SetWindowText(mainwindow, msg); +#endif } void D3D8_Set2D (void) @@ -997,6 +1027,7 @@ static qboolean (D3D8_SCR_UpdateScreen) (void) Cvar_ForceCallback(&vid_conwidth); } +#ifndef _XBOX switch (IDirect3DDevice8_TestCooperativeLevel(pD3DDev8)) { case D3DERR_DEVICELOST: @@ -1018,6 +1049,7 @@ static qboolean (D3D8_SCR_UpdateScreen) (void) default: break; } +#endif D3D8BE_Reset(false); diff --git a/engine/droid/res/drawable-ldpi/icon.png b/engine/droid/res/drawable-ldpi/icon.png index 1fa6d3c6f895f427047f670786d5d96c04e62d19..bd8a778bdc85635e5d657351d4d11d2f5883388b 100644 GIT binary patch delta 2709 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 c`oCKL4Jc6<%vSDndjJ3c07*qoM6N<$f->8 + #ifdef _XBOX + #include + #else + #include + #endif #endif #include diff --git a/engine/qclib/qccmain.c b/engine/qclib/qccmain.c index f3fd4fba..58e30aeb 100644 --- a/engine/qclib/qccmain.c +++ b/engine/qclib/qccmain.c @@ -494,7 +494,7 @@ int QCC_CopyString (char *str) old = strofs; len = strlen(str)+1; - if (strofs + len > MAX_STRINGS) + if ( (strofs + len) > MAX_STRINGS) QCC_Error(ERR_INTERNAL, "QCC_CopyString: stringtable size limit exceeded\n"); memcpy (strings+strofs, str, len); strofs += len; @@ -511,7 +511,7 @@ int QCC_CopyStringLength (char *str, size_t length) return !flag_nullemptystr; old = strofs; - if (strofs + length > MAX_STRINGS) + if ( (strofs + length) > MAX_STRINGS) QCC_Error(ERR_INTERNAL, "QCC_CopyString: stringtable size limit exceeded\n"); memcpy (strings+strofs, str, length); strofs += length; @@ -530,7 +530,7 @@ int QCC_CopyDupBackString (char *str) old = strofs; length = strlen(str)+1; - if (strofs + length > MAX_STRINGS) + if ( (strofs + length) > MAX_STRINGS) QCC_Error(ERR_INTERNAL, "QCC_CopyString: stringtable size limit exceeded\n"); strcpy (strings+strofs, str); strofs += length; diff --git a/engine/qclib/qcd_main.c b/engine/qclib/qcd_main.c index bd309db8..addb448f 100644 --- a/engine/qclib/qcd_main.c +++ b/engine/qclib/qcd_main.c @@ -1,7 +1,7 @@ #include "progsint.h" #include "qcc.h" -#if !defined(NO_ZLIB) && !defined(FTE_TARGET_WEB) && !defined(NACL) +#if !defined(NO_ZLIB) && !defined(FTE_TARGET_WEB) && !defined(NACL) && !defined(_XBOX) #define AVAIL_ZLIB #endif diff --git a/engine/xdk/FTEQW_XDK.suo b/engine/xdk/FTEQW_XDK.suo index 3beb5f3aa2f433b7d6630a2f668bc9ab649d5359..d8991cdaaa5ada4992540deb6943df6225751341 100644 GIT binary patch delta 2179 zcmbtVYfM{Z82-LPTPU=nr!CZ;j;@qTOF?!+DHj8Str9a3r^YeCQYgcY>+BFV4Fi80 zHh7n9Kh>D{!B%ec$iB ze^c-Asd+x%F8KqDv3$S*IDvbKL_)#n0=5DLfDfPvsaWsFq>N@WM`pY4%<1;?JSx;} z+j8ft;gaT$zU3J>WiIuE?m2FPl!OIKG18K*cuv;QUHvlerX|C5|13(n$0}ccIfKV)k@d)mJbs_7blqK%lkgu*~>-3o>9k!rr#QeP4W~t&iF2*@y zIoQji-vSQf_n7?w*lAX_(FHlE$ATH?Z}~0B;iD7QNq$%T)0)X?EnqjE0`D1s)6UW& zwbAa<^K)va^CIV7x}><&M%QN<(g8{R%Y8`Cdui6Rht3vT%O_yR2%CU~F*XeQ2H6;_ z>BD+2+YJQSOYArs#ZH_ezP#PdtQKc4vp9C%z`qmY7<>@HDxz_XK*|^!!u~KjCMamh zR6q+(E4`ywX-dhbwc;81^2b%y+l!y92$O9vt4x?oZV1NitVw)7PazvX}4BizFx(l*SvF{SH{f%J8AY*n&he za{iqE3lpwpnZSd%_)T0Nh22s5Tq!C%3QL4XVp^<0$o%X@cuRaD7FNh~=!FDXNY51V z+|cH-;-IPW07<@kH0aC57Gv2G6UX8Uwt5ZgGsZmoy)?PcMc%+c`f^9y<9e8^{UI`K zZm6Zv${(qwYJiqQX7eNG>SEOa?k-5jFHz;wzv{lQ{2d!*hH43kVkp(f0?s$WZTI!SOCih)+2@kLP zx08vv$h=;7c!-VOzu{)IjHH3sKa}Ogy!@x0I9b+Tf zrNS*mDVgb3#i~4{`C){O!zY8#7yfAIqPluBwO5*LkHkg0tc6b33_bb(swT1bAa&K) zl#c`n4MGc|48V^2$i3OQZVPgm-DDCG0dFLk}1yz~saG=|*P zA85IJv(Sk=`H60~9i?|0Hc3QyY70dw;&XeF4%J%~J)8!clDCgk9^$mzoV1OqIYl2h zLk_L`ppU+ZbX>1CbR!nLUq`{6$(*8&Hn`TuAhI*2RYO1P+o&UtFTEdHVCQ!Qj|=KS zQT3w1qn#tk2i^X(VziK7sW;GBQ~iH_U#{16&Mo1YbsgRcV-}s4Eqc4CSFM|i zzAm7>0>*2257vNu(T91K_GnI+7@GwIy@M;*v($ls61B@UZeQ!$@HeYEVWTmBDdv_z}cta71tf3PuEVqNpTF zH|?e+IA4M-X`&{?m>3iEZCt4f7x>%KmEAODQ<`qtg-zN<9nX6agF~mQZhDh1@7{a9 zbI*6qx%Z9D@Ubg=rcEe)olGWOj4?N%fMBk*w_lpR8#p6)Ztd>n39*@Hpja%j=S+X| zaNo7>c?PlX7Z~TnMy_z0=MhXd%!!_aD&kM+IsXK6@}-Y@$kItTNa!MT6Alq#gu?_g zb}xPVa8($-oi!_DErvJGGG43{rOY)V5g0?v)@tm^spi?aj8oKX+RKCLb)(8Das~6M z8~0Veq|m+-uhdatq!8yE=Xt*Imm`z&B3x8+sMoe2g7ugRGCmDWMJ$Kg`b1tbv^*+i^C)j<6of z79z{w+npg|^e$avxa1<%l%GarI4kezjcUhlcW?e^X0w{aY$Ui$l`A>~Di5I$e4kq~ z%PX7vP`p`Ovlzp)H%h3rR%JPi)euCBb;zq=>)Lw!?hWDV1|6RAsYK}mh3qVou-GZ% zMXADZzGM&=HrPKHp#+B533iIoIZFN5=E*bLobVNycZDt0I!y*6!>l2`@~&DDBtiqB z*a|+eR(BSYgU$4!vFL~i)k$FCw16+`;uvU7m8J#TxmJ+gvunpObccGaOEF#U#K`s-I$D<(gvnj+3Non# z{^R%kbKn3jRod{xm!h9a^aCYt&yKUx^cyt)7-#XU;s7pG+u&c9%3hMq|LaEdX~k)K RWK2b(9KZNelO3=5> + + + + @@ -397,6 +403,9 @@ + + @@ -559,6 +568,9 @@ + +