From 0bfb91fa5893e6cc1ff848899b1c7e1cf20f7e1e Mon Sep 17 00:00:00 2001 From: riperiperi Date: Sat, 16 Mar 2019 11:19:15 +0000 Subject: [PATCH] [Various] Bringing up to speed with latest local changes - FreeSO version update - Desktop UCP wip - New loading graphic - Fix CAS carousel being rather sticky on desktop. - Add missing neighbors on neighborhood load (for cc npcs, first runs) - Support showing load errors when objects on a lot are missing - PersonGeneratorHelper for getting info from people by spawning them in a dummy VM and running init. - Add support for Simantics AOT --- .gitignore | 3 +- .../Content/Textures/roof/default_edge.png | Bin 0 -> 6659 bytes .../Content/Textures/roof/r1__h.png | Bin 0 -> 982 bytes .../Content/Textures/roof/r1__n.png | Bin 0 -> 2591 bytes .../Content/Textures/roof/r2__h.png | Bin 0 -> 934 bytes .../Content/Textures/roof/r2__n.png | Bin 0 -> 2617 bytes .../Content/Textures/roof/r3_.png | Bin 0 -> 8627 bytes .../Content/Textures/roof/r3__n.png | Bin 0 -> 27387 bytes .../Content/Textures/roof/r4__h.png | Bin 0 -> 872 bytes .../Content/Textures/roof/r4__n.png | Bin 0 -> 1707 bytes .../Content/uigraphics/desktop/d_live_bg.png | Bin 0 -> 23001 bytes .../uigraphics/desktop/d_live_build.png | Bin 0 -> 20540 bytes .../Content/uigraphics/desktop/d_live_buy.png | Bin 0 -> 24025 bytes .../uigraphics/desktop/d_live_floordown.png | Bin 0 -> 769 bytes .../uigraphics/desktop/d_live_floorup.png | Bin 0 -> 708 bytes .../uigraphics/desktop/d_live_friend.png | Bin 0 -> 704 bytes .../uigraphics/desktop/d_live_live.png | Bin 0 -> 30038 bytes .../Content/uigraphics/desktop/d_live_opt.png | Bin 0 -> 9430 bytes .../uigraphics/desktop/d_live_rotccw.png | Bin 0 -> 843 bytes .../uigraphics/desktop/d_live_rotcw.png | Bin 0 -> 842 bytes .../uigraphics/desktop/d_live_speed1.png | Bin 0 -> 276 bytes .../uigraphics/desktop/d_live_speed2.png | Bin 0 -> 331 bytes .../uigraphics/desktop/d_live_speed3.png | Bin 0 -> 383 bytes .../uigraphics/desktop/d_live_speed4.png | Bin 0 -> 209 bytes .../Content/uigraphics/desktop/d_live_w1.png | Bin 0 -> 508 bytes .../Content/uigraphics/desktop/d_live_w2.png | Bin 0 -> 499 bytes .../Content/uigraphics/desktop/d_live_w3.png | Bin 0 -> 532 bytes .../Content/uigraphics/desktop/d_live_w4.png | Bin 0 -> 444 bytes .../uigraphics/desktop/d_live_zoomm.png | Bin 0 -> 771 bytes .../uigraphics/desktop/d_live_zoomp.png | Bin 0 -> 808 bytes .../Content/uigraphics/load/load_bar_bg.png | Bin 17384 -> 6094 bytes .../uigraphics/load/load_bar_content.png | Bin 14972 -> 5467 bytes .../Simitone.Client/Simitone.Client.csproj | 66 +++ .../Simitone/Simitone.Client/SimitoneGame.cs | 27 +- .../UI/Controls/UIStencilButton.cs | 3 +- .../Simitone.Client/UI/Model/UIIconCache.cs | 2 +- .../UI/Panels/Desktop/UIDesktopUCP.cs | 489 ++++++++++++++++++ .../Panels/LiveSubpanels/UIBuyBrowsePanel.cs | 4 +- .../UI/Panels/LiveSubpanels/UISubpanel.cs | 4 +- .../Panels/LotControls/UISelectSkinAlert.cs | 2 +- .../UI/Panels/UILoadProgress.cs | 15 + .../Simitone.Client/UI/Panels/UILotControl.cs | 25 +- .../Simitone.Client/UI/Panels/UIMainPanel.cs | 97 ++-- .../UI/Panels/UIObjectHolder.cs | 2 +- .../Simitone.Client/UI/Panels/UIPieMenu.cs | 3 +- .../UI/Panels/UISimitoneFrontend.cs | 152 +++--- .../UI/Panels/WorldUI/UIHeadlineRenderer.cs | 12 - .../UI/Panels/WorldUI/UIMoneyHeadline.cs | 4 +- .../UI/Screens/LoadingGameScreen.cs | 21 +- .../UI/Screens/TS1CASScreen.cs | 7 +- .../UI/Screens/TS1GameScreen.cs | 84 ++- .../Utils/PersonGeneratorHelper.cs | 50 ++ Client/Simitone/Simitone.Windows/Program.cs | 18 +- .../Simitone.Windows/Simitone.Windows.csproj | 4 + Client/Simitone/Simitone.sln | 141 ++++- 55 files changed, 1078 insertions(+), 157 deletions(-) create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/default_edge.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r1__h.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r1__n.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r2__h.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r2__n.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r3_.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r3__n.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r4__h.png create mode 100644 Client/Simitone/Simitone.Client/Content/Textures/roof/r4__n.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_bg.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_build.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_buy.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floordown.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floorup.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_friend.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_live.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_opt.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotccw.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotcw.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed1.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed2.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed3.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed4.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w1.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w2.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w3.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w4.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_zoomm.png create mode 100644 Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_zoomp.png create mode 100644 Client/Simitone/Simitone.Client/UI/Panels/Desktop/UIDesktopUCP.cs create mode 100644 Client/Simitone/Simitone.Client/Utils/PersonGeneratorHelper.cs diff --git a/.gitignore b/.gitignore index 1fa4d00..2838418 100644 --- a/.gitignore +++ b/.gitignore @@ -241,4 +241,5 @@ ModelManifest.xml # FAKE - F# Make .fake/ -Client/Simitone/Simitone/ \ No newline at end of file +Client/Simitone/Simitone/ +Client/Simitone/TS1.Scripts \ No newline at end of file diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/default_edge.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/default_edge.png new file mode 100644 index 0000000000000000000000000000000000000000..919e5dba61608d2b630b138e4cc958a20d306f04 GIT binary patch literal 6659 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 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/r1__h.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/r1__h.png new file mode 100644 index 0000000000000000000000000000000000000000..a4a28f6168362fd72dff997dc17884283a378c89 GIT binary patch literal 982 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 ruCh&nmPPr?|-=_`uG8wgR6a=9V7j}L0M;^ literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/r2__h.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/r2__h.png new file mode 100644 index 0000000000000000000000000000000000000000..6a065a61620319432d6a437af50b95143cc73145 GIT binary patch literal 934 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEX7WqAsj$Z!;#Vf4nJ za0`Jj?CMSi4~O$rSrc{C)ZZ4l$Sn9++z%dPdhQHs1?rZ2fY^&O| zkfGod_XCa>!Ep^aUsD$EVVK8Idy0F)+Icw|40Ap)Sup*YBCZf^dozH+;wftZ%NI>7 zx{`M=-2A8N!}zPGE^Z!!^kG4U<$DwQq{!9Dz`2&kbn=(Tm1gSH~_%m4SV>wjFasVqj*vs&%?w`~ghKuv( z^RhNP_EwOIXL?w{bl@WknB&ec=cTg3uR4&bSvSus|ADh=tY_?-zaMBJ$A0++2mdKI;Vst00^FtDgXcg literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/r2__n.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/r2__n.png new file mode 100644 index 0000000000000000000000000000000000000000..283325580627979d77dbc26e1427ec1955d54a01 GIT binary patch literal 2617 zcmZWrc|25m8~>ddvowvRE>YRiCPanC7BiKL>PE7qYfIj#EFnw7VCY6gMpW7?w?a}W zY6zJrZYss3MHwTJ?J_fF#@dv5&kXf``n-Rfb3VWGe4ppL{PCP~(q*TEB5nx|0HEmP zxYZSY(qtDF4c{AV1DXNA0jI4bx1+wiyw)ST+tr$w4vdVfjAegqyy!ISKYVRdFndQ35|ShDDRe$3?cp@Mhz%a*A$Yb@G<$<~-oGuqDB9}t-L@}a1>wYc?S ztRTVJGH&m1mxNzi5SzbZSo~;gfVq)!{~W2LVKhP2JG9Wlq4H5*`~lOh_=nK`OnNt` zGhDAX4HMd5$+F&}ulj6yIy_ZaH;yyg9Wr_l-yjuP7X*F*C6qUH{qu^Dv}eCDzNM6W z0Iw9HXF!utEO#k4?bEwcv~=4$;yO9xpjHFRY}xL5Edjy0_=s|-p~tI zC=BCnORq9g&+QuIBM$X%ViB$%nK|+&l56ZSUDq~0JUKYk?H!;lahpzQ!-YqbBWzsb zkksXB-5z&es7F)~4l(*F>;5tqV~;vo4M@QFjfYsvCpRYq;P>Imk#GWAt^j zE#+?NF&ND8KW;)AKuxK*i?LJQYk)F}cDX2MMx`VUxu=;-SzLyuVPFA%VuJ$}_ZxGC zrp>twLe0{qQ&6{Io23*}hqz>9EDS1A_rKzaFTDv>FEA1wWg^CYe_la7UySI)8rWnO z?B&-GY9!d^{sp5ehptFH>+oMKZj3r?gR1ud|IU)wxMN<;bTwoXMl3=jf(FS?J0VU%N{W^})h80bqi9{oqOikS0W-a?kguCKcG zM$w2&AieP%pxnB)JHsO9AkA9KXyi+LuTNQDB{e%Vd1fljfLY*-0k>~!u{%~}GW_=B z|NEGGI;{O3$E#to+&6x)319c&$O4zo3XIgqh}sQ2zb~eR%G4}F7zlG|EYh($g6T4_R`vwS$JXU_BHi2n%>dl z`cE=ij49|vq5LR_wKVJcDO-TK)~(m7>kdwo8-oL{3{Tty#v;5ciZ=Ccr0j@hCFYZA zKzC{>NB~N|Keo>&-2^IrK7f76Q^g(n^ULDvI3Rq70=FrsU7-4zspDcW40h|#2w7|t zD{Ky}B&({i;N}|OFPqe*kOHwH|9_S;0N!Gp9u%HM&N2Xvp1HU}^KxArP^X|v5kzV< zL=5&Nsmdg_VStSD46u-Mx{EgvnF!5{%~gmGuS^})Ku=loav9hS6@G?HtdwqRRo>j_ zsSfV zyO3|&*3bXcHK3&#YxF#@a45Tr*V{B9!Y(??&o`#vWvh;L{IJgCow1LJBnDk-0b7_4LN7^Vj|!OF4JL1f zk+p4PNrfAYLpt~1>y$AyzF@wFoSpNJLGZZH#A1}!YkaD80!?#1CVSyCHDRm1j_;M- zM67x%(7ux(nd*@PEn#5SIa|(lT?Z!O2d(z=31NYP;jMQ~v7b3jKB@)0mGtDW^XK=J z(FIScCLhuwnzC)smyFil^U(POTZ`RAWe{r9oEPPKmC^0^tXW70$2RdKtnNGRE}~|E z8(e~$>G7UlLrf_6u?Uxdx!mSbh#Sq8TY+=#k>@<#qX#QrtvM&1%j-R6|Nh@z=O5mD z0N=PmEdjmUM{Oz2_;tqH2OEBM4=<-#7xY?v*tItD`w$^$qOUh?b?*Iw!<;I5 z?a`j$YY&zDD2i}aNz(6ViAdO>u7A+(6XURsI_Mp4-`H(fP7-M>JbluX^S9xIxPf(| z+@uL(u_(7_OI687-G>(}khFbvNjjh|AlvmFDCD*(BX#TRLAPo7veyo@7&|*WZR%@e z2IZxpwJvq5;V(y3z|zmzxhdWbRK#0R(1m9^n~0TKHT&j< zT@hdK%sPNt2lOYzlMu@lQiW!DYZ$Y<0_eVE8iN2VvhS9wbihkY)BwWqBE;0oU`JIN zKkP%?_iyXK)!_NSHrCl$F3U~@09)}AR~JY_d5E_~DiM`@+bkUKiw8_K-N#9o;7M`A zy7Y1rIw+thp0q{41OcG2T^&&S%~#-PG1de;ZLmXbW;iD-XB-@n4Pvf!)|F^ITc#EqfQjHWZK5U@e;DyVGA)4y`T2af`7_RCy>x!H zgJ9+?v)g*Cv#~vwkPNGa_e~@d+r}SAd#>W=rvxiBv-WWgksReE&eRK_3Uhy5r0iw< zcx@wK^9KYHC$E^_G&JGp(O;X!bI~-VAf@lOD#o8wUbMQ)dHiiSV6V?alpP&I_yc9} z#*$Cfe#zD99cp3@gb3_YQp*{Bg$_WN7l_)bSO5%I)RxGmrlR+aNYJUcvv`iILez#_>yuU}KwL zOSngHs7s(b+Z{LfQ}@gFyaU}s;epVg%Xcj`SDR~7j^%{^le-(}?h@<`_q+VW8|KcY ztfHi>uB4)4eP+jljqNg*DkLge~v(W4<}J+hs~0blH(ZII!-Fe-r#6= z^bZv$HKBxM)ar-R{f*UvQ*lejxI7{OH@P`cy1IGamZvI{oR|uGM^pMP%L{X z{csxt7K1j8+3d|Z7Ls<=H_+F2q~DSd5YZ3H4@}%ni8{7pd#=UqzkfX6`*-XQWufB_ z&VWfBqX$*?7ciH@h?u?ql)l3<+#SsLejnRaDXf}Fa!==ZkfS3ZV9oAJ#8{M#3b`N( zV8H>A_;>B zuiHCwz5YQ40R5>Y?M|_HlVMx6Rf)+^2?HEIq z<~2@pZn&6CqY789-oZ*UtyGt=Vhp}l&TgqG@zG1V@0Do;Z%*&p;Qedq`I(h;CX;FU zA|G0qroiFU^IXXIeiwAW}rg!wX$%1II4|V6t zhazAu5);k0gBrt;3#$PS>X6D1)sE6bukiZvLWQQnc@9=m!|Tg7qd*gmd|?l3lCk&Y znkeWA-R$(n{ydz`7vBiWax`&2HO@3E`)nqOAVJQLsbrc_WB_4wGB6E(yhak6>U;1AMJp? zux=H&QgOlEo2D(RO^pdsNg0FO;2LfB;<0CwvGATdLwxo|GPB*LE{Kmd^fgR)hPRn) z`yi-RV#KSjy+-kL1`F}e3+@-EX?G+53Ml0%#UH}o2N|3Bxa+&?2)wR|Az_1Erg*qfO*lio~Q<4dmZ~1lp_$VUZ zx^2e?h*Pljb{>Hp0;@I~^4pRnq+fngUQn4Y5d)zrFVZy>6f5RjeilZ*c=~Qj5BYJp zJWn;8hgnLb%$t{VeHLEl_jN59_Er3~^>%urddYQH)8gxQHp{J{9U%@_vR@wzdSEjy zC>lFs-mn5v>Oui8vR*r_l8`BE<~7qo?;k0~C)68jy5w^Gomu{&7Mk2p;(aDFAd`W% zXw8E|RtoQH%-&0+ZI5|CpmfyJJHOJs&*hl~ABKXfcU^YK9?4`0ONPvLNDL_>CxTK#ub*<~6j|d_n>shgmd7o}+3h2!FLu!25EYZbF$X zz288ypA|#v-jdLliOAIWp>k(;aagcFxdZ$)LFeAeN^@J$+pueOybt!X^I6h#U9<+{ zz|dqp>O(RO^ir~#oLwrPlljOMlqd4$0m@lL4lvs?(}p&mAP$p`fY#?VaQ1)po+A7t zKgRmEzQCqU{kyqix2pC!v)=uc!?+vdV%=tR9XawYp$N@&6|7*86YnbZLS>NLH5)Y6 z>6K>H;Ri97V@Fc87uO$N=%_B6wVmZ1QqhLK86?zE2%j26-*TsskH?M4UBinUv(&GD-^Gfe6_%za&Lm#vgv02P4=HT7~7L4a%1sP)A87f zg5aas=ECrHc5xfeT9fD=BUPU!P2P)F5DqQwQ$j-}unF@8yVc8=$Ofc5EhxrleCYEtQ{P0wGOXAk+%a&g355Ahhg_hQ&yMNC+%ZkApo$Li z^i?$}?_C*l0HeSXC=xXSMQN$QovUuWQ~g{usX^(@N$`uF@ySeAfcr0I5)@q%Utc)8$CxmuK)&=f_gLlg7t-G{XpJ><82Bl2j3+;gDw-j&|3JB zld%h+iR-qULrFH7$SPmIgSqCH?oqPLiWP|!?95riZy?*8>5e-V za}dFfT2)+=qJ^?5ys2G7!%pfgjQy2D@`gjA$Q1FP#YN632DQMkZ{gdD$-H>fh{JkR zLrln>n$t~iq2v*DfOfVP1mdik|22QM?%?3{J3V9Xca@v}@bQTx^Y$za27Ue=S<6HA z3VL3Xe-s5}OtgbLzTc>zv~hU_;QKvOG*YJt$p*!&V~386J*AKnWLwvGIsaQ@P{S@h z*)jS|pg*)RE+9ufFDO$ISFiAmdSpe11A8K*9lZZ0X(i;Vj&(msF1CH?^~|eFBgk)u z_*3(&z9+N&+F@Wu>5BTJdwsKXs9(~%!%r5KO0^X1(W5%HbwbQbo702S zJo0HacZv3jkv4zr!W-}*Df_XdB?G{hMaJ(Z#S_y;rn1c68!{neP{M z#ZE=~x%Wh$Zyziq7N|P2H0a~le9P_5 zI2?eWzCb7;Oz!;Xl4R;cJ_8rUe1cxf@Eyywd%A*uEhNP0=qPYGq(JcrRc*FPr1jFZ zp(nRTEL0^TpSTa!JC)sN@lCtUWBmDgyoWQ!JV@rO zyH~*2?WwQwMXm*QOBFmW&w-wDK^AwFmQLO-sX`Gwf504fHb>MAv<~-IBcP0iY(|ak zxzE=e*R+8>f8fQAWV+B0e8xSake_Ljslc5^G(fk$$ybdQ@3DGlfJAsBsr z(0jc^CfMS3HH!B0X5tma-T0_(F!3IKnZVB)IN7L>y9g4xuF&4Jyx#h{G^XaZ!n~KT zn@a(&`dI=Q%vElmoHNsebeZqH_Wdx`eFR$gvGFiT<`Q9I|g&FP8c7g3HfTTVPLHEu;f z0*yfKQE`Exp`qs(!M7@!nwp;7Di|j=z$exxs^p3|6C~Rzyqgt9wrE>hTcoum^3>AU^ITa!W0XuEzLz*7~Pwi=P}pybOC8?OB$RoXmntoIeiQL zK@X2=4YN3?yXqc!Gj7e`WYj*@FmpUU>QA9XncSh$0q0KWA;F~`0^7uP{W`|$Kd@LQ zDT7FR?9o2)&t}8?I3y^e>{3uRaq-Wx29uI#P%afoU+8UDG4W9aT>$^EOU(B8lAXM; zXGVnwPFw2Q>mwoGbus-7n**EsnFt-(8g2t1u$;vp8?3)`ifr7yMj6#i3#d6^!n~;b zUpNMzZ;e=NSICr08n`x@Ow#tYm`mBsbq}NZEo^&mfwB04A;5C^NWe^IGipxmv74?( zvW9kpB3p))*?!M@mP^@GZb}SIa$IR=N1|eXUa_Cz&OBE4JWK)=p+87Y4F8Dlrb9P<_M0#I2r{M^g+ozzarNJU| z-T^|E<4@JhPRtT6$O`|%J~!8u(xSHmK`9Aqh+9TeD<~on3{;yp)I%r7|4zvPP^7WY2QJ96NRyv%07H%;rP^`|Y4S@0zCy>2E4BBoL3wXl07ZXjruRP(J6d5B&)(KkwD`_gGs*W>eQgd>1D=LGY=owVxz_ zaj^xS#F8$VdbZisMM|{;qD!^#(8D`9&q(k&Z7KNla>5Ocet%Wl0SK72)m<~rCNAS@ zBJI86H9}L7Wa&|y)}x|C+kKqPG{4_wY?(~qDh7syi`?h=%ViC65CaFLoL0|C00po& zHHwJ&w(R#|zK^gOV^z3*(9Y@vcv;!YNIX_Pij=?21?5x7TeZ$viJloKf&7 z3o9;C5Ht`9zKJuE88?Px$65cK#v-f19c|Re(_n!*t9}+QLy70w$v@ZAPM*aTWUKiv zemPIfD&DL6q;n4H7g0gzm1u)ff7M6LujP}zg@PPuvpX+Z#;XYdi&BxTTukc&j`Yu& zKiLdneIflv`=Wio@xGRCQAsYZD@Bsk5n7M%sh61aYkXUTmRZ_fO#L75qHhFnyUUB- zklwE1l*}?d@p(8!14GZgu5rgO&1!Ui^L+Z-wxO#|g9eObF*|p0C^xJ|RYasfUBYf^ zKDp0H@Z54~v%PYn=*{^;!S5}ctmKK37vGJ{cztp`CKlOw9MCKiyf8F`KcII{@Z@x@^qgQ1mY|R;kEcI^HNjuGnA&3nPtNQn<+FdgP!WEc#JQg*$c2HxC z1Cp(X_k%`;RZv=L+9qNe{VbV+q{=uI%JKFoTv_oh?jGwBp08T0G!&!`*k^voaddQg z#p)F|{n>wBtk_e#z~Wt>U2?Ib`pwBFNVOZw9b>9HBl4+MGhSgQYsVpFquvtlh-7W7 z$ghMv*|vPjLCsp2aAw+9qyV$HMl3zMyn0GcrF$fHl0CXgLp#IAlr;YIszRJt@Zaq# zFW4b+3O7)P9K0jNDWKvW%ev)v@$oG+hg-nkI`lG_{ch4Z15_cI2QX_lx<%TNY4ALl zfpE;LppOFLT@lF{<{PfMHaw22`}6$wf=-_TxQxTFg~ zCpO$GW;XNxZZ1f)=d6gO_#8Lry60-9|E z^hQ;75H9w=9eL_A!QYkKYw}1y%g=p{6#S-V`E0^fr)d~n_np6u%J~0|ebuA%qm+aDrA*S6Fdxnn=Is_sE)eMD_6FZ&w1V z?}X;p$`!w@5qwLtv_}bJY_;#y^49rBR=eR(7&b^hIyg80_kGI8&y_Y>Dc&Ggf3oZz zT|>_`BWc(91XMIXl5ddP^!M0(2OQx<(Ejde+Aghf&AO2Z-1GwcgVe5y<~m&R+YahGuB^(R3;Ipp@;w!r)FEtM3rU2^BlFHV5}IeqX6SA(=- zc`+$1GcKET+NJxcYYT6YoB=Oo=ydARpY14CQ{>U!#F#kMTQ|Rd4HDdQ`=>l1M_3F~DPjA%*$tIqKGOwH;>fK+OUm!7= zkuYKiQs1y?$ID*aL-XFv57e}o?Rl)zF&sET^ZJvvd&_b_TL0<=+g)~aEvo!9SE->}WyqxtT&`B6BD1@7A!;GRsKfr0 zMzwZ8(=XFvAacg%qN_5GW~kWt)&v11o8-J~*}!uWH&6T(4`zou-rzt&8Rok)lei{< zeeb|-<;E8>yd=^4MJ?LFqnWqu%Mpp)pB2WBv4(ktw0=lZN*dI`uK$=a{v`Q3Ava5t zeAR9%#pjAE1o1QgzvJ`@>#iAjQN|)!knZCYlxV-)-Hb1S>Q#i+J!;Auqawap`#YWn zuRyamv5D^u`Fhk;o5uQ&`?t{-q_T(WQ)^BlwtozG3%TJ&aP~C5=Z)&6L+f~A-tuD^sp=qO0 zkuAk=$Y}0AL18_F<_+)CFP~0y9-e8h7be}T_PsJXs$lkb9%=#yBAk93)? zg+W;3hB*DMkZ^bpxEpLr5oG98y4-&M65eD=cLTpQd0gP5;!`V6=1wVtMub$s9tFl#t$tB^U@&_5OGbO#T#nUg?{!aviGlOzR#3~KkeiyWdswm zlO%WT7U9xrOt2ph{<7cjeyykKI8%ApwXjYU=CZj}pjA>6dG^*}8DHQ1MhO{{(V)qX z355#BOsTvtO%r>P873*a8ECES0M^BLnxNTP>d3yW*?ja_2^nB2RR5lI4#o-dSy)wE zDZj%cTO{J~WXN7!LOeW%Rq+sU_1c#>Pk%orfgTsP+N{#U^PexltyWtx%BfJtqDK4H zX8&F7k}065!h4s|aP`)G#rTS6M-$ug;>QHP43;l&d@zRJ->KrG9PNX8`XshKdb2DR zY&{>?Z|c6D_w>^&CRF0d2XuUndK5{U%on`p6l%Y^D7<4CWom32Ka&tLO4a5N-W*`(%C|YO*CvNG|;~d+%>aL2SfS0upN9N#;aG_J2 zL6DRI<+*s!Lg2sJ3J(WuuN6c;x_c1sMTNTk7%H`c>b&sA*c|3_Eq>4L|0I}mkIMnt zqHPIxDW{Gg<}Ay@4c?1w8EpEjKAt{fY*&8O)iR$y=X@Xgq_JI%pS1NHq*4A~q(s^* z{jT7SFW2Q+b>T|DyDgRM&@-&@>D=Rt6G1Y1dVLV4JKBc<{kCH8)Darb9m6N9UTwm8 zkHD>@-(4WPJ71Ko{FIu%y<>h7AmEJil$QFJy4Qr6{AN;72m~F?pQ0T86`&Afh3mva zdON$4ax<%B$5o2ezQfkZ;Xh3>9Bv)fLiHr{=Xoaufj2euz<;P(>^k=yr$e%PO9@(x zvJwJat4rAmTJh|bWZL>Bv0?of@At;TifvS30bNJmKcmwd;PaKoF|8cFXl(SZc11VWbMCYd1q=e)7%y@;Wt|A13PG+`{dy2Jb{A z0Oam;8|NrEZ_+ia67t3Qb0 zjExb0MA3oQ!WQcyYZR9zHBp6S{$TD^Md=NT^G=Ft(fDuRcIwCfEJ?Axx3ZXjWn4Fy z=D6^RJrf-SA#550vvw@L0MQl^c~vNf-ans+x>R-d@3Flh*GC09g6-y(4@mC;9BPEJ zzkmPk9sAO-2s&lKv~F6T7=Wso&eQ^x2sVcuZ2c=U49Wv-XJba6J*G})Xa9!q+;Gj3 z3(omQ|6BOj9BH~veEQuWab8wly{g;)O{)z1ubdzt0dL{}_+I~j6Rk3}C@RwD>O1x% zdx#nWU93Xp+_;1BJ1k@p_Fnl~_3*It+W%v5~xLWaf!>+!DMJEUC+>O3*1>Y4u+~s2CwM=w#khjKI??6CrT9( zbzTPv)BGHB!zGF5zYJ^J+LcbagG%dH!Uh}4yc%_^K)gnUkVs`7oIamxJ|Ve@{55G< zvf{-oI>(B0XEC62qWG0YTxqaS3+*sG;{H&US7*Y=Q_-*~Y}b&mzM5B)(MuO8^efylP=`GBI4q1axNDAo4`95WI`%n)k9iM4cD5htFK0@t zi%e!kpANylqEGb>?QXE!*$cz|m}viBk|4fv1#m<@=9LOZYd4WsX*Dq7sME=d*L}py zDuLsXwE0CZJ2n!JfHZfQ&#ynSFSL}!9dHMjOqGh#C&-2q4_Z9vJgydC{Z|X{K=fg&Z&JVYB;XtD zGzpSOs5kb|A6W(GnA3I35Q@x_34OT7+)u}6FREK@T-#3Ri`5PBr`y2$ z+|d7jz5ugM3O10yFXMO|QY{}GCk$qrylTtLb+(ZXn)=5_%GfvS^?^JsYwXlgY=)$W z^t;*t-R&b@ey3vwe)Q-pkXqj>B&t(ycRBgc2mdMD`GC>?w|j7${8xD zwZZ{v{I7DLz~X<^5u%v1=QPrQP+AvNJ+;R(L6snJKNlMDxah_s8u0jJ&qFFRSsa(N Xo}7+e6$n0_3N{mC3!_Ry=h*)Nz>J?o literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/r3__n.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/r3__n.png new file mode 100644 index 0000000000000000000000000000000000000000..5e222434a60c6878b9e24c004feed6735c35cf19 GIT binary patch literal 27387 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 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/Textures/roof/r4__h.png b/Client/Simitone/Simitone.Client/Content/Textures/roof/r4__h.png new file mode 100644 index 0000000000000000000000000000000000000000..da0166443afa425802826a4621cdc763e5684cdf GIT binary patch literal 872 zcmV-u1DE`XP)2wOAlmY-~t!rOdmLUv7JU%{xD&On%5Cj3Fl=AAtd&6_uLYiZUk zK%M6ua4Xq13!uWY6RcaHD&Zyz=qk@nu&Piw!7e+!wmf%%TdB5L02Q8{VBG@6WSefm zF7s!v!gWs3@;0N+^C4IUY}gkyVZ37%wj`SglrM`PbK1w!&)z+dz11L`E$WvknkXDeJR)TE7+e^cez3fI{}T|ULz^4taLB-mxE+m>f5T>d!t y=@cz*GwM7af@Of3)oshO6=o|;)aw4075)c!AjHX-1k;QF0000^{7dvh#L@14f9aOahv7nV;!GZ-sK&6tTY2_qVij%4Wlr};tELb8$ z`xmflB2_F9O41-C*ukP8*b$mK7soMJZf&1Amzgtj=05YGnR9$e8ixip89IAEi}U#V z-uL}}?=#}&YnSB*;wkENhoD-+Db?vHdsr0>90V?s^~6JuP3(Ap=Q`B7CG_YPM}luK zH}xlUb%sha%#B{{OS&xcz3AJBrJr7qdiC>^%O0+1F%%6tOtC8J+XmpFV=#~=jvSCg zF{ZV`eD^SOlb7hVrlCr1^l=P6ns=zC2IAGEG#f`L7fH$`daA{%FqAea_6%7x8k7Ny>4cW(% z1Kjik5NsO|ox@P338<4Ny_KvpU%tx#hY5x>KehqK%cprQdJ99D$qdMoJ~iM}YQWMP z7o;H`2PAH4fM}qLDOQ#AKPvFXU0_2RA2|Uh)YH708Xykfi}dgFqt6UTufV+w=!^~6 zYJ<{4Pip`sPGS*{ufT2wE$^k@!9yMQiC4B5xc3>X!`>s=p^rN8PFF82vfuE(?%aQy(QO}R}YU2NKb&0 zwn35J;pWF{gYg2#E9nV1M_-vCM9YU z!n(jNMNrxC7TD1RTxpF4p*XDpFYjIiA9B5wtZ_SRWQHXlRn*r($T7}^6cT{KtW{r&&oxyN7N)!t>6*AJqWe3x3cM$f**q2bqz||A z@^YhB`z1_gg_nZ#3cP+^B0lNkylAZa0 zkpbCma12E^4akE&n*-9#(AIWXf*tK)=(cFP6Rd?*0!0v%1sk=Hjk<|Z>0!%0Q4-Qk zu5rh9m`1MjcCs;Ej{f`|soT>;9f{Rbu^okOpwf#KBxF>$UsY*0B>IGlIb{(}1hmUn zM$1wEJo@kp*t(W0y;)ghzH}II{pj0rdH5v06B76_p%e^6ot~&7LNF0;3v<;-XQ!1C~EOiRg?{)5T_b4y=A+&KJ}ylx(ZvI_P3f26{3;1HA&{=V-o z95GMwdh6FLw4cT=X}Qt+rI;I!zQ>E5Zx&Rzpuz~cZlA=XYv`C76qQ4g?lA_rpSR_T$Pi6`#Ji_96pt{)y8~+29E~s!p zg$pV?qQZ-ZekpGZzf4l8k<>I~wSrk{-jNkH0uR%-@dBGD@^DKbS3dJcj_Py#cwgum)X0xs3AjG-H(p%-7Gm+t1$k@mB{VHWHp_T*jc#e26&3i=l0T=}{fR zwS8Ck?%r9>SeICCA4ILn+~`$1Vrl9s$3A_We*^L6bRIcd^w$6Y002ovPDHLkV1j?^ BB@+Mu literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_bg.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_bg.png new file mode 100644 index 0000000000000000000000000000000000000000..4145c3563604d77b1ec0a95d9f65ce90c3c2f4b6 GIT binary patch literal 23001 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 P00000NkvXXu0mjfoWePx literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_buy.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_buy.png new file mode 100644 index 0000000000000000000000000000000000000000..5cdc0b676b42992ba30ca3a5f5244194039878e5 GIT binary patch literal 24025 zcmV)`Kz_f8P)DejTV62oA`97CEL)ajX{6aSi)Oz|cUPVFM|Jn@zW2^1 zjcoJ#r9PjU+tW*R)wj?2_Nh~+s)?ELU+MKrH1$�a)ngMF7(N_C%=-Kn}oRf4j}! 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 Q3;+NC07*qoM6N<$f~kn}r~m)} literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floordown.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floordown.png new file mode 100644 index 0000000000000000000000000000000000000000..dffe914002573dc30f7411ec2c5d424ae5164393 GIT binary patch literal 769 zcmV+c1OEJpP)kfq%?7$=O-)xYre+K^B{_(5Pv*PR`6$~rxoMNzIp?|OeLK^xi3qEpGp7w;Y6GML zY&I>j*3g=sgYbYU@B^6qPmm3u4_wIEI{}8kY?&Y)(G=!s1{?w7Wq@>n%MQjgb+6}u z0G(8Pe*zo=f7$@)09RcT(+n5^$G{D@_Z;D8cgPEW+6c(kMR#S3UeG##ty19xLJ zGay~EVVt1p4=V!1m1mdddihr0?yR?f4{pOQJ|qfY8=3&$Tw|N;4)7MDiTnkw0hfR; zz-QF=-&D6_o;t3s4?G37(8Fdjavpf(NME}P5?xRP^=rfdTLfc!TC= zNWJHXk7naK@R-Q{g+NSOz$@S*@D-iTqR)|aG>|b?co5v9%*2<0V1tiyk=9vk1i2 zz|ps%q38i~dzFD8I=*)e074OYUe;$3khon36(RN{mV>rHY(0^3yADL8U!`sx5VLEL z127hmdv$8o1+mq2r_X#HtFESh!duhI+~WTM4IUs^y`Eu)00000NkvXXu0mjfGT}O9 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floorup.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_floorup.png new file mode 100644 index 0000000000000000000000000000000000000000..1aea0c978075c7fb039b2bba6f74705f1405da09 GIT binary patch literal 708 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�e(t~tG@l3E@8!ak1>^*L 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 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_opt.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_opt.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4e12ad7d07c685415def97b1f88ada57275a72 GIT binary patch literal 9430 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 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotccw.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotccw.png new file mode 100644 index 0000000000000000000000000000000000000000..11c5ecb0cb1d20a0b1ffb797c57a7664a1e484b6 GIT binary patch literal 843 zcmV-R1GM~!P)P000>X1^@s6#OZ}&00004b3#c}2nYxW zd{&IwmFnwp?GIuW0Tm6cR{pGtn7@|HbDzJb7?FD zHHd{M!~?B_m>}3F>S+`NiMa@B&`Umxoz1PAw|6(Ny!Uoy_TQQLciwgZY9sxU@{$VC z{F0=qq_uVn2uO_rFb8Y`>%d#!1+W0T0e%7-z&tS8Vx3Ho9B?1_3p@o*CY*NzCxE*K zI1dbV0x}GI2c82*fE|&(-$s_-Gho#+kOUbvqbI;XFkc3$Y?mcqG6KC0G;FPHAUWVA z@W9d_AP>|s7LTP4jG0d_Fl(FLN?jL@T~m_INjfTNSyEZjjB(>?#Fb+3o|lxf_i;%T zNxLMymh?)}Y0s`f981my5rmRr&16PYKB5ASkp-WwNnkl}j`N>Y=t?4WwZLWxxaC0> zfoW3|GaQQXNjxO#~CccPWZ^u7z)pq`FVnKnugT z`$|&1h5bi+_S&d-+r&r*yYezFsTO>XMf$2e56K7002ovPDHLkV1kJkTFn3e literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotcw.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_rotcw.png new file mode 100644 index 0000000000000000000000000000000000000000..136d59e31c4824dd15cc6822800bb35b3a12e43e GIT binary patch literal 842 zcmV-Q1GW5#P)P000>X1^@s6#OZ}&00004b3#c}2nYxW zd( zL_t(YiH()NYZOrs$G^Eq@MmrjMO5@+z&a^JvC4tinp9$U=`3@dT6v8&qDIliCWobs zDFq7;{{X$9q==H7SST3HrjVeC`B=Pp?7Pj|%MC2MJ8!=8-8b{*y90pwurW#Fk}84k zi=?)sh26k=daRWt)g{#=os#rj(yF8lN&6%nlaxsMCh57PN0QQLCLnfA0>6MyzzyJJ zLEI>C3-}7G0rgm14A=yI12e$>$ofbD;ay-8nA?qH&USDu@QoXBhi*&FUkzd}+3vfD zLV`N54qOg=v-D^4Kw_A4z+d3D&oh8KT@^|1CEb^F#~RwQQzbh=zNx95DsNRu6Bbjo z_3M%zOFA!UAuQ8!(1ZEhmv*ddv0gNSxK`kQ3%vB@N^mFRsx3|xlq99Q{xK4OY4cwJ zwtz~>wm2y1g>AoHFgKmTIq0^A-Cs-kA!({)b^l-siPbl6zTWM~T9SLO$f?7Iq$Noc zB}=+!0ppP*>&hDHlQx3b7{>b+B_&=~{@8sa0%+t2T5`Lu8+pupo;4}ct|7a3B7phe zxvuP3myNJjpALGGRMO!dfoZ|BCn`rUzIP`isbr3`=4?d(Q^9jneMoyiaz;{Hz!*+W zM#%&+KZss3!r4d*=E)D_QJcR>4_XGEkg06m+Bu@cd@=I_dlUExls#z19LMc_x`4>b ze5-(9*47UJtC&cJC0GGo0mEdfoVT1$+h`0vCZnTOS540QZ0;i+f|Z9r=2Fp@51JtN`1%o^4vvZS&9J`dOIgKO9gy URz=#f)c^nh07*qoM6N<$f&q1Q^8f$< literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed1.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed1.png new file mode 100644 index 0000000000000000000000000000000000000000..001ffaa4ec19126570fc84aee9f616f993a83ab8 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEt!3HF?4d0vvQY^(zo*^7SP{WbZ0pxQQctjR6 zFmMZjFyp1Wb$@_@G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^BW-s<^>H(?~ z1F3T^N=+=u%+FH@$;?eEak-(VP6^|9^XCzCREC|NqZd z@#JGt%_M^j4}lz}Ee1d-pyZ$b|MxeDu^m3p3gk&&IFukU!$G6sgz1m}^&U^yKzxf2 z|Nqysmi+bM*}~MUtFc0^GQ>a6H(?~ z1F3T^N=+=u%+FH@$;?exexMs>2SjS};atEE8bg z=DbP0l+XkKPN8(1 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed3.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed3.png new file mode 100644 index 0000000000000000000000000000000000000000..3dd478ea68c20f7e20fe1e9a95459f4bae5af776 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEt!3HF?4d0vvQY^(zo*^7SP{WbZ0pxQQctjR6 zFmMZjFyp1Wb$@_@G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^BW-s<^>H(?~ z1F3T^N=+=u%+FH@$;?eEG}xT>^9`{jcj0nu!?B3qOC&lRqHsO{PM@R0j{ssBx0L1I$N z>))Mt%vO@e&ahgN`As8x0OOl56Sy?%Uc_l(Hg+{psn(XY>KsO&#-BD>$aZJ&^*q=Ac@(BtV_j8$&E5UyfwF`9Zb T+MwYi(2ES7u6{1-oD!M<@jsDL literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed4.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_speed4.png new file mode 100644 index 0000000000000000000000000000000000000000..c92d0dc9d81f1b6831a90a606e9b8fc2e839af82 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^VnEEt!3HF?4d0vvQY^(zo*^7SP{WbZ0pxQQctjR6 zFmMZjFyp1Wb$@_@G9|7NCBgY=CFO}lsSJ)O`AMk?Zka`?<@rU~#R|^BW-s<^>H(?~ z1F3T^N=+=u%+FH@$;?eEak-(VP6^|9^XCu^v9D1&{b5 to@{uTo{+RaP{Oq0%7egWcV0E11HUi!nrPtM>xKJK_KU literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w1.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w1.png new file mode 100644 index 0000000000000000000000000000000000000000..3cc6d7ffed343480e64675394690efd08f486906 GIT binary patch literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)h!3HFsG`&3vq*#ibJVQ8upoSx*1IXtr@Q5sC zVBi)4Va7{$>;3=*WlCHlN`mv#O3D+9QW+dm@{>{(+%k(&%kzt}ixr%M&0g%;)B{u} z22$r-l$uzQnV+W+l9`*zU|^^ZM240L7nwpB7#Kr5T^vI^I@eA+nA>6?;F^BfL8Fl? zEKlLmyyB>*TY~iF6nk+lVYcFUnc!W(ImLm~k2RmaXDb^|_J_KYLJEgxZ%p53$?%C~ zs@0oEJPPR|4u==i<>v7%V3SF%wHFS_{9NNcsIa6ZAET5tShQcX-zsFxu=;`?L>g)cFKb^Aal2Hg-W5CWkP!eD_A1|5WyK^UwM!r<*kRf)Km zlgY9zqFjb{`XJ@`)+D ztX8>Bf)s5crzKs(?N3b)5joeknC3m_SXybF#S_WFe5#Ez<`_a`{qXAg;@v1Xz<;R) ztYmly{*|b~to@^K2JoI1#)~I|oY0wSwu!XQlp;35MJX#Oj2>iL`>n#br|&~=c2^Hk pw3>GOtj2g3QIu21Zxx3v`vLCU^n7-~evSYD002ovPDHLkV1ihF%?AJg literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w3.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w3.png new file mode 100644 index 0000000000000000000000000000000000000000..62a6282f81cbb67c8e4214e9e12a2b45bf9219df GIT binary patch literal 532 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)h!3HFsG`&3vq*#ibJVQ8upoSx*1IXtr@Q5sC zVBi)4Va7{$>;3=*WlCHlN`mv#O3D+9QW+dm@{>{(+%k(&%kzt}ixr%M&0g%;)B{u} z22$r-l$uzQnV+W+l9`*zU|^^ZM240L7nwpB7#MRrT^vI^I@eBpSlDd9<90ulDPO=X zp*e-cECUEN?l$Bd;E+_5Hc?(8z2V?>d5MCM#08!2N)iOBx^(Itg{1dPyW*Lp+Nyhh z9j}eou9p|BJfDX*I<2uw5BGd(ydZdu)n8WMJ^Ni8vU-i)evz9tQ|0)Mb(53cdESW) z+RDOZ=(tW-Y|8I-9~`ExT+@BE$~n=oS=>+kn8lpwJL8@^WcK8y?_}ol`Nlb?vG4zF zQH_TAJMJ-GJ;zeZ@K#u$LAjv6;i3-5gSV^;_SU{=ED}3Yx^*op>w>hb*VcdIrmSa~ z+aUe-A7jnM{4b0@`aUEXcGpNBGm-s!P3BP4WS7#yx3Y1btDZYdfAUXiVez8dDjVni zn|E5r;}!p`<$UwRmsyCHTwCnLKY@L1)Wbx!YhGN%x)KTNgsk&Y-Hn>|xJj&S(%*VU zw_u&q>SxK^lV+5>T9Wzc&Kz&uncmMtC*Hlhb@rW8+wZ){XXBms?`Xbct;$F4S1&9= Uv{Lt;1;z}6r>mdKI;Vst0Bhyg00000 literal 0 HcmV?d00001 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w4.png b/Client/Simitone/Simitone.Client/Content/uigraphics/desktop/d_live_w4.png new file mode 100644 index 0000000000000000000000000000000000000000..59fb8810d5a28565fd9ae40d5f1f6cbfa67ee6f1 GIT binary patch literal 444 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 bDP5f2MYw#ARWP};P6O04yHlg{;NkxP2wnVK literal 17384 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 diff --git a/Client/Simitone/Simitone.Client/Content/uigraphics/load/load_bar_content.png b/Client/Simitone/Simitone.Client/Content/uigraphics/load/load_bar_content.png index 91d9d76fd3b1e8e928f919cbe38402a6584eda88..526386c9c5a0a022737265c962bf063cd7967d00 100644 GIT binary patch literal 5467 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 I^1!J70nZ#Ji2wiq diff --git a/Client/Simitone/Simitone.Client/Simitone.Client.csproj b/Client/Simitone/Simitone.Client/Simitone.Client.csproj index 813ddda..f70bf1c 100644 --- a/Client/Simitone/Simitone.Client/Simitone.Client.csproj +++ b/Client/Simitone/Simitone.Client/Simitone.Client.csproj @@ -64,6 +64,7 @@ + @@ -102,6 +103,7 @@ + @@ -114,6 +116,10 @@ MonoGame.Framework.Windows False + + {eabea510-3e53-4f19-9f0b-75c5ca9dfa3b} + MSDFData + {73e2ad5b-720b-4ef3-9b7c-55931d0ec693} FSO.UI @@ -221,6 +227,66 @@ PreserveNewest + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + PreserveNewest diff --git a/Client/Simitone/Simitone.Client/SimitoneGame.cs b/Client/Simitone/Simitone.Client/SimitoneGame.cs index 420316a..6bfbe1e 100644 --- a/Client/Simitone/Simitone.Client/SimitoneGame.cs +++ b/Client/Simitone/Simitone.Client/SimitoneGame.cs @@ -20,6 +20,7 @@ using FSO.HIT.Model; using FSO.Client; using FSO.Files; using FSO.SimAntics; +using MSDFData; namespace Simitone.Client { @@ -35,6 +36,7 @@ namespace Simitone.Client public SimitoneGame() : base() { GameFacade.Game = this; + GameThread.Game = Thread.CurrentThread; if (GameFacade.DirectX) TimedReferenceController.SetMode(CacheType.PERMANENT); Content.RootDirectory = FSOEnvironment.GFXContentDir; @@ -101,7 +103,8 @@ namespace Simitone.Client SmoothZoom = settings.SmoothZoom, SurroundingLots = settings.SurroundingLotMode, AA = settings.AntiAlias, - Directional = settings.DirectionalLight3D + Directional = settings.DirectionalLight3D, + Complex = true }; OperatingSystem os = Environment.OSVersion; @@ -204,17 +207,25 @@ namespace Simitone.Client try { GameFacade.MainFont = new FSO.Client.UI.Framework.Font(); - GameFacade.MainFont.AddSize(12, Content.Load("Fonts/Mobile_15px")); - GameFacade.MainFont.AddSize(15, Content.Load("Fonts/Mobile_20px")); - GameFacade.MainFont.AddSize(19, Content.Load("Fonts/Mobile_25px")); - GameFacade.MainFont.AddSize(37, Content.Load("Fonts/Mobile_50px")); + //GameFacade.MainFont.AddSize(12, Content.Load("Fonts/Mobile_15px")); + //GameFacade.MainFont.AddSize(15, Content.Load("Fonts/Mobile_20px")); + //GameFacade.MainFont.AddSize(19, Content.Load("Fonts/Mobile_25px")); + //GameFacade.MainFont.AddSize(37, Content.Load("Fonts/Mobile_50px")); GameFacade.EdithFont = new FSO.Client.UI.Framework.Font(); - GameFacade.EdithFont.AddSize(12, Content.Load("Fonts/Trebuchet_12px")); - GameFacade.EdithFont.AddSize(14, Content.Load("Fonts/Trebuchet_14px")); + //GameFacade.EdithFont.AddSize(12, Content.Load("Fonts/Trebuchet_12px")); + //GameFacade.EdithFont.AddSize(14, Content.Load("Fonts/Trebuchet_14px")); + + GameFacade.VectorFont = new FSO.UI.Framework.MSDFFont(Content.Load("../Fonts/mobile")); + GameFacade.EdithVectorFont = new FSO.UI.Framework.MSDFFont(Content.Load("../Fonts/trebuchet")); + GameFacade.EdithVectorFont.VectorScale = 0.366f; + GameFacade.EdithVectorFont.Height = 15; + GameFacade.EdithVectorFont.YOff = 11; + + FSO.UI.Framework.MSDFFont.MSDFEffect = Content.Load("Effects/MSDFFont"); vitaboyEffect = Content.Load("Effects/Vitaboy"+((FSOEnvironment.SoftwareDepth)?"iOS":"")); - uiLayer = new UILayer(this, Content.Load("Fonts/FreeSO_12px"), Content.Load("Fonts/FreeSO_16px")); + uiLayer = new UILayer(this); } catch (Exception e) { diff --git a/Client/Simitone/Simitone.Client/UI/Controls/UIStencilButton.cs b/Client/Simitone/Simitone.Client/UI/Controls/UIStencilButton.cs index ee46190..c85dd8e 100644 --- a/Client/Simitone/Simitone.Client/UI/Controls/UIStencilButton.cs +++ b/Client/Simitone/Simitone.Client/UI/Controls/UIStencilButton.cs @@ -18,6 +18,7 @@ namespace Simitone.Client.UI.Controls public Color HoverColor = Color.Lerp(UIStyle.Current.BtnNormal, UIStyle.Current.BtnActive, 0.5f); public Color DisabledColor = new Color(128, 128, 128, 255); public bool Shadow; + public Vector3 ShadowParam = new Vector3(3, 3, 0.25f); public float Alpha { get; set; } public UIStencilButton(Texture2D tex) : base(tex) @@ -54,7 +55,7 @@ namespace Simitone.Client.UI.Controls color = Color; break; } if (Shadow) - DrawLocalTexture(SBatch, Texture, null, new Vector2(3f, 3f), Vector2.One, Color.Black * 0.25f * Alpha); + DrawLocalTexture(SBatch, Texture, null, new Vector2(ShadowParam.X, ShadowParam.Y), Vector2.One, Color.Black * ShadowParam.Z * Alpha); DrawLocalTexture(SBatch, Texture, null, Vector2.Zero, Vector2.One, color * Alpha); } } diff --git a/Client/Simitone/Simitone.Client/UI/Model/UIIconCache.cs b/Client/Simitone/Simitone.Client/UI/Model/UIIconCache.cs index 7edb07b..31d3f22 100644 --- a/Client/Simitone/Simitone.Client/UI/Model/UIIconCache.cs +++ b/Client/Simitone/Simitone.Client/UI/Model/UIIconCache.cs @@ -63,7 +63,7 @@ namespace Simitone.Client.UI.Model HeadCamera.Target = pos2; HeadCamera.ProjectionOrigin = new Vector2(74/2, 74/2); - var HeadScene = new _3DTargetScene(GameFacade.GraphicsDevice, HeadCamera, new Point(74, 74), (GlobalSettings.Default.AntiAlias) ? 8 : 0); + var HeadScene = new _3DTargetScene(GameFacade.GraphicsDevice, HeadCamera, new Point(74, 74), (GlobalSettings.Default.AntiAlias > 0) ? 8 : 0); HeadScene.ID = "UIPieMenuHead"; m_Head.Scene = HeadScene; diff --git a/Client/Simitone/Simitone.Client/UI/Panels/Desktop/UIDesktopUCP.cs b/Client/Simitone/Simitone.Client/UI/Panels/Desktop/UIDesktopUCP.cs new file mode 100644 index 0000000..83b353e --- /dev/null +++ b/Client/Simitone/Simitone.Client/UI/Panels/Desktop/UIDesktopUCP.cs @@ -0,0 +1,489 @@ +using FSO.Client; +using FSO.Client.UI.Controls; +using FSO.Client.UI.Framework; +using FSO.Client.UI.Model; +using FSO.Common; +using FSO.Common.Rendering.Framework.Model; +using FSO.Common.Utils; +using FSO.Content; +using FSO.HIT; +using FSO.LotView.RC; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Input; +using Simitone.Client.UI.Controls; +using Simitone.Client.UI.Model; +using Simitone.Client.UI.Screens; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Simitone.Client.UI.Panels.Desktop +{ + public class UIDesktopUCP : UICachedContainer + { + public UIImage Background; + public UIImage FriendIcon; + + public UIButton LiveButton; + public UIButton BuyButton; + public UIButton BuildButton; + public UIButton OptionsButton; + + public UILabel MoneyLabel; + public UILabel TimeLabel; + public UILabel TimeLabelShadow; + public UILabel FriendsLabel; + public UILabel FriendsLabelShadow; + public UILabel FloorLabel; + public UILabel FloorLabelShadow; + + public UIButton RoofButton; + public UIButton WallsUpButton; + public UIButton WallsCutButton; + public UIButton WallsDownButton; + + public UIButton FloorUpButton; + public UIButton FloorDownButton; + + public UIButton ZoomInButton; + public UIButton ZoomOutButton; + public UIButton RotateCWButton; + public UIButton RotateCCWButton; + + public UIButton[] SpeedButtons; + + private TS1GameScreen Game; + + public Func OnModeClick; + + public string[] FloorNames = new string[] + { + "1st", + "2nd", + "3rd", + "4th", + "5th" + }; + + public static Dictionary RemapSpeed = new Dictionary() + { + {0, 4}, //pause + {1, 1}, //1 speed + {3, 2}, //2 speed + {10, 3}, //3 speed + }; + + public static Dictionary ReverseRemap = RemapSpeed.ToDictionary(x => x.Value, x => x.Key); + + public UIDesktopUCP(TS1GameScreen screen) + { + Game = screen; + var ui = Content.Get().CustomUI; + var gd = GameFacade.GraphicsDevice; + var sDir = new Vector3(0, 2, 0.5f); + + Background = new UIImage(ui.Get("d_live_bg.png").Get(gd)); + Add(Background); + + FriendIcon = new UIImage(ui.Get("d_live_friend.png").Get(gd)) { Position = new Vector2(156, 186) }; + Add(FriendIcon); + + Add(LiveButton = new UIButton(ui.Get("d_live_live.png").Get(gd)) { Position = new Vector2(15, 2) }); + Add(BuyButton = new UIButton(ui.Get("d_live_buy.png").Get(gd)) { Position = new Vector2(107, 27) }); + Add(BuildButton = new UIButton(ui.Get("d_live_build.png").Get(gd)) { Position = new Vector2(179, 80) }); + Add(OptionsButton = new UIButton(ui.Get("d_live_opt.png").Get(gd)) { Position = new Vector2(242, 165) }); + + Add(FloorUpButton = new UIStencilButton(ui.Get("d_live_floorup.png").Get(gd)) { Position = new Vector2(16, 150), Shadow = true, ShadowParam = sDir }); + Add(FloorDownButton = new UIStencilButton(ui.Get("d_live_floordown.png").Get(gd)) { Position = new Vector2(16, 192), Shadow = true, ShadowParam = sDir }); + + Add(RoofButton = new UIStencilButton(ui.Get("d_live_w1.png").Get(gd)) { Position = new Vector2(15, 111), Shadow = true, ShadowParam = sDir }); + Add(WallsUpButton = new UIStencilButton(ui.Get("d_live_w2.png").Get(gd)) { Position = new Vector2(50, 107), Shadow = true, ShadowParam = sDir }); + Add(WallsCutButton = new UIStencilButton(ui.Get("d_live_w3.png").Get(gd)) { Position = new Vector2(86, 112), Shadow = true, ShadowParam = sDir }); + Add(WallsDownButton = new UIStencilButton(ui.Get("d_live_w4.png").Get(gd)) { Position = new Vector2(117, 122), Shadow = true, ShadowParam = sDir }); + + Add(ZoomInButton = new UIStencilButton(ui.Get("d_live_zoomp.png").Get(gd)) { Position = new Vector2(87, 154) }); + Add(ZoomOutButton = new UIStencilButton(ui.Get("d_live_zoomm.png").Get(gd)) { Position = new Vector2(87, 196) }); + Add(RotateCWButton = new UIStencilButton(ui.Get("d_live_rotcw.png").Get(gd)) { Position = new Vector2(62, 175) }); + Add(RotateCCWButton = new UIStencilButton(ui.Get("d_live_rotccw.png").Get(gd)) { Position = new Vector2(114, 175) }); + + SpeedButtons = new UIButton[4]; + for (int i=0; i<4; i++) + { + Add(SpeedButtons[i] = new UIStencilButton(ui.Get($"d_live_speed{i+1}.png").Get(gd)) + { + Position = new Vector2(158 + 30 * i, 246), + Shadow = true, + ShadowParam = sDir + }); + var speed = i + 1; + SpeedButtons[i].OnButtonClick += (btn) => + { + SwitchSpeed(speed); + }; + } + + var largeStyle = TextStyle.DefaultLabel.Clone(); + largeStyle.Size = 15; + largeStyle.Color = UIStyle.Current.DialogTitle; + + var whiteStyle = TextStyle.DefaultLabel.Clone(); + whiteStyle.Size = 12; + whiteStyle.Color = UIStyle.Current.Text; + + var shadowStyle = TextStyle.DefaultLabel.Clone(); + shadowStyle.Size = 12; + shadowStyle.Color = Color.Black * 0.5f; + + var friendStyle = TextStyle.DefaultLabel.Clone(); + friendStyle.Size = 12; + friendStyle.Color = UIStyle.Current.SecondaryText; + + Add(MoneyLabel = new UILabel() + { + Position = new Vector2(7, 241), + Size = new Vector2(138, 30), + Alignment = TextAlignment.Middle | TextAlignment.Center, + Caption = "$0", + CaptionStyle = largeStyle + }); + + Add(TimeLabelShadow = new UILabel() + { + Position = new Vector2(157, 221+2), + Size = new Vector2(114, 16), + Alignment = TextAlignment.Middle | TextAlignment.Center, + Caption = "12:00AM", + CaptionStyle = shadowStyle + }); + + Add(TimeLabel = new UILabel() + { + Position = new Vector2(157, 221), + Size = new Vector2(114, 16), + Alignment = TextAlignment.Middle | TextAlignment.Center, + Caption = "12:00AM", + CaptionStyle = whiteStyle + }); + + Add(FriendsLabelShadow = new UILabel() + { + Position = new Vector2(176, 184+2), + Alignment = TextAlignment.Top | TextAlignment.Left, + Caption = "0", + CaptionStyle = shadowStyle + }); + + Add(FriendsLabel = new UILabel() + { + Position = new Vector2(176, 184), + Alignment = TextAlignment.Top | TextAlignment.Left, + Caption = "0", + CaptionStyle = friendStyle + }); + + Add(FloorLabelShadow = new UILabel() + { + Position = new Vector2(22, 184+2), + Size = new Vector2(24, 15), + Alignment = TextAlignment.Center | TextAlignment.Middle, + Caption = "1st", + CaptionStyle = shadowStyle + }); + + Add(FloorLabel = new UILabel() + { + Position = new Vector2(22, 184), + Size = new Vector2(24, 15), + Alignment = TextAlignment.Center | TextAlignment.Middle, + Caption = "1st", + CaptionStyle = whiteStyle + }); + + RoofButton.OnButtonClick += (btn) => SetCut(3); + WallsUpButton.OnButtonClick += (btn) => SetCut(2); + WallsCutButton.OnButtonClick += (btn) => SetCut(1); + WallsDownButton.OnButtonClick += (btn) => SetCut(0); + + LiveButton.OnButtonClick += (btn) => OnModeClick?.Invoke(UIMainPanelMode.LIVE); + BuyButton.OnButtonClick += (btn) => OnModeClick?.Invoke(UIMainPanelMode.BUY); + BuildButton.OnButtonClick += (btn) => OnModeClick?.Invoke(UIMainPanelMode.BUILD); + OptionsButton.OnButtonClick += (btn) => OnModeClick?.Invoke(UIMainPanelMode.OPTIONS); + + ZoomInButton.OnButtonClick += ZoomControl; + ZoomOutButton.OnButtonClick += ZoomControl; + RotateCWButton.OnButtonClick += RotateClockwise; + RotateCCWButton.OnButtonClick += RotateCounterClockwise; + + FloorUpButton.OnButtonClick += (b) => { if (Game.Level < 5) Game.Level++; }; + FloorDownButton.OnButtonClick += (b) => { if (Game.Level > 1) Game.Level--; }; + + Size = new Vector2(Background.Width, Background.Height); + + UpdateBuildBuy(); + UpdateMoneyDisplay(); + UpdateZoomButton(); + } + + private void ZoomControl(UIElement button) + { + if (FSOEnvironment.Enable3D) return; + Game.ZoomLevel = (Game.ZoomLevel + ((button == ZoomInButton) ? -1 : 1)); + } + + private void RotateCounterClockwise(UIElement button) + { + if (FSOEnvironment.Enable3D) return; + var newRot = (Game.Rotation - 1); + if (newRot < 0) newRot = 3; + Game.Rotation = newRot; + } + + private void RotateClockwise(UIElement button) + { + if (FSOEnvironment.Enable3D) return; + Game.Rotation = (Game.Rotation + 1) % 4; + } + + private string LastClock = ""; + private int LastSpeed = -1; + private int LastCut; + private int LastMoney = 0; + private sbyte LastFloor = 0; + private int LastZoom; + public override void Update(UpdateState state) + { + var vm = Game.vm; + var min = vm.Context.Clock.Minutes; + var hour = vm.Context.Clock.Hours; + + string suffix = (hour > 11) ? "PM" : "AM"; + hour %= 12; + if (hour == 0) hour = 12; + + var text = hour.ToString() + ":" + min.ToString().PadLeft(2, '0') + " " + suffix; + + if (text != LastClock) + { + LastClock = text; + TimeLabel.Caption = text; + TimeLabelShadow.Caption = text; + } + + if (Game.Level != LastFloor) + { + LastFloor = Game.Level; + FloorLabel.Caption = FloorNames[LastFloor - 1]; + FloorLabelShadow.Caption = FloorNames[LastFloor - 1]; + FloorDownButton.Disabled = LastFloor == 1; + FloorUpButton.Disabled = LastFloor == 5; + } + + var speed = RemapSpeed[Math.Max(0, vm.SpeedMultiplier)]; + if (speed != LastSpeed) + { + /* + if (speed == 4) InnerBg.Texture = Content.Get().CustomUI.Get("clockinbg_pause.png").Get(GameFacade.GraphicsDevice); + else if (LastSpeed == 4) InnerBg.Texture = Content.Get().CustomUI.Get("clockinbg.png").Get(GameFacade.GraphicsDevice); + */ + + for (int i = 0; i < 4; i++) + { + SpeedButtons[i].Selected = (i + 1 == speed); + } + LastSpeed = speed; + } + + if (LastCut != Game.LotControl.WallsMode) + { + LastCut = Game.LotControl.WallsMode; + var ui = Content.Get().CustomUI; + + RoofButton.Selected = LastCut == 3; + WallsUpButton.Selected = LastCut == 2; + WallsCutButton.Selected = LastCut == 1; + WallsDownButton.Selected = LastCut == 0; + } + + var money = GetMoney(); + if (LastMoney != money) + { + DisplayChange(money - LastMoney); + LastMoney = money; + UpdateMoneyDisplay(); + } + + if (LastZoom != Game.ZoomLevel) UpdateZoomButton(); + + base.Update(state); + + //KEY SHORTCUTS + var keys = state.NewKeys; + var nofocus = true; + if (Game.InLot) + { + if (keys.Contains(Keys.F1) && !LiveButton.Disabled) OnModeClick?.Invoke(UIMainPanelMode.LIVE); + if (keys.Contains(Keys.F2) && !BuyButton.Disabled) OnModeClick?.Invoke(UIMainPanelMode.BUY); + if (keys.Contains(Keys.F3) && !BuildButton.Disabled) OnModeClick?.Invoke(UIMainPanelMode.BUILD); + if (keys.Contains(Keys.F4)) OnModeClick?.Invoke(UIMainPanelMode.OPTIONS); // Options Panel + + if (nofocus) + { + if (FSOEnvironment.Enable3D) + { + //if the zoom or rotation buttons are down, gradually change their values. + if (RotateCWButton.IsDown || state.KeyboardState.IsKeyDown(Keys.OemPeriod)) ((WorldStateRC)Game.vm.Context.World.State).RotationX += 2f / FSOEnvironment.RefreshRate; + if (RotateCCWButton.IsDown || state.KeyboardState.IsKeyDown(Keys.OemComma)) ((WorldStateRC)Game.vm.Context.World.State).RotationX -= 2f / FSOEnvironment.RefreshRate; + if (ZoomInButton.IsDown || (state.KeyboardState.IsKeyDown(Keys.OemPlus) && !state.CtrlDown)) Game.LotControl.TargetZoom = Math.Max(0.25f, Math.Min(Game.LotControl.TargetZoom + 1f / FSOEnvironment.RefreshRate, 2)); + if (ZoomOutButton.IsDown || (state.KeyboardState.IsKeyDown(Keys.OemMinus) && !state.CtrlDown)) Game.LotControl.TargetZoom = Math.Max(0.25f, Math.Min(Game.LotControl.TargetZoom - 1f / FSOEnvironment.RefreshRate, 2)); + } + else + { + if (keys.Contains(Keys.OemPlus) && !state.CtrlDown && !ZoomInButton.Disabled) { Game.ZoomLevel -= 1; UpdateZoomButton(); } + if (keys.Contains(Keys.OemMinus) && !state.CtrlDown && !ZoomOutButton.Disabled) { Game.ZoomLevel += 1; UpdateZoomButton(); } + if (keys.Contains(Keys.OemComma)) RotateCounterClockwise(null); + if (keys.Contains(Keys.OemPeriod)) RotateClockwise(null); + } + if (keys.Contains(Keys.PageDown)) { if (Game.Level > 1) Game.Level--; } + if (keys.Contains(Keys.PageUp)) { if (Game.Level < 5) Game.Level++; } + if (keys.Contains(Keys.Home)) UpdateWallsViewKeyHandler(1); + if (keys.Contains(Keys.End)) UpdateWallsViewKeyHandler(0); + } + } + } + + private void UpdateWallsViewKeyHandler(int type) + { + var mode = Game.LotControl.WallsMode; + switch (type) + { + case 0: + if (mode > 0) Game.LotControl.WallsMode -= 1; + break; + case 1: + if (mode < 3) Game.LotControl.WallsMode += 1; + break; + } + } + + public void UpdateZoomButton() + { + ZoomInButton.Disabled = (!Game.InLot) || (!FSOEnvironment.Enable3D && (Game.ZoomLevel == 1)); + ZoomOutButton.Disabled = (!FSOEnvironment.Enable3D && (Game.ZoomLevel == 3)); + LastZoom = Game.ZoomLevel; + } + + public void SetMode(UIMainPanelMode mode) + { + LiveButton.Selected = mode == UIMainPanelMode.LIVE; + BuyButton.Selected = mode == UIMainPanelMode.BUY; + BuildButton.Selected = mode == UIMainPanelMode.BUILD; + OptionsButton.Selected = mode == UIMainPanelMode.OPTIONS; + } + + public void DisplayChange(int change) + { + var newLabel = new UILabel(); + newLabel.Position = MoneyLabel.Position; + newLabel.Y += -20f; + newLabel.CaptionStyle = MoneyLabel.CaptionStyle.Clone(); + newLabel.CaptionStyle.Size = 15; + newLabel.CaptionStyle.Color = (change > 0) ? UIStyle.Current.Text : UIStyle.Current.NegMoney; + newLabel.Alignment = FSO.Client.UI.Framework.TextAlignment.Right | FSO.Client.UI.Framework.TextAlignment.Middle; + newLabel.Size = MoneyLabel.Size; + + newLabel.Caption = ((change > 0) ? "+" : "-") + "§" + Math.Abs(change); + DynamicOverlay.Add(newLabel); + + GameFacade.Screens.Tween.To(newLabel, 1.5f, new Dictionary() { { "Y", newLabel.Y-30 }, { "Opacity", 0 } }); + GameThread.SetTimeout(() => { Remove(newLabel); }, 1500); + } + + private void UpdateMoneyDisplay() + { + MoneyLabel.Caption = "§" + LastMoney.ToString("##,#0"); + MoneyLabel.Visible = Game.vm.GetGlobalValue(32) == 0; + } + + private int GetMoney() + { + return Game.ActiveFamily?.Budget ?? 0; + } + + public void UpdateBuildBuy() + { + var bbEnable = Game.vm.Context.Architecture.BuildBuyEnabled; + BuyButton.Disabled = !bbEnable; + BuildButton.Disabled = !bbEnable; + LiveButton.Disabled = Game.vm.GetGlobalValue(32) != 0; + } + + public void SetCut(int cut) + { + Game.LotControl.World.State.DrawRoofs = (cut == 3); + Game.LotControl.WallsMode = cut; + } + + public void SwitchSpeed(int speed) + { + var vm = Game.vm; + if (vm.SpeedMultiplier == -1) return; + switch (vm.SpeedMultiplier) + { + case 0: + switch (speed) + { + case 1: + HITVM.Get().PlaySoundEvent(UISounds.SpeedPTo1); break; + case 2: + HITVM.Get().PlaySoundEvent(UISounds.SpeedPTo2); break; + case 3: + HITVM.Get().PlaySoundEvent(UISounds.SpeedPTo3); break; + } + break; + case 1: + switch (speed) + { + case 4: + HITVM.Get().PlaySoundEvent(UISounds.Speed1ToP); break; + case 2: + HITVM.Get().PlaySoundEvent(UISounds.Speed1To2); break; + case 3: + HITVM.Get().PlaySoundEvent(UISounds.Speed1To3); break; + } + break; + case 3: + switch (speed) + { + case 4: + HITVM.Get().PlaySoundEvent(UISounds.Speed2ToP); break; + case 1: + HITVM.Get().PlaySoundEvent(UISounds.Speed2To1); break; + case 3: + HITVM.Get().PlaySoundEvent(UISounds.Speed2To3); break; + } + break; + case 10: + switch (speed) + { + case 4: + HITVM.Get().PlaySoundEvent(UISounds.Speed3ToP); break; + case 1: + HITVM.Get().PlaySoundEvent(UISounds.Speed3To1); break; + case 2: + HITVM.Get().PlaySoundEvent(UISounds.Speed3To2); break; + } + break; + } + + switch (speed) + { + case 4: vm.SpeedMultiplier = 0; break; + case 1: vm.SpeedMultiplier = 1; break; + case 2: vm.SpeedMultiplier = 3; break; + case 3: vm.SpeedMultiplier = 10; break; + } + } + } +} diff --git a/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UIBuyBrowsePanel.cs b/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UIBuyBrowsePanel.cs index b01f65b..9771401 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UIBuyBrowsePanel.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UIBuyBrowsePanel.cs @@ -777,9 +777,9 @@ namespace Simitone.Client.UI.Panels.LiveSubpanels public override void GameResized() { - CatContainer.Size = new Vector2(UIScreen.Current.ScreenWidth - 342, 128); - if (ChoosingSub) Reset(); base.GameResized(); + CatContainer.Size = new Vector2(Size.X, 128); + if (ChoosingSub) Reset(); } public override void Update(UpdateState state) diff --git a/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UISubpanel.cs b/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UISubpanel.cs index a1c27ba..436b252 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UISubpanel.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/LiveSubpanels/UISubpanel.cs @@ -19,7 +19,7 @@ namespace Simitone.Client.UI.Panels.LiveSubpanels { Opacity = 0; var screenWidth = GameFacade.Screens.CurrentUIScreen.ScreenWidth; - Size = new Vector2(screenWidth-342, 128); + Size = new Vector2(screenWidth - (342 + (game.Desktop?100:0)), 128); GameFacade.Screens.Tween.To(this, 0.3f, new Dictionary() { { "Opacity", 1f } }); Game = game; } @@ -27,7 +27,7 @@ namespace Simitone.Client.UI.Panels.LiveSubpanels public override void GameResized() { var screenWidth = UIScreen.Current.ScreenWidth; - Size = new Vector2(screenWidth - 342, 128); + Size = new Vector2(screenWidth - (342 + (Game.Desktop ? 100 : 0)), 128); base.GameResized(); } diff --git a/Client/Simitone/Simitone.Client/UI/Panels/LotControls/UISelectSkinAlert.cs b/Client/Simitone/Simitone.Client/UI/Panels/LotControls/UISelectSkinAlert.cs index 68ef40b..9b577eb 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/LotControls/UISelectSkinAlert.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/LotControls/UISelectSkinAlert.cs @@ -126,7 +126,7 @@ namespace Simitone.Client.UI.Panels.LotControls } Camera = new BasicCamera(GameFacade.GraphicsDevice, new Vector3(5, 1, 0), new Vector3(0, 0, 0), new Vector3(0, 1, 0)); Camera.NearPlane = 0.001f; - Scene = new _3DTargetScene(GameFacade.GraphicsDevice, Camera, new Point(1030, 500), GlobalSettings.Default.AntiAlias?8:0); + Scene = new _3DTargetScene(GameFacade.GraphicsDevice, Camera, new Point(1030, 500), (GlobalSettings.Default.AntiAlias > 0)?8:0); Scene.Initialize(GameFacade.Scenes); InitializeLot(); diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UILoadProgress.cs b/Client/Simitone/Simitone.Client/UI/Panels/UILoadProgress.cs index 6151e77..0c7ed8d 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UILoadProgress.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UILoadProgress.cs @@ -17,6 +17,20 @@ namespace Simitone.Client.UI.Panels { public int[] Divisors = new int[] { + 237, + 328, + 398, + 456, + 507, + 556, + 609, + 680, + 731, + 781, + 832, + 920 + + /* 140, 243, 278, @@ -30,6 +44,7 @@ namespace Simitone.Client.UI.Panels 723, 814, 884 + */ }; public float OddTransition { get; set; } diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UILotControl.cs b/Client/Simitone/Simitone.Client/UI/Panels/UILotControl.cs index 7e02632..feaac72 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UILotControl.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UILotControl.cs @@ -327,13 +327,12 @@ namespace Simitone.Client.UI.Panels private void DialogResponse(byte code) { - if (BlockingDialog == null || !(BlockingDialog is UIMobileAlert) || ActiveEntity == null) return; + if (BlockingDialog == null || !(BlockingDialog is UIMobileAlert)) return; BlockingDialog.Close(); var ma = (UIMobileAlert)BlockingDialog; LastDialogID = 0; vm.SendCommand(new VMNetDialogResponseCmd { - ActorUID = ActiveEntity.PersistID, ResponseCode = code, ResponseText = (ma.ResponseText == null) ? "" : ma.ResponseText }); @@ -671,6 +670,20 @@ namespace Simitone.Client.UI.Panels //MouseCutRect = new Rectangle(0,0,0,0); } + public void SetTargetZoom(WorldZoom zoom) + { + switch (zoom) + { + case WorldZoom.Near: + TargetZoom = 1f; break; + case WorldZoom.Medium: + TargetZoom = 0.5f; break; + case WorldZoom.Far: + TargetZoom = 0.25f; break; + } + LastZoom = World.State.Zoom; + } + public override void Draw(UISpriteBatch batch) { //DrawLocalTexture(batch, World.State.Light.LightMap, new Rectangle(0,0, World.State.Light.LightMap.Width/3, World.State.Light.LightMap.Height/2), new Vector2()); @@ -681,6 +694,7 @@ namespace Simitone.Client.UI.Panels base.Draw(batch); } + private WorldZoom LastZoom; public override void Update(UpdateState state) { base.Update(state); @@ -695,6 +709,13 @@ namespace Simitone.Client.UI.Panels } else { + if (World.State.Zoom != LastZoom) + { + //zoom has been changed by something else. inherit the value + SetTargetZoom(World.State.Zoom); + LastZoom = World.State.Zoom; + } + float BaseScale; WorldZoom targetZoom; if (TargetZoom < 0.5f) diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UIMainPanel.cs b/Client/Simitone/Simitone.Client/UI/Panels/UIMainPanel.cs index 605ff64..6cf5f4e 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UIMainPanel.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UIMainPanel.cs @@ -110,32 +110,39 @@ namespace Simitone.Client.UI.Panels var ui = Content.Get().CustomUI; Div = ui.Get("panel_div.png").Get(GameFacade.GraphicsDevice); - FloorUpBtn = new UIStencilButton(ui.Get("level_up.png").Get(GameFacade.GraphicsDevice)); - FloorUpBtn.Position = new Vector2(80, 10); - FloorUpBtn.OnButtonClick += (b) => { if (Game.Level < 5) Game.Level++; }; - Add(FloorUpBtn); + if (!Game.Desktop) + { + FloorUpBtn = new UIStencilButton(ui.Get("level_up.png").Get(GameFacade.GraphicsDevice)); + FloorUpBtn.Position = new Vector2(80, 10); + FloorUpBtn.OnButtonClick += (b) => { if (Game.Level < 5) Game.Level++; }; + Add(FloorUpBtn); - FloorDownBtn = new UIStencilButton(ui.Get("level_down.png").Get(GameFacade.GraphicsDevice)); - FloorDownBtn.Position = new Vector2(80, 68); - FloorDownBtn.OnButtonClick += (b) => { if (Game.Level > 1) Game.Level--; }; - Add(FloorDownBtn); + FloorDownBtn = new UIStencilButton(ui.Get("level_down.png").Get(GameFacade.GraphicsDevice)); + FloorDownBtn.Position = new Vector2(80, 68); + FloorDownBtn.OnButtonClick += (b) => { if (Game.Level > 1) Game.Level--; }; + Add(FloorDownBtn); - FloorLabel = new UILabel(); - FloorLabel.CaptionStyle = FloorLabel.CaptionStyle.Clone(); - FloorLabel.CaptionStyle.Size = 15; - FloorLabel.CaptionStyle.Color = UIStyle.Current.Text; - FloorLabel.Alignment = TextAlignment.Middle | TextAlignment.Center; - FloorLabel.Position = new Vector2(80, 64); - FloorLabel.Size = new Vector2(51, 18); + FloorLabel = new UILabel(); + FloorLabel.CaptionStyle = FloorLabel.CaptionStyle.Clone(); + FloorLabel.CaptionStyle.Size = 15; + FloorLabel.CaptionStyle.Color = UIStyle.Current.Text; + FloorLabel.Alignment = TextAlignment.Middle | TextAlignment.Center; + FloorLabel.Position = new Vector2(80, 64); + FloorLabel.Size = new Vector2(51, 18); - FloorLabelShadow = new UILabel(); - FloorLabelShadow.CaptionStyle = FloorLabel.CaptionStyle.Clone(); - FloorLabelShadow.Alignment = TextAlignment.Middle | TextAlignment.Center; - FloorLabelShadow.Position = new Vector2(83, 67); - FloorLabelShadow.Size = new Vector2(51, 18); - FloorLabelShadow.CaptionStyle.Color = Color.Black * 0.5f; - Add(FloorLabelShadow); - Add(FloorLabel); + FloorLabelShadow = new UILabel(); + FloorLabelShadow.CaptionStyle = FloorLabel.CaptionStyle.Clone(); + FloorLabelShadow.Alignment = TextAlignment.Middle | TextAlignment.Center; + FloorLabelShadow.Position = new Vector2(83, 67); + FloorLabelShadow.Size = new Vector2(51, 18); + FloorLabelShadow.CaptionStyle.Color = Color.Black * 0.5f; + Add(FloorLabelShadow); + Add(FloorLabel); + + Divider = new UIImage(ui.Get("divider.png").Get(GameFacade.GraphicsDevice)); + Divider.Position = new Vector2(146, 29); + Add(Divider); + } HideButton = new UIStencilButton(ui.Get("panel_hide.png").Get(GameFacade.GraphicsDevice)); HideButton.X = Game.ScreenWidth - (50 + 64 + 15); @@ -143,12 +150,8 @@ namespace Simitone.Client.UI.Panels HideButton.OnButtonClick += (b) => { Close(); }; Add(HideButton); - Divider = new UIImage(ui.Get("divider.png").Get(GameFacade.GraphicsDevice)); - Divider.Position = new Vector2(146, 29); - Add(Divider); - Switcher = new UICategorySwitcher(); - Switcher.Position = new Vector2(164, 0); + Switcher.Position = new Vector2(164 - (Game.Desktop ? 16 : 0), 0); Switcher.InitCategories(LiveCategories); Switcher.OnCategorySelect += Switcher_OnCategorySelect; Switcher.OnOpen += Switcher_OnOpen; @@ -159,7 +162,7 @@ namespace Simitone.Client.UI.Panels fade.Opacity = 0; } - Game.LotControl.QueryPanel.Position = new Vector2(53, -5); + Game.LotControl.QueryPanel.Position = new Vector2(53 + (Game.Desktop ? 25 : 0), -5); Add(Game.LotControl.QueryPanel); Game.LotControl.PickupPanel.Opacity = 0; Add(Game.LotControl.PickupPanel); @@ -312,8 +315,18 @@ namespace Simitone.Client.UI.Panels public UIElement[] GetFadeables() { - return new UIElement[] + if (Game.Desktop) { + return new UIElement[] + { + Switcher.MainButton, + HideButton + }; + } + else + { + return new UIElement[] + { FloorUpBtn, FloorDownBtn, FloorLabel, @@ -321,7 +334,8 @@ namespace Simitone.Client.UI.Panels Switcher.MainButton, Divider, HideButton - }; + }; + } } public override void Draw(UISpriteBatch batch) @@ -347,13 +361,16 @@ namespace Simitone.Client.UI.Panels base.Update(state); Visible = _CurWidth > 0; - if (Game.Level != LastFloor) + if (!Game.Desktop) { - LastFloor = Game.Level; - FloorLabel.Caption = FloorNames[LastFloor - 1]; - FloorLabelShadow.Caption = FloorNames[LastFloor - 1]; - FloorDownBtn.Disabled = LastFloor == 1; - FloorUpBtn.Disabled = LastFloor == 5; + if (Game.Level != LastFloor) + { + LastFloor = Game.Level; + FloorLabel.Caption = FloorNames[LastFloor - 1]; + FloorLabelShadow.Caption = FloorNames[LastFloor - 1]; + FloorDownBtn.Disabled = LastFloor == 1; + FloorUpBtn.Disabled = LastFloor == 5; + } } Game.LotControl.PickupPanel.Visible = Game.LotControl.PickupPanel.Opacity > 0; @@ -370,7 +387,7 @@ namespace Simitone.Client.UI.Panels public void Open() { Visible = true; - GameFacade.Screens.Tween.To(this, 0.5f, new Dictionary() { { "CurWidth", GameFacade.Screens.CurrentUIScreen.ScreenWidth-(64+15)} }, TweenQuad.EaseOut); + GameFacade.Screens.Tween.To(this, 0.5f, new Dictionary() { { "CurWidth", GameFacade.Screens.CurrentUIScreen.ScreenWidth-X} }, TweenQuad.EaseOut); foreach (var fade in GetFadeables()) { GameFacade.Screens.Tween.To(fade, 0.3f, new Dictionary() { { "Opacity", 1f } }); @@ -420,8 +437,8 @@ namespace Simitone.Client.UI.Panels public override void GameResized() { base.GameResized(); - if (PanelActive) CurWidth = Game.ScreenWidth - (64 + 15); - HideButton.X = Game.ScreenWidth - (50 + 64 + 15); + if (PanelActive) CurWidth = Game.ScreenWidth - X; + HideButton.X = Game.ScreenWidth - (50 + X); } } diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UIObjectHolder.cs b/Client/Simitone/Simitone.Client/UI/Panels/UIObjectHolder.cs index 5172148..e3c1a7e 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UIObjectHolder.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UIObjectHolder.cs @@ -76,7 +76,7 @@ namespace Simitone.Client.UI.Panels for (int i = 0; i < Group.Objects.Count; i++) { var target = Group.Objects[i]; - target.SetRoom(65534); + target.SetRoom(65535); if (target is VMGameObject) ((ObjectComponent)target.WorldUI).ForceDynamic = true; CursorTiles[i] = vm.Context.CreateObjectInstance(0x00000437, new LotTilePos(target.Position), FSO.LotView.Model.Direction.NORTH, true).Objects[0]; CursorTiles[i].SetPosition(target.Position, Direction.NORTH, vm.Context); diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UIPieMenu.cs b/Client/Simitone/Simitone.Client/UI/Panels/UIPieMenu.cs index b8367f4..0d6ddd5 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UIPieMenu.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UIPieMenu.cs @@ -60,6 +60,7 @@ namespace Simitone.Client.UI.Panels this.ButtonStyle = new TextStyle { Font = GameFacade.MainFont, + VFont = GameFacade.VectorFont, Size = 12, Color = new Color(0xA5, 0xC3, 0xD6), SelectedColor = new Color(0x00, 0xFF, 0xFF), @@ -133,7 +134,7 @@ namespace Simitone.Client.UI.Panels HeadCamera.Position = new Vector3(0, pos2.Y, 12.5f); HeadCamera.Target = pos2; - HeadScene = new _3DTargetScene(GameFacade.GraphicsDevice, HeadCamera, new Point((int)(200 * TrueScale), (int)(200 * TrueScale)), (GlobalSettings.Default.AntiAlias) ? 8 : 0); + HeadScene = new _3DTargetScene(GameFacade.GraphicsDevice, HeadCamera, new Point((int)(200 * TrueScale), (int)(200 * TrueScale)), (GlobalSettings.Default.AntiAlias > 0) ? 8 : 0); HeadScene.ID = "UIPieMenuHead"; m_Head.Scene = HeadScene; diff --git a/Client/Simitone/Simitone.Client/UI/Panels/UISimitoneFrontend.cs b/Client/Simitone/Simitone.Client/UI/Panels/UISimitoneFrontend.cs index 55d16ac..1af29ff 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/UISimitoneFrontend.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/UISimitoneFrontend.cs @@ -16,6 +16,7 @@ using Microsoft.Xna.Framework.Input; using FSO.SimAntics; using FSO.SimAntics.NetPlay.Model.Commands; using FSO.HIT; +using Simitone.Client.UI.Panels.Desktop; namespace Simitone.Client.UI.Panels { @@ -29,6 +30,7 @@ namespace Simitone.Client.UI.Panels public UIMainPanel MainPanel; public UIStencilButton ExtendPanelBtn; public UIModeSwitcher ModeSwitcher; + public UIDesktopUCP DesktopUCP; public bool PanelActive; public int LastCut = 0; @@ -36,48 +38,62 @@ namespace Simitone.Client.UI.Panels public UISimitoneFrontend(TS1GameScreen screen) { var ui = Content.Get().CustomUI; - - CutBtn = new UITwoStateButton(ui.Get("cut_btn_down.png").Get(GameFacade.GraphicsDevice)); - CutBtn.X = screen.ScreenWidth - (256 + 15); - CutBtn.Y = 15; - CutBtn.OnButtonClick += CutButton; - Add(CutBtn); - - Clock = new UIClockPanel(screen.vm); - Clock.X = screen.ScreenWidth - (334 + 15); - Clock.Y = 15; Game = screen; - Add(Clock); - Money = new UIMoneyPanel(screen); - Money.Position = new Vector2(15, screen.ScreenHeight - 172); - Add(Money); + if (!Game.Desktop) + { + CutBtn = new UITwoStateButton(ui.Get("cut_btn_down.png").Get(GameFacade.GraphicsDevice)); + CutBtn.X = screen.ScreenWidth - (256 + 15); + CutBtn.Y = 15; + CutBtn.OnButtonClick += CutButton; + Add(CutBtn); + + Clock = new UIClockPanel(screen.vm); + Clock.X = screen.ScreenWidth - (334 + 15); + Clock.Y = 15; + Add(Clock); + + Money = new UIMoneyPanel(screen); + Money.Position = new Vector2(15, screen.ScreenHeight - 172); + Add(Money); + + ExtendPanelBtn = new UIStencilButton(ui.Get("panel_expand.png").Get(GameFacade.GraphicsDevice)); + ExtendPanelBtn.OnButtonClick += ExpandClicked; + Add(ExtendPanelBtn); + } MainPanel = new UIMainPanel(screen); MainPanel.OnEndSelect += OnEndSelect; MainPanel.ModeChanged += ModeChanged; Add(MainPanel); - ExtendPanelBtn = new UIStencilButton(ui.Get("panel_expand.png").Get(GameFacade.GraphicsDevice)); - ExtendPanelBtn.OnButtonClick += ExpandClicked; - Add(ExtendPanelBtn); - - var mode = new UIModeSwitcher(screen); - mode.Position = new Vector2(64 + 15, screen.ScreenHeight - (64 + 15)); - mode.OnModeClick += LiveButtonClicked; - Add(mode); - ModeSwitcher = mode; - - ExtendPanelBtn.Position = new Vector2(mode.X + 54, mode.Y - 50); + if (Game.Desktop) + { + DesktopUCP = new UIDesktopUCP(screen); + DesktopUCP.Position = new Vector2(15, screen.ScreenHeight - (278 + 15)); + DesktopUCP.OnModeClick += LiveButtonClicked; + Add(DesktopUCP); + } + else + { + var mode = new UIModeSwitcher(screen); + mode.Position = new Vector2(64 + 15, screen.ScreenHeight - (64 + 15)); + mode.OnModeClick += LiveButtonClicked; + Add(mode); + ModeSwitcher = mode; + ExtendPanelBtn.Position = new Vector2(mode.X + 54, mode.Y - 50); + } MainPanel.X = 64 + 15; - MainPanel.Y = mode.Y - 64; + if (Game.Desktop) MainPanel.X += 100; + MainPanel.GameResized(); + MainPanel.Y = screen.ScreenHeight - (128 + 15); MainPanel.Visible = false; if (Game.vm.GetGlobalValue(32) > 0) { MainPanel.SetMode(UIMainPanelMode.BUY); - ModeSwitcher.EndSwitch(MainPanel.Mode); + ModeSwitcher?.EndSwitch(MainPanel.Mode); MainPanel.Open(); } else { @@ -87,7 +103,8 @@ namespace Simitone.Client.UI.Panels private void ModeChanged(UIMainPanelMode obj) { - Clock.SetHidden(obj != UIMainPanelMode.LIVE); + Clock?.SetHidden(obj != UIMainPanelMode.LIVE); + DesktopUCP?.SetMode(obj); var lotType = MainPanel.GetLotType(true); var hit = FSO.HIT.HITVM.Get(); switch (obj) @@ -140,13 +157,15 @@ namespace Simitone.Client.UI.Panels private bool LiveButtonClicked(UIMainPanelMode mode) { - if (MainPanel.PanelActive) + var deskAuto = Game.Desktop && (mode != UIMainPanelMode.LIVE || MainPanel.Mode != UIMainPanelMode.LIVE); + if (MainPanel.PanelActive || deskAuto) { - if (MainPanel.ShowingSelect) + if (MainPanel.ShowingSelect || deskAuto) { + if (!MainPanel.PanelActive) MainPanel.Open(); //switch to the target mode MainPanel.SetMode(mode); - MainPanel.SwitchAvatar.Kill(); + MainPanel.SwitchAvatar?.Kill(); return false; } else @@ -169,7 +188,7 @@ namespace Simitone.Client.UI.Panels private void OnEndSelect() { - ModeSwitcher.EndSwitch(MainPanel.Mode); + ModeSwitcher?.EndSwitch(MainPanel.Mode); } private void CutButton(UIElement button) @@ -219,45 +238,54 @@ namespace Simitone.Client.UI.Panels } base.Update(state); - if (LastCut != Game.LotControl.WallsMode) + if (!Game.Desktop) { - LastCut = Game.LotControl.WallsMode; - var ui = Content.Get().CustomUI; - string cutImg = "cut_btn_down.png"; - switch (LastCut) + if (LastCut != Game.LotControl.WallsMode) { - case 1: - cutImg = "cut_btn_away.png"; break; - case 2: - cutImg = "cut_btn_up.png"; break; - case 3: - cutImg = "cut_btn_roof.png"; break; + LastCut = Game.LotControl.WallsMode; + var ui = Content.Get().CustomUI; + string cutImg = "cut_btn_down.png"; + switch (LastCut) + { + case 1: + cutImg = "cut_btn_away.png"; break; + case 2: + cutImg = "cut_btn_up.png"; break; + case 3: + cutImg = "cut_btn_roof.png"; break; + } + CutBtn.Texture = ui.Get(cutImg).Get(GameFacade.GraphicsDevice); } - CutBtn.Texture = ui.Get(cutImg).Get(GameFacade.GraphicsDevice); + if (Clock.TweenHook != ClockTween) + { + ClockTween = Clock.TweenHook; + CutBtn.X = Game.ScreenWidth - (256 + (138f * ClockTween) + 15); + if (CutPanel != null) CutPanel.X = CutBtn.X - 39; + } + ModeSwitcher.LiveButton.Switching = MainPanel.ShowingSelect; + ExtendPanelBtn.Visible = !MainPanel.PanelActive; } - if (Clock.TweenHook != ClockTween) - { - ClockTween = Clock.TweenHook; - CutBtn.X = Game.ScreenWidth - (256 + (138f * ClockTween) + 15); - if (CutPanel != null) CutPanel.X = CutBtn.X - 39; - } - ModeSwitcher.LiveButton.Switching = MainPanel.ShowingSelect; - ExtendPanelBtn.Visible = !MainPanel.PanelActive; } public override void GameResized() { base.GameResized(); - CutBtn.X = Game.ScreenWidth - (256 + (138f * ClockTween) + 15); - if (CutPanel != null) CutPanel.X = CutBtn.X - 39; - Clock.X = Game.ScreenWidth - (334 + 15); - Clock.Y = 15; - - Money.Position = new Vector2(15, Game.ScreenHeight - 172); - var mode = ModeSwitcher; - mode.Position = new Vector2(64 + 15, Game.ScreenHeight - (64 + 15)); - ExtendPanelBtn.Position = new Vector2(mode.X + 54, mode.Y - 50); - MainPanel.Y = mode.Y - 64; + if (!Game.Desktop) + { + CutBtn.X = Game.ScreenWidth - (256 + (138f * ClockTween) + 15); + if (CutPanel != null) CutPanel.X = CutBtn.X - 39; + Clock.X = Game.ScreenWidth - (334 + 15); + Clock.Y = 15; + Money.Position = new Vector2(15, Game.ScreenHeight - 172); + var mode = ModeSwitcher; + mode.Position = new Vector2(64 + 15, Game.ScreenHeight - (64 + 15)); + ExtendPanelBtn.Position = new Vector2(mode.X + 54, mode.Y - 50); + } + else + { + DesktopUCP.Position = new Vector2(15, Game.ScreenHeight - (278 + 15)); + } + MainPanel.Y = Game.ScreenHeight - (128 + 15); } } } diff --git a/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIHeadlineRenderer.cs b/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIHeadlineRenderer.cs index cf10437..894aae4 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIHeadlineRenderer.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIHeadlineRenderer.cs @@ -183,18 +183,6 @@ namespace Simitone.Client.UI.Panels.WorldUI batch.Draw(Cross, new Vector2(Texture.Width / 2 - Cross.Width / 2, Texture.Height / 2 - Cross.Height / 4), Color.White); } - if (DrawSkill) - { - batch.Draw(WhitePx, new Rectangle(88, 4, 71, 41), new Color(92, 92, 92)); - var font = GameFacade.MainFont.GetNearest(14).Font; - - Vector2 fontOrigin = font.MeasureString(SkillString) / 2; - batch.DrawString(font, SkillString, new Vector2(88 + 35, 15) - fontOrigin * 0.60f, new Color(255, 249, 157), 0, new Vector2(), 0.60f, SpriteEffects.None, 0); - - fontOrigin = font.MeasureString(SpeedString) / 2; - batch.DrawString(font, SpeedString, new Vector2(88 + 35, 34) - fontOrigin * 0.60f, new Color(255, 249, 157), 0, new Vector2(), 0.60f, SpriteEffects.None, 0); - } - batch.End(); GD.SetRenderTarget(null); Invalidated = false; diff --git a/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIMoneyHeadline.cs b/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIMoneyHeadline.cs index 1ec8d73..8c21ab2 100644 --- a/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIMoneyHeadline.cs +++ b/Client/Simitone/Simitone.Client/UI/Panels/WorldUI/UIMoneyHeadline.cs @@ -59,8 +59,10 @@ namespace Simitone.Client.UI.Panels.WorldUI batch.Draw(MoneyBG, new Vector2(MoneyTarget.Width-9.6f, Headline.Duration / 2), new Rectangle(24, 0, 12, 24), Model.UIStyle.Current.Bg * opacity, 0, Vector2.Zero, new Vector2(0.8f, 0.8f), SpriteEffects.None, 0); Style.Color.A = (byte)(opacity*255); - batch.DrawString(Style.SpriteFont, Text, new Vector2(5, Headline.Duration/2), Style.Color); + batch.End(); + Style.VFont.Draw(GD, Text, new Vector2(5, 1), Style.Color, new Vector2(Style.Scale), null); + GD.SetRenderTarget(null); } diff --git a/Client/Simitone/Simitone.Client/UI/Screens/LoadingGameScreen.cs b/Client/Simitone/Simitone.Client/UI/Screens/LoadingGameScreen.cs index df7e8fa..986216d 100644 --- a/Client/Simitone/Simitone.Client/UI/Screens/LoadingGameScreen.cs +++ b/Client/Simitone/Simitone.Client/UI/Screens/LoadingGameScreen.cs @@ -39,6 +39,7 @@ namespace Simitone.Client.UI.Screens public UISimitoneLogo Logo; public UISimitoneLoadLabel LastLabel; public bool LoadingComplete; + public UITweenInstance LogoTween; private bool Closing = false; private float _i; @@ -83,19 +84,19 @@ namespace Simitone.Client.UI.Screens GameFacade.Screens.Tween.To(this, 0.5f, new Dictionary() { { "InterpolatedAnimation", 1f } }, TweenQuad.EaseOut); LoadProgress = new UILoadProgress(); - LoadProgress.Position = (new Vector2(ScreenWidth, ScreenHeight) - new Vector2(938, 112))/2; + LoadProgress.Position = (new Vector2(ScreenWidth, ScreenHeight) - new Vector2(1012, 128))/2; Add(LoadProgress); Logo = new UISimitoneLogo(); Logo.Position = new Vector2(ScreenWidth, ScreenHeight) / 2; Add(Logo); - GameFacade.Screens.Tween.To(Logo, 1f, new Dictionary() { { "Y", ScreenHeight/4 }, { "ScaleX", 0.5f }, { "ScaleY", 0.5f } }, TweenQuad.EaseOut); + LogoTween = GameFacade.Screens.Tween.To(Logo, 1f, new Dictionary() { { "Y", ScreenHeight/4 }, { "ScaleX", 0.5f }, { "ScaleY", 0.5f } }, TweenQuad.EaseOut); InterpolatedAnimation = InterpolatedAnimation; (new Thread(() => { FSO.Content.Content.Init(GlobalSettings.Default.StartupPath, GameFacade.GraphicsDevice); - VMContext.InitVMConfig(); + VMContext.InitVMConfig(true); lock (this) { LoadingComplete = true; @@ -125,6 +126,20 @@ namespace Simitone.Client.UI.Screens }, 750); } + public override void GameResized() + { + base.GameResized(); + GameFacade.Screens.Tween.Stop(LogoTween, true); + Bg.Position = (new Vector2(ScreenWidth, ScreenHeight)) / 2; + ProgressDiag.Position = new Vector2(0, ScreenHeight / 2 - 75); + TextDiag.Position = new Vector2(0, ScreenHeight * 0.75f - 37); + LoadProgress.Position = (new Vector2(ScreenWidth, ScreenHeight) - new Vector2(1012, 128)) / 2; + Logo.Position = new Vector2(ScreenWidth, ScreenHeight/2) / 2; + if (LastLabel != null) LastLabel.Position = new Vector2(ScreenWidth / 2, ScreenHeight * 0.75f); + + InterpolatedAnimation = InterpolatedAnimation; + } + public ContentLoadingProgress LastProgress = ContentLoadingProgress.Invalid; public override void Update(UpdateState state) diff --git a/Client/Simitone/Simitone.Client/UI/Screens/TS1CASScreen.cs b/Client/Simitone/Simitone.Client/UI/Screens/TS1CASScreen.cs index 4d1518b..38b7a6f 100644 --- a/Client/Simitone/Simitone.Client/UI/Screens/TS1CASScreen.cs +++ b/Client/Simitone/Simitone.Client/UI/Screens/TS1CASScreen.cs @@ -249,7 +249,7 @@ namespace Simitone.Client.UI.Screens var moving = 0; - if (state.MouseStates.Count > 0) + if (state.MouseStates.Count(x => x.MouseState.LeftButton == Microsoft.Xna.Framework.Input.ButtonState.Pressed) > 0) { if (XLast == -1) { @@ -699,11 +699,6 @@ namespace Simitone.Client.UI.Screens vm.Context.Clock.Minutes = 0; vm.Context.Clock.Hours = 12; - if (state.NewKeys.Contains(Microsoft.Xna.Framework.Input.Keys.LeftControl)) - { - SetMode(UICASMode.SimEdit); - } - var disableAccept = false; switch (Mode) { diff --git a/Client/Simitone/Simitone.Client/UI/Screens/TS1GameScreen.cs b/Client/Simitone/Simitone.Client/UI/Screens/TS1GameScreen.cs index de8e489..26fa7e1 100644 --- a/Client/Simitone/Simitone.Client/UI/Screens/TS1GameScreen.cs +++ b/Client/Simitone/Simitone.Client/UI/Screens/TS1GameScreen.cs @@ -28,6 +28,7 @@ using Microsoft.Xna.Framework.Input; using Simitone.Client.UI.Controls; using Simitone.Client.UI.Panels; using Simitone.Client.UI.Panels.WorldUI; +using Simitone.Client.Utils; using System; using System.Collections.Generic; using System.IO; @@ -41,6 +42,7 @@ namespace Simitone.Client.UI.Screens { public UIContainer WindowContainer; public bool Downtown; + public bool Desktop = !FSOEnvironment.SoftwareKeyboard; public UILotControl LotControl { get; set; } public UISimitoneFrontend Frontend { get; set; } @@ -87,6 +89,7 @@ namespace Simitone.Client.UI.Screens Bg.Visible = false; World.Visible = true; //ucp.SetMode(UIUCP.UCPMode.LotMode); + LotControl.SetTargetZoom(targ); if (m_ZoomLevel != value) vm.Context.World.InitiateSmoothZoom(targ); vm.Context.World.State.Zoom = targ; m_ZoomLevel = value; @@ -191,6 +194,8 @@ namespace Simitone.Client.UI.Screens public void NeighSelection(NeighSelectionMode mode) { + Content.Get().Neighborhood.PreparePersonDataFromObject = PersonGeneratorHelper.PreparePersonDataFromObject; + Content.Get().Neighborhood.AddMissingNeighbors(); var nbd = (ushort)((mode == NeighSelectionMode.MoveInMagic) ? 7 : 4); TS1NeighPanel = new UINeighborhoodSelectionPanel(nbd); var switcher = new UINeighbourhoodSwitcher(TS1NeighPanel, nbd, mode != NeighSelectionMode.Normal); @@ -233,6 +238,7 @@ namespace Simitone.Client.UI.Screens public void MoveInAndPlay(short house, int family, UIElement switcher) { + MoveInFamily = null; var neigh = Content.Get().Neighborhood; var fami = neigh.GetFamily((ushort)family); neigh.SetFamilyForHouse(house, fami, true); @@ -343,6 +349,25 @@ namespace Simitone.Client.UI.Screens if (state.NewKeys.Contains(Keys.D3)) ChangeSpeedTo(3); if (state.NewKeys.Contains(Keys.P)) ChangeSpeedTo(0); + if (state.NewKeys.Contains(Keys.F12)) + { + ChangeSpeedTo(1); + //running 10000 ticks + var timer = new System.Diagnostics.Stopwatch(); + timer.Start(); + + for (int i=0; i<10000; i++) + { + vm.Tick(); + } + + timer.Stop(); + UIScreen.GlobalShowDialog(new UIMobileAlert(new UIAlertOptions() { + Title = "Benchmark", + Message = "10000 ticks took " + timer.ElapsedMilliseconds + "ms." + }), true); + } + if (World != null) { //stub smooth zoom? @@ -454,7 +479,7 @@ namespace Simitone.Client.UI.Screens public void InitializeLot(VMMarshal marshal) { InitializeLot(); - vm.MyUID = uint.MaxValue; + vm.MyUID = 1; vm.Load(marshal); vm.TS1State.ActivateFamily(vm, ActiveFamily); @@ -462,7 +487,7 @@ namespace Simitone.Client.UI.Screens var settings = GlobalSettings.Default; var myClient = new VMNetClient { - PersistID = uint.MaxValue, + PersistID = 1, RemoteIP = "local", AvatarState = new VMNetAvatarPersistState() { @@ -470,7 +495,7 @@ namespace Simitone.Client.UI.Screens DefaultSuits = new VMAvatarDefaultSuits(settings.DebugGender), BodyOutfit = settings.DebugBody, HeadOutfit = settings.DebugHead, - PersistID = uint.MaxValue, + PersistID = 1, SkinTone = (byte)settings.DebugSkin, Gender = (short)(settings.DebugGender ? 1 : 0), Permissions = FSO.SimAntics.Model.TSOPlatform.VMTSOAvatarPermissions.Admin, @@ -489,6 +514,44 @@ namespace Simitone.Client.UI.Screens this.Add(Frontend); } + public void ShowLoadErrors(List errors, bool verbose) + { + var errorMsg = GameFacade.Strings.GetString("153", "16"); + + if (verbose) + { + errorMsg += "\n"; + foreach (var error in errors) + { + errorMsg += "\n" + error.ToString(); + } + } + + //signal thru the VM so we can stop time appropriately + vm.LastSpeedMultiplier = vm.SpeedMultiplier; + vm.SpeedMultiplier = 0; + vm.SignalDialog(new VMDialogInfo + { + Block = true, + Caller = null, + Yes = "OK", + DialogID = 0, + Title = GameFacade.Strings.GetString("153", "17"), + Message = errorMsg, + }); + + /* + CloseAlert = new UIMobileAlert(new FSO.Client.UI.Controls.UIAlertOptions + { + Title = GameFacade.Strings.GetString("153", "17"), //missing objects! + Message = errorMsg, + Buttons = UIAlertButton.Ok( + (b) => { CloseAlert.Close(); CloseAlert = null; } + ) + }); + */ + } + public void InitializeLot(string lotName, bool external) { if (lotName == "" || lotName[0] == '!') return; @@ -502,12 +565,14 @@ namespace Simitone.Client.UI.Screens vm.TS1State.ActivateFamily(vm, ActiveFamily); } BlueprintReset(lotName, null); + + if (vm.LoadErrors.Count > 0) GameThread.NextUpdate((state) => ShowLoadErrors(vm.LoadErrors, true)); - vm.MyUID = uint.MaxValue; + vm.MyUID = 1; var settings = GlobalSettings.Default; var myClient = new VMNetClient { - PersistID = uint.MaxValue, + PersistID = 1, RemoteIP = "local", AvatarState = new VMNetAvatarPersistState() { @@ -515,7 +580,7 @@ namespace Simitone.Client.UI.Screens DefaultSuits = new VMAvatarDefaultSuits(settings.DebugGender), BodyOutfit = settings.DebugBody, HeadOutfit = settings.DebugHead, - PersistID = uint.MaxValue, + PersistID = 1, SkinTone = (byte)settings.DebugSkin, Gender = (short)(settings.DebugGender ? 1 : 0), Permissions = FSO.SimAntics.Model.TSOPlatform.VMTSOAvatarPermissions.Admin, @@ -557,7 +622,7 @@ namespace Simitone.Client.UI.Screens public void LoadSurrounding(short houseID) { return; - var surrounding = new NBHm(new OBJ(File.OpenRead(@"C:\Users\Rhys\Desktop\nb2.obj"))); + var surrounding = new NBHm(new OBJ(File.OpenRead(@"C:\Users\Rhys\Desktop\fso 2018\nb4.obj"))); NBHmHouse myH = null; var myHeight = vm.Context.Blueprint.InterpAltitude(new Vector3(0, 0, 0)); if (!surrounding.Houses.TryGetValue(houseID, out myH)) return; @@ -653,7 +718,8 @@ namespace Simitone.Client.UI.Screens switch (type) { case VMEventType.TS1BuildBuyChange: - Frontend.ModeSwitcher.UpdateBuildBuy(); + Frontend?.ModeSwitcher?.UpdateBuildBuy(); + Frontend?.DesktopUCP?.UpdateBuildBuy(); break; } } @@ -803,6 +869,8 @@ namespace Simitone.Client.UI.Screens { CleanupLastWorld(); NeighSelection(NeighSelectionMode.Normal); + Downtown = false; + SavedLot = null; } } diff --git a/Client/Simitone/Simitone.Client/Utils/PersonGeneratorHelper.cs b/Client/Simitone/Simitone.Client/Utils/PersonGeneratorHelper.cs new file mode 100644 index 0000000..d6a9a88 --- /dev/null +++ b/Client/Simitone/Simitone.Client/Utils/PersonGeneratorHelper.cs @@ -0,0 +1,50 @@ +using FSO.Client; +using FSO.LotView; +using FSO.LotView.Model; +using FSO.SimAntics; +using FSO.SimAntics.Engine.TSOTransaction; +using FSO.SimAntics.Model; +using FSO.SimAntics.NetPlay.Drivers; +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Simitone.Client.Utils +{ + public static class PersonGeneratorHelper + { + private static VM TempVM; + private static void InitVM() + { + var world = new World(GameFacade.GraphicsDevice); + world.Initialize(GameFacade.Scenes); + var context = new VMContext(world); + + TempVM = new VM(context, new VMServerDriver(new VMTSOGlobalLinkStub()), new VMNullHeadlineProvider()); + TempVM.Init(); + + var blueprint = new Blueprint(3, 3); + world.InitBlueprint(blueprint); + context.Blueprint = blueprint; + context.Architecture = new VMArchitecture(3, 3, blueprint, TempVM.Context); + blueprint.Terrain = new FSO.LotView.Components.TerrainComponent(new Rectangle(0, 0, 3, 3), blueprint); + TempVM.Tick(); + } + + public static short[] PreparePersonDataFromObject(uint guid) + { + if (TempVM == null) InitVM(); + + var obj = TempVM.Context.CreateObjectInstance(guid, LotTilePos.OUT_OF_WORLD, Direction.NORTH)?.BaseObject as VMAvatar; + + if (obj == null) return new short[88]; + var result = obj.GetPersonDataClone(); + obj.Delete(true, TempVM.Context); + + return result.Take(88).ToArray(); + } + } +} diff --git a/Client/Simitone/Simitone.Windows/Program.cs b/Client/Simitone/Simitone.Windows/Program.cs index 537c009..cc930d6 100644 --- a/Client/Simitone/Simitone.Windows/Program.cs +++ b/Client/Simitone/Simitone.Windows/Program.cs @@ -30,10 +30,10 @@ namespace Simitone.Windows var useDX = true; var path = gameLocator.FindTheSimsOnline(); - if (useDX) GlobalSettings.Default.AntiAlias = false; - FSOEnvironment.Enable3D = false; bool ide = false; + bool aa = false; + bool jit = false; #region User resolution parmeters foreach (var arg in args) @@ -57,6 +57,12 @@ namespace Simitone.Windows case "3d": FSOEnvironment.Enable3D = true; break; + case "aa": + aa = true; + break; + case "jit": + jit = true; + break; } } } @@ -87,13 +93,19 @@ namespace Simitone.Windows GlobalSettings.Default.TS1HybridPath = gameLocator.FindTheSims1(); GlobalSettings.Default.ClientVersion = "0"; GlobalSettings.Default.LightingMode = 3; - GlobalSettings.Default.AntiAlias = true; + GlobalSettings.Default.AntiAlias = aa ? 2 : 0; + GlobalSettings.Default.ComplexShaders = true; GameFacade.DirectX = useDX; World.DirectX = useDX; if (ide) new FSO.IDE.VolcanicStartProxy().InitVolcanic(); + var assemblies = new FSO.SimAntics.JIT.Runtime.AssemblyStore(); + //var globals = new TS1.Scripts.Dummy(); //make sure scripts assembly is loaded + if (jit) assemblies.InitAOT(); + FSO.SimAntics.Engine.VMTranslator.INSTANCE = new FSO.SimAntics.JIT.Runtime.VMAOTTranslator(assemblies); + SimitoneGame game = new SimitoneGame(); var form = (Form)Form.FromHandle(game.Window.Handle); if (form != null) form.FormClosing += Form_FormClosing; diff --git a/Client/Simitone/Simitone.Windows/Simitone.Windows.csproj b/Client/Simitone/Simitone.Windows/Simitone.Windows.csproj index 6adc654..2fdae73 100644 --- a/Client/Simitone/Simitone.Windows/Simitone.Windows.csproj +++ b/Client/Simitone/Simitone.Windows/Simitone.Windows.csproj @@ -74,6 +74,10 @@ {5deb20eb-1eb7-48f9-922c-463abae56e63} FSO.IDE + + {b8ab3711-7b4f-4126-9bf3-4ddde9475b74} + FSO.SimAntics.JIT + {73e2ad5b-720b-4ef3-9b7c-55931d0ec693} FSO.UI diff --git a/Client/Simitone/Simitone.sln b/Client/Simitone/Simitone.sln index e4797d4..ce27e7e 100644 --- a/Client/Simitone/Simitone.sln +++ b/Client/Simitone/Simitone.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 +# Visual Studio 15 +VisualStudioVersion = 15.0.27703.2035 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Simitone.iOS", "Simitone\Simitone.iOS.csproj", "{F0BFC685-A357-4E5A-B502-1B5A35970E63}" EndProject @@ -51,6 +51,14 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSO.IDE", "..\..\FreeSO\TSO EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SimplePaletteQuantizer", "..\..\FreeSO\Other\libs\ColorQuantizer\SimplePaletteQuantizer\SimplePaletteQuantizer.csproj", "{37812A22-91F3-4220-891E-5C26DA64A975}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSDFData", "..\..\FreeSO\Other\libs\MSDFData\MSDFData.csproj", "{EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSDFExtension", "..\..\FreeSO\Other\libs\MSDFExtension\MSDFExtension.csproj", "{EBF08DC7-916D-4133-BADE-38C31E29F18A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FSO.SimAntics.JIT", "..\..\FreeSO\TSOClient\FSO.SimAntics.JIT\FSO.SimAntics.JIT.csproj", "{B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TS1.Scripts", "TS1.Scripts\TS1.Scripts.csproj", "{E5391443-CF1E-4A61-8415-B0E51F23748B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Ad-Hoc|Any CPU = Ad-Hoc|Any CPU @@ -789,8 +797,137 @@ Global {37812A22-91F3-4220-891E-5C26DA64A975}.Release|iPhoneSimulator.Build.0 = Release|Any CPU {37812A22-91F3-4220-891E-5C26DA64A975}.Release|x86.ActiveCfg = Release|Any CPU {37812A22-91F3-4220-891E-5C26DA64A975}.Release|x86.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|iPhone.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|x86.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.AppStore|x86.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|iPhone.Build.0 = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|x86.ActiveCfg = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Debug|x86.Build.0 = Debug|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|Any CPU.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|iPhone.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|iPhone.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|x86.ActiveCfg = Release|Any CPU + {EABEA510-3E53-4F19-9F0B-75C5CA9DFA3B}.Release|x86.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|Any CPU.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|iPhone.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|x86.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.AppStore|x86.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|iPhone.Build.0 = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|x86.ActiveCfg = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Debug|x86.Build.0 = Debug|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|Any CPU.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|iPhone.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|iPhone.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|x86.ActiveCfg = Release|Any CPU + {EBF08DC7-916D-4133-BADE-38C31E29F18A}.Release|x86.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|Any CPU.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|iPhone.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|x86.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.AppStore|x86.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|iPhone.Build.0 = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|x86.ActiveCfg = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Debug|x86.Build.0 = Debug|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|Any CPU.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|iPhone.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|iPhone.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|x86.ActiveCfg = Release|Any CPU + {B8AB3711-7B4F-4126-9BF3-4DDDE9475B74}.Release|x86.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Ad-Hoc|x86.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|Any CPU.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|iPhone.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|iPhone.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|x86.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.AppStore|x86.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|iPhone.Build.0 = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|x86.ActiveCfg = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Debug|x86.Build.0 = Debug|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|iPhone.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|iPhone.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|x86.ActiveCfg = Release|Any CPU + {E5391443-CF1E-4A61-8415-B0E51F23748B}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F2FD9699-EAC6-4F94-8505-2B0ECD1E5D59} + EndGlobalSection EndGlobal