mirror of
https://gitea.wildfiregames.com/0ad/0ad
synced 2026-06-16 05:13:58 -07:00
Replace more than 30 duplicate grass tuft placement calls with a single function call.
Remove few obsolete hillSize variables. Remove one duplicate undesired grass tuft placement call from flood. Differential Revision: https://code.wildfiregames.com/D201 Reviewed By: bb This was SVN commit r19282.
This commit is contained in:
parent
5b699e29ea
commit
f98100bdaf
36 changed files with 75 additions and 502 deletions
|
|
@ -172,7 +172,6 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0);
|
||||
|
||||
var hillSize = PI * radius * radius;
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -185,20 +184,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aBush1, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aBush1, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(30);
|
||||
|
|
|
|||
|
|
@ -218,20 +218,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -198,20 +198,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
RMS.SetProgress(20);
|
||||
|
||||
|
|
|
|||
|
|
@ -154,20 +154,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -177,20 +177,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
log("Creating islands...");
|
||||
|
|
|
|||
|
|
@ -166,21 +166,8 @@ for (var i = 0; i < numPlayers; i++)
|
|||
false, clBaseResource, tX, tZ
|
||||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
var hillSize = PI * radius * radius;
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(10);
|
||||
|
|
|
|||
|
|
@ -185,20 +185,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
RMS.SetProgress(10);
|
||||
|
||||
|
|
|
|||
|
|
@ -203,20 +203,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
|
||||
// create the city patch
|
||||
var cityRadius = radius/2;
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(0, TWO_PI);
|
||||
|
|
@ -200,20 +200,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -231,20 +231,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aBush1, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aBush1, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(40);
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ for (var i=0; i < numIslands; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
|
|||
|
|
@ -117,9 +117,6 @@ for (var i = 0; i < numPlayers; i++)
|
|||
addToClass(ix-5, iz, clPlayer);
|
||||
addToClass(ix, iz-5, clPlayer);
|
||||
|
||||
// calculate size based on the radius
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create the city patch
|
||||
var cityRadius = radius/3;
|
||||
var placer = new ClumpPlacer(PI*cityRadius*cityRadius, 0.6, 0.3, 10, ix, iz);
|
||||
|
|
@ -179,20 +176,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
RMS.SetProgress(10);
|
||||
|
||||
|
|
|
|||
|
|
@ -206,20 +206,7 @@ for (let i = 0; i < numPlayers; ++i)
|
|||
break;
|
||||
}
|
||||
|
||||
// Create grass tufts
|
||||
num = (PI * radius * radius) / 250;
|
||||
for (let j = 0; j < num; ++j)
|
||||
{
|
||||
let gAngle = randFloat(0, TWO_PI);
|
||||
let gDist = radius - (5 + randInt(7));
|
||||
let gX = round(fx + gDist * cos(gAngle));
|
||||
let gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2, 5, 0, 1, -PI/8, PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(40);
|
||||
|
|
@ -408,21 +395,6 @@ createForests(
|
|||
random_terrain
|
||||
);
|
||||
|
||||
log("Creating grass tufts...");
|
||||
let num = (PI * radius * radius) / 250;
|
||||
for (let j = 0; j < num; ++j)
|
||||
{
|
||||
let gAngle = randFloat(0, TWO_PI);
|
||||
let gDist = radius - (5 + randInt(7));
|
||||
let gX = round(fx + gDist * cos(gAngle));
|
||||
let gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2, 5, 0, 1, -PI / 8, PI / 8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0, [avoidClasses(clMountain, 2, clPlayer, 2, clDirt, 0), stayClasses(clHill, 8)]);
|
||||
}
|
||||
|
||||
log("Creating small grass tufts...");
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 1, 2, 0, 1, -PI / 8, PI / 8)]
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(0, TWO_PI);
|
||||
|
|
@ -193,20 +193,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -199,20 +199,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -242,7 +242,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -255,20 +255,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -113,9 +113,6 @@ for (var i = 0; i < numPlayers; i++)
|
|||
addToClass(ix-5, iz, clPlayer);
|
||||
addToClass(ix, iz-5, clPlayer);
|
||||
|
||||
// calculate size based on the radius
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create the city patch
|
||||
var cityRadius = radius/3;
|
||||
var placer = new ClumpPlacer(PI*cityRadius*cityRadius, 0.6, 0.3, 10, ix, iz);
|
||||
|
|
@ -175,20 +172,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(10);
|
||||
|
|
|
|||
|
|
@ -525,20 +525,7 @@ createObjectGroups(group, 0,
|
|||
scaleByMapSize(10, 20), 100
|
||||
);
|
||||
|
||||
log("Creating grass tufts...");
|
||||
let num = (PI * radius * radius) / 250;
|
||||
for (let j = 0; j < num; ++j)
|
||||
{
|
||||
let gAngle = randFloat(0, TWO_PI);
|
||||
let gDist = radius - (5 + randInt(7));
|
||||
let gX = round(fx + gDist * cos(gAngle));
|
||||
let gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2, 5, 0, 1, -PI / 8, PI / 8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0, [stayClasses(clLand, 5)]);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius, [stayClasses(clLand, 5)]);
|
||||
|
||||
log("Creating small grass tufts...");
|
||||
let planetm = random_terrain == 7 ? 8 : 1;
|
||||
|
|
|
|||
|
|
@ -182,20 +182,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
|
||||
//create docks
|
||||
var dockLocation = getTIPIADBON([ix, iz], [mapSize / 2, mapSize / 2], [-3 , 2.6], 0.5, 3);
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 5;
|
||||
var tAngle = randFloat(0, TWO_PI);
|
||||
|
|
@ -173,20 +173,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -411,8 +411,6 @@ for (var i = 1; i <= numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0);
|
||||
|
||||
var radius = scaleByMapSize(15,25);
|
||||
var hillSize = PI * radius * radius;
|
||||
// create starting trees
|
||||
var num = 5;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 5;
|
||||
var tAngle = randFloat(0, TWO_PI);
|
||||
|
|
@ -178,20 +178,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -185,20 +185,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
|
||||
//create docks
|
||||
var dockLocation = getTIPIADBON([ix, iz], [mapSize / 2, mapSize / 2], [-3 , 2.6], 0.5, 3);
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -167,20 +167,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aBush1, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aBush1, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(30);
|
||||
|
|
|
|||
|
|
@ -401,20 +401,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
RMS.SetProgress(30);
|
||||
|
||||
|
|
|
|||
|
|
@ -161,20 +161,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(15);
|
||||
|
|
|
|||
|
|
@ -189,7 +189,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -202,20 +202,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -228,6 +228,28 @@ function placeDefaultChicken(playerX, playerZ, tileClass, constraint = undefined
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Typically used for placing grass tufts around the civic centers.
|
||||
*/
|
||||
function placeDefaultDecoratives(playerX, playerZ, template, tileclass, radius, constraint = undefined)
|
||||
{
|
||||
for (let i = 0; i < PI * radius * radius / 250; ++i)
|
||||
{
|
||||
let angle = randFloat(0, 2 * PI);
|
||||
let dist = radius - randIntInclusive(5, 11);
|
||||
|
||||
createObjectGroup(
|
||||
new SimpleGroup(
|
||||
[new SimpleObject(template, 2, 5, 0, 1, -PI/8, PI/8)],
|
||||
false,
|
||||
tileclass,
|
||||
Math.round(playerX + dist * Math.cos(angle)),
|
||||
Math.round(playerZ + dist * Math.sin(angle))
|
||||
), 0, constraint);
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////////////////
|
||||
// paintTerrainBasedOnHeight
|
||||
//
|
||||
|
|
|
|||
|
|
@ -235,8 +235,6 @@ function createBase(player, walls = true)
|
|||
g_Gaia.chicken
|
||||
);
|
||||
|
||||
var hillSize = PI * g_MapInfo.mapRadius * g_MapInfo.mapRadius;
|
||||
|
||||
// Create starting trees
|
||||
var num = g_MapInfo.biome == g_BiomeSavanna ? 5 : 15;
|
||||
for (var tries = 0; tries < 10; ++tries)
|
||||
|
|
@ -255,20 +253,13 @@ function createBase(player, walls = true)
|
|||
break;
|
||||
}
|
||||
|
||||
// Create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; ++j)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = g_MapInfo.mapRadius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(g_Decoratives.grassShort, 2, 5, 0, 1, -PI / 8, PI / 8)],
|
||||
false, g_TileClasses.baseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0, avoidClasses(g_TileClasses.baseResource, 4));
|
||||
}
|
||||
placeDefaultDecoratives(
|
||||
fx,
|
||||
fz,
|
||||
g_Decoratives.grassShort,
|
||||
g_TileClasses.baseResource,
|
||||
g_MapInfo.mapRadius,
|
||||
avoidClasses(g_TileClasses.baseResource, 4));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -167,20 +167,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aBush1, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aBush1, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(30);
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 5;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -164,20 +164,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(20);
|
||||
|
|
|
|||
|
|
@ -1601,20 +1601,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, [avoidClasses(clBaseResource,2), stayClasses(clPlayer, 3)]);
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(30);
|
||||
|
|
|
|||
|
|
@ -169,20 +169,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
placeObject(ux, uz, "skirmish/units/default_infantry_melee_b", id, uAngle);
|
||||
}
|
||||
|
||||
// create grass tufts
|
||||
var num = radius * radius * 3.14 / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
var group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
|
||||
var tang = startAngle + (i+0.5)*TWO_PI/numPlayers;
|
||||
var placer = new PathPlacer(fractionToTiles(0.5), fractionToTiles(0.5), fractionToTiles(0.5 + 0.5*cos(tang)), fractionToTiles(0.5 + 0.5*sin(tang)), scaleByMapSize(14,24), 0.4, 3*(scaleByMapSize(1,3)), 0.2, 0.05);
|
||||
|
|
@ -210,7 +197,7 @@ paintTerrainBasedOnHeight(3.12, 29, 1, tCliff);
|
|||
paintTileClassBasedOnHeight(3.12, 29, 1, clHill);
|
||||
|
||||
// create trigger points for treasures
|
||||
group = new SimpleGroup( [new SimpleObject("special/trigger_point_B", 1,1, 0,0)], true, clWomen);
|
||||
var group = new SimpleGroup( [new SimpleObject("special/trigger_point_B", 1,1, 0,0)], true, clWomen);
|
||||
createObjectGroups(group, 0,
|
||||
[avoidClasses(clForest, 5, clPlayer, 5, clHill, 5), stayClasses(clLand, 5)],
|
||||
scaleByMapSize(40, 140), 100
|
||||
|
|
|
|||
|
|
@ -180,7 +180,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
true, clBaseResource, mX, mZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
var hillSize = PI * radius * radius;
|
||||
|
||||
// create starting trees
|
||||
var num = 2;
|
||||
var tAngle = randFloat(-PI/3, 4*PI/3);
|
||||
|
|
@ -193,20 +193,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aBush1, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aBush1, clBaseResource, radius);
|
||||
}
|
||||
|
||||
RMS.SetProgress(30);
|
||||
|
|
|
|||
|
|
@ -1721,20 +1721,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
for (var i = 0; i < numPlayers; i++)
|
||||
|
|
|
|||
|
|
@ -1490,20 +1490,7 @@ for (var i = 0; i < numPlayers; i++)
|
|||
);
|
||||
createObjectGroup(group, 0, avoidClasses(clBaseResource,2));
|
||||
|
||||
// create grass tufts
|
||||
var num = hillSize / 250;
|
||||
for (var j = 0; j < num; j++)
|
||||
{
|
||||
var gAngle = randFloat(0, TWO_PI);
|
||||
var gDist = radius - (5 + randInt(7));
|
||||
var gX = round(fx + gDist * cos(gAngle));
|
||||
var gZ = round(fz + gDist * sin(gAngle));
|
||||
group = new SimpleGroup(
|
||||
[new SimpleObject(aGrassShort, 2,5, 0,1, -PI/8,PI/8)],
|
||||
false, clBaseResource, gX, gZ
|
||||
);
|
||||
createObjectGroup(group, 0);
|
||||
}
|
||||
placeDefaultDecoratives(fx, fz, aGrassShort, clBaseResource, radius);
|
||||
}
|
||||
|
||||
for (var i = 0; i < numPlayers; i++)
|
||||
|
|
|
|||
Loading…
Reference in a new issue