Browse Source

Map loaded updated

combat-2
MagicBot 1 year ago
parent
commit
73b6854266
  1. 31
      src/engine/util/MapLoader.java

31
src/engine/util/MapLoader.java

@ -103,31 +103,38 @@ public enum MapLoader { @@ -103,31 +103,38 @@ public enum MapLoader {
if (Files.isRegularFile(filePath)) {
File imageFile = filePath.toFile();
BufferedImage heightmapImage;
try {
BufferedImage heightmapImage = ImageIO.read(imageFile);
heightmapImage = ImageIO.read(imageFile);
} catch (IOException e) {
throw new RuntimeException(e);
}
// Generate pixel data for this heightmap. RPG channels are all the same
// in this greyscale TGA heightmap. We will choose red.
int fileName = Integer.parseInt(imageFile.getName().substring(0, imageFile.getName().lastIndexOf(".")));
boolean singleBandRaster = heightmapImage.getRaster().getNumBands() == 1;
int color;
// Generate pixel data for this heightmap.
short[][] colorData = new short[heightmapImage.getWidth()][heightmapImage.getHeight()];
for (int y = 0; y < heightmapImage.getHeight(); y++)
for (int x = 0; x < heightmapImage.getWidth(); x++) {
Color color = new Color(heightmapImage.getRGB(x, y));
colorData[x][y] = (short) color.getRed();
}
if (singleBandRaster)
color = heightmapImage.getRaster().getSample(x, y, 0);
else
color = new Color(heightmapImage.getRGB(x, y)).getRed();
// Insert color data into lookup table
colorData[x][y] = (short) color;
}
int heightMapID = Integer.parseInt(imageFile.getName().substring(0, imageFile.getName().lastIndexOf(".")));
Terrain._heightmap_pixel_cache.put(heightMapID, colorData);
// Add pixel for this TGA image into the collection
} catch (IOException e) {
Logger.error(e);
Terrain._heightmap_pixel_cache.put(fileName, colorData);
}
}
}); // Try with resources block
} catch (IOException e) {

Loading…
Cancel
Save