MZ@ !L!This program cannot be run in DOS mode. $PEL[I!  . @ @@KH   H.text4  `.rsrcH@@.reloc @BHtyll[Z _`5$gEc% xK>^u# 9!X8W}DJG0MSoz<i\)7.(f6A?PILYtVdm@4|{&v~RU;/:*w,Fe+ 'blnOqpha" Q3k1jTsy2-]rCHNB=0  ' '   ''''''    '     '     '     '     '%А( '%Б( '%В( '%Г( '%Д( '%Е( '%Ж( '%З( '%И(  '%Й(  '%К(  '%Л(  '%М(  '%Н( '%О( '%П( '%Р( '%С( '%Т( '%У( '%Ф( '%Х( '%Ц( '%Ч( '%Ш( '%Щ( '%Ъ( '%Ы( '%Ь( '%Э( '%Ю( '%Я( @'%а( '%б( ''%в( ''''%г( '%д(  ' '%е(  '%ж(  ' '''%з( '''''''''%и( '  '%й( '!!'""'##'%к( '%л(  '%м( !'%н( "'$$#'%%$'&&%'%о( &'''''%п( ('(()'))*'**+'++,',,-'--.'../'//0'%( 1'002'113'224'%( 5'%( 6'337'%( 8'%( 9'44:'55;'66<'%( ='77>'%( ?'%(  '%(  ' +~~ _X  2*B"0iY*i*:kZkZX*VkZkZXkZX*vkZkZXkZXkZX*0~">XXZX(X(X("*> XXk Z k Y k Y k Y  Y Y Y7H7+t7+Z+F4+,4+kY XkY XkY XkY"@ ZXkY"@ ZXkY"@ ZX"?Y"@@ ZX"?Y"@@ ZX"?Y"@@ ZX _  _! _"~ ~!~"XX ]#~ X~!X~"XXX ]$~ X~!X~"XXX ]%~ X~!X~"XXX ]&"?ZYZYZY''"4" +!''Z'''Z~#(Z "?ZYZYZY(("4" +!((Z(((Z~$(Z "?ZYZYZY))"4" +!))Z)))Z~%(Z "?ZYZYZY**"4" +!**Z***Z~&(Z "BXX XZ*0#?#@( #?YZk X ZX(X(#@#@( Y#@[kXkZkY kY  Y  Y   6 +   kYX kYX "?Y"@ZX "?Y"@ZX _ _~~X ]~ X~XX ]~X~XX ]"?  ZY  ZY"4" +ZZ~  (Z "?ZYZY"4" +ZZ~(Z "?ZYZY"4" +ZZ~(Z "BXXZ*0( }{o }} { o vl} { o vl}#}#Fߑ?}"-}.}##llF?}"A}#N@}-} 2( }{}#}"} #}*( }{}*0 s? 8%{(X}(X #Fߑ?Z( #Y@Z #Fߑ?Z( #Y@Z{%{( k"k(< "i="D0?"<9(< ~= ""fff?(> s? X {'{'X{(ѝ{'X{(XѝX{)X?'{'X*ro@ , {+oA (B *0 {+o {+o$ oC ~D (E -oC ~D (E ,*s o% oF oG {&oH  +!{% {*"Hz?(> oI X {)X2{%{*" #<(> oI {%{(X{'{)oJ *{$* *{&*"}&*( *{**"}**(K *0 s% o(o**{,*"},*{-*"}-*0vk{ "@Zvk"`G[(-ZX{ "@Zvk"`G[(.ZX"zD[ "@()[(2Z ('(.Z (-Z(.ZsL * ba"?Z s=Z XZ RX _k"N[Y*(M *(N *0*"I@Z "?(-Y"?Z "?YZZX*(,"@[Y(,"@[XX(,"@[X*0$i kY (0 X(0  (/*0F" "?  "? "?+ Z(1ZX X ZX2*2(7(O *"(O *6{P (6*"(O *zoC (O oC (?oR *N{P oC (@*{.*R}.{P (A*{/*R}/{P (B*r(S }0}1}3*0g{2-}2{2Y{354oT |0{1{2Yvk{3vk[(U oV *{1oV (W &*0{{;Z8  +\Z{DoX oY { ZX{DoX oY { ZX{DoX oY { X n{;j2*0ZsZ }D( }@{@o }As: }B{Bo8 }4}5}6}>{4Y}7{5Y}8{7{6Z}9{8{6Z}:{4{5Z};{7{8ZZ}<{7{8ZZ}={<.}?{9e[ {:[ {9[ {:e[ k{>eks k{> ks s[ }C"?"?{;8}E8 8{4ZX  k"8Zk"8Z({>Z   k"o:Zk"o:Z({>Z" A[X  k ks ""?"s ~\ kZkZsL s?  {D  o] X {6X  >CX{6Y < 88{D n{4jZnXo^ {D Xn{4jZnXjXo^ {D XXn{4jZnXo^ {D XXn{4jZnXo^ {D Xn{4jZnXjXo^ {D XXn{4jZnXjXo^  X Xn{8j?Xn{7j?*no@ , {@o_ (B *{C* *{B*{A{BoH {Ao` oG {A{Doa *r  sb (N*>(N*0 sc }M"?" #<" #<"G=(/ }N"?"p=?"p=?"Q?(/ }O"@@}P"HB}Q" A}R"@}S"@}T"L?}U( }Ho }G{Hrp~F'(d """s5 "?"?s5 oe ~FXF {Gof 38{Gog ~Vrp~WrpSsh  oi +6{Gog ~Xrp~Xr5pSsh  oi {Gof 3<{Gog ~Yrp~ZrpSsh  oi L+:{Gog ~[rp~[r5pSsh  oi L{Hoj ok }I{Iol {Iom {Iom {I om {Gon }J{I{Jo {Ho$ {Hoo }K, {Hop *{I*2(Ooq *0to@ ,&{Ho$ or os ot (u -*{Mov +ow t , ~Lol ox -uE,oy {Io( {Ho$ {H{Kop {Koz o{ o' { o' { D{Ko' { "@o' { Zo' { Yo' { s o& o| o' (} (~ %{ "Z} {K{Ko' "@F( ( o {Ko o +c{Ko' o& o| o' (}   (~ "PCH( {K{Ko' ( o {Ko o {G{J~ o {Ho {Mov  + ow t,  o  ox - uE  , oy {G~ o {Hop {Io( *<(d (3:{Mo &*0t.3D{Go {Go ( {Go ( rIpo o .3@3 rgp"o r}p"?o rp(Oo' { o *( ( ( k rpo rp{Po rp{Qo rp{Ro rp|N( o rp|O( o r%p{So rGp{To rep{Uo rp{Ho$ (T-"+"?o *fo% { o% { *0CFrpVrpWr' pXrpYrpZrp[*0s: }]}i.}j( "D(a (c}n}o }p }m }t}q}s}r(e}w(gr?&p|v{ 8|v{ 8( }u}v|v{ "DZ"|v{ "DZs o& sb (i(]- (_&*{]* *0mo@ ,d{li1Y{wo$ o' oq ( o' ( ( (`"?Z( l4{wo_ (B *04{qnn(djY<}q}roq ( o' ( {wo$ o' ( #?X {t9(`"?ZlA 8 +y{k(fZX{t|v{ "DZ (f\ZvkX"|v{ "DZ (f\ZvkXs o+X (fXDyX (fXDc+}r( *0"{wo {wo$ ,-*{r-@o` oG {]oH {i{sZ{j{sZoJ 8((\o% or os o' {li(b2(b+{li( #@[#?6 l[i8lZ {l q   {z(   (   (`( l= ( 9 (`l#?Z( 63 |{{ -%kk[  (`l[k"@[ ? (f[(f[ |z{ k[kXi |z{ k[kXi |z{ (f\vk[(fvk"@[XkY |z{ (f\vk[(fvk"@[XkY{kj(fnZjXԏq{kXj(fnZjXԏq{kj(fXnZjXԏq{kXj(fXnZjXԏq"?Y( "?Y( ( "?Y( ( "?Y( ( ( ( ( (  {}( { "{ (  |x{+  |x{, k"L?Zi |x{- k"L?Zi |x{. k"L?Zi( {i  {| q o {i o {i X {| q ( o {i X {xo {i X {| q ( o {i X {xo {i X {| q o {i Xo |b{  |{{ Z |{{ X{i {e{fsL oI {i X{e{gsL oI {i X{h{gsL oI {i X{h{fsL oI XX?o` oG {]oH {iZ{jZoJ }s( @o` oG s: o8 oH oq  ( o oq { " #<( (  ( o *0{liZ{ii0{liZ{ji>{ii sc  {io  +,s ""?"s o  o &X {liZ2( o t}io {ji{jo  8ь.o &Xь.o &Xь.o &ь.o &Xь.o &Xь.o &Xь.o &Xь.o &ь.o &Xь.o &Xь.o &ь.o &X X {li Z? .( o t}jo * *^{urc&p( ( *0"B|v{ Z|v{ Xis  o |d }l{po {oo {no sc 8<{l  }| (o k" A[ (o k" A["DY"DY{l |z} {l |z} {l do k"B[}}{l |{|b{ o } /+{l |{|b{ o } +{l |{} o' {l {z(    { {mo { [" { {mo { [(  { l( i  { l( i  ? ? {no { Y=v {no { Y=]  ( q o {+ =4{+ ?'  ( {. k{mo { Z X ( {. k{mo { Z  X( {. k{mo { Z X X( {. k{mo { Z {  kY {  kY"?YZ"?YZZ"?YZX"?YZZXZZX (Fo k"B(5  %{ {. k"HC[Z} {l |z { "?ZX} {l    ( q}x{l    ( q}y|d{l {z( "? { Z" { Z"( {l {| {l {z{ { { s ( {l {| {l {z{ { e{ s ( {l {| {l {z{ { { s (} {l {| {l {z{ { e{ s (} {l q  o &X? ( o t}lo ,(^**{^*"}^*{_*"}_*{`*"}`*{a*n}aXXZ}k*{b*0}b"?{ k["?{ k[s5 }c|b{ |b{ Z8}e|b{ |b{ Z8}f|b{ |b{ Z8}g|b{ |b{ Z8}h 8 8{e|b{ ZX|c{ kZ{f|b{ ZX|c{ XkZ{g|b{ ZX|c{ kZ{h|b{ ZX|c{ XkZX |b{ ?WX |b{ ?;*{d*0( }~}}.}{{{{{{} +{s X 2{""?(> oI {~= o {""(> oI {~= o {"?"(> oI {~= o {"?"?(> oI {~= o s: }{o8 { o3 {o; {o ||"""(< } |"@"@"@(< } *"}*{* *(m*0o@ 9{o o% {o$ o {-6{o o .o . , }~+}~+}~{~,P{o o }( |( ( ( ( ,{oA (B *0n{~9b{o {o$ oC ~D (E -.oC ~D (E -{o oC ~D (E ,*s oG o% {o o { k{ k(> "@( {o o% o { k{ k(> {o o { {o o { [{o o {   "?k[ o|  o   (} (~ & ( (~ &( (~ &"( +{o X2{oH 8-o%   +o"@k[kZ( {o { i{ i( o { (} (~ " ( (  {k Z"?(> oI {k Z"(> oI {Xk Z"(> oI {Xk Z"?(> oI "? kZ( "? kZ( {( ( o {( (} o {(} (} o {(} ( o {{oJ X?L*{*{*"}*05  s s s s }(K *{{oH {{{oJ *0*! { { Y { { Y { { Y l l(" k} %{ ".eBZ} { "4%{ "CX} { "C7%{ "CY} Z ZXl( kll(" k} %{ ".eBZ} %{ "BY} { "4%{ "CX} { "C7%{ "CY} *0s: }| .%( }( }{o }s: }{o {o8 { o3 {o o o "B}| ( *0"{o` oG s {{(wo ""?"s """s o &o &su {{{( ( "?"?"s {""?sL s? {{{e( ( "?""s {"?"?sL s? {{{e( ( ""?"?s {"?"sL s? {{{( ( """?s {""sL s?  (v {{{( ( "?"?"s {""?sL s? {{{e( ( "?""s {"?"?sL s? {{{e( ( ""?"?s {"?"sL s? {{{( ( """?s {""sL s?  (v( 3{oq ~= o *ro@ , {oA (B *{* *{*{*:}(*{*:}(*0#s {{(wo ""?"s """s o &o &|{{( ( } |{{e( ( } |{{( ( ( |{{e( ( ( |{{e( ( ( |{{( ( ( |{{( ( ( |{{e( ( ( |{{e( ( ( |{{( ( ( *{*"}*{*"}*BSJB v2.0.50727l #~x8#Strings<&#UShc#GUIDxc#BlobW= 3S # %7: 2+ `F yk F+ k k k :k k k k k dk k k yk k k k kM: ak k | k  8 Q j       E%e%+%.%=+C+++g+n+ k k k Uk k+ k 9k|]++ lk+ k k k Ok kk |k k k 0ky:+++ k: ++@+W+]] k k xk k"5T_ x_ $_,%_ .3_ .8_0C_ 4E_ FL_ \V_xk_ ~k_u_ v    &*.39EOU^ly!&+O%5ELS_ky&d.W" 4 H S e y Q  &  + J k Kw O     !  ^ c      # 1 h9 B  u u  K y    &! K !&    ! u fz0EZo,AVk(=Rg|$9Ncx'}000$0- 07`4>6D7O7X\8a!5:f"_:k#g:&p#o:0a#x:Bt$:Qt%:bt&:qt':z(;)\?+A.4Ba1D2E2E2GI7G]7Hj7Hz7H7H7H8H9H9H:I<:&I5<.IB<7I[=?Ij=HIC>IK@ JPAJPBJUCRJKFJPGJPHKIK\IKaJ fK lM*K\M3KpNRKvOfK}QnKQK"}RK2R BS PT ^W rYK[K^4L`L`"PIg>PjgFPzgIPgQP]hPhPlPq^S kwfSjwtSwVrw V xW zW{ X!{7Y?YzDYIY 8[]0a c}c } c = i (i 1i B9i FBi4 BJi? FSiS [i_ 8wi Si Xkjk~lllzlmIm]Vqj^q }fq pqq+ q4 0st]$wIAwjIwzLwTwC \wR kwa swn w{ Py Xy ay iy #'#5<CGuwy{uwy{ w<CG'077KMOSSO  <CG<HT`<C<C<CGdpy<CG  )3 = d F0R<CG'<CGaaaaaa aaa!a)F1AIVa0AJ1Zaa9QytyQQQyyaaaaaA9,9A9N9[agImvxz|Y~aA,Aky7y>AD9y9"Nyy78Q~UCu~]d9I}AiyIyaaa >AF\Xa\!9Q 9&}2Nqwu} Ai#9)a/5;AAaQa4W]cxA9F9aA A9j<j9Lqg!!})QQQQ*7uaGAW97_ulay y 1&1,9p YK?qRQ]GlQpG 8q}`lfnwA9~aqqQ 2:aHiFi^Ic9lIvS$q`yqAgm"w9DkaOS~^j~}y}fQ y a$wy(p.;>. 8.8.+8.38.Sn.k.K8.CX.[.csQp2MV$[".       -8D*/3888*/ */J 8W lb li /q p*3/* */   8      !$#(')*<;=>E!H#I%O'P)X+`-a-b/c/d1e1f3g3i5h5j7m9l9n;r=t?s?{A|CE~EGGIIKK moBP^rP ` p !! !0!@!P!`!p!!!!!!!!!"" "0"@"P"`"p"""""""""## #0#@#P#`#p#######s 0" 9Irrlicht.Extensions.dllPerlinSimplexNoiseIrrlichtNETCP.Extensions.OtherATMOSphereIrrlichtNETCP.ExtensionsATMOSkySceneNodeWindGeneratorTTFaceTTFontRotationAnimatorP3DSimplexNoiseTerrainWaterSceneNodeGrassPatchSceneNodeGrassParticleLensflareSceneNodeIrrQuadBeamNodemscorlibSystemObjectIrrlicht.NETIrrlichtNETCP.InheritableISceneNodeIrrlichtNETCPGUIFontIAnimatorValueTypegrad3grad4simplexpperm.cctorfastfloordotnoiseTimerSceneNodeSceneManager.ctorSetStartTimeDateToJulianJulianToDateround360get_Sunget_Speedset_SpeedTextureset_SkyTextureset_StarsTextureset_SunTextureset_LensTextureCreateLensflareprep_interpolationsauleVector3DgetInterpolated3dfUpdateColorfAmbientLightCreateSkyPaletteget_LenssmgrVideoDriverdriverBillboardSceneNodesunskylenstimercurrentTimestartTimedTimedayspeedtime_int_stepcounter_timeJ1minuteJJ1sun_anglevietasun_interpolation_speedsun_pos_fromsun_pos_tosun_angle_fromsun_angle_tostarssuntexskyiduvXdangusradNdateSunSpeedSkyTextureStarsTextureSunTextureLensTextureLensOnRegisterSceneNodeRenderBox3Dget_BoundingBoxget_MaterialCountMaterialget_Materialset_MaterialGetMaterialget_UVset_UVboxVertex3DverticesmaterialindicesvertfaceBoundingBoxMaterialCountUVCreateWindGenerator_strengthget_Strengthset_Strength_regularityget_Regularityset_RegularityVector2DWindrndGeneratorfcosfsincosInterpolaterwindSmoothernoiseInterpolateStrengthRegularityLoadTTFace_LoadTTFace_CreateAttachget_Antialiasset_Antialiasget_Transparentset_TransparentTTFont_CreateTTFont_AttachTTFont_SetAntialiasTTFont_SetTransparencyantialiastransparentAntialiasTransparentm_rotationStartm_rotationEndm_startTimem_durationMsAnimateNode_numVertsPerRow_numVertsPerCol_cellSpacing_numCellsPerRow_numCellsPerCol_width_depthNumVertices_numIndices_numTriangles_heightScale_indices_mgr_driverget_VerticesMeshBuffer_buffer_heightsVertices_current_scene_waternode_rtCameraSceneNode_fixedcamDimension2DfDimension2Dget_WaterNodeClampShaderSystem.CollectionsArrayListclampListTerrainSceneNodeApplyClampingOnTerrainAddedColorMultiColorWaveHeightWaveLengthWaveSpeedWaveDisplacementWaveRepetitionRefractionFactorMaterialRendererServicesOnShaderSetIsUnderwaterWATER_VERTEX_GLSLWATER_FRAGMENT_GLSLWATER_HLSLCLAMP_VERTEX_GLSLCLAMP_FRAGMENT_GLSLCLAMP_HLSLWaterNodeGRASS_PATCH_SIZE_materialOnAnimateReallocateBuffersSaveCreate_drawdistanceget_DrawDistanceset_DrawDistance_maxdensityget_MaxDensityset_MaxDensity_fpslockget_MaxFPSset_MaxFPS_windresget_WindResset_WindRes_imagecount_imagesizeget_ImageCountset_ImageCount_bboxv1v2v3v4IndicesWindGridParticlesTerrainTerrainHeightMapTerrainColourMapTerrainGrassMaplastwindtimeredrawnextlooplastdrawcountWindGenfilenamegridposDrawDistanceMaxDensityMaxFPSWindResImageCountColorcolorstartColorposspritepointsflexget_IgnoreGeometryset_IgnoreGeometrydraw_flareign_geombboxscreensizeIgnoreGeometryvertsvStartvEndBoxflScalebeamColorDrawQuadgetTargetAngleget_StartPointset_StartPointget_EndPointset_EndPointRecalculateBoundingBoxget_BeamScaleset_BeamScaleget_BeamColorset_BeamColorStartPointEndPointBeamScaleBeamColorSystem.ReflectionAssemblyKeyFileAttributeAssemblyDelaySignAttributeAssemblyVersionAttributeAssemblyCultureAttributeAssemblyTrademarkAttributeAssemblyCopyrightAttributeAssemblyProductAttributeAssemblyCompanyAttributeAssemblyConfigurationAttributeAssemblyDescriptionAttributeAssemblyTitleAttributeSystem.Runtime.CompilerServicesCompilationRelaxationsAttributeRuntimeCompatibilityAttributeIrrlicht.ExtensionsInt32{F68E0AFD-7261-4A41-AE27-E2A61C0DCCD7}CompilerGeneratedAttribute__StaticArrayInitTypeSize=16$$method0x6000001-1RuntimeHelpersArrayRuntimeFieldHandleInitializeArray$$method0x6000001-2$$method0x6000001-3$$method0x6000001-4$$method0x6000001-5$$method0x6000001-6$$method0x6000001-7$$method0x6000001-8$$method0x6000001-9$$method0x6000001-10$$method0x6000001-11$$method0x6000001-12$$method0x6000001-13$$method0x6000001-14$$method0x6000001-15$$method0x6000001-16$$method0x6000001-17$$method0x6000001-18$$method0x6000001-19$$method0x6000001-20$$method0x6000001-21$$method0x6000001-22$$method0x6000001-23$$method0x6000001-24$$method0x6000001-25$$method0x6000001-26$$method0x6000001-27$$method0x6000001-28$$method0x6000001-29$$method0x6000001-30$$method0x6000001-31$$method0x6000001-32$$method0x6000001-33$$method0x6000001-34$$method0x6000001-35$$method0x6000001-36$$method0x6000001-37$$method0x6000001-38$$method0x6000001-39$$method0x6000001-40$$method0x6000001-41$$method0x6000001-42$$method0x6000001-43$$method0x6000001-44$$method0x6000001-45$$method0x6000001-46$$method0x6000001-47$$method0x6000001-48$$method0x6000001-49$$method0x6000001-50$$method0x6000001-51$$method0x6000001-52$$method0x6000001-53$$method0x6000001-54$$method0x6000001-55$$method0x6000001-56__StaticArrayInitTypeSize=1024$$method0x6000001-57xgyzwxinyinzinMathSqrt_timerparentmgridget_VideoDriverget_RealTimeDoubleUInt16mdhminFloorTruncateanglevalueSetMaterialTexturetexset_Texture1JdatetimeMatrix4XYZset_RotationDegreesMpllwSinCosTanAtan2Asinfromtorealtimeget_ActiveCameraget_AbsolutePositionset_Positionget_Positionset_VisibleRoundGetPixelARGBFromset_AmbientLightAddSkyBoxSceneNodeget_RootSceneNodeMaterialTypeset_MaterialTypeset_MaterialTypeParamAddBillboardSceneNodeset_LightingfacesCullingTypeset_AutomaticCullingset_ZBufferWhiteget_VisibleSceneNodeRenderPassRegisterNodeForRenderingNativeElementget_RawIntPtrZeroop_Equalityset_TranslationTransformationStateSetTransformSetMaterialset_TCoordsDrawIndexedTriangleLististrengthregularitypositiontimeMsfNewMathFCosFSinabrawname_rawSystem.Runtime.InteropServicesDllImportAttributeIrrlichtWInitializesizefontaliastransp_RotationStartp_rotationEndp_durationMsp_nodep_currentTimeMsget_RotationGetInterpolatedset_RotationNullSingleGetVertexvertsPerRowvertsPerColcellSpacingheightScaleVertexTypeBlackSetVertexSetIndexget_AbsoluteTransformationDrawMeshBuffertileSizetileCountprecisionStringConcatAnimatedMeshAddHillPlaneMeshDriverTypeget_DriverTypeGPUProgrammingServicesget_GPUProgrammingServicesOnShaderConstantSetDelegateVertexShaderTypePixelShaderTypeAddHighLevelShaderMaterialMeshGetMeshAddMeshSceneNodeSetMaterialTypeMaterialFlagSetMaterialFlagCreateRenderTargetTextureAddCameraSceneNodeset_ActiveCameraViewFrustumget_ViewFrustumget_TransformedBoundingBoxIntersectsWithBoxIEnumeratorGetEnumeratorget_CurrentMoveNextIDisposableDisposeget_FarValueset_FarValueget_Targetop_SubtractionNormalizeop_Multiplyop_Additionset_Targetget_UpVectorset_UpVectorTransparentGraySetRenderTargetDrawAllGrayterrainAddservicesuserDataGetTransformToShaderSetVertexShaderConstantSetPixelShaderConstantDateTimeget_NowTimeSpanget_TimeOfDayget_TotalMillisecondsnodecreateIfEmptygridPosfilepathheightMapcolourMapgrassMapwindFormatget_CenterDistanceFromSQSqrDistanceFromIsPointInsideHeightset_ColorWidthDebugSceneTypeget_DebugDataVisibleDraw3DBoxMaxEdgeAddInternalPointICollectionAddRangeset_NormalTypeRuntimeTypeHandleGetTypeFromHandleToArrayClearConsoleWriteLinesaveRandomNextRetrieveget_Scaleget_OriginalSizeAddressStructLayoutAttributeLayoutKindset_ZWriteEnableMinEdgeSceneCollisionManagerget_CollisionManagerPosition2DGetScreenCoordinatesFrom3DPositionGetSceneNodeFromScreenCoordinatesget_Parentget_ScreenSizeToUnmanagedFromUnmanagedRectget_Texture1op_DivisionCrossProductLine3DGetRayFromScreenCoordinatesEndquadvrszBeam__StaticArrayInitTypeSize=24$$method0x6000077-1set_WireframeGetTextureSetTransformVectwatermesh mainvertexMainpixelMainmWorldViewProjDiffuseMapDetailMapWaterPositionY TimeWaveHeightWaveLengthWaveSpeedAddedColorMultiColor!WaveDisplacementWaveRepetition!RefractionFactorUnderWateruniform float Time; uniform float WaveHeight, WaveLength, WaveSpeed; varying vec4 waterpos; varying float addition; void main() { waterpos = ftransform(); addition = (sin((gl_Vertex.x/WaveLength) + (Time * WaveSpeed / 10000.0))) + (cos((gl_Vertex.z/WaveLength) + (Time * WaveSpeed / 10000.0))); waterpos.y += addition * WaveHeight; gl_Position = waterpos; } uniform sampler2D ReflectionTexture; uniform vec4 AddedColor, MultiColor; uniform float UnderWater, WaveDisplacement, WaveRepetition, RefractionFactor; varying vec4 waterpos; varying float addition; void main() { vec4 projCoord = waterpos / waterpos.w; projCoord += vec4(1.0); projCoord *= 0.5; projCoord.x += sin(addition * WaveRepetition) * (WaveDisplacement / 1000.0); projCoord.y += cos(addition * WaveRepetition) * (WaveDisplacement / 1000.0); projCoord = clamp(projCoord, 0.001, 0.999); if(UnderWater == 0.0) projCoord.y = 1.0 - projCoord.y; vec4 refTex = texture2D(ReflectionTexture, vec2(projCoord)); refTex = (refTex + AddedColor) * MultiColor; gl_FragColor = refTex; if(UnderWater == 1.0) { gl_FragColor *= (MultiColor / 1.1); gl_FragColor.a = 0.7; } else gl_FragColor.a = RefractionFactor;} uniform float Time; float4x4 mWorldViewProj; float WaveHeight; float WaveLength; float WaveSpeed; float4 AddedColor; float4 MultiColor; float UnderWater; float WaveDisplacement; float WaveRepetition; float RefractionFactor; struct VS_OUTPUT { float4 Position : POSITION; float4 TexCoord : TEXCOORD0; float Addition : TEXCOORD1; }; VS_OUTPUT vertexMain( float4 vPosition : POSITION, float2 texCoord : TEXCOORD0 ) { VS_OUTPUT Output; Output.Position = mul( vPosition, mWorldViewProj ); Output.Addition = ( sin( ( vPosition.x / WaveLength ) + ( Time * WaveSpeed / 10000.0 ) ) ) + ( cos( ( vPosition.z / WaveLength ) + ( Time * WaveSpeed / 10000.0 ) ) ); Output.TexCoord = Output.Position; Output.TexCoord.y += Output.Addition * WaveHeight; return Output; } struct PS_OUTPUT { float4 RGBColor : COLOR0; }; texture ReflectionTexture; sampler MySampler = sampler_state { Texture = ReflectionTexture; AddressU = CLAMP; AddressV = CLAMP; }; PS_OUTPUT pixelMain( VS_OUTPUT In ) { PS_OUTPUT Output; float4 projCoord = In.TexCoord / In.TexCoord.w; projCoord += float4( 1.0, 1.0, 1.0, 1.0 ); projCoord *= 0.5; projCoord.x += sin( In.Addition * WaveRepetition ) * ( WaveDisplacement / 1000.0 ); projCoord.y += cos( In.Addition * WaveRepetition ) * ( WaveDisplacement / 1000.0 ); projCoord = clamp( projCoord, 0.001, 0.999 ); if( UnderWater == 1.0 ) projCoord.y = 1.0 - projCoord.y; float4 refTex = tex2D( MySampler, projCoord ); refTex = (refTex + AddedColor) * MultiColor; Output.RGBColor = refTex; if( UnderWater == 1.0 ) Output.RGBColor *= (MultiColor / 1.1); Output.RGBColor.a = RefractionFactor; return Output; }varying float cutoff; void main() { cutoff = gl_Vertex.y; gl_Position = ftransform(); gl_TexCoord[0] = gl_MultiTexCoord0; } uniform sampler2D DiffuseMap, DetailMap; uniform float WaterPositionY; varying float cutoff; void main() { vec4 color = texture2D(DiffuseMap, gl_TexCoord[0].st) * 2.0 * texture2D(DetailMap, vec2(gl_TexCoord[0].s * 20.0, gl_TexCoord[0].t * 20.0)); if(cutoff <= (WaterPositionY - 10.0)) color.a = 0.0; else color.a = 1.0; gl_FragColor = color; } uniform float Time; float4x4 mWorldViewProj; float WaterPositionY; struct VS_OUTPUT { float4 Position : POSITION; float4 Diffuse : COLOR0; float2 TexCoord : TEXCOORD0; float2 TexCoord1 : TEXCOORD1; }; VS_OUTPUT vertexMain( in float4 vPosition : POSITION, in float3 vNormal : NORMAL, float2 texCoord : TEXCOORD0, float2 texCoord1 : TEXCOORD1) { VS_OUTPUT Output; Output.Position = mul(vPosition, mWorldViewProj); Output.Diffuse = vPosition; Output.TexCoord = texCoord; Output.TexCoord1 = texCoord1; return Output; } struct PS_OUTPUT { float4 RGBColor : COLOR0; }; sampler2D DiffuseMap; sampler2D DetailMap; PS_OUTPUT pixelMain( float2 TexCoord : TEXCOORD0, float2 TexCoord1 : TEXCOORD1, float4 Position : POSITION, float4 Diffuse : COLOR0 ) { PS_OUTPUT Output; float4 color = tex2D(DiffuseMap, TexCoord) * 2.0f * tex2D(DetailMap, float2(TexCoord1.x * 20.0f, TexCoord1.y * 20.0f)); if(Diffuse.y <= WaterPositionY) color.a = 0.0; else color.a = 1.0; Output.RGBColor = color; return Output; }#{0}/{1}.{2}.grassS could not be saved : not yet implemented arAJ' z\V4         !          % %    ))) -  4!154   )%%(( (%(4 %! 9  = = =   9A=(9( (=(   E)          1     (  ))     ! I ( M !QU !QUU !QUUY ] a  !)%%%     UQ U UE0((Ue) !) 8 ))) ! ) ) e e()(eD Ht8-+          ! 1   %  )    ) M e-  - e)M)) %   5Q ) E ))eE      E A 1M       )) ) A    ))  A    A    I  QU QQ         %U M MM   9  ))))) %e ]M))]9))            ))9)  9) )EE EEE  !e 9e11M)9) 0)  EEEEE)e=9 %)- )A YA  ee e065eeeY )Q) e ) = A E)M EE E IEE E EI % )) EE MEM-1M)UEEEE ))))))))))A) L % )) ))8 ))Irrlicht .NET CP ExtIrrlicht .NET CP3.New features added on the Irrlicht .NET CP lib(#Irrlicht .NET CP Extensions libraryTWrapNonExceptionThrows _CorDllMainmscoree.dll% @0HX4VS_VERSION_INFO0 0 ?DVarFileInfo$TranslationPStringFileInfo,000004b0x/CommentsNew features added on the Irrlicht .NET CP libDCompanyNameIrrlicht .NET CPp$FileDescriptionIrrlicht .NET CP Extensions library@FileVersion0.8.3238.12485PInternalNameIrrlicht.Extensions.dll(LegalCopyright XOriginalFilenameIrrlicht.Extensions.dllLProductNameIrrlicht .NET CP ExtDProductVersion0.8.3238.12485HAssembly Version0.8.3238.12485 06