Server/Client/src/main/java/org/runite/client/HDIndexedSprite.java
Woah fc66ab98c8 Named both loading screen bar draws
Added notes on some of the interface draws (alpha boxes/container borders)
2021-03-25 22:50:54 -04:00

147 lines
4.4 KiB
Java

package org.runite.client;
import org.rs09.client.rendering.opengl.enums.GLBeginMode;
import javax.media.opengl.GL;
import java.nio.ByteBuffer;
public final class HDIndexedSprite extends AbstractIndexedSprite {
private int anInt2675 = -1;
private int anInt2676 = -1;
private int anInt2677 = 0;
private int anInt2678 = 0;
private int anInt2679;
private int anInt2680;
private int anInt2681;
private void method1678(byte[] var1, int[] var2) {
this.anInt2681 = Class95.method1585((byte)62, this.width);
this.anInt2680 = Class95.method1585((byte)99, this.height);
byte[] var3 = new byte[this.anInt2681 * this.anInt2680 * 4];
int var4 = 0;
int var5 = 0;
for(int var6 = 0; var6 < this.height; ++var6) {
for(int var7 = 0; var7 < this.width; ++var7) {
// Hd Fix
if (var1[var5] < 0) {
return;
}
byte var8 = var1[var5++];
if(var8 == 0) {
var4 += 4;
} else {
int var9 = var2[var8];
var3[var4++] = (byte)(var9 >> 16);
var3[var4++] = (byte)(var9 >> 8);
var3[var4++] = (byte)var9;
var3[var4++] = -1;
}
}
var4 += (this.anInt2681 - this.width) * 4;
}
ByteBuffer byteBuffer = ByteBuffer.wrap(var3);
GL gl = HDToolKit.gl;
if(this.anInt2675 == -1) {
int[] var12 = new int[1];
gl.glGenTextures(1, var12, 0);
this.anInt2675 = var12[0];
this.anInt2679 = Class31.anInt582;
}
HDToolKit.bindTexture2D(this.anInt2675);
gl.glTexImage2D(3553, 0, 6408, this.anInt2681, this.anInt2680, 0, 6408, 5121, byteBuffer);
Class31.memory2D += byteBuffer.limit() - this.anInt2678;
this.anInt2678 = byteBuffer.limit();
}
final void method1666(int var1, int var2, int var3) {
HDToolKit.method1828();
var1 += this.anInt1470;
var2 += this.anInt1464;
GL var4 = HDToolKit.gl;
HDToolKit.bindTexture2D(this.anInt2675);
this.method1679();
var4.glColor4f(1.0F, 1.0F, 1.0F, (float)var3 / 256.0F);
var4.glTranslatef((float)var1, (float)(HDToolKit.viewHeight - var2), 0.0F);
var4.glCallList(this.anInt2676);
var4.glLoadIdentity();
}
private void method1679() {
if(this.anInt2677 != 1) {
this.anInt2677 = 1;
GL var2 = HDToolKit.gl;
var2.glTexParameteri(3553, 10241, 9728);
var2.glTexParameteri(3553, 10240, 9728);
}
}
public final void method1667(int var1, int var2) {
HDToolKit.method1822();
var1 += this.anInt1470;
var2 += this.anInt1464;
GL var3 = HDToolKit.gl;
HDToolKit.bindTexture2D(this.anInt2675);
this.method1679();
var3.glTranslatef((float)var1, (float)(HDToolKit.viewHeight - var2), 0.0F);
var3.glCallList(this.anInt2676);
var3.glLoadIdentity();
}
protected final void finalize() throws Throwable {
if(this.anInt2675 != -1) {
Class31.method991(this.anInt2675, this.anInt2678, this.anInt2679);
this.anInt2675 = -1;
this.anInt2678 = 0;
}
if(this.anInt2676 != -1) {
Class31.method986(this.anInt2676, this.anInt2679);
this.anInt2676 = -1;
}
super.finalize();
}
private void method1680() {
float var1 = (float)this.width / (float)this.anInt2681;
float var2 = (float)this.height / (float)this.anInt2680;
GL var3 = HDToolKit.gl;
if(this.anInt2676 == -1) {
this.anInt2676 = var3.glGenLists(1);
this.anInt2679 = Class31.anInt582;
}
var3.glNewList(this.anInt2676, 4864);
var3.glBegin(GLBeginMode.TRIANGLE_FAN);
var3.glTexCoord2f(var1, 0.0F);
var3.glVertex2f((float)this.width, 0.0F);
var3.glTexCoord2f(0.0F, 0.0F);
var3.glVertex2f(0.0F, 0.0F);
var3.glTexCoord2f(0.0F, var2);
var3.glVertex2f(0.0F, (float)(-this.height));
var3.glTexCoord2f(var1, var2);
var3.glVertex2f((float)this.width, (float)(-this.height));
var3.glEnd();
var3.glEndList();
}
HDIndexedSprite(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int[] var8) {
this.anInt1469 = var1;
this.anInt1467 = var2;
this.anInt1470 = var3;
this.anInt1464 = var4;
this.width = var5;
this.height = var6;
this.method1678(var7, var8);
this.method1680();
}
}