| <div><code>--------------------------------------------------------------------------------</code></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>-- mapinfo.lua</code></div><div><code>--</code></div><div><br/></div><div><code>local mapinfo = {</code></div><div><code>name = "EvoRTS - Craggy Creek -",</code></div><div><code>shortname = "",</code></div><div><code>description = "",</code></div><div><code>author = "",</code></div><div><code>version = "v08",</code></div><div><code>--mutator = "deployment";</code></div><div><code>--mapfile = "", --// location of smf/sm3 file (optional)</code></div><div><code>modtype = 3, --// 1=primary, 0=hidden, 3=map</code></div><div><code>depend = {"Map Helper v1", "Spring Features 1.0"},</code></div><div><code>replace = {},</code></div><div><br/></div><div><code>--startpic = "", --// deprecated</code></div><div><code>--StartMusic = "", --// deprecated</code></div><div><br/></div><div><code>maphardness = 800,</code></div><div><code>notDeformable = false,</code></div><div><code>gravity = 130,</code></div><div><code>tidalStrength = 0,</code></div><div><code>maxMetal = 1,</code></div><div><code>extractorRadius = 150,</code></div><div><code>voidWater = false,</code></div><div><code>autoShowMetal = true,</code></div><div><br/></div><div><br/></div><div><code>smf = {</code></div><div><code>minheight = -100,</code></div><div><code>maxheight = 900,</code></div><div><code>--smtFileName0 = "",</code></div><div><code>--smtFileName1 = "",</code></div><div><code>--smtFileName.. = "",</code></div><div><code>--smtFileNameN = "",</code></div><div><code>},</code></div><div><br/></div><div><code>sound = {</code></div><div><code>--// Sets the _reverb_ preset (= echo parameters),</code></div><div><code>--// passfilter (the direct sound) is unchanged.</code></div><div><code>--//</code></div><div><code>--// To get a list of all possible presets check:</code></div><div><code>--// [https://github.com/spring/spring/blob/master/rts/System/Sound/EFXPresets.cpp https://github.com/spring/spring/blob/master/rts/System/Sound/EFXPresets.cpp]</code></div><div><code>--//</code></div><div><code>--// Hint:</code></div><div><code>--// You can change the preset at runtime via:</code></div><div><code>--// /tset UseEFX [1|0]</code></div><div><code>--// /tset snd_eaxpreset preset_name (may change to a real cmd in the future)</code></div><div><code>--// /tset snd_filter %gainlf %gainhf (may " " " " " " " " )</code></div><div><code>preset = "default",</code></div><div><br/></div><div><code>passfilter = {</code></div><div><code>--// Note, you likely want to set these</code></div><div><code>--// tags due to the fact that they are</code></div><div><code>--// _not_ set by `preset`!</code></div><div><code>--// So if you want to create a muffled</code></div><div><code>--// sound you need to use them.</code></div><div><code>gainlf = 1.0,</code></div><div><code>gainhf = 1.0,</code></div><div><code>},</code></div><div><br/></div><div><code>reverb = {</code></div><div><code>--// Normally you just want use the `preset` tag</code></div><div><code>--// but you can use handtweak a preset if wanted</code></div><div><code>--// with the following tags.</code></div><div><code>--// To know their function & ranges check the</code></div><div><code>--// official OpenAL1.1 SDK document.</code></div><div></div><div><code>--density</code></div><div><code>--diffusion</code></div><div><code>--gain</code></div><div><code>--gainhf</code></div><div><code>--gainlf</code></div><div><code>--decaytime</code></div><div><code>--decayhflimit</code></div><div><code>--decayhfratio</code></div><div><code>--decaylfratio</code></div><div><code>--reflectionsgain</code></div><div><code>--reflectionsdelay</code></div><div><code>--reflectionspan</code></div><div><code>--latereverbgain</code></div><div><code>--latereverbdelay</code></div><div><code>--latereverbpan</code></div><div><code>--echotime</code></div><div><code>--echodepth</code></div><div><code>--modtime</code></div><div><code>--moddepth</code></div><div><code>--airabsorptiongainhf</code></div><div><code>--hfreference</code></div><div><code>--lfreference</code></div><div><code>--roomrollofffactor</code></div><div><code>},</code></div><div><code>},</code></div><div><br/></div><div><code>resources = {</code></div><div><code>grassBladeTex = "grassbladetex.bmp",</code></div><div><code>--grassShadingTex = "grassshading.bmp",</code></div><div><code>--detailTex = "",</code></div><div><code>specularTex = "specularmap.bmp",</code></div><div><code>splatDetailTex = "splattex.tga",</code></div><div><code>splatDistrTex = "splatdistribution.tga",</code></div><div><code>--skyReflectModTex = "",</code></div><div><code>--detailNormalTex = "detailtex.bmp",</code></div><div><code>--lightEmissionTex = "",</code></div><div><code>},</code></div><div><br/></div><div><code>splats = {</code></div><div><code>TexScales={ 0.006, 0.006, 0.006, 0.0005 },</code></div><div><code>TexMults={ 0.3, 0.3, 0.2, 0.1 },</code></div><div><code>},</code></div><div><br/></div><div><code>atmosphere = {</code></div><div><code>minWind = 1.0,</code></div><div><code>maxWind = 30.0,</code></div><div><br/></div><div><code>fogStart = 0.7,</code></div><div><code>fogEnd = 1.0,</code></div><div><code>fogColor = {0.8, 1, 1},</code></div><div><br/></div><div><code>sunColor = {1.0, 1.0, 1.0},</code></div><div><code>skycolor = { 0.1, 0.15, 0.7 },</code></div><div><code>skyDir = {0.0, 0.0, -1.0},</code></div><div><code>skyBox = "",</code></div><div><br/></div><div><code>cloudDensity = 0.5,</code></div><div><code>cloudColor = {1.0, 1.0, 1.0},</code></div><div><code>},</code></div><div><br/></div><div><code>grass = {</code></div><div><code>bladeWaveScale = 1.0,</code></div><div><code>bladeWidth = 0.5,</code></div><div><code>bladeHeight = 6.0,</code></div><div><code>bladeAngle = 1.57,</code></div><div><code>bladeColor = {0.59, 0.81, 0.57}, --// does nothing when `grassBladeTex` is set</code></div><div><code>},</code></div><div><br/></div><div><code>lighting = {</code></div><div><code>--// dynsun</code></div><div><code>sunStartAngle = 0.0,</code></div><div><code>sunOrbitTime = 1440.0,</code></div><div><code>sundir = { 0, 0.50, -1 },</code></div><div><br/></div><div><code>--// unit & ground lighting</code></div><div><code> groundambientcolor = { 0.8, 0.8, 0.85 },</code></div><div><code> grounddiffusecolor = { 1.0, 0.9, 0.8 },</code></div><div><code> groundshadowdensity = 1.3,</code></div><div><code> unitambientcolor = { 0.5, 0.5, 0.5 },</code></div><div><code> unitdiffusecolor = { 1.0, 0.9, 0.8 },</code></div><div><code> unitshadowdensity = 0.8,</code></div><div><code>specularsuncolor = { 0.6, 0.7, 0.9 },</code></div><div></div><div><code>specularExponent = 100.0,</code></div><div><code>},</code></div><div></div><div><code>water = {</code></div><div><code>damage = 0.0,</code></div><div><br/></div><div><code>repeatX = 0.0,</code></div><div><code>repeatY = 0.0,</code></div><div><br/></div><div><code>absorb = { 0.05, 0.05, 0.05 },</code></div><div><code>basecolor = { 0.5, 1, 0.5 },</code></div><div><code>mincolor = { 0.1, 0.1, 0.10 },</code></div><div><br/></div><div><code>ambientFactor = 1.0,</code></div><div><code>diffuseFactor = 1.0,</code></div><div><code>specularFactor = 1.0,</code></div><div><code>specularPower = 20.0,</code></div><div><br/></div><div><code>planeColor = {0.0, 0.5, 0.0},</code></div><div><br/></div><div><code>surfacecolor = { 0.5, 0.9, 0.5 },</code></div><div><code>surfaceAlpha = 0.1,</code></div><div><code>diffuseColor = {1.0, 1.0, 1.0},</code></div><div><code>specularColor = {0.8, 0.7, 0.65},</code></div><div><br/></div><div><code>fresnelMin = 0.2,</code></div><div><code>fresnelMax = 0.8,</code></div><div><code>fresnelPower = 4.0,</code></div><div><br/></div><div><code>reflectionDistortion = 1.0,</code></div><div><br/></div><div><code>blurBase = 2.0,</code></div><div><code>blurExponent = 1.5,</code></div><div><br/></div><div><code>perlinStartFreq = 8.0,</code></div><div><code>perlinLacunarity = 3.0,</code></div><div><code>perlinAmplitude = 0.9,</code></div><div><code>windSpeed = 1.0, --// does nothing yet</code></div><div><br/></div><div><code>shoreWaves = true,</code></div><div><code>forceRendering = false,</code></div><div><br/></div><div><code>--// undefined == load them from resources.lua!</code></div><div><code>--texture = "",</code></div><div><code>--foamTexture = "",</code></div><div><code>--normalTexture = "",</code></div><div><code>--caustics = {</code></div><div><code>--"",</code></div><div><code>--"",</code></div><div><code>--},</code></div><div><code>},</code></div><div><br/></div><div><code>teams = {</code></div><div><code>[0] = {startPos = {x = 7779, z = 2147}},</code></div><div><code>[1] = {startPos = {x = 353, z = 1982}},</code></div><div><code>},</code></div><div><br/></div><div><code>terrainTypes = {</code></div><div><code>[0] = {</code></div><div><code>name = "Default",</code></div><div><code>hardness = 1.0,</code></div><div><code>receiveTracks = true,</code></div><div><code>moveSpeeds = {</code></div><div><code>tank = 1.0,</code></div><div><code>kbot = 1.0,</code></div><div><code>hover = 1.0,</code></div><div><code>ship = 1.0,</code></div><div><code>},</code></div><div><code>},</code></div><div><code>},</code></div><div><br/></div><div><code>custom = {</code></div><div><code>fog = {</code></div><div><code>color = {0.26, 0.30, 0.41},</code></div><div><code>height = "80%", --// allows either absolue sizes or in percent of map's MaxHeight</code></div><div><code>fogatten = 0.003,</code></div><div><code>},</code></div><div><code>precipitation = {</code></div><div><code>density = 30000,</code></div><div><code>size = 1.5,</code></div><div><code>speed = 50,</code></div><div><code>windscale = 1.2,</code></div><div><code>texture = 'LuaGaia/effects/snowflake.png',</code></div><div><code>},</code></div><div><code>},</code></div><div><code>}</code></div><div><br/></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>-- Helper</code></div><div><br/></div><div><code>local function lowerkeys(ta)</code></div><div><code>local fix = {}</code></div><div><code>for i,v in pairs(ta) do</code></div><div><code>if (type(i) == "string") then</code></div><div><code>if (i ~= i:lower()) then</code></div><div><code>fix[#fix+1] = i</code></div><div><code>end</code></div><div><code>end</code></div><div><code>if (type(v) == "table") then</code></div><div><code>lowerkeys(v)</code></div><div><code>end</code></div><div><code>end</code></div><div></div><div><code>for i=1,#fix do</code></div><div><code>local idx = fix[i]</code></div><div><code>ta[idx:lower()] = ta[idx]</code></div><div><code>ta[idx] = nil</code></div><div><code>end</code></div><div><code>end</code></div><div><br/></div><div><code>lowerkeys(mapinfo)</code></div><div><br/></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>-- Map Options</code></div><div><br/></div><div><code>do</code></div><div><code>local function tmerge(t1, t2)</code></div><div><code>for i,v in pairs(t2) do</code></div><div><code>if (type(v) == "table") then</code></div><div><code>t1[i] = t1[i] or {}</code></div><div><code>tmerge(t1[i], v)</code></div><div><code>else</code></div><div><code>t1[i] = v</code></div><div><code>end</code></div><div><code>end</code></div><div><code>end</code></div><div><br/></div><div><code>getfenv()["mapinfo"] = mapinfo</code></div><div><code>local files = VFS.DirList("mapconfig/mapinfo/", "*.lua")</code></div><div><code>table.sort(files)</code></div><div><code>for i=1,#files do</code></div><div><code>local newcfg = VFS.Include(files[i])</code></div><div><code>if newcfg then</code></div><div><code>lowerkeys(newcfg)</code></div><div><code>tmerge(mapinfo, newcfg)</code></div><div><code>end</code></div><div><code>end</code></div><div><code>getfenv()["mapinfo"] = nil</code></div><div><code>end</code></div><div><br/></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>--------------------------------------------------------------------------------</code></div><div><br/></div><div><code>return mapinfo</code></div><div><br/></div><div><code>--------------------------------------------------------------------------------</code></div><div><code>--------------------------------------------------------------------------------</code></div><div><br/></div>
| | == MapInfo.lua == |