Fix biome rendering

This commit is contained in:
Mike Primm 2011-07-11 09:37:03 -05:00
parent b72cc2063a
commit 57ea6aefd6
5 changed files with 25 additions and 8 deletions

View File

@ -46,9 +46,9 @@ public abstract class MapTile {
public abstract String getKey();
public boolean isBiomeDataNeeded() { return false; }
public boolean isHightestBlockYDataNeeded() { return false; }
public boolean isRawBiomeDataNeeded() { return false; }
public boolean isBlockTypeDataNeeded() { return true; }
public abstract boolean isBiomeDataNeeded();
public abstract boolean isHightestBlockYDataNeeded();
public abstract boolean isRawBiomeDataNeeded();
public abstract boolean isBlockTypeDataNeeded();
}

View File

@ -498,7 +498,9 @@ public class FlatMap extends MapType {
}
public boolean isHightestBlockYDataNeeded() { return true; }
public boolean isBiomeDataNeeded() { return false; }
public boolean isRawBiomeDataNeeded() { return false; }
public boolean isBlockTypeDataNeeded() { return true; }
}
@Override

View File

@ -330,9 +330,13 @@ public class IsoHDPerspective implements HDPerspective {
}
double mtend = Math.min(t_next_x, Math.min(t_next_y, t_next_z));
while(mt < mtend) {
if(model[modscale*modscale*my + modscale*mz + mx] > 0) {
return false;
}
try {
if(model[modscale*modscale*my + modscale*mz + mx] > 0) {
return false;
}
} catch (ArrayIndexOutOfBoundsException aioobx) { /* We're outside the model, so miss */
return true;
}
/* If X step is next best */
if((mt_next_x <= mt_next_y) && (mt_next_x <= mt_next_z)) {
mx += x_inc;

View File

@ -86,4 +86,10 @@ public class KzedMapTile extends MapTile {
public MapTile[] getAdjecentTiles() {
return map.getAdjecentTiles(this);
}
public boolean isBiomeDataNeeded() { return map.isBiomeDataNeeded(); }
public boolean isHightestBlockYDataNeeded() { return false; }
public boolean isRawBiomeDataNeeded() { return map.isRawBiomeDataNeeded(); }
public boolean isBlockTypeDataNeeded() { return true; }
}

View File

@ -98,4 +98,9 @@ public class KzedZoomedMapTile extends MapTile {
return null;
}
public boolean isBiomeDataNeeded() { return originalTile.isBiomeDataNeeded(); }
public boolean isHightestBlockYDataNeeded() { return false; }
public boolean isRawBiomeDataNeeded() { return originalTile.isRawBiomeDataNeeded(); }
public boolean isBlockTypeDataNeeded() { return true; }
}