Got it to compile with TeaVM!
This commit is contained in:
parent
508e2aea20
commit
624eb42878
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -152,7 +152,7 @@ public final class Minecraft implements Runnable {
|
|||
GL11.glLoadIdentity();
|
||||
GL11.glMatrixMode(GL11.GL_MODELVIEW);
|
||||
checkGlError("Startup");
|
||||
this.font = new Font("/default.png", this.textures);
|
||||
this.font = new Font("/default.png");
|
||||
IntBuffer var7 = BufferUtils.createIntBuffer(256);
|
||||
var7.clear().limit(256);
|
||||
GL11.glViewport(0, 0, this.width, this.height);
|
||||
|
|
|
@ -1,55 +1,101 @@
|
|||
package com.mojang.minecraft.gui;
|
||||
|
||||
import java.nio.IntBuffer;
|
||||
|
||||
import com.mojang.minecraft.renderer.Tesselator;
|
||||
import com.mojang.minecraft.renderer.Textures;
|
||||
import java.awt.image.BufferedImage;
|
||||
import com.mojang.minecraft.renderer.TextureLocation;
|
||||
|
||||
import net.PeytonPlayz585.opengl.LWJGLMain;
|
||||
import net.PeytonPlayz585.opengl.MinecraftImageData;
|
||||
|
||||
import java.io.IOException;
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import org.lwjgl.GLAllocation;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public final class Font {
|
||||
private int[] charWidths = new int[256];
|
||||
private int fontTexture = 0;
|
||||
private int charWidths[];
|
||||
public String fontTextureName;
|
||||
private int fontDisplayLists;
|
||||
private IntBuffer buffer;
|
||||
|
||||
public Font(String var1, Textures var2) {
|
||||
BufferedImage var3;
|
||||
try {
|
||||
var3 = ImageIO.read(Textures.class.getResourceAsStream(var1));
|
||||
} catch (IOException var13) {
|
||||
throw new RuntimeException(var13);
|
||||
public static final char formatChar = '\247';
|
||||
|
||||
|
||||
public Font(String var1) {
|
||||
charWidths = new int[256];
|
||||
fontTextureName = null;
|
||||
MinecraftImageData bufferedimage = GL11.loadPNG(GL11.loadResourceBytes(var1));
|
||||
int i = bufferedimage.w;
|
||||
int j = bufferedimage.h;
|
||||
int ai[] = bufferedimage.data;
|
||||
for (int k = 0; k < 256; k++) {
|
||||
int l = k % 16;
|
||||
int k1 = k / 16;
|
||||
int j2 = 7;
|
||||
do {
|
||||
if (j2 < 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
int var4 = var3.getWidth();
|
||||
int var5 = var3.getHeight();
|
||||
int[] var6 = new int[var4 * var5];
|
||||
var3.getRGB(0, 0, var4, var5, var6, 0, var4);
|
||||
|
||||
for(int var14 = 0; var14 < 128; ++var14) {
|
||||
var5 = var14 % 16;
|
||||
int var7 = var14 / 16;
|
||||
int var8 = 0;
|
||||
|
||||
for(boolean var9 = false; var8 < 8 && !var9; ++var8) {
|
||||
int var10 = (var5 << 3) + var8;
|
||||
var9 = true;
|
||||
|
||||
for(int var11 = 0; var11 < 8 && var9; ++var11) {
|
||||
int var12 = ((var7 << 3) + var11) * var4;
|
||||
var12 = var6[var10 + var12] & 255;
|
||||
if(var12 > 128) {
|
||||
var9 = false;
|
||||
int i3 = l * 8 + j2;
|
||||
boolean flag = true;
|
||||
for (int l3 = 0; l3 < 8 && flag; l3++) {
|
||||
int i4 = (k1 * 8 + l3) * i;
|
||||
int k4 = ai[i3 + i4] & 0xff;
|
||||
if (k4 > 0) {
|
||||
flag = false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!flag) {
|
||||
break;
|
||||
}
|
||||
j2--;
|
||||
} while (true);
|
||||
if (k == 32) {
|
||||
j2 = 2;
|
||||
}
|
||||
charWidths[k] = j2 + 2;
|
||||
}
|
||||
|
||||
if(var14 == 32) {
|
||||
var8 = 4;
|
||||
fontTextureName = var1;
|
||||
fontDisplayLists = GLAllocation.generateDisplayLists(288);
|
||||
Tesselator tessellator = Tesselator.instance;
|
||||
for (int i1 = 0; i1 < 256; i1++) {
|
||||
GL11.glNewList(fontDisplayLists + i1, 4864 /* GL_COMPILE */);
|
||||
tessellator.begin(7);
|
||||
int l1 = (i1 % 16) * 8;
|
||||
int k2 = (i1 / 16) * 8;
|
||||
float f = 7.99F;
|
||||
float f1 = 0.0F;
|
||||
float f2 = 0.0F;
|
||||
tessellator.vertexUV(0.0D, 0.0F + f, 0.0D, (float) l1 / 128F + f1, ((float) k2 + f) / 128F + f2);
|
||||
tessellator.vertexUV(0.0F + f, 0.0F + f, 0.0D, ((float) l1 + f) / 128F + f1, ((float) k2 + f) / 128F + f2);
|
||||
tessellator.vertexUV(0.0F + f, 0.0D, 0.0D, ((float) l1 + f) / 128F + f1, (float) k2 / 128F + f2);
|
||||
tessellator.vertexUV(0.0D, 0.0D, 0.0D, (float) l1 / 128F + f1, (float) k2 / 128F + f2);
|
||||
tessellator.end();
|
||||
GL11.glEndList();
|
||||
}
|
||||
|
||||
this.charWidths[var14] = var8;
|
||||
for (int j1 = 0; j1 < 32; j1++) {
|
||||
int i2 = (j1 >> 3 & 1) * 85;
|
||||
int l2 = (j1 >> 2 & 1) * 170 + i2;
|
||||
int j3 = (j1 >> 1 & 1) * 170 + i2;
|
||||
int k3 = (j1 >> 0 & 1) * 170 + i2;
|
||||
if (j1 == 6) {
|
||||
l2 += 85;
|
||||
}
|
||||
boolean flag1 = j1 >= 16;
|
||||
if (flag1) {
|
||||
l2 /= 4;
|
||||
j3 /= 4;
|
||||
k3 /= 4;
|
||||
}
|
||||
GL11.glNewList(fontDisplayLists + 256 + j1, 4864 /* GL_COMPILE */);
|
||||
GL11.glColor3f((float) l2 / 255F, (float) j3 / 255F, (float) k3 / 255F);
|
||||
GL11.glEndList();
|
||||
}
|
||||
|
||||
this.fontTexture = var2.getTextureId(var1);
|
||||
}
|
||||
|
||||
public final void drawShadow(String var1, int var2, int var3, int var4) {
|
||||
|
@ -61,87 +107,63 @@ public final class Font {
|
|||
this.draw(var1, var2, var3, var4, false);
|
||||
}
|
||||
|
||||
private void draw(String var1, int var2, int var3, int var4, boolean var5) {
|
||||
if(var1 != null) {
|
||||
char[] var12 = var1.toCharArray();
|
||||
if(var5) {
|
||||
var4 = (var4 & 16579836) >> 2;
|
||||
private void draw(String s, int i, int j, int k, boolean flag) {
|
||||
if (s == null) {
|
||||
return;
|
||||
}
|
||||
if (flag) {
|
||||
int l = k & 0xff000000;
|
||||
k = (k & 0xfcfcfc) >> 2;
|
||||
k += l;
|
||||
}
|
||||
new TextureLocation(fontTextureName).bindTexture();
|
||||
float f = (float) (k >> 16 & 0xff) / 255F;
|
||||
float f1 = (float) (k >> 8 & 0xff) / 255F;
|
||||
float f2 = (float) (k & 0xff) / 255F;
|
||||
float f3 = (float) (k >> 24 & 0xff) / 255F;
|
||||
if (f3 == 0.0F) {
|
||||
f3 = 1.0F;
|
||||
}
|
||||
GL11.glColor4f(f, f1, f2, f3);
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslatef(i, j, 0.0F);
|
||||
for (int i1 = 0; i1 < s.length(); i1++) {
|
||||
for (; s.length() > i1 + 1 && s.charAt(i1) == '\247'; i1 += 2) {
|
||||
int j1 = "0123456789abcdef".indexOf(s.toLowerCase().charAt(i1 + 1));
|
||||
if (j1 < 0 || j1 > 15) {
|
||||
j1 = 15;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
GL11.glEnable(GL11.GL_TEXTURE_2D);
|
||||
GL11.glBindTexture(GL11.GL_TEXTURE_2D, this.fontTexture);
|
||||
Tesselator var6 = Tesselator.instance;
|
||||
var6.begin();
|
||||
var6.color(var4);
|
||||
int var7 = 0;
|
||||
|
||||
for(int var8 = 0; var8 < var12.length; ++var8) {
|
||||
int var9;
|
||||
if(var12[var8] == 38 && var12.length > var8 + 1) {
|
||||
var4 = "0123456789abcdef".indexOf(var12[var8 + 1]);
|
||||
if(var4 < 0) {
|
||||
var4 = 15;
|
||||
if (i1 < s.length()) {
|
||||
int k1 = FontAllowedCharacters.isAllowed(s.charAt(i1));
|
||||
if (k1 >= 0) {
|
||||
GL11.glCallList(fontDisplayLists + k1 + 32);
|
||||
GL11.glTranslatef(charWidths[k1 + 32], 0.0F, 0.0F);
|
||||
}
|
||||
|
||||
var9 = (var4 & 8) << 3;
|
||||
int var10 = (var4 & 1) * 191 + var9;
|
||||
int var11 = ((var4 & 2) >> 1) * 191 + var9;
|
||||
var4 = ((var4 & 4) >> 2) * 191 + var9;
|
||||
var4 = var4 << 16 | var11 << 8 | var10;
|
||||
var8 += 2;
|
||||
if(var5) {
|
||||
var4 = (var4 & 16579836) >> 2;
|
||||
}
|
||||
|
||||
var6.color(var4);
|
||||
}
|
||||
|
||||
var4 = var12[var8] % 16 << 3;
|
||||
var9 = var12[var8] / 16 << 3;
|
||||
float var13 = 7.99F;
|
||||
var6.vertexUV((float)(var2 + var7), (float)var3 + var13, 0.0F, (float)var4 / 128.0F, ((float)var9 + var13) / 128.0F);
|
||||
var6.vertexUV((float)(var2 + var7) + var13, (float)var3 + var13, 0.0F, ((float)var4 + var13) / 128.0F, ((float)var9 + var13) / 128.0F);
|
||||
var6.vertexUV((float)(var2 + var7) + var13, (float)var3, 0.0F, ((float)var4 + var13) / 128.0F, (float)var9 / 128.0F);
|
||||
var6.vertexUV((float)(var2 + var7), (float)var3, 0.0F, (float)var4 / 128.0F, (float)var9 / 128.0F);
|
||||
var7 += this.charWidths[var12[var8]];
|
||||
}
|
||||
|
||||
var6.end();
|
||||
GL11.glDisable(GL11.GL_TEXTURE_2D);
|
||||
}
|
||||
}
|
||||
|
||||
public final int width(String var1) {
|
||||
if(var1 == null) {
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
public final int width(String s) {
|
||||
if (s == null) {
|
||||
return 0;
|
||||
} else {
|
||||
char[] var4 = var1.toCharArray();
|
||||
int var2 = 0;
|
||||
|
||||
for(int var3 = 0; var3 < var4.length; ++var3) {
|
||||
if(var4[var3] == 38) {
|
||||
++var3;
|
||||
} else {
|
||||
var2 += this.charWidths[var4[var3]];
|
||||
}
|
||||
int i = 0;
|
||||
for (int j = 0; j < s.length(); j++) {
|
||||
if (s.charAt(j) == '\247') {
|
||||
j++;
|
||||
continue;
|
||||
}
|
||||
int k = FontAllowedCharacters.isAllowed(s.charAt(j));
|
||||
if (k >= 0) {
|
||||
i += charWidths[k + 32];
|
||||
}
|
||||
}
|
||||
|
||||
return var2;
|
||||
}
|
||||
}
|
||||
|
||||
public static String removeColorCodes(String var0) {
|
||||
char[] var3 = var0.toCharArray();
|
||||
String var1 = "";
|
||||
|
||||
for(int var2 = 0; var2 < var3.length; ++var2) {
|
||||
if(var3[var2] == 38) {
|
||||
++var2;
|
||||
} else {
|
||||
var1 = var1 + var3[var2];
|
||||
}
|
||||
}
|
||||
|
||||
return var1;
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package com.mojang.minecraft.gui;
|
||||
|
||||
public class FontAllowedCharacters {
|
||||
|
||||
public static int isAllowed(char c) {
|
||||
int cc = (int) c;
|
||||
for(int i = 0; i < allowedChars.length; ++i) {
|
||||
if(cc == allowedChars[i]) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public static final int[] allowedChars = new int[]{
|
||||
32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,
|
||||
59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,
|
||||
86,87,88,89,90,91,92,93,94,95,39,97,98,99,100,101,102,103,104,105,106,107,108,109,
|
||||
110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,8962,199,252,
|
||||
233,226,228,224,229,231,234,235,232,239,238,236,196,197,201,230,198,244,246,242,
|
||||
251,249,255,214,220,248,163,216,215,402,225,237,243,250,241,209,170,186,191,174,
|
||||
172,189,188,161,171,187
|
||||
};
|
||||
|
||||
public static final char field_22286_b[] = { '/', '\n', '\r', '\t', '\0', '\f', '`', '?', '*', '\\', '<', '>', '|', '"', ':' };
|
||||
|
||||
}
|
|
@ -7,8 +7,8 @@ import java.io.DataInputStream;
|
|||
import java.io.DataOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
//import java.io.ObjectInputStream;
|
||||
//import java.io.ObjectOutputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
|
@ -23,219 +23,224 @@ public final class LevelIO {
|
|||
}
|
||||
|
||||
public final boolean save(Level var1, String var2, String var3, String var4, String var5, int var6) {
|
||||
if(var4 == null) {
|
||||
var4 = "";
|
||||
}
|
||||
// if(var4 == null) {
|
||||
// var4 = "";
|
||||
// }
|
||||
|
||||
if(this.a != null && this.a != null) {
|
||||
this.a.beginLevelLoading("Saving level");
|
||||
}
|
||||
// if(this.a != null && this.a != null) {
|
||||
// this.a.beginLevelLoading("Saving level");
|
||||
// }
|
||||
|
||||
try {
|
||||
if(this.a != null && this.a != null) {
|
||||
this.a.levelLoadUpdate("Compressing..");
|
||||
}
|
||||
// try {
|
||||
// if(this.a != null && this.a != null) {
|
||||
// this.a.levelLoadUpdate("Compressing..");
|
||||
// }
|
||||
|
||||
ByteArrayOutputStream var7 = new ByteArrayOutputStream();
|
||||
save(var1, var7);
|
||||
var7.close();
|
||||
byte[] var10 = var7.toByteArray();
|
||||
if(this.a != null && this.a != null) {
|
||||
this.a.levelLoadUpdate("Connecting..");
|
||||
}
|
||||
// ByteArrayOutputStream var7 = new ByteArrayOutputStream();
|
||||
// save(var1, var7);
|
||||
// var7.close();
|
||||
// byte[] var10 = var7.toByteArray();
|
||||
// if(this.a != null && this.a != null) {
|
||||
// this.a.levelLoadUpdate("Connecting..");
|
||||
// }
|
||||
|
||||
URL var12 = new URL("http://" + var2 + "/level/save.html");
|
||||
HttpURLConnection var13 = (HttpURLConnection)var12.openConnection();
|
||||
var13.setDoInput(true);
|
||||
var13.setDoOutput(true);
|
||||
var13.setRequestMethod("POST");
|
||||
DataOutputStream var14 = new DataOutputStream(var13.getOutputStream());
|
||||
var14.writeUTF(var3);
|
||||
var14.writeUTF(var4);
|
||||
var14.writeUTF(var5);
|
||||
var14.writeByte(var6);
|
||||
var14.writeInt(var10.length);
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Saving..");
|
||||
}
|
||||
// URL var12 = new URL("http://" + var2 + "/level/save.html");
|
||||
// HttpURLConnection var13 = (HttpURLConnection)var12.openConnection();
|
||||
// var13.setDoInput(true);
|
||||
// var13.setDoOutput(true);
|
||||
// var13.setRequestMethod("POST");
|
||||
// DataOutputStream var14 = new DataOutputStream(var13.getOutputStream());
|
||||
// var14.writeUTF(var3);
|
||||
// var14.writeUTF(var4);
|
||||
// var14.writeUTF(var5);
|
||||
// var14.writeByte(var6);
|
||||
// var14.writeInt(var10.length);
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Saving..");
|
||||
// }
|
||||
|
||||
var14.write(var10);
|
||||
var14.close();
|
||||
BufferedReader var11 = new BufferedReader(new InputStreamReader(var13.getInputStream()));
|
||||
var2 = var11.readLine();
|
||||
if(!var2.equalsIgnoreCase("ok")) {
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Failed: " + var11.readLine());
|
||||
}
|
||||
// var14.write(var10);
|
||||
// var14.close();
|
||||
// BufferedReader var11 = new BufferedReader(new InputStreamReader(var13.getInputStream()));
|
||||
// var2 = var11.readLine();
|
||||
// if(!var2.equalsIgnoreCase("ok")) {
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Failed: " + var11.readLine());
|
||||
// }
|
||||
|
||||
var11.close();
|
||||
Thread.sleep(1000L);
|
||||
// var11.close();
|
||||
// Thread.sleep(1000L);
|
||||
// return false;
|
||||
// } else {
|
||||
// var11.close();
|
||||
// return true;
|
||||
// }
|
||||
// } catch (Exception var9) {
|
||||
// var9.printStackTrace();
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Failed!");
|
||||
// }
|
||||
|
||||
// try {
|
||||
// Thread.sleep(1000L);
|
||||
// } catch (InterruptedException var8) {
|
||||
// }
|
||||
|
||||
// return false;
|
||||
// }
|
||||
return false;
|
||||
} else {
|
||||
var11.close();
|
||||
return true;
|
||||
}
|
||||
} catch (Exception var9) {
|
||||
var9.printStackTrace();
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Failed!");
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(1000L);
|
||||
} catch (InterruptedException var8) {
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public final Level load(String var1, String var2, int var3) {
|
||||
if(this.a != null) {
|
||||
this.a.beginLevelLoading("Loading level");
|
||||
}
|
||||
// if(this.a != null) {
|
||||
// this.a.beginLevelLoading("Loading level");
|
||||
// }
|
||||
|
||||
try {
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Connecting..");
|
||||
}
|
||||
// try {
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Connecting..");
|
||||
// }
|
||||
|
||||
URL var6 = new URL("http://" + var1 + "/level/load.html?id=" + var3 + "&user=" + var2);
|
||||
HttpURLConnection var7 = (HttpURLConnection)var6.openConnection();
|
||||
var7.setDoInput(true);
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Loading..");
|
||||
}
|
||||
// URL var6 = new URL("http://" + var1 + "/level/load.html?id=" + var3 + "&user=" + var2);
|
||||
// HttpURLConnection var7 = (HttpURLConnection)var6.openConnection();
|
||||
// var7.setDoInput(true);
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Loading..");
|
||||
// }
|
||||
|
||||
DataInputStream var8 = new DataInputStream(var7.getInputStream());
|
||||
var2 = var8.readUTF();
|
||||
if(var2.equalsIgnoreCase("ok")) {
|
||||
return this.load(var8);
|
||||
} else {
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Failed: " + var8.readUTF());
|
||||
}
|
||||
// DataInputStream var8 = new DataInputStream(var7.getInputStream());
|
||||
// var2 = var8.readUTF();
|
||||
// if(var2.equalsIgnoreCase("ok")) {
|
||||
// return this.load(var8);
|
||||
// } else {
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Failed: " + var8.readUTF());
|
||||
// }
|
||||
|
||||
var8.close();
|
||||
Thread.sleep(1000L);
|
||||
// var8.close();
|
||||
// Thread.sleep(1000L);
|
||||
// return null;
|
||||
// }
|
||||
// } catch (Exception var5) {
|
||||
// var5.printStackTrace();
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Failed!");
|
||||
// }
|
||||
|
||||
// try {
|
||||
// Thread.sleep(3000L);
|
||||
// } catch (InterruptedException var4) {
|
||||
// }
|
||||
|
||||
// return null;
|
||||
// }
|
||||
return null;
|
||||
}
|
||||
} catch (Exception var5) {
|
||||
var5.printStackTrace();
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Failed!");
|
||||
}
|
||||
|
||||
try {
|
||||
Thread.sleep(3000L);
|
||||
} catch (InterruptedException var4) {
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public final Level load(InputStream var1) {
|
||||
if(this.a != null) {
|
||||
this.a.beginLevelLoading("Loading level");
|
||||
}
|
||||
// if(this.a != null) {
|
||||
// this.a.beginLevelLoading("Loading level");
|
||||
// }
|
||||
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Reading..");
|
||||
}
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Reading..");
|
||||
// }
|
||||
|
||||
try {
|
||||
DataInputStream var10 = new DataInputStream(new GZIPInputStream(var1));
|
||||
int var12 = var10.readInt();
|
||||
if(var12 != 656127880) {
|
||||
// try {
|
||||
// DataInputStream var10 = new DataInputStream(new GZIPInputStream(var1));
|
||||
// int var12 = var10.readInt();
|
||||
// if(var12 != 656127880) {
|
||||
// return null;
|
||||
// } else {
|
||||
// byte var13 = var10.readByte();
|
||||
// if(var13 > 2) {
|
||||
// return null;
|
||||
// } else if(var13 <= 1) {
|
||||
// System.out.println("Version is 1!");
|
||||
// String var15 = var10.readUTF();
|
||||
// String var16 = var10.readUTF();
|
||||
// long var7 = var10.readLong();
|
||||
// short var3 = var10.readShort();
|
||||
// short var4 = var10.readShort();
|
||||
// short var5 = var10.readShort();
|
||||
// byte[] var6 = new byte[var3 * var4 * var5];
|
||||
// var10.readFully(var6);
|
||||
// var10.close();
|
||||
// Level var11 = new Level();
|
||||
// var11.setData(var3, var5, var4, var6);
|
||||
// var11.name = var15;
|
||||
// var11.creator = var16;
|
||||
// var11.createTime = var7;
|
||||
// return var11;
|
||||
// } else {
|
||||
// ObjectInputStream var14 = new ObjectInputStream(var10);
|
||||
// Level var2 = (Level)var14.readObject();
|
||||
// var2.initTransient();
|
||||
// var14.close();
|
||||
// return var2;
|
||||
// }
|
||||
// }
|
||||
// } catch (Exception var9) {
|
||||
// var9.printStackTrace();
|
||||
// (new StringBuilder()).append("Failed to load level: ").append(var9.toString()).toString();
|
||||
// return null;
|
||||
// }
|
||||
return null;
|
||||
} else {
|
||||
byte var13 = var10.readByte();
|
||||
if(var13 > 2) {
|
||||
return null;
|
||||
} else if(var13 <= 1) {
|
||||
System.out.println("Version is 1!");
|
||||
String var15 = var10.readUTF();
|
||||
String var16 = var10.readUTF();
|
||||
long var7 = var10.readLong();
|
||||
short var3 = var10.readShort();
|
||||
short var4 = var10.readShort();
|
||||
short var5 = var10.readShort();
|
||||
byte[] var6 = new byte[var3 * var4 * var5];
|
||||
var10.readFully(var6);
|
||||
var10.close();
|
||||
Level var11 = new Level();
|
||||
var11.setData(var3, var5, var4, var6);
|
||||
var11.name = var15;
|
||||
var11.creator = var16;
|
||||
var11.createTime = var7;
|
||||
return var11;
|
||||
} else {
|
||||
ObjectInputStream var14 = new ObjectInputStream(var10);
|
||||
Level var2 = (Level)var14.readObject();
|
||||
var2.initTransient();
|
||||
var14.close();
|
||||
return var2;
|
||||
}
|
||||
}
|
||||
} catch (Exception var9) {
|
||||
var9.printStackTrace();
|
||||
(new StringBuilder()).append("Failed to load level: ").append(var9.toString()).toString();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public final Level loadLegacy(InputStream var1) {
|
||||
if(this.a != null) {
|
||||
this.a.beginLevelLoading("Loading level");
|
||||
}
|
||||
// if(this.a != null) {
|
||||
// this.a.beginLevelLoading("Loading level");
|
||||
// }
|
||||
|
||||
if(this.a != null) {
|
||||
this.a.levelLoadUpdate("Reading..");
|
||||
}
|
||||
// if(this.a != null) {
|
||||
// this.a.levelLoadUpdate("Reading..");
|
||||
// }
|
||||
|
||||
try {
|
||||
DataInputStream var5 = new DataInputStream(new GZIPInputStream(var1));
|
||||
String var7 = "--";
|
||||
String var2 = "unknown";
|
||||
byte[] var3 = new byte[256 << 8 << 6];
|
||||
var5.readFully(var3);
|
||||
var5.close();
|
||||
Level var6 = new Level();
|
||||
var6.setData(256, 64, 256, var3);
|
||||
var6.name = var7;
|
||||
var6.creator = var2;
|
||||
var6.createTime = 0L;
|
||||
return var6;
|
||||
} catch (Exception var4) {
|
||||
var4.printStackTrace();
|
||||
(new StringBuilder()).append("Failed to load level: ").append(var4.toString()).toString();
|
||||
// try {
|
||||
// DataInputStream var5 = new DataInputStream(new GZIPInputStream(var1));
|
||||
// String var7 = "--";
|
||||
// String var2 = "unknown";
|
||||
// byte[] var3 = new byte[256 << 8 << 6];
|
||||
// var5.readFully(var3);
|
||||
// var5.close();
|
||||
// Level var6 = new Level();
|
||||
// var6.setData(256, 64, 256, var3);
|
||||
// var6.name = var7;
|
||||
// var6.creator = var2;
|
||||
// var6.createTime = 0L;
|
||||
// return var6;
|
||||
// } catch (Exception var4) {
|
||||
// var4.printStackTrace();
|
||||
// (new StringBuilder()).append("Failed to load level: ").append(var4.toString()).toString();
|
||||
// return null;
|
||||
// }
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static void save(Level var0, OutputStream var1) {
|
||||
try {
|
||||
DataOutputStream var3 = new DataOutputStream(new GZIPOutputStream(var1));
|
||||
var3.writeInt(656127880);
|
||||
var3.writeByte(2);
|
||||
ObjectOutputStream var4 = new ObjectOutputStream(var3);
|
||||
var4.writeObject(var0);
|
||||
var4.close();
|
||||
} catch (Exception var2) {
|
||||
var2.printStackTrace();
|
||||
}
|
||||
// try {
|
||||
// DataOutputStream var3 = new DataOutputStream(new GZIPOutputStream(var1));
|
||||
// var3.writeInt(656127880);
|
||||
// var3.writeByte(2);
|
||||
// ObjectOutputStream var4 = new ObjectOutputStream(var3);
|
||||
// var4.writeObject(var0);
|
||||
// var4.close();
|
||||
// } catch (Exception var2) {
|
||||
// var2.printStackTrace();
|
||||
// }
|
||||
}
|
||||
|
||||
public static byte[] loadBlocks(InputStream var0) {
|
||||
try {
|
||||
DataInputStream var3 = new DataInputStream(new GZIPInputStream(var0));
|
||||
byte[] var1 = new byte[var3.readInt()];
|
||||
var3.readFully(var1);
|
||||
var3.close();
|
||||
return var1;
|
||||
} catch (Exception var2) {
|
||||
throw new RuntimeException(var2);
|
||||
}
|
||||
// try {
|
||||
// DataInputStream var3 = new DataInputStream(new GZIPInputStream(var0));
|
||||
// byte[] var1 = new byte[var3.readInt()];
|
||||
// var3.readFully(var1);
|
||||
// var3.close();
|
||||
// return var1;
|
||||
// } catch (Exception var2) {
|
||||
// throw new RuntimeException(var2);
|
||||
// }
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
package com.mojang.minecraft.renderer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class TextureLocation {
|
||||
|
||||
private String path;
|
||||
private int glObject;
|
||||
|
||||
public TextureLocation(String path) {
|
||||
this.path = path;
|
||||
this.glObject = -1;
|
||||
locations.add(this);
|
||||
}
|
||||
|
||||
public static void freeTextures() {
|
||||
for (TextureLocation l : locations) {
|
||||
l.glObject = -1;
|
||||
}
|
||||
}
|
||||
|
||||
public int getTexturePointer() {
|
||||
Textures t = new Textures();
|
||||
if (glObject == -1) {
|
||||
glObject = t.getTextureId(path);
|
||||
if (glObject == -1) {
|
||||
System.err.println("could not load: " + path);
|
||||
}
|
||||
}
|
||||
return glObject;
|
||||
}
|
||||
|
||||
public int bindTexture() {
|
||||
Textures t = new Textures();
|
||||
int i = getTexturePointer();
|
||||
if(i != -1) {
|
||||
t.bindTexture(i);
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
private static final ArrayList<TextureLocation> locations = new ArrayList();
|
||||
}
|
Loading…
Reference in New Issue
Block a user