import java.nio.ByteBuffer; import com.jogamp.opengl.*; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalClass; import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; @OriginalClass("client!td") public final class GlModel extends Model { @OriginalMember(owner = "client!tf", name = "G", descriptor = "Z") public static boolean arbVboSupported; @OriginalMember(owner = "client!td", name = "t", descriptor = "[S") private short[] aShortArray75; @OriginalMember(owner = "client!td", name = "v", descriptor = "[S") private short[] aShortArray76; @OriginalMember(owner = "client!td", name = "w", descriptor = "[S") private short[] aShortArray77; @OriginalMember(owner = "client!td", name = "x", descriptor = "Lclient!vi;") private GlVertexBufferObject aClass155_5; @OriginalMember(owner = "client!td", name = "y", descriptor = "[S") private short[] aShortArray78; @OriginalMember(owner = "client!td", name = "z", descriptor = "Lclient!ql;") private GlBuffer aClass127_1; @OriginalMember(owner = "client!td", name = "A", descriptor = "Lclient!ql;") private GlBuffer aClass127_2; @OriginalMember(owner = "client!td", name = "B", descriptor = "[B") private byte[] aByteArray71; @OriginalMember(owner = "client!td", name = "C", descriptor = "Lclient!ql;") private GlBuffer aClass127_3; @OriginalMember(owner = "client!td", name = "E", descriptor = "S") private short aShort28; @OriginalMember(owner = "client!td", name = "F", descriptor = "[B") private byte[] aByteArray72; @OriginalMember(owner = "client!td", name = "H", descriptor = "[I") public int[] anIntArray461; @OriginalMember(owner = "client!td", name = "J", descriptor = "[F") private float[] aFloatArray25; @OriginalMember(owner = "client!td", name = "K", descriptor = "[[I") private int[][] anIntArrayArray36; @OriginalMember(owner = "client!td", name = "L", descriptor = "[S") private short[] aShortArray79; @OriginalMember(owner = "client!td", name = "M", descriptor = "[S") private short[] aShortArray80; @OriginalMember(owner = "client!td", name = "N", descriptor = "[S") private short[] aShortArray81; @OriginalMember(owner = "client!td", name = "O", descriptor = "[[I") private int[][] anIntArrayArray37; @OriginalMember(owner = "client!td", name = "P", descriptor = "[S") private short[] aShortArray82; @OriginalMember(owner = "client!td", name = "Q", descriptor = "[S") private short[] aShortArray83; @OriginalMember(owner = "client!td", name = "R", descriptor = "[S") private short[] aShortArray84; @OriginalMember(owner = "client!td", name = "U", descriptor = "Lclient!ae;") public Class5 vertexBuffer; @OriginalMember(owner = "client!td", name = "W", descriptor = "[S") private short[] aShortArray85; @OriginalMember(owner = "client!td", name = "X", descriptor = "[I") private int[] anIntArray462; @OriginalMember(owner = "client!td", name = "Y", descriptor = "Lclient!ql;") public GlBuffer bounds; @OriginalMember(owner = "client!td", name = "Z", descriptor = "[I") private int[] anIntArray463; @OriginalMember(owner = "client!td", name = "ab", descriptor = "[S") private short[] aShortArray86; @OriginalMember(owner = "client!td", name = "cb", descriptor = "Lclient!de;") private Class23 aClass23_1; @OriginalMember(owner = "client!td", name = "db", descriptor = "[I") private int[] anIntArray464; @OriginalMember(owner = "client!td", name = "eb", descriptor = "[I") public int[] anIntArray465; @OriginalMember(owner = "client!td", name = "fb", descriptor = "Lclient!ql;") private GlBuffer aClass127_5; @OriginalMember(owner = "client!td", name = "gb", descriptor = "[F") private float[] aFloatArray26; @OriginalMember(owner = "client!td", name = "hb", descriptor = "[I") public int[] anIntArray466; @OriginalMember(owner = "client!td", name = "ib", descriptor = "S") private short aShort29; @OriginalMember(owner = "client!td", name = "u", descriptor = "Z") public boolean aBoolean259 = false; @OriginalMember(owner = "client!td", name = "I", descriptor = "I") public int vertexCount = 0; @OriginalMember(owner = "client!td", name = "S", descriptor = "I") private int anInt5296 = 0; @OriginalMember(owner = "client!td", name = "V", descriptor = "B") private byte aByte18 = 0; @OriginalMember(owner = "client!td", name = "kb", descriptor = "B") private byte aByte19 = 0; @OriginalMember(owner = "client!td", name = "lb", descriptor = "I") private int anInt5297 = 0; @OriginalMember(owner = "client!td", name = "", descriptor = "()V") public GlModel() { } @OriginalMember(owner = "client!td", name = "", descriptor = "(Lclient!gb;IIZ)V") public GlModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3) { @Pc(23) int[] local23 = new int[arg0.anInt2136]; this.anIntArray462 = new int[arg0.anInt2139 + 1]; for (@Pc(32) int local32 = 0; local32 < arg0.anInt2136; local32++) { if ((arg0.aByteArray30 == null || arg0.aByteArray30[local32] != 2) && (arg0.aShortArray23 == null || arg0.aShortArray23[local32] == -1 || !Rasteriser.textureProvider.method3231(arg0.aShortArray23[local32] & 0xFFFF))) { local23[this.anInt5297++] = local32; this.anIntArray462[arg0.anIntArray197[local32]]++; this.anIntArray462[arg0.anIntArray200[local32]]++; this.anIntArray462[arg0.anIntArray196[local32]]++; } } @Pc(115) long[] local115 = new long[this.anInt5297]; @Pc(117) int local117; @Pc(125) int local125; @Pc(127) int local127; @Pc(226) int local226; for (local117 = 0; local117 < this.anInt5297; local117++) { local125 = local23[local117]; local127 = 0; @Pc(129) byte local129 = 0; @Pc(131) int local131 = 0; @Pc(133) int local133 = 0; @Pc(135) short local135 = -1; if (arg0.aShortArray23 != null) { local135 = arg0.aShortArray23[local125]; if (local135 != -1) { local131 = Rasteriser.textureProvider.method3237(local135 & 0xFFFF); local133 = Rasteriser.textureProvider.method3228(local135 & 0xFFFF); } } @Pc(182) boolean local182 = arg0.aByteArray26 != null && arg0.aByteArray26[local125] != 0 || local135 != -1 && !Rasteriser.textureProvider.isOpaque(local135 & 0xFFFF); if ((arg3 || local182) && arg0.aByteArray35 != null) { local127 += arg0.aByteArray35[local125] << 17; } if (local182) { local127 += 65536; } local127 += (local131 & 0xFF) << 8; local127 += local133 & 0xFF; local226 = local129 + ((local135 & 0xFFFF) << 16); @Pc(232) int local232 = local226 + (local117 & 0xFFFF); local115[local117] = ((long) local127 << 32) + (long) local232; } Static173.method3243(local115, local23); this.vertexCount = arg0.anInt2139; this.anIntArray461 = arg0.anIntArray202; this.anIntArray465 = arg0.anIntArray201; this.anIntArray466 = arg0.anIntArray203; this.anIntArray464 = arg0.anIntArray193; this.aShortArray84 = arg0.aShortArray29; local117 = this.anInt5297 * 3; this.aShortArray76 = new short[local117]; this.aShortArray79 = new short[local117]; this.aShortArray85 = new short[local117]; this.aShortArray86 = new short[local117]; this.aFloatArray25 = new float[local117]; this.aFloatArray26 = new float[local117]; this.aShortArray75 = new short[this.anInt5297]; this.aByteArray71 = new byte[this.anInt5297]; this.aShortArray77 = new short[this.anInt5297]; this.aShortArray82 = new short[this.anInt5297]; this.aShortArray83 = new short[this.anInt5297]; this.aShortArray80 = new short[this.anInt5297]; if (arg0.anIntArray192 != null) { this.aByteArray72 = new byte[this.anInt5297]; } if (arg0.aShortArray22 != null) { this.aShortArray78 = new short[this.anInt5297]; } this.vertexBuffer = new Class5(); this.bounds = new GlBuffer(); this.aClass127_1 = new GlBuffer(); if (Preferences.highDetailLighting) { this.aClass127_2 = new GlBuffer(); } this.aClass127_3 = new GlBuffer(); this.aClass127_5 = new GlBuffer(); this.aShort29 = (short) arg1; this.aShort28 = (short) arg2; this.aShortArray81 = new short[local117]; Static237.aLongArray10 = new long[local117]; local125 = 0; for (local127 = 0; local127 < arg0.anInt2139; local127++) { local226 = this.anIntArray462[local127]; this.anIntArray462[local127] = local125; local125 += local226; } this.anIntArray462[arg0.anInt2139] = local125; @Pc(426) int[] local426 = null; @Pc(428) int[] local428 = null; @Pc(430) int[] local430 = null; @Pc(433) float[][] local433 = null; @Pc(553) int local553; @Pc(439) int local439; @Pc(683) float local683; @Pc(714) float local714; @Pc(685) float local685; if (arg0.aByteArray31 != null) { local439 = arg0.anInt2137; @Pc(442) int[] local442 = new int[local439]; @Pc(445) int[] local445 = new int[local439]; @Pc(448) int[] local448 = new int[local439]; @Pc(451) int[] local451 = new int[local439]; @Pc(454) int[] local454 = new int[local439]; @Pc(457) int[] local457 = new int[local439]; @Pc(459) int local459; for (local459 = 0; local459 < local439; local459++) { local442[local459] = Integer.MAX_VALUE; local445[local459] = -2147483647; local448[local459] = Integer.MAX_VALUE; local451[local459] = -2147483647; local454[local459] = Integer.MAX_VALUE; local457[local459] = -2147483647; } for (local459 = 0; local459 < this.anInt5297; local459++) { @Pc(498) int local498 = local23[local459]; if (arg0.aByteArray31[local498] != -1) { @Pc(511) int local511 = arg0.aByteArray31[local498] & 0xFF; for (@Pc(513) int local513 = 0; local513 < 3; local513++) { @Pc(523) int local523; if (local513 == 0) { local523 = arg0.anIntArray197[local498]; } else if (local513 == 1) { local523 = arg0.anIntArray200[local498]; } else { local523 = arg0.anIntArray196[local498]; } @Pc(543) int local543 = arg0.anIntArray202[local523]; @Pc(548) int local548 = arg0.anIntArray201[local523]; local553 = arg0.anIntArray203[local523]; if (local543 < local442[local511]) { local442[local511] = local543; } if (local543 > local445[local511]) { local445[local511] = local543; } if (local548 < local448[local511]) { local448[local511] = local548; } if (local548 > local451[local511]) { local451[local511] = local548; } if (local553 < local454[local511]) { local454[local511] = local553; } if (local553 > local457[local511]) { local457[local511] = local553; } } } } local426 = new int[local439]; local428 = new int[local439]; local430 = new int[local439]; local433 = new float[local439][]; for (local459 = 0; local459 < local439; local459++) { @Pc(633) byte local633 = arg0.aByteArray29[local459]; if (local633 > 0) { local426[local459] = (local442[local459] + local445[local459]) / 2; local428[local459] = (local448[local459] + local451[local459]) / 2; local430[local459] = (local454[local459] + local457[local459]) / 2; if (local633 == 1) { @Pc(679) short local679 = arg0.aShortArray27[local459]; if (local679 == 0) { local683 = 1.0F; local685 = 1.0F; } else if (local679 > 0) { local683 = 1.0F; local685 = (float) local679 / 1024.0F; } else { local685 = 1.0F; local683 = (float) -local679 / 1024.0F; } local714 = 64.0F / (float) (arg0.aShortArray25[local459] & 0xFFFF); } else if (local633 == 2) { local683 = 64.0F / (float) (arg0.aShortArray27[local459] & 0xFFFF); local714 = 64.0F / (float) (arg0.aShortArray25[local459] & 0xFFFF); local685 = 64.0F / (float) (arg0.aShortArray21[local459] & 0xFFFF); } else { local683 = (float) arg0.aShortArray27[local459] / 1024.0F; local714 = (float) arg0.aShortArray25[local459] / 1024.0F; local685 = (float) arg0.aShortArray21[local459] / 1024.0F; } local433[local459] = Static237.method4097(arg0.aShortArray26[local459], arg0.aShortArray20[local459], arg0.aShortArray28[local459], arg0.aByteArray27[local459] & 0xFF, local683, local714, local685); } } } @Pc(817) int local817; @Pc(822) short local822; for (local439 = 0; local439 < this.anInt5297; local439++) { @Pc(810) int local810 = local23[local439]; local817 = arg0.aShortArray24[local810] & 0xFFFF; if (arg0.aShortArray23 == null) { local822 = -1; } else { local822 = arg0.aShortArray23[local810]; } @Pc(833) int local833; if (arg0.aByteArray31 == null) { local833 = -1; } else { local833 = arg0.aByteArray31[local810]; } @Pc(844) int local844; if (arg0.aByteArray26 == null) { local844 = 0; } else { local844 = arg0.aByteArray26[local810] & 0xFF; } @Pc(854) float local854 = 0.0F; @Pc(856) float local856 = 0.0F; @Pc(858) float local858 = 0.0F; local683 = 0.0F; local714 = 0.0F; local685 = 0.0F; @Pc(866) byte local866 = 0; @Pc(868) byte local868 = 0; local553 = 0; @Pc(902) byte local902; @Pc(919) int local919; @Pc(1280) int local1280; if (local822 != -1) { if (local833 == -1) { local854 = 0.0F; local856 = 1.0F; local858 = 1.0F; local683 = 1.0F; local866 = 1; local714 = 0.0F; local685 = 0.0F; local868 = 2; } else { local833 &= 0xFF; local902 = arg0.aByteArray29[local833]; @Pc(909) int local909; @Pc(914) int local914; @Pc(952) float local952; @Pc(960) float local960; @Pc(968) float local968; @Pc(1048) float local1048; @Pc(1056) float local1056; @Pc(1064) float local1064; @Pc(1072) float local1072; @Pc(1080) float local1080; @Pc(1088) float local1088; if (local902 == 0) { local909 = arg0.anIntArray197[local810]; local914 = arg0.anIntArray200[local810]; local919 = arg0.anIntArray196[local810]; @Pc(924) short local924 = arg0.aShortArray26[local833]; @Pc(929) short local929 = arg0.aShortArray20[local833]; @Pc(934) short local934 = arg0.aShortArray28[local833]; @Pc(940) float local940 = (float) arg0.anIntArray202[local924]; @Pc(946) float local946 = (float) arg0.anIntArray201[local924]; local952 = arg0.anIntArray203[local924]; local960 = (float) arg0.anIntArray202[local929] - local940; local968 = (float) arg0.anIntArray201[local929] - local946; @Pc(976) float local976 = (float) arg0.anIntArray203[local929] - local952; @Pc(984) float local984 = (float) arg0.anIntArray202[local934] - local940; @Pc(992) float local992 = (float) arg0.anIntArray201[local934] - local946; @Pc(1000) float local1000 = (float) arg0.anIntArray203[local934] - local952; @Pc(1008) float local1008 = (float) arg0.anIntArray202[local909] - local940; @Pc(1016) float local1016 = (float) arg0.anIntArray201[local909] - local946; @Pc(1024) float local1024 = (float) arg0.anIntArray203[local909] - local952; @Pc(1032) float local1032 = (float) arg0.anIntArray202[local914] - local940; @Pc(1040) float local1040 = (float) arg0.anIntArray201[local914] - local946; local1048 = (float) arg0.anIntArray203[local914] - local952; local1056 = (float) arg0.anIntArray202[local919] - local940; local1064 = (float) arg0.anIntArray201[local919] - local946; local1072 = (float) arg0.anIntArray203[local919] - local952; local1080 = local968 * local1000 - local976 * local992; local1088 = local976 * local984 - local960 * local1000; @Pc(1096) float local1096 = local960 * local992 - local968 * local984; @Pc(1104) float local1104 = local992 * local1096 - local1000 * local1088; @Pc(1112) float local1112 = local1000 * local1080 - local984 * local1096; @Pc(1120) float local1120 = local984 * local1088 - local992 * local1080; @Pc(1134) float local1134 = 1.0F / (local1104 * local960 + local1112 * local968 + local1120 * local976); local854 = (local1104 * local1008 + local1112 * local1016 + local1120 * local1024) * local1134; local858 = (local1104 * local1032 + local1112 * local1040 + local1120 * local1048) * local1134; local714 = (local1104 * local1056 + local1112 * local1064 + local1120 * local1072) * local1134; @Pc(1184) float local1184 = local968 * local1096 - local976 * local1088; @Pc(1192) float local1192 = local976 * local1080 - local960 * local1096; @Pc(1200) float local1200 = local960 * local1088 - local968 * local1080; @Pc(1214) float local1214 = 1.0F / (local1184 * local984 + local1192 * local992 + local1200 * local1000); local856 = (local1184 * local1008 + local1192 * local1016 + local1200 * local1024) * local1214; local683 = (local1184 * local1032 + local1192 * local1040 + local1200 * local1048) * local1214; local685 = (local1184 * local1056 + local1192 * local1064 + local1200 * local1072) * local1214; } else { local909 = arg0.anIntArray197[local810]; local914 = arg0.anIntArray200[local810]; local919 = arg0.anIntArray196[local810]; @Pc(1276) int local1276 = local426[local833]; local1280 = local428[local833]; @Pc(1284) int local1284 = local430[local833]; @Pc(1288) float[] local1288 = local433[local833]; @Pc(1293) byte local1293 = arg0.aByteArray32[local833]; local952 = (float) arg0.aByteArray34[local833] / 256.0F; if (local902 == 1) { local960 = (float) (arg0.aShortArray21[local833] & 0xFFFF) / 1024.0F; Static237.method4095(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local1288, local960, local1293, local952); local854 = Static237.aFloat26; local856 = Static237.aFloat28; Static237.method4095(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local1288, local960, local1293, local952); local858 = Static237.aFloat26; local683 = Static237.aFloat28; Static237.method4095(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local1288, local960, local1293, local952); local714 = Static237.aFloat26; local685 = Static237.aFloat28; local968 = local960 / 2.0F; if ((local1293 & 0x1) == 0) { if (local858 - local854 > local968) { local858 -= local960; local866 = 1; } else if (local854 - local858 > local968) { local858 += local960; local866 = 2; } if (local714 - local854 > local968) { local714 -= local960; local868 = 1; } else if (local854 - local714 > local968) { local714 += local960; local868 = 2; } } else { if (local683 - local856 > local968) { local683 -= local960; local866 = 1; } else if (local856 - local683 > local968) { local683 += local960; local866 = 2; } if (local685 - local856 > local968) { local685 -= local960; local868 = 1; } else if (local856 - local685 > local968) { local685 += local960; local868 = 2; } } } else if (local902 == 2) { local960 = (float) arg0.aByteArray28[local833] / 256.0F; local968 = (float) arg0.aByteArray33[local833] / 256.0F; @Pc(1525) int local1525 = arg0.anIntArray202[local914] - arg0.anIntArray202[local909]; @Pc(1535) int local1535 = arg0.anIntArray201[local914] - arg0.anIntArray201[local909]; @Pc(1545) int local1545 = arg0.anIntArray203[local914] - arg0.anIntArray203[local909]; @Pc(1555) int local1555 = arg0.anIntArray202[local919] - arg0.anIntArray202[local909]; @Pc(1565) int local1565 = arg0.anIntArray201[local919] - arg0.anIntArray201[local909]; @Pc(1575) int local1575 = arg0.anIntArray203[local919] - arg0.anIntArray203[local909]; @Pc(1583) int local1583 = local1535 * local1575 - local1565 * local1545; @Pc(1591) int local1591 = local1545 * local1555 - local1575 * local1525; @Pc(1599) int local1599 = local1525 * local1565 - local1555 * local1535; local1048 = 64.0F / (float) (arg0.aShortArray27[local833] & 0xFFFF); local1056 = 64.0F / (float) (arg0.aShortArray25[local833] & 0xFFFF); local1064 = 64.0F / (float) (arg0.aShortArray21[local833] & 0xFFFF); local1072 = ((float) local1583 * local1288[0] + (float) local1591 * local1288[1] + (float) local1599 * local1288[2]) / local1048; local1080 = ((float) local1583 * local1288[3] + (float) local1591 * local1288[4] + (float) local1599 * local1288[5]) / local1056; local1088 = ((float) local1583 * local1288[6] + (float) local1591 * local1288[7] + (float) local1599 * local1288[8]) / local1064; local553 = Static237.method4092(local1072, local1080, local1088); Static237.method4104(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); local854 = Static237.aFloat27; local856 = Static237.aFloat24; Static237.method4104(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); local858 = Static237.aFloat27; local683 = Static237.aFloat24; Static237.method4104(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local553, local1288, local1293, local952, local960, local968); local714 = Static237.aFloat27; local685 = Static237.aFloat24; } else if (local902 == 3) { Static237.method4101(arg0.anIntArray202[local909], arg0.anIntArray201[local909], arg0.anIntArray203[local909], local1276, local1280, local1284, local1288, local1293, local952); local854 = Static237.aFloat29; local856 = Static237.aFloat25; Static237.method4101(arg0.anIntArray202[local914], arg0.anIntArray201[local914], arg0.anIntArray203[local914], local1276, local1280, local1284, local1288, local1293, local952); local858 = Static237.aFloat29; local683 = Static237.aFloat25; Static237.method4101(arg0.anIntArray202[local919], arg0.anIntArray201[local919], arg0.anIntArray203[local919], local1276, local1280, local1284, local1288, local1293, local952); local714 = Static237.aFloat29; local685 = Static237.aFloat25; if ((local1293 & 0x1) == 0) { if (local858 - local854 > 0.5F) { local858--; local866 = 1; } else if (local854 - local858 > 0.5F) { local858++; local866 = 2; } if (local714 - local854 > 0.5F) { local714--; local868 = 1; } else if (local854 - local714 > 0.5F) { local714++; local868 = 2; } } else { if (local683 - local856 > 0.5F) { local683--; local866 = 1; } else if (local856 - local683 > 0.5F) { local683++; local866 = 2; } if (local685 - local856 > 0.5F) { local685--; local868 = 1; } else if (local856 - local685 > 0.5F) { local685++; local868 = 2; } } } } } } arg0.method1668(); if (arg0.aByteArray30 == null) { local902 = 0; } else { local902 = arg0.aByteArray30[local810]; } if (local902 == 0) { @Pc(1994) long local1994 = (long) (local833 << 2) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32); local919 = arg0.anIntArray197[local810]; @Pc(2004) Class57 local2004 = arg0.aClass57Array1[local919]; this.aShortArray77[local439] = this.method4098(arg0, local919, local1994, local2004.anInt2437, local2004.anInt2431, local2004.anInt2436, local2004.anInt2432, local854, local856); local1280 = arg0.anIntArray200[local810]; @Pc(2033) Class57 local2033 = arg0.aClass57Array1[local1280]; this.aShortArray82[local439] = this.method4098(arg0, local1280, local1994 + (long) local866, local2033.anInt2437, local2033.anInt2431, local2033.anInt2436, local2033.anInt2432, local858, local683); @Pc(2060) int local2060 = arg0.anIntArray196[local810]; @Pc(2065) Class57 local2065 = arg0.aClass57Array1[local2060]; this.aShortArray83[local439] = this.method4098(arg0, local2060, local1994 + (long) local868, local2065.anInt2437, local2065.anInt2431, local2065.anInt2436, local2065.anInt2432, local714, local685); } else if (local902 == 1) { @Pc(2096) TriangleNormal local2096 = arg0.aClass126Array1[local810]; @Pc(2137) long local2137 = (long) ((local833 << 2) + (local2096.anInt4769 > 0 ? 1024 : 2048) + (local2096.anInt4770 + 256 << 12) + (local2096.anInt4767 + 256 << 22)) + ((long) (local553 << 24) + (long) (local817 << 8) + (long) local844 << 32); this.aShortArray77[local439] = this.method4098(arg0, arg0.anIntArray197[local810], local2137, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local854, local856); this.aShortArray82[local439] = this.method4098(arg0, arg0.anIntArray200[local810], local2137 + (long) local866, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local858, local683); this.aShortArray83[local439] = this.method4098(arg0, arg0.anIntArray196[local810], local2137 + (long) local868, local2096.anInt4769, local2096.anInt4770, local2096.anInt4767, 0, local714, local685); } if (arg0.aShortArray23 == null) { this.aShortArray80[local439] = -1; } else { this.aShortArray80[local439] = arg0.aShortArray23[local810]; } if (this.aByteArray72 != null) { this.aByteArray72[local439] = (byte) arg0.anIntArray192[local810]; } this.aShortArray75[local439] = arg0.aShortArray24[local810]; if (arg0.aByteArray26 != null) { this.aByteArray71[local439] = arg0.aByteArray26[local810]; } if (arg0.aShortArray22 != null) { this.aShortArray78[local439] = arg0.aShortArray22[local810]; } } local439 = 0; @Pc(2271) short local2271 = -10000; for (local817 = 0; local817 < this.anInt5297; local817++) { local822 = this.aShortArray80[local817]; if (local822 != local2271) { local439++; local2271 = local822; } } this.anIntArray463 = new int[local439 + 1]; local439 = 0; local2271 = -10000; for (local817 = 0; local817 < this.anInt5297; local817++) { local822 = this.aShortArray80[local817]; if (local822 != local2271) { this.anIntArray463[local439++] = local817; local2271 = local822; } } this.anIntArray463[local439] = this.anInt5297; Static237.aLongArray10 = null; this.aShortArray76 = Static237.method4119(this.aShortArray76, this.anInt5296); this.aShortArray79 = Static237.method4119(this.aShortArray79, this.anInt5296); this.aShortArray85 = Static237.method4119(this.aShortArray85, this.anInt5296); this.aShortArray86 = Static237.method4119(this.aShortArray86, this.anInt5296); this.aFloatArray25 = Static237.method4112(this.aFloatArray25, this.anInt5296); this.aFloatArray26 = Static237.method4112(this.aFloatArray26, this.anInt5296); } @OriginalMember(owner = "client!td", name = "a", descriptor = "(ZZZ)Lclient!ak;") @Override public final Model method4560(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2) { return this.method4114(arg0, arg1, arg2, Static237.aClass8_Sub1_Sub1_4, Static237.aClass8_Sub1_Sub1_3); } @OriginalMember(owner = "client!td", name = "a", descriptor = "(IIIIIIIIJILclient!ga;)V") @Override public final void method4546(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long arg8, @OriginalArg(9) int arg9, @OriginalArg(10) ParticleSystem arg10) { if (this.anInt5296 == 0) { return; } if (!this.vertexBuffer.valid) { this.method4108(); } @Pc(13) short local13 = this.vertexBuffer.aShort4; @Pc(17) short local17 = this.vertexBuffer.aShort2; @Pc(21) short local21 = this.vertexBuffer.aShort3; @Pc(31) int local31 = arg7 * arg4 - arg5 * arg3 >> 16; @Pc(41) int local41 = arg6 * arg1 + local31 * arg2 >> 16; @Pc(53) int local53 = local41 + (local13 * arg2 + local21 * arg1 >> 16); if (local53 <= 50) { return; } @Pc(70) int local70 = local41 + (-local13 * arg2 + local17 * arg1 >> 16); if (local70 >= 3584) { return; } @Pc(84) int local84 = arg7 * arg3 + arg5 * arg4 >> 16; @Pc(90) int local90 = local84 + local13 << 9; if (local90 / local53 <= Static240.screenLowerX) { return; } @Pc(102) int local102 = local84 - local13 << 9; if (local102 / local53 >= Static247.screenUpperX) { return; } @Pc(118) int local118 = arg6 * arg2 - local31 * arg1 >> 16; @Pc(132) int local132 = local118 + (local13 * arg1 + local21 * arg2 >> 16) << 9; if (local132 / local53 <= Static1.screenLowerY) { return; } @Pc(153) int local153 = local118 + (-local13 * arg1 + local17 * arg2 >> 16) << 9; if (local153 / local53 >= Static148.screenUpperY) { return; } @Pc(161) int local161 = 0; @Pc(163) int local163 = 0; if (arg0 != 0) { local161 = MathUtils.sin[arg0]; local163 = MathUtils.cos[arg0]; } if (arg8 > 0L && Static39.aBoolean77 && local70 > 0) { @Pc(187) int local187; @Pc(191) int local191; if (local84 > 0) { local187 = local102 / local53; local191 = local90 / local70; } else { local187 = local102 / local70; local191 = local90 / local53; } @Pc(206) int local206; @Pc(210) int local210; if (local118 > 0) { local206 = local153 / local53; local210 = local132 / local70; } else { local206 = local153 / local70; local210 = local132 / local53; } if (Static150.anInt3582 >= local187 && Static150.anInt3582 <= local191 && Static34.anInt1053 >= local206 && Static34.anInt1053 <= local210) { local187 = 999999; local191 = -999999; local206 = 999999; local210 = -999999; @Pc(243) short local243 = this.vertexBuffer.aShort6; @Pc(247) short local247 = this.vertexBuffer.aShort5; @Pc(251) short local251 = this.vertexBuffer.aShort8; @Pc(255) short local255 = this.vertexBuffer.aShort7; @Pc(290) int[] local290 = new int[] { local243, local247, local243, local247, local243, local247, local243, local247 }; @Pc(325) int[] local325 = new int[] { local251, local251, local255, local255, local251, local251, local255, local255 }; @Pc(360) int[] local360 = new int[] { local17, local17, local17, local17, local21, local21, local21, local21 }; @Pc(362) int local362; @Pc(369) int local369; @Pc(373) int local373; @Pc(377) int local377; @Pc(389) int local389; @Pc(465) int local465; @Pc(471) int local471; for (local362 = 0; local362 < 8; local362++) { local369 = local290[local362]; local373 = local360[local362]; local377 = local325[local362]; if (arg0 != 0) { local389 = local377 * local161 + local369 * local163 >> 16; local377 = local377 * local163 - local369 * local161 >> 16; local369 = local389; } local369 += arg5; local373 += arg6; local377 += arg7; local389 = local377 * arg3 + local369 * arg4 >> 16; local377 = local377 * arg4 - local369 * arg3 >> 16; local369 = local389; local389 = local373 * arg2 - local377 * arg1 >> 16; local377 = local373 * arg1 + local377 * arg2 >> 16; if (local377 > 0) { local465 = (local369 << 9) / local377; local471 = (local389 << 9) / local377; if (local465 < local187) { local187 = local465; } if (local465 > local191) { local191 = local465; } if (local471 < local206) { local206 = local471; } if (local471 > local210) { local210 = local471; } } } if (Static150.anInt3582 >= local187 && Static150.anInt3582 <= local191 && Static34.anInt1053 >= local206 && Static34.anInt1053 <= local210) { if (this.aBoolean303) { Static259.aLongArray11[Static2.anInt7++] = arg8; } else { if (Static237.anIntArray468.length < this.anInt5296) { Static237.anIntArray468 = new int[this.anInt5296]; Static237.anIntArray467 = new int[this.anInt5296]; } local362 = 0; label118: while (true) { if (local362 >= this.vertexCount) { local362 = 0; while (true) { if (local362 >= this.anInt5297) { break label118; } @Pc(698) short local698 = this.aShortArray77[local362]; @Pc(703) short local703 = this.aShortArray82[local362]; @Pc(708) short local708 = this.aShortArray83[local362]; if (this.method4118(Static150.anInt3582, Static34.anInt1053, Static237.anIntArray467[local698], Static237.anIntArray467[local703], Static237.anIntArray467[local708], Static237.anIntArray468[local698], Static237.anIntArray468[local703], Static237.anIntArray468[local708])) { Static259.aLongArray11[Static2.anInt7++] = arg8; break label118; } local362++; } } local369 = this.anIntArray461[local362]; local373 = this.anIntArray465[local362]; local377 = this.anIntArray466[local362]; if (arg0 != 0) { local389 = local377 * local161 + local369 * local163 >> 16; local377 = local377 * local163 - local369 * local161 >> 16; local369 = local389; } local369 += arg5; local373 += arg6; local377 += arg7; local389 = local377 * arg3 + local369 * arg4 >> 16; local377 = local377 * arg4 - local369 * arg3 >> 16; local369 = local389; local389 = local373 * arg2 - local377 * arg1 >> 16; local377 = local373 * arg1 + local377 * arg2 >> 16; if (local377 < 50) { break; } local465 = (local369 << 9) / local377; local471 = (local389 << 9) / local377; @Pc(652) int local652 = this.anIntArray462[local362]; @Pc(659) int local659 = this.anIntArray462[local362 + 1]; for (@Pc(661) int local661 = local652; local661 < local659; local661++) { @Pc(671) int local671 = this.aShortArray81[local661] - 1; if (local671 == -1) { break; } Static237.anIntArray468[local671] = local465; Static237.anIntArray467[local671] = local471; } local362++; } } } } } @Pc(744) GL2 local744 = GlRenderer.gl; local744.glPushMatrix(); local744.glTranslatef((float) arg5, (float) arg6, (float) arg7); local744.glRotatef((float) arg0 * 0.17578125F, 0.0F, 1.0F, 0.0F); this.method4121(); local744.glRotatef((float) -arg0 * 0.17578125F, 0.0F, 1.0F, 0.0F); local744.glTranslatef((float) -arg5, (float) -arg6, (float) -arg7); local744.glPopMatrix(); } @OriginalMember(owner = "client!td", name = "m", descriptor = "()V") public final void method4093() { if (this.aShortArray76 == null) { this.method4578(); return; } @Pc(7) int local7; for (local7 = 0; local7 < this.vertexCount; local7++) { @Pc(16) int local16 = this.anIntArray466[local7]; this.anIntArray466[local7] = this.anIntArray461[local7]; this.anIntArray461[local7] = -local16; } for (local7 = 0; local7 < this.anInt5296; local7++) { @Pc(43) short local43 = this.aShortArray85[local7]; this.aShortArray85[local7] = this.aShortArray76[local7]; this.aShortArray76[local7] = (short) -local43; } this.vertexBuffer.valid = false; this.bounds.valid = false; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } @OriginalMember(owner = "client!td", name = "n", descriptor = "()I") public final int method4094() { return this.aShort29; } @OriginalMember(owner = "client!td", name = "c", descriptor = "(I)V") @Override public final void method4564(@OriginalArg(0) int arg0) { @Pc(3) int local3 = MathUtils.sin[arg0]; @Pc(7) int local7 = MathUtils.cos[arg0]; for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) { @Pc(29) int local29 = this.anIntArray465[local9] * local3 + this.anIntArray461[local9] * local7 >> 16; this.anIntArray465[local9] = this.anIntArray465[local9] * local7 - this.anIntArray461[local9] * local3 >> 16; this.anIntArray461[local9] = local29; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "g", descriptor = "()I") @Override public final int method4561() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort5; } @OriginalMember(owner = "client!td", name = "c", descriptor = "()I") @Override public final int method4550() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort7; } @OriginalMember(owner = "client!td", name = "a", descriptor = "()Z") @Override public final boolean method4543() { return this.aBoolean259 && this.anIntArray461 != null && this.aShortArray76 != null; } @OriginalMember(owner = "client!td", name = "k", descriptor = "()I") @Override public final int method4576() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort8; } @OriginalMember(owner = "client!td", name = "c", descriptor = "(III)V") @Override public final void method4575(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { this.anIntArray461[local1] += arg0; this.anIntArray465[local1] += arg1; this.anIntArray466[local1] += arg2; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "b", descriptor = "(ZZZ)Lclient!ak;") @Override public final Model method4568(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2) { return this.method4114(arg0, arg1, arg2, Static237.aClass8_Sub1_Sub1_6, Static237.aClass8_Sub1_Sub1_5); } @OriginalMember(owner = "client!td", name = "a", descriptor = "(Lclient!th;IIIZ)V") @Override public final void method4544(@OriginalArg(0) Entity arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) boolean arg4) { @Pc(2) GlModel local2 = (GlModel) arg0; if (this.anInt5297 == 0 || local2.anInt5297 == 0) { return; } @Pc(12) int local12 = local2.vertexCount; @Pc(15) int[] local15 = local2.anIntArray461; @Pc(18) int[] local18 = local2.anIntArray465; @Pc(21) int[] local21 = local2.anIntArray466; @Pc(24) short[] local24 = local2.aShortArray76; @Pc(27) short[] local27 = local2.aShortArray79; @Pc(30) short[] local30 = local2.aShortArray85; @Pc(33) short[] local33 = local2.aShortArray86; @Pc(40) short[] local40; @Pc(44) short[] local44; @Pc(48) short[] local48; @Pc(52) short[] local52; if (this.aClass23_1 == null) { local40 = null; local44 = null; local48 = null; local52 = null; } else { local40 = this.aClass23_1.aShortArray8; local44 = this.aClass23_1.aShortArray10; local48 = this.aClass23_1.aShortArray9; local52 = this.aClass23_1.aShortArray7; } @Pc(68) short[] local68; @Pc(72) short[] local72; @Pc(76) short[] local76; @Pc(80) short[] local80; if (local2.aClass23_1 == null) { local68 = null; local72 = null; local76 = null; local80 = null; } else { local68 = local2.aClass23_1.aShortArray8; local72 = local2.aClass23_1.aShortArray10; local76 = local2.aClass23_1.aShortArray9; local80 = local2.aClass23_1.aShortArray7; } @Pc(92) int[] local92 = local2.anIntArray462; @Pc(95) short[] local95 = local2.aShortArray81; if (!local2.vertexBuffer.valid) { local2.method4108(); } @Pc(105) short local105 = local2.vertexBuffer.aShort2; @Pc(109) short local109 = local2.vertexBuffer.aShort3; @Pc(113) short local113 = local2.vertexBuffer.aShort6; @Pc(117) short local117 = local2.vertexBuffer.aShort5; @Pc(121) short local121 = local2.vertexBuffer.aShort8; @Pc(125) short local125 = local2.vertexBuffer.aShort7; for (@Pc(127) int local127 = 0; local127 < this.vertexCount; local127++) { @Pc(138) int local138 = this.anIntArray465[local127] - arg2; if (local138 >= local105 && local138 <= local109) { @Pc(152) int local152 = this.anIntArray461[local127] - arg1; if (local152 >= local113 && local152 <= local117) { @Pc(166) int local166 = this.anIntArray466[local127] - arg3; if (local166 >= local121 && local166 <= local125) { @Pc(175) int local175 = -1; @Pc(180) int local180 = this.anIntArray462[local127]; @Pc(187) int local187 = this.anIntArray462[local127 + 1]; @Pc(189) int local189; for (local189 = local180; local189 < local187; local189++) { local175 = this.aShortArray81[local189] - 1; if (local175 == -1 || this.aShortArray86[local175] != 0) { break; } } if (local175 != -1) { for (local189 = 0; local189 < local12; local189++) { if (local152 == local15[local189] && local166 == local21[local189] && local138 == local18[local189]) { @Pc(237) int local237 = -1; local180 = local92[local189]; local187 = local92[local189 + 1]; for (@Pc(249) int local249 = local180; local249 < local187; local249++) { local237 = local95[local249] - 1; if (local237 == -1 || local33[local237] != 0) { break; } } if (local237 != -1) { if (local40 == null) { this.aClass23_1 = new Class23(); local40 = this.aClass23_1.aShortArray8 = Static263.method4511(this.aShortArray76); local44 = this.aClass23_1.aShortArray10 = Static263.method4511(this.aShortArray79); local48 = this.aClass23_1.aShortArray9 = Static263.method4511(this.aShortArray85); local52 = this.aClass23_1.aShortArray7 = Static263.method4511(this.aShortArray86); } if (local68 == null) { @Pc(325) Class23 local325 = local2.aClass23_1 = new Class23(); local68 = local325.aShortArray8 = Static263.method4511(local24); local72 = local325.aShortArray10 = Static263.method4511(local27); local76 = local325.aShortArray9 = Static263.method4511(local30); local80 = local325.aShortArray7 = Static263.method4511(local33); } @Pc(358) short local358 = this.aShortArray76[local175]; @Pc(363) short local363 = this.aShortArray79[local175]; @Pc(368) short local368 = this.aShortArray85[local175]; @Pc(373) short local373 = this.aShortArray86[local175]; local180 = local92[local189]; local187 = local92[local189 + 1]; @Pc(385) int local385; @Pc(394) int local394; for (local385 = local180; local385 < local187; local385++) { local394 = local95[local385] - 1; if (local394 == -1) { break; } if (local80[local394] != 0) { local68[local394] += local358; local72[local394] += local363; local76[local394] += local368; local80[local394] += local373; } } local358 = local24[local237]; local363 = local27[local237]; local368 = local30[local237]; local373 = local33[local237]; local180 = this.anIntArray462[local127]; local187 = this.anIntArray462[local127 + 1]; for (local385 = local180; local385 < local187; local385++) { local394 = this.aShortArray81[local385] - 1; if (local394 == -1) { break; } if (local52[local394] != 0) { local40[local394] += local358; local44[local394] += local363; local48[local394] += local368; local52[local394] += local373; } } } } } } } } } } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(IIIIIIIJ)V") @Override public final void method4571(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) long arg6) { if (this.anInt5296 == 0) { return; } @Pc(5) GL2 local5 = GlRenderer.gl; local5.glPushMatrix(); if (arg2 != 0) { local5.glRotatef((float) arg2 * 0.17578125F, 1.0F, 0.0F, 0.0F); } local5.glTranslatef((float) arg3, (float) arg4, (float) arg5); if (arg0 != 0) { local5.glRotatef((float) arg0 * 0.17578125F, 0.0F, 1.0F, 0.0F); } if (arg1 != 0) { local5.glRotatef((float) -arg1 * 0.17578125F, 0.0F, 0.0F, 1.0F); } this.method4121(); local5.glPopMatrix(); } @OriginalMember(owner = "client!td", name = "a", descriptor = "(Lclient!gb;IJIIIIFF)S") private short method4098(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) long arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) float arg7, @OriginalArg(8) float arg8) { @Pc(4) int local4 = this.anIntArray462[arg1]; @Pc(11) int local11 = this.anIntArray462[arg1 + 1]; @Pc(13) int local13 = 0; for (@Pc(15) int local15 = local4; local15 < local11; local15++) { @Pc(23) short local23 = this.aShortArray81[local15]; if (local23 == 0) { local13 = local15; break; } if (Static237.aLongArray10[local15] == arg2) { return (short) (local23 - 1); } } this.aShortArray81[local13] = (short) (this.anInt5296 + 1); Static237.aLongArray10[local13] = arg2; this.aShortArray76[this.anInt5296] = (short) arg3; this.aShortArray79[this.anInt5296] = (short) arg4; this.aShortArray85[this.anInt5296] = (short) arg5; this.aShortArray86[this.anInt5296] = (short) arg6; this.aFloatArray25[this.anInt5296] = arg7; this.aFloatArray26[this.anInt5296] = arg8; return (short) this.anInt5296++; } @OriginalMember(owner = "client!td", name = "b", descriptor = "(I)V") @Override public final void method4554(@OriginalArg(0) int arg0) { @Pc(3) int local3 = MathUtils.sin[arg0]; @Pc(7) int local7 = MathUtils.cos[arg0]; for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) { @Pc(29) int local29 = this.anIntArray466[local9] * local3 + this.anIntArray461[local9] * local7 >> 16; this.anIntArray466[local9] = this.anIntArray466[local9] * local7 - this.anIntArray461[local9] * local3 >> 16; this.anIntArray461[local9] = local29; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(I[IIIIZI[I)V") @Override protected final void method4577(@OriginalArg(0) int arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) boolean arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int[] arg7) { @Pc(2) int local2 = arg1.length; @Pc(18) int local18; @Pc(26) int local26; @Pc(45) int local45; @Pc(53) int local53; @Pc(33) int local33; if (arg0 == 0) { arg2 <<= 0x4; arg3 <<= 0x4; arg4 <<= 0x4; local18 = 0; Static237.anInt5298 = 0; Static237.anInt5300 = 0; Static237.anInt5299 = 0; for (local26 = 0; local26 < local2; local26++) { local33 = arg1[local26]; if (local33 < this.anIntArrayArray36.length) { @Pc(43) int[] local43 = this.anIntArrayArray36[local33]; for (local45 = 0; local45 < local43.length; local45++) { local53 = local43[local45]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local53]) != 0) { Static237.anInt5298 += this.anIntArray461[local53]; Static237.anInt5300 += this.anIntArray465[local53]; Static237.anInt5299 += this.anIntArray466[local53]; local18++; } } } } if (local18 > 0) { Static237.anInt5298 = Static237.anInt5298 / local18 + arg2; Static237.anInt5300 = Static237.anInt5300 / local18 + arg3; Static237.anInt5299 = Static237.anInt5299 / local18 + arg4; Static237.aBoolean260 = true; } else { Static237.anInt5298 = arg2; Static237.anInt5300 = arg3; Static237.anInt5299 = arg4; } return; } @Pc(228) int[] local228; @Pc(230) int local230; if (arg0 == 1) { if (arg7 != null) { local18 = arg7[0] * arg2 + arg7[1] * arg3 + arg7[2] * arg4 + 16384 >> 15; local26 = arg7[3] * arg2 + arg7[4] * arg3 + arg7[5] * arg4 + 16384 >> 15; local33 = arg7[6] * arg2 + arg7[7] * arg3 + arg7[8] * arg4 + 16384 >> 15; arg2 = local18; arg3 = local26; arg4 = local33; } arg2 <<= 0x4; arg3 <<= 0x4; arg4 <<= 0x4; for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local228 = this.anIntArrayArray36[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local45]) != 0) { this.anIntArray461[local45] += arg2; this.anIntArray465[local45] += arg3; this.anIntArray466[local45] += arg4; } } } } return; } @Pc(343) int local343; @Pc(365) int local365; @Pc(387) int local387; @Pc(428) int local428; @Pc(434) int local434; @Pc(440) int local440; @Pc(446) int local446; @Pc(454) int local454; @Pc(462) int local462; @Pc(615) int local615; @Pc(640) int local640; @Pc(644) int local644; @Pc(652) int local652; @Pc(657) int local657; @Pc(662) int local662; @Pc(667) int local667; @Pc(789) int[] local789; @Pc(791) int local791; @Pc(796) int local796; @Pc(801) int local801; @Pc(803) int local803; @Pc(929) int local929; if (arg0 == 2) { if (arg7 == null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local228 = this.anIntArrayArray36[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local45]) != 0) { this.anIntArray461[local45] -= Static237.anInt5298; this.anIntArray465[local45] -= Static237.anInt5300; this.anIntArray466[local45] -= Static237.anInt5299; if (arg4 != 0) { local53 = MathUtils.sin[arg4]; local343 = MathUtils.cos[arg4]; local365 = this.anIntArray465[local45] * local53 + this.anIntArray461[local45] * local343 + 32767 >> 16; this.anIntArray465[local45] = this.anIntArray465[local45] * local343 + 32767 - this.anIntArray461[local45] * local53 >> 16; this.anIntArray461[local45] = local365; } if (arg2 != 0) { local53 = MathUtils.sin[arg2]; local343 = MathUtils.cos[arg2]; local365 = this.anIntArray465[local45] * local343 + 32767 - this.anIntArray466[local45] * local53 >> 16; this.anIntArray466[local45] = this.anIntArray465[local45] * local53 + this.anIntArray466[local45] * local343 + 32767 >> 16; this.anIntArray465[local45] = local365; } if (arg3 != 0) { local53 = MathUtils.sin[arg3]; local343 = MathUtils.cos[arg3]; local365 = this.anIntArray466[local45] * local53 + this.anIntArray461[local45] * local343 + 32767 >> 16; this.anIntArray466[local45] = this.anIntArray466[local45] * local343 + 32767 - this.anIntArray461[local45] * local53 >> 16; this.anIntArray461[local45] = local365; } this.anIntArray461[local45] += Static237.anInt5298; this.anIntArray465[local45] += Static237.anInt5300; this.anIntArray466[local45] += Static237.anInt5299; } } } } if (arg5 && this.aShortArray76 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local228 = this.anIntArrayArray36[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local45]) != 0) { local53 = this.anIntArray462[local45]; local343 = this.anIntArray462[local45 + 1]; for (local365 = local53; local365 < local343; local365++) { local387 = this.aShortArray81[local365] - 1; if (local387 == -1) { break; } if (arg4 != 0) { local428 = MathUtils.sin[arg4]; local434 = MathUtils.cos[arg4]; local440 = this.aShortArray79[local387] * local428 + this.aShortArray76[local387] * local434 + 32767 >> 16; this.aShortArray79[local387] = (short) (this.aShortArray79[local387] * local434 + 32767 - this.aShortArray76[local387] * local428 >> 16); this.aShortArray76[local387] = (short) local440; } if (arg2 != 0) { local428 = MathUtils.sin[arg2]; local434 = MathUtils.cos[arg2]; local440 = this.aShortArray79[local387] * local434 + 32767 - this.aShortArray85[local387] * local428 >> 16; this.aShortArray85[local387] = (short) (this.aShortArray79[local387] * local428 + this.aShortArray85[local387] * local434 + 32767 >> 16); this.aShortArray79[local387] = (short) local440; } if (arg3 != 0) { local428 = MathUtils.sin[arg3]; local434 = MathUtils.cos[arg3]; local440 = this.aShortArray85[local387] * local428 + this.aShortArray76[local387] * local434 + 32767 >> 16; this.aShortArray85[local387] = (short) (this.aShortArray85[local387] * local434 + 32767 - this.aShortArray76[local387] * local428 >> 16); this.aShortArray76[local387] = (short) local440; } } } } } } if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } } else { local18 = arg7[9] << 4; local26 = arg7[10] << 4; local33 = arg7[11] << 4; local230 = arg7[12] << 4; local45 = arg7[13] << 4; local53 = arg7[14] << 4; if (Static237.aBoolean260) { local343 = arg7[0] * Static237.anInt5298 + arg7[3] * Static237.anInt5300 + arg7[6] * Static237.anInt5299 + 16384 >> 15; local365 = arg7[1] * Static237.anInt5298 + arg7[4] * Static237.anInt5300 + arg7[7] * Static237.anInt5299 + 16384 >> 15; local387 = arg7[2] * Static237.anInt5298 + arg7[5] * Static237.anInt5300 + arg7[8] * Static237.anInt5299 + 16384 >> 15; local343 += local230; local365 += local45; local387 += local53; Static237.anInt5298 = local343; Static237.anInt5300 = local365; Static237.anInt5299 = local387; Static237.aBoolean260 = false; } @Pc(410) int[] local410 = new int[9]; local365 = MathUtils.cos[arg2] >> 1; local387 = MathUtils.sin[arg2] >> 1; local428 = MathUtils.cos[arg3] >> 1; local434 = MathUtils.sin[arg3] >> 1; local440 = MathUtils.cos[arg4] >> 1; local446 = MathUtils.sin[arg4] >> 1; local454 = local387 * local440 + 16384 >> 15; local462 = local387 * local446 + 16384 >> 15; local410[0] = local428 * local440 + local434 * local462 + 16384 >> 15; local410[1] = -local428 * local446 + local434 * local454 + 16384 >> 15; local410[2] = local434 * local365 + 16384 >> 15; local410[3] = local365 * local446 + 16384 >> 15; local410[4] = local365 * local440 + 16384 >> 15; local410[5] = -local387; local410[6] = -local434 * local440 + local428 * local462 + 16384 >> 15; local410[7] = local434 * local446 + local428 * local454 + 16384 >> 15; local410[8] = local428 * local365 + 16384 >> 15; @Pc(590) int local590 = local410[0] * -Static237.anInt5298 + local410[1] * -Static237.anInt5300 + local410[2] * -Static237.anInt5299 + 16384 >> 15; local615 = local410[3] * -Static237.anInt5298 + local410[4] * -Static237.anInt5300 + local410[5] * -Static237.anInt5299 + 16384 >> 15; local640 = local410[6] * -Static237.anInt5298 + local410[7] * -Static237.anInt5300 + local410[8] * -Static237.anInt5299 + 16384 >> 15; local644 = local590 + Static237.anInt5298; @Pc(648) int local648 = local615 + Static237.anInt5300; local652 = local640 + Static237.anInt5299; @Pc(655) int[] local655 = new int[9]; for (local657 = 0; local657 < 3; local657++) { for (local662 = 0; local662 < 3; local662++) { local667 = 0; for (@Pc(669) int local669 = 0; local669 < 3; local669++) { local667 += local410[local657 * 3 + local669] * arg7[local662 * 3 + local669]; } local655[local657 * 3 + local662] = local667 + 16384 >> 15; } } local657 = local410[0] * local230 + local410[1] * local45 + local410[2] * local53 + 16384 >> 15; local662 = local410[3] * local230 + local410[4] * local45 + local410[5] * local53 + 16384 >> 15; local667 = local410[6] * local230 + local410[7] * local45 + local410[8] * local53 + 16384 >> 15; local657 += local644; local662 += local648; local667 += local652; local789 = new int[9]; for (local791 = 0; local791 < 3; local791++) { for (local796 = 0; local796 < 3; local796++) { local801 = 0; for (local803 = 0; local803 < 3; local803++) { local801 += arg7[local791 * 3 + local803] * local655[local796 + local803 * 3]; } local789[local791 * 3 + local796] = local801 + 16384 >> 15; } } local791 = arg7[0] * local657 + arg7[1] * local662 + arg7[2] * local667 + 16384 >> 15; local796 = arg7[3] * local657 + arg7[4] * local662 + arg7[5] * local667 + 16384 >> 15; local801 = arg7[6] * local657 + arg7[7] * local662 + arg7[8] * local667 + 16384 >> 15; local791 += local18; local796 += local26; local801 += local33; for (local803 = 0; local803 < local2; local803++) { local929 = arg1[local803]; if (local929 < this.anIntArrayArray36.length) { @Pc(939) int[] local939 = this.anIntArrayArray36[local929]; for (@Pc(941) int local941 = 0; local941 < local939.length; local941++) { @Pc(949) int local949 = local939[local941]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local949]) != 0) { @Pc(991) int local991 = local789[0] * this.anIntArray461[local949] + local789[1] * this.anIntArray465[local949] + local789[2] * this.anIntArray466[local949] + 16384 >> 15; @Pc(1022) int local1022 = local789[3] * this.anIntArray461[local949] + local789[4] * this.anIntArray465[local949] + local789[5] * this.anIntArray466[local949] + 16384 >> 15; @Pc(1053) int local1053 = local789[6] * this.anIntArray461[local949] + local789[7] * this.anIntArray465[local949] + local789[8] * this.anIntArray466[local949] + 16384 >> 15; @Pc(1057) int local1057 = local991 + local791; @Pc(1061) int local1061 = local1022 + local796; @Pc(1065) int local1065 = local1053 + local801; this.anIntArray461[local949] = local1057; this.anIntArray465[local949] = local1061; this.anIntArray466[local949] = local1065; } } } } } } else if (arg0 == 3) { if (arg7 == null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local228 = this.anIntArrayArray36[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local45]) != 0) { this.anIntArray461[local45] -= Static237.anInt5298; this.anIntArray465[local45] -= Static237.anInt5300; this.anIntArray466[local45] -= Static237.anInt5299; this.anIntArray461[local45] = this.anIntArray461[local45] * arg2 >> 7; this.anIntArray465[local45] = this.anIntArray465[local45] * arg3 >> 7; this.anIntArray466[local45] = this.anIntArray466[local45] * arg4 >> 7; this.anIntArray461[local45] += Static237.anInt5298; this.anIntArray465[local45] += Static237.anInt5300; this.anIntArray466[local45] += Static237.anInt5299; } } } } } else { local18 = arg7[9] << 4; local26 = arg7[10] << 4; local33 = arg7[11] << 4; local230 = arg7[12] << 4; local45 = arg7[13] << 4; local53 = arg7[14] << 4; if (Static237.aBoolean260) { local343 = arg7[0] * Static237.anInt5298 + arg7[3] * Static237.anInt5300 + arg7[6] * Static237.anInt5299 + 16384 >> 15; local365 = arg7[1] * Static237.anInt5298 + arg7[4] * Static237.anInt5300 + arg7[7] * Static237.anInt5299 + 16384 >> 15; local387 = arg7[2] * Static237.anInt5298 + arg7[5] * Static237.anInt5300 + arg7[8] * Static237.anInt5299 + 16384 >> 15; local343 += local230; local365 += local45; local387 += local53; Static237.anInt5298 = local343; Static237.anInt5300 = local365; Static237.anInt5299 = local387; Static237.aBoolean260 = false; } local343 = arg2 << 15 >> 7; local365 = arg3 << 15 >> 7; local387 = arg4 << 15 >> 7; local428 = local343 * -Static237.anInt5298 + 16384 >> 15; local434 = local365 * -Static237.anInt5300 + 16384 >> 15; local440 = local387 * -Static237.anInt5299 + 16384 >> 15; local446 = local428 + Static237.anInt5298; local454 = local434 + Static237.anInt5300; local462 = local440 + Static237.anInt5299; @Pc(1783) int[] local1783 = new int[] { local343 * arg7[0] + 16384 >> 15, local343 * arg7[3] + 16384 >> 15, local343 * arg7[6] + 16384 >> 15, local365 * arg7[1] + 16384 >> 15, local365 * arg7[4] + 16384 >> 15, local365 * arg7[7] + 16384 >> 15, local387 * arg7[2] + 16384 >> 15, local387 * arg7[5] + 16384 >> 15, local387 * arg7[8] + 16384 >> 15 }; local615 = local343 * local230 + 16384 >> 15; local640 = local365 * local45 + 16384 >> 15; local644 = local387 * local53 + 16384 >> 15; @Pc(1919) int local1919 = local615 + local446; @Pc(1923) int local1923 = local640 + local454; @Pc(1927) int local1927 = local644 + local462; @Pc(1930) int[] local1930 = new int[9]; @Pc(1937) int local1937; for (local652 = 0; local652 < 3; local652++) { for (local1937 = 0; local1937 < 3; local1937++) { local657 = 0; for (local662 = 0; local662 < 3; local662++) { local657 += arg7[local652 * 3 + local662] * local1783[local1937 + local662 * 3]; } local1930[local652 * 3 + local1937] = local657 + 16384 >> 15; } } local652 = arg7[0] * local1919 + arg7[1] * local1923 + arg7[2] * local1927 + 16384 >> 15; local1937 = arg7[3] * local1919 + arg7[4] * local1923 + arg7[5] * local1927 + 16384 >> 15; local657 = arg7[6] * local1919 + arg7[7] * local1923 + arg7[8] * local1927 + 16384 >> 15; local652 += local18; local1937 += local26; local657 += local33; for (local662 = 0; local662 < local2; local662++) { local667 = arg1[local662]; if (local667 < this.anIntArrayArray36.length) { local789 = this.anIntArrayArray36[local667]; for (local791 = 0; local791 < local789.length; local791++) { local796 = local789[local791]; if (this.aShortArray84 == null || (arg6 & this.aShortArray84[local796]) != 0) { local801 = local1930[0] * this.anIntArray461[local796] + local1930[1] * this.anIntArray465[local796] + local1930[2] * this.anIntArray466[local796] + 16384 >> 15; local803 = local1930[3] * this.anIntArray461[local796] + local1930[4] * this.anIntArray465[local796] + local1930[5] * this.anIntArray466[local796] + 16384 >> 15; local929 = local1930[6] * this.anIntArray461[local796] + local1930[7] * this.anIntArray465[local796] + local1930[8] * this.anIntArray466[local796] + 16384 >> 15; @Pc(2198) int local2198 = local801 + local652; @Pc(2202) int local2202 = local803 + local1937; @Pc(2206) int local2206 = local929 + local657; this.anIntArray461[local796] = local2198; this.anIntArray465[local796] = local2202; this.anIntArray466[local796] = local2206; } } } } } } else if (arg0 == 5) { if (this.anIntArrayArray37 != null && this.aByteArray71 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray37.length) { local228 = this.anIntArrayArray37[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray78 == null || (arg6 & this.aShortArray78[local45]) != 0) { local53 = (this.aByteArray71[local45] & 0xFF) + arg2 * 8; if (local53 < 0) { local53 = 0; } else if (local53 > 255) { local53 = 255; } this.aByteArray71[local45] = (byte) local53; } } if (local228.length > 0) { this.aClass127_1.valid = false; } } } } } else if (arg0 == 7 && this.anIntArrayArray37 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray37.length) { local228 = this.anIntArrayArray37[local26]; for (local230 = 0; local230 < local228.length; local230++) { local45 = local228[local230]; if (this.aShortArray78 == null || (arg6 & this.aShortArray78[local45]) != 0) { local53 = this.aShortArray75[local45] & 0xFFFF; local343 = local53 >> 10 & 0x3F; local365 = local53 >> 7 & 0x7; local387 = local53 & 0x7F; @Pc(2518) int local2518 = local343 + arg2 & 0x3F; local365 += arg3 / 4; if (local365 < 0) { local365 = 0; } else if (local365 > 7) { local365 = 7; } local387 += arg4; if (local387 < 0) { local387 = 0; } else if (local387 > 127) { local387 = 127; } this.aShortArray75[local45] = (short) (local2518 << 10 | local365 << 7 | local387); } } if (local228.length > 0) { this.aClass127_1.valid = false; } } } } } @OriginalMember(owner = "client!td", name = "b", descriptor = "()I") @Override public final int method4549() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort2; } @OriginalMember(owner = "client!td", name = "o", descriptor = "()V") public final void method4099() { @Pc(5) int[] local5; @Pc(7) int local7; @Pc(24) int local24; @Pc(9) int local9; @Pc(20) int local20; if (this.anIntArray464 != null) { local5 = new int[256]; local7 = 0; for (local9 = 0; local9 < this.vertexCount; local9++) { local20 = this.anIntArray464[local9] & 0xFF; local24 = local5[local20]++; if (local20 > local7) { local7 = local20; } } this.anIntArrayArray36 = new int[local7 + 1][]; for (local9 = 0; local9 <= local7; local9++) { this.anIntArrayArray36[local9] = new int[local5[local9]]; local5[local9] = 0; } local9 = 0; while (local9 < this.vertexCount) { local20 = this.anIntArray464[local9] & 0xFF; this.anIntArrayArray36[local20][local5[local20]++] = local9++; } this.anIntArray464 = null; } if (this.aByteArray72 == null) { return; } local5 = new int[256]; local7 = 0; for (local9 = 0; local9 < this.anInt5297; local9++) { local20 = this.aByteArray72[local9] & 0xFF; local24 = local5[local20]++; if (local20 > local7) { local7 = local20; } } this.anIntArrayArray37 = new int[local7 + 1][]; for (local9 = 0; local9 <= local7; local9++) { this.anIntArrayArray37[local9] = new int[local5[local9]]; local5[local9] = 0; } local9 = 0; while (local9 < this.anInt5297) { local20 = this.aByteArray72[local9] & 0xFF; this.anIntArrayArray37[local20][local5[local20]++] = local9++; } this.aByteArray72 = null; } @OriginalMember(owner = "client!td", name = "e", descriptor = "(I)V") public final void method4100(@OriginalArg(0) int arg0) { this.aShort28 = (short) arg0; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } @OriginalMember(owner = "client!td", name = "p", descriptor = "()V") public final void method4102() { if (this.aShortArray76 == null) { this.method4552(); return; } @Pc(7) int local7; for (local7 = 0; local7 < this.vertexCount; local7++) { this.anIntArray461[local7] = -this.anIntArray461[local7]; this.anIntArray466[local7] = -this.anIntArray466[local7]; } for (local7 = 0; local7 < this.anInt5296; local7++) { this.aShortArray76[local7] = (short) -this.aShortArray76[local7]; this.aShortArray85[local7] = (short) -this.aShortArray85[local7]; } this.vertexBuffer.valid = false; this.bounds.valid = false; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } @OriginalMember(owner = "client!td", name = "b", descriptor = "(III)V") @Override public final void resize(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { this.anIntArray461[local1] = this.anIntArray461[local1] * arg0 >> 7; this.anIntArray465[local1] = this.anIntArray465[local1] * arg1 >> 7; this.anIntArray466[local1] = this.anIntArray466[local1] * arg2 >> 7; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "c", descriptor = "(ZZZ)Lclient!ak;") @Override public final Model method4572(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2) { return this.method4114(arg0, arg1, arg2, Static237.aClass8_Sub1_Sub1_2, Static237.aClass8_Sub1_Sub1_1); } @OriginalMember(owner = "client!td", name = "e", descriptor = "()V") @Override public final void method4552() { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { this.anIntArray461[local1] = -this.anIntArray461[local1]; this.anIntArray466[local1] = -this.anIntArray466[local1]; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "q", descriptor = "()V") private void method4103() { if (Static237.aClass3_Sub15_8.data.length < this.anInt5296 * 12) { Static237.aClass3_Sub15_8 = new Buffer((this.anInt5296 + 100) * 12); } else { Static237.aClass3_Sub15_8.offset = 0; } @Pc(25) int local25; if (GlRenderer.bigEndian) { for (local25 = 0; local25 < this.anInt5297; local25++) { Static237.aClass3_Sub15_8.p4(this.aShortArray77[local25]); Static237.aClass3_Sub15_8.p4(this.aShortArray82[local25]); Static237.aClass3_Sub15_8.p4(this.aShortArray83[local25]); } } else { for (local25 = 0; local25 < this.anInt5297; local25++) { Static237.aClass3_Sub15_8.p4le(this.aShortArray77[local25]); Static237.aClass3_Sub15_8.p4le(this.aShortArray82[local25]); Static237.aClass3_Sub15_8.p4le(this.aShortArray83[local25]); } } if (!GlRenderer.arbVboSupported) { @Pc(115) ByteBuffer local115 = ByteBuffer.allocateDirect(Static237.aClass3_Sub15_8.offset); local115.put(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); local115.flip(); this.aClass127_5.valid = true; this.aClass127_5.aByteBuffer8 = local115; this.aClass127_5.aClass155_4 = null; return; } @Pc(88) GlVertexBufferObject local88 = new GlVertexBufferObject(); @Pc(95) ByteBuffer local95 = ByteBuffer.wrap(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); local88.method4519(local95); this.aClass127_5.valid = true; this.aClass127_5.aByteBuffer8 = null; this.aClass127_5.aClass155_4 = local88; } @OriginalMember(owner = "client!td", name = "f", descriptor = "(I)V") public final void method4105(@OriginalArg(0) int arg0) { this.aShort29 = (short) arg0; this.aClass127_1.valid = false; } @OriginalMember(owner = "client!td", name = "d", descriptor = "()Z") @Override protected final boolean method4551() { if (this.anIntArrayArray36 == null) { return false; } for (@Pc(6) int local6 = 0; local6 < this.vertexCount; local6++) { this.anIntArray461[local6] <<= 0x4; this.anIntArray465[local6] <<= 0x4; this.anIntArray466[local6] <<= 0x4; } Static237.anInt5298 = 0; Static237.anInt5300 = 0; Static237.anInt5299 = 0; return true; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(SS)V") public final void method4107(@OriginalArg(0) short arg0, @OriginalArg(1) short arg1) { @Pc(1) int local1; for (local1 = 0; local1 < this.anInt5297; local1++) { if (this.aShortArray80[local1] == arg0) { this.aShortArray80[local1] = arg1; } } local1 = 0; @Pc(22) int local22 = 0; if (arg0 != -1) { local1 = Rasteriser.textureProvider.method3238(arg0 & 0xFFFF); local22 = Rasteriser.textureProvider.method3229(arg0 & 0xFFFF); } @Pc(41) int local41 = 0; @Pc(43) int local43 = 0; if (arg1 != -1) { local41 = Rasteriser.textureProvider.method3238(arg1 & 0xFFFF); local43 = Rasteriser.textureProvider.method3229(arg1 & 0xFFFF); } if (local1 != local41 || local22 != local43) { this.aClass127_1.valid = false; } } @OriginalMember(owner = "client!td", name = "s", descriptor = "()V") private void method4108() { @Pc(1) int local1 = 32767; @Pc(3) int local3 = 32767; @Pc(5) int local5 = 32767; @Pc(7) int local7 = -32768; @Pc(9) int local9 = -32768; @Pc(11) int local11 = -32768; @Pc(13) int local13 = 0; @Pc(15) int local15 = 0; for (@Pc(17) int local17 = 0; local17 < this.vertexCount; local17++) { @Pc(26) int local26 = this.anIntArray461[local17]; @Pc(31) int local31 = this.anIntArray465[local17]; @Pc(36) int local36 = this.anIntArray466[local17]; if (local26 < local1) { local1 = local26; } if (local26 > local7) { local7 = local26; } if (local31 < local3) { local3 = local31; } if (local31 > local9) { local9 = local31; } if (local36 < local5) { local5 = local36; } if (local36 > local11) { local11 = local36; } @Pc(74) int local74 = local26 * local26 + local36 * local36; if (local74 > local13) { local13 = local74; } local74 = local26 * local26 + local36 * local36 + local31 * local31; if (local74 > local15) { local15 = local74; } } this.vertexBuffer.aShort6 = (short) local1; this.vertexBuffer.aShort5 = (short) local7; this.vertexBuffer.aShort2 = (short) local3; this.vertexBuffer.aShort3 = (short) local9; this.vertexBuffer.aShort8 = (short) local5; this.vertexBuffer.aShort7 = (short) local11; this.vertexBuffer.aShort4 = (short) (Math.sqrt((double) local13) + 0.99D); Math.sqrt((double) local15); this.vertexBuffer.valid = true; } @OriginalMember(owner = "client!td", name = "b", descriptor = "(SS)V") public final void method4109(@OriginalArg(0) short arg0, @OriginalArg(1) short arg1) { for (@Pc(1) int local1 = 0; local1 < this.anInt5297; local1++) { if (this.aShortArray75[local1] == arg0) { this.aShortArray75[local1] = arg1; } } this.aClass127_1.valid = false; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(IILclient!td;[[I[[IIII)V") public final void method4110(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) GlModel arg2, @OriginalArg(3) int[][] arg3, @OriginalArg(4) int[][] arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7) { if (!arg2.vertexBuffer.valid) { arg2.method4108(); } @Pc(11) int local11 = arg5 + arg2.vertexBuffer.aShort6; @Pc(17) int local17 = arg5 + arg2.vertexBuffer.aShort5; @Pc(23) int local23 = arg7 + arg2.vertexBuffer.aShort8; @Pc(29) int local29 = arg7 + arg2.vertexBuffer.aShort7; if ((arg0 == 1 || arg0 == 2 || arg0 == 3 || arg0 == 5) && (local11 < 0 || local17 + 128 >> 7 >= arg3.length || local23 < 0 || local29 + 128 >> 7 >= arg3[0].length)) { return; } if (arg0 == 4 || arg0 == 5) { if (arg4 == null) { return; } if (local11 < 0 || local17 + 128 >> 7 >= arg4.length || local23 < 0 || local29 + 128 >> 7 >= arg4[0].length) { return; } } else { local11 >>= 0x7; local17 = local17 + 127 >> 7; local23 >>= 0x7; local29 = local29 + 127 >> 7; if (arg3[local11][local23] == arg6 && arg3[local17][local23] == arg6 && arg3[local11][local29] == arg6 && arg3[local17][local29] == arg6) { return; } } @Pc(150) int local150; @Pc(161) int local161; @Pc(168) int local168; @Pc(172) int local172; @Pc(176) int local176; @Pc(180) int local180; @Pc(184) int local184; @Pc(206) int local206; @Pc(232) int local232; @Pc(244) int local244; if (arg0 == 1) { for (local150 = 0; local150 < this.vertexCount; local150++) { local161 = this.anIntArray461[local150] + arg5; local168 = this.anIntArray466[local150] + arg7; local172 = local161 & 0x7F; local176 = local168 & 0x7F; local180 = local161 >> 7; local184 = local168 >> 7; local206 = arg3[local180][local184] * (128 - local172) + arg3[local180 + 1][local184] * local172 >> 7; local232 = arg3[local180][local184 + 1] * (128 - local172) + arg3[local180 + 1][local184 + 1] * local172 >> 7; local244 = local206 * (128 - local176) + local232 * local176 >> 7; this.anIntArray465[local150] = this.anIntArray465[local150] + local244 - arg6; } } else { @Pc(362) int local362; @Pc(374) int local374; if (arg0 == 2) { @Pc(266) short local266 = arg2.vertexBuffer.aShort2; for (local161 = 0; local161 < this.vertexCount; local161++) { local168 = (this.anIntArray465[local161] << 16) / local266; if (local168 < arg1) { local172 = this.anIntArray461[local161] + arg5; local176 = this.anIntArray466[local161] + arg7; local180 = local172 & 0x7F; local184 = local176 & 0x7F; local206 = local172 >> 7; local232 = local176 >> 7; local244 = arg3[local206][local232] * (128 - local180) + arg3[local206 + 1][local232] * local180 >> 7; local362 = arg3[local206][local232 + 1] * (128 - local180) + arg3[local206 + 1][local232 + 1] * local180 >> 7; local374 = local244 * (128 - local184) + local362 * local184 >> 7; this.anIntArray465[local161] += (local374 - arg6) * (arg1 - local168) / arg1; } } } else if (arg0 == 3) { local150 = (arg1 & 0xFF) * 4; local161 = (arg1 >> 8 & 0xFF) * 4; this.method4573(arg3, arg5, arg6, arg7, local150, local161); } else if (arg0 == 4) { local150 = arg2.vertexBuffer.aShort3 - arg2.vertexBuffer.aShort2; for (local161 = 0; local161 < this.vertexCount; local161++) { local168 = this.anIntArray461[local161] + arg5; local172 = this.anIntArray466[local161] + arg7; local176 = local168 & 0x7F; local180 = local172 & 0x7F; local184 = local168 >> 7; local206 = local172 >> 7; local232 = arg4[local184][local206] * (128 - local176) + arg4[local184 + 1][local206] * local176 >> 7; local244 = arg4[local184][local206 + 1] * (128 - local176) + arg4[local184 + 1][local206 + 1] * local176 >> 7; local362 = local232 * (128 - local180) + local244 * local180 >> 7; this.anIntArray465[local161] = this.anIntArray465[local161] + local362 + local150 - arg6; } } else if (arg0 == 5) { local150 = arg2.vertexBuffer.aShort3 - arg2.vertexBuffer.aShort2; for (local161 = 0; local161 < this.vertexCount; local161++) { local168 = this.anIntArray461[local161] + arg5; local172 = this.anIntArray466[local161] + arg7; local176 = local168 & 0x7F; local180 = local172 & 0x7F; local184 = local168 >> 7; local206 = local172 >> 7; local232 = arg3[local184][local206] * (128 - local176) + arg3[local184 + 1][local206] * local176 >> 7; local244 = arg3[local184][local206 + 1] * (128 - local176) + arg3[local184 + 1][local206 + 1] * local176 >> 7; local362 = local232 * (128 - local180) + local244 * local180 >> 7; local232 = arg4[local184][local206] * (128 - local176) + arg4[local184 + 1][local206] * local176 >> 7; local244 = arg4[local184][local206 + 1] * (128 - local176) + arg4[local184 + 1][local206 + 1] * local176 >> 7; local374 = local232 * (128 - local180) + local244 * local180 >> 7; @Pc(716) int local716 = local362 - local374; this.anIntArray465[local161] = ((this.anIntArray465[local161] << 8) / local150 * local716 >> 8) - (arg6 - local362); } } } this.bounds.valid = false; this.vertexBuffer.valid = false; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(ZZZZZZZ)V") public final void method4111(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2, @OriginalArg(4) boolean arg3, @OriginalArg(5) boolean arg4, @OriginalArg(6) boolean arg5) { if (this.aByte18 != 0) { throw new IllegalArgumentException(); } else if (this.anInt5296 != 0) { if (arg5) { @Pc(26) boolean local26 = !this.aClass127_1.valid && (arg1 || arg2 && !Preferences.highDetailLighting); this.method4113(false, !this.bounds.valid && arg0, local26, this.aClass127_2 != null && !this.aClass127_2.valid && arg2, !this.aClass127_3.valid); if (!this.aClass127_5.valid && arg3 && arg1) { this.method4103(); } } if (arg0) { if (this.bounds.valid) { if (!this.vertexBuffer.valid) { this.method4108(); } this.anIntArray461 = null; this.anIntArray465 = null; this.anIntArray466 = null; this.aShortArray81 = null; this.anIntArray462 = null; } else { this.aByte19 = (byte) (this.aByte19 | 0x1); } } if (arg1) { if (this.aClass127_1.valid) { this.aShortArray75 = null; this.aByteArray71 = null; } else { this.aByte19 = (byte) (this.aByte19 | 0x2); } } if (arg2 && Preferences.highDetailLighting) { if (this.aClass127_2.valid) { this.aShortArray76 = null; this.aShortArray79 = null; this.aShortArray85 = null; this.aShortArray86 = null; } else { this.aByte19 = (byte) (this.aByte19 | 0x4); } } if (this.aClass127_3.valid) { this.aFloatArray25 = null; this.aFloatArray26 = null; } else { this.aByte19 = (byte) (this.aByte19 | 0x8); } if (arg3 && arg1) { if (this.aClass127_5.valid && this.aClass127_1.valid) { this.aShortArray77 = null; this.aShortArray82 = null; this.aShortArray83 = null; } else { this.aByte19 = (byte) (this.aByte19 | 0x10); } } if (arg4) { this.anIntArray464 = null; this.aByteArray72 = null; this.anIntArrayArray36 = null; this.anIntArrayArray37 = null; } } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(ZZZZZ)V") private void method4113(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) boolean arg4) { @Pc(1) int local1 = 0; if (arg1) { this.bounds.anInt4777 = 0; local1 += 12; } if (arg2) { this.aClass127_1.anInt4777 = local1; local1 += 4; } if (arg3) { this.aClass127_2.anInt4777 = local1; local1 += 12; } if (arg4) { this.aClass127_3.anInt4777 = local1; local1 += 8; } if (local1 == 0) { return; } if (Static237.aClass3_Sub15_8.data.length < this.anInt5296 * local1) { Static237.aClass3_Sub15_8 = new Buffer((this.anInt5296 + 100) * local1); } else { Static237.aClass3_Sub15_8.offset = 0; } @Pc(60) int local60; @Pc(71) int local71; @Pc(78) int local78; @Pc(85) int local85; @Pc(90) int local90; @Pc(97) int local97; @Pc(99) int local99; if (arg1) { @Pc(109) int local109; if (GlRenderer.bigEndian) { for (local60 = 0; local60 < this.vertexCount; local60++) { local71 = Float.floatToRawIntBits((float) this.anIntArray461[local60]); local78 = Float.floatToRawIntBits((float) this.anIntArray465[local60]); local85 = Float.floatToRawIntBits((float) this.anIntArray466[local60]); local90 = this.anIntArray462[local60]; local97 = this.anIntArray462[local60 + 1]; for (local99 = local90; local99 < local97; local99++) { local109 = this.aShortArray81[local99] - 1; if (local109 == -1) { break; } Static237.aClass3_Sub15_8.offset = local109 * local1; Static237.aClass3_Sub15_8.p4(local71); Static237.aClass3_Sub15_8.p4(local78); Static237.aClass3_Sub15_8.p4(local85); } } } else { for (local60 = 0; local60 < this.vertexCount; local60++) { local71 = Float.floatToRawIntBits((float) this.anIntArray461[local60]); local78 = Float.floatToRawIntBits((float) this.anIntArray465[local60]); local85 = Float.floatToRawIntBits((float) this.anIntArray466[local60]); local90 = this.anIntArray462[local60]; local97 = this.anIntArray462[local60 + 1]; for (local99 = local90; local99 < local97; local99++) { local109 = this.aShortArray81[local99] - 1; if (local109 == -1) { break; } Static237.aClass3_Sub15_8.offset = local109 * local1; Static237.aClass3_Sub15_8.p4le(local71); Static237.aClass3_Sub15_8.p4le(local78); Static237.aClass3_Sub15_8.p4le(local85); } } } } if (arg2) { if (Preferences.highDetailLighting) { for (local60 = 0; local60 < this.anInt5297; local60++) { local71 = Static237.method4096(this.aShortArray75[local60], this.aShortArray80[local60], this.aShort29, this.aByteArray71[local60]); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + this.aShortArray77[local60] * local1; Static237.aClass3_Sub15_8.p4(local71); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + this.aShortArray82[local60] * local1; Static237.aClass3_Sub15_8.p4(local71); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + this.aShortArray83[local60] * local1; Static237.aClass3_Sub15_8.p4(local71); } } else { local60 = (int) Static161.aFloatArray18[0]; local71 = (int) Static161.aFloatArray18[1]; local78 = (int) Static161.aFloatArray18[2]; local85 = (int) Math.sqrt((double) (local60 * local60 + local71 * local71 + local78 * local78)); local90 = (int) ((float) this.aShort29 * 1.3F); local97 = this.aShort28 * local85 >> 8; for (local99 = 0; local99 < this.anInt5297; local99++) { @Pc(270) short local270 = this.aShortArray77[local99]; @Pc(275) short local275 = this.aShortArray86[local270]; @Pc(281) int local281; if (local275 < 0) { local281 = -local275 - 1; } else { if (local275 == 0) { local281 = local90 + (local60 * this.aShortArray76[local270] + local71 * this.aShortArray79[local270] + local78 * this.aShortArray85[local270]) / (local97 + local97 / 2); } else { local281 = local90 + (local60 * this.aShortArray76[local270] + local71 * this.aShortArray79[local270] + local78 * this.aShortArray85[local270]) / (local97 * local275); } if (local281 < 0) { local281 = 0; } else if (local281 > 16384) { local281 = 16384; } this.aShortArray86[local270] = (short) (-local281 - 1); } @Pc(364) short local364 = this.aShortArray82[local99]; @Pc(369) short local369 = this.aShortArray86[local364]; @Pc(375) int local375; if (local369 < 0) { local375 = -local369 - 1; } else { if (local369 == 0) { local375 = local90 + (local60 * this.aShortArray76[local364] + local71 * this.aShortArray79[local364] + local78 * this.aShortArray85[local364]) / (local97 + local97 / 2); } else { local375 = local90 + (local60 * this.aShortArray76[local364] + local71 * this.aShortArray79[local364] + local78 * this.aShortArray85[local364]) / (local97 * local369); } if (local375 < 0) { local375 = 0; } else if (local375 > 16384) { local375 = 16384; } this.aShortArray86[local364] = (short) (-local375 - 1); } @Pc(458) short local458 = this.aShortArray83[local99]; @Pc(463) short local463 = this.aShortArray86[local458]; @Pc(469) int local469; if (local463 < 0) { local469 = -local463 - 1; } else { if (local463 == 0) { local469 = local90 + (local60 * this.aShortArray76[local458] + local71 * this.aShortArray79[local458] + local78 * this.aShortArray85[local458]) / (local97 + local97 / 2); } else { local469 = local90 + (local60 * this.aShortArray76[local458] + local71 * this.aShortArray79[local458] + local78 * this.aShortArray85[local458]) / (local97 * local463); } if (local469 < 0) { local469 = 0; } else if (local469 > 16384) { local469 = 16384; } this.aShortArray86[local458] = (short) (-local469 - 1); } @Pc(562) int local562 = Static237.method4096(this.aShortArray75[local99], this.aShortArray80[local99], local281, this.aByteArray71[local99]); @Pc(577) int local577 = Static237.method4096(this.aShortArray75[local99], this.aShortArray80[local99], local375, this.aByteArray71[local99]); @Pc(592) int local592 = Static237.method4096(this.aShortArray75[local99], this.aShortArray80[local99], local469, this.aByteArray71[local99]); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + local270 * local1; Static237.aClass3_Sub15_8.p4(local562); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + local364 * local1; Static237.aClass3_Sub15_8.p4(local577); Static237.aClass3_Sub15_8.offset = this.aClass127_1.anInt4777 + local458 * local1; Static237.aClass3_Sub15_8.p4(local592); } this.aShortArray76 = null; this.aShortArray79 = null; this.aShortArray85 = null; } } if (arg3) { @Pc(723) float local723 = 3.0F / (float) this.aShort28; @Pc(734) float local734 = 3.0F / (float) (this.aShort28 + this.aShort28 / 2); Static237.aClass3_Sub15_8.offset = this.aClass127_2.anInt4777; @Pc(752) short local752; @Pc(790) float local790; if (GlRenderer.bigEndian) { for (local78 = 0; local78 < this.anInt5296; local78++) { local752 = this.aShortArray86[local78]; if (local752 == 0) { Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray76[local78] * local734); Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray79[local78] * local734); Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray85[local78] * local734); } else { local790 = local723 / (float) local752; Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray76[local78] * local790); Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray79[local78] * local790); Static237.aClass3_Sub15_8.pFloat((float) this.aShortArray85[local78] * local790); } Static237.aClass3_Sub15_8.offset += local1 - 12; } } else { for (local78 = 0; local78 < this.anInt5296; local78++) { local752 = this.aShortArray86[local78]; if (local752 == 0) { Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray76[local78] * local734); Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray79[local78] * local734); Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray85[local78] * local734); } else { local790 = local723 / (float) local752; Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray76[local78] * local790); Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray79[local78] * local790); Static237.aClass3_Sub15_8.gFloat((float) this.aShortArray85[local78] * local790); } Static237.aClass3_Sub15_8.offset += local1 - 12; } } } if (arg4) { Static237.aClass3_Sub15_8.offset = this.aClass127_3.anInt4777; if (GlRenderer.bigEndian) { for (local60 = 0; local60 < this.anInt5296; local60++) { Static237.aClass3_Sub15_8.pFloat(this.aFloatArray25[local60]); Static237.aClass3_Sub15_8.pFloat(this.aFloatArray26[local60]); Static237.aClass3_Sub15_8.offset += local1 - 8; } } else { for (local60 = 0; local60 < this.anInt5296; local60++) { Static237.aClass3_Sub15_8.gFloat(this.aFloatArray25[local60]); Static237.aClass3_Sub15_8.gFloat(this.aFloatArray26[local60]); Static237.aClass3_Sub15_8.offset += local1 - 8; } } } Static237.aClass3_Sub15_8.offset = local1 * this.anInt5296; @Pc(1007) ByteBuffer local1007; if (arg0) { if (arbVboSupported) { local1007 = ByteBuffer.wrap(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); if (this.aClass155_5 == null) { this.aClass155_5 = new GlVertexBufferObject(true); this.aClass155_5.method4519(local1007); } else { this.aClass155_5.method4515(local1007); } if (arg1) { this.bounds.valid = true; this.bounds.aByteBuffer8 = null; this.bounds.aClass155_4 = this.aClass155_5; this.bounds.anInt4782 = local1; } if (arg2) { this.aClass127_1.valid = true; this.aClass127_1.aByteBuffer8 = null; this.aClass127_1.aClass155_4 = this.aClass155_5; this.aClass127_1.anInt4782 = local1; } if (arg3) { this.aClass127_2.valid = true; this.aClass127_2.aByteBuffer8 = null; this.aClass127_2.aClass155_4 = this.aClass155_5; this.aClass127_2.anInt4782 = local1; } if (arg4) { this.aClass127_3.valid = true; this.aClass127_3.aByteBuffer8 = null; this.aClass127_3.aClass155_4 = this.aClass155_5; this.aClass127_3.anInt4782 = local1; } } else { if (Static237.aByteBuffer9 == null || Static237.aByteBuffer9.capacity() < Static237.aClass3_Sub15_8.offset) { Static237.aByteBuffer9 = ByteBuffer.allocateDirect(Static237.aClass3_Sub15_8.offset + local1 * 100); } else { Static237.aByteBuffer9.clear(); } Static237.aByteBuffer9.put(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); Static237.aByteBuffer9.flip(); if (arg1) { this.bounds.valid = true; this.bounds.aByteBuffer8 = Static237.aByteBuffer9; this.bounds.aClass155_4 = null; this.bounds.anInt4782 = local1; } if (arg2) { this.aClass127_1.valid = true; this.aClass127_1.aByteBuffer8 = Static237.aByteBuffer9; this.bounds.aClass155_4 = null; this.aClass127_1.anInt4782 = local1; } if (arg3) { this.aClass127_2.valid = true; this.aClass127_2.aByteBuffer8 = Static237.aByteBuffer9; this.aClass127_2.aClass155_4 = null; this.aClass127_2.anInt4782 = local1; } if (arg4) { this.aClass127_3.valid = true; this.aClass127_3.aByteBuffer8 = Static237.aByteBuffer9; this.aClass127_3.aClass155_4 = null; this.aClass127_3.anInt4782 = local1; } } } else if (GlRenderer.arbVboSupported) { @Pc(1211) GlVertexBufferObject local1211 = new GlVertexBufferObject(); @Pc(1218) ByteBuffer local1218 = ByteBuffer.wrap(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); local1211.method4519(local1218); if (arg1) { this.bounds.valid = true; this.bounds.aByteBuffer8 = null; this.bounds.aClass155_4 = local1211; this.bounds.anInt4782 = local1; } if (arg2) { this.aClass127_1.valid = true; this.aClass127_1.aByteBuffer8 = null; this.aClass127_1.aClass155_4 = local1211; this.aClass127_1.anInt4782 = local1; } if (arg3) { this.aClass127_2.valid = true; this.aClass127_2.aByteBuffer8 = null; this.aClass127_2.aClass155_4 = local1211; this.aClass127_2.anInt4782 = local1; } if (arg4) { this.aClass127_3.valid = true; this.aClass127_3.aByteBuffer8 = null; this.aClass127_3.aClass155_4 = local1211; this.aClass127_3.anInt4782 = local1; } } else { local1007 = ByteBuffer.allocateDirect(Static237.aClass3_Sub15_8.offset); local1007.put(Static237.aClass3_Sub15_8.data, 0, Static237.aClass3_Sub15_8.offset); local1007.flip(); if (arg1) { this.bounds.valid = true; this.bounds.aByteBuffer8 = local1007; this.bounds.aClass155_4 = null; this.bounds.anInt4782 = local1; } if (arg2) { this.aClass127_1.valid = true; this.aClass127_1.aByteBuffer8 = local1007; this.bounds.aClass155_4 = null; this.aClass127_1.anInt4782 = local1; } if (arg3) { this.aClass127_2.valid = true; this.aClass127_2.aByteBuffer8 = local1007; this.aClass127_2.aClass155_4 = null; this.aClass127_2.anInt4782 = local1; } if (arg4) { this.aClass127_3.valid = true; this.aClass127_3.aByteBuffer8 = local1007; this.aClass127_3.aClass155_4 = null; this.aClass127_3.anInt4782 = local1; } } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(ZZZLclient!td;Lclient!td;)Lclient!ak;") private Model method4114(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2, @OriginalArg(3) GlModel arg3, @OriginalArg(4) GlModel arg4) { arg3.vertexCount = this.vertexCount; arg3.anInt5296 = this.anInt5296; arg3.anInt5297 = this.anInt5297; arg3.aShort29 = this.aShort29; arg3.aShort28 = this.aShort28; arg3.aByte18 = (byte) ((arg0 && arg1 ? 0 : 2) | 0x1 | (arg2 ? 0 : 4)); if (arg3.anIntArray461 == null || arg3.anIntArray461.length < this.vertexCount) { arg3.anIntArray461 = new int[this.vertexCount + 100]; arg3.anIntArray465 = new int[this.vertexCount + 100]; arg3.anIntArray466 = new int[this.vertexCount + 100]; } @Pc(69) int local69; for (local69 = 0; local69 < this.vertexCount; local69++) { arg3.anIntArray461[local69] = this.anIntArray461[local69]; arg3.anIntArray465[local69] = this.anIntArray465[local69]; arg3.anIntArray466[local69] = this.anIntArray466[local69]; } if (arg3.bounds == null) { arg3.bounds = new GlBuffer(); } arg3.bounds.valid = false; if (arg3.vertexBuffer == null) { arg3.vertexBuffer = new Class5(); } arg3.vertexBuffer.valid = false; if (arg0) { arg3.aByteArray71 = this.aByteArray71; } else { if (arg4.aByteArray71 == null || arg4.aByteArray71.length < this.anInt5297) { arg4.aByteArray71 = new byte[this.anInt5297 + 100]; } arg3.aByteArray71 = arg4.aByteArray71; for (local69 = 0; local69 < this.anInt5297; local69++) { arg3.aByteArray71[local69] = this.aByteArray71[local69]; } } if (arg1) { arg3.aShortArray75 = this.aShortArray75; } else { if (arg4.aShortArray75 == null || arg4.aShortArray75.length < this.anInt5297) { arg4.aShortArray75 = new short[this.anInt5297 + 100]; } arg3.aShortArray75 = arg4.aShortArray75; for (local69 = 0; local69 < this.anInt5297; local69++) { arg3.aShortArray75[local69] = this.aShortArray75[local69]; } } if (arg0 && arg1) { arg3.aClass127_1 = this.aClass127_1; } else { if (arg4.aClass127_1 == null) { arg4.aClass127_1 = new GlBuffer(); } arg3.aClass127_1 = arg4.aClass127_1; arg3.aClass127_1.valid = false; } if (arg2 || this.aShortArray76 == null) { arg3.aShortArray76 = this.aShortArray76; arg3.aShortArray79 = this.aShortArray79; arg3.aShortArray85 = this.aShortArray85; arg3.aShortArray86 = this.aShortArray86; arg3.aClass127_2 = this.aClass127_2; } else { if (arg4.aShortArray76 == null || arg4.aShortArray76.length < this.anInt5296) { arg4.aShortArray76 = new short[this.anInt5296 + 100]; arg4.aShortArray79 = new short[this.anInt5296 + 100]; arg4.aShortArray85 = new short[this.anInt5296 + 100]; arg4.aShortArray86 = new short[this.anInt5296 + 100]; } arg3.aShortArray76 = arg4.aShortArray76; arg3.aShortArray79 = arg4.aShortArray79; arg3.aShortArray85 = arg4.aShortArray85; arg3.aShortArray86 = arg4.aShortArray86; for (local69 = 0; local69 < this.anInt5296; local69++) { arg3.aShortArray76[local69] = this.aShortArray76[local69]; arg3.aShortArray79[local69] = this.aShortArray79[local69]; arg3.aShortArray85[local69] = this.aShortArray85[local69]; arg3.aShortArray86[local69] = this.aShortArray86[local69]; } if (Preferences.highDetailLighting) { if (arg4.aClass127_2 == null) { arg4.aClass127_2 = new GlBuffer(); } arg3.aClass127_2 = arg4.aClass127_2; arg3.aClass127_2.valid = false; } else { arg3.aClass127_2 = null; } } arg3.aFloatArray25 = this.aFloatArray25; arg3.aFloatArray26 = this.aFloatArray26; arg3.anIntArray464 = this.anIntArray464; arg3.anIntArrayArray36 = this.anIntArrayArray36; arg3.aShortArray77 = this.aShortArray77; arg3.aShortArray82 = this.aShortArray82; arg3.aShortArray83 = this.aShortArray83; arg3.aShortArray80 = this.aShortArray80; arg3.aByteArray72 = this.aByteArray72; arg3.anIntArrayArray37 = this.anIntArrayArray37; arg3.aClass127_3 = this.aClass127_3; arg3.aClass127_5 = this.aClass127_5; arg3.anIntArray463 = this.anIntArray463; arg3.aShortArray81 = this.aShortArray81; arg3.anIntArray462 = this.anIntArray462; arg3.aBoolean303 = this.aBoolean303; arg3.aShortArray84 = this.aShortArray84; arg3.aShortArray78 = this.aShortArray78; return arg3; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(III)Lclient!th;") @Override public final Entity method4539() { this.aBoolean259 = false; if (this.aClass23_1 != null) { this.aShortArray76 = this.aClass23_1.aShortArray8; this.aShortArray79 = this.aClass23_1.aShortArray10; this.aShortArray85 = this.aClass23_1.aShortArray9; this.aShortArray86 = this.aClass23_1.aShortArray7; this.aClass23_1 = null; } return this; } @OriginalMember(owner = "client!td", name = "t", descriptor = "()I") public final int method4115() { return this.aShort28; } @OriginalMember(owner = "client!td", name = "u", descriptor = "()V") public final void method4116() { if (this.aShortArray76 == null) { this.method4563(); return; } @Pc(7) int local7; for (local7 = 0; local7 < this.vertexCount; local7++) { @Pc(16) int local16 = this.anIntArray461[local7]; this.anIntArray461[local7] = this.anIntArray466[local7]; this.anIntArray466[local7] = -local16; } for (local7 = 0; local7 < this.anInt5296; local7++) { @Pc(43) short local43 = this.aShortArray76[local7]; this.aShortArray76[local7] = this.aShortArray85[local7]; this.aShortArray85[local7] = (short) -local43; } this.vertexBuffer.valid = false; this.bounds.valid = false; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(ZZZZZZZZZZZ)Lclient!td;") public final GlModel method4117(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) boolean arg2, @OriginalArg(4) boolean arg3, @OriginalArg(5) boolean arg4, @OriginalArg(6) boolean arg5, @OriginalArg(7) boolean arg6, @OriginalArg(9) boolean arg7, @OriginalArg(10) boolean arg8) { @Pc(3) GlModel local3 = new GlModel(); local3.vertexCount = this.vertexCount; local3.anInt5296 = this.anInt5296; local3.anInt5297 = this.anInt5297; if (arg0) { local3.anIntArray461 = this.anIntArray461; local3.anIntArray466 = this.anIntArray466; } else { local3.anIntArray461 = Static115.method2308(this.anIntArray461); local3.anIntArray466 = Static115.method2308(this.anIntArray466); } if (arg1) { local3.anIntArray465 = this.anIntArray465; } else { local3.anIntArray465 = Static115.method2308(this.anIntArray465); } if (arg0 && arg1) { local3.bounds = this.bounds; local3.vertexBuffer = this.vertexBuffer; } else { local3.bounds = new GlBuffer(); local3.vertexBuffer = new Class5(); } if (arg2) { local3.aShortArray75 = this.aShortArray75; } else { local3.aShortArray75 = Static263.method4511(this.aShortArray75); } local3.aByteArray71 = this.aByteArray71; if (arg2 && arg3 && (arg6 && arg4 || Preferences.highDetailLighting)) { local3.aClass127_1 = this.aClass127_1; } else { local3.aClass127_1 = new GlBuffer(); } if (arg4) { local3.aShortArray76 = this.aShortArray76; local3.aShortArray79 = this.aShortArray79; local3.aShortArray85 = this.aShortArray85; local3.aShortArray86 = this.aShortArray86; } else { local3.aShortArray76 = Static263.method4511(this.aShortArray76); local3.aShortArray79 = Static263.method4511(this.aShortArray79); local3.aShortArray85 = Static263.method4511(this.aShortArray85); local3.aShortArray86 = Static263.method4511(this.aShortArray86); } if (!Preferences.highDetailLighting) { local3.aClass127_2 = null; } else if (arg4 && arg5 && arg6) { local3.aClass127_2 = this.aClass127_2; } else { local3.aClass127_2 = new GlBuffer(); } local3.aFloatArray25 = this.aFloatArray25; local3.aFloatArray26 = this.aFloatArray26; local3.aClass127_3 = this.aClass127_3; if (arg7) { local3.aShortArray77 = this.aShortArray77; local3.aShortArray82 = this.aShortArray82; local3.aShortArray83 = this.aShortArray83; local3.aClass127_5 = this.aClass127_5; } else { local3.aShortArray77 = Static263.method4511(this.aShortArray77); local3.aShortArray82 = Static263.method4511(this.aShortArray82); local3.aShortArray83 = Static263.method4511(this.aShortArray83); local3.aClass127_5 = new GlBuffer(); } if (arg8) { local3.aShortArray80 = this.aShortArray80; } else { local3.aShortArray80 = Static263.method4511(this.aShortArray80); } local3.anIntArray464 = this.anIntArray464; local3.anIntArrayArray36 = this.anIntArrayArray36; local3.aByteArray72 = this.aByteArray72; local3.anIntArrayArray37 = this.anIntArrayArray37; local3.anIntArray463 = this.anIntArray463; local3.aShortArray81 = this.aShortArray81; local3.anIntArray462 = this.anIntArray462; local3.aShort29 = this.aShort29; local3.aShort28 = this.aShort28; local3.aShortArray84 = this.aShortArray84; local3.aShortArray78 = this.aShortArray78; return local3; } @OriginalMember(owner = "client!td", name = "i", descriptor = "()V") @Override public final void method4563() { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { @Pc(10) int local10 = this.anIntArray461[local1]; this.anIntArray461[local1] = this.anIntArray466[local1]; this.anIntArray466[local1] = -local10; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(IIIIIIII)Z") private boolean method4118(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7) { if (arg1 < arg2 && arg1 < arg3 && arg1 < arg4) { return false; } else if (arg1 > arg2 && arg1 > arg3 && arg1 > arg4) { return false; } else if (arg0 < arg5 && arg0 < arg6 && arg0 < arg7) { return false; } else { return arg0 <= arg5 || arg0 <= arg6 || arg0 <= arg7; } } @OriginalMember(owner = "client!td", name = "j", descriptor = "()I") @Override public final int method4566() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort4; } @OriginalMember(owner = "client!td", name = "a", descriptor = "(I[IIIIZ)V") @Override protected final void method4569(@OriginalArg(0) int arg0, @OriginalArg(1) int[] arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) boolean arg5) { @Pc(2) int local2 = arg1.length; @Pc(18) int local18; @Pc(26) int local26; @Pc(45) int local45; @Pc(53) int local53; @Pc(8) int local8; @Pc(12) int local12; @Pc(16) int local16; if (arg0 == 0) { local8 = arg2 << 4; local12 = arg3 << 4; local16 = arg4 << 4; local18 = 0; Static237.anInt5298 = 0; Static237.anInt5300 = 0; Static237.anInt5299 = 0; for (local26 = 0; local26 < local2; local26++) { @Pc(33) int local33 = arg1[local26]; if (local33 < this.anIntArrayArray36.length) { @Pc(43) int[] local43 = this.anIntArrayArray36[local33]; for (local45 = 0; local45 < local43.length; local45++) { local53 = local43[local45]; Static237.anInt5298 += this.anIntArray461[local53]; Static237.anInt5300 += this.anIntArray465[local53]; Static237.anInt5299 += this.anIntArray466[local53]; local18++; } } } if (local18 > 0) { Static237.anInt5298 = Static237.anInt5298 / local18 + local8; Static237.anInt5300 = Static237.anInt5300 / local18 + local12; Static237.anInt5299 = Static237.anInt5299 / local18 + local16; } else { Static237.anInt5298 = local8; Static237.anInt5300 = local12; Static237.anInt5299 = local16; } return; } @Pc(141) int[] local141; @Pc(143) int local143; if (arg0 == 1) { local8 = arg2 << 4; local12 = arg3 << 4; local16 = arg4 << 4; for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local141 = this.anIntArrayArray36[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; this.anIntArray461[local45] += local8; this.anIntArray465[local45] += local12; this.anIntArray466[local45] += local16; } } } return; } @Pc(246) int local246; @Pc(264) int local264; @Pc(484) int local484; if (arg0 == 2) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local141 = this.anIntArrayArray36[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; this.anIntArray461[local45] -= Static237.anInt5298; this.anIntArray465[local45] -= Static237.anInt5300; this.anIntArray466[local45] -= Static237.anInt5299; if (arg4 != 0) { local53 = MathUtils.sin[arg4]; local246 = MathUtils.cos[arg4]; local264 = this.anIntArray465[local45] * local53 + this.anIntArray461[local45] * local246 + 32767 >> 16; this.anIntArray465[local45] = this.anIntArray465[local45] * local246 + 32767 - this.anIntArray461[local45] * local53 >> 16; this.anIntArray461[local45] = local264; } if (arg2 != 0) { local53 = MathUtils.sin[arg2]; local246 = MathUtils.cos[arg2]; local264 = this.anIntArray465[local45] * local246 + 32767 - this.anIntArray466[local45] * local53 >> 16; this.anIntArray466[local45] = this.anIntArray465[local45] * local53 + this.anIntArray466[local45] * local246 + 32767 >> 16; this.anIntArray465[local45] = local264; } if (arg3 != 0) { local53 = MathUtils.sin[arg3]; local246 = MathUtils.cos[arg3]; local264 = this.anIntArray466[local45] * local53 + this.anIntArray461[local45] * local246 + 32767 >> 16; this.anIntArray466[local45] = this.anIntArray466[local45] * local246 + 32767 - this.anIntArray461[local45] * local53 >> 16; this.anIntArray461[local45] = local264; } this.anIntArray461[local45] += Static237.anInt5298; this.anIntArray465[local45] += Static237.anInt5300; this.anIntArray466[local45] += Static237.anInt5299; } } } if (arg5 && this.aShortArray76 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local141 = this.anIntArrayArray36[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; local53 = this.anIntArray462[local45]; local246 = this.anIntArray462[local45 + 1]; for (local264 = local53; local264 < local246; local264++) { local484 = this.aShortArray81[local264] - 1; if (local484 == -1) { break; } @Pc(494) int local494; @Pc(498) int local498; @Pc(516) int local516; if (arg4 != 0) { local494 = MathUtils.sin[arg4]; local498 = MathUtils.cos[arg4]; local516 = this.aShortArray79[local484] * local494 + this.aShortArray76[local484] * local498 + 32767 >> 16; this.aShortArray79[local484] = (short) (this.aShortArray79[local484] * local498 + 32767 - this.aShortArray76[local484] * local494 >> 16); this.aShortArray76[local484] = (short) local516; } if (arg2 != 0) { local494 = MathUtils.sin[arg2]; local498 = MathUtils.cos[arg2]; local516 = this.aShortArray79[local484] * local498 + 32767 - this.aShortArray85[local484] * local494 >> 16; this.aShortArray85[local484] = (short) (this.aShortArray79[local484] * local494 + this.aShortArray85[local484] * local498 + 32767 >> 16); this.aShortArray79[local484] = (short) local516; } if (arg3 != 0) { local494 = MathUtils.sin[arg3]; local498 = MathUtils.cos[arg3]; local516 = this.aShortArray85[local484] * local494 + this.aShortArray76[local484] * local498 + 32767 >> 16; this.aShortArray85[local484] = (short) (this.aShortArray85[local484] * local498 + 32767 - this.aShortArray76[local484] * local494 >> 16); this.aShortArray76[local484] = (short) local516; } } } } } if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } } else if (arg0 == 3) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray36.length) { local141 = this.anIntArrayArray36[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; this.anIntArray461[local45] -= Static237.anInt5298; this.anIntArray465[local45] -= Static237.anInt5300; this.anIntArray466[local45] -= Static237.anInt5299; this.anIntArray461[local45] = this.anIntArray461[local45] * arg2 >> 7; this.anIntArray465[local45] = this.anIntArray465[local45] * arg3 >> 7; this.anIntArray466[local45] = this.anIntArray466[local45] * arg4 >> 7; this.anIntArray461[local45] += Static237.anInt5298; this.anIntArray465[local45] += Static237.anInt5300; this.anIntArray466[local45] += Static237.anInt5299; } } } } else if (arg0 == 5) { if (this.anIntArrayArray37 != null && this.aByteArray71 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray37.length) { local141 = this.anIntArrayArray37[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; local53 = (this.aByteArray71[local45] & 0xFF) + arg2 * 8; if (local53 < 0) { local53 = 0; } else if (local53 > 255) { local53 = 255; } this.aByteArray71[local45] = (byte) local53; } if (local141.length > 0) { this.aClass127_1.valid = false; } } } } } else if (arg0 == 7 && this.anIntArrayArray37 != null) { for (local18 = 0; local18 < local2; local18++) { local26 = arg1[local18]; if (local26 < this.anIntArrayArray37.length) { local141 = this.anIntArrayArray37[local26]; for (local143 = 0; local143 < local141.length; local143++) { local45 = local141[local143]; local53 = this.aShortArray75[local45] & 0xFFFF; local246 = local53 >> 10 & 0x3F; local264 = local53 >> 7 & 0x7; local484 = local53 & 0x7F; @Pc(932) int local932 = local246 + arg2 & 0x3F; local264 += arg3 / 4; if (local264 < 0) { local264 = 0; } else if (local264 > 7) { local264 = 7; } local484 += arg4; if (local484 < 0) { local484 = 0; } else if (local484 > 127) { local484 = 127; } this.aShortArray75[local45] = (short) (local932 << 10 | local264 << 7 | local484); } if (local141.length > 0) { this.aClass127_1.valid = false; } } } } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(IIII)V") @Override protected final void method4567(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) { @Pc(3) int local3; @Pc(11) int local11; if (arg0 == 0) { local3 = 0; Static237.anInt5298 = 0; Static237.anInt5300 = 0; Static237.anInt5299 = 0; for (local11 = 0; local11 < this.vertexCount; local11++) { Static237.anInt5298 += this.anIntArray461[local11]; Static237.anInt5300 += this.anIntArray465[local11]; Static237.anInt5299 += this.anIntArray466[local11]; local3++; } if (local3 > 0) { Static237.anInt5298 = Static237.anInt5298 / local3 + arg1; Static237.anInt5300 = Static237.anInt5300 / local3 + arg2; Static237.anInt5299 = Static237.anInt5299 / local3 + arg3; } else { Static237.anInt5298 = arg1; Static237.anInt5300 = arg2; Static237.anInt5299 = arg3; } } else if (arg0 == 1) { for (local3 = 0; local3 < this.vertexCount; local3++) { this.anIntArray461[local3] += arg1; this.anIntArray465[local3] += arg2; this.anIntArray466[local3] += arg3; } } else { @Pc(146) int local146; @Pc(164) int local164; if (arg0 == 2) { for (local3 = 0; local3 < this.vertexCount; local3++) { this.anIntArray461[local3] -= Static237.anInt5298; this.anIntArray465[local3] -= Static237.anInt5300; this.anIntArray466[local3] -= Static237.anInt5299; if (arg3 != 0) { local11 = MathUtils.sin[arg3]; local146 = MathUtils.cos[arg3]; local164 = this.anIntArray465[local3] * local11 + this.anIntArray461[local3] * local146 + 32767 >> 16; this.anIntArray465[local3] = this.anIntArray465[local3] * local146 + 32767 - this.anIntArray461[local3] * local11 >> 16; this.anIntArray461[local3] = local164; } if (arg1 != 0) { local11 = MathUtils.sin[arg1]; local146 = MathUtils.cos[arg1]; local164 = this.anIntArray465[local3] * local146 + 32767 - this.anIntArray466[local3] * local11 >> 16; this.anIntArray466[local3] = this.anIntArray465[local3] * local11 + this.anIntArray466[local3] * local146 + 32767 >> 16; this.anIntArray465[local3] = local164; } if (arg2 != 0) { local11 = MathUtils.sin[arg2]; local146 = MathUtils.cos[arg2]; local164 = this.anIntArray466[local3] * local11 + this.anIntArray461[local3] * local146 + 32767 >> 16; this.anIntArray466[local3] = this.anIntArray466[local3] * local146 + 32767 - this.anIntArray461[local3] * local11 >> 16; this.anIntArray461[local3] = local164; } this.anIntArray461[local3] += Static237.anInt5298; this.anIntArray465[local3] += Static237.anInt5300; this.anIntArray466[local3] += Static237.anInt5299; } } else if (arg0 == 3) { for (local3 = 0; local3 < this.vertexCount; local3++) { this.anIntArray461[local3] -= Static237.anInt5298; this.anIntArray465[local3] -= Static237.anInt5300; this.anIntArray466[local3] -= Static237.anInt5299; this.anIntArray461[local3] = this.anIntArray461[local3] * arg1 / 128; this.anIntArray465[local3] = this.anIntArray465[local3] * arg2 / 128; this.anIntArray466[local3] = this.anIntArray466[local3] * arg3 / 128; this.anIntArray461[local3] += Static237.anInt5298; this.anIntArray465[local3] += Static237.anInt5300; this.anIntArray466[local3] += Static237.anInt5299; } } else if (arg0 == 5) { for (local3 = 0; local3 < this.anInt5297; local3++) { local11 = (this.aByteArray71[local3] & 0xFF) + arg1 * 8; if (local11 < 0) { local11 = 0; } else if (local11 > 255) { local11 = 255; } this.aByteArray71[local3] = (byte) local11; } this.aClass127_1.valid = false; } else if (arg0 == 7) { for (local3 = 0; local3 < this.anInt5297; local3++) { local11 = this.aShortArray75[local3] & 0xFFFF; local146 = local11 >> 10 & 0x3F; local164 = local11 >> 7 & 0x7; @Pc(496) int local496 = local11 & 0x7F; @Pc(502) int local502 = local146 + arg1 & 0x3F; local164 += arg2 / 4; if (local164 < 0) { local164 = 0; } else if (local164 > 7) { local164 = 7; } local496 += arg3; if (local496 < 0) { local496 = 0; } else if (local496 > 127) { local496 = 127; } this.aShortArray75[local3] = (short) (local502 << 10 | local164 << 7 | local496); } this.aClass127_1.valid = false; } } } @OriginalMember(owner = "client!td", name = "h", descriptor = "()I") @Override public final int method4562() { if (!this.vertexBuffer.valid) { this.method4108(); } return this.vertexBuffer.aShort6; } @OriginalMember(owner = "client!td", name = "w", descriptor = "()V") private void method4121() { @Pc(1) GL2 local1 = GlRenderer.gl; if (this.anInt5297 == 0) { return; } if (this.aByte18 != 0) { this.method4113(true, !this.bounds.valid && (this.aByte18 & 0x1) != 0, !this.aClass127_1.valid && (this.aByte18 & 0x2) != 0, this.aClass127_2 != null && !this.aClass127_2.valid && (this.aByte18 & 0x4) != 0, false); } this.method4113(false, !this.bounds.valid, !this.aClass127_1.valid, this.aClass127_2 != null && !this.aClass127_2.valid, !this.aClass127_3.valid); if (!this.aClass127_5.valid) { this.method4103(); } if (this.aByte19 != 0) { if ((this.aByte19 & 0x1) != 0) { this.anIntArray461 = null; this.anIntArray465 = null; this.anIntArray466 = null; this.aShortArray81 = null; this.anIntArray462 = null; } if ((this.aByte19 & 0x2) != 0) { this.aShortArray75 = null; this.aByteArray71 = null; } if ((this.aByte19 & 0x4) != 0) { this.aShortArray76 = null; this.aShortArray79 = null; this.aShortArray85 = null; this.aShortArray86 = null; } if ((this.aByte19 & 0x8) != 0) { this.aFloatArray25 = null; this.aFloatArray26 = null; } if ((this.aByte19 & 0x10) != 0) { this.aShortArray77 = null; this.aShortArray82 = null; this.aShortArray83 = null; } this.aByte19 = 0; } @Pc(172) GlVertexBufferObject local172 = null; if (this.bounds.aClass155_4 != null) { this.bounds.aClass155_4.method4516(); local172 = this.bounds.aClass155_4; local1.glVertexPointer(3, GL2.GL_FLOAT, this.bounds.anInt4782, (long) this.bounds.anInt4777); } if (this.aClass127_1.aClass155_4 != null) { if (local172 != this.aClass127_1.aClass155_4) { this.aClass127_1.aClass155_4.method4516(); local172 = this.aClass127_1.aClass155_4; } local1.glColorPointer(4, GL2.GL_UNSIGNED_BYTE, this.aClass127_1.anInt4782, (long) this.aClass127_1.anInt4777); } if (Preferences.highDetailLighting && this.aClass127_2.aClass155_4 != null) { if (local172 != this.aClass127_2.aClass155_4) { this.aClass127_2.aClass155_4.method4516(); local172 = this.aClass127_2.aClass155_4; } local1.glNormalPointer(GL2.GL_FLOAT, this.aClass127_2.anInt4782, (long) this.aClass127_2.anInt4777); } if (this.aClass127_3.aClass155_4 != null) { if (local172 != this.aClass127_3.aClass155_4) { this.aClass127_3.aClass155_4.method4516(); local172 = this.aClass127_3.aClass155_4; } local1.glTexCoordPointer(2, GL2.GL_FLOAT, this.aClass127_3.anInt4782, (long) this.aClass127_3.anInt4777); } if (this.aClass127_5.aClass155_4 != null) { this.aClass127_5.aClass155_4.method4518(); } if (this.bounds.aClass155_4 == null || this.aClass127_1.aClass155_4 == null || Preferences.highDetailLighting && this.aClass127_2.aClass155_4 == null || this.aClass127_3.aClass155_4 == null) { if (GlRenderer.arbVboSupported) { local1.glBindBuffer(GL2.GL_ARRAY_BUFFER, 0); } if (this.bounds.aClass155_4 == null) { this.bounds.aByteBuffer8.position(this.bounds.anInt4777); local1.glVertexPointer(3, GL2.GL_FLOAT, this.bounds.anInt4782, this.bounds.aByteBuffer8); } if (this.aClass127_1.aClass155_4 == null) { this.aClass127_1.aByteBuffer8.position(this.aClass127_1.anInt4777); local1.glColorPointer(4, GL2.GL_UNSIGNED_BYTE, this.aClass127_1.anInt4782, this.aClass127_1.aByteBuffer8); } if (Preferences.highDetailLighting && this.aClass127_2.aClass155_4 == null) { this.aClass127_2.aByteBuffer8.position(this.aClass127_2.anInt4777); local1.glNormalPointer(GL2.GL_FLOAT, this.aClass127_2.anInt4782, this.aClass127_2.aByteBuffer8); } if (this.aClass127_3.aClass155_4 == null) { this.aClass127_3.aByteBuffer8.position(this.aClass127_3.anInt4777); local1.glTexCoordPointer(2, GL2.GL_FLOAT, this.aClass127_3.anInt4782, this.aClass127_3.aByteBuffer8); } } if (this.aClass127_5.aClass155_4 == null && GlRenderer.arbVboSupported) { local1.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER, 0); } @Pc(417) int local417 = this.anIntArray463.length - 1; for (@Pc(419) int local419 = 0; local419 < local417; local419++) { @Pc(427) int local427 = this.anIntArray463[local419]; @Pc(434) int local434 = this.anIntArray463[local419 + 1]; @Pc(439) short local439 = this.aShortArray80[local427]; if (local439 == -1) { GlRenderer.setTextureId(-1); Static27.setMaterial(0, 0); } else { Rasteriser.textureProvider.method3227(local439 & 0xFFFF); } if (this.aClass127_5.aClass155_4 == null) { this.aClass127_5.aByteBuffer8.position(local427 * 12); local1.glDrawElements(GL2.GL_TRIANGLES, (local434 - local427) * 3, GL2.GL_UNSIGNED_INT, this.aClass127_5.aByteBuffer8); } else { local1.glDrawElements(GL2.GL_TRIANGLES, (local434 - local427) * 3, GL2.GL_UNSIGNED_INT, (long) (local427 * 12)); } } } @OriginalMember(owner = "client!td", name = "f", descriptor = "()V") @Override protected final void method4557() { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { this.anIntArray461[local1] = this.anIntArray461[local1] + 7 >> 4; this.anIntArray465[local1] = this.anIntArray465[local1] + 7 >> 4; this.anIntArray466[local1] = this.anIntArray466[local1] + 7 >> 4; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "x", descriptor = "()V") public final void method4122() { @Pc(1) int local1; for (local1 = 0; local1 < this.vertexCount; local1++) { this.anIntArray466[local1] = -this.anIntArray466[local1]; } if (this.aShortArray85 != null) { for (local1 = 0; local1 < this.anInt5296; local1++) { this.aShortArray85[local1] = (short) -this.aShortArray85[local1]; } } for (local1 = 0; local1 < this.anInt5297; local1++) { @Pc(48) short local48 = this.aShortArray77[local1]; this.aShortArray77[local1] = this.aShortArray83[local1]; this.aShortArray83[local1] = local48; } this.vertexBuffer.valid = false; this.bounds.valid = false; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } this.aClass127_5.valid = false; } @OriginalMember(owner = "client!td", name = "d", descriptor = "(I)V") @Override public final void method4574(@OriginalArg(0) int arg0) { @Pc(3) int local3 = MathUtils.sin[arg0]; @Pc(7) int local7 = MathUtils.cos[arg0]; for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) { @Pc(29) int local29 = this.anIntArray465[local9] * local7 - this.anIntArray466[local9] * local3 >> 16; this.anIntArray466[local9] = this.anIntArray465[local9] * local3 + this.anIntArray466[local9] * local7 >> 16; this.anIntArray465[local9] = local29; } this.vertexBuffer.valid = false; this.bounds.valid = false; } @OriginalMember(owner = "client!td", name = "g", descriptor = "(I)V") public final void method4123() { if (this.aShortArray76 == null) { this.method4554(256); return; } @Pc(10) int local10 = MathUtils.sin[256]; @Pc(14) int local14 = MathUtils.cos[256]; @Pc(16) int local16; @Pc(36) int local36; for (local16 = 0; local16 < this.vertexCount; local16++) { local36 = this.anIntArray466[local16] * local10 + this.anIntArray461[local16] * local14 >> 16; this.anIntArray466[local16] = this.anIntArray466[local16] * local14 - this.anIntArray461[local16] * local10 >> 16; this.anIntArray461[local16] = local36; } for (local16 = 0; local16 < this.anInt5296; local16++) { local36 = this.aShortArray85[local16] * local10 + this.aShortArray76[local16] * local14 >> 16; this.aShortArray85[local16] = (short) (this.aShortArray85[local16] * local14 - this.aShortArray76[local16] * local10 >> 16); this.aShortArray76[local16] = (short) local36; } this.vertexBuffer.valid = false; this.bounds.valid = false; if (this.aClass127_2 != null) { this.aClass127_2.valid = false; } } @OriginalMember(owner = "client!td", name = "a", descriptor = "(Lclient!ek;)Lclient!ek;") public final SoftwareIndexedSprite method4124(@OriginalArg(0) SoftwareIndexedSprite arg0) { if (this.anInt5296 == 0) { return null; } if (!this.vertexBuffer.valid) { this.method4108(); } @Pc(26) int local26; @Pc(40) int local40; if (Static161.anInt3920 > 0) { local26 = this.vertexBuffer.aShort6 - (this.vertexBuffer.aShort3 * Static161.anInt3920 >> 8) >> 3; local40 = this.vertexBuffer.aShort5 - (this.vertexBuffer.aShort2 * Static161.anInt3920 >> 8) >> 3; } else { local26 = this.vertexBuffer.aShort6 - (this.vertexBuffer.aShort2 * Static161.anInt3920 >> 8) >> 3; local40 = this.vertexBuffer.aShort5 - (this.vertexBuffer.aShort3 * Static161.anInt3920 >> 8) >> 3; } @Pc(85) int local85; @Pc(99) int local99; if (Static161.anInt3921 > 0) { local85 = this.vertexBuffer.aShort8 - (this.vertexBuffer.aShort3 * Static161.anInt3921 >> 8) >> 3; local99 = this.vertexBuffer.aShort7 - (this.vertexBuffer.aShort2 * Static161.anInt3921 >> 8) >> 3; } else { local85 = this.vertexBuffer.aShort8 - (this.vertexBuffer.aShort2 * Static161.anInt3921 >> 8) >> 3; local99 = this.vertexBuffer.aShort7 - (this.vertexBuffer.aShort3 * Static161.anInt3921 >> 8) >> 3; } @Pc(134) int local134 = local40 + 1 - local26; @Pc(140) int local140 = local99 + 1 - local85; @Pc(151) SoftwareIndexedSprite local151; if (arg0 == null || arg0.aByteArray18.length < local134 * local140) { local151 = new SoftwareIndexedSprite(local134, local140, 0); } else { local151 = arg0; arg0.innerWidth = arg0.width = local134; arg0.innerHeight = arg0.height = local140; arg0.method1392(); } local151.anInt4280 = local26; local151.anInt4273 = local85; if (Static237.anIntArray468.length < this.anInt5296) { Static237.anIntArray468 = new int[this.anInt5296]; Static237.anIntArray467 = new int[this.anInt5296]; } @Pc(194) int local194; @Pc(246) int local246; @Pc(248) int local248; @Pc(258) int local258; for (local194 = 0; local194 < this.vertexCount; local194++) { @Pc(216) int local216 = (this.anIntArray461[local194] - (this.anIntArray465[local194] * Static161.anInt3920 >> 8) >> 3) - local26; @Pc(234) int local234 = (this.anIntArray466[local194] - (this.anIntArray465[local194] * Static161.anInt3921 >> 8) >> 3) - local85; @Pc(239) int local239 = this.anIntArray462[local194]; local246 = this.anIntArray462[local194 + 1]; for (local248 = local239; local248 < local246; local248++) { local258 = this.aShortArray81[local248] - 1; if (local258 == -1) { break; } Static237.anIntArray468[local258] = local216; Static237.anIntArray467[local258] = local234; } } for (local194 = 0; local194 < this.anInt5297; local194++) { if (this.aByteArray71[local194] <= 128) { @Pc(292) short local292 = this.aShortArray77[local194]; @Pc(297) short local297 = this.aShortArray82[local194]; @Pc(302) short local302 = this.aShortArray83[local194]; local246 = Static237.anIntArray468[local292]; local248 = Static237.anIntArray468[local297]; local258 = Static237.anIntArray468[local302]; @Pc(318) int local318 = Static237.anIntArray467[local292]; @Pc(322) int local322 = Static237.anIntArray467[local297]; @Pc(326) int local326 = Static237.anIntArray467[local302]; if ((local246 - local248) * (local322 - local326) - (local322 - local318) * (local258 - local248) > 0) { Rasteriser.fillSpriteTriangle(local151.aByteArray18, local318, local322, local326, local246, local248, local258, local134); } } } return local151; } @OriginalMember(owner = "client!td", name = "l", descriptor = "()V") @Override public final void method4578() { for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) { @Pc(10) int local10 = this.anIntArray466[local1]; this.anIntArray466[local1] = this.anIntArray461[local1]; this.anIntArray461[local1] = -local10; } this.vertexBuffer.valid = false; this.bounds.valid = false; } }