Fixes AI building angles to face bottom right corner of the map.

Cleans up the same concept in random maps.

This was SVN commit r10275.
This commit is contained in:
historic_bruno 2011-09-13 22:51:43 +00:00
parent d63e9eaef4
commit c3075c8e5b
7 changed files with 25 additions and 19 deletions

View File

@ -46,6 +46,8 @@ const aBushSmall = "actor|props/flora/bush_medit_sm.xml";
const pForestD = [tGrassDForest + TERRAIN_SEPARATOR + oOak, tGrassDForest + TERRAIN_SEPARATOR + oOakLarge, tGrassDForest];
const pForestP = [tGrassPForest + TERRAIN_SEPARATOR + oPine, tGrassPForest + TERRAIN_SEPARATOR + oAleppoPine, tGrassPForest];
const BUILDING_ANGlE = 0.75*PI;
// initialize map
log("Initializing map...");
@ -137,14 +139,14 @@ for (var i = 0; i < numPlayers; i++)
// create the TC
var group = new SimpleGroup( // elements (type, min/max count, min/max distance, min/max angle)
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, 0.75*PI, 0.75*PI)],
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, BUILDING_ANGlE, BUILDING_ANGlE)],
true, null, ix, iz
);
createObjectGroup(group, i+1);
// create starting units
var uDist = 8;
var uAngle = -0.75*PI + randFloat(-PI/8, PI/8);
var uAngle = -BUILDING_ANGlE + randFloat(-PI/8, PI/8);
for (var j = 1; j < civEntities.length; ++j)
{
var count = (civEntities[j].Count !== undefined ? civEntities[j].Count : 1);

View File

@ -69,6 +69,9 @@ var pPalmForest = [tForestFloor+TERRAIN_SEPARATOR+oPalm, tGrass];
var pPineForest = [tForestFloor+TERRAIN_SEPARATOR+oPine, tGrass];
var pPoplarForest = [tForestFloor+TERRAIN_SEPARATOR+oLombardyPoplar, tGrass];
var pMainForest = [tForestFloor+TERRAIN_SEPARATOR+oCarob, tForestFloor+TERRAIN_SEPARATOR+oBeech, tGrass, tGrass];
const BUILDING_ANGlE = 0.75*PI;
// initialize map
log("Initializing map...");
@ -270,19 +273,15 @@ if((numPlayers>=6)||(i==startingPlaces[numPlayers-1][nPlayer])){
var civEntities = getStartingEntities(nPlayer);
// create the TC
var angletemple = 1.5*PI-islandAngle[i];
angletemple = 0.75*PI;
//angletemple = (angletemple<0)?angletemple+2*PI:angletemple;
var group = new SimpleGroup( // elements (type, min/max count, min/max distance)
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, angletemple, angletemple)],
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, BUILDING_ANGlE, BUILDING_ANGlE)],
true, null, ix, iz
);
createObjectGroup(group, nPlayer+1);
// create starting units
var uDist = 8;
var uAngle = islandAngle[i] + PI + randFloat(-PI/8, PI/8);
var uAngle = -BUILDING_ANGlE + randFloat(-PI/8, PI/8);
for (var j = 1; j < civEntities.length; ++j)
{
var count = (civEntities[j].Count !== undefined ? civEntities[j].Count : 1);

View File

@ -63,6 +63,8 @@ var pPineForest = [tForestFloor+TERRAIN_SEPARATOR+oPine, tGrass];
var pPoplarForest = [tForestFloor+TERRAIN_SEPARATOR+oLombardyPoplar, tGrass];
var pMainForest = [tForestFloor+TERRAIN_SEPARATOR+oCarob, tForestFloor+TERRAIN_SEPARATOR+oBeech, tGrass, tGrass];
const BUILDING_ANGlE = 0.75*PI;
// initialize map
log("Initializing map...");
@ -418,14 +420,14 @@ for (var i = 1; i <= numPlayers; i++)
// create the TC
var group = new SimpleGroup( // elements (type, min/max count, min/max distance, min/max angle)
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, 0.75*PI, 0.75*PI)],
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, BUILDING_ANGlE, BUILDING_ANGlE)],
true, null, ix, iz
);
createObjectGroup(group, i);
// create starting units
var uDist = 8;
var uAngle = -0.75*PI + randFloat(-PI/8, PI/8);
var uAngle = -BUILDING_ANGlE + randFloat(-PI/8, PI/8);
for (var j = 1; j < civEntities.length; ++j)
{
var count = (civEntities[j].Count !== undefined ? civEntities[j].Count : 1);

View File

@ -43,6 +43,8 @@ const aDecorativeRock = "actor|geology/stone_desert_med.xml";
var pForest = [tForestFloor + TERRAIN_SEPARATOR + oDatePalm, tForestFloor + TERRAIN_SEPARATOR + oSDatePalm, tForestFloor];
var pForestOasis = [tGrass + TERRAIN_SEPARATOR + oDatePalm, tGrass + TERRAIN_SEPARATOR + oSDatePalm, tGrass];
const BUILDING_ANGlE = 0.75*PI;
// initialize map
log("Initializing map...");
@ -112,14 +114,14 @@ for (var i = 0; i < numPlayers; i++)
// create the TC
var group = new SimpleGroup( // elements (type, min/max count, min/max distance, min/max angle)
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, 0.75*PI, 0.75*PI)],
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, BUILDING_ANGlE, BUILDING_ANGlE)],
true, null, ix, iz
);
createObjectGroup(group, i+1);
// create starting units
var uDist = 8;
var uAngle = -0.75*PI + randFloat(-PI/8, PI/8);
var uAngle = -BUILDING_ANGlE + randFloat(-PI/8, PI/8);
for (var j = 1; j < civEntities.length; ++j)
{
var count = (civEntities[j].Count !== undefined ? civEntities[j].Count : 1);

View File

@ -1,5 +1,7 @@
RMS.LoadLibrary("rmgen");
const BUILDING_ANGlE = 0.75*PI;
// initialize map
log("Initializing map...");
@ -49,14 +51,14 @@ for (var i=0; i < numPlayers; i++)
// create the TC
var group = new SimpleGroup( // elements (type, min/max count, min/max distance, min/max angle)
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, 0.75*PI, 0.75*PI)],
[new SimpleObject(civEntities[0].Template, 1,1, 0,0, BUILDING_ANGlE, BUILDING_ANGlE)],
true, null, ix, iz
);
createObjectGroup(group, i+1);
// create starting units
var uDist = 8;
var uAngle = -0.75*PI + randFloat(-PI/8, PI/8);
var uAngle = -BUILDING_ANGlE + randFloat(-PI/8, PI/8);
for (var j = 1; j < civEntities.length; ++j)
{
var count = (civEntities[j].Count !== undefined ? civEntities[j].Count : 1);

View File

@ -208,9 +208,8 @@ var BuildingConstructionPlan = Class({
// Engine.DumpImage("tiles1.png", obstructionTiles, map.width, map.height, 32);
// Engine.DumpImage("tiles2.png", friendlyTiles, map.width, map.height, 256);
// Randomise the angle a little, to look less artificial
//var angle = Math.PI + (Math.random()*2-1) * Math.PI/24;
var angle = Math.PI + (Math.PI / 4);
// Fixed angle to match fixed starting cam
var angle = 0.75*Math.PI;
return {
"x": x,

View File

@ -184,8 +184,8 @@ var BuildingConstructionPlan = Class({
// Engine.DumpImage("tiles1.png", obstructionTiles, map.width, map.height, 32);
// Engine.DumpImage("tiles2.png", friendlyTiles, map.width, map.height, 256);
// Randomise the angle a little, to look less artificial
var angle = Math.PI + (Math.random()*2-1) * Math.PI/24;
// Fixed angle to match fixed starting cam
var angle = 0.75*Math.PI;
return {
"x": x,