forked from 0ad/0ad
Tweaks resources in all random maps.
Updates progress steps for random maps. Latium is not circular, so explicitly set that. Fixes some weirdness with Atlas random map generation. This was SVN commit r9470.
This commit is contained in:
parent
f6ffe7f121
commit
0fc0335285
@ -237,7 +237,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RMS.SetProgress(5);
|
RMS.SetProgress(10);
|
||||||
|
|
||||||
// create lakes
|
// create lakes
|
||||||
log("Creating lakes...");
|
log("Creating lakes...");
|
||||||
@ -255,6 +255,8 @@ var waterAreas = createAreas(
|
|||||||
numLakes
|
numLakes
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(15);
|
||||||
|
|
||||||
// create reeds
|
// create reeds
|
||||||
log("Creating reeds...");
|
log("Creating reeds...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -266,6 +268,8 @@ createObjectGroupsByAreas(group, 0,
|
|||||||
waterAreas
|
waterAreas
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(20);
|
||||||
|
|
||||||
// create fish
|
// create fish
|
||||||
log("Creating fish...");
|
log("Creating fish...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -279,7 +283,7 @@ createObjectGroupsByAreas(group, 0,
|
|||||||
);
|
);
|
||||||
waterAreas = [];
|
waterAreas = [];
|
||||||
|
|
||||||
RMS.SetProgress(22);
|
RMS.SetProgress(25);
|
||||||
|
|
||||||
// create bumps
|
// create bumps
|
||||||
log("Creating bumps...");
|
log("Creating bumps...");
|
||||||
@ -292,7 +296,7 @@ createAreas(
|
|||||||
scaleByMapSize(100, 200)
|
scaleByMapSize(100, 200)
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(25);
|
RMS.SetProgress(30);
|
||||||
|
|
||||||
// create hills
|
// create hills
|
||||||
log("Creating hills...");
|
log("Creating hills...");
|
||||||
@ -302,14 +306,14 @@ terrainPainter = new LayeredPainter(
|
|||||||
[2] // widths
|
[2] // widths
|
||||||
);
|
);
|
||||||
elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 12, 2);
|
elevationPainter = new SmoothElevationPainter(ELEVATION_SET, 12, 2);
|
||||||
var hillAreas = createAreas(
|
createAreas(
|
||||||
placer,
|
placer,
|
||||||
[terrainPainter, elevationPainter, paintClass(clHill)],
|
[terrainPainter, elevationPainter, paintClass(clHill)],
|
||||||
avoidClasses(clPlayer, 2, clWater, 5, clHill, 15),
|
avoidClasses(clPlayer, 2, clWater, 5, clHill, 15),
|
||||||
scaleByMapSize(1, 4) * numPlayers
|
scaleByMapSize(1, 4) * numPlayers
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(30);
|
RMS.SetProgress(35);
|
||||||
|
|
||||||
// calculate desired number of trees for map (based on size)
|
// calculate desired number of trees for map (based on size)
|
||||||
const MIN_TREES = 500;
|
const MIN_TREES = 500;
|
||||||
@ -340,35 +344,14 @@ for (var i = 0; i < types.length; ++i)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
RMS.SetProgress(53);
|
RMS.SetProgress(40);
|
||||||
|
|
||||||
log("Creating stone mines...");
|
|
||||||
// create stone
|
|
||||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,8), new SimpleObject(oStoneLarge, 0,1, 0,8)], true, clRock);
|
|
||||||
createObjectGroupsByAreas(group, 0,
|
|
||||||
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clRock, 10),
|
|
||||||
borderClasses(clHill, 1, 4)],
|
|
||||||
scaleByMapSize(1,4) * numPlayers, 100,
|
|
||||||
hillAreas
|
|
||||||
);
|
|
||||||
|
|
||||||
log("Creating metal mines...");
|
|
||||||
// create metal
|
|
||||||
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,8)], true, clMetal);
|
|
||||||
createObjectGroupsByAreas(group, 0,
|
|
||||||
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clMetal, 10, clRock, 5),
|
|
||||||
borderClasses(clHill, 1, 4)],
|
|
||||||
scaleByMapSize(1,4) * numPlayers, 100,
|
|
||||||
hillAreas
|
|
||||||
);
|
|
||||||
hillAreas = [];
|
|
||||||
|
|
||||||
// create dirt patches
|
// create dirt patches
|
||||||
log("Creating dirt patches...");
|
log("Creating dirt patches...");
|
||||||
var sizes = [0.000183, 0.000321, 0.000458];
|
var sizes = [scaleByMapSize(3, 48), scaleByMapSize(5, 84), scaleByMapSize(8, 128)];
|
||||||
for (var i = 0; i < sizes.length; i++)
|
for (var i = 0; i < sizes.length; i++)
|
||||||
{
|
{
|
||||||
placer = new ClumpPlacer(mapArea * sizes[i], 0.3, 0.06, 0.5);
|
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5);
|
||||||
painter = new LayeredPainter(
|
painter = new LayeredPainter(
|
||||||
[[tGrass,tGrassDirt75],[tGrassDirt75,tGrassDirt50], [tGrassDirt50,tGrassDirt25]], // terrains
|
[[tGrass,tGrassDirt75],[tGrassDirt75,tGrassDirt50], [tGrassDirt50,tGrassDirt25]], // terrains
|
||||||
[1,1] // widths
|
[1,1] // widths
|
||||||
@ -381,12 +364,14 @@ for (var i = 0; i < sizes.length; i++)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(45);
|
||||||
|
|
||||||
// create grass patches
|
// create grass patches
|
||||||
log("Creating grass patches...");
|
log("Creating grass patches...");
|
||||||
var sizes = [0.000115, 0.000206, 0.000298];
|
var sizes = [scaleByMapSize(2, 32), scaleByMapSize(3, 48), scaleByMapSize(5, 80)];
|
||||||
for (var i = 0; i < sizes.length; i++)
|
for (var i = 0; i < sizes.length; i++)
|
||||||
{
|
{
|
||||||
placer = new ClumpPlacer(mapArea * sizes[i], 0.3, 0.06, 0.5);
|
placer = new ClumpPlacer(sizes[i], 0.3, 0.06, 0.5);
|
||||||
painter = new TerrainPainter(tGrassPatch);
|
painter = new TerrainPainter(tGrassPatch);
|
||||||
createAreas(
|
createAreas(
|
||||||
placer,
|
placer,
|
||||||
@ -396,10 +381,35 @@ for (var i = 0; i < sizes.length; i++)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(50);
|
||||||
|
|
||||||
|
log("Creating stone mines...");
|
||||||
|
// create large stone quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clRock);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 5, clRock, 10)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
|
// create small stone quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clRock);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 5, clRock, 10)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
|
log("Creating metal mines...");
|
||||||
|
// create large metal quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4)], true, clMetal);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 5, clMetal, 10, clRock, 5)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
RMS.SetProgress(60);
|
RMS.SetProgress(60);
|
||||||
|
|
||||||
// create small decorative rocks
|
// create small decorative rocks
|
||||||
log("Creating large decorative rocks...");
|
log("Creating small decorative rocks...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
[new SimpleObject(aRockMedium, 1,3, 0,1)],
|
[new SimpleObject(aRockMedium, 1,3, 0,1)],
|
||||||
true
|
true
|
||||||
@ -407,9 +417,11 @@ group = new SimpleGroup(
|
|||||||
createObjectGroups(
|
createObjectGroups(
|
||||||
group, 0,
|
group, 0,
|
||||||
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0),
|
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0),
|
||||||
mapArea/1000, 50
|
scaleByMapSize(16, 262), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(65);
|
||||||
|
|
||||||
// create large decorative rocks
|
// create large decorative rocks
|
||||||
log("Creating large decorative rocks...");
|
log("Creating large decorative rocks...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -419,9 +431,11 @@ group = new SimpleGroup(
|
|||||||
createObjectGroups(
|
createObjectGroups(
|
||||||
group, 0,
|
group, 0,
|
||||||
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0),
|
avoidClasses(clWater, 0, clForest, 0, clPlayer, 0, clHill, 0),
|
||||||
mapArea/2000, 50
|
scaleByMapSize(8, 131), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(70);
|
||||||
|
|
||||||
// create deer
|
// create deer
|
||||||
log("Creating deer...");
|
log("Creating deer...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -433,6 +447,8 @@ createObjectGroups(group, 0,
|
|||||||
3 * numPlayers, 50
|
3 * numPlayers, 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(75);
|
||||||
|
|
||||||
// create sheep
|
// create sheep
|
||||||
log("Creating sheep...");
|
log("Creating sheep...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -444,6 +460,8 @@ createObjectGroups(group, 0,
|
|||||||
3 * numPlayers, 50
|
3 * numPlayers, 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(80);
|
||||||
|
|
||||||
// create straggler trees
|
// create straggler trees
|
||||||
log("Creating straggler trees...");
|
log("Creating straggler trees...");
|
||||||
var types = [oOak, oOakLarge, oPine, oApple]; // some variation
|
var types = [oOak, oOakLarge, oPine, oApple]; // some variation
|
||||||
@ -452,14 +470,16 @@ for (var i = 0; i < types.length; ++i)
|
|||||||
{
|
{
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
[new SimpleObject(types[i], 1,1, 0,3)],
|
[new SimpleObject(types[i], 1,1, 0,3)],
|
||||||
true
|
true, clForest
|
||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 1),
|
avoidClasses(clWater, 1, clForest, 1, clHill, 1, clPlayer, 1, clMetal, 1, clRock, 1),
|
||||||
num
|
num
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(85);
|
||||||
|
|
||||||
//create small grass tufts
|
//create small grass tufts
|
||||||
log("Creating small grass tufts...");
|
log("Creating small grass tufts...");
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -467,10 +487,10 @@ group = new SimpleGroup(
|
|||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 2, clHill, 2, clPlayer, 2, clDirt, 0),
|
avoidClasses(clWater, 2, clHill, 2, clPlayer, 2, clDirt, 0),
|
||||||
mapArea * 0.000763
|
scaleByMapSize(13, 200)
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(80);
|
RMS.SetProgress(90);
|
||||||
|
|
||||||
// create large grass tufts
|
// create large grass tufts
|
||||||
log("Creating large grass tufts...");
|
log("Creating large grass tufts...");
|
||||||
@ -479,10 +499,10 @@ group = new SimpleGroup(
|
|||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clDirt, 1, clForest, 0),
|
avoidClasses(clWater, 3, clHill, 2, clPlayer, 2, clDirt, 1, clForest, 0),
|
||||||
mapArea * 0.000763
|
scaleByMapSize(13, 200)
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(87);
|
RMS.SetProgress(95);
|
||||||
|
|
||||||
// create bushes
|
// create bushes
|
||||||
log("Creating bushes...");
|
log("Creating bushes...");
|
||||||
@ -491,7 +511,7 @@ group = new SimpleGroup(
|
|||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 1, clHill, 1, clPlayer, 1, clDirt, 1),
|
avoidClasses(clWater, 1, clHill, 1, clPlayer, 1, clDirt, 1),
|
||||||
mapArea * 0.000763, 50
|
scaleByMapSize(13, 200), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
// Set environment
|
// Set environment
|
||||||
|
@ -223,6 +223,8 @@ for (var ix = 0; ix <= mapSize; ix++)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(15);
|
||||||
|
|
||||||
// Paint base terrain
|
// Paint base terrain
|
||||||
|
|
||||||
log("Painting terrain...");
|
log("Painting terrain...");
|
||||||
@ -387,6 +389,8 @@ for (var ix = 0; ix < mapSize; ix++)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(30);
|
||||||
|
|
||||||
for (var i = 1; i <= numPlayers; i++)
|
for (var i = 1; i <= numPlayers; i++)
|
||||||
{
|
{
|
||||||
log("Creating base for player " + i + "...");
|
log("Creating base for player " + i + "...");
|
||||||
@ -398,11 +402,16 @@ for (var i = 1; i <= numPlayers; i++)
|
|||||||
var iz = round(fz);
|
var iz = round(fz);
|
||||||
addToClass(ix, iz, clPlayer);
|
addToClass(ix, iz, clPlayer);
|
||||||
|
|
||||||
// create the city patch
|
// create the city patch, flatten area under TC
|
||||||
var cityRadius = 8;
|
var cityRadius = 8;
|
||||||
var placer = new ClumpPlacer(PI*cityRadius*cityRadius, 0.6, 0.3, 10, ix, iz);
|
var placer = new ClumpPlacer(PI*cityRadius*cityRadius, 0.6, 0.3, 10, ix, iz);
|
||||||
var painter = new LayeredPainter([tGrass, tCity], [1]);
|
var painter = new LayeredPainter([tGrass, tCity], [1]);
|
||||||
createArea(placer, painter, null);
|
var elevationPainter = new SmoothElevationPainter(
|
||||||
|
ELEVATION_SET, // type
|
||||||
|
5, // elevation
|
||||||
|
2 // blend radius
|
||||||
|
);
|
||||||
|
createArea(placer, [painter, elevationPainter], null);
|
||||||
|
|
||||||
// get civ specific starting entities
|
// get civ specific starting entities
|
||||||
var civEntities = getStartingEntities(i-1);
|
var civEntities = getStartingEntities(i-1);
|
||||||
@ -488,28 +497,7 @@ for (var i = 1; i <= numPlayers; i++)
|
|||||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
log("Creating straggler trees...");
|
RMS.SetProgress(40);
|
||||||
// create straggler trees
|
|
||||||
var trees = [oCarob, oBeech, oLombardyPoplar, oLombardyPoplar, oPine];
|
|
||||||
for (var t in trees)
|
|
||||||
{
|
|
||||||
group = new SimpleGroup([new SimpleObject(trees[t], 1,1, 0,1)], true, clForest);
|
|
||||||
createObjectGroups(group, 0,
|
|
||||||
avoidClasses(clWater, 5, clCliff, 0, clForest, 1, clPlayer, 15),
|
|
||||||
mapArea/7000, 50
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
log("Creating cypress trees...");
|
|
||||||
// create cypresses
|
|
||||||
group = new SimpleGroup(
|
|
||||||
[new SimpleObject(oCypress2, 1,3, 0,3),
|
|
||||||
new SimpleObject(oCypress1, 0,2, 0,2)]
|
|
||||||
);
|
|
||||||
createObjectGroups(group, 0,
|
|
||||||
avoidClasses(clWater, 4, clCliff, 2, clForest, 1, clPlayer, 15),
|
|
||||||
mapArea/3500, 50
|
|
||||||
);
|
|
||||||
|
|
||||||
log("Creating bushes...");
|
log("Creating bushes...");
|
||||||
// create bushes
|
// create bushes
|
||||||
@ -519,9 +507,11 @@ group = new SimpleGroup(
|
|||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 4, clCliff, 2),
|
avoidClasses(clWater, 4, clCliff, 2),
|
||||||
mapArea/1800, 50
|
scaleByMapSize(9, 146), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(45);
|
||||||
|
|
||||||
log("Creating rocks...");
|
log("Creating rocks...");
|
||||||
// create rocks
|
// create rocks
|
||||||
group = new SimpleGroup(
|
group = new SimpleGroup(
|
||||||
@ -530,27 +520,63 @@ group = new SimpleGroup(
|
|||||||
);
|
);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clWater, 0, clCliff, 0),
|
avoidClasses(clWater, 0, clCliff, 0),
|
||||||
mapArea/1800, 50
|
scaleByMapSize(9, 146), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(50);
|
||||||
|
|
||||||
log("Creating stone mines...");
|
log("Creating stone mines...");
|
||||||
// create stone
|
// create large stone quarries
|
||||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,8), new SimpleObject(oStoneLarge, 0,1, 0,8)], true, clStone);
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4)], true, clStone);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clStone, 15),
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 20, clStone, 15)],
|
||||||
borderClasses(clCliff, 0, 5)],
|
scaleByMapSize(4,16), 100
|
||||||
scaleByMapSize(1,4) * numPlayers, 100
|
);
|
||||||
|
|
||||||
|
// create small stone quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3)], true, clStone);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 20, clStone, 15)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
);
|
);
|
||||||
|
|
||||||
log("Creating metal mines...");
|
log("Creating metal mines...");
|
||||||
// create metal
|
// create large metal quarries
|
||||||
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,2)], true, clMetal);
|
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,2)], true, clMetal);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
[avoidClasses(clWater, 0, clForest, 0, clPlayer, 20, clMetal, 15, clStone, 5),
|
[avoidClasses(clWater, 0, clForest, 1, clPlayer, 20, clMetal, 15, clStone, 5),
|
||||||
borderClasses(clCliff, 0, 5)],
|
borderClasses(clCliff, 0, 5)],
|
||||||
scaleByMapSize(1,4) * numPlayers, 100
|
scaleByMapSize(4,16), 100
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(60);
|
||||||
|
|
||||||
|
log("Creating straggler trees...");
|
||||||
|
// create straggler trees
|
||||||
|
var trees = [oCarob, oBeech, oLombardyPoplar, oLombardyPoplar, oPine];
|
||||||
|
for (var t in trees)
|
||||||
|
{
|
||||||
|
group = new SimpleGroup([new SimpleObject(trees[t], 1,1, 0,1)], true, clForest);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
avoidClasses(clWater, 5, clCliff, 0, clForest, 1, clPlayer, 15, clMetal, 1, clStone, 1),
|
||||||
|
scaleByMapSize(2, 38), 50
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(70);
|
||||||
|
|
||||||
|
// create straggler cypresses
|
||||||
|
group = new SimpleGroup(
|
||||||
|
[new SimpleObject(oCypress2, 1,3, 0,3), new SimpleObject(oCypress1, 0,2, 0,2)],
|
||||||
|
true
|
||||||
|
);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
avoidClasses(clWater, 4, clCliff, 2, clForest, 1, clPlayer, 15, clMetal, 1, clStone, 1),
|
||||||
|
scaleByMapSize(5, 75), 50
|
||||||
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(80);
|
||||||
|
|
||||||
log("Creating sheep...");
|
log("Creating sheep...");
|
||||||
// create sheep
|
// create sheep
|
||||||
group = new SimpleGroup([new SimpleObject(oSheep, 2,4, 0,2)], true, clFood);
|
group = new SimpleGroup([new SimpleObject(oSheep, 2,4, 0,2)], true, clFood);
|
||||||
@ -559,13 +585,30 @@ createObjectGroups(group, 0,
|
|||||||
3 * numPlayers, 50
|
3 * numPlayers, 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(85);
|
||||||
|
|
||||||
log("Creating fish...");
|
log("Creating fish...");
|
||||||
// create fish
|
// create fish
|
||||||
group = new SimpleGroup([new SimpleObject(oFish, 1,1, 0,1)], true, clFood);
|
var num = scaleByMapSize(4, 16);
|
||||||
createObjectGroups(group, 0,
|
var offsetX = mapSize * WATER_WIDTH/2;
|
||||||
[borderClasses(clWater, 7, 0), avoidClasses(clFood, 8, clCliff, 0)],
|
for (var i = 0; i < num; ++i)
|
||||||
3 * numPlayers, 50
|
{
|
||||||
);
|
var cX = round(offsetX + offsetX/2 * randFloat(-1, 1));
|
||||||
|
var cY = round((i + 0.5) * mapSize/num);
|
||||||
|
group = new SimpleGroup([new SimpleObject(oFish, 1,1, 0,1)], true, clFood, cX, cY);
|
||||||
|
createObjectGroup(group, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < num; ++i)
|
||||||
|
{
|
||||||
|
var cX = round(mapSize - offsetX + offsetX/2 * randFloat(-1, 1));
|
||||||
|
var cY = round((i + 0.5) * mapSize/num);
|
||||||
|
error(cX+" "+cY);
|
||||||
|
group = new SimpleGroup([new SimpleObject(oFish, 1,1, 0,1)], true, clFood, cX, cY);
|
||||||
|
createObjectGroup(group, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(90);
|
||||||
|
|
||||||
// create deer
|
// create deer
|
||||||
log("Creating deer...");
|
log("Creating deer...");
|
||||||
@ -578,6 +621,8 @@ createObjectGroups(group, 0,
|
|||||||
3 * numPlayers, 50
|
3 * numPlayers, 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(95);
|
||||||
|
|
||||||
log("Creating berry bushes...");
|
log("Creating berry bushes...");
|
||||||
// create berry bushes
|
// create berry bushes
|
||||||
group = new SimpleGroup([new SimpleObject(oBerryBush, 5,7, 0,3)], true, clFood);
|
group = new SimpleGroup([new SimpleObject(oBerryBush, 5,7, 0,3)], true, clFood);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
"Description" : "The Italian peninsula",
|
"Description" : "The Italian peninsula",
|
||||||
"BaseTerrain" : ["medit_grass_field_dry", "medit_grass_field_brown", "medit_grass_field_b"],
|
"BaseTerrain" : ["medit_grass_field_dry", "medit_grass_field_brown", "medit_grass_field_b"],
|
||||||
"BaseHeight" : 0,
|
"BaseHeight" : 0,
|
||||||
|
"CircularMap" : false,
|
||||||
"XXXXXX" : "Optionally define other things here, like we would for a scenario"
|
"XXXXXX" : "Optionally define other things here, like we would for a scenario"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -191,7 +191,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,1));
|
createObjectGroup(group, 0, avoidClasses(clBaseResource,1));
|
||||||
}
|
}
|
||||||
|
|
||||||
RMS.SetProgress(5);
|
RMS.SetProgress(10);
|
||||||
|
|
||||||
// create patches
|
// create patches
|
||||||
log("Creating dune patches...");
|
log("Creating dune patches...");
|
||||||
@ -202,6 +202,8 @@ createAreas(placer, [painter, paintClass(clPatch)],
|
|||||||
scaleByMapSize(5, 20)
|
scaleByMapSize(5, 20)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(15);
|
||||||
|
|
||||||
log("Creating sand patches...");
|
log("Creating sand patches...");
|
||||||
var placer = new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0);
|
var placer = new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0);
|
||||||
var painter = new TerrainPainter([tSand, tFineSand]);
|
var painter = new TerrainPainter([tSand, tFineSand]);
|
||||||
@ -210,7 +212,7 @@ createAreas(placer, [painter, paintClass(clPatch)],
|
|||||||
scaleByMapSize(15, 50)
|
scaleByMapSize(15, 50)
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(24);
|
RMS.SetProgress(20);
|
||||||
|
|
||||||
log("Creating dirt patches...");
|
log("Creating dirt patches...");
|
||||||
placer = new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0);
|
placer = new ClumpPlacer(scaleByMapSize(25, 100), 0.2, 0.1, 0);
|
||||||
@ -220,7 +222,7 @@ createAreas(placer, [painter, paintClass(clPatch)],
|
|||||||
scaleByMapSize(15, 50)
|
scaleByMapSize(15, 50)
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(32);
|
RMS.SetProgress(25);
|
||||||
|
|
||||||
// create the oasis
|
// create the oasis
|
||||||
log("Creating oasis...");
|
log("Creating oasis...");
|
||||||
@ -230,6 +232,8 @@ painter = new LayeredPainter([[tSand, pForest], [tGrassSand25, pForestOasis], tG
|
|||||||
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, -11, 8);
|
elevationPainter = new SmoothElevationPainter(ELEVATION_MODIFY, -11, 8);
|
||||||
createArea(placer, [painter, elevationPainter, paintClass(clForest)], null);
|
createArea(placer, [painter, elevationPainter, paintClass(clForest)], null);
|
||||||
|
|
||||||
|
RMS.SetProgress(30);
|
||||||
|
|
||||||
// create oasis wildlife
|
// create oasis wildlife
|
||||||
var num = round(PI * oRadius / 8);
|
var num = round(PI * oRadius / 8);
|
||||||
var constraint = new AndConstraint([borderClasses(clForest, 0, 3), avoidClasses(clForest, 0)]);
|
var constraint = new AndConstraint([borderClasses(clForest, 0, 3), avoidClasses(clForest, 0)]);
|
||||||
@ -274,7 +278,7 @@ for (var i = 0; i < num; ++i)
|
|||||||
createObjectGroup(group, 0);
|
createObjectGroup(group, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
RMS.SetProgress(51);
|
RMS.SetProgress(35);
|
||||||
|
|
||||||
// create hills
|
// create hills
|
||||||
log("Creating level 1 hills...");
|
log("Creating level 1 hills...");
|
||||||
@ -289,6 +293,8 @@ var hillAreas = createAreas(placer, [terrainPainter, elevationPainter, paintClas
|
|||||||
scaleByMapSize(10,20), 100
|
scaleByMapSize(10,20), 100
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(40);
|
||||||
|
|
||||||
log("Creating small level 1 hills...");
|
log("Creating small level 1 hills...");
|
||||||
placer = new ClumpPlacer(scaleByMapSize(25,150), 0.25, 0.1, 0.5);
|
placer = new ClumpPlacer(scaleByMapSize(25,150), 0.25, 0.1, 0.5);
|
||||||
terrainPainter = new LayeredPainter(
|
terrainPainter = new LayeredPainter(
|
||||||
@ -305,23 +311,7 @@ for (var i = 0; i < tempAreas.length; ++i)
|
|||||||
hillAreas.push(tempAreas[i]);
|
hillAreas.push(tempAreas[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
RMS.SetProgress(70);
|
RMS.SetProgress(45);
|
||||||
|
|
||||||
log("Creating stone mines...");
|
|
||||||
// create stone
|
|
||||||
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,8), new SimpleObject(oStoneLarge, 0,1, 0,8), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
|
||||||
createObjectGroups(group, 0,
|
|
||||||
[avoidClasses(clForest, 2, clPlayer, 10, clRock, 10, clHill1, 0)],
|
|
||||||
scaleByMapSize(1,4) * numPlayers, 100
|
|
||||||
);
|
|
||||||
|
|
||||||
log("Creating metal mines...");
|
|
||||||
// create metal
|
|
||||||
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,8), new RandomObject(aBushes, 2,4, 0,2)], true, clMetal);
|
|
||||||
createObjectGroups(group, 0,
|
|
||||||
[avoidClasses(clForest, 2, clPlayer, 10, clMetal, 10, clRock, 5, clHill1, 0)],
|
|
||||||
scaleByMapSize(1,4) * numPlayers, 100
|
|
||||||
);
|
|
||||||
|
|
||||||
// create decorative rocks for hills
|
// create decorative rocks for hills
|
||||||
log("Creating decorative rocks...");
|
log("Creating decorative rocks...");
|
||||||
@ -335,7 +325,7 @@ createObjectGroupsByAreas(group, 0,
|
|||||||
hillAreas
|
hillAreas
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(81);
|
RMS.SetProgress(50);
|
||||||
|
|
||||||
log("Creating level 2 hills...");
|
log("Creating level 2 hills...");
|
||||||
placer = new ClumpPlacer(scaleByMapSize(25,150), 0.25, 0.1, 0);
|
placer = new ClumpPlacer(scaleByMapSize(25,150), 0.25, 0.1, 0);
|
||||||
@ -350,7 +340,7 @@ createAreasInAreas(placer, [terrainPainter, elevationPainter],
|
|||||||
hillAreas
|
hillAreas
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(91);
|
RMS.SetProgress(55);
|
||||||
|
|
||||||
log("Creating level 3 hills...");
|
log("Creating level 3 hills...");
|
||||||
placer = new ClumpPlacer(scaleByMapSize(12, 75), 0.25, 0.1, 0);
|
placer = new ClumpPlacer(scaleByMapSize(12, 75), 0.25, 0.1, 0);
|
||||||
@ -366,6 +356,8 @@ createAreas(placer, [terrainPainter, elevationPainter],
|
|||||||
);
|
);
|
||||||
hillAreas = [];
|
hillAreas = [];
|
||||||
|
|
||||||
|
RMS.SetProgress(60);
|
||||||
|
|
||||||
// create bumps
|
// create bumps
|
||||||
log("Creating bumps...");
|
log("Creating bumps...");
|
||||||
placer = new ClumpPlacer(scaleByMapSize(20, 50), 0.3, 0.06, 0);
|
placer = new ClumpPlacer(scaleByMapSize(20, 50), 0.3, 0.06, 0);
|
||||||
@ -377,6 +369,8 @@ createAreas(
|
|||||||
scaleByMapSize(100, 200)
|
scaleByMapSize(100, 200)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(65);
|
||||||
|
|
||||||
// calculate desired number of trees for map (based on size)
|
// calculate desired number of trees for map (based on size)
|
||||||
const MIN_TREES = 500;
|
const MIN_TREES = 500;
|
||||||
const MAX_TREES = 2500;
|
const MAX_TREES = 2500;
|
||||||
@ -396,7 +390,32 @@ createAreas(placer, [painter, paintClass(clForest)],
|
|||||||
num, 50
|
num, 50
|
||||||
);
|
);
|
||||||
|
|
||||||
RMS.SetProgress(97);
|
RMS.SetProgress(70);
|
||||||
|
|
||||||
|
log("Creating stone mines...");
|
||||||
|
// create large stone quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 0,2, 0,4), new SimpleObject(oStoneLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill1, 0)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
|
// create small stone quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oStoneSmall, 2,5, 1,3), new RandomObject(aBushes, 2,4, 0,2)], true, clRock);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clForest, 1, clPlayer, 10, clRock, 10, clHill1, 0)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
|
log("Creating metal mines...");
|
||||||
|
// create large metal quarries
|
||||||
|
group = new SimpleGroup([new SimpleObject(oMetalLarge, 1,1, 0,4), new RandomObject(aBushes, 2,4, 0,2)], true, clMetal);
|
||||||
|
createObjectGroups(group, 0,
|
||||||
|
[avoidClasses(clForest, 1, clPlayer, 10, clMetal, 10, clRock, 5, clHill1, 0)],
|
||||||
|
scaleByMapSize(4,16), 100
|
||||||
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(80);
|
||||||
|
|
||||||
// create gazelles
|
// create gazelles
|
||||||
log("Creating gazelles...");
|
log("Creating gazelles...");
|
||||||
@ -422,6 +441,8 @@ createObjectGroups(group, 0,
|
|||||||
scaleByMapSize(5,20), 50
|
scaleByMapSize(5,20), 50
|
||||||
);
|
);
|
||||||
|
|
||||||
|
RMS.SetProgress(85);
|
||||||
|
|
||||||
// create straggler trees
|
// create straggler trees
|
||||||
log("Creating straggler trees...");
|
log("Creating straggler trees...");
|
||||||
var types = [oDatePalm, oSDatePalm]; // some variation
|
var types = [oDatePalm, oSDatePalm]; // some variation
|
||||||
@ -430,17 +451,19 @@ for (var i = 0; i < types.length; ++i)
|
|||||||
{
|
{
|
||||||
group = new SimpleGroup([new SimpleObject(types[i], 1,1, 0,0)], true);
|
group = new SimpleGroup([new SimpleObject(types[i], 1,1, 0,0)], true);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clForest, 0, clHill1, 1, clPlayer, 0),
|
avoidClasses(clForest, 0, clHill1, 1, clPlayer, 0, clMetal, 1, clRock, 1),
|
||||||
num
|
num
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RMS.SetProgress(90);
|
||||||
|
|
||||||
// create bushes
|
// create bushes
|
||||||
log("Creating bushes...");
|
log("Creating bushes...");
|
||||||
group = new SimpleGroup([new RandomObject(aBushes, 2,3, 0,2)]);
|
group = new SimpleGroup([new RandomObject(aBushes, 2,3, 0,2)]);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clHill1, 1, clPlayer, 0, clForest, 0),
|
avoidClasses(clHill1, 1, clPlayer, 0, clForest, 0),
|
||||||
mapArea/1000
|
scaleByMapSize(16, 262)
|
||||||
);
|
);
|
||||||
|
|
||||||
// create rocks
|
// create rocks
|
||||||
@ -448,7 +471,7 @@ log("Creating more decorative rocks...");
|
|||||||
group = new SimpleGroup([new SimpleObject(aDecorativeRock, 1,2, 0,2)]);
|
group = new SimpleGroup([new SimpleObject(aDecorativeRock, 1,2, 0,2)]);
|
||||||
createObjectGroups(group, 0,
|
createObjectGroups(group, 0,
|
||||||
avoidClasses(clHill1, 1, clPlayer, 0, clForest, 0),
|
avoidClasses(clHill1, 1, clPlayer, 0, clForest, 0),
|
||||||
mapArea/1000
|
scaleByMapSize(16, 262)
|
||||||
);
|
);
|
||||||
|
|
||||||
// Export map data
|
// Export map data
|
||||||
|
@ -105,39 +105,38 @@ function setDefaults(defs, obj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Read civ data and player defaults
|
// Read civ data and player defaults
|
||||||
function getStartingData()
|
function loadCivData()
|
||||||
{
|
{
|
||||||
// Load civilization data
|
// Load civilization data
|
||||||
if (!Atlas.State.CivData)
|
Atlas.State.CivData = [];
|
||||||
{
|
Atlas.State.CivNames = [];
|
||||||
Atlas.State.CivData = [];
|
Atlas.State.CivCodes = [];
|
||||||
Atlas.State.CivNames = [];
|
|
||||||
Atlas.State.CivCodes = [];
|
var dataArray = Atlas.Message.GetCivData().data;
|
||||||
|
if (dataArray)
|
||||||
var dataArray = Atlas.Message.GetCivData().data;
|
{ // parse JSON strings into objects
|
||||||
if (dataArray)
|
for (var i = 0; i < dataArray.length; ++i)
|
||||||
{ // parse JSON strings into objects
|
{
|
||||||
for (var i = 0; i < dataArray.length; ++i)
|
var civ = JSON.parse(dataArray[i]);
|
||||||
|
if (civ)
|
||||||
{
|
{
|
||||||
var civ = JSON.parse(dataArray[i]);
|
Atlas.State.CivData.push(civ);
|
||||||
if (civ)
|
Atlas.State.CivNames.push(civ.Name);
|
||||||
{
|
Atlas.State.CivCodes.push(civ.Code);
|
||||||
Atlas.State.CivData.push(civ);
|
|
||||||
Atlas.State.CivNames.push(civ.Name);
|
|
||||||
Atlas.State.CivCodes.push(civ.Code);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadPlayerDefaults()
|
||||||
|
{
|
||||||
// Load player default data (names, civs, colors, etc)
|
// Load player default data (names, civs, colors, etc)
|
||||||
if (!Atlas.State.PlayerDefaults)
|
Atlas.State.PlayerDefaults = [];
|
||||||
|
|
||||||
|
var rawData = Atlas.Message.GetPlayerDefaults().defaults;
|
||||||
|
if(rawData)
|
||||||
{
|
{
|
||||||
var rawData = Atlas.Message.GetPlayerDefaults().defaults;
|
Atlas.State.PlayerDefaults = JSON.parse(rawData).PlayerData;
|
||||||
if(rawData)
|
|
||||||
{
|
|
||||||
Atlas.State.PlayerDefaults = JSON.parse(rawData).PlayerData;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -363,16 +362,14 @@ function init(window)
|
|||||||
var rmsPanel = new wxPanel(window, -1);
|
var rmsPanel = new wxPanel(window, -1);
|
||||||
var rmsSizer = new wxStaticBoxSizer(new wxStaticBox(rmsPanel, -1, 'Random map'), wxOrientation.VERTICAL);
|
var rmsSizer = new wxStaticBoxSizer(new wxStaticBox(rmsPanel, -1, 'Random map'), wxOrientation.VERTICAL);
|
||||||
|
|
||||||
var scriptNames = [];
|
|
||||||
var scriptData = [];
|
|
||||||
boxSizer = new wxBoxSizer(wxOrientation.HORIZONTAL);
|
boxSizer = new wxBoxSizer(wxOrientation.HORIZONTAL);
|
||||||
var rmsChoice = new wxChoice(rmsPanel, -1, wxDefaultPosition, wxDefaultSize, scriptNames);
|
var rmsChoice = new wxChoice(rmsPanel, -1, wxDefaultPosition, wxDefaultSize, []);
|
||||||
rmsChoice.toolTip = "Select the random map script to run";
|
rmsChoice.toolTip = "Select the random map script to run";
|
||||||
function loadScriptChoices()
|
function loadScriptChoices()
|
||||||
{
|
{
|
||||||
// Reload RMS data
|
// Reload RMS data
|
||||||
scriptNames = [];
|
Atlas.State.scriptNames = [];
|
||||||
scriptData = [];
|
Atlas.State.scriptData = [];
|
||||||
|
|
||||||
// Get array of RMS data
|
// Get array of RMS data
|
||||||
var rawData = Atlas.Message.GetRMSData().data;
|
var rawData = Atlas.Message.GetRMSData().data;
|
||||||
@ -382,14 +379,14 @@ function init(window)
|
|||||||
var data = JSON.parse(rawData[i]);
|
var data = JSON.parse(rawData[i]);
|
||||||
if (data && data.settings)
|
if (data && data.settings)
|
||||||
{
|
{
|
||||||
scriptData.push(data);
|
Atlas.State.scriptData.push(data);
|
||||||
scriptNames.push(data.settings.Name);
|
Atlas.State.scriptNames.push(data.settings.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add script names to choice control
|
// Add script names to choice control
|
||||||
rmsChoice.clear();
|
rmsChoice.clear();
|
||||||
rmsChoice.append(scriptNames);
|
rmsChoice.append(Atlas.State.scriptNames);
|
||||||
rmsChoice.selection = 0;
|
rmsChoice.selection = 0;
|
||||||
}
|
}
|
||||||
boxSizer.add(rmsChoice, 1, wxAlignment.CENTER_VERTICAL);
|
boxSizer.add(rmsChoice, 1, wxAlignment.CENTER_VERTICAL);
|
||||||
@ -424,7 +421,7 @@ function init(window)
|
|||||||
var selection = rmsChoice.selection;
|
var selection = rmsChoice.selection;
|
||||||
if (selection != -1)
|
if (selection != -1)
|
||||||
{
|
{
|
||||||
var RMSData = scriptData[selection].settings;
|
var RMSData = Atlas.State.scriptData[selection].settings;
|
||||||
if (RMSData)
|
if (RMSData)
|
||||||
{
|
{
|
||||||
if (useRandomCtrl.value)
|
if (useRandomCtrl.value)
|
||||||
@ -432,22 +429,17 @@ function init(window)
|
|||||||
generateRandomSeed();
|
generateRandomSeed();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Base terrains must be array
|
// Copy RMS data to map settings
|
||||||
var terrainArray = [];
|
for (var prop in RMSData)
|
||||||
if (RMSData.BaseTerrain instanceof Array)
|
|
||||||
{
|
{
|
||||||
terrainArray = RMSData.BaseTerrain;
|
Atlas.State.mapSettings.settings[prop] = RMSData[prop];
|
||||||
}
|
|
||||||
else
|
|
||||||
{ // Add string to array
|
|
||||||
terrainArray.push(RMSData.BaseTerrain);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Complete map settings
|
// Complete map settings
|
||||||
Atlas.State.mapSettings.settings.Seed = Atlas.State.Seed ? Atlas.State.Seed : 0;
|
Atlas.State.mapSettings.settings.Seed = Atlas.State.Seed ? Atlas.State.Seed : 0;
|
||||||
Atlas.State.mapSettings.settings.Size = sizeTiles[sizeChoice.selection];
|
Atlas.State.mapSettings.settings.Size = sizeTiles[sizeChoice.selection];
|
||||||
Atlas.State.mapSettings.settings.BaseTerrain = terrainArray;
|
|
||||||
Atlas.State.mapSettings.settings.BaseHeight = RMSData.BaseHeight;
|
// TODO: Would be nice to have some sort of busy notification here
|
||||||
|
|
||||||
// Generate map
|
// Generate map
|
||||||
var ret = Atlas.Message.GenerateMap(RMSData.Script, JSON.stringify(Atlas.State.mapSettings.settings));
|
var ret = Atlas.Message.GenerateMap(RMSData.Script, JSON.stringify(Atlas.State.mapSettings.settings));
|
||||||
@ -514,15 +506,30 @@ function init(window)
|
|||||||
{
|
{
|
||||||
if (!g_externalNotify)
|
if (!g_externalNotify)
|
||||||
{
|
{
|
||||||
// If we don't have civ data or player defaults yet, get those
|
// We have to do these steps here, because the simulation is not
|
||||||
getStartingData();
|
// initialized when this script is first loaded
|
||||||
|
|
||||||
|
// If we don't have civ data, load those
|
||||||
|
if (!Atlas.State.CivData)
|
||||||
|
{
|
||||||
|
loadCivData();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we don't have default player data, load those
|
||||||
|
if (!Atlas.State.PlayerDefaults)
|
||||||
|
{
|
||||||
|
loadPlayerDefaults();
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we don't have RMS data yet, load those
|
||||||
|
if (!Atlas.State.scriptData)
|
||||||
|
{
|
||||||
|
loadScriptChoices();
|
||||||
|
}
|
||||||
|
|
||||||
// Load map settings from engine
|
// Load map settings from engine
|
||||||
getMapSettings();
|
getMapSettings();
|
||||||
|
|
||||||
// Load RMS names from engine
|
|
||||||
loadScriptChoices();
|
|
||||||
|
|
||||||
// Update UI controls
|
// Update UI controls
|
||||||
updateMapName();
|
updateMapName();
|
||||||
updateMapDesc();
|
updateMapDesc();
|
||||||
|
Loading…
Reference in New Issue
Block a user