package org.runite.client; import org.rs09.client.config.GameConfig; import java.math.BigInteger; final class TextureOperation10 extends TextureOperation { private int[][] anIntArrayArray3438; static Class3_Sub28_Sub17_Sub1 aClass3_Sub28_Sub17_Sub1_3440; static BigInteger EXPONENT = GameConfig.EXPONENT; private int[] anIntArray3443 = new int[257]; final void postDecode() { try { if(this.anIntArrayArray3438 == null) { this.method345(1); } this.method346(); } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "um.P(" + ')'); } } private void method345(int var1) { try { if(var1 != 0) { if(var1 == 1) { this.anIntArrayArray3438 = new int[2][4]; this.anIntArrayArray3438[0][1] = 0; this.anIntArrayArray3438[0][0] = 0; this.anIntArrayArray3438[1][0] = 4096; this.anIntArrayArray3438[0][3] = 0; this.anIntArrayArray3438[1][1] = 4096; this.anIntArrayArray3438[0][2] = 0; this.anIntArrayArray3438[1][2] = 4096; this.anIntArrayArray3438[1][3] = 4096; } else if(var1 == 2) { this.anIntArrayArray3438 = new int[8][4]; this.anIntArrayArray3438[0][0] = 0; this.anIntArrayArray3438[1][0] = 2867; this.anIntArrayArray3438[2][0] = 3072; this.anIntArrayArray3438[0][2] = 2602; this.anIntArrayArray3438[3][0] = 3276; this.anIntArrayArray3438[0][3] = 2361; this.anIntArrayArray3438[1][3] = 1558; this.anIntArrayArray3438[4][0] = 3481; this.anIntArrayArray3438[5][0] = 3686; this.anIntArrayArray3438[2][3] = 1413; this.anIntArrayArray3438[3][3] = 947; this.anIntArrayArray3438[4][3] = 722; this.anIntArrayArray3438[6][0] = 3891; this.anIntArrayArray3438[1][2] = 1799; this.anIntArrayArray3438[7][0] = 4096; this.anIntArrayArray3438[5][3] = 1766; this.anIntArrayArray3438[2][2] = 1734; this.anIntArrayArray3438[3][2] = 1220; this.anIntArrayArray3438[4][2] = 963; this.anIntArrayArray3438[5][2] = 2152; this.anIntArrayArray3438[6][3] = 915; this.anIntArrayArray3438[7][3] = 1140; this.anIntArrayArray3438[0][1] = 2650; this.anIntArrayArray3438[6][2] = 1060; this.anIntArrayArray3438[1][1] = 2313; this.anIntArrayArray3438[2][1] = 2618; this.anIntArrayArray3438[3][1] = 2296; this.anIntArrayArray3438[4][1] = 2072; this.anIntArrayArray3438[7][2] = 1413; this.anIntArrayArray3438[5][1] = 2730; this.anIntArrayArray3438[6][1] = 2232; this.anIntArrayArray3438[7][1] = 1686; } else if(3 == var1) { this.anIntArrayArray3438 = new int[7][4]; this.anIntArrayArray3438[0][0] = 0; this.anIntArrayArray3438[0][3] = 4096; this.anIntArrayArray3438[1][3] = 4096; this.anIntArrayArray3438[2][3] = 0; this.anIntArrayArray3438[1][0] = 663; this.anIntArrayArray3438[0][1] = 0; this.anIntArrayArray3438[3][3] = 0; this.anIntArrayArray3438[1][1] = 0; this.anIntArrayArray3438[2][0] = 1363; this.anIntArrayArray3438[2][1] = 0; this.anIntArrayArray3438[4][3] = 0; this.anIntArrayArray3438[5][3] = 4096; this.anIntArrayArray3438[6][3] = 4096; this.anIntArrayArray3438[3][0] = 2048; this.anIntArrayArray3438[4][0] = 2727; this.anIntArrayArray3438[5][0] = 3411; this.anIntArrayArray3438[6][0] = 4096; this.anIntArrayArray3438[3][1] = 4096; this.anIntArrayArray3438[4][1] = 4096; this.anIntArrayArray3438[5][1] = 4096; this.anIntArrayArray3438[6][1] = 0; this.anIntArrayArray3438[0][2] = 0; this.anIntArrayArray3438[1][2] = 4096; this.anIntArrayArray3438[2][2] = 4096; this.anIntArrayArray3438[3][2] = 4096; this.anIntArrayArray3438[4][2] = 0; this.anIntArrayArray3438[5][2] = 0; this.anIntArrayArray3438[6][2] = 0; } else if(4 == var1) { this.anIntArrayArray3438 = new int[6][4]; this.anIntArrayArray3438[0][3] = 0; this.anIntArrayArray3438[0][0] = 0; this.anIntArrayArray3438[0][2] = 0; this.anIntArrayArray3438[1][0] = 1843; this.anIntArrayArray3438[1][2] = 0; this.anIntArrayArray3438[2][2] = 0; this.anIntArrayArray3438[1][3] = 1493; this.anIntArrayArray3438[2][3] = 2939; this.anIntArrayArray3438[3][3] = 3565; this.anIntArrayArray3438[3][2] = 1124; this.anIntArrayArray3438[4][3] = 4031; this.anIntArrayArray3438[0][1] = 0; this.anIntArrayArray3438[1][1] = 0; this.anIntArrayArray3438[5][3] = 4096; this.anIntArrayArray3438[4][2] = 3084; this.anIntArrayArray3438[2][0] = 2457; this.anIntArrayArray3438[2][1] = 0; this.anIntArrayArray3438[3][0] = 2781; this.anIntArrayArray3438[4][0] = 3481; this.anIntArrayArray3438[3][1] = 0; this.anIntArrayArray3438[4][1] = 546; this.anIntArrayArray3438[5][2] = 4096; this.anIntArrayArray3438[5][0] = 4096; this.anIntArrayArray3438[5][1] = 4096; } else if(var1 == 5) { this.anIntArrayArray3438 = new int[16][4]; this.anIntArrayArray3438[0][3] = 321; this.anIntArrayArray3438[0][0] = 0; this.anIntArrayArray3438[0][2] = 192; this.anIntArrayArray3438[1][0] = 155; this.anIntArrayArray3438[1][3] = 562; this.anIntArrayArray3438[1][2] = 449; this.anIntArrayArray3438[2][0] = 389; this.anIntArrayArray3438[3][0] = 671; this.anIntArrayArray3438[2][2] = 690; this.anIntArrayArray3438[0][1] = 80; this.anIntArrayArray3438[1][1] = 321; this.anIntArrayArray3438[4][0] = 897; this.anIntArrayArray3438[3][2] = 995; this.anIntArrayArray3438[4][2] = 1397; this.anIntArrayArray3438[2][1] = 578; this.anIntArrayArray3438[2][3] = 803; this.anIntArrayArray3438[5][0] = 1175; this.anIntArrayArray3438[6][0] = 1368; this.anIntArrayArray3438[5][2] = 1429; this.anIntArrayArray3438[3][1] = 947; this.anIntArrayArray3438[7][0] = 1507; this.anIntArrayArray3438[4][1] = 1285; this.anIntArrayArray3438[6][2] = 1461; this.anIntArrayArray3438[8][0] = 1736; this.anIntArrayArray3438[3][3] = 1140; this.anIntArrayArray3438[9][0] = 2088; this.anIntArrayArray3438[7][2] = 1525; this.anIntArrayArray3438[4][3] = 1509; this.anIntArrayArray3438[5][1] = 1525; this.anIntArrayArray3438[6][1] = 1734; this.anIntArrayArray3438[5][3] = 1413; this.anIntArrayArray3438[8][2] = 1590; this.anIntArrayArray3438[10][0] = 2355; this.anIntArrayArray3438[9][2] = 2056; this.anIntArrayArray3438[7][1] = 1413; this.anIntArrayArray3438[11][0] = 2691; this.anIntArrayArray3438[12][0] = 3031; this.anIntArrayArray3438[6][3] = 1333; this.anIntArrayArray3438[10][2] = 2586; this.anIntArrayArray3438[11][2] = 3148; this.anIntArrayArray3438[13][0] = 3522; this.anIntArrayArray3438[14][0] = 3727; this.anIntArrayArray3438[7][3] = 1702; this.anIntArrayArray3438[8][1] = 1108; this.anIntArrayArray3438[9][1] = 1766; this.anIntArrayArray3438[10][1] = 2409; this.anIntArrayArray3438[15][0] = 4096; this.anIntArrayArray3438[12][2] = 3710; this.anIntArrayArray3438[11][1] = 3116; this.anIntArrayArray3438[13][2] = 3421; this.anIntArrayArray3438[12][1] = 3806; this.anIntArrayArray3438[13][1] = 3437; this.anIntArrayArray3438[14][1] = 3116; this.anIntArrayArray3438[15][1] = 2377; this.anIntArrayArray3438[8][3] = 2056; this.anIntArrayArray3438[9][3] = 2666; this.anIntArrayArray3438[14][2] = 3148; this.anIntArrayArray3438[15][2] = 2505; this.anIntArrayArray3438[10][3] = 3276; this.anIntArrayArray3438[11][3] = 3228; this.anIntArrayArray3438[12][3] = 3196; this.anIntArrayArray3438[13][3] = 3019; this.anIntArrayArray3438[14][3] = 3228; this.anIntArrayArray3438[15][3] = 2746; } else { if(var1 != 6) { throw new RuntimeException("Invalid gradient preset"); } this.anIntArrayArray3438 = new int[4][4]; this.anIntArrayArray3438[0][3] = 0; this.anIntArrayArray3438[0][2] = 4096; this.anIntArrayArray3438[1][3] = 0; this.anIntArrayArray3438[0][1] = 0; this.anIntArrayArray3438[2][3] = 0; this.anIntArrayArray3438[3][3] = 0; this.anIntArrayArray3438[0][0] = 2048; this.anIntArrayArray3438[1][1] = 4096; this.anIntArrayArray3438[1][0] = 2867; this.anIntArrayArray3438[2][1] = 4096; this.anIntArrayArray3438[1][2] = 4096; this.anIntArrayArray3438[2][2] = 4096; this.anIntArrayArray3438[3][1] = 4096; this.anIntArrayArray3438[2][0] = 3276; this.anIntArrayArray3438[3][2] = 0; this.anIntArrayArray3438[3][0] = 4096; } } } catch (RuntimeException var4) { throw ClientErrorException.clientError(var4, "um.B(" + var1 + ',' + false + ')'); } } public TextureOperation10() { super(1, false); } final void decode(int var1, DataBuffer var2) { try { if(true) { if(var1 == 0) { int var4 = var2.readUnsignedByte(); if(var4 == 0) { this.anIntArrayArray3438 = new int[var2.readUnsignedByte()][4]; for(int var5 = 0; var5 < this.anIntArrayArray3438.length; ++var5) { this.anIntArrayArray3438[var5][0] = var2.readUnsignedShort(); this.anIntArrayArray3438[var5][1] = var2.readUnsignedByte() << 4; this.anIntArrayArray3438[var5][2] = var2.readUnsignedByte() << 4; this.anIntArrayArray3438[var5][3] = var2.readUnsignedByte() << 4; } } else { this.method345(var4); } } } } catch (RuntimeException var6) { throw ClientErrorException.clientError(var6, "um.A(" + var1 + ',' + (var2 != null ? "{...}" : "null") + ',' + ')'); } } private void method346() { try { int var5 = this.anIntArrayArray3438.length; if(var5 > 0) { for(int var6 = 0; var6 < 257; ++var6) { int var7 = 0; int var8 = var6 << 4; for(int var9 = 0; var5 > var9 && var8 >= this.anIntArrayArray3438[var9][0]; ++var9) { ++var7; } int var2; int var3; int var4; int[] var14; if(var5 > var7) { var14 = this.anIntArrayArray3438[var7]; if(var7 > 0) { int[] var10 = this.anIntArrayArray3438[-1 + var7]; int var11 = (var8 - var10[0] << 12) / (var14[0] + -var10[0]); int var12 = 4096 + -var11; var4 = var10[3] * var12 + var14[3] * var11 >> 12; var2 = var12 * var10[1] + var11 * var14[1] >> 12; var3 = var12 * var10[2] + var11 * var14[2] >> 12; } else { var2 = var14[1]; var4 = var14[3]; var3 = var14[2]; } } else { var14 = this.anIntArrayArray3438[var5 + -1]; var4 = var14[3]; var3 = var14[2]; var2 = var14[1]; } var2 >>= 4; var3 >>= 4; if(var2 < 0) { var2 = 0; } else if(var2 > 255) { var2 = 255; } if(0 > var3) { var3 = 0; } else if(var3 > 255) { var3 = 255; } var4 >>= 4; if(var4 >= 0) { if(var4 > 255) { var4 = 255; } } else { var4 = 0; } this.anIntArray3443[var6] = TextureOperation3.bitwiseOr(var4, TextureOperation3.bitwiseOr(var3 << 8, var2 << 16)); } } } catch (RuntimeException var13) { throw ClientErrorException.clientError(var13, "um.E(" + 114 + ')'); } } static void method347() { try { PacketParser.inTutorialIsland = 0; int var1 = Class131.anInt1716 + (Class102.player.xAxis >> 7); int var2 = (Class102.player.zAxis >> 7) - -Texture.anInt1152; if(var1 >= 3053 && var1 <= 3156 && var2 >= 3056 && var2 <= 3136) { PacketParser.inTutorialIsland = 1; } if(var1 >= 3072 && var1 <= 3118 && var2 >= 9492 && var2 <= 9535) { PacketParser.inTutorialIsland = 1; } if(PacketParser.inTutorialIsland == 1 && var1 >= 3139 && 3062 >= var2) { PacketParser.inTutorialIsland = 0; } } catch (RuntimeException var3) { throw ClientErrorException.clientError(var3, "um.O(" + true + ')'); } } final int[][] method166(int var2) { try { int[][] var3 = this.aClass97_2376.method1594((byte)90, var2); if(this.aClass97_2376.aBoolean1379) { int[] var5 = this.method152(0, var2); int[] var7 = var3[1]; int[] var6 = var3[0]; int[] var8 = var3[2]; for(int var9 = 0; Class113.anInt1559 > var9; ++var9) { int var4 = var5[var9] >> 4; if(var4 < 0) { var4 = 0; } if(var4 > 256) { var4 = 256; } var4 = this.anIntArray3443[var4]; var6[var9] = Unsorted.bitwiseAnd(var4, 16711680) >> 12; var7[var9] = Unsorted.bitwiseAnd(4080, var4 >> 4); var8[var9] = Unsorted.bitwiseAnd(255, var4) << 4; } } return var3; } catch (RuntimeException var10) { throw ClientErrorException.clientError(var10, "um.T(" + -1 + ',' + var2 + ')'); } } static boolean method349(int var0, int var1, int var2) { for(int var3 = 0; var3 < Class72.anInt1672; ++var3) { Class113 var4 = Class145.aClass113Array1895[var3]; int var5; int var6; int var7; int var8; int var9; if(var4.anInt1564 == 1) { var5 = var4.anInt1562 - var0; if(var5 > 0) { var6 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); var7 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); if(var2 >= var6 && var2 <= var7 && var1 >= var8 && var1 <= var9) { return true; } } } else if(var4.anInt1564 == 2) { var5 = var0 - var4.anInt1562; if(var5 > 0) { var6 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); var7 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); if(var2 >= var6 && var2 <= var7 && var1 >= var8 && var1 <= var9) { return true; } } } else if(var4.anInt1564 == 3) { var5 = var4.anInt1560 - var2; if(var5 > 0) { var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); if(var0 >= var6 && var0 <= var7 && var1 >= var8 && var1 <= var9) { return true; } } } else if(var4.anInt1564 == 4) { var5 = var2 - var4.anInt1560; if(var5 > 0) { var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); if(var0 >= var6 && var0 <= var7 && var1 >= var8 && var1 <= var9) { return true; } } } else if(var4.anInt1564 == 5) { var5 = var1 - var4.anInt1544; if(var5 > 0) { var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); var8 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); var9 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); if(var0 >= var6 && var0 <= var7 && var2 >= var8 && var2 <= var9) { return true; } } } } return false; } }