Skip to content

Commit cdcea88

Browse files
author
bytekeeper
committed
Some inlining; TileData now directly returns tiles/minitiles (and can therefore just use arrays internally).
1 parent 439f744 commit cdcea88

File tree

6 files changed

+27
-31
lines changed

6 files changed

+27
-31
lines changed

src/main/java/bwem/AreaInitializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,7 @@ private boolean validateBaseLocation(
522522
// checks the distance to the bases already created:
523523
for (final Base base : getBases()) {
524524
if (BwemExt.roundedDist(base.getLocation(), location)
525-
< BwemExt.min_tiles_between_Bases) {
525+
< BwemExt.MIN_TILES_BETWEEN_BASES) {
526526
return false;
527527
}
528528
}

src/main/java/bwem/BWMapInitializer.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ void initialize() {
3131

3232
// Computes walkability, buildability and groundHeight and doodad information, using BWAPI
3333
// corresponding functions
34-
((TerrainDataInitializer) getData()).markUnwalkableMiniTiles(game);
35-
((TerrainDataInitializer) getData()).markBuildableTilesAndGroundHeight(game);
34+
TerrainDataInitializer initializer = (TerrainDataInitializer) getData();
35+
initializer.markUnwalkableMiniTiles(game);
36+
initializer.markBuildableTilesAndGroundHeight(game);
3637

3738
//
38-
((TerrainDataInitializer) getData())
39-
.decideSeasOrLakes(BwemExt.LAKE_MAX_MINI_TILES, BwemExt.LAKE_MAX_WIDTH_IN_MINI_TILES);
39+
initializer.decideSeasOrLakes();
4040

4141

4242
initializeNeutralData(
@@ -53,7 +53,7 @@ void initialize() {
5353

5454

5555
computeAreas(
56-
computeTempAreas(getSortedMiniTilesByDescendingAltitude()), BwemExt.AREA_MIN_MINI_TILES);
56+
computeTempAreas(getSortedMiniTilesByDescendingAltitude()));
5757

5858

5959
getGraph()
@@ -422,8 +422,8 @@ private void markBlockingStackedNeutrals(
422422
// - involves the creation of a new area.
423423
// - is added to some existing neighboring area.
424424
// - makes two neighboring areas merge together.
425-
private void computeAreas(final List<TempAreaInfo> tempAreaList, final int areaMinMiniTiles) {
426-
createAreas(tempAreaList, areaMinMiniTiles);
425+
private void computeAreas(final List<TempAreaInfo> tempAreaList) {
426+
createAreas(tempAreaList, BwemExt.AREA_MIN_MINI_TILES);
427427
setAreaIdAndLowestAltitudeInTiles();
428428
}
429429

src/main/java/bwem/TerrainData.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,7 @@ public Tile getTile(final TilePosition tilePosition, final CheckMode checkMode)
3838
throw new IllegalArgumentException();
3939
}
4040
return getTileData()
41-
.getTiles()
42-
.get(getMapData().getTileSize().getX() * tilePosition.getY() + tilePosition.getX());
41+
.getTile(getMapData().getTileSize().getX() * tilePosition.getY() + tilePosition.getX());
4342
}
4443

4544
public Tile getTile(final TilePosition tilePosition) {
@@ -51,8 +50,7 @@ public MiniTile getMiniTile(final WalkPosition walkPosition, final CheckMode che
5150
throw new IllegalArgumentException();
5251
}
5352
return getTileData()
54-
.getMiniTiles()
55-
.get(getMapData().getWalkSize().getX() * walkPosition.getY() + walkPosition.getX());
53+
.getMiniTile(getMapData().getWalkSize().getX() * walkPosition.getY() + walkPosition.getX());
5654
}
5755

5856
public MiniTile getMiniTile(final WalkPosition walkPosition) {

src/main/java/bwem/TerrainDataInitializer.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ void markBuildableTilesAndGroundHeight(final Game game) {
8282
// BWMap::DecideSeasOrLakes
8383
////////////////////////////////////////////////////////////////////////
8484

85-
void decideSeasOrLakes(final int lakeMaxMiniTiles, final int lakeMaxWidthInMiniTiles) {
85+
void decideSeasOrLakes() {
8686
for (int y = 0; y < getMapData().getWalkSize().getY(); ++y)
8787
for (int x = 0; x < getMapData().getWalkSize().getX(); ++x) {
8888
final WalkPosition originWalkPosition = new WalkPosition(x, y);
@@ -120,7 +120,7 @@ void decideSeasOrLakes(final int lakeMaxMiniTiles, final int lakeMaxWidthInMiniT
120120
final MiniTile nextMiniTile = getMiniTile(nextWalkPosition, CheckMode.NO_CHECK);
121121
if (nextMiniTile.isSeaOrLake()) {
122122
toSearch.add(nextWalkPosition);
123-
if (seaExtent.size() <= lakeMaxMiniTiles) {
123+
if (seaExtent.size() <= bwem.util.BwemExt.LAKE_MAX_MINI_TILES) {
124124
seaExtent.add(nextMiniTile);
125125
}
126126
nextMiniTile.setSea();
@@ -129,9 +129,9 @@ void decideSeasOrLakes(final int lakeMaxMiniTiles, final int lakeMaxWidthInMiniT
129129
}
130130
}
131131

132-
if ((seaExtent.size() <= lakeMaxMiniTiles)
133-
&& (bottomRightX - topLeftX <= lakeMaxWidthInMiniTiles)
134-
&& (bottomRightY - topLeftY <= lakeMaxWidthInMiniTiles)
132+
if ((seaExtent.size() <= bwem.util.BwemExt.LAKE_MAX_MINI_TILES)
133+
&& (bottomRightX - topLeftX <= bwem.util.BwemExt.LAKE_MAX_WIDTH_IN_MINI_TILES)
134+
&& (bottomRightY - topLeftY <= bwem.util.BwemExt.LAKE_MAX_WIDTH_IN_MINI_TILES)
135135
&& (topLeftX >= 2)
136136
&& (topLeftY >= 2)
137137
&& (bottomRightX < getMapData().getWalkSize().getX() - 2)

src/main/java/bwem/TileData.java

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,30 +12,28 @@
1212

1313
package bwem;
1414

15-
import java.util.ArrayList;
16-
import java.util.List;
17-
1815
class TileData {
19-
private final List<Tile> tiles;
20-
private final List<MiniTile> miniTiles;
16+
17+
private final Tile[] tiles;
18+
private final MiniTile[] miniTiles;
2119

2220
TileData(final int tileCount, final int miniTileCount) {
23-
this.tiles = new ArrayList<>(tileCount);
21+
tiles = new Tile[tileCount];
2422
for (int i = 0; i < tileCount; ++i) {
25-
this.tiles.add(new Tile());
23+
tiles[i] = new Tile();
2624
}
2725

28-
this.miniTiles = new ArrayList<>(miniTileCount);
26+
miniTiles = new MiniTile[miniTileCount];
2927
for (int i = 0; i < miniTileCount; ++i) {
30-
this.miniTiles.add(new MiniTile());
28+
miniTiles[i] = new MiniTile();
3129
}
3230
}
3331

34-
List<Tile> getTiles() {
35-
return this.tiles;
32+
Tile getTile(int index) {
33+
return tiles[index];
3634
}
3735

38-
List<MiniTile> getMiniTiles() {
39-
return this.miniTiles;
36+
MiniTile getMiniTile(int index) {
37+
return miniTiles[index];
4038
}
4139
}

src/main/java/bwem/util/BwemExt.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public final class BwemExt {
2828
// At least AREA_MIN_MINI_TILES connected MiniTiles are necessary for an Area to be created.
2929
public static final int AREA_MIN_MINI_TILES = 64;
3030
public static final int MAX_TILES_BETWEEN_COMMAND_CENTER_AND_RESOURCES = 10;
31-
public static final int min_tiles_between_Bases = 10;
31+
public static final int MIN_TILES_BETWEEN_BASES = 10;
3232
public static final int MAX_TILES_BETWEEN_STARTING_LOCATION_AND_ITS_ASSIGNED_BASE = 3;
3333
private static final int TILE_POSITION_CENTER_OFFSET_IN_PIXELS = TilePosition.SIZE_IN_PIXELS / 2;
3434
private static final Position TILE_POSITION_CENTER_IN_PIXELS =

0 commit comments

Comments
 (0)