Remove optional arguments from randFloat, since the function can be called from the simulation and that should explicitly specify arguments if the defaults aren't entirely self-evident.

Make a lot of calls easier to read.

Differential Revision: https://code.wildfiregames.com/D372
Patch By: bb
Refs #4326 D121

This was SVN commit r19464.
This commit is contained in:
elexis
2017-04-27 14:57:21 +00:00
parent e6a0c7ae77
commit a227a7f45b
15 changed files with 38 additions and 38 deletions
@@ -24,12 +24,9 @@ function pickRandom(source)
}
/**
* Return a random floating point number.
*
* If two parameters are given, and the returned float is in the interval [min, max).
* If no parameter is given, the returned float is in the interval [0, 1).
* Return a random floating point number in the interval [min, max).
*/
function randFloat(min = 0, max = 1)
function randFloat(min, max)
{
return min + Math.random() * (max - min);
}
@@ -121,7 +121,7 @@ var playerX = new Array(numPlayers);
var playerZ = new Array(numPlayers);
var playerAngle = new Array(numPlayers);
var startAngle = randFloat() * 2 * PI;
var startAngle = randFloat(0, 2 * PI);
for (var i=0; i < numPlayers; i++)
{
playerAngle[i] = startAngle + i*2*PI/numPlayers;
@@ -164,7 +164,7 @@ function placeRandomPathToHeight(
if (getDistance(position.x, position.y, target.x, target.y) < distance / 2)
break;
let angleToTarget = getAngle(position.x, position.y, target.x, target.y);
let angleOff = PI * (randFloat() - 0.5);
let angleOff = randFloat(-PI/2, PI/2);
position.x += distance * cos(angleToTarget + angleOff);
position.y += distance * sin(angleToTarget + angleOff);
}
@@ -309,7 +309,7 @@ function placeMine(point, centerEntity)
let dAngle = TWO_PI / quantity;
for (let i = 0; i < quantity; ++i)
{
let angle = i * dAngle + randFloat(0, dAngle);
let angle = dAngle * randFloat(i, i + 1);
let dist = randFloat(2, 5);
placeObject(point.x + dist * Math.cos(angle), point.y + dist * Math.sin(angle), pickRandom(decorations), 0, randFloat(0, 2 * PI));
}
@@ -356,7 +356,7 @@ function placeGrove(point)
let dAngle = TWO_PI / quantity;
for (let i = 0; i < quantity; ++i)
{
let angle = dAngle * randFloat(i, i+1);
let angle = dAngle * randFloat(i, i + 1);
let dist = randFloat(2, 5);
let objectList = groveEntities;
if (i % 3 == 0)
@@ -382,7 +382,7 @@ function placeCamp(point,
let dAngle = TWO_PI / quantity;
for (let i = 0; i < quantity; ++i)
{
let angle = i * dAngle + randFloat(0, dAngle);
let angle = dAngle * randFloat(i, i + 1);
let dist = randFloat(1, 3);
placeObject(point.x + dist * Math.cos(angle), point.y + dist * Math.sin(angle), pickRandom(otherEntities), 0, randFloat(0, 2 * PI));
}
@@ -734,7 +734,7 @@ for (let h = 0; h < heighLimits.length; ++h)
g_Map.texture[x][y] = g_Map.getTextureID(texture);
if (actor)
placeObject(x + randFloat(), y + randFloat(), actor, 0, randFloat() * TWO_PI);
placeObject(randFloat(x, x + 1), randFloat(y, y + 1), actor, 0, randFloat(0, 2 * PI));
}
}
@@ -181,7 +181,7 @@ var islandZ = [SardiniaZ,CorsicaZ];
for (var island = 0; island <= 1; island++)
for (var i = 0; i <= nbCreeks; i++)
{
var radius = fractionToTiles( (Math.random()/17) + 0.49);
var radius = fractionToTiles(randFloat(0.49, 0.55));
var angle = PI*island + i*(PI/(nbCreeks*2));
if (swap)
angle += PI/2;
@@ -338,7 +338,7 @@ for (var i = 0; i < numPlayers; i++)
placeDefaultChicken(fx, fz, clBaseResource);
// create berry bushes
var bbAngle = randFloat(0, TWO_PI);
var bbAngle = randFloat(0, 2 * PI);
var bbDist = 11;
var bbX = round(fx + bbDist * cos(bbAngle));
var bbZ = round(fz + bbDist * sin(bbAngle));
@@ -102,7 +102,7 @@ var islandAngle = new Array(numIslands);
//holds all land areas
var areas = [];
var startAngle = randFloat() * 2 * PI;
var startAngle = randFloat(0, 2 * PI);
for (var i=0; i < numIslands; i++)
{
islandAngle[i] = startAngle + i*2*PI/numIslands;
@@ -246,7 +246,7 @@ RMS.SetProgress(20);
// get the x and z in tiles
var nCenter = floor(scaleByMapSize(1,4));
var startAngle = randFloat() * 2 * PI;
startAngle = randFloat(0, 2 * PI);
for (var i = 0; i < nCenter; ++i)
{
var fx = 0.5;
@@ -254,7 +254,7 @@ for (var i = 0; i < nCenter; ++i)
if (nCenter != 1)
{
let isangle = startAngle + i*2*PI/nCenter + PI/8 * randFloat(-1, -1);
let isangle = startAngle + i * 2 * PI / nCenter + randFloat(-PI/8, PI/8);
let dRadius = randFloat(0.1, 0.16);
fx = 0.5 + dRadius * cos(isangle);
fz = 0.5 + dRadius * sin(isangle);
@@ -160,7 +160,7 @@ for (var i = 0; i < maxI; i++)
while (targetReached == false && tries < 2*mapSize)
{
var placer = new ClumpPlacer(pathWidth, 1, 1, 1, x, z);
var painter = [new TerrainPainter(terrainPath), new ElevationPainter(-randFloat()), paintClass(clPath)];
var painter = [new TerrainPainter(terrainPath), new ElevationPainter(randFloat(-1, 0)), paintClass(clPath)];
createArea(placer, painter, avoidClasses(clHill, 0, clBaseResource, 4));
// addToClass(x, z, clPath); // Not needed...
// Set vars for next loop
@@ -198,7 +198,7 @@ for (var i=0; i < numPlayers; i++)
var placeZ = round(mapCenterX + resourceRadius*sin(playerAngle[i] + (rIndex+1)*angleDist/(resourcePerPlayer.length+1)));
placeObject(placeX, placeZ, resourcePerPlayer[rIndex], 0, randFloat(0, 2*PI));
var placer = new ClumpPlacer(40, 1/2, 1/8, 1, placeX, placeZ);
var painter = [new LayeredPainter([terrainHillBorder, terrainHill], [1]), new ElevationPainter(1+randFloat()), paintClass(clHill)];
var painter = [new LayeredPainter([terrainHillBorder, terrainHill], [1]), new ElevationPainter(randFloat(1, 2)), paintClass(clHill)];
createArea(placer, painter);
}
}
@@ -208,7 +208,7 @@ RMS.SetProgress(60);
// Place eyecandy
placeObject(mapCenterX, mapCenterZ, templateEC, 0, randFloat(0, 2*PI));
var placer = new ClumpPlacer(radiusEC*radiusEC, 1/2, 1/8, 1, mapCenterX, mapCenterZ);
var painter = [new LayeredPainter([terrainHillBorder, terrainHill], [radiusEC/4]), new ElevationPainter(1+randFloat()), paintClass(clHill)];
var painter = [new LayeredPainter([terrainHillBorder, terrainHill], [radiusEC/4]), new ElevationPainter(randFloat(1, 2)), paintClass(clHill)];
createArea(placer, painter);
// Woods and general hight map
@@ -228,16 +228,16 @@ for (var x = 0; x < mapSize; x++)
var tDensActual = maxTreeDensity * tDensFactSL * tDensFactRad * tDensFactEC;
if (randBool(tDensActual) && radius < playableMapRadius)
{
if (tDensActual < bushChance*randFloat()*maxTreeDensity)
if (tDensActual < randFloat(0, bushChance * maxTreeDensity))
{
var placer = new ClumpPlacer(1, 1.0, 1.0, 1, x, z);
var painter = [new TerrainPainter(terrainWoodBorder), new ElevationPainter(randFloat()), paintClass(clForest)];
var painter = [new TerrainPainter(terrainWoodBorder), new ElevationPainter(randFloat(0, 1)), paintClass(clForest)];
createArea(placer, painter, avoidClasses(clPath, 1, clHill, 0));
}
else
{
var placer = new ClumpPlacer(1, 1.0, 1.0, 1, x, z);
var painter = [new TerrainPainter(terrainWood), new ElevationPainter(randFloat()), paintClass(clForest)];
var painter = [new TerrainPainter(terrainWood), new ElevationPainter(randFloat(0, 1)), paintClass(clForest)];
createArea(placer, painter, avoidClasses(clPath, 2, clHill, 1));
}
}
@@ -94,12 +94,12 @@ var playerZ = new Array(numPlayers+1);
var numLeftPlayers = ceil(numPlayers/2);
for (var i = 1; i <= numLeftPlayers; i++)
{
playerX[i] = 0.28 + randFloat(-0.01, 0.01);
playerX[i] = randFloat(0.27, 0.29);
playerZ[i] = (0.5+i-1)/numLeftPlayers + randFloat(-0.01, 0.01);
}
for (var i = numLeftPlayers+1; i <= numPlayers; i++)
{
playerX[i] = 0.72 + randFloat(-0.01, 0.01);
playerX[i] = randFloat(0.71, 0.73);
playerZ[i] = (0.5+i-numLeftPlayers-1)/numLeftPlayers + randFloat(-0.01, 0.01);
}
@@ -334,14 +334,14 @@ for (var ix = 0; ix < mapSize; ix++)
{
t = (diffH > 1.2) ? tGrassCliff : tGrassDry;
if (diffH < 0.5 && randBool(0.02))
placeObject(ix+randFloat(), iz+randFloat(), aGrassDry, 0, randFloat(0, TWO_PI));
placeObject(randFloat(ix, ix + 1), randFloat(iz, iz + 1), aGrassDry, 0, randFloat(0, 2 * PI));
}
else if (grassNoise > 0.61)
{
t = (diffH > 1.2 ? tGrassRock : tGrassShrubs);
}
else if (diffH < 0.5 && randBool(0.02))
placeObject(ix+randFloat(), iz+randFloat(), aGrass, 0, randFloat(0, TWO_PI));
placeObject(randFloat(ix, ix + 1), randFloat(iz, iz + 1), aGrass, 0, randFloat(0, 2 * PI));
}
placeTerrain(ix, iz, t);
@@ -31,7 +31,7 @@ var playerX = new Array(numPlayers);
var playerZ = new Array(numPlayers);
var playerAngle = new Array(numPlayers);
var startAngle = randFloat() * 2 * PI;
var startAngle = randFloat(0, 2 * PI);
for (var i=0; i < numPlayers; i++)
{
playerAngle[i] = startAngle + i*2*PI/numPlayers;
@@ -126,7 +126,8 @@ function randomizePlacerCoordinates(placer, halfMapSize)
if (!!g_MapSettings.CircularMap)
{
// Polar coordinates
let r = halfMapSize * Math.sqrt(randFloat()); // uniform distribution
// Uniformly distributed on the disk
let r = halfMapSize * Math.sqrt(randFloat(0, 1));
let theta = randFloat(0, 2 * PI);
placer.x = Math.floor(r * Math.cos(theta)) + halfMapSize;
placer.z = Math.floor(r * Math.sin(theta)) + halfMapSize;
@@ -775,7 +775,7 @@ function createMountain(maxHeight, minRadius, maxRadius, numCircles, constraint,
var radius2 = radius * radius;
var dx, dz, distance2;
var clumpHeight = (radius/maxRadius)*maxHeight*randFloat(0.8,1.2);
var clumpHeight = radius / maxRadius * maxHeight * randFloat(0.8, 1.2);
for (var ix = sx; ix <= lx; ++ix)
{
@@ -32,8 +32,7 @@ function Noise2D(freq)
this.grads[i] = new Array(freq);
for (var j=0; j < freq; ++j)
{
var a = randFloat() * 2 * PI;
var a = randFloat(0, 2 * PI);
this.grads[i][j] = new Vector2D(Math.cos(a), Math.sin(a));
}
}
@@ -91,7 +90,7 @@ function Noise3D(freq, vfreq)
var v = new Vector3D();
do
{
v.set(2*randFloat()-1, 2*randFloat()-1, 2*randFloat()-1);
v.set(randFloat(-1, 1), randFloat(-1, 1), randFloat(-1, 1));
}
while(v.lengthSquared() > 1 || v.lengthSquared() < 0.1);
@@ -48,7 +48,7 @@ ClumpPlacer.prototype.place = function(constraint)
for (var i=0; i < ctrlPts; i++)
{
ctrlCoords[i] = i * perim / ctrlPts;
ctrlVals[i] = 2.0*randFloat();
ctrlVals[i] = randFloat(0, 2);
}
var c = 0;
@@ -42,7 +42,7 @@ SimpleTerrain.prototype.constructor = SimpleTerrain;
SimpleTerrain.prototype.placeNew = function(x, z)
{
if (this.treeType !== undefined && g_Map.validT(round(x), round(z), MAP_BORDER_WIDTH))
g_Map.terrainObjects[x][z] = new Entity(this.treeType, 0, x+0.5, z+0.5, randFloat()*TWO_PI);
g_Map.terrainObjects[x][z] = new Entity(this.treeType, 0, x + 0.5, z + 0.5, randFloat(0, 2 * PI));
g_Map.texture[x][z] = g_Map.getTextureID(this.texture);
};
@@ -209,9 +209,12 @@ function createStoneMineFormation(x, z, tileclass)
for (var i = 0; i < 8; ++i)
{
var bbX = round(x + (bbDist + randFloat(0,1)) * cos(bbAngle));
var bbZ = round(z + (bbDist + randFloat(0,1)) * sin(bbAngle));
placeObject(bbX, bbZ, oStoneSmall, 0, randFloat(0, TWO_PI));
placeObject(
Math.round(x + randFloat(bbDist, bbDist + 1) * Math.cos(bbAngle)),
Math.round(z + randFloat(bbDist, bbDist + 1) * Math.sin(bbAngle)),
oStoneSmall,
0,
randFloat(0, 2 * PI));
bbAngle += PI / 6;
}
}
@@ -434,7 +434,7 @@ for (var x = 0; x < mapSize; x++)
if (randBool(tDensActual) && radius < playableMapRadius)
{
if (tDensActual < bushChance*randFloat()*maxTreeDensity)
if (tDensActual < randFloat(0, bushChance * maxTreeDensity))
{
var placer = new ClumpPlacer(1, 1.0, 1.0, 1, x, z);
var painter = [new TerrainPainter(terrainWoodBorder), paintClass(clForest)];