myspace / CommonLua /Data /MapGen.lua
sirnii's picture
Upload 1816 files
b6a38d7 verified
raw
history blame
37.4 kB
-- ========== GENERATED BY MapGen Editor DO NOT EDIT MANUALLY! ==========
PlaceObj('MapGen', {
'SaveIn', "Common",
'Id', "BiomeCreator",
'OnChange', "",
'Lightmodel', "LevelDesign",
'Dump', true,
}, {
PlaceObj('GridOpRun', {
'Sequence', "WM_ReadGrids",
}),
PlaceObj('GridOpRun', {
'Sequence', "WM_ProcessGrids",
}),
PlaceObj('GridOpRun', {
'Sequence', "WM_MapReset",
}),
PlaceObj('GridOpDbg', {
'RunModes', set( "Debug" ),
'Show', "clear",
}),
PlaceObj('GridOpComment', {
'Comment', "Colorize terrain",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Color",
'InputName', "ColorMap",
'ColorRed', -1000,
'ColorGreen', -1000,
'ColorBlue', -1000,
}),
PlaceObj('GridOpDbg', {
'Enabled', false,
'RunModes', set( "Debug" ),
'Grid', "WaterMap",
'AllowInspect', true,
}),
PlaceObj('GridOpComment', {
'Comment', "Match biomes",
}),
PlaceObj('GridOpMapBiomeMatch', {
'UseParams', true,
'OutputName', "BiomeMap",
'AllowInspect', true,
'BiomeGroupParam', "BiomeGroup",
'HeightMap', "HeightMapDistort",
'SlopeMap', "SlopeMapSmooth",
'WetMap', "WetMapSmooth",
'HardnessMap', "HardnessMap",
'OrientMap', "OrientMap",
'SeaLevelMap', "SeaLevelMap",
'WaterDistMap', "WaterDistDistort",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Biome",
'InputName', "BiomeMap",
}),
PlaceObj('GridOpDbg', {
'RunModes', set( "Debug" ),
'Show', "biome",
'Grid', "ColorMap",
'AllowInspect', true,
'ColorRand', true,
}),
PlaceObj('GridOpComment', {
'Comment', "Set terrain textures",
}),
PlaceObj('GridOpMapPrefabTypes', {
'InputName', "BiomeMap",
'OutputName', "PrefabTypeMap",
'AllowEmptyTypes', true,
}),
PlaceObj('GridOpMapBiomeTexture', {
'InputName', "PrefabTypeMap",
'AllowInspect', true,
'FlowMap', "FlowMap",
'FlowMax', 100,
'HeightMap', "HeightMap",
'GrassMap', "GrassMap",
}),
PlaceObj('GridOpComment', {
'Comment', "Place prefabs",
}),
PlaceObj('BiomeFiller', {
'InputName', "PrefabTypeMap",
'SlopeGrid', "SlopeMap",
}),
PlaceObj('GridOpComment', {
'Comment', "Finalize",
}),
PlaceObj('GridOpRun', {
'Sequence', "PostProcessRandomMap",
}),
})
PlaceObj('MapGen', {
'SaveIn', "Common",
'Id', "BiomeFiller",
'OnChange', "",
}, {
PlaceObj('GridOpMapExport', {
'Operation', "Biome",
'OutputName', "BiomeMap",
}),
PlaceObj('GridOpMapPrefabTypes', {
'InputName', "BiomeMap",
'OutputName', "PrefabTypeMap",
'AllowEmptyTypes', true,
}),
PlaceObj('GridOpDistort', {
'InputName', "PrefabTypeMap",
'OutputName', "PrefabTypeMap",
'Frequency', 50,
'Octave_1', 64,
'Octave_2', 128,
'Octave_4', 512,
'Octave_5', 1024,
'Octave_6', 512,
'Octave_7', 256,
'Octave_8', 128,
'Octave_9', 64,
'Strength', 40,
}),
PlaceObj('BiomeFiller', {
'InputName', "PrefabTypeMap",
}),
})
PlaceObj('MapGen', {
'SaveIn', "Common",
'Id', "ImportHeight",
}, {
PlaceObj('GridOpDir', {
'BaseDir', "svnAssets/Bin/win32/Bin/AppData/temp/",
}),
PlaceObj('GridOpRead', {
'OutputName', "HM",
'FileName', "WorldMap.raw",
'FileFormat', "raw16",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "HM",
}),
})
PlaceObj('MapGen', {
'SaveIn', "Common",
'Id', "MountainDemo",
'OnChange', "",
'Randomize', true,
}, {
PlaceObj('GridOpComment', {
'Comment', "Obtain a mountain pattern. Needs a random shape in the biome grid as input. Used to demonstrate the documentation found in Docs/Internal/MapGenDemo.html.",
}),
PlaceObj('GridOpMapExport', {
'Operation', "Biome",
'OutputName', "Mountain",
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Mountain",
'FileName', "Pattern.png",
'FileFormat', "image",
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Mask",
'InputName', "Mountain",
'OutputName', "Mountain",
'Max', 0,
}),
PlaceObj('GridOpConvert', {
'InputName', "Mountain",
'OutputName', "Mountain",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "Mountain",
'OutputName', "Mountain",
'GridType', "float",
}),
PlaceObj('GridOpComment', {
'Comment', "Calculate distance transform:",
}),
PlaceObj('GridOpDistance', {
'InputName', "Mountain",
'OutputName', "Mountain",
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Mountain",
'FileName', "Distance.png",
'FileFormat', "image",
}),
PlaceObj('GridOpComment', {
'Comment', "Generate Perlin noise between 0 and 1:",
}),
PlaceObj('GridOpNoise', {
'OutputName', "Noise",
'RefName', "Mountain",
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Noise",
'FileName', "Noise.png",
'FileFormat', "image",
}),
PlaceObj('GridOpChangeLim', {
'InputName', "Noise",
'OutputName', "Noise",
}),
PlaceObj('GridOpComment', {
'Comment', "Combine the noise and the distance:",
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "Mountain",
'OutputName', "Mountain",
'MulName', "Noise",
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Mountain",
'FileName', "Combined.png",
'FileFormat', "image",
}),
PlaceObj('GridOpComment', {
'Comment', "Distort the product:",
}),
PlaceObj('GridOpDistort', {
'InputName', "Mountain",
'OutputName', "Mountain",
'Octave_1', 256,
'Octave_3', 1024,
'Octave_4', 512,
'Octave_5', 256,
'Octave_6', 128,
'Octave_7', 64,
'Octave_8', 32,
'Octave_9', 16,
'Strength', 80,
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Mountain",
'FileName', "Distort.png",
'FileFormat', "image",
}),
PlaceObj('GridOpComment', {
'Comment', "Apply errosion:",
}),
PlaceObj('GridOpMapErosion', {
'InputName', "Mountain",
'OutputName', "Mountain",
'Iterations', 200,
}),
PlaceObj('GridOpWrite', {
'RunModes', set( "Debug" ),
'InputName', "Mountain",
'FileName', "Erosion.png",
'FileFormat', "image",
}),
PlaceObj('GridOpComment', {
'Comment', "Apply the the height map:",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "Mountain",
'Normalize', true,
'HeightMax', 30000,
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "MapClear",
}, {
PlaceObj('GridOpMapReset', nil),
PlaceObj('GridOpMapReset', {
'Operation', "Height",
'Type', "TerrainGray",
}),
PlaceObj('GridOpMapReset', {
'Operation', "Grass",
}),
PlaceObj('GridOpMapReset', {
'Operation', "Objects",
'Type', "dirt",
'FilterFlagsAll', set(),
'FilterFlagsAny', set( "Generated", "Permanent" ),
}),
PlaceObj('GridOpMapReset', {
'Operation', "Color",
}),
PlaceObj('GridOpDbg', {
'Show', "clear",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "MapParams",
'RunOnce', true,
}, {
PlaceObj('GridOpParamEval', {
'ParamName', "MapGridSize",
'ParamValue', "point(terrain.TypeMapSize())",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MapGridWidth",
'ParamValue', "MapGridSize:x()",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MapGridHeight",
'ParamValue', "MapGridSize:y()",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "HeightScale",
'ParamValue', "const.TerrainHeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MapMaxHeight",
'ParamValue', "const.MaxTerrainHeight / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "HeightTile",
'ParamValue', "const.HeightTileSize",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "SlabSizeZ",
'ParamValue', "const.SlabSizeZ",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "SlabSizeX",
'ParamValue', "const.SlabSizeX",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "BiomeGroup",
'ParamValue', "mapdata.BiomeGroup",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "HeightMin",
'ParamValue', "mapdata.HeightMin / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "HeightMax",
'ParamValue', "mapdata.HeightMax / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "WetMin",
'ParamValue', "mapdata.WetMin",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "WetMax",
'ParamValue', "mapdata.WetMax",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "GrassGridSize",
'ParamValue', "point(terrain.GrassMapSize())",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "GrassGridWidth",
'ParamValue', "GrassGridSize:x()",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "GrassGridHeight",
'ParamValue', "GrassGridSize:y()",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxSlope",
'ParamValue', "const.MaxPassableTerrainSlope",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MinBumpSlope",
'ParamValue', "mapdata.MinBumpSlope",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxBumpSlope",
'ParamValue', "mapdata.MaxBumpSlope",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxWaterDist",
'ParamValue', "const.RandomMap.BiomeMaxWaterDist",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MinSeaLevel",
'ParamValue', "const.RandomMap.BiomeMinSeaLevel / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxSeaLevel",
'ParamValue', "const.RandomMap.BiomeMaxSeaLevel / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "SeaLevelSub",
'ParamValue', "mapdata.SeaLevel > 0 and -mapdata.SeaLevel / HeightScale",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "PassBorder",
'ParamValue', "mapdata.PassBorder",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "InfinityPositive",
'ParamValue', "max_int",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "InfinityNegative",
'ParamValue', "min_int",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxRaw16",
'ParamValue', "(2^16)-1",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "NoiseExport_CreateBorder",
}, {
PlaceObj('GridOpDraw', {
'OutputName', "Border",
'RefName', "WorkMap",
'DrawBorder', 150,
}),
PlaceObj('GridOpDistance', {
'Operation', "Wave",
'InputName', "Border",
'OutputName', "Border",
}),
PlaceObj('GridOpFilter', {
'InputName', "Border",
'OutputName', "Border",
'Intensity', 5,
}),
PlaceObj('GridOpChangeLim', {
'InputName', "Border",
'OutputName', "Border",
'Smooth', true,
'Remap', true,
'RemapMin', 1000,
'RemapMax', 100,
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "WorkMap",
'OutputName', "WorkMap",
'MulName', "Border",
'Div', 1000,
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "NoiseExport_ShowOnMap",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapClear",
}),
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "WorkMap",
'OutputName', "WorkMapShow",
'Max', 100,
'Remap', true,
'RemapMax', 255,
'RemapMaxParam', "MapMaxHeight",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "WorkMapShow",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "PostProcessRandomMap",
}, {
PlaceObj('GridOpRun', {
'Operation', "Code",
'Code', function (state, grid)
mapdata.IsRandomMap = true
end,
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "ResampleGrids",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "HeightMap",
'OutputName', "HeightMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "FlowMap",
'OutputName', "FlowMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "WetMap",
'OutputName', "WetMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpResample', {
'Optional', true,
'UseParams', true,
'InputName', "WaterDist",
'OutputName', "WaterDist",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpResample', {
'Optional', true,
'UseParams', true,
'InputName', "HardnessMap",
'OutputName', "HardnessMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "WM_MapReset",
}, {
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "HeightMap",
}),
PlaceObj('GridOpMapReset', {
'Operation', "Objects",
'Type', "dirt",
'FilterFlagsAll', set(),
'FilterFlagsAny', set( "Generated", "Permanent" ),
}),
PlaceObj('GridOpMapReset', {
'Operation', "Grass",
'Type', "dirt",
}),
PlaceObj('GridOpMapReset', {
'Enabled', false,
}),
PlaceObj('GridOpMapReset', {
'Operation', "Color",
}),
PlaceObj('GridOpDbg', {
'Show', "clear",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "WM_ProcessGrids",
'RunMode', "Debug",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpComment', {
'Comment', "Remove height bumps and holes ----------------------------------------------",
}),
PlaceObj('GridOpFilter', {
'Operation', "Convolution",
'InputName', "HeightMap",
'OutputName', "HeightMapExtrem",
'Kernel', {
-1,
-1,
-1,
-1,
8,
-1,
-1,
-1,
-1,
},
'Scale', 8,
}),
PlaceObj('GridOpConvert', {
'Operation', "Abs",
'InputName', "HeightMapExtrem",
'OutputName', "HeightMapExtrem",
}),
PlaceObj('GridOpMapSlope', {
'InputName', "HeightMapExtrem",
'OutputName', "HeightMapExtrem",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Clamp",
'InputName', "HeightMapExtrem",
'OutputName', "HeightMapExtrem",
'MinParam', "MinBumpSlope",
'MaxParam', "MaxBumpSlope",
'Scale', 60,
'RemapMax', 100,
}),
PlaceObj('GridOpFilter', {
'InputName', "HeightMapExtrem",
'OutputName', "HeightMapExtrem",
'Intensity', 2,
'RestoreLims', true,
}),
PlaceObj('GridOpFilter', {
'InputName', "HeightMap",
'OutputName', "HeightMapSmooth",
'Intensity', 2,
}),
PlaceObj('GridOpLerp', {
'InputName', "HeightMap",
'OutputName', "HeightMap",
'TargetName', "HeightMapSmooth",
'MaskName', "HeightMapExtrem",
}),
PlaceObj('GridOpDistort', {
'InputName', "HeightMapSmooth",
'OutputName', "HeightMapDistort",
'Octave_4', 186,
'Octave_5', 98,
'Octave_6', 269,
'Octave_7', 205,
'Octave_8', 170,
}),
PlaceObj('GridOpFilter', {
'InputName', "WetMap",
'OutputName', "WetMapSmooth",
'Intensity', 3,
'Kernel', {
1,
2,
1,
2,
4,
2,
1,
2,
1,
},
'Scale', 16,
'RestoreLims', true,
}),
PlaceObj('GridOpComment', {
'Comment', "Slope map ----------------------------------------------",
}),
PlaceObj('GridOpMapSlope', {
'InputName', "HeightMapSmooth",
'OutputName', "SlopeMap",
'Units', "minutes",
}),
PlaceObj('GridOpFilter', {
'InputName', "SlopeMap",
'OutputName', "SlopeMapSmooth",
'Scale', 16,
}),
PlaceObj('GridOpComment', {
'Comment', "Orient map ----------------------------------------------",
}),
PlaceObj('GridOpMapSlope', {
'Operation', "Orientation",
'InputName', "HeightMapSmooth",
'OutputName', "OrientMap",
'Units', "",
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Remap",
'InputName', "OrientMap",
'OutputName', "OrientMap",
'Min', -1,
'Remap', true,
'RemapMax', 1000,
}),
PlaceObj('GridOpComment', {
'Comment', "Water dist ----------------------------------------------",
}),
PlaceObj('GridOpDistort', {
'Optional', true,
'InputName', "WaterDist",
'OutputName', "WaterDistDistort",
'Octave_4', 186,
'Octave_5', 98,
'Octave_6', 269,
'Octave_7', 205,
'Octave_8', 170,
}),
PlaceObj('GridOpFilter', {
'Optional', true,
'InputName', "WaterDist",
'OutputName', "WaterDistCoef",
'Intensity', 5,
'Scale', 16,
'RestoreLims', true,
}),
PlaceObj('GridOpConvert', {
'Optional', true,
'Operation', "Abs",
'InputName', "WaterDistCoef",
'OutputName', "WaterDistCoef",
}),
PlaceObj('GridOpMulDivAdd', {
'Optional', true,
'UseParams', true,
'InputName', "WaterDistCoef",
'OutputName', "WaterDistCoef",
'DivParam', "MaxWaterDist",
}),
PlaceObj('GridOpMulDivAdd', {
'Optional', true,
'InputName', "WaterDistDistort",
'OutputName', "WaterDistDistort",
'MulName', "WaterDistCoef",
}),
PlaceObj('GridOpLerp', {
'Optional', true,
'InputName', "WaterDist",
'OutputName', "WaterDistDistort",
'TargetName', "WaterDistDistort",
'MaskName', "WaterDistCoef",
}),
PlaceObj('GridOpComment', {
'Comment', "Sea level ----------------------------------------------",
}),
PlaceObj('GridOpMulDivAdd', {
'Optional', true,
'UseParams', true,
'InputName', "HeightMapSmooth",
'OutputName', "SeaLevelMap",
'AddParam', "SeaLevelSub",
}),
PlaceObj('GridOpChangeLim', {
'Optional', true,
'UseParams', true,
'Operation', "Clamp",
'InputName', "SeaLevelMap",
'OutputName', "SeaLevelMap",
'MinParam', "MinSeaLevel",
'MaxParam', "MaxSeaLevel",
}),
PlaceObj('GridOpComment', {
'Comment', "Color map ----------------------------------------------",
}),
PlaceObj('GridOpNoise', {
'UseParams', true,
'OutputName', "ColorNoise",
'RefName', "SlopeMap",
'Width', 4096,
'Height', 4096,
'GridType', "float",
'Frequency', 70,
'Octave_1', 16,
'Octave_2', 32,
'Octave_3', 64,
'Octave_5', 256,
'Octave_6', 512,
'Octave_7', 1024,
'Octave_8', 512,
'Octave_9', 256,
}),
PlaceObj('GridOpChangeLim', {
'InputName', "ColorNoise",
'OutputName', "ColorNoise",
'Max', 50,
'MaxParam', "MapMaxHeight",
}),
PlaceObj('GridOpComment', {
'Comment', "Leave the flow in the slopes only, while the noise will cover the plains:",
}),
PlaceObj('GridOpLerp', {
'InputName', "ColorNoise",
'OutputName', "ColorMap",
'TargetName', "FlowMap",
'MaskName', "SlopeMap",
}),
PlaceObj('GridOpComment', {
'Comment', "Flow map ----------------------------------------------",
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Mask",
'InputName', "SlopeMap",
'OutputName', "InvFlatMask",
'Min', 900,
'Max', 100000,
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "FlowMap",
'OutputName', "FlowMap",
'MulName', "InvFlatMask",
}),
})
PlaceObj('MapGen', {
'Group', "SubProc",
'SaveIn', "Common",
'Id', "WM_ReadGrids",
'RunOnce', true,
}, {
PlaceObj('GridOpComment', {
'Comment', "The base directory name matches the loaded map name",
}),
PlaceObj('GridOpDir', {
'Enabled', false,
'BaseDir', "svnAssets/Source/MapGen/alt_02/",
}),
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpComment', {
'Comment', "Wet map",
}),
PlaceObj('GridOpRead', {
'OutputName', "WetMap",
'FileName', "wear.raw",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "WetMap",
'OutputName', "WetMap",
'GridType', "float",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "WetMap",
'OutputName', "WetMap",
'Max', 255,
'Remap', true,
'RemapMinParam', "WetMin",
'RemapMax', 100,
'RemapMaxParam', "WetMax",
}),
PlaceObj('GridOpComment', {
'Comment', "Height map",
}),
PlaceObj('GridOpRead', {
'OutputName', "HeightMap",
'FileName', "height.r16",
}),
PlaceObj('GridOpConvert', {
'Optional', true,
'Operation', "Repack",
'InputName', "HeightMap",
'OutputName', "HeightMap",
'GridType', "float",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "HeightMap",
'OutputName', "HeightMap",
'MaxParam', "MaxRaw16",
'Remap', true,
'RemapMinParam', "HeightMin",
'RemapMaxParam', "HeightMax",
}),
PlaceObj('GridOpComment', {
'Comment', "Flow map",
}),
PlaceObj('GridOpRead', {
'OutputName', "FlowMap",
'FileName', "flow.raw",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "FlowMap",
'OutputName', "FlowMap",
'GridType', "float",
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Remap",
'InputName', "FlowMap",
'OutputName', "FlowMap",
'Max', 255,
'Remap', true,
'RemapMax', 100,
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Clamp",
'InputName', "FlowMap",
'OutputName', "FlowMap",
'Max', 50,
'Smooth', true,
'Remap', true,
'RemapMax', 100,
}),
PlaceObj('GridOpComment', {
'Comment', "Water map",
}),
PlaceObj('GridOpRead', {
'Optional', true,
'OutputName', "WaterMap",
'FileName', "water.r16",
}),
PlaceObj('GridOpConvert', {
'Optional', true,
'Operation', "Repack",
'InputName', "WaterMap",
'OutputName', "WaterMap",
'GridType', "float",
}),
PlaceObj('GridOpRun', {
'Optional', true,
'Operation', "Func",
'InputName', "WaterMap",
'OutputName', "WaterDist",
'Func', "BiomeWaterDist",
}),
PlaceObj('GridOpComment', {
'Comment', "Hardness map",
}),
PlaceObj('GridOpRead', {
'Optional', true,
'OutputName', "HardnessMap",
'FileName', "hardness.raw",
}),
PlaceObj('GridOpConvert', {
'Optional', true,
'Operation', "Repack",
'InputName', "HardnessMap",
'OutputName', "HardnessMap",
'GridType', "float",
}),
PlaceObj('GridOpChangeLim', {
'Operation', "Remap",
'InputName', "HardnessMap",
'OutputName', "HardnessMap",
'Max', 255,
'Remap', true,
'RemapMax', 100,
}),
PlaceObj('GridOpComment', {
'Comment', "Resample in developer mode to use the same grids over different map sizes",
}),
PlaceObj('GridOpRun', {
'Sequence', "ResampleGrids",
}),
PlaceObj('GridOpComment', {
'Comment', "Grass map",
}),
PlaceObj('GridOpNoise', {
'UseParams', true,
'OutputName', "GrassMap",
'WidthParam', "GrassGridWidth",
'HeightParam', "GrassGridHeight",
'GridType', "uint16",
'Frequency', 70,
'Octave_1', 16,
'Octave_2', 32,
'Octave_3', 64,
'Octave_5', 256,
'Octave_6', 512,
'Octave_7', 1024,
'Octave_8', 512,
'Octave_9', 256,
}),
PlaceObj('GridOpChangeLim', {
'InputName', "GrassMap",
'OutputName', "GrassMap",
'Max', 100,
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "GrassMap",
'OutputName', "GrassMap",
'GridType', "uint8",
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "MapBackupRestore",
'OnChange', "",
'RunMode', "Debug",
'Randomize', true,
}, {
PlaceObj('GridOpMapReset', {
'Operation', "Backup",
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "MapBackupStore",
'OnChange', "",
'RunMode', "Debug",
'Randomize', true,
}, {
PlaceObj('GridOpMapReset', {
'Operation', "Backup",
'Overwrite', true,
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "MapHeightMove",
'OnChange', "",
}, {
PlaceObj('GridOpParamEval', {
'ParamName', "HeightChange",
'ParamValue', "10 * guim",
}),
PlaceObj('GridOpRun', {
'Operation', "Code",
'Code', function (state, grid)
ChangeMapZ(state.params.HeightChange)
end,
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "MapHeightScale",
}, {
PlaceObj('GridOpMapExport', {
'Operation', "Height",
'OutputName', "HeightMap",
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "HeightMap",
'OutputName', "HeightMap",
'Mul', 4,
'Div', 5,
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "HeightMap",
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "MapTypeReplace",
}, {
PlaceObj('GridOpMapExport', {
'OutputName', "TypeMap",
}),
PlaceObj('GridOpMapParamType', {
'ParamName', "OldType",
}),
PlaceObj('GridOpMapParamType', {
'ParamName', "NewType",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "OldIdx",
'ParamValue', "GetTerrainTextureIndex(OldType)",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "NewIdx",
'ParamValue', "GetTerrainTextureIndex(NewType)",
}),
PlaceObj('GridOpReplace', {
'UseParams', true,
'InputName', "TypeMap",
'OutputName', "TypeMap",
'OldParam', "OldIdx",
'NewParam', "NewIdx",
}),
PlaceObj('GridOpMapImport', {
'InputName', "TypeMap",
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "ShowGrassDensity",
'OnChange', "",
'RunMode', "Debug",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpMapExport', {
'Operation', "Grass",
'OutputName', "DbgGrid",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "DbgGrid",
'OutputName', "DbgGrid",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpDbg', {
'Grid', "DbgGrid",
'Normalize', false,
'ValueMax', 100,
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "ShowSoundSources",
'OnChange', "",
'RunMode', "Debug",
}, {
PlaceObj('GridOpRun', {
'Operation', "Code",
'OutputName', "DbgGrid",
'Code', function (state, grid)
local mw, mh = terrain.GetMapSize()
local gw, gh = terrain.TypeMapSize()
local g = NewComputeGrid(gw, gh, "u", 16)
local hash_to_value = {}
local values = 0
MapForEach("map", "SoundSource", function(obj)
local h = obj:GetSoundHash()
local v = hash_to_value[h]
if not v then
v = values + 1
hash_to_value[h] = v
assert(v <= 256)
values = v
end
local mr = obj:ResolveLoudDistance()
if mr > 0 then
local gr = mr * gw / mw
local mx, my = obj:GetPosXYZ()
local gx, gy = mx * gw / mw, my * gh / mh
GridCircleSet(g, v, gx, gy, gr)
end
end)
return nil, g
end,
}),
PlaceObj('GridOpDbg', {
'Grid', "DbgGrid",
'ColorRand', true,
'InvalidValue', 0,
'ColorFrom', RGBA(255, 0, 0, 0),
'ColorTo', RGBA(128, 0, 0, 255),
'Normalize', false,
'ValueMax', 2,
}),
})
PlaceObj('MapGen', {
'Group', "Tools",
'SaveIn', "Common",
'Id', "ShowTerrainTypes",
'RunMode', "Debug",
}, {
PlaceObj('GridOpMapExport', {
'OutputName', "DbgGrid",
}),
PlaceObj('GridOpDbg', {
'Grid', "DbgGrid",
'ColorRand', true,
}),
})
PlaceObj('MapGen', {
'Group', "WM",
'SaveIn', "Common",
'Id', "CreateFlatMaskFromHeight",
'Comment', "Create WM_FlatMask + WM_HeightMap",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpMapExport', {
'Operation', "Height",
'OutputName', "HeightMapOriginal",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'Operation', "Extend",
'InputName', "HeightMapOriginal",
'OutputName', "HeightMap",
'Width', 4096,
'WidthParam', "MapGridWidth",
'Height', 4096,
'HeightParam', "MapGridHeight",
'ExtendMode', 1,
}),
PlaceObj('GridOpMapSlope', {
'InputName', "HeightMap",
'OutputName', "HeightMapSlope",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaxPlaySin",
'ParamValue', "sin(const.RandomMap.PrefabMaxPlayAngle)",
'ParamLocal', true,
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MaskBorder",
'ParamValue', "(PassBorder + 50*guim) / HeightTile",
'ParamLocal', true,
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "HeightMapSlope",
'OutputName', "HeightMapSlope",
'Mul', 4096,
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Mask",
'InputName', "HeightMapSlope",
'OutputName', "FlatMask",
'Max', 0,
'MaxParam', "MaxPlaySin",
}),
PlaceObj('GridOpDraw', {
'UseParams', true,
'OutputName', "HeightMapFrame",
'RefName', "HeightMap",
'GridDefault', 1,
'DrawValue', 0,
'DrawBorderParam', "MaskBorder",
}),
PlaceObj('GridOpMulDivAdd', {
'InputName', "FlatMask",
'OutputName', "FlatMask",
'MulName', "HeightMapFrame",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "MinPlayRadius",
'ParamValue', "40*guim",
'ParamLocal', true,
}),
PlaceObj('GridOpEnumAreas', {
'UseParams', true,
'InputName', "FlatMask",
'OutputName', "FlatZones",
'MinBorderParam', "MinPlayRadius",
'TileParam', "HeightTile",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "SmoothDist",
'ParamValue', "64*guim",
'ParamLocal', true,
}),
PlaceObj('GridOpDistance', {
'UseParams', true,
'Operation', "Wave",
'InputName', "FlatZones",
'OutputName', "FlatZonesDist",
'Tile', 1000,
'TileParam', "HeightTile",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Clamp",
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesDist",
'Max', 100,
'MaxParam', "SmoothDist",
}),
PlaceObj('GridOpDistort', {
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesDist",
'Frequency', 60,
'Octave_1', 32,
'Octave_2', 64,
'Octave_3', 128,
'Octave_4', 256,
'Octave_5', 512,
'Octave_6', 1024,
'Octave_7', 512,
'Octave_8', 256,
'Octave_9', 128,
'Strength', 30,
}),
PlaceObj('GridOpFilter', {
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesDist",
'Intensity', 2,
}),
PlaceObj('GridOpDbg', {
'Grid', "FlatZonesDist",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesWrite",
'Max', 65535,
'MaxParam', "MaxRaw16",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "FlatZonesWrite",
'OutputName', "FlatZonesWrite",
'GridType', "uint16",
'GridRound', true,
}),
PlaceObj('GridOpWrite', {
'InputName', "FlatZonesWrite",
'FileRelative', true,
'FileName', "WM_FlatMask.r16",
'FileFormat', "raw16",
'Normalize', false,
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "HeightMap",
'OutputName', "HeightMapWrite",
'MinParam', "HeightMin",
'Max', 100,
'MaxParam', "HeightMax",
'Remap', true,
'RemapMax', 65535,
'RemapMaxParam', "MaxRaw16",
}),
PlaceObj('GridOpWrite', {
'InputName', "HeightMapWrite",
'FileRelative', true,
'FileName', "WM_HeightMap.r16",
'FileFormat', "raw16",
'Normalize', false,
}),
})
PlaceObj('MapGen', {
'Group', "WM",
'SaveIn', "Common",
'Id', "CreateFlatMaskFromTexture",
'Comment', "Create WM_FlatMask + WM_HeightMap",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpComment', {
'Comment', "---- Export the height map",
}),
PlaceObj('GridOpMapExport', {
'Operation', "Height",
'OutputName', "HeightMapOriginal",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'Operation', "Extend",
'InputName', "HeightMapOriginal",
'OutputName', "HeightMap",
'Width', 4096,
'WidthParam', "MapGridWidth",
'Height', 4096,
'HeightParam', "MapGridHeight",
'ExtendMode', 1,
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "HeightMap",
'OutputName', "HeightMapWrite",
'MinParam', "HeightMin",
'Max', 100,
'MaxParam', "HeightMax",
'Remap', true,
'RemapMax', 65535,
'RemapMaxParam', "MaxRaw16",
}),
PlaceObj('GridOpWrite', {
'InputName', "HeightMapWrite",
'FileRelative', true,
'FileName', "WM_HeightMap.r16",
'FileFormat', "raw16",
'Normalize', false,
}),
PlaceObj('GridOpComment', {
'Comment', "---- Export the flat mask",
}),
PlaceObj('GridOpMapExport', {
'OutputName', "TypeMapOriginal",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'Operation', "Extend",
'InputName', "TypeMapOriginal",
'OutputName', "TypeMap",
'Width', 4096,
'WidthParam', "MapGridWidth",
'Height', 4096,
'HeightParam', "MapGridHeight",
'ExtendMode', 1,
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Mask",
'InputName', "TypeMap",
'OutputName', "TypeMapMask",
'Max', 0,
'Remap', true,
'RemapMin', 1,
'RemapMax', 0,
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "TypeMapMask",
'OutputName', "TypeMapMask",
'GridType', "float",
}),
PlaceObj('GridOpParamEval', {
'ParamName', "SmoothDist",
'ParamValue', "64*guim",
'ParamLocal', true,
}),
PlaceObj('GridOpDistance', {
'UseParams', true,
'Operation', "Wave",
'InputName', "TypeMapMask",
'OutputName', "FlatZonesDist",
'Tile', 1000,
'TileParam', "HeightTile",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Clamp",
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesDist",
'Max', 100,
'MaxParam', "SmoothDist",
}),
PlaceObj('GridOpFilter', {
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesDist",
'Intensity', 2,
}),
PlaceObj('GridOpDbg', {
'Grid', "FlatZonesDist",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'InputName', "FlatZonesDist",
'OutputName', "FlatZonesWrite",
'Max', 65535,
'MaxParam', "MaxRaw16",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "FlatZonesWrite",
'OutputName', "FlatZonesWrite",
'GridType', "uint16",
'GridRound', true,
}),
PlaceObj('GridOpWrite', {
'InputName', "FlatZonesWrite",
'FileRelative', true,
'FileName', "WM_FlatMask.r16",
'FileFormat', "raw16",
'Normalize', false,
}),
})
PlaceObj('MapGen', {
'Group', "WM",
'SaveIn', "Common",
'Id', "GenerateHeightFromNoise",
'Comment', "Generate WM_HeightMap from noise",
'Lightmodel', "LevelDesign",
'Randomize', true,
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpNoise', {
'UseParams', true,
'OutputName', "WorkMap",
'Width', 4096,
'WidthParam', "MapGridWidth",
'Height', 4096,
'HeightParam', "MapGridHeight",
'GridType', "float",
'Frequency', 0,
'Persistence', 40,
'Octaves', 6,
'Octave_2', 409,
'Octave_3', 163,
'Octave_4', 65,
'Octave_5', 26,
'Octave_6', 10,
}),
PlaceObj('GridOpDistort', {
'InputName', "WorkMap",
'OutputName', "WorkMap",
'Frequency', 10,
'Octave_1', 512,
'Octave_2', 1024,
'Octave_3', 512,
'Octave_4', 256,
'Octave_5', 128,
'Octave_6', 64,
'Octave_7', 32,
'Octave_8', 16,
'Octave_9', 8,
'Scale', 200,
}),
PlaceObj('GridOpChangeLim', {
'InputName', "WorkMap",
'OutputName', "WorkMap",
'Min', 10,
'Max', 90,
'MaxParam', "MapMaxHeight",
}),
PlaceObj('GridOpRun', {
'Sequence', "NoiseExport_CreateBorder",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "WorkMap",
'OutputName', "WorkMapWrite",
'Max', 100,
'Remap', true,
'RemapMax', 255,
'RemapMaxParam', "MaxRaw16",
}),
PlaceObj('GridOpConvert', {
'Operation', "Repack",
'InputName', "WorkMapWrite",
'OutputName', "WorkMapWrite",
'GridType', "uint16",
}),
PlaceObj('GridOpWrite', {
'InputName', "WorkMapWrite",
'FileRelative', true,
'FileName', "WM_HeightMap.r16",
'FileFormat', "raw16",
'Normalize', false,
}),
PlaceObj('GridOpRun', {
'Sequence', "NoiseExport_ShowOnMap",
}),
})
PlaceObj('MapGen', {
'Group', "WM",
'SaveIn', "Common",
'Id', "ShowGrids",
'Comment', "Show WM_HeightMap + WM_FlatMask",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpRun', {
'Sequence', "MapClear",
}),
PlaceObj('GridOpRead', {
'Comment', "Read the height map",
'OutputName', "HeightMap",
'FileName', "WM_HeightMap.r16",
'FileFormat', "raw16",
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "HeightMap",
'OutputName', "HeightMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "HeightMap",
'OutputName', "HeightMap",
'Max', 65535,
'MaxParam', "MaxRaw16",
'Remap', true,
'RemapMin', 10000,
'RemapMinParam', "HeightMin",
'RemapMax', 50000,
'RemapMaxParam', "HeightMax",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "HeightMap",
}),
PlaceObj('GridOpRead', {
'Optional', true,
'Comment', "Read the flat mask",
'OutputName', "FlatMask",
'FileName', "WM_FlatMask.r16",
'FileFormat', "raw16",
}),
PlaceObj('GridOpResample', {
'Optional', true,
'UseParams', true,
'InputName', "FlatMask",
'OutputName', "FlatMask",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpChangeLim', {
'Optional', true,
'Operation', "Mask",
'InputName', "FlatMask",
'OutputName', "FlatMask",
'Max', 0,
'Remap', true,
'RemapMin', 1,
'RemapMax', 0,
}),
PlaceObj('GridOpParamEval', {
'Comment', "Terrain used to draw the mask at index 1",
'ParamName', "DrawMaskTerrain",
'ParamValue', "TerrainTextures[1].id",
}),
PlaceObj('GridOpMapImport', {
'Optional', true,
'UseParams', true,
'InputName', "FlatMask",
'TextureType', "Grass_01",
'TextureTypeParam', "DrawMaskTerrain",
}),
})
PlaceObj('MapGen', {
'Group', "WM",
'SaveIn', "Common",
'Id', "ShowPng",
'Comment', "Show HeightMapOrig",
}, {
PlaceObj('GridOpRun', {
'Sequence', "MapParams",
}),
PlaceObj('GridOpRun', {
'Sequence', "MapClear",
}),
PlaceObj('GridOpRead', {
'OutputName', "HeightMap",
'FileName', "HeightMapOrig.png",
'FileFormat', "image",
}),
PlaceObj('GridOpChangeLim', {
'UseParams', true,
'Operation', "Remap",
'InputName', "HeightMap",
'OutputName', "HeightMap",
'Max', 255,
'Remap', true,
'RemapMin', 10000,
'RemapMinParam', "HeightMin",
'RemapMax', 50000,
'RemapMaxParam', "HeightMax",
}),
PlaceObj('GridOpFilter', {
'InputName', "HeightMap",
'OutputName', "HeightMap",
'Intensity', 3,
}),
PlaceObj('GridOpResample', {
'UseParams', true,
'InputName', "HeightMap",
'OutputName', "HeightMap",
'WidthParam', "MapGridWidth",
'HeightParam', "MapGridHeight",
}),
PlaceObj('GridOpMapImport', {
'Operation', "Height",
'InputName', "HeightMap",
}),
})