Server/Client/src/main/java/org/runite/client/TextureOperation38.java
Woah ff62177237 More texture stuff
Separated out Player + NPC rendering
2021-03-24 18:58:34 -04:00

135 lines
4.7 KiB
Java

package org.runite.client;
import java.util.Objects;
import java.util.Random;
final class TextureOperation38 extends TextureOperation {
private int anInt3444 = 0;
static int[] spritePalette;
private int anInt3447 = 2000;
static long[] aLongArray3448 = new long[1000];
private int anInt3450 = 4096;
private int anInt3451 = 16;
static short[] aShortArray3453 = new short[256];
private int anInt3454 = 0;
static short[] aShortArray3455;
static int[] anIntArray3456 = new int[4096];
final void postDecode() {
try {
Class8.method844((byte)-9);
} catch (RuntimeException var3) {
throw ClientErrorException.clientError(var3, "vc.P(" + ')');
}
}
final void decode(int var1, DataBuffer var2) {
try {
if(var1 == 0) {
this.anInt3454 = var2.readUnsignedByte();
} else if(var1 == 1) {
this.anInt3447 = var2.readUnsignedShort();
} else if(var1 == 2) {
this.anInt3451 = var2.readUnsignedByte();
} else if (3 == var1) {
this.anInt3444 = var2.readUnsignedShort();
} else if (var1 == 4) {
this.anInt3450 = var2.readUnsignedShort();
}
} catch (RuntimeException var5) {
throw ClientErrorException.clientError(var5, "vc.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + true + ')');
}
}
public TextureOperation38() {
super(0, true);
}
final int[] method154(int var1, byte var2) {
try {
int[] var3 = this.aClass114_2382.method1709(var1);
if(this.aClass114_2382.aBoolean1580) {
int var5 = this.anInt3450 >> 1;
int[][] var6 = this.aClass114_2382.method1710((byte)93);
Random var7 = new Random(this.anInt3454);
for(int var8 = 0; this.anInt3447 > var8; ++var8) {
int var9 = this.anInt3450 > 0?this.anInt3444 + -var5 + TextureOperation.method1603((byte)-99, this.anInt3450, var7):this.anInt3444;
int var10 = TextureOperation.method1603((byte)-96, Class113.anInt1559, var7);
var9 = (var9 & 4088) >> 4;
int var11 = TextureOperation.method1603((byte)62, Class101.anInt1427, var7);
int var12 = var10 - -(this.anInt3451 * Class75_Sub2.anIntArray2639[var9] >> 12);
int var13 = var11 + (TextureOperation23.anIntArray3212[var9] * this.anInt3451 >> 12);
int var15 = var12 - var10;
int var14 = -var11 + var13;
if(var15 != 0 || var14 != 0) {
if(var15 < 0) {
var15 = -var15;
}
if(var14 < 0) {
var14 = -var14;
}
boolean var16 = var14 > var15;
int var17;
int var18;
if(var16) {
var17 = var10;
var18 = var12;
var12 = var13;
var13 = var18;
var10 = var11;
var11 = var17;
}
if(var12 < var10) {
var17 = var10;
var18 = var11;
var10 = var12;
var11 = var13;
var13 = var18;
var12 = var17;
}
var18 = -var10 + var12;
int var19 = var13 + -var11;
var17 = var11;
if(var19 < 0) {
var19 = -var19;
}
int var20 = -var18 / 2;
int var22 = -(TextureOperation.method1603((byte)-18, 4096, var7) >> 2) + 1024;
int var23 = var11 >= var13 ?-1:1;
int var21 = 2048 / var18;
for(int var24 = var10; var12 > var24; ++var24) {
var20 += var19;
int var25 = var21 * (-var10 + var24) + var22 + 1024;
int var27 = var17 & Class3_Sub20.anInt2487;
if(0 < var20) {
var20 += -var18;
var17 += var23;
}
int var26 = RenderAnimationDefinition.anInt396 & var24;
if(var16) {
Objects.requireNonNull(var6)[var27][var26] = var25;
} else {
Objects.requireNonNull(var6)[var26][var27] = var25;
}
}
}
}
}
return var3;
} catch (RuntimeException var28) {
throw ClientErrorException.clientError(var28, "vc.D(" + var1 + ',' + var2 + ')');
}
}
}