Add misc/swampgrasscolor.png and misc/swampfoliagecolor.png support

This commit is contained in:
Mike Primm 2012-03-17 00:34:33 -05:00
parent 34fe8316c3
commit 86b87e78e3

View File

@ -243,6 +243,47 @@ public class NewMapChunkCache implements MapChunkCache {
}
return mult;
}
public final int getSmoothColorMultiplier(int[] colormap, int width, int[] swampmap, int swampwidth) {
int mult = 0xFFFFFF;
try {
int rx = x - x_base;
int rz = z - z_base;
BiomeMap bm = biomemap[rx][rz];
if(sameneighborbiomecnt[rx][rz] >= (byte)8) { /* All neighbors same? */
if(bm == BiomeMap.SWAMPLAND) {
mult = swampmap[bm.biomeLookup(swampwidth)];
}
else {
mult = colormap[bm.biomeLookup(width)];
}
}
else {
int raccum = 0;
int gaccum = 0;
int baccum = 0;
for(int xoff = -1; xoff < 2; xoff++) {
for(int zoff = -1; zoff < 2; zoff++) {
bm = biomemap[rx+xoff][rz+zoff];
int rmult;
if(bm == BiomeMap.SWAMPLAND) {
rmult = swampmap[bm.biomeLookup(swampwidth)];
}
else {
rmult = colormap[bm.biomeLookup(width)];
}
raccum += (rmult >> 16) & 0xFF;
gaccum += (rmult >> 8) & 0xFF;
baccum += rmult & 0xFF;
}
}
mult = ((raccum / 9) << 16) | ((gaccum / 9) << 8) | (baccum / 9);
}
} catch (Exception x) {
exceptions++;
mult = 0xFFFFFF;
}
return mult;
}
public final int getSmoothWaterColorMultiplier() {
try {