From c5daf1d9adca0c3a826dfa2ac7b6d4f8a64c84a3 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 12 Apr 2010 01:09:04 +0000 Subject: [PATCH] created a new project MapProcessorLib to for importing map files determined that `cfmap' will be the extension we'll use for map files added map reader with a module for general-purpose parsing git-svn-id: https://bd85.net/svn/cs3505_group@62 92bb83a3-7c8f-8a45-bc97-515c4e399668 --- CarFire/CarFire/CarFire.sln | 38 ++- CarFire/CarFire/CarFire.suo | Bin 23040 -> 41984 bytes CarFire/CarFire/CarFire/CarFire.csproj | 3 + .../CarFire/Content/Content.contentproj | 11 + CarFire/CarFire/CarFire/Game.cs | 2 +- CarFire/CarFire/CarFire/Map.cs | 50 +++ CarFire/CarFire/CarFire/MapReader.cs | 287 ++++++++++++++++++ CarFire/CarFire/CarFire/Parse.cs | 205 +++++++++++++ CarFire/CarFire/CarFire/ScreenManager.cs | 2 +- .../CarFire/MapProcessorLib/MapImporter.cs | 28 ++ .../MapProcessorLib/MapProcessorLib.csproj | 122 ++++++++ .../CarFire/MapProcessorLib/MapSourceCode.cs | 22 ++ CarFire/CarFire/MapProcessorLib/MapWriter.cs | 38 +++ .../Properties/AssemblyInfo.cs | 33 ++ 14 files changed, 837 insertions(+), 4 deletions(-) create mode 100644 CarFire/CarFire/CarFire/Map.cs create mode 100644 CarFire/CarFire/CarFire/MapReader.cs create mode 100644 CarFire/CarFire/CarFire/Parse.cs create mode 100644 CarFire/CarFire/MapProcessorLib/MapImporter.cs create mode 100644 CarFire/CarFire/MapProcessorLib/MapProcessorLib.csproj create mode 100644 CarFire/CarFire/MapProcessorLib/MapSourceCode.cs create mode 100644 CarFire/CarFire/MapProcessorLib/MapWriter.cs create mode 100644 CarFire/CarFire/MapProcessorLib/Properties/AssemblyInfo.cs diff --git a/CarFire/CarFire/CarFire.sln b/CarFire/CarFire/CarFire.sln index 6ed4e2b..2583a8e 100644 --- a/CarFire/CarFire/CarFire.sln +++ b/CarFire/CarFire/CarFire.sln @@ -5,6 +5,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CarFire", "CarFire\CarFire. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharacterTestBed", "CharacterTestBed\CharacterTestBed.csproj", "{757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapProcessorLib", "MapProcessorLib\MapProcessorLib.csproj", "{EA5996C5-17A9-4827-AAB8-884B476B62EE}" +EndProject Global GlobalSection(SubversionScc) = preSolution Svn-Managed = True @@ -12,21 +14,53 @@ Global EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|x86 = Debug|x86 + Debug|Xbox 360 = Debug|Xbox 360 + Debug|Zune = Debug|Zune Release|x86 = Release|x86 + Release|Xbox 360 = Release|Xbox 360 + Release|Zune = Release|Zune EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Debug|x86.ActiveCfg = Debug|x86 {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Debug|x86.Build.0 = Debug|x86 + {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Debug|Xbox 360.ActiveCfg = Debug|x86 + {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Debug|Zune.ActiveCfg = Debug|x86 {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Release|x86.ActiveCfg = Release|x86 {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Release|x86.Build.0 = Release|x86 - {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Debug|x86.ActiveCfg = Debug|x86 - {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Release|x86.ActiveCfg = Release|x86 + {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Release|Xbox 360.ActiveCfg = Release|x86 + {FDDA5BCD-3616-400D-A40B-CFD57C54D0F2}.Release|Zune.ActiveCfg = Release|x86 {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Debug|x86.ActiveCfg = Debug|x86 {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Debug|x86.Build.0 = Debug|x86 + {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Debug|Xbox 360.ActiveCfg = Debug|x86 + {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Debug|Zune.ActiveCfg = Debug|x86 {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Release|x86.ActiveCfg = Release|x86 {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Release|x86.Build.0 = Release|x86 + {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Release|Xbox 360.ActiveCfg = Release|x86 + {757B5B2E-27C5-43E3-BF29-5025E9DDDBF1}.Release|Zune.ActiveCfg = Release|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Debug|x86.ActiveCfg = Debug|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Debug|Xbox 360.ActiveCfg = Debug|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Debug|Zune.ActiveCfg = Debug|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Release|x86.ActiveCfg = Release|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Release|Xbox 360.ActiveCfg = Release|x86 + {C115BBCA-D6FD-42AF-B2A1-3E895808BC14}.Release|Zune.ActiveCfg = Release|x86 {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Debug|x86.ActiveCfg = Debug|x86 + {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Debug|Xbox 360.ActiveCfg = Debug|x86 + {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Debug|Zune.ActiveCfg = Debug|x86 {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Release|x86.ActiveCfg = Release|x86 + {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Release|Xbox 360.ActiveCfg = Release|x86 + {4F0BE90F-1E46-4959-80A5-E92B578F6A48}.Release|Zune.ActiveCfg = Release|x86 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|x86.ActiveCfg = Debug|x86 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|x86.Build.0 = Debug|x86 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|Xbox 360.ActiveCfg = Debug|Xbox 360 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|Xbox 360.Build.0 = Debug|Xbox 360 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|Zune.ActiveCfg = Debug|Zune + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Debug|Zune.Build.0 = Debug|Zune + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|x86.ActiveCfg = Release|x86 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|x86.Build.0 = Release|x86 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|Xbox 360.ActiveCfg = Release|Xbox 360 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|Xbox 360.Build.0 = Release|Xbox 360 + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|Zune.ActiveCfg = Release|Zune + {EA5996C5-17A9-4827-AAB8-884B476B62EE}.Release|Zune.Build.0 = Release|Zune EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CarFire/CarFire/CarFire.suo b/CarFire/CarFire/CarFire.suo index dd09ba19fe9e56eed8d46944c6f342d3069547ce..19bb6f3115c95d0caa2968cc36a974b6fb4b536b 100644 GIT binary patch literal 41984 zcmeHQeQ;dWb$^n<<)c8rgs%`HjBNtM8+}`bgd(k0LSSKG32exw%4)TeWlOu8T?yOR zi76pKX_C4brb*l;5MolAxZ$H|L%tdyp`9{i%s-haWIEGM=}bCpN@!==OeR?U{qA{p z-`DQjx4TbT$efQjZ&pG$pbI!f{+KKc3`K!-f_AiDj-Ds>aPR^fcthMDg z;GUq;y9}cdH-wY(^YfBv7`RSytd%l3TOkg13CbmfGvP7Km>3-;0C~l03Qb22>2bq z`vBd59zYb(3y1;w0R4cQ0Rw2F(Zv@&NzTp z1y2`&YINgCBYx?Z7eDv(&t89}VGRp$(2#~uW5(Eneoh+`xQiM4gVfRoP8mwDj^qp^X!L%s=Ge*?;rznJbseIsfNrj0RN z_Z!2i{(FE=5_jd&del!I)O}E{JfBl$ljoU8$9A9$(4XxxfMZKJKp9}?f0iZx^GexZ zmjTRU-%tj)`JcSk1h^8g9$@GHP54ayrwpN-pbVG=kpKBk@-+Fs89@I341oC>H2?E6 zWeEA7_nQBCPyWBj%-8(Se9iy7UutO@_|BL(XK>A$_c>fir^I;<*Lwi_0OTZc^SywB zfJ1;!06qyg47d-_fBcrsPrTUB`zMF@Hokdu{TQ+;O23S9mZ)DMFV&Lx{oQ~ls3czC z{ygrJ$WNf};+Pjw=-<7d!3_GGPx6>=IzWFN#;7r=B-osK62&)im_MfQKZTO+&t6P5 zA9|lumc#dOT%{c%Rf$;w6w{Ib$cjF{|3n zHkVILkU!*m$^i09`EMA|EJcrCS$F+Cs^=2u?JRnGO3g`rc)TC=H{v~%O+o8tUs0Yg zx$EcrL%Ewpi78-^F4GH}s+fPYepRe~(oWhK$1IS+sN@tb3egh(P=AAdU(oh*uIgi_ zA#s-B44el{pv_H~kvJ31fexneX&8BPz=wU&1dS{Ls*j^gRPjL$Pva;}JmYv9C2^$` zSPKTE)oD=pgsNZTp+7Gbd<4t-_YWy6iT>hvQaXi|Oj2^Zu9iHyXFf&S#HN7qRDa_M_~heq_(bN3~Ysb9X*< zD5C7nrw(*hk$mQHE#)pxU5&buJD=+^CY`TDDyJ<@P7`2dnVe?uIqQ~xmi##YzM@7- zt)q0RM*dMx(QkCuKM2a4L9JYe>;$Tmg&AlwrRIPSK>ktgu}_1_KkCaPCIXcAvufr` zD~ZSU%S@?PCMk5>ETkIe0+!@|3!CfB`nm26TEDaX8N7cEZI(CN+dPCi^T5Y%CTd3g zqyy4O(E6!2uj8bR#J(6r{nM%zN_!FsWq!7>Hsh*Ut=X`OZb$ip&?kEF*A4xr2R+k^ zRe2jUiWb0TlxW5u^Saf25ALGs8y#4cNAaC@JZ(l!E40xF#&@5ZWvqI)tJ&9H>v^cP zIBqgJEPICHg)niuL0JpJd}GAefpI2%an+fEMlQNo1Z>%ZJkh**P+}Y{wtAh`i*WJK zeAf#aD@A{LE!?XxO8^INih%ysBb&6xIGe{GH|tqi8*8 zA+PkV6nMdnMX8!4pY{jxCi^sK`|a{)GB6Da=WhZ3ZUL>5^IKu9*^K|f)#Us(RC%5&Yz#x92jP;wQyjVcxVo+bOfT1vn{IsDSNxo$Gwod zl*k-`R^;@l5#U`5?l>l0==~1-ZwByNEhrgO_R?Z{P<?)D)MiyqXMMmbtONQPU^{1~e+>G!q&J_KU!?-`EXg1mBe!N<#% z2*&$S)q1Wzh_}~rIH>RzZl!&S8UuNiev2`bm*+c?!}S7bH-h$&e%~B=>@Y1vno8&+ zv#gfKmK6R2YMj_EXB+-4d;e8j{OlpqKH! zMZ!O7@Fp0n&(iWk#(%cp zXBDdK@7XpGMO{HhJKQnsN82f}EnNEQhRZI{OalDq#%Qo^7!5!Z;0%?*Us}m`Vkll3 ztH-w04Zk4R)o(nV9x$uF>NlR$TV|nwaCX~UbUb@w+Xl#ycVJ9qMd55kX+Iw2$OM4Y zlE!ya(4o4OjzDYb7&M?M3LpOAW$U>AoExea{Tfo}}M5}Q|Z#td>e ztFac^?WXZZosU4gxl$BKVz*)zuQh@wni#CGrD|_Q4b2LJX4n^KV{l`#3oV;2ipO0` zxc@ZP)Z5a=$BW`monQJf==gg_waM6p9_~i3$+f8<+nhc7^o$oqH_BVp)um zBB+ZpDpG`^B8B>kQO?XM*E>feqQWz8#1-8un#;EgQRK4 zf7+I4FXPISHZJHj|+Ut*R zlqPuj+bc_Im(^ZQphqJNPI%aSi}qDeVl71Ej$7Z>nj&o!vd(^X^cUyQPgMyeFhW6k zVX^VoGmD@7iFW&PiS{?f16I=Ny(s^u=8OI7-%_r6#11w#(4Rw}cToCIqwM1VCcpaI z!29JA>t}2uE9GvHmMigv;8X^*@HPe{H^2G(SzlEl1z;Ol97z zdeLvO^&0H)<4^y(G9IkOds3|jrya9PGiF};#OMd-OcTQlB;Ip+YUnwmw}u|}&8l20 z%G2}Kh4P)qZ^vB_502$S3$s>giq(3t!^ET75s0at-HLwhg#2Y6x1evkRll=mx!z#> zLN|K7ON~Vrdb|g)1>fia(DxY&Gy>dvK)vrE%5yx!sntCKcPo21*Jb{Z1U)WHeh;7T z2Yd?f0N~Sr2LTTO9tQkA;1R$d0I0Wo7T3=K{t$2k@JE2p1Nf}c^f9#F06zx&1n@H8ZvkviHEpW259(dMcKUZy;x5zj+JxD&6EdtEMT&oUA$cQM zjLnBI>f!RJT{;Ej&zlw$i%Q2v;*P=`8+)Gw8<(@tBi+!k83%L^=A9@c+$8cC@x|y$ z?;C-&Gsx@^zEr|I?ibCUR9|8&QV#Wc11M#kK@Cd#ROngZ>TnEK`X0qLb`;OKyI|qt z1Gragw#t&#h)-Mi@Gr%y5Kl)zmeoR^@>BqFZ$atJL3+_RXQVH}JOSOD_ zfSZ8r5wj`5R(wuxw-sw&owu9uq`A*X6dc6XKs$i5ehaT?Nh~O99t57j_X5#=TFh2GgMKEr<seor^lpx#`&1Cw_Wpq_X%& z9S0U}WRO$akoig0410|K-Q01>PMjjK9j&cIQwvXb@WU=rSmnhw_3xSc$5$HA!%^y$ z-gPQ6RXQF2CzL)st@aG|!cy3Sz3Bb09FD*%-;H+0aK97LTesmo+i^FnzDb_CLD??p zv($I=uTtCMd@8+0No4sf)nokQ^L>z0Y0%JqfKK$HGNwBNxv~dzsXhKy3rN}a1$D%H z1F2a`^IhKe3$^o^oGxQ&VbmKl%1$a{>W(_7+$*W$SH^+c1hADoZV|J^ZP41e7Ny?G z$QkX^WgJT-@sHuseQ>RscybR>eKrIY?5`VE zt5KPDDdLtYj9pruQJM6z)Q2;L&Sl0VZI_D=UA3RtwX1TwMON)+(`rqsZF+7iUgh?) z@U${Zm*6`MqY1F|qWiA}R!b>n!ax2*G)bUbGBN(-eRyiw_DU8lJa__kN6kfd$ ze`5W*ZeIOM%hM-u`IcGGul`o}>dU2S>VFC^rH`A*ul_dZ^yL!jFZ6xT_J0#Er7xZ7 zb9I`hifcZG@s+_f4{=q~2+-q7JWHi7)(QXe*4O(!c4G7lpzYs^dRy%L=`UFPA2(QU zFk4z`ob37JJ;qot`PUyT{!jOCQ2Kuk_5MWF&Yj+KSmn~M%-z0n;ups@iI`tn(|Gb# zTKSvJFSst(f>N(S9zD@P>u2oUR&yy_y8amIrSC|uOkEY5A9?;+rS1Pae3uq5CfV;n zta_gq>~Ftt>o!_!!f3smr8yA2K7L0& zmCMJIyA$`udsF$nvzcr>nQ!Z8?iiiSW#+Q+Xd>4)l}nYnMw0n#F0-enhBx&mW>R=f zcMY!?Ol0wfTWfg3a59%lr3Vw~#AGUmcg1RW*RFKJY}1`Jyd|1R&!*C|aq}8U%4ha= ze+aKdm*sD){ymZWbo#C;zK&{#a+zc*pU>pBO^wA}pG|W5Xb5jcHQ7{db}E&Rcjxn| znX%~u1L=tjY8VdT?ZA6DGnY%IqM310@9p8db6_T$$;~PX+#b#wcjl(#eYFq`TDv2a z7*}|i61M?YLe+_(O`Pb&7^)p;Vn8^AxSNA8KQl;h3xZ$UanEqrW|*US&jV-r@Qi`W zUHD^QGM{!LzZIXkm4=a6o$A}4P&mHZm^!_y5evon`4<`ssCRwzWompXHO19^;j_-4 zXbAHNtV6)t&-mnYI%vn`!iR7XCoANPrg>}A=;Dl#CZ`}{l3syh!UJPCDpVQWp)cBn zw~+jEWbLo2;-9~{f*r`0NgjmK>!f#|Nu?_>uL!Sv-qiJbvYwzf+g+Cu%9n*kg$|JAzq38@3 z;5@ugGi_}$cWA}VhYL3zwes1n6*wmQO|zc;SfhoMfp4A`M1S<^C_7f**evu~fin~5 zrE14ydu=}QlZECf@>8{Ab@vM7C)py&5JCBQw}sRWY8jiA zXj`OfF)6>mwscO>xfEuL2kPY07sG{+sCcyXuGrdkiv-y@!IP!rA z!#!x+vBuAba61M*a7MBF#$CEcgC#(K`yMX~`G1{at|P7HNi&8KtzT z+_}4R1hmUN74}oyt^J+X0PjZ^32!%daW1jkko~G>wdqav3VlA5(R9+ZoZLT(-IJUr z;;3O1Gn%#Ea}=K$9mNQ)Jnp5uHH%z`9^113cnKb|w}0F=YcU2aoc+tre(>8>Xpg|w zGXi~i;mimYcRO*g&Qj2k;87K;Ci_pV5n%jdy&@dTpPwziJiJ&v6-De^aUG9RiDwVg zD=u8*lm4|>jvnLZd8*;kjjm@!qq55L^c2QMWn zf}GDqS#c^;9?ypH@`>NCIN%E^v1f9)6Iwl$c+y(i3U|_8Q&}HbzjPseC36l>(p*T+ zE=A8=le(W#sxomDm(y>}aLEEPyVl;K`pQr*j#|pvapbC)6d@i4UP}vZ&LDvRH2+;o|#(q*Sk-X9Z_q=S@?|PbX%`=*I7a=30ZJx z26ni8Upnm{ZpFDxy47fiu{_U4;(ky6vyuFJE`t8!c}v^^y8KT|TFe!*f4{~HCy#2Y zIcK<0^zu^S7}1m}KR0PHPoyf>$6l@%K4)Jq=9z5e@N{aWg5#_C6j=Qnb_Hi2Sxi+V_|RhxkG%u;=lsn_CH>UWCuDYO17ea)5C+XVRA5SYqCPk!ew zwFmtDLwdM30)n1@#8cfE&&uRqKTG~9pwk+YyH~aj>9|3CDz}BLOk6*X#KR%J_=y+uRqZFU#ec#%_ML2 j|KE+r!P<{~_hnKw^w*1bK2_$ul{}V~%l}Hg$FlzqR-lya delta 1447 zcmb7?Uu@G=6vuz}*W2#*YsYUb>*Pl_EPodQRo2>Jbt9B@8!)D8yMdeN?3AHfx(&7J z*37hv3-O^3@H<1rxrLyK4Q=g2UWU z_96X%MjY=3kAetzjF#0}7NuKiQ?3j9I7omb=mtIDFgOC90==LQJPnS5XTY{jsnhKqCBO`Ihix(8idb5sNh)Xv5)4Qlitqez+xMaZ~%Rz~?K{`==iWVbI`aV=I zK3iunikQvR91PL}%v5>E#*|UY)lFILUcHD<>~HCgbBYU%JwN}LU zKWG#DP*N2OTWl3{wKhn_9dYLTx00Eic~=7(-6|&cOsj0O7;DbwMW}=;60 z)9L6CrE{h@_gcM5OXD*XA3sIcW9_t%HR+?a0L#Lpi#oCmc;h5{ojlPtob6^aG<7&9 z9-a)VFdr7_T$~AaRAX#XUJzGW>KQu;F-JFAldF7J(l>8v%tgzwgA{FRrz2X2b*_%; uk{{Dm9u&o7kB!T=maSyJ2;nPAXou+9hs~7ITK~7cvdu@n-s8}xR`VB5x_box diff --git a/CarFire/CarFire/CarFire/CarFire.csproj b/CarFire/CarFire/CarFire/CarFire.csproj index 9d05f39..30d2d0d 100644 --- a/CarFire/CarFire/CarFire/CarFire.csproj +++ b/CarFire/CarFire/CarFire/CarFire.csproj @@ -88,7 +88,10 @@ + + + diff --git a/CarFire/CarFire/CarFire/Content/Content.contentproj b/CarFire/CarFire/CarFire/Content/Content.contentproj index 6128e00..077c9a1 100644 --- a/CarFire/CarFire/CarFire/Content/Content.contentproj +++ b/CarFire/CarFire/CarFire/Content/Content.contentproj @@ -104,6 +104,17 @@ TextureProcessor + + + {EA5996C5-17A9-4827-AAB8-884B476B62EE} + MapProcessorLib + + + + + sandbox + + + \ No newline at end of file diff --git a/CarFire/CarFire/MapProcessorLib/MapSourceCode.cs b/CarFire/CarFire/MapProcessorLib/MapSourceCode.cs new file mode 100644 index 0000000..2ec33af --- /dev/null +++ b/CarFire/CarFire/MapProcessorLib/MapSourceCode.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework.Content.Pipeline; + +namespace MapProcessorLib +{ + /// + /// Container for the map file before it is rewritten as an XNB file. + /// + public class MapSourceCode + { + string[] mLines; + public string[] Lines { get { return mLines; } } + + public MapSourceCode(string[] lines) + { + mLines = lines; + } + } +} diff --git a/CarFire/CarFire/MapProcessorLib/MapWriter.cs b/CarFire/CarFire/MapProcessorLib/MapWriter.cs new file mode 100644 index 0000000..3cdcfad --- /dev/null +++ b/CarFire/CarFire/MapProcessorLib/MapWriter.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Content.Pipeline; +using Microsoft.Xna.Framework.Content.Pipeline.Graphics; +using Microsoft.Xna.Framework.Content.Pipeline.Processors; +using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler; + +using TWrite = MapProcessorLib.MapSourceCode; + +namespace MapProcessorLib +{ + /// + /// This class will be instantiated by the XNA Framework Content Pipeline + /// to write the specified data type into binary .xnb format. + /// + /// This should be part of a Content Pipeline Extension Library project. + /// + [ContentTypeWriter] + public class MapWriter : ContentTypeWriter + { + protected override void Write(ContentWriter output, TWrite value) + { + output.Write(value.Lines.Length); + foreach (string line in value.Lines) + { + output.Write(line); + } + } + + public override string GetRuntimeReader(TargetPlatform targetPlatform) + { + return "CarFire.MapReader, CarFire"; + } + } +} diff --git a/CarFire/CarFire/MapProcessorLib/Properties/AssemblyInfo.cs b/CarFire/CarFire/MapProcessorLib/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..591c56a --- /dev/null +++ b/CarFire/CarFire/MapProcessorLib/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MapProcessorLib")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("MapProcessorLib")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2010")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f2f52768-d8d6-47ee-8ee8-ef34e3f2d195")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] -- 2.43.0