mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2026-08-12 14:11:00 -06:00
161 lines
5.4 KiB
Java
161 lines
5.4 KiB
Java
package org.runite.client;
|
|
|
|
|
|
|
|
|
|
import javax.media.opengl.GL;
|
|
import java.nio.ByteBuffer;
|
|
|
|
|
|
final class WaterMovementShader implements ShaderInterface {
|
|
|
|
private int anInt2177 = -1;
|
|
private static final float[] color = new float[]{0.1F, 0.1F, 0.15F, 0.1F};
|
|
private final float[] aFloatArray2179 = new float[4];
|
|
private int textureId = -1;
|
|
private int anInt2181 = -1;
|
|
|
|
|
|
private void method1699() {
|
|
byte[] var1 = new byte[]{(byte)0, (byte)-1};
|
|
GL var2 = HDToolKit.gl;
|
|
int[] var3 = new int[1];
|
|
var2.glGenTextures(1, var3, 0);
|
|
var2.glBindTexture(3552, var3[0]);
|
|
var2.glTexImage1D(3552, 0, 6406, 2, 0, 6406, 5121, ByteBuffer.wrap(var1));
|
|
var2.glTexParameteri(3552, 10241, 9729);
|
|
var2.glTexParameteri(3552, 10240, 9729);
|
|
var2.glTexParameteri(3552, 10242, '\u812f');
|
|
this.textureId = var3[0];
|
|
}
|
|
|
|
private void method1701() {
|
|
GL var1 = HDToolKit.gl;
|
|
this.anInt2177 = var1.glGenLists(2);
|
|
var1.glNewList(this.anInt2177, 4864);
|
|
var1.glTexEnvi(8960, '\u8590', 768);
|
|
var1.glTexEnvi(8960, '\u8581', '\u8576');
|
|
var1.glTexEnvf(8960, '\u8573', 2.0F);
|
|
var1.glTexEnvi(8960, '\u8589', '\u8576');
|
|
var1.glTexGeni(8192, 9472, 9217);
|
|
var1.glTexGeni(8193, 9472, 9217);
|
|
var1.glTexGenfv(8192, 9473, new float[]{9.765625E-4F, 0.0F, 0.0F, 0.0F}, 0);
|
|
var1.glTexGenfv(8193, 9473, new float[]{0.0F, 0.0F, 9.765625E-4F, 0.0F}, 0);
|
|
var1.glEnable(3168);
|
|
var1.glEnable(3169);
|
|
if(Class88.Texture3DEnabled) {
|
|
var1.glBindTexture('\u806f', Class88.anInt1228);
|
|
var1.glTexGeni(8194, 9472, 9217);
|
|
var1.glTexGeni(8195, 9472, 9217);
|
|
var1.glTexGenfv(8195, 9473, new float[]{0.0F, 0.0F, 0.0F, 1.0F}, 0);
|
|
var1.glEnable(3170);
|
|
var1.glEnable(3171);
|
|
var1.glEnable('\u806f');
|
|
}
|
|
|
|
var1.glActiveTexture('\u84c1');
|
|
var1.glEnable(3552);
|
|
var1.glBindTexture(3552, this.textureId);
|
|
var1.glTexEnvi(8960, '\u8571', '\u8575');
|
|
var1.glTexEnvi(8960, '\u8580', '\u8576');
|
|
var1.glTexEnvi(8960, '\u8582', 5890);
|
|
var1.glTexEnvi(8960, '\u8572', '\u8575');
|
|
var1.glTexEnvi(8960, '\u8588', '\u8576');
|
|
var1.glTexEnvi(8960, '\u858a', 5890);
|
|
var1.glEnable(3168);
|
|
var1.glTexGeni(8192, 9472, 9216);
|
|
var1.glPushMatrix();
|
|
var1.glLoadIdentity();
|
|
var1.glEndList();
|
|
var1.glNewList(this.anInt2177 + 1, 4864);
|
|
var1.glActiveTexture('\u84c1');
|
|
var1.glDisable(3552);
|
|
var1.glDisable(3168);
|
|
var1.glTexEnvi(8960, '\u8571', 8448);
|
|
var1.glTexEnvi(8960, '\u8580', 5890);
|
|
var1.glTexEnvi(8960, '\u8582', '\u8576');
|
|
var1.glTexEnvi(8960, '\u8572', 8448);
|
|
var1.glTexEnvi(8960, '\u8588', 5890);
|
|
var1.glTexEnvi(8960, '\u858a', '\u8576');
|
|
var1.glActiveTexture('\u84c0');
|
|
var1.glTexEnvi(8960, '\u8590', 768);
|
|
var1.glTexEnvi(8960, '\u8581', '\u8578');
|
|
var1.glTexEnvf(8960, '\u8573', 1.0F);
|
|
var1.glTexEnvi(8960, '\u8589', '\u8578');
|
|
var1.glDisable(3168);
|
|
var1.glDisable(3169);
|
|
if(Class88.Texture3DEnabled) {
|
|
var1.glDisable(3170);
|
|
var1.glDisable(3171);
|
|
var1.glDisable('\u806f');
|
|
}
|
|
|
|
var1.glEndList();
|
|
}
|
|
|
|
public final void method21() {
|
|
HDToolKit.gl.glCallList(this.anInt2177 + 1);
|
|
}
|
|
|
|
public final void method23(int var1) {
|
|
GL var2 = HDToolKit.gl;
|
|
var2.glActiveTexture('\u84c1');
|
|
var2.glTexEnvfv(8960, 8705, Unsorted.aFloatArray1934, 0);
|
|
var2.glActiveTexture('\u84c0');
|
|
if((var1 & 1) == 1) {
|
|
if(Class88.Texture3DEnabled) {
|
|
if(this.anInt2181 != HDToolKit.anInt1791) {
|
|
this.aFloatArray2179[0] = 0.0F;
|
|
this.aFloatArray2179[1] = 0.0F;
|
|
this.aFloatArray2179[2] = 0.0F;
|
|
this.aFloatArray2179[3] = (float)HDToolKit.anInt1791 * 0.0050F;//Water moving speed?
|
|
var2.glTexGenfv(8194, 9473, this.aFloatArray2179, 0);//R, OBJECT_PLANE
|
|
this.anInt2181 = HDToolKit.anInt1791;
|
|
}
|
|
} else {
|
|
HDToolKit.bindTexture2D(Class88.anIntArray1224[HDToolKit.anInt1791 * 64 / 100 % 64]);
|
|
}
|
|
} else if(Class88.Texture3DEnabled) {
|
|
this.aFloatArray2179[0] = 0.0F;
|
|
this.aFloatArray2179[1] = 0.0F;
|
|
this.aFloatArray2179[2] = 0.0F;
|
|
this.aFloatArray2179[3] = 0.0F;
|
|
var2.glTexGenfv(8194, 9473, this.aFloatArray2179, 0);
|
|
} else {
|
|
HDToolKit.bindTexture2D(Class88.anIntArray1224[0]);
|
|
}
|
|
|
|
}
|
|
|
|
public final void method22() {
|
|
GL var1 = HDToolKit.gl;
|
|
HDToolKit.method1856(2);
|
|
HDToolKit.method1847(2);
|
|
HDToolKit.method1823();
|
|
var1.glCallList(this.anInt2177);
|
|
float var2 = 2662.4001F;
|
|
var2 += (float)(Class140_Sub7.anInt2938 - 128) * 0.5F;
|
|
if(var2 >= 3328.0F) {
|
|
var2 = 3327.0F;
|
|
}
|
|
|
|
this.aFloatArray2179[0] = 0.0F;
|
|
this.aFloatArray2179[1] = 0.0F;
|
|
this.aFloatArray2179[2] = 1.0F / (var2 - 3328.0F);
|
|
this.aFloatArray2179[3] = var2 / (var2 - 3328.0F);
|
|
var1.glTexGenfv(8192, 9474, this.aFloatArray2179, 0);//GL_ENABLE_BIT, GL_EYE_PLANE
|
|
var1.glPopMatrix();
|
|
var1.glActiveTexture('\u84c0');//GL_TEXTURE0
|
|
var1.glTexEnvfv(8960, 8705, color, 0);//GL_TEXTURE_ENV, GL_TEXTURE_ENV_COLOR
|
|
}
|
|
|
|
public final int method24() {
|
|
return 15;
|
|
}
|
|
|
|
public WaterMovementShader() {
|
|
this.method1699();
|
|
this.method1701();
|
|
}
|
|
|
|
}
|