Browse Source

Map loaded updated

magicbox-1.5.2
MagicBot 1 year ago
parent
commit
73b6854266
  1. 37
      src/engine/util/MapLoader.java

37
src/engine/util/MapLoader.java

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

Loading…
Cancel
Save