tiles.rc: eliminate BULLBIT and use annotation instead
git-svn-id: https://micropolis.googlecode.com/svn/trunk/micropolis-java@894 d9718cc8-9f43-0410-858b-315f434eb58c
This commit is contained in:
parent
dbb7029ec2
commit
454409cecf
9 changed files with 69 additions and 83 deletions
|
@ -110,7 +110,7 @@ class Bulldozer extends ToolStroke
|
||||||
tile = tile & LOMASK;
|
tile = tile & LOMASK;
|
||||||
if (tile != RADTILE && tile != DIRT) {
|
if (tile != RADTILE && tile != DIRT) {
|
||||||
int z = inPreview ? 0 : city.PRNG.nextInt(3);
|
int z = inPreview ? 0 : city.PRNG.nextInt(3);
|
||||||
int nTile = (TINYEXP + z) | BULLBIT;
|
int nTile = TINYEXP + z;
|
||||||
eff.setTile(xx, yy, nTile);
|
eff.setTile(xx, yy, nTile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -391,10 +391,10 @@ public class MapGenerator
|
||||||
}
|
}
|
||||||
|
|
||||||
static final char [] REdTab = new char[] {
|
static final char [] REdTab = new char[] {
|
||||||
(RIVEDGE+8) + BULLBIT, (RIVEDGE+8) + BULLBIT, (RIVEDGE+12)+ BULLBIT, (RIVEDGE+10)+ BULLBIT,
|
RIVEDGE + 8, RIVEDGE + 8, RIVEDGE + 12, RIVEDGE + 10,
|
||||||
(RIVEDGE+0) + BULLBIT, RIVER, (RIVEDGE+14)+ BULLBIT, (RIVEDGE+12)+ BULLBIT,
|
RIVEDGE + 0, RIVER, RIVEDGE + 14, RIVEDGE + 12,
|
||||||
(RIVEDGE+4) + BULLBIT, (RIVEDGE+6) + BULLBIT, RIVER, (RIVEDGE+8) + BULLBIT,
|
RIVEDGE + 4, RIVEDGE + 6, RIVER, RIVEDGE + 8,
|
||||||
(RIVEDGE+2) + BULLBIT, (RIVEDGE+4) + BULLBIT, (RIVEDGE+0) + BULLBIT, RIVER
|
RIVEDGE + 2, RIVEDGE + 4, RIVEDGE + 0, RIVER
|
||||||
};
|
};
|
||||||
|
|
||||||
private void smoothRiver()
|
private void smoothRiver()
|
||||||
|
@ -479,7 +479,7 @@ public class MapGenerator
|
||||||
|
|
||||||
if ((map[mapY][mapX] & LOMASK) == DIRT)
|
if ((map[mapY][mapX] & LOMASK) == DIRT)
|
||||||
{
|
{
|
||||||
map[mapY][mapX] = WOODS | BULLBIT;
|
map[mapY][mapX] = WOODS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -532,7 +532,7 @@ public class MapGenerator
|
||||||
temp -= 8;
|
temp -= 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
map[mapY][mapX] = (char)(temp | BULLBIT);
|
map[mapY][mapX] = temp;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -167,7 +167,7 @@ class MapScanner extends TileBehavior
|
||||||
{
|
{
|
||||||
for (int x = xpos-1; x < xpos-1+bi.width; x++)
|
for (int x = xpos-1; x < xpos-1+bi.width; x++)
|
||||||
{
|
{
|
||||||
city.setTile(x, y, (char)(bi.members[i] | (x == xpos && y == ypos ? BULLBIT : 0)));
|
city.setTile(x, y, (char) bi.members[i]);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -672,7 +672,7 @@ class MapScanner extends TileBehavior
|
||||||
assert houseNumber >= 0 && houseNumber < 12;
|
assert houseNumber >= 0 && houseNumber < 12;
|
||||||
|
|
||||||
assert city.testBounds(xx, yy);
|
assert city.testBounds(xx, yy);
|
||||||
city.setTile(xx, yy, (char)((HOUSE + houseNumber) | BULLBIT));
|
city.setTile(xx, yy, (char)(HOUSE + houseNumber));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -800,7 +800,7 @@ class MapScanner extends TileBehavior
|
||||||
// downgrade from full-size zone to 8 little houses
|
// downgrade from full-size zone to 8 little houses
|
||||||
|
|
||||||
int pwrBit = (rawTile & PWRBIT);
|
int pwrBit = (rawTile & PWRBIT);
|
||||||
city.setTile(xpos, ypos, (char)(RESCLR | BULLBIT | pwrBit));
|
city.setTile(xpos, ypos, (char)(RESCLR | pwrBit));
|
||||||
for (int x = xpos-1; x <= xpos+1; x++)
|
for (int x = xpos-1; x <= xpos+1; x++)
|
||||||
{
|
{
|
||||||
for (int y = ypos-1; y <= ypos+1; y++)
|
for (int y = ypos-1; y <= ypos+1; y++)
|
||||||
|
@ -811,7 +811,7 @@ class MapScanner extends TileBehavior
|
||||||
{
|
{
|
||||||
// pick a random small house
|
// pick a random small house
|
||||||
int houseNumber = value * 3 + PRNG.nextInt(3);
|
int houseNumber = value * 3 + PRNG.nextInt(3);
|
||||||
city.setTile(x, y, (char) ((HOUSE + houseNumber) | BULLBIT));
|
city.setTile(x, y, (char) (HOUSE + houseNumber));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -836,7 +836,7 @@ class MapScanner extends TileBehavior
|
||||||
int loc = city.map[y][x] & LOMASK;
|
int loc = city.map[y][x] & LOMASK;
|
||||||
if (loc >= LHTHR && loc <= HHTHR)
|
if (loc >= LHTHR && loc <= HHTHR)
|
||||||
{ //little house
|
{ //little house
|
||||||
city.setTile(x, y, (char)((Brdr[z] + RESCLR - 4) | BULLBIT));
|
city.setTile(x, y, (char)(Brdr[z] + RESCLR - 4));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2204,7 +2204,7 @@ public class Micropolis
|
||||||
|
|
||||||
if (isVulnerable(getTile(x, y))) {
|
if (isVulnerable(getTile(x, y))) {
|
||||||
if (PRNG.nextInt(4) != 0) {
|
if (PRNG.nextInt(4) != 0) {
|
||||||
setTile(x, y, (char)(RUBBLE + BULLBIT + PRNG.nextInt(4)));
|
setTile(x, y, (char)(RUBBLE + PRNG.nextInt(4)));
|
||||||
} else {
|
} else {
|
||||||
setTile(x, y, (char)(FIRE + PRNG.nextInt(8)));
|
setTile(x, y, (char)(FIRE + PRNG.nextInt(8)));
|
||||||
}
|
}
|
||||||
|
@ -2374,20 +2374,6 @@ public class Micropolis
|
||||||
|
|
||||||
// this will take care of stopping smoke animations
|
// this will take care of stopping smoke animations
|
||||||
shutdownZone(xpos, ypos, dim);
|
shutdownZone(xpos, ypos, dim);
|
||||||
|
|
||||||
for (int y = 0; y < dim.height; y++) {
|
|
||||||
for (int x = 0; x < dim.width; x++, zoneBase++) {
|
|
||||||
int xtem = xpos - 1 + x;
|
|
||||||
int ytem = ypos - 1 + y;
|
|
||||||
if (!testBounds(xtem, ytem))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
int t = getTile(xtem, ytem);
|
|
||||||
if (isConstructed(t)) {
|
|
||||||
setTile(xtem, ytem, (char)(t | BULLBIT));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -163,7 +163,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
eTile == HRAIL ||
|
eTile == HRAIL ||
|
||||||
(eTile >= LHRAIL && eTile <= HRAILROAD))
|
(eTile >= LHRAIL && eTile <= HRAILROAD))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HRAIL | BULLBIT));
|
eff.setTile(0, 0, HRAIL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -175,7 +175,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
wTile == HRAIL ||
|
wTile == HRAIL ||
|
||||||
(wTile > VRAIL && wTile < VRAILROAD))
|
(wTile > VRAIL && wTile < VRAILROAD))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HRAIL | BULLBIT));
|
eff.setTile(0, 0, HRAIL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -187,7 +187,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
sTile == VRAILROAD ||
|
sTile == VRAILROAD ||
|
||||||
(sTile > HRAIL && sTile < HRAILROAD))
|
(sTile > HRAIL && sTile < HRAILROAD))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VRAIL | BULLBIT));
|
eff.setTile(0, 0, VRAIL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -199,7 +199,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
nTile == VRAILROAD ||
|
nTile == VRAILROAD ||
|
||||||
(nTile > HRAIL && nTile < HRAILROAD))
|
(nTile > HRAIL && nTile < HRAILROAD))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VRAIL | BULLBIT));
|
eff.setTile(0, 0, VRAIL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -208,19 +208,19 @@ class RoadLikeTool extends ToolStroke
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case LHPOWER: // rail on power
|
case LHPOWER: // rail on power
|
||||||
eff.setTile(0, 0, (char) (RAILVPOWERH | BULLBIT));
|
eff.setTile(0, 0, RAILVPOWERH);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LVPOWER: // rail on power
|
case LVPOWER: // rail on power
|
||||||
eff.setTile(0, 0, (char) (RAILHPOWERV | BULLBIT));
|
eff.setTile(0, 0, RAILHPOWERV);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TileConstants.ROADS: // rail on road (case 1)
|
case TileConstants.ROADS: // rail on road (case 1)
|
||||||
eff.setTile(0, 0, (char) (VRAILROAD | BULLBIT));
|
eff.setTile(0, 0, VRAILROAD);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ROADS2: // rail on road (case 2)
|
case ROADS2: // rail on road (case 2)
|
||||||
eff.setTile(0, 0, (char) (HRAILROAD | BULLBIT));
|
eff.setTile(0, 0, HRAILROAD);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -235,7 +235,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
}
|
}
|
||||||
|
|
||||||
//rail on dirt
|
//rail on dirt
|
||||||
eff.setTile(0, 0, (char) (LHRAIL | BULLBIT));
|
eff.setTile(0, 0, LHRAIL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,7 +266,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
eTile == HBRIDGE ||
|
eTile == HBRIDGE ||
|
||||||
(eTile >= TileConstants.ROADS && eTile <= HROADPOWER))
|
(eTile >= TileConstants.ROADS && eTile <= HROADPOWER))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HBRIDGE | BULLBIT));
|
eff.setTile(0, 0, HBRIDGE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -278,7 +278,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
wTile == HBRIDGE ||
|
wTile == HBRIDGE ||
|
||||||
(wTile >= TileConstants.ROADS && wTile <= INTERSECTION))
|
(wTile >= TileConstants.ROADS && wTile <= INTERSECTION))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HBRIDGE | BULLBIT));
|
eff.setTile(0, 0, HBRIDGE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -290,7 +290,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
sTile == VROADPOWER ||
|
sTile == VROADPOWER ||
|
||||||
(sTile >= VBRIDGE && sTile <= INTERSECTION))
|
(sTile >= VBRIDGE && sTile <= INTERSECTION))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VBRIDGE | BULLBIT));
|
eff.setTile(0, 0, VBRIDGE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -302,7 +302,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
nTile == VROADPOWER ||
|
nTile == VROADPOWER ||
|
||||||
(nTile >= VBRIDGE && nTile <= INTERSECTION))
|
(nTile >= VBRIDGE && nTile <= INTERSECTION))
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VBRIDGE | BULLBIT));
|
eff.setTile(0, 0, VBRIDGE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -311,19 +311,19 @@ class RoadLikeTool extends ToolStroke
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case LHPOWER: //road on power
|
case LHPOWER: //road on power
|
||||||
eff.setTile(0, 0, (char) (VROADPOWER | BULLBIT));
|
eff.setTile(0, 0, VROADPOWER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LVPOWER: //road on power #2
|
case LVPOWER: //road on power #2
|
||||||
eff.setTile(0, 0, (char) (HROADPOWER | BULLBIT));
|
eff.setTile(0, 0, HROADPOWER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LHRAIL: //road on rail
|
case LHRAIL: //road on rail
|
||||||
eff.setTile(0, 0, (char) (HRAILROAD | BULLBIT));
|
eff.setTile(0, 0, HRAILROAD);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LVRAIL: //road on rail #2
|
case LVRAIL: //road on rail #2
|
||||||
eff.setTile(0, 0, (char) (VRAILROAD | BULLBIT));
|
eff.setTile(0, 0, VRAILROAD);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -339,7 +339,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
|
|
||||||
// road on dirt;
|
// road on dirt;
|
||||||
// just build a plain road, fixZone will fix it.
|
// just build a plain road, fixZone will fix it.
|
||||||
eff.setTile(0, 0, (char) (TileConstants.ROADS | BULLBIT));
|
eff.setTile(0, 0, TileConstants.ROADS);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -375,7 +375,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
tmpn != RAILHPOWERV &&
|
tmpn != RAILHPOWERV &&
|
||||||
tmpn != HPOWER)
|
tmpn != HPOWER)
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VPOWER | BULLBIT));
|
eff.setTile(0, 0, VPOWER);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -390,7 +390,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
tmpn != RAILHPOWERV &&
|
tmpn != RAILHPOWERV &&
|
||||||
tmpn != HPOWER)
|
tmpn != HPOWER)
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (VPOWER | BULLBIT));
|
eff.setTile(0, 0, VPOWER);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -405,7 +405,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
tmpn != RAILVPOWERH &&
|
tmpn != RAILVPOWERH &&
|
||||||
tmpn != VPOWER)
|
tmpn != VPOWER)
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HPOWER | BULLBIT));
|
eff.setTile(0, 0, HPOWER);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -420,7 +420,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
tmpn != RAILVPOWERH &&
|
tmpn != RAILVPOWERH &&
|
||||||
tmpn != VPOWER)
|
tmpn != VPOWER)
|
||||||
{
|
{
|
||||||
eff.setTile(0, 0, (char) (HPOWER | BULLBIT));
|
eff.setTile(0, 0, HPOWER);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -429,19 +429,19 @@ class RoadLikeTool extends ToolStroke
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
case TileConstants.ROADS: // wire on E/W road
|
case TileConstants.ROADS: // wire on E/W road
|
||||||
eff.setTile(0, 0, (char) (HROADPOWER | BULLBIT));
|
eff.setTile(0, 0, HROADPOWER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ROADS2: // wire on N/S road
|
case ROADS2: // wire on N/S road
|
||||||
eff.setTile(0, 0, (char) (VROADPOWER | BULLBIT));
|
eff.setTile(0, 0, VROADPOWER);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LHRAIL: // wire on E/W railroad tracks
|
case LHRAIL: // wire on E/W railroad tracks
|
||||||
eff.setTile(0, 0, (char) (RAILHPOWERV | BULLBIT));
|
eff.setTile(0, 0, RAILHPOWERV);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case LVRAIL: // wire on N/S railroad tracks
|
case LVRAIL: // wire on N/S railroad tracks
|
||||||
eff.setTile(0, 0, (char) (RAILVPOWERH | BULLBIT));
|
eff.setTile(0, 0, RAILVPOWERH);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -456,7 +456,7 @@ class RoadLikeTool extends ToolStroke
|
||||||
}
|
}
|
||||||
|
|
||||||
//wire on dirt
|
//wire on dirt
|
||||||
eff.setTile(0, 0, (char) (LHPOWER | BULLBIT));
|
eff.setTile(0, 0, LHPOWER);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,8 +192,7 @@ public abstract class Sprite
|
||||||
city.setTile(xpos, ypos, RIVER);
|
city.setTile(xpos, ypos, RIVER);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
city.setTile(xpos, ypos,
|
city.setTile(xpos, ypos, TINYEXP);
|
||||||
(char) (TINYEXP | BULLBIT));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ class TerrainBehavior extends TileBehavior
|
||||||
cov != 0 ? 3 : 10;
|
cov != 0 ? 3 : 10;
|
||||||
|
|
||||||
if (PRNG.nextInt(rate+1) == 0) {
|
if (PRNG.nextInt(rate+1) == 0) {
|
||||||
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4) + BULLBIT));
|
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +171,7 @@ class TerrainBehavior extends TileBehavior
|
||||||
if (isOverWater(rawTile))
|
if (isOverWater(rawTile))
|
||||||
city.setTile(xpos, ypos, RIVER);
|
city.setTile(xpos, ypos, RIVER);
|
||||||
else
|
else
|
||||||
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4) + BULLBIT));
|
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -225,7 +225,7 @@ class TerrainBehavior extends TileBehavior
|
||||||
if (isOverWater(rawTile)) {
|
if (isOverWater(rawTile)) {
|
||||||
city.setTile(xpos,ypos,RIVER);
|
city.setTile(xpos,ypos,RIVER);
|
||||||
} else {
|
} else {
|
||||||
city.setTile(xpos,ypos,(char)(RUBBLE + PRNG.nextInt(4)+BULLBIT));
|
city.setTile(xpos,ypos,(char)(RUBBLE + PRNG.nextInt(4)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -249,27 +249,27 @@ class TerrainBehavior extends TileBehavior
|
||||||
final int HDx[] = { -2, 2, -2, -1, 0, 1, 2 };
|
final int HDx[] = { -2, 2, -2, -1, 0, 1, 2 };
|
||||||
final int HDy[] = { -1, -1, 0, 0, 0, 0, 0 };
|
final int HDy[] = { -1, -1, 0, 0, 0, 0, 0 };
|
||||||
final char HBRTAB[] = {
|
final char HBRTAB[] = {
|
||||||
HBRDG1 | BULLBIT, HBRDG3 | BULLBIT,
|
HBRDG1, HBRDG3,
|
||||||
HBRDG0 | BULLBIT, RIVER,
|
HBRDG0, RIVER,
|
||||||
BRWH | BULLBIT, RIVER,
|
BRWH, RIVER,
|
||||||
HBRDG2 | BULLBIT };
|
HBRDG2 };
|
||||||
final char HBRTAB2[] = {
|
final char HBRTAB2[] = {
|
||||||
RIVER, RIVER,
|
RIVER, RIVER,
|
||||||
HBRIDGE | BULLBIT, HBRIDGE | BULLBIT,
|
HBRIDGE, HBRIDGE,
|
||||||
HBRIDGE | BULLBIT, HBRIDGE | BULLBIT,
|
HBRIDGE, HBRIDGE,
|
||||||
HBRIDGE | BULLBIT };
|
HBRIDGE };
|
||||||
|
|
||||||
final int VDx[] = { 0, 1, 0, 0, 0, 0, 1 };
|
final int VDx[] = { 0, 1, 0, 0, 0, 0, 1 };
|
||||||
final int VDy[] = { -2, -2, -1, 0, 1, 2, 2 };
|
final int VDy[] = { -2, -2, -1, 0, 1, 2, 2 };
|
||||||
final char VBRTAB[] = {
|
final char VBRTAB[] = {
|
||||||
VBRDG0 | BULLBIT, VBRDG1 | BULLBIT,
|
VBRDG0, VBRDG1,
|
||||||
RIVER, BRWV | BULLBIT,
|
RIVER, BRWV,
|
||||||
RIVER, VBRDG2 | BULLBIT,
|
RIVER, VBRDG2,
|
||||||
VBRDG3 | BULLBIT };
|
VBRDG3 };
|
||||||
final char VBRTAB2[] = {
|
final char VBRTAB2[] = {
|
||||||
VBRIDGE | BULLBIT, RIVER,
|
VBRIDGE, RIVER,
|
||||||
VBRIDGE | BULLBIT, VBRIDGE | BULLBIT,
|
VBRIDGE, VBRIDGE,
|
||||||
VBRIDGE | BULLBIT, VBRIDGE | BULLBIT,
|
VBRIDGE, VBRIDGE,
|
||||||
RIVER };
|
RIVER };
|
||||||
|
|
||||||
if (tile == BRWV) {
|
if (tile == BRWV) {
|
||||||
|
@ -371,6 +371,6 @@ class TerrainBehavior extends TileBehavior
|
||||||
void doExplosion()
|
void doExplosion()
|
||||||
{
|
{
|
||||||
// clear AniRubble
|
// clear AniRubble
|
||||||
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4) + BULLBIT));
|
city.setTile(xpos, ypos, (char)(RUBBLE + PRNG.nextInt(4)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,7 +181,7 @@ public class TileConstants
|
||||||
public static final char PWRBIT = 32768; // bit 15 ... currently powered
|
public static final char PWRBIT = 32768; // bit 15 ... currently powered
|
||||||
// bit 14 ... unused
|
// bit 14 ... unused
|
||||||
// bit 13 ... unused
|
// bit 13 ... unused
|
||||||
public static final char BULLBIT = 4096; // bit 12 ... is bulldozable
|
// bit 12 ... unused
|
||||||
// bit 11 ... unused
|
// bit 11 ... unused
|
||||||
// bit 10 ... unused
|
// bit 10 ... unused
|
||||||
|
|
||||||
|
@ -363,12 +363,13 @@ public class TileConstants
|
||||||
|
|
||||||
public static boolean isDozeable(int tile)
|
public static boolean isDozeable(int tile)
|
||||||
{
|
{
|
||||||
return tile >= 0 && (tile & BULLBIT) != 0;
|
TileSpec spec = Tiles.get(tile & LOMASK);
|
||||||
|
return spec != null && spec.canBulldoze;
|
||||||
}
|
}
|
||||||
|
|
||||||
static boolean isFloodable(int tile)
|
static boolean isFloodable(int tile)
|
||||||
{
|
{
|
||||||
return (tile == DIRT || ((tile & BULLBIT) != 0 && isCombustible(tile)));
|
return (tile == DIRT || (isDozeable(tile) && isCombustible(tile)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -242,9 +242,9 @@ public class ToolStroke
|
||||||
int z = inPreview ? 0 : city.PRNG.nextInt(5);
|
int z = inPreview ? 0 : city.PRNG.nextInt(5);
|
||||||
int tile;
|
int tile;
|
||||||
if (z < 4) {
|
if (z < 4) {
|
||||||
tile = (WOODS2 + z) | BULLBIT;
|
tile = WOODS2 + z;
|
||||||
} else {
|
} else {
|
||||||
tile = FOUNTAIN | BULLBIT;
|
tile = FOUNTAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
eff.spend(cost);
|
eff.spend(cost);
|
||||||
|
@ -304,7 +304,7 @@ public class ToolStroke
|
||||||
adjTile |= 8;
|
adjTile |= 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
eff.setTile(0, 0, (RoadTable[adjTile] | BULLBIT));
|
eff.setTile(0, 0, RoadTable[adjTile]);
|
||||||
} //endif on a road tile
|
} //endif on a road tile
|
||||||
|
|
||||||
else if (isRailDynamic(tile))
|
else if (isRailDynamic(tile))
|
||||||
|
@ -336,7 +336,7 @@ public class ToolStroke
|
||||||
adjTile |= 8;
|
adjTile |= 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
eff.setTile(0, 0, (RailTable[adjTile] | BULLBIT));
|
eff.setTile(0, 0, RailTable[adjTile]);
|
||||||
} //end if on a rail tile
|
} //end if on a rail tile
|
||||||
|
|
||||||
else if (isWireDynamic(tile))
|
else if (isWireDynamic(tile))
|
||||||
|
@ -368,7 +368,7 @@ public class ToolStroke
|
||||||
adjTile |= 8;
|
adjTile |= 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
eff.setTile(0, 0, (WireTable[adjTile] | BULLBIT));
|
eff.setTile(0, 0, WireTable[adjTile]);
|
||||||
} //end if on a rail tile
|
} //end if on a rail tile
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
Reference in a new issue