From 48ba43aae51a0bc594efa43f721a47b582ec7048 Mon Sep 17 00:00:00 2001 From: Mike Primm Date: Tue, 9 Aug 2011 00:18:38 -0500 Subject: [PATCH] Check for overflow on biome lookup - prevent exceptions on some worlds --- src/main/java/org/dynmap/hdmap/TexturePack.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/dynmap/hdmap/TexturePack.java b/src/main/java/org/dynmap/hdmap/TexturePack.java index c19de1a6..89a8c60d 100644 --- a/src/main/java/org/dynmap/hdmap/TexturePack.java +++ b/src/main/java/org/dynmap/hdmap/TexturePack.java @@ -885,8 +885,11 @@ public class TexturePack { } private static final int biomeLookup(int[] argb, int width, double rainfall, double temp) { - int t = (int)((1.0-temp)*(width-1)); - int h = width - (int)(temp*rainfall*(width-1)) - 1; + int w = width-1; + int t = (int)((1.0-temp)*w); + int h = (int)((1.0 - (temp*rainfall))*w); + if(h > w) h = w; + if(t > w) t = w; return argb[width*h + t]; } }