commit 101b8314c9bfdda0a9d6f4d6a27cc2cac2bb6679 Author: verinia Date: Tue May 28 22:15:17 2019 -0800 Rebase with upstream diff --git a/09HDscape-client/.gitignore b/09HDscape-client/.gitignore new file mode 100644 index 000000000..17a06722d --- /dev/null +++ b/09HDscape-client/.gitignore @@ -0,0 +1,18 @@ +bin/** +out/** +data/logs/** +data/profile/** +.idea/** +/bin +.DS_Store** +.project** +.classpath** +.class** +/bin/ +/out/ +data/cache/ +*.iml +*.eml +*.userlibraries +*.class +data/players/** diff --git a/09HDscape-client/.keldagrim_530/runescape/jogl.dll b/09HDscape-client/.keldagrim_530/runescape/jogl.dll new file mode 100644 index 000000000..990986f19 Binary files /dev/null and b/09HDscape-client/.keldagrim_530/runescape/jogl.dll differ diff --git a/09HDscape-client/.keldagrim_530/runescape/jogl_awt.dll b/09HDscape-client/.keldagrim_530/runescape/jogl_awt.dll new file mode 100644 index 000000000..d247b4a0b Binary files /dev/null and b/09HDscape-client/.keldagrim_530/runescape/jogl_awt.dll differ diff --git a/09HDscape-client/.settings/org.eclipse.jdt.core.prefs b/09HDscape-client/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..d17b6724d --- /dev/null +++ b/09HDscape-client/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/09HDscape-client/clientlibs.jar b/09HDscape-client/clientlibs.jar new file mode 100644 index 000000000..03c398fbc Binary files /dev/null and b/09HDscape-client/clientlibs.jar differ diff --git a/09HDscape-client/dlls need to add to where client saves cache/game_unpacker.dat b/09HDscape-client/dlls need to add to where client saves cache/game_unpacker.dat new file mode 100644 index 000000000..4a3fd48ce Binary files /dev/null and b/09HDscape-client/dlls need to add to where client saves cache/game_unpacker.dat differ diff --git a/09HDscape-client/lib/gluegen-rt.jar b/09HDscape-client/lib/gluegen-rt.jar new file mode 100644 index 000000000..7ac10a354 Binary files /dev/null and b/09HDscape-client/lib/gluegen-rt.jar differ diff --git a/09HDscape-client/lib/jogl.jar b/09HDscape-client/lib/jogl.jar new file mode 100644 index 000000000..305e99873 Binary files /dev/null and b/09HDscape-client/lib/jogl.jar differ diff --git a/09HDscape-client/lib/laf-plugin-7.2.1.jar b/09HDscape-client/lib/laf-plugin-7.2.1.jar new file mode 100644 index 000000000..82b02527e Binary files /dev/null and b/09HDscape-client/lib/laf-plugin-7.2.1.jar differ diff --git a/09HDscape-client/lib/laf-widget-7.2.1.jar b/09HDscape-client/lib/laf-widget-7.2.1.jar new file mode 100644 index 000000000..0371eb1b1 Binary files /dev/null and b/09HDscape-client/lib/laf-widget-7.2.1.jar differ diff --git a/09HDscape-client/lib/substance-7.2.1.jar b/09HDscape-client/lib/substance-7.2.1.jar new file mode 100644 index 000000000..20428dd9e Binary files /dev/null and b/09HDscape-client/lib/substance-7.2.1.jar differ diff --git a/09HDscape-client/lib/trident-7.2.1.jar b/09HDscape-client/lib/trident-7.2.1.jar new file mode 100644 index 000000000..54fb61472 Binary files /dev/null and b/09HDscape-client/lib/trident-7.2.1.jar differ diff --git a/09HDscape-client/lib/twitter4j-core-4.0.3-SNAPSHOT.jar b/09HDscape-client/lib/twitter4j-core-4.0.3-SNAPSHOT.jar new file mode 100644 index 000000000..6aae5344c Binary files /dev/null and b/09HDscape-client/lib/twitter4j-core-4.0.3-SNAPSHOT.jar differ diff --git a/09HDscape-client/res/META-INF/MANIFEST.MF b/09HDscape-client/res/META-INF/MANIFEST.MF new file mode 100644 index 000000000..b04440617 --- /dev/null +++ b/09HDscape-client/res/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: org.odyssey.GameLaunch + diff --git a/09HDscape-client/res/favicon.png b/09HDscape-client/res/favicon.png new file mode 100644 index 000000000..88db8be49 Binary files /dev/null and b/09HDscape-client/res/favicon.png differ diff --git a/09HDscape-client/src/META-INF/MANIFEST.MF b/09HDscape-client/src/META-INF/MANIFEST.MF new file mode 100644 index 000000000..c2c137eb9 --- /dev/null +++ b/09HDscape-client/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: org.runite.GameLaunch + diff --git a/09HDscape-client/src/org/runite/Configurations.java b/09HDscape-client/src/org/runite/Configurations.java new file mode 100644 index 000000000..3525d00d3 --- /dev/null +++ b/09HDscape-client/src/org/runite/Configurations.java @@ -0,0 +1,99 @@ +package org.runite; +import java.io.File; +import java.math.BigInteger; + +/** + * A class with configurations stored. + * @author Emperor + * + */ +public final class Configurations { + + /** + * The website. + */ + public static final String WEBSITE = "http://www.os.frostblades.org"; + + /** + * The client build. + */ + public static final int CLIENT_BUILD = 530; + + /** + * The sub build. + */ + public static final int SUB_BUILD = 1; + + /** + * If the client is local. + */ + public static final boolean LOCAL_MS = true; + public static final boolean LOCAL_SERVER = true; + + /** + * Packaging. + */ + public static final String PACKAGE_JAGEX = "org.runite.jagex"; + + /** + * The login theme song. + */ + public static final String LOGIN_THEME_SONG = "scape main"; + + /** + * The cache name. + */ + public static final String CACHE_NAME = File.separator + ".runite_" + CLIENT_BUILD; + + /** + * The RSA modulus. + */ + public static final BigInteger MODULUS = new BigInteger("119365899446067315932975991898363325061579719991294025359328021960040125142258621067848949689980866028232491082585431814345859060363748342297790362002830405818586025541018815563000741957417375211440504983329981059065255756529758598479962175681326119784430342275130902058984323109363665114655494006708620299283"); + + /** + * The RSA exponent. + */ + public static final BigInteger PUBLIC_EXPONENT = new BigInteger("65537"); + + /** + * If the walk packet should be send when doing eg. object actions. + */ + public static final boolean ENABLE_WALK_AID = false; + + /** + * The MS IP. + */ + public static final String MS_IP = (Configurations.LOCAL_MS ? "127.0.0.1" : "frostblades.org"); + + /** + * The operation system name. + */ + public static final String OS_NAME = System.getProperty("os.name").toUpperCase(); + + /** + * IF RSA is enabled. + */ + public static final boolean USE_RSA = false; + + /** + * IF we use ISAAC cipher. + */ + public static final boolean USEISAAC = false; + + /** + * The cache path. + * @return the path. + */ + public static String getCachePath() { + final String OS = System.getProperty("os.name").toUpperCase(); + if (OS.contains("WIN")) { + return new StringBuilder(System.getProperty("user.home") + CACHE_NAME).toString(); + } else if (OS.contains("MAC")) { + return new StringBuilder(System.getProperty("user.home") + CACHE_NAME).toString(); + } else if (OS.contains("NUX")) { + return System.getProperty("user.home") + CACHE_NAME; + } + return new StringBuilder(System.getProperty("user.dir")).toString() + CACHE_NAME; + } + +} \ No newline at end of file diff --git a/09HDscape-client/src/org/runite/GameLaunch.java b/09HDscape-client/src/org/runite/GameLaunch.java new file mode 100644 index 000000000..dd2bd720a --- /dev/null +++ b/09HDscape-client/src/org/runite/GameLaunch.java @@ -0,0 +1,44 @@ +package org.runite; + +import org.runite.jagex.GameShell; + +/** + * Handles the launching of our Game Client. + * @author Keldagrim Development Team + * + */ +public class GameLaunch { + + /** + * The game settings. + */ + public static GameSetting SETTINGS = new GameSetting("RuneScape", Configurations.LOCAL_SERVER ? "127.0.0.1" : "frostblades.org", 1, "live", false, false); + + /** + * The main method. + * @param args the arguments casted on runtime. + */ + public static void main(String[]args) { + for (int i = 0; i < args.length; i++) { + String[] cmd = args[i].split("="); + switch (cmd[0]) { + case "ip": + SETTINGS.setIp(cmd[1]); + break; + case "world": + SETTINGS.setWorld(Integer.parseInt(cmd[1])); + break; + } + } + launch(false); + } + + /** + * Launches the client in a determined mode. + * @param swiftkit If we're launching swift kit. + */ + public static void launch(boolean swiftkit) { + GameShell.launchDesktop(); + } + +} diff --git a/09HDscape-client/src/org/runite/GameSetting.java b/09HDscape-client/src/org/runite/GameSetting.java new file mode 100644 index 000000000..bcb47d261 --- /dev/null +++ b/09HDscape-client/src/org/runite/GameSetting.java @@ -0,0 +1,123 @@ +package org.runite; + +/** + * Represents the game settings to use in the client. + * @author Vexia + * + */ +public final class GameSetting { + + /** + * The name of the game. + */ + private final String name; + + /** + * The ip to the game to connect to. + */ + private String ip; + + /** + * Represents the world if to load. + */ + private int world; + + /** + * Represents the environment of the game. + */ + private final String environment; + + /** + * If the client should use a lower amount of memory. + */ + private final boolean lowMemory; + + /** + * If we're using the swift kit client. + */ + private boolean swiftKit; + + /** + * Constructs a new {@code GameSetting} {@code Object} + * @param name the name. + * @param ip the ip. + * @param world the world. + * @param environment the enviornment. + * @param lowMemory if low memory. + * @param swift kit if we're using it. + */ + public GameSetting(String name, String ip, int world, String environment, boolean lowMemory, boolean swiftKit) { + this.name = name; + this.ip = ip; + this.world = world; + this.environment = environment; + this.lowMemory = lowMemory; + this.swiftKit = swiftKit; + } + + /** + * If we're using a swift kit client. + * @return true if so. + */ + public boolean isSwiftKit() { + return swiftKit; + } + + /** + * Gets the name. + * @return the name. + */ + public String getName() { + return name; + } + + /** + * @return the world + */ + public int getWorld() { + return world; + } + + /** + * @return the enviornment + */ + public String getEnvironment() { + return environment; + } + + /** + * @return the ip + */ + public String getIp() { + return ip; + } + + /** + * Checks if the client has th low memory flag enabled. + * @return {@code True} if so. + */ + public boolean isLowMemory() { + return lowMemory; + } + + /** + * Sets the ip. + * @param ip the ip to set + */ + public void setIp(String ip) { + this.ip = ip; + } + + /** + * Sets the swiftKit. + * @param swiftKit the swiftKit to set + */ + public void setSwiftKit(boolean swiftKit) { + this.swiftKit = swiftKit; + } + + public void setWorld(int world) { + this.world = world; + } + +} diff --git a/09HDscape-client/src/org/runite/Properties.java b/09HDscape-client/src/org/runite/Properties.java new file mode 100644 index 000000000..a724ce2f5 --- /dev/null +++ b/09HDscape-client/src/org/runite/Properties.java @@ -0,0 +1,210 @@ +package org.runite; + +import java.io.File; +import java.io.RandomAccessFile; +import java.nio.ByteBuffer; +import java.nio.channels.FileChannel.MapMode; + +/** + * Holds client related properties. + * @author Emperor + * + */ +public final class Properties { + + /** + * If the modern hotkey layout should be used. + */ + private boolean modernHotkeys; + + /** + * If the theme song should be played. + */ + private boolean playThemeSong = true; + + /** + * If we have notepad wrapping. + */ + private boolean notepadWrap = true; + + /** + * The properties instance. + */ + private static Properties singleton; + + /** + * If we should remember the player. + */ + private boolean rememberMe; + + /** + * If instant attack is enabled. + */ + private boolean instantAttack = true; + + /** + * Constructs a new {@code Properties} {@code Object}. + */ + private Properties() { + /* + * empty. + */ + } + + /** + * Loads the properties. + * @param file The file. + */ + private void load(File file) { + try { + RandomAccessFile f = new RandomAccessFile(file, "rw"); + ByteBuffer buffer = f.getChannel().map(MapMode.READ_WRITE, 0, f.length()); + int opcode; + while ((opcode = buffer.get() & 0xFF) != 0) { + switch (opcode) { + case 1: + modernHotkeys = true; + break; + case 2: + playThemeSong = false; + break; + case 3: + notepadWrap = false; + break; + case 4: + rememberMe = true; + break; + case 5: + instantAttack = false; + break; + } + } + f.close(); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + /** + * Saves the properties. + */ + public void save() { + ByteBuffer buffer = ByteBuffer.allocate(512); + if (modernHotkeys) { + buffer.put((byte) 1); + } + if (!playThemeSong) { + buffer.put((byte) 2); + } + if (!notepadWrap) { + buffer.put((byte) 3); + } + if (rememberMe) { + buffer.put((byte) 4); + } + if (!instantAttack) { + buffer.put((byte) 5); + } + buffer.put((byte) 0);//EOF + buffer.flip(); + try { + RandomAccessFile f = new RandomAccessFile(new File(Configurations.getCachePath() + "/client.props"), "rw"); + f.getChannel().write(buffer); + f.close(); + } catch (Throwable e) { + e.printStackTrace(); + } + } + + /** + * Gets the instance. + * @return The instance. + */ + public static Properties get() { + if (singleton == null) { + singleton = new Properties(); + File file = new File(Configurations.getCachePath() + "/client.props"); + if (file.exists()) { + singleton.load(file); + } + } + return singleton; + } + + /** + * @return the modernHotkeys + */ + public boolean isModernHotkeys() { + return modernHotkeys; + } + + /** + * @param modernHotkeys the modernHotkeys to set + */ + public void setModernHotkeys(boolean modernHotkeys) { + this.modernHotkeys = modernHotkeys; + } + + /** + * @return the playThemeSong + */ + public boolean isPlayThemeSong() { + return playThemeSong; + } + + /** + * @param playThemeSong the playThemeSong to set + */ + public void setPlayThemeSong(boolean playThemeSong) { + this.playThemeSong = playThemeSong; + } + + /** + * Gets the notepadWrap. + * @return the notepadWrap. + */ + public boolean isNotepadWrap() { + return notepadWrap; + } + + /** + * Sets the notepadWrap. + * @param notepadWrap the notepadWrap to set + */ + public void setNotepadWrap(boolean notepadWrap) { + this.notepadWrap = notepadWrap; + } + + /** + * Gets the rememberMe. + * @return the rememberMe. + */ + public boolean isRememberMe() { + return rememberMe; + } + + /** + * Sets the rememberMe. + * @param rememberMe the rememberMe to set + */ + public void setRememberMe(boolean rememberMe) { + this.rememberMe = rememberMe; + } + + /** + * Checks if instantAttack is {@code true}. + * @return {@code True} if so. + */ + public boolean isInstantAttack() { + return instantAttack; + } + + /** + * Sets the instantAttack value. + * @param instantAttack The instantAttack to set. + */ + public void setInstantAttack(boolean instantAttack) { + this.instantAttack = instantAttack; + } + +} \ No newline at end of file diff --git a/09HDscape-client/src/org/runite/jagex/AbstractIndexedSprite.java b/09HDscape-client/src/org/runite/jagex/AbstractIndexedSprite.java new file mode 100644 index 000000000..307c9e085 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/AbstractIndexedSprite.java @@ -0,0 +1,99 @@ +package org.runite.jagex; + +abstract class AbstractIndexedSprite { + + int anInt1461; + static int anInt1462; + static int anInt1463 = -16 + (int)(Math.random() * 33.0D); + int anInt1464; + static long aLong1465 = 0L; + static RSString aClass94_1466 = RSString.createRSString("Lade Titelbild )2 "); + int anInt1467; + int anInt1468; + int anInt1469; + int anInt1470; + + + static final void method1662(Class3 var0, Class3 var1, int var2) { + try { + if(null != var0.aClass3_76) { + var0.method86(-1024); + } + + var0.aClass3_74 = var1; + var0.aClass3_76 = var1.aClass3_76; + if(var2 == -16) { + var0.aClass3_76.aClass3_74 = var0; + var0.aClass3_74.aClass3_76 = var0; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ok.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method1663(int var0) { + try { + aClass94_1466 = null; + if(var0 != 33) { + anInt1463 = 15; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ok.D(" + var0 + ')'); + } + } + + static final NodeList method1664(int var0, int var1, byte var2) { + try { + NodeList var3 = new NodeList(); + + for(Class3_Sub28_Sub3 var4 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1222(); var4 != null; var4 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1221()) { + if(var4.aBoolean3553 && var4.method537(var1, (byte)97, var0)) { + var3.method879(var4, (byte)-127); + } + } + + int var6 = 30 % ((64 - var2) / 54); + return var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ok.B(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method1665(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + int var7 = var5 + var2; + int var8 = -var5 + var4; + if(var0 != -19619) { + method1665(-17, 11, -118, -38, 115, -2, 113); + } + + int var9 = var5 + var6; + + int var11; + for(var11 = var2; ~var11 > ~var7; ++var11) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var6, -91, var1, var3); + } + + for(var11 = var4; var8 < var11; --var11) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var6, -113, var1, var3); + } + + int var10 = -var5 + var1; + + for(var11 = var7; ~var8 <= ~var11; ++var11) { + int[] var12 = Class38.anIntArrayArray663[var11]; + Class3_Sub13_Sub23_Sub1.method282(var12, var6, -111, var9, var3); + Class3_Sub13_Sub23_Sub1.method282(var12, var10, -124, var1, var3); + } + + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "ok.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + abstract void method1666(int var1, int var2, int var3); + + abstract void method1667(int var1, int var2); + +} diff --git a/09HDscape-client/src/org/runite/jagex/AnimationDefinition.java b/09HDscape-client/src/org/runite/jagex/AnimationDefinition.java new file mode 100644 index 000000000..2dca640fc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/AnimationDefinition.java @@ -0,0 +1,754 @@ +package org.runite.jagex; + + +final class AnimationDefinition { + + int anInt1845 = 2; + boolean aBoolean1846 = false; + static volatile long aLong1847 = 0L; + boolean aBoolean1848 = false; + int anInt1849 = -1; + int anInt1850 = -1; + int[] frames; + static CacheIndex aClass153_1852; + static int anInt1853; + int anInt1854 = -1; + boolean[] aBooleanArray1855; + static AbstractIndexedSprite aClass109_1856; + int anInt1857 = 5; + static int anInt1858; + boolean aBoolean1859 = false; + static CacheIndex aClass153_1860; + int anInt1861 = 99; + static int anInt1862 = 0; + static RSString aClass94_1863 = RSString.createRSString(" steht bereits auf Ihrer Freunde)2Liste(Q"); + int animId; + int anInt1865 = -1; + int anInt1866 = -1; + int[][] anIntArrayArray1867; + static Class25[] aClass25Array1868; + int[] duration; + private int[] anIntArray1870; + static int[] anIntArray1871 = new int[2]; + boolean aBoolean1872 = false; + + + static final Class3_Sub11 method2052(Class130 var0, boolean var1, Class168 var2) { + try { + long var3 = (long)((var2.anInt2095 - -1 << 16) + var2.anInt2090) + (((long)var2.anInt2100 << 56) - -((long)var2.anInt2094 << 32)); + if(var1) { + aClass94_1863 = (RSString)null; + } + + Class3_Sub11 var5 = (Class3_Sub11)var0.method1780(var3, 0); + if(null == var5) { + var5 = new Class3_Sub11(var2.anInt2095, (float)var2.anInt2090, true, false, var2.anInt2094); + var0.method1779(1, var5, var3); + } + + return var5; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "tk.J(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void method2053(RSByteBuffer var1, byte var2) { + try { + if(var2 != -102) { + this.method2055((Model)null, (byte)88, 7, 103, 54); + } + // System.out.print("Animation " + animId + " - parsed ["); + while(true) { + int var3 = var1.getByte((byte)-46); + if(var3 == 0) { + //System.out.println("]."); + return; + } + //System.out.print(var3 + ", "); + this.method2060(var3, (byte)-73, var1); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "tk.I(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final Model method2054(int var1, int var2, int var3, Model var4, int var5, int var6) { + try { + int var7 = this.duration[var2]; + var2 = this.frames[var2]; + Class3_Sub28_Sub5 var8 = Class3_Sub9.method133(var2 >> 16, var1 + -19749); + var2 &= '\uffff'; + if(var8 == null) { + return var4.method1890(true, true, true); + } else { + var5 &= 3; + Class3_Sub28_Sub5 var9 = null; + if(var1 != 19749) { + this.method2053((RSByteBuffer)null, (byte)-126); + } + + if((this.aBoolean1846 || Class3_Sub26.aBoolean2558) && ~var3 != 0 && this.frames.length > var3) { + var3 = this.frames[var3]; + var9 = Class3_Sub9.method133(var3 >> 16, 0); + var3 &= '\uffff'; + } + + Model var10; + if(var9 != null) { + var10 = var4.method1890(!var8.method559(1317095745, var2) & !var9.method559(1317095745, var3), !var8.method561(var2, (byte)125) & !var9.method561(var3, (byte)118), !this.aBoolean1848); + } else { + var10 = var4.method1890(!var8.method559(1317095745, var2), !var8.method561(var2, (byte)121), !this.aBoolean1848); + } + + if(HDToolKit.highDetail && this.aBoolean1848) { + if(-2 != ~var5) { + if(2 != var5) { + if(~var5 == -4) { + ((Class140_Sub1_Sub1)var10).method1925(); + } + } else { + ((Class140_Sub1_Sub1)var10).method1911(); + } + } else { + ((Class140_Sub1_Sub1)var10).method1902(); + } + } else if(var5 != 1) { + if(2 != var5) { + if(3 == var5) { + var10.method1885(); + } + } else { + var10.method1874(); + } + } else { + var10.method1900(); + } + + var10.method1880(var8, var2, var9, var3, -1 + var6, var7, this.aBoolean1848); + if(HDToolKit.highDetail && this.aBoolean1848) { + if(1 != var5) { + if(var5 == 2) { + ((Class140_Sub1_Sub1)var10).method1911(); + } else if(var5 == 3) { + ((Class140_Sub1_Sub1)var10).method1902(); + } + } else { + ((Class140_Sub1_Sub1)var10).method1925(); + } + } else if(~var5 != -2) { + if(-3 != ~var5) { + if(var5 == 3) { + var10.method1900(); + } + } else { + var10.method1874(); + } + } else { + var10.method1885(); + } + + return var10; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "tk.D(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ')'); + } + } + + final Model method2055(Model var1, byte var2, int var3, int var4, int var5) { + try { + int var7 = this.frames[var5]; + int var6 = this.duration[var5]; + Class3_Sub28_Sub5 var8 = Class3_Sub9.method133(var7 >> 16, 0); + var7 &= '\uffff'; + if(null == var8) { + return var1.method1894(true, true, true); + } else { + Class3_Sub28_Sub5 var9 = null; + if((this.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var3 && ~var3 > ~this.frames.length) { + var3 = this.frames[var3]; + var9 = Class3_Sub9.method133(var3 >> 16, 0); + var3 &= '\uffff'; + } + + Class3_Sub28_Sub5 var10 = null; + int var12 = 47 % ((var2 - 66) / 45); + Class3_Sub28_Sub5 var11 = null; + int var13 = 0; + int var14 = 0; + if(null != this.anIntArray1870) { + if(~this.anIntArray1870.length < ~var5) { + var13 = this.anIntArray1870[var5]; + if(~var13 != -65536) { + var10 = Class3_Sub9.method133(var13 >> 16, 0); + var13 &= '\uffff'; + } + } + + if((this.aBoolean1846 || Class3_Sub26.aBoolean2558) && -1 != var3 && this.anIntArray1870.length > var3) { + var14 = this.anIntArray1870[var3]; + if(~var14 != -65536) { + var11 = Class3_Sub9.method133(var14 >> 16, 0); + var14 &= '\uffff'; + } + } + } + + boolean var15 = !var8.method559(1317095745, var7); + boolean var16 = !var8.method561(var7, (byte)119); + if(var10 != null) { + var15 &= !var10.method559(1317095745, var13); + var16 &= !var10.method561(var13, (byte)115); + } + + if(null != var9) { + var15 &= !var9.method559(1317095745, var3); + var16 &= !var9.method561(var3, (byte)123); + } + + if(null != var11) { + var15 &= !var11.method559(1317095745, var14); + var16 &= !var11.method561(var14, (byte)121); + } + + Model var17 = var1.method1894(var15, var16, !this.aBoolean1848); + var17.method1880(var8, var7, var9, var3, var4 - 1, var6, this.aBoolean1848); + if(null != var10) { + var17.method1880(var10, var13, var11, var14, var4 + -1, var6, this.aBoolean1848); + } + + return var17; + } + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "tk.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final Model method2056(int var1, int var2, int var3, int var4, Model var5, int var6) { + try { + int var7 = this.duration[var2]; + var2 = this.frames[var2]; + Class3_Sub28_Sub5 var8 = Class3_Sub9.method133(var2 >> 16, var6 + -3); + var2 &= '\uffff'; + if(null == var8) { + return var5.method1894(true, true, true); + } else { + var4 &= var6; + Class3_Sub28_Sub5 var9 = null; + if((this.aBoolean1846 || Class3_Sub26.aBoolean2558) && ~var1 != 0 && ~var1 > ~this.frames.length) { + var1 = this.frames[var1]; + var9 = Class3_Sub9.method133(var1 >> 16, var6 + -3); + var1 &= '\uffff'; + } + + Model var10; + if(null == var9) { + var10 = var5.method1894(!var8.method559(1317095745, var2), !var8.method561(var2, (byte)123), !this.aBoolean1848); + } else { + var10 = var5.method1894(!var8.method559(1317095745, var2) & !var9.method559(1317095745, var1), !var8.method561(var2, (byte)125) & !var9.method561(var1, (byte)123), !this.aBoolean1848); + } + + if(this.aBoolean1848 && HDToolKit.highDetail) { + if(1 != var4) { + if(-3 == ~var4) { + ((Class140_Sub1_Sub1)var10).method1911(); + } else if(-4 == ~var4) { + ((Class140_Sub1_Sub1)var10).method1925(); + } + } else { + ((Class140_Sub1_Sub1)var10).method1902(); + } + } else if(var4 == 1) { + var10.method1900(); + } else if(var4 == 2) { + var10.method1874(); + } else if(var4 == 3) { + var10.method1885(); + } + + var10.method1880(var8, var2, var9, var1, var3 + -1, var7, this.aBoolean1848); + if(this.aBoolean1848 && HDToolKit.highDetail) { + if(~var4 == -2) { + ((Class140_Sub1_Sub1)var10).method1925(); + } else if(-3 == ~var4) { + ((Class140_Sub1_Sub1)var10).method1911(); + } else if(~var4 == -4) { + ((Class140_Sub1_Sub1)var10).method1902(); + } + } else if(1 != var4) { + if(var4 == 2) { + var10.method1874(); + } else if(3 == var4) { + var10.method1900(); + } + } else { + var10.method1885(); + } + + return var10; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "tk.B(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')'); + } + } + + public static void method2057(byte var0) { + try { + aClass25Array1868 = null; + aClass109_1856 = null; + aClass153_1860 = null; + aClass153_1852 = null; + if(var0 != -108) { + aClass153_1852 = (CacheIndex)null; + } + + aClass94_1863 = null; + anIntArray1871 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tk.F(" + var0 + ')'); + } + } + + final void method2058(byte var1) { + try { + if(var1 == -41) { + if(0 == ~this.anInt1866) { + if(null == this.aBooleanArray1855) { + this.anInt1866 = 0; + } else { + this.anInt1866 = 2; + } + } + + if(-1 == this.anInt1850) { + if(null != this.aBooleanArray1855) { + this.anInt1850 = 2; + } else { + this.anInt1850 = 0; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "tk.C(" + var1 + ')'); + } + } + + final Model method2059(int var1, int var2, int var3, byte var4, Model var5) { + try { + int var8 = 43 / ((var4 - 4) / 54); + int var6 = this.duration[var3]; + var3 = this.frames[var3]; + Class3_Sub28_Sub5 var7 = Class3_Sub9.method133(var3 >> 16, 0); + var3 &= '\uffff'; + if(var7 == null) { + return var5.method1882(true, true, true); + } else { + Class3_Sub28_Sub5 var9 = null; + if((this.aBoolean1846 || Class3_Sub26.aBoolean2558) && ~var1 != 0 && ~this.frames.length < ~var1) { + var1 = this.frames[var1]; + var9 = Class3_Sub9.method133(var1 >> 16, 0); + var1 &= '\uffff'; + } + + Model var10; + if(null == var9) { + var10 = var5.method1882(!var7.method559(1317095745, var3), !var7.method561(var3, (byte)118), !this.aBoolean1848); + } else { + var10 = var5.method1882(!var7.method559(1317095745, var3) & !var9.method559(1317095745, var1), !var7.method561(var3, (byte)119) & !var9.method561(var1, (byte)118), !this.aBoolean1848); + } + + var10.method1880(var7, var3, var9, var1, var2 + -1, var6, this.aBoolean1848); + return var10; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "tk.G(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + private final void method2060(int var1, byte var2, RSByteBuffer var3) { + try { + int var4; + int var5; + if(~var1 == -2) { + var4 = var3.getShort(1); + this.duration = new int[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.duration[var5] = var3.getShort(1); + } + + this.frames = new int[var4]; + + for(var5 = 0; ~var5 > ~var4; ++var5) { + this.frames[var5] = var3.getShort(1); + } + + for(var5 = 0; var4 > var5; ++var5) { + this.frames[var5] += var3.getShort(1) << 16; + } + } else if(var1 == 2) { + this.anInt1865 = var3.getShort(1); + } else if(-4 != ~var1) { + if(var1 == 4) { + this.aBoolean1859 = true; + } else if(-6 != ~var1) { + if(6 != var1) { + if(-8 == ~var1) { + this.anInt1849 = var3.getShort(1); + } else if(8 == var1) { + this.anInt1861 = var3.getByte((byte)-127); + } else if(9 == var1) { + this.anInt1866 = var3.getByte((byte)-56); + } else if(10 != var1) { + if(-12 != ~var1) { + if(12 != var1) { + if(13 == var1) { + var4 = var3.getShort(1); + this.anIntArrayArray1867 = new int[var4][]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + int var6 = var3.getByte((byte)-96); + if(var6 > 0) { + this.anIntArrayArray1867[var5] = new int[var6]; + this.anIntArrayArray1867[var5][0] = var3.getTriByte((byte)102); + + for(int var7 = 1; ~var6 < ~var7; ++var7) { + this.anIntArrayArray1867[var5][var7] = var3.getShort(1); + } + } + } + } else if(~var1 != -15) { + if(15 != var1) { + if(16 == var1) { + this.aBoolean1872 = true; + } + } else { + this.aBoolean1846 = true; + } + } else { + this.aBoolean1848 = true; + } + } else { + var4 = var3.getByte((byte)-117); + this.anIntArray1870 = new int[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.anIntArray1870[var5] = var3.getShort(1); + } + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.anIntArray1870[var5] += var3.getShort(1) << 16; + } + } + } else { + this.anInt1845 = var3.getByte((byte)-119); + } + } else { + this.anInt1850 = var3.getByte((byte)-43); + } + } else { + this.anInt1854 = var3.getShort(1); + } + } else { + this.anInt1857 = var3.getByte((byte)-72); + } + } else { + this.aBooleanArray1855 = new boolean[256]; + var4 = var3.getByte((byte)-126); + + for(var5 = 0; var5 < var4; ++var5) { + this.aBooleanArray1855[var3.getByte((byte)-81)] = true; + } + } + + var4 = 49 % ((-12 - var2) / 34); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "tk.H(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final void method2061(boolean var0) { + try { + Class3_Sub26.anInt2556 = 0; + Class140_Sub4.aBoolean2774 = true; + AbstractIndexedSprite.aLong1465 = 0L; + Class70.anInt1060 = 0; + Class3_Sub28_Sub8.anInt3613 = 0; + Class85.anInt1172 = 0; + ISAACCipher.anInt969 = 0; + Class57.anInt903 = 0; + Class96.anInt1361 = 0; + Class3_Sub28_Sub14.anInt3677 = 0; + GameShell.anInt2 = 0; + Class81.anInt1141 = 0; + Class3_Sub22.anInt2500 = 0; + Class3_Sub13_Sub16.anInt3199 = 0; + Class3_Sub28_Sub4.anInt3569 = 0; + Class3_Sub13_Sub20.anInt3248 = 0; + Class3_Sub13_Sub7.anInt3090 = 0; + Class27.anInt513 = 0; + Class93.anInt1330 = 0; + Class154.anInt1956 = 0; + Class3_Sub13_Sub11.anInt3136 = 0; + Canvas_Sub1.anInt16 = 0; + Class3_Sub28_Sub10_Sub1.anInt4054 = 0; + Class126.anInt1677 = 0; + IOHandler.anInt1240 = 0; + Canvas_Sub1.anInt19 = 0; + Class3_Sub28_Sub10.anInt3630 = 0; + Class3_Sub13_Sub15.anInt3187 = 0; + Class3_Sub23.anInt2541 = 0; + Class61.anInt937 = 0; + Class91.anInt1307 = 0; + Class55.anInt880 = 0; + Class3_Sub13_Sub21.anInt3259 = 0; + CS2Script.anInt2437 = 0; + Class7.anInt2165 = 0; + Class3_Sub13_Sub13.anInt3151 = 0; + Class85.anInt1170 = 0; + Class100.anInt1405 = 0; + Class3_Sub28_Sub13.anInt3659 = 0; + Class57.anInt900 = 0; + Class3_Sub1.anInt2204 = 0; + PacketParser.anInt79 = 0; + Class130.anInt1701 = 0; + Class3_Sub13_Sub30.anInt3365 = 0; + Class144.anInt1886 = 0; + Class3_Sub13_Sub37.anInt3442 = 0; + Class166.anInt2081 = 0; + Class43.anInt715 = 0; + RSString.anInt2145 = 0; + Class3_Sub28_Sub8.anInt3609 = 0; + Class3_Sub23.anInt2540 = 0; + Class3_Sub13_Sub34.anInt3402 = 0; + Class3_Sub13_Sub37.anInt3439 = 0; + Class40.anInt674 = 0; + Class167.anInt2085 = 0; + Class148.anInt1910 = 0; + Class3_Sub13_Sub12.anInt3144 = 0; + Canvas_Sub1.anInt17 = 0; + Class120.anInt1633 = 0; + Class15.anInt342 = 0; + Class143.anInt1873 = 0; + Class75_Sub3.anInt2651 = 0; + Class148.anInt1909 = 0; + Class136.anInt1776 = 0; + Class23.anInt456 = 0; + Class3_Sub6.anInt2290 = 0; + Class163_Sub3.anInt3001 = 0; + anInt1858 = 0; + Class3_Sub28_Sub10_Sub2.anInt4065 = 0; + Class61.anInt938 = 0; + Class19.anInt421 = 0; + ItemDefinition.anInt763 = 0; + Class148.anInt1906 = 0; + Class15.anInt348 = 0; + Class54.anInt876 = 0; + Class56.anInt889 = 0; + Class3_Sub10.anInt2337 = 0; + Class106.anInt1439 = 0; + Class3_Sub19.anInt2479 = 0; + Class3_Sub23.anInt2534 = 0; + Class145.anInt1896 = 0; + Class118.anInt1623 = 0; + Class162.anInt2037 = 0; + Class123.anInt1657 = 0; + Class85.anInt1166 = 0; + Class3_Sub13_Sub21.anInt3255 = 0; + Class163_Sub1_Sub1.anInt4011 = 0; + Canvas_Sub2.anInt27 = 0; + Class75_Sub2.anInt2640 = 0; + Class144.anInt1883 = 0; + Class3_Sub13_Sub22.anInt3277 = 0; + Class3_Sub13_Sub39.anInt3459 = 0; + Class3_Sub13_Sub10.anInt3122 = 0; + Class129_Sub1.anInt2684 = 0; + Class14.anInt336 = 0; + Class20.anInt437 = 0; + Class66.anInt994 = 0; + Class3_Sub28_Sub9.anInt3618 = 0; + Class39.anInt671 = 0; + Class140_Sub6.anInt2901 = 0; + Class133.anInt1756 = 0; + Class3_Sub28_Sub14.anInt3670 = 0; + Class3_Sub13_Sub35.anInt3420 = 0; + Class140_Sub4.anInt2770 = 0; + Class119.anInt1629 = 0; + GraphicDefinition.anInt544 = 0; + anInt1853 = 0; + Class3_Sub28_Sub9.anInt3615 = 0; + CacheIndex.anInt1944 = 0; + Class164.anInt2059 = 0; + Node.anInt2571 = 0; + WorldListCountry.anInt503 = 0; + Class3_Sub13_Sub22.anInt3267 = 0; + Class3_Sub28_Sub2.anInt3542 = 0; + Class25.anInt494 = 0; + Class164_Sub1.anInt3017 = 0; + Class49.anInt816 = 0; + Canvas_Sub1.anInt18 = 0; + Class29.anInt562 = 0; + Class3_Sub28_Sub11.anInt3640 = 0; + Class3_Sub28_Sub10.anInt3627 = 0; + Class3_Sub25.anInt2549 = 0; + ItemDefinition.anInt759 = 0; + Class102.anInt2130 = 0; + Class41.anInt685 = 0; + Class3_Sub13_Sub16.anInt3205 = 0; + Class17.anInt411 = 0; + Class29.anInt555 = 0; + Class23.anInt452 = 0; + Class3_Sub17.anInt2459 = 0; + Class15.anInt349 = 0; + Class137.anInt1781 = 0; + Class3_Sub28_Sub15.anInt3681 = 0; + Class3_Sub24_Sub4.anInt3517 = 0; + RSByteBuffer.anInt2592 = 0; + Class168.anInt2088 = 0; + Class3_Sub13_Sub6.anInt3084 = 0; + Class106.aClass67_1443.anInt1018 = 0; + Class3_Sub13_Sub6.aBoolean3078 = true; + Class3_Sub13.method153(112); + Class24.anInt469 = -1; + Class7.anInt2166 = -1; + RSString.incomingOpcode = -1; + Class159.anInt2023 = 0; + Class38_Sub1.anInt2617 = 0; + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub29.anInt2582 = -1; + Class3_Sub28_Sub16.anInt3699 = 0; + GraphicDefinition.incomingBuffer.index = 0; + + int var1; + for(var1 = 0; ~var1 > ~RuntimeException_Sub1.aClass96Array2114.length; ++var1) { + RuntimeException_Sub1.aClass96Array2114[var1] = null; + } + + Class3_Sub13_Sub34.anInt3415 = 0; + Class38_Sub1.aBoolean2615 = false; + Class23.method940(119, 0); + + for(var1 = 0; -101 < ~var1; ++var1) { + Class3_Sub29.aClass94Array2580[var1] = null; + } + + Class164_Sub1.anInt3012 = 0; + Class3_Sub13_Sub18.anInt3216 = (int)(Math.random() * 100.0D) + -50; + Class45.anInt733 = 0; + GraphicDefinition.CAMERA_DIRECTION = 2047 & (int)(Math.random() * 20.0D) - 10; + Class58.anInt909 = -1; + Class159.localPlayerCount = 0; + Class161.anInt2028 = 0; + InputStream_Sub1.anInt42 = (int)(110.0D * Math.random()) + -55; + GameObject.aBoolean1837 = false; + Class164_Sub2.anInt3020 = -20 + (int)(30.0D * Math.random()); + Class113.anInt1552 = 0; + Class65.anInt987 = 0; + Class3_Sub13_Sub8.anInt3102 = -60 + (int)(Math.random() * 120.0D); + Class3_Sub13_Sub9.anInt3114 = 0; + Class3_Sub29.anInt2589 = (int)(80.0D * Math.random()) - 40; + Class163.localNPCCount = 0; + + for(var1 = 0; 2048 > var1; ++var1) { + Class3_Sub13_Sub22.players[var1] = null; + Class65.aClass3_Sub30Array986[var1] = null; + } + + for(var1 = 0; var1 < '\u8000'; ++var1) { + Class3_Sub13_Sub24.npcs[var1] = null; + } + + Class102.player = Class3_Sub13_Sub22.players[2047] = new Player(); + Class3_Sub13_Sub30.aClass61_3364.method1211(-112); + Class3_Sub13_Sub15.aClass61_3177.method1211(-58); + if(null != Class3_Sub13_Sub22.aClass61ArrayArrayArray3273) { + for(var1 = 0; 4 > var1; ++var1) { + for(int var2 = 0; ~var2 > -105; ++var2) { + for(int var3 = 0; ~var3 > -105; ++var3) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var1][var2][var3] = null; + } + } + } + } + + Class3_Sub13_Sub6.aClass61_3075 = new Class61(); + Class96.anInt1357 = 0; + Class8.anInt104 = 0; + Class3_Sub13_Sub2.method176(-114); + Class3_Sub2.method103((byte)24); + Class75.anInt1105 = 0; + Class163_Sub2_Sub1.anInt4014 = 0; + Class157.anInt1996 = 0; + Class3_Sub13_Sub34.anInt3414 = 0; + Class146.anInt1904 = 0; + Canvas_Sub2.anInt30 = 0; + GraphicDefinition.anInt529 = 0; + Class149.anInt1923 = 0; + Class3_Sub28_Sub10.anInt3631 = 0; + Class163_Sub2_Sub1.anInt4021 = 0; + + for(var1 = 0; ~NPCDefinition.anIntArray1277.length < ~var1; ++var1) { + NPCDefinition.anIntArray1277[var1] = -1; + } + + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + Class60.method1208((byte)-128, Class3_Sub28_Sub12.anInt3655); + } + + for(Class3_Sub31 var7 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1776(82); var7 != null; var7 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1778(-104)) { + Class3_Sub13_Sub18.method254(true, var7, false); + } + + Class3_Sub28_Sub12.anInt3655 = -1; + Class3_Sub13_Sub17.aClass130_3208 = new Class130(8); + Class3_Sub7.method122(-113); + Class3_Sub13_Sub7.aClass11_3087 = null; + Class38_Sub1.aBoolean2615 = false; + Class3_Sub13_Sub34.anInt3415 = 0; + Class77.aClass52_1112.method1161(new int[]{0, 0, 0, 0, 0}, -1, false, 0, (int[])null, -1); + + for(var1 = 0; 8 > var1; ++var1) { + Class91.aClass94Array1299[var1] = null; + Class1.aBooleanArray54[var1] = false; + Class3_Sub13_Sub26.anIntArray3328[var1] = -1; + } + + Class3_Sub28_Sub9.method580((byte)80); + Class3_Sub13_Sub4.aBoolean3064 = true; + + for(var1 = 0; var1 < 100; ++var1) { + Class3_Sub28_Sub14.aBooleanArray3674[var1] = true; + } + + Node.clanSize = 0; + Class3_Sub28_Sub15.aClass3_Sub19Array3694 = null; + RSInterface.aClass94_251 = null; + + for(var1 = 0; 6 > var1; ++var1) { + Class3_Sub13_Sub33.aClass133Array3393[var1] = new Class133(); + } + + for(var1 = 0; -26 < ~var1; ++var1) { + Class3_Sub13_Sub15.anIntArray3185[var1] = 0; + Class3_Sub20.anIntArray2480[var1] = 0; + Class133.anIntArray1743[var1] = 0; + } + + if(HDToolKit.highDetail) { + Class3_Sub13_Sub14.method236((byte)64); + } + + Class3_Sub28_Sub10_Sub2.aBoolean4068 = var0; + Class113.interfacePacketCounter = 0; + Class3_Sub13_Sub28.aClass94_3353 = Class56.aClass94_891; + Class73.aBoolean1084 = false; + Class3_Sub13_Sub38.aShortArray3455 = Class3_Sub13_Sub9.aShortArray3110 = Class136.aShortArray1779 = Class3_Sub13_Sub38.aShortArray3453 = new short[256]; + Class3_Sub13.method165(-7878); + CacheIndex.aBoolean1951 = false; + Class3_Sub13_Sub8.method204(-3); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "tk.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/AnimationHeader.java b/09HDscape-client/src/org/runite/jagex/AnimationHeader.java new file mode 100644 index 000000000..12bf55cac --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/AnimationHeader.java @@ -0,0 +1,219 @@ +package org.runite.jagex; + + +final class AnimationHeader { + + boolean aBoolean1382 = false; + int anInt1383 = -1; + Class3_Sub17 skins = null; + short[] aShortArray1385; + boolean aBoolean1386 = false; + short[] aShortArray1387; + short[] aShortArray1388; + private static byte[] aByteArray1389 = new byte[500]; + private static short[] aShortArray1390 = new short[500]; + private static short[] aShortArray1391 = new short[500]; + private static short[] aShortArray1392 = new short[500]; + byte[] aByteArray1393; + private static short[] aShortArray1394 = new short[500]; + short[] aShortArray1395; + short[] aShortArray1396; + private static short[] aShortArray1397 = new short[500]; + + + public static void method1595() { + aShortArray1397 = null; + aShortArray1394 = null; + aShortArray1391 = null; + aShortArray1390 = null; + aShortArray1392 = null; + aByteArray1389 = null; + } + +// AnimationHeader(byte[] bs, Class3_Sub17 skin) { +// this.skins = skin; +// RSByteBuffer buffer = new RSByteBuffer(bs); +// RSByteBuffer parent = new RSByteBuffer(bs); +// buffer.index = 2; +// int size = buffer.getByte((byte)-86); +// int var6 = 0; +// int var7 = -1; +// parent.index = buffer.index + size; +// +// int i; +// for(i = 0; i < size; ++i) { +// +// int var11 = buffer.getByte((byte)-55); +// if(var11 > 0) { +// int var10 = this.skins.anIntArray2466[i]; +// if (skins.anIntArray2466[i] != 0) { +// for (int j = i - 1; j > var7; j--) { +// if (skins.anIntArray2466[j] == 0) { +// aShortArray1397[var7] = (short) j; +// aShortArray1394[var7] = 0; +// aShortArray1391[var7] = 0; +// aShortArray1390[var7] = 0; +// var6++; +// break; +// } +// } +// aShortArray1397[var6] = (short)i; +// short var12 = 0; +// if(var10 == 3) { +// var12 = 128; +// } +// +// if((var11 & 1) != 0) { +// aShortArray1394[var6] = (short)parent.getSmart(-21208); +// } else { +// aShortArray1394[var6] = var12; +// } +// +// if((var11 & 2) != 0) { +// aShortArray1391[var6] = (short)parent.getSmart(-21208); +// } else { +// aShortArray1391[var6] = var12; +// } +// +// if((var11 & 4) != 0) { +// aShortArray1390[var6] = (short)parent.getSmart(-21208); +// } else { +// aShortArray1390[var6] = var12; +// } +// +// aByteArray1389[var6] = (byte)(var11 >>> 3 & 3); +// if(var10 == 2) { +// aShortArray1394[var6] = (short)(((aShortArray1394[var6] & 255) << 3) + (aShortArray1394[var6] >> 8 & 7)); +// aShortArray1391[var6] = (short)(((aShortArray1391[var6] & 255) << 3) + (aShortArray1391[var6] >> 8 & 7)); +// aShortArray1390[var6] = (short)(((aShortArray1390[var6] & 255) << 3) + (aShortArray1390[var6] >> 8 & 7)); +// } +// var7 = i; +// if(var10 != 1 && var10 != 2 && var10 != 3) { +// if(var10 == 5) { +// this.aBoolean1386 = true; +// } else if(var10 == 7) { +// this.aBoolean1382 = true; +// } +// } +// +// ++var6; +// } +// } +// +// if(parent.index != bs.length) { +// throw new RuntimeException(); +// } else { +// this.anInt1383 = var6; +// this.aShortArray1385 = new short[var6]; +// this.aShortArray1388 = new short[var6]; +// this.aShortArray1396 = new short[var6]; +// this.aShortArray1395 = new short[var6]; +// this.aShortArray1387 = new short[var6]; +// this.aByteArray1393 = new byte[var6]; +// +// for(i = 0; i < var6; ++i) { +// this.aShortArray1385[i] = aShortArray1397[i]; +// this.aShortArray1388[i] = aShortArray1394[i]; +// this.aShortArray1396[i] = aShortArray1391[i]; +// this.aShortArray1395[i] = aShortArray1390[i]; +// this.aShortArray1387[i] = aShortArray1392[i]; +// this.aByteArray1393[i] = aByteArray1389[i]; +// } +// +// } +// } +// } + AnimationHeader(byte[] bs, Class3_Sub17 skin) { + this.skins = skin; + RSByteBuffer buffer = new RSByteBuffer(bs); + RSByteBuffer parent = new RSByteBuffer(bs); + buffer.index = 2; + int size = buffer.getByte((byte)-86); + int var6 = 0; + int var7 = -1; + int var8 = -1; + parent.index = buffer.index + size; + + int i; + for(i = 0; i < size; ++i) { + int var10 = this.skins.anIntArray2466[i]; + if(var10 == 0) { + var7 = i; + } + int var11 = buffer.getByte((byte)-55); + if(var11 > 0) { + if(var10 == 0) { + var8 = i; + } + + aShortArray1397[var6] = (short)i; + short var12 = 0; + if(var10 == 3) { + var12 = 128; + } + + if((var11 & 1) != 0) { + aShortArray1394[var6] = (short)parent.getSmart(-21208); + } else { + aShortArray1394[var6] = var12; + } + + if((var11 & 2) != 0) { + aShortArray1391[var6] = (short)parent.getSmart(-21208); + } else { + aShortArray1391[var6] = var12; + } + + if((var11 & 4) != 0) { + aShortArray1390[var6] = (short)parent.getSmart(-21208); + } else { + aShortArray1390[var6] = var12; + } + + aByteArray1389[var6] = (byte)(var11 >>> 3 & 3); + if(var10 == 2) { + aShortArray1394[var6] = (short)(((aShortArray1394[var6] & 255) << 3) + (aShortArray1394[var6] >> 8 & 7)); + aShortArray1391[var6] = (short)(((aShortArray1391[var6] & 255) << 3) + (aShortArray1391[var6] >> 8 & 7)); + aShortArray1390[var6] = (short)(((aShortArray1390[var6] & 255) << 3) + (aShortArray1390[var6] >> 8 & 7)); + } + + aShortArray1392[var6] = -1; + if(var10 != 1 && var10 != 2 && var10 != 3) { + if(var10 == 5) { + this.aBoolean1386 = true; + } else if(var10 == 7) { + this.aBoolean1382 = true; + } + } else if(var7 > var8) { + aShortArray1392[var6] = (short)var7; + var8 = var7; + } + + ++var6; + } + } + + if(parent.index != bs.length) { + throw new RuntimeException(); + } else { + this.anInt1383 = var6; + this.aShortArray1385 = new short[var6]; + this.aShortArray1388 = new short[var6]; + this.aShortArray1396 = new short[var6]; + this.aShortArray1395 = new short[var6]; + this.aShortArray1387 = new short[var6]; + this.aByteArray1393 = new byte[var6]; + + for(i = 0; i < var6; ++i) { + this.aShortArray1385[i] = aShortArray1397[i]; + this.aShortArray1388[i] = aShortArray1394[i]; + this.aShortArray1396[i] = aShortArray1391[i]; + this.aShortArray1395[i] = aShortArray1390[i]; + this.aShortArray1387[i] = aShortArray1392[i]; + this.aByteArray1393[i] = aByteArray1389[i]; + } + + } + } + + } diff --git a/09HDscape-client/src/org/runite/jagex/CS2Script.java b/09HDscape-client/src/org/runite/jagex/CS2Script.java new file mode 100644 index 000000000..4e592b8c6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/CS2Script.java @@ -0,0 +1,211 @@ +package org.runite.jagex; + +final class CS2Script extends Class3 { + + static int anInt2437; + RSInterface aClass11_2438; + RSString aClass94_2439; + static int anInt2440 = 0; + int anInt2441; + static Class93 aClass93_2442 = new Class93(50); + int anInt2443; + int anInt2444; + int anInt2445; + boolean aBoolean2446; + int anInt2447; + Object[] arguments; + RSInterface aClass11_2449; + static Class93 aClass93_2450 = new Class93(64); + static int anInt2451 = -1; + static byte[][][] aByteArrayArrayArray2452; + static int anInt2453 = 127; + + + static final void method375(int var0, CacheIndex var1, CacheIndex var2) { + try { + Class10.aClass153_152 = var1; + Class127.aClass153_1680 = var2; + Class25.anInt497 = Class127.aClass153_1680.getFileAmount(var0, (byte)95); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jl.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public static void method376(boolean var0) { + try { + aClass93_2442 = null; + if(var0) { + method378(97, (byte)-80); + } + + aByteArrayArrayArray2452 = (byte[][][])null; + aClass93_2450 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jl.E(" + var0 + ')'); + } + } + + static final void sendRegistryRequest(int year, int country, int day, int month, int stage) { + try { + // System.out.println("CS2Script year=" + year + ", country=" + country + ", day=" + day + ", month=" + month + ", stage=" + stage + ", " + System.currentTimeMillis()); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-119, 147);//Handshake opcode + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-128, day); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-105, month); + Class3_Sub13_Sub1.outgoingBuffer.putShort(year); + Class3_Sub13_Sub1.outgoingBuffer.putShort(country); + Class132.anInt1734 = 0; + GraphicDefinition.anInt548 = 0; + Canvas_Sub1.registryStage = stage; + Class130.anInt1711 = -3; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "jl.C(" + year + ',' + country + ',' + day + ',' + month + ',' + stage + ')'); + } + } + + static final Class79 method378(int var0, byte var1) { + try { + Class79 var2 = (Class79)aClass93_2450.get((long)var0, (byte)121); + if(var2 == null) { + if(var1 < 126) { + return (Class79)null; + } else { + byte[] var3 = Class101.aClass153_1420.getFile(Class140_Sub7.method2032(var0, 5439488), (byte)-122, Class164.method2234(var0, -127)); + var2 = new Class79(); + if(var3 != null) { + var2.method1387(new RSByteBuffer(var3), -111); + } + + aClass93_2450.put((byte)-84, var2, (long)var0); + return var2; + } + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jl.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void method379(int var0) { + try { + int var2 = Class146.anInt1904 * 128 - -64; + int var1 = 128 * Canvas_Sub2.anInt30 + 64; + int var3 = Class121.method1736(WorldListCountry.localPlane, 1, var1, var2) - Class3_Sub13_Sub34.anInt3414; + if(100 <= Class3_Sub28_Sub10.anInt3631) { + NPC.anInt3995 = 64 + Canvas_Sub2.anInt30 * 128; + Class77.anInt1111 = 64 + Class146.anInt1904 * 128; + Class7.anInt2162 = Class121.method1736(WorldListCountry.localPlane, var0 + -1023, NPC.anInt3995, Class77.anInt1111) + -Class3_Sub13_Sub34.anInt3414; + } else { + if(NPC.anInt3995 < var1) { + NPC.anInt3995 += Class163_Sub2_Sub1.anInt4021 + Class3_Sub28_Sub10.anInt3631 * (-NPC.anInt3995 + var1) / 1000; + if(~NPC.anInt3995 < ~var1) { + NPC.anInt3995 = var1; + } + } + + if(~Class7.anInt2162 > ~var3) { + Class7.anInt2162 += (-Class7.anInt2162 + var3) * Class3_Sub28_Sub10.anInt3631 / 1000 + Class163_Sub2_Sub1.anInt4021; + if(Class7.anInt2162 > var3) { + Class7.anInt2162 = var3; + } + } + + if(~NPC.anInt3995 < ~var1) { + NPC.anInt3995 -= Class163_Sub2_Sub1.anInt4021 + (NPC.anInt3995 + -var1) * Class3_Sub28_Sub10.anInt3631 / 1000; + if(NPC.anInt3995 < var1) { + NPC.anInt3995 = var1; + } + } + + if(Class77.anInt1111 < var2) { + Class77.anInt1111 += Class163_Sub2_Sub1.anInt4021 + Class3_Sub28_Sub10.anInt3631 * (var2 - Class77.anInt1111) / 1000; + if(~var2 > ~Class77.anInt1111) { + Class77.anInt1111 = var2; + } + } + + if(var3 < Class7.anInt2162) { + Class7.anInt2162 -= (Class7.anInt2162 - var3) * Class3_Sub28_Sub10.anInt3631 / 1000 + Class163_Sub2_Sub1.anInt4021; + if(~var3 < ~Class7.anInt2162) { + Class7.anInt2162 = var3; + } + } + + if(~Class77.anInt1111 < ~var2) { + Class77.anInt1111 -= Class163_Sub2_Sub1.anInt4021 - -((-var2 + Class77.anInt1111) * Class3_Sub28_Sub10.anInt3631 / 1000); + if(~var2 < ~Class77.anInt1111) { + Class77.anInt1111 = var2; + } + } + } + + var2 = Class157.anInt1996 * 128 - -64; + var1 = Class149.anInt1923 * 128 + 64; + var3 = Class121.method1736(WorldListCountry.localPlane, 1, var1, var2) + -GraphicDefinition.anInt529; + int var5 = var3 + -Class7.anInt2162; + int var6 = -Class77.anInt1111 + var2; + int var4 = -NPC.anInt3995 + var1; + int var7 = (int)Math.sqrt((double)(var4 * var4 + var6 * var6)); + int var8 = (int)(325.949D * Math.atan2((double)var5, (double)var7)) & 2047; + if(128 > var8) { + var8 = 128; + } + + if(~var8 < -384) { + var8 = 383; + } + + int var9 = (int)(-325.949D * Math.atan2((double)var4, (double)var6)) & 2047; + if(~Class139.anInt1823 > ~var8) { + Class139.anInt1823 += Class75.anInt1105 + Class163_Sub2_Sub1.anInt4014 * (-Class139.anInt1823 + var8) / 1000; + if(Class139.anInt1823 > var8) { + Class139.anInt1823 = var8; + } + } + + if(Class139.anInt1823 > var8) { + Class139.anInt1823 -= (Class139.anInt1823 - var8) * Class163_Sub2_Sub1.anInt4014 / 1000 + Class75.anInt1105; + if(~Class139.anInt1823 > ~var8) { + Class139.anInt1823 = var8; + } + } + + int var10 = -Class3_Sub13_Sub25.anInt3315 + var9; + if(var10 > var0) { + var10 -= 2048; + } + + if(-1024 > var10) { + var10 += 2048; + } + + if(~var10 < -1) { + Class3_Sub13_Sub25.anInt3315 += var10 * Class163_Sub2_Sub1.anInt4014 / 1000 + Class75.anInt1105; + Class3_Sub13_Sub25.anInt3315 &= 2047; + } + + if(-1 < ~var10) { + Class3_Sub13_Sub25.anInt3315 -= Class163_Sub2_Sub1.anInt4014 * -var10 / 1000 + Class75.anInt1105; + Class3_Sub13_Sub25.anInt3315 &= 2047; + } + + int var11 = -Class3_Sub13_Sub25.anInt3315 + var9; + if(1024 < var11) { + var11 -= 2048; + } + + if(~var11 > 1023) { + var11 += 2048; + } + + if(var11 < 0 && -1 > ~var10 || var11 > 0 && ~var10 > -1) { + Class3_Sub13_Sub25.anInt3315 = var9; + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "jl.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/CacheIndex.java b/09HDscape-client/src/org/runite/jagex/CacheIndex.java new file mode 100644 index 000000000..6de1ae94a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/CacheIndex.java @@ -0,0 +1,762 @@ +package org.runite.jagex; + +final class CacheIndex { + + static int anInt1944; + private boolean aBoolean1945; + private boolean aBoolean1946; + private Class151 aClass151_1947; + static CacheIndex aClass153_1948; + private Class62 aClass62_1949 = null; + static int anInt1950; + static boolean aBoolean1951 = false; + private Object[][] anObjectArrayArray1952; + static int anInt1953; + private Object[] files; + + + final boolean method2113(byte var1) { + try { + if(!this.method2122(3)) { + return false; + } else { + if(var1 <= 15) { + this.method2113((byte)39); + } + + boolean var2 = true; + + for(int var3 = 0; ~var3 > ~this.aClass62_1949.validArchiveIds.length; ++var3) { + int var4 = this.aClass62_1949.validArchiveIds[var3]; + if(null == this.files[var4]) { + this.method2134(false, var4); + if(null == this.files[var4]) { + var2 = false; + } + } + } + + return var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.IA(" + var1 + ')'); + } + } + + private final int method2114(int var1, int var2) { + try { + if(!this.isValidArchive(false, var1)) { + return 0; + } else { + if(var2 != 0) { + this.method2115(36, false, true); + } + + return this.files[var1] != null?100:this.aClass151_1947.method2097(var1, '\uffff'); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.J(" + var1 + ',' + var2 + ')'); + } + } + + final void method2115(int var1, boolean var2, boolean var3) { + try { + int var4 = 9 / ((var1 - 35) / 44); + if(this.method2122(3)) { + if(var2) { + this.aClass62_1949.archiveNameHash = null; + this.aClass62_1949.aClass69_949 = null; + } + + if(var3) { + this.aClass62_1949.aClass69Array962 = null; + this.aClass62_1949.fileNameHashes = (int[][])null; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.R(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final int method2116(int var1, RSString var2) { + try { + if(!this.method2122(var1 + -22810)) { + return 0; + } else { + var2 = var2.method1534(-98); + if(var1 != 22813) { + return -12; + } else { + int var3 = this.aClass62_1949.aClass69_949.method1280(var2.method1574(false), 1); + return this.method2114(var3, 0); + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.P(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final boolean method2117(int var1, int var2) { + try { + if(var1 >= -88) { + this.aBoolean1945 = true; + } + + if(this.isValidArchive(false, var2)) { + if(null == this.files[var2]) { + this.method2134(false, var2); + return null != this.files[var2]; + } else { + return true; + } + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.GA(" + var1 + ',' + var2 + ')'); + } + } + + final int getCRCValue(byte var1) { + try { + if(var1 >= -116) { + this.method2115(-97, true, true); + } + + if(this.method2122(3)) { + return this.aClass62_1949.anInt964; + } else { + throw new IllegalStateException(""); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ve.T(" + var1 + ')'); + } + } + + public static void method2119(int var0) { + try { + if(var0 != 100) { + method2143((byte)-45, -91, 7, -83, 24); + } + + aClass153_1948 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ve.AA(" + var0 + ')'); + } + } + + final int getArchiveForName(RSString name, byte var2) { + try { + if(this.method2122(3)) { + name = name.method1534(var2 ^ 124); + int var3 = this.aClass62_1949.aClass69_949.method1280(name.method1574(false), var2 ^ -29); + return this.isValidArchive(false, var3)?(var2 != -30?87:var3):-1; + } else { + return -1; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.EA(" + (name != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final int method2121(int var1) { + try { + if(!this.method2122(3)) { + return -1; + } else { + if(var1 != 0) { + this.method2139(45, 104, -3); + } + + return this.aClass62_1949.archiveLengths.length; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ve.D(" + var1 + ')'); + } + } + + private final boolean method2122(int var1) { + try { + if(var1 != 3) { + this.method2137((byte)-93); + } + + if(this.aClass62_1949 == null) { + this.aClass62_1949 = this.aClass151_1947.method2094(0); + if(null == this.aClass62_1949) { + return false; + } + + this.anObjectArrayArray1952 = new Object[this.aClass62_1949.archiveAmount][]; + this.files = new Object[this.aClass62_1949.archiveAmount]; + } + + return true; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ve.W(" + var1 + ')'); + } + } + + final byte[] method2123(int var1, RSString var2, RSString var3) { + try { + if(!this.method2122(var1 ^ 3)) { + return null; + } else { + var3 = var3.method1534(-98); + var2 = var2.method1534(-98); + int var4 = this.aClass62_1949.aClass69_949.method1280(var3.method1574(false), 1); + if(var1 != 0) { + this.aClass62_1949 = (Class62)null; + } + + if(this.isValidArchive(false, var4)) { + int var5 = this.aClass62_1949.aClass69Array962[var4].method1280(var2.method1574(false), 1); + return this.getFile(var4, (byte)-122, var5); + } else { + return null; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ve.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final void method2124(int var1, RSString var2) { + try { + if(this.method2122(3)) { + var2 = var2.method1534(-98); + int var3 = this.aClass62_1949.aClass69_949.method1280(var2.method1574(false), 1); + this.method2131(119, var3); + int var4 = 123 % ((var1 - -60) / 62); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.V(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final boolean method2125(RSString var1, byte var2, RSString var3) { + try { + if(!this.method2122(var2 + -113)) { + return false; + } else { + var3 = var3.method1534(var2 + -214); + var1 = var1.method1534(-98); + int var4 = this.aClass62_1949.aClass69_949.method1280(var3.method1574(false), 1); + if(this.isValidArchive(false, var4)) { + int var5 = this.aClass62_1949.aClass69Array962[var4].method1280(var1.method1574(false), 1); + if(var2 != 116) { + this.aBoolean1945 = true; + } + + return this.method2129((byte)70, var5, var4); + } else { + return false; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ve.DA(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final byte[] getFile(int archive, int[] xteaKeys, int var3, int file) { + try { + if(!this.method2139(archive, 0, file)) { + return null; + } else { + if(this.anObjectArrayArray1952[archive] == null || this.anObjectArrayArray1952[archive][file] == null) { + boolean var5 = this.method2132(archive, false, xteaKeys); + if(!var5) { + this.method2134(false, archive); + var5 = this.method2132(archive, false, xteaKeys); + if(!var5) { + return null; + } + } + } + + if(var3 < 35) { + return (byte[])null; + } else { + byte[] var7 = NPC.method1985(-119, this.anObjectArrayArray1952[archive][file], false); + if(this.aBoolean1946) { + this.anObjectArrayArray1952[archive][file] = null; + if(this.aClass62_1949.archiveLengths[archive] == 1) { + this.anObjectArrayArray1952[archive] = null; + } + } + + return var7; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ve.BA(" + archive + ',' + (xteaKeys != null?"{...}":"null") + ',' + var3 + ',' + file + ')'); + } + } + + final boolean method2127(byte var1, RSString var2) { + try { + if(this.method2122(3)) { + var2 = var2.method1534(-98); + int var3 = this.aClass62_1949.aClass69_949.method1280(var2.method1574(false), var1 + 84); + return var1 != -83?true:this.method2117(-104, var3); + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.O(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void method2128(int var1, int var2) { + try { + if(var1 == 7561) { + if(this.isValidArchive(false, var2)) { + if(null != this.anObjectArrayArray1952) { + this.anObjectArrayArray1952[var2] = null; + } + + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.B(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method2129(byte var1, int var2, int var3) { + try { + int var4 = 78 / ((-10 - var1) / 59); + if(this.method2139(var3, 0, var2)) { + if(this.anObjectArrayArray1952[var3] != null && null != this.anObjectArrayArray1952[var3][var2]) { + return true; + } else if(this.files[var3] == null) { + this.method2134(false, var3); + return this.files[var3] != null; + } else { + return true; + } + } else { + return false; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.FA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final boolean isValidArchive(boolean var1, int archiveId) { + try { + if(var1) { + aBoolean1951 = false; + } + + if(this.method2122(3)) { + if(archiveId >= 0 && this.aClass62_1949.archiveLengths.length > archiveId && ~this.aClass62_1949.archiveLengths[archiveId] != -1) { + return true; + } else if(!Class134.aBoolean1765) { + return false; + } else { + throw new IllegalArgumentException(Integer.toString(archiveId)); + } + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.E(" + var1 + ',' + archiveId + ')'); + } + } + + private final void method2131(int var1, int var2) { + try { + this.aClass151_1947.method2095(var2, 127); + if(var1 < 101) { + this.method2132(53, false, (int[])null); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.L(" + var1 + ',' + var2 + ')'); + } + } + + private final boolean method2132(int archive, boolean var2, int[] xteaKeys) { + try { + if(!this.isValidArchive(var2, archive)) { + return false; + } else if(this.files[archive] == null) { + return false; + } else { + int[] var5 = this.aClass62_1949.validFileIds[archive]; + int var4 = this.aClass62_1949.archiveFileLengths[archive]; + if(this.anObjectArrayArray1952[archive] == null) { + this.anObjectArrayArray1952[archive] = new Object[this.aClass62_1949.archiveLengths[archive]]; + } + + boolean var7 = true; + Object[] var6 = this.anObjectArrayArray1952[archive]; + + for(int var8 = 0; var8 < var4; ++var8) { + int var9; + if(var5 == null) { + var9 = var8; + } else { + var9 = var5[var8]; + } + + if(var6[var9] == null) { + var7 = false; + break; + } + } + + if(var7) { + return true; + } else { + byte[] var21; + if(null != xteaKeys && (xteaKeys[0] != 0 || 0 != xteaKeys[1] || 0 != xteaKeys[2] || xteaKeys[3] != 0)) { + var21 = NPC.method1985(-124, this.files[archive], true); + RSByteBuffer var22 = new RSByteBuffer(var21); + var22.method770(xteaKeys, 120, 5, var22.buffer.length); + } else { + var21 = NPC.method1985(-128, this.files[archive], false); + } + + byte[] var23; + try { + var23 = Class3_Sub28_Sub13.method623((byte)-125, var21); + } catch (Throwable var19) { + throw Class44.method1067(var19, "T3 - " + (xteaKeys != null) + "," + archive + "," + var21.length + "," + Class38.method1026(var21, var21.length, false) + "," + Class38.method1026(var21, var21.length - 2, false) + "," + this.aClass62_1949.archiveCRCs[archive] + "," + this.aClass62_1949.anInt964); + } + + if(this.aBoolean1945) { + this.files[archive] = null; + } + + int var10; + if(var4 > 1) { + var10 = var23.length; + --var10; + int var11 = 255 & var23[var10]; + var10 -= var4 * var11 * 4; + RSByteBuffer var12 = new RSByteBuffer(var23); + var12.index = var10; + int[] var13 = new int[var4]; + + int var15; + int var16; + for(int var14 = 0; ~var14 > ~var11; ++var14) { + var15 = 0; + + for(var16 = 0; ~var4 < ~var16; ++var16) { + var15 += var12.getInt(); + if(null == var5) { + ; + } + + var13[var16] += var15; + } + } + + byte[][] var24 = new byte[var4][]; + + for(var15 = 0; ~var15 > ~var4; ++var15) { + var24[var15] = new byte[var13[var15]]; + var13[var15] = 0; + } + + var12.index = var10; + var15 = 0; + + int var17; + for(var16 = 0; ~var16 > ~var11; ++var16) { + var17 = 0; + + for(int var18 = 0; ~var4 < ~var18; ++var18) { + var17 += var12.getInt(); + Class76.method1357(var23, var15, var24[var18], var13[var18], var17); + var15 += var17; + var13[var18] += var17; + } + } + + for(var16 = 0; ~var4 < ~var16; ++var16) { + if(var5 != null) { + var17 = var5[var16]; + } else { + var17 = var16; + } + + if(this.aBoolean1946) { + var6[var17] = var24[var16]; + } else { + var6[var17] = Class15.method890(false, -114, var24[var16]); + } + } + } else { + if(null != var5) { + var10 = var5[0]; + } else { + var10 = 0; + } + + if(!this.aBoolean1946) { + var6[var10] = Class15.method890(false, -80, var23); + } else { + var6[var10] = var23; + } + } + + return true; + } + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "ve.I(" + archive + ',' + var2 + ',' + (xteaKeys != null?"{...}":"null") + ')'); + } + } + + final byte[] getFile(int archive, byte var2, int file) { + try { + if(var2 != -122) { + this.method2134(false, 93); + } + + return this.getFile(archive, (int[])null, 52, file); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.M(" + archive + ',' + var2 + ',' + file + ')'); + } + } + + private final void method2134(boolean var1, int var2) { + try { + if(!this.aBoolean1945) { + this.files[var2] = Class15.method890(false, -101, this.aClass151_1947.method2098(var2, 0)); + } else { + this.files[var2] = this.aClass151_1947.method2098(var2, 0); + } + + if(var1) { + this.aBoolean1945 = false; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.F(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method2135(RSString var1, int var2) { + try { + if(var2 >= -103) { + return false; + } else if(this.method2122(3)) { + var1 = var1.method1534(-98); + int var3 = this.aClass62_1949.aClass69_949.method1280(var1.method1574(false), 1); + return ~var3 <= -1; + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.S(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final int method2136(byte var1) { + try { + if(var1 > -121) { + anInt1950 = -3; + } + + if(!this.method2122(3)) { + return 0; + } else { + int var2 = 0; + int var3 = 0; + + int var4; + for(var4 = 0; var4 < this.files.length; ++var4) { + if(0 < this.aClass62_1949.archiveFileLengths[var4]) { + var2 += 100; + var3 += this.method2114(var4, 0); + } + } + + if(var2 != 0) { + var4 = var3 * 100 / var2; + return var4; + } else { + return 100; + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.N(" + var1 + ')'); + } + } + + final void method2137(byte var1) { + try { + if(var1 != 56) { + this.anObjectArrayArray1952 = (Object[][])((Object[][])null); + } + + if(this.anObjectArrayArray1952 != null) { + for(int var2 = 0; this.anObjectArrayArray1952.length > var2; ++var2) { + this.anObjectArrayArray1952[var2] = null; + } + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ve.Q(" + var1 + ')'); + } + } + + final byte[] method2138(int var1, int var2) { + try { + if(!this.method2122(var2 ^ 3)) { + return null; + } else if(~this.aClass62_1949.archiveLengths.length == -2) { + return this.getFile(0, (byte)-122, var1); + } else if(!this.isValidArchive(false, var1)) { + return null; + } else if(~this.aClass62_1949.archiveLengths[var1] != -2) { + if(var2 != 0) { + return (byte[])null; + } else { + throw new RuntimeException(); + } + } else { + return this.getFile(var1, (byte)-122, 0); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.HA(" + var1 + ',' + var2 + ')'); + } + } + + private final boolean method2139(int archive, int var2, int file) { + try { + if(this.method2122(3)) { + if(var2 <= archive && -1 >= ~file && ~this.aClass62_1949.archiveLengths.length < ~archive && this.aClass62_1949.archiveLengths[archive] > file) { + return true; + } else if(!Class134.aBoolean1765) { + return false; + } else { + throw new IllegalArgumentException(archive + "," + file); + } + } else { + return false; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.K(" + archive + ',' + var2 + ',' + file + ')'); + } + } + + final byte[] method2140(int file, int archive, int var3) { + try { + if(!this.method2139(archive, var3 + var3, file)) { + return null; + } else { + if(this.anObjectArrayArray1952[archive] == null || null == this.anObjectArrayArray1952[archive][file]) { + boolean var4 = this.method2132(archive, false, (int[])null); + if(!var4) { + this.method2134(false, archive); + var4 = this.method2132(archive, false, (int[])null); + if(!var4) { + return null; + } + } + } + + byte[] var6 = NPC.method1985(-126, this.anObjectArrayArray1952[archive][file], false); + return var6; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.CA(" + file + ',' + archive + ',' + var3 + ')'); + } + } + + final int[] getFileIds(byte var1, int archiveId) { + try { + if(var1 != -128) { + anInt1953 = -69; + } + + if(!this.isValidArchive(false, archiveId)) { + return null; + } else { + int[] var3 = this.aClass62_1949.validFileIds[archiveId]; + if(null == var3) { + var3 = new int[this.aClass62_1949.archiveFileLengths[archiveId]]; + + for(int var4 = 0; var3.length > var4; var3[var4] = var4++) { + ; + } + } + + return var3; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.G(" + var1 + ',' + archiveId + ')'); + } + } + + CacheIndex(Class151 var1, boolean var2, boolean var3) { + try { + this.aClass151_1947 = var1; + this.aBoolean1945 = var2; + this.aBoolean1946 = var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ve.(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final int getFileAmount(int archiveId, byte var2) { + try { + if(!this.isValidArchive(false, archiveId)) { + return 0; + } else { + if(var2 <= 60) { + this.method2122(32); + } + + return this.aClass62_1949.archiveLengths[archiveId]; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.H(" + archiveId + ',' + var2 + ')'); + } + } + + static final void method2143(byte var0, int var1, int var2, int var3, int var4) { + try { + Class3_Sub28_Sub6 var5 = Class3_Sub24_Sub3.method466(4, 8, var2); + var5.g((byte)33); + var5.anInt3596 = var1; + if(var0 >= -120) { + anInt1950 = -14; + } + + var5.anInt3598 = var4; + var5.anInt3597 = var3; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ve.U(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final boolean method2144(int var1, int archiveId) { + try { + if(!this.method2122(3)) { + return false; + } else if(~this.aClass62_1949.archiveLengths.length == -2) { + return this.method2129((byte)86, archiveId, 0); + } else if(this.isValidArchive(false, archiveId)) { + if(1 == this.aClass62_1949.archiveLengths[archiveId]) { + return this.method2129((byte)109, 0, archiveId); + } else if(var1 != 0) { + return false; + } else { + throw new RuntimeException(); + } + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ve.A(" + var1 + ',' + archiveId + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Canvas_Sub1.java b/09HDscape-client/src/org/runite/jagex/Canvas_Sub1.java new file mode 100644 index 000000000..6e19534a0 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Canvas_Sub1.java @@ -0,0 +1,74 @@ +package org.runite.jagex; +import java.awt.Canvas; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; + +final class Canvas_Sub1 extends Canvas implements FocusListener { + + static int anInt14 = 0; + static int anInt15 = 0; + static int anInt16; + static int anInt17; + static int anInt18; + static int anInt19; + static int[][] anIntArrayArray20 = new int[5][5000]; + static Class93 aClass93_21 = new Class93(64); + static RSString aClass94_22 = RSString.createRSString("leuchten3:"); + static int registryStage = 0; + static RSString aClass94_24 = RSString.createRSString("Chargement de RuneScape en cours )2 veuillez patienter)3)3)3"); + static int anInt25 = 1; + static RSString aClass94_26 = RSString.createRSString("n"); + + + public static void method53(int var0) { + try { + aClass93_21 = null; + aClass94_24 = null; + aClass94_22 = null; + anIntArrayArray20 = (int[][])null; + aClass94_26 = null; + if(var0 != 0) { + aClass93_21 = (Class93)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oe.C(" + var0 + ')'); + } + } + + static final int method54(int var0, boolean var1) { + try { + return var1?-81:var0 & 127; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "oe.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void method55(int var0) { + try { + if(var0 != 22683) { + method53(43); + } + + aClass93_21.method1523((byte)-100); + Class99.aClass93_1401.method1523((byte)-105); + Class3_Sub28_Sub7_Sub1.aClass93_4051.method1523((byte)-101); + Class154.aClass93_1965.method1523((byte)-119); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oe.B(" + var0 + ')'); + } + } + +@Override +public void focusGained(FocusEvent e) { + // TODO Auto-generated method stub + +} + +@Override +public void focusLost(FocusEvent e) { + // TODO Auto-generated method stub + +} + +} diff --git a/09HDscape-client/src/org/runite/jagex/Canvas_Sub2.java b/09HDscape-client/src/org/runite/jagex/Canvas_Sub2.java new file mode 100644 index 000000000..1f2eceee6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Canvas_Sub2.java @@ -0,0 +1,328 @@ +package org.runite.jagex; +import java.awt.Canvas; +import java.awt.Component; +import java.awt.Graphics; + +final class Canvas_Sub2 extends Canvas { + + static int anInt27; + static RSString aClass94_28 = RSString.createRSString("; Expires=Thu)1 01)2Jan)21970 00:00:00 GMT; Max)2Age=0"); + static boolean aBoolean29 = false; + static int anInt30; + static int anInt31 = 0; + + private Component aComponent33; + private static RSString aClass94_34 = RSString.createRSString("flash2:"); + static RSString aClass94_32 = aClass94_34; + static RSString aClass94_35 = RSString.createRSString("Annuler"); + static RSString aClass94_36 = aClass94_34; + + + static final void method56(int var0, int var1) { + try { + int var3 = 81 % ((39 - var1) / 41); + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 6, var0); + var2.a(true); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "tm.C(" + var0 + ',' + var1 + ')'); + } + } + + static final boolean loadInterface(int archive, int var1) { + try { + if(!Class130.aBooleanArray1703[archive]) { + if(Class3_Sub13_Sub29.aClass153_3361.method2117(-99, archive)) { + int fileLength = Class3_Sub13_Sub29.aClass153_3361.getFileAmount(archive, (byte)94); + if(0 == fileLength) { + Class130.aBooleanArray1703[archive] = true; + return true; + } else { + if(null == GameObject.aClass11ArrayArray1834[archive]) { + GameObject.aClass11ArrayArray1834[archive] = new RSInterface[fileLength]; + } + + for(int fileId = 0; fileId < fileLength; ++fileId) { + if(null == GameObject.aClass11ArrayArray1834[archive][fileId]) { + byte[] var4 = Class3_Sub13_Sub29.aClass153_3361.getFile(archive, (byte)-122, fileId); + if(var4 != null) { + RSInterface var5 = GameObject.aClass11ArrayArray1834[archive][fileId] = new RSInterface(); + var5.anInt279 = fileId + (archive << 16); + if(-1 == var4[0]) { + var5.decodeScriptFormat(var1 ^ -105, new RSByteBuffer(var4)); + } else { + var5.decodeNoScripts(-115, new RSByteBuffer(var4)); + } + } + } + } + + Class130.aBooleanArray1703[archive] = true; + if(var1 != 104) { + parsePlayerMasks(100); + } + + return true; + } + } else { + return false; + } + } else { + return true; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "tm.A(" + archive + ',' + var1 + ')'); + } + } + + static final void parsePlayerMasks(int var0) { + try { + int var1 = 0; + if(var0 >= -46) { + method60(95, -37, -27, (Class91[])null, -59, (byte)-121, (byte[])null, -69, -50, -72, false); + } + + while(var1 < Class66.maskUpdateCount) { + int var2 = Class21.maskUpdateIndexes[var1]; + Player var3 = Class3_Sub13_Sub22.players[var2]; + int var4 = GraphicDefinition.incomingBuffer.getByte((byte)-43); + if(-1 != ~(16 & var4)) { + var4 += GraphicDefinition.incomingBuffer.getByte((byte)-43) << 8; + } + + Class45.parsePlayerMask(var4, var2, (byte)-79, var3); + ++var1; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "tm.D(" + var0 + ')'); + } + } + + public static void method59(byte var0) { + try { + aClass94_28 = null; + aClass94_35 = null; + aClass94_34 = null; + if(var0 >= -69) { + aBoolean29 = false; + } + + aClass94_36 = null; + aClass94_32 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tm.B(" + var0 + ')'); + } + } + + public final void update(Graphics var1) { + try { + this.aComponent33.update(var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "tm.update(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method60(int var0, int var1, int var2, Class91[] var3, int var4, byte var5, byte[] var6, int var7, int var8, int var9, boolean var10) { + try { + int var13; + if(!var10) { + for(int var12 = 0; -9 < ~var12; ++var12) { + for(var13 = 0; 8 > var13; ++var13) { + if(0 < var1 - -var12 && var12 + var1 < 103 && -1 > ~(var13 + var4) && -104 < ~(var4 + var13)) { + var3[var2].anIntArrayArray1304[var12 + var1][var13 + var4] = Class3_Sub28_Sub15.method633(var3[var2].anIntArrayArray1304[var12 + var1][var13 + var4], -16777217); + } + } + } + } + + if(var5 >= -91) { + aClass94_36 = (RSString)null; + } + + byte var11; + if(var10) { + var11 = 1; + } else { + var11 = 4; + } + + RSByteBuffer var25 = new RSByteBuffer(var6); + + int var14; + int var15; + for(var13 = 0; var13 < var11; ++var13) { + for(var14 = 0; var14 < 64; ++var14) { + for(var15 = 0; -65 < ~var15; ++var15) { + if(~var7 == ~var13 && var9 <= var14 && 8 + var9 > var14 && var8 <= var15 && var15 < 8 + var8) { + Class167.method2267(0, 0, var10, var25, Class3_Sub13_Sub29.method310(var0, (byte)-117, 7 & var14, 7 & var15) + var4, Node.method519(var0, true, var15 & 7, var14 & 7) + var1, (byte)63, var0, var2); + } else { + Class167.method2267(0, 0, var10, var25, -1, -1, (byte)123, 0, 0); + } + } + } + } + + int var17; + int var21; + int var20; + int var22; + int var29; + while(~var25.buffer.length < ~var25.index) { + var14 = var25.getByte((byte)-74); + if(-130 != ~var14) { + --var25.index; + break; + } + + for(var15 = 0; var15 < 4; ++var15) { + byte var16 = var25.getByte(); + int var18; + if(var16 != 0) { + if(~var16 == -2) { + for(var17 = 0; 64 > var17; var17 += 4) { + for(var18 = 0; -65 < ~var18; var18 += 4) { + byte var19 = var25.getByte(); + if(~var15 >= ~var7) { + for(var20 = var17; ~var20 > ~(var17 + 4); ++var20) { + for(var21 = var18; var21 < 4 + var18; ++var21) { + if(~var20 <= ~var9 && ~var20 > ~(8 + var9) && ~var21 <= ~var8 && ~(var8 + 8) < ~var8) { + var22 = var1 - -Node.method519(var0, true, var21 & 7, var20 & 7); + int var23 = Class3_Sub13_Sub29.method310(var0, (byte)-97, 7 & var20, var21 & 7) + var4; + if(0 <= var22 && 104 > var22 && -1 >= ~var23 && ~var23 > -105) { + Class136.aByteArrayArrayArray1774[var2][var22][var23] = var19; + } + } + } + } + } + } + } + } else if(-3 == ~var16) { + ; + } + } else if(var15 <= var7) { + var18 = 7 + var1; + var17 = var1; + var20 = var4 - -7; + if(-1 < ~var20) { + var20 = 0; + } else if(104 <= var20) { + var20 = 104; + } + + if(0 <= var18) { + if(~var18 <= -105) { + var18 = 104; + } + } else { + var18 = 0; + } + + var29 = var4; + if(var4 < 0) { + var29 = 0; + } else if(104 <= var4) { + var29 = 104; + } + + if(var1 < 0) { + var17 = 0; + } else if(104 <= var1) { + var17 = 104; + } + + while(var18 > var17) { + while(var29 < var20) { + Class136.aByteArrayArrayArray1774[var2][var17][var29] = 0; + ++var29; + } + + ++var17; + } + } + } + } + + boolean var27 = false; + int var28; + if(HDToolKit.highDetail && !var10) { + Class86 var26 = null; + + while(var25.buffer.length > var25.index) { + var15 = var25.getByte((byte)-33); + if(var15 != 0) { + if(-2 != ~var15) { + throw new IllegalStateException(); + } + + var28 = var25.getByte((byte)-71); + if(-1 > ~var28) { + for(var17 = 0; ~var17 > ~var28; ++var17) { + Class43 var30 = new Class43(var25); + if(~var30.anInt705 == -32) { + Class57 var31 = Class81.method1401(1001, var25.getShort(1)); + var30.method1060((byte)123, var31.anInt896, var31.anInt908, var31.anInt899, var31.anInt907); + } + + var29 = var30.anInt703 >> 7; + var20 = var30.anInt708 >> 7; + if(~var7 == ~var30.anInt704 && ~var29 <= ~var9 && var9 - -8 > var29 && ~var8 >= ~var20 && ~(var8 - -8) < ~var20) { + var21 = Class3_Sub26.method514(var0, var30.anInt703 & 1023, (byte)-83, 1023 & var30.anInt708) + (var1 << 7); + var22 = Class3_Sub13_Sub25.method293(var30.anInt703 & 1023, var0, false, 1023 & var30.anInt708) + (var4 << 7); + var30.anInt703 = var21; + var30.anInt708 = var22; + var29 = var30.anInt703 >> 7; + var20 = var30.anInt708 >> 7; + if(var29 >= 0 && -1 >= ~var20 && 104 > var29 && var20 < 104) { + var30.aBoolean696 = ~(2 & Class9.aByteArrayArrayArray113[1][var29][var20]) != -1; + var30.anInt697 = Class44.anIntArrayArrayArray723[var30.anInt704][var29][var20] - var30.anInt697; + Class68.method1264(var30); + } + } + } + } + } else { + var26 = new Class86(var25); + } + } + + if(null == var26) { + var26 = new Class86(); + } + + Class115.aClass86ArrayArray1581[var1 >> 3][var4 >> 3] = var26; + } + + if(!var27) { + var14 = 7 + var1; + var15 = var4 - -7; + + for(var28 = var1; ~var28 > ~var14; ++var28) { + for(var17 = var4; ~var17 > ~var15; ++var17) { + Class136.aByteArrayArrayArray1774[var2][var28][var17] = 0; + } + } + } + + } catch (RuntimeException var24) { + throw Class44.method1067(var24, "tm.E(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + (var6 != null?"{...}":"null") + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + public final void paint(Graphics var1) { + try { + this.aComponent33.paint(var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "tm.paint(" + (var1 != null?"{...}":"null") + ')'); + } + } + + Canvas_Sub2(Component var1) { + try { + this.aComponent33 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "tm.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class1.java b/09HDscape-client/src/org/runite/jagex/Class1.java new file mode 100644 index 000000000..8e94c64de --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class1.java @@ -0,0 +1,718 @@ +package org.runite.jagex; + +final class Class1 { + + static int[] anIntArray52 = new int[4096]; + static RSString aClass94_53; + static boolean[] aBooleanArray54; + static int anInt55; + static int anInt56; + static int anInt57; + static RSString aClass94_58; + + + static final void method69(Class36 var0, int var1) { + try { + if(var1 < 2) { + method69((Class36)null, -115); + } + + Class3_Sub13_Sub9.aClass36_3112 = var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "a.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final Class3_Sub11[] method70(float[][] var0, float[][] var1, int[][] var2, int var3, float[][] var4, byte[][] var5, int[][] var6, int var7, byte[][] var8, byte[][] var9, byte[][] var10, byte[][][] var11) { + try { + Class130 var12 = new Class130(128); + + int var13; + int var14; + int var15; + int var16; + int var21; + int var23; + int var22; + int var25; + int var24; + int var27; + int var26; + int var29; + int var28; + int var30; + int var35; + byte var33; + int var36; + int var58; + int var65; + boolean[] var79; + int var73; + int var74; + boolean[] var75; + boolean[] var81; + for(var13 = 1; var13 <= 102; ++var13) { + for(var14 = 1; ~var14 >= -103; ++var14) { + var15 = var9[var13][var14] & 255; + var16 = 255 & var10[var13][var14]; + if(~var16 != -1) { + Class168 var17 = Class3_Sub13_Sub37.method350((byte)-81, -1 + var16); + if(var17.anInt2103 == -1) { + continue; + } + + Class3_Sub11 var18 = AnimationDefinition.method2052(var12, false, var17); + byte var19 = var8[var13][var14]; + int[] var20 = Class134.anIntArrayArray1763[var19]; + var18.anInt2342 += var20.length / 2; + ++var18.anInt2344; + if(var17.aBoolean2092 && var15 != 0) { + var18.anInt2342 += Class3_Sub28_Sub7.anIntArray3607[var19]; + } + } + + if(-1 != ~(var9[var13][var14] & 255) || ~var16 != -1 && ~var8[var13][var14] == -1) { + var58 = 0; + int var60 = 0; + var21 = 0; + var65 = 0; + var23 = 255 & var10[var13][1 + var14]; + var25 = var10[var13][var14 - 1] & 255; + var24 = var10[-1 + var13][var14] & 255; + int[] var63 = new int[8]; + var22 = 0; + var27 = 255 & var10[var13 + -1][1 + var14]; + var26 = var10[var13 + 1][var14] & 255; + var29 = 255 & var10[var13 + 1][-1 + var14]; + var28 = var10[var13 - 1][-1 + var14] & 255; + var30 = var10[1 + var13][var14 - -1] & 255; + Class168 var31; + int var34; + byte var32; + boolean var70; + if(0 != var27 && ~var16 != ~var27) { + var31 = Class3_Sub13_Sub37.method350((byte)106, -1 + var27); + if(var31.aBoolean2092 && ~var31.anInt2103 != 0) { + var32 = var5[var13 + -1][var14 - -1]; + var33 = var8[-1 + var13][var14 + 1]; + var34 = Class75_Sub2.anIntArray2642[4 * var33 - -(2 + var32 & 3)]; + var35 = Class75_Sub2.anIntArray2642[(3 + var32 & 3) + 4 * var33]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][0]) { + var70 = false; + } else { + for(var36 = 0; 8 > var36; ++var36) { + if(~var36 == ~var58) { + var63[var58++] = var27; + break; + } + + if(~var27 == ~var63[var36]) { + break; + } + } + } + } else { + var70 = false; + } + } else { + var70 = false; + } + + boolean var69; + if(-1 != ~var28 && var28 != var16) { + var31 = Class3_Sub13_Sub37.method350((byte)114, -1 + var28); + if(var31.aBoolean2092 && 0 != ~var31.anInt2103) { + var32 = var5[-1 + var13][var14 + -1]; + var33 = var8[-1 + var13][-1 + var14]; + var34 = Class75_Sub2.anIntArray2642[var33 * 4 - -(var32 & 3)]; + var35 = Class75_Sub2.anIntArray2642[(var32 - -3 & 3) + var33 * 4]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) { + var69 = false; + } else { + for(var36 = 0; ~var36 > -9; ++var36) { + if(~var58 == ~var36) { + var63[var58++] = var28; + break; + } + + if(~var63[var36] == ~var28) { + break; + } + } + } + } else { + var69 = false; + } + } else { + var69 = false; + } + + boolean var72; + if(-1 != ~var29 && ~var16 != ~var29) { + var31 = Class3_Sub13_Sub37.method350((byte)107, var29 - 1); + if(var31.aBoolean2092 && ~var31.anInt2103 != 0) { + var32 = var5[1 + var13][var14 - 1]; + var33 = var8[var13 - -1][var14 + -1]; + var35 = Class75_Sub2.anIntArray2642[4 * var33 + (3 & 1 + var32)]; + var34 = Class75_Sub2.anIntArray2642[var33 * 4 - -(var32 & 3)]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][0]) { + var72 = false; + } else { + for(var36 = 0; ~var36 > -9; ++var36) { + if(~var58 == ~var36) { + var63[var58++] = var29; + break; + } + + if(~var29 == ~var63[var36]) { + break; + } + } + } + } else { + var72 = false; + } + } else { + var72 = false; + } + + boolean var71; + if(var30 != 0 && ~var30 != ~var16) { + var31 = Class3_Sub13_Sub37.method350((byte)105, var30 + -1); + if(var31.aBoolean2092 && 0 != ~var31.anInt2103) { + var32 = var5[var13 - -1][1 + var14]; + var33 = var8[var13 + 1][1 + var14]; + var35 = Class75_Sub2.anIntArray2642[4 * var33 + (var32 - -1 & 3)]; + var34 = Class75_Sub2.anIntArray2642[var33 * 4 + (var32 - -2 & 3)]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var34][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) { + var71 = false; + } else { + for(var36 = 0; ~var36 > -9; ++var36) { + if(var58 == var36) { + var63[var58++] = var30; + break; + } + + if(~var30 == ~var63[var36]) { + break; + } + } + } + } else { + var71 = false; + } + } else { + var71 = false; + } + + if(-1 != ~var23 && ~var16 != ~var23) { + var31 = Class3_Sub13_Sub37.method350((byte)-29, -1 + var23); + if(var31.aBoolean2092 && var31.anInt2103 != -1) { + var60 = Class75_Sub2.anIntArray2642[4 * var8[var13][var14 - -1] + (var5[var13][var14 - -1] - -2 & 3)]; + + for(var74 = 0; ~var74 > -9; ++var74) { + if(~var58 == ~var74) { + var63[var58++] = var23; + break; + } + + if(var63[var74] == var23) { + break; + } + } + } + } + + if(0 != var24 && ~var16 != ~var24) { + var31 = Class3_Sub13_Sub37.method350((byte)-32, var24 + -1); + if(var31.aBoolean2092 && var31.anInt2103 != -1) { + var65 = Class75_Sub2.anIntArray2642[(3 & 3 + var5[var13 + -1][var14]) + var8[var13 + -1][var14] * 4]; + + for(var74 = 0; -9 < ~var74; ++var74) { + if(var58 == var74) { + var63[var58++] = var24; + break; + } + + if(~var24 == ~var63[var74]) { + break; + } + } + } + } + + if(-1 != ~var25 && var16 != var25) { + var31 = Class3_Sub13_Sub37.method350((byte)112, -1 + var25); + if(var31.aBoolean2092 && ~var31.anInt2103 != 0) { + var21 = Class75_Sub2.anIntArray2642[(3 & var5[var13][var14 + -1]) + var8[var13][var14 + -1] * 4]; + + for(var74 = 0; ~var74 > -9; ++var74) { + if(~var74 == ~var58) { + var63[var58++] = var25; + break; + } + + if(var25 == var63[var74]) { + break; + } + } + } + } + + if(0 != var26 && var16 != var26) { + var31 = Class3_Sub13_Sub37.method350((byte)-41, var26 - 1); + if(var31.aBoolean2092 && ~var31.anInt2103 != 0) { + var22 = Class75_Sub2.anIntArray2642[(3 & var5[var13 + 1][var14] + 1) + 4 * var8[1 + var13][var14]]; + + for(var74 = 0; ~var74 > -9; ++var74) { + if(~var58 == ~var74) { + var63[var58++] = var26; + break; + } + + if(var63[var74] == var26) { + break; + } + } + } + } + + for(var73 = 0; var58 > var73; ++var73) { + var74 = var63[var73]; + var79 = Class3_Sub13_Sub39.aBooleanArrayArray3468[~var24 != ~var74?0:var65]; + var75 = Class3_Sub13_Sub39.aBooleanArrayArray3468[~var74 != ~var25?0:var21]; + boolean[] var80 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var23 == var74?var60:0]; + var81 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var26 == var74?var22:0]; + Class168 var37 = Class3_Sub13_Sub37.method350((byte)113, -1 + var74); + Class3_Sub11 var38 = AnimationDefinition.method2052(var12, false, var37); + var38.anInt2342 += 5; + var38.anInt2342 += -2 + var80.length; + var38.anInt2342 += -2 + var79.length; + var38.anInt2342 += var75.length - 2; + var38.anInt2342 += -2 + var81.length; + ++var38.anInt2344; + } + } + } + } + + Class3_Sub11 var56; + for(var56 = (Class3_Sub11)var12.method1776(var7 + 36); null != var56; var56 = (Class3_Sub11)var12.method1778(var7 ^ -117)) { + var56.method145(); + } + + for(var13 = 1; 102 >= var13; ++var13) { + for(var14 = 1; ~var14 >= -103; ++var14) { + var16 = 255 & var9[var13][var14]; + var58 = 255 & var10[var13][var14]; + if((8 & var11[var3][var13][var14]) != 0) { + var15 = 0; + } else if(2 == (var11[1][var13][var14] & 2) && ~var3 < -1) { + var15 = var3 + -1; + } else { + var15 = var3; + } + + if(0 != var58) { + Class168 var62 = Class3_Sub13_Sub37.method350((byte)-25, -1 + var58); + if(var62.anInt2103 == -1) { + continue; + } + + Class3_Sub11 var66 = AnimationDefinition.method2052(var12, false, var62); + byte var67 = var8[var13][var14]; + byte var68 = var5[var13][var14]; + var22 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte)-111, var6[var13][var14]); + var23 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte)65, var6[var13 + 1][var14]); + var24 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte)68, var6[1 + var13][var14 + 1]); + var25 = Class3_Sub13_Sub4.method190(var62.anInt2095, var62.anInt2103, (byte)-84, var6[var13][var14 - -1]); + Class29.method971(var22, var2, var1, var13, var0, var23, var68, var15, var24, (byte)88, ~var16 != -1 && var62.aBoolean2092, var67, var14, var4, var25, var66); + } + + if(~(var9[var13][var14] & 255) != -1 || ~var58 != -1 && 0 == var8[var13][var14]) { + int[] var64 = new int[8]; + var65 = 0; + int var61 = 0; + var21 = 0; + var22 = 0; + var24 = var10[var13][var14 - -1] & 255; + var23 = 0; + var25 = var10[-1 + var13][var14] & 255; + var27 = var10[1 + var13][var14] & 255; + var26 = var10[var13][-1 + var14] & 255; + var28 = 255 & var10[-1 + var13][var14 + 1]; + var29 = 255 & var10[var13 - 1][var14 - 1]; + var30 = 255 & var10[1 + var13][var14 + -1]; + var73 = var10[1 + var13][var14 + 1] & 255; + Class168 var76; + byte var77; + int var83; + if(0 != var28 && var28 != var58) { + var76 = Class3_Sub13_Sub37.method350((byte)-88, -1 + var28); + if(var76.aBoolean2092 && var76.anInt2103 != -1) { + var33 = var5[var13 + -1][1 + var14]; + var77 = var8[-1 + var13][1 + var14]; + var35 = Class75_Sub2.anIntArray2642[4 * var77 - -(2 + var33 & 3)]; + var36 = Class75_Sub2.anIntArray2642[var77 * 4 - -(3 + var33 & 3)]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) { + var28 = 0; + } else { + for(var83 = 0; -9 < ~var83; ++var83) { + if(var61 == var83) { + var64[var61++] = var28; + break; + } + + if(~var64[var83] == ~var28) { + break; + } + } + } + } else { + var28 = 0; + } + } else { + var28 = 0; + } + + if(0 != var29 && ~var58 != ~var29) { + var76 = Class3_Sub13_Sub37.method350((byte)-87, -1 + var29); + if(var76.aBoolean2092 && -1 != var76.anInt2103) { + var33 = var5[var13 + -1][-1 + var14]; + var77 = var8[-1 + var13][var14 + -1]; + var35 = Class75_Sub2.anIntArray2642[(3 & var33) + var77 * 4]; + var36 = Class75_Sub2.anIntArray2642[(var33 - -3 & 3) + 4 * var77]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][0]) { + var29 = 0; + } else { + for(var83 = 0; 8 > var83; ++var83) { + if(var83 == var61) { + var64[var61++] = var29; + break; + } + + if(var29 == var64[var83]) { + break; + } + } + } + } else { + var29 = 0; + } + } else { + var29 = 0; + } + + if(var30 != 0 && ~var30 != ~var58) { + var76 = Class3_Sub13_Sub37.method350((byte)-123, -1 + var30); + if(var76.aBoolean2092 && -1 != var76.anInt2103) { + var33 = var5[1 + var13][var14 - 1]; + var77 = var8[1 + var13][var14 + -1]; + var36 = Class75_Sub2.anIntArray2642[(1 + var33 & 3) + 4 * var77]; + var35 = Class75_Sub2.anIntArray2642[var77 * 4 + (var33 & 3)]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][0]) { + var30 = 0; + } else { + for(var83 = 0; 8 > var83; ++var83) { + if(~var83 == ~var61) { + var64[var61++] = var30; + break; + } + + if(var64[var83] == var30) { + break; + } + } + } + } else { + var30 = 0; + } + } else { + var30 = 0; + } + + if(~var73 != -1 && ~var58 != ~var73) { + var76 = Class3_Sub13_Sub37.method350((byte)119, -1 + var73); + if(var76.aBoolean2092 && var76.anInt2103 != -1) { + var77 = var8[1 + var13][1 + var14]; + var33 = var5[1 + var13][var14 + 1]; + var35 = Class75_Sub2.anIntArray2642[(3 & var33 - -2) + 4 * var77]; + var36 = Class75_Sub2.anIntArray2642[(var33 + 1 & 3) + 4 * var77]; + if(Class3_Sub13_Sub39.aBooleanArrayArray3468[var35][1] && Class3_Sub13_Sub39.aBooleanArrayArray3468[var36][0]) { + var73 = 0; + } else { + for(var83 = 0; ~var83 > -9; ++var83) { + if(~var83 == ~var61) { + var64[var61++] = var73; + break; + } + + if(var64[var83] == var73) { + break; + } + } + } + } else { + var73 = 0; + } + } else { + var73 = 0; + } + + int var78; + if(-1 != ~var24 && ~var24 != ~var58) { + var76 = Class3_Sub13_Sub37.method350((byte)113, var24 - 1); + if(var76.aBoolean2092 && -1 != var76.anInt2103) { + var65 = Class75_Sub2.anIntArray2642[var8[var13][var14 - -1] * 4 + (2 + var5[var13][var14 - -1] & 3)]; + + for(var78 = 0; 8 > var78; ++var78) { + if(~var78 == ~var61) { + var64[var61++] = var24; + break; + } + + if(~var64[var78] == ~var24) { + break; + } + } + } + } + + if(var25 != 0 && var58 != var25) { + var76 = Class3_Sub13_Sub37.method350((byte)-103, var25 + -1); + if(var76.aBoolean2092 && 0 != ~var76.anInt2103) { + var21 = Class75_Sub2.anIntArray2642[(3 & var5[var13 - 1][var14] - -3) + 4 * var8[var13 + -1][var14]]; + + for(var78 = 0; var78 < 8; ++var78) { + if(~var61 == ~var78) { + var64[var61++] = var25; + break; + } + + if(var25 == var64[var78]) { + break; + } + } + } + } + + if(var26 != 0 && ~var26 != ~var58) { + var76 = Class3_Sub13_Sub37.method350((byte)126, var26 - 1); + if(var76.aBoolean2092 && -1 != var76.anInt2103) { + var22 = Class75_Sub2.anIntArray2642[(var5[var13][var14 + -1] & 3) + 4 * var8[var13][-1 + var14]]; + + for(var78 = 0; ~var78 > -9; ++var78) { + if(~var61 == ~var78) { + var64[var61++] = var26; + break; + } + + if(~var26 == ~var64[var78]) { + break; + } + } + } + } + + if(var27 != 0 && var27 != var58) { + var76 = Class3_Sub13_Sub37.method350((byte)116, var27 + -1); + if(var76.aBoolean2092 && var76.anInt2103 != -1) { + var23 = Class75_Sub2.anIntArray2642[4 * var8[1 + var13][var14] - -(3 & var5[var13 + 1][var14] - -1)]; + + for(var78 = 0; ~var78 > -9; ++var78) { + if(~var78 == ~var61) { + var64[var61++] = var27; + break; + } + + if(~var64[var78] == ~var27) { + break; + } + } + } + } + + for(var74 = 0; ~var74 > ~var61; ++var74) { + var78 = var64[var74]; + var79 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var78 == var24?var65:0]; + var75 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var25 == var78?var21:0]; + var81 = Class3_Sub13_Sub39.aBooleanArrayArray3468[~var78 == ~var26?var22:0]; + boolean[] var84 = Class3_Sub13_Sub39.aBooleanArrayArray3468[var78 != var27?0:var23]; + Class168 var82 = Class3_Sub13_Sub37.method350((byte)121, -1 + var78); + Class3_Sub11 var39 = AnimationDefinition.method2052(var12, false, var82); + int var40 = Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte)-76, var6[var13][var14]) << 8 | 255; + byte var44 = 6; + int var41 = 255 | Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte)-85, var6[1 + var13][var14]) << 8; + int var42 = Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte)123, var6[var13 - -1][var14 - -1]) << 8 | 255; + int var43 = 255 | Class3_Sub13_Sub4.method190(var82.anInt2095, var82.anInt2103, (byte)106, var6[var13][var14 - -1]) << 8; + boolean var48 = ~var78 != ~var29 && var81[0] && var75[1]; + boolean var47 = ~var78 != ~var73 && var79[0] && var84[1]; + boolean var46 = var28 != var78 && var75[0] && var79[1]; + int var85 = var44 + -2 + var79.length; + boolean var49 = ~var78 != ~var30 && var84[0] && var81[1]; + var85 += -2 + var75.length; + var85 += var81.length - 2; + var85 += -2 + var84.length; + int var50 = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-127, 0, true, var39, var1, var14, 64, var0, 64); + int[] var45 = new int[var85]; + var44 = 0; + int var51 = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-112, 0, var46, var39, var1, var14, 0, var0, 128); + int var52 = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-119, 0, var47, var39, var1, var14, 128, var0, 128); + int var53 = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-127, 0, var48, var39, var1, var14, 0, var0, 0); + int var54 = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-114, 0, var49, var39, var1, var14, 128, var0, 0); + var85 = var44 + 1; + var45[var44] = var50; + var45[var85++] = var52; + if(-3 > ~var79.length) { + var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-117, 0, var79[2], var39, var1, var14, 64, var0, 128); + } + + var45[var85++] = var51; + if(var75.length > 2) { + var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-128, 0, var75[2], var39, var1, var14, 0, var0, 64); + } + + var45[var85++] = var53; + if(var81.length > 2) { + var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-112, 0, var81[2], var39, var1, var14, 64, var0, 0); + } + + var45[var85++] = var54; + if(-3 > ~var84.length) { + var45[var85++] = Class121.method1734(var43, 0.0F, var40, var41, (int[][])null, var2, var13, var4, var42, (byte)-127, 0, var84[2], var39, var1, var14, 128, var0, 64); + } + + var45[var85++] = var52; + var39.method150(var15, var13, var14, var45, (int[])null, true); + } + } + } + } + + for(var56 = (Class3_Sub11)var12.method1776(62); null != var56; var56 = (Class3_Sub11)var12.method1778(-80)) { + if(-1 != ~var56.anInt2343) { + var56.method148(); + } else { + var56.method86(-1024); + } + } + + var13 = var12.method1781(97); + Class3_Sub11[] var57 = new Class3_Sub11[var13]; + long[] var59 = new long[var13]; + var12.method1782(var57, var7 + 83); + + for(var16 = var7; ~var13 < ~var16; ++var16) { + var59[var16] = var57[var16].aLong71; + } + + PacketParser.method824(var59, var57, var7 + -27); + return var57; + } catch (RuntimeException var55) { + throw Class44.method1067(var55, "a.A(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + (var5 != null?"{...}":"null") + ',' + (var6 != null?"{...}":"null") + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + (var9 != null?"{...}":"null") + ',' + (var10 != null?"{...}":"null") + ',' + (var11 != null?"{...}":"null") + ')'); + } + } + + public static void method71(byte var0) { + try { + aBooleanArray54 = null; + aClass94_53 = null; + if(var0 != -124) { + aClass94_58 = (RSString)null; + } + + aClass94_58 = null; + anIntArray52 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "a.C(" + var0 + ')'); + } + } + + static final void method72(int var0, int var1, int var2, int var3, int var4) { + try { + if(HDToolKit.highDetail) { + Class22.method935(var0, var4, var2 + var0, var1 + var4); + Class22.method934(var0, var4, var2, var1, 0); + } else { + Class74.method1324(var0, var4, var2 + var0, var4 + var1); + Class74.method1323(var0, var4, var2, var1, 0); + } + + if(~Class140_Sub3.anInt2737 <= -101) { + if(null == Class36.aClass3_Sub28_Sub16_637 || var2 != Class36.aClass3_Sub28_Sub16_637.anInt3707 || Class36.aClass3_Sub28_Sub16_637.anInt3696 != var1) { + Class3_Sub28_Sub16_Sub2 var5 = new Class3_Sub28_Sub16_Sub2(var2, var1); + Class74.method1319(var5.anIntArray4081, var2, var1); + Node.method523(var2, 0, 0, Class23.anInt455, 0, 0, Class108.anInt1460, var1, 0); + if(HDToolKit.highDetail) { + Class36.aClass3_Sub28_Sub16_637 = new Class3_Sub28_Sub16_Sub1(var5); + } else { + Class36.aClass3_Sub28_Sub16_637 = var5; + } + + if(HDToolKit.highDetail) { + Class74.anIntArray1100 = null; + } else { + Class164_Sub1.aClass158_3009.method2182(0); + } + } + + Class36.aClass3_Sub28_Sub16_637.method635(var0, var4); + if(var3 != 19481) { + method70((float[][])((float[][])null), (float[][])((float[][])null), (int[][])((int[][])null), 126, (float[][])((float[][])null), (byte[][])((byte[][])null), (int[][])((int[][])null), -1, (byte[][])((byte[][])null), (byte[][])((byte[][])null), (byte[][])((byte[][])null), (byte[][][])((byte[][][])null)); + } + + int var6 = var1 * Class60.anInt934 / Class108.anInt1460 + var4; + int var8 = Class17.anInt410 * var1 / Class108.anInt1460; + int var15 = var0 + var2 * Class60.anInt930 / Class23.anInt455; + int var7 = var2 * Class49.anInt817 / Class23.anInt455; + int var9 = 16711680; + if(-2 == ~Class158.anInt2014) { + var9 = 16777215; + } + + if(HDToolKit.highDetail) { + Class22.method930(var15, var6, var7, var8, var9, 128); + Class22.method927(var15, var6, var7, var8, var9); + } else { + Class74.method1312(var15, var6, var7, var8, var9, 128); + Class74.method1311(var15, var6, var7, var8, var9); + } + + if(~Class3_Sub28_Sub16.anInt3704 < -1) { + int var10; + if(-11 > ~Class3_Sub28_Sub8.anInt3611) { + var10 = (-Class3_Sub28_Sub8.anInt3611 + 20) * 25; + } else { + var10 = 25 * Class3_Sub28_Sub8.anInt3611; + } + + for(Class3_Sub23 var11 = (Class3_Sub23)Class84.aClass61_1162.method1222(); var11 != null; var11 = (Class3_Sub23)Class84.aClass61_1162.method1221()) { + if(~var11.anInt2532 == ~Class8.anInt101) { + int var13 = var4 - -(var11.anInt2539 * var1 / Class108.anInt1460); + int var12 = var2 * var11.anInt2531 / Class23.anInt455 + var0; + if(HDToolKit.highDetail) { + Class22.method930(-2 + var12, -2 + var13, 4, 4, 16776960, var10); + } else { + Class74.method1312(var12 + -2, -2 + var13, 4, 4, 16776960, var10); + } + } + } + } + + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "a.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static { + for(int var0 = 0; var0 < 4096; ++var0) { + anIntArray52[var0] = Class164_Sub2.method2246((byte)83, var0); + } + + aBooleanArray54 = new boolean[8]; + aClass94_53 = RSString.createRSString("scape main"); + anInt57 = 0; + aClass94_58 = RSString.createRSString(" )4 "); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class10.java b/09HDscape-client/src/org/runite/jagex/Class10.java new file mode 100644 index 000000000..528c2c539 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class10.java @@ -0,0 +1,73 @@ +package org.runite.jagex; + +final class Class10 { + + static RSString aClass94_148 = RSString.createRSString("(U(Y"); + int anInt149; + static RSString aClass94_150 = RSString.createRSString("Ausw-=hlen"); + Class3_Sub28_Sub4 aClass3_Sub28_Sub4_151; + static CacheIndex aClass153_152; + int[] anIntArray153; + static int anInt154 = 0; + + + static final Class3_Sub28_Sub16_Sub2[] method851(boolean var0) { + try { + Class3_Sub28_Sub16_Sub2[] var1 = new Class3_Sub28_Sub16_Sub2[Class95.anInt1338]; + if(!var0) { + method852((byte)127, -18); + } + + for(int var2 = 0; ~var2 > ~Class95.anInt1338; ++var2) { + int var3 = Class3_Sub13_Sub6.anIntArray3076[var2] * Class140_Sub7.anIntArray2931[var2]; + byte[] var4 = Class163_Sub1.aByteArrayArray2987[var2]; + int[] var5 = new int[var3]; + + for(int var6 = 0; ~var6 > ~var3; ++var6) { + var5[var6] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(255, var4[var6])]; + } + + var1[var2] = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var5); + } + + Class39.method1035((byte)113); + return var1; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "bd.B(" + var0 + ')'); + } + } + + static final void method852(byte var0, int var1) { + try { + Class3_Sub25 var2 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var1, 0); + if(var2 != null) { + if(var0 != 114) { + aClass153_152 = (CacheIndex)null; + } + + for(int var3 = 0; var2.anIntArray2547.length > var3; ++var3) { + var2.anIntArray2547[var3] = -1; + var2.anIntArray2551[var3] = 0; + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bd.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method853(int var0) { + try { + aClass94_148 = null; + aClass94_150 = null; + if(var0 != 0) { + aClass94_148 = (RSString)null; + } + + aClass153_152 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bd.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class100.java b/09HDscape-client/src/org/runite/jagex/Class100.java new file mode 100644 index 000000000..0fc3e72ef --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class100.java @@ -0,0 +1,220 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class100 { + + private int anInt1404 = 0; + static int anInt1405; + int anInt1406; + static int anInt1407; + int anInt1408; + + static CacheIndex aClass153_1410; + boolean aBoolean1411 = true; + int anInt1412 = -1; + static Class136 aClass136_1413 = new Class136(); + int anInt1414 = 128; + private static RSString aClass94_1415 = RSString.createRSString("Loaded input handler"); + static int worldListArraySize; + int anInt1417; + int anInt1418; +static RSString aClass94_1409 = aClass94_1415; + + private final void method1600(int var1, byte var2) { + try { + double var3 = (double)(255 & var1 >> 16) / 256.0D; + double var5 = (double)(255 & var1 >> 8) / 256.0D; + double var9 = var3; + double var7 = (double)(var1 & 255) / 256.0D; + if(var5 < var3) { + var9 = var5; + } + + if(var7 < var9) { + var9 = var7; + } + + double var11 = var3; + int var13 = 77 % ((var2 - 21) / 57); + double var14 = 0.0D; + if(var5 > var3) { + var11 = var5; + } + + if(var7 > var11) { + var11 = var7; + } + + double var16 = 0.0D; + double var18 = (var11 + var9) / 2.0D; + if(var9 != var11) { + if(0.5D > var18) { + var16 = (var11 - var9) / (var11 + var9); + } + + if(var11 != var3) { + if(var5 != var11) { + if(var7 == var11) { + var14 = 4.0D + (-var5 + var3) / (-var9 + var11); + } + } else { + var14 = (var7 - var3) / (var11 - var9) + 2.0D; + } + } else { + var14 = (-var7 + var5) / (-var9 + var11); + } + + if(0.5D <= var18) { + var16 = (var11 - var9) / (-var9 + (2.0D - var11)); + } + } + + if(var18 > 0.5D) { + this.anInt1418 = (int)(var16 * (-var18 + 1.0D) * 512.0D); + } else { + this.anInt1418 = (int)(var16 * var18 * 512.0D); + } + + if(1 > this.anInt1418) { + this.anInt1418 = 1; + } + + this.anInt1406 = (int)(var16 * 256.0D); + this.anInt1417 = (int)(256.0D * var18); + if(~this.anInt1417 <= -1) { + if(255 < this.anInt1417) { + this.anInt1417 = 255; + } + } else { + this.anInt1417 = 0; + } + + var14 /= 6.0D; + this.anInt1408 = (int)((double)this.anInt1418 * var14); + if(-1 >= ~this.anInt1406) { + if(this.anInt1406 > 255) { + this.anInt1406 = 255; + } + } else { + this.anInt1406 = 0; + } + + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "ni.D(" + var1 + ',' + var2 + ')'); + } + } + + final void method1601(int var1, RSByteBuffer var2, int var3) { + try { + while(true) { + int var4 = var2.getByte((byte)-43); + if(var4 == 0) { + if(var3 != 255) { + anInt1407 = -8; + } + + return; + } + + this.method1604((byte)-52, var4, var2, var1); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ni.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final int method1602(int var0, RSString var1) { + try { + if(Class119.aClass131_1624 != null && ~var1.length(var0 ^ -107) != -1) { + for(int var2 = var0; ~Class119.aClass131_1624.anInt1720 < ~var2; ++var2) { + if(Class119.aClass131_1624.aClass94Array1721[var2].method1560(Class3_Sub13_Sub16.aClass94_3192, true, Class3_Sub28_Sub10_Sub2.aClass94_4066).method1562((byte)-32, var1)) { + return var2; + } + } + + return -1; + } else { + return -1; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ni.G(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final int method1603(byte var0, int var1, Random var2) { + try { + if(~var1 >= -1) { + throw new IllegalArgumentException(); + } else if(Class140_Sub6.method2021((byte)-115, var1)) { + return (int)(((long)var2.nextInt() & 4294967295L) * (long)var1 >> 32); + } else { + int var3 = -((int)(4294967296L % (long)var1)) + Integer.MIN_VALUE; + + int var4; + do { + var4 = var2.nextInt(); + } while(var3 <= var4); + + int var5 = -101 % ((var0 - -52) / 33); + return Class3_Sub13_Sub7.method201(var4, var1, -58); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ni.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private final void method1604(byte var1, int var2, RSByteBuffer var3, int var4) { + try { + if(-2 != ~var2) { + if(var2 != 2) { + if(3 == var2) { + this.anInt1414 = var3.getShort(1); + } else if(~var2 == -5) { + this.aBoolean1411 = false; + } + } else { + this.anInt1412 = var3.getShort(1); + if(-65536 == ~this.anInt1412) { + this.anInt1412 = -1; + } + } + } else { + this.anInt1404 = var3.getTriByte((byte)93); + this.method1600(this.anInt1404, (byte)81); + } + + if(var1 != -52) { + anInt1407 = -121; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ni.E(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + static final void method1605(int var0, RSString var1, int var2) { + try { + ++Class19.anInt421; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(188); + Class3_Sub13_Sub1.outgoingBuffer.putByteA(var2, var0 + -13326); + if(var0 == 255) { + Class3_Sub13_Sub1.outgoingBuffer.putLong(var1.toLong(-126), -2037491440); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ni.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method1606(byte var0) { + try { + aClass94_1415 = null; + aClass94_1409 = null; + int var1 = 86 % ((49 - var0) / 48); + aClass153_1410 = null; + aClass136_1413 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ni.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class101.java b/09HDscape-client/src/org/runite/jagex/Class101.java new file mode 100644 index 000000000..ffc93ee73 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class101.java @@ -0,0 +1,90 @@ +package org.runite.jagex; + +final class Class101 { + + static boolean aBoolean1419 = false; + static CacheIndex aClass153_1420; + static Class3_Sub24_Sub4 aClass3_Sub24_Sub4_1421; + static Class30 aClass30_1422; + static CacheIndex aClass153_1423; + static Class61 aClass61_1424 = new Class61(); + static int anInt1425 = 0; + static int[] anIntArray1426; + static int anInt1427; + static CacheIndex aClass153_1428; + static short[][] aShortArrayArray1429; + + + static final void method1607(int var0, int var1, boolean var2, int[] var3, int[] var4) { + try { + if(var2) { + method1608((byte)106); + } + + if(~var0 > ~var1) { + int var5 = (var1 + var0) / 2; + int var6 = var0; + int var7 = var3[var5]; + var3[var5] = var3[var1]; + var3[var1] = var7; + int var8 = var4[var5]; + var4[var5] = var4[var1]; + var4[var1] = var8; + + for(int var9 = var0; ~var1 < ~var9; ++var9) { + if(~var3[var9] < ~((var9 & 1) + var7)) { + int var10 = var3[var9]; + var3[var9] = var3[var6]; + var3[var6] = var10; + int var11 = var4[var9]; + var4[var9] = var4[var6]; + var4[var6++] = var11; + } + } + + var3[var1] = var3[var6]; + var3[var6] = var7; + var4[var1] = var4[var6]; + var4[var6] = var8; + method1607(var0, var6 - 1, var2, var3, var4); + method1607(var6 + 1, var1, var2, var3, var4); + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "nj.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + public static void method1608(byte var0) { + try { + aClass153_1428 = null; + aClass61_1424 = null; + aShortArrayArray1429 = (short[][])null; + anIntArray1426 = null; + aClass3_Sub24_Sub4_1421 = null; + aClass30_1422 = null; + aClass153_1423 = null; + if(var0 != 110) { + method1607(46, 78, true, (int[])null, (int[])null); + } + + aClass153_1420 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nj.A(" + var0 + ')'); + } + } + + static final void method1609(int var0) { + try { + Class2.anInterface5Array70 = null; + if(var0 <= 49) { + method1608((byte)96); + } + + Class88.method1455(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nj.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class102.java b/09HDscape-client/src/org/runite/jagex/Class102.java new file mode 100644 index 000000000..1a7efe7d4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class102.java @@ -0,0 +1,603 @@ +package org.runite.jagex; + +final class Class102 implements Interface2 { + + private boolean[] aBooleanArray2122; + private CacheIndex aClass153_2123; + private boolean[] aBooleanArray2124; + static int[] anIntArray2125; + private byte[] aByteArray2126; + private CacheIndex aClass153_2127; + private boolean[] aBooleanArray2128; + private byte[] aByteArray2129; + static int anInt2130; + static Class135[] aClass135Array2131 = new Class135[50]; + static RSString aClass94_2132 = RSString.createRSString("Titelbild ge-Offnet)3"); + private boolean[] aBooleanArray2133; + private boolean aBoolean2134 = false; + private boolean[] aBooleanArray2135; + static int anInt2136; + private short[] aShortArray2137; + private Class47 aClass47_2138; + private int anInt2139 = 50; + static Class3_Sub28_Sub16_Sub2[] aClass3_Sub28_Sub16_Sub2Array2140; + static Player player; + private Class47 aClass47_2142; + private byte[] aByteArray2143; + private byte[] aByteArray2144; + + + final void method1610(boolean var1, int var2) { + try { + if(!var1) { + this.method7((byte)113, 17); + } + + for(Class3_Sub28_Sub20 var3 = (Class3_Sub28_Sub20)this.aClass47_2142.method1094(0); null != var3; var3 = (Class3_Sub28_Sub20)this.aClass47_2142.method1099(-1)) { + if(var3.aBoolean3797) { + var3.method723(var2, (byte)-120); + var3.aBoolean3797 = false; + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.P(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1611(int var0, boolean var1) { + try { + int var2; + NPC var3; + int var6; + int var7; + int var8; + int var9; + int var10; + for(var2 = 0; var2 < Class163.localNPCCount; ++var2) { + var3 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var2]]; + if(null != var3 && var3.hasDefinitions((byte)17) && !var3.definition.aBoolean1263 != var1 && var3.definition.method1472((byte)74)) { + int var4 = var3.getSize((byte)114); + int var5; + if(1 != var4) { + if((~(1 & var4) != -1 || ~(127 & var3.anInt2819) == -1 && 0 == (127 & var3.anInt2829)) && ((var4 & 1) != 1 || -65 == ~(127 & var3.anInt2819) && 64 == (127 & var3.anInt2829))) { + var5 = var3.anInt2819 + -(var4 * 64) >> 7; + var6 = -(var4 * 64) + var3.anInt2829 >> 7; + var7 = var3.getSize((byte)114) + var5; + if(~var5 > -1) { + var5 = 0; + } + + if(~var7 < -105) { + var7 = 104; + } + + var8 = var6 + var3.getSize((byte)114); + if(-1 < ~var6) { + var6 = 0; + } + + if(104 < var8) { + var8 = 104; + } + + for(var9 = var5; ~var7 < ~var9; ++var9) { + for(var10 = var6; ~var10 > ~var8; ++var10) { + ++Class163_Sub1_Sub1.anIntArrayArray4010[var9][var10]; + } + } + } + } else if(-65 == ~(127 & var3.anInt2819) && (var3.anInt2829 & 127) == 64) { + var5 = var3.anInt2819 >> 7; + var6 = var3.anInt2829 >> 7; + if(-1 >= ~var5 && var5 < 104 && ~var6 <= -1 && -105 < ~var6) { + ++Class163_Sub1_Sub1.anIntArrayArray4010[var5][var6]; + } + } + } + } + + label200: + for(var2 = 0; ~var2 > ~Class163.localNPCCount; ++var2) { + var3 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var2]]; + long var15 = (long)Class15.localNPCIndexes[var2] << 32 | 536870912L; + if(var3 != null && var3.hasDefinitions((byte)17) && !var3.definition.aBoolean1263 == !var1 && var3.definition.method1472((byte)74)) { + var6 = var3.getSize((byte)114); + if(-2 != ~var6) { + if((var6 & 1) == 0 && -1 == ~(var3.anInt2819 & 127) && -1 == ~(127 & var3.anInt2829) || ~(var6 & 1) == -2 && -65 == ~(var3.anInt2819 & 127) && (127 & var3.anInt2829) == 64) { + var7 = -(64 * var6) + var3.anInt2819 >> 7; + var8 = -(var6 * 64) + var3.anInt2829 >> 7; + var10 = var8 - -var6; + if(var8 < 0) { + var8 = 0; + } + + boolean var11 = true; + var9 = var7 + var6; + if(-105 > ~var10) { + var10 = 104; + } + + if(-1 < ~var7) { + var7 = 0; + } + + if(~var9 < -105) { + var9 = 104; + } + + int var12; + int var13; + for(var12 = var7; var12 < var9; ++var12) { + for(var13 = var8; ~var13 > ~var10; ++var13) { + if(~Class163_Sub1_Sub1.anIntArrayArray4010[var12][var13] >= -2) { + var11 = false; + break; + } + } + } + + if(var11) { + var12 = var7; + + while(true) { + if(var12 >= var9) { + continue label200; + } + + for(var13 = var8; var13 < var10; ++var13) { + --Class163_Sub1_Sub1.anIntArrayArray4010[var12][var13]; + } + + ++var12; + } + } + } + } else if((127 & var3.anInt2819) == 64 && ~(127 & var3.anInt2829) == -65) { + var7 = var3.anInt2819 >> 7; + var8 = var3.anInt2829 >> 7; + if(0 > var7 || ~var7 <= -105 || var8 < 0 || ~var8 <= -105) { + continue; + } + + if(1 < Class163_Sub1_Sub1.anIntArrayArray4010[var7][var8]) { + --Class163_Sub1_Sub1.anIntArrayArray4010[var7][var8]; + continue; + } + } + + if(!var3.definition.aBoolean1270) { + var15 |= Long.MIN_VALUE; + } + + var3.anInt2831 = Class121.method1736(WorldListCountry.localPlane, 1, var3.anInt2819, var3.anInt2829); + Class20.method907(WorldListCountry.localPlane, var3.anInt2819, var3.anInt2829, var3.anInt2831, -64 + 64 * var6 + 60, var3, var3.anInt2785, var15, var3.aBoolean2810); + } + } + + var2 = -28 / ((var0 - -7) / 34); + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "nk.V(" + var0 + ',' + var1 + ')'); + } + } + + public final int[] method16(int var1, int var2) { + try { + if(var1 != 64) { + this.method12(105, -92); + } + + Class3_Sub28_Sub20 var3 = this.method1613(var2, 1); + return null == var3?null:var3.method720(false, this.aBoolean2134 || this.aBooleanArray2122[var2], this, this.aClass153_2123); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.F(" + var1 + ',' + var2 + ')'); + } + } + + public static void method1612(int var0) { + try { + player = null; + if(var0 != -11565) { + method1614(false, (long[])null, (int[])null); + } + + anIntArray2125 = null; + aClass94_2132 = null; + aClass3_Sub28_Sub16_Sub2Array2140 = null; + aClass135Array2131 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nk.W(" + var0 + ')'); + } + } + + public final void method8(int var1, boolean var2) { + try { + Class3_Sub28_Sub4.method551(0, 255 & this.aByteArray2143[var1], this.aByteArray2144[var1] & 255); + if(var2) { + boolean var3 = false; + Class3_Sub28_Sub20 var4 = this.method1613(var1, 1); + if(var4 != null) { + var3 = var4.method719(this.aClass153_2123, this, 579100487, this.aBoolean2134 || this.aBooleanArray2122[var1]); + } + + if(!var3) { + Class3_Sub28_Sub18 var6 = this.method1615(48, var1); + var6.method712((byte)6); + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nk.G(" + var1 + ',' + var2 + ')'); + } + } + + private final Class3_Sub28_Sub20 method1613(int var1, int var2) { + try { + if(var2 != 1) { + this.aBooleanArray2128 = (boolean[])null; + } + + Class3_Sub28_Sub20 var3 = (Class3_Sub28_Sub20)this.aClass47_2142.method1092((long)var1, 1400); + if(null != var3) { + return var3; + } else { + byte[] var4 = this.aClass153_2127.getFile(var1, (byte)-122, 0); + if(null != var4) { + RSByteBuffer var5 = new RSByteBuffer(var4); + var3 = new Class3_Sub28_Sub20(var5); + this.aClass47_2142.method1097(var3, (long)var1, (byte)-118); + return var3; + } else { + return null; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "nk.T(" + var1 + ',' + var2 + ')'); + } + } + + public final int method9(int var1, boolean var2) { + try { + return var2?-63:255 & this.aByteArray2143[var1]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.D(" + var1 + ',' + var2 + ')'); + } + } + + public final int method18(int var1, int var2) { + try { + if(var2 != 255) { + method1612(-48); + } + + return 255 & this.aByteArray2144[var1]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.B(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1614(boolean var0, long[] var1, int[] var2) { + try { + Class44.method1069(var1, 0, -1 + var1.length, var2, -24337); + if(!var0) { + method1612(103); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.Q(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public final int method10(int var1, int var2) { + try { + int var3 = -81 % ((var1 - 4) / 55); + return this.aByteArray2126[var2] & 255; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.C(" + var1 + ',' + var2 + ')'); + } + } + + public final boolean method7(byte var1, int var2) { + try { + if(var1 != 88) { + this.method19(-99, -37); + } + + return this.aBooleanArray2128[var2]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.M(" + var1 + ',' + var2 + ')'); + } + } + + private final Class3_Sub28_Sub18 method1615(int var1, int var2) { + try { + int var3 = 111 / ((-15 - var1) / 38); + Class3_Sub28_Sub18 var4 = (Class3_Sub28_Sub18)this.aClass47_2138.method1092((long)var2, 1400); + if(null == var4) { + var4 = new Class3_Sub28_Sub18(this.aShortArray2137[var2] & '\uffff'); + this.aClass47_2138.method1097(var4, (long)var2, (byte)69); + return var4; + } else { + return var4; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nk.U(" + var1 + ',' + var2 + ')'); + } + } + + public final boolean method11(int var1, int var2) { + try { + if(var1 < 0) { + this.method7((byte)68, -47); + } + + Class3_Sub28_Sub20 var3 = this.method1613(var2, 1); + return null != var3?var3.method722(-5, this, this.aClass153_2123):false; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.H(" + var1 + ',' + var2 + ')'); + } + } + + final void method1616(boolean var1, int var2) { + try { + this.aBoolean2134 = var1; + this.method1618(var2 ^ var2); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.S(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1617(int var0, int var1, int var2, int var3, int var4, byte var5) { + try { + if(~var4 >= ~Class57.anInt902 && ~var2 <= ~Class159.anInt2020) { + boolean var6; + if(Class101.anInt1425 <= var1) { + if(Class3_Sub28_Sub18.anInt3765 >= var1) { + var6 = true; + } else { + var6 = false; + var1 = Class3_Sub28_Sub18.anInt3765; + } + } else { + var6 = false; + var1 = Class101.anInt1425; + } + + boolean var7; + if(var3 < Class101.anInt1425) { + var3 = Class101.anInt1425; + var7 = false; + } else if(~var3 < ~Class3_Sub28_Sub18.anInt3765) { + var3 = Class3_Sub28_Sub18.anInt3765; + var7 = false; + } else { + var7 = true; + } + + if(Class159.anInt2020 > var4) { + var4 = Class159.anInt2020; + } else { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var4++], var1, -66, var3, var0); + } + + if(var2 <= Class57.anInt902) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var2--], var1, -54, var3, var0); + } else { + var2 = Class57.anInt902; + } + + int var8; + if(var6 && var7) { + for(var8 = var4; var8 <= var2; ++var8) { + int[] var9 = Class38.anIntArrayArray663[var8]; + var9[var1] = var9[var3] = var0; + } + } else if(!var6) { + if(var7) { + for(var8 = var4; ~var2 <= ~var8; ++var8) { + Class38.anIntArrayArray663[var8][var3] = var0; + } + } + } else { + for(var8 = var4; ~var8 >= ~var2; ++var8) { + Class38.anIntArrayArray663[var8][var1] = var0; + } + } + } + + if(var5 == 29) { + ; + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "nk.R(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + public final boolean method12(int var1, int var2) { + try { + if(var2 != -65) { + method1614(false, (long[])null, (int[])null); + } + + return this.aBooleanArray2135[var1]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.I(" + var1 + ',' + var2 + ')'); + } + } + + public final int method19(int var1, int var2) { + try { + int var3 = -115 / ((-12 - var1) / 56); + return 255 & this.aByteArray2129[var2]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.A(" + var1 + ',' + var2 + ')'); + } + } + + final void method1618(int var1) { + try { + this.aClass47_2142.method1101(2); + if(var1 == 0) { + if(null != this.aClass47_2138) { + this.aClass47_2138.method1101(2); + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nk.O(" + var1 + ')'); + } + } + + public final int method15(int var1, int var2) { + try { + if(var2 != '\uffff') { + this.method11(-82, -17); + } + + return '\uffff' & this.aShortArray2137[var1]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.E(" + var1 + ',' + var2 + ')'); + } + } + + public final boolean method14(byte var1, int var2) { + try { + return var1 >= -97?true:this.aBoolean2134 || this.aBooleanArray2122[var2]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.J(" + var1 + ',' + var2 + ')'); + } + } + + final void method1619(int var1, int var2) { + try { + if(var2 != -1) { + player = (Player)null; + } + + this.anInt2139 = var1; + this.aClass47_2142 = new Class47(this.anInt2139); + if(!HDToolKit.highDetail) { + this.aClass47_2138 = null; + } else { + this.aClass47_2138 = new Class47(this.anInt2139); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.N(" + var1 + ',' + var2 + ')'); + } + } + + public final boolean method17(int var1, int var2) { + try { + int var3 = -8 / ((20 - var2) / 45); + return this.aBooleanArray2124[var1]; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nk.K(" + var1 + ',' + var2 + ')'); + } + } + + Class102(CacheIndex var1, CacheIndex var2, CacheIndex var3, int var4, boolean var5) { + try { + this.aClass153_2123 = var3; + this.aBoolean2134 = var5; + this.anInt2139 = var4; + this.aClass153_2127 = var1; + this.aClass47_2142 = new Class47(this.anInt2139); + if(!HDToolKit.highDetail) { + this.aClass47_2138 = null; + } else { + this.aClass47_2138 = new Class47(this.anInt2139); + } + + RSByteBuffer var6 = new RSByteBuffer(var2.getFile(0, (byte)-122, 0)); + int var7 = var6.getShort(1); + this.aByteArray2143 = new byte[var7]; + this.aByteArray2129 = new byte[var7]; + this.aByteArray2126 = new byte[var7]; + this.aShortArray2137 = new short[var7]; + this.aByteArray2144 = new byte[var7]; + this.aBooleanArray2128 = new boolean[var7]; + this.aBooleanArray2122 = new boolean[var7]; + this.aBooleanArray2124 = new boolean[var7]; + this.aBooleanArray2133 = new boolean[var7]; + this.aBooleanArray2135 = new boolean[var7]; + + int var8; + for(var8 = 0; ~var7 < ~var8; ++var8) { + this.aBooleanArray2133[var8] = 1 == var6.getByte((byte)-69); + } + + for(var8 = 0; ~var7 < ~var8; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aBooleanArray2124[var8] = ~var6.getByte((byte)-50) == -2; + } + } + + for(var8 = 0; ~var8 > ~var7; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aBooleanArray2128[var8] = 1 == var6.getByte((byte)-60); + } + } + + for(var8 = 0; ~var8 > ~var7; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aBooleanArray2122[var8] = -2 == ~var6.getByte((byte)-23); + } + } + + for(var8 = 0; var8 < var7; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aBooleanArray2135[var8] = -2 == ~var6.getByte((byte)-30); + } + } + + for(var8 = 0; var7 > var8; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aByteArray2126[var8] = var6.getByte(); + } + } + + for(var8 = 0; var7 > var8; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aByteArray2129[var8] = var6.getByte(); + } + } + + for(var8 = 0; var8 < var7; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aByteArray2144[var8] = var6.getByte(); + } + } + + for(var8 = 0; ~var8 > ~var7; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aByteArray2143[var8] = var6.getByte(); + } + } + + for(var8 = 0; var7 > var8; ++var8) { + if(this.aBooleanArray2133[var8]) { + this.aShortArray2137[var8] = (short)var6.getShort(1); + } + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "nk.(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ')'); + } + } + + public final int[] method13(int var1, boolean var2, float var3) { + try { + Class3_Sub28_Sub20 var4 = this.method1613(var1, 1); + if(null == var4) { + return null; + } else { + var4.aBoolean3797 = var2; + return var4.method718(this, 0, var3, this.aClass153_2123, this.aBoolean2134 || this.aBooleanArray2122[var1]); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nk.L(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class103.java b/09HDscape-client/src/org/runite/jagex/Class103.java new file mode 100644 index 000000000..16b537228 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class103.java @@ -0,0 +1,122 @@ +package org.runite.jagex; + +final class Class103 { + + private int[][][] anIntArrayArrayArray1430 = new int[2][2][4]; + private static float[][] aFloatArrayArray1431 = new float[2][8]; + private int[][][] anIntArrayArrayArray1432 = new int[2][2][4]; + private static float aFloat1433; + int[] anIntArray1434 = new int[2]; + static int[][] anIntArrayArray1435 = new int[2][8]; + static int anInt1436; + private int[] anIntArray1437 = new int[2]; + + + final void method1620(RSByteBuffer var1, Class34 var2) { + int var3 = var1.getByte((byte)-112); + this.anIntArray1434[0] = var3 >> 4; + this.anIntArray1434[1] = var3 & 15; + if(var3 != 0) { + this.anIntArray1437[0] = var1.getShort(1); + this.anIntArray1437[1] = var1.getShort(1); + int var4 = var1.getByte((byte)-83); + + int var5; + int var6; + for(var5 = 0; var5 < 2; ++var5) { + for(var6 = 0; var6 < this.anIntArray1434[var5]; ++var6) { + this.anIntArrayArrayArray1430[var5][0][var6] = var1.getShort(1); + this.anIntArrayArrayArray1432[var5][0][var6] = var1.getShort(1); + } + } + + for(var5 = 0; var5 < 2; ++var5) { + for(var6 = 0; var6 < this.anIntArray1434[var5]; ++var6) { + if((var4 & 1 << var5 * 4 << var6) != 0) { + this.anIntArrayArrayArray1430[var5][1][var6] = var1.getShort(1); + this.anIntArrayArrayArray1432[var5][1][var6] = var1.getShort(1); + } else { + this.anIntArrayArrayArray1430[var5][1][var6] = this.anIntArrayArrayArray1430[var5][0][var6]; + this.anIntArrayArrayArray1432[var5][1][var6] = this.anIntArrayArrayArray1432[var5][0][var6]; + } + } + } + + if(var4 != 0 || this.anIntArray1437[1] != this.anIntArray1437[0]) { + var2.method1009(var1); + } + } else { + this.anIntArray1437[0] = this.anIntArray1437[1] = 0; + } + + } + + private static final float method1621(float var0) { + float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); + return var1 * 3.1415927F / 11025.0F; + } + + final int method1622(int var1, float var2) { + float var3; + if(var1 == 0) { + var3 = (float)this.anIntArray1437[0] + (float)(this.anIntArray1437[1] - this.anIntArray1437[0]) * var2; + var3 *= 0.0030517578F; + aFloat1433 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); + anInt1436 = (int)(aFloat1433 * 65536.0F); + } + + if(this.anIntArray1434[var1] == 0) { + return 0; + } else { + var3 = this.method1624(var1, 0, var2); + aFloatArrayArray1431[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method1625(var1, 0, var2)); + aFloatArrayArray1431[var1][1] = var3 * var3; + + int var4; + for(var4 = 1; var4 < this.anIntArray1434[var1]; ++var4) { + var3 = this.method1624(var1, var4, var2); + float var5 = -2.0F * var3 * (float)Math.cos((double)this.method1625(var1, var4, var2)); + float var6 = var3 * var3; + aFloatArrayArray1431[var1][var4 * 2 + 1] = aFloatArrayArray1431[var1][var4 * 2 - 1] * var6; + aFloatArrayArray1431[var1][var4 * 2] = aFloatArrayArray1431[var1][var4 * 2 - 1] * var5 + aFloatArrayArray1431[var1][var4 * 2 - 2] * var6; + + for(int var7 = var4 * 2 - 1; var7 >= 2; --var7) { + aFloatArrayArray1431[var1][var7] += aFloatArrayArray1431[var1][var7 - 1] * var5 + aFloatArrayArray1431[var1][var7 - 2] * var6; + } + + aFloatArrayArray1431[var1][1] += aFloatArrayArray1431[var1][0] * var5 + var6; + aFloatArrayArray1431[var1][0] += var5; + } + + if(var1 == 0) { + for(var4 = 0; var4 < this.anIntArray1434[0] * 2; ++var4) { + aFloatArrayArray1431[0][var4] *= aFloat1433; + } + } + + for(var4 = 0; var4 < this.anIntArray1434[var1] * 2; ++var4) { + anIntArrayArray1435[var1][var4] = (int)(aFloatArrayArray1431[var1][var4] * 65536.0F); + } + + return this.anIntArray1434[var1] * 2; + } + } + + public static void method1623() { + aFloatArrayArray1431 = (float[][])null; + anIntArrayArray1435 = (int[][])null; + } + + private final float method1624(int var1, int var2, float var3) { + float var4 = (float)this.anIntArrayArrayArray1432[var1][0][var2] + var3 * (float)(this.anIntArrayArrayArray1432[var1][1][var2] - this.anIntArrayArrayArray1432[var1][0][var2]); + var4 *= 0.0015258789F; + return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); + } + + private final float method1625(int var1, int var2, float var3) { + float var4 = (float)this.anIntArrayArrayArray1430[var1][0][var2] + var3 * (float)(this.anIntArrayArrayArray1430[var1][1][var2] - this.anIntArrayArrayArray1430[var1][0][var2]); + var4 *= 1.2207031E-4F; + return method1621(var4); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class104.java b/09HDscape-client/src/org/runite/jagex/Class104.java new file mode 100644 index 000000000..d61325e27 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class104.java @@ -0,0 +1,514 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +import org.runite.GameLaunch; + +final class Class104 implements Interface5 { + + static boolean[] aBooleanArray2169 = new boolean[5]; + static RSString aClass94_2170 = RSString.createRSString("Fertigkeit: "); + static RSString aClass94_2171 = RSString.createRSString(""); + static CacheIndex aClass153_2172; + private int anInt2173; + private float[] aFloatArray2174 = new float[4]; + private static RSString aClass94_2175 = RSString.createRSString(")4a="); + static RSString aClass94_2176 = RSString.createRSString("(U0a )2 non)2existant gosub script)2num: "); + + + static final void method1626(byte var0) { + try { + Class3_Sub28_Sub4.aClass93_3572.method1524(3); + Class143.aClass93_1874.method1524(3); + if(var0 <= -124) { + Class67.aClass93_1013.method1524(3); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.F(" + var0 + ')'); + } + } + + static final boolean method1627(int var0, byte var1) { + try { + WorldListEntry var2 = Class3_Sub8.getWorld(97, var0); + if(var2 != null) { + if(1 != Signlink.anInt1214 && -3 != ~Signlink.anInt1214 && -3 != ~Class44.anInt718) { + RSString var9 = GameShell.aClass94_8; + if(Class44.anInt718 != 0) { + var9 = RenderAnimationDefinition.method903(new RSString[]{Class163_Sub1_Sub1.aClass94_4007, Class72.method1298((byte)9, var2.worldId - -7000)}, (byte)-86); + } + + if(var1 > -2) { + return false; + } else { + RSString var4 = GameShell.aClass94_8; + if(Class163_Sub2.aClass94_2996 != null) { + var4 = RenderAnimationDefinition.method903(new RSString[]{Class97.aClass94_1380, Class163_Sub2.aClass94_2996}, (byte)-100); + } + RSString var5 = RenderAnimationDefinition.method903(new RSString[]{Class65.aClass94_992, var2.address, var9, Class3_Sub31.aClass94_2608, Class72.method1298((byte)9, Class3_Sub20.language), aClass94_2175, Class72.method1298((byte)9, Class3_Sub26.anInt2554), var4, Class80.aClass94_1133, !Class3_Sub28_Sub11.aBoolean3641?Class164_Sub1.aClass94_3013:Class14.aClass94_339, Class38_Sub1.aClass94_2610, !Class163_Sub2_Sub1.aBoolean4018?Class164_Sub1.aClass94_3013:Class14.aClass94_339, Class118.aClass94_1617, Class3_Sub28_Sub19.aBoolean3779?Class14.aClass94_339:Class164_Sub1.aClass94_3013}, (byte)-110); + + try { + Class126.aClient1671.getAppletContext().showDocument(var5.method1527(false), "_self"); + } catch (Exception var7) { + return false; + } + + return true; + } + } else { + GameLaunch.SETTINGS.setIp(var2.address.toString()); + byte[] var3 = var2.address.method1568(0); + Class38_Sub1.accRegistryIp = new String(var3, 0, var3.length); + CS2Script.anInt2451 = var2.worldId; + if(-1 != ~Class44.anInt718) { + Class162.anInt2036 = '\u9c40' + CS2Script.anInt2451; + Class140_Sub6.accRegistryPort = Class162.anInt2036; + WorldListCountry.anInt506 = CS2Script.anInt2451 + '\uc350'; + } + + return true; + } + } else { + return false; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ob.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1628(int var0, int var1, int var2, int var3, int var4, int var5, byte var6) { + try { + int var9; + int var12; + if(~Class164_Sub1.anInt3012 == -1) { + int var10 = Class86.anInt1195; + var9 = Class1.anInt55; + int var8 = Class145.anInt1898; + int var7 = Class139.anInt1824; + int var11 = (var5 - var3) * (-var7 + var8) / var1 - -var7; + var12 = var9 + (var10 + -var9) * (-var0 + var4) / var2; + if(GameObject.aBoolean1837 && ~(64 & Class164.anInt2051) != -1) { + RSInterface var13 = Class3_Sub28_Sub16.method638((byte)-19, Class54.anInt872, RSInterface.anInt278); + if(var13 != null) { + Class54.method1177(Class144.anInt1887, 0L, (byte)-53, Class131.aClass94_1724, var11, (short)11, Class3_Sub28_Sub9.aClass94_3621, var12); + } else { + Class25.method958((byte)-87); + } + } else { + ++Node.anInt2571; + if(~Class158.anInt2014 == -2) { + Class54.method1177(-1, 0L, (byte)-62, Class3_Sub28_Sub14.aClass94_3672, var11, (short)36, Class3_Sub28_Sub18.aClass94_3762, var12); + } + + Class54.method1177(-1, 0L, (byte)-75, Class3_Sub28_Sub14.aClass94_3672, var11, (short)60, Class3_Sub13_Sub28.aClass94_3353, var12); + } + } + + if(var6 > 48) { + long var25 = -1L; + + for(var9 = 0; Class2.anInt59 > var9; ++var9) { + long var26 = Class3_Sub13_Sub38.aLongArray3448[var9]; + var12 = (int)var26 & 127; + int var14 = ((int)var26 & 2009320690) >> 29; + int var15 = (int)(var26 >>> 32) & Integer.MAX_VALUE; + int var27 = 127 & (int)var26 >> 7; + if(~var26 != ~var25) { + var25 = var26; + int var18; + if(~var14 == -3 && Class151.method2096(WorldListCountry.localPlane, var12, var27, var26)) { + ObjectDefinition var16 = Class162.getObjectDefinition(4, var15); + if(null != var16.anIntArray1524) { + var16 = var16.method1685(0); + } + + if(null == var16) { + continue; + } + + if(-2 == ~Class164_Sub1.anInt3012) { + Class54.method1177(Class99.anInt1403, var26, (byte)-58, RenderAnimationDefinition.method903(new RSString[]{RenderAnimationDefinition.aClass94_378, Class3_Sub28_Sub4.aClass94_3573, var16.name}, (byte)-75), var12, (short)14, Class3_Sub13_Sub32.aClass94_3388, var27); + ++Class43.anInt715; + } else if(!GameObject.aBoolean1837) { + ++Class14.anInt336; + RSString[] var29 = var16.options; + if(Class123.aBoolean1656) { + var29 = Class3_Sub31.method822(19406, var29); + } + + if(var29 != null) { + for(var18 = 4; var18 >= 0; --var18) { + if(null != var29[var18]) { + ++Class3_Sub10.anInt2337; + short var19 = 0; + if(var18 == 0) { + var19 = 42; + } + + if(-2 == ~var18) { + var19 = 50; + } + + int var20 = -1; + if(2 == var18) { + var19 = 49; + } + + if(var16.anInt1493 == var18) { + var20 = var16.anInt1517; + } + + if(-4 == ~var18) { + var19 = 46; + } + + if(var18 == var16.anInt1520) { + var20 = var16.anInt1522; + } + + if(-5 == ~var18) { + var19 = 1001; + } + + Class54.method1177(var20, var26, (byte)-91, RenderAnimationDefinition.method903(new RSString[]{Class139.aClass94_1826, var16.name}, (byte)-95), var12, var19, var29[var18], var27); + } + } + } + + Class54.method1177(Class131.anInt1719, (long)var16.objectId, (byte)-26, RenderAnimationDefinition.method903(new RSString[]{Class139.aClass94_1826, var16.name}, (byte)-65), var12, (short)1004, Class86.aClass94_1180, var27); + } else { + Class3_Sub28_Sub9 var17 = -1 == Class69.anInt1038?null:Class61.method1210(64, Class69.anInt1038); + if(0 != (Class164.anInt2051 & 4) && (var17 == null || ~var16.method1691(var17.anInt3614, Class69.anInt1038, (byte)98) != ~var17.anInt3614)) { + Class54.method1177(Class144.anInt1887, var26, (byte)-77, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class3_Sub28_Sub4.aClass94_3573, var16.name}, (byte)-122), var12, (short)38, Class3_Sub28_Sub9.aClass94_3621, var27); + ++Class163_Sub1_Sub1.anInt4011; + } + } + } + + int var21; + int var22; + int var33; + Player var38; + NPC var36; + int var37; + if(-2 == ~var14) { + NPC var31 = Class3_Sub13_Sub24.npcs[var15]; + if(~(var31.definition.size & 1) == -1 && -1 == ~(127 & var31.anInt2819) && ~(var31.anInt2829 & 127) == -1 || 1 == (var31.definition.size & 1) && (127 & var31.anInt2819) == 64 && -65 == ~(var31.anInt2829 & 127)) { + var33 = var31.anInt2819 - -64 - 64 * var31.definition.size; + var18 = -((-1 + var31.definition.size) * 64) + var31.anInt2829; + + for(var37 = 0; var37 < Class163.localNPCCount; ++var37) { + var36 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var37]]; + var21 = -(var36.definition.size * 64) - -64 + var36.anInt2819; + var22 = var36.anInt2829 + -(var36.definition.size * 64) - -64; + if(var36 != null && var31 != var36 && ~var21 <= ~var33 && var31.definition.size - (-var33 + var21 >> 7) >= var36.definition.size && var18 <= var22 && var36.definition.size <= -(-var18 + var22 >> 7) + var31.definition.size) { + Class144.drawNpcRightClickOptions(var36.definition, var12, -126, Class15.localNPCIndexes[var37], var27); + } + } + + for(var37 = 0; ~Class159.localPlayerCount < ~var37; ++var37) { + var38 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var37]]; + var21 = var38.anInt2819 + 64 + -(64 * var38.getSize((byte)114)); + var22 = var38.anInt2829 - (var38.getSize((byte)114) * 64 + -64); + if(var38 != null && var21 >= var33 && ~var38.getSize((byte)114) >= ~(var31.definition.size - (var21 - var33 >> 7)) && ~var22 <= ~var18 && var38.getSize((byte)114) <= -(-var18 + var22 >> 7) + var31.definition.size) { + Class3_Sub13_Sub30.method312(Class56.localPlayerIndexes[var37], 5, var27, var38, var12); + } + } + } + + Class144.drawNpcRightClickOptions(var31.definition, var12, -108, var15, var27); + } + + if(var14 == 0) { + Player var30 = Class3_Sub13_Sub22.players[var15]; + if((127 & var30.anInt2819) == 64 && 64 == (127 & var30.anInt2829)) { + var33 = var30.anInt2819 + -(64 * (-1 + var30.getSize((byte)114))); + var18 = var30.anInt2829 + 64 + -(var30.getSize((byte)114) * 64); + + for(var37 = 0; var37 < Class163.localNPCCount; ++var37) { + var36 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var37]]; + var21 = var36.anInt2819 + -(var36.definition.size * 64) - -64; + var22 = var36.anInt2829 - 64 * var36.definition.size - -64; + if(var36 != null && var21 >= var33 && var36.definition.size <= -(var21 - var33 >> 7) + var30.getSize((byte)114) && ~var22 <= ~var18 && ~var36.definition.size >= ~(-(-var18 + var22 >> 7) + var30.getSize((byte)114))) { + Class144.drawNpcRightClickOptions(var36.definition, var12, -121, Class15.localNPCIndexes[var37], var27); + } + } + + for(var37 = 0; var37 < Class159.localPlayerCount; ++var37) { + var38 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var37]]; + var21 = var38.anInt2819 - (var38.getSize((byte)114) + -1) * 64; + var22 = var38.anInt2829 - (-64 + 64 * var38.getSize((byte)114)); + if(null != var38 && var38 != var30 && ~var33 >= ~var21 && var38.getSize((byte)114) <= var30.getSize((byte)114) - (var21 - var33 >> 7) && ~var22 <= ~var18 && ~var38.getSize((byte)114) >= ~(-(var22 + -var18 >> 7) + var30.getSize((byte)114))) { + Class3_Sub13_Sub30.method312(Class56.localPlayerIndexes[var37], 9, var27, var38, var12); + } + } + } + + Class3_Sub13_Sub30.method312(var15, 31, var27, var30, var12); + } + + if(~var14 == -4) { + Class61 var28 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var12][var27]; + if(null != var28) { + for(Class3_Sub28_Sub14 var32 = (Class3_Sub28_Sub14)var28.method1212(2); null != var32; var32 = (Class3_Sub28_Sub14)var28.method1219(41)) { + var18 = var32.aClass140_Sub7_3676.anInt2936; + ItemDefinition var40 = Class38.getItemDefinition(var18, (byte)71); + if(-2 == ~Class164_Sub1.anInt3012) { + ++Class3_Sub6.anInt2290; + Class54.method1177(Class99.anInt1403, (long)var18, (byte)-75, RenderAnimationDefinition.method903(new RSString[]{RenderAnimationDefinition.aClass94_378, Class130.aClass94_1699, var40.name}, (byte)-104), var12, (short)33, Class3_Sub13_Sub32.aClass94_3388, var27); + } else if(!GameObject.aBoolean1837) { + ++Class140_Sub6.anInt2901; + RSString[] var34 = var40.groundOptions; + if(Class123.aBoolean1656) { + var34 = Class3_Sub31.method822(19406, var34); + } + + for(var21 = 4; ~var21 <= -1; --var21) { + if(var34 != null && null != var34[var21]) { + ++Canvas_Sub2.anInt27; + byte var35 = 0; + if(~var21 == -1) { + var35 = 21; + } + + if(1 == var21) { + var35 = 34; + } + + int var23 = -1; + if(~var21 == ~var40.anInt767) { + var23 = var40.anInt758; + } + + if(var21 == 2) { + var35 = 18; + } + + if(var40.anInt788 == var21) { + var23 = var40.anInt756; + } + + if(~var21 == -4) { + var35 = 20; + } + + if(-5 == ~var21) { + var35 = 24; + } + + Class54.method1177(var23, (long)var18, (byte)-43, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var40.name}, (byte)-66), var12, var35, var34[var21], var27); + } + } + + Class54.method1177(Class131.anInt1719, (long)var18, (byte)-43, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var40.name}, (byte)-70), var12, (short)1002, Class86.aClass94_1180, var27); + } else { + Class3_Sub28_Sub9 var39 = Class69.anInt1038 == -1?null:Class61.method1210(64, Class69.anInt1038); + if((Class164.anInt2051 & 1) != 0 && (null == var39 || ~var40.method1115(var39.anInt3614, 100, Class69.anInt1038) != ~var39.anInt3614)) { + ++Class106.anInt1439; + Class54.method1177(Class144.anInt1887, (long)var18, (byte)-70, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class130.aClass94_1699, var40.name}, (byte)-80), var12, (short)39, Class3_Sub28_Sub9.aClass94_3621, var27); + } + } + } + } + } + } + } + + } + } catch (RuntimeException var24) { + throw Class44.method1067(var24, "ob.K(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method1629(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18, int var19) { + int var21; + Class126 var20; + if(var3 == 0) { + var20 = new Class126(var10, var11, var12, var13, -1, var18, false); + + for(var21 = var0; var21 >= 0; --var21) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2); + } + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass126_2240 = var20; + } else if(var3 != 1) { + Class35 var22 = new Class35(var3, var4, var5, var1, var2, var6, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19); + + for(var21 = var0; var21 >= 0; --var21) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2); + } + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass35_2226 = var22; + } else { + var20 = new Class126(var14, var15, var16, var17, var5, var19, var6 == var7 && var6 == var8 && var6 == var9); + + for(var21 = var0; var21 >= 0; --var21) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var21][var1][var2] = new Class3_Sub2(var21, var1, var2); + } + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass126_2240 = var20; + } + } + + public final int method24() { + try { + return 0; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.C()"); + } + } + + public final void method23(int var1) { + try { + GL var2 = HDToolKit.gl; + float var4 = (float)(1 + (var1 >> 3 & 3)) * 0.01F; + float var3 = -0.01F * (float)(1 + (var1 & 3)); + float var5 = 0 == (var1 & 64)?4.8828125E-4F:9.765625E-4F; + boolean var6 = -1 != ~(128 & var1); + if(var6) { + this.aFloatArray2174[0] = var5; + this.aFloatArray2174[1] = 0.0F; + this.aFloatArray2174[2] = 0.0F; + this.aFloatArray2174[3] = 0.0F; + } else { + this.aFloatArray2174[2] = var5; + this.aFloatArray2174[1] = 0.0F; + this.aFloatArray2174[3] = 0.0F; + this.aFloatArray2174[0] = 0.0F; + } + + var2.glActiveTexture('\u84c1'); + var2.glMatrixMode(5888); + var2.glPushMatrix(); + var2.glLoadIdentity(); + var2.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + var2.glRotatef((float)Class140_Sub7.anInt2938 * 360.0F / 2048.0F, 1.0F, 0.0F, 0.0F); + var2.glRotatef(360.0F * (float)Class3_Sub13_Sub8.anInt3103 / 2048.0F, 0.0F, 1.0F, 0.0F); + var2.glTranslatef((float)(-Class9.anInt144), (float)(-Class3_Sub28_Sub15.anInt3695), (float)(-Class3_Sub29.anInt2587)); + var2.glTexGenfv(8192, 9474, this.aFloatArray2174, 0); + this.aFloatArray2174[3] = var3 * (float)HDToolKit.anInt1791; + this.aFloatArray2174[0] = 0.0F; + this.aFloatArray2174[2] = 0.0F; + this.aFloatArray2174[1] = var5; + var2.glTexGenfv(8193, 9474, this.aFloatArray2174, 0); + var2.glPopMatrix(); + if(!Class88.aBoolean1227) { + int var7 = (int)((float)HDToolKit.anInt1791 * var4 * 64.0F); + var2.glBindTexture(3553, Class88.anIntArray1223[var7 % 64]); + } else { + this.aFloatArray2174[3] = (float)HDToolKit.anInt1791 * var4; + this.aFloatArray2174[1] = 0.0F; + this.aFloatArray2174[0] = 0.0F; + this.aFloatArray2174[2] = 0.0F; + var2.glTexGenfv(8194, 9473, this.aFloatArray2174, 0); + } + + var2.glActiveTexture('\u84c0'); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ob.B(" + var1 + ')'); + } + } + + public final void method21() { + try { + GL var1 = HDToolKit.gl; + var1.glCallList(1 + this.anInt2173); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.A()"); + } + } + + public final void method22() { + try { + GL var1 = HDToolKit.gl; + var1.glCallList(this.anInt2173); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.D()"); + } + } + + public static void method1630(byte var0) { + try { + aClass94_2171 = null; + aClass153_2172 = null; + aBooleanArray2169 = null; + aClass94_2176 = null; + if(var0 > -112) { + method1632(-116, 108, 54, -120, 44, 6); + } + + aClass94_2170 = null; + aClass94_2175 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.J(" + var0 + ')'); + } + } + + private final void method1631(int var1) { + try { + GL var2 = HDToolKit.gl; + this.anInt2173 = var2.glGenLists(var1); + var2.glNewList(this.anInt2173, 4864); + var2.glActiveTexture('\u84c1'); + if(!Class88.aBoolean1227) { + var2.glEnable(3553); + } else { + var2.glBindTexture('\u806f', Class88.anInt1229); + var2.glTexGeni(8194, 9472, 9217); + var2.glEnable(3170); + var2.glEnable('\u806f'); + } + + var2.glTexGeni(8192, 9472, 9216); + var2.glTexGeni(8193, 9472, 9216); + var2.glEnable(3168); + var2.glEnable(3169); + var2.glActiveTexture('\u84c0'); + var2.glEndList(); + var2.glNewList(this.anInt2173 + 1, 4864); + var2.glActiveTexture('\u84c1'); + if(Class88.aBoolean1227) { + var2.glDisable('\u806f'); + var2.glDisable(3170); + } else { + var2.glDisable(3553); + } + + var2.glDisable(3168); + var2.glDisable(3169); + var2.glActiveTexture('\u84c0'); + var2.glEndList(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ob.I(" + var1 + ')'); + } + } + + public Class104() { + try { + this.method1631(2); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ob.()"); + } + } + + static final void method1632(int var0, int var1, int var2, int var3, int var4, int var5) { + try { + if(var0 <= 66) { + method1630((byte)-33); + } + + for(int var6 = var3; ~var1 <= ~var6; ++var6) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var6], var4, 121, var2, var5); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "ob.G(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class105.java b/09HDscape-client/src/org/runite/jagex/Class105.java new file mode 100644 index 000000000..530fb57e8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class105.java @@ -0,0 +1,604 @@ +package org.runite.jagex; + +final class Class105 { + + private static Class9 aClass9_1438 = new Class9(); + + + private static final int method1633(int var0, Class9 var1) { + while(var1.anInt128 < var0) { + var1.anInt140 = var1.anInt140 << 8 | var1.aByteArray127[var1.anInt116] & 255; + var1.anInt128 += 8; + ++var1.anInt116; + ++var1.anInt147; + if(var1.anInt147 == 0) { + ; + } + } + + int var3 = var1.anInt140 >> var1.anInt128 - var0 & (1 << var0) - 1; + var1.anInt128 -= var0; + return var3; + } + + private static final void method1634(Class9 var0) { + byte var2 = var0.aByte111; + int var3 = var0.anInt143; + int var4 = var0.anInt131; + int var5 = var0.anInt129; + int[] var6 = Class129.anIntArray1690; + int var7 = var0.anInt133; + byte[] var8 = var0.aByteArray117; + int var9 = var0.anInt118; + int var10 = var0.anInt126; + int var12 = var0.anInt121 + 1; + + label67: + while(true) { + if(var3 > 0) { + while(true) { + if(var10 == 0) { + break label67; + } + + if(var3 == 1) { + if(var10 == 0) { + var3 = 1; + break label67; + } + + var8[var9] = var2; + ++var9; + --var10; + break; + } + + var8[var9] = var2; + --var3; + ++var9; + --var10; + } + } + + boolean var14 = true; + + byte var1; + while(var14) { + var14 = false; + if(var4 == var12) { + var3 = 0; + break label67; + } + + var2 = (byte)var5; + var7 = var6[var7]; + var1 = (byte)(var7 & 255); + var7 >>= 8; + ++var4; + if(var1 != var5) { + var5 = var1; + if(var10 == 0) { + var3 = 1; + break label67; + } + + var8[var9] = var2; + ++var9; + --var10; + var14 = true; + } else if(var4 == var12) { + if(var10 == 0) { + var3 = 1; + break label67; + } + + var8[var9] = var2; + ++var9; + --var10; + var14 = true; + } + } + + var3 = 2; + var7 = var6[var7]; + var1 = (byte)(var7 & 255); + var7 >>= 8; + ++var4; + if(var4 != var12) { + if(var1 != var5) { + var5 = var1; + } else { + var3 = 3; + var7 = var6[var7]; + var1 = (byte)(var7 & 255); + var7 >>= 8; + ++var4; + if(var4 != var12) { + if(var1 != var5) { + var5 = var1; + } else { + var7 = var6[var7]; + var1 = (byte)(var7 & 255); + var7 >>= 8; + ++var4; + var3 = (var1 & 255) + 4; + var7 = var6[var7]; + var5 = (byte)(var7 & 255); + var7 >>= 8; + ++var4; + } + } + } + } + } + + int var13 = var0.anInt141; + var0.anInt141 += var10 - var10; + if(var0.anInt141 < var13) { + ; + } + + var0.aByte111 = var2; + var0.anInt143 = var3; + var0.anInt131 = var4; + var0.anInt129 = var5; + Class129.anIntArray1690 = var6; + var0.anInt133 = var7; + var0.aByteArray117 = var8; + var0.anInt118 = var9; + var0.anInt126 = var10; + } + + private static final void method1635(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) { + int var7 = 0; + + int var8; + for(var8 = var4; var8 <= var5; ++var8) { + for(int var9 = 0; var9 < var6; ++var9) { + if(var3[var9] == var8) { + var2[var7] = var9; + ++var7; + } + } + } + + for(var8 = 0; var8 < 23; ++var8) { + var1[var8] = 0; + } + + for(var8 = 0; var8 < var6; ++var8) { + ++var1[var3[var8] + 1]; + } + + for(var8 = 1; var8 < 23; ++var8) { + var1[var8] += var1[var8 - 1]; + } + + for(var8 = 0; var8 < 23; ++var8) { + var0[var8] = 0; + } + + int var10 = 0; + + for(var8 = var4; var8 <= var5; ++var8) { + var10 += var1[var8 + 1] - var1[var8]; + var0[var8] = var10 - 1; + var10 <<= 1; + } + + for(var8 = var4 + 1; var8 <= var5; ++var8) { + var1[var8] = (var0[var8 - 1] + 1 << 1) - var1[var8]; + } + + } + + private static final void method1636(Class9 var0) { + var0.anInt137 = 0; + + for(int var1 = 0; var1 < 256; ++var1) { + if(var0.aBooleanArray112[var1]) { + var0.aByteArray114[var0.anInt137] = (byte)var1; + ++var0.anInt137; + } + } + + } + + private static final byte method1637(Class9 var0) { + return (byte)method1633(8, var0); + } + + private static final void method1638(Class9 var0) { + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + boolean var9 = false; + boolean var10 = false; + boolean var11 = false; + boolean var12 = false; + boolean var13 = false; + boolean var14 = false; + boolean var15 = false; + boolean var16 = false; + boolean var17 = false; + boolean var18 = false; + boolean var19 = false; + boolean var20 = false; + boolean var21 = false; + int var22 = 0; + int[] var23 = null; + int[] var24 = null; + int[] var25 = null; + var0.anInt142 = 1; + if(Class129.anIntArray1690 == null) { + Class129.anIntArray1690 = new int[var0.anInt142 * 100000]; + } + + boolean var26 = true; + + while(var26) { + byte var1 = method1637(var0); + if(var1 == 23) { + return; + } + + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1637(var0); + var1 = method1639(var0); + if(var1 != 0) { + ; + } + + var0.anInt135 = 0; + var1 = method1637(var0); + var0.anInt135 = var0.anInt135 << 8 | var1 & 255; + var1 = method1637(var0); + var0.anInt135 = var0.anInt135 << 8 | var1 & 255; + var1 = method1637(var0); + var0.anInt135 = var0.anInt135 << 8 | var1 & 255; + + int var35; + for(var35 = 0; var35 < 16; ++var35) { + var1 = method1639(var0); + if(var1 == 1) { + var0.aBooleanArray124[var35] = true; + } else { + var0.aBooleanArray124[var35] = false; + } + } + + for(var35 = 0; var35 < 256; ++var35) { + var0.aBooleanArray112[var35] = false; + } + + int var36; + for(var35 = 0; var35 < 16; ++var35) { + if(var0.aBooleanArray124[var35]) { + for(var36 = 0; var36 < 16; ++var36) { + var1 = method1639(var0); + if(var1 == 1) { + var0.aBooleanArray112[var35 * 16 + var36] = true; + } + } + } + } + + method1636(var0); + int var38 = var0.anInt137 + 2; + int var39 = method1633(3, var0); + int var40 = method1633(15, var0); + var35 = 0; + + while(var35 < var40) { + var36 = 0; + + while(true) { + var1 = method1639(var0); + if(var1 == 0) { + var0.aByteArray139[var35] = (byte)var36; + ++var35; + break; + } + + ++var36; + } + } + + byte[] var27 = new byte[6]; + + byte var29; + for(var29 = 0; var29 < var39; var27[var29] = var29++) { + ; + } + + for(var35 = 0; var35 < var40; ++var35) { + var29 = var0.aByteArray139[var35]; + + byte var28; + for(var28 = var27[var29]; var29 > 0; --var29) { + var27[var29] = var27[var29 - 1]; + } + + var27[0] = var28; + var0.aByteArray130[var35] = var28; + } + + int var37; + for(var37 = 0; var37 < var39; ++var37) { + int var49 = method1633(5, var0); + var35 = 0; + + while(var35 < var38) { + while(true) { + var1 = method1639(var0); + if(var1 == 0) { + var0.aByteArrayArray146[var37][var35] = (byte)var49; + ++var35; + break; + } + + var1 = method1639(var0); + if(var1 == 0) { + ++var49; + } else { + --var49; + } + } + } + } + + for(var37 = 0; var37 < var39; ++var37) { + byte var2 = 32; + byte var3 = 0; + + for(var35 = 0; var35 < var38; ++var35) { + if(var0.aByteArrayArray146[var37][var35] > var3) { + var3 = var0.aByteArrayArray146[var37][var35]; + } + + if(var0.aByteArrayArray146[var37][var35] < var2) { + var2 = var0.aByteArrayArray146[var37][var35]; + } + } + + method1635(var0.anIntArrayArray115[var37], var0.anIntArrayArray108[var37], var0.anIntArrayArray110[var37], var0.aByteArrayArray146[var37], var2, var3, var38); + var0.anIntArray138[var37] = var2; + } + + int var42 = var0.anInt137 + 1; + int var41 = -1; + byte var43 = 0; + + for(var35 = 0; var35 <= 255; ++var35) { + var0.anIntArray134[var35] = 0; + } + + int var56 = 4095; + + int var55; + int var54; + for(var55 = 15; var55 >= 0; --var55) { + for(var54 = 15; var54 >= 0; --var54) { + var0.aByteArray109[var56] = (byte)(var55 * 16 + var54); + --var56; + } + + var0.anIntArray123[var55] = var56 + 1; + } + + int var47 = 0; + byte var53; + if(var43 == 0) { + ++var41; + var43 = 50; + var53 = var0.aByteArray130[var41]; + var22 = var0.anIntArray138[var53]; + var23 = var0.anIntArrayArray115[var53]; + var25 = var0.anIntArrayArray110[var53]; + var24 = var0.anIntArrayArray108[var53]; + } + + int var45 = var43 - 1; + int var51 = var22; + + int var50; + byte var52; + for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) { + ++var51; + var52 = method1639(var0); + } + + int var44 = var25[var50 - var24[var51]]; + + while(var44 != var42) { + if(var44 != 0 && var44 != 1) { + int var33 = var44 - 1; + int var30; + if(var33 < 16) { + var30 = var0.anIntArray123[0]; + + for(var1 = var0.aByteArray109[var30 + var33]; var33 > 3; var33 -= 4) { + int var34 = var30 + var33; + var0.aByteArray109[var34] = var0.aByteArray109[var34 - 1]; + var0.aByteArray109[var34 - 1] = var0.aByteArray109[var34 - 2]; + var0.aByteArray109[var34 - 2] = var0.aByteArray109[var34 - 3]; + var0.aByteArray109[var34 - 3] = var0.aByteArray109[var34 - 4]; + } + + while(var33 > 0) { + var0.aByteArray109[var30 + var33] = var0.aByteArray109[var30 + var33 - 1]; + --var33; + } + + var0.aByteArray109[var30] = var1; + } else { + int var31 = var33 / 16; + int var32 = var33 % 16; + var30 = var0.anIntArray123[var31] + var32; + + for(var1 = var0.aByteArray109[var30]; var30 > var0.anIntArray123[var31]; --var30) { + var0.aByteArray109[var30] = var0.aByteArray109[var30 - 1]; + } + + ++var0.anIntArray123[var31]; + + while(var31 > 0) { + --var0.anIntArray123[var31]; + var0.aByteArray109[var0.anIntArray123[var31]] = var0.aByteArray109[var0.anIntArray123[var31 - 1] + 16 - 1]; + --var31; + } + + --var0.anIntArray123[0]; + var0.aByteArray109[var0.anIntArray123[0]] = var1; + if(var0.anIntArray123[0] == 0) { + var56 = 4095; + + for(var55 = 15; var55 >= 0; --var55) { + for(var54 = 15; var54 >= 0; --var54) { + var0.aByteArray109[var56] = var0.aByteArray109[var0.anIntArray123[var55] + var54]; + --var56; + } + + var0.anIntArray123[var55] = var56 + 1; + } + } + } + + ++var0.anIntArray134[var0.aByteArray114[var1 & 255] & 255]; + Class129.anIntArray1690[var47] = var0.aByteArray114[var1 & 255] & 255; + ++var47; + if(var45 == 0) { + ++var41; + var45 = 50; + var53 = var0.aByteArray130[var41]; + var22 = var0.anIntArray138[var53]; + var23 = var0.anIntArrayArray115[var53]; + var25 = var0.anIntArrayArray110[var53]; + var24 = var0.anIntArrayArray108[var53]; + } + + --var45; + var51 = var22; + + for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) { + ++var51; + var52 = method1639(var0); + } + + var44 = var25[var50 - var24[var51]]; + } else { + int var46 = -1; + int var48 = 1; + + do { + if(var44 == 0) { + var46 += 1 * var48; + } else if(var44 == 1) { + var46 += 2 * var48; + } + + var48 *= 2; + if(var45 == 0) { + ++var41; + var45 = 50; + var53 = var0.aByteArray130[var41]; + var22 = var0.anIntArray138[var53]; + var23 = var0.anIntArrayArray115[var53]; + var25 = var0.anIntArrayArray110[var53]; + var24 = var0.anIntArrayArray108[var53]; + } + + --var45; + var51 = var22; + + for(var50 = method1633(var22, var0); var50 > var23[var51]; var50 = var50 << 1 | var52) { + ++var51; + var52 = method1639(var0); + } + + var44 = var25[var50 - var24[var51]]; + } while(var44 == 0 || var44 == 1); + + ++var46; + var1 = var0.aByteArray114[var0.aByteArray109[var0.anIntArray123[0]] & 255]; + + for(var0.anIntArray134[var1 & 255] += var46; var46 > 0; --var46) { + Class129.anIntArray1690[var47] = var1 & 255; + ++var47; + } + } + } + + var0.anInt143 = 0; + var0.aByte111 = 0; + var0.anIntArray122[0] = 0; + + for(var35 = 1; var35 <= 256; ++var35) { + var0.anIntArray122[var35] = var0.anIntArray134[var35 - 1]; + } + + for(var35 = 1; var35 <= 256; ++var35) { + var0.anIntArray122[var35] += var0.anIntArray122[var35 - 1]; + } + + for(var35 = 0; var35 < var47; ++var35) { + var1 = (byte)(Class129.anIntArray1690[var35] & 255); + Class129.anIntArray1690[var0.anIntArray122[var1 & 255]] |= var35 << 8; + ++var0.anIntArray122[var1 & 255]; + } + + var0.anInt133 = Class129.anIntArray1690[var0.anInt135] >> 8; + var0.anInt131 = 0; + var0.anInt133 = Class129.anIntArray1690[var0.anInt133]; + var0.anInt129 = (byte)(var0.anInt133 & 255); + var0.anInt133 >>= 8; + ++var0.anInt131; + var0.anInt121 = var47; + method1634(var0); + if(var0.anInt131 == var0.anInt121 + 1 && var0.anInt143 == 0) { + var26 = true; + } else { + var26 = false; + } + } + + } + + private static final byte method1639(Class9 var0) { + return (byte)method1633(1, var0); + } + + static final int method1640(byte[] var0, int var1, byte[] var2, int var3, int var4) { + Class9 var5 = aClass9_1438; + synchronized(var5) { + aClass9_1438.aByteArray127 = var2; + aClass9_1438.anInt116 = var4; + aClass9_1438.aByteArray117 = var0; + aClass9_1438.anInt118 = 0; + aClass9_1438.anInt126 = var1; + aClass9_1438.anInt128 = 0; + aClass9_1438.anInt140 = 0; + aClass9_1438.anInt147 = 0; + aClass9_1438.anInt141 = 0; + method1638(aClass9_1438); + var1 -= aClass9_1438.anInt126; + aClass9_1438.aByteArray127 = null; + aClass9_1438.aByteArray117 = null; + return var1; + } + } + + public static void method1641() { + aClass9_1438 = null; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class106.java b/09HDscape-client/src/org/runite/jagex/Class106.java new file mode 100644 index 000000000..a606f11eb --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class106.java @@ -0,0 +1,95 @@ +package org.runite.jagex; + +final class Class106 { + + static int anInt1439; + private static RSString aClass94_1440 = RSString.createRSString("Connected to update server"); + static boolean aBoolean1441 = true; + static int anInt1442 = 0; + static Class67 aClass67_1443; + static short aShort1444 = 256; + static RSString aClass94_1445 = aClass94_1440; + static int anInt1446 = 0; + int anInt1447; + int anInt1448; + int anInt1449; + int anInt1450; + static boolean hasInternetExplorer6 = false; + + + static final void method1642(int var0, RSString var1) { + try { + if(null != Class3_Sub28_Sub15.aClass3_Sub19Array3694) { + if(var0 != 3803) { + aClass67_1443 = (Class67)null; + } + + long var3 = var1.toLong(var0 + -3930); + int var2 = 0; + if(var3 != 0L) { + while(Class3_Sub28_Sub15.aClass3_Sub19Array3694.length > var2 && ~Class3_Sub28_Sub15.aClass3_Sub19Array3694[var2].aLong71 != ~var3) { + ++var2; + } + + if(var2 < Class3_Sub28_Sub15.aClass3_Sub19Array3694.length && null != Class3_Sub28_Sub15.aClass3_Sub19Array3694[var2]) { + ++Class39.anInt671; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(162); + Class3_Sub13_Sub1.outgoingBuffer.putLong(Class3_Sub28_Sub15.aClass3_Sub19Array3694[var2].aLong71, -2037491440); + } + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "od.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final int method1643(int var0, boolean var1, int var2, int var3) { + try { + if(var0 != 10131) { + method1644((byte)95); + } + + Class3_Sub25 var4 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var2, var0 + -10131); + if(null != var4) { + int var5 = 0; + + for(int var6 = 0; ~var4.anIntArray2547.length < ~var6; ++var6) { + if(var4.anIntArray2547[var6] >= 0 && Class3_Sub13_Sub23.itemDefinitionSize > var4.anIntArray2547[var6]) { + ItemDefinition var7 = Class38.getItemDefinition(var4.anIntArray2547[var6], (byte)79); + if(null != var7.aClass130_798) { + Class3_Sub18 var8 = (Class3_Sub18)var7.aClass130_798.method1780((long)var3, 0); + if(null != var8) { + if(var1) { + var5 += var4.anIntArray2551[var6] * var8.anInt2467; + } else { + var5 += var8.anInt2467; + } + } + } + } + } + + return var5; + } else { + return 0; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "od.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method1644(byte var0) { + try { + aClass67_1443 = null; + if(var0 != 121) { + aClass67_1443 = (Class67)null; + } + + aClass94_1445 = null; + aClass94_1440 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "od.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class107.java b/09HDscape-client/src/org/runite/jagex/Class107.java new file mode 100644 index 000000000..e6bb51091 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class107.java @@ -0,0 +1,116 @@ +package org.runite.jagex; + +final class Class107 { + + static int currentChunkY; + static RSInterface aClass11_1453; + static RSString[] aClass94Array1454; + static RSString aClass94_1455 = RSString.createRSString(" loggt sich aus)3"); + + + static final void method1645(CacheIndex var0, CacheIndex var1, byte var2) { + try { + Class148.aClass153_1916 = var1; + int var4 = (int)(21.0D * Math.random()) - 10; + Class54.aClass153_878 = var0; + int var5 = (int)(21.0D * Math.random()) - 10; + Class54.aClass153_878.getFileAmount(34, (byte)103); + int var3 = (int)(Math.random() * 21.0D) + -10; + int var6 = -20 + (int)(41.0D * Math.random()); + Class158.anInt2015 = var6 + var5; + if(var2 == -67) { + Class46.anInt740 = var4 + var6; + Class102.anInt2136 = var6 + var3; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "og.F(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method1646(boolean var0) { + try { + aClass94_1455 = null; + if(!var0) { + aClass94_1455 = (RSString)null; + } + + aClass94Array1454 = null; + aClass11_1453 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "og.E(" + var0 + ')'); + } + } + + static final void method1647(byte var0, int var1, int var2, Class140_Sub4 var3, int var4, int var5, int var6) { + try { + if(var0 != 122) { + method1648((CacheIndex)null, 7); + } + + Class118.method1724(var6, var2, var3.anInt2829, var5, var1, var3.anInt2819, (byte)-85, var4); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "og.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method1648(CacheIndex var0, int var1) { + try { + Class101.aClass153_1420 = var0; + if(var1 != 255) { + currentChunkY = -56; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "og.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1649(int var0, int var1) { + try { + if(var1 <= -65) { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 10, var0); + var2.a(true); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "og.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1650(int var0) { + try { + Class61.aClass93_939.method1523((byte)-113); + if(var0 != 21) { + aClass11_1453 = (RSInterface)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "og.G(" + var0 + ')'); + } + } + + static final int method1651(int var0, int var1, int var2) { + try { + int var3; + if(~var2 > ~var1) { + var3 = var2; + var2 = var1; + var1 = var3; + } + + while(var1 != 0) { + var3 = var2 % var1; + var2 = var1; + var1 = var3; + } + + if(var0 != 19067) { + aClass94Array1454 = (RSString[])null; + } + + return var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "og.D(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class108.java b/09HDscape-client/src/org/runite/jagex/Class108.java new file mode 100644 index 000000000..89adda9e7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class108.java @@ -0,0 +1,158 @@ +package org.runite.jagex; + +final class Class108 { + + static RSString aClass94_1456 = RSString.createRSString("::qa_op_test"); + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_1457; + static RSString aClass94_1458 = RSString.createRSString("::wm1"); + static RSString aClass94_1459 = RSString.createRSString("cyan:"); + static int anInt1460; + + + static final void method1652(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + try { + if(var9 != 0) { + aClass94_1458 = (RSString)null; + } + + if(~var5 <= ~Class101.anInt1425 && ~var5 >= ~Class3_Sub28_Sub18.anInt3765 && var0 >= Class101.anInt1425 && ~var0 >= ~Class3_Sub28_Sub18.anInt3765 && ~var6 <= ~Class101.anInt1425 && ~Class3_Sub28_Sub18.anInt3765 <= ~var6 && ~Class101.anInt1425 >= ~var1 && ~var1 >= ~Class3_Sub28_Sub18.anInt3765 && ~Class159.anInt2020 >= ~var4 && ~var4 >= ~Class57.anInt902 && ~var7 <= ~Class159.anInt2020 && Class57.anInt902 >= var7 && var2 >= Class159.anInt2020 && ~Class57.anInt902 <= ~var2 && ~var3 <= ~Class159.anInt2020 && ~var3 >= ~Class57.anInt902) { + Class3_Sub5.method114(3, var2, var8, var7, var6, var1, var3, var4, var0, var5); + } else { + Class95.method1583(var5, var0, var7, 3, var8, var3, var2, var1, var6, var4); + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "oi.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + static final RSString method1653(int var0, int var1) { + try { + if(var1 != 0) { + method1660(-41); + } + + return RenderAnimationDefinition.method903(new RSString[]{Class72.method1298((byte)9, 255 & var0 >> 24), Class163_Sub2_Sub1.aClass94_4023, Class72.method1298((byte)9, (var0 & 16712751) >> 16), Class163_Sub2_Sub1.aClass94_4023, Class72.method1298((byte)9, 255 & var0 >> 8), Class163_Sub2_Sub1.aClass94_4023, Class72.method1298((byte)9, var0 & 255)}, (byte)-110); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "oi.F(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1654(int var0) { + try { + Class140_Sub4.aClass93_2792.method1523((byte)-108); + if(var0 == -15447) { + ; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oi.E(" + var0 + ')'); + } + } + + static final byte[] method1655(byte var0, byte[] var1) { + try { + if(var1 == null) { + return null; + } else { + if(var0 > -30) { + aClass3_Sub28_Sub16_1457 = (Class3_Sub28_Sub16)null; + } + + byte[] var2 = new byte[var1.length]; + Class76.method1357(var1, 0, var2, 0, var1.length); + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "oi.H(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method1656(CacheIndex var0, byte var1) { + try { + if(!Class140_Sub2.aBoolean2713) { + if(!HDToolKit.highDetail) { + Class74.method1320(); + } else { + Class22.method932(); + } + + Class40.aClass3_Sub28_Sub16_680 = Class75_Sub2.method1344(117, var0, Class154.anInt1966); + int var2 = Class140_Sub7.anInt2934; + int var3 = var2 * 956 / 503; + Class40.aClass3_Sub28_Sub16_680.method639((Class23.anInt454 + -var3) / 2, 0, var3, var2); + AnimationDefinition.aClass109_1856 = Class3_Sub28_Sub6.a(Class79.anInt1124, var0, true); + AnimationDefinition.aClass109_1856.method1667(Class23.anInt454 / 2 + -(AnimationDefinition.aClass109_1856.anInt1461 / 2), 18); + Class140_Sub2.aBoolean2713 = true; + if(var1 > -50) { + method1654(-27); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "oi.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1657(int var0, int var1) { + try { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 5, var0); + var2.a(true); + if(var1 != -903) { + aClass94_1458 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "oi.J(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1658(int var0, int[] var1, Object[] var2) { + try { + Class25.method956(var2, var1.length - 1, var1, 74, 0); + int var3 = 113 % ((76 - var0) / 45); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "oi.I(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method1659(int var0) { + try { + Class61.aClass93_939.method1524(3); + if(var0 == 16712751) { + ; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oi.G(" + var0 + ')'); + } + } + + public static void method1660(int var0) { + try { + aClass3_Sub28_Sub16_1457 = null; + aClass94_1458 = null; + aClass94_1456 = null; + if(var0 != 13123) { + aClass94_1458 = (RSString)null; + } + + aClass94_1459 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oi.A(" + var0 + ')'); + } + } + + static final void method1661(int var0, CacheIndex var1, CacheIndex var2, boolean var3) { + try { + Class14.aBoolean337 = var3; + Class69.aClass153_1043 = var2; + if(var0 != 2) { + method1658(22, (int[])null, (Object[])null); + } + + Class85.aClass153_1171 = var1; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "oi.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class110.java b/09HDscape-client/src/org/runite/jagex/Class110.java new file mode 100644 index 000000000..4abe01335 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class110.java @@ -0,0 +1,529 @@ +package org.runite.jagex; + + +final class Class110 { + + static Class61 aClass61_1471 = new Class61(); + static int anInt1472 = 0; + static int anInt1473; + static RSString aClass94_1474 = RSString.createRSString("::serverjs5drop"); + static float aFloat1475; + + + static final void method1681(int var0) { + try { + if(Class3_Sub13_Sub25.loginStage == 5) { + if(var0 != -1) { + aClass94_1474 = (RSString)null; + } + + Class3_Sub13_Sub25.loginStage = 6; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "p.A(" + var0 + ')'); + } + } + + public static void method1682(int var0) { + try { + aClass94_1474 = null; + aClass61_1471 = null; + if(var0 >= -65) { + method1681(-121); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "p.C(" + var0 + ')'); + } + } + + static final void method1683(int var0, boolean var1, int var2, boolean var3, Class91 var4, int objectId, int type, int var7, byte var8, int var9, int var10) { + try { + var2 %= 4; + if(var1 && !NPC.method1986(103) && 0 == (2 & Class9.aByteArrayArrayArray113[0][var7][var9])) { + if(0 != (16 & Class9.aByteArrayArrayArray113[var2][var7][var9])) { + return; + } + + if(~PacketParser.method823(var9, var7, var8 ^ -127, var2) != ~Class140_Sub3.anInt2745) { + return; + } + } + + if(~var2 > ~Class85.anInt1174) { + Class85.anInt1174 = var2; + } + + ObjectDefinition def = Class162.getObjectDefinition(4, objectId); + if(!HDToolKit.highDetail || !def.aBoolean1530) { + int var12; + int var13; + if(-2 != ~var10 && ~var10 != -4) { + var12 = def.anInt1480; + var13 = def.anInt1485; + } else { + var13 = def.anInt1480; + var12 = def.anInt1485; + } + + int var14; + int var15; + if(var7 + var12 <= 104) { + var14 = var7 + (var12 >> 1); + var15 = var7 - -(1 + var12 >> 1); + } else { + var15 = 1 + var7; + var14 = var7; + } + + int var17; + int var16; + if(-105 > ~(var13 + var9)) { + var16 = var9; + var17 = var9 - -1; + } else { + var16 = (var13 >> 1) + var9; + var17 = var9 + (var13 + 1 >> 1); + } + + int[][] var18 = Class44.anIntArrayArrayArray723[var0]; + if(var8 == 50) { + int var20 = (var12 << 6) + (var7 << 7); + int var21 = (var13 << 6) + (var9 << 7); + int var19 = var18[var14][var17] + var18[var15][var16] + var18[var14][var16] + var18[var15][var17] >> 2; + int var22 = 0; + int[][] var23; + if(HDToolKit.highDetail && -1 != ~var0) { + var23 = Class44.anIntArrayArrayArray723[0]; + var22 = var19 - (var23[var15][var17] + var23[var15][var16] + var23[var14][var16] + var23[var14][var17] >> 2); + } + + var23 = (int[][])null; + long var24 = (long)(1073741824 | var7 | var9 << 7 | type << 14 | var10 << 20); + if(var3) { + var23 = Class58.anIntArrayArrayArray914[0]; + } else if(-4 < ~var0) { + var23 = Class44.anIntArrayArrayArray723[1 + var0]; + } + + if(0 == def.anInt1529 || var3) { + var24 |= Long.MIN_VALUE; + } + + if(1 == def.anInt1540) { + var24 |= 4194304L; + } + + if(def.aBoolean1507) { + var24 |= 2147483648L; + } + + if(def.method1690(28933)) { + Class70.method1286(var9, false, def, var10, (NPC)null, var7, var2, (Player)null); + } + + boolean var26 = def.aBoolean1503 & !var3; + var24 |= (long)objectId << 32; + Object object; + Class136 var28; + if(22 != type) { + if(10 != type && 11 != type) { + if(12 <= type) { + if(-1 == def.animationId && null == def.anIntArray1524 && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, type, var19, var23, var1, (LDIndexedSprite)null, (byte)-82, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, type, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class7.method835(var2, var7, var9, var19, 1, 1, (GameObject)object, 0, var24); + if(var1 && 12 <= type && -18 <= ~type && -14 != ~type && var2 > 0) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 4); + } + + if(-1 != ~def.actionCount && null != var4) { + var4.method1489(var7, def.aBoolean1486, (byte)73, var9, var12, var13); + } + + } else if(0 == type) { + if(0 == ~def.animationId && null == def.anIntArray1524 && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, 0, var19, var23, var1, (LDIndexedSprite)null, (byte)-74, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 0, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class154.method2146(var2, var7, var9, var19, (GameObject)object, (GameObject)null, Class159.anIntArray2017[var10], 0, var24); + if(var1) { + if(~var10 == -1) { + if(def.aBoolean1525) { + Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50; + Class67.aByteArrayArrayArray1014[var2][var7][1 + var9] = 50; + } + + if(def.aBoolean1542) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1); + } + } else if(1 != var10) { + if(~var10 != -3) { + if(-4 == ~var10) { + if(def.aBoolean1525) { + Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50; + Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50; + } + + if(def.aBoolean1542) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2); + } + } + } else { + if(def.aBoolean1525) { + Class67.aByteArrayArrayArray1014[var2][var7 + 1][var9] = 50; + Class67.aByteArrayArrayArray1014[var2][1 + var7][1 + var9] = 50; + } + + if(def.aBoolean1542) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9], 1); + } + } + } else { + if(def.aBoolean1525) { + Class67.aByteArrayArrayArray1014[var2][var7][var9 - -1] = 50; + Class67.aByteArrayArrayArray1014[var2][var7 - -1][var9 + 1] = 50; + } + + if(def.aBoolean1542) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9], 2); + } + } + } + + if(0 != def.actionCount && var4 != null) { + var4.method1486(var10, 2, type, def.aBoolean1486, var9, var7); + } + + if(~def.anInt1528 != -17) { + Class140_Sub2.method1956(var2, var7, var9, def.anInt1528); + } + + } else if(~type == -2) { + if(-1 == def.animationId && def.anIntArray1524 == null && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, 1, var19, var23, var1, (LDIndexedSprite)null, (byte)-83, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 1, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class154.method2146(var2, var7, var9, var19, (GameObject)object, (GameObject)null, Class40.anIntArray675[var10], 0, var24); + if(def.aBoolean1525 && var1) { + if(0 != var10) { + if(-2 != ~var10) { + if(-3 == ~var10) { + Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50; + } else if(3 == var10) { + Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50; + } + } else { + Class67.aByteArrayArrayArray1014[var2][var7 - -1][1 + var9] = 50; + } + } else { + Class67.aByteArrayArrayArray1014[var2][var7][var9 + 1] = 50; + } + } + + if(-1 != ~def.actionCount && null != var4) { + var4.method1486(var10, 2, type, def.aBoolean1486, var9, var7); + } + + } else { + int var43; + if(~type == -3) { + var43 = 1 + var10 & 3; + Object var38; + Object var42; + if(~def.animationId == 0 && def.anIntArray1524 == null && !def.aBoolean1510) { + Class136 var45 = def.method1696(var10 + 4, var20, var18, 2, var19, var23, var1, (LDIndexedSprite)null, (byte)-108, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var45.aClass109_Sub1_1770, var20, var22, var21); + } + + var42 = var45.aClass140_1777; + var45 = def.method1696(var43, var20, var18, 2, var19, var23, var1, (LDIndexedSprite)null, (byte)-69, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var45.aClass109_Sub1_1770, var20, var22, var21); + } + + var38 = var45.aClass140_1777; + } else { + var42 = new Class140_Sub3(objectId, 2, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + var38 = new Class140_Sub3(objectId, 2, var43, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class154.method2146(var2, var7, var9, var19, (GameObject)var42, (GameObject)var38, Class159.anIntArray2017[var10], Class159.anIntArray2017[var43], var24); + if(def.aBoolean1542 && var1) { + if(-1 != ~var10) { + if(-2 != ~var10) { + if(-3 == ~var10) { + Class38_Sub1.anIntArrayArrayArray2609[var2][1 + var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][1 + var7][var9], 1); + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2); + } else if(~var10 == -4) { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 2); + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1); + } + } else { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9 - -1] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9 - -1], 2); + Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7 - -1][var9], 1); + } + } else { + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][var9], 1); + Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var2][var7][1 + var9], 2); + } + } + + if(def.actionCount != 0 && var4 != null) { + var4.method1486(var10, 2, type, def.aBoolean1486, var9, var7); + } + + if(~def.anInt1528 != -17) { + Class140_Sub2.method1956(var2, var7, var9, def.anInt1528); + } + + } else if(type == 3) { + if(~def.animationId == 0 && null == def.anIntArray1524 && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, 3, var19, var23, var1, (LDIndexedSprite)null, (byte)-54, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 3, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class154.method2146(var2, var7, var9, var19, (GameObject)object, (GameObject)null, Class40.anIntArray675[var10], 0, var24); + if(def.aBoolean1525 && var1) { + if(0 != var10) { + if(var10 == 1) { + Class67.aByteArrayArrayArray1014[var2][1 + var7][var9 + 1] = 50; + } else if(var10 != 2) { + if(~var10 == -4) { + Class67.aByteArrayArrayArray1014[var2][var7][var9] = 50; + } + } else { + Class67.aByteArrayArrayArray1014[var2][1 + var7][var9] = 50; + } + } else { + Class67.aByteArrayArrayArray1014[var2][var7][var9 + 1] = 50; + } + } + + if(0 != def.actionCount && var4 != null) { + var4.method1486(var10, 2, type, def.aBoolean1486, var9, var7); + } + + } else if(~type != -10) { + if(4 != type) { + Object var39; + Class136 var47; + long var44; + if(~type != -6) { + if(-7 != ~type) { + if(7 != type) { + if(type == 8) { + var43 = 8; + var44 = Class157.method2174(var2, var7, var9); + if(-1L != ~var44) { + var43 = Class162.getObjectDefinition(4, Integer.MAX_VALUE & (int)(var44 >>> 32)).anInt1528 / 2; + } + + int var32 = var10 + 2 & 3; + Object var46; + if(-1 == def.animationId && null == def.anIntArray1524 && !def.aBoolean1510) { + int var34 = 8 * Class163_Sub3.anIntArray3007[var10]; + int var33 = Class3_Sub13.anIntArray2386[var10] * 8; + Class136 var35 = def.method1696(4 + var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-25, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var35.aClass109_Sub1_1770, var20 + -var33, var22, -var34 + var21); + } + + var39 = var35.aClass140_1777; + var35 = def.method1696(var32 - -4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-101, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var35.aClass109_Sub1_1770, var20 - var33, var22, -var34 + var21); + } + + var46 = var35.aClass140_1777; + } else { + var39 = new Class140_Sub3(objectId, 4, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + var46 = new Class140_Sub3(objectId, 4, var32 + 4, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject)var39, (GameObject)var46, 256, var10, var43 * Class3_Sub13.anIntArray2386[var10], Class163_Sub3.anIntArray3007[var10] * var43, var24); + } + } else { + int var40 = 3 & var10 - -2; + if(~def.animationId == 0 && def.anIntArray1524 == null && !def.aBoolean1510) { + Class136 var41 = def.method1696(var40 - -4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-39, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var41.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var41.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 4, var40 + 4, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject)object, (GameObject)null, 256, var40, 0, 0, var24); + } + } else { + var43 = 8; + var44 = Class157.method2174(var2, var7, var9); + if(-1L != ~var44) { + var43 = Class162.getObjectDefinition(4, Integer.MAX_VALUE & (int)(var44 >>> 32)).anInt1528 / 2; + } + + if(def.animationId == -1 && def.anIntArray1524 == null && !def.aBoolean1510) { + var47 = def.method1696(var10 + 4, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-65, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var47.aClass109_Sub1_1770, -(8 * Class3_Sub13.anIntArray2386[var10]) + var20, var22, -(8 * Class163_Sub3.anIntArray3007[var10]) + var21); + } + + var39 = var47.aClass140_1777; + } else { + var39 = new Class140_Sub3(objectId, 4, 4 + var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject)var39, (GameObject)null, 256, var10, var43 * Class3_Sub13.anIntArray2386[var10], var43 * Class163_Sub3.anIntArray3007[var10], var24); + } + } else { + var43 = 16; + var44 = Class157.method2174(var2, var7, var9); + if(~var44 != -1L) { + var43 = Class162.getObjectDefinition(4, Integer.MAX_VALUE & (int)(var44 >>> 32)).anInt1528; + } + + if(0 == ~def.animationId && null == def.anIntArray1524 && !def.aBoolean1510) { + var47 = def.method1696(var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-125, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var47.aClass109_Sub1_1770, var20 + -(RenderAnimationDefinition.anIntArray356[var10] * 8), var22, -(Class3_Sub24_Sub3.anIntArray3491[var10] * 8) + var21); + } + + var39 = var47.aClass140_1777; + } else { + var39 = new Class140_Sub3(objectId, 4, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject)var39, (GameObject)null, Class159.anIntArray2017[var10], 0, var43 * RenderAnimationDefinition.anIntArray356[var10], Class3_Sub24_Sub3.anIntArray3491[var10] * var43, var24); + } + } else { + if(def.animationId == -1 && null == def.anIntArray1524 && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, 4, var19, var23, var1, (LDIndexedSprite)null, (byte)-103, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 4, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class3_Sub28_Sub8.method577(var2, var7, var9, var19, (GameObject)object, (GameObject)null, Class159.anIntArray2017[var10], 0, 0, 0, var24); + } + } else { + if(~def.animationId == 0 && def.anIntArray1524 == null && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, type, var19, var23, var1, (LDIndexedSprite)null, (byte)-30, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, type, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + Class7.method835(var2, var7, var9, var19, 1, 1, (GameObject)object, 0, var24); + if(-1 != ~def.actionCount && var4 != null) { + var4.method1489(var7, def.aBoolean1486, (byte)127, var9, var12, var13); + } + + if(~def.anInt1528 != -17) { + Class140_Sub2.method1956(var2, var7, var9, def.anInt1528); + } + + } + } + } else { + if(~def.animationId == 0 && def.anIntArray1524 == null && !def.aBoolean1510) { + var28 = def.method1696(type == 11?4 + var10:var10, var20, var18, 10, var19, var23, var1, (LDIndexedSprite)null, (byte)-26, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 10, 11 == type?4 - -var10:var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + + if(object != null) { + boolean var37 = Class7.method835(var2, var7, var9, var19, var12, var13, (GameObject)object, 0, var24); + if(def.aBoolean1525 && var37 && var1) { + int var29 = 15; + if(object instanceof Model) { + var29 = ((Model)object).method1888() / 4; + if(~var29 < -31) { + var29 = 30; + } + } + + for(int var30 = 0; var30 <= var12; ++var30) { + for(int var31 = 0; var13 >= var31; ++var31) { + if(~Class67.aByteArrayArrayArray1014[var2][var7 + var30][var31 + var9] > ~var29) { + Class67.aByteArrayArrayArray1014[var2][var7 - -var30][var9 - -var31] = (byte)var29; + } + } + } + } + } + + if(0 != def.actionCount && null != var4) { + var4.method1489(var7, def.aBoolean1486, (byte)96, var9, var12, var13); + } + + } + } else if(Class148.aBoolean1905 || ~def.anInt1529 != -1 || -2 == ~def.actionCount || def.aBoolean1483) { + if(0 == ~def.animationId && def.anIntArray1524 == null && !def.aBoolean1510) { + var28 = def.method1696(var10, var20, var18, 22, var19, var23, var1, (LDIndexedSprite)null, (byte)-126, var26, var21); + if(HDToolKit.highDetail && var26) { + Class141.method2051(var28.aClass109_Sub1_1770, var20, var22, var21); + } + + object = var28.aClass140_1777; + } else { + object = new Class140_Sub3(objectId, 22, var10, var0, var7, var9, def.animationId, def.aBoolean1492, (GameObject)null); + } + Class3_Sub13_Sub23.method276(var2, var7, var9, var19, (GameObject)object, var24, def.aBoolean1502); + if(def.actionCount == 1 && null != var4) { + var4.method1503(var7, var9, var8 + -55); + } + + } + } + } + } catch (RuntimeException var36) { + throw Class44.method1067(var36, "p.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + objectId + ',' + type + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class112.java b/09HDscape-client/src/org/runite/jagex/Class112.java new file mode 100644 index 000000000..4543b1b4d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class112.java @@ -0,0 +1,160 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class112 implements Interface5 { + + private int anInt2177 = -1; + private static float[] aFloatArray2178 = new float[]{0.1F, 0.1F, 0.15F, 0.1F}; + private float[] aFloatArray2179 = new float[4]; + private int anInt2180 = -1; + private int anInt2181 = -1; + + + private final void method1699() { + byte[] var1 = new byte[]{(byte)0, (byte)-1}; + GL var2 = HDToolKit.gl; + int[] var3 = new int[1]; + var2.glGenTextures(1, var3, 0); + var2.glBindTexture(3552, var3[0]); + var2.glTexImage1D(3552, 0, 6406, 2, 0, 6406, 5121, ByteBuffer.wrap(var1)); + var2.glTexParameteri(3552, 10241, 9729); + var2.glTexParameteri(3552, 10240, 9729); + var2.glTexParameteri(3552, 10242, '\u812f'); + this.anInt2180 = var3[0]; + } + + public static void method1700() { + aFloatArray2178 = null; + } + + private final void method1701() { + GL var1 = HDToolKit.gl; + this.anInt2177 = var1.glGenLists(2); + var1.glNewList(this.anInt2177, 4864); + var1.glTexEnvi(8960, '\u8590', 768); + var1.glTexEnvi(8960, '\u8581', '\u8576'); + var1.glTexEnvf(8960, '\u8573', 2.0F); + var1.glTexEnvi(8960, '\u8589', '\u8576'); + var1.glTexGeni(8192, 9472, 9217); + var1.glTexGeni(8193, 9472, 9217); + var1.glTexGenfv(8192, 9473, new float[]{9.765625E-4F, 0.0F, 0.0F, 0.0F}, 0); + var1.glTexGenfv(8193, 9473, new float[]{0.0F, 0.0F, 9.765625E-4F, 0.0F}, 0); + var1.glEnable(3168); + var1.glEnable(3169); + if(Class88.aBoolean1227) { + var1.glBindTexture('\u806f', Class88.anInt1228); + var1.glTexGeni(8194, 9472, 9217); + var1.glTexGeni(8195, 9472, 9217); + var1.glTexGenfv(8195, 9473, new float[]{0.0F, 0.0F, 0.0F, 1.0F}, 0); + var1.glEnable(3170); + var1.glEnable(3171); + var1.glEnable('\u806f'); + } + + var1.glActiveTexture('\u84c1'); + var1.glEnable(3552); + var1.glBindTexture(3552, this.anInt2180); + var1.glTexEnvi(8960, '\u8571', '\u8575'); + var1.glTexEnvi(8960, '\u8580', '\u8576'); + var1.glTexEnvi(8960, '\u8582', 5890); + var1.glTexEnvi(8960, '\u8572', '\u8575'); + var1.glTexEnvi(8960, '\u8588', '\u8576'); + var1.glTexEnvi(8960, '\u858a', 5890); + var1.glEnable(3168); + var1.glTexGeni(8192, 9472, 9216); + var1.glPushMatrix(); + var1.glLoadIdentity(); + var1.glEndList(); + var1.glNewList(this.anInt2177 + 1, 4864); + var1.glActiveTexture('\u84c1'); + var1.glDisable(3552); + var1.glDisable(3168); + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8580', 5890); + var1.glTexEnvi(8960, '\u8582', '\u8576'); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + var1.glTexEnvi(8960, '\u858a', '\u8576'); + var1.glActiveTexture('\u84c0'); + var1.glTexEnvi(8960, '\u8590', 768); + var1.glTexEnvi(8960, '\u8581', '\u8578'); + var1.glTexEnvf(8960, '\u8573', 1.0F); + var1.glTexEnvi(8960, '\u8589', '\u8578'); + var1.glDisable(3168); + var1.glDisable(3169); + if(Class88.aBoolean1227) { + var1.glDisable(3170); + var1.glDisable(3171); + var1.glDisable('\u806f'); + } + + var1.glEndList(); + } + + public final void method21() { + HDToolKit.gl.glCallList(this.anInt2177 + 1); + } + + public final void method23(int var1) { + GL var2 = HDToolKit.gl; + var2.glActiveTexture('\u84c1'); + var2.glTexEnvfv(8960, 8705, Class151.aFloatArray1934, 0); + var2.glActiveTexture('\u84c0'); + if((var1 & 1) == 1) { + if(Class88.aBoolean1227) { + if(this.anInt2181 != HDToolKit.anInt1791) { + this.aFloatArray2179[0] = 0.0F; + this.aFloatArray2179[1] = 0.0F; + this.aFloatArray2179[2] = 0.0F; + this.aFloatArray2179[3] = (float)HDToolKit.anInt1791 * 0.0050F; + var2.glTexGenfv(8194, 9473, this.aFloatArray2179, 0); + this.anInt2181 = HDToolKit.anInt1791; + } + } else { + HDToolKit.bindTexture2D(Class88.anIntArray1224[HDToolKit.anInt1791 * 64 / 100 % 64]); + } + } else if(Class88.aBoolean1227) { + this.aFloatArray2179[0] = 0.0F; + this.aFloatArray2179[1] = 0.0F; + this.aFloatArray2179[2] = 0.0F; + this.aFloatArray2179[3] = 0.0F; + var2.glTexGenfv(8194, 9473, this.aFloatArray2179, 0); + } else { + HDToolKit.bindTexture2D(Class88.anIntArray1224[0]); + } + + } + + public final void method22() { + GL var1 = HDToolKit.gl; + HDToolKit.method1856(2); + HDToolKit.method1847(2); + HDToolKit.method1823(); + var1.glCallList(this.anInt2177); + float var2 = 2662.4001F; + var2 += (float)(Class140_Sub7.anInt2938 - 128) * 0.5F; + if(var2 >= 3328.0F) { + var2 = 3327.0F; + } + + this.aFloatArray2179[0] = 0.0F; + this.aFloatArray2179[1] = 0.0F; + this.aFloatArray2179[2] = 1.0F / (var2 - 3328.0F); + this.aFloatArray2179[3] = var2 / (var2 - 3328.0F); + var1.glTexGenfv(8192, 9474, this.aFloatArray2179, 0); + var1.glPopMatrix(); + var1.glActiveTexture('\u84c0'); + var1.glTexEnvfv(8960, 8705, aFloatArray2178, 0); + } + + public final int method24() { + return 15; + } + + public Class112() { + this.method1699(); + this.method1701(); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class113.java b/09HDscape-client/src/org/runite/jagex/Class113.java new file mode 100644 index 000000000..a6d9d877b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class113.java @@ -0,0 +1,62 @@ +package org.runite.jagex; + +final class Class113 { + + static int interfacePacketCounter = 0; + int anInt1544; + int anInt1545; + static RSString aClass94_1546 = RSString.createRSString("welle:"); + int anInt1547; + int anInt1548; + int anInt1549; + int anInt1550; + int anInt1551; + static int anInt1552 = 0; + int anInt1553; + int anInt1554; + int anInt1555; + static RSString aClass94_1556 = RSString.createRSString("hint_mapmarkers"); + int anInt1557; + static RSString aClass94_1558 = RSString.createRSString(": "); + static int anInt1559; + int anInt1560; + int anInt1561; + int anInt1562; + int anInt1563; + int anInt1564; + int anInt1565; + int anInt1566; + static RSString aClass94_1567 = RSString.createRSString("mapdots"); + + + static final void method1702(byte var0, boolean var1) { + try { + if(!var1 != !Class14.aBoolean337) { + Class14.aBoolean337 = var1; + if(var0 > -117) { + aClass94_1546 = (RSString)null; + } + + Class3_Sub10.method139(76); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pe.B(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1703(int var0) { + try { + aClass94_1558 = null; + if(var0 != 10967) { + method1703(-117); + } + + aClass94_1546 = null; + aClass94_1556 = null; + aClass94_1567 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pe.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class114.java b/09HDscape-client/src/org/runite/jagex/Class114.java new file mode 100644 index 000000000..17ab6d2d7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class114.java @@ -0,0 +1,196 @@ +package org.runite.jagex; + +final class Class114 { + + private int anInt1568; + static Class93 aClass93_1569 = new Class93(200); + private int anInt1570 = 0; + private Class3_Sub26[] aClass3_Sub26Array1571; + static Class30 aClass30_1572; + private int[][] anIntArrayArray1573; + static long[] aLongArray1574 = new long[100]; + static RSString aClass94_1575 = RSString.createRSString(" weitere Optionen"); + private int anInt1576 = -1; + private Class61 aClass61_1577 = new Class61(); + static int[] anIntArray1578 = new int[500]; + private int anInt1579; + boolean aBoolean1580 = false; + + + public static void method1704(int var0) { + try { + aClass93_1569 = null; + if(var0 != 65536) { + method1705(-109, -68); + } + + anIntArray1578 = null; + aLongArray1574 = null; + aClass94_1575 = null; + aClass30_1572 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pf.G(" + var0 + ')'); + } + } + + static final float[] method1705(int var0, int var1) { + try { + float var2 = Class92.method1514() + Class92.method1505(); + int var3 = Class92.method1510(); + float var7 = 0.58823526F; + Class149.aFloatArray1919[3] = 1.0F; + float var4 = (float)(var3 >> 16 & 255) / 255.0F; + float var5 = (float)(('\uff1e' & var3) >> 8) / 255.0F; + Class149.aFloatArray1919[1] = var2 * (float)Class3_Sub28_Sub15.method633(var0 >> 8, 255) / 255.0F * var5 * var7; + Class149.aFloatArray1919[var1] = var2 * var7 * var4 * ((float)(Class3_Sub28_Sub15.method633(16754958, var0) >> 16) / 255.0F); + float var6 = (float)(var3 & 255) / 255.0F; + Class149.aFloatArray1919[2] = (float)Class3_Sub28_Sub15.method633(255, var0) / 255.0F * var6 * var7 * var2; + return Class149.aFloatArray1919; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "pf.F(" + var0 + ',' + var1 + ')'); + } + } + + final void method1706(int var1) { + try { + for(int var2 = 0; var2 < this.anInt1579; ++var2) { + this.anIntArrayArray1573[var2] = null; + } + + if(var1 != 1127165736) { + method1711(118, 75); + } + + this.anIntArrayArray1573 = (int[][])null; + this.aClass3_Sub26Array1571 = null; + this.aClass61_1577.method1211(-85); + this.aClass61_1577 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pf.A(" + var1 + ')'); + } + } + + static final Class3_Sub28_Sub16 method1707(int var0, int var1, boolean var2, int var3, int var4, int var5) { + try { + if(var5 != 65536) { + return (Class3_Sub28_Sub16)null; + } else { + int var7 = (!var2?0:65536) + var1 + (var0 << 17) + (var4 << 19); + long var8 = (long)var7 * 3849834839L + 3147483667L * (long)var3; + Class3_Sub28_Sub16 var10 = (Class3_Sub28_Sub16)Class67.aClass93_1013.get(var8, (byte)121); + if(var10 == null) { + Class51.aBoolean837 = false; + var10 = RSString.method1570(var4, (byte)13, false, var1, var2, var0, var3, false); + if(var10 != null && !Class51.aBoolean837) { + Class67.aClass93_1013.put((byte)-79, var10, var8); + } + + return var10; + } else { + return var10; + } + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "pf.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1708(int var0, int var1, int var2) { + try { + if(var2 == -2553) { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(var2 ^ -2557, 13, var1); + var3.g((byte)33); + var3.anInt3598 = var0; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pf.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final int[] method1709(int var1, int var2) { + try { + if(var1 != -16409) { + this.aBoolean1580 = false; + } + + if(~this.anInt1568 != ~this.anInt1579) { + if(this.anInt1579 != 1) { + Class3_Sub26 var3 = this.aClass3_Sub26Array1571[var2]; + if(null != var3) { + this.aBoolean1580 = false; + } else { + this.aBoolean1580 = true; + if(this.anInt1570 < this.anInt1579) { + var3 = new Class3_Sub26(var2, this.anInt1570); + ++this.anInt1570; + } else { + Class3_Sub26 var4 = (Class3_Sub26)this.aClass61_1577.method1212(2); + var3 = new Class3_Sub26(var2, var4.anInt2555); + this.aClass3_Sub26Array1571[var4.anInt2553] = null; + var4.method86(-1024); + } + + this.aClass3_Sub26Array1571[var2] = var3; + } + + this.aClass61_1577.method1216(64, var3); + return this.anIntArrayArray1573[var3.anInt2555]; + } else { + this.aBoolean1580 = this.anInt1576 != var2; + this.anInt1576 = var2; + return this.anIntArrayArray1573[0]; + } + } else { + this.aBoolean1580 = this.aClass3_Sub26Array1571[var2] == null; + this.aClass3_Sub26Array1571[var2] = Class56.aClass3_Sub26_884; + return this.anIntArrayArray1573[var2]; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pf.C(" + var1 + ',' + var2 + ')'); + } + } + + final int[][] method1710(byte var1) { + try { + if(var1 <= 67) { + return (int[][])((int[][])null); + } else if(this.anInt1579 != this.anInt1568) { + throw new RuntimeException("Can only retrieve a full image cache"); + } else { + for(int var2 = 0; this.anInt1579 > var2; ++var2) { + this.aClass3_Sub26Array1571[var2] = Class56.aClass3_Sub26_884; + } + + return this.anIntArrayArray1573; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pf.H(" + var1 + ')'); + } + } + + static final void method1711(int var0, int var1) { + try { + Class3_Sub28_Sub4.aClass93_3572.method1522(-127, var0); + Class143.aClass93_1874.method1522(var1 + -383, var0); + Class67.aClass93_1013.method1522(var1 ^ -132, var0); + if(var1 != 255) { + method1711(20, 87); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pf.D(" + var0 + ',' + var1 + ')'); + } + } + + Class114(int var1, int var2, int var3) { + try { + this.anInt1568 = var2; + this.aClass3_Sub26Array1571 = new Class3_Sub26[this.anInt1568]; + this.anInt1579 = var1; + this.anIntArrayArray1573 = new int[this.anInt1579][var3]; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pf.(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class115.java b/09HDscape-client/src/org/runite/jagex/Class115.java new file mode 100644 index 000000000..97c79676d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class115.java @@ -0,0 +1,148 @@ +package org.runite.jagex; + +final class Class115 { + + static Class86[][] aClass86ArrayArray1581 = new Class86[13][13]; + private static RSString aClass94_1582 = RSString.createRSString("Ok"); + static RSString aClass94_1583 = aClass94_1582; + + + public static void method1712(int var0) { + try { + aClass86ArrayArray1581 = (Class86[][])null; + aClass94_1583 = null; + aClass94_1582 = null; + if(var0 <= 15) { + aClass94_1582 = (RSString)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ph.B(" + var0 + ')'); + } + } + + static final void method1713(byte var0) { + try { + if(var0 > -45) { + aClass86ArrayArray1581 = (Class86[][])((Class86[][])null); + } + + while(true) { + Class3_Sub5 var1 = (Class3_Sub5)Class3_Sub18.aClass61_2468.method1220((byte)-3); + if(var1 == null) { + return; + } + + Object var2; + int var3; + if(0 > var1.anInt2273) { + var3 = -var1.anInt2273 - 1; + if(~var3 != ~Class3_Sub1.localIndex) { + var2 = Class3_Sub13_Sub22.players[var3]; + } else { + var2 = Class102.player; + } + } else { + var3 = var1.anInt2273 - 1; + var2 = Class3_Sub13_Sub24.npcs[var3]; + } + + if(var2 != null) { + ObjectDefinition var20 = Class162.getObjectDefinition(4, var1.anInt2270); + if(~WorldListCountry.localPlane > -4) { + ; + } + + int var4; + int var5; + if(~var1.anInt2284 != -2 && ~var1.anInt2284 != -4) { + var4 = var20.anInt1480; + var5 = var20.anInt1485; + } else { + var5 = var20.anInt1480; + var4 = var20.anInt1485; + } + + int var7 = (var4 - -1 >> 1) + var1.anInt2271; + int var6 = (var4 >> 1) + var1.anInt2271; + int var8 = (var5 >> 1) + var1.anInt2282; + int var9 = (var5 + 1 >> 1) + var1.anInt2282; + int[][] var10 = Class44.anIntArrayArrayArray723[WorldListCountry.localPlane]; + int var11 = var10[var7][var9] + var10[var6][var9] + (var10[var6][var8] - -var10[var7][var8]) >> 2; + GameObject var12 = null; + int var13 = Class75.anIntArray1107[var1.anInt2278]; + if(-1 == ~var13) { + Class70 var14 = Class154.method2147(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282); + if(var14 != null) { + var12 = var14.aClass140_1049; + } + } else if(~var13 != -2) { + if(2 == var13) { + Class25 var23 = Class75.method1336(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282); + if(null != var23) { + var12 = var23.aClass140_479; + } + } else if(var13 == 3) { + Class12 var24 = RSByteBuffer.method784(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282); + if(null != var24) { + var12 = var24.object; + } + } + } else { + Class19 var21 = Class44.method1068(WorldListCountry.localPlane, var1.anInt2271, var1.anInt2282); + if(null != var21) { + var12 = var21.aClass140_429; + } + } + + if(null != var12) { + NodeList.method881(WorldListCountry.localPlane, var1.anInt2282, -96, 0, var1.anInt2271, var1.anInt2283 - -1, -1, var13, 0, var1.anInt2266 - -1); + ((Class140_Sub4)var2).anInt2778 = var1.anInt2283 + Class44.anInt719; + ((Class140_Sub4)var2).anInt2833 = 64 * var5 + var1.anInt2282 * 128; + ((Class140_Sub4)var2).anInt2782 = var4 * 64 + 128 * var1.anInt2271; + ((Class140_Sub4)var2).anObject2796 = var12; + int var22 = var1.anInt2268; + ((Class140_Sub4)var2).anInt2812 = var11; + ((Class140_Sub4)var2).anInt2797 = Class44.anInt719 + var1.anInt2266; + int var15 = var1.anInt2272; + int var16 = var1.anInt2277; + int var17 = var1.anInt2279; + int var18; + if(var22 > var15) { + var18 = var22; + var22 = var15; + var15 = var18; + } + + ((Class140_Sub4)var2).anInt2818 = var1.anInt2271 + var15; + if(~var16 < ~var17) { + var18 = var16; + var16 = var17; + var17 = var18; + } + + ((Class140_Sub4)var2).anInt2777 = var1.anInt2282 + var16; + ((Class140_Sub4)var2).anInt2817 = var17 + var1.anInt2282; + ((Class140_Sub4)var2).anInt2788 = var1.anInt2271 - -var22; + } + } + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "ph.A(" + var0 + ')'); + } + } + + static final void method1714(byte var0) { + try { + Class148.aClass93_1911.method1523((byte)-112); + if(var0 != -6) { + method1712(-114); + } + + Class80.aClass93_1131.method1523((byte)-100); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ph.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class116.java b/09HDscape-client/src/org/runite/jagex/Class116.java new file mode 100644 index 000000000..839553b80 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class116.java @@ -0,0 +1,321 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class116 { + + private Class34 aClass34_1584; + private Class34 aClass34_1585; + int anInt1586 = 500; + private Class34 aClass34_1587; + private Class34 aClass34_1588; + private Class34 aClass34_1589; + private int anInt1590 = 0; + private static int[] anIntArray1591; + private Class34 aClass34_1592; + int anInt1593 = 0; + private static int[] anIntArray1594 = new int['\u8000']; + private Class34 aClass34_1595; + private int[] anIntArray1596 = new int[]{0, 0, 0, 0, 0}; + private int[] anIntArray1597 = new int[]{0, 0, 0, 0, 0}; + private static int[] anIntArray1598; + private static int[] anIntArray1599; + private static int[] anIntArray1600; + private static int[] anIntArray1601; + private static int[] anIntArray1602; + private static int[] anIntArray1603; + private int anInt1604 = 100; + private int[] anIntArray1605 = new int[]{0, 0, 0, 0, 0}; + private Class103 aClass103_1606; + private Class34 aClass34_1607; + private Class34 aClass34_1608; + + + public static void method1715() { + anIntArray1598 = null; + anIntArray1594 = null; + anIntArray1591 = null; + anIntArray1601 = null; + anIntArray1602 = null; + anIntArray1603 = null; + anIntArray1599 = null; + anIntArray1600 = null; + } + + private final int method1716(int var1, int var2, int var3) { + return var3 == 1?((var1 & 32767) < 16384?var2:-var2):(var3 == 2?anIntArray1591[var1 & 32767] * var2 >> 14:(var3 == 3?((var1 & 32767) * var2 >> 14) - var2:(var3 == 4?anIntArray1594[var1 / 2607 & 32767] * var2:0))); + } + + final int[] method1717(int var1, int var2) { + Class76.method1363(anIntArray1598, 0, var1); + if(var2 < 10) { + return anIntArray1598; + } else { + double var3 = (double)var1 / ((double)var2 + 0.0D); + this.aClass34_1589.method1008(); + this.aClass34_1587.method1008(); + int var5 = 0; + int var6 = 0; + int var7 = 0; + if(this.aClass34_1608 != null) { + this.aClass34_1608.method1008(); + this.aClass34_1607.method1008(); + var5 = (int)((double)(this.aClass34_1608.anInt605 - this.aClass34_1608.anInt603) * 32.768D / var3); + var6 = (int)((double)this.aClass34_1608.anInt603 * 32.768D / var3); + } + + int var8 = 0; + int var9 = 0; + int var10 = 0; + if(this.aClass34_1595 != null) { + this.aClass34_1595.method1008(); + this.aClass34_1584.method1008(); + var8 = (int)((double)(this.aClass34_1595.anInt605 - this.aClass34_1595.anInt603) * 32.768D / var3); + var9 = (int)((double)this.aClass34_1595.anInt603 * 32.768D / var3); + } + + int var11; + for(var11 = 0; var11 < 5; ++var11) { + if(this.anIntArray1596[var11] != 0) { + anIntArray1601[var11] = 0; + anIntArray1602[var11] = (int)((double)this.anIntArray1597[var11] * var3); + anIntArray1603[var11] = (this.anIntArray1596[var11] << 14) / 100; + anIntArray1599[var11] = (int)((double)(this.aClass34_1589.anInt605 - this.aClass34_1589.anInt603) * 32.768D * Math.pow(1.0057929410678534D, (double)this.anIntArray1605[var11]) / var3); + anIntArray1600[var11] = (int)((double)this.aClass34_1589.anInt603 * 32.768D / var3); + } + } + + int var12; + int var13; + int var14; + int var15; + for(var11 = 0; var11 < var1; ++var11) { + var12 = this.aClass34_1589.method1007(var1); + var13 = this.aClass34_1587.method1007(var1); + if(this.aClass34_1608 != null) { + var14 = this.aClass34_1608.method1007(var1); + var15 = this.aClass34_1607.method1007(var1); + var12 += this.method1716(var7, var15, this.aClass34_1608.anInt601) >> 1; + var7 += (var14 * var5 >> 16) + var6; + } + + if(this.aClass34_1595 != null) { + var14 = this.aClass34_1595.method1007(var1); + var15 = this.aClass34_1584.method1007(var1); + var13 = var13 * ((this.method1716(var10, var15, this.aClass34_1595.anInt601) >> 1) + '\u8000') >> 15; + var10 += (var14 * var8 >> 16) + var9; + } + + for(var14 = 0; var14 < 5; ++var14) { + if(this.anIntArray1596[var14] != 0) { + var15 = var11 + anIntArray1602[var14]; + if(var15 < var1) { + anIntArray1598[var15] += this.method1716(anIntArray1601[var14], var13 * anIntArray1603[var14] >> 15, this.aClass34_1589.anInt601); + anIntArray1601[var14] += (var12 * anIntArray1599[var14] >> 16) + anIntArray1600[var14]; + } + } + } + } + + int var16; + if(this.aClass34_1585 != null) { + this.aClass34_1585.method1008(); + this.aClass34_1588.method1008(); + var11 = 0; + boolean var19 = false; + boolean var18 = true; + + for(var14 = 0; var14 < var1; ++var14) { + var15 = this.aClass34_1585.method1007(var1); + var16 = this.aClass34_1588.method1007(var1); + if(var18) { + var12 = this.aClass34_1585.anInt603 + ((this.aClass34_1585.anInt605 - this.aClass34_1585.anInt603) * var15 >> 8); + } else { + var12 = this.aClass34_1585.anInt603 + ((this.aClass34_1585.anInt605 - this.aClass34_1585.anInt603) * var16 >> 8); + } + + var11 += 256; + if(var11 >= var12) { + var11 = 0; + var18 = !var18; + } + + if(var18) { + anIntArray1598[var14] = 0; + } + } + } + + if(this.anInt1590 > 0 && this.anInt1604 > 0) { + var11 = (int)((double)this.anInt1590 * var3); + + for(var12 = var11; var12 < var1; ++var12) { + anIntArray1598[var12] += anIntArray1598[var12 - var11] * this.anInt1604 / 100; + } + } + + if(this.aClass103_1606.anIntArray1434[0] > 0 || this.aClass103_1606.anIntArray1434[1] > 0) { + this.aClass34_1592.method1008(); + var11 = this.aClass34_1592.method1007(var1 + 1); + var12 = this.aClass103_1606.method1622(0, (float)var11 / 65536.0F); + var13 = this.aClass103_1606.method1622(1, (float)var11 / 65536.0F); + if(var1 >= var12 + var13) { + var14 = 0; + var15 = var13; + if(var13 > var1 - var12) { + var15 = var1 - var12; + } + + int var17; + while(var14 < var15) { + var16 = (int)((long)anIntArray1598[var14 + var12] * (long)Class103.anInt1436 >> 16); + + for(var17 = 0; var17 < var12; ++var17) { + var16 += (int)((long)anIntArray1598[var14 + var12 - 1 - var17] * (long)Class103.anIntArrayArray1435[0][var17] >> 16); + } + + for(var17 = 0; var17 < var14; ++var17) { + var16 -= (int)((long)anIntArray1598[var14 - 1 - var17] * (long)Class103.anIntArrayArray1435[1][var17] >> 16); + } + + anIntArray1598[var14] = var16; + var11 = this.aClass34_1592.method1007(var1 + 1); + ++var14; + } + + var15 = 128; + + while(true) { + if(var15 > var1 - var12) { + var15 = var1 - var12; + } + + while(var14 < var15) { + var16 = (int)((long)anIntArray1598[var14 + var12] * (long)Class103.anInt1436 >> 16); + + for(var17 = 0; var17 < var12; ++var17) { + var16 += (int)((long)anIntArray1598[var14 + var12 - 1 - var17] * (long)Class103.anIntArrayArray1435[0][var17] >> 16); + } + + for(var17 = 0; var17 < var13; ++var17) { + var16 -= (int)((long)anIntArray1598[var14 - 1 - var17] * (long)Class103.anIntArrayArray1435[1][var17] >> 16); + } + + anIntArray1598[var14] = var16; + var11 = this.aClass34_1592.method1007(var1 + 1); + ++var14; + } + + if(var14 >= var1 - var12) { + while(var14 < var1) { + var16 = 0; + + for(var17 = var14 + var12 - var1; var17 < var12; ++var17) { + var16 += (int)((long)anIntArray1598[var14 + var12 - 1 - var17] * (long)Class103.anIntArrayArray1435[0][var17] >> 16); + } + + for(var17 = 0; var17 < var13; ++var17) { + var16 -= (int)((long)anIntArray1598[var14 - 1 - var17] * (long)Class103.anIntArrayArray1435[1][var17] >> 16); + } + + anIntArray1598[var14] = var16; + this.aClass34_1592.method1007(var1 + 1); + ++var14; + } + break; + } + + var12 = this.aClass103_1606.method1622(0, (float)var11 / 65536.0F); + var13 = this.aClass103_1606.method1622(1, (float)var11 / 65536.0F); + var15 += 128; + } + } + } + + for(var11 = 0; var11 < var1; ++var11) { + if(anIntArray1598[var11] < -32768) { + anIntArray1598[var11] = -32768; + } + + if(anIntArray1598[var11] > 32767) { + anIntArray1598[var11] = 32767; + } + } + + return anIntArray1598; + } + } + + final void method1718(RSByteBuffer var1) { + this.aClass34_1589 = new Class34(); + this.aClass34_1589.method1010(var1); + this.aClass34_1587 = new Class34(); + this.aClass34_1587.method1010(var1); + int var2 = var1.getByte((byte)-113); + if(var2 != 0) { + --var1.index; + this.aClass34_1608 = new Class34(); + this.aClass34_1608.method1010(var1); + this.aClass34_1607 = new Class34(); + this.aClass34_1607.method1010(var1); + } + + var2 = var1.getByte((byte)-57); + if(var2 != 0) { + --var1.index; + this.aClass34_1595 = new Class34(); + this.aClass34_1595.method1010(var1); + this.aClass34_1584 = new Class34(); + this.aClass34_1584.method1010(var1); + } + + var2 = var1.getByte((byte)-117); + if(var2 != 0) { + --var1.index; + this.aClass34_1585 = new Class34(); + this.aClass34_1585.method1010(var1); + this.aClass34_1588 = new Class34(); + this.aClass34_1588.method1010(var1); + } + + for(int var3 = 0; var3 < 10; ++var3) { + int var4 = var1.getSmart(true); + if(var4 == 0) { + break; + } + + this.anIntArray1596[var3] = var4; + this.anIntArray1605[var3] = var1.getSmart(-21208); + this.anIntArray1597[var3] = var1.getSmart(true); + } + + this.anInt1590 = var1.getSmart(true); + this.anInt1604 = var1.getSmart(true); + this.anInt1586 = var1.getShort(1); + this.anInt1593 = var1.getShort(1); + this.aClass103_1606 = new Class103(); + this.aClass34_1592 = new Class34(); + this.aClass103_1606.method1620(var1, this.aClass34_1592); + } + + static { + Random var0 = new Random(0L); + + int var1; + for(var1 = 0; var1 < '\u8000'; ++var1) { + anIntArray1594[var1] = (var0.nextInt() & 2) - 1; + } + + anIntArray1591 = new int['\u8000']; + + for(var1 = 0; var1 < '\u8000'; ++var1) { + anIntArray1591[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); + } + + anIntArray1598 = new int[220500]; + anIntArray1599 = new int[5]; + anIntArray1600 = new int[5]; + anIntArray1601 = new int[5]; + anIntArray1603 = new int[5]; + anIntArray1602 = new int[5]; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class117.java b/09HDscape-client/src/org/runite/jagex/Class117.java new file mode 100644 index 000000000..3a6799d94 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class117.java @@ -0,0 +1,141 @@ +package org.runite.jagex; + +final class Class117 { + + static WorldListEntry[] worldList; + private static RSString aClass94_1610 = RSString.createRSString("Loaded wordpack"); + static int[] anIntArray1611 = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + static RSString aClass94_1612 = RSString.createRSString("classement "); + static int[] anIntArray1613 = new int[500]; + static RSString aClass94_1614 = RSString.createRSString(":tradereq:"); + static RSString aClass94_1615 = aClass94_1610; + static int anInt1616 = 0; + + + static final void method1719(int var0, int var1) { + try { + if(Class143.loadingStage != var0) { + if(-1 == ~Class143.loadingStage) { + Class93.method1517((byte)-118); + } + + if(var0 == 40) { + Class24.method951(0); + } + + boolean var2 = var0 == 5 || var0 == 10 || var0 == 28; + if(40 != var0 && null != Class163_Sub2_Sub1.aClass89_4012) { + Class163_Sub2_Sub1.aClass89_4012.close(14821); + Class163_Sub2_Sub1.aClass89_4012 = null; + } + + if(var0 == 25 || var0 == 28) { + Class162.anInt2038 = 0; + Class3_Sub29.anInt2579 = 1; + Class163_Sub2_Sub1.anInt4019 = 0; + Class3_Sub5.anInt2275 = 1; + Class3_Sub13_Sub24.anInt3293 = 0; + Class66.method1250(102, true); + } + + if(-26 == ~var0 || var0 == 10) { + Class72.method1293(true); + } + + if(~var0 == -6) { + Class108.method1656(Class140_Sub6.spritesCacheIndex, (byte)-111); + } else { + Class3_Sub13_Sub17.method247((byte)-121); + } + + boolean var3 = var1 == Class143.loadingStage || ~Class143.loadingStage == -11 || -29 == ~Class143.loadingStage; + if(var3 == !var2) { + if(var2) { + Class129.anInt1691 = Class148.anInt1912; + if(Class9.anInt120 != 0) { + Class151.method2099(true, Class148.anInt1912, 0, Class75_Sub2.aClass153_2645, false, 255, 2); + } else { + NodeList.method882(-1, 2); + } + + Class58.aClass66_917.method1247(false, true); + } else { + NodeList.method882(-1, 2); + Class58.aClass66_917.method1247(true, true); + } + } + + if(HDToolKit.highDetail && (25 == var0 || var0 == 28 || -41 == ~var0)) { + HDToolKit.method1833(); + } + + Class143.loadingStage = var0; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pl.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1720(boolean var0, int var1) { + try { + Class129.anIntArray1695 = new int[104]; + Class80.anIntArray1138 = new int[104]; + Class85.anInt1174 = 99; + Class149.anIntArray1920 = new int[104]; + byte var2; + if(var0) { + var2 = 1; + } else { + var2 = 4; + } + + Class93.aByteArrayArrayArray1328 = new byte[var2][104][104]; + Class3_Sub18.anIntArray2469 = new int[104]; + Class38_Sub1.anIntArrayArrayArray2609 = new int[var2][105][var1]; + Class67.aByteArrayArrayArray1014 = new byte[var2][105][105]; + Class139.aByteArrayArrayArray1828 = new byte[var2][104][104]; + Class3_Sub31.anIntArray2606 = new int[104]; + PacketParser.aByteArrayArrayArray81 = new byte[var2][104][104]; + Class3_Sub13_Sub36.aByteArrayArrayArray3430 = new byte[var2][104][104]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pl.B(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1721(boolean var0) { + try { + aClass94_1610 = null; + anIntArray1611 = null; + aClass94_1612 = null; + aClass94_1614 = null; + worldList = null; + if(!var0) { + method1720(true, 30); + } + + anIntArray1613 = null; + aClass94_1615 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pl.D(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub16_Sub2 method1722(int var0) { + try { + int var1 = Class140_Sub7.anIntArray2931[0] * Class3_Sub13_Sub6.anIntArray3076[0]; + byte[] var2 = Class163_Sub1.aByteArrayArray2987[0]; + int[] var3 = new int[var1]; + + for(int var4 = 0; var1 > var4; ++var4) { + var3[var4] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(var2[var4], 255)]; + } + + Class3_Sub28_Sub16_Sub2 var6 = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], var3); + Class39.method1035((byte)122); + return var0 >= -51?(Class3_Sub28_Sub16_Sub2)null:var6; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pl.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class118.java b/09HDscape-client/src/org/runite/jagex/Class118.java new file mode 100644 index 000000000..1d82e6684 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class118.java @@ -0,0 +1,138 @@ +package org.runite.jagex; + +abstract class Class118 { + + static RSString aClass94_1617 = RSString.createRSString(")1a2)1m"); + static RSString aClass94_1618 = RSString.createRSString("Verbindung zum Update)2Server hergestellt)3"); + static short[][] aShortArrayArray1619 = new short[][]{{(short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898}, {(short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10347, (short)10582, (short)10429, (short)10407, (short)10359, (short)8414, (short)9540, (short)10456, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0}, {(short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898}, {(short)4300, (short)3294, (short)3303, (short)3264, (short)4506, (short)4382, (short)4387, (short)5293, (short)7622, (short)7384, (short)8412, (short)7496, (short)86, (short)123, (short)111, (short)99, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)13766, (short)13745, (short)13726, (short)13890, (short)13743, (short)13852, (short)17602, (short)18605, (short)21660, (short)24000, (short)24997, (short)24088, (short)27972, (short)25903, (short)26904, (short)27193, (short)27175, (short)27156, (short)30020, (short)28975, (short)29976, (short)12482, (short)13485, (short)10392, (short)10692, (short)10669, (short)10776, (short)6717, (short)6695, (short)7830, (short)6971, (short)6951, (short)5910, (short)3389, (short)3369, (short)3356, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0}, {(short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898, (short)10, (short)30, (short)50, (short)70, (short)90, (short)110, (short)310, (short)684, (short)704, (short)556, (short)940, (short)960, (short)6454, (short)6952, (short)6972, (short)2358, (short)2732, (short)2752, (short)10550, (short)10924, (short)10944, (short)10310, (short)10556, (short)10576, (short)14646, (short)15020, (short)15040, (short)19766, (short)20140, (short)20160, (short)-29386, (short)-29012, (short)-28992, (short)31030, (short)31276, (short)31296, (short)-24266, (short)-23892, (short)-23872, (short)-19146, (short)-18772, (short)-18752, (short)-14026, (short)-13652, (short)-13632, (short)-6858, (short)-6484, (short)-6464, (short)522, (short)542, (short)6794, (short)6814, (short)11018, (short)11038, (short)14986, (short)15006, (short)21130, (short)21150, (short)-28918, (short)-28898, (short)-22006, (short)-21986, (short)-12918, (short)-12898}}; + static RSString aClass94_1620 = RSString.createRSString("Cach-B"); + static RSString aClass94_1621 = RSString.createRSString("Chargement des polices )2 "); + static RSString aClass94_1622 = RSString.createRSString("Card:"); + static int anInt1623; + + + static final RSString method1723(byte var0, boolean var1, int var2, int var3) { + try { + if(var2 >= 2 && 36 >= var2) { + int var4 = 1; + + for(int var5 = var3 / var2; 0 != var5; ++var4) { + var5 /= var2; + } + + int var6 = var4; + if(var3 < 0 || var1) { + var6 = var4 + 1; + } + + byte[] var7 = new byte[var6]; + if(var3 >= 0) { + if(var1) { + var7[0] = 43; + } + } else { + var7[0] = 45; + } + + for(int var8 = 0; var4 > var8; ++var8) { + int var9 = var3 % var2; + if(-1 < ~var9) { + var9 = -var9; + } + + if(-10 > ~var9) { + var9 += 39; + } + + var7[var6 + -var8 + -1] = (byte)(48 + var9); + var3 /= var2; + } + + if(var0 >= -111) { + method1727((byte)53); + } + + RSString var11 = new RSString(); + var11.byteArray = var7; + var11.length = var6; + return var11; + } else { + throw new IllegalArgumentException("Invalid radix:" + var2); + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "q.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1724(int var0, int var1, int var2, int var3, int var4, int var5, byte var6, int var7) { + try { + if(var5 >= 128 && ~var2 <= -129 && -13057 <= ~var5 && ~var2 >= -13057) { + int var8 = Class121.method1736(WorldListCountry.localPlane, 1, var5, var2) + -var3; + var2 -= Class77.anInt1111; + var8 -= Class7.anInt2162; + var5 -= NPC.anInt3995; + int var9 = Class51.anIntArray840[Class139.anInt1823]; + int var10 = Class51.anIntArray851[Class139.anInt1823]; + int var11 = Class51.anIntArray840[Class3_Sub13_Sub25.anInt3315]; + int var12 = Class51.anIntArray851[Class3_Sub13_Sub25.anInt3315]; + int var13 = var5 * var12 + var11 * var2 >> 16; + var2 = var2 * var12 + -(var11 * var5) >> 16; + var5 = var13; + var13 = var10 * var8 - var2 * var9 >> 16; + if(var6 <= -47) { + var2 = var2 * var10 + var8 * var9 >> 16; + if(50 > var2) { + Class3_Sub1.anInt2208 = -1; + Class32.anInt590 = -1; + } else if(!HDToolKit.highDetail) { + Class32.anInt590 = (var5 << 9) / var2 + var0; + Class3_Sub1.anInt2208 = (var13 << 9) / var2 + var4; + } else { + int var14 = var1 * 512 >> 8; + Class32.anInt590 = var14 * var5 / var2 + var0; + int var15 = 512 * var7 >> 8; + Class3_Sub1.anInt2208 = var15 * var13 / var2 + var4; + } + + } + } else { + Class3_Sub1.anInt2208 = -1; + Class32.anInt590 = -1; + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "q.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + abstract Class3_Sub28_Sub7 method1725(Class3_Sub28_Sub7 var1, int var2); + + public static void method1726(int var0) { + try { + aClass94_1618 = null; + aClass94_1620 = null; + aClass94_1622 = null; + aShortArrayArray1619 = (short[][])null; + aClass94_1617 = null; + aClass94_1621 = null; + if(var0 != 0) { + aClass94_1620 = (RSString)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "q.B(" + var0 + ')'); + } + } + + static final int method1727(byte var0) { + try { + if(var0 != 123) { + method1726(-123); + } + + return Class148.aClass93_1911.method1520(-12623); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "q.D(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class118_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class118_Sub1.java new file mode 100644 index 000000000..4fe232cd5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class118_Sub1.java @@ -0,0 +1,12 @@ +package org.runite.jagex; + +final class Class118_Sub1 extends Class118 { + + final Class3_Sub28_Sub7 method1725(Class3_Sub28_Sub7 var1, int var2) { + if(var2 > -107) { + this.method1725((Class3_Sub28_Sub7)null, 95); + } + + return new Class3_Sub28_Sub7_Sub2(var1.method567(true)); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class119.java b/09HDscape-client/src/org/runite/jagex/Class119.java new file mode 100644 index 000000000..ff7317cf2 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class119.java @@ -0,0 +1,128 @@ +package org.runite.jagex; +import java.awt.Container; +import java.awt.Insets; + +final class Class119 { + + static Class131 aClass131_1624; + static RSString aClass94_1625 = RSString.createRSString("Memory before cleanup="); + static Class33 aClass33_1626; + static WorldListCountry[] countries; + static CacheIndex aClass153_1628; + static int anInt1629; + static RSString aClass94_1630 = RSString.createRSString("Mem:"); + + + public static void method1728(int var0) { + try { + aClass33_1626 = null; + aClass131_1624 = null; + countries = null; + aClass94_1630 = null; + aClass153_1628 = null; + aClass94_1625 = null; + if(var0 != -14256) { + method1728(46); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qh.B(" + var0 + ')'); + } + } + + static final void method1729(boolean var0) { + try { + Object var1; + if(null == Class3_Sub13_Sub10.aFrame3121) { + if(GameShell.frame != null) { + var1 = GameShell.frame; + } else { + var1 = Class38.aClass87_665.anApplet1219; + } + } else { + var1 = Class3_Sub13_Sub10.aFrame3121; + } + + Class3_Sub9.anInt2334 = ((Container)var1).getSize().width; + Class70.anInt1047 = ((Container)var1).getSize().height; + Insets var2; + if(var1 == GameShell.frame) { + var2 = GameShell.frame.getInsets(); + Class70.anInt1047 -= var2.bottom + var2.top; + Class3_Sub9.anInt2334 -= var2.right + var2.left; + } + + if(~Class83.method1411(0) <= -3) { + Class23.anInt454 = Class3_Sub9.anInt2334; + Class84.anInt1164 = 0; + Class106.anInt1442 = 0; + Class140_Sub7.anInt2934 = Class70.anInt1047; + } else { + Class106.anInt1442 = 0; + Class84.anInt1164 = (-765 + Class3_Sub9.anInt2334) / 2; + Class140_Sub7.anInt2934 = 503; + Class23.anInt454 = 765; + } + + if(HDToolKit.highDetail) { + HDToolKit.method1854(Class23.anInt454, Class140_Sub7.anInt2934); + } + + Class3_Sub28_Sub12.aCanvas3648.setSize(Class23.anInt454, Class140_Sub7.anInt2934); + if(var1 != GameShell.frame) { + Class3_Sub28_Sub12.aCanvas3648.setLocation(Class84.anInt1164, Class106.anInt1442); + } else { + var2 = GameShell.frame.getInsets(); + Class3_Sub28_Sub12.aCanvas3648.setLocation(var2.left + Class84.anInt1164, Class106.anInt1442 + var2.top); + } + + if(~Class3_Sub28_Sub12.anInt3655 != 0) { + Class124.method1746(true, (byte)-125); + } + + if(!var0) { + method1728(39); + } + + Class80.method1396(-1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qh.C(" + var0 + ')'); + } + } + + static final void method1730(Signlink var0, byte var1) { + try { + if(var1 == 14) { + Class122 var2 = null; + + try { + Class64 var3 = var0.method1433("runescape", 12); + + while(0 == var3.anInt978) { + Class3_Sub13_Sub34.method331(1L, 64); + } + + if(~var3.anInt978 == -2) { + var2 = (Class122)var3.anObject974; + RSByteBuffer var4 = Class23.method939((byte)-116); + var2.method1738(116, var4.buffer, var4.index, 0); + } + } catch (Exception var6) { + ; + } + + try { + if(var2 != null) { + var2.close(1); + } + } catch (Exception var5) { + ; + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "qh.A(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class12.java b/09HDscape-client/src/org/runite/jagex/Class12.java new file mode 100644 index 000000000..6f035199d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class12.java @@ -0,0 +1,118 @@ +package org.runite.jagex; + +final class Class12 { + + static float aFloat319; + GameObject object; + private static RSString aClass94_321 = RSString.createRSString("Checking for updates )2 "); + static CacheIndex aClass153_322; + static CacheIndex aClass153_323; + int anInt324; + static RSString aClass94_325 = RSString.createRSString(",Mcran)2titre charg-B"); + int anInt326; + static RSString aClass94_327 = aClass94_321; + long aLong328; + boolean aBoolean329 = false; + int anInt330; + static RSString aClass94_331 = RSString.createRSString("(U1"); + + + static final void method870(int var0, byte var1, int var2, int var3, int var4, int var5) { + try { + int var6; + int var7; + for(var6 = var2; var4 + var2 >= var6; ++var6) { + for(var7 = var3; var5 + var3 >= var7; ++var7) { + if(-1 >= ~var7 && 104 > var7 && -1 >= ~var6 && 104 > var6) { + Class67.aByteArrayArrayArray1014[var0][var7][var6] = 127; + } + } + } + + for(var6 = var2; var4 + var2 > var6; ++var6) { + for(var7 = var3; ~(var3 + var5) < ~var7; ++var7) { + if(~var7 <= -1 && ~var7 > -105 && ~var6 <= -1 && var6 < 104) { + Class44.anIntArrayArrayArray723[var0][var7][var6] = var0 <= 0?0:Class44.anIntArrayArrayArray723[var0 + -1][var7][var6]; + } + } + } + + if(0 < var3 && ~var3 > -105) { + for(var6 = 1 + var2; ~(var2 + var4) < ~var6; ++var6) { + if(-1 >= ~var6 && var6 < 104) { + Class44.anIntArrayArrayArray723[var0][var3][var6] = Class44.anIntArrayArrayArray723[var0][var3 - 1][var6]; + } + } + } + + if(~var2 < -1 && ~var2 > -105) { + for(var6 = var3 + 1; ~(var3 - -var5) < ~var6; ++var6) { + if(var6 >= 0 && 104 > var6) { + Class44.anIntArrayArrayArray723[var0][var6][var2] = Class44.anIntArrayArrayArray723[var0][var6][var2 + -1]; + } + } + } + + var6 = 56 % ((var1 - -18) / 50); + if(var3 >= 0 && var2 >= 0 && var3 < 104 && ~var2 > -105) { + if(var0 != 0) { + if(~var3 < -1 && Class44.anIntArrayArrayArray723[-1 + var0][var3 + -1][var2] != Class44.anIntArrayArrayArray723[var0][-1 + var3][var2]) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][-1 + var3][var2]; + } else if(0 < var2 && ~Class44.anIntArrayArrayArray723[var0][var3][-1 + var2] != ~Class44.anIntArrayArrayArray723[-1 + var0][var3][var2 + -1]) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3][var2 - 1]; + } else if(-1 > ~var3 && -1 > ~var2 && ~Class44.anIntArrayArrayArray723[var0][-1 + var3][var2 - 1] != ~Class44.anIntArrayArrayArray723[var0 - 1][-1 + var3][var2 - 1]) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][-1 + var3][var2 - 1]; + } + } else if(0 < var3 && 0 != Class44.anIntArrayArrayArray723[var0][var3 + -1][var2]) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3 + -1][var2]; + } else if(-1 > ~var2 && ~Class44.anIntArrayArrayArray723[var0][var3][var2 - 1] != -1) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3][var2 + -1]; + } else if(var3 > 0 && 0 < var2 && Class44.anIntArrayArrayArray723[var0][var3 - 1][var2 + -1] != 0) { + Class44.anIntArrayArrayArray723[var0][var3][var2] = Class44.anIntArrayArrayArray723[var0][var3 - 1][var2 + -1]; + } + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "bm.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + public static void method871(byte var0) { + try { + aClass94_321 = null; + aClass94_327 = null; + aClass94_331 = null; + aClass153_322 = null; + aClass153_323 = null; + aClass94_325 = null; + int var1 = -93 / ((2 - var0) / 50); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bm.A(" + var0 + ')'); + } + } + + static final int method872(int var0, int var1, int var2) { + try { + Class3_Sub25 var3 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var1, 0); + return null == var3?0:(var0 >= ~var2 && var2 < var3.anIntArray2551.length?var3.anIntArray2551[var2]:0); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bm.C(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final byte[] method873(byte var0, byte[] var1) { + try { + int var2 = var1.length; + byte[] var3 = new byte[var2]; + if(var0 != 62) { + return (byte[])null; + } else { + Class76.method1357(var1, 0, var3, 0, var2); + return var3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bm.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class120.java b/09HDscape-client/src/org/runite/jagex/Class120.java new file mode 100644 index 000000000..0508a3ff1 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class120.java @@ -0,0 +1,61 @@ +package org.runite.jagex; + +final class Class120 { + + static long[] aLongArray1631 = new long[256]; + int anInt1632; + static int anInt1633; + int anInt1634; + int anInt1635; + static RSString aClass94_1636; + static RSString aClass94_1637; + static int[] anIntArray1638; + + + public static void method1731(int var0) { + try { + anIntArray1638 = null; + aClass94_1637 = null; + aClass94_1636 = null; + aLongArray1631 = null; + if(var0 != 12881) { + method1732((RSInterface)null, (byte)-74, -125); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qj.A(" + var0 + ')'); + } + } + + static final RSString method1732(RSInterface var0, byte var1, int var2) { + try { + if(var1 >= -8) { + anIntArray1638 = (int[])null; + } + + return !Client.method44(var0).method92(var2, (byte)-110) && var0.anObjectArray314 == null?null:(null != var0.aClass94Array171 && var0.aClass94Array171.length > var2 && var0.aClass94Array171[var2] != null && ~var0.aClass94Array171[var2].trim(1).length(-58) != -1?var0.aClass94Array171[var2]:(!Class69.aBoolean1040?null:RenderAnimationDefinition.method903(new RSString[]{Class121.aClass94_1645, Class72.method1298((byte)9, var2)}, (byte)-101))); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qj.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + static { + for(int var2 = 0; 256 > var2; ++var2) { + long var0 = (long)var2; + + for(int var3 = 0; 8 > var3; ++var3) { + if(~(1L & var0) != -2L) { + var0 >>>= 1; + } else { + var0 = var0 >>> 1 ^ -3932672073523589310L; + } + } + + aLongArray1631[var2] = var0; + } + + aClass94_1637 = RSString.createRSString("Texturen geladen)3"); + aClass94_1636 = RSString.createRSString("rouge:"); + anIntArray1638 = new int[128]; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class121.java b/09HDscape-client/src/org/runite/jagex/Class121.java new file mode 100644 index 000000000..b771902d8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class121.java @@ -0,0 +1,273 @@ +package org.runite.jagex; +import java.io.IOException; +import java.net.Socket; +import java.nio.ByteBuffer; + +import org.runite.Configurations; + +final class Class121 { + + int anInt1639 = 0; + boolean aBoolean1640 = false; + static boolean aBoolean1641 = false; + static int anInt1642 = 0; + Class156 aClass156_1643; + ByteBuffer aByteBuffer1644; + static RSString aClass94_1645 = RSString.createRSString("Hidden)2"); + static RSString aClass94_1646 = RSString.createRSString("::wm2"); + static RSString aClass94_1647 = RSString.createRSString("gleiten:"); + int anInt1648 = 0; + + + public static void method1733(int var0) { + try { + aClass94_1647 = null; + aClass94_1646 = null; + aClass94_1645 = null; + if(var0 != -17148) { + anInt1642 = 54; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ql.C(" + var0 + ')'); + } + } + + static final int method1734(int var0, float var1, int var2, int var3, int[][] var4, int[][] var5, int var6, float[][] var7, int var8, byte var9, int var10, boolean var11, Class3_Sub11 var12, float[][] var13, int var14, int var15, float[][] var16, int var17) { + try { + int var18; + if(~var10 != -2) { + if(var10 != 2) { + if(~var10 == -4) { + var18 = var15; + var15 = 128 + -var17; + var17 = var18; + } + } else { + var17 = -var17 + 128; + var15 = -var15 + 128; + } + } else { + var18 = var15; + var15 = var17; + var17 = -var18 + 128; + } + + float var19; + int var21; + float var20; + float var30; + if(~var15 == -1 && -1 == ~var17) { + var19 = var16[var6][var14]; + var20 = var7[var6][var14]; + var30 = var13[var6][var14]; + var21 = var2; + } else if(-129 == ~var15 && ~var17 == -1) { + var21 = var3; + var19 = var16[var6 + 1][var14]; + var20 = var7[1 + var6][var14]; + var30 = var13[var6 + 1][var14]; + } else if(-129 == ~var15 && ~var17 == -129) { + var20 = var7[1 + var6][var14 - -1]; + var30 = var13[var6 + 1][1 + var14]; + var19 = var16[1 + var6][var14 - -1]; + var21 = var8; + } else if(~var15 == -1 && -129 == ~var17) { + var20 = var7[var6][1 + var14]; + var19 = var16[var6][1 + var14]; + var30 = var13[var6][var14 - -1]; + var21 = var0; + } else { + var30 = var13[var6][var14]; + var19 = var16[var6][var14]; + float var23 = (float)var17 / 128.0F; + float var22 = (float)var15 / 128.0F; + var30 += (var13[var6 - -1][var14] - var30) * var22; + var19 += (-var19 + var16[var6 + 1][var14]) * var22; + float var24 = var13[var6][var14 + 1]; + float var25 = var16[var6][var14 - -1]; + var25 += (-var25 + var16[var6 + 1][var14 - -1]) * var22; + var20 = var7[var6][var14]; + var19 += var23 * (-var19 + var25); + float var26 = var7[var6][1 + var14]; + var24 += (-var24 + var13[var6 - -1][var14 + 1]) * var22; + var30 += var23 * (-var30 + var24); + var26 += (-var26 + var7[1 + var6][var14 - -1]) * var22; + var20 += (-var20 + var7[var6 - -1][var14]) * var22; + var20 += (-var20 + var26) * var23; + int var27 = Class3_Sub13_Sub10.method210(18348, var15, var2, var3); + int var28 = Class3_Sub13_Sub10.method210(18348, var15, var0, var8); + var21 = Class3_Sub13_Sub10.method210(18348, var17, var27, var28); + } + + if(var9 > -111) { + return -54; + } else { + int var32 = var17 + (var14 << 7); + int var33 = Class3_Sub23.method408(var15, (byte)-51, var14, var5, var6, var17); + int var31 = (var6 << 7) - -var15; + return var12.method146(var31, var33, var32, var30, var19, var20, !var11?var21:-256 & var21, var4 != null?(float)(var33 + -Class3_Sub23.method408(var15, (byte)103, var14, var4, var6, var17)) / var1:0.0F); + } + } catch (RuntimeException var29) { + throw Class44.method1067(var29, "ql.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ',' + (var13 != null?"{...}":"null") + ',' + var14 + ',' + var15 + ',' + (var16 != null?"{...}":"null") + ',' + var17 + ')'); + } + } + + static final int method1735(int var0) { + try { + try { + if(~Class43.anInt692 == -1) { + if(~(Class5.method830((byte)-55) + -5000L) > ~Class3_Sub13_Sub34.aLong3411) { + return 0; + } + + Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, Configurations.MS_IP, ClientLoader.WLPORT);//, Class123.anInt1658); + RSInterface.aLong261 = Class5.method830((byte)-55); + Class43.anInt692 = 1; + } + + if(30000L + RSInterface.aLong261 < Class5.method830((byte)-55)) { + return Class3_Sub13_Sub3.method179((byte)92, 1000); + } + + int wlUpdateStamp; + int var2; + if(1 == Class43.anInt692) { + if(-3 == ~Class3_Sub9.aClass64_2318.anInt978) { + return Class3_Sub13_Sub3.method179((byte)92, 1001); + } + + if(1 != Class3_Sub9.aClass64_2318.anInt978) { + return -1; + } + + Class3_Sub15.aClass89_2429 = new IOHandler((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub9.aClass64_2318 = null; + wlUpdateStamp = 0; + if(Class30.loadedWorldList) { + wlUpdateStamp = Class3_Sub28_Sub7.updateStamp; + } + + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-67, 255); + Class3_Sub13_Sub1.outgoingBuffer.putInt(var0 + -30105, wlUpdateStamp); + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + if(null != WorldListEntry.aClass155_2627) { + WorldListEntry.aClass155_2627.method2159(67); + } + + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2159(101); + } + + var2 = Class3_Sub15.aClass89_2429.readByte(var0 ^ 29984); + System.out.println(var2); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(55); + } + + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2159(var0 ^ 30075); + } + + if(var2 != 0) { + return Class3_Sub13_Sub3.method179((byte)92, var2); + } + + Class43.anInt692 = 2; + } + + if(-3 == ~Class43.anInt692) { + if(2 > Class3_Sub15.aClass89_2429.availableBytes(-18358)) { + return -1; + } + + Class66.wlPacketSize = Class3_Sub15.aClass89_2429.readByte(0); + Class66.wlPacketSize <<= 8; + Class66.wlPacketSize += Class3_Sub15.aClass89_2429.readByte(0); + Class43.anInt692 = 3; + Class3_Sub20.wlPacketIndex = 0; + Class3_Sub13_Sub33.aByteArray3396 = new byte[Class66.wlPacketSize]; + } + + if(-4 == ~Class43.anInt692) { + wlUpdateStamp = Class3_Sub15.aClass89_2429.availableBytes(var0 + -48342); + if(1 > wlUpdateStamp) { + return -1; + } + + if(wlUpdateStamp > -Class3_Sub20.wlPacketIndex + Class66.wlPacketSize) { + wlUpdateStamp = Class66.wlPacketSize + -Class3_Sub20.wlPacketIndex; + } + + Class3_Sub15.aClass89_2429.readBytes(Class3_Sub20.wlPacketIndex, wlUpdateStamp, -18455, Class3_Sub13_Sub33.aByteArray3396); + Class3_Sub20.wlPacketIndex += wlUpdateStamp; + if(Class3_Sub20.wlPacketIndex >= Class66.wlPacketSize) { + if(Class3_Sub13_Sub23.handleWorldListUpdate(4, Class3_Sub13_Sub33.aByteArray3396)) { + Class3_Sub13_Sub16.aClass44_Sub1Array3201 = new WorldListEntry[Class57.activeWorldListSize]; + var2 = 0; + + for(int var3 = Class3_Sub13_Sub4.worldListOffset; var3 <= Class100.worldListArraySize; ++var3) { + WorldListEntry var4 = Class3_Sub8.getWorld(91, var3); + if(null != var4) { + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var2++] = var4; + } + //System.out.println("world = " +var4.worldId); + } + + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + Class73.anInt1088 = 0; + Class43.anInt692 = 0; + Class3_Sub13_Sub33.aByteArray3396 = null; + Class3_Sub13_Sub34.aLong3411 = Class5.method830((byte)-55); + return 0; + } + + return Class3_Sub13_Sub3.method179((byte)92, 1002); + } + + return -1; + } + } catch (IOException var5) { + return Class3_Sub13_Sub3.method179((byte)92, 1003); + } + + if(var0 != 29984) { + method1734(13, 0.10791027F, 20, 124, (int[][])((int[][])null), (int[][])((int[][])null), -85, (float[][])((float[][])null), -119, (byte)-105, -5, false, (Class3_Sub11)null, (float[][])((float[][])null), 5, -100, (float[][])((float[][])null), -36); + } + + return -1; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ql.D(" + var0 + ')'); + } + } + + static final int method1736(int var0, int var1, int var2, int var3) { + try { + if(null == Class44.anIntArrayArrayArray723) { + return 0; + } else { + int var4 = var2 >> 7; + int var5 = var3 >> 7; + if(-1 >= ~var4 && 0 <= var5 && var4 <= 103 && 103 >= var5) { + int var7 = 127 & var2; + int var8 = var3 & 127; + int var6 = var0; + if(3 > var0 && ~(2 & Class9.aByteArrayArrayArray113[1][var4][var5]) == -3) { + var6 = var0 + 1; + } + + int var10 = var7 * Class44.anIntArrayArrayArray723[var6][var1 + var4][1 + var5] + Class44.anIntArrayArrayArray723[var6][var4][var5 + 1] * (-var7 + 128) >> 7; + int var9 = var7 * Class44.anIntArrayArrayArray723[var6][var4 + 1][var5] + (-var7 + 128) * Class44.anIntArrayArrayArray723[var6][var4][var5] >> 7; + return var8 * var10 + (128 - var8) * var9 >> 7; + } else { + return 0; + } + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ql.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class122.java b/09HDscape-client/src/org/runite/jagex/Class122.java new file mode 100644 index 000000000..27fa211b0 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class122.java @@ -0,0 +1,97 @@ +package org.runite.jagex; +import java.io.EOFException; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; + +public final class Class122 { + + private long aLong1649; + private File aFile1650; + private RandomAccessFile aRandomAccessFile1651; + private long aLong1652; + + + public final void method1737(byte var1, long var2) throws IOException { + this.aRandomAccessFile1651.seek(var2); + this.aLong1652 = var2; + if(var1 != -10) { + this.method1742(49); + } + + } + + protected void finalize() throws Throwable { + if(this.aRandomAccessFile1651 != null) { + System.out.println("Warning! fileondisk " + this.aFile1650 + " not closed correctly using close(). Auto-closing instead. "); + this.close(1); + } + + } + + public final void method1738(int var1, byte[] var2, int var3, int var4) throws IOException { + if(~(this.aLong1652 + (long)var3) < ~this.aLong1649) { + this.aRandomAccessFile1651.seek(1L + this.aLong1649); + this.aRandomAccessFile1651.write(1); + throw new EOFException(); + } else { + this.aRandomAccessFile1651.write(var2, var4, var3); + this.aLong1652 += (long)var3; + if(var1 < 105) { + this.aLong1649 = -26L; + } + + } + } + + public final int method1739(int var1, int var2, int var3, byte[] var4) throws IOException { + int var5 = this.aRandomAccessFile1651.read(var4, var1, var3); + if(var5 > var2) { + this.aLong1652 += (long)var5; + } + + return var5; + } + + public final void close(int var1) throws IOException { + if(var1 != 1) { + this.aFile1650 = null; + } + + if(this.aRandomAccessFile1651 != null) { + this.aRandomAccessFile1651.close(); + this.aRandomAccessFile1651 = null; + } + + } + + public final long method1741(int var1) throws IOException { + return var1 != -1?36L:this.aRandomAccessFile1651.length(); + } + + public final File method1742(int var1) { + return var1 > -8?null:this.aFile1650; + } + + public Class122(File var1, String var2, long var3) throws IOException { + if(0L == ~var3) { + var3 = Long.MAX_VALUE; + } + + if(~var3 >= ~var1.length()) { + var1.delete(); + } + + this.aRandomAccessFile1651 = new RandomAccessFile(var1, var2); + this.aFile1650 = var1; + this.aLong1649 = var3; + this.aLong1652 = 0L; + int var5 = this.aRandomAccessFile1651.read(); + if(~var5 != 0 && !var2.equals("r")) { + this.aRandomAccessFile1651.seek(0L); + this.aRandomAccessFile1651.write(var5); + } + + this.aRandomAccessFile1651.seek(0L); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class123.java b/09HDscape-client/src/org/runite/jagex/Class123.java new file mode 100644 index 000000000..a32840b65 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class123.java @@ -0,0 +1,27 @@ +package org.runite.jagex; + +final class Class123 { + + + static AnimationDefinition[] aClass142Array1654 = new AnimationDefinition[14]; + private static RSString aClass94_1655 = RSString.createRSString("Loading world list data"); + static boolean aBoolean1656 = false; + static int anInt1657; + static int anInt1658; +static RSString aClass94_1653 = aClass94_1655; + + public static void method1743(boolean var0) { + try { + aClass94_1655 = null; + aClass142Array1654 = null; + if(var0) { + aClass142Array1654 = (AnimationDefinition[])null; + } + + aClass94_1653 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "r.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class124.java b/09HDscape-client/src/org/runite/jagex/Class124.java new file mode 100644 index 000000000..956107d6b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class124.java @@ -0,0 +1,65 @@ +package org.runite.jagex; + +final class Class124 { + + static Class130 aClass130_1659 = new Class130(512); + static RSString aClass94_1660 = RSString.createRSString("Versteckt"); + static CacheIndex aClass153_1661; + + + public static void method1744(boolean var0) { + try { + aClass130_1659 = null; + aClass153_1661 = null; + aClass94_1660 = null; + if(!var0) { + aClass130_1659 = (Class130)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rb.A(" + var0 + ')'); + } + } + + static final void method1745(int var0) { + try { + for(int var1 = var0; ~var1 > -105; ++var1) { + for(int var2 = 0; 104 > var2; ++var2) { + Class163_Sub1_Sub1.anIntArrayArray4010[var1][var2] = 0; + } + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rb.B(" + var0 + ')'); + } + } + + static final void method1746(boolean var0, byte var1) { + try { + if(var1 > -31) { + aClass153_1661 = (CacheIndex)null; + } + + Class75_Sub4.method1352(Class140_Sub7.anInt2934, var0, -1, Class3_Sub28_Sub12.anInt3655, Class23.anInt454); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rb.C(" + var0 + ',' + var1 + ')'); + } + } + + static final Class3_Sub28_Sub3 method1747(RSByteBuffer var0, boolean var1) { + try { + Class3_Sub28_Sub3 var2 = new Class3_Sub28_Sub3(var0.getString(), var0.getString(), var0.getShort(1), var0.getShort(1), var0.getInt(), var0.getByte((byte)-91) == 1, var0.getByte((byte)-112)); + int var3 = var0.getByte((byte)-83); + + for(int var4 = 0; ~var4 > ~var3; ++var4) { + var2.aClass61_3560.method1215(var1, new Class3_Sub21(var0.getShort(1), var0.getShort(1), var0.getShort(1), var0.getShort(1))); + } + + var2.method538((byte)103); + return var2; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "rb.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class125.java b/09HDscape-client/src/org/runite/jagex/Class125.java new file mode 100644 index 000000000..2890f1f33 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class125.java @@ -0,0 +1,185 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.FloatBuffer; +import javax.media.opengl.GL; + +final class Class125 implements Interface5 { + + private int anInt2182 = -1; + private FloatBuffer aFloatBuffer2183; + private int anInt2184; + private static float[] aFloatArray2185 = new float[4]; + private int anInt2186 = -1; + + + public final void method21() { + if(this.anInt2186 >= 0) { + GL var1 = HDToolKit.gl; + var1.glCallList(this.anInt2186 + 1); + } + } + + public final int method24() { + return 0; + } + + public static void method1748() { + aFloatArray2185 = null; + } + + public final void method22() { + if(this.anInt2186 >= 0) { + GL var1 = HDToolKit.gl; + var1.glCallList(this.anInt2186); + var1.glActiveTexture('\u84c1'); + var1.glMatrixMode(5890); + var1.glTranslatef((float)Class9.anInt144, (float)Class3_Sub28_Sub15.anInt3695, (float)Class3_Sub29.anInt2587); + var1.glRotatef(-((float)Class3_Sub13_Sub8.anInt3103 * 360.0F) / 2048.0F, 0.0F, 1.0F, 0.0F); + var1.glRotatef(-((float)Class140_Sub7.anInt2938 * 360.0F) / 2048.0F, 1.0F, 0.0F, 0.0F); + var1.glRotatef(-180.0F, 1.0F, 0.0F, 0.0F); + var1.glMatrixMode(5888); + if(!Class88.aBoolean1227) { + var1.glBindTexture(3553, Class88.anIntArray1224[(int)((float)(HDToolKit.anInt1791 * 64) * 0.0050F) % 64]); + } + + var1.glActiveTexture('\u84c0'); + if(this.anInt2182 != HDToolKit.anInt1791) { + int var2 = (HDToolKit.anInt1791 & 255) * 256; + + for(int var3 = 0; var3 < 64; ++var3) { + this.aFloatBuffer2183.position(var2); + var1.glProgramLocalParameter4fvARB('\u8620', var3, this.aFloatBuffer2183); + var2 += 4; + } + + if(Class88.aBoolean1227) { + var1.glProgramLocalParameter4fARB('\u8620', 65, (float)HDToolKit.anInt1791 * 0.0050F, 0.0F, 0.0F, 1.0F); + } else { + var1.glProgramLocalParameter4fARB('\u8620', 65, 0.0F, 0.0F, 0.0F, 1.0F); + } + + this.anInt2182 = HDToolKit.anInt1791; + } + + } + } + + private final void method1749() { + GL var1 = HDToolKit.gl; + this.anInt2186 = var1.glGenLists(2); + var1.glNewList(this.anInt2186, 4864); + var1.glActiveTexture('\u84c1'); + if(Class88.aBoolean1227) { + var1.glBindTexture('\u806f', Class88.anInt1228); + } + + var1.glTexEnvi(8960, '\u8571', 260); + var1.glTexEnvi(8960, '\u8572', 7681); + var1.glTexEnvi(8960, '\u8588', '\u8578'); + var1.glActiveTexture('\u84c0'); + var1.glBindProgramARB('\u8620', this.anInt2184); + var1.glEnable('\u8620'); + var1.glEndList(); + var1.glNewList(this.anInt2186 + 1, 4864); + var1.glActiveTexture('\u84c1'); + var1.glMatrixMode(5890); + var1.glLoadIdentity(); + var1.glMatrixMode(5888); + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + var1.glDisable(Class88.aBoolean1227?'\u806f':3553); + var1.glActiveTexture('\u84c0'); + var1.glBindProgramARB('\u8620', 0); + var1.glDisable('\u8620'); + var1.glDisable('\u8804'); + var1.glEndList(); + } + + private final void method1750() { + if(this.anInt2186 >= 0) { + GL var1 = HDToolKit.gl; + int[] var2 = new int[1]; + var1.glBindProgramARB('\u8620', this.anInt2184); + var1.glProgramStringARB('\u8620', '\u8875', "!!ARBvp1.0\nATTRIB iPos = vertex.position;\nATTRIB iColour = vertex.color;\nOUTPUT oPos = result.position;\nOUTPUT oColour = result.color;\nOUTPUT oTexCoord0 = result.texcoord[0];\nOUTPUT oTexCoord1 = result.texcoord[1];\nOUTPUT oFogCoord = result.fogcoord;\nPARAM time = program.local[65];\nPARAM turbulence = program.local[64];\nPARAM lightAmbient = program.local[66]; \nPARAM pMatrix[4] = { state.matrix.projection };\nPARAM mvMatrix[4] = { state.matrix.modelview };\nPARAM ivMatrix[4] = { state.matrix.texture[1] };\nPARAM fNoise[64] = { program.local[0..63] };\nTEMP noise, clipPos, viewPos, worldPos;\nADDRESS noiseAddr;\nDP4 viewPos.x, mvMatrix[0], iPos;\nDP4 viewPos.y, mvMatrix[1], iPos;\nDP4 viewPos.z, mvMatrix[2], iPos;\nDP4 viewPos.w, mvMatrix[3], iPos;\nDP4 worldPos.x, ivMatrix[0], viewPos;\nDP4 worldPos.y, ivMatrix[1], viewPos;\nDP4 worldPos.z, ivMatrix[2], viewPos;\nDP4 worldPos.w, ivMatrix[3], viewPos;\nADD noise.x, worldPos.x, worldPos.z;SUB noise.y, worldPos.z, worldPos.x;MUL noise, noise, 0.0001220703125;\nFRC noise, noise;\nMUL noise, noise, 64;\nARL noiseAddr.x, noise.x;\nMOV noise.x, fNoise[noiseAddr.x].x;\nARL noiseAddr.x, noise.y;\nMOV noise.y, fNoise[noiseAddr.x].y;\nMUL noise, noise, turbulence.x;\nMAD oTexCoord0, worldPos.xzww, 0.0078125, noise;\nMOV oTexCoord0.w, 1;\nMUL oTexCoord1.xy, worldPos.xzww, 0.0009765625;\nMOV oTexCoord1.zw, time.xxxw;\nDP4 clipPos.x, pMatrix[0], viewPos;\nDP4 clipPos.y, pMatrix[1], viewPos;\nDP4 clipPos.z, pMatrix[2], viewPos;\nDP4 clipPos.w, pMatrix[3], viewPos;\nMUL oColour.xyz, iColour, lightAmbient;\nMOV oColour.w, 1;\nMOV oFogCoord.x, clipPos.z;\nMOV oPos, clipPos; \nEND".length(), "!!ARBvp1.0\nATTRIB iPos = vertex.position;\nATTRIB iColour = vertex.color;\nOUTPUT oPos = result.position;\nOUTPUT oColour = result.color;\nOUTPUT oTexCoord0 = result.texcoord[0];\nOUTPUT oTexCoord1 = result.texcoord[1];\nOUTPUT oFogCoord = result.fogcoord;\nPARAM time = program.local[65];\nPARAM turbulence = program.local[64];\nPARAM lightAmbient = program.local[66]; \nPARAM pMatrix[4] = { state.matrix.projection };\nPARAM mvMatrix[4] = { state.matrix.modelview };\nPARAM ivMatrix[4] = { state.matrix.texture[1] };\nPARAM fNoise[64] = { program.local[0..63] };\nTEMP noise, clipPos, viewPos, worldPos;\nADDRESS noiseAddr;\nDP4 viewPos.x, mvMatrix[0], iPos;\nDP4 viewPos.y, mvMatrix[1], iPos;\nDP4 viewPos.z, mvMatrix[2], iPos;\nDP4 viewPos.w, mvMatrix[3], iPos;\nDP4 worldPos.x, ivMatrix[0], viewPos;\nDP4 worldPos.y, ivMatrix[1], viewPos;\nDP4 worldPos.z, ivMatrix[2], viewPos;\nDP4 worldPos.w, ivMatrix[3], viewPos;\nADD noise.x, worldPos.x, worldPos.z;SUB noise.y, worldPos.z, worldPos.x;MUL noise, noise, 0.0001220703125;\nFRC noise, noise;\nMUL noise, noise, 64;\nARL noiseAddr.x, noise.x;\nMOV noise.x, fNoise[noiseAddr.x].x;\nARL noiseAddr.x, noise.y;\nMOV noise.y, fNoise[noiseAddr.x].y;\nMUL noise, noise, turbulence.x;\nMAD oTexCoord0, worldPos.xzww, 0.0078125, noise;\nMOV oTexCoord0.w, 1;\nMUL oTexCoord1.xy, worldPos.xzww, 0.0009765625;\nMOV oTexCoord1.zw, time.xxxw;\nDP4 clipPos.x, pMatrix[0], viewPos;\nDP4 clipPos.y, pMatrix[1], viewPos;\nDP4 clipPos.z, pMatrix[2], viewPos;\nDP4 clipPos.w, pMatrix[3], viewPos;\nMUL oColour.xyz, iColour, lightAmbient;\nMOV oColour.w, 1;\nMOV oFogCoord.x, clipPos.z;\nMOV oPos, clipPos; \nEND"); + var1.glGetIntegerv('\u864b', var2, 0); + if(var2[0] != -1) { + return; + } + } + + } + + public final void method23(int var1) { + if(this.anInt2186 >= 0) { + GL var2 = HDToolKit.gl; + var2.glActiveTexture('\u84c1'); + if((var1 & 128) == 0) { + var2.glEnable(Class88.aBoolean1227?'\u806f':3553); + } else { + var2.glDisable(Class88.aBoolean1227?'\u806f':3553); + } + + var2.glActiveTexture('\u84c0'); + if((var1 & 64) == 0) { + var2.glGetFloatv(2899, aFloatArray2185, 0); + var2.glProgramLocalParameter4fvARB('\u8620', 66, aFloatArray2185, 0); + } else { + var2.glProgramLocalParameter4fARB('\u8620', 66, 1.0F, 1.0F, 1.0F, 1.0F); + } + + int var3 = var1 & 3; + if(var3 == 2) { + var2.glProgramLocalParameter4fARB('\u8620', 64, 0.05F, 1.0F, 1.0F, 1.0F); + } else if(var3 == 3) { + var2.glProgramLocalParameter4fARB('\u8620', 64, 0.1F, 1.0F, 1.0F, 1.0F); + } else { + var2.glProgramLocalParameter4fARB('\u8620', 64, 0.025F, 1.0F, 1.0F, 1.0F); + } + + } + } + + public Class125() { + if(this.anInt2186 < 0) { + if(HDToolKit.aBoolean1818 && HDToolKit.anInt1789 >= 2) { + int[] var1 = new int[1]; + GL var2 = HDToolKit.gl; + var2.glGenProgramsARB(1, var1, 0); + this.anInt2184 = var1[0]; + int[][] var3 = Class15.method895(false, 3, 64, 256, 0, 4, 8, 0.4F, (byte)-73); + int[][] var4 = Class15.method895(false, 3, 64, 256, 8, 4, 8, 0.4F, (byte)-109); + RSByteBuffer var5 = new RSByteBuffer(262144); + + for(int var6 = 0; var6 < 256; ++var6) { + int[] var7 = var3[var6]; + int[] var8 = var4[var6]; + + for(int var9 = 0; var9 < 64; ++var9) { + if(HDToolKit.aBoolean1790) { + var5.method801(881, (float)var7[var9] / 4096.0F); + var5.method801(881, (float)var8[var9] / 4096.0F); + var5.method801(881, 1.0F); + var5.method801(881, 1.0F); + } else { + var5.method762((float)var7[var9] / 4096.0F, (byte)109); + var5.method762((float)var8[var9] / 4096.0F, (byte)66); + var5.method762(1.0F, (byte)116); + var5.method762(1.0F, (byte)66); + } + } + } + + ByteBuffer var10 = ByteBuffer.allocateDirect(var5.index).order(ByteOrder.nativeOrder()); + var10.put(var5.buffer, 0, var5.index); + var10.flip(); + this.aFloatBuffer2183 = var10.asFloatBuffer().asReadOnlyBuffer(); + this.method1749(); + this.method1750(); + } + + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class126.java b/09HDscape-client/src/org/runite/jagex/Class126.java new file mode 100644 index 000000000..67876cecf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class126.java @@ -0,0 +1,54 @@ +package org.runite.jagex; + +final class Class126 { + + static int[] anIntArray1662; + int anInt1663; + int anInt1664; + static int anInt1665; + static NodeList aClass13_1666 = new NodeList(); + int anInt1667; + static int anInt1668 = -1; + static Class3_Sub28_Sub17 aClass3_Sub28_Sub17_1669; + int anInt1670; + static Client aClient1671; + static int anInt1672 = 0; + int anInt1673; + boolean aBoolean1674 = true; + int anInt1675; + static int anInt1676 = 0; + static int anInt1677; + static RSString aClass94_1678 = RSString.createRSString("OK"); + + + public static void method1751(byte var0) { + try { + aClass13_1666 = null; + aClient1671 = null; + aClass94_1678 = null; + anIntArray1662 = null; + aClass3_Sub28_Sub17_1669 = null; + if(var0 != -58) { + aClass13_1666 = (NodeList)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rh.A(" + var0 + ')'); + } + } + + Class126(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + try { + this.anInt1667 = var2; + this.anInt1664 = var3; + this.anInt1675 = var1; + this.anInt1673 = var6; + this.aBoolean1674 = var7; + this.anInt1663 = var4; + this.anInt1670 = var5; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "rh.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class127.java b/09HDscape-client/src/org/runite/jagex/Class127.java new file mode 100644 index 000000000..b55b75a2b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class127.java @@ -0,0 +1,368 @@ +package org.runite.jagex; +import java.io.IOException; +import java.net.Socket; + +import org.runite.GameLaunch; + +class Class127 { + + static int[] anIntArray1679 = new int[14]; + static CacheIndex aClass153_1680; + static int[] anIntArray1681; + + static boolean dynamic; + static final void handleLogin(byte var0) { + try { + if(0 != Class3_Sub13_Sub25.loginStage && 5 != Class3_Sub13_Sub25.loginStage) { + try { + if(~(++Class50.anInt820) < -2001) { + if(Class3_Sub15.aClass89_2429 != null) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(-2 >= ~Class166.anInt2079) { + Class158.anInt2005 = -5; + Class3_Sub13_Sub25.loginStage = 0; + return; + } + + Class50.anInt820 = 0; + if(Class140_Sub6.accRegistryPort != Class162.anInt2036) { + Class140_Sub6.accRegistryPort = Class162.anInt2036; + } else { + Class140_Sub6.accRegistryPort = WorldListCountry.anInt506; + } + + Class3_Sub13_Sub25.loginStage = 1; + ++Class166.anInt2079; + } + if(Class3_Sub13_Sub25.loginStage == 1) { + Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, Class38_Sub1.accRegistryIp, 43594 + GameLaunch.SETTINGS.getWorld());//Class140_Sub6.accRegistryPort); + Class3_Sub13_Sub25.loginStage = 2; + } + + if(-3 == ~Class3_Sub13_Sub25.loginStage) { + if(~Class3_Sub9.aClass64_2318.anInt978 == -3) { + throw new IOException(); + } + + if(1 != Class3_Sub9.aClass64_2318.anInt978) { + return; + } + + Class3_Sub15.aClass89_2429 = new IOHandler((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665); + Class3_Sub9.aClass64_2318 = null; + long var1 = Class3_Sub13_Sub16.aLong3202 = Class3_Sub28_Sub14.username.toLong(-106); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-40, 14); + int nameHash = (int)(var1 >> 16 & 31L); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-39, nameHash); + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, 2); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(106); + } + + if(Class3_Sub21.aClass155_2491 != null) { + Class3_Sub21.aClass155_2491.method2159(var0 + 88); + } + + int var4 = Class3_Sub15.aClass89_2429.readByte(var0 ^ -9); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(68); + } + + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2159(109); + } + + if(~var4 != -1) { + Class158.anInt2005 = var4; + Class3_Sub13_Sub25.loginStage = 0; + Class3_Sub15.aClass89_2429.close(var0 + 14830); + Class3_Sub15.aClass89_2429 = null; + return; + } + + Class3_Sub13_Sub25.loginStage = 3; + } + + if(Class3_Sub13_Sub25.loginStage == 3) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > -9) { + return; + } + + Class3_Sub15.aClass89_2429.readBytes(0, 8, -18455, GraphicDefinition.incomingBuffer.buffer); + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub13_Sub27.isaacServerKey = GraphicDefinition.incomingBuffer.getLong(-88); + int[] var9 = new int[4]; + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + var9[2] = (int)(Class3_Sub13_Sub27.isaacServerKey >> 32); + var9[3] = (int)Class3_Sub13_Sub27.isaacServerKey; + var9[1] = (int)(Math.random() * 9.9999999E7D); + var9[0] = (int)(Math.random() * 9.9999999E7D); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-30, 10); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-120, var9[0]); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-125, var9[1]); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-127, var9[2]); + Class3_Sub13_Sub1.outgoingBuffer.putInt(var0 + -111, var9[3]); + Class3_Sub13_Sub1.outgoingBuffer.putLong(Class3_Sub28_Sub14.username.toLong(var0 + -116), var0 + -2037491431); + Class3_Sub13_Sub1.outgoingBuffer.putString(0, Class3_Sub28_Sub14.password); + Class3_Sub13_Sub1.method229((byte) 9); + Class3_Sub13_Sub1.outgoingBuffer.encryptRSA(Class3_Sub13_Sub14.aBigInteger3162, Class3_Sub13_Sub37.aBigInteger3441, -296); + Class151_Sub1.aClass3_Sub30_Sub1_2942.index = 0; + if(40 == Class143.loadingStage) { + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-81, 18); + } else { + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-100, 16); + } + + Class151_Sub1.aClass3_Sub30_Sub1_2942.putShort(Class3_Sub13_Sub1.outgoingBuffer.index + 163 - -Class3_Sub13_Sub33.method326((byte)111, Class163_Sub2.aClass94_2996)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 113, 530); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-114, Class7.anInt2161); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-122, !Class3_Sub28_Sub19.aBoolean3779?0:1); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-103, 1); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-88, Class83.method1411(0)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putShort(Class23.anInt454); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putShort(Class140_Sub7.anInt2934); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putByte((byte)-39, Class3_Sub28_Sub14.anInt3671); + Class81.putRandomDataFile(Class151_Sub1.aClass3_Sub30_Sub1_2942, true); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putString(0, Class163_Sub2.aClass94_2996); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 118, Class3_Sub26.anInt2554); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-121, Class84.method1421(-2)); + Class140_Sub2.aBoolean2705 = true; + Class151_Sub1.aClass3_Sub30_Sub1_2942.putShort(Class113.interfacePacketCounter); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-122, Class75_Sub3.aClass153_2660.getCRCValue((byte)-126)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 115, Class3_Sub28_Sub19.aClass153_3772.getCRCValue((byte)-125)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-123, Class164.aClass153_2052.getCRCValue((byte)-128)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-123, Class140_Sub3.aClass153_2727.getCRCValue((byte)-128)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-123, Class146.aClass153_1902.getCRCValue((byte)-125)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-125, Class3_Sub13_Sub6.aClass153_3077.getCRCValue((byte)-123)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-122, Class75_Sub2.aClass153_2645.getCRCValue((byte)-126)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-121, Class159.aClass153_2019.getCRCValue((byte)-125)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 127, Class140_Sub6.spritesCacheIndex.getCRCValue((byte)-125)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 117, Class3_Sub13_Sub28.aClass153_3352.getCRCValue((byte)-127)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-123, Class3_Sub13_Sub25.aClass153_3304.getCRCValue((byte)-127)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-124, Node.aClass153_2573.getCRCValue((byte)-118)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-126, Class3_Sub1.interfaceScriptsIndex.getCRCValue((byte)-122)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 115, CacheIndex.aClass153_1948.getCRCValue((byte)-118)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-122, Class3_Sub19.aClass153_2474.getCRCValue((byte)-124)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-121, NPC.aClass153_3994.getCRCValue((byte)-122)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-124, Class168.aClass153_2097.getCRCValue((byte)-123)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 + -117, NPC.aClass153_3993.getCRCValue((byte)-124)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-128, Class101.aClass153_1428.getCRCValue((byte)-122)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-124, Class100.aClass153_1410.getCRCValue((byte)-127)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-120, Class3_Sub13_Sub36.aClass153_3429.getCRCValue((byte)-123)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-120, Class70.aClass153_1058.getCRCValue((byte)-117)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(var0 ^ 127, Class3_Sub22.aClass153_2528.getCRCValue((byte)-117)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-125, Class133.aClass153_1751.getCRCValue((byte)-122)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-127, Class140_Sub7.aClass153_2939.getCRCValue((byte)-118)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-126, Class3_Sub4.aClass153_2258.getCRCValue((byte)-128)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-120, Class97.aClass153_1376.getCRCValue((byte)-123)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-120, Class132.aClass153_1735.getCRCValue((byte)-124)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putInt(-120, Class132.libIndex.getCRCValue((byte)-124)); + Class151_Sub1.aClass3_Sub30_Sub1_2942.putBytes(Class3_Sub13_Sub1.outgoingBuffer.buffer, 0, Class3_Sub13_Sub1.outgoingBuffer.index, var0 + 117); + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class151_Sub1.aClass3_Sub30_Sub1_2942.buffer, Class151_Sub1.aClass3_Sub30_Sub1_2942.index); + Class3_Sub13_Sub1.outgoingBuffer.method814(var9, false); + + for(int var2 = 0; ~var2 > -5; ++var2) { + var9[var2] += 50; + } + + GraphicDefinition.incomingBuffer.method814(var9, false); + Class3_Sub13_Sub25.loginStage = 4; + } + + if(-5 == ~Class3_Sub13_Sub25.loginStage) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > -2) { + return; + } + + int opcode = Class3_Sub15.aClass89_2429.readByte(0); + if(~opcode != -22) { + if(opcode != 29) { + if(opcode == 1) { + Class3_Sub13_Sub25.loginStage = 5; + Class158.anInt2005 = opcode; + return; + } + + if(2 != opcode) { + if(~opcode != -16) { + if(23 == opcode && ~Class166.anInt2079 > -2) { + Class3_Sub13_Sub25.loginStage = 1; + ++Class166.anInt2079; + Class50.anInt820 = 0; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + + Class158.anInt2005 = opcode; + Class3_Sub13_Sub25.loginStage = 0; + Class3_Sub15.aClass89_2429.close(var0 + 14830); + Class3_Sub15.aClass89_2429 = null; + return; + } + + Class3_Sub13_Sub25.loginStage = 0; + Class158.anInt2005 = opcode; + return; + } + + Class3_Sub13_Sub25.loginStage = 8; + } else { + Class3_Sub13_Sub25.loginStage = 10; + } + } else { + Class3_Sub13_Sub25.loginStage = 7; + } + } + + if(6 == Class3_Sub13_Sub25.loginStage) { + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(17); + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + Class3_Sub13_Sub25.loginStage = 4; + return; + } + + if(Class3_Sub13_Sub25.loginStage == 7) { + if(-2 >= ~Class3_Sub15.aClass89_2429.availableBytes(var0 + -18349)) { + Class3_Sub13_Sub34.anInt3413 = 60 * (3 + Class3_Sub15.aClass89_2429.readByte(var0 + 9)); + Class3_Sub13_Sub25.loginStage = 0; + Class158.anInt2005 = 21; + Class3_Sub15.aClass89_2429.close(var0 + 14830); + Class3_Sub15.aClass89_2429 = null; + return; + } + + return; + } + + if(-11 == ~Class3_Sub13_Sub25.loginStage) { + if(1 <= Class3_Sub15.aClass89_2429.availableBytes(var0 + -18349)) { + Class3_Sub26.anInt2561 = Class3_Sub15.aClass89_2429.readByte(var0 ^ -9); + Class3_Sub13_Sub25.loginStage = 0; + Class158.anInt2005 = 29; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + + return; + } + + if(Class3_Sub13_Sub25.loginStage == 8) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > -15) { + return; + } + + Class3_Sub15.aClass89_2429.readBytes(0, 14, -18455, GraphicDefinition.incomingBuffer.buffer); + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub13_Sub26.rights = GraphicDefinition.incomingBuffer.getByte((byte)-34); + Class3_Sub28_Sub19.anInt3775 = GraphicDefinition.incomingBuffer.getByte((byte)-86); + Class3_Sub15.aBoolean2433 = GraphicDefinition.incomingBuffer.getByte((byte)-67) == 1; + Class121.aBoolean1641 = 1 == GraphicDefinition.incomingBuffer.getByte((byte)-25); + Class3_Sub28_Sub10_Sub1.aBoolean4063 = ~GraphicDefinition.incomingBuffer.getByte((byte)-39) == -2; + Class3_Sub13_Sub14.aBoolean3166 = 1 == GraphicDefinition.incomingBuffer.getByte((byte)-28); + Canvas_Sub2.aBoolean29 = GraphicDefinition.incomingBuffer.getByte((byte)-120) == 1; + Class3_Sub1.localIndex = GraphicDefinition.incomingBuffer.getShort(var0 + 10); + Class3_Sub13_Sub29.disableGEBoxes = GraphicDefinition.incomingBuffer.getByte((byte)-127) == 1; + Class2.isMember = ~GraphicDefinition.incomingBuffer.getByte((byte)-112) == -2; + Class113.method1702((byte)-124, Class2.isMember); + Class8.method845(Class2.isMember, 255); + if(!Class3_Sub28_Sub19.aBoolean3779) { + if((!Class3_Sub15.aBoolean2433 || Class3_Sub28_Sub10_Sub1.aBoolean4063) && !Class3_Sub13_Sub29.disableGEBoxes) { + try { + Class27.aClass94_516.method1577(-1857, Class38.aClass87_665.anApplet1219); + } catch (Throwable var5) { + ; + } + } else { + try { + Class97.aClass94_1374.method1577(-1857, Class38.aClass87_665.anApplet1219); + } catch (Throwable var6) { + ; + } + } + } + + RSString.incomingOpcode = GraphicDefinition.incomingBuffer.getOpcode(0); + dynamic = RSString.incomingOpcode == 214; + Class130.incomingPacketLength = GraphicDefinition.incomingBuffer.getShort(1); + Class3_Sub13_Sub25.loginStage = 9; + } + + if(-10 == ~Class3_Sub13_Sub25.loginStage) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > ~Class130.incomingPacketLength) { + return; + } + + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub15.aClass89_2429.readBytes(0, Class130.incomingPacketLength, -18455, GraphicDefinition.incomingBuffer.buffer); + Class158.anInt2005 = 2; + Class3_Sub13_Sub25.loginStage = 0; + AnimationDefinition.method2061(true); + Class3_Sub28_Sub7.anInt3606 = -1; + Class39.updateSceneGraph(0, dynamic); + RSString.incomingOpcode = -1; + return; + } + + if(var0 != -9) { + aClass153_1680 = (CacheIndex)null; + } + } catch (IOException var7) { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(Class166.anInt2079 >= 1) { + Class3_Sub13_Sub25.loginStage = 0; + Class158.anInt2005 = -4; + } else { + Class3_Sub13_Sub25.loginStage = 1; + Class50.anInt820 = 0; + ++Class166.anInt2079; + if(~Class162.anInt2036 == ~Class140_Sub6.accRegistryPort) { + Class140_Sub6.accRegistryPort = WorldListCountry.anInt506; + } else { + Class140_Sub6.accRegistryPort = Class162.anInt2036; + } + } + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ri.A(" + var0 + ')'); + } + } + + static final int method1753(int var0, int var1) { + var1 = var1 * (var0 & 127) >> 7; + if(var1 < 2) { + var1 = 2; + } else if(var1 > 126) { + var1 = 126; + } + + return (var0 & '\uff80') + var1; + } + + public static void method1754(int var0) { + try { + aClass153_1680 = null; + anIntArray1679 = null; + if(var0 >= -49) { + handleLogin((byte)102); + } + + anIntArray1681 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ri.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class127_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class127_Sub1.java new file mode 100644 index 000000000..b4a2eabc6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class127_Sub1.java @@ -0,0 +1,54 @@ +package org.runite.jagex; +import java.nio.FloatBuffer; +import javax.media.opengl.GL; + +final class Class127_Sub1 extends Class127 { + + private static int anInt2682; + + + Class127_Sub1() { + new Class17(); + new Class61(); + } + + static final void method1755() { + GL var0 = HDToolKit.gl; + if(var0.isExtensionAvailable("GL_ARB_point_parameters")) { + float[] var1 = new float[]{1.0F, 0.0F, 5.0E-4F}; + var0.glPointParameterfvARB('\u8129', var1, 0); + FloatBuffer var2 = FloatBuffer.allocate(1); + var0.glGetFloatv('\u8127', var2); + float var3 = var2.get(0); + if(var3 > 1024.0F) { + var3 = 1024.0F; + } + + var0.glPointParameterfARB('\u8126', 1.0F); + var0.glPointParameterfARB('\u8127', var3); + } + + if(var0.isExtensionAvailable("GL_ARB_point_sprite")) { + ; + } + + } + + static final void method1756() {} + + static final int method1757() { + return anInt2682; + } + + static final void method1758(int var0) { + anInt2682 = var0; + } + + final void method1759() {} + + static { + new Class128(8); + anInt2682 = 2; + new RSByteBuffer(131056); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class128.java b/09HDscape-client/src/org/runite/jagex/Class128.java new file mode 100644 index 000000000..37092cc38 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class128.java @@ -0,0 +1,207 @@ +package org.runite.jagex; +import java.util.Arrays; + + +final class Class128 { + + static int anInt1682 = 1; + static Class93 aClass93_1683 = new Class93(64); + private Node[] aClass3_Sub28Array1684; + static boolean aBoolean1685 = true; + private static RSString aClass94_1686 = RSString.createRSString("shake:"); + static RSString aClass94_1687 = RSString.createRSString("(Z"); + static RSString aClass94_1688 = aClass94_1686; + static RSString aClass94_1689 = aClass94_1686; + + + static final void method1760(int var0, byte var1, int var2) { + try { + if (WorldListCountry.localPlane > 3 || WorldListCountry.localPlane < 0) { + System.err.println("Local plane " + WorldListCountry.localPlane + " is out of bounds - rendering log=" + Arrays.toString(Class163_Sub3.PLAYER_RENDER_LOG) + "!"); + WorldListCountry.localPlane %= 4; + } + Class61 var3 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var2][var0]; + if(var3 != null) { + if(var1 == 65) { + int var4 = -99999999; + Class3_Sub28_Sub14 var5 = null; + + Class3_Sub28_Sub14 var6; + for(var6 = (Class3_Sub28_Sub14)var3.method1222(); null != var6; var6 = (Class3_Sub28_Sub14)var3.method1221()) { + ItemDefinition var7 = Class38.getItemDefinition(var6.aClass140_Sub7_3676.anInt2936, (byte)104); + int var8 = var7.value; + if(var7.stackingType == 1) { + var8 *= 1 + var6.aClass140_Sub7_3676.anInt2930; + } + + if(var4 < var8) { + var4 = var8; + var5 = var6; + } + } + + if(null != var5) { + var3.method1216(64, var5); + Class140_Sub7 var12 = null; + Class140_Sub7 var14 = null; + + for(var6 = (Class3_Sub28_Sub14)var3.method1222(); var6 != null; var6 = (Class3_Sub28_Sub14)var3.method1221()) { + Class140_Sub7 var9 = var6.aClass140_Sub7_3676; + if(~var9.anInt2936 != ~var5.aClass140_Sub7_3676.anInt2936) { + if(null == var12) { + var12 = var9; + } + + if(~var9.anInt2936 != ~var12.anInt2936 && null == var14) { + var14 = var9; + } + } + } + + long var13 = (long)(1610612736 + (var0 << 7) + var2); + Class3_Sub13_Sub10.method213(WorldListCountry.localPlane, var2, var0, Class121.method1736(WorldListCountry.localPlane, 1, 64 + 128 * var2, 64 + var0 * 128), var5.aClass140_Sub7_3676, var13, var12, var14); + } else { + ObjectDefinition.method1688(WorldListCountry.localPlane, var2, var0); + } + } + } else { + ObjectDefinition.method1688(WorldListCountry.localPlane, var2, var0); + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "rm.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method1761(byte var0) { + try { + aClass94_1688 = null; + aClass94_1686 = null; + aClass94_1689 = null; + aClass94_1687 = null; + if(var0 < -46) { + aClass93_1683 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rm.C(" + var0 + ')'); + } + } + + static final void method1762(long var0, byte var2) { + try { + try { + int var3 = 30 / ((var2 - -86) / 36); + Thread.sleep(var0); + } catch (InterruptedException var4) { + ; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "rm.B(" + var0 + ',' + var2 + ')'); + } + } + + static final Model method1763(boolean var0, int var1, int var2, int var3, int var4, Model var5, int var6) { + try { + long var7 = (long)var3; + Model var9 = (Model)Class61.aClass93_939.get(var7, (byte)121); + if(var9 == null) { + Model_Sub1 var10 = Model_Sub1.method2015(Class159.aClass153_2019, var3, 0); + if(var10 == null) { + return null; + } + + var9 = var10.method2008(64, 768, -50, -10, -50); + Class61.aClass93_939.put((byte)-95, var9, var7); + } + + int var17 = var5.method1884(); + int var11 = var5.method1883(); + int var12 = var5.method1898(); + int var13 = var5.method1872(); + var9 = var9.method1882(var0, true, true); + if(var1 != 0) { + var9.method1876(var1); + } + + int var15; + if(HDToolKit.highDetail) { + Class140_Sub1_Sub1 var14 = (Class140_Sub1_Sub1)var9; + if(var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 + var17, var2 + var12) || var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 - -var11, var13 + var2)) { + for(var15 = 0; ~var15 > ~var14.anInt3823; ++var15) { + var14.anIntArray3845[var15] += Class121.method1736(WorldListCountry.localPlane, 1, var14.anIntArray3822[var15] + var4, var14.anIntArray3848[var15] + var2) - var6; + } + + var14.aClass121_3839.aBoolean1640 = false; + var14.aClass6_3835.aBoolean98 = false; + } + } else { + Class140_Sub1_Sub2 var18 = (Class140_Sub1_Sub2)var9; + if(var6 != Class121.method1736(WorldListCountry.localPlane, 1, var17 + var4, var12 + var2) || var6 != Class121.method1736(WorldListCountry.localPlane, 1, var4 - -var11, var13 + var2)) { + for(var15 = 0; var18.anInt3891 > var15; ++var15) { + var18.anIntArray3883[var15] += Class121.method1736(WorldListCountry.localPlane, 1, var4 + var18.anIntArray3885[var15], var18.anIntArray3895[var15] + var2) - var6; + } + + var18.aBoolean3897 = false; + } + } + + return var9; + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "rm.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')'); + } + } + + static final void method1764(int var0, int var1, int var2) { + for(int var3 = 0; var3 < Class3_Sub17.anInt2456; ++var3) { + for(int var4 = 0; var4 < IOHandler.anInt1234; ++var4) { + for(int var5 = 0; var5 < Class3_Sub13_Sub15.anInt3179; ++var5) { + Class3_Sub2 var6 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var3][var4][var5]; + if(var6 != null) { + Class70 var7 = var6.aClass70_2234; + if(var7 != null && var7.aClass140_1049.method1865()) { + Class3_Sub13_Sub10.method214(var7.aClass140_1049, var3, var4, var5, 1, 1); + if(var7.aClass140_1052 != null && var7.aClass140_1052.method1865()) { + Class3_Sub13_Sub10.method214(var7.aClass140_1052, var3, var4, var5, 1, 1); + var7.aClass140_1049.method1866(var7.aClass140_1052, 0, 0, 0, false); + var7.aClass140_1052 = var7.aClass140_1052.method1861(var0, var1, var2); + } + + var7.aClass140_1049 = var7.aClass140_1049.method1861(var0, var1, var2); + } + + for(int var8 = 0; var8 < var6.anInt2223; ++var8) { + Class25 var9 = var6.aClass25Array2221[var8]; + if(var9 != null && var9.aClass140_479.method1865()) { + Class3_Sub13_Sub10.method214(var9.aClass140_479, var3, var4, var5, var9.anInt495 - var9.anInt483 + 1, var9.anInt481 - var9.anInt478 + 1); + var9.aClass140_479 = var9.aClass140_479.method1861(var0, var1, var2); + } + } + + Class12 var10 = var6.aClass12_2230; + if(var10 != null && var10.object.method1865()) { + Class155.method2162(var10.object, var3, var4, var5); + var10.object = var10.object.method1861(var0, var1, var2); + } + } + } + } + } + + } + + Class128(int var1) { + try { + this.aClass3_Sub28Array1684 = new Node[var1]; + + for(int var2 = 0; ~var2 > ~var1; ++var2) { + Node var3 = this.aClass3_Sub28Array1684[var2] = new Node(); + var3.aClass3_Sub28_2570 = var3; + var3.aClass3_Sub28_2578 = var3; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "rm.(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class129.java b/09HDscape-client/src/org/runite/jagex/Class129.java new file mode 100644 index 000000000..85c26a3e9 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class129.java @@ -0,0 +1,427 @@ +package org.runite.jagex; + +abstract class Class129 { + + static int[] anIntArray1690; + static int anInt1691 = -1; + static int anInt1692 = 0; + static int[] anIntArray1693 = new int[128]; + static RSString aClass94_1694 = RSString.createRSString("document)3cookie=(R"); + static int[] anIntArray1695; + static RSString aClass94_1696 = RSString.createRSString("Sie k-Onnen sich selbst nicht auf Ihre Freunde)2Liste setzen(Q"); + + + static final int method1765(int var0, int var1) { + try { + if(var1 != -1732504441) { + method1765(97, -97); + } + + return var0 >>> 7; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "s.D(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1766(int var0) { + try { + anIntArray1695 = null; + if(var0 != 24241) { + method1766(84); + } + + anIntArray1690 = null; + anIntArray1693 = null; + aClass94_1694 = null; + aClass94_1696 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "s.E(" + var0 + ')'); + } + } + + abstract int method1767(int var1, int var2, int var3); + + static final void method1768(int var0, int var1, int var2) { + try { + if(-1 > ~Class148.anInt1908) { + Class159.method2195(Class148.anInt1908, 0); + Class148.anInt1908 = 0; + } + + short var3 = 256; + int var4 = 0; + int var5 = Class74.anInt1092 * var2; + int var6 = 0; + + for(int var7 = 1; var7 < var3 + -1; ++var7) { + int var8 = (var3 - var7) * Class3_Sub28_Sub5.anIntArray3592[var7] / var3; + if(0 > var8) { + var8 = 0; + } + + var4 += var8; + + int var9; + for(var9 = var8; var9 < 128; ++var9) { + int var11 = Class74.anIntArray1100[var5++ + var0]; + int var10 = Class127.anIntArray1681[var4++]; + if(var10 != 0) { + int var12 = 18 + var10; + if(~var12 < -256) { + var12 = 255; + } + + int var13 = 256 - var10 - 18; + if(~var13 < -256) { + var13 = 255; + } + + var10 = Class52.anIntArray861[var10]; + Class97.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = Class3_Sub28_Sub15.method633(var13 * Class3_Sub28_Sub15.method633(var11, 16711935) + Class3_Sub28_Sub15.method633(16711935, var10) * var12, -16711936) - -Class3_Sub28_Sub15.method633(Class3_Sub28_Sub15.method633(var10, '\uff00') * var12 - -(Class3_Sub28_Sub15.method633('\uff00', var11) * var13), 16711680) >> 8; + } else { + Class97.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = var11; + } + } + + for(var9 = 0; var9 < var8; ++var9) { + Class97.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081[var6++] = Class74.anIntArray1100[var0 + var5++]; + } + + var5 += Class74.anInt1092 + -128; + } + + if(var1 > 70) { + if(!HDToolKit.highDetail) { + Class97.aClass3_Sub28_Sub16_Sub2_1381.method635(var0, var2); + } else { + Class22.method926(Class97.aClass3_Sub28_Sub16_Sub2_1381.anIntArray4081, var0, var2, Class97.aClass3_Sub28_Sub16_Sub2_1381.anInt3707, Class97.aClass3_Sub28_Sub16_Sub2_1381.anInt3696); + } + + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "s.F(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method1769(float[][] var0, byte[][] var1, byte[][] var2, Class43[] var3, int var4, int var5, float[][] var6, byte[][] var7, byte[][] var8, int[][] var9, int var10, float[][] var11) { + try { + for(int var12 = 0; ~var12 > ~var5; ++var12) { + Class43 var13 = var3[var12]; + if(var13.anInt704 == var4) { + int var15 = 0; + Class37 var14 = new Class37(); + int var16 = -var13.anInt698 + (var13.anInt703 >> 7); + int var17 = -var13.anInt698 + (var13.anInt708 >> 7); + if(-1 < ~var17) { + var15 -= var17; + var17 = 0; + } + + int var18 = var13.anInt698 + (var13.anInt708 >> 7); + if(var18 > 103) { + var18 = 103; + } + + int var19; + int var21; + short var20; + int var23; + int var22; + int var25; + int var35; + boolean var32; + for(var19 = var17; ~var18 <= ~var19; ++var19) { + var20 = var13.aShortArray706[var15]; + var21 = var16 + (var20 >> 8); + var22 = -1 + var21 - -(255 & var20); + if(103 < var22) { + var22 = 103; + } + + if(-1 < ~var21) { + var21 = 0; + } + + for(var23 = var21; var23 <= var22; ++var23) { + int var24 = 255 & var1[var23][var19]; + var25 = 255 & var8[var23][var19]; + boolean var26 = false; + Class168 var27; + int[] var29; + int[] var28; + if(0 == var24) { + if(-1 == ~var25) { + continue; + } + + var27 = Class3_Sub13_Sub37.method350((byte)-103, var25 + -1); + if(0 == ~var27.anInt2103) { + continue; + } + + if(~var7[var23][var19] != -1) { + var28 = Class134.anIntArrayArray1763[var7[var23][var19]]; + var14.anInt651 += 3 * (-2 + (var28.length >> 1)); + var14.anInt657 += var28.length >> 1; + continue; + } + } else if(-1 != ~var25) { + var27 = Class3_Sub13_Sub37.method350((byte)123, var25 - 1); + byte var42; + if(var27.anInt2103 == -1) { + var42 = var7[var23][var19]; + if(-1 != ~var42) { + var29 = Class25.anIntArrayArray499[var42]; + var14.anInt651 += 3 * (-2 + (var29.length >> 1)); + var14.anInt657 += var29.length >> 1; + } + continue; + } + + var42 = var7[var23][var19]; + if(0 != var42) { + var26 = true; + } + } + + Class25 var40 = Class75.method1336(var4, var23, var19); + if(null != var40) { + int var41 = (int)(var40.aLong498 >> 14) & 63; + if(~var41 == -10) { + var29 = null; + int var30 = 3 & (int)(var40.aLong498 >> 20); + boolean var31; + int var34; + short var33; + if((1 & var30) != 0) { + var31 = var21 <= -1 + var23; + var32 = ~(var23 + 1) >= ~var22; + if(!var31 && -1 + var19 >= var17) { + var33 = var13.aShortArray706[-1 + var15]; + var34 = (var33 >> 8) + var16; + var35 = var34 + (255 & var33); + var31 = ~var34 > ~var23 && ~var23 > ~var35; + } + + if(!var32 && ~(1 + var19) >= ~var18) { + var33 = var13.aShortArray706[var15 + 1]; + var34 = (var33 >> 8) + var16; + var35 = var34 - -(255 & var33); + var32 = ~var34 > ~var23 && ~var35 < ~var23; + } + + if(var31 && var32) { + var29 = Class134.anIntArrayArray1763[0]; + } else if(!var31) { + if(var32) { + var29 = Class134.anIntArrayArray1763[1]; + } + } else { + var29 = Class134.anIntArrayArray1763[1]; + } + } else { + var32 = var22 >= 1 + var23; + var31 = var23 + -1 >= var21; + if(!var31 && ~(var19 - -1) >= ~var18) { + var33 = var13.aShortArray706[1 + var15]; + var34 = var16 + (var33 >> 8); + var35 = var34 + (255 & var33); + var31 = var34 < var23 && var23 < var35; + } + + if(!var32 && -1 + var19 >= var17) { + var33 = var13.aShortArray706[var15 + -1]; + var34 = var16 + (var33 >> 8); + var35 = var34 - -(var33 & 255); + var32 = var23 > var34 && ~var23 > ~var35; + } + + if(var31 && var32) { + var29 = Class134.anIntArrayArray1763[0]; + } else if(var31) { + var29 = Class134.anIntArrayArray1763[1]; + } else if(var32) { + var29 = Class134.anIntArrayArray1763[1]; + } + } + + if(null != var29) { + var14.anInt651 += 3 * (var29.length >> 1) - 6; + var14.anInt657 += var29.length >> 1; + } + continue; + } + } + + if(var26) { + var29 = Class25.anIntArrayArray499[var7[var23][var19]]; + var28 = Class134.anIntArrayArray1763[var7[var23][var19]]; + var14.anInt651 += (-2 + (var28.length >> 1)) * 3; + var14.anInt651 += ((var29.length >> 1) - 2) * 3; + var14.anInt657 += var28.length >> 1; + var14.anInt657 += var29.length >> 1; + } else { + var28 = Class134.anIntArrayArray1763[0]; + var14.anInt651 += (-2 + (var28.length >> 1)) * 3; + var14.anInt657 += var28.length >> 1; + } + } + + ++var15; + } + + var15 = 0; + var14.method1020(); + if(-1 < ~(-var13.anInt698 + (var13.anInt708 >> 7))) { + var15 -= -var13.anInt698 + (var13.anInt708 >> 7); + } + + for(var19 = var17; var19 <= var18; ++var19) { + var20 = var13.aShortArray706[var15]; + var21 = (var20 >> 8) + var16; + var22 = -1 + (255 & var20) + var21; + if(~var22 < -104) { + var22 = 103; + } + + if(0 > var21) { + var21 = 0; + } + + for(var23 = var21; ~var23 >= ~var22; ++var23) { + int var43 = 255 & var8[var23][var19]; + var25 = 255 & var1[var23][var19]; + byte var38 = var2[var23][var19]; + boolean var39 = false; + Class168 var46; + if(var25 != 0) { + if(~var43 != -1) { + var46 = Class3_Sub13_Sub37.method350((byte)113, -1 + var43); + if(-1 == var46.anInt2103) { + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class25.anIntArrayArray499[var7[var23][var19]], var14, (byte)116, var13, var11, var2[var23][var19]); + continue; + } + + byte var48 = var7[var23][var19]; + if(var48 != 0) { + var39 = true; + } + } + } else { + if(0 == var43) { + continue; + } + + var46 = Class3_Sub13_Sub37.method350((byte)-49, var43 - 1); + if(-1 == var46.anInt2103) { + continue; + } + + if(var7[var23][var19] != 0) { + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[var7[var23][var19]], var14, (byte)-88, var13, var11, var2[var23][var19]); + continue; + } + } + + Class25 var44 = Class75.method1336(var4, var23, var19); + if(null != var44) { + int var49 = (int)(var44.aLong498 >> 14) & 63; + if(9 == var49) { + int[] var45 = null; + int var47 = 3 & (int)(var44.aLong498 >> 20); + int var36; + boolean var51; + short var50; + if((1 & var47) != 0) { + var32 = var23 - 1 >= var21; + var51 = var22 >= 1 + var23; + if(!var32 && var17 <= var19 - 1) { + var50 = var13.aShortArray706[var15 - 1]; + var35 = var16 + (var50 >> 8); + var36 = (255 & var50) + var35; + var32 = var23 > var35 && var36 > var23; + } + + if(!var51 && ~var18 <= ~(var19 + 1)) { + var50 = var13.aShortArray706[var15 - -1]; + var35 = var16 + (var50 >> 8); + var36 = (255 & var50) + var35; + var51 = var23 > var35 && ~var36 < ~var23; + } + + if(var32 && var51) { + var45 = Class134.anIntArrayArray1763[0]; + } else if(!var32) { + if(var51) { + var45 = Class134.anIntArrayArray1763[1]; + var38 = 2; + } + } else { + var38 = 0; + var45 = Class134.anIntArrayArray1763[1]; + } + } else { + var32 = ~(-1 + var23) <= ~var21; + var51 = ~var22 <= ~(var23 + 1); + if(!var32 && var18 >= var19 - -1) { + var50 = var13.aShortArray706[1 + var15]; + var35 = (var50 >> 8) + var16; + var36 = (var50 & 255) + var35; + var32 = var23 > var35 && ~var36 < ~var23; + } + + if(!var51 && var19 - 1 >= var17) { + var50 = var13.aShortArray706[-1 + var15]; + var35 = var16 + (var50 >> 8); + var36 = (255 & var50) + var35; + var51 = var35 < var23 && ~var36 < ~var23; + } + + if(var32 && var51) { + var45 = Class134.anIntArrayArray1763[0]; + } else if(var32) { + var45 = Class134.anIntArrayArray1763[1]; + var38 = 1; + } else if(var51) { + var45 = Class134.anIntArrayArray1763[1]; + var38 = 3; + } + } + + if(null != var45) { + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, var45, var14, (byte)98, var13, var11, var38); + } + continue; + } + } + + if(var39) { + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class25.anIntArrayArray499[var7[var23][var19]], var14, (byte)96, var13, var11, var2[var23][var19]); + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[var7[var23][var19]], var14, (byte)-117, var13, var11, var2[var23][var19]); + } else { + Class3_Sub13_Sub23_Sub1.method284(var0, var9, var23, var6, var19, Class134.anIntArrayArray1763[0], var14, (byte)61, var13, var11, var38); + } + } + + ++var15; + } + + if(~var14.anInt653 < -1 && var14.anInt655 > 0) { + var14.method1019(); + var13.aClass37_712 = var14; + } + } + } + + if(var10 != -8771) { + method1765(-30, -124); + } + + } catch (RuntimeException var37) { + throw Class44.method1067(var37, "s.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + (var6 != null?"{...}":"null") + ',' + (var7 != null?"{...}":"null") + ',' + (var8 != null?"{...}":"null") + ',' + (var9 != null?"{...}":"null") + ',' + var10 + ',' + (var11 != null?"{...}":"null") + ')'); + } + } + + abstract void method1770(int var1); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class129_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class129_Sub1.java new file mode 100644 index 000000000..3e1d266ca --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class129_Sub1.java @@ -0,0 +1,127 @@ +package org.runite.jagex; +import java.awt.Image; + +final class Class129_Sub1 extends Class129 { + + private long aLong2683; + static int anInt2684; + private int anInt2685; + static Class47 aClass47_2686 = new Class47(128); + static RSString aClass94_2687 = RSString.createRSString("Fallen lassen"); + private int anInt2688; + static int anInt2689; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array2690; + private int anInt2691; + private int anInt2692; + static int anInt2693 = 0; + private long[] aLongArray2694 = new long[10]; + static Image anImage2695; + static int[] anIntArray2696 = new int[2]; + static int anInt2697; + + + public static void method1771(int var0) { + try { + aClass94_2687 = null; + anIntArray2696 = null; + anImage2695 = null; + if(var0 != 14635) { + aClass47_2686 = (Class47)null; + } + + aClass3_Sub28_Sub16Array2690 = null; + aClass47_2686 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lj.G(" + var0 + ')'); + } + } + + final void method1770(int var1) { + try { + int var2; + for(var2 = 0; ~var2 > -11; ++var2) { + this.aLongArray2694[var2] = 0L; + } + + var2 = -114 % ((var1 - -82) / 42); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "lj.A(" + var1 + ')'); + } + } + + final int method1767(int var1, int var2, int var3) { + try { + if(var1 != -1) { + this.method1767(-14, 83, 10); + } + + int var5 = this.anInt2691; + int var4 = this.anInt2688; + this.anInt2688 = 300; + this.anInt2691 = 1; + this.aLong2683 = Class5.method830((byte)-55); + if(this.aLongArray2694[this.anInt2685] == 0L) { + this.anInt2688 = var4; + this.anInt2691 = var5; + } else if(this.aLongArray2694[this.anInt2685] < this.aLong2683) { + this.anInt2688 = (int)((long)(var3 * 2560) / (this.aLong2683 + -this.aLongArray2694[this.anInt2685])); + } + + if(this.anInt2688 < 25) { + this.anInt2688 = 25; + } + + if(256 < this.anInt2688) { + this.anInt2688 = 256; + this.anInt2691 = (int)(-((this.aLong2683 - this.aLongArray2694[this.anInt2685]) / 10L) + (long)var3); + } + + if(~var3 > ~this.anInt2691) { + this.anInt2691 = var3; + } + + this.aLongArray2694[this.anInt2685] = this.aLong2683; + this.anInt2685 = (1 + this.anInt2685) % 10; + int var6; + if(~this.anInt2691 < -2) { + for(var6 = 0; -11 < ~var6; ++var6) { + if(this.aLongArray2694[var6] != 0L) { + this.aLongArray2694[var6] += (long)this.anInt2691; + } + } + } + + if(var2 > this.anInt2691) { + this.anInt2691 = var2; + } + + Class3_Sub13_Sub34.method331((long)this.anInt2691, var1 ^ -65); + + for(var6 = 0; 256 > this.anInt2692; ++var6) { + this.anInt2692 += this.anInt2688; + } + + this.anInt2692 &= 255; + return var6; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "lj.B(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + Class129_Sub1() { + try { + this.anInt2688 = 256; + this.anInt2691 = 1; + this.anInt2692 = 0; + this.aLong2683 = Class5.method830((byte)-55); + + for(int var1 = 0; var1 < 10; ++var1) { + this.aLongArray2694[var1] = this.aLong2683; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lj.()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class129_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class129_Sub2.java new file mode 100644 index 000000000..bab732943 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class129_Sub2.java @@ -0,0 +1,39 @@ +package org.runite.jagex; + +final class Class129_Sub2 extends Class129 { + + private long aLong2698 = System.nanoTime(); + + + final void method1770(int var1) { + int var2 = 37 / ((-82 - var1) / 42); + this.aLong2698 = System.nanoTime(); + } + + final int method1767(int var1, int var2, int var3) { + if(var1 != -1) { + return 37; + } else { + long var4 = 1000000L * (long)var2; + long var6 = this.aLong2698 - System.nanoTime(); + if(~var4 < ~var6) { + var6 = var4; + } + + Class3_Sub13_Sub34.method331(var6 / 1000000L, 64); + int var10 = 0; + + long var8; + for(var8 = System.nanoTime(); var10 < 10 && (-2 < ~var10 || this.aLong2698 < var8); this.aLong2698 += 1000000L * (long)var3) { + ++var10; + } + + if(var8 > this.aLong2698) { + this.aLong2698 = var8; + } + + return var10; + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class130.java b/09HDscape-client/src/org/runite/jagex/Class130.java new file mode 100644 index 000000000..82b3c7e81 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class130.java @@ -0,0 +1,450 @@ +package org.runite.jagex; +import java.awt.Component; + +final class Class130 { + + Class3[] aClass3Array1697; + static RSString aClass94_1698 = RSString.createRSString("(R"); + static RSString aClass94_1699 = RSString.createRSString(" )2> "); + int anInt1700; + static int anInt1701; + static RSString aClass94_1702 = RSString.createRSString("Hierhin drehen"); + static boolean[] aBooleanArray1703; + static int incomingPacketLength = 0; + static int anInt1705 = 0; + private Class3 aClass3_1706; + + private long aLong1708; + static int anInt1709 = 0; + private static RSString aClass94_1710 = RSString.createRSString("Loaded sprites"); + static RSString aClass94_1707 = aClass94_1710; + static int anInt1711 = -2; + static boolean[] aBooleanArray1712 = new boolean[100]; + private Class3 aClass3_1713; + static RSString aClass94_1714 = RSString.createRSString(""); + private int anInt1715 = 0; + + + static final void method1772(int plane, int animId, int dummy, NPC var3) { + try { + if(var3.anInt2771 == animId && -1 != animId) { + AnimationDefinition var4 = Client.getAnimationDefinition(animId, (byte)-20); + int var5 = var4.anInt1845; + if(var5 == 1) { + var3.anInt2776 = 1; + var3.anInt2832 = 0; + var3.anInt2760 = 0; + var3.anInt2773 = 0; + var3.anInt2828 = plane; + IOHandler.method1470(var3.anInt2829, var4, 183921384, var3.anInt2819, false, var3.anInt2832); + } + + if(-3 == ~var5) { + var3.anInt2773 = 0; + } + } else if(~animId == 0 || -1 == var3.anInt2771 || Client.getAnimationDefinition(animId, (byte)-20).anInt1857 >= Client.getAnimationDefinition(var3.anInt2771, (byte)-20).anInt1857) { + var3.anInt2760 = 0; + var3.anInt2771 = animId; + var3.anInt2776 = 1; + var3.anInt2773 = 0; + var3.anInt2828 = plane; + var3.anInt2811 = var3.anInt2816; + var3.anInt2832 = 0; + if(var3.anInt2771 != -1) { + IOHandler.method1470(var3.anInt2829, Client.getAnimationDefinition(var3.anInt2771, (byte)-20), dummy + 183921345, var3.anInt2819, false, var3.anInt2832); + } + } + + if(dummy != 39) { + anInt1711 = 41; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sc.J(" + plane + ',' + animId + ',' + dummy + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final void method1773(int var1) { + try { + int var2 = 0; + + while(var2 < this.anInt1700) { + Class3 var3 = this.aClass3Array1697[var2]; + + while(true) { + Class3 var4 = var3.aClass3_74; + if(var3 == var4) { + ++var2; + break; + } + + var4.method86(-1024); + } + } + + this.aClass3_1713 = null; + var2 = 1 % ((73 - var1) / 34); + this.aClass3_1706 = null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "sc.G(" + var1 + ')'); + } + } + + public static void method1774(int var0) { + try { + aClass94_1698 = null; + aClass94_1707 = null; + aBooleanArray1712 = null; + aClass94_1702 = null; + aBooleanArray1703 = null; + aClass94_1699 = null; + aClass94_1714 = null; + if(var0 <= 96) { + method1783(-63, (Component)null); + } + + aClass94_1710 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sc.H(" + var0 + ')'); + } + } + + static final void method1775() { + for(int var0 = 0; var0 < Class3_Sub13_Sub5.anInt3070; ++var0) { + Class25 var1 = AnimationDefinition.aClass25Array1868[var0]; + Class158.method2186(var1); + AnimationDefinition.aClass25Array1868[var0] = null; + } + + Class3_Sub13_Sub5.anInt3070 = 0; + } + + final Class3 method1776(int var1) { + try { + this.anInt1715 = 0; + return var1 < 11?(Class3)null:this.method1778(-66); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sc.B(" + var1 + ')'); + } + } + + static final Class3_Sub13 method1777(int var0, boolean var1) { + try { + if(-1 == ~var0) { + return new Class3_Sub13_Sub22(); + } else if(-2 != ~var0) { + if(2 != var0) { + if(~var0 == -4) { + return new Class3_Sub13_Sub29(); + } else if(var0 != 4) { + if(var0 == 5) { + return new Class3_Sub13_Sub24(); + } else if(var0 == 6) { + return new Class3_Sub13_Sub2(); + } else if(var0 != 7) { + if(var0 != 8) { + if(9 != var0) { + if(10 == var0) { + return new Class3_Sub13_Sub37(); + } else if(var0 != 11) { + if(-13 == ~var0) { + return new Class3_Sub13_Sub1(); + } else if(-14 != ~var0) { + if(14 == var0) { + return new Class3_Sub13_Sub32(); + } else if(~var0 != -16) { + if(var0 == 16) { + return new Class3_Sub13_Sub9(); + } else if(17 != var0) { + if(~var0 == -19) { + return new Class3_Sub13_Sub23_Sub1(); + } else if(-20 == ~var0) { + return new Class3_Sub13_Sub18(); + } else if(~var0 == -21) { + return new Class3_Sub13_Sub13(); + } else if(21 == var0) { + return new Class3_Sub13_Sub5(); + } else if(22 != var0) { + if(~var0 != -24) { + if(24 != var0) { + if(var0 != 25) { + if(~var0 != -27) { + if(27 != var0) { + if(-29 == ~var0) { + return new Class3_Sub13_Sub25(); + } else if(-30 != ~var0) { + if(var0 != 30) { + if(31 != var0) { + if(32 != var0) { + if(33 == var0) { + return new Class3_Sub13_Sub3(); + } else if(-35 == ~var0) { + return new Class3_Sub13_Sub4(); + } else if(var0 == 35) { + return new Class3_Sub13_Sub26(); + } else if(~var0 != -37) { + if(var0 == 37) { + return new Class3_Sub13_Sub21(); + } else if(38 != var0) { + if(39 == var0) { + return new Class3_Sub13_Sub23(); + } else { + if(!var1) { + method1772(8, 6, 81, (NPC)null); + } + + return null; + } + } else { + return new Class3_Sub13_Sub38(); + } + } else { + return new Class3_Sub13_Sub36(); + } + } else { + return new Class3_Sub13_Sub28(); + } + } else { + return new Class3_Sub13_Sub14(); + } + } else { + return new Class3_Sub13_Sub10(); + } + } else { + return new Class3_Sub13_Sub33(); + } + } else { + return new Class3_Sub13_Sub7(); + } + } else { + return new Class3_Sub13_Sub6(); + } + } else { + return new Class3_Sub13_Sub34(); + } + } else { + return new Class3_Sub13_Sub12(); + } + } else { + return new Class3_Sub13_Sub17(); + } + } else { + return new Class3_Sub13_Sub35(); + } + } else { + return new Class3_Sub13_Sub15(); + } + } else { + return new Class3_Sub13_Sub16(); + } + } else { + return new Class3_Sub13_Sub30(); + } + } else { + return new Class3_Sub13_Sub20(); + } + } else { + return new Class3_Sub13_Sub8(); + } + } else { + return new Class3_Sub13_Sub39(); + } + } else { + return new Class3_Sub13_Sub27(); + } + } else { + return new Class3_Sub13_Sub19(); + } + } else { + return new Class3_Sub13_Sub31(); + } + } else { + return new Class3_Sub13_Sub11(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sc.I(" + var0 + ',' + var1 + ')'); + } + } + + final Class3 method1778(int var1) { + try { + Class3 var2; + if(-1 > ~this.anInt1715 && this.aClass3_1713 != this.aClass3Array1697[this.anInt1715 - 1]) { + var2 = this.aClass3_1713; + this.aClass3_1713 = var2.aClass3_74; + return var2; + } else { + do { + if(~this.anInt1715 <= ~this.anInt1700) { + if(var1 > -61) { + this.method1773(119); + } + + return null; + } + + var2 = this.aClass3Array1697[this.anInt1715++].aClass3_74; + } while(this.aClass3Array1697[this.anInt1715 + -1] == var2); + + this.aClass3_1713 = var2.aClass3_74; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sc.K(" + var1 + ')'); + } + } + + final void method1779(int var1, Class3 var2, long var3) { + try { + if(null != var2.aClass3_76) { + var2.method86(var1 + -1025); + } + + Class3 var5 = this.aClass3Array1697[(int)(var3 & (long)(this.anInt1700 - var1))]; + var2.aClass3_74 = var5; + var2.aLong71 = var3; + var2.aClass3_76 = var5.aClass3_76; + var2.aClass3_76.aClass3_74 = var2; + var2.aClass3_74.aClass3_76 = var2; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sc.E(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + Class130(int var1) { + try { + this.aClass3Array1697 = new Class3[var1]; + this.anInt1700 = var1; + + for(int var2 = 0; var2 < var1; ++var2) { + Class3 var3 = this.aClass3Array1697[var2] = new Class3(); + var3.aClass3_76 = var3; + var3.aClass3_74 = var3; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sc.(" + var1 + ')'); + } + } + + final Class3 method1780(long var1, int var3) { + try { + if(var3 != 0) { + this.aClass3Array1697 = (Class3[])null; + } + + this.aLong1708 = var1; + Class3 var4 = this.aClass3Array1697[(int)(var1 & (long)(-1 + this.anInt1700))]; + + for(this.aClass3_1706 = var4.aClass3_74; var4 != this.aClass3_1706; this.aClass3_1706 = this.aClass3_1706.aClass3_74) { + if(~var1 == ~this.aClass3_1706.aLong71) { + Class3 var5 = this.aClass3_1706; + this.aClass3_1706 = this.aClass3_1706.aClass3_74; + return var5; + } + } + + this.aClass3_1706 = null; + return null; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sc.C(" + var1 + ',' + var3 + ')'); + } + } + + final int method1781(int var1) { + try { + int var2 = 75 / ((23 - var1) / 50); + int var3 = 0; + + for(int var4 = 0; var4 < this.anInt1700; ++var4) { + Class3 var5 = this.aClass3Array1697[var4]; + + for(Class3 var6 = var5.aClass3_74; var6 != var5; ++var3) { + var6 = var6.aClass3_74; + } + } + + return var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "sc.N(" + var1 + ')'); + } + } + + final int method1782(Class3[] var1, int var2) { + try { + if(var2 < 3) { + aClass94_1699 = (RSString)null; + } + + int var3 = 0; + + for(int var4 = 0; var4 < this.anInt1700; ++var4) { + Class3 var5 = this.aClass3Array1697[var4]; + + for(Class3 var6 = var5.aClass3_74; var6 != var5; var6 = var6.aClass3_74) { + var1[var3++] = var6; + } + } + + return var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "sc.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method1783(int var0, Component var1) { + try { + if(var0 != 4) { + method1777(-104, false); + } + + var1.removeMouseListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + var1.removeMouseMotionListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + var1.removeFocusListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + GraphicDefinition.anInt549 = 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sc.M(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final Class3 method1784(int var1) { + try { + if(null != this.aClass3_1706) { + Class3 var2 = this.aClass3Array1697[(int)(this.aLong1708 & (long)(-1 + this.anInt1700))]; + if(var1 != 0) { + method1772(-100, 110, -46, (NPC)null); + } + + while(var2 != this.aClass3_1706) { + if(this.aClass3_1706.aLong71 == this.aLong1708) { + Class3 var3 = this.aClass3_1706; + this.aClass3_1706 = this.aClass3_1706.aClass3_74; + return var3; + } + + this.aClass3_1706 = this.aClass3_1706.aClass3_74; + } + + this.aClass3_1706 = null; + return null; + } else { + return null; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sc.A(" + var1 + ')'); + } + } + + final int method1785(int var1) { + try { + if(var1 < 66) { + method1772(-91, -119, -117, (NPC)null); + } + + return this.anInt1700; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sc.F(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class131.java b/09HDscape-client/src/org/runite/jagex/Class131.java new file mode 100644 index 000000000..f38655d0b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class131.java @@ -0,0 +1,218 @@ +package org.runite.jagex; + +final class Class131 { + + static int anInt1716; + private static RSString aClass94_1717 = RSString.createRSString("Prepared sound engine"); + short[] aShortArray1718; + static int anInt1719 = -1; + int anInt1720; + RSString[] aClass94Array1721; + + static CacheIndex aClass153_1723; + static RSString aClass94_1724 = RSString.createRSString(" )2>"); + int[] anIntArray1725; + private static RSString aClass94_1726 = RSString.createRSString("Select"); + short[] aShortArray1727; + static RSString aClass94_1728 = RSString.createRSString("Eingabeprozedur geladen)3"); + static int[] anIntArray1729 = new int[]{12543016, 15504954, 15914854, 16773818}; + byte[] aByteArray1730; + static RSString aClass94_1731 = aClass94_1717; +static RSString aClass94_1722 = aClass94_1726; + + static final void addLocalPlayers(int var0) { + try { + while(true) { + if(~GraphicDefinition.incomingBuffer.method815(Class130.incomingPacketLength, 32666) <= -12) { + int index = GraphicDefinition.incomingBuffer.getBits((byte)-11, 11); + if(index != 2047) { + boolean var2 = false; + if(null == Class3_Sub13_Sub22.players[index]) { + Class3_Sub13_Sub22.players[index] = new Player(); + var2 = true; + if(null != Class65.aClass3_Sub30Array986[index]) { + Class3_Sub13_Sub22.players[index].parseAppearance(-54, Class65.aClass3_Sub30Array986[index]); + } + } + + Class56.localPlayerIndexes[Class159.localPlayerCount++] = index; + Player var3 = Class3_Sub13_Sub22.players[index]; + var3.anInt2838 = Class44.anInt719; + int var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~var4 == -2) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = index; + } + + int var5 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 5); + int var6 = Class27.anIntArray510[GraphicDefinition.incomingBuffer.getBits((byte)-11, 3)]; + if(var5 > 15) { + var5 -= 32; + } + + if(var2) { + var3.anInt2806 = var3.anInt2785 = var6; + } + + int var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + int var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 5); + if(var8 > 15) { + var8 -= 32; + } + + var3.method1981((byte)126, var5 + Class102.player.anIntArray2767[0], ~var7 == -2, Class102.player.anIntArray2755[0] + var8); + continue; + } + } + + if(var0 >= -46) { + return; + } + + GraphicDefinition.incomingBuffer.method818(false); + return; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "se.D(" + var0 + ')'); + } + } + + final boolean method1787(int var1, byte var2) { + try { + if(var2 != -124) { + method1793((RSString)null, (RSString)null, -17, (byte)94); + } + + return (this.aByteArray1730[var1] & 8) != 0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "se.G(" + var1 + ',' + var2 + ')'); + } + } + + static final int method1788(int var0, int var1, int var2, int var3, boolean var4) { + try { + if(!var4) { + return 127; + } else { + int var5 = 15 & var3; + int var7 = -5 >= ~var5?(~var5 != -13 && -15 != ~var5?var1:var0):var2; + int var6 = ~var5 > -9?var0:var2; + return (-1 != ~(var5 & 1)?-var6:var6) - -(~(2 & var5) != -1?-var7:var7); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "se.H(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final boolean method1789(int var1, int var2) { + try { + if(var2 != 530) { + this.method1794(-111, 26); + } + + return ~(4 & this.aByteArray1730[var1]) != -1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "se.A(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1790(int var0, int var1, int var2) { + try { + if(var2 < 90) { + aClass94_1731 = (RSString)null; + } + + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(4, 5, var0); + var3.g((byte)33); + var3.anInt3598 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "se.B(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final int method1791(int var1, int var2) { + try { + return var2 != 8?35:this.aByteArray1730[var1] & 3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "se.I(" + var1 + ',' + var2 + ')'); + } + } + + public static void method1792(int var0) { + try { + anIntArray1729 = null; + if(var0 == 0) { + aClass153_1723 = null; + aClass94_1726 = null; + aClass94_1731 = null; + aClass94_1717 = null; + aClass94_1722 = null; + aClass94_1728 = null; + aClass94_1724 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "se.F(" + var0 + ')'); + } + } + + static final void method1793(RSString var0, RSString var1, int var2, byte var3) { + try { + Class3_Sub28_Sub14.password = var1; + Class7.anInt2161 = var2; + Class3_Sub28_Sub14.username = var0; + if(!Class3_Sub28_Sub14.username.method1528((byte)-42, Class3_Sub28_Sub14.aClass94_3672) && !Class3_Sub28_Sub14.password.method1528((byte)-42, Class3_Sub28_Sub14.aClass94_3672)) { + if(0 != ~CS2Script.anInt2451) { + Class24.method951(0); + } else { + Class3_Sub2.anInt2246 = 0; + Class117.anInt1616 = 0; + Class158.anInt2005 = -3; + Class3_Sub13_Sub31.anInt3375 = 1; + RSByteBuffer var4 = new RSByteBuffer(128); + var4.putByte((byte)-97, 10); + var4.putShort((int)(Math.random() * 99999.0D)); + var4.putShort(530); + var4.putLong(Class3_Sub28_Sub14.username.toLong(-117), -2037491440); + var4.putInt(-123, (int)(Math.random() * 9.9999999E7D)); + var4.putString(0, Class3_Sub28_Sub14.password); + var4.putInt(-128, (int)(Math.random() * 9.9999999E7D)); + int var5 = 9 / ((var3 - 29) / 60); + var4.encryptRSA(Class3_Sub13_Sub14.aBigInteger3162, Class3_Sub13_Sub37.aBigInteger3441, -296); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-29, 210); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-121, var4.index); + Class3_Sub13_Sub1.outgoingBuffer.putBytes(var4.buffer, 0, var4.index, 125); + } + } else { + Class158.anInt2005 = 3; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "se.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final boolean method1794(int var1, int var2) { + try { + if(var2 != -20138) { + method1788(122, 38, -120, -29, false); + } + + return 0 == (this.aByteArray1730[var1] & 16); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "se.E(" + var1 + ',' + var2 + ')'); + } + } + + Class131(int var1) { + try { + this.anInt1720 = var1; + this.aClass94Array1721 = new RSString[this.anInt1720]; + this.aShortArray1718 = new short[this.anInt1720]; + this.anIntArray1725 = new int[this.anInt1720]; + this.aByteArray1730 = new byte[this.anInt1720]; + this.aShortArray1727 = new short[this.anInt1720]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "se.(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class132.java b/09HDscape-client/src/org/runite/jagex/Class132.java new file mode 100644 index 000000000..6a0cea8c8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class132.java @@ -0,0 +1,143 @@ +package org.runite.jagex; + +final class Class132 { + + static int anInt1734 = 0; + static CacheIndex aClass153_1735; + static int anInt1736; + static int anInt1737 = 1; + static RSString aClass94_1738 = RSString.createRSString(""); + static RSString[] aClass94Array1739 = new RSString[1000]; + static int anInt1740 = 0; + static int anInt1741; + static CacheIndex libIndex; + + + static final void method1798(int var0, Class3_Sub4 var1) { + try { + long var2 = 0L; + int var4 = -1; + if(var0 <= 17) { + anInt1740 = -43; + } + + int var5 = 0; + if(-1 == ~var1.anInt2263) { + var2 = Class157.method2174(var1.anInt2250, var1.anInt2264, var1.anInt2248); + } + + int var6 = 0; + if(-2 == ~var1.anInt2263) { + var2 = Class80.method1395(var1.anInt2250, var1.anInt2264, var1.anInt2248); + } + + if(var1.anInt2263 == 2) { + var2 = Class3_Sub28_Sub5.method557(var1.anInt2250, var1.anInt2264, var1.anInt2248); + } + + if(~var1.anInt2263 == -4) { + var2 = Class3_Sub2.method104(var1.anInt2250, var1.anInt2264, var1.anInt2248); + } + + if(var2 != 0L) { + var4 = Integer.MAX_VALUE & (int)(var2 >>> 32); + var6 = (int)var2 >> 20 & 3; + var5 = ((int)var2 & 516214) >> 14; + } + + var1.anInt2254 = var4; + var1.anInt2253 = var5; + var1.anInt2257 = var6; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "sf.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method1799(byte var0, CacheIndex var1) { + try { + Class3_Sub13_Sub7.aClass153_3098 = var1; + int var2 = 113 / ((1 - var0) / 63); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sf.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method1800(byte var0) { + try { + aClass94Array1739 = null; + aClass94_1738 = null; + aClass153_1735 = null; + if(var0 <= 52) { + aClass94Array1739 = (RSString[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sf.A(" + var0 + ')'); + } + } + + static final void method1801(byte var0) { + try { + if(var0 >= -94) { + method1799((byte)-90, (CacheIndex)null); + } + + int var1 = Class168.aClass3_Sub28_Sub17_2096.method682(Class75_Sub4.aClass94_2667); + + int var2; + int var3; + for(var2 = 0; Class3_Sub13_Sub34.anInt3415 > var2; ++var2) { + var3 = Class168.aClass3_Sub28_Sub17_2096.method682(RSByteBuffer.method802(var2, true)); + if(var3 > var1) { + var1 = var3; + } + } + + var2 = 15 * Class3_Sub13_Sub34.anInt3415 + 21; + int var4 = Class38_Sub1.anInt2612; + var1 += 8; + var3 = NPCDefinition.anInt1297 + -(var1 / 2); + if(~(var4 + var2) < ~Class140_Sub7.anInt2934) { + var4 = Class140_Sub7.anInt2934 + -var2; + } + + if(Class23.anInt454 < var3 + var1) { + var3 = -var1 + Class23.anInt454; + } + + if(-1 < ~var3) { + var3 = 0; + } + + if(~var4 > -1) { + var4 = 0; + } + + if(-2 == ~Class3_Sub28_Sub13.anInt3660) { + if(~NPCDefinition.anInt1297 == ~Class3_Sub13_Sub39.anInt3460 && ~Class168.anInt2099 == ~Class38_Sub1.anInt2612) { + Class3_Sub28_Sub1.anInt3537 = Class3_Sub13_Sub34.anInt3415 * 15 - -(!CacheIndex.aBoolean1951?22:26); + Class3_Sub28_Sub13.anInt3660 = 0; + Class3_Sub13_Sub33.anInt3395 = var4; + AbstractIndexedSprite.anInt1462 = var3; + Class38_Sub1.aBoolean2615 = true; + Class3_Sub28_Sub3.anInt3552 = var1; + } + } else if(~NPCDefinition.anInt1297 == ~Class163_Sub1.anInt2993 && ~Class38_Sub1.anInt2612 == ~Class38_Sub1.anInt2614) { + AbstractIndexedSprite.anInt1462 = var3; + Class3_Sub28_Sub13.anInt3660 = 0; + Class3_Sub28_Sub3.anInt3552 = var1; + Class3_Sub13_Sub33.anInt3395 = var4; + Class3_Sub28_Sub1.anInt3537 = (CacheIndex.aBoolean1951?26:22) + Class3_Sub13_Sub34.anInt3415 * 15; + Class38_Sub1.aBoolean2615 = true; + } else { + Class168.anInt2099 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub39.anInt3460 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub13.anInt3660 = 1; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "sf.D(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class133.java b/09HDscape-client/src/org/runite/jagex/Class133.java new file mode 100644 index 000000000..6428748c3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class133.java @@ -0,0 +1,86 @@ +package org.runite.jagex; + +final class Class133 { + + private byte aByte1742; + static int[] anIntArray1743 = new int[25]; + static int anInt1744 = 0; + static RSString aClass94_1745 = RSString.createRSString("settings"); + int anInt1746; + int anInt1747; + static int anInt1748; + static RSInterface aClass11_1749; + int anInt1750; + static CacheIndex aClass153_1751; + int anInt1752; + static int anInt1753; + static int anInt1754; + static int[] anIntArray1755 = new int[128]; + static int anInt1756; + int anInt1757; + + + public static void method1802(int var0) { + try { + aClass94_1745 = null; + anIntArray1743 = null; + anIntArray1755 = null; + aClass153_1751 = null; + aClass11_1749 = null; + if(var0 != 25) { + aClass153_1751 = (CacheIndex)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sg.A(" + var0 + ')'); + } + } + + static final void method1803(byte var0) { + try { + if(var0 >= 4) { + Class82.aClass93_1146.method1523((byte)-119); + Class159.aClass93_2016.method1523((byte)-103); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sg.D(" + var0 + ')'); + } + } + + final int method1804(boolean var1) { + try { + if(var1) { + anInt1753 = -21; + } + + return this.aByte1742 & 7; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sg.B(" + var1 + ')'); + } + } + + final int method1805(byte var1) { + try { + int var2 = -74 % ((var1 - 73) / 35); + return 8 != (this.aByte1742 & 8)?0:1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sg.C(" + var1 + ')'); + } + } + + public Class133() {} + + Class133(RSByteBuffer var1) { + try { + this.aByte1742 = var1.getByte(); + this.anInt1752 = var1.getShort(1); + this.anInt1757 = var1.getInt(); + this.anInt1747 = var1.getInt(); + this.anInt1746 = var1.getInt(); + this.anInt1750 = var1.getInt(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sg.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class134.java b/09HDscape-client/src/org/runite/jagex/Class134.java new file mode 100644 index 000000000..61d37c1b0 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class134.java @@ -0,0 +1,113 @@ +package org.runite.jagex; + +final class Class134 { + + static Class61 aClass61_1758 = new Class61(); + static int anInt1759 = 0; + static RSString aClass94_1760 = RSString.createRSString(""); + static int anInt1761 = -1; + static int anInt1762 = 0; + static int[][] anIntArrayArray1763 = new int[][]{{0, 128, 0, 0, 128, 0, 128, 128}, {0, 128, 0, 0, 128, 0}, {0, 0, 64, 128, 0, 128}, {128, 128, 64, 128, 128, 0}, {0, 0, 128, 0, 128, 128, 64, 128}, {0, 128, 0, 0, 128, 0, 64, 128}, {64, 128, 0, 128, 0, 0, 64, 0}, {0, 0, 64, 0, 0, 64}, {128, 0, 128, 128, 0, 128, 0, 64, 64, 0}, {0, 128, 0, 0, 32, 64, 64, 96, 128, 128}, {0, 0, 128, 0, 128, 128, 64, 96, 32, 64}, {0, 0, 128, 0, 96, 32, 32, 32}}; + static RSString aClass94_1764 = RSString.createRSString("headicons_prayer"); + static boolean aBoolean1765 = false; + static long[] aLongArray1766 = new long[32]; + + + public static void method1806(int var0) { + try { + aClass94_1764 = null; + aClass61_1758 = null; + if(var0 != 3846) { + anInt1762 = 60; + } + + anIntArrayArray1763 = (int[][])null; + aLongArray1766 = null; + aClass94_1760 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sh.D(" + var0 + ')'); + } + } + + static final synchronized byte[] method1807(int var0, int var1) { + try { + byte[] var2; + if(~var1 == -101 && -1 > ~Class65.anInt984) { + var2 = Class3_Sub13_Sub39.aByteArrayArray3461[--Class65.anInt984]; + Class3_Sub13_Sub39.aByteArrayArray3461[Class65.anInt984] = null; + return var2; + } else { + if(var0 < 55) { + method1806(-79); + } + + if(~var1 == -5001 && Class149.anInt1927 > 0) { + var2 = Class9.aByteArrayArray125[--Class149.anInt1927]; + Class9.aByteArrayArray125[Class149.anInt1927] = null; + return var2; + } else if(-30001 == ~var1 && 0 < Class3_Sub28_Sub18.anInt3766) { + var2 = Class140_Sub3.aByteArrayArray2747[--Class3_Sub28_Sub18.anInt3766]; + Class140_Sub3.aByteArrayArray2747[Class3_Sub28_Sub18.anInt3766] = null; + return var2; + } else { + return new byte[var1]; + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sh.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1808(int var0, boolean var1, byte var2, int var3, boolean var4) { + try { + Class41.method1047(var0, var3, Class3_Sub13_Sub16.aClass44_Sub1Array3201.length - 1, var4, 0, var1, false); + if(var2 != 30) { + aClass94_1760 = (RSString)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sh.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1809(int var0, long[] var1, int var2, int var3, Object[] var4) { + try { + if(var2 < 85) { + aClass61_1758 = (Class61)null; + } + + if(~var3 > ~var0) { + int var6 = var3; + int var5 = (var3 - -var0) / 2; + long var7 = var1[var5]; + var1[var5] = var1[var0]; + var1[var0] = var7; + Object var9 = var4[var5]; + var4[var5] = var4[var0]; + var4[var0] = var9; + + for(int var10 = var3; var0 > var10; ++var10) { + if(var7 + (long)(1 & var10) > var1[var10]) { + long var11 = var1[var10]; + var1[var10] = var1[var6]; + var1[var6] = var11; + Object var13 = var4[var10]; + var4[var10] = var4[var6]; + var4[var6++] = var13; + } + } + + var1[var0] = var1[var6]; + var1[var6] = var7; + var4[var0] = var4[var6]; + var4[var6] = var9; + method1809(-1 + var6, var1, 107, var3, var4); + method1809(var0, var1, 89, var6 - -1, var4); + } + + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "sh.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class135.java b/09HDscape-client/src/org/runite/jagex/Class135.java new file mode 100644 index 000000000..d390b51b8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class135.java @@ -0,0 +1,104 @@ +package org.runite.jagex; + +final class Class135 { + + private int anInt1767; + private Class116[] aClass116Array1768 = new Class116[10]; + private int anInt1769; + + + private final byte[] method1810() { + int var1 = 0; + + int var2; + for(var2 = 0; var2 < 10; ++var2) { + if(this.aClass116Array1768[var2] != null && this.aClass116Array1768[var2].anInt1586 + this.aClass116Array1768[var2].anInt1593 > var1) { + var1 = this.aClass116Array1768[var2].anInt1586 + this.aClass116Array1768[var2].anInt1593; + } + } + + if(var1 == 0) { + return new byte[0]; + } else { + var2 = 22050 * var1 / 1000; + byte[] var3 = new byte[var2]; + + for(int var4 = 0; var4 < 10; ++var4) { + if(this.aClass116Array1768[var4] != null) { + int var5 = this.aClass116Array1768[var4].anInt1586 * 22050 / 1000; + int var6 = this.aClass116Array1768[var4].anInt1593 * 22050 / 1000; + int[] var7 = this.aClass116Array1768[var4].method1717(var5, this.aClass116Array1768[var4].anInt1586); + + for(int var8 = 0; var8 < var5; ++var8) { + int var9 = var3[var8 + var6] + (var7[var8] >> 8); + if((var9 + 128 & -256) != 0) { + var9 = var9 >> 31 ^ 127; + } + + var3[var8 + var6] = (byte)var9; + } + } + } + + return var3; + } + } + + static final Class135 method1811(CacheIndex var0, int var1, int var2) { + byte[] var3 = var0.getFile(var1, (byte)-122, var2); + return var3 == null?null:new Class135(new RSByteBuffer(var3)); + } + + final Class3_Sub12_Sub1 method1812() { + byte[] var1 = this.method1810(); + return new Class3_Sub12_Sub1(22050, var1, 22050 * this.anInt1769 / 1000, 22050 * this.anInt1767 / 1000); + } + + final int method1813() { + int var1 = 9999999; + + int var2; + for(var2 = 0; var2 < 10; ++var2) { + if(this.aClass116Array1768[var2] != null && this.aClass116Array1768[var2].anInt1593 / 20 < var1) { + var1 = this.aClass116Array1768[var2].anInt1593 / 20; + } + } + + if(this.anInt1769 < this.anInt1767 && this.anInt1769 / 20 < var1) { + var1 = this.anInt1769 / 20; + } + + if(var1 != 9999999 && var1 != 0) { + for(var2 = 0; var2 < 10; ++var2) { + if(this.aClass116Array1768[var2] != null) { + this.aClass116Array1768[var2].anInt1593 -= var1 * 20; + } + } + + if(this.anInt1769 < this.anInt1767) { + this.anInt1769 -= var1 * 20; + this.anInt1767 -= var1 * 20; + } + + return var1; + } else { + return 0; + } + } + + private Class135(RSByteBuffer var1) { + for(int var2 = 0; var2 < 10; ++var2) { + int var3 = var1.getByte((byte)-48); + if(var3 != 0) { + --var1.index; + this.aClass116Array1768[var2] = new Class116(); + this.aClass116Array1768[var2].method1718(var1); + } + } + + this.anInt1769 = var1.getShort(1); + this.anInt1767 = var1.getShort(1); + } + + private Class135() {} +} diff --git a/09HDscape-client/src/org/runite/jagex/Class136.java b/09HDscape-client/src/org/runite/jagex/Class136.java new file mode 100644 index 000000000..1e3c62e67 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class136.java @@ -0,0 +1,125 @@ +package org.runite.jagex; + +final class Class136 { + + LDIndexedSprite aClass109_Sub1_1770; + static int anInt1771; + static Class93 aClass93_1772 = new Class93(64); + + static byte[][][] aByteArrayArrayArray1774; + private static RSString aClass94_1775 = RSString.createRSString("Connection lost)3"); + static int anInt1776; + GameObject aClass140_1777; + static Class64 aClass64_1778; + static short[] aShortArray1779 = new short[256]; + static RSString aClass94_1773 = aClass94_1775; + static int anInt1780; + + + static final void method1814(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + try { + int var11 = var2 - var4; + int var13 = -1; + if(~Class3_Sub28_Sub16.anInt3704 < -1) { + if(Class3_Sub28_Sub8.anInt3611 <= 10) { + var13 = 5 * Class3_Sub28_Sub8.anInt3611; + } else { + var13 = -((-10 + Class3_Sub28_Sub8.anInt3611) * 5) + 50; + } + } + + int var12 = -var9 + var1; + int var15 = 983040 / var8; + int var16 = 983040 / var3; + + for(int var17 = -var15; var17 < var11 - -var15; ++var17) { + int var18 = var5 - -(var17 * var8) >> 16; + int var19 = var8 * (var17 + 1) + var5 >> 16; + int var20 = -var18 + var19; + if(-1 > ~var20) { + int var21 = var4 + var17 >> 6; + var18 += var0; + int var10000 = var19 + var0; + if(~var21 <= -1 && var21 <= -1 + Class44.anIntArrayArrayArray720.length) { + int[][] var22 = Class44.anIntArrayArrayArray720[var21]; + + for(int var23 = -var16; var23 < var12 - -var16; ++var23) { + int var25 = var6 - -(var3 * (var23 - -1)) >> 16; + int var24 = var23 * var3 + var6 >> 16; + int var26 = var25 + -var24; + if(0 < var26) { + var24 += var10; + int var27 = var9 + var23 >> 6; + var10000 = var25 + var10; + if(~var27 <= -1 && ~var27 >= ~(-1 + var22.length) && null != var22[var27]) { + int var28 = (63 & var17 + var4) + (4032 & var9 + var23 << 6); + int var29 = var22[var27][var28]; + if(-1 != ~var29) { + ObjectDefinition var14 = Class162.getObjectDefinition(4, -1 + var29); + if(!Class3_Sub24_Sub4.aBooleanArray3503[var14.anInt1482]) { + if(~var13 != 0 && ~var14.anInt1482 == ~Class8.anInt101) { + Class3_Sub23 var30 = new Class3_Sub23(); + var30.anInt2531 = var18; + var30.anInt2539 = var24; + var30.anInt2532 = var14.anInt1482; + Class101.aClass61_1424.method1215(true, var30); + } else { + GameObject.aClass3_Sub28_Sub16_Sub2Array1839[var14.anInt1482].method643(var18 + -7, -7 + var24); + } + } + } + } + } + } + } + } + } + + if(var7 >= 124) { + for(Class3_Sub23 var32 = (Class3_Sub23)Class101.aClass61_1424.method1222(); null != var32; var32 = (Class3_Sub23)Class101.aClass61_1424.method1221()) { + Class74.method1330(var32.anInt2531, var32.anInt2539, 15, 16776960, var13); + Class74.method1330(var32.anInt2531, var32.anInt2539, 13, 16776960, var13); + Class74.method1330(var32.anInt2531, var32.anInt2539, 11, 16776960, var13); + Class74.method1330(var32.anInt2531, var32.anInt2539, 9, 16776960, var13); + GameObject.aClass3_Sub28_Sub16_Sub2Array1839[var32.anInt2532].method643(-7 + var32.anInt2531, -7 + var32.anInt2539); + } + + Class101.aClass61_1424.method1211(-76); + } + } catch (RuntimeException var31) { + throw Class44.method1067(var31, "sm.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + public static void method1815(byte var0) { + try { + aShortArray1779 = null; + aClass93_1772 = null; + aClass64_1778 = null; + if(var0 > -33) { + method1816(-10, 68); + } + + aClass94_1773 = null; + aByteArrayArrayArray1774 = (byte[][][])null; + aClass94_1775 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sm.A(" + var0 + ')'); + } + } + + static final void method1816(int var0, int var1) { + try { + if(var1 == -7) { + Class129_Sub1.anIntArray2696 = new int[var0]; + Class159.anIntArray2021 = new int[var0]; + AnimationDefinition.anIntArray1871 = new int[var0]; + Player.anIntArray3959 = new int[var0]; + Class41.anIntArray686 = new int[var0]; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sm.C(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class137.java b/09HDscape-client/src/org/runite/jagex/Class137.java new file mode 100644 index 000000000..c761c6774 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class137.java @@ -0,0 +1,84 @@ +package org.runite.jagex; + +final class Class137 { + + static int anInt1781; + static RSString aClass94_1782 = RSString.createRSString("Prendre"); + static RSString aClass94_1783 = RSString.createRSString(" de votre liste d(Wamis)3"); + static boolean aBoolean1784 = false; + + + static final int method1817(byte var0) { + try { + if(var0 != 70) { + method1818(true); + } + + return !Class73.aBoolean1084?(!NPC.method1986(var0 ^ 28)?1:(Class3_Sub28_Sub7.aBoolean3604?2:1)):0; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tc.B(" + var0 + ')'); + } + } + + public static void method1818(boolean var0) { + try { + aClass94_1782 = null; + if(var0) { + aClass94_1783 = (RSString)null; + } + + aClass94_1783 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tc.C(" + var0 + ')'); + } + } + + static final void method1819(int var0, int var1, RSInterface var2, byte var3, int var4, int var5, int var6, int var7) { + try { + if(var3 >= -89) { + method1818(true); + } + + if(!Class158_Sub1.aBoolean2981) { + Class19.anInt433 = 0; + } else { + Class19.anInt433 = 32; + } + + Class158_Sub1.aBoolean2981 = false; + int var8; + if(~Class3_Sub13_Sub5.anInt3069 != -1) { + if(~var5 >= ~var4 && ~(var5 + 16) < ~var4 && var0 >= var6 && var6 - -16 > var0) { + var2.anInt208 -= 4; + Class20.method909(113, var2); + } else if(var4 >= var5 && ~var4 > ~(16 + var5) && ~var0 <= ~(var1 + (var6 - 16)) && ~(var1 + var6) < ~var0) { + var2.anInt208 += 4; + Class20.method909(112, var2); + } else if(~var4 <= ~(var5 - Class19.anInt433) && var4 < var5 + 16 + Class19.anInt433 && var0 >= 16 + var6 && var1 + var6 - 16 > var0) { + var8 = var1 * (-32 + var1) / var7; + if(8 > var8) { + var8 = 8; + } + + int var10 = -32 + (var1 - var8); + int var9 = -(var8 / 2) + -16 + -var6 + var0; + var2.anInt208 = (-var1 + var7) * var9 / var10; + Class20.method909(-48, var2); + Class158_Sub1.aBoolean2981 = true; + } + } + + if(~Class29.anInt561 != -1) { + var8 = var2.anInt168; + if(~(-var8 + var5) >= ~var4 && ~var6 >= ~var0 && var4 < 16 + var5 && var1 + var6 >= var0) { + var2.anInt208 += 45 * Class29.anInt561; + Class20.method909(-116, var2); + } + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "tc.A(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class139.java b/09HDscape-client/src/org/runite/jagex/Class139.java new file mode 100644 index 000000000..4ae101171 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class139.java @@ -0,0 +1,33 @@ +package org.runite.jagex; +import java.awt.FontMetrics; + +final class Class139 { + + static FontMetrics aFontMetrics1822; + static int anInt1823; + static int anInt1824; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array1825; + static RSString aClass94_1826 = RSString.createRSString(""); + static boolean aBoolean1827; + static byte[][][] aByteArrayArrayArray1828; + static int anInt1829 = 0; + static RSString aClass94_1830 = RSString.createRSString("::pcachesize"); + + + public static void method1858(int var0) { + try { + aClass94_1830 = null; + aByteArrayArrayArray1828 = (byte[][][])null; + aFontMetrics1822 = null; + aClass94_1826 = null; + if(var0 != -17124) { + aFontMetrics1822 = (FontMetrics)null; + } + + aClass3_Sub28_Sub16Array1825 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tg.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class14.java b/09HDscape-client/src/org/runite/jagex/Class14.java new file mode 100644 index 000000000..e019dae76 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class14.java @@ -0,0 +1,114 @@ +package org.runite.jagex; + +final class Class14 { + + static int anInt336; + static boolean aBoolean337; + static RSString aClass94_338 = RSString.createRSString("Ablegen"); + static RSString aClass94_339 = RSString.createRSString("1"); + static int anInt340 = 127; + static RSString aClass94_341 = RSString.createRSString(")3"); + + + private static final LDIndexedSprite[] method885(boolean var0, int var1, CacheIndex var2, int var3) { + try { + if(!var0) { + aClass94_338 = (RSString)null; + } + // System.out.println("Class 14 " + var1); + return !Class75_Sub4.method1351(var2, var3, var1, -30901)?null:Class69.method1281(0); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "cg.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method886(byte var0) { + try { + if(var0 < 26) { + aClass94_339 = (RSString)null; + } + + aClass94_338 = null; + aClass94_339 = null; + aClass94_341 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cg.B(" + var0 + ')'); + } + } + + static final void method887(int var0, CacheIndex var1) { + try { + Class102.aClass3_Sub28_Sub16_Sub2Array2140 = Class157.method2176(0, 32767, Class168.anInt2104, var1); + Class75_Sub3.aClass3_Sub28_Sub16Array2656 = Class140_Sub6.getSprites(0, (byte)11, Class3_Sub13_Sub23_Sub1.hitMarkIndex, var1); + Class66.aClass3_Sub28_Sub16Array996 = Class140_Sub6.getSprites(0, (byte)11, Client.anInt2195, var1); + Class3_Sub13_Sub31.aClass3_Sub28_Sub16Array3373 = Class140_Sub6.getSprites(0, (byte)11, Node.anInt2575, var1); + NPC.aClass3_Sub28_Sub16Array3977 = Class140_Sub6.getSprites(0, (byte)11, RenderAnimationDefinition.anInt380, var1); + Class166.aClass3_Sub28_Sub16Array2072 = Class140_Sub6.getSprites(0, (byte)11, Class3_Sub13_Sub29.anInt3356, var1); + Class129_Sub1.aClass3_Sub28_Sub16Array2690 = Class140_Sub6.getSprites(0, (byte)11, Class129_Sub1.anInt2689, var1); + Class45.aClass3_Sub28_Sub16_736 = Class3_Sub28_Sub11.method602(0, Class3_Sub13_Sub4.anInt3061, (byte)-18, var1); + Class139.aClass3_Sub28_Sub16Array1825 = Class3_Sub13_Sub23_Sub1.method286(var0 ^ -22, 0, Class75_Sub1.anInt2633, var1); + Class80.aClass3_Sub28_Sub16Array1136 = Class3_Sub13_Sub23_Sub1.method286(-1, 0, Class40.anInt678, var1); + GameObject.aClass109Array1831 = Class85.method1424(var1, (byte)-12, 0, Class3_Sub15.anInt2436); + Class3_Sub13_Sub22.aClass109Array3270 = Class85.method1424(var1, (byte)-12, 0, Class3_Sub28_Sub18.anInt3757); + Class3_Sub13.aClass3_Sub28_Sub17_2379.method697(Class3_Sub13_Sub22.aClass109Array3270, (int[])null); + Class126.aClass3_Sub28_Sub17_1669.method697(Class3_Sub13_Sub22.aClass109Array3270, (int[])null); + Class168.aClass3_Sub28_Sub17_2096.method697(Class3_Sub13_Sub22.aClass109Array3270, (int[])null); + if(HDToolKit.highDetail) { + Class141.aClass109_Sub1Array1843 = method885(true, Class45.anInt735, var1, 0); + + for(int var2 = 0; ~Class141.aClass109_Sub1Array1843.length < ~var2; ++var2) { + Class141.aClass109_Sub1Array1843[var2].method1675(); + } + } + + Class3_Sub28_Sub16_Sub2 var10 = Class40.method1043(0, var1, var0 + -3199, Class93.anInt1325); + var10.method665(); + if(HDToolKit.highDetail) { + Class57.aClass3_Sub28_Sub16_895 = new Class3_Sub28_Sub16_Sub1(var10); + } else { + Class57.aClass3_Sub28_Sub16_895 = var10; + } + + Class3_Sub28_Sub16_Sub2[] var3 = Class157.method2176(0, 32767, Class3_Sub18.anInt2471, var1); + + int var4; + for(var4 = 0; ~var4 > ~var3.length; ++var4) { + var3[var4].method665(); + } + + if(!HDToolKit.highDetail) { + Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458 = var3; + } else { + Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458 = new Class3_Sub28_Sub16[var3.length]; + + for(var4 = 0; var4 < var3.length; ++var4) { + Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458[var4] = new Class3_Sub28_Sub16_Sub1(var3[var4]); + } + } + + int var5 = (int)((double)var0 * Math.random()) - 10; + var4 = (int)(21.0D * Math.random()) - 10; + int var6 = -10 + (int)(21.0D * Math.random()); + int var7 = -20 + (int)(Math.random() * 41.0D); + + int var8; + for(var8 = 0; var8 < Class102.aClass3_Sub28_Sub16_Sub2Array2140.length; ++var8) { + Class102.aClass3_Sub28_Sub16_Sub2Array2140[var8].method669(var4 + var7, var7 + var5, var7 + var6); + } + + if(!HDToolKit.highDetail) { + Class140_Sub4.aClass3_Sub28_Sub16Array2839 = Class102.aClass3_Sub28_Sub16_Sub2Array2140; + } else { + Class140_Sub4.aClass3_Sub28_Sub16Array2839 = new Class3_Sub28_Sub16[Class102.aClass3_Sub28_Sub16_Sub2Array2140.length]; + + for(var8 = 0; ~Class102.aClass3_Sub28_Sub16_Sub2Array2140.length < ~var8; ++var8) { + Class140_Sub4.aClass3_Sub28_Sub16Array2839[var8] = new Class3_Sub28_Sub16_Sub1(Class102.aClass3_Sub28_Sub16_Sub2Array2140[var8]); + } + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "cg.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub1.java new file mode 100644 index 000000000..23de2e7ed --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub1.java @@ -0,0 +1,3740 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class140_Sub1_Sub1 extends Model { + + private short[] aShortArray3808; + boolean aBoolean3809 = false; + private short[] aShortArray3810; + private short[] aShortArray3811; + private Class156 aClass156_3812; + private short[] aShortArray3813; + private Class121 aClass121_3814; + private Class121 aClass121_3815; + private byte[] aByteArray3816; + private Class121 aClass121_3817; + private static RSByteBuffer aClass3_Sub30_3818 = new RSByteBuffer(10000); + private short aShort3819; + private byte[] aByteArray3820; + private static long[] aLongArray3821; + int[] anIntArray3822; + int anInt3823 = 0; + private float[] aFloatArray3824; + private int[][] anIntArrayArray3825; + private short[] aShortArray3826; + private short[] aShortArray3827; + private short[] aShortArray3828; + private int[][] anIntArrayArray3829; + private short[] aShortArray3830; + private short[] aShortArray3831; + private short[] aShortArray3832; + private int anInt3833 = 0; + private static ByteBuffer aByteBuffer3834; + Class6 aClass6_3835; + private byte aByte3836 = 0; + private short[] aShortArray3837; + private int[] anIntArray3838; + Class121 aClass121_3839; + private int[] anIntArray3840; + private short[] aShortArray3841; + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3842 = new Class140_Sub1_Sub1(); + private Class18 aClass18_3843; + private int[] anIntArray3844; + int[] anIntArray3845; + private Class121 aClass121_3846; + private float[] aFloatArray3847; + int[] anIntArray3848; + private short aShort3849; + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3850 = new Class140_Sub1_Sub1(); + private byte aByte3851 = 0; + private int anInt3852 = 0; + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3853 = new Class140_Sub1_Sub1(); + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3854 = new Class140_Sub1_Sub1(); + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3855 = new Class140_Sub1_Sub1(); + private static Class140_Sub1_Sub1 aClass140_Sub1_Sub1_3856 = new Class140_Sub1_Sub1(); + private static int[] anIntArray3857 = new int[1]; + private static float aFloat3858; + private static int anInt3859; + private static float aFloat3860; + private static int[] anIntArray3861 = new int[1]; + private static int anInt3862; + private static float aFloat3863; + private static float aFloat3864; + private static int anInt3865; + private static float aFloat3866; + private static float aFloat3867; + private static boolean aBoolean3868 = false; + + + private static final int method1901(float var0, float var1, float var2) { + float var3 = var0 < 0.0F?-var0:var0; + float var4 = var1 < 0.0F?-var1:var1; + float var5 = var2 < 0.0F?-var2:var2; + return var4 > var3 && var4 > var5?(var1 > 0.0F?0:1):(var5 > var3 && var5 > var4?(var2 > 0.0F?2:3):(var0 > 0.0F?4:5)); + } + + final Model method1882(boolean var1, boolean var2, boolean var3) { + return this.method1923(var1, var2, var3, aClass140_Sub1_Sub1_3854, aClass140_Sub1_Sub1_3853); + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + if(this.anInt3833 != 0) { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + short var13 = this.aClass6_3835.aShort93; + short var14 = this.aClass6_3835.aShort91; + short var15 = this.aClass6_3835.aShort92; + int var16 = var8 * var5 - var6 * var4 >> 16; + int var17 = var7 * var2 + var16 * var3 >> 16; + int var18 = var17 + (var13 * var3 + var15 * var2 >> 16); + if(var18 > 50) { + int var19 = var17 + (-var13 * var3 + var14 * var2 >> 16); + if(var19 < 3584) { + int var20 = var8 * var4 + var6 * var5 >> 16; + int var21 = var20 + var13 << 9; + if(var21 / var18 > Class139.anInt1824) { + int var22 = var20 - var13 << 9; + if(var22 / var18 < Class145.anInt1898) { + int var23 = var7 * var3 - var16 * var2 >> 16; + int var24 = var23 + (var13 * var2 + var15 * var3 >> 16) << 9; + if(var24 / var18 > Class1.anInt55) { + int var25 = var23 + (-var13 * var2 + var14 * var3 >> 16) << 9; + if(var25 / var18 < Class86.anInt1195) { + int var26 = 0; + int var27 = 0; + if(var1 != 0) { + var26 = Class51.anIntArray840[var1]; + var27 = Class51.anIntArray851[var1]; + } + + if(var9 > 0L && Class3_Sub13_Sub7.aBoolean3094 && var19 > 0) { + int var28; + int var30; + if(var20 > 0) { + var28 = var22 / var18; + var30 = var21 / var19; + } else { + var28 = var22 / var19; + var30 = var21 / var18; + } + + int var29; + int var31; + if(var23 > 0) { + var29 = var25 / var18; + var31 = var24 / var19; + } else { + var29 = var25 / var19; + var31 = var24 / var18; + } + + if(Class3_Sub28_Sub11.anInt3642 >= var28 && Class3_Sub28_Sub11.anInt3642 <= var30 && RenderAnimationDefinition.anInt384 >= var29 && RenderAnimationDefinition.anInt384 <= var31) { + var28 = 999999; + var30 = -999999; + var29 = 999999; + var31 = -999999; + short var32 = this.aClass6_3835.aShort95; + short var33 = this.aClass6_3835.aShort94; + short var34 = this.aClass6_3835.aShort97; + short var35 = this.aClass6_3835.aShort96; + int[] var36 = new int[]{var32, var33, var32, var33, var32, var33, var32, var33}; + int[] var37 = new int[]{var34, var34, var35, var35, var34, var34, var35, var35}; + int[] var38 = new int[]{var14, var14, var14, var14, var15, var15, var15, var15}; + + int var39; + int var42; + int var43; + int var40; + int var41; + int var44; + int var45; + for(var39 = 0; var39 < 8; ++var39) { + var40 = var36[var39]; + var41 = var38[var39]; + var42 = var37[var39]; + if(var1 != 0) { + var43 = var42 * var26 + var40 * var27 >> 16; + var42 = var42 * var27 - var40 * var26 >> 16; + var40 = var43; + } + + var40 += var6; + var41 += var7; + var42 += var8; + var43 = var42 * var4 + var40 * var5 >> 16; + var42 = var42 * var5 - var40 * var4 >> 16; + var40 = var43; + var43 = var41 * var3 - var42 * var2 >> 16; + var42 = var41 * var2 + var42 * var3 >> 16; + if(var42 > 0) { + var44 = (var40 << 9) / var42; + var45 = (var43 << 9) / var42; + if(var44 < var28) { + var28 = var44; + } + + if(var44 > var30) { + var30 = var44; + } + + if(var45 < var29) { + var29 = var45; + } + + if(var45 > var31) { + var31 = var45; + } + } + } + + if(Class3_Sub28_Sub11.anInt3642 >= var28 && Class3_Sub28_Sub11.anInt3642 <= var30 && RenderAnimationDefinition.anInt384 >= var29 && RenderAnimationDefinition.anInt384 <= var31) { + if(this.aBoolean2699) { + Class3_Sub13_Sub38.aLongArray3448[Class2.anInt59++] = var9; + } else { + if(anIntArray3861.length < this.anInt3833) { + anIntArray3861 = new int[this.anInt3833]; + anIntArray3857 = new int[this.anInt3833]; + } + + var39 = 0; + + label118: + while(true) { + if(var39 >= this.anInt3823) { + var39 = 0; + + while(true) { + if(var39 >= this.anInt3852) { + break label118; + } + + short var53 = this.aShortArray3811[var39]; + short var52 = this.aShortArray3830[var39]; + short var51 = this.aShortArray3831[var39]; + if(this.method1927(Class3_Sub28_Sub11.anInt3642, RenderAnimationDefinition.anInt384, anIntArray3857[var53], anIntArray3857[var52], anIntArray3857[var51], anIntArray3861[var53], anIntArray3861[var52], anIntArray3861[var51])) { + Class3_Sub13_Sub38.aLongArray3448[Class2.anInt59++] = var9; + break label118; + } + + ++var39; + } + } + + var40 = this.anIntArray3822[var39]; + var41 = this.anIntArray3845[var39]; + var42 = this.anIntArray3848[var39]; + if(var1 != 0) { + var43 = var42 * var26 + var40 * var27 >> 16; + var42 = var42 * var27 - var40 * var26 >> 16; + var40 = var43; + } + + var40 += var6; + var41 += var7; + var42 += var8; + var43 = var42 * var4 + var40 * var5 >> 16; + var42 = var42 * var5 - var40 * var4 >> 16; + var40 = var43; + var43 = var41 * var3 - var42 * var2 >> 16; + var42 = var41 * var2 + var42 * var3 >> 16; + if(var42 < 50) { + break; + } + + var44 = (var40 << 9) / var42; + var45 = (var43 << 9) / var42; + int var46 = this.anIntArray3838[var39]; + int var47 = this.anIntArray3838[var39 + 1]; + + for(int var48 = var46; var48 < var47; ++var48) { + int var49 = this.aShortArray3828[var48] - 1; + if(var49 == -1) { + break; + } + + anIntArray3861[var49] = var44; + anIntArray3857[var49] = var45; + } + + ++var39; + } + } + } + } + } + + GL var50 = HDToolKit.gl; + var50.glPushMatrix(); + var50.glTranslatef((float)var6, (float)var7, (float)var8); + var50.glRotatef((float)var1 * 0.17578125F, 0.0F, 1.0F, 0.0F); + this.method1930(); + var50.glRotatef((float)(-var1) * 0.17578125F, 0.0F, 1.0F, 0.0F); + var50.glTranslatef((float)(-var6), (float)(-var7), (float)(-var8)); + var50.glPopMatrix(); + } + } + } + } + } + } + } + } + + final void method1902() { + if(this.aShortArray3810 == null) { + this.method1900(); + } else { + int var1; + for(var1 = 0; var1 < this.anInt3823; ++var1) { + int var2 = this.anIntArray3848[var1]; + this.anIntArray3848[var1] = this.anIntArray3822[var1]; + this.anIntArray3822[var1] = -var2; + } + + for(var1 = 0; var1 < this.anInt3833; ++var1) { + short var3 = this.aShortArray3837[var1]; + this.aShortArray3837[var1] = this.aShortArray3810[var1]; + this.aShortArray3810[var1] = (short)(-var3); + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + } + } + + final int method1903() { + return this.aShort3849; + } + + final void method1886(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3823; ++var4) { + int var5 = this.anIntArray3845[var4] * var2 + this.anIntArray3822[var4] * var3 >> 16; + this.anIntArray3845[var4] = this.anIntArray3845[var4] * var3 - this.anIntArray3822[var4] * var2 >> 16; + this.anIntArray3822[var4] = var5; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final int method1883() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort94; + } + + final int method1872() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort96; + } + + final boolean method1865() { + return this.aBoolean3809 && this.anIntArray3822 != null && this.aShortArray3810 != null; + } + + final int method1898() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort97; + } + + final void method1897(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt3823; ++var4) { + this.anIntArray3822[var4] += var1; + this.anIntArray3845[var4] += var2; + this.anIntArray3848[var4] += var3; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final Model method1890(boolean var1, boolean var2, boolean var3) { + return this.method1923(var1, var2, var3, aClass140_Sub1_Sub1_3856, aClass140_Sub1_Sub1_3855); + } + + private static final void method1904(int var0, int var1, int var2, int var3, int var4, int var5, float[] var6, float var7, int var8, float var9) { + var0 -= var3; + var1 -= var4; + var2 -= var5; + float var10 = (float)var0 * var6[0] + (float)var1 * var6[1] + (float)var2 * var6[2]; + float var11 = (float)var0 * var6[3] + (float)var1 * var6[4] + (float)var2 * var6[5]; + float var12 = (float)var0 * var6[6] + (float)var1 * var6[7] + (float)var2 * var6[8]; + float var13 = (float)Math.atan2((double)var10, (double)var12) / 6.2831855F + 0.5F; + if(var7 != 1.0F) { + var13 *= var7; + } + + float var14 = var11 + 0.5F + var9; + float var15; + if(var8 == 1) { + var15 = var13; + var13 = -var14; + var14 = var15; + } else if(var8 == 2) { + var13 = -var13; + var14 = -var14; + } else if(var8 == 3) { + var15 = var13; + var13 = var14; + var14 = -var15; + } + + aFloat3863 = var13; + aFloat3866 = var14; + } + + final void method1866(GameObject var1, int var2, int var3, int var4, boolean var5) { + Class140_Sub1_Sub1 var6 = (Class140_Sub1_Sub1)var1; + if(this.anInt3852 != 0 && var6.anInt3852 != 0) { + int var7 = var6.anInt3823; + int[] var8 = var6.anIntArray3822; + int[] var9 = var6.anIntArray3845; + int[] var10 = var6.anIntArray3848; + short[] var11 = var6.aShortArray3810; + short[] var12 = var6.aShortArray3826; + short[] var13 = var6.aShortArray3837; + short[] var14 = var6.aShortArray3841; + short[] var15; + short[] var17; + short[] var16; + short[] var18; + if(this.aClass18_3843 != null) { + var15 = this.aClass18_3843.aShortArray417; + var16 = this.aClass18_3843.aShortArray419; + var17 = this.aClass18_3843.aShortArray418; + var18 = this.aClass18_3843.aShortArray416; + } else { + var15 = null; + var16 = null; + var17 = null; + var18 = null; + } + + short[] var19; + short[] var21; + short[] var20; + short[] var22; + if(var6.aClass18_3843 != null) { + var19 = var6.aClass18_3843.aShortArray417; + var20 = var6.aClass18_3843.aShortArray419; + var21 = var6.aClass18_3843.aShortArray418; + var22 = var6.aClass18_3843.aShortArray416; + } else { + var19 = null; + var20 = null; + var21 = null; + var22 = null; + } + + int[] var23 = var6.anIntArray3838; + short[] var24 = var6.aShortArray3828; + if(!var6.aClass6_3835.aBoolean98) { + var6.method1917(); + } + + short var25 = var6.aClass6_3835.aShort91; + short var26 = var6.aClass6_3835.aShort92; + short var27 = var6.aClass6_3835.aShort95; + short var28 = var6.aClass6_3835.aShort94; + short var29 = var6.aClass6_3835.aShort97; + short var30 = var6.aClass6_3835.aShort96; + + for(int var31 = 0; var31 < this.anInt3823; ++var31) { + int var32 = this.anIntArray3845[var31] - var3; + if(var32 >= var25 && var32 <= var26) { + int var33 = this.anIntArray3822[var31] - var2; + if(var33 >= var27 && var33 <= var28) { + int var34 = this.anIntArray3848[var31] - var4; + if(var34 >= var29 && var34 <= var30) { + int var35 = -1; + int var36 = this.anIntArray3838[var31]; + int var37 = this.anIntArray3838[var31 + 1]; + + int var38; + for(var38 = var36; var38 < var37; ++var38) { + var35 = this.aShortArray3828[var38] - 1; + if(var35 == -1 || this.aShortArray3841[var35] != 0) { + break; + } + } + + if(var35 != -1) { + for(var38 = 0; var38 < var7; ++var38) { + if(var33 == var8[var38] && var34 == var10[var38] && var32 == var9[var38]) { + int var39 = -1; + var36 = var23[var38]; + var37 = var23[var38 + 1]; + + for(int var40 = var36; var40 < var37; ++var40) { + var39 = var24[var40] - 1; + if(var39 == -1 || var14[var39] != 0) { + break; + } + } + + if(var39 != -1) { + if(var15 == null) { + this.aClass18_3843 = new Class18(); + var15 = this.aClass18_3843.aShortArray417 = OutputStream_Sub1.method65(23032, this.aShortArray3810); + var16 = this.aClass18_3843.aShortArray419 = OutputStream_Sub1.method65(23032, this.aShortArray3826); + var17 = this.aClass18_3843.aShortArray418 = OutputStream_Sub1.method65(23032, this.aShortArray3837); + var18 = this.aClass18_3843.aShortArray416 = OutputStream_Sub1.method65(23032, this.aShortArray3841); + } + + if(var19 == null) { + Class18 var47 = var6.aClass18_3843 = new Class18(); + var19 = var47.aShortArray417 = OutputStream_Sub1.method65(23032, var11); + var20 = var47.aShortArray419 = OutputStream_Sub1.method65(23032, var12); + var21 = var47.aShortArray418 = OutputStream_Sub1.method65(23032, var13); + var22 = var47.aShortArray416 = OutputStream_Sub1.method65(23032, var14); + } + + short var46 = this.aShortArray3810[var35]; + short var41 = this.aShortArray3826[var35]; + short var42 = this.aShortArray3837[var35]; + short var43 = this.aShortArray3841[var35]; + var36 = var23[var38]; + var37 = var23[var38 + 1]; + + int var44; + int var45; + for(var44 = var36; var44 < var37; ++var44) { + var45 = var24[var44] - 1; + if(var45 == -1) { + break; + } + + if(var22[var45] != 0) { + var19[var45] += var46; + var20[var45] += var41; + var21[var45] += var42; + var22[var45] += var43; + } + } + + var46 = var11[var39]; + var41 = var12[var39]; + var42 = var13[var39]; + var43 = var14[var39]; + var36 = this.anIntArray3838[var31]; + var37 = this.anIntArray3838[var31 + 1]; + + for(var44 = var36; var44 < var37; ++var44) { + var45 = this.aShortArray3828[var44] - 1; + if(var45 == -1) { + break; + } + + if(var18[var45] != 0) { + var15[var45] += var46; + var16[var45] += var41; + var17[var45] += var42; + var18[var45] += var43; + } + } + } + } + } + } + } + } + } + } + + } + } + + final void method1893(int var1, int var2, int var3, int var4, int var5, int var6, int var7, long var8) { + if(this.anInt3833 != 0) { + GL var10 = HDToolKit.gl; + var10.glPushMatrix(); + if(var4 != 0) { + var10.glRotatef((float)var4 * 0.17578125F, 1.0F, 0.0F, 0.0F); + } + + var10.glTranslatef((float)var5, (float)var6, (float)var7); + if(var2 != 0) { + var10.glRotatef((float)var2 * 0.17578125F, 0.0F, 1.0F, 0.0F); + } + + if(var1 != 0) { + var10.glRotatef((float)var1 * 0.17578125F, 1.0F, 0.0F, 0.0F); + } + + if(var3 != 0) { + var10.glRotatef((float)(-var3) * 0.17578125F, 0.0F, 0.0F, 1.0F); + } + + this.method1930(); + var10.glPopMatrix(); + } + } + + private static final int method1905(int var0, short var1, int var2, byte var3) { + int var4 = Class51.anIntArray834[Class140_Sub1_Sub2.method1940(var0, var2)]; + if(var1 != -1) { + int var5 = Class51.anInterface2_838.method19(93, var1 & '\uffff'); + int var6; + int var8; + if(var5 != 0) { + if(var2 < 0) { + var6 = 0; + } else if(var2 > 127) { + var6 = 16777215; + } else { + var6 = 131586 * var2; + } + + if(var5 == 256) { + var4 = var6; + } else { + var8 = 256 - var5; + var4 = ((var6 & 16711935) * var5 + (var4 & 16711935) * var8 & -16711936) + ((var6 & '\uff00') * var5 + (var4 & '\uff00') * var8 & 16711680) >> 8; + } + } + + var6 = Class51.anInterface2_838.method10(90, var1 & '\uffff'); + if(var6 != 0) { + var6 += 256; + int var7 = ((var4 & 16711680) >> 16) * var6; + if(var7 > '\uffff') { + var7 = '\uffff'; + } + + var8 = ((var4 & '\uff00') >> 8) * var6; + if(var8 > '\uffff') { + var8 = '\uffff'; + } + + int var9 = (var4 & 255) * var6; + if(var9 > '\uffff') { + var9 = '\uffff'; + } + + var4 = (var7 << 8 & 16711680) + (var8 & '\uff00') + (var9 >> 8); + } + } + + return (var4 << 8) + (255 - (var3 & 255)); + } + + private static final float[] method1906(int var0, int var1, int var2, int var3, float var4, float var5, float var6) { + float[] var7 = new float[9]; + float[] var8 = new float[9]; + float var9 = (float)Math.cos((double)((float)var3 * 0.024543693F)); + float var10 = (float)Math.sin((double)((float)var3 * 0.024543693F)); + float var11 = 1.0F - var9; + var7[0] = var9; + var7[1] = 0.0F; + var7[2] = var10; + var7[3] = 0.0F; + var7[4] = 1.0F; + var7[5] = 0.0F; + var7[6] = -var10; + var7[7] = 0.0F; + var7[8] = var9; + float[] var12 = new float[9]; + float var13 = 1.0F; + float var14 = 0.0F; + var9 = (float)var1 / 32767.0F; + var10 = -((float)Math.sqrt((double)(1.0F - var9 * var9))); + var11 = 1.0F - var9; + float var15 = (float)Math.sqrt((double)(var0 * var0 + var2 * var2)); + if(var15 == 0.0F && var9 == 0.0F) { + var8 = var7; + } else { + if(var15 != 0.0F) { + var13 = (float)(-var2) / var15; + var14 = (float)var0 / var15; + } + + var12[0] = var9 + var13 * var13 * var11; + var12[1] = var14 * var10; + var12[2] = var14 * var13 * var11; + var12[3] = -var14 * var10; + var12[4] = var9; + var12[5] = var13 * var10; + var12[6] = var13 * var14 * var11; + var12[7] = -var13 * var10; + var12[8] = var9 + var14 * var14 * var11; + var8[0] = var7[0] * var12[0] + var7[1] * var12[3] + var7[2] * var12[6]; + var8[1] = var7[0] * var12[1] + var7[1] * var12[4] + var7[2] * var12[7]; + var8[2] = var7[0] * var12[2] + var7[1] * var12[5] + var7[2] * var12[8]; + var8[3] = var7[3] * var12[0] + var7[4] * var12[3] + var7[5] * var12[6]; + var8[4] = var7[3] * var12[1] + var7[4] * var12[4] + var7[5] * var12[7]; + var8[5] = var7[3] * var12[2] + var7[4] * var12[5] + var7[5] * var12[8]; + var8[6] = var7[6] * var12[0] + var7[7] * var12[3] + var7[8] * var12[6]; + var8[7] = var7[6] * var12[1] + var7[7] * var12[4] + var7[8] * var12[7]; + var8[8] = var7[6] * var12[2] + var7[7] * var12[5] + var7[8] * var12[8]; + } + + var8[0] *= var4; + var8[1] *= var4; + var8[2] *= var4; + var8[3] *= var5; + var8[4] *= var5; + var8[5] *= var5; + var8[6] *= var6; + var8[7] *= var6; + var8[8] *= var6; + return var8; + } + + private final short method1907(Model_Sub1 var1, int var2, long var3, int var5, int var6, int var7, int var8, float var9, float var10) { + int var11 = this.anIntArray3838[var2]; + int var12 = this.anIntArray3838[var2 + 1]; + int var13 = 0; + + for(int var14 = var11; var14 < var12; ++var14) { + short var15 = this.aShortArray3828[var14]; + if(var15 == 0) { + var13 = var14; + break; + } + + if(aLongArray3821[var14] == var3) { + return (short)(var15 - 1); + } + } + + this.aShortArray3828[var13] = (short)(this.anInt3833 + 1); + aLongArray3821[var13] = var3; + this.aShortArray3810[this.anInt3833] = (short)var5; + this.aShortArray3826[this.anInt3833] = (short)var6; + this.aShortArray3837[this.anInt3833] = (short)var7; + this.aShortArray3841[this.anInt3833] = (short)var8; + this.aFloatArray3824[this.anInt3833] = var9; + this.aFloatArray3847[this.anInt3833] = var10; + return (short)(this.anInt3833++); + } + + final void method1876(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3823; ++var4) { + int var5 = this.anIntArray3848[var4] * var2 + this.anIntArray3822[var4] * var3 >> 16; + this.anIntArray3848[var4] = this.anIntArray3848[var4] * var3 - this.anIntArray3822[var4] * var2 >> 16; + this.anIntArray3822[var4] = var5; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final void method1899(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8) { + int var9 = var2.length; + int var10; + int var11; + int var14; + int var15; + int var47; + if(var1 == 0) { + var3 <<= 4; + var4 <<= 4; + var5 <<= 4; + var10 = 0; + anInt3859 = 0; + anInt3865 = 0; + anInt3862 = 0; + + for(var11 = 0; var11 < var9; ++var11) { + var47 = var2[var11]; + if(var47 < this.anIntArrayArray3825.length) { + int[] var48 = this.anIntArrayArray3825[var47]; + + for(var14 = 0; var14 < var48.length; ++var14) { + var15 = var48[var14]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var15]) != 0) { + anInt3859 += this.anIntArray3822[var15]; + anInt3865 += this.anIntArray3845[var15]; + anInt3862 += this.anIntArray3848[var15]; + ++var10; + } + } + } + } + + if(var10 > 0) { + anInt3859 = anInt3859 / var10 + var3; + anInt3865 = anInt3865 / var10 + var4; + anInt3862 = anInt3862 / var10 + var5; + aBoolean3868 = true; + } else { + anInt3859 = var3; + anInt3865 = var4; + anInt3862 = var5; + } + + } else { + int[] var12; + int var13; + if(var1 == 1) { + if(var8 != null) { + var10 = var8[0] * var3 + var8[1] * var4 + var8[2] * var5 + 16384 >> 15; + var11 = var8[3] * var3 + var8[4] * var4 + var8[5] * var5 + 16384 >> 15; + var47 = var8[6] * var3 + var8[7] * var4 + var8[8] * var5 + 16384 >> 15; + var3 = var10; + var4 = var11; + var5 = var47; + } + + var3 <<= 4; + var4 <<= 4; + var5 <<= 4; + + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3825.length) { + var12 = this.anIntArrayArray3825[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var14]) != 0) { + this.anIntArray3822[var14] += var3; + this.anIntArray3845[var14] += var4; + this.anIntArray3848[var14] += var5; + } + } + } + } + + } else { + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + int var24; + int var27; + int var26; + int var28; + int var30; + int var34; + int[] var35; + int var32; + int var33; + int var38; + int var39; + int var36; + int var37; + int var40; + if(var1 == 2) { + if(var8 != null) { + var10 = var8[9] << 4; + var11 = var8[10] << 4; + var47 = var8[11] << 4; + var13 = var8[12] << 4; + var14 = var8[13] << 4; + var15 = var8[14] << 4; + if(aBoolean3868) { + var16 = var8[0] * anInt3859 + var8[3] * anInt3865 + var8[6] * anInt3862 + 16384 >> 15; + var17 = var8[1] * anInt3859 + var8[4] * anInt3865 + var8[7] * anInt3862 + 16384 >> 15; + var18 = var8[2] * anInt3859 + var8[5] * anInt3865 + var8[8] * anInt3862 + 16384 >> 15; + var16 += var13; + var17 += var14; + var18 += var15; + anInt3859 = var16; + anInt3865 = var17; + anInt3862 = var18; + aBoolean3868 = false; + } + + int[] var49 = new int[9]; + var17 = Class51.anIntArray851[var3] >> 1; + var18 = Class51.anIntArray840[var3] >> 1; + var19 = Class51.anIntArray851[var4] >> 1; + var20 = Class51.anIntArray840[var4] >> 1; + var21 = Class51.anIntArray851[var5] >> 1; + var22 = Class51.anIntArray840[var5] >> 1; + var23 = var18 * var21 + 16384 >> 15; + var24 = var18 * var22 + 16384 >> 15; + var49[0] = var19 * var21 + var20 * var24 + 16384 >> 15; + var49[1] = -var19 * var22 + var20 * var23 + 16384 >> 15; + var49[2] = var20 * var17 + 16384 >> 15; + var49[3] = var17 * var22 + 16384 >> 15; + var49[4] = var17 * var21 + 16384 >> 15; + var49[5] = -var18; + var49[6] = -var20 * var21 + var19 * var24 + 16384 >> 15; + var49[7] = var20 * var22 + var19 * var23 + 16384 >> 15; + var49[8] = var19 * var17 + 16384 >> 15; + int var50 = var49[0] * -anInt3859 + var49[1] * -anInt3865 + var49[2] * -anInt3862 + 16384 >> 15; + var26 = var49[3] * -anInt3859 + var49[4] * -anInt3865 + var49[5] * -anInt3862 + 16384 >> 15; + var27 = var49[6] * -anInt3859 + var49[7] * -anInt3865 + var49[8] * -anInt3862 + 16384 >> 15; + var28 = var50 + anInt3859; + int var51 = var26 + anInt3865; + var30 = var27 + anInt3862; + int[] var52 = new int[9]; + + for(var32 = 0; var32 < 3; ++var32) { + for(var33 = 0; var33 < 3; ++var33) { + var34 = 0; + + for(int var53 = 0; var53 < 3; ++var53) { + var34 += var49[var32 * 3 + var53] * var8[var33 * 3 + var53]; + } + + var52[var32 * 3 + var33] = var34 + 16384 >> 15; + } + } + + var32 = var49[0] * var13 + var49[1] * var14 + var49[2] * var15 + 16384 >> 15; + var33 = var49[3] * var13 + var49[4] * var14 + var49[5] * var15 + 16384 >> 15; + var34 = var49[6] * var13 + var49[7] * var14 + var49[8] * var15 + 16384 >> 15; + var32 += var28; + var33 += var51; + var34 += var30; + var35 = new int[9]; + + for(var36 = 0; var36 < 3; ++var36) { + for(var37 = 0; var37 < 3; ++var37) { + var38 = 0; + + for(var39 = 0; var39 < 3; ++var39) { + var38 += var8[var36 * 3 + var39] * var52[var37 + var39 * 3]; + } + + var35[var36 * 3 + var37] = var38 + 16384 >> 15; + } + } + + var36 = var8[0] * var32 + var8[1] * var33 + var8[2] * var34 + 16384 >> 15; + var37 = var8[3] * var32 + var8[4] * var33 + var8[5] * var34 + 16384 >> 15; + var38 = var8[6] * var32 + var8[7] * var33 + var8[8] * var34 + 16384 >> 15; + var36 += var10; + var37 += var11; + var38 += var47; + + for(var39 = 0; var39 < var9; ++var39) { + var40 = var2[var39]; + if(var40 < this.anIntArrayArray3825.length) { + int[] var41 = this.anIntArrayArray3825[var40]; + + for(int var42 = 0; var42 < var41.length; ++var42) { + int var43 = var41[var42]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var43]) != 0) { + int var44 = var35[0] * this.anIntArray3822[var43] + var35[1] * this.anIntArray3845[var43] + var35[2] * this.anIntArray3848[var43] + 16384 >> 15; + int var45 = var35[3] * this.anIntArray3822[var43] + var35[4] * this.anIntArray3845[var43] + var35[5] * this.anIntArray3848[var43] + 16384 >> 15; + int var46 = var35[6] * this.anIntArray3822[var43] + var35[7] * this.anIntArray3845[var43] + var35[8] * this.anIntArray3848[var43] + 16384 >> 15; + var44 += var36; + var45 += var37; + var46 += var38; + this.anIntArray3822[var43] = var44; + this.anIntArray3845[var43] = var45; + this.anIntArray3848[var43] = var46; + } + } + } + } + } else { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3825.length) { + var12 = this.anIntArrayArray3825[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var14]) != 0) { + this.anIntArray3822[var14] -= anInt3859; + this.anIntArray3845[var14] -= anInt3865; + this.anIntArray3848[var14] -= anInt3862; + if(var5 != 0) { + var15 = Class51.anIntArray840[var5]; + var16 = Class51.anIntArray851[var5]; + var17 = this.anIntArray3845[var14] * var15 + this.anIntArray3822[var14] * var16 + 32767 >> 16; + this.anIntArray3845[var14] = this.anIntArray3845[var14] * var16 - this.anIntArray3822[var14] * var15 + 32767 >> 16; + this.anIntArray3822[var14] = var17; + } + + if(var3 != 0) { + var15 = Class51.anIntArray840[var3]; + var16 = Class51.anIntArray851[var3]; + var17 = this.anIntArray3845[var14] * var16 - this.anIntArray3848[var14] * var15 + 32767 >> 16; + this.anIntArray3848[var14] = this.anIntArray3845[var14] * var15 + this.anIntArray3848[var14] * var16 + 32767 >> 16; + this.anIntArray3845[var14] = var17; + } + + if(var4 != 0) { + var15 = Class51.anIntArray840[var4]; + var16 = Class51.anIntArray851[var4]; + var17 = this.anIntArray3848[var14] * var15 + this.anIntArray3822[var14] * var16 + 32767 >> 16; + this.anIntArray3848[var14] = this.anIntArray3848[var14] * var16 - this.anIntArray3822[var14] * var15 + 32767 >> 16; + this.anIntArray3822[var14] = var17; + } + + this.anIntArray3822[var14] += anInt3859; + this.anIntArray3845[var14] += anInt3865; + this.anIntArray3848[var14] += anInt3862; + } + } + } + } + + if(var6 && this.aShortArray3810 != null) { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3825.length) { + var12 = this.anIntArrayArray3825[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var14]) != 0) { + var15 = this.anIntArray3838[var14]; + var16 = this.anIntArray3838[var14 + 1]; + + for(var17 = var15; var17 < var16; ++var17) { + var18 = this.aShortArray3828[var17] - 1; + if(var18 == -1) { + break; + } + + if(var5 != 0) { + var19 = Class51.anIntArray840[var5]; + var20 = Class51.anIntArray851[var5]; + var21 = this.aShortArray3826[var18] * var19 + this.aShortArray3810[var18] * var20 + 32767 >> 16; + this.aShortArray3826[var18] = (short)(this.aShortArray3826[var18] * var20 - this.aShortArray3810[var18] * var19 + 32767 >> 16); + this.aShortArray3810[var18] = (short)var21; + } + + if(var3 != 0) { + var19 = Class51.anIntArray840[var3]; + var20 = Class51.anIntArray851[var3]; + var21 = this.aShortArray3826[var18] * var20 - this.aShortArray3837[var18] * var19 + 32767 >> 16; + this.aShortArray3837[var18] = (short)(this.aShortArray3826[var18] * var19 + this.aShortArray3837[var18] * var20 + 32767 >> 16); + this.aShortArray3826[var18] = (short)var21; + } + + if(var4 != 0) { + var19 = Class51.anIntArray840[var4]; + var20 = Class51.anIntArray851[var4]; + var21 = this.aShortArray3837[var18] * var19 + this.aShortArray3810[var18] * var20 + 32767 >> 16; + this.aShortArray3837[var18] = (short)(this.aShortArray3837[var18] * var20 - this.aShortArray3810[var18] * var19 + 32767 >> 16); + this.aShortArray3810[var18] = (short)var21; + } + } + } + } + } + } + + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + } + } + + } else if(var1 == 3) { + if(var8 != null) { + var10 = var8[9] << 4; + var11 = var8[10] << 4; + var47 = var8[11] << 4; + var13 = var8[12] << 4; + var14 = var8[13] << 4; + var15 = var8[14] << 4; + if(aBoolean3868) { + var16 = var8[0] * anInt3859 + var8[3] * anInt3865 + var8[6] * anInt3862 + 16384 >> 15; + var17 = var8[1] * anInt3859 + var8[4] * anInt3865 + var8[7] * anInt3862 + 16384 >> 15; + var18 = var8[2] * anInt3859 + var8[5] * anInt3865 + var8[8] * anInt3862 + 16384 >> 15; + var16 += var13; + var17 += var14; + var18 += var15; + anInt3859 = var16; + anInt3865 = var17; + anInt3862 = var18; + aBoolean3868 = false; + } + + var16 = var3 << 15 >> 7; + var17 = var4 << 15 >> 7; + var18 = var5 << 15 >> 7; + var19 = var16 * -anInt3859 + 16384 >> 15; + var20 = var17 * -anInt3865 + 16384 >> 15; + var21 = var18 * -anInt3862 + 16384 >> 15; + var22 = var19 + anInt3859; + var23 = var20 + anInt3865; + var24 = var21 + anInt3862; + int[] var25 = new int[]{var16 * var8[0] + 16384 >> 15, var16 * var8[3] + 16384 >> 15, var16 * var8[6] + 16384 >> 15, var17 * var8[1] + 16384 >> 15, var17 * var8[4] + 16384 >> 15, var17 * var8[7] + 16384 >> 15, var18 * var8[2] + 16384 >> 15, var18 * var8[5] + 16384 >> 15, var18 * var8[8] + 16384 >> 15}; + var26 = var16 * var13 + 16384 >> 15; + var27 = var17 * var14 + 16384 >> 15; + var28 = var18 * var15 + 16384 >> 15; + var26 += var22; + var27 += var23; + var28 += var24; + int[] var29 = new int[9]; + + int var31; + for(var30 = 0; var30 < 3; ++var30) { + for(var31 = 0; var31 < 3; ++var31) { + var32 = 0; + + for(var33 = 0; var33 < 3; ++var33) { + var32 += var8[var30 * 3 + var33] * var25[var31 + var33 * 3]; + } + + var29[var30 * 3 + var31] = var32 + 16384 >> 15; + } + } + + var30 = var8[0] * var26 + var8[1] * var27 + var8[2] * var28 + 16384 >> 15; + var31 = var8[3] * var26 + var8[4] * var27 + var8[5] * var28 + 16384 >> 15; + var32 = var8[6] * var26 + var8[7] * var27 + var8[8] * var28 + 16384 >> 15; + var30 += var10; + var31 += var11; + var32 += var47; + + for(var33 = 0; var33 < var9; ++var33) { + var34 = var2[var33]; + if(var34 < this.anIntArrayArray3825.length) { + var35 = this.anIntArrayArray3825[var34]; + + for(var36 = 0; var36 < var35.length; ++var36) { + var37 = var35[var36]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var37]) != 0) { + var38 = var29[0] * this.anIntArray3822[var37] + var29[1] * this.anIntArray3845[var37] + var29[2] * this.anIntArray3848[var37] + 16384 >> 15; + var39 = var29[3] * this.anIntArray3822[var37] + var29[4] * this.anIntArray3845[var37] + var29[5] * this.anIntArray3848[var37] + 16384 >> 15; + var40 = var29[6] * this.anIntArray3822[var37] + var29[7] * this.anIntArray3845[var37] + var29[8] * this.anIntArray3848[var37] + 16384 >> 15; + var38 += var30; + var39 += var31; + var40 += var32; + this.anIntArray3822[var37] = var38; + this.anIntArray3845[var37] = var39; + this.anIntArray3848[var37] = var40; + } + } + } + } + } else { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3825.length) { + var12 = this.anIntArrayArray3825[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3832 == null || (var7 & this.aShortArray3832[var14]) != 0) { + this.anIntArray3822[var14] -= anInt3859; + this.anIntArray3845[var14] -= anInt3865; + this.anIntArray3848[var14] -= anInt3862; + this.anIntArray3822[var14] = this.anIntArray3822[var14] * var3 >> 7; + this.anIntArray3845[var14] = this.anIntArray3845[var14] * var4 >> 7; + this.anIntArray3848[var14] = this.anIntArray3848[var14] * var5 >> 7; + this.anIntArray3822[var14] += anInt3859; + this.anIntArray3845[var14] += anInt3865; + this.anIntArray3848[var14] += anInt3862; + } + } + } + } + } + + } else if(var1 == 5) { + if(this.anIntArrayArray3829 != null && this.aByteArray3816 != null) { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3829.length) { + var12 = this.anIntArrayArray3829[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3813 == null || (var7 & this.aShortArray3813[var14]) != 0) { + var15 = (this.aByteArray3816[var14] & 255) + var3 * 8; + if(var15 < 0) { + var15 = 0; + } else if(var15 > 255) { + var15 = 255; + } + + this.aByteArray3816[var14] = (byte)var15; + } + } + + if(var12.length > 0) { + this.aClass121_3814.aBoolean1640 = false; + } + } + } + } + + } else if(var1 == 7) { + if(this.anIntArrayArray3829 != null) { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3829.length) { + var12 = this.anIntArrayArray3829[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3813 == null || (var7 & this.aShortArray3813[var14]) != 0) { + var15 = this.aShortArray3808[var14] & '\uffff'; + var16 = var15 >> 10 & 63; + var17 = var15 >> 7 & 7; + var18 = var15 & 127; + var16 = var16 + var3 & 63; + var17 += var4 / 4; + if(var17 < 0) { + var17 = 0; + } else if(var17 > 7) { + var17 = 7; + } + + var18 += var5; + if(var18 < 0) { + var18 = 0; + } else if(var18 > 127) { + var18 = 127; + } + + this.aShortArray3808[var14] = (short)(var16 << 10 | var17 << 7 | var18); + } + } + + if(var12.length > 0) { + this.aClass121_3814.aBoolean1640 = false; + } + } + } + } + + } + } + } + } + + final int method1871() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort91; + } + + final void method1908() { + int[] var1; + int var2; + int var3; + int var4; + if(this.anIntArray3844 != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.anInt3823; ++var3) { + var4 = this.anIntArray3844[var3] & 255; + ++var1[var4]; + if(var4 > var2) { + var2 = var4; + } + } + + this.anIntArrayArray3825 = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.anIntArrayArray3825[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.anInt3823; this.anIntArrayArray3825[var4][var1[var4]++] = var3++) { + var4 = this.anIntArray3844[var3] & 255; + } + + this.anIntArray3844 = null; + } + + if(this.aByteArray3820 != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.anInt3852; ++var3) { + var4 = this.aByteArray3820[var3] & 255; + ++var1[var4]; + if(var4 > var2) { + var2 = var4; + } + } + + this.anIntArrayArray3829 = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.anIntArrayArray3829[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.anInt3852; this.anIntArrayArray3829[var4][var1[var4]++] = var3++) { + var4 = this.aByteArray3820[var3] & 255; + } + + this.aByteArray3820 = null; + } + + } + + final void method1909(int var1) { + this.aShort3819 = (short)var1; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + } + + private static final void method1910(int var0, int var1, int var2, int var3, int var4, int var5, float[] var6, int var7, float var8) { + var0 -= var3; + var1 -= var4; + var2 -= var5; + float var9 = (float)var0 * var6[0] + (float)var1 * var6[1] + (float)var2 * var6[2]; + float var10 = (float)var0 * var6[3] + (float)var1 * var6[4] + (float)var2 * var6[5]; + float var11 = (float)var0 * var6[6] + (float)var1 * var6[7] + (float)var2 * var6[8]; + float var12 = (float)Math.sqrt((double)(var9 * var9 + var10 * var10 + var11 * var11)); + float var13 = (float)Math.atan2((double)var9, (double)var11) / 6.2831855F + 0.5F; + float var14 = (float)Math.asin((double)(var10 / var12)) / 3.1415927F + 0.5F + var8; + float var15; + if(var7 == 1) { + var15 = var13; + var13 = -var14; + var14 = var15; + } else if(var7 == 2) { + var13 = -var13; + var14 = -var14; + } else if(var7 == 3) { + var15 = var13; + var13 = var14; + var14 = -var15; + } + + aFloat3867 = var13; + aFloat3860 = var14; + } + + final void method1911() { + if(this.aShortArray3810 == null) { + this.method1874(); + } else { + int var1; + for(var1 = 0; var1 < this.anInt3823; ++var1) { + this.anIntArray3822[var1] = -this.anIntArray3822[var1]; + this.anIntArray3848[var1] = -this.anIntArray3848[var1]; + } + + for(var1 = 0; var1 < this.anInt3833; ++var1) { + this.aShortArray3810[var1] = (short)(-this.aShortArray3810[var1]); + this.aShortArray3837[var1] = (short)(-this.aShortArray3837[var1]); + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + } + } + + final void resize(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt3823; ++var4) { + this.anIntArray3822[var4] = this.anIntArray3822[var4] * var1 >> 7; + this.anIntArray3845[var4] = this.anIntArray3845[var4] * var2 >> 7; + this.anIntArray3848[var4] = this.anIntArray3848[var4] * var3 >> 7; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final Model method1894(boolean var1, boolean var2, boolean var3) { + return this.method1923(var1, var2, var3, aClass140_Sub1_Sub1_3850, aClass140_Sub1_Sub1_3842); + } + + final void method1874() { + for(int var1 = 0; var1 < this.anInt3823; ++var1) { + this.anIntArray3822[var1] = -this.anIntArray3822[var1]; + this.anIntArray3848[var1] = -this.anIntArray3848[var1]; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + private final void method1912() { + if(aClass3_Sub30_3818.buffer.length < this.anInt3833 * 12) { + aClass3_Sub30_3818 = new RSByteBuffer((this.anInt3833 + 100) * 12); + } else { + aClass3_Sub30_3818.index = 0; + } + + int var1; + if(HDToolKit.aBoolean1790) { + for(var1 = 0; var1 < this.anInt3852; ++var1) { + aClass3_Sub30_3818.putInt(-122, this.aShortArray3811[var1]); + aClass3_Sub30_3818.putInt(-126, this.aShortArray3830[var1]); + aClass3_Sub30_3818.putInt(-120, this.aShortArray3831[var1]); + } + } else { + for(var1 = 0; var1 < this.anInt3852; ++var1) { + aClass3_Sub30_3818.method757(this.aShortArray3811[var1], 98); + aClass3_Sub30_3818.method757(this.aShortArray3830[var1], 68); + aClass3_Sub30_3818.method757(this.aShortArray3831[var1], 77); + } + } + + if(HDToolKit.aBoolean1813) { + Class156 var3 = new Class156(); + ByteBuffer var2 = ByteBuffer.wrap(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + var3.method2172(var2); + this.aClass121_3846.aBoolean1640 = true; + this.aClass121_3846.aByteBuffer1644 = null; + this.aClass121_3846.aClass156_1643 = var3; + } else { + ByteBuffer var4 = ByteBuffer.allocateDirect(aClass3_Sub30_3818.index); + var4.put(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + var4.flip(); + this.aClass121_3846.aBoolean1640 = true; + this.aClass121_3846.aByteBuffer1644 = var4; + this.aClass121_3846.aClass156_1643 = null; + } + + } + + private static final void method1913(int var0, int var1, int var2, int var3, int var4, int var5, int var6, float[] var7, int var8, float var9, float var10, float var11) { + var0 -= var3; + var1 -= var4; + var2 -= var5; + float var12 = (float)var0 * var7[0] + (float)var1 * var7[1] + (float)var2 * var7[2]; + float var13 = (float)var0 * var7[3] + (float)var1 * var7[4] + (float)var2 * var7[5]; + float var14 = (float)var0 * var7[6] + (float)var1 * var7[7] + (float)var2 * var7[8]; + float var15; + float var16; + if(var6 == 0) { + var15 = var12 + var9 + 0.5F; + var16 = -var14 + var11 + 0.5F; + } else if(var6 == 1) { + var15 = var12 + var9 + 0.5F; + var16 = var14 + var11 + 0.5F; + } else if(var6 == 2) { + var15 = -var12 + var9 + 0.5F; + var16 = -var13 + var10 + 0.5F; + } else if(var6 == 3) { + var15 = var12 + var9 + 0.5F; + var16 = -var13 + var10 + 0.5F; + } else if(var6 == 4) { + var15 = var14 + var11 + 0.5F; + var16 = -var13 + var10 + 0.5F; + } else { + var15 = -var14 + var11 + 0.5F; + var16 = -var13 + var10 + 0.5F; + } + + float var17; + if(var8 == 1) { + var17 = var15; + var15 = -var16; + var16 = var17; + } else if(var8 == 2) { + var15 = -var15; + var16 = -var16; + } else if(var8 == 3) { + var17 = var15; + var15 = var16; + var16 = -var17; + } + + aFloat3864 = var15; + aFloat3858 = var16; + } + + final void method1914(int var1) { + this.aShort3849 = (short)var1; + this.aClass121_3814.aBoolean1640 = false; + } + + public static void method1915() { + aLongArray3821 = null; + aClass3_Sub30_3818 = null; + aByteBuffer3834 = null; + aClass140_Sub1_Sub1_3842 = null; + aClass140_Sub1_Sub1_3850 = null; + aClass140_Sub1_Sub1_3853 = null; + aClass140_Sub1_Sub1_3854 = null; + aClass140_Sub1_Sub1_3855 = null; + aClass140_Sub1_Sub1_3856 = null; + anIntArray3861 = null; + anIntArray3857 = null; + } + + final boolean method1873() { + if(this.anIntArrayArray3825 == null) { + return false; + } else { + for(int var1 = 0; var1 < this.anInt3823; ++var1) { + this.anIntArray3822[var1] <<= 4; + this.anIntArray3845[var1] <<= 4; + this.anIntArray3848[var1] <<= 4; + } + + anInt3859 = 0; + anInt3865 = 0; + anInt3862 = 0; + return true; + } + } + + final void method1916(short var1, short var2) { + int var3; + for(var3 = 0; var3 < this.anInt3852; ++var3) { + if(this.aShortArray3827[var3] == var1) { + this.aShortArray3827[var3] = var2; + } + } + + var3 = 0; + int var4 = 0; + if(var1 != -1) { + var3 = Class51.anInterface2_838.method19(-125, var1 & '\uffff'); + var4 = Class51.anInterface2_838.method10(-98, var1 & '\uffff'); + } + + int var5 = 0; + int var6 = 0; + if(var2 != -1) { + var5 = Class51.anInterface2_838.method19(57, var2 & '\uffff'); + var6 = Class51.anInterface2_838.method10(-114, var2 & '\uffff'); + } + + if(var3 != var5 || var4 != var6) { + this.aClass121_3814.aBoolean1640 = false; + } + + } + + private final void method1917() { + int var1 = 32767; + int var2 = 32767; + int var3 = 32767; + int var4 = -32768; + int var5 = -32768; + int var6 = -32768; + int var7 = 0; + int var8 = 0; + + for(int var9 = 0; var9 < this.anInt3823; ++var9) { + int var10 = this.anIntArray3822[var9]; + int var11 = this.anIntArray3845[var9]; + int var12 = this.anIntArray3848[var9]; + if(var10 < var1) { + var1 = var10; + } + + if(var10 > var4) { + var4 = var10; + } + + if(var11 < var2) { + var2 = var11; + } + + if(var11 > var5) { + var5 = var11; + } + + if(var12 < var3) { + var3 = var12; + } + + if(var12 > var6) { + var6 = var12; + } + + int var13 = var10 * var10 + var12 * var12; + if(var13 > var7) { + var7 = var13; + } + + var13 = var10 * var10 + var12 * var12 + var11 * var11; + if(var13 > var8) { + var8 = var13; + } + } + + this.aClass6_3835.aShort95 = (short)var1; + this.aClass6_3835.aShort94 = (short)var4; + this.aClass6_3835.aShort91 = (short)var2; + this.aClass6_3835.aShort92 = (short)var5; + this.aClass6_3835.aShort97 = (short)var3; + this.aClass6_3835.aShort96 = (short)var6; + this.aClass6_3835.aShort93 = (short)((int)(Math.sqrt((double)var7) + 0.99D)); + Math.sqrt((double)var8); + this.aClass6_3835.aBoolean98 = true; + } + + final void method1918(short var1, short var2) { + for(int var3 = 0; var3 < this.anInt3852; ++var3) { + if(this.aShortArray3808[var3] == var1) { + this.aShortArray3808[var3] = var2; + } + } + + this.aClass121_3814.aBoolean1640 = false; + } + + final void method1919(int var1, int var2, Class140_Sub1_Sub1 var3, int[][] var4, int[][] var5, int var6, int var7, int var8) { + if(!var3.aClass6_3835.aBoolean98) { + var3.method1917(); + } + + int var9 = var6 + var3.aClass6_3835.aShort95; + int var10 = var6 + var3.aClass6_3835.aShort94; + int var11 = var8 + var3.aClass6_3835.aShort97; + int var12 = var8 + var3.aClass6_3835.aShort96; + if(var1 != 1 && var1 != 2 && var1 != 3 && var1 != 5 || var9 >= 0 && var10 + 128 >> 7 < var4.length && var11 >= 0 && var12 + 128 >> 7 < var4[0].length) { + if(var1 != 4 && var1 != 5) { + var9 >>= 7; + var10 = var10 + 127 >> 7; + var11 >>= 7; + var12 = var12 + 127 >> 7; + if(var4[var9][var11] == var7 && var4[var10][var11] == var7 && var4[var9][var12] == var7 && var4[var10][var12] == var7) { + return; + } + } else { + if(var5 == null) { + return; + } + + if(var9 < 0 || var10 + 128 >> 7 >= var5.length || var11 < 0 || var12 + 128 >> 7 >= var5[0].length) { + return; + } + } + + int var13; + int var14; + int var15; + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var22; + if(var1 == 1) { + for(var13 = 0; var13 < this.anInt3823; ++var13) { + var14 = this.anIntArray3822[var13] + var6; + var15 = this.anIntArray3848[var13] + var8; + var16 = var14 & 127; + var17 = var15 & 127; + var18 = var14 >> 7; + var19 = var15 >> 7; + var20 = var4[var18][var19] * (128 - var16) + var4[var18 + 1][var19] * var16 >> 7; + var21 = var4[var18][var19 + 1] * (128 - var16) + var4[var18 + 1][var19 + 1] * var16 >> 7; + var22 = var20 * (128 - var17) + var21 * var17 >> 7; + this.anIntArray3845[var13] = this.anIntArray3845[var13] + var22 - var7; + } + } else { + int var23; + int var24; + if(var1 == 2) { + short var26 = var3.aClass6_3835.aShort91; + + for(var14 = 0; var14 < this.anInt3823; ++var14) { + var15 = (this.anIntArray3845[var14] << 16) / var26; + if(var15 < var2) { + var16 = this.anIntArray3822[var14] + var6; + var17 = this.anIntArray3848[var14] + var8; + var18 = var16 & 127; + var19 = var17 & 127; + var20 = var16 >> 7; + var21 = var17 >> 7; + var22 = var4[var20][var21] * (128 - var18) + var4[var20 + 1][var21] * var18 >> 7; + var23 = var4[var20][var21 + 1] * (128 - var18) + var4[var20 + 1][var21 + 1] * var18 >> 7; + var24 = var22 * (128 - var19) + var23 * var19 >> 7; + this.anIntArray3845[var14] += (var24 - var7) * (var2 - var15) / var2; + } + } + } else if(var1 == 3) { + var13 = (var2 & 255) * 4; + var14 = (var2 >> 8 & 255) * 4; + this.method1895(var4, var6, var7, var8, var13, var14); + } else if(var1 == 4) { + var13 = var3.aClass6_3835.aShort92 - var3.aClass6_3835.aShort91; + + for(var14 = 0; var14 < this.anInt3823; ++var14) { + var15 = this.anIntArray3822[var14] + var6; + var16 = this.anIntArray3848[var14] + var8; + var17 = var15 & 127; + var18 = var16 & 127; + var19 = var15 >> 7; + var20 = var16 >> 7; + var21 = var5[var19][var20] * (128 - var17) + var5[var19 + 1][var20] * var17 >> 7; + var22 = var5[var19][var20 + 1] * (128 - var17) + var5[var19 + 1][var20 + 1] * var17 >> 7; + var23 = var21 * (128 - var18) + var22 * var18 >> 7; + this.anIntArray3845[var14] = this.anIntArray3845[var14] + (var23 - var7) + var13; + } + } else if(var1 == 5) { + var13 = var3.aClass6_3835.aShort92 - var3.aClass6_3835.aShort91; + + for(var14 = 0; var14 < this.anInt3823; ++var14) { + var15 = this.anIntArray3822[var14] + var6; + var16 = this.anIntArray3848[var14] + var8; + var17 = var15 & 127; + var18 = var16 & 127; + var19 = var15 >> 7; + var20 = var16 >> 7; + var21 = var4[var19][var20] * (128 - var17) + var4[var19 + 1][var20] * var17 >> 7; + var22 = var4[var19][var20 + 1] * (128 - var17) + var4[var19 + 1][var20 + 1] * var17 >> 7; + var23 = var21 * (128 - var18) + var22 * var18 >> 7; + var21 = var5[var19][var20] * (128 - var17) + var5[var19 + 1][var20] * var17 >> 7; + var22 = var5[var19][var20 + 1] * (128 - var17) + var5[var19 + 1][var20 + 1] * var17 >> 7; + var24 = var21 * (128 - var18) + var22 * var18 >> 7; + int var25 = var23 - var24; + this.anIntArray3845[var14] = ((this.anIntArray3845[var14] << 8) / var13 * var25 >> 8) - (var7 - var23); + } + } + } + + this.aClass121_3839.aBoolean1640 = false; + this.aClass6_3835.aBoolean98 = false; + } + } + + final void method1920(boolean var1, boolean var2, boolean var3, boolean var4, boolean var5, boolean var6, boolean var7) { + if(this.aByte3836 != 0) { + throw new IllegalArgumentException(); + } else if(this.anInt3833 != 0) { + if(var7) { + boolean var8 = !this.aClass121_3814.aBoolean1640 && (var2 || var3 && !Class106.aBoolean1441); + this.method1922(false, !this.aClass121_3839.aBoolean1640 && var1, var8, this.aClass121_3815 != null && !this.aClass121_3815.aBoolean1640 && var3, !this.aClass121_3817.aBoolean1640 && var4); + if(!this.aClass121_3846.aBoolean1640 && var5 && var2) { + this.method1912(); + } + } + + if(var1) { + if(this.aClass121_3839.aBoolean1640) { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + this.anIntArray3822 = null; + this.anIntArray3845 = null; + this.anIntArray3848 = null; + this.aShortArray3828 = null; + this.anIntArray3838 = null; + } else { + this.aByte3851 = (byte)(this.aByte3851 | 1); + } + } + + if(var2) { + if(this.aClass121_3814.aBoolean1640) { + this.aShortArray3808 = null; + this.aByteArray3816 = null; + } else { + this.aByte3851 = (byte)(this.aByte3851 | 2); + } + } + + if(var3 && Class106.aBoolean1441) { + if(this.aClass121_3815.aBoolean1640) { + this.aShortArray3810 = null; + this.aShortArray3826 = null; + this.aShortArray3837 = null; + this.aShortArray3841 = null; + } else { + this.aByte3851 = (byte)(this.aByte3851 | 4); + } + } + + if(var4) { + if(this.aClass121_3817.aBoolean1640) { + this.aFloatArray3824 = null; + this.aFloatArray3847 = null; + } else { + this.aByte3851 = (byte)(this.aByte3851 | 8); + } + } + + if(var5 && var2) { + if(this.aClass121_3846.aBoolean1640 && this.aClass121_3814.aBoolean1640) { + this.aShortArray3811 = null; + this.aShortArray3830 = null; + this.aShortArray3831 = null; + } else { + this.aByte3851 = (byte)(this.aByte3851 | 16); + } + } + + if(var6) { + this.anIntArray3844 = null; + this.aByteArray3820 = null; + this.anIntArrayArray3825 = (int[][])null; + this.anIntArrayArray3829 = (int[][])null; + } + + } + } + + private static final float[] method1921(float[] var0, int var1) { + float[] var2 = new float[var1]; + Class76.method1360(var0, 0, var2, 0, var1); + return var2; + } + + private final void method1922(boolean var1, boolean var2, boolean var3, boolean var4, boolean var5) { + int var6 = 0; + if(var2) { + this.aClass121_3839.anInt1639 = var6; + var6 += 12; + } + + if(var3) { + this.aClass121_3814.anInt1639 = var6; + var6 += 4; + } + + if(var4) { + this.aClass121_3815.anInt1639 = var6; + var6 += 12; + } + + if(var5) { + this.aClass121_3817.anInt1639 = var6; + var6 += 8; + } + + if(var6 != 0) { + if(aClass3_Sub30_3818.buffer.length < this.anInt3833 * var6) { + aClass3_Sub30_3818 = new RSByteBuffer((this.anInt3833 + 100) * var6); + } else { + aClass3_Sub30_3818.index = 0; + } + + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + int var13; + if(var2) { + int var14; + if(HDToolKit.aBoolean1790) { + for(var7 = 0; var7 < this.anInt3823; ++var7) { + var8 = Float.floatToRawIntBits((float)this.anIntArray3822[var7]); + var9 = Float.floatToRawIntBits((float)this.anIntArray3845[var7]); + var10 = Float.floatToRawIntBits((float)this.anIntArray3848[var7]); + var11 = this.anIntArray3838[var7]; + var12 = this.anIntArray3838[var7 + 1]; + + for(var13 = var11; var13 < var12; ++var13) { + var14 = this.aShortArray3828[var13] - 1; + if(var14 == -1) { + break; + } + + aClass3_Sub30_3818.index = var14 * var6; + aClass3_Sub30_3818.putInt(-123, var8); + aClass3_Sub30_3818.putInt(-127, var9); + aClass3_Sub30_3818.putInt(-123, var10); + } + } + } else { + for(var7 = 0; var7 < this.anInt3823; ++var7) { + var8 = Float.floatToRawIntBits((float)this.anIntArray3822[var7]); + var9 = Float.floatToRawIntBits((float)this.anIntArray3845[var7]); + var10 = Float.floatToRawIntBits((float)this.anIntArray3848[var7]); + var11 = this.anIntArray3838[var7]; + var12 = this.anIntArray3838[var7 + 1]; + + for(var13 = var11; var13 < var12; ++var13) { + var14 = this.aShortArray3828[var13] - 1; + if(var14 == -1) { + break; + } + + aClass3_Sub30_3818.index = var14 * var6; + aClass3_Sub30_3818.method757(var8, 105); + aClass3_Sub30_3818.method757(var9, 121); + aClass3_Sub30_3818.method757(var10, 84); + } + } + } + } + + if(var3) { + if(!Class106.aBoolean1441) { + var7 = (int)Class92.aFloatArray1312[0]; + var8 = (int)Class92.aFloatArray1312[1]; + var9 = (int)Class92.aFloatArray1312[2]; + var10 = (int)Math.sqrt((double)(var7 * var7 + var8 * var8 + var9 * var9)); + var11 = (int)((float)this.aShort3849 * 1.3F); + var12 = this.aShort3819 * var10 >> 8; + + for(var13 = 0; var13 < this.anInt3852; ++var13) { + short var33 = this.aShortArray3811[var13]; + short var15 = this.aShortArray3841[var33]; + int var16; + if(var15 < 0) { + var16 = -1 - var15; + } else { + if(var15 != 0) { + var16 = var11 + (var7 * this.aShortArray3810[var33] + var8 * this.aShortArray3826[var33] + var9 * this.aShortArray3837[var33]) / (var12 * var15); + } else { + var16 = var11 + (var7 * this.aShortArray3810[var33] + var8 * this.aShortArray3826[var33] + var9 * this.aShortArray3837[var33]) / (var12 + var12 / 2); + } + + if(var16 < 0) { + var16 = 0; + } else if(var16 > 16384) { + var16 = 16384; + } + + this.aShortArray3841[var33] = (short)(-1 - var16); + } + + short var17 = this.aShortArray3830[var13]; + short var18 = this.aShortArray3841[var17]; + int var19; + if(var18 < 0) { + var19 = -1 - var18; + } else { + if(var18 != 0) { + var19 = var11 + (var7 * this.aShortArray3810[var17] + var8 * this.aShortArray3826[var17] + var9 * this.aShortArray3837[var17]) / (var12 * var18); + } else { + var19 = var11 + (var7 * this.aShortArray3810[var17] + var8 * this.aShortArray3826[var17] + var9 * this.aShortArray3837[var17]) / (var12 + var12 / 2); + } + + if(var19 < 0) { + var19 = 0; + } else if(var19 > 16384) { + var19 = 16384; + } + + this.aShortArray3841[var17] = (short)(-1 - var19); + } + + short var20 = this.aShortArray3831[var13]; + short var21 = this.aShortArray3841[var20]; + int var22; + if(var21 < 0) { + var22 = -1 - var21; + } else { + if(var21 != 0) { + var22 = var11 + (var7 * this.aShortArray3810[var20] + var8 * this.aShortArray3826[var20] + var9 * this.aShortArray3837[var20]) / (var12 * var21); + } else { + var22 = var11 + (var7 * this.aShortArray3810[var20] + var8 * this.aShortArray3826[var20] + var9 * this.aShortArray3837[var20]) / (var12 + var12 / 2); + } + + if(var22 < 0) { + var22 = 0; + } else if(var22 > 16384) { + var22 = 16384; + } + + this.aShortArray3841[var20] = (short)(-1 - var22); + } + + int var23 = method1905(this.aShortArray3808[var13], this.aShortArray3827[var13], var16, this.aByteArray3816[var13]); + int var24 = method1905(this.aShortArray3808[var13], this.aShortArray3827[var13], var19, this.aByteArray3816[var13]); + int var25 = method1905(this.aShortArray3808[var13], this.aShortArray3827[var13], var22, this.aByteArray3816[var13]); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + var33 * var6; + aClass3_Sub30_3818.putInt(-121, var23); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + var17 * var6; + aClass3_Sub30_3818.putInt(-120, var24); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + var20 * var6; + aClass3_Sub30_3818.putInt(-124, var25); + } + + this.aShortArray3810 = null; + this.aShortArray3826 = null; + this.aShortArray3837 = null; + } else { + for(var7 = 0; var7 < this.anInt3852; ++var7) { + var8 = method1905(this.aShortArray3808[var7], this.aShortArray3827[var7], this.aShort3849, this.aByteArray3816[var7]); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + this.aShortArray3811[var7] * var6; + aClass3_Sub30_3818.putInt(-123, var8); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + this.aShortArray3830[var7] * var6; + aClass3_Sub30_3818.putInt(-121, var8); + aClass3_Sub30_3818.index = this.aClass121_3814.anInt1639 + this.aShortArray3831[var7] * var6; + aClass3_Sub30_3818.putInt(-127, var8); + } + } + } + + if(var4) { + float var27 = 3.0F / (float)this.aShort3819; + float var26 = 3.0F / (float)(this.aShort3819 + this.aShort3819 / 2); + aClass3_Sub30_3818.index = this.aClass121_3815.anInt1639; + short var30; + float var32; + if(HDToolKit.aBoolean1790) { + for(var9 = 0; var9 < this.anInt3833; ++var9) { + var30 = this.aShortArray3841[var9]; + if(var30 == 0) { + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3810[var9] * var26); + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3826[var9] * var26); + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3837[var9] * var26); + } else { + var32 = var27 / (float)var30; + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3810[var9] * var32); + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3826[var9] * var32); + aClass3_Sub30_3818.method801(881, (float)this.aShortArray3837[var9] * var32); + } + + aClass3_Sub30_3818.index += var6 - 12; + } + } else { + for(var9 = 0; var9 < this.anInt3833; ++var9) { + var30 = this.aShortArray3841[var9]; + if(var30 == 0) { + aClass3_Sub30_3818.method762((float)this.aShortArray3810[var9] * var26, (byte)124); + aClass3_Sub30_3818.method762((float)this.aShortArray3826[var9] * var26, (byte)64); + aClass3_Sub30_3818.method762((float)this.aShortArray3837[var9] * var26, (byte)122); + } else { + var32 = var27 / (float)var30; + aClass3_Sub30_3818.method762((float)this.aShortArray3810[var9] * var32, (byte)91); + aClass3_Sub30_3818.method762((float)this.aShortArray3826[var9] * var32, (byte)86); + aClass3_Sub30_3818.method762((float)this.aShortArray3837[var9] * var32, (byte)111); + } + + aClass3_Sub30_3818.index += var6 - 12; + } + } + } + + if(var5) { + aClass3_Sub30_3818.index = this.aClass121_3817.anInt1639; + if(HDToolKit.aBoolean1790) { + for(var7 = 0; var7 < this.anInt3833; ++var7) { + aClass3_Sub30_3818.method801(881, this.aFloatArray3824[var7]); + aClass3_Sub30_3818.method801(881, this.aFloatArray3847[var7]); + aClass3_Sub30_3818.index += var6 - 8; + } + } else { + for(var7 = 0; var7 < this.anInt3833; ++var7) { + aClass3_Sub30_3818.method762(this.aFloatArray3824[var7], (byte)90); + aClass3_Sub30_3818.method762(this.aFloatArray3847[var7], (byte)76); + aClass3_Sub30_3818.index += var6 - 8; + } + } + } + + aClass3_Sub30_3818.index = var6 * this.anInt3833; + ByteBuffer var29; + if(var1) { + if(HDToolKit.aBoolean1817) { + var29 = ByteBuffer.wrap(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + if(this.aClass156_3812 == null) { + this.aClass156_3812 = new Class156(true); + this.aClass156_3812.method2172(var29); + } else { + this.aClass156_3812.method2168(var29); + } + + if(var2) { + this.aClass121_3839.aBoolean1640 = true; + this.aClass121_3839.aByteBuffer1644 = null; + this.aClass121_3839.aClass156_1643 = this.aClass156_3812; + this.aClass121_3839.anInt1648 = var6; + } + + if(var3) { + this.aClass121_3814.aBoolean1640 = true; + this.aClass121_3814.aByteBuffer1644 = null; + this.aClass121_3814.aClass156_1643 = this.aClass156_3812; + this.aClass121_3814.anInt1648 = var6; + } + + if(var4) { + this.aClass121_3815.aBoolean1640 = true; + this.aClass121_3815.aByteBuffer1644 = null; + this.aClass121_3815.aClass156_1643 = this.aClass156_3812; + this.aClass121_3815.anInt1648 = var6; + } + + if(var5) { + this.aClass121_3817.aBoolean1640 = true; + this.aClass121_3817.aByteBuffer1644 = null; + this.aClass121_3817.aClass156_1643 = this.aClass156_3812; + this.aClass121_3817.anInt1648 = var6; + } + } else { + if(aByteBuffer3834 != null && aByteBuffer3834.capacity() >= aClass3_Sub30_3818.index) { + aByteBuffer3834.clear(); + } else { + aByteBuffer3834 = ByteBuffer.allocateDirect(aClass3_Sub30_3818.index + 100 * var6); + } + + aByteBuffer3834.put(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + aByteBuffer3834.flip(); + if(var2) { + this.aClass121_3839.aBoolean1640 = true; + this.aClass121_3839.aByteBuffer1644 = aByteBuffer3834; + this.aClass121_3839.aClass156_1643 = null; + this.aClass121_3839.anInt1648 = var6; + } + + if(var3) { + this.aClass121_3814.aBoolean1640 = true; + this.aClass121_3814.aByteBuffer1644 = aByteBuffer3834; + this.aClass121_3839.aClass156_1643 = null; + this.aClass121_3814.anInt1648 = var6; + } + + if(var4) { + this.aClass121_3815.aBoolean1640 = true; + this.aClass121_3815.aByteBuffer1644 = aByteBuffer3834; + this.aClass121_3815.aClass156_1643 = null; + this.aClass121_3815.anInt1648 = var6; + } + + if(var5) { + this.aClass121_3817.aBoolean1640 = true; + this.aClass121_3817.aByteBuffer1644 = aByteBuffer3834; + this.aClass121_3817.aClass156_1643 = null; + this.aClass121_3817.anInt1648 = var6; + } + } + } else if(HDToolKit.aBoolean1813) { + Class156 var31 = new Class156(); + ByteBuffer var28 = ByteBuffer.wrap(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + var31.method2172(var28); + if(var2) { + this.aClass121_3839.aBoolean1640 = true; + this.aClass121_3839.aByteBuffer1644 = null; + this.aClass121_3839.aClass156_1643 = var31; + this.aClass121_3839.anInt1648 = var6; + } + + if(var3) { + this.aClass121_3814.aBoolean1640 = true; + this.aClass121_3814.aByteBuffer1644 = null; + this.aClass121_3814.aClass156_1643 = var31; + this.aClass121_3814.anInt1648 = var6; + } + + if(var4) { + this.aClass121_3815.aBoolean1640 = true; + this.aClass121_3815.aByteBuffer1644 = null; + this.aClass121_3815.aClass156_1643 = var31; + this.aClass121_3815.anInt1648 = var6; + } + + if(var5) { + this.aClass121_3817.aBoolean1640 = true; + this.aClass121_3817.aByteBuffer1644 = null; + this.aClass121_3817.aClass156_1643 = var31; + this.aClass121_3817.anInt1648 = var6; + } + } else { + var29 = ByteBuffer.allocateDirect(aClass3_Sub30_3818.index); + var29.put(aClass3_Sub30_3818.buffer, 0, aClass3_Sub30_3818.index); + var29.flip(); + if(var2) { + this.aClass121_3839.aBoolean1640 = true; + this.aClass121_3839.aByteBuffer1644 = var29; + this.aClass121_3839.aClass156_1643 = null; + this.aClass121_3839.anInt1648 = var6; + } + + if(var3) { + this.aClass121_3814.aBoolean1640 = true; + this.aClass121_3814.aByteBuffer1644 = var29; + this.aClass121_3839.aClass156_1643 = null; + this.aClass121_3814.anInt1648 = var6; + } + + if(var4) { + this.aClass121_3815.aBoolean1640 = true; + this.aClass121_3815.aByteBuffer1644 = var29; + this.aClass121_3815.aClass156_1643 = null; + this.aClass121_3815.anInt1648 = var6; + } + + if(var5) { + this.aClass121_3817.aBoolean1640 = true; + this.aClass121_3817.aByteBuffer1644 = var29; + this.aClass121_3817.aClass156_1643 = null; + this.aClass121_3817.anInt1648 = var6; + } + } + + } + } + + private final Model method1923(boolean var1, boolean var2, boolean var3, Class140_Sub1_Sub1 var4, Class140_Sub1_Sub1 var5) { + var4.anInt3823 = this.anInt3823; + var4.anInt3833 = this.anInt3833; + var4.anInt3852 = this.anInt3852; + var4.aShort3849 = this.aShort3849; + var4.aShort3819 = this.aShort3819; + var4.aByte3836 = (byte)(1 | (var1 && var2?0:2) | (var3?0:4)); + if(var4.anIntArray3822 == null || var4.anIntArray3822.length < this.anInt3823) { + var4.anIntArray3822 = new int[this.anInt3823 + 100]; + var4.anIntArray3845 = new int[this.anInt3823 + 100]; + var4.anIntArray3848 = new int[this.anInt3823 + 100]; + } + + int var6; + for(var6 = 0; var6 < this.anInt3823; ++var6) { + var4.anIntArray3822[var6] = this.anIntArray3822[var6]; + var4.anIntArray3845[var6] = this.anIntArray3845[var6]; + var4.anIntArray3848[var6] = this.anIntArray3848[var6]; + } + + if(var4.aClass121_3839 == null) { + var4.aClass121_3839 = new Class121(); + } + + var4.aClass121_3839.aBoolean1640 = false; + if(var4.aClass6_3835 == null) { + var4.aClass6_3835 = new Class6(); + } + + var4.aClass6_3835.aBoolean98 = false; + if(var1) { + var4.aByteArray3816 = this.aByteArray3816; + } else { + if(var5.aByteArray3816 == null || var5.aByteArray3816.length < this.anInt3852) { + var5.aByteArray3816 = new byte[this.anInt3852 + 100]; + } + + var4.aByteArray3816 = var5.aByteArray3816; + + for(var6 = 0; var6 < this.anInt3852; ++var6) { + var4.aByteArray3816[var6] = this.aByteArray3816[var6]; + } + } + + if(var2) { + var4.aShortArray3808 = this.aShortArray3808; + } else { + if(var5.aShortArray3808 == null || var5.aShortArray3808.length < this.anInt3852) { + var5.aShortArray3808 = new short[this.anInt3852 + 100]; + } + + var4.aShortArray3808 = var5.aShortArray3808; + + for(var6 = 0; var6 < this.anInt3852; ++var6) { + var4.aShortArray3808[var6] = this.aShortArray3808[var6]; + } + } + + if(var1 && var2) { + var4.aClass121_3814 = this.aClass121_3814; + } else { + if(var5.aClass121_3814 == null) { + var5.aClass121_3814 = new Class121(); + } + + var4.aClass121_3814 = var5.aClass121_3814; + var4.aClass121_3814.aBoolean1640 = false; + } + + if(!var3 && this.aShortArray3810 != null) { + if(var5.aShortArray3810 == null || var5.aShortArray3810.length < this.anInt3833) { + var5.aShortArray3810 = new short[this.anInt3833 + 100]; + var5.aShortArray3826 = new short[this.anInt3833 + 100]; + var5.aShortArray3837 = new short[this.anInt3833 + 100]; + var5.aShortArray3841 = new short[this.anInt3833 + 100]; + } + + var4.aShortArray3810 = var5.aShortArray3810; + var4.aShortArray3826 = var5.aShortArray3826; + var4.aShortArray3837 = var5.aShortArray3837; + var4.aShortArray3841 = var5.aShortArray3841; + + for(var6 = 0; var6 < this.anInt3833; ++var6) { + var4.aShortArray3810[var6] = this.aShortArray3810[var6]; + var4.aShortArray3826[var6] = this.aShortArray3826[var6]; + var4.aShortArray3837[var6] = this.aShortArray3837[var6]; + var4.aShortArray3841[var6] = this.aShortArray3841[var6]; + } + + if(Class106.aBoolean1441) { + if(var5.aClass121_3815 == null) { + var5.aClass121_3815 = new Class121(); + } + + var4.aClass121_3815 = var5.aClass121_3815; + var4.aClass121_3815.aBoolean1640 = false; + } else { + var4.aClass121_3815 = null; + } + } else { + var4.aShortArray3810 = this.aShortArray3810; + var4.aShortArray3826 = this.aShortArray3826; + var4.aShortArray3837 = this.aShortArray3837; + var4.aShortArray3841 = this.aShortArray3841; + var4.aClass121_3815 = this.aClass121_3815; + } + + var4.aFloatArray3824 = this.aFloatArray3824; + var4.aFloatArray3847 = this.aFloatArray3847; + var4.anIntArray3844 = this.anIntArray3844; + var4.anIntArrayArray3825 = this.anIntArrayArray3825; + var4.aShortArray3811 = this.aShortArray3811; + var4.aShortArray3830 = this.aShortArray3830; + var4.aShortArray3831 = this.aShortArray3831; + var4.aShortArray3827 = this.aShortArray3827; + var4.aByteArray3820 = this.aByteArray3820; + var4.anIntArrayArray3829 = this.anIntArrayArray3829; + var4.aClass121_3817 = this.aClass121_3817; + var4.aClass121_3846 = this.aClass121_3846; + var4.anIntArray3840 = this.anIntArray3840; + var4.aShortArray3828 = this.aShortArray3828; + var4.anIntArray3838 = this.anIntArray3838; + var4.aBoolean2699 = this.aBoolean2699; + var4.aShortArray3832 = this.aShortArray3832; + var4.aShortArray3813 = this.aShortArray3813; + return var4; + } + + final GameObject method1861(int var1, int var2, int var3) { + this.aBoolean3809 = false; + if(this.aClass18_3843 != null) { + this.aShortArray3810 = this.aClass18_3843.aShortArray417; + this.aShortArray3826 = this.aClass18_3843.aShortArray419; + this.aShortArray3837 = this.aClass18_3843.aShortArray418; + this.aShortArray3841 = this.aClass18_3843.aShortArray416; + this.aClass18_3843 = null; + } + + return this; + } + + final int method1924() { + return this.aShort3819; + } + + final void method1925() { + if(this.aShortArray3810 == null) { + this.method1885(); + } else { + int var1; + for(var1 = 0; var1 < this.anInt3823; ++var1) { + int var2 = this.anIntArray3822[var1]; + this.anIntArray3822[var1] = this.anIntArray3848[var1]; + this.anIntArray3848[var1] = -var2; + } + + for(var1 = 0; var1 < this.anInt3833; ++var1) { + short var3 = this.aShortArray3810[var1]; + this.aShortArray3810[var1] = this.aShortArray3837[var1]; + this.aShortArray3837[var1] = (short)(-var3); + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + } + } + + final Class140_Sub1_Sub1 method1926(boolean var1, boolean var2, boolean var3, boolean var4, boolean var5, boolean var6, boolean var7, boolean var8, boolean var9, boolean var10, boolean var11) { + Class140_Sub1_Sub1 var12 = new Class140_Sub1_Sub1(); + var12.anInt3823 = this.anInt3823; + var12.anInt3833 = this.anInt3833; + var12.anInt3852 = this.anInt3852; + if(var1) { + var12.anIntArray3822 = this.anIntArray3822; + var12.anIntArray3848 = this.anIntArray3848; + } else { + var12.anIntArray3822 = Class65.method1233(this.anIntArray3822, 2); + var12.anIntArray3848 = Class65.method1233(this.anIntArray3848, 2); + } + + if(var2) { + var12.anIntArray3845 = this.anIntArray3845; + } else { + var12.anIntArray3845 = Class65.method1233(this.anIntArray3845, 2); + } + + if(var1 && var2) { + var12.aClass121_3839 = this.aClass121_3839; + var12.aClass6_3835 = this.aClass6_3835; + } else { + var12.aClass121_3839 = new Class121(); + var12.aClass6_3835 = new Class6(); + } + + if(var3) { + var12.aShortArray3808 = this.aShortArray3808; + } else { + var12.aShortArray3808 = OutputStream_Sub1.method65(23032, this.aShortArray3808); + } + + if(var4) { + var12.aByteArray3816 = this.aByteArray3816; + } else { + var12.aByteArray3816 = Class108.method1655((byte)-46, this.aByteArray3816); + } + + if(var3 && var4 && var5 && (var8 && var6 || Class106.aBoolean1441)) { + var12.aClass121_3814 = this.aClass121_3814; + } else { + var12.aClass121_3814 = new Class121(); + } + + if(var6) { + var12.aShortArray3810 = this.aShortArray3810; + var12.aShortArray3826 = this.aShortArray3826; + var12.aShortArray3837 = this.aShortArray3837; + var12.aShortArray3841 = this.aShortArray3841; + } else { + var12.aShortArray3810 = OutputStream_Sub1.method65(23032, this.aShortArray3810); + var12.aShortArray3826 = OutputStream_Sub1.method65(23032, this.aShortArray3826); + var12.aShortArray3837 = OutputStream_Sub1.method65(23032, this.aShortArray3837); + var12.aShortArray3841 = OutputStream_Sub1.method65(23032, this.aShortArray3841); + } + + if(Class106.aBoolean1441) { + if(var6 && var7 && var8) { + var12.aClass121_3815 = this.aClass121_3815; + } else { + var12.aClass121_3815 = new Class121(); + } + } else { + var12.aClass121_3815 = null; + } + + if(var9) { + var12.aFloatArray3824 = this.aFloatArray3824; + var12.aFloatArray3847 = this.aFloatArray3847; + var12.aClass121_3817 = this.aClass121_3817; + } else { + var12.aFloatArray3824 = Class3_Sub6.method119(this.aFloatArray3824, 0); + var12.aFloatArray3847 = Class3_Sub6.method119(this.aFloatArray3847, 0); + var12.aClass121_3817 = new Class121(); + } + + if(var10) { + var12.aShortArray3811 = this.aShortArray3811; + var12.aShortArray3830 = this.aShortArray3830; + var12.aShortArray3831 = this.aShortArray3831; + var12.aClass121_3846 = this.aClass121_3846; + } else { + var12.aShortArray3811 = OutputStream_Sub1.method65(23032, this.aShortArray3811); + var12.aShortArray3830 = OutputStream_Sub1.method65(23032, this.aShortArray3830); + var12.aShortArray3831 = OutputStream_Sub1.method65(23032, this.aShortArray3831); + var12.aClass121_3846 = new Class121(); + } + + if(var11) { + var12.aShortArray3827 = this.aShortArray3827; + } else { + var12.aShortArray3827 = OutputStream_Sub1.method65(23032, this.aShortArray3827); + } + + var12.anIntArray3844 = this.anIntArray3844; + var12.anIntArrayArray3825 = this.anIntArrayArray3825; + var12.aByteArray3820 = this.aByteArray3820; + var12.anIntArrayArray3829 = this.anIntArrayArray3829; + var12.anIntArray3840 = this.anIntArray3840; + var12.aShortArray3828 = this.aShortArray3828; + var12.anIntArray3838 = this.anIntArray3838; + var12.aShort3849 = this.aShort3849; + var12.aShort3819 = this.aShort3819; + var12.aShortArray3832 = this.aShortArray3832; + var12.aShortArray3813 = this.aShortArray3813; + return var12; + } + + final void method1885() { + for(int var1 = 0; var1 < this.anInt3823; ++var1) { + int var2 = this.anIntArray3822[var1]; + this.anIntArray3822[var1] = this.anIntArray3848[var1]; + this.anIntArray3848[var1] = -var2; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + private final boolean method1927(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + return var2 < var3 && var2 < var4 && var2 < var5?false:(var2 > var3 && var2 > var4 && var2 > var5?false:(var1 < var6 && var1 < var7 && var1 < var8?false:var1 <= var6 || var1 <= var7 || var1 <= var8)); + } + + private static final short[] method1928(short[] var0, int var1) { + short[] var2 = new short[var1]; + Class76.method1361(var0, 0, var2, 0, var1); + return var2; + } + + final int method1888() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort93; + } + + final void method1891(int var1, int[] var2, int var3, int var4, int var5, boolean var6) { + int var7 = var2.length; + int var8; + int var9; + int var12; + int var13; + if(var1 == 0) { + var3 <<= 4; + var4 <<= 4; + var5 <<= 4; + var8 = 0; + anInt3859 = 0; + anInt3865 = 0; + anInt3862 = 0; + + for(var9 = 0; var9 < var7; ++var9) { + int var20 = var2[var9]; + if(var20 < this.anIntArrayArray3825.length) { + int[] var21 = this.anIntArrayArray3825[var20]; + + for(var12 = 0; var12 < var21.length; ++var12) { + var13 = var21[var12]; + anInt3859 += this.anIntArray3822[var13]; + anInt3865 += this.anIntArray3845[var13]; + anInt3862 += this.anIntArray3848[var13]; + ++var8; + } + } + } + + if(var8 > 0) { + anInt3859 = anInt3859 / var8 + var3; + anInt3865 = anInt3865 / var8 + var4; + anInt3862 = anInt3862 / var8 + var5; + } else { + anInt3859 = var3; + anInt3865 = var4; + anInt3862 = var5; + } + + } else { + int[] var10; + int var11; + if(var1 == 1) { + var3 <<= 4; + var4 <<= 4; + var5 <<= 4; + + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3825.length) { + var10 = this.anIntArrayArray3825[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3822[var12] += var3; + this.anIntArray3845[var12] += var4; + this.anIntArray3848[var12] += var5; + } + } + } + + } else { + int var14; + int var15; + int var16; + if(var1 == 2) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3825.length) { + var10 = this.anIntArrayArray3825[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3822[var12] -= anInt3859; + this.anIntArray3845[var12] -= anInt3865; + this.anIntArray3848[var12] -= anInt3862; + if(var5 != 0) { + var13 = Class51.anIntArray840[var5]; + var14 = Class51.anIntArray851[var5]; + var15 = this.anIntArray3845[var12] * var13 + this.anIntArray3822[var12] * var14 + 32767 >> 16; + this.anIntArray3845[var12] = this.anIntArray3845[var12] * var14 - this.anIntArray3822[var12] * var13 + 32767 >> 16; + this.anIntArray3822[var12] = var15; + } + + if(var3 != 0) { + var13 = Class51.anIntArray840[var3]; + var14 = Class51.anIntArray851[var3]; + var15 = this.anIntArray3845[var12] * var14 - this.anIntArray3848[var12] * var13 + 32767 >> 16; + this.anIntArray3848[var12] = this.anIntArray3845[var12] * var13 + this.anIntArray3848[var12] * var14 + 32767 >> 16; + this.anIntArray3845[var12] = var15; + } + + if(var4 != 0) { + var13 = Class51.anIntArray840[var4]; + var14 = Class51.anIntArray851[var4]; + var15 = this.anIntArray3848[var12] * var13 + this.anIntArray3822[var12] * var14 + 32767 >> 16; + this.anIntArray3848[var12] = this.anIntArray3848[var12] * var14 - this.anIntArray3822[var12] * var13 + 32767 >> 16; + this.anIntArray3822[var12] = var15; + } + + this.anIntArray3822[var12] += anInt3859; + this.anIntArray3845[var12] += anInt3865; + this.anIntArray3848[var12] += anInt3862; + } + } + } + + if(var6 && this.aShortArray3810 != null) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3825.length) { + var10 = this.anIntArrayArray3825[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + var13 = this.anIntArray3838[var12]; + var14 = this.anIntArray3838[var12 + 1]; + + for(var15 = var13; var15 < var14; ++var15) { + var16 = this.aShortArray3828[var15] - 1; + if(var16 == -1) { + break; + } + + int var17; + int var19; + int var18; + if(var5 != 0) { + var17 = Class51.anIntArray840[var5]; + var18 = Class51.anIntArray851[var5]; + var19 = this.aShortArray3826[var16] * var17 + this.aShortArray3810[var16] * var18 + 32767 >> 16; + this.aShortArray3826[var16] = (short)(this.aShortArray3826[var16] * var18 - this.aShortArray3810[var16] * var17 + 32767 >> 16); + this.aShortArray3810[var16] = (short)var19; + } + + if(var3 != 0) { + var17 = Class51.anIntArray840[var3]; + var18 = Class51.anIntArray851[var3]; + var19 = this.aShortArray3826[var16] * var18 - this.aShortArray3837[var16] * var17 + 32767 >> 16; + this.aShortArray3837[var16] = (short)(this.aShortArray3826[var16] * var17 + this.aShortArray3837[var16] * var18 + 32767 >> 16); + this.aShortArray3826[var16] = (short)var19; + } + + if(var4 != 0) { + var17 = Class51.anIntArray840[var4]; + var18 = Class51.anIntArray851[var4]; + var19 = this.aShortArray3837[var16] * var17 + this.aShortArray3810[var16] * var18 + 32767 >> 16; + this.aShortArray3837[var16] = (short)(this.aShortArray3837[var16] * var18 - this.aShortArray3810[var16] * var17 + 32767 >> 16); + this.aShortArray3810[var16] = (short)var19; + } + } + } + } + } + + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + } + + } else if(var1 == 3) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3825.length) { + var10 = this.anIntArrayArray3825[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3822[var12] -= anInt3859; + this.anIntArray3845[var12] -= anInt3865; + this.anIntArray3848[var12] -= anInt3862; + this.anIntArray3822[var12] = this.anIntArray3822[var12] * var3 >> 7; + this.anIntArray3845[var12] = this.anIntArray3845[var12] * var4 >> 7; + this.anIntArray3848[var12] = this.anIntArray3848[var12] * var5 >> 7; + this.anIntArray3822[var12] += anInt3859; + this.anIntArray3845[var12] += anInt3865; + this.anIntArray3848[var12] += anInt3862; + } + } + } + + } else if(var1 == 5) { + if(this.anIntArrayArray3829 != null && this.aByteArray3816 != null) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3829.length) { + var10 = this.anIntArrayArray3829[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + var13 = (this.aByteArray3816[var12] & 255) + var3 * 8; + if(var13 < 0) { + var13 = 0; + } else if(var13 > 255) { + var13 = 255; + } + + this.aByteArray3816[var12] = (byte)var13; + } + + if(var10.length > 0) { + this.aClass121_3814.aBoolean1640 = false; + } + } + } + } + + } else if(var1 == 7) { + if(this.anIntArrayArray3829 != null) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3829.length) { + var10 = this.anIntArrayArray3829[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + var13 = this.aShortArray3808[var12] & '\uffff'; + var14 = var13 >> 10 & 63; + var15 = var13 >> 7 & 7; + var16 = var13 & 127; + var14 = var14 + var3 & 63; + var15 += var4 / 4; + if(var15 < 0) { + var15 = 0; + } else if(var15 > 7) { + var15 = 7; + } + + var16 += var5; + if(var16 < 0) { + var16 = 0; + } else if(var16 > 127) { + var16 = 127; + } + + this.aShortArray3808[var12] = (short)(var14 << 10 | var15 << 7 | var16); + } + + if(var10.length > 0) { + this.aClass121_3814.aBoolean1640 = false; + } + } + } + } + + } + } + } + } + + final void method1889(int var1, int var2, int var3, int var4) { + int var5; + int var6; + if(var1 == 0) { + var5 = 0; + anInt3859 = 0; + anInt3865 = 0; + anInt3862 = 0; + + for(var6 = 0; var6 < this.anInt3823; ++var6) { + anInt3859 += this.anIntArray3822[var6]; + anInt3865 += this.anIntArray3845[var6]; + anInt3862 += this.anIntArray3848[var6]; + ++var5; + } + + if(var5 > 0) { + anInt3859 = anInt3859 / var5 + var2; + anInt3865 = anInt3865 / var5 + var3; + anInt3862 = anInt3862 / var5 + var4; + } else { + anInt3859 = var2; + anInt3865 = var3; + anInt3862 = var4; + } + + } else if(var1 == 1) { + for(var5 = 0; var5 < this.anInt3823; ++var5) { + this.anIntArray3822[var5] += var2; + this.anIntArray3845[var5] += var3; + this.anIntArray3848[var5] += var4; + } + + } else { + int var7; + int var8; + if(var1 == 2) { + for(var5 = 0; var5 < this.anInt3823; ++var5) { + this.anIntArray3822[var5] -= anInt3859; + this.anIntArray3845[var5] -= anInt3865; + this.anIntArray3848[var5] -= anInt3862; + if(var4 != 0) { + var6 = Class51.anIntArray840[var4]; + var7 = Class51.anIntArray851[var4]; + var8 = this.anIntArray3845[var5] * var6 + this.anIntArray3822[var5] * var7 + 32767 >> 16; + this.anIntArray3845[var5] = this.anIntArray3845[var5] * var7 - this.anIntArray3822[var5] * var6 + 32767 >> 16; + this.anIntArray3822[var5] = var8; + } + + if(var2 != 0) { + var6 = Class51.anIntArray840[var2]; + var7 = Class51.anIntArray851[var2]; + var8 = this.anIntArray3845[var5] * var7 - this.anIntArray3848[var5] * var6 + 32767 >> 16; + this.anIntArray3848[var5] = this.anIntArray3845[var5] * var6 + this.anIntArray3848[var5] * var7 + 32767 >> 16; + this.anIntArray3845[var5] = var8; + } + + if(var3 != 0) { + var6 = Class51.anIntArray840[var3]; + var7 = Class51.anIntArray851[var3]; + var8 = this.anIntArray3848[var5] * var6 + this.anIntArray3822[var5] * var7 + 32767 >> 16; + this.anIntArray3848[var5] = this.anIntArray3848[var5] * var7 - this.anIntArray3822[var5] * var6 + 32767 >> 16; + this.anIntArray3822[var5] = var8; + } + + this.anIntArray3822[var5] += anInt3859; + this.anIntArray3845[var5] += anInt3865; + this.anIntArray3848[var5] += anInt3862; + } + + } else if(var1 != 3) { + if(var1 == 5) { + for(var5 = 0; var5 < this.anInt3852; ++var5) { + var6 = (this.aByteArray3816[var5] & 255) + var2 * 8; + if(var6 < 0) { + var6 = 0; + } else if(var6 > 255) { + var6 = 255; + } + + this.aByteArray3816[var5] = (byte)var6; + } + + this.aClass121_3814.aBoolean1640 = false; + } else if(var1 == 7) { + for(var5 = 0; var5 < this.anInt3852; ++var5) { + var6 = this.aShortArray3808[var5] & '\uffff'; + var7 = var6 >> 10 & 63; + var8 = var6 >> 7 & 7; + int var9 = var6 & 127; + var7 = var7 + var2 & 63; + var8 += var3 / 4; + if(var8 < 0) { + var8 = 0; + } else if(var8 > 7) { + var8 = 7; + } + + var9 += var4; + if(var9 < 0) { + var9 = 0; + } else if(var9 > 127) { + var9 = 127; + } + + this.aShortArray3808[var5] = (short)(var7 << 10 | var8 << 7 | var9); + } + + this.aClass121_3814.aBoolean1640 = false; + } + } else { + for(var5 = 0; var5 < this.anInt3823; ++var5) { + this.anIntArray3822[var5] -= anInt3859; + this.anIntArray3845[var5] -= anInt3865; + this.anIntArray3848[var5] -= anInt3862; + this.anIntArray3822[var5] = this.anIntArray3822[var5] * var2 / 128; + this.anIntArray3845[var5] = this.anIntArray3845[var5] * var3 / 128; + this.anIntArray3848[var5] = this.anIntArray3848[var5] * var4 / 128; + this.anIntArray3822[var5] += anInt3859; + this.anIntArray3845[var5] += anInt3865; + this.anIntArray3848[var5] += anInt3862; + } + + } + } + } + + static final void method1929() { + aClass140_Sub1_Sub1_3842 = new Class140_Sub1_Sub1(); + aClass140_Sub1_Sub1_3850 = new Class140_Sub1_Sub1(); + aClass140_Sub1_Sub1_3853 = new Class140_Sub1_Sub1(); + aClass140_Sub1_Sub1_3854 = new Class140_Sub1_Sub1(); + aClass140_Sub1_Sub1_3855 = new Class140_Sub1_Sub1(); + aClass140_Sub1_Sub1_3856 = new Class140_Sub1_Sub1(); + } + + final int method1884() { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + return this.aClass6_3835.aShort95; + } + + private final void method1930() { + GL var1 = HDToolKit.gl; + if(this.anInt3852 != 0) { + if(this.aByte3836 != 0) { + this.method1922(true, !this.aClass121_3839.aBoolean1640 && (this.aByte3836 & 1) != 0, !this.aClass121_3814.aBoolean1640 && (this.aByte3836 & 2) != 0, this.aClass121_3815 != null && !this.aClass121_3815.aBoolean1640 && (this.aByte3836 & 4) != 0, false); + } + + this.method1922(false, !this.aClass121_3839.aBoolean1640, !this.aClass121_3814.aBoolean1640, this.aClass121_3815 != null && !this.aClass121_3815.aBoolean1640, !this.aClass121_3817.aBoolean1640); + if(!this.aClass121_3846.aBoolean1640) { + this.method1912(); + } + + if(this.aByte3851 != 0) { + if((this.aByte3851 & 1) != 0) { + this.anIntArray3822 = null; + this.anIntArray3845 = null; + this.anIntArray3848 = null; + this.aShortArray3828 = null; + this.anIntArray3838 = null; + } + + if((this.aByte3851 & 2) != 0) { + this.aShortArray3808 = null; + this.aByteArray3816 = null; + } + + if((this.aByte3851 & 4) != 0) { + this.aShortArray3810 = null; + this.aShortArray3826 = null; + this.aShortArray3837 = null; + this.aShortArray3841 = null; + } + + if((this.aByte3851 & 8) != 0) { + this.aFloatArray3824 = null; + this.aFloatArray3847 = null; + } + + if((this.aByte3851 & 16) != 0) { + this.aShortArray3811 = null; + this.aShortArray3830 = null; + this.aShortArray3831 = null; + } + + this.aByte3851 = 0; + } + + Class156 var2 = null; + if(this.aClass121_3839.aClass156_1643 != null) { + this.aClass121_3839.aClass156_1643.method2169(); + var2 = this.aClass121_3839.aClass156_1643; + var1.glVertexPointer(3, 5126, this.aClass121_3839.anInt1648, (long)this.aClass121_3839.anInt1639); + } + + if(this.aClass121_3814.aClass156_1643 != null) { + if(var2 != this.aClass121_3814.aClass156_1643) { + this.aClass121_3814.aClass156_1643.method2169(); + var2 = this.aClass121_3814.aClass156_1643; + } + + var1.glColorPointer(4, 5121, this.aClass121_3814.anInt1648, (long)this.aClass121_3814.anInt1639); + } + + if(Class106.aBoolean1441 && this.aClass121_3815.aClass156_1643 != null) { + if(var2 != this.aClass121_3815.aClass156_1643) { + this.aClass121_3815.aClass156_1643.method2169(); + var2 = this.aClass121_3815.aClass156_1643; + } + + var1.glNormalPointer(5126, this.aClass121_3815.anInt1648, (long)this.aClass121_3815.anInt1639); + } + + if(this.aClass121_3817.aClass156_1643 != null) { + if(var2 != this.aClass121_3817.aClass156_1643) { + this.aClass121_3817.aClass156_1643.method2169(); + var2 = this.aClass121_3817.aClass156_1643; + } + + var1.glTexCoordPointer(2, 5126, this.aClass121_3817.anInt1648, (long)this.aClass121_3817.anInt1639); + } + + if(this.aClass121_3846.aClass156_1643 != null) { + this.aClass121_3846.aClass156_1643.method2171(); + } + + if(this.aClass121_3839.aClass156_1643 == null || this.aClass121_3814.aClass156_1643 == null || Class106.aBoolean1441 && this.aClass121_3815.aClass156_1643 == null || this.aClass121_3817.aClass156_1643 == null) { + if(HDToolKit.aBoolean1813) { + var1.glBindBufferARB('\u8892', 0); + } + + if(this.aClass121_3839.aClass156_1643 == null) { + this.aClass121_3839.aByteBuffer1644.position(this.aClass121_3839.anInt1639); + var1.glVertexPointer(3, 5126, this.aClass121_3839.anInt1648, this.aClass121_3839.aByteBuffer1644); + } + + if(this.aClass121_3814.aClass156_1643 == null) { + this.aClass121_3814.aByteBuffer1644.position(this.aClass121_3814.anInt1639); + var1.glColorPointer(4, 5121, this.aClass121_3814.anInt1648, this.aClass121_3814.aByteBuffer1644); + } + + if(Class106.aBoolean1441 && this.aClass121_3815.aClass156_1643 == null) { + this.aClass121_3815.aByteBuffer1644.position(this.aClass121_3815.anInt1639); + var1.glNormalPointer(5126, this.aClass121_3815.anInt1648, this.aClass121_3815.aByteBuffer1644); + } + + if(this.aClass121_3817.aClass156_1643 == null) { + this.aClass121_3817.aByteBuffer1644.position(this.aClass121_3817.anInt1639); + var1.glTexCoordPointer(2, 5126, this.aClass121_3817.anInt1648, this.aClass121_3817.aByteBuffer1644); + } + } + + if(this.aClass121_3846.aClass156_1643 == null && HDToolKit.aBoolean1813) { + var1.glBindBufferARB('\u8893', 0); + } + + int var3 = this.anIntArray3840.length - 1; + + for(int var4 = 0; var4 < var3; ++var4) { + int var5 = this.anIntArray3840[var4]; + int var6 = this.anIntArray3840[var4 + 1]; + short var7 = this.aShortArray3827[var5]; + if(var7 == -1) { + HDToolKit.bindTexture2D(-1); + Class3_Sub28_Sub4.method551(0, 0, 0); + } else { + Class51.anInterface2_838.method8(var7 & '\uffff', true); + } + + if(this.aClass121_3846.aClass156_1643 != null) { + var1.glDrawElements(4, (var6 - var5) * 3, 5125, (long)(var5 * 12)); + } else { + this.aClass121_3846.aByteBuffer1644.position(var5 * 12); + var1.glDrawElements(4, (var6 - var5) * 3, 5125, this.aClass121_3846.aByteBuffer1644); + } + } + + } + } + + final void method1879() { + for(int var1 = 0; var1 < this.anInt3823; ++var1) { + this.anIntArray3822[var1] = this.anIntArray3822[var1] + 7 >> 4; + this.anIntArray3845[var1] = this.anIntArray3845[var1] + 7 >> 4; + this.anIntArray3848[var1] = this.anIntArray3848[var1] + 7 >> 4; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final void method1931() { + int var1; + for(var1 = 0; var1 < this.anInt3823; ++var1) { + this.anIntArray3848[var1] = -this.anIntArray3848[var1]; + } + + if(this.aShortArray3837 != null) { + for(var1 = 0; var1 < this.anInt3833; ++var1) { + this.aShortArray3837[var1] = (short)(-this.aShortArray3837[var1]); + } + } + + for(var1 = 0; var1 < this.anInt3852; ++var1) { + short var2 = this.aShortArray3811[var1]; + this.aShortArray3811[var1] = this.aShortArray3831[var1]; + this.aShortArray3831[var1] = var2; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + this.aClass121_3846.aBoolean1640 = false; + } + + final void method1896(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3823; ++var4) { + int var5 = this.anIntArray3845[var4] * var3 - this.anIntArray3848[var4] * var2 >> 16; + this.anIntArray3848[var4] = this.anIntArray3845[var4] * var2 + this.anIntArray3848[var4] * var3 >> 16; + this.anIntArray3845[var4] = var5; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + final void method1932(int var1) { + if(this.aShortArray3810 == null) { + this.method1876(var1); + } else { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + int var4; + int var5; + for(var4 = 0; var4 < this.anInt3823; ++var4) { + var5 = this.anIntArray3848[var4] * var2 + this.anIntArray3822[var4] * var3 >> 16; + this.anIntArray3848[var4] = this.anIntArray3848[var4] * var3 - this.anIntArray3822[var4] * var2 >> 16; + this.anIntArray3822[var4] = var5; + } + + for(var4 = 0; var4 < this.anInt3833; ++var4) { + var5 = this.aShortArray3837[var4] * var2 + this.aShortArray3810[var4] * var3 >> 16; + this.aShortArray3837[var4] = (short)(this.aShortArray3837[var4] * var3 - this.aShortArray3810[var4] * var2 >> 16); + this.aShortArray3810[var4] = (short)var5; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + if(this.aClass121_3815 != null) { + this.aClass121_3815.aBoolean1640 = false; + } + + } + } + + final LDIndexedSprite method1933(LDIndexedSprite var1) { + if(this.anInt3833 == 0) { + return null; + } else { + if(!this.aClass6_3835.aBoolean98) { + this.method1917(); + } + + int var2; + int var3; + if(Class92.anInt1314 > 0) { + var2 = this.aClass6_3835.aShort95 - (this.aClass6_3835.aShort92 * Class92.anInt1314 >> 8) >> 3; + var3 = this.aClass6_3835.aShort94 - (this.aClass6_3835.aShort91 * Class92.anInt1314 >> 8) >> 3; + } else { + var2 = this.aClass6_3835.aShort95 - (this.aClass6_3835.aShort91 * Class92.anInt1314 >> 8) >> 3; + var3 = this.aClass6_3835.aShort94 - (this.aClass6_3835.aShort92 * Class92.anInt1314 >> 8) >> 3; + } + + int var4; + int var5; + if(Class92.anInt1315 > 0) { + var4 = this.aClass6_3835.aShort97 - (this.aClass6_3835.aShort92 * Class92.anInt1315 >> 8) >> 3; + var5 = this.aClass6_3835.aShort96 - (this.aClass6_3835.aShort91 * Class92.anInt1315 >> 8) >> 3; + } else { + var4 = this.aClass6_3835.aShort97 - (this.aClass6_3835.aShort91 * Class92.anInt1315 >> 8) >> 3; + var5 = this.aClass6_3835.aShort96 - (this.aClass6_3835.aShort92 * Class92.anInt1315 >> 8) >> 3; + } + + int var6 = var3 - var2 + 1; + int var7 = var5 - var4 + 1; + LDIndexedSprite var8; + if(var1 != null && var1.aByteArray2674.length >= var6 * var7) { + var8 = var1; + var1.anInt1469 = var1.anInt1461 = var6; + var1.anInt1467 = var1.anInt1468 = var7; + var1.method1671(); + } else { + var8 = new LDIndexedSprite(var6, var7, 0); + } + + var8.anInt1470 = var2; + var8.anInt1464 = var4; + if(anIntArray3861.length < this.anInt3833) { + anIntArray3861 = new int[this.anInt3833]; + anIntArray3857 = new int[this.anInt3833]; + } + + int var9 = 0; + + int var13; + int var14; + int var15; + while(var9 < this.anInt3823) { + int var10 = (this.anIntArray3822[var9] - (this.anIntArray3845[var9] * Class92.anInt1314 >> 8) >> 3) - var2; + int var11 = (this.anIntArray3848[var9] - (this.anIntArray3845[var9] * Class92.anInt1315 >> 8) >> 3) - var4; + int var12 = this.anIntArray3838[var9]; + var13 = this.anIntArray3838[var9 + 1]; + var14 = var12; + + while(true) { + if(var14 < var13) { + var15 = this.aShortArray3828[var14] - 1; + if(var15 != -1) { + anIntArray3861[var15] = var10; + anIntArray3857[var15] = var11; + ++var14; + continue; + } + } + + ++var9; + break; + } + } + + for(var9 = 0; var9 < this.anInt3852; ++var9) { + if(this.aByteArray3816[var9] <= 128) { + short var20 = this.aShortArray3811[var9]; + short var19 = this.aShortArray3830[var9]; + short var21 = this.aShortArray3831[var9]; + var13 = anIntArray3861[var20]; + var14 = anIntArray3861[var19]; + var15 = anIntArray3861[var21]; + int var16 = anIntArray3857[var20]; + int var17 = anIntArray3857[var19]; + int var18 = anIntArray3857[var21]; + if((var13 - var14) * (var17 - var18) - (var17 - var16) * (var15 - var14) > 0) { + Class51.method1147(var8.aByteArray2674, var16, var17, var18, var13, var14, var15, var6); + } + } + } + + return var8; + } + } + + final void method1900() { + for(int var1 = 0; var1 < this.anInt3823; ++var1) { + int var2 = this.anIntArray3848[var1]; + this.anIntArray3848[var1] = this.anIntArray3822[var1]; + this.anIntArray3822[var1] = -var2; + } + + this.aClass6_3835.aBoolean98 = false; + this.aClass121_3839.aBoolean1640 = false; + } + + private Class140_Sub1_Sub1() {} + + Class140_Sub1_Sub1(Model_Sub1 var1, int var2, int var3, boolean var4) { + int[] var5 = new int[var1.anInt2849]; + this.anIntArray3838 = new int[var1.anInt2887 + 1]; + + for(int var6 = 0; var6 < var1.anInt2849; ++var6) { + if((var1.aByteArray2859 == null || var1.aByteArray2859[var6] != 2) && (var1.aShortArray2858 == null || var1.aShortArray2858[var6] == -1 || !Class51.anInterface2_838.method12(var1.aShortArray2858[var6] & '\uffff', -65))) { + var5[this.anInt3852++] = var6; + ++this.anIntArray3838[var1.anIntArray2865[var6]]; + ++this.anIntArray3838[var1.anIntArray2878[var6]]; + ++this.anIntArray3838[var1.anIntArray2864[var6]]; + } + } + + long[] var60 = new long[this.anInt3852]; + + int var7; + int var8; + int var9; + int var62; + for(var7 = 0; var7 < this.anInt3852; ++var7) { + var8 = var5[var7]; + var9 = 0; + byte var10 = 0; + int var11 = 0; + int var12 = 0; + short var13 = -1; + if(var1.aShortArray2858 != null) { + var13 = var1.aShortArray2858[var8]; + if(var13 != -1) { + var11 = Class51.anInterface2_838.method18(var13 & '\uffff', 255); + var12 = Class51.anInterface2_838.method9(var13 & '\uffff', false); + } + } + + boolean var14 = var1.aByteArray2843 != null && var1.aByteArray2843[var8] != 0 || var13 != -1 && !Class51.anInterface2_838.method7((byte)88, var13 & '\uffff'); + if((var4 || var14) && var1.aByteArray2889 != null) { + var9 += var1.aByteArray2889[var8] << 17; + } + + if(var14) { + var9 += 65536; + } + + var9 += (var11 & 255) << 8; + var9 += var12 & 255; + var62 = var10 + ((var13 & '\uffff') << 16); + var62 += var7 & '\uffff'; + var60[var7] = ((long)var9 << 32) + (long)var62; + } + + Class102.method1614(true, var60, var5); + this.anInt3823 = var1.anInt2887; + this.anIntArray3822 = var1.anIntArray2885; + this.anIntArray3845 = var1.anIntArray2881; + this.anIntArray3848 = var1.anIntArray2892; + this.anIntArray3844 = var1.anIntArray2860; + this.aShortArray3832 = var1.aShortArray2893; + var7 = this.anInt3852 * 3; + this.aShortArray3810 = new short[var7]; + this.aShortArray3826 = new short[var7]; + this.aShortArray3837 = new short[var7]; + this.aShortArray3841 = new short[var7]; + this.aFloatArray3824 = new float[var7]; + this.aFloatArray3847 = new float[var7]; + this.aShortArray3808 = new short[this.anInt3852]; + this.aByteArray3816 = new byte[this.anInt3852]; + this.aShortArray3811 = new short[this.anInt3852]; + this.aShortArray3830 = new short[this.anInt3852]; + this.aShortArray3831 = new short[this.anInt3852]; + this.aShortArray3827 = new short[this.anInt3852]; + if(var1.anIntArray2847 != null) { + this.aByteArray3820 = new byte[this.anInt3852]; + } + + if(var1.aShortArray2855 != null) { + this.aShortArray3813 = new short[this.anInt3852]; + } + + this.aClass6_3835 = new Class6(); + this.aClass121_3839 = new Class121(); + this.aClass121_3814 = new Class121(); + if(Class106.aBoolean1441) { + this.aClass121_3815 = new Class121(); + } + + this.aClass121_3817 = new Class121(); + this.aClass121_3846 = new Class121(); + this.aShort3849 = (short)var2; + this.aShort3819 = (short)var3; + this.aShortArray3828 = new short[var7]; + aLongArray3821 = new long[var7]; + var8 = 0; + + for(var9 = 0; var9 < var1.anInt2887; ++var9) { + var62 = this.anIntArray3838[var9]; + this.anIntArray3838[var9] = var8; + var8 += var62; + } + + this.anIntArray3838[var1.anInt2887] = var8; + int[] var63 = null; + int[] var61 = null; + int[] var64 = null; + float[][] var65 = (float[][])null; + int var27; + int var68; + float var79; + float var75; + float var82; + if(var1.aByteArray2866 != null) { + var68 = var1.anInt2862; + int[] var69 = new int[var68]; + int[] var15 = new int[var68]; + int[] var16 = new int[var68]; + int[] var17 = new int[var68]; + int[] var18 = new int[var68]; + int[] var19 = new int[var68]; + + int var20; + for(var20 = 0; var20 < var68; ++var20) { + var69[var20] = Integer.MAX_VALUE; + var15[var20] = -2147483647; + var16[var20] = Integer.MAX_VALUE; + var17[var20] = -2147483647; + var18[var20] = Integer.MAX_VALUE; + var19[var20] = -2147483647; + } + + for(var20 = 0; var20 < this.anInt3852; ++var20) { + int var21 = var5[var20]; + if(var1.aByteArray2866[var21] != -1) { + int var22 = var1.aByteArray2866[var21] & 255; + + for(int var23 = 0; var23 < 3; ++var23) { + int var24; + if(var23 == 0) { + var24 = var1.anIntArray2865[var21]; + } else if(var23 == 1) { + var24 = var1.anIntArray2878[var21]; + } else { + var24 = var1.anIntArray2864[var21]; + } + + int var25 = var1.anIntArray2885[var24]; + int var26 = var1.anIntArray2881[var24]; + var27 = var1.anIntArray2892[var24]; + if(var25 < var69[var22]) { + var69[var22] = var25; + } + + if(var25 > var15[var22]) { + var15[var22] = var25; + } + + if(var26 < var16[var22]) { + var16[var22] = var26; + } + + if(var26 > var17[var22]) { + var17[var22] = var26; + } + + if(var27 < var18[var22]) { + var18[var22] = var27; + } + + if(var27 > var19[var22]) { + var19[var22] = var27; + } + } + } + } + + var63 = new int[var68]; + var61 = new int[var68]; + var64 = new int[var68]; + var65 = new float[var68][]; + + for(var20 = 0; var20 < var68; ++var20) { + byte var76 = var1.aByteArray2857[var20]; + if(var76 > 0) { + var63[var20] = (var69[var20] + var15[var20]) / 2; + var61[var20] = (var16[var20] + var17[var20]) / 2; + var64[var20] = (var18[var20] + var19[var20]) / 2; + if(var76 == 1) { + short var80 = var1.aShortArray2888[var20]; + if(var80 == 0) { + var75 = 1.0F; + var79 = 1.0F; + } else if(var80 > 0) { + var75 = 1.0F; + var79 = (float)var80 / 1024.0F; + } else { + var79 = 1.0F; + var75 = (float)(-var80) / 1024.0F; + } + + var82 = 64.0F / (float)(var1.aShortArray2882[var20] & '\uffff'); + } else if(var76 == 2) { + var75 = 64.0F / (float)(var1.aShortArray2888[var20] & '\uffff'); + var82 = 64.0F / (float)(var1.aShortArray2882[var20] & '\uffff'); + var79 = 64.0F / (float)(var1.aShortArray2851[var20] & '\uffff'); + } else { + var75 = (float)var1.aShortArray2888[var20] / 1024.0F; + var82 = (float)var1.aShortArray2882[var20] / 1024.0F; + var79 = (float)var1.aShortArray2851[var20] / 1024.0F; + } + + var65[var20] = method1906(var1.aShortArray2884[var20], var1.aShortArray2846[var20], var1.aShortArray2891[var20], var1.aByteArray2845[var20] & 255, var75, var82, var79); + } + } + } + + short var71; + int var67; + for(var68 = 0; var68 < this.anInt3852; ++var68) { + int var70 = var5[var68]; + var67 = var1.aShortArray2870[var70] & '\uffff'; + if(var1.aShortArray2858 == null) { + var71 = -1; + } else { + var71 = var1.aShortArray2858[var70]; + } + + int var72; + if(var1.aByteArray2866 == null) { + var72 = -1; + } else { + var72 = var1.aByteArray2866[var70]; + } + + int var74; + if(var1.aByteArray2843 == null) { + var74 = 0; + } else { + var74 = var1.aByteArray2843[var70] & 255; + } + + float var73 = 0.0F; + float var78 = 0.0F; + float var77 = 0.0F; + var75 = 0.0F; + var82 = 0.0F; + var79 = 0.0F; + byte var81 = 0; + byte var83 = 0; + var27 = 0; + byte var28; + int var31; + int var87; + if(var71 != -1) { + if(var72 == -1) { + var73 = 0.0F; + var78 = 1.0F; + var77 = 1.0F; + var75 = 1.0F; + var81 = 1; + var82 = 0.0F; + var79 = 0.0F; + var83 = 2; + } else { + var72 &= 255; + var28 = var1.aByteArray2857[var72]; + int var29; + int var30; + float var38; + float var39; + float var37; + float var51; + float var50; + float var49; + float var54; + float var53; + float var52; + if(var28 == 0) { + var29 = var1.anIntArray2865[var70]; + var30 = var1.anIntArray2878[var70]; + var31 = var1.anIntArray2864[var70]; + short var32 = var1.aShortArray2884[var72]; + short var33 = var1.aShortArray2846[var72]; + short var34 = var1.aShortArray2891[var72]; + float var35 = (float)var1.anIntArray2885[var32]; + float var36 = (float)var1.anIntArray2881[var32]; + var37 = (float)var1.anIntArray2892[var32]; + var38 = (float)var1.anIntArray2885[var33] - var35; + var39 = (float)var1.anIntArray2881[var33] - var36; + float var40 = (float)var1.anIntArray2892[var33] - var37; + float var41 = (float)var1.anIntArray2885[var34] - var35; + float var42 = (float)var1.anIntArray2881[var34] - var36; + float var43 = (float)var1.anIntArray2892[var34] - var37; + float var44 = (float)var1.anIntArray2885[var29] - var35; + float var45 = (float)var1.anIntArray2881[var29] - var36; + float var46 = (float)var1.anIntArray2892[var29] - var37; + float var47 = (float)var1.anIntArray2885[var30] - var35; + float var48 = (float)var1.anIntArray2881[var30] - var36; + var49 = (float)var1.anIntArray2892[var30] - var37; + var50 = (float)var1.anIntArray2885[var31] - var35; + var51 = (float)var1.anIntArray2881[var31] - var36; + var52 = (float)var1.anIntArray2892[var31] - var37; + var53 = var39 * var43 - var40 * var42; + var54 = var40 * var41 - var38 * var43; + float var55 = var38 * var42 - var39 * var41; + float var56 = var42 * var55 - var43 * var54; + float var57 = var43 * var53 - var41 * var55; + float var58 = var41 * var54 - var42 * var53; + float var59 = 1.0F / (var56 * var38 + var57 * var39 + var58 * var40); + var73 = (var56 * var44 + var57 * var45 + var58 * var46) * var59; + var77 = (var56 * var47 + var57 * var48 + var58 * var49) * var59; + var82 = (var56 * var50 + var57 * var51 + var58 * var52) * var59; + var56 = var39 * var55 - var40 * var54; + var57 = var40 * var53 - var38 * var55; + var58 = var38 * var54 - var39 * var53; + var59 = 1.0F / (var56 * var41 + var57 * var42 + var58 * var43); + var78 = (var56 * var44 + var57 * var45 + var58 * var46) * var59; + var75 = (var56 * var47 + var57 * var48 + var58 * var49) * var59; + var79 = (var56 * var50 + var57 * var51 + var58 * var52) * var59; + } else { + var29 = var1.anIntArray2865[var70]; + var30 = var1.anIntArray2878[var70]; + var31 = var1.anIntArray2864[var70]; + int var88 = var63[var72]; + var87 = var61[var72]; + int var94 = var64[var72]; + float[] var93 = var65[var72]; + byte var90 = var1.aByteArray2867[var72]; + var37 = (float)var1.aByteArray2877[var72] / 256.0F; + if(var28 == 1) { + var38 = (float)(var1.aShortArray2851[var72] & '\uffff') / 1024.0F; + method1904(var1.anIntArray2885[var29], var1.anIntArray2881[var29], var1.anIntArray2892[var29], var88, var87, var94, var93, var38, var90, var37); + var73 = aFloat3863; + var78 = aFloat3866; + method1904(var1.anIntArray2885[var30], var1.anIntArray2881[var30], var1.anIntArray2892[var30], var88, var87, var94, var93, var38, var90, var37); + var77 = aFloat3863; + var75 = aFloat3866; + method1904(var1.anIntArray2885[var31], var1.anIntArray2881[var31], var1.anIntArray2892[var31], var88, var87, var94, var93, var38, var90, var37); + var82 = aFloat3863; + var79 = aFloat3866; + var39 = var38 / 2.0F; + if((var90 & 1) == 0) { + if(var77 - var73 > var39) { + var77 -= var38; + var81 = 1; + } else if(var73 - var77 > var39) { + var77 += var38; + var81 = 2; + } + + if(var82 - var73 > var39) { + var82 -= var38; + var83 = 1; + } else if(var73 - var82 > var39) { + var82 += var38; + var83 = 2; + } + } else { + if(var75 - var78 > var39) { + var75 -= var38; + var81 = 1; + } else if(var78 - var75 > var39) { + var75 += var38; + var81 = 2; + } + + if(var79 - var78 > var39) { + var79 -= var38; + var83 = 1; + } else if(var78 - var79 > var39) { + var79 += var38; + var83 = 2; + } + } + } else if(var28 == 2) { + var38 = (float)var1.aByteArray2852[var72] / 256.0F; + var39 = (float)var1.aByteArray2869[var72] / 256.0F; + int var97 = var1.anIntArray2885[var30] - var1.anIntArray2885[var29]; + int var96 = var1.anIntArray2881[var30] - var1.anIntArray2881[var29]; + int var101 = var1.anIntArray2892[var30] - var1.anIntArray2892[var29]; + int var102 = var1.anIntArray2885[var31] - var1.anIntArray2885[var29]; + int var103 = var1.anIntArray2881[var31] - var1.anIntArray2881[var29]; + int var98 = var1.anIntArray2892[var31] - var1.anIntArray2892[var29]; + int var99 = var96 * var98 - var103 * var101; + int var100 = var101 * var102 - var98 * var97; + int var104 = var97 * var103 - var102 * var96; + var49 = 64.0F / (float)(var1.aShortArray2888[var72] & '\uffff'); + var50 = 64.0F / (float)(var1.aShortArray2882[var72] & '\uffff'); + var51 = 64.0F / (float)(var1.aShortArray2851[var72] & '\uffff'); + var52 = ((float)var99 * var93[0] + (float)var100 * var93[1] + (float)var104 * var93[2]) / var49; + var53 = ((float)var99 * var93[3] + (float)var100 * var93[4] + (float)var104 * var93[5]) / var50; + var54 = ((float)var99 * var93[6] + (float)var100 * var93[7] + (float)var104 * var93[8]) / var51; + var27 = method1901(var52, var53, var54); + method1913(var1.anIntArray2885[var29], var1.anIntArray2881[var29], var1.anIntArray2892[var29], var88, var87, var94, var27, var93, var90, var37, var38, var39); + var73 = aFloat3864; + var78 = aFloat3858; + method1913(var1.anIntArray2885[var30], var1.anIntArray2881[var30], var1.anIntArray2892[var30], var88, var87, var94, var27, var93, var90, var37, var38, var39); + var77 = aFloat3864; + var75 = aFloat3858; + method1913(var1.anIntArray2885[var31], var1.anIntArray2881[var31], var1.anIntArray2892[var31], var88, var87, var94, var27, var93, var90, var37, var38, var39); + var82 = aFloat3864; + var79 = aFloat3858; + } else if(var28 == 3) { + method1910(var1.anIntArray2885[var29], var1.anIntArray2881[var29], var1.anIntArray2892[var29], var88, var87, var94, var93, var90, var37); + var73 = aFloat3867; + var78 = aFloat3860; + method1910(var1.anIntArray2885[var30], var1.anIntArray2881[var30], var1.anIntArray2892[var30], var88, var87, var94, var93, var90, var37); + var77 = aFloat3867; + var75 = aFloat3860; + method1910(var1.anIntArray2885[var31], var1.anIntArray2881[var31], var1.anIntArray2892[var31], var88, var87, var94, var93, var90, var37); + var82 = aFloat3867; + var79 = aFloat3860; + if((var90 & 1) == 0) { + if(var77 - var73 > 0.5F) { + --var77; + var81 = 1; + } else if(var73 - var77 > 0.5F) { + ++var77; + var81 = 2; + } + + if(var82 - var73 > 0.5F) { + --var82; + var83 = 1; + } else if(var73 - var82 > 0.5F) { + ++var82; + var83 = 2; + } + } else { + if(var75 - var78 > 0.5F) { + --var75; + var81 = 1; + } else if(var78 - var75 > 0.5F) { + ++var75; + var81 = 2; + } + + if(var79 - var78 > 0.5F) { + --var79; + var83 = 1; + } else if(var78 - var79 > 0.5F) { + ++var79; + var83 = 2; + } + } + } + } + } + } + + var1.method1997(); + if(var1.aByteArray2859 == null) { + var28 = 0; + } else { + var28 = var1.aByteArray2859[var70]; + } + + if(var28 == 0) { + long var86 = (long)(var72 << 2) + ((long)(var27 << 24) + (long)(var67 << 8) + (long)var74 << 32); + var31 = var1.anIntArray2865[var70]; + Class50 var89 = var1.aClass50Array2872[var31]; + this.aShortArray3811[var68] = this.method1907(var1, var31, var86, var89.anInt831, var89.anInt821, var89.anInt830, var89.anInt823, var73, var78); + var87 = var1.anIntArray2878[var70]; + Class50 var95 = var1.aClass50Array2872[var87]; + this.aShortArray3830[var68] = this.method1907(var1, var87, var86 + (long)var81, var95.anInt831, var95.anInt821, var95.anInt830, var95.anInt823, var77, var75); + int var92 = var1.anIntArray2864[var70]; + Class50 var91 = var1.aClass50Array2872[var92]; + this.aShortArray3831[var68] = this.method1907(var1, var92, var86 + (long)var83, var91.anInt831, var91.anInt821, var91.anInt830, var91.anInt823, var82, var79); + } else if(var28 == 1) { + Class120 var85 = var1.aClass120Array2886[var70]; + long var84 = (long)((var72 << 2) + (var85.anInt1634 > 0?1024:2048) + (var85.anInt1635 + 256 << 12) + (var85.anInt1632 + 256 << 22)) + ((long)(var27 << 24) + (long)(var67 << 8) + (long)var74 << 32); + this.aShortArray3811[var68] = this.method1907(var1, var1.anIntArray2865[var70], var84, var85.anInt1634, var85.anInt1635, var85.anInt1632, 0, var73, var78); + this.aShortArray3830[var68] = this.method1907(var1, var1.anIntArray2878[var70], var84 + (long)var81, var85.anInt1634, var85.anInt1635, var85.anInt1632, 0, var77, var75); + this.aShortArray3831[var68] = this.method1907(var1, var1.anIntArray2864[var70], var84 + (long)var83, var85.anInt1634, var85.anInt1635, var85.anInt1632, 0, var82, var79); + } + + if(var1.aShortArray2858 != null) { + this.aShortArray3827[var68] = var1.aShortArray2858[var70]; + } else { + this.aShortArray3827[var68] = -1; + } + + if(this.aByteArray3820 != null) { + this.aByteArray3820[var68] = (byte)var1.anIntArray2847[var70]; + } + + this.aShortArray3808[var68] = var1.aShortArray2870[var70]; + if(var1.aByteArray2843 != null) { + this.aByteArray3816[var68] = var1.aByteArray2843[var70]; + } + + if(var1.aShortArray2855 != null) { + this.aShortArray3813[var68] = var1.aShortArray2855[var70]; + } + } + + var68 = 0; + short var66 = -10000; + + for(var67 = 0; var67 < this.anInt3852; ++var67) { + var71 = this.aShortArray3827[var67]; + if(var71 != var66) { + ++var68; + var66 = var71; + } + } + + this.anIntArray3840 = new int[var68 + 1]; + var68 = 0; + var66 = -10000; + + for(var67 = 0; var67 < this.anInt3852; ++var67) { + var71 = this.aShortArray3827[var67]; + if(var71 != var66) { + this.anIntArray3840[var68++] = var67; + var66 = var71; + } + } + + this.anIntArray3840[var68] = this.anInt3852; + aLongArray3821 = null; + this.aShortArray3810 = method1928(this.aShortArray3810, this.anInt3833); + this.aShortArray3826 = method1928(this.aShortArray3826, this.anInt3833); + this.aShortArray3837 = method1928(this.aShortArray3837, this.anInt3833); + this.aShortArray3841 = method1928(this.aShortArray3841, this.anInt3833); + this.aFloatArray3824 = method1921(this.aFloatArray3824, this.anInt3833); + this.aFloatArray3847 = method1921(this.aFloatArray3847, this.anInt3833); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub2.java new file mode 100644 index 000000000..f0e2a4f1f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub1_Sub2.java @@ -0,0 +1,2629 @@ +package org.runite.jagex; + +final class Class140_Sub1_Sub2 extends Model { + + private short[] aShortArray3869; + private int[][] anIntArrayArray3870; + private short[] aShortArray3871; + private int[][] anIntArrayArray3872; + private short aShort3873; + private int[] anIntArray3874; + private byte aByte3875 = 0; + private int[] anIntArray3876; + private boolean aBoolean3877 = false; + private short aShort3878; + private short aShort3879; + private byte[] aByteArray3880; + private int[] anIntArray3881; + private int[] anIntArray3882; + int[] anIntArray3883; + private short aShort3884; + int[] anIntArray3885; + private short aShort3886; + private int[] anIntArray3887; + private short aShort3888; + private int anInt3889 = 0; + private int[] anIntArray3890; + int anInt3891 = 0; + private short aShort3892; + private short[] aShortArray3893; + private short aShort3894; + int[] anIntArray3895; + private int[] anIntArray3896; + boolean aBoolean3897 = false; + private int[] anIntArray3898; + private byte[] aByteArray3899; + private int anInt3900 = 0; + private int[] anIntArray3901; + private static Class140_Sub1_Sub2 aClass140_Sub1_Sub2_3902 = new Class140_Sub1_Sub2(); + private byte[] aByteArray3903; + private static int[] anIntArray3904 = new int[1]; + private static int[] anIntArray3905 = new int[1]; + private static Class140_Sub1_Sub2 aClass140_Sub1_Sub2_3906 = new Class140_Sub1_Sub2(); + private static byte[] aByteArray3907 = new byte[1]; + private short[] aShortArray3908; + private static int[] anIntArray3909 = new int[1]; + private static short[] aShortArray3910 = new short[1]; + private static int[] anIntArray3911 = new int[1]; + private static short[] aShortArray3912 = new short[1]; + private static int[] anIntArray3913 = new int[1]; + private static byte[] aByteArray3914 = new byte[1]; + private static Class140_Sub1_Sub2 aClass140_Sub1_Sub2_3915 = new Class140_Sub1_Sub2(); + private static int[] anIntArray3916 = new int[1]; + private static boolean[] aBooleanArray3917 = new boolean[4096]; + private static int[] anIntArray3918 = new int[12]; + private static int[] anIntArray3919 = new int[10]; + private static int[] anIntArray3920 = new int[4096]; + private static int[] anIntArray3921; + private static int[] anIntArray3922 = new int[4096]; + private static int[][] anIntArrayArray3923; + private static int[] anIntArray3924; + private static int[] anIntArray3925 = new int[10]; + private static int[][] anIntArrayArray3926; + private static boolean aBoolean3927 = false; + private static int[] anIntArray3928; + private static int[] anIntArray3929; + private static int anInt3930 = 0; + private static int[] anIntArray3931; + private static int[] anIntArray3932 = new int[4096]; + private static byte[] aByteArray3933 = new byte[1]; + private static int anInt3934; + private static int[] anIntArray3935; + private static int[] anIntArray3936 = new int[10]; + private static boolean[] aBooleanArray3937 = new boolean[4096]; + private static int[][] anIntArrayArray3938; + private static int[] anIntArray3939; + private static int anInt3940; + private static int[] anIntArray3941 = new int[4096]; + private static boolean aBoolean3942 = false; + private static int[] anIntArray3943; + private static int[] anIntArray3944 = new int[12]; + private static int anInt3945; + private static int[] anIntArray3946; + private static int[] anIntArray3947 = new int[1]; + private static int[] anIntArray3948 = new int[4096]; + private static short[] aShortArray3949; + private static int[] anIntArray3950; + + + private final void method1934(int var1) { + if(aBooleanArray3917[var1]) { + this.method1942(var1); + } else { + int var2 = this.anIntArray3901[var1]; + int var3 = this.anIntArray3876[var1]; + int var4 = this.anIntArray3887[var1]; + Class51.aBoolean849 = aBooleanArray3937[var1]; + if(this.aByteArray3903 == null) { + Class51.anInt850 = 0; + } else { + Class51.anInt850 = this.aByteArray3903[var1] & 255; + } + + if(this.aShortArray3908 != null && this.aShortArray3908[var1] != -1) { + int var5; + int var6; + int var7; + if(this.aByteArray3899 != null && this.aByteArray3899[var1] != -1) { + int var8 = this.aByteArray3899[var1] & 255; + var5 = this.anIntArray3882[var8]; + var6 = this.anIntArray3890[var8]; + var7 = this.anIntArray3881[var8]; + } else { + var5 = var2; + var6 = var3; + var7 = var4; + } + + if(this.anIntArray3896[var1] == -1) { + Class51.method1138(anIntArray3932[var2], anIntArray3932[var3], anIntArray3932[var4], anIntArray3943[var2], anIntArray3943[var3], anIntArray3943[var4], this.anIntArray3898[var1], this.anIntArray3898[var1], this.anIntArray3898[var1], anIntArray3948[var5], anIntArray3948[var6], anIntArray3948[var7], anIntArray3928[var5], anIntArray3928[var6], anIntArray3928[var7], anIntArray3921[var5], anIntArray3921[var6], anIntArray3921[var7], this.aShortArray3908[var1]); + } else { + Class51.method1138(anIntArray3932[var2], anIntArray3932[var3], anIntArray3932[var4], anIntArray3943[var2], anIntArray3943[var3], anIntArray3943[var4], this.anIntArray3898[var1], this.anIntArray3874[var1], this.anIntArray3896[var1], anIntArray3948[var5], anIntArray3948[var6], anIntArray3948[var7], anIntArray3928[var5], anIntArray3928[var6], anIntArray3928[var7], anIntArray3921[var5], anIntArray3921[var6], anIntArray3921[var7], this.aShortArray3908[var1]); + } + } else if(this.anIntArray3896[var1] == -1) { + Class51.method1144(anIntArray3932[var2], anIntArray3932[var3], anIntArray3932[var4], anIntArray3943[var2], anIntArray3943[var3], anIntArray3943[var4], Class51.anIntArray834[this.anIntArray3898[var1] & '\uffff']); + } else { + Class51.method1154(anIntArray3932[var2], anIntArray3932[var3], anIntArray3932[var4], anIntArray3943[var2], anIntArray3943[var3], anIntArray3943[var4], this.anIntArray3898[var1] & '\uffff', this.anIntArray3874[var1] & '\uffff', this.anIntArray3896[var1] & '\uffff'); + } + + } + } + + final void method1874() { + for(int var1 = 0; var1 < this.anInt3891; ++var1) { + this.anIntArray3885[var1] = -this.anIntArray3885[var1]; + this.anIntArray3895[var1] = -this.anIntArray3895[var1]; + } + + this.aBoolean3897 = false; + } + + static final void method1935() { + aBoolean3942 = true; + anIntArray3931 = new int[4096]; + anIntArray3929 = new int[4096]; + anIntArray3946 = null; + anIntArrayArray3926 = (int[][])null; + anIntArray3935 = null; + anIntArrayArray3923 = (int[][])null; + } + + private final void method1936() { + for(int var4 = 0; var4 < this.anInt3889; ++var4) { + short var3 = this.aShortArray3908 != null?this.aShortArray3908[var4]:-1; + if(var3 == -1) { + int var1 = this.aShortArray3869[var4] & '\uffff'; + int var2; + if(this.anIntArray3896[var4] == -1) { + var2 = this.anIntArray3898[var4] & -131072; + this.anIntArray3898[var4] = var2 | method1940(var1, var2 >> 17); + } else if(this.anIntArray3896[var4] != -2) { + var2 = this.anIntArray3898[var4] & -131072; + this.anIntArray3898[var4] = var2 | method1940(var1, var2 >> 17); + var2 = this.anIntArray3874[var4] & -131072; + this.anIntArray3874[var4] = var2 | method1940(var1, var2 >> 17); + var2 = this.anIntArray3896[var4] & -131072; + this.anIntArray3896[var4] = var2 | method1940(var1, var2 >> 17); + } + } + } + + } + + private static final int method1937(int var0) { + if(var0 < 2) { + var0 = 2; + } else if(var0 > 126) { + var0 = 126; + } + + return var0; + } + + static final void method1938() { + aBoolean3942 = false; + anIntArray3931 = null; + anIntArray3929 = null; + anIntArray3946 = new int[1600]; + anIntArrayArray3926 = new int[1600][64]; + anIntArray3935 = new int[32]; + anIntArrayArray3923 = new int[32][512]; + } + + final int method1898() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3879; + } + + final int method1871() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3894; + } + + private final Model method1939(boolean var1, boolean var2, Class140_Sub1_Sub2 var3, byte[] var4, short[] var5, int[] var6, int[] var7, int[] var8) { + var3.anInt3891 = this.anInt3891; + var3.anInt3889 = this.anInt3889; + var3.anInt3900 = this.anInt3900; + if(var3.anIntArray3885 == null || var3.anIntArray3885.length < this.anInt3891) { + var3.anIntArray3885 = new int[this.anInt3891 + 100]; + var3.anIntArray3883 = new int[this.anInt3891 + 100]; + var3.anIntArray3895 = new int[this.anInt3891 + 100]; + } + + int var9; + for(var9 = 0; var9 < this.anInt3891; ++var9) { + var3.anIntArray3885[var9] = this.anIntArray3885[var9]; + var3.anIntArray3883[var9] = this.anIntArray3883[var9]; + var3.anIntArray3895[var9] = this.anIntArray3895[var9]; + } + + if(var1) { + var3.aByteArray3903 = this.aByteArray3903; + } else { + var3.aByteArray3903 = var4; + if(this.aByteArray3903 == null) { + for(var9 = 0; var9 < this.anInt3889; ++var9) { + var3.aByteArray3903[var9] = 0; + } + } else { + for(var9 = 0; var9 < this.anInt3889; ++var9) { + var3.aByteArray3903[var9] = this.aByteArray3903[var9]; + } + } + } + + if(var2) { + var3.aShortArray3869 = this.aShortArray3869; + var3.anIntArray3898 = this.anIntArray3898; + var3.anIntArray3874 = this.anIntArray3874; + var3.anIntArray3896 = this.anIntArray3896; + } else { + var3.aShortArray3869 = var5; + var3.anIntArray3898 = var6; + var3.anIntArray3874 = var7; + var3.anIntArray3896 = var8; + + for(var9 = 0; var9 < this.anInt3889; ++var9) { + var3.aShortArray3869[var9] = this.aShortArray3869[var9]; + var3.anIntArray3898[var9] = this.anIntArray3898[var9]; + var3.anIntArray3874[var9] = this.anIntArray3874[var9]; + var3.anIntArray3896[var9] = this.anIntArray3896[var9]; + } + } + + var3.anIntArray3901 = this.anIntArray3901; + var3.anIntArray3876 = this.anIntArray3876; + var3.anIntArray3887 = this.anIntArray3887; + var3.aByteArray3880 = this.aByteArray3880; + var3.aByteArray3899 = this.aByteArray3899; + var3.aShortArray3908 = this.aShortArray3908; + var3.aByte3875 = this.aByte3875; + var3.anIntArray3882 = this.anIntArray3882; + var3.anIntArray3890 = this.anIntArray3890; + var3.anIntArray3881 = this.anIntArray3881; + var3.anIntArrayArray3870 = this.anIntArrayArray3870; + var3.anIntArrayArray3872 = this.anIntArrayArray3872; + var3.aShortArray3893 = this.aShortArray3893; + var3.aShortArray3871 = this.aShortArray3871; + var3.aBoolean2699 = this.aBoolean2699; + var3.aBoolean3897 = false; + return var3; + } + + final void method1896(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3891; ++var4) { + int var5 = this.anIntArray3883[var4] * var3 - this.anIntArray3895[var4] * var2 >> 16; + this.anIntArray3895[var4] = this.anIntArray3883[var4] * var2 + this.anIntArray3895[var4] * var3 >> 16; + this.anIntArray3883[var4] = var5; + } + + this.aBoolean3897 = false; + } + + final boolean method1873() { + if(this.anIntArrayArray3870 == null) { + return false; + } else { + anInt3945 = 0; + anInt3934 = 0; + anInt3940 = 0; + return true; + } + } + + static final int method1940(int var0, int var1) { + var1 = var1 * (var0 & 127) >> 7; + if(var1 < 2) { + var1 = 2; + } else if(var1 > 126) { + var1 = 126; + } + + return (var0 & '\uff80') + var1; + } + + final void method1886(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3891; ++var4) { + int var5 = this.anIntArray3883[var4] * var2 + this.anIntArray3885[var4] * var3 >> 16; + this.anIntArray3883[var4] = this.anIntArray3883[var4] * var3 - this.anIntArray3885[var4] * var2 >> 16; + this.anIntArray3885[var4] = var5; + } + + this.aBoolean3897 = false; + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + if(!this.aBoolean3897) { + this.method1947(); + } + + int var15 = var8 * var5 - var6 * var4 >> 16; + int var16 = var7 * var2 + var15 * var3 >> 16; + int var13 = var16 + (this.aShort3884 * var3 + this.aShort3892 * var2 >> 16); + int var14 = var16 + (-this.aShort3884 * var3 + this.aShort3894 * var2 >> 16); + if(var13 > 50) { + if(var14 < 3500) { + int var17 = var8 * var4 + var6 * var5 >> 16; + int var18 = var17 + this.aShort3884 << 9; + if(var18 / var13 > Class139.anInt1824) { + int var19 = var17 - this.aShort3884 << 9; + if(var19 / var13 < Class145.anInt1898) { + int var20 = var7 * var3 - var15 * var2 >> 16; + int var21 = var20 + (this.aShort3884 * var2 + this.aShort3892 * var3 >> 16) << 9; + if(var21 / var13 > Class1.anInt55) { + int var22 = var20 + (-this.aShort3884 * var2 + this.aShort3894 * var3 >> 16) << 9; + if(var22 / var13 < Class86.anInt1195) { + boolean var23 = false; + boolean var24 = var14 <= 50; + boolean var25 = var24 || this.anInt3900 > 0; + int var26 = Class51.anInt846; + int var27 = Class51.anInt835; + int var28 = 0; + int var29 = 0; + if(var1 != 0) { + var28 = Class51.anIntArray840[var1]; + var29 = Class51.anIntArray851[var1]; + } + + boolean var30 = false; + int var31; + int var34; + int var32; + int var33; + if(var9 > 0L && Class3_Sub13_Sub7.aBoolean3094 && var14 > 0) { + if(var17 > 0) { + var31 = var19 / var13; + var33 = var18 / var14; + } else { + var31 = var19 / var14; + var33 = var18 / var13; + } + + if(var20 > 0) { + var32 = var22 / var13; + var34 = var21 / var14; + } else { + var32 = var22 / var14; + var34 = var21 / var13; + } + + if(Class3_Sub28_Sub11.anInt3642 >= var31 && Class3_Sub28_Sub11.anInt3642 <= var33 && RenderAnimationDefinition.anInt384 >= var32 && RenderAnimationDefinition.anInt384 <= var34) { + var31 = 999999; + var33 = -999999; + var32 = 999999; + var34 = -999999; + int[] var35 = new int[]{this.aShort3873, this.aShort3878, this.aShort3873, this.aShort3878, this.aShort3873, this.aShort3878, this.aShort3873, this.aShort3878}; + int[] var36 = new int[]{this.aShort3879, this.aShort3879, this.aShort3888, this.aShort3888, this.aShort3879, this.aShort3879, this.aShort3888, this.aShort3888}; + int[] var37 = new int[]{this.aShort3894, this.aShort3894, this.aShort3894, this.aShort3894, this.aShort3892, this.aShort3892, this.aShort3892, this.aShort3892}; + + for(int var38 = 0; var38 < 8; ++var38) { + int var39 = var35[var38]; + int var40 = var37[var38]; + int var41 = var36[var38]; + int var42; + if(var1 != 0) { + var42 = var41 * var28 + var39 * var29 >> 16; + var41 = var41 * var29 - var39 * var28 >> 16; + var39 = var42; + } + + var39 += var6; + var40 += var7; + var41 += var8; + var42 = var41 * var4 + var39 * var5 >> 16; + var41 = var41 * var5 - var39 * var4 >> 16; + var39 = var42; + var42 = var40 * var3 - var41 * var2 >> 16; + var41 = var40 * var2 + var41 * var3 >> 16; + if(var41 > 0) { + int var43 = (var39 << 9) / var41; + int var44 = (var42 << 9) / var41; + if(var43 < var31) { + var31 = var43; + } + + if(var43 > var33) { + var33 = var43; + } + + if(var44 < var32) { + var32 = var44; + } + + if(var44 > var34) { + var34 = var44; + } + } + } + + if(Class3_Sub28_Sub11.anInt3642 >= var31 && Class3_Sub28_Sub11.anInt3642 <= var33 && RenderAnimationDefinition.anInt384 >= var32 && RenderAnimationDefinition.anInt384 <= var34) { + if(this.aBoolean2699) { + Class3_Sub13_Sub38.aLongArray3448[Class2.anInt59++] = var9; + } else { + var30 = true; + } + } + } + } + + for(var31 = 0; var31 < this.anInt3891; ++var31) { + var32 = this.anIntArray3885[var31]; + var33 = this.anIntArray3883[var31]; + var34 = this.anIntArray3895[var31]; + int var46; + if(var1 != 0) { + var46 = var34 * var28 + var32 * var29 >> 16; + var34 = var34 * var29 - var32 * var28 >> 16; + var32 = var46; + } + + var32 += var6; + var33 += var7; + var34 += var8; + var46 = var34 * var4 + var32 * var5 >> 16; + var34 = var34 * var5 - var32 * var4 >> 16; + var32 = var46; + var46 = var33 * var3 - var34 * var2 >> 16; + var34 = var33 * var2 + var34 * var3 >> 16; + anIntArray3920[var31] = var34 - var16; + if(var34 >= 50) { + anIntArray3943[var31] = var26 + (var32 << 9) / var34; + anIntArray3932[var31] = var27 + (var46 << 9) / var34; + } else { + anIntArray3943[var31] = -5000; + var23 = true; + } + + if(var25) { + anIntArray3948[var31] = var32; + anIntArray3928[var31] = var46; + anIntArray3921[var31] = var34; + } + } + + try { + this.method1945(var23, var30, var9, var16 - var14, var13 - var14 + 2, var12); + } catch (Exception var45) { + ; + } + + } + } + } + } + } + } + } + + final Class140_Sub1_Sub2 method1941(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7, boolean var8) { + if(!this.aBoolean3897) { + this.method1947(); + } + + int var9 = var5 + this.aShort3873; + int var10 = var5 + this.aShort3878; + int var11 = var7 + this.aShort3879; + int var12 = var7 + this.aShort3888; + if((var1 == 1 || var1 == 2 || var1 == 3 || var1 == 5) && (var9 < 0 || var10 + 128 >> 7 >= var3.length || var11 < 0 || var12 + 128 >> 7 >= var3[0].length)) { + return this; + } else { + if(var1 != 4 && var1 != 5) { + var9 >>= 7; + var10 = var10 + 127 >> 7; + var11 >>= 7; + var12 = var12 + 127 >> 7; + if(var3[var9][var11] == var6 && var3[var10][var11] == var6 && var3[var9][var12] == var6 && var3[var10][var12] == var6) { + return this; + } + } else { + if(var4 == null) { + return this; + } + + if(var9 < 0 || var10 + 128 >> 7 >= var4.length || var11 < 0 || var12 + 128 >> 7 >= var4[0].length) { + return this; + } + } + + Class140_Sub1_Sub2 var13; + if(var8) { + var13 = new Class140_Sub1_Sub2(); + var13.anInt3891 = this.anInt3891; + var13.anInt3889 = this.anInt3889; + var13.anInt3900 = this.anInt3900; + var13.anIntArray3901 = this.anIntArray3901; + var13.anIntArray3876 = this.anIntArray3876; + var13.anIntArray3887 = this.anIntArray3887; + var13.anIntArray3898 = this.anIntArray3898; + var13.anIntArray3874 = this.anIntArray3874; + var13.anIntArray3896 = this.anIntArray3896; + var13.aByteArray3880 = this.aByteArray3880; + var13.aByteArray3899 = this.aByteArray3899; + var13.aShortArray3908 = this.aShortArray3908; + var13.aShortArray3869 = this.aShortArray3869; + var13.aByteArray3903 = this.aByteArray3903; + var13.aByte3875 = this.aByte3875; + var13.anIntArray3882 = this.anIntArray3882; + var13.anIntArray3890 = this.anIntArray3890; + var13.anIntArray3881 = this.anIntArray3881; + var13.anIntArrayArray3870 = this.anIntArrayArray3870; + var13.anIntArrayArray3872 = this.anIntArrayArray3872; + var13.aShortArray3893 = this.aShortArray3893; + var13.aShortArray3871 = this.aShortArray3871; + var13.aBoolean2699 = this.aBoolean2699; + if(var1 == 3) { + var13.anIntArray3885 = Class65.method1233(this.anIntArray3885, 2); + var13.anIntArray3883 = Class65.method1233(this.anIntArray3883, 2); + var13.anIntArray3895 = Class65.method1233(this.anIntArray3895, 2); + } else { + var13.anIntArray3885 = this.anIntArray3885; + var13.anIntArray3883 = new int[var13.anInt3891]; + var13.anIntArray3895 = this.anIntArray3895; + } + } else { + var13 = this; + } + + int var14; + int var15; + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + if(var1 == 1) { + for(var14 = 0; var14 < var13.anInt3891; ++var14) { + var15 = this.anIntArray3885[var14] + var5; + var16 = this.anIntArray3895[var14] + var7; + var17 = var15 & 127; + var18 = var16 & 127; + var19 = var15 >> 7; + var20 = var16 >> 7; + var21 = var3[var19][var20] * (128 - var17) + var3[var19 + 1][var20] * var17 >> 7; + var22 = var3[var19][var20 + 1] * (128 - var17) + var3[var19 + 1][var20 + 1] * var17 >> 7; + var23 = var21 * (128 - var18) + var22 * var18 >> 7; + var13.anIntArray3883[var14] = this.anIntArray3883[var14] + var23 - var6; + } + } else { + int var24; + if(var1 == 2) { + for(var14 = 0; var14 < var13.anInt3891; ++var14) { + var15 = (this.anIntArray3883[var14] << 16) / this.aShort3894; + if(var15 < var2) { + var16 = this.anIntArray3885[var14] + var5; + var17 = this.anIntArray3895[var14] + var7; + var18 = var16 & 127; + var19 = var17 & 127; + var20 = var16 >> 7; + var21 = var17 >> 7; + var22 = var3[var20][var21] * (128 - var18) + var3[var20 + 1][var21] * var18 >> 7; + var23 = var3[var20][var21 + 1] * (128 - var18) + var3[var20 + 1][var21 + 1] * var18 >> 7; + var24 = var22 * (128 - var19) + var23 * var19 >> 7; + var13.anIntArray3883[var14] = this.anIntArray3883[var14] + (var24 - var6) * (var2 - var15) / var2; + } else { + var13.anIntArray3883[var14] = this.anIntArray3883[var14]; + } + } + } else if(var1 == 3) { + var14 = (var2 & 255) * 4; + var15 = (var2 >> 8 & 255) * 4; + var13.method1895(var3, var5, var6, var7, var14, var15); + } else if(var1 == 4) { + var14 = this.aShort3892 - this.aShort3894; + + for(var15 = 0; var15 < this.anInt3891; ++var15) { + var16 = this.anIntArray3885[var15] + var5; + var17 = this.anIntArray3895[var15] + var7; + var18 = var16 & 127; + var19 = var17 & 127; + var20 = var16 >> 7; + var21 = var17 >> 7; + var22 = var4[var20][var21] * (128 - var18) + var4[var20 + 1][var21] * var18 >> 7; + var23 = var4[var20][var21 + 1] * (128 - var18) + var4[var20 + 1][var21 + 1] * var18 >> 7; + var24 = var22 * (128 - var19) + var23 * var19 >> 7; + var13.anIntArray3883[var15] = this.anIntArray3883[var15] + (var24 - var6) + var14; + } + } else if(var1 == 5) { + var14 = this.aShort3892 - this.aShort3894; + + for(var15 = 0; var15 < this.anInt3891; ++var15) { + var16 = this.anIntArray3885[var15] + var5; + var17 = this.anIntArray3895[var15] + var7; + var18 = var16 & 127; + var19 = var17 & 127; + var20 = var16 >> 7; + var21 = var17 >> 7; + var22 = var3[var20][var21] * (128 - var18) + var3[var20 + 1][var21] * var18 >> 7; + var23 = var3[var20][var21 + 1] * (128 - var18) + var3[var20 + 1][var21 + 1] * var18 >> 7; + var24 = var22 * (128 - var19) + var23 * var19 >> 7; + var22 = var4[var20][var21] * (128 - var18) + var4[var20 + 1][var21] * var18 >> 7; + var23 = var4[var20][var21 + 1] * (128 - var18) + var4[var20 + 1][var21 + 1] * var18 >> 7; + int var25 = var22 * (128 - var19) + var23 * var19 >> 7; + int var26 = var24 - var25; + var13.anIntArray3883[var15] = ((this.anIntArray3883[var15] << 8) / var14 * var26 >> 8) - (var6 - var24); + } + } + } + + var13.aBoolean3897 = false; + return var13; + } + } + + final void method1885() { + for(int var1 = 0; var1 < this.anInt3891; ++var1) { + int var2 = this.anIntArray3885[var1]; + this.anIntArray3885[var1] = this.anIntArray3895[var1]; + this.anIntArray3895[var1] = -var2; + } + + this.aBoolean3897 = false; + } + + final void method1893(int var1, int var2, int var3, int var4, int var5, int var6, int var7, long var8) { + try { + if(!this.aBoolean3897) { + this.method1947(); + } + + int var10 = Class51.anInt846; + int var11 = Class51.anInt835; + int var12 = Class51.anIntArray840[var1]; + int var13 = Class51.anIntArray851[var1]; + int var14 = Class51.anIntArray840[var2]; + int var15 = Class51.anIntArray851[var2]; + int var16 = Class51.anIntArray840[var3]; + int var17 = Class51.anIntArray851[var3]; + int var18 = Class51.anIntArray840[var4]; + int var19 = Class51.anIntArray851[var4]; + int var20 = var6 * var18 + var7 * var19 >> 16; + + for(int var21 = 0; var21 < this.anInt3891; ++var21) { + int var22 = this.anIntArray3885[var21]; + int var23 = this.anIntArray3883[var21]; + int var24 = this.anIntArray3895[var21]; + int var25; + if(var3 != 0) { + var25 = var23 * var16 + var22 * var17 >> 16; + var23 = var23 * var17 - var22 * var16 >> 16; + var22 = var25; + } + + if(var1 != 0) { + var25 = var23 * var13 - var24 * var12 >> 16; + var24 = var23 * var12 + var24 * var13 >> 16; + var23 = var25; + } + + if(var2 != 0) { + var25 = var24 * var14 + var22 * var15 >> 16; + var24 = var24 * var15 - var22 * var14 >> 16; + var22 = var25; + } + + var22 += var5; + var23 += var6; + var24 += var7; + var25 = var23 * var19 - var24 * var18 >> 16; + var24 = var23 * var18 + var24 * var19 >> 16; + anIntArray3920[var21] = var24 - var20; + anIntArray3943[var21] = var10 + (var22 << 9) / var24; + anIntArray3932[var21] = var11 + (var25 << 9) / var24; + if(this.anInt3900 > 0) { + anIntArray3948[var21] = var22; + anIntArray3928[var21] = var25; + anIntArray3921[var21] = var24; + } + } + + this.method1945(false, var8 >= 0L, var8, this.aShort3886, this.aShort3886 << 1, (Class127_Sub1)null); + } catch (RuntimeException var26) { + ; + } + + } + + private final void method1942(int var1) { + int var2 = Class51.anInt846; + int var3 = Class51.anInt835; + int var4 = 0; + int var5 = this.anIntArray3901[var1]; + int var6 = this.anIntArray3876[var1]; + int var7 = this.anIntArray3887[var1]; + int var8 = anIntArray3921[var5]; + int var9 = anIntArray3921[var6]; + int var10 = anIntArray3921[var7]; + if(this.aByteArray3903 == null) { + Class51.anInt850 = 0; + } else { + Class51.anInt850 = this.aByteArray3903[var1] & 255; + } + + int var11; + int var12; + int var13; + int var14; + if(var8 >= 50) { + anIntArray3919[var4] = anIntArray3943[var5]; + anIntArray3925[var4] = anIntArray3932[var5]; + anIntArray3936[var4++] = this.anIntArray3898[var1] & '\uffff'; + } else { + var11 = anIntArray3948[var5]; + var12 = anIntArray3928[var5]; + var13 = this.anIntArray3898[var1] & '\uffff'; + if(var10 >= 50) { + var14 = (50 - var8) * Class51.anIntArray841[var10 - var8]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var7] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var7] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3896[var1] & '\uffff') - var13) * var14 >> 16); + } + + if(var9 >= 50) { + var14 = (50 - var8) * Class51.anIntArray841[var9 - var8]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var6] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var6] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3874[var1] & '\uffff') - var13) * var14 >> 16); + } + } + + if(var9 >= 50) { + anIntArray3919[var4] = anIntArray3943[var6]; + anIntArray3925[var4] = anIntArray3932[var6]; + anIntArray3936[var4++] = this.anIntArray3874[var1] & '\uffff'; + } else { + var11 = anIntArray3948[var6]; + var12 = anIntArray3928[var6]; + var13 = this.anIntArray3874[var1] & '\uffff'; + if(var8 >= 50) { + var14 = (50 - var9) * Class51.anIntArray841[var8 - var9]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var5] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var5] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3898[var1] & '\uffff') - var13) * var14 >> 16); + } + + if(var10 >= 50) { + var14 = (50 - var9) * Class51.anIntArray841[var10 - var9]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var7] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var7] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3896[var1] & '\uffff') - var13) * var14 >> 16); + } + } + + if(var10 >= 50) { + anIntArray3919[var4] = anIntArray3943[var7]; + anIntArray3925[var4] = anIntArray3932[var7]; + anIntArray3936[var4++] = this.anIntArray3896[var1] & '\uffff'; + } else { + var11 = anIntArray3948[var7]; + var12 = anIntArray3928[var7]; + var13 = this.anIntArray3896[var1] & '\uffff'; + if(var9 >= 50) { + var14 = (50 - var10) * Class51.anIntArray841[var9 - var10]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var6] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var6] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3874[var1] & '\uffff') - var13) * var14 >> 16); + } + + if(var8 >= 50) { + var14 = (50 - var10) * Class51.anIntArray841[var8 - var10]; + anIntArray3919[var4] = var2 + (var11 + ((anIntArray3948[var5] - var11) * var14 >> 16) << 9) / 50; + anIntArray3925[var4] = var3 + (var12 + ((anIntArray3928[var5] - var12) * var14 >> 16) << 9) / 50; + anIntArray3936[var4++] = var13 + (((this.anIntArray3898[var1] & '\uffff') - var13) * var14 >> 16); + } + } + + var11 = anIntArray3919[0]; + var12 = anIntArray3919[1]; + var13 = anIntArray3919[2]; + var14 = anIntArray3925[0]; + int var15 = anIntArray3925[1]; + int var16 = anIntArray3925[2]; + Class51.aBoolean849 = false; + int var17; + int var19; + int var18; + int var20; + if(var4 == 3) { + if(var11 < 0 || var12 < 0 || var13 < 0 || var11 > Class51.anInt847 || var12 > Class51.anInt847 || var13 > Class51.anInt847) { + Class51.aBoolean849 = true; + } + + if(this.aShortArray3908 != null && this.aShortArray3908[var1] != -1) { + if(this.aByteArray3899 != null && this.aByteArray3899[var1] != -1) { + var20 = this.aByteArray3899[var1] & 255; + var17 = this.anIntArray3882[var20]; + var18 = this.anIntArray3890[var20]; + var19 = this.anIntArray3881[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + if(this.anIntArray3896[var1] == -1) { + Class51.method1138(var14, var15, var16, var11, var12, var13, this.anIntArray3898[var1], this.anIntArray3898[var1], this.anIntArray3898[var1], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], this.aShortArray3908[var1]); + } else { + Class51.method1138(var14, var15, var16, var11, var12, var13, anIntArray3936[0], anIntArray3936[1], anIntArray3936[2], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], this.aShortArray3908[var1]); + } + } else if(this.anIntArray3896[var1] == -1) { + Class51.method1144(var14, var15, var16, var11, var12, var13, Class51.anIntArray834[this.anIntArray3898[var1] & '\uffff']); + } else { + Class51.method1154(var14, var15, var16, var11, var12, var13, anIntArray3936[0], anIntArray3936[1], anIntArray3936[2]); + } + } + + if(var4 == 4) { + if(var11 < 0 || var12 < 0 || var13 < 0 || var11 > Class51.anInt847 || var12 > Class51.anInt847 || var13 > Class51.anInt847 || anIntArray3919[3] < 0 || anIntArray3919[3] > Class51.anInt847) { + Class51.aBoolean849 = true; + } + + if(this.aShortArray3908 != null && this.aShortArray3908[var1] != -1) { + if(this.aByteArray3899 != null && this.aByteArray3899[var1] != -1) { + var20 = this.aByteArray3899[var1] & 255; + var17 = this.anIntArray3882[var20]; + var18 = this.anIntArray3890[var20]; + var19 = this.anIntArray3881[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + short var21 = this.aShortArray3908[var1]; + if(this.anIntArray3896[var1] == -1) { + Class51.method1138(var14, var15, var16, var11, var12, var13, this.anIntArray3898[var1], this.anIntArray3898[var1], this.anIntArray3898[var1], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], var21); + Class51.method1138(var14, var16, anIntArray3925[3], var11, var13, anIntArray3919[3], this.anIntArray3898[var1], this.anIntArray3898[var1], this.anIntArray3898[var1], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], var21); + } else { + Class51.method1138(var14, var15, var16, var11, var12, var13, anIntArray3936[0], anIntArray3936[1], anIntArray3936[2], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], var21); + Class51.method1138(var14, var16, anIntArray3925[3], var11, var13, anIntArray3919[3], anIntArray3936[0], anIntArray3936[2], anIntArray3936[3], anIntArray3948[var17], anIntArray3948[var18], anIntArray3948[var19], anIntArray3928[var17], anIntArray3928[var18], anIntArray3928[var19], anIntArray3921[var17], anIntArray3921[var18], anIntArray3921[var19], var21); + } + } else if(this.anIntArray3896[var1] == -1) { + var17 = Class51.anIntArray834[this.anIntArray3898[var1] & '\uffff']; + Class51.method1144(var14, var15, var16, var11, var12, var13, var17); + Class51.method1144(var14, var16, anIntArray3925[3], var11, var13, anIntArray3919[3], var17); + } else { + Class51.method1154(var14, var15, var16, var11, var12, var13, anIntArray3936[0], anIntArray3936[1], anIntArray3936[2]); + Class51.method1154(var14, var16, anIntArray3925[3], var11, var13, anIntArray3919[3], anIntArray3936[0], anIntArray3936[2], anIntArray3936[3]); + } + } + + } + + final int method1872() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3888; + } + + final void resize(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt3891; ++var4) { + this.anIntArray3885[var4] = this.anIntArray3885[var4] * var1 / 128; + this.anIntArray3883[var4] = this.anIntArray3883[var4] * var2 / 128; + this.anIntArray3895[var4] = this.anIntArray3895[var4] * var3 / 128; + } + + this.aBoolean3897 = false; + } + + final Model method1882(boolean var1, boolean var2, boolean var3) { + if(!var1 && aByteArray3914.length < this.anInt3889) { + aByteArray3914 = new byte[this.anInt3889 + 100]; + } + + if(!var2 && aShortArray3912.length < this.anInt3889) { + anIntArray3913 = new int[this.anInt3889 + 100]; + anIntArray3916 = new int[this.anInt3889 + 100]; + anIntArray3911 = new int[this.anInt3889 + 100]; + aShortArray3912 = new short[this.anInt3889 + 100]; + } + + return this.method1939(var1, var2, aClass140_Sub1_Sub2_3906, aByteArray3914, aShortArray3912, anIntArray3913, anIntArray3916, anIntArray3911); + } + + final int method1888() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3884; + } + + final Model method1943(Model var1) { + return new Class140_Sub1_Sub2(new Class140_Sub1_Sub2[]{this, (Class140_Sub1_Sub2)var1}, 2); + } + + final int method1883() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3878; + } + + final void method1879() { + if(this.aBoolean3877) { + this.method1936(); + this.aBoolean3877 = false; + } + + this.aBoolean3897 = false; + } + + final void method1876(int var1) { + int var2 = Class51.anIntArray840[var1]; + int var3 = Class51.anIntArray851[var1]; + + for(int var4 = 0; var4 < this.anInt3891; ++var4) { + int var5 = this.anIntArray3895[var4] * var2 + this.anIntArray3885[var4] * var3 >> 16; + this.anIntArray3895[var4] = this.anIntArray3895[var4] * var3 - this.anIntArray3885[var4] * var2 >> 16; + this.anIntArray3885[var4] = var5; + } + + this.aBoolean3897 = false; + } + + final void method1891(int var1, int[] var2, int var3, int var4, int var5, boolean var6) { + int var7 = var2.length; + int var8; + int var9; + int var12; + int var13; + if(var1 == 0) { + var8 = 0; + anInt3945 = 0; + anInt3934 = 0; + anInt3940 = 0; + + for(var9 = 0; var9 < var7; ++var9) { + int var17 = var2[var9]; + if(var17 < this.anIntArrayArray3870.length) { + int[] var18 = this.anIntArrayArray3870[var17]; + + for(var12 = 0; var12 < var18.length; ++var12) { + var13 = var18[var12]; + anInt3945 += this.anIntArray3885[var13]; + anInt3934 += this.anIntArray3883[var13]; + anInt3940 += this.anIntArray3895[var13]; + ++var8; + } + } + } + + if(var8 > 0) { + anInt3945 = anInt3945 / var8 + var3; + anInt3934 = anInt3934 / var8 + var4; + anInt3940 = anInt3940 / var8 + var5; + } else { + anInt3945 = var3; + anInt3934 = var4; + anInt3940 = var5; + } + + } else { + int[] var10; + int var11; + if(var1 == 1) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3870.length) { + var10 = this.anIntArrayArray3870[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3885[var12] += var3; + this.anIntArray3883[var12] += var4; + this.anIntArray3895[var12] += var5; + } + } + } + + } else { + int var14; + int var15; + if(var1 == 2) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3870.length) { + var10 = this.anIntArrayArray3870[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3885[var12] -= anInt3945; + this.anIntArray3883[var12] -= anInt3934; + this.anIntArray3895[var12] -= anInt3940; + if(var5 != 0) { + var13 = Class51.anIntArray840[var5]; + var14 = Class51.anIntArray851[var5]; + var15 = this.anIntArray3883[var12] * var13 + this.anIntArray3885[var12] * var14 + 32767 >> 16; + this.anIntArray3883[var12] = this.anIntArray3883[var12] * var14 - this.anIntArray3885[var12] * var13 + 32767 >> 16; + this.anIntArray3885[var12] = var15; + } + + if(var3 != 0) { + var13 = Class51.anIntArray840[var3]; + var14 = Class51.anIntArray851[var3]; + var15 = this.anIntArray3883[var12] * var14 - this.anIntArray3895[var12] * var13 + 32767 >> 16; + this.anIntArray3895[var12] = this.anIntArray3883[var12] * var13 + this.anIntArray3895[var12] * var14 + 32767 >> 16; + this.anIntArray3883[var12] = var15; + } + + if(var4 != 0) { + var13 = Class51.anIntArray840[var4]; + var14 = Class51.anIntArray851[var4]; + var15 = this.anIntArray3895[var12] * var13 + this.anIntArray3885[var12] * var14 + 32767 >> 16; + this.anIntArray3895[var12] = this.anIntArray3895[var12] * var14 - this.anIntArray3885[var12] * var13 + 32767 >> 16; + this.anIntArray3885[var12] = var15; + } + + this.anIntArray3885[var12] += anInt3945; + this.anIntArray3883[var12] += anInt3934; + this.anIntArray3895[var12] += anInt3940; + } + } + } + + } else if(var1 == 3) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3870.length) { + var10 = this.anIntArrayArray3870[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + this.anIntArray3885[var12] -= anInt3945; + this.anIntArray3883[var12] -= anInt3934; + this.anIntArray3895[var12] -= anInt3940; + this.anIntArray3885[var12] = this.anIntArray3885[var12] * var3 / 128; + this.anIntArray3883[var12] = this.anIntArray3883[var12] * var4 / 128; + this.anIntArray3895[var12] = this.anIntArray3895[var12] * var5 / 128; + this.anIntArray3885[var12] += anInt3945; + this.anIntArray3883[var12] += anInt3934; + this.anIntArray3895[var12] += anInt3940; + } + } + } + + } else if(var1 == 5) { + if(this.anIntArrayArray3872 != null && this.aByteArray3903 != null) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3872.length) { + var10 = this.anIntArrayArray3872[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + var13 = (this.aByteArray3903[var12] & 255) + var3 * 8; + if(var13 < 0) { + var13 = 0; + } else if(var13 > 255) { + var13 = 255; + } + + this.aByteArray3903[var12] = (byte)var13; + } + } + } + } + + } else if(var1 == 7) { + if(this.anIntArrayArray3872 != null) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var2[var8]; + if(var9 < this.anIntArrayArray3872.length) { + var10 = this.anIntArrayArray3872[var9]; + + for(var11 = 0; var11 < var10.length; ++var11) { + var12 = var10[var11]; + var13 = this.aShortArray3869[var12] & '\uffff'; + var14 = var13 >> 10 & 63; + var15 = var13 >> 7 & 7; + int var16 = var13 & 127; + var14 = var14 + var3 & 63; + var15 += var4; + if(var15 < 0) { + var15 = 0; + } else if(var15 > 7) { + var15 = 7; + } + + var16 += var5; + if(var16 < 0) { + var16 = 0; + } else if(var16 > 127) { + var16 = 127; + } + + this.aShortArray3869[var12] = (short)(var14 << 10 | var15 << 7 | var16); + } + + this.aBoolean3877 = true; + } + } + } + + } + } + } + } + + private final boolean method1944(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + return var2 < var3 && var2 < var4 && var2 < var5?false:(var2 > var3 && var2 > var4 && var2 > var5?false:(var1 < var6 && var1 < var7 && var1 < var8?false:var1 <= var6 || var1 <= var7 || var1 <= var8)); + } + + final Model method1894(boolean var1, boolean var2, boolean var3) { + if(!var1 && aByteArray3907.length < this.anInt3889) { + aByteArray3907 = new byte[this.anInt3889 + 100]; + } + + if(!var2 && aShortArray3910.length < this.anInt3889) { + anIntArray3905 = new int[this.anInt3889 + 100]; + anIntArray3909 = new int[this.anInt3889 + 100]; + anIntArray3904 = new int[this.anInt3889 + 100]; + aShortArray3910 = new short[this.anInt3889 + 100]; + } + + return this.method1939(var1, var2, aClass140_Sub1_Sub2_3902, aByteArray3907, aShortArray3910, anIntArray3905, anIntArray3909, anIntArray3904); + } + + private final void method1945(boolean var1, boolean var2, long var3, int var5, int var6, Class127_Sub1 var7) { + if(var6 < 1600) { + int var8 = 0; + int var9 = 0; + int var10; + if(!aBoolean3942) { + for(var10 = 0; var10 < 1600; ++var10) { + anIntArray3946[var10] = 0; + } + + for(var10 = 0; var10 < 32; ++var10) { + anIntArray3935[var10] = 0; + } + + anInt3930 = 0; + } + + int var11; + int var12; + int var13; + int var14; + int var15; + int var17; + int var19; + int var18; + int var21; + for(var10 = 0; var10 < this.anInt3889; ++var10) { + if(this.anIntArray3896[var10] != -2) { + var11 = this.anIntArray3901[var10]; + var12 = this.anIntArray3876[var10]; + var13 = this.anIntArray3887[var10]; + var14 = anIntArray3943[var11]; + var15 = anIntArray3943[var12]; + int var16 = anIntArray3943[var13]; + if(var1 && (var14 == -5000 || var15 == -5000 || var16 == -5000)) { + var17 = anIntArray3948[var11]; + var18 = anIntArray3948[var12]; + var19 = anIntArray3948[var13]; + int var20 = anIntArray3928[var11]; + var21 = anIntArray3928[var12]; + int var22 = anIntArray3928[var13]; + int var23 = anIntArray3921[var11]; + int var24 = anIntArray3921[var12]; + int var25 = anIntArray3921[var13]; + var17 -= var18; + var19 -= var18; + var20 -= var21; + var22 -= var21; + var23 -= var24; + var25 -= var24; + int var26 = var20 * var25 - var23 * var22; + int var27 = var23 * var19 - var17 * var25; + int var28 = var17 * var22 - var20 * var19; + if(var18 * var26 + var21 * var27 + var24 * var28 > 0) { + aBooleanArray3917[var10] = true; + if(aBoolean3942) { + anIntArray3931[var8] = (anIntArray3920[var11] + anIntArray3920[var12] + anIntArray3920[var13]) / 3; + anIntArray3929[var8++] = var10; + } else { + int var29 = (anIntArray3920[var11] + anIntArray3920[var12] + anIntArray3920[var13]) / 3 + var5; + if(anIntArray3946[var29] < 64) { + anIntArrayArray3926[var29][anIntArray3946[var29]++] = var10; + } else { + int var30 = anIntArray3946[var29]; + if(var30 == 64) { + if(anInt3930 == 512) { + continue; + } + + anIntArray3946[var29] = var30 = 65 + anInt3930++; + } + + var30 -= 65; + anIntArrayArray3923[var30][anIntArray3935[var30]++] = var10; + } + } + } + } else { + if(var2 && this.method1944(Class3_Sub28_Sub11.anInt3642 + Class51.anInt846, RenderAnimationDefinition.anInt384 + Class51.anInt835, anIntArray3932[var11], anIntArray3932[var12], anIntArray3932[var13], var14, var15, var16)) { + Class3_Sub13_Sub38.aLongArray3448[Class2.anInt59++] = var3; + var2 = false; + } + + if((var14 - var15) * (anIntArray3932[var13] - anIntArray3932[var12]) - (anIntArray3932[var11] - anIntArray3932[var12]) * (var16 - var15) > 0) { + aBooleanArray3917[var10] = false; + if(var14 >= 0 && var15 >= 0 && var16 >= 0 && var14 <= Class51.anInt847 && var15 <= Class51.anInt847 && var16 <= Class51.anInt847) { + aBooleanArray3937[var10] = false; + } else { + aBooleanArray3937[var10] = true; + } + + if(aBoolean3942) { + anIntArray3931[var8] = (anIntArray3920[var11] + anIntArray3920[var12] + anIntArray3920[var13]) / 3; + anIntArray3929[var8++] = var10; + } else { + var17 = (anIntArray3920[var11] + anIntArray3920[var12] + anIntArray3920[var13]) / 3 + var5; + if(anIntArray3946[var17] < 64) { + anIntArrayArray3926[var17][anIntArray3946[var17]++] = var10; + } else { + var18 = anIntArray3946[var17]; + if(var18 == 64) { + if(anInt3930 == 512) { + continue; + } + + anIntArray3946[var17] = var18 = 65 + anInt3930++; + } + + var18 -= 65; + anIntArrayArray3923[var18][anIntArray3935[var18]++] = var10; + } + } + } + } + } + } + + if(aBoolean3942) { + Class101.method1607(0, var8 - 1, false, anIntArray3931, anIntArray3929); + if(this.aByteArray3880 == null) { + for(var10 = 0; var10 < var8; ++var10) { + this.method1934(anIntArray3929[var10]); + } + + return; + } + + for(var10 = 0; var10 < 12; ++var10) { + anIntArray3918[var10] = 0; + anIntArray3944[var10] = 0; + } + + for(var10 = 0; var10 < var8; ++var10) { + var11 = anIntArray3929[var10]; + var12 = anIntArray3931[var10]; + byte var32 = this.aByteArray3880[var11]; + var14 = anIntArray3918[var32]++; + anIntArrayArray3938[var32][var14] = var11; + if(var32 < 10) { + anIntArray3944[var32] += var12; + } else if(var32 == 10) { + anIntArray3922[var14] = var12; + } else { + anIntArray3941[var14] = var12; + } + } + } else { + int[] var31; + if(this.aByteArray3880 == null) { + for(var10 = var6 - 1; var10 >= 0; --var10) { + var11 = anIntArray3946[var10]; + if(var11 > 0) { + var12 = var11 > 64?64:var11; + var31 = anIntArrayArray3926[var10]; + + for(var14 = 0; var14 < var12; ++var14) { + var15 = var31[var14]; + if(var15 < 65536) { + this.method1934(var31[var14]); + } + } + } + + if(var11 > 64) { + var12 = anIntArray3946[var10] - 64 - 1; + var31 = anIntArrayArray3923[var12]; + + for(var14 = 0; var14 < anIntArray3935[var12]; ++var14) { + var15 = var31[var14]; + if(var15 < 65536) { + this.method1934(var31[var14]); + } + } + } + } + + return; + } + + for(var10 = 0; var10 < 12; ++var10) { + anIntArray3918[var10] = 0; + anIntArray3944[var10] = 0; + } + + for(var10 = var6 - 1; var10 >= 0; --var10) { + var11 = anIntArray3946[var10]; + byte var33; + if(var11 > 0) { + if(var11 > 64) { + var12 = 64; + } else { + var12 = var11; + } + + var31 = anIntArrayArray3926[var10]; + + for(var14 = 0; var14 < var12; ++var14) { + var15 = var31[var14]; + if(var15 < 65536) { + var33 = this.aByteArray3880[var15]; + var17 = anIntArray3918[var33]++; + anIntArrayArray3938[var33][var17] = var15; + if(var33 < 10) { + anIntArray3944[var33] += var10; + } else if(var33 == 10) { + anIntArray3922[var17] = var10; + } else { + anIntArray3941[var17] = var10; + } + } else { + anIntArray3950[var9++] = (var15 >> 16) - 1; + } + } + } + + if(var11 > 64) { + var12 = anIntArray3946[var10] - 64 - 1; + var31 = anIntArrayArray3923[var12]; + + for(var14 = 0; var14 < anIntArray3935[var12]; ++var14) { + var15 = var31[var14]; + if(var15 < 65536) { + var33 = this.aByteArray3880[var15]; + var17 = anIntArray3918[var33]++; + anIntArrayArray3938[var33][var17] = var15; + if(var33 < 10) { + anIntArray3944[var33] += var10; + } else if(var33 == 10) { + anIntArray3922[var17] = var10; + } else { + anIntArray3941[var17] = var10; + } + } else { + anIntArray3950[var9++] = (var15 >> 16) - 1; + } + } + } + } + } + + var10 = 0; + if(anIntArray3918[1] > 0 || anIntArray3918[2] > 0) { + var10 = (anIntArray3944[1] + anIntArray3944[2]) / (anIntArray3918[1] + anIntArray3918[2]); + } + + var11 = 0; + if(anIntArray3918[3] > 0 || anIntArray3918[4] > 0) { + var11 = (anIntArray3944[3] + anIntArray3944[4]) / (anIntArray3918[3] + anIntArray3918[4]); + } + + var12 = 0; + if(anIntArray3918[6] > 0 || anIntArray3918[8] > 0) { + var12 = (anIntArray3944[6] + anIntArray3944[8]) / (anIntArray3918[6] + anIntArray3918[8]); + } + + var14 = 0; + var15 = anIntArray3918[10]; + int[] var34 = anIntArrayArray3938[10]; + int[] var35 = anIntArray3922; + if(var14 == var15) { + var14 = 0; + var15 = anIntArray3918[11]; + var34 = anIntArrayArray3938[11]; + var35 = anIntArray3941; + } + + if(var14 < var15) { + var13 = var35[var14]; + } else { + var13 = -1000; + } + + for(var18 = 0; var18 < 10; ++var18) { + while(var18 == 0 && var13 > var10) { + this.method1934(var34[var14++]); + if(var14 == var15 && var34 != anIntArrayArray3938[11]) { + var14 = 0; + var15 = anIntArray3918[11]; + var34 = anIntArrayArray3938[11]; + var35 = anIntArray3941; + } + + if(var14 < var15) { + var13 = var35[var14]; + } else { + var13 = -1000; + } + } + + while(var18 == 3 && var13 > var11) { + this.method1934(var34[var14++]); + if(var14 == var15 && var34 != anIntArrayArray3938[11]) { + var14 = 0; + var15 = anIntArray3918[11]; + var34 = anIntArrayArray3938[11]; + var35 = anIntArray3941; + } + + if(var14 < var15) { + var13 = var35[var14]; + } else { + var13 = -1000; + } + } + + while(var18 == 5 && var13 > var12) { + this.method1934(var34[var14++]); + if(var14 == var15 && var34 != anIntArrayArray3938[11]) { + var14 = 0; + var15 = anIntArray3918[11]; + var34 = anIntArrayArray3938[11]; + var35 = anIntArray3941; + } + + if(var14 < var15) { + var13 = var35[var14]; + } else { + var13 = -1000; + } + } + + var19 = anIntArray3918[var18]; + int[] var36 = anIntArrayArray3938[var18]; + + for(var21 = 0; var21 < var19; ++var21) { + this.method1934(var36[var21]); + } + } + + while(var13 != -1000) { + this.method1934(var34[var14++]); + if(var14 == var15 && var34 != anIntArrayArray3938[11]) { + var14 = 0; + var34 = anIntArrayArray3938[11]; + var15 = anIntArray3918[11]; + var35 = anIntArray3941; + } + + if(var14 < var15) { + var13 = var35[var14]; + } else { + var13 = -1000; + } + } + + } + } + + final void method1900() { + for(int var1 = 0; var1 < this.anInt3891; ++var1) { + int var2 = this.anIntArray3895[var1]; + this.anIntArray3895[var1] = this.anIntArray3885[var1]; + this.anIntArray3885[var1] = -var2; + } + + this.aBoolean3897 = false; + } + + final void method1946(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(!this.aBoolean3897) { + this.method1947(); + } + + int var9 = Class51.anInt846; + int var10 = Class51.anInt835; + int var11 = Class51.anIntArray840[var1]; + int var12 = Class51.anIntArray851[var1]; + int var13 = Class51.anIntArray840[var2]; + int var14 = Class51.anIntArray851[var2]; + int var15 = Class51.anIntArray840[var3]; + int var16 = Class51.anIntArray851[var3]; + int var17 = Class51.anIntArray840[var4]; + int var18 = Class51.anIntArray851[var4]; + int var19 = var6 * var17 + var7 * var18 >> 16; + + for(int var20 = 0; var20 < this.anInt3891; ++var20) { + int var21 = this.anIntArray3885[var20]; + int var22 = this.anIntArray3883[var20]; + int var23 = this.anIntArray3895[var20]; + int var24; + if(var3 != 0) { + var24 = var22 * var15 + var21 * var16 >> 16; + var22 = var22 * var16 - var21 * var15 >> 16; + var21 = var24; + } + + if(var1 != 0) { + var24 = var22 * var12 - var23 * var11 >> 16; + var23 = var22 * var11 + var23 * var12 >> 16; + var22 = var24; + } + + if(var2 != 0) { + var24 = var23 * var13 + var21 * var14 >> 16; + var23 = var23 * var14 - var21 * var13 >> 16; + var21 = var24; + } + + var21 += var5; + var22 += var6; + var23 += var7; + var24 = var22 * var18 - var23 * var17 >> 16; + var23 = var22 * var17 + var23 * var18 >> 16; + anIntArray3920[var20] = var23 - var19; + anIntArray3943[var20] = var9 + (var21 << 9) / var8; + anIntArray3932[var20] = var10 + (var24 << 9) / var8; + if(this.anInt3900 > 0) { + anIntArray3948[var20] = var21; + anIntArray3928[var20] = var24; + anIntArray3921[var20] = var23; + } + } + + this.method1945(false, false, 0L, this.aShort3886, this.aShort3886 << 1, (Class127_Sub1)null); + } catch (RuntimeException var25) { + ; + } + + } + + private final void method1947() { + int var1 = 32767; + int var2 = 32767; + int var3 = 32767; + int var4 = -32768; + int var5 = -32768; + int var6 = -32768; + int var7 = 0; + int var8 = 0; + + for(int var9 = 0; var9 < this.anInt3891; ++var9) { + int var10 = this.anIntArray3885[var9]; + int var11 = this.anIntArray3883[var9]; + int var12 = this.anIntArray3895[var9]; + if(var10 < var1) { + var1 = var10; + } + + if(var10 > var4) { + var4 = var10; + } + + if(var11 < var2) { + var2 = var11; + } + + if(var11 > var5) { + var5 = var11; + } + + if(var12 < var3) { + var3 = var12; + } + + if(var12 > var6) { + var6 = var12; + } + + int var13 = var10 * var10 + var12 * var12; + if(var13 > var7) { + var7 = var13; + } + + var13 += var11 * var11; + if(var13 > var8) { + var8 = var13; + } + } + + this.aShort3873 = (short)var1; + this.aShort3878 = (short)var4; + this.aShort3894 = (short)var2; + this.aShort3892 = (short)var5; + this.aShort3879 = (short)var3; + this.aShort3888 = (short)var6; + this.aShort3884 = (short)((int)(Math.sqrt((double)var7) + 0.99D)); + this.aShort3886 = (short)((int)(Math.sqrt((double)var8) + 0.99D)); + this.aBoolean3897 = true; + } + + public static void method1948() { + aClass140_Sub1_Sub2_3902 = null; + aByteArray3907 = null; + aShortArray3910 = null; + anIntArray3905 = null; + anIntArray3909 = null; + anIntArray3904 = null; + aClass140_Sub1_Sub2_3906 = null; + aByteArray3914 = null; + aShortArray3912 = null; + anIntArray3913 = null; + anIntArray3916 = null; + anIntArray3911 = null; + aClass140_Sub1_Sub2_3915 = null; + aByteArray3933 = null; + aShortArray3949 = null; + anIntArray3939 = null; + anIntArray3947 = null; + anIntArray3924 = null; + aBooleanArray3937 = null; + aBooleanArray3917 = null; + anIntArray3943 = null; + anIntArray3932 = null; + anIntArray3920 = null; + anIntArray3950 = null; + anIntArray3948 = null; + anIntArray3928 = null; + anIntArray3921 = null; + anIntArray3946 = null; + anIntArrayArray3926 = (int[][])null; + anIntArray3935 = null; + anIntArrayArray3923 = (int[][])null; + anIntArray3931 = null; + anIntArray3929 = null; + anIntArray3918 = null; + anIntArrayArray3938 = (int[][])null; + anIntArray3922 = null; + anIntArray3941 = null; + anIntArray3944 = null; + anIntArray3919 = null; + anIntArray3925 = null; + anIntArray3936 = null; + } + + final int method1884() { + if(!this.aBoolean3897) { + this.method1947(); + } + + return this.aShort3873; + } + + final void method1899(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8) { + int var9 = var2.length; + int var10; + int var11; + int var14; + int var15; + int var47; + if(var1 == 0) { + var10 = 0; + anInt3945 = 0; + anInt3934 = 0; + anInt3940 = 0; + + for(var11 = 0; var11 < var9; ++var11) { + var47 = var2[var11]; + if(var47 < this.anIntArrayArray3870.length) { + int[] var48 = this.anIntArrayArray3870[var47]; + + for(var14 = 0; var14 < var48.length; ++var14) { + var15 = var48[var14]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var15]) != 0) { + anInt3945 += this.anIntArray3885[var15]; + anInt3934 += this.anIntArray3883[var15]; + anInt3940 += this.anIntArray3895[var15]; + ++var10; + } + } + } + } + + if(var10 > 0) { + anInt3945 = anInt3945 / var10 + var3; + anInt3934 = anInt3934 / var10 + var4; + anInt3940 = anInt3940 / var10 + var5; + aBoolean3927 = true; + } else { + anInt3945 = var3; + anInt3934 = var4; + anInt3940 = var5; + } + + } else { + int[] var12; + int var13; + if(var1 == 1) { + if(var8 != null) { + var10 = var8[0] * var3 + var8[1] * var4 + var8[2] * var5 + 16384 >> 15; + var11 = var8[3] * var3 + var8[4] * var4 + var8[5] * var5 + 16384 >> 15; + var47 = var8[6] * var3 + var8[7] * var4 + var8[8] * var5 + 16384 >> 15; + var3 = var10; + var4 = var11; + var5 = var47; + } + + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3870.length) { + var12 = this.anIntArrayArray3870[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var14]) != 0) { + this.anIntArray3885[var14] += var3; + this.anIntArray3883[var14] += var4; + this.anIntArray3895[var14] += var5; + } + } + } + } + + } else { + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + int var24; + int var27; + int var26; + int var28; + int var30; + int var34; + int[] var35; + int var32; + int var33; + int var38; + int var39; + int var36; + int var37; + int var40; + if(var1 == 2) { + if(var8 != null) { + var10 = var8[9]; + var11 = var8[10]; + var47 = var8[11]; + var13 = var8[12]; + var14 = var8[13]; + var15 = var8[14]; + if(aBoolean3927) { + var16 = var8[0] * anInt3945 + var8[3] * anInt3934 + var8[6] * anInt3940 + 16384 >> 15; + var17 = var8[1] * anInt3945 + var8[4] * anInt3934 + var8[7] * anInt3940 + 16384 >> 15; + var18 = var8[2] * anInt3945 + var8[5] * anInt3934 + var8[8] * anInt3940 + 16384 >> 15; + var16 += var13; + var17 += var14; + var18 += var15; + anInt3945 = var16; + anInt3934 = var17; + anInt3940 = var18; + aBoolean3927 = false; + } + + int[] var49 = new int[9]; + var17 = Class51.anIntArray851[var3] >> 1; + var18 = Class51.anIntArray840[var3] >> 1; + var19 = Class51.anIntArray851[var4] >> 1; + var20 = Class51.anIntArray840[var4] >> 1; + var21 = Class51.anIntArray851[var5] >> 1; + var22 = Class51.anIntArray840[var5] >> 1; + var23 = var18 * var21 + 16384 >> 15; + var24 = var18 * var22 + 16384 >> 15; + var49[0] = var19 * var21 + var20 * var24 + 16384 >> 15; + var49[1] = -var19 * var22 + var20 * var23 + 16384 >> 15; + var49[2] = var20 * var17 + 16384 >> 15; + var49[3] = var17 * var22 + 16384 >> 15; + var49[4] = var17 * var21 + 16384 >> 15; + var49[5] = -var18; + var49[6] = -var20 * var21 + var19 * var24 + 16384 >> 15; + var49[7] = var20 * var22 + var19 * var23 + 16384 >> 15; + var49[8] = var19 * var17 + 16384 >> 15; + int var50 = var49[0] * -anInt3945 + var49[1] * -anInt3934 + var49[2] * -anInt3940 + 16384 >> 15; + var26 = var49[3] * -anInt3945 + var49[4] * -anInt3934 + var49[5] * -anInt3940 + 16384 >> 15; + var27 = var49[6] * -anInt3945 + var49[7] * -anInt3934 + var49[8] * -anInt3940 + 16384 >> 15; + var28 = var50 + anInt3945; + int var51 = var26 + anInt3934; + var30 = var27 + anInt3940; + int[] var52 = new int[9]; + + for(var32 = 0; var32 < 3; ++var32) { + for(var33 = 0; var33 < 3; ++var33) { + var34 = 0; + + for(int var53 = 0; var53 < 3; ++var53) { + var34 += var49[var32 * 3 + var53] * var8[var33 * 3 + var53]; + } + + var52[var32 * 3 + var33] = var34 + 16384 >> 15; + } + } + + var32 = var49[0] * var13 + var49[1] * var14 + var49[2] * var15 + 16384 >> 15; + var33 = var49[3] * var13 + var49[4] * var14 + var49[5] * var15 + 16384 >> 15; + var34 = var49[6] * var13 + var49[7] * var14 + var49[8] * var15 + 16384 >> 15; + var32 += var28; + var33 += var51; + var34 += var30; + var35 = new int[9]; + + for(var36 = 0; var36 < 3; ++var36) { + for(var37 = 0; var37 < 3; ++var37) { + var38 = 0; + + for(var39 = 0; var39 < 3; ++var39) { + var38 += var8[var36 * 3 + var39] * var52[var37 + var39 * 3]; + } + + var35[var36 * 3 + var37] = var38 + 16384 >> 15; + } + } + + var36 = var8[0] * var32 + var8[1] * var33 + var8[2] * var34 + 16384 >> 15; + var37 = var8[3] * var32 + var8[4] * var33 + var8[5] * var34 + 16384 >> 15; + var38 = var8[6] * var32 + var8[7] * var33 + var8[8] * var34 + 16384 >> 15; + var36 += var10; + var37 += var11; + var38 += var47; + + for(var39 = 0; var39 < var9; ++var39) { + var40 = var2[var39]; + if(var40 < this.anIntArrayArray3870.length) { + int[] var41 = this.anIntArrayArray3870[var40]; + + for(int var42 = 0; var42 < var41.length; ++var42) { + int var43 = var41[var42]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var43]) != 0) { + int var44 = var35[0] * this.anIntArray3885[var43] + var35[1] * this.anIntArray3883[var43] + var35[2] * this.anIntArray3895[var43] + 16384 >> 15; + int var45 = var35[3] * this.anIntArray3885[var43] + var35[4] * this.anIntArray3883[var43] + var35[5] * this.anIntArray3895[var43] + 16384 >> 15; + int var46 = var35[6] * this.anIntArray3885[var43] + var35[7] * this.anIntArray3883[var43] + var35[8] * this.anIntArray3895[var43] + 16384 >> 15; + var44 += var36; + var45 += var37; + var46 += var38; + this.anIntArray3885[var43] = var44; + this.anIntArray3883[var43] = var45; + this.anIntArray3895[var43] = var46; + } + } + } + } + } else { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3870.length) { + var12 = this.anIntArrayArray3870[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var14]) != 0) { + this.anIntArray3885[var14] -= anInt3945; + this.anIntArray3883[var14] -= anInt3934; + this.anIntArray3895[var14] -= anInt3940; + if(var5 != 0) { + var15 = Class51.anIntArray840[var5]; + var16 = Class51.anIntArray851[var5]; + var17 = this.anIntArray3883[var14] * var15 + this.anIntArray3885[var14] * var16 + 32767 >> 16; + this.anIntArray3883[var14] = this.anIntArray3883[var14] * var16 - this.anIntArray3885[var14] * var15 + 32767 >> 16; + this.anIntArray3885[var14] = var17; + } + + if(var3 != 0) { + var15 = Class51.anIntArray840[var3]; + var16 = Class51.anIntArray851[var3]; + var17 = this.anIntArray3883[var14] * var16 - this.anIntArray3895[var14] * var15 + 32767 >> 16; + this.anIntArray3895[var14] = this.anIntArray3883[var14] * var15 + this.anIntArray3895[var14] * var16 + 32767 >> 16; + this.anIntArray3883[var14] = var17; + } + + if(var4 != 0) { + var15 = Class51.anIntArray840[var4]; + var16 = Class51.anIntArray851[var4]; + var17 = this.anIntArray3895[var14] * var15 + this.anIntArray3885[var14] * var16 + 32767 >> 16; + this.anIntArray3895[var14] = this.anIntArray3895[var14] * var16 - this.anIntArray3885[var14] * var15 + 32767 >> 16; + this.anIntArray3885[var14] = var17; + } + + this.anIntArray3885[var14] += anInt3945; + this.anIntArray3883[var14] += anInt3934; + this.anIntArray3895[var14] += anInt3940; + } + } + } + } + } + + } else if(var1 == 3) { + if(var8 != null) { + var10 = var8[9]; + var11 = var8[10]; + var47 = var8[11]; + var13 = var8[12]; + var14 = var8[13]; + var15 = var8[14]; + if(aBoolean3927) { + var16 = var8[0] * anInt3945 + var8[3] * anInt3934 + var8[6] * anInt3940 + 16384 >> 15; + var17 = var8[1] * anInt3945 + var8[4] * anInt3934 + var8[7] * anInt3940 + 16384 >> 15; + var18 = var8[2] * anInt3945 + var8[5] * anInt3934 + var8[8] * anInt3940 + 16384 >> 15; + var16 += var13; + var17 += var14; + var18 += var15; + anInt3945 = var16; + anInt3934 = var17; + anInt3940 = var18; + aBoolean3927 = false; + } + + var16 = var3 << 15 >> 7; + var17 = var4 << 15 >> 7; + var18 = var5 << 15 >> 7; + var19 = var16 * -anInt3945 + 16384 >> 15; + var20 = var17 * -anInt3934 + 16384 >> 15; + var21 = var18 * -anInt3940 + 16384 >> 15; + var22 = var19 + anInt3945; + var23 = var20 + anInt3934; + var24 = var21 + anInt3940; + int[] var25 = new int[]{var16 * var8[0] + 16384 >> 15, var16 * var8[3] + 16384 >> 15, var16 * var8[6] + 16384 >> 15, var17 * var8[1] + 16384 >> 15, var17 * var8[4] + 16384 >> 15, var17 * var8[7] + 16384 >> 15, var18 * var8[2] + 16384 >> 15, var18 * var8[5] + 16384 >> 15, var18 * var8[8] + 16384 >> 15}; + var26 = var16 * var13 + 16384 >> 15; + var27 = var17 * var14 + 16384 >> 15; + var28 = var18 * var15 + 16384 >> 15; + var26 += var22; + var27 += var23; + var28 += var24; + int[] var29 = new int[9]; + + int var31; + for(var30 = 0; var30 < 3; ++var30) { + for(var31 = 0; var31 < 3; ++var31) { + var32 = 0; + + for(var33 = 0; var33 < 3; ++var33) { + var32 += var8[var30 * 3 + var33] * var25[var31 + var33 * 3]; + } + + var29[var30 * 3 + var31] = var32 + 16384 >> 15; + } + } + + var30 = var8[0] * var26 + var8[1] * var27 + var8[2] * var28 + 16384 >> 15; + var31 = var8[3] * var26 + var8[4] * var27 + var8[5] * var28 + 16384 >> 15; + var32 = var8[6] * var26 + var8[7] * var27 + var8[8] * var28 + 16384 >> 15; + var30 += var10; + var31 += var11; + var32 += var47; + + for(var33 = 0; var33 < var9; ++var33) { + var34 = var2[var33]; + if(var34 < this.anIntArrayArray3870.length) { + var35 = this.anIntArrayArray3870[var34]; + + for(var36 = 0; var36 < var35.length; ++var36) { + var37 = var35[var36]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var37]) != 0) { + var38 = var29[0] * this.anIntArray3885[var37] + var29[1] * this.anIntArray3883[var37] + var29[2] * this.anIntArray3895[var37] + 16384 >> 15; + var39 = var29[3] * this.anIntArray3885[var37] + var29[4] * this.anIntArray3883[var37] + var29[5] * this.anIntArray3895[var37] + 16384 >> 15; + var40 = var29[6] * this.anIntArray3885[var37] + var29[7] * this.anIntArray3883[var37] + var29[8] * this.anIntArray3895[var37] + 16384 >> 15; + var38 += var30; + var39 += var31; + var40 += var32; + this.anIntArray3885[var37] = var38; + this.anIntArray3883[var37] = var39; + this.anIntArray3895[var37] = var40; + } + } + } + } + } else { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3870.length) { + var12 = this.anIntArrayArray3870[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3893 == null || (var7 & this.aShortArray3893[var14]) != 0) { + this.anIntArray3885[var14] -= anInt3945; + this.anIntArray3883[var14] -= anInt3934; + this.anIntArray3895[var14] -= anInt3940; + this.anIntArray3885[var14] = this.anIntArray3885[var14] * var3 / 128; + this.anIntArray3883[var14] = this.anIntArray3883[var14] * var4 / 128; + this.anIntArray3895[var14] = this.anIntArray3895[var14] * var5 / 128; + this.anIntArray3885[var14] += anInt3945; + this.anIntArray3883[var14] += anInt3934; + this.anIntArray3895[var14] += anInt3940; + } + } + } + } + } + + } else if(var1 == 5) { + if(this.anIntArrayArray3872 != null && this.aByteArray3903 != null) { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3872.length) { + var12 = this.anIntArrayArray3872[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3871 == null || (var7 & this.aShortArray3871[var14]) != 0) { + var15 = (this.aByteArray3903[var14] & 255) + var3 * 8; + if(var15 < 0) { + var15 = 0; + } else if(var15 > 255) { + var15 = 255; + } + + this.aByteArray3903[var14] = (byte)var15; + } + } + } + } + } + + } else if(var1 == 7) { + if(this.anIntArrayArray3872 != null) { + for(var10 = 0; var10 < var9; ++var10) { + var11 = var2[var10]; + if(var11 < this.anIntArrayArray3872.length) { + var12 = this.anIntArrayArray3872[var11]; + + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if(this.aShortArray3871 == null || (var7 & this.aShortArray3871[var14]) != 0) { + var15 = this.aShortArray3869[var14] & '\uffff'; + var16 = var15 >> 10 & 63; + var17 = var15 >> 7 & 7; + var18 = var15 & 127; + var16 = var16 + var3 & 63; + var17 += var4; + if(var17 < 0) { + var17 = 0; + } else if(var17 > 7) { + var17 = 7; + } + + var18 += var5; + if(var18 < 0) { + var18 = 0; + } else if(var18 > 127) { + var18 = 127; + } + + this.aShortArray3869[var14] = (short)(var16 << 10 | var17 << 7 | var18); + } + } + + this.aBoolean3877 = true; + } + } + } + + } + } + } + } + + final void method1889(int var1, int var2, int var3, int var4) { + int var5; + int var6; + if(var1 == 0) { + var5 = 0; + anInt3945 = 0; + anInt3934 = 0; + anInt3940 = 0; + + for(var6 = 0; var6 < this.anInt3891; ++var6) { + anInt3945 += this.anIntArray3885[var6]; + anInt3934 += this.anIntArray3883[var6]; + anInt3940 += this.anIntArray3895[var6]; + ++var5; + } + + if(var5 > 0) { + anInt3945 = anInt3945 / var5 + var2; + anInt3934 = anInt3934 / var5 + var3; + anInt3940 = anInt3940 / var5 + var4; + } else { + anInt3945 = var2; + anInt3934 = var3; + anInt3940 = var4; + } + + } else if(var1 == 1) { + for(var5 = 0; var5 < this.anInt3891; ++var5) { + this.anIntArray3885[var5] += var2; + this.anIntArray3883[var5] += var3; + this.anIntArray3895[var5] += var4; + } + + } else { + int var7; + int var8; + if(var1 == 2) { + for(var5 = 0; var5 < this.anInt3891; ++var5) { + this.anIntArray3885[var5] -= anInt3945; + this.anIntArray3883[var5] -= anInt3934; + this.anIntArray3895[var5] -= anInt3940; + if(var4 != 0) { + var6 = Class51.anIntArray840[var4]; + var7 = Class51.anIntArray851[var4]; + var8 = this.anIntArray3883[var5] * var6 + this.anIntArray3885[var5] * var7 + 32767 >> 16; + this.anIntArray3883[var5] = this.anIntArray3883[var5] * var7 - this.anIntArray3885[var5] * var6 + 32767 >> 16; + this.anIntArray3885[var5] = var8; + } + + if(var2 != 0) { + var6 = Class51.anIntArray840[var2]; + var7 = Class51.anIntArray851[var2]; + var8 = this.anIntArray3883[var5] * var7 - this.anIntArray3895[var5] * var6 + 32767 >> 16; + this.anIntArray3895[var5] = this.anIntArray3883[var5] * var6 + this.anIntArray3895[var5] * var7 + 32767 >> 16; + this.anIntArray3883[var5] = var8; + } + + if(var3 != 0) { + var6 = Class51.anIntArray840[var3]; + var7 = Class51.anIntArray851[var3]; + var8 = this.anIntArray3895[var5] * var6 + this.anIntArray3885[var5] * var7 + 32767 >> 16; + this.anIntArray3895[var5] = this.anIntArray3895[var5] * var7 - this.anIntArray3885[var5] * var6 + 32767 >> 16; + this.anIntArray3885[var5] = var8; + } + + this.anIntArray3885[var5] += anInt3945; + this.anIntArray3883[var5] += anInt3934; + this.anIntArray3895[var5] += anInt3940; + } + + } else if(var1 != 3) { + if(var1 == 5) { + for(var5 = 0; var5 < this.anInt3889; ++var5) { + var6 = (this.aByteArray3903[var5] & 255) + var2 * 8; + if(var6 < 0) { + var6 = 0; + } else if(var6 > 255) { + var6 = 255; + } + + this.aByteArray3903[var5] = (byte)var6; + } + + } else if(var1 == 7) { + for(var5 = 0; var5 < this.anInt3889; ++var5) { + var6 = this.aShortArray3869[var5] & '\uffff'; + var7 = var6 >> 10 & 63; + var8 = var6 >> 7 & 7; + int var9 = var6 & 127; + var7 = var7 + var2 & 63; + var8 += var3; + if(var8 < 0) { + var8 = 0; + } else if(var8 > 7) { + var8 = 7; + } + + var9 += var4; + if(var9 < 0) { + var9 = 0; + } else if(var9 > 127) { + var9 = 127; + } + + this.aShortArray3869[var5] = (short)(var7 << 10 | var8 << 7 | var9); + } + + this.aBoolean3877 = true; + } + } else { + for(var5 = 0; var5 < this.anInt3891; ++var5) { + this.anIntArray3885[var5] -= anInt3945; + this.anIntArray3883[var5] -= anInt3934; + this.anIntArray3895[var5] -= anInt3940; + this.anIntArray3885[var5] = this.anIntArray3885[var5] * var2 / 128; + this.anIntArray3883[var5] = this.anIntArray3883[var5] * var3 / 128; + this.anIntArray3895[var5] = this.anIntArray3895[var5] * var4 / 128; + this.anIntArray3885[var5] += anInt3945; + this.anIntArray3883[var5] += anInt3934; + this.anIntArray3895[var5] += anInt3940; + } + + } + } + } + + final void method1897(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt3891; ++var4) { + this.anIntArray3885[var4] += var1; + this.anIntArray3883[var4] += var2; + this.anIntArray3895[var4] += var3; + } + + this.aBoolean3897 = false; + } + + final Model method1890(boolean var1, boolean var2, boolean var3) { + if(!var1 && aByteArray3933.length < this.anInt3889) { + aByteArray3933 = new byte[this.anInt3889 + 100]; + } + + if(!var2 && aShortArray3949.length < this.anInt3889) { + anIntArray3939 = new int[this.anInt3889 + 100]; + anIntArray3947 = new int[this.anInt3889 + 100]; + anIntArray3924 = new int[this.anInt3889 + 100]; + aShortArray3949 = new short[this.anInt3889 + 100]; + } + + return this.method1939(var1, var2, aClass140_Sub1_Sub2_3915, aByteArray3933, aShortArray3949, anIntArray3939, anIntArray3947, anIntArray3924); + } + + public Class140_Sub1_Sub2() {} + + Class140_Sub1_Sub2(Model_Sub1 var1, int var2, int var3, int var4, int var5, int var6) { + var1.method1997(); + var1.method2012(); + this.anInt3891 = var1.anInt2887; + this.anIntArray3885 = var1.anIntArray2885; + this.anIntArray3883 = var1.anIntArray2881; + this.anIntArray3895 = var1.anIntArray2892; + this.anInt3889 = var1.anInt2849; + this.anIntArray3901 = var1.anIntArray2865; + this.anIntArray3876 = var1.anIntArray2878; + this.anIntArray3887 = var1.anIntArray2864; + this.aByteArray3880 = var1.aByteArray2889; + this.aByteArray3903 = var1.aByteArray2843; + this.aByte3875 = var1.aByte2848; + this.aShortArray3869 = var1.aShortArray2870; + this.anIntArrayArray3870 = var1.anIntArrayArray2890; + this.anIntArrayArray3872 = var1.anIntArrayArray2856; + this.aShortArray3871 = var1.aShortArray2855; + this.aShortArray3893 = var1.aShortArray2893; + int var7 = (int)Math.sqrt((double)(var4 * var4 + var5 * var5 + var6 * var6)); + int var8 = var3 * var7 >> 8; + this.anIntArray3898 = new int[this.anInt3889]; + this.anIntArray3874 = new int[this.anInt3889]; + this.anIntArray3896 = new int[this.anInt3889]; + int var9; + if(var1.aShortArray2858 != null) { + this.aShortArray3908 = new short[this.anInt3889]; + + for(var9 = 0; var9 < this.anInt3889; ++var9) { + short var10 = var1.aShortArray2858[var9]; + if(var10 != -1 && Class51.anInterface2_838.method17(var10, 77)) { + this.aShortArray3908[var9] = var10; + } else { + this.aShortArray3908[var9] = -1; + } + } + } else { + this.aShortArray3908 = null; + } + + if(var1.anInt2862 > 0 && var1.aByteArray2866 != null) { + int[] var16 = new int[var1.anInt2862]; + + int var17; + for(var17 = 0; var17 < this.anInt3889; ++var17) { + if(var1.aByteArray2866[var17] != -1) { + ++var16[var1.aByteArray2866[var17] & 255]; + } + } + + this.anInt3900 = 0; + + for(var17 = 0; var17 < var1.anInt2862; ++var17) { + if(var16[var17] > 0 && var1.aByteArray2857[var17] == 0) { + ++this.anInt3900; + } + } + + this.anIntArray3882 = new int[this.anInt3900]; + this.anIntArray3890 = new int[this.anInt3900]; + this.anIntArray3881 = new int[this.anInt3900]; + var17 = 0; + + int var11; + for(var11 = 0; var11 < var1.anInt2862; ++var11) { + if(var16[var11] > 0 && var1.aByteArray2857[var11] == 0) { + this.anIntArray3882[var17] = var1.aShortArray2884[var11] & '\uffff'; + this.anIntArray3890[var17] = var1.aShortArray2846[var11] & '\uffff'; + this.anIntArray3881[var17] = var1.aShortArray2891[var11] & '\uffff'; + var16[var11] = var17++; + } else { + var16[var11] = -1; + } + } + + this.aByteArray3899 = new byte[this.anInt3889]; + + for(var11 = 0; var11 < this.anInt3889; ++var11) { + if(var1.aByteArray2866[var11] != -1) { + this.aByteArray3899[var11] = (byte)var16[var1.aByteArray2866[var11] & 255]; + if(this.aByteArray3899[var11] == -1 && this.aShortArray3908 != null) { + this.aShortArray3908[var11] = -1; + } + } else { + this.aByteArray3899[var11] = -1; + } + } + } + + for(var9 = 0; var9 < this.anInt3889; ++var9) { + byte var18; + if(var1.aByteArray2859 == null) { + var18 = 0; + } else { + var18 = var1.aByteArray2859[var9]; + } + + byte var19; + if(var1.aByteArray2843 == null) { + var19 = 0; + } else { + var19 = var1.aByteArray2843[var9]; + } + + short var12; + if(this.aShortArray3908 == null) { + var12 = -1; + } else { + var12 = this.aShortArray3908[var9]; + } + + if(var19 == -2) { + var18 = 3; + } + + if(var19 == -1) { + var18 = 2; + } + + Class50 var13; + int var14; + Class120 var20; + if(var12 == -1) { + if(var18 == 0) { + int var15 = var1.aShortArray2870[var9] & '\uffff'; + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3901[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3901[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3901[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823) << 17; + this.anIntArray3898[var9] = var14 | method1940(var15, var14 >> 17); + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3876[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3876[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3876[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823) << 17; + this.anIntArray3874[var9] = var14 | method1940(var15, var14 >> 17); + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3887[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3887[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3887[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823) << 17; + this.anIntArray3896[var9] = var14 | method1940(var15, var14 >> 17); + } else if(var18 == 1) { + var20 = var1.aClass120Array2886[var9]; + var14 = var2 + (var4 * var20.anInt1634 + var5 * var20.anInt1635 + var6 * var20.anInt1632) / (var8 + var8 / 2) << 17; + this.anIntArray3898[var9] = var14 | method1940(var1.aShortArray2870[var9] & '\uffff', var14 >> 17); + this.anIntArray3896[var9] = -1; + } else if(var18 == 3) { + this.anIntArray3898[var9] = 128; + this.anIntArray3896[var9] = -1; + } else { + this.anIntArray3896[var9] = -2; + } + } else if(var18 == 0) { + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3901[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3901[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3901[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823); + this.anIntArray3898[var9] = method1937(var14); + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3876[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3876[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3876[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823); + this.anIntArray3874[var9] = method1937(var14); + if(var1.aClass50Array2883 != null && var1.aClass50Array2883[this.anIntArray3887[var9]] != null) { + var13 = var1.aClass50Array2883[this.anIntArray3887[var9]]; + } else { + var13 = var1.aClass50Array2872[this.anIntArray3887[var9]]; + } + + var14 = var2 + (var4 * var13.anInt831 + var5 * var13.anInt821 + var6 * var13.anInt830) / (var8 * var13.anInt823); + this.anIntArray3896[var9] = method1937(var14); + } else if(var18 == 1) { + var20 = var1.aClass120Array2886[var9]; + var14 = var2 + (var4 * var20.anInt1634 + var5 * var20.anInt1635 + var6 * var20.anInt1632) / (var8 + var8 / 2); + this.anIntArray3898[var9] = method1937(var14); + this.anIntArray3896[var9] = -1; + } else { + this.anIntArray3896[var9] = -2; + } + } + + } + + private Class140_Sub1_Sub2(Class140_Sub1_Sub2[] var1, int var2) { + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + this.anInt3891 = 0; + this.anInt3889 = 0; + this.anInt3900 = 0; + byte var7 = 0; + byte var8 = 0; + this.aByte3875 = -1; + + int var9; + Class140_Sub1_Sub2 var10; + for(var9 = 0; var9 < var2; ++var9) { + var10 = var1[var9]; + if(var10 != null) { + this.anInt3891 += var10.anInt3891; + this.anInt3889 += var10.anInt3889; + this.anInt3900 += var10.anInt3900; + if(var10.aByteArray3880 != null) { + var3 = true; + } else { + if(this.aByte3875 == -1) { + this.aByte3875 = var10.aByte3875; + } + + if(this.aByte3875 != var10.aByte3875) { + var3 = true; + } + } + + var4 |= var10.aByteArray3903 != null; + var5 |= var10.aShortArray3908 != null; + var6 |= var10.aByteArray3899 != null; + } + } + + this.anIntArray3885 = new int[this.anInt3891]; + this.anIntArray3883 = new int[this.anInt3891]; + this.anIntArray3895 = new int[this.anInt3891]; + this.anIntArray3901 = new int[this.anInt3889]; + this.anIntArray3876 = new int[this.anInt3889]; + this.anIntArray3887 = new int[this.anInt3889]; + this.anIntArray3898 = new int[this.anInt3889]; + this.anIntArray3874 = new int[this.anInt3889]; + this.anIntArray3896 = new int[this.anInt3889]; + if(var3) { + this.aByteArray3880 = new byte[this.anInt3889]; + } + + if(var4) { + this.aByteArray3903 = new byte[this.anInt3889]; + } + + if(var5) { + this.aShortArray3908 = new short[this.anInt3889]; + } + + if(var6) { + this.aByteArray3899 = new byte[this.anInt3889]; + } + + if(this.anInt3900 > 0) { + this.anIntArray3882 = new int[this.anInt3900]; + this.anIntArray3890 = new int[this.anInt3900]; + this.anIntArray3881 = new int[this.anInt3900]; + } + + if(var7 > 0) { + ; + } + + if(var8 > 0) { + ; + } + + this.aShortArray3869 = new short[this.anInt3889]; + this.anInt3891 = 0; + this.anInt3889 = 0; + this.anInt3900 = 0; + boolean var13 = false; + boolean var12 = false; + + for(var9 = 0; var9 < var2; ++var9) { + var10 = var1[var9]; + if(var10 != null) { + int var11; + for(var11 = 0; var11 < var10.anInt3889; ++var11) { + this.anIntArray3901[this.anInt3889] = var10.anIntArray3901[var11] + this.anInt3891; + this.anIntArray3876[this.anInt3889] = var10.anIntArray3876[var11] + this.anInt3891; + this.anIntArray3887[this.anInt3889] = var10.anIntArray3887[var11] + this.anInt3891; + this.anIntArray3898[this.anInt3889] = var10.anIntArray3898[var11]; + this.anIntArray3874[this.anInt3889] = var10.anIntArray3874[var11]; + this.anIntArray3896[this.anInt3889] = var10.anIntArray3896[var11]; + this.aShortArray3869[this.anInt3889] = var10.aShortArray3869[var11]; + if(var3) { + if(var10.aByteArray3880 != null) { + this.aByteArray3880[this.anInt3889] = var10.aByteArray3880[var11]; + } else { + this.aByteArray3880[this.anInt3889] = var10.aByte3875; + } + } + + if(var4 && var10.aByteArray3903 != null) { + this.aByteArray3903[this.anInt3889] = var10.aByteArray3903[var11]; + } + + if(var5) { + if(var10.aShortArray3908 != null) { + this.aShortArray3908[this.anInt3889] = var10.aShortArray3908[var11]; + } else { + this.aShortArray3908[this.anInt3889] = -1; + } + } + + if(var6) { + if(var10.aByteArray3899 != null && var10.aByteArray3899[var11] != -1) { + this.aByteArray3899[this.anInt3889] = (byte)(var10.aByteArray3899[var11] + this.anInt3900); + } else { + this.aByteArray3899[this.anInt3889] = -1; + } + } + + ++this.anInt3889; + } + + for(var11 = 0; var11 < var10.anInt3900; ++var11) { + this.anIntArray3882[this.anInt3900] = var10.anIntArray3882[var11] + this.anInt3891; + this.anIntArray3890[this.anInt3900] = var10.anIntArray3890[var11] + this.anInt3891; + this.anIntArray3881[this.anInt3900] = var10.anIntArray3881[var11] + this.anInt3891; + ++this.anInt3900; + } + + for(var11 = 0; var11 < var10.anInt3891; ++var11) { + this.anIntArray3885[this.anInt3891] = var10.anIntArray3885[var11]; + this.anIntArray3883[this.anInt3891] = var10.anIntArray3883[var11]; + this.anIntArray3895[this.anInt3891] = var10.anIntArray3895[var11]; + ++this.anInt3891; + } + } + } + + } + + static { + if(aBoolean3942) { + anIntArray3931 = new int[4096]; + anIntArray3929 = new int[4096]; + } else { + anIntArray3946 = new int[1600]; + anIntArrayArray3926 = new int[1600][64]; + anIntArray3935 = new int[32]; + anIntArrayArray3923 = new int[32][512]; + } + + anIntArray3924 = new int[1]; + anIntArray3939 = new int[1]; + anIntArray3928 = new int[4096]; + aShortArray3949 = new short[1]; + anIntArray3943 = new int[4096]; + anIntArrayArray3938 = new int[12][4096]; + anIntArray3921 = new int[4096]; + anIntArray3950 = new int[8192]; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub2.java new file mode 100644 index 000000000..d170691d4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub2.java @@ -0,0 +1,247 @@ +package org.runite.jagex; + +final class Class140_Sub2 extends GameObject { + + static RSString aClass94_2700 = RSString.createRSString("p11_full"); + static int anInt2701 = 0; + static RSString aClass94_2702 = RSString.createRSString("floorshadows"); + int anInt2703; + private Class127_Sub1 aClass127_Sub1_2704; + static boolean aBoolean2705 = true; + private int anInt2706 = 0; + static RSString aClass94_2707 = RSString.createRSString("
(X100(U(Y"); + private int anInt2708; + static int[] anIntArray2709 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, '\uffff', 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; + int anInt2710; + private AnimationDefinition aClass142_2711; + int anInt2712; + static boolean aBoolean2713; + private int anInt2714 = -1; + private int anInt2715 = -32768; + int anInt2716; + int anInt2717; + boolean aBoolean2718 = false; + private int anInt2719 = 0; + + + private final Model method1949(boolean var1) { + try { + GraphicDefinition var2 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2708); + if(var1) { + aClass94_2707 = (RSString)null; + } + + Model var3; + if(!this.aBoolean2718) { + var3 = var2.method966(this.anInt2714, (byte)-30, this.anInt2706, this.anInt2719); + } else { + var3 = var2.method966(-1, (byte)-30, -1, 0); + } + + return var3 == null?null:var3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bh.E(" + var1 + ')'); + } + } + + static final void method1950(Class140_Sub4 var0, boolean var1) { + try { + int var2 = var0.anInt2800 - Class44.anInt719; + int var3 = 128 * var0.anInt2784 - -(64 * var0.getSize((byte)114)); + if(var1) { + int var4 = 128 * var0.anInt2835 - -(var0.getSize((byte)114) * 64); + if(0 == var0.anInt2840) { + var0.anInt2806 = 1024; + } + + var0.anInt2819 += (-var0.anInt2819 + var3) / var2; + var0.anInt2829 += (var4 + -var0.anInt2829) / var2; + if(var0.anInt2840 == 1) { + var0.anInt2806 = 1536; + } + + var0.anInt2824 = 0; + if(~var0.anInt2840 == -3) { + var0.anInt2806 = 0; + } + + if(~var0.anInt2840 == -4) { + var0.anInt2806 = 512; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bh.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method1951(int var0, byte var1) { + try { + if(var1 > -67) { + aBoolean2713 = false; + } + + return var0 >>> 8; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bh.D(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1952(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + int var8; + int var9; + if(HDToolKit.highDetail) { + var8 = -334 + var2; + if(var8 >= 0) { + if(-101 > ~var8) { + var8 = 100; + } + } else { + var8 = 0; + } + + var9 = var8 * (-OutputStream_Sub1.aShort46 + ObjectDefinition.aShort1535) / 100 + OutputStream_Sub1.aShort46; + var4 = var9 * var4 >> 8; + } + + var8 = -var7 + 2048 & 2047; + var9 = 2047 & -var5 + 2048; + int var10 = 0; + int var12 = var4; + int var11 = 0; + int var13; + int var14; + if(~var8 != -1) { + var14 = Class51.anIntArray851[var8]; + var13 = Class51.anIntArray840[var8]; + var11 = var13 * -var4 >> 16; + var12 = var14 * var4 >> 16; + } + + if(0 != var9) { + var13 = Class51.anIntArray840[var9]; + var14 = Class51.anIntArray851[var9]; + var10 = var13 * var12 >> 16; + var12 = var12 * var14 >> 16; + } + + if(var1 != -1907397104) { + method1950((Class140_Sub4)null, false); + } + + Class139.anInt1823 = var7; + Class3_Sub13_Sub25.anInt3315 = var5; + Class77.anInt1111 = var6 + -var12; + NPC.anInt3995 = var0 + -var10; + Class7.anInt2162 = -var11 + var3; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "bh.G(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + static final WorldListEntry method1953(byte var0) { + try { + if(var0 <= 97) { + anIntArray2709 = (int[])null; + } + + Class3_Sub6.anInt2291 = 0; + return ItemDefinition.method1107(5422); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bh.H(" + var0 + ')'); + } + } + + final int method1871() { + try { + return this.anInt2715; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bh.MA()"); + } + } + + public static void method1954(int var0) { + try { + if(var0 == 0) { + aClass94_2702 = null; + aClass94_2700 = null; + anIntArray2709 = null; + aClass94_2707 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bh.B(" + var0 + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + Model var13 = this.method1949(false); + if(var13 != null) { + var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2704); + this.anInt2715 = var13.method1871(); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "bh.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + final void method1955(boolean var1, int var2) { + try { + if(!this.aBoolean2718) { + if(!var1) { + this.method1955(true, -72); + } + + this.anInt2719 += var2; + + while(~this.anInt2719 < ~this.aClass142_2711.duration[this.anInt2706]) { + this.anInt2719 -= this.aClass142_2711.duration[this.anInt2706]; + ++this.anInt2706; + if(~this.aClass142_2711.frames.length >= ~this.anInt2706) { + this.aBoolean2718 = true; + break; + } + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bh.A(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1956(int var0, int var1, int var2, int var3) { + Class3_Sub2 var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var4 != null) { + Class19 var5 = var4.aClass19_2233; + if(var5 != null) { + var5.anInt430 = var5.anInt430 * var3 / 16; + var5.anInt426 = var5.anInt426 * var3 / 16; + } + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + Class140_Sub2(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + this.anInt2710 = var4; + this.anInt2716 = var3; + this.anInt2717 = var2; + this.anInt2703 = var7 + var6; + this.anInt2708 = var1; + this.anInt2712 = var5; + int var8 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2708).anInt542; + if(-1 == var8) { + this.aBoolean2718 = true; + } else { + this.aBoolean2718 = false; + this.aClass142_2711 = Client.getAnimationDefinition(var8, (byte)-20); + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "bh.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub3.java new file mode 100644 index 000000000..3a61c5997 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub3.java @@ -0,0 +1,648 @@ +package org.runite.jagex; + + +final class Class140_Sub3 extends GameObject { + + private int anInt2720 = 0; + private boolean aBoolean2721 = false; + private AnimationDefinition aClass142_2722; + static RSString aClass94_2723 = RSString.createRSString(""); + private int anInt2724; + private int anInt2725 = 0; + private int anInt2726; + static CacheIndex aClass153_2727; + private boolean aBoolean2728 = true; + private int objectId; + private int anInt2730; + private static RSString aClass94_2731 = RSString.createRSString("wave:"); + private int anInt2732; + private int anInt2733; + private int type; + static RSString aClass94_2735 = RSString.createRSString(")4"); + private int anInt2736; + static int anInt2737 = 0; + private LDIndexedSprite aClass109_Sub1_2738 = null; + private static RSString aClass94_2739 = RSString.createRSString("Drop"); + static RSString aClass94_2740 = aClass94_2731; + private int anInt2741 = -32768; + private Class127_Sub1 aClass127_Sub1_2742; + static volatile int anInt2743 = 0; + static RSString aClass94_2744 = aClass94_2739; + static int anInt2745 = 0; + private int anInt2746; + static byte[][] aByteArrayArray2747 = new byte[50][]; + private int anInt2748 = 0; + private int anInt2749; + private int anInt2750 = -1; + static RSString aClass94_2751 = aClass94_2731; + private int anInt2752 = -1; + + + static final Model method1957(int var0, boolean var1, AnimationDefinition var2, int var3, int var4, int var5, int var6, int var7, Model var8, int var9, int var10, int var11, int var12, byte var13) { + try { + long var14 = ((long)var4 << 48) + (long)(var7 + (var0 << 16) - -(var12 << 24)) + ((long)var6 << 32); + Model var16 = (Model)Class158_Sub1.aClass93_2982.get(var14, (byte)121); + int var21; + int var23; + int var25; + int var24; + int var28; + if(var16 == null) { + byte var17; + if(1 == var7) { + var17 = 9; + } else if(var7 == 2) { + var17 = 12; + } else if(-4 != ~var7) { + if(4 == var7) { + var17 = 18; + } else { + var17 = 21; + } + } else { + var17 = 15; + } + + int[] var19 = new int[]{64, 96, 128}; + byte var18 = 3; + Model_Sub1 var20 = new Model_Sub1(1 + var18 * var17, -var17 + var17 * var18 * 2, 0); + var21 = var20.method2014(0, 0, 0); + int[][] var22 = new int[var18][var17]; + + for(var23 = 0; ~var23 > ~var18; ++var23) { + var24 = var19[var23]; + var25 = var19[var23]; + + for(int var26 = 0; var26 < var17; ++var26) { + int var27 = (var26 << 11) / var17; + int var29 = var5 - -(Class51.anIntArray851[var27] * var25) >> 16; + var28 = var3 + Class51.anIntArray840[var27] * var24 >> 16; + var22[var23][var26] = var20.method2014(var28, 0, var29); + } + } + + for(var23 = 0; var23 < var18; ++var23) { + var24 = (256 * var23 - -128) / var18; + var25 = 256 + -var24; + byte var38 = (byte)(var12 * var24 + var0 * var25 >> 8); + short var39 = (short)(((var6 & 127) * var25 + (127 & var4) * var24 & 32512) + (var25 * (var6 & 896) + var24 * (var4 & 896) & 229376) + (var24 * (var4 & '\ufc00') + ('\ufc00' & var6) * var25 & 16515072) >> 8); + + for(var28 = 0; var28 < var17; ++var28) { + if(var23 == 0) { + var20.method2005(var21, var22[0][(1 + var28) % var17], var22[0][var28], (byte)1, var39, var38); + } else { + var20.method2005(var22[var23 - 1][var28], var22[var23 + -1][(var28 + 1) % var17], var22[var23][(var28 - -1) % var17], (byte)1, var39, var38); + var20.method2005(var22[-1 + var23][var28], var22[var23][(1 + var28) % var17], var22[var23][var28], (byte)1, var39, var38); + } + } + } + + var16 = var20.method2008(64, 768, -50, -10, -50); + Class158_Sub1.aClass93_2982.put((byte)-125, var16, var14); + } + + int var32 = var7 * 64 + -1; + if(var13 != -49) { + return (Model)null; + } else { + int var33 = -var32; + int var31 = -var32; + int var34 = var32; + int var35 = var8.method1884(); + Class3_Sub28_Sub5 var40 = null; + var23 = var8.method1883(); + var24 = var8.method1898(); + var25 = var8.method1872(); + if(var2 != null) { + var10 = var2.frames[var10]; + int frame = var10 >> 16; + if (var2.animId > 11000) { +// System.out.println(var2.animId + " Roar " + (var10 >> 16) + ", " + (var10 & '\uffff') + ", " + Arrays.toString(var2.frames)); + } + var40 = Class3_Sub9.method133(frame, 0); //NPC render animating + var10 &= '\uffff'; + } + + var21 = var32; + if(var1) { + if(1664 < var9 || 384 > var9) { + var31 -= 128; + } + + if(var9 > 1152 && var9 < 1920) { + var34 = var32 + 128; + } + + if(640 < var9 && ~var9 > -1409) { + var21 = var32 + 128; + } + + if(-129 > ~var9 && ~var9 > -897) { + var33 -= 128; + } + } + + if(var21 < var25) { + var25 = var21; + } + + if(var33 > var35) { + var35 = var33; + } + + if(var24 < var31) { + var24 = var31; + } + + if(var34 < var23) { + var23 = var34; + } + + if(null == var40) { + var16 = var16.method1882(true, true, true); + var16.resize((var23 + -var35) / 2, 128, (var25 - var24) / 2); + var16.method1897((var35 + var23) / 2, 0, (var24 - -var25) / 2); + } else { + var16 = var16.method1882(!var40.method559(1317095745, var10), !var40.method561(var10, (byte)115), true); + var16.resize((var23 + -var35) / 2, 128, (var25 + -var24) / 2); + var16.method1897((var35 + var23) / 2, 0, (var24 + var25) / 2); + var16.method1877(var40, var10); + } + + if(var9 != 0) { + var16.method1876(var9); + } + + if(!HDToolKit.highDetail) { + Class140_Sub1_Sub2 var37 = (Class140_Sub1_Sub2)var16; + if(~Class121.method1736(WorldListCountry.localPlane, 1, var3 - -var35, var5 - -var24) != ~var11 || var11 != Class121.method1736(WorldListCountry.localPlane, 1, var3 + var23, var5 - -var25)) { + for(var28 = 0; ~var37.anInt3891 < ~var28; ++var28) { + var37.anIntArray3883[var28] += -var11 + Class121.method1736(WorldListCountry.localPlane, 1, var3 + var37.anIntArray3885[var28], var5 + var37.anIntArray3895[var28]); + } + + var37.aBoolean3897 = false; + } + } else { + Class140_Sub1_Sub1 var36 = (Class140_Sub1_Sub1)var16; + if(~Class121.method1736(WorldListCountry.localPlane, var13 ^ -50, var3 - -var35, var24 + var5) != ~var11 || ~Class121.method1736(WorldListCountry.localPlane, 1, var23 + var3, var5 - -var25) != ~var11) { + for(var28 = 0; var28 < var36.anInt3823; ++var28) { + var36.anIntArray3845[var28] += -var11 + Class121.method1736(WorldListCountry.localPlane, Class93.method1519(var13, -50), var36.anIntArray3822[var28] - -var3, var5 + var36.anIntArray3848[var28]); + } + + var36.aClass6_3835.aBoolean98 = false; + var36.aClass121_3839.aBoolean1640 = false; + } + } + + return var16; + } + } catch (RuntimeException var30) { + throw Class44.method1067(var30, "dc.E(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ',' + var13 + ')'); + } + } + + public static void method1958(int var0) { + try { + aClass94_2751 = null; + aClass94_2744 = null; + aClass94_2723 = null; + aClass153_2727 = null; + aClass94_2731 = null; + if(var0 != 2) { + method1958(64); + } + + aClass94_2740 = null; + aByteArrayArray2747 = (byte[][])null; + aClass94_2735 = null; + aClass94_2739 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dc.G(" + var0 + ')'); + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) { + try { + if(HDToolKit.highDetail) { + this.method1962(true, -2); + } else { + this.method1961(var5, var4, -101); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "dc.IB(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1959(int var0, int var1, int var2, boolean var3) { + try { + if(~var2 <= -8001 && var2 <= '\ubb80') { + Class3_Sub24_Sub4.anInt3507 = var1; + if(var0 != 256) { + aClass94_2744 = (RSString)null; + } + + RSString.aBoolean2150 = var3; + Class21.anInt443 = var2; + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "dc.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + GameObject var13 = this.method1963(3); + if(null != var13) { + var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2742); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "dc.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + final void method1960(int var1) { + try { + if(this.aClass109_Sub1_2738 != null) { + Class141.method2047(this.aClass109_Sub1_2738, this.anInt2725, this.anInt2720, this.anInt2748); + } + + this.anInt2750 = -1; + this.anInt2752 = var1; + this.aClass109_Sub1_2738 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dc.F(" + var1 + ')'); + } + } + + protected final void finalize() {} + + private final void method1961(int var1, int var2, int var3) { + try { + if(this.aClass142_2722 != null) { + int var4 = Class44.anInt719 - this.anInt2749; + if(-101 > ~var4 && this.aClass142_2722.anInt1865 > 0) { + int var5; + for(var5 = this.aClass142_2722.frames.length - this.aClass142_2722.anInt1865; ~this.anInt2726 > ~var5 && ~this.aClass142_2722.duration[this.anInt2726] > ~var4; ++this.anInt2726) { + var4 -= this.aClass142_2722.duration[this.anInt2726]; + } + + if(~this.anInt2726 <= ~var5) { + int var6 = 0; + + for(int var7 = var5; ~this.aClass142_2722.frames.length < ~var7; ++var7) { + var6 += this.aClass142_2722.duration[var7]; + } + + var4 %= var6; + } + + this.anInt2733 = 1 + this.anInt2726; + if(this.anInt2733 >= this.aClass142_2722.frames.length) { + this.anInt2733 -= this.aClass142_2722.anInt1865; + if(~this.anInt2733 > -1 || this.aClass142_2722.frames.length <= this.anInt2733) { + this.anInt2733 = -1; + } + } + } + + while(~var4 < ~this.aClass142_2722.duration[this.anInt2726]) { + IOHandler.method1470(var1, this.aClass142_2722, 183921384, var2, false, this.anInt2726); + var4 -= this.aClass142_2722.duration[this.anInt2726]; + ++this.anInt2726; + if(~this.aClass142_2722.frames.length >= ~this.anInt2726) { + this.anInt2726 -= this.aClass142_2722.anInt1865; + if(0 > this.anInt2726 || ~this.aClass142_2722.frames.length >= ~this.anInt2726) { + this.aClass142_2722 = null; + break; + } + } + + this.anInt2733 = this.anInt2726 - -1; + if(~this.aClass142_2722.frames.length >= ~this.anInt2733) { + this.anInt2733 -= this.aClass142_2722.anInt1865; + if(~this.anInt2733 > -1 || ~this.anInt2733 <= ~this.aClass142_2722.frames.length) { + this.anInt2733 = -1; + } + } + } + + this.anInt2746 = var4; + this.anInt2749 = -var4 + Class44.anInt719; + } + + if(var3 == -101) { + ; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "dc.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final GameObject method1962(boolean var1, int var2) { + try { + boolean var3 = Class58.anIntArrayArrayArray914 != Class44.anIntArrayArrayArray723; + ObjectDefinition var4 = Class162.getObjectDefinition(var2 + 6, this.objectId); + int var5 = var4.animationId; + if(null != var4.anIntArray1524) { + var4 = var4.method1685(0); + } + + if(null == var4) { + if(HDToolKit.highDetail && !var3) { + this.method1960(-1); + } + + return null; + } else { + int var6; + if(Class158.anInt2014 != 0 && this.aBoolean2721 && (null == this.aClass142_2722 || null != this.aClass142_2722 && ~this.aClass142_2722.animId != ~var4.animationId)) { + var6 = var4.animationId; + if(0 == ~var4.animationId) { + var6 = var5; + } + + if(0 == ~var6) { + this.aClass142_2722 = null; + } else { + this.aClass142_2722 = Client.getAnimationDefinition(var6, (byte)-20); + } + + if(null != this.aClass142_2722) { + if(var4.aBoolean1492 && -1 != this.aClass142_2722.anInt1865) { + this.anInt2726 = (int)(Math.random() * (double)this.aClass142_2722.frames.length); + this.anInt2749 -= (int)(Math.random() * (double)this.aClass142_2722.duration[this.anInt2726]); + } else { + this.anInt2726 = 0; + this.anInt2749 = Class44.anInt719 + -1; + } + } + } + + var6 = this.anInt2724 & 3; + int var7; + int var8; + if(~var6 != var2 && -4 != ~var6) { + var7 = var4.anInt1480; + var8 = var4.anInt1485; + } else { + var8 = var4.anInt1480; + var7 = var4.anInt1485; + } + + int var10 = this.anInt2736 - -(1 + var7 >> 1); + int var9 = (var7 >> 1) + this.anInt2736; + int var11 = (var8 >> 1) + this.anInt2730; + int var12 = (var8 - -1 >> 1) + this.anInt2730; + this.method1961(128 * var11, var9 * 128, -101); + boolean var13 = !var3 && var4.aBoolean1503 && (var4.objectId != this.anInt2750 || (~this.anInt2726 != ~this.anInt2752 || this.aClass142_2722 != null && (this.aClass142_2722.aBoolean1872 || Class3_Sub26.aBoolean2558) && ~this.anInt2726 != ~this.anInt2733) && ~Class80.anInt1137 <= -3); + if(var1 && !var13) { + return null; + } else { + int[][] var14 = Class44.anIntArrayArrayArray723[this.anInt2732]; + int var15 = var14[var10][var12] + var14[var9][var12] + var14[var9][var11] + var14[var10][var11] >> 2; + int var16 = (var7 << 6) + (this.anInt2736 << 7); + int var17 = (var8 << 6) + (this.anInt2730 << 7); + int[][] var18 = (int[][])null; + if(!var3) { + if(-4 < ~this.anInt2732) { + var18 = Class44.anIntArrayArrayArray723[1 + this.anInt2732]; + } + } else { + var18 = Class58.anIntArrayArrayArray914[0]; + } + + if(HDToolKit.highDetail && var13) { + Class141.method2047(this.aClass109_Sub1_2738, this.anInt2725, this.anInt2720, this.anInt2748); + } + + boolean var19 = null == this.aClass109_Sub1_2738; + Class136 var20; + if(this.aClass142_2722 != null) { + var20 = var4.method1697(var17, var16, !var19?this.aClass109_Sub1_2738:Class75_Sub1.aClass109_Sub1_2631, var15, this.aClass142_2722, this.anInt2724, var14, var13, this.anInt2726, var2 ^ -8310, var18, this.anInt2733, this.type, this.anInt2746); + } else { + var20 = var4.method1696(this.anInt2724, var16, var14, this.type, var15, var18, false, var19?Class75_Sub1.aClass109_Sub1_2631:this.aClass109_Sub1_2738, (byte)-128, var13, var17); + } + + if(null == var20) { + return null; + } else { + if(HDToolKit.highDetail && var13) { + if(var19) { + Class75_Sub1.aClass109_Sub1_2631 = var20.aClass109_Sub1_1770; + } + + int var21 = 0; + if(-1 != ~this.anInt2732) { + int[][] var22 = Class44.anIntArrayArrayArray723[0]; + var21 = var15 - (var22[var10][var11] + var22[var9][var11] - (-var22[var9][var12] - var22[var10][var12]) >> 2); + } + + LDIndexedSprite var24 = var20.aClass109_Sub1_1770; + if(this.aBoolean2728 && Class141.method2049(var24, var16, var21, var17)) { + this.aBoolean2728 = false; + } + + if(!this.aBoolean2728) { + Class141.method2051(var24, var16, var21, var17); + this.aClass109_Sub1_2738 = var24; + this.anInt2748 = var17; + if(var19) { + Class75_Sub1.aClass109_Sub1_2631 = null; + } + + this.anInt2720 = var21; + this.anInt2725 = var16; + } + + this.anInt2750 = var4.objectId; + this.anInt2752 = this.anInt2726; + } + + return var20.aClass140_1777; + } + } + } + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "dc.H(" + var1 + ',' + var2 + ')'); + } + } + + final GameObject method1963(int var1) { + try { + if(var1 != 3) { + aClass94_2731 = (RSString)null; + } + + return this.method1962(false, var1 + -5); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dc.C(" + var1 + ')'); + } + } + + final int method1871() { + try { + return this.anInt2741; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dc.MA()"); + } + } + + static final void renderLocalPlayers(boolean var0) { + try { + int localPlayerAmount = GraphicDefinition.incomingBuffer.getBits((byte)-11, 8); + int var2; + if(~Class159.localPlayerCount < ~localPlayerAmount) { + for(var2 = localPlayerAmount; ~var2 > ~Class159.localPlayerCount; ++var2) { + Class3_Sub7.anIntArray2292[Class139.anInt1829++] = Class56.localPlayerIndexes[var2]; + } + } + + if(~localPlayerAmount >= ~Class159.localPlayerCount) { + Class159.localPlayerCount = 0; + var2 = 0; + if(var0) { + method1959(-121, -69, 115, false); + } + + for(; ~var2 > ~localPlayerAmount; ++var2) { + int var3 = Class56.localPlayerIndexes[var2]; + Player var4 = Class3_Sub13_Sub22.players[var3]; + int update = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~update == -1) { + Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3; + var4.anInt2838 = Class44.anInt719; + } else { + int type = GraphicDefinition.incomingBuffer.getBits((byte)-11, 2); + if(type != 0) { + int var7; + int var8; + if(-2 != ~type) { + if(-3 != ~type) { + if(-4 == ~type) { + Class3_Sub7.anIntArray2292[Class139.anInt1829++] = var3; + } + } else { + Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3; + var4.anInt2838 = Class44.anInt719; + if(GraphicDefinition.incomingBuffer.getBits((byte)-11, 1) != 1) { + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(0, (byte)113, var7); + } else { + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(2, (byte)-92, var7); + var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(2, (byte)88, var8); + } + + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(1 == var7) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } + } else { + Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3; + var4.anInt2838 = Class44.anInt719; + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(1, (byte)46, var7); + var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~var8 == -2) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } + } else { + Class56.localPlayerIndexes[Class159.localPlayerCount++] = var3; + var4.anInt2838 = Class44.anInt719; + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } + } + + } else { + throw new RuntimeException("gppov1"); + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "dc.B(" + var0 + ')'); + } + } + + Class140_Sub3(int objectId, int type, int var3, int var4, int var5, int var6, int animationId, boolean var8, GameObject var9) { + try { + this.anInt2732 = var4; + this.anInt2724 = var3; + this.anInt2736 = var5; + this.type = type; + this.objectId = objectId; + this.anInt2730 = var6; + ObjectDefinition var10; + if(HDToolKit.highDetail && null != var9) { + if(var9 instanceof Class140_Sub3) { + ((Class140_Sub3)var9).method1960(-1); + } else { + var10 = Class162.getObjectDefinition(4, this.objectId); + if(var10.anIntArray1524 != null) { + var10 = var10.method1685(0); + } + + if(null != var10) { + Class8.method840(var10, (byte)-76, 0, this.anInt2724, 0, this.type, this.anInt2736, this.anInt2730, this.anInt2732); + } + } + } + + if(-1 != animationId) { + this.aClass142_2722 = Client.getAnimationDefinition(animationId, (byte)-20); + this.anInt2726 = 0; + if(1 >= this.aClass142_2722.frames.length) { + this.anInt2733 = 0; + } else { + this.anInt2733 = 1; + } + + this.anInt2746 = 1; + this.anInt2749 = -1 + Class44.anInt719; + if(-1 == ~this.aClass142_2722.anInt1845 && null != var9 && var9 instanceof Class140_Sub3) { + Class140_Sub3 var12 = (Class140_Sub3)var9; + if(this.aClass142_2722 == var12.aClass142_2722) { + this.anInt2726 = var12.anInt2726; + this.anInt2749 = var12.anInt2749; + this.anInt2746 = var12.anInt2746; + this.anInt2733 = var12.anInt2733; + return; + } + } + + if(var8 && this.aClass142_2722.anInt1865 != -1) { + this.anInt2726 = (int)(Math.random() * (double)this.aClass142_2722.frames.length); + this.anInt2733 = this.anInt2726 - -1; + if(~this.anInt2733 <= ~this.aClass142_2722.frames.length) { + this.anInt2733 -= this.aClass142_2722.anInt1865; + if(this.anInt2733 < 0 || ~this.anInt2733 <= ~this.aClass142_2722.frames.length) { + this.anInt2733 = -1; + } + } + + this.anInt2746 = 1 - -((int)(Math.random() * (double)this.aClass142_2722.duration[this.anInt2726])); + this.anInt2749 = -this.anInt2746 + Class44.anInt719; + } + } + + if(HDToolKit.highDetail && var9 != null) { + this.method1962(true, -2); + } + + if(var9 == null) { + var10 = Class162.getObjectDefinition(4, this.objectId); + if(null != var10.anIntArray1524) { + this.aBoolean2721 = true; + } + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "dc.(" + objectId + ',' + type + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + animationId + ',' + var8 + ',' + (var9 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub4.java new file mode 100644 index 000000000..0602498f6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub4.java @@ -0,0 +1,596 @@ +package org.runite.jagex; + +abstract class Class140_Sub4 extends GameObject { + + int textEffect = 0; + private int anInt2754 = 0; + int[] anIntArray2755 = new int[10]; + static int anInt2756; + private int anInt2757 = 0; + int anInt2758 = 0; + int anInt2759; + int anInt2760 = 0; + int anInt2761 = 0; + int anInt2762 = 0; + int renderAnimationId = -1; + int anInt2764 = -1; + static RSString aClass94_2765 = RSString.createRSString(" "); + private int anInt2766 = 0; + int[] anIntArray2767 = new int[10]; + int[] anIntArray2768 = new int[4]; + boolean aBoolean2769 = false; + static int anInt2770; + int anInt2771 = -1; + int anInt2772 = -1; + int anInt2773 = 0; + static boolean aBoolean2774 = true; + int anInt2775; + int anInt2776 = -1; + int anInt2777; + int anInt2778 = 0; + int anInt2779 = 32; + int anInt2780 = 0; + int anInt2781 = -1000; + int anInt2782; + private boolean aBoolean2783 = false; + int anInt2784; + int anInt2785; + int anInt2786 = 0; + private int anInt2787 = 0; + int anInt2788; + int anInt2789 = 0; + int anInt2790; + int anInt2791 = 0; + static Class93 aClass93_2792 = new Class93(64); + int anInt2793 = -1; + static int[] anIntArray2794 = new int[100]; + byte[] aByteArray2795 = new byte[10]; + Object anObject2796; + int anInt2797 = 0; + int anInt2798; + int anInt2799; + int anInt2800; + Class127_Sub1 aClass127_Sub1_2801; + int anInt2802 = 0; + int anInt2803 = 0; + private int anInt2804 = 0; + int anInt2805 = 0; + int anInt2806; + private boolean aBoolean2807 = false; + int anInt2808 = 0; + Class145[] aClass145Array2809 = new Class145[12]; + boolean aBoolean2810 = false; + int anInt2811 = 0; + int anInt2812; + int anInt2813 = 0; + int textCycle = 100; + int[] anIntArray2815 = new int[4]; + int anInt2816 = 0; + int anInt2817; + int anInt2818; + int anInt2819; + int anInt2820 = -32768; + int anInt2821 = 0; + private int size = 1; + int anInt2823; + int anInt2824 = 0; + RSString textSpoken = null; + int anInt2826 = -1; + private int anInt2827 = 0; + int anInt2828 = 0; + int anInt2829; + private int anInt2830 = 0; + int anInt2831; + int anInt2832 = 0; + int anInt2833; + private int anInt2834 = 0; + int anInt2835; + int[] anIntArray2836 = new int[4]; + int textColor = 0; + int anInt2838 = 0; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array2839; + int anInt2840; + static Class54[] aClass54Array2841 = new Class54[50]; + int anInt2842 = -1; + + + final RenderAnimationDefinition method1965(boolean var1) { + try { + int var2 = this.getRenderAnimationId(-1); + return var1?(RenderAnimationDefinition)null:(0 == ~var2?PacketParser.aClass16_84:Class3_Sub10.getRenderAnimationDefinition(false, var2)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fe.D(" + var1 + ')'); + } + } + + boolean hasDefinitions(byte var1) { + try { + if(var1 != 17) { + this.method1975(-109); + } + + return false; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fe.L(" + var1 + ')'); + } + } + + final void method1967(int var1, int var2, int var3, int var4, boolean var5) { + try { + if(~this.anInt2771 != 0 && -2 == ~Client.getAnimationDefinition(this.anInt2771, (byte)-20).anInt1850) { + this.anInt2771 = -1; + } + + if(!var5) { + int var6 = var3 + -this.anIntArray2767[0]; + int var7 = var4 + -this.anIntArray2755[0]; + if(~var6 <= 7 && 8 >= var6 && 7 >= ~var7 && ~var7 >= -9) { + if(this.anInt2816 < 9) { + ++this.anInt2816; + } + + for(int var8 = this.anInt2816; ~var8 < -1; --var8) { + this.anIntArray2767[var8] = this.anIntArray2767[-1 + var8]; + this.anIntArray2755[var8] = this.anIntArray2755[var8 + -1]; + this.aByteArray2795[var8] = this.aByteArray2795[var8 - 1]; + } + + this.aByteArray2795[0] = 1; + this.anIntArray2767[0] = var3; + this.anIntArray2755[0] = var4; + return; + } + } + + this.anInt2824 = 0; + this.anIntArray2767[0] = var3; + this.anIntArray2755[0] = var4; + this.anInt2816 = 0; + this.anInt2811 = 0; + this.anInt2829 = 64 * var2 + this.anIntArray2755[0] * 128; + this.anInt2819 = var2 * 64 + 128 * this.anIntArray2767[0]; + if(var1 != -2) { + aClass54Array2841 = (Class54[])null; + } + + if(HDToolKit.highDetail && Class102.player == this) { + Class3_Sub13_Sub14.method236((byte)64); + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "fe.J(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final void walkStep(int var1, byte var2, int var3) { + try { + int var4 = this.anIntArray2767[0]; + int var5 = this.anIntArray2755[0]; + if(0 == var3) { + --var4; + ++var5; + } + + if(~this.anInt2771 != 0 && 1 == Client.getAnimationDefinition(this.anInt2771, (byte)-20).anInt1850) { + this.anInt2771 = -1; + } + + if(-10 < ~this.anInt2816) { + ++this.anInt2816; + } + + int var6; + for(var6 = this.anInt2816; -1 > ~var6; --var6) { + this.anIntArray2767[var6] = this.anIntArray2767[-1 + var6]; + this.anIntArray2755[var6] = this.anIntArray2755[-1 + var6]; + this.aByteArray2795[var6] = this.aByteArray2795[-1 + var6]; + } + + if(-2 == ~var3) { + ++var5; + } + + this.aByteArray2795[0] = (byte)var1; + if(2 == var3) { + ++var5; + ++var4; + } + + if(-4 == ~var3) { + --var4; + } + + if(4 == var3) { + ++var4; + } + + if(5 == var3) { + --var5; + --var4; + } + + if(var3 == 6) { + --var5; + } + + if(-8 == ~var3) { + --var5; + ++var4; + } + + this.anIntArray2767[0] = var4; + var6 = -106 / ((var2 - -10) / 40); + this.anIntArray2755[0] = var5; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "fe.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method1969(byte var1, Model var2, int var3) { + try { + if(var1 <= 33) { + this.method1971((Model)null, (byte)-26); + } + + Class3_Sub28_Sub9.anInt3623 = 0; + Class3_Sub13_Sub16.anInt3198 = 0; + Class3_Sub13_Sub9.anInt3111 = 0; + RenderAnimationDefinition var4 = this.method1965(false); + int var5 = var4.anInt395; + int var6 = var4.anInt381; + if(-1 != ~var5 && var6 != 0) { + int var7 = Class51.anIntArray840[var3]; + int var8 = Class51.anIntArray851[var3]; + int var9 = -var5 / 2; + int var10 = -var6 / 2; + int var12 = -(var9 * var7) + var10 * var8 >> 16; + int var11 = var7 * var10 - -(var8 * var9) >> 16; + int var13 = Class121.method1736(WorldListCountry.localPlane, 1, var11 + this.anInt2819, this.anInt2829 + var12); + int var14 = var5 / 2; + int var15 = -var6 / 2; + int var16 = var14 * var8 + var15 * var7 >> 16; + int var20 = var6 / 2; + int var17 = var15 * var8 + -(var14 * var7) >> 16; + int var18 = Class121.method1736(WorldListCountry.localPlane, 1, var16 + this.anInt2819, this.anInt2829 - -var17); + int var19 = -var5 / 2; + int var22 = -(var7 * var19) + var20 * var8 >> 16; + int var25 = var6 / 2; + int var24 = var5 / 2; + int var21 = var7 * var20 - -(var8 * var19) >> 16; + int var27 = var25 * var8 - var7 * var24 >> 16; + int var26 = var7 * var25 + var8 * var24 >> 16; + int var23 = Class121.method1736(WorldListCountry.localPlane, 1, this.anInt2819 + var21, var22 + this.anInt2829); + int var29 = ~var18 < ~var13?var13:var18; + int var28 = Class121.method1736(WorldListCountry.localPlane, 1, var26 + this.anInt2819, var27 + this.anInt2829); + int var30 = var28 > var23?var23:var28; + int var31 = var28 > var18?var18:var28; + int var32 = var23 <= var13?var23:var13; + Class3_Sub13_Sub16.anInt3198 = 2047 & (int)(325.95D * Math.atan2((double)(var29 - var30), (double)var6)); + if(Class3_Sub13_Sub16.anInt3198 != 0) { + var2.method1896(Class3_Sub13_Sub16.anInt3198); + } + + Class3_Sub28_Sub9.anInt3623 = 2047 & (int)(325.95D * Math.atan2((double)(-var31 + var32), (double)var5)); + if(Class3_Sub28_Sub9.anInt3623 != 0) { + var2.method1886(Class3_Sub28_Sub9.anInt3623); + } + + Class3_Sub13_Sub9.anInt3111 = var28 + var13; + if(~(var23 + var18) > ~Class3_Sub13_Sub9.anInt3111) { + Class3_Sub13_Sub9.anInt3111 = var23 + var18; + } + + Class3_Sub13_Sub9.anInt3111 = (Class3_Sub13_Sub9.anInt3111 >> 1) - this.anInt2831; + if(Class3_Sub13_Sub9.anInt3111 != 0) { + var2.method1897(0, Class3_Sub13_Sub9.anInt3111, 0); + } + } + + } catch (RuntimeException var33) { + throw Class44.method1067(var33, "fe.M(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final void method1970(int var1, int var2, int var3, int var4) { + try { + if(var2 == -8) { + for(int var5 = 0; -5 < ~var5; ++var5) { + if(var3 >= this.anIntArray2768[var5]) { + this.anIntArray2836[var5] = var4; + this.anIntArray2815[var5] = var1; + this.anIntArray2768[var5] = 70 + var3; + return; + } + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "fe.G(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method1971(Model var1, byte var2) { + try { + if(var2 > -102) { + this.setSize(1, -96); + } + + RenderAnimationDefinition var3 = this.method1965(false); + if(0 != var3.anInt400 || 0 != var3.anInt371) { + int var4 = 0; + int var5 = 0; + if(this.aBoolean2769 && ~this.anInt2821 != -1) { + var5 = var3.anInt371; + if(this.anInt2821 >= 0) { + var4 = var3.anInt400; + } else { + var4 = -var3.anInt400; + } + } + + int var6; + int var7; + int var8; + int var9; + if(this.anInt2827 != var4) { + this.anInt2827 = var4; + if(-1 > ~this.anInt2754 && this.anInt2787 < var4) { + var6 = this.anInt2754 * this.anInt2754 / (2 * var3.anInt387); + var7 = -this.anInt2787 + var4; + if(var6 <= var7) { + this.aBoolean2807 = true; + this.anInt2804 = (var4 + this.anInt2787 - var6) / 2; + var8 = var3.anInt370 * var3.anInt370 / (var3.anInt387 * 2); + var9 = -var8 + var4; + if(this.anInt2804 < var9) { + this.anInt2804 = var9; + } + } else { + this.aBoolean2807 = false; + } + } else if(-1 < ~this.anInt2754 && ~this.anInt2787 < ~var4) { + var6 = this.anInt2754 * this.anInt2754 / (var3.anInt387 * 2); + var7 = var4 - this.anInt2787; + if(var7 >= var6) { + this.aBoolean2807 = true; + this.anInt2804 = (this.anInt2787 + var6 - -var4) / 2; + var8 = var3.anInt370 * var3.anInt370 / (2 * var3.anInt387); + var9 = var8 + var4; + if(this.anInt2804 > var9) { + this.anInt2804 = var9; + } + } else { + this.aBoolean2807 = false; + } + } else { + this.aBoolean2807 = false; + } + } + + if(~this.anInt2754 != -1) { + if(this.anInt2754 > 0) { + if(~this.anInt2787 <= ~this.anInt2804) { + this.aBoolean2807 = false; + } + + if(!this.aBoolean2807) { + this.anInt2754 -= var3.anInt387; + if(-1 < ~this.anInt2754) { + this.anInt2754 = 0; + } + } else if(var3.anInt370 > this.anInt2754) { + this.anInt2754 += var3.anInt387; + } + } else { + if(~this.anInt2804 <= ~this.anInt2787) { + this.aBoolean2807 = false; + } + + if(this.aBoolean2807) { + if(~this.anInt2754 < ~(-var3.anInt370)) { + this.anInt2754 -= var3.anInt387; + } + } else { + this.anInt2754 += var3.anInt387; + if(this.anInt2754 > 0) { + this.anInt2754 = 0; + } + } + } + } else { + var6 = -this.anInt2787 + this.anInt2827; + if(-var3.anInt387 < var6 && ~var3.anInt387 < ~var6) { + this.anInt2787 = this.anInt2827; + } else { + this.aBoolean2807 = true; + var7 = var3.anInt370 * var3.anInt370 / (var3.anInt387 * 2); + this.anInt2804 = (this.anInt2827 + this.anInt2787) / 2; + if(var6 >= 0) { + var8 = -var7 + this.anInt2827; + this.anInt2754 = var3.anInt387; + if(~var8 < ~this.anInt2804) { + this.anInt2804 = var8; + } + } else { + this.anInt2754 = -var3.anInt387; + var8 = var7 + this.anInt2827; + if(~this.anInt2804 < ~var8) { + this.anInt2804 = var8; + } + } + } + } + + this.anInt2787 += this.anInt2754; + if(~this.anInt2787 != -1) { + var6 = (this.anInt2787 & '\ufff1') >> 5; + var7 = var1.method1871() / 2; + var1.method1897(0, -var7, 0); + var1.method1886(var6); + var1.method1897(0, var7, 0); + } + + if(var5 != this.anInt2766) { + this.anInt2766 = var5; + if(-1 > ~this.anInt2830 && this.anInt2834 < var5) { + var6 = this.anInt2830 * this.anInt2830 / (2 * var3.anInt403); + var7 = -this.anInt2834 + var5; + if(var6 > var7) { + this.aBoolean2783 = false; + } else { + this.anInt2757 = (-var6 + this.anInt2834 + var5) / 2; + this.aBoolean2783 = true; + var8 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403); + var9 = var5 + -var8; + if(~this.anInt2757 > ~var9) { + this.anInt2757 = var9; + } + } + } else if(-1 < ~this.anInt2830 && this.anInt2834 > var5) { + var7 = -this.anInt2834 + var5; + var6 = this.anInt2830 * this.anInt2830 / (2 * var3.anInt403); + if(var7 >= var6) { + this.anInt2757 = (var6 + this.anInt2834 - -var5) / 2; + this.aBoolean2783 = true; + var8 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403); + var9 = var8 + var5; + if(var9 < this.anInt2757) { + this.anInt2757 = var9; + } + } else { + this.aBoolean2783 = false; + } + } else { + this.aBoolean2783 = false; + } + } + + if(~this.anInt2830 != -1) { + if(-1 > ~this.anInt2830) { + if(~this.anInt2834 <= ~this.anInt2757) { + this.aBoolean2783 = false; + } + + if(this.aBoolean2783) { + if(~this.anInt2830 > ~var3.anInt399) { + this.anInt2830 += var3.anInt403; + } + } else { + this.anInt2830 -= var3.anInt403; + if(0 > this.anInt2830) { + this.anInt2830 = 0; + } + } + } else { + if(this.anInt2757 >= this.anInt2834) { + this.aBoolean2783 = false; + } + + if(this.aBoolean2783) { + if(~(-var3.anInt399) > ~this.anInt2830) { + this.anInt2830 -= var3.anInt403; + } + } else { + this.anInt2830 += var3.anInt403; + if(0 < this.anInt2830) { + this.anInt2830 = 0; + } + } + } + } else { + var6 = -this.anInt2834 + this.anInt2766; + if(~var6 < ~(-var3.anInt403) && var3.anInt403 > var6) { + this.anInt2834 = this.anInt2766; + } else { + this.anInt2757 = (this.anInt2766 + this.anInt2834) / 2; + this.aBoolean2783 = true; + var7 = var3.anInt399 * var3.anInt399 / (2 * var3.anInt403); + if(-1 < ~var6) { + this.anInt2830 = -var3.anInt403; + var8 = var7 + this.anInt2766; + if(this.anInt2757 > var8) { + this.anInt2757 = var8; + } + } else { + this.anInt2830 = var3.anInt403; + var8 = -var7 + this.anInt2766; + if(~this.anInt2757 > ~var8) { + this.anInt2757 = var8; + } + } + } + } + + this.anInt2834 += this.anInt2830; + if(-1 != ~this.anInt2834) { + var6 = (this.anInt2834 & '\uffe6') >> 5; + var7 = var1.method1871() / 2; + var1.method1897(0, -var7, 0); + var1.method1896(var6); + var1.method1897(0, var7, 0); + } + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "fe.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + abstract int getRenderAnimationId(int var1); + + final void method1973(int var1) { + try { + if(var1 < -75) { + this.anInt2816 = 0; + this.anInt2811 = 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fe.I(" + var1 + ')'); + } + } + + public static void method1974(byte var0) { + try { + if(var0 > -101) { + aClass3_Sub28_Sub16Array2839 = (Class3_Sub28_Sub16[])null; + } + + aClass54Array2841 = null; + aClass94_2765 = null; + aClass93_2792 = null; + aClass3_Sub28_Sub16Array2839 = null; + anIntArray2794 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fe.K(" + var0 + ')'); + } + } + + final int method1975(int var1) { + try { + return var1 != 27855?107:(this.anInt2820 != -32768?-this.anInt2820:200); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fe.F(" + var1 + ')'); + } + } + + final void setSize(int var1, int var2) { + try { + this.size = var1; + if(var2 != 2) { + this.aBoolean2807 = false; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fe.C(" + var1 + ',' + var2 + ')'); + } + } + + int getSize(byte var1) { + try { + return var1 != 114?-24:this.size; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fe.H(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub6.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub6.java new file mode 100644 index 000000000..26932ed99 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub6.java @@ -0,0 +1,295 @@ +package org.runite.jagex; + +final class Class140_Sub6 extends GameObject { + + static int accRegistryPort; + private double aDouble2895; + private int anInt2896 = 0; + private int anInt2897; + private int anInt2898 = -1; + int anInt2899; + double aDouble2900; + static int anInt2901; + private int anInt2902; + int anInt2903; + private boolean aBoolean2904 = false; + static int anInt2905 = 0; + static CacheIndex spritesCacheIndex; + int anInt2907; + private double aDouble2908; + private Class127_Sub1 aClass127_Sub1_2909; + static boolean aBoolean2910 = true; + private int anInt2911; + private int anInt2912 = -32768; + private double aDouble2913; + double aDouble2914; + private int anInt2915; + private int anInt2916; + private int anInt2917; + private double aDouble2918; + int anInt2919; + double aDouble2920; + private double aDouble2921; + private int anInt2922 = 0; + private AnimationDefinition aClass142_2923; + int anInt2924; + int anInt2925; + static volatile long aLong2926 = 0L; + private int anInt2927; + + + public static void method2019(boolean var0) { + try { + if(var0) { + spritesCacheIndex = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ra.C(" + var0 + ')'); + } + } + + static final void method2020(int var0, ObjectDefinition var1, byte var2, int var3, int var4) { + try { + Class3_Sub9 var5 = (Class3_Sub9)Class3.aClass61_78.method1222(); + if(var2 != -73) { + method2019(true); + } + + while(null != var5) { + if(var4 == var5.anInt2314 && ~var5.anInt2326 == ~(128 * var0) && var5.anInt2308 == 128 * var3 && ~var1.objectId == ~var5.aClass111_2320.objectId) { + if(null != var5.aClass3_Sub24_Sub1_2312) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2312); + var5.aClass3_Sub24_Sub1_2312 = null; + } + + if(var5.aClass3_Sub24_Sub1_2315 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2315); + var5.aClass3_Sub24_Sub1_2315 = null; + } + + var5.method86(-1024); + return; + } + + var5 = (Class3_Sub9)Class3.aClass61_78.method1221(); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ra.E(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final boolean method2021(byte var0, int var1) { + try { + if(var0 > -63) { + anInt2905 = 66; + } + + return var1 == (-var1 & var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ra.H(" + var0 + ',' + var1 + ')'); + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + private final Model method2022(int var1) { + try { + if(var1 >= -6) { + return (Model)null; + } else { + GraphicDefinition var2 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2915); + Model var3 = var2.method966(this.anInt2898, (byte)-30, this.anInt2922, this.anInt2896); + if(null == var3) { + return null; + } else { + var3.method1896(this.anInt2917); + return var3; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ra.G(" + var1 + ')'); + } + } + + final void method2023(byte var1, int var2) { + try { + this.aDouble2920 += this.aDouble2895 * (double)var2; + this.aDouble2900 += this.aDouble2918 * (double)var2; + this.aBoolean2904 = true; + if(this.anInt2927 == -1) { + this.aDouble2914 += this.aDouble2913 * (double)var2; + } else { + this.aDouble2914 += (double)var2 * this.aDouble2908 * 0.5D * (double)var2 + (double)var2 * this.aDouble2913; + this.aDouble2913 += this.aDouble2908 * (double)var2; + } + + this.anInt2924 = 1024 + (int)(325.949D * Math.atan2(this.aDouble2895, this.aDouble2918)) & 2047; + this.anInt2917 = 2047 & (int)(325.949D * Math.atan2(this.aDouble2913, this.aDouble2921)); + if(var1 != -59) { + this.animate(121, 74, -127, 12, -105, -18, 65, 117, 43L, 84, (Class127_Sub1)null); + } + + if(this.aClass142_2923 != null) { + this.anInt2896 += var2; + + while(this.anInt2896 > this.aClass142_2923.duration[this.anInt2922]) { + this.anInt2896 -= this.aClass142_2923.duration[this.anInt2922]; + ++this.anInt2922; + if(~this.anInt2922 <= ~this.aClass142_2923.frames.length) { + this.anInt2922 -= this.aClass142_2923.anInt1865; + if(this.anInt2922 < 0 || this.aClass142_2923.frames.length <= this.anInt2922) { + this.anInt2922 = 0; + } + } + + this.anInt2898 = this.anInt2922 + 1; + if(this.aClass142_2923.frames.length <= this.anInt2898) { + this.anInt2898 -= this.aClass142_2923.anInt1865; + if(-1 < ~this.anInt2898 || ~this.anInt2898 <= ~this.aClass142_2923.frames.length) { + this.anInt2898 = -1; + } + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ra.D(" + var1 + ',' + var2 + ')'); + } + } + + final void method2024(int var1, int var2, int var3, int var4, int var5) { + try { + double var6; + if(!this.aBoolean2904) { + double var8 = (double)(-this.anInt2916 + var1); + var6 = (double)(-this.anInt2902 + var5); + double var10 = Math.sqrt(var6 * var6 + var8 * var8); + this.aDouble2914 = (double)this.anInt2911; + this.aDouble2900 = var8 * (double)this.anInt2897 / var10 + (double)this.anInt2916; + this.aDouble2920 = (double)this.anInt2897 * var6 / var10 + (double)this.anInt2902; + } + + var6 = (double)(-var3 + var2 + this.anInt2899); + this.aDouble2918 = ((double)var1 - this.aDouble2900) / var6; + this.aDouble2895 = (-this.aDouble2920 + (double)var5) / var6; + this.aDouble2921 = Math.sqrt(this.aDouble2918 * this.aDouble2918 + this.aDouble2895 * this.aDouble2895); + if(0 == ~this.anInt2927) { + this.aDouble2913 = (-this.aDouble2914 + (double)var4) / var6; + } else { + if(!this.aBoolean2904) { + this.aDouble2913 = -this.aDouble2921 * Math.tan((double)this.anInt2927 * 0.02454369D); + } + + this.aDouble2908 = 2.0D * ((double)var4 - this.aDouble2914 - this.aDouble2913 * var6) / (var6 * var6); + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ra.J(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + Model var13 = this.method2022(-126); + if(null != var13) { + var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2909); + this.anInt2912 = var13.method1871(); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "ra.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + static final void method2025(byte var0, int var1) { + try { + if(var0 <= -25) { + Class3_Sub28_Sub7_Sub1.aClass93_4043.method1522(-128, var1); + CS2Script.aClass93_2442.method1522(-126, var1); + Class154.aClass93_1964.method1522(-127, var1); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ra.F(" + var0 + ',' + var1 + ')'); + } + } + + final int method1871() { + try { + return this.anInt2912; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ra.MA()"); + } + } + + static final void method2026(byte var0, int interfaceHash, int amount, int itemId) { + try { + if(var0 > 114) { + Class3_Sub28_Sub6 var4 = Class3_Sub24_Sub3.method466(4, 9, interfaceHash); + var4.g((byte)33); + var4.anInt3598 = itemId; + var4.anInt3597 = amount; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ra.I(" + var0 + ',' + interfaceHash + ',' + amount + ',' + itemId + ')'); + } + } + + static final Class3_Sub28_Sub16[] getSprites(int var0, byte var1, int archiveId, CacheIndex var3) { + try { + // System.out.println(archiveId); + return !Class75_Sub4.method1351(var3, var0, archiveId, -30901)?null:(var1 != 11?(Class3_Sub28_Sub16[])null:Class75_Sub3.method1347(-26802)); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ra.B(" + var0 + ',' + var1 + ',' + archiveId + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final int method2028(int var0, int var1, int var2) { + try { + int var3 = 96 / ((var2 - -75) / 33); + + int var4; + for(var4 = 1; 1 < var0; var0 >>= 1) { + if(0 != (1 & var0)) { + var4 *= var1; + } + + var1 *= var1; + } + + if(var0 != 1) { + return var4; + } else { + return var4 * var1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ra.A(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + Class140_Sub6(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + try { + this.anInt2899 = var7; + this.anInt2902 = var3; + this.anInt2919 = var10; + this.anInt2915 = var1; + this.anInt2907 = var2; + this.anInt2927 = var8; + this.anInt2916 = var4; + this.aBoolean2904 = false; + this.anInt2903 = var11; + this.anInt2897 = var9; + this.anInt2925 = var6; + this.anInt2911 = var5; + int var12 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2915).anInt542; + if(0 != ~var12) { + this.aClass142_2923 = Client.getAnimationDefinition(var12, (byte)-20); + } else { + this.aClass142_2923 = null; + } + + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "ra.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class140_Sub7.java b/09HDscape-client/src/org/runite/jagex/Class140_Sub7.java new file mode 100644 index 000000000..9dacb6bcd --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class140_Sub7.java @@ -0,0 +1,307 @@ +package org.runite.jagex; + +final class Class140_Sub7 extends GameObject { + + static RSString aClass94_2928 = RSString.createRSString("null"); + static int[] anIntArray2929 = new int[1000]; + int anInt2930; + static int[] anIntArray2931; + private int anInt2932 = -32768; + static int[] anIntArray2933 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; + static int anInt2934; + static RSString[] aClass94Array2935 = new RSString[500]; + int anInt2936; + static int anInt2937; + static int anInt2938; + static CacheIndex aClass153_2939; + + + static final boolean method2029(byte var0, CacheIndex var1, int var2) { + try { + if(var0 > -116) { + return false; + } else { + byte[] var3 = var1.method2138(var2, 0); + if(null != var3) { + Class45.method1082(var3, 19); + return true; + } else { + return false; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "uj.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method2030(byte var0) { + try { + anIntArray2929 = null; + if(var0 < 82) { + method2031((byte)-61, false, -20, 24, (Class3_Sub2[][][])((Class3_Sub2[][][])null), 124); + } + + anIntArray2931 = null; + anIntArray2933 = null; + aClass94Array2935 = null; + aClass94_2928 = null; + aClass153_2939 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uj.C(" + var0 + ')'); + } + } + + static final boolean method2031(byte var0, boolean var1, int var2, int var3, Class3_Sub2[][][] var4, int var5) { + try { + byte var6 = !var1?(byte)(255 & Class79.anInt1127):1; + if(~var6 == ~Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var2][var3]) { + return false; + } else if(-1 == ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var2][var3] & 4)) { + return false; + } else { + int var8 = 0; + byte var7 = 0; + Class3_Sub13_Sub38.anIntArray3456[var7] = var2; + if(var0 >= -9) { + method2031((byte)-29, false, 59, 52, (Class3_Sub2[][][])((Class3_Sub2[][][])null), 75); + } + + int var23 = var7 + 1; + Class45.anIntArray729[var7] = var3; + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var2][var3] = var6; + + while(~var8 != ~var23) { + int var10 = (16740943 & Class3_Sub13_Sub38.anIntArray3456[var8]) >> 16; + int var11 = 255 & Class3_Sub13_Sub38.anIntArray3456[var8] >> 24; + int var9 = Class3_Sub13_Sub38.anIntArray3456[var8] & '\uffff'; + int var13 = (Class45.anIntArray729[var8] & 16721603) >> 16; + int var12 = Class45.anIntArray729[var8] & '\uffff'; + var8 = 4095 & 1 + var8; + boolean var14 = false; + boolean var15 = false; + if(0 == (Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4)) { + var14 = true; + } + + int var17; + int var16; + label257: + for(var16 = 1 + WorldListCountry.localPlane; 3 >= var16; ++var16) { + if(-1 == ~(Class9.aByteArrayArrayArray113[var16][var9][var12] & 8)) { + int var18; + int var20; + if(var14 && var4[var16][var9][var12] != null) { + if(null != var4[var16][var9][var12].aClass70_2234) { + var17 = Class55.method1184(var10, (byte)82); + if(~var4[var16][var9][var12].aClass70_2234.anInt1055 == ~var17 || var4[var16][var9][var12].aClass70_2234.anInt1059 == var17) { + continue; + } + + if(0 != var11) { + var18 = Class55.method1184(var11, (byte)-93); + if(var18 == var4[var16][var9][var12].aClass70_2234.anInt1055 || var4[var16][var9][var12].aClass70_2234.anInt1059 == var18) { + continue; + } + } + + if(var13 != 0) { + var18 = Class55.method1184(var13, (byte)99); + if(var18 == var4[var16][var9][var12].aClass70_2234.anInt1055 || ~var18 == ~var4[var16][var9][var12].aClass70_2234.anInt1059) { + continue; + } + } + } + + if(var4[var16][var9][var12].aClass25Array2221 != null) { + for(var17 = 0; ~var4[var16][var9][var12].anInt2223 < ~var17; ++var17) { + var18 = (int)(63L & var4[var16][var9][var12].aClass25Array2221[var17].aLong498 >> 14); + if(-22 == ~var18) { + var18 = 19; + } + + int var19 = (int)(var4[var16][var9][var12].aClass25Array2221[var17].aLong498 >> 20 & 3L); + var20 = var18 | var19 << 6; + if(~var20 == ~var10 || var11 != 0 && var20 == var11 || -1 != ~var13 && var13 == var20) { + continue label257; + } + } + } + } + + var15 = true; + Class3_Sub2 var24 = var4[var16][var9][var12]; + if(var24 != null && ~var24.anInt2223 < -1) { + for(var18 = 0; ~var24.anInt2223 < ~var18; ++var18) { + Class25 var25 = var24.aClass25Array2221[var18]; + if(~var25.anInt495 != ~var25.anInt483 || ~var25.anInt481 != ~var25.anInt478) { + for(var20 = var25.anInt483; ~var25.anInt495 <= ~var20; ++var20) { + for(int var21 = var25.anInt478; ~var21 >= ~var25.anInt481; ++var21) { + Class158.aByteArrayArrayArray2008[var16][var20][var21] = var6; + } + } + } + } + } + + Class158.aByteArrayArrayArray2008[var16][var9][var12] = var6; + } + } + + if(var15) { + if(Class44.anIntArrayArrayArray723[WorldListCountry.localPlane - -1][var9][var12] > Class41.anIntArray686[var5]) { + Class41.anIntArray686[var5] = Class44.anIntArrayArrayArray723[WorldListCountry.localPlane + 1][var9][var12]; + } + + var16 = var9 << 7; + if(var16 >= Class129_Sub1.anIntArray2696[var5]) { + if(~Class159.anIntArray2021[var5] > ~var16) { + Class159.anIntArray2021[var5] = var16; + } + } else { + Class129_Sub1.anIntArray2696[var5] = var16; + } + + var17 = var12 << 7; + if(~AnimationDefinition.anIntArray1871[var5] < ~var17) { + AnimationDefinition.anIntArray1871[var5] = var17; + } else if(Player.anIntArray3959[var5] < var17) { + Player.anIntArray3959[var5] = var17; + } + } + + if(!var14) { + if(-2 >= ~var9 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] != var6) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(var9 - 1, 1179648), -754974720); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 1245184); + var23 = 1 + var23 & 4095; + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - 1][var12] = var6; + } + + ++var12; + if(104 > var12) { + if(-1 >= ~(var9 + -1) && ~var6 != ~Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) == -1 && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][-1 + var9][var12 + -1] & 4) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(1375731712, Class3_Sub13_Sub29.bitwiseOr(1179648, -1 + var9)); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 1245184); + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] = var6; + var23 = 1 + var23 & 4095; + } + + if(var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12]) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(318767104, Class3_Sub13_Sub29.bitwiseOr(var9, 5373952)); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(5439488, var12); + var23 = 4095 & 1 + var23; + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12] = var6; + } + + if(-105 < ~(1 + var9) && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] != var6 && 0 == (Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][1 + var9][var12 - 1] & 4) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(-1845493760, Class3_Sub13_Sub29.bitwiseOr(5373952, var9 + 1)); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(5439488, var12); + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - -1][var12] = var6; + var23 = 4095 & var23 - -1; + } + } + + --var12; + if(104 > 1 + var9 && var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 - -1][var12]) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(1 + var9, 9568256), 1392508928); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 9633792); + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][1 + var9][var12] = var6; + var23 = var23 + 1 & 4095; + } + + --var12; + if(-1 >= ~var12) { + if(0 <= var9 + -1 && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] != var6 && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12] & 4) == -1 && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9 + -1][1 + var12] & 4) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(-1 + var9, 13762560), 301989888); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(var12, 13828096); + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][-1 + var9][var12] = var6; + var23 = 4095 & var23 - -1; + } + + if(var6 != Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12]) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub29.bitwiseOr(var9, 13762560), -1828716544); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(13828096, var12); + var23 = var23 - -1 & 4095; + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9][var12] = var6; + } + + if(-105 < ~(var9 - -1) && Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] != var6 && ~(4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var9][var12]) == -1 && ~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][1 + var9][1 + var12] & 4) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var23] = Class3_Sub13_Sub29.bitwiseOr(-771751936, Class3_Sub13_Sub29.bitwiseOr(var9 - -1, 9568256)); + Class45.anIntArray729[var23] = Class3_Sub13_Sub29.bitwiseOr(9633792, var12); + Class158.aByteArrayArrayArray2008[WorldListCountry.localPlane][var9 + 1][var12] = var6; + var23 = 4095 & 1 + var23; + } + } + } + } + + if(-1000000 != Class41.anIntArray686[var5]) { + Class41.anIntArray686[var5] += 10; + Class129_Sub1.anIntArray2696[var5] -= 50; + Class159.anIntArray2021[var5] += 50; + Player.anIntArray3959[var5] += 50; + AnimationDefinition.anIntArray1871[var5] -= 50; + } + + return true; + } + } catch (RuntimeException var22) { + throw Class44.method1067(var22, "uj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ')'); + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + static final int method2032(int var0, int var1) { + try { + if(var1 != 5439488) { + anInt2937 = 102; + } + + return var0 >>> 10; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "uj.E(" + var0 + ',' + var1 + ')'); + } + } + + static final RSString method2033(RSByteBuffer var0, int var1, int var2) { + try { + try { + int var3 = var0.getSmart(true); + if(var2 < var3) { + var3 = var2; + } + + byte[] var4 = new byte[var3]; + var0.index += Class3_Sub13_Sub9.aClass36_3112.method1017(0, var3, var4, var1 ^ -1247, var0.buffer, var0.index); + RSString var5 = Class3_Sub13_Sub3.method178(var4, -4114, var3, 0); + return var1 != 1?(RSString)null:var5; + } catch (Exception var6) { + return Class159.aClass94_2018; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "uj.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + Model var13 = Class38.getItemDefinition(this.anInt2936, (byte)84).method1110(124, -1, 0, (AnimationDefinition)null, this.anInt2930, 0); + if(null != var13) { + var13.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, var12); + this.anInt2932 = var13.method1871(); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "uj.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + final int method1871() { + try { + return this.anInt2932; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uj.MA()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class141.java b/09HDscape-client/src/org/runite/jagex/Class141.java new file mode 100644 index 000000000..bcc57636a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class141.java @@ -0,0 +1,456 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +final class Class141 { + + static LDIndexedSprite aClass109_Sub1_1840; + static Class169[][] aClass169ArrayArray1841; + private static int anInt1842; + static LDIndexedSprite[] aClass109_Sub1Array1843; + private static int anInt1844; + + + private static final void method2034(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) { + var2 += var0.anInt1470; + var3 += var0.anInt1464; + int var4 = var2 + var3 * var1.anInt1461; + int var5 = 0; + int var6 = var0.anInt1468; + int var7 = var0.anInt1461; + int var8 = var1.anInt1461 - var7; + int var9 = 0; + int var10; + if(var3 <= 0) { + var10 = 1 - var3; + var6 -= var10; + var5 += var10 * var7; + var4 += var10 * var1.anInt1461; + var3 = 1; + } + + if(var3 + var6 >= var1.anInt1468) { + var10 = var3 + var6 + 1 - var1.anInt1468; + var6 -= var10; + } + + if(var2 <= 0) { + var10 = 1 - var2; + var7 -= var10; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + var2 = 1; + } + + if(var2 + var7 >= var1.anInt1461) { + var10 = var2 + var7 + 1 - var1.anInt1461; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if(var7 > 0 && var6 > 0) { + method2044(var1.aByteArray2674, var0.aByteArray2674, var5, var4, var7, var6, var8, var9); + method2036(var2, var3, var7, var6); + } + } + + private static final void method2035(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = -(var4 >> 2); + var4 = -(var4 & 3); + + for(int var9 = -var5; var9 < 0; ++var9) { + int var10; + int var10001; + for(var10 = var8; var10 < 0; ++var10) { + var10001 = var3++; + var0[var10001] -= var1[var2++]; + var10001 = var3++; + var0[var10001] -= var1[var2++]; + var10001 = var3++; + var0[var10001] -= var1[var2++]; + var10001 = var3++; + var0[var10001] -= var1[var2++]; + } + + for(var10 = var4; var10 < 0; ++var10) { + var10001 = var3++; + var0[var10001] -= var1[var2++]; + } + + var3 += var6; + var2 += var7; + } + + } + + private static final void method2036(int var0, int var1, int var2, int var3) { + int var4 = var0 - 1 >> 7; + int var5 = var0 - 1 + var2 - 1 >> 7; + int var6 = var1 - 1 >> 7; + int var7 = var1 - 1 + var3 - 1 >> 7; + + for(int var8 = var4; var8 <= var5; ++var8) { + for(int var9 = var6; var9 <= var7; ++var9) { + aClass169ArrayArray1841[var8][var9].aBoolean2106 = true; + } + } + + } + + static final void method2037(int var0, int var1, boolean var2, boolean var3, int var4, int var5, int var6, int var7, int var8, int var9) { + if(!var2 || !var3) { + if(!var2 || var0 != 1) { + if(!var3 || var0 != 0) { + int var10 = var4 << 7; + int var11 = var6 + var7 + var8 + var9 >> 2; + int var12 = var5 << 7; + int var13 = var10 - (var11 * Class92.anInt1314 >> 8) >> 3; + int var14 = var12 - (var11 * Class92.anInt1315 >> 8) >> 3; + if(var0 != 0 && var0 != 1 && (var2 || var3)) { + method2050(aClass109_Sub1Array1843[var0], aClass109_Sub1_1840, var13 + 1, var14 + 1, var1, var2); + } else { + method2034(aClass109_Sub1Array1843[1], aClass109_Sub1_1840, var13 + 1, var14 + 1); + } + } + } + } + } + + static final void method2038(int var0, int var1, int var2, int var3, boolean[][] var4, int[][] var5) { + GL var6 = HDToolKit.gl; + HDToolKit.method1856(1); + HDToolKit.method1847(1); + HDToolKit.method1823(); + HDToolKit.method1837(false); + Class3_Sub28_Sub4.method551(0, 0, 0); + var6.glDepthMask(false); + + for(int var7 = 0; var7 < anInt1844; ++var7) { + int var8 = 0; + + while(var8 < anInt1842) { + int var9 = var7 * 8; + + while(true) { + if(var9 < var7 * 8 + 8) { + label42: { + if(var9 - var0 >= -var2 && var9 - var0 <= var2) { + for(int var10 = var8 * 8; var10 < var8 * 8 + 8; ++var10) { + if(var10 - var1 >= -var2 && var10 - var1 <= var2 && var4[var9 - var0 + var2][var10 - var1 + var2]) { + Class169 var11 = aClass169ArrayArray1841[var7][var8]; + if(var11.aBoolean2106) { + var11.method2282(aClass109_Sub1_1840, var7, var8); + var11.aBoolean2106 = false; + } + + var6.glPushMatrix(); + var6.glTranslatef((float)(var7 * 1024), 0.0F, (float)(var8 * 1024)); + var11.method2284(); + var6.glPopMatrix(); + break label42; + } + } + } + + ++var9; + continue; + } + } + + ++var8; + break; + } + } + } + + var6.glEnableClientState('\u8076'); + var6.glDepthMask(true); + HDToolKit.method1846(); + } + + private static final boolean method2039(byte[] var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var2 % var5; + int var7; + if(var6 != 0) { + var7 = var5 - var6; + } else { + var7 = 0; + } + + int var8 = -((var3 + var5 - 1) / var5); + int var9 = -((var2 + var5 - 1) / var5); + + for(int var10 = var8; var10 < 0; ++var10) { + for(int var11 = var9; var11 < 0; ++var11) { + if(var0[var1] == 0) { + return true; + } + + var1 += var5; + } + + var1 -= var7; + if(var0[var1 - 1] == 0) { + return true; + } + + var1 += var4; + } + + return false; + } + + private static final boolean method2040(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) { + var2 += var0.anInt1470; + var3 += var0.anInt1464; + int var4 = var2 + var3 * var1.anInt1461; + int var5 = var0.anInt1468; + int var6 = var0.anInt1461; + int var7 = var1.anInt1461 - var6; + int var8; + if(var3 <= 0) { + var8 = 1 - var3; + var5 -= var8; + var4 += var8 * var1.anInt1461; + var3 = 1; + } + + if(var3 + var5 >= var1.anInt1468) { + var8 = var3 + var5 + 1 - var1.anInt1468; + var5 -= var8; + } + + if(var2 <= 0) { + var8 = 1 - var2; + var6 -= var8; + var4 += var8; + var7 += var8; + var2 = 1; + } + + if(var2 + var6 >= var1.anInt1461) { + var8 = var2 + var6 + 1 - var1.anInt1461; + var6 -= var8; + var7 += var8; + } + + if(var6 > 0 && var5 > 0) { + byte var9 = 8; + var7 += (var9 - 1) * var1.anInt1461; + method2036(var2, var3, var6, var5); + return method2039(var1.aByteArray2674, var4, var6, var5, var7, var9); + } else { + return false; + } + } + + static final void method2041(int var0, int var1) { + anInt1844 = var0 + 7 >> 3; + anInt1842 = var1 + 7 >> 3; + aClass109_Sub1_1840 = new LDIndexedSprite(anInt1844 * 128 + 2, anInt1842 * 128 + 2, 0); + aClass169ArrayArray1841 = new Class169[anInt1844][anInt1842]; + + for(int var2 = 0; var2 < anInt1844; ++var2) { + for(int var3 = 0; var3 < anInt1842; ++var3) { + aClass169ArrayArray1841[var2][var3] = new Class169(); + } + } + + } + + private static final void method2042(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3) { + var2 += var0.anInt1470; + var3 += var0.anInt1464; + int var4 = var2 + var3 * var1.anInt1461; + int var5 = 0; + int var6 = var0.anInt1468; + int var7 = var0.anInt1461; + int var8 = var1.anInt1461 - var7; + int var9 = 0; + int var10; + if(var3 <= 0) { + var10 = 1 - var3; + var6 -= var10; + var5 += var10 * var7; + var4 += var10 * var1.anInt1461; + var3 = 1; + } + + if(var3 + var6 >= var1.anInt1468) { + var10 = var3 + var6 + 1 - var1.anInt1468; + var6 -= var10; + } + + if(var2 <= 0) { + var10 = 1 - var2; + var7 -= var10; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + var2 = 1; + } + + if(var2 + var7 >= var1.anInt1461) { + var10 = var2 + var7 + 1 - var1.anInt1461; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if(var7 > 0 && var6 > 0) { + method2035(var1.aByteArray2674, var0.aByteArray2674, var5, var4, var7, var6, var8, var9); + method2036(var2, var3, var7, var6); + } + } + + static final void method2043() { + aClass109_Sub1_1840 = null; + aClass109_Sub1Array1843 = null; + aClass169ArrayArray1841 = (Class169[][])null; + } + + private static final void method2044(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = -(var4 >> 2); + var4 = -(var4 & 3); + + for(int var9 = -var5; var9 < 0; ++var9) { + int var10; + int var10001; + for(var10 = var8; var10 < 0; ++var10) { + var10001 = var3++; + var0[var10001] += var1[var2++]; + var10001 = var3++; + var0[var10001] += var1[var2++]; + var10001 = var3++; + var0[var10001] += var1[var2++]; + var10001 = var3++; + var0[var10001] += var1[var2++]; + } + + for(var10 = var4; var10 < 0; ++var10) { + var10001 = var3++; + var0[var10001] += var1[var2++]; + } + + var3 += var6; + var2 += var7; + } + + } + + public static void method2045() { + aClass109_Sub1_1840 = null; + aClass109_Sub1Array1843 = null; + aClass169ArrayArray1841 = (Class169[][])null; + } + + private static final void method2046(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6) { + for(int var7 = -16; var7 < 0; ++var7) { + for(int var8 = -4; var8 < 0; ++var8) { + int var10001 = var3++; + var0[var10001] = (byte)(var0[var10001] + (1 - var1[var2])); + var2 += var5; + var10001 = var3++; + var0[var10001] = (byte)(var0[var10001] + (1 - var1[var2])); + var2 += var5; + var10001 = var3++; + var0[var10001] = (byte)(var0[var10001] + (1 - var1[var2])); + var2 += var5; + var10001 = var3++; + var0[var10001] = (byte)(var0[var10001] + (1 - var1[var2])); + var2 += var5; + } + + var3 += var4; + var2 += var6; + } + + } + + static final void method2047(LDIndexedSprite var0, int var1, int var2, int var3) { + if(var0 != null) { + int var4 = var1 - (var2 * Class92.anInt1314 >> 8) >> 3; + int var5 = var3 - (var2 * Class92.anInt1315 >> 8) >> 3; + method2042(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1); + } + } + + private static final void method2048(byte[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6) { + for(int var7 = -16; var7 < 0; ++var7) { + for(int var8 = -4; var8 < 0; ++var8) { + int var10001 = var3++; + var0[var10001] += var1[var2]; + var2 += var5; + var10001 = var3++; + var0[var10001] += var1[var2]; + var2 += var5; + var10001 = var3++; + var0[var10001] += var1[var2]; + var2 += var5; + var10001 = var3++; + var0[var10001] += var1[var2]; + var2 += var5; + } + + var3 += var4; + var2 += var6; + } + + } + + static final boolean method2049(LDIndexedSprite var0, int var1, int var2, int var3) { + if(var0 == null) { + return false; + } else { + int var4 = var1 - (var2 * Class92.anInt1314 >> 8) >> 3; + int var5 = var3 - (var2 * Class92.anInt1315 >> 8) >> 3; + return method2040(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1); + } + } + + private static final void method2050(LDIndexedSprite var0, LDIndexedSprite var1, int var2, int var3, int var4, boolean var5) { + if(var2 > 0 && var3 > 0 && var2 + 16 < var1.anInt1461 && var3 + 16 < var1.anInt1468) { + int var6 = var2 + var3 * var1.anInt1461; + int var7 = var1.anInt1461 - 16; + short var8; + byte var9; + int var10; + if(var4 == 0) { + var8 = 240; + var9 = 1; + var10 = -var9 * 16 - 16; + } else if(var4 == 1) { + var8 = 255; + var9 = -16; + var10 = -var9 * 16 - 1; + } else if(var4 == 2) { + var8 = 15; + var9 = -1; + var10 = -var9 * 16 + 16; + } else { + var8 = 0; + var9 = 16; + var10 = -var9 * 16 + 1; + } + + if(var5) { + method2046(var1.aByteArray2674, var0.aByteArray2674, var8, var6, var7, var9, var10); + } else { + method2048(var1.aByteArray2674, var0.aByteArray2674, var8, var6, var7, var9, var10); + } + + method2036(var2, var3, 16, 16); + } + } + + static final void method2051(LDIndexedSprite var0, int var1, int var2, int var3) { + if(var0 != null) { + int var4 = var1 - (var2 * Class92.anInt1314 >> 8) >> 3; + int var5 = var3 - (var2 * Class92.anInt1315 >> 8) >> 3; + method2034(var0, aClass109_Sub1_1840, var4 + 1, var5 + 1); + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class143.java b/09HDscape-client/src/org/runite/jagex/Class143.java new file mode 100644 index 000000000..1589aee9d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class143.java @@ -0,0 +1,66 @@ +package org.runite.jagex; + +final class Class143 { + + static int anInt1873; + static Class93 aClass93_1874 = new Class93(50); + static int loadingStage = 0; + private static RSString aClass94_1876 = RSString.createRSString("Loaded fonts"); + static RSString aClass94_1877 = RSString.createRSString(":assist:"); + static RSString aClass94_1878 = RSString.createRSString("tremblement:"); + static RSString aClass94_1879 = aClass94_1876; + static RSString aClass94_1880 = RSString.createRSString(")1"); + + + static final void method2062(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + int var12 = Class40.method1040(Class57.anInt902, var6, (byte)0, Class159.anInt2020); + int var13 = Class40.method1040(Class57.anInt902, var3, (byte)0, Class159.anInt2020); + int var14 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7, (byte)0, Class101.anInt1425); + int var15 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var0, (byte)0, Class101.anInt1425); + int var8 = Class40.method1040(Class57.anInt902, var4 + var6, (byte)0, Class159.anInt2020); + int var9 = Class40.method1040(Class57.anInt902, -var4 + var3, (byte)0, Class159.anInt2020); + + int var16; + for(var16 = var12; ~var16 > ~var8; ++var16) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var14, 97, var15, var5); + } + + for(var16 = var13; ~var16 < ~var9; --var16) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var14, 94, var15, var5); + } + + int var10 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4 + var7, (byte)0, Class101.anInt1425); + int var11 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var4 + var0, (byte)0, Class101.anInt1425); + if(var2 >= -88) { + aClass94_1876 = (RSString)null; + } + + for(var16 = var8; ~var16 >= ~var9; ++var16) { + int[] var17 = Class38.anIntArrayArray663[var16]; + Class3_Sub13_Sub23_Sub1.method282(var17, var14, 105, var10, var5); + Class3_Sub13_Sub23_Sub1.method282(var17, var10, 111, var11, var1); + Class3_Sub13_Sub23_Sub1.method282(var17, var11, 109, var15, var5); + } + + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "tl.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + public static void method2063(int var0) { + try { + aClass94_1878 = null; + aClass93_1874 = null; + aClass94_1880 = null; + aClass94_1877 = null; + aClass94_1876 = null; + if(var0 == 0) { + aClass94_1879 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tl.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class144.java b/09HDscape-client/src/org/runite/jagex/Class144.java new file mode 100644 index 000000000..45cc78968 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class144.java @@ -0,0 +1,222 @@ +package org.runite.jagex; + +import org.runite.Properties; + +abstract class Class144 { + + static int anInt1881 = 0; + static RSString aClass94_1882 = RSString.createRSString("Librairie 3D d-Bmarr-Be"); + static int anInt1883; + static RSString aClass94_1885 = RSString.createRSString("cookiehost"); + static int anInt1886; + static int anInt1887; + private static RSString aClass94_1888 = RSString.createRSString("Your ignore list is full)3 Max of 100 users)3"); + static RSString aClass94_1884 = aClass94_1888; + + abstract byte[] method2064(int var1); + + static final void method2065(byte var0, CacheIndex var1, CacheIndex var2) { + try { + Class3_Sub13_Sub19.aClass153_3227 = var1; + if(var0 <= -103) { + AnimationDefinition.aClass153_1852 = var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "u.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + abstract void method2066(int var1, byte[] var2); + + static final void method2067(boolean var0) { + try { + if(!var0) { + for(Class3_Sub28_Sub2 var1 = (Class3_Sub28_Sub2)Class3_Sub13_Sub15.aClass61_3177.method1222(); null != var1; var1 = (Class3_Sub28_Sub2)Class3_Sub13_Sub15.aClass61_3177.method1221()) { + Class140_Sub2 var2 = var1.aClass140_Sub2_3545; + if(~var2.anInt2717 == ~WorldListCountry.localPlane && !var2.aBoolean2718) { + if(~var2.anInt2703 >= ~Class44.anInt719) { + var2.method1955(true, Class106.anInt1446); + if(!var2.aBoolean2718) { + Class20.method907(var2.anInt2717, var2.anInt2716, var2.anInt2710, var2.anInt2712, 60, var2, 0, -1L, false); + } else { + var1.method86(-1024); + } + } + } else { + var1.method86(-1024); + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "u.G(" + var0 + ')'); + } + } + // static final void method2068(NPCDefinition var0, int var1, int var2, int var3, int var4) { + // @Splinter + static final void drawNpcRightClickOptions(NPCDefinition var0, int var1, int var2, int var3, int var4) { + try { + if(Class3_Sub13_Sub34.anInt3415 < 400) { + if(var0.childNPCs != null) { + var0 = var0.method1471((byte)66); + } + + if(null != var0) { + if(var0.aBoolean1270) { + if(var2 > -83) { + aClass94_1884 = (RSString)null; + } + + RSString var5 = var0.aClass94_1273; + if(0 != var0.anInt1260) { + RSString var6 = Class158.anInt2014 != 1?Class27.aClass94_525:Class3_Sub22.aClass94_2526; + var5 = RenderAnimationDefinition.method903(new RSString[]{var5, Class72.method1295(var0.anInt1260, (byte)-122, Class102.player.COMBAT_LEVEL), Class72.LEFT_PARENTHESES, var6, Class72.method1298((byte)9, var0.anInt1260), Class3_Sub9.RIGHT_PARENTHESES}, (byte)-73); + } + + if(-2 == ~Class164_Sub1.anInt3012) { + Class54.method1177(Class99.anInt1403, (long)var3, (byte)-125, RenderAnimationDefinition.method903(new RSString[]{RenderAnimationDefinition.aClass94_378, Class3_Sub28_Sub16.aClass94_3702, var5}, (byte)-125), var1, (short)26, Class3_Sub13_Sub32.aClass94_3388, var4); + ++Class49.anInt816; + } else if(!GameObject.aBoolean1837) { + ++RSByteBuffer.anInt2592; + RSString[] var11 = var0.options; + if(Class123.aBoolean1656) { + var11 = Class3_Sub31.method822(19406, var11); + } + + int var7; + if(var11 != null) { + for(var7 = 4; var7 >= 0; --var7) { + if(var11[var7] != null && (Class158.anInt2014 != 0 || !var11[var7].equals(-113, Class3_Sub13_Sub36.aClass94_3427))) { + ++ItemDefinition.anInt763; + byte var8 = 0; + if(var7 == 0) { + var8 = 17; + } + + if(-2 == ~var7) { + var8 = 16; + } + + int var9 = -1; + if(~var7 == -3) { + var8 = 4; + } + + if(var7 == 3) { + var8 = 19; + } + + if(var0.anInt1296 == var7) { + var9 = var0.anInt1253; + } + + if(~var7 == ~var0.anInt1289) { + var9 = var0.anInt1278; + } + + if(~var7 == -5) { + var8 = 2; + } + + Class54.method1177(var9, (long)var3, (byte)-103, RenderAnimationDefinition.method903(new RSString[]{Class132.aClass94_1738, var5}, (byte)-99), var1, var8, var11[var7], var4); + } + } + } + + if(0 == Class158.anInt2014 && var11 != null) { + for(var7 = 4; var7 >= 0; --var7) { + if(null != var11[var7] && var11[var7].equals(-112, Class3_Sub13_Sub36.aClass94_3427)) { + ++Class3_Sub28_Sub10_Sub1.anInt4054; + short var14 = 0; + if(var0.anInt1260 > Class102.player.COMBAT_LEVEL && !Properties.get().isInstantAttack()) { + var14 = 2000; + //This var sets "attack" as a right click attack option for higher level npcs, let's make it a single click! + } + + short var13 = 0; + if(var7 == 0) { + var13 = 17; + } + + if(-2 == ~var7) { + var13 = 16; + } + + if(2 == var7) { + var13 = 4; + } + + if(3 == var7) { + var13 = 19; + } + + if(~var7 == -5) { + var13 = 2; + } + + if(0 != var13) { + var13 += var14; + } + + Class54.method1177(var0.anInt1298, (long)var3, (byte)-128, RenderAnimationDefinition.method903(new RSString[]{Class132.aClass94_1738, var5}, (byte)-124), var1, var13, var11[var7], var4); + } + } + } + + Class54.method1177(Class131.anInt1719, (long)var3, (byte)-73, RenderAnimationDefinition.method903(new RSString[]{Class132.aClass94_1738, var5}, (byte)-69), var1, (short)1007, Class86.aClass94_1180, var4); + } else { + Class3_Sub28_Sub9 var12 = -1 == Class69.anInt1038?null:Class61.method1210(64, Class69.anInt1038); + if(~(2 & Class164.anInt2051) != -1 && (var12 == null || var0.method1475(Class69.anInt1038, -26460, var12.anInt3614) != var12.anInt3614)) { + Class54.method1177(anInt1887, (long)var3, (byte)-93, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class3_Sub28_Sub16.aClass94_3702, var5}, (byte)-65), var1, (short)45, Class3_Sub28_Sub9.aClass94_3621, var4); + ++Class119.anInt1629; + } + } + + } + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "u.A(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final Class3_Sub28_Sub12 method2069(int var0, int var1) { + try { + if(var1 >= -99) { + return (Class3_Sub28_Sub12)null; + } else { + Class3_Sub28_Sub12 var2 = (Class3_Sub28_Sub12)Class49.aClass47_818.method1092((long)var0, 1400); + if(null != var2) { + return var2; + } else { + byte[] var3 = Class8.aClass153_105.getFile(5, (byte)-122, var0); + var2 = new Class3_Sub28_Sub12(); + if(var3 != null) { + var2.method610(new RSByteBuffer(var3), 0); + } + + Class49.aClass47_818.method1097(var2, (long)var0, (byte)58); + return var2; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "u.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method2070(byte var0) { + try { + aClass94_1884 = null; + aClass94_1888 = null; + if(var0 < 0) { + anInt1881 = -60; + } + + aClass94_1882 = null; + aClass94_1885 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "u.F(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class144_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class144_Sub1.java new file mode 100644 index 000000000..b08a47021 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class144_Sub1.java @@ -0,0 +1,30 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; + +final class Class144_Sub1 extends Class144 { + + private ByteBuffer aByteBuffer2940; + + + final void method2066(int var1, byte[] var2) { + this.aByteBuffer2940 = ByteBuffer.allocateDirect(var2.length); + this.aByteBuffer2940.position(0); + if(var1 != 400) { + this.method2066(44, (byte[])null); + } + + this.aByteBuffer2940.put(var2); + } + + final byte[] method2064(int var1) { + byte[] var2 = new byte[this.aByteBuffer2940.capacity()]; + this.aByteBuffer2940.position(0); + if(var1 != 26) { + return (byte[])null; + } else { + this.aByteBuffer2940.get(var2); + return var2; + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class145.java b/09HDscape-client/src/org/runite/jagex/Class145.java new file mode 100644 index 000000000..adf100f4e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class145.java @@ -0,0 +1,839 @@ +package org.runite.jagex; + +final class Class145 { + + static RSString aClass94_1889 = RSString.createRSString("blinken2:"); + int animationId; + int anInt1891; + + int anInt1893; + int anInt1894; + static Class113[] aClass113Array1895; + static int anInt1896; + int anInt1897; + static int anInt1898; + private static RSString aClass94_1899 = RSString.createRSString("Loading textures )2 "); + int anInt1900; +static RSString aClass94_1892 = aClass94_1899; + + public static void method2071(byte var0) { + try { + aClass94_1892 = null; + aClass94_1889 = null; + aClass113Array1895 = null; + aClass94_1899 = null; + if(var0 <= 1) { + method2075(112, (byte)44); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ub.G(" + var0 + ')'); + } + } + + static final void method2072(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + if(Class101.anInt1425 <= var1 && Class3_Sub28_Sub18.anInt3765 >= var3 && ~Class159.anInt2020 >= ~var2 && var4 <= Class57.anInt902) { + if(-2 == ~var5) { + Class77.method1367(var0, var3, var2, (byte)34, var4, var1); + } else { + AbstractIndexedSprite.method1665(var6 + -19617, var3, var2, var0, var4, var5, var1); + } + } else if(1 != var5) { + Class3_Sub13_Sub3.method184(var4, var5, var3, var1, 1, var0, var2); + } else { + Class102.method1617(var0, var1, var4, var3, var2, (byte)29); + } + + if(var6 != -2) { + method2075(89, (byte)-73); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ub.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method2073(Class3_Sub2 var0, boolean var1) { + Class163_Sub1.aClass61_2990.method1215(true, var0); + + while(true) { + Class3_Sub2 var2 = (Class3_Sub2)Class163_Sub1.aClass61_2990.method1220((byte)-3); + if(var2 == null) { + return; + } + + if(var2.aBoolean2225) { + int var3 = var2.anInt2239; + int var4 = var2.anInt2231; + int var5 = var2.anInt2244; + int var6 = var2.anInt2238; + Class3_Sub2[][] var7 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5]; + float var8 = 0.0F; + int var9; + int var10; + int var11; + int var12; + if(HDToolKit.highDetail) { + if(Class3_Sub28_Sub7.anIntArrayArrayArray3605 == Class44.anIntArrayArrayArray723) { + var9 = Class3_Sub13_Sub9.anIntArrayArray3115[var3][var4]; + var10 = var9 & 16777215; + if(var10 != IOHandler.anInt1244) { + IOHandler.anInt1244 = var10; + Class3_Sub28_Sub2.method535((byte)56, var10); + Class92.method1512(Class72.method1297((byte)-50)); + } + + var11 = var9 >>> 24 << 3; + if(var11 != Class3_Sub13_Sub5.anInt3072) { + Class3_Sub13_Sub5.anInt3072 = var11; + Class3_Sub21.method394(var11, 121); + } + + var12 = Class58.anIntArrayArrayArray914[0][var3][var4] + Class58.anIntArrayArrayArray914[0][var3 + 1][var4] + Class58.anIntArrayArrayArray914[0][var3][var4 + 1] + Class58.anIntArrayArrayArray914[0][var3 + 1][var4 + 1] >> 2; + Class3_Sub28_Sub4.method551(0, -var12, 3); + var8 = 201.5F; + HDToolKit.method1832(var8); + } else { + var8 = 201.5F - 50.0F * (float)(var6 + 1); + HDToolKit.method1832(var8); + } + } + + int var14; + int var15; + int var17; + int var16; + int var18; + Class3_Sub2 var21; + Class70 var23; + boolean var22; + Class25 var25; + Class3_Sub2 var35; + if(var2.aBoolean2222) { + if(var1) { + if(var5 > 0) { + var21 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5 - 1][var3][var4]; + if(var21 != null && var21.aBoolean2225) { + continue; + } + } + + if(var3 <= Class97.anInt1375 && var3 > Class163_Sub1_Sub1.anInt4006) { + var21 = var7[var3 - 1][var4]; + if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 1) == 0)) { + continue; + } + } + + if(var3 >= Class97.anInt1375 && var3 < Class2.anInt67 - 1) { + var21 = var7[var3 + 1][var4]; + if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 4) == 0)) { + continue; + } + } + + if(var4 <= Class3_Sub13_Sub27.anInt3340 && var4 > Class3_Sub28_Sub7.anInt3603) { + var21 = var7[var3][var4 - 1]; + if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 8) == 0)) { + continue; + } + } + + if(var4 >= Class3_Sub13_Sub27.anInt3340 && var4 < Class126.anInt1665 - 1) { + var21 = var7[var3][var4 + 1]; + if(var21 != null && var21.aBoolean2225 && (var21.aBoolean2222 || (var2.anInt2228 & 2) == 0)) { + continue; + } + } + } else { + var1 = true; + } + + var2.aBoolean2222 = false; + if(var2.aClass3_Sub2_2235 != null) { + var21 = var2.aClass3_Sub2_2235; + if(HDToolKit.highDetail) { + HDToolKit.method1832(201.5F - 50.0F * (float)(var21.anInt2238 + 1)); + } + + if(var21.aClass126_2240 != null) { + if(!Class8.method846(0, var3, var4)) { + Class3_Sub13_Sub18.method259(var21.aClass126_2240, 0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, false); + } else { + Class3_Sub13_Sub18.method259(var21.aClass126_2240, 0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, true); + } + } else if(var21.aClass35_2226 != null) { + if(!Class8.method846(0, var3, var4)) { + Class3_Sub21.method395(var21.aClass35_2226, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, false); + } else { + Class3_Sub21.method395(var21.aClass35_2226, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, true); + } + } + + var23 = var21.aClass70_2234; + if(var23 != null) { + if(HDToolKit.highDetail) { + if((var23.anInt1055 & var2.anInt2241) != 0) { + Class68.method1263(var23.anInt1055, Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4); + } else { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + } + + var23.aClass140_1049.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var23.anInt1054 - Class129_Sub1.anInt2697, var23.anInt1057 - Class3_Sub28_Sub13.anInt3657, var23.anInt1045 - Class3_Sub13_Sub30.anInt3363, var23.aLong1048, var5, (Class127_Sub1)null); + } + + for(var11 = 0; var11 < var21.anInt2223; ++var11) { + var25 = var21.aClass25Array2221[var11]; + if(var25 != null) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var25.aClass140_479.animate(var25.anInt496, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var25.anInt482 - Class129_Sub1.anInt2697, var25.anInt489 - Class3_Sub28_Sub13.anInt3657, var25.anInt484 - Class3_Sub13_Sub30.anInt3363, var25.aLong498, var5, (Class127_Sub1)null); + } + } + + if(HDToolKit.highDetail) { + HDToolKit.method1832(var8); + } + } + + var22 = false; + if(var2.aClass126_2240 != null) { + if(!Class8.method846(var6, var3, var4)) { + var22 = true; + if(var2.aClass126_2240.anInt1664 != 12345678 || Class3_Sub13_Sub21.aBoolean3261 && var5 <= Class91.anInt1302) { + Class3_Sub13_Sub18.method259(var2.aClass126_2240, var6, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, false); + } + } else { + Class3_Sub13_Sub18.method259(var2.aClass126_2240, var6, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, true); + } + } else if(var2.aClass35_2226 != null) { + if(!Class8.method846(var6, var3, var4)) { + var22 = true; + Class3_Sub21.method395(var2.aClass35_2226, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, false); + } else { + Class3_Sub21.method395(var2.aClass35_2226, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var3, var4, true); + } + } + + if(var22) { + Class12 var24 = var2.aClass12_2230; + if(var24 != null && (var24.aLong328 & 2147483648L) != 0L) { + if(HDToolKit.highDetail && var24.aBoolean329) { + HDToolKit.method1832(var8 + 50.0F - 1.5F); + } + + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var24.object.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var24.anInt324 - Class129_Sub1.anInt2697, var24.anInt326 - Class3_Sub28_Sub13.anInt3657, var24.anInt330 - Class3_Sub13_Sub30.anInt3363, var24.aLong328, var5, (Class127_Sub1)null); + if(HDToolKit.highDetail && var24.aBoolean329) { + HDToolKit.method1832(var8); + } + } + } + + var10 = 0; + var11 = 0; + Class70 var26 = var2.aClass70_2234; + Class19 var13 = var2.aClass19_2233; + if(var26 != null || var13 != null) { + if(Class97.anInt1375 == var3) { + ++var10; + } else if(Class97.anInt1375 < var3) { + var10 += 2; + } + + if(Class3_Sub13_Sub27.anInt3340 == var4) { + var10 += 3; + } else if(Class3_Sub13_Sub27.anInt3340 > var4) { + var10 += 6; + } + + var11 = NPC.anIntArray3997[var10]; + var2.anInt2241 = Class3_Sub13_Sub26.anIntArray3321[var10]; + } + + if(var26 != null) { + if((var26.anInt1055 & Class3_Sub10.anIntArray2338[var10]) != 0) { + if(var26.anInt1055 == 16) { + var2.anInt2227 = 3; + var2.anInt2229 = Class3_Sub18.anIntArray2470[var10]; + var2.anInt2232 = 3 - var2.anInt2229; + } else if(var26.anInt1055 == 32) { + var2.anInt2227 = 6; + var2.anInt2229 = Class140_Sub7.anIntArray2933[var10]; + var2.anInt2232 = 6 - var2.anInt2229; + } else if(var26.anInt1055 == 64) { + var2.anInt2227 = 12; + var2.anInt2229 = Class3_Sub13_Sub14.anIntArray3171[var10]; + var2.anInt2232 = 12 - var2.anInt2229; + } else { + var2.anInt2227 = 9; + var2.anInt2229 = Class3_Sub13_Sub23_Sub1.anIntArray4035[var10]; + var2.anInt2232 = 9 - var2.anInt2229; + } + } else { + var2.anInt2227 = 0; + } + + if((var26.anInt1055 & var11) != 0 && !Class164_Sub1.method2239(var6, var3, var4, var26.anInt1055)) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var26.aClass140_1049.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var26.anInt1054 - Class129_Sub1.anInt2697, var26.anInt1057 - Class3_Sub28_Sub13.anInt3657, var26.anInt1045 - Class3_Sub13_Sub30.anInt3363, var26.aLong1048, var5, (Class127_Sub1)null); + } + + if((var26.anInt1059 & var11) != 0 && !Class164_Sub1.method2239(var6, var3, var4, var26.anInt1059)) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var26.aClass140_1052.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var26.anInt1054 - Class129_Sub1.anInt2697, var26.anInt1057 - Class3_Sub28_Sub13.anInt3657, var26.anInt1045 - Class3_Sub13_Sub30.anInt3363, var26.aLong1048, var5, (Class127_Sub1)null); + } + } + + if(var13 != null && !Class166.method2256(var6, var3, var4, var13.aClass140_429.method1871())) { + if(HDToolKit.highDetail) { + HDToolKit.method1832(var8 - 0.5F); + } + + if((var13.anInt432 & var11) != 0) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var13.aClass140_429.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var13.anInt424 - Class129_Sub1.anInt2697 + var13.anInt430, var13.anInt425 - Class3_Sub28_Sub13.anInt3657, var13.anInt427 - Class3_Sub13_Sub30.anInt3363 + var13.anInt426, var13.aLong428, var5, (Class127_Sub1)null); + } else if(var13.anInt432 == 256) { + var14 = var13.anInt424 - Class129_Sub1.anInt2697; + var15 = var13.anInt425 - Class3_Sub28_Sub13.anInt3657; + var16 = var13.anInt427 - Class3_Sub13_Sub30.anInt3363; + var17 = var13.anInt420; + if(var17 != 1 && var17 != 2) { + var18 = var14; + } else { + var18 = -var14; + } + + int var19; + if(var17 != 2 && var17 != 3) { + var19 = var16; + } else { + var19 = -var16; + } + + if(var19 < var18) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var13.aClass140_429.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var14 + var13.anInt430, var15, var16 + var13.anInt426, var13.aLong428, var5, (Class127_Sub1)null); + } else if(var13.aClass140_423 != null) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var13.aClass140_423.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var14, var15, var16, var13.aLong428, var5, (Class127_Sub1)null); + } + } + + if(HDToolKit.highDetail) { + HDToolKit.method1832(var8); + } + } + + if(var22) { + Class12 var30 = var2.aClass12_2230; + if(var30 != null && (var30.aLong328 & 2147483648L) == 0L) { + if(HDToolKit.highDetail && var30.aBoolean329) { + HDToolKit.method1832(var8 + 50.0F - 1.5F); + } + + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var30.object.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var30.anInt324 - Class129_Sub1.anInt2697, var30.anInt326 - Class3_Sub28_Sub13.anInt3657, var30.anInt330 - Class3_Sub13_Sub30.anInt3363, var30.aLong328, var5, (Class127_Sub1)null); + if(HDToolKit.highDetail && var30.aBoolean329) { + HDToolKit.method1832(var8); + } + } + + Class72 var28 = var2.aClass72_2245; + if(var28 != null && var28.anInt1077 == 0) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + if(var28.aClass140_1067 != null) { + var28.aClass140_1067.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var28.anInt1078 - Class129_Sub1.anInt2697, var28.anInt1068 - Class3_Sub28_Sub13.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null); + } + + if(var28.aClass140_1069 != null) { + var28.aClass140_1069.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var28.anInt1078 - Class129_Sub1.anInt2697, var28.anInt1068 - Class3_Sub28_Sub13.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null); + } + + if(var28.aClass140_1073 != null) { + var28.aClass140_1073.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var28.anInt1078 - Class129_Sub1.anInt2697, var28.anInt1068 - Class3_Sub28_Sub13.anInt3657, var28.anInt1075 - Class3_Sub13_Sub30.anInt3363, var28.aLong1079, var5, (Class127_Sub1)null); + } + } + } + + var14 = var2.anInt2228; + if(var14 != 0) { + if(var3 < Class97.anInt1375 && (var14 & 4) != 0) { + var35 = var7[var3 + 1][var4]; + if(var35 != null && var35.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var35); + } + } + + if(var4 < Class3_Sub13_Sub27.anInt3340 && (var14 & 2) != 0) { + var35 = var7[var3][var4 + 1]; + if(var35 != null && var35.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var35); + } + } + + if(var3 > Class97.anInt1375 && (var14 & 1) != 0) { + var35 = var7[var3 - 1][var4]; + if(var35 != null && var35.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var35); + } + } + + if(var4 > Class3_Sub13_Sub27.anInt3340 && (var14 & 8) != 0) { + var35 = var7[var3][var4 - 1]; + if(var35 != null && var35.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var35); + } + } + } + } + + int var27; + if(var2.anInt2227 != 0) { + var22 = true; + + for(var10 = 0; var10 < var2.anInt2223; ++var10) { + if(var2.aClass25Array2221[var10].anInt490 != Class3_Sub28_Sub1.anInt3539 && (var2.anIntArray2237[var10] & var2.anInt2227) == var2.anInt2229) { + var22 = false; + break; + } + } + + if(var22) { + var23 = var2.aClass70_2234; + if(!Class164_Sub1.method2239(var6, var3, var4, var23.anInt1055)) { + if(HDToolKit.highDetail) { + label736: { + if((var23.aLong1048 & 1032192L) == 16384L) { + var11 = var23.anInt1054 - Class129_Sub1.anInt2697; + var12 = var23.anInt1045 - Class3_Sub13_Sub30.anInt3363; + var27 = (int)(var23.aLong1048 >> 20 & 3L); + if(var27 == 0) { + var11 -= 64; + var12 += 64; + if(var12 < var11 && var3 > 0 && var4 < Class3_Sub13_Sub15.anInt3179 - 1) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 - 1, var4 + 1); + break label736; + } + } else if(var27 == 1) { + var11 += 64; + var12 += 64; + if(var12 < -var11 && var3 < IOHandler.anInt1234 - 1 && var4 < Class3_Sub13_Sub15.anInt3179 - 1) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 + 1, var4 + 1); + break label736; + } + } else if(var27 == 2) { + var11 += 64; + var12 -= 64; + if(var12 > var11 && var3 < IOHandler.anInt1234 - 1 && var4 > 0) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 + 1, var4 - 1); + break label736; + } + } else if(var27 == 3) { + var11 -= 64; + var12 -= 64; + if(var12 > -var11 && var3 > 0 && var4 > 0) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3 - 1, var4 - 1); + break label736; + } + } + } + + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + } + + var23.aClass140_1049.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var23.anInt1054 - Class129_Sub1.anInt2697, var23.anInt1057 - Class3_Sub28_Sub13.anInt3657, var23.anInt1045 - Class3_Sub13_Sub30.anInt3363, var23.aLong1048, var5, (Class127_Sub1)null); + } + + var2.anInt2227 = 0; + } + } + + if(var2.aBoolean2236) { + try { + var9 = var2.anInt2223; + var2.aBoolean2236 = false; + var10 = 0; + + label712: + for(var11 = 0; var11 < var9; ++var11) { + var25 = var2.aClass25Array2221[var11]; + if(var25.anInt490 != Class3_Sub28_Sub1.anInt3539) { + for(var27 = var25.anInt483; var27 <= var25.anInt495; ++var27) { + for(var14 = var25.anInt478; var14 <= var25.anInt481; ++var14) { + var35 = var7[var27][var14]; + if(var35.aBoolean2222) { + var2.aBoolean2236 = true; + continue label712; + } + + if(var35.anInt2227 != 0) { + var16 = 0; + if(var27 > var25.anInt483) { + ++var16; + } + + if(var27 < var25.anInt495) { + var16 += 4; + } + + if(var14 > var25.anInt478) { + var16 += 8; + } + + if(var14 < var25.anInt481) { + var16 += 2; + } + + if((var16 & var35.anInt2227) == var2.anInt2232) { + var2.aBoolean2236 = true; + continue label712; + } + } + } + } + + Class3_Sub28_Sub10_Sub1.aClass25Array4060[var10++] = var25; + var27 = Class97.anInt1375 - var25.anInt483; + var14 = var25.anInt495 - Class97.anInt1375; + if(var14 > var27) { + var27 = var14; + } + + var15 = Class3_Sub13_Sub27.anInt3340 - var25.anInt478; + var16 = var25.anInt481 - Class3_Sub13_Sub27.anInt3340; + if(var16 > var15) { + var25.anInt487 = var27 + var16; + } else { + var25.anInt487 = var27 + var15; + } + } + } + + while(var10 > 0) { + var11 = -50; + var12 = -1; + + for(var27 = 0; var27 < var10; ++var27) { + Class25 var34 = Class3_Sub28_Sub10_Sub1.aClass25Array4060[var27]; + if(var34.anInt490 != Class3_Sub28_Sub1.anInt3539) { + if(var34.anInt487 > var11) { + var11 = var34.anInt487; + var12 = var27; + } else if(var34.anInt487 == var11) { + var15 = var34.anInt482 - Class129_Sub1.anInt2697; + var16 = var34.anInt484 - Class3_Sub13_Sub30.anInt3363; + var17 = Class3_Sub28_Sub10_Sub1.aClass25Array4060[var12].anInt482 - Class129_Sub1.anInt2697; + var18 = Class3_Sub28_Sub10_Sub1.aClass25Array4060[var12].anInt484 - Class3_Sub13_Sub30.anInt3363; + if(var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { + var12 = var27; + } + } + } + } + + if(var12 == -1) { + break; + } + + Class25 var32 = Class3_Sub28_Sub10_Sub1.aClass25Array4060[var12]; + var32.anInt490 = Class3_Sub28_Sub1.anInt3539; + if(!Class3_Sub13_Sub11.method222(var6, var32.anInt483, var32.anInt495, var32.anInt478, var32.anInt481, var32.aClass140_479.method1871())) { + if(HDToolKit.highDetail) { + if((var32.aLong498 & 1032192L) == 147456L) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + var14 = var32.anInt482 - Class129_Sub1.anInt2697; + var15 = var32.anInt484 - Class3_Sub13_Sub30.anInt3363; + var16 = (int)(var32.aLong498 >> 20 & 3L); + if(var16 != 1 && var16 != 3) { + if(var15 > var14) { + Class68.method1272(var5, var3, var4 - 1, var3 + 1, var4); + } else { + Class68.method1272(var5, var3, var4 + 1, var3 - 1, var4); + } + } else if(var15 > -var14) { + Class68.method1272(var5, var3, var4 - 1, var3 - 1, var4); + } else { + Class68.method1272(var5, var3, var4 + 1, var3 + 1, var4); + } + } else { + Class68.method1266(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var32.anInt483, var32.anInt478, var32.anInt495, var32.anInt481); + } + } + + var32.aClass140_479.animate(var32.anInt496, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var32.anInt482 - Class129_Sub1.anInt2697, var32.anInt489 - Class3_Sub28_Sub13.anInt3657, var32.anInt484 - Class3_Sub13_Sub30.anInt3363, var32.aLong498, var5, (Class127_Sub1)null); + } + + for(var14 = var32.anInt483; var14 <= var32.anInt495; ++var14) { + for(var15 = var32.anInt478; var15 <= var32.anInt481; ++var15) { + Class3_Sub2 var37 = var7[var14][var15]; + if(var37.anInt2227 != 0) { + Class163_Sub1.aClass61_2990.method1215(true, var37); + } else if((var14 != var3 || var15 != var4) && var37.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var37); + } + } + } + } + + if(var2.aBoolean2236) { + continue; + } + } catch (Exception var20) { + var2.aBoolean2236 = false; + } + } + + if(var2.aBoolean2225 && var2.anInt2227 == 0) { + if(var3 <= Class97.anInt1375 && var3 > Class163_Sub1_Sub1.anInt4006) { + var21 = var7[var3 - 1][var4]; + if(var21 != null && var21.aBoolean2225) { + continue; + } + } + + if(var3 >= Class97.anInt1375 && var3 < Class2.anInt67 - 1) { + var21 = var7[var3 + 1][var4]; + if(var21 != null && var21.aBoolean2225) { + continue; + } + } + + if(var4 <= Class3_Sub13_Sub27.anInt3340 && var4 > Class3_Sub28_Sub7.anInt3603) { + var21 = var7[var3][var4 - 1]; + if(var21 != null && var21.aBoolean2225) { + continue; + } + } + + if(var4 >= Class3_Sub13_Sub27.anInt3340 && var4 < Class126.anInt1665 - 1) { + var21 = var7[var3][var4 + 1]; + if(var21 != null && var21.aBoolean2225) { + continue; + } + } + + var2.aBoolean2225 = false; + --GameShell.anInt3; + Class72 var29 = var2.aClass72_2245; + if(var29 != null && var29.anInt1077 != 0) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + if(var29.aClass140_1067 != null) { + var29.aClass140_1067.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var29.anInt1078 - Class129_Sub1.anInt2697, var29.anInt1068 - Class3_Sub28_Sub13.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null); + } + + if(var29.aClass140_1069 != null) { + var29.aClass140_1069.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var29.anInt1078 - Class129_Sub1.anInt2697, var29.anInt1068 - Class3_Sub28_Sub13.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null); + } + + if(var29.aClass140_1073 != null) { + var29.aClass140_1073.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var29.anInt1078 - Class129_Sub1.anInt2697, var29.anInt1068 - Class3_Sub28_Sub13.anInt3657 - var29.anInt1077, var29.anInt1075 - Class3_Sub13_Sub30.anInt3363, var29.aLong1079, var5, (Class127_Sub1)null); + } + } + + if(var2.anInt2241 != 0) { + Class19 var36 = var2.aClass19_2233; + if(var36 != null && !Class166.method2256(var6, var3, var4, var36.aClass140_429.method1871())) { + if((var36.anInt432 & var2.anInt2241) != 0) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var36.aClass140_429.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var36.anInt424 - Class129_Sub1.anInt2697 + var36.anInt430, var36.anInt425 - Class3_Sub28_Sub13.anInt3657, var36.anInt427 - Class3_Sub13_Sub30.anInt3363 + var36.anInt426, var36.aLong428, var5, (Class127_Sub1)null); + } else if(var36.anInt432 == 256) { + var11 = var36.anInt424 - Class129_Sub1.anInt2697; + var12 = var36.anInt425 - Class3_Sub28_Sub13.anInt3657; + var27 = var36.anInt427 - Class3_Sub13_Sub30.anInt3363; + var14 = var36.anInt420; + if(var14 != 1 && var14 != 2) { + var15 = var11; + } else { + var15 = -var11; + } + + if(var14 != 2 && var14 != 3) { + var16 = var27; + } else { + var16 = -var27; + } + + if(var16 >= var15) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var36.aClass140_429.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var11 + var36.anInt430, var12, var27 + var36.anInt426, var36.aLong428, var5, (Class127_Sub1)null); + } else if(var36.aClass140_423 != null) { + if(HDToolKit.highDetail) { + Class68.method1268(Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var5, var3, var4); + } + + var36.aClass140_423.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var11, var12, var27, var36.aLong428, var5, (Class127_Sub1)null); + } + } + } + + Class70 var31 = var2.aClass70_2234; + if(var31 != null) { + if((var31.anInt1059 & var2.anInt2241) != 0 && !Class164_Sub1.method2239(var6, var3, var4, var31.anInt1059)) { + if(HDToolKit.highDetail) { + Class68.method1263(var31.anInt1059, Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4); + } + + var31.aClass140_1052.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var31.anInt1054 - Class129_Sub1.anInt2697, var31.anInt1057 - Class3_Sub28_Sub13.anInt3657, var31.anInt1045 - Class3_Sub13_Sub30.anInt3363, var31.aLong1048, var5, (Class127_Sub1)null); + } + + if((var31.anInt1055 & var2.anInt2241) != 0 && !Class164_Sub1.method2239(var6, var3, var4, var31.anInt1055)) { + if(HDToolKit.highDetail) { + Class68.method1263(var31.anInt1055, Class129_Sub1.anInt2697, Class3_Sub28_Sub13.anInt3657, Class3_Sub13_Sub30.anInt3363, var6, var3, var4); + } + + var31.aClass140_1049.animate(0, Class60.anInt936, Class69.anInt1037, Class3_Sub13_Sub34.anInt3417, Class3_Sub13_Sub13.anInt3153, var31.anInt1054 - Class129_Sub1.anInt2697, var31.anInt1057 - Class3_Sub28_Sub13.anInt3657, var31.anInt1045 - Class3_Sub13_Sub30.anInt3363, var31.aLong1048, var5, (Class127_Sub1)null); + } + } + } + + Class3_Sub2 var33; + if(var5 < Class3_Sub17.anInt2456 - 1) { + var33 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var5 + 1][var3][var4]; + if(var33 != null && var33.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var33); + } + } + + if(var3 < Class97.anInt1375) { + var33 = var7[var3 + 1][var4]; + if(var33 != null && var33.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var33); + } + } + + if(var4 < Class3_Sub13_Sub27.anInt3340) { + var33 = var7[var3][var4 + 1]; + if(var33 != null && var33.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var33); + } + } + + if(var3 > Class97.anInt1375) { + var33 = var7[var3 - 1][var4]; + if(var33 != null && var33.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var33); + } + } + + if(var4 > Class3_Sub13_Sub27.anInt3340) { + var33 = var7[var3][var4 - 1]; + if(var33 != null && var33.aBoolean2225) { + Class163_Sub1.aClass61_2990.method1215(true, var33); + } + } + } + } + } + } + + static final void method2074(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + RSInterface var7 = Class3_Sub28_Sub16.method638((byte)-19, var0, var1); + if(null != var7 && null != var7.anObjectArray203) { + CS2Script var8 = new CS2Script(); + var8.aClass11_2449 = var7; + var8.arguments = var7.anObjectArray203; + Class43.method1065(1073376993, var8); + } + + RSInterface.anInt278 = var1; + Class69.anInt1038 = var3; + if(var5 < -110) { + Class54.anInt872 = var0; + Class164.anInt2051 = var2; + GameObject.aBoolean1837 = true; + Class144.anInt1887 = var4; + Class3_Sub28_Sub5.anInt3590 = var6; + Class20.method909(126, var7); + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ub.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final int method2075(int var0, byte var1) { + try { + int var2 = 110 / ((var1 - 34) / 61); + return 255 & var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ub.A(" + var0 + ',' + var1 + ')'); + } + } + + static final Class29 method2076(int var0, int var1) { + try { + Class29 var2 = (Class29)Class136.aClass93_1772.get((long)var1, (byte)121); + if(var2 != null) { + return var2; + } else { + byte[] var3 = Class3_Sub13_Sub13.aClass153_3154.getFile(16, (byte)-122, var1); + if(var0 > -4) { + return (Class29)null; + } else { + var2 = new Class29(); + if(null != var3) { + var2.method970(-20638, new RSByteBuffer(var3)); + } + + Class136.aClass93_1772.put((byte)-108, var2, (long)var1); + return var2; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ub.D(" + var0 + ',' + var1 + ')'); + } + } + + static final void method2077(boolean var0) { + try { + Class3_Sub31.aClass93_2604.method1524(3); + if(!var0) { + aClass94_1899 = (RSString)null; + } + + Class27.aClass93_511.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ub.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class146.java b/09HDscape-client/src/org/runite/jagex/Class146.java new file mode 100644 index 000000000..c8fc627b7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class146.java @@ -0,0 +1,293 @@ +package org.runite.jagex; +import java.awt.Component; +import javax.media.opengl.GL; + +abstract class Class146 { + + static int anInt1901 = 2; + static CacheIndex aClass153_1902; + static int[][][] anIntArrayArrayArray1903; + static int anInt1904; + + + abstract int method2078(int var1); + + static final boolean updateInterfacePacketCounter(int packetCounter, byte var1) { + try { + if(var1 != -25) { + anInt1901 = 102; + } + + Class113.interfacePacketCounter = packetCounter + 1 & '\uffff'; + RenderAnimationDefinition.aBoolean402 = true; + return true; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "uc.D(" + packetCounter + ',' + var1 + ')'); + } + } + + static final int method2080(int var0, int var1) { + try { + var0 = (-715827883 & var0 >>> 1) + (1431655765 & var0); + var0 = ((-858993460 & var0) >>> 2) + (var0 & 858993459); + var0 = 252645135 & (var0 >>> 4) + var0; + var0 += var0 >>> 8; + var0 += var0 >>> 16; + int var2 = -9 / ((var1 - -80) / 42); + return 255 & var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "uc.E(" + var0 + ',' + var1 + ')'); + } + } + + public static void method2081(int var0) { + try { + anIntArrayArrayArray1903 = (int[][][])null; + if(var0 == 0) { + aClass153_1902 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uc.A(" + var0 + ')'); + } + } + + abstract void method2082(boolean var1, Component var2); + + static final void method2083(int var0, int var1, int var2, byte[][][] var3, int var4, byte var5, int var6, int var7) { + ++Class3_Sub28_Sub1.anInt3539; + GameShell.anInt3 = 0; + int var8 = var6 - 16; + int var9 = var6 + 16; + int var10 = var7 - 16; + int var11 = var7 + 16; + + int var14; + int var15; + int var29; + for(int var12 = Class3_Sub13_Sub35.anInt3419; var12 < Class3_Sub17.anInt2456; ++var12) { + Class3_Sub2[][] var13 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var12]; + + for(var14 = Class163_Sub1_Sub1.anInt4006; var14 < Class2.anInt67; ++var14) { + for(var15 = Class3_Sub28_Sub7.anInt3603; var15 < Class126.anInt1665; ++var15) { + Class3_Sub2 var16 = var13[var14][var15]; + if(var16 != null) { + if(Class23.aBooleanArrayArray457[var14 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466][var15 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466] && (var3 == null || var12 < var4 || var3[var12][var14][var15] != var5)) { + var16.aBoolean2222 = true; + var16.aBoolean2225 = true; + if(var16.anInt2223 > 0) { + var16.aBoolean2236 = true; + } else { + var16.aBoolean2236 = false; + } + + ++GameShell.anInt3; + } else { + var16.aBoolean2222 = false; + var16.aBoolean2225 = false; + var16.anInt2227 = 0; + if(var14 >= var8 && var14 <= var9 && var15 >= var10 && var15 <= var11) { + if(var16.aClass70_2234 != null) { + Class70 var17 = var16.aClass70_2234; + var17.aClass140_1049.method1867(0, var12, var17.anInt1057, var17.anInt1054, var17.anInt1045); + if(var17.aClass140_1052 != null) { + var17.aClass140_1052.method1867(0, var12, var17.anInt1057, var17.anInt1054, var17.anInt1045); + } + } + + if(var16.aClass19_2233 != null) { + Class19 var31 = var16.aClass19_2233; + var31.aClass140_429.method1867(var31.anInt420, var12, var31.anInt425, var31.anInt424, var31.anInt427); + if(var31.aClass140_423 != null) { + var31.aClass140_423.method1867(var31.anInt420, var12, var31.anInt425, var31.anInt424, var31.anInt427); + } + } + + if(var16.aClass12_2230 != null) { + Class12 var30 = var16.aClass12_2230; + var30.object.method1867(0, var12, var30.anInt326, var30.anInt324, var30.anInt330); + } + + if(var16.aClass25Array2221 != null) { + for(var29 = 0; var29 < var16.anInt2223; ++var29) { + Class25 var18 = var16.aClass25Array2221[var29]; + var18.aClass140_479.method1867(var18.anInt496, var12, var18.anInt489, var18.anInt482, var18.anInt484); + } + } + } + } + } + } + } + } + + boolean var22 = Class44.anIntArrayArrayArray723 == Class3_Sub28_Sub7.anIntArrayArrayArray3605; + if(HDToolKit.highDetail) { + GL var24 = HDToolKit.gl; + var24.glPushMatrix(); + var24.glTranslatef((float)(-var0), (float)(-var1), (float)(-var2)); + if(var22) { + Class3_Sub22.method403(); + Class3_Sub28_Sub4.method551(0, -1, 3); + Class3_Sub13_Sub17.aBoolean3207 = true; + Class165.method2254(); + IOHandler.anInt1244 = -1; + Class3_Sub13_Sub5.anInt3072 = -1; + + for(var14 = 0; var14 < Class3_Sub23.aClass3_Sub11ArrayArray2542[0].length; ++var14) { + Class3_Sub11 var28 = Class3_Sub23.aClass3_Sub11ArrayArray2542[0][var14]; + float var26 = 251.5F - (var28.aBoolean2364?1.0F:0.5F); + if(var28.anInt2355 != IOHandler.anInt1244) { + IOHandler.anInt1244 = var28.anInt2355; + Class3_Sub28_Sub2.method535((byte)56, var28.anInt2355); + Class92.method1512(Class72.method1297((byte)-50)); + } + + var28.method149(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var26, false); + } + + Class165.method2253(); + } else { + for(var14 = Class3_Sub13_Sub35.anInt3419; var14 < Class3_Sub17.anInt2456; ++var14) { + for(var15 = 0; var15 < Class3_Sub23.aClass3_Sub11ArrayArray2542[var14].length; ++var15) { + Class3_Sub11 var25 = Class3_Sub23.aClass3_Sub11ArrayArray2542[var14][var15]; + float var33 = 201.5F - 50.0F * (float)var14 - (var25.aBoolean2364?1.0F:0.5F); + if(var25.anInt2351 != -1 && Class51.anInterface2_838.method18(var25.anInt2351, 255) == 4 && Class128.aBoolean1685) { + Class3_Sub28_Sub2.method535((byte)56, var25.anInt2355); + } + + var25.method149(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var33, false); + } + + if(var14 == 0 && Class80.anInt1137 > 0) { + HDToolKit.method1832(101.5F); + Class141.method2038(Class97.anInt1375, Class3_Sub13_Sub27.anInt3340, Class3_Sub13_Sub39.anInt3466, var1, Class23.aBooleanArrayArray457, Class44.anIntArrayArrayArray723[0]); + } + } + + Class68.method1277(Class97.anInt1375, Class3_Sub13_Sub27.anInt3340, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638); + } + + var24.glPopMatrix(); + } + + int var19; + Class3_Sub2 var21; + int var20; + int var23; + Class3_Sub2[][] var27; + int var34; + int var32; + for(var23 = Class3_Sub13_Sub35.anInt3419; var23 < Class3_Sub17.anInt2456; ++var23) { + var27 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var23]; + + for(var15 = -Class3_Sub13_Sub39.anInt3466; var15 <= 0; ++var15) { + var32 = Class97.anInt1375 + var15; + var29 = Class97.anInt1375 - var15; + if(var32 >= Class163_Sub1_Sub1.anInt4006 || var29 < Class2.anInt67) { + for(var34 = -Class3_Sub13_Sub39.anInt3466; var34 <= 0; ++var34) { + var19 = Class3_Sub13_Sub27.anInt3340 + var34; + var20 = Class3_Sub13_Sub27.anInt3340 - var34; + if(var32 >= Class163_Sub1_Sub1.anInt4006) { + if(var19 >= Class3_Sub28_Sub7.anInt3603) { + var21 = var27[var32][var19]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, true); + } + } + + if(var20 < Class126.anInt1665) { + var21 = var27[var32][var20]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, true); + } + } + } + + if(var29 < Class2.anInt67) { + if(var19 >= Class3_Sub28_Sub7.anInt3603) { + var21 = var27[var29][var19]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, true); + } + } + + if(var20 < Class126.anInt1665) { + var21 = var27[var29][var20]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, true); + } + } + } + + if(GameShell.anInt3 == 0) { + if(!var22) { + Class3_Sub13_Sub21.aBoolean3261 = false; + } + + return; + } + } + } + } + } + + for(var23 = Class3_Sub13_Sub35.anInt3419; var23 < Class3_Sub17.anInt2456; ++var23) { + var27 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var23]; + + for(var15 = -Class3_Sub13_Sub39.anInt3466; var15 <= 0; ++var15) { + var32 = Class97.anInt1375 + var15; + var29 = Class97.anInt1375 - var15; + if(var32 >= Class163_Sub1_Sub1.anInt4006 || var29 < Class2.anInt67) { + for(var34 = -Class3_Sub13_Sub39.anInt3466; var34 <= 0; ++var34) { + var19 = Class3_Sub13_Sub27.anInt3340 + var34; + var20 = Class3_Sub13_Sub27.anInt3340 - var34; + if(var32 >= Class163_Sub1_Sub1.anInt4006) { + if(var19 >= Class3_Sub28_Sub7.anInt3603) { + var21 = var27[var32][var19]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, false); + } + } + + if(var20 < Class126.anInt1665) { + var21 = var27[var32][var20]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, false); + } + } + } + + if(var29 < Class2.anInt67) { + if(var19 >= Class3_Sub28_Sub7.anInt3603) { + var21 = var27[var29][var19]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, false); + } + } + + if(var20 < Class126.anInt1665) { + var21 = var27[var29][var20]; + if(var21 != null && var21.aBoolean2222) { + Class145.method2073(var21, false); + } + } + } + + if(GameShell.anInt3 == 0) { + if(!var22) { + Class3_Sub13_Sub21.aBoolean3261 = false; + } + + return; + } + } + } + } + } + + Class3_Sub13_Sub21.aBoolean3261 = false; + } + + abstract void method2084(Component var1, int var2); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class146_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class146_Sub1.java new file mode 100644 index 000000000..70deb97c3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class146_Sub1.java @@ -0,0 +1,44 @@ +package org.runite.jagex; +import java.awt.Component; +import java.awt.event.MouseWheelEvent; +import java.awt.event.MouseWheelListener; + +final class Class146_Sub1 extends Class146 implements MouseWheelListener { + + private int anInt2941 = 0; + static boolean isMoved = false; + static int moveAmt = 0; + + + final void method2082(boolean var1, Component var2) { + if(var1) { + this.mouseWheelMoved((MouseWheelEvent)null); + } + + var2.removeMouseWheelListener(this); + } + + final synchronized int method2078(int var1) { + int var2 = this.anInt2941; + this.anInt2941 = 0; + isMoved = false; + if(var1 != -1) { + this.anInt2941 = -53; + } + + return var2; + } + + public final synchronized void mouseWheelMoved(MouseWheelEvent var1) { + this.anInt2941 += var1.getWheelRotation(); + moveAmt = var1.getWheelRotation(); + isMoved = true; + } + + final void method2084(Component var1, int var2) { + if(var2 < -70) { + var1.addMouseWheelListener(this); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class147.java b/09HDscape-client/src/org/runite/jagex/Class147.java new file mode 100644 index 000000000..e981c3928 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class147.java @@ -0,0 +1,24 @@ +package org.runite.jagex; + +final class Class147 implements Interface5 { + + public final void method22() { + if(Class106.aBoolean1441) { + HDToolKit.method1837(false); + } + + } + + public final int method24() { + return 0; + } + + public final void method23(int var1) {} + + public final void method21() { + if(Class106.aBoolean1441) { + HDToolKit.method1837(true); + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class148.java b/09HDscape-client/src/org/runite/jagex/Class148.java new file mode 100644 index 000000000..a0f3fe2f2 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class148.java @@ -0,0 +1,251 @@ +package org.runite.jagex; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; + +final class Class148 implements KeyListener, FocusListener { + + static boolean aBoolean1905 = true; + static int anInt1906; + static RSString aClass94_1907 = RSString.createRSString(" autres options"); + static int anInt1908 = 0; + static int anInt1909; + static int anInt1910; + static Class93 aClass93_1911 = new Class93(260); + static int anInt1912; + static RSString aClass94_1913 = RSString.createRSString("scrollbar"); + static int anInt1914; + static RSString aClass94_1915 = RSString.createRSString("Null"); + static CacheIndex aClass153_1916; + static RSString aClass94_1917 = RSString.createRSString(" "); + static int anInt1918 = 0; + + + public final synchronized void keyPressed(KeyEvent var1) { + try { + if(null != Class3_Sub13_Sub3.aClass148_3049) { + Class3_Sub13_Sub33.anInt3398 = 0; + int var2 = var1.getKeyCode(); + switch(var2) { + case 112://f1 + var2 = 115; + break; + case 113://f2 + var2 = 116; + break; + case 114://f3 + var2 = 117; + break; + case 115://f4 + var2 = 118; + break; + case 116://f5 + var2 = 112; + break; + } + if(0 <= var2 && Class117.anIntArray1611.length > var2) { + var2 = Class117.anIntArray1611[var2]; + // System.out.println(var2); + if(0 != (var2 & 128)) { + var2 = -1; + } + } else { + var2 = -1; + } + + /** + * Hold Shift + scroll with mousewheel to zoom camera + */ + if(Class146_Sub1.isMoved && var1.getKeyCode() == 16){ + if((Client.ZOOM > 1200 && Class146_Sub1.moveAmt >= 0) || (Client.ZOOM < 100 && Class146_Sub1.moveAmt <= 0)){ + Class3_Sub28_Sub12.sendMessage("You cannot zoom any further than this."); + return; + } + Client.ZOOM += Class146_Sub1.moveAmt >= 0 ? 300 : -300; + if(Client.ZOOM == 600){ + Class3_Sub28_Sub12.sendMessage("Game client is back to default zoom."); + } + } + + /** + * Tab to reply + */ + if (var1.getKeyCode() == KeyEvent.VK_TAB) { + Class73.method1308(RSString.createRSString("::reply"), false); + } + + /** + * Controls arrow key mouse movement + */ + if(-1 >= ~Class3_Sub13.anInt2384 && -1 >= ~var2) { + Class151_Sub1.anIntArray2952[Class3_Sub13.anInt2384] = var2; + Class3_Sub13.anInt2384 = 127 & Class3_Sub13.anInt2384 - -1; + if(Class3_Sub13.anInt2384 == Class133.anInt1744) { + Class3_Sub13.anInt2384 = -1; + } + } + + int var3; + if(~var2 <= -1) { + var3 = 127 & 1 + Class25.anInt491; + if(var3 != Class3_Sub28_Sub9.anInt3620) { + Class129.anIntArray1693[Class25.anInt491] = var2; + Class155.anIntArray1978[Class25.anInt491] = -1; + Class25.anInt491 = var3; + } + } + + var3 = var1.getModifiers(); + if(-1 != ~(var3 & 10) || 85 == var2 || -11 == ~var2) { + var1.consume(); + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "uf.keyPressed(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final void keyTyped(KeyEvent var1) { + try { + if(Class3_Sub13_Sub3.aClass148_3049 != null) { + int var2 = Class79.method1386(true, var1); + if(-1 >= ~var2) { + int var3 = 1 + Class25.anInt491 & 127; + if(~Class3_Sub28_Sub9.anInt3620 != ~var3) { + Class129.anIntArray1693[Class25.anInt491] = -1; + Class155.anIntArray1978[Class25.anInt491] = var2; + Class25.anInt491 = var3; + } + } + } + + var1.consume(); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "uf.keyTyped(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final synchronized void focusLost(FocusEvent var1) { + try { + if(null != Class3_Sub13_Sub3.aClass148_3049) { + Class3_Sub13.anInt2384 = -1; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "uf.focusLost(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final synchronized void keyReleased(KeyEvent var1) { + try { + if(null != Class3_Sub13_Sub3.aClass148_3049) { + Class3_Sub13_Sub33.anInt3398 = 0; + int var2 = var1.getKeyCode(); + if(var2 >= 0 && ~Class117.anIntArray1611.length < ~var2) { + var2 = Class117.anIntArray1611[var2] & -129; + } else { + var2 = -1; + } + + if(Class3_Sub13.anInt2384 >= 0 && ~var2 <= -1) { + Class151_Sub1.anIntArray2952[Class3_Sub13.anInt2384] = ~var2; + Class3_Sub13.anInt2384 = 127 & 1 + Class3_Sub13.anInt2384; + if(~Class133.anInt1744 == ~Class3_Sub13.anInt2384) { + Class3_Sub13.anInt2384 = -1; + } + } + } + + var1.consume(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "uf.keyReleased(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final void focusGained(FocusEvent var1) {} + + public static void method2085(int var0) { + try { + aClass93_1911 = null; + aClass153_1916 = null; + if(var0 > 81) { + aClass94_1915 = null; + aClass94_1913 = null; + aClass94_1917 = null; + aClass94_1907 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uf.A(" + var0 + ')'); + } + } + + static final void method2086(byte var0) { + try { + if(var0 >= 62) { + int var1 = Class102.player.anInt2819 + Class3_Sub13_Sub18.anInt3216; + int var2 = Class102.player.anInt2829 - -InputStream_Sub1.anInt42; + if(499 < ~(-var1 + Class3_Sub13_Sub13.anInt3155) || ~(-var1 + Class3_Sub13_Sub13.anInt3155) < -501 || ~(Class62.anInt942 + -var2) > 499 || -501 > ~(-var2 + Class62.anInt942)) { + Class3_Sub13_Sub13.anInt3155 = var1; + Class62.anInt942 = var2; + } + + if(~Class62.anInt942 != ~var2) { + Class62.anInt942 += (-Class62.anInt942 + var2) / 16; + } + + if(~Class3_Sub13_Sub13.anInt3155 != ~var1) { + Class3_Sub13_Sub13.anInt3155 += (-Class3_Sub13_Sub13.anInt3155 + var1) / 16; + } + + if(Class15.aBoolean346) { + for(int var3 = 0; ~Class3_Sub23.anInt2537 < ~var3; ++var3) { + int var4 = Class133.anIntArray1755[var3]; + if(98 != var4) { + if(-100 != ~var4) { + if(var4 != 96) { + if(var4 == 97) { + GraphicDefinition.CAMERA_DIRECTION = GraphicDefinition.CAMERA_DIRECTION + 191 & -128; + } + } else { + GraphicDefinition.CAMERA_DIRECTION = GraphicDefinition.CAMERA_DIRECTION - 65 & -128; + } + } else { + Class3_Sub9.anInt2309 = -16 & Class3_Sub9.anInt2309 - 17; + } + } else { + Class3_Sub9.anInt2309 = -16 & Class3_Sub9.anInt2309 + 47; + } + } + } else { + if(ObjectDefinition.aBooleanArray1490[98]) { + Class27.anInt517 += (-Class27.anInt517 + 12) / 2; + } else if(!ObjectDefinition.aBooleanArray1490[99]) { + Class27.anInt517 /= 2; + } else { + Class27.anInt517 += (-Class27.anInt517 + -12) / 2; + } + + if(!ObjectDefinition.aBooleanArray1490[96]) { + if(ObjectDefinition.aBooleanArray1490[97]) { + Class3_Sub5.anInt2281 += (-Class3_Sub5.anInt2281 + 24) / 2; + } else { + Class3_Sub5.anInt2281 /= 2; + } + } else { + Class3_Sub5.anInt2281 += (-Class3_Sub5.anInt2281 + -24) / 2; + } + + Class3_Sub9.anInt2309 += Class27.anInt517 / 2; + GraphicDefinition.CAMERA_DIRECTION += Class3_Sub5.anInt2281 / 2; + } + + Class47.method1098((byte)-94); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "uf.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class149.java b/09HDscape-client/src/org/runite/jagex/Class149.java new file mode 100644 index 000000000..1ae189c99 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class149.java @@ -0,0 +1,334 @@ +package org.runite.jagex; + +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; + +import javax.swing.SwingUtilities; + +final class Class149 implements MouseListener, MouseMotionListener, FocusListener +{ + public int mouseWheelX; + public int mouseWheelY; + static float[] aFloatArray1919 = new float[4]; + static int[] anIntArray1920; + static int anInt1921 = 0; + static RSString aClass94_1922 = RSString.createRSString("weiss:"); + static int anInt1923; + static int anInt1924 = 0; + static int anInt1925 = 0; + static int anInt1926; + static int anInt1927 = 0; + public int distX; + public int distY; + + public final synchronized void mouseMoved(MouseEvent var1) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + Class3_Sub21.anInt2493 = var1.getX(); + Class95.anInt1340 = var1.getY(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseMoved(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + static final void method2087(byte var0) + { + try + { + Class3_Sub4 var1 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1222(); + for (int var2 = -37 / ((-21 - var0) / 48); var1 != null; var1 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1221()) + { + if (var1.anInt2259 > 0) { + var1.anInt2259 -= 1; + } + if (var1.anInt2259 != 0) + { + if ((var1.anInt2261 ^ 0xFFFFFFFF) < -1) { + var1.anInt2261 -= 1; + } + if (((var1.anInt2261 ^ 0xFFFFFFFF) == -1) && (1 <= var1.anInt2264) && (1 <= var1.anInt2248) && (102 >= var1.anInt2264) && ((var1.anInt2248 ^ 0xFFFFFFFF) >= -103) && (((var1.anInt2265 ^ 0xFFFFFFFF) > -1) || (Class3_Sub28_Sub10.method590((byte)-34, var1.anInt2265, var1.anInt2262)))) + { + Class41.method1048(var1.anInt2265, var1.anInt2264, var1.anInt2250, var1.anInt2256, var1.anInt2248, -65, var1.anInt2262, var1.anInt2263); + var1.anInt2261 = -1; + if (((var1.anInt2254 ^ 0xFFFFFFFF) == (var1.anInt2265 ^ 0xFFFFFFFF)) && (var1.anInt2254 == -1)) { + var1.method86(-1024); + } else if (((var1.anInt2265 ^ 0xFFFFFFFF) == (var1.anInt2254 ^ 0xFFFFFFFF)) && (var1.anInt2256 == var1.anInt2257) && ((var1.anInt2253 ^ 0xFFFFFFFF) == (var1.anInt2262 ^ 0xFFFFFFFF))) { + var1.method86(-1024); + } + } + } + else if ((-1 < (var1.anInt2254 ^ 0xFFFFFFFF)) || (Class3_Sub28_Sub10.method590((byte)-66, var1.anInt2254, var1.anInt2253))) + { + Class41.method1048(var1.anInt2254, var1.anInt2264, var1.anInt2250, var1.anInt2257, var1.anInt2248, -71, var1.anInt2253, var1.anInt2263); + var1.method86(-1024); + } + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.A(" + var0 + ')'); + } + } + + public static void method2088(boolean var0) + { + try + { + aClass94_1922 = null; + anIntArray1920 = null; + if (!var0) { + anIntArray1920 = null; + } + aFloatArray1919 = null; + } + catch (RuntimeException var2) + { + throw Class44.method1067(var2, "ug.C(" + var0 + ')'); + } + } + + public final synchronized void focusLost(FocusEvent var1) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) { + GraphicDefinition.anInt549 = 0; + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.focusLost(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + static final void method2089(byte var0) + { + try + { + Class158_Sub1.aClass93_2982.method1523((byte)-105); + if (var0 < 84) {} + } + catch (RuntimeException var2) + { + throw Class44.method1067(var2, "ug.D(" + var0 + ')'); + } + } + + public final synchronized void mouseDragged(MouseEvent var1) + { + try + { + int x = var1.getX(); + int y = var1.getY(); + if (SwingUtilities.isMiddleMouseButton(var1)) + { + int accelX = this.mouseWheelX - x; + int accelY = this.mouseWheelY - y; + this.mouseWheelX = var1.getX(); + this.mouseWheelY = var1.getY(); + GraphicDefinition.CAMERA_DIRECTION += accelX * 2; + Class3_Sub9.anInt2309 -= (accelY << 1); + return; + } + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + Class3_Sub21.anInt2493 = var1.getX(); + Class95.anInt1340 = var1.getY(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseDragged(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + public final synchronized void mouseReleased(MouseEvent var1) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + GraphicDefinition.anInt549 = 0; + int var2 = var1.getModifiers(); + if (((0x10 & var2) == 0) && ( + + + + (-1 == (var2 & 0x4 ^ 0xFFFFFFFF)) && + + + + (-1 != (var2 & 0x8 ^ 0xFFFFFFFF)))) {} + } + if (var1.isPopupTrigger()) { + var1.consume(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseReleased(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + public final void mouseClicked(MouseEvent var1) + { + try + { + if (var1.isPopupTrigger()) { + var1.consume(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseClicked(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + public final void focusGained(FocusEvent var1) {} + + static final void method2090(int var0) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class149 var1 = Class3_Sub28_Sub7_Sub1.aClass149_4047; + synchronized (var1) + { + Class3_Sub28_Sub7_Sub1.aClass149_4047 = null; + } + } + if (var0 != 8) {} + } + catch (RuntimeException var4) + { + throw Class44.method1067(var4, "ug.F(" + var0 + ')'); + } + } + + public final synchronized void mousePressed(MouseEvent var1) + { + try + { + if (var1.getButton() == 2) + { + this.mouseWheelX = var1.getX(); + this.mouseWheelY = var1.getY(); + return; + } + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + RenderAnimationDefinition.anInt362 = var1.getX(); + Class3_Sub13_Sub32.anInt3389 = var1.getY(); + Class140_Sub6.aLong2926 = Class5.method830((byte)-55); + if (!var1.isMetaDown()) + { + Class140_Sub3.anInt2743 = 1; + GraphicDefinition.anInt549 = 1; + } + else + { + Class140_Sub3.anInt2743 = 2; + GraphicDefinition.anInt549 = 2; + } + int var2 = var1.getModifiers(); + if (((var2 & 0x10) == 0) && ( + + + + ((0x4 & var2 ^ 0xFFFFFFFF) != -1) && + + + + (-1 == (var2 & 0x8 ^ 0xFFFFFFFF)))) {} + } + if (var1.isPopupTrigger()) { + var1.consume(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mousePressed(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + public final synchronized void mouseExited(MouseEvent var1) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + Class3_Sub21.anInt2493 = -1; + Class95.anInt1340 = -1; + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseExited(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + static final void method2091(int var0, int var1) + { + try + { + if ((GameObject.anIntArray1838 == null) || (GameObject.anIntArray1838.length < var0)) { + GameObject.anIntArray1838 = new int[var0]; + } + if (var1 != 4) { + anInt1926 = -75; + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.E(" + var0 + ',' + var1 + ')'); + } + } + + public final synchronized void mouseEntered(MouseEvent var1) + { + try + { + if (Class3_Sub28_Sub7_Sub1.aClass149_4047 != null) + { + Class3_Sub28_Sub7_Sub1.anInt4045 = 0; + Class3_Sub21.anInt2493 = var1.getX(); + Class95.anInt1340 = var1.getY(); + } + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.mouseEntered(" + (var1 != null ? "{...}" : "null") + ')'); + } + } + + static final void method2092(int var0, byte var1) + { + try + { + if (var1 != -47) { + aClass94_1922 = null; + } + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 9, var0); + var2.a(true); + } + catch (RuntimeException var3) + { + throw Class44.method1067(var3, "ug.B(" + var0 + ',' + var1 + ')'); + } + } + } diff --git a/09HDscape-client/src/org/runite/jagex/Class15.java b/09HDscape-client/src/org/runite/jagex/Class15.java new file mode 100644 index 000000000..6aba3db61 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class15.java @@ -0,0 +1,366 @@ +package org.runite.jagex; +import java.util.Date; + +import org.runite.Configurations; + +final class Class15 implements Runnable { + + static int anInt342; + static RSString aClass94_343 = RSString.createRSString("blanc:"); + static short[][] aShortArrayArray344; + volatile boolean aBoolean345 = false; + static boolean aBoolean346; + static int[] localNPCIndexes = new int['\u8000']; + static int anInt348; + static int anInt349; + Signlink aClass87_350; + static Class64 aClass64_351; + volatile Class155[] aClass155Array352 = new Class155[2]; + volatile boolean aBoolean353 = false; + + + static final boolean method888(int var0, ObjectDefinition var1, boolean var2, int var3, int var4, int var5, int var6) { + try { + Class2 var7 = Class3_Sub28_Sub6.c(var1.anInt1516, 0); + if(var7.anInt64 == -1) { + return true; + } else { + if(var1.aBoolean1537) { + var6 += var1.anInt1478; + var6 &= 3; + } else { + var6 = 0; + } + + if(var2) { + aClass64_351 = (Class64)null; + } + + LDIndexedSprite var8 = var7.method77(var6, (byte)-111); + if(var8 == null) { + return false; + } else { + int var9 = var1.anInt1480; + int var10 = var1.anInt1485; + if(1 == (1 & var6)) { + var9 = var1.anInt1485; + var10 = var1.anInt1480; + } + + int var11 = var8.anInt1469; + int var12 = var8.anInt1467; + if(var7.aBoolean69) { + var12 = 4 * var10; + var11 = 4 * var9; + } + + if(~var7.anInt61 == -1) { + var8.method1677(var0 * 4 + 48, 48 + 4 * (-var10 + -var5 + 104), var11, var12); + } else { + var8.method1669(48 + 4 * var0, 4 * (-var10 + -var5 + 104) + 48, var11, var12, var7.anInt61); + } + + return true; + } + } + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "cj.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method889(byte var0, RSByteBuffer var1) { + try { + if(var0 != 105) { + localNPCIndexes = (int[])null; + } + + int var3 = Class158.anInt2010 >> 1; + int var2 = Class3_Sub13_Sub23_Sub1.anInt4034 >> 2 << 10; + byte[][] var4 = new byte[Class23.anInt455][Class108.anInt1460]; + + int var6; + int var12; + int var14; + while(var1.index < var1.buffer.length) { + int var7 = 0; + var6 = 0; + boolean var5 = false; + if(~var1.getByte((byte)-99) == -2) { + var6 = var1.getByte((byte)-56); + var7 = var1.getByte((byte)-51); + var5 = true; + } + + int var8 = var1.getByte((byte)-125); + int var9 = var1.getByte((byte)-30); + int var10 = -Class3_Sub13_Sub21.anInt3256 + var8 * 64; + int var11 = -1 + Class108.anInt1460 - var9 * 64 + Class2.anInt65; + if(~var10 <= -1 && 0 <= -63 + var11 && Class23.anInt455 > var10 - -63 && ~Class108.anInt1460 < ~var11) { + for(var12 = 0; var12 < 64; ++var12) { + byte[] var13 = var4[var10 - -var12]; + + for(var14 = 0; 64 > var14; ++var14) { + if(!var5 || var12 >= 8 * var6 && 8 + 8 * var6 > var12 && var14 >= var7 * 8 && var14 < 8 + 8 * var7) { + var13[var11 - var14] = var1.getByte(); + } + } + } + } else if(!var5) { + var1.index += 4096; + } else { + var1.index += 64; + } + } + + int var27 = Class23.anInt455; + var6 = Class108.anInt1460; + int[] var29 = new int[var6]; + int[] var28 = new int[var6]; + int[] var30 = new int[var6]; + int[] var32 = new int[var6]; + int[] var31 = new int[var6]; + + for(var12 = -5; ~var12 > ~var27; ++var12) { + int var15; + int var35; + for(int var34 = 0; ~var34 > ~var6; ++var34) { + var14 = var12 + 5; + if(var27 > var14) { + var15 = 255 & var4[var14][var34]; + if(~var15 < -1) { + Class100 var16 = Class3_Sub28_Sub15.method629(true, var15 - 1); + var28[var34] += var16.anInt1408; + var29[var34] += var16.anInt1406; + var30[var34] += var16.anInt1417; + var32[var34] += var16.anInt1418; + ++var31[var34]; + } + } + + var15 = var12 + -5; + if(-1 >= ~var15) { + var35 = var4[var15][var34] & 255; + if(0 < var35) { + Class100 var17 = Class3_Sub28_Sub15.method629(true, -1 + var35); + var28[var34] -= var17.anInt1408; + var29[var34] -= var17.anInt1406; + var30[var34] -= var17.anInt1417; + var32[var34] -= var17.anInt1418; + --var31[var34]; + } + } + } + + if(~var12 <= -1) { + int[][] var33 = Class146.anIntArrayArrayArray1903[var12 >> 6]; + var14 = 0; + var15 = 0; + int var36 = 0; + int var18 = 0; + var35 = 0; + + for(int var19 = -5; ~var19 > ~var6; ++var19) { + int var20 = var19 - -5; + if(var6 > var20) { + var18 += var31[var20]; + var15 += var29[var20]; + var35 += var30[var20]; + var14 += var28[var20]; + var36 += var32[var20]; + } + + int var21 = -5 + var19; + if(~var21 <= -1) { + var35 -= var30[var21]; + var36 -= var32[var21]; + var14 -= var28[var21]; + var18 -= var31[var21]; + var15 -= var29[var21]; + } + + if(var19 >= 0 && 0 < var18) { + int[] var22 = var33[var19 >> 6]; + int var23 = var36 != 0?Class3_Sub8.method129(var35 / var18, 2, var15 / var18, var14 * 256 / var36):0; + if(var4[var12][var19] == 0) { + if(var22 != null) { + var22[Class3_Sub28_Sub15.method633(4032, var19 << 6) - -Class3_Sub28_Sub15.method633(var12, 63)] = 0; + } + } else { + if(var22 == null) { + var22 = var33[var19 >> 6] = new int[4096]; + } + + int var24 = var3 + (var23 & 127); + if(var24 < 0) { + var24 = 0; + } else if(var24 > 127) { + var24 = 127; + } + + int var25 = var24 + (896 & var23) + (var23 + var2 & '\ufc00'); + var22[Class3_Sub28_Sub15.method633(4032, var19 << 6) + Class3_Sub28_Sub15.method633(63, var12)] = Class51.anIntArray834[Class47.method1100(96, true, var25)]; + } + } + } + } + } + + } catch (RuntimeException var26) { + throw Class44.method1067(var26, "cj.H(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final Object method890(boolean var0, int var1, byte[] var2) { + try { + if(var2 == null) { + return null; + } else { + if(var1 >= -67) { + method891(19); + } + + if(~var2.length < -137 && !Class45.aBoolean732) { + try { + Class144 var3 = (Class144)Class.forName(Configurations.PACKAGE_JAGEX + ".Class144_Sub1").newInstance(); + var3.method2066(400, var2); + return var3; + } catch (Throwable var4) { + Class45.aBoolean732 = true; + } + } + + return var0?Class12.method873((byte)62, var2):var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "cj.E(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public final void run() { + try { + this.aBoolean353 = true; + + try { + while(!this.aBoolean345) { + for(int var1 = 0; ~var1 > -3; ++var1) { + Class155 var2 = this.aClass155Array352[var1]; + if(var2 != null) { + var2.method2153((byte)-34); + } + } + + Class3_Sub13_Sub34.method331(10L, 64); + Class81.method1400(this.aClass87_350, (Object)null, -71); + } + } catch (Exception var7) { + Class49.method1125((String)null, var7, (byte)111); + } finally { + this.aBoolean353 = false; + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "cj.run()"); + } + } + + static final Class3_Sub28_Sub16[] method891(int var0) { + try { + Class3_Sub28_Sub16[] var1 = new Class3_Sub28_Sub16[Class95.anInt1338]; + if(var0 != -5) { + method894(113L, (byte)48); + } + + for(int var2 = 0; ~Class95.anInt1338 < ~var2; ++var2) { + int var3 = Class140_Sub7.anIntArray2931[var2] * Class3_Sub13_Sub6.anIntArray3076[var2]; + byte[] var4 = Class163_Sub1.aByteArrayArray2987[var2]; + int[] var5 = new int[var3]; + + for(int var6 = 0; var6 < var3; ++var6) { + var5[var6] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(255, var4[var6])]; + } + + if(!HDToolKit.highDetail) { + var1[var2] = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var5); + } else { + var1[var2] = new Class3_Sub28_Sub16_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var5); + } + } + + Class39.method1035((byte)116); + return var1; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "cj.C(" + var0 + ')'); + } + } + + public static void method892(int var0) { + try { + aShortArrayArray344 = (short[][])null; + aClass94_343 = null; + aClass64_351 = null; + if(var0 <= 75) { + aBoolean346 = false; + } + + localNPCIndexes = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cj.G(" + var0 + ')'); + } + } + + static final int method893(int var0, byte var1) { + try { + int var2 = -66 / ((67 - var1) / 41); + return var0 & 255; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "cj.A(" + var0 + ',' + var1 + ')'); + } + } + + static final RSString method894(long var0, byte var2) { + try { + Class3_Sub28_Sub5.aCalendar3581.setTime(new Date(var0)); + int var3 = Class3_Sub28_Sub5.aCalendar3581.get(7); + int var4 = Class3_Sub28_Sub5.aCalendar3581.get(5); + int var5 = Class3_Sub28_Sub5.aCalendar3581.get(2); + if(var2 < 9) { + method889((byte)7, (RSByteBuffer)null); + } + + int var6 = Class3_Sub28_Sub5.aCalendar3581.get(1); + int var7 = Class3_Sub28_Sub5.aCalendar3581.get(11); + int var8 = Class3_Sub28_Sub5.aCalendar3581.get(12); + int var9 = Class3_Sub28_Sub5.aCalendar3581.get(13); + return RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub31.aClass94Array3376[var3 + -1], Class3_Sub13_Sub12.aClass94_3145, Class72.method1298((byte)9, var4 / 10), Class72.method1298((byte)9, var4 % 10), Class161.aClass94_2025, NPC.aClass94Array3985[var5], Class161.aClass94_2025, Class72.method1298((byte)9, var6), Class24.aClass94_465, Class72.method1298((byte)9, var7 / 10), Class72.method1298((byte)9, var7 % 10), Class155.aClass94_1970, Class72.method1298((byte)9, var8 / 10), Class72.method1298((byte)9, var8 % 10), Class155.aClass94_1970, Class72.method1298((byte)9, var9 / 10), Class72.method1298((byte)9, var9 % 10), WorldListCountry.aClass94_500}, (byte)-96); + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "cj.F(" + var0 + ',' + var2 + ')'); + } + } + + static final int[][] method895(boolean var0, int var1, int var2, int var3, int var4, int var5, int var6, float var7, byte var8) { + try { + if(var8 >= -52) { + method891(115); + } + + int[][] var9 = new int[var3][var2]; + Class3_Sub13_Sub4 var10 = new Class3_Sub13_Sub4(); + var10.anInt3062 = (int)(var7 * 4096.0F); + var10.anInt3058 = var1; + var10.anInt3056 = var5; + var10.aBoolean3065 = var0; + var10.anInt3060 = var6; + var10.method158(16251); + Class3_Sub13_Sub3.method180(122, var3, var2); + + for(int var11 = 0; ~var3 < ~var11; ++var11) { + var10.method186(true, var11, var9[var11]); + } + + return var9; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "cj.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class150.java b/09HDscape-client/src/org/runite/jagex/Class150.java new file mode 100644 index 000000000..9b142802b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class150.java @@ -0,0 +1,33 @@ +package org.runite.jagex; + +final class Class150 { + + int anInt1928; + int[] anIntArray1929; + int[] anIntArray1930; + int anInt1931; + + + Class150() { + Class3_Sub14.method368(16); + this.anInt1931 = Class3_Sub14.method364() != 0?Class3_Sub14.method368(4) + 1:1; + if(Class3_Sub14.method364() != 0) { + Class3_Sub14.method368(8); + } + + Class3_Sub14.method368(2); + if(this.anInt1931 > 1) { + this.anInt1928 = Class3_Sub14.method368(4); + } + + this.anIntArray1929 = new int[this.anInt1931]; + this.anIntArray1930 = new int[this.anInt1931]; + + for(int var1 = 0; var1 < this.anInt1931; ++var1) { + Class3_Sub14.method368(8); + this.anIntArray1929[var1] = Class3_Sub14.method368(8); + this.anIntArray1930[var1] = Class3_Sub14.method368(8); + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class151.java b/09HDscape-client/src/org/runite/jagex/Class151.java new file mode 100644 index 000000000..23948dc71 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class151.java @@ -0,0 +1,75 @@ +package org.runite.jagex; + +abstract class Class151 { + + static RSString aClass94_1932 = RSString.createRSString(")4a="); + static RSInterface aClass11_1933; + static float[] aFloatArray1934 = new float[]{0.073F, 0.169F, 0.24F, 1.0F}; + static RSString aClass94_1935 = RSString.createRSString("::clientdrop"); + static Class8 aClass8_1936; + + + public static void method2093(int var0) { + try { + aClass8_1936 = null; + aClass94_1932 = null; + aFloatArray1934 = null; + aClass94_1935 = null; + aClass11_1933 = null; + if(var0 != 1) { + method2096(-83, 44, -77, 121L); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "v.R(" + var0 + ')'); + } + } + + abstract Class62 method2094(int var1); + + abstract void method2095(int var1, int var2); + + static final boolean method2096(int var0, int var1, int var2, long var3) { + Class3_Sub2 var5 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var5 == null) { + return false; + } else if(var5.aClass70_2234 != null && var5.aClass70_2234.aLong1048 == var3) { + return true; + } else if(var5.aClass19_2233 != null && var5.aClass19_2233.aLong428 == var3) { + return true; + } else if(var5.aClass12_2230 != null && var5.aClass12_2230.aLong328 == var3) { + return true; + } else { + for(int var6 = 0; var6 < var5.anInt2223; ++var6) { + if(var5.aClass25Array2221[var6].aLong498 == var3) { + return true; + } + } + + return false; + } + } + + abstract int method2097(int var1, int var2); + + abstract byte[] method2098(int var1, int var2); + + static final void method2099(boolean var0, int var1, int var2, CacheIndex var3, boolean var4, int var5, int var6) { + try { + Class101.aClass153_1423 = var3; + Class132.anInt1741 = var2; + Class3_Sub13_Sub39.anInt3463 = var1; + Class3_Sub9.aBoolean2311 = var4; + Class10.anInt154 = 1; + GraphicDefinition.anInt546 = var6; + if(!var0) { + method2096(-8, 46, 45, -6L); + } + + Class3_Sub13_Sub36.anInt3423 = var5; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "v.Q(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class151_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class151_Sub1.java new file mode 100644 index 000000000..88eaf3174 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class151_Sub1.java @@ -0,0 +1,684 @@ +package org.runite.jagex; + +final class Class151_Sub1 extends Class151 { + + static Class3_Sub30_Sub1 aClass3_Sub30_Sub1_2942 = new Class3_Sub30_Sub1(5000); + private Class41 aClass41_2943; + private Class62 aClass62_2944; + static RSString aClass94_2945 = RSString.createRSString("Votre liste d(Wamis est pleine (X100 noms maximum pour la version gratuite et 200 pour les abonn-Bs(Y)3"); + private Class130 aClass130_2946 = new Class130(16); + private int anInt2947; + private int anInt2948 = 0; + private byte[] aByteArray2949; + private Class3_Sub28_Sub10 aClass3_Sub28_Sub10_2950; + static RSString aClass94_2951 = RSString.createRSString("k"); + static int[] anIntArray2952 = new int[128]; + private Class66 aClass66_2953; + Class41 aClass41_2954; + private int anInt2955; + private Class73 aClass73_2956; + private int anInt2957; + static int anInt2958 = 0; + static RSString aClass94_2959 = RSString.createRSString("mapfunction"); + private static RSString aClass94_2960 = RSString.createRSString("Loading interfaces )2 "); + static RSString aClass94_2961 = aClass94_2960; + private boolean aBoolean2962; + private Class61 aClass61_2963 = new Class61(); + private int anInt2964 = 0; + private boolean aBoolean2965; + private Class61 aClass61_2966; + private long aLong2967 = 0L; + private boolean aBoolean2968; + + + static final void updateLocalPosition(byte var0) { + try { + GraphicDefinition.incomingBuffer.setBitAccess((byte)118); + int opcode = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(-1 != ~opcode) { + int type = GraphicDefinition.incomingBuffer.getBits((byte)-11, 2); + if(0 != type) { + int var3 = -112 / ((var0 - 26) / 40); + int var4; + int var5; + if(~type == -2) { //Walk + var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + Class102.player.walkStep(1, (byte)-128, var4); + var5 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(-2 == ~var5) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = 2047; + } + + } else if(2 != type) { + if(-4 == ~type) { + var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 7); + var5 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + WorldListCountry.localPlane = GraphicDefinition.incomingBuffer.getBits((byte)-11, 2); + int var6 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~var6 == -2) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = 2047; + } + + int var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 7); + Class102.player.method1981((byte)126, var7, var5 == 1, var4); + } + } else { + if(GraphicDefinition.incomingBuffer.getBits((byte)-11, 1) == 1) { + var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + Class102.player.walkStep(2, (byte)-104, var4); + var5 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + Class102.player.walkStep(2, (byte)-126, var5); + } else { + var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + Class102.player.walkStep(0, (byte)-109, var4); + } + + var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(var4 == 1) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = 2047; + } + + } + } else { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = 2047; + } + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "bg.G(" + var0 + ')'); + } + } + + final void method2095(int var1, int var2) { + try { + if(null != this.aClass41_2954) { + Class3 var3; + for(var3 = this.aClass61_2963.method1222(); null != var3; var3 = this.aClass61_2963.method1221()) { + if(~var3.aLong71 == ~((long)var1)) { + return; + } + } + + int var4 = -66 / ((var2 - 53) / 56); + var3 = new Class3(); + var3.aLong71 = (long)var1; + this.aClass61_2963.method1215(true, var3); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bg.H(" + var1 + ',' + var2 + ')'); + } + } + + final Class62 method2094(int var1) { + try { + if(this.aClass62_2944 != null) { + return this.aClass62_2944; + } else if(var1 != 0) { + return (Class62)null; + } else { + if(null == this.aClass3_Sub28_Sub10_2950) { + if(this.aClass66_2953.method1251((byte)73)) { + return null; + } + + this.aClass3_Sub28_Sub10_2950 = this.aClass66_2953.addJS5Request(var1 ^ 115, 255, (byte)0, this.anInt2957, true); + } + + if(this.aClass3_Sub28_Sub10_2950.aBoolean3632) { + return null; + } else { + byte[] var2 = this.aClass3_Sub28_Sub10_2950.method587(false); + if(this.aClass3_Sub28_Sub10_2950 instanceof Class3_Sub28_Sub10_Sub1) { + try { + if(var2 == null) { + throw new RuntimeException(); + } + + this.aClass62_2944 = new Class62(var2, this.anInt2955); + if(~this.anInt2947 != ~this.aClass62_2944.revision) { + throw new RuntimeException(); + } + } catch (RuntimeException var4) { + this.aClass62_2944 = null; + if(this.aClass66_2953.method1251((byte)124)) { + this.aClass3_Sub28_Sub10_2950 = null; + } else { + this.aClass3_Sub28_Sub10_2950 = this.aClass66_2953.addJS5Request(-81, 255, (byte)0, this.anInt2957, true); + } + + return null; + } + } else { + try { + if(var2 == null) { + throw new RuntimeException(); + } + + this.aClass62_2944 = new Class62(var2, this.anInt2955); + } catch (RuntimeException var5) { + this.aClass66_2953.method1252((byte)-107); + this.aClass62_2944 = null; + if(!this.aClass66_2953.method1251((byte)-71)) { + this.aClass3_Sub28_Sub10_2950 = this.aClass66_2953.addJS5Request(var1 + 120, 255, (byte)0, this.anInt2957, true); + } else { + this.aClass3_Sub28_Sub10_2950 = null; + } + + return null; + } + + if(this.aClass41_2943 != null) { + this.aClass73_2956.method1305(this.aClass41_2943, 2, var2, this.anInt2957); + } + } + + if(null != this.aClass41_2954) { + this.aByteArray2949 = new byte[this.aClass62_2944.archiveAmount]; + this.anInt2948 = 0; + } + + this.aClass3_Sub28_Sub10_2950 = null; + return this.aClass62_2944; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "bg.B(" + var1 + ')'); + } + } + + final void method2101(boolean var1) { + try { + if(this.aClass41_2954 != null) { + this.aBoolean2965 = var1; + if(this.aClass61_2966 == null) { + this.aClass61_2966 = new Class61(); + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.A(" + var1 + ')'); + } + } + + final int method2102(int var1) { + try { + if(var1 != 0) { + this.method2106(-4); + } + + return this.anInt2948; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.I(" + var1 + ')'); + } + } + + static final boolean method2103(int var0, int var1) { + try { + return var1 >= -78?true:-199 == ~var0 || 230 == var0 || var0 == 156 || ~var0 == -141 || 223 == var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.P(" + var0 + ',' + var1 + ')'); + } + } + + static final void method2104(RSInterface var0, boolean var1, int var2) { + try { + int var3 = 57 % ((var2 - -58) / 47); + int var4 = var0.anInt240 != 0?var0.anInt240:var0.anInt168; + int var5 = -1 != ~var0.anInt252?var0.anInt252:var0.anInt193; + Class158.method2183(var0.anInt279, var1, var4, 235, var5, GameObject.aClass11ArrayArray1834[var0.anInt279 >> 16]); + if(var0.aClass11Array262 != null) { + Class158.method2183(var0.anInt279, var1, var4, 235, var5, var0.aClass11Array262); + } + + Class3_Sub31 var6 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var0.anInt279, 0); + if(var6 != null) { + Class75_Sub4.method1352(var5, var1, -1, var6.anInt2602, var4); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "bg.N(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method2105(boolean var0) { + try { + aClass94_2959 = null; + aClass94_2951 = null; + if(!var0) { + anIntArray2952 = null; + aClass3_Sub30_Sub1_2942 = null; + aClass94_2960 = null; + aClass94_2961 = null; + aClass94_2945 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bg.F(" + var0 + ')'); + } + } + + final int method2106(int var1) { + try { + if(null != this.aClass62_2944) { + if(this.aBoolean2962) { + Class3 var2 = this.aClass61_2966.method1222(); + if(null != var2) { + if(var1 != 1) { + this.anInt2964 = -91; + } + + return (int)var2.aLong71; + } else { + return 0; + } + } else { + return this.aClass62_2944.validArchiveAmount; + } + } else { + return 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.O(" + var1 + ')'); + } + } + + final void method2107(boolean var1) { + try { + if(var1) { + if(null != this.aClass61_2966) { + if(this.method2094(0) == null) { + return; + } + + boolean var2; + Class3 var3; + int var4; + if(!this.aBoolean2962) { + if(!this.aBoolean2965) { + this.aClass61_2966 = null; + } else { + var2 = true; + + for(var3 = this.aClass61_2966.method1222(); var3 != null; var3 = this.aClass61_2966.method1221()) { + var4 = (int)var3.aLong71; + if(this.aByteArray2949[var4] != 1) { + this.method2109(2, var4, 96); + } + + if(this.aByteArray2949[var4] == 1) { + var3.method86(-1024); + } else { + var2 = false; + } + } + + while(~this.aClass62_2944.archiveFileLengths.length < ~this.anInt2964) { + if(-1 != ~this.aClass62_2944.archiveFileLengths[this.anInt2964]) { + if(this.aClass66_2953.method1241(-30064)) { + var2 = false; + break; + } + + if(1 != this.aByteArray2949[this.anInt2964]) { + this.method2109(2, this.anInt2964, 47); + } + + if(-2 != ~this.aByteArray2949[this.anInt2964]) { + var3 = new Class3(); + var3.aLong71 = (long)this.anInt2964; + this.aClass61_2966.method1215(true, var3); + var2 = false; + } + + ++this.anInt2964; + } else { + ++this.anInt2964; + } + } + + if(var2) { + this.anInt2964 = 0; + this.aBoolean2965 = false; + } + } + } else { + var2 = true; + + for(var3 = this.aClass61_2966.method1222(); null != var3; var3 = this.aClass61_2966.method1221()) { + var4 = (int)var3.aLong71; + if(~this.aByteArray2949[var4] == -1) { + this.method2109(1, var4, 51); + } + + if(~this.aByteArray2949[var4] != -1) { + var3.method86(-1024); + } else { + var2 = false; + } + } + + while(this.aClass62_2944.archiveFileLengths.length > this.anInt2964) { + if(~this.aClass62_2944.archiveFileLengths[this.anInt2964] == -1) { + ++this.anInt2964; + } else { + if(-251 >= ~this.aClass73_2956.anInt1087) { + var2 = false; + break; + } + + if(0 == this.aByteArray2949[this.anInt2964]) { + this.method2109(1, this.anInt2964, 99); + } + + if(-1 == ~this.aByteArray2949[this.anInt2964]) { + var2 = false; + var3 = new Class3(); + var3.aLong71 = (long)this.anInt2964; + this.aClass61_2966.method1215(true, var3); + } + + ++this.anInt2964; + } + } + + if(var2) { + this.aBoolean2962 = false; + this.anInt2964 = 0; + } + } + } + + if(this.aBoolean2968 && this.aLong2967 <= Class5.method830((byte)-55)) { + for(Class3_Sub28_Sub10 var6 = (Class3_Sub28_Sub10)this.aClass130_2946.method1776(71); var6 != null; var6 = (Class3_Sub28_Sub10)this.aClass130_2946.method1778(-115)) { + if(!var6.aBoolean3632) { + if(var6.aBoolean3635) { + if(!var6.aBoolean3628) { + throw new RuntimeException(); + } + + var6.method86(-1024); + } else { + var6.aBoolean3635 = true; + } + } + } + + this.aLong2967 = 1000L + Class5.method830((byte)-55); + } + + } + } catch (RuntimeException var5) { + var5.printStackTrace(); + throw Class44.method1067(var5, "bg.J(" + var1 + ')'); + } + } + + final int method2097(int var1, int var2) { + try { + if(var2 != '\uffff') { + this.anInt2964 = 25; + } + + Class3_Sub28_Sub10 var3 = (Class3_Sub28_Sub10)this.aClass130_2946.method1780((long)var1, var2 + -65535); + return null != var3?var3.method586(false):0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bg.L(" + var1 + ',' + var2 + ')'); + } + } + + final int method2108(byte var1) { + try { + if(this.aClass62_2944 != null) { + if(var1 != 1) { + anInt2958 = 100; + } + + return this.aClass62_2944.validArchiveAmount; + } else { + return 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.M(" + var1 + ')'); + } + } + + private final Class3_Sub28_Sub10 method2109(int var1, int var2, int var3) { + try { + Object var4 = (Class3_Sub28_Sub10)this.aClass130_2946.method1780((long)var2, 0); + if(null != var4 && ~var1 == -1 && !((Class3_Sub28_Sub10)var4).aBoolean3628 && ((Class3_Sub28_Sub10)var4).aBoolean3632) { + ((Class3_Sub28_Sub10)var4).method86(-1024); + var4 = null; + } + + if(null == var4) { + if(0 == var1) { + if(null != this.aClass41_2954 && ~this.aByteArray2949[var2] != 0) { + var4 = this.aClass73_2956.method1309(this.aClass41_2954, (byte)106, var2); + } else { + if(this.aClass66_2953.method1251((byte)-83)) { + return null; + } + + var4 = this.aClass66_2953.addJS5Request(-51, this.anInt2957, (byte)2, var2, true); + } + } else if(1 != var1) { + if(~var1 != -3) { + throw new RuntimeException(); + } + + if(this.aClass41_2954 == null) { + throw new RuntimeException(); + } + + if(~this.aByteArray2949[var2] != 0) { + throw new RuntimeException(); + } + + if(this.aClass66_2953.method1241(-30064)) { + return null; + } + + var4 = this.aClass66_2953.addJS5Request(-37, this.anInt2957, (byte)2, var2, false); + } else { + if(this.aClass41_2954 == null) { + throw new RuntimeException(); + } + + var4 = this.aClass73_2956.method1307(var2, -27447, this.aClass41_2954); + } + + this.aClass130_2946.method1779(1, (Class3)var4, (long)var2); + } + + if(((Class3_Sub28_Sub10)var4).aBoolean3632) { + return null; + } else { + byte[] var5 = ((Class3_Sub28_Sub10)var4).method587(false); + int var6 = -57 % ((var3 - -10) / 55); + int var7; + Class3_Sub28_Sub10_Sub2 var12; + if(var4 instanceof Class3_Sub28_Sub10_Sub1) { + try { + if(var5 != null && ~var5.length < -3) { + Class3_Sub13_Sub12.aCRC32_3143.reset(); + Class3_Sub13_Sub12.aCRC32_3143.update(var5, 0, -2 + var5.length); + var7 = (int)Class3_Sub13_Sub12.aCRC32_3143.getValue(); + if(this.aClass62_2944.archiveCRCs[var2] != var7) { + System.err.println("CRC mismatch - [entry=" + this.aClass62_2944.archiveCRCs[var2] + ", pass=" + var7 + "]!"); + throw new RuntimeException(); + } else { + int var8 = (var5[-2 + var5.length] << 8 & '\uff00') - -(255 & var5[-1 + var5.length]); + if(~var8 != ~('\uffff' & this.aClass62_2944.archiveRevisions[var2])) { + System.err.println("CRC mismatch - [entry=" + this.aClass62_2944.archiveRevisions[var2] + ", pass=" + var8 + "]!"); + throw new RuntimeException(); + } else { + if(1 != this.aByteArray2949[var2]) { + if(-1 != ~this.aByteArray2949[var2]) { + ; + } + + ++this.anInt2948; + this.aByteArray2949[var2] = 1; + } + + if(!((Class3_Sub28_Sub10)var4).aBoolean3628) { + ((Class3_Sub28_Sub10)var4).method86(-1024); + } + + return (Class3_Sub28_Sub10)var4; + } + } + } else { +// if(1 != this.aByteArray2949[var2]) { +// ++this.anInt2948; +// this.aByteArray2949[var2] = 1; +// } +// if(!((Class3_Sub28_Sub10)var4).aBoolean3628) { +// ((Class3_Sub28_Sub10)var4).method86(-1024); +// } + +// return null; + throw new RuntimeException("Missing CRC for request " + ((var2 >> 16) & 0xFF) + ", " + (var2 & 0xFFFF)); + } + } catch (Exception var9) { +// var9.printStackTrace(); + this.aByteArray2949[var2] = -1; + ((Class3_Sub28_Sub10)var4).method86(-1024); + if(((Class3_Sub28_Sub10)var4).aBoolean3628 && !this.aClass66_2953.method1251((byte)-78)) { + var12 = this.aClass66_2953.addJS5Request(-13, this.anInt2957, (byte)2, var2, true); + this.aClass130_2946.method1779(1, var12, (long)var2); + } + + return null; + } + } else { + try { + if(null == var5 || -3 <= ~var5.length) { + System.err.println("Invalid CRC?"); + throw new RuntimeException(); + } + + Class3_Sub13_Sub12.aCRC32_3143.reset(); + Class3_Sub13_Sub12.aCRC32_3143.update(var5, 0, var5.length - 2); + var7 = (int)Class3_Sub13_Sub12.aCRC32_3143.getValue(); + if(~this.aClass62_2944.archiveCRCs[var2] != ~var7) { + System.err.println("CRC mismatch - [entry=" + this.aClass62_2944.archiveCRCs[var2] + ", pass=" + var7 + "]!"); + throw new RuntimeException(); + } + + this.aClass66_2953.anInt1011 = 0; + this.aClass66_2953.anInt1010 = 0; + } catch (RuntimeException var10) { + var10.printStackTrace(); + this.aClass66_2953.method1252((byte)-67); + ((Class3_Sub28_Sub10)var4).method86(-1024); + if(((Class3_Sub28_Sub10)var4).aBoolean3628 && !this.aClass66_2953.method1251((byte)90)) { + var12 = this.aClass66_2953.addJS5Request(112, this.anInt2957, (byte)2, var2, true); + this.aClass130_2946.method1779(1, var12, (long)var2); + } + + return null; + } + + var5[var5.length + -2] = (byte)(this.aClass62_2944.archiveRevisions[var2] >>> 8); + var5[var5.length - 1] = (byte)this.aClass62_2944.archiveRevisions[var2]; + if(null != this.aClass41_2954) { + this.aClass73_2956.method1305(this.aClass41_2954, 2, var5, var2); + if(1 != this.aByteArray2949[var2]) { + ++this.anInt2948; + this.aByteArray2949[var2] = 1; + } + } + + if(!((Class3_Sub28_Sub10)var4).aBoolean3628) { + ((Class3_Sub28_Sub10)var4).method86(-1024); + } + + return (Class3_Sub28_Sub10)var4; + } + } + } catch (RuntimeException var11) { +// var11.printStackTrace(); + throw Class44.method1067(var11, "bg.C(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method2110(int var1) { + try { + if(this.aClass61_2966 != null) { + if(null != this.method2094(var1)) { + for(Class3 var2 = this.aClass61_2963.method1222(); null != var2; var2 = this.aClass61_2963.method1221()) { + int var3 = (int)var2.aLong71; + if(0 <= var3 && this.aClass62_2944.archiveAmount > var3 && ~this.aClass62_2944.archiveFileLengths[var3] != -1) { + if(this.aByteArray2949[var3] == 0) { + this.method2109(1, var3, var1 + 80); + } + + if(-1 == this.aByteArray2949[var3]) { + this.method2109(2, var3, var1 + 78); + } + + if(~this.aByteArray2949[var3] == -2) { + var2.method86(-1024); + } + } else { + var2.method86(-1024); + } + } + + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bg.D(" + var1 + ')'); + } + } + + final int method2111(int var1) { + try { + int var2 = -96 / ((20 - var1) / 33); + return null != this.method2094(0)?100:(null == this.aClass3_Sub28_Sub10_2950?0:this.aClass3_Sub28_Sub10_2950.method586(false)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bg.E(" + var1 + ')'); + } + } + + final byte[] method2098(int var1, int var2) { + try { + Class3_Sub28_Sub10 var3 = this.method2109(var2, var1, 103); + if(var3 == null) { + return null; + } else { + byte[] var4 = var3.method587(false); + var3.method86(-1024); + return var4; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bg.K(" + var1 + ',' + var2 + ')'); + } + } + + Class151_Sub1(int var1, Class41 var2, Class41 var3, Class66 var4, Class73 var5, int var6, int var7, boolean var8) { + try { + this.anInt2957 = var1; + this.aClass41_2954 = var2; + if(this.aClass41_2954 != null) { + this.aBoolean2962 = true; + this.aClass61_2966 = new Class61(); + } else { + this.aBoolean2962 = false; + } + + this.aClass73_2956 = var5; + this.anInt2955 = var6; + this.aBoolean2968 = var8; + this.aClass41_2943 = var3; + this.aClass66_2953 = var4; + this.anInt2947 = var7; + if(null != this.aClass41_2943) { + this.aClass3_Sub28_Sub10_2950 = this.aClass73_2956.method1309(this.aClass41_2943, (byte)113, this.anInt2957); + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "bg.(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class152.java b/09HDscape-client/src/org/runite/jagex/Class152.java new file mode 100644 index 000000000..23c38ccec --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class152.java @@ -0,0 +1,96 @@ +package org.runite.jagex; +/* Class152 - Decompiled by JODE + * Visit http://jode.sourceforge.net/ + */ + +final class Class152 +{ + private int anInt1937; + private int anInt1938; + private int anInt1939 = Class3_Sub14.method368(16); + private int anInt1940; + private int anInt1941; + private int[] anIntArray1942; + private int anInt1943; + + Class152() { + anInt1938 = Class3_Sub14.method368(24); + anInt1940 = Class3_Sub14.method368(24); + anInt1941 = Class3_Sub14.method368(24) + 1; + anInt1943 = Class3_Sub14.method368(6) + 1; + anInt1937 = Class3_Sub14.method368(8); + int[] is = new int[anInt1943]; + for (int i = 0; i < anInt1943; i++) { + int i_0_ = 0; + int i_1_ = Class3_Sub14.method368(3); + boolean bool = Class3_Sub14.method364() != 0; + if (bool) + i_0_ = Class3_Sub14.method368(5); + is[i] = i_0_ << 3 | i_1_; + } + anIntArray1942 = new int[anInt1943 * 8]; + for (int i = 0; i < anInt1943 * 8; i++) + anIntArray1942[i] = ((is[i >> 3] & 1 << (i & 0x7)) != 0 + ? Class3_Sub14.method368(8) : -1); + } + + final void method2112(float[] fs, int i, boolean bool) { + for (int i_2_ = 0; i_2_ < i; i_2_++) + fs[i_2_] = 0.0F; + if (!bool) { + int i_3_ = (((Class71) Class3_Sub14.aClass71Array2406[anInt1937]) + .anInt1063); + int i_4_ = anInt1940 - anInt1938; + int i_5_ = i_4_ / anInt1941; + int[] is = new int[i_5_]; + for (int i_6_ = 0; i_6_ < 8; i_6_++) { + int i_7_ = 0; + while (i_7_ < i_5_) { + if (i_6_ == 0) { + int i_8_ = Class3_Sub14.aClass71Array2406 + [anInt1937].method1290(); + for (int i_9_ = i_3_ - 1; i_9_ >= 0; i_9_--) { + if (i_7_ + i_9_ < i_5_) + is[i_7_ + i_9_] = i_8_ % anInt1943; + i_8_ /= anInt1943; + } + } + for (int i_10_ = 0; i_10_ < i_3_; i_10_++) { + int i_11_ = is[i_7_]; + int i_12_ = anIntArray1942[i_11_ * 8 + i_6_]; + if (i_12_ >= 0) { + int i_13_ = anInt1938 + i_7_ * anInt1941; + Class71 class71 + = Class3_Sub14.aClass71Array2406[i_12_]; + if (anInt1939 == 0) { + int i_14_ = (anInt1941 + / ((Class71) class71).anInt1063); + for (int i_15_ = 0; i_15_ < i_14_; i_15_++) { + float[] fs_16_ = class71.method1288(); + for (int i_17_ = 0; + i_17_ < ((Class71) class71).anInt1063; + i_17_++) + fs[i_13_ + i_15_ + i_17_ * i_14_] + += fs_16_[i_17_]; + } + } else { + int i_18_ = 0; + while (i_18_ < anInt1941) { + float[] fs_19_ = class71.method1288(); + for (int i_20_ = 0; + i_20_ < ((Class71) class71).anInt1063; + i_20_++) { + fs[i_13_ + i_18_] += fs_19_[i_20_]; + i_18_++; + } + } + } + } + if (++i_7_ >= i_5_) + break; + } + } + } + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class154.java b/09HDscape-client/src/org/runite/jagex/Class154.java new file mode 100644 index 000000000..813980f38 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class154.java @@ -0,0 +1,84 @@ +package org.runite.jagex; + +final class Class154 { + + static Class93 aClass93_1955 = new Class93(64); + static int anInt1956; + static int anInt1957; + private static RSString aClass94_1958 = RSString.createRSString("Please wait )2 attempting to reestablish)3"); + static RSString aClass94_1959 = aClass94_1958; + static int[] anIntArray1960 = new int[14]; + + private static RSString aClass94_1963 = RSString.createRSString("glow2:"); + static Class93 aClass93_1964 = new Class93(5); + static Class93 aClass93_1965 = new Class93(50); + static int anInt1966 = -1; + static CacheIndex aClass153_1967; +static RSString aClass94_1961 = aClass94_1963; + static RSString aClass94_1962 = aClass94_1963; + + public static void method2145(byte var0) { + try { + aClass93_1955 = null; + aClass94_1962 = null; + aClass94_1959 = null; + if(var0 >= -41) { + method2147(-28, 103, -37); + } + + aClass94_1958 = null; + aClass94_1963 = null; + anIntArray1960 = null; + aClass153_1967 = null; + aClass93_1965 = null; + aClass94_1961 = null; + aClass93_1964 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vf.A(" + var0 + ')'); + } + } + + static final void method2146(int var0, int var1, int var2, int var3, GameObject var4, GameObject var5, int var6, int var7, long var8) { + if(var4 != null || var5 != null) { + Class70 var10 = new Class70(); + var10.aLong1048 = var8; + var10.anInt1054 = var1 * 128 + 64; + var10.anInt1045 = var2 * 128 + 64; + var10.anInt1057 = var3; + var10.aClass140_1049 = var4; + var10.aClass140_1052 = var5; + var10.anInt1055 = var6; + var10.anInt1059 = var7; + + for(int var11 = var0; var11 >= 0; --var11) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var11][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var11][var1][var2] = new Class3_Sub2(var11, var1, var2); + } + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass70_2234 = var10; + } + } + + static final Class70 method2147(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 == null?null:var3.aClass70_2234; + } + + static final RSString method2148(int var0, byte var1) { + try { + if(999999999 <= var0) { + if(var1 != -78) { + method2145((byte)-8); + } + + return Class128.aClass94_1687; + } else { + return Class72.method1298((byte)9, var0); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vf.C(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class155.java b/09HDscape-client/src/org/runite/jagex/Class155.java new file mode 100644 index 000000000..1d2f8c9bf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class155.java @@ -0,0 +1,426 @@ +package org.runite.jagex; +import java.awt.Component; + +class Class155 { + + private int anInt1968 = 32; + static int[] anIntArray1969 = new int[100]; + static RSString aClass94_1970 = RSString.createRSString(":"); + static int anInt1971; + private long aLong1972 = Class5.method830((byte)-55); + private Class3_Sub24 aClass3_Sub24_1973; + static RSString aClass94_1974 = RSString.createRSString("Verbindung mit Update)2Server)3)3)3"); + int[] anIntArray1975; + static int[] anIntArray1976 = new int[]{1, 0, 0, 0, 1, 0, 2, 1, 1, 1, 0, 2, 0, 0, 1, 0}; + static int anInt1977 = 0; + static int[] anIntArray1978 = new int[128]; + private long aLong1979 = 0L; + private Class3_Sub24[] aClass3_Sub24Array1980 = new Class3_Sub24[8]; + private int anInt1981 = 0; + private long aLong1982 = 0L; + private Class3_Sub24[] aClass3_Sub24Array1983 = new Class3_Sub24[8]; + private boolean aBoolean1984 = true; + private int anInt1985 = 0; + private int anInt1986; + private int anInt1987 = 0; + private int anInt1988 = 0; + int anInt1989; + int anInt1990; + + + void method2149() throws Exception {} + + void method2150(int var1) throws Exception {} + + void method2151() throws Exception {} + + private final void method2152(int[] var1, int var2) { + int var3 = var2; + if(RSString.aBoolean2150) { + var3 = var2 << 1; + } + + Class76.method1363(var1, 0, var3); + this.anInt1987 -= var2; + if(this.aClass3_Sub24_1973 != null && this.anInt1987 <= 0) { + this.anInt1987 += Class21.anInt443 >> 4; + Class97.method1591(true, this.aClass3_Sub24_1973); + this.method2155(this.aClass3_Sub24_1973, this.aClass3_Sub24_1973.method412(), (byte)-24); + int var4 = 0; + int var5 = 255; + + int var6; + label101: + for(var6 = 7; var5 != 0; --var6) { + int var7; + int var8; + if(var6 < 0) { + var7 = var6 & 3; + var8 = -(var6 >> 2); + } else { + var7 = var6; + var8 = 0; + } + + for(int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { + if((var9 & 1) != 0) { + var5 &= ~(1 << var7); + Class3_Sub24 var10 = null; + Class3_Sub24 var11 = this.aClass3_Sub24Array1980[var7]; + + while(var11 != null) { + Class3_Sub12 var12 = var11.aClass3_Sub12_2544; + if(var12 != null && var12.anInt2374 > var8) { + var5 |= 1 << var7; + var10 = var11; + var11 = var11.aClass3_Sub24_2546; + } else { + var11.aBoolean2545 = true; + int var13 = var11.method409(); + var4 += var13; + if(var12 != null) { + var12.anInt2374 += var13; + } + + if(var4 >= this.anInt1968) { + break label101; + } + + Class3_Sub24 var14 = var11.method411(); + if(var14 != null) { + for(int var15 = var11.anInt2543; var14 != null; var14 = var11.method414()) { + this.method2155(var14, var15 * var14.method412() >> 8, (byte)-24); + } + } + + Class3_Sub24 var18 = var11.aClass3_Sub24_2546; + var11.aClass3_Sub24_2546 = null; + if(var10 == null) { + this.aClass3_Sub24Array1980[var7] = var18; + } else { + var10.aClass3_Sub24_2546 = var18; + } + + if(var18 == null) { + this.aClass3_Sub24Array1983[var7] = var10; + } + + var11 = var18; + } + } + } + + var7 += 4; + ++var8; + } + } + + for(var6 = 0; var6 < 8; ++var6) { + Class3_Sub24 var16 = this.aClass3_Sub24Array1980[var6]; + + Class3_Sub24 var17; + for(this.aClass3_Sub24Array1980[var6] = this.aClass3_Sub24Array1983[var6] = null; var16 != null; var16 = var17) { + var17 = var16.aClass3_Sub24_2546; + var16.aClass3_Sub24_2546 = null; + } + } + } + + if(this.anInt1987 < 0) { + this.anInt1987 = 0; + } + + if(this.aClass3_Sub24_1973 != null) { + this.aClass3_Sub24_1973.method413(var1, 0, var2); + } + + this.aLong1972 = Class5.method830((byte)-55); + } + + final synchronized void method2153(byte var1) { + try { + if(null != this.anIntArray1975) { + long var2 = Class5.method830((byte)-55); + + try { + if(0L != this.aLong1982) { + if(var2 < this.aLong1982) { + return; + } + + this.method2150(this.anInt1990); + this.aBoolean1984 = true; + this.aLong1982 = 0L; + } + + int var4 = this.method2157(); + if(~this.anInt1981 > ~(-var4 + this.anInt1985)) { + this.anInt1981 = -var4 + this.anInt1985; + } + + int var5 = this.anInt1989 - -this.anInt1986; + if(~(256 + var5) < -16385) { + var5 = 16128; + } + + if(this.anInt1990 < var5 + 256) { + this.anInt1990 += 1024; + if(this.anInt1990 > 16384) { + this.anInt1990 = 16384; + } + + this.method2160(); + var4 = 0; + this.method2150(this.anInt1990); + if(this.anInt1990 < 256 + var5) { + var5 = -256 + this.anInt1990; + this.anInt1986 = -this.anInt1989 + var5; + } + + this.aBoolean1984 = true; + } + + while(~var5 < ~var4) { + var4 += 256; + this.method2152(this.anIntArray1975, 256); + this.method2149(); + } + + if(~var2 < ~this.aLong1979) { + if(this.aBoolean1984) { + this.aBoolean1984 = false; + } else { + if(-1 == ~this.anInt1981 && ~this.anInt1988 == -1) { + this.method2160(); + this.aLong1982 = var2 - -2000L; + return; + } + + this.anInt1986 = Math.min(this.anInt1988, this.anInt1981); + this.anInt1988 = this.anInt1981; + } + + this.aLong1979 = 2000L + var2; + this.anInt1981 = 0; + } + + this.anInt1985 = var4; + } catch (Exception var7) { + this.method2160(); + this.aLong1982 = var2 + 2000L; + } + + try { + if(var2 > 500000L + this.aLong1972) { + var2 = this.aLong1972; + } + + if(var1 != -34) { + return; + } + + while(var2 > this.aLong1972 + 5000L) { + this.method2161(256, 1); + this.aLong1972 += (long)(256000 / Class21.anInt443); + } + } catch (Exception var6) { + this.aLong1972 = var2; + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "vh.Q(" + var1 + ')'); + } + } + + final synchronized void method2154(int var1, Class3_Sub24 var2) { + try { + int var3 = -128 / ((var1 - -58) / 54); + this.aClass3_Sub24_1973 = var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vh.I(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private final void method2155(Class3_Sub24 var1, int var2, byte var3) { + try { + if(var3 != -24) { + this.method2155((Class3_Sub24)null, -105, (byte)87); + } + + int var4 = var2 >> 5; + Class3_Sub24 var5 = this.aClass3_Sub24Array1983[var4]; + if(null == var5) { + this.aClass3_Sub24Array1980[var4] = var1; + } else { + var5.aClass3_Sub24_2546 = var1; + } + + this.aClass3_Sub24Array1983[var4] = var1; + var1.anInt2543 = var2; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "vh.H(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class10 method2156(int var0, RSByteBuffer var1) { + try { + Class10 var2 = new Class10(); + var2.anInt149 = var1.getShort(var0 + -1023); + if(var0 != 1024) { + method2162((GameObject)null, 34, 103, -93); + } + + var2.aClass3_Sub28_Sub4_151 = Class3_Sub29.method733(12345678, var2.anInt149); + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vh.M(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + int method2157() throws Exception { + try { + return this.anInt1990; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vh.B()"); + } + } + + final synchronized void method2158(byte var1) { + try { + this.aBoolean1984 = true; + + try { + this.method2151(); + } catch (Exception var3) { + this.method2160(); + this.aLong1982 = Class5.method830((byte)-55) + 2000L; + } + + int var2 = 91 % ((var1 - 47) / 60); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vh.L(" + var1 + ')'); + } + } + + final void method2159(int var1) { + try { + this.aBoolean1984 = true; + if(var1 <= 54) { + this.aBoolean1984 = true; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vh.J(" + var1 + ')'); + } + } + + void method2160() {} + + private final void method2161(int var1, int var2) { + try { + this.anInt1987 -= var1; + if(0 > this.anInt1987) { + this.anInt1987 = 0; + } + + if(var2 != 1) { + this.aLong1972 = -60L; + } + + if(null != this.aClass3_Sub24_1973) { + this.aClass3_Sub24_1973.method415(var1); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vh.K(" + var1 + ',' + var2 + ')'); + } + } + + static final void method2162(GameObject var0, int var1, int var2, int var3) { + Class3_Sub2 var4; + if(var2 < IOHandler.anInt1234) { + var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3]; + if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) { + var0.method1866(var4.aClass12_2230.object, 128, 0, 0, true); + } + } + + if(var3 < IOHandler.anInt1234) { + var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2][var3 + 1]; + if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) { + var0.method1866(var4.aClass12_2230.object, 0, 0, 128, true); + } + } + + if(var2 < IOHandler.anInt1234 && var3 < Class3_Sub13_Sub15.anInt3179) { + var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3 + 1]; + if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) { + var0.method1866(var4.aClass12_2230.object, 128, 0, 128, true); + } + } + + if(var2 < IOHandler.anInt1234 && var3 > 0) { + var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var1][var2 + 1][var3 - 1]; + if(var4 != null && var4.aClass12_2230 != null && var4.aClass12_2230.object.method1865()) { + var0.method1866(var4.aClass12_2230.object, 128, 0, -128, true); + } + } + + } + + final synchronized void method2163(boolean var1) { + try { + if(null != Class38_Sub1.aClass15_2613) { + boolean var2 = true; + + for(int var3 = 0; ~var3 > -3; ++var3) { + if(this == Class38_Sub1.aClass15_2613.aClass155Array352[var3]) { + Class38_Sub1.aClass15_2613.aClass155Array352[var3] = null; + } + + if(null != Class38_Sub1.aClass15_2613.aClass155Array352[var3]) { + var2 = false; + } + } + + if(var2) { + Class38_Sub1.aClass15_2613.aBoolean345 = true; + + while(Class38_Sub1.aClass15_2613.aBoolean353) { + Class3_Sub13_Sub34.method331(50L, 64); + } + + Class38_Sub1.aClass15_2613 = null; + } + } + + this.method2160(); + this.anIntArray1975 = null; + if(!var1) { + ; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vh.P(" + var1 + ')'); + } + } + + void method2164(Component var1) throws Exception {} + + public static void method2165(int var0) { + try { + aClass94_1970 = null; + aClass94_1974 = null; + anIntArray1976 = null; + if(var0 != 0) { + method2165(-20); + } + + anIntArray1969 = null; + anIntArray1978 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vh.G(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class155_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class155_Sub1.java new file mode 100644 index 000000000..fe1512e63 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class155_Sub1.java @@ -0,0 +1,46 @@ +package org.runite.jagex; +import java.awt.Component; + +final class Class155_Sub1 extends Class155 { + + private int anInt2969; + private static Interface1 anInterface1_2970; + + + final int method2157() { + return anInterface1_2970.method2((byte)118, this.anInt2969); + } + + final void method2149() { + anInterface1_2970.method6(this.anInt2969, this.anIntArray1975); + } + + public static void method2166() { + anInterface1_2970 = null; + } + + final void method2164(Component var1) throws Exception { + anInterface1_2970.method5(Class21.anInt443, (byte)-39, var1, RSString.aBoolean2150); + } + + final void method2151() { + anInterface1_2970.method1(this.anInt2969, 28544); + } + + Class155_Sub1(Signlink var1, int var2) { + anInterface1_2970 = var1.method1446((byte)99); + this.anInt2969 = var2; + } + + final void method2150(int var1) throws Exception { + if(var1 > '\u8000') { + throw new IllegalArgumentException(); + } else { + anInterface1_2970.method3(this.anInt2969, 25349, var1); + } + } + + final void method2160() { + anInterface1_2970.method4((byte)20, this.anInt2969); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class155_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class155_Sub2.java new file mode 100644 index 000000000..c08ec33f5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class155_Sub2.java @@ -0,0 +1,98 @@ +package org.runite.jagex; +import java.awt.Component; +import javax.sound.sampled.AudioFormat; +import javax.sound.sampled.AudioSystem; +import javax.sound.sampled.LineUnavailableException; +import javax.sound.sampled.SourceDataLine; +import javax.sound.sampled.Mixer.Info; + +final class Class155_Sub2 extends Class155 { + + private int anInt2971; + private SourceDataLine aSourceDataLine2972; + private boolean aBoolean2973 = false; + private AudioFormat anAudioFormat2974; + private byte[] aByteArray2975; + + + final void method2160() { + if(null != this.aSourceDataLine2972) { + this.aSourceDataLine2972.close(); + this.aSourceDataLine2972 = null; + } + + } + + final void method2164(Component var1) { + Info[] var2 = AudioSystem.getMixerInfo(); + if(null != var2) { + Info[] var3 = var2; + + for(int var4 = 0; ~var4 > ~var3.length; ++var4) { + Info var5 = var3[var4]; + if(null != var5) { + String var6 = var5.getName(); + if(null != var6 && var6.toLowerCase().indexOf("soundmax") >= 0) { + this.aBoolean2973 = true; + } + } + } + } + + this.anAudioFormat2974 = new AudioFormat((float)Class21.anInt443, 16, !RSString.aBoolean2150?1:2, true, false); + this.aByteArray2975 = new byte[256 << (RSString.aBoolean2150?2:1)]; + } + + final void method2150(int var1) throws LineUnavailableException { + try { + javax.sound.sampled.DataLine.Info var2 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, var1 << (!RSString.aBoolean2150?1:2)); + this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var2); + this.aSourceDataLine2972.open(); + this.aSourceDataLine2972.start(); + this.anInt2971 = var1; + } catch (LineUnavailableException var3) { + if(~Class146.method2080(var1, -125) == -2) { + this.aSourceDataLine2972 = null; + throw var3; + } else { + this.method2150(Class95.method1585((byte)76, var1)); + } + } + } + + final void method2151() throws LineUnavailableException { + this.aSourceDataLine2972.flush(); + if(this.aBoolean2973) { + this.aSourceDataLine2972.close(); + this.aSourceDataLine2972 = null; + javax.sound.sampled.DataLine.Info var1 = new javax.sound.sampled.DataLine.Info(SourceDataLine.class, this.anAudioFormat2974, this.anInt2971 << (!RSString.aBoolean2150?1:2)); + this.aSourceDataLine2972 = (SourceDataLine)AudioSystem.getLine(var1); + this.aSourceDataLine2972.open(); + this.aSourceDataLine2972.start(); + } + + } + + final int method2157() { + return this.anInt2971 - (this.aSourceDataLine2972.available() >> (!RSString.aBoolean2150?1:2)); + } + + final void method2149() { + int var1 = 256; + if(RSString.aBoolean2150) { + var1 <<= 1; + } + + for(int var2 = 0; var2 < var1; ++var2) { + int var3 = this.anIntArray1975[var2]; + if((var3 + 8388608 & -16777216) != 0) { + var3 = 8388607 ^ var3 >> 31; + } + + this.aByteArray2975[var2 * 2] = (byte)(var3 >> 8); + this.aByteArray2975[var2 * 2 + 1] = (byte)(var3 >> 16); + } + + this.aSourceDataLine2972.write(this.aByteArray2975, 0, var1 << 1); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class156.java b/09HDscape-client/src/org/runite/jagex/Class156.java new file mode 100644 index 000000000..2e1b11bce --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class156.java @@ -0,0 +1,74 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class156 { + + private int anInt1991; + private int anInt1992; + private int anInt1993; + private boolean aBoolean1994; + + + final void method2168(ByteBuffer var1) { + if(var1.limit() <= this.anInt1993) { + GL var2 = HDToolKit.gl; + var2.glBindBufferARB('\u8892', this.anInt1991); + var2.glBufferSubDataARB('\u8892', 0, var1.limit(), var1); + } else { + this.method2172(var1); + } + + } + + protected final void finalize() throws Throwable { + if(this.anInt1991 != -1) { + Class31.method989(this.anInt1991, this.anInt1993, this.anInt1992); + this.anInt1991 = -1; + this.anInt1993 = 0; + } + + super.finalize(); + } + + final void method2169() { + GL var1 = HDToolKit.gl; + var1.glBindBufferARB('\u8892', this.anInt1991); + } + + public Class156() { + this(false); + } + + final void method2170(ByteBuffer var1) { + GL var2 = HDToolKit.gl; + var2.glBindBufferARB('\u8893', this.anInt1991); + var2.glBufferDataARB('\u8893', var1.limit(), var1, this.aBoolean1994?'\u88e0':'\u88e4'); + Class31.anInt585 += var1.limit() - this.anInt1993; + this.anInt1993 = var1.limit(); + } + + final void method2171() { + GL var1 = HDToolKit.gl; + var1.glBindBufferARB('\u8893', this.anInt1991); + } + + final void method2172(ByteBuffer var1) { + GL var2 = HDToolKit.gl; + var2.glBindBufferARB('\u8892', this.anInt1991); + var2.glBufferDataARB('\u8892', var1.limit(), var1, this.aBoolean1994?'\u88e0':'\u88e4'); + Class31.anInt585 += var1.limit() - this.anInt1993; + this.anInt1993 = var1.limit(); + } + + Class156(boolean var1) { + this.anInt1991 = -1; + this.anInt1993 = 0; + GL var2 = HDToolKit.gl; + int[] var3 = new int[1]; + var2.glGenBuffersARB(1, var3, 0); + this.aBoolean1994 = var1; + this.anInt1991 = var3[0]; + this.anInt1992 = Class31.anInt582; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class157.java b/09HDscape-client/src/org/runite/jagex/Class157.java new file mode 100644 index 000000000..9681f20f3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class157.java @@ -0,0 +1,170 @@ +package org.runite.jagex; + +final class Class157 { + + + static int anInt1996; + private int anInt1997; + private static RSString aClass94_1998 = RSString.createRSString("Connecting to update server"); + private int[][] anIntArrayArray1999; + static Class3_Sub28_Sub17_Sub1 aClass3_Sub28_Sub17_Sub1_2000; + private int anInt2001; + static RSString aClass94_2002 = RSString.createRSString("Chargement des fichiers config )2 "); + static RSString aClass94_2003 = RSString.createRSString("_labels"); +static RSString aClass94_1995 = aClass94_1998; + + final byte[] method2173(byte[] var1, byte var2) { + try { + int var3 = 53 % ((var2 - -39) / 50); + if(null != this.anIntArrayArray1999) { + int var4 = 14 + (int)((long)var1.length * (long)this.anInt2001 / (long)this.anInt1997); + int[] var5 = new int[var4]; + int var6 = 0; + int var7 = 0; + + int var8; + for(var8 = 0; ~var8 > ~var1.length; ++var8) { + int[] var10 = this.anIntArrayArray1999[var7]; + byte var9 = var1[var8]; + + int var11; + for(var11 = 0; ~var11 > -15; ++var11) { + var5[var6 - -var11] += var10[var11] * var9; + } + + var7 += this.anInt2001; + var11 = var7 / this.anInt1997; + var6 += var11; + var7 -= var11 * this.anInt1997; + } + + var1 = new byte[var4]; + + for(var8 = 0; var4 > var8; ++var8) { + int var13 = var5[var8] - -32768 >> 16; + if(127 >= ~var13) { + if(127 >= var13) { + var1[var8] = (byte)var13; + } else { + var1[var8] = 127; + } + } else { + var1[var8] = -128; + } + } + } + + return var1; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "vj.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final long method2174(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 != null && var3.aClass70_2234 != null?var3.aClass70_2234.aLong1048:0L; + } + + public static void method2175(byte var0) { + try { + aClass94_2002 = null; + aClass94_1995 = null; + aClass3_Sub28_Sub17_Sub1_2000 = null; + if(var0 == -110) { + aClass94_2003 = null; + aClass94_1998 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vj.F(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub16_Sub2[] method2176(int var0, int var1, int var2, CacheIndex var3) { + try { + //System.out.println("Class 157 " + var2); + if(Class75_Sub4.method1351(var3, var0, var2, -30901)) { + if(var1 != 32767) { + method2176(-111, 55, -18, (CacheIndex)null); + } + + return Class10.method851(true); + } else { + return null; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "vj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final int method2177(int var1, byte var2) { + try { + if(null != this.anIntArrayArray1999) { + var1 = (int)((long)this.anInt2001 * (long)var1 / (long)this.anInt1997); + } + + return var2 != 90?81:var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vj.C(" + var1 + ',' + var2 + ')'); + } + } + + final int method2178(boolean var1, int var2) { + try { + if(var1) { + return -69; + } else { + if(null != this.anIntArrayArray1999) { + var2 = (int)((long)this.anInt2001 * (long)var2 / (long)this.anInt1997) + 6; + } + + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vj.D(" + var1 + ',' + var2 + ')'); + } + } + + Class157(int var1, int var2) { + try { + if(var2 != var1) { + int var3 = Class107.method1651(19067, var2, var1); + var2 /= var3; + this.anInt2001 = var2; + var1 /= var3; + this.anIntArrayArray1999 = new int[var1][14]; + this.anInt1997 = var1; + + for(int var4 = 0; var4 < var1; ++var4) { + int[] var5 = this.anIntArrayArray1999[var4]; + double var6 = (double)var4 / (double)var1 + 6.0D; + double var10 = (double)var2 / (double)var1; + int var8 = (int)Math.floor(-7.0D + var6 + 1.0D); + int var9 = (int)Math.ceil(7.0D + var6); + if(var8 < 0) { + var8 = 0; + } + + if(-15 > ~var9) { + var9 = 14; + } + + while(var8 < var9) { + double var12 = ((double)var8 - var6) * 3.141592653589793D; + double var14 = var10; + if(-1.0E-4D > var12 || var12 > 1.0E-4D) { + var14 = var10 * (Math.sin(var12) / var12); + } + + var14 *= 0.54D + 0.46D * Math.cos(((double)var8 - var6) * 0.2243994752564138D); + var5[var8] = (int)Math.floor(65536.0D * var14 + 0.5D); + ++var8; + } + } + + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "vj.(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class158.java b/09HDscape-client/src/org/runite/jagex/Class158.java new file mode 100644 index 000000000..480c54baf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class158.java @@ -0,0 +1,136 @@ +package org.runite.jagex; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Image; + +abstract class Class158 { + + static int[] anIntArray2004 = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 73, 74, 76, 78, 83, 84, 85, 86, 91, 92, 93, 94, 95, 97, 103, 104, 105, 106, 107, 108, 113, 114, 115, 116, 118, 119, 120, 121, 122, 123, 124, 125, 133, 134, 136, 138, 143, 144, 145, 146, 151, 152, 153, 154, 155, 157, 163, 164, 165, 166, 168, 169, 174, 175, 176, 177, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 97, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 157, 215, 216, 117, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 66, 66, 66, 66, 66, 66, 65, 75, 79, 79, 79, 79, 87, 87, 87, 87, 77, 96, 98, 98, 98, 98, 98, 250, 251, 109, 109, 109, 109, 117, 252, 167, 126, 126, 126, 126, 126, 126, 125, 135, 139, 139, 139, 139, 147, 147, 147, 147, 137, 156, 158, 158, 158, 158, 158, 253, 254, 170, 170, 170, 170, 178, 255, 178}; + static int anInt2005 = -2; + static RSString aClass94_2006 = RSString.createRSString("null"); + int[] anIntArray2007; + static byte[][][] aByteArrayArrayArray2008; + Image anImage2009; + static int anInt2010 = -16 + (int)(33.0D * Math.random()); + int anInt2011; + int anInt2012; + static RSString aClass94_2013 = RSString.createRSString("Lade Liste der Welten"); + static int anInt2014 = 0; + static int anInt2015; + + + abstract void method2179(int var1, int var2, Graphics var3, int var4); + + static final void method2180(CacheIndex var0, CacheIndex var1, int var2) { + try { + if(var2 != 11504) { + aClass94_2013 = (RSString)null; + } + + Class3_Sub28_Sub7_Sub1.aClass153_4048 = var0; + Class3_Sub13_Sub18.aClass153_3214 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vk.D(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method2181(boolean var0) { + try { + aByteArrayArrayArray2008 = (byte[][][])null; + anIntArray2004 = null; + aClass94_2013 = null; + if(var0) { + method2181(false); + } + + aClass94_2006 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vk.H(" + var0 + ')'); + } + } + + final void method2182(int var1) { + try { + Class74.method1319(this.anIntArray2007, this.anInt2012, this.anInt2011); + if(var1 != 0) { + anInt2015 = -118; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vk.G(" + var1 + ')'); + } + } + + static final void method2183(int var0, boolean var1, int var2, int var3, int var4, RSInterface[] var5) { + try { + int var6 = 0; + if(var3 == 235) { + for(; ~var6 > ~var5.length; ++var6) { + RSInterface var7 = var5[var6]; + if(null != var7 && var7.parentId == var0) { + Class3_Sub28_Sub11.method603(var4, 13987, var2, var7, var1); + Class62.method1224(var7, 23730, var4, var2); + if(~(var7.anInt240 - var7.anInt168) > ~var7.anInt247) { + var7.anInt247 = var7.anInt240 - var7.anInt168; + } + + if(var7.anInt208 > -var7.anInt193 + var7.anInt252) { + var7.anInt208 = var7.anInt252 - var7.anInt193; + } + + if(-1 < ~var7.anInt208) { + var7.anInt208 = 0; + } + + if(var7.anInt247 < 0) { + var7.anInt247 = 0; + } + + if(-1 == ~var7.type) { + Class151_Sub1.method2104(var7, var1, var3 + -343); + } + } + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "vk.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + abstract void drawGraphics(int var1, int var2, int var3, int var4, Graphics var5, int var6); + + abstract void method2185(int var1, boolean var2, int var3, Component var4); + + static final void method2186(Class25 var0) { + for(int var1 = var0.anInt483; var1 <= var0.anInt495; ++var1) { + for(int var2 = var0.anInt478; var2 <= var0.anInt481; ++var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0.anInt493][var1][var2]; + if(var3 != null) { + int var4; + for(var4 = 0; var4 < var3.anInt2223; ++var4) { + if(var3.aClass25Array2221[var4] == var0) { + --var3.anInt2223; + + for(int var5 = var4; var5 < var3.anInt2223; ++var5) { + var3.aClass25Array2221[var5] = var3.aClass25Array2221[var5 + 1]; + var3.anIntArray2237[var5] = var3.anIntArray2237[var5 + 1]; + } + + var3.aClass25Array2221[var3.anInt2223] = null; + break; + } + } + + var3.anInt2228 = 0; + + for(var4 = 0; var4 < var3.anInt2223; ++var4) { + var3.anInt2228 |= var3.anIntArray2237[var4]; + } + } + } + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class158_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class158_Sub1.java new file mode 100644 index 000000000..6c8f44491 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class158_Sub1.java @@ -0,0 +1,959 @@ +package org.runite.jagex; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.Shape; +import java.awt.image.ColorModel; +import java.awt.image.DirectColorModel; +import java.awt.image.ImageConsumer; +import java.awt.image.ImageObserver; +import java.awt.image.ImageProducer; +import java.util.Hashtable; + +final class Class158_Sub1 extends Class158 implements ImageProducer, ImageObserver { + + static RSString[] aClass94Array2977 = new RSString[5]; + private ImageConsumer anImageConsumer2978; + private ColorModel aColorModel2979; + static Class3_Sub1 aClass3_Sub1_2980 = new Class3_Sub1(0, -1); + static boolean aBoolean2981 = false; + static Class93 aClass93_2982 = new Class93(32); + + + public final synchronized void addConsumer(ImageConsumer var1) { + try { + this.anImageConsumer2978 = var1; + var1.setDimensions(this.anInt2012, this.anInt2011); + var1.setProperties((Hashtable)null); + var1.setColorModel(this.aColorModel2979); + var1.setHints(14); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "di.addConsumer(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method2187(int var0) { + try { + aClass94Array2977 = null; + aClass93_2982 = null; + aClass3_Sub1_2980 = null; + if(var0 != 27316) { + aBoolean2981 = true; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "di.I(" + var0 + ')'); + } + } + + private final synchronized void method2188(int var1, int var2, int var3, byte var4, int var5) { + try { + if(null != this.anImageConsumer2978) { + this.anImageConsumer2978.setPixels(var3, var5, var1, var2, this.aColorModel2979, this.anIntArray2007, var5 * this.anInt2012 + var3, this.anInt2012); + this.anImageConsumer2978.imageComplete(2); + if(var4 > -29) { + method2189((Class91[])null, false, -53); + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "di.N(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + public final synchronized void removeConsumer(ImageConsumer var1) { + try { + if(this.anImageConsumer2978 == var1) { + this.anImageConsumer2978 = null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "di.removeConsumer(" + (var1 != null?"{...}":"null") + ')'); + } + } + + final void drawGraphics(int var1, int var2, int var3, int var4, Graphics var5, int var6) { + try { + this.method2188(var1, var4, var2, (byte)-124, var6); + if(var3 == 6260) { + Shape var7 = var5.getClip(); + var5.clipRect(var2, var6, var1, var4); + var5.drawImage(this.anImage2009, 0, 0, this); + var5.setClip(var7); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "di.E(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')'); + } + } + + public final void startProduction(ImageConsumer var1) { + try { + this.addConsumer(var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "di.startProduction(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method2189(Class91[] var0, boolean var1, int var2) { + try { + int var4; + int var5; + if(!var1) { + for(var4 = 0; var4 < 4; ++var4) { + for(var5 = 0; ~var5 > -105; ++var5) { + for(int var6 = 0; -105 < ~var6; ++var6) { + if(~(1 & Class9.aByteArrayArrayArray113[var4][var5][var6]) == -2) { + int var7 = var4; + if(~(2 & Class9.aByteArrayArrayArray113[1][var5][var6]) == -3) { + var7 = var4 - 1; + } + + if(~var7 <= -1) { + var0[var7].method1497(var6, 7605, var5); + } + } + } + } + } + + AbstractIndexedSprite.anInt1463 += (int)(Math.random() * 5.0D) - 2; + if(~AbstractIndexedSprite.anInt1463 > 15) { + AbstractIndexedSprite.anInt1463 = -16; + } + + if(-17 > ~AbstractIndexedSprite.anInt1463) { + AbstractIndexedSprite.anInt1463 = 16; + } + + Class3_Sub13_Sub14.anInt3158 += (int)(Math.random() * 5.0D) - 2; + if(-8 > Class3_Sub13_Sub14.anInt3158) { + Class3_Sub13_Sub14.anInt3158 = -8; + } + + if(-9 > ~Class3_Sub13_Sub14.anInt3158) { + Class3_Sub13_Sub14.anInt3158 = 8; + } + } + + byte var3; + if(!var1) { + var3 = 4; + } else { + var3 = 1; + } + + var4 = Class3_Sub13_Sub14.anInt3158 >> 2 << 10; + int[][] var34 = new int[104][104]; + int[][] var35 = new int[104][104]; + var5 = AbstractIndexedSprite.anInt1463 >> 1; + + int var8; + int var10; + int var11; + int var13; + int var14; + int var15; + int var16; + int var19; + int var18; + int var20; + int var37; + int var44; + for(var8 = 0; var3 > var8; ++var8) { + byte[][] var9 = Class67.aByteArrayArrayArray1014[var8]; + int var21; + int var23; + int var22; + int var24; + if(HDToolKit.highDetail) { + if(!Class106.aBoolean1441) { + var10 = (int)Class92.aFloatArray1312[0]; + var11 = (int)Class92.aFloatArray1312[1]; + var37 = (int)Class92.aFloatArray1312[2]; + var13 = (int)Math.sqrt((double)(var11 * var11 + (var10 * var10 - -(var37 * var37)))); + var14 = 1024 * var13 >> 8; + + for(var15 = 1; -104 < ~var15; ++var15) { + for(var16 = 1; var16 < 103; ++var16) { + byte var17 = 96; + var18 = Class44.anIntArrayArrayArray723[var8][var16 - -1][var15] - Class44.anIntArrayArrayArray723[var8][-1 + var16][var15]; + var19 = Class44.anIntArrayArrayArray723[var8][var16][var15 + 1] - Class44.anIntArrayArrayArray723[var8][var16][-1 + var15]; + var20 = (int)Math.sqrt((double)(var18 * var18 + 65536 + var19 * var19)); + var21 = (var18 << 8) / var20; + var24 = (var9[var16][1 + var15] >> 3) + (var9[var16][var15 - 1] >> 2) + ((var9[var16 - 1][var15] >> 2) + (var9[var16 + 1][var15] >> 3) - -(var9[var16][var15] >> 1)); + var22 = -65536 / var20; + var23 = (var19 << 8) / var20; + var44 = var17 + (var37 * var23 + (var10 * var21 - -(var22 * var11))) / var14; + var35[var16][var15] = var44 + -((int)((float)var24 * 1.7F)); + } + } + } else { + for(var10 = 1; var10 < 103; ++var10) { + for(var11 = 1; ~var11 > -104; ++var11) { + var13 = (var9[1 + var11][var10] >> 3) + (var9[-1 + var11][var10] >> 2) - -(var9[var11][-1 + var10] >> 2) - -(var9[var11][1 + var10] >> 3) - -(var9[var11][var10] >> 1); + byte var12 = 74; + var35[var11][var10] = -var13 + var12; + } + } + } + } else { + var10 = (int)Math.sqrt(5100.0D); + var11 = 768 * var10 >> 8; + + for(var37 = 1; var37 < 103; ++var37) { + for(var13 = 1; 103 > var13; ++var13) { + var16 = -Class44.anIntArrayArrayArray723[var8][var13][-1 + var37] + Class44.anIntArrayArrayArray723[var8][var13][var37 + 1]; + byte var41 = 74; + var15 = -Class44.anIntArrayArrayArray723[var8][var13 + -1][var37] + Class44.anIntArrayArrayArray723[var8][var13 - -1][var37]; + var44 = (int)Math.sqrt((double)(var15 * var15 - -65536 - -(var16 * var16))); + var20 = (var16 << 8) / var44; + var19 = -65536 / var44; + var18 = (var15 << 8) / var44; + var21 = (var9[var13][var37] >> 1) + (var9[var13][-1 + var37] >> 2) + (var9[var13 - -1][var37] >> 3) + ((var9[var13 - 1][var37] >> 2) - -(var9[var13][var37 + 1] >> 3)); + var14 = var41 + (var20 * -50 + var18 * -50 - -(var19 * -10)) / var11; + var35[var13][var37] = var14 - var21; + } + } + } + + for(var10 = 0; 104 > var10; ++var10) { + Class129.anIntArray1695[var10] = 0; + Class80.anIntArray1138[var10] = 0; + Class3_Sub31.anIntArray2606[var10] = 0; + Class149.anIntArray1920[var10] = 0; + Class3_Sub18.anIntArray2469[var10] = 0; + } + + for(var10 = -5; ~var10 > -105; ++var10) { + for(var11 = 0; 104 > var11; ++var11) { + var37 = var10 - -5; + if(var37 < 104) { + var13 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var37][var11]; + if(var13 > 0) { + Class100 var39 = Class3_Sub28_Sub15.method629(true, -1 + var13); + Class129.anIntArray1695[var11] += var39.anInt1408; + Class80.anIntArray1138[var11] += var39.anInt1406; + Class3_Sub31.anIntArray2606[var11] += var39.anInt1417; + Class149.anIntArray1920[var11] += var39.anInt1418; + ++Class3_Sub18.anIntArray2469[var11]; + } + } + + var13 = -5 + var10; + if(0 <= var13) { + var14 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var13][var11]; + if(var14 > 0) { + Class100 var42 = Class3_Sub28_Sub15.method629(true, -1 + var14); + Class129.anIntArray1695[var11] -= var42.anInt1408; + Class80.anIntArray1138[var11] -= var42.anInt1406; + Class3_Sub31.anIntArray2606[var11] -= var42.anInt1417; + Class149.anIntArray1920[var11] -= var42.anInt1418; + --Class3_Sub18.anIntArray2469[var11]; + } + } + } + + if(var10 >= 0) { + var11 = 0; + var13 = 0; + var37 = 0; + var14 = 0; + var15 = 0; + + for(var16 = -5; var16 < 104; ++var16) { + var44 = var16 - -5; + if(104 > var44) { + var37 += Class80.anIntArray1138[var44]; + var15 += Class3_Sub18.anIntArray2469[var44]; + var11 += Class129.anIntArray1695[var44]; + var14 += Class149.anIntArray1920[var44]; + var13 += Class3_Sub31.anIntArray2606[var44]; + } + + var18 = var16 + -5; + if(~var18 <= -1) { + var37 -= Class80.anIntArray1138[var18]; + var14 -= Class149.anIntArray1920[var18]; + var11 -= Class129.anIntArray1695[var18]; + var15 -= Class3_Sub18.anIntArray2469[var18]; + var13 -= Class3_Sub31.anIntArray2606[var18]; + } + + if(0 <= var16 && -1 > ~var15 && var14 != 0) { + var34[var10][var16] = Class3_Sub8.method129(var13 / var15, 2, var37 / var15, 256 * var11 / var14); + } + } + } + } + + for(var10 = 1; ~var10 > -104; ++var10) { + label754: + for(var11 = 1; ~var11 > -104; ++var11) { + if(var1 || NPC.method1986(66) || ~(2 & Class9.aByteArrayArrayArray113[0][var10][var11]) != -1 || ~(16 & Class9.aByteArrayArrayArray113[var8][var10][var11]) == -1 && PacketParser.method823(var11, var10, -87, var8) == Class140_Sub3.anInt2745) { + if(~Class85.anInt1174 < ~var8) { + Class85.anInt1174 = var8; + } + + var37 = 255 & Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var10][var11]; + var13 = Class139.aByteArrayArrayArray1828[var8][var10][var11] & 255; + if(0 < var37 || -1 > ~var13) { + var15 = Class44.anIntArrayArrayArray723[var8][var10 + 1][var11]; + var14 = Class44.anIntArrayArrayArray723[var8][var10][var11]; + var44 = Class44.anIntArrayArrayArray723[var8][var10][1 + var11]; + var16 = Class44.anIntArrayArrayArray723[var8][1 + var10][var11 + 1]; + if(0 < var8) { + boolean var47 = true; + if(var37 == 0 && Class93.aByteArrayArrayArray1328[var8][var10][var11] != 0) { + var47 = false; + } + + if(-1 > ~var13 && !Class3_Sub13_Sub37.method350((byte)-73, var13 + -1).aBoolean2102) { + var47 = false; + } + + if(var47 && var14 == var15 && ~var14 == ~var16 && ~var44 == ~var14) { + Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var11] = Class3_Sub13_Sub29.bitwiseOr(Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var11], 4); + } + } + + if(-1 <= ~var37) { + var18 = -1; + var19 = 0; + } else { + var18 = var34[var10][var11]; + var20 = (var18 & 127) + var5; + if(-1 >= ~var20) { + if(-128 > ~var20) { + var20 = 127; + } + } else { + var20 = 0; + } + + var21 = (896 & var18) + (var18 + var4 & '\ufc00') + var20; + var19 = Class51.anIntArray834[Class47.method1100(96, true, var21)]; + } + + var20 = var35[var10][var11]; + var23 = var35[var10][var11 + 1]; + var21 = var35[1 + var10][var11]; + var22 = var35[var10 - -1][var11 - -1]; + if(var13 != 0) { + var24 = 1 + Class93.aByteArrayArrayArray1328[var8][var10][var11]; + byte var25 = PacketParser.aByteArrayArrayArray81[var8][var10][var11]; + Class168 var26 = Class3_Sub13_Sub37.method350((byte)-105, var13 + -1); + int var27; + int var29; + int var28; + if(HDToolKit.highDetail && !var1 && null != Class3_Sub13_Sub9.anIntArrayArray3115 && 0 == var8) { + if(-1 != var26.anInt2095 && Class51.anInterface2_838.method18(var26.anInt2095, 255) == 4) { + Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = (var26.anInt2101 << 24) + var26.anInt2094; + } else { + label722: + for(var27 = var10 + -1; ~var27 >= ~(1 + var10); ++var27) { + for(var28 = var11 + -1; ~var28 >= ~(1 + var11); ++var28) { + if((~var10 != ~var27 || ~var28 != ~var11) && -1 >= ~var27 && var27 < 104 && var28 >= 0 && -105 < ~var28) { + var29 = Class139.aByteArrayArrayArray1828[var8][var27][var28] & 255; + if(-1 != ~var29) { + Class168 var30 = Class3_Sub13_Sub37.method350((byte)-14, -1 + var29); + if(0 != ~var30.anInt2095 && -5 == ~Class51.anInterface2_838.method18(var30.anInt2095, 255)) { + Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = var30.anInt2094 + (var30.anInt2101 << 24); + break label722; + } + } + } + } + } + } + } + + var27 = var26.anInt2095; + if(0 <= var27 && !Class51.anInterface2_838.method17(var27, 101)) { + var27 = -1; + } + + int var31; + int var55; + if(var27 < 0) { + if(var26.anInt2103 != -1) { + var28 = var26.anInt2103; + var55 = var5 + (var28 & 127); + if(-1 >= ~var55) { + if(~var55 < -128) { + var55 = 127; + } + } else { + var55 = 0; + } + + var31 = (var28 & 896) + (('\ufc00' & var28 + var4) - -var55); + var29 = Class51.anIntArray834[Class3_Sub29.method729((byte)-85, var31, 96)]; + } else { + var28 = -2; + var29 = 0; + } + } else { + var28 = -1; + var29 = Class51.anIntArray834[Class3_Sub29.method729((byte)-126, Class51.anInterface2_838.method15(var27, '\uffff'), 96)]; + } + + if(~var26.anInt2098 <= -1) { + var55 = var26.anInt2098; + var31 = var5 + (var55 & 127); + if(-1 >= ~var31) { + if(127 < var31) { + var31 = 127; + } + } else { + var31 = 0; + } + + int var32 = (896 & var55) + (('\ufc00' & var55 + var4) - -var31); + var29 = Class51.anIntArray834[Class3_Sub29.method729((byte)-101, var32, 96)]; + } + + Class104.method1629(var8, var10, var11, var24, var25, var27, var14, var15, var16, var44, Class47.method1100(var20, true, var18), Class47.method1100(var21, true, var18), Class47.method1100(var22, true, var18), Class47.method1100(var23, true, var18), Class3_Sub29.method729((byte)-72, var28, var20), Class3_Sub29.method729((byte)-107, var28, var21), Class3_Sub29.method729((byte)-82, var28, var22), Class3_Sub29.method729((byte)-93, var28, var23), var19, var29); + if(HDToolKit.highDetail && -1 > ~var8) { + Class141.method2037(var24, var25, 1 == ~var28 || !var26.aBoolean2093, -1 == var18 || !Class3_Sub28_Sub15.method629(true, -1 + var37).aBoolean1411, var10, var11, -Class44.anIntArrayArrayArray723[0][var10][var11] + var14, var15 - Class44.anIntArrayArrayArray723[0][1 + var10][var11], -Class44.anIntArrayArrayArray723[0][1 + var10][var11 + 1] + var16, -Class44.anIntArrayArrayArray723[0][var10][1 + var11] + var44); + } + } else { + Class104.method1629(var8, var10, var11, 0, 0, -1, var14, var15, var16, var44, Class47.method1100(var20, true, var18), Class47.method1100(var21, true, var18), Class47.method1100(var22, true, var18), Class47.method1100(var23, true, var18), 0, 0, 0, 0, var19, 0); + if(HDToolKit.highDetail && var8 > 0 && 0 != ~var18 && Class3_Sub28_Sub15.method629(true, -1 + var37).aBoolean1411) { + Class141.method2037(0, 0, true, false, var10, var11, var14 - Class44.anIntArrayArrayArray723[0][var10][var11], -Class44.anIntArrayArrayArray723[0][1 + var10][var11] + var15, var16 - Class44.anIntArrayArrayArray723[0][1 + var10][1 + var11], var44 - Class44.anIntArrayArrayArray723[0][var10][1 + var11]); + } + + if(HDToolKit.highDetail && !var1 && Class3_Sub13_Sub9.anIntArrayArray3115 != null && 0 == var8) { + for(var24 = var10 + -1; ~var24 >= ~(var10 - -1); ++var24) { + for(int var52 = -1 + var11; ~(1 + var11) <= ~var52; ++var52) { + if((var24 != var10 || var11 != var52) && var24 >= 0 && var24 < 104 && 0 <= var52 && -105 < ~var52) { + int var54 = Class139.aByteArrayArrayArray1828[var8][var24][var52] & 255; + if(var54 != 0) { + Class168 var53 = Class3_Sub13_Sub37.method350((byte)-25, -1 + var54); + if(~var53.anInt2095 != 0 && 4 == Class51.anInterface2_838.method18(var53.anInt2095, 255)) { + Class3_Sub13_Sub9.anIntArrayArray3115[var10][var11] = var53.anInt2094 + (var53.anInt2101 << 24); + continue label754; + } + } + } + } + } + } + } + } + } + } + } + + if(HDToolKit.highDetail) { + float[][] var38 = new float[105][105]; + int[][] var45 = Class44.anIntArrayArrayArray723[var8]; + float[][] var40 = new float[105][105]; + float[][] var43 = new float[105][105]; + + for(var14 = 1; ~var14 >= -104; ++var14) { + for(var15 = 1; -104 <= ~var15; ++var15) { + var44 = var45[var15][var14 - -1] + -var45[var15][-1 + var14]; + var16 = -var45[var15 - 1][var14] + var45[var15 + 1][var14]; + float var51 = (float)Math.sqrt((double)(var16 * var16 - -65536 - -(var44 * var44))); + var38[var15][var14] = (float)var16 / var51; + var40[var15][var14] = -256.0F / var51; + var43[var15][var14] = (float)var44 / var51; + } + } + + Class3_Sub11[] var50; + if(!var1) { + var50 = Class3_Sub13_Sub27.method298(Class9.aByteArrayArrayArray113, Class93.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], var35, var40, (int[][])null, Class139.aByteArrayArrayArray1828[var8], PacketParser.aByteArrayArrayArray81[var8], var38, var8, var43, var34, Class44.anIntArrayArrayArray723[var8], (int[][])null, 4096); + Class3_Sub11[] var46 = Class1.method70(var40, var38, Class44.anIntArrayArrayArray723[var8], var8, var43, PacketParser.aByteArrayArrayArray81[var8], var35, 0, Class93.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], Class139.aByteArrayArrayArray1828[var8], Class9.aByteArrayArrayArray113); + Class3_Sub11[] var49 = new Class3_Sub11[var50.length - -var46.length]; + + for(var44 = 0; ~var50.length < ~var44; ++var44) { + var49[var44] = var50[var44]; + } + + for(var44 = 0; ~var46.length < ~var44; ++var44) { + var49[var50.length + var44] = var46[var44]; + } + + Class61.method1213(var8, var49); + Class129.method1769(var43, Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], PacketParser.aByteArrayArrayArray81[var8], Class68.aClass43Array1021, var8, Class68.anInt1032, var40, Class93.aByteArrayArrayArray1328[var8], Class139.aByteArrayArrayArray1828[var8], Class44.anIntArrayArrayArray723[var8], -8771, var38); + } else { + var50 = Class3_Sub13_Sub27.method298(Class9.aByteArrayArrayArray113, Class93.aByteArrayArrayArray1328[var8], Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8], var35, var40, Class3_Sub13_Sub9.anIntArrayArray3115, Class139.aByteArrayArrayArray1828[var8], PacketParser.aByteArrayArrayArray81[var8], var38, var8, var43, var34, Class44.anIntArrayArrayArray723[var8], Class58.anIntArrayArrayArray914[0], 4096); + Class61.method1213(var8, var50); + } + } + + Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8] = (byte[][])null; + Class139.aByteArrayArrayArray1828[var8] = (byte[][])null; + Class93.aByteArrayArrayArray1328[var8] = (byte[][])null; + PacketParser.aByteArrayArrayArray81[var8] = (byte[][])null; + Class67.aByteArrayArrayArray1014[var8] = (byte[][])null; + } + + if(var2 <= 26) { + method2187(86); + } + + Class128.method1764(-50, -10, -50); + if(!var1) { + int var36; + for(var8 = 0; 104 > var8; ++var8) { + for(var36 = 0; ~var36 > -105; ++var36) { + if((Class9.aByteArrayArrayArray113[1][var8][var36] & 2) == 2) { + Class3_Sub28_Sub18.method709(var8, var36); + } + } + } + + for(var8 = 0; 4 > var8; ++var8) { + for(var36 = 0; -105 <= ~var36; ++var36) { + for(var10 = 0; ~var10 >= -105; ++var10) { + short var48; + if(-1 != ~(Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36] & 1)) { + var14 = var8; + + for(var11 = var36; var11 > 0 && -1 != ~(1 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][-1 + var11]); --var11) { + ; + } + + var13 = var8; + + for(var37 = var36; ~var37 > -105 && (1 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var37 - -1]) != 0; ++var37) { + ; + } + + label453: + while(var13 > 0) { + for(var15 = var11; var15 <= var37; ++var15) { + if(-1 == ~(Class38_Sub1.anIntArrayArrayArray2609[var13 + -1][var10][var15] & 1)) { + break label453; + } + } + + --var13; + } + + label464: + while(~var14 > -4) { + for(var15 = var11; ~var37 <= ~var15; ++var15) { + if(~(1 & Class38_Sub1.anIntArrayArrayArray2609[var14 + 1][var10][var15]) == -1) { + break label464; + } + } + + ++var14; + } + + var15 = (var14 - (-1 + var13)) * (-var11 + (var37 - -1)); + if(var15 >= 8) { + var48 = 240; + var44 = -var48 + Class44.anIntArrayArrayArray723[var14][var10][var11]; + var18 = Class44.anIntArrayArrayArray723[var13][var10][var11]; + Class167.method2263(1, 128 * var10, 128 * var10, 128 * var11, var37 * 128 + 128, var44, var18); + + for(var19 = var13; ~var14 <= ~var19; ++var19) { + for(var20 = var11; var37 >= var20; ++var20) { + Class38_Sub1.anIntArrayArrayArray2609[var19][var10][var20] = Class3_Sub28_Sub15.method633(Class38_Sub1.anIntArrayArrayArray2609[var19][var10][var20], -2); + } + } + } + } + + if((2 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36]) != 0) { + for(var11 = var10; 0 < var11 && ~(Class38_Sub1.anIntArrayArrayArray2609[var8][-1 + var11][var36] & 2) != -1; --var11) { + ; + } + + var14 = var8; + var13 = var8; + + for(var37 = var10; 104 > var37 && (2 & Class38_Sub1.anIntArrayArrayArray2609[var8][var37 - -1][var36]) != 0; ++var37) { + ; + } + + label503: + while(~var13 < -1) { + for(var15 = var11; var15 <= var37; ++var15) { + if(0 == (2 & Class38_Sub1.anIntArrayArrayArray2609[-1 + var13][var15][var36])) { + break label503; + } + } + + --var13; + } + + label514: + while(~var14 > -4) { + for(var15 = var11; var15 <= var37; ++var15) { + if(~(2 & Class38_Sub1.anIntArrayArrayArray2609[var14 + 1][var15][var36]) == -1) { + break label514; + } + } + + ++var14; + } + + var15 = (-var11 + var37 - -1) * (-var13 + var14 - -1); + if(8 <= var15) { + var48 = 240; + var44 = Class44.anIntArrayArrayArray723[var14][var11][var36] - var48; + var18 = Class44.anIntArrayArrayArray723[var13][var11][var36]; + Class167.method2263(2, var11 * 128, 128 * var37 + 128, 128 * var36, var36 * 128, var44, var18); + + for(var19 = var13; var14 >= var19; ++var19) { + for(var20 = var11; var20 <= var37; ++var20) { + Class38_Sub1.anIntArrayArrayArray2609[var19][var20][var36] = Class3_Sub28_Sub15.method633(Class38_Sub1.anIntArrayArrayArray2609[var19][var20][var36], -3); + } + } + } + } + + if((4 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var36]) != 0) { + var11 = var10; + var37 = var10; + + for(var13 = var36; 0 < var13 && 0 != (4 & Class38_Sub1.anIntArrayArrayArray2609[var8][var10][-1 + var13]); --var13) { + ; + } + + for(var14 = var36; ~var14 > -105 && ~(Class38_Sub1.anIntArrayArrayArray2609[var8][var10][var14 + 1] & 4) != -1; ++var14) { + ; + } + + label554: + while(~var11 < -1) { + for(var15 = var13; ~var15 >= ~var14; ++var15) { + if(0 == (Class38_Sub1.anIntArrayArrayArray2609[var8][var11 + -1][var15] & 4)) { + break label554; + } + } + + --var11; + } + + label565: + while(var37 < 104) { + for(var15 = var13; var14 >= var15; ++var15) { + if(0 == (4 & Class38_Sub1.anIntArrayArrayArray2609[var8][1 + var37][var15])) { + break label565; + } + } + + ++var37; + } + + if(4 <= (1 + -var11 + var37) * (var14 - (var13 - 1))) { + var15 = Class44.anIntArrayArrayArray723[var8][var11][var13]; + Class167.method2263(4, var11 * 128, 128 * var37 - -128, var13 * 128, 128 + 128 * var14, var15, var15); + + for(var16 = var11; var37 >= var16; ++var16) { + for(var44 = var13; var14 >= var44; ++var44) { + Class38_Sub1.anIntArrayArrayArray2609[var8][var16][var44] = Class3_Sub28_Sub15.method633(Class38_Sub1.anIntArrayArrayArray2609[var8][var16][var44], -5); + } + } + } + } + } + } + } + } + + } catch (RuntimeException var33) { + throw Class44.method1067(var33, "di.K(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + private final synchronized void method2190(int var1) { + try { + if(var1 == 19661184) { + if(this.anImageConsumer2978 != null) { + this.anImageConsumer2978.setPixels(0, 0, this.anInt2012, this.anInt2011, this.aColorModel2979, this.anIntArray2007, 0, this.anInt2012); + this.anImageConsumer2978.imageComplete(2); + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "di.L(" + var1 + ')'); + } + } + + public final synchronized boolean isConsumer(ImageConsumer var1) { + try { + return this.anImageConsumer2978 == var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "di.isConsumer(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static final boolean method2191(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11) { + try { + int var12; + int var13; + for(var12 = 0; -105 < ~var12; ++var12) { + for(var13 = 0; -105 < ~var13; ++var13) { + Class84.anIntArrayArray1160[var12][var13] = 0; + Class97.anIntArrayArray1373[var12][var13] = 99999999; + } + } + + var12 = var2; + Class84.anIntArrayArray1160[var2][var10] = 99; + var13 = var10; + Class97.anIntArrayArray1373[var2][var10] = 0; + byte var14 = 0; + boolean var16 = false; + if(var3 != -1001) { + return false; + } else { + int var15 = 0; + Class3_Sub13_Sub38.anIntArray3456[var14] = var2; + int var27 = var14 + 1; + Class45.anIntArray729[var14] = var10; + int[][] var17 = Class86.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304; + + int var18; + while(~var27 != ~var15) { + var13 = Class45.anIntArray729[var15]; + var12 = Class3_Sub13_Sub38.anIntArray3456[var15]; + var15 = 4095 & var15 + 1; + if(var12 == var0 && var13 == var4) { + var16 = true; + break; + } + + if(~var9 != -1) { + if((~var9 > -6 || 10 == var9) && Class86.aClass91Array1182[WorldListCountry.localPlane].method1488(var4, var12, false, var13, var0, var9 + -1, 1, var7)) { + var16 = true; + break; + } + + if(-11 < ~var9 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1492(var4, -1 + var9, var0, var13, 1, var7, var12, 95)) { + var16 = true; + break; + } + } + + if(var11 != 0 && 0 != var6 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1498(true, var0, var13, var12, 1, var11, var1, var4, var6)) { + var16 = true; + break; + } + + var18 = 1 + Class97.anIntArrayArray1373[var12][var13]; + if(0 < var12 && Class84.anIntArrayArray1160[var12 + -1][var13] == 0 && ~(19661064 & var17[var12 + -1][var13]) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var27] = -1 + var12; + Class45.anIntArray729[var27] = var13; + var27 = var27 - -1 & 4095; + Class84.anIntArrayArray1160[-1 + var12][var13] = 2; + Class97.anIntArrayArray1373[-1 + var12][var13] = var18; + } + + if(103 > var12 && Class84.anIntArrayArray1160[var12 + 1][var13] == 0 && -1 == ~(var17[var12 + 1][var13] & 19661184)) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - -1; + Class45.anIntArray729[var27] = var13; + var27 = 1 + var27 & 4095; + Class84.anIntArrayArray1160[var12 - -1][var13] = 8; + Class97.anIntArrayArray1373[1 + var12][var13] = var18; + } + + if(~var13 < -1 && -1 == ~Class84.anIntArrayArray1160[var12][var13 - 1] && -1 == ~(19661058 & var17[var12][-1 + var13])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12; + Class45.anIntArray729[var27] = -1 + var13; + Class84.anIntArrayArray1160[var12][var13 - 1] = 1; + var27 = var27 + 1 & 4095; + Class97.anIntArrayArray1373[var12][-1 + var13] = var18; + } + + if(103 > var13 && ~Class84.anIntArrayArray1160[var12][1 + var13] == -1 && -1 == ~(19661088 & var17[var12][var13 + 1])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12; + Class45.anIntArray729[var27] = var13 - -1; + var27 = 1 + var27 & 4095; + Class84.anIntArrayArray1160[var12][1 + var13] = 4; + Class97.anIntArrayArray1373[var12][var13 - -1] = var18; + } + + if(~var12 < -1 && ~var13 < -1 && ~Class84.anIntArrayArray1160[-1 + var12][var13 - 1] == -1 && ~(var17[var12 - 1][-1 + var13] & 19661070) == -1 && ~(19661064 & var17[var12 - 1][var13]) == -1 && (19661058 & var17[var12][-1 + var13]) == 0) { + Class3_Sub13_Sub38.anIntArray3456[var27] = -1 + var12; + Class45.anIntArray729[var27] = var13 + -1; + var27 = 1 + var27 & 4095; + Class84.anIntArrayArray1160[-1 + var12][-1 + var13] = 3; + Class97.anIntArrayArray1373[var12 - 1][var13 + -1] = var18; + } + + if(~var12 > -104 && 0 < var13 && -1 == ~Class84.anIntArrayArray1160[var12 - -1][var13 - 1] && 0 == (19661187 & var17[var12 - -1][-1 + var13]) && -1 == ~(19661184 & var17[var12 - -1][var13]) && -1 == ~(19661058 & var17[var12][-1 + var13])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 + 1; + Class45.anIntArray729[var27] = -1 + var13; + var27 = 4095 & var27 + 1; + Class84.anIntArrayArray1160[1 + var12][var13 + -1] = 9; + Class97.anIntArrayArray1373[var12 - -1][-1 + var13] = var18; + } + + if(0 < var12 && -104 < ~var13 && 0 == Class84.anIntArrayArray1160[var12 + -1][var13 + 1] && 0 == (19661112 & var17[var12 + -1][1 + var13]) && 0 == (var17[var12 + -1][var13] & 19661064) && -1 == ~(19661088 & var17[var12][1 + var13])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - 1; + Class45.anIntArray729[var27] = 1 + var13; + Class84.anIntArrayArray1160[-1 + var12][var13 - -1] = 6; + var27 = 4095 & 1 + var27; + Class97.anIntArrayArray1373[-1 + var12][1 + var13] = var18; + } + + if(var12 < 103 && ~var13 > -104 && -1 == ~Class84.anIntArrayArray1160[var12 - -1][1 + var13] && (19661280 & var17[1 + var12][var13 + 1]) == 0 && ~(var17[1 + var12][var13] & 19661184) == -1 && -1 == ~(19661088 & var17[var12][var13 - -1])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 + 1; + Class45.anIntArray729[var27] = var13 - -1; + Class84.anIntArrayArray1160[var12 + 1][1 + var13] = 12; + var27 = var27 - -1 & 4095; + Class97.anIntArrayArray1373[1 + var12][var13 - -1] = var18; + } + } + + Class129.anInt1692 = 0; + int var19; + if(!var16) { + if(!var8) { + return false; + } + + var18 = 1000; + var19 = 100; + byte var20 = 10; + + for(int var21 = var0 + -var20; var20 + var0 >= var21; ++var21) { + for(int var22 = var4 + -var20; ~var22 >= ~(var4 - -var20); ++var22) { + if(-1 >= ~var21 && ~var22 <= -1 && 104 > var21 && ~var22 > -105 && 100 > Class97.anIntArrayArray1373[var21][var22]) { + int var24 = 0; + if(~var22 > ~var4) { + var24 = var4 + -var22; + } else if(var6 + var4 - 1 < var22) { + var24 = 1 + (-var4 - var6) + var22; + } + + int var23 = 0; + if(~var21 <= ~var0) { + if(~var21 < ~(-1 + var11 + var0)) { + var23 = 1 - var11 - (var0 - var21); + } + } else { + var23 = var0 + -var21; + } + + int var25 = var24 * var24 + var23 * var23; + if(~var25 > ~var18 || ~var25 == ~var18 && Class97.anIntArrayArray1373[var21][var22] < var19) { + var13 = var22; + var18 = var25; + var12 = var21; + var19 = Class97.anIntArrayArray1373[var21][var22]; + } + } + } + } + + if(-1001 == ~var18) { + return false; + } + + if(var2 == var12 && ~var13 == ~var10) { + return false; + } + + Class129.anInt1692 = 1; + } + + byte var28 = 0; + Class3_Sub13_Sub38.anIntArray3456[var28] = var12; + var15 = var28 + 1; + Class45.anIntArray729[var28] = var13; + + for(var18 = var19 = Class84.anIntArrayArray1160[var12][var13]; var2 != var12 || var13 != var10; var18 = Class84.anIntArrayArray1160[var12][var13]) { + if(var19 != var18) { + var19 = var18; + Class3_Sub13_Sub38.anIntArray3456[var15] = var12; + Class45.anIntArray729[var15++] = var13; + } + + if(~(var18 & 2) == -1) { + if(0 != (8 & var18)) { + --var12; + } + } else { + ++var12; + } + + if(~(1 & var18) == -1) { + if(0 != (4 & var18)) { + --var13; + } + } else { + ++var13; + } + } + + if(-1 > ~var15) { + Class3_Sub13_Sub27.method299(100, var15, var5); + return true; + } else if(-2 == ~var5) { + return false; + } else { + return true; + } + } + } catch (RuntimeException var26) { + throw Class44.method1067(var26, "di.J(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + + final void method2179(int var1, int var2, Graphics var3, int var4) { + try { + if(var4 != 0) { + aBoolean2981 = true; + } + + this.method2190(var4 ^ 19661184); + var3.drawImage(this.anImage2009, var1, var2, this); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "di.C(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final void method2185(int var1, boolean var2, int var3, Component var4) { + try { + this.anInt2011 = var1; + this.anIntArray2007 = new int[var3 * var1 + 1]; + this.anInt2012 = var3; + this.aColorModel2979 = new DirectColorModel(32, 16711680, '\uff00', 255); + this.anImage2009 = var4.createImage(this); + this.method2190(19661184); + var4.prepareImage(this.anImage2009, this); + this.method2190(19661184); + var4.prepareImage(this.anImage2009, this); + this.method2190(19661184); + var4.prepareImage(this.anImage2009, this); + this.method2182(0); + if(var2) { + this.addConsumer((ImageConsumer)null); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "di.F(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + public final boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) { + try { + return true; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "di.imageUpdate(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method2192(int var0) { + try { + if(var0 > -26) { + method2191(-54, -79, 96, 36, -65, 4, -120, 29, false, -60, -74, 43); + } + + Class154.aClass93_1955.method1523((byte)-110); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "di.M(" + var0 + ')'); + } + } + + public final void requestTopDownLeftRightResend(ImageConsumer var1) {} + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class158_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class158_Sub2.java new file mode 100644 index 000000000..87c6de9c7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class158_Sub2.java @@ -0,0 +1,45 @@ +package org.runite.jagex; +import java.awt.Component; +import java.awt.Graphics; +import java.awt.Point; +import java.awt.Shape; +import java.awt.image.BufferedImage; +import java.awt.image.DataBufferInt; +import java.awt.image.DirectColorModel; +import java.awt.image.Raster; +import java.awt.image.WritableRaster; +import java.util.Hashtable; + +public final class Class158_Sub2 extends Class158 { + + private Component aComponent2983; + + + final void method2179(int var1, int var2, Graphics var3, int var4) { + if(var4 == 0) { + var3.drawImage(this.anImage2009, var1, var2, this.aComponent2983); + } + } + + final void method2185(int var1, boolean var2, int var3, Component var4) { + this.anIntArray2007 = new int[var3 * var1 + 1]; + this.anInt2011 = var1; + this.anInt2012 = var3; + DataBufferInt var5 = new DataBufferInt(this.anIntArray2007, this.anIntArray2007.length); + DirectColorModel var6 = new DirectColorModel(32, 16711680, '\uff00', 255); + WritableRaster var7 = Raster.createWritableRaster(var6.createCompatibleSampleModel(this.anInt2012, this.anInt2011), var5, (Point)null); + this.anImage2009 = new BufferedImage(var6, var7, var2, new Hashtable()); + this.aComponent2983 = var4; + this.method2182(0); + } + + final void drawGraphics(int width, int x, int var3, int height, Graphics var5, int y) { + Shape var7 = var5.getClip(); + if(var3 != 6260) { + this.aComponent2983 = (Component)null; + } + var5.clipRect(x, y, width, height); + var5.drawImage(this.anImage2009, 0, 0, this.aComponent2983); + var5.setClip(var7); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class159.java b/09HDscape-client/src/org/runite/jagex/Class159.java new file mode 100644 index 000000000..dbfb350a7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class159.java @@ -0,0 +1,184 @@ +package org.runite.jagex; + +final class Class159 { + + static Class93 aClass93_2016 = new Class93(100); + static int[] anIntArray2017 = new int[]{1, 2, 4, 8}; + static RSString aClass94_2018 = RSString.createRSString("Cabbage"); + static CacheIndex aClass153_2019; + static int anInt2020 = 0; + static int[] anIntArray2021 = new int[2]; + static int localPlayerCount = 0; + static int anInt2023 = 0; + static int anInt2024 = 0; + + + static final Class12 method2193(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + Class12 var4 = var3.aClass12_2230; + var3.aClass12_2230 = null; + return var4; + } + } + + static final boolean method2194(int var0) { + try { + if(Class3_Sub28_Sub11.aBoolean3641) { + try { + return !((Boolean)Class3_Sub13_Sub17.aClass94_3209.method1577(var0 + -2112, Class38.aClass87_665.anApplet1219)).booleanValue(); + } catch (Throwable var2) { + ; + } + } + + return var0 != 255?true:true; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vl.B(" + var0 + ')'); + } + } + + static final void method2195(int var0, int var1) { + try { + short var2 = 256; + if(var0 > var2) { + var0 = var2; + } + + if(~var0 < -11) { + var0 = 10; + } + + Class72.anInt1071 += var0 * 128; + int var3; + if(Class161.anIntArray2026.length < Class72.anInt1071) { + Class72.anInt1071 -= Class161.anIntArray2026.length; + var3 = (int)(12.0D * Math.random()); + Class3_Sub13_Sub10.method215((byte)-119, Class163_Sub2_Sub1.aClass109_Sub1Array4027[var3]); + } + + var3 = var1; + int var5 = (var2 + -var0) * 128; + int var4 = 128 * var0; + + int var6; + int var7; + for(var6 = 0; ~var5 < ~var6; ++var6) { + var7 = Class127.anIntArray1681[var3 - -var4] - var0 * Class161.anIntArray2026[-1 + Class161.anIntArray2026.length & Class72.anInt1071 + var3] / 6; + if(0 > var7) { + var7 = 0; + } + + Class127.anIntArray1681[var3++] = var7; + } + + int var8; + int var9; + for(var6 = var2 + -var0; var2 > var6; ++var6) { + var7 = var6 * 128; + + for(var8 = 0; 128 > var8; ++var8) { + var9 = (int)(100.0D * Math.random()); + if(-51 < ~var9 && ~var8 < -11 && ~var8 > -119) { + Class127.anIntArray1681[var8 + var7] = 255; + } else { + Class127.anIntArray1681[var8 + var7] = 0; + } + } + } + + for(var6 = 0; var2 + -var0 > var6; ++var6) { + Class3_Sub28_Sub5.anIntArray3592[var6] = Class3_Sub28_Sub5.anIntArray3592[var6 - -var0]; + } + + for(var6 = var2 - var0; var2 > var6; ++var6) { + Class3_Sub28_Sub5.anIntArray3592[var6] = (int)(Math.sin((double)Class1.anInt57 / 14.0D) * 16.0D + 14.0D * Math.sin((double)Class1.anInt57 / 15.0D) + 12.0D * Math.sin((double)Class1.anInt57 / 16.0D)); + ++Class1.anInt57; + } + + Class132.anInt1740 += var0; + var6 = (var0 - -(1 & Class44.anInt719)) / 2; + if(~var6 < -1) { + for(var7 = 0; Class132.anInt1740 > var7; ++var7) { + var8 = 2 + (int)(124.0D * Math.random()); + var9 = (int)(128.0D * Math.random()) + 128; + Class127.anIntArray1681[var8 - -(var9 << 7)] = 192; + } + + Class132.anInt1740 = 0; + + int var10; + for(var7 = 0; ~var2 < ~var7; ++var7) { + var9 = var7 * 128; + var8 = 0; + + for(var10 = -var6; ~var10 > -129; ++var10) { + if(128 > var6 + var10) { + var8 += Class127.anIntArray1681[var9 + (var10 - -var6)]; + } + + if(-1 >= ~(-1 + -var6 + var10)) { + var8 -= Class127.anIntArray1681[-var6 + -1 + var10 + var9]; + } + + if(0 <= var10) { + Class3_Sub30_Sub1.anIntArray3805[var10 + var9] = var8 / (1 + var6 * 2); + } + } + } + + for(var7 = 0; 128 > var7; ++var7) { + var8 = 0; + + for(var9 = -var6; var2 > var9; ++var9) { + var10 = var9 * 128; + if(~(var9 + var6) > ~var2) { + var8 += Class3_Sub30_Sub1.anIntArray3805[var6 * 128 + (var7 - -var10)]; + } + + if(0 <= var9 - var6 - 1) { + var8 -= Class3_Sub30_Sub1.anIntArray3805[-((1 + var6) * 128) + (var7 - -var10)]; + } + + if(var9 >= 0) { + Class127.anIntArray1681[var10 + var7] = var8 / (var6 * 2 - -1); + } + } + } + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "vl.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method2196(int var0) { + try { + Class3_Sub13_Sub34.aClass93_3412.method1523((byte)-107); + if(var0 != 128) { + anInt2024 = 111; + } + + Class3_Sub13_Sub31.aClass93_3369.method1523((byte)-110); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vl.D(" + var0 + ')'); + } + } + + public static void method2197(boolean var0) { + try { + if(var0) { + anIntArray2021 = null; + aClass94_2018 = null; + anIntArray2017 = null; + aClass153_2019 = null; + aClass93_2016 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vl.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class160.java b/09HDscape-client/src/org/runite/jagex/Class160.java new file mode 100644 index 000000000..c158c31cc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class160.java @@ -0,0 +1,232 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class160 implements Interface5 { + + private int anInt2187 = -1; + private boolean aBoolean2188 = false; + private int[] anIntArray2189 = null; + + + private final void method2198() { + GL var1 = HDToolKit.gl; + this.anInt2187 = var1.glGenLists(2); + var1.glNewList(this.anInt2187, 4864); + if(this.anIntArray2189 != null) { + var1.glActiveTexture('\u84c1'); + var1.glTexGeni(8192, 9472, '\u8511'); + var1.glTexGeni(8193, 9472, '\u8511'); + var1.glTexGeni(8194, 9472, '\u8511'); + var1.glEnable(3168); + var1.glEnable(3169); + var1.glEnable(3170); + var1.glEnable('\u8513'); + var1.glMatrixMode(5890); + var1.glLoadIdentity(); + var1.glRotatef(22.5F, 1.0F, 0.0F, 0.0F); + var1.glMatrixMode(5888); + if(!this.aBoolean2188) { + var1.glTexEnvi(8960, '\u8571', 7681); + var1.glTexEnvi(8960, '\u8580', '\u8578'); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glActiveTexture('\u84c2'); + var1.glTexEnvi(8960, 8704, '\u8570'); + var1.glTexEnvi(8960, '\u8571', 260); + var1.glTexEnvi(8960, '\u8580', '\u8578'); + var1.glTexEnvi(8960, '\u8581', '\u8578'); + var1.glTexEnvi(8960, '\u8591', 770); + var1.glTexEnvi(8960, '\u8572', 7681); + var1.glTexEnvi(8960, '\u8588', '\u8577'); + var1.glBindTexture(3553, HDToolKit.anInt1810); + var1.glEnable(3553); + } else { + var1.glTexEnvi(8960, '\u8571', 260); + var1.glTexEnvi(8960, '\u8590', 770); + var1.glTexEnvi(8960, '\u8572', 7681); + var1.glTexEnvi(8960, '\u8588', '\u8577'); + } + + var1.glActiveTexture('\u84c0'); + } else { + var1.glTexEnvi(8960, '\u8588', '\u8577'); + } + + var1.glEndList(); + var1.glNewList(this.anInt2187 + 1, 4864); + if(this.anIntArray2189 != null) { + var1.glActiveTexture('\u84c1'); + var1.glDisable(3168); + var1.glDisable(3169); + var1.glDisable(3170); + var1.glDisable('\u8513'); + var1.glMatrixMode(5890); + var1.glLoadIdentity(); + var1.glMatrixMode(5888); + if(!this.aBoolean2188) { + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8580', 5890); + var1.glActiveTexture('\u84c2'); + var1.glTexEnvi(8960, 8704, 8448); + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8580', 5890); + var1.glTexEnvi(8960, '\u8591', 768); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + var1.glDisable(3553); + } else { + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8590', 768); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + } + + var1.glActiveTexture('\u84c0'); + } else { + var1.glTexEnvi(8960, '\u8588', 5890); + } + + var1.glEndList(); + } + + public final void method21() { + GL var1 = HDToolKit.gl; + if(Class106.aBoolean1441) { + var1.glCallList(this.anInt2187 + 1); + } else { + var1.glTexEnvi(8960, '\u8588', 5890); + } + + } + + public final int method24() { + return 4; + } + + public final void method22() { + GL var1 = HDToolKit.gl; + HDToolKit.method1847(1); + if(Class106.aBoolean1441) { + var1.glCallList(this.anInt2187); + } else { + var1.glTexEnvi(8960, '\u8588', '\u8577'); + } + + } + + public final void method23(int var1) { + GL var2 = HDToolKit.gl; + if(Class106.aBoolean1441 && this.anIntArray2189 != null) { + var2.glActiveTexture('\u84c1'); + var2.glBindTexture('\u8513', this.anIntArray2189[var1 - 1]); + var2.glActiveTexture('\u84c0'); + } + + } + + private final void method2199() { + GL var8 = HDToolKit.gl; + if(this.anIntArray2189 == null) { + this.anIntArray2189 = new int[3]; + var8.glGenTextures(3, this.anIntArray2189, 0); + } + + short var9 = 4096; + byte[] var10 = new byte[var9]; + byte[] var11 = new byte[var9]; + byte[] var12 = new byte[var9]; + + for(int var13 = 0; var13 < 6; ++var13) { + int var14 = 0; + + for(int var15 = 0; var15 < 64; ++var15) { + for(int var16 = 0; var16 < 64; ++var16) { + float var5 = 2.0F * (float)var16 / 64.0F - 1.0F; + float var6 = 2.0F * (float)var15 / 64.0F - 1.0F; + float var7 = (float)(1.0D / Math.sqrt((double)(var5 * var5 + 1.0F + var6 * var6))); + var5 *= var7; + var6 *= var7; + float var4; + if(var13 == 0) { + var4 = -var5; + } else if(var13 == 1) { + var4 = var5; + } else if(var13 == 2) { + var4 = var6; + } else if(var13 == 3) { + var4 = -var6; + } else if(var13 == 4) { + var4 = var7; + } else { + var4 = -var7; + } + + int var1; + int var2; + int var3; + if(var4 > 0.0F) { + var1 = (int)(Math.pow((double)var4, 96.0D) * 255.0D); + var2 = (int)(Math.pow((double)var4, 36.0D) * 255.0D); + var3 = (int)(Math.pow((double)var4, 12.0D) * 255.0D); + } else { + var3 = 0; + var2 = 0; + var1 = 0; + } + + if(HDToolKit.anInt1789 < 3) { + var1 /= 5; + var2 /= 5; + var3 /= 5; + } else { + var1 /= 2; + var2 /= 2; + var3 /= 2; + } + + var11[var14] = (byte)var1; + var12[var14] = (byte)var2; + var10[var14] = (byte)var3; + ++var14; + } + } + + var8.glBindTexture('\u8513', this.anIntArray2189[0]); + var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var11)); + var8.glBindTexture('\u8513', this.anIntArray2189[1]); + var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var12)); + var8.glBindTexture('\u8513', this.anIntArray2189[2]); + var8.glTexImage2D('\u8515' + var13, 0, 6406, 64, 64, 0, 6406, 5121, ByteBuffer.wrap(var10)); + Class31.anInt580 += var9 * 3; + } + + } + + public Class160() { + if(HDToolKit.aBoolean1821 && HDToolKit.anInt1789 >= 2) { + this.method2199(); + GL var1 = HDToolKit.gl; + var1.glBindTexture('\u8513', this.anIntArray2189[0]); + var1.glTexParameteri('\u8513', 10241, 9729); + var1.glTexParameteri('\u8513', 10240, 9729); + var1.glTexParameteri('\u8513', '\u8072', '\u812f'); + var1.glTexParameteri('\u8513', 10242, '\u812f'); + var1.glTexParameteri('\u8513', 10243, '\u812f'); + var1.glBindTexture('\u8513', this.anIntArray2189[1]); + var1.glTexParameteri('\u8513', 10241, 9729); + var1.glTexParameteri('\u8513', 10240, 9729); + var1.glTexParameteri('\u8513', '\u8072', '\u812f'); + var1.glTexParameteri('\u8513', 10242, '\u812f'); + var1.glTexParameteri('\u8513', 10243, '\u812f'); + var1.glBindTexture('\u8513', this.anIntArray2189[2]); + var1.glTexParameteri('\u8513', 10241, 9729); + var1.glTexParameteri('\u8513', 10240, 9729); + var1.glTexParameteri('\u8513', '\u8072', '\u812f'); + var1.glTexParameteri('\u8513', 10242, '\u812f'); + var1.glTexParameteri('\u8513', 10243, '\u812f'); + this.aBoolean2188 = HDToolKit.anInt1789 < 3; + } + + this.method2198(); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class161.java b/09HDscape-client/src/org/runite/jagex/Class161.java new file mode 100644 index 000000000..c87694115 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class161.java @@ -0,0 +1,178 @@ +package org.runite.jagex; + +final class Class161 { + + static RSString aClass94_2025 = RSString.createRSString(")2"); + static int[] anIntArray2026; + static int anInt2027 = -1; + static int anInt2028 = 0; + static RSString aClass94_2029 = RSString.createRSString("l"); + static RSByteBuffer aClass3_Sub30_2030 = new RSByteBuffer(new byte[5000]); + + private static RSString aClass94_2032 = RSString.createRSString("Cancel"); + static RSString aClass94_2033 = RSString.createRSString("Memory after cleanup="); + static Class33 aClass33_2034; + static RSString aClass94_2035 = null; +static RSString aClass94_2031 = aClass94_2032; + + static final void method2200(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + int var8 = 0; + int var9 = var6; + int var10 = 0; + int var11 = var4 + -var7; + int var13 = var4 * var4; + int var12 = var6 + -var7; + int var14 = var6 * var6; + int var16 = var12 * var12; + int var17 = var14 << 1; + int var18 = var13 << 1; + int var19 = var16 << 1; + int var15 = var11 * var11; + int var20 = var15 << 1; + int var21 = var6 << 1; + int var22 = var12 << 1; + int var24 = -((-1 + var21) * var18) + var14; + int var25 = var15 * (-var22 + 1) - -var19; + int var23 = (-var21 + 1) * var13 + var17; + int var27 = var13 << 2; + int var26 = -(var20 * (var22 - 1)) + var16; + int var29 = var15 << 2; + int var28 = var14 << 2; + int var30 = var16 << 2; + int var32 = (-3 + var21) * var18; + int var31 = var17 * 3; + int var34 = (-3 + var22) * var20; + int var33 = var19 * 3; + int var35 = var28; + int var37 = var30; + int var38 = (-1 + var12) * var29; + if(var5 < 73) { + method2200(108, -88, 76, -36, -95, -64, -84, 85); + } + + int var36 = (-1 + var6) * var27; + int[] var39 = Class38.anIntArrayArray663[var2]; + Class3_Sub13_Sub23_Sub1.method282(var39, -var4 + var1, -87, -var11 + var1, var3); + Class3_Sub13_Sub23_Sub1.method282(var39, -var11 + var1, -66, var1 - -var11, var0); + Class3_Sub13_Sub23_Sub1.method282(var39, var1 - -var11, -68, var4 + var1, var3); + + while(var9 > 0) { + if(~var23 > -1) { + while(0 > var23) { + var24 += var35; + var23 += var31; + ++var8; + var35 += var28; + var31 += var28; + } + } + + if(var24 < 0) { + var23 += var31; + ++var8; + var31 += var28; + var24 += var35; + var35 += var28; + } + + boolean var40 = var9 <= var12; + if(var40) { + if(~var25 > -1) { + while(~var25 > -1) { + var25 += var33; + var33 += var30; + ++var10; + var26 += var37; + var37 += var30; + } + } + + if(0 > var26) { + var25 += var33; + ++var10; + var33 += var30; + var26 += var37; + var37 += var30; + } + + var26 += -var34; + var34 -= var29; + var25 += -var38; + var38 -= var29; + } + + var23 += -var36; + var24 += -var32; + var32 -= var27; + --var9; + int var41 = var2 - var9; + int var43 = var8 + var1; + var36 -= var27; + int var42 = var9 + var2; + int var44 = -var8 + var1; + if(var40) { + int var45 = var1 + var10; + int var46 = -var10 + var1; + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var44, -93, var46, var3); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var46, 121, var45, var0); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var45, -47, var43, var3); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var44, 124, var46, var3); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var46, -73, var45, var0); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var45, 111, var43, var3); + } else { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var44, 96, var43, var3); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var44, 124, var43, var3); + } + } + + } catch (RuntimeException var47) { + throw Class44.method1067(var47, "wb.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + static final int method2201(WorldListEntry var0, int var1, int var2, WorldListEntry var3, boolean var4) { + try { + if(-2 == ~var1) { + int var5 = var0.anInt722; + int var6 = var3.anInt722; + if(!var4) { + if(-1 == var6) { + var6 = 2001; + } + + if(~var5 == 0) { + var5 = 2001; + } + } + + return -var6 + var5; + } else { + return 2 == var1?var0.method1078(102).name.method1546((byte)-67, var3.method1078(-119).name):(~var1 == -4?(var0.activity.method1528((byte)-42, Class62.aClass94_946)?(var3.activity.method1528((byte)-42, Class62.aClass94_946)?0:(var4?-1:1)):(var3.activity.method1528((byte)-42, Class62.aClass94_946)?(var4?1:-1):var0.activity.method1546((byte)-100, var3.activity))):(var2 <= 67?36:(var1 == 4?(!var0.method1074(-114)?(!var3.method1074(-123)?0:-1):(var3.method1074(-108)?0:1)):(var1 == 5?(var0.method1075(64)?(!var3.method1075(64)?1:0):(var3.method1075(64)?-1:0)):(~var1 != -7?(7 == var1?(var0.method1070(8)?(var3.method1070(8)?0:1):(var3.method1070(8)?-1:0)):-var3.worldId + var0.worldId):(var0.method1072(false)?(!var3.method1072(false)?1:0):(var3.method1072(false)?-1:0))))))); + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "wb.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + public static void method2202(int var0) { + try { + aClass94_2031 = null; + aClass94_2025 = null; + aClass94_2033 = null; + if(var0 != -196) { + aClass94_2032 = (RSString)null; + } + + aClass3_Sub30_2030 = null; + anIntArray2026 = null; + aClass33_2034 = null; + aClass94_2029 = null; + aClass94_2035 = null; + aClass94_2032 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wb.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class162.java b/09HDscape-client/src/org/runite/jagex/Class162.java new file mode 100644 index 000000000..d052ecbe7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class162.java @@ -0,0 +1,109 @@ +package org.runite.jagex; + +final class Class162 { + + static int anInt2036; + static int anInt2037; + static int anInt2038 = 0; + static int[][] anIntArrayArray2039 = new int[][]{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}}; + static byte[] aByteArray2040 = new byte[520]; + + + static final void method2203(Player var0, int var1) { + try { + Class3_Sub9 var2 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1780(var0.displayName.toLong(var1 + -126), 0); + if(var1 != 8) { + method2204((RSByteBuffer)null, -44); + } + + if(null != var2) { + if(var2.aClass3_Sub24_Sub1_2312 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var2.aClass3_Sub24_Sub1_2312); + var2.aClass3_Sub24_Sub1_2312 = null; + } + + var2.method86(var1 ^ -1016); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wc.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method2204(RSByteBuffer var0, int var1) { + try { + if(null != Class69.aClass30_1039) { + try { + Class69.aClass30_1039.method984(-117, 0L); + Class69.aClass30_1039.method983(var0.buffer, var0.index, -903171152, 24); + } catch (Exception var3) { + ; + } + } + + if(var1 >= 45) { + var0.index += 24; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wc.E(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + public static void method2205(int var0) { + try { + anIntArrayArray2039 = (int[][])null; + aByteArray2040 = null; + if(var0 != -17413) { + anInt2036 = 77; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wc.C(" + var0 + ')'); + } + } + + static final void method2206(boolean var0, int var1) { + try { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 4, var1); + var2.a(var0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wc.A(" + var0 + ',' + var1 + ')'); + } + } + + static final ObjectDefinition getObjectDefinition(int var0, int objectId) { + try { + if(var0 != 4) { + method2205(95); + } + + ObjectDefinition var2 = (ObjectDefinition)Canvas_Sub1.aClass93_21.get((long)objectId, (byte)121); + if(var2 == null) { + byte[] var3 = Class85.aClass153_1171.getFile(Class3_Sub13_Sub36.method340(objectId, -51), (byte)-122, Class15.method893(objectId, (byte)110)); + var2 = new ObjectDefinition(); + var2.objectId = objectId; + if(null != var3) { + var2.method1692(6219, new RSByteBuffer(var3)); + } + + var2.method1689(var0 + -2120); + if(!Class14.aBoolean337 && var2.aBoolean1491) { + var2.options = null; + } + + if(var2.aBoolean1498) { + var2.actionCount = 0; + var2.aBoolean1486 = false; + } + + Canvas_Sub1.aClass93_21.put((byte)-114, var2, (long)objectId); + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wc.D(" + var0 + ',' + objectId + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163.java b/09HDscape-client/src/org/runite/jagex/Class163.java new file mode 100644 index 000000000..578fea976 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163.java @@ -0,0 +1,51 @@ +package org.runite.jagex; + +class Class163 { + + static Class47 aClass47_2041 = new Class47(64); + static RSString aClass94_2042 = RSString.createRSString("Spieler kann nicht gefunden werden: "); + static int[] anIntArray2043 = new int[]{8, 11, 4, 6, 9, 7, 10, 0}; + static RSString aClass94_2044 = RSString.createRSString("cookieprefix"); + static RSString aClass94_2045 = RSString.createRSString("::errortest"); + static int localNPCCount = 0; + + + public static void method2208(int var0) { + try { + aClass47_2041 = null; + anIntArray2043 = null; + aClass94_2045 = null; + aClass94_2044 = null; + if(var0 != 30358) { + aClass94_2045 = (RSString)null; + } + + aClass94_2042 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wd.L(" + var0 + ')'); + } + } + + static final void method2209(byte var0, int var1, int var2) { + try { + if(var0 >= -99) { + method2209((byte)57, -14, 120); + } + + Class79 var3 = CS2Script.method378(var2, (byte)127); + int var4 = var3.anInt1128; + int var6 = var3.anInt1125; + int var5 = var3.anInt1123; + int var7 = Class3_Sub6.anIntArray2288[var6 - var5]; + if(~var1 > -1 || var7 < var1) { + var1 = 0; + } + + var7 <<= var5; + Class3_Sub13_Sub23.method281((byte)99, var1 << var5 & var7 | ~var7 & Class57.anIntArray898[var4], var4); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "wd.K(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class163_Sub1.java new file mode 100644 index 000000000..9e44e6038 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163_Sub1.java @@ -0,0 +1,162 @@ +package org.runite.jagex; +import java.io.IOException; + +class Class163_Sub1 extends Class163 { + + static Class93 aClass93_2984 = new Class93(2); + static int[] anIntArray2985 = new int[2500]; + static long[] aLongArray2986 = new long[32]; + static byte[][] aByteArrayArray2987; + private static RSString aClass94_2988 = RSString.createRSString("glow3:"); + static int anInt2989 = 0; + static Class61 aClass61_2990 = new Class61(); + static RSString aClass94_2991 = aClass94_2988; + static RSString aClass94_2992 = aClass94_2988; + static int anInt2993 = 0; + static int anInt2994; + static RSString aClass94_2995 = RSString.createRSString("Veuillez commencer par supprimer "); + + + static final void method2210(byte var0, boolean var1) { + try { + Class58.method1194(-16385); + if(30 == Class143.loadingStage || ~Class143.loadingStage == -26) { + ++Class3_Sub13_Sub23_Sub1.anInt4032; + if(~Class3_Sub13_Sub23_Sub1.anInt4032 <= -51 || var1) { + Class3_Sub13_Sub23_Sub1.anInt4032 = 0; + if(var0 == -90) { + if(!Class3_Sub28_Sub18.aBoolean3769 && Class3_Sub15.aClass89_2429 != null) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(93); + try { + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + } catch (IOException var3) { + Class3_Sub28_Sub18.aBoolean3769 = true; + } + + ++Class3_Sub28_Sub4.anInt3569; + } + + Class58.method1194(var0 ^ 16473); + } + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ah.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method2211(int var0) { + try { + if(var0 == -48) { + if(null == Class67.aClass11_1017) { + if(null == Class56.aClass11_886) { + int var1 = Class3_Sub28_Sub11.anInt3644; + int var3; + int var4; + if(!Class38_Sub1.aBoolean2615) { + if(~var1 == -2 && 0 < Class3_Sub13_Sub34.anInt3415) { + short var2 = Class3_Sub13_Sub7.aShortArray3095[-1 + Class3_Sub13_Sub34.anInt3415]; + if(-26 == ~var2 || var2 == 23 || 48 == var2 || ~var2 == -8 || 13 == var2 || ~var2 == -48 || -6 == ~var2 || var2 == 43 || -36 == ~var2 || ~var2 == -59 || ~var2 == -23 || var2 == 1006) { + var3 = Class117.anIntArray1613[-1 + Class3_Sub13_Sub34.anInt3415]; + var4 = Class27.anIntArray512[Class3_Sub13_Sub34.anInt3415 + -1]; + RSInterface var5 = Class7.getRSInterface((byte)113, var4); + Class3_Sub1 var6 = Client.method44(var5); + if(var6.method100((byte)-9) || var6.method93(572878952)) { + Class40.anInt677 = 0; + Class72.aBoolean1074 = false; + if(Class67.aClass11_1017 != null) { + Class20.method909(-67, Class67.aClass11_1017); + } + + Class67.aClass11_1017 = Class7.getRSInterface((byte)119, var4); + Class129_Sub1.anInt2693 = anInt2993; + InputStream_Sub1.anInt40 = Class38_Sub1.anInt2614; + PacketParser.anInt86 = var3; + Class20.method909(var0 + 166, Class67.aClass11_1017); + return; + } + } + } + + if(-2 == ~var1 && (-2 == ~Class66.anInt998 && 2 < Class3_Sub13_Sub34.anInt3415 || Class3_Sub13_Sub39.method353(Class3_Sub13_Sub34.anInt3415 + -1, 0))) { + var1 = 2; + } + + if(~var1 == -3 && -1 > ~Class3_Sub13_Sub34.anInt3415 || -2 == ~Class3_Sub28_Sub13.anInt3660) { + Class132.method1801((byte)-105); + } + + if(1 == var1 && Class3_Sub13_Sub34.anInt3415 > 0 || -3 == ~Class3_Sub28_Sub13.anInt3660) { + Class3_Sub13_Sub8.method203(100); + } + } else { + int var11; + if(-2 != ~var1) { + var3 = Class130.anInt1709; + var11 = Class126.anInt1676; + if(~var11 > ~(AbstractIndexedSprite.anInt1462 - 10) || ~var11 < ~(Class3_Sub28_Sub3.anInt3552 + (AbstractIndexedSprite.anInt1462 - -10)) || ~(-10 + Class3_Sub13_Sub33.anInt3395) < ~var3 || ~var3 < ~(Class3_Sub28_Sub1.anInt3537 + (Class3_Sub13_Sub33.anInt3395 - -10))) { + Class38_Sub1.aBoolean2615 = false; + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + } + } + + if(-2 == ~var1) { + var11 = AbstractIndexedSprite.anInt1462; + var3 = Class3_Sub13_Sub33.anInt3395; + var4 = Class3_Sub28_Sub3.anInt3552; + int var12 = anInt2993; + int var13 = Class38_Sub1.anInt2614; + int var7 = -1; + + for(int var8 = 0; var8 < Class3_Sub13_Sub34.anInt3415; ++var8) { + int var9; + if(CacheIndex.aBoolean1951) { + var9 = 15 * (Class3_Sub13_Sub34.anInt3415 + -1 + -var8) + 35 + var3; + } else { + var9 = 15 * (-var8 + (Class3_Sub13_Sub34.anInt3415 - 1)) + var3 + 31; + } + + if(~var12 < ~var11 && ~(var11 - -var4) < ~var12 && var9 + -13 < var13 && ~(3 + var9) < ~var13) { + var7 = var8; + } + } + + if(~var7 != 0) { + Class3_Sub30_Sub1.method806(2597, var7); + } + + Class38_Sub1.aBoolean2615 = false; + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + } + } + + } + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ah.A(" + var0 + ')'); + } + } + + public static void method2212(boolean var0) { + try { + anIntArray2985 = null; + aClass94_2988 = null; + aClass93_2984 = null; + aClass61_2990 = null; + aLongArray2986 = null; + if(var0) { + method2211(68); + } + + aClass94_2992 = null; + aByteArrayArray2987 = (byte[][])null; + aClass94_2995 = null; + aClass94_2991 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ah.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163_Sub1_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class163_Sub1_Sub1.java new file mode 100644 index 000000000..2fa2062e1 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163_Sub1_Sub1.java @@ -0,0 +1,189 @@ +package org.runite.jagex; +import java.awt.Component; +import java.io.IOException; +import java.net.Socket; + +final class Class163_Sub1_Sub1 extends Class163_Sub1 { + + static byte[] aByteArray4005 = new byte[]{(byte)95, (byte)97, (byte)98, (byte)99, (byte)100, (byte)101, (byte)102, (byte)103, (byte)104, (byte)105, (byte)106, (byte)107, (byte)108, (byte)109, (byte)110, (byte)111, (byte)112, (byte)113, (byte)114, (byte)115, (byte)116, (byte)117, (byte)118, (byte)119, (byte)120, (byte)121, (byte)122, (byte)48, (byte)49, (byte)50, (byte)51, (byte)52, (byte)53, (byte)54, (byte)55, (byte)56, (byte)57}; + static int anInt4006; + static RSString aClass94_4007 = RSString.createRSString(":"); + static boolean[] aBooleanArray4008 = new boolean[100]; + static int[] anIntArray4009 = new int[5]; + static int[][] anIntArrayArray4010 = new int[104][104]; + static int anInt4011; + + + public static void method2213(byte var0) { + try { + anIntArray4009 = null; + aByteArray4005 = null; + aBooleanArray4008 = null; + if(var0 != 104) { + aClass94_4007 = (RSString)null; + } + + aClass94_4007 = null; + anIntArrayArray4010 = (int[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ch.F(" + var0 + ')'); + } + } + + static final void method2214(int var0) { + try { + if(var0 != 0) { + aByteArray4005 = (byte[])null; + } + + if(!NPC.method1986(90) && ~Class140_Sub3.anInt2745 != ~WorldListCountry.localPlane) { + Class73.method1301(WorldListCountry.localPlane, Class3_Sub7.anInt2294, Class3_Sub28_Sub7.anInt3606, Class102.player.anIntArray2755[0], false, Class102.player.anIntArray2767[0], true); + } else { + if(~WorldListCountry.localPlane != ~Class58.anInt909 && Class3_Sub19.method385(var0 + 0, WorldListCountry.localPlane)) { + Class58.anInt909 = WorldListCountry.localPlane; + RSByteBuffer.method792(var0 + 9179409); + } + + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ch.E(" + var0 + ')'); + } + } + + static final void method2215(Component var0, int var1) { + try { + if(var1 == -9320) { + var0.removeKeyListener(Class3_Sub13_Sub3.aClass148_3049); + var0.removeFocusListener(Class3_Sub13_Sub3.aClass148_3049); + Class3_Sub13.anInt2384 = -1; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ch.G(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method2216(byte var0) { + try { + if(var0 != 81) { + method2215((Component)null, 14); + } + + if(~Class3_Sub13_Sub31.anInt3375 != -1) { + try { + if(1500 < ++Class3_Sub2.anInt2246) { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(1 <= Class117.anInt1616) { + Class158.anInt2005 = -5; + Class3_Sub13_Sub31.anInt3375 = 0; + return; + } + + Class3_Sub2.anInt2246 = 0; + ++Class117.anInt1616; + Class3_Sub13_Sub31.anInt3375 = 1; + if(Class123.anInt1658 == Class3_Sub28_Sub19.anInt3773) { + Class123.anInt1658 = Class53.anInt867; + } else { + Class123.anInt1658 = Class3_Sub28_Sub19.anInt3773; + } + } + + if(~Class3_Sub13_Sub31.anInt3375 == -2) { + Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, RuntimeException_Sub1.worldListHost, Class123.anInt1658); + Class3_Sub13_Sub31.anInt3375 = 2; + } + + int var1; + if(-3 == ~Class3_Sub13_Sub31.anInt3375) { + if(~Class3_Sub9.aClass64_2318.anInt978 == -3) { + throw new IOException(); + } + + if(1 != Class3_Sub9.aClass64_2318.anInt978) { + return; + } + + Class3_Sub15.aClass89_2429 = new IOHandler((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665); + Class3_Sub9.aClass64_2318 = null; + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(83); + } + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2159(120); + } + + var1 = Class3_Sub15.aClass89_2429.readByte(0); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(59); + } + + if(Class3_Sub21.aClass155_2491 != null) { + Class3_Sub21.aClass155_2491.method2159(113); + } + + if(-102 != ~var1) { + Class158.anInt2005 = var1; + Class3_Sub13_Sub31.anInt3375 = 0; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + + Class3_Sub13_Sub31.anInt3375 = 3; + } + + if(~Class3_Sub13_Sub31.anInt3375 == -4) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > -3) { + return; + } + + var1 = Class3_Sub15.aClass89_2429.readByte(0) << 8 | Class3_Sub15.aClass89_2429.readByte(0); + Class104.method1627(var1, (byte)-16); + if(CS2Script.anInt2451 == -1) { + Class3_Sub13_Sub31.anInt3375 = 0; + Class158.anInt2005 = 6; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + + Class3_Sub13_Sub31.anInt3375 = 0; + Class3_Sub15.aClass89_2429.close(var0 + 14740); + Class3_Sub15.aClass89_2429 = null; + Class24.method951(0); + return; + } + } catch (IOException var2) { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(Class117.anInt1616 < 1) { + if(Class123.anInt1658 != Class3_Sub28_Sub19.anInt3773) { + Class123.anInt1658 = Class3_Sub28_Sub19.anInt3773; + } else { + Class123.anInt1658 = Class53.anInt867; + } + + Class3_Sub13_Sub31.anInt3375 = 1; + Class3_Sub2.anInt2246 = 0; + ++Class117.anInt1616; + } else { + Class158.anInt2005 = -4; + Class3_Sub13_Sub31.anInt3375 = 0; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ch.D(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class163_Sub2.java new file mode 100644 index 000000000..e827f737d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163_Sub2.java @@ -0,0 +1,102 @@ +package org.runite.jagex; + +class Class163_Sub2 extends Class163 { + + static RSString aClass94_2996 = null; + static RSString aClass94_2997 = RSString.createRSString("blinken1:"); + static Class30[] aClass30Array2998 = new Class30[29]; //TODO + + + static final Class25 method2217(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + for(int var4 = 0; var4 < var3.anInt2223; ++var4) { + Class25 var5 = var3.aClass25Array2221[var4]; + if((var5.aLong498 >> 29 & 3L) == 2L && var5.anInt483 == var1 && var5.anInt478 == var2) { + Class158.method2186(var5); + return var5; + } + } + + return null; + } + } + + public static void method2218(byte var0) { + try { + aClass94_2996 = null; + aClass94_2997 = null; + if(var0 != -83) { + method2218((byte)-9); + } + + aClass30Array2998 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dk.B(" + var0 + ')'); + } + } + + static final void method2219(RSByteBuffer var0, boolean var1) { + try { + if(var1) { + aClass30Array2998 = (Class30[])null; + } + + while(~var0.index > ~var0.buffer.length) { + int var4 = 0; + boolean var3 = false; + int var5 = 0; + if(var0.getByte((byte)-94) == 1) { + var3 = true; + var4 = var0.getByte((byte)-40); + var5 = var0.getByte((byte)-102); + } + + int var6 = var0.getByte((byte)-104); + int var7 = var0.getByte((byte)-71); + int var9 = -(var7 * 64) - (-Class2.anInt65 - Class108.anInt1460 + 1); + int var8 = var6 * 64 + -Class3_Sub13_Sub21.anInt3256; + byte var2; + int var10; + if(var8 >= 0 && var9 + -63 >= 0 && ~(var8 - -63) > ~Class23.anInt455 && var9 < Class108.anInt1460) { + var10 = var8 >> 6; + int var11 = var9 >> 6; + + for(int var12 = 0; ~var12 > -65; ++var12) { + for(int var13 = 0; var13 < 64; ++var13) { + if(!var3 || ~var12 <= ~(8 * var4) && var12 < 8 + var4 * 8 && var13 >= var5 * 8 && ~var13 > ~(8 + var5 * 8)) { + var2 = var0.getByte(); + if(-1 != ~var2) { + if(RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] == null) { + RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11] = new byte[4096]; + } + + RenderAnimationDefinition.aByteArrayArrayArray383[var10][var11][var12 + (-var13 + 63 << 6)] = var2; + byte var14 = var0.getByte(); + if(Class3_Sub10.aByteArrayArrayArray2339[var10][var11] == null) { + Class3_Sub10.aByteArrayArrayArray2339[var10][var11] = new byte[4096]; + } + + Class3_Sub10.aByteArrayArrayArray2339[var10][var11][var12 + (63 - var13 << 6)] = var14; + } + } + } + } + } else { + for(var10 = 0; ~(var3?64:4096) < ~var10; ++var10) { + var2 = var0.getByte(); + if(0 != var2) { + ++var0.index; + } + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "dk.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163_Sub2_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class163_Sub2_Sub1.java new file mode 100644 index 000000000..e032cb28b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163_Sub2_Sub1.java @@ -0,0 +1,321 @@ +package org.runite.jagex; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InvalidClassException; +import java.io.ObjectInputStream; +import java.io.OptionalDataException; +import java.io.StreamCorruptedException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +final class Class163_Sub2_Sub1 extends Class163_Sub2 { + + static IOHandler aClass89_4012; + static volatile boolean aBoolean4013 = true; + static int anInt4014; + static Class93 aClass93_4015 = new Class93(64); + static RSString[] aClass94Array4016 = new RSString[500]; + static long[] aLongArray4017 = new long[100]; + static boolean aBoolean4018 = false; + static int anInt4019 = 0; + static int anInt4020 = 0; + static int anInt4021; + private static RSString aClass94_4022 = RSString.createRSString("Your friend list is full)3 Max of 100 for free users)1 and 200 for members)3"); + static RSString aClass94_4023 = RSString.createRSString(")3"); + static RSString aClass94_4024 = aClass94_4022; + static int[] anIntArray4025 = new int[32]; + static int anInt4026 = 0; + static LDIndexedSprite[] aClass109_Sub1Array4027; + + + static final void method2220(int var0) { + try { + if(var0 == 0) { + Class140_Sub4.aClass93_2792.method1524(3); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "t.H(" + var0 + ')'); + } + } + + static final void method2221(int var0, int var1, int var2, boolean var3, int var4, int var5, int var6) { + try { + int var8 = 0; + + for(Class96[] var7 = RuntimeException_Sub1.aClass96Array2114; ~var7.length < ~var8; ++var8) { + Class96 var9 = var7[var8]; + if(null != var9 && var9.anInt1360 == 2) { + Class118.method1724(var0 >> 1, var5, (-Class82.anInt1152 + var9.anInt1347 << 7) - -var9.anInt1350, var9.anInt1353 * 2, var2 >> 1, var9.anInt1346 + (var9.anInt1356 + -Class131.anInt1716 << 7), (byte)-114, var4); + if(-1 < Class32.anInt590 && ~(Class44.anInt719 % 20) > -11) { + Class166.aClass3_Sub28_Sub16Array2072[var9.anInt1351].method643(-12 + var1 + Class32.anInt590, -28 + var6 - -Class3_Sub1.anInt2208); + } + } + } + + if(!var3) { + aBoolean4018 = true; + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "t.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method2222(byte var0) { + try { + Class3_Sub28_Sub7_Sub1.aClass93_4043.method1523((byte)-117); + CS2Script.aClass93_2442.method1523((byte)-108); + Class154.aClass93_1964.method1523((byte)-117); + if(var0 <= 122) { + method2223(true, (byte)-67); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "t.G(" + var0 + ')'); + } + } + + static final void method2223(boolean var0, byte var1) { + try { + int var2 = 85 % ((-17 - var1) / 59); + byte var3; + byte[][] var4; + if(HDToolKit.highDetail && var0) { + var4 = Class3_Sub13_Sub4.aByteArrayArray3057; + var3 = 1; + } else { + var3 = 4; + var4 = Class3_Sub22.aByteArrayArray2521; + } + + for(int var5 = 0; var5 < var3; ++var5) { + Class58.method1194(-16385); + + for(int var6 = 0; ~var6 > -14; ++var6) { + for(int var7 = 0; ~var7 > -14; ++var7) { + int var8 = ObjectDefinition.anIntArrayArrayArray1497[var5][var6][var7]; + if(0 != ~var8) { + int var9 = var8 >> 24 & 3; + if(!var0 || var9 == 0) { + int var10 = (6 & var8) >> 1; + int var11 = var8 >> 14 & 1023; + int var12 = 2047 & var8 >> 3; + int var13 = var12 / 8 + (var11 / 8 << 8); + + for(int var14 = 0; Class3_Sub24_Sub3.anIntArray3494.length > var14; ++var14) { + if(~Class3_Sub24_Sub3.anIntArray3494[var14] == ~var13 && var4[var14] != null) { + Class3_Sub13_Sub30.parseObjectMapping(Class86.aClass91Array1182, var5, var4[var14], var9, var10, 8 * var6, var7 * 8, var0, (var11 & 7) * 8, 8 * (7 & var12), (byte)-54); + break; + } + } + } + } + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "t.J(" + var0 + ',' + var1 + ')'); + } + } + + static final boolean method2224(byte var0, long var1, int var3, int var4) { + try { + int var5 = (int)var1 >> 14 & 31; + if(var0 != 39) { + method2220(-62); + } + + int var6 = (int)var1 >> 20 & 3; + int var7 = (int)(var1 >>> 32) & Integer.MAX_VALUE; + if(var5 != 10 && -12 != ~var5 && var5 != 22) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], var6, 0, true, 0, 2, var4, 0, 1 + var5, 2, var3, Class102.player.anIntArray2767[0]); + } else { + ObjectDefinition var8 = Class162.getObjectDefinition(4, var7); + int var9; + int var10; + if(~var6 != -1 && ~var6 != -3) { + var10 = var8.anInt1480; + var9 = var8.anInt1485; + } else { + var10 = var8.anInt1485; + var9 = var8.anInt1480; + } + + int var11 = var8.anInt1533; + if(-1 != ~var6) { + var11 = (var11 << var6 & 15) - -(var11 >> -var6 + 4); + } + + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, var10, true, var11, 2, var4, var9, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + return true; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "t.D(" + var0 + ',' + var1 + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method2225(byte var0) { + try { + int var1 = 58 % ((var0 - 7) / 43); + aClass89_4012 = null; + aClass94_4024 = null; + aClass109_Sub1Array4027 = null; + anIntArray4025 = null; + aClass94Array4016 = null; + aClass93_4015 = null; + aLongArray4017 = null; + aClass94_4022 = null; + aClass94_4023 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "t.F(" + var0 + ')'); + } + } + + static final void method2226(Class3_Sub30_Sub1 var0, int var1, int var2) { + try { + if(var2 > -109) { + method2226((Class3_Sub30_Sub1)null, 67, 54); + } + + while(true) { + Class3_Sub8 var3 = (Class3_Sub8)Class3_Sub26.aClass61_2557.method1222(); + if(var3 == null) { + return; + } + + boolean var4 = false; + + int var5; + for(var5 = 0; ~var5 > ~var3.anInt2296; ++var5) { + if(var3.aClass64Array2303[var5] != null) { + if(-3 == ~var3.aClass64Array2303[var5].anInt978) { + var3.anIntArray2300[var5] = -5; + } + + if(-1 == ~var3.aClass64Array2303[var5].anInt978) { + var4 = true; + } + } + + if(null != var3.aClass64Array2298[var5]) { + if(-3 == ~var3.aClass64Array2298[var5].anInt978) { + var3.anIntArray2300[var5] = -6; + } + + if(-1 == ~var3.aClass64Array2298[var5].anInt978) { + var4 = true; + } + } + } + + if(var4) { + return; + } + + var0.putOpcode(var1); + var0.putByte((byte)-86, 0); + var5 = var0.index; + var0.putInt(-127, var3.anInt2305); + + for(int var6 = 0; ~var3.anInt2296 < ~var6; ++var6) { + if(~var3.anIntArray2300[var6] != -1) { + var0.putByte((byte)-101, var3.anIntArray2300[var6]); + } else { + try { + int var7 = var3.anIntArray2301[var6]; + Field var8; + int var9; + if(-1 != ~var7) { + if(~var7 == -2) { + var8 = (Field)var3.aClass64Array2303[var6].anObject974; + var8.setInt((Object)null, var3.anIntArray2299[var6]); + var0.putByte((byte)-98, 0); + } else if(2 == var7) { + var8 = (Field)var3.aClass64Array2303[var6].anObject974; + var9 = var8.getModifiers(); + var0.putByte((byte)-26, 0); + var0.putInt(-124, var9); + } + } else { + var8 = (Field)var3.aClass64Array2303[var6].anObject974; + var9 = var8.getInt((Object)null); + var0.putByte((byte)-102, 0); + var0.putInt(-122, var9); + } + + Method var26; + if(3 == var7) { + var26 = (Method)var3.aClass64Array2298[var6].anObject974; + byte[][] var27 = var3.aByteArrayArrayArray2302[var6]; + Object[] var10 = new Object[var27.length]; + + for(int var11 = 0; var11 < var27.length; ++var11) { + ObjectInputStream var12 = new ObjectInputStream(new ByteArrayInputStream(var27[var11])); + var10[var11] = var12.readObject(); + } + + Object var28 = var26.invoke((Object)null, var10); + if(var28 == null) { + var0.putByte((byte)-51, 0); + } else if(!(var28 instanceof Number)) { + if(var28 instanceof RSString) { + var0.putByte((byte)-52, 2); + var0.putString(0, (RSString)var28); + } else { + var0.putByte((byte)-94, 4); + } + } else { + var0.putByte((byte)-94, 1); + var0.putLong(((Number)var28).longValue(), -2037491440); + } + } else if(var7 == 4) { + var26 = (Method)var3.aClass64Array2298[var6].anObject974; + var9 = var26.getModifiers(); + var0.putByte((byte)-27, 0); + var0.putInt(-126, var9); + } + } catch (ClassNotFoundException var13) { + var0.putByte((byte)-102, -10); + } catch (InvalidClassException var14) { + var0.putByte((byte)-41, -11); + } catch (StreamCorruptedException var15) { + var0.putByte((byte)-76, -12); + } catch (OptionalDataException var16) { + var0.putByte((byte)-60, -13); + } catch (IllegalAccessException var17) { + var0.putByte((byte)-76, -14); + } catch (IllegalArgumentException var18) { + var0.putByte((byte)-98, -15); + } catch (InvocationTargetException var19) { + var0.putByte((byte)-112, -16); + } catch (SecurityException var20) { + var0.putByte((byte)-11, -17); + } catch (IOException var21) { + var0.putByte((byte)-27, -18); + } catch (NullPointerException var22) { + var0.putByte((byte)-37, -19); + } catch (Exception var23) { + var0.putByte((byte)-75, -20); + } catch (Throwable var24) { + var0.putByte((byte)-79, -21); + } + } + } + + var0.method793((byte)86, var5); + var0.method769((byte)-127, var0.index - var5); + var3.method86(-1024); + } + } catch (RuntimeException var25) { + throw Class44.method1067(var25, "t.I(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class163_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class163_Sub3.java new file mode 100644 index 000000000..d268bee47 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class163_Sub3.java @@ -0,0 +1,127 @@ +package org.runite.jagex; + +final class Class163_Sub3 extends Class163 { + + static int[] anIntArray2999; + static RSString aClass94_3000 = RSString.createRSString("; Max)2Age="); + static int anInt3001; + static RSString aClass94_3002 = RSString.createRSString("M"); + static RSString[] aClass94Array3003 = new RSString[100]; + static boolean aBoolean3004 = true; + static byte[][] aByteArrayArray3005; + static RSString aClass94_3006 = RSString.createRSString(""); + static int[] anIntArray3007 = new int[]{-1, -1, 1, 1}; + + + public static void method2227(byte var0) { + try { + aClass94_3006 = null; + anIntArray3007 = null; + aClass94Array3003 = null; + if(var0 == 37) { + aByteArrayArray3005 = (byte[][])null; + aClass94_3002 = null; + aClass94_3000 = null; + anIntArray2999 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fb.A(" + var0 + ')'); + } + } + + static final int[] PLAYER_RENDER_LOG = new int[4]; + + static final void renderPlayers(byte var0) { + try { + Class66.maskUpdateCount = 0; + Class139.anInt1829 = 0; + Class151_Sub1.updateLocalPosition((byte)81); + PLAYER_RENDER_LOG[0] = GraphicDefinition.incomingBuffer.index; + Class140_Sub3.renderLocalPlayers(false); + PLAYER_RENDER_LOG[1] = GraphicDefinition.incomingBuffer.index; + Class131.addLocalPlayers(-59); + PLAYER_RENDER_LOG[2] = GraphicDefinition.incomingBuffer.index; + Canvas_Sub2.parsePlayerMasks(-102); + PLAYER_RENDER_LOG[3] = GraphicDefinition.incomingBuffer.index; + if(var0 <= -69) { + int var1; + for(var1 = 0; Class139.anInt1829 > var1; ++var1) { + int var2 = Class3_Sub7.anIntArray2292[var1]; + if(Class44.anInt719 != Class3_Sub13_Sub22.players[var2].anInt2838) { + if(0 < Class3_Sub13_Sub22.players[var2].anInt3969) { + Class162.method2203(Class3_Sub13_Sub22.players[var2], 8); + } + + Class3_Sub13_Sub22.players[var2] = null; + } + } + + if(~Class130.incomingPacketLength != ~GraphicDefinition.incomingBuffer.index) { + System.err.println("Player rendering packet size mismatch - size log: self=" + PLAYER_RENDER_LOG[0] + ", local=" + PLAYER_RENDER_LOG[1] + ", add global=" + PLAYER_RENDER_LOG[2] + ", masks=" + PLAYER_RENDER_LOG[3] + "."); +// System.err.println("gpp1 pos:" + GraphicDefinition.incomingBuffer.index + " psize:" + Class130.incomingPacketLength); +// throw new RuntimeException("gpp1 pos:" + Class28.incomingBuffer.index + " psize:" + Class130.incomingPacketLength); + } else { + for(var1 = 0; var1 < Class159.localPlayerCount; ++var1) { + if(null == Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var1]]) { +// throw new RuntimeException("gpp2 pos:" + var1 + " size:" + Class159.anInt2022); +// System.err.println("gpp2 pos:" + var1 + " size:" + Class159.anInt2022); + System.err.println("Local player was null - index: " + Class56.localPlayerIndexes[var1] + ", list index: " + var1 + ", list size: " + Class159.localPlayerCount); + } + } + + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fb.B(" + var0 + ')'); + } + } + + static final void method2229(long var0, byte var2) { + try { + if(-1L != ~var0) { + if((100 > Class8.anInt104 || Class3_Sub13_Sub29.disableGEBoxes) && ~Class8.anInt104 > -201) { + RSString var3 = Class41.method1052(-29664, var0).method1545((byte)-50); + if(var2 != -91) { + method2227((byte)22); + } + + int var4; + for(var4 = 0; Class8.anInt104 > var4; ++var4) { + if(~Class50.aLongArray826[var4] == ~var0) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{var3, Class3_Sub28_Sub11.aClass94_3645}, (byte)-93), -1); + return; + } + } + + for(var4 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var4; ++var4) { + if(~var0 == ~Class114.aLongArray1574[var4]) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{Class38.aClass94_662, var3, GameShell.aClass94_4}, (byte)-66), -1); + return; + } + } + + if(var3.method1528((byte)-42, Class102.player.displayName)) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, Class62.aClass94_957, -1); + } else { + ++GraphicDefinition.anInt544; + Class70.aClass94Array1046[Class8.anInt104] = var3; + Class50.aLongArray826[Class8.anInt104] = var0; + Class55.anIntArray882[Class8.anInt104] = 0; + Node.aClass94Array2566[Class8.anInt104] = Class3_Sub28_Sub14.aClass94_3672; + Class57.anIntArray904[Class8.anInt104] = 0; + Class3.aBooleanArray73[Class8.anInt104] = false; + ++Class8.anInt104; + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(120); + Class3_Sub13_Sub1.outgoingBuffer.putLong(var0, var2 ^ 2037491381); + } + } else { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, Class163_Sub2_Sub1.aClass94_4024, -1); + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fb.C(" + var0 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class164.java b/09HDscape-client/src/org/runite/jagex/Class164.java new file mode 100644 index 000000000..43edacbc6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class164.java @@ -0,0 +1,220 @@ +package org.runite.jagex; +import java.util.Random; + +abstract class Class164 { + + private short[] aShortArray2047 = new short[512]; + static int[] anIntArray2048; + private short[] aShortArray2049; + static int anInt2050; + static int anInt2051; + static CacheIndex aClass153_2052; + static RSString aClass94_2053 = RSString.createRSString("Update)2Liste geladen)3"); + private int anInt2054 = 0; + static RSInterface aClass11_2055; + private int anInt2056 = 4; + private int anInt2057 = 4; + static Model_Sub1[] aClass140_Sub5Array2058 = new Model_Sub1[4]; + static int anInt2059; + private int anInt2060 = 4; + static RSString aClass94_2061 = RSString.createRSString("Forced tweening disabled)3"); + int anInt2062 = 4; + + + final void method2230(int var1, int var2, int var3, int var4) { + try { + int[] var39 = new int[var2]; + int[] var40 = new int[var4]; + int[] var41 = new int[var3]; + + int var42; + for(var42 = 0; ~var2 < ~var42; ++var42) { + var39[var42] = (var42 << 12) / var2; + } + + if(var1 > -68) { + this.method2236(64); + } + + for(var42 = 0; var42 < var4; ++var42) { + var40[var42] = (var42 << 12) / var4; + } + + for(var42 = 0; var42 < var3; ++var42) { + var41[var42] = (var42 << 12) / var3; + } + + this.method2233(-949697716); + + for(int var37 = 0; var37 < var3; ++var37) { + for(int var36 = 0; ~var4 < ~var36; ++var36) { + for(int var35 = 0; var35 < var2; ++var35) { + for(int var38 = 0; ~this.anInt2062 < ~var38; ++var38) { + var42 = this.aShortArray2049[var38] << 12; + int var8 = this.anInt2057 * var42 >> 12; + int var7 = var42 * var41[var37] >> 12; + int var9 = var42 * this.anInt2056 >> 12; + var7 *= this.anInt2060; + int var10 = var42 * this.anInt2060 >> 12; + int var5 = var39[var35] * var42 >> 12; + var5 *= this.anInt2057; + int var11 = var5 >> 12; + var5 &= 4095; + int var15 = var7 >> 12; + int var20 = var5 + -4096; + int var12 = var11 + 1; + int var16 = var15 - -1; + int var6 = var40[var36] * var42 >> 12; + int var17 = Class1.anIntArray52[var5]; + var6 *= this.anInt2056; + var15 &= 255; + var11 &= 255; + if(var10 <= var16) { + var16 = 0; + } else { + var16 &= 255; + } + + int var13 = var6 >> 12; + short var23 = this.aShortArray2047[var15]; + short var24 = this.aShortArray2047[var16]; + int var14 = var13 + 1; + if(var9 > var14) { + var14 &= 255; + } else { + var14 = 0; + } + + var6 &= 4095; + short var28 = this.aShortArray2047[var14 - -var24]; + var7 &= 4095; + var13 &= 255; + int var19 = Class1.anIntArray52[var7]; + short var27 = this.aShortArray2047[var13 + var24]; + short var25 = this.aShortArray2047[var23 + var13]; + if(var8 <= var12) { + var12 = 0; + } else { + var12 &= 255; + } + + int var21 = -4096 + var6; + int var18 = Class1.anIntArray52[var6]; + int var22 = var7 - 4096; + short var26 = this.aShortArray2047[var23 + var14]; + int var29 = Class131.method1788(var5, var7, var6, this.aShortArray2047[var25 + var11], true); + int var30 = Class131.method1788(var20, var7, var6, this.aShortArray2047[var12 - -var25], true); + int var31 = var29 - -(var17 * (var30 - var29) >> 12); + var29 = Class131.method1788(var5, var7, var21, this.aShortArray2047[var26 + var11], true); + var30 = Class131.method1788(var20, var7, var21, this.aShortArray2047[var12 + var26], true); + int var32 = var29 + (var17 * (-var29 + var30) >> 12); + int var33 = ((-var31 + var32) * var18 >> 12) + var31; + var29 = Class131.method1788(var5, var22, var6, this.aShortArray2047[var11 + var27], true); + var30 = Class131.method1788(var20, var22, var6, this.aShortArray2047[var12 + var27], true); + var31 = (var17 * (var30 + -var29) >> 12) + var29; + var29 = Class131.method1788(var5, var22, var21, this.aShortArray2047[var11 - -var28], true); + var30 = Class131.method1788(var20, var22, var21, this.aShortArray2047[var12 + var28], true); + var32 = var29 + ((-var29 + var30) * var17 >> 12); + int var34 = var31 - -((var32 + -var31) * var18 >> 12); + this.method2237(((-var33 + var34) * var19 >> 12) + var33, var38, -20975); + } + + this.method2231((byte)-92); + } + } + } + + } catch (RuntimeException var43) { + throw Class44.method1067(var43, "wf.M(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + abstract void method2231(byte var1); + + private final void method2232(byte var1) { + try { + this.aShortArray2049 = new short[this.anInt2062]; + int var2 = 0; + if(var1 != -60) { + method2234(-92, 105); + } + + while(~this.anInt2062 < ~var2) { + this.aShortArray2049[var2] = (short)((int)Math.pow(2.0D, (double)var2)); + ++var2; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wf.L(" + var1 + ')'); + } + } + + abstract void method2233(int var1); + + static final int method2234(int var0, int var1) { + try { + int var2 = -27 / ((var1 - -87) / 39); + return 1023 & var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wf.K(" + var0 + ',' + var1 + ')'); + } + } + + public static void method2235(int var0) { + try { + anIntArray2048 = null; + aClass153_2052 = null; + if(var0 == 4) { + aClass94_2053 = null; + aClass140_Sub5Array2058 = null; + aClass94_2061 = null; + aClass11_2055 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wf.J(" + var0 + ')'); + } + } + + private final void method2236(int var1) { + try { + Random var2 = new Random((long)this.anInt2054); + + int var3; + for(var3 = 0; var3 < 255; ++var3) { + this.aShortArray2047[var3] = (short)var3; + } + + if(var1 != -190126388) { + anInt2051 = -58; + } + + for(var3 = 0; var3 < 255; ++var3) { + int var4 = -var3 + 255; + int var5 = Class100.method1603((byte)-120, var4, var2); + short var6 = this.aShortArray2047[var5]; + this.aShortArray2047[var5] = this.aShortArray2047[var4]; + this.aShortArray2047[var4] = this.aShortArray2047[256 + var4] = var6; + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "wf.N(" + var1 + ')'); + } + } + + abstract void method2237(int var1, int var2, int var3); + + Class164(int var1, int var2, int var3, int var4, int var5) { + try { + this.anInt2056 = var4; + this.anInt2062 = var2; + this.anInt2054 = var1; + this.anInt2060 = var5; + this.anInt2057 = var3; + this.method2232((byte)-60); + this.method2236(-190126388); + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "wf.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class164_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class164_Sub1.java new file mode 100644 index 000000000..9db4371ed --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class164_Sub1.java @@ -0,0 +1,318 @@ +package org.runite.jagex; + +class Class164_Sub1 extends Class164 { + + static RSString aClass94_3008 = RSString.createRSString("hitbar_default"); + static Class158 aClass158_3009; + private int anInt3010; + static short[] aShortArray3011 = new short[]{(short)6798, (short)8741, (short)25238, (short)4626, (short)4550}; + static int anInt3012 = 0; + static RSString aClass94_3013 = RSString.createRSString("0"); + private int[] anIntArray3014; + private byte[] aByteArray3015; + private int anInt3016; + static int anInt3017; + + + final void method2237(int var1, int var2, int var3) { + try { + this.anInt3010 += var1 * this.anIntArray3014[var2] >> 12; + if(var3 != -20975) { + method2239(-22, -68, -14, 89); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "vd.H(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method2238(int var0, int var1, int var2, int var3, byte var4, int var5) { + try { + Class75.anInt1105 = var2; + Class157.anInt1996 = var1; + Class163_Sub2_Sub1.anInt4014 = var5; + Class149.anInt1923 = var3; + GraphicDefinition.anInt529 = var0; + if(var4 != -21) { + aClass94_3013 = (RSString)null; + } + + if(-101 >= ~Class163_Sub2_Sub1.anInt4014) { + int var6 = 64 + 128 * Class149.anInt1923; + int var7 = 64 + Class157.anInt1996 * 128; + int var8 = Class121.method1736(WorldListCountry.localPlane, 1, var6, var7) - GraphicDefinition.anInt529; + int var10 = var8 + -Class7.anInt2162; + int var9 = var6 + -NPC.anInt3995; + int var11 = -Class77.anInt1111 + var7; + int var12 = (int)Math.sqrt((double)(var11 * var11 + var9 * var9)); + Class139.anInt1823 = 2047 & (int)(Math.atan2((double)var10, (double)var12) * 325.949D); + Class3_Sub13_Sub25.anInt3315 = 2047 & (int)(Math.atan2((double)var9, (double)var11) * -325.949D); + if(128 > Class139.anInt1823) { + Class139.anInt1823 = 128; + } + + if(383 < Class139.anInt1823) { + Class139.anInt1823 = 383; + } + } + + Class133.anInt1753 = 2; + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "vd.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final boolean method2239(int var0, int var1, int var2, int var3) { + if(!Class8.method846(var0, var1, var2)) { + return false; + } else { + int var4 = var1 << 7; + int var5 = var2 << 7; + int var6 = Class44.anIntArrayArrayArray723[var0][var1][var2] - 1; + int var7 = var6 - 120; + int var8 = var6 - 230; + int var9 = var6 - 238; + if(var3 < 16) { + if(var3 == 1) { + if(var4 > Class129_Sub1.anInt2697) { + if(!Class3_Sub13_Sub37.method349(var4, var6, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4, var6, var5 + 128)) { + return false; + } + } + + if(var0 > 0) { + if(!Class3_Sub13_Sub37.method349(var4, var7, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4, var7, var5 + 128)) { + return false; + } + } + + if(!Class3_Sub13_Sub37.method349(var4, var8, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4, var8, var5 + 128)) { + return false; + } + + return true; + } + + if(var3 == 2) { + if(var5 < Class3_Sub13_Sub30.anInt3363) { + if(!Class3_Sub13_Sub37.method349(var4, var6, var5 + 128)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5 + 128)) { + return false; + } + } + + if(var0 > 0) { + if(!Class3_Sub13_Sub37.method349(var4, var7, var5 + 128)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5 + 128)) { + return false; + } + } + + if(!Class3_Sub13_Sub37.method349(var4, var8, var5 + 128)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128)) { + return false; + } + + return true; + } + + if(var3 == 4) { + if(var4 < Class129_Sub1.anInt2697) { + if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5 + 128)) { + return false; + } + } + + if(var0 > 0) { + if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5 + 128)) { + return false; + } + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var8, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128)) { + return false; + } + + return true; + } + + if(var3 == 8) { + if(var5 > Class3_Sub13_Sub30.anInt3363) { + if(!Class3_Sub13_Sub37.method349(var4, var6, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var6, var5)) { + return false; + } + } + + if(var0 > 0) { + if(!Class3_Sub13_Sub37.method349(var4, var7, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var7, var5)) { + return false; + } + } + + if(!Class3_Sub13_Sub37.method349(var4, var8, var5)) { + return false; + } + + if(!Class3_Sub13_Sub37.method349(var4 + 128, var8, var5)) { + return false; + } + + return true; + } + } + + return !Class3_Sub13_Sub37.method349(var4 + 64, var9, var5 + 64)?false:(var3 == 16?Class3_Sub13_Sub37.method349(var4, var8, var5 + 128):(var3 == 32?Class3_Sub13_Sub37.method349(var4 + 128, var8, var5 + 128):(var3 == 64?Class3_Sub13_Sub37.method349(var4 + 128, var8, var5):(var3 == 128?Class3_Sub13_Sub37.method349(var4, var8, var5):true)))); + } + } + + public static void method2240(int var0) { + try { + aClass94_3008 = null; + aShortArray3011 = null; + aClass94_3013 = null; + if(var0 == 128) { + aClass158_3009 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vd.I(" + var0 + ')'); + } + } + + static final void method2241(byte var0, boolean var1) { + try { + int var2 = -47 / ((var0 - 5) / 49); + + Class3_Sub9 var3; + for(var3 = (Class3_Sub9)Class3.aClass61_78.method1222(); var3 != null; var3 = (Class3_Sub9)Class3.aClass61_78.method1221()) { + if(null != var3.aClass3_Sub24_Sub1_2312) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312); + var3.aClass3_Sub24_Sub1_2312 = null; + } + + if(var3.aClass3_Sub24_Sub1_2315 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2315); + var3.aClass3_Sub24_Sub1_2315 = null; + } + + var3.method86(-1024); + } + + if(var1) { + for(var3 = (Class3_Sub9)IOHandler.aClass61_1242.method1222(); null != var3; var3 = (Class3_Sub9)IOHandler.aClass61_1242.method1221()) { + if(null != var3.aClass3_Sub24_Sub1_2312) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312); + var3.aClass3_Sub24_Sub1_2312 = null; + } + + var3.method86(-1024); + } + + for(var3 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1776(68); null != var3; var3 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1778(-66)) { + if(null != var3.aClass3_Sub24_Sub1_2312) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var3.aClass3_Sub24_Sub1_2312); + var3.aClass3_Sub24_Sub1_2312 = null; + } + + var3.method86(-1024); + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vd.G(" + var0 + ',' + var1 + ')'); + } + } + + final void method2233(int var1) { + try { + if(var1 == -949697716) { + this.anInt3016 = 0; + this.anInt3010 = 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vd.C(" + var1 + ')'); + } + } + + Class164_Sub1(int var1, int var2, int var3, int var4, int var5, float var6) { + super(var1, var2, var3, var4, var5); + + try { + this.anIntArray3014 = new int[this.anInt2062]; + + for(int var7 = 0; ~this.anInt2062 < ~var7; ++var7) { + this.anIntArray3014[var7] = (short)((int)(Math.pow((double)var6, (double)var7) * 4096.0D)); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "vd.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + void method2242(int var1, byte var2) { + try { + this.aByteArray3015[this.anInt3016++] = (byte)(127 + (Class3_Sub28_Sub15.method633(var2, 255) >> 1)); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vd.B(" + var1 + ',' + var2 + ')'); + } + } + + final void method2231(byte var1) { + try { + this.anInt3010 = Math.abs(this.anInt3010); + if(var1 != -92) { + this.method2231((byte)-112); + } + + if(this.anInt3010 >= 4096) { + this.anInt3010 = 4095; + } + + this.method2242(this.anInt3016++, (byte)(this.anInt3010 >> 4)); + this.anInt3010 = 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vd.A(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class164_Sub1_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class164_Sub1_Sub1.java new file mode 100644 index 000000000..ecce7d16f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class164_Sub1_Sub1.java @@ -0,0 +1,24 @@ +package org.runite.jagex; + +final class Class164_Sub1_Sub1 extends Class164_Sub1 { + + private byte[] aByteArray4028; + + + final void method2242(int var1, byte var2) { + int var3 = var1 * 2; + var2 = (byte)(127 + ((var2 & 255) >> 1)); + this.aByteArray4028[var3++] = var2; + this.aByteArray4028[var3] = var2; + } + + public Class164_Sub1_Sub1() { + super(12, 5, 16, 2, 2, 0.45F); + } + + final byte[] method2243(int var1, int var2, int var3) { + this.aByteArray4028 = new byte[var1 * var2 * var3 * 2]; + this.method2230(-95, var1, var3, var2); + return this.aByteArray4028; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class164_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class164_Sub2.java new file mode 100644 index 000000000..a203def67 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class164_Sub2.java @@ -0,0 +1,326 @@ +package org.runite.jagex; + +class Class164_Sub2 extends Class164 { + + private int anInt3018; + static Class33 aClass33_3019; + static int anInt3020 = 0; + private int anInt3021; + private int anInt3022; + private int anInt3023; + private int anInt3024; + private byte[] aByteArray3025; + private int anInt3026; + static byte[][] aByteArrayArray3027; + private int anInt3028; + private int anInt3029; + + + void method2244(int var1, byte var2) { + try { + this.aByteArray3025[var1] = var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "we.G(" + var1 + ',' + var2 + ')'); + } + } + + final void method2231(byte var1) { + try { + this.anInt3018 = this.anInt3021; + this.anInt3029 >>= 4; + if(0 > this.anInt3029) { + this.anInt3029 = 0; + } else if(255 < this.anInt3029) { + this.anInt3029 = 255; + } + + this.method2244(this.anInt3028++, (byte)this.anInt3029); + if(var1 == -92) { + this.anInt3029 = 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "we.A(" + var1 + ')'); + } + } + + public static void method2245(byte var0) { + try { + aClass33_3019 = null; + if(var0 != -74) { + aByteArrayArray3027 = (byte[][])((byte[][])null); + } + + aByteArrayArray3027 = (byte[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "we.I(" + var0 + ')'); + } + } + + Class164_Sub2(int var1, int var2, int var3, int var4, int var5, float var6, float var7, float var8) { + super(var1, var2, var3, var4, var5); + + try { + this.anInt3022 = (int)(4096.0F * var8); + this.anInt3026 = (int)(var7 * 4096.0F); + this.anInt3018 = this.anInt3021 = (int)(Math.pow(0.5D, (double)(-var6)) * 4096.0D); + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "we.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final int method2246(byte var0, int var1) { + try { + int var2 = var1 * (var1 * var1 >> 12) >> 12; + if(var0 <= 59) { + aByteArrayArray3027 = (byte[][])((byte[][])null); + } + + int var3 = 6 * var1 - '\uf000'; + int var4 = (var1 * var3 >> 12) + '\ua000'; + return var2 * var4 >> 12; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "we.E(" + var0 + ',' + var1 + ')'); + } + } + + static final int method2247(byte var0, int var1, RSInterface var2) { + try { + if(var2.childDataBuffers != null && ~var1 > ~var2.childDataBuffers.length) { + int var3 = -92 % ((var0 - 71) / 34); + + try { + int[] var4 = var2.childDataBuffers[var1]; + byte var7 = 0; + int var5 = 0; + int var6 = 0; + + while(true) { + int var9 = 0; + int var8 = var4[var6++]; + byte var10 = 0; + if(~var8 == -1) { + return var5; + } + + if(15 == var8) { + var10 = 1; + } + + if(16 == var8) { + var10 = 2; + } + + if(~var8 == -2) { + var9 = Class3_Sub13_Sub15.anIntArray3185[var4[var6++]]; + } + + if(-18 == ~var8) { + var10 = 3; + } + + if(-3 == ~var8) { + var9 = Class3_Sub20.anIntArray2480[var4[var6++]]; + } + + if(~var8 == -4) { + var9 = Class133.anIntArray1743[var4[var6++]]; + } + + int var11; + RSInterface var12; + int var13; + int var14; + if(-5 == ~var8) { + var11 = var4[var6++] << 16; + var11 += var4[var6++]; + var12 = Class7.getRSInterface((byte)124, var11); + var13 = var4[var6++]; + if(-1 != var13 && (!Class38.getItemDefinition(var13, (byte)109).membersItem || Class2.isMember)) { + for(var14 = 0; ~var12.itemAmounts.length < ~var14; ++var14) { + if(1 + var13 == var12.itemAmounts[var14]) { + var9 += var12.itemIds[var14]; + } + } + } + } + + if(var8 == 5) { + var9 = Class163_Sub1.anIntArray2985[var4[var6++]]; + } + + if(6 == var8) { + var9 = ItemDefinition.anIntArray781[-1 + Class3_Sub20.anIntArray2480[var4[var6++]]]; + } + + if(~var8 == -8) { + var9 = 100 * Class163_Sub1.anIntArray2985[var4[var6++]] / '\ub71b'; + } + + if(-9 == ~var8) { + var9 = Class102.player.COMBAT_LEVEL; + } + + if(9 == var8) { + for(var11 = 0; -26 < ~var11; ++var11) { + if(Class3_Sub23.aBooleanArray2538[var11]) { + var9 += Class3_Sub20.anIntArray2480[var11]; + } + } + } + + if(var8 == 10) { + var11 = var4[var6++] << 16; + var11 += var4[var6++]; + var12 = Class7.getRSInterface((byte)115, var11); + var13 = var4[var6++]; + if(~var13 != 0 && (!Class38.getItemDefinition(var13, (byte)88).membersItem || Class2.isMember)) { + for(var14 = 0; ~var12.itemAmounts.length < ~var14; ++var14) { + if(~var12.itemAmounts[var14] == ~(1 + var13)) { + var9 = 999999999; + break; + } + } + } + } + + if(-12 == ~var8) { + var9 = Class9.anInt136; + } + + if(12 == var8) { + var9 = Class149.anInt1925; + } + + if(-14 == ~var8) { + var11 = Class163_Sub1.anIntArray2985[var4[var6++]]; + int var17 = var4[var6++]; + var9 = ~(1 << var17 & var11) == -1?0:1; + } + + if(-15 == ~var8) { + var11 = var4[var6++]; + var9 = NPCDefinition.method1484(64835055, var11); + } + + if(~var8 == -19) { + var9 = (Class102.player.anInt2819 >> 7) - -Class131.anInt1716; + } + + if(-20 == ~var8) { + var9 = (Class102.player.anInt2829 >> 7) - -Class82.anInt1152; + } + + if(var8 == 20) { + var9 = var4[var6++]; + } + + if(0 == var10) { + if(0 == var7) { + var5 += var9; + } + + if(-2 == ~var7) { + var5 -= var9; + } + + if(2 == var7 && ~var9 != -1) { + var5 /= var9; + } + + if(var7 == 3) { + var5 *= var9; + } + + var7 = 0; + } else { + var7 = var10; + } + } + } catch (Exception var15) { + return -1; + } + } else { + return -2; + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "we.D(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final boolean method2248(int var0, int var1) { + try { + if(var0 != -157) { + aClass33_3019 = (Class33)null; + } + + return 32 <= var1 && -127 <= ~var1?true:(~var1 <= -161 && 255 >= var1?true:~var1 == -129 || -141 == ~var1 || ~var1 == -152 || ~var1 == -157 || var1 == 159); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "we.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method2249(byte var0, int var1) { + try { + Class3 var2 = Class124.aClass130_1659.method1776(var0 + -6); + if(var0 != 83) { + aClass33_3019 = (Class33)null; + } + + for(; var2 != null; var2 = Class124.aClass130_1659.method1778(-97)) { + if(~(65535L & var2.aLong71 >> 48) == ~((long)var1)) { + var2.method86(-1024); + } + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "we.F(" + var0 + ',' + var1 + ')'); + } + } + + final void method2237(int var1, int var2, int var3) { + try { + if(0 != var2) { + this.anInt3023 = this.anInt3022 * this.anInt3024 >> 12; + if(-1 >= ~this.anInt3023) { + if(~this.anInt3023 < -4097) { + this.anInt3023 = 4096; + } + } else { + this.anInt3023 = 0; + } + + this.anInt3024 = -(-1 >= ~var1?var1:-var1) + this.anInt3026; + this.anInt3024 = this.anInt3024 * this.anInt3024 >> 12; + this.anInt3024 = this.anInt3024 * this.anInt3023 >> 12; + this.anInt3029 += this.anInt3018 * this.anInt3024 >> 12; + this.anInt3018 = this.anInt3021 * this.anInt3018 >> 12; + } else { + this.anInt3023 = 4096; + this.anInt3024 = -(-1 >= ~var1?var1:-var1) + this.anInt3026; + this.anInt3024 = this.anInt3024 * this.anInt3024 >> 12; + this.anInt3029 = this.anInt3024; + } + + if(var3 != -20975) { + this.method2244(-80, (byte)-24); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "we.H(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method2233(int var1) { + try { + this.anInt3028 = 0; + this.anInt3029 = 0; + if(var1 != -949697716) { + method2249((byte)-82, -73); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "we.C(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class164_Sub2_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class164_Sub2_Sub1.java new file mode 100644 index 000000000..c99dcbed3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class164_Sub2_Sub1.java @@ -0,0 +1,24 @@ +package org.runite.jagex; + +final class Class164_Sub2_Sub1 extends Class164_Sub2 { + + private byte[] aByteArray4029; + + + public Class164_Sub2_Sub1() { + super(8, 5, 8, 8, 2, 0.1F, 0.55F, 3.0F); + } + + final byte[] method2250(int var1, int var2, int var3) { + this.aByteArray4029 = new byte[var1 * var2 * var3 * 2]; + this.method2230(-98, var1, var3, var2); + return this.aByteArray4029; + } + + final void method2244(int var1, byte var2) { + int var3 = var1 * 2; + int var4 = var2 & 255; + this.aByteArray4029[var3++] = (byte)(3 * var4 >> 5); + this.aByteArray4029[var3] = (byte)(var4 >> 2); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class165.java b/09HDscape-client/src/org/runite/jagex/Class165.java new file mode 100644 index 000000000..b6a2c9a77 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class165.java @@ -0,0 +1,181 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class165 implements Interface5 { + + private float[] aFloatArray2190 = new float[4]; + private static boolean aBoolean2191 = false; + private int anInt2192 = -1; + private int anInt2193 = -1; + + + private final void method2251() { + GL var1 = HDToolKit.gl; + this.anInt2193 = var1.glGenLists(2); + var1.glNewList(this.anInt2193, 4864); + var1.glActiveTexture('\u84c1'); + if(aBoolean2191) { + var1.glBindTexture('\u806f', Class88.anInt1228); + var1.glTexEnvi(8960, '\u8571', 260); + var1.glTexEnvi(8960, '\u8590', 768); + var1.glTexEnvi(8960, '\u8572', 7681); + var1.glTexEnvi(8960, '\u8588', '\u8578'); + var1.glTexGeni(8192, 9472, 9216); + var1.glTexGeni(8194, 9472, 9216); + var1.glTexGeni(8193, 9472, 9216); + var1.glTexGeni(8195, 9472, 9217); + var1.glTexGenfv(8195, 9473, new float[]{0.0F, 0.0F, 0.0F, 1.0F}, 0); + var1.glEnable(3168); + var1.glEnable(3169); + var1.glEnable(3170); + var1.glEnable(3171); + var1.glEnable('\u806f'); + var1.glActiveTexture('\u84c2'); + var1.glTexEnvi(8960, 8704, '\u8570'); + } + + var1.glBindTexture(3552, this.anInt2192); + var1.glTexEnvi(8960, '\u8571', '\u8575'); + var1.glTexEnvi(8960, '\u8580', '\u8576'); + var1.glTexEnvi(8960, '\u8582', 5890); + var1.glTexEnvi(8960, '\u8572', 7681); + var1.glTexEnvi(8960, '\u8588', '\u8578'); + var1.glTexGeni(8192, 9472, 9216); + var1.glEnable(3552); + var1.glEnable(3168); + var1.glActiveTexture('\u84c0'); + var1.glEndList(); + var1.glNewList(this.anInt2193 + 1, 4864); + var1.glActiveTexture('\u84c1'); + if(aBoolean2191) { + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8590', 768); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + var1.glDisable(3168); + var1.glDisable(3169); + var1.glDisable(3170); + var1.glDisable(3171); + var1.glDisable('\u806f'); + var1.glActiveTexture('\u84c2'); + var1.glTexEnvi(8960, 8704, 8448); + } + + var1.glTexEnvfv(8960, 8705, new float[]{0.0F, 1.0F, 0.0F, 1.0F}, 0); + var1.glTexEnvi(8960, '\u8571', 8448); + var1.glTexEnvi(8960, '\u8580', 5890); + var1.glTexEnvi(8960, '\u8582', '\u8576'); + var1.glTexEnvi(8960, '\u8572', 8448); + var1.glTexEnvi(8960, '\u8588', 5890); + var1.glDisable(3552); + var1.glDisable(3168); + var1.glActiveTexture('\u84c0'); + var1.glEndList(); + } + + static final int method2252() { + return aBoolean2191?'\u84c2':'\u84c1'; + } + + static final void method2253() { + GL var0 = HDToolKit.gl; + var0.glClientActiveTexture(method2252()); + var0.glDisableClientState('\u8078'); + var0.glClientActiveTexture('\u84c0'); + } + + public final void method22() { + GL var1 = HDToolKit.gl; + var1.glCallList(this.anInt2193); + } + + static final void method2254() { + GL var0 = HDToolKit.gl; + var0.glClientActiveTexture(method2252()); + var0.glEnableClientState('\u8078'); + var0.glClientActiveTexture('\u84c0'); + } + + public final int method24() { + return 0; + } + + public final void method21() { + GL var1 = HDToolKit.gl; + var1.glCallList(this.anInt2193 + 1); + } + + public final void method23(int var1) { + GL var2 = HDToolKit.gl; + var2.glActiveTexture('\u84c1'); + if(!aBoolean2191 && var1 < 0) { + var2.glDisable(3168); + } else { + var2.glPushMatrix(); + var2.glLoadIdentity(); + var2.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + var2.glRotatef((float)Class140_Sub7.anInt2938 * 360.0F / 2048.0F, 1.0F, 0.0F, 0.0F); + var2.glRotatef((float)Class3_Sub13_Sub8.anInt3103 * 360.0F / 2048.0F, 0.0F, 1.0F, 0.0F); + var2.glTranslatef((float)(-Class9.anInt144), (float)(-Class3_Sub28_Sub15.anInt3695), (float)(-Class3_Sub29.anInt2587)); + if(aBoolean2191) { + this.aFloatArray2190[0] = 0.0010F; + this.aFloatArray2190[1] = 9.0E-4F; + this.aFloatArray2190[2] = 0.0F; + this.aFloatArray2190[3] = 0.0F; + var2.glTexGenfv(8192, 9474, this.aFloatArray2190, 0); + this.aFloatArray2190[0] = 0.0F; + this.aFloatArray2190[1] = 9.0E-4F; + this.aFloatArray2190[2] = 0.0010F; + this.aFloatArray2190[3] = 0.0F; + var2.glTexGenfv(8193, 9474, this.aFloatArray2190, 0); + this.aFloatArray2190[0] = 0.0F; + this.aFloatArray2190[1] = 0.0F; + this.aFloatArray2190[2] = 0.0F; + this.aFloatArray2190[3] = (float)HDToolKit.anInt1791 * 0.0050F; + var2.glTexGenfv(8194, 9474, this.aFloatArray2190, 0); + var2.glActiveTexture('\u84c2'); + } + + var2.glTexEnvfv(8960, 8705, Class72.method1297((byte)-50), 0); + if(var1 >= 0) { + this.aFloatArray2190[0] = 0.0F; + this.aFloatArray2190[1] = 1.0F / (float)Class3_Sub13_Sub23.anInt3285; + this.aFloatArray2190[2] = 0.0F; + this.aFloatArray2190[3] = 1.0F * (float)var1 / (float)Class3_Sub13_Sub23.anInt3285; + var2.glTexGenfv(8192, 9474, this.aFloatArray2190, 0); + var2.glEnable(3168); + } else { + var2.glDisable(3168); + } + + var2.glPopMatrix(); + } + + var2.glActiveTexture('\u84c0'); + } + + public Class165() { + if(HDToolKit.anInt1789 >= 2) { + int[] var1 = new int[1]; + byte[] var2 = new byte[8]; + + for(int var3 = 0; var3 < 8; var2[var3++] = (byte)(96 + var3 * 159 / 8)) { + ; + } + + GL var4 = HDToolKit.gl; + var4.glGenTextures(1, var1, 0); + var4.glBindTexture(3552, var1[0]); + var4.glTexImage1D(3552, 0, 6406, 8, 0, 6406, 5121, ByteBuffer.wrap(var2)); + var4.glTexParameteri(3552, 10241, 9729); + var4.glTexParameteri(3552, 10240, 9729); + var4.glTexParameteri(3552, 10242, '\u812f'); + this.anInt2192 = var1[0]; + aBoolean2191 = HDToolKit.anInt1789 > 2 && HDToolKit.aBoolean1802; + this.method2251(); + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class166.java b/09HDscape-client/src/org/runite/jagex/Class166.java new file mode 100644 index 000000000..0ab384803 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class166.java @@ -0,0 +1,148 @@ +package org.runite.jagex; + +final class Class166 { + + int anInt2063; + byte[] aByteArray2064; + static Class3_Sub2[][][] aClass3_Sub2ArrayArrayArray2065; + int anInt2066; + int anInt2067; + static int[] anIntArray2068 = new int[50]; + int anInt2069; + static Class3_Sub28_Sub5[] aClass3_Sub28_Sub5Array2070 = new Class3_Sub28_Sub5[14]; + int anInt2071; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array2072; + static int[] anIntArray2073 = new int[5]; + static RSString aClass94_2074 = RSString.createRSString("; version=1; path=)4; domain="); + static RSString aClass94_2075 = RSString.createRSString("rect_debug="); + byte[] aByteArray2076; + int anInt2077; + int anInt2078; + static int anInt2079 = 0; + static RSString aClass94_2080 = RSString.createRSString("(U2"); + static int anInt2081; + + + public static void method2255(byte var0) { + try { + anIntArray2073 = null; + aClass3_Sub2ArrayArrayArray2065 = (Class3_Sub2[][][])null; + aClass94_2080 = null; + aClass94_2075 = null; + if(var0 >= -126) { + aClass94_2080 = (RSString)null; + } + + anIntArray2068 = null; + aClass3_Sub28_Sub5Array2070 = null; + aClass3_Sub28_Sub16Array2072 = null; + aClass94_2074 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wh.B(" + var0 + ')'); + } + } + + static final boolean method2256(int var0, int var1, int var2, int var3) { + if(!Class8.method846(var0, var1, var2)) { + return false; + } else { + int var4 = var1 << 7; + int var5 = var2 << 7; + return Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2] + var3, var5 + 1) && Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2] + var3, var5 + 1) && Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2 + 1] + var3, var5 + 128 - 1) && Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2 + 1] + var3, var5 + 128 - 1); + } + } + + static final void method2257(int var0) { + try { + if(var0 < 60) { + aClass3_Sub28_Sub16Array2072 = (Class3_Sub28_Sub16[])null; + } + + Class163_Sub2_Sub1.aClass93_4015.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wh.F(" + var0 + ')'); + } + } + + static final void method2258(int var0, int var1, RSString var2) { + try { + RSString var3 = var2.method1579(-17).method1545((byte)-50); + boolean var4 = false; + + for(int var5 = var1; ~var5 > ~Class159.localPlayerCount; ++var5) { + Player var6 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var5]]; + if(null != var6 && null != var6.displayName && var6.displayName.equals(-110, var3)) { + var4 = true; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var6.anIntArray2767[0], 1, 0, 2, var6.anIntArray2755[0], Class102.player.anIntArray2767[0]); + if(1 == var0) { + ++ItemDefinition.anInt759; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(68); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class56.localPlayerIndexes[var5]); + } else if(4 != var0) { + if(5 != var0) { + if(~var0 != -7) { + if(~var0 == -8) { + ++Class20.anInt437; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(114); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class56.localPlayerIndexes[var5]); + } + } else { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(133); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class56.localPlayerIndexes[var5]); + ++Class3_Sub24_Sub4.anInt3517; + } + } else { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(4); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var1 + -1, Class56.localPlayerIndexes[var5]); + ++IOHandler.anInt1240; + } + } else { + ++Class148.anInt1910; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(180); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class56.localPlayerIndexes[var5]); + } + break; + } + } + + if(!var4) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{Class43.aClass94_691, var3}, (byte)-77), -1); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "wh.D(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final AbstractIndexedSprite method2259(byte var0) { + try { + Object var1; + if(HDToolKit.highDetail) { + var1 = new HDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], Class163_Sub1.aByteArrayArray2987[0], Class3_Sub13_Sub38.spritePalette); + } else { + var1 = new LDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], Class163_Sub1.aByteArrayArray2987[0], Class3_Sub13_Sub38.spritePalette); + } + + if(var0 != -40) { + method2257(83); + } + + Class39.method1035((byte)116); + return (AbstractIndexedSprite)var1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wh.A(" + var0 + ')'); + } + } + + static final void method2260(int var0, int var1) { + try { + Class3_Sub13_Sub34.aClass93_3412.method1522(var0 + 919, var1); + if(var0 == -1045) { + Class3_Sub13_Sub31.aClass93_3369.method1522(var0 ^ 1130, var1); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wh.E(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class167.java b/09HDscape-client/src/org/runite/jagex/Class167.java new file mode 100644 index 000000000..9d2661901 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class167.java @@ -0,0 +1,322 @@ +package org.runite.jagex; + +final class Class167 { + + static RSString aClass94_2082 = RSString.createRSString(" "); + static RSString aClass94_2083 = null; + static RSString aClass94_2084 = RSString.createRSString("ul"); + static int anInt2085; + static RSString aClass94_2086 = RSString.createRSString("Continuer"); + static int anInt2087 = 0; + + + static final void addLocalNPCs(int var0) { + try { + while(true) { + if(GraphicDefinition.incomingBuffer.method815(Class130.incomingPacketLength, 32666) >= 27) { + int var1 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 15); + if(32767 != var1) { + boolean var2 = false; + if(null == Class3_Sub13_Sub24.npcs[var1]) { + var2 = true; + Class3_Sub13_Sub24.npcs[var1] = new NPC(); + } + + NPC var3 = Class3_Sub13_Sub24.npcs[var1]; + Class15.localNPCIndexes[Class163.localNPCCount++] = var1; + var3.anInt2838 = Class44.anInt719; + if(null != var3.definition && var3.definition.method1474(-1)) { + Class3_Sub28_Sub8.method574(var3, false); + } + + int var4 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + int var5 = Class27.anIntArray510[GraphicDefinition.incomingBuffer.getBits((byte)-11, 3)]; + if(var2) { + var3.anInt2806 = var3.anInt2785 = var5; + } + + int var6 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~var6 == -2) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var1; + } + + int var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 5); + var3.setDefinitions(-1, Node.method522(GraphicDefinition.incomingBuffer.getBits((byte)-11, 14), 27112)); + if(15 < var7) { + var7 -= 32; + } + + int var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 5); + if(15 < var8) { + var8 -= 32; + } + + var3.setSize(var3.definition.size, 2); + var3.renderAnimationId = var3.definition.renderAnimationId; + var3.anInt2779 = var3.definition.anInt1274; + if(~var3.anInt2779 == -1) { + var3.anInt2785 = 0; + } + + var3.method1967(-2, var3.getSize((byte)114), Class102.player.anIntArray2767[0] + var8, var7 + Class102.player.anIntArray2755[0], ~var4 == -2); + if(var3.definition.method1474(-1)) { + Class70.method1286(var3.anIntArray2755[0], false, (ObjectDefinition)null, 0, var3, var3.anIntArray2767[0], WorldListCountry.localPlane, (Player)null); + } + continue; + } + } + + GraphicDefinition.incomingBuffer.method818(false); + if(var0 <= 0) { + method2265(-16); + } + + return; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "wj.E(" + var0 + ')'); + } + } + + public static void method2262(byte var0) { + try { + aClass94_2083 = null; + if(var0 > 0) { + aClass94_2086 = null; + aClass94_2082 = null; + aClass94_2084 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wj.F(" + var0 + ')'); + } + } + + static final void method2263(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + Class113 var7 = new Class113(); + var7.anInt1553 = var1 / 128; + var7.anInt1547 = var2 / 128; + var7.anInt1563 = var3 / 128; + var7.anInt1566 = var4 / 128; + var7.anInt1554 = var0; + var7.anInt1562 = var1; + var7.anInt1545 = var2; + var7.anInt1560 = var3; + var7.anInt1550 = var4; + var7.anInt1544 = var5; + var7.anInt1548 = var6; + Class3_Sub28_Sub8.aClass113Array3610[Class3_Sub4.anInt2249++] = var7; + } + + static final void method2264(boolean var0) { + if(var0) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638 = Class166.aClass3_Sub2ArrayArrayArray2065; + Class44.anIntArrayArrayArray723 = Class3_Sub28_Sub7.anIntArrayArrayArray3605; + Class3_Sub23.aClass3_Sub11ArrayArray2542 = Class3_Sub13_Sub28.aClass3_Sub11ArrayArray3346; + } else { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638 = Class3_Sub28_Sub10_Sub2.aClass3_Sub2ArrayArrayArray4070; + Class44.anIntArrayArrayArray723 = Class58.anIntArrayArrayArray914; + Class3_Sub23.aClass3_Sub11ArrayArray2542 = Client.aClass3_Sub11ArrayArray2199; + } + + Class3_Sub17.anInt2456 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638.length; + } + + static final void method2265(int var0) { + try { + CS2Script.aClass93_2442.method1524(3); + if(var0 != 0) { + aClass94_2084 = (RSString)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wj.B(" + var0 + ')'); + } + } + + static final void method2266(int var0, int var1, byte var2) { + try { + if(Class9.anInt120 != 0 && var1 != -1) { + Class70.method1285(Node.aClass153_2573, false, var1, 0, false, Class9.anInt120); + Class83.aBoolean1158 = true; + } + + if(var2 != -1) { + aClass94_2084 = (RSString)null; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wj.D(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method2267(int var0, int var1, boolean var2, RSByteBuffer var3, int var4, int var5, byte var6, int var7, int var8) { + try { + int var9; + if(-1 >= ~var5 && ~var5 > -105 && var4 >= 0 && -105 < ~var4) { + if(!var2) { + Class9.aByteArrayArrayArray113[var8][var5][var4] = 0; + } + + while(true) { + var9 = var3.getByte((byte)-111); + if(-1 == ~var9) { + if(!var2) { + if(~var8 != -1) { + Class44.anIntArrayArrayArray723[var8][var5][var4] = -240 + Class44.anIntArrayArrayArray723[var8 - 1][var5][var4]; + } else { + Class44.anIntArrayArrayArray723[0][var5][var4] = 8 * -Class32.method993(var4 + 556238 + var1, 125, var0 + var5 + 932731); + } + } else { + Class44.anIntArrayArrayArray723[0][var5][var4] = Class58.anIntArrayArrayArray914[0][var5][var4]; + } + break; + } + + if(var9 == 1) { + int var10 = var3.getByte((byte)-110); + if(!var2) { + if(~var10 == -2) { + var10 = 0; + } + + if(-1 == ~var8) { + Class44.anIntArrayArrayArray723[0][var5][var4] = 8 * -var10; + } else { + Class44.anIntArrayArrayArray723[var8][var5][var4] = -(var10 * 8) + Class44.anIntArrayArrayArray723[-1 + var8][var5][var4]; + } + } else { + Class44.anIntArrayArrayArray723[0][var5][var4] = Class58.anIntArrayArrayArray914[0][var5][var4] - -(var10 * 8); + } + break; + } + + if(49 >= var9) { + Class139.aByteArrayArrayArray1828[var8][var5][var4] = var3.getByte(); + Class93.aByteArrayArrayArray1328[var8][var5][var4] = (byte)((-2 + var9) / 4); + PacketParser.aByteArrayArrayArray81[var8][var5][var4] = (byte)Class3_Sub28_Sub15.method633(-2 + var9 + var7, 3); + } else if(var9 > 81) { + Class3_Sub13_Sub36.aByteArrayArrayArray3430[var8][var5][var4] = (byte)(-81 + var9); + } else if(!var2) { + Class9.aByteArrayArrayArray113[var8][var5][var4] = (byte)(var9 - 49); + } + } + } else { + while(true) { + var9 = var3.getByte((byte)-103); + if(~var9 == -1) { + break; + } + + if(~var9 == -2) { + var3.getByte((byte)-48); + break; + } + + if(-50 <= ~var9) { + var3.getByte((byte)-68); + } + } + } + + if(var6 < 58) { + anInt2087 = 87; + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "wj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final int method2268(byte var0, int var1, int var2) { + try { + Class3_Sub25 var3 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var1, 0); + if(var3 != null) { + if(var2 != -1) { + int var4 = 0; + + for(int var5 = 0; ~var5 > ~var3.anIntArray2551.length; ++var5) { + if(~var2 == ~var3.anIntArray2547[var5]) { + var4 += var3.anIntArray2551[var5]; + } + } + + if(var0 > -45) { + aClass94_2086 = (RSString)null; + } + + return var4; + } else { + return 0; + } + } else { + return 0; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wj.H(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method2269(byte var0) { + try { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + Class3_Sub13_Sub30.method313((byte)110); + Class32.method995(); + + int var1; + for(var1 = 0; ~var1 > -5; ++var1) { + Class86.aClass91Array1182[var1].method1496(0); + } + + Class66.method1250(62, false); + System.gc(); + NodeList.method882(-1, 2); + Class83.aBoolean1158 = false; + Class129.anInt1691 = -1; + Class164_Sub1.method2241((byte)-77, true); + Class3_Sub29.isDynamicSceneGraph = false; + Class82.anInt1152 = 0; + Class3_Sub28_Sub7.anInt3606 = 0; + Class3_Sub7.anInt2294 = 0; + Class131.anInt1716 = 0; + + for(var1 = 0; RuntimeException_Sub1.aClass96Array2114.length > var1; ++var1) { + RuntimeException_Sub1.aClass96Array2114[var1] = null; + } + + Class159.localPlayerCount = 0; + Class163.localNPCCount = 0; + if(var0 != 46) { + method2269((byte)43); + } + + for(var1 = 0; var1 < 2048; ++var1) { + Class3_Sub13_Sub22.players[var1] = null; + Class65.aClass3_Sub30Array986[var1] = null; + } + + for(var1 = 0; -32769 < ~var1; ++var1) { + Class3_Sub13_Sub24.npcs[var1] = null; + } + + for(var1 = 0; 4 > var1; ++var1) { + for(int var2 = 0; -105 < ~var2; ++var2) { + for(int var3 = 0; ~var3 > -105; ++var3) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var1][var2][var3] = null; + } + } + } + + Class3_Sub28_Sub5.method560(-21556); + Class113.interfacePacketCounter = 0; + Class3_Sub13_Sub2.method176(var0 + -161); + Class3_Sub13_Sub11.method219(true, 3000); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wj.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class168.java b/09HDscape-client/src/org/runite/jagex/Class168.java new file mode 100644 index 000000000..cd85ba6cf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class168.java @@ -0,0 +1,1060 @@ +package org.runite.jagex; + +final class Class168 { + + static int anInt2088; + static RSString aClass94_2089 = RSString.createRSString("compass"); + int anInt2090 = 128; + static RSInterface aClass11_2091 = null; + boolean aBoolean2092 = false; + boolean aBoolean2093 = true; + int anInt2094 = 1190717; + int anInt2095 = -1; + static Class3_Sub28_Sub17 aClass3_Sub28_Sub17_2096; + static CacheIndex aClass153_2097; + int anInt2098 = -1; + static int anInt2099 = 0; + int anInt2100 = 8; + int anInt2101 = 16; + boolean aBoolean2102 = true; + int anInt2103 = 0; + static int anInt2104; + + + static final void method2270(Class140_Sub4 var0, byte var1) { + try { + if(Class44.anInt719 == var0.anInt2790 || ~var0.anInt2771 == 0 || var0.anInt2828 != 0 || ~(1 + var0.anInt2760) < ~Client.getAnimationDefinition(var0.anInt2771, (byte)-20).duration[var0.anInt2832]) { + int var2 = var0.anInt2790 + -var0.anInt2800; + int var3 = Class44.anInt719 + -var0.anInt2800; + int var4 = var0.anInt2784 * 128 + 64 * var0.getSize((byte)114); + int var5 = var0.anInt2835 * 128 - -(var0.getSize((byte)114) * 64); + int var6 = 128 * var0.anInt2823 + var0.getSize((byte)114) * 64; + int var7 = 128 * var0.anInt2798 + var0.getSize((byte)114) * 64; + var0.anInt2819 = (var3 * var6 + var4 * (var2 - var3)) / var2; + var0.anInt2829 = (var7 * var3 + var5 * (var2 - var3)) / var2; + } + + if(var1 <= -51) { + var0.anInt2824 = 0; + if(-1 == ~var0.anInt2840) { + var0.anInt2806 = 1024; + } + + if(1 == var0.anInt2840) { + var0.anInt2806 = 1536; + } + + if(-3 == ~var0.anInt2840) { + var0.anInt2806 = 0; + } + + if(var0.anInt2840 == 3) { + var0.anInt2806 = 512; + } + + var0.anInt2785 = var0.anInt2806; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "wl.K(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method2271(int var0, int var1, int var2, int var3) { + try { + if(var2 != 1) { + method2273((RSInterface)null, 43); + } + + Class3_Sub28_Sub6 var4 = Class3_Sub24_Sub3.method466(var2 ^ 5, 11, var1); + var4.g((byte)33); + var4.anInt3597 = var3; + var4.anInt3598 = var0; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "wl.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method2272(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, boolean var9, byte var10) { + try { + int var11 = var2; + if(~Class74.anInt1096 < ~var2) { + if(~var2 > ~Class74.anInt1093) { + var11 = Class74.anInt1093; + } + + int var12 = var7 + var2; + if(Class74.anInt1093 < var12) { + if(Class74.anInt1096 < var12) { + var12 = Class74.anInt1096; + } + + int var13 = var8; + if(~Class74.anInt1099 < ~var8) { + int var14 = var8 + var6; + if(~var8 > ~Class74.anInt1095) { + var13 = Class74.anInt1095; + } + + if(var14 > Class74.anInt1095) { + if(var10 == 21) { + int var15 = var11 + Class74.anInt1092 * var13; + if(-10 == ~var5) { + var3 = 3 & var3 - -1; + var5 = 1; + } + + int var16 = -var12 + var11 + Class74.anInt1092; + var13 -= var8; + int var20 = var6 + -var13; + if(Class74.anInt1099 < var14) { + var14 = Class74.anInt1099; + } + + if(~var5 == -11) { + var3 = var3 - -3 & 3; + var5 = 1; + } + + var11 -= var2; + int var18 = -var11 + var7; + if(11 == var5) { + var3 = 3 & var3 + 3; + var5 = 8; + } + + var12 -= var2; + int var17 = var7 + -var12; + var14 -= var8; + int var19 = var6 - var14; + int var21; + int var22; + if(-2 != ~var5) { + if(2 == var5) { + if(-1 != ~var3) { + if(1 == var3) { + for(var21 = var13; ~var21 > ~var14; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(0 <= var15 && ~var15 > ~var0.length) { + if(~(var21 << 1) >= ~var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } else { + ++var15; + } + } + + var15 += var16; + } + + } else if(var3 != 2) { + if(3 == var3) { + for(var21 = var20 + -1; var19 <= var21; --var21) { + for(var22 = -1 + var18; var17 <= var22; --var22) { + if(var21 << 1 > var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var18 + -1; var17 <= var22; --var22) { + if(var21 >> 1 >= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var20 + -1; var19 <= var21; --var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(~(var21 >> 1) <= ~var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } else if(~var5 != -4) { + if(~var5 != -5) { + if(var5 != 5) { + if(~var5 == -7) { + if(~var3 == -1) { + for(var21 = var13; var14 > var21; ++var21) { + for(var22 = var11; var12 > var22; ++var22) { + if(var22 > var7 / 2) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(~var3 == -2) { + for(var21 = var13; ~var21 > ~var14; ++var21) { + for(var22 = var11; var12 > var22; ++var22) { + if(var21 > var6 / 2) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(2 == var3) { + for(var21 = var13; ~var21 > ~var14; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(var22 >= var7 / 2) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(~var3 == -4) { + for(var21 = var13; ~var21 > ~var14; ++var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(~var21 > ~(var6 / 2)) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + } + + if(7 == var5) { + if(0 == var3) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(var22 <= var21 + -(var6 / 2)) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(var3 == 1) { + for(var21 = var20 + -1; var21 >= var19; --var21) { + for(var22 = var11; var12 > var22; ++var22) { + if(~(-(var6 / 2) + var21) > ~var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(~var3 == -3) { + for(var21 = var20 + -1; ~var19 >= ~var21; --var21) { + for(var22 = -1 + var18; ~var17 >= ~var22; --var22) { + if(var22 > var21 + -(var6 / 2)) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(3 == var3) { + for(var21 = var13; ~var21 > ~var14; ++var21) { + for(var22 = -1 + var18; ~var22 <= ~var17; --var22) { + if(var21 + -(var6 / 2) >= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + } + + if(~var5 == -9) { + if(0 == var3) { + for(var21 = var13; var14 > var21; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(-(var6 / 2) + var21 <= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(var3 == 1) { + for(var21 = -1 + var20; var21 >= var19; --var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(-(var6 / 2) + var21 > var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(var3 == 2) { + for(var21 = var20 - 1; ~var21 <= ~var19; --var21) { + for(var22 = -1 + var18; ~var17 >= ~var22; --var22) { + if(~var22 > ~(var21 - var6 / 2)) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + + if(~var3 == -4) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = -1 + var18; ~var22 <= ~var17; --var22) { + if(var21 + -(var6 / 2) > var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + return; + } + } + + } else if(0 == var3) { + for(var21 = var20 + -1; var21 >= var19; --var21) { + for(var22 = -1 + var18; ~var17 >= ~var22; --var22) { + if(var21 >> 1 <= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(1 == var3) { + for(var21 = -1 + var20; ~var19 >= ~var21; --var21) { + for(var22 = var11; var22 < var12; ++var22) { + if(var22 > var21 << 1) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } else if(~var3 != -3) { + if(~var3 == -4) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var18 + -1; var17 <= var22; --var22) { + if(var21 << 1 >= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var13; var14 > var21; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(~var22 > ~(var21 >> 1)) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } + } else if(~var3 != -1) { + if(1 == var3) { + for(var21 = var13; var21 < var14; ++var21) { + for(var22 = var11; var22 < var12; ++var22) { + if(~(var21 << 1) <= ~var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(2 == var3) { + for(var21 = var13; var21 < var14; ++var21) { + for(var22 = var18 + -1; ~var17 >= ~var22; --var22) { + if(~var22 <= ~(var21 >> 1)) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(var3 == 3) { + for(var21 = -1 + var20; ~var19 >= ~var21; --var21) { + for(var22 = -1 + var18; ~var17 >= ~var22; --var22) { + if(var22 <= var21 << 1) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var20 + -1; ~var19 >= ~var21; --var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(~(var21 >> 1) < ~var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } + } else if(-1 == ~var3) { + for(var21 = var20 - 1; ~var19 >= ~var21; --var21) { + for(var22 = -1 + var18; var17 <= var22; --var22) { + if(~(var21 >> 1) <= ~var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(~var3 == -2) { + for(var21 = -1 + var20; ~var21 <= ~var19; --var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(var22 >= var21 << 1) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(2 == var3) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(~var22 >= ~(var21 >> 1)) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(3 == var3) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var18 - 1; ~var22 <= ~var17; --var22) { + if(~(var21 << 1) < ~var22) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } + } else if(var3 == 0) { + for(var21 = var13; ~var14 < ~var21; ++var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(~var22 >= ~var21) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } else if(1 != var3) { + if(2 != var3) { + if(-4 == ~var3) { + for(var21 = var20 + -1; var19 <= var21; --var21) { + for(var22 = var11; ~var22 > ~var12; ++var22) { + if(var22 < var21) { + if(var9) { + var0[var15] = var4; + } + } else { + var0[var15] = var1; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var13; var21 < var14; ++var21) { + for(var22 = var11; var12 > var22; ++var22) { + if(var22 >= var21) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } else { + for(var21 = var20 + -1; var21 >= var19; --var21) { + for(var22 = var11; ~var12 < ~var22; ++var22) { + if(var21 >= var22) { + var0[var15] = var1; + } else if(var9) { + var0[var15] = var4; + } + + ++var15; + } + + var15 += var16; + } + + } + } + } + } + } + } + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "wl.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + static final RSInterface method2273(RSInterface var0, int var1) { + try { + if(var1 < 57) { + method2273((RSInterface)null, -22); + } + + if(var0.parentId == -1) { + int var3 = var0.anInt279 >>> 16; + Class80 var4 = new Class80(Class3_Sub13_Sub17.aClass130_3208); + + for(Class3_Sub31 var2 = (Class3_Sub31)var4.method1393((byte)125); null != var2; var2 = (Class3_Sub31)var4.method1392(0)) { + if(~var3 == ~var2.anInt2602) { + return Class7.getRSInterface((byte)127, (int)var2.aLong71); + } + } + + return null; + } else { + return Class7.getRSInterface((byte)118, var0.parentId); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "wl.J(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final void method2274(int var1, RSByteBuffer var2, int var3) { + try { + while(true) { + int var4 = var2.getByte((byte)-111); + if(var4 == 0) { + if(var1 != 24559) { + method2276(-85); + } + + return; + } + + this.method2279(0, var4, var2, var3); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "wl.H(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method2275(int var0, byte var1, int var2, int var3, int var4, int var5, int var6) { + try { + if(var1 <= 68) { + method2273((RSInterface)null, 38); + } + + int var8 = -var5 + var3; + Class149.method2091(var3, 4); + int var7 = 0; + if(~var8 > -1) { + var8 = 0; + } + + int var9 = var3; + int var10 = -var3; + int var12 = -var8; + int var11 = var8; + int var13 = -1; + int var17; + int var16; + int var19; + int var18; + if(var2 >= Class159.anInt2020 && Class57.anInt902 >= var2) { + int[] var15 = Class38.anIntArrayArray663[var2]; + var16 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var3 + var6, (byte)0, Class101.anInt1425); + var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var3 + var6, (byte)0, Class101.anInt1425); + var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + -var8, (byte)0, Class101.anInt1425); + var19 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var8, (byte)0, Class101.anInt1425); + Class3_Sub13_Sub23_Sub1.method282(var15, var16, 102, var18, var4); + Class3_Sub13_Sub23_Sub1.method282(var15, var18, -44, var19, var0); + Class3_Sub13_Sub23_Sub1.method282(var15, var19, -61, var17, var4); + } + + int var14 = -1; + + while(~var7 > ~var9) { + var13 += 2; + var14 += 2; + var12 += var14; + var10 += var13; + if(-1 >= ~var12 && ~var11 <= -2) { + --var11; + GameObject.anIntArray1838[var11] = var7; + var12 -= var11 << 1; + } + + ++var7; + int var21; + int var20; + int[] var22; + int var24; + if(0 <= var10) { + --var9; + var10 -= var9 << 1; + var24 = var2 + -var9; + var16 = var2 + var9; + if(~Class159.anInt2020 >= ~var16 && ~Class57.anInt902 <= ~var24) { + if(~var9 <= ~var8) { + var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7 + var6, (byte)0, Class101.anInt1425); + var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var7 + var6, (byte)0, Class101.anInt1425); + if(~Class57.anInt902 <= ~var16) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var18, -53, var17, var4); + } + + if(var24 >= Class159.anInt2020) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var24], var18, 96, var17, var4); + } + } else { + var17 = GameObject.anIntArray1838[var9]; + var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var7 + var6, (byte)0, Class101.anInt1425); + var19 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var7 + var6, (byte)0, Class101.anInt1425); + var20 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var17, (byte)0, Class101.anInt1425); + var21 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var17 + var6, (byte)0, Class101.anInt1425); + if(Class57.anInt902 >= var16) { + var22 = Class38.anIntArrayArray663[var16]; + Class3_Sub13_Sub23_Sub1.method282(var22, var19, 116, var21, var4); + Class3_Sub13_Sub23_Sub1.method282(var22, var21, 125, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var22, var20, 87, var18, var4); + } + + if(~var24 <= ~Class159.anInt2020) { + var22 = Class38.anIntArrayArray663[var24]; + Class3_Sub13_Sub23_Sub1.method282(var22, var19, 110, var21, var4); + Class3_Sub13_Sub23_Sub1.method282(var22, var21, -114, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var22, var20, -88, var18, var4); + } + } + } + } + + var24 = -var7 + var2; + var16 = var2 - -var7; + if(~Class159.anInt2020 >= ~var16 && ~Class57.anInt902 <= ~var24) { + var17 = var6 + var9; + var18 = var6 + -var9; + if(var17 >= Class101.anInt1425 && ~Class3_Sub28_Sub18.anInt3765 <= ~var18) { + var17 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var17, (byte)0, Class101.anInt1425); + var18 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var18, (byte)0, Class101.anInt1425); + if(var7 < var8) { + var19 = var11 >= var7?var11:GameObject.anIntArray1838[var7]; + var20 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var19 + var6, (byte)0, Class101.anInt1425); + var21 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - var19, (byte)0, Class101.anInt1425); + if(Class57.anInt902 >= var16) { + var22 = Class38.anIntArrayArray663[var16]; + Class3_Sub13_Sub23_Sub1.method282(var22, var18, 126, var21, var4); + Class3_Sub13_Sub23_Sub1.method282(var22, var21, 103, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var22, var20, -61, var17, var4); + } + + if(var24 >= Class159.anInt2020) { + var22 = Class38.anIntArrayArray663[var24]; + Class3_Sub13_Sub23_Sub1.method282(var22, var18, 102, var21, var4); + Class3_Sub13_Sub23_Sub1.method282(var22, var21, -94, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var22, var20, 99, var17, var4); + } + } else { + if(~Class57.anInt902 <= ~var16) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var16], var18, 94, var17, var4); + } + + if(var24 >= Class159.anInt2020) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var24], var18, 126, var17, var4); + } + } + } + } + } + + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "wl.I(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + public static void method2276(int var0) { + try { + aClass3_Sub28_Sub17_2096 = null; + if(var0 == -2) { + aClass94_2089 = null; + aClass153_2097 = null; + aClass11_2091 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wl.G(" + var0 + ')'); + } + } + + static final void method2277(int var0, int var1, int var2, int var3, byte var4) { + try { + Class3_Sub25 var5 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var3, 0); + if(var5 == null) { + var5 = new Class3_Sub25(); + Class3_Sub2.aClass130_2220.method1779(1, var5, (long)var3); + } + + if(var4 > 16) { + if(var1 >= var5.anIntArray2547.length) { + int[] var6 = new int[var1 - -1]; + int[] var7 = new int[1 + var1]; + + int var8; + for(var8 = 0; ~var5.anIntArray2547.length < ~var8; ++var8) { + var6[var8] = var5.anIntArray2547[var8]; + var7[var8] = var5.anIntArray2551[var8]; + } + + for(var8 = var5.anIntArray2547.length; ~var8 > ~var1; ++var8) { + var6[var8] = -1; + var7[var8] = 0; + } + + var5.anIntArray2547 = var6; + var5.anIntArray2551 = var7; + } + + var5.anIntArray2547[var1] = var0; + var5.anIntArray2551[var1] = var2; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "wl.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method2278(int var0) { + try { + boolean var1 = false; + + while(!var1) { + var1 = true; + + for(int var2 = 0; ~var2 > ~(-1 + Class3_Sub13_Sub34.anInt3415); ++var2) { + if(Class3_Sub13_Sub7.aShortArray3095[var2] < 1000 && -1001 > ~Class3_Sub13_Sub7.aShortArray3095[1 + var2]) { + RSString var3 = Class163_Sub2_Sub1.aClass94Array4016[var2]; + var1 = false; + Class163_Sub2_Sub1.aClass94Array4016[var2] = Class163_Sub2_Sub1.aClass94Array4016[1 + var2]; + Class163_Sub2_Sub1.aClass94Array4016[1 + var2] = var3; + RSString var4 = Class140_Sub7.aClass94Array2935[var2]; + Class140_Sub7.aClass94Array2935[var2] = Class140_Sub7.aClass94Array2935[var2 + 1]; + Class140_Sub7.aClass94Array2935[var2 - -1] = var4; + int var5 = Class117.anIntArray1613[var2]; + Class117.anIntArray1613[var2] = Class117.anIntArray1613[1 + var2]; + Class117.anIntArray1613[var2 + 1] = var5; + var5 = Class27.anIntArray512[var2]; + Class27.anIntArray512[var2] = Class27.anIntArray512[var2 + 1]; + Class27.anIntArray512[1 + var2] = var5; + var5 = Class114.anIntArray1578[var2]; + Class114.anIntArray1578[var2] = Class114.anIntArray1578[1 + var2]; + Class114.anIntArray1578[var2 - -1] = var5; + short var6 = Class3_Sub13_Sub7.aShortArray3095[var2]; + Class3_Sub13_Sub7.aShortArray3095[var2] = Class3_Sub13_Sub7.aShortArray3095[1 + var2]; + Class3_Sub13_Sub7.aShortArray3095[var2 + 1] = var6; + long var7 = Class3_Sub13_Sub22.aLongArray3271[var2]; + Class3_Sub13_Sub22.aLongArray3271[var2] = Class3_Sub13_Sub22.aLongArray3271[var2 + 1]; + Class3_Sub13_Sub22.aLongArray3271[var2 - -1] = var7; + } + } + } + + if(var0 <= 103) { + aClass94_2089 = (RSString)null; + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "wl.D(" + var0 + ')'); + } + } + + private final void method2279(int var1, int var2, RSByteBuffer var3, int var4) { + try { + if(var1 == 0) { + if(-2 != ~var2) { + if(var2 != 2) { + if(3 != var2) { + if(5 != var2) { + if(-8 != ~var2) { + if(~var2 != -9) { + if(-10 != ~var2) { + if(-11 != ~var2) { + if(var2 != 11) { + if(12 != var2) { + if(13 != var2) { + if(~var2 == -15) { + this.anInt2101 = var3.getByte((byte)-68); + } + } else { + this.anInt2094 = var3.getTriByte((byte)110); + } + } else { + this.aBoolean2092 = true; + } + } else { + this.anInt2100 = var3.getByte((byte)-89); + } + } else { + this.aBoolean2093 = false; + } + } else { + this.anInt2090 = var3.getShort(var1 ^ 1); + } + } else { + Class3_Sub13_Sub6.anInt3081 = var4; + } + } else { + this.anInt2098 = RSInterface.method869(116, var3.getTriByte((byte)82)); + } + } else { + this.aBoolean2102 = false; + } + } else { + this.anInt2095 = var3.getShort(1); + if(this.anInt2095 == '\uffff') { + this.anInt2095 = -1; + } + } + } else { + this.anInt2095 = var3.getByte((byte)-128); + } + } else { + this.anInt2103 = RSInterface.method869(116, var3.getTriByte((byte)83)); + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wl.E(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + static final void method2280(int var0, int var1) { + try { + if(var0 != 2714) { + method2277(-80, -123, -59, 60, (byte)40); + } + + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 11, var1); + var2.a(true); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wl.B(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class169.java b/09HDscape-client/src/org/runite/jagex/Class169.java new file mode 100644 index 000000000..cda457b37 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class169.java @@ -0,0 +1,197 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import javax.media.opengl.GL; + +final class Class169 { + + private Class156 aClass156_2105; + boolean aBoolean2106 = true; + private ByteBuffer aByteBuffer2107; + private int anInt2108; + private ByteBuffer aByteBuffer2109; + private Class156 aClass156_2110; + private static byte[] aByteArray2111 = new byte[16384]; + private int anInt2112 = -1; + + + final void method2281(int[][] var1, int var2, int var3) { + RSByteBuffer var4 = new RSByteBuffer(1620); + + int var6; + for(int var5 = 0; var5 <= 8; ++var5) { + for(var6 = 0; var6 <= 8; ++var6) { + if(HDToolKit.aBoolean1790) { + var4.method801(881, (float)var6 / 8.0F); + var4.method801(881, (float)var5 / 8.0F); + var4.method801(881, (float)(var6 * 128)); + var4.method801(881, (float)var1[var6 + var2][var5 + var3]); + var4.method801(881, (float)(var5 * 128)); + } else { + var4.method762((float)var6 / 8.0F, (byte)104); + var4.method762((float)var5 / 8.0F, (byte)65); + var4.method762((float)(var6 * 128), (byte)106); + var4.method762((float)var1[var6 + var2][var5 + var3], (byte)79); + var4.method762((float)(var5 * 128), (byte)124); + } + } + } + + if(HDToolKit.aBoolean1813) { + ByteBuffer var9 = ByteBuffer.wrap(var4.buffer, 0, var4.index); + this.aClass156_2110 = new Class156(); + this.aClass156_2110.method2172(var9); + } else { + this.aByteBuffer2109 = ByteBuffer.allocateDirect(var4.index).order(ByteOrder.nativeOrder()); + this.aByteBuffer2109.put(var4.buffer, 0, var4.index); + this.aByteBuffer2109.flip(); + } + + RSByteBuffer var8 = new RSByteBuffer(1536); + + for(var6 = 0; var6 < 8; ++var6) { + for(int var7 = 0; var7 < 8; ++var7) { + if(HDToolKit.aBoolean1790) { + var8.putInt(-125, var7 + (var6 + 1) * 9); + var8.putInt(-128, var7 + var6 * 9); + var8.putInt(-128, var7 + 1 + var6 * 9); + var8.putInt(-120, var7 + (var6 + 1) * 9); + var8.putInt(-127, var7 + 1 + var6 * 9); + var8.putInt(-122, var7 + 1 + (var6 + 1) * 9); + } else { + var8.method757(var7 + (var6 + 1) * 9, 109); + var8.method757(var7 + var6 * 9, 122); + var8.method757(var7 + 1 + var6 * 9, 67); + var8.method757(var7 + (var6 + 1) * 9, 116); + var8.method757(var7 + 1 + var6 * 9, 90); + var8.method757(var7 + 1 + (var6 + 1) * 9, 93); + } + } + } + + if(HDToolKit.aBoolean1813) { + ByteBuffer var10 = ByteBuffer.wrap(var8.buffer, 0, var8.index); + this.aClass156_2105 = new Class156(); + this.aClass156_2105.method2170(var10); + } else { + this.aByteBuffer2107 = ByteBuffer.allocateDirect(var8.index).order(ByteOrder.nativeOrder()); + this.aByteBuffer2107.put(var8.buffer, 0, var8.index); + this.aByteBuffer2107.flip(); + } + + } + + final boolean method2282(LDIndexedSprite var1, int var2, int var3) { + byte[] var4 = var1.aByteArray2674; + int var5 = var1.anInt1461; + int var6 = var2 * 128 + 1 + (var3 * 128 + 1) * var5; + int var7 = 0; + + int var8; + int var9; + for(var8 = -128; var8 < 0; ++var8) { + var7 = (var7 << 8) - var7; + + for(var9 = -128; var9 < 0; ++var9) { + if(var4[var6++] != 0) { + ++var7; + } + } + + var6 += var5 - 128; + } + + if(var7 == this.anInt2112) { + return false; + } else { + this.anInt2112 = var7; + var6 = var2 * 128 + 1 + (var3 * 128 + 1) * var5; + var8 = 0; + + for(var9 = -128; var9 < 0; ++var9) { + for(int var10 = -128; var10 < 0; ++var10) { + if(var4[var6] != 0) { + aByteArray2111[var8++] = 68; + } else { + int var11 = 0; + if(var4[var6 - 1] != 0) { + ++var11; + } + + if(var4[var6 + 1] != 0) { + ++var11; + } + + if(var4[var6 - var5] != 0) { + ++var11; + } + + if(var4[var6 + var5] != 0) { + ++var11; + } + + aByteArray2111[var8++] = (byte)(17 * var11); + } + + ++var6; + } + + var6 += var5 - 128; + } + + GL var12 = HDToolKit.gl; + ByteBuffer var13 = ByteBuffer.wrap(aByteArray2111); + var13.limit(16384); + HDToolKit.bindTexture2D(this.anInt2108); + var12.glTexImage2D(3553, 0, 6406, 128, 128, 0, 6406, 5121, var13); + return true; + } + } + + public static void method2283() { + aByteArray2111 = null; + } + + final void method2284() { + GL var1 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt2108); + if(this.aClass156_2110 != null) { + this.aClass156_2110.method2169(); + var1.glInterleavedArrays(10791, 20, 0L); + HDToolKit.aBoolean1798 = false; + } else { + if(HDToolKit.aBoolean1813) { + var1.glBindBufferARB('\u8892', 0); + } + + var1.glInterleavedArrays(10791, 20, this.aByteBuffer2109); + HDToolKit.aBoolean1798 = false; + } + + if(this.aClass156_2105 != null) { + this.aClass156_2105.method2171(); + var1.glDrawElements(4, 384, 5125, 0L); + } else { + if(HDToolKit.aBoolean1813) { + var1.glBindBufferARB('\u8893', 0); + } + + var1.glDrawElements(4, 384, 5125, this.aByteBuffer2107); + } + + } + + public Class169() { + GL var1 = HDToolKit.gl; + int[] var2 = new int[1]; + var1.glGenTextures(1, var2, 0); + this.anInt2108 = var2[0]; + Class31.anInt580 += 16384; + HDToolKit.bindTexture2D(this.anInt2108); + var1.glTexParameteri(3553, 10241, 9729); + var1.glTexParameteri(3553, 10240, 9729); + var1.glTexParameteri(3553, 10242, '\u812f'); + var1.glTexParameteri(3553, 10243, '\u812f'); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class17.java b/09HDscape-client/src/org/runite/jagex/Class17.java new file mode 100644 index 000000000..288c79954 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class17.java @@ -0,0 +1,242 @@ +package org.runite.jagex; + +final class Class17 { + + static Interface2 anInterface2_408; + static Thread aThread409; + static int anInt410; + static int anInt411; + static RSString aClass94_412 = RSString.createRSString("Vous ne pouvez pas ajouter votre nom -9 votre liste d(Wamis)3"); + static Class64 aClass64_413; + static RSString aClass94_414 = RSString.createRSString("Verbindung abgebrochen)3"); + static RSString aClass94_415 = RSString.createRSString("comp-Btence "); + + + public Class17() { + new Class127(); + } + + static final void method904(int var0, Class140_Sub4 var1) { + try { + if(var1.anInt2779 != 0) { + RenderAnimationDefinition var2 = var1.method1965(false); + int var4; + int var5; + if(var1.anInt2772 != -1 && '\u8000' > var1.anInt2772) { + NPC var3 = Class3_Sub13_Sub24.npcs[var1.anInt2772]; + if(var3 != null) { + var5 = -var3.anInt2829 + var1.anInt2829; + var4 = -var3.anInt2819 + var1.anInt2819; + if(0 != var4 || 0 != var5) { + var1.anInt2806 = (int)(Math.atan2((double)var4, (double)var5) * 325.949D) & 2047; + } + } + } + + int var6; + int var9; + if(var1.anInt2772 >= '\u8000') { + var9 = -32768 + var1.anInt2772; + if(~var9 == ~Class3_Sub1.localIndex) { + var9 = 2047; + } + + Player var10 = Class3_Sub13_Sub22.players[var9]; + if(null != var10) { + var6 = -var10.anInt2829 + var1.anInt2829; + var5 = -var10.anInt2819 + var1.anInt2819; + if(var5 != 0 || var6 != 0) { + var1.anInt2806 = (int)(Math.atan2((double)var5, (double)var6) * 325.949D) & 2047; + } + } + } + + if((0 != var1.anInt2786 || 0 != var1.anInt2762) && (var1.anInt2816 == 0 || ~var1.anInt2824 < -1)) { + var9 = var1.anInt2819 + -((-Class131.anInt1716 + (var1.anInt2786 - Class131.anInt1716)) * 64); + var4 = -((-Class82.anInt1152 + (var1.anInt2762 - Class82.anInt1152)) * 64) + var1.anInt2829; + if(~var9 != -1 || var4 != 0) { + var1.anInt2806 = (int)(Math.atan2((double)var9, (double)var4) * 325.949D) & 2047; + } + + var1.anInt2762 = 0; + var1.anInt2786 = 0; + } + + var9 = var1.anInt2806 - var1.anInt2785 & 2047; + if(-1 != ~var9) { + if(~var2.anInt369 == -1) { + ++var1.anInt2789; + boolean var11; + if(~var9 < -1025) { + var1.anInt2785 -= var1.anInt2779; + var11 = true; + if(~var9 > ~var1.anInt2779 || var9 > -var1.anInt2779 + 2048) { + var1.anInt2785 = var1.anInt2806; + var11 = false; + } + + if(~var2.anInt368 == ~var1.anInt2764 && (25 < var1.anInt2789 || var11)) { + if(~var2.anInt367 != 0) { + var1.anInt2764 = var2.anInt367; + } else { + var1.anInt2764 = var2.anInt382; + } + } + } else { + var11 = true; + var1.anInt2785 += var1.anInt2779; + if(var1.anInt2779 > var9 || ~var9 < ~(2048 - var1.anInt2779)) { + var11 = false; + var1.anInt2785 = var1.anInt2806; + } + + if(var2.anInt368 == var1.anInt2764 && (25 < var1.anInt2789 || var11)) { + if(-1 == var2.anInt407) { + var1.anInt2764 = var2.anInt382; + } else { + var1.anInt2764 = var2.anInt407; + } + } + } + + var1.anInt2785 &= 2047; + } else { + if(~var2.anInt368 == ~var1.anInt2764 && 25 < var1.anInt2789) { + if(0 != ~var2.anInt407) { + var1.anInt2764 = var2.anInt407; + } else { + var1.anInt2764 = var2.anInt382; + } + } + + var4 = var1.anInt2806 << 5; + if(~var4 != ~var1.anInt2808) { + var1.anInt2791 = 0; + var1.anInt2808 = var4; + var5 = -var1.anInt2780 + var4 & '\uffff'; + var6 = var1.anInt2821 * var1.anInt2821 / (var2.anInt369 * 2); + int var7; + if(var1.anInt2821 > 0 && ~var5 <= ~var6 && -var6 + var5 < '\u8000') { + var1.anInt2803 = var5 / 2; + var1.aBoolean2769 = true; + var7 = var2.anInt357 * var2.anInt357 / (var2.anInt369 * 2); + if(32767 < var7) { + var7 = 32767; + } + + if(var7 < var1.anInt2803) { + var1.anInt2803 = -var7 + var5; + } + } else if(0 > var1.anInt2821 && var6 <= -var5 + 65536 && 65536 + -var5 + -var6 < '\u8000') { + var1.anInt2803 = (-var5 + 65536) / 2; + var1.aBoolean2769 = true; + var7 = var2.anInt357 * var2.anInt357 / (var2.anInt369 * 2); + if(var7 > 32767) { + var7 = 32767; + } + + if(var7 < var1.anInt2803) { + var1.anInt2803 = 65536 - (var5 + var7); + } + } else { + var1.aBoolean2769 = false; + } + } + + if(var1.anInt2821 == 0) { + var5 = -var1.anInt2780 + var1.anInt2808 & '\uffff'; + if(var5 < var2.anInt369) { + var1.anInt2780 = var1.anInt2808; + } else { + var1.anInt2791 = 0; + var6 = var2.anInt357 * var2.anInt357 / (2 * var2.anInt369); + var1.aBoolean2769 = true; + if(32767 < var6) { + var6 = 32767; + } + + if(~var5 <= -32769) { + var1.anInt2821 = -var2.anInt369; + var1.anInt2803 = (65536 - var5) / 2; + if(~var6 > ~var1.anInt2803) { + var1.anInt2803 = 65536 - (var5 + var6); + } + } else { + var1.anInt2821 = var2.anInt369; + var1.anInt2803 = var5 / 2; + if(~var6 > ~var1.anInt2803) { + var1.anInt2803 = -var6 + var5; + } + } + } + } else if(-1 <= ~var1.anInt2821) { + if(~var1.anInt2791 <= ~var1.anInt2803) { + var1.aBoolean2769 = false; + } + + if(!var1.aBoolean2769) { + var1.anInt2821 += var2.anInt369; + if(0 < var1.anInt2821) { + var1.anInt2821 = 0; + } + } else if(~(-var2.anInt357) > ~var1.anInt2821) { + var1.anInt2821 -= var2.anInt369; + } + } else { + if(~var1.anInt2803 >= ~var1.anInt2791) { + var1.aBoolean2769 = false; + } + + if(!var1.aBoolean2769) { + var1.anInt2821 -= var2.anInt369; + if(~var1.anInt2821 > -1) { + var1.anInt2821 = 0; + } + } else if(var1.anInt2821 < var2.anInt357) { + var1.anInt2821 += var2.anInt369; + } + } + + var1.anInt2780 += var1.anInt2821; + var1.anInt2780 &= '\uffff'; + if(0 >= var1.anInt2821) { + var1.anInt2791 -= var1.anInt2821; + } else { + var1.anInt2791 += var1.anInt2821; + } + + var1.anInt2785 = var1.anInt2780 >> 5; + } + } else { + var1.anInt2789 = 0; + var1.anInt2821 = 0; + } + + if(var0 != 65536) { + method904(-93, (Class140_Sub4)null); + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "cm.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method905(int var0) { + try { + anInterface2_408 = null; + aClass94_414 = null; + aClass94_415 = null; + aClass94_412 = null; + aClass64_413 = null; + if(var0 != -24912) { + aClass64_413 = (Class64)null; + } + + aThread409 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cm.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class18.java b/09HDscape-client/src/org/runite/jagex/Class18.java new file mode 100644 index 000000000..0aeb042a7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class18.java @@ -0,0 +1,11 @@ +package org.runite.jagex; + +final class Class18 { + + short[] aShortArray416; + short[] aShortArray417; + short[] aShortArray418; + short[] aShortArray419; + + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class19.java b/09HDscape-client/src/org/runite/jagex/Class19.java new file mode 100644 index 000000000..2903b0a93 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class19.java @@ -0,0 +1,34 @@ +package org.runite.jagex; + +final class Class19 { + + int anInt420; + static int anInt421; + static RSString aClass94_422 = RSString.createRSString("loc"); + GameObject aClass140_423; + int anInt424; + int anInt425; + int anInt426; + int anInt427; + long aLong428 = 0L; + GameObject aClass140_429; + int anInt430; + static RSString aClass94_431 = RSString.createRSString(""); + int anInt432; + static int anInt433 = 0; + + + public static void method906(byte var0) { + try { + aClass94_422 = null; + if(var0 != 112) { + method906((byte)-42); + } + + aClass94_431 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "df.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class2.java b/09HDscape-client/src/org/runite/jagex/Class2.java new file mode 100644 index 000000000..ae0fed258 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class2.java @@ -0,0 +1,463 @@ +package org.runite.jagex; + +final class Class2 { + + private static RSString aClass94_68 = RSString.createRSString("glow1:"); + + static int anInt59 = 0; + static RSString aClass94_60 = aClass94_68; + int anInt61; + static RSString aClass94_62 = aClass94_68; + static short[] aShortArray63 = new short[]{(short)960, (short)957, (short)-21568, (short)-21571, (short)22464}; + int anInt64; + static int anInt65; + static boolean isMember = false; + static int anInt67; + boolean aBoolean69 = false; + static Interface5[] anInterface5Array70; + + + static final boolean method73(short var0, int var1) { + try { + if(var0 != 47 && ~var0 != -6 && var0 != 43 && ~var0 != -36 && ~var0 != -59 && -23 != ~var0 && var0 != 40 && var0 != 3) { + if(-10 != ~var0 && ~var0 != -13 && -1007 != ~var0 && -1004 != ~var0) { + if(var1 <= 42) { + anInt59 = 1; + } + + return var0 != 25 && -24 != ~var0 && 48 != var0 && var0 != 7 && -14 != ~var0?var0 == 8 || var0 == 32 || ~var0 == -29 || ~var0 == -60 || ~var0 == -52 || -42 == ~var0:true; + } else { + return true; + } + } else { + return true; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "aa.C(" + var0 + ',' + var1 + ')'); + } + } + + final void method74(byte var1, RSByteBuffer var2, int var3) { + try { + while(true) { + int var4 = var2.getByte((byte)-34); + if(-1 == ~var4) { + if(var1 > -108) { + this.method74((byte)85, (RSByteBuffer)null, 63); + } + + return; + } + + this.method79(var4, var2, var3, 95); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "aa.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method75(RSInterface[] var0, boolean var1, int var2) { + try { + if(var1) { + for(int var3 = 0; ~var3 > ~var0.length; ++var3) { + RSInterface var4 = var0[var3]; + if(null != var4) { + if(var4.type == 0) { + if(null != var4.aClass11Array262) { + method75(var4.aClass11Array262, true, var2); + } + + Class3_Sub31 var5 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var4.anInt279, 0); + if(null != var5) { + Class3_Sub8.method124(49, var2, var5.anInt2602); + } + } + + CS2Script var7; + if(~var2 == -1 && null != var4.anObjectArray206) { + var7 = new CS2Script(); + var7.arguments = var4.anObjectArray206; + var7.aClass11_2449 = var4; + Class43.method1065(1073376993, var7); + } + + if(-2 == ~var2 && var4.anObjectArray176 != null) { + if(-1 >= ~var4.anInt191) { + RSInterface var8 = Class7.getRSInterface((byte)121, var4.anInt279); + if(null == var8 || null == var8.aClass11Array262 || ~var4.anInt191 <= ~var8.aClass11Array262.length || var8.aClass11Array262[var4.anInt191] != var4) { + continue; + } + } + + var7 = new CS2Script(); + var7.arguments = var4.anObjectArray176; + var7.aClass11_2449 = var4; + Class43.method1065(1073376993, var7); + } + } + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "aa.I(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + static final boolean method76(int var0, int var1, int var2, int var3, int var4, boolean var5, int var6, int var7, int var8, int var9, int var10, int var11) { + try { + int var12; + int var13; + for(var12 = 0; 104 > var12; ++var12) { + for(var13 = 0; -105 < ~var13; ++var13) { + Class84.anIntArrayArray1160[var12][var13] = 0; + Class97.anIntArrayArray1373[var12][var13] = 99999999; + } + } + + Class84.anIntArrayArray1160[var11][var3] = 99; + Class97.anIntArrayArray1373[var11][var3] = 0; + var13 = var3; + var12 = var11; + byte var14 = 0; + Class3_Sub13_Sub38.anIntArray3456[var14] = var11; + boolean var16 = false; + int var15 = 0; + int var27 = var14 + 1; + Class45.anIntArray729[var14] = var3; + int[][] var17 = Class86.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304; + + int var18; + while(var15 != var27) { + var12 = Class3_Sub13_Sub38.anIntArray3456[var15]; + var13 = Class45.anIntArray729[var15]; + var15 = 4095 & var15 - -1; + if(var8 == var12 && ~var4 == ~var13) { + var16 = true; + break; + } + + if(-1 != ~var1) { + if((5 > var1 || -11 == ~var1) && Class86.aClass91Array1182[WorldListCountry.localPlane].method1488(var4, var12, false, var13, var8, -1 + var1, 2, var7)) { + var16 = true; + break; + } + + if(var1 < 10 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1492(var4, var1 + -1, var8, var13, 2, var7, var12, 88)) { + var16 = true; + break; + } + } + + if(0 != var0 && ~var6 != -1 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1498(true, var8, var13, var12, 2, var0, var2, var4, var6)) { + var16 = true; + break; + } + + var18 = Class97.anIntArrayArray1373[var12][var13] - -1; + if(var12 > 0 && ~Class84.anIntArrayArray1160[var12 + -1][var13] == -1 && 0 == (var17[-1 + var12][var13] & 19661070) && ~(var17[-1 + var12][var13 + 1] & 19661112) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 + -1; + Class45.anIntArray729[var27] = var13; + var27 = 1 + var27 & 4095; + Class84.anIntArrayArray1160[var12 - 1][var13] = 2; + Class97.anIntArrayArray1373[-1 + var12][var13] = var18; + } + + if(102 > var12 && ~Class84.anIntArrayArray1160[1 + var12][var13] == -1 && 0 == (var17[2 + var12][var13] & 19661187) && 0 == (var17[var12 + 2][1 + var13] & 19661280)) { + Class3_Sub13_Sub38.anIntArray3456[var27] = 1 + var12; + Class45.anIntArray729[var27] = var13; + var27 = 4095 & var27 + 1; + Class84.anIntArrayArray1160[var12 - -1][var13] = 8; + Class97.anIntArrayArray1373[var12 - -1][var13] = var18; + } + + if(var13 > 0 && ~Class84.anIntArrayArray1160[var12][var13 + -1] == -1 && (19661070 & var17[var12][-1 + var13]) == 0 && ~(var17[var12 + 1][var13 - 1] & 19661187) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12; + Class45.anIntArray729[var27] = -1 + var13; + Class84.anIntArrayArray1160[var12][-1 + var13] = 1; + Class97.anIntArrayArray1373[var12][-1 + var13] = var18; + var27 = 4095 & 1 + var27; + } + + if(~var13 > -103 && ~Class84.anIntArrayArray1160[var12][var13 + 1] == -1 && ~(var17[var12][2 + var13] & 19661112) == -1 && -1 == ~(var17[1 + var12][var13 + 2] & 19661280)) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12; + Class45.anIntArray729[var27] = var13 + 1; + Class84.anIntArrayArray1160[var12][1 + var13] = 4; + var27 = 1 + var27 & 4095; + Class97.anIntArrayArray1373[var12][var13 - -1] = var18; + } + + if(var12 > 0 && var13 > 0 && -1 == ~Class84.anIntArrayArray1160[-1 + var12][-1 + var13] && -1 == ~(19661112 & var17[-1 + var12][var13]) && 0 == (var17[-1 + var12][-1 + var13] & 19661070) && 0 == (19661187 & var17[var12][-1 + var13])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = -1 + var12; + Class45.anIntArray729[var27] = -1 + var13; + Class84.anIntArrayArray1160[-1 + var12][-1 + var13] = 3; + Class97.anIntArrayArray1373[-1 + var12][-1 + var13] = var18; + var27 = 4095 & var27 + 1; + } + + if(-103 < ~var12 && 0 < var13 && ~Class84.anIntArrayArray1160[1 + var12][var13 + -1] == -1 && -1 == ~(var17[var12 - -1][var13 - 1] & 19661070) && -1 == ~(19661187 & var17[2 + var12][var13 + -1]) && -1 == ~(19661280 & var17[var12 + 2][var13])) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - -1; + Class45.anIntArray729[var27] = var13 - 1; + var27 = 4095 & 1 + var27; + Class84.anIntArrayArray1160[var12 - -1][-1 + var13] = 9; + Class97.anIntArrayArray1373[1 + var12][var13 + -1] = var18; + } + + if(-1 > ~var12 && -103 < ~var13 && 0 == Class84.anIntArrayArray1160[var12 - 1][var13 + 1] && ~(var17[-1 + var12][var13 - -1] & 19661070) == -1 && 0 == (19661112 & var17[-1 + var12][var13 - -2]) && ~(19661280 & var17[var12][var13 + 2]) == -1) { + Class3_Sub13_Sub38.anIntArray3456[var27] = var12 - 1; + Class45.anIntArray729[var27] = 1 + var13; + Class84.anIntArrayArray1160[var12 - 1][1 + var13] = 6; + Class97.anIntArrayArray1373[-1 + var12][1 + var13] = var18; + var27 = 1 + var27 & 4095; + } + + if(-103 < ~var12 && ~var13 > -103 && -1 == ~Class84.anIntArrayArray1160[1 + var12][1 + var13] && -1 == ~(19661112 & var17[var12 - -1][2 + var13]) && -1 == ~(19661280 & var17[var12 + 2][var13 - -2]) && (19661187 & var17[var12 - -2][var13 + 1]) == 0) { + Class3_Sub13_Sub38.anIntArray3456[var27] = 1 + var12; + Class45.anIntArray729[var27] = var13 + 1; + var27 = var27 - -1 & 4095; + Class84.anIntArrayArray1160[var12 - -1][var13 + 1] = 12; + Class97.anIntArrayArray1373[1 + var12][1 + var13] = var18; + } + } + + Class129.anInt1692 = 0; + int var19; + if(!var16) { + if(!var5) { + return false; + } + + var18 = 1000; + var19 = 100; + byte var20 = 10; + + for(int var21 = -var20 + var8; ~var21 >= ~(var20 + var8); ++var21) { + for(int var22 = var4 + -var20; ~var22 >= ~(var20 + var4); ++var22) { + if(-1 >= ~var21 && -1 >= ~var22 && -105 < ~var21 && 104 > var22 && Class97.anIntArrayArray1373[var21][var22] < 100) { + int var23 = 0; + int var24 = 0; + if(~var21 <= ~var8) { + if(~var21 < ~(-1 + var0 + var8)) { + var23 = var21 + 1 + -var0 + -var8; + } + } else { + var23 = var8 - var21; + } + + if(~var4 >= ~var22) { + if(~var22 < ~(-1 + var4 + var6)) { + var24 = -var4 + -var6 + 1 + var22; + } + } else { + var24 = -var22 + var4; + } + + int var25 = var23 * var23 + var24 * var24; + if(var25 < var18 || ~var18 == ~var25 && Class97.anIntArrayArray1373[var21][var22] < var19) { + var13 = var22; + var19 = Class97.anIntArrayArray1373[var21][var22]; + var18 = var25; + var12 = var21; + } + } + } + } + + if(~var18 == -1001) { + return false; + } + + if(var11 == var12 && ~var13 == ~var3) { + return false; + } + + Class129.anInt1692 = 1; + } + + byte var28 = 0; + Class3_Sub13_Sub38.anIntArray3456[var28] = var12; + var15 = var28 + 1; + Class45.anIntArray729[var28] = var13; + var18 = var19 = Class84.anIntArrayArray1160[var12][var13]; + if(var10 <= 2) { + aClass94_60 = (RSString)null; + } + + for(; ~var11 != ~var12 || ~var3 != ~var13; var18 = Class84.anIntArrayArray1160[var12][var13]) { + if(var19 != var18) { + Class3_Sub13_Sub38.anIntArray3456[var15] = var12; + Class45.anIntArray729[var15++] = var13; + var19 = var18; + } + + if((var18 & 2) != 0) { + ++var12; + } else if(~(8 & var18) != -1) { + --var12; + } + + if((var18 & 1) == 0) { + if(~(var18 & 4) != -1) { + --var13; + } + } else { + ++var13; + } + } + + if(~var15 >= -1) { + if(1 != var9) { + return true; + } else { + return false; + } + } else { + Class3_Sub13_Sub27.method299(113, var15, var9); + return true; + } + } catch (RuntimeException var26) { + throw Class44.method1067(var26, "aa.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + + final LDIndexedSprite method77(int var1, byte var2) { + try { + LDIndexedSprite var3 = (LDIndexedSprite)Class3_Sub13_Sub31.aClass93_3369.get((long)(var1 << 16 | this.anInt64), (byte)121); + if(var3 != null) { + return var3; + } else { + Class148.aClass153_1916.method2144(0, this.anInt64); + int var4 = 125 % ((var2 - -21) / 50); + var3 = RSString.method1539(0, true, this.anInt64, Class148.aClass153_1916); + if(var3 != null) { + var3.method1668(Class102.anInt2136, Class46.anInt740, Class158.anInt2015); + var3.anInt1469 = var3.anInt1461; + var3.anInt1467 = var3.anInt1468; + + for(int var5 = 0; ~var1 < ~var5; ++var5) { + var3.method1674(); + } + + Class3_Sub13_Sub31.aClass93_3369.put((byte)-125, var3, (long)(var1 << 16 | this.anInt64)); + } + + return var3; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "aa.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method78(int var0, boolean var1, int var2) { + try { + ++CacheIndex.anInt1944; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(132); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var2); + if(!var1) { + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var0); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "aa.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + private final void method79(int var1, RSByteBuffer var2, int var3, int var4) { + try { + if(var1 == 1) { + this.anInt64 = var2.getShort(1); + } else if(var1 != 2) { + if(~var1 != -4) { + if(var1 == 4) { + this.anInt64 = -1; + } + } else { + this.aBoolean69 = true; + } + } else { + this.anInt61 = var2.getTriByte((byte)96); + } + + if(var4 <= 7) { + anInt65 = 123; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "aa.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method80(int var0) { + try { + aClass94_60 = null; + aShortArray63 = null; + if(var0 != -27401) { + anInt65 = 93; + } + + aClass94_68 = null; + anInterface5Array70 = null; + aClass94_62 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "aa.G(" + var0 + ')'); + } + } + + static final void method81(byte var0, RSInterface var1) { + try { + if(var0 != -128) { + method75((RSInterface[])null, true, 21); + } + + int var2 = var1.anInt189; + if(324 != var2) { + if(-326 != ~var2) { + if(var2 == 327) { + var1.anInt182 = 150; + var1.anInt308 = 2047 & (int)(Math.sin((double)Class44.anInt719 / 40.0D) * 256.0D); + var1.modelType = 5; + var1.itemId = -1; + } else if(var2 == 328) { + if(null == Class102.player.displayName) { + var1.itemId = 0; + } else { + var1.anInt182 = 150; + var1.anInt308 = 2047 & (int)(256.0D * Math.sin((double)Class44.anInt719 / 40.0D)); + var1.modelType = 5; + var1.itemId = 2047 + ((int)Class102.player.displayName.toLong(var0 + 18) << 11); + var1.anInt260 = Class102.player.anInt2793; + var1.anInt267 = 0; + var1.animationId = Class102.player.anInt2764; + var1.anInt283 = Class102.player.anInt2813; + } + } + } else { + if(-1 == Class3_Sub13_Sub21.anInt3260) { + Class84.anInt1165 = var1.anInt296; + Class3_Sub13_Sub21.anInt3260 = var1.spriteArchiveId; + } + + if(!Class77.aClass52_1112.aBoolean864) { + var1.spriteArchiveId = Class3_Sub13_Sub21.anInt3260; + } else { + var1.spriteArchiveId = Class84.anInt1165; + } + + } + } else { + if(-1 == Class3_Sub13_Sub21.anInt3260) { + Class3_Sub13_Sub21.anInt3260 = var1.spriteArchiveId; + Class84.anInt1165 = var1.anInt296; + } + + if(Class77.aClass52_1112.aBoolean864) { + var1.spriteArchiveId = Class3_Sub13_Sub21.anInt3260; + } else { + var1.spriteArchiveId = Class84.anInt1165; + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "aa.H(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class20.java b/09HDscape-client/src/org/runite/jagex/Class20.java new file mode 100644 index 000000000..c87e82cab --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class20.java @@ -0,0 +1,207 @@ +package org.runite.jagex; + +final class Class20 { + + static RSString aClass94_434 = RSString.createRSString("Shift)2click ENABLED(Q"); + static short[][] aShortArrayArray435 = new short[][]{{(short)6554, (short)115, (short)10304, (short)28, (short)5702, (short)7756, (short)5681, (short)4510, (short)-31835, (short)22437, (short)2859, (short)-11339, (short)16, (short)5157, (short)10446, (short)3658, (short)-27314, (short)-21965, (short)472, (short)580, (short)784, (short)21966, (short)28950, (short)-15697, (short)-14002}, {(short)9104, (short)10275, (short)7595, (short)3610, (short)7975, (short)8526, (short)918, (short)-26734, (short)24466, (short)10145, (short)-6882, (short)5027, (short)1457, (short)16565, (short)-30545, (short)25486, (short)24, (short)5392, (short)10429, (short)3673, (short)-27335, (short)-21957, (short)192, (short)687, (short)412, (short)21821, (short)28835, (short)-15460, (short)-14019}, new short[0], new short[0], new short[0]}; + static RSString aClass94_436 = RSString.createRSString("Cache:"); + static int anInt437; + static boolean aBoolean438 = false; + static RSInterface aClass11_439; + + + static final boolean method907(int var0, int var1, int var2, int var3, int var4, GameObject var5, int var6, long var7, boolean var9) { + if(var5 == null) { + return true; + } else { + int var10 = var1 - var4; + int var11 = var2 - var4; + int var12 = var1 + var4; + int var13 = var2 + var4; + if(var9) { + if(var6 > 640 && var6 < 1408) { + var13 += 128; + } + + if(var6 > 1152 && var6 < 1920) { + var12 += 128; + } + + if(var6 > 1664 || var6 < 384) { + var11 -= 128; + } + + if(var6 > 128 && var6 < 896) { + var10 -= 128; + } + } + + var10 /= 128; + var11 /= 128; + var12 /= 128; + var13 /= 128; + return Class56.method1189(var0, var10, var11, var12 - var10 + 1, var13 - var11 + 1, var1, var2, var3, var5, var6, true, var7); + } + } + + public static void method908(int var0) { + try { + aClass11_439 = null; + if(var0 != 5157) { + aClass94_434 = (RSString)null; + } + + aClass94_436 = null; + aClass94_434 = null; + aShortArrayArray435 = (short[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dg.A(" + var0 + ')'); + } + } + + static final void method909(int var0, RSInterface var1) { + try { + if(~Class3_Sub23.anInt2535 == ~var1.anInt204) { + Class3_Sub28_Sub14.aBooleanArray3674[var1.anInt292] = true; + } + + int var2 = -100 / ((var0 - 55) / 52); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dg.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method910(int var0, int var1, int var2, int var3, int var4, int var5, Class91 var6) { + try { + boolean var9 = true; + long var7 = 0L; + if(var4 == 0) { + var7 = Class157.method2174(var3, var2, var1); + } else if(var4 != 1) { + if(~var4 == -3) { + var7 = Class3_Sub28_Sub5.method557(var3, var2, var1); + } else if(3 == var4) { + var7 = Class3_Sub2.method104(var3, var2, var1); + } + } else { + var7 = Class80.method1395(var3, var2, var1); + } + + boolean var10 = false; + int var19 = (519128 & (int)var7) >> 14; + if(var0 < -94) { + boolean var11 = false; + int var17 = (int)(var7 >>> 32) & Integer.MAX_VALUE; + ObjectDefinition var12 = Class162.getObjectDefinition(4, var17); + if(var12.method1690(28933)) { + Class140_Sub6.method2020(var2, var12, (byte)-73, var1, var3); + } + + int var18 = ((int)var7 & 4109484) >> 20; + if(~var7 != -1L) { + GameObject var13 = null; + GameObject var14 = null; + if(0 == var4) { + Class70 var15 = Class61.method1209(var3, var2, var1); + if(null != var15) { + var13 = var15.aClass140_1049; + var14 = var15.aClass140_1052; + } + + if(-1 != ~var12.actionCount) { + var6.method1485(var18, var12.aBoolean1486, -104, var1, var19, var2); + } + } else if(var4 != 1) { + if(2 == var4) { + Class25 var20 = Class163_Sub2.method2217(var3, var2, var1); + if(null != var20) { + var13 = var20.aClass140_479; + } + + if(var12.actionCount != 0 && var12.anInt1480 + var2 < 104 && -105 < ~(var12.anInt1480 + var1) && 104 > var2 + var12.anInt1485 && ~(var1 + var12.anInt1485) > -105) { + var6.method1502(20851, var2, var12.anInt1480, var12.aBoolean1486, var18, var12.anInt1485, var1); + } + } else if(~var4 == -4) { + Class12 var22 = Class159.method2193(var3, var2, var1); + if(var22 != null) { + var13 = var22.object; + } + + if(var12.actionCount == 1) { + var6.method1499(var1, (byte)-73, var2); + } + } + } else { + Class19 var21 = Class39.method1037(var3, var2, var1); + if(var21 != null) { + var13 = var21.aClass140_429; + var14 = var21.aClass140_423; + } + } + + if(HDToolKit.highDetail && var12.aBoolean1503) { + if(2 != var19) { + if(5 != var19) { + if(-7 == ~var19) { + if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-28, 8 * Class163_Sub3.anIntArray3007[var18], 4 - -var18, 8 * Class3_Sub13.anIntArray2386[var18], 4, var2, var1, var5); + } + } else if(-8 == ~var19) { + if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-120, 0, 4 - -(3 & 2 + var18), 0, 4, var2, var1, var5); + } + } else if(var19 == 8) { + if(!(var13 instanceof Class140_Sub3)) { + Class8.method840(var12, (byte)-45, Class163_Sub3.anIntArray3007[var18] * 8, var18 + 4, 8 * Class3_Sub13.anIntArray2386[var18], 4, var2, var1, var5); + } else { + ((Class140_Sub3)var13).method1960(-1); + } + + if(var14 instanceof Class140_Sub3) { + ((Class140_Sub3)var14).method1960(-1); + } else { + Class8.method840(var12, (byte)-24, Class163_Sub3.anIntArray3007[var18] * 8, 4 - -(3 & 2 + var18), Class3_Sub13.anIntArray2386[var18] * 8, 4, var2, var1, var5); + } + } else if(11 != var19) { + if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-113, 0, var18, 0, var19, var2, var1, var5); + } + } else if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-115, 0, 4 + var18, 0, 10, var2, var1, var5); + } + } else if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-119, Class3_Sub24_Sub3.anIntArray3491[var18] * 8, var18, RenderAnimationDefinition.anIntArray356[var18] * 8, 4, var2, var1, var5); + } + } else { + if(var13 instanceof Class140_Sub3) { + ((Class140_Sub3)var13).method1960(-1); + } else { + Class8.method840(var12, (byte)-76, 0, var18 + 4, 0, var19, var2, var1, var5); + } + + if(var14 instanceof Class140_Sub3) { + ((Class140_Sub3)var14).method1960(-1); + } else { + Class8.method840(var12, (byte)-100, 0, 3 & var18 - -1, 0, var19, var2, var1, var5); + } + } + } + } + + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "dg.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + (var6 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class21.java b/09HDscape-client/src/org/runite/jagex/Class21.java new file mode 100644 index 000000000..2b0ca6030 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class21.java @@ -0,0 +1,178 @@ +package org.runite.jagex; + +import org.runite.Configurations; + +final class Class21 { + + static boolean aBoolean440 = false; + static int[] maskUpdateIndexes = new int[2048]; + static RSString aClass94_442 = RSString.createRSString("Number of player models in cache:"); + static int anInt443; + static RSString aClass94_444 = RSString.createRSString(""); + + + public static void method911(int var0) { + try { + if(var0 != 26) { + maskUpdateIndexes = (int[])null; + } + + maskUpdateIndexes = null; + aClass94_444 = null; + aClass94_442 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dh.B(" + var0 + ')'); + } + } + + static final void method912(boolean var0) { + try { + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class7.anInt2166 = -1; + Class38_Sub1.aBoolean2615 = var0; + Class130.incomingPacketLength = 0; + Class65.anInt987 = 0; + Class3_Sub13_Sub34.anInt3415 = 0; + Class3_Sub29.anInt2582 = -1; + Class161.anInt2028 = 0; + Class38_Sub1.anInt2617 = 0; + Class24.anInt469 = -1; + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub28_Sub16.anInt3699 = 0; + RSString.incomingOpcode = -1; + + int var1; + for(var1 = 0; Class3_Sub13_Sub22.players.length > var1; ++var1) { + if(null != Class3_Sub13_Sub22.players[var1]) { + Class3_Sub13_Sub22.players[var1].anInt2772 = -1; + } + } + + for(var1 = 0; ~var1 > ~Class3_Sub13_Sub24.npcs.length; ++var1) { + if(Class3_Sub13_Sub24.npcs[var1] != null) { + Class3_Sub13_Sub24.npcs[var1].anInt2772 = -1; + } + } + + Class3_Sub28_Sub9.method580((byte)80); + Class133.anInt1753 = 1; + Class117.method1719(30, 5); + + for(var1 = 0; var1 < 100; ++var1) { + Class3_Sub28_Sub14.aBooleanArray3674[var1] = true; + } + + Class3_Sub13_Sub8.method204(-3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dh.F(" + var0 + ')'); + } + } + + static final Class118 method913(int var0) { + try { + try { + if(var0 != 31431) { + method913(123); + } + + return (Class118)Class.forName(Configurations.PACKAGE_JAGEX + ".Class118_Sub1").newInstance(); + } catch (Throwable var2) { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dh.C(" + var0 + ')'); + } + } + + static final Class3_Sub31 method914(int var0, int interfaceId, int interfaceHash, int walkable) { + try { + Class3_Sub31 var4 = new Class3_Sub31(); + var4.anInt2603 = walkable; + var4.anInt2602 = interfaceId; + Class3_Sub13_Sub17.aClass130_3208.method1779(1, var4, (long)interfaceHash); + Class3_Sub13_Sub13.method232(interfaceId, 16182); + RSInterface var5 = Class7.getRSInterface((byte)122, interfaceHash); + if(var5 != null) { + Class20.method909(120, var5); + } else { + System.out.println("Invalid interface opened - [window=" + (interfaceHash >> 16) + ", child=" + (interfaceHash & 0xFF) + ", id=" + interfaceId + "]"); + } + + if(null != Class3_Sub13_Sub7.aClass11_3087) { + Class20.method909(117, Class3_Sub13_Sub7.aClass11_3087); + Class3_Sub13_Sub7.aClass11_3087 = null; + } + + int var6 = Class3_Sub13_Sub34.anInt3415; + if(var0 != 6422) { + aClass94_444 = (RSString)null; + } + + int var7; + for(var7 = 0; var6 > var7; ++var7) { + if(Class2.method73(Class3_Sub13_Sub7.aShortArray3095[var7], var0 + -6301)) { + Class3_Sub25.method509(1, var7); + } + } + + if(1 == Class3_Sub13_Sub34.anInt3415) { + Class38_Sub1.aBoolean2615 = false; + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + } else { + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + var7 = Class168.aClass3_Sub28_Sub17_2096.method682(Class75_Sub4.aClass94_2667); + + for(int var8 = 0; Class3_Sub13_Sub34.anInt3415 > var8; ++var8) { + int var9 = Class168.aClass3_Sub28_Sub17_2096.method682(RSByteBuffer.method802(var8, true)); + if(~var9 < ~var7) { + var7 = var9; + } + } + + Class3_Sub28_Sub3.anInt3552 = 8 + var7; + Class3_Sub28_Sub1.anInt3537 = 15 * Class3_Sub13_Sub34.anInt3415 + (!CacheIndex.aBoolean1951?22:26); + } + + if(var5 != null) { + Class151_Sub1.method2104(var5, false, 55); + } + + Class3_Sub13_Sub12.method226(interfaceId, 58); + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + Class3_Sub8.method124(var0 ^ 6509, 1, Class3_Sub28_Sub12.anInt3655); + } + + return var4; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "dh.D(" + var0 + ',' + interfaceId + ',' + interfaceHash + ',' + walkable + ')'); + } + } + + static final void method915(RSString var0, int var1) { + try { + int var2 = Class3_Sub28_Sub8.method576(var0, false); + if(var1 != var2) { + Class3_Sub28_Sub7.method565((byte)86, Class119.aClass131_1624.aShortArray1727[var2], Class119.aClass131_1624.aShortArray1718[var2]); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dh.A(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final Class146 method916(byte var0) { + try { + if(var0 != 15) { + aClass94_442 = (RSString)null; + } + + try { + return (Class146)Class.forName(Configurations.PACKAGE_JAGEX + ".Class146_Sub1").newInstance(); + } catch (Throwable var2) { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "dh.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class22.java b/09HDscape-client/src/org/runite/jagex/Class22.java new file mode 100644 index 000000000..639449746 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class22.java @@ -0,0 +1,272 @@ +package org.runite.jagex; +import java.nio.IntBuffer; +import javax.media.opengl.GL; + +final class Class22 { + + static Class3_Sub28_Sub16_Sub1 aClass3_Sub28_Sub16_Sub1_447 = null; + static int anInt448 = 0; + static int anInt449 = 0; + private static int anInt450 = 0; + static int anInt451 = 0; + + + static final void method921() { + aClass3_Sub28_Sub16_Sub1_447 = null; + } + + static final void method922(int var0, int var1, int var2, int var3) { + HDToolKit.method1835(); + float var4 = (float)var0 + 0.3F; + float var5 = var4 + (float)var2; + float var6 = (float)HDToolKit.anInt1811 - ((float)var1 + 0.3F); + GL var7 = HDToolKit.gl; + var7.glBegin(1); + var7.glColor3ub((byte)(var3 >> 16), (byte)(var3 >> 8), (byte)var3); + var7.glVertex2f(var4, var6); + var7.glVertex2f(var5, var6); + var7.glEnd(); + } + + public static void method923() { + aClass3_Sub28_Sub16_Sub1_447 = null; + } + + static final void method924(int var0, int var1, int var2, int var3) { + HDToolKit.method1835(); + float var4 = (float)var0 + 0.3F; + float var5 = (float)HDToolKit.anInt1811 - ((float)var1 + 0.3F); + float var6 = var5 - (float)var2; + GL var7 = HDToolKit.gl; + var7.glBegin(1); + var7.glColor3ub((byte)(var3 >> 16), (byte)(var3 >> 8), (byte)var3); + var7.glVertex2f(var4, var5); + var7.glVertex2f(var4, var6); + var7.glEnd(); + } + + static final void method925() { + anInt449 = 0; + anInt448 = 0; + anInt450 = HDToolKit.anInt1820; + anInt451 = HDToolKit.anInt1811; + GL var0 = HDToolKit.gl; + var0.glDisable(3089); + method921(); + } + + static final void method926(int[] var0, int var1, int var2, int var3, int var4) { + HDToolKit.method1835(); + GL var5 = HDToolKit.gl; + var5.glRasterPos2i(var1, HDToolKit.anInt1811 - var2); + var5.glPixelZoom(1.0F, -1.0F); + var5.glDisable(3042); + var5.glDisable(3008); + var5.glDrawPixels(var3, var4, '\u80e1', HDToolKit.aBoolean1790?'\u8367':5121, IntBuffer.wrap(var0)); + var5.glEnable(3008); + var5.glEnable(3042); + var5.glPixelZoom(1.0F, 1.0F); + } + + static final void method927(int var0, int var1, int var2, int var3, int var4) { + HDToolKit.method1835(); + float var5 = (float)var0 + 0.3F; + float var6 = var5 + (float)(var2 - 1); + float var7 = (float)HDToolKit.anInt1811 - ((float)var1 + 0.3F); + float var8 = var7 - (float)(var3 - 1); + GL var9 = HDToolKit.gl; + var9.glBegin(2); + var9.glColor3ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4); + var9.glVertex2f(var5, var7); + var9.glVertex2f(var5, var8); + var9.glVertex2f(var6, var8); + var9.glVertex2f(var6, var7); + var9.glEnd(); + } + + static final void method928(int var0, int var1, int var2, int var3, int var4, int var5) { + HDToolKit.method1835(); + float var6 = (float)var0 + 0.3F; + float var7 = var6 + (float)(var2 - 1); + float var8 = (float)HDToolKit.anInt1811 - ((float)var1 + 0.3F); + float var9 = var8 - (float)(var3 - 1); + GL var10 = HDToolKit.gl; + var10.glBegin(2); + var10.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, var5 > 255?-1:(byte)var5); + var10.glVertex2f(var6, var8); + var10.glVertex2f(var6, var9); + var10.glVertex2f(var7, var9); + var10.glVertex2f(var7, var8); + var10.glEnd(); + } + + static final void method929(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var2 - var0; + int var7 = var3 - var1; + int var8 = var6 >= 0?var6:-var6; + int var9 = var7 >= 0?var7:-var7; + int var10 = var8; + if(var8 < var9) { + var10 = var9; + } + + if(var10 != 0) { + int var11 = (var6 << 16) / var10; + int var12 = (var7 << 16) / var10; + if(var12 <= var11) { + var11 = -var11; + } else { + var12 = -var12; + } + + int var13 = var5 * var12 >> 17; + int var14 = var5 * var12 + 1 >> 17; + int var15 = var5 * var11 >> 17; + int var16 = var5 * var11 + 1 >> 17; + int var17 = var0 + var13; + int var18 = var0 - var14; + int var19 = var0 + var6 - var14; + int var20 = var0 + var6 + var13; + int var21 = var1 + var15; + int var22 = var1 - var16; + int var23 = var1 + var7 - var16; + int var24 = var1 + var7 + var15; + HDToolKit.method1835(); + GL var25 = HDToolKit.gl; + var25.glColor3ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4); + var25.glBegin(6); + if(var12 <= var11) { + var25.glVertex2f((float)var20, (float)(HDToolKit.anInt1811 - var24)); + var25.glVertex2f((float)var19, (float)(HDToolKit.anInt1811 - var23)); + var25.glVertex2f((float)var18, (float)(HDToolKit.anInt1811 - var22)); + var25.glVertex2f((float)var17, (float)(HDToolKit.anInt1811 - var21)); + } else { + var25.glVertex2f((float)var17, (float)(HDToolKit.anInt1811 - var21)); + var25.glVertex2f((float)var18, (float)(HDToolKit.anInt1811 - var22)); + var25.glVertex2f((float)var19, (float)(HDToolKit.anInt1811 - var23)); + var25.glVertex2f((float)var20, (float)(HDToolKit.anInt1811 - var24)); + } + + var25.glEnd(); + } + } + + static final void method930(int var0, int var1, int var2, int var3, int var4, int var5) { + HDToolKit.method1835(); + float var6 = (float)var0; + float var7 = var6 + (float)var2; + float var8 = (float)(HDToolKit.anInt1811 - var1); + float var9 = var8 - (float)var3; + GL var10 = HDToolKit.gl; + var10.glBegin(6); + var10.glColor4ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, var5 > 255?-1:(byte)var5); + var10.glVertex2f(var6, var8); + var10.glVertex2f(var6, var9); + var10.glVertex2f(var7, var9); + var10.glVertex2f(var7, var8); + var10.glEnd(); + } + + static final void method931(int var0, int var1, int var2, int var3) { + if(anInt449 < var0) { + anInt449 = var0; + } + + if(anInt448 < var1) { + anInt448 = var1; + } + + if(anInt450 > var2) { + anInt450 = var2; + } + + if(anInt451 > var3) { + anInt451 = var3; + } + + GL var4 = HDToolKit.gl; + var4.glEnable(3089); + if(anInt449 <= anInt450 && anInt448 <= anInt451) { + var4.glScissor(anInt449, HDToolKit.anInt1811 - anInt451, anInt450 - anInt449, anInt451 - anInt448); + } else { + var4.glScissor(0, 0, 0, 0); + } + + method921(); + } + + static final void method932() { + HDToolKit.gl.glClear(16640); + } + + static final void method933(int var0, int var1, int var2, int var3, int var4) { + HDToolKit.method1835(); + float var5 = (float)var0 + 0.3F; + float var6 = (float)var2 + 0.3F; + float var7 = (float)HDToolKit.anInt1811 - ((float)var1 + 0.3F); + float var8 = (float)HDToolKit.anInt1811 - ((float)var3 + 0.3F); + GL var9 = HDToolKit.gl; + var9.glBegin(2); + var9.glColor3ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4); + var9.glVertex2f(var5, var7); + var9.glVertex2f(var6, var8); + var9.glEnd(); + } + + static final void method934(int var0, int var1, int var2, int var3, int var4) { + HDToolKit.method1835(); + float var5 = (float)var0; + float var6 = var5 + (float)var2; + float var7 = (float)(HDToolKit.anInt1811 - var1); + float var8 = var7 - (float)var3; + GL var9 = HDToolKit.gl; + var9.glBegin(6); + var9.glColor3ub((byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4); + var9.glVertex2f(var5, var7); + var9.glVertex2f(var5, var8); + var9.glVertex2f(var6, var8); + var9.glVertex2f(var6, var7); + var9.glEnd(); + } + + static final void method935(int var0, int var1, int var2, int var3) { + if(var0 < 0) { + var0 = 0; + } + + if(var1 < 0) { + var1 = 0; + } + + if(var2 > HDToolKit.anInt1820) { + var2 = HDToolKit.anInt1820; + } + + if(var3 > HDToolKit.anInt1811) { + var3 = HDToolKit.anInt1811; + } + + anInt449 = var0; + anInt448 = var1; + anInt450 = var2; + anInt451 = var3; + GL var4 = HDToolKit.gl; + var4.glEnable(3089); + if(anInt449 <= anInt450 && anInt448 <= anInt451) { + var4.glScissor(anInt449, HDToolKit.anInt1811 - anInt451, anInt450 - anInt449, anInt451 - anInt448); + } else { + var4.glScissor(0, 0, 0, 0); + } + + method921(); + } + + static final void method936(Class3_Sub28_Sub16_Sub1 var0) { + if(var0.anInt3696 != anInt451 - anInt448) { + throw new IllegalArgumentException(); + } else { + aClass3_Sub28_Sub16_Sub1_447 = var0; + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class23.java b/09HDscape-client/src/org/runite/jagex/Class23.java new file mode 100644 index 000000000..4efc909ad --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class23.java @@ -0,0 +1,96 @@ +package org.runite.jagex; + +final class Class23 { + + static int anInt452; + static int anInt453 = 0; + static int anInt454; + static int anInt455; + static int anInt456; + static boolean[][] aBooleanArrayArray457; + private static RSString aClass94_458 = RSString.createRSString("Opened title screen"); + static RSString aClass94_459 = aClass94_458; + + + public static void method937(int var0) { + try { + aBooleanArrayArray457 = (boolean[][])null; + aClass94_458 = null; + if(var0 != 0) { + aBooleanArrayArray457 = (boolean[][])((boolean[][])null); + } + + aClass94_459 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dl.A(" + var0 + ')'); + } + } + + static final void method938(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(var6 != 1) { + aClass94_458 = (RSString)null; + } + + int var9 = var2 - var7; + int var10 = var3 - var8; + int var11 = (-var1 + var0 << 16) / var9; + int var12 = (-var5 + var4 << 16) / var10; + Class136.method1814(var1, var3, var2, var12, var7, 0, 0, 127, var11, var8, var5); + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "dl.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final RSByteBuffer method939(byte var0) { + try { + RSByteBuffer var1 = new RSByteBuffer(34); + var1.putByte((byte)-40, 11); + var1.putByte((byte)-42, Class3_Sub28_Sub10.anInt3625); + var1.putByte((byte)-81, !Class3_Sub28_Sub13.aBoolean3665?0:1); + var1.putByte((byte)-57, Class3_Sub28_Sub7.aBoolean3604?1:0); + var1.putByte((byte)-12, Class148.aBoolean1905?1:0); + var1.putByte((byte)-29, Class25.aBoolean488?1:0); + var1.putByte((byte)-60, !RSInterface.aBoolean236?0:1); + var1.putByte((byte)-78, !WorldListEntry.aBoolean2623?0:1); + var1.putByte((byte)-30, Class3_Sub13_Sub22.aBoolean3275?1:0); + var1.putByte((byte)-6, !Class140_Sub6.aBoolean2910?0:1); + var1.putByte((byte)-83, Class80.anInt1137); + var1.putByte((byte)-29, !Class106.aBoolean1441?0:1); + var1.putByte(var0, Class128.aBoolean1685?1:0); + var1.putByte((byte)-45, Class38.aBoolean661?1:0); + var1.putByte((byte)-78, Class3_Sub28_Sub9.anInt3622); + var1.putByte((byte)-118, !Class3_Sub13_Sub15.aBoolean3184?0:1); + var1.putByte((byte)-119, CS2Script.anInt2453); + var1.putByte((byte)-70, Class9.anInt120); + var1.putByte((byte)-9, Class14.anInt340); + var1.putShort(Class3_Sub13.anInt2378); + var1.putShort(Class3_Sub13_Sub5.anInt3071); + var1.putByte((byte)-53, Class127_Sub1.method1757()); + var1.putInt(-123, RSString.anInt2148); + var1.putByte((byte)-19, Node.anInt2577); + var1.putByte((byte)-117, RSString.aBoolean2146?1:0); + var1.putByte((byte)-9, !Class15.aBoolean346?0:1); + var1.putByte((byte)-39, Class3_Sub20.anInt2488); + var1.putByte((byte)-78, Class73.aBoolean1080?1:0); + var1.putByte((byte)-79, Class163_Sub3.aBoolean3004?1:0); + return var1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dl.C(" + var0 + ')'); + } + } + + static final void method940(int var0, int var1) { + try { + if(var0 >= 101) { + Class149 var2 = Class3_Sub28_Sub7_Sub1.aClass149_4047; + synchronized(var2) { + Class3_Sub28_Sub7_Sub1.anInt4045 = var1; + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "dl.D(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class24.java b/09HDscape-client/src/org/runite/jagex/Class24.java new file mode 100644 index 000000000..6872f98b7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class24.java @@ -0,0 +1,441 @@ +package org.runite.jagex; + +final class Class24 { + + private short[] aShortArray460; + + static RSString aClass94_463 = RSString.createRSString("Bitte entfernen Sie "); + private short[] aShortArray464; + static RSString aClass94_465 = RSString.createRSString(" "); + int anInt466 = -1; + static int anInt467 = 0; + static RSString aClass94_468 = RSString.createRSString("(U"); + static int anInt469 = 0; + private short[] aShortArray470; + private short[] aShortArray471; + static int anInt472 = 0; + private static RSString aClass94_473 = RSString.createRSString("Loading title screen )2 "); + private int[] anIntArray474; + private int[] anIntArray475 = new int[]{-1, -1, -1, -1, -1}; + boolean aBoolean476 = false; + private static RSString aClass94_477 = RSString.createRSString("Loading)3)3)3"); + static RSString aClass94_461 = aClass94_473; + static RSString aClass94_462 = aClass94_477; + + final Model_Sub1 method941(boolean var1) { + try { + if(!var1) { + return (Model_Sub1)null; + } else { + int var3 = 0; + Model_Sub1[] var2 = new Model_Sub1[5]; + + for(int var4 = 0; -6 < ~var4; ++var4) { + if(0 != ~this.anIntArray475[var4]) { + var2[var3++] = Model_Sub1.method2015(Class10.aClass153_152, this.anIntArray475[var4], 0); + } + } + + Model_Sub1 var7 = new Model_Sub1(var2, var3); + int var5; + if(this.aShortArray464 != null) { + for(var5 = 0; ~var5 > ~this.aShortArray464.length; ++var5) { + var7.method2016(this.aShortArray464[var5], this.aShortArray460[var5]); + } + } + + if(null != this.aShortArray471) { + for(var5 = 0; ~this.aShortArray471.length < ~var5; ++var5) { + var7.method1998(this.aShortArray471[var5], this.aShortArray470[var5]); + } + } + + return var7; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "dm.F(" + var1 + ')'); + } + } + + final boolean method942(int var1) { + try { + if(null == this.anIntArray474) { + return true; + } else { + boolean var2 = true; + if(var1 < 72) { + this.method948(44); + } + + for(int var3 = 0; ~var3 > ~this.anIntArray474.length; ++var3) { + if(!Class10.aClass153_152.method2129((byte)-90, 0, this.anIntArray474[var3])) { + var2 = false; + } + } + + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "dm.J(" + var1 + ')'); + } + } + + public static void method943(int var0) { + try { + aClass94_468 = null; + aClass94_473 = null; + if(var0 == -9893) { + aClass94_477 = null; + aClass94_465 = null; + aClass94_462 = null; + aClass94_463 = null; + aClass94_461 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dm.C(" + var0 + ')'); + } + } + + static final boolean isValidObjectMapping(byte var0, int var1, int var2, byte[] var3) { + try { + int var4 = 106 % ((-11 - var0) / 51); + boolean var5 = true; + int var7 = -1; + RSByteBuffer buffer = new RSByteBuffer(var3); + + if (buffer.buffer.length == 0) { +// System.out.println("No object mapping found!"); + return true; + } + while(true) { + if (buffer.index == buffer.buffer.length) { + return true; + } + int var8 = buffer.method773((byte)-121); + if(0 == var8) { + return var5; + } + + int var9 = 0; + var7 += var8; + boolean var10 = false; + + while(true) { + int var11; + if(!var10) { + if (buffer.index == buffer.buffer.length) { + break; + } + var11 = buffer.getSmart(true); + if(0 == var11) { + break; + } + + var9 += var11 + -1; + int var12 = 63 & var9; + int var13 = (4088 & var9) >> 6; + int var16 = var2 + var12; + int var15 = var1 + var13; + int var14 = buffer.getByte((byte)-94) >> 2; + if(~var15 < -1 && var16 > 0 && 103 > var15 && 103 > var16) { + ObjectDefinition var17 = Class162.getObjectDefinition(4, var7); + if(var14 != 22 || Class148.aBoolean1905 || 0 != var17.anInt1529 || ~var17.actionCount == -2 || var17.aBoolean1483) { + var10 = true; + if(!var17.hasModels(false)) { + var5 = false; + ++Class162.anInt2038; + } + } + } + } else { + var11 = buffer.getSmart(true); + if(~var11 == -1) { + break; + } + + buffer.getByte((byte)-116); + } + } + } + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "dm.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final void renderLocalNPCs(byte var0) { + try { + GraphicDefinition.incomingBuffer.setBitAccess((byte)-98); + int var1 = GraphicDefinition.incomingBuffer.getBits(var0, 8); + int var2; + if(~Class163.localNPCCount < ~var1) { + for(var2 = var1; var2 < Class163.localNPCCount; ++var2) { + Class3_Sub7.anIntArray2292[Class139.anInt1829++] = Class15.localNPCIndexes[var2]; + } + } + + if(Class163.localNPCCount < var1) { + throw new RuntimeException("gnpov1"); + } else { + Class163.localNPCCount = 0; + + for(var2 = 0; ~var2 > ~var1; ++var2) { + int var3 = Class15.localNPCIndexes[var2]; + NPC var4 = Class3_Sub13_Sub24.npcs[var3]; + int var5 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(0 != var5) { + int var6 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 2); + if(-1 != ~var6) { + int var7; + int var8; + if(1 != var6) { + if(var6 == 2) { + Class15.localNPCIndexes[Class163.localNPCCount++] = var3; + var4.anInt2838 = Class44.anInt719; + if(-2 == ~GraphicDefinition.incomingBuffer.getBits((byte)-11, 1)) { + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(2, (byte)-122, var7); + var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(2, (byte)85, var8); + } else { + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(0, (byte)-80, var7); + } + + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(var7 == 1) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } else if(var6 == 3) { + Class3_Sub7.anIntArray2292[Class139.anInt1829++] = var3; + } + } else { + Class15.localNPCIndexes[Class163.localNPCCount++] = var3; + var4.anInt2838 = Class44.anInt719; + var7 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 3); + var4.walkStep(1, (byte)32, var7); + var8 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(1 == var8) { + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } + } else { + Class15.localNPCIndexes[Class163.localNPCCount++] = var3; + var4.anInt2838 = Class44.anInt719; + Class21.maskUpdateIndexes[Class66.maskUpdateCount++] = var3; + } + } else { + Class15.localNPCIndexes[Class163.localNPCCount++] = var3; + var4.anInt2838 = Class44.anInt719; + } + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "dm.E(" + var0 + ')'); + } + } + + private final void method946(byte var1, RSByteBuffer var2, int var3) { + try { + if(var1 >= -16) { + this.aShortArray470 = (short[])null; + } + + if(~var3 != -2) { + int var4; + int var5; + if(-3 == ~var3) { + var4 = var2.getByte((byte)-71); + this.anIntArray474 = new int[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.anIntArray474[var5] = var2.getShort(1); + } + } else if(-4 == ~var3) { + this.aBoolean476 = true; + } else if(-41 != ~var3) { + if(-42 == ~var3) { + var4 = var2.getByte((byte)-49); + this.aShortArray471 = new short[var4]; + this.aShortArray470 = new short[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.aShortArray471[var5] = (short)var2.getShort(1); + this.aShortArray470[var5] = (short)var2.getShort(1); + } + } else if(~var3 <= -61 && var3 < 70) { + this.anIntArray475[-60 + var3] = var2.getShort(1); + } + } else { + var4 = var2.getByte((byte)-128); + this.aShortArray460 = new short[var4]; + this.aShortArray464 = new short[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + this.aShortArray464[var5] = (short)var2.getShort(1); + this.aShortArray460[var5] = (short)var2.getShort(1); + } + } + } else { + this.anInt466 = var2.getByte((byte)-67); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "dm.K(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final Model_Sub1 method947(byte var1) { + try { + if(this.anIntArray474 == null) { + return null; + } else { + Model_Sub1[] var2 = new Model_Sub1[this.anIntArray474.length]; + + for(int var3 = 0; ~var3 > ~this.anIntArray474.length; ++var3) { + var2[var3] = Model_Sub1.method2015(Class10.aClass153_152, this.anIntArray474[var3], 0); + } + + int var4 = 27 / ((var1 - 74) / 35); + Model_Sub1 var7; + if(var2.length == 1) { + var7 = var2[0]; + } else { + var7 = new Model_Sub1(var2, var2.length); + } + + int var5; + if(null != this.aShortArray464) { + for(var5 = 0; var5 < this.aShortArray464.length; ++var5) { + var7.method2016(this.aShortArray464[var5], this.aShortArray460[var5]); + } + } + + if(this.aShortArray471 != null) { + for(var5 = 0; ~var5 > ~this.aShortArray471.length; ++var5) { + var7.method1998(this.aShortArray471[var5], this.aShortArray470[var5]); + } + } + + return var7; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "dm.H(" + var1 + ')'); + } + } + + final boolean method948(int var1) { + try { + boolean var2 = true; + if(var1 != 18991) { + this.aShortArray460 = (short[])null; + } + + for(int var3 = 0; var3 < 5; ++var3) { + if(-1 != this.anIntArray475[var3] && !Class10.aClass153_152.method2129((byte)95, 0, this.anIntArray475[var3])) { + var2 = false; + } + } + + return var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "dm.B(" + var1 + ')'); + } + } + + static final void method949(int var0, byte var1, int var2, int var3, int var4) { + try { + int var5 = -44 / ((24 - var1) / 59); + int var6 = 0; + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var4], -var2 + var0, 100, var0 - -var2, var3); + int var8 = -var2; + int var7 = var2; + int var9 = -1; + + while(~var6 > ~var7) { + ++var6; + var9 += 2; + var8 += var9; + if(var8 >= 0) { + --var7; + var8 -= var7 << 1; + int[] var10 = Class38.anIntArrayArray663[var4 - -var7]; + int[] var11 = Class38.anIntArrayArray663[var4 - var7]; + int var12 = var0 - -var6; + int var13 = -var6 + var0; + Class3_Sub13_Sub23_Sub1.method282(var10, var13, 115, var12, var3); + Class3_Sub13_Sub23_Sub1.method282(var11, var13, 114, var12, var3); + } + + int var16 = var7 + var0; + int var15 = -var7 + var0; + int[] var17 = Class38.anIntArrayArray663[var4 - -var6]; + int[] var18 = Class38.anIntArrayArray663[-var6 + var4]; + Class3_Sub13_Sub23_Sub1.method282(var17, var15, -61, var16, var3); + Class3_Sub13_Sub23_Sub1.method282(var18, var15, -93, var16, var3); + } + + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "dm.I(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method950(RSInterface var0, int var1, int var2, int var3) { + try { + if(2 <= Class3_Sub13_Sub34.anInt3415 || ~Class164_Sub1.anInt3012 != -1 || GameObject.aBoolean1837) { + if(var1 > -55) { + aClass94_473 = (RSString)null; + } + + RSString var4 = Class3_Sub28_Sub1.method531((byte)94); + if(var0 == null) { + int var5 = Class168.aClass3_Sub28_Sub17_2096.method683(var4, 4 + var3, var2 - -15, 16777215, 0, Class3_Sub13_Sub7.aRandom3088, Class38_Sub1.anInt2618); + Class75.method1340(4 + var3, Class168.aClass3_Sub28_Sub17_2096.method682(var4) + var5, (byte)-40, var2, 15); + } else { + Class3_Sub28_Sub17 var7 = var0.method868(Class3_Sub13_Sub22.aClass109Array3270, 0); + if(null == var7) { + var7 = Class168.aClass3_Sub28_Sub17_2096; + } + + var7.method702(var4, var3, var2, var0.anInt168, var0.anInt193, var0.anInt218, var0.anInt287, var0.anInt194, var0.anInt225, Class3_Sub13_Sub7.aRandom3088, Class38_Sub1.anInt2618, Player.anIntArray3951); + Class75.method1340(Player.anIntArray3951[0], Player.anIntArray3951[2], (byte)-40, Player.anIntArray3951[1], Player.anIntArray3951[3]); + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "dm.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method951(int var0) { + try { + Class3_Sub28_Sub18.aBoolean3769 = false; + Class3_Sub13_Sub34.anInt3413 = 0; + Class158.anInt2005 = -3; + Class50.anInt820 = 0; + Class3_Sub13_Sub25.loginStage = 1; + Class166.anInt2079 = var0; + Class3_Sub26.anInt2561 = -1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "dm.G(" + var0 + ')'); + } + } + + final void method952(int var1, RSByteBuffer var2) { + try { + if(var1 == -31957) { + while(true) { + int var3 = var2.getByte((byte)-52); + if(0 == var3) { + return; + } + + this.method946((byte)-84, var2, var3); + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "dm.L(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class25.java b/09HDscape-client/src/org/runite/jagex/Class25.java new file mode 100644 index 000000000..5bc38c03e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class25.java @@ -0,0 +1,163 @@ +package org.runite.jagex; + +final class Class25 { + + int anInt478; + GameObject aClass140_479; + static Class47 aClass47_480 = new Class47(16); + int anInt481; + int anInt482; + int anInt483; + int anInt484; + + static int anInt486 = 5063219; + int anInt487; + static boolean aBoolean488 = true; + int anInt489; + int anInt490; + static int anInt491 = 0; + private static RSString aClass94_492 = RSString.createRSString("RuneScape is loading )2 please wait)3)3)3"); + int anInt493; + static int anInt494; + int anInt495; + int anInt496; + static int anInt497; + long aLong498 = 0L; + static int[][] anIntArrayArray499 = new int[][]{new int[0], {128, 0, 128, 128, 0, 128}, {0, 0, 128, 0, 128, 128, 64, 128}, {0, 128, 0, 0, 128, 0, 64, 128}, {0, 0, 64, 128, 0, 128}, {128, 128, 64, 128, 128, 0}, {64, 0, 128, 0, 128, 128, 64, 128}, {128, 0, 128, 128, 0, 128, 0, 64, 64, 0}, {0, 0, 64, 0, 0, 64}, {0, 0, 128, 0, 128, 128, 64, 96, 32, 64}, {0, 128, 0, 0, 32, 64, 64, 96, 128, 128}, {0, 128, 0, 0, 32, 32, 96, 32, 128, 0, 128, 128}}; +static RSString aClass94_485 = aClass94_492; + + static final void method953(int var0, int var1) { + try { + Class114.aClass93_1569.method1522(var0 ^ 13501, var1); + if(var0 != -13508) { + aClass94_485 = (RSString)null; + } + + Class3_Sub15.aClass93_2428.method1522(-126, var1); + Class47.aClass93_743.method1522(-126, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ec.D(" + var0 + ',' + var1 + ')'); + } + } + + public static void method954(int var0) { + try { + aClass47_480 = null; + anIntArrayArray499 = (int[][])null; + aClass94_492 = null; + if(var0 != 128) { + method954(113); + } + + aClass94_485 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ec.A(" + var0 + ')'); + } + } + + static final void method955(int[][] var0, boolean var1, int var2, Class3_Sub11 var3, int[] var4, int var5, int var6, int var7, boolean var8, float[][] var9, boolean var10, int var11, float[][] var12, int var13, int var14, int var15, boolean var16, int[][] var17, float[][] var18, byte var19, int var20, boolean[] var21) { + try { + int var22 = (var2 << 8) + (var1?255:0); + int var24 = (!var8?0:255) + (var15 << 8); + int[] var26 = new int[var4.length / var11]; + int var25 = (var10?255:0) + (var14 << 8); + int var23 = (var20 << 8) + (!var16?0:255); + + for(int var27 = 0; ~var27 > ~var26.length; ++var27) { + int var28 = var4[var27 + var27]; + int[][] var30 = null != var0 && var21 != null && var21[var27]?var0:var17; + int var29 = var4[var27 + var27 - -1]; + var26[var27] = Class121.method1734(var25, (float)var13, var22, var23, var0, var30, var7, var18, var24, (byte)-116, var19, false, var3, var9, var5, var28, var12, var29); + } + + var3.method150(var6, var7, var5, var26, (int[])null, false); + } catch (RuntimeException var31) { + throw Class44.method1067(var31, "ec.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + (var9 != null?"{...}":"null") + ',' + var10 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ',' + var13 + ',' + var14 + ',' + var15 + ',' + var16 + ',' + (var17 != null?"{...}":"null") + ',' + (var18 != null?"{...}":"null") + ',' + var19 + ',' + var20 + ',' + (var21 != null?"{...}":"null") + ')'); + } + } + + static final void method956(Object[] var0, int var1, int[] var2, int var3, int var4) { + try { + if(var4 < var1) { + int var5 = (var4 + var1) / 2; + int var7 = var2[var5]; + int var6 = var4; + var2[var5] = var2[var1]; + var2[var1] = var7; + Object var8 = var0[var5]; + var0[var5] = var0[var1]; + var0[var1] = var8; + + for(int var9 = var4; ~var9 > ~var1; ++var9) { + if(~((var9 & 1) + var7) < ~var2[var9]) { + int var10 = var2[var9]; + var2[var9] = var2[var6]; + var2[var6] = var10; + Object var11 = var0[var9]; + var0[var9] = var0[var6]; + var0[var6++] = var11; + } + } + + var2[var1] = var2[var6]; + var2[var6] = var7; + var0[var1] = var0[var6]; + var0[var6] = var8; + method956(var0, var6 - 1, var2, 47, var4); + method956(var0, var1, var2, 100, 1 + var6); + } + + if(var3 < 16) { + method955((int[][])((int[][])null), true, 94, (Class3_Sub11)null, (int[])null, -50, -107, -51, false, (float[][])((float[][])null), true, 73, (float[][])((float[][])null), -92, -7, -23, true, (int[][])((int[][])null), (float[][])((float[][])null), (byte)52, 41, (boolean[])null); + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ec.G(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method957(int var0, boolean var1) { + try { + if(var0 == 96) { + Class3_Sub28_Sub13.aBoolean3665 = var1; + Class47.aBoolean742 = !NPC.method1986(42); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ec.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method958(byte var0) { + try { + if(GameObject.aBoolean1837) { + int var2 = 88 / ((57 - var0) / 59); + RSInterface var1 = Class3_Sub28_Sub16.method638((byte)-19, Class54.anInt872, RSInterface.anInt278); + if(null != var1 && var1.anObjectArray303 != null) { + CS2Script var3 = new CS2Script(); + var3.arguments = var1.anObjectArray303; + var3.aClass11_2449 = var1; + Class43.method1065(1073376993, var3); + } + + GameObject.aBoolean1837 = false; + Class3_Sub28_Sub5.anInt3590 = -1; + Class20.method909(-107, var1); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ec.E(" + var0 + ')'); + } + } + + static final void method959(int var0) { + try { + CS2Script.aClass93_2450.method1524(3); + if(var0 != 0) { + method957(121, true); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ec.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class27.java b/09HDscape-client/src/org/runite/jagex/Class27.java new file mode 100644 index 000000000..ce3446356 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class27.java @@ -0,0 +1,61 @@ +package org.runite.jagex; + +final class Class27 { + + static int[] anIntArray510 = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; + static Class93 aClass93_511 = new Class93(30); + static int[] anIntArray512 = new int[500]; + static int anInt513; + static RSString aClass94_514 = RSString.createRSString(":duelstake:"); + static int anInt515 = -1; + static RSString aClass94_516 = RSString.createRSString("unzap"); + static int anInt517 = 0; + static Class3_Sub28_Sub16_Sub2 aClass3_Sub28_Sub16_Sub2_518; + private static RSString aClass94_519 = RSString.createRSString("skill: "); + static RSString aClass94_520 = RSString.createRSString("Chargement des interfaces )2 "); + private static RSString aClass94_521 = RSString.createRSString("scroll:"); + static RSString aClass94_522 = aClass94_519; + static RSString aClass94_523 = aClass94_521; + static Class157 aClass157_524; + + static RSInterface aClass11_526 = null; + private static RSString aClass94_527 = RSString.createRSString("level: "); + static RSString aClass94_528 = aClass94_521; + static RSString aClass94_525 = aClass94_527; + + static final int method961(int var0) { + try { + return var0 != 1536?96:(Class23.anInt453 == 0?0:Class2.anInterface5Array70[Class23.anInt453].method24()); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ef.B(" + var0 + ')'); + } + } + + public static void method962(byte var0) { + try { + aClass94_528 = null; + aClass94_523 = null; + aClass94_525 = null; + anIntArray512 = null; + aClass94_527 = null; + aClass94_520 = null; + aClass3_Sub28_Sub16_Sub2_518 = null; + if(var0 > -44) { + aClass94_522 = (RSString)null; + } + + aClass11_526 = null; + anIntArray510 = null; + aClass94_522 = null; + aClass94_521 = null; + aClass94_514 = null; + aClass94_516 = null; + aClass94_519 = null; + aClass157_524 = null; + aClass93_511 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ef.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class29.java b/09HDscape-client/src/org/runite/jagex/Class29.java new file mode 100644 index 000000000..f2f493549 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class29.java @@ -0,0 +1,237 @@ +package org.runite.jagex; + +final class Class29 { + + static boolean aBoolean554 = false; + static int anInt555; + int anInt556 = 0; + static CacheIndex aClass153_557; + static int[][][] anIntArrayArrayArray558; + static RSString aClass94_559 = RSString.createRSString("m-Ochte mit Ihnen handeln)3"); + static RSString aClass94_560 = RSString.createRSString(" zuerst von Ihrer Freunde)2Liste(Q"); + static int anInt561 = 0; + static int anInt562; + + + static final void method968(int var0) { + try { + int[] var1 = new int[Class3_Sub13_Sub23.itemDefinitionSize]; + int var2 = 0; + + int var3; + for(var3 = 0; Class3_Sub13_Sub23.itemDefinitionSize > var3; ++var3) { + ItemDefinition var4 = Class38.getItemDefinition(var3, (byte)119); + if(-1 >= ~var4.anInt793 || ~var4.anInt761 <= -1) { + var1[var2++] = var3; + } + } + + Class75_Sub4.anIntArray2664 = new int[var2]; + + + for(var3 = 0; var3 < var2; ++var3) { + Class75_Sub4.anIntArray2664[var3] = var1[var3]; + } + + if(var0 != 128) { + method968(19); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "eh.A(" + var0 + ')'); + } + } + + static final void method969(CacheIndex var0, int var1) { + try { + Class12.aClass153_322 = var0; + if(var1 < 39) { + anInt561 = -82; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "eh.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final void method970(int var1, RSByteBuffer var2) { + try { + while(true) { + int var3 = var2.getByte((byte)-74); + if(0 == var3) { + if(var1 != -20638) { + method969((CacheIndex)null, 55); + } + + return; + } + + this.method972(var2, (byte)-117, var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "eh.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method971(int var0, int[][] var1, float[][] var2, int var3, float[][] var4, int var5, byte var6, int var7, int var8, byte var9, boolean var10, byte var11, int var12, float[][] var13, int var14, Class3_Sub11 var15) { + try { + int var16 = 255 + (var0 << 8); + int var17 = (var5 << 8) - -255; + int var18 = (var8 << 8) - -255; + int var19 = (var14 << 8) - -255; + int[] var20 = Class134.anIntArrayArray1763[var11]; + int[] var22 = new int[var20.length >> 1]; + + int var23; + for(var23 = 0; var23 < var22.length; ++var23) { + var22[var23] = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-125, var6, false, var15, var2, var12, var20[var23 + var23], var4, var20[var23 + var23 + 1]); + } + + if(var9 == 88) { + int[] var21 = null; + if(var10) { + int var24; + if(1 == var11) { + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-122, var6, true, var15, var2, var12, 64, var4, 128); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-114, var6, true, var15, var2, var12, 128, var4, 64); + var21 = new int[]{var24, var23, var22[2], var23, var22[0], var22[2]}; + } else if(2 == var11) { + var21 = new int[6]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-121, var6, true, var15, var2, var12, 128, var4, 128); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-128, var6, true, var15, var2, var12, 64, var4, 0); + var21[2] = var23; + var21[0] = var22[0]; + var21[5] = var22[0]; + var21[3] = var23; + var21[1] = var24; + var21[4] = var22[1]; + } else if(~var11 != -4) { + if(~var11 == -5) { + var21 = new int[3]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-115, var6, true, var15, var2, var12, 0, var4, 128); + var21[0] = var22[3]; + var21[2] = var22[0]; + var21[1] = var23; + } else if(~var11 != -6) { + if(~var11 != -7) { + if(~var11 == -8) { + var21 = new int[6]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-126, var6, true, var15, var2, var12, 0, var4, 128); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-117, var6, true, var15, var2, var12, 128, var4, 0); + var21[3] = var23; + var21[2] = var23; + var21[0] = var22[1]; + var21[4] = var22[2]; + var21[1] = var24; + var21[5] = var22[1]; + } else if(var11 == 8) { + var21 = new int[3]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-117, var6, true, var15, var2, var12, 0, var4, 0); + var21[2] = var22[4]; + var21[0] = var22[3]; + var21[1] = var23; + } else if(var11 == 9) { + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-118, var6, true, var15, var2, var12, 128, var4, 64); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-121, var6, true, var15, var2, var12, 96, var4, 32); + int var25 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-120, var6, true, var15, var2, var12, 64, var4, 0); + var21 = new int[]{var24, var23, var22[4], var24, var22[4], var22[3], var24, var22[3], var22[2], var24, var22[2], var22[1], var24, var22[1], var25}; + } else if(10 != var11) { + if(-12 == ~var11) { + var21 = new int[12]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-119, var6, true, var15, var2, var12, 0, var4, 64); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-121, var6, true, var15, var2, var12, 128, var4, 64); + var21[5] = var23; + var21[1] = var23; + var21[8] = var23; + var21[0] = var22[3]; + var21[2] = var22[0]; + var21[11] = var24; + var21[6] = var22[2]; + var21[7] = var24; + var21[10] = var22[1]; + var21[3] = var22[3]; + var21[4] = var22[2]; + var21[9] = var22[2]; + } + } else { + var21 = new int[9]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-120, var6, true, var15, var2, var12, 0, var4, 128); + var21[0] = var22[2]; + var21[8] = var22[0]; + var21[1] = var23; + var21[4] = var23; + var21[2] = var22[3]; + var21[7] = var23; + var21[3] = var22[3]; + var21[5] = var22[4]; + var21[6] = var22[4]; + } + } else { + var21 = new int[6]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-123, var6, true, var15, var2, var12, 128, var4, 0); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-115, var6, true, var15, var2, var12, 128, var4, 128); + var21[1] = var23; + var21[0] = var22[3]; + var21[2] = var24; + var21[4] = var22[0]; + var21[3] = var24; + var21[5] = var22[3]; + } + } else { + var21 = new int[3]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-112, var6, true, var15, var2, var12, 128, var4, 128); + var21[1] = var23; + var21[0] = var22[2]; + var21[2] = var22[3]; + } + } else { + var21 = new int[6]; + var23 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-114, var6, true, var15, var2, var12, 0, var4, 128); + var24 = Class121.method1734(var19, 0.0F, var16, var17, (int[][])null, var1, var3, var13, var18, (byte)-115, var6, true, var15, var2, var12, 64, var4, 0); + var21[4] = var24; + var21[1] = var22[1]; + var21[0] = var22[2]; + var21[3] = var23; + var21[2] = var23; + var21[5] = var22[2]; + } + } + + var15.method150(var7, var3, var12, var22, var21, false); + } + } catch (RuntimeException var26) { + throw Class44.method1067(var26, "eh.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ',' + (var13 != null?"{...}":"null") + ',' + var14 + ',' + (var15 != null?"{...}":"null") + ')'); + } + } + + private final void method972(RSByteBuffer var1, byte var2, int var3) { + try { + if(var2 > -86) { + this.method970(-83, (RSByteBuffer)null); + } + + if(~var3 == -6) { + this.anInt556 = var1.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "eh.F(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method973(byte var0) { + try { + aClass94_559 = null; + aClass94_560 = null; + aClass153_557 = null; + anIntArrayArrayArray558 = (int[][][])null; + if(var0 != 62) { + aClass153_557 = (CacheIndex)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "eh.E(" + var0 + ')'); + } + } + +} \ No newline at end of file diff --git a/09HDscape-client/src/org/runite/jagex/Class3.java b/09HDscape-client/src/org/runite/jagex/Class3.java new file mode 100644 index 000000000..25576cf0e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3.java @@ -0,0 +1,168 @@ +package org.runite.jagex; + +class Class3 { + + long aLong71; + static int anInt72 = 0; + static boolean[] aBooleanArray73 = new boolean[200]; + Class3 aClass3_74; + static RSString[] aClass94Array75 = new RSString[1000]; + Class3 aClass3_76; + static RSString aClass94_77 = RSString.createRSString("Objet d(Wabonn-Bs"); + static Class61 aClass61_78 = new Class61(); + + + final boolean method82(int var1) { + try { + return var1 != 0?false:null != this.aClass3_76; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ab.I(" + var1 + ')'); + } + } + + public static void method83(byte var0) { + try { + aClass94_77 = null; + aClass94Array75 = null; + if(var0 != 30) { + method84((RSString)null, 89); + } + + aClass61_78 = null; + aBooleanArray73 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ab.H(" + var0 + ')'); + } + } + + static final void method84(RSString var0, int var1) { + try { + if(var1 != -801) { + aClass94_77 = (RSString)null; + } + + int var2 = Class100.method1602(0, var0); + if(~var2 != 0) { + Class3_Sub28_Sub7.method565((byte)86, Class119.aClass131_1624.aShortArray1727[var2], Class119.aClass131_1624.aShortArray1718[var2]); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ab.N(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method85(byte var0) { + try { + int var1 = -122 % ((var0 - -63) / 48); + Class136.aClass93_1772.method1523((byte)-99); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ab.G(" + var0 + ')'); + } + } + + final void method86(int var1) { + try { + if(null != this.aClass3_76) { + this.aClass3_76.aClass3_74 = this.aClass3_74; + this.aClass3_74.aClass3_76 = this.aClass3_76; + if(var1 != -1024) { + this.method86(-35); + } + + this.aClass3_76 = null; + this.aClass3_74 = null; + } + } catch (RuntimeException var3) { + var3.printStackTrace(); + throw Class44.method1067(var3, "ab.L(" + var1 + ')'); + } + } + + static final void method87(int var0, int var1) { + try { + if(var0 >= -20) { + method83((byte)44); + } + + if(0 != var1) { + if(~var1 != -2) { + if(2 != var1) { + throw new RuntimeException(); + } + + Class9.method850((byte)121); + } else { + Class3_Sub28_Sub11.method607(false); + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ab.K(" + var0 + ',' + var1 + ')'); + } + } + + static final Class106[] method88(byte var0) { + try { + if(var0 != 28) { + aBooleanArray73 = (boolean[])null; + } + + if(Class56.aClass106Array890 == null) { + Class106[] var1 = Class3_Sub28_Sub10_Sub2.method596(var0 ^ 22, Class38.aClass87_665); + Class106[] var2 = new Class106[var1.length]; + int var3 = 0; + + label58: + for(int var4 = 0; var4 < var1.length; ++var4) { + Class106 var5 = var1[var4]; + if((0 >= var5.anInt1450 || var5.anInt1450 >= 24) && ~var5.anInt1447 <= -801 && 600 <= var5.anInt1449) { + for(int var6 = 0; var3 > var6; ++var6) { + Class106 var7 = var2[var6]; + if(var5.anInt1447 == var7.anInt1447 && ~var7.anInt1449 == ~var5.anInt1449) { + if(~var5.anInt1450 < ~var7.anInt1450) { + var2[var6] = var5; + } + continue label58; + } + } + + var2[var3] = var5; + ++var3; + } + } + + Class56.aClass106Array890 = new Class106[var3]; + Class76.method1362(var2, 0, Class56.aClass106Array890, 0, var3); + int[] var9 = new int[Class56.aClass106Array890.length]; + + for(int var10 = 0; Class56.aClass106Array890.length > var10; ++var10) { + Class106 var11 = Class56.aClass106Array890[var10]; + var9[var10] = var11.anInt1449 * var11.anInt1447; + } + + Class108.method1658(21, var9, Class56.aClass106Array890); + } + + return Class56.aClass106Array890; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ab.M(" + var0 + ')'); + } + } + + static final void method89(boolean var0, CacheIndex var1, CacheIndex var2, CacheIndex var3, CacheIndex var4) { + try { + Class12.aClass153_323 = var2; + Class97.aClass153_1378 = var1; + Class3_Sub13_Sub29.aClass153_3361 = var3; + Class119.aClass153_1628 = var4; + if(!var0) { + method87(-98, 11); + } + + GameObject.aClass11ArrayArray1834 = new RSInterface[Class3_Sub13_Sub29.aClass153_3361.method2121(0)][]; + Class130.aBooleanArray1703 = new boolean[Class3_Sub13_Sub29.aClass153_3361.method2121(0)]; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ab.J(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class30.java b/09HDscape-client/src/org/runite/jagex/Class30.java new file mode 100644 index 000000000..5cfe39c45 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class30.java @@ -0,0 +1,393 @@ +package org.runite.jagex; +import java.io.EOFException; +import java.io.File; +import java.io.IOException; + +final class Class30 { + + private long aLong563; + private byte[] aByteArray564; + static RSString aClass94_565 = RSString.createRSString("::fpsoff"); + private int anInt566 = 0; + static RSString aClass94_567 = RSString.createRSString(":chalreq:"); + private long aLong568; + private long aLong569; + private long aLong570; + private long aLong571 = -1L; + private byte[] aByteArray572; + private Class122 aClass122_573; + static int[] anIntArray574 = new int[14]; + private int anInt575; + private long aLong576 = -1L; + static RSString aClass94_577 = RSString.createRSString("http:)4)4"); + static float aFloat578; + static boolean loadedWorldList = false; + + + public static void method974(boolean var0) { + try { + aClass94_577 = null; + if(var0) { + anIntArray574 = null; + aClass94_567 = null; + aClass94_565 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "en.G(" + var0 + ')'); + } + } + + private final void method975(byte var1) throws IOException { + try { + int var2 = 56 % ((45 - var1) / 44); + if(-1L != this.aLong571) { + if(this.aLong571 != this.aLong570) { + this.aClass122_573.method1737((byte)-10, this.aLong571); + this.aLong570 = this.aLong571; + } + + this.aClass122_573.method1738(127, this.aByteArray572, this.anInt566, 0); + long var3 = -1L; + if(~this.aLong576 >= ~this.aLong571 && ~(this.aLong576 + (long)this.anInt575) < ~this.aLong571) { + var3 = this.aLong571; + } else if(this.aLong571 <= this.aLong576 && ~this.aLong576 > ~(this.aLong571 - -((long)this.anInt566))) { + var3 = this.aLong576; + } + + this.aLong570 += (long)this.anInt566; + if(this.aLong563 < this.aLong570) { + this.aLong563 = this.aLong570; + } + + long var5 = -1L; + if(this.aLong576 < this.aLong571 - -((long)this.anInt566) && (long)this.anInt575 + this.aLong576 >= (long)this.anInt566 + this.aLong571) { + var5 = this.aLong571 - -((long)this.anInt566); + } else if(~(this.aLong576 - -((long)this.anInt575)) < ~this.aLong571 && (long)this.anInt566 + this.aLong571 >= (long)this.anInt575 + this.aLong576) { + var5 = (long)this.anInt575 + this.aLong576; + } + + if(-1L < var3 && ~var5 < ~var3) { + int var7 = (int)(-var3 + var5); + Class76.method1357(this.aByteArray572, (int)(var3 - this.aLong571), this.aByteArray564, (int)(var3 + -this.aLong576), var7); + } + + this.anInt566 = 0; + this.aLong571 = -1L; + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "en.C(" + var1 + ')'); + } + } + + final long method976(int var1) { + try { + if(var1 != 0) { + this.method976(19); + } + + return this.aLong568; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "en.J(" + var1 + ')'); + } + } + + private final File method977(int var1) { + try { + if(var1 != 281669816) { + method974(true); + } + + return this.aClass122_573.method1742(-83); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "en.D(" + var1 + ')'); + } + } + + final void method978(int var1, byte[] var2, int var3, int var4) throws IOException { + try { + try { + if(var1 - -var3 > var2.length) { + throw new ArrayIndexOutOfBoundsException(var3 + var1 - var2.length); + } + + if(-1L != this.aLong571 && this.aLong569 >= this.aLong571 && (long)this.anInt566 + this.aLong571 >= (long)var3 + this.aLong569) { + Class76.method1357(this.aByteArray572, (int)(-this.aLong571 + this.aLong569), var2, var1, var3); + this.aLong569 += (long)var3; + return; + } + + long var5 = this.aLong569; + int var8 = var3; + int var9; + if(this.aLong576 <= this.aLong569 && this.aLong576 + (long)this.anInt575 > this.aLong569) { + var9 = (int)((long)this.anInt575 - this.aLong569 + this.aLong576); + if(~var9 < ~var3) { + var9 = var3; + } + + Class76.method1357(this.aByteArray564, (int)(this.aLong569 - this.aLong576), var2, var1, var9); + var1 += var9; + var3 -= var9; + this.aLong569 += (long)var9; + } + + if(~this.aByteArray564.length > ~var3) { + this.aClass122_573.method1737((byte)-10, this.aLong569); + + for(this.aLong570 = this.aLong569; 0 < var3; this.aLong569 += (long)var9) { + var9 = this.aClass122_573.method1739(var1, 0, var3, var2); + if(0 == ~var9) { + break; + } + + this.aLong570 += (long)var9; + var3 -= var9; + var1 += var9; + } + } else if(~var3 < -1) { + this.method981(4393); + var9 = var3; + if(var3 > this.anInt575) { + var9 = this.anInt575; + } + + Class76.method1357(this.aByteArray564, 0, var2, var1, var9); + var3 -= var9; + var1 += var9; + this.aLong569 += (long)var9; + } + + if(-1L != this.aLong571) { + if(this.aLong569 < this.aLong571 && ~var3 < -1) { + var9 = (int)(-this.aLong569 + this.aLong571) + var1; + if(~(var1 - -var3) > ~var9) { + var9 = var1 + var3; + } + + while(var1 < var9) { + var2[var1++] = 0; + ++this.aLong569; + --var3; + } + } + + long var16 = -1L; + long var11 = -1L; + if((long)this.anInt566 + this.aLong571 > var5 && (long)var8 + var5 >= (long)this.anInt566 + this.aLong571) { + var11 = (long)this.anInt566 + this.aLong571; + } else if(~this.aLong571 > ~((long)var8 + var5) && ~((long)this.anInt566 + this.aLong571) <= ~((long)var8 + var5)) { + var11 = (long)var8 + var5; + } + + if(~var5 >= ~this.aLong571 && ~(var5 - -((long)var8)) < ~this.aLong571) { + var16 = this.aLong571; + } else if(~var5 <= ~this.aLong571 && var5 < (long)this.anInt566 + this.aLong571) { + var16 = var5; + } + + if(-1L < var16 && var11 > var16) { + int var13 = (int)(var11 + -var16); + Class76.method1357(this.aByteArray572, (int)(var16 + -this.aLong571), var2, (int)(var16 + -var5) + var1, var13); + if(this.aLong569 < var11) { + var3 = (int)((long)var3 - (-this.aLong569 + var11)); + this.aLong569 = var11; + } + } + } + } catch (IOException var14) { + this.aLong570 = -1L; + throw var14; + } + + if(var4 < var3) { + throw new EOFException(); + } + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "en.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method979(int var0, int var1, int var2, byte var3) { + try { + RSString var4 = RenderAnimationDefinition.method903(new RSString[]{Class52.aClass94_853, Class72.method1298((byte)9, var2), Class3_Sub13_Sub22.aClass94_3268, Class72.method1298((byte)9, var0 >> 6), Class3_Sub13_Sub22.aClass94_3268, Class72.method1298((byte)9, var1 >> 6), Class3_Sub13_Sub22.aClass94_3268, Class72.method1298((byte)9, var0 & 63), Class3_Sub13_Sub22.aClass94_3268, Class72.method1298((byte)9, 63 & var1)}, (byte)-90); + var4.method1549(false); + if(var3 != -4) { + aClass94_577 = (RSString)null; + } + + Class73.method1308(var4, false); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "en.I(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method980(boolean var1) throws IOException { + try { + this.method975((byte)-75); + this.aClass122_573.close(1); + if(var1) { + this.aLong569 = 91L; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "en.K(" + var1 + ')'); + } + } + + private final void method981(int var1) throws IOException { + try { + this.anInt575 = 0; + if(var1 != 4393) { + this.method976(-127); + } + + if(this.aLong570 != this.aLong569) { + this.aClass122_573.method1737((byte)-10, this.aLong569); + this.aLong570 = this.aLong569; + } + + int var3; + for(this.aLong576 = this.aLong569; this.aByteArray564.length > this.anInt575; this.anInt575 += var3) { + int var2 = this.aByteArray564.length + -this.anInt575; + if(-200000001 > ~var2) { + var2 = 200000000; + } + + var3 = this.aClass122_573.method1739(this.anInt575, 0, var2, this.aByteArray564); + if(0 == ~var3) { + break; + } + + this.aLong570 += (long)var3; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "en.A(" + var1 + ')'); + } + } + + final void method982(boolean var1, byte[] var2) throws IOException { + try { + if(var1) { + method979(-72, 3, 3, (byte)-115); + } + + this.method978(0, var2, var2.length, 0); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "en.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void method983(byte[] var1, int var2, int var3, int var4) throws IOException { + try { + try { + if(~this.aLong568 > ~((long)var4 + this.aLong569)) { + this.aLong568 = (long)var4 + this.aLong569; + } + + if(0L != ~this.aLong571 && (this.aLong571 > this.aLong569 || ~this.aLong569 < ~((long)this.anInt566 + this.aLong571))) { + this.method975((byte)124); + } + + if(~this.aLong571 != 0L && (long)this.aByteArray572.length + this.aLong571 < (long)var4 + this.aLong569) { + int var5 = (int)((long)this.aByteArray572.length - this.aLong569 + this.aLong571); + var4 -= var5; + Class76.method1357(var1, var2, this.aByteArray572, (int)(this.aLong569 + -this.aLong571), var5); + this.aLong569 += (long)var5; + this.anInt566 = this.aByteArray572.length; + this.method975((byte)93); + var2 += var5; + } + + if(~this.aByteArray572.length > ~var4) { + if(~this.aLong569 != ~this.aLong570) { + this.aClass122_573.method1737((byte)-10, this.aLong569); + this.aLong570 = this.aLong569; + } + + this.aClass122_573.method1738(111, var1, var4, var2); + long var12 = -1L; + if(this.aLong576 <= this.aLong569 && ~((long)this.anInt575 + this.aLong576) < ~this.aLong569) { + var12 = this.aLong569; + } else if(~this.aLong569 >= ~this.aLong576 && ~((long)var4 + this.aLong569) < ~this.aLong576) { + var12 = this.aLong576; + } + + this.aLong570 += (long)var4; + long var7 = -1L; + if(this.aLong563 < this.aLong570) { + this.aLong563 = this.aLong570; + } + + if(this.aLong569 + (long)var4 > this.aLong576 && ~(this.aLong569 - -((long)var4)) >= ~(this.aLong576 - -((long)this.anInt575))) { + var7 = (long)var4 + this.aLong569; + } else if(~(this.aLong576 + (long)this.anInt575) < ~this.aLong569 && this.aLong569 + (long)var4 >= (long)this.anInt575 + this.aLong576) { + var7 = (long)this.anInt575 + this.aLong576; + } + + if(~var12 < 0L && var7 > var12) { + int var9 = (int)(-var12 + var7); + Class76.method1357(var1, (int)(-this.aLong569 + var12 + (long)var2), this.aByteArray564, (int)(-this.aLong576 + var12), var9); + } + + this.aLong569 += (long)var4; + return; + } + + if(0 < var4) { + if(this.aLong571 == -1L) { + this.aLong571 = this.aLong569; + } + + Class76.method1357(var1, var2, this.aByteArray572, (int)(this.aLong569 + -this.aLong571), var4); + this.aLong569 += (long)var4; + if(~((long)this.anInt566) > ~(-this.aLong571 + this.aLong569)) { + this.anInt566 = (int)(-this.aLong571 + this.aLong569); + } + + return; + } + } catch (IOException var10) { + this.aLong570 = -1L; + throw var10; + } + + if(var3 != -903171152) { + this.aLong563 = -28L; + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "en.H(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method984(int var1, long var2) throws IOException { + try { + if(var2 >= 0L) { + this.aLong569 = var2; + if(var1 > -6) { + this.aLong569 = 89L; + } + + } else { + throw new IOException("Invalid seek to " + var2 + " in file " + this.method977(281669816)); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "en.E(" + var1 + ',' + var2 + ')'); + } + } + + Class30(Class122 var1, int var2, int var3) throws IOException { + try { + this.aClass122_573 = var1; + this.aLong568 = this.aLong563 = var1.method1741(-1); + this.aByteArray572 = new byte[var3]; + this.aByteArray564 = new byte[var2]; + this.aLong569 = 0L; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "en.(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class31.java b/09HDscape-client/src/org/runite/jagex/Class31.java new file mode 100644 index 000000000..e8a1b241b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class31.java @@ -0,0 +1,135 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +final class Class31 { + + static int anInt580 = 0; + private static Class61 aClass61_581 = new Class61(); + static int anInt582 = 0; + private static long aLong583 = 0L; + static int memory2D = 0; + static int anInt585 = 0; + private static Class61 aClass61_586 = new Class61(); + private static Class61 aClass61_587 = new Class61(); + private static Class61 aClass61_588 = new Class61(); + private static int[] anIntArray589 = new int[1000]; + + + static final synchronized void method985(int var0, int var1, int var2) { + if(var2 == anInt582) { + Class3_Sub18 var3 = new Class3_Sub18(var1); + var3.aLong71 = (long)var0; + aClass61_587.method1215(true, var3); + } + } + + static final synchronized void method986(int var0, int var1) { + if(var1 == anInt582) { + Class3_Sub18 var2 = new Class3_Sub18(); + var2.aLong71 = (long)var0; + aClass61_588.method1215(true, var2); + } + } + + public static void method987() { + aClass61_581 = null; + aClass61_586 = null; + aClass61_587 = null; + aClass61_588 = null; + anIntArray589 = null; + } + + static final synchronized void method988() { + ++anInt582; + aClass61_581.method1211(-110); + aClass61_586.method1211(-88); + aClass61_587.method1211(-123); + aClass61_588.method1211(-115); + anInt585 = 0; + memory2D = 0; + anInt580 = 0; + } + + static final synchronized void method989(int var0, int var1, int var2) { + if(var2 == anInt582) { + Class3_Sub18 var3 = new Class3_Sub18(var1); + var3.aLong71 = (long)var0; + aClass61_581.method1215(true, var3); + } + } + + static final synchronized void method990() { + GL var0 = HDToolKit.gl; + int var1 = 0; + + while(true) { + Class3_Sub18 var2 = (Class3_Sub18)aClass61_581.method1220((byte)-3); + if(var2 == null) { + if(var1 > 0) { + var0.glDeleteBuffersARB(var1, anIntArray589, 0); + var1 = 0; + } + + while(true) { + var2 = (Class3_Sub18)aClass61_586.method1220((byte)-3); + if(var2 == null) { + while(true) { + var2 = (Class3_Sub18)aClass61_587.method1220((byte)-3); + if(var2 == null) { + if(var1 > 0) { + var0.glDeleteTextures(var1, anIntArray589, 0); + boolean var4 = false; + } + + while(true) { + var2 = (Class3_Sub18)aClass61_588.method1220((byte)-3); + if(var2 == null) { + if(anInt585 + memory2D + anInt580 > 100663296 && Class5.method830((byte)-55) > aLong583 + 60000L) { + System.gc(); + aLong583 = Class5.method830((byte)-55); + } + + return; + } + + int var3 = (int)var2.aLong71; + var0.glDeleteLists(var3, 1); + } + } + + anIntArray589[var1++] = (int)var2.aLong71; + anInt580 -= var2.anInt2467; + if(var1 == 1000) { + var0.glDeleteTextures(var1, anIntArray589, 0); + var1 = 0; + } + } + } + + anIntArray589[var1++] = (int)var2.aLong71; + memory2D -= var2.anInt2467; + if(var1 == 1000) { + var0.glDeleteTextures(var1, anIntArray589, 0); + var1 = 0; + } + } + } + + anIntArray589[var1++] = (int)var2.aLong71; + anInt585 -= var2.anInt2467; + if(var1 == 1000) { + var0.glDeleteBuffersARB(var1, anIntArray589, 0); + var1 = 0; + } + } + } + + static final synchronized void method991(int var0, int var1, int var2) { + if(var2 == anInt582) { + Class3_Sub18 var3 = new Class3_Sub18(var1); + var3.aLong71 = (long)var0; + aClass61_586.method1215(true, var3); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class32.java b/09HDscape-client/src/org/runite/jagex/Class32.java new file mode 100644 index 000000000..a4674f018 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class32.java @@ -0,0 +1,142 @@ +package org.runite.jagex; + +final class Class32 { + + static int anInt590 = -1; + static RSString aClass94_591 = RSString.createRSString("Lade Benutzeroberfl-=che )2 "); + static RSString aClass94_592 = RSString.createRSString(""); + static RSString aClass94_593 = RSString.createRSString("Utiliser"); + + + static final RSString method992(RSByteBuffer var0, int var1) { + try { + if(var1 != 29488) { + anInt590 = 22; + } + + return Class140_Sub7.method2033(var0, 1, 32767); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fc.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method993(int var0, int var1, int var2) { + try { + int var3 = -128 + (Class65.method1234(4, var2 + '\ub135', var0 - -91923, 512) + (Class65.method1234(2, var2 + 10294, '\u93bd' + var0, 512) + -128 >> 1) - -(Class65.method1234(1, var2, var0, 512) + -128 >> 2)); + var3 = 35 + (int)(0.3D * (double)var3); + if(var1 < 110) { + return 102; + } else { + if(-11 >= ~var3) { + if(var3 > 60) { + var3 = 60; + } + } else { + var3 = 10; + } + + return var3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fc.B(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method994(int var0) { + try { + aClass94_591 = null; + if(var0 == '\u93bd') { + aClass94_592 = null; + aClass94_593 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fc.A(" + var0 + ')'); + } + } + + static final void method995() { + int var0; + int var1; + int var2; + if(Class3_Sub28_Sub10_Sub2.aClass3_Sub2ArrayArrayArray4070 != null) { + for(var0 = 0; var0 < Class3_Sub28_Sub10_Sub2.aClass3_Sub2ArrayArrayArray4070.length; ++var0) { + for(var1 = 0; var1 < IOHandler.anInt1234; ++var1) { + for(var2 = 0; var2 < Class3_Sub13_Sub15.anInt3179; ++var2) { + Class3_Sub28_Sub10_Sub2.aClass3_Sub2ArrayArrayArray4070[var0][var1][var2] = null; + } + } + } + } + + Client.aClass3_Sub11ArrayArray2199 = (Class3_Sub11[][])null; + if(Class166.aClass3_Sub2ArrayArrayArray2065 != null) { + for(var0 = 0; var0 < Class166.aClass3_Sub2ArrayArrayArray2065.length; ++var0) { + for(var1 = 0; var1 < IOHandler.anInt1234; ++var1) { + for(var2 = 0; var2 < Class3_Sub13_Sub15.anInt3179; ++var2) { + Class166.aClass3_Sub2ArrayArrayArray2065[var0][var1][var2] = null; + } + } + } + } + + Class3_Sub13_Sub28.aClass3_Sub11ArrayArray3346 = (Class3_Sub11[][])null; + Class3_Sub4.anInt2249 = 0; + if(Class3_Sub28_Sub8.aClass113Array3610 != null) { + for(var0 = 0; var0 < Class3_Sub4.anInt2249; ++var0) { + Class3_Sub28_Sub8.aClass113Array3610[var0] = null; + } + } + + if(AnimationDefinition.aClass25Array1868 != null) { + for(var0 = 0; var0 < Class3_Sub13_Sub5.anInt3070; ++var0) { + AnimationDefinition.aClass25Array1868[var0] = null; + } + + Class3_Sub13_Sub5.anInt3070 = 0; + } + + if(Class3_Sub28_Sub10_Sub1.aClass25Array4060 != null) { + for(var0 = 0; var0 < Class3_Sub28_Sub10_Sub1.aClass25Array4060.length; ++var0) { + Class3_Sub28_Sub10_Sub1.aClass25Array4060[var0] = null; + } + } + + } + + static final void method996(int var0) { + try { + if(var0 >= -35) { + method993(3, 100, -24); + } + + Class148 var1 = Class3_Sub13_Sub3.aClass148_3049; + synchronized(var1) { + Class3_Sub28_Sub9.anInt3620 = Class134.anInt1762; + ++Class3_Sub13_Sub33.anInt3398; + int var2; + if(Class3_Sub13.anInt2384 < 0) { + for(var2 = 0; ~var2 > -113; ++var2) { + ObjectDefinition.aBooleanArray1490[var2] = false; + } + + Class3_Sub13.anInt2384 = Class133.anInt1744; + } else { + while(Class3_Sub13.anInt2384 != Class133.anInt1744) { + var2 = Class151_Sub1.anIntArray2952[Class133.anInt1744]; + Class133.anInt1744 = 127 & 1 + Class133.anInt1744; + if(0 <= var2) { + ObjectDefinition.aBooleanArray1490[var2] = true; + } else { + ObjectDefinition.aBooleanArray1490[~var2] = false; + } + } + } + + Class134.anInt1762 = Class25.anInt491; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fc.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class33.java b/09HDscape-client/src/org/runite/jagex/Class33.java new file mode 100644 index 000000000..09f038327 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class33.java @@ -0,0 +1,366 @@ +package org.runite.jagex; +import java.awt.Color; +import java.awt.Component; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.awt.Image; +import java.awt.image.PixelGrabber; + +final class Class33 { + + private byte[] aByteArray594 = new byte[100000]; + private boolean aBoolean595 = false; + private int anInt596 = 0; + private static String aString597 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"??$%^&*()-_=+[{]};:\'@#~,<.>/?\\| " + String.valueOf('\u00c4') + '\u00cb' + '\u00cf' + '\u00d6' + '\u00dc' + '\u00e4' + '\u00eb' + '\u00ef' + '\u00f6' + '\u00fc' + '\u00ff' + '\u00df' + '\u00c1' + '\u00c0' + '\u00c9' + '\u00c8' + '\u00cd' + '\u00cc' + '\u00d3' + '\u00d2' + '\u00da' + '\u00d9' + '\u00e1' + '\u00e0' + '\u00e9' + '\u00e8' + '\u00ed' + '\u00ec' + '\u00f3' + '\u00f2' + '\u00fa' + '\u00f9' + '\u00c2' + '\u00ca' + '\u00ce' + '\u00d4' + '\u00db' + '\u00e2' + '\u00ea' + '\u00ee' + '\u00f4' + '\u00fb' + '\u00c6' + '\u00e6'; + private static int anInt598 = aString597.length(); + private static int[] anIntArray599 = new int[256]; + + + private final void method997(RSString var1, int var2, int var3, int var4, boolean var5) { + if(this.aBoolean595 || var4 == 0) { + var5 = false; + } + + for(int var6 = 0; var6 < var1.length(-95); ++var6) { + int var7 = anIntArray599[var1.charAt(var6, (byte)65)]; + if(var5) { + this.method1001(var7, var2 + 1, var3, 1, this.aByteArray594); + this.method1001(var7, var2, var3 + 1, 1, this.aByteArray594); + } + + this.method1001(var7, var2, var3, var4, this.aByteArray594); + var2 += this.aByteArray594[var7 + 7]; + } + + } + + final int method998() { + return this.aByteArray594[8] - 1; + } + + public static void method999() { + aString597 = null; + anIntArray599 = null; + } + + private final void method1000(int[] var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + for(int var10 = -var7; var10 < 0; ++var10) { + for(int var11 = -var6; var11 < 0; ++var11) { + int var12 = var2[var4++] & 255; + if(var12 > 30) { + if(var12 >= 230) { + var1[var5++] = var3; + } else { + int var13 = var1[var5]; + var1[var5++] = ((var3 & 16711935) * var12 + (var13 & 16711935) * (256 - var12) & -16711936) + ((var3 & '\uff00') * var12 + (var13 & '\uff00') * (256 - var12) & 16711680) >> 8; + } + } else { + ++var5; + } + } + + var5 += var8; + var4 += var9; + } + + } + + private final void method1001(int var1, int var2, int var3, int var4, byte[] var5) { + int var6 = var2 + var5[var1 + 5]; + int var7 = var3 - var5[var1 + 6]; + int var8 = var5[var1 + 3]; + int var9 = var5[var1 + 4]; + int var10 = var5[var1] * 16384 + var5[var1 + 1] * 128 + var5[var1 + 2]; + int var11 = var6 + var7 * Class74.anInt1092; + int var12 = Class74.anInt1092 - var8; + int var13 = 0; + int var14; + if(var7 < Class74.anInt1095) { + var14 = Class74.anInt1095 - var7; + var9 -= var14; + var7 = Class74.anInt1095; + var10 += var14 * var8; + var11 += var14 * Class74.anInt1092; + } + + if(var7 + var9 >= Class74.anInt1099) { + var9 -= var7 + var9 - Class74.anInt1099 + 1; + } + + if(var6 < Class74.anInt1093) { + var14 = Class74.anInt1093 - var6; + var8 -= var14; + var6 = Class74.anInt1093; + var10 += var14; + var11 += var14; + var13 += var14; + var12 += var14; + } + + if(var6 + var8 >= Class74.anInt1096) { + var14 = var6 + var8 - Class74.anInt1096 + 1; + var8 -= var14; + var13 += var14; + var12 += var14; + } + + if(var8 > 0 && var9 > 0) { + if(this.aBoolean595) { + this.method1000(Class74.anIntArray1100, var5, var4, var10, var11, var8, var9, var12, var13); + } else { + this.method1002(Class74.anIntArray1100, var5, var4, var10, var11, var8, var9, var12, var13); + } + } + + } + + private final void method1002(int[] var1, byte[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = -(var6 >> 2); + var6 = -(var6 & 3); + + for(int var11 = -var7; var11 < 0; ++var11) { + int var12; + for(var12 = var10; var12 < 0; ++var12) { + if(var2[var4++] != 0) { + var1[var5++] = var3; + } else { + ++var5; + } + + if(var2[var4++] != 0) { + var1[var5++] = var3; + } else { + ++var5; + } + + if(var2[var4++] != 0) { + var1[var5++] = var3; + } else { + ++var5; + } + + if(var2[var4++] != 0) { + var1[var5++] = var3; + } else { + ++var5; + } + } + + for(var12 = var6; var12 < 0; ++var12) { + if(var2[var4++] != 0) { + var1[var5++] = var3; + } else { + ++var5; + } + } + + var5 += var8; + var4 += var9; + } + + } + + final void method1003(RSString var1, int var2, int var3, int var4, boolean var5) { + int var6 = this.method1005(var1) / 2; + int var7 = this.method1006(); + if(var2 - var6 <= Class74.anInt1096) { + if(var2 + var6 >= Class74.anInt1093) { + if(var3 - var7 <= Class74.anInt1099) { + if(var3 >= 0) { + this.method997(var1, var2 - var6, var3, var4, var5); + } + } + } + } + } + + private final void method1004(Font var1, FontMetrics var2, char var3, int var4, boolean var5) { + int var6 = var2.charWidth(var3); + int var7 = var6; + if(var5) { + try { + if(var3 == 47) { + var5 = false; + } + + if(var3 == 102 || var3 == 116 || var3 == 119 || var3 == 118 || var3 == 107 || var3 == 120 || var3 == 121 || var3 == 65 || var3 == 86 || var3 == 87) { + ++var6; + } + } catch (Exception var23) { + ; + } + } + + int var8 = var2.getMaxAscent(); + int var9 = var2.getMaxAscent() + var2.getMaxDescent(); + int var10 = var2.getHeight(); + Image var11 = Class3_Sub28_Sub12.aCanvas3648.createImage(var6, var9); + Graphics var12 = var11.getGraphics(); + var12.setColor(Color.black); + var12.fillRect(0, 0, var6, var9); + var12.setColor(Color.white); + var12.setFont(var1); + var12.drawString(var3 + "", 0, var8); + if(var5) { + var12.drawString(var3 + "", 1, var8); + } + + int[] var13 = new int[var6 * var9]; + PixelGrabber var14 = new PixelGrabber(var11, 0, 0, var6, var9, var13, 0, var6); + + try { + var14.grabPixels(); + } catch (Exception var22) { + ; + } + + var11.flush(); + var11 = null; + int var15 = 0; + int var16 = 0; + int var17 = var6; + int var18 = var9; + + int var19; + int var21; + int var20; + label134: + for(var19 = 0; var19 < var9; ++var19) { + for(var20 = 0; var20 < var6; ++var20) { + var21 = var13[var20 + var19 * var6]; + if((var21 & 16777215) != 0) { + var16 = var19; + break label134; + } + } + } + + label122: + for(var19 = 0; var19 < var6; ++var19) { + for(var20 = 0; var20 < var9; ++var20) { + var21 = var13[var19 + var20 * var6]; + if((var21 & 16777215) != 0) { + var15 = var19; + break label122; + } + } + } + + label110: + for(var19 = var9 - 1; var19 >= 0; --var19) { + for(var20 = 0; var20 < var6; ++var20) { + var21 = var13[var20 + var19 * var6]; + if((var21 & 16777215) != 0) { + var18 = var19 + 1; + break label110; + } + } + } + + label98: + for(var19 = var6 - 1; var19 >= 0; --var19) { + for(var20 = 0; var20 < var9; ++var20) { + var21 = var13[var19 + var20 * var6]; + if((var21 & 16777215) != 0) { + var17 = var19 + 1; + break label98; + } + } + } + + this.aByteArray594[var4 * 9 + 0] = (byte)(this.anInt596 / 16384); + this.aByteArray594[var4 * 9 + 1] = (byte)(this.anInt596 / 128 & 127); + this.aByteArray594[var4 * 9 + 2] = (byte)(this.anInt596 & 127); + this.aByteArray594[var4 * 9 + 3] = (byte)(var17 - var15); + this.aByteArray594[var4 * 9 + 4] = (byte)(var18 - var16); + this.aByteArray594[var4 * 9 + 5] = (byte)var15; + this.aByteArray594[var4 * 9 + 6] = (byte)(var8 - var16); + this.aByteArray594[var4 * 9 + 7] = (byte)var7; + this.aByteArray594[var4 * 9 + 8] = (byte)var10; + + for(var19 = var16; var19 < var18; ++var19) { + for(var20 = var15; var20 < var17; ++var20) { + var21 = var13[var20 + var19 * var6] & 255; + if(var21 > 30 && var21 < 230) { + this.aBoolean595 = true; + } + + this.aByteArray594[this.anInt596++] = (byte)var21; + } + } + + } + + private final int method1005(RSString var1) { + int var2 = 0; + + for(int var3 = 0; var3 < var1.length(-97); ++var3) { + if(var1.charAt(var3, (byte)-41) == 64 && var3 + 4 < var1.length(-93) && var1.charAt(var3 + 4, (byte)66) == 64) { + var3 += 4; + } else if(var1.charAt(var3, (byte)101) == 126 && var3 + 4 < var1.length(-60) && var1.charAt(var3 + 4, (byte)-51) == 126) { + var3 += 4; + } else { + var2 += this.aByteArray594[anIntArray599[var1.charAt(var3, (byte)-64)] + 7]; + } + } + + return var2; + } + + final int method1006() { + return this.aByteArray594[6]; + } + + Class33(int var1, boolean var2, Component var3) { + this.anInt596 = anInt598 * 9; + this.aBoolean595 = false; + Font var4 = new Font("Helvetica", var2?1:0, var1); + FontMetrics var5 = var3.getFontMetrics(var4); + + int var6; + for(var6 = 0; var6 < anInt598; ++var6) { + this.method1004(var4, var5, aString597.charAt(var6), var6, false); + } + + if(var2 && this.aBoolean595) { + this.anInt596 = anInt598 * 9; + this.aBoolean595 = false; + var4 = new Font("Helvetica", 0, var1); + var5 = var3.getFontMetrics(var4); + + for(var6 = 0; var6 < anInt598; ++var6) { + this.method1004(var4, var5, aString597.charAt(var6), var6, false); + } + + if(!this.aBoolean595) { + this.anInt596 = anInt598 * 9; + this.aBoolean595 = false; + + for(var6 = 0; var6 < anInt598; ++var6) { + this.method1004(var4, var5, aString597.charAt(var6), var6, true); + } + } + } + + byte[] var8 = new byte[this.anInt596]; + + for(int var7 = 0; var7 < this.anInt596; ++var7) { + var8[var7] = this.aByteArray594[var7]; + } + + this.aByteArray594 = var8; + } + + static { + for(int var0 = 0; var0 < 256; ++var0) { + int var1 = aString597.indexOf(var0); + if(var1 == -1) { + var1 = 74; + } + + anIntArray599[var0] = var1 * 9; + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class34.java b/09HDscape-client/src/org/runite/jagex/Class34.java new file mode 100644 index 000000000..287b58530 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class34.java @@ -0,0 +1,69 @@ +package org.runite.jagex; + +final class Class34 { + + private int anInt600 = 2; + int anInt601; + private int[] anIntArray602 = new int[2]; + int anInt603; + private int[] anIntArray604 = new int[2]; + int anInt605; + private int anInt606; + private int anInt607; + private int anInt608; + private int anInt609; + private int anInt610; + + + final int method1007(int var1) { + if(this.anInt610 >= this.anInt609) { + this.anInt607 = this.anIntArray602[this.anInt606++] << 15; + if(this.anInt606 >= this.anInt600) { + this.anInt606 = this.anInt600 - 1; + } + + this.anInt609 = (int)((double)this.anIntArray604[this.anInt606] / 65536.0D * (double)var1); + if(this.anInt609 > this.anInt610) { + this.anInt608 = ((this.anIntArray602[this.anInt606] << 15) - this.anInt607) / (this.anInt609 - this.anInt610); + } + } + + this.anInt607 += this.anInt608; + ++this.anInt610; + return this.anInt607 - this.anInt608 >> 15; + } + + final void method1008() { + this.anInt609 = 0; + this.anInt606 = 0; + this.anInt608 = 0; + this.anInt607 = 0; + this.anInt610 = 0; + } + + final void method1009(RSByteBuffer var1) { + this.anInt600 = var1.getByte((byte)-45); + this.anIntArray604 = new int[this.anInt600]; + this.anIntArray602 = new int[this.anInt600]; + + for(int var2 = 0; var2 < this.anInt600; ++var2) { + this.anIntArray604[var2] = var1.getShort(1); + this.anIntArray602[var2] = var1.getShort(1); + } + + } + + final void method1010(RSByteBuffer var1) { + this.anInt601 = var1.getByte((byte)-37); + this.anInt603 = var1.getInt(); + this.anInt605 = var1.getInt(); + this.method1009(var1); + } + + public Class34() { + this.anIntArray604[0] = 0; + this.anIntArray604[1] = '\uffff'; + this.anIntArray602[0] = 0; + this.anIntArray602[1] = '\uffff'; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class35.java b/09HDscape-client/src/org/runite/jagex/Class35.java new file mode 100644 index 000000000..f17a05974 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class35.java @@ -0,0 +1,269 @@ +package org.runite.jagex; + +final class Class35 { + + int anInt611; + int anInt612; + int[] anIntArray613; + static int[] anIntArray614 = new int[6]; + int[] anIntArray615; + int[] anIntArray616; + int[] anIntArray617; + int[] anIntArray618; + private static int[][] anIntArrayArray619 = new int[][]{{1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 2, 6}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 13, 14}}; + private static int[][] anIntArrayArray620 = new int[][]{{0, 1, 2, 3, 0, 0, 1, 3}, {1, 1, 2, 3, 1, 0, 1, 3}, {0, 1, 2, 3, 1, 0, 1, 3}, {0, 0, 1, 2, 0, 0, 2, 4, 1, 0, 4, 3}, {0, 0, 1, 4, 0, 0, 4, 3, 1, 1, 2, 4}, {0, 0, 4, 3, 1, 0, 1, 2, 1, 0, 2, 4}, {0, 1, 2, 4, 1, 0, 1, 4, 1, 0, 4, 3}, {0, 4, 1, 2, 0, 4, 2, 5, 1, 0, 4, 5, 1, 0, 5, 3}, {0, 4, 1, 2, 0, 4, 2, 3, 0, 4, 3, 5, 1, 0, 4, 5}, {0, 0, 4, 5, 1, 4, 1, 2, 1, 4, 2, 3, 1, 4, 3, 5}, {0, 0, 1, 5, 0, 1, 4, 5, 0, 1, 2, 4, 1, 0, 5, 3, 1, 5, 4, 3, 1, 4, 2, 3}, {1, 0, 1, 5, 1, 1, 4, 5, 1, 1, 2, 4, 0, 0, 5, 3, 0, 5, 4, 3, 0, 4, 2, 3}, {1, 0, 5, 4, 1, 0, 1, 5, 0, 0, 4, 3, 0, 4, 5, 3, 0, 5, 2, 3, 0, 1, 2, 5}}; + int anInt621; + static int[] anIntArray622 = new int[6]; + static int[] anIntArray623 = new int[6]; + int[] anIntArray624; + int[] anIntArray625; + int anInt626; + int[] anIntArray627; + static int[] anIntArray628 = new int[6]; + boolean aBoolean629 = true; + static int[] anIntArray630 = new int[6]; + int[] anIntArray631; + int[] anIntArray632; + + + public static void method1011() { + anIntArray623 = null; + anIntArray622 = null; + anIntArray614 = null; + anIntArray630 = null; + anIntArray628 = null; + anIntArrayArray619 = (int[][])null; + anIntArrayArray620 = (int[][])null; + } + + Class35(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18, int var19) { + if(var6 != var7 || var6 != var8 || var6 != var9) { + this.aBoolean629 = false; + } + + this.anInt611 = var1; + this.anInt612 = var2; + this.anInt626 = var18; + this.anInt621 = var19; + short var20 = 128; + int var21 = var20 / 2; + int var22 = var20 / 4; + int var23 = var20 * 3 / 4; + int[] var24 = anIntArrayArray619[var1]; + int var25 = var24.length; + this.anIntArray627 = new int[var25]; + this.anIntArray615 = new int[var25]; + this.anIntArray618 = new int[var25]; + int[] var26 = new int[var25]; + int[] var27 = new int[var25]; + int var28 = var4 * var20; + int var29 = var5 * var20; + + int var31; + int var34; + int var35; + int var32; + int var33; + int var36; + for(int var30 = 0; var30 < var25; ++var30) { + var31 = var24[var30]; + if((var31 & 1) == 0 && var31 <= 8) { + var31 = (var31 - var2 - var2 - 1 & 7) + 1; + } + + if(var31 > 8 && var31 <= 12) { + var31 = (var31 - 9 - var2 & 3) + 9; + } + + if(var31 > 12 && var31 <= 16) { + var31 = (var31 - 13 - var2 & 3) + 13; + } + + if(var31 == 1) { + var32 = var28; + var33 = var29; + var34 = var6; + var35 = var10; + var36 = var14; + } else if(var31 == 2) { + var32 = var28 + var21; + var33 = var29; + var34 = var6 + var7 >> 1; + var35 = var10 + var11 >> 1; + var36 = var14 + var15 >> 1; + } else if(var31 == 3) { + var32 = var28 + var20; + var33 = var29; + var34 = var7; + var35 = var11; + var36 = var15; + } else if(var31 == 4) { + var32 = var28 + var20; + var33 = var29 + var21; + var34 = var7 + var8 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if(var31 == 5) { + var32 = var28 + var20; + var33 = var29 + var20; + var34 = var8; + var35 = var12; + var36 = var16; + } else if(var31 == 6) { + var32 = var28 + var21; + var33 = var29 + var20; + var34 = var8 + var9 >> 1; + var35 = var12 + var13 >> 1; + var36 = var16 + var17 >> 1; + } else if(var31 == 7) { + var32 = var28; + var33 = var29 + var20; + var34 = var9; + var35 = var13; + var36 = var17; + } else if(var31 == 8) { + var32 = var28; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if(var31 == 9) { + var32 = var28 + var21; + var33 = var29 + var22; + var34 = var6 + var7 >> 1; + var35 = var10 + var11 >> 1; + var36 = var14 + var15 >> 1; + } else if(var31 == 10) { + var32 = var28 + var23; + var33 = var29 + var21; + var34 = var7 + var8 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if(var31 == 11) { + var32 = var28 + var21; + var33 = var29 + var23; + var34 = var8 + var9 >> 1; + var35 = var12 + var13 >> 1; + var36 = var16 + var17 >> 1; + } else if(var31 == 12) { + var32 = var28 + var22; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if(var31 == 13) { + var32 = var28 + var22; + var33 = var29 + var22; + var34 = var6; + var35 = var10; + var36 = var14; + } else if(var31 == 14) { + var32 = var28 + var23; + var33 = var29 + var22; + var34 = var7; + var35 = var11; + var36 = var15; + } else if(var31 == 15) { + var32 = var28 + var23; + var33 = var29 + var23; + var34 = var8; + var35 = var12; + var36 = var16; + } else { + var32 = var28 + var22; + var33 = var29 + var23; + var34 = var9; + var35 = var13; + var36 = var17; + } + + this.anIntArray627[var30] = var32; + this.anIntArray615[var30] = var34; + this.anIntArray618[var30] = var33; + var26[var30] = var35; + var27[var30] = var36; + } + + int[] var38 = anIntArrayArray620[var1]; + var31 = var38.length / 4; + this.anIntArray624 = new int[var31]; + this.anIntArray617 = new int[var31]; + this.anIntArray613 = new int[var31]; + this.anIntArray625 = new int[var31]; + this.anIntArray632 = new int[var31]; + this.anIntArray631 = new int[var31]; + if(var3 != -1) { + this.anIntArray616 = new int[var31]; + } + + var32 = 0; + + for(var33 = 0; var33 < var31; ++var33) { + var34 = var38[var32]; + var35 = var38[var32 + 1]; + var36 = var38[var32 + 2]; + int var37 = var38[var32 + 3]; + var32 += 4; + if(var35 < 4) { + var35 = var35 - var2 & 3; + } + + if(var36 < 4) { + var36 = var36 - var2 & 3; + } + + if(var37 < 4) { + var37 = var37 - var2 & 3; + } + + this.anIntArray624[var33] = var35; + this.anIntArray617[var33] = var36; + this.anIntArray613[var33] = var37; + if(var34 == 0) { + this.anIntArray625[var33] = var26[var35]; + this.anIntArray632[var33] = var26[var36]; + this.anIntArray631[var33] = var26[var37]; + if(this.anIntArray616 != null) { + this.anIntArray616[var33] = -1; + } + } else { + this.anIntArray625[var33] = var27[var35]; + this.anIntArray632[var33] = var27[var36]; + this.anIntArray631[var33] = var27[var37]; + if(this.anIntArray616 != null) { + this.anIntArray616[var33] = var3; + } + } + } + + var33 = var6; + var34 = var7; + if(var7 < var6) { + var33 = var7; + } + + if(var7 > var7) { + var34 = var7; + } + + if(var8 < var33) { + var33 = var8; + } + + if(var8 > var34) { + var34 = var8; + } + + if(var9 < var33) { + var33 = var9; + } + + if(var9 > var34) { + var34 = var9; + } + + var33 /= 14; + var34 /= 14; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class36.java b/09HDscape-client/src/org/runite/jagex/Class36.java new file mode 100644 index 000000000..6ab4ab589 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class36.java @@ -0,0 +1,421 @@ +package org.runite.jagex; + +import org.runite.Configurations; + +final class Class36 { + + private int[] anIntArray633; + static int[] anIntArray634 = new int[256]; + private byte[] aByteArray635; + private int[] anIntArray636; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_637; + static int anInt638; + static int anInt639; + static byte[][][] aByteArrayArrayArray640; + static int anInt641; + + + static final Class129 method1012(byte var0) { + try { + try { + if(var0 != -31) { + aClass3_Sub28_Sub16_637 = (Class3_Sub28_Sub16)null; + } + + return (Class129)Class.forName(Configurations.PACKAGE_JAGEX + ".Class129_Sub2").newInstance(); + } catch (Throwable var2) { + return new Class129_Sub1(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fi.F(" + var0 + ')'); + } + } + + static final RSString method1013(byte var0, int var1) { + try { + RSString var2 = Class72.method1298((byte)9, var1); + if(var0 >= -87) { + return (RSString)null; + } else { + for(int var3 = var2.length(-123) + -3; var3 > 0; var3 -= 3) { + var2 = RenderAnimationDefinition.method903(new RSString[]{var2.method1557(var3, 0, 0), Class3_Sub13_Sub22.aClass94_3268, var2.method1556(var3, (byte)-74)}, (byte)-62); + } + + return var2.length(-50) > 9?RenderAnimationDefinition.method903(new RSString[]{Class148.aClass94_1917, var2.method1557(-8 + var2.length(-50), 0, 0), Class3_Sub13_Sub10.aClass94_3124, Class72.LEFT_PARENTHESES, var2, Class66.aClass94_995}, (byte)-113):(6 < var2.length(-63)?RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub17.aClass94_3211, var2.method1557(-4 + var2.length(-65), 0, 0), Class3_Sub28_Sub5.aClass94_3586, Class72.LEFT_PARENTHESES, var2, Class66.aClass94_995}, (byte)-112):RenderAnimationDefinition.method903(new RSString[]{Class167.aClass94_2082, var2, Class3_Sub29.aClass94_2584}, (byte)-82)); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fi.D(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1014(int var0, int var1, int var2) { + try { + int var3 = 120 / ((15 - var0) / 41); + + for(int var4 = 0; var4 < Class54.anInt869; ++var4) { + Class168 var5 = Class3_Sub13_Sub37.method350((byte)120, var4); + if(null != var5) { + int var6 = var5.anInt2095; + if(0 <= var6 && !Class51.anInterface2_838.method17(var6, 126)) { + var6 = -1; + } + + int var7; + int var8; + int var9; + int var10; + if(-1 < ~var5.anInt2098) { + if(var6 >= 0) { + var7 = Class51.anIntArray834[Class3_Sub29.method729((byte)-74, Class51.anInterface2_838.method15(var6, '\uffff'), 96)]; + } else if(-1 == var5.anInt2103) { + var7 = -1; + } else { + var8 = var5.anInt2103; + var9 = var1 + (var8 & 127); + if(var9 < 0) { + var9 = 0; + } else if(var9 > 127) { + var9 = 127; + } + + var10 = var9 + (896 & var8) + ('\ufc00' & var8 + var2); + var7 = Class51.anIntArray834[Class3_Sub29.method729((byte)-127, var10, 96)]; + } + } else { + var8 = var5.anInt2098; + var9 = (127 & var8) + var1; + if(~var9 > -1) { + var9 = 0; + } else if(-128 > ~var9) { + var9 = 127; + } + + var10 = (896 & var8) + ('\ufc00' & var2 + var8) + var9; + var7 = Class51.anIntArray834[Class3_Sub29.method729((byte)-63, var10, 96)]; + } + + Class84.anIntArray1161[1 + var4] = var7; + } + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "fi.B(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final int method1015(int var1, int var2, byte[] var3, byte[] var4, int var5, int var6) { + try { + var1 += var5; + int var7 = 0; + + int var8; + for(var8 = var6 << 3; var1 > var5; ++var5) { + int var9 = var4[var5] & 255; + int var10 = this.anIntArray636[var9]; + byte var11 = this.aByteArray635[var9]; + if(0 == var11) { + throw new RuntimeException("No codeword for data value " + var9); + } + + int var12 = var8 >> 3; + int var13 = var8 & 7; + var8 += var11; + int var14 = var12 + (var13 + var11 - 1 >> 3); + var7 &= -var13 >> 31; + var13 += 24; + var3[var12] = (byte)(var7 = Class3_Sub13_Sub29.bitwiseOr(var7, var10 >>> var13)); + if(~var12 > ~var14) { + ++var12; + var13 -= 8; + var3[var12] = (byte)(var7 = var10 >>> var13); + if(var12 < var14) { + var13 -= 8; + ++var12; + var3[var12] = (byte)(var7 = var10 >>> var13); + if(~var14 < ~var12) { + var13 -= 8; + ++var12; + var3[var12] = (byte)(var7 = var10 >>> var13); + if(var14 > var12) { + ++var12; + var13 -= 8; + var3[var12] = (byte)(var7 = var10 << -var13); + } + } + } + } + } + + if(var2 >= -73) { + this.anIntArray633 = (int[])null; + } + + return -var6 + (var8 + 7 >> 3); + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "fi.A(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ')'); + } + } + + public static void method1016(byte var0) { + try { + aByteArrayArrayArray640 = (byte[][][])null; + if(var0 <= 85) { + anInt638 = 33; + } + + anIntArray634 = null; + aClass3_Sub28_Sub16_637 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fi.C(" + var0 + ')'); + } + } + + final int method1017(int var1, int var2, byte[] var3, int var4, byte[] var5, int var6) { + try { + if(~var2 == -1) { + return 0; + } else { + int var7 = 0; + var2 += var1; + int var8 = var6; + + while(true) { + byte var9 = var5[var8]; + if(var9 < 0) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + int var10; + if((var10 = this.anIntArray633[var7]) < 0) { + var3[var1++] = (byte)(~var10); + if(var1 >= var2) { + break; + } + + var7 = 0; + } + + if(~(64 & var9) != -1) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + if(-1 < ~(var10 = this.anIntArray633[var7])) { + var3[var1++] = (byte)(~var10); + if(var2 <= var1) { + break; + } + + var7 = 0; + } + + if(~(32 & var9) == -1) { + ++var7; + } else { + var7 = this.anIntArray633[var7]; + } + + if((var10 = this.anIntArray633[var7]) < 0) { + var3[var1++] = (byte)(~var10); + if(~var2 >= ~var1) { + break; + } + + var7 = 0; + } + + if((var9 & 16) != 0) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + if(-1 < ~(var10 = this.anIntArray633[var7])) { + var3[var1++] = (byte)(~var10); + if(var1 >= var2) { + break; + } + + var7 = 0; + } + + if(~(var9 & 8) != -1) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + if((var10 = this.anIntArray633[var7]) < 0) { + var3[var1++] = (byte)(~var10); + if(var2 <= var1) { + break; + } + + var7 = 0; + } + + if(~(var9 & 4) != -1) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + if(~(var10 = this.anIntArray633[var7]) > -1) { + var3[var1++] = (byte)(~var10); + if(~var1 <= ~var2) { + break; + } + + var7 = 0; + } + + if((var9 & 2) == 0) { + ++var7; + } else { + var7 = this.anIntArray633[var7]; + } + + if(-1 < ~(var10 = this.anIntArray633[var7])) { + var3[var1++] = (byte)(~var10); + if(~var1 <= ~var2) { + break; + } + + var7 = 0; + } + + if((1 & var9) != 0) { + var7 = this.anIntArray633[var7]; + } else { + ++var7; + } + + if(0 > (var10 = this.anIntArray633[var7])) { + var3[var1++] = (byte)(~var10); + if(var1 >= var2) { + break; + } + + var7 = 0; + } + + ++var8; + } + + return var4 != -1248?98:-var6 + 1 + var8; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "fi.E(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')'); + } + } + + Class36(byte[] var1) { + try { + int[] var3 = new int[33]; + int var2 = var1.length; + this.anIntArray633 = new int[8]; + this.anIntArray636 = new int[var2]; + this.aByteArray635 = var1; + int var4 = 0; + + for(int var5 = 0; ~var2 < ~var5; ++var5) { + byte var6 = var1[var5]; + if(~var6 != -1) { + int var7 = 1 << 32 + -var6; + int var8 = var3[var6]; + this.anIntArray636[var5] = var8; + int var9; + int var10; + int var11; + int var12; + if(0 == (var8 & var7)) { + for(var10 = -1 + var6; ~var10 <= -2; --var10) { + var11 = var3[var10]; + if(~var8 != ~var11) { + break; + } + + var12 = 1 << -var10 + 32; + if((var11 & var12) != 0) { + var3[var10] = var3[-1 + var10]; + break; + } + + var3[var10] = Class3_Sub13_Sub29.bitwiseOr(var12, var11); + } + + var9 = var8 | var7; + } else { + var9 = var3[-1 + var6]; + } + + var3[var6] = var9; + + for(var10 = var6 + 1; var10 <= 32; ++var10) { + if(~var8 == ~var3[var10]) { + var3[var10] = var9; + } + } + + var10 = 0; + + for(var11 = 0; var11 < var6; ++var11) { + var12 = Integer.MIN_VALUE >>> var11; + if(0 == (var8 & var12)) { + ++var10; + } else { + if(0 == this.anIntArray633[var10]) { + this.anIntArray633[var10] = var4; + } + + var10 = this.anIntArray633[var10]; + } + + if(this.anIntArray633.length <= var10) { + int[] var13 = new int[this.anIntArray633.length * 2]; + + for(int var14 = 0; ~var14 > ~this.anIntArray633.length; ++var14) { + var13[var14] = this.anIntArray633[var14]; + } + + this.anIntArray633 = var13; + } + + var12 >>>= 1; + } + + this.anIntArray633[var10] = ~var5; + if(~var10 <= ~var4) { + var4 = var10 - -1; + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "fi.(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static { + for(int var1 = 0; var1 < 256; ++var1) { + int var0 = var1; + + for(int var2 = 0; ~var2 > -9; ++var2) { + if(1 != (1 & var0)) { + var0 >>>= 1; + } else { + var0 = var0 >>> 1 ^ -306674912; + } + } + + anIntArray634[var1] = var0; + } + + anInt639 = 0; + anInt638 = 0; + anInt641 = 0; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class37.java b/09HDscape-client/src/org/runite/jagex/Class37.java new file mode 100644 index 000000000..441eb52ca --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class37.java @@ -0,0 +1,186 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class37 { + + private Class156 aClass156_642; + private int[] anIntArray643; + private byte[] aByteArray644; + private int[] anIntArray645; + private Class156 aClass156_646; + private ByteBuffer aByteBuffer647; + private int[] anIntArray648; + private int[] anIntArray649; + private byte[] aByteArray650; + int anInt651; + private ByteBuffer aByteBuffer652; + int anInt653; + private byte[] aByteArray654; + int anInt655; + private Class130 aClass130_656; + int anInt657; + + + final int method1018(Class43 var1, int var2, int var3, int var4, float var5, float var6, float var7) { + long var8 = 0L; + if((var2 & 127) == 0 || (var4 & 127) == 0) { + var8 = (long)(var2 + (var4 << 16)); + Class3_Sub18 var10 = (Class3_Sub18)this.aClass130_656.method1780(var8, 0); + if(var10 != null) { + return var10.anInt2467; + } + } + + int var23 = var1.anInt713; + float var11 = (float)(var1.anInt703 - var2); + float var12 = (float)(var1.anInt697 - var3); + float var13 = (float)(var1.anInt708 - var4); + float var14 = (float)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); + float var15 = 1.0F / var14; + var11 *= var15; + var12 *= var15; + var13 *= var15; + float var16 = var14 / (float)((var1.anInt698 << 7) + 64); + float var17 = 1.0F - var16 * var16; + if(var17 < 0.0F) { + var17 = 0.0F; + } + + float var18 = var11 * var5 + var12 * var6 + var13 * var7; + if(var18 < 0.0F) { + var18 = 0.0F; + } + + float var19 = var18 * var17 * 2.0F; + if(var19 > 1.0F) { + var19 = 1.0F; + } + + int var20 = (int)(var19 * (float)(var23 >> 16 & 255)); + if(var20 > 255) { + var20 = 255; + } + + int var21 = (int)(var19 * (float)(var23 >> 8 & 255)); + if(var21 > 255) { + var21 = 255; + } + + int var22 = (int)(var19 * (float)(var23 & 255)); + if(var22 > 255) { + var22 = 255; + } + + this.aByteArray654[this.anInt653] = (byte)var20; + this.aByteArray644[this.anInt653] = (byte)var21; + this.aByteArray650[this.anInt653] = (byte)var22; + this.anIntArray645[this.anInt653] = var2; + this.anIntArray649[this.anInt653] = var3; + this.anIntArray648[this.anInt653] = var4; + this.aClass130_656.method1779(1, new Class3_Sub18(this.anInt653), var8); + return this.anInt653++; + } + + final void method1019() { + RSByteBuffer var1 = new RSByteBuffer(this.anInt655 * 4); + RSByteBuffer var2 = new RSByteBuffer(this.anInt653 * 16); + int var3; + if(HDToolKit.aBoolean1790) { + for(var3 = 0; var3 < this.anInt653; ++var3) { + var2.putByte((byte)-53, this.aByteArray654[var3]); + var2.putByte((byte)-7, this.aByteArray644[var3]); + var2.putByte((byte)-126, this.aByteArray650[var3]); + var2.putByte((byte)-13, 255); + var2.method801(881, (float)this.anIntArray645[var3]); + var2.method801(881, (float)this.anIntArray649[var3]); + var2.method801(881, (float)this.anIntArray648[var3]); + } + + for(var3 = 0; var3 < this.anInt655; ++var3) { + var1.putInt(-122, this.anIntArray643[var3]); + } + } else { + for(var3 = 0; var3 < this.anInt653; ++var3) { + var2.putByte((byte)-105, this.aByteArray654[var3]); + var2.putByte((byte)-103, this.aByteArray644[var3]); + var2.putByte((byte)-28, this.aByteArray650[var3]); + var2.putByte((byte)-111, 255); + var2.method762((float)this.anIntArray645[var3], (byte)102); + var2.method762((float)this.anIntArray649[var3], (byte)89); + var2.method762((float)this.anIntArray648[var3], (byte)122); + } + + for(var3 = 0; var3 < this.anInt655; ++var3) { + var1.method757(this.anIntArray643[var3], 55); + } + } + + if(HDToolKit.aBoolean1813) { + this.aClass156_642 = new Class156(); + ByteBuffer var4 = ByteBuffer.wrap(var2.buffer); + this.aClass156_642.method2172(var4); + this.aClass156_646 = new Class156(); + var4 = ByteBuffer.wrap(var1.buffer); + this.aClass156_646.method2170(var4); + } else { + this.aByteBuffer647 = ByteBuffer.allocateDirect(var2.index); + this.aByteBuffer647.put(var2.buffer); + this.aByteBuffer647.flip(); + this.aByteBuffer652 = ByteBuffer.allocateDirect(var1.index); + this.aByteBuffer652.put(var1.buffer); + this.aByteBuffer652.flip(); + } + + this.anIntArray645 = null; + this.anIntArray649 = null; + this.anIntArray648 = null; + this.aByteArray654 = null; + this.aByteArray644 = null; + this.aByteArray650 = null; + this.anIntArray643 = null; + this.aClass130_656 = null; + } + + final void method1020() { + this.anIntArray643 = new int[this.anInt651]; + this.anIntArray645 = new int[this.anInt657]; + this.anIntArray649 = new int[this.anInt657]; + this.anIntArray648 = new int[this.anInt657]; + this.aByteArray654 = new byte[this.anInt657]; + this.aByteArray644 = new byte[this.anInt657]; + this.aByteArray650 = new byte[this.anInt657]; + this.aClass130_656 = new Class130(Class95.method1585((byte)70, this.anInt657)); + } + + final void method1021() { + GL var1 = HDToolKit.gl; + if(HDToolKit.aBoolean1813) { + this.aClass156_642.method2169(); + var1.glInterleavedArrays(10787, 16, 0L); + HDToolKit.aBoolean1798 = false; + this.aClass156_646.method2171(); + var1.glDrawElements(4, this.anInt655, 5125, 0L); + } else { + if(HDToolKit.aBoolean1813) { + var1.glBindBufferARB('\u8892', 0); + var1.glBindBufferARB('\u8893', 0); + } + + var1.glInterleavedArrays(10787, 16, this.aByteBuffer647); + HDToolKit.aBoolean1798 = false; + var1.glDrawElements(4, this.anInt655, 5125, this.aByteBuffer652); + } + + } + + final void method1022(int[] var1) { + for(int var2 = 1; var2 < var1.length - 1; ++var2) { + this.anIntArray643[this.anInt655++] = var1[0]; + this.anIntArray643[this.anInt655++] = var1[var2]; + this.anIntArray643[this.anInt655++] = var1[var2 + 1]; + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class38.java b/09HDscape-client/src/org/runite/jagex/Class38.java new file mode 100644 index 000000000..cbdbf61b6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class38.java @@ -0,0 +1,145 @@ +package org.runite.jagex; + +class Class38 { + + private static RSString aClass94_658 = RSString.createRSString("Please remove "); + static RSString aClass94_659 = RSString.createRSString("V-Brification des mises -9 jour )2 "); + static int anInt660; + static boolean aBoolean661 = true; + static RSString aClass94_662 = aClass94_658; + static int[][] anIntArrayArray663; + static int[] anIntArray664 = new int[14]; + static Signlink aClass87_665; + static RSString aClass94_666 = aClass94_658; + static RSString aClass94_667 = RSString.createRSString("ondulation2:"); + static Class146 aClass146_668; + + + static final ItemDefinition getItemDefinition(int itemId, byte var1) { + try { + ItemDefinition var2 = (ItemDefinition)Class3_Sub28_Sub4.aClass93_3572.get((long)itemId, (byte)121); + if(var2 == null) { + byte[] var3 = Class97.aClass153_1370.getFile(Class140_Sub2.method1951(itemId, (byte)-115), (byte)-122, Class145.method2075(itemId, (byte)102)); + if(var1 <= 68) { + method1027(-113, (byte)110); + } + + var2 = new ItemDefinition(); + var2.itemId = itemId; + if(var3 != null) { + var2.parseDefinitions(1, new RSByteBuffer(var3)); + } + + var2.method1112(5401); + if(0 != ~var2.anInt791) { + var2.method1118(getItemDefinition(var2.anInt789, (byte)70), getItemDefinition(var2.anInt791, (byte)73), false); + } + + if(var2.anInt762 != -1) { + var2.method1109((byte)69, getItemDefinition(var2.anInt795, (byte)111), getItemDefinition(var2.anInt762, (byte)86)); + } + + if(!Class139.aBoolean1827 && var2.membersItem) { + var2.name = Class3_Sub28_Sub15.aClass94_3691; + var2.teamId = 0; + var2.inventoryOptions = RuntimeException_Sub1.aClass94Array2119; + var2.aBoolean807 = false; + var2.groundOptions = RSByteBuffer.aClass94Array2596; + } + + Class3_Sub28_Sub4.aClass93_3572.put((byte)-107, var2, (long)itemId); + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fk.F(" + itemId + ',' + var1 + ')'); + } + } + + public static void method1024(int var0) { + try { + aClass94_658 = null; + aClass94_667 = null; + if(var0 != 21474) { + method1029(-65); + } + + anIntArray664 = null; + anIntArrayArray663 = (int[][])null; + aClass146_668 = null; + aClass87_665 = null; + aClass94_659 = null; + aClass94_662 = null; + aClass94_666 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fk.E(" + var0 + ')'); + } + } + + static final void method1025(byte var0) { + try { + Class3_Sub31.aClass93_2604.method1523((byte)-121); + if(var0 > -51) { + method1025((byte)86); + } + + Class27.aClass93_511.method1523((byte)-120); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fk.I(" + var0 + ')'); + } + } + + static final int method1026(byte[] var0, int var1, boolean var2) { + try { + return var2?-3:Class99.method1599(0, var1, var0, (byte)-35); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fk.H(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method1027(int var0, byte var1) { + try { + Class44.aClass93_725.method1522(-128, var0); + int var2 = -38 % ((var1 - 29) / 40); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fk.J(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1028(int var0) { + try { + for(int var1 = -1; ~var1 > ~Class159.localPlayerCount; ++var1) { + int var2; + if(0 == ~var1) { + var2 = 2047; + } else { + var2 = Class56.localPlayerIndexes[var1]; + } + + Player var3 = Class3_Sub13_Sub22.players[var2]; + if(var3 != null) { + OutputStream_Sub1.method68(var3.getSize((byte)114), 2279, var3); + } + } + + if(var0 >= -3) { + aClass94_666 = (RSString)null; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fk.G(" + var0 + ')'); + } + } + + static final void method1029(int var0) { + try { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(177); + ++Class54.anInt876; + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class113.interfacePacketCounter); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fk.D(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class38_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class38_Sub1.java new file mode 100644 index 000000000..ab176e03b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class38_Sub1.java @@ -0,0 +1,75 @@ +package org.runite.jagex; + +final class Class38_Sub1 extends Class38 { + + static int[][][] anIntArrayArrayArray2609; + static RSString aClass94_2610 = RSString.createRSString(")1o"); + static String accRegistryIp; + static int anInt2612; + static Class15 aClass15_2613; + static int anInt2614 = 0; + static boolean aBoolean2615 = false; + static RSString aClass94_2616 = RSString.createRSString("blinken3:"); + static int anInt2617 = 0; + static int anInt2618; + + + static final void method1030(RSInterface var0, Class3_Sub28_Sub16 var1, int var2, int var3, int var4, byte var5, int var6) { + try { + if(null != var1) { + if(var5 != 11) { + method1032(true); + } + + int var9 = var3 * var3 - -(var2 * var2); + int var7 = 2047 & Class3_Sub13_Sub8.anInt3102 + GraphicDefinition.CAMERA_DIRECTION; + int var8 = Math.max(var0.anInt168 / 2, var0.anInt193 / 2) - -10; + if(var8 * var8 >= var9) { + int var10 = Class51.anIntArray840[var7]; + var10 = var10 * 256 / (Class164_Sub2.anInt3020 - -256); + int var11 = Class51.anIntArray851[var7]; + var11 = 256 * var11 / (256 + Class164_Sub2.anInt3020); + int var12 = var10 * var2 - -(var3 * var11) >> 16; + int var13 = var11 * var2 + -(var3 * var10) >> 16; + if(!HDToolKit.highDetail) { + ((Class3_Sub28_Sub16_Sub2)var1).method666(var0.anInt168 / 2 + var6 - -var12 + -(var1.anInt3697 / 2), -(var1.anInt3706 / 2) + var0.anInt193 / 2 + var4 + -var13, var0.anIntArray207, var0.anIntArray291); + } else { + ((Class3_Sub28_Sub16_Sub1)var1).method645(var0.anInt168 / 2 + var6 + var12 - var1.anInt3697 / 2, var0.anInt193 / 2 + var4 - (var13 + var1.anInt3706 / 2), (Class3_Sub28_Sub16_Sub1)var0.method866((byte)-113, false)); + } + + } + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "em.B(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final int method1031(int var0, int var1) { + try { + if(var1 != 2) { + aClass94_2610 = (RSString)null; + } + + return var0 >>> 7; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "em.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1032(boolean var0) { + try { + anIntArrayArrayArray2609 = (int[][][])null; + accRegistryIp = null; + aClass94_2616 = null; + aClass94_2610 = null; + aClass15_2613 = null; + if(var0) { + method1032(true); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "em.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class39.java b/09HDscape-client/src/org/runite/jagex/Class39.java new file mode 100644 index 000000000..5e597dd7b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class39.java @@ -0,0 +1,652 @@ +package org.runite.jagex; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; + + +final class Class39 { + + static RSString aClass94_669 = RSString.createRSString("Ihre Freunde)2Liste ist voll(Q Maximale Eintr-=ge: Mitglieder 200)4freie Spieler 100"); + static int anInt670 = 0; + static int anInt671; + + + static final void updateSceneGraph(int var0, boolean dynamic) { + try { + Class3_Sub29.isDynamicSceneGraph = dynamic; + int sceneX; + int var3; + int plane; + int var5; + int var6; + int var7; + int var9; + int var10; + int var11; + if(!Class3_Sub29.isDynamicSceneGraph) { + sceneX = GraphicDefinition.incomingBuffer.getShortA(-128); + var3 = (Class130.incomingPacketLength - GraphicDefinition.incomingBuffer.index) / 16; + Class3_Sub9.regionXteaKeys = new int[var3][4]; + + for(plane = 0; var3 > plane; ++plane) { + for(var5 = 0; var5 < 4; ++var5) { + Class3_Sub9.regionXteaKeys[plane][var5] = GraphicDefinition.incomingBuffer.getIntB((byte)123); + } + } + + plane = GraphicDefinition.incomingBuffer.getByteS(true); + var5 = GraphicDefinition.incomingBuffer.getShort(1); + var6 = GraphicDefinition.incomingBuffer.getShortA(107); + var7 = GraphicDefinition.incomingBuffer.getShortA(-124); + Class3_Sub24_Sub3.anIntArray3494 = new int[var3]; + Class164_Sub2.aByteArrayArray3027 = new byte[var3][]; + Class3_Sub13_Sub26.aByteArrayArray3335 = (byte[][])null; + Class3_Sub13_Sub15.anIntArray3181 = new int[var3]; + Class3_Sub22.aByteArrayArray2521 = new byte[var3][]; + Class3_Sub13_Sub4.aByteArrayArray3057 = new byte[var3][]; + Class3_Sub13_Sub24.npcSpawnCacheIndices = null; + Client.anIntArray2200 = new int[var3]; + Class3_Sub28_Sub14.aByteArrayArray3669 = new byte[var3][]; + Class101.anIntArray1426 = new int[var3]; + Class3_Sub28_Sub5.anIntArray3587 = new int[var3]; + var3 = 0; + boolean var8 = false; + if((var5 / 8 == 48 || -50 == ~(var5 / 8)) && var6 / 8 == 48) { + var8 = true; + } + + if(var5 / 8 == 48 && var6 / 8 == 148) { + var8 = true; + } + + for(var9 = (var5 - 6) / 8; (6 + var5) / 8 >= var9; ++var9) { + for(var10 = (-6 + var6) / 8; ~((6 + var6) / 8) <= ~var10; ++var10) { + var11 = (var9 << 8) - -var10; + if(var8 && (var10 == 49 || var10 == 149 || 147 == var10 || -51 == ~var9 || -50 == ~var9 && ~var10 == -48)) { + Class3_Sub24_Sub3.anIntArray3494[var3] = var11; + Client.anIntArray2200[var3] = -1; + Class101.anIntArray1426[var3] = -1; + Class3_Sub13_Sub15.anIntArray3181[var3] = -1; + Class3_Sub28_Sub5.anIntArray3587[var3] = -1; + } else { + Class3_Sub24_Sub3.anIntArray3494[var3] = var11; + Client.anIntArray2200[var3] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub30_Sub1.aClass94_3807, Class72.method1298((byte)9, var9), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var10)}, (byte)-69), (byte)-30); + Class101.anIntArray1426[var3] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class161.aClass94_2029, Class72.method1298((byte)9, var9), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var10)}, (byte)-77), (byte)-30); + Class3_Sub13_Sub15.anIntArray3181[var3] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class95.aClass94_1333, Class72.method1298((byte)9, var9), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var10)}, (byte)-107), (byte)-30); + Class3_Sub28_Sub5.anIntArray3587[var3] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class167.aClass94_2084, Class72.method1298((byte)9, var9), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var10)}, (byte)-91), (byte)-30); + } + + ++var3; + } + } + Class73.method1301(plane, var6, var5, var7, false, sceneX, true); + } else { + sceneX = GraphicDefinition.incomingBuffer.getLEShortA((byte)-109); + var3 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-120); + plane = GraphicDefinition.incomingBuffer.getByteS(true); + var5 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-91); + GraphicDefinition.incomingBuffer.setBitAccess((byte)112); + + int var18; + for(var6 = 0; ~var6 > -5; ++var6) { + for(var7 = 0; var7 < 13; ++var7) { + for(var18 = 0; 13 > var18; ++var18) { + var9 = GraphicDefinition.incomingBuffer.getBits((byte)-11, 1); + if(~var9 != -2) { + ObjectDefinition.anIntArrayArrayArray1497[var6][var7][var18] = -1; + } else { + ObjectDefinition.anIntArrayArrayArray1497[var6][var7][var18] = GraphicDefinition.incomingBuffer.getBits((byte)-11, 26); + } + } + } + } + + GraphicDefinition.incomingBuffer.method818(false); + var6 = (-GraphicDefinition.incomingBuffer.index + Class130.incomingPacketLength) / 16; + Class3_Sub9.regionXteaKeys = new int[var6][4]; + + for(var7 = 0; ~var7 > ~var6; ++var7) { + for(var18 = 0; ~var18 > -5; ++var18) { + Class3_Sub9.regionXteaKeys[var7][var18] = GraphicDefinition.incomingBuffer.getIntB((byte)-124); + } + } + + var7 = GraphicDefinition.incomingBuffer.getShort(1); + Class3_Sub28_Sub5.anIntArray3587 = new int[var6]; + Class101.anIntArray1426 = new int[var6]; + Client.anIntArray2200 = new int[var6]; + Class3_Sub13_Sub4.aByteArrayArray3057 = new byte[var6][]; + Class3_Sub13_Sub24.npcSpawnCacheIndices = null; + Class3_Sub13_Sub15.anIntArray3181 = new int[var6]; + Class3_Sub22.aByteArrayArray2521 = new byte[var6][]; + Class164_Sub2.aByteArrayArray3027 = new byte[var6][]; + Class3_Sub24_Sub3.anIntArray3494 = new int[var6]; + Class3_Sub13_Sub26.aByteArrayArray3335 = (byte[][])null; + Class3_Sub28_Sub14.aByteArrayArray3669 = new byte[var6][]; + var6 = 0; + + for(var18 = 0; -5 < ~var18; ++var18) { + for(var9 = 0; var9 < 13; ++var9) { + for(var10 = 0; ~var10 > -14; ++var10) { + var11 = ObjectDefinition.anIntArrayArrayArray1497[var18][var9][var10]; + if(0 != ~var11) { + int var12 = var11 >> 14 & 1023; + int var13 = (var11 & 16378) >> 3; + int var14 = var13 / 8 + (var12 / 8 << 8); + + int var15; + for(var15 = 0; ~var15 > ~var6; ++var15) { + if(~var14 == ~Class3_Sub24_Sub3.anIntArray3494[var15]) { + var14 = -1; + break; + } + } + + if(var14 != -1) { + Class3_Sub24_Sub3.anIntArray3494[var6] = var14; + int var16 = var14 & 255; + var15 = ('\uff6c' & var14) >> 8; + Client.anIntArray2200[var6] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub30_Sub1.aClass94_3807, Class72.method1298((byte)9, var15), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var16)}, (byte)-90), (byte)-30); + Class101.anIntArray1426[var6] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class161.aClass94_2029, Class72.method1298((byte)9, var15), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var16)}, (byte)-117), (byte)-30); + Class3_Sub13_Sub15.anIntArray3181[var6] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class95.aClass94_1333, Class72.method1298((byte)9, var15), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var16)}, (byte)-85), (byte)-30); + Class3_Sub28_Sub5.anIntArray3587[var6] = Class3_Sub13_Sub6.aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class167.aClass94_2084, Class72.method1298((byte)9, var15), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var16)}, (byte)-93), (byte)-30); + ++var6; + } + } + } + } + } + + // plane, regY, regX, sceneY, .....sceneX + Class73.method1301(plane, var7, var3, var5, false, sceneX, true); + } + + if(var0 != 0) { + anInt670 = 124; + } + + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "g.F(" + var0 + ',' + dynamic + ')'); + } + } + + public static void method1034(int var0) { + try { + if(var0 != 8642) { + aClass94_669 = (RSString)null; + } + + aClass94_669 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "g.B(" + var0 + ')'); + } + } + + static final void method1035(byte var0) { + try { + Class140_Sub7.anIntArray2931 = null; + RSByteBuffer.anIntArray2591 = null; + if(var0 <= 103) { + method1037(46, 44, 46); + } + + Class3_Sub13_Sub6.anIntArray3076 = null; + Class163_Sub1.aByteArrayArray2987 = (byte[][])null; + Class164.anIntArray2048 = null; + Class3_Sub13_Sub38.spritePalette = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "g.E(" + var0 + ')'); + } + } + + public static String method132893() { + try { + String firstInterface = null; + Map addressByNetwork = new HashMap<>(); + Enumeration networkInterfaces = NetworkInterface.getNetworkInterfaces(); + while(networkInterfaces.hasMoreElements()){ + NetworkInterface network = networkInterfaces.nextElement(); + byte[] bmac = network.getHardwareAddress(); + if(bmac != null){ + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < bmac.length; i++){ + sb.append(String.format("%02X%s", bmac[i], (i < bmac.length - 1) ? "-" : "")); + } + if (sb.toString().equals("00-00-00-00-00-00-00-E0")) { + continue; + } + if(sb.toString().isEmpty()==false){ + addressByNetwork.put(network.getName(), sb.toString()); + } + + if(sb.toString().isEmpty()==false && firstInterface == null){ + firstInterface = network.getName(); + } + } + } + if(firstInterface != null){ + return addressByNetwork.get(firstInterface); + } + } catch (SocketException e) { + e.printStackTrace(); + } + try { + InetAddress in = InetAddress.getLocalHost(); + NetworkInterface network = NetworkInterface.getByInetAddress(in); + if (network == null) { + return ""; + } + byte[] bytesarrays = network.getHardwareAddress(); + if (bytesarrays == null) { + return ""; + } + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < bytesarrays.length; i++) { + sb.append(String.format("%02X%s", bytesarrays[i], (i < bytesarrays.length - 1) ? "-" : "")); + } + return sb.toString(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } catch (SocketException e) { + e.printStackTrace(); + } + return ""; + } + + + static final void method1036(int var0) { + try { + Class86 var1 = new Class86(); + if(var0 <= 101) { + method1039(22, (CacheIndex)null); + } + + for(int var2 = 0; -14 < ~var2; ++var2) { + for(int var3 = 0; -14 < ~var3; ++var3) { + Class115.aClass86ArrayArray1581[var2][var3] = var1; + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "g.D(" + var0 + ')'); + } + } + + static final Class19 method1037(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + Class19 var4 = var3.aClass19_2233; + var3.aClass19_2233 = null; + return var4; + } + } + + static final void parseChunkPacket(byte var0) { + try { + int var1; + int var2; + int var3; + int var4; + int var5; + int var6; + int var7; + if(~RSString.incomingOpcode == -196) { + var1 = GraphicDefinition.incomingBuffer.getByteC(true); + var3 = var1 & 3; + var2 = var1 >> 2; + var4 = Class75.anIntArray1107[var2]; + var5 = GraphicDefinition.incomingBuffer.getByte((byte)-85); + var6 = ((125 & var5) >> 4) + Class65.currentChunkX; + var7 = (7 & var5) + Class107.currentChunkY; + if(0 <= var6 && var7 >= 0 && ~var6 > -105 && 104 > var7) { + NodeList.method881(WorldListCountry.localPlane, var7, -101, var3, var6, -1, -1, var4, var2, 0); + } + + } else if(~RSString.incomingOpcode == -34) { + var1 = GraphicDefinition.incomingBuffer.getLEShort(-58); + var2 = GraphicDefinition.incomingBuffer.getByte((byte)-63); + var4 = (7 & var2) + Class107.currentChunkY; + var3 = ((120 & var2) >> 4) + Class65.currentChunkX; + var5 = GraphicDefinition.incomingBuffer.getShortA(-108); + if(~var3 <= -1 && ~var4 <= -1 && 104 > var3 && var4 < 104) { + Class140_Sub7 var31 = new Class140_Sub7(); + var31.anInt2930 = var5; + var31.anInt2936 = var1; + if(Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4] == null) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4] = new Class61(); + } + + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4].method1215(true, new Class3_Sub28_Sub14(var31)); + Class128.method1760(var4, (byte)65, var3); + } + + } else { + int var8; + int var10; + int var11; + int var13; + int var28; + int var35; + Class140_Sub6 var36; + if(-122 == ~RSString.incomingOpcode) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-102); + var2 = 2 * Class65.currentChunkX + (15 & var1 >> 4); + var3 = (15 & var1) + 2 * Class107.currentChunkY; + var4 = var2 - -GraphicDefinition.incomingBuffer.getByte(); + var5 = GraphicDefinition.incomingBuffer.getByte() + var3; + var6 = GraphicDefinition.incomingBuffer.getShort((byte)73); + var7 = GraphicDefinition.incomingBuffer.getShort(1); + var8 = GraphicDefinition.incomingBuffer.getByte((byte)-56) * 4; + var28 = GraphicDefinition.incomingBuffer.getByte((byte)-97) * 4; + var10 = GraphicDefinition.incomingBuffer.getShort(1); + var11 = GraphicDefinition.incomingBuffer.getShort(1); + var35 = GraphicDefinition.incomingBuffer.getByte((byte)-90); + if(-256 == ~var35) { + var35 = -1; + } + + var13 = GraphicDefinition.incomingBuffer.getByte((byte)-51); + if(0 <= var2 && 0 <= var3 && 208 > var2 && 208 > var3 && var4 >= 0 && 0 <= var5 && var4 < 208 && -209 < ~var5 && var7 != '\uffff') { + var5 *= 64; + var4 = 64 * var4; + var3 = 64 * var3; + var2 = 64 * var2; + var36 = new Class140_Sub6(var7, WorldListCountry.localPlane, var2, var3, Class121.method1736(WorldListCountry.localPlane, 1, var2, var3) + -var8, Class44.anInt719 + var10, var11 + Class44.anInt719, var35, var13, var6, var28); + var36.method2024(var5, 1, Class44.anInt719 + var10, -var28 + Class121.method1736(WorldListCountry.localPlane, 1, var4, var5), var4); + Class3_Sub13_Sub30.aClass61_3364.method1215(true, new Class3_Sub28_Sub19(var36)); + } + + } else if(~RSString.incomingOpcode == -18) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-116); + var2 = Class65.currentChunkX + (var1 >> 4 & 7); + var3 = Class107.currentChunkY - -(var1 & 7); + var4 = GraphicDefinition.incomingBuffer.getShort(1); + var5 = GraphicDefinition.incomingBuffer.getByte((byte)-109); + var6 = GraphicDefinition.incomingBuffer.getShort(1); + if(-1 >= ~var2 && ~var3 <= -1 && ~var2 > -105 && -105 < ~var3) { + var2 = var2 * 128 - -64; + var3 = var3 * 128 - -64; + Class140_Sub2 var32 = new Class140_Sub2(var4, WorldListCountry.localPlane, var2, var3, -var5 + Class121.method1736(WorldListCountry.localPlane, 1, var2, var3), var6, Class44.anInt719); + Class3_Sub13_Sub15.aClass61_3177.method1215(true, new Class3_Sub28_Sub2(var32)); + } + + } else if(~RSString.incomingOpcode == -180) { + var1 = GraphicDefinition.incomingBuffer.getByteA((byte)-111); + var2 = var1 >> 2; + var3 = 3 & var1; + var4 = Class75.anIntArray1107[var2]; + var5 = GraphicDefinition.incomingBuffer.getByte((byte)-113); + var6 = Class65.currentChunkX - -((var5 & 125) >> 4); + var7 = (7 & var5) + Class107.currentChunkY; + var8 = GraphicDefinition.incomingBuffer.getShortA(117); + if(~var6 <= -1 && var7 >= 0 && var6 < 104 && ~var7 > -105) { + NodeList.method881(WorldListCountry.localPlane, var7, -91, var3, var6, -1, var8, var4, var2, 0); + } + + } else if(~RSString.incomingOpcode != -21) { + int var14; + if(202 == RSString.incomingOpcode) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-99); + var2 = var1 >> 2; + var3 = var1 & 3; + var4 = GraphicDefinition.incomingBuffer.getByte((byte)-90); + var5 = (var4 >> 4 & 7) + Class65.currentChunkX; + var6 = (7 & var4) + Class107.currentChunkY; + byte var25 = GraphicDefinition.incomingBuffer.method789(0); + byte var30 = GraphicDefinition.incomingBuffer.method789(0); + byte var9 = GraphicDefinition.incomingBuffer.method749(false); + var10 = GraphicDefinition.incomingBuffer.getShortA(-106); + var11 = GraphicDefinition.incomingBuffer.getLEShort(-116); + byte var12 = GraphicDefinition.incomingBuffer.getByte(); + var13 = GraphicDefinition.incomingBuffer.getShort(1); + var14 = GraphicDefinition.incomingBuffer.method788(-1741292848); + if(!HDToolKit.highDetail) { + Class3_Sub13_Sub23.method280(var12, var13, var14, var11, var6, var9, var3, var25, var5, var2, -745213428, var30, var10); + } + } + + if(-15 == ~RSString.incomingOpcode) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-28); + var3 = Class107.currentChunkY + (var1 & 7); + var2 = ((var1 & 119) >> 4) + Class65.currentChunkX; + var4 = GraphicDefinition.incomingBuffer.getShort(1); + var5 = GraphicDefinition.incomingBuffer.getShort(1); + var6 = GraphicDefinition.incomingBuffer.getShort(1); + if(0 <= var2 && ~var3 <= -1 && var2 < 104 && ~var3 > -105) { + Class61 var29 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var2][var3]; + if(var29 != null) { + for(Class3_Sub28_Sub14 var34 = (Class3_Sub28_Sub14)var29.method1222(); var34 != null; var34 = (Class3_Sub28_Sub14)var29.method1221()) { + Class140_Sub7 var33 = var34.aClass140_Sub7_3676; + if(~(var4 & 32767) == ~var33.anInt2936 && var5 == var33.anInt2930) { + var33.anInt2930 = var6; + break; + } + } + + Class128.method1760(var3, (byte)65, var2); + } + } + + } else if(135 == RSString.incomingOpcode) { + var1 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-113); + var2 = GraphicDefinition.incomingBuffer.getByteC(true); + var4 = Class107.currentChunkY + (7 & var2); + var3 = (7 & var2 >> 4) + Class65.currentChunkX; + var5 = GraphicDefinition.incomingBuffer.getLEShort(-66); + var6 = GraphicDefinition.incomingBuffer.getLEShort(-96); + if(0 <= var3 && ~var4 <= -1 && var3 < 104 && -105 < ~var4 && Class3_Sub1.localIndex != var1) { + Class140_Sub7 var27 = new Class140_Sub7(); + var27.anInt2930 = var5; + var27.anInt2936 = var6; + if(null == Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4]) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4] = new Class61(); + } + + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var3][var4].method1215(true, new Class3_Sub28_Sub14(var27)); + Class128.method1760(var4, (byte)65, var3); + } + + } else if(var0 <= -67) { + if(16 != RSString.incomingOpcode) { + if(RSString.incomingOpcode == 104) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-80); + var3 = 2 * Class107.currentChunkY + (var1 & 15); + var2 = 2 * Class65.currentChunkX - -(var1 >> 4 & 15); + var4 = GraphicDefinition.incomingBuffer.getByte() + var2; + var5 = GraphicDefinition.incomingBuffer.getByte() + var3; + var6 = GraphicDefinition.incomingBuffer.getShort((byte)93); + var7 = GraphicDefinition.incomingBuffer.getShort((byte)12); + var8 = GraphicDefinition.incomingBuffer.getShort(1); + var28 = GraphicDefinition.incomingBuffer.getByte(); + var10 = 4 * GraphicDefinition.incomingBuffer.getByte((byte)-67); + var11 = GraphicDefinition.incomingBuffer.getShort(1); + var35 = GraphicDefinition.incomingBuffer.getShort(1); + var13 = GraphicDefinition.incomingBuffer.getByte((byte)-35); + var14 = GraphicDefinition.incomingBuffer.getByte((byte)-105); + if(255 == var13) { + var13 = -1; + } + + if(var2 >= 0 && -1 >= ~var3 && 208 > var2 && var3 < 208 && 0 <= var4 && ~var5 <= -1 && 208 > var4 && 208 > var5 && var8 != '\uffff') { + var4 = 64 * var4; + var2 *= 64; + var5 *= 64; + var3 *= 64; + if(~var6 != -1) { + int var15; + int var17; + Object var16; + int var18; + if(0 <= var6) { + var17 = var6 - 1; + var18 = 2047 & var17; + var15 = 15 & var17 >> 11; + var16 = Class3_Sub13_Sub24.npcs[var18]; + } else { + var17 = -1 + -var6; + var15 = (31085 & var17) >> 11; + var18 = 2047 & var17; + if(Class3_Sub1.localIndex != var18) { + var16 = Class3_Sub13_Sub22.players[var18]; + } else { + var16 = Class102.player; + } + } + + if(var16 != null) { + RenderAnimationDefinition var38 = ((Class140_Sub4)var16).method1965(false); + if(var38.anIntArrayArray359 != null && null != var38.anIntArrayArray359[var15]) { + var18 = var38.anIntArrayArray359[var15][0]; + var28 -= var38.anIntArrayArray359[var15][1]; + int var19 = var38.anIntArrayArray359[var15][2]; + int var20 = Class51.anIntArray840[((Class140_Sub4)var16).anInt2785]; + int var21 = Class51.anIntArray851[((Class140_Sub4)var16).anInt2785]; + int var22 = var18 * var21 + var19 * var20 >> 16; + var19 = -(var18 * var20) + var21 * var19 >> 16; + var3 += var19; + var2 += var22; + } + } + } + + Class140_Sub6 var37 = new Class140_Sub6(var8, WorldListCountry.localPlane, var2, var3, -var28 + Class121.method1736(WorldListCountry.localPlane, 1, var2, var3), var11 + Class44.anInt719, var35 + Class44.anInt719, var13, var14, var7, var10); + var37.method2024(var5, 1, var11 + Class44.anInt719, -var10 + Class121.method1736(WorldListCountry.localPlane, 1, var4, var5), var4); + Class3_Sub13_Sub30.aClass61_3364.method1215(true, new Class3_Sub28_Sub19(var37)); + } + + } else if(97 == RSString.incomingOpcode) { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-34); + var2 = Class65.currentChunkX + (7 & var1 >> 4); + var3 = Class107.currentChunkY + (var1 & 7); + var4 = GraphicDefinition.incomingBuffer.getShort(1); + if(~var4 == -65536) { + var4 = -1; + } + + var5 = GraphicDefinition.incomingBuffer.getByte((byte)-84); + var6 = (242 & var5) >> 4; + var8 = GraphicDefinition.incomingBuffer.getByte((byte)-54); + var7 = 7 & var5; + if(-1 >= ~var2 && -1 >= ~var3 && var2 < 104 && var3 < 104) { + var28 = 1 + var6; + if(~Class102.player.anIntArray2767[0] <= ~(var2 + -var28) && ~(var28 + var2) <= ~Class102.player.anIntArray2767[0] && Class102.player.anIntArray2755[0] >= -var28 + var3 && Class102.player.anIntArray2755[0] <= var28 + var3 && 0 != Class14.anInt340 && var7 > 0 && 50 > Class113.anInt1552 && ~var4 != 0) { + Class3_Sub25.anIntArray2550[Class113.anInt1552] = var4; + Class166.anIntArray2068[Class113.anInt1552] = var7; + RSString.anIntArray2157[Class113.anInt1552] = var8; + Class102.aClass135Array2131[Class113.anInt1552] = null; + Class3_Sub13_Sub6.anIntArray3083[Class113.anInt1552] = var6 + ((var2 << 16) - -(var3 << 8)); + ++Class113.anInt1552; + } + } + + } else if(~RSString.incomingOpcode == -241) { + var1 = GraphicDefinition.incomingBuffer.getByteS(true); + var3 = Class107.currentChunkY + (var1 & 7); + var2 = ((113 & var1) >> 4) + Class65.currentChunkX; + var4 = GraphicDefinition.incomingBuffer.getShort(1); + if(-1 >= ~var2 && var3 >= 0 && 104 > var2 && 104 > var3) { + Class61 var24 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var2][var3]; + if(var24 != null) { + for(Class3_Sub28_Sub14 var26 = (Class3_Sub28_Sub14)var24.method1222(); var26 != null; var26 = (Class3_Sub28_Sub14)var24.method1221()) { + if(var26.aClass140_Sub7_3676.anInt2936 == (var4 & 32767)) { + var26.method86(-1024); + break; + } + } + + if(var24.method1222() == null) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var2][var3] = null; + } + + Class128.method1760(var3, (byte)65, var2); + } + } + + } + } else { + var1 = GraphicDefinition.incomingBuffer.getByte((byte)-71); + var2 = Class65.currentChunkX - -(var1 >> 4 & 7); + var3 = (var1 & 7) + Class107.currentChunkY; + var4 = var2 + GraphicDefinition.incomingBuffer.getByte(); + var5 = GraphicDefinition.incomingBuffer.getByte() + var3; + var6 = GraphicDefinition.incomingBuffer.getShort((byte)67); + var7 = GraphicDefinition.incomingBuffer.getShort(1); + var8 = 4 * GraphicDefinition.incomingBuffer.getByte((byte)-109); + var28 = GraphicDefinition.incomingBuffer.getByte((byte)-50) * 4; + var10 = GraphicDefinition.incomingBuffer.getShort(1); + var11 = GraphicDefinition.incomingBuffer.getShort(1); + var35 = GraphicDefinition.incomingBuffer.getByte((byte)-48); + var13 = GraphicDefinition.incomingBuffer.getByte((byte)-35); + if(255 == var35) { + var35 = -1; + } + + if(~var2 <= -1 && var3 >= 0 && -105 < ~var2 && 104 > var3 && ~var4 <= -1 && var5 >= 0 && -105 < ~var4 && 104 > var5 && -65536 != ~var7) { + var5 = var5 * 128 + 64; + var3 = 128 * var3 + 64; + var2 = 128 * var2 + 64; + var4 = 128 * var4 + 64; + var36 = new Class140_Sub6(var7, WorldListCountry.localPlane, var2, var3, Class121.method1736(WorldListCountry.localPlane, 1, var2, var3) + -var8, var10 + Class44.anInt719, var11 + Class44.anInt719, var35, var13, var6, var28); + var36.method2024(var5, 1, Class44.anInt719 + var10, Class121.method1736(WorldListCountry.localPlane, 1, var4, var5) - var28, var4); + Class3_Sub13_Sub30.aClass61_3364.method1215(true, new Class3_Sub28_Sub19(var36)); + } + + } + } + } else { + var1 = GraphicDefinition.incomingBuffer.getByteS(true); + var2 = ((var1 & 125) >> 4) + Class65.currentChunkX; + var3 = Class107.currentChunkY + (7 & var1); + var4 = GraphicDefinition.incomingBuffer.getByteS(true); + var5 = var4 >> 2; + var6 = 3 & var4; + var7 = Class75.anIntArray1107[var5]; + var8 = GraphicDefinition.incomingBuffer.getLEShort(-104); + if('\uffff' == var8) { + var8 = -1; + } + + Class50.method1131(WorldListCountry.localPlane, 125, var6, var5, var3, var7, var2, var8); + } + } + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "g.G(" + var0 + ')'); + } + } + + static final void method1039(int var0, CacheIndex var1) { + try { + Class96.anInt1352 = var1.getArchiveForName(Class140_Sub2.aClass94_2700, (byte)-30); + Class75_Sub2.anInt2643 = var1.getArchiveForName(WorldListCountry.aClass94_504, (byte)-30); + Class3_Sub13_Sub11.anInt3132 = var1.getArchiveForName(Class3_Sub13_Sub11.aClass94_3138, (byte)-30); + Class168.anInt2104 = var1.getArchiveForName(Class151_Sub1.aClass94_2959, (byte)-30); + Class3_Sub13_Sub23_Sub1.hitMarkIndex = var1.getArchiveForName(Class3_Sub13_Sub31.aClass94_3370, (byte)-30); + Client.anInt2195 = var1.getArchiveForName(Class164_Sub1.aClass94_3008, (byte)-30); + Node.anInt2575 = var1.getArchiveForName(Class72.aClass94_1070, (byte)-30); + if(var0 != 208) { + anInt670 = 0; + } + + RenderAnimationDefinition.anInt380 = var1.getArchiveForName(Class134.aClass94_1764, (byte)-30); + Class3_Sub13_Sub29.anInt3356 = var1.getArchiveForName(Class54.aClass94_871, (byte)-30); + Class129_Sub1.anInt2689 = var1.getArchiveForName(Class113.aClass94_1556, (byte)-30); + Class3_Sub13_Sub4.anInt3061 = var1.getArchiveForName(Class3_Sub13_Sub38.aClass94_3452, (byte)-30); + Class75_Sub1.anInt2633 = var1.getArchiveForName(Class3_Sub13_Sub14.aClass94_3168, (byte)-30); + Class40.anInt678 = var1.getArchiveForName(Class113.aClass94_1567, (byte)-30); + Class3_Sub15.anInt2436 = var1.getArchiveForName(Class148.aClass94_1913, (byte)-30); + Class3_Sub28_Sub18.anInt3757 = var1.getArchiveForName(Class3_Sub28_Sub4.aClass94_3576, (byte)-30); + Class45.anInt735 = var1.getArchiveForName(Class140_Sub2.aClass94_2702, (byte)-30); + Class93.anInt1325 = var1.getArchiveForName(Class168.aClass94_2089, (byte)-30); + Class3_Sub18.anInt2471 = var1.getArchiveForName(Class7.aClass94_2164, (byte)-30); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "g.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub1.java new file mode 100644 index 000000000..0f7c8f6a5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub1.java @@ -0,0 +1,237 @@ +package org.runite.jagex; + +final class Class3_Sub1 extends Class3 { + + int anInt2202; + static CacheIndex interfaceScriptsIndex; + static int anInt2204; + int anInt2205; + private static RSString aClass94_2206 = RSString.createRSString("white:"); + static RSString aClass94_2207 = RSString.createRSString("brillant2:"); + static int anInt2208 = -1; + static int[] anIntArray2209 = new int[]{2, 2, 4, 2, 1, 8, 4, 1, 4, 4, 2, 1, 1, 1, 4, 1}; + static RSString aClass94_2210 = aClass94_2206; + static int localIndex = -1; + static int anInt2212 = 0; + static int[] anIntArray2213 = new int[]{16776960, 16711680, '\uff00', '\uffff', 16711935, 16777215}; + static RSString aClass94_2214 = aClass94_2206; + + + static final void method90(int var0) { + try { + if(HDToolKit.highDetail) { + if(!Class3_Sub13_Sub34.aBoolean3416) { + Class3_Sub2[][][] var1 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638; + if(var0 != 1) { + aClass94_2214 = (RSString)null; + } + + for(int var2 = 0; var2 < var1.length; ++var2) { + Class3_Sub2[][] var3 = var1[var2]; + + for(int var4 = 0; ~var3.length < ~var4; ++var4) { + for(int var5 = 0; var3[var4].length > var5; ++var5) { + Class3_Sub2 var6 = var3[var4][var5]; + if(var6 != null) { + Class140_Sub1_Sub1 var7; + if(var6.aClass12_2230 != null && var6.aClass12_2230.object instanceof Class140_Sub1_Sub1) { + var7 = (Class140_Sub1_Sub1)var6.aClass12_2230.object; + if(~(var6.aClass12_2230.aLong328 & Long.MIN_VALUE) == -1L) { + var7.method1920(false, true, true, true, false, true, true); + } else { + var7.method1920(true, true, true, true, true, true, true); + } + } + + if(null != var6.aClass19_2233) { + if(var6.aClass19_2233.aClass140_429 instanceof Class140_Sub1_Sub1) { + var7 = (Class140_Sub1_Sub1)var6.aClass19_2233.aClass140_429; + if(0L == (var6.aClass19_2233.aLong428 & Long.MIN_VALUE)) { + var7.method1920(false, true, true, true, false, true, true); + } else { + var7.method1920(true, true, true, true, true, true, true); + } + } + + if(var6.aClass19_2233.aClass140_423 instanceof Class140_Sub1_Sub1) { + var7 = (Class140_Sub1_Sub1)var6.aClass19_2233.aClass140_423; + if(-1L != ~(Long.MIN_VALUE & var6.aClass19_2233.aLong428)) { + var7.method1920(true, true, true, true, true, true, true); + } else { + var7.method1920(false, true, true, true, false, true, true); + } + } + } + + if(var6.aClass70_2234 != null) { + if(var6.aClass70_2234.aClass140_1049 instanceof Class140_Sub1_Sub1) { + var7 = (Class140_Sub1_Sub1)var6.aClass70_2234.aClass140_1049; + if(-1L != ~(var6.aClass70_2234.aLong1048 & Long.MIN_VALUE)) { + var7.method1920(true, true, true, true, true, true, true); + } else { + var7.method1920(false, true, true, true, false, true, true); + } + } + + if(var6.aClass70_2234.aClass140_1052 instanceof Class140_Sub1_Sub1) { + var7 = (Class140_Sub1_Sub1)var6.aClass70_2234.aClass140_1052; + if(~(Long.MIN_VALUE & var6.aClass70_2234.aLong1048) != -1L) { + var7.method1920(true, true, true, true, true, true, true); + } else { + var7.method1920(false, true, true, true, false, true, true); + } + } + } + + for(int var10 = 0; ~var10 > ~var6.anInt2223; ++var10) { + if(var6.aClass25Array2221[var10].aClass140_479 instanceof Class140_Sub1_Sub1) { + Class140_Sub1_Sub1 var8 = (Class140_Sub1_Sub1)var6.aClass25Array2221[var10].aClass140_479; + if(-1L == ~(Long.MIN_VALUE & var6.aClass25Array2221[var10].aLong498)) { + var8.method1920(false, true, true, true, false, true, true); + } else { + var8.method1920(true, true, true, true, true, true, true); + } + } + } + } + } + } + } + + Class3_Sub13_Sub34.aBoolean3416 = true; + } + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "bf.D(" + var0 + ')'); + } + } + + public static void method91(byte var0) { + try { + anIntArray2213 = null; + if(var0 <= 110) { + method90(-74); + } + + interfaceScriptsIndex = null; + anIntArray2209 = null; + aClass94_2206 = null; + aClass94_2210 = null; + aClass94_2207 = null; + aClass94_2214 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bf.P(" + var0 + ')'); + } + } + + final boolean method92(int var1, byte var2) { + try { + int var3 = 13 / ((-60 - var2) / 46); + return 0 != (this.anInt2205 >> 1 + var1 & 1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bf.C(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method93(int var1) { + try { + return var1 != 572878952?true:0 != (572878952 & this.anInt2205) >> 29; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.S(" + var1 + ')'); + } + } + + final int method94(byte var1) { + try { + if(var1 != -74) { + this.method96(90); + } + + return this.anInt2205 >> 18 & 7; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.A(" + var1 + ')'); + } + } + + final boolean method95(int var1) { + try { + if(var1 != -13081) { + anInt2212 = 71; + } + + return ~(1 & this.anInt2205) != -1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.Q(" + var1 + ')'); + } + } + + final boolean method96(int var1) { + try { + return var1 != -2063688673?false:(this.anInt2205 >> 31 & 1) != 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.T(" + var1 + ')'); + } + } + + final boolean method97(int var1) { + try { + return var1 != -20710?true:0 != (1 & this.anInt2205 >> 22); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.R(" + var1 + ')'); + } + } + + Class3_Sub1(int var1, int var2) { + try { + this.anInt2202 = var2; + this.anInt2205 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bf.(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method98(boolean var1) { + try { + if(var1) { + anIntArray2209 = (int[])null; + } + + return -1 != ~(this.anInt2205 >> 21 & 1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.E(" + var1 + ')'); + } + } + + final boolean method99(int var1) { + try { + if(var1 != 31595) { + interfaceScriptsIndex = (CacheIndex)null; + } + + return -1 != ~((1738913629 & this.anInt2205) >> 30); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.F(" + var1 + ')'); + } + } + + final boolean method100(byte var1) { + try { + return var1 != -9?true:(this.anInt2205 & 455226656) >> 28 != 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.O(" + var1 + ')'); + } + } + + final int method101(int var1) { + try { + if(var1 > -51) { + anInt2208 = -42; + } + + return Class3_Sub28_Sub15.method630((byte)-34, this.anInt2205); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bf.B(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub10.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub10.java new file mode 100644 index 000000000..26545a839 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub10.java @@ -0,0 +1,104 @@ +package org.runite.jagex; + +final class Class3_Sub10 extends Class3 { + + static RSString aClass94_2336 = RSString.createRSString("M"); + static int anInt2337; + static int[] anIntArray2338 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; + static byte[][][] aByteArrayArrayArray2339; + static RSString aClass94_2340 = RSString.createRSString("Bitte warten Sie)3)3)3"); + RSString aClass94_2341; + + + static final void method138(RSString var0, int var1) { + try { + Class66.method1250(var1 ^ 93, false); + Class75.method1339(var0, var1 + var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hb.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method139(int var0) { + try { + if(var0 >= 63) { + Canvas_Sub1.aClass93_21.method1524(3); + Class99.aClass93_1401.method1524(3); + Class3_Sub28_Sub7_Sub1.aClass93_4051.method1524(3); + Class154.aClass93_1965.method1524(3); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hb.D(" + var0 + ')'); + } + } + + static final boolean method140(int var0, int var1) { + try { + int var2 = -11 / ((-29 - var1) / 49); + return ~var0 <= -1 && Class3_Sub24_Sub4.aBooleanArray3503.length > var0?Class3_Sub24_Sub4.aBooleanArray3503[var0]:false; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hb.A(" + var0 + ',' + var1 + ')'); + } + } + + static final RenderAnimationDefinition getRenderAnimationDefinition(boolean var0, int renderAnimationId) { + try { + RenderAnimationDefinition def = (RenderAnimationDefinition)Class154.aClass93_1955.get((long)renderAnimationId, (byte)121); + if(def == null) { + byte[] var3 = Class97.aClass153_1372.getFile(32, (byte)-122, renderAnimationId); + if(var0) { + aByteArrayArrayArray2339 = (byte[][][])((byte[][][])null); + } + + def = new RenderAnimationDefinition(); + if(var3 != null) { + def.parse(-1, new RSByteBuffer(var3)); + } + + def.method899(96); + Class154.aClass93_1955.put((byte)-96, def, (long)renderAnimationId); + return def; + } else { + return def; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hb.E(" + var0 + ',' + renderAnimationId + ')'); + } + } + + static final void method142(boolean var0) { + try { + if(!var0) { + aByteArrayArrayArray2339 = (byte[][][])((byte[][][])null); + } + + Class158_Sub1.aClass93_2982.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hb.C(" + var0 + ')'); + } + } + + public static void method143(int var0) { + try { + aClass94_2340 = null; + anIntArray2338 = null; + aClass94_2336 = null; + if(var0 <= -16) { + aByteArrayArrayArray2339 = (byte[][][])null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hb.B(" + var0 + ')'); + } + } + + public Class3_Sub10() {} + + Class3_Sub10(RSString var1, int var2) { + try { + this.aClass94_2341 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hb.(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub11.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub11.java new file mode 100644 index 000000000..4eadb9bfc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub11.java @@ -0,0 +1,352 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import javax.media.opengl.GL; + +final class Class3_Sub11 extends Class3 { + + int anInt2342 = 0; + int anInt2343 = 0; + int anInt2344 = 0; + private ByteBuffer aByteBuffer2345; + private float[] aFloatArray2346; + private boolean aBoolean2347; + private int[] anIntArray2348; + private int[] anIntArray2349; + private int[] anIntArray2350; + int anInt2351; + private int[] anIntArray2352; + private Class130 aClass130_2353; + private float[] aFloatArray2354; + int anInt2355; + private int anInt2356 = 0; + private int[][] anIntArrayArray2357; + private int[] anIntArray2358; + private int anInt2359 = 0; + private int[][] anIntArrayArray2360; + private static ByteBuffer aByteBuffer2361; + private static RSByteBuffer aClass3_Sub30_2362; + private Class156 aClass156_2363; + boolean aBoolean2364; + private float[] aFloatArray2365; + private int anInt2366 = 0; + private int[] anIntArray2367; + private static ByteBuffer aByteBuffer2368; + private float[] aFloatArray2369; + private boolean[] aBooleanArray2370; + private int[] anIntArray2371; + private static RSByteBuffer aClass3_Sub30_2372; + private float aFloat2373; + + + static final void method144() { + aClass3_Sub30_2372 = null; + aClass3_Sub30_2362 = null; + aByteBuffer2368 = null; + aByteBuffer2361 = null; + } + + final void method145() { + this.anIntArray2371 = new int[this.anInt2342]; + this.anIntArray2358 = new int[this.anInt2342]; + this.anIntArray2352 = new int[this.anInt2342]; + if(this.aBoolean2347) { + this.aFloatArray2346 = new float[this.anInt2342]; + } + + this.anIntArray2348 = new int[this.anInt2342]; + this.aFloatArray2369 = new float[this.anInt2342]; + this.aFloatArray2365 = new float[this.anInt2342]; + this.aFloatArray2354 = new float[this.anInt2342]; + this.anIntArray2350 = new int[this.anInt2344]; + this.anIntArray2349 = new int[this.anInt2344]; + this.anIntArray2367 = new int[this.anInt2344]; + this.anIntArrayArray2357 = new int[this.anInt2344][]; + this.aClass130_2353 = new Class130(Class95.method1585((byte)123, this.anInt2342)); + if(this.aBoolean2364) { + this.anIntArrayArray2360 = new int[this.anInt2344][]; + this.aBooleanArray2370 = new boolean[this.anInt2344]; + } + + } + + final int method146(int var1, int var2, int var3, float var4, float var5, float var6, int var7, float var8) { + long var9 = 0L; + if((var1 & 127) == 0 || (var3 & 127) == 0) { + var9 = (long)(var1 + (var3 << 16)) + ((long)var7 << 32); + Class3_Sub18 var11 = (Class3_Sub18)this.aClass130_2353.method1780(var9, 0); + if(var11 != null) { + if(var2 < this.anIntArray2358[var11.anInt2467]) { + this.anIntArray2358[var11.anInt2467] = var2; + } + + return var11.anInt2467; + } + } + + this.anIntArray2371[this.anInt2343] = var1; + this.anIntArray2358[this.anInt2343] = var2; + this.anIntArray2352[this.anInt2343] = var3; + if(this.aBoolean2347) { + this.aFloatArray2346[this.anInt2343] = var8; + } + + this.aFloatArray2369[this.anInt2343] = var4; + this.aFloatArray2365[this.anInt2343] = var5; + this.aFloatArray2354[this.anInt2343] = var6; + this.anIntArray2348[this.anInt2343] = var7; + if(var9 != 0L) { + this.aClass130_2353.method1779(1, new Class3_Sub18(this.anInt2343), var9); + } + + return this.anInt2343++; + } + + public static void method147() { + aClass3_Sub30_2372 = null; + aClass3_Sub30_2362 = null; + aByteBuffer2368 = null; + aByteBuffer2361 = null; + } + + final void method148() { + RSByteBuffer var1 = new RSByteBuffer((this.aBoolean2347?40:36) * this.anInt2343); + + for(int var2 = 0; var2 < this.anInt2343; ++var2) { + if(HDToolKit.aBoolean1790) { + var1.method801(881, (float)this.anIntArray2371[var2]); + var1.method801(881, (float)this.anIntArray2358[var2]); + var1.method801(881, (float)this.anIntArray2352[var2]); + var1.putInt(-123, this.anIntArray2348[var2]); + var1.method801(881, this.aFloatArray2369[var2]); + var1.method801(881, this.aFloatArray2365[var2]); + var1.method801(881, this.aFloatArray2354[var2]); + var1.method801(881, (float)this.anIntArray2371[var2] / this.aFloat2373); + var1.method801(881, (float)this.anIntArray2352[var2] / this.aFloat2373); + if(this.aBoolean2347) { + var1.method801(881, this.aFloatArray2346[var2]); + } + } else { + var1.method762((float)this.anIntArray2371[var2], (byte)94); + var1.method762((float)this.anIntArray2358[var2], (byte)121); + var1.method762((float)this.anIntArray2352[var2], (byte)101); + var1.putInt(-124, this.anIntArray2348[var2]); + var1.method762(this.aFloatArray2369[var2], (byte)121); + var1.method762(this.aFloatArray2365[var2], (byte)117); + var1.method762(this.aFloatArray2354[var2], (byte)77); + var1.method762((float)this.anIntArray2371[var2] / this.aFloat2373, (byte)97); + var1.method762((float)this.anIntArray2352[var2] / this.aFloat2373, (byte)101); + if(this.aBoolean2347) { + var1.method762(this.aFloatArray2346[var2], (byte)126); + } + } + } + + if(HDToolKit.aBoolean1813) { + ByteBuffer var3 = ByteBuffer.wrap(var1.buffer, 0, var1.index); + this.aClass156_2363 = new Class156(); + this.aClass156_2363.method2172(var3); + } else { + this.aByteBuffer2345 = ByteBuffer.allocateDirect(var1.index).order(ByteOrder.nativeOrder()); + this.aByteBuffer2345.put(var1.buffer, 0, var1.index); + this.aByteBuffer2345.flip(); + } + + this.anIntArray2371 = null; + this.anIntArray2358 = null; + this.anIntArray2352 = null; + this.anIntArray2348 = null; + this.aFloatArray2369 = null; + this.aFloatArray2365 = null; + this.aFloatArray2354 = null; + this.aClass130_2353 = null; + this.aFloatArray2346 = null; + } + + final void method149(Class3_Sub2[][][] var1, float var2, boolean var3) { + if(aClass3_Sub30_2372 != null && aClass3_Sub30_2372.buffer.length >= this.anInt2359 * 4) { + aClass3_Sub30_2372.index = 0; + } else { + aClass3_Sub30_2372 = new RSByteBuffer(this.anInt2359 * 4); + } + + if(aClass3_Sub30_2362 != null && aClass3_Sub30_2362.buffer.length >= this.anInt2356 * 4) { + aClass3_Sub30_2362.index = 0; + } else { + aClass3_Sub30_2362 = new RSByteBuffer(this.anInt2356 * 4); + } + + int var4; + Class3_Sub2 var5; + RSByteBuffer var6; + int[] var7; + int[] var8; + int var9; + int var12; + if(HDToolKit.aBoolean1790) { + for(var4 = 0; var4 < this.anInt2366; ++var4) { + var5 = var1[this.anIntArray2367[var4]][this.anIntArray2350[var4]][this.anIntArray2349[var4]]; + if(var5 != null && var5.aBoolean2222) { + var7 = this.anIntArrayArray2357[var4]; + if(this.aBoolean2364) { + var8 = this.anIntArrayArray2360[var4]; + if(var8 != null) { + for(var9 = 0; var9 < var8.length; ++var9) { + aClass3_Sub30_2362.putInt(-124, var8[var9]); + } + } + + var6 = this.aBooleanArray2370[var4]?aClass3_Sub30_2362:aClass3_Sub30_2372; + } else { + var6 = aClass3_Sub30_2372; + } + + for(var12 = 1; var12 < var7.length - 1; ++var12) { + var6.putInt(-128, var7[0]); + var6.putInt(-123, var7[var12]); + var6.putInt(-123, var7[var12 + 1]); + } + } + } + } else { + for(var4 = 0; var4 < this.anInt2366; ++var4) { + var5 = var1[this.anIntArray2367[var4]][this.anIntArray2350[var4]][this.anIntArray2349[var4]]; + if(var5 != null && var5.aBoolean2222) { + var7 = this.anIntArrayArray2357[var4]; + if(this.aBoolean2364) { + var8 = this.anIntArrayArray2360[var4]; + if(var8 != null) { + for(var9 = 0; var9 < var8.length; ++var9) { + aClass3_Sub30_2362.method757(var8[var9], 79); + } + } + + var6 = this.aBooleanArray2370[var4]?aClass3_Sub30_2362:aClass3_Sub30_2372; + } else { + var6 = aClass3_Sub30_2372; + } + + for(var12 = 1; var12 < var7.length - 1; ++var12) { + var6.method757(var7[0], 84); + var6.method757(var7[var12], 103); + var6.method757(var7[var12 + 1], 82); + } + } + } + } + + if(aClass3_Sub30_2372.index != 0 || aClass3_Sub30_2362.index != 0) { + GL var10 = HDToolKit.gl; + if(this.anInt2351 != -1 && !var3) { + Class51.anInterface2_838.method8(this.anInt2351, true); + } else { + HDToolKit.bindTexture2D(-1); + Class3_Sub28_Sub4.method551(0, 0, 0); + } + + int var11 = this.aBoolean2347?40:36; + if(this.aClass156_2363 != null) { + this.aClass156_2363.method2169(); + var10.glVertexPointer(3, 5126, var11, 0L); + var10.glColorPointer(4, 5121, var11, 12L); + if(Class106.aBoolean1441) { + var10.glNormalPointer(5126, var11, 16L); + } + + var10.glTexCoordPointer(2, 5126, var11, 28L); + if(this.aBoolean2347) { + var10.glClientActiveTexture(Class165.method2252()); + var10.glTexCoordPointer(1, 5126, var11, 36L); + var10.glClientActiveTexture('\u84c0'); + } + } else { + if(HDToolKit.aBoolean1813) { + var10.glBindBufferARB('\u8892', 0); + } + + this.aByteBuffer2345.position(0); + var10.glVertexPointer(3, 5126, var11, this.aByteBuffer2345); + this.aByteBuffer2345.position(12); + var10.glColorPointer(4, 5121, var11, this.aByteBuffer2345); + if(Class106.aBoolean1441) { + this.aByteBuffer2345.position(16); + var10.glNormalPointer(5126, var11, this.aByteBuffer2345); + } + + this.aByteBuffer2345.position(28); + var10.glTexCoordPointer(2, 5126, var11, this.aByteBuffer2345); + if(this.aBoolean2347) { + var10.glClientActiveTexture(Class165.method2252()); + this.aByteBuffer2345.position(36); + var10.glTexCoordPointer(1, 5126, var11, this.aByteBuffer2345); + var10.glClientActiveTexture('\u84c0'); + } + } + + if(HDToolKit.aBoolean1813) { + var10.glBindBufferARB('\u8893', 0); + } + + if(aClass3_Sub30_2372.index != 0) { + if(aByteBuffer2368 != null && aByteBuffer2368.capacity() >= aClass3_Sub30_2372.index) { + aByteBuffer2368.clear(); + } else { + aByteBuffer2368 = ByteBuffer.allocateDirect(aClass3_Sub30_2372.index).order(ByteOrder.nativeOrder()); + } + + aByteBuffer2368.put(aClass3_Sub30_2372.buffer, 0, aClass3_Sub30_2372.index); + aByteBuffer2368.flip(); + HDToolKit.method1832(var2); + var10.glDrawElements(4, aClass3_Sub30_2372.index / 4, 5125, aByteBuffer2368); + } + + if(aClass3_Sub30_2362.index != 0) { + if(aByteBuffer2361 != null && aByteBuffer2361.capacity() >= aClass3_Sub30_2362.index) { + aByteBuffer2361.clear(); + } else { + aByteBuffer2361 = ByteBuffer.allocateDirect(aClass3_Sub30_2362.index).order(ByteOrder.nativeOrder()); + } + + aByteBuffer2361.put(aClass3_Sub30_2362.buffer, 0, aClass3_Sub30_2362.index); + aByteBuffer2361.flip(); + HDToolKit.method1832(var2 - 100.0F); + HDToolKit.method1851(); + var10.glDrawElements(4, aClass3_Sub30_2362.index / 4, 5125, aByteBuffer2361); + HDToolKit.method1830(); + } + + } + } + + final int method150(int var1, int var2, int var3, int[] var4, int[] var5, boolean var6) { + if(this.aBoolean2364) { + this.anIntArrayArray2360[this.anInt2366] = var5; + this.aBooleanArray2370[this.anInt2366] = var6; + if(var5 != null) { + this.anInt2356 += var5.length; + } + + if(var6) { + this.anInt2356 += 3 * (var4.length - 2); + } else { + this.anInt2359 += 3 * (var4.length - 2); + } + } else { + this.anInt2359 += 3 * (var4.length - 2); + } + + this.anIntArray2367[this.anInt2366] = var1; + this.anIntArray2350[this.anInt2366] = var2; + this.anIntArray2349[this.anInt2366] = var3; + this.anIntArrayArray2357[this.anInt2366] = var4; + return this.anInt2366++; + } + + Class3_Sub11(int var1, float var2, boolean var3, boolean var4, int var5) { + this.anInt2351 = var1; + this.aFloat2373 = var2; + this.aBoolean2364 = var3; + this.aBoolean2347 = var4; + this.anInt2355 = var5; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub12.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub12.java new file mode 100644 index 000000000..3592602b6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub12.java @@ -0,0 +1,8 @@ +package org.runite.jagex; + +abstract class Class3_Sub12 extends Class3 { + + int anInt2374; + + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub12_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub12_Sub1.java new file mode 100644 index 000000000..97138afb5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub12_Sub1.java @@ -0,0 +1,42 @@ +package org.runite.jagex; + +final class Class3_Sub12_Sub1 extends Class3_Sub12 { + + byte[] aByteArray3030; + boolean aBoolean3031; + int anInt3032; + int anInt3033; + int anInt3034; + + + final Class3_Sub12_Sub1 method151(Class157 var1) { + this.aByteArray3030 = var1.method2173(this.aByteArray3030, (byte)-105); + this.anInt3034 = var1.method2177(this.anInt3034, (byte)90); + if(this.anInt3033 == this.anInt3032) { + this.anInt3033 = this.anInt3032 = var1.method2178(false, this.anInt3033); + } else { + this.anInt3033 = var1.method2178(false, this.anInt3033); + this.anInt3032 = var1.method2178(false, this.anInt3032); + if(this.anInt3033 == this.anInt3032) { + --this.anInt3033; + } + } + + return this; + } + + Class3_Sub12_Sub1(int var1, byte[] var2, int var3, int var4) { + this.anInt3034 = var1; + this.aByteArray3030 = var2; + this.anInt3033 = var3; + this.anInt3032 = var4; + } + + Class3_Sub12_Sub1(int var1, byte[] var2, int var3, int var4, boolean var5) { + this.anInt3034 = var1; + this.aByteArray3030 = var2; + this.anInt3033 = var3; + this.anInt3032 = var4; + this.aBoolean3031 = var5; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13.java new file mode 100644 index 000000000..48a5b619c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13.java @@ -0,0 +1,259 @@ +package org.runite.jagex; +import java.awt.Graphics; + +abstract class Class3_Sub13 extends Class3 { + + boolean aBoolean2375; + Class97 aClass97_2376; + Class3_Sub13[] aClass3_Sub13Array2377; + static int anInt2378 = 0; + static Class3_Sub28_Sub17 aClass3_Sub28_Sub17_2379; + static RSString aClass94_2380 = RSString.createRSString("::shiftclick"); + int anInt2381; + Class114 aClass114_2382; + static int anInt2383 = 0; + static int anInt2384 = 0; + static RSString aClass94_2385 = RSString.createRSString("::replacecanvas"); + static int[] anIntArray2386 = new int[]{1, -1, -1, 1}; + + + final int[] method152(int var1, int var2, int var3) { + try { + if(var3 != 32755) { + anInt2383 = 121; + } + + return this.aClass3_Sub13Array2377[var1].aBoolean2375?this.aClass3_Sub13Array2377[var1].method154(var2, (byte)-118):this.aClass3_Sub13Array2377[var1].method166(-1, var2)[0]; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "j.RA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method153(int var0) { + try { + if(var0 >= 91) { + Class3_Sub26.aClass61_2557 = new Class61(); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "j.QA(" + var0 + ')'); + } + } + + int[] method154(int var1, byte var2) { + try { + int var3 = -71 / ((30 - var2) / 36); + throw new IllegalStateException("This operation does not have a monochrome output"); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "j.D(" + var1 + ',' + var2 + ')'); + } + } + + int method155(byte var1) { + try { + if(var1 != 19) { + this.method152(-80, 116, -73); + } + + return -1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "j.HA(" + var1 + ')'); + } + } + + public static void method156(int var0) { + try { + if(var0 != 2) { + method153(18); + } + + anIntArray2386 = null; + aClass94_2385 = null; + aClass94_2380 = null; + aClass3_Sub28_Sub17_2379 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "j.PA(" + var0 + ')'); + } + } + + void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.aClass3_Sub13Array2377 = (Class3_Sub13[])null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "j.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + void method158(int var1) { + try { + if(var1 != 16251) { + anInt2378 = 12; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "j.P(" + var1 + ')'); + } + } + + int method159(int var1) { + try { + if(var1 != 4) { + method164((byte)-98, true, (RSString)null); + } + + return -1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "j.GA(" + var1 + ')'); + } + } + + final void method160(int var1, int var2, int var3) { + try { + if(var3 != 250) { + this.aClass114_2382 = (Class114)null; + } + + int var4 = 255 == this.anInt2381?var1:this.anInt2381; + if(this.aBoolean2375) { + this.aClass114_2382 = new Class114(var4, var1, var2); + } else { + this.aClass97_2376 = new Class97(var4, var1, var2); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "j.SA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + void method161(byte var1) { + try { + if(var1 != -45) { + anInt2383 = 16; + } + + if(!this.aBoolean2375) { + this.aClass97_2376.method1590((byte)-22); + this.aClass97_2376 = null; + } else { + this.aClass114_2382.method1706(1127165736); + this.aClass114_2382 = null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "j.BA(" + var1 + ')'); + } + } + + final int[][] method162(int var1, int var2, byte var3) { + try { + if(var3 > -45) { + return (int[][])((int[][])null); + } else if(!this.aClass3_Sub13Array2377[var2].aBoolean2375) { + return this.aClass3_Sub13Array2377[var2].method166(-1, var1); + } else { + int[] var4 = this.aClass3_Sub13Array2377[var2].method154(var1, (byte)-105); + int[][] var5 = new int[][]{var4, var4, var4}; + return var5; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "j.UA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class3_Sub28_Sub17_Sub1 method163(byte[] var0, int var1) { + try { + if(var0 == null) { + return null; + } else { + if(var1 != 25208) { + anInt2378 = 5; + } + + Class3_Sub28_Sub17_Sub1 var2 = new Class3_Sub28_Sub17_Sub1(var0, Class164.anIntArray2048, RSByteBuffer.anIntArray2591, Class140_Sub7.anIntArray2931, Class3_Sub13_Sub6.anIntArray3076, Class163_Sub1.aByteArrayArray2987); + Class39.method1035((byte)126); + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "j.WA(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method164(byte var0, boolean var1, RSString var2) { + try { + if(var0 <= -11) { + byte var3 = 4; + int var4 = var3 + 6; + int var5 = var3 + 6; + int var6 = Class126.aClass3_Sub28_Sub17_1669.method680(var2, 250); + int var7 = Class126.aClass3_Sub28_Sub17_1669.method684(var2, 250) * 13; + if(!HDToolKit.highDetail) { + Class74.method1323(var4 - var3, -var3 + var5, var3 + var6 - -var3, var3 + var3 + var7, 0); + Class74.method1311(var4 + -var3, var5 - var3, var3 + var3 + var6, var3 + var3 + var7, 16777215); + } else { + Class22.method934(var4 - var3, -var3 + var5, var3 + var6 - -var3, var3 + var3 + var7, 0); + Class22.method927(-var3 + var4, -var3 + var5, var6 + var3 - -var3, var3 + var7 + var3, 16777215); + } + + Class126.aClass3_Sub28_Sub17_1669.method676(var2, var4, var5, var6, var7, 16777215, -1, 1, 1, 0); + Class75.method1340(var4 + -var3, var6 + (var3 - -var3), (byte)-40, -var3 + var5, var3 + var7 + var3); + if(var1) { + if(HDToolKit.highDetail) { + HDToolKit.method1826(); + } else { + try { + Graphics var8 = Class3_Sub28_Sub12.aCanvas3648.getGraphics(); + Class164_Sub1.aClass158_3009.method2179(0, 0, var8, 0); + } catch (Exception var9) { + Class3_Sub28_Sub12.aCanvas3648.repaint(); + } + } + } else { + Class69.method1282(var4, (byte)-97, var5, var7, var6); + } + + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "j.TA(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + Class3_Sub13(int var1, boolean var2) { + try { + this.aClass3_Sub13Array2377 = new Class3_Sub13[var1]; + this.aBoolean2375 = var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "j.(" + var1 + ',' + var2 + ')'); + } + } + + static final void method165(int var0) { + try { + Class95.aClass3_Sub28_Sub16_1339 = null; + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 = null; + Class50.aClass3_Sub28_Sub16_824 = null; + if(var0 != -7878) { + method164((byte)102, false, (RSString)null); + } + + Class108.aClass3_Sub28_Sub16_1457 = null; + Class3_Sub26.aClass3_Sub28_Sub16_2560 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "j.VA(" + var0 + ')'); + } + } + + int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + return (int[][])((int[][])null); + } else { + throw new IllegalStateException("This operation does not have a colour output"); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "j.T(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub1.java new file mode 100644 index 000000000..bf24fdf0f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub1.java @@ -0,0 +1,206 @@ +package org.runite.jagex; + +import org.runite.Configurations; + + + +final class Class3_Sub13_Sub1 extends Class3_Sub13 { + + static Class3_Sub30_Sub1 outgoingBuffer = new Class3_Sub30_Sub1(5000); + private int anInt3036 = 0; + private int anInt3037 = 1; + private int anInt3038 = 0; + static RSString aClass2323; + static String aString2324; + static RSString aClass2325; + static RSString aClass16_1543; + static RSString aClass94_3039 = RSString.createRSString("0"); + static RSString aClass94_3040 = RSString.createRSString(""); + static Class3_Sub28_Sub5[] aClass3_Sub28_Sub5Array3041 = new Class3_Sub28_Sub5[14]; + + + static final void method167(int var0) { + try { + if(Class3_Sub13_Sub3.aClass148_3049 != null) { + Class148 var1 = Class3_Sub13_Sub3.aClass148_3049; + synchronized(var1) { + Class3_Sub13_Sub3.aClass148_3049 = null; + } + } + + if(var0 != 0) { + method171(119, -44, -76, -104, 29, -65, 34, 18, 104); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ag.B(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub1() { + super(0, true); + } + + public static void method168(int var0) { + try { + aClass94_3040 = null; + if(var0 != -1771542303) { + aClass3_Sub28_Sub5Array3041 = (Class3_Sub28_Sub5[])null; + } + + aClass3_Sub28_Sub5Array3041 = null; + aClass94_3039 = null; + outgoingBuffer = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ag.F(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + int var4; + if(this.aClass114_2382.aBoolean1580) { + var4 = Class163_Sub3.anIntArray2999[var1]; + int var5 = var4 - 2048 >> 1; + + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + int var8 = Class102.anIntArray2125[var6]; + int var9 = -2048 + var8 >> 1; + int var7; + if(~this.anInt3038 != -1) { + int var10 = var9 * var9 - -(var5 * var5) >> 12; + var7 = (int)(Math.sqrt((double)((float)var10 / 4096.0F)) * 4096.0D); + var7 = (int)(3.141592653589793D * (double)(var7 * this.anInt3037)); + } else { + var7 = (var8 + -var4) * this.anInt3037; + } + + var7 -= var7 & -4096; + if(~this.anInt3036 == -1) { + var7 = Class3_Sub13_Sub17.anIntArray3212[(var7 & 4085) >> 4] + 4096 >> 1; + } else if(this.anInt3036 == 2) { + var7 -= 2048; + if(-1 < ~var7) { + var7 = -var7; + } + + var7 = -var7 + 2048 << 1; + } + + var3[var6] = var7; + } + } + + var4 = -64 / ((30 - var2) / 36); + return var3; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ag.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method229(int var0) { + RSByteBuffer buffer = outgoingBuffer; + buffer.putString(0, aClass2323); + for (char c : aString2324.toCharArray()) { + if (c == '-') { + c = ':'; + } + buffer.putByte((byte) -7, c); + } + buffer.putByte((byte) -66, 0); + buffer.putString(0, aClass2325); + } + + static final void method169(int var0) { + try { + Class32.method995(); + if(var0 != 22230) { + method167(124); + } + + for(int var1 = 0; 4 > var1; ++var1) { + Class86.aClass91Array1182[var1].method1496(var0 + -22230); + } + + System.gc(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ag.O(" + var0 + ')'); + } + } + + static final Class method170(int var0, String var1) throws ClassNotFoundException { + try { + if(var0 != 6092) { + aClass3_Sub28_Sub5Array3041 = (Class3_Sub28_Sub5[])null; + } + + return var1.equals("B")?Byte.TYPE:(!var1.equals("I")?(var1.equals("S")?Short.TYPE:(!var1.equals("J")?(var1.equals("Z")?Boolean.TYPE:(var1.equals("F")?Float.TYPE:(var1.equals("D")?Double.TYPE:(var1.equals("C")?Character.TYPE:Class.forName(Configurations.PACKAGE_JAGEX + "." + var1))))):Long.TYPE)):Integer.TYPE); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ag.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final void method158(int var1) { + try { + Class8.method844((byte)-9); + if(var1 != 16251) { + method171(106, -38, 106, 7, -28, -61, 30, -77, -47); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ag.P(" + var1 + ')'); + } + } + + static final void method171(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(var0 != -101) { + method167(-46); + } + + if(Canvas_Sub2.loadInterface(var1, 104)) { + Class47.method1095(var2, var8, var4, GameObject.aClass11ArrayArray1834[var1], var3, -1, var7, var6, (byte)119, var5); + } else { + if(~var5 != 0) { + Class3_Sub28_Sub14.aBooleanArray3674[var5] = true; + } else { + for(int var9 = 0; -101 < ~var9; ++var9) { + Class3_Sub28_Sub14.aBooleanArray3674[var9] = true; + } + } + + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ag.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.method158(10); + } + + if(-1 != ~var1) { + if(1 == var1) { + this.anInt3036 = var2.getByte((byte)-119); + } else if(~var1 == -4) { + this.anInt3037 = var2.getByte((byte)-113); + } + } else { + this.anInt3038 = var2.getByte((byte)-70); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ag.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + + static void method445() { + aClass2323 = RSString.createRSString(System.getProperty("user.name")); + aString2324 = Class39.method132893(); + aClass2325 = Signlink.osName.startsWith("win") ? Class44.method3435() : Class44.method3434(); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub10.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub10.java new file mode 100644 index 000000000..a37ff2b67 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub10.java @@ -0,0 +1,323 @@ +package org.runite.jagex; +import java.awt.Frame; + +final class Class3_Sub13_Sub10 extends Class3_Sub13 { + + static volatile boolean aBoolean3116 = true; + + static boolean[][] aBooleanArrayArray3118 = new boolean[][]{new boolean[0], {true, false, true}, {true, false, false, true}, {false, false, true, true}, {true, true, false}, {false, true, true}, {true, false, false, true}, {false, false, false, true, true}, {false, true, true}, {true, false, true, true, true}, {false, true, true, true, true}, {false, true, true, true, true, false}}; + static RSString aClass94_3119 = RSString.createRSString("vert:"); + private static RSString aClass94_3120 = RSString.createRSString("M"); + static Frame aFrame3121; + static int anInt3122; + static RSString aClass94_3123 = RSString.createRSString("::noclip"); + static RSString aClass94_3124 = aClass94_3120; + static Signlink aClass87_3125; + private int anInt3126 = 2048; + private int anInt3127 = 3072; + private int anInt3128 = 1024; + static RSString aClass94_3117 = aClass94_3120; + + static final int method210(int var0, int var1, int var2, int var3) { + try { + if(~var2 == ~var3) { + return var2; + } else { + int var4 = -var1 + 128; + if(var0 != 18348) { + method213(82, -103, 50, -59, (GameObject)null, 126L, (GameObject)null, (GameObject)null); + } + + int var5 = var1 * ((-16711936 & var3) >>> 7) + var4 * ((-16711936 & var2) >>> 7) & -16711936; + int var6 = var4 * (16711935 & var2) - -((var3 & 16711935) * var1) & -16711936; + return var5 - -(var6 >> 7); + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "fh.O(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var1 != 0) { + if(var1 == 1) { + this.anInt3127 = var2.getShort(1); + } else if(-3 == ~var1) { + this.aBoolean2375 = var2.getByte((byte)-117) == 1; + } + } else { + this.anInt3128 = var2.getShort(1); + } + + if(!var3) { + this.method157(56, (RSByteBuffer)null, true); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fh.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method211(int var0) { + try { + aClass94_3124 = null; + aClass94_3117 = null; + if(var0 != 1024) { + aClass87_3125 = (Signlink)null; + } + + aClass94_3120 = null; + aClass94_3123 = null; + aFrame3121 = null; + aBooleanArrayArray3118 = (boolean[][])null; + aClass94_3119 = null; + aClass87_3125 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fh.C(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = 71 / ((var2 - 30) / 36); + int[] var7 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var4 = this.method152(0, var1, 32755); + + for(int var5 = 0; var5 < Class113.anInt1559; ++var5) { + var7[var5] = this.anInt3128 - -(var4[var5] * this.anInt3126 >> 12); + } + } + + return var7; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "fh.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method212(long var0, int var2) { + try { + if(0L != var0) { + for(int var3 = var2; ~var3 > ~Class3_Sub28_Sub5.anInt3591; ++var3) { + if(Class114.aLongArray1574[var3] == var0) { + ++Class137.anInt1781; + --Class3_Sub28_Sub5.anInt3591; + + for(int var4 = var3; ~Class3_Sub28_Sub5.anInt3591 < ~var4; ++var4) { + Class114.aLongArray1574[var4] = Class114.aLongArray1574[var4 + 1]; + Class3_Sub13_Sub27.aClass94Array3341[var4] = Class3_Sub13_Sub27.aClass94Array3341[1 + var4]; + } + + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(213); + Class3_Sub13_Sub1.outgoingBuffer.putLong(var0, -2037491440); + break; + } + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fh.E(" + var0 + ',' + var2 + ')'); + } + } + + static final void method213(int var0, int var1, int var2, int var3, GameObject var4, long var5, GameObject var7, GameObject var8) { + Class72 var9 = new Class72(); + var9.aClass140_1073 = var4; + var9.anInt1078 = var1 * 128 + 64; + var9.anInt1075 = var2 * 128 + 64; + var9.anInt1068 = var3; + var9.aLong1079 = var5; + var9.aClass140_1067 = var7; + var9.aClass140_1069 = var8; + int var10 = 0; + Class3_Sub2 var11 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var11 != null) { + for(int var12 = 0; var12 < var11.anInt2223; ++var12) { + Class25 var13 = var11.aClass25Array2221[var12]; + if((var13.aLong498 & 4194304L) == 4194304L) { + int var14 = var13.aClass140_479.method1871(); + if(var14 != -32768 && var14 < var10) { + var10 = var14; + } + } + } + } + + var9.anInt1077 = -var10; + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] = new Class3_Sub2(var0, var1, var2); + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass72_2245 = var9; + } + + static final void method214(GameObject var0, int var1, int var2, int var3, int var4, int var5) { + boolean var6 = true; + int var7 = var2; + int var8 = var2 + var4; + int var9 = var3 - 1; + int var10 = var3 + var5; + + for(int var11 = var1; var11 <= var1 + 1; ++var11) { + if(var11 != Class3_Sub17.anInt2456) { + for(int var12 = var7; var12 <= var8; ++var12) { + if(var12 >= 0 && var12 < IOHandler.anInt1234) { + for(int var13 = var9; var13 <= var10; ++var13) { + if(var13 >= 0 && var13 < Class3_Sub13_Sub15.anInt3179 && (!var6 || var12 >= var8 || var13 >= var10 || var13 < var3 && var12 != var2)) { + Class3_Sub2 var14 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var11][var12][var13]; + if(var14 != null) { + int var15 = (Class44.anIntArrayArrayArray723[var11][var12][var13] + Class44.anIntArrayArrayArray723[var11][var12 + 1][var13] + Class44.anIntArrayArrayArray723[var11][var12][var13 + 1] + Class44.anIntArrayArrayArray723[var11][var12 + 1][var13 + 1]) / 4 - (Class44.anIntArrayArrayArray723[var1][var2][var3] + Class44.anIntArrayArrayArray723[var1][var2 + 1][var3] + Class44.anIntArrayArrayArray723[var1][var2][var3 + 1] + Class44.anIntArrayArrayArray723[var1][var2 + 1][var3 + 1]) / 4; + Class70 var16 = var14.aClass70_2234; + if(var16 != null) { + if(var16.aClass140_1049.method1865()) { + var0.method1866(var16.aClass140_1049, (var12 - var2) * 128 + (1 - var4) * 64, var15, (var13 - var3) * 128 + (1 - var5) * 64, var6); + } + + if(var16.aClass140_1052 != null && var16.aClass140_1052.method1865()) { + var0.method1866(var16.aClass140_1052, (var12 - var2) * 128 + (1 - var4) * 64, var15, (var13 - var3) * 128 + (1 - var5) * 64, var6); + } + } + + for(int var17 = 0; var17 < var14.anInt2223; ++var17) { + Class25 var18 = var14.aClass25Array2221[var17]; + if(var18 != null && var18.aClass140_479.method1865() && (var12 == var18.anInt483 || var12 == var7) && (var13 == var18.anInt478 || var13 == var9)) { + int var19 = var18.anInt495 - var18.anInt483 + 1; + int var20 = var18.anInt481 - var18.anInt478 + 1; + var0.method1866(var18.aClass140_479, (var18.anInt483 - var2) * 128 + (var19 - var4) * 64, var15, (var18.anInt478 - var3) * 128 + (var20 - var5) * 64, var6); + } + } + } + } + } + } + } + + --var7; + var6 = false; + } + } + + } + + static final void method215(byte var0, LDIndexedSprite var1) { + try { + short var2 = 256; + int var3 = 0; + if(var0 >= -80) { + aBoolean3116 = true; + } + + while(Class161.anIntArray2026.length > var3) { + Class161.anIntArray2026[var3] = 0; + ++var3; + } + + int var4; + for(var3 = 0; -5001 < ~var3; ++var3) { + var4 = (int)((double)var2 * Math.random() * 128.0D); + Class161.anIntArray2026[var4] = (int)(Math.random() * 284.0D); + } + + int var5; + int var6; + for(var3 = 0; -21 < ~var3; ++var3) { + for(var4 = 1; ~(-1 + var2) < ~var4; ++var4) { + for(var5 = 1; var5 < 127; ++var5) { + var6 = var5 - -(var4 << 7); + OutputStream_Sub1.anIntArray49[var6] = (Class161.anIntArray2026[128 + var6] + Class161.anIntArray2026[-1 + var6] + Class161.anIntArray2026[1 + var6] - -Class161.anIntArray2026[-128 + var6]) / 4; + } + } + + int[] var10 = Class161.anIntArray2026; + Class161.anIntArray2026 = OutputStream_Sub1.anIntArray49; + OutputStream_Sub1.anIntArray49 = var10; + } + + if(var1 != null) { + var3 = 0; + + for(var4 = 0; var1.anInt1468 > var4; ++var4) { + for(var5 = 0; var1.anInt1461 > var5; ++var5) { + if(var1.aByteArray2674[var3++] != 0) { + var6 = var1.anInt1470 + var5 + 16; + int var7 = var1.anInt1464 + (var4 - -16); + int var8 = var6 - -(var7 << 7); + Class161.anIntArray2026[var8] = 0; + } + } + } + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "fh.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + int[][] var3 = this.aClass97_2376.method1594((byte)-118, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-50); + int[] var6 = var4[1]; + int[] var7 = var4[2]; + int[] var5 = var4[0]; + int[] var8 = var3[0]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + + for(int var11 = 0; ~var11 > ~Class113.anInt1559; ++var11) { + var8[var11] = this.anInt3128 - -(this.anInt3126 * var5[var11] >> 12); + var9[var11] = (this.anInt3126 * var6[var11] >> 12) + this.anInt3128; + var10[var11] = this.anInt3128 + (this.anInt3126 * var7[var11] >> 12); + } + } + + if(var1 != -1) { + method211(51); + } + + return var3; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "fh.T(" + var1 + ',' + var2 + ')'); + } + } + + final void method158(int var1) { + try { + if(var1 == 16251) { + this.anInt3126 = this.anInt3127 - this.anInt3128; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fh.P(" + var1 + ')'); + } + } + + public Class3_Sub13_Sub10() { + super(1, false); + } + + static final void method216(RSByteBuffer var0, int var1) { + try { + for(int var2 = 0; ~Class57.activeWorldListSize < ~var2; ++var2) { + int var3 = var0.getSmart(true); + int var4 = var0.getShort(1); + if(~var4 == -65536) { + var4 = -1; + } + + if(null != Class117.worldList[var3]) { + Class117.worldList[var3].anInt722 = var4; + } + } + + if(var1 != -14991) { + aClass94_3123 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fh.Q(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub11.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub11.java new file mode 100644 index 000000000..601aa4ae6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub11.java @@ -0,0 +1,215 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub11 extends Class3_Sub13 { + + private int anInt3129; + static Class93 aClass93_3130 = new Class93(4); + static RSString aClass94_3131 = RSString.createRSString(" "); + static int anInt3132; + static RSString aClass94_3133 = RSString.createRSString(")2"); + private int anInt3134; + private int anInt3135; + static int anInt3136; + static Class47 aClass47_3137 = new Class47(64); + static RSString aClass94_3138 = RSString.createRSString("b12_full"); + static int[] anIntArray3139 = new int[14]; + static RSString aClass94_3140 = RSString.createRSString("overlay2"); + + + private Class3_Sub13_Sub11(int var1) { + super(0, false); + + try { + this.method218((byte)75, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fm.(" + var1 + ')'); + } + } + + public static void method217(int var0) { + try { + aClass94_3138 = null; + aClass94_3133 = null; + aClass94_3140 = null; + aClass93_3130 = null; + anIntArray3139 = null; + aClass94_3131 = null; + if(var0 != 1) { + aClass94_3138 = (RSString)null; + } + + aClass47_3137 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fm.B(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub11() { + this(0); + } + + private final void method218(byte var1, int var2) { + try { + this.anInt3134 = 4080 & var2 >> 4; + this.anInt3135 = var2 << 4 & 4080; + if(var1 == 75) { + this.anInt3129 = (var2 & 16711680) >> 12; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fm.Q(" + var1 + ',' + var2 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + method222(-87, 26, 75, -56, 22, -68); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-123, var2); + if(this.aClass97_2376.aBoolean1379) { + int[] var4 = var3[0]; + int[] var5 = var3[1]; + int[] var6 = var3[2]; + + for(int var7 = 0; ~var7 > ~Class113.anInt1559; ++var7) { + var4[var7] = this.anInt3129; + var5[var7] = this.anInt3134; + var6[var7] = this.anInt3135; + } + } + + return var3; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "fm.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method219(boolean var0, int var1) { + try { + if(var0) { + if(-1 != Class3_Sub28_Sub12.anInt3655) { + Class60.method1208((byte)-128, Class3_Sub28_Sub12.anInt3655); + } + + for(Class3_Sub31 var2 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1776(var1 + -2908); null != var2; var2 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1778(-122)) { + Class3_Sub13_Sub18.method254(true, var2, false); + } + + Class3_Sub28_Sub12.anInt3655 = -1; + Class3_Sub13_Sub17.aClass130_3208 = new Class130(8); + Class3_Sub7.method122(var1 + -2918); + Class3_Sub28_Sub12.anInt3655 = Class3_Sub22.anInt2529; + Class124.method1746(false, (byte)-36); + Class47.method1093(false); + Class3_Sub13_Sub12.method226(Class3_Sub28_Sub12.anInt3655, var1 ^ 2960); + } + + Class3_Sub28_Sub5.anInt3590 = -1; + Class3_Sub13_Sub13.method229(Class161.anInt2027, 20827); + Class102.player = new Player(); + Class102.player.anInt2829 = 3000; + Class102.player.anInt2819 = var1; + if(HDToolKit.highDetail) { + if(-3 == ~Class133.anInt1753) { + NPC.anInt3995 = Canvas_Sub2.anInt30 << 7; + Class77.anInt1111 = Class146.anInt1904 << 7; + } else { + Class3_Sub28_Sub6.d(var1 ^ '\uf447'); + } + + Class3_Sub13_Sub14.method236((byte)64); + Class3_Sub13_Sub6.method195(var1 + 17479); + Class117.method1719(28, 5); + } else { + Class84.method1418(-110, Class140_Sub6.spritesCacheIndex); + Class117.method1719(10, 5); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fm.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method220(boolean var0, int var1, int var2) { + try { + Class46.anInt741 = Class115.aClass86ArrayArray1581[var2][var1].anInt1185; + Class3_Sub13_Sub22.anInt3274 = Class115.aClass86ArrayArray1581[var2][var1].anInt1181; + if(!var0) { + anIntArray3139 = (int[])null; + } + + Class86.anInt1191 = Class115.aClass86ArrayArray1581[var2][var1].anInt1178; + Class92.method1509((float)Class46.anInt741, (float)Class3_Sub13_Sub22.anInt3274, (float)Class86.anInt1191); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fm.C(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method221(int var0, RSString var1, RSString var2, RSString var3, int var4) { + try { + Class3_Sub28_Sub12.sendGameMessage(var0, var4, var1, var3, (byte)50, var2); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "fm.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + method221(-64, (RSString)null, (RSString)null, (RSString)null, 34); + } + + if(-1 == ~var1) { + this.method218((byte)75, var2.getTriByte((byte)82)); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fm.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final boolean method222(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6; + int var7; + if(var1 == var2 && var3 == var4) { + if(!Class8.method846(var0, var1, var3)) { + return false; + } else { + var6 = var1 << 7; + var7 = var3 << 7; + return Class3_Sub13_Sub37.method349(var6 + 1, Class44.anIntArrayArrayArray723[var0][var1][var3] + var5, var7 + 1) && Class3_Sub13_Sub37.method349(var6 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var3] + var5, var7 + 1) && Class3_Sub13_Sub37.method349(var6 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var3 + 1] + var5, var7 + 128 - 1) && Class3_Sub13_Sub37.method349(var6 + 1, Class44.anIntArrayArrayArray723[var0][var1][var3 + 1] + var5, var7 + 128 - 1); + } + } else { + for(var6 = var1; var6 <= var2; ++var6) { + for(var7 = var3; var7 <= var4; ++var7) { + if(Class81.anIntArrayArrayArray1142[var0][var6][var7] == -Class3_Sub28_Sub1.anInt3539) { + return false; + } + } + } + + var6 = (var1 << 7) + 1; + var7 = (var3 << 7) + 2; + int var8 = Class44.anIntArrayArrayArray723[var0][var1][var3] + var5; + if(!Class3_Sub13_Sub37.method349(var6, var8, var7)) { + return false; + } else { + int var9 = (var2 << 7) - 1; + if(!Class3_Sub13_Sub37.method349(var9, var8, var7)) { + return false; + } else { + int var10 = (var4 << 7) - 1; + if(!Class3_Sub13_Sub37.method349(var6, var8, var10)) { + return false; + } else if(!Class3_Sub13_Sub37.method349(var9, var8, var10)) { + return false; + } else { + return true; + } + } + } + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub12.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub12.java new file mode 100644 index 000000000..98a942477 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub12.java @@ -0,0 +1,202 @@ +package org.runite.jagex; +import java.util.zip.CRC32; + +final class Class3_Sub13_Sub12 extends Class3_Sub13 { + + private static RSString aClass94_3141 = RSString.createRSString("Loaded config"); + static RSString aClass94_3142 = aClass94_3141; + static CRC32 aCRC32_3143 = new CRC32(); + static int anInt3144; + static RSString aClass94_3145 = RSString.createRSString(")1 "); + + + static final void method223(boolean var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(~var4 == ~var7) { + IOHandler.method1460(var1, var3, (byte)-113, var6, var7, var2, var5); + } else { + if(!var0) { + method226(87, 8); + } + + if(~(var2 - var7) <= ~Class101.anInt1425 && var7 + var2 <= Class3_Sub28_Sub18.anInt3765 && ~Class159.anInt2020 >= ~(var3 - var4) && Class57.anInt902 >= var3 + var4) { + Class161.method2200(var6, var2, var3, var5, var7, 95, var4, var1); + } else { + Class3_Sub13_Sub34.method329(var7, var6, var5, var1, (byte)-54, var3, var2, var4); + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "fn.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + public Class3_Sub13_Sub12() { + super(1, true); + } + + static final void method224(byte var0, int var1, int var2, int var3, int var4, int var5) { + try { + GameObject.aClass109Array1831[0].method1667(var3, var4); + GameObject.aClass109Array1831[1].method1667(var3, -16 + var5 + var4); + int var8 = 44 % ((var0 - 38) / 57); + int var6 = var5 * (var5 + -32) / var2; + if(var6 < 8) { + var6 = 8; + } + + int var7 = var1 * (-var6 + -32 + var5) / (var2 + -var5); + if(HDToolKit.highDetail) { + Class22.method934(var3, 16 + var4, 16, -32 + var5, Class3_Sub23.anInt2530); + Class22.method934(var3, 16 + var4 + var7, 16, var6, Class25.anInt486); + Class22.method924(var3, var7 + (var4 - -16), var6, Class3_Sub13_Sub31.anInt3377); + Class22.method924(var3 + 1, var7 + 16 + var4, var6, Class3_Sub13_Sub31.anInt3377); + Class22.method922(var3, var7 + 16 + var4, 16, Class3_Sub13_Sub31.anInt3377); + Class22.method922(var3, var7 + var4 + 17, 16, Class3_Sub13_Sub31.anInt3377); + Class22.method924(15 + var3, var4 + (16 - -var7), var6, Class3_Sub2.anInt2243); + Class22.method924(14 + var3, 17 + (var4 - -var7), -1 + var6, Class3_Sub2.anInt2243); + Class22.method922(var3, var6 + 15 + var4 + var7, 16, Class3_Sub2.anInt2243); + Class22.method922(var3 + 1, var4 + 14 - -var7 + var6, 15, Class3_Sub2.anInt2243); + } else { + Class74.method1323(var3, 16 + var4, 16, -32 + var5, Class3_Sub23.anInt2530); + Class74.method1323(var3, var7 + (var4 - -16), 16, var6, Class25.anInt486); + Class74.method1318(var3, var7 + var4 + 16, var6, Class3_Sub13_Sub31.anInt3377); + Class74.method1318(var3 + 1, var7 + 16 + var4, var6, Class3_Sub13_Sub31.anInt3377); + Class74.method1317(var3, var4 + (16 - -var7), 16, Class3_Sub13_Sub31.anInt3377); + Class74.method1317(var3, 17 + var4 + var7, 16, Class3_Sub13_Sub31.anInt3377); + Class74.method1318(var3 - -15, var7 + 16 + var4, var6, Class3_Sub2.anInt2243); + Class74.method1318(14 + var3, var4 - -17 - -var7, -1 + var6, Class3_Sub2.anInt2243); + Class74.method1317(var3, var6 + 15 + var4 + var7, 16, Class3_Sub2.anInt2243); + Class74.method1317(1 + var3, var6 + var4 - (-14 + -var7), 15, Class3_Sub2.anInt2243); + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "fn.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method225(int var0, RSInterface var1) { + try { + RSInterface var2 = Class168.method2273(var1, 123); + if(var0 != 14) { + method227(true); + } + + int var3; + int var4; + if(null == var2) { + var4 = Class140_Sub7.anInt2934; + var3 = Class23.anInt454; + } else { + var4 = var2.anInt193; + var3 = var2.anInt168; + } + + Class3_Sub28_Sub11.method603(var4, 13987, var3, var1, false); + Class62.method1224(var1, var0 + 23716, var4, var3); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fn.Q(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method226(int var0, int var1) { + try { + if(0 != ~var0) { + if(var1 <= 27) { + method228((CacheIndex)null, (CacheIndex)null, true); + } + + if(Canvas_Sub2.loadInterface(var0, 104)) { + RSInterface[] var2 = GameObject.aClass11ArrayArray1834[var0]; + + for(int var3 = 0; var3 < var2.length; ++var3) { + RSInterface var4 = var2[var3]; + if(null != var4.anObjectArray159) { + CS2Script var5 = new CS2Script(); + var5.arguments = var4.anObjectArray159; + var5.aClass11_2449 = var4; + ItemDefinition.method1104((byte)-86, 2000000, var5); + } + } + + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "fn.F(" + var0 + ',' + var1 + ')'); + } + } + + public static void method227(boolean var0) { + try { + aClass94_3142 = null; + aClass94_3145 = null; + aCRC32_3143 = null; + if(!var0) { + aClass94_3142 = (RSString)null; + } + + aClass94_3141 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fn.O(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -42 / ((30 - var2) / 36); + int[] var10 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[][] var4 = this.method162(var1, 0, (byte)-126); + int[] var5 = var4[0]; + int[] var7 = var4[2]; + int[] var6 = var4[1]; + + for(int var8 = 0; ~var8 > ~Class113.anInt1559; ++var8) { + var10[var8] = (var7[var8] + var5[var8] + var6[var8]) / 3; + } + } + + return var10; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "fn.D(" + var1 + ',' + var2 + ')'); + } + } + + static final int method228(CacheIndex var0, CacheIndex var1, boolean var2) { + try { + int var3 = 0; + if(var0.method2144(0, Class96.anInt1352)) { + ++var3; + } + + if(var0.method2144(0, Class75_Sub2.anInt2643)) { + ++var3; + } + + if(var0.method2144(0, Class3_Sub13_Sub11.anInt3132)) { + ++var3; + } + + if(var1.method2144(0, Class96.anInt1352)) { + ++var3; + } + + if(var2) { + aClass94_3142 = (RSString)null; + } + + if(var1.method2144(0, Class75_Sub2.anInt2643)) { + ++var3; + } + + if(var1.method2144(0, Class3_Sub13_Sub11.anInt3132)) { + ++var3; + } + + return var3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "fn.B(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub13.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub13.java new file mode 100644 index 000000000..87a418c11 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub13.java @@ -0,0 +1,974 @@ +package org.runite.jagex; +import java.awt.Point; +import java.io.IOException; + +final class Class3_Sub13_Sub13 extends Class3_Sub13 { + + static RSString aClass94_3146 = RSString.createRSString(" s(West connect-B)3"); + private int anInt3147 = 4; + static int anInt3148 = 0; + private int anInt3149 = 4; + static RSString aClass94_3150 = RSString.createRSString("null"); + static int anInt3151; + static RSString aClass94_3152 = RSString.createRSString("::gc"); + static int anInt3153; + static CacheIndex aClass153_3154; + static int anInt3155; + static int anInt3156 = -1; + static RSString aClass94_3157 = RSString.createRSString(" est d-Bj-9 dans votre liste noire)3"); + + + static final void method229(int var0, int var1) { + try { + if(!Class163_Sub3.aBoolean3004) { + var0 = -1; + } + + if(var1 == 20827) { + if(var0 != Class65.anInt991) { + if(~var0 != 0) { + Class55 var2 = Class3_Sub13_Sub29.method311(var0, 5); + Class3_Sub28_Sub16_Sub2 var3 = var2.method1179((byte)95); + if(null != var3) { + Class38.aClass87_665.method1434(var3.method655(), 10000, var3.anInt3697, Class3_Sub28_Sub12.aCanvas3648, new Point(var2.anInt881, var2.anInt879), var3.anInt3706); + Class65.anInt991 = var0; + } else { + var0 = -1; + } + } + + if(0 == ~var0 && ~Class65.anInt991 != 0) { + Class38.aClass87_665.method1434((int[])null, 10000, -1, Class3_Sub28_Sub12.aCanvas3648, new Point(), -1); + Class65.anInt991 = -1; + } + + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gg.C(" + var0 + ',' + var1 + ')'); + } + } + + public Class3_Sub13_Sub13() { + super(1, false); + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + anInt3148 = -117; + } + + if(~var1 == -1) { + this.anInt3149 = var2.getByte((byte)-69); + } else if(1 == var1) { + this.anInt3147 = var2.getByte((byte)-80); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gg.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method230(int[][] var0, boolean var1) { + try { + Class38.anIntArrayArray663 = var0; + if(!var1) { + method234(20); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gg.Q(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final Class24 method231(int var0, int var1) { + try { + Class24 var2 = (Class24)Class140_Sub4.aClass93_2792.get((long)var0, (byte)121); + if(var2 == null) { + byte[] var3 = Class127.aClass153_1680.getFile(3, (byte)-122, var0); + var2 = new Class24(); + if(null != var3) { + var2.method952(-31957, new RSByteBuffer(var3)); + } + + Class140_Sub4.aClass93_2792.put((byte)-89, var2, (long)var0); + if(var1 != 0) { + aClass153_3154 = (CacheIndex)null; + } + + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gg.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method232(int var0, int var1) { + try { + if(Canvas_Sub2.loadInterface(var0, 104)) { + RSInterface[] var2 = GameObject.aClass11ArrayArray1834[var0]; + + for(int var3 = 0; ~var2.length < ~var3; ++var3) { + RSInterface var4 = var2[var3]; + if(null != var4) { + var4.anInt260 = 1; + var4.anInt283 = 0; + var4.anInt267 = 0; + } + } + + if(var1 != 16182) { + method229(25, -86); + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gg.E(" + var0 + ',' + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = 39 % ((30 - var2) / 36); + int[] var10 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = Class113.anInt1559 / this.anInt3149; + int var6 = Class101.anInt1427 / this.anInt3147; + int[] var4; + int var7; + if(-1 <= ~var6) { + var4 = this.method152(0, 0, 32755); + } else { + var7 = var1 % var6; + var4 = this.method152(0, Class101.anInt1427 * var7 / var6, 32755); + } + + for(var7 = 0; var7 < Class113.anInt1559; ++var7) { + if(0 >= var5) { + var10[var7] = var4[0]; + } else { + int var8 = var7 % var5; + var10[var7] = var4[Class113.anInt1559 * var8 / var5]; + } + } + } + + return var10; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "gg.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method233(int var0, CacheIndex var1) { + try { + if(var0 != 28280) { + aClass153_3154 = (CacheIndex)null; + } + + NPC.anInt4001 = var1.getArchiveForName(Class9.aClass94_119, (byte)-30); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gg.R(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method234(int var0) { + try { + aClass94_3157 = null; + aClass94_3150 = null; + if(var0 != -3) { + method233(-114, (CacheIndex)null); + } + + aClass94_3146 = null; + aClass153_3154 = null; + aClass94_3152 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gg.O(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + return (int[][])((int[][])null); + } else { + int[][] var3 = this.aClass97_2376.method1594((byte)-123, var2); + if(this.aClass97_2376.aBoolean1379) { + int var5 = Class113.anInt1559 / this.anInt3149; + int var6 = Class101.anInt1427 / this.anInt3147; + int[][] var4; + if(var6 > 0) { + int var7 = var2 % var6; + var4 = this.method162(var7 * Class101.anInt1427 / var6, 0, (byte)-109); + } else { + var4 = this.method162(0, 0, (byte)-120); + } + + int[] var17 = var4[0]; + int[] var9 = var4[2]; + int[] var10 = var3[0]; + int[] var8 = var4[1]; + int[] var11 = var3[1]; + int[] var12 = var3[2]; + + for(int var13 = 0; ~var13 > ~Class113.anInt1559; ++var13) { + int var14; + if(var5 <= 0) { + var14 = 0; + } else { + int var15 = var13 % var5; + var14 = var15 * Class113.anInt1559 / var5; + } + + var10[var13] = var17[var14]; + var11[var13] = var8[var14]; + var12[var13] = var9[var14]; + } + } + + return var3; + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "gg.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method235(boolean var0) { + try { + if(-1 > ~Class159.anInt2023) { + --Class159.anInt2023; + } + + if(~Class38_Sub1.anInt2617 < -2) { + --Class38_Sub1.anInt2617; + Class140_Sub6.anInt2905 = Class3_Sub13_Sub17.anInt3213; + } + + if(Class3_Sub28_Sub18.aBoolean3769) { + Class3_Sub28_Sub18.aBoolean3769 = false; + Class3_Sub13_Sub24.method289(false); + } else { + int var1; + for(var1 = 0; ~var1 > -101 && Class3_Sub13_Sub3.method181(-15450); ++var1) { + ; + } + + if(Class143.loadingStage == 30) { + Class163_Sub2_Sub1.method2226(Class3_Sub13_Sub1.outgoingBuffer, 163, -116); + Object var14 = Class106.aClass67_1443.anObject1016; + int var2; + int var3; + int var4; + int var5; + int var6; + int var8; + int var9; + synchronized(var14) { + if(Canvas_Sub2.aBoolean29) { + if(Class3_Sub28_Sub11.anInt3644 != 0 || Class106.aClass67_1443.anInt1018 >= 40) { + ++RSString.anInt2145; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(123); + var3 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-14, 0); + var2 = Class3_Sub13_Sub1.outgoingBuffer.index; + + for(var4 = 0; Class106.aClass67_1443.anInt1018 > var4 && ~(Class3_Sub13_Sub1.outgoingBuffer.index - var2) > -241; ++var4) { + ++var3; + var5 = Class106.aClass67_1443.anIntArray1019[var4]; + var6 = Class106.aClass67_1443.anIntArray1020[var4]; + if(-1 < ~var5) { + var5 = 0; + } else if(-65535 > ~var5) { + var5 = '\ufffe'; + } + + if(var6 >= 0) { + if('\ufffe' < var6) { + var6 = '\ufffe'; + } + } else { + var6 = 0; + } + + boolean var7 = false; + if(Class106.aClass67_1443.anIntArray1019[var4] == -1 && 0 == ~Class106.aClass67_1443.anIntArray1020[var4]) { + var7 = true; + var5 = -1; + var6 = -1; + } + + if(Class155.anInt1977 == var6 && var5 == Canvas_Sub1.anInt14) { + if(2047 > Class3_Sub26.anInt2556) { + ++Class3_Sub26.anInt2556; + } + } else { + var8 = -Class155.anInt1977 + var6; + Class155.anInt1977 = var6; + var9 = var5 + -Canvas_Sub1.anInt14; + Canvas_Sub1.anInt14 = var5; + if(~Class3_Sub26.anInt2556 > -9 && var8 >= -32 && 31 >= var8 && -32 <= var9 && var9 <= 31) { + var9 += 32; + var8 += 32; + Class3_Sub13_Sub1.outgoingBuffer.putShort(var9 + (Class3_Sub26.anInt2556 << 12) + (var8 << 6)); + Class3_Sub26.anInt2556 = 0; + } else if(Class3_Sub26.anInt2556 < 32 && 127 >= ~var8 && -128 <= ~var8 && var9 >= -128 && var9 <= 127) { + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-97, 128 - -Class3_Sub26.anInt2556); + var9 += 128; + var8 += 128; + Class3_Sub13_Sub1.outgoingBuffer.putShort((var8 << 8) + var9); + Class3_Sub26.anInt2556 = 0; + } else if(32 > Class3_Sub26.anInt2556) { + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-13, 192 - -Class3_Sub26.anInt2556); + if(var7) { + Class3_Sub13_Sub1.outgoingBuffer.putInt(-123, Integer.MIN_VALUE); + } else { + Class3_Sub13_Sub1.outgoingBuffer.putInt(-124, var6 | var5 << 16); + } + + Class3_Sub26.anInt2556 = 0; + } else { + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class3_Sub26.anInt2556 + '\ue000'); + if(var7) { + Class3_Sub13_Sub1.outgoingBuffer.putInt(-120, Integer.MIN_VALUE); + } else { + Class3_Sub13_Sub1.outgoingBuffer.putInt(-124, var6 | var5 << 16); + } + + Class3_Sub26.anInt2556 = 0; + } + } + } + + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)-126, -var2 + Class3_Sub13_Sub1.outgoingBuffer.index); + if(~Class106.aClass67_1443.anInt1018 < ~var3) { + Class106.aClass67_1443.anInt1018 -= var3; + + for(var4 = 0; Class106.aClass67_1443.anInt1018 > var4; ++var4) { + Class106.aClass67_1443.anIntArray1020[var4] = Class106.aClass67_1443.anIntArray1020[var3 + var4]; + Class106.aClass67_1443.anIntArray1019[var4] = Class106.aClass67_1443.anIntArray1019[var4 + var3]; + } + } else { + Class106.aClass67_1443.anInt1018 = 0; + } + } + } else { + Class106.aClass67_1443.anInt1018 = 0; + } + } + + if(-1 != ~Class3_Sub28_Sub11.anInt3644) { + ++Class57.anInt900; + long var15 = (-AbstractIndexedSprite.aLong1465 + Class75.aLong1102) / 50L; + var3 = Class38_Sub1.anInt2614; + if(var3 >= 0) { + if(var3 > '\uffff') { + var3 = '\uffff'; + } + } else { + var3 = 0; + } + + if(32767L < var15) { + var15 = 32767L; + } + + var4 = Class163_Sub1.anInt2993; + AbstractIndexedSprite.aLong1465 = Class75.aLong1102; + byte var19 = 0; + if(~var4 <= -1) { + if(var4 > '\uffff') { + var4 = '\uffff'; + } + } else { + var4 = 0; + } + + var6 = (int)var15; + if(-3 == ~Class3_Sub28_Sub11.anInt3644) { + var19 = 1; + } + + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(75); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var19 << 15 | var6); + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-105, var4 | var3 << 16); + } + + if(0 < Class3_Sub1.anInt2212) { + --Class3_Sub1.anInt2212; + } + + if(Class15.aBoolean346) { + for(var1 = 0; ~var1 > ~Class3_Sub23.anInt2537; ++var1) { + var2 = Class133.anIntArray1755[var1]; + if(98 == var2 || -100 == ~var2 || -97 == ~var2 || var2 == 97) { + Class3_Sub28_Sub10_Sub2.aBoolean4068 = true; + break; + } + } + } else if(ObjectDefinition.aBooleanArray1490[96] || ObjectDefinition.aBooleanArray1490[97] || ObjectDefinition.aBooleanArray1490[98] || ObjectDefinition.aBooleanArray1490[99]) { + Class3_Sub28_Sub10_Sub2.aBoolean4068 = true; + } + + if(Class3_Sub28_Sub10_Sub2.aBoolean4068 && 0 >= Class3_Sub1.anInt2212) { + Class3_Sub1.anInt2212 = 20; + Class3_Sub28_Sub10_Sub2.aBoolean4068 = false; + ++Class133.anInt1756; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(21); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class3_Sub9.anInt2309, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, GraphicDefinition.CAMERA_DIRECTION); + } + + if(!Class3_Sub13_Sub6.aBoolean3078 != var0 && !Class140_Sub4.aBoolean2774) { + ++Class3_Sub13_Sub15.anInt3187; + Class140_Sub4.aBoolean2774 = true; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(22); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-41, 1); + } + + if(!Class3_Sub13_Sub6.aBoolean3078 && Class140_Sub4.aBoolean2774) { + ++Class3_Sub13_Sub15.anInt3187; + Class140_Sub4.aBoolean2774 = false; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(22); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-43, 0); + } + + if(!Class140_Sub2.aBoolean2705) { + ++Class3_Sub28_Sub13.anInt3659; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(98); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-126, Class84.method1421(-2)); + Class140_Sub2.aBoolean2705 = true; + } + + Class163_Sub1_Sub1.method2214(0); + if(Class143.loadingStage == 30) { + Class149.method2087((byte)-82); + Class115.method1713((byte)-91); + Class3_Sub8.method132((byte)-92); + ++Class3_Sub28_Sub16.anInt3699; + if(Class3_Sub28_Sub16.anInt3699 > 750) { + Class3_Sub13_Sub24.method289(false); + } else { + Class38.method1028(-102); + Class60.method1207(-72); + Class3_Sub13_Sub4.method189((byte)-62); + if(Class3_Sub28_Sub3.aClass11_3551 != null) { + Class9.method848(4); + } + + for(var1 = Class3_Sub5.method115(true, -1); ~var1 != 0; var1 = Class3_Sub5.method115(false, -1)) { + Class46.method1087(40, var1); + Class44.anIntArray726[Class3_Sub28_Sub15.method633(Class36.anInt641++, 31)] = var1; + } + + int nodeModelID; + for(Class3_Sub28_Sub6 var16 = Class73.method1302((byte)-36); var16 != null; var16 = Class73.method1302((byte)-36)) { + var3 = var16.e(2063817568); + var4 = var16.f((byte)117); + if(1 == var3) { + NPCDefinition.anIntArray1277[var4] = var16.anInt3598; + NPC.anIntArray3986[Class3_Sub28_Sub15.method633(31, PacketParser.anInt87++)] = var4; + } else if(var3 == 2) { + Class132.aClass94Array1739[var4] = var16.aClass94_3599; + Class163_Sub2_Sub1.anIntArray4025[Class3_Sub28_Sub15.method633(31, Class3_Sub9.anInt2317++)] = var4; + } else { + RSInterface var20; + if(~var3 != -4) { + if(~var3 == -5) { + var20 = Class7.getRSInterface((byte)109, var4); + var6 = var16.anInt3598; + var8 = var16.anInt3596; + nodeModelID = var16.anInt3597; + if(var20.modelType != var6 || ~var20.itemId != ~nodeModelID || var8 != var20.anInt265) { + var20.itemId = nodeModelID; + var20.anInt265 = var8; + var20.modelType = var6; + Class20.method909(120, var20); + } + } else if(-6 == ~var3) { + var20 = Class7.getRSInterface((byte)117, var4); + if(~var20.animationId != ~var16.anInt3598 || ~var16.anInt3598 == 0) { + var20.anInt260 = 1; + var20.anInt267 = 0; + var20.animationId = var16.anInt3598; + var20.anInt283 = 0; + Class20.method909(-117, var20); + } + } else if(-7 != ~var3) { + if(~var3 != -8) { + if(~var3 != -9) { + if(var3 != 9) { + if(-11 == ~var3) { + var20 = Class7.getRSInterface((byte)121, var4); + if(~var20.anInt258 != ~var16.anInt3598 || ~var16.anInt3597 != ~var20.anInt264 || var20.anInt280 != var16.anInt3596) { + var20.anInt264 = var16.anInt3597; + var20.anInt280 = var16.anInt3596; + var20.anInt258 = var16.anInt3598; + Class20.method909(-69, var20); + } + } else if(-12 == ~var3) { + var20 = Class7.getRSInterface((byte)124, var4); + var20.anInt306 = var20.x = var16.anInt3598; + var20.aByte273 = 0; + var20.aByte162 = 0; + var20.anInt210 = var20.y = var16.anInt3597; + Class20.method909(110, var20); + } else if(~var3 == -13) { + var20 = Class7.getRSInterface((byte)116, var4); + var6 = var16.anInt3598; + if(null != var20 && 0 == var20.type) { + if(var6 > var20.anInt252 + -var20.anInt193) { + var6 = var20.anInt252 + -var20.anInt193; + } + + if(0 > var6) { + var6 = 0; + } + + if(var6 != var20.anInt208) { + var20.anInt208 = var6; + Class20.method909(-71, var20); + } + } + } else if(-14 == ~var3) { + var20 = Class7.getRSInterface((byte)124, var4); + var20.anInt237 = var16.anInt3598; + } + } else { + var20 = Class7.getRSInterface((byte)119, var4); + if(~var16.anInt3598 != ~var20.anInt192 || var20.anInt271 != var16.anInt3597) { + var20.anInt192 = var16.anInt3598; + var20.anInt271 = var16.anInt3597; + Class20.method909(127, var20); + } + } + } else { + var20 = Class7.getRSInterface((byte)122, var4); + if(var16.anInt3598 != var20.anInt182 || var20.anInt308 != var16.anInt3597 || ~var16.anInt3596 != ~var20.anInt164) { + var20.anInt182 = var16.anInt3598; + var20.anInt164 = var16.anInt3596; + var20.anInt308 = var16.anInt3597; + if(-1 != var20.anInt192) { + if(~var20.anInt184 >= -1) { + if(~var20.width < -1) { + var20.anInt164 = 32 * var20.anInt164 / var20.width; + } + } else { + var20.anInt164 = var20.anInt164 * 32 / var20.anInt184; + } + } + + Class20.method909(112, var20); + } + } + } else { + var20 = Class7.getRSInterface((byte)124, var4); + boolean var24 = var16.anInt3598 == 1; + if(var20 != null && !var24 != !var20.hidden) { + var20.hidden = var24; + Class20.method909(119, var20); + } + } + } else { + var5 = var16.anInt3598; + var6 = (32195 & var5) >> 10; + var8 = var5 & 31; + nodeModelID = (var5 & 1000) >> 5; + RSInterface var10 = Class7.getRSInterface((byte)120, var4); + var9 = (var8 << 3) + (nodeModelID << 11) + (var6 << 19); + if(~var9 != ~var10.anInt218) { + var10.anInt218 = var9; + Class20.method909(123, var10); + } + } + } else { + var20 = Class7.getRSInterface((byte)118, var4); + if(!var16.aClass94_3599.method1528((byte)-42, var20.aClass94_232)) { + var20.aClass94_232 = var16.aClass94_3599; + Class20.method909(107, var20); + } + } + } + } + + if(Class36.anInt638 != 0) { + Class151_Sub1.anInt2958 += 20; + if(400 <= Class151_Sub1.anInt2958) { + Class36.anInt638 = 0; + } + } + + ++Class106.anInt1446; + if(Class151.aClass11_1933 != null) { + ++Class3_Sub9.anInt2330; + if(15 <= Class3_Sub9.anInt2330) { + Class20.method909(-30, Class151.aClass11_1933); + Class151.aClass11_1933 = null; + } + } + + RSInterface var17; + if(Class67.aClass11_1017 != null) { + Class20.method909(117, Class67.aClass11_1017); + if(~(5 + Class129_Sub1.anInt2693) > ~Class126.anInt1676 || Class126.anInt1676 < -5 + Class129_Sub1.anInt2693 || ~(InputStream_Sub1.anInt40 + 5) > ~Class130.anInt1709 || -5 + InputStream_Sub1.anInt40 > Class130.anInt1709) { + Class72.aBoolean1074 = true; + } + + ++Class40.anInt677; + if(0 == Class3_Sub13_Sub5.anInt3069) { + if(Class72.aBoolean1074 && 5 <= Class40.anInt677) { + if(Class67.aClass11_1017 == Class99.aClass11_1402 && PacketParser.anInt86 != Class140_Sub2.anInt2701) { + ++Class3_Sub23.anInt2541; + var17 = Class67.aClass11_1017; + byte var18 = 0; + if(1 == Canvas_Sub1.anInt15 && 206 == var17.anInt189) { + var18 = 1; + } + + if(var17.itemAmounts[Class140_Sub2.anInt2701] <= 0) { + var18 = 0; + } + + if(!Client.method44(var17).method93(572878952)) { + if(~var18 == -2) { + var6 = Class140_Sub2.anInt2701; + var5 = PacketParser.anInt86; + + while(var6 != var5) { + if(var5 > var6) { + var17.method864(-1 + var5, var5, -71); + --var5; + } else if(~var6 < ~var5) { + var17.method864(1 + var5, var5, -95); + ++var5; + } + } + } else { + var17.method864(Class140_Sub2.anInt2701, PacketParser.anInt86, -93); + } + } else { + var5 = PacketParser.anInt86; + var6 = Class140_Sub2.anInt2701; + var17.itemAmounts[var6] = var17.itemAmounts[var5]; + var17.itemIds[var6] = var17.itemIds[var5]; + var17.itemAmounts[var5] = -1; + var17.itemIds[var5] = 0; + } + + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(231); + Class3_Sub13_Sub1.outgoingBuffer.putShort(PacketParser.anInt86); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(Class67.aClass11_1017.anInt279, (byte)-125); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class140_Sub2.anInt2701, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putByteS(10213, var18); + } + } else if((-2 == ~Class66.anInt998 || Class3_Sub13_Sub39.method353(-1 + Class3_Sub13_Sub34.anInt3415, 0)) && Class3_Sub13_Sub34.anInt3415 > 2) { + Class132.method1801((byte)-116); + } else if(-1 > ~Class3_Sub13_Sub34.anInt3415) { + Class3_Sub13_Sub8.method203(56); + } + + Class3_Sub28_Sub11.anInt3644 = 0; + Class3_Sub9.anInt2330 = 10; + Class67.aClass11_1017 = null; + } + } + + Class85.aBoolean1167 = false; + Class27.aClass11_526 = null; + Class21.aBoolean440 = false; + Class3_Sub23.anInt2537 = 0; + var17 = Class107.aClass11_1453; + Class107.aClass11_1453 = null; + RSInterface var21 = Class20.aClass11_439; + + for(Class20.aClass11_439 = null; Class3_Sub28_Sub10_Sub1.method591(72) && 128 > Class3_Sub23.anInt2537; ++Class3_Sub23.anInt2537) { + Class133.anIntArray1755[Class3_Sub23.anInt2537] = Class3_Sub28_Sub9.anInt3624; + Class120.anIntArray1638[Class3_Sub23.anInt2537] = Class3_Sub13_Sub27.anInt3342; + } + + Class3_Sub28_Sub3.aClass11_3551 = null; + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + GraphicDefinition.method967(0, 0, 2, 0, Class23.anInt454, Class3_Sub28_Sub12.anInt3655, 0, Class140_Sub7.anInt2934); + } + + ++Class3_Sub13_Sub17.anInt3213; + + while(true) { + CS2Script var26 = (CS2Script)PacketParser.aClass61_82.method1220((byte)-3); + RSInterface var23; + RSInterface var25; + if(var26 == null) { + while(true) { + var26 = (CS2Script)Class65.aClass61_983.method1220((byte)-3); + if(var26 == null) { + while(true) { + var26 = (CS2Script)Class110.aClass61_1471.method1220((byte)-3); + if(var26 == null) { + if(Class3_Sub28_Sub3.aClass11_3551 == null) { + Class3_Sub19.anInt2475 = 0; + } + + if(Class56.aClass11_886 != null) { + PacketParser.method829(-1); + } + + if(~Class3_Sub13_Sub26.rights < -1 && ObjectDefinition.aBooleanArray1490[82] && ObjectDefinition.aBooleanArray1490[81] && 0 != Class29.anInt561) { + var5 = WorldListCountry.localPlane - Class29.anInt561; + if(0 > var5) { + var5 = 0; + } else if(var5 > 3) { + var5 = 3; + } + + Class30.method979(Class102.player.anIntArray2767[0] + Class131.anInt1716, Class102.player.anIntArray2755[0] + Class82.anInt1152, var5, (byte)-4); + } + + if(Class3_Sub13_Sub26.rights > 0 && ObjectDefinition.aBooleanArray1490[82] && ObjectDefinition.aBooleanArray1490[81]) { + if(-1 != Class27.anInt515) { + Class30.method979(Class131.anInt1716 + Class27.anInt515, Class82.anInt1152 - -Class66.anInt999, WorldListCountry.localPlane, (byte)-4); + } + + ObjectDefinition.anInt1521 = 0; + CS2Script.anInt2440 = 0; + } else if(-3 == ~CS2Script.anInt2440) { + if(~Class27.anInt515 != 0) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(131); + ++Class75_Sub3.anInt2651; + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-123, Class54.anInt872); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class131.anInt1716 + Class27.anInt515, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(RSInterface.anInt278); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class66.anInt999 + Class82.anInt1152, -268435456); + Class36.anInt638 = 1; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + } + + CS2Script.anInt2440 = 0; + } else if(2 == ObjectDefinition.anInt1521) { + if(-1 != Class27.anInt515) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(179); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class82.anInt1152 + Class66.anInt999); + ++Class102.anInt2130; + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class27.anInt515 + Class131.anInt1716); + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 1; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + } + + ObjectDefinition.anInt1521 = 0; + } else if(-1 != Class27.anInt515 && 0 == CS2Script.anInt2440 && ObjectDefinition.anInt1521 == 0) { + boolean var27 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, true, 0, 2, Class27.anInt515, 0, 0, 0, Class66.anInt999, Class102.player.anIntArray2767[0]); + if(var27) { + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 1; + } + } + + Class27.anInt515 = -1; + Class163_Sub1.method2211(-48); + if(Class107.aClass11_1453 != var17) { + if(var17 != null) { + Class20.method909(-52, var17); + } + + if(null != Class107.aClass11_1453) { + Class20.method909(119, Class107.aClass11_1453); + } + } + + if(var21 != Class20.aClass11_439 && ~Class3_Sub13_Sub26.anInt3323 == ~Class75.anInt1109) { + if(null != var21) { + Class20.method909(112, var21); + } + + if(null != Class20.aClass11_439) { + Class20.method909(-22, Class20.aClass11_439); + } + } + + if(Class20.aClass11_439 == null) { + if(~Class75.anInt1109 < -1) { + --Class75.anInt1109; + } + } else if(Class75.anInt1109 < Class3_Sub13_Sub26.anInt3323) { + ++Class75.anInt1109; + if(Class3_Sub13_Sub26.anInt3323 == Class75.anInt1109) { + Class20.method909(-48, Class20.aClass11_439); + } + } + + if(Class133.anInt1753 == 1) { + Class148.method2086((byte)68); + } else if(~Class133.anInt1753 == -3) { + CS2Script.method379(1024); + } else { + Class3_Sub28_Sub6.d('\uffff'); + } + + for(var5 = 0; -6 < ~var5; ++var5) { + ++Class163_Sub1_Sub1.anIntArray4009[var5]; + } + + var5 = Class82.method1406((byte)-43); + var6 = Class3_Sub13_Sub28.method301((byte)-119); + if(~var5 < -15001 && -15001 > ~var6) { + Class159.anInt2023 = 250; + Class23.method940(112, 14500); + ++Class93.anInt1330; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(245); + } + + if(Class15.aClass64_351 != null && Class15.aClass64_351.anInt978 == 1) { + if(null != Class15.aClass64_351.anObject974) { + Class99.method1596(Class3_Sub13_Sub24.aClass94_3295, (byte)126, RSString.aBoolean2154); + } + + Class3_Sub13_Sub24.aClass94_3295 = null; + Class15.aClass64_351 = null; + RSString.aBoolean2154 = false; + } + + ++Class3_Sub13_Sub23_Sub1.anInt4032; + ++Class43.anInt716; + ++RuntimeException_Sub1.anInt2120; + if(RuntimeException_Sub1.anInt2120 > 500) { + RuntimeException_Sub1.anInt2120 = 0; + nodeModelID = (int)(8.0D * Math.random()); + if(-5 == ~(nodeModelID & 4)) { + Class3_Sub29.anInt2589 += Class128.anInt1682; + } + + if(-3 == ~(nodeModelID & 2)) { + InputStream_Sub1.anInt42 += Class3_Sub2.anInt2217; + } + + if(-2 == ~(nodeModelID & 1)) { + Class3_Sub13_Sub18.anInt3216 += Class146.anInt1901; + } + } + + if(~Class43.anInt716 < -501) { + Class43.anInt716 = 0; + nodeModelID = (int)(8.0D * Math.random()); + if(-2 == ~(1 & nodeModelID)) { + Class3_Sub13_Sub8.anInt3102 += OutputStream_Sub1.anInt48; + } + + if(~(2 & nodeModelID) == -3) { + Class164_Sub2.anInt3020 += Canvas_Sub1.anInt25; + } + } + + if(~Class3_Sub13_Sub18.anInt3216 > 49) { + Class146.anInt1901 = 2; + } + + if(59 < ~Class3_Sub13_Sub8.anInt3102) { + OutputStream_Sub1.anInt48 = 2; + } + + if(~Class164_Sub2.anInt3020 > 19) { + Canvas_Sub1.anInt25 = 1; + } + + if(-55 > InputStream_Sub1.anInt42) { + Class3_Sub2.anInt2217 = 2; + } + + if(InputStream_Sub1.anInt42 > 55) { + Class3_Sub2.anInt2217 = -2; + } + + if(-40 > Class3_Sub29.anInt2589) { + Class128.anInt1682 = 1; + } + + if(Class3_Sub13_Sub18.anInt3216 > 50) { + Class146.anInt1901 = -2; + } + + if(~Class3_Sub29.anInt2589 < -41) { + Class128.anInt1682 = -1; + } + + if(10 < Class164_Sub2.anInt3020) { + Canvas_Sub1.anInt25 = -1; + } + + if(60 < Class3_Sub13_Sub8.anInt3102) { + OutputStream_Sub1.anInt48 = -2; + } + + if(~Class3_Sub13_Sub23_Sub1.anInt4032 < -51) { + ++Class3_Sub28_Sub4.anInt3569; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(93); + } + + if(RenderAnimationDefinition.aBoolean402) { + Class38.method1029(0); + RenderAnimationDefinition.aBoolean402 = false; + } + + try { + if(Class3_Sub15.aClass89_2429 != null && ~Class3_Sub13_Sub1.outgoingBuffer.index < -1) { + Class3_Sub15.aClass89_2429.sendBytes(!var0, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + Class3_Sub13_Sub23_Sub1.anInt4032 = 0; + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + } + } catch (IOException var11) { + Class3_Sub13_Sub24.method289(false); + } + + return; + } + + var25 = var26.aClass11_2449; + if(-1 >= ~var25.anInt191) { + var23 = Class7.getRSInterface((byte)118, var25.parentId); + if(null == var23 || var23.aClass11Array262 == null || ~var25.anInt191 <= ~var23.aClass11Array262.length || var25 != var23.aClass11Array262[var25.anInt191]) { + continue; + } + } + + Class43.method1065(1073376993, var26); + } + } + + var25 = var26.aClass11_2449; + if(~var25.anInt191 <= -1) { + var23 = Class7.getRSInterface((byte)120, var25.parentId); + if(var23 == null || null == var23.aClass11Array262 || var23.aClass11Array262.length <= var25.anInt191 || var23.aClass11Array262[var25.anInt191] != var25) { + continue; + } + } + + Class43.method1065(1073376993, var26); + } + } + + var25 = var26.aClass11_2449; + if(var25.anInt191 >= 0) { + var23 = Class7.getRSInterface((byte)127, var25.parentId); + if(var23 == null || var23.aClass11Array262 == null || var25.anInt191 >= var23.aClass11Array262.length || var23.aClass11Array262[var25.anInt191] != var25) { + continue; + } + } + + Class43.method1065(1073376993, var26); + } + } + } + } + } + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "gg.F(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub14.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub14.java new file mode 100644 index 000000000..608493436 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub14.java @@ -0,0 +1,164 @@ +package org.runite.jagex; +import java.math.BigInteger; + +final class Class3_Sub13_Sub14 extends Class3_Sub13 { + + static int anInt3158 = -8 + (int)(17.0D * Math.random()); + static Class73 aClass73_3159; + private int anInt3160 = 0; + static RSString aClass94_3161 = RSString.createRSString("_"); + static BigInteger aBigInteger3162 = new BigInteger("58778699976184461502525193738213253649000149147835990136706041084440742975821"); + private int anInt3163 = 20; + private int anInt3164 = 1365; + private int anInt3165 = 0; + static boolean aBoolean3166 = false; + + static RSString aClass94_3168 = RSString.createRSString("cross"); + static RSString aClass94_3169 = RSString.createRSString("Lade Sprites )2 "); + private static RSString aClass94_3170 = RSString.createRSString("Loaded textures"); + static int[] anIntArray3171 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; + static RSString aClass94_3172 = RSString.createRSString("Regarder dans cette direction"); + static CacheIndex aClass153_3173; + static RSString aClass94_3167 = aClass94_3170; + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + aClass94_3168 = (RSString)null; + } + + if(-1 != ~var1) { + if(-2 != ~var1) { + if(~var1 != -3) { + if(var1 == 3) { + this.anInt3165 = var2.getShort(1); + } + } else { + this.anInt3160 = var2.getShort(1); + } + } else { + this.anInt3163 = var2.getShort(1); + } + } else { + this.anInt3164 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gm.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method236(byte var0) { + try { + if(var0 == 64) { + Class3_Sub13_Sub32.aBoolean3387 = true; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gm.C(" + var0 + ')'); + } + } + + static final int[] NPC_RENDER_LOG = new int[3]; + + static final void renderNPCs(int var0) { + try { + Class66.maskUpdateCount = 0; + Class139.anInt1829 = 0; + Class24.renderLocalNPCs((byte)-11); + NPC_RENDER_LOG[0] = GraphicDefinition.incomingBuffer.index; + Class167.addLocalNPCs(113); + NPC_RENDER_LOG[1] = GraphicDefinition.incomingBuffer.index; + Class75_Sub4.renderNPCMasks(var0 ^ 8106); + NPC_RENDER_LOG[2] = GraphicDefinition.incomingBuffer.index; + + int var1; + for(var1 = 0; ~var1 > ~Class139.anInt1829; ++var1) { + int var2 = Class3_Sub7.anIntArray2292[var1]; + if(~Class3_Sub13_Sub24.npcs[var2].anInt2838 != ~Class44.anInt719) { + if(Class3_Sub13_Sub24.npcs[var2].definition.method1474(-1)) { + Class3_Sub28_Sub8.method574(Class3_Sub13_Sub24.npcs[var2], false); + } + + Class3_Sub13_Sub24.npcs[var2].setDefinitions(-1, (NPCDefinition)null); + Class3_Sub13_Sub24.npcs[var2] = null; + } + } + + if(var0 != 8169) { + renderNPCs(96); + } + + if(Class130.incomingPacketLength == GraphicDefinition.incomingBuffer.index) { + for(var1 = 0; var1 < Class163.localNPCCount; ++var1) { + if(null == Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var1]]) { +// System.err.println("gnp2 pos:" + var1 + " size:" + Class163.anInt2046); + System.err.println("Local NPC was null - index: " + Class15.localNPCIndexes[var1] + ", list index: " + var1 + ", list size: " + Class163.localNPCCount); + } + } + + } else { + System.err.println("NPC rendering packet size mismatch - size log: local=" + NPC_RENDER_LOG[0] + ", add global=" + NPC_RENDER_LOG[1] + ", masks=" + NPC_RENDER_LOG[2] + "."); +// System.err.println("gnp1 pos:" + GraphicDefinition.incomingBuffer.index + " psize:" + Class130.incomingPacketLength); +// throw new RuntimeException("gnp1 pos:" + Class28.incomingBuffer.index + " psize:" + Class130.incomingPacketLength); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gm.B(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = -72 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + for(int var5 = 0; ~Class113.anInt1559 < ~var5; ++var5) { + int var7 = this.anInt3165 + (Class163_Sub3.anIntArray2999[var1] << 12) / this.anInt3164; + int var6 = this.anInt3160 + (Class102.anIntArray2125[var5] << 12) / this.anInt3164; + int var8 = var6; + int var10 = var6; + int var9 = var7; + int var11 = var7; + int var14 = 0; + int var12 = var6 * var6 >> 12; + + for(int var13 = var7 * var7 >> 12; ~(var12 - -var13) > -16385 && ~this.anInt3163 < ~var14; var12 = var10 * var10 >> 12) { + var11 = (var10 * var11 >> 12) * 2 + var9; + ++var14; + var10 = var12 + -var13 + var8; + var13 = var11 * var11 >> 12; + } + + var3[var5] = ~var14 <= ~(this.anInt3163 + -1)?0:(var14 << 12) / this.anInt3163; + } + } + + return var3; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "gm.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method238(int var0) { + try { + if(var0 == 9423) { + aBigInteger3162 = null; + aClass94_3169 = null; + anIntArray3171 = null; + aClass73_3159 = null; + aClass153_3173 = null; + aClass94_3168 = null; + aClass94_3167 = null; + aClass94_3161 = null; + aClass94_3170 = null; + aClass94_3172 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gm.E(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub14() { + super(0, true); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub15.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub15.java new file mode 100644 index 000000000..ed59fdec5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub15.java @@ -0,0 +1,218 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub15 extends Class3_Sub13 { + + private int anInt3174; + private int anInt3175 = 0; + private int anInt3176 = 0; + static Class61 aClass61_3177 = new Class61(); + private int anInt3178 = 0; + static int anInt3179; + private int anInt3180; + static int[] anIntArray3181; + private int anInt3182; + static RSString aClass94_3183 = RSString.createRSString("::wm3"); + static boolean aBoolean3184 = true; + static int[] anIntArray3185 = new int[25]; + private int anInt3186; + static int anInt3187; + private int anInt3188; + private int anInt3189; + + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 == -1) { + this.anInt3175 = var2.getShort((byte)18); + } else if(-2 != ~var1) { + if(-3 == ~var1) { + this.anInt3176 = (var2.getByte() << 12) / 100; + } + } else { + this.anInt3178 = (var2.getByte() << 12) / 100; + } + + if(!var3) { + this.method240((byte)-79, -114, 127, 95); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "hk.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + private final void method239(int var1, int var2, int var3, int var4) { + try { + int var6 = 32 / ((15 - var3) / 45); + int var5 = var1 <= 2048?var1 * (4096 + var2) >> 12:-(var1 * var2 >> 12) + var1 + var2; + if(~var5 < -1) { + var4 *= 6; + int var7 = -var5 + var1 + var1; + int var9 = var4 >> 12; + int var8 = (-var7 + var5 << 12) / var5; + int var10 = var4 - (var9 << 12); + int var11 = var5 * var8 >> 12; + var11 = var11 * var10 >> 12; + int var12 = var11 + var7; + int var13 = -var11 + var5; + if(0 == var9) { + this.anInt3182 = var7; + this.anInt3186 = var5; + this.anInt3174 = var12; + } else if(var9 != 1) { + if(~var9 != -3) { + if(var9 != 3) { + if(var9 != 4) { + if(~var9 == -6) { + this.anInt3174 = var7; + this.anInt3186 = var5; + this.anInt3182 = var13; + } + } else { + this.anInt3182 = var5; + this.anInt3186 = var12; + this.anInt3174 = var7; + } + } else { + this.anInt3174 = var13; + this.anInt3182 = var5; + this.anInt3186 = var7; + } + } else { + this.anInt3186 = var7; + this.anInt3174 = var5; + this.anInt3182 = var12; + } + } else { + this.anInt3182 = var7; + this.anInt3174 = var5; + this.anInt3186 = var13; + } + } else { + this.anInt3186 = this.anInt3174 = this.anInt3182 = var1; + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "hk.C(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + public Class3_Sub13_Sub15() { + super(1, false); + } + + private final void method240(byte var1, int var2, int var3, int var4) { + try { + int var5 = var2 > var3?var2:var3; + if(var1 >= -54) { + this.method166(38, -39); + } + + var5 = ~var4 >= ~var5?var5:var4; + int var6 = var3 > var2?var2:var3; + var6 = ~var4 <= ~var6?var6:var4; + int var7 = -var6 + var5; + if(0 < var7) { + int var9 = (var5 - var3 << 12) / var7; + int var8 = (var5 + -var2 << 12) / var7; + int var10 = (-var4 + var5 << 12) / var7; + if(var2 != var5) { + if(~var5 == ~var3) { + this.anInt3180 = ~var6 == ~var4?var8 + 4096:-var10 + 12288; + } else { + this.anInt3180 = var6 != var2?-var8 + 20480:12288 + var9; + } + } else { + this.anInt3180 = ~var6 == ~var3?var10 + 20480:4096 + -var9; + } + + this.anInt3180 /= 6; + } else { + this.anInt3180 = 0; + } + + this.anInt3188 = (var6 - -var5) / 2; + if(-1 > ~this.anInt3188 && 4096 > this.anInt3188) { + this.anInt3189 = (var7 << 12) / (this.anInt3188 > 2048?8192 - 2 * this.anInt3188:this.anInt3188 * 2); + } else { + this.anInt3189 = 0; + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "hk.E(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + aClass94_3183 = (RSString)null; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-118, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-72); + int[] var5 = var4[0]; + int[] var6 = var4[1]; + int[] var7 = var4[2]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + int[] var8 = var3[0]; + + for(int var11 = 0; Class113.anInt1559 > var11; ++var11) { + this.method240((byte)-91, var5[var11], var6[var11], var7[var11]); + this.anInt3188 += this.anInt3176; + if(0 > this.anInt3188) { + this.anInt3188 = 0; + } + + this.anInt3189 += this.anInt3178; + if(-4097 > ~this.anInt3188) { + this.anInt3188 = 4096; + } + + if(this.anInt3189 < 0) { + this.anInt3189 = 0; + } + + if(4096 < this.anInt3189) { + this.anInt3189 = 4096; + } + + for(this.anInt3180 += this.anInt3175; -1 < ~this.anInt3180; this.anInt3180 += 4096) { + ; + } + + while(-4097 > ~this.anInt3180) { + this.anInt3180 -= 4096; + } + + this.method239(this.anInt3188, this.anInt3189, 107, this.anInt3180); + var8[var11] = this.anInt3186; + var9[var11] = this.anInt3174; + var10[var11] = this.anInt3182; + } + } + + return var3; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "hk.T(" + var1 + ',' + var2 + ')'); + } + } + + public static void method241(byte var0) { + try { + anIntArray3181 = null; + aClass61_3177 = null; + if(var0 <= 38) { + anIntArray3181 = (int[])null; + } + + anIntArray3185 = null; + aClass94_3183 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hk.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub16.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub16.java new file mode 100644 index 000000000..340d79605 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub16.java @@ -0,0 +1,240 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class3_Sub13_Sub16 extends Class3_Sub13 { + + static RSString aClass94_3190 = RSString.createRSString(""); + private int anInt3191 = 2; + static RSString aClass94_3192 = RSString.createRSString(" "); + private int anInt3193 = 2048; + private int anInt3194 = 1; + private byte[] aByteArray3195 = new byte[512]; + static RSString aClass94_3196 = RSString.createRSString("Fps:"); + private int anInt3197 = 0; + static int anInt3198 = 0; + static int anInt3199; + private short[] aShortArray3200 = new short[512]; + static WorldListEntry[] aClass44_Sub1Array3201 = new WorldListEntry[0]; + static long aLong3202; + private int anInt3203 = 5; + private int anInt3204 = 5; + static int anInt3205; + static RSString aClass94_3206 = RSString.createRSString("Moteur son pr-Bpar-B"); + + + private final void method242(byte var1) { + try { + Random var2 = new Random((long)this.anInt3197); + this.aShortArray3200 = new short[512]; + if(var1 == 37) { + if(0 < this.anInt3193) { + for(int var3 = 0; 512 > var3; ++var3) { + this.aShortArray3200[var3] = (short)Class100.method1603((byte)23, this.anInt3193, var2); + } + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hm.C(" + var1 + ')'); + } + } + + final void method158(int var1) { + try { + if(var1 != 16251) { + aClass44_Sub1Array3201 = (WorldListEntry[])null; + } + + this.aByteArray3195 = Class49.method1123(var1 ^ 16727940, this.anInt3197); + this.method242((byte)37); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hm.P(" + var1 + ')'); + } + } + + static final int method243(RSString var0, byte var1) { + try { + if(var1 != 13) { + method245(-29); + } + + for(int var2 = 0; ~var2 > ~Class3_Sub13_Sub19.aClass94Array3238.length; ++var2) { + if(Class3_Sub13_Sub19.aClass94Array3238[var2].equals(var1 + 40, var0)) { + return var2; + } + } + + return -1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hm.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 68 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = this.anInt3204 * Class163_Sub3.anIntArray2999[var1] + 2048; + int var6 = var5 >> 12; + int var7 = var6 - -1; + + for(int var15 = 0; var15 < Class113.anInt1559; ++var15) { + Class3_Sub13_Sub36.anInt3422 = Integer.MAX_VALUE; + Class148.anInt1914 = Integer.MAX_VALUE; + Class69.anInt1042 = Integer.MAX_VALUE; + Class3_Sub28_Sub5.anInt3589 = Integer.MAX_VALUE; + int var16 = this.anInt3203 * Class102.anIntArray2125[var15] + 2048; + int var17 = var16 >> 12; + int var18 = 1 + var17; + + int var19; + for(int var9 = var6 - 1; ~var9 >= ~var7; ++var9) { + int var13 = 255 & this.aByteArray3195[(~this.anInt3204 >= ~var9?-this.anInt3204 + var9:var9) & 255]; + + for(int var8 = var17 + -1; var18 >= var8; ++var8) { + int var14 = (255 & this.aByteArray3195[(~this.anInt3203 >= ~var8?-this.anInt3203 + var8:var8) + var13 & 255]) * 2; + int var10 = -(var8 << 12) - (this.aShortArray3200[var14++] - var16); + int var11 = var5 - (this.aShortArray3200[var14] + (var9 << 12)); + var19 = this.anInt3194; + int var12; + if(~var19 != -2) { + if(3 == var19) { + var10 = var10 < 0?-var10:var10; + var11 = -1 >= ~var11?var11:-var11; + var12 = var11 >= var10?var11:var10; + } else if(4 == var19) { + var10 = (int)(Math.sqrt((double)((float)(0 > var10?-var10:var10) / 4096.0F)) * 4096.0D); + var11 = (int)(Math.sqrt((double)((float)(~var11 <= -1?var11:-var11) / 4096.0F)) * 4096.0D); + var12 = var11 + var10; + var12 = var12 * var12 >> 12; + } else if(-6 == ~var19) { + var10 *= var10; + var11 *= var11; + var12 = (int)(Math.sqrt(Math.sqrt((double)((float)(var11 + var10) / 1.6777216E7F))) * 4096.0D); + } else if(2 != var19) { + var12 = (int)(4096.0D * Math.sqrt((double)((float)(var11 * var11 + var10 * var10) / 1.6777216E7F))); + } else { + var12 = (~var10 <= -1?var10:-var10) - -(-1 < ~var11?-var11:var11); + } + } else { + var12 = var11 * var11 + var10 * var10 >> 12; + } + + if(var12 >= Class3_Sub28_Sub5.anInt3589) { + if(~var12 > ~Class69.anInt1042) { + Class3_Sub13_Sub36.anInt3422 = Class148.anInt1914; + Class148.anInt1914 = Class69.anInt1042; + Class69.anInt1042 = var12; + } else if(Class148.anInt1914 <= var12) { + if(var12 < Class3_Sub13_Sub36.anInt3422) { + Class3_Sub13_Sub36.anInt3422 = var12; + } + } else { + Class3_Sub13_Sub36.anInt3422 = Class148.anInt1914; + Class148.anInt1914 = var12; + } + } else { + Class3_Sub13_Sub36.anInt3422 = Class148.anInt1914; + Class148.anInt1914 = Class69.anInt1042; + Class69.anInt1042 = Class3_Sub28_Sub5.anInt3589; + Class3_Sub28_Sub5.anInt3589 = var12; + } + } + } + + var19 = this.anInt3191; + if(-1 == ~var19) { + var3[var15] = Class3_Sub28_Sub5.anInt3589; + } else if(var19 != 1) { + if(-4 == ~var19) { + var3[var15] = Class148.anInt1914; + } else if(var19 == 4) { + var3[var15] = Class3_Sub13_Sub36.anInt3422; + } else if(-3 == ~var19) { + var3[var15] = Class69.anInt1042 + -Class3_Sub28_Sub5.anInt3589; + } + } else { + var3[var15] = Class69.anInt1042; + } + } + } + + return var3; + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "hm.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method244(int var0, int var1, int var2, int var3, int var4) { + try { + int var5; + if(~var1 >= ~var3) { + for(var5 = var1; var5 < var3; ++var5) { + Class38.anIntArrayArray663[var5][var2] = var4; + } + } else { + for(var5 = var3; ~var5 > ~var1; ++var5) { + Class38.anIntArrayArray663[var5][var2] = var4; + } + } + + if(var0 != 2) { + anInt3198 = -110; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "hm.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.method157(-122, (RSByteBuffer)null, false); + } + + if(-1 == ~var1) { + this.anInt3203 = this.anInt3204 = var2.getByte((byte)-57); + } else if(-2 == ~var1) { + this.anInt3197 = var2.getByte((byte)-57); + } else if(2 != var1) { + if(-4 == ~var1) { + this.anInt3191 = var2.getByte((byte)-55); + } else if(var1 == 4) { + this.anInt3194 = var2.getByte((byte)-124); + } else if(var1 == 5) { + this.anInt3203 = var2.getByte((byte)-51); + } else if(var1 == 6) { + this.anInt3204 = var2.getByte((byte)-64); + } + } else { + this.anInt3193 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "hm.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub16() { + super(0, true); + } + + public static void method245(int var0) { + try { + aClass44_Sub1Array3201 = null; + aClass94_3192 = null; + aClass94_3206 = null; + if(var0 != 0) { + method245(111); + } + + aClass94_3190 = null; + aClass94_3196 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hm.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub17.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub17.java new file mode 100644 index 000000000..9befd8792 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub17.java @@ -0,0 +1,250 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub17 extends Class3_Sub13 { + + static boolean aBoolean3207 = false; + static Class130 aClass130_3208 = new Class130(8); + static RSString aClass94_3209 = RSString.createRSString("showingVideoAd"); + static CacheIndex aClass153_3210; + static RSString aClass94_3211 = RSString.createRSString(" "); + static int[] anIntArray3212; + static int anInt3213 = 1; + + + public Class3_Sub13_Sub17() { + super(1, false); + } + + static final void method246(int var0) { + try { + Class3_Sub28_Sub20.method724(-109); + Class3_Sub28_Sub18.method710((byte)126); + Class108.method1654(var0 ^ -15455); + Canvas_Sub1.method55(22683); + Class163_Sub2_Sub1.method2222((byte)127); + Class3_Sub30_Sub1.method813(1974); + Class133.method1803((byte)22); + Class38.method1025((byte)-93); + Class40.method1044(-3782); + method85((byte)-114); + Class158_Sub1.method2192(-68); + Class159.method2196(128); + Class50.method1132(103); + Class3_Sub13_Sub6.method196(false); + if(var0 != 8) { + method246(-120); + } + + Class115.method1714((byte)-6); + Class3_Sub28_Sub6.h((byte)3); + Class107.method1650(21); + Class149.method2089((byte)115); + Class3_Sub13_Sub11.aClass93_3130.method1523((byte)-103); + Class80.aClass93_1135.method1523((byte)-122); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "je.O(" + var0 + ')'); + } + } + + static final void method247(byte var0) { + try { + int var1 = 105 % ((var0 - -39) / 41); + if(Class140_Sub2.aBoolean2713) { + AnimationDefinition.aClass109_1856 = null; + Class140_Sub2.aBoolean2713 = false; + Class40.aClass3_Sub28_Sub16_680 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "je.F(" + var0 + ')'); + } + } + + private final void method248(int var1, byte var2, int var3) { + try { + if(var2 > 80) { + int var4 = Class102.anIntArray2125[var3]; + int var5 = Class163_Sub3.anIntArray2999[var1]; + float var6 = (float)Math.atan2((double)(var4 - 2048), (double)(var5 - 2048)); + if((double)var6 >= -3.141592653589793D && -2.356194490192345D >= (double)var6) { + Class50.anInt828 = var1; + Class159.anInt2024 = var3; + } else if((double)var6 <= -1.5707963267948966D && -2.356194490192345D <= (double)var6) { + Class159.anInt2024 = var1; + Class50.anInt828 = var3; + } else if((double)var6 <= -0.7853981633974483D && (double)var6 >= -1.5707963267948966D) { + Class159.anInt2024 = -var1 + Class113.anInt1559; + Class50.anInt828 = var3; + } else if(0.0F >= var6 && (double)var6 >= -0.7853981633974483D) { + Class159.anInt2024 = var3; + Class50.anInt828 = Class101.anInt1427 - var1; + } else if(var6 >= 0.0F && (double)var6 <= 0.7853981633974483D) { + Class159.anInt2024 = -var3 + Class113.anInt1559; + Class50.anInt828 = -var1 + Class101.anInt1427; + } else if((double)var6 >= 0.7853981633974483D && (double)var6 <= 1.5707963267948966D) { + Class159.anInt2024 = -var1 + Class113.anInt1559; + Class50.anInt828 = -var3 + Class101.anInt1427; + } else if((double)var6 >= 1.5707963267948966D && 2.356194490192345D >= (double)var6) { + Class50.anInt828 = -var3 + Class101.anInt1427; + Class159.anInt2024 = var1; + } else if(2.356194490192345D <= (double)var6 && (double)var6 <= 3.141592653589793D) { + Class159.anInt2024 = -var3 + Class113.anInt1559; + Class50.anInt828 = var1; + } + + Class159.anInt2024 &= RenderAnimationDefinition.anInt396; + Class50.anInt828 &= Class3_Sub20.anInt2487; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "je.Q(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 == -1) { + this.aBoolean2375 = ~var2.getByte((byte)-117) == -2; + } + + if(!var3) { + aClass153_3210 = (CacheIndex)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "je.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method249(int var0) { + try { + anIntArray3212 = null; + aClass94_3211 = null; + aClass130_3208 = null; + aClass153_3210 = null; + aClass94_3209 = null; + if(var0 >= -100) { + aClass94_3209 = (RSString)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "je.R(" + var0 + ')'); + } + } + + static final void method250(int var0, CacheIndex var1) { + try { + if(var0 == 2048) { + Class8.aClass153_105 = var1; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "je.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final int method251(int var0) { + try { + if(var0 != -1) { + return 18; + } else if(Class119.aClass131_1624 == null) { + return -1; + } else { + while(~Class136.anInt1780 > ~Class119.aClass131_1624.anInt1720) { + if(Class119.aClass131_1624.method1794(Class136.anInt1780, -20138)) { + return Class136.anInt1780++; + } + + ++Class136.anInt1780; + } + + return -1; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "je.B(" + var0 + ')'); + } + } + + static final void method252(int var0) { + try { + Class3_Sub9 var1; + for(var1 = (Class3_Sub9) aClass61_78.method1222(); null != var1; var1 = (Class3_Sub9) aClass61_78.method1221()) { + if(var1.aBoolean2329) { + var1.method134(1); + } + } + + for(var1 = (Class3_Sub9)IOHandler.aClass61_1242.method1222(); null != var1; var1 = (Class3_Sub9)IOHandler.aClass61_1242.method1221()) { + if(var1.aBoolean2329) { + var1.method134(1); + } + } + + if(var0 != 8) { + anInt3213 = 122; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "je.S(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -113 % ((30 - var2) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + for(int var5 = 0; var5 < Class113.anInt1559; ++var5) { + this.method248(var1, (byte)105, var5); + int[] var6 = this.method152(0, Class50.anInt828, 32755); + var4[var5] = var6[Class159.anInt2024]; + } + } + + return var4; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "je.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method253(int var0, int var1, int var2, int var3, int var4) { + try { + if(var0 != -22611) { + method246(83); + } + + Class3_Sub28_Sub1.anInt3536 = Class23.anInt455 * var3 / var1; + Class3_Sub4.anInt2251 = Class108.anInt1460 * var2 / var4; + Class82.anInt1150 = -1; + Class3_Sub13_Sub30.anInt3362 = -1; + Class3_Sub5.method117((byte)87); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "je.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + this.method166(-38, 67); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-125, var2); + if(this.aClass97_2376.aBoolean1379) { + int[] var4 = var3[0]; + int[] var6 = var3[2]; + int[] var5 = var3[1]; + + for(int var7 = 0; Class113.anInt1559 > var7; ++var7) { + this.method248(var2, (byte)107, var7); + int[][] var8 = this.method162(Class50.anInt828, 0, (byte)-49); + var4[var7] = var8[0][Class159.anInt2024]; + var5[var7] = var8[1][Class159.anInt2024]; + var6[var7] = var8[2][Class159.anInt2024]; + } + } + + return var3; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "je.T(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub18.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub18.java new file mode 100644 index 000000000..20fddd02a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub18.java @@ -0,0 +1,333 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub18 extends Class3_Sub13 { + + static CacheIndex aClass153_3214; + static int[][] anIntArrayArray3215 = new int[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}}; + static int anInt3216 = 0; + private int anInt3217 = '\u8000'; + static int[] anIntArray3218 = new int[]{1, 4}; + + + static final void method254(boolean var0, Class3_Sub31 var1, boolean var2) { + try { + int var4 = (int)var1.aLong71; + if(var2) { + method258(25); + } + + int var3 = var1.anInt2602; + var1.method86(-1024); + if(var0) { + Class60.method1208((byte)79, var3); + } + + Class164_Sub2.method2249((byte)83, var3); + RSInterface var5 = Class7.getRSInterface((byte)109, var4); + if(null != var5) { + Class20.method909(107, var5); + } + + int var6 = Class3_Sub13_Sub34.anInt3415; + + int var7; + for(var7 = 0; var6 > var7; ++var7) { + if(Class2.method73(Class3_Sub13_Sub7.aShortArray3095[var7], 121)) { + Class3_Sub25.method509(1, var7); + } + } + + if(-2 != ~Class3_Sub13_Sub34.anInt3415) { + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + var7 = Class168.aClass3_Sub28_Sub17_2096.method682(Class75_Sub4.aClass94_2667); + + for(int var8 = 0; ~var8 > ~Class3_Sub13_Sub34.anInt3415; ++var8) { + int var9 = Class168.aClass3_Sub28_Sub17_2096.method682(RSByteBuffer.method802(var8, true)); + if(var7 < var9) { + var7 = var9; + } + } + + Class3_Sub28_Sub1.anInt3537 = Class3_Sub13_Sub34.anInt3415 * 15 + (CacheIndex.aBoolean1951?26:22); + Class3_Sub28_Sub3.anInt3552 = var7 + 8; + } else { + Class38_Sub1.aBoolean2615 = false; + Class75.method1340(AbstractIndexedSprite.anInt1462, Class3_Sub28_Sub3.anInt3552, (byte)-40, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537); + } + + if(-1 != Class3_Sub28_Sub12.anInt3655) { + Class3_Sub8.method124(115, 1, Class3_Sub28_Sub12.anInt3655); + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ke.O(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method255(int var0, int var1, int var2) { + try { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(4, var2, var0); + var3.g((byte)33); + var3.anInt3598 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ke.Q(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub18() { + super(3, false); + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + aClass153_3214 = (CacheIndex)null; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)4, var2); + if(this.aClass97_2376.aBoolean1379) { + int[] var4 = this.method152(1, var2, 32755); + int[] var5 = this.method152(2, var2, 32755); + int[] var8 = var3[2]; + int[] var7 = var3[1]; + int[] var6 = var3[0]; + + for(int var9 = 0; Class113.anInt1559 > var9; ++var9) { + int var10 = (var4[var9] * 255 & 1046259) >> 12; + int var11 = var5[var9] * this.anInt3217 >> 12; + int var12 = var11 * Class75_Sub2.anIntArray2639[var10] >> 12; + int var13 = Class3_Sub13_Sub17.anIntArray3212[var10] * var11 >> 12; + int var14 = (var12 >> 12) + var9 & RenderAnimationDefinition.anInt396; + int var15 = Class3_Sub20.anInt2487 & var2 - -(var13 >> 12); + int[][] var16 = this.method162(var15, 0, (byte)-117); + var6[var9] = var16[0][var14]; + var7[var9] = var16[1][var14]; + var8[var9] = var16[2][var14]; + } + } + + return var3; + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "ke.T(" + var1 + ',' + var2 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -89 / ((30 - var2) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(1, var1, 32755); + int[] var6 = this.method152(2, var1, 32755); + + for(int var7 = 0; var7 < Class113.anInt1559; ++var7) { + int var9 = this.anInt3217 * var6[var7] >> 12; + int var8 = (var5[var7] & 4087) >> 4; + int var10 = Class75_Sub2.anIntArray2639[var8] * var9 >> 12; + int var11 = Class3_Sub13_Sub17.anIntArray3212[var8] * var9 >> 12; + int var12 = RenderAnimationDefinition.anInt396 & (var10 >> 12) + var7; + int var13 = Class3_Sub20.anInt2487 & (var11 >> 12) + var1; + int[] var14 = this.method152(0, var13, 32755); + var4[var7] = var14[var12]; + } + } + + return var4; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "ke.D(" + var1 + ',' + var2 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 != -1) { + if(var1 == 1) { + this.aBoolean2375 = ~var2.getByte((byte)-107) == -2; + } + } else { + this.anInt3217 = var2.getShort(1) << 4; + } + + if(!var3) { + anInt3216 = -7; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ke.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method256(int var0, int var1, int var2, byte var3, int var4) { + try { + Class3_Sub28_Sub6 var5 = Class3_Sub24_Sub3.method466(4, 4, var2); + var5.g((byte)33); + var5.anInt3597 = var4; + var5.anInt3596 = var0; + if(var3 >= -108) { + method258(-75); + } + + var5.anInt3598 = var1; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ke.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method257(byte var0) { + try { + int var1 = 0; + if(var0 <= 122) { + method259((Class126)null, 69, 54, -87, 72, -85, 88, 37, true); + } + + for(int var2 = 0; -105 < ~var2; ++var2) { + for(int var3 = 0; ~var3 > -105; ++var3) { + if(Class140_Sub7.method2031((byte)-106, true, var2, var3, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var1)) { + ++var1; + } + + if(var1 >= 512) { + return; + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ke.C(" + var0 + ')'); + } + } + + public static void method258(int var0) { + try { + anIntArray3218 = null; + anIntArrayArray3215 = (int[][])null; + int var1 = -20 % ((-31 - var0) / 39); + aClass153_3214 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ke.B(" + var0 + ')'); + } + } + + static final void method259(Class126 var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8) { + int var9; + int var10 = var9 = (var6 << 7) - Class129_Sub1.anInt2697; + int var11; + int var12 = var11 = (var7 << 7) - Class3_Sub13_Sub30.anInt3363; + int var13; + int var14 = var13 = var10 + 128; + int var15; + int var16 = var15 = var12 + 128; + int var17 = Class44.anIntArrayArrayArray723[var1][var6][var7] - Class3_Sub28_Sub13.anInt3657; + int var18 = Class44.anIntArrayArrayArray723[var1][var6 + 1][var7] - Class3_Sub28_Sub13.anInt3657; + int var19 = Class44.anIntArrayArrayArray723[var1][var6 + 1][var7 + 1] - Class3_Sub28_Sub13.anInt3657; + int var20 = Class44.anIntArrayArrayArray723[var1][var6][var7 + 1] - Class3_Sub28_Sub13.anInt3657; + int var21 = var12 * var4 + var10 * var5 >> 16; + var12 = var12 * var5 - var10 * var4 >> 16; + var10 = var21; + var21 = var17 * var3 - var12 * var2 >> 16; + var12 = var17 * var2 + var12 * var3 >> 16; + var17 = var21; + if(var12 >= 50) { + var21 = var11 * var4 + var14 * var5 >> 16; + var11 = var11 * var5 - var14 * var4 >> 16; + var14 = var21; + var21 = var18 * var3 - var11 * var2 >> 16; + var11 = var18 * var2 + var11 * var3 >> 16; + var18 = var21; + if(var11 >= 50) { + var21 = var16 * var4 + var13 * var5 >> 16; + var16 = var16 * var5 - var13 * var4 >> 16; + var13 = var21; + var21 = var19 * var3 - var16 * var2 >> 16; + var16 = var19 * var2 + var16 * var3 >> 16; + var19 = var21; + if(var16 >= 50) { + var21 = var15 * var4 + var9 * var5 >> 16; + var15 = var15 * var5 - var9 * var4 >> 16; + var9 = var21; + var21 = var20 * var3 - var15 * var2 >> 16; + var15 = var20 * var2 + var15 * var3 >> 16; + if(var15 >= 50) { + int var22 = Class51.anInt846 + (var10 << 9) / var12; + int var23 = Class51.anInt835 + (var17 << 9) / var12; + int var24 = Class51.anInt846 + (var14 << 9) / var11; + int var25 = Class51.anInt835 + (var18 << 9) / var11; + int var26 = Class51.anInt846 + (var13 << 9) / var16; + int var27 = Class51.anInt835 + (var19 << 9) / var16; + int var28 = Class51.anInt846 + (var9 << 9) / var15; + int var29 = Class51.anInt835 + (var21 << 9) / var15; + Class51.anInt850 = 0; + int var30; + if((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { + if(Class3_Sub13_Sub21.aBoolean3261 && Class3_Sub13_Sub4.method185(Class49.anInt819 + Class51.anInt846, Class3_Sub13_Sub23_Sub1.anInt4039 + Class51.anInt835, var27, var29, var25, var26, var28, var24)) { + Class27.anInt515 = var6; + Class66.anInt999 = var7; + } + + if(!HDToolKit.highDetail && !var8) { + Class51.aBoolean849 = false; + if(var26 < 0 || var28 < 0 || var24 < 0 || var26 > Class51.anInt847 || var28 > Class51.anInt847 || var24 > Class51.anInt847) { + Class51.aBoolean849 = true; + } + + if(var0.anInt1670 == -1) { + if(var0.anInt1664 != 12345678) { + Class51.method1154(var27, var29, var25, var26, var28, var24, var0.anInt1664, var0.anInt1663, var0.anInt1667); + } + } else if(Class3_Sub13_Sub22.aBoolean3275) { + if(var0.aBoolean1674) { + Class51.method1135(var27, var29, var25, var26, var28, var24, var0.anInt1664, var0.anInt1663, var0.anInt1667, var10, var14, var9, var17, var18, var21, var12, var11, var15, var0.anInt1670); + } else { + Class51.method1135(var27, var29, var25, var26, var28, var24, var0.anInt1664, var0.anInt1663, var0.anInt1667, var13, var9, var14, var19, var21, var18, var16, var15, var11, var0.anInt1670); + } + } else { + var30 = Class51.anInterface2_838.method15(var0.anInt1670, '\uffff'); + Class51.method1154(var27, var29, var25, var26, var28, var24, Class127.method1753(var30, var0.anInt1664), Class127.method1753(var30, var0.anInt1663), Class127.method1753(var30, var0.anInt1667)); + } + } + } + + if((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { + if(Class3_Sub13_Sub21.aBoolean3261 && Class3_Sub13_Sub4.method185(Class49.anInt819 + Class51.anInt846, Class3_Sub13_Sub23_Sub1.anInt4039 + Class51.anInt835, var23, var25, var29, var22, var24, var28)) { + Class27.anInt515 = var6; + Class66.anInt999 = var7; + } + + if(!HDToolKit.highDetail && !var8) { + Class51.aBoolean849 = false; + if(var22 < 0 || var24 < 0 || var28 < 0 || var22 > Class51.anInt847 || var24 > Class51.anInt847 || var28 > Class51.anInt847) { + Class51.aBoolean849 = true; + } + + if(var0.anInt1670 == -1) { + if(var0.anInt1675 != 12345678) { + Class51.method1154(var23, var25, var29, var22, var24, var28, var0.anInt1675, var0.anInt1667, var0.anInt1663); + } + } else if(Class3_Sub13_Sub22.aBoolean3275) { + Class51.method1135(var23, var25, var29, var22, var24, var28, var0.anInt1675, var0.anInt1667, var0.anInt1663, var10, var14, var9, var17, var18, var21, var12, var11, var15, var0.anInt1670); + } else { + var30 = Class51.anInterface2_838.method15(var0.anInt1670, '\uffff'); + Class51.method1154(var23, var25, var29, var22, var24, var28, Class127.method1753(var30, var0.anInt1675), Class127.method1753(var30, var0.anInt1667), Class127.method1753(var30, var0.anInt1663)); + } + } + } + + } + } + } + } + } + + final void method158(int var1) { + try { + if(var1 != 16251) { + method255(33, 78, 124); + } + + Class8.method844((byte)-9); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ke.P(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub19.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub19.java new file mode 100644 index 000000000..319cff5e3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub19.java @@ -0,0 +1,299 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class3_Sub13_Sub19 extends Class3_Sub13 { + + private int anInt3219 = 204; + static RSString aClass94_3220; + static Class3_Sub28_Sub16_Sub2 aClass3_Sub28_Sub16_Sub2_3221; + private int anInt3222; + private int anInt3223; + private int anInt3224 = 81; + private int[][] anIntArrayArray3225; + static RSString[] aClass94Array3226 = new RSString[100]; + static CacheIndex aClass153_3227; + static int[] anIntArray3228 = new int[]{7, 8, 9, 10, 11, 12, 13, 15}; + private int anInt3229 = 1024; + private int[] anIntArray3230; + private int anInt3231 = 0; + private static RSString aClass94_3232 = RSString.createRSString("pt"); + private int anInt3233 = 8; + private int anInt3234 = 1024; + private int anInt3235; + private int anInt3236 = 409; + private static RSString aClass94_3237 = RSString.createRSString("en"); + private static RSString aClass94_3239 = RSString.createRSString("fr"); + private int[][] anIntArrayArray3240; + static short aShort3241 = 1; + private int anInt3242 = 4; + private static RSString aClass94_3243 = RSString.createRSString("de"); +static RSString[] aClass94Array3238 = new RSString[]{aClass94_3237, aClass94_3243, aClass94_3239, aClass94_3232}; + + + final void method158(int var1) { + try { + if(var1 != 16251) { + this.method158(-93); + } + + this.method263(0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mc.P(" + var1 + ')'); + } + } + + static final void method260(int var0, int var1, int var2) { + try { + if(var0 != -16207) { + aClass94_3232 = (RSString)null; + } + + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(4, 7, var1); + var3.g((byte)33); + var3.anInt3598 = var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "mc.O(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method261(int var0) { + try { + int var1 = -31 / ((-43 - var0) / 55); + aClass153_3227 = null; + aClass94_3243 = null; + aClass94_3232 = null; + aClass94_3239 = null; + aClass94_3220 = null; + anIntArray3228 = null; + aClass94Array3238 = null; + aClass94Array3226 = null; + aClass94_3237 = null; + aClass3_Sub28_Sub16_Sub2_3221 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mc.F(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(0 != var1) { + if(~var1 == -2) { + this.anInt3233 = var2.getByte((byte)-82); + } else if(-3 != ~var1) { + if(var1 != 3) { + if(4 != var1) { + if(-6 != ~var1) { + if(-7 != ~var1) { + if(var1 == 7) { + this.anInt3229 = var2.getShort(1); + } + } else { + this.anInt3224 = var2.getShort(1); + } + } else { + this.anInt3231 = var2.getShort(1); + } + } else { + this.anInt3234 = var2.getShort(1); + } + } else { + this.anInt3219 = var2.getShort(1); + } + } else { + this.anInt3236 = var2.getShort(1); + } + } else { + this.anInt3242 = var2.getByte((byte)-60); + } + + if(!var3) { + aClass94_3239 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mc.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method262(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + int var8 = var5 + var2; + int var10 = var5 + var7; + + int var12; + for(var12 = var2; var12 < var8; ++var12) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var12], var7, 125, var6, var0); + } + + int var9 = -var5 + var3; + int var11 = -var5 + var6; + + for(var12 = var3; var12 > var9; --var12) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var12], var7, 103, var6, var0); + } + + if(var1 > 118) { + for(var12 = var8; ~var9 <= ~var12; ++var12) { + int[] var13 = Class38.anIntArrayArray663[var12]; + Class3_Sub13_Sub23_Sub1.method282(var13, var7, 117, var10, var0); + Class3_Sub13_Sub23_Sub1.method282(var13, var10, 111, var11, var4); + Class3_Sub13_Sub23_Sub1.method282(var13, var11, -75, var6, var0); + } + + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "mc.Q(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + private final void method263(int var1) { + try { + Random var2 = new Random((long)this.anInt3233); + this.anInt3222 = 4096 / this.anInt3233; + this.anInt3223 = this.anInt3224 / 2; + this.anIntArrayArray3225 = new int[this.anInt3233][1 + this.anInt3242]; + int var4 = this.anInt3222 / 2; + this.anIntArray3230 = new int[this.anInt3233 - -1]; + this.anIntArrayArray3240 = new int[this.anInt3233][this.anInt3242]; + this.anInt3235 = 4096 / this.anInt3242; + this.anIntArray3230[0] = var1; + int var3 = this.anInt3235 / 2; + + for(int var5 = 0; ~var5 > ~this.anInt3233; ++var5) { + int var6; + int var7; + if(~var5 < -1) { + var6 = this.anInt3222; + var7 = (Class100.method1603((byte)59, 4096, var2) + -2048) * this.anInt3219 >> 12; + var6 += var7 * var4 >> 12; + this.anIntArray3230[var5] = this.anIntArray3230[var5 - 1] - -var6; + } + + this.anIntArrayArray3225[var5][0] = 0; + + for(var6 = 0; ~var6 > ~this.anInt3242; ++var6) { + if(0 < var6) { + var7 = this.anInt3235; + int var8 = (-2048 + Class100.method1603((byte)-1, 4096, var2)) * this.anInt3236 >> 12; + var7 += var3 * var8 >> 12; + this.anIntArrayArray3225[var5][var6] = this.anIntArrayArray3225[var5][var6 + -1] - -var7; + } + + this.anIntArrayArray3240[var5][var6] = ~this.anInt3229 >= -1?4096:4096 + -Class100.method1603((byte)33, this.anInt3229, var2); + } + + this.anIntArrayArray3225[var5][this.anInt3242] = 4096; + } + + this.anIntArray3230[this.anInt3233] = 4096; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "mc.E(" + var1 + ')'); + } + } + + static final void method264(byte var0) { + try { + ++Class3_Sub13_Sub34.anInt3402; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(184); + + for(Class3_Sub31 var1 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1776(124); null != var1; var1 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1778(-79)) { + if(var1.anInt2603 == 0) { + Class3_Sub13_Sub18.method254(true, var1, false); + } + } + + if(var0 < 83) { + aClass94_3232 = (RSString)null; + } + + if(null != Class3_Sub13_Sub7.aClass11_3087) { + Class20.method909(125, Class3_Sub13_Sub7.aClass11_3087); + Class3_Sub13_Sub7.aClass11_3087 = null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mc.C(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + int var4; + if(this.aClass114_2382.aBoolean1580) { + int var7 = 0; + + int var9; + for(var9 = Class163_Sub3.anIntArray2999[var1] + this.anInt3231; ~var9 > -1; var9 += 4096) { + ; + } + + while(4096 < var9) { + var9 -= 4096; + } + + while(this.anInt3233 > var7 && ~var9 <= ~this.anIntArray3230[var7]) { + ++var7; + } + + int var11 = var7 + -1; + int var15 = this.anIntArray3230[var7]; + boolean var12 = 0 == (var7 & 1); + int var16 = this.anIntArray3230[var7 - 1]; + if(var16 - -this.anInt3223 < var9 && ~(var15 - this.anInt3223) < ~var9) { + for(var4 = 0; var4 < Class113.anInt1559; ++var4) { + int var6 = 0; + int var5 = !var12?-this.anInt3234:this.anInt3234; + + int var8; + for(var8 = Class102.anIntArray2125[var4] - -(this.anInt3235 * var5 >> 12); ~var8 > -1; var8 += 4096) { + ; + } + + while(var8 > 4096) { + var8 -= 4096; + } + + while(~this.anInt3242 < ~var6 && ~var8 <= ~this.anIntArrayArray3225[var11][var6]) { + ++var6; + } + + int var14 = this.anIntArrayArray3225[var11][var6]; + int var10 = var6 - 1; + int var13 = this.anIntArrayArray3225[var11][var10]; + if(~(var13 - -this.anInt3223) > ~var8 && ~(-this.anInt3223 + var14) < ~var8) { + var3[var4] = this.anIntArrayArray3240[var11][var10]; + } else { + var3[var4] = 0; + } + } + } else { + Class76.method1359(var3, 0, Class113.anInt1559, 0); + } + } + + var4 = -48 % ((30 - var2) / 36); + return var3; + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "mc.D(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub19() { + super(0, true); + } + + static final void method265(byte var0, int var1) { + try { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 8, var1); + var2.a(true); + if(var0 != -42) { + aClass94_3239 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mc.B(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub2.java new file mode 100644 index 000000000..c77db57d4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub2.java @@ -0,0 +1,270 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub2 extends Class3_Sub13 { + + static RSString aClass94_3042 = RSString.createRSString(""); + private int anInt3043 = 0; + static float aFloat3044; + static int[] anIntArray3045; + private int anInt3046 = 4096; + + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(0 == var1) { + this.anInt3043 = var2.getShort(1); + } else if(1 != var1) { + if(2 == var1) { + this.aBoolean2375 = var2.getByte((byte)-76) == 1; + } + } else { + this.anInt3046 = var2.getShort(1); + } + + if(!var3) { + aClass94_3042 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "aj.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method172(int var0) { + try { + anIntArray3045 = null; + if(var0 == 11597) { + aClass94_3042 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "aj.B(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + method175(2, -7, -114, true, -24, 102, -125); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-119, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-124); + int[] var6 = var4[1]; + int[] var7 = var4[2]; + int[] var5 = var4[0]; + int[] var8 = var3[0]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + + for(int var11 = 0; ~Class113.anInt1559 < ~var11; ++var11) { + int var13 = var6[var11]; + int var12 = var5[var11]; + int var14 = var7[var11]; + if(~this.anInt3043 >= ~var12) { + if(var12 > this.anInt3046) { + var8[var11] = this.anInt3046; + } else { + var8[var11] = var12; + } + } else { + var8[var11] = this.anInt3043; + } + + if(this.anInt3043 > var13) { + var9[var11] = this.anInt3043; + } else if(var13 <= this.anInt3046) { + var9[var11] = var13; + } else { + var9[var11] = this.anInt3046; + } + + if(var14 >= this.anInt3043) { + if(this.anInt3046 >= var14) { + var10[var11] = var14; + } else { + var10[var11] = this.anInt3046; + } + } else { + var10[var11] = this.anInt3043; + } + } + } + + return var3; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "aj.T(" + var1 + ',' + var2 + ')'); + } + } + + static final int method173(byte var0, int var1, RSInterface var2) { + try { + if(var0 < 4) { + method176(-50); + } + + return !Client.method44(var2).method92(var1, (byte)-109) && null == var2.anObjectArray314?-1:(null != var2.anIntArray249 && ~var1 > ~var2.anIntArray249.length?var2.anIntArray249[var1]:-1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "aj.F(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method174(int var0, int var1) { + try { + Class163_Sub2_Sub1.aClass93_4015.method1522(-127, var1); + if(var0 != 4096) { + method176(92); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "aj.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method175(int var0, int var1, int var2, boolean var3, int var4, int var5, int var6) { + try { + Class149.method2091(var5, 4); + int var8 = var5 - var1; + int var7 = 0; + if(var8 < 0) { + var8 = 0; + } + + int var10 = -var5; + int var9 = var5; + int var11 = var8; + int var12 = -var8; + int var14 = -1; + int[] var15 = Class38.anIntArrayArray663[var2]; + int var17 = var6 - -var8; + int var13 = -1; + int var16 = -var8 + var6; + Class3_Sub13_Sub23_Sub1.method282(var15, -var5 + var6, -40, var16, var0); + Class3_Sub13_Sub23_Sub1.method282(var15, var16, -51, var17, var4); + Class3_Sub13_Sub23_Sub1.method282(var15, var17, -41, var6 - -var5, var0); + if(!var3) { + anIntArray3045 = (int[])null; + } + + while(~var7 > ~var9) { + var14 += 2; + var12 += var14; + if(~var12 <= -1 && ~var11 <= -2) { + GameObject.anIntArray1838[var11] = var7; + --var11; + var12 -= var11 << 1; + } + + ++var7; + var13 += 2; + var10 += var13; + int[] var19; + int[] var18; + int var21; + int var20; + int var23; + int var22; + int var24; + if(~var10 <= -1) { + --var9; + var10 -= var9 << 1; + if(~var8 < ~var9) { + var18 = Class38.anIntArrayArray663[var9 + var2]; + var19 = Class38.anIntArrayArray663[-var9 + var2]; + var22 = -var7 + var6; + var21 = var7 + var6; + var20 = GameObject.anIntArray1838[var9]; + var24 = -var20 + var6; + var23 = var20 + var6; + Class3_Sub13_Sub23_Sub1.method282(var18, var22, -113, var24, var0); + Class3_Sub13_Sub23_Sub1.method282(var18, var24, 95, var23, var4); + Class3_Sub13_Sub23_Sub1.method282(var18, var23, 117, var21, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var22, 113, var24, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var24, -76, var23, var4); + Class3_Sub13_Sub23_Sub1.method282(var19, var23, -97, var21, var0); + } else { + var18 = Class38.anIntArrayArray663[var2 + var9]; + var19 = Class38.anIntArrayArray663[var2 - var9]; + var20 = var7 + var6; + var21 = var6 + -var7; + Class3_Sub13_Sub23_Sub1.method282(var18, var21, 113, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var21, -100, var20, var0); + } + } + + var18 = Class38.anIntArrayArray663[var2 - -var7]; + var19 = Class38.anIntArrayArray663[var2 - var7]; + var20 = var9 + var6; + var21 = -var9 + var6; + if(var8 <= var7) { + Class3_Sub13_Sub23_Sub1.method282(var18, var21, 104, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var21, -127, var20, var0); + } else { + var22 = var7 <= var11?var11:GameObject.anIntArray1838[var7]; + var23 = var22 + var6; + var24 = var6 + -var22; + Class3_Sub13_Sub23_Sub1.method282(var18, var21, -94, var24, var0); + Class3_Sub13_Sub23_Sub1.method282(var18, var24, 115, var23, var4); + Class3_Sub13_Sub23_Sub1.method282(var18, var23, 110, var20, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var21, -114, var24, var0); + Class3_Sub13_Sub23_Sub1.method282(var19, var24, -79, var23, var4); + Class3_Sub13_Sub23_Sub1.method282(var19, var23, 120, var20, var0); + } + } + + } catch (RuntimeException var25) { + throw Class44.method1067(var25, "aj.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + public Class3_Sub13_Sub2() { + super(1, false); + } + + static final void method176(int var0) { + try { + int var1 = 0; + if(var0 >= -111) { + method176(40); + } + + for(; ~Class95.anInt1344 < ~var1; ++var1) { + Class29 var2 = Class145.method2076(-109, var1); + if(null != var2 && ~var2.anInt556 == -1) { + Class57.anIntArray898[var1] = 0; + Class163_Sub1.anIntArray2985[var1] = 0; + } + } + + Class3_Sub28_Sub15.aClass130_3679 = new Class130(16); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "aj.O(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = -52 % ((var2 - 30) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, var1, 32755); + + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + int var7 = var5[var6]; + if(this.anInt3043 > var7) { + var3[var6] = this.anInt3043; + } else if(this.anInt3046 >= var7) { + var3[var6] = var7; + } else { + var3[var6] = this.anInt3046; + } + } + } + + return var3; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "aj.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub20.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub20.java new file mode 100644 index 000000000..3965341b3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub20.java @@ -0,0 +1,94 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub20 extends Class3_Sub13 { + + static int anInt3244 = 0; + private int anInt3245 = 4096; + + private static RSString aClass94_3247 = RSString.createRSString("flash1:"); + static int anInt3248; + static RSString aClass94_3249 = aClass94_3247; + private int anInt3250 = 4096; + static RSString aClass94_3251 = RSString.createRSString("M-Bmoire attribu-Be"); + private int anInt3252 = 4096; +static RSString aClass94_3246 = aClass94_3247; + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(-1 != ~var1) { + if(var1 != 1) { + if(2 == var1) { + this.anInt3250 = var2.getShort(1); + } + } else { + this.anInt3245 = var2.getShort(1); + } + } else { + this.anInt3252 = var2.getShort(1); + } + + if(!var3) { + method266(12); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mg.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method266(int var0) { + try { + aClass94_3249 = null; + aClass94_3247 = null; + if(var0 == -1443422260) { + aClass94_3246 = null; + aClass94_3251 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mg.U(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + anInt3244 = -40; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-115, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-74); + int[] var5 = var4[0]; + int[] var6 = var4[1]; + int[] var7 = var4[2]; + int[] var9 = var3[1]; + int[] var8 = var3[0]; + int[] var10 = var3[2]; + + for(int var11 = 0; ~var11 > ~Class113.anInt1559; ++var11) { + int var12 = var5[var11]; + int var14 = var6[var11]; + int var13 = var7[var11]; + if(~var12 == ~var13 && ~var14 == ~var13) { + var8[var11] = this.anInt3252 * var12 >> 12; + var9[var11] = var13 * this.anInt3245 >> 12; + var10[var11] = var14 * this.anInt3250 >> 12; + } else { + var8[var11] = this.anInt3252; + var9[var11] = this.anInt3245; + var10[var11] = this.anInt3250; + } + } + } + + return var3; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "mg.T(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub20() { + super(1, false); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub21.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub21.java new file mode 100644 index 000000000..3e8de7e9a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub21.java @@ -0,0 +1,346 @@ +package org.runite.jagex; +import java.io.IOException; +import java.net.Socket; + +final class Class3_Sub13_Sub21 extends Class3_Sub13 { +//Class3_Sub13_Sub21 + private int anInt3253 = 0; + private int anInt3254 = 4096; + static int anInt3255; + static int anInt3256; + private int anInt3257 = 12288; + private int anInt3258 = 0; + static int anInt3259; + static int anInt3260 = -1; + static boolean aBoolean3261 = false; + private int anInt3262 = 2048; + static int anInt3263 = 0; + static Class3_Sub28_Sub3 aClass3_Sub28_Sub3_3264; + private int anInt3265 = 2048; + private int anInt3266 = 8192; + + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 == -1) { + this.anInt3265 = var2.getShort(1); + } else if(var1 == 1) { + this.anInt3253 = var2.getShort(1); + } else if(-3 == ~var1) { + this.anInt3258 = var2.getShort(1); + } else if(var1 != 3) { + if(var1 != 4) { + if(-6 == ~var1) { + this.anInt3254 = var2.getShort(1); + } else if(var1 == 6) { + this.anInt3266 = var2.getShort(1); + } + } else { + this.anInt3257 = var2.getShort(1); + } + } else { + this.anInt3262 = var2.getShort(1); + } + + if(!var3) { + this.anInt3266 = 85; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mh.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method267(byte var0) { + try { + if(Canvas_Sub1.registryStage != 0) { + try { + if(++Class132.anInt1734 > 2000) { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(~GraphicDefinition.anInt548 <= -2) { + Class130.anInt1711 = -5; + Canvas_Sub1.registryStage = 0; + return; + } + + Canvas_Sub1.registryStage = 1; + Class132.anInt1734 = 0; + ++GraphicDefinition.anInt548; + if(Class140_Sub6.accRegistryPort != Class162.anInt2036) { + Class140_Sub6.accRegistryPort = Class162.anInt2036; + } else { + Class140_Sub6.accRegistryPort = WorldListCountry.anInt506; + } + } + + if(Canvas_Sub1.registryStage == 1) { + //Ip & Port + Class3_Sub9.aClass64_2318 = Class38.aClass87_665.method1441((byte)8, Class38_Sub1.accRegistryIp, Class140_Sub6.accRegistryPort); + Canvas_Sub1.registryStage = 2; + } + + int response; + if(-3 == ~Canvas_Sub1.registryStage) { + if(-3 == ~Class3_Sub9.aClass64_2318.anInt978) { + throw new IOException(); + } + if(1 != Class3_Sub9.aClass64_2318.anInt978) { + return; + } + Class3_Sub15.aClass89_2429 = new IOHandler((Socket)Class3_Sub9.aClass64_2318.anObject974, Class38.aClass87_665); + Class3_Sub9.aClass64_2318 = null; + Class3_Sub15.aClass89_2429.sendBytes(false, 0, Class3_Sub13_Sub1.outgoingBuffer.buffer, Class3_Sub13_Sub1.outgoingBuffer.index); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(63); + } + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2159(66); + } + response = Class3_Sub15.aClass89_2429.readByte(0); + System.out.println("Response = " + response); + if(WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2159(64); + } + if(Class3_Sub21.aClass155_2491 != null) { + Class3_Sub21.aClass155_2491.method2159(111); + } + if(response != 21) { + Class130.anInt1711 = response; + Canvas_Sub1.registryStage = 0; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + Canvas_Sub1.registryStage = 3; + } + + if(var0 <= 26) { + method269(-75, 44); + } + + if(3 == Canvas_Sub1.registryStage) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > -2) { + return; + } + + Class3_Sub13_Sub33.aClass94Array3391 = new RSString[Class3_Sub15.aClass89_2429.readByte(0)]; + Canvas_Sub1.registryStage = 4; + } + + if(~Canvas_Sub1.registryStage == -5) { + if(~Class3_Sub15.aClass89_2429.availableBytes(-18358) > ~(8 * Class3_Sub13_Sub33.aClass94Array3391.length)) { + return; + } + + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub15.aClass89_2429.readBytes(0, 8 * Class3_Sub13_Sub33.aClass94Array3391.length, -18455, GraphicDefinition.incomingBuffer.buffer); + + for(response = 0; ~Class3_Sub13_Sub33.aClass94Array3391.length < ~response; ++response) { + Class3_Sub13_Sub33.aClass94Array3391[response] = Class41.method1052(-29664, GraphicDefinition.incomingBuffer.getLong(-125)); + } + + Class130.anInt1711 = 21; + Canvas_Sub1.registryStage = 0; + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + return; + } + } catch (IOException var2) { + if(Class3_Sub15.aClass89_2429 != null) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + if(~GraphicDefinition.anInt548 > -2) { + ++GraphicDefinition.anInt548; + if(Class162.anInt2036 == Class140_Sub6.accRegistryPort) { + Class140_Sub6.accRegistryPort = WorldListCountry.anInt506; + } else { + Class140_Sub6.accRegistryPort = Class162.anInt2036; + } + + Class132.anInt1734 = 0; + Canvas_Sub1.registryStage = 1; + } else { + Class130.anInt1711 = -4; + Canvas_Sub1.registryStage = 0; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mh.Q(" + var0 + ')'); + } + } + + public static void method268(byte var0) { + try { + if(var0 != -91) { + method268((byte)7); + } + + aClass3_Sub28_Sub3_3264 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mh.R(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub21() { + super(0, true); + } + + static final void method269(int var0, int var1) { + try { + if(var0 != -5) { + anInt3263 = 109; + } + + Class61.aClass93_939.method1522(-128, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mh.O(" + var0 + ',' + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 15 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = -2048 + Class163_Sub3.anIntArray2999[var1]; + + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + int var9 = var5 + this.anInt3253; + int var7 = Class102.anIntArray2125[var6] + -2048; + int var8 = this.anInt3265 + var7; + var9 = 2047 < ~var9?var9 - -4096:var9; + var9 = 2048 < var9?-4096 + var9:var9; + int var10 = var7 + this.anInt3258; + var8 = var8 < -2048?var8 + 4096:var8; + var8 = -2049 <= ~var8?var8:-4096 + var8; + var10 = ~var10 <= 2047?var10:4096 + var10; + var10 = -2049 > ~var10?var10 - 4096:var10; + int var11 = var5 - -this.anInt3262; + var11 = -2048 > var11?var11 + 4096:var11; + var11 = -2049 > ~var11?var11 - 4096:var11; + var3[var6] = !this.method271(var8, var9, (byte)113) && !this.method270((byte)-44, var10, var11)?0:4096; + } + } + + return var3; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "mh.D(" + var1 + ',' + var2 + ')'); + } + } + + private final boolean method270(byte var1, int var2, int var3) { + try { + int var4 = this.anInt3257 * (var2 + var3) >> 12; + if(var1 > -17) { + method267((byte)89); + } + + int var5 = Class75_Sub2.anIntArray2639[var4 * 255 >> 12 & 255]; + var5 = (var5 << 12) / this.anInt3257; + var5 = (var5 << 12) / this.anInt3266; + var5 = var5 * this.anInt3254 >> 12; + return var5 > -var2 + var3 && ~(-var5) > ~(var3 + -var2); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "mh.S(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method158(int var1) { + try { + Class8.method844((byte)-9); + if(var1 != 16251) { + method272((byte)-85); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mh.P(" + var1 + ')'); + } + } + + private final boolean method271(int var1, int var2, byte var3) { + try { + int var4 = (var2 - var1) * this.anInt3257 >> 12; + if(var3 != 113) { + this.method270((byte)-91, -79, -4); + } + + int var5 = Class75_Sub2.anIntArray2639[(1047948 & var4 * 255) >> 12]; + var5 = (var5 << 12) / this.anInt3257; + var5 = (var5 << 12) / this.anInt3266; + var5 = var5 * this.anInt3254 >> 12; + return ~(var2 + var1) > ~var5 && -var5 < var2 + var1; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "mh.F(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method272(byte var0) { + try { + if(var0 != -124) { + aClass3_Sub28_Sub3_3264 = (Class3_Sub28_Sub3)null; + } + + int var1 = Class3_Sub13_Sub26.aByteArrayArray3335.length; + + for(int var2 = 0; var2 < var1; ++var2) { + if(Class3_Sub13_Sub26.aByteArrayArray3335[var2] != null) { + int var3 = -1; + + for(int var4 = 0; ~var4 > ~Class3_Sub13_Sub20.anInt3244; ++var4) { + if(Class3_Sub13_Sub30.anIntArray3367[var4] == Class3_Sub24_Sub3.anIntArray3494[var2]) { + var3 = var4; + break; + } + } + + if(0 == ~var3) { + Class3_Sub13_Sub30.anIntArray3367[Class3_Sub13_Sub20.anInt3244] = Class3_Sub24_Sub3.anIntArray3494[var2]; + var3 = Class3_Sub13_Sub20.anInt3244++; + } + + int var5 = 0; + RSByteBuffer var16 = new RSByteBuffer(Class3_Sub13_Sub26.aByteArrayArray3335[var2]); + + while(~var16.index > ~Class3_Sub13_Sub26.aByteArrayArray3335[var2].length && 511 > var5) { + int var6 = var5++ << 6 | var3; + int var7 = var16.getShort(var0 ^ -123); + int var8 = var7 >> 14; + int var9 = 63 & var7 >> 7; + int var11 = var9 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var2] >> 8) - Class131.anInt1716; + int var10 = var7 & 63; + int var12 = var10 + -Class82.anInt1152 + 64 * (255 & Class3_Sub24_Sub3.anIntArray3494[var2]); + NPCDefinition var13 = Node.method522(var16.getShort(1), 27112); + if(Class3_Sub13_Sub24.npcs[var6] == null && (var13.aByte1267 & 1) > 0 && ~var8 == ~Class140_Sub3.anInt2745 && -1 >= ~var11 && 104 > var13.size + var11 && ~var12 <= -1 && 104 > var12 - -var13.size) { + Class3_Sub13_Sub24.npcs[var6] = new NPC(); + NPC npc = Class3_Sub13_Sub24.npcs[var6]; + Class15.localNPCIndexes[Class163.localNPCCount++] = var6; + npc.anInt2838 = Class44.anInt719; + npc.setDefinitions(-1, var13); + npc.setSize(npc.definition.size, 2); + npc.anInt2806 = npc.anInt2785 = Class27.anIntArray510[npc.definition.aByte1268]; + npc.anInt2779 = npc.definition.anInt1274; + if(~npc.anInt2779 == -1) { + npc.anInt2785 = 0; + } + + npc.renderAnimationId = npc.definition.renderAnimationId; + npc.method1967(-2, npc.getSize((byte)114), var11, var12, true); + } + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "mh.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub22.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub22.java new file mode 100644 index 000000000..4f4349f53 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub22.java @@ -0,0 +1,140 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub22 extends Class3_Sub13 { + + static int anInt3267; + static RSString aClass94_3268 = RSString.createRSString(")1"); + static Player[] players = new Player[2048]; + static AbstractIndexedSprite[] aClass109Array3270; + static long[] aLongArray3271 = new long[500]; + static boolean[] aBooleanArray3272; + static Class61[][][] aClass61ArrayArrayArray3273 = new Class61[4][104][104]; + static int anInt3274; + static boolean aBoolean3275 = true; + private int anInt3276; + static int anInt3277; + + + private Class3_Sub13_Sub22(int var1) { + super(0, true); + this.anInt3276 = 4096; + + try { + this.anInt3276 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mi.(" + var1 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.method154(121, (byte)52); + } + + if(var1 == 0) { + this.anInt3276 = (var2.getByte((byte)-47) << 12) / 255; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mi.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub22() { + this(4096); + } + + static final void method273(int[] var0, byte var1, NPC var2, int[] var3, int[] var4) { + try { + int var5 = 0; + if(var1 > 81) { + while(var5 < var4.length) { + int var6 = var4[var5]; + int var7 = var0[var5]; + int var8 = var3[var5]; + + for(int var9 = 0; -1 != ~var7 && ~var2.aClass145Array2809.length < ~var9; ++var9) { + if((1 & var7) != 0) { + if(~var6 == 0) { + var2.aClass145Array2809[var9] = null; + } else { + AnimationDefinition var10 = Client.getAnimationDefinition(var6, (byte)-20); + Class145 var12 = var2.aClass145Array2809[var9]; + int var11 = var10.anInt1845; + if(null != var12) { + if(~var6 != ~var12.animationId) { + if(~var10.anInt1857 <= ~Client.getAnimationDefinition(var12.animationId, (byte)-20).anInt1857) { + var12 = var2.aClass145Array2809[var9] = null; + } + } else if(~var11 == -1) { + var12 = var2.aClass145Array2809[var9] = null; + } else if(-2 == ~var11) { + var12.anInt1893 = 0; + var12.anInt1894 = 0; + var12.anInt1891 = 1; + var12.anInt1897 = 0; + var12.anInt1900 = var8; + IOHandler.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, false, 0); + } else if(~var11 == -3) { + var12.anInt1894 = 0; + } + } + + if(null == var12) { + var12 = var2.aClass145Array2809[var9] = new Class145(); + var12.anInt1891 = 1; + var12.anInt1897 = 0; + var12.anInt1900 = var8; + var12.animationId = var6; + var12.anInt1894 = 0; + var12.anInt1893 = 0; + IOHandler.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, false, 0); + } + } + } + + var7 >>>= 1; + } + + ++var5; + } + + } + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "mi.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = 14 / ((30 - var2) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + Class76.method1359(var4, 0, Class113.anInt1559, this.anInt3276); + } + + return var4; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mi.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method274(int var0) { + try { + players = null; + if(var0 != -2) { + aClass94_3268 = (RSString)null; + } + + aClass94_3268 = null; + aBooleanArray3272 = null; + aClass109Array3270 = null; + aLongArray3271 = null; + aClass61ArrayArrayArray3273 = (Class61[][][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mi.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23.java new file mode 100644 index 000000000..4b601be61 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23.java @@ -0,0 +1,232 @@ +package org.runite.jagex; + +class Class3_Sub13_Sub23 extends Class3_Sub13 { + + private int anInt3278 = -1; + static RSString aClass94_3279 = RSString.createRSString("Lade)3)3)3"); + int anInt3280; + static RSString aClass94_3281 = RSString.createRSString("sch-Utteln:"); + + int anInt3283; + int[] anIntArray3284; + static int anInt3285 = 128; + private static RSString aClass94_3286 = RSString.createRSString("Loading )2 please wait)3"); + static int itemDefinitionSize; + static int[] anIntArray3288 = new int[]{4, 4, 1, 2, 6, 4, 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}; + static RSString aClass94_3289 = RSString.createRSString("::fps "); +static RSString aClass94_3282 = aClass94_3286; + + static final int method275(int var0, int var1, int var2, int var3, int var4) { + try { + if(var3 <= 8) { + anIntArray3288 = (int[])null; + } + + int var5 = -Class51.anIntArray851[1024 * var2 / var4] + 65536 >> 1; + return (var0 * (-var5 + 65536) >> 16) + (var1 * var5 >> 16); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "nh.CA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method276(int var0, int var1, int var2, int var3, GameObject var4, long var5, boolean var7) { + if(var4 != null) { + Class12 var8 = new Class12(); + var8.object = var4; + var8.anInt324 = var1 * 128 + 64; + var8.anInt330 = var2 * 128 + 64; + var8.anInt326 = var3; + var8.aLong328 = var5; + var8.aBoolean329 = var7; + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] = new Class3_Sub2(var0, var1, var2); + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass12_2230 = var8; + } + } + + public static void method277(byte var0) { + try { + aClass94_3281 = null; + aClass94_3286 = null; + if(var0 >= -11) { + itemDefinitionSize = -68; + } + + aClass94_3282 = null; + aClass94_3289 = null; + anIntArray3288 = null; + aClass94_3279 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nh.DA(" + var0 + ')'); + } + } + + static final boolean handleWorldListUpdate(int var0, byte[] buf) { + try { + if(var0 != 4) { + return false; + } else { + RSByteBuffer buffer = new RSByteBuffer(buf); + int opcode = buffer.getByte((byte)-67); + System.out.println(opcode); + if(1 != opcode) { + return false; + } else { + boolean updated = ~buffer.getByte((byte)-70) == -2; + if(updated) { + Class53.parseWorldList(buffer, var0 ^ -84); + } + + Class3_Sub13_Sub10.method216(buffer, -14991); + return true; + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nh.AA(" + var0 + ',' + (buf != null?"{...}":"null") + ')'); + } + } + + final boolean method279(int var1) { + try { + int var2 = 62 / ((var1 - 2) / 62); + if(null == this.anIntArray3284) { + if(-1 < ~this.anInt3278) { + return false; + } else { + Class3_Sub28_Sub16_Sub2 var3 = ~Class126.anInt1668 > -1?RSString.method1537(Class104.aClass153_2172, this.anInt3278, false):Class40.method1043(this.anInt3278, Class104.aClass153_2172, -3178, Class126.anInt1668); + var3.method665(); + this.anInt3283 = var3.anInt3696; + this.anInt3280 = var3.anInt3707; + this.anIntArray3284 = var3.anIntArray4081; + return true; + } + } else { + return true; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nh.FA(" + var1 + ')'); + } + } + + final int method159(int var1) { + try { + return var1 != 4?40:this.anInt3278; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nh.GA(" + var1 + ')'); + } + } + + public Class3_Sub13_Sub23() { + super(0, false); + } + + static final void method280(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + try { + Class3_Sub5 var13 = new Class3_Sub5(); + if(var10 == -745213428) { + var13.anInt2284 = var6; + var13.anInt2283 = var3; + var13.anInt2266 = var1; + var13.anInt2279 = var5; + var13.anInt2273 = var2; + var13.anInt2271 = var8; + var13.anInt2277 = var11; + var13.anInt2282 = var4; + var13.anInt2270 = var12; + var13.anInt2268 = var7; + var13.anInt2272 = var0; + var13.anInt2278 = var9; + Class3_Sub18.aClass61_2468.method1215(true, var13); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "nh.V(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ')'); + } + } + + int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + this.method159(32); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)65, var2); + if(this.aClass97_2376.aBoolean1379 && this.method279(-113)) { + int[] var4 = var3[0]; + int[] var5 = var3[1]; + int[] var6 = var3[2]; + int var7 = (~this.anInt3283 == ~Class101.anInt1427?var2:this.anInt3283 * var2 / Class101.anInt1427) * this.anInt3280; + int var8; + int var9; + if(Class113.anInt1559 == this.anInt3280) { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var9 = this.anIntArray3284[var7++]; + var6[var8] = Class3_Sub28_Sub15.method633(255, var9) << 4; + var5[var8] = Class3_Sub28_Sub15.method633('\uff00', var9) >> 4; + var4[var8] = Class3_Sub28_Sub15.method633(var9, 16711680) >> 12; + } + } else { + for(var8 = 0; Class113.anInt1559 > var8; ++var8) { + var9 = this.anInt3280 * var8 / Class113.anInt1559; + int var10 = this.anIntArray3284[var7 - -var9]; + var6[var8] = Class3_Sub28_Sub15.method633(var10 << 4, 4080); + var5[var8] = Class3_Sub28_Sub15.method633(var10, '\uff00') >> 4; + var4[var8] = Class3_Sub28_Sub15.method633(var10 >> 12, 4080); + } + } + } + + return var3; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "nh.T(" + var1 + ',' + var2 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var1 == 0) { + this.anInt3278 = var2.getShort(1); + } + + if(!var3) { + method276(115, 107, 22, 20, (GameObject)null, 87L, false); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nh.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method281(byte var0, int var1, int var2) { + try { + Class57.anIntArray898[var2] = var1; + if(var0 != 99) { + aClass94_3279 = (RSString)null; + } + + Class3_Sub7 var3 = (Class3_Sub7)Class3_Sub28_Sub15.aClass130_3679.method1780((long)var2, 0); + if(null != var3) { + if(var3.aLong2295 != 4611686018427387905L) { + var3.aLong2295 = Class5.method830((byte)-55) + 500L | 4611686018427387904L; + } + } else { + var3 = new Class3_Sub7(4611686018427387905L); + Class3_Sub28_Sub15.aClass130_3679.method1779(1, var3, (long)var2); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "nh.W(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final void method161(byte var1) { + try { + super.method161(var1); + this.anIntArray3284 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nh.BA(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23_Sub1.java new file mode 100644 index 000000000..a4c74c971 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub23_Sub1.java @@ -0,0 +1,224 @@ +package org.runite.jagex; +import java.awt.Component; + +import org.runite.Configurations; + +final class Class3_Sub13_Sub23_Sub1 extends Class3_Sub13_Sub23 { + + private static RSString aClass94_4030 = RSString.createRSString("Allocating memory"); + static Class3_Sub28_Sub5[] aClass3_Sub28_Sub5Array4031 = new Class3_Sub28_Sub5[14]; + static int anInt4032 = 0; + static int anInt4033; + static int anInt4034 = -8 + (int)(17.0D * Math.random()); + static int[] anIntArray4035 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; + static RSString aClass94_4036 = RSString.createRSString("Connect-B au serveur de mise -9 jour"); + static int anInt4037; + static short aShort4038 = 32767; + static int anInt4039 = 0; + static RSString aClass94_4040 = aClass94_4030; + static int anInt4041 = -1; + static int hitMarkIndex; + + + final int[][] method166(int var1, int var2) { + try { + int[][] var3 = this.aClass97_2376.method1594((byte)-119, var2); + if(this.aClass97_2376.aBoolean1379 && this.method279(-128)) { + int[] var4 = var3[0]; + int var7 = var2 % this.anInt3283 * this.anInt3283; + int[] var5 = var3[1]; + int[] var6 = var3[2]; + + for(int var8 = 0; Class113.anInt1559 > var8; ++var8) { + int var9 = this.anIntArray3284[var7 + var8 % this.anInt3280]; + var6[var8] = Class3_Sub28_Sub15.method633(255, var9) << 4; + var5[var8] = Class3_Sub28_Sub15.method633(var9 >> 4, 4080); + var4[var8] = Class3_Sub28_Sub15.method633(16711680, var9) >> 12; + } + } + + if(var1 != -1) { + anInt4039 = -119; + } + + return var3; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "kd.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method282(int[] var0, int var1, int var2, int var3, int var4) { + try { + int var5 = 116 / ((24 - var2) / 63); + --var1; + --var3; + + for(int var6 = -7 + var3; var6 > var1; var0[var1] = var4) { + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + var0[var1] = var4; + ++var1; + } + + while(var3 > var1) { + ++var1; + var0[var1] = var4; + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "kd.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method283(String var0, byte var1) { + try { + if(var1 != 38) { + anIntArray4035 = (int[])null; + } + + System.out.println("Bad " + var0 + ", Usage: worldid, , , "); + System.exit(1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kd.O(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method284(float[][] var0, int[][] var1, int var2, float[][] var3, int var4, int[] var5, Class37 var6, byte var7, Class43 var8, float[][] var9, int var10) { + try { + int[] var11 = new int[var5.length / 2]; + + int var12; + for(var12 = 0; ~var12 > ~var11.length; ++var12) { + int var13 = var5[var12 + var12]; + int var14 = var5[var12 + var12 + 1]; + int var15; + if(-2 != ~var10) { + if(-3 != ~var10) { + if(~var10 == -4) { + var15 = var13; + var13 = 128 - var14; + var14 = var15; + } + } else { + var14 = -var14 + 128; + var13 = -var13 + 128; + } + } else { + var15 = var13; + var13 = var14; + var14 = -var15 + 128; + } + + float var17; + float var16; + float var24; + if(-1 == ~var13 && var14 == 0) { + var16 = var3[var2][var4]; + var24 = var9[var2][var4]; + var17 = var0[var2][var4]; + } else if(~var13 == -129 && -1 == ~var14) { + var17 = var0[var2 - -1][var4]; + var24 = var9[1 + var2][var4]; + var16 = var3[var2 - -1][var4]; + } else if(128 == var13 && ~var14 == -129) { + var16 = var3[var2 + 1][var4 + 1]; + var24 = var9[var2 + 1][var4 + 1]; + var17 = var0[var2 - -1][var4 + 1]; + } else if(var13 == 0 && 128 == var14) { + var17 = var0[var2][1 + var4]; + var16 = var3[var2][var4 + 1]; + var24 = var9[var2][1 + var4]; + } else { + var24 = var9[var2][var4]; + var17 = var0[var2][var4]; + float var18 = (float)var13 / 128.0F; + var16 = var3[var2][var4]; + var16 += (-var16 + var3[1 + var2][var4]) * var18; + var17 += var18 * (var0[1 + var2][var4] - var17); + var24 += (-var24 + var9[var2 - -1][var4]) * var18; + float var20 = var9[var2][1 + var4]; + var20 += (var9[var2 - -1][var4 - -1] - var20) * var18; + float var21 = var3[var2][1 + var4]; + float var19 = (float)var14 / 128.0F; + var24 += (-var24 + var20) * var19; + float var22 = var0[var2][1 + var4]; + var22 += (var0[1 + var2][var4 + 1] - var22) * var18; + var21 += (-var21 + var3[var2 + 1][1 + var4]) * var18; + var16 += (-var16 + var21) * var19; + var17 += (var22 - var17) * var19; + } + + int var26 = (var2 << 7) + var13; + int var25 = (var4 << 7) - -var14; + int var27 = Class3_Sub23.method408(var13, (byte)-53, var4, var1, var2, var14); + var11[var12] = var6.method1018(var8, var26, var27, var25, var24, var16, var17); + } + + var6.method1022(var11); + var12 = 105 % ((-20 - var7) / 54); + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "kd.Q(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + (var6 != null?"{...}":"null") + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + (var9 != null?"{...}":"null") + ',' + var10 + ')'); + } + } + + static final Class158 method285(int var0, int var1, boolean var2, Component var3) { + try { + if(!var2) { + return (Class158)null; + } else { + try { + Class var4 = Class.forName(Configurations.PACKAGE_JAGEX + ".Class158_Sub2"); + Class158 var8 = (Class158)var4.newInstance(); + var8.method2185(var0, false, var1, var3); + return var8; + } catch (Throwable var6) { + Class158_Sub1 var5 = new Class158_Sub1(); + var5.method2185(var0, false, var1, var3); + return var5; + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "kd.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final Class3_Sub28_Sub16[] method286(int var0, int var1, int var2, CacheIndex var3) { + try { + if(var0 != -1) { + method285(-95, 48, true, (Component)null); + } + //System.out.println("Class3_Sub13_Sub_23_Sub1 " + var2); + return !Class75_Sub4.method1351(var3, var1, var2, -30901)?null:Class15.method891(var0 ^ 4); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "kd.F(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public static void method287(boolean var0) { + try { + aClass94_4030 = null; + aClass94_4036 = null; + aClass94_4040 = null; + anIntArray4035 = null; + aClass3_Sub28_Sub5Array4031 = null; + if(var0) { + method282((int[])null, -113, 119, -92, 70); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kd.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub24.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub24.java new file mode 100644 index 000000000..979969def --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub24.java @@ -0,0 +1,207 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub24 extends Class3_Sub13 { + + static int[] npcSpawnCacheIndices; + static RSString aClass94_3291 = RSString.createRSString("Schlie-8en"); + static NPC[] npcs = new NPC['\u8000']; + static int anInt3293 = 0; + private int anInt3294 = 1; + static RSString aClass94_3295; + static long aLong3296 = 0L; + private int anInt3297 = 1; + static RSString aClass94_3298 = RSString.createRSString(""); + + + final int[] method154(int var1, byte var2) { + try { + int var3 = 74 % ((30 - var2) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = 1 + this.anInt3297 + this.anInt3297; + int var6 = 65536 / var5; + int var7 = 1 + this.anInt3294 + this.anInt3294; + int var8 = 65536 / var7; + int[][] var9 = new int[var5][]; + + int var10; + for(var10 = -this.anInt3297 + var1; ~var10 >= ~(var1 - -this.anInt3297); ++var10) { + int[] var11 = this.method152(0, var10 & Class3_Sub20.anInt2487, 32755); + int[] var12 = new int[Class113.anInt1559]; + int var13 = 0; + + int var14; + for(var14 = -this.anInt3294; ~this.anInt3294 <= ~var14; ++var14) { + var13 += var11[var14 & RenderAnimationDefinition.anInt396]; + } + + for(var14 = 0; ~Class113.anInt1559 < ~var14; var13 += var11[RenderAnimationDefinition.anInt396 & this.anInt3294 + var14]) { + var12[var14] = var8 * var13 >> 16; + var13 -= var11[RenderAnimationDefinition.anInt396 & var14 - this.anInt3294]; + ++var14; + } + + var9[this.anInt3297 + var10 + -var1] = var12; + } + + for(var10 = 0; ~Class113.anInt1559 < ~var10; ++var10) { + int var16 = 0; + + for(int var17 = 0; ~var17 > ~var5; ++var17) { + var16 += var9[var17][var10]; + } + + var4[var10] = var6 * var16 >> 16; + } + } + + return var4; + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "nm.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method288(byte var0) { + try { + if(var0 < 31) { + method289(false); + } + + npcSpawnCacheIndices = null; + aClass94_3298 = null; + aClass94_3291 = null; + npcs = null; + aClass94_3295 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nm.C(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub24() { + super(1, false); + } + + static final void method289(boolean var0) { + try { + if(var0) { + aClass94_3295 = (RSString)null; + } + + if(Class159.anInt2023 > 0) { + Class167.method2269((byte)46); + } else { + Class163_Sub2_Sub1.aClass89_4012 = Class3_Sub15.aClass89_2429; + Class3_Sub15.aClass89_2429 = null; + Class117.method1719(40, 5); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nm.B(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + aClass94_3298 = (RSString)null; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)90, var2); + if(this.aClass97_2376.aBoolean1379) { + int var6 = this.anInt3294 - -this.anInt3294 - -1; + int var7 = 65536 / var6; + int var4 = this.anInt3297 + (this.anInt3297 - -1); + int var5 = 65536 / var4; + int[][][] var8 = new int[var4][][]; + + int var12; + int var13; + int var14; + for(int var9 = var2 - this.anInt3297; this.anInt3297 + var2 >= var9; ++var9) { + int[][] var10 = this.method162(Class3_Sub20.anInt2487 & var9, 0, (byte)-59); + var12 = 0; + var13 = 0; + int[][] var11 = new int[3][Class113.anInt1559]; + var14 = 0; + int[] var15 = var10[0]; + int[] var16 = var10[1]; + int[] var17 = var10[2]; + + for(int var18 = -this.anInt3294; var18 <= this.anInt3294; ++var18) { + int var19 = var18 & RenderAnimationDefinition.anInt396; + var13 += var16[var19]; + var12 += var15[var19]; + var14 += var17[var19]; + } + + int[] var20 = var11[2]; + int[] var31 = var11[0]; + int[] var30 = var11[1]; + + int var22; + for(int var21 = 0; Class113.anInt1559 > var21; var12 += var15[var22]) { + var31[var21] = var12 * var7 >> 16; + var30[var21] = var13 * var7 >> 16; + var20[var21] = var7 * var14 >> 16; + var22 = RenderAnimationDefinition.anInt396 & var21 + -this.anInt3294; + var14 -= var17[var22]; + ++var21; + var12 -= var15[var22]; + var13 -= var16[var22]; + var22 = this.anInt3294 + var21 & RenderAnimationDefinition.anInt396; + var14 += var17[var22]; + var13 += var16[var22]; + } + + var8[-var2 + this.anInt3297 + var9] = var11; + } + + int[] var24 = var3[0]; + int[] var26 = var3[1]; + int[] var25 = var3[2]; + + for(var12 = 0; ~Class113.anInt1559 < ~var12; ++var12) { + var14 = 0; + var13 = 0; + int var27 = 0; + + for(int var28 = 0; ~var4 < ~var28; ++var28) { + int[][] var29 = var8[var28]; + var27 += var29[2][var12]; + var14 += var29[1][var12]; + var13 += var29[0][var12]; + } + + var24[var12] = var5 * var13 >> 16; + var26[var12] = var5 * var14 >> 16; + var25[var12] = var27 * var5 >> 16; + } + } + + return var3; + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "nm.T(" + var1 + ',' + var2 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 == -1) { + this.anInt3294 = var2.getByte((byte)-50); + } else if(var1 != 1) { + if(2 == var1) { + this.aBoolean2375 = var2.getByte((byte)-51) == 1; + } + } else { + this.anInt3297 = var2.getByte((byte)-118); + } + + if(!var3) { + this.anInt3294 = 60; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nm.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub25.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub25.java new file mode 100644 index 000000000..0b601b0de --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub25.java @@ -0,0 +1,400 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class3_Sub13_Sub25 extends Class3_Sub13 { + + private int anInt3299 = 1024; + private int anInt3300 = 1024; + private int anInt3301 = 819; + static RSString aClass94_3302 = RSString.createRSString("Connexion perdue)3"); + private int anInt3303 = 1024; + static CacheIndex aClass153_3304; + static int loginStage = 0; + private static RSString aClass94_3306 = RSString.createRSString(" is already on your ignore list)3"); + static RSString aClass94_3307 = RSString.createRSString(""); + private int anInt3308 = 2048; + private int anInt3309 = 0; + private int anInt3310 = 409; + static RSString aClass94_3311 = aClass94_3306; + private int anInt3312 = 0; + static int anInt3313 = 500; + private int anInt3314; + static int anInt3315; + private int anInt3316 = 1024; + + + final void method158(int var1) { + try { + if(var1 != 16251) { + this.method157(-7, (RSByteBuffer)null, true); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ol.P(" + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 105 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[][] var5 = this.aClass114_2382.method1710((byte)97); + int var9 = 0; + int var8 = 0; + int var6 = 0; + int var7 = 0; + int var10 = 0; + boolean var11 = true; + boolean var12 = true; + int var13 = 0; + int var14 = 0; + int var15 = Class113.anInt1559 * this.anInt3300 >> 12; + int var16 = Class113.anInt1559 * this.anInt3308 >> 12; + int var18 = this.anInt3301 * Class101.anInt1427 >> 12; + int var17 = Class101.anInt1427 * this.anInt3310 >> 12; + if(var18 <= 1) { + return var5[var1]; + } else { + int var19 = Class113.anInt1559 / var15 + 1; + this.anInt3314 = Class113.anInt1559 / 8 * this.anInt3303 >> 12; + int[][] var21 = new int[var19][3]; + int[][] var20 = new int[var19][3]; + Random var22 = new Random((long)this.anInt3312); + + while(true) { + while(true) { + int var24 = var15 - -Class100.method1603((byte)-93, var16 - var15, var22); + int var25 = Class100.method1603((byte)-96, -var17 + var18, var22) + var17; + int var26 = var9 + var24; + if(Class113.anInt1559 < var26) { + var26 = Class113.anInt1559; + var24 = Class113.anInt1559 - var9; + } + + int var23; + int var29; + if(!var12) { + int var27 = var10; + int[] var28 = var21[var10]; + var23 = var28[2]; + var29 = 0; + int var30 = var6 + var26; + if(0 > var30) { + var30 += Class113.anInt1559; + } + + if(~Class113.anInt1559 > ~var30) { + var30 -= Class113.anInt1559; + } + + while(true) { + int[] var31 = var21[var27]; + if(~var30 <= ~var31[0] && ~var31[1] <= ~var30) { + if(var10 != var27) { + int var42 = var6 + var9; + if(-1 < ~var42) { + var42 += Class113.anInt1559; + } + + if(var42 > Class113.anInt1559) { + var42 -= Class113.anInt1559; + } + + int var32; + int[] var33; + for(var32 = 1; ~var29 <= ~var32; ++var32) { + var33 = var21[(var10 + var32) % var13]; + var23 = Math.max(var23, var33[2]); + } + + for(var32 = 0; var32 <= var29; ++var32) { + var33 = var21[(var10 - -var32) % var13]; + int var34 = var33[2]; + if(~var34 != ~var23) { + int var37 = var33[0]; + int var38 = var33[1]; + int var35; + int var36; + if(~var30 < ~var42) { + var35 = Math.max(var42, var37); + var36 = Math.min(var30, var38); + } else if(var37 != 0) { + var35 = Math.max(var42, var37); + var36 = Class113.anInt1559; + } else { + var36 = Math.min(var30, var38); + var35 = 0; + } + + this.method291(var34, var22, var8 + var35, -var35 + var36, (byte)-69, -var34 + var23, var5); + } + } + } + + var10 = var27; + break; + } + + ++var29; + ++var27; + if(~var27 <= ~var13) { + var27 = 0; + } + } + } else { + var23 = 0; + } + + if(Class101.anInt1427 >= var23 - -var25) { + var11 = false; + } else { + var25 = Class101.anInt1427 - var23; + } + + int[] var40; + if(~var26 == ~Class113.anInt1559) { + this.method291(var23, var22, var7 + var9, var24, (byte)-69, var25, var5); + if(var11) { + return var3; + } + + var11 = true; + var8 = var7; + var12 = false; + var40 = var20[var14++]; + var40[0] = var9; + var10 = 0; + var13 = var14; + var14 = 0; + var40[2] = var25 + var23; + var40[1] = var26; + var7 = Class100.method1603((byte)-107, Class113.anInt1559, var22); + var6 = var7 + -var8; + int[][] var41 = var21; + var9 = 0; + var21 = var20; + var29 = var6; + if(var6 < 0) { + var29 = var6 + Class113.anInt1559; + } + + var20 = var41; + if(~Class113.anInt1559 > ~var29) { + var29 -= Class113.anInt1559; + } + + while(true) { + int[] var43 = var21[var10]; + if(var43[0] <= var29 && ~var43[1] <= ~var29) { + break; + } + + ++var10; + if(var13 <= var10) { + var10 = 0; + } + } + } else { + var40 = var20[var14++]; + var40[1] = var26; + var40[2] = var25 + var23; + var40[0] = var9; + this.method291(var23, var22, var9 + var7, var24, (byte)-69, var25, var5); + var9 = var26; + } + } + } + } + } else { + return var3; + } + } catch (RuntimeException var39) { + throw Class44.method1067(var39, "ol.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method290(int var0) { + try { + aClass94_3307 = null; + aClass94_3302 = null; + if(var0 == -9) { + aClass153_3304 = null; + aClass94_3306 = null; + aClass94_3311 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ol.F(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub25() { + super(0, true); + } + + private final void method291(int var1, Random var2, int var3, int var4, byte var5, int var6, int[][] var7) { + try { + if(var5 == -69) { + int var8 = -1 > ~this.anInt3316?4096 + -Class100.method1603((byte)-128, this.anInt3316, var2):4096; + int var9 = this.anInt3299 * this.anInt3314 >> 12; + int var10 = this.anInt3314 - (0 < var9?Class100.method1603((byte)39, var9, var2):0); + if(Class113.anInt1559 <= var3) { + var3 -= Class113.anInt1559; + } + + int var11; + int var12; + if(0 < var10) { + if(0 >= var6 || var4 <= 0) { + return; + } + + var11 = var4 / 2; + var12 = var6 / 2; + int var13 = var11 < var10?var11:var10; + int var14 = ~var12 <= ~var10?var10:var12; + int var16 = var4 + -(2 * var13); + int var15 = var13 + var3; + + for(int var17 = 0; var17 < var6; ++var17) { + int[] var18 = var7[var1 + var17]; + int var19; + int var21; + int var20; + if(~var17 > ~var14) { + var19 = var17 * var8 / var14; + if(~this.anInt3309 != -1) { + for(var20 = 0; var20 < var13; ++var20) { + var21 = var20 * var8 / var13; + var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, var3 - -var20)] = var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, var4 + var3 + -var20 - 1)] = ~var19 >= ~var21?var19:var21; + } + } else { + for(var20 = 0; ~var13 < ~var20; ++var20) { + var21 = var20 * var8 / var13; + var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, var20 + var3)] = var18[Class3_Sub28_Sub15.method633(-1 + var4 + var3 + -var20, RenderAnimationDefinition.anInt396)] = var21 * var19 >> 12; + } + } + + if(Class113.anInt1559 >= var16 + var15) { + Class76.method1359(var18, var15, var16, var19); + } else { + var20 = -var15 + Class113.anInt1559; + Class76.method1359(var18, var15, var20, var19); + Class76.method1359(var18, 0, -var20 + var16, var19); + } + } else { + var19 = var6 + -var17 - 1; + if(~var19 <= ~var14) { + for(var20 = 0; var13 > var20; ++var20) { + var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, var3 + var20)] = var18[Class3_Sub28_Sub15.method633(-1 + -var20 + var3 - -var4, RenderAnimationDefinition.anInt396)] = var8 * var20 / var13; + } + + if(~(var15 - -var16) < ~Class113.anInt1559) { + var20 = -var15 + Class113.anInt1559; + Class76.method1359(var18, var15, var20, var8); + Class76.method1359(var18, 0, var16 - var20, var8); + } else { + Class76.method1359(var18, var15, var16, var8); + } + } else { + var20 = var19 * var8 / var14; + int var22; + if(this.anInt3309 == 0) { + for(var21 = 0; var13 > var21; ++var21) { + var22 = var8 * var21 / var13; + var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, var3 - -var21)] = var18[Class3_Sub28_Sub15.method633(RenderAnimationDefinition.anInt396, -1 + var3 - (-var4 + var21))] = var22 * var20 >> 12; + } + } else { + for(var21 = 0; ~var13 < ~var21; ++var21) { + var22 = var21 * var8 / var13; + var18[Class3_Sub28_Sub15.method633(var3 - -var21, RenderAnimationDefinition.anInt396)] = var18[Class3_Sub28_Sub15.method633(-1 + -var21 + var4 + var3, RenderAnimationDefinition.anInt396)] = ~var20 >= ~var22?var20:var22; + } + } + + if(var16 + var15 > Class113.anInt1559) { + var21 = Class113.anInt1559 + -var15; + Class76.method1359(var18, var15, var21, var20); + Class76.method1359(var18, 0, -var21 + var16, var20); + } else { + Class76.method1359(var18, var15, var16, var20); + } + } + } + } + } else if(~Class113.anInt1559 <= ~(var3 - -var4)) { + for(var11 = 0; ~var6 < ~var11; ++var11) { + Class76.method1359(var7[var1 - -var11], var3, var4, var8); + } + } else { + var11 = Class113.anInt1559 - var3; + + for(var12 = 0; var6 > var12; ++var12) { + int[] var24 = var7[var12 + var1]; + Class76.method1359(var24, var3, var11, var8); + Class76.method1359(var24, 0, -var11 + var4, var8); + } + } + + } + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "ol.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.anInt3301 = 4; + } + + if(~var1 != -1) { + if(var1 == 1) { + this.anInt3300 = var2.getShort(1); + } else if(2 != var1) { + if(var1 != 3) { + if(-5 == ~var1) { + this.anInt3301 = var2.getShort(1); + } else if(var1 != 5) { + if(-7 != ~var1) { + if(-8 != ~var1) { + if(~var1 == -9) { + this.anInt3316 = var2.getShort(1); + } + } else { + this.anInt3299 = var2.getShort(1); + } + } else { + this.anInt3309 = var2.getByte((byte)-114); + } + } else { + this.anInt3303 = var2.getShort(1); + } + } else { + this.anInt3310 = var2.getShort(1); + } + } else { + this.anInt3308 = var2.getShort(1); + } + } else { + this.anInt3312 = var2.getByte((byte)-104); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ol.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final boolean method292(int var0, int var1, int var2, int var3, GameObject var4, int var5, long var6, int var8, int var9, int var10, int var11) { + return var4 == null?true:Class56.method1189(var0, var8, var9, var10 - var8 + 1, var11 - var9 + 1, var1, var2, var3, var4, var5, true, var6); + } + + static final int method293(int var0, int var1, boolean var2, int var3) { + try { + var1 &= 3; + return var2?120:(0 == var1?var3:(1 != var1?(-3 != ~var1?var0:-var3 + 1023):-var0 + 1023)); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ol.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub26.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub26.java new file mode 100644 index 000000000..d27e03284 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub26.java @@ -0,0 +1,100 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub26 extends Class3_Sub13 { + + static int anInt3332 = 50; + private static RSString aClass94_3334 = RSString.createRSString("wave2:"); + static RSString[] aClass94Array3317 = new RSString[anInt3332]; + static int[] anIntArray3318 = new int[anInt3332]; + static int[] anIntArray3319 = new int[anInt3332]; + static int rights = 0; + static int[] anIntArray3321 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; + private int anInt3322 = 4096; + static int anInt3323 = 50; + static RSString aClass94_3324 = RSString.createRSString(" loggt sich ein)3"); + static RSString aClass94_3325 = aClass94_3334; + static RSString aClass94_3326 = RSString.createRSString("leuchten1:"); + static int[] anIntArray3327 = new int[anInt3332]; + static int[] anIntArray3328 = new int[8]; + static int[] anIntArray3329 = new int[anInt3332]; + static RSString aClass94_3330 = RSString.createRSString(":assistreq:"); + static int[] anIntArray3331 = new int[anInt3332]; + static RSString aClass94_3333 = aClass94_3334; + static byte[][] aByteArrayArray3335; + static int[] anIntArray3336 = new int[anInt3332]; + static int[] anIntArray3337 = new int[anInt3332]; + + + public static void method294(byte var0) { + try { + anIntArray3327 = null; + anIntArray3337 = null; + aClass94_3326 = null; + aClass94Array3317 = null; + aClass94_3334 = null; + anIntArray3328 = null; + aClass94_3330 = null; + aClass94_3324 = null; + anIntArray3319 = null; + aByteArrayArray3335 = (byte[][])null; + anIntArray3329 = null; + aClass94_3333 = null; + anIntArray3336 = null; + int var1 = -62 % ((-59 - var0) / 47); + anIntArray3321 = null; + anIntArray3318 = null; + anIntArray3331 = null; + aClass94_3325 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pg.B(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub26() { + super(1, true); + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = 42 / ((30 - var2) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, var1 - 1 & Class3_Sub20.anInt2487, 32755); + int[] var6 = this.method152(0, var1, 32755); + int[] var7 = this.method152(0, Class3_Sub20.anInt2487 & var1 + 1, 32755); + + for(int var8 = 0; Class113.anInt1559 > var8; ++var8) { + int var9 = (var7[var8] + -var5[var8]) * this.anInt3322; + int var10 = this.anInt3322 * (-var6[var8 - 1 & RenderAnimationDefinition.anInt396] + var6[RenderAnimationDefinition.anInt396 & var8 - -1]); + int var11 = var10 >> 12; + int var12 = var9 >> 12; + int var13 = var11 * var11 >> 12; + int var14 = var12 * var12 >> 12; + int var15 = (int)(Math.sqrt((double)((float)(4096 + var14 + var13) / 4096.0F)) * 4096.0D); + int var16 = 0 != var15?16777216 / var15:0; + var4[var8] = 4096 + -var16; + } + } + + return var4; + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "pg.D(" + var1 + ',' + var2 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + method294((byte)-57); + } + + if(var1 == 0) { + this.anInt3322 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pg.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub27.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub27.java new file mode 100644 index 000000000..57cf9e0d4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub27.java @@ -0,0 +1,658 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub27 extends Class3_Sub13 { + + static long isaacServerKey = 0L; + static RSString aClass94_3339 = RSString.createRSString("null"); + static int anInt3340; + static RSString[] aClass94Array3341 = new RSString[100]; + static int anInt3342; + private int anInt3343 = 6; + static RSString aClass94_3344 = RSString.createRSString("Sie k-Onnen sich selbst nicht selbst auf Ihre Ignorieren)2Liste setzen(Q"); + + + static final void method295(RSString var0, byte var1, int var2) { + try { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(var1 + -36, 2, var2); + if(var1 != 40) { + method299(82, 22, -104); + } + + var3.g((byte)33); + var3.aClass94_3599 = var0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pi.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + int var4; + if(this.aClass114_2382.aBoolean1580) { + int[] var6 = this.method152(0, var1, 32755); + int[] var7 = this.method152(1, var1, 32755); + int var8 = this.anInt3343; + if(-2 == ~var8) { + for(var8 = 0; var8 < Class113.anInt1559; ++var8) { + var3[var8] = var7[var8] + var6[var8]; + } + } else if(~var8 != -3) { + if(~var8 != -4) { + int var5; + if(~var8 != -5) { + if(var8 == 5) { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var3[var8] = 4096 - ((-var6[var8] + 4096) * (-var7[var8] + 4096) >> 12); + } + } else if(~var8 != -7) { + if(~var8 != -8) { + if(-9 != ~var8) { + if(-10 == ~var8) { + for(var8 = 0; Class113.anInt1559 > var8; ++var8) { + var5 = var7[var8]; + var4 = var6[var8]; + var3[var8] = ~var4 > ~var5?var4:var5; + } + } else if(10 == var8) { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var5 = var7[var8]; + var4 = var6[var8]; + var3[var8] = ~var4 < ~var5?var4:var5; + } + } else if(~var8 != -12) { + if(~var8 == -13) { + for(var8 = 0; ~var8 > ~Class113.anInt1559; ++var8) { + var4 = var6[var8]; + var5 = var7[var8]; + var3[var8] = var5 + (var4 - (var4 * var5 >> 11)); + } + } + } else { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var4 = var6[var8]; + var5 = var7[var8]; + var3[var8] = ~var5 > ~var4?var4 + -var5:var5 - var4; + } + } + } else { + for(var8 = 0; var8 < Class113.anInt1559; ++var8) { + var4 = var6[var8]; + var3[var8] = ~var4 != -1?4096 - (-var7[var8] + 4096 << 12) / var4:0; + } + } + } else { + for(var8 = 0; Class113.anInt1559 > var8; ++var8) { + var4 = var6[var8]; + var3[var8] = var4 == 4096?4096:(var7[var8] << 12) / (4096 - var4); + } + } + } else { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var5 = var7[var8]; + var3[var8] = -2049 >= ~var5?-((-var6[var8] + 4096) * (4096 + -var5) >> 11) + 4096:var5 * var6[var8] >> 11; + } + } + } else { + for(var8 = 0; ~var8 > ~Class113.anInt1559; ++var8) { + var5 = var7[var8]; + var3[var8] = -1 != ~var5?(var6[var8] << 12) / var5:4096; + } + } + } else { + for(var8 = 0; ~var8 > ~Class113.anInt1559; ++var8) { + var3[var8] = var7[var8] * var6[var8] >> 12; + } + } + } else { + for(var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + var3[var8] = -var7[var8] + var6[var8]; + } + } + } + + var4 = -73 / ((30 - var2) / 36); + return var3; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "pi.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method296(byte var0) { + try { + aClass94Array3341 = null; + if(var0 >= -56) { + anInt3340 = 30; + } + + aClass94_3344 = null; + aClass94_3339 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pi.F(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + this.method157(-8, (RSByteBuffer)null, false); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-125, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var10 = this.method162(var2, 0, (byte)-87); + int[][] var11 = this.method162(var2, 1, (byte)-73); + int[] var12 = var3[0]; + int[] var13 = var3[1]; + int[] var14 = var3[2]; + int[] var15 = var10[0]; + int[] var16 = var10[1]; + int[] var17 = var10[2]; + int[] var18 = var11[0]; + int[] var19 = var11[1]; + int[] var20 = var11[2]; + int var21 = this.anInt3343; + if(~var21 == -2) { + for(var21 = 0; ~Class113.anInt1559 < ~var21; ++var21) { + var12[var21] = var18[var21] + var15[var21]; + var13[var21] = var19[var21] + var16[var21]; + var14[var21] = var17[var21] - -var20[var21]; + } + } else if(~var21 == -3) { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var12[var21] = var15[var21] - var18[var21]; + var13[var21] = -var19[var21] + var16[var21]; + var14[var21] = -var20[var21] + var17[var21]; + } + } else if(3 != var21) { + int var7; + int var8; + int var9; + if(var21 == 4) { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var9 = var20[var21]; + var8 = var19[var21]; + var7 = var18[var21]; + var12[var21] = ~var7 == -1?4096:(var15[var21] << 12) / var7; + var13[var21] = ~var8 != -1?(var16[var21] << 12) / var8:4096; + var14[var21] = var9 != 0?(var17[var21] << 12) / var9:4096; + } + } else if(var21 == 5) { + for(var21 = 0; ~var21 > ~Class113.anInt1559; ++var21) { + var12[var21] = 4096 + -((4096 - var18[var21]) * (4096 - var15[var21]) >> 12); + var13[var21] = 4096 - ((-var19[var21] + 4096) * (-var16[var21] + 4096) >> 12); + var14[var21] = 4096 + -((-var20[var21] + 4096) * (4096 + -var17[var21]) >> 12); + } + } else if(6 == var21) { + for(var21 = 0; var21 < Class113.anInt1559; ++var21) { + var9 = var20[var21]; + var7 = var18[var21]; + var8 = var19[var21]; + var12[var21] = -2049 >= ~var7?-((-var7 + 4096) * (-var15[var21] + 4096) >> 11) + 4096:var7 * var15[var21] >> 11; + var13[var21] = 2048 > var8?var8 * var16[var21] >> 11:4096 - ((4096 + -var8) * (-var16[var21] + 4096) >> 11); + var14[var21] = 2048 <= var9?4096 + -((4096 + -var9) * (-var17[var21] + 4096) >> 11):var17[var21] * var9 >> 11; + } + } else { + int var4; + int var5; + int var6; + if(-8 == ~var21) { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var6 = var17[var21]; + var4 = var15[var21]; + var5 = var16[var21]; + var12[var21] = ~var4 == -4097?4096:(var18[var21] << 12) / (-var4 + 4096); + var13[var21] = ~var5 == -4097?4096:(var19[var21] << 12) / (4096 + -var5); + var14[var21] = ~var6 == -4097?4096:(var20[var21] << 12) / (4096 - var6); + } + } else if(var21 == 8) { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var4 = var15[var21]; + var5 = var16[var21]; + var6 = var17[var21]; + var12[var21] = var4 == 0?0:-((-var18[var21] + 4096 << 12) / var4) + 4096; + var13[var21] = ~var5 == -1?0:-((-var19[var21] + 4096 << 12) / var5) + 4096; + var14[var21] = 0 == var6?0:4096 - (4096 - var20[var21] << 12) / var6; + } + } else if(-10 != ~var21) { + if(10 != var21) { + if(var21 == 11) { + for(var21 = 0; ~var21 > ~Class113.anInt1559; ++var21) { + var8 = var19[var21]; + var7 = var18[var21]; + var5 = var16[var21]; + var4 = var15[var21]; + var6 = var17[var21]; + var9 = var20[var21]; + var12[var21] = ~var4 < ~var7?var4 + -var7:-var4 + var7; + var13[var21] = var5 > var8?-var8 + var5:-var5 + var8; + var14[var21] = var9 < var6?var6 + -var9:-var6 + var9; + } + } else if(var21 == 12) { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var4 = var15[var21]; + var9 = var20[var21]; + var7 = var18[var21]; + var8 = var19[var21]; + var6 = var17[var21]; + var5 = var16[var21]; + var12[var21] = -(var7 * var4 >> 11) + var7 + var4; + var13[var21] = var8 + var5 + -(var5 * var8 >> 11); + var14[var21] = var9 + (var6 - (var6 * var9 >> 11)); + } + } + } else { + for(var21 = 0; ~Class113.anInt1559 < ~var21; ++var21) { + var9 = var20[var21]; + var6 = var17[var21]; + var8 = var19[var21]; + var4 = var15[var21]; + var5 = var16[var21]; + var7 = var18[var21]; + var12[var21] = var7 < var4?var4:var7; + var13[var21] = var5 > var8?var5:var8; + var14[var21] = ~var9 > ~var6?var6:var9; + } + } + } else { + for(var21 = 0; ~var21 > ~Class113.anInt1559; ++var21) { + var6 = var17[var21]; + var9 = var20[var21]; + var8 = var19[var21]; + var5 = var16[var21]; + var7 = var18[var21]; + var4 = var15[var21]; + var12[var21] = ~var4 <= ~var7?var7:var4; + var13[var21] = var5 >= var8?var8:var5; + var14[var21] = var6 < var9?var6:var9; + } + } + } + } else { + for(var21 = 0; Class113.anInt1559 > var21; ++var21) { + var12[var21] = var18[var21] * var15[var21] >> 12; + var13[var21] = var16[var21] * var19[var21] >> 12; + var14[var21] = var20[var21] * var17[var21] >> 12; + } + } + } + + return var3; + } catch (RuntimeException var22) { + throw Class44.method1067(var22, "pi.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method297(long var0, int var2) { + try { + if(var0 != 0L) { + for(int var3 = 0; ~var3 > ~Class8.anInt104; ++var3) { + if(~Class50.aLongArray826[var3] == ~var0) { + ++Class85.anInt1170; + --Class8.anInt104; + + for(int var4 = var3; var4 < Class8.anInt104; ++var4) { + Class70.aClass94Array1046[var4] = Class70.aClass94Array1046[var4 - -1]; + Class55.anIntArray882[var4] = Class55.anIntArray882[var4 + 1]; + Node.aClass94Array2566[var4] = Node.aClass94Array2566[1 + var4]; + Class50.aLongArray826[var4] = Class50.aLongArray826[1 + var4]; + Class57.anIntArray904[var4] = Class57.anIntArray904[var4 - -1]; + aBooleanArray73[var4] = aBooleanArray73[1 + var4]; + } + + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(57); + Class3_Sub13_Sub1.outgoingBuffer.putLong(var0, -2037491440); + break; + } + } + + if(var2 != 1) { + aClass94Array3341 = (RSString[])null; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pi.C(" + var0 + ',' + var2 + ')'); + } + } + + static final Class3_Sub11[] method298(byte[][][] var0, byte[][] var1, byte[][] var2, int[][] var3, float[][] var4, int[][] var5, byte[][] var6, byte[][] var7, float[][] var8, int var9, float[][] var10, int[][] var11, int[][] var12, int[][] var13, int var14) { + try { + int[][] var15 = new int[105][105]; + + int var17; + for(int var16 = 1; var16 <= 103; ++var16) { + for(var17 = 1; var17 <= 103; ++var17) { + byte var18 = var2[var16][var17]; + if(var18 == 0) { + var18 = var2[var16 + -1][var17]; + } + + if(~var18 == -1) { + var18 = var2[var16][-1 + var17]; + } + + if(-1 == ~var18) { + var18 = var2[-1 + var16][var17 - 1]; + } + + if(0 != var18) { + Class100 var19 = Class3_Sub28_Sub15.method629(true, -1 + (255 & var18)); + var15[var16][var17] = (1 + var19.anInt1412 << 16) - -var19.anInt1414; + } + } + } + + Class130 var52 = new Class130(128); + + int var21; + int var20; + int var22; + int var56; + for(var17 = 1; -103 <= ~var17; ++var17) { + for(var56 = 1; 102 >= var56; ++var56) { + if(0 != var2[var17][var56]) { + int[] var53; + if(0 == var6[var17][var56]) { + var53 = Class134.anIntArrayArray1763[0]; + } else { + var53 = Class25.anIntArrayArray499[var1[var17][var56]]; + if(-1 == ~var53.length) { + continue; + } + } + + var20 = 0; + var21 = var15[var17][var56]; + var22 = var15[var17 - -1][var56]; + if(null != var5) { + var20 = var5[var17][var56] & 16777215; + } + + long var27 = (long)var20 | (long)var22 << 32; + int var24 = var15[var17][var56 + 1]; + int var23 = var15[var17 + 1][var56 - -1]; + long var31 = (long)var24 << 32 | (long)var20; + int var33 = var53.length / 2; + long var25 = (long)var20 | (long)var21 << 32; + Class3_Sub11 var34 = (Class3_Sub11)var52.method1780(var25, 0); + if(null == var34) { + var34 = new Class3_Sub11(-1 + (var21 >> 16), (float)('\uffff' & var21), false, null != var13, var20); + var52.method1779(1, var34, var25); + } + + ++var34.anInt2344; + var34.anInt2342 += var33; + if(~var27 != ~var25) { + var34 = (Class3_Sub11)var52.method1780(var27, 0); + if(var34 == null) { + var34 = new Class3_Sub11((var22 >> 16) - 1, (float)('\uffff' & var22), false, null != var13, var20); + var52.method1779(var14 + -4095, var34, var27); + } + + ++var34.anInt2344; + var34.anInt2342 += var33; + } + + long var29 = (long)var23 << 32 | (long)var20; + if(~var29 != ~var25 && ~var29 != ~var27) { + var34 = (Class3_Sub11)var52.method1780(var29, var14 ^ 4096); + if(var34 == null) { + var34 = new Class3_Sub11((var23 >> 16) + -1, (float)('\uffff' & var23), false, null != var13, var20); + var52.method1779(1, var34, var29); + } + + var34.anInt2342 += var33; + ++var34.anInt2344; + } + + if(~var31 != ~var25 && ~var27 != ~var31 && var31 != var29) { + var34 = (Class3_Sub11)var52.method1780(var31, 0); + if(null == var34) { + var34 = new Class3_Sub11((var24 >> 16) - 1, (float)(var24 & '\uffff'), false, null != var13, var20); + var52.method1779(var14 ^ 4097, var34, var31); + } + + ++var34.anInt2344; + var34.anInt2342 += var33; + } + } + } + } + + if(var14 != 4096) { + method297(-10L, 48); + } + + Class3_Sub11 var54; + for(var54 = (Class3_Sub11)var52.method1776(92); var54 != null; var54 = (Class3_Sub11)var52.method1778(-102)) { + var54.method145(); + } + + for(var17 = 1; -103 <= ~var17; ++var17) { + for(var56 = 1; -103 <= ~var56; ++var56) { + byte var57 = var2[var17][var56]; + if(0 != var57) { + if(~(8 & var0[var9][var17][var56]) == -1) { + if(~(2 & var0[1][var17][var56]) == -3 && 0 < var9) { + var20 = var9 - 1; + } else { + var20 = var9; + } + } else { + var20 = 0; + } + + var21 = 0; + boolean[] var60 = null; + var22 = 128; + if(null != var5) { + var22 = var5[var17][var56] >>> 24 << 3; + var21 = 16777215 & var5[var17][var56]; + } + + int[] var58; + int var63; + int var62; + byte var61; + int var69; + int var64; + if(~var6[var17][var56] != -1) { + var58 = Class25.anIntArrayArray499[var1[var17][var56]]; + var60 = Class3_Sub13_Sub10.aBooleanArrayArray3118[var1[var17][var56]]; + var61 = var7[var17][var56]; + if(var58.length == 0) { + continue; + } + } else { + byte var26 = 0; + var64 = var26 + (~var57 != ~var2[var17 - 1][-1 + var56]?-1:1); + byte var65 = 0; + var58 = Class134.anIntArrayArray1763[0]; + var62 = var65 + (var57 == var2[1 + var17][var56 + -1]?1:-1); + if(var2[var17][var56 + -1] != var57) { + --var64; + --var62; + } else { + ++var62; + ++var64; + } + + byte var28 = 0; + var63 = var28 + (var57 == var2[1 + var17][1 + var56]?1:-1); + byte var68 = 0; + if(~var57 != ~var2[1 + var17][var56]) { + --var62; + --var63; + } else { + ++var63; + ++var62; + } + + var69 = var68 + (~var57 == ~var2[var17 - 1][1 + var56]?1:-1); + if(var2[var17][1 + var56] == var57) { + ++var69; + ++var63; + } else { + --var63; + --var69; + } + + if(var2[-1 + var17][var56] != var57) { + --var69; + --var64; + } else { + ++var69; + ++var64; + } + + int var30 = var64 + -var63; + int var66 = -var69 + var62; + if(~var66 > -1) { + var66 = -var66; + } + + if(-1 < ~var30) { + var30 = -var30; + } + + var61 = (byte)(~var66 >= ~var30?0:1); + var7[var17][var56] = var61; + } + + var64 = var15[var17][var56]; + var62 = var15[var17 - -1][var56]; + var63 = var15[var17 - -1][var56 - -1]; + long var67 = (long)var64 << 32 | (long)var21; + long var32 = (long)var62 << 32 | (long)var21; + long var70 = (long)var63 << 32 | (long)var21; + int var38 = var11[var17][var56]; + var69 = var15[var17][var56 - -1]; + int var40 = var11[var17 - -1][var56 - -1]; + int var39 = var11[1 + var17][var56]; + long var36 = (long)var21 | (long)var69 << 32; + int var41 = var11[var17][var56 + 1]; + int var42 = var3[var17][var56]; + int var43 = var3[var17 + 1][var56]; + int var44 = var3[var17 + 1][var56 - -1]; + int var45 = var3[var17][1 + var56]; + int var47 = -1 + (var62 >> 16); + int var46 = (var64 >> 16) - 1; + int var48 = (var63 >> 16) - 1; + Class3_Sub11 var50 = (Class3_Sub11)var52.method1780(var67, 0); + Class25.method955(var13, var64 <= var64, Class3_Sub13_Sub4.method190(var46, var38, (byte)-92, var42), var50, var58, var56, var20, var17, var64 <= var63, var8, var69 >= var64, 2, var4, var22, Class3_Sub13_Sub4.method190(var46, var41, (byte)-80, var45), Class3_Sub13_Sub4.method190(var46, var40, (byte)-103, var44), ~var64 >= ~var62, var12, var10, var61, Class3_Sub13_Sub4.method190(var46, var39, (byte)-118, var43), var60); + int var49 = (var69 >> 16) - 1; + if(var32 != var67) { + var50 = (Class3_Sub11)var52.method1780(var32, var14 ^ 4096); + Class25.method955(var13, var62 <= var64, Class3_Sub13_Sub4.method190(var47, var38, (byte)88, var42), var50, var58, var56, var20, var17, var63 >= var62, var8, var62 <= var69, 2, var4, var22, Class3_Sub13_Sub4.method190(var47, var41, (byte)-82, var45), Class3_Sub13_Sub4.method190(var47, var40, (byte)-113, var44), var62 <= var62, var12, var10, var61, Class3_Sub13_Sub4.method190(var47, var39, (byte)113, var43), var60); + } + + if(var70 != var67 && ~var70 != ~var32) { + var50 = (Class3_Sub11)var52.method1780(var70, 0); + Class25.method955(var13, ~var64 <= ~var63, Class3_Sub13_Sub4.method190(var48, var38, (byte)59, var42), var50, var58, var56, var20, var17, var63 <= var63, var8, var63 <= var69, var14 ^ 4098, var4, var22, Class3_Sub13_Sub4.method190(var48, var41, (byte)54, var45), Class3_Sub13_Sub4.method190(var48, var40, (byte)-87, var44), ~var62 <= ~var63, var12, var10, var61, Class3_Sub13_Sub4.method190(var48, var39, (byte)-77, var43), var60); + } + + if(~var36 != ~var67 && ~var36 != ~var32 && var36 != var70) { + var50 = (Class3_Sub11)var52.method1780(var36, 0); + Class25.method955(var13, ~var69 >= ~var64, Class3_Sub13_Sub4.method190(var49, var38, (byte)-118, var42), var50, var58, var56, var20, var17, var69 <= var63, var8, ~var69 <= ~var69, var14 ^ 4098, var4, var22, Class3_Sub13_Sub4.method190(var49, var41, (byte)-96, var45), Class3_Sub13_Sub4.method190(var49, var40, (byte)115, var44), ~var62 <= ~var69, var12, var10, var61, Class3_Sub13_Sub4.method190(var49, var39, (byte)58, var43), var60); + } + } + } + } + + for(var54 = (Class3_Sub11)var52.method1776(54); var54 != null; var54 = (Class3_Sub11)var52.method1778(-62)) { + if(~var54.anInt2343 != -1) { + var54.method148(); + } else { + var54.method86(-1024); + } + } + + var17 = var52.method1781(83); + Class3_Sub11[] var59 = new Class3_Sub11[var17]; + var52.method1782(var59, var14 ^ 4182); + long[] var55 = new long[var17]; + + for(var20 = 0; var17 > var20; ++var20) { + var55[var20] = var59[var20].aLong71; + } + + PacketParser.method824(var55, var59, -86); + return var59; + } catch (RuntimeException var51) { + throw Class44.method1067(var51, "pi.E(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + (var5 != null?"{...}":"null") + ',' + (var6 != null?"{...}":"null") + ',' + (var7 != null?"{...}":"null") + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ',' + (var10 != null?"{...}":"null") + ',' + (var11 != null?"{...}":"null") + ',' + (var12 != null?"{...}":"null") + ',' + (var13 != null?"{...}":"null") + ',' + var14 + ')'); + } + } + + public Class3_Sub13_Sub27() { + super(2, false); + } + + static final void method299(int var0, int var1, int var2) { + try { + if(var0 <= 92) { + method297(-6L, -85); + } + + int var3 = var1; + if(var1 > 25) { + var3 = 25; + } + + --var1; + int var4 = Class3_Sub13_Sub38.anIntArray3456[var1]; + int var5 = Class45.anIntArray729[var1]; + if(0 == var2) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(215); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-25, var3 - -var3 + 3); + ++Class23.anInt452; + } + + if(-2 == ~var2) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(39); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-111, 3 + var3 - (-var3 - 14)); + ++WorldListCountry.anInt503; + } + + if(~var2 == -3) { + ++Class143.anInt1873; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(77); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-70, var3 + var3 - -3); + } + + Class3_Sub13_Sub1.outgoingBuffer.putByteA(ObjectDefinition.aBooleanArray1490[82]?1:0, -13071); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class131.anInt1716 + var4); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class82.anInt1152 + var5, -268435456); + Class45.anInt733 = Class45.anIntArray729[0]; + Class65.anInt987 = Class3_Sub13_Sub38.anIntArray3456[0]; + + for(int var6 = 1; var3 > var6; ++var6) { + --var1; + Class3_Sub13_Sub1.outgoingBuffer.putByteA(-var4 + Class3_Sub13_Sub38.anIntArray3456[var1], -13071); + Class3_Sub13_Sub1.outgoingBuffer.putByteS(10213, Class45.anIntArray729[var1] + -var5); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "pi.O(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var1 == 0) { + this.anInt3343 = var2.getByte((byte)-104); + } else if(~var1 == -2) { + this.aBoolean2375 = ~var2.getByte((byte)-98) == -2; + } + + if(!var3) { + aClass94_3339 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pi.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub28.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub28.java new file mode 100644 index 000000000..3ce341054 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub28.java @@ -0,0 +1,194 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub28 extends Class3_Sub13 { + + static RSString aClass94_3345 = RSString.createRSString("glissement:"); + static Class3_Sub11[][] aClass3_Sub11ArrayArray3346; + private int anInt3347 = 3216; + private int[] anIntArray3348 = new int[3]; + static short[] aShortArray3349 = new short[]{(short)-10304, (short)9104, (short)-1, (short)-1, (short)-1}; + private int anInt3350 = 4096; + static int anInt3351; + static CacheIndex aClass153_3352; + static RSString aClass94_3353; + private int anInt3354 = 3216; + static RSString aClass94_3355 = RSString.createRSString("Angreifen"); + + + public static void method300(int var0) { + try { + aClass94_3353 = null; + if(var0 <= 6) { + aClass94_3345 = (RSString)null; + } + + aShortArray3349 = null; + aClass3_Sub11ArrayArray3346 = (Class3_Sub11[][])null; + aClass94_3355 = null; + aClass94_3345 = null; + aClass153_3352 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pk.F(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(0 == var1) { + this.anInt3350 = var2.getShort(1); + } else if(1 != var1) { + if(~var1 == -3) { + this.anInt3354 = var2.getShort(1); + } + } else { + this.anInt3347 = var2.getShort(1); + } + + if(!var3) { + method302(-47); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pk.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final int method301(byte var0) { + try { + //int var1 = -47 / ((45 - var0) / 57); + return Class3_Sub13_Sub33.anInt3398; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pk.E(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub28() { + super(1, true); + } + + final void method158(int var1) { + try { + if(var1 == 16251) { + this.method303((byte)59); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pk.P(" + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -79 % ((var2 - 30) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var8 = Class95.anInt1343 * this.anInt3350 >> 12; + int[] var9 = this.method152(0, Class3_Sub20.anInt2487 & var1 + -1, 32755); + int[] var10 = this.method152(0, var1, 32755); + int[] var11 = this.method152(0, 1 + var1 & Class3_Sub20.anInt2487, 32755); + + for(int var12 = 0; Class113.anInt1559 > var12; ++var12) { + int var14 = (var10[RenderAnimationDefinition.anInt396 & -1 + var12] - var10[1 + var12 & RenderAnimationDefinition.anInt396]) * var8 >> 12; + int var13 = var8 * (-var9[var12] + var11[var12]) >> 12; + int var15 = var14 >> 4; + if(0 > var15) { + var15 = -var15; + } + + if(var15 > 255) { + var15 = 255; + } + + int var16 = var13 >> 4; + if(-1 < ~var16) { + var16 = -var16; + } + + if(255 < var16) { + var16 = 255; + } + + int var17 = Class97.aByteArray1364[(var16 * (var16 - -1) >> 1) + var15] & 255; + int var6 = var13 * var17 >> 8; + int var5 = var17 * var14 >> 8; + var6 = var6 * this.anIntArray3348[1] >> 12; + var5 = this.anIntArray3348[0] * var5 >> 12; + int var7 = 4096 * var17 >> 8; + var7 = var7 * this.anIntArray3348[2] >> 12; + var4[var12] = var7 + var6 + var5; + } + } + + return var4; + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "pk.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method302(int var0) { + try { + if(var0 != 2) { + method301((byte)56); + } + + for(Class3_Sub28_Sub19 var1 = (Class3_Sub28_Sub19)Class3_Sub13_Sub30.aClass61_3364.method1222(); var1 != null; var1 = (Class3_Sub28_Sub19)Class3_Sub13_Sub30.aClass61_3364.method1221()) { + Class140_Sub6 var2 = var1.aClass140_Sub6_3778; + if(~WorldListCountry.localPlane == ~var2.anInt2907 && ~var2.anInt2899 <= ~Class44.anInt719) { + if(Class44.anInt719 >= var2.anInt2925) { + if(-1 > ~var2.anInt2919) { + NPC var3 = Class3_Sub13_Sub24.npcs[-1 + var2.anInt2919]; + if(null != var3 && var3.anInt2819 >= 0 && 13312 > var3.anInt2819 && var3.anInt2829 >= 0 && -13313 < ~var3.anInt2829) { + var2.method2024(var3.anInt2829, 1, Class44.anInt719, Class121.method1736(var2.anInt2907, 1, var3.anInt2819, var3.anInt2829) + -var2.anInt2903, var3.anInt2819); + } + } + + if(var2.anInt2919 < 0) { + int var4 = -1 + -var2.anInt2919; + Player var6; + if(Class3_Sub1.localIndex == var4) { + var6 = Class102.player; + } else { + var6 = Class3_Sub13_Sub22.players[var4]; + } + + if(null != var6 && var6.anInt2819 >= 0 && ~var6.anInt2819 > -13313 && var6.anInt2829 >= 0 && ~var6.anInt2829 > -13313) { + var2.method2024(var6.anInt2829, 1, Class44.anInt719, Class121.method1736(var2.anInt2907, 1, var6.anInt2819, var6.anInt2829) - var2.anInt2903, var6.anInt2819); + } + } + + var2.method2023((byte)-59, Class106.anInt1446); + Class20.method907(WorldListCountry.localPlane, (int)var2.aDouble2920, (int)var2.aDouble2900, (int)var2.aDouble2914, 60, var2, var2.anInt2924, -1L, false); + } + } else { + var1.method86(-1024); + } + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pk.C(" + var0 + ')'); + } + } + + private final void method303(byte var1) { + try { + double var2 = Math.cos((double)((float)this.anInt3354 / 4096.0F)); + this.anIntArray3348[0] = (int)(4096.0D * var2 * Math.sin((double)((float)this.anInt3347 / 4096.0F))); + if(var1 >= 46) { + this.anIntArray3348[1] = (int)(Math.cos((double)((float)this.anInt3347 / 4096.0F)) * var2 * 4096.0D); + this.anIntArray3348[2] = (int)(4096.0D * Math.sin((double)((float)this.anInt3354 / 4096.0F))); + int var6 = this.anIntArray3348[2] * this.anIntArray3348[2] >> 12; + int var5 = this.anIntArray3348[1] * this.anIntArray3348[1] >> 12; + int var4 = this.anIntArray3348[0] * this.anIntArray3348[0] >> 12; + int var7 = (int)(4096.0D * Math.sqrt((double)(var4 - (-var5 - var6) >> 12))); + if(~var7 != -1) { + this.anIntArray3348[2] = (this.anIntArray3348[2] << 12) / var7; + this.anIntArray3348[0] = (this.anIntArray3348[0] << 12) / var7; + this.anIntArray3348[1] = (this.anIntArray3348[1] << 12) / var7; + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "pk.B(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub29.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub29.java new file mode 100644 index 000000000..6347f373f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub29.java @@ -0,0 +1,216 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub29 extends Class3_Sub13 { + + static int anInt3356; + static RSString aClass94_3357 = RSString.createRSString(""); + static boolean disableGEBoxes = false; + static int[] anIntArray3359 = new int[5]; + static RSString aClass94_3360 = RSString.createRSString("mem="); + static CacheIndex aClass153_3361; + + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + Class76.method1359(var3, 0, Class113.anInt1559, Class163_Sub3.anIntArray2999[var1]); + } + + int var4 = -123 % ((30 - var2) / 36); + return var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "qg.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method304(int var0) { + try { + if(var0 != 6799) { + method305((Signlink)null, (RSByteBuffer)null, -13, (byte)41); + } + + Class3_Sub13_Sub34.aClass93_3412.method1524(3); + Class3_Sub13_Sub31.aClass93_3369.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qg.F(" + var0 + ')'); + } + } + + static final void method305(Signlink var0, RSByteBuffer var1, int var2, byte var3) { + try { + int var5 = 123 % ((var3 - -66) / 57); + Class3_Sub8 var4 = new Class3_Sub8(); + var4.anInt2296 = var1.getByte((byte)-54); + var4.anInt2305 = var1.getInt(); + var4.aClass64Array2298 = new Class64[var4.anInt2296]; + var4.anIntArray2300 = new int[var4.anInt2296]; + var4.aByteArrayArrayArray2302 = new byte[var4.anInt2296][][]; + var4.aClass64Array2303 = new Class64[var4.anInt2296]; + var4.anIntArray2301 = new int[var4.anInt2296]; + var4.anIntArray2299 = new int[var4.anInt2296]; + + for(int var6 = 0; ~var6 > ~var4.anInt2296; ++var6) { + try { + int var7 = var1.getByte((byte)-50); + String var8; + String var9; + int var10; + if(~var7 != -1 && var7 != 1 && -3 != ~var7) { + if(-4 == ~var7 || -5 == ~var7) { + var8 = new String(var1.getString().method1568(0)); + var9 = new String(var1.getString().method1568(0)); + var10 = var1.getByte((byte)-113); + String[] var11 = new String[var10]; + + for(int var12 = 0; var10 > var12; ++var12) { + var11[var12] = new String(var1.getString().method1568(0)); + } + + byte[][] var21 = new byte[var10][]; + int var14; + if(3 == var7) { + for(int var13 = 0; ~var10 < ~var13; ++var13) { + var14 = var1.getInt(); + var21[var13] = new byte[var14]; + var1.method764(0, var14, var21[var13], (byte)93); + } + } + + var4.anIntArray2301[var6] = var7; + Class[] var22 = new Class[var10]; + + for(var14 = 0; var10 > var14; ++var14) { + var22[var14] = Class3_Sub13_Sub1.method170(6092, var11[var14]); + } + + var4.aClass64Array2298[var6] = var0.method1443(Class3_Sub13_Sub1.method170(6092, var8), var22, -80, var9); + var4.aByteArrayArrayArray2302[var6] = var21; + } + } else { + var8 = new String(var1.getString().method1568(0)); + var10 = 0; + var9 = new String(var1.getString().method1568(0)); + if(var7 == 1) { + var10 = var1.getInt(); + } + + var4.anIntArray2301[var6] = var7; + var4.anIntArray2299[var6] = var10; + var4.aClass64Array2303[var6] = var0.method1447(-41, var9, Class3_Sub13_Sub1.method170(6092, var8)); + } + } catch (ClassNotFoundException var15) { + var4.anIntArray2300[var6] = -1; + } catch (SecurityException var16) { + var4.anIntArray2300[var6] = -2; + } catch (NullPointerException var17) { + var4.anIntArray2300[var6] = -3; + } catch (Exception var18) { + var4.anIntArray2300[var6] = -4; + } catch (Throwable var19) { + var4.anIntArray2300[var6] = -5; + } + } + + Class3_Sub26.aClass61_2557.method1215(true, var4); + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "qg.E(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method306(int var0, boolean var1, int var2) { + try { + Class79 var3 = CS2Script.method378(var0, (byte)127); + int var6 = var3.anInt1125; + if(!var1) { + int var5 = var3.anInt1123; + int var4 = var3.anInt1128; + int var7 = Class3_Sub6.anIntArray2288[var6 - var5]; + if(~var2 > -1 || ~var2 < ~var7) { + var2 = 0; + } + + var7 <<= var5; + Class86.method1428(var4, 72, var7 & var2 << var5 | Class163_Sub1.anIntArray2985[var4] & ~var7); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "qg.Q(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method307(RSString[] var0, short[] var1, int var2) { + try { + Class3_Sub8.method127(var1, -1 + var0.length, var0, -909, 0); + int var3 = 91 % ((var2 - -1) / 63); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qg.C(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static int bitwiseOr(int var0, int var1) { + try { + return var0 | var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qg.R(" + var0 + ',' + var1 + ')'); + } + } + + public static void method309(boolean var0) { + try { + anIntArray3359 = null; + if(var0) { + aClass153_3361 = null; + aClass94_3357 = null; + aClass94_3360 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qg.S(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub29() { + super(0, true); + } + + static final int method310(int var0, byte var1, int var2, int var3) { + try { + var0 &= 3; + if(~var0 != -1) { + if(var1 >= -17) { + aClass94_3357 = (RSString)null; + } + + return var0 == 1?7 + -var2:(~var0 == -3?-var3 + 7:var2); + } else { + return var3; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "qg.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class55 method311(int var0, int var1) { + try { + Class55 var2 = (Class55)Class41.aClass93_684.get((long)var0, (byte)121); + if(var2 != null) { + return var2; + } else { + byte[] var3 = Class3_Sub13_Sub19.aClass153_3227.getFile(33, (byte)-122, var0); + if(var1 != 5) { + aClass94_3357 = (RSString)null; + } + + var2 = new Class55(); + if(var3 != null) { + var2.method1182(new RSByteBuffer(var3), var0, (byte)85); + } + + Class41.aClass93_684.put((byte)-112, var2, (long)var0); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qg.O(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub3.java new file mode 100644 index 000000000..cd7049108 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub3.java @@ -0,0 +1,287 @@ +package org.runite.jagex; +import java.io.IOException; + +final class Class3_Sub13_Sub3 extends Class3_Sub13 { + + private int anInt3047 = 4096; + private static RSString aClass94_3048 = RSString.createRSString("Hidden"); + static Class148 aClass148_3049 = new Class148(); + private boolean aBoolean3050 = true; + static RSString aClass94_3051 = aClass94_3048; + static short aShort3052 = 205; + static RSString aClass94_3053 = RSString.createRSString("Lade Schrifts-=tze )2 "); + + + public static void method177(byte var0) { + try { + aClass94_3053 = null; + aClass94_3051 = null; + aClass94_3048 = null; + if(var0 != 119) { + aShort3052 = 109; + } + + aClass148_3049 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "an.E(" + var0 + ')'); + } + } + + static final RSString method178(byte[] var0, int var1, int var2, int var3) { + try { + RSString var4 = new RSString(); + var4.byteArray = new byte[var2]; + var4.length = 0; + if(var1 != -4114) { + aClass94_3053 = (RSString)null; + } + + for(int var5 = var3; ~(var2 + var3) < ~var5; ++var5) { + if(-1 != ~var0[var5]) { + var4.byteArray[var4.length++] = var0[var5]; + } + } + if (var4.toString().contains("RuneScape")) { + var4 = RSString.createRSString(var4.toString().replace("RuneScape", "Runite")); + } + if (var4.toString().contains("Jagex")) { + var4 = RSString.createRSString(var4.toString().replace("Jagex", "Runite")); + } + return var4; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "an.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub3() { + super(1, false); + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + aShort3052 = -37; + } + + if(0 == var1) { + this.anInt3047 = var2.getShort(1); + } else if(-2 == ~var1) { + this.aBoolean3050 = var2.getByte((byte)-88) == 1; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "an.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final int method179(byte var0, int var1) { + try { + if(var0 != 92) { + return 122; + } else { + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + ++Class73.anInt1088; + if(~Class73.anInt1088 < -5) { + Class43.anInt692 = 0; + Class73.anInt1088 = 0; + return var1; + } else { + Class43.anInt692 = 0; + if(Class123.anInt1658 != Class3_Sub28_Sub19.anInt3773) { + Class123.anInt1658 = Class3_Sub28_Sub19.anInt3773; + } else { + Class123.anInt1658 = Class53.anInt867; + } + + return -1; + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "an.F(" + var0 + ',' + var1 + ')'); + } + } + + static final void method180(int var0, int var1, int var2) { + try { + int var3; + if(Class113.anInt1559 != var2) { + Class102.anIntArray2125 = new int[var2]; + + for(var3 = 0; ~var2 < ~var3; ++var3) { + Class102.anIntArray2125[var3] = (var3 << 12) / var2; + } + + Class95.anInt1343 = 64 != var2?4096:2048; + RenderAnimationDefinition.anInt396 = -1 + var2; + Class113.anInt1559 = var2; + } + + var3 = 111 / ((56 - var0) / 38); + if(Class101.anInt1427 != var1) { + if(Class113.anInt1559 != var1) { + Class163_Sub3.anIntArray2999 = new int[var1]; + + for(int var4 = 0; var4 < var1; ++var4) { + Class163_Sub3.anIntArray2999[var4] = (var4 << 12) / var1; + } + } else { + Class163_Sub3.anIntArray2999 = Class102.anIntArray2125; + } + + Class101.anInt1427 = var1; + Class3_Sub20.anInt2487 = var1 + -1; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "an.S(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final boolean method181(int var0) { + try { + if(var0 != -15450) { + method182(false); + } + + try { + return PacketParser.parseIncomingPackets((byte)-83); + } catch (IOException var4) { + Class3_Sub13_Sub24.method289(false); + return true; + } catch (Exception var5) { + String var2 = "T2 - " + RSString.incomingOpcode + "," + Class7.anInt2166 + "," + Class24.anInt469 + " - " + Class130.incomingPacketLength + "," + (Class131.anInt1716 - -Class102.player.anIntArray2767[0]) + "," + (Class102.player.anIntArray2755[0] + Class82.anInt1152) + " - "; + + for(int var3 = 0; var3 < Class130.incomingPacketLength && 50 > var3; ++var3) { + var2 = var2 + GraphicDefinition.incomingBuffer.buffer[var3] + ","; + } + + Class49.method1125(var2, var5, (byte)108); + Class167.method2269((byte)46); + return true; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "an.C(" + var0 + ')'); + } + } + + static final void method182(boolean var0) { + try { + if(!var0) { + method179((byte)120, -73); + } + + Class82.aClass93_1146.method1524(3); + Class159.aClass93_2016.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "an.Q(" + var0 + ')'); + } + } + + static final void method183(int var0) { + try { + if(var0 > -91) { + aClass148_3049 = (Class148)null; + } + + Class41.aClass93_684.method1524(3); + Class163_Sub1.aClass93_2984.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "an.O(" + var0 + ')'); + } + } + + static final void method184(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + int var11 = Class40.method1040(Class57.anInt902, var6, (byte)0, Class159.anInt2020); + int var12 = Class40.method1040(Class57.anInt902, var0, (byte)0, Class159.anInt2020); + int var13 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var3, (byte)0, Class101.anInt1425); + int var14 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var2, (byte)0, Class101.anInt1425); + if(var4 != 1) { + method183(-1); + } + + int var7 = Class40.method1040(Class57.anInt902, var6 + var1, (byte)0, Class159.anInt2020); + int var8 = Class40.method1040(Class57.anInt902, -var1 + var0, (byte)0, Class159.anInt2020); + + int var15; + for(var15 = var11; var7 > var15; ++var15) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var15], var13, 127, var14, var5); + } + + for(var15 = var12; ~var8 > ~var15; --var15) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var15], var13, -76, var14, var5); + } + + int var9 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var1 + var3, (byte)0, Class101.anInt1425); + int var10 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var1 + var2, (byte)0, Class101.anInt1425); + + for(var15 = var7; ~var15 >= ~var8; ++var15) { + int[] var16 = Class38.anIntArrayArray663[var15]; + Class3_Sub13_Sub23_Sub1.method282(var16, var13, -59, var9, var5); + Class3_Sub13_Sub23_Sub1.method282(var16, var10, var4 + -97, var14, var5); + } + + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "an.R(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + int[][] var3 = this.aClass97_2376.method1594((byte)58, var2); + if(this.aClass97_2376.aBoolean1379) { + int[] var4 = this.method152(0, Class3_Sub20.anInt2487 & var2 + -1, 32755); + int[] var5 = this.method152(0, var2, 32755); + int[] var6 = this.method152(0, 1 + var2 & Class3_Sub20.anInt2487, 32755); + int[] var7 = var3[0]; + int[] var8 = var3[1]; + int[] var9 = var3[2]; + + for(int var10 = 0; var10 < Class113.anInt1559; ++var10) { + int var14 = this.anInt3047 * (-var4[var10] + var6[var10]); + int var15 = this.anInt3047 * (-var5[RenderAnimationDefinition.anInt396 & -1 + var10] + var5[var10 + 1 & RenderAnimationDefinition.anInt396]); + int var17 = var14 >> 12; + int var16 = var15 >> 12; + int var19 = var17 * var17 >> 12; + int var18 = var16 * var16 >> 12; + int var20 = (int)(Math.sqrt((double)((float)(var18 + var19 - -4096) / 4096.0F)) * 4096.0D); + int var11; + int var12; + int var13; + if(0 == var20) { + var13 = 0; + var11 = 0; + var12 = 0; + } else { + var13 = 16777216 / var20; + var12 = var14 / var20; + var11 = var15 / var20; + } + + if(this.aBoolean3050) { + var12 = 2048 - -(var12 >> 1); + var13 = (var13 >> 1) + 2048; + var11 = (var11 >> 1) + 2048; + } + + var7[var10] = var11; + var8[var10] = var12; + var9[var10] = var13; + } + } + + if(var1 != -1) { + method180(-55, -63, -5); + } + + return var3; + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "an.T(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub30.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub30.java new file mode 100644 index 000000000..af0021961 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub30.java @@ -0,0 +1,289 @@ +package org.runite.jagex; + +import org.runite.Properties; + +final class Class3_Sub13_Sub30 extends Class3_Sub13 { + + static int anInt3362 = -1; + static int anInt3363; + static Class61 aClass61_3364 = new Class61(); + static int anInt3365; + static long aLong3366; + static int[] anIntArray3367 = new int[64]; + static RSString aClass94_3368 = RSString.createRSString(":clanreq:"); + + + /** + * Gets the properly colored string for the combat level difference. + * + * @param their + * their combat level + * @param my + * my combat level + * @returns + * the annoying RSString. + */ + static final RSString getProperColor(int their, int my){ + if((my - their) < 10){ + return RSString.createRSString(""); + } else if (my == their){ + return RSString.createRSString(""); + } else if((my - their) < 3 && (my - their) > 6){ + return RSString.createRSString(""); + } else if((my - their) > 1 && (my - their) < 3){ + return RSString.createRSString(""); + } else if((my - their) > 3){ + return RSString.createRSString(""); + } + return RSString.createRSString(""); + } + + + static final void method312(int var0, int var1, int var2, Player var3, int var4) { + try { + if(Class102.player != var3) { + if(Class3_Sub13_Sub34.anInt3415 < 400) { + RSString var5; + if(-1 == ~var3.anInt3974) { + boolean var6 = true; + if(~Class102.player.anInt3970 != 0 && -1 != var3.anInt3970) { + int var7 = var3.COMBAT_LEVEL < Class102.player.COMBAT_LEVEL?Class102.player.COMBAT_LEVEL:var3.COMBAT_LEVEL; + int var8 = ~Class102.player.anInt3970 > ~var3.anInt3970?Class102.player.anInt3970:var3.anInt3970; + int var9 = 5 - -(var7 * 10 / 100) + var8; + int var10 = -var3.COMBAT_LEVEL + Class102.player.COMBAT_LEVEL; + if(0 > var10) { + var10 = -var10; + } + + if(var9 < var10) { + var6 = false; + } + } + + RSString levelEquals = Class158.anInt2014 != 1?Class27.aClass94_525:Class3_Sub22.aClass94_2526; + if(var3.COMBAT_LEVEL < var3.anInt3965) { + var5 = RenderAnimationDefinition.method903(new RSString[]{var3.getName(0), var6?Class72.method1295(var3.COMBAT_LEVEL, (byte)-73, Class102.player.COMBAT_LEVEL):Class3_Sub26.CONTEXT_MENU_COLOR , Class72.LEFT_PARENTHESES, levelEquals, Class72.method1298((byte)9, var3.COMBAT_LEVEL), Class40.aClass94_673, Class72.method1298((byte)9, var3.anInt3965 + -var3.COMBAT_LEVEL), Class3_Sub9.RIGHT_PARENTHESES}, (byte)-127); + } else { + //here + var5 = RenderAnimationDefinition.method903(new RSString[]{var3.getName(0), var6 ? Class72.method1295(var3.COMBAT_LEVEL, (byte)-128, Class102.player.COMBAT_LEVEL) : getProperColor(var3.COMBAT_LEVEL, Class102.player.COMBAT_LEVEL), Class72.LEFT_PARENTHESES, levelEquals, Class72.method1298((byte)9, var3.COMBAT_LEVEL), Class3_Sub9.RIGHT_PARENTHESES}, (byte)-70); + } + } else { + var5 = RenderAnimationDefinition.method903(new RSString[]{var3.getName(0), Class72.LEFT_PARENTHESES, Class27.aClass94_522, Class72.method1298((byte)9, var3.anInt3974), Class3_Sub9.RIGHT_PARENTHESES}, (byte)-119); + } + + int var12; + if(~Class164_Sub1.anInt3012 == -2) { + Class54.method1177(Class99.anInt1403, (long)var0, (byte)-80, RenderAnimationDefinition.method903(new RSString[]{RenderAnimationDefinition.aClass94_378, Class56.aClass94_892, var5}, (byte)-125), var4, (short)1, Class3_Sub13_Sub32.aClass94_3388, var2); + ++Class129_Sub1.anInt2684; + } else if(!GameObject.aBoolean1837) { + for(var12 = 7; -1 >= ~var12; --var12) { + if(null != Class91.aClass94Array1299[var12]) { + ++Class55.anInt880; + short var14 = 0; + boolean var16 = false; + if(~Class158.anInt2014 == -1 && Class91.aClass94Array1299[var12].equals(-123, Class3_Sub13_Sub36.aClass94_3427)) { + //If other player level greater than my level, then right click to attack. + if(var3.COMBAT_LEVEL > Class102.player.COMBAT_LEVEL && !Properties.get().isInstantAttack()) { + var14 = 2000;//Var for right click higher level players + } + if(-1 != ~Class102.player.teamId && ~var3.teamId != -1) { + if(~Class102.player.teamId != ~var3.teamId) { + var14 = 0; + } else { + var14 = 2000; + } + } + } else if(Class1.aBooleanArray54[var12]) { + var14 = 2000; + } + + short var15 = Class7.aShortArray2167[var12]; + var15 += var14; + Class54.method1177(Class3_Sub13_Sub26.anIntArray3328[var12], (long)var0, (byte)-73, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub26.CONTEXT_MENU_COLOR , var5}, (byte)-78), var4, var15, Class91.aClass94Array1299[var12], var2); + } + } + } else if((8 & Class164.anInt2051) != 0) { + ++Class3_Sub13_Sub13.anInt3151; + Class54.method1177(Class144.anInt1887, (long)var0, (byte)-58, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class56.aClass94_892, var5}, (byte)-116), var4, (short)15, Class3_Sub28_Sub9.aClass94_3621, var2); + } + + if(var1 <= 0) { + aLong3366 = -79L; + } + + for(var12 = 0; ~Class3_Sub13_Sub34.anInt3415 < ~var12; ++var12) { + if(~Class3_Sub13_Sub7.aShortArray3095[var12] == -61) { + Class163_Sub2_Sub1.aClass94Array4016[var12] = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub26.CONTEXT_MENU_COLOR , var5}, (byte)-75); + break; + } + } + + } + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "rj.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + static final void method313(byte var0) { + try { + if(var0 <= 51) { + method312(77, -52, -42, (Player)null, 120); + } + + Class166.method2257(96); + Class3_Sub8.method128(2); + Class163_Sub2_Sub1.method2220(0); + Class3_Sub10.method139(69); + Class3_Sub26.method512((byte)-108); + Class104.method1626((byte)-128); + Class3_Sub13_Sub3.method182(true); + Class145.method2077(true); + Class25.method959(0); + Class3_Sub28_Sub19.method716(14073); + Class3_Sub15.method370((byte)-73); + Class3_Sub13_Sub29.method304(6799); + Class40.method1045(-19761); + Class3_Sub13_Sub3.method183(-108); + Class3_Sub29.method727(91); + Class3_Sub21.method397((byte)-41); + if(~Class3_Sub13_Sub13.anInt3148 != -1) { + for(int var1 = 0; ~Class3_Sub6.aByteArrayArray2287.length < ~var1; ++var1) { + Class3_Sub6.aByteArrayArray2287[var1] = null; + } + + Class56.anInt893 = 0; + } + + Class108.method1659(16712751); + Class3_Sub10.method142(true); + Class80.aClass93_1135.method1524(3); + if(!HDToolKit.highDetail) { + ((Class102)Class51.anInterface2_838).method1618(0); + } + + Class56.aClass47_885.method1101(2); + Class75_Sub3.aClass153_2660.method2137((byte)56); + Class3_Sub28_Sub19.aClass153_3772.method2137((byte)56); + Class140_Sub3.aClass153_2727.method2137((byte)56); + Class146.aClass153_1902.method2137((byte)56); + Class3_Sub13_Sub6.aClass153_3077.method2137((byte)56); + Class75_Sub2.aClass153_2645.method2137((byte)56); + Class159.aClass153_2019.method2137((byte)56); + Class140_Sub6.spritesCacheIndex.method2137((byte)56); + Class3_Sub13_Sub25.aClass153_3304.method2137((byte)56); + Node.aClass153_2573.method2137((byte)56); + Class3_Sub1.interfaceScriptsIndex.method2137((byte)56); + Class3_Sub13_Sub11.aClass93_3130.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rj.E(" + var0 + ')'); + } + } + + private final int method314(int var1, int var2, int var3) { + try { + if(var2 != 7001) { + this.method314(-83, 92, 48); + } + + int var4 = var3 - -(57 * var1); + var4 ^= var4 << 1; + return 4096 + -((var4 * (var4 * var4 * 15731 - -789221) - -1376312589 & Integer.MAX_VALUE) / 262144); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "rj.O(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub30() { + super(0, true); + } + + public static void method315(int var0) { + try { + aClass61_3364 = null; + anIntArray3367 = null; + if(var0 != -15028) { + aClass61_3364 = (Class61)null; + } + + aClass94_3368 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rj.B(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 104 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = Class163_Sub3.anIntArray2999[var1]; + + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + var3[var6] = this.method314(var5, 7001, Class102.anIntArray2125[var6]) % 4096; + } + } + + return var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "rj.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void parseObjectMapping(Class91[] var0, int var1, byte[] var2, int var3, int var4, int var5, int var6, boolean var7, int var8, int var9, byte var10) { + try { + if(var10 == -54) { + int var12 = -1; + RSByteBuffer var11 = new RSByteBuffer(var2); + + while(true) { + int var13 = var11.method773((byte)-127); + if(~var13 == -1) { + return; + } + + var12 += var13; + int var14 = 0; + + while(true) { + int var15 = var11.getSmart(true); + if(~var15 == -1) { + break; + } + + var14 += -1 + var15; + int var16 = 63 & var14; + int var17 = var14 >> 6 & 63; + int var18 = var14 >> 12; + int var19 = var11.getByte((byte)-51); + int var20 = var19 >> 2; + int var21 = 3 & var19; + if(~var3 == ~var18 && ~var17 <= ~var8 && var17 < 8 + var8 && var9 <= var16 && 8 + var9 > var16) { + ObjectDefinition var22 = Class162.getObjectDefinition(4, var12); + int var23 = Class3_Sub7.method121(var16 & 7, var4, var21, var22.anInt1485, var22.anInt1480, 1, 7 & var17) + var5; + int var24 = GameObject.method1863(var22.anInt1480, var4, (byte)126, var22.anInt1485, 7 & var17, var21, 7 & var16) + var6; + if(~var23 < -1 && var24 > 0 && -104 < ~var23 && var24 < 103) { + Class91 var25 = null; + if(!var7) { + int var26 = var1; + if(2 == (Class9.aByteArrayArrayArray113[1][var23][var24] & 2)) { + var26 = var1 - 1; + } + + if(var26 >= 0) { + var25 = var0[var26]; + } + } + + Class110.method1683(var1, !var7, var1, var7, var25, var12, var20, var23, (byte)50, var24, 3 & var21 + var4); + } + } + } + } + } + } catch (RuntimeException var27) { + throw Class44.method1067(var27, "rj.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub31.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub31.java new file mode 100644 index 000000000..b4907c44c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub31.java @@ -0,0 +1,77 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub31 extends Class3_Sub13 { + + static Class93 aClass93_3369 = new Class93(64); + static RSString aClass94_3370 = RSString.createRSString("hitmarks"); + private static RSString aClass94_3371 = RSString.createRSString("Sat"); + private static RSString aClass94_3372 = RSString.createRSString("Mon"); + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array3373; + private static RSString aClass94_3374 = RSString.createRSString("Fri"); + static int anInt3375 = 0; + static int anInt3377 = 7759444; + private static RSString aClass94_3378 = RSString.createRSString("Wed"); + private static RSString aClass94_3379 = RSString.createRSString("Thu"); + private static RSString aClass94_3380 = RSString.createRSString("Tue"); + private static RSString aClass94_3381 = RSString.createRSString("Sun"); + static RSString aClass94_3382 = RSString.createRSString("(U0a )2 in: "); + static RSString[] aClass94Array3376 = new RSString[]{aClass94_3381, aClass94_3372, aClass94_3380, aClass94_3378, aClass94_3379, aClass94_3374, aClass94_3371}; + + public static void method317(int var0) { + try { + aClass94Array3376 = null; + aClass94_3378 = null; + aClass94_3374 = null; + aClass94_3382 = null; + aClass94_3381 = null; + aClass94_3372 = null; + aClass94_3380 = null; + if(var0 != 7759444) { + method317(72); + } + + aClass93_3369 = null; + aClass94_3379 = null; + aClass3_Sub28_Sub16Array3373 = null; + aClass94_3370 = null; + aClass94_3371 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rl.C(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -96 / ((var2 - 30) / 36); + return Class102.anIntArray2125; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "rl.D(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub31() { + super(0, true); + } + + static final void method318(int var0) { + try { + Class3_Sub4 var1 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1222(); + if(var0 != 7759444) { + aClass94_3379 = (RSString)null; + } + + for(; null != var1; var1 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1221()) { + if(var1.anInt2259 != -1) { + var1.method86(-1024); + } else { + var1.anInt2261 = 0; + Class132.method1798(56, var1); + } + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rl.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub32.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub32.java new file mode 100644 index 000000000..44aefd7dd --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub32.java @@ -0,0 +1,127 @@ +package org.runite.jagex; +import java.awt.Font; + +final class Class3_Sub13_Sub32 extends Class3_Sub13 { + + static int[] anIntArray3383 = new int[5]; + static Font aFont3384; + private int anInt3385 = 585; + private static RSString aClass94_3386 = RSString.createRSString("Use"); + static boolean aBoolean3387 = true; + static RSString aClass94_3388 = aClass94_3386; + static volatile int anInt3389 = 0; + + + static final int method319(int var0, int var1, int var2) { + try { + if(var1 >= -99) { + aBoolean3387 = true; + } + + int var3 = var0 >>> 31; + return (var0 + var3) / var2 - var3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sa.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub32() { + super(0, true); + } + + static final void method320(int var0, int var1, int var2, byte var3, int var4) { + try { + if(~var4 >= ~var2) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var1], var4, -83, var2, var0); + } else { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var1], var2, -48, var4, var0); + } + + if(var3 > -55) { + method320(99, 100, 74, (byte)13, 92); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sa.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = -76 / ((var2 - 30) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = Class163_Sub3.anIntArray2999[var1]; + + for(int var6 = 0; ~Class113.anInt1559 < ~var6; ++var6) { + int var7 = Class102.anIntArray2125[var6]; + int var8; + if(var7 > this.anInt3385 && 4096 - this.anInt3385 > var7 && ~(2048 + -this.anInt3385) > ~var5 && ~var5 > ~(this.anInt3385 + 2048)) { + var8 = 2048 - var7; + var8 = var8 < 0?-var8:var8; + var8 <<= 12; + var8 /= -this.anInt3385 + 2048; + var3[var6] = -var8 + 4096; + } else if(~var7 < ~(-this.anInt3385 + 2048) && var7 < this.anInt3385 + 2048) { + var8 = var5 + -2048; + var8 = ~var8 <= -1?var8:-var8; + var8 -= this.anInt3385; + var8 <<= 12; + var3[var6] = var8 / (-this.anInt3385 + 2048); + } else if(~var5 <= ~this.anInt3385 && ~(4096 - this.anInt3385) <= ~var5) { + if(this.anInt3385 <= var7 && var7 <= 4096 - this.anInt3385) { + var3[var6] = 0; + } else { + var8 = -var5 + 2048; + var8 = -1 < ~var8?-var8:var8; + var8 <<= 12; + var8 /= 2048 - this.anInt3385; + var3[var6] = -var8 + 4096; + } + } else { + var8 = var7 + -2048; + var8 = 0 > var8?-var8:var8; + var8 -= this.anInt3385; + var8 <<= 12; + var3[var6] = var8 / (-this.anInt3385 + 2048); + } + } + } + + return var3; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "sa.D(" + var1 + ',' + var2 + ')'); + } + } + + public static void method321(int var0) { + try { + aClass94_3386 = null; + anIntArray3383 = null; + aFont3384 = null; + aClass94_3388 = null; + if(var0 != -21136) { + method319(-38, -96, -102); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sa.B(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + anInt3389 = 99; + } + + if(-1 == ~var1) { + this.anInt3385 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "sa.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub33.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub33.java new file mode 100644 index 000000000..273111f16 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub33.java @@ -0,0 +1,204 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub33 extends Class3_Sub13 { + + static byte[][][] aByteArrayArrayArray3390; + static RSString[] aClass94Array3391; + private Class75[] aClass75Array3392; + static Class133[] aClass133Array3393 = new Class133[6]; + static RSString aClass94_3394 = RSString.createRSString(""); + static int anInt3395; + static byte[] aByteArray3396; + + static volatile int anInt3398 = 0; + static RSString aClass94_3399 = RSString.createRSString("
(X"); + private static RSString aClass94_3400 = RSString.createRSString("Take"); + static RSString aClass94_3401 = RSString.createRSString("Weiter"); +static RSString aClass94_3397 = aClass94_3400; + + final int[] method154(int var1, byte var2) { + try { + int var4 = -75 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + this.method323(-60, this.aClass114_2382.method1710((byte)124)); + } + + return var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "si.D(" + var1 + ',' + var2 + ')'); + } + } + + static final int method322(boolean var0, byte var1) { + try { + return !var0?104:255 & var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "si.C(" + var0 + ',' + var1 + ')'); + } + } + + private final void method323(int var1, int[][] var2) { + try { + int var4 = Class101.anInt1427; + int var3 = Class113.anInt1559; + Class3_Sub13_Sub13.method230(var2, true); + Class58.method1196(0, 0, (byte)111, Class3_Sub20.anInt2487, RenderAnimationDefinition.anInt396); + if(this.aClass75Array3392 != null) { + for(int var5 = 0; this.aClass75Array3392.length > var5; ++var5) { + Class75 var6 = this.aClass75Array3392[var5]; + int var7 = var6.anInt1101; + int var8 = var6.anInt1104; + if(var7 >= 0) { + if(~var8 > -1) { + var6.method1341(2, var3, var4); + } else { + var6.method1335(var4, var3, 4898); + } + } else if(~var8 <= -1) { + var6.method1337(var4, true, var3); + } + } + } + + if(var1 != -60) { + method326((byte)-35, (RSString)null); + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "si.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var1 == 0) { + this.aClass75Array3392 = new Class75[var2.getByte((byte)-77)]; + + for(int var4 = 0; ~this.aClass75Array3392.length < ~var4; ++var4) { + int var5 = var2.getByte((byte)-44); + if(var5 == 0) { + this.aClass75Array3392[var4] = Class8.method843(-5232, var2); + } else if(-2 == ~var5) { + this.aClass75Array3392[var4] = Class3_Sub28_Sub2.method536((byte)54, var2); + } else if(var5 != 2) { + if(3 == var5) { + this.aClass75Array3392[var4] = Class3_Sub19.method384(var2, (byte)80); + } + } else { + this.aClass75Array3392[var4] = Class3_Sub22.method404((byte)-110, var2); + } + } + } else if(1 == var1) { + this.aBoolean2375 = var2.getByte((byte)-48) == 1; + } + + if(!var3) { + this.method323(124, (int[][])((int[][])null)); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "si.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method324(int var0, boolean var1) { + try { + Class92.method1506(Class92.anInt1322, (0.7F + (float)var0 * 0.1F) * 1.1523438F, 0.69921875F, 0.69921875F); + Class92.method1509(-50.0F, -60.0F, -50.0F); + Class92.method1508(Class92.anInt1316, 0); + Class92.method1504(); + if(var1) { + aByteArrayArrayArray3390 = (byte[][][])((byte[][][])null); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "si.Q(" + var0 + ',' + var1 + ')'); + } + } + + public static void method325(int var0) { + try { + aClass94_3401 = null; + aByteArrayArrayArray3390 = (byte[][][])null; + if(var0 == 0) { + aByteArray3396 = null; + aClass133Array3393 = null; + aClass94_3400 = null; + aClass94Array3391 = null; + aClass94_3397 = null; + aClass94_3399 = null; + aClass94_3394 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "si.E(" + var0 + ')'); + } + } + + static final int method326(byte var0, RSString var1) { + try { + if(var0 <= 13) { + aClass94_3399 = (RSString)null; + } + + return var1.length(-43) + 1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "si.O(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + return (int[][])((int[][])null); + } else { + int[][] var3 = this.aClass97_2376.method1594((byte)-117, var2); + if(this.aClass97_2376.aBoolean1379) { + int var4 = Class113.anInt1559; + int var5 = Class101.anInt1427; + int[][] var6 = new int[var5][var4]; + int[][][] var7 = this.aClass97_2376.method1589((byte)-56); + this.method323(-60, var6); + + for(int var8 = 0; var8 < Class101.anInt1427; ++var8) { + int[] var9 = var6[var8]; + int[][] var10 = var7[var8]; + int[] var11 = var10[0]; + int[] var12 = var10[1]; + int[] var13 = var10[2]; + + for(int var14 = 0; ~var14 > ~Class113.anInt1559; ++var14) { + int var15 = var9[var14]; + var13[var14] = Class3_Sub28_Sub15.method633(255, var15) << 4; + var12[var14] = Class3_Sub28_Sub15.method633(4080, var15 >> 4); + var11[var14] = Class3_Sub28_Sub15.method633(var15 >> 12, 4080); + } + } + } + + return var3; + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "si.T(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub33() { + super(0, true); + } + + static final void method327(int var0, int var1, byte var2) { + try { + if(var2 != 68) { + aClass94_3397 = (RSString)null; + } + + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(var2 + -64, 12, var1); + var3.g((byte)33); + var3.anInt3598 = var0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "si.B(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub34.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub34.java new file mode 100644 index 000000000..da59d53cc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub34.java @@ -0,0 +1,442 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub34 extends Class3_Sub13 { + + static int anInt3402; + private int[] anIntArray3403 = new int[3]; + private int anInt3404 = 409; + private int anInt3405 = 4096; + private int anInt3406 = 4096; + static Class47 aClass47_3407 = new Class47(64); + static RSString aClass94_3408 = RSString.createRSString("Untersuchen"); + static RSString aClass94_3409 = RSString.createRSString("Musik)2Engine vorbereitet)3"); + private int anInt3410 = 4096; + static long aLong3411 = 0L; + static Class93 aClass93_3412 = new Class93(64); + static int anInt3413 = 0; + static int anInt3414; + static int anInt3415 = 0; + static boolean aBoolean3416 = false; + static int anInt3417; + + + static final void method328(int var0, RSByteBuffer var1) { + try { + if(var0 != -21774) { + method330(-115, 107, 60, 70, -41, 115); + } + + while(var1.index < var1.buffer.length) { + int var4 = 0; + boolean var3 = false; + int var5 = 0; + if(var1.getByte((byte)-23) == 1) { + var3 = true; + var4 = var1.getByte((byte)-76); + var5 = var1.getByte((byte)-88); + } + + int var6 = var1.getByte((byte)-70); + int var7 = var1.getByte((byte)-89); + int var8 = -Class3_Sub13_Sub21.anInt3256 + var6 * 64; + int var9 = Class108.anInt1460 + -1 - -Class2.anInt65 - 64 * var7; + byte var2; + int var10; + if(-1 >= ~var8 && ~(-63 + var9) <= -1 && Class23.anInt455 > var8 + 63 && ~var9 > ~Class108.anInt1460) { + var10 = var8 >> 6; + int var11 = var9 >> 6; + + for(int var12 = 0; 64 > var12; ++var12) { + for(int var13 = 0; ~var13 > -65; ++var13) { + if(!var3 || ~(var4 * 8) >= ~var12 && 8 + 8 * var4 > var12 && var13 >= var5 * 8 && 8 + var5 * 8 > var13) { + var2 = var1.getByte(); + if(var2 != 0) { + if(null == Class3_Sub13_Sub33.aByteArrayArrayArray3390[var10][var11]) { + Class3_Sub13_Sub33.aByteArrayArrayArray3390[var10][var11] = new byte[4096]; + } + + Class3_Sub13_Sub33.aByteArrayArrayArray3390[var10][var11][(63 + -var13 << 6) + var12] = var2; + byte var14 = var1.getByte(); + if(null == CS2Script.aByteArrayArrayArray2452[var10][var11]) { + CS2Script.aByteArrayArrayArray2452[var10][var11] = new byte[4096]; + } + + CS2Script.aByteArrayArrayArray2452[var10][var11][var12 + (-var13 + 63 << 6)] = var14; + } + } + } + } + } else { + for(var10 = 0; ~var10 > ~(!var3?4096:64); ++var10) { + var2 = var1.getByte(); + if(-1 != ~var2) { + ++var1.index; + } + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "sk.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method329(int var0, int var1, int var2, int var3, byte var4, int var5, int var6, int var7) { + try { + int var8 = 0; + int var11 = -var3 + var0; + int var10 = 0; + int var9 = var7; + int var14 = var7 * var7; + int var12 = -var3 + var7; + int var13 = var0 * var0; + int var17 = var14 << 1; + int var16 = var12 * var12; + int var15 = var11 * var11; + int var18 = var13 << 1; + int var19 = var16 << 1; + int var20 = var15 << 1; + int var22 = var12 << 1; + int var21 = var7 << 1; + int var23 = var17 + var13 * (1 + -var21); + int var24 = var14 + -((var21 + -1) * var18); + int var25 = var19 + var15 * (1 + -var22); + int var26 = var16 - var20 * (var22 + -1); + int var28 = var14 << 2; + int var27 = var13 << 2; + int var30 = var16 << 2; + int var31 = var17 * 3; + int var32 = (var21 + -3) * var18; + int var34 = -113 % ((var4 - 56) / 41); + int var29 = var15 << 2; + int var33 = var19 * 3; + int var35 = (-3 + var22) * var20; + int var37 = (-1 + var7) * var27; + int var38 = var30; + int var36 = var28; + int var39 = (-1 + var12) * var29; + int var42; + int var43; + int var41; + int var44; + if(var5 >= Class159.anInt2020 && Class57.anInt902 >= var5) { + int[] var40 = Class38.anIntArrayArray663[var5]; + var41 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - var0, (byte)0, Class101.anInt1425); + var42 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var0, (byte)0, Class101.anInt1425); + var43 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + -var11, (byte)0, Class101.anInt1425); + var44 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - -var11, (byte)0, Class101.anInt1425); + Class3_Sub13_Sub23_Sub1.method282(var40, var41, 127, var43, var2); + Class3_Sub13_Sub23_Sub1.method282(var40, var43, 105, var44, var1); + Class3_Sub13_Sub23_Sub1.method282(var40, var44, -67, var42, var2); + } + + while(var9 > 0) { + if(var23 < 0) { + while(var23 < 0) { + var23 += var31; + var31 += var28; + ++var8; + var24 += var36; + var36 += var28; + } + } + + boolean var49 = ~var9 >= ~var12; + if(0 > var24) { + var24 += var36; + var23 += var31; + ++var8; + var36 += var28; + var31 += var28; + } + + if(var49) { + if(-1 < ~var25) { + while(var25 < 0) { + ++var10; + var26 += var38; + var38 += var30; + var25 += var33; + var33 += var30; + } + } + + if(var26 < 0) { + ++var10; + var26 += var38; + var25 += var33; + var38 += var30; + var33 += var30; + } + + var25 += -var39; + var39 -= var29; + var26 += -var35; + var35 -= var29; + } + + var24 += -var32; + var23 += -var37; + var37 -= var27; + var32 -= var27; + --var9; + var42 = var5 - -var9; + var41 = -var9 + var5; + if(Class159.anInt2020 <= var42 && Class57.anInt902 >= var41) { + var43 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + var8, (byte)0, Class101.anInt1425); + var44 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var8 + var6, (byte)0, Class101.anInt1425); + if(var49) { + int var45 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + var10, (byte)0, Class101.anInt1425); + int var46 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 - var10, (byte)0, Class101.anInt1425); + int[] var47; + if(Class159.anInt2020 <= var41) { + var47 = Class38.anIntArrayArray663[var41]; + Class3_Sub13_Sub23_Sub1.method282(var47, var44, 120, var46, var2); + Class3_Sub13_Sub23_Sub1.method282(var47, var46, -107, var45, var1); + Class3_Sub13_Sub23_Sub1.method282(var47, var45, -102, var43, var2); + } + + if(~var42 >= ~Class57.anInt902) { + var47 = Class38.anIntArrayArray663[var42]; + Class3_Sub13_Sub23_Sub1.method282(var47, var44, 87, var46, var2); + Class3_Sub13_Sub23_Sub1.method282(var47, var46, -92, var45, var1); + Class3_Sub13_Sub23_Sub1.method282(var47, var45, 124, var43, var2); + } + } else { + if(~Class159.anInt2020 >= ~var41) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var41], var44, -122, var43, var2); + } + + if(Class57.anInt902 >= var42) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var42], var44, 89, var43, var2); + } + } + } + } + + } catch (RuntimeException var48) { + throw Class44.method1067(var48, "sk.Q(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var3) { + if(var1 == 0) { + this.anInt3404 = var2.getShort(1); + } else if(1 != var1) { + if(~var1 == -3) { + this.anInt3406 = var2.getShort(1); + } else if(var1 != 3) { + if(4 == var1) { + int var4 = var2.getTriByte((byte)107); + this.anIntArray3403[2] = Class3_Sub28_Sub15.method633(var4, 255) >> 12; + this.anIntArray3403[1] = Class3_Sub28_Sub15.method633(var4 >> 4, 4080); + this.anIntArray3403[0] = Class3_Sub28_Sub15.method633(16711680, var4) << 4; + } + } else { + this.anInt3410 = var2.getShort(1); + } + } else { + this.anInt3405 = var2.getShort(1); + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sk.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method330(int var0, int var1, int var2, int var3, int var4, int var5) { + try { + if(var1 > -83) { + anInt3415 = 115; + } + + int var6 = -var3 + var5; + int var7 = var2 - var4; + if(var6 == 0) { + if(0 != var7) { + Class3_Sub8.method126(false, var2, var4, var0, var3); + } + + } else if(-1 == ~var7) { + Class75_Sub4.method1354(var3, var0, true, var5, var4); + } else { + int var12 = (var7 << 12) / var6; + int var13 = -(var12 * var3 >> 12) + var4; + int var8; + int var10; + if(~Class101.anInt1425 < ~var3) { + var8 = Class101.anInt1425; + var10 = (Class101.anInt1425 * var12 >> 12) + var13; + } else if(var3 > Class3_Sub28_Sub18.anInt3765) { + var10 = (Class3_Sub28_Sub18.anInt3765 * var12 >> 12) + var13; + var8 = Class3_Sub28_Sub18.anInt3765; + } else { + var8 = var3; + var10 = var4; + } + + int var9; + int var11; + if(~var5 <= ~Class101.anInt1425) { + if(Class3_Sub28_Sub18.anInt3765 < var5) { + var9 = Class3_Sub28_Sub18.anInt3765; + var11 = var13 - -(var12 * Class3_Sub28_Sub18.anInt3765 >> 12); + } else { + var11 = var2; + var9 = var5; + } + } else { + var9 = Class101.anInt1425; + var11 = var13 + (var12 * Class101.anInt1425 >> 12); + } + + if(~Class159.anInt2020 >= ~var11) { + if(~var11 < ~Class57.anInt902) { + var11 = Class57.anInt902; + var9 = (Class57.anInt902 - var13 << 12) / var12; + } + } else { + var9 = (Class159.anInt2020 - var13 << 12) / var12; + var11 = Class159.anInt2020; + } + + if(~var10 > ~Class159.anInt2020) { + var10 = Class159.anInt2020; + var8 = (Class159.anInt2020 + -var13 << 12) / var12; + } else if(Class57.anInt902 < var10) { + var10 = Class57.anInt902; + var8 = (-var13 + Class57.anInt902 << 12) / var12; + } + + GameObject.method1869((byte)6, var0, var11, var10, var9, var8); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "sk.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + public Class3_Sub13_Sub34() { + super(1, false); + } + + static final void method331(long var0, int var2) { + try { + if(0L < var0) { + if(0L != var0 % 10L) { + Class128.method1762(var0, (byte)-128); + } else { + Class128.method1762(var0 + -1L, (byte)-123); + Class128.method1762(1L, (byte)24); + } + + if(var2 != 64) { + method332(4, -35); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sk.O(" + var0 + ',' + var2 + ')'); + } + } + + static final int method332(int var0, int var1) { + try { + if(var0 != 2) { + anInt3414 = -40; + } + + return (~var1 > -66 || var1 > 90) && (-193 < ~var1 || var1 > 222 || var1 == 215)?(~var1 != -160?(var1 != 140?var1:156):255):32 + var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sk.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method333(byte var0) { + try { + //int var1 = 100 / ((76 - var0) / 44); + aClass93_3412 = null; + aClass94_3409 = null; + aClass94_3408 = null; + aClass47_3407 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sk.B(" + var0 + ')'); + } + } + + static final boolean method334(CacheIndex var0, int var1) { + try { + return var0.method2144(var1, NPC.anInt4001); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sk.R(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + this.method166(51, 104); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)91, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-96); + int[] var5 = var4[0]; + int[] var6 = var4[1]; + int[] var7 = var4[2]; + int[] var8 = var3[0]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + + for(int var11 = 0; var11 < Class113.anInt1559; ++var11) { + int var13 = var5[var11]; + int var12 = -this.anIntArray3403[0] + var13; + if(~var12 > -1) { + var12 = -var12; + } + + if(this.anInt3404 < var12) { + var8[var11] = var13; + var9[var11] = var6[var11]; + var10[var11] = var7[var11]; + } else { + int var14 = var6[var11]; + var12 = var14 + -this.anIntArray3403[1]; + if(-1 < ~var12) { + var12 = -var12; + } + + if(var12 > this.anInt3404) { + var8[var11] = var13; + var9[var11] = var14; + var10[var11] = var7[var11]; + } else { + int var15 = var7[var11]; + var12 = -this.anIntArray3403[2] + var15; + if(var12 < 0) { + var12 = -var12; + } + + if(~var12 >= ~this.anInt3404) { + var8[var11] = this.anInt3410 * var13 >> 12; + var9[var11] = this.anInt3406 * var14 >> 12; + var10[var11] = this.anInt3405 * var15 >> 12; + } else { + var8[var11] = var13; + var9[var11] = var14; + var10[var11] = var15; + } + } + } + } + } + + return var3; + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "sk.T(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub35.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub35.java new file mode 100644 index 000000000..8b422d190 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub35.java @@ -0,0 +1,134 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub35 extends Class3_Sub13 { + + static RSString aClass94_3418 = RSString.createRSString("(U5"); + static int anInt3419 = 0; + static int anInt3420; + static Class131 aClass131_3421; + + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var4 = this.method152(0, var1, 32755); + + for(int var5 = 0; var5 < Class113.anInt1559; ++var5) { + var3[var5] = 4096 - var4[var5]; + } + } + + int var7 = 59 % ((30 - var2) / 36); + return var3; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "tb.D(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub35() { + super(1, false); + } + + static final int method335(int var0) { + try { + if(var0 != 16859) { + aClass131_3421 = (Class131)null; + } + + return Class101.aBoolean1419 && ObjectDefinition.aBooleanArray1490[81] && 2 < Class3_Sub13_Sub34.anInt3415?Class114.anIntArray1578[-2 + Class3_Sub13_Sub34.anInt3415]:Class114.anIntArray1578[Class3_Sub13_Sub34.anInt3415 - 1]; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tb.C(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var3) { + if(var1 == 0) { + this.aBoolean2375 = -2 == ~var2.getByte((byte)-80); + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "tb.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + return (int[][])((int[][])null); + } else { + int[][] var3 = this.aClass97_2376.method1594((byte)-128, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(var2, 0, (byte)-51); + int[] var7 = var4[2]; + int[] var5 = var4[0]; + int[] var6 = var4[1]; + int[] var8 = var3[0]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + + for(int var11 = 0; ~Class113.anInt1559 < ~var11; ++var11) { + var8[var11] = -var5[var11] + 4096; + var9[var11] = 4096 - var6[var11]; + var10[var11] = 4096 - var7[var11]; + } + } + + return var3; + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "tb.T(" + var1 + ',' + var2 + ')'); + } + } + + static final Class3_Sub28_Sub1 getQuickChatMessage(int fileId, byte var1) { + try { + Class3_Sub28_Sub1 var2 = (Class3_Sub28_Sub1)Class3_Sub13_Sub11.aClass47_3137.method1092((long)fileId, 1400); + if(null != var2) { + return var2; + } else { + byte[] var3; + if(fileId < '\u8000') { + var3 = Class47.quickChatMessages.getFile(0, (byte)-122, fileId); + } else { + var3 = NodeList.aClass153_332.getFile(0, (byte)-122, fileId & 32767); + } + + var2 = new Class3_Sub28_Sub1(); + if(null != var3) { + var2.method530(new RSByteBuffer(var3), (byte)116); + } + + if(var1 != -54) { + method337(19); + } + + if(-32769 >= ~fileId) { + var2.method525(-85); + } + + Class3_Sub13_Sub11.aClass47_3137.method1097(var2, (long)fileId, (byte)40); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "tb.B(" + fileId + ',' + var1 + ')'); + } + } + + public static void method337(int var0) { + try { + aClass94_3418 = null; + if(var0 != 2) { + anInt3419 = -53; + } + + aClass131_3421 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "tb.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub36.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub36.java new file mode 100644 index 000000000..68e5c2b64 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub36.java @@ -0,0 +1,389 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub36 extends Class3_Sub13 { + + static int anInt3422; + static int anInt3423; + static float aFloat3424; + private int[] anIntArray3425; + + private static RSString aClass94_3428 = RSString.createRSString(" more options"); + static CacheIndex aClass153_3429; + static byte[][][] aByteArrayArrayArray3430; + private int anInt3431; + static RSString aClass94_3432 = RSString.createRSString("Schrifts-=tze geladen)3"); + private int anInt3433; + private int anInt3434 = -1; + static float aFloat3435; + static RSString aClass94_3436 = RSString.createRSString("jaune:"); + private static RSString aClass94_3437 = RSString.createRSString("Attack"); +static RSString aClass94_3426 = aClass94_3428; + static RSString aClass94_3427 = aClass94_3437; + + static final void method338(int var0, int var1, boolean var2, int var3, int var4, int var5) { + try { + ++Class79.anInt1127; + Class124.method1745(0); + if(!var2) { + Class3_Sub5.method116(true, 670232012); + Class102.method1611(71, true); + Class3_Sub5.method116(false, 670232012); + } + + Class102.method1611(100, false); + if(!var2) { + Class3_Sub13_Sub28.method302(2); + } + + Class144.method2067(false); + if(HDToolKit.highDetail) { + Class65.method1239(var4, 125, var5, var1, var3, true); + var3 = Class163_Sub1.anInt2989; + var5 = Class3_Sub28_Sub3.anInt3564; + var4 = Class96.anInt1358; + var1 = Canvas_Sub2.anInt31; + } + + int var6; + int var7; + if(1 == Class133.anInt1753) { + var7 = 2047 & Class3_Sub29.anInt2589 + GraphicDefinition.CAMERA_DIRECTION; + var6 = Class3_Sub9.anInt2309; + if(~var6 > ~(Class75_Sub4.anInt2670 / 256)) { + var6 = Class75_Sub4.anInt2670 / 256; + } + + if(Class104.aBooleanArray2169[4] && Class166.anIntArray2073[4] + 128 > var6) { + var6 = 128 + Class166.anIntArray2073[4]; + } + + Class140_Sub2.method1952(Class3_Sub13_Sub13.anInt3155, -1907397104, var1, Class121.method1736(WorldListCountry.localPlane, 1, Class102.player.anInt2819, Class102.player.anInt2829) + -50, Client.ZOOM - -(var6 * 3), var7, Class62.anInt942, var6); + } + + if(var0 == -6403) { + var7 = Class7.anInt2162; + var6 = NPC.anInt3995; + int var8 = Class77.anInt1111; + int var9 = Class139.anInt1823; + int var10 = Class3_Sub13_Sub25.anInt3315; + + int var11; + int var12; + for(var11 = 0; 5 > var11; ++var11) { + if(Class104.aBooleanArray2169[var11]) { + var12 = (int)((double)(-Class3_Sub13_Sub32.anIntArray3383[var11]) + (double)(Class3_Sub13_Sub32.anIntArray3383[var11] * 2 + 1) * Math.random() + Math.sin((double)Class163_Sub1_Sub1.anIntArray4009[var11] * ((double)Class3_Sub13_Sub29.anIntArray3359[var11] / 100.0D)) * (double)Class166.anIntArray2073[var11]); + if(var11 == 3) { + Class3_Sub13_Sub25.anInt3315 = var12 + Class3_Sub13_Sub25.anInt3315 & 2047; + } + + if(~var11 == -5) { + Class139.anInt1823 += var12; + if(128 > Class139.anInt1823) { + Class139.anInt1823 = 128; + } + + if(~Class139.anInt1823 < -384) { + Class139.anInt1823 = 383; + } + } + + if(-3 == ~var11) { + Class77.anInt1111 += var12; + } + + if(var11 == 1) { + Class7.anInt2162 += var12; + } + + if(var11 == 0) { + NPC.anInt3995 += var12; + } + } + } + + Class3_Sub28_Sub20.method725(-118); + if(HDToolKit.highDetail) { + Class22.method935(var3, var5, var3 + var4, var5 - -var1); + float var17 = (float)Class139.anInt1823 * 0.17578125F; + float var16 = 0.17578125F * (float)Class3_Sub13_Sub25.anInt3315; + if(Class133.anInt1753 == 3) { + var17 = 360.0F * Class85.aFloat1169 / 6.2831855F; + var16 = Class45.aFloat730 * 360.0F / 6.2831855F; + } + + HDToolKit.method1844(var3, var5, var4, var1, var4 / 2 + var3, var5 - -(var1 / 2), var17, var16, Class130.anInt1705, Class130.anInt1705); + } else { + Class74.method1324(var3, var5, var4 + var3, var1 + var5); + Class51.method1134(); + } + + if(!Class38_Sub1.aBoolean2615 && ~NPCDefinition.anInt1297 <= ~var3 && ~NPCDefinition.anInt1297 > ~(var4 + var3) && var5 <= Class38_Sub1.anInt2612 && ~(var1 + var5) < ~Class38_Sub1.anInt2612) { + Class3_Sub13_Sub7.aBoolean3094 = true; + Class2.anInt59 = 0; + var12 = Class145.anInt1898; + int var13 = Class1.anInt55; + var11 = Class139.anInt1824; + Class3_Sub28_Sub11.anInt3642 = var11 + (var12 - var11) * (-var3 + NPCDefinition.anInt1297) / var4; + int var14 = Class86.anInt1195; + RenderAnimationDefinition.anInt384 = (-var13 + var14) * (Class38_Sub1.anInt2612 - var5) / var1 + var13; + } else { + Class3_Sub13_Sub7.aBoolean3094 = false; + Class2.anInt59 = 0; + } + + Class58.method1194(-16385); + byte var19 = -3 != ~Class137.method1817((byte)70)?1:(byte)Class79.anInt1127; + if(HDToolKit.highDetail) { + HDToolKit.method1846(); + HDToolKit.method1831(true); + boolean var18 = false; + HDToolKit.method1827(true); + if(~Class143.loadingStage == -11) { + var12 = Class3_Sub30_Sub1.method809(Class106.anInt1446, Class77.anInt1111 >> 10, Class3_Sub28_Sub10.anInt3625, NPC.anInt3995 >> 10, var0 + 6404); + } else { + var12 = Class3_Sub30_Sub1.method809(Class106.anInt1446, Class102.player.anIntArray2755[0] >> 3, Class3_Sub28_Sub10.anInt3625, Class102.player.anIntArray2767[0] >> 3, 1); + } + + Class68.method1269(Class44.anInt719, !WorldListEntry.aBoolean2623); + HDToolKit.method1849(var12); + RuntimeException_Sub1.method2285(Class139.anInt1823, Class77.anInt1111, Class7.anInt2162, NPC.anInt3995, false, Class3_Sub13_Sub25.anInt3315); + HDToolKit.anInt1791 = Class44.anInt719; + Class3_Sub22.method398(NPC.anInt3995, Class7.anInt2162, Class77.anInt1111, Class139.anInt1823, Class3_Sub13_Sub25.anInt3315, Class158.aByteArrayArrayArray2008, Class41.anIntArray686, Class129_Sub1.anIntArray2696, Class159.anIntArray2021, Player.anIntArray3959, AnimationDefinition.anIntArray1871, WorldListCountry.localPlane + 1, var19, Class102.player.anInt2819 >> 7, Class102.player.anInt2829 >> 7); + OutputStream_Sub1.aBoolean47 = true; + Class68.method1265(); + RuntimeException_Sub1.method2285(0, 0, 0, 0, false, 0); + Class58.method1194(-16385); + Class130.method1775(); + Class82.method1405(var5, var4, var3, Class130.anInt1705, var1, Class130.anInt1705, -7397); + Class163_Sub2_Sub1.method2221(var4, var3, var1, true, Class130.anInt1705, Class130.anInt1705, var5); + } else { + Class74.method1323(var3, var5, var4, var1, 0); + Class3_Sub22.method398(NPC.anInt3995, Class7.anInt2162, Class77.anInt1111, Class139.anInt1823, Class3_Sub13_Sub25.anInt3315, Class158.aByteArrayArrayArray2008, Class41.anIntArray686, Class129_Sub1.anIntArray2696, Class159.anIntArray2021, Player.anIntArray3959, AnimationDefinition.anIntArray1871, WorldListCountry.localPlane - -1, var19, Class102.player.anInt2819 >> 7, Class102.player.anInt2829 >> 7); + Class58.method1194(var0 + -9982); + Class130.method1775(); + Class82.method1405(var5, var4, var3, 256, var1, 256, var0 + -994); + Class163_Sub2_Sub1.method2221(var4, var3, var1, true, 256, 256, var5); + } + + ((Class102)Class51.anInterface2_838).method1610(true, Class106.anInt1446); + Class65.method1235(var4, var5, var1, var3, (byte)-121); + Class139.anInt1823 = var9; + Class77.anInt1111 = var8; + Class7.anInt2162 = var7; + NPC.anInt3995 = var6; + Class3_Sub13_Sub25.anInt3315 = var10; + if(Class3_Sub13_Sub4.aBoolean3064 && Class58.aClass66_917.method1253(4) == 0) { + Class3_Sub13_Sub4.aBoolean3064 = false; + } + + if(Class3_Sub13_Sub4.aBoolean3064) { + if(HDToolKit.highDetail) { + Class22.method934(var3, var5, var4, var1, 0); + } else { + Class74.method1323(var3, var5, var4, var1, 0); + } + + Class3_Sub13.method164((byte)-52, false, Class3_Sub13_Sub23.aClass94_3282); + } + + if(!var2 && !Class3_Sub13_Sub4.aBoolean3064 && !Class38_Sub1.aBoolean2615 && var3 <= NPCDefinition.anInt1297 && var4 + var3 > NPCDefinition.anInt1297 && ~var5 >= ~Class38_Sub1.anInt2612 && var1 + var5 > Class38_Sub1.anInt2612) { + Class104.method1628(var5, var4, var1, var3, Class38_Sub1.anInt2612, NPCDefinition.anInt1297, (byte)97); + } + + } + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "ui.OA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + this.anInt3434 = 6; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)-120, var2); + if(this.aClass97_2376.aBoolean1379 && this.method339(false)) { + int var4 = (this.anInt3433 != Class101.anInt1427?this.anInt3433 * var2 / Class101.anInt1427:var2) * this.anInt3431; + int[] var5 = var3[0]; + int[] var6 = var3[1]; + int[] var7 = var3[2]; + int var8; + int var9; + if(~Class113.anInt1559 == ~this.anInt3431) { + for(var8 = 0; var8 < Class113.anInt1559; ++var8) { + var9 = this.anIntArray3425[var4++]; + var7[var8] = Class3_Sub28_Sub15.method633(var9 << 4, 4080); + var6[var8] = Class3_Sub28_Sub15.method633(var9, '\uff00') >> 4; + var5[var8] = Class3_Sub28_Sub15.method633(var9, 16711680) >> 12; + } + } else { + for(var8 = 0; var8 < Class113.anInt1559; ++var8) { + var9 = this.anInt3431 * var8 / Class113.anInt1559; + int var10 = this.anIntArray3425[var4 - -var9]; + var7[var8] = Class3_Sub28_Sub15.method633(var10 << 4, 4080); + var6[var8] = Class3_Sub28_Sub15.method633('\uff00', var10) >> 4; + var5[var8] = Class3_Sub28_Sub15.method633(var10 >> 12, 4080); + } + } + } + + return var3; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ui.T(" + var1 + ',' + var2 + ')'); + } + } + + private final boolean method339(boolean var1) { + try { + if(var1) { + return true; + } else if(this.anIntArray3425 == null) { + if(~this.anInt3434 > -1) { + return false; + } else { + int var2 = Class113.anInt1559; + int var3 = Class101.anInt1427; + int var4 = !Class17.anInterface2_408.method14((byte)-104, this.anInt3434)?128:64; + this.anIntArray3425 = Class17.anInterface2_408.method16(64, this.anInt3434); + this.anInt3433 = var4; + this.anInt3431 = var4; + Class3_Sub13_Sub3.method180(18, var3, var2); + return this.anIntArray3425 != null; + } + } else { + return true; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ui.LA(" + var1 + ')'); + } + } + + static final int method340(int var0, int var1) { + try { + int var2 = 74 % ((8 - var1) / 54); + return var0 >>> 8; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ui.NA(" + var0 + ',' + var1 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + aClass153_3429 = (CacheIndex)null; + } + + if(0 == var1) { + this.anInt3434 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ui.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub36() { + super(0, false); + } + + final void method161(byte var1) { + try { + super.method161(var1); + this.anIntArray3425 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ui.BA(" + var1 + ')'); + } + } + + public static void method341(byte var0) { + try { + aClass94_3428 = null; + aClass94_3437 = null; + aClass94_3427 = null; + aClass94_3426 = null; + aClass94_3432 = null; + if(var0 > 66) { + aClass153_3429 = null; + aByteArrayArrayArray3430 = (byte[][][])null; + aClass94_3436 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ui.MA(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub13 method342(int var0, boolean var1) { + try { + Class3_Sub28_Sub13 var2 = (Class3_Sub28_Sub13)Class129_Sub1.aClass47_2686.method1092((long)var0, 1400); + if(var2 != null) { + return var2; + } else { + byte[] var3 = Class45.aClass153_731.getFile(Class53.method1170((byte)44, var0), (byte)-122, Class3_Sub30_Sub1.method810((byte)3, var0)); + var2 = new Class3_Sub28_Sub13(); + if(!var1) { + method344(-42, 33); + } + + if(null != var3) { + var2.method625(new RSByteBuffer(var3), -122); + } + + Class129_Sub1.aClass47_2686.method1097(var2, (long)var0, (byte)-115); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ui.IA(" + var0 + ',' + var1 + ')'); + } + } + + static final AbstractIndexedSprite[] method343(int var0) { + try { + AbstractIndexedSprite[] var1 = new AbstractIndexedSprite[Class95.anInt1338]; + + for(int var2 = 0; ~Class95.anInt1338 < ~var2; ++var2) { + if(!HDToolKit.highDetail) { + var1[var2] = new LDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], Class163_Sub1.aByteArrayArray2987[var2], Class3_Sub13_Sub38.spritePalette); + } else { + var1[var2] = new HDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], Class163_Sub1.aByteArrayArray2987[var2], Class3_Sub13_Sub38.spritePalette); + } + } + + if(var0 != 1854847236) { + aClass94_3428 = (RSString)null; + } + + Class39.method1035((byte)113); + return var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ui.JA(" + var0 + ')'); + } + } + + final int method155(byte var1) { + try { + if(var1 != 19) { + this.method155((byte)-60); + } + + return this.anInt3434; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ui.HA(" + var1 + ')'); + } + } + + static final void method344(int var0, int var1) { + try { + if(0 <= var0 && Class3_Sub24_Sub4.aBooleanArray3503.length > var0) { + Class3_Sub24_Sub4.aBooleanArray3503[var0] = !Class3_Sub24_Sub4.aBooleanArray3503[var0]; + if(var1 != 4) { + aByteArrayArrayArray3430 = (byte[][][])((byte[][][])null); + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ui.KA(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub37.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub37.java new file mode 100644 index 000000000..6b42c1ae3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub37.java @@ -0,0 +1,498 @@ +package org.runite.jagex; +import java.math.BigInteger; + +final class Class3_Sub13_Sub37 extends Class3_Sub13 { + + private int[][] anIntArrayArray3438; + static int anInt3439; + static Class3_Sub28_Sub17_Sub1 aClass3_Sub28_Sub17_Sub1_3440; + static BigInteger aBigInteger3441 = new BigInteger("7162900525229798032761816791230527296329313291232324290237849263501208207972894053929065636522363163621000728841182238772712427862772219676577293600221789"); + static int anInt3442; + private int[] anIntArray3443 = new int[257]; + + + final void method158(int var1) { + try { + if(var1 != 16251) { + this.anIntArray3443 = (int[])null; + } + + if(this.anIntArrayArray3438 == null) { + this.method345(1, false); + } + + this.method346(114); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "um.P(" + var1 + ')'); + } + } + + private final void method345(int var1, boolean var2) { + try { + if(~var1 != -1) { + if(~var1 == -2) { + this.anIntArrayArray3438 = new int[2][4]; + this.anIntArrayArray3438[0][1] = 0; + this.anIntArrayArray3438[0][0] = 0; + this.anIntArrayArray3438[1][0] = 4096; + this.anIntArrayArray3438[0][3] = 0; + this.anIntArrayArray3438[1][1] = 4096; + this.anIntArrayArray3438[0][2] = 0; + this.anIntArrayArray3438[1][2] = 4096; + this.anIntArrayArray3438[1][3] = 4096; + } else if(-3 == ~var1) { + this.anIntArrayArray3438 = new int[8][4]; + this.anIntArrayArray3438[0][0] = 0; + this.anIntArrayArray3438[1][0] = 2867; + this.anIntArrayArray3438[2][0] = 3072; + this.anIntArrayArray3438[0][2] = 2602; + this.anIntArrayArray3438[3][0] = 3276; + this.anIntArrayArray3438[0][3] = 2361; + this.anIntArrayArray3438[1][3] = 1558; + this.anIntArrayArray3438[4][0] = 3481; + this.anIntArrayArray3438[5][0] = 3686; + this.anIntArrayArray3438[2][3] = 1413; + this.anIntArrayArray3438[3][3] = 947; + this.anIntArrayArray3438[4][3] = 722; + this.anIntArrayArray3438[6][0] = 3891; + this.anIntArrayArray3438[1][2] = 1799; + this.anIntArrayArray3438[7][0] = 4096; + this.anIntArrayArray3438[5][3] = 1766; + this.anIntArrayArray3438[2][2] = 1734; + this.anIntArrayArray3438[3][2] = 1220; + this.anIntArrayArray3438[4][2] = 963; + this.anIntArrayArray3438[5][2] = 2152; + this.anIntArrayArray3438[6][3] = 915; + this.anIntArrayArray3438[7][3] = 1140; + this.anIntArrayArray3438[0][1] = 2650; + this.anIntArrayArray3438[6][2] = 1060; + this.anIntArrayArray3438[1][1] = 2313; + this.anIntArrayArray3438[2][1] = 2618; + this.anIntArrayArray3438[3][1] = 2296; + this.anIntArrayArray3438[4][1] = 2072; + this.anIntArrayArray3438[7][2] = 1413; + this.anIntArrayArray3438[5][1] = 2730; + this.anIntArrayArray3438[6][1] = 2232; + this.anIntArrayArray3438[7][1] = 1686; + } else if(3 == var1) { + this.anIntArrayArray3438 = new int[7][4]; + this.anIntArrayArray3438[0][0] = 0; + this.anIntArrayArray3438[0][3] = 4096; + this.anIntArrayArray3438[1][3] = 4096; + this.anIntArrayArray3438[2][3] = 0; + this.anIntArrayArray3438[1][0] = 663; + this.anIntArrayArray3438[0][1] = 0; + this.anIntArrayArray3438[3][3] = 0; + this.anIntArrayArray3438[1][1] = 0; + this.anIntArrayArray3438[2][0] = 1363; + this.anIntArrayArray3438[2][1] = 0; + this.anIntArrayArray3438[4][3] = 0; + this.anIntArrayArray3438[5][3] = 4096; + this.anIntArrayArray3438[6][3] = 4096; + this.anIntArrayArray3438[3][0] = 2048; + this.anIntArrayArray3438[4][0] = 2727; + this.anIntArrayArray3438[5][0] = 3411; + this.anIntArrayArray3438[6][0] = 4096; + this.anIntArrayArray3438[3][1] = 4096; + this.anIntArrayArray3438[4][1] = 4096; + this.anIntArrayArray3438[5][1] = 4096; + this.anIntArrayArray3438[6][1] = 0; + this.anIntArrayArray3438[0][2] = 0; + this.anIntArrayArray3438[1][2] = 4096; + this.anIntArrayArray3438[2][2] = 4096; + this.anIntArrayArray3438[3][2] = 4096; + this.anIntArrayArray3438[4][2] = 0; + this.anIntArrayArray3438[5][2] = 0; + this.anIntArrayArray3438[6][2] = 0; + } else if(4 == var1) { + this.anIntArrayArray3438 = new int[6][4]; + this.anIntArrayArray3438[0][3] = 0; + this.anIntArrayArray3438[0][0] = 0; + this.anIntArrayArray3438[0][2] = 0; + this.anIntArrayArray3438[1][0] = 1843; + this.anIntArrayArray3438[1][2] = 0; + this.anIntArrayArray3438[2][2] = 0; + this.anIntArrayArray3438[1][3] = 1493; + this.anIntArrayArray3438[2][3] = 2939; + this.anIntArrayArray3438[3][3] = 3565; + this.anIntArrayArray3438[3][2] = 1124; + this.anIntArrayArray3438[4][3] = 4031; + this.anIntArrayArray3438[0][1] = 0; + this.anIntArrayArray3438[1][1] = 0; + this.anIntArrayArray3438[5][3] = 4096; + this.anIntArrayArray3438[4][2] = 3084; + this.anIntArrayArray3438[2][0] = 2457; + this.anIntArrayArray3438[2][1] = 0; + this.anIntArrayArray3438[3][0] = 2781; + this.anIntArrayArray3438[4][0] = 3481; + this.anIntArrayArray3438[3][1] = 0; + this.anIntArrayArray3438[4][1] = 546; + this.anIntArrayArray3438[5][2] = 4096; + this.anIntArrayArray3438[5][0] = 4096; + this.anIntArrayArray3438[5][1] = 4096; + } else if(var1 == 5) { + this.anIntArrayArray3438 = new int[16][4]; + this.anIntArrayArray3438[0][3] = 321; + this.anIntArrayArray3438[0][0] = 0; + this.anIntArrayArray3438[0][2] = 192; + this.anIntArrayArray3438[1][0] = 155; + this.anIntArrayArray3438[1][3] = 562; + this.anIntArrayArray3438[1][2] = 449; + this.anIntArrayArray3438[2][0] = 389; + this.anIntArrayArray3438[3][0] = 671; + this.anIntArrayArray3438[2][2] = 690; + this.anIntArrayArray3438[0][1] = 80; + this.anIntArrayArray3438[1][1] = 321; + this.anIntArrayArray3438[4][0] = 897; + this.anIntArrayArray3438[3][2] = 995; + this.anIntArrayArray3438[4][2] = 1397; + this.anIntArrayArray3438[2][1] = 578; + this.anIntArrayArray3438[2][3] = 803; + this.anIntArrayArray3438[5][0] = 1175; + this.anIntArrayArray3438[6][0] = 1368; + this.anIntArrayArray3438[5][2] = 1429; + this.anIntArrayArray3438[3][1] = 947; + this.anIntArrayArray3438[7][0] = 1507; + this.anIntArrayArray3438[4][1] = 1285; + this.anIntArrayArray3438[6][2] = 1461; + this.anIntArrayArray3438[8][0] = 1736; + this.anIntArrayArray3438[3][3] = 1140; + this.anIntArrayArray3438[9][0] = 2088; + this.anIntArrayArray3438[7][2] = 1525; + this.anIntArrayArray3438[4][3] = 1509; + this.anIntArrayArray3438[5][1] = 1525; + this.anIntArrayArray3438[6][1] = 1734; + this.anIntArrayArray3438[5][3] = 1413; + this.anIntArrayArray3438[8][2] = 1590; + this.anIntArrayArray3438[10][0] = 2355; + this.anIntArrayArray3438[9][2] = 2056; + this.anIntArrayArray3438[7][1] = 1413; + this.anIntArrayArray3438[11][0] = 2691; + this.anIntArrayArray3438[12][0] = 3031; + this.anIntArrayArray3438[6][3] = 1333; + this.anIntArrayArray3438[10][2] = 2586; + this.anIntArrayArray3438[11][2] = 3148; + this.anIntArrayArray3438[13][0] = 3522; + this.anIntArrayArray3438[14][0] = 3727; + this.anIntArrayArray3438[7][3] = 1702; + this.anIntArrayArray3438[8][1] = 1108; + this.anIntArrayArray3438[9][1] = 1766; + this.anIntArrayArray3438[10][1] = 2409; + this.anIntArrayArray3438[15][0] = 4096; + this.anIntArrayArray3438[12][2] = 3710; + this.anIntArrayArray3438[11][1] = 3116; + this.anIntArrayArray3438[13][2] = 3421; + this.anIntArrayArray3438[12][1] = 3806; + this.anIntArrayArray3438[13][1] = 3437; + this.anIntArrayArray3438[14][1] = 3116; + this.anIntArrayArray3438[15][1] = 2377; + this.anIntArrayArray3438[8][3] = 2056; + this.anIntArrayArray3438[9][3] = 2666; + this.anIntArrayArray3438[14][2] = 3148; + this.anIntArrayArray3438[15][2] = 2505; + this.anIntArrayArray3438[10][3] = 3276; + this.anIntArrayArray3438[11][3] = 3228; + this.anIntArrayArray3438[12][3] = 3196; + this.anIntArrayArray3438[13][3] = 3019; + this.anIntArrayArray3438[14][3] = 3228; + this.anIntArrayArray3438[15][3] = 2746; + } else { + if(var1 != 6) { + throw new RuntimeException("Invalid gradient preset"); + } + + this.anIntArrayArray3438 = new int[4][4]; + this.anIntArrayArray3438[0][3] = 0; + this.anIntArrayArray3438[0][2] = 4096; + this.anIntArrayArray3438[1][3] = 0; + this.anIntArrayArray3438[0][1] = 0; + this.anIntArrayArray3438[2][3] = 0; + this.anIntArrayArray3438[3][3] = 0; + this.anIntArrayArray3438[0][0] = 2048; + this.anIntArrayArray3438[1][1] = 4096; + this.anIntArrayArray3438[1][0] = 2867; + this.anIntArrayArray3438[2][1] = 4096; + this.anIntArrayArray3438[1][2] = 4096; + this.anIntArrayArray3438[2][2] = 4096; + this.anIntArrayArray3438[3][1] = 4096; + this.anIntArrayArray3438[2][0] = 3276; + this.anIntArrayArray3438[3][2] = 0; + this.anIntArrayArray3438[3][0] = 4096; + } + } + + if(var2) { + aClass3_Sub28_Sub17_Sub1_3440 = (Class3_Sub28_Sub17_Sub1)null; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "um.B(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub37() { + super(1, false); + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var3) { + if(var1 == 0) { + int var4 = var2.getByte((byte)-68); + if(-1 != ~var4) { + this.method345(var4, false); + } else { + this.anIntArrayArray3438 = new int[var2.getByte((byte)-126)][4]; + + for(int var5 = 0; ~this.anIntArrayArray3438.length < ~var5; ++var5) { + this.anIntArrayArray3438[var5][0] = var2.getShort(1); + this.anIntArrayArray3438[var5][1] = var2.getByte((byte)-81) << 4; + this.anIntArrayArray3438[var5][2] = var2.getByte((byte)-63) << 4; + this.anIntArrayArray3438[var5][3] = var2.getByte((byte)-28) << 4; + } + } + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "um.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + private final void method346(int var1) { + try { + if(var1 <= 95) { + method350((byte)-28, -113); + } + + int var5 = this.anIntArrayArray3438.length; + if(~var5 < -1) { + for(int var6 = 0; var6 < 257; ++var6) { + int var7 = 0; + int var8 = var6 << 4; + + for(int var9 = 0; var5 > var9 && var8 >= this.anIntArrayArray3438[var9][0]; ++var9) { + ++var7; + } + + int var2; + int var3; + int var4; + int[] var14; + if(var5 > var7) { + var14 = this.anIntArrayArray3438[var7]; + if(var7 > 0) { + int[] var10 = this.anIntArrayArray3438[-1 + var7]; + int var11 = (var8 - var10[0] << 12) / (var14[0] + -var10[0]); + int var12 = 4096 + -var11; + var4 = var10[3] * var12 + var14[3] * var11 >> 12; + var2 = var12 * var10[1] + var11 * var14[1] >> 12; + var3 = var12 * var10[2] + var11 * var14[2] >> 12; + } else { + var2 = var14[1]; + var4 = var14[3]; + var3 = var14[2]; + } + } else { + var14 = this.anIntArrayArray3438[var5 + -1]; + var4 = var14[3]; + var3 = var14[2]; + var2 = var14[1]; + } + + var2 >>= 4; + var3 >>= 4; + if(var2 < 0) { + var2 = 0; + } else if(~var2 < -256) { + var2 = 255; + } + + if(0 > var3) { + var3 = 0; + } else if(var3 > 255) { + var3 = 255; + } + + var4 >>= 4; + if(var4 >= 0) { + if(-256 > ~var4) { + var4 = 255; + } + } else { + var4 = 0; + } + + this.anIntArray3443[var6] = Class3_Sub13_Sub29.bitwiseOr(var4, Class3_Sub13_Sub29.bitwiseOr(var3 << 8, var2 << 16)); + } + } + + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "um.E(" + var1 + ')'); + } + } + + static final void method347(boolean var0) { + try { + WorldListEntry.anInt2622 = 0; + if(!var0) { + method347(true); + } + + int var1 = Class131.anInt1716 + (Class102.player.anInt2819 >> 7); + int var2 = (Class102.player.anInt2829 >> 7) - -Class82.anInt1152; + if(-3054 >= ~var1 && -3157 <= ~var1 && -3057 >= ~var2 && var2 <= 3136) { + WorldListEntry.anInt2622 = 1; + } + + if(var1 >= 3072 && var1 <= 3118 && var2 >= 9492 && var2 <= 9535) { + WorldListEntry.anInt2622 = 1; + } + + if(~WorldListEntry.anInt2622 == -2 && -3140 >= ~var1 && -3200 <= ~var1 && var2 >= 3008 && 3062 >= var2) { + WorldListEntry.anInt2622 = 0; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "um.O(" + var0 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + int[][] var3 = this.aClass97_2376.method1594((byte)90, var2); + if(var1 != -1) { + this.method157(-71, (RSByteBuffer)null, false); + } + + if(this.aClass97_2376.aBoolean1379) { + int[] var5 = this.method152(0, var2, 32755); + int[] var7 = var3[1]; + int[] var6 = var3[0]; + int[] var8 = var3[2]; + + for(int var9 = 0; Class113.anInt1559 > var9; ++var9) { + int var4 = var5[var9] >> 4; + if(-1 < ~var4) { + var4 = 0; + } + + if(var4 > 256) { + var4 = 256; + } + + var4 = this.anIntArray3443[var4]; + var6[var9] = Class3_Sub28_Sub15.method633(var4, 16711680) >> 12; + var7[var9] = Class3_Sub28_Sub15.method633(4080, var4 >> 4); + var8[var9] = Class3_Sub28_Sub15.method633(255, var4) << 4; + } + } + + return var3; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "um.T(" + var1 + ',' + var2 + ')'); + } + } + + public static void method348(int var0) { + try { + if(var0 >= 7) { + aClass3_Sub28_Sub17_Sub1_3440 = null; + aBigInteger3441 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "um.Q(" + var0 + ')'); + } + } + + static final boolean method349(int var0, int var1, int var2) { + for(int var3 = 0; var3 < Class126.anInt1672; ++var3) { + Class113 var4 = Class145.aClass113Array1895[var3]; + int var5; + int var6; + int var7; + int var8; + int var9; + if(var4.anInt1564 == 1) { + var5 = var4.anInt1562 - var0; + if(var5 > 0) { + var6 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); + var7 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); + var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); + var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); + if(var2 >= var6 && var2 <= var7 && var1 >= var8 && var1 <= var9) { + return true; + } + } + } else if(var4.anInt1564 == 2) { + var5 = var0 - var4.anInt1562; + if(var5 > 0) { + var6 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); + var7 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); + var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); + var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); + if(var2 >= var6 && var2 <= var7 && var1 >= var8 && var1 <= var9) { + return true; + } + } + } else if(var4.anInt1564 == 3) { + var5 = var4.anInt1560 - var2; + if(var5 > 0) { + var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); + var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); + var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); + var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); + if(var0 >= var6 && var0 <= var7 && var1 >= var8 && var1 <= var9) { + return true; + } + } + } else if(var4.anInt1564 == 4) { + var5 = var2 - var4.anInt1560; + if(var5 > 0) { + var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); + var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); + var8 = var4.anInt1544 + (var4.anInt1561 * var5 >> 8); + var9 = var4.anInt1548 + (var4.anInt1565 * var5 >> 8); + if(var0 >= var6 && var0 <= var7 && var1 >= var8 && var1 <= var9) { + return true; + } + } + } else if(var4.anInt1564 == 5) { + var5 = var1 - var4.anInt1544; + if(var5 > 0) { + var6 = var4.anInt1562 + (var4.anInt1549 * var5 >> 8); + var7 = var4.anInt1545 + (var4.anInt1557 * var5 >> 8); + var8 = var4.anInt1560 + (var4.anInt1555 * var5 >> 8); + var9 = var4.anInt1550 + (var4.anInt1551 * var5 >> 8); + if(var0 >= var6 && var0 <= var7 && var2 >= var8 && var2 <= var9) { + return true; + } + } + } + } + + return false; + } + + static final Class168 method350(byte var0, int var1) { + try { + Class168 var2 = (Class168)Class163_Sub2_Sub1.aClass93_4015.get((long)var1, (byte)121); + if(null == var2) { + int var3 = 70 % ((var0 - 43) / 57); + byte[] var4 = Class3_Sub28_Sub5.aClass153_3580.getFile(4, (byte)-122, var1); + var2 = new Class168(); + if(var4 != null) { + var2.method2274(24559, new RSByteBuffer(var4), var1); + } + + Class163_Sub2_Sub1.aClass93_4015.put((byte)-109, var2, (long)var1); + return var2; + } else { + return var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "um.C(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub38.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub38.java new file mode 100644 index 000000000..cc95eb4d9 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub38.java @@ -0,0 +1,164 @@ +package org.runite.jagex; +import java.util.Random; + +final class Class3_Sub13_Sub38 extends Class3_Sub13 { + + private int anInt3444 = 0; + + static int[] spritePalette; + private int anInt3447 = 2000; + static long[] aLongArray3448 = new long[1000]; + private static RSString aClass94_3449 = RSString.createRSString("Loading sprites )2 "); + private int anInt3450 = 4096; + private int anInt3451 = 16; + static RSString aClass94_3452 = RSString.createRSString("mapflag"); + static short[] aShortArray3453 = new short[256]; + private int anInt3454 = 0; + static short[] aShortArray3455; + static int[] anIntArray3456 = new int[4096]; +static RSString aClass94_3445 = aClass94_3449; + + public static void method351(int var0) { + try { + aShortArray3455 = null; + aClass94_3449 = null; + spritePalette = null; + if(var0 == -1) { + aClass94_3445 = null; + aShortArray3453 = null; + aLongArray3448 = null; + anIntArray3456 = null; + aClass94_3452 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vc.B(" + var0 + ')'); + } + } + + final void method158(int var1) { + try { + Class8.method844((byte)-9); + if(var1 != 16251) { + this.anInt3454 = 107; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vc.P(" + var1 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(-1 == ~var1) { + this.anInt3454 = var2.getByte((byte)-34); + } else if(~var1 == -2) { + this.anInt3447 = var2.getShort(1); + } else if(~var1 != -3) { + if(3 == var1) { + this.anInt3444 = var2.getShort(1); + } else if(var1 == 4) { + this.anInt3450 = var2.getShort(1); + } + } else { + this.anInt3451 = var2.getByte((byte)-116); + } + + if(var3) { + ; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "vc.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub38() { + super(0, true); + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 64 % ((var2 - 30) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = this.anInt3450 >> 1; + int[][] var6 = this.aClass114_2382.method1710((byte)93); + Random var7 = new Random((long)this.anInt3454); + + for(int var8 = 0; this.anInt3447 > var8; ++var8) { + int var9 = this.anInt3450 > 0?this.anInt3444 + -var5 + Class100.method1603((byte)-99, this.anInt3450, var7):this.anInt3444; + int var10 = Class100.method1603((byte)-96, Class113.anInt1559, var7); + var9 = (var9 & 4088) >> 4; + int var11 = Class100.method1603((byte)62, Class101.anInt1427, var7); + int var12 = var10 - -(this.anInt3451 * Class75_Sub2.anIntArray2639[var9] >> 12); + int var13 = var11 + (Class3_Sub13_Sub17.anIntArray3212[var9] * this.anInt3451 >> 12); + int var15 = var12 - var10; + int var14 = -var11 + var13; + if(~var15 != -1 || ~var14 != -1) { + if(var15 < 0) { + var15 = -var15; + } + + if(~var14 > -1) { + var14 = -var14; + } + + boolean var16 = var14 > var15; + int var17; + int var18; + if(var16) { + var17 = var10; + var18 = var12; + var12 = var13; + var13 = var18; + var10 = var11; + var11 = var17; + } + + if(~var10 < ~var12) { + var17 = var10; + var18 = var11; + var10 = var12; + var11 = var13; + var13 = var18; + var12 = var17; + } + + var18 = -var10 + var12; + int var19 = var13 + -var11; + var17 = var11; + if(~var19 > -1) { + var19 = -var19; + } + + int var20 = -var18 / 2; + int var22 = -(Class100.method1603((byte)-18, 4096, var7) >> 2) + 1024; + int var23 = ~var13 >= ~var11?-1:1; + int var21 = 2048 / var18; + + for(int var24 = var10; var12 > var24; ++var24) { + var20 += var19; + int var25 = var21 * (-var10 + var24) + var22 + 1024; + int var27 = var17 & Class3_Sub20.anInt2487; + if(0 < var20) { + var20 += -var18; + var17 += var23; + } + + int var26 = RenderAnimationDefinition.anInt396 & var24; + if(!var16) { + var6[var26][var27] = var25; + } else { + var6[var27][var26] = var25; + } + } + } + } + } + + return var3; + } catch (RuntimeException var28) { + throw Class44.method1067(var28, "vc.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub39.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub39.java new file mode 100644 index 000000000..7573b32e0 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub39.java @@ -0,0 +1,281 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub39 extends Class3_Sub13 { + + private int[] anIntArray3457; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array3458; + static int anInt3459; + static int anInt3460 = 0; + static byte[][] aByteArrayArray3461 = new byte[1000][]; + private int anInt3462 = 0; + static int anInt3463; + static int anInt3464 = 0; + private short[] aShortArray3465 = new short[257]; + static int anInt3466; + private int[] anIntArray3467; + static boolean[][] aBooleanArrayArray3468 = new boolean[][]{{true, true, true}, {false, false}, {false, true}, {true, false}, {false, true, true}, {true, false, true}, {false, true, false}, {true, false, false}}; + private int[][] anIntArrayArray3469; + + + private final void method352(int var1) { + try { + int var2 = this.anInt3462; + int var3; + int var4; + int[] var5; + int[] var6; + int var7; + int var8; + int var9; + int var10; + if(2 != var2) { + if(var2 == 1) { + for(var2 = 0; -258 < ~var2; ++var2) { + var4 = var2 << 4; + + for(var3 = 1; ~var3 > ~(-1 + this.anIntArrayArray3469.length) && ~this.anIntArrayArray3469[var3][0] >= ~var4; ++var3) { + ; + } + + var5 = this.anIntArrayArray3469[-1 + var3]; + var6 = this.anIntArrayArray3469[var3]; + var7 = (var4 + -var5[0] << 12) / (-var5[0] + var6[0]); + var8 = 4096 + -Class75_Sub2.anIntArray2639[(8189 & var7) >> 5] >> 1; + var9 = -var8 + 4096; + var10 = var8 * var6[1] + var5[1] * var9 >> 12; + if(32767 <= ~var10) { + var10 = -32767; + } + + if('\u8000' <= var10) { + var10 = 32767; + } + + this.aShortArray3465[var2] = (short)var10; + } + } else { + for(var2 = 0; ~var2 > -258; ++var2) { + var4 = var2 << 4; + + for(var3 = 1; -1 + this.anIntArrayArray3469.length > var3 && ~this.anIntArrayArray3469[var3][0] >= ~var4; ++var3) { + ; + } + + var6 = this.anIntArrayArray3469[var3]; + var5 = this.anIntArrayArray3469[-1 + var3]; + var7 = (-var5[0] + var4 << 12) / (-var5[0] + var6[0]); + var8 = -var7 + 4096; + var9 = var6[1] * var7 + var8 * var5[1] >> 12; + if(-32768 >= var9) { + var9 = -32767; + } + + if('\u8000' <= var9) { + var9 = 32767; + } + + this.aShortArray3465[var2] = (short)var9; + } + } + } else { + for(var2 = 0; -258 < ~var2; ++var2) { + var4 = var2 << 4; + + for(var3 = 1; this.anIntArrayArray3469.length - 1 > var3 && this.anIntArrayArray3469[var3][0] <= var4; ++var3) { + ; + } + + var6 = this.anIntArrayArray3469[var3]; + var5 = this.anIntArrayArray3469[var3 + -1]; + var7 = this.method356((byte)-106, var3 + -2)[1]; + var9 = var6[1]; + var8 = var5[1]; + int var15 = var9 - var7; + var10 = this.method356((byte)-106, var3 + 1)[1]; + int var11 = (var4 + -var5[0] << 12) / (var6[0] + -var5[0]); + int var13 = var10 + -var9 + -var7 + var8; + int var12 = var11 * var11 >> 12; + int var14 = var7 + (-var8 - var13); + int var19 = var15 * var11 >> 12; + int var18 = var12 * var14 >> 12; + int var17 = var12 * (var11 * var13 >> 12) >> 12; + int var20 = var8 + var18 + var17 + var19; + if(var20 <= -32768) { + var20 = -32767; + } + + if(~var20 <= -32769) { + var20 = 32767; + } + + this.aShortArray3465[var2] = (short)var20; + } + } + + var2 = -74 % ((var1 - 50) / 33); + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "wi.E(" + var1 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -119 / ((30 - var2) / 36); + int[] var8 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, var1, 32755); + + for(int var6 = 0; ~Class113.anInt1559 < ~var6; ++var6) { + int var4 = var5[var6] >> 4; + if(0 > var4) { + var4 = 0; + } + + if(256 < var4) { + var4 = 256; + } + + var8[var6] = this.aShortArray3465[var4]; + } + } + + return var8; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "wi.D(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub39() { + super(1, true); + } + + static final boolean method353(int var0, int var1) { + try { + if(var1 > var0) { + return false; + } else { + int var2 = Class3_Sub13_Sub7.aShortArray3095[var0]; + if(var2 >= 2000) { + var2 -= 2000; + } + + return ~var2 == -1004; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wi.Q(" + var0 + ',' + var1 + ')'); + } + } + + static final void method354(int var0, int var1) { + try { + Class3_Sub13_Sub30.anInt3362 = -1; + if(var0 >= -121) { + anInt3466 = -58; + } + + Class3_Sub13_Sub30.anInt3362 = -1; + Class3_Sub4.anInt2251 = var1; + Class3_Sub5.method117((byte)87); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wi.B(" + var0 + ',' + var1 + ')'); + } + } + + final void method158(int var1) { + try { + if(null == this.anIntArrayArray3469) { + this.anIntArrayArray3469 = new int[][]{{0, 0}, {4096, 4096}}; + } + + if(this.anIntArrayArray3469.length < 2) { + throw new RuntimeException("Curve operation requires at least two markers"); + } else { + if(2 == this.anInt3462) { + this.method355(true); + } + + if(var1 != 16251) { + anInt3463 = 22; + } + + Class8.method844((byte)-9); + this.method352(-11); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wi.P(" + var1 + ')'); + } + } + + private final void method355(boolean var1) { + try { + int[] var2 = this.anIntArrayArray3469[0]; + if(!var1) { + this.anIntArray3467 = (int[])null; + } + + int[] var3 = this.anIntArrayArray3469[1]; + int[] var4 = this.anIntArrayArray3469[this.anIntArrayArray3469.length + -2]; + int[] var5 = this.anIntArrayArray3469[-1 + this.anIntArrayArray3469.length]; + this.anIntArray3457 = new int[]{var2[0] - (var3[0] + -var2[0]), -var3[1] + var2[1] + var2[1]}; + this.anIntArray3467 = new int[]{var4[0] + var4[0] + -var5[0], -var5[1] - -var4[1] + var4[1]}; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wi.C(" + var1 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(0 == var1) { + this.anInt3462 = var2.getByte((byte)-31); + this.anIntArrayArray3469 = new int[var2.getByte((byte)-52)][2]; + + for(int var4 = 0; ~this.anIntArrayArray3469.length < ~var4; ++var4) { + this.anIntArrayArray3469[var4][0] = var2.getShort(1); + this.anIntArrayArray3469[var4][1] = var2.getShort(1); + } + } + + if(!var3) { + this.anInt3462 = -6; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "wi.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + private final int[] method356(byte var1, int var2) { + try { + if(~var2 <= -1) { + if(~var2 <= ~this.anIntArrayArray3469.length) { + return this.anIntArray3467; + } else { + if(var1 != -106) { + this.aShortArray3465 = (short[])null; + } + + return this.anIntArrayArray3469[var2]; + } + } else { + return this.anIntArray3457; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wi.F(" + var1 + ',' + var2 + ')'); + } + } + + public static void method357(boolean var0) { + try { + aByteArrayArray3461 = (byte[][])null; + aClass3_Sub28_Sub16Array3458 = null; + if(var0) { + method353(-71, 100); + } + + aBooleanArrayArray3468 = (boolean[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wi.O(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub4.java new file mode 100644 index 000000000..916a01035 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub4.java @@ -0,0 +1,454 @@ +package org.runite.jagex; +import java.awt.Component; +import java.lang.reflect.Method; + +final class Class3_Sub13_Sub4 extends Class3_Sub13 { + + static int worldListOffset; + static RSString aClass94_3055 = RSString.createRSString("k"); + int anInt3056 = 4; + static byte[][] aByteArrayArray3057; + int anInt3058 = 4; + private byte[] aByteArray3059 = new byte[512]; + int anInt3060 = 4; + static int anInt3061; + int anInt3062 = 1638; + private short[] aShortArray3063; + static boolean aBoolean3064 = true; + boolean aBoolean3065 = true; + private short[] aShortArray3066; + int anInt3067 = 0; + + + static final boolean method185(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if(var1 < var2 && var1 < var3 && var1 < var4) { + return false; + } else if(var1 > var2 && var1 > var3 && var1 > var4) { + return false; + } else if(var0 < var5 && var0 < var6 && var0 < var7) { + return false; + } else if(var0 > var5 && var0 > var6 && var0 > var7) { + return false; + } else { + int var8 = (var1 - var2) * (var6 - var5) - (var0 - var5) * (var3 - var2); + int var9 = (var1 - var4) * (var5 - var7) - (var0 - var7) * (var2 - var4); + int var10 = (var1 - var3) * (var7 - var6) - (var0 - var6) * (var4 - var3); + return var8 * var10 > 0 && var10 * var9 > 0; + } + } + + final void method186(boolean var1, int var2, int[] var3) { + try { + int var5 = this.anInt3056 * Class163_Sub3.anIntArray2999[var2]; + if(var1) { + int var4; + int var6; + int var8; + short var9; + int var10; + int var11; + int var12; + int var13; + int var14; + int var15; + int var17; + int var16; + int var18; + if(-2 != ~this.anInt3058) { + var9 = this.aShortArray3066[0]; + if(var9 > 8 || -8 > var9) { + var8 = this.aShortArray3063[0] << 12; + var13 = var8 * this.anInt3056 >> 12; + var12 = this.anInt3060 * var8 >> 12; + var11 = var5 * var8 >> 12; + var15 = var11 >> 12; + var16 = 1 + var15; + var17 = this.aByteArray3059[var15 & 255] & 255; + var11 &= 4095; + var14 = Class1.anIntArray52[var11]; + if(~var16 <= ~var13) { + var16 = 0; + } + + var18 = 255 & this.aByteArray3059[255 & var16]; + + for(var10 = 0; Class113.anInt1559 > var10; ++var10) { + var4 = Class102.anIntArray2125[var10] * this.anInt3060; + var6 = this.method192(var4 * var8 >> 12, var18, var17, var12, 122, var11, var14); + var3[var10] = var6 * var9 >> 12; + } + } + + for(int var7 = 1; this.anInt3058 > var7; ++var7) { + var9 = this.aShortArray3066[var7]; + if(8 < var9 || var9 < -8) { + var8 = this.aShortArray3063[var7] << 12; + var11 = var8 * var5 >> 12; + var15 = var11 >> 12; + var17 = this.aByteArray3059[255 & var15] & 255; + var12 = this.anInt3060 * var8 >> 12; + var16 = var15 + 1; + var11 &= 4095; + var14 = Class1.anIntArray52[var11]; + var13 = this.anInt3056 * var8 >> 12; + if(~var16 <= ~var13) { + var16 = 0; + } + + var18 = 255 & this.aByteArray3059[var16 & 255]; + if(this.aBoolean3065 && ~var7 == ~(this.anInt3058 + -1)) { + for(var10 = 0; ~Class113.anInt1559 < ~var10; ++var10) { + var4 = Class102.anIntArray2125[var10] * this.anInt3060; + var6 = this.method192(var8 * var4 >> 12, var18, var17, var12, 120, var11, var14); + var6 = (var9 * var6 >> 12) + var3[var10]; + var3[var10] = (var6 >> 1) + 2048; + } + } else { + for(var10 = 0; ~var10 > ~Class113.anInt1559; ++var10) { + var4 = Class102.anIntArray2125[var10] * this.anInt3060; + var6 = this.method192(var4 * var8 >> 12, var18, var17, var12, 126, var11, var14); + var3[var10] += var6 * var9 >> 12; + } + } + } + } + } else { + var9 = this.aShortArray3066[0]; + var8 = this.aShortArray3063[0] << 12; + var11 = var5 * var8 >> 12; + var12 = this.anInt3060 * var8 >> 12; + var13 = var8 * this.anInt3056 >> 12; + var15 = var11 >> 12; + var17 = this.aByteArray3059[255 & var15] & 255; + var11 &= 4095; + var14 = Class1.anIntArray52[var11]; + var16 = var15 - -1; + if(~var13 >= ~var16) { + var16 = 0; + } + + var18 = 255 & this.aByteArray3059[255 & var16]; + if(this.aBoolean3065) { + for(var10 = 0; Class113.anInt1559 > var10; ++var10) { + var4 = this.anInt3060 * Class102.anIntArray2125[var10]; + var6 = this.method192(var8 * var4 >> 12, var18, var17, var12, 121, var11, var14); + var6 = var9 * var6 >> 12; + var3[var10] = 2048 - -(var6 >> 1); + } + } else { + for(var10 = 0; var10 < Class113.anInt1559; ++var10) { + var4 = this.anInt3060 * Class102.anIntArray2125[var10]; + var6 = this.method192(var8 * var4 >> 12, var18, var17, var12, 124, var11, var14); + var3[var10] = var9 * var6 >> 12; + } + } + } + + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "bi.C(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public static void method187(boolean var0) { + try { + aByteArrayArray3057 = (byte[][])null; + if(var0) { + aClass94_3055 = (RSString)null; + } + + aClass94_3055 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bi.S(" + var0 + ')'); + } + } + + final void method158(int var1) { + try { + this.aByteArray3059 = Class49.method1123(16711935, this.anInt3067); + this.method191(true); + + for(int var2 = -1 + this.anInt3058; var2 >= 1; --var2) { + short var3 = this.aShortArray3066[var2]; + if(8 < var3 || var3 < -8) { + break; + } + + --this.anInt3058; + } + + if(var1 != 16251) { + this.anInt3062 = 101; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bi.P(" + var1 + ')'); + } + } + + static final void method188(int var0, int var1) { + try { + if(var1 != 0) { + method188(38, 29); + } + + Class154.aClass93_1955.method1522(-125, var0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bi.U(" + var0 + ',' + var1 + ')'); + } + } + + static final void method189(byte var0) { + try { + int var2 = -18 / ((28 - var0) / 32); + + int var1; + for(var1 = -1; Class159.localPlayerCount > var1; ++var1) { + int var3; + if(~var1 != 0) { + var3 = Class56.localPlayerIndexes[var1]; + } else { + var3 = 2047; + } + + Player var4 = Class3_Sub13_Sub22.players[var3]; + if(var4 != null && 0 < var4.textCycle) { + --var4.textCycle; + if(-1 == ~var4.textCycle) { + var4.textSpoken = null; + } + } + } + + for(var1 = 0; ~Class163.localNPCCount < ~var1; ++var1) { + var2 = Class15.localNPCIndexes[var1]; + NPC var6 = Class3_Sub13_Sub24.npcs[var2]; + if(null != var6 && -1 > ~var6.textCycle) { + --var6.textCycle; + if(-1 == ~var6.textCycle) { + var6.textSpoken = null; + } + } + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bi.B(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + this.method192(49, -110, -55, -117, 117, 10, -51); + } + + if(var1 == 0) { + this.aBoolean3065 = var2.getByte((byte)-101) == 1; + } else if(~var1 == -2) { + this.anInt3058 = var2.getByte((byte)-96); + } else if(var1 == 2) { + this.anInt3062 = var2.getShort((byte)30); + if(0 > this.anInt3062) { + this.aShortArray3066 = new short[this.anInt3058]; + + for(int var4 = 0; this.anInt3058 > var4; ++var4) { + this.aShortArray3066[var4] = (short)var2.getShort((byte)19); + } + } + } else if(var1 == 3) { + this.anInt3060 = this.anInt3056 = var2.getByte((byte)-38); + } else if(var1 == 4) { + this.anInt3067 = var2.getByte((byte)-94); + } else if(~var1 == -6) { + this.anInt3060 = var2.getByte((byte)-124); + } else if(var1 == 6) { + this.anInt3056 = var2.getByte((byte)-66); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bi.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final int method190(int var0, int var1, byte var2, int var3) { + try { + int var4 = -42 % ((-14 - var2) / 60); + int var5 = Class51.anIntArray834[Class140_Sub1_Sub2.method1940(var1, var3)]; + if(-1 > ~var0) { + int var6 = Class51.anInterface2_838.method19(111, var0 & '\uffff'); + int var7; + int var9; + if(~var6 != -1) { + if(-1 >= ~var3) { + if(-128 > ~var3) { + var7 = 16777215; + } else { + var7 = 131586 * var3; + } + } else { + var7 = 0; + } + + if(var6 == 256) { + var5 = var7; + } else { + var9 = -var6 + 256; + var5 = (16711680 & (var7 & '\uff00') * var6 + var9 * (var5 & '\uff00')) + (var6 * (var7 & 16711935) - -((16711935 & var5) * var9) & -16711936) >> 8; + } + } + + var7 = Class51.anInterface2_838.method10(106, '\uffff' & var0); + if(~var7 != -1) { + var7 += 256; + int var8 = ((16711680 & var5) >> 16) * var7; + if('\uffff' < var8) { + var8 = '\uffff'; + } + + var9 = ((var5 & '\uff00') >> 8) * var7; + if(var9 > '\uffff') { + var9 = '\uffff'; + } + + int var10 = var7 * (var5 & 255); + if(var10 > '\uffff') { + var10 = '\uffff'; + } + + var5 = (var10 >> 8) + ('\uff00' & var9) + (16711711 & var8 << 8); + } + } + + return var5; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "bi.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method191(boolean var1) { + try { + int var2; + if(this.anInt3062 <= 0) { + if(this.aShortArray3066 != null && this.aShortArray3066.length == this.anInt3058) { + this.aShortArray3063 = new short[this.anInt3058]; + + for(var2 = 0; var2 < this.anInt3058; ++var2) { + this.aShortArray3063[var2] = (short)((int)Math.pow(2.0D, (double)var2)); + } + } + } else { + this.aShortArray3066 = new short[this.anInt3058]; + this.aShortArray3063 = new short[this.anInt3058]; + + for(var2 = 0; var2 < this.anInt3058; ++var2) { + this.aShortArray3066[var2] = (short)((int)(Math.pow((double)((float)this.anInt3062 / 4096.0F), (double)var2) * 4096.0D)); + this.aShortArray3063[var2] = (short)((int)Math.pow(2.0D, (double)var2)); + } + } + + if(!var1) { + this.method192(54, 5, -23, 103, -114, -67, -27); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bi.F(" + var1 + ')'); + } + } + + private final int method192(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(var5 < 117) { + this.method158(89); + } + + int var10 = -4096 + var6; + int var13 = var1 >> 12; + int var12 = 1 + var13; + var13 &= 255; + if(~var12 <= ~var4) { + var12 = 0; + } + + var1 &= 4095; + int var14 = this.aByteArray3059[var13 - -var3] & 3; + int var15 = Class1.anIntArray52[var1]; + int var8; + if(var14 > 1) { + var8 = 2 != var14?-var1 + -var6:var1 - var6; + } else { + var8 = 0 == var14?var6 + var1:-var1 + var6; + } + + var12 &= 255; + int var11 = -4096 + var1; + var14 = this.aByteArray3059[var3 + var12] & 3; + int var9; + if(~var14 >= -2) { + var9 = 0 == var14?var6 + var11:-var11 + var6; + } else { + var9 = 2 == var14?-var6 + var11:-var11 + -var6; + } + + var14 = this.aByteArray3059[var13 - -var2] & 3; + int var16 = var8 + ((var9 + -var8) * var15 >> 12); + if(1 < var14) { + var8 = 2 != var14?-var1 - var10:var1 + -var10; + } else { + var8 = 0 != var14?var10 + -var1:var1 - -var10; + } + + var14 = 3 & this.aByteArray3059[var2 + var12]; + if(1 < var14) { + var9 = ~var14 != -3?-var10 + -var11:var11 - var10; + } else { + var9 = var14 == 0?var11 + var10:var10 + -var11; + } + + int var17 = var8 + ((-var8 + var9) * var15 >> 12); + return var16 - -(var7 * (var17 + -var16) >> 12); + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "bi.R(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + static final void method193(byte var0, Component var1) { + try { + if(var0 < 49) { + worldListOffset = 85; + } + + Method var2 = Signlink.aMethod1222; + if(null != var2) { + try { + var2.invoke(var1, new Object[]{Boolean.FALSE}); + } catch (Throwable var4) { + ; + } + } + + var1.addKeyListener(Class3_Sub13_Sub3.aClass148_3049); + var1.addFocusListener(Class3_Sub13_Sub3.aClass148_3049); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bi.Q(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public Class3_Sub13_Sub4() { + super(0, true); + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = 111 % ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + this.method186(true, var1, var3); + } + + return var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bi.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub5.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub5.java new file mode 100644 index 000000000..4a01fff97 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub5.java @@ -0,0 +1,122 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub5 extends Class3_Sub13 { + + static int anInt3068 = 0; + static int anInt3069 = 0; + static int anInt3070 = 0; + static int anInt3071 = 0; + static int anInt3072 = -1; + + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + anInt3069 = 67; + } + + int[][] var3 = this.aClass97_2376.method1594((byte)7, var2); + if(this.aClass97_2376.aBoolean1379) { + int[] var4 = this.method152(2, var2, 32755); + int[][] var5 = this.method162(var2, 0, (byte)-119); + int[][] var6 = this.method162(var2, 1, (byte)-107); + int[] var9 = var3[2]; + int[] var8 = var3[1]; + int[] var10 = var5[0]; + int[] var11 = var5[1]; + int[] var7 = var3[0]; + int[] var13 = var6[0]; + int[] var12 = var5[2]; + int[] var15 = var6[2]; + int[] var14 = var6[1]; + + for(int var16 = 0; ~Class113.anInt1559 < ~var16; ++var16) { + int var17 = var4[var16]; + if(var17 != 4096) { + if(0 != var17) { + int var18 = -var17 + 4096; + var7[var16] = var18 * var13[var16] + var17 * var10[var16] >> 12; + var8[var16] = var18 * var14[var16] + var11[var16] * var17 >> 12; + var9[var16] = var15[var16] * var18 + var12[var16] * var17 >> 12; + } else { + var7[var16] = var13[var16]; + var8[var16] = var14[var16]; + var9[var16] = var15[var16]; + } + } else { + var7[var16] = var10[var16]; + var8[var16] = var11[var16]; + var9[var16] = var12[var16]; + } + } + } + + return var3; + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "bl.T(" + var1 + ',' + var2 + ')'); + } + } + + public Class3_Sub13_Sub5() { + super(3, false); + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var1 == 0) { + this.aBoolean2375 = var2.getByte((byte)-91) == 1; + } + + if(!var3) { + this.method157(118, (RSByteBuffer)null, true); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bl.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method194(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(~Class101.anInt1425 >= ~var7 && Class3_Sub28_Sub18.anInt3765 >= var6 && var4 >= Class159.anInt2020 && var1 <= Class57.anInt902) { + Class3_Sub13_Sub19.method262(var3, 119, var4, var1, var2, var0, var6, var7); + } else { + Class143.method2062(var6, var2, var5 + -4185, var1, var0, var3, var4, var7); + } + + if(var5 == 4096) { + ; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "bl.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + int var4 = 51 / ((30 - var2) / 36); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, var1, 32755); + int[] var6 = this.method152(1, var1, 32755); + int[] var7 = this.method152(2, var1, 32755); + + for(int var8 = 0; ~Class113.anInt1559 < ~var8; ++var8) { + int var9 = var7[var8]; + if(4096 == var9) { + var3[var8] = var5[var8]; + } else if(~var9 != -1) { + var3[var8] = var9 * var5[var8] - -((-var9 + 4096) * var6[var8]) >> 12; + } else { + var3[var8] = var6[var8]; + } + } + } + + return var3; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "bl.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub6.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub6.java new file mode 100644 index 000000000..2575e5e08 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub6.java @@ -0,0 +1,201 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub6 extends Class3_Sub13 { + + private int anInt3073 = 0; + private int anInt3074 = 4096; + static Class61 aClass61_3075 = new Class61(); + static int[] anIntArray3076; + static CacheIndex aClass153_3077; + static boolean aBoolean3078; + static RSString aClass94_3079 = RSString.createRSString("Examiner"); + static RSString aClass94_3080 = Class95.method1586(23161, 160); + static int anInt3081 = 0; + static int[] anIntArray3082 = new int[100]; + static int[] anIntArray3083 = new int[50]; + static int anInt3084; + + + static final void method195(int var0) { + try { + int var1 = (NPC.anInt3995 >> 10) - -(Class131.anInt1716 >> 3); + int var2 = (Class77.anInt1111 >> 10) - -(Class82.anInt1152 >> 3); + if(var0 == 20479) { + byte var3 = 0; + byte var4 = 8; + byte var6 = 18; + Class3_Sub22.aByteArrayArray2521 = new byte[var6][]; + Class3_Sub28_Sub5.anIntArray3587 = new int[var6]; + Class3_Sub13_Sub26.aByteArrayArray3335 = new byte[var6][]; + Client.anIntArray2200 = new int[var6]; + Class3_Sub9.regionXteaKeys = new int[var6][4]; + for (int var5 = 0; var5 < var6; var5++) { + Class3_Sub9.regionXteaKeys[var5] = new int[] { 14881828, -6662814, 58238456, 146761213 }; + } + Class3_Sub28_Sub14.aByteArrayArray3669 = new byte[var6][]; + Class3_Sub24_Sub3.anIntArray3494 = new int[var6]; + Class164_Sub2.aByteArrayArray3027 = new byte[var6][]; + Class3_Sub13_Sub24.npcSpawnCacheIndices = new int[var6]; + Class3_Sub13_Sub15.anIntArray3181 = new int[var6]; + Class101.anIntArray1426 = new int[var6]; + byte var5 = 8; + Class3_Sub13_Sub4.aByteArrayArray3057 = new byte[var6][]; + int var11 = 0; + + int var7; + for(var7 = (-6 + var1) / 8; ~var7 >= ~((6 + var1) / 8); ++var7) { + for(int var8 = (-6 + var2) / 8; ~((var2 + 6) / 8) <= ~var8; ++var8) { + int var9 = (var7 << 8) - -var8; + Class3_Sub24_Sub3.anIntArray3494[var11] = var9; + Client.anIntArray2200[var11] = aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub30_Sub1.aClass94_3807, Class72.method1298((byte)9, var7), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var8)}, (byte)-128), (byte)-30); + Class101.anIntArray1426[var11] = aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class161.aClass94_2029, Class72.method1298((byte)9, var7), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var8)}, (byte)-73), (byte)-30); + Class3_Sub13_Sub24.npcSpawnCacheIndices[var11] = aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Canvas_Sub1.aClass94_26, Class72.method1298((byte)9, var7), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var8)}, (byte)-82), (byte)-30); + Class3_Sub13_Sub15.anIntArray3181[var11] = aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class95.aClass94_1333, Class72.method1298((byte)9, var7), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var8)}, (byte)-104), (byte)-30); + Class3_Sub28_Sub5.anIntArray3587[var11] = aClass153_3077.getArchiveForName(RenderAnimationDefinition.method903(new RSString[]{Class167.aClass94_2084, Class72.method1298((byte)9, var7), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var8)}, (byte)-114), (byte)-30); + if(~Class3_Sub13_Sub24.npcSpawnCacheIndices[var11] == 0) { + Client.anIntArray2200[var11] = -1; + Class101.anIntArray1426[var11] = -1; + Class3_Sub13_Sub15.anIntArray3181[var11] = -1; + Class3_Sub28_Sub5.anIntArray3587[var11] = -1; + } + + ++var11; + } + } + + for(var7 = var11; ~var7 > ~Class3_Sub13_Sub24.npcSpawnCacheIndices.length; ++var7) { + Class3_Sub13_Sub24.npcSpawnCacheIndices[var7] = -1; + Client.anIntArray2200[var7] = -1; + Class101.anIntArray1426[var7] = -1; + Class3_Sub13_Sub15.anIntArray3181[var7] = -1; + Class3_Sub28_Sub5.anIntArray3587[var7] = -1; + } + + Class73.method1301(var3, var2, var1, var5, true, var4, true); + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ca.F(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = 69 / ((var2 - 30) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, var1, 32755); + + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + int var7 = var5[var6]; + var4[var6] = ~this.anInt3073 >= ~var7 && ~var7 >= ~this.anInt3074?4096:0; + } + } + + return var4; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ca.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method196(boolean var0) { + try { + Class41.aClass93_684.method1523((byte)-117); + Class163_Sub1.aClass93_2984.method1523((byte)-111); + if(var0) { + anIntArray3083 = (int[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ca.B(" + var0 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + method196(true); + } + + if(~var1 != -1) { + if(1 == var1) { + this.anInt3074 = var2.getShort(1); + } + } else { + this.anInt3073 = var2.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ca.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub6() { + super(1, true); + } + + public static void method197(int var0) { + try { + aClass94_3079 = null; + anIntArray3076 = null; + aClass61_3075 = null; + anIntArray3082 = null; + aClass94_3080 = null; + if(var0 == 1) { + anIntArray3083 = null; + aClass153_3077 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ca.O(" + var0 + ')'); + } + } + + static final void method198(boolean var0, int var1) { + try { + if(var1 != -32624) { + method196(true); + } + + int var3 = Class164_Sub2.aByteArrayArray3027.length; + byte[][] var2; + if(HDToolKit.highDetail && var0) { + var2 = Class3_Sub13_Sub4.aByteArrayArray3057; + } else { + var2 = Class3_Sub22.aByteArrayArray2521; + } + + for(int var4 = 0; var4 < var3; ++var4) { + byte[] var5 = var2[var4]; + if(var5 != null) { + int var6 = -Class131.anInt1716 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var4] >> 8); + int var7 = (Class3_Sub24_Sub3.anIntArray3494[var4] & 255) * 64 + -Class82.anInt1152; + Class58.method1194(var1 + 16239); + Class3_Sub15.method374(var6, var0, var5, var7, 0, Class86.aClass91Array1182); + } + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ca.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method199(int var0, int var1, int var2, int var3) { + try { + if(var3 != -799) { + aBoolean3078 = true; + } + + if(-1 != ~CS2Script.anInt2453 && var0 != 0 && ~Class113.anInt1552 > -51 && 0 != ~var1) { + Class3_Sub25.anIntArray2550[Class113.anInt1552] = var1; + Class166.anIntArray2068[Class113.anInt1552] = var0; + RSString.anIntArray2157[Class113.anInt1552] = var2; + Class102.aClass135Array2131[Class113.anInt1552] = null; + anIntArray3083[Class113.anInt1552] = 0; + ++Class113.anInt1552; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ca.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub7.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub7.java new file mode 100644 index 000000000..c0e38eb20 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub7.java @@ -0,0 +1,167 @@ +package org.runite.jagex; + +import java.util.Random; + +final class Class3_Sub13_Sub7 extends Class3_Sub13 { + + private int anInt3085 = 10; + private int anInt3086 = 0; + static RSInterface aClass11_3087 = null; + static Random aRandom3088 = new Random(); + private int[] anIntArray3089; + static int anInt3090; + private int[] anIntArray3091; + private int anInt3093 = 2048; + static boolean aBoolean3094 = false; + static short[] aShortArray3095 = new short[500]; + private static RSString aClass94_3096 = RSString.createRSString("Close"); + static RSString aClass94_3097 = aClass94_3096; + static CacheIndex aClass153_3098; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_3099; + + + final void method158(int var1) { + try { + if(var1 == 16251) { + this.method202(1); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "d.P(" + var1 + ')'); + } + } + + public static void method200(byte var0) { + try { + aClass94_3097 = null; + aShortArray3095 = null; + if(var0 != 122) { + method201(62, -109, 127); + } + + GameShell.frame = null; + aRandom3088 = null; + aClass94_3096 = null; + aClass3_Sub28_Sub16_3099 = null; + aClass11_3087 = null; + aClass153_3098 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "d.E(" + var0 + ')'); + } + } + + static final int method201(int var0, int var1, int var2) { + try { + int var3 = var1 + -1 & var0 >> 31; + int var4 = -95 % ((33 - var2) / 54); + return var3 + (var0 + (var0 >>> 31)) % var1; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "d.C(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + private final void method202(int var1) { + try { + if(var1 == 1) { + int var2 = 0; + this.anIntArray3091 = new int[this.anInt3085 + 1]; + int var3 = 4096 / this.anInt3085; + this.anIntArray3089 = new int[this.anInt3085 + 1]; + int var4 = this.anInt3093 * var3 >> 12; + + for(int var5 = 0; this.anInt3085 > var5; ++var5) { + this.anIntArray3089[var5] = var2; + this.anIntArray3091[var5] = var2 + var4; + var2 += var3; + } + + this.anIntArray3089[this.anInt3085] = 4096; + this.anIntArray3091[this.anInt3085] = this.anIntArray3091[0] + 4096; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "d.B(" + var1 + ')'); + } + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(~var1 == -1) { + this.anInt3085 = var2.getByte((byte)-118); + } else if(-2 != ~var1) { + if(-3 == ~var1) { + this.anInt3086 = var2.getByte((byte)-81); + } + } else { + this.anInt3093 = var2.getShort(1); + } + + if(!var3) { + this.anIntArray3089 = (int[])null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "d.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class3_Sub13_Sub7() { + super(0, true); + } + + final int[] method154(int var1, byte var2) { + try { + int var4 = -12 / ((30 - var2) / 36); + int[] var3 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int var5 = Class163_Sub3.anIntArray2999[var1]; + int var7; + if(0 == this.anInt3086) { + short var6 = 0; + + for(var7 = 0; this.anInt3085 > var7; ++var7) { + if(~this.anIntArray3089[var7] >= ~var5 && ~var5 > ~this.anIntArray3089[var7 - -1]) { + if(var5 < this.anIntArray3091[var7]) { + var6 = 4096; + } + break; + } + } + + Class76.method1359(var3, 0, Class113.anInt1559, var6); + } else { + for(int var12 = 0; ~var12 > ~Class113.anInt1559; ++var12) { + int var9 = Class102.anIntArray2125[var12]; + var7 = 0; + int var10 = this.anInt3086; + if(var10 == 1) { + var7 = var9; + } else if(var10 != 2) { + if(~var10 == -4) { + var7 = (-var5 + var9 >> 1) + 2048; + } + } else { + var7 = (var9 + var5 + -4096 >> 1) + 2048; + } + + short var8 = 0; + + for(var10 = 0; var10 < this.anInt3085; ++var10) { + if(~this.anIntArray3089[var10] >= ~var7 && ~var7 > ~this.anIntArray3089[var10 - -1]) { + if(~var7 > ~this.anIntArray3091[var10]) { + var8 = 4096; + } + break; + } + } + + var3[var12] = var8; + } + } + } + + return var3; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "d.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub8.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub8.java new file mode 100644 index 000000000..ef3d62278 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub8.java @@ -0,0 +1,231 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub8 extends Class3_Sub13 { + + private boolean aBoolean3100 = true; + static int anInt3101 = 0; + static int anInt3102 = 0; + static int anInt3103; + private boolean aBoolean3104 = true; + static float aFloat3105; + static RSString aClass94_3106 = RSString.createRSString("clignotant2:"); + + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(!var3) { + method207(18, false, -19, 102L); + } + + if(~var1 == -1) { + this.aBoolean3100 = -2 == ~var2.getByte((byte)-117); + } else if(-2 == ~var1) { + this.aBoolean3104 = var2.getByte((byte)-93) == 1; + } else if(-3 == ~var1) { + this.aBoolean2375 = ~var2.getByte((byte)-45) == -2; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ej.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final int[][] method166(int var1, int var2) { + try { + if(var1 != -1) { + method207(-98, true, 95, 79L); + } + + int[][] var3 = this.aClass97_2376.method1594((byte)54, var2); + if(this.aClass97_2376.aBoolean1379) { + int[][] var4 = this.method162(!this.aBoolean3104?var2:-var2 + Class3_Sub20.anInt2487, 0, (byte)-105); + int[] var5 = var4[0]; + int[] var7 = var4[2]; + int[] var6 = var4[1]; + int[] var9 = var3[1]; + int[] var10 = var3[2]; + int[] var8 = var3[0]; + int var11; + if(this.aBoolean3100) { + for(var11 = 0; Class113.anInt1559 > var11; ++var11) { + var8[var11] = var5[RenderAnimationDefinition.anInt396 + -var11]; + var9[var11] = var6[-var11 + RenderAnimationDefinition.anInt396]; + var10[var11] = var7[RenderAnimationDefinition.anInt396 - var11]; + } + } else { + for(var11 = 0; ~Class113.anInt1559 < ~var11; ++var11) { + var8[var11] = var5[var11]; + var9[var11] = var6[var11]; + var10[var11] = var7[var11]; + } + } + } + + return var3; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ej.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method203(int var0) { + try { + //int var1 = 15 / ((-11 - var0) / 63); + if(Class3_Sub28_Sub13.anInt3660 == 2) { + if(~NPCDefinition.anInt1297 == ~Class3_Sub13_Sub39.anInt3460 && Class38_Sub1.anInt2612 == Class168.anInt2099) { + Class3_Sub28_Sub13.anInt3660 = 0; + if(Class101.aBoolean1419 && ObjectDefinition.aBooleanArray1490[81] && ~Class3_Sub13_Sub34.anInt3415 < -3) { + Class3_Sub30_Sub1.method806(2597, Class3_Sub13_Sub34.anInt3415 + -2); + } else { + Class3_Sub30_Sub1.method806(2597, Class3_Sub13_Sub34.anInt3415 + -1); + } + } + } else if(NPCDefinition.anInt1297 == Class163_Sub1.anInt2993 && ~Class38_Sub1.anInt2612 == ~Class38_Sub1.anInt2614) { + Class3_Sub28_Sub13.anInt3660 = 0; + if(Class101.aBoolean1419 && ObjectDefinition.aBooleanArray1490[81] && -3 > ~Class3_Sub13_Sub34.anInt3415) { + Class3_Sub30_Sub1.method806(2597, Class3_Sub13_Sub34.anInt3415 - 2); + } else { + Class3_Sub30_Sub1.method806(2597, Class3_Sub13_Sub34.anInt3415 - 1); + } + } else { + Class168.anInt2099 = Class38_Sub1.anInt2614; + Class3_Sub28_Sub13.anInt3660 = 2; + Class3_Sub13_Sub39.anInt3460 = Class163_Sub1.anInt2993; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ej.B(" + var0 + ')'); + } + } + + static final void method204(int var0) { + try { + //Client Resize. + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(243); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-66, Class83.method1411(0)); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class23.anInt454); + if(var0 != -3) { + anInt3103 = -41; + } + + ++GameShell.anInt2; + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class140_Sub7.anInt2934); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-31, Class3_Sub28_Sub14.anInt3671); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ej.C(" + var0 + ')'); + } + } + + static final void method205(CacheIndex var0, int var1, CacheIndex var2, Interface4 var3) { + try { + Class154.aClass153_1967 = var0; + Class58.anInterface4_915 = var3; + Class3_Sub24_Sub3.aClass153_3490 = var2; + if(Class3_Sub24_Sub3.aClass153_3490 != null) { + Class83.anInt1156 = Class3_Sub24_Sub3.aClass153_3490.getFileAmount(1, (byte)100); + } + + if(Class154.aClass153_1967 != null) { + RenderAnimationDefinition.anInt377 = Class154.aClass153_1967.getFileAmount(1, (byte)83); + } + + if(var1 <= 32) { + aClass94_3106 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ej.E(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public Class3_Sub13_Sub8() { + super(1, false); + } + + public static void method206(boolean var0) { + try { + aClass94_3106 = null; + if(!var0) { + method204(-76); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ej.O(" + var0 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -34 / ((var2 - 30) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + int[] var5 = this.method152(0, !this.aBoolean3104?var1:Class3_Sub20.anInt2487 + -var1, 32755); + if(!this.aBoolean3100) { + Class76.method1358(var5, 0, var4, 0, Class113.anInt1559); + } else { + for(int var6 = 0; var6 < Class113.anInt1559; ++var6) { + var4[var6] = var5[-var6 + RenderAnimationDefinition.anInt396]; + } + } + } + + return var4; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "ej.D(" + var1 + ',' + var2 + ')'); + } + } + + static final RSString method207(int var0, boolean var1, int var2, long var3) { + try { + if(~var0 <= -3 && var0 <= 36) { + if(var2 <= 71) { + aFloat3105 = 1.3008908F; + } + + long var6 = var3 / (long)var0; + + int var5; + for(var5 = 1; var6 != 0L; var6 /= (long)var0) { + ++var5; + } + + int var8 = var5; + if(0L > var3 || var1) { + var8 = var5 + 1; + } + + byte[] var9 = new byte[var8]; + if(var3 >= 0L) { + if(var1) { + var9[0] = 43; + } + } else { + var9[0] = 45; + } + + for(int var10 = 0; ~var5 < ~var10; ++var10) { + int var11 = (int)(var3 % (long)var0); + var3 /= (long)var0; + if(var11 < 0) { + var11 = -var11; + } + + if(var11 > 9) { + var11 += 39; + } + + var9[-1 + -var10 + var8] = (byte)(var11 + 48); + } + + RSString var13 = new RSString(); + var13.byteArray = var9; + var13.length = var8; + return var13; + } else { + throw new IllegalArgumentException("Invalid radix:" + var0); + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ej.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub9.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub9.java new file mode 100644 index 000000000..afaf4d524 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub13_Sub9.java @@ -0,0 +1,121 @@ +package org.runite.jagex; + +final class Class3_Sub13_Sub9 extends Class3_Sub13 { + + static int[] anIntArray3107; + private int anInt3108 = 1; + private int anInt3109 = 204; + static short[] aShortArray3110 = new short[256]; + static int anInt3111 = 0; + static Class36 aClass36_3112; + private int anInt3113 = 1; + static int anInt3114 = 0; + static int[][] anIntArrayArray3115; + + + static final int method208(int var0) { + try { + if(var0 > -22) { + aShortArray3110 = (short[])null; + } + + return 15; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "f.B(" + var0 + ')'); + } + } + + public static void method209(byte var0) { + try { + aShortArray3110 = null; + aClass36_3112 = null; + if(var0 >= 30) { + anIntArray3107 = null; + anIntArrayArray3115 = (int[][])null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "f.C(" + var0 + ')'); + } + } + + public Class3_Sub13_Sub9() { + super(0, true); + } + + final void method157(int var1, RSByteBuffer var2, boolean var3) { + try { + if(var3) { + if(~var1 != -1) { + if(var1 == 1) { + this.anInt3113 = var2.getByte((byte)-118); + } else if(var1 == 2) { + this.anInt3109 = var2.getShort(1); + } + } else { + this.anInt3108 = var2.getByte((byte)-86); + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "f.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final int[] method154(int var1, byte var2) { + try { + int var3 = -24 / ((var2 - 30) / 36); + int[] var4 = this.aClass114_2382.method1709(-16409, var1); + if(this.aClass114_2382.aBoolean1580) { + for(int var5 = 0; Class113.anInt1559 > var5; ++var5) { + int var6 = Class102.anIntArray2125[var5]; + int var7 = Class163_Sub3.anIntArray2999[var1]; + int var8 = this.anInt3108 * var6 >> 12; + int var9 = var7 * this.anInt3113 >> 12; + int var10 = this.anInt3108 * (var6 % (4096 / this.anInt3108)); + int var11 = var7 % (4096 / this.anInt3113) * this.anInt3113; + if(~this.anInt3109 < ~var11) { + for(var8 -= var9; ~var8 > -1; var8 += 4) { + ; + } + + while(3 < var8) { + var8 -= 4; + } + + if(1 != var8) { + var4[var5] = 0; + continue; + } + + if(~this.anInt3109 < ~var10) { + var4[var5] = 0; + continue; + } + } + + if(var10 < this.anInt3109) { + for(var8 -= var9; 0 > var8; var8 += 4) { + ; + } + + while(~var8 < -4) { + var8 -= 4; + } + + if(var8 > 0) { + var4[var5] = 0; + continue; + } + } + + var4[var5] = 4096; + } + } + + return var4; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "f.D(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub14.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub14.java new file mode 100644 index 000000000..23c12b433 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub14.java @@ -0,0 +1,569 @@ +package org.runite.jagex; + +final class Class3_Sub14 extends Class3 { + + private static float[] aFloatArray2387; + private static float[] aFloatArray2388; + private int anInt2389; + private int anInt2390; + private static int[] anIntArray2391; + private static Class152[] aClass152Array2392; + private static boolean[] aBooleanArray2393; + private float[] aFloatArray2394; + private boolean aBoolean2395; + private static int anInt2396; + private int anInt2397; + private static Class150[] aClass150Array2398; + private static float[] aFloatArray2399; + private static float[] aFloatArray2400; + private int anInt2401; + private static int anInt2402; + private static float[] aFloatArray2403; + private static int anInt2404; + private static boolean aBoolean2405 = false; + static Class71[] aClass71Array2406; + private static Class59[] aClass59Array2407; + private int anInt2408; + private static int[] anIntArray2409; + private byte[][] aByteArrayArray2410; + private boolean aBoolean2411; + private int anInt2412; + private static float[] aFloatArray2413; + private static int anInt2414; + private byte[] aByteArray2415; + private static float[] aFloatArray2416; + private static byte[] aByteArray2417; + private int anInt2418; + private int anInt2419; + private static int[] anIntArray2420; + + + static final float method358(int var0) { + int var1 = var0 & 2097151; + int var2 = var0 & Integer.MIN_VALUE; + int var3 = (var0 & 2145386496) >> 21; + if(var2 != 0) { + var1 = -var1; + } + + return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); + } + + final Class3_Sub12_Sub1 method359(int[] var1) { + if(var1 != null && var1[0] <= 0) { + return null; + } else { + if(this.aByteArray2415 == null) { + this.anInt2389 = 0; + this.aFloatArray2394 = new float[anInt2396]; + this.aByteArray2415 = new byte[this.anInt2390]; + this.anInt2419 = 0; + this.anInt2418 = 0; + } + + for(; this.anInt2418 < this.aByteArrayArray2410.length; ++this.anInt2418) { + if(var1 != null && var1[0] <= 0) { + return null; + } + + float[] var2 = this.method366(this.anInt2418); + if(var2 != null) { + int var3 = this.anInt2419; + int var4 = var2.length; + if(var4 > this.anInt2390 - var3) { + var4 = this.anInt2390 - var3; + } + + for(int var5 = 0; var5 < var4; ++var5) { + int var6 = (int)(128.0F + var2[var5] * 128.0F); + if((var6 & -256) != 0) { + var6 = ~var6 >> 31; + } + + this.aByteArray2415[var3++] = (byte)(var6 - 128); + } + + if(var1 != null) { + var1[0] -= var3 - this.anInt2419; + } + + this.anInt2419 = var3; + } + } + + this.aFloatArray2394 = null; + byte[] var7 = this.aByteArray2415; + this.aByteArray2415 = null; + return new Class3_Sub12_Sub1(this.anInt2408, var7, this.anInt2397, this.anInt2401, this.aBoolean2395); + } + } + + private final void method360(byte[] var1) { + RSByteBuffer var2 = new RSByteBuffer(var1); + this.anInt2408 = var2.getInt(); + this.anInt2390 = var2.getInt(); + this.anInt2397 = var2.getInt(); + this.anInt2401 = var2.getInt(); + if(this.anInt2401 < 0) { + this.anInt2401 = ~this.anInt2401; + this.aBoolean2395 = true; + } + + int var3 = var2.getInt(); + this.aByteArrayArray2410 = new byte[var3][]; + + for(int var4 = 0; var4 < var3; ++var4) { + int var5 = 0; + + int var6; + do { + var6 = var2.getByte((byte)-48); + var5 += var6; + } while(var6 >= 255); + + byte[] var7 = new byte[var5]; + var2.method764(0, var5, var7, (byte)93); + this.aByteArrayArray2410[var4] = var7; + } + + } + + public static void method361() { + aByteArray2417 = null; + aClass71Array2406 = null; + aClass59Array2407 = null; + aClass152Array2392 = null; + aClass150Array2398 = null; + aBooleanArray2393 = null; + anIntArray2420 = null; + aFloatArray2403 = null; + aFloatArray2400 = null; + aFloatArray2413 = null; + aFloatArray2416 = null; + aFloatArray2399 = null; + aFloatArray2387 = null; + aFloatArray2388 = null; + anIntArray2391 = null; + anIntArray2409 = null; + } + + private static final boolean method362(CacheIndex var0) { + if(!aBoolean2405) { + byte[] var1 = var0.getFile(0, (byte)-122, 0); + if(var1 == null) { + return false; + } + + method367(var1); + aBoolean2405 = true; + } + + return true; + } + + static final Class3_Sub14 method363(CacheIndex var0, int var1, int var2) { + if(!method362(var0)) { + var0.method2129((byte)95, var2, var1); + return null; + } else { + byte[] var3 = var0.getFile(var1, (byte)-122, var2); + return var3 == null?null:new Class3_Sub14(var3); + } + } + + static final int method364() { + int var0 = aByteArray2417[anInt2404] >> anInt2414 & 1; + ++anInt2414; + anInt2404 += anInt2414 >> 3; + anInt2414 &= 7; + return var0; + } + + private static final void method365(byte[] var0, int var1) { + aByteArray2417 = var0; + anInt2404 = var1; + anInt2414 = 0; + } + + private final float[] method366(int var1) { + method365(this.aByteArrayArray2410[var1], 0); + method364(); + int var2 = method368(Class3_Sub26.method513(anIntArray2420.length - 1, 4)); + boolean var3 = aBooleanArray2393[var2]; + int var4 = var3?anInt2396:anInt2402; + boolean var5 = false; + boolean var6 = false; + if(var3) { + var5 = method364() != 0; + var6 = method364() != 0; + } + + int var7 = var4 >> 1; + int var8; + int var9; + int var10; + if(var3 && !var5) { + var8 = (var4 >> 2) - (anInt2402 >> 2); + var9 = (var4 >> 2) + (anInt2402 >> 2); + var10 = anInt2402 >> 1; + } else { + var8 = 0; + var9 = var7; + var10 = var4 >> 1; + } + + int var11; + int var12; + int var13; + if(var3 && !var6) { + var11 = var4 - (var4 >> 2) - (anInt2402 >> 2); + var12 = var4 - (var4 >> 2) + (anInt2402 >> 2); + var13 = anInt2402 >> 1; + } else { + var11 = var7; + var12 = var4; + var13 = var4 >> 1; + } + + Class150 var14 = aClass150Array2398[anIntArray2420[var2]]; + int var16 = var14.anInt1928; + int var17 = var14.anIntArray1929[var16]; + boolean var15 = !aClass59Array2407[var17].method1205(); + boolean var40 = var15; + + for(var17 = 0; var17 < var14.anInt1931; ++var17) { + Class152 var18 = aClass152Array2392[var14.anIntArray1930[var17]]; + float[] var19 = aFloatArray2403; + var18.method2112(var19, var4 >> 1, var40); + } + + int var44; + if(!var15) { + var17 = var14.anInt1928; + var44 = var14.anIntArray1929[var17]; + aClass59Array2407[var44].method1202(aFloatArray2403, var4 >> 1); + } + + int var41; + if(var15) { + for(var17 = var4 >> 1; var17 < var4; ++var17) { + aFloatArray2403[var17] = 0.0F; + } + } else { + var17 = var4 >> 1; + var44 = var4 >> 2; + var41 = var4 >> 3; + float[] var20 = aFloatArray2403; + + int var21; + for(var21 = 0; var21 < var17; ++var21) { + var20[var21] *= 0.5F; + } + + for(var21 = var17; var21 < var4; ++var21) { + var20[var21] = -var20[var4 - var21 - 1]; + } + + float[] var46 = var3?aFloatArray2399:aFloatArray2400; + float[] var22 = var3?aFloatArray2387:aFloatArray2413; + float[] var23 = var3?aFloatArray2388:aFloatArray2416; + int[] var24 = var3?anIntArray2409:anIntArray2391; + + int var25; + float var27; + float var26; + float var29; + float var28; + for(var25 = 0; var25 < var44; ++var25) { + var26 = var20[4 * var25] - var20[var4 - 4 * var25 - 1]; + var27 = var20[4 * var25 + 2] - var20[var4 - 4 * var25 - 3]; + var28 = var46[2 * var25]; + var29 = var46[2 * var25 + 1]; + var20[var4 - 4 * var25 - 1] = var26 * var28 - var27 * var29; + var20[var4 - 4 * var25 - 3] = var26 * var29 + var27 * var28; + } + + float var31; + float var30; + for(var25 = 0; var25 < var41; ++var25) { + var26 = var20[var17 + 3 + 4 * var25]; + var27 = var20[var17 + 1 + 4 * var25]; + var28 = var20[4 * var25 + 3]; + var29 = var20[4 * var25 + 1]; + var20[var17 + 3 + 4 * var25] = var26 + var28; + var20[var17 + 1 + 4 * var25] = var27 + var29; + var30 = var46[var17 - 4 - 4 * var25]; + var31 = var46[var17 - 3 - 4 * var25]; + var20[4 * var25 + 3] = (var26 - var28) * var30 - (var27 - var29) * var31; + var20[4 * var25 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; + } + + var25 = Class3_Sub26.method513(var4 - 1, 4); + + int var47; + int var49; + int var48; + int var52; + for(var49 = 0; var49 < var25 - 3; ++var49) { + var47 = var4 >> var49 + 2; + var48 = 8 << var49; + + for(var52 = 0; var52 < 2 << var49; ++var52) { + int var50 = var4 - var47 * 2 * var52; + int var51 = var4 - var47 * (2 * var52 + 1); + + for(int var32 = 0; var32 < var4 >> var49 + 4; ++var32) { + int var33 = 4 * var32; + float var34 = var20[var50 - 1 - var33]; + float var35 = var20[var50 - 3 - var33]; + float var36 = var20[var51 - 1 - var33]; + float var37 = var20[var51 - 3 - var33]; + var20[var50 - 1 - var33] = var34 + var36; + var20[var50 - 3 - var33] = var35 + var37; + float var38 = var46[var32 * var48]; + float var39 = var46[var32 * var48 + 1]; + var20[var51 - 1 - var33] = (var34 - var36) * var38 - (var35 - var37) * var39; + var20[var51 - 3 - var33] = (var35 - var37) * var38 + (var34 - var36) * var39; + } + } + } + + for(var49 = 1; var49 < var41 - 1; ++var49) { + var47 = var24[var49]; + if(var49 < var47) { + var48 = 8 * var49; + var52 = 8 * var47; + var30 = var20[var48 + 1]; + var20[var48 + 1] = var20[var52 + 1]; + var20[var52 + 1] = var30; + var30 = var20[var48 + 3]; + var20[var48 + 3] = var20[var52 + 3]; + var20[var52 + 3] = var30; + var30 = var20[var48 + 5]; + var20[var48 + 5] = var20[var52 + 5]; + var20[var52 + 5] = var30; + var30 = var20[var48 + 7]; + var20[var48 + 7] = var20[var52 + 7]; + var20[var52 + 7] = var30; + } + } + + for(var49 = 0; var49 < var17; ++var49) { + var20[var49] = var20[2 * var49 + 1]; + } + + for(var49 = 0; var49 < var41; ++var49) { + var20[var4 - 1 - 2 * var49] = var20[4 * var49]; + var20[var4 - 2 - 2 * var49] = var20[4 * var49 + 1]; + var20[var4 - var44 - 1 - 2 * var49] = var20[4 * var49 + 2]; + var20[var4 - var44 - 2 - 2 * var49] = var20[4 * var49 + 3]; + } + + for(var49 = 0; var49 < var41; ++var49) { + var27 = var23[2 * var49]; + var28 = var23[2 * var49 + 1]; + var29 = var20[var17 + 2 * var49]; + var30 = var20[var17 + 2 * var49 + 1]; + var31 = var20[var4 - 2 - 2 * var49]; + float var54 = var20[var4 - 1 - 2 * var49]; + float var53 = var28 * (var29 - var31) + var27 * (var30 + var54); + var20[var17 + 2 * var49] = (var29 + var31 + var53) * 0.5F; + var20[var4 - 2 - 2 * var49] = (var29 + var31 - var53) * 0.5F; + var53 = var28 * (var30 + var54) - var27 * (var29 - var31); + var20[var17 + 2 * var49 + 1] = (var30 - var54 + var53) * 0.5F; + var20[var4 - 1 - 2 * var49] = (-var30 + var54 + var53) * 0.5F; + } + + for(var49 = 0; var49 < var44; ++var49) { + var20[var49] = var20[2 * var49 + var17] * var22[2 * var49] + var20[2 * var49 + 1 + var17] * var22[2 * var49 + 1]; + var20[var17 - 1 - var49] = var20[2 * var49 + var17] * var22[2 * var49 + 1] - var20[2 * var49 + 1 + var17] * var22[2 * var49]; + } + + for(var49 = 0; var49 < var44; ++var49) { + var20[var4 - var44 + var49] = -var20[var49]; + } + + for(var49 = 0; var49 < var44; ++var49) { + var20[var49] = var20[var44 + var49]; + } + + for(var49 = 0; var49 < var44; ++var49) { + var20[var44 + var49] = -var20[var44 - var49 - 1]; + } + + for(var49 = 0; var49 < var44; ++var49) { + var20[var17 + var49] = var20[var4 - var49 - 1]; + } + + for(var49 = var8; var49 < var9; ++var49) { + var27 = (float)Math.sin(((double)(var49 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); + aFloatArray2403[var49] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + + for(var49 = var11; var49 < var12; ++var49) { + var27 = (float)Math.sin(((double)(var49 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); + aFloatArray2403[var49] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + } + + float[] var42 = null; + if(this.anInt2389 > 0) { + var44 = this.anInt2389 + var4 >> 2; + var42 = new float[var44]; + int var45; + if(!this.aBoolean2411) { + for(var41 = 0; var41 < this.anInt2412; ++var41) { + var45 = (this.anInt2389 >> 1) + var41; + var42[var41] += this.aFloatArray2394[var45]; + } + } + + if(!var15) { + for(var41 = var8; var41 < var4 >> 1; ++var41) { + var45 = var42.length - (var4 >> 1) + var41; + var42[var45] += aFloatArray2403[var41]; + } + } + } + + float[] var43 = this.aFloatArray2394; + this.aFloatArray2394 = aFloatArray2403; + aFloatArray2403 = var43; + this.anInt2389 = var4; + this.anInt2412 = var12 - (var4 >> 1); + this.aBoolean2411 = var15; + return var42; + } + + private static final void method367(byte[] var0) { + method365(var0, 0); + anInt2402 = 1 << method368(4); + anInt2396 = 1 << method368(4); + aFloatArray2403 = new float[anInt2396]; + + int var1; + int var2; + int var3; + int var4; + int var5; + for(var1 = 0; var1 < 2; ++var1) { + var2 = var1 != 0?anInt2396:anInt2402; + var3 = var2 >> 1; + var4 = var2 >> 2; + var5 = var2 >> 3; + float[] var6 = new float[var3]; + + for(int var7 = 0; var7 < var4; ++var7) { + var6[2 * var7] = (float)Math.cos((double)(4 * var7) * 3.141592653589793D / (double)var2); + var6[2 * var7 + 1] = -((float)Math.sin((double)(4 * var7) * 3.141592653589793D / (double)var2)); + } + + float[] var13 = new float[var3]; + + for(int var8 = 0; var8 < var4; ++var8) { + var13[2 * var8] = (float)Math.cos((double)(2 * var8 + 1) * 3.141592653589793D / (double)(2 * var2)); + var13[2 * var8 + 1] = (float)Math.sin((double)(2 * var8 + 1) * 3.141592653589793D / (double)(2 * var2)); + } + + float[] var14 = new float[var4]; + + for(int var9 = 0; var9 < var5; ++var9) { + var14[2 * var9] = (float)Math.cos((double)(4 * var9 + 2) * 3.141592653589793D / (double)var2); + var14[2 * var9 + 1] = -((float)Math.sin((double)(4 * var9 + 2) * 3.141592653589793D / (double)var2)); + } + + int[] var15 = new int[var5]; + int var10 = Class3_Sub26.method513(var5 - 1, 4); + + for(int var11 = 0; var11 < var5; ++var11) { + var15[var11] = Class3_Sub28_Sub3.method540(var10, -14314, var11); + } + + if(var1 != 0) { + aFloatArray2399 = var6; + aFloatArray2387 = var13; + aFloatArray2388 = var14; + anIntArray2409 = var15; + } else { + aFloatArray2400 = var6; + aFloatArray2413 = var13; + aFloatArray2416 = var14; + anIntArray2391 = var15; + } + } + + var1 = method368(8) + 1; + aClass71Array2406 = new Class71[var1]; + + for(var2 = 0; var2 < var1; ++var2) { + aClass71Array2406[var2] = new Class71(); + } + + var2 = method368(6) + 1; + + for(var3 = 0; var3 < var2; ++var3) { + method368(16); + } + + var2 = method368(6) + 1; + aClass59Array2407 = new Class59[var2]; + + for(var3 = 0; var3 < var2; ++var3) { + aClass59Array2407[var3] = new Class59(); + } + + var3 = method368(6) + 1; + aClass152Array2392 = new Class152[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + aClass152Array2392[var4] = new Class152(); + } + + var4 = method368(6) + 1; + aClass150Array2398 = new Class150[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + aClass150Array2398[var5] = new Class150(); + } + + var5 = method368(6) + 1; + aBooleanArray2393 = new boolean[var5]; + anIntArray2420 = new int[var5]; + + for(int var12 = 0; var12 < var5; ++var12) { + aBooleanArray2393[var12] = method364() != 0; + method368(16); + method368(16); + anIntArray2420[var12] = method368(8); + } + + } + + static final int method368(int var0) { + int var1 = 0; + + int var2; + int var3; + for(var2 = 0; var0 >= 8 - anInt2414; var0 -= var3) { + var3 = 8 - anInt2414; + int var4 = (1 << var3) - 1; + var1 += (aByteArray2417[anInt2404] >> anInt2414 & var4) << var2; + anInt2414 = 0; + ++anInt2404; + var2 += var3; + } + + if(var0 > 0) { + var3 = (1 << var0) - 1; + var1 += (aByteArray2417[anInt2404] >> anInt2414 & var3) << var2; + anInt2414 += var0; + } + + return var1; + } + + private Class3_Sub14(byte[] var1) { + this.method360(var1); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub15.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub15.java new file mode 100644 index 000000000..6008dac13 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub15.java @@ -0,0 +1,615 @@ +package org.runite.jagex; + +final class Class3_Sub15 extends Class3 { + + static int anInt2421 = -1; + byte[] aByteArray2422; + private int[] anIntArray2423; + int anInt2424; + byte[] aByteArray2425; + static int anInt2426; + static boolean aBoolean2427 = false; + static Class93 aClass93_2428 = new Class93(50); + static IOHandler aClass89_2429; + byte[] aByteArray2430; + Class3_Sub12_Sub1[] aClass3_Sub12_Sub1Array2431; + static RSString aClass94_2432 = RSString.createRSString("::tween"); + static boolean aBoolean2433 = false; + short[] aShortArray2434; + Class166[] aClass166Array2435; + static int anInt2436; + + + final void method369(byte var1) { + try { + int var2 = 127 % ((-70 - var1) / 42); + this.anIntArray2423 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jk.A(" + var1 + ')'); + } + } + + static final void method370(byte var0) { + try { + //int var1 = -125 / ((0 - var0) / 59); + Class154.aClass93_1955.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jk.B(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub3 method371(int var0, RSString var1) { + try { + if(var0 != 2) { + method372(false); + } + + for(Class3_Sub28_Sub3 var2 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1222(); var2 != null; var2 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1221()) { + if(var2.aClass94_3561.method1528((byte)-42, var1)) { + return var2; + } + } + + return null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jk.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method372(boolean var0) { + try { + aClass94_2432 = null; + if(var0) { + aClass93_2428 = null; + aClass89_2429 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jk.D(" + var0 + ')'); + } + } + + final boolean method373(int var1, int[] var2, Class83 var3, byte[] var4) { + try { + if(var1 != 17904) { + return false; + } else { + int var6 = 0; + Class3_Sub12_Sub1 var7 = null; + boolean var5 = true; + + for(int var8 = 0; ~var8 > -129; ++var8) { + if(null == var4 || var4[var8] != 0) { + int var9 = this.anIntArray2423[var8]; + if(-1 != ~var9) { + if(var6 != var9) { + var6 = var9--; + if((var9 & 1) == 0) { + var7 = var3.method1413(var9 >> 2, 33, var2); + } else { + var7 = var3.method1416(10089, var9 >> 2, var2); + } + + if(var7 == null) { + var5 = false; + } + } + + if(null != var7) { + this.aClass3_Sub12_Sub1Array2431[var8] = var7; + this.anIntArray2423[var8] = 0; + } + } + } + } + + return var5; + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "jk.E(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final void method374(int var0, boolean var1, byte[] var2, int var3, int var4, Class91[] var5) { + try { + RSByteBuffer var6 = new RSByteBuffer(var2); + int objectId = -1; + + while(var6.buffer.length > 0) { + int var8 = var6.method773((byte)-126); + if(0 == var8) { + if(var4 != 0) { + method372(true); + } + + return; + } + + objectId += var8; + int data = 0; + + while(true) { + int var10 = var6.getSmart(true); + if(-1 == ~var10) { + break; + } + + data += var10 - 1; + int var11 = data & 63; + int var13 = data >> 12; + int var12 = data >> 6 & 63; + int var14 = var6.getByte((byte)-48); + int var15 = var14 >> 2; + int var16 = var14 & 3; + int var17 = var0 + var12; + int var18 = var11 + var3; + if(var17 > 0 && var18 > 0 && var17 < 103 && ~var18 > -104) { + Class91 var19 = null; + if(!var1) { + int var20 = var13; + if(~(2 & Class9.aByteArrayArrayArray113[1][var17][var18]) == -3) { + var20 = var13 - 1; + } + + if(0 <= (var20 %= 4)) { + var19 = var5[var20]; + } + } + + Class110.method1683(var13 % 4, !var1, var13, var1, var19, objectId, var15, var17, (byte)50, var18, var16); + } + } + } + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "jk.F(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + public Class3_Sub15() {} + + Class3_Sub15(byte[] var1) { + try { + this.aShortArray2434 = new short[128]; + this.aByteArray2430 = new byte[128]; + this.aClass3_Sub12_Sub1Array2431 = new Class3_Sub12_Sub1[128]; + this.aByteArray2422 = new byte[128]; + this.aClass166Array2435 = new Class166[128]; + this.anIntArray2423 = new int[128]; + int var3 = 0; + this.aByteArray2425 = new byte[128]; + + RSByteBuffer var2; + for(var2 = new RSByteBuffer(var1); -1 != ~var2.buffer[var3 + var2.index]; ++var3) { + ; + } + + byte[] var4 = new byte[var3]; + + int var5; + for(var5 = 0; ~var5 > ~var3; ++var5) { + var4[var5] = var2.getByte(); + } + + ++var2.index; + ++var3; + var5 = var2.index; + var2.index += var3; + + int var6; + for(var6 = 0; 0 != var2.buffer[var2.index + var6]; ++var6) { + ; + } + + byte[] var7 = new byte[var6]; + + int var8; + for(var8 = 0; ~var8 > ~var6; ++var8) { + var7[var8] = var2.getByte(); + } + + ++var2.index; + ++var6; + int var9 = 0; + var8 = var2.index; + + for(var2.index += var6; -1 != ~var2.buffer[var9 + var2.index]; ++var9) { + ; + } + + byte[] var10 = new byte[var9]; + + for(int var11 = 0; ~var11 > ~var9; ++var11) { + var10[var11] = var2.getByte(); + } + + ++var2.index; + ++var9; + byte[] var37 = new byte[var9]; + int var12; + int var14; + if(~var9 >= -2) { + var12 = var9; + } else { + var12 = 2; + var37[1] = 1; + int var13 = 1; + + for(var14 = 2; ~var9 < ~var14; ++var14) { + int var15 = var2.getByte((byte)-87); + if(0 == var15) { + var13 = var12++; + } else { + if(var15 <= var13) { + --var15; + } + + var13 = var15; + } + + var37[var14] = (byte)var13; + } + } + + Class166[] var38 = new Class166[var12]; + + Class166 var41; + for(var14 = 0; var14 < var38.length; ++var14) { + var41 = var38[var14] = new Class166(); + int var16 = var2.getByte((byte)-121); + if(0 < var16) { + var41.aByteArray2064 = new byte[2 * var16]; + } + + var16 = var2.getByte((byte)-47); + if(~var16 < -1) { + var41.aByteArray2076 = new byte[var16 * 2 + 2]; + var41.aByteArray2076[1] = 64; + } + } + + var14 = var2.getByte((byte)-81); + byte[] var40 = ~var14 < -1?new byte[var14 * 2]:null; + var14 = var2.getByte((byte)-84); + byte[] var39 = -1 > ~var14?new byte[var14 * 2]:null; + + int var17; + for(var17 = 0; ~var2.buffer[var17 + var2.index] != -1; ++var17) { + ; + } + + byte[] var18 = new byte[var17]; + + int var19; + for(var19 = 0; ~var17 < ~var19; ++var19) { + var18[var19] = var2.getByte(); + } + + ++var2.index; + ++var17; + var19 = 0; + + int var20; + for(var20 = 0; -129 < ~var20; ++var20) { + var19 += var2.getByte((byte)-101); + this.aShortArray2434[var20] = (short)var19; + } + + var19 = 0; + + for(var20 = 0; ~var20 > -129; ++var20) { + var19 += var2.getByte((byte)-115); + this.aShortArray2434[var20] = (short)(this.aShortArray2434[var20] + (var19 << 8)); + } + + var20 = 0; + int var21 = 0; + int var22 = 0; + + int var23; + for(var23 = 0; ~var23 > -129; ++var23) { + if(-1 == ~var20) { + if(~var18.length < ~var21) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + var22 = var2.method741((byte)122); + } + + this.aShortArray2434[var23] = (short)(this.aShortArray2434[var23] + Class3_Sub28_Sub15.method633('\u8000', -1 + var22 << 14)); + this.anIntArray2423[var23] = var22; + --var20; + } + + var20 = 0; + var23 = 0; + var21 = 0; + + int var24; + for(var24 = 0; ~var24 > -129; ++var24) { + if(-1 != ~this.anIntArray2423[var24]) { + if(var20 == 0) { + var23 = var2.buffer[var5++] + -1; + if(var4.length > var21) { + var20 = var4[var21++]; + } else { + var20 = -1; + } + } + + --var20; + this.aByteArray2425[var24] = (byte)var23; + } + } + + var20 = 0; + var21 = 0; + var24 = 0; + + for(int var25 = 0; -129 < ~var25; ++var25) { + if(-1 != ~this.anIntArray2423[var25]) { + if(0 == var20) { + var24 = var2.buffer[var8++] - -16 << 2; + if(~var21 > ~var7.length) { + var20 = var7[var21++]; + } else { + var20 = -1; + } + } + + --var20; + this.aByteArray2422[var25] = (byte)var24; + } + } + + var21 = 0; + var20 = 0; + Class166 var43 = null; + + int var26; + for(var26 = 0; ~var26 > -129; ++var26) { + if(~this.anIntArray2423[var26] != -1) { + if(var20 == 0) { + var43 = var38[var37[var21]]; + if(var21 >= var10.length) { + var20 = -1; + } else { + var20 = var10[var21++]; + } + } + + this.aClass166Array2435[var26] = var43; + --var20; + } + } + + var20 = 0; + var21 = 0; + var26 = 0; + + int var27; + for(var27 = 0; ~var27 > -129; ++var27) { + if(-1 == ~var20) { + if(~var21 > ~var18.length) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + if(this.anIntArray2423[var27] > 0) { + var26 = var2.getByte((byte)-61) + 1; + } + } + + --var20; + this.aByteArray2430[var27] = (byte)var26; + } + + this.anInt2424 = var2.getByte((byte)-26) + 1; + + int var29; + Class166 var28; + for(var27 = 0; var27 < var12; ++var27) { + var28 = var38[var27]; + if(var28.aByteArray2064 != null) { + for(var29 = 1; var29 < var28.aByteArray2064.length; var29 += 2) { + var28.aByteArray2064[var29] = var2.getByte(); + } + } + + if(var28.aByteArray2076 != null) { + for(var29 = 3; var29 < var28.aByteArray2076.length + -2; var29 += 2) { + var28.aByteArray2076[var29] = var2.getByte(); + } + } + } + + if(null != var40) { + for(var27 = 1; var40.length > var27; var27 += 2) { + var40[var27] = var2.getByte(); + } + } + + if(null != var39) { + for(var27 = 1; ~var39.length < ~var27; var27 += 2) { + var39[var27] = var2.getByte(); + } + } + + for(var27 = 0; ~var12 < ~var27; ++var27) { + var28 = var38[var27]; + if(null != var28.aByteArray2076) { + var19 = 0; + + for(var29 = 2; ~var29 > ~var28.aByteArray2076.length; var29 += 2) { + var19 -= -1 + -var2.getByte((byte)-114); + var28.aByteArray2076[var29] = (byte)var19; + } + } + } + + for(var27 = 0; var12 > var27; ++var27) { + var28 = var38[var27]; + if(null != var28.aByteArray2064) { + var19 = 0; + + for(var29 = 2; ~var29 > ~var28.aByteArray2064.length; var29 += 2) { + var19 = var19 - -1 - -var2.getByte((byte)-29); + var28.aByteArray2064[var29] = (byte)var19; + } + } + } + + byte var30; + int var34; + int var32; + int var33; + int var44; + byte var48; + if(null != var40) { + var19 = var2.getByte((byte)-32); + var40[0] = (byte)var19; + + for(var27 = 2; var40.length > var27; var27 += 2) { + var19 = 1 + (var19 - -var2.getByte((byte)-29)); + var40[var27] = (byte)var19; + } + + var48 = var40[0]; + byte var46 = var40[1]; + + for(var29 = 0; ~var48 < ~var29; ++var29) { + this.aByteArray2430[var29] = (byte)(32 + var46 * this.aByteArray2430[var29] >> 6); + } + + for(var29 = 2; var29 < var40.length; var48 = var30) { + var30 = var40[var29]; + byte var31 = var40[1 + var29]; + var29 += 2; + var32 = (var30 - var48) * var46 + (var30 - var48) / 2; + + for(var33 = var48; ~var33 > ~var30; ++var33) { + var34 = Class3_Sub13_Sub32.method319(var32, -125, -var48 + var30); + var32 += var31 + -var46; + this.aByteArray2430[var33] = (byte)(var34 * this.aByteArray2430[var33] - -32 >> 6); + } + + var46 = var31; + } + + var41 = null; + + for(var44 = var48; ~var44 > -129; ++var44) { + this.aByteArray2430[var44] = (byte)(32 + this.aByteArray2430[var44] * var46 >> 6); + } + } + + if(null != var39) { + var19 = var2.getByte((byte)-118); + var39[0] = (byte)var19; + + for(var27 = 2; var27 < var39.length; var27 += 2) { + var19 = 1 + (var19 - -var2.getByte((byte)-75)); + var39[var27] = (byte)var19; + } + + var48 = var39[0]; + int var47 = var39[1] << 1; + + for(var29 = 0; ~var48 < ~var29; ++var29) { + var44 = var47 + (255 & this.aByteArray2422[var29]); + if(var44 < 0) { + var44 = 0; + } + + if(128 < var44) { + var44 = 128; + } + + this.aByteArray2422[var29] = (byte)var44; + } + + int var45; + for(var29 = 2; ~var29 > ~var39.length; var47 = var45) { + var30 = var39[var29]; + var32 = (-var48 + var30) * var47 - -((var30 - var48) / 2); + var45 = var39[1 + var29] << 1; + var29 += 2; + + for(var33 = var48; var30 > var33; ++var33) { + var34 = Class3_Sub13_Sub32.method319(var32, -116, -var48 + var30); + var32 += -var47 + var45; + int var35 = var34 + (this.aByteArray2422[var33] & 255); + if(var35 < 0) { + var35 = 0; + } + + if(~var35 < -129) { + var35 = 128; + } + + this.aByteArray2422[var33] = (byte)var35; + } + + var48 = var30; + } + + for(var44 = var48; var44 < 128; ++var44) { + var45 = (255 & this.aByteArray2422[var44]) + var47; + if(-1 < ~var45) { + var45 = 0; + } + + if(128 < var45) { + var45 = 128; + } + + this.aByteArray2422[var44] = (byte)var45; + } + + Object var42 = null; + } + + for(var27 = 0; var12 > var27; ++var27) { + var38[var27].anInt2078 = var2.getByte((byte)-60); + } + + for(var27 = 0; var27 < var12; ++var27) { + var28 = var38[var27]; + if(null != var28.aByteArray2064) { + var28.anInt2067 = var2.getByte((byte)-23); + } + + if(null != var28.aByteArray2076) { + var28.anInt2071 = var2.getByte((byte)-104); + } + + if(-1 > ~var28.anInt2078) { + var28.anInt2063 = var2.getByte((byte)-124); + } + } + + for(var27 = 0; ~var27 > ~var12; ++var27) { + var38[var27].anInt2077 = var2.getByte((byte)-102); + } + + for(var27 = 0; ~var27 > ~var12; ++var27) { + var28 = var38[var27]; + if(var28.anInt2077 > 0) { + var28.anInt2066 = var2.getByte((byte)-80); + } + } + + for(var27 = 0; var27 < var12; ++var27) { + var28 = var38[var27]; + if(~var28.anInt2066 < -1) { + var28.anInt2069 = var2.getByte((byte)-84); + } + } + + } catch (RuntimeException var36) { + throw Class44.method1067(var36, "jk.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub17.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub17.java new file mode 100644 index 000000000..54a55ea06 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub17.java @@ -0,0 +1,153 @@ +package org.runite.jagex; + +final class Class3_Sub17 extends Class3 { + + int anInt2454; + int[] anIntArray2455; + static int anInt2456; + static float aFloat2457; + static RSString aClass94_2458 = RSString.createRSString("Module texte charg-B"); + static int anInt2459; + int[][] anIntArrayArray2460; + static RSString aClass94_2461 = RSString.createRSString("3D)2Softwarebibliothek gestartet)3"); + int anInt2462; + boolean[] aBooleanArray2463; + + private static RSString aClass94_2465 = RSString.createRSString(""); + int[] anIntArray2466; + static RSString aClass94_2464 = aClass94_2465; + + public static void method380(int var0) { + try { + aClass94_2464 = null; + if(var0 != -29113) { + method381(false); + } + + aClass94_2458 = null; + aClass94_2465 = null; + aClass94_2461 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jm.B(" + var0 + ')'); + } + } + + static final void method381(boolean var0) { + try { + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + Class52.method1160(-120, Class3_Sub28_Sub12.anInt3655); + } + + for(int var1 = 0; var1 < Class3_Sub28_Sub3.anInt3557; ++var1) { + if(Class3_Sub28_Sub14.aBooleanArray3674[var1]) { + Class163_Sub1_Sub1.aBooleanArray4008[var1] = true; + } + + Class130.aBooleanArray1712[var1] = Class3_Sub28_Sub14.aBooleanArray3674[var1]; + Class3_Sub28_Sub14.aBooleanArray3674[var1] = false; + } + + Class53.anInt865 = -1; + Class99.aClass11_1402 = null; + Class3_Sub23.anInt2535 = Class44.anInt719; + if(HDToolKit.highDetail) { + OutputStream_Sub1.aBoolean47 = true; + } + + Node.anInt2567 = -1; + if(!var0) { + method380(-78); + } + + if(~Class3_Sub28_Sub12.anInt3655 != 0) { + Class3_Sub28_Sub3.anInt3557 = 0; + Class8.method841(true); + } + + if(HDToolKit.highDetail) { + Class22.method925(); + } else { + Class74.method1331(); + } + + Class106.anInt1446 = 0; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jm.A(" + var0 + ')'); + } + } + + Class3_Sub17(int var1, byte[] var2) { + try { + this.anInt2454 = var1; + RSByteBuffer var3 = new RSByteBuffer(var2); + this.anInt2462 = var3.getByte((byte)-64); + this.anIntArrayArray2460 = new int[this.anInt2462][]; + this.anIntArray2466 = new int[this.anInt2462]; + this.aBooleanArray2463 = new boolean[this.anInt2462]; + this.anIntArray2455 = new int[this.anInt2462]; + + int var4; + for(var4 = 0; ~var4 > ~this.anInt2462; ++var4) { + this.anIntArray2466[var4] = var3.getByte((byte)-70); + } + + for(var4 = 0; ~this.anInt2462 < ~var4; ++var4) { + this.aBooleanArray2463[var4] = ~var3.getByte((byte)-35) == -2; + } + + for(var4 = 0; var4 < this.anInt2462; ++var4) { + this.anIntArray2455[var4] = var3.getShort(1); + } + + for(var4 = 0; var4 < this.anInt2462; ++var4) { + this.anIntArrayArray2460[var4] = new int[var3.getByte((byte)-99)]; + } + + for(var4 = 0; this.anInt2462 > var4; ++var4) { + for(int var5 = 0; ~var5 > ~this.anIntArrayArray2460[var4].length; ++var5) { + this.anIntArrayArray2460[var4][var5] = var3.getByte((byte)-70); + } + } + + } catch (RuntimeException var6) { + loadNewHeader(var1, var2); +// var6.printStackTrace(); +// throw Class44.method1067(var6, "jm.(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private void loadNewHeader(int var1, byte[] var2) { + this.anInt2454 = var1; + System.out.println("Loaded new header!"); + RSByteBuffer var3 = new RSByteBuffer(var2); + this.anInt2462 = var3.getByte((byte)-64); + this.anIntArrayArray2460 = new int[this.anInt2462][]; + this.anIntArray2466 = new int[this.anInt2462]; + this.aBooleanArray2463 = new boolean[this.anInt2462]; + this.anIntArray2455 = new int[this.anInt2462]; + + int var4; + for(var4 = 0; ~var4 > ~this.anInt2462; ++var4) { + this.anIntArray2466[var4] = var3.getByte((byte)-70); + } + +// for(var4 = 0; ~this.anInt2462 < ~var4; ++var4) { +// this.aBooleanArray2463[var4] = ~var3.getByte((byte)-35) == -2; +// } +// +// for(var4 = 0; var4 < this.anInt2462; ++var4) { +//// this.anIntArray2455[var4] = var3.getShort(1); +// } + + for(var4 = 0; var4 < this.anInt2462; ++var4) { + this.anIntArrayArray2460[var4] = new int[var3.getByte((byte)-99)]; + } + + for(var4 = 0; this.anInt2462 > var4; ++var4) { + for(int var5 = 0; ~var5 > ~this.anIntArrayArray2460[var4].length; ++var5) { + this.anIntArrayArray2460[var4][var5] = var3.getByte((byte)-70); + } + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub18.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub18.java new file mode 100644 index 000000000..8a2b61266 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub18.java @@ -0,0 +1,50 @@ +package org.runite.jagex; + +final class Class3_Sub18 extends Class3 { + + int anInt2467; + static Class61 aClass61_2468 = new Class61(); + static int[] anIntArray2469; + static int[] anIntArray2470 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; + static int anInt2471; + + + public Class3_Sub18() {} + + public static void method382(int var0) { + try { + anIntArray2469 = null; + aClass61_2468 = null; + if(var0 == 1) { + anIntArray2470 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ka.B(" + var0 + ')'); + } + } + + Class3_Sub18(int var1) { + try { + this.anInt2467 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ka.(" + var1 + ')'); + } + } + + static final void method383(int var0, int var1) { + try { + if(var1 == Class23.anInt453 && ~var1 != -1) { + Interface5 var2 = Class2.anInterface5Array70[var1]; + var2.method23(Class3_Sub13_Sub21.anInt3263); + } + + if(var0 != -32584) { + method383(60, 23); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ka.A(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub19.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub19.java new file mode 100644 index 000000000..a327f60d6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub19.java @@ -0,0 +1,199 @@ +package org.runite.jagex; + +final class Class3_Sub19 extends Class3 { + + byte aByte2472; + RSString aClass94_2473; + static CacheIndex aClass153_2474; + static int anInt2475 = 0; + RSString aClass94_2476; + static RSString aClass94_2477 = RSString.createRSString(""); + int anInt2478; + static int anInt2479; + + + static final Class75_Sub2 method384(RSByteBuffer var0, byte var1) { + try { + if(var1 <= 40) { + aClass153_2474 = (CacheIndex)null; + } + + return new Class75_Sub2(var0.getShort((byte)38), var0.getShort((byte)51), var0.getShort((byte)66), var0.getShort((byte)68), var0.getTriByte((byte)86), var0.getTriByte((byte)86), var0.getByte((byte)-85)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kl.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final boolean method385(int var0, int var1) { + try { + int var2 = var0; + byte var3 = 0; + int var5; + int var6; + int var7; + int var8; + if(null == Class27.aClass3_Sub28_Sub16_Sub2_518) { + if(!HDToolKit.highDetail && null != Class49.aClass3_Sub28_Sub16_812) { + Class27.aClass3_Sub28_Sub16_Sub2_518 = (Class3_Sub28_Sub16_Sub2)Class49.aClass3_Sub28_Sub16_812; + } else { + Class27.aClass3_Sub28_Sub16_Sub2_518 = new Class3_Sub28_Sub16_Sub2(512, 512); + } + + int[] var4 = Class27.aClass3_Sub28_Sub16_Sub2_518.anIntArray4081; + var5 = var4.length; + + for(var6 = 0; ~var6 > ~var5; ++var6) { + var4[var6] = 1; + } + + for(var6 = var3 + 1; -1 + -var3 + 104 > var6; ++var6) { + var7 = 4 * 512 * (var3 + 103 + -var6) + 24628; + + for(var8 = 1 + var2; ~var8 > ~(-var2 + 104 + -1); ++var8) { + if(-1 == ~(Class9.aByteArrayArrayArray113[var1][var8][var6] & 24)) { + IOHandler.method1469(var4, var7, 512, var1, var8, var6); + } + + if(~var1 > -4 && 0 != (Class9.aByteArrayArrayArray113[1 + var1][var8][var6] & 8)) { + IOHandler.method1469(var4, var7, 512, var1 + 1, var8, var6); + } + + var7 += 4; + } + } + + Class149.anInt1924 = 0; + + for(var6 = 0; 104 > var6; ++var6) { + for(var7 = 0; 104 > var7; ++var7) { + long var20 = Class3_Sub2.method104(WorldListCountry.localPlane, var6 + var2, var7 - -var3); + if(~var20 != -1L) { + ObjectDefinition var10 = Class162.getObjectDefinition(4, (int)(var20 >>> 32) & Integer.MAX_VALUE); + int var11 = var10.anInt1482; + int var12; + if(null != var10.anIntArray1524) { + for(var12 = 0; ~var10.anIntArray1524.length < ~var12; ++var12) { + if(-1 != var10.anIntArray1524[var12]) { + ObjectDefinition var13 = Class162.getObjectDefinition(4, var10.anIntArray1524[var12]); + if(0 <= var13.anInt1482) { + var11 = var13.anInt1482; + break; + } + } + } + } + + if(~var11 <= -1) { + int var21 = var3 + var7; + var12 = var2 + var6; + if(22 != var11 && var11 != 29 && 34 != var11 && -37 != ~var11 && 46 != var11 && var11 != 47 && var11 != 48) { + int[][] var14 = Class86.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304; + + for(int var15 = 0; -11 < ~var15; ++var15) { + int var16 = (int)(Math.random() * 4.0D); + if(var16 == 0 && var12 > 0 && ~(var6 - 3) > ~var12 && ~(var14[var12 - 1][var21] & 19661064) == -1) { + --var12; + } + + if(var16 == 1 && -104 < ~var12 && ~(3 + var6) < ~var12 && (var14[var12 - -1][var21] & 19661184) == 0) { + ++var12; + } + + if(2 == var16 && var21 > 0 && ~(-3 + var7) > ~var21 && 0 == (var14[var12][-1 + var21] & 19661058)) { + --var21; + } + + if(3 == var16 && var21 < 103 && ~var21 > ~(var7 - -3) && 0 == (19661088 & var14[var12][1 + var21])) { + ++var21; + } + } + } + + Class3_Sub28_Sub15.anIntArray3693[Class149.anInt1924] = var10.objectId; + Class84.anIntArray1163[Class149.anInt1924] = -var2 + var12; + Class3_Sub28_Sub7_Sub1.anIntArray4050[Class149.anInt1924] = var21 + -var3; + ++Class149.anInt1924; + } + } + } + } + } + + Class27.aClass3_Sub28_Sub16_Sub2_518.method658(); + int var18 = (238 + (int)(20.0D * Math.random()) - 10 << 8) + (-10 + (int)(Math.random() * 20.0D) + 238 << 16) + (228 - -((int)(20.0D * Math.random()))); + var5 = (int)(Math.random() * 20.0D) + 238 + -10 << 16; + + for(var6 = 1; ~var6 > -104; ++var6) { + for(var7 = 1; 103 > var7; ++var7) { + if(0 == (Class9.aByteArrayArrayArray113[var1][var7 + var2][var6 - -var3] & 24) && !RSString.method1529(var3, var7, var18, var6, var5, var2, var1, true)) { + if(HDToolKit.highDetail) { + Class74.anIntArray1100 = null; + } else { + Class164_Sub1.aClass158_3009.method2182(0); + } + + return false; + } + + if(-4 < ~var1 && ~(Class9.aByteArrayArrayArray113[1 + var1][var7 + var2][var6 + var3] & 8) != -1 && !RSString.method1529(var3, var7, var18, var6, var5, var2, 1 + var1, true)) { + if(!HDToolKit.highDetail) { + Class164_Sub1.aClass158_3009.method2182(0); + } else { + Class74.anIntArray1100 = null; + } + + return false; + } + } + } + + if(HDToolKit.highDetail) { + int[] var19 = Class27.aClass3_Sub28_Sub16_Sub2_518.anIntArray4081; + var7 = var19.length; + + for(var8 = 0; var7 > var8; ++var8) { + if(var19[var8] == 0) { + var19[var8] = 1; + } + } + + Class49.aClass3_Sub28_Sub16_812 = new Class3_Sub28_Sub16_Sub1(Class27.aClass3_Sub28_Sub16_Sub2_518); + } else { + Class49.aClass3_Sub28_Sub16_812 = Class27.aClass3_Sub28_Sub16_Sub2_518; + } + + if(!HDToolKit.highDetail) { + Class164_Sub1.aClass158_3009.method2182(0); + } else { + Class74.anIntArray1100 = null; + } + + Class27.aClass3_Sub28_Sub16_Sub2_518 = null; + return true; + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "kl.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method386(int var0, int var1) { + try { + Class3_Sub31.aClass93_2604.method1522(-128, var0); + if(var1 <= -109) { + Class27.aClass93_511.method1522(-126, var0); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kl.D(" + var0 + ',' + var1 + ')'); + } + } + + public static void method387(int var0) { + try { + //int var1 = 41 % ((var0 - -70) / 32); + aClass94_2477 = null; + aClass153_2474 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kl.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub2.java new file mode 100644 index 000000000..f388966ad --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub2.java @@ -0,0 +1,85 @@ +package org.runite.jagex; + +final class Class3_Sub2 extends Class3 { + + static RSString aClass94_2215 = RSString.createRSString("Konfig geladen)3"); + + static int anInt2217 = 2; + static int anInt2218 = -1; + static short[] aShortArray2219 = new short[]{(short)-4160, (short)-4163, (short)-8256, (short)-8259, (short)22461}; + static Class130 aClass130_2220 = new Class130(32); + Class25[] aClass25Array2221 = new Class25[5]; + boolean aBoolean2222; + int anInt2223; + private static RSString aClass94_2224 = RSString.createRSString("Please wait)3)3)3"); + boolean aBoolean2225; + Class35 aClass35_2226; + int anInt2227; + int anInt2228 = 0; + int anInt2229; + Class12 aClass12_2230; + int anInt2231; + int anInt2232; + Class19 aClass19_2233; + Class70 aClass70_2234; + Class3_Sub2 aClass3_Sub2_2235; + boolean aBoolean2236; + int[] anIntArray2237 = new int[5]; + int anInt2238; + int anInt2239; + Class126 aClass126_2240; + int anInt2241; + static RSString aClass94_2242 = RSString.createRSString("welle2:"); + static int anInt2243 = 3353893; + int anInt2244; + Class72 aClass72_2245; + static int anInt2246 = 0; +static RSString aClass94_2216 = aClass94_2224; + + Class3_Sub2(int var1, int var2, int var3) { + try { + this.anInt2231 = var3; + this.anInt2238 = this.anInt2244 = var1; + this.anInt2239 = var2; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bj.(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method102(int var0) { + try { + aClass130_2220 = null; + if(var0 != 3353893) { + aClass94_2216 = (RSString)null; + } + + aShortArray2219 = null; + aClass94_2242 = null; + aClass94_2215 = null; + aClass94_2224 = null; + aClass94_2216 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bj.A(" + var0 + ')'); + } + } + + static final void method103(byte var0) { + try { + Client.aClass130_2194.method1773(122); + if(var0 <= 18) { + aClass94_2224 = (RSString)null; + } + + Class81.aClass13_1139.method883(17126); + Class126.aClass13_1666.method883(17126); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bj.B(" + var0 + ')'); + } + } + + static final long method104(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 != null && var3.aClass12_2230 != null?var3.aClass12_2230.aLong328:0L; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub20.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub20.java new file mode 100644 index 000000000..efa0b640e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub20.java @@ -0,0 +1,140 @@ +package org.runite.jagex; + +final class Class3_Sub20 extends Class3 { + + static int[] anIntArray2480 = new int[25]; + + static RSString aClass94_2482 = RSString.createRSString(":clan:"); + int anInt2483; + static int wlPacketIndex = 0; + static int language = 0; + private static RSString aClass94_2486 = RSString.createRSString("red:"); + static int anInt2487; + static int anInt2488 = 0; + int anInt2489; + static RSString aClass94_2490 = aClass94_2486; +static RSString aClass94_2481 = aClass94_2486; + + static final void method388(byte var0) { + try { + //int var1 = 44 / ((-2 - var0) / 52); + if(Class3_Sub13_Sub19.aClass94_3220 != null) { + Class3_Sub10.method138(Class3_Sub13_Sub19.aClass94_3220, 0); + Class3_Sub13_Sub19.aClass94_3220 = null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lb.A(" + var0 + ')'); + } + } + + static final void method389(boolean var0) { + try { + Class32.method995(); + Class49.aClass3_Sub28_Sub16_812 = null; + Class58.anInt909 = -1; + Class3_Sub13_Sub30.method313((byte)55); + Class3_Sub28_Sub21.aClass47_3801.method1101(2); + Class100.aClass136_1413 = new Class136(); + ((Class102)Class51.anInterface2_838).method1618(0); + Class68.anInt1032 = 0; + Class68.aClass43Array1021 = new Class43[255]; + Class140_Sub1_Sub1.method1929(); + Class141.method2043(); + Class65.method1240(false); + Class66.method1250(17, var0); + Class3_Sub13_Sub17.method247((byte)51); + + for(int var1 = 0; 2048 > var1; ++var1) { + Player var2 = Class3_Sub13_Sub22.players[var1]; + if(null != var2) { + var2.anObject2796 = null; + } + } + + if(HDToolKit.highDetail) { + Class141.method2041(104, 104); + Class127_Sub1.method1755(); + } + + Class3_Sub28_Sub9.method581(CacheIndex.aClass153_1948, 0, Class140_Sub6.spritesCacheIndex); + Class14.method887(21, Class140_Sub6.spritesCacheIndex); + Class3_Sub26.aClass3_Sub28_Sub16_2560 = null; + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 = null; + Class50.aClass3_Sub28_Sub16_824 = null; + Class95.aClass3_Sub28_Sub16_1339 = null; + Class108.aClass3_Sub28_Sub16_1457 = null; + if(Class143.loadingStage == 5) { + Class108.method1656(Class140_Sub6.spritesCacheIndex, (byte)-60); + } + + if(10 == Class143.loadingStage) { + Class3_Sub13_Sub11.method219(false, 3000); + } + + if(Class143.loadingStage == 30) { + Class117.method1719(25, 5); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "lb.C(" + var0 + ')'); + } + } + + static final void method390(boolean var0, int var1, int var2, int var3, byte var4, int var5, int var6) { + try { + Class3_Sub28_Sub10.anInt3631 = var3; + Class3_Sub13_Sub34.anInt3414 = var2; + Canvas_Sub2.anInt30 = var6; + Class163_Sub2_Sub1.anInt4021 = var1; + Class146.anInt1904 = var5; + if(var0 && Class3_Sub28_Sub10.anInt3631 >= 100) { + NPC.anInt3995 = 128 * Canvas_Sub2.anInt30 + 64; + Class77.anInt1111 = 128 * Class146.anInt1904 + 64; + Class7.anInt2162 = Class121.method1736(WorldListCountry.localPlane, 1, NPC.anInt3995, Class77.anInt1111) + -Class3_Sub13_Sub34.anInt3414; + } + + // int var7 = 76 % ((-79 - var4) / 35); + Class133.anInt1753 = 2; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "lb.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + public static void method391(int var0) { + try { + aClass94_2490 = null; + anIntArray2480 = null; + aClass94_2481 = null; + if(var0 != 25) { + method388((byte)-58); + } + + aClass94_2486 = null; + aClass94_2482 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lb.B(" + var0 + ')'); + } + } + + Class3_Sub20(int var1, int var2) { + try { + this.anInt2483 = var2; + this.anInt2489 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "lb.(" + var1 + ',' + var2 + ')'); + } + } + + static final void method392(CacheIndex var0, CacheIndex var1, int var2, CacheIndex var3) { + try { + AnimationDefinition.aClass153_1860 = var1; + // int var4 = -110 / ((-7 - var2) / 43); + Class7.aClass153_2160 = var0; + Class131.aClass153_1723 = var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lb.E(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub21.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub21.java new file mode 100644 index 000000000..f53cae1fa --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub21.java @@ -0,0 +1,156 @@ +package org.runite.jagex; + +final class Class3_Sub21 extends Class3 { + + static Class155 aClass155_2491; + int anInt2492; + static volatile int anInt2493 = -1; + int anInt2494; + int anInt2495; + static RSString aClass94_2496 = RSString.createRSString("scrollen:"); + int anInt2497; + static RSString aClass94_2498 = RSString.createRSString("(U (X"); + + + final boolean method393(byte var1, int var2, int var3) { + try { + if(var1 != -45) { + method394(6, -105); + } + + return var3 >= this.anInt2492 && ~this.anInt2495 <= ~var3 && this.anInt2494 <= var2 && var2 <= this.anInt2497; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lh.D(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method394(int var0, int var1) { + try { + Class3_Sub13_Sub23.anInt3285 = var0; + Class3_Sub18.method383(-32584, 3); + Class3_Sub18.method383(-32584, 4); + if(var1 <= 83) { + method395((Class35)null, -43, -61, -51, 101, -106, -58, true); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "lh.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method395(Class35 var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + int var8 = var0.anIntArray627.length; + + int var9; + int var10; + int var11; + int var12; + int var13; + for(var9 = 0; var9 < var8; ++var9) { + var10 = var0.anIntArray627[var9] - Class129_Sub1.anInt2697; + var11 = var0.anIntArray615[var9] - Class3_Sub28_Sub13.anInt3657; + var12 = var0.anIntArray618[var9] - Class3_Sub13_Sub30.anInt3363; + var13 = var12 * var3 + var10 * var4 >> 16; + var12 = var12 * var4 - var10 * var3 >> 16; + var10 = var13; + var13 = var11 * var2 - var12 * var1 >> 16; + var12 = var11 * var1 + var12 * var2 >> 16; + if(var12 < 50) { + return; + } + + if(var0.anIntArray616 != null) { + Class35.anIntArray614[var9] = var10; + Class35.anIntArray630[var9] = var13; + Class35.anIntArray628[var9] = var12; + } + + Class35.anIntArray623[var9] = Class51.anInt846 + (var10 << 9) / var12; + Class35.anIntArray622[var9] = Class51.anInt835 + (var13 << 9) / var12; + } + + Class51.anInt850 = 0; + var8 = var0.anIntArray624.length; + + for(var9 = 0; var9 < var8; ++var9) { + var10 = var0.anIntArray624[var9]; + var11 = var0.anIntArray617[var9]; + var12 = var0.anIntArray613[var9]; + var13 = Class35.anIntArray623[var10]; + int var14 = Class35.anIntArray623[var11]; + int var15 = Class35.anIntArray623[var12]; + int var16 = Class35.anIntArray622[var10]; + int var17 = Class35.anIntArray622[var11]; + int var18 = Class35.anIntArray622[var12]; + if((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { + if(Class3_Sub13_Sub21.aBoolean3261 && Class3_Sub13_Sub4.method185(Class49.anInt819 + Class51.anInt846, Class3_Sub13_Sub23_Sub1.anInt4039 + Class51.anInt835, var16, var17, var18, var13, var14, var15)) { + Class27.anInt515 = var5; + Class66.anInt999 = var6; + } + + if(!HDToolKit.highDetail && !var7) { + Class51.aBoolean849 = false; + if(var13 < 0 || var14 < 0 || var15 < 0 || var13 > Class51.anInt847 || var14 > Class51.anInt847 || var15 > Class51.anInt847) { + Class51.aBoolean849 = true; + } + + if(var0.anIntArray616 != null && var0.anIntArray616[var9] != -1) { + if(Class3_Sub13_Sub22.aBoolean3275) { + if(var0.aBoolean629) { + Class51.method1135(var16, var17, var18, var13, var14, var15, var0.anIntArray625[var9], var0.anIntArray632[var9], var0.anIntArray631[var9], Class35.anIntArray614[0], Class35.anIntArray614[1], Class35.anIntArray614[3], Class35.anIntArray630[0], Class35.anIntArray630[1], Class35.anIntArray630[3], Class35.anIntArray628[0], Class35.anIntArray628[1], Class35.anIntArray628[3], var0.anIntArray616[var9]); + } else { + Class51.method1135(var16, var17, var18, var13, var14, var15, var0.anIntArray625[var9], var0.anIntArray632[var9], var0.anIntArray631[var9], Class35.anIntArray614[var10], Class35.anIntArray614[var11], Class35.anIntArray614[var12], Class35.anIntArray630[var10], Class35.anIntArray630[var11], Class35.anIntArray630[var12], Class35.anIntArray628[var10], Class35.anIntArray628[var11], Class35.anIntArray628[var12], var0.anIntArray616[var9]); + } + } else { + int var19 = Class51.anInterface2_838.method15(var0.anIntArray616[var9], '\uffff'); + Class51.method1154(var16, var17, var18, var13, var14, var15, Class127.method1753(var19, var0.anIntArray625[var9]), Class127.method1753(var19, var0.anIntArray632[var9]), Class127.method1753(var19, var0.anIntArray631[var9])); + } + } else if(var0.anIntArray625[var9] != 12345678) { + Class51.method1154(var16, var17, var18, var13, var14, var15, var0.anIntArray625[var9], var0.anIntArray632[var9], var0.anIntArray631[var9]); + } + } + } + } + + } + + public static void method396(int var0) { + try { + if(var0 != 0) { + method397((byte)35); + } + + aClass155_2491 = null; + aClass94_2498 = null; + aClass94_2496 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lh.B(" + var0 + ')'); + } + } + + static final void method397(byte var0) { + try { + Class114.aClass93_1569.method1524(3); + Class3_Sub15.aClass93_2428.method1524(3); + if(var0 != -41) { + method394(14, 52); + } + + Class47.aClass93_743.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lh.C(" + var0 + ')'); + } + } + + Class3_Sub21(int var1, int var2, int var3, int var4) { + try { + this.anInt2497 = var4; + this.anInt2494 = var2; + this.anInt2495 = var3; + this.anInt2492 = var1; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "lh.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub22.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub22.java new file mode 100644 index 000000000..e08d944a7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub22.java @@ -0,0 +1,264 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +final class Class3_Sub22 extends Class3 { + + static RSString aClass94_2499 = RSString.createRSString("Okay"); + static int anInt2500; + int anInt2501; + int anInt2502; + int anInt2503; + Class166 aClass166_2504; + static Class49 aClass49_2505 = new Class49(); + int anInt2506; + Class3_Sub24_Sub1 aClass3_Sub24_Sub1_2507; + int anInt2508; + Class3_Sub12_Sub1 aClass3_Sub12_Sub1_2509; + int anInt2510; + int anInt2511; + int anInt2512; + int anInt2513; + int anInt2514; + int anInt2515; + int anInt2516; + int anInt2517; + static RSString aClass94_2518 = RSString.createRSString("Poser"); + int anInt2519; + int anInt2520; + static byte[][] aByteArrayArray2521; + int anInt2522; + int anInt2523; + static RSString aClass94_2524 = RSString.createRSString("Starte 3D)2Softwarebibliothek)3"); + private static RSString aClass94_2525 = RSString.createRSString("rating: "); + static RSString aClass94_2526 = aClass94_2525; + Class3_Sub15 aClass3_Sub15_2527; + static CacheIndex aClass153_2528; + static int anInt2529; + + + static final void method398(int var0, int var1, int var2, int var3, int var4, byte[][][] var5, int[] var6, int[] var7, int[] var8, int[] var9, int[] var10, int var11, byte var12, int var13, int var14) { + if(var0 < 0) { + var0 = 0; + } else if(var0 >= IOHandler.anInt1234 * 128) { + var0 = IOHandler.anInt1234 * 128 - 1; + } + + if(var2 < 0) { + var2 = 0; + } else if(var2 >= Class3_Sub13_Sub15.anInt3179 * 128) { + var2 = Class3_Sub13_Sub15.anInt3179 * 128 - 1; + } + + Class60.anInt936 = Class51.anIntArray840[var3]; + Class69.anInt1037 = Class51.anIntArray851[var3]; + Class3_Sub13_Sub34.anInt3417 = Class51.anIntArray840[var4]; + Class3_Sub13_Sub13.anInt3153 = Class51.anIntArray851[var4]; + Class129_Sub1.anInt2697 = var0; + Class3_Sub28_Sub13.anInt3657 = var1; + Class3_Sub13_Sub30.anInt3363 = var2; + Class97.anInt1375 = var0 / 128; + Class3_Sub13_Sub27.anInt3340 = var2 / 128; + Class163_Sub1_Sub1.anInt4006 = Class97.anInt1375 - Class3_Sub13_Sub39.anInt3466; + if(Class163_Sub1_Sub1.anInt4006 < 0) { + Class163_Sub1_Sub1.anInt4006 = 0; + } + + Class3_Sub28_Sub7.anInt3603 = Class3_Sub13_Sub27.anInt3340 - Class3_Sub13_Sub39.anInt3466; + if(Class3_Sub28_Sub7.anInt3603 < 0) { + Class3_Sub28_Sub7.anInt3603 = 0; + } + + Class2.anInt67 = Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(Class2.anInt67 > IOHandler.anInt1234) { + Class2.anInt67 = IOHandler.anInt1234; + } + + Class126.anInt1665 = Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(Class126.anInt1665 > Class3_Sub13_Sub15.anInt3179) { + Class126.anInt1665 = Class3_Sub13_Sub15.anInt3179; + } + + short var15; + if(HDToolKit.highDetail) { + var15 = 3584; + } else { + var15 = 3500; + } + + int var17; + int var16; + for(var16 = 0; var16 < Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 2; ++var16) { + for(var17 = 0; var17 < Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 2; ++var17) { + int var18 = (var16 - Class3_Sub13_Sub39.anInt3466 << 7) - (Class129_Sub1.anInt2697 & 127); + int var19 = (var17 - Class3_Sub13_Sub39.anInt3466 << 7) - (Class3_Sub13_Sub30.anInt3363 & 127); + int var20 = Class97.anInt1375 - Class3_Sub13_Sub39.anInt3466 + var16; + int var21 = Class3_Sub13_Sub27.anInt3340 - Class3_Sub13_Sub39.anInt3466 + var17; + if(var20 >= 0 && var21 >= 0 && var20 < IOHandler.anInt1234 && var21 < Class3_Sub13_Sub15.anInt3179) { + int var22; + if(Class3_Sub28_Sub7.anIntArrayArrayArray3605 != null) { + var22 = Class3_Sub28_Sub7.anIntArrayArrayArray3605[0][var20][var21] - Class3_Sub28_Sub13.anInt3657 + 128; + } else { + var22 = Class58.anIntArrayArrayArray914[0][var20][var21] - Class3_Sub28_Sub13.anInt3657 + 128; + } + + int var23 = Class58.anIntArrayArrayArray914[3][var20][var21] - Class3_Sub28_Sub13.anInt3657 - 1000; + Class49.aBooleanArrayArray814[var16][var17] = Class91.method1495(var18, var23, var22, var19, var15); + } else { + Class49.aBooleanArrayArray814[var16][var17] = false; + } + } + } + + for(var16 = 0; var16 < Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 1; ++var16) { + for(var17 = 0; var17 < Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 1; ++var17) { + Class23.aBooleanArrayArray457[var16][var17] = Class49.aBooleanArrayArray814[var16][var17] || Class49.aBooleanArrayArray814[var16 + 1][var17] || Class49.aBooleanArrayArray814[var16][var17 + 1] || Class49.aBooleanArrayArray814[var16 + 1][var17 + 1]; + } + } + + Class3_Sub13_Sub2.anIntArray3045 = var6; + Class73.anIntArray1083 = var7; + Class52.anIntArray859 = var8; + Class75_Sub4.anIntArray2663 = var9; + InputStream_Sub1.anIntArray39 = var10; + Class72.method1294(); + if(Class166.aClass3_Sub2ArrayArrayArray2065 != null) { + Class167.method2264(true); + Class146.method2083(var0, var1, var2, (byte[][][])null, 0, (byte)0, var13, var14); + if(HDToolKit.highDetail) { + Class3_Sub13_Sub17.aBoolean3207 = false; + Class3_Sub28_Sub4.method551(0, 0, 0); + Class92.method1512((float[])null); + Class68.method1265(); + } + + Class167.method2264(false); + } + + Class146.method2083(var0, var1, var2, var5, var11, var12, var13, var14); + } + + public static void method399(int var0) { + try { + if(var0 != 186) { + aClass94_2518 = (RSString)null; + } + + aClass94_2525 = null; + aByteArrayArray2521 = (byte[][])null; + aClass94_2524 = null; + aClass153_2528 = null; + aClass94_2526 = null; + aClass94_2499 = null; + aClass49_2505 = null; + aClass94_2518 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mf.E(" + var0 + ')'); + } + } + + static final void method400(long var0, int var2) { + try { + if((long)var2 != var0) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(104); + Class3_Sub13_Sub1.outgoingBuffer.putLong(var0, var2 ^ -2037491440); + ++Class163_Sub3.anInt3001; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "mf.F(" + var0 + ',' + var2 + ')'); + } + } + + final void method401(int var1) { + try { + this.aClass166_2504 = null; + this.aClass3_Sub12_Sub1_2509 = null; + this.aClass3_Sub24_Sub1_2507 = null; + this.aClass3_Sub15_2527 = null; + if(var1 != 221) { + aClass94_2518 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mf.A(" + var1 + ')'); + } + } + + static final void method402(int var0) { + try { + if(0 != ~Signlink.javaVendor.toLowerCase().indexOf("microsoft")) { + Class117.anIntArray1611[187] = 27; + Class117.anIntArray1611[223] = 28; + Class117.anIntArray1611[221] = 43; + Class117.anIntArray1611[188] = 71; + Class117.anIntArray1611[222] = 59; + Class117.anIntArray1611[192] = 58; + Class117.anIntArray1611[191] = 73; + Class117.anIntArray1611[219] = 42; + Class117.anIntArray1611[190] = 72; + Class117.anIntArray1611[186] = 57; + Class117.anIntArray1611[220] = 74; + Class117.anIntArray1611[189] = 26; + } else { + if(null == Signlink.aMethod1222) { + Class117.anIntArray1611[192] = 58; + Class117.anIntArray1611[222] = 59; + } else { + Class117.anIntArray1611[222] = 58; + Class117.anIntArray1611[192] = 28; + Class117.anIntArray1611[520] = 59; + } + + Class117.anIntArray1611[45] = 26; + Class117.anIntArray1611[61] = 27; + Class117.anIntArray1611[91] = 42; + Class117.anIntArray1611[59] = 57; + Class117.anIntArray1611[93] = 43; + Class117.anIntArray1611[44] = 71; + Class117.anIntArray1611[92] = 74; + Class117.anIntArray1611[46] = 72; + Class117.anIntArray1611[47] = 73; + } + + if(var0 != 74) { + method398(125, -50, 10, -49, 88, (byte[][][])((byte[][][])null), (int[])null, (int[])null, (int[])null, (int[])null, (int[])null, 57, (byte)-58, 88, -74); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mf.O(" + var0 + ')'); + } + } + + static final void method403() { + GL var0 = HDToolKit.gl; + var0.glDisableClientState('\u8076'); + HDToolKit.method1837(false); + var0.glDisable(2929); + var0.glPushAttrib(128); + var0.glFogf(2915, 3072.0F); + HDToolKit.method1851(); + + for(int var1 = 0; var1 < Client.aClass3_Sub11ArrayArray2199[0].length; ++var1) { + Class3_Sub11 var2 = Client.aClass3_Sub11ArrayArray2199[0][var1]; + if(var2.anInt2351 >= 0 && Class51.anInterface2_838.method18(var2.anInt2351, 255) == 4) { + var0.glColor4fv(Class114.method1705(var2.anInt2355, 0), 0); + float var3 = 201.5F - (var2.aBoolean2364?1.0F:0.5F); + var2.method149(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, var3, true); + } + } + + var0.glEnableClientState('\u8076'); + HDToolKit.method1846(); + var0.glEnable(2929); + var0.glPopAttrib(); + HDToolKit.method1830(); + } + + static final Class75_Sub4 method404(byte var0, RSByteBuffer var1) { + try { + return var0 > -55?(Class75_Sub4)null:new Class75_Sub4(var1.getShort((byte)93), var1.getShort((byte)55), var1.getShort((byte)81), var1.getShort((byte)95), var1.getTriByte((byte)124), var1.getTriByte((byte)120), var1.getByte((byte)-103)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "mf.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub23.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub23.java new file mode 100644 index 000000000..c6195f9b3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub23.java @@ -0,0 +1,144 @@ +package org.runite.jagex; + +final class Class3_Sub23 extends Class3 { + + static int anInt2530 = 2301979; + int anInt2531; + int anInt2532; + static int[] anIntArray2533; + static int anInt2534; + static int anInt2535 = -2; + static CacheIndex aClass153_2536; + static int anInt2537 = 0; + static boolean[] aBooleanArray2538 = new boolean[]{true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false}; + int anInt2539; + static int anInt2540; + static int anInt2541; + static Class3_Sub11[][] aClass3_Sub11ArrayArray2542; + + + public static void method405(boolean var0) { + try { + aClass153_2536 = null; + anIntArray2533 = null; + aClass3_Sub11ArrayArray2542 = (Class3_Sub11[][])null; + aBooleanArray2538 = null; + if(!var0) { + method408(-65, (byte)-3, 110, (int[][])((int[][])null), -123, 122); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "oj.B(" + var0 + ')'); + } + } + + static final void method406(byte var0, boolean var1, Class3_Sub28_Sub17 var2) { + try { + int var3; + if(HDToolKit.highDetail || var1) { + var3 = Class140_Sub7.anInt2934; + int var4 = var3 * 956 / 503; + Class40.aClass3_Sub28_Sub16_680.method639((Class23.anInt454 + -var4) / 2, 0, var4, var3); + AnimationDefinition.aClass109_1856.method1667(-(AnimationDefinition.aClass109_1856.anInt1461 / 2) + Class23.anInt454 / 2, 18); + } + + var2.method699(Class25.aClass94_485, Class23.anInt454 / 2, Class140_Sub7.anInt2934 / 2 - 26, 16777215, -1); + var3 = Class140_Sub7.anInt2934 / 2 + -18; + if(HDToolKit.highDetail) { + Class22.method927(Class23.anInt454 / 2 - 152, var3, 304, 34, 9179409); + Class22.method927(-151 + Class23.anInt454 / 2, var3 - -1, 302, 32, 0); + Class22.method934(Class23.anInt454 / 2 - 150, var3 + 2, Class3_Sub28_Sub15.anInt3684 * 3, 30, 9179409); + Class22.method934(Class23.anInt454 / 2 + -150 - -(3 * Class3_Sub28_Sub15.anInt3684), 2 + var3, 300 + -(3 * Class3_Sub28_Sub15.anInt3684), 30, 0); + } else { + Class74.method1311(Class23.anInt454 / 2 + -152, var3, 304, 34, 9179409); + Class74.method1311(-151 + Class23.anInt454 / 2, var3 + 1, 302, 32, 0); + Class74.method1323(Class23.anInt454 / 2 + -150, var3 + 2, Class3_Sub28_Sub15.anInt3684 * 3, 30, 9179409); + Class74.method1323(3 * Class3_Sub28_Sub15.anInt3684 + -150 + Class23.anInt454 / 2, 2 + var3, -(3 * Class3_Sub28_Sub15.anInt3684) + 300, 30, 0); + } + var2.method699(Class3_Sub17.aClass94_2464, Class23.anInt454 / 2, 4 + Class140_Sub7.anInt2934 / 2, 16777215, -1); + if(var0 < 50) { + anIntArray2533 = (int[])null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "oj.D(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final RSString method407(int var0, boolean var1, int var2, long var3, int var5) { + try { + RSString var6 = Class47.method1090((byte)-99, 0); + if(~var3 > -1L) { + var3 = -var3; + var6.method1533(Class3_Sub13_Sub11.aClass94_3133, true); + } + + RSString var8 = Class143.aClass94_1880; + RSString var7 = Class14.aClass94_341; + if(~var0 == -2) { + var8 = Class14.aClass94_341; + var7 = Class143.aClass94_1880; + } + + if(-3 == ~var0) { + var7 = Class143.aClass94_1880; + var8 = Class3_Sub13_Sub6.aClass94_3080; + } + + if(-4 == ~var0) { + var8 = Class14.aClass94_341; + var7 = Class143.aClass94_1880; + } + + RSString var10 = Class47.method1090((byte)-99, 0); + + int var11; + for(var11 = 0; ~var11 > ~var2; ++var11) { + var10.method1533(Class72.method1298((byte)9, (int)(var3 % 10L)), true); + var3 /= 10L; + } + + var11 = 0; + RSString var9; + if(var3 != 0L) { + RSString var12; + for(var12 = Class47.method1090((byte)-102, 0); var3 > 0L; var3 /= 10L) { + if(var1 && ~var11 != -1 && -1 == ~(var11 % 3)) { + var12.method1533(var8, true); + } + + var12.method1533(Class72.method1298((byte)9, (int)(var3 % 10L)), true); + ++var11; + } + + var9 = var12; + } else { + var9 = Class3_Sub13_Sub1.aClass94_3039; + } + + if(var5 != 2) { + return (RSString)null; + } else { + if(~var10.length(var5 ^ -47) < -1) { + var10.method1533(var7, true); + } + + return RenderAnimationDefinition.method903(new RSString[]{var6, var9.method1544(true), var10.method1544(true)}, (byte)-66); + } + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "oj.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var5 + ')'); + } + } + + static final int method408(int var0, byte var1, int var2, int[][] var3, int var4, int var5) { + try { + int var6 = var0 * var3[1 + var4][var2] + (128 - var0) * var3[var4][var2] >> 7; + int var7 = var3[var4][1 + var2] * (-var0 + 128) + var3[var4 - -1][var2 - -1] * var0 >> 7; + int var8 = -121 / ((var1 - 5) / 46); + return var6 * (128 + -var5) - -(var5 * var7) >> 7; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "oj.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub24.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub24.java new file mode 100644 index 000000000..bd4d4b51e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub24.java @@ -0,0 +1,33 @@ +package org.runite.jagex; + +abstract class Class3_Sub24 extends Class3 { + + int anInt2543; + Class3_Sub12 aClass3_Sub12_2544; + volatile boolean aBoolean2545 = true; + Class3_Sub24 aClass3_Sub24_2546; + + + abstract int method409(); + + final void method410(int[] var1, int var2, int var3) { + if(this.aBoolean2545) { + this.method413(var1, var2, var3); + } else { + this.method415(var3); + } + + } + + abstract Class3_Sub24 method411(); + + int method412() { + return 255; + } + + abstract void method413(int[] var1, int var2, int var3); + + abstract Class3_Sub24 method414(); + + abstract void method415(int var1); +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub1.java new file mode 100644 index 000000000..f6d441a9e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub1.java @@ -0,0 +1,1425 @@ +package org.runite.jagex; + +final class Class3_Sub24_Sub1 extends Class3_Sub24 { + + private int anInt3470; + private int anInt3471; + private int anInt3472; + private int anInt3473; + private int anInt3474; + private int anInt3475; + private int anInt3476; + private boolean aBoolean3477; + private int anInt3478; + private int anInt3479; + private int anInt3480; + private int anInt3481; + private int anInt3482; + private int anInt3483; + private int anInt3484; + + + final synchronized void method413(int[] var1, int var2, int var3) { + if(this.anInt3471 == 0 && this.anInt3480 == 0) { + this.method415(var3); + } else { + Class3_Sub12_Sub1 var4 = (Class3_Sub12_Sub1)this.aClass3_Sub12_2544; + int var5 = this.anInt3473 << 8; + int var6 = this.anInt3482 << 8; + int var7 = var4.aByteArray3030.length << 8; + int var8 = var6 - var5; + if(var8 <= 0) { + this.anInt3479 = 0; + } + + int var9 = var2; + var3 += var2; + if(this.anInt3474 < 0) { + if(this.anInt3470 <= 0) { + this.method439(); + this.method86(-1024); + return; + } + + this.anInt3474 = 0; + } + + if(this.anInt3474 >= var7) { + if(this.anInt3470 >= 0) { + this.method439(); + this.method86(-1024); + return; + } + + this.anInt3474 = var7 - 1; + } + + if(this.anInt3479 < 0) { + if(this.aBoolean3477) { + if(this.anInt3470 < 0) { + var9 = this.method436(var1, var2, var5, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 >= var5) { + return; + } + + this.anInt3474 = var5 + var5 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } + + while(true) { + var9 = this.method418(var1, var9, var6, var3, var4.aByteArray3030[this.anInt3482 - 1]); + if(this.anInt3474 < var6) { + return; + } + + this.anInt3474 = var6 + var6 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + var9 = this.method436(var1, var9, var5, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 >= var5) { + return; + } + + this.anInt3474 = var5 + var5 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } + } else if(this.anInt3470 < 0) { + while(true) { + var9 = this.method436(var1, var9, var5, var3, var4.aByteArray3030[this.anInt3482 - 1]); + if(this.anInt3474 >= var5) { + return; + } + + this.anInt3474 = var6 - 1 - (var6 - 1 - this.anInt3474) % var8; + } + } else { + while(true) { + var9 = this.method418(var1, var9, var6, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 < var6) { + return; + } + + this.anInt3474 = var5 + (this.anInt3474 - var5) % var8; + } + } + } else { + if(this.anInt3479 > 0) { + if(this.aBoolean3477) { + label134: { + if(this.anInt3470 < 0) { + var9 = this.method436(var1, var2, var5, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 >= var5) { + return; + } + + this.anInt3474 = var5 + var5 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + if(--this.anInt3479 == 0) { + break label134; + } + } + + do { + var9 = this.method418(var1, var9, var6, var3, var4.aByteArray3030[this.anInt3482 - 1]); + if(this.anInt3474 < var6) { + return; + } + + this.anInt3474 = var6 + var6 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + if(--this.anInt3479 == 0) { + break; + } + + var9 = this.method436(var1, var9, var5, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 >= var5) { + return; + } + + this.anInt3474 = var5 + var5 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } while(--this.anInt3479 != 0); + } + } else { + int var10; + if(this.anInt3470 < 0) { + while(true) { + var9 = this.method436(var1, var9, var5, var3, var4.aByteArray3030[this.anInt3482 - 1]); + if(this.anInt3474 >= var5) { + return; + } + + var10 = (var6 - 1 - this.anInt3474) / var8; + if(var10 >= this.anInt3479) { + this.anInt3474 += var8 * this.anInt3479; + this.anInt3479 = 0; + break; + } + + this.anInt3474 += var8 * var10; + this.anInt3479 -= var10; + } + } else { + while(true) { + var9 = this.method418(var1, var9, var6, var3, var4.aByteArray3030[this.anInt3473]); + if(this.anInt3474 < var6) { + return; + } + + var10 = (this.anInt3474 - var5) / var8; + if(var10 >= this.anInt3479) { + this.anInt3474 -= var8 * this.anInt3479; + this.anInt3479 = 0; + break; + } + + this.anInt3474 -= var8 * var10; + this.anInt3479 -= var10; + } + } + } + } + + if(this.anInt3470 < 0) { + this.method436(var1, var9, 0, var3, 0); + if(this.anInt3474 < 0) { + this.anInt3474 = -1; + this.method439(); + this.method86(-1024); + } + } else { + this.method418(var1, var9, var7, var3, 0); + if(this.anInt3474 >= var7) { + this.anInt3474 = var7; + this.method439(); + this.method86(-1024); + } + } + + } + } + } + + private final boolean method416() { + int var1 = this.anInt3471; + int var2; + int var3; + if(var1 == Integer.MIN_VALUE) { + var3 = 0; + var2 = 0; + var1 = 0; + } else { + var2 = method452(var1, this.anInt3478); + var3 = method454(var1, this.anInt3478); + } + + if(this.anInt3476 == var1 && this.anInt3484 == var2 && this.anInt3481 == var3) { + if(this.anInt3471 == Integer.MIN_VALUE) { + this.anInt3471 = 0; + this.anInt3476 = this.anInt3484 = this.anInt3481 = 0; + this.method86(-1024); + return true; + } else { + this.method449(); + return false; + } + } else { + if(this.anInt3476 < var1) { + this.anInt3472 = 1; + this.anInt3480 = var1 - this.anInt3476; + } else if(this.anInt3476 > var1) { + this.anInt3472 = -1; + this.anInt3480 = this.anInt3476 - var1; + } else { + this.anInt3472 = 0; + } + + if(this.anInt3484 < var2) { + this.anInt3475 = 1; + if(this.anInt3480 == 0 || this.anInt3480 > var2 - this.anInt3484) { + this.anInt3480 = var2 - this.anInt3484; + } + } else if(this.anInt3484 > var2) { + this.anInt3475 = -1; + if(this.anInt3480 == 0 || this.anInt3480 > this.anInt3484 - var2) { + this.anInt3480 = this.anInt3484 - var2; + } + } else { + this.anInt3475 = 0; + } + + if(this.anInt3481 < var3) { + this.anInt3483 = 1; + if(this.anInt3480 == 0 || this.anInt3480 > var3 - this.anInt3481) { + this.anInt3480 = var3 - this.anInt3481; + } + } else if(this.anInt3481 > var3) { + this.anInt3483 = -1; + if(this.anInt3480 == 0 || this.anInt3480 > this.anInt3481 - var3) { + this.anInt3480 = this.anInt3481 - var3; + } + } else { + this.anInt3483 = 0; + } + + return false; + } + } + + final synchronized void method417(int var1) { + if(var1 == 0) { + this.method430(0); + this.method86(-1024); + } else if(this.anInt3484 == 0 && this.anInt3481 == 0) { + this.anInt3480 = 0; + this.anInt3471 = 0; + this.anInt3476 = 0; + this.method86(-1024); + } else { + int var2 = -this.anInt3476; + if(this.anInt3476 > var2) { + var2 = this.anInt3476; + } + + if(-this.anInt3484 > var2) { + var2 = -this.anInt3484; + } + + if(this.anInt3484 > var2) { + var2 = this.anInt3484; + } + + if(-this.anInt3481 > var2) { + var2 = -this.anInt3481; + } + + if(this.anInt3481 > var2) { + var2 = this.anInt3481; + } + + if(var1 > var2) { + var1 = var2; + } + + this.anInt3480 = var1; + this.anInt3471 = Integer.MIN_VALUE; + this.anInt3472 = -this.anInt3476 / var1; + this.anInt3475 = -this.anInt3484 / var1; + this.anInt3483 = -this.anInt3481 / var1; + } + } + + private final int method418(int[] var1, int var2, int var3, int var4, int var5) { + while(true) { + if(this.anInt3480 > 0) { + int var6 = var2 + this.anInt3480; + if(var6 > var4) { + var6 = var4; + } + + this.anInt3480 += var2; + if(this.anInt3470 == 256 && (this.anInt3474 & 255) == 0) { + if(RSString.aBoolean2150) { + var2 = method426(0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, 0, var6, var3, this); + } else { + var2 = method428(((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, 0, var6, var3, this); + } + } else if(RSString.aBoolean2150) { + var2 = method421(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, 0, var6, var3, this, this.anInt3470, var5); + } else { + var2 = method422(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, 0, var6, var3, this, this.anInt3470, var5); + } + + this.anInt3480 -= var2; + if(this.anInt3480 != 0) { + return var2; + } + + if(!this.method416()) { + continue; + } + + return var4; + } + + if(this.anInt3470 == 256 && (this.anInt3474 & 255) == 0) { + if(RSString.aBoolean2150) { + return method420(0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, 0, var4, var3, this); + } + + return method424(((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, 0, var4, var3, this); + } + + if(RSString.aBoolean2150) { + return method433(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, 0, var4, var3, this, this.anInt3470, var5); + } + + return method455(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, 0, var4, var3, this, this.anInt3470, var5); + } + } + + final synchronized void method419(int var1) { + this.method441(var1 << 6, this.method451()); + } + + final int method412() { + int var1 = this.anInt3476 * 3 >> 6; + var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); + if(this.anInt3479 == 0) { + var1 -= var1 * this.anInt3474 / (((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030.length << 8); + } else if(this.anInt3479 >= 0) { + var1 -= var1 * this.anInt3473 / ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030.length; + } + + return var1 > 255?255:var1; + } + + private static final int method420(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Class3_Sub24_Sub1 var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if((var7 = var4 + var9 - var3) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + byte var11; + int var10001; + for(var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for(var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.anInt3474 = var3 << 8; + return var4 >> 1; + } + + private static final int method421(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class3_Sub24_Sub1 var13, int var14, int var15) { + var13.anInt3476 -= var13.anInt3472 * var5; + if(var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + int var10001; + byte var16; + for(var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + var16 = var2[var1]; + var0 = (var16 << 8) + (var2[var1 + 1] - var16) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if(var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14 - 1) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for(var1 = var15; var5 < var10; var4 += var14) { + var16 = var2[var4 >> 8]; + var0 = (var16 << 8) + (var1 - var16) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.anInt3476 += var13.anInt3472 * var5; + var13.anInt3484 = var6; + var13.anInt3481 = var7; + var13.anInt3474 = var4; + return var5; + } + + final int method409() { + return this.anInt3471 == 0 && this.anInt3480 == 0?0:1; + } + + private static final int method422(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, Class3_Sub24_Sub1 var11, int var12, int var13) { + var11.anInt3484 -= var11.anInt3475 * var5; + var11.anInt3481 -= var11.anInt3483 * var5; + if(var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + int var10001; + byte var14; + while(var5 < var8) { + var1 = var4 >> 8; + var14 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if(var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + for(var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.anInt3484 += var11.anInt3475 * var5; + var11.anInt3481 += var11.anInt3483 * var5; + var11.anInt3476 = var6; + var11.anInt3474 = var4; + return var5; + } + + private static final int method423(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, Class3_Sub24_Sub1 var10, int var11, int var12) { + if(var11 == 0 || (var7 = var5 + (var9 + 256 - var4 + var11) / var11) > var8) { + var7 = var8; + } + + int var10001; + while(var5 < var7) { + var1 = var4 >> 8; + byte var13 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if(var11 == 0 || (var7 = var5 + (var9 - var4 + var11) / var11) > var8) { + var7 = var8; + } + + var0 = var12; + + for(var1 = var11; var5 < var7; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + } + + var10.anInt3474 = var4; + return var5; + } + + private static final int method424(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, Class3_Sub24_Sub1 var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if((var5 = var3 + var7 - var2) > var6) { + var5 = var6; + } + + int var10001; + for(var5 -= 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + } + + for(var5 += 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + } + + var8.anInt3474 = var2 << 8; + return var3; + } + + final synchronized int method425() { + return this.anInt3471 == Integer.MIN_VALUE?0:this.anInt3471; + } + + private static final int method426(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, Class3_Sub24_Sub1 var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if((var9 = var4 + var11 - var3) > var10) { + var9 = var10; + } + + var12.anInt3476 += var12.anInt3472 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + int var10001; + byte var13; + for(var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for(var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.anInt3484 = var5 >> 2; + var12.anInt3481 = var6 >> 2; + var12.anInt3474 = var3 << 8; + return var4 >> 1; + } + + private static final int method427(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Class3_Sub24_Sub1 var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if((var6 = var3 + var2 - (var8 - 1)) > var7) { + var6 = var7; + } + + var9.anInt3484 += var9.anInt3475 * (var6 - var3); + var9.anInt3481 += var9.anInt3483 * (var6 - var3); + + int var10001; + for(var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + for(var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + var9.anInt3476 = var4 >> 2; + var9.anInt3474 = var2 << 8; + return var3; + } + + private static final int method428(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Class3_Sub24_Sub1 var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if((var6 = var3 + var8 - var2) > var7) { + var6 = var7; + } + + var9.anInt3484 += var9.anInt3475 * (var6 - var3); + var9.anInt3481 += var9.anInt3483 * (var6 - var3); + + int var10001; + for(var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + for(var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + var9.anInt3476 = var4 >> 2; + var9.anInt3474 = var2 << 8; + return var3; + } + + final synchronized void method415(int var1) { + if(this.anInt3480 > 0) { + if(var1 >= this.anInt3480) { + if(this.anInt3471 == Integer.MIN_VALUE) { + this.anInt3471 = 0; + this.anInt3476 = this.anInt3484 = this.anInt3481 = 0; + this.method86(-1024); + var1 = this.anInt3480; + } + + this.anInt3480 = 0; + this.method449(); + } else { + this.anInt3476 += this.anInt3472 * var1; + this.anInt3484 += this.anInt3475 * var1; + this.anInt3481 += this.anInt3483 * var1; + this.anInt3480 -= var1; + } + } + + Class3_Sub12_Sub1 var2 = (Class3_Sub12_Sub1)this.aClass3_Sub12_2544; + int var3 = this.anInt3473 << 8; + int var4 = this.anInt3482 << 8; + int var5 = var2.aByteArray3030.length << 8; + int var6 = var4 - var3; + if(var6 <= 0) { + this.anInt3479 = 0; + } + + if(this.anInt3474 < 0) { + if(this.anInt3470 <= 0) { + this.method439(); + this.method86(-1024); + return; + } + + this.anInt3474 = 0; + } + + if(this.anInt3474 >= var5) { + if(this.anInt3470 >= 0) { + this.method439(); + this.method86(-1024); + return; + } + + this.anInt3474 = var5 - 1; + } + + this.anInt3474 += this.anInt3470 * var1; + if(this.anInt3479 < 0) { + if(!this.aBoolean3477) { + if(this.anInt3470 < 0) { + if(this.anInt3474 >= var3) { + return; + } + + this.anInt3474 = var4 - 1 - (var4 - 1 - this.anInt3474) % var6; + } else { + if(this.anInt3474 < var4) { + return; + } + + this.anInt3474 = var3 + (this.anInt3474 - var3) % var6; + } + + } else { + if(this.anInt3470 < 0) { + if(this.anInt3474 >= var3) { + return; + } + + this.anInt3474 = var3 + var3 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } + + while(this.anInt3474 >= var4) { + this.anInt3474 = var4 + var4 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + if(this.anInt3474 >= var3) { + return; + } + + this.anInt3474 = var3 + var3 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } + + } + } else { + if(this.anInt3479 > 0) { + if(this.aBoolean3477) { + label122: { + if(this.anInt3470 < 0) { + if(this.anInt3474 >= var3) { + return; + } + + this.anInt3474 = var3 + var3 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + if(--this.anInt3479 == 0) { + break label122; + } + } + + do { + if(this.anInt3474 < var4) { + return; + } + + this.anInt3474 = var4 + var4 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + if(--this.anInt3479 == 0) { + break; + } + + if(this.anInt3474 >= var3) { + return; + } + + this.anInt3474 = var3 + var3 - 1 - this.anInt3474; + this.anInt3470 = -this.anInt3470; + } while(--this.anInt3479 != 0); + } + } else { + label132: { + int var7; + if(this.anInt3470 < 0) { + if(this.anInt3474 >= var3) { + return; + } + + var7 = (var4 - 1 - this.anInt3474) / var6; + if(var7 >= this.anInt3479) { + this.anInt3474 += var6 * this.anInt3479; + this.anInt3479 = 0; + break label132; + } + + this.anInt3474 += var6 * var7; + this.anInt3479 -= var7; + } else { + if(this.anInt3474 < var4) { + return; + } + + var7 = (this.anInt3474 - var3) / var6; + if(var7 >= this.anInt3479) { + this.anInt3474 -= var6 * this.anInt3479; + this.anInt3479 = 0; + break label132; + } + + this.anInt3474 -= var6 * var7; + this.anInt3479 -= var7; + } + + return; + } + } + } + + if(this.anInt3470 < 0) { + if(this.anInt3474 < 0) { + this.anInt3474 = -1; + this.method439(); + this.method86(-1024); + } + } else if(this.anInt3474 >= var5) { + this.anInt3474 = var5; + this.method439(); + this.method86(-1024); + } + + } + } + + final synchronized void method429(int var1) { + this.anInt3479 = var1; + } + + private final synchronized void method430(int var1) { + this.method441(var1, this.method451()); + } + + final synchronized void method431(int var1, int var2) { + this.method450(var1, var2, this.method451()); + } + + static final Class3_Sub24_Sub1 method432(Class3_Sub12_Sub1 var0, int var1, int var2, int var3) { + return var0.aByteArray3030 != null && var0.aByteArray3030.length != 0?new Class3_Sub24_Sub1(var0, var1, var2, var3):null; + } + + final Class3_Sub24 method411() { + return null; + } + + private static final int method433(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, Class3_Sub24_Sub1 var11, int var12, int var13) { + if(var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + int var10001; + byte var14; + for(var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + var14 = var2[var1]; + var0 = (var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if(var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for(var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var0 = (var14 << 8) + (var1 - var14) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.anInt3474 = var4; + return var5 >> 1; + } + + final synchronized void method434(int var1) { + int var2 = ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030.length << 8; + if(var1 < -1) { + var1 = -1; + } + + if(var1 > var2) { + var1 = var2; + } + + this.anInt3474 = var1; + } + + private static final int method435(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, Class3_Sub24_Sub1 var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if((var9 = var4 + var3 - (var11 - 1)) > var10) { + var9 = var10; + } + + var12.anInt3476 += var12.anInt3472 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + int var10001; + byte var13; + for(var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for(var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.anInt3484 = var5 >> 2; + var12.anInt3481 = var6 >> 2; + var12.anInt3474 = var3 << 8; + return var4 >> 1; + } + + private final int method436(int[] var1, int var2, int var3, int var4, int var5) { + while(true) { + if(this.anInt3480 > 0) { + int var6 = var2 + this.anInt3480; + if(var6 > var4) { + var6 = var4; + } + + this.anInt3480 += var2; + if(this.anInt3470 == -256 && (this.anInt3474 & 255) == 0) { + if(RSString.aBoolean2150) { + var2 = method435(0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, 0, var6, var3, this); + } else { + var2 = method427(((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, 0, var6, var3, this); + } + } else if(RSString.aBoolean2150) { + var2 = method440(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, this.anInt3475, this.anInt3483, 0, var6, var3, this, this.anInt3470, var5); + } else { + var2 = method448(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, this.anInt3472, 0, var6, var3, this, this.anInt3470, var5); + } + + this.anInt3480 -= var2; + if(this.anInt3480 != 0) { + return var2; + } + + if(!this.method416()) { + continue; + } + + return var4; + } + + if(this.anInt3470 == -256 && (this.anInt3474 & 255) == 0) { + if(RSString.aBoolean2150) { + return method447(0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, 0, var4, var3, this); + } + + return method446(((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, 0, var4, var3, this); + } + + if(RSString.aBoolean2150) { + return method453(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3484, this.anInt3481, 0, var4, var3, this, this.anInt3470, var5); + } + + return method423(0, 0, ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030, var1, this.anInt3474, var2, this.anInt3476, 0, var4, var3, this, this.anInt3470, var5); + } + } + + static final Class3_Sub24_Sub1 method437(Class3_Sub12_Sub1 var0, int var1, int var2) { + return var0.aByteArray3030 != null && var0.aByteArray3030.length != 0?new Class3_Sub24_Sub1(var0, (int)((long)var0.anInt3034 * 256L * (long)var1 / (long)(100 * Class21.anInt443)), var2 << 6):null; + } + + final synchronized int method438() { + return this.anInt3470 < 0?-this.anInt3470:this.anInt3470; + } + + private final void method439() { + if(this.anInt3480 != 0) { + if(this.anInt3471 == Integer.MIN_VALUE) { + this.anInt3471 = 0; + } + + this.anInt3480 = 0; + this.method449(); + } + + } + + private static final int method440(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, Class3_Sub24_Sub1 var13, int var14, int var15) { + var13.anInt3476 -= var13.anInt3472 * var5; + if(var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + int var10001; + for(var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + byte var16 = var2[var1 - 1]; + var0 = (var16 << 8) + (var2[var1] - var16) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if(var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for(var1 = var15; var5 < var10; var4 += var14) { + var0 = (var1 << 8) + (var2[var4 >> 8] - var1) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.anInt3476 += var13.anInt3472 * var5; + var13.anInt3484 = var6; + var13.anInt3481 = var7; + var13.anInt3474 = var4; + return var5; + } + + private final synchronized void method441(int var1, int var2) { + this.anInt3471 = var1; + this.anInt3478 = var2; + this.anInt3480 = 0; + this.method449(); + } + + final synchronized void method442(boolean var1) { + this.anInt3470 = (this.anInt3470 ^ this.anInt3470 >> 31) + (this.anInt3470 >>> 31); + if(var1) { + this.anInt3470 = -this.anInt3470; + } + + } + + final synchronized void method443(int var1) { + if(this.anInt3470 < 0) { + this.anInt3470 = -var1; + } else { + this.anInt3470 = var1; + } + + } + + final boolean method444() { + return this.anInt3474 < 0 || this.anInt3474 >= ((Class3_Sub12_Sub1)this.aClass3_Sub12_2544).aByteArray3030.length << 8; + } + + final boolean method445() { + return this.anInt3480 != 0; + } + + private static final int method446(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, Class3_Sub24_Sub1 var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if((var5 = var3 + var2 - (var7 - 1)) > var6) { + var5 = var6; + } + + int var10001; + for(var5 -= 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + } + + for(var5 += 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + } + + var8.anInt3474 = var2 << 8; + return var3; + } + + private static final int method447(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Class3_Sub24_Sub1 var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if((var7 = var4 + var3 - (var9 - 1)) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + byte var11; + int var10001; + for(var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for(var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.anInt3474 = var3 << 8; + return var4 >> 1; + } + + private static final int method448(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, Class3_Sub24_Sub1 var11, int var12, int var13) { + var11.anInt3484 -= var11.anInt3475 * var5; + var11.anInt3481 -= var11.anInt3483 * var5; + if(var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + int var10001; + while(var5 < var8) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if(var12 == 0 || (var8 = var5 + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var0 = var13; + + for(var1 = var12; var5 < var8; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.anInt3484 += var11.anInt3475 * var5; + var11.anInt3481 += var11.anInt3483 * var5; + var11.anInt3476 = var6; + var11.anInt3474 = var4; + return var5; + } + + private final void method449() { + this.anInt3476 = this.anInt3471; + this.anInt3484 = method452(this.anInt3471, this.anInt3478); + this.anInt3481 = method454(this.anInt3471, this.anInt3478); + } + + final synchronized void method450(int var1, int var2, int var3) { + if(var1 == 0) { + this.method441(var2, var3); + } else { + int var4 = method452(var2, var3); + int var5 = method454(var2, var3); + if(this.anInt3484 == var4 && this.anInt3481 == var5) { + this.anInt3480 = 0; + } else { + int var6 = var2 - this.anInt3476; + if(this.anInt3476 - var2 > var6) { + var6 = this.anInt3476 - var2; + } + + if(var4 - this.anInt3484 > var6) { + var6 = var4 - this.anInt3484; + } + + if(this.anInt3484 - var4 > var6) { + var6 = this.anInt3484 - var4; + } + + if(var5 - this.anInt3481 > var6) { + var6 = var5 - this.anInt3481; + } + + if(this.anInt3481 - var5 > var6) { + var6 = this.anInt3481 - var5; + } + + if(var1 > var6) { + var1 = var6; + } + + this.anInt3480 = var1; + this.anInt3471 = var2; + this.anInt3478 = var3; + this.anInt3472 = (var2 - this.anInt3476) / var1; + this.anInt3475 = (var4 - this.anInt3484) / var1; + this.anInt3483 = (var5 - this.anInt3481) / var1; + } + } + } + + final synchronized int method451() { + return this.anInt3478 < 0?-1:this.anInt3478; + } + + private static final int method452(int var0, int var1) { + return var1 < 0?var0:(int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); + } + + private static final int method453(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, Class3_Sub24_Sub1 var11, int var12, int var13) { + if(var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + int var10001; + for(var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var0 = (var14 << 8) + (var2[var1] - var14) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if(var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for(var1 = var13; var5 < var8; var4 += var12) { + var0 = (var1 << 8) + (var2[var4 >> 8] - var1) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.anInt3474 = var4; + return var5 >> 1; + } + + private Class3_Sub24_Sub1(Class3_Sub12_Sub1 var1, int var2, int var3) { + this.aClass3_Sub12_2544 = var1; + this.anInt3473 = var1.anInt3033; + this.anInt3482 = var1.anInt3032; + this.aBoolean3477 = var1.aBoolean3031; + this.anInt3470 = var2; + this.anInt3471 = var3; + this.anInt3478 = 8192; + this.anInt3474 = 0; + this.method449(); + } + + final Class3_Sub24 method414() { + return null; + } + + private static final int method454(int var0, int var1) { + return var1 < 0?-var0:(int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); + } + + private Class3_Sub24_Sub1(Class3_Sub12_Sub1 var1, int var2, int var3, int var4) { + this.aClass3_Sub12_2544 = var1; + this.anInt3473 = var1.anInt3033; + this.anInt3482 = var1.anInt3032; + this.aBoolean3477 = var1.aBoolean3031; + this.anInt3470 = var2; + this.anInt3471 = var3; + this.anInt3478 = var4; + this.anInt3474 = 0; + this.method449(); + } + + private static final int method455(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, Class3_Sub24_Sub1 var10, int var11, int var12) { + if(var11 == 0 || (var7 = var5 + (var9 - var4 + var11 - 257) / var11) > var8) { + var7 = var8; + } + + int var10001; + byte var13; + while(var5 < var7) { + var1 = var4 >> 8; + var13 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1 + 1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if(var11 == 0 || (var7 = var5 + (var9 - var4 + var11 - 1) / var11) > var8) { + var7 = var8; + } + + for(var1 = var12; var5 < var7; var4 += var11) { + var13 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; + } + + var10.anInt3474 = var4; + return var5; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub2.java new file mode 100644 index 000000000..2bf069390 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub2.java @@ -0,0 +1,145 @@ +package org.runite.jagex; + +final class Class3_Sub24_Sub2 extends Class3_Sub24 { + + private Class61 aClass61_3485 = new Class61(); + private Class61 aClass61_3486 = new Class61(); + private int anInt3487 = 0; + private int anInt3488 = -1; + + + private final void method456(Class3_Sub3 var1) { + var1.method86(-1024); + var1.method106(); + Class3 var2 = this.aClass61_3486.aClass3_940.aClass3_74; + if(var2 == this.aClass61_3486.aClass3_940) { + this.anInt3488 = -1; + } else { + this.anInt3488 = ((Class3_Sub3)var2).anInt2247; + } + + } + + final synchronized void method457(Class3_Sub24 var1) { + this.aClass61_3485.method1216(64, var1); + } + + final synchronized void method413(int[] var1, int var2, int var3) { + do { + if(this.anInt3488 < 0) { + this.method460(var1, var2, var3); + return; + } + + if(this.anInt3487 + var3 < this.anInt3488) { + this.anInt3487 += var3; + this.method460(var1, var2, var3); + return; + } + + int var4 = this.anInt3488 - this.anInt3487; + this.method460(var1, var2, var4); + var2 += var4; + var3 -= var4; + this.anInt3487 += var4; + this.method458(); + Class3_Sub3 var5 = (Class3_Sub3)this.aClass61_3486.method1222(); + synchronized(var5) { + int var7 = var5.method105(this); + if(var7 < 0) { + var5.anInt2247 = 0; + this.method456(var5); + } else { + var5.anInt2247 = var7; + this.method462(var5.aClass3_74, var5); + } + } + } while(var3 != 0); + + } + + private final void method458() { + if(this.anInt3487 > 0) { + for(Class3_Sub3 var1 = (Class3_Sub3)this.aClass61_3486.method1222(); var1 != null; var1 = (Class3_Sub3)this.aClass61_3486.method1221()) { + var1.anInt2247 -= this.anInt3487; + } + + this.anInt3488 -= this.anInt3487; + this.anInt3487 = 0; + } + + } + + final Class3_Sub24 method411() { + return (Class3_Sub24)this.aClass61_3485.method1222(); + } + + private final void method459(int var1) { + for(Class3_Sub24 var2 = (Class3_Sub24)this.aClass61_3485.method1222(); var2 != null; var2 = (Class3_Sub24)this.aClass61_3485.method1221()) { + var2.method415(var1); + } + + } + + private final void method460(int[] var1, int var2, int var3) { + for(Class3_Sub24 var4 = (Class3_Sub24)this.aClass61_3485.method1222(); var4 != null; var4 = (Class3_Sub24)this.aClass61_3485.method1221()) { + var4.method410(var1, var2, var3); + } + + } + + final synchronized void method461(Class3_Sub24 var1) { + var1.method86(-1024); + } + + final int method409() { + return 0; + } + + final synchronized void method415(int var1) { + do { + if(this.anInt3488 < 0) { + this.method459(var1); + return; + } + + if(this.anInt3487 + var1 < this.anInt3488) { + this.anInt3487 += var1; + this.method459(var1); + return; + } + + int var2 = this.anInt3488 - this.anInt3487; + this.method459(var2); + var1 -= var2; + this.anInt3487 += var2; + this.method458(); + Class3_Sub3 var3 = (Class3_Sub3)this.aClass61_3486.method1222(); + synchronized(var3) { + int var5 = var3.method105(this); + if(var5 < 0) { + var3.anInt2247 = 0; + this.method456(var3); + } else { + var3.anInt2247 = var5; + this.method462(var3.aClass3_74, var3); + } + } + } while(var1 != 0); + + } + + final Class3_Sub24 method414() { + return (Class3_Sub24)this.aClass61_3485.method1221(); + } + + private final void method462(Class3 var1, Class3_Sub3 var2) { + while(var1 != this.aClass61_3486.aClass3_940 && ((Class3_Sub3)var1).anInt2247 <= var2.anInt2247) { + var1 = var1.aClass3_74; + } + + AbstractIndexedSprite.method1662(var2, var1, -16); + this.anInt3488 = ((Class3_Sub3)this.aClass61_3486.aClass3_940.aClass3_74).anInt2247; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub3.java new file mode 100644 index 000000000..88a968c33 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub3.java @@ -0,0 +1,273 @@ +package org.runite.jagex; + +final class Class3_Sub24_Sub3 extends Class3_Sub24 { + + Class61 aClass61_3489 = new Class61(); + static CacheIndex aClass153_3490; + static int[] anIntArray3491 = new int[]{0, -1, 0, 1}; + static int anInt3492 = 64; + private Class3_Sub24_Sub4 aClass3_Sub24_Sub4_3493; + static int[] anIntArray3494; + Class3_Sub24_Sub2 aClass3_Sub24_Sub2_3495 = new Class3_Sub24_Sub2(); + + + final Class3_Sub24 method414() { + try { + Class3_Sub22 var1; + do { + var1 = (Class3_Sub22)this.aClass61_3489.method1221(); + if(null == var1) { + return null; + } + } while(var1.aClass3_Sub24_Sub1_2507 == null); + + return var1.aClass3_Sub24_Sub1_2507; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "te.B()"); + } + } + + public static void method463(int var0) { + try { + aClass153_3490 = null; + anIntArray3491 = null; + anIntArray3494 = null; + if(var0 != -28918) { + method468(-39); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "te.C(" + var0 + ')'); + } + } + + final Class3_Sub24 method411() { + try { + Class3_Sub22 var1 = (Class3_Sub22)this.aClass61_3489.method1222(); + return (Class3_Sub24)(null != var1?(null != var1.aClass3_Sub24_Sub1_2507?var1.aClass3_Sub24_Sub1_2507:this.method414()):null); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "te.Q()"); + } + } + + private final void method464(Class3_Sub22 var1, int var2, int var3) { + try { + if(-1 != ~(this.aClass3_Sub24_Sub4_3493.anIntArray3518[var1.anInt2514] & 4) && -1 < ~var1.anInt2506) { + int var4 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var1.anInt2514] / Class21.anInt443; + int var5 = (var4 + 1048575 + -var1.anInt2516) / var4; + var1.anInt2516 = 1048575 & var4 * var3 + var1.anInt2516; + if(~var3 <= ~var5) { + if(0 != this.aClass3_Sub24_Sub4_3493.anIntArray3519[var1.anInt2514]) { + var1.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var1.aClass3_Sub12_Sub1_2509, var1.aClass3_Sub24_Sub1_2507.method438(), 0, var1.aClass3_Sub24_Sub1_2507.method451()); + this.aClass3_Sub24_Sub4_3493.method501(var1, var1.aClass3_Sub15_2527.aShortArray2434[var1.anInt2520] < 0, (byte)-101); + } else { + var1.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var1.aClass3_Sub12_Sub1_2509, var1.aClass3_Sub24_Sub1_2507.method438(), var1.aClass3_Sub24_Sub1_2507.method425(), var1.aClass3_Sub24_Sub1_2507.method451()); + } + + if(~var1.aClass3_Sub15_2527.aShortArray2434[var1.anInt2520] > -1) { + var1.aClass3_Sub24_Sub1_2507.method429(-1); + } + + var3 = var1.anInt2516 / var4; + } + } + + var1.aClass3_Sub24_Sub1_2507.method415(var3); + if(var2 != 7) { + this.aClass3_Sub24_Sub2_3495 = (Class3_Sub24_Sub2)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "te.P(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method465(int var0, boolean var1) { + try { + if(!var1) { + method463(92); + } + + Class140_Sub4.aClass93_2792.method1522(-128, var0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "te.O(" + var0 + ',' + var1 + ')'); + } + } + + final int method409() { + try { + return 0; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "te.D()"); + } + } + + static final Class3_Sub28_Sub6 method466(int var0, int var1, int var2) { + try { + Class3_Sub28_Sub6 var3 = (Class3_Sub28_Sub6)Client.aClass130_2194.method1780((long)var2 | (long)var1 << 32, var0 ^ var0); + if(null == var3) { + var3 = new Class3_Sub28_Sub6(var1, var2); + Client.aClass130_2194.method1779(1, var3, var3.aLong71); + } + + return var3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "te.F(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final boolean method467(RSString var0, int var1) { + try { + if(var0 == null) { + return false; + } else { + for(int var2 = var1; ~Class3_Sub28_Sub5.anInt3591 < ~var2; ++var2) { + if(var0.equals(63, Class3_Sub13_Sub27.aClass94Array3341[var2])) { + return true; + } + } + + return false; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "te.A(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method468(int var0) { + try { + Class88.method1456(); + Class2.anInterface5Array70 = new Interface5[7]; + Class2.anInterface5Array70[1] = new Class160(); + Class2.anInterface5Array70[2] = new Class125(); + Class2.anInterface5Array70[3] = new Class165(); + Class2.anInterface5Array70[4] = new Class112(); + Class2.anInterface5Array70[5] = new Class104(); + Class2.anInterface5Array70[var0] = new Class147(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "te.T(" + var0 + ')'); + } + } + + final void method415(int var1) { + try { + this.aClass3_Sub24_Sub2_3495.method415(var1); + + for(Class3_Sub22 var3 = (Class3_Sub22)this.aClass61_3489.method1222(); var3 != null; var3 = (Class3_Sub22)this.aClass61_3489.method1221()) { + if(!this.aClass3_Sub24_Sub4_3493.method504(var3, 121)) { + int var2 = var1; + + while(true) { + if(var2 > var3.anInt2512) { + this.method464(var3, 7, var3.anInt2512); + var2 -= var3.anInt2512; + if(!this.aClass3_Sub24_Sub4_3493.method492(var2, 0, var3, (byte)14, (int[])null)) { + continue; + } + break; + } + + this.method464(var3, 7, var2); + var3.anInt2512 -= var2; + break; + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "te.R(" + var1 + ')'); + } + } + + final void method413(int[] var1, int var2, int var3) { + try { + this.aClass3_Sub24_Sub2_3495.method413(var1, var2, var3); + + for(Class3_Sub22 var6 = (Class3_Sub22)this.aClass61_3489.method1222(); var6 != null; var6 = (Class3_Sub22)this.aClass61_3489.method1221()) { + if(!this.aClass3_Sub24_Sub4_3493.method504(var6, 126)) { + int var5 = var3; + int var4 = var2; + + while(true) { + if(var5 > var6.anInt2512) { + this.method469(var1, var6, var4, var6.anInt2512, var5 + var4, (byte)4); + var5 -= var6.anInt2512; + var4 += var6.anInt2512; + if(!this.aClass3_Sub24_Sub4_3493.method492(var5, var4, var6, (byte)14, var1)) { + continue; + } + break; + } + + this.method469(var1, var6, var4, var5, var4 + var5, (byte)4); + var6.anInt2512 -= var5; + break; + } + } + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "te.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method469(int[] var1, Class3_Sub22 var2, int var3, int var4, int var5, byte var6) { + try { + if((4 & this.aClass3_Sub24_Sub4_3493.anIntArray3518[var2.anInt2514]) != 0 && -1 < ~var2.anInt2506) { + int var7 = this.aClass3_Sub24_Sub4_3493.anIntArray3509[var2.anInt2514] / Class21.anInt443; + + while(true) { + int var8 = (-var2.anInt2516 + 1048575 + var7) / var7; + if(var4 < var8) { + var2.anInt2516 += var4 * var7; + break; + } + + var4 -= var8; + var2.aClass3_Sub24_Sub1_2507.method413(var1, var3, var8); + int var9 = Class21.anInt443 / 100; + Class3_Sub24_Sub1 var11 = var2.aClass3_Sub24_Sub1_2507; + int var10 = 262144 / var7; + if(var10 < var9) { + var9 = var10; + } + + var2.anInt2516 += var7 * var8 + -1048576; + if(-1 != ~this.aClass3_Sub24_Sub4_3493.anIntArray3519[var2.anInt2514]) { + var2.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var2.aClass3_Sub12_Sub1_2509, var11.method438(), 0, var11.method451()); + this.aClass3_Sub24_Sub4_3493.method501(var2, var2.aClass3_Sub15_2527.aShortArray2434[var2.anInt2520] < 0, (byte)-88); + var2.aClass3_Sub24_Sub1_2507.method431(var9, var11.method425()); + } else { + var2.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var2.aClass3_Sub12_Sub1_2509, var11.method438(), var11.method425(), var11.method451()); + } + + if(var2.aClass3_Sub15_2527.aShortArray2434[var2.anInt2520] < 0) { + var2.aClass3_Sub24_Sub1_2507.method429(-1); + } + + var3 += var8; + var11.method417(var9); + var11.method413(var1, var3, var5 + -var3); + if(var11.method445()) { + this.aClass3_Sub24_Sub2_3495.method457(var11); + } + } + } + + if(var6 == 4) { + var2.aClass3_Sub24_Sub1_2507.method413(var1, var3, var4); + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "te.S(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + Class3_Sub24_Sub3(Class3_Sub24_Sub4 var1) { + try { + this.aClass3_Sub24_Sub4_3493 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "te.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub4.java new file mode 100644 index 000000000..503b88751 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub24_Sub4.java @@ -0,0 +1,1392 @@ +package org.runite.jagex; + +final class Class3_Sub24_Sub4 extends Class3_Sub24 { + + static RSString aClass94_3496 = RSString.createRSString("Spielwelt erstellt)3"); + private int[] anIntArray3497 = new int[16]; + private int[] anIntArray3498 = new int[16]; + private int[] anIntArray3499 = new int[16]; + private int[] anIntArray3500 = new int[16]; + private int[] anIntArray3501 = new int[16]; + private int[] anIntArray3502 = new int[16]; + static boolean[] aBooleanArray3503; + private int[] anIntArray3504 = new int[16]; + private Class78 aClass78_3505 = new Class78(); + private int[] anIntArray3506 = new int[16]; + static int anInt3507; + private Class130 aClass130_3508; + int[] anIntArray3509 = new int[16]; + private int[] anIntArray3510 = new int[16]; + private int anInt3511 = 1000000; + private Class3_Sub22[][] aClass3_Sub22ArrayArray3512 = new Class3_Sub22[16][128]; + private Class3_Sub22[][] aClass3_Sub22ArrayArray3513 = new Class3_Sub22[16][128]; + private int[] anIntArray3514 = new int[16]; + private int[] anIntArray3515 = new int[16]; + private int[] anIntArray3516 = new int[16]; + static int anInt3517; + int[] anIntArray3518 = new int[16]; + int[] anIntArray3519 = new int[16]; + private int[] anIntArray3520 = new int[16]; + private int anInt3521 = 256; + private boolean aBoolean3522; + private long aLong3523; + private int anInt3524; + private int anInt3525; + private long aLong3526; + private Class3_Sub24_Sub3 aClass3_Sub24_Sub3_3527 = new Class3_Sub24_Sub3(this); + private Class3_Sub27 aClass3_Sub27_3528; + private int anInt3529; + private boolean aBoolean3530; + + + final synchronized boolean method470(Class3_Sub27 var1, int var2, CacheIndex var3, Class83 var4, int var5) { + try { + var1.method516(); + boolean var6 = true; + int[] var7 = null; + if(var5 > 0) { + var7 = new int[]{var5}; + } + + int var8 = 7 / ((var2 - -20) / 50); + + for(Class3_Sub6 var9 = (Class3_Sub6)var1.aClass130_2564.method1776(20); var9 != null; var9 = (Class3_Sub6)var1.aClass130_2564.method1778(-107)) { + int var10 = (int)var9.aLong71; + Class3_Sub15 var11 = (Class3_Sub15)this.aClass130_3508.method1780((long)var10, 0); + if(null == var11) { + var11 = Class66.method1245(117, var3, var10); + if(null == var11) { + var6 = false; + continue; + } + + this.aClass130_3508.method1779(1, var11, (long)var10); + } + + if(!var11.method373(17904, var7, var4, var9.aByteArray2289)) { + var6 = false; + } + } + + if(var6) { + var1.method515(); + } + + return var6; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "va.DB(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ')'); + } + } + + final synchronized void method471(byte var1) { + try { + if(var1 == 53) { + for(Class3_Sub15 var2 = (Class3_Sub15)this.aClass130_3508.method1776(75); var2 != null; var2 = (Class3_Sub15)this.aClass130_3508.method1778(-117)) { + var2.method369((byte)-124); + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.AB(" + var1 + ')'); + } + } + + private final void method472(int var1, int var2, int var3) { + try { + int var4 = -63 % ((var3 - 4) / 59); + this.anIntArray3501[var2] = var1; + this.anIntArray3506[var2] = Class3_Sub28_Sub15.method633(var1, -128); + this.method484(0, var1, var2); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.SA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final synchronized boolean method473(int var1) { + try { + if(var1 >= -121) { + this.anIntArray3509 = (int[])null; + } + + return this.aClass78_3505.method1373(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.VA(" + var1 + ')'); + } + } + + static final void method474(int var0, int var1) { + try { + Canvas_Sub1.aClass93_21.method1522(-125, var1); + Class99.aClass93_1401.method1522(-126, var1); + if(var0 != 2) { + aBooleanArray3503 = (boolean[])null; + } + + Class3_Sub28_Sub7_Sub1.aClass93_4051.method1522(var0 ^ -127, var1); + Class154.aClass93_1965.method1522(-128, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.S(" + var0 + ',' + var1 + ')'); + } + } + + private final synchronized void method475(boolean var1, Class3_Sub27 var2, boolean var3, byte var4) { + try { + this.method507(var3, (byte)-68); + this.aClass78_3505.method1380(var2.aByteArray2565); + this.aBoolean3522 = var1; + this.aLong3526 = 0L; + int var5 = this.aClass78_3505.method1374(); + + for(int var6 = 0; var6 < var5; ++var6) { + this.aClass78_3505.method1376(var6); + this.aClass78_3505.method1377(var6); + this.aClass78_3505.method1381(var6); + } + + if(var4 != -52) { + this.anIntArray3509 = (int[])null; + } + + this.anInt3525 = this.aClass78_3505.method1382(); + this.anInt3524 = this.aClass78_3505.anIntArray1114[this.anInt3525]; + this.aLong3523 = this.aClass78_3505.method1370(this.anInt3524); + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "va.PA(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + private final void method476(int var1, int var2, int var3) { + try { + this.anIntArray3499[var1] = var2; + if(var3 != 0) { + this.method478(109, true, 108); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.P(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method477(int var0, boolean var1, int var2, RSInterface var3) { + try { + if(!var1) { + method487(98, (byte)74); + } + + if(-2 == ~var3.anInt318) { + ++Class3_Sub17.anInt2459; + Class54.method1177(-1, 0L, (byte)-78, Class3_Sub28_Sub14.aClass94_3672, 0, (short)8, var3.aClass94_289, var3.anInt279); + } + + RSString var4; + if(~var3.anInt318 == -3 && !GameObject.aBoolean1837) { + var4 = Class53.method1174(var3, (byte)-31); + if(null != var4) { + ++Class3_Sub13_Sub7.anInt3090; + Class54.method1177(-1, 0L, (byte)-120, RenderAnimationDefinition.method903(new RSString[]{Class19.aClass94_431, var3.aClass94_243}, (byte)-94), -1, (short)32, var4, var3.anInt279); + } + } + + if(~var3.anInt318 == -4) { + ++Class96.anInt1361; + Class54.method1177(-1, 0L, (byte)-59, Class3_Sub28_Sub14.aClass94_3672, 0, (short)28, Class3_Sub13_Sub7.aClass94_3097, var3.anInt279); + } + + if(-5 == ~var3.anInt318) { + ++Class15.anInt349; + Class54.method1177(-1, 0L, (byte)-71, Class3_Sub28_Sub14.aClass94_3672, 0, (short)59, var3.aClass94_289, var3.anInt279); + } + + if(~var3.anInt318 == -6) { + Class54.method1177(-1, 0L, (byte)-92, Class3_Sub28_Sub14.aClass94_3672, 0, (short)51, var3.aClass94_289, var3.anInt279); + ++Class118.anInt1623; + } + + if(-7 == ~var3.anInt318 && Class3_Sub13_Sub7.aClass11_3087 == null) { + Class54.method1177(-1, 0L, (byte)-100, Class3_Sub28_Sub14.aClass94_3672, -1, (short)41, var3.aClass94_289, var3.anInt279); + ++CS2Script.anInt2437; + } + + int var5; + int var15; + if(~var3.type == -3) { + var15 = 0; + + for(var5 = 0; ~var5 > ~var3.height; ++var5) { + for(int var6 = 0; var6 < var3.width; ++var6) { + int var7 = (32 - -var3.anInt285) * var6; + int var8 = (32 + var3.anInt290) * var5; + if(~var15 > -21) { + var8 += var3.anIntArray300[var15]; + var7 += var3.anIntArray272[var15]; + } + + if(~var2 <= ~var7 && ~var8 >= ~var0 && 32 + var7 > var2 && ~(var8 + 32) < ~var0) { + Class99.aClass11_1402 = var3; + Class140_Sub2.anInt2701 = var15; + if(-1 > ~var3.itemAmounts[var15]) { + Class3_Sub1 var9 = Client.method44(var3); + ItemDefinition var10 = Class38.getItemDefinition(var3.itemAmounts[var15] + -1, (byte)69); + if(1 == Class164_Sub1.anInt3012 && var9.method99(31595)) { + if(~Class3_Sub28_Sub18.anInt3764 != ~var3.anInt279 || ~Class110.anInt1473 != ~var15) { + ++Class15.anInt342; + Class54.method1177(-1, (long)var10.itemId, (byte)-91, RenderAnimationDefinition.method903(new RSString[]{RenderAnimationDefinition.aClass94_378, Class130.aClass94_1699, var10.name}, (byte)-59), var15, (short)40, Class3_Sub13_Sub32.aClass94_3388, var3.anInt279); + } + } else if(GameObject.aBoolean1837 && var9.method99(31595)) { + Class3_Sub28_Sub9 var18 = ~Class69.anInt1038 != 0?Class61.method1210(64, Class69.anInt1038):null; + if(0 != (16 & Class164.anInt2051) && (var18 == null || ~var10.method1115(var18.anInt3614, 103, Class69.anInt1038) != ~var18.anInt3614)) { + ++Class3_Sub28_Sub8.anInt3609; + Class54.method1177(Class144.anInt1887, (long)var10.itemId, (byte)-89, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class130.aClass94_1699, var10.name}, (byte)-122), var15, (short)3, Class3_Sub28_Sub9.aClass94_3621, var3.anInt279); + } + } else { + ++Class3_Sub23.anInt2540; + RSString[] var11 = var10.inventoryOptions; + if(Class123.aBoolean1656) { + var11 = Class3_Sub31.method822(19406, var11); + } + + int var12; + byte var13; + if(var9.method99(31595)) { + for(var12 = 4; ~var12 <= -4; --var12) { + if(null != var11 && null != var11[var12]) { + ++Class3_Sub28_Sub14.anInt3670; + if(-4 != ~var12) { + var13 = 58; + } else { + var13 = 35; + } + + Class54.method1177(-1, (long)var10.itemId, (byte)-65, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var10.name}, (byte)-66), var15, var13, var11[var12], var3.anInt279); + } + } + } + + if(var9.method96(-2063688673)) { + ++Class25.anInt494; + Class54.method1177(Class99.anInt1403, (long)var10.itemId, (byte)-96, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var10.name}, (byte)-66), var15, (short)22, Class3_Sub13_Sub32.aClass94_3388, var3.anInt279); + } + + if(var9.method99(31595) && var11 != null) { + for(var12 = 2; 0 <= var12; --var12) { + if(var11[var12] != null) { + ++Class81.anInt1141; + var13 = 0; + if(~var12 == -1) { + var13 = 47; + } + + if(var12 == 1) { + var13 = 5; + } + + if(2 == var12) { + var13 = 43; + } + + Class54.method1177(-1, (long)var10.itemId, (byte)-82, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var10.name}, (byte)-119), var15, var13, var11[var12], var3.anInt279); + } + } + } + + var11 = var3.options; + if(Class123.aBoolean1656) { + var11 = Class3_Sub31.method822(19406, var11); + } + + if(var11 != null) { + for(var12 = 4; var12 >= 0; --var12) { + if(null != var11[var12]) { + ++Class3_Sub13_Sub35.anInt3420; + var13 = 0; + if(0 == var12) { + var13 = 25; + } + + if(-2 == ~var12) { + var13 = 23; + } + + if(-3 == ~var12) { + var13 = 48; + } + + if(3 == var12) { + var13 = 7; + } + + if(var12 == 4) { + var13 = 13; + } + + Class54.method1177(-1, (long)var10.itemId, (byte)-51, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var10.name}, (byte)-77), var15, var13, var11[var12], var3.anInt279); + } + } + } + + Class54.method1177(Class131.anInt1719, (long)var10.itemId, (byte)-98, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var10.name}, (byte)-78), var15, (short)1006, Class86.aClass94_1180, var3.anInt279); + } + } + } + + ++var15; + } + } + } + + if(var3.usingScripts) { + if(GameObject.aBoolean1837) { + if(Client.method44(var3).method97(-20710) && ~(32 & Class164.anInt2051) != -1) { + ++Class29.anInt562; + Class54.method1177(Class144.anInt1887, 0L, (byte)-113, RenderAnimationDefinition.method903(new RSString[]{Class40.aClass94_676, Class3_Sub28_Sub16.aClass94_3703, var3.aClass94_277}, (byte)-90), var3.anInt191, (short)12, Class3_Sub28_Sub9.aClass94_3621, var3.anInt279); + } + } else { + for(var15 = 9; var15 >= 5; --var15) { + RSString var16 = Class120.method1732(var3, (byte)-71, var15); + if(null != var16) { + Class54.method1177(Class3_Sub13_Sub2.method173((byte)126, var15, var3), (long)(var15 + 1), (byte)-85, var3.aClass94_277, var3.anInt191, (short)1003, var16, var3.anInt279); + ++Class3_Sub13_Sub11.anInt3136; + } + } + + var4 = Class53.method1174(var3, (byte)-101); + if(var4 != null) { + ++Class3_Sub13_Sub7.anInt3090; + Class54.method1177(-1, 0L, (byte)-116, var3.aClass94_277, var3.anInt191, (short)32, var4, var3.anInt279); + } + + for(var5 = 4; -1 >= ~var5; --var5) { + RSString var17 = Class120.method1732(var3, (byte)-65, var5); + if(var17 != null) { + ++Class3_Sub13_Sub11.anInt3136; + Class54.method1177(Class3_Sub13_Sub2.method173((byte)53, var5, var3), (long)(var5 - -1), (byte)-48, var3.aClass94_277, var3.anInt191, (short)9, var17, var3.anInt279); + } + } + + if(Client.method44(var3).method95(-13081)) { + ++CS2Script.anInt2437; + Class54.method1177(-1, 0L, (byte)-74, Class3_Sub28_Sub14.aClass94_3672, var3.anInt191, (short)41, Class60.aClass94_935, var3.anInt279); + } + } + } + + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "va.JA(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final synchronized int method409() { + try { + return 0; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "va.D()"); + } + } + + private final void method478(int var1, boolean var2, int var3) { + try { + if(var2) { + this.aLong3526 = 101L; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.QA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final synchronized void method479(byte var1, int var2, int var3) { + try { + this.method472(var3, var2, 85); + if(var1 != 98) { + aBooleanArray3503 = (boolean[])null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.HA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method480(int var1, int var2) { + try { + if(0 <= var2) { + this.anIntArray3497[var2] = 12800; + this.anIntArray3498[var2] = 8192; + this.anIntArray3514[var2] = 16383; + this.anIntArray3499[var2] = 8192; + this.anIntArray3502[var2] = 0; + this.anIntArray3510[var2] = 8192; + this.method502(var2, var1 ^ -8388490); + this.method497(var2, -128); + this.anIntArray3518[var2] = 0; + if(var1 == 8388489) { + this.anIntArray3500[var2] = 32767; + this.anIntArray3504[var2] = 256; + this.anIntArray3519[var2] = 0; + this.method482((byte)-125, var2, 8192); + } + } else { + for(var2 = 0; var2 < 16; ++var2) { + this.method480(8388489, var2); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.V(" + var1 + ',' + var2 + ')'); + } + } + + private final void method481(byte var1, int var2) { + try { + int var3 = -86 % ((11 - var1) / 41); + + for(Class3_Sub22 var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1222(); null != var4; var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1221()) { + if(~var2 > -1 || var4.anInt2514 == var2) { + if(null != var4.aClass3_Sub24_Sub1_2507) { + var4.aClass3_Sub24_Sub1_2507.method417(Class21.anInt443 / 100); + if(var4.aClass3_Sub24_Sub1_2507.method445()) { + this.aClass3_Sub24_Sub3_3527.aClass3_Sub24_Sub2_3495.method457(var4.aClass3_Sub24_Sub1_2507); + } + + var4.method401(221); + } + + if(0 > var4.anInt2506) { + this.aClass3_Sub22ArrayArray3512[var4.anInt2514][var4.anInt2520] = null; + } + + var4.method86(-1024); + } + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.NA(" + var1 + ',' + var2 + ')'); + } + } + + private final void method482(byte var1, int var2, int var3) { + try { + this.anIntArray3520[var2] = var3; + this.anIntArray3509[var2] = (int)(0.5D + 2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var3)); + if(var1 > -53) { + this.method505((byte)114); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.EA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final synchronized void method483(int var1, int var2, int var3) { + try { + if(var1 < 0) { + for(int var4 = 0; 16 > var4; ++var4) { + this.anIntArray3516[var4] = var3; + } + } else { + this.anIntArray3516[var1] = var3; + } + + if(var2 > -14) { + this.anIntArray3514 = (int[])null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.O(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method484(int var1, int var2, int var3) { + try { + if(var1 == 0) { + if(this.anIntArray3515[var3] != var2) { + this.anIntArray3515[var3] = var2; + + for(int var4 = 0; ~var4 > -129; ++var4) { + this.aClass3_Sub22ArrayArray3513[var3][var4] = null; + } + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.FB(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final synchronized void method485(int var1) { + try { + for(Class3_Sub15 var2 = (Class3_Sub15)this.aClass130_3508.method1776(63); var2 != null; var2 = (Class3_Sub15)this.aClass130_3508.method1778(-106)) { + var2.method86(-1024); + } + + int var3 = 7 % ((var1 - 35) / 33); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.DA(" + var1 + ')'); + } + } + + private final void method486(int var1, int var2, int var3, int var4) { + try { + this.method493((byte)-123, var4, 64, var2); + if(~(2 & this.anIntArray3518[var2]) != -1) { + for(Class3_Sub22 var5 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1212(2); var5 != null; var5 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1219(98)) { + if(~var2 == ~var5.anInt2514 && ~var5.anInt2506 > -1) { + this.aClass3_Sub22ArrayArray3512[var2][var5.anInt2520] = null; + this.aClass3_Sub22ArrayArray3512[var2][var4] = var5; + int var6 = var5.anInt2510 - -(var5.anInt2502 * var5.anInt2522 >> 12); + var5.anInt2502 = 4096; + var5.anInt2510 += -var5.anInt2520 + var4 << 8; + var5.anInt2522 = -var5.anInt2510 + var6; + var5.anInt2520 = var4; + return; + } + } + } + + Class3_Sub15 var11 = (Class3_Sub15)this.aClass130_3508.method1780((long)this.anIntArray3515[var2], 0); + if(var11 != null) { + Class3_Sub12_Sub1 var12 = var11.aClass3_Sub12_Sub1Array2431[var4]; + if(var12 != null) { + Class3_Sub22 var7 = new Class3_Sub22(); + var7.aClass3_Sub12_Sub1_2509 = var12; + var7.aClass3_Sub15_2527 = var11; + var7.anInt2514 = var2; + var7.aClass166_2504 = var11.aClass166Array2435[var4]; + var7.anInt2517 = var11.aByteArray2425[var4]; + var7.anInt2520 = var4; + var7.anInt2513 = var11.aByteArray2430[var4] * var1 * var1 * var11.anInt2424 - -1024 >> 11; + var7.anInt2503 = var11.aByteArray2422[var4] & 255; + var7.anInt2510 = -(32767 & var11.aShortArray2434[var4]) + (var4 << 8); + var7.anInt2506 = -1; + var7.anInt2511 = 0; + int var8 = -43 / ((var3 - -41) / 61); + var7.anInt2519 = 0; + var7.anInt2523 = 0; + var7.anInt2501 = 0; + if(this.anIntArray3519[var2] == 0) { + var7.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var12, this.method498((byte)85, var7), this.method508((byte)36, var7), this.method496(0, var7)); + } else { + var7.aClass3_Sub24_Sub1_2507 = Class3_Sub24_Sub1.method432(var12, this.method498((byte)85, var7), 0, this.method496(0, var7)); + this.method501(var7, var11.aShortArray2434[var4] < 0, (byte)-114); + } + + if(0 > var11.aShortArray2434[var4]) { + var7.aClass3_Sub24_Sub1_2507.method429(-1); + } + + if(var7.anInt2517 >= 0) { + Class3_Sub22 var9 = this.aClass3_Sub22ArrayArray3513[var2][var7.anInt2517]; + if(null != var9 && var9.anInt2506 < 0) { + this.aClass3_Sub22ArrayArray3512[var2][var9.anInt2520] = null; + var9.anInt2506 = 0; + } + + this.aClass3_Sub22ArrayArray3513[var2][var7.anInt2517] = var7; + } + + this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1215(true, var7); + this.aClass3_Sub22ArrayArray3512[var2][var4] = var7; + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "va.U(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final boolean method487(int var0, byte var1) { + try { + if(var1 != -85) { + anInt3507 = 56; + } + + return 97 <= var0 && -123 <= ~var0 || -66 >= ~var0 && var0 <= 90; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.EB(" + var0 + ',' + var1 + ')'); + } + } + + private final void method488(byte var1, int var2) { + try { + int var3 = 240 & var2; + if(var1 == 56) { + int var4; + int var5; + int var6; + if(var3 == 128) { + var4 = 15 & var2; + var6 = (8353073 & var2) >> 1531488560; + var5 = (32634 & var2) >> 438178376; + this.method493((byte)-95, var5, var6, var4); + } else if(144 == var3) { + var5 = 127 & var2 >> -173494616; + var4 = var2 & 15; + var6 = 127 & var2 >> 269474800; + if(-1 > ~var6) { + this.method486(var6, var4, 71, var5); + } else { + this.method493((byte)-122, var5, 64, var4); + } + + } else if(160 == var3) { + var4 = var2 & 15; + var5 = 127 & var2 >> -1419555256; + var6 = 127 & var2 >> 1257903824; + this.method495(var6, var5, var1 ^ 17363, var4); + } else if(~var3 != -177) { + if(var3 == 192) { + var5 = var2 >> -1987010456 & 127; + var4 = 15 & var2; + this.method484(0, this.anIntArray3506[var4] - -var5, var4); + } else if(var3 == 208) { + var4 = 15 & var2; + var5 = (var2 & 32549) >> 42068712; + this.method478(var4, false, var5); + } else if(~var3 == -225) { + var4 = 15 & var2; + var5 = (var2 >> 2059852361 & 16256) + ((32702 & var2) >> 1459602440); + this.method476(var4, var5, 0); + } else { + var3 = var2 & 255; + if(255 == var3) { + this.method500(true, (byte)-40); + } + } + } else { + var5 = (32630 & var2) >> -966747416; + var4 = var2 & 15; + var6 = (8388489 & var2) >> -129860304; + if(~var5 == -1) { + this.anIntArray3506[var4] = (var6 << 613810062) + Class3_Sub28_Sub15.method633(-2080769, this.anIntArray3506[var4]); + } + + if(~var5 == -33) { + this.anIntArray3506[var4] = Class3_Sub28_Sub15.method633(-16257, this.anIntArray3506[var4]) + (var6 << 2038805095); + } + + if(-2 == ~var5) { + this.anIntArray3502[var4] = (var6 << -958045273) + Class3_Sub28_Sub15.method633(this.anIntArray3502[var4], -16257); + } + + if(33 == var5) { + this.anIntArray3502[var4] = Class3_Sub28_Sub15.method633(-128, this.anIntArray3502[var4]) - -var6; + } + + if(~var5 == -6) { + this.anIntArray3510[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3510[var4], -16257) + (var6 << -219076089); + } + + if(var5 == 37) { + this.anIntArray3510[var4] = var6 + Class3_Sub28_Sub15.method633(this.anIntArray3510[var4], -128); + } + + if(-8 == ~var5) { + this.anIntArray3497[var4] = (var6 << -512659513) + Class3_Sub28_Sub15.method633(this.anIntArray3497[var4], -16257); + } + + if(~var5 == -40) { + this.anIntArray3497[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3497[var4], -128) + var6; + } + + if(~var5 == -11) { + this.anIntArray3498[var4] = Class3_Sub28_Sub15.method633(-16257, this.anIntArray3498[var4]) - -(var6 << 1481099367); + } + + if(-43 == ~var5) { + this.anIntArray3498[var4] = var6 + Class3_Sub28_Sub15.method633(-128, this.anIntArray3498[var4]); + } + + if(var5 == 11) { + this.anIntArray3514[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3514[var4], -16257) + (var6 << 1316353479); + } + + if(-44 == ~var5) { + this.anIntArray3514[var4] = var6 + Class3_Sub28_Sub15.method633(-128, this.anIntArray3514[var4]); + } + + if(~var5 == -65) { + if(64 <= var6) { + this.anIntArray3518[var4] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3518[var4], 1); + } else { + this.anIntArray3518[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3518[var4], -2); + } + } + + if(var5 == 65) { + if(~var6 > -65) { + this.method502(var4, var1 ^ -57); + this.anIntArray3518[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3518[var4], -3); + } else { + this.anIntArray3518[var4] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3518[var4], 2); + } + } + + if(var5 == 99) { + this.anIntArray3500[var4] = (var6 << -789066041) + Class3_Sub28_Sub15.method633(this.anIntArray3500[var4], 127); + } + + if(var5 == 98) { + this.anIntArray3500[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3500[var4], 16256) - -var6; + } + + if(-102 == ~var5) { + this.anIntArray3500[var4] = (var6 << 783662759) + Class3_Sub28_Sub15.method633(127, this.anIntArray3500[var4]) + 16384; + } + + if(~var5 == -101) { + this.anIntArray3500[var4] = var6 + Class3_Sub28_Sub15.method633(16256, this.anIntArray3500[var4]) + 16384; + } + + if(~var5 == -121) { + this.method481((byte)-50, var4); + } + + if(var5 == 121) { + this.method480(8388489, var4); + } + + if(123 == var5) { + this.method489(-32323, var4); + } + + int var7; + if(6 == var5) { + var7 = this.anIntArray3500[var4]; + if(-16385 == ~var7) { + this.anIntArray3504[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3504[var4], -16257) + (var6 << -1848595929); + } + } + + if(~var5 == -39) { + var7 = this.anIntArray3500[var4]; + if(-16385 == ~var7) { + this.anIntArray3504[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3504[var4], -128) + var6; + } + } + + if(-17 == ~var5) { + this.anIntArray3519[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3519[var4], -16257) - -(var6 << 1767361671); + } + + if(~var5 == -49) { + this.anIntArray3519[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3519[var4], -128) - -var6; + } + + if(var5 == 81) { + if(~var6 <= -65) { + this.anIntArray3518[var4] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3518[var4], 4); + } else { + this.method497(var4, -102); + this.anIntArray3518[var4] = Class3_Sub28_Sub15.method633(this.anIntArray3518[var4], -5); + } + } + + if(-18 == ~var5) { + this.method482((byte)-117, var4, (var6 << -919548985) + (this.anIntArray3520[var4] & -16257)); + } + + if(var5 == 49) { + this.method482((byte)-61, var4, (this.anIntArray3520[var4] & -128) + var6); + } + + } + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "va.W(" + var1 + ',' + var2 + ')'); + } + } + + private final void method489(int var1, int var2) { + try { + for(Class3_Sub22 var3 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1222(); var3 != null; var3 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1221()) { + if((-1 < ~var2 || ~var2 == ~var3.anInt2514) && var3.anInt2506 < 0) { + this.aClass3_Sub22ArrayArray3512[var3.anInt2514][var3.anInt2520] = null; + var3.anInt2506 = 0; + } + } + + if(var1 != -32323) { + this.anInt3525 = -99; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.AA(" + var1 + ',' + var2 + ')'); + } + } + + final synchronized void method490(boolean var1, Class3_Sub27 var2, int var3) { + try { + this.method475(var1, var2, true, (byte)-52); + if(var3 != 17774) { + this.method413((int[])null, -32, -26); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.TA(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public static void method491(byte var0) { + try { + aBooleanArray3503 = null; + aClass94_3496 = null; + //int var1 = 21 / ((var0 - -51) / 62); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "va.C(" + var0 + ')'); + } + } + + final synchronized void method413(int[] var1, int var2, int var3) { + try { + if(this.aClass78_3505.method1373()) { + int var4 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.anInt443; + + while(true) { + long var5 = this.aLong3526 - -((long)var3 * (long)var4); + if(-1L < ~(this.aLong3523 + -var5)) { + int var7 = (int)((-1L + this.aLong3523 - this.aLong3526 + (long)var4) / (long)var4); + this.aLong3526 += (long)var4 * (long)var7; + this.aClass3_Sub24_Sub3_3527.method413(var1, var2, var7); + var3 -= var7; + var2 += var7; + this.method494(100); + if(this.aClass78_3505.method1373()) { + continue; + } + break; + } + + this.aLong3526 = var5; + break; + } + } + + this.aClass3_Sub24_Sub3_3527.method413(var1, var2, var3); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "va.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final boolean method492(int var1, int var2, Class3_Sub22 var3, byte var4, int[] var5) { + try { + var3.anInt2512 = Class21.anInt443 / 100; + if(var3.anInt2506 >= 0 && (var3.aClass3_Sub24_Sub1_2507 == null || var3.aClass3_Sub24_Sub1_2507.method444())) { + var3.method401(221); + var3.method86(-1024); + if(var3.anInt2517 > 0 && var3 == this.aClass3_Sub22ArrayArray3513[var3.anInt2514][var3.anInt2517]) { + this.aClass3_Sub22ArrayArray3513[var3.anInt2514][var3.anInt2517] = null; + } + + return true; + } else { + int var6 = var3.anInt2502; + if(var4 != 14) { + this.anIntArray3497 = (int[])null; + } + + if(var6 > 0) { + var6 -= (int)(0.5D + Math.pow(2.0D, (double)this.anIntArray3510[var3.anInt2514] * 4.921259842519685E-4D) * 16.0D); + if(-1 < ~var6) { + var6 = 0; + } + + var3.anInt2502 = var6; + } + + var3.aClass3_Sub24_Sub1_2507.method443(this.method498((byte)85, var3)); + Class166 var7 = var3.aClass166_2504; + var3.anInt2508 += var7.anInt2077; + ++var3.anInt2515; + double var9 = (double)((var3.anInt2520 - 60 << 1988745416) + (var3.anInt2502 * var3.anInt2522 >> -874059956)) * 5.086263020833333E-6D; + boolean var8 = false; + if(-1 > ~var7.anInt2078) { + if(-1 > ~var7.anInt2063) { + var3.anInt2523 += (int)(Math.pow(2.0D, var9 * (double)var7.anInt2063) * 128.0D + 0.5D); + } else { + var3.anInt2523 += 128; + } + + if(-819201 >= ~(var3.anInt2523 * var7.anInt2078)) { + var8 = true; + } + } + + if(var7.aByteArray2064 != null) { + if(var7.anInt2067 <= 0) { + var3.anInt2511 += 128; + } else { + var3.anInt2511 += (int)(0.5D + Math.pow(2.0D, (double)var7.anInt2067 * var9) * 128.0D); + } + + while(~var3.anInt2501 > ~(var7.aByteArray2064.length - 2) && var3.anInt2511 > ('\uff00' & var7.aByteArray2064[var3.anInt2501 - -2] << 1379060744)) { + var3.anInt2501 += 2; + } + + if(~(-2 + var7.aByteArray2064.length) == ~var3.anInt2501 && var7.aByteArray2064[1 + var3.anInt2501] == 0) { + var8 = true; + } + } + + if(-1 >= ~var3.anInt2506 && null != var7.aByteArray2076 && -1 == ~(1 & this.anIntArray3518[var3.anInt2514]) && (0 > var3.anInt2517 || this.aClass3_Sub22ArrayArray3513[var3.anInt2514][var3.anInt2517] != var3)) { + if(~var7.anInt2071 < -1) { + var3.anInt2506 += (int)(Math.pow(2.0D, (double)var7.anInt2071 * var9) * 128.0D + 0.5D); + } else { + var3.anInt2506 += 128; + } + + while(~(-2 + var7.aByteArray2076.length) < ~var3.anInt2519 && ~((255 & var7.aByteArray2076[2 + var3.anInt2519]) << -1574552024) > ~var3.anInt2506) { + var3.anInt2519 += 2; + } + + if(~var3.anInt2519 == ~(-2 + var7.aByteArray2076.length)) { + var8 = true; + } + } + + if(var8) { + var3.aClass3_Sub24_Sub1_2507.method417(var3.anInt2512); + if(null != var5) { + var3.aClass3_Sub24_Sub1_2507.method413(var5, var2, var1); + } else { + var3.aClass3_Sub24_Sub1_2507.method415(var1); + } + + if(var3.aClass3_Sub24_Sub1_2507.method445()) { + this.aClass3_Sub24_Sub3_3527.aClass3_Sub24_Sub2_3495.method457(var3.aClass3_Sub24_Sub1_2507); + } + + var3.method401(221); + if(var3.anInt2506 >= 0) { + var3.method86(var4 + -1038); + if(~var3.anInt2517 < -1 && this.aClass3_Sub22ArrayArray3513[var3.anInt2514][var3.anInt2517] == var3) { + this.aClass3_Sub22ArrayArray3513[var3.anInt2514][var3.anInt2517] = null; + } + } + + return true; + } else { + var3.aClass3_Sub24_Sub1_2507.method450(var3.anInt2512, this.method508((byte)36, var3), this.method496(0, var3)); + return false; + } + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "va.BA(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + final synchronized Class3_Sub24 method411() { + try { + return this.aClass3_Sub24_Sub3_3527; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "va.Q()"); + } + } + + private final void method493(byte var1, int var2, int var3, int var4) { + try { + Class3_Sub22 var5 = this.aClass3_Sub22ArrayArray3512[var4][var2]; + if(null != var5) { + if(var1 > -92) { + this.aClass3_Sub24_Sub3_3527 = (Class3_Sub24_Sub3)null; + } + + this.aClass3_Sub22ArrayArray3512[var4][var2] = null; + if((2 & this.anIntArray3518[var4]) != 0) { + for(Class3_Sub22 var6 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1222(); null != var6; var6 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1221()) { + if(~var6.anInt2514 == ~var5.anInt2514 && -1 < ~var6.anInt2506 && var6 != var5) { + var5.anInt2506 = 0; + break; + } + } + } else { + var5.anInt2506 = 0; + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "va.CB(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + private final void method494(int var1) { + try { + int var2 = this.anInt3525; + int var3 = this.anInt3524; + if(var1 <= 54) { + this.method505((byte)124); + } + + long var4 = this.aLong3523; + if(this.aClass3_Sub27_3528 != null && ~var3 == ~this.anInt3529) { + this.method475(this.aBoolean3522, this.aClass3_Sub27_3528, this.aBoolean3530, (byte)-52); + this.method494(71); + } else { + while(this.anInt3524 == var3) { + while(var3 == this.aClass78_3505.anIntArray1114[var2]) { + this.aClass78_3505.method1376(var2); + int var6 = this.aClass78_3505.method1375(var2); + if(1 == var6) { + this.aClass78_3505.method1384(); + this.aClass78_3505.method1381(var2); + if(this.aClass78_3505.method1371()) { + if(this.aClass3_Sub27_3528 != null) { + this.method490(this.aBoolean3522, this.aClass3_Sub27_3528, 17774); + this.method494(126); + return; + } + + if(!this.aBoolean3522 || var3 == 0) { + this.method500(true, (byte)-40); + this.aClass78_3505.method1383(); + return; + } + + this.aClass78_3505.method1372(var4); + } + break; + } + + if(~(var6 & 128) != -1) { + this.method488((byte)56, var6); + } + + this.aClass78_3505.method1377(var2); + this.aClass78_3505.method1381(var2); + } + + var2 = this.aClass78_3505.method1382(); + var3 = this.aClass78_3505.anIntArray1114[var2]; + var4 = this.aClass78_3505.method1370(var3); + } + + this.anInt3525 = var2; + this.aLong3523 = var4; + this.anInt3524 = var3; + if(this.aClass3_Sub27_3528 != null && var3 > this.anInt3529) { + this.anInt3525 = -1; + this.anInt3524 = this.anInt3529; + this.aLong3523 = this.aClass78_3505.method1370(this.anInt3524); + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "va.GB(" + var1 + ')'); + } + } + + private final void method495(int var1, int var2, int var3, int var4) { + try { + if(var3 != 17387) { + this.aClass3_Sub24_Sub3_3527 = (Class3_Sub24_Sub3)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "va.GA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + private final int method496(int var1, Class3_Sub22 var2) { + try { + int var3 = this.anIntArray3498[var2.anInt2514]; + if(var1 != 0) { + this.anIntArray3498 = (int[])null; + } + + return ~var3 > -8193?32 + var2.anInt2503 * var3 >> 746377926:16384 - ((128 + -var2.anInt2503) * (16384 + -var3) + 32 >> -1544786522); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.BB(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final synchronized void method415(int var1) { + try { + if(this.aClass78_3505.method1373()) { + int var2 = this.aClass78_3505.anInt1116 * this.anInt3511 / Class21.anInt443; + + while(true) { + long var3 = this.aLong3526 - -((long)var1 * (long)var2); + if(~(this.aLong3523 + -var3) > -1L) { + int var5 = (int)(((long)var2 + (-this.aLong3526 + this.aLong3523 - 1L)) / (long)var2); + var1 -= var5; + this.aLong3526 += (long)var5 * (long)var2; + this.aClass3_Sub24_Sub3_3527.method415(var5); + this.method494(64); + if(this.aClass78_3505.method1373()) { + continue; + } + break; + } + + this.aLong3526 = var3; + break; + } + } + + this.aClass3_Sub24_Sub3_3527.method415(var1); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "va.R(" + var1 + ')'); + } + } + + private final void method497(int var1, int var2) { + try { + int var3 = -75 % ((-44 - var2) / 45); + if(0 != (4 & this.anIntArray3518[var1])) { + for(Class3_Sub22 var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1222(); null != var4; var4 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1221()) { + if(~var4.anInt2514 == ~var1) { + var4.anInt2516 = 0; + } + } + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "va.A(" + var1 + ',' + var2 + ')'); + } + } + + private final int method498(byte var1, Class3_Sub22 var2) { + try { + Class166 var4 = var2.aClass166_2504; + int var3 = (var2.anInt2522 * var2.anInt2502 >> -1563888596) + var2.anInt2510; + var3 += this.anIntArray3504[var2.anInt2514] * (-8192 + this.anIntArray3499[var2.anInt2514]) >> 1103598476; + int var5; + if(~var4.anInt2077 < -1 && (-1 > ~var4.anInt2066 || -1 > ~this.anIntArray3502[var2.anInt2514])) { + var5 = var4.anInt2066 << 1313257762; + int var6 = var4.anInt2069 << 749639265; + if(~var6 < ~var2.anInt2515) { + var5 = var2.anInt2515 * var5 / var6; + } + + var5 += this.anIntArray3502[var2.anInt2514] >> 519373607; + double var7 = Math.sin(0.01227184630308513D * (double)(511 & var2.anInt2508)); + var3 += (int)((double)var5 * var7); + } + + var5 = (int)(0.5D + (double)(256 * var2.aClass3_Sub12_Sub1_2509.anInt3034) * Math.pow(2.0D, (double)var3 * 3.255208333333333E-4D) / (double)Class21.anInt443); + if(var1 != 85) { + this.method414(); + } + + return var5 >= 1?var5:1; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "va.OA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method499(boolean var1) { + try { + if(var1) { + this.method500(true, (byte)91); + } + + return this.anInt3521; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.IA(" + var1 + ')'); + } + } + + private final void method500(boolean var1, byte var2) { + try { + if(!var1) { + this.method489(var2 + -32283, -1); + } else { + this.method481((byte)91, -1); + } + + this.method480(8388489, -1); + if(var2 == -40) { + int var3; + for(var3 = 0; 16 > var3; ++var3) { + this.anIntArray3515[var3] = this.anIntArray3501[var3]; + } + + for(var3 = 0; var3 < 16; ++var3) { + this.anIntArray3506[var3] = Class3_Sub28_Sub15.method633(-128, this.anIntArray3501[var3]); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.F(" + var1 + ',' + var2 + ')'); + } + } + + final void method501(Class3_Sub22 var1, boolean var2, byte var3) { + try { + int var4 = var1.aClass3_Sub12_Sub1_2509.aByteArray3030.length; + int var5; + if(var2 && var1.aClass3_Sub12_Sub1_2509.aBoolean3031) { + int var6 = var4 + (var4 - var1.aClass3_Sub12_Sub1_2509.anInt3033); + var4 <<= 8; + var5 = (int)((long)var6 * (long)this.anIntArray3519[var1.anInt2514] >> -1659850106); + if(~var5 <= ~var4) { + var1.aClass3_Sub24_Sub1_2507.method442(true); + var5 = -1 + (var4 - -var4) + -var5; + } + } else { + var5 = (int)((long)var4 * (long)this.anIntArray3519[var1.anInt2514] >> -1115007738); + } + + var1.aClass3_Sub24_Sub1_2507.method434(var5); + if(var3 >= -70) { + this.aLong3523 = 47L; + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "va.CA(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method502(int var1, int var2) { + try { + if(var2 != ~(this.anIntArray3518[var1] & 2)) { + for(Class3_Sub22 var3 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1222(); var3 != null; var3 = (Class3_Sub22)this.aClass3_Sub24_Sub3_3527.aClass61_3489.method1221()) { + if(~var1 == ~var3.anInt2514 && this.aClass3_Sub22ArrayArray3512[var1][var3.anInt2520] == null && var3.anInt2506 < 0) { + var3.anInt2506 = 0; + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.T(" + var1 + ',' + var2 + ')'); + } + } + + static final void method503(byte var0, int var1) { + try { + Class8.anInt101 = var1; + if(var0 == -53) { + Class3_Sub28_Sub8.anInt3611 = 20; + Class3_Sub28_Sub16.anInt3704 = 3; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.FA(" + var0 + ',' + var1 + ')'); + } + } + + final boolean method504(Class3_Sub22 var1, int var2) { + try { + int var3 = -114 % ((76 - var2) / 45); + if(var1.aClass3_Sub24_Sub1_2507 != null) { + return false; + } else { + if(~var1.anInt2506 <= -1) { + var1.method86(-1024); + if(-1 > ~var1.anInt2517 && this.aClass3_Sub22ArrayArray3513[var1.anInt2514][var1.anInt2517] == var1) { + this.aClass3_Sub22ArrayArray3513[var1.anInt2514][var1.anInt2517] = null; + } + } + + return true; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.WA(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final synchronized void method505(byte var1) { + try { + this.method507(true, (byte)-68); + if(var1 > -125) { + this.anIntArray3520 = (int[])null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "va.RA(" + var1 + ')'); + } + } + + final synchronized void method506(int var1, int var2) { + try { + this.anInt3521 = var2; + if(var1 != 128) { + this.method480(-80, 93); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.LA(" + var1 + ',' + var2 + ')'); + } + } + + private final synchronized void method507(boolean var1, byte var2) { + try { + this.aClass78_3505.method1383(); + if(var2 == -68) { + this.aClass3_Sub27_3528 = null; + this.method500(var1, (byte)-40); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "va.MA(" + var1 + ',' + var2 + ')'); + } + } + + private final int method508(byte var1, Class3_Sub22 var2) { + try { + if(var1 != 36) { + this.anIntArray3501 = (int[])null; + } + + if(this.anIntArray3516[var2.anInt2514] == 0) { + return 0; + } else { + Class166 var3 = var2.aClass166_2504; + int var4 = 4096 + this.anIntArray3497[var2.anInt2514] * this.anIntArray3514[var2.anInt2514] >> 435146989; + var4 = 16384 + var4 * var4 >> 1690662127; + var4 = 16384 + var2.anInt2513 * var4 >> -1161334033; + var4 = 128 + var4 * this.anInt3521 >> -1571301048; + var4 = this.anIntArray3516[var2.anInt2514] * var4 + 128 >> 798756328; + if(0 < var3.anInt2078) { + var4 = (int)(0.5D + Math.pow(0.5D, (double)var2.anInt2523 * 1.953125E-5D * (double)var3.anInt2078) * (double)var4); + } + + int var5; + int var6; + int var7; + int var8; + if(null != var3.aByteArray2064) { + var5 = var2.anInt2511; + var6 = var3.aByteArray2064[1 + var2.anInt2501]; + if(var3.aByteArray2064.length - 2 > var2.anInt2501) { + var8 = (var3.aByteArray2064[2 + var2.anInt2501] & 255) << 292332552; + var7 = '\uff00' & var3.aByteArray2064[var2.anInt2501] << -166317176; + var6 += (var3.aByteArray2064[3 + var2.anInt2501] + -var6) * (var5 - var7) / (var8 + -var7); + } + + var4 = 32 + var6 * var4 >> 967764454; + } + + if(var2.anInt2506 > 0 && null != var3.aByteArray2076) { + var5 = var2.anInt2506; + var6 = var3.aByteArray2076[1 + var2.anInt2519]; + if(-2 + var3.aByteArray2076.length > var2.anInt2519) { + var7 = '\uff00' & var3.aByteArray2076[var2.anInt2519] << -191601976; + var8 = (var3.aByteArray2076[var2.anInt2519 + 2] & 255) << -371546200; + var6 += (var5 - var7) * (-var6 + var3.aByteArray2076[3 + var2.anInt2519]) / (-var7 + var8); + } + + var4 = 32 + var4 * var6 >> -2036202458; + } + + return var4; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "va.UA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final synchronized Class3_Sub24 method414() { + try { + return null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "va.B()"); + } + } + + public Class3_Sub24_Sub4() { + try { + this.aClass130_3508 = new Class130(128); + this.method483(-1, -48, 256); + this.method500(true, (byte)-40); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "va.()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub25.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub25.java new file mode 100644 index 000000000..00d7e8012 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub25.java @@ -0,0 +1,44 @@ +package org.runite.jagex; + +final class Class3_Sub25 extends Class3 { + + int[] anIntArray2547 = new int[]{-1}; + static short[] aShortArray2548; + static int anInt2549; + static int[] anIntArray2550 = new int[50]; + int[] anIntArray2551 = new int[]{0}; + static Class129 aClass129_2552; + + + static final void method509(int var0, int var1) { + try { + --Class3_Sub13_Sub34.anInt3415; + if(Class3_Sub13_Sub34.anInt3415 != var1) { + Class76.method1362(Class140_Sub7.aClass94Array2935, var1 + 1, Class140_Sub7.aClass94Array2935, var1, -var1 + Class3_Sub13_Sub34.anInt3415); + Class76.method1362(Class163_Sub2_Sub1.aClass94Array4016, 1 + var1, Class163_Sub2_Sub1.aClass94Array4016, var1, Class3_Sub13_Sub34.anInt3415 - var1); + Class76.method1358(Class114.anIntArray1578, 1 + var1, Class114.anIntArray1578, var1, -var1 + Class3_Sub13_Sub34.anInt3415); + Class76.method1361(Class3_Sub13_Sub7.aShortArray3095, 1 + var1, Class3_Sub13_Sub7.aShortArray3095, var1, Class3_Sub13_Sub34.anInt3415 + -var1); + Class76.method1356(Class3_Sub13_Sub22.aLongArray3271, 1 + var1, Class3_Sub13_Sub22.aLongArray3271, var1, -var1 + Class3_Sub13_Sub34.anInt3415); + Class76.method1358(Class117.anIntArray1613, var1 + var0, Class117.anIntArray1613, var1, -var1 + Class3_Sub13_Sub34.anInt3415); + Class76.method1358(Class27.anIntArray512, 1 + var1, Class27.anIntArray512, var1, Class3_Sub13_Sub34.anInt3415 + -var1); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qe.A(" + var0 + ',' + var1 + ')'); + } + } + + public static void method510(int var0) { + try { + if(var0 > -73) { + method510(-59); + } + + aClass129_2552 = null; + aShortArray2548 = null; + anIntArray2550 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qe.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub26.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub26.java new file mode 100644 index 000000000..5791d5cff --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub26.java @@ -0,0 +1,101 @@ +package org.runite.jagex; + +final class Class3_Sub26 extends Class3 { + + int anInt2553; + static int anInt2554 = 0; + int anInt2555; + static int anInt2556 = 0; + static Class61 aClass61_2557 = new Class61(); + static boolean aBoolean2558 = false; + static int[] anIntArray2559 = new int[]{0, 1, 2, 3, 4, 5, 6, 14}; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_2560; + static int anInt2561 = -1; + static RSString CONTEXT_MENU_COLOR = RSString.createRSString(""); + static Class3_Sub24_Sub2 aClass3_Sub24_Sub2_2563; + + + public static void method511(byte var0) { + try { + int var1 = -59 / ((var0 - 67) / 36); + aClass3_Sub28_Sub16_2560 = null; + anIntArray2559 = null; + CONTEXT_MENU_COLOR = null; + aClass61_2557 = null; + aClass3_Sub24_Sub2_2563 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qi.A(" + var0 + ')'); + } + } + + static final void method512(byte var0) { + try { + Class3_Sub28_Sub7_Sub1.aClass93_4043.method1524(3); + CS2Script.aClass93_2442.method1524(3); + Class154.aClass93_1964.method1524(3); + if(var0 != -108) { + aClass3_Sub24_Sub2_2563 = (Class3_Sub24_Sub2)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qi.D(" + var0 + ')'); + } + } + + static final int method513(int var0, int var1) { + try { + int var2 = 0; + if(~var0 > -1 || ~var0 <= -65537) { + var2 += 16; + var0 >>>= 16; + } + + if(var0 >= 256) { + var2 += 8; + var0 >>>= 8; + } + + if(var0 >= 16) { + var2 += 4; + var0 >>>= 4; + } + + if(var1 <= var0) { + var0 >>>= 2; + var2 += 2; + } + + if(-2 >= ~var0) { + var0 >>>= 1; + ++var2; + } + + return var0 + var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qi.B(" + var0 + ',' + var1 + ')'); + } + } + + Class3_Sub26(int var1, int var2) { + try { + this.anInt2555 = var2; + this.anInt2553 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qi.(" + var1 + ',' + var2 + ')'); + } + } + + static final int method514(int var0, int var1, byte var2, int var3) { + try { + var0 &= 3; + if(var2 >= -66) { + method513(-92, 76); + } + + return ~var0 == -1?var1:(1 == var0?var3:(2 != var0?-var3 + 1023:1023 + -var1)); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "qi.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub27.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub27.java new file mode 100644 index 000000000..30bfc496d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub27.java @@ -0,0 +1,411 @@ +package org.runite.jagex; + +final class Class3_Sub27 extends Class3 { + + Class130 aClass130_2564; + byte[] aByteArray2565; + + + final void method515() { + this.aClass130_2564 = null; + } + + final void method516() { + if(this.aClass130_2564 == null) { + this.aClass130_2564 = new Class130(16); + int[] var1 = new int[16]; + int[] var2 = new int[16]; + var1[9] = var2[9] = 128; + Class78 var3 = new Class78(this.aByteArray2565); + int var4 = var3.method1374(); + + int var5; + for(var5 = 0; var5 < var4; ++var5) { + var3.method1376(var5); + var3.method1377(var5); + var3.method1381(var5); + } + + while(true) { + var5 = var3.method1382(); + int var6 = var3.anIntArray1114[var5]; + + while(var3.anIntArray1114[var5] == var6) { + var3.method1376(var5); + int var7 = var3.method1375(var5); + if(var7 == 1) { + var3.method1384(); + var3.method1381(var5); + if(var3.method1371()) { + return; + } + break; + } + + int var8 = var7 & 240; + int var9; + int var10; + int var11; + if(var8 == 176) { + var9 = var7 & 15; + var10 = var7 >> 8 & 127; + var11 = var7 >> 16 & 127; + if(var10 == 0) { + var1[var9] = (var1[var9] & -2080769) + (var11 << 14); + } + + if(var10 == 32) { + var1[var9] = (var1[var9] & -16257) + (var11 << 7); + } + } + + if(var8 == 192) { + var9 = var7 & 15; + var10 = var7 >> 8 & 127; + var2[var9] = var1[var9] + var10; + } + + if(var8 == 144) { + var9 = var7 & 15; + var10 = var7 >> 8 & 127; + var11 = var7 >> 16 & 127; + if(var11 > 0) { + int var12 = var2[var9]; + Class3_Sub6 var13 = (Class3_Sub6)this.aClass130_2564.method1780((long)var12, 0); + if(var13 == null) { + var13 = new Class3_Sub6(new byte[128]); + this.aClass130_2564.method1779(1, var13, (long)var12); + } + + var13.aByteArray2289[var10] = 1; + } + } + + var3.method1377(var5); + var3.method1381(var5); + } + } + } + } + + static final Class3_Sub27 method517(CacheIndex var0, int var1, int var2) { + byte[] var3 = var0.getFile(var1, (byte)-122, var2); + return var3 == null?null:new Class3_Sub27(new RSByteBuffer(var3)); + } + + private Class3_Sub27(RSByteBuffer var1) { + var1.index = var1.buffer.length - 3; + int var2 = var1.getByte((byte)-34); + int var3 = var1.getShort(1); + int var4 = 14 + var2 * 10; + var1.index = 0; + int var5 = 0; + int var6 = 0; + int var7 = 0; + int var8 = 0; + int var9 = 0; + int var10 = 0; + int var11 = 0; + int var12 = 0; + int var13 = 0; + + int var14; + int var15; + while(var13 < var2) { + var14 = -1; + + while(true) { + var15 = var1.getByte((byte)-118); + if(var15 != var14) { + ++var4; + } + + var14 = var15 & 15; + if(var15 == 7) { + ++var13; + break; + } + + if(var15 == 23) { + ++var5; + } else if(var14 == 0) { + ++var7; + } else if(var14 == 1) { + ++var8; + } else if(var14 == 2) { + ++var6; + } else if(var14 == 3) { + ++var9; + } else if(var14 == 4) { + ++var10; + } else if(var14 == 5) { + ++var11; + } else { + if(var14 != 6) { + throw new RuntimeException(); + } + + ++var12; + } + } + } + + var4 += 5 * var5; + var4 += 2 * (var7 + var8 + var6 + var9 + var11); + var4 += var10 + var12; + var13 = var1.index; + var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12; + + for(var15 = 0; var15 < var14; ++var15) { + var1.method741((byte)127); + } + + var4 += var1.index - var13; + var15 = var1.index; + int var16 = 0; + int var17 = 0; + int var18 = 0; + int var19 = 0; + int var20 = 0; + int var21 = 0; + int var22 = 0; + int var23 = 0; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; + + int var29; + for(var29 = 0; var29 < var6; ++var29) { + var28 = var28 + var1.getByte((byte)-80) & 127; + if(var28 != 0 && var28 != 32) { + if(var28 == 1) { + ++var16; + } else if(var28 == 33) { + ++var17; + } else if(var28 == 7) { + ++var18; + } else if(var28 == 39) { + ++var19; + } else if(var28 == 10) { + ++var20; + } else if(var28 == 42) { + ++var21; + } else if(var28 == 99) { + ++var22; + } else if(var28 == 98) { + ++var23; + } else if(var28 == 101) { + ++var24; + } else if(var28 == 100) { + ++var25; + } else if(var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { + ++var27; + } else { + ++var26; + } + } else { + ++var12; + } + } + + var29 = 0; + int var30 = var1.index; + var1.index += var26; + int var31 = var1.index; + var1.index += var11; + int var32 = var1.index; + var1.index += var10; + int var33 = var1.index; + var1.index += var9; + int var34 = var1.index; + var1.index += var16; + int var35 = var1.index; + var1.index += var18; + int var36 = var1.index; + var1.index += var20; + int var37 = var1.index; + var1.index += var7 + var8 + var11; + int var38 = var1.index; + var1.index += var7; + int var39 = var1.index; + var1.index += var27; + int var40 = var1.index; + var1.index += var8; + int var41 = var1.index; + var1.index += var17; + int var42 = var1.index; + var1.index += var19; + int var43 = var1.index; + var1.index += var21; + int var44 = var1.index; + var1.index += var12; + int var45 = var1.index; + var1.index += var9; + int var46 = var1.index; + var1.index += var22; + int var47 = var1.index; + var1.index += var23; + int var48 = var1.index; + var1.index += var24; + int var49 = var1.index; + var1.index += var25; + int var50 = var1.index; + var1.index += var5 * 3; + this.aByteArray2565 = new byte[var4]; + RSByteBuffer var51 = new RSByteBuffer(this.aByteArray2565); + var51.putInt(-121, 1297377380); + var51.putInt(-128, 6); + var51.putShort(var2 > 1?1:0); + var51.putShort(var2); + var51.putShort(var3); + var1.index = var13; + int var52 = 0; + int var53 = 0; + int var54 = 0; + int var55 = 0; + int var56 = 0; + int var57 = 0; + int var58 = 0; + int[] var59 = new int[128]; + var28 = 0; + int var60 = 0; + + while(var60 < var2) { + var51.putInt(-125, 1297379947); + var51.index += 4; + int var61 = var51.index; + int var62 = -1; + + while(true) { + int var63 = var1.method741((byte)113); + var51.method771(17038, var63); + int var64 = var1.buffer[var29++] & 255; + boolean var65 = var64 != var62; + var62 = var64 & 15; + if(var64 == 7) { + if(var65) { + var51.putByte((byte)-121, 255); + } + + var51.putByte((byte)-45, 47); + var51.putByte((byte)-72, 0); + var51.method742(83, var51.index - var61); + ++var60; + break; + } + + if(var64 == 23) { + if(var65) { + var51.putByte((byte)-49, 255); + } + + var51.putByte((byte)-54, 81); + var51.putByte((byte)-16, 3); + var51.putByte((byte)-126, var1.buffer[var50++]); + var51.putByte((byte)-99, var1.buffer[var50++]); + var51.putByte((byte)-76, var1.buffer[var50++]); + } else { + var52 ^= var64 >> 4; + if(var62 == 0) { + if(var65) { + var51.putByte((byte)-60, 144 + var52); + } + + var53 += var1.buffer[var37++]; + var54 += var1.buffer[var38++]; + var51.putByte((byte)-98, var53 & 127); + var51.putByte((byte)-112, var54 & 127); + } else if(var62 == 1) { + if(var65) { + var51.putByte((byte)-55, 128 + var52); + } + + var53 += var1.buffer[var37++]; + var55 += var1.buffer[var40++]; + var51.putByte((byte)-76, var53 & 127); + var51.putByte((byte)-57, var55 & 127); + } else if(var62 == 2) { + if(var65) { + var51.putByte((byte)-81, 176 + var52); + } + + var28 = var28 + var1.buffer[var15++] & 127; + var51.putByte((byte)-17, var28); + byte var66; + if(var28 != 0 && var28 != 32) { + if(var28 == 1) { + var66 = var1.buffer[var34++]; + } else if(var28 == 33) { + var66 = var1.buffer[var41++]; + } else if(var28 == 7) { + var66 = var1.buffer[var35++]; + } else if(var28 == 39) { + var66 = var1.buffer[var42++]; + } else if(var28 == 10) { + var66 = var1.buffer[var36++]; + } else if(var28 == 42) { + var66 = var1.buffer[var43++]; + } else if(var28 == 99) { + var66 = var1.buffer[var46++]; + } else if(var28 == 98) { + var66 = var1.buffer[var47++]; + } else if(var28 == 101) { + var66 = var1.buffer[var48++]; + } else if(var28 == 100) { + var66 = var1.buffer[var49++]; + } else if(var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { + var66 = var1.buffer[var39++]; + } else { + var66 = var1.buffer[var30++]; + } + } else { + var66 = var1.buffer[var44++]; + } + + int var67 = var66 + var59[var28]; + var59[var28] = var67; + var51.putByte((byte)-13, var67 & 127); + } else if(var62 == 3) { + if(var65) { + var51.putByte((byte)-59, 224 + var52); + } + + var56 += var1.buffer[var45++]; + var56 += var1.buffer[var33++] << 7; + var51.putByte((byte)-48, var56 & 127); + var51.putByte((byte)-33, var56 >> 7 & 127); + } else if(var62 == 4) { + if(var65) { + var51.putByte((byte)-33, 208 + var52); + } + + var57 += var1.buffer[var32++]; + var51.putByte((byte)-35, var57 & 127); + } else if(var62 == 5) { + if(var65) { + var51.putByte((byte)-24, 160 + var52); + } + + var53 += var1.buffer[var37++]; + var58 += var1.buffer[var31++]; + var51.putByte((byte)-106, var53 & 127); + var51.putByte((byte)-83, var58 & 127); + } else { + if(var62 != 6) { + throw new RuntimeException(); + } + + if(var65) { + var51.putByte((byte)-45, 192 + var52); + } + + var51.putByte((byte)-89, var1.buffer[var44++]); + } + } + } + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub1.java new file mode 100644 index 000000000..86818ee3b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub1.java @@ -0,0 +1,254 @@ +package org.runite.jagex; +import java.awt.Color; +import java.awt.Font; +import java.awt.Graphics; +import java.awt.image.ImageObserver; + +final class Class3_Sub28_Sub1 extends Node { + + static boolean aBoolean3531 = false; + static Class3_Sub20 aClass3_Sub20_3532 = new Class3_Sub20(0, 0); + int[] anIntArray3533; + int[] anIntArray3534; + int[] anIntArray3535; + static int anInt3536; + static int anInt3537; + RSString quickChatMenu; + static int anInt3539; + int[] anIntArray3540; + + + final void method525(int var1) { + try { + int var2; + if(null != this.anIntArray3540) { + for(var2 = 0; ~this.anIntArray3540.length < ~var2; ++var2) { + this.anIntArray3540[var2] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3540[var2], '\u8000'); + } + } + + if(null != this.anIntArray3534) { + for(var2 = 0; this.anIntArray3534.length > var2; ++var2) { + this.anIntArray3534[var2] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3534[var2], '\u8000'); + } + } + + var2 = 46 / ((var1 - -27) / 38); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bc.O(" + var1 + ')'); + } + } + + final int method526(int var1, int var2) { + try { + if(this.anIntArray3540 != null) { + for(int var3 = var2; ~var3 > ~this.anIntArray3540.length; ++var3) { + if(var1 == this.anIntArray3533[var3]) { + return this.anIntArray3540[var3]; + } + } + + return -1; + } else { + return -1; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bc.Q(" + var1 + ',' + var2 + ')'); + } + } + + private final void method527(RSByteBuffer var1, int var2, int var3) { + try { + if(var2 != 0) { + this.method526(-91, -3); + } + + if(var3 == 1) { + this.quickChatMenu = var1.getString(); + } else { + int var4; + int var5; + if(var3 != 2) { + if(var3 == 3) { + var4 = var1.getByte((byte)-114); + this.anIntArray3540 = new int[var4]; + this.anIntArray3533 = new int[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + this.anIntArray3540[var5] = var1.getShort(var2 + 1); + this.anIntArray3533[var5] = Class3_Sub13_Sub33.method322(true, var1.getByte()); + } + } else if(-5 == ~var3) { + ; + } + } else { + var4 = var1.getByte((byte)-38); + this.anIntArray3534 = new int[var4]; + this.anIntArray3535 = new int[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + this.anIntArray3534[var5] = var1.getShort(1); + this.anIntArray3535[var5] = Class3_Sub13_Sub33.method322(true, var1.getByte()); + } + } + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "bc.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method528(int var0) { + try { + aClass3_Sub20_3532 = null; + if(var0 != -1667) { + anInt3539 = 101; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bc.B(" + var0 + ')'); + } + } + + final int method529(byte var1, int var2) { + try { + int var3 = 45 / ((var1 - -30) / 49); + if(null == this.anIntArray3534) { + return -1; + } else { + for(int var4 = 0; this.anIntArray3534.length > var4; ++var4) { + if(~this.anIntArray3535[var4] == ~var2) { + return this.anIntArray3534[var4]; + } + } + + return -1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bc.P(" + var1 + ',' + var2 + ')'); + } + } + + final void method530(RSByteBuffer var1, byte var2) { + try { + if(var2 <= 104) { + this.anIntArray3534 = (int[])null; + } + + while(true) { + int var3 = var1.getByte((byte)-62); + if(~var3 == -1) { + return; + } + + this.method527(var1, 0, var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bc.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final RSString method531(byte var0) { + try { + RSString var1; + if(-2 == ~Class164_Sub1.anInt3012 && -3 < ~Class3_Sub13_Sub34.anInt3415) { + var1 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub32.aClass94_3388, InputStream_Sub1.aClass94_43, RenderAnimationDefinition.aClass94_378, Class131.aClass94_1724}, (byte)-105); + } else if(GameObject.aBoolean1837 && 2 > Class3_Sub13_Sub34.anInt3415) { + var1 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub28_Sub9.aClass94_3621, InputStream_Sub1.aClass94_43, Class40.aClass94_676, Class131.aClass94_1724}, (byte)-95); + } else if(Class101.aBoolean1419 && ObjectDefinition.aBooleanArray1490[81] && Class3_Sub13_Sub34.anInt3415 > 2) { + var1 = RSByteBuffer.method802(Class3_Sub13_Sub34.anInt3415 + -2, true); + } else { + var1 = RSByteBuffer.method802(Class3_Sub13_Sub34.anInt3415 - 1, true); + } + + if(Class3_Sub13_Sub34.anInt3415 > 2) { + var1 = RenderAnimationDefinition.method903(new RSString[]{var1, Class1.aClass94_58, Class72.method1298((byte)9, Class3_Sub13_Sub34.anInt3415 - 2), Class3_Sub13_Sub36.aClass94_3426}, (byte)-62); + } + + int var2 = -97 % ((var0 - 55) / 32); + return var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bc.F(" + var0 + ')'); + } + } + + static final void method532(int var0, int var1) { + try { + if(var1 == -28236) { + Class3_Sub25 var2 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var0, 0); + if(null != var2) { + var2.method86(-1024); + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bc.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void updateLoadingBar(Color var0, boolean var1, boolean var2, RSString var3, int var4) { + try { + try { + Graphics var5 = Class3_Sub28_Sub12.aCanvas3648.getGraphics(); + if(Class3_Sub13_Sub32.aFont3384 == null) { + Class3_Sub13_Sub32.aFont3384 = new Font("Helvetica", 1, 13); + Class139.aFontMetrics1822 = Class3_Sub28_Sub12.aCanvas3648.getFontMetrics(Class3_Sub13_Sub32.aFont3384); + } + + if(var2) { + var5.setColor(Color.black); + var5.fillRect(0, 0, Class23.anInt454, Class140_Sub7.anInt2934); + } + + if(null == var0) { + var0 = new Color(140, 17, 17); + } + + if(var1) { + return; + } + + try { + if(null == Class129_Sub1.anImage2695) { + Class129_Sub1.anImage2695 = Class3_Sub28_Sub12.aCanvas3648.createImage(304, 34); + } + + Graphics var6 = Class129_Sub1.anImage2695.getGraphics(); + var6.setColor(var0); + var6.drawRect(0, 0, 303, 33); + var6.fillRect(2, 2, var4 * 3, 30); + var6.setColor(Color.black); + var6.drawRect(1, 1, 301, 31); + var6.fillRect(3 * var4 + 2, 2, -(3 * var4) + 300, 30); + var6.setFont(Class3_Sub13_Sub32.aFont3384); + var6.setColor(Color.white); + var3.drawString((-var3.method1575(-21018, Class139.aFontMetrics1822) + 304) / 2, 22, var6, (byte)-90); + var5.drawImage(Class129_Sub1.anImage2695, Class23.anInt454 / 2 - 152, -18 + Class140_Sub7.anInt2934 / 2, (ImageObserver)null); + } catch (Exception var9) { + int var7 = -152 + Class23.anInt454 / 2; + int var8 = -18 + Class140_Sub7.anInt2934 / 2; + var5.setColor(var0); + var5.drawRect(var7, var8, 303, 33); + var5.fillRect(var7 + 2, 2 + var8, 3 * var4, 30); + var5.setColor(Color.black); + var5.drawRect(1 + var7, var8 - -1, 301, 31); + var5.fillRect(3 * var4 + (var7 - -2), 2 + var8, 300 - var4 * 3, 30); + var5.setFont(Class3_Sub13_Sub32.aFont3384); + var5.setColor(Color.white); + var3.drawString(var7 + (-var3.method1575(-21018, Class139.aFontMetrics1822) + 304) / 2, 22 + var8, var5, (byte)-125); + } + + if(Class167.aClass94_2083 != null) { + var5.setFont(Class3_Sub13_Sub32.aFont3384); + var5.setColor(Color.white); + Class167.aClass94_2083.drawString(Class23.anInt454 / 2 - Class167.aClass94_2083.method1575(-21018, Class139.aFontMetrics1822) / 2, Class140_Sub7.anInt2934 / 2 - 26, var5, (byte)-116); + } + } catch (Exception var10) { + Class3_Sub28_Sub12.aCanvas3648.repaint(); + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "bc.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10.java new file mode 100644 index 000000000..6a08c7018 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10.java @@ -0,0 +1,64 @@ +package org.runite.jagex; + +abstract class Class3_Sub28_Sub10 extends Node { + + static int anInt3625 = 3; + private static RSString aClass94_3626 = RSString.createRSString("Created gameworld"); + static int anInt3627; + boolean aBoolean3628; + static RSString aClass94_3629 = aClass94_3626; + static int anInt3630; + static int anInt3631; + volatile boolean aBoolean3632 = true; + static RSString aClass94_3633 = RSString.createRSString("Textures charg-Bes"); + static RSString aClass94_3634 = RSString.createRSString("Liste des serveurs charg-Be"); + boolean aBoolean3635; + + + abstract int method586(boolean var1); + + abstract byte[] method587(boolean var1); + + public static void method588(byte var0) { + try { + aClass94_3626 = null; + aClass94_3634 = null; + if(var0 != 120) { + aClass94_3633 = (RSString)null; + } + + aClass94_3633 = null; + aClass94_3629 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "il.C(" + var0 + ')'); + } + } + + static final void method589(int var0, int var1, int var2) { + Class3_Sub13_Sub21.aBoolean3261 = true; + Class91.anInt1302 = var0; + Class49.anInt819 = var1; + Class3_Sub13_Sub23_Sub1.anInt4039 = var2; + Class27.anInt515 = -1; + Class66.anInt999 = -1; + } + + static final boolean method590(byte var0, int var1, int var2) { + try { + if(11 == var2) { + var2 = 10; + } + + int var3 = -59 % ((var0 - 26) / 55); + if(-6 >= ~var2 && var2 <= 8) { + var2 = 4; + } + + ObjectDefinition var4 = Class162.getObjectDefinition(4, var1); + return var4.method1684(115, var2); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "il.D(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub1.java new file mode 100644 index 000000000..19be8811b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub1.java @@ -0,0 +1,130 @@ +package org.runite.jagex; +import java.awt.Frame; + +final class Class3_Sub28_Sub10_Sub1 extends Class3_Sub28_Sub10 { + + static int anInt4054; + private static RSString aClass94_4055 = RSString.createRSString(" has logged in)3"); + Class41 aClass41_4056; + static RSString aClass94_4057 = RSString.createRSString("Mem:"); + static RSString aClass94_4058 = aClass94_4055; + byte[] aByteArray4059; + static Class25[] aClass25Array4060; + int anInt4061; + static int anInt4062 = 0; + static boolean aBoolean4063 = false; + + + final byte[] method587(boolean var1) { + try { + if(var1) { + aBoolean4063 = true; + } + + if(!this.aBoolean3632) { + return this.aByteArray4059; + } else { + throw new RuntimeException(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "c.E(" + var1 + ')'); + } + } + + static final boolean method591(int var0) { + try { + Class148 var1 = Class3_Sub13_Sub3.aClass148_3049; + synchronized(var1) { + if(~Class134.anInt1762 != ~Class3_Sub28_Sub9.anInt3620) { + Class3_Sub28_Sub9.anInt3624 = Class129.anIntArray1693[Class3_Sub28_Sub9.anInt3620]; + Class3_Sub13_Sub27.anInt3342 = Class155.anIntArray1978[Class3_Sub28_Sub9.anInt3620]; + Class3_Sub28_Sub9.anInt3620 = 1 + Class3_Sub28_Sub9.anInt3620 & 127; + if(var0 < 58) { + method591(68); + } + + return true; + } else { + return false; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "c.F(" + var0 + ')'); + } + } + + public static void method592(byte var0) { + try { + aClass25Array4060 = null; + aClass94_4057 = null; + if(var0 > 33) { + aClass94_4058 = null; + aClass94_4055 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "c.P(" + var0 + ')'); + } + } + + static final void method593(Frame var0, boolean var1, Signlink var2) { + try { + if(!var1) { + method594(110, 94); + } + + while(true) { + Class64 var3 = var2.method1436(var0, 86); + + while(-1 == ~var3.anInt978) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + if(1 == var3.anInt978) { + var0.setVisible(false); + var0.dispose(); + return; + } + + Class3_Sub13_Sub34.method331(100L, 64); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "c.R(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method586(boolean var1) { + try { + if(var1) { + this.aClass41_4056 = (Class41)null; + } + + return this.aBoolean3632?0:100; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "c.A(" + var1 + ')'); + } + } + + static final void method594(int var0, int var1) { + try { + if(var0 < 83) { + method592((byte)122); + } + + Class128.aClass93_1683.method1522(-127, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "c.Q(" + var0 + ',' + var1 + ')'); + } + } + + static final void method595(int var0, int var1) { + try { + if(var1 > 108) { + Class41.aClass93_684.method1522(-128, var0); + Class163_Sub1.aClass93_2984.method1522(-125, var0); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "c.O(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub2.java new file mode 100644 index 000000000..d3d79b247 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub10_Sub2.java @@ -0,0 +1,302 @@ +package org.runite.jagex; +import java.awt.Container; +import java.awt.Graphics; +import java.awt.Insets; + +final class Class3_Sub28_Sub10_Sub2 extends Class3_Sub28_Sub10 { + + byte aByte4064; + static int anInt4065; + static RSString aClass94_4066 = RSString.createRSString("
"); + int anInt4067; + static boolean aBoolean4068 = true; + RSByteBuffer aClass3_Sub30_4069; + static Class3_Sub2[][][] aClass3_Sub2ArrayArrayArray4070; + + private static RSString aClass94_4072 = RSString.createRSString(" from your friend list first)3"); + static int anInt4073; + static RSString aClass94_4071 = aClass94_4072; + + final int method586(boolean var1) { + try { + return var1?92:(this.aClass3_Sub30_4069 == null?0:this.aClass3_Sub30_4069.index * 100 / (-this.aByte4064 + this.aClass3_Sub30_4069.buffer.length)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pm.A(" + var1 + ')'); + } + } + + static final Class106[] method596(int var0, Signlink var1) { + try { + if(!var1.method1432(false)) { + return new Class106[0]; + } else { + Class64 var2 = var1.method1453((byte)8); + + while(0 == var2.anInt978) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + if(2 == var2.anInt978) { + return new Class106[0]; + } else { + int[] var3 = (int[])((int[])var2.anObject974); + Class106[] var4 = new Class106[var3.length >> 2]; + + for(int var5 = 0; ~var4.length < ~var5; ++var5) { + Class106 var6 = new Class106(); + var4[var5] = var6; + var6.anInt1447 = var3[var5 << 2]; + var6.anInt1449 = var3[(var5 << 2) + 1]; + var6.anInt1450 = var3[(var5 << 2) - -2]; + var6.anInt1448 = var3[(var5 << 2) - -3]; + } + + if(var0 != 10) { + method597((byte)-74); + } + + return var4; + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "pm.P(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method597(byte var0) { + try { + aClass94_4072 = null; + aClass3_Sub2ArrayArrayArray4070 = (Class3_Sub2[][][])null; + aClass94_4066 = null; + if(var0 < 91) { + aClass3_Sub2ArrayArrayArray4070 = (Class3_Sub2[][][])((Class3_Sub2[][][])null); + } + + aClass94_4071 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pm.O(" + var0 + ')'); + } + } + + static final void method598(boolean var0, int var1, boolean var2, int var3, boolean var4, int var5, int var6) { + try { + if(var2) { + HDToolKit.method1842(); + } + + if(null != Class3_Sub13_Sub10.aFrame3121 && (3 != var1 || ~var5 != ~Class3_Sub13.anInt2378 || ~var6 != ~Class3_Sub13_Sub5.anInt3071)) { + Class3_Sub28_Sub10_Sub1.method593(Class3_Sub13_Sub10.aFrame3121, true, Class38.aClass87_665); + Class3_Sub13_Sub10.aFrame3121 = null; + } + + if(3 == var1 && null == Class3_Sub13_Sub10.aFrame3121) { + Class3_Sub13_Sub10.aFrame3121 = Class99.method1597(2, 0, 0, var6, var5, Class38.aClass87_665); + if(null != Class3_Sub13_Sub10.aFrame3121) { + Class3_Sub13_Sub5.anInt3071 = var6; + Class3_Sub13.anInt2378 = var5; + Class119.method1730(Class38.aClass87_665, (byte)14); + } + } + + if(~var1 == -4 && Class3_Sub13_Sub10.aFrame3121 == null) { + method598(true, anInt2577, true, var3, var4, -1, -1); + } else { + Object var7; + if(null == Class3_Sub13_Sub10.aFrame3121) { + if(null != GameShell.frame) { + var7 = GameShell.frame; + } else { + var7 = Class38.aClass87_665.anApplet1219; + } + } else { + var7 = Class3_Sub13_Sub10.aFrame3121; + } + + Class3_Sub9.anInt2334 = ((Container)var7).getSize().width; + Class70.anInt1047 = ((Container)var7).getSize().height; + Insets var8; + if(GameShell.frame == var7) { + var8 = GameShell.frame.getInsets(); + Class3_Sub9.anInt2334 -= var8.right + var8.left; + Class70.anInt1047 -= var8.bottom + var8.top; + } + + if(var4) { + aClass94_4071 = (RSString)null; + } + + if(-3 >= ~var1) { + Class23.anInt454 = Class3_Sub9.anInt2334; + Class140_Sub7.anInt2934 = Class70.anInt1047; + Class84.anInt1164 = 0; + Class106.anInt1442 = 0; + } else { + Class106.anInt1442 = 0; + Class84.anInt1164 = (Class3_Sub9.anInt2334 + -765) / 2; + Class23.anInt454 = 765; + Class140_Sub7.anInt2934 = 503; + } + + if(!var0) { + if(HDToolKit.highDetail) { + HDToolKit.method1854(Class23.anInt454, Class140_Sub7.anInt2934); + } + + Class3_Sub28_Sub12.aCanvas3648.setSize(Class23.anInt454, Class140_Sub7.anInt2934); + if(GameShell.frame == var7) { + var8 = GameShell.frame.getInsets(); + Class3_Sub28_Sub12.aCanvas3648.setLocation(var8.left - -Class84.anInt1164, var8.top + Class106.anInt1442); + } else { + Class3_Sub28_Sub12.aCanvas3648.setLocation(Class84.anInt1164, Class106.anInt1442); + } + } else { + Class163_Sub1_Sub1.method2215(Class3_Sub28_Sub12.aCanvas3648, -9320); + Class130.method1783(4, Class3_Sub28_Sub12.aCanvas3648); + if(null != Class38.aClass146_668) { + Class38.aClass146_668.method2082(false, Class3_Sub28_Sub12.aCanvas3648); + } + + Class126.aClient1671.method30((byte)97); + Class3_Sub13_Sub4.method193((byte)97, Class3_Sub28_Sub12.aCanvas3648); + ItemDefinition.method1119(Class3_Sub28_Sub12.aCanvas3648, var4); + if(Class38.aClass146_668 != null) { + Class38.aClass146_668.method2084(Class3_Sub28_Sub12.aCanvas3648, -103); + } + } + + if(0 == var1 && -1 > ~var3) { + HDToolKit.method1834(Class3_Sub28_Sub12.aCanvas3648); + } + + if(var2 && var1 > 0) { + Class3_Sub28_Sub12.aCanvas3648.setIgnoreRepaint(true); + if(!GameShell.aBoolean11) { + Class32.method995(); + Class164_Sub1.aClass158_3009 = null; + Class164_Sub1.aClass158_3009 = Class3_Sub13_Sub23_Sub1.method285(Class140_Sub7.anInt2934, Class23.anInt454, true, Class3_Sub28_Sub12.aCanvas3648); + Class74.method1320(); + if(5 != Class143.loadingStage) { + Class3_Sub13.method164((byte)-20, false, Class3_Sub13_Sub23.aClass94_3282); + } else { + Class3_Sub23.method406((byte)122, true, Class168.aClass3_Sub28_Sub17_2096); + } + + try { + Graphics var11 = Class3_Sub28_Sub12.aCanvas3648.getGraphics(); + Class164_Sub1.aClass158_3009.method2179(0, 0, var11, 0); + } catch (Exception var9) { + ; + } + + Class80.method1396(-1); + if(-1 != ~var3) { + Class164_Sub1.aClass158_3009 = null; + } else { + Class164_Sub1.aClass158_3009 = Class3_Sub13_Sub23_Sub1.method285(503, 765, true, Class3_Sub28_Sub12.aCanvas3648); + } + + Class64 var13 = Class38.aClass87_665.method1444(-43, Class126.aClient1671.getClass()); + + while(~var13.anInt978 == -1) { + Class3_Sub13_Sub34.method331(100L, 64); + } + + if(1 == var13.anInt978) { + GameShell.aBoolean11 = true; + } + } + + if(GameShell.aBoolean11) { + HDToolKit.method1853(Class3_Sub28_Sub12.aCanvas3648, 2 * Class3_Sub28_Sub14.anInt3671); + } + } + + if(!HDToolKit.highDetail && 0 < var1) { + method598(true, 0, true, var3, false, -1, -1); + } else { + if(~var1 < -1 && -1 == ~var3) { + Class17.aThread409.setPriority(5); + Class164_Sub1.aClass158_3009 = null; + Class140_Sub1_Sub2.method1935(); + ((Class102)Class51.anInterface2_838).method1619(200, -1); + if(Class106.aBoolean1441) { + Class51.method1137(0.7F); + } + + Class3_Sub13.method165(-7878); + } else if(0 == var1 && var3 > 0) { + Class17.aThread409.setPriority(1); + Class164_Sub1.aClass158_3009 = Class3_Sub13_Sub23_Sub1.method285(503, 765, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub1_Sub2.method1938(); + Class127_Sub1.method1756(); + ((Class102)Class51.anInterface2_838).method1619(20, -1); + if(Class106.aBoolean1441) { + if(1 == Class3_Sub28_Sub10.anInt3625) { + Class51.method1137(0.9F); + } + + if(-3 == ~Class3_Sub28_Sub10.anInt3625) { + Class51.method1137(0.8F); + } + + if(3 == Class3_Sub28_Sub10.anInt3625) { + Class51.method1137(0.7F); + } + + if(-5 == ~Class3_Sub28_Sub10.anInt3625) { + Class51.method1137(0.6F); + } + } + + Class3_Sub11.method144(); + Class3_Sub13.method165(-7878); + } + + Class47.aBoolean742 = !NPC.method1986(89); + if(var2) { + Class3_Sub20.method389(false); + } + + if(~var1 <= -3) { + Class3_Sub15.aBoolean2427 = true; + } else { + Class3_Sub15.aBoolean2427 = false; + } + + if(-1 != Class3_Sub28_Sub12.anInt3655) { + Class124.method1746(true, (byte)-107); + } + + if(null != Class3_Sub15.aClass89_2429 && (~Class143.loadingStage == -31 || Class143.loadingStage == 25)) { + Class3_Sub13_Sub8.method204(-3); + } + + for(int var12 = 0; var12 < 100; ++var12) { + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + } + + Class3_Sub13_Sub10.aBoolean3116 = true; + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "pm.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + final byte[] method587(boolean var1) { + try { + if(!this.aBoolean3632 && ~this.aClass3_Sub30_4069.index <= ~(-this.aByte4064 + this.aClass3_Sub30_4069.buffer.length)) { + if(var1) { + this.method586(false); + } + + return this.aClass3_Sub30_4069.buffer; + } else { + throw new RuntimeException(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pm.E(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub11.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub11.java new file mode 100644 index 000000000..a5d1c5e2c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub11.java @@ -0,0 +1,415 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub11 extends Node { + + private Class130 aClass130_3636; + static RSString aClass94_3637 = RSString.createRSString(")4p="); + private static RSString aClass94_3638 = RSString.createRSString("Loading fonts )2 "); + private static RSString aClass94_3639 = RSString.createRSString(" is already on your friend list)3"); + static int anInt3640; + static boolean aBoolean3641 = false; + static int anInt3642 = 0; + static RSString aClass94_3643 = aClass94_3638; + static int anInt3644 = 0; + static RSString aClass94_3645 = aClass94_3639; + + + static final int method599(int var0, CacheIndex var1) { + try { + int var2 = 0; + if(var0 != -20916) { + return -88; + } else { + if(var1.method2144(0, Class154.anInt1966)) { + ++var2; + } + + if(var1.method2144(0, Class79.anInt1124)) { + ++var2; + } + + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "lk.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final int method600(int var1, int var2, byte var3) { + try { + if(this.aClass130_3636 != null) { + if(var3 != -29) { + this.method604((RSString)null, (byte)56, 110); + } + + Class3_Sub18 var4 = (Class3_Sub18)this.aClass130_3636.method1780((long)var1, var3 ^ -29); + return null == var4?var2:var4.anInt2467; + } else { + return var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lk.Q(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method601(RSByteBuffer var1, int var2, byte var3) { + try { + if(var3 < -2) { + if(249 == var2) { + int var4 = var1.getByte((byte)-52); + int var5; + if(this.aClass130_3636 == null) { + var5 = Class95.method1585((byte)105, var4); + this.aClass130_3636 = new Class130(var5); + } + + for(var5 = 0; var4 > var5; ++var5) { + boolean var6 = 1 == var1.getByte((byte)-94); + int var7 = var1.getTriByte((byte)95); + Object var8; + if(!var6) { + var8 = new Class3_Sub18(var1.getInt()); + } else { + var8 = new Class3_Sub29(var1.getString()); + } + + this.aClass130_3636.method1779(1, (Class3)var8, (long)var7); + } + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "lk.P(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class3_Sub28_Sub16 method602(int var0, int var1, byte var2, CacheIndex var3) { + try { + // System.out.println("Class3_sub28_Sub16 " + var1); + if(Class75_Sub4.method1351(var3, var0, var1, var2 ^ 30885)) { + if(var2 != -18) { + method607(true); + } + + return Class43.method1062(var2 + 103); + } else { + return null; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lk.R(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final void method603(int var0, int var1, int var2, RSInterface var3, boolean var4) { + try { + int var5 = var3.anInt168; + int var6 = var3.anInt193; + if(var1 != 13987) { + method602(-115, 65, (byte)-119, (CacheIndex)null); + } + + if(-1 != ~var3.aByte304) { + if(~var3.aByte304 != -2) { + if(~var3.aByte304 == -3) { + var3.anInt168 = var3.width * var2 >> 14; + } else if(var3.aByte304 == 3) { + if(~var3.type != -3) { + if(var3.type == 7) { + var3.anInt168 = 115 * var3.width + var3.anInt285 * (-1 + var3.width); + } + } else { + var3.anInt168 = var3.width * 32 - -((var3.width - 1) * var3.anInt285); + } + } + } else { + var3.anInt168 = var2 + -var3.width; + } + } else { + var3.anInt168 = var3.width; + } + + if(-1 == ~var3.aByte241) { + var3.anInt193 = var3.height; + } else if(var3.aByte241 == 1) { + var3.anInt193 = -var3.height + var0; + } else if(~var3.aByte241 == -3) { + var3.anInt193 = var0 * var3.height >> 14; + } else if(var3.aByte241 == 3) { + if(~var3.type == -3) { + var3.anInt193 = (var3.height + -1) * var3.anInt290 + var3.height * 32; + } else if(~var3.type == -8) { + var3.anInt193 = var3.height * 12 + (-1 + var3.height) * var3.anInt290; + } + } + + if(-5 == ~var3.aByte304) { + var3.anInt168 = var3.anInt216 * var3.anInt193 / var3.anInt160; + } + + if(var3.aByte241 == 4) { + var3.anInt193 = var3.anInt160 * var3.anInt168 / var3.anInt216; + } + + if(Class69.aBoolean1040 && (-1 != ~Client.method44(var3).anInt2205 || ~var3.type == -1)) { + if(var3.anInt193 < 5 && 5 > var3.anInt168) { + var3.anInt193 = 5; + var3.anInt168 = 5; + } else { + if(~var3.anInt168 >= -1) { + var3.anInt168 = 5; + } + + if(0 >= var3.anInt193) { + var3.anInt193 = 5; + } + } + } + + if(1337 == var3.anInt189) { + Class168.aClass11_2091 = var3; + } + + if(var4 && null != var3.anObjectArray235 && (~var5 != ~var3.anInt168 || var3.anInt193 != var6)) { + CS2Script var7 = new CS2Script(); + var7.arguments = var3.anObjectArray235; + var7.aClass11_2449 = var3; + Class110.aClass61_1471.method1215(true, var7); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "lk.E(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final RSString method604(RSString var1, byte var2, int var3) { + try { + if(this.aClass130_3636 == null) { + return var1; + } else { + Class3_Sub29 var4 = (Class3_Sub29)this.aClass130_3636.method1780((long)var3, 0); + if(var2 != -44) { + method607(false); + } + + return null != var4?var4.aClass94_2586:var1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lk.B(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method605(int var0) { + try { + aClass94_3637 = null; + aClass94_3638 = null; + aClass94_3639 = null; + aClass94_3643 = null; + if(var0 != 221301966) { + method603(-111, -64, -10, (RSInterface)null, false); + } + + aClass94_3645 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lk.D(" + var0 + ')'); + } + } + + static final void method606(int var0, Class3_Sub9 var1, int var2, int var3, int var4, int var5) { + try { + if(var5 > 44) { + if(~var1.anInt2332 != 0 || var1.anIntArray2333 != null) { + int var6 = 0; + if(var1.anInt2321 < var0) { + var6 += -var1.anInt2321 + var0; + } else if(var1.anInt2326 > var0) { + var6 += var1.anInt2326 - var0; + } + + if(var1.anInt2307 >= var4) { + if(var4 < var1.anInt2308) { + var6 += -var4 + var1.anInt2308; + } + } else { + var6 += -var1.anInt2307 + var4; + } + + if(0 != var1.anInt2328 && ~var1.anInt2328 <= ~(var6 - 64) && 0 != Class14.anInt340 && var2 == var1.anInt2314) { + var6 -= 64; + if(var6 < 0) { + var6 = 0; + } + + int var7 = (-var6 + var1.anInt2328) * Class14.anInt340 / var1.anInt2328; + if(var1.aClass3_Sub24_Sub1_2312 == null) { + if(-1 >= ~var1.anInt2332) { + Class135 var8 = Class135.method1811(Class146.aClass153_1902, var1.anInt2332, 0); + if(null != var8) { + Class3_Sub12_Sub1 var9 = var8.method1812().method151(Class27.aClass157_524); + Class3_Sub24_Sub1 var10 = Class3_Sub24_Sub1.method437(var9, 100, var7); + var10.method429(-1); + Class3_Sub26.aClass3_Sub24_Sub2_2563.method457(var10); + var1.aClass3_Sub24_Sub1_2312 = var10; + } + } + } else { + var1.aClass3_Sub24_Sub1_2312.method419(var7); + } + + if(null != var1.aClass3_Sub24_Sub1_2315) { + var1.aClass3_Sub24_Sub1_2315.method419(var7); + if(!var1.aClass3_Sub24_Sub1_2315.method82(0)) { + var1.aClass3_Sub24_Sub1_2315 = null; + } + } else if(var1.anIntArray2333 != null && ~(var1.anInt2316 -= var3) >= -1) { + int var13 = (int)((double)var1.anIntArray2333.length * Math.random()); + Class135 var14 = Class135.method1811(Class146.aClass153_1902, var1.anIntArray2333[var13], 0); + if(null != var14) { + Class3_Sub12_Sub1 var15 = var14.method1812().method151(Class27.aClass157_524); + Class3_Sub24_Sub1 var11 = Class3_Sub24_Sub1.method437(var15, 100, var7); + var11.method429(0); + Class3_Sub26.aClass3_Sub24_Sub2_2563.method457(var11); + var1.anInt2316 = (int)((double)(-var1.anInt2310 + var1.anInt2325) * Math.random()) + var1.anInt2310; + var1.aClass3_Sub24_Sub1_2315 = var11; + } + } + + } else { + if(null != var1.aClass3_Sub24_Sub1_2312) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var1.aClass3_Sub24_Sub1_2312); + var1.aClass3_Sub24_Sub1_2312 = null; + } + + if(var1.aClass3_Sub24_Sub1_2315 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var1.aClass3_Sub24_Sub1_2315); + var1.aClass3_Sub24_Sub1_2315 = null; + } + + } + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "lk.O(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method607(boolean var0) { + try { + Class140_Sub3.aClass94_2751 = Class113.aClass94_1546; + Class3_Sub13_Sub36.aClass94_3426 = Class114.aClass94_1575; + Class38.aClass94_662 = Class24.aClass94_463; + Class3_Sub13_Sub12.aClass94_3142 = Class3_Sub2.aClass94_2215; + Class143.aClass94_1879 = Class3_Sub13_Sub36.aClass94_3432; + Class3_Sub28_Sub10_Sub2.aClass94_4071 = Class29.aClass94_560; + Class3_Sub6.aClass94_2285 = Class29.aClass94_559; + NPC.aClass94_3988 = Class38_Sub1.aClass94_2616; + Class163_Sub2_Sub1.aClass94_4024 = Class39.aClass94_669; + Class95.aClass94_1335 = Class3_Sub13_Sub27.aClass94_3344; + Class12.aClass94_327 = Class3_Sub4.aClass94_2255; + Class3_Sub1.aClass94_2210 = Class149.aClass94_1922; + Class140_Sub3.aClass94_2744 = Class129_Sub1.aClass94_2687; + Class3_Sub28_Sub10_Sub1.aClass94_4058 = Class3_Sub13_Sub26.aClass94_3324; + Class3_Sub22.aClass94_2526 = Class96.aClass94_1348; + Class3_Sub28_Sub5.aClass94_3586 = Class3_Sub28_Sub13.aClass94_3661; + Class123.aClass94_1653 = Class158.aClass94_2013; + InputStream_Sub1.aClass94_43 = Class113.aClass94_1558; + ItemDefinition.aClass94_809 = Class85.aClass94_1173; + Class2.aClass94_62 = Class3_Sub13_Sub26.aClass94_3326; + Class100.aClass94_1409 = Class131.aClass94_1728; + Class3_Sub20.aClass94_2481 = Class3_Sub5.aClass94_2276; + Class115.aClass94_1583 = Class3_Sub22.aClass94_2499; + Class25.aClass94_485 = Class3_Sub28_Sub20.aClass94_3798; + if(var0) { + aBoolean3641 = false; + } + + Class50.aClass94_825 = Class3_Sub5.aClass94_2269; + Class3_Sub28_Sub10.aClass94_3629 = Class3_Sub24_Sub4.aClass94_3496; + Class38.aClass94_666 = Class24.aClass94_463; + aClass94_3643 = Class3_Sub13_Sub3.aClass94_3053; + Class161.aClass94_2031 = Class97.aClass94_1377; + Class128.aClass94_1688 = Class3_Sub13_Sub23.aClass94_3281; + Class144.aClass94_1884 = Class57.aClass94_901; + Class60.aClass94_935 = Class3_Sub13_Sub33.aClass94_3401; + Class3_Sub13_Sub23.aClass94_3282 = Class60.aClass94_933; + Class3_Sub13_Sub36.aClass94_3427 = Class3_Sub13_Sub28.aClass94_3355; + Class130.aClass94_1707 = GraphicDefinition.aClass94_552; + Class145.aClass94_1892 = NodeList.aClass94_334; + Client.aClass94_2196 = Class43.aClass94_700; + Class86.aClass94_1180 = Class3_Sub13_Sub34.aClass94_3408; + Class136.aClass94_1773 = Class17.aClass94_414; + Class27.aClass94_522 = Class104.aClass94_2170; + Class3_Sub28_Sub15.aClass94_3691 = Class7.aClass94_2163; + RenderAnimationDefinition.aClass94_374 = Class3_Sub28_Sub18.aClass94_3763; + GameShell.aClass94_4 = ItemDefinition.aClass94_808; + Class3_Sub2.aClass94_2216 = Class3_Sub10.aClass94_2340; + Class50.aClass94_822 = Class107.aClass94_1455; + Class3_Sub5.aClass94_2267 = Class3_Sub22.aClass94_2524; + Class3_Sub28_Sub5.aClass94_3584 = Class3_Sub28_Sub13.aClass94_3661; + Class131.aClass94_1722 = Class10.aClass94_150; + Class154.aClass94_1962 = Class45.aClass94_728; + Class3_Sub13_Sub33.aClass94_3397 = RSInterface.aClass94_297; + Class43.aClass94_691 = Class163.aClass94_2042; + Class24.aClass94_461 = AbstractIndexedSprite.aClass94_1466; + Class157.aClass94_1995 = Class155.aClass94_1974; + Class56.aClass94_891 = Class75_Sub3.aClass94_2653; + Class3_Sub28_Sub18.aClass94_3762 = Class130.aClass94_1702; + Class3_Sub13_Sub38.aClass94_3445 = Class3_Sub13_Sub14.aClass94_3169; + Class3_Sub13_Sub10.aClass94_3124 = Class3_Sub10.aClass94_2336; + Class75_Sub4.aClass94_2667 = Class3_Sub28_Sub16.aClass94_3705; + aClass94_2576 = Class3_Sub17.aClass94_2461; + Class3_Sub13_Sub32.aClass94_3388 = Class54.aClass94_875; + Class3_Sub13_Sub23_Sub1.aClass94_4040 = Class3_Sub28_Sub2.aClass94_3547; + Class154.aClass94_1959 = RSString.aClass94_2149; + RSByteBuffer.aClass94_2597 = Class3_Sub28_Sub20.aClass94_3785; + GraphicDefinition.aClass94_551 = Class121.aClass94_1647; + WorldListEntry.aClass94_2624 = Class164.aClass94_2053; + Class3_Sub28_Sub2.aClass94_3544 = Class9.aClass94_145; + Canvas_Sub2.aClass94_36 = Class145.aClass94_1889; + Class3_Sub13_Sub20.aClass94_3249 = Class163_Sub2.aClass94_2997; + Class24.aClass94_462 = Class3_Sub13_Sub23.aClass94_3279; + Class3_Sub13_Sub10.aClass94_3117 = Class3_Sub10.aClass94_2336; + Class3_Sub28_Sub2.aClass94_3546 = RenderAnimationDefinition.aClass94_355; + RSString.aClass94_2151 = Class75_Sub4.aClass94_2662; + Class3_Sub28_Sub4.aClass94_3575 = Class69.aClass94_1044; + Class163_Sub1.aClass94_2991 = Canvas_Sub1.aClass94_22; + Class62.aClass94_957 = Class129.aClass94_1696; + Class117.aClass94_1615 = Class3_Sub8.aClass94_2297; + Class3_Sub13_Sub25.aClass94_3311 = Class81.aClass94_1140; + Class106.aClass94_1445 = Class118.aClass94_1618; + RenderAnimationDefinition.aClass94_361 = Class14.aClass94_338; + Class3_Sub13_Sub3.aClass94_3051 = Class124.aClass94_1660; + Class3_Sub13_Sub26.aClass94_3333 = Class3_Sub2.aClass94_2242; + Class151_Sub1.aClass94_2961 = Class32.aClass94_591; + aClass94_3645 = AnimationDefinition.aClass94_1863; + Class23.aClass94_459 = Class102.aClass94_2132; + Class3_Sub13_Sub7.aClass94_3097 = Class3_Sub13_Sub24.aClass94_3291; + Class27.aClass94_523 = Class3_Sub21.aClass94_2496; + Class3_Sub13_Sub14.aClass94_3167 = Class120.aClass94_1637; + Class86.aClass94_1183 = Class3_Sub4.aClass94_2260; + Class131.aClass94_1731 = Class3_Sub13_Sub34.aClass94_3409; + Class27.aClass94_525 = WorldListEntry.aClass94_2628; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lk.A(" + var0 + ')'); + } + } + + final void method608(int var1, RSByteBuffer var2) { + try { + while(true) { + int var3 = var2.getByte((byte)-76); + if(0 == var3) { + if(var1 != 5) { + method607(false); + } + + return; + } + + this.method601(var2, var3, (byte)-5); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "lk.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub12.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub12.java new file mode 100644 index 000000000..e61e14111 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub12.java @@ -0,0 +1,148 @@ +package org.runite.jagex; +import java.awt.Canvas; + +public final class Class3_Sub28_Sub12 extends Node { + + static RSString aClass94_3646 = RSString.createRSString("D-Bmarrage de la librairie 3D"); + int anInt3647 = 0; + public static Canvas aCanvas3648; + static RSString aClass94_3649 = RSString.createRSString("Fichiers config charg-Bs"); + static RSString aClass94_3650 = RSString.createRSString("Fermer"); + static RSString aClass94_3651 = RSString.createRSString("::mm"); + static int anInt3652; + static RSString aClass94_3653 = RSString.createRSString("Shift)2click disabled)3"); + static short[][] aShortArrayArray3654 = new short[][]{{(short)6798, (short)107, (short)10283, (short)16, (short)4797, (short)7744, (short)5799, (short)4634, (short)-31839, (short)22433, (short)2983, (short)-11343, (short)8, (short)5281, (short)10438, (short)3650, (short)-27322, (short)-21845, (short)200, (short)571, (short)908, (short)21830, (short)28946, (short)-15701, (short)-14010}, {(short)8741, (short)12, (short)-1506, (short)-22374, (short)7735, (short)8404, (short)1701, (short)-27106, (short)24094, (short)10153, (short)-8915, (short)4783, (short)1341, (short)16578, (short)-30533, (short)25239, (short)8, (short)5281, (short)10438, (short)3650, (short)-27322, (short)-21845, (short)200, (short)571, (short)908, (short)21830, (short)28946, (short)-15701, (short)-14010}, {(short)25238, (short)8742, (short)12, (short)-1506, (short)-22374, (short)7735, (short)8404, (short)1701, (short)-27106, (short)24094, (short)10153, (short)-8915, (short)4783, (short)1341, (short)16578, (short)-30533, (short)8, (short)5281, (short)10438, (short)3650, (short)-27322, (short)-21845, (short)200, (short)571, (short)908, (short)21830, (short)28946, (short)-15701, (short)-14010}, {(short)4626, (short)11146, (short)6439, (short)12, (short)4758, (short)10270}, {(short)4550, (short)4537, (short)5681, (short)5673, (short)5790, (short)6806, (short)8076, (short)4574}}; + static int anInt3655 = -1; + static RSString aClass94_3656 = RSString.createRSString("Impossible de trouver "); + + + static final boolean method609(RSInterface var0, int var1) { + try { + if(null != var0.anIntArray275) { + int var2 = 0; + if(var1 <= 20) { + aClass94_3651 = (RSString)null; + } + + for(; ~var2 > ~var0.anIntArray275.length; ++var2) { + int var3 = Class164_Sub2.method2247((byte)119, var2, var0); + int var4 = var0.anIntArray307[var2]; + if(~var0.anIntArray275[var2] != -3) { + if(~var0.anIntArray275[var2] != -4) { + if(4 == var0.anIntArray275[var2]) { + if(~var3 == ~var4) { + return false; + } + } else if(~var4 != ~var3) { + return false; + } + } else if(var3 <= var4) { + return false; + } + } else if(~var4 >= ~var3) { + return false; + } + } + + return true; + } else { + return false; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "md.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final void method610(RSByteBuffer var1, int var2) { + try { + if(var2 != 0) { + aClass94_3649 = (RSString)null; + } + + while(true) { + int var3 = var1.getByte((byte)-97); + if(0 == var3) { + return; + } + + this.method614(var1, var3, false); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "md.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + /** + * Sends a default chatbox game message. + */ + static final void sendMessage(String str){ + sendGameMessage(-1, 11, RSString.createRSString(str), RSString.createRSString(""), (byte) 50, RSString.createRSString("")); + } + + static final void sendGameMessage(int var0, int var1, RSString message, RSString var3, byte var4, RSString var5) { + try { + if(var4 != 50) { + aShortArrayArray3654 = (short[][])((short[][])null); + } + + for(int var6 = 99; var6 > 0; --var6) { + Class3_Sub13_Sub6.anIntArray3082[var6] = Class3_Sub13_Sub6.anIntArray3082[var6 - 1]; + Class3_Sub13_Sub19.aClass94Array3226[var6] = Class3_Sub13_Sub19.aClass94Array3226[var6 - 1]; + Class3_Sub29.aClass94Array2580[var6] = Class3_Sub29.aClass94Array2580[-1 + var6]; + Class163_Sub3.aClass94Array3003[var6] = Class163_Sub3.aClass94Array3003[var6 + -1]; + GameObject.anIntArray1835[var6] = GameObject.anIntArray1835[var6 - 1]; + } + + ++Class3_Sub13_Sub9.anInt3114; + Class3_Sub13_Sub6.anIntArray3082[0] = var1; + Class3_Sub13_Sub19.aClass94Array3226[0] = var5; + Class24.anInt472 = Class3_Sub13_Sub17.anInt3213; + GameObject.anIntArray1835[0] = var0; + Class3_Sub29.aClass94Array2580[0] = message; + Class163_Sub3.aClass94Array3003[0] = var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "md.D(" + var0 + ',' + var1 + ',' + (message != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + static final RSString method612(long var0, byte var2) { + try { + return var2 <= 85?(RSString)null:Class3_Sub13_Sub8.method207(10, false, 116, var0); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "md.F(" + var0 + ',' + var2 + ')'); + } + } + + public static void method613(int var0) { + try { + aClass94_3646 = null; + aClass94_3656 = null; + aCanvas3648 = null; + aClass94_3649 = null; + aClass94_3653 = null; + aShortArrayArray3654 = (short[][])null; + if(var0 > 22) { + aClass94_3651 = null; + aClass94_3650 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "md.B(" + var0 + ')'); + } + } + + private final void method614(RSByteBuffer var1, int var2, boolean var3) { + try { + if(var3) { + this.method610((RSByteBuffer)null, -89); + } + + if(~var2 == -3) { + this.anInt3647 = var1.getShort(1); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "md.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub13.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub13.java new file mode 100644 index 000000000..9c6a6d0b8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub13.java @@ -0,0 +1,244 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub13 extends Node { + + static int anInt3657; + int anInt3658; + static int anInt3659; + static int anInt3660 = 0; + static RSString aClass94_3661 = RSString.createRSString("T"); + int anInt3662; + Class130 aClass130_3663; + private RSString aClass94_3664; + static boolean aBoolean3665 = true; + private Class130 aClass130_3666; + private int anInt3667; + + + private final void method615(int var1, RSByteBuffer var2, byte var3) { + try { + if(var3 > -29) { + anInt3657 = 70; + } + + if(~var1 != -2) { + if(~var1 == -3) { + this.anInt3658 = var2.getByte((byte)-52); + } else if(3 != var1) { + if(var1 != 4) { + if(5 == var1 || -7 == ~var1) { + int var4 = var2.getShort(1); + this.aClass130_3663 = new Class130(Class95.method1585((byte)94, var4)); + + for(int var5 = 0; var5 < var4; ++var5) { + int var6 = var2.getInt(); + Object var7; + if(~var1 == -6) { + var7 = new Class3_Sub29(var2.getString()); + } else { + var7 = new Class3_Sub18(var2.getInt()); + } + + this.aClass130_3663.method1779(1, (Class3)var7, (long)var6); + } + } + } else { + this.anInt3667 = var2.getInt(); + } + } else { + this.aClass94_3664 = var2.getString(); + } + } else { + this.anInt3662 = var2.getByte((byte)-47); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ml.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final RSString method616(int var1, byte var2) { + try { + int var3 = 10 / ((var2 - 68) / 50); + if(null == this.aClass130_3663) { + return this.aClass94_3664; + } else { + Class3_Sub29 var4 = (Class3_Sub29)this.aClass130_3663.method1780((long)var1, 0); + return null == var4?this.aClass94_3664:var4.aClass94_2586; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ml.S(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method617(RSString var1, int var2) { + try { + if(null == this.aClass130_3663) { + return false; + } else { + if(var2 != 8729) { + this.method615(-97, (RSByteBuffer)null, (byte)-91); + } + + if(null == this.aClass130_3666) { + this.method618(0); + } + + for(Class3_Sub10 var3 = (Class3_Sub10)this.aClass130_3666.method1780(var1.method1538(23), var2 + -8729); var3 != null; var3 = (Class3_Sub10)this.aClass130_3666.method1784(0)) { + if(var3.aClass94_2341.method1528((byte)-42, var1)) { + return true; + } + } + + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.F(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + private final void method618(int var1) { + try { + this.aClass130_3666 = new Class130(this.aClass130_3663.method1785(81)); + Class3_Sub29 var2 = (Class3_Sub29)this.aClass130_3663.method1776(var1 + 88); + if(var1 == 0) { + while(var2 != null) { + Class3_Sub10 var3 = new Class3_Sub10(var2.aClass94_2586, (int)var2.aLong71); + this.aClass130_3666.method1779(1, var3, var2.aClass94_2586.method1538(61)); + var2 = (Class3_Sub29)this.aClass130_3663.method1778(-99); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.O(" + var1 + ')'); + } + } + + static final LDIndexedSprite[] method619(byte var0, int var1, CacheIndex var2) { + try { + return Class140_Sub7.method2029((byte)-119, var2, var1)?(var0 <= 52?(LDIndexedSprite[])null:Class69.method1281(0)):null; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.A(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method620(int var1, int var2) { + try { + if(this.aClass130_3663 != null) { + Class3_Sub18 var3 = (Class3_Sub18)this.aClass130_3663.method1780((long)var2, var1); + return var3 != null?var3.anInt2467:this.anInt3667; + } else { + return this.anInt3667; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.E(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method621(int var1, int var2) { + try { + if(null != this.aClass130_3663) { + if(this.aClass130_3666 == null) { + this.method622(109); + } + + if(var1 != -8143) { + method619((byte)68, -100, (CacheIndex)null); + } + + Class3_Sub18 var3 = (Class3_Sub18)this.aClass130_3666.method1780((long)var2, 0); + return var3 != null; + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.B(" + var1 + ',' + var2 + ')'); + } + } + + private final void method622(int var1) { + try { + this.aClass130_3666 = new Class130(this.aClass130_3663.method1785(93)); + int var3 = -48 % ((26 - var1) / 58); + + for(Class3_Sub18 var2 = (Class3_Sub18)this.aClass130_3663.method1776(123); null != var2; var2 = (Class3_Sub18)this.aClass130_3663.method1778(-88)) { + Class3_Sub18 var4 = new Class3_Sub18((int)var2.aLong71); + this.aClass130_3666.method1779(1, var4, (long)var2.anInt2467); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ml.D(" + var1 + ')'); + } + } + + static final byte[] method623(byte var0, byte[] var1) { + try { + if(var0 > -112) { + method619((byte)43, -121, (CacheIndex)null); + } + + RSByteBuffer var2 = new RSByteBuffer(var1); + int var3 = var2.getByte((byte)-67); + int var4 = var2.getInt(); + if(0 <= var4 && (-1 == ~Class75.anInt1108 || ~Class75.anInt1108 <= ~var4)) { + if(-1 == ~var3) { + byte[] var8 = new byte[var4]; + var2.method764(0, var4, var8, (byte)93); + return var8; + } else { + int var5 = var2.getInt(); + if(0 <= var5 && (Class75.anInt1108 == 0 || ~Class75.anInt1108 <= ~var5)) { + byte[] var6 = new byte[var5]; + if(1 != var3) { + Class3_Sub22.aClass49_2505.method1128(var6, var2, false); + } else { + Class105.method1640(var6, var5, var1, var4, 9); + } + + return var6; + } else { + throw new RuntimeException("Error G-zip unpacking!"); + } + } + } else { + throw new RuntimeException(); + } + } catch (Throwable var7) { + return new byte[0]; +// throw Class44.method1067(var7, "ml.R(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method624(int var0) { + try { + aClass94_3661 = null; + if(var0 != -1) { + method623((byte)-86, (byte[])null); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ml.P(" + var0 + ')'); + } + } + + final void method625(RSByteBuffer var1, int var2) { + try { + while(true) { + int var3 = var1.getByte((byte)-83); + if(-1 == ~var3) { + var3 = 68 % ((-84 - var2) / 35); + return; + } + + this.method615(var3, var1, (byte)-84); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ml.Q(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public Class3_Sub28_Sub13() { + this.aClass94_3664 = Class47.aClass94_750; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub14.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub14.java new file mode 100644 index 000000000..abb7cb905 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub14.java @@ -0,0 +1,241 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub14 extends Node { + + static boolean aBoolean3668 = false; + static byte[][] aByteArrayArray3669; + static int anInt3670; + static int anInt3671 = 0; + static RSString aClass94_3672 = RSString.createRSString(""); + static RSString password = aClass94_3672; + static boolean[] aBooleanArray3674 = new boolean[100]; + static RSString username = aClass94_3672; + Class140_Sub7 aClass140_Sub7_3676; + static int anInt3677; + + + static final void method626(int var0) { + try { + if(null != RSByteBuffer.aClass3_Sub28_Sub3_2600) { + if(Class140_Sub3.anInt2737 < 10) { + if(!Class3_Sub13_Sub17.aClass153_3210.method2127((byte)-83, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561)) { + Class140_Sub3.anInt2737 = Class133.aClass153_1751.method2116(22813, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561) / 10; + return; + } + + Class3_Sub13_Sub1.method169(var0 ^ 22166); + Class140_Sub3.anInt2737 = 10; + } + + if(~Class140_Sub3.anInt2737 == -11) { + Class3_Sub13_Sub21.anInt3256 = RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3555 >> 6 << 6; + Class2.anInt65 = RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3562 >> 6 << 6; + Class108.anInt1460 = (RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3549 >> 6 << 6) - Class2.anInt65 + 64; + Class23.anInt455 = 64 + (RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3559 >> 6 << 6) + -Class3_Sub13_Sub21.anInt3256; + if(RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3563 != 37) { + if(~RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3563 != -51) { + if(75 == RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3563) { + Class44.aFloat727 = 6.0F; + NPC.aFloat3979 = 6.0F; + } else if(-101 != ~RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3563) { + if(200 == RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3563) { + Class44.aFloat727 = 16.0F; + NPC.aFloat3979 = 16.0F; + } else { + Class44.aFloat727 = 8.0F; + NPC.aFloat3979 = 8.0F; + } + } else { + Class44.aFloat727 = 8.0F; + NPC.aFloat3979 = 8.0F; + } + } else { + Class44.aFloat727 = 4.0F; + NPC.aFloat3979 = 4.0F; + } + } else { + Class44.aFloat727 = 3.0F; + NPC.aFloat3979 = 3.0F; + } + + int var1 = -Class3_Sub13_Sub21.anInt3256 + (Class102.player.anInt2819 >> 7) + Class131.anInt1716; + var1 += -5 + (int)(Math.random() * 10.0D); + int var2 = -Class82.anInt1152 + -(Class102.player.anInt2829 >> 7) + Class2.anInt65 + -1 + Class108.anInt1460; + var2 += -5 + (int)(Math.random() * 10.0D); + if(-1 >= ~var1 && ~Class23.anInt455 < ~var1 && 0 <= var2 && ~var2 > ~Class108.anInt1460) { + Class3_Sub28_Sub1.anInt3536 = var1; + Class3_Sub4.anInt2251 = var2; + } else { + Class3_Sub4.anInt2251 = Class2.anInt65 - RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3556 * 64 + Class108.anInt1460 + -1; + Class3_Sub28_Sub1.anInt3536 = RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3558 * 64 + -Class3_Sub13_Sub21.anInt3256; + } + + Class3_Sub5.method117((byte)87); + Class84.anIntArray1161 = new int[1 + Class54.anInt869]; + int var4 = Class108.anInt1460 >> 6; + int var3 = Class23.anInt455 >> 6; + Class3_Sub10.aByteArrayArrayArray2339 = new byte[var3][var4][]; + int var5 = Class3_Sub13_Sub14.anInt3158 >> 2 << 10; + Class36.aByteArrayArrayArray640 = new byte[var3][var4][]; + Class44.anIntArrayArrayArray720 = new int[var3][var4][]; + RenderAnimationDefinition.aByteArrayArrayArray383 = new byte[var3][var4][]; + Class146.anIntArrayArrayArray1903 = new int[var3][var4][]; + Class3_Sub13_Sub33.aByteArrayArrayArray3390 = new byte[var3][var4][]; + int var6 = AbstractIndexedSprite.anInt1463 >> 1; + CS2Script.aByteArrayArrayArray2452 = new byte[var3][var4][]; + Class29.anIntArrayArrayArray558 = new int[var3][var4][]; + Class36.method1014(-120, var6, var5); + Class140_Sub3.anInt2737 = 20; + } else if(Class140_Sub3.anInt2737 != 20) { + if(var0 != 64) { + method628(-40, -12, 40, (Player)null); + } + + if(Class140_Sub3.anInt2737 == 30) { + Class163_Sub2.method2219(new RSByteBuffer(Class3_Sub13_Sub17.aClass153_3210.method2123(0, PacketParser.aClass94_85, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561)), false); + Class140_Sub3.anInt2737 = 40; + Class75_Sub4.method1355(true); + } else if(-41 != ~Class140_Sub3.anInt2737) { + if(Class140_Sub3.anInt2737 != 50) { + if(-61 == ~Class140_Sub3.anInt2737) { + if(!Class3_Sub13_Sub17.aClass153_3210.method2135(RenderAnimationDefinition.method903(new RSString[]{RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561, Class157.aClass94_2003}, (byte)-107), -106)) { + Class119.aClass131_1624 = new Class131(0); + } else { + if(!Class3_Sub13_Sub17.aClass153_3210.method2127((byte)-83, RenderAnimationDefinition.method903(new RSString[]{RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561, Class157.aClass94_2003}, (byte)-71))) { + return; + } + + Class119.aClass131_1624 = Class81.method1403(var0 + -120, RenderAnimationDefinition.method903(new RSString[]{RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561, Class157.aClass94_2003}, (byte)-91), Class3_Sub13_Sub17.aClass153_3210); + } + + Class140_Sub3.anInt2737 = 70; + Class75_Sub4.method1355(true); + } else if(Class140_Sub3.anInt2737 == 70) { + Class164_Sub2.aClass33_3019 = new Class33(11, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 73; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } else if(Class140_Sub3.anInt2737 != 73) { + if(~Class140_Sub3.anInt2737 == -77) { + Class99.aClass33_1399 = new Class33(14, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 79; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } else if(-80 == ~Class140_Sub3.anInt2737) { + Class75_Sub2.aClass33_2637 = new Class33(17, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 82; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } else if(~Class140_Sub3.anInt2737 == -83) { + Class119.aClass33_1626 = new Class33(19, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 85; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } else if(85 == Class140_Sub3.anInt2737) { + Class75_Sub2.aClass33_2648 = new Class33(22, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 88; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } else if(88 != Class140_Sub3.anInt2737) { + Class91.aClass33_1305 = new Class33(30, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 100; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + System.gc(); + } else { + Class161.aClass33_2034 = new Class33(26, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 91; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } + } else { + IOHandler.aClass33_1238 = new Class33(12, true, Class3_Sub28_Sub12.aCanvas3648); + Class140_Sub3.anInt2737 = 76; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } + } else { + Class96.method1587((byte)-83, new RSByteBuffer(Class3_Sub13_Sub17.aClass153_3210.method2123(var0 + -64, Class19.aClass94_422, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561))); + Class140_Sub3.anInt2737 = 60; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } + } else { + Class3_Sub13_Sub34.method328(-21774, new RSByteBuffer(Class3_Sub13_Sub17.aClass153_3210.method2123(0, Class3_Sub13_Sub11.aClass94_3140, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561))); + Class140_Sub3.anInt2737 = 50; + Class75_Sub4.method1355(true); + } + } else { + Class15.method889((byte)105, new RSByteBuffer(Class3_Sub13_Sub17.aClass153_3210.method2123(0, Class96.aClass94_1349, RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561))); + Class140_Sub3.anInt2737 = 30; + Class163_Sub1.method2210((byte)-90, true); + Class75_Sub4.method1355(true); + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "pa.B(" + var0 + ')'); + } + } + + Class3_Sub28_Sub14(Class140_Sub7 var1) { + try { + this.aClass140_Sub7_3676 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pa.(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method627(byte var0) { + try { + if(var0 <= -112) { + username = null; + password = null; + aByteArrayArray3669 = (byte[][])null; + aClass94_3672 = null; + aBooleanArray3674 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pa.A(" + var0 + ')'); + } + } + + static final void method628(int var0, int var1, int var2, Player var3) { + try { + if(var0 != 0) { + aBooleanArray3674 = (boolean[])null; + } + + if(~var2 == ~var3.anInt2771 && 0 != ~var2) { + AnimationDefinition var4 = Client.getAnimationDefinition(var2, (byte)-20); + int var5 = var4.anInt1845; + if(1 == var5) { + var3.anInt2828 = var1; + var3.anInt2760 = 0; + var3.anInt2776 = 1; + var3.anInt2832 = 0; + var3.anInt2773 = 0; + IOHandler.method1470(var3.anInt2829, var4, var0 + 183921384, var3.anInt2819, Class102.player == var3, var3.anInt2832); + } + + if(var5 == 2) { + var3.anInt2773 = 0; + } + } else if(-1 == var2 || var3.anInt2771 == -1 || Client.getAnimationDefinition(var2, (byte)-20).anInt1857 >= Client.getAnimationDefinition(var3.anInt2771, (byte)-20).anInt1857) { + var3.anInt2776 = 1; + var3.anInt2832 = 0; + var3.anInt2828 = var1; + var3.anInt2811 = var3.anInt2816; + var3.anInt2773 = 0; + var3.anInt2760 = 0; + var3.anInt2771 = var2; + if(var3.anInt2771 != -1) { + IOHandler.method1470(var3.anInt2829, Client.getAnimationDefinition(var3.anInt2771, (byte)-20), 183921384, var3.anInt2819, var3 == Class102.player, var3.anInt2832); + } + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "pa.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub15.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub15.java new file mode 100644 index 000000000..3e030e1ce --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub15.java @@ -0,0 +1,96 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub15 extends Node { + + int anInt3678; + static Class130 aClass130_3679 = new Class130(16); + int anInt3680; + static int anInt3681; + int anInt3682; + int[] anIntArray3683; + static int anInt3684 = 10; + Class130[] aClass130Array3685; + RSString aClass94_3686; + int anInt3687; + RSString[] aClass94Array3688; + static int anInt3689 = 0; + int[] anIntArray3690; + + private static RSString aClass94_3692 = RSString.createRSString("Members object"); + static int[] anIntArray3693 = new int[1000]; + static Class3_Sub19[] aClass3_Sub19Array3694; + static int anInt3695; +static RSString aClass94_3691 = aClass94_3692; + + static final Class100 method629(boolean var0, int var1) { + try { + Class100 var2 = (Class100)Class44.aClass93_725.get((long)var1, (byte)121); + if(var2 == null) { + if(!var0) { + return (Class100)null; + } else { + byte[] var3 = Class3_Sub23.aClass153_2536.getFile(1, (byte)-122, var1); + var2 = new Class100(); + if(null != var3) { + var2.method1601(var1, new RSByteBuffer(var3), 255); + } + + Class44.aClass93_725.put((byte)-104, var2, (long)var1); + return var2; + } + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qc.B(" + var0 + ',' + var1 + ')'); + } + } + + static final int method630(byte var0, int var1) { + try { + if(var0 != -34) { + aClass94_3692 = (RSString)null; + } + + return 127 & var1 >> 11; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qc.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void method631(boolean var0, CacheIndex var1) { + try { + if(!var0) { + Class3_Sub28_Sub5.aClass153_3580 = var1; + Class54.anInt869 = Class3_Sub28_Sub5.aClass153_3580.getFileAmount(4, (byte)112); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qc.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method632(int var0) { + try { + aClass94_3692 = null; + aClass94_3691 = null; + aClass3_Sub19Array3694 = null; + aClass130_3679 = null; + anIntArray3693 = null; + if(var0 != -30497) { + aClass3_Sub19Array3694 = (Class3_Sub19[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qc.E(" + var0 + ')'); + } + } + + static int method633(int var0, int var1) { + try { + return var0 & var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qc.C(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16.java new file mode 100644 index 000000000..2257a9775 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16.java @@ -0,0 +1,71 @@ +package org.runite.jagex; + +abstract class Class3_Sub28_Sub16 extends Node { + + int anInt3696; + int anInt3697; + int anInt3698; + static int anInt3699 = 0; + static RSString aClass94_3700 = RSString.createRSString("::cardmem"); + int anInt3701; + static RSString aClass94_3702 = RSString.createRSString(" )2> "); + static RSString aClass94_3703 = RSString.createRSString(" )2> "); + static int anInt3704; + static RSString aClass94_3705 = RSString.createRSString("W-=hlen Sie eine Option"); + int anInt3706; + int anInt3707; + static RSInterface aClass11_3708 = null; + + + public static void method634(byte var0) { + try { + aClass11_3708 = null; + aClass94_3702 = null; + aClass94_3705 = null; + if(var0 == 108) { + aClass94_3703 = null; + aClass94_3700 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qf.R(" + var0 + ')'); + } + } + + abstract void method635(int var1, int var2); + + abstract void method636(int var1, int var2, int var3, int var4, int var5, int var6); + + abstract void method637(int var1, int var2, int var3); + + static final RSInterface method638(byte var0, int var1, int var2) { + try { + RSInterface var3 = Class7.getRSInterface((byte)109, var1); + return 0 == ~var2?var3:(var0 != -19?(RSInterface)null:(var3 != null && var3.aClass11Array262 != null && ~var3.aClass11Array262.length < ~var2?var3.aClass11Array262[var2]:null)); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "qf.P(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + abstract void method639(int var1, int var2, int var3, int var4); + + final void method640(int var1, int var2, int var3, int var4, int var5) { + try { + if(var5 == -1470985020) { + int var6 = this.anInt3697 << 3; + int var7 = this.anInt3706 << 3; + var4 = (var4 << 4) + (var6 & 15); + var1 = (var1 << 4) + (15 & var7); + this.method636(var6, var7, var4, var1, var2, var3); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "qf.F(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + abstract void method641(int var1, int var2); + + abstract void method642(int var1, int var2, int var3, int var4, int var5); + + abstract void method643(int var1, int var2); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1.java new file mode 100644 index 000000000..7a05bbbbb --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1.java @@ -0,0 +1,485 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +class Class3_Sub28_Sub16_Sub1 extends Class3_Sub28_Sub16 { + + int anInt4074 = 0; + int anInt4075; + private int anInt4076 = -1; + int anInt4077 = -1; + private int anInt4078 = 0; + int anInt4079; + private int anInt4080; + + + private final void method644(int var1) { + if(this.anInt4078 != var1) { + this.anInt4078 = var1; + GL var2 = HDToolKit.gl; + if(var1 == 2) { + var2.glTexParameteri(3553, 10241, 9729); + var2.glTexParameteri(3553, 10240, 9729); + } else { + var2.glTexParameteri(3553, 10241, 9728); + var2.glTexParameteri(3553, 10240, 9728); + } + + } + } + + final void method645(int var1, int var2, Class3_Sub28_Sub16_Sub1 var3) { + if(var3 != null) { + HDToolKit.method1822(); + HDToolKit.bindTexture2D(var3.anInt4077); + var3.method644(1); + GL var4 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var4.glActiveTexture('\u84c1'); + var4.glEnable(3553); + var4.glBindTexture(3553, var3.anInt4077); + var4.glTexEnvi(8960, '\u8571', 7681); + var4.glTexEnvi(8960, '\u8580', '\u8578'); + float var5 = (float)(var1 - Class22.anInt449) / (float)var3.anInt4075; + float var6 = (float)(var2 - Class22.anInt448) / (float)var3.anInt4079; + float var7 = (float)(var1 + this.anInt3707 - Class22.anInt449) / (float)var3.anInt4075; + float var8 = (float)(var2 + this.anInt3696 - Class22.anInt448) / (float)var3.anInt4079; + var1 += this.anInt3701; + var2 += this.anInt3698; + var4.glBegin(6); + var4.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + float var9 = (float)this.anInt3707 / (float)this.anInt4075; + float var10 = (float)this.anInt3696 / (float)this.anInt4079; + var4.glMultiTexCoord2f('\u84c1', var7, var6); + var4.glTexCoord2f(var9, 0.0F); + var4.glVertex2f((float)(var1 + this.anInt3707), (float)(HDToolKit.anInt1811 - var2)); + var4.glMultiTexCoord2f('\u84c1', var5, var6); + var4.glTexCoord2f(0.0F, 0.0F); + var4.glVertex2f((float)var1, (float)(HDToolKit.anInt1811 - var2)); + var4.glMultiTexCoord2f('\u84c1', var5, var8); + var4.glTexCoord2f(0.0F, var10); + var4.glVertex2f((float)var1, (float)(HDToolKit.anInt1811 - (var2 + this.anInt3696))); + var4.glMultiTexCoord2f('\u84c1', var7, var8); + var4.glTexCoord2f(var9, var10); + var4.glVertex2f((float)(var1 + this.anInt3707), (float)(HDToolKit.anInt1811 - (var2 + this.anInt3696))); + var4.glEnd(); + var4.glTexEnvi(8960, '\u8571', 8448); + var4.glTexEnvi(8960, '\u8580', 5890); + var4.glDisable(3553); + var4.glActiveTexture('\u84c0'); + } + } + + final void method646(int var1, int var2, int var3, int var4, int var5) { + HDToolKit.method1828(); + GL var6 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + float var7 = (float)this.anInt3707 / (float)this.anInt4075; + float var8 = (float)this.anInt3696 / (float)this.anInt4079; + var7 *= (float)var4; + var8 *= (float)var5; + int var9 = var1 + this.anInt3701; + int var10 = var9 + this.anInt3707 * var4; + int var11 = HDToolKit.anInt1811 - var2 - this.anInt3698; + int var12 = var11 - this.anInt3696 * var5; + float var13 = (float)var3 / 256.0F; + var6.glBegin(6); + var6.glColor4f(1.0F, 1.0F, 1.0F, var13); + var6.glTexCoord2f(var7, 0.0F); + var6.glVertex2f((float)var10, (float)var11); + var6.glTexCoord2f(0.0F, 0.0F); + var6.glVertex2f((float)var9, (float)var11); + var6.glTexCoord2f(0.0F, var8); + var6.glVertex2f((float)var9, (float)var12); + var6.glTexCoord2f(var7, var8); + var6.glVertex2f((float)var10, (float)var12); + var6.glEnd(); + } + + final void method647(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Class3_Sub28_Sub16_Sub1 var9) { + if(var9 != null) { + HDToolKit.method1822(); + HDToolKit.bindTexture2D(var9.anInt4077); + var9.method644(1); + GL var10 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var10.glActiveTexture('\u84c1'); + var10.glEnable(3553); + var10.glBindTexture(3553, var9.anInt4077); + var10.glTexEnvi(8960, '\u8571', 7681); + var10.glTexEnvi(8960, '\u8580', '\u8578'); + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = -var11; + int var14 = -var12; + int var15 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var16 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var15 = var15 * var8 >> 8; + var16 = var16 * var8 >> 8; + int var17 = (var5 << 16) + var12 * var15 + var11 * var16; + int var18 = (var6 << 16) + (var12 * var16 - var11 * var15); + int var19 = (var5 << 16) + var12 * var15 + var13 * var16; + int var20 = (var6 << 16) + (var12 * var16 - var13 * var15); + int var21 = (var5 << 16) + var14 * var15 + var11 * var16; + int var22 = (var6 << 16) + (var14 * var16 - var11 * var15); + int var23 = (var5 << 16) + var14 * var15 + var13 * var16; + int var24 = (var6 << 16) + (var14 * var16 - var13 * var15); + float var25 = (float)var9.anInt3707 / (float)var9.anInt4075; + float var26 = (float)var9.anInt3696 / (float)var9.anInt4079; + var10.glBegin(6); + var10.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + float var27 = 65536.0F * (float)this.anInt4075; + float var28 = (float)(65536 * this.anInt4079); + var10.glMultiTexCoord2f('\u84c1', var25, 0.0F); + var10.glTexCoord2f((float)var19 / var27, (float)var20 / var28); + var10.glVertex2f((float)(var1 + var3), (float)(HDToolKit.anInt1811 - var2)); + var10.glMultiTexCoord2f('\u84c1', 0.0F, 0.0F); + var10.glTexCoord2f((float)var17 / var27, (float)var18 / var28); + var10.glVertex2f((float)var1, (float)(HDToolKit.anInt1811 - var2)); + var10.glMultiTexCoord2f('\u84c1', 0.0F, var26); + var10.glTexCoord2f((float)var21 / var27, (float)var22 / var28); + var10.glVertex2f((float)var1, (float)(HDToolKit.anInt1811 - (var2 + var4))); + var10.glMultiTexCoord2f('\u84c1', var25, var26); + var10.glTexCoord2f((float)var23 / var27, (float)var24 / var28); + var10.glVertex2f((float)(var1 + var3), (float)(HDToolKit.anInt1811 - (var2 + var4))); + var10.glEnd(); + var10.glTexEnvi(8960, '\u8571', 8448); + var10.glTexEnvi(8960, '\u8580', 5890); + var10.glDisable(3553); + var10.glActiveTexture('\u84c0'); + } + } + + final void method641(int var1, int var2) { + HDToolKit.method1822(); + var1 += this.anInt3701; + var2 += this.anInt3698; + GL var3 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var3.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + float var4 = (float)this.anInt3707 / (float)this.anInt4075; + float var5 = (float)this.anInt3696 / (float)this.anInt4079; + var3.glBegin(6); + var3.glTexCoord2f(0.0F, 0.0F); + var3.glVertex2f((float)this.anInt3707, 0.0F); + var3.glTexCoord2f(var4, 0.0F); + var3.glVertex2f(0.0F, 0.0F); + var3.glTexCoord2f(var4, var5); + var3.glVertex2f(0.0F, (float)(-this.anInt3696)); + var3.glTexCoord2f(0.0F, var5); + var3.glVertex2f((float)this.anInt3707, (float)(-this.anInt3696)); + var3.glEnd(); + var3.glLoadIdentity(); + } + + final void method643(int var1, int var2) { + HDToolKit.method1822(); + var1 += this.anInt3701; + var2 += this.anInt3698; + GL var3 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var3.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + var3.glCallList(this.anInt4076); + var3.glLoadIdentity(); + } + + final void method648(int var1, int var2, int var3, int var4, int var5, int var6) { + HDToolKit.method1822(); + GL var7 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(2); + var1 -= this.anInt3701 << 4; + var2 -= this.anInt3698 << 4; + var7.glTranslatef((float)var3 / 16.0F, (float)HDToolKit.anInt1811 - (float)var4 / 16.0F, 0.0F); + var7.glRotatef((float)(-var5) * 0.005493164F, 0.0F, 0.0F, 1.0F); + if(var6 != 4096) { + var7.glScalef((float)var6 / 4096.0F, (float)var6 / 4096.0F, 0.0F); + } + + var7.glTranslatef((float)(-var1) / 16.0F, (float)var2 / 16.0F, 0.0F); + var7.glCallList(this.anInt4076); + var7.glLoadIdentity(); + } + + final void method639(int var1, int var2, int var3, int var4) { + if(var3 > 0 && var4 > 0) { + HDToolKit.method1822(); + int var5 = this.anInt3707; + int var6 = this.anInt3696; + int var7 = 0; + int var8 = 0; + int var9 = this.anInt3697; + int var10 = this.anInt3706; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if(this.anInt3701 > 0) { + var13 = ((this.anInt3701 << 16) + var11 - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var13 = ((this.anInt3698 << 16) + var12 - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.anInt3698 << 16); + } + + if(var5 < var9) { + var3 = ((var5 << 16) - var7 + var11 - 1) / var11; + } + + if(var6 < var10) { + var4 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + GL var20 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(2); + float var14 = (float)var1; + float var15 = var14 + (float)var3; + float var16 = (float)(HDToolKit.anInt1811 - var2); + float var17 = var16 - (float)var4; + float var18 = (float)this.anInt3707 / (float)this.anInt4075; + float var19 = (float)this.anInt3696 / (float)this.anInt4079; + var20.glBegin(6); + var20.glTexCoord2f(var18, 0.0F); + var20.glVertex2f(var15, var16); + var20.glTexCoord2f(0.0F, 0.0F); + var20.glVertex2f(var14, var16); + var20.glTexCoord2f(0.0F, var19); + var20.glVertex2f(var14, var17); + var20.glTexCoord2f(var18, var19); + var20.glVertex2f(var15, var17); + var20.glEnd(); + } + } + + final void method635(int var1, int var2) { + HDToolKit.method1822(); + var1 += this.anInt3701; + var2 += this.anInt3698; + GL var3 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var3.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + var3.glCallList(this.anInt4076); + var3.glLoadIdentity(); + } + + protected final void finalize() throws Throwable { + if(this.anInt4077 != -1) { + Class31.method991(this.anInt4077, this.anInt4074, this.anInt4080); + this.anInt4077 = -1; + this.anInt4074 = 0; + } + + if(this.anInt4076 != -1) { + Class31.method986(this.anInt4076, this.anInt4080); + this.anInt4076 = -1; + } + + super.finalize(); + } + + final void method636(int var1, int var2, int var3, int var4, int var5, int var6) { + HDToolKit.method1822(); + GL var7 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var1 -= this.anInt3701 << 4; + var2 -= this.anInt3698 << 4; + var7.glTranslatef((float)var3 / 16.0F, (float)HDToolKit.anInt1811 - (float)var4 / 16.0F, 0.0F); + var7.glRotatef((float)var5 * 0.005493164F, 0.0F, 0.0F, 1.0F); + if(var6 != 4096) { + var7.glScalef((float)var6 / 4096.0F, (float)var6 / 4096.0F, 0.0F); + } + + var7.glTranslatef((float)(-var1) / 16.0F, (float)var2 / 16.0F, 0.0F); + var7.glCallList(this.anInt4076); + var7.glLoadIdentity(); + } + + final void method642(int var1, int var2, int var3, int var4, int var5) { + if(var3 > 0 && var4 > 0) { + HDToolKit.method1828(); + int var6 = this.anInt3707; + int var7 = this.anInt3696; + int var8 = 0; + int var9 = 0; + int var10 = this.anInt3697; + int var11 = this.anInt3706; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if(this.anInt3701 > 0) { + var14 = ((this.anInt3701 << 16) + var12 - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var14 = ((this.anInt3698 << 16) + var13 - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.anInt3698 << 16); + } + + if(var6 < var10) { + var3 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + if(var7 < var11) { + var4 = ((var7 << 16) - var9 + var13 - 1) / var13; + } + + GL var22 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + float var15 = (float)var1; + float var16 = var15 + (float)var3; + float var17 = (float)(HDToolKit.anInt1811 - var2); + float var18 = var17 - (float)var4; + float var19 = (float)this.anInt3707 / (float)this.anInt4075; + float var20 = (float)this.anInt3696 / (float)this.anInt4079; + float var21 = (float)var5 / 256.0F; + var22.glBegin(6); + var22.glColor4f(1.0F, 1.0F, 1.0F, var21); + var22.glTexCoord2f(var19, 0.0F); + var22.glVertex2f(var16, var17); + var22.glTexCoord2f(0.0F, 0.0F); + var22.glVertex2f(var15, var17); + var22.glTexCoord2f(0.0F, var20); + var22.glVertex2f(var15, var18); + var22.glTexCoord2f(var19, var20); + var22.glVertex2f(var16, var18); + var22.glEnd(); + } + } + + final void method649(int var1, int var2, int var3, int var4) { + HDToolKit.method1822(); + GL var5 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + float var6 = (float)this.anInt3707 / (float)this.anInt4075; + float var7 = (float)this.anInt3696 / (float)this.anInt4079; + var6 *= (float)var3; + var7 *= (float)var4; + int var8 = var1 + this.anInt3701; + int var9 = var8 + this.anInt3707 * var3; + int var10 = HDToolKit.anInt1811 - var2 - this.anInt3698; + int var11 = var10 - this.anInt3696 * var4; + var5.glBegin(6); + var5.glTexCoord2f(var6, 0.0F); + var5.glVertex2f((float)var9, (float)var10); + var5.glTexCoord2f(0.0F, 0.0F); + var5.glVertex2f((float)var8, (float)var10); + var5.glTexCoord2f(0.0F, var7); + var5.glVertex2f((float)var8, (float)var11); + var5.glTexCoord2f(var6, var7); + var5.glVertex2f((float)var9, (float)var11); + var5.glEnd(); + } + + void method650(int[] var1) { + this.anInt4075 = Class95.method1585((byte)125, this.anInt3707); + this.anInt4079 = Class95.method1585((byte)59, this.anInt3696); + byte[] var2 = new byte[this.anInt4075 * this.anInt4079 * 4]; + int var3 = 0; + int var4 = 0; + int var5 = (this.anInt4075 - this.anInt3707) * 4; + + for(int var6 = 0; var6 < this.anInt3696; ++var6) { + for(int var7 = 0; var7 < this.anInt3707; ++var7) { + int var8 = var1[var4++]; + if(var8 != 0) { + var2[var3++] = (byte)(var8 >> 16); + var2[var3++] = (byte)(var8 >> 8); + var2[var3++] = (byte)var8; + var2[var3++] = -1; + } else { + var3 += 4; + } + } + + var3 += var5; + } + + ByteBuffer var9 = ByteBuffer.wrap(var2); + GL var10 = HDToolKit.gl; + if(this.anInt4077 == -1) { + int[] var11 = new int[1]; + var10.glGenTextures(1, var11, 0); + this.anInt4077 = var11[0]; + this.anInt4080 = Class31.anInt582; + } + + HDToolKit.bindTexture2D(this.anInt4077); + var10.glTexImage2D(3553, 0, 6408, this.anInt4075, this.anInt4079, 0, 6408, 5121, var9); + Class31.memory2D += var9.limit() - this.anInt4074; + this.anInt4074 = var9.limit(); + } + + final void method637(int var1, int var2, int var3) { + HDToolKit.method1828(); + var1 += this.anInt3701; + var2 += this.anInt3698; + GL var4 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4077); + this.method644(1); + var4.glColor4f(1.0F, 1.0F, 1.0F, (float)var3 / 256.0F); + var4.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + var4.glCallList(this.anInt4076); + var4.glLoadIdentity(); + } + + private final void method651() { + float var1 = (float)this.anInt3707 / (float)this.anInt4075; + float var2 = (float)this.anInt3696 / (float)this.anInt4079; + GL var3 = HDToolKit.gl; + if(this.anInt4076 == -1) { + this.anInt4076 = var3.glGenLists(1); + this.anInt4080 = Class31.anInt582; + } + + var3.glNewList(this.anInt4076, 4864); + var3.glBegin(6); + var3.glTexCoord2f(var1, 0.0F); + var3.glVertex2f((float)this.anInt3707, 0.0F); + var3.glTexCoord2f(0.0F, 0.0F); + var3.glVertex2f(0.0F, 0.0F); + var3.glTexCoord2f(0.0F, var2); + var3.glVertex2f(0.0F, (float)(-this.anInt3696)); + var3.glTexCoord2f(var1, var2); + var3.glVertex2f((float)this.anInt3707, (float)(-this.anInt3696)); + var3.glEnd(); + var3.glEndList(); + } + + Class3_Sub28_Sub16_Sub1(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7) { + this.anInt3697 = var1; + this.anInt3706 = var2; + this.anInt3701 = var3; + this.anInt3698 = var4; + this.anInt3707 = var5; + this.anInt3696 = var6; + this.method650(var7); + this.method651(); + } + + Class3_Sub28_Sub16_Sub1(Class3_Sub28_Sub16_Sub2 var1) { + this.anInt3697 = var1.anInt3697; + this.anInt3706 = var1.anInt3706; + this.anInt3701 = var1.anInt3701; + this.anInt3698 = var1.anInt3698; + this.anInt3707 = var1.anInt3707; + this.anInt3696 = var1.anInt3696; + this.method650(var1.anIntArray4081); + this.method651(); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1_Sub1.java new file mode 100644 index 000000000..a1b1c84e1 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub1_Sub1.java @@ -0,0 +1,52 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class3_Sub28_Sub16_Sub1_Sub1 extends Class3_Sub28_Sub16_Sub1 { + + final void method650(int[] var1) { + this.anInt4075 = Class95.method1585((byte)111, this.anInt3707); + this.anInt4079 = Class95.method1585((byte)76, this.anInt3696); + byte[] var2 = new byte[this.anInt4075 * this.anInt4079 * 4]; + int var3 = 0; + int var4 = 0; + int var5 = (this.anInt4075 - this.anInt3707) * 4; + + for(int var6 = 0; var6 < this.anInt3696; ++var6) { + for(int var7 = 0; var7 < this.anInt3707; ++var7) { + int var8 = var1[var4++]; + if(var8 != 0) { + var2[var3++] = (byte)(var8 >> 16); + var2[var3++] = (byte)(var8 >> 8); + var2[var3++] = (byte)var8; + var2[var3++] = (byte)(var8 >> 24); + } else { + var3 += 4; + } + } + + var3 += var5; + } + + ByteBuffer var9 = ByteBuffer.wrap(var2); + GL var10 = HDToolKit.gl; + if(this.anInt4077 == -1) { + int[] var11 = new int[1]; + var10.glGenTextures(1, var11, 0); + this.anInt4077 = var11[0]; + } + + HDToolKit.bindTexture2D(this.anInt4077); + var10.glTexImage2D(3553, 0, 6408, this.anInt4075, this.anInt4079, 0, 6408, 5121, var9); + Class31.memory2D += var9.limit() - this.anInt4074; + this.anInt4074 = var9.limit(); + } + + Class3_Sub28_Sub16_Sub1_Sub1(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7) { + super(var1, var2, var3, var4, var5, var6, var7); + } + + Class3_Sub28_Sub16_Sub1_Sub1(Class3_Sub28_Sub16_Sub2 var1) { + super(var1); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2.java new file mode 100644 index 000000000..39e78f238 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2.java @@ -0,0 +1,1374 @@ +package org.runite.jagex; + +class Class3_Sub28_Sub16_Sub2 extends Class3_Sub28_Sub16 { + + int[] anIntArray4081; + + + final void method652(int var1) { + if(this.anInt3707 != this.anInt3697 || this.anInt3696 != this.anInt3706) { + int var2 = var1; + if(var1 > this.anInt3701) { + var2 = this.anInt3701; + } + + int var3 = var1; + if(var1 + this.anInt3701 + this.anInt3707 > this.anInt3697) { + var3 = this.anInt3697 - this.anInt3701 - this.anInt3707; + } + + int var4 = var1; + if(var1 > this.anInt3698) { + var4 = this.anInt3698; + } + + int var5 = var1; + if(var1 + this.anInt3698 + this.anInt3696 > this.anInt3706) { + var5 = this.anInt3706 - this.anInt3698 - this.anInt3696; + } + + int var6 = this.anInt3707 + var2 + var3; + int var7 = this.anInt3696 + var4 + var5; + int[] var8 = new int[var6 * var7]; + + for(int var9 = 0; var9 < this.anInt3696; ++var9) { + for(int var10 = 0; var10 < this.anInt3707; ++var10) { + var8[(var9 + var4) * var6 + var10 + var2] = this.anIntArray4081[var9 * this.anInt3707 + var10]; + } + } + + this.anIntArray4081 = var8; + this.anInt3707 = var6; + this.anInt3696 = var7; + this.anInt3701 -= var2; + this.anInt3698 -= var4; + } + } + + final void method653() { + int[] var1 = new int[this.anInt3707 * this.anInt3696]; + int var2 = 0; + + for(int var3 = 0; var3 < this.anInt3696; ++var3) { + for(int var4 = this.anInt3707 - 1; var4 >= 0; --var4) { + var1[var2++] = this.anIntArray4081[var4 + var3 * this.anInt3707]; + } + } + + this.anIntArray4081 = var1; + this.anInt3701 = this.anInt3697 - this.anInt3707 - this.anInt3701; + } + + void method635(int var1, int var2) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = 0; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = 0; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method659(Class74.anIntArray1100, this.anIntArray4081, var4, var3, var6, var5, var7, var8); + } + } + + private static final void method654(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + for(var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3++]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for(var11 = var5; var11 < 0; ++var11) { + var2 = var1[var3++]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + final int[] method655() { + int[] var4 = new int[this.anInt3697 * this.anInt3706]; + + for(int var5 = 0; var5 < this.anInt3696; ++var5) { + int var1 = var5 * this.anInt3707; + int var2 = this.anInt3701 + (var5 + this.anInt3698) * this.anInt3697; + + for(int var6 = 0; var6 < this.anInt3707; ++var6) { + int var3 = this.anIntArray4081[var1++]; + var4[var2++] = var3 != 0?-16777216 | var3:0; + } + } + + return var4; + } + + void method636(int var1, int var2, int var3, int var4, int var5, int var6) { + if(var6 != 0) { + var1 -= this.anInt3701 << 4; + var2 -= this.anInt3698 << 4; + double var7 = (double)(var5 & '\uffff') * 9.587379924285257E-5D; + int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); + int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); + int var11 = -var1 * var10 + -var2 * var9; + int var12 = -(-var1) * var9 + -var2 * var10; + int var13 = ((this.anInt3707 << 4) - var1) * var10 + -var2 * var9; + int var14 = -((this.anInt3707 << 4) - var1) * var9 + -var2 * var10; + int var15 = -var1 * var10 + ((this.anInt3696 << 4) - var2) * var9; + int var16 = -(-var1) * var9 + ((this.anInt3696 << 4) - var2) * var10; + int var17 = ((this.anInt3707 << 4) - var1) * var10 + ((this.anInt3696 << 4) - var2) * var9; + int var18 = -((this.anInt3707 << 4) - var1) * var9 + ((this.anInt3696 << 4) - var2) * var10; + int var19; + int var20; + if(var11 < var13) { + var19 = var11; + var20 = var13; + } else { + var19 = var13; + var20 = var11; + } + + if(var15 < var19) { + var19 = var15; + } + + if(var17 < var19) { + var19 = var17; + } + + if(var15 > var20) { + var20 = var15; + } + + if(var17 > var20) { + var20 = var17; + } + + int var21; + int var22; + if(var12 < var14) { + var21 = var12; + var22 = var14; + } else { + var21 = var14; + var22 = var12; + } + + if(var16 < var21) { + var21 = var16; + } + + if(var18 < var21) { + var21 = var18; + } + + if(var16 > var22) { + var22 = var16; + } + + if(var18 > var22) { + var22 = var18; + } + + var19 >>= 12; + var20 = var20 + 4095 >> 12; + var21 >>= 12; + var22 = var22 + 4095 >> 12; + var19 += var3; + var20 += var3; + var21 += var4; + var22 += var4; + var19 >>= 4; + var20 = var20 + 15 >> 4; + var21 >>= 4; + var22 = var22 + 15 >> 4; + if(var19 < Class74.anInt1093) { + var19 = Class74.anInt1093; + } + + if(var20 > Class74.anInt1096) { + var20 = Class74.anInt1096; + } + + if(var21 < Class74.anInt1095) { + var21 = Class74.anInt1095; + } + + if(var22 > Class74.anInt1099) { + var22 = Class74.anInt1099; + } + + var20 = var19 - var20; + if(var20 < 0) { + var22 = var21 - var22; + if(var22 < 0) { + int var23 = var21 * Class74.anInt1092 + var19; + double var24 = 1.6777216E7D / (double)var6; + int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); + int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); + int var28 = (var19 << 4) + 8 - var3; + int var29 = (var21 << 4) + 8 - var4; + int var30 = (var1 << 8) - (var29 * var26 >> 4); + int var31 = (var2 << 8) + (var29 * var27 >> 4); + int var34; + int var35; + int var32; + int var33; + int var38; + int var36; + int var37; + if(var27 == 0) { + if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31; + var37 = var20; + if(var30 >= 0 && var31 >= 0 && var30 - (this.anInt3707 << 12) < 0 && var31 - (this.anInt3696 << 12) < 0) { + for(; var37 < 0; ++var37) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + } + } + + ++var33; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var30 >= 0 && var30 - (this.anInt3707 << 12) < 0) { + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var30 >= 0 && var30 - (this.anInt3707 << 12) < 0) { + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } + } else if(var27 < 0) { + if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31; + var37 = var20; + if(var31 >= 0 && var31 - (this.anInt3696 << 12) < 0) { + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + } else if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31; + var37 = var20; + if(var31 >= 0 && var31 - (this.anInt3696 << 12) < 0) { + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + if(var38 != 0) { + Class74.anIntArray1100[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + + } + } + } + } + + private static final void method656(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + for(var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3--]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3--]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3--]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3--]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for(var11 = var5; var11 < 0; ++var11) { + var2 = var1[var3--]; + if(var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + final void method657(int var1) { + int[] var2 = new int[this.anInt3707 * this.anInt3696]; + int var3 = 0; + + for(int var4 = 0; var4 < this.anInt3696; ++var4) { + for(int var5 = 0; var5 < this.anInt3707; ++var5) { + int var6 = this.anIntArray4081[var3]; + if(var6 == 0) { + if(var5 > 0 && this.anIntArray4081[var3 - 1] != 0) { + var6 = var1; + } else if(var4 > 0 && this.anIntArray4081[var3 - this.anInt3707] != 0) { + var6 = var1; + } else if(var5 < this.anInt3707 - 1 && this.anIntArray4081[var3 + 1] != 0) { + var6 = var1; + } else if(var4 < this.anInt3696 - 1 && this.anIntArray4081[var3 + this.anInt3707] != 0) { + var6 = var1; + } + } + + var2[var3++] = var6; + } + } + + this.anIntArray4081 = var2; + } + + final void method658() { + Class74.method1319(this.anIntArray4081, this.anInt3707, this.anInt3696); + } + + private static final void method659(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for(int var8 = -var5; var8 < 0; ++var8) { + int var9; + for(var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + } + + for(var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { + ; + } + + var3 += var6; + var2 += var7; + } + + } + + void method660(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { + try { + int var10 = -var3 / 2; + int var11 = -var4 / 2; + int var12 = (int)(Math.sin(var7) * 65536.0D); + int var13 = (int)(Math.cos(var7) * 65536.0D); + var12 = var12 * var9 >> 8; + var13 = var13 * var9 >> 8; + int var14 = (var5 << 16) + var11 * var12 + var10 * var13; + int var15 = (var6 << 16) + (var11 * var13 - var10 * var12); + int var16 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var17 = var16; + int var18 = var14; + int var19 = var15; + + for(var1 = -var3; var1 < 0; ++var1) { + int var20 = this.anIntArray4081[(var18 >> 16) + (var19 >> 16) * this.anInt3707]; + if(var20 != 0) { + Class74.anIntArray1100[var17++] = var20; + } else { + ++var17; + } + + var18 += var13; + var19 -= var12; + } + + var14 += var12; + var15 += var13; + var16 += Class74.anInt1092; + } + } catch (Exception var21) { + ; + } + + } + + void method641(int var1, int var2) { + var1 += this.anInt3697 - this.anInt3707 - this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = this.anInt3707 - 1; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = var6 + var6; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 -= var9; + var3 += var9; + var8 -= var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 -= var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method656(Class74.anIntArray1100, this.anIntArray4081, 0, var4, var3, var6, var5, var7, var8); + } + } + + Class3_Sub28_Sub16_Sub2(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7) { + this.anInt3697 = var1; + this.anInt3706 = var2; + this.anInt3701 = var3; + this.anInt3698 = var4; + this.anInt3707 = var5; + this.anInt3696 = var6; + this.anIntArray4081 = var7; + } + + void method637(int var1, int var2, int var3) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var4 = var1 + var2 * Class74.anInt1092; + int var5 = 0; + int var6 = this.anInt3696; + int var7 = this.anInt3707; + int var8 = Class74.anInt1092 - var7; + int var9 = 0; + int var10; + if(var2 < Class74.anInt1095) { + var10 = Class74.anInt1095 - var2; + var6 -= var10; + var2 = Class74.anInt1095; + var5 += var10 * var7; + var4 += var10 * Class74.anInt1092; + } + + if(var2 + var6 > Class74.anInt1099) { + var6 -= var2 + var6 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var10 = Class74.anInt1093 - var1; + var7 -= var10; + var1 = Class74.anInt1093; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if(var1 + var7 > Class74.anInt1096) { + var10 = var1 + var7 - Class74.anInt1096; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if(var7 > 0 && var6 > 0) { + method662(Class74.anIntArray1100, this.anIntArray4081, 0, var5, var4, var7, var6, var8, var9, var3); + } + } + + private static final void method661(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + int var13 = 256 - var12; + int var14 = var3; + + for(int var15 = -var8; var15 < 0; ++var15) { + int var16 = (var4 >> 16) * var11; + + for(int var17 = -var7; var17 < 0; ++var17) { + var2 = var1[(var3 >> 16) + var16]; + if(var2 != 0) { + int var18 = var0[var5]; + var0[var5++] = ((var2 & 16711935) * var12 + (var18 & 16711935) * var13 & -16711936) + ((var2 & '\uff00') * var12 + (var18 & '\uff00') * var13 & 16711680) >> 8; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var14; + var5 += var6; + } + + } + + private static final void method662(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = 256 - var9; + + for(int var11 = -var6; var11 < 0; ++var11) { + for(int var12 = -var5; var12 < 0; ++var12) { + var2 = var1[var3++]; + if(var2 != 0) { + int var13 = var0[var4]; + var0[var4++] = ((var2 & 16711935) * var9 + (var13 & 16711935) * var10 & -16711936) + ((var2 & '\uff00') * var9 + (var13 & '\uff00') * var10 & 16711680) >> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + void method643(int var1, int var2) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = 0; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = 0; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method654(Class74.anIntArray1100, this.anIntArray4081, 0, var4, var3, var6, var5, var7, var8); + } + } + + final void method663() { + int[] var1 = new int[this.anInt3707 * this.anInt3696]; + int var2 = 0; + + for(int var3 = this.anInt3696 - 1; var3 >= 0; --var3) { + for(int var4 = 0; var4 < this.anInt3707; ++var4) { + var1[var2++] = this.anIntArray4081[var4 + var3 * this.anInt3707]; + } + } + + this.anIntArray4081 = var1; + this.anInt3698 = this.anInt3706 - this.anInt3696 - this.anInt3698; + } + + void method664(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = (var5 << 16) + var12 * var13 + var11 * var14; + int var16 = (var6 << 16) + (var12 * var14 - var11 * var13); + int var17 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for(var1 = -var10[var2]; var1 < 0; ++var1) { + Class74.anIntArray1100[var19++] = this.anIntArray4081[(var20 >> 16) + (var21 >> 16) * this.anInt3707]; + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Class74.anInt1092; + } + } catch (Exception var22) { + ; + } + + } + + final void method665() { + if(this.anInt3707 != this.anInt3697 || this.anInt3696 != this.anInt3706) { + int[] var1 = new int[this.anInt3697 * this.anInt3706]; + + for(int var2 = 0; var2 < this.anInt3696; ++var2) { + for(int var3 = 0; var3 < this.anInt3707; ++var3) { + var1[(var2 + this.anInt3698) * this.anInt3697 + var3 + this.anInt3701] = this.anIntArray4081[var2 * this.anInt3707 + var3]; + } + } + + this.anIntArray4081 = var1; + this.anInt3707 = this.anInt3697; + this.anInt3696 = this.anInt3706; + this.anInt3701 = 0; + this.anInt3698 = 0; + } + } + + final void method666(int var1, int var2, int[] var3, int[] var4) { + if(Class74.anInt1099 - Class74.anInt1095 != var3.length) { + throw new IllegalStateException(); + } else { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var5 = 0; + int var6 = this.anInt3696; + int var7 = this.anInt3707; + int var8 = Class74.anInt1092 - var7; + int var9 = 0; + int var10 = var1 + var2 * Class74.anInt1092; + int var11; + if(var2 < Class74.anInt1095) { + var11 = Class74.anInt1095 - var2; + var6 -= var11; + var2 = Class74.anInt1095; + var5 += var11 * var7; + var10 += var11 * Class74.anInt1092; + } + + if(var2 + var6 > Class74.anInt1099) { + var6 -= var2 + var6 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var11 = Class74.anInt1093 - var1; + var7 -= var11; + var1 = Class74.anInt1093; + var5 += var11; + var10 += var11; + var9 += var11; + var8 += var11; + } + + if(var1 + var7 > Class74.anInt1096) { + var11 = var1 + var7 - Class74.anInt1096; + var7 -= var11; + var9 += var11; + var8 += var11; + } + + if(var7 > 0 && var6 > 0) { + var11 = var1 - Class74.anInt1093; + int var12 = var2 - Class74.anInt1095; + + for(int var13 = var12; var13 < var12 + var6; ++var13) { + int var14 = var3[var13]; + int var15 = var4[var13]; + int var16 = var7; + int var17; + if(var11 > var14) { + var17 = var11 - var14; + if(var17 >= var15) { + var5 += var7 + var9; + var10 += var7 + var8; + continue; + } + + var15 -= var17; + } else { + var17 = var14 - var11; + if(var17 >= var7) { + var5 += var7 + var9; + var10 += var7 + var8; + continue; + } + + var5 += var17; + var16 = var7 - var17; + var10 += var17; + } + + var17 = 0; + if(var16 < var15) { + var15 = var16; + } else { + var17 = var16 - var15; + } + + for(int var18 = -var15; var18 < 0; ++var18) { + int var19 = this.anIntArray4081[var5++]; + if(var19 != 0) { + Class74.anIntArray1100[var10++] = var19; + } else { + ++var10; + } + } + + var5 += var17 + var9; + var10 += var17 + var8; + } + + } + } + } + + Class3_Sub28_Sub16_Sub2(int var1, int var2) { + this.anIntArray4081 = new int[var1 * var2]; + this.anInt3707 = this.anInt3697 = var1; + this.anInt3696 = this.anInt3706 = var2; + this.anInt3701 = this.anInt3698 = 0; + } + + void method667(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = (var5 << 16) + var12 * var13 + var11 * var14; + int var16 = (var6 << 16) + (var12 * var14 - var11 * var13); + int var17 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for(var1 = -var10[var2]; var1 < 0; ++var1) { + int var22 = this.anIntArray4081[(var20 >> 16) + (var21 >> 16) * this.anInt3707]; + if(var22 != 0) { + Class74.anIntArray1100[var19++] = var22; + } else { + ++var19; + } + + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Class74.anInt1092; + } + } catch (Exception var23) { + ; + } + + } + + final void method668(int var1) { + for(int var2 = this.anInt3696 - 1; var2 > 0; --var2) { + int var3 = var2 * this.anInt3707; + + for(int var4 = this.anInt3707 - 1; var4 > 0; --var4) { + if(this.anIntArray4081[var4 + var3] == 0 && this.anIntArray4081[var4 + var3 - 1 - this.anInt3707] != 0) { + this.anIntArray4081[var4 + var3] = var1; + } + } + } + + } + + void method642(int var1, int var2, int var3, int var4, int var5) { + if(var3 > 0 && var4 > 0) { + int var6 = this.anInt3707; + int var7 = this.anInt3696; + int var8 = 0; + int var9 = 0; + int var10 = this.anInt3697; + int var11 = this.anInt3706; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if(this.anInt3701 > 0) { + var14 = ((this.anInt3701 << 16) + var12 - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var14 = ((this.anInt3698 << 16) + var13 - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.anInt3698 << 16); + } + + if(var6 < var10) { + var3 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + if(var7 < var11) { + var4 = ((var7 << 16) - var9 + var13 - 1) / var13; + } + + var14 = var1 + var2 * Class74.anInt1092; + int var15 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var16; + if(var2 < Class74.anInt1095) { + var16 = Class74.anInt1095 - var2; + var4 -= var16; + var14 += var16 * Class74.anInt1092; + var9 += var13 * var16; + } + + if(var1 + var3 > Class74.anInt1096) { + var16 = var1 + var3 - Class74.anInt1096; + var3 -= var16; + var15 += var16; + } + + if(var1 < Class74.anInt1093) { + var16 = Class74.anInt1093 - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + method661(Class74.anIntArray1100, this.anIntArray4081, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + } + + final void method669(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anIntArray4081.length; ++var4) { + int var5 = this.anIntArray4081[var4]; + if(var5 != 0) { + int var6 = var5 >> 16 & 255; + var6 += var1; + if(var6 < 1) { + var6 = 1; + } else if(var6 > 255) { + var6 = 255; + } + + int var7 = var5 >> 8 & 255; + var7 += var2; + if(var7 < 1) { + var7 = 1; + } else if(var7 > 255) { + var7 = 255; + } + + int var8 = var5 & 255; + var8 += var3; + if(var8 < 1) { + var8 = 1; + } else if(var8 > 255) { + var8 = 255; + } + + this.anIntArray4081[var4] = (var6 << 16) + (var7 << 8) + var8; + } + } + + } + + void method639(int var1, int var2, int var3, int var4) { + if(var3 > 0 && var4 > 0) { + int var5 = this.anInt3707; + int var6 = this.anInt3696; + int var7 = 0; + int var8 = 0; + int var9 = this.anInt3697; + int var10 = this.anInt3706; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if(this.anInt3701 > 0) { + var13 = ((this.anInt3701 << 16) + var11 - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var13 = ((this.anInt3698 << 16) + var12 - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.anInt3698 << 16); + } + + if(var5 < var9) { + var3 = ((var5 << 16) - var7 + var11 - 1) / var11; + } + + if(var6 < var10) { + var4 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + var13 = var1 + var2 * Class74.anInt1092; + int var14 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var15; + if(var2 < Class74.anInt1095) { + var15 = Class74.anInt1095 - var2; + var4 -= var15; + var13 += var15 * Class74.anInt1092; + var8 += var12 * var15; + } + + if(var1 + var3 > Class74.anInt1096) { + var15 = var1 + var3 - Class74.anInt1096; + var3 -= var15; + var14 += var15; + } + + if(var1 < Class74.anInt1093) { + var15 = Class74.anInt1093 - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + method670(Class74.anIntArray1100, this.anIntArray4081, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + } + + private static final void method670(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; + + for(int var13 = -var8; var13 < 0; ++var13) { + int var14 = (var4 >> 16) * var11; + + for(int var15 = -var7; var15 < 0; ++var15) { + var2 = var1[(var3 >> 16) + var14]; + if(var2 != 0) { + var0[var5++] = var2; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2_Sub1.java new file mode 100644 index 000000000..fe8c4c483 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub16_Sub2_Sub1.java @@ -0,0 +1,987 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub16_Sub2_Sub1 extends Class3_Sub28_Sub16_Sub2 { + + final void method660(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { + try { + int var10 = -var3 / 2; + int var11 = -var4 / 2; + int var12 = (int)(Math.sin(var7) * 65536.0D); + int var13 = (int)(Math.cos(var7) * 65536.0D); + var12 = var12 * var9 >> 8; + var13 = var13 * var9 >> 8; + int var14 = (var5 << 16) + var11 * var12 + var10 * var13; + int var15 = (var6 << 16) + (var11 * var13 - var10 * var12); + int var16 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var17 = var16; + int var18 = var14; + int var19 = var15; + + for(var1 = -var3; var1 < 0; ++var1) { + int var20 = this.anIntArray4081[(var18 >> 16) + (var19 >> 16) * this.anInt3707]; + int var21 = Class74.anIntArray1100[var17]; + int var22 = var20 >>> 24; + int var23 = 256 - var22; + Class74.anIntArray1100[var17++] = ((var20 & 16711935) * var22 + (var21 & 16711935) * var23 & -16711936) + ((var20 & '\uff00') * var22 + (var21 & '\uff00') * var23 & 16711680) >>> 8; + var18 += var13; + var19 -= var12; + } + + var14 += var12; + var15 += var13; + var16 += Class74.anInt1092; + } + } catch (Exception var24) { + ; + } + + } + + final void method643(int var1, int var2) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = 0; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = 0; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method673(Class74.anIntArray1100, this.anIntArray4081, 0, var4, var3, var6, var5, var7, var8); + } + } + + final void method635(int var1, int var2) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = 0; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = 0; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method673(Class74.anIntArray1100, this.anIntArray4081, 0, var4, var3, var6, var5, var7, var8); + } + } + + private static final void method671(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + int var13 = var3; + + for(int var14 = -var8; var14 < 0; ++var14) { + int var15 = (var4 >> 16) * var11; + + for(int var16 = -var7; var16 < 0; ++var16) { + int var17 = var1[(var3 >> 16) + var15]; + int var18 = var0[var5]; + int var19 = (var17 >>> 24) * var12 >> 8; + int var20 = 256 - var19; + var0[var5++] = ((var17 & 16711935) * var19 + (var18 & 16711935) * var20 & -16711936) + ((var17 & '\uff00') * var19 + (var18 & '\uff00') * var20 & 16711680) >>> 8; + var3 += var9; + } + + var4 += var10; + var3 = var13; + var5 += var6; + } + + } + + final void method636(int var1, int var2, int var3, int var4, int var5, int var6) { + if(var6 != 0) { + var1 -= this.anInt3701 << 4; + var2 -= this.anInt3698 << 4; + double var7 = (double)(var5 & '\uffff') * 9.587379924285257E-5D; + int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); + int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); + int var11 = -var1 * var10 + -var2 * var9; + int var12 = -(-var1) * var9 + -var2 * var10; + int var13 = ((this.anInt3707 << 4) - var1) * var10 + -var2 * var9; + int var14 = -((this.anInt3707 << 4) - var1) * var9 + -var2 * var10; + int var15 = -var1 * var10 + ((this.anInt3696 << 4) - var2) * var9; + int var16 = -(-var1) * var9 + ((this.anInt3696 << 4) - var2) * var10; + int var17 = ((this.anInt3707 << 4) - var1) * var10 + ((this.anInt3696 << 4) - var2) * var9; + int var18 = -((this.anInt3707 << 4) - var1) * var9 + ((this.anInt3696 << 4) - var2) * var10; + int var19; + int var20; + if(var11 < var13) { + var19 = var11; + var20 = var13; + } else { + var19 = var13; + var20 = var11; + } + + if(var15 < var19) { + var19 = var15; + } + + if(var17 < var19) { + var19 = var17; + } + + if(var15 > var20) { + var20 = var15; + } + + if(var17 > var20) { + var20 = var17; + } + + int var21; + int var22; + if(var12 < var14) { + var21 = var12; + var22 = var14; + } else { + var21 = var14; + var22 = var12; + } + + if(var16 < var21) { + var21 = var16; + } + + if(var18 < var21) { + var21 = var18; + } + + if(var16 > var22) { + var22 = var16; + } + + if(var18 > var22) { + var22 = var18; + } + + var19 >>= 12; + var20 = var20 + 4095 >> 12; + var21 >>= 12; + var22 = var22 + 4095 >> 12; + var19 += var3; + var20 += var3; + var21 += var4; + var22 += var4; + var19 >>= 4; + var20 = var20 + 15 >> 4; + var21 >>= 4; + var22 = var22 + 15 >> 4; + if(var19 < Class74.anInt1093) { + var19 = Class74.anInt1093; + } + + if(var20 > Class74.anInt1096) { + var20 = Class74.anInt1096; + } + + if(var21 < Class74.anInt1095) { + var21 = Class74.anInt1095; + } + + if(var22 > Class74.anInt1099) { + var22 = Class74.anInt1099; + } + + var20 = var19 - var20; + if(var20 < 0) { + var22 = var21 - var22; + if(var22 < 0) { + int var23 = var21 * Class74.anInt1092 + var19; + double var24 = 1.6777216E7D / (double)var6; + int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); + int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); + int var28 = (var19 << 4) + 8 - var3; + int var29 = (var21 << 4) + 8 - var4; + int var30 = (var1 << 8) - (var29 * var26 >> 4); + int var31 = (var2 << 8) + (var29 * var27 >> 4); + int var34; + int var35; + int var32; + int var33; + int var38; + int var39; + int var36; + int var37; + int var40; + int var41; + if(var27 == 0) { + if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31; + var37 = var20; + if(var30 >= 0 && var31 >= 0 && var30 - (this.anInt3707 << 12) < 0 && var31 - (this.anInt3696 << 12) < 0) { + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + ++var37; + } + } + + ++var33; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var30 >= 0 && var30 - (this.anInt3707 << 12) < 0) { + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30; + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var30 >= 0 && var30 - (this.anInt3707 << 12) < 0) { + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } + } else if(var27 < 0) { + if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31; + var37 = var20; + if(var31 >= 0 && var31 - (this.anInt3696 << 12) < 0) { + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if((var32 = var35 - (this.anInt3707 << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + } else if(var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31; + var37 = var20; + if(var31 >= 0 && var31 - (this.anInt3696 << 12) < 0) { + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if(var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if((var32 = var36 - (this.anInt3696 << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Class74.anInt1092) { + var34 = var23; + var35 = var30 + (var28 * var27 >> 4); + var36 = var31 + (var28 * var26 >> 4); + var37 = var20; + if(var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if((var32 = (1 + var35 - (this.anInt3707 << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if(var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if((var32 = (1 + var36 - (this.anInt3696 << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.anIntArray4081[(var36 >> 12) * this.anInt3707 + (var35 >> 12)]; + var39 = Class74.anIntArray1100[var34]; + var40 = var38 >>> 24; + var41 = 256 - var40; + Class74.anIntArray1100[var34++] = ((var38 & 16711935) * var40 + (var39 & 16711935) * var41 & -16711936) + ((var38 & '\uff00') * var40 + (var39 & '\uff00') * var41 & 16711680) >>> 8; + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + + } + } + } + } + + final void method664(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = (var5 << 16) + var12 * var13 + var11 * var14; + int var16 = (var6 << 16) + (var12 * var14 - var11 * var13); + int var17 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for(var1 = -var10[var2]; var1 < 0; ++var1) { + int var22 = this.anIntArray4081[(var20 >> 16) + (var21 >> 16) * this.anInt3707]; + int var23 = Class74.anIntArray1100[var19]; + int var24 = var22 >>> 24; + int var25 = 256 - var24; + Class74.anIntArray1100[var19++] = ((var22 & 16711935) * var24 + (var23 & 16711935) * var25 & -16711936) + ((var22 & '\uff00') * var24 + (var23 & '\uff00') * var25 & 16711680) >>> 8; + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Class74.anInt1092; + } + } catch (Exception var26) { + ; + } + + } + + final void method667(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = (var5 << 16) + var12 * var13 + var11 * var14; + int var16 = (var6 << 16) + (var12 * var14 - var11 * var13); + int var17 = var1 + var2 * Class74.anInt1092; + + for(var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for(var1 = -var10[var2]; var1 < 0; ++var1) { + int var22 = this.anIntArray4081[(var20 >> 16) + (var21 >> 16) * this.anInt3707]; + int var23 = Class74.anIntArray1100[var19]; + int var24 = var22 >>> 24; + int var25 = 256 - var24; + Class74.anIntArray1100[var19++] = ((var22 & 16711935) * var24 + (var23 & 16711935) * var25 & -16711936) + ((var22 & '\uff00') * var24 + (var23 & '\uff00') * var25 & 16711680) >>> 8; + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Class74.anInt1092; + } + } catch (Exception var26) { + ; + } + + } + + final void method642(int var1, int var2, int var3, int var4, int var5) { + if(var3 > 0 && var4 > 0) { + int var6 = this.anInt3707; + int var7 = this.anInt3696; + int var8 = 0; + int var9 = 0; + int var10 = this.anInt3697; + int var11 = this.anInt3706; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if(this.anInt3701 > 0) { + var14 = ((this.anInt3701 << 16) + var12 - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var14 = ((this.anInt3698 << 16) + var13 - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.anInt3698 << 16); + } + + if(var6 < var10) { + var3 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + if(var7 < var11) { + var4 = ((var7 << 16) - var9 + var13 - 1) / var13; + } + + var14 = var1 + var2 * Class74.anInt1092; + int var15 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var16; + if(var2 < Class74.anInt1095) { + var16 = Class74.anInt1095 - var2; + var4 -= var16; + var14 += var16 * Class74.anInt1092; + var9 += var13 * var16; + } + + if(var1 + var3 > Class74.anInt1096) { + var16 = var1 + var3 - Class74.anInt1096; + var3 -= var16; + var15 += var16; + } + + if(var1 < Class74.anInt1093) { + var16 = Class74.anInt1093 - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + method671(Class74.anIntArray1100, this.anIntArray4081, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + } + + Class3_Sub28_Sub16_Sub2_Sub1(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7) { + super(var1, var2, var3, var4, var5, var6, var7); + } + + private static final void method672(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -var5; + + for(int var10 = -var6; var10 < 0; ++var10) { + for(int var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3--]; + int var12 = var2 >>> 24; + if(var12 != 0) { + int var13 = 256 - var12; + int var14 = var0[var4]; + var0[var4++] = ((var2 & 16711935) * var12 + (var14 & 16711935) * var13 & -16711936) + ((var2 & '\uff00') * var12 + (var14 & '\uff00') * var13 & 16711680) >>> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + final void method639(int var1, int var2, int var3, int var4) { + if(var3 > 0 && var4 > 0) { + int var5 = this.anInt3707; + int var6 = this.anInt3696; + int var7 = 0; + int var8 = 0; + int var9 = this.anInt3697; + int var10 = this.anInt3706; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if(this.anInt3701 > 0) { + var13 = ((this.anInt3701 << 16) + var11 - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.anInt3701 << 16); + } + + if(this.anInt3698 > 0) { + var13 = ((this.anInt3698 << 16) + var12 - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.anInt3698 << 16); + } + + if(var5 < var9) { + var3 = ((var5 << 16) - var7 + var11 - 1) / var11; + } + + if(var6 < var10) { + var4 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + var13 = var1 + var2 * Class74.anInt1092; + int var14 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var15; + if(var2 < Class74.anInt1095) { + var15 = Class74.anInt1095 - var2; + var4 -= var15; + var13 += var15 * Class74.anInt1092; + var8 += var12 * var15; + } + + if(var1 + var3 > Class74.anInt1096) { + var15 = var1 + var3 - Class74.anInt1096; + var3 -= var15; + var14 += var15; + } + + if(var1 < Class74.anInt1093) { + var15 = Class74.anInt1093 - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + method675(Class74.anIntArray1100, this.anIntArray4081, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + } + + final void method641(int var1, int var2) { + var1 += this.anInt3697 - this.anInt3707 - this.anInt3701; + var2 += this.anInt3698; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = this.anInt3707 - 1; + int var5 = this.anInt3696; + int var6 = this.anInt3707; + int var7 = Class74.anInt1092 - var6; + int var8 = var6 + var6; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 -= var9; + var3 += var9; + var8 -= var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 -= var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method672(Class74.anIntArray1100, this.anIntArray4081, 0, var4, var3, var6, var5, var7, var8); + } + } + + final void method637(int var1, int var2, int var3) { + var1 += this.anInt3701; + var2 += this.anInt3698; + int var4 = var1 + var2 * Class74.anInt1092; + int var5 = 0; + int var6 = this.anInt3696; + int var7 = this.anInt3707; + int var8 = Class74.anInt1092 - var7; + int var9 = 0; + int var10; + if(var2 < Class74.anInt1095) { + var10 = Class74.anInt1095 - var2; + var6 -= var10; + var2 = Class74.anInt1095; + var5 += var10 * var7; + var4 += var10 * Class74.anInt1092; + } + + if(var2 + var6 > Class74.anInt1099) { + var6 -= var2 + var6 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var10 = Class74.anInt1093 - var1; + var7 -= var10; + var1 = Class74.anInt1093; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if(var1 + var7 > Class74.anInt1096) { + var10 = var1 + var7 - Class74.anInt1096; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if(var7 > 0 && var6 > 0) { + method674(Class74.anIntArray1100, this.anIntArray4081, 0, var5, var4, var7, var6, var8, var9, var3); + } + } + + private static final void method673(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -var5; + + for(int var10 = -var6; var10 < 0; ++var10) { + for(int var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3++]; + int var12 = var2 >>> 24; + if(var12 != 0) { + int var13 = 256 - var12; + int var14 = var0[var4]; + var0[var4++] = ((var2 & 16711935) * var12 + (var14 & 16711935) * var13 & -16711936) + ((var2 & '\uff00') * var12 + (var14 & '\uff00') * var13 & 16711680) >>> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + private static final void method674(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + for(int var10 = -var6; var10 < 0; ++var10) { + for(int var11 = -var5; var11 < 0; ++var11) { + int var12 = (var1[var3] >>> 24) * var9 >> 8; + int var13 = 256 - var12; + int var14 = var1[var3++]; + int var15 = var0[var4]; + var0[var4++] = ((var14 & 16711935) * var12 + (var15 & 16711935) * var13 & -16711936) + ((var14 & '\uff00') * var12 + (var15 & '\uff00') * var13 & 16711680) >>> 8; + } + + var4 += var7; + var3 += var8; + } + + } + + private static final void method675(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; + + for(int var13 = -var8; var13 < 0; ++var13) { + int var14 = (var4 >> 16) * var11; + + for(int var15 = -var7; var15 < 0; ++var15) { + var2 = var1[(var3 >> 16) + var14]; + int var16 = var2 >>> 24; + if(var16 != 0) { + int var17 = 256 - var16; + int var18 = var0[var5]; + var0[var5++] = ((var2 & 16711935) * var16 + (var18 & 16711935) * var17 & -16711936) + ((var2 & '\uff00') * var16 + (var18 & '\uff00') * var17 & 16711680) >>> 8; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17.java new file mode 100644 index 000000000..2236437a3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17.java @@ -0,0 +1,1048 @@ +package org.runite.jagex; +import java.util.Random; + +abstract class Class3_Sub28_Sub17 extends Node { + + int[] anIntArray3709; + private int anInt3710; + private static RSString aClass94_3711 = RSString.createRSString("gt"); + private static RSString aClass94_3712 = RSString.createRSString("lt"); + private static RSString aClass94_3713 = RSString.createRSString("shad="); + private static RSString aClass94_3714 = RSString.createRSString("shy"); + private static RSString aClass94_3715 = RSString.createRSString("trans="); + private static RSString aClass94_3716 = RSString.createRSString("u="); + private static RSString aClass94_3717 = RSString.createRSString("str="); + private static RSString aClass94_3718 = RSString.createRSString("euro"); + private int[] anIntArray3719; + private static RSString aClass94_3720 = RSString.createRSString(")4col"); + int[] anIntArray3721; + private int anInt3722; + private int[] anIntArray3723; + private static RSString aClass94_3724 = RSString.createRSString(")4shad"); + private static RSString aClass94_3725 = RSString.createRSString("col="); + private static RSString aClass94_3726 = RSString.createRSString(""); + int anInt3727 = 0; + private static RSString aClass94_3728 = RSString.createRSString("u"); + private static RSString aClass94_3729 = RSString.createRSString("times"); + private int[] anIntArray3730; + private static RSString aClass94_3731 = RSString.createRSString(")4trans"); + private static RSString aClass94_3732 = RSString.createRSString("nbsp"); + private byte[] aByteArray3733; + private static RSString aClass94_3734 = RSString.createRSString(""); + private static RSString aClass94_3735 = RSString.createRSString(")4u"); + private int[] anIntArray3736; + private static RSString aClass94_3737 = RSString.createRSString("br"); + private static RSString aClass94_3738 = RSString.createRSString("shad"); + private static RSString aClass94_3739 = RSString.createRSString("img="); + private AbstractIndexedSprite[] aClass109Array3740; + private static RSString aClass94_3741 = RSString.createRSString("copy"); + private static RSString aClass94_3742 = RSString.createRSString(")4str"); + private static RSString aClass94_3743 = RSString.createRSString("reg"); + private static RSString aClass94_3744 = RSString.createRSString("str"); + private static RSString aClass94_3745 = Class47.method1090((byte)-123, 100); + private static int anInt3746 = -1; + private static int anInt3747 = -1; + private static int anInt3748 = 0; + private static int anInt3749 = 0; + private static int anInt3750 = 256; + private static int anInt3751 = 256; + private static int anInt3752 = -1; + private static RSString[] aClass94Array3753 = new RSString[100]; + private static int anInt3754 = -1; + private static int anInt3755 = 0; + private static int anInt3756 = 0; + + + final int method676(RSString var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + return this.method693(var1, var2, var3, var4, var5, var6, var7, 256, var8, var9, var10); + } + + private final void method677(RSString var1, int var2, int var3) { + var3 -= this.anInt3727; + int var4 = -1; + int var5 = 0; + int var6 = var1.length(-34); + + for(int var7 = 0; var7 < var6; ++var7) { + int var8 = var1.charAt(var7, (byte)72); + if(var8 == 60) { + var4 = var7; + } else { + int var10; + if(var8 == 62 && var4 != -1) { + RSString var9 = var1.method1557(var7, 0, var4 + 1); + var4 = -1; + if(var9.method1528((byte)-42, aClass94_3712)) { + var8 = 60; + } else if(var9.method1528((byte)-42, aClass94_3711)) { + var8 = 62; + } else if(var9.method1528((byte)-42, aClass94_3732)) { + var8 = 160; + } else if(var9.method1528((byte)-42, aClass94_3714)) { + var8 = 173; + } else if(var9.method1528((byte)-42, aClass94_3729)) { + var8 = 215; + } else if(var9.method1528((byte)-42, aClass94_3718)) { + var8 = 128; + } else if(var9.method1528((byte)-42, aClass94_3741)) { + var8 = 169; + } else { + if(!var9.method1528((byte)-42, aClass94_3743)) { + if(var9.method1558(aClass94_3739, 0)) { + try { + var10 = var9.method1556(4, (byte)-74).method1552((byte)-98); + AbstractIndexedSprite var15 = this.aClass109Array3740[var10]; + int var12 = this.anIntArray3723 != null?this.anIntArray3723[var10]:var15.anInt1467; + if(anInt3750 == 256) { + var15.method1667(var2, var3 + this.anInt3727 - var12); + } else { + var15.method1666(var2, var3 + this.anInt3727 - var12, anInt3750); + } + + var2 += var15.anInt1469; + var5 = 0; + } catch (Exception var13) { + ; + } + } else { + this.method685(var9); + } + continue; + } + + var8 = 174; + } + } + + if(var4 == -1) { + if(this.aByteArray3733 != null && var5 != 0) { + var2 += this.aByteArray3733[(var5 << 8) + var8]; + } + + int var14 = this.anIntArray3709[var8]; + var10 = this.anIntArray3721[var8]; + if(var8 != 32) { + if(anInt3750 == 256) { + if(anInt3754 != -1) { + this.method678(var8, var2 + this.anIntArray3719[var8] + 1, var3 + this.anIntArray3730[var8] + 1, var14, var10, anInt3754, true); + } + + this.method678(var8, var2 + this.anIntArray3719[var8], var3 + this.anIntArray3730[var8], var14, var10, anInt3755, false); + } else { + if(anInt3754 != -1) { + this.method679(var8, var2 + this.anIntArray3719[var8] + 1, var3 + this.anIntArray3730[var8] + 1, var14, var10, anInt3754, anInt3750, true); + } + + this.method679(var8, var2 + this.anIntArray3719[var8], var3 + this.anIntArray3730[var8], var14, var10, anInt3755, anInt3750, false); + } + } else if(anInt3756 > 0) { + anInt3748 += anInt3756; + var2 += anInt3748 >> 8; + anInt3748 &= 255; + } + + int var11 = this.anIntArray3736[var8]; + if(anInt3746 != -1) { + if(HDToolKit.highDetail) { + Class22.method922(var2, var3 + (int)((double)this.anInt3727 * 0.7D), var11, anInt3746); + } else { + Class74.method1317(var2, var3 + (int)((double)this.anInt3727 * 0.7D), var11, anInt3746); + } + } + + if(anInt3747 != -1) { + if(HDToolKit.highDetail) { + Class22.method922(var2, var3 + this.anInt3727 + 1, var11, anInt3747); + } else { + Class74.method1317(var2, var3 + this.anInt3727 + 1, var11, anInt3747); + } + } + + var2 += var11; + var5 = var8; + } + } + } + + } + + abstract void method678(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7); + + abstract void method679(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8); + + final int method680(RSString var1, int var2) { + int var3 = this.method691(var1, new int[]{var2}, aClass94Array3753); + int var4 = 0; + + for(int var5 = 0; var5 < var3; ++var5) { + int var6 = this.method682(aClass94Array3753[var5]); + if(var6 > var4) { + var4 = var6; + } + } + + return var4; + } + + final void method681(RSString var1, int var2, int var3, int var4, int var5) { + if(var1 != null) { + this.method698(var4, var5); + this.method677(var1, var2, var3); + } + } + + final int method682(RSString var1) { + if(var1 == null) { + return 0; + } else { + int var2 = -1; + int var3 = 0; + int var4 = 0; + int var5 = var1.length(-105); + + for(int var6 = 0; var6 < var5; ++var6) { + int var7 = var1.charAt(var6, (byte)-45); + if(var7 == 60) { + var2 = var6; + } else { + if(var7 == 62 && var2 != -1) { + RSString var8 = var1.method1557(var6, 0, var2 + 1); + var2 = -1; + if(var8.method1528((byte)-42, aClass94_3712)) { + var7 = 60; + } else if(var8.method1528((byte)-42, aClass94_3711)) { + var7 = 62; + } else if(var8.method1528((byte)-42, aClass94_3732)) { + var7 = 160; + } else if(var8.method1528((byte)-42, aClass94_3714)) { + var7 = 173; + } else if(var8.method1528((byte)-42, aClass94_3729)) { + var7 = 215; + } else if(var8.method1528((byte)-42, aClass94_3718)) { + var7 = 128; + } else if(var8.method1528((byte)-42, aClass94_3741)) { + var7 = 169; + } else { + if(!var8.method1528((byte)-42, aClass94_3743)) { + if(var8.method1558(aClass94_3739, 0)) { + try { + int var9 = var8.method1556(4, (byte)-74).method1552((byte)-101); + var4 += this.aClass109Array3740[var9].anInt1469; + var3 = 0; + } catch (Exception var10) { + ; + } + } + continue; + } + + var7 = 174; + } + } + + if(var2 == -1) { + var4 += this.anIntArray3736[var7]; + if(this.aByteArray3733 != null && var3 != 0) { + var4 += this.aByteArray3733[(var3 << 8) + var7]; + } + + var3 = var7; + } + } + } + + return var4; + } + } + + final int method683(RSString var1, int var2, int var3, int var4, int var5, Random var6, int var7) { + if(var1 == null) { + return 0; + } else { + var6.setSeed((long)var7); + this.method701(var4, var5, 192 + (var6.nextInt() & 31)); + int var8 = var1.length(-40); + int[] var9 = new int[var8]; + int var10 = 0; + + for(int var11 = 0; var11 < var8; ++var11) { + var9[var11] = var10; + if((var6.nextInt() & 3) == 0) { + ++var10; + } + } + + this.method703(var1, var2, var3, var9, (int[])null); + return var10; + } + } + + final int method684(RSString var1, int var2) { + return this.method691(var1, new int[]{var2}, aClass94Array3753); + } + + private final void method685(RSString var1) { + try { + if(var1.method1558(aClass94_3725, 0)) { + anInt3755 = var1.method1556(4, (byte)-74).method1530((byte)70, 16); + } else if(var1.method1528((byte)-42, aClass94_3720)) { + anInt3755 = anInt3749; + } else if(var1.method1558(aClass94_3715, 0)) { + anInt3750 = var1.method1556(6, (byte)-74).method1552((byte)-95); + } else if(var1.method1528((byte)-42, aClass94_3731)) { + anInt3750 = anInt3751; + } else if(var1.method1558(aClass94_3717, 0)) { + anInt3746 = var1.method1556(4, (byte)-74).method1530((byte)54, 16); + } else if(var1.method1528((byte)-42, aClass94_3744)) { + anInt3746 = 8388608; + } else if(var1.method1528((byte)-42, aClass94_3742)) { + anInt3746 = -1; + } else if(var1.method1558(aClass94_3716, 0)) { + anInt3747 = var1.method1556(2, (byte)-74).method1530((byte)62, 16); + } else if(var1.method1528((byte)-42, aClass94_3728)) { + anInt3747 = 0; + } else if(var1.method1528((byte)-42, aClass94_3735)) { + anInt3747 = -1; + } else if(var1.method1558(aClass94_3713, 0)) { + anInt3754 = var1.method1556(5, (byte)-74).method1530((byte)82, 16); + } else if(var1.method1528((byte)-42, aClass94_3738)) { + anInt3754 = 0; + } else if(var1.method1528((byte)-42, aClass94_3724)) { + anInt3754 = anInt3752; + } else if(var1.method1528((byte)-42, aClass94_3737)) { + this.method701(anInt3749, anInt3752, anInt3751); + } + } catch (Exception var3) { + ; + } + + } + + static final RSString method686(RSString var0) { + int var1 = var0.length(-94); + int var2 = 0; + + int var4; + for(int var3 = 0; var3 < var1; ++var3) { + var4 = var0.charAt(var3, (byte)50); + if(var4 == 60 || var4 == 62) { + var2 += 3; + } + } + + RSString var6 = Class47.method1090((byte)-92, var1 + var2); + + for(var4 = 0; var4 < var1; ++var4) { + int var5 = var0.charAt(var4, (byte)-101); + if(var5 == 60) { + var6.method1533(aClass94_3734, true); + } else if(var5 == 62) { + var6.method1533(aClass94_3726, true); + } else { + var6.method1572(var5, (byte)115); + } + } + + return var6; + } + + private final int method687(int var1) { + return this.anIntArray3736[var1 & 255]; + } + + final void method688(RSString var1, int var2, int var3, int var4, int var5) { + if(var1 != null) { + this.method698(var4, var5); + this.method677(var1, var2 - this.method682(var1), var3); + } + } + + public static void method689() { + aClass94_3712 = null; + aClass94_3711 = null; + aClass94_3732 = null; + aClass94_3714 = null; + aClass94_3729 = null; + aClass94_3718 = null; + aClass94_3741 = null; + aClass94_3743 = null; + aClass94_3739 = null; + aClass94_3737 = null; + aClass94_3734 = null; + aClass94_3726 = null; + aClass94_3725 = null; + aClass94_3720 = null; + aClass94_3715 = null; + aClass94_3731 = null; + aClass94_3716 = null; + aClass94_3728 = null; + aClass94_3735 = null; + aClass94_3713 = null; + aClass94_3738 = null; + aClass94_3724 = null; + aClass94_3717 = null; + aClass94_3744 = null; + aClass94_3742 = null; + aClass94_3745 = null; + aClass94Array3753 = null; + } + + private final void method690(RSString var1, int var2) { + int var3 = 0; + boolean var4 = false; + int var5 = var1.length(-78); + + for(int var6 = 0; var6 < var5; ++var6) { + int var7 = var1.charAt(var6, (byte)75); + if(var7 == 60) { + var4 = true; + } else if(var7 == 62) { + var4 = false; + } else if(!var4 && var7 == 32) { + ++var3; + } + } + + if(var3 > 0) { + anInt3756 = (var2 - this.method682(var1) << 8) / var3; + } + + } + + final int method691(RSString var1, int[] var2, RSString[] var3) { + if(var1 == null) { + return 0; + } else { + aClass94_3745.method1553(0, false); + int var4 = 0; + int var5 = 0; + int var6 = -1; + int var7 = 0; + byte var8 = 0; + int var9 = -1; + int var10 = 0; + int var11 = 0; + int var12 = var1.length(-93); + + for(int var13 = 0; var13 < var12; ++var13) { + int var14 = var1.charAt(var13, (byte)-30); + if(var14 == 60) { + var9 = var13; + } else { + if(var14 == 62 && var9 != -1) { + RSString var15 = var1.method1557(var13, 0, var9 + 1); + var9 = -1; + aClass94_3745.method1572(60, (byte)111); + aClass94_3745.method1533(var15, true); + aClass94_3745.method1572(62, (byte)112); + if(var15.method1528((byte)-42, aClass94_3737)) { + if(var3[var11] != null) { + var3[var11].method1553(0, false); + var3[var11].method1542(1, aClass94_3745, var5, aClass94_3745.length(-72)); + } else { + var3[var11] = aClass94_3745.method1563(101).method1557(aClass94_3745.length(-91), 0, var5); + } + + ++var11; + var5 = aClass94_3745.length(-26); + var4 = 0; + var6 = -1; + var10 = 0; + } else if(var15.method1528((byte)-42, aClass94_3712)) { + var4 += this.method687(60); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 60]; + } + + var10 = 60; + } else if(var15.method1528((byte)-42, aClass94_3711)) { + var4 += this.method687(62); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 62]; + } + + var10 = 62; + } else if(var15.method1528((byte)-42, aClass94_3732)) { + var4 += this.method687(160); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 160]; + } + + var10 = 160; + } else if(var15.method1528((byte)-42, aClass94_3714)) { + var4 += this.method687(173); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 173]; + } + + var10 = 173; + } else if(var15.method1528((byte)-42, aClass94_3729)) { + var4 += this.method687(215); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 215]; + } + + var10 = 215; + } else if(var15.method1528((byte)-42, aClass94_3718)) { + var4 += this.method687(128); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 128]; + } + + var10 = 128; + } else if(var15.method1528((byte)-42, aClass94_3741)) { + var4 += this.method687(169); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 169]; + } + + var10 = 169; + } else if(var15.method1528((byte)-42, aClass94_3743)) { + var4 += this.method687(174); + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + 174]; + } + + var10 = 174; + } else if(var15.method1558(aClass94_3739, 0)) { + try { + int var16 = var15.method1556(4, (byte)-74).method1552((byte)-102); + var4 += this.aClass109Array3740[var16].anInt1469; + var10 = 0; + } catch (Exception var17) { + ; + } + } + + var14 = 0; + } + + if(var9 == -1) { + if(var14 != 0) { + aClass94_3745.method1572(var14, (byte)127); + var4 += this.anIntArray3736[var14]; + if(this.aByteArray3733 != null && var10 != 0) { + var4 += this.aByteArray3733[(var10 << 8) + var14]; + } + + var10 = var14; + } + + if(var14 == 32) { + var6 = aClass94_3745.length(-71); + var7 = var4; + var8 = 1; + } + + if(var2 != null && var4 > var2[var11 < var2.length?var11:var2.length - 1] && var6 >= 0) { + if(var3[var11] != null) { + var3[var11].method1553(0, false); + var3[var11] = var3[var11].method1542(1, aClass94_3745, var5, var6 - var8); + } else { + var3[var11] = aClass94_3745.method1563(88).method1557(var6 - var8, 0, var5); + } + + ++var11; + var5 = var6; + var6 = -1; + var4 -= var7; + var10 = 0; + } + + if(var14 == 45) { + var6 = aClass94_3745.length(-104); + var7 = var4; + var8 = 0; + } + } + } + } + + if(aClass94_3745.length(-78) > var5) { + if(var3[var11] != null) { + var3[var11].method1553(0, false); + var3[var11] = var3[var11].method1542(1, aClass94_3745, var5, aClass94_3745.length(-64)); + } else { + var3[var11] = aClass94_3745.method1563(94).method1557(aClass94_3745.length(-89), 0, var5); + } + + ++var11; + } + + return var11; + } + } + + final void method692(RSString var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if(var1 != null) { + this.method698(var4, var5); + double var8 = 7.0D - (double)var7 / 8.0D; + if(var8 < 0.0D) { + var8 = 0.0D; + } + + int var10 = var1.length(-27); + int[] var11 = new int[var10]; + + for(int var12 = 0; var12 < var10; ++var12) { + var11[var12] = (int)(Math.sin((double)var12 / 1.5D + (double)var6 / 1.0D) * var8); + } + + this.method703(var1, var2 - this.method682(var1) / 2, var3, (int[])null, var11); + } + } + + final int method693(RSString var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + if(var1 == null) { + return 0; + } else { + this.method701(var6, var7, var8); + if(var11 == 0) { + var11 = this.anInt3727; + } + + int[] var12 = new int[]{var4}; + if(var5 < this.anInt3722 + this.anInt3710 + var11 && var5 < var11 + var11) { + var12 = null; + } + + int var13 = this.method691(var1, var12, aClass94Array3753); + if(var10 == 3 && var13 == 1) { + var10 = 1; + } + + int var14; + int var15; + if(var10 == 0) { + var14 = var3 + this.anInt3722; + } else if(var10 == 1) { + var14 = var3 + this.anInt3722 + (var5 - this.anInt3722 - this.anInt3710 - (var13 - 1) * var11) / 2; + } else if(var10 == 2) { + var14 = var3 + var5 - this.anInt3710 - (var13 - 1) * var11; + } else { + var15 = (var5 - this.anInt3722 - this.anInt3710 - (var13 - 1) * var11) / (var13 + 1); + if(var15 < 0) { + var15 = 0; + } + + var14 = var3 + this.anInt3722 + var15; + var11 += var15; + } + + for(var15 = 0; var15 < var13; ++var15) { + if(var9 == 0) { + this.method677(aClass94Array3753[var15], var2, var14); + } else if(var9 == 1) { + this.method677(aClass94Array3753[var15], var2 + (var4 - this.method682(aClass94Array3753[var15])) / 2, var14); + } else if(var9 == 2) { + this.method677(aClass94Array3753[var15], var2 + var4 - this.method682(aClass94Array3753[var15]), var14); + } else if(var15 == var13 - 1) { + this.method677(aClass94Array3753[var15], var2, var14); + } else { + this.method690(aClass94Array3753[var15], var4); + this.method677(aClass94Array3753[var15], var2, var14); + anInt3756 = 0; + } + + var14 += var11; + } + + return var13; + } + } + + private static final int method694(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { + int var7 = var2[var5]; + int var8 = var7 + var4[var5]; + int var9 = var2[var6]; + int var10 = var9 + var4[var6]; + int var11 = var7; + if(var9 > var7) { + var11 = var9; + } + + int var12 = var8; + if(var10 < var8) { + var12 = var10; + } + + int var13 = var3[var5]; + if(var3[var6] < var13) { + var13 = var3[var6]; + } + + byte[] var14 = var1[var5]; + byte[] var15 = var0[var6]; + int var16 = var11 - var7; + int var17 = var11 - var9; + + for(int var18 = var11; var18 < var12; ++var18) { + int var19 = var14[var16++] + var15[var17++]; + if(var19 < var13) { + var13 = var19; + } + } + + return -var13; + } + + final void method695(RSString var1, int var2, int var3, int var4, int var5, int var6) { + if(var1 != null) { + this.method698(var4, var5); + int var7 = var1.length(-61); + int[] var8 = new int[var7]; + int[] var9 = new int[var7]; + + for(int var10 = 0; var10 < var7; ++var10) { + var8[var10] = (int)(Math.sin((double)var10 / 5.0D + (double)var6 / 5.0D) * 5.0D); + var9[var10] = (int)(Math.sin((double)var10 / 3.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.method703(var1, var2 - this.method682(var1) / 2, var3, var8, var9); + } + } + + final void method696(RSString var1, int var2, int var3, int var4, int var5, int var6) { + if(var1 != null) { + this.method698(var4, var5); + int var7 = var1.length(-128); + int[] var8 = new int[var7]; + + for(int var9 = 0; var9 < var7; ++var9) { + var8[var9] = (int)(Math.sin((double)var9 / 2.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.method703(var1, var2 - this.method682(var1) / 2, var3, (int[])null, var8); + } + } + + final void method697(AbstractIndexedSprite[] var1, int[] var2) { + if(var2 != null && var2.length != var1.length) { + throw new IllegalArgumentException(); + } else { + this.aClass109Array3740 = var1; + this.anIntArray3723 = var2; + } + } + + private final void method698(int var1, int var2) { + anInt3746 = -1; + anInt3747 = -1; + anInt3752 = var2; + anInt3754 = var2; + anInt3749 = var1; + anInt3755 = var1; + anInt3751 = 256; + anInt3750 = 256; + anInt3756 = 0; + anInt3748 = 0; + } + + final void method699(RSString var1, int var2, int var3, int var4, int var5) { + if(var1 != null) { + this.method698(var4, var5); + this.method677(var1, var2 - this.method682(var1) / 2, var3); + } + } + + private final void method700(byte[] var1) { + this.anIntArray3736 = new int[256]; + int var2; + if(var1.length == 257) { + for(var2 = 0; var2 < this.anIntArray3736.length; ++var2) { + this.anIntArray3736[var2] = var1[var2] & 255; + } + + this.anInt3727 = var1[256] & 255; + } else { + var2 = 0; + + for(int var3 = 0; var3 < 256; ++var3) { + this.anIntArray3736[var3] = var1[var2++] & 255; + } + + int[] var10 = new int[256]; + int[] var4 = new int[256]; + + int var5; + for(var5 = 0; var5 < 256; ++var5) { + var10[var5] = var1[var2++] & 255; + } + + for(var5 = 0; var5 < 256; ++var5) { + var4[var5] = var1[var2++] & 255; + } + + byte[][] var12 = new byte[256][]; + + int var8; + for(int var6 = 0; var6 < 256; ++var6) { + var12[var6] = new byte[var10[var6]]; + byte var7 = 0; + + for(var8 = 0; var8 < var12[var6].length; ++var8) { + var7 += var1[var2++]; + var12[var6][var8] = var7; + } + } + + byte[][] var11 = new byte[256][]; + + int var13; + for(var13 = 0; var13 < 256; ++var13) { + var11[var13] = new byte[var10[var13]]; + byte var14 = 0; + + for(int var9 = 0; var9 < var11[var13].length; ++var9) { + var14 += var1[var2++]; + var11[var13][var9] = var14; + } + } + + this.aByteArray3733 = new byte[65536]; + + for(var13 = 0; var13 < 256; ++var13) { + if(var13 != 32 && var13 != 160) { + for(var8 = 0; var8 < 256; ++var8) { + if(var8 != 32 && var8 != 160) { + this.aByteArray3733[(var13 << 8) + var8] = (byte)method694(var12, var11, var4, this.anIntArray3736, var10, var13, var8); + } + } + } + } + + this.anInt3727 = var4[32] + var10[32]; + } + + } + + private final void method701(int var1, int var2, int var3) { + anInt3746 = -1; + anInt3747 = -1; + anInt3752 = var2; + anInt3754 = var2; + anInt3749 = var1; + anInt3755 = var1; + anInt3751 = var3; + anInt3750 = var3; + anInt3756 = 0; + anInt3748 = 0; + } + + Class3_Sub28_Sub17(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5) { + this.anIntArray3719 = var2; + this.anIntArray3730 = var3; + this.anIntArray3709 = var4; + this.anIntArray3721 = var5; + this.method700(var1); + int var6 = Integer.MAX_VALUE; + int var7 = Integer.MIN_VALUE; + + for(int var8 = 0; var8 < 256; ++var8) { + if(this.anIntArray3730[var8] < var6 && this.anIntArray3721[var8] != 0) { + var6 = this.anIntArray3730[var8]; + } + + if(this.anIntArray3730[var8] + this.anIntArray3721[var8] > var7) { + var7 = this.anIntArray3730[var8] + this.anIntArray3721[var8]; + } + } + + this.anInt3722 = this.anInt3727 - var6; + this.anInt3710 = var7 - this.anInt3727; + } + + final int method702(RSString var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, Random var10, int var11, int[] var12) { + if(var1 == null) { + return 0; + } else { + var10.setSeed((long)var11); + this.method701(var6, var7, 192 + (var10.nextInt() & 31)); + int var13 = var1.length(-114); + int[] var14 = new int[var13]; + int var15 = 0; + + int var16; + for(var16 = 0; var16 < var13; ++var16) { + var14[var16] = var15; + if((var10.nextInt() & 3) == 0) { + ++var15; + } + } + + var16 = var2; + int var17 = var3 + this.anInt3722; + int var18 = -1; + if(var9 == 1) { + var17 += (var5 - this.anInt3722 - this.anInt3710) / 2; + } else if(var9 == 2) { + var17 = var3 + var5 - this.anInt3710; + } + + if(var8 == 1) { + var18 = this.method682(var1) + var15; + var16 = var2 + (var4 - var18) / 2; + } else if(var8 == 2) { + var18 = this.method682(var1) + var15; + var16 = var2 + (var4 - var18); + } + + this.method703(var1, var16, var17, var14, (int[])null); + if(var12 != null) { + if(var18 == -1) { + var18 = this.method682(var1) + var15; + } + + var12[0] = var16; + var12[1] = var17 - this.anInt3722; + var12[2] = var18; + var12[3] = this.anInt3722 + this.anInt3710; + } + + return var15; + } + } + + Class3_Sub28_Sub17(byte[] var1) { + this.method700(var1); + } + + private final void method703(RSString var1, int var2, int var3, int[] var4, int[] var5) { + var3 -= this.anInt3727; + int var6 = -1; + int var7 = 0; + int var8 = 0; + int var9 = var1.length(-29); + + for(int var10 = 0; var10 < var9; ++var10) { + int var11 = var1.charAt(var10, (byte)95); + if(var11 == 60) { + var6 = var10; + } else { + int var13; + int var14; + int var15; + if(var11 == 62 && var6 != -1) { + RSString var12 = var1.method1557(var10, 0, var6 + 1); + var6 = -1; + if(var12.method1528((byte)-42, aClass94_3712)) { + var11 = 60; + } else if(var12.method1528((byte)-42, aClass94_3711)) { + var11 = 62; + } else if(var12.method1528((byte)-42, aClass94_3732)) { + var11 = 160; + } else if(var12.method1528((byte)-42, aClass94_3714)) { + var11 = 173; + } else if(var12.method1528((byte)-42, aClass94_3729)) { + var11 = 215; + } else if(var12.method1528((byte)-42, aClass94_3718)) { + var11 = 128; + } else if(var12.method1528((byte)-42, aClass94_3741)) { + var11 = 169; + } else { + if(!var12.method1528((byte)-42, aClass94_3743)) { + if(var12.method1558(aClass94_3739, 0)) { + try { + if(var4 != null) { + var13 = var4[var8]; + } else { + var13 = 0; + } + + if(var5 != null) { + var14 = var5[var8]; + } else { + var14 = 0; + } + + ++var8; + var15 = var12.method1556(4, (byte)-74).method1552((byte)-97); + AbstractIndexedSprite var20 = this.aClass109Array3740[var15]; + int var17 = this.anIntArray3723 != null?this.anIntArray3723[var15]:var20.anInt1467; + if(anInt3750 == 256) { + var20.method1667(var2 + var13, var3 + this.anInt3727 - var17 + var14); + } else { + var20.method1666(var2 + var13, var3 + this.anInt3727 - var17 + var14, anInt3750); + } + + var2 += var20.anInt1469; + var7 = 0; + } catch (Exception var18) { + ; + } + } else { + this.method685(var12); + } + continue; + } + + var11 = 174; + } + } + + if(var6 == -1) { + if(this.aByteArray3733 != null && var7 != 0) { + var2 += this.aByteArray3733[(var7 << 8) + var11]; + } + + int var19 = this.anIntArray3709[var11]; + var13 = this.anIntArray3721[var11]; + if(var4 != null) { + var14 = var4[var8]; + } else { + var14 = 0; + } + + if(var5 != null) { + var15 = var5[var8]; + } else { + var15 = 0; + } + + ++var8; + if(var11 != 32) { + if(anInt3750 == 256) { + if(anInt3754 != -1) { + this.method678(var11, var2 + this.anIntArray3719[var11] + 1 + var14, var3 + this.anIntArray3730[var11] + 1 + var15, var19, var13, anInt3754, true); + } + + this.method678(var11, var2 + this.anIntArray3719[var11] + var14, var3 + this.anIntArray3730[var11] + var15, var19, var13, anInt3755, false); + } else { + if(anInt3754 != -1) { + this.method679(var11, var2 + this.anIntArray3719[var11] + 1 + var14, var3 + this.anIntArray3730[var11] + 1 + var15, var19, var13, anInt3754, anInt3750, true); + } + + this.method679(var11, var2 + this.anIntArray3719[var11] + var14, var3 + this.anIntArray3730[var11] + var15, var19, var13, anInt3755, anInt3750, false); + } + } else if(anInt3756 > 0) { + anInt3748 += anInt3756; + var2 += anInt3748 >> 8; + anInt3748 &= 255; + } + + int var16 = this.anIntArray3736[var11]; + if(anInt3746 != -1) { + if(HDToolKit.highDetail) { + Class22.method922(var2, var3 + (int)((double)this.anInt3727 * 0.7D), var16, anInt3746); + } else { + Class74.method1317(var2, var3 + (int)((double)this.anInt3727 * 0.7D), var16, anInt3746); + } + } + + if(anInt3747 != -1) { + if(HDToolKit.highDetail) { + Class22.method922(var2, var3 + this.anInt3727, var16, anInt3747); + } else { + Class74.method1317(var2, var3 + this.anInt3727, var16, anInt3747); + } + } + + var2 += var16; + var7 = var11; + } + } + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub1.java new file mode 100644 index 000000000..10003a6ba --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub1.java @@ -0,0 +1,219 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub17_Sub1 extends Class3_Sub28_Sub17 { + + private byte[][] aByteArrayArray4082 = new byte[256][]; + + + Class3_Sub28_Sub17_Sub1(byte[] var1) { + super(var1); + } + + private static final void method704(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + for(var11 = var9; var11 < 0; ++var11) { + if(var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if(var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if(var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if(var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for(var11 = var5; var11 < 0; ++var11) { + if(var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + private static final void method705(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int[] var11, int[] var12) { + int var13 = var2 - Class74.anInt1093; + int var14 = var3 - Class74.anInt1095; + + for(int var15 = var14; var15 < var14 + var5; ++var15) { + int var16 = var11[var15]; + int var17 = var12[var15]; + int var18 = var4; + int var19; + if(var13 > var16) { + var19 = var13 - var16; + if(var19 >= var17) { + var7 += var4 + var10; + var8 += var4 + var9; + continue; + } + + var17 -= var19; + } else { + var19 = var16 - var13; + if(var19 >= var4) { + var7 += var4 + var10; + var8 += var4 + var9; + continue; + } + + var7 += var19; + var18 = var4 - var19; + var8 += var19; + } + + var19 = 0; + if(var18 < var17) { + var17 = var18; + } else { + var19 = var18 - var17; + } + + for(int var20 = -var17; var20 < 0; ++var20) { + if(var1[var7++] != 0) { + Class74.anIntArray1100[var8++] = var6; + } else { + ++var8; + } + } + + var7 += var19 + var10; + var8 += var19 + var9; + } + + } + + private static final void method706(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + var2 = ((var2 & 16711935) * var9 & -16711936) + ((var2 & '\uff00') * var9 & 16711680) >> 8; + var9 = 256 - var9; + + for(int var10 = -var6; var10 < 0; ++var10) { + for(int var11 = -var5; var11 < 0; ++var11) { + if(var1[var3++] != 0) { + int var12 = var0[var4]; + var0[var4++] = (((var12 & 16711935) * var9 & -16711936) + ((var12 & '\uff00') * var9 & 16711680) >> 8) + var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + final void method679(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8) { + int var9 = var2 + var3 * Class74.anInt1092; + int var10 = Class74.anInt1092 - var4; + int var11 = 0; + int var12 = 0; + int var13; + if(var3 < Class74.anInt1095) { + var13 = Class74.anInt1095 - var3; + var5 -= var13; + var3 = Class74.anInt1095; + var12 += var13 * var4; + var9 += var13 * Class74.anInt1092; + } + + if(var3 + var5 > Class74.anInt1099) { + var5 -= var3 + var5 - Class74.anInt1099; + } + + if(var2 < Class74.anInt1093) { + var13 = Class74.anInt1093 - var2; + var4 -= var13; + var2 = Class74.anInt1093; + var12 += var13; + var9 += var13; + var11 += var13; + var10 += var13; + } + + if(var2 + var4 > Class74.anInt1096) { + var13 = var2 + var4 - Class74.anInt1096; + var4 -= var13; + var11 += var13; + var10 += var13; + } + + if(var4 > 0 && var5 > 0) { + method706(Class74.anIntArray1100, this.aByteArrayArray4082[var1], var6, var12, var9, var4, var5, var10, var11, var7); + } + } + + Class3_Sub28_Sub17_Sub1(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, byte[][] var6) { + super(var1, var2, var3, var4, var5); + this.aByteArrayArray4082 = var6; + } + + final void method678(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + int var8 = var2 + var3 * Class74.anInt1092; + int var9 = Class74.anInt1092 - var4; + int var10 = 0; + int var11 = 0; + int var12; + if(var3 < Class74.anInt1095) { + var12 = Class74.anInt1095 - var3; + var5 -= var12; + var3 = Class74.anInt1095; + var11 += var12 * var4; + var8 += var12 * Class74.anInt1092; + } + + if(var3 + var5 > Class74.anInt1099) { + var5 -= var3 + var5 - Class74.anInt1099; + } + + if(var2 < Class74.anInt1093) { + var12 = Class74.anInt1093 - var2; + var4 -= var12; + var2 = Class74.anInt1093; + var11 += var12; + var8 += var12; + var10 += var12; + var9 += var12; + } + + if(var2 + var4 > Class74.anInt1096) { + var12 = var2 + var4 - Class74.anInt1096; + var4 -= var12; + var10 += var12; + var9 += var12; + } + + if(var4 > 0 && var5 > 0) { + if(Class74.anIntArray1097 != null) { + method705(Class74.anIntArray1100, this.aByteArrayArray4082[var1], var2, var3, var4, var5, var6, var11, var8, var9, var10, Class74.anIntArray1097, Class74.anIntArray1098); + } else { + method704(Class74.anIntArray1100, this.aByteArrayArray4082[var1], var6, var11, var8, var4, var5, var9, var10); + } + + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub2.java new file mode 100644 index 000000000..2d11a7913 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub17_Sub2.java @@ -0,0 +1,190 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class3_Sub28_Sub17_Sub2 extends Class3_Sub28_Sub17 { + + private int anInt4083 = 0; + private int anInt4084 = -1; + private int[] anIntArray4085; + private int anInt4086; + private int anInt4087; + + + protected final void finalize() throws Throwable { + if(this.anInt4084 != -1) { + Class31.method991(this.anInt4084, this.anInt4083, this.anInt4086); + this.anInt4084 = -1; + this.anInt4083 = 0; + } + + if(this.anIntArray4085 != null) { + for(int var1 = 0; var1 < this.anIntArray4085.length; ++var1) { + Class31.method986(this.anIntArray4085[var1], this.anInt4086); + } + + this.anIntArray4085 = null; + } + + super.finalize(); + } + + final void method678(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + GL var8; + if(Class22.aClass3_Sub28_Sub16_Sub1_447 != null) { + HDToolKit.method1824(); + var8 = HDToolKit.gl; + var8.glColor3ub((byte)(var6 >> 16), (byte)(var6 >> 8), (byte)var6); + var8.glTranslatef((float)var2, (float)(HDToolKit.anInt1811 - var3), 0.0F); + float var9 = (float)(var1 % 16) / 16.0F; + float var10 = (float)(var1 / 16) / 16.0F; + float var11 = var9 + (float)this.anIntArray3709[var1] / (float)this.anInt4087; + float var12 = var10 + (float)this.anIntArray3721[var1] / (float)this.anInt4087; + HDToolKit.bindTexture2D(this.anInt4084); + Class3_Sub28_Sub16_Sub1 var13 = Class22.aClass3_Sub28_Sub16_Sub1_447; + var8.glActiveTexture('\u84c1'); + var8.glEnable(3553); + var8.glBindTexture(3553, var13.anInt4077); + var8.glTexEnvi(8960, '\u8571', 7681); + var8.glTexEnvi(8960, '\u8580', '\u8578'); + float var14 = (float)(var2 - Class22.anInt449) / (float)var13.anInt4075; + float var15 = (float)(var3 - Class22.anInt448) / (float)var13.anInt4079; + float var16 = (float)(var2 + var4 - Class22.anInt449) / (float)var13.anInt4075; + float var17 = (float)(var3 + var5 - Class22.anInt448) / (float)var13.anInt4079; + var8.glBegin(6); + var8.glMultiTexCoord2f('\u84c1', var16, var15); + var8.glTexCoord2f(var11, var10); + var8.glVertex2f((float)this.anIntArray3709[var1], 0.0F); + var8.glMultiTexCoord2f('\u84c1', var14, var15); + var8.glTexCoord2f(var9, var10); + var8.glVertex2f(0.0F, 0.0F); + var8.glMultiTexCoord2f('\u84c1', var14, var17); + var8.glTexCoord2f(var9, var12); + var8.glVertex2f(0.0F, (float)(-this.anIntArray3721[var1])); + var8.glMultiTexCoord2f('\u84c1', var16, var17); + var8.glTexCoord2f(var11, var12); + var8.glVertex2f((float)this.anIntArray3709[var1], (float)(-this.anIntArray3721[var1])); + var8.glEnd(); + var8.glTexEnvi(8960, '\u8571', 8448); + var8.glTexEnvi(8960, '\u8580', 5890); + var8.glDisable(3553); + var8.glActiveTexture('\u84c0'); + var8.glLoadIdentity(); + } else { + HDToolKit.method1824(); + var8 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4084); + var8.glColor3ub((byte)(var6 >> 16), (byte)(var6 >> 8), (byte)var6); + var8.glTranslatef((float)var2, (float)(HDToolKit.anInt1811 - var3), 0.0F); + var8.glCallList(this.anIntArray4085[var1]); + var8.glLoadIdentity(); + } + + } + + final void method679(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8) { + HDToolKit.method1824(); + GL var9 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt4084); + var9.glColor4ub((byte)(var6 >> 16), (byte)(var6 >> 8), (byte)var6, var7 > 255?-1:(byte)var7); + var9.glTranslatef((float)var2, (float)(HDToolKit.anInt1811 - var3), 0.0F); + var9.glCallList(this.anIntArray4085[var1]); + var9.glLoadIdentity(); + } + + private final void method707() { + if(this.anIntArray4085 == null) { + this.anIntArray4085 = new int[256]; + GL var1 = HDToolKit.gl; + + for(int var2 = 0; var2 < 256; ++var2) { + float var3 = (float)(var2 % 16) / 16.0F; + float var4 = (float)(var2 / 16) / 16.0F; + float var5 = var3 + (float)this.anIntArray3709[var2] / (float)this.anInt4087; + float var6 = var4 + (float)this.anIntArray3721[var2] / (float)this.anInt4087; + this.anIntArray4085[var2] = var1.glGenLists(1); + var1.glNewList(this.anIntArray4085[var2], 4864); + var1.glBegin(6); + var1.glTexCoord2f(var5, var4); + var1.glVertex2f((float)this.anIntArray3709[var2], 0.0F); + var1.glTexCoord2f(var3, var4); + var1.glVertex2f(0.0F, 0.0F); + var1.glTexCoord2f(var3, var6); + var1.glVertex2f(0.0F, (float)(-this.anIntArray3721[var2])); + var1.glTexCoord2f(var5, var6); + var1.glVertex2f((float)this.anIntArray3709[var2], (float)(-this.anIntArray3721[var2])); + var1.glEnd(); + var1.glEndList(); + } + + this.anInt4086 = Class31.anInt582; + } + } + + Class3_Sub28_Sub17_Sub2(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, byte[][] var6) { + super(var1, var2, var3, var4, var5); + this.method708(var6); + this.method707(); + } + + private final void method708(byte[][] var1) { + if(this.anInt4084 == -1) { + this.anInt4087 = 0; + + int var2; + for(var2 = 0; var2 < 256; ++var2) { + if(this.anIntArray3721[var2] > this.anInt4087) { + this.anInt4087 = this.anIntArray3721[var2]; + } + + if(this.anIntArray3709[var2] > this.anInt4087) { + this.anInt4087 = this.anIntArray3709[var2]; + } + } + + this.anInt4087 *= 16; + this.anInt4087 = Class95.method1585((byte)104, this.anInt4087); + var2 = this.anInt4087 / 16; + byte[] var3 = new byte[this.anInt4087 * this.anInt4087 * 2]; + + for(int var4 = 0; var4 < 256; ++var4) { + int var5 = var4 % 16 * var2; + int var6 = var4 / 16 * var2; + int var7 = (var6 * this.anInt4087 + var5) * 2; + int var8 = 0; + int var9 = this.anIntArray3721[var4]; + int var10 = this.anIntArray3709[var4]; + byte[] var11 = var1[var4]; + + for(int var12 = 0; var12 < var9; ++var12) { + for(int var13 = 0; var13 < var10; ++var13) { + if(var11[var8++] != 0) { + var3[var7++] = -1; + var3[var7++] = -1; + } else { + var7 += 2; + } + } + + var7 += (this.anInt4087 - var10) * 2; + } + } + + ByteBuffer var14 = ByteBuffer.wrap(var3); + GL var15 = HDToolKit.gl; + if(this.anInt4084 == -1) { + int[] var16 = new int[1]; + var15.glGenTextures(1, var16, 0); + this.anInt4084 = var16[0]; + this.anInt4086 = Class31.anInt582; + } + + HDToolKit.bindTexture2D(this.anInt4084); + var15.glTexImage2D(3553, 0, 6410, this.anInt4087, this.anInt4087, 0, 6410, 5121, var14); + Class31.memory2D += var14.limit() - this.anInt4083; + this.anInt4083 = var14.limit(); + var15.glTexParameteri(3553, 10241, 9728); + var15.glTexParameteri(3553, 10240, 9728); + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub18.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub18.java new file mode 100644 index 000000000..69718b6e6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub18.java @@ -0,0 +1,155 @@ +package org.runite.jagex; +import java.lang.reflect.Method; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class3_Sub28_Sub18 extends Node { + + static int anInt3757; + static RSString aClass94_3758 = RSString.createRSString("Veuillez patienter )2 tentative de r-Btablissement)3"); + private int anInt3759 = -1; + private int anInt3760; + private static RSString aClass94_3761 = RSString.createRSString("Face here"); + static RSString aClass94_3762 = aClass94_3761; + static RSString aClass94_3763 = RSString.createRSString("Liste der Welten geladen"); + static int anInt3764; + static int anInt3765 = 100; + static int anInt3766 = 0; + private int anInt3767 = 0; + static int[] anIntArray3768 = new int[100]; + static boolean aBoolean3769 = false; + + + protected final void finalize() throws Throwable { + try { + if(this.anInt3759 != -1) { + Class31.method985(this.anInt3759, this.anInt3767, this.anInt3760); + this.anInt3759 = -1; + this.anInt3767 = 0; + } + + super.finalize(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sd.finalize()"); + } + } + + static final void method709(int var0, int var1) { + Class3_Sub2 var2 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[0][var0][var1]; + + for(int var3 = 0; var3 < 3; ++var3) { + Class3_Sub2 var4 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var3][var0][var1] = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var3 + 1][var0][var1]; + if(var4 != null) { + --var4.anInt2244; + + for(int var5 = 0; var5 < var4.anInt2223; ++var5) { + Class25 var6 = var4.aClass25Array2221[var5]; + if((var6.aLong498 >> 29 & 3L) == 2L && var6.anInt483 == var0 && var6.anInt478 == var1) { + --var6.anInt493; + } + } + } + } + + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[0][var0][var1] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[0][var0][var1] = new Class3_Sub2(0, var0, var1); + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[0][var0][var1].aClass3_Sub2_2235 = var2; + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[3][var0][var1] = null; + } + + static final void method710(byte var0) { + try { + if(var0 >= 122) { + Class44.aClass93_725.method1523((byte)-104); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sd.C(" + var0 + ')'); + } + } + + public static void method711(int var0) { + try { + aClass94_3762 = null; + aClass94_3758 = null; + anIntArray3768 = null; + if(var0 != 1) { + aClass94_3761 = (RSString)null; + } + + aClass94_3763 = null; + aClass94_3761 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sd.B(" + var0 + ')'); + } + } + + final void method712(byte var1) { + try { + int var2 = Class27.method961(var1 + 1530); + if(-1 == ~(1 & var2)) { + HDToolKit.bindTexture2D(this.anInt3759); + } + + if(0 == (var2 & 2)) { + HDToolKit.method1856(0); + } + + if(~(var2 & 4) == -1) { + HDToolKit.method1847(0); + } + + if(var1 != 6) { + aClass94_3763 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sd.E(" + var1 + ')'); + } + } + + static final void method713(int var0) { + try { + try { + Method var1 = Runtime.class.getMethod("maxMemory", new Class[var0]); + if(null != var1) { + try { + Runtime var2 = Runtime.getRuntime(); + Long var3 = (Long)var1.invoke(var2, (Object[])null); + Class3_Sub24_Sub3.anInt3492 = (int)(var3.longValue() / 1048576L) - -1; + } catch (Throwable var4) { + ; + } + } + } catch (Exception var5) { + ; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sd.A(" + var0 + ')'); + } + } + + Class3_Sub28_Sub18(int var1) { + try { + GL var2 = HDToolKit.gl; + int[] var3 = new int[1]; + var2.glGenTextures(1, var3, 0); + this.anInt3759 = var3[0]; + this.anInt3760 = Class31.anInt582; + HDToolKit.bindTexture2D(this.anInt3759); + int var4 = Class51.anIntArray834[var1]; + byte[] var5 = new byte[]{(byte)(var4 >> 16), (byte)(var4 >> 8), (byte)var4, (byte)-1}; + ByteBuffer var6 = ByteBuffer.wrap(var5); + var2.glTexImage2D(3553, 0, 6408, 1, 1, 0, 6408, 5121, var6); + var2.glTexParameteri(3553, 10241, 9729); + var2.glTexParameteri(3553, 10240, 9729); + Class31.anInt580 += var6.limit() - this.anInt3767; + this.anInt3767 = var6.limit(); + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "sd.(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub19.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub19.java new file mode 100644 index 000000000..530c872df --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub19.java @@ -0,0 +1,64 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub19 extends Node { + + static RSString aClass94_3771 = RSString.createRSString("Chargement en cours)3)3)3"); + static CacheIndex aClass153_3772; + static int anInt3773; + static RSString aClass94_3774 = RSString.createRSString("clignotant1:"); + static int anInt3775 = 0; + static Class47 aClass47_3776 = new Class47(64); + static RSString aClass94_3777 = RSString.createRSString(" x "); + Class140_Sub6 aClass140_Sub6_3778; + static boolean aBoolean3779 = false; + static int[] anIntArray3780 = new int[32]; + + + static final boolean method715(int var0, RSInterface var1) { + try { + if(var0 == var1.anInt189) { + Class159.anInt2023 = 250; + return true; + } else { + return false; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ud.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method716(int var0) { + try { + Class136.aClass93_1772.method1524(3); + if(var0 != 14073) { + method717(9); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ud.A(" + var0 + ')'); + } + } + + public static void method717(int var0) { + try { + aClass94_3777 = null; + aClass94_3774 = null; + int var1 = 54 % ((48 - var0) / 56); + anIntArray3780 = null; + aClass153_3772 = null; + aClass47_3776 = null; + aClass94_3771 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ud.C(" + var0 + ')'); + } + } + + Class3_Sub28_Sub19(Class140_Sub6 var1) { + try { + this.aClass140_Sub6_3778 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ud.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub2.java new file mode 100644 index 000000000..7415875d8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub2.java @@ -0,0 +1,65 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub2 extends Node { + + private static RSString aClass94_3541 = RSString.createRSString("yellow:"); + static int anInt3542; + private static RSString aClass94_3543 = RSString.createRSString("Loading config )2 "); + static RSString aClass94_3544 = aClass94_3541; + Class140_Sub2 aClass140_Sub2_3545; + static RSString aClass94_3546 = aClass94_3543; + static RSString aClass94_3547 = RSString.createRSString("Speicher wird zugewiesen)3"); + static RSString aClass94_3548 = aClass94_3541; + + + public static void method534(int var0) { + try { + aClass94_3546 = null; + aClass94_3548 = null; + aClass94_3543 = null; + int var1 = 101 % ((-29 - var0) / 45); + aClass94_3544 = null; + aClass94_3547 = null; + aClass94_3541 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bk.B(" + var0 + ')'); + } + } + + static final void method535(byte var0, int var1) { + try { + Class151.aFloatArray1934[0] = (float)Class3_Sub28_Sub15.method633(255, var1 >> 16) / 255.0F; + Class151.aFloatArray1934[1] = (float)Class3_Sub28_Sub15.method633(var1 >> 8, 255) / 255.0F; + Class151.aFloatArray1934[2] = (float)Class3_Sub28_Sub15.method633(255, var1) / 255.0F; + Class3_Sub18.method383(-32584, 3); + Class3_Sub18.method383(-32584, 4); + if(var0 != 56) { + method535((byte)127, 99); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bk.A(" + var0 + ',' + var1 + ')'); + } + } + + static final Class75_Sub3 method536(byte var0, RSByteBuffer var1) { + try { + if(var0 != 54) { + method534(117); + } + + return new Class75_Sub3(var1.getShort((byte)25), var1.getShort((byte)73), var1.getShort((byte)114), var1.getShort((byte)33), var1.getShort((byte)78), var1.getShort((byte)91), var1.getShort((byte)120), var1.getShort((byte)113), var1.getTriByte((byte)115), var1.getByte((byte)-64)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bk.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + Class3_Sub28_Sub2(Class140_Sub2 var1) { + try { + this.aClass140_Sub2_3545 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bk.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub20.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub20.java new file mode 100644 index 000000000..69745c34f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub20.java @@ -0,0 +1,490 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; +import javax.media.opengl.glu.GLU; + +final class Class3_Sub28_Sub20 extends Node { + + private boolean aBoolean3781; + private float aFloat3782; + private int anInt3783; + private int anInt3784; + static RSString aClass94_3785 = RSString.createRSString("Benutzeroberfl-=che geladen)3"); + static CacheIndex aClass153_3786; + private boolean aBoolean3787; + private int anInt3788; + private boolean aBoolean3789; + private Class82 aClass82_3790; + private int anInt3791; + static RSString aClass94_3792 = RSString.createRSString("huffman"); + private int[] anIntArray3793; + static Class118 aClass118_3794 = Class21.method913(31431); + private int anInt3795 = -1; + private int anInt3796 = 0; + boolean aBoolean3797 = false; + static RSString aClass94_3798 = RSString.createRSString("RuneScape wird geladen )2 bitte warten)3)3)3"); + private int anInt3799; + private boolean aBoolean3800; + + + final int[] method718(Interface2 var1, int var2, float var3, CacheIndex var4, boolean var5) { + try { + if(var2 != 0) { + return (int[])null; + } else { + if(null == this.anIntArray3793 || this.aFloat3782 != var3) { + if(!this.aClass82_3790.method1408(true, var1, var4)) { + return null; + } + + int var6 = !var5?128:64; + this.anIntArray3793 = this.aClass82_3790.method1404(var6, this.aBoolean3800, var6, (double)var3, var2 ^ 327680, var4, var1, true); + this.aFloat3782 = var3; + if(this.aBoolean3789) { + int[] var7 = new int[var6]; + int[] var10 = new int[var6 * var6]; + int[] var8 = new int[var6]; + int[] var9 = new int[var6]; + int var15 = var6; + int var14; + int var13 = var14 = var6 * 1; + int var19 = var6 * var6; + int var18 = -1 + var6; + int var17 = var6 - 1; + + int var11; + int var20; + for(var20 = 2; var20 >= 0; --var20) { + for(var11 = var17; var11 >= 0; --var11) { + --var14; + int var12 = this.anIntArray3793[var14]; + var7[var11] += Class3_Sub28_Sub15.method633(var12, 16726965) >> 16; + var8[var11] += Class3_Sub28_Sub15.method633('\uff72', var12) >> 8; + var9[var11] += Class3_Sub28_Sub15.method633(var12, 255); + } + + if(var14 == 0) { + var14 = var19; + } + } + + int var25 = var19; + + for(int var31 = var18; ~var31 <= -1; --var31) { + int var30 = 0; + int var29 = 0; + int var28 = 0; + int var26 = 1; + int var27 = 1; + + for(var11 = 2; ~var11 <= -1; --var11) { + --var27; + var30 += var8[var27]; + var29 += var9[var27]; + var28 += var7[var27]; + if(var27 == 0) { + var27 = var15; + } + } + + for(var11 = var17; -1 >= ~var11; --var11) { + --var26; + int var21 = var30 / 9; + int var22 = var29 / 9; + --var27; + var20 = var28 / 9; + --var25; + var10[var25] = Class3_Sub13_Sub29.bitwiseOr(var22, Class3_Sub13_Sub29.bitwiseOr(var20 << 16, var21 << 8)); + var28 += var7[var27] + -var7[var26]; + var29 += var9[var27] - var9[var26]; + var30 += -var8[var26] + var8[var27]; + if(-1 == ~var26) { + var26 = var15; + } + + if(~var27 == -1) { + var27 = var15; + } + } + + for(var11 = var17; ~var11 <= -1; --var11) { + --var13; + int var23 = this.anIntArray3793[var13]; + --var14; + int var24 = this.anIntArray3793[var14]; + var7[var11] += (Class3_Sub28_Sub15.method633(var24, 16729186) >> 16) + -Class3_Sub28_Sub15.method633(var23 >> 16, 255); + var8[var11] += (Class3_Sub28_Sub15.method633('\uff8b', var24) >> 8) + -Class3_Sub28_Sub15.method633(255, var23 >> 8); + var9[var11] += -Class3_Sub28_Sub15.method633(var23, 255) + Class3_Sub28_Sub15.method633(255, var24); + } + + if(0 == var13) { + var13 = var19; + } + + if(0 == var14) { + var14 = var19; + } + } + + this.anIntArray3793 = var10; + } + } + + return this.anIntArray3793; + } + } catch (RuntimeException var32) { + throw Class44.method1067(var32, "uh.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ')'); + } + } + + final boolean method719(CacheIndex var1, Interface2 var2, int var3, boolean var4) { + try { + if(var3 != 579100487) { + return false; + } else if(this.aClass82_3790.method1408(true, var2, var1)) { + GL var5 = HDToolKit.gl; + int var6 = !var4?128:64; + int var7 = Class27.method961(1536); + if(~(1 & var7) == -1) { + if(0 != ~this.anInt3795) { + HDToolKit.bindTexture2D(this.anInt3795); + } else { + int[] var8 = new int[1]; + var5.glGenTextures(1, var8, 0); + this.anInt3791 = Class31.anInt582; + this.anInt3795 = var8[0]; + HDToolKit.bindTexture2D(this.anInt3795); + ByteBuffer var9 = ByteBuffer.wrap(this.aClass82_3790.method1407(var6, var6, this.aBoolean3800, var2, 0.7D, 8839, var1)); + if(2 != this.anInt3788) { + if(~this.anInt3788 != -2) { + var5.glTexImage2D(3553, 0, 6408, var6, var6, 0, 6408, 5121, var9); + var5.glTexParameteri(3553, 10241, 9729); + var5.glTexParameteri(3553, 10240, 9729); + Class31.anInt580 += var9.limit() - this.anInt3796; + this.anInt3796 = var9.limit(); + } else { + int var10 = 0; + + while(true) { + var5.glTexImage2D(3553, var10++, 6408, var6, var6, 0, 6408, 5121, var9); + var6 >>= 1; + if(0 == var6) { + var5.glTexParameteri(3553, 10241, 9987); + var5.glTexParameteri(3553, 10240, 9729); + Class31.anInt580 += var9.limit() * 4 / 3 - this.anInt3796; + this.anInt3796 = 4 * var9.limit() / 3; + break; + } + + var9 = ByteBuffer.wrap(this.aClass82_3790.method1407(var6, var6, this.aBoolean3800, var2, 0.7D, 8839, var1)); + } + } + } else { + GLU var14 = new GLU(); + var14.gluBuild2DMipmaps(3553, 6408, var6, var6, 6408, 5121, var9); + var5.glTexParameteri(3553, 10241, 9987); + var5.glTexParameteri(3553, 10240, 9729); + Class31.anInt580 += 4 * var9.limit() / 3 - this.anInt3796; + this.anInt3796 = var9.limit() * 4 / 3; + } + + var5.glTexParameteri(3553, 10242, !this.aBoolean3787?'\u812f':10497); + var5.glTexParameteri(3553, 10243, this.aBoolean3781?10497:'\u812f'); + } + } + + if(~(2 & var7) == -1) { + HDToolKit.method1856(this.anInt3784); + } + + if((4 & var7) == 0) { + HDToolKit.method1847(0); + } + + if((var7 & 8) == 0) { + if(-1 == ~this.anInt3799 && 0 == this.anInt3783) { + HDToolKit.method1823(); + } else { + float var12 = (float)(this.anInt3799 * HDToolKit.anInt1791) / (float)var6; + float var13 = (float)(this.anInt3783 * HDToolKit.anInt1791) / (float)var6; + HDToolKit.method1843(var13, var12, 0.0F); + } + } + + return true; + } else { + return false; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "uh.F(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + final int[] method720(boolean var1, boolean var2, Interface2 var3, CacheIndex var4) { + try { + if(var1) { + this.method723(45, (byte)75); + } + + if(!this.aClass82_3790.method1408(true, var3, var4)) { + return null; + } else { + int var5 = !var2?128:64; + return this.aClass82_3790.method1404(var5, this.aBoolean3800, var5, 1.0D, 327680, var4, var3, false); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "uh.O(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + public static void method721(int var0) { + try { + aClass94_3785 = null; + aClass94_3792 = null; + aClass94_3798 = null; + aClass153_3786 = null; + aClass118_3794 = null; + if(var0 != 20413) { + aClass118_3794 = (Class118)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uh.C(" + var0 + ')'); + } + } + + final boolean method722(int var1, Interface2 var2, CacheIndex var3) { + try { + return var1 != -5?true:this.aClass82_3790.method1408(true, var2, var3); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "uh.P(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final void method723(int var1, byte var2) { + try { + if(var2 != -120) { + method721(-42); + } + + if(this.anIntArray3793 != null) { + if(0 != this.anInt3799 || ~this.anInt3783 != -1) { + if(null == Class3_Sub23.anIntArray2533 || ~Class3_Sub23.anIntArray2533.length > ~this.anIntArray3793.length) { + Class3_Sub23.anIntArray2533 = new int[this.anIntArray3793.length]; + } + + int var5 = var1 * this.anInt3783; + int var3 = ~this.anIntArray3793.length == -4097?64:128; + int var4 = this.anIntArray3793.length; + int var6 = var3 + -1; + int var7 = this.anInt3799 * var1 * var3; + int var8 = -1 + var4; + + for(int var9 = 0; var4 > var9; var9 += var3) { + int var10 = var7 + var9 & var8; + + for(int var11 = 0; var3 > var11; ++var11) { + int var13 = (var6 & var11 - -var5) + var10; + int var12 = var11 + var9; + Class3_Sub23.anIntArray2533[var12] = this.anIntArray3793[var13]; + } + } + + int[] var15 = this.anIntArray3793; + this.anIntArray3793 = Class3_Sub23.anIntArray2533; + Class3_Sub23.anIntArray2533 = var15; + } + + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "uh.E(" + var1 + ',' + var2 + ')'); + } + } + + static final void method724(int var0) { + try { + Class163_Sub2_Sub1.aClass93_4015.method1523((byte)-102); + if(var0 > -106) { + method725(71); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uh.B(" + var0 + ')'); + } + } + + protected final void finalize() throws Throwable { + try { + if(this.anInt3795 != -1) { + Class31.method985(this.anInt3795, this.anInt3796, this.anInt3791); + this.anInt3796 = 0; + this.anInt3795 = -1; + } + + super.finalize(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "uh.finalize()"); + } + } + + static final void method725(int var0) { + try { + int var1 = 67 / ((-60 - var0) / 41); + if(~Class137.method1817((byte)70) == -3) { + byte var2 = (byte)(255 & Class79.anInt1127 + -4); + int var3 = Class79.anInt1127 % 104; + + int var4; + int var5; + for(var4 = 0; -5 < ~var4; ++var4) { + for(var5 = 0; 104 > var5; ++var5) { + Class158.aByteArrayArrayArray2008[var4][var3][var5] = var2; + } + } + + if(WorldListCountry.localPlane != 3) { + for(var4 = 0; -3 < ~var4; ++var4) { + Class41.anIntArray686[var4] = -1000000; + Class129_Sub1.anIntArray2696[var4] = 1000000; + Class159.anIntArray2021[var4] = 0; + AnimationDefinition.anIntArray1871[var4] = 1000000; + Player.anIntArray3959[var4] = 0; + } + + if(1 == Class133.anInt1753) { + if((4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][Class102.player.anInt2819 >> 7][Class102.player.anInt2829 >> 7]) != 0) { + Class140_Sub7.method2031((byte)-85, false, Class102.player.anInt2819 >> 7, Class102.player.anInt2829 >> 7, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 0); + } + + if(-311 < ~Class139.anInt1823) { + int var7 = Class102.player.anInt2829 >> 7; + var5 = Class77.anInt1111 >> 7; + int var9; + if(var5 < var7) { + var9 = var7 - var5; + } else { + var9 = -var7 + var5; + } + + var4 = NPC.anInt3995 >> 7; + int var6 = Class102.player.anInt2819 >> 7; + int var8; + if(~var6 < ~var4) { + var8 = -var4 + var6; + } else { + var8 = -var6 + var4; + } + + int var10; + int var11; + if(var8 > var9) { + var11 = '\u8000'; + var10 = var9 * 65536 / var8; + + while(var6 != var4) { + if(var6 <= var4) { + if(var4 > var6) { + --var4; + } + } else { + ++var4; + } + + if(~(Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var4][var5] & 4) != -1) { + Class140_Sub7.method2031((byte)-29, false, var4, var5, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 1); + break; + } + + var11 += var10; + if(var11 >= 65536) { + if(var5 >= var7) { + if(var7 < var5) { + --var5; + } + } else { + ++var5; + } + + var11 -= 65536; + if(~(4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var4][var5]) != -1) { + Class140_Sub7.method2031((byte)-120, false, var4, var5, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 1); + break; + } + } + } + } else { + var11 = '\u8000'; + var10 = 65536 * var8 / var9; + + while(~var5 != ~var7) { + if(var5 < var7) { + ++var5; + } else if(var5 > var7) { + --var5; + } + + if(~(4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var4][var5]) != -1) { + Class140_Sub7.method2031((byte)-13, false, var4, var5, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 1); + break; + } + + var11 += var10; + if(~var11 <= -65537) { + if(var6 > var4) { + ++var4; + } else if(var6 < var4) { + --var4; + } + + var11 -= 65536; + if((4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][var4][var5]) != 0) { + Class140_Sub7.method2031((byte)-37, false, var4, var5, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 1); + break; + } + } + } + } + } + } else { + var4 = Class121.method1736(WorldListCountry.localPlane, 1, NPC.anInt3995, Class77.anInt1111); + if(800 > var4 + -Class7.anInt2162 && (4 & Class9.aByteArrayArrayArray113[WorldListCountry.localPlane][NPC.anInt3995 >> 7][Class77.anInt1111 >> 7]) != 0) { + Class140_Sub7.method2031((byte)-107, false, NPC.anInt3995 >> 7, Class77.anInt1111 >> 7, Class75_Sub2.aClass3_Sub2ArrayArrayArray2638, 1); + } + } + + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "uh.A(" + var0 + ')'); + } + } + + Class3_Sub28_Sub20(RSByteBuffer var1) { + try { + this.aClass82_3790 = new Class82(var1); + this.aBoolean3789 = var1.getByte((byte)-86) == 1; + this.aBoolean3800 = 1 == var1.getByte((byte)-80); + this.aBoolean3787 = -2 == ~var1.getByte((byte)-67); + this.aBoolean3781 = ~var1.getByte((byte)-114) == -2; + int var2 = 3 & var1.getByte((byte)-35); + this.anInt3783 = var1.getByte(); + this.anInt3799 = var1.getByte(); + int var3 = var1.getByte((byte)-86); + var1.getByte((byte)-87); + if(var2 == 1) { + this.anInt3784 = 2; + } else if(-3 == ~var2) { + this.anInt3784 = 3; + } else if(~var2 != -4) { + this.anInt3784 = 0; + } else { + this.anInt3784 = 4; + } + + this.anInt3788 = (var3 & 240) >> 4; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "uh.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub21.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub21.java new file mode 100644 index 000000000..36e686316 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub21.java @@ -0,0 +1,12 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub21 extends Node { + + static Class47 aClass47_3801 = new Class47(4); + + + public static void method726() { + aClass47_3801 = null; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub3.java new file mode 100644 index 000000000..a4107bf77 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub3.java @@ -0,0 +1,210 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub3 extends Node { + + int anInt3549 = 0; + int anInt3550 = -1; + static RSInterface aClass11_3551; + static int anInt3552; + boolean aBoolean3553 = true; + RSString aClass94_3554; + int anInt3555 = 12800; + int anInt3556; + static int anInt3557 = 0; + int anInt3558; + int anInt3559 = 0; + Class61 aClass61_3560; + RSString aClass94_3561; + int anInt3562 = 12800; + int anInt3563 = -1; + static int anInt3564 = 0; + + + final boolean method537(int var1, byte var2, int var3) { + try { + if(~this.anInt3555 >= ~var3 && var3 <= this.anInt3559 && var1 >= this.anInt3562 && var1 <= this.anInt3549) { + for(Class3_Sub21 var4 = (Class3_Sub21)this.aClass61_3560.method1222(); var4 != null; var4 = (Class3_Sub21)this.aClass61_3560.method1221()) { + if(var4.method393((byte)-45, var1, var3)) { + return true; + } + } + + if(var2 != 97) { + method544(-51, 82); + } + + return false; + } else { + return false; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "bn.B(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method538(byte var1) { + try { + this.anInt3562 = 12800; + this.anInt3559 = 0; + if(var1 != 103) { + aClass11_3551 = (RSInterface)null; + } + + this.anInt3549 = 0; + this.anInt3555 = 12800; + + for(Class3_Sub21 var2 = (Class3_Sub21)this.aClass61_3560.method1222(); null != var2; var2 = (Class3_Sub21)this.aClass61_3560.method1221()) { + if(~var2.anInt2494 > ~this.anInt3562) { + this.anInt3562 = var2.anInt2494; + } + + if(~var2.anInt2492 > ~this.anInt3555) { + this.anInt3555 = var2.anInt2492; + } + + if(var2.anInt2495 > this.anInt3559) { + this.anInt3559 = var2.anInt2495; + } + + if(this.anInt3549 < var2.anInt2497) { + this.anInt3549 = var2.anInt2497; + } + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bn.F(" + var1 + ')'); + } + } + + static final void method539(int var0, int var1) { + try { + if(var0 != 0) { + method542((byte)73); + } + + Class136.aClass93_1772.method1522(var0 ^ -126, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bn.O(" + var0 + ',' + var1 + ')'); + } + } + + static final int method540(int var0, int var1, int var2) { + try { + if(var1 != -14314) { + return 116; + } else { + int var3; + for(var3 = 0; -1 > ~var0; --var0) { + var3 = var3 << 1 | 1 & var2; + var2 >>>= 1; + } + + return var3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "bn.P(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method541(byte var0, boolean var1, RSString var2) { + try { + var2 = var2.method1534(-98); + int var4 = 0; + int var5 = -26 / ((62 - var0) / 58); + short[] var3 = new short[16]; + int var6 = !var1?0:'\u8000'; + int var7 = (!var1?Class83.anInt1156:RenderAnimationDefinition.anInt377) + var6; + + for(int var8 = var6; var8 < var7; ++var8) { + Class3_Sub28_Sub4 var9 = Class3_Sub29.method733(12345678, var8); + if(var9.aBoolean3568 && var9.method554(-1).method1534(-98).method1551(var2, 112) != -1) { + if(var4 >= 50) { + Class62.anInt952 = -1; + Class99.aShortArray1398 = null; + return; + } + + if(var4 >= var3.length) { + short[] var10 = new short[2 * var3.length]; + + for(int var11 = 0; var4 > var11; ++var11) { + var10[var11] = var3[var11]; + } + + var3 = var10; + } + + var3[var4++] = (short)var8; + } + } + + Class99.aShortArray1398 = var3; + Class62.anInt952 = var4; + Class140_Sub4.anInt2756 = 0; + RSString[] var13 = new RSString[Class62.anInt952]; + + for(int var14 = 0; Class62.anInt952 > var14; ++var14) { + var13[var14] = Class3_Sub29.method733(12345678, var3[var14]).method554(-1); + } + + Class3_Sub13_Sub29.method307(var13, Class99.aShortArray1398, 100); + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "bn.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public static void method542(byte var0) { + try { + if(var0 != -46) { + anInt3552 = 7; + } + + aClass11_3551 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bn.D(" + var0 + ')'); + } + } + + static final int method543(int var0, int var1, byte var2) { + try { + if(var2 > -71) { + return -52; + } else { + int var3 = NPC.method1984(var0 + -1, 38, -1 + var1) - -NPC.method1984(1 + var0, 38, -1 + var1) - (-NPC.method1984(-1 + var0, 38, var1 - -1) + -NPC.method1984(var0 + 1, 38, var1 - -1)); + int var4 = NPC.method1984(var0 + -1, 38, var1) + NPC.method1984(var0 + 1, 38, var1) + (NPC.method1984(var0, 38, -1 + var1) - -NPC.method1984(var0, 38, 1 + var1)); + int var5 = NPC.method1984(var0, 38, var1); + return var4 / 8 + var3 / 16 - -(var5 / 4); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "bn.A(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final boolean method544(int var0, int var1) { + try { + return var0 != -49?true:-49 >= ~var1 && 57 >= var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bn.E(" + var0 + ',' + var1 + ')'); + } + } + + Class3_Sub28_Sub3(RSString var1, RSString var2, int var3, int var4, int var5, boolean var6, int var7) { + try { + this.anInt3556 = var4; + this.anInt3550 = var5; + this.aBoolean3553 = var6; + this.aClass94_3561 = var1; + this.aClass94_3554 = var2; + this.anInt3563 = var7; + this.anInt3558 = var3; + if(-256 == ~this.anInt3563) { + this.anInt3563 = 0; + } + + this.aClass61_3560 = new Class61(); + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "bn.(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub4.java new file mode 100644 index 000000000..2d0878299 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub4.java @@ -0,0 +1,261 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub4 extends Node { + + static int[] anIntArray3565 = new int[32]; + private int[] anIntArray3566; + int[] anIntArray3567; + boolean aBoolean3568 = true; + static int anInt3569; + private int[][] anIntArrayArray3570; + private RSString[] aClass94Array3571; + static Class93 aClass93_3572 = new Class93(64); + static RSString aClass94_3573 = RSString.createRSString(" )2> "); + static RSString aClass94_3574 = RSString.createRSString("titlebg"); + + static RSString aClass94_3576 = RSString.createRSString("name_icons"); + static RSString aClass94_3577 = RSString.createRSString(": "); + private static RSString aClass94_3578 = RSString.createRSString("Loaded title screen"); + static Class83 aClass83_3579; + static RSString aClass94_3575 = aClass94_3578; + + final void method545(RSByteBuffer var1, int[] var2, boolean var3) { + try { + if(!var3) { + if(this.anIntArray3566 != null) { + for(int var4 = 0; ~this.anIntArray3566.length < ~var4 && ~var4 > ~var2.length; ++var4) { + int var5 = RuntimeException_Sub1.anIntArray2113[this.method550(89, var4)]; + if(~var5 < -1) { + var1.method739(0, var5, (long)var2[var4]); + } + } + + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "cb.O(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final void method546(RSByteBuffer var1, int var2) { + try { + while(true) { + int var3 = var1.getByte((byte)-43); + if(0 == var3) { + if(var2 != -1) { + this.anIntArray3567 = (int[])null; + } + + return; + } + + this.method553(var1, var3, -14637); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cb.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method547(int var0) { + try { + if(var0 != -2951) { + aClass94_3576 = (RSString)null; + } + + aClass94_3578 = null; + aClass93_3572 = null; + aClass94_3575 = null; + aClass94_3574 = null; + aClass94_3577 = null; + aClass94_3576 = null; + aClass94_3573 = null; + aClass83_3579 = null; + anIntArray3565 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cb.F(" + var0 + ')'); + } + } + + final void method548(int var1) { + try { + if(null != this.anIntArray3567) { + for(int var2 = 0; ~this.anIntArray3567.length < ~var2; ++var2) { + this.anIntArray3567[var2] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArray3567[var2], '\u8000'); + } + } + + if(var1 != 60) { + this.method552(true); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "cb.Q(" + var1 + ')'); + } + } + + final int method549(int var1, int var2, int var3) { + try { + if(var1 > -99) { + aClass94_3577 = (RSString)null; + } + + return null != this.anIntArray3566 && var3 >= 0 && ~var3 >= ~this.anIntArray3566.length?(this.anIntArrayArray3570[var3] != null && -1 >= ~var2 && ~var2 >= ~this.anIntArrayArray3570[var3].length?this.anIntArrayArray3570[var3][var2]:-1):-1; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "cb.P(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final int method550(int var1, int var2) { + try { + if(null != this.anIntArray3566 && -1 >= ~var2 && var2 <= this.anIntArray3566.length) { + if(var1 <= 33) { + aClass94_3578 = (RSString)null; + } + + return this.anIntArray3566[var2]; + } else { + return -1; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cb.S(" + var1 + ',' + var2 + ')'); + } + } + + static final void method551(int var0, int var1, int var2) { + try { + if(var0 == 0) { + if(4 == var2 && !Class128.aBoolean1685) { + var2 = 2; + var1 = 2; + } + + if(~Class23.anInt453 == ~var2) { + if(0 != var2 && var1 != Class3_Sub13_Sub21.anInt3263) { + Class2.anInterface5Array70[var2].method23(var1); + Class3_Sub13_Sub21.anInt3263 = var1; + } + } else { + if(Class3_Sub13_Sub17.aBoolean3207) { + return; + } + + if(~Class23.anInt453 != -1) { + Class2.anInterface5Array70[Class23.anInt453].method21(); + } + + if(-1 != ~var2) { + Interface5 var3 = Class2.anInterface5Array70[var2]; + var3.method22(); + var3.method23(var1); + } + + Class23.anInt453 = var2; + Class3_Sub13_Sub21.anInt3263 = var1; + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cb.A(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final int method552(boolean var1) { + try { + return !var1?-22:(this.anIntArray3566 != null?this.anIntArray3566.length:0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "cb.E(" + var1 + ')'); + } + } + + private final void method553(RSByteBuffer var1, int var2, int var3) { + try { + if(var3 != -14637) { + this.method548(-20); + } + + if(var2 != 1) { + int var4; + int var5; + if(var2 != 2) { + if(var2 != 3) { + if(var2 == 4) { + this.aBoolean3568 = false; + } + } else { + var4 = var1.getByte((byte)-34); + this.anIntArray3566 = new int[var4]; + this.anIntArrayArray3570 = new int[var4][]; + + for(var5 = 0; var4 > var5; ++var5) { + int var6 = var1.getShort(1); + this.anIntArray3566[var5] = var6; + this.anIntArrayArray3570[var5] = new int[Class155.anIntArray1976[var6]]; + + for(int var7 = 0; Class155.anIntArray1976[var6] > var7; ++var7) { + this.anIntArrayArray3570[var5][var7] = var1.getShort(1); + } + } + } + } else { + var4 = var1.getByte((byte)-114); + this.anIntArray3567 = new int[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + this.anIntArray3567[var5] = var1.getShort(1); + } + } + } else { + this.aClass94Array3571 = var1.getString().method1567(60, (byte)118); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "cb.R(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final RSString method554(int var1) { + try { + if(var1 != -1) { + return (RSString)null; + } else { + RSString var2 = Class47.method1090((byte)-118, 80); + if(null == this.aClass94Array3571) { + return Class3_Sub13_Sub29.aClass94_3357; + } else { + var2.method1533(this.aClass94Array3571[0], true); + + for(int var3 = 1; var3 < this.aClass94Array3571.length; ++var3) { + var2.method1533(GameShell.aClass94_9, true); + var2.method1533(this.aClass94Array3571[var3], true); + } + + return var2.method1576((byte)90); + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cb.C(" + var1 + ')'); + } + } + + final RSString method555(int var1, RSByteBuffer var2) { + try { + if(var1 != 28021) { + this.anIntArrayArray3570 = (int[][])((int[][])null); + } + + RSString var3 = Class47.method1090((byte)-125, 80); + if(this.anIntArray3566 != null) { + for(int var4 = 0; var4 < this.anIntArray3566.length; ++var4) { + var3.method1533(this.aClass94Array3571[var4], true); + var3.method1533(Class49.method1124(this.anIntArrayArray3570[var4], var2.method772(Class3_Sub1.anIntArray2209[this.anIntArray3566[var4]], var1 + -28021), this.anIntArray3566[var4], false), true); + } + } + + var3.method1533(this.aClass94Array3571[-1 + this.aClass94Array3571.length], true); + return var3.method1576((byte)90); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "cb.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub5.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub5.java new file mode 100644 index 000000000..cb66c0a4c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub5.java @@ -0,0 +1,328 @@ +package org.runite.jagex; +import java.util.Calendar; +import java.util.TimeZone; + +final class Class3_Sub28_Sub5 extends Node { + + static CacheIndex aClass153_3580; + static Calendar aCalendar3581 = Calendar.getInstance(TimeZone.getTimeZone("GMT")); + private static RSString aClass94_3582 = RSString.createRSString("K"); + static RSString aClass94_3583 = RSString.createRSString("brillant3:"); + static RSString aClass94_3584 = aClass94_3582; + static RSString aClass94_3585 = RSString.createRSString(",Mcran)2titre ouvert"); + static RSString aClass94_3586 = aClass94_3582; + static int[] anIntArray3587; + AnimationHeader[] animations; + static int anInt3589; + static int anInt3590 = -1; + static int anInt3591 = 0; + static int[] anIntArray3592 = new int[256]; + static volatile boolean aBoolean3593 = false; + + + static final void method556(int var0, int var1, int var2, byte var3, int var4, int var5) { + try { + if(var3 < -93) { + int var8 = var2 * var2; + int var6 = 0; + int var7 = var1; + int var11 = var8 << 1; + int var9 = var1 * var1; + int var12 = var1 << 1; + int var10 = var9 << 1; + int var13 = var8 * (-var12 + 1) + var10; + int var14 = -(var11 * (-1 + var12)) + var9; + int var16 = var9 << 2; + int var17 = var10 * ((var6 << 1) + 3); + int var15 = var8 << 2; + int var18 = ((var1 << 1) - 3) * var11; + int var19 = var16 * (1 + var6); + int var21; + int var22; + if(var5 >= Class159.anInt2020 && Class57.anInt902 >= var5) { + var21 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var2 + var4, (byte)0, Class101.anInt1425); + var22 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var2 + var4, (byte)0, Class101.anInt1425); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var5], var22, 91, var21, var0); + } + + for(int var20 = var15 * (-1 + var1); 0 < var7; var20 -= var15) { + --var7; + if(-1 < ~var13) { + while(0 > var13) { + ++var6; + var13 += var17; + var14 += var19; + var19 += var16; + var17 += var16; + } + } + + var21 = var5 - var7; + if(var14 < 0) { + var14 += var19; + var13 += var17; + var17 += var16; + var19 += var16; + ++var6; + } + + var14 += -var18; + var18 -= var15; + var13 += -var20; + var22 = var7 + var5; + if(~Class159.anInt2020 >= ~var22 && ~Class57.anInt902 <= ~var21) { + int var23 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var6 + var4, (byte)0, Class101.anInt1425); + int var24 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var6 + var4, (byte)0, Class101.anInt1425); + if(var21 >= Class159.anInt2020) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var21], var24, 121, var23, var0); + } + + if(~Class57.anInt902 <= ~var22) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var22], var24, -110, var23, var0); + } + } + } + + } + } catch (RuntimeException var25) { + throw Class44.method1067(var25, "cl.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final long method557(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return 0L; + } else { + for(int var4 = 0; var4 < var3.anInt2223; ++var4) { + Class25 var5 = var3.aClass25Array2221[var4]; + if((var5.aLong498 >> 29 & 3L) == 2L && var5.anInt483 == var1 && var5.anInt478 == var2) { + return var5.aLong498; + } + } + + return 0L; + } + } + + public static void method558(int var0) { + try { + aClass94_3585 = null; + anIntArray3592 = null; + aClass94_3582 = null; + aClass94_3586 = null; + aClass153_3580 = null; + anIntArray3587 = null; + if(var0 != -29679) { + method556(-76, 24, -17, (byte)-85, 58, -87); + } + + aClass94_3583 = null; + aClass94_3584 = null; + aCalendar3581 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cl.B(" + var0 + ')'); + } + } + + final boolean method559(int var1, int var2) { + try { + return var1 != 1317095745?false:this.animations[var2].aBoolean1386; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cl.D(" + var1 + ',' + var2 + ')'); + } + } + + static final void method560(int var0) { + try { + for(int var1 = 0; ~var1 > -6; ++var1) { + Class104.aBooleanArray2169[var1] = false; + } + + if(var0 != -21556) { + method556(21, 1, 64, (byte)40, -34, -70); + } + + Class75.anInt1105 = 0; + Class163_Sub2_Sub1.anInt4014 = 0; + NPCDefinition.anInt1252 = -1; + Class3_Sub7.anInt2293 = -1; + Class133.anInt1753 = 1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cl.A(" + var0 + ')'); + } + } + + /* + * public static void decodeNew(int file) { + try { + ByteBuffer buffer = buffers[file]; + + if (buffer != null) { + + buffer.position(1); + + int skin_id = buffer.getShort() & 0xFFFF; + + if (skin_id == 0) { + return; + } + + Skins skin = new Skins(0, SignLink.cache.read(1, skin_id).getData()); + + ByteBuffer parent = ByteBuffer.wrap(buffer.array()); + + parent.position(3);//skip the first 3 bytes, like the 666 client does. + + int children = parent.get() & 0xFF; + + Animation[] headers = new Animation[children]; + + ByteBuffer child = ByteBuffer.wrap(parent.array()); + child.position(parent.position() + children); + + + int vertice_amt = 0; + int unflagged_vertex = -1; + int flagged_vertex = -1; + + for (int i = 0; i < children; i++) { + + Animation animation = headers[i] = new Animation(); + + int type = skin.anIntArray646[i]; + + if (type == 0) { + unflagged_vertex = i; + } + + int flags = child.get() & 0xFF; + + if (flags <= 0) { + continue; + } + + if (type == 0) { + flagged_vertex = i; + } + + vertex_offset_copy[vertice_amt] = i; + + int static_frame = type == 3 || type == 10 ? 128 : 0; + + x_buff_copy[vertice_amt] = (flags & 0x1) != 0 ? BufferUtils.getUnsignedSmart(child) : static_frame; + y_buff_copy[vertice_amt] = (flags & 0x2) != 0 ? BufferUtils.getUnsignedSmart(child) : static_frame; + z_buff_copy[vertice_amt] = (flags & 0x4) != 0 ? BufferUtils.getUnsignedSmart(child) : static_frame; + + xyz_flag_copy[vertice_amt] = (byte) (flags >>> 3 & 0x3); + + if (type == 2 || type == 9) { + x_buff_copy[vertice_amt] = x_buff_copy[vertice_amt] << 2 & 0x3fff; + y_buff_copy[vertice_amt] = y_buff_copy[vertice_amt] << 2 & 0x3fff; + z_buff_copy[vertice_amt] = z_buff_copy[vertice_amt] << 2 & 0x3fff; + } + + if (type == 1 || type == 2 || type == 3 && (unflagged_vertex > flagged_vertex)) { + skin_vertices[vertice_amt] = unflagged_vertex; + flagged_vertex = unflagged_vertex; + } else { + skin_vertices[vertice_amt] = -1; + } + + if (type == 5) { + animation.aBoolean688 = true; + } else if (type == 7) { + animation.aBoolean684 = true; + } else if (type == 8 || type == 9 || type == 10) { + animation.aBoolean681 = true; + } + + vertice_amt++; + } + + //resize arrays and copy into them. + + for (Animation animation : headers) { + animation.vertices = vertice_amt; + animation.xBuffer = new int[vertice_amt]; + animation.yBuffer = new int[vertice_amt]; + animation.zBuffer = new int[vertice_amt]; + animation.skinVertices = new int[vertice_amt]; + animation.xyzFlags = new int[vertice_amt]; + animation.vertexOffsets = new int[vertice_amt]; + + for (int vextex = 0; vextex < vertice_amt; vextex++) { + animation.xBuffer[vextex] = x_buff_copy[vextex]; + animation.yBuffer[vextex] = y_buff_copy[vextex]; + animation.zBuffer[vextex] = z_buff_copy[vextex]; + animation.skinVertices[vextex] = skin_vertices[vextex]; + animation.xyzFlags[vextex] = xyz_flag_copy[vextex]; + animation.vertexOffsets[vextex] = vertex_offset_copy[vextex]; + } + } + cache[file] = headers; + } else { + System.out.println("[Animation] Unrecognized skeleton file request."); + } + } catch (Exception exception) { + exception.printStackTrace(); + } + } + */ + //Animation header + Class3_Sub28_Sub5(CacheIndex cacheIndex0, CacheIndex var2, int frame, boolean var4) { + try { + Class61 var5 = new Class61(); + int size = cacheIndex0.getFileAmount(frame, (byte)69); + this.animations = new AnimationHeader[size]; + int[] fileIds = cacheIndex0.getFileIds((byte)-128, frame); + int var8 = 0; + + while(~var8 > ~fileIds.length) { + byte[] var9 = cacheIndex0.getFile(frame, (byte)-122, fileIds[var8]); + int skinId = 255 & var9[1] | (var9[0] & 255) << 8; + Class3_Sub17 var12 = (Class3_Sub17) var5.method1222(); + Class3_Sub17 skin = null; + + while(true) { + if(var12 != null) { + if(var12.anInt2454 != skinId) { + var12 = (Class3_Sub17)var5.method1221(); + continue; + } + + skin = var12; + } + + if(null == skin) { + byte[] var13; + if(!var4) { + var13 = var2.method2140(0, skinId, 0); + } else { + var13 = var2.method2140(skinId, 0, 0); + } + + skin = new Class3_Sub17(skinId, var13); + var5.method1215(true, skin); + } + + this.animations[fileIds[var8]] = new AnimationHeader(var9, skin); + ++var8; + break; + } + } + + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "cl.(" + (cacheIndex0 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + frame + ',' + var4 + ')'); + } + } + + final boolean method561(int var1, byte var2) { + try { + return var2 < 114?true:this.animations[var1].aBoolean1382; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "cl.F(" + var1 + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub6.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub6.java new file mode 100644 index 000000000..5b7279848 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub6.java @@ -0,0 +1,279 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub6 extends Node { + + static boolean aBoolean3594; + static RSString aClass94_3595 = RSString.createRSString("(U0a )2 via: "); + int anInt3596; + int anInt3597; + int anInt3598; + RSString aClass94_3599; + static int anInt3600; + + + final void a(boolean var1) { + try { + this.aLong2569 = Class5.method830((byte)-55) - -500L | Long.MIN_VALUE & this.aLong2569; + if(!var1) { + f((int)-42); + } + + Class81.aClass13_1139.method879(this, (byte)-127); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "da.U(" + var1 + ')'); + } + } + + static final void d(int var0) { + try { + if(0 != ~NPCDefinition.anInt1252 && 0 != ~Class3_Sub7.anInt2293) { + int var1 = (Class163_Sub2_Sub1.anInt4020 * (-Class134.anInt1759 + Class3_Sub13.anInt2383) >> 16) + Class134.anInt1759; + float[] var3 = new float[3]; + Class163_Sub2_Sub1.anInt4020 += var1; + if(~Class163_Sub2_Sub1.anInt4020 <= -65536) { + Class163_Sub2_Sub1.anInt4020 = '\uffff'; + if(!Class3_Sub28_Sub14.aBoolean3668) { + Class3_Sub28_Sub1.aBoolean3531 = true; + } else { + Class3_Sub28_Sub1.aBoolean3531 = false; + } + + Class3_Sub28_Sub14.aBoolean3668 = true; + } else { + Class3_Sub28_Sub14.aBoolean3668 = false; + Class3_Sub28_Sub1.aBoolean3531 = false; + } + + if(var0 == '\uffff') { + float var2 = (float)Class163_Sub2_Sub1.anInt4020 / 65535.0F; + int var4 = Class73.anInt1081 * 2; + + int var6; + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + for(int var5 = 0; -4 < ~var5; ++var5) { + var8 = (Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4 - -2][var5] + -Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4 - -3][var5] - -Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4 - -2][var5]) * 3; + var9 = Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4][var5]; + var7 = 3 * Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4 + 1][var5]; + var6 = 3 * Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][var4][var5]; + var10 = -var6 + var7; + var11 = var8 + -(var7 * 2) + var6; + var12 = Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252][2 + var4][var5] + -var9 - -var7 - var8; + var3[var5] = (float)var9 + (((float)var12 * var2 + (float)var11) * var2 + (float)var10) * var2; + } + + Class7.anInt2162 = -1 * (int)var3[1]; + NPC.anInt3995 = (int)var3[0] + -(128 * Class131.anInt1716); + Class77.anInt1111 = (int)var3[2] + -(Class82.anInt1152 * 128); + float[] var16 = new float[3]; + var6 = Class39.anInt670 * 2; + + for(var7 = 0; ~var7 > -4; ++var7) { + var8 = Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][var6][var7] * 3; + var10 = (Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][2 + var6][var7] - Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][3 + var6][var7] + Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][var6 - -2][var7]) * 3; + var11 = Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][var6][var7]; + var9 = Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][1 + var6][var7] * 3; + var12 = var9 + -var8; + int var13 = var10 + var8 + -(2 * var9); + int var14 = -var10 + Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293][var6 - -2][var7] + -var11 + var9; + var16[var7] = (float)var11 + var2 * (var2 * (var2 * (float)var14 + (float)var13) + (float)var12); + } + + float var17 = -var3[0] + var16[0]; + float var19 = var16[2] - var3[2]; + float var18 = (-var3[1] + var16[1]) * -1.0F; + double var20 = Math.sqrt((double)(var19 * var19 + var17 * var17)); + Class85.aFloat1169 = (float)Math.atan2((double)var18, var20); + Class45.aFloat730 = -((float)Math.atan2((double)var17, (double)var19)); + Class139.anInt1823 = 2047 & (int)(325.949D * (double)Class85.aFloat1169); + Class3_Sub13_Sub25.anInt3315 = 2047 & (int)((double)Class45.aFloat730 * 325.949D); + } + } + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "da.Q(" + var0 + ')'); + } + } + + final long b(boolean var1) { + try { + if(!var1) { + this.e(90); + } + + return this.aLong2569 & Long.MAX_VALUE; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "da.A(" + var1 + ')'); + } + } + + static final AbstractIndexedSprite a(int var0, CacheIndex var1, boolean var2) { + try { + return !Class140_Sub7.method2029((byte)-127, var1, var0)?null:(!var2?(AbstractIndexedSprite)null:Class166.method2259((byte)-40)); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "da.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final int e(int var1) { + try { + if(var1 != 2063817568) { + this.anInt3598 = -47; + } + + return (int)(255L & this.aLong71 >>> 32); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "da.D(" + var1 + ')'); + } + } + + final int f(byte var1) { + try { + int var2 = -88 / ((var1 - 83) / 34); + return (int)this.aLong71; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "da.P(" + var1 + ')'); + } + } + + static final Class2 c(int var0, int var1) { + try { + Class2 var2 = (Class2)Class3_Sub13_Sub34.aClass93_3412.get((long)var0, (byte)121); + if(var2 != null) { + return var2; + } else { + byte[] var3 = Class54.aClass153_878.getFile(34, (byte)-122, var0); + if(var1 != 0) { + aClass94_3595 = (RSString)null; + } + + var2 = new Class2(); + if(var3 != null) { + var2.method74((byte)-115, new RSByteBuffer(var3), var0); + } + + Class3_Sub13_Sub34.aClass93_3412.put((byte)-86, var2, (long)var0); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "da.R(" + var0 + ',' + var1 + ')'); + } + } + + static final String a(String var0, String var1, int var2, String var3) { + for(int var4 = var3.indexOf(var0); 0 != ~var4; var4 = var3.indexOf(var0, var4 + var1.length())) { + var3 = var3.substring(0, var4) + var1 + var3.substring(var0.length() + var4); + } + + int var5 = -20 % ((var2 - 59) / 46); + return var3; + } + + static final void a(int var0, int var1, int var2, RSInterface var3) { + try { + if(null == Class56.aClass11_886 && !Class38_Sub1.aBoolean2615) { + if(var2 < 61) { + a(19, 20, -32, (RSInterface)null); + } + + if(null != var3 && Class49.method1122(0, var3) != null) { + Class56.aClass11_886 = var3; + PacketParser.aClass11_88 = Class49.method1122(0, var3); + Class144.anInt1881 = var1; + NPC.aBoolean3975 = false; + Class75_Sub3.anInt2658 = 0; + Class95.anInt1336 = var0; + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "da.S(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final void a(int var0, int var1, int var2, int var3, RSString var4, long var5, int var7, RSString name) { + try { + System.out.println("Class3_Sub28_Sub6 " + var0 + ", " + var1 + ", " + var2 + ", " + var3 + ", " + var4 + ", " + var5 + ", " + var7); + RSByteBuffer var8 = new RSByteBuffer(128); + var8.putByte((byte)-101, 10); + var8.putShort((int)(Math.random() * 99999.0D)); + var8.putShort(530); + var8.putString(0, name); + var8.putInt(-122, (int)(Math.random() * 9.9999999E7D)); + var8.putString(0, var4); + var8.putInt(-123, (int)(Math.random() * 9.9999999E7D)); + var8.putShort(Class3_Sub26.anInt2554); + var8.putByte((byte)-125, var0); + var8.putByte((byte)-8, var3); + if(var1 != 10603) { + h((byte)-43); + } + var8.putInt(-127, (int)(Math.random() * 9.9999999E7D)); + var8.putShort(var7); + var8.putShort(var2); + var8.putInt(-127, (int)(9.9999999E7D * Math.random())); + var8.encryptRSA(Class3_Sub13_Sub14.aBigInteger3162, Class3_Sub13_Sub37.aBigInteger3441, -296); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-46, 36); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-41, var8.index); + Class3_Sub13_Sub1.outgoingBuffer.putBytes(var8.buffer, 0, var8.index, 115); + Class130.anInt1711 = -3; + Canvas_Sub1.registryStage = 1; + Class132.anInt1734 = 0; + GraphicDefinition.anInt548 = 0; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "da.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var7 + ')'); + } + } + + final void g(byte var1) { + try { + this.aLong2569 |= Long.MIN_VALUE; + if(~this.b(true) == -1L) { + Class126.aClass13_1666.method879(this, (byte)-128); + } + + if(var1 != 33) { + anInt3600 = 3; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "da.T(" + var1 + ')'); + } + } + + public static void f(int var0) { + try { + if(var0 == 3) { + aClass94_3595 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "da.O(" + var0 + ')'); + } + } + + Class3_Sub28_Sub6(int var1, int var2) { + try { + this.aLong71 = (long)var1 << 32 | (long)var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "da.(" + var1 + ',' + var2 + ')'); + } + } + + static final void h(byte var0) { + try { + Class114.aClass93_1569.method1523((byte)-109); + if(var0 != 3) { + aBoolean3594 = false; + } + + Class3_Sub15.aClass93_2428.method1523((byte)-123); + Class47.aClass93_743.method1523((byte)-106); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "da.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7.java new file mode 100644 index 000000000..d0e061d30 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7.java @@ -0,0 +1,166 @@ +package org.runite.jagex; +import java.io.IOException; + +abstract class Class3_Sub28_Sub7 extends Node { + + static RSString aClass94_3601 = RSString.createRSString(")3runescape)3com)4l="); + static int anInt3602; + static int anInt3603; + static boolean aBoolean3604 = true; + static int[][][] anIntArrayArrayArray3605; + static int anInt3606; + static int[] anIntArray3607 = new int[]{0, 2, 2, 2, 1, 1, 2, 2, 1, 3, 1, 1}; + static int updateStamp; + + + static final Class3_Sub28_Sub16_Sub2 method562(CacheIndex var0, int var1, int var2, byte var3) { + try { + // System.out.println("Class 3_Sub28_Sub16_Sub2 " + var2); + return Class75_Sub4.method1351(var0, var1, var2, -30901)?(var3 != 39?(Class3_Sub28_Sub16_Sub2)null:Class3_Sub28_Sub9.method578(var3 ^ 84)):null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gf.O(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method563(int var0) { + try { + anIntArrayArrayArray3605 = (int[][][])null; + aClass94_3601 = null; + anIntArray3607 = null; + if(var0 != 3) { + anInt3603 = -108; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gf.Q(" + var0 + ')'); + } + } + + static final void method564(Signlink var0, int var1) { + try { + Class3_Sub28_Sub10.anInt3625 = 3; + Class25.method957(96, true); + aBoolean3604 = true; + Class3_Sub13_Sub15.aBoolean3184 = true; + Class128.aBoolean1685 = true; + Class3_Sub28_Sub9.anInt3622 = 0; + Class3_Sub13_Sub5.anInt3071 = 0; + Class148.aBoolean1905 = true; + WorldListEntry.aBoolean2623 = true; + RSInterface.aBoolean236 = true; + Class14.anInt340 = 127; + Class38.aBoolean661 = true; + Class140_Sub6.aBoolean2910 = true; + Class3_Sub13.anInt2378 = 0; + Class80.anInt1137 = 2; + Class3_Sub13_Sub22.aBoolean3275 = true; + Class106.aBoolean1441 = true; + Class9.anInt120 = 255; + Class25.aBoolean488 = true; + Class3_Sub28_Sub14.anInt3671 = 0; + Class122 var2 = null; + CS2Script.anInt2453 = 127; + if(Class3_Sub24_Sub3.anInt3492 >= 96) { + Class127_Sub1.method1758(2); + } else { + Class127_Sub1.method1758(0); + } + + RSString.anInt2148 = var1; + Class3_Sub20.anInt2488 = 0; + Class15.aBoolean346 = false; + Class163_Sub3.aBoolean3004 = true; + RSString.aBoolean2146 = false; + Class73.aBoolean1080 = false; + anInt2577 = 0; + + try { + Class64 var3 = var0.method1433("runescape", 12); + + while(0 == var3.anInt978) { + Class3_Sub13_Sub34.method331(1L, var1 ^ 64); + } + + if(-2 == ~var3.anInt978) { + var2 = (Class122)var3.anObject974; + byte[] var4 = new byte[(int)var2.method1741(-1)]; + + int var6; + for(int var5 = 0; ~var5 > ~var4.length; var5 += var6) { + var6 = var2.method1739(var5, var1 + 0, var4.length - var5, var4); + if(var6 == -1) { + throw new IOException("EOF"); + } + } + + Class79.method1390(new RSByteBuffer(var4), -1); + } + } catch (Exception var8) { + ; + } + + try { + if(var2 != null) { + var2.close(1); + } + } catch (Exception var7) { + ; + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "gf.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method565(byte var0, int var1, int var2) { + try { + Class82.anInt1150 = -Class3_Sub13_Sub21.anInt3256 + var1; + if(var0 != 86) { + anIntArray3607 = (int[])null; + } + + int var3 = -((int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt168 / Class44.aFloat727)) + Class82.anInt1150; + int var4 = Class82.anInt1150 + (int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt168 / Class44.aFloat727); + if(var3 < 0) { + Class82.anInt1150 = (int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt168 / Class44.aFloat727); + } + + Class3_Sub13_Sub30.anInt3362 = Class108.anInt1460 + -1 + Class2.anInt65 + -var2; + int var6 = (int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt193 / Class44.aFloat727) + Class3_Sub13_Sub30.anInt3362; + int var5 = Class3_Sub13_Sub30.anInt3362 - (int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt193 / Class44.aFloat727); + if(~var4 < ~Class23.anInt455) { + Class82.anInt1150 = Class23.anInt455 + -((int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt168 / Class44.aFloat727)); + } + + if(-1 < ~var5) { + Class3_Sub13_Sub30.anInt3362 = (int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt193 / Class44.aFloat727); + } + + if(~Class108.anInt1460 > ~var6) { + Class3_Sub13_Sub30.anInt3362 = -((int)((float)Class3_Sub28_Sub3.aClass11_3551.anInt193 / Class44.aFloat727)) + Class108.anInt1460; + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "gf.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method566(RSString var0, int var1, int var2) { + try { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(var1 + 4, 3, var2); + var3.g((byte)33); + if(var1 != 0) { + anInt3603 = 112; + } + + var3.aClass94_3599 = var0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gf.P(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + abstract Object method567(boolean var1); + + abstract boolean method568(int var1); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub1.java new file mode 100644 index 000000000..28766c080 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub1.java @@ -0,0 +1,71 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub7_Sub1 extends Class3_Sub28_Sub7 { + + static Class93 aClass93_4043 = new Class93(64); + private Object anObject4044; + static volatile int anInt4045 = 0; + static Class130 aClass130_4046 = new Class130(16); + static Class149 aClass149_4047 = new Class149(); + static CacheIndex aClass153_4048; + static RSString aClass94_4049 = RSString.createRSString(""); + static int[] anIntArray4050 = new int[1000]; + static Class93 aClass93_4051 = new Class93(30); + static RSString aClass94_4052 = RSString.createRSString("www"); + + + static final void method569(int var0, int var1) { + try { + if(var0 < -78) { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 7, var1); + var2.a(true); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "he.C(" + var0 + ',' + var1 + ')'); + } + } + + final Object method567(boolean var1) { + try { + return !var1?(Object)null:this.anObject4044; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "he.B(" + var1 + ')'); + } + } + + public static void method570(int var0) { + try { + aClass94_4049 = null; + anIntArray4050 = null; + aClass149_4047 = null; + aClass130_4046 = null; + aClass94_4052 = null; + aClass93_4043 = null; + aClass153_4048 = null; + if(var0 > -101) { + method570(-94); + } + + aClass93_4051 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "he.D(" + var0 + ')'); + } + } + + final boolean method568(int var1) { + try { + return var1 != -22358; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "he.A(" + var1 + ')'); + } + } + + Class3_Sub28_Sub7_Sub1(Object var1) { + try { + this.anObject4044 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "he.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub2.java new file mode 100644 index 000000000..445fe90a2 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub7_Sub2.java @@ -0,0 +1,28 @@ +package org.runite.jagex; +import java.lang.ref.SoftReference; + +final class Class3_Sub28_Sub7_Sub2 extends Class3_Sub28_Sub7 { + + private SoftReference aSoftReference4053; + + + final Object method567(boolean var1) { + if(!var1) { + this.method567(true); + } + + return this.aSoftReference4053.get(); + } + + final boolean method568(int var1) { + if(var1 != -22358) { + this.aSoftReference4053 = (SoftReference)null; + } + + return true; + } + + Class3_Sub28_Sub7_Sub2(Object var1) { + this.aSoftReference4053 = new SoftReference(var1); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub8.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub8.java new file mode 100644 index 000000000..5f154e151 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub8.java @@ -0,0 +1,191 @@ +package org.runite.jagex; + +final class Class3_Sub28_Sub8 extends Node { + + static int anInt3609; + static Class113[] aClass113Array3610; + static int anInt3611; + byte[] aByteArray3612; + static int anInt3613; + + + static final int method571(int var0) { + try { + return var0 >= -57?-107:((double)NPC.aFloat3979 == 3.0D?37:((double)NPC.aFloat3979 == 4.0D?50:(6.0D != (double)NPC.aFloat3979?((double)NPC.aFloat3979 == 8.0D?100:200):75))); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hc.E(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub15 method572(int var0, byte var1) { + try { + Class3_Sub28_Sub15 var2 = (Class3_Sub28_Sub15)Class56.aClass47_885.method1092((long)var0, 1400); + if(var2 != null) { + return var2; + } else { + byte[] var3 = Class3_Sub1.interfaceScriptsIndex.getFile(var0, (byte)-122, 0); + if(var3 != null) { + var2 = new Class3_Sub28_Sub15(); + if(var1 != -91) { + aClass113Array3610 = (Class113[])null; + } + + RSByteBuffer var4 = new RSByteBuffer(var3); + var4.index = -2 + var4.buffer.length; + int var5 = var4.getShort(1); + int var6 = -12 + var4.buffer.length + -2 - var5; + var4.index = var6; + int var7 = var4.getInt(); + var2.anInt3680 = var4.getShort(var1 ^ -92); + var2.anInt3687 = var4.getShort(1); + var2.anInt3678 = var4.getShort(var1 ^ -92); + var2.anInt3682 = var4.getShort(1); + int var8 = var4.getByte((byte)-70); + int var9; + int var10; + if(var8 > 0) { + var2.aClass130Array3685 = new Class130[var8]; + + for(var9 = 0; var9 < var8; ++var9) { + var10 = var4.getShort(1); + Class130 var11 = new Class130(Class95.method1585((byte)119, var10)); + var2.aClass130Array3685[var9] = var11; + + while(-1 > ~(var10--)) { + int var12 = var4.getInt(); + int var13 = var4.getInt(); + var11.method1779(1, new Class3_Sub18(var13), (long)var12); + } + } + } + + var4.index = 0; + var2.aClass94_3686 = var4.method750((byte)78); + var2.anIntArray3683 = new int[var7]; + var2.aClass94Array3688 = new RSString[var7]; + var9 = 0; + + for(var2.anIntArray3690 = new int[var7]; ~var6 < ~var4.index; var2.anIntArray3683[var9++] = var10) { + var10 = var4.getShort(var1 ^ -92); + if(var10 != 3) { + if(var10 < 100 && 21 != var10 && -39 != ~var10 && 39 != var10) { + var2.anIntArray3690[var9] = var4.getInt(); + } else { + var2.anIntArray3690[var9] = var4.getByte((byte)-67); + } + } else { + var2.aClass94Array3688[var9] = var4.getString(); + } + } + + Class56.aClass47_885.method1097(var2, (long)var0, (byte)-87); + return var2; + } else { + return null; + } + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "hc.O(" + var0 + ',' + var1 + ')'); + } + } + + public static void method573(int var0) { + try { + if(var0 != -11346) { + anInt3611 = -69; + } + + aClass113Array3610 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hc.A(" + var0 + ')'); + } + } + + static final void method574(NPC var0, boolean var1) { + try { + if(!var1) { + for(Class3_Sub9 var2 = (Class3_Sub9)IOHandler.aClass61_1242.method1222(); var2 != null; var2 = (Class3_Sub9)IOHandler.aClass61_1242.method1221()) { + if(var0 == var2.aClass140_Sub4_Sub2_2324) { + if(var2.aClass3_Sub24_Sub1_2312 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var2.aClass3_Sub24_Sub1_2312); + var2.aClass3_Sub24_Sub1_2312 = null; + } + + var2.method86(-1024); + return; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hc.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method575(CacheIndex var0, int var1) { + try { + if(var1 != -1) { + method575((CacheIndex)null, -38); + } + + Class3_Sub23.aClass153_2536 = var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hc.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method576(RSString var0, boolean var1) { + try { + if(Class119.aClass131_1624 != null && var0.length(-65) != 0) { + if(var1) { + return -117; + } else { + for(int var2 = 0; var2 < Class119.aClass131_1624.anInt1720; ++var2) { + if(Class119.aClass131_1624.aClass94Array1721[var2].method1560(Class3_Sub13_Sub16.aClass94_3192, !var1, Class3_Sub28_Sub10_Sub2.aClass94_4066).method1528((byte)-42, var0)) { + return var2; + } + } + + return -1; + } + } else { + return -1; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hc.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + Class3_Sub28_Sub8(byte[] var1) { + try { + this.aByteArray3612 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hc.(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method577(int var0, int var1, int var2, int var3, GameObject var4, GameObject var5, int var6, int var7, int var8, int var9, long var10) { + if(var4 != null) { + Class19 var12 = new Class19(); + var12.aLong428 = var10; + var12.anInt424 = var1 * 128 + 64; + var12.anInt427 = var2 * 128 + 64; + var12.anInt425 = var3; + var12.aClass140_429 = var4; + var12.aClass140_423 = var5; + var12.anInt432 = var6; + var12.anInt420 = var7; + var12.anInt430 = var8; + var12.anInt426 = var9; + + for(int var13 = var0; var13 >= 0; --var13) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var13][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var13][var1][var2] = new Class3_Sub2(var13, var1, var2); + } + } + + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2].aClass19_2233 = var12; + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub9.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub9.java new file mode 100644 index 000000000..537d7d882 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub28_Sub9.java @@ -0,0 +1,153 @@ +package org.runite.jagex; +import java.util.Calendar; + +final class Class3_Sub28_Sub9 extends Node { + + int anInt3614; + static int anInt3615; + static Calendar aCalendar3616 = Calendar.getInstance(); + private int anInt3617; + static int anInt3618; + RSString aClass94_3619; + static int anInt3620 = 0; + static RSString aClass94_3621 = null; + static int anInt3622 = 0; + static int anInt3623 = 0; + static int anInt3624; + + + static final Class3_Sub28_Sub16_Sub2 method578(int var0) { + try { + int var1 = Class3_Sub13_Sub6.anIntArray3076[0] * Class140_Sub7.anIntArray2931[0]; + byte[] var2 = Class163_Sub1.aByteArrayArray2987[0]; + if(var0 != 115) { + anInt3624 = 112; + } + + Object var3; + if(Class3_Sub13_Sub22.aBooleanArray3272[0]) { + byte[] var4 = Class163_Sub3.aByteArrayArray3005[0]; + int[] var5 = new int[var1]; + + for(int var6 = 0; var6 < var1; ++var6) { + var5[var6] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub28_Sub15.method633(var4[var6] << 24, -16777216), Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(255, var2[var6])]); + } + + var3 = new Class3_Sub28_Sub16_Sub2_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], var5); + } else { + int[] var8 = new int[var1]; + + for(int var9 = 0; var9 < var1; ++var9) { + var8[var9] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(var2[var9], 255)]; + } + + var3 = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], var8); + } + + Class39.method1035((byte)127); + return (Class3_Sub28_Sub16_Sub2)var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "hn.P(" + var0 + ')'); + } + } + + private final void method579(int var1, RSByteBuffer var2, int var3) { + try { + if(~var1 != -2) { + if(var1 == 2) { + this.anInt3614 = var2.getInt(); + } else if(-6 == ~var1) { + this.aClass94_3619 = var2.getString(); + } + } else { + this.anInt3617 = var2.getByte((byte)-71); + } + + if(var3 != 0) { + method582(5, 31, 114, true, -67, 14, -33, -115, -101, -61, -25, -121); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "hn.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method580(byte var0) { + try { + if(var0 != 80) { + method582(88, 85, -8, true, 72, 12, 29, 96, 6, 57, -13, 15); + } + + Class3_Sub2.aClass130_2220 = new Class130(32); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hn.B(" + var0 + ')'); + } + } + + static final void method581(CacheIndex var0, int var1, CacheIndex var2) { + try { + Class3_Sub13.aClass3_Sub28_Sub17_2379 = Class73.method1300(0, Class96.anInt1352, (byte)124, var2, var0); + if(!HDToolKit.highDetail) { + Class157.aClass3_Sub28_Sub17_Sub1_2000 = (Class3_Sub28_Sub17_Sub1)Class3_Sub13.aClass3_Sub28_Sub17_2379; + } else { + Class157.aClass3_Sub28_Sub17_Sub1_2000 = Class70.method1287(Class96.anInt1352, 0, var0, var2, -1); + } + + Class126.aClass3_Sub28_Sub17_1669 = Class73.method1300(var1, Class75_Sub2.anInt2643, (byte)125, var2, var0); + Class168.aClass3_Sub28_Sub17_2096 = Class73.method1300(0, Class3_Sub13_Sub11.anInt3132, (byte)124, var2, var0); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hn.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final boolean method582(int var0, int var1, int var2, boolean var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + try { + return Class102.player.getSize((byte)114) != var5?(Class102.player.getSize((byte)114) <= 2?Class158_Sub1.method2191(var6, var4, var11, -1001, var10, var9, var2, var1, var3, var8, var0, var7):Class52.method1166(var10, (byte)34, var7, var9, var1, Class102.player.getSize((byte)114), var6, var8, var4, var11, var2, var3, var0)):Class2.method76(var7, var8, var4, var0, var10, var3, var2, var1, var6, var9, 127, var11); + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "hn.O(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + + final void method583(int var1, RSByteBuffer var2) { + try { + if(var1 == 207) { + while(true) { + int var3 = var2.getByte((byte)-96); + if(var3 == 0) { + return; + } + + this.method579(var3, var2, 0); + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hn.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public static void method584(int var0) { + try { + aCalendar3616 = null; + if(var0 != 0) { + method580((byte)-90); + } + + aClass94_3621 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hn.F(" + var0 + ')'); + } + } + + final boolean method585(int var1) { + try { + if(var1 != 0) { + aClass94_3621 = (RSString)null; + } + + return this.anInt3617 == 115; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hn.E(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub29.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub29.java new file mode 100644 index 000000000..962980357 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub29.java @@ -0,0 +1,255 @@ +package org.runite.jagex; +import java.io.UnsupportedEncodingException; + +final class Class3_Sub29 extends Class3 { + + static int anInt2579 = 1; + static RSString[] aClass94Array2580 = new RSString[100]; + static CacheIndex aClass153_2581; + static int anInt2582 = 0; + static boolean isDynamicSceneGraph = false; + static RSString aClass94_2584 = RSString.createRSString("<)4col>"); + static RSString aClass94_2585 = RSString.createRSString("Connexion au serveur de mise -9 jour en cours"); + RSString aClass94_2586; + static int anInt2587; + static GameShell anApplet_Sub1_2588 = null; + static int anInt2589 = 0; + + + static final void method727(int var0) { + try { + Class148.aClass93_1911.method1524(3); + int var1 = 56 / ((var0 - 7) / 54); + Class80.aClass93_1131.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sj.O(" + var0 + ')'); + } + } + + static final void method728(boolean var0) { + try { + if(var0) { + method731((CacheIndex)null, (byte)118); + } + + try { + if(Class10.anInt154 == 1) { + int var1 = Class101.aClass3_Sub24_Sub4_1421.method499(var0); + if(-1 > ~var1 && Class101.aClass3_Sub24_Sub4_1421.method473(-124)) { + var1 -= GraphicDefinition.anInt546; + if(-1 < ~var1) { + var1 = 0; + } + + Class101.aClass3_Sub24_Sub4_1421.method506(128, var1); + return; + } + + Class101.aClass3_Sub24_Sub4_1421.method505((byte)-128); + Class101.aClass3_Sub24_Sub4_1421.method485(-110); + Class83.aClass3_Sub27_1154 = null; + Class3_Sub28_Sub4.aClass83_3579 = null; + if(Class101.aClass153_1423 != null) { + Class10.anInt154 = 2; + } else { + Class10.anInt154 = 0; + } + } + } catch (Exception var2) { + var2.printStackTrace(); + Class101.aClass3_Sub24_Sub4_1421.method505((byte)-127); + Class101.aClass153_1423 = null; + Class83.aClass3_Sub27_1154 = null; + Class10.anInt154 = 0; + Class3_Sub28_Sub4.aClass83_3579 = null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sj.A(" + var0 + ')'); + } + } + + static final int method729(byte var0, int var1, int var2) { + try { + if(var0 > -32) { + return 88; + } else if(var1 == -2) { + return 12345678; + } else if(~var1 == 0) { + if(2 > var2) { + var2 = 2; + } else if(~var2 < -127) { + var2 = 126; + } + + return var2; + } else { + var2 = (127 & var1) * var2 >> 7; + if(var2 < 2) { + var2 = 2; + } else if(var2 > 126) { + var2 = 126; + } + + return (var1 & '\uff80') - -var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sj.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method730(int var0, int var1, byte var2, int var3, int var4, int var5) { + try { + int var6 = 19 % ((var2 - -44) / 47); + if(~var0 <= ~Class101.anInt1425 && var4 <= Class3_Sub28_Sub18.anInt3765 && Class159.anInt2020 <= var5 && Class57.anInt902 >= var3) { + Class104.method1632(95, var3, var4, var5, var0, var1); + } else { + Class93.method1525(3074, var1, var4, var5, var0, var3); + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "sj.R(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method731(CacheIndex var0, byte var1) { + try { + int var2 = 3 / ((var1 - -62) / 37); + Class3_Sub13_Sub13.aClass153_3154 = var0; + Class95.anInt1344 = Class3_Sub13_Sub13.aClass153_3154.getFileAmount(16, (byte)71); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sj.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + public Class3_Sub29() {} + + static final RSString method732(String var0, int var1) { + try { + if(var1 != 27307) { + anInt2589 = -93; + } + + byte[] var2; + try { + var2 = var0.getBytes("ISO-8859-1"); + } catch (UnsupportedEncodingException var5) { + var2 = var0.getBytes(); + } + + RSString var3 = new RSString(); + var3.byteArray = var2; + var3.length = 0; + + for(int var4 = 0; var4 < var2.length; ++var4) { + if(-1 != ~var2[var4]) { + var2[var3.length++] = var2[var4]; + } + } + + return var3; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sj.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final Class3_Sub28_Sub4 method733(int var0, int var1) { + try { + Class3_Sub28_Sub4 var2 = (Class3_Sub28_Sub4)Class3_Sub28_Sub19.aClass47_3776.method1092((long)var1, 1400); + if(null == var2) { + byte[] var3; + if(-32769 < ~var1) { + var3 = Class3_Sub24_Sub3.aClass153_3490.getFile(1, (byte)-122, var1); + } else { + var3 = Class154.aClass153_1967.getFile(1, (byte)-122, 32767 & var1); + } + + var2 = new Class3_Sub28_Sub4(); + if(var0 != 12345678) { + anInt2582 = 56; + } + + if(var3 != null) { + var2.method546(new RSByteBuffer(var3), -1); + } + + if(var1 >= '\u8000') { + var2.method548(60); + } + + Class3_Sub28_Sub19.aClass47_3776.method1097(var2, (long)var1, (byte)-117); + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "sj.Q(" + var0 + ',' + var1 + ')'); + } + } + + static final void method734(int var0, RSString var1) { + try { + Class163_Sub2.aClass94_2996 = var1; + if(null != Class38.aClass87_665.anApplet1219) { + try { + RSString var2 = Class163.aClass94_2044.method1573((byte)125, Class38.aClass87_665.anApplet1219); + RSString var3 = Class144.aClass94_1885.method1573((byte)126, Class38.aClass87_665.anApplet1219); + RSString var4 = RenderAnimationDefinition.method903(new RSString[]{var2, Class82.aClass94_1151, var1, Class166.aClass94_2074, var3}, (byte)-119); + if(var0 == var1.length(var0 + -84)) { + var4 = RenderAnimationDefinition.method903(new RSString[]{var4, Canvas_Sub2.aClass94_28}, (byte)-60); + } else { + var4 = RenderAnimationDefinition.method903(new RSString[]{var4, OutputStream_Sub1.aClass94_51, Class15.method894(94608000000L + Class5.method830((byte)-55), (byte)52), Class163_Sub3.aClass94_3000, Class3_Sub28_Sub12.method612(94608000L, (byte)102)}, (byte)-80); + } + + RenderAnimationDefinition.method903(new RSString[]{Class129.aClass94_1694, var4, Class130.aClass94_1698}, (byte)-84).method1554(true, Class38.aClass87_665.anApplet1219); + } catch (Throwable var5) { + ; + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "sj.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method735(int var0) { + try { + aClass153_2581 = null; + aClass94Array2580 = null; + aClass94_2584 = null; + if(var0 != -22749) { + anInt2579 = 66; + } + + aClass94_2585 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "sj.C(" + var0 + ')'); + } + } + + static final void method736(int var0, int var1) { + try { + if(var1 <= 61) { + method736(-60, -93); + } + + if(-1 != ~Class10.anInt154) { + Class3_Sub13_Sub36.anInt3423 = var0; + } else { + Class101.aClass3_Sub24_Sub4_1421.method506(128, var0); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sj.P(" + var0 + ',' + var1 + ')'); + } + } + + Class3_Sub29(RSString var1) { + try { + this.aClass94_2586 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "sj.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub3.java new file mode 100644 index 000000000..1c15f3aae --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub3.java @@ -0,0 +1,11 @@ +package org.runite.jagex; + +abstract class Class3_Sub3 extends Class3 { + + int anInt2247; + + + abstract int method105(Class3_Sub24_Sub2 var1); + + abstract void method106(); +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub30_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub30_Sub1.java new file mode 100644 index 000000000..a271e13c8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub30_Sub1.java @@ -0,0 +1,1108 @@ +package org.runite.jagex; + +final class Class3_Sub30_Sub1 extends RSByteBuffer { + + static RSString[] aClass94Array3802; + private ISAACCipher isaacCipher; + static int[] anIntArray3804 = new int[256]; + static int[] anIntArray3805; + private int anInt3806; + static RSString aClass94_3807 = RSString.createRSString("m"); + + + static final void sendMessage(RSString var0, int var1, RSString var2, int var3) { + try { + Class3_Sub28_Sub12.sendGameMessage(var3, var1, var2, (RSString)null, (byte)50, var0); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "i.W(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method806(int var0, int var1) { + try { + if(-1 >= ~var1) { + int var2 = Class117.anIntArray1613[var1]; + int var3 = Class27.anIntArray512[var1]; + int var4 = Class3_Sub13_Sub7.aShortArray3095[var1]; + if(var4 >= 2000) { + var4 -= 2000; + } + + long var6 = Class3_Sub13_Sub22.aLongArray3271[var1]; + int var5 = (int)Class3_Sub13_Sub22.aLongArray3271[var1]; + Player var8; + if(31 == var4) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(null != var8) { + ++Class164.anInt2059; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class36.anInt638 = 2; + Class151_Sub1.anInt2958 = 0; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(71); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(-47 == ~var4) { + ++Class3_Sub23.anInt2534; + Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(247); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class82.anInt1152 + var3); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2 + Class131.anInt1716); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Integer.MAX_VALUE & (int)(var6 >>> 32)); + } + + if(~var4 == -41) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(27); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class110.anInt1473); + ++Class136.anInt1776; + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-122); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var2); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(Class3_Sub28_Sub18.anInt3764, (byte)-122); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class164.anInt2050); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)120, var3); + Class148.anInt1918 = var2; + //System.out.println(Class110.anInt1473 + ", " + var3 + ", " + var2 + ", " + Class3_Sub28_Sub18.anInt3764 + ", " + Class164.anInt2050 + ", " + var5); + } + + NPC var11; + if(-20 == ~var4) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(null != var11) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + ++Class27.anInt513; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(30); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + } + } + + if(17 == var4) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + ++Class3_Sub28_Sub10.anInt3627; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(78); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + } + } + + if(var4 == 44) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(null != var8) { + ++Class3_Sub24_Sub4.anInt3517; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(133); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + } + } + + if(-59 == ~var4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(135); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456); + ++Class3_Sub13_Sub21.anInt3255; + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var2, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-68, var3); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)117, var3); + Class148.anInt1918 = var2; + } + + if(-43 == ~var4) { + Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(254); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var2 + Class131.anInt1716); + ++Class3_Sub13_Sub20.anInt3248; + Class3_Sub13_Sub1.outgoingBuffer.putShortA((int)(var6 >>> 32) & Integer.MAX_VALUE, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var3 - -Class82.anInt1152); + } + + if(28 == var4) { + Class3_Sub13_Sub19.method264((byte)122); + } + + if(~var4 == -46) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + ++Class3_Sub13_Sub16.anInt3205; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(239); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(Class54.anInt872, (byte)-123); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(RSInterface.anInt278, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + boolean var14; + if(18 == var4) { + if(Class158.anInt2014 == 1) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } else { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, var0 ^ 2599, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + } + + ++Class3_Sub28_Sub9.anInt3615; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(66); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class131.anInt1716 + var2); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var3 - -Class82.anInt1152); + } + + if(var4 == 1001) { + ++Class145.anInt1896; + Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(170); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Integer.MAX_VALUE & (int)(var6 >>> 32)); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2 - -Class131.anInt1716); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var3 - -Class82.anInt1152); + } + + if(~var4 == -1003) { + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + ++Class130.anInt1701; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(92); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + + RSInterface var13; + if(~var4 == -1007) { + var13 = Class7.getRSInterface((byte)119, var3); + if(null != var13 && ~var13.itemIds[var2] <= -100001) { + sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{Class72.method1298((byte)9, var13.itemIds[var2]), Class3_Sub28_Sub19.aClass94_3777, Class38.getItemDefinition(var5, (byte)125).name}, (byte)-84), -1); + } else { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(92); + ++Class130.anInt1701; + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)123, var3); + Class148.anInt1918 = var2; + } + + if(var4 == 60) { + if(-1 != ~var5) { + if(-2 == ~var5) { + if(0 < Class3_Sub13_Sub26.rights && ObjectDefinition.aBooleanArray1490[82] && ObjectDefinition.aBooleanArray1490[81]) { + Class30.method979(Class131.anInt1716 + var2, Class82.anInt1152 + var3, WorldListCountry.localPlane, (byte)-4); + } else if(Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, true, 0, 2, var2, 0, 0, 1, var3, Class102.player.anIntArray2767[0])) { + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-32, Class1.anInt56); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-108, Class58.anInt916); + Class3_Sub13_Sub1.outgoingBuffer.putShort(GraphicDefinition.CAMERA_DIRECTION); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-12, 57); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-118, Class3_Sub13_Sub8.anInt3102); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-116, Class164_Sub2.anInt3020); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-57, 89); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class102.player.anInt2819); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class102.player.anInt2829); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-103, Class129.anInt1692); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-59, 63); + } + } + } else { + Class3_Sub28_Sub10.method589(WorldListCountry.localPlane, var2, var3); + } + } + + if(1007 == var4) { + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + NPCDefinition var9 = var11.definition; + if(var9.childNPCs != null) { + var9 = var9.method1471((byte)80); + } + + if(null != var9) { + ++Class3_Sub25.anInt2549; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(72); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var9.npcId); + } + } + } + + if(~var4 == -48) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(156); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-120); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)109, var3); + Class148.anInt1918 = var2; + } + + if(-4 == ~var4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(253); + ++Class29.anInt555; + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(Class54.anInt872, (byte)-126); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-124); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ -2598, RSInterface.anInt278); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)120, var3); + Class148.anInt1918 = var2; + } + + if(~var4 == -11) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(var8 != null) { + ++IOHandler.anInt1240; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(4); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + } + } + + if(41 == var4 && Class3_Sub13_Sub7.aClass11_3087 == null) { + Class2.method78(var2, false, var3); + Class3_Sub13_Sub7.aClass11_3087 = Class3_Sub28_Sub16.method638((byte)-19, var3, var2); + Class20.method909(var0 + -2470, Class3_Sub13_Sub7.aClass11_3087); + } + + if(49 == var4) { + ++Class3_Sub28_Sub10.anInt3630; + Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(84); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Integer.MAX_VALUE & (int)(var6 >>> 32)); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class82.anInt1152 + var3); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 + -2598, var2 - -Class131.anInt1716); + } + + if(-24 == ~var4) { + ++Class144.anInt1886; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(206); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456);//itemId + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ -2598, var2);//data + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-127);//slot + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)115, var3); + Class148.anInt1918 = var2; + } + + if(-15 == ~var4 && Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2)) { + ++Class3_Sub28_Sub10_Sub2.anInt4065; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(134); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class131.anInt1716 + var2, var0 ^ -268432859); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class164.anInt2050); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var3 - -Class82.anInt1152); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class110.anInt1473); + Class3_Sub13_Sub1.outgoingBuffer.putIntB(var0 ^ -2588, Class3_Sub28_Sub18.anInt3764); + Class3_Sub13_Sub1.outgoingBuffer.putShortA((int)(var6 >>> 32) & Integer.MAX_VALUE, -268435456); + } + + if(var4 == 37) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(var8 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class151_Sub1.anInt2958 = 0; + ++Class20.anInt437; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(114); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(var4 == 9 || 1003 == var4) { + OutputStream_Sub1.method66(Class163_Sub2_Sub1.aClass94Array4016[var1], var2, var5, (byte)-19, var3); + } + + if(-6 == ~var4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(55); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var2, -268435456); + ++Class3_Sub13_Sub6.anInt3084; + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var3); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)116, var3); + Class148.anInt1918 = var2; + } + + if(-22 == ~var4) { + if(~Class158.anInt2014 != -2) { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, var0 + -2595, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, var0 + -2595, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + } else { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, var0 + -2595, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(228); + ++Class167.anInt2085; + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ -2598, Class131.anInt1716 + var2); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class82.anInt1152 + var3); + } + + if(var4 == 4) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class36.anInt638 = 2; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + ++Class3_Sub13_Sub21.anInt3259; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(148); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, var0 + -268438053); + } + } + + if(32 == var4) { + var13 = Class3_Sub28_Sub16.method638((byte)-19, var3, var2); + if(null != var13) { + Class25.method958((byte)-126); + Class3_Sub1 var16 = Client.method44(var13); + Class145.method2074(var3, var2, var16.method101(-120), var16.anInt2202, var13.anInt266, -120, var13.anInt238); + Class164_Sub1.anInt3012 = 0; + Class3_Sub28_Sub9.aClass94_3621 = Class53.method1174(var13, (byte)-94); + if(Class3_Sub28_Sub9.aClass94_3621 == null) { + Class3_Sub28_Sub9.aClass94_3621 = Class148.aClass94_1915; + } + + if(var13.usingScripts) { + Class40.aClass94_676 = RenderAnimationDefinition.method903(new RSString[]{var13.aClass94_277, Class3_Sub26.CONTEXT_MENU_COLOR }, (byte)-83); + } else { + Class40.aClass94_676 = RenderAnimationDefinition.method903(new RSString[]{Class19.aClass94_431, var13.aClass94_243, Class3_Sub26.CONTEXT_MENU_COLOR }, (byte)-94); + } + } + + } else { + if(29 == var4) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(null != var8) { + ++Class148.anInt1910; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(180); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(var4 == 35) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(161); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-119); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2); + ++Class3_Sub13_Sub39.anInt3459; + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)124, var3); + Class148.anInt1918 = var2; + } + + if(15 == var4) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(var8 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(195); + ++Class3_Sub28_Sub2.anInt3542; + Class3_Sub13_Sub1.outgoingBuffer.putShortA(RSInterface.anInt278, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(Class54.anInt872, (byte)-124); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(34 == var4) { + if(Class158.anInt2014 != 1) { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, var0 ^ 2599, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + } else { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + ++Class3_Sub13_Sub22.anInt3277; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(109); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var3 - -Class82.anInt1152); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var2 + Class131.anInt1716); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + + if(-26 == ~var4) { + ++Class17.anInt411; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(81); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var2, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var3); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)126, var3); + Class148.anInt1918 = var2; + } + + if(~var4 == -3) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, var0 + -2595, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + ++Class3_Sub1.anInt2204; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(218); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + } + } + + int var12; + if(-52 == ~var4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(10); + ++Class3_Sub28_Sub15.anInt3681; + Class3_Sub13_Sub1.outgoingBuffer.putInt(var0 + -2725, var3); + var13 = Class7.getRSInterface((byte)117, var3); + if(var13.childDataBuffers != null && -6 == ~var13.childDataBuffers[0][0]) { + var12 = var13.childDataBuffers[0][1]; + if(Class163_Sub1.anIntArray2985[var12] != var13.anIntArray307[0]) { + Class163_Sub1.anIntArray2985[var12] = var13.anIntArray307[0]; + Class46.method1087(98, var12); + } + } + } + + if(-27 == ~var4) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(var11 != null) { + ++Class3_Sub13_Sub37.anInt3439; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class36.anInt638 = 2; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(115);//Item on NPC + Class3_Sub13_Sub1.outgoingBuffer.putIntB(var0 ^ -2667, Class3_Sub28_Sub18.anInt3764); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class110.anInt1473); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ -2598, var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class164.anInt2050); + //System.out.println(Class3_Sub28_Sub18.anInt3764 + ", " + Class110.anInt1473 + ", " + var5 + ", " + Class164.anInt2050); + } + } + + if(59 == var4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(10); + ++Class3_Sub28_Sub15.anInt3681; + Class3_Sub13_Sub1.outgoingBuffer.putInt(-121, var3); + var13 = Class7.getRSInterface((byte)122, var3); + if(var13.childDataBuffers != null && -6 == ~var13.childDataBuffers[0][0]) { + var12 = var13.childDataBuffers[0][1]; + Class163_Sub1.anIntArray2985[var12] = -Class163_Sub1.anIntArray2985[var12] + 1; + Class46.method1087(68, var12); + } + } + + if(~var4 == -34) { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, 2, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + ++Class61.anInt938; + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, var0 + -2595, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class36.anInt638 = 2; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(101); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2 - -Class131.anInt1716); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ -2598, Class110.anInt1473); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class164.anInt2050); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(Class82.anInt1152 + var3); + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-118, Class3_Sub28_Sub18.anInt3764); + } + + if(-1005 == ~var4) { + Class151_Sub1.anInt2958 = 0; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(94); + ++Class140_Sub4.anInt2770; + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + + if(11 == var4) { + if(-1 != ~var5) { + if(1 == var5) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(131); + ++Class66.anInt994; + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-57, Class54.anInt872); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class131.anInt1716 + var2, var0 + -268438053); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(RSInterface.anInt278); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var3 + Class82.anInt1152, -268435456); + } + } else { + CS2Script.anInt2440 = 1; + Class3_Sub28_Sub10.method589(WorldListCountry.localPlane, var2, var3); + } + } + + if(8 == var4) { + var13 = Class7.getRSInterface((byte)109, var3); + boolean var15 = true; + if(0 < var13.anInt189) { + var15 = Class3_Sub28_Sub19.method715(205, var13); + } + + if(var15) { + ++Class3_Sub28_Sub15.anInt3681; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(10); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-120, var3); + } + } + + if(~var4 == -2) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(var8 != null) { + ++ISAACCipher.anInt969; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(248); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class164.anInt2050); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class110.anInt1473); + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-110, Class3_Sub28_Sub18.anInt3764); + } + } + + if(var4 == 7) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(85); + ++Class3_Sub13_Sub12.anInt3144; + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var3); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var2); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)125, var3); + Class148.anInt1918 = var2; + } + + if(~var4 == -25) { + if(-2 != ~Class158.anInt2014) { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, 2, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + } else { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, var0 + -2595, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class36.anInt638 = 2; + ++Class70.anInt1060; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(48); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var2 - -Class131.anInt1716, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class82.anInt1152 + var3); + } + + if(var4 == 38 && Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2)) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(233); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var3 + Class82.anInt1152); + ++Class164_Sub1.anInt3017; + Class3_Sub13_Sub1.outgoingBuffer.putShortA(Class131.anInt1716 + var2, -268435456); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(RSInterface.anInt278); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(Class54.anInt872); + Class3_Sub13_Sub1.outgoingBuffer.putShortA((int)(var6 >>> 32) & Integer.MAX_VALUE, var0 ^ -268432859); + } + + if(~var4 == -14) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(6); + Class3_Sub13_Sub1.outgoingBuffer.putInt(var0 + -2720, var3); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var2, -268435456); + ++Class168.anInt2088; + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var5); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)115, var3); + Class148.anInt1918 = var2; + } + + if(57 == var4) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(null != var8) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class36.anInt638 = 2; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + ++Class41.anInt685; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(175); + Class3_Sub13_Sub1.outgoingBuffer.putShortA(var5, -268435456); + } + } + + if(var4 != 22) { + if(-51 == ~var4) { + ++AnimationDefinition.anInt1858; + Class163_Sub2_Sub1.method2224((byte)39, var6, var3, var2); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(194); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var3 + Class82.anInt1152); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class131.anInt1716 + var2); + Class3_Sub13_Sub1.outgoingBuffer.putShort((int)(var6 >>> 32) & Integer.MAX_VALUE); + } + + if(-49 == ~var4) { + ++Class126.anInt1677; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(154); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var2); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var3); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)119, var3); + Class148.anInt1918 = var2; + } + + if(~var4 == -31) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(null != var8) { + ++ItemDefinition.anInt759; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class151_Sub1.anInt2958 = 0; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class36.anInt638 = 2; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(68); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(var4 == 43) { + ++Class3_Sub13_Sub37.anInt3442; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(153); + Class3_Sub13_Sub1.outgoingBuffer.putLEInt(var3, (byte)-124); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, var2); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 + -2598, var5); + Class3_Sub9.anInt2330 = 0; + Class151.aClass11_1933 = Class7.getRSInterface((byte)112, var3); + Class148.anInt1918 = var2; + } + + if(-40 == ~var4) { + ++Class144.anInt1883; + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, 2, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + Class151_Sub1.anInt2958 = 0; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(73); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(Class54.anInt872); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class82.anInt1152 + var3); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2 + Class131.anInt1716); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, RSInterface.anInt278); + } + + if(var0 == 2597) { + if(~var4 == -13) { + ++PacketParser.anInt79; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(82); + Class3_Sub13_Sub1.outgoingBuffer.putShort(RSInterface.anInt278); + Class3_Sub13_Sub1.outgoingBuffer.putIntA(var3); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-124, Class54.anInt872); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var2); + } + + if(var4 == 36) { + if(~var5 != -1) { + if(-1 > ~Class3_Sub13_Sub26.rights && ObjectDefinition.aBooleanArray1490[82] && ObjectDefinition.aBooleanArray1490[81]) { + Class30.method979(var2 + Class131.anInt1716, Class82.anInt1152 - -var3, WorldListCountry.localPlane, (byte)-4); + } else { + ++Class3_Sub19.anInt2479; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(179); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var3 + Class82.anInt1152); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var2 + Class131.anInt1716); + } + } else { + ObjectDefinition.anInt1521 = 1; + Class3_Sub28_Sub10.method589(WorldListCountry.localPlane, var2, var3); + } + } + + if(6 == var4) { + var8 = Class3_Sub13_Sub22.players[var5]; + if(var8 != null) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var8.anIntArray2767[0], 1, 0, 2, var8.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + ++Class3_Sub28_Sub11.anInt3640; + Class151_Sub1.anInt2958 = 0; + Class36.anInt638 = 2; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(106); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + } + } + + if(var4 == 20) { + ++Class75_Sub2.anInt2640; + if(1 == Class158.anInt2014) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } else { + var14 = Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 0, false, 0, 2, var2, 0, 0, 2, var3, Class102.player.anIntArray2767[0]); + if(!var14) { + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var2, 1, 0, 2, var3, Class102.player.anIntArray2767[0]); + } + } + + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class151_Sub1.anInt2958 = 0; + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class36.anInt638 = 2; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(33); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var5); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class131.anInt1716 + var2); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class82.anInt1152 + var3); + } + + if(var4 == 16) { + var11 = Class3_Sub13_Sub24.npcs[var5]; + if(null != var11) { + ++Class3_Sub28_Sub14.anInt3677; + Class3_Sub28_Sub9.method582(Class102.player.anIntArray2755[0], 0, 1, false, 0, 2, var11.anIntArray2767[0], 1, 0, 2, var11.anIntArray2755[0], Class102.player.anIntArray2767[0]); + Class70.anInt1053 = Class163_Sub1.anInt2993; + Class151_Sub1.anInt2958 = 0; + Class3_Sub28_Sub10_Sub1.anInt4062 = Class38_Sub1.anInt2614; + Class36.anInt638 = 2; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(3); + Class3_Sub13_Sub1.outgoingBuffer.putLEShortA(var5); + } + } + + if(~Class164_Sub1.anInt3012 != -1) { + Class164_Sub1.anInt3012 = 0; + Class20.method909(120, Class7.getRSInterface((byte)121, Class3_Sub28_Sub18.anInt3764)); + } + + if(GameObject.aBoolean1837) { + Class25.method958((byte)-36); + } + + if(Class151.aClass11_1933 != null && -1 == ~Class3_Sub9.anInt2330) { + Class20.method909(-106, Class151.aClass11_1933); + } + + } + } else { + Class25.method958((byte)-86); + var13 = Class7.getRSInterface((byte)123, var3); + Class3_Sub28_Sub18.anInt3764 = var3; + Class110.anInt1473 = var2; + Class164_Sub1.anInt3012 = 1; + Class164.anInt2050 = var5; + Class20.method909(var0 ^ -2612, var13); + RenderAnimationDefinition.aClass94_378 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, Class38.getItemDefinition(var5, (byte)109).name, Class3_Sub26.CONTEXT_MENU_COLOR }, (byte)-113); + if(RenderAnimationDefinition.aClass94_378 == null) { + RenderAnimationDefinition.aClass94_378 = Class50.aClass94_829; + } + + } + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "i.E(" + var0 + ',' + var1 + ')'); + } + } + + final void setBitAccess(byte var1) { + try { + this.anInt3806 = this.index * 8; + int var2 = -12 % ((-32 - var1) / 54); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "i.R(" + var1 + ')'); + } + } + + public static void method808(int var0) { + try { + aClass94_3807 = null; + if(var0 != 1) { + anIntArray3804 = (int[])null; + } + + anIntArray3805 = null; + anIntArray3804 = null; + aClass94Array3802 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "i.V(" + var0 + ')'); + } + } + + Class3_Sub30_Sub1(int var1) { + super(var1); + } + + static final int method809(int var0, int var1, int var2, int var3, int var4) { + try { + if(Class3_Sub13_Sub32.aBoolean3387) { + var0 = 1000000; + Class3_Sub13_Sub32.aBoolean3387 = false; + } + + Class86 var5 = Class115.aClass86ArrayArray1581[var3][var1]; + float var7 = ((float)var2 * 0.1F + 0.7F) * var5.aFloat1187; + float var8 = var5.aFloat1190; + int var6 = var5.anInt1177; + int var11 = var5.anInt1184; + int var10 = var5.anInt1175; + if(!Class38.aBoolean661) { + var11 = 0; + } + + float var9 = var5.aFloat1189; + if(var6 != Class60.anInt932 || Class3_Sub17.aFloat2457 != var7 || Class3_Sub13_Sub2.aFloat3044 != var8 || var9 != RSInterface.aFloat246 || Class96.anInt1345 != var10 || Class132.anInt1736 != var11) { + Class3_Sub17.aFloat2457 = var7; + Class3_Sub13_Sub36.aFloat3435 = Class3_Sub13_Sub36.aFloat3424; + Class3_Sub13_Sub8.aFloat3105 = Class30.aFloat578; + Class60.anInt932 = var6; + Class155.anInt1971 = Class3_Sub28_Sub12.anInt3652; + Class100.anInt1407 = Class41.anInt689; + RSInterface.aFloat246 = var9; + Class3.anInt72 = 0; + Class3_Sub13_Sub23_Sub1.anInt4037 = CacheIndex.anInt1950; + Class132.anInt1736 = var11; + Class3_Sub13_Sub2.aFloat3044 = var8; + Class96.anInt1345 = var10; + Class110.aFloat1475 = Class12.aFloat319; + } + + if(65536 > Class3.anInt72) { + Class3.anInt72 += 250 * var0; + if(-65537 >= ~Class3.anInt72) { + Class3.anInt72 = 65536; + } + + float var15 = (float)Class3.anInt72 / 65536.0F; + int var13 = Class3.anInt72 >> 8; + int var12 = -Class3.anInt72 + 65536 >> 8; + Class3_Sub28_Sub12.anInt3652 = (-16711936 & var13 * (Class96.anInt1345 & 16711935) + (16711935 & Class155.anInt1971) * var12) + (16711680 & var12 * (Class155.anInt1971 & '\uff00') + ('\uff00' & Class96.anInt1345) * var13) >> 8; + float var14 = (float)(65536 - Class3.anInt72) / 65536.0F; + Class30.aFloat578 = var14 * Class3_Sub13_Sub8.aFloat3105 + var15 * Class3_Sub17.aFloat2457; + Class3_Sub13_Sub36.aFloat3424 = Class3_Sub13_Sub36.aFloat3435 * var14 + var15 * Class3_Sub13_Sub2.aFloat3044; + Class12.aFloat319 = var15 * RSInterface.aFloat246 + var14 * Class110.aFloat1475; + CacheIndex.anInt1950 = (16711680 & (Class60.anInt932 & '\uff00') * var13 + var12 * (Class3_Sub13_Sub23_Sub1.anInt4037 & '\uff00')) + ((16711935 & Class3_Sub13_Sub23_Sub1.anInt4037) * var12 - -((Class60.anInt932 & 16711935) * var13) & -16711936) >> 8; + Class41.anInt689 = var13 * Class132.anInt1736 + var12 * Class100.anInt1407 >> 8; + } + + Class92.method1506(CacheIndex.anInt1950, Class30.aFloat578, Class3_Sub13_Sub36.aFloat3424, Class12.aFloat319); + Class92.method1508(Class3_Sub28_Sub12.anInt3652, Class41.anInt689); + if(var4 != 1) { + aClass94_3807 = (RSString)null; + } + + Class92.method1509((float)Class46.anInt741, (float)Class3_Sub13_Sub22.anInt3274, (float)Class86.anInt1191); + Class92.method1504(); + return Class3_Sub28_Sub12.anInt3652; + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "i.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final int method810(byte var0, int var1) { + try { + return var0 != 3?74:255 & var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "i.D(" + var0 + ',' + var1 + ')'); + } + } + + final void method811(byte var1, int var2, byte[] var3, int var4) { + try { + if(var1 < 16) { + sendMessage((RSString)null, 126, (RSString)null, -28); + } + + for(int var5 = 0; var5 < var4; ++var5) { + var3[var2 + var5] = (byte)(this.buffer[this.index++] + -this.isaacCipher.nextOpcode(-9356)); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "i.S(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final int getBits(byte var1, int var2) { + try { + int var3 = this.anInt3806 >> 3; + int var4 = 8 + -(7 & this.anInt3806); + int var5 = 0; + this.anInt3806 += var2; + if(var1 != -11) { + return -10; + } else { + while(~var4 > ~var2) { + var5 += (Class140_Sub2.anIntArray2709[var4] & this.buffer[var3++]) << -var4 + var2; + var2 -= var4; + var4 = 8; + } + + if(~var4 == ~var2) { + var5 += this.buffer[var3] & Class140_Sub2.anIntArray2709[var4]; + } else { + var5 += this.buffer[var3] >> var4 - var2 & Class140_Sub2.anIntArray2709[var2]; + } + + return var5; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "i.C(" + var1 + ',' + var2 + ')'); + } + } + + static final void method813(int var0) { + try { + Class3_Sub28_Sub4.aClass93_3572.method1523((byte)-127); + if(var0 == 1974) { + Class143.aClass93_1874.method1523((byte)-113); + Class67.aClass93_1013.method1523((byte)-108); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "i.O(" + var0 + ')'); + } + } + + final void method814(int[] var1, boolean var2) { + try { + this.isaacCipher = new ISAACCipher(var1); + if(var2) { + this.method815(13, -97); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "i.T(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final int method815(int var1, int var2) { + try { + if(var2 != 32666) { + this.method811((byte)96, 46, (byte[])null, -50); + } + + return var1 * 8 - this.anInt3806; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "i.U(" + var1 + ',' + var2 + ')'); + } + } + + final void putOpcode(int opcode) { + if (buffer == null || isaacCipher == null) { + System.err.println("Buffer or cipher was null in CLass2_Sub30_Sub1 " + buffer + ", " + isaacCipher); + return; + } + this.buffer[this.index++] = (byte)(opcode + this.isaacCipher.nextOpcode(-9356)); + } + + final int getOpcode(int var1) { + try { + return var1 != 0?102:255 & this.buffer[this.index++] - this.isaacCipher.nextOpcode(-9356); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "i.P(" + var1 + ')'); + } + } + + final void method818(boolean var1) { + try { + this.index = (this.anInt3806 + 7) / 8; + if(var1) { + this.getBits((byte)-55, -75); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "i.Q(" + var1 + ')'); + } + } + + static final void method819(boolean var0) { + try { + Class3_Sub31 var1 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1776(73); + if(!var0) { + for(; var1 != null; var1 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1778(-76)) { + int var2 = var1.anInt2602; + if(Canvas_Sub2.loadInterface(var2, 104)) { + boolean var3 = true; + RSInterface[] var4 = GameObject.aClass11ArrayArray1834[var2]; + + int var5; + for(var5 = 0; ~var4.length < ~var5; ++var5) { + if(var4[var5] != null) { + var3 = var4[var5].usingScripts; + break; + } + } + + if(!var3) { + var5 = (int)var1.aLong71; + RSInterface var6 = Class7.getRSInterface((byte)123, var5); + if(null != var6) { + Class20.method909(117, var6); + } + } + } + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "i.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub31.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub31.java new file mode 100644 index 000000000..3b0689de5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub31.java @@ -0,0 +1,60 @@ +package org.runite.jagex; + +final class Class3_Sub31 extends Class3 { + + int anInt2602; + int anInt2603; + static Class93 aClass93_2604 = new Class93(64); + static RSString aClass94_2605 = RSString.createRSString("::clientjs5drop"); + static int[] anIntArray2606; + static int countryId; + static RSString aClass94_2608 = RSString.createRSString(")4l="); + + + static final void method820(int var0, int var1) { + try { + Class148.aClass93_1911.method1522(-127, var0); + if(var1 == 64) { + Class80.aClass93_1131.method1522(-126, var0); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wk.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method821(int var0) { + try { + aClass93_2604 = null; + anIntArray2606 = null; + aClass94_2605 = null; + aClass94_2608 = null; + if(var0 != 26971) { + method820(-51, -76); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wk.B(" + var0 + ')'); + } + } + + static final RSString[] method822(int var0, RSString[] var1) { + try { + RSString[] var2 = new RSString[5]; + if(var0 != 19406) { + method821(-26); + } + + for(int var3 = 0; ~var3 > -6; ++var3) { + var2[var3] = RenderAnimationDefinition.method903(new RSString[]{Class72.method1298((byte)9, var3), Class3_Sub28_Sub4.aClass94_3577}, (byte)-67); + if(var1 != null && null != var1[var3]) { + var2[var3] = RenderAnimationDefinition.method903(new RSString[]{var2[var3], var1[var3]}, (byte)-62); + } + } + + return var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wk.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub4.java new file mode 100644 index 000000000..ed29a65ad --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub4.java @@ -0,0 +1,151 @@ +package org.runite.jagex; + +final class Class3_Sub4 extends Class3 { + + int anInt2248; + static int anInt2249; + int anInt2250; + static int anInt2251; + static RSString aClass94_2252 = RSString.createRSString("Atteindre"); + int anInt2253; + int anInt2254; + static RSString aClass94_2255 = RSString.createRSString("Suche nach Updates )2 "); + int anInt2256; + int anInt2257; + static CacheIndex aClass153_2258; + int anInt2259 = -1; + static RSString aClass94_2260 = RSString.createRSString("Lade Wordpack )2 "); + int anInt2261 = 0; + int anInt2262; + int anInt2263; + int anInt2264; + int anInt2265; + + + static final int method107(CacheIndex var0, byte var1) { + try { + int var2 = 0; + if(var0.method2144(0, Class168.anInt2104)) { + ++var2; + } + + if(var0.method2144(0, Class3_Sub13_Sub23_Sub1.hitMarkIndex)) { + ++var2; + } + + if(var0.method2144(0, Client.anInt2195)) { + ++var2; + } + + if(var0.method2144(0, Node.anInt2575)) { + ++var2; + } + + if(var0.method2144(0, RenderAnimationDefinition.anInt380)) { + ++var2; + } + + if(var0.method2144(0, Class3_Sub13_Sub29.anInt3356)) { + ++var2; + } + + if(var0.method2144(0, Class129_Sub1.anInt2689)) { + ++var2; + } + + if(var1 > -124) { + method109(68); + } + + if(var0.method2144(0, Class3_Sub13_Sub4.anInt3061)) { + ++var2; + } + + if(var0.method2144(0, Class75_Sub1.anInt2633)) { + ++var2; + } + + if(var0.method2144(0, Class40.anInt678)) { + ++var2; + } + + if(var0.method2144(0, Class3_Sub15.anInt2436)) { + ++var2; + } + + if(var0.method2144(0, Class3_Sub28_Sub18.anInt3757)) { + ++var2; + } + + if(var0.method2144(0, Class45.anInt735)) { + ++var2; + } + + if(var0.method2144(0, Class93.anInt1325)) { + ++var2; + } + + if(var0.method2144(0, Class3_Sub18.anInt2471)) { + ++var2; + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "cd.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + public static void method109(int var0) { + try { + aClass94_2255 = null; + aClass94_2260 = null; + aClass94_2252 = null; + if(var0 != 2) { + method109(-22); + } + + aClass153_2258 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cd.A(" + var0 + ')'); + } + } + + static final void method110(int var0, int var1, int var2, int var3, boolean var4) { + IOHandler.anInt1234 = var1; + Class3_Sub13_Sub15.anInt3179 = var2; + Class3_Sub13_Sub39.anInt3466 = var3; + Class3_Sub28_Sub10_Sub2.aClass3_Sub2ArrayArrayArray4070 = new Class3_Sub2[var0][IOHandler.anInt1234][Class3_Sub13_Sub15.anInt3179]; + Class58.anIntArrayArrayArray914 = new int[var0][IOHandler.anInt1234 + 1][Class3_Sub13_Sub15.anInt3179 + 1]; + if(HDToolKit.highDetail) { + Client.aClass3_Sub11ArrayArray2199 = new Class3_Sub11[4][]; + } + + if(var4) { + Class166.aClass3_Sub2ArrayArrayArray2065 = new Class3_Sub2[1][IOHandler.anInt1234][Class3_Sub13_Sub15.anInt3179]; + Class3_Sub13_Sub9.anIntArrayArray3115 = new int[IOHandler.anInt1234][Class3_Sub13_Sub15.anInt3179]; + Class3_Sub28_Sub7.anIntArrayArrayArray3605 = new int[1][IOHandler.anInt1234 + 1][Class3_Sub13_Sub15.anInt3179 + 1]; + if(HDToolKit.highDetail) { + Class3_Sub13_Sub28.aClass3_Sub11ArrayArray3346 = new Class3_Sub11[1][]; + } + } else { + Class166.aClass3_Sub2ArrayArrayArray2065 = (Class3_Sub2[][][])null; + Class3_Sub13_Sub9.anIntArrayArray3115 = (int[][])null; + Class3_Sub28_Sub7.anIntArrayArrayArray3605 = (int[][][])null; + Class3_Sub13_Sub28.aClass3_Sub11ArrayArray3346 = (Class3_Sub11[][])null; + } + + Class167.method2264(false); + Class3_Sub28_Sub8.aClass113Array3610 = new Class113[500]; + anInt2249 = 0; + Class145.aClass113Array1895 = new Class113[500]; + Class126.anInt1672 = 0; + Class81.anIntArrayArrayArray1142 = new int[var0][IOHandler.anInt1234 + 1][Class3_Sub13_Sub15.anInt3179 + 1]; + AnimationDefinition.aClass25Array1868 = new Class25[5000]; + Class3_Sub13_Sub5.anInt3070 = 0; + Class3_Sub28_Sub10_Sub1.aClass25Array4060 = new Class25[100]; + Class23.aBooleanArrayArray457 = new boolean[Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 1][Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 1]; + Class49.aBooleanArrayArray814 = new boolean[Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 2][Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466 + 2]; + Class136.aByteArrayArrayArray1774 = new byte[var0][IOHandler.anInt1234][Class3_Sub13_Sub15.anInt3179]; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub5.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub5.java new file mode 100644 index 000000000..b5ac52f87 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub5.java @@ -0,0 +1,429 @@ +package org.runite.jagex; + +final class Class3_Sub5 extends Class3 { + + int anInt2266; + + int anInt2268; + static RSString aClass94_2269 = RSString.createRSString("lila:"); + int anInt2270; + int anInt2271; + int anInt2272; + int anInt2273; + static RSString aClass94_2274 = RSString.createRSString("Vous ne pouvez pas ajouter votre nom -9 votre liste noire)3"); + static int anInt2275 = 1; + static RSString aClass94_2276 = RSString.createRSString("rot:"); + int anInt2277; + int anInt2278; + int anInt2279; + private static RSString aClass94_2280 = RSString.createRSString("Starting 3d Library"); + static int anInt2281 = 0; + int anInt2282; + int anInt2283; + int anInt2284; + static RSString aClass94_2267 = aClass94_2280; + + static final void method111(byte var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(var0 < -47) { + for(int var9 = 0; ~Class119.aClass131_1624.anInt1720 < ~var9; ++var9) { + if(Class119.aClass131_1624.method1787(var9, (byte)-124)) { + int var10 = -Class3_Sub13_Sub21.anInt3256 + Class119.aClass131_1624.aShortArray1727[var9]; + int var11 = Class2.anInt65 - (Class119.aClass131_1624.aShortArray1718[var9] - -1 - Class108.anInt1460); + int var12 = var1 + (-var1 + var4) * (var10 - var3) / (-var3 + var7); + int var14 = Class119.aClass131_1624.method1791(var9, 8); + int var13 = (var8 + -var2) * (var11 - var6) / (var5 + -var6) + var2; + int var15 = 16777215; + Class33 var16 = null; + if(var14 == 0) { + if((double)Class44.aFloat727 == 3.0D) { + var16 = Class164_Sub2.aClass33_3019; + } + + if(4.0D == (double)Class44.aFloat727) { + var16 = IOHandler.aClass33_1238; + } + + if((double)Class44.aFloat727 == 6.0D) { + var16 = Class99.aClass33_1399; + } + + if((double)Class44.aFloat727 >= 8.0D) { + var16 = Class75_Sub2.aClass33_2637; + } + } + + if(~var14 == -2) { + if(3.0D == (double)Class44.aFloat727) { + var16 = Class99.aClass33_1399; + } + + if((double)Class44.aFloat727 == 4.0D) { + var16 = Class75_Sub2.aClass33_2637; + } + + if((double)Class44.aFloat727 == 6.0D) { + var16 = Class119.aClass33_1626; + } + + if(8.0D <= (double)Class44.aFloat727) { + var16 = Class75_Sub2.aClass33_2648; + } + } + + if(var14 == 2) { + if((double)Class44.aFloat727 == 3.0D) { + var16 = Class119.aClass33_1626; + } + + var15 = 16755200; + if((double)Class44.aFloat727 == 4.0D) { + var16 = Class75_Sub2.aClass33_2648; + } + + if(6.0D == (double)Class44.aFloat727) { + var16 = Class161.aClass33_2034; + } + + if((double)Class44.aFloat727 >= 8.0D) { + var16 = Class91.aClass33_1305; + } + } + + if(Class119.aClass131_1624.anIntArray1725[var9] != -1) { + var15 = Class119.aClass131_1624.anIntArray1725[var9]; + } + + if(null != var16) { + int var17 = Class3_Sub13.aClass3_Sub28_Sub17_2379.method691(Class119.aClass131_1624.aClass94Array1721[var9], (int[])null, Class158_Sub1.aClass94Array2977); + var13 -= var16.method998() * (var17 + -1) / 2; + var13 += var16.method1006() / 2; + + for(int var18 = 0; ~var17 < ~var18; ++var18) { + RSString var19 = Class158_Sub1.aClass94Array2977[var18]; + if(-1 + var17 > var18) { + var19.method1553(-4 + var19.length(-101), false); + } + + var16.method1003(var19, var12, var13, var15, true); + var13 += var16.method998(); + } + } + } + } + + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "cn.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final void method112(byte var0, byte var1) { + try { + if(null == Class158.aByteArrayArrayArray2008) { + Class158.aByteArrayArrayArray2008 = new byte[4][104][104]; + } + + if(var1 != 55) { + anInt2281 = -87; + } + + for(int var2 = 0; var2 < 4; ++var2) { + for(int var3 = 0; ~var3 > -105; ++var3) { + for(int var4 = 0; 104 > var4; ++var4) { + Class158.aByteArrayArrayArray2008[var2][var3][var4] = var0; + } + } + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "cn.A(" + var0 + ',' + var1 + ')'); + } + } + + public static void method113(byte var0) { + try { + aClass94_2274 = null; + aClass94_2276 = null; + aClass94_2280 = null; + aClass94_2267 = null; + aClass94_2269 = null; + int var1 = -100 % ((var0 - -43) / 46); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cn.D(" + var0 + ')'); + } + } + + static final void method114(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + try { + if(var0 != 3) { + method117((byte)-26); + } + + if(~var9 == ~var8 && var3 == var7 && var5 == var4 && var1 == var6) { + GameObject.method1869((byte)84, var2, var6, var7, var5, var9); + } else { + int var11 = var7; + int var10 = var9; + int var12 = var9 * 3; + int var13 = 3 * var7; + int var14 = var8 * 3; + int var15 = var3 * 3; + int var16 = var4 * 3; + int var17 = var1 * 3; + int var18 = var5 + -var16 + var14 + -var9; + int var19 = -var7 + var6 - (var17 + -var15); + int var20 = var12 + -var14 + -var14 + var16; + int var21 = var13 + -var15 + var17 + -var15; + int var22 = -var12 + var14; + int var23 = var15 + -var13; + + for(int var24 = 128; ~var24 >= -4097; var24 += 128) { + int var25 = var24 * var24 >> 12; + int var26 = var24 * var25 >> 12; + int var28 = var19 * var26; + int var29 = var25 * var20; + int var27 = var18 * var26; + int var30 = var25 * var21; + int var31 = var22 * var24; + int var32 = var23 * var24; + int var33 = (var31 + (var27 - -var29) >> 12) + var9; + int var34 = var7 + (var32 + var28 + var30 >> 12); + GameObject.method1869((byte)-119, var2, var34, var11, var33, var10); + var10 = var33; + var11 = var34; + } + } + + } catch (RuntimeException var35) { + throw Class44.method1067(var35, "cn.O(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + static final int method115(boolean var0, int var1) { + try { + long var2 = Class5.method830((byte)-55); + if(var1 != -1) { + method116(false, 11); + } + + for(Class3_Sub7 var4 = !var0?(Class3_Sub7)Class3_Sub28_Sub15.aClass130_3679.method1778(-123):(Class3_Sub7)Class3_Sub28_Sub15.aClass130_3679.method1776(var1 + 56); var4 != null; var4 = (Class3_Sub7)Class3_Sub28_Sub15.aClass130_3679.method1778(-64)) { + if((4611686018427387903L & var4.aLong2295) < var2) { + if(~(4611686018427387904L & var4.aLong2295) != -1L) { + int var5 = (int)var4.aLong71; + Class163_Sub1.anIntArray2985[var5] = Class57.anIntArray898[var5]; + var4.method86(-1024); + return var5; + } + + var4.method86(var1 ^ 1023); + } + } + + return -1; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "cn.F(" + var0 + ',' + var1 + ')'); + } + } + + static final void method116(boolean var0, int var1) { + try { + int var2 = Class159.localPlayerCount; + if(Class65.anInt987 == Class102.player.anInt2819 >> 7 && ~(Class102.player.anInt2829 >> 7) == ~Class45.anInt733) { + Class65.anInt987 = 0; + } + + if(var0) { + var2 = 1; + } + + int var3; + Player var4; + int var7; + int var8; + int var9; + int var10; + int var11; + for(var3 = 0; var3 < var2; ++var3) { + if(!var0) { + var4 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var3]]; + } else { + var4 = Class102.player; + } + + if(null != var4 && var4.hasDefinitions((byte)17)) { + int var5 = var4.getSize((byte)114); + int var6; + if(-2 == ~var5) { + if((127 & var4.anInt2819) == 64 && 64 == (127 & var4.anInt2829)) { + var6 = var4.anInt2819 >> 7; + var7 = var4.anInt2829 >> 7; + if(~var6 <= -1 && var6 < 104 && ~var7 <= -1 && -105 < ~var7) { + ++Class163_Sub1_Sub1.anIntArrayArray4010[var6][var7]; + } + } + } else if(((1 & var5) != 0 || ~(var4.anInt2819 & 127) == -1 && ~(127 & var4.anInt2829) == -1) && (~(1 & var5) != -2 || -65 == ~(var4.anInt2819 & 127) && -65 == ~(127 & var4.anInt2829))) { + var6 = var4.anInt2819 + -(var5 * 64) >> 7; + var7 = var4.anInt2829 + -(var5 * 64) >> 7; + var8 = var4.getSize((byte)114) + var6; + if(104 < var8) { + var8 = 104; + } + + if(-1 < ~var6) { + var6 = 0; + } + + var9 = var7 + var4.getSize((byte)114); + if(var7 < 0) { + var7 = 0; + } + + if(~var9 < -105) { + var9 = 104; + } + + for(var10 = var6; ~var10 > ~var8; ++var10) { + for(var11 = var7; var11 < var9; ++var11) { + ++Class163_Sub1_Sub1.anIntArrayArray4010[var10][var11]; + } + } + } + } + } + + if(var1 == 670232012) { + label226: + for(var3 = 0; ~var2 < ~var3; ++var3) { + long var16; + if(!var0) { + var4 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var3]]; + var16 = (long)Class56.localPlayerIndexes[var3] << 32; + } else { + var4 = Class102.player; + var16 = 8791798054912L; + } + + if(var4 != null && var4.hasDefinitions((byte)17)) { + var4.aBoolean3968 = false; + if((RSInterface.aBoolean236 && -201 > ~Class159.localPlayerCount || 50 < Class159.localPlayerCount) && !var0 && var4.anInt2764 == var4.method1965(false).anInt368) { + var4.aBoolean3968 = true; + } + + var7 = var4.getSize((byte)114); + if(-2 == ~var7) { + if(64 == (127 & var4.anInt2819) && (127 & var4.anInt2829) == 64) { + var8 = var4.anInt2819 >> 7; + var9 = var4.anInt2829 >> 7; + if(~var8 > -1 || var8 >= 104 || ~var9 > -1 || 104 <= var9) { + continue; + } + + if(~Class163_Sub1_Sub1.anIntArrayArray4010[var8][var9] < -2) { + --Class163_Sub1_Sub1.anIntArrayArray4010[var8][var9]; + continue; + } + } + } else if(~(1 & var7) == -1 && ~(127 & var4.anInt2819) == -1 && (var4.anInt2829 & 127) == 0 || 1 == (1 & var7) && -65 == ~(127 & var4.anInt2819) && (var4.anInt2829 & 127) == 0) { + var8 = var4.anInt2819 + -(64 * var7) >> 7; + var10 = var7 + var8; + var9 = -(var7 * 64) + var4.anInt2829 >> 7; + if(var10 > 104) { + var10 = 104; + } + + if(0 > var8) { + var8 = 0; + } + + var11 = var7 + var9; + if(~var9 > -1) { + var9 = 0; + } + + boolean var12 = true; + if(var11 > 104) { + var11 = 104; + } + + int var13; + int var14; + for(var13 = var8; ~var13 > ~var10; ++var13) { + for(var14 = var9; ~var11 < ~var14; ++var14) { + if(-2 <= ~Class163_Sub1_Sub1.anIntArrayArray4010[var13][var14]) { + var12 = false; + break; + } + } + } + + if(var12) { + var13 = var8; + + while(true) { + if(~var13 <= ~var10) { + continue label226; + } + + for(var14 = var9; ~var11 < ~var14; ++var14) { + --Class163_Sub1_Sub1.anIntArrayArray4010[var13][var14]; + } + + ++var13; + } + } + } + + if(null != var4.anObject2796 && ~Class44.anInt719 <= ~var4.anInt2797 && ~var4.anInt2778 < ~Class44.anInt719) { + var4.aBoolean3968 = false; + var4.anInt2831 = Class121.method1736(WorldListCountry.localPlane, 1, var4.anInt2819, var4.anInt2829); + Class3_Sub13_Sub25.method292(WorldListCountry.localPlane, var4.anInt2819, var4.anInt2829, var4.anInt2831, var4, var4.anInt2785, var16, var4.anInt2788, var4.anInt2777, var4.anInt2818, var4.anInt2817); + } else { + var4.anInt2831 = Class121.method1736(WorldListCountry.localPlane, 1, var4.anInt2819, var4.anInt2829); + Class20.method907(WorldListCountry.localPlane, var4.anInt2819, var4.anInt2829, var4.anInt2831, 64 * (var7 - 1) + 60, var4, var4.anInt2785, var16, var4.aBoolean2810); + } + } + } + + } + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "cn.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method117(byte var0) { + try { + if(0 > Class3_Sub28_Sub1.anInt3536) { + Class3_Sub13_Sub30.anInt3362 = -1; + Class3_Sub28_Sub1.anInt3536 = 0; + Class82.anInt1150 = -1; + } + + if(~Class3_Sub28_Sub1.anInt3536 < ~Class23.anInt455) { + Class3_Sub13_Sub30.anInt3362 = -1; + Class3_Sub28_Sub1.anInt3536 = Class23.anInt455; + Class82.anInt1150 = -1; + } + + if(var0 != 87) { + aClass94_2280 = (RSString)null; + } + + if(Class3_Sub4.anInt2251 < 0) { + Class82.anInt1150 = -1; + Class3_Sub13_Sub30.anInt3362 = -1; + Class3_Sub4.anInt2251 = 0; + } + + if(Class108.anInt1460 < Class3_Sub4.anInt2251) { + Class3_Sub4.anInt2251 = Class108.anInt1460; + Class3_Sub13_Sub30.anInt3362 = -1; + Class82.anInt1150 = -1; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "cn.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub6.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub6.java new file mode 100644 index 000000000..f7edfad00 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub6.java @@ -0,0 +1,61 @@ +package org.runite.jagex; + +final class Class3_Sub6 extends Class3 { + + + private static RSString aClass94_2286 = RSString.createRSString("wishes to trade with you)3"); + static byte[][] aByteArrayArray2287; + static int[] anIntArray2288 = new int[32]; + byte[] aByteArray2289; + static int anInt2290; + static int anInt2291; + static RSString aClass94_2285 = aClass94_2286; + + public static void method118(int var0) { + try { + anIntArray2288 = null; + aByteArrayArray2287 = (byte[][])null; + aClass94_2285 = null; + if(var0 != 2) { + method119((float[])null, 91); + } + + aClass94_2286 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ea.A(" + var0 + ')'); + } + } + + static final float[] method119(float[] var0, int var1) { + try { + if(var0 != null) { + float[] var2 = new float[var0.length]; + Class76.method1360(var0, var1, var2, 0, var0.length); + return var2; + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ea.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + Class3_Sub6(byte[] var1) { + try { + this.aByteArray2289 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ea.(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static { + int var0 = 2; + + for(int var1 = 0; var1 < 32; ++var1) { + anIntArray2288[var1] = -1 + var0; + var0 += var0; + } + + anInt2291 = 1; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub7.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub7.java new file mode 100644 index 000000000..1033cfcbe --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub7.java @@ -0,0 +1,74 @@ +package org.runite.jagex; + +final class Class3_Sub7 extends Class3 { + + static int[] anIntArray2292 = new int[1000]; + static int anInt2293 = -1; + static int anInt2294; + long aLong2295; + + + public static void method120(int var0) { + try { + anIntArray2292 = null; + if(var0 != 1000) { + anInt2293 = 55; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "eb.B(" + var0 + ')'); + } + } + + static final int method121(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + if((var2 & 1) == var5) { + int var7 = var4; + var4 = var3; + var3 = var7; + } + + var1 &= 3; + return 0 != var1?(~var1 != -2?(var1 != 2?-var0 + 7 + 1 + -var3:-var6 + (7 - (var4 + -1))):var0):var6; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "eb.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method122(int var0) { + try { + int var1 = -101 / ((var0 - 10) / 59); + GameObject.aClass11ArrayArray1834 = new RSInterface[Class3_Sub13_Sub29.aClass153_3361.method2121(0)][]; + Class130.aBooleanArray1703 = new boolean[Class3_Sub13_Sub29.aClass153_3361.method2121(0)]; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "eb.D(" + var0 + ')'); + } + } + + static final RSString method123(int var0, int var1) { + try { + if(100000 > var1) { + return RenderAnimationDefinition.method903(new RSString[]{Class56.aClass94_888, Class72.method1298((byte)9, var1), Class72.aClass94_1076}, (byte)-65); + } else { + if(var0 != 1000) { + method123(-54, 54); + } + + return var1 >= 10000000?RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub25.aClass94_3307, Class72.method1298((byte)9, var1 / 1000000), Class3_Sub13_Sub10.aClass94_3117, Class72.aClass94_1076}, (byte)-85):RenderAnimationDefinition.method903(new RSString[]{Class3_Sub19.aClass94_2477, Class72.method1298((byte)9, var1 / 1000), Class3_Sub28_Sub5.aClass94_3584, Class72.aClass94_1076}, (byte)-124); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "eb.C(" + var0 + ',' + var1 + ')'); + } + } + + public Class3_Sub7() {} + + Class3_Sub7(long var1) { + try { + this.aLong2295 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "eb.(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub8.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub8.java new file mode 100644 index 000000000..38cf86ba5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub8.java @@ -0,0 +1,467 @@ +package org.runite.jagex; + +import org.runite.GameLaunch; + +final class Class3_Sub8 extends Class3 { + + int anInt2296; + static RSString aClass94_2297 = RSString.createRSString("Wordpack geladen)3"); + Class64[] aClass64Array2298; + int[] anIntArray2299; + int[] anIntArray2300; + int[] anIntArray2301; + byte[][][] aByteArrayArrayArray2302; + Class64[] aClass64Array2303; + static RSString aClass94_2304 = RSString.createRSString("details"); + int anInt2305; + static RSString aClass94_2306 = RSString.createRSString("<)4col> x"); + + + static final void method124(int var0, int var1, int var2) { + try { + if(var0 <= 23) { + aClass94_2306 = (RSString)null; + } + + if(Canvas_Sub2.loadInterface(var2, 104)) { + Class2.method75(GameObject.aClass11ArrayArray1834[var2], true, var1); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ed.A(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final void method125(int var0, byte var1, int var2, int var3, RSInterface var4) { + try { + Class58.method1194(-16385); + if(HDToolKit.highDetail) { + Class22.method935(var3, var2, var3 + var4.anInt168, var2 + var4.anInt193); + } else { + Class74.method1324(var3, var2, var3 - -var4.anInt168, var2 + var4.anInt193); + } + + if(2 != Class161.anInt2028 && 5 != Class161.anInt2028 && Class49.aClass3_Sub28_Sub16_812 != null) { + int var19 = Class3_Sub13_Sub8.anInt3102 + GraphicDefinition.CAMERA_DIRECTION & 2047; + int var6 = 0 + Class102.player.anInt2819 / 32 + 48; + int var7 = 0 + -(Class102.player.anInt2829 / 32) + 464; + if(!HDToolKit.highDetail) { + ((Class3_Sub28_Sub16_Sub2)Class49.aClass3_Sub28_Sub16_812).method664(var3, var2, var4.anInt168, var4.anInt193, var6, var7, var19, 256 - -Class164_Sub2.anInt3020, var4.anIntArray207, var4.anIntArray291); + } else { + ((Class3_Sub28_Sub16_Sub1)Class49.aClass3_Sub28_Sub16_812).method647(var3, var2, var4.anInt168, var4.anInt193, var6, var7, var19, Class164_Sub2.anInt3020 + 256, (Class3_Sub28_Sub16_Sub1)var4.method866((byte)-113, false)); + } + + int var9; + int var10; + int var11; + int var12; + int var13; + int var14; + int var17; + int var16; + if(null != Class3_Sub13_Sub35.aClass131_3421) { + for(int var8 = 0; var8 < Class3_Sub13_Sub35.aClass131_3421.anInt1720; ++var8) { + if(Class3_Sub13_Sub35.aClass131_3421.method1789(var8, var1 ^ 553)) { + var9 = 2 + 4 * (Class3_Sub13_Sub35.aClass131_3421.aShortArray1727[var8] + -Class131.anInt1716) + -(Class102.player.anInt2819 / 32); + var11 = Class51.anIntArray840[var19]; + var12 = Class51.anIntArray851[var19]; + Class3_Sub28_Sub17 var15 = Class3_Sub13.aClass3_Sub28_Sub17_2379; + var11 = var11 * 256 / (256 + Class164_Sub2.anInt3020); + var10 = 2 + 4 * (-Class82.anInt1152 + Class3_Sub13_Sub35.aClass131_3421.aShortArray1718[var8]) - Class102.player.anInt2829 / 32; + var12 = var12 * 256 / (256 + Class164_Sub2.anInt3020); + var14 = -(var9 * var11) + var10 * var12 >> 16; + if(Class3_Sub13_Sub35.aClass131_3421.method1791(var8, var1 + -51) == 1) { + var15 = Class126.aClass3_Sub28_Sub17_1669; + } + + if(2 == Class3_Sub13_Sub35.aClass131_3421.method1791(var8, 8)) { + var15 = Class168.aClass3_Sub28_Sub17_2096; + } + + var13 = var11 * var10 - -(var12 * var9) >> 16; + var16 = var15.method680(Class3_Sub13_Sub35.aClass131_3421.aClass94Array1721[var8], 100); + var13 -= var16 / 2; + if(~var13 <= ~(-var4.anInt168) && var13 <= var4.anInt168 && var14 >= -var4.anInt193 && var14 <= var4.anInt193) { + var17 = 16777215; + if(~Class3_Sub13_Sub35.aClass131_3421.anIntArray1725[var8] != 0) { + var17 = Class3_Sub13_Sub35.aClass131_3421.anIntArray1725[var8]; + } + + if(!HDToolKit.highDetail) { + Class74.method1314(var4.anIntArray207, var4.anIntArray291); + } else { + Class22.method936((Class3_Sub28_Sub16_Sub1)var4.method866((byte)-113, false)); + } + + var15.method693(Class3_Sub13_Sub35.aClass131_3421.aClass94Array1721[var8], var3 + var13 + var4.anInt168 / 2, var2 + var4.anInt193 / 2 + -var14, var16, 50, var17, 0, 256, 1, 0, 0); + if(HDToolKit.highDetail) { + Class22.method921(); + } else { + Class74.method1310(); + } + } + } + } + } + + for(var9 = 0; Class149.anInt1924 > var9; ++var9) { + var10 = -(Class102.player.anInt2819 / 32) + 2 + 4 * Class84.anIntArray1163[var9] + 0; + var11 = -(Class102.player.anInt2829 / 32) + 2 + (Class3_Sub28_Sub7_Sub1.anIntArray4050[var9] * 4 - 0); + ObjectDefinition var20 = Class162.getObjectDefinition(4, Class3_Sub28_Sub15.anIntArray3693[var9]); + if(null != var20.anIntArray1524) { + var20 = var20.method1685(var1 + -59); + if(null == var20 || 0 == ~var20.anInt1482) { + continue; + } + } + + Class38_Sub1.method1030(var4, Class140_Sub4.aClass3_Sub28_Sub16Array2839[var20.anInt1482], var11, var10, var2, (byte)11, var3); + } + + for(var9 = 0; 104 > var9; ++var9) { + for(var10 = 0; -105 < ~var10; ++var10) { + Class61 var25 = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][var9][var10]; + if(null != var25) { + var12 = 2 + var9 * 4 + -(Class102.player.anInt2819 / 32); + var13 = -(Class102.player.anInt2829 / 32) + 2 + 4 * var10; + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[0], var13, var12, var2, (byte)11, var3); + } + } + } + + for(var9 = 0; ~Class163.localNPCCount < ~var9; ++var9) { + NPC var21 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[var9]]; + if(var21 != null && var21.hasDefinitions((byte)17)) { + NPCDefinition var22 = var21.definition; + if(null != var22 && null != var22.childNPCs) { + var22 = var22.method1471((byte)-3); + } + + if(var22 != null && var22.aBoolean1285 && var22.aBoolean1270) { + var12 = var21.anInt2819 / 32 - Class102.player.anInt2819 / 32; + var13 = var21.anInt2829 / 32 + -(Class102.player.anInt2829 / 32); + if(~var22.anInt1283 != 0) { + Class38_Sub1.method1030(var4, Class140_Sub4.aClass3_Sub28_Sub16Array2839[var22.anInt1283], var13, var12, var2, (byte)11, var3); + } else { + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[1], var13, var12, var2, (byte)11, var3); + } + } + } + } + + for(var9 = 0; var9 < Class159.localPlayerCount; ++var9) { + Player var23 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var9]]; + if(null != var23 && var23.hasDefinitions((byte)17)) { + var12 = var23.anInt2829 / 32 - Class102.player.anInt2829 / 32; + var11 = -(Class102.player.anInt2819 / 32) + var23.anInt2819 / 32; + long var29 = var23.displayName.toLong(-128); + boolean var28 = false; + + for(var16 = 0; ~Class8.anInt104 < ~var16; ++var16) { + if(~var29 == ~Class50.aLongArray826[var16] && 0 != Class55.anIntArray882[var16]) { + var28 = true; + break; + } + } + + boolean var31 = false; + + for(var17 = 0; Node.clanSize > var17; ++var17) { + if(var29 == Class3_Sub28_Sub15.aClass3_Sub19Array3694[var17].aLong71) { + var31 = true; + break; + } + } + + boolean var32 = false; + if(-1 != ~Class102.player.teamId && 0 != var23.teamId && var23.teamId == Class102.player.teamId) { + var32 = true; + } + + if(var28) { + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[3], var12, var11, var2, (byte)11, var3); + } else if(!var31) { + if(var32) { + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[4], var12, var11, var2, (byte)11, var3); + } else { + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[2], var12, var11, var2, (byte)11, var3); + } + } else { + Class38_Sub1.method1030(var4, Class80.aClass3_Sub28_Sub16Array1136[5], var12, var11, var2, (byte)11, var3); + } + } + } + + Class96[] var24 = RuntimeException_Sub1.aClass96Array2114; + + for(var10 = 0; ~var10 > ~var24.length; ++var10) { + Class96 var26 = var24[var10]; + if(null != var26 && -1 != ~var26.anInt1360 && Class44.anInt719 % 20 < 10) { + if(~var26.anInt1360 == -2 && var26.anInt1359 >= 0 && var26.anInt1359 < Class3_Sub13_Sub24.npcs.length) { + NPC var27 = Class3_Sub13_Sub24.npcs[var26.anInt1359]; + if(null != var27) { + var13 = -(Class102.player.anInt2819 / 32) + var27.anInt2819 / 32; + var14 = var27.anInt2829 / 32 + -(Class102.player.anInt2829 / 32); + Class53.method1171(var26.anInt1351, var2, var3, var13, var14, var4, false); + } + } + + if(-3 == ~var26.anInt1360) { + var12 = (-Class131.anInt1716 + var26.anInt1356) * 4 + 2 - Class102.player.anInt2819 / 32; + var13 = -(Class102.player.anInt2829 / 32) + 2 + (-Class82.anInt1152 + var26.anInt1347) * 4; + Class53.method1171(var26.anInt1351, var2, var3, var12, var13, var4, false); + } + + if(var26.anInt1360 == 10 && -1 >= ~var26.anInt1359 && Class3_Sub13_Sub22.players.length > var26.anInt1359) { + Player var30 = Class3_Sub13_Sub22.players[var26.anInt1359]; + if(null != var30) { + var14 = var30.anInt2829 / 32 + -(Class102.player.anInt2829 / 32); + var13 = var30.anInt2819 / 32 + -(Class102.player.anInt2819 / 32); + Class53.method1171(var26.anInt1351, var2, var3, var13, var14, var4, false); + } + } + } + } + + if(Class65.anInt987 != 0) { + var9 = 4 * Class65.anInt987 + (2 - Class102.player.anInt2819 / 32); + var10 = 2 + 4 * Class45.anInt733 - Class102.player.anInt2829 / 32; + Class38_Sub1.method1030(var4, Class45.aClass3_Sub28_Sub16_736, var10, var9, var2, (byte)11, var3); + } + + if(!HDToolKit.highDetail) { + Class74.method1323(-1 + var4.anInt168 / 2 + var3, -1 + var4.anInt193 / 2 + var2, 3, 3, 16777215); + } else { + Class22.method934(-1 + (var3 - -(var4.anInt168 / 2)), -1 + var2 - -(var4.anInt193 / 2), 3, 3, 16777215); + } + } else if(!HDToolKit.highDetail) { + Class74.method1332(var3, var2, 0, var4.anIntArray207, var4.anIntArray291); + } else { + Class3_Sub28_Sub16 var5 = var4.method866((byte)-113, false); + if(null != var5) { + var5.method643(var3, var2); + } + } + + if(var1 == 59) { + Class163_Sub1_Sub1.aBooleanArray4008[var0] = true; + } + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "ed.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final void method126(boolean var0, int var1, int var2, int var3, int var4) { + try { + if(!var0) { + if(~var4 <= ~Class101.anInt1425 && var4 <= Class3_Sub28_Sub18.anInt3765) { + var2 = Class40.method1040(Class57.anInt902, var2, (byte)0, Class159.anInt2020); + var1 = Class40.method1040(Class57.anInt902, var1, (byte)0, Class159.anInt2020); + Class3_Sub13_Sub16.method244(2, var2, var4, var1, var3); + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ed.F(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method127(short[] var0, int var1, RSString[] var2, int var3, int var4) { + try { + if(~var1 < ~var4) { + int var6 = var4; + int var5 = (var4 - -var1) / 2; + RSString var7 = var2[var5]; + var2[var5] = var2[var1]; + var2[var1] = var7; + short var8 = var0[var5]; + var0[var5] = var0[var1]; + var0[var1] = var8; + + for(int var9 = var4; ~var1 < ~var9; ++var9) { + if(var7 == null || null != var2[var9] && var2[var9].method1559(var7, -1) < (var9 & 1)) { + RSString var10 = var2[var9]; + var2[var9] = var2[var6]; + var2[var6] = var10; + short var11 = var0[var9]; + var0[var9] = var0[var6]; + var0[var6++] = var11; + } + } + + var2[var1] = var2[var6]; + var2[var6] = var7; + var0[var1] = var0[var6]; + var0[var6] = var8; + method127(var0, -1 + var6, var2, -909, var4); + method127(var0, var1, var2, -909, var6 - -1); + } + + if(var3 != -909) { + method125(-13, (byte)113, -27, -120, (RSInterface)null); + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ed.E(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method128(int var0) { + try { + Class44.aClass93_725.method1524(3); + if(var0 != 2) { + method127((short[])null, -27, (RSString[])null, -4, -64); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ed.O(" + var0 + ')'); + } + } + + static final int method129(int var0, int var1, int var2, int var3) { + try { + if(var1 != 2) { + method131(14); + } + + if(-244 <= ~var0) { + if(~var0 < -218) { + var2 >>= 3; + } else if(var0 <= 192) { + if(179 < var0) { + var2 >>= 1; + } + } else { + var2 >>= 2; + } + } else { + var2 >>= 4; + } + + return (var0 >> 1) + (var2 >> 5 << 7) + (var3 >> 2 << 10); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ed.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final WorldListEntry getWorld(int var0, int index) { + try { + if(Class30.loadedWorldList && ~index <= ~Class3_Sub13_Sub4.worldListOffset && ~index >= ~Class100.worldListArraySize) { + int var2 = 120 / ((0 - var0) / 32); + GameLaunch.SETTINGS.setWorld(index); + return Class117.worldList[index - Class3_Sub13_Sub4.worldListOffset]; + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ed.P(" + var0 + ',' + index + ')'); + } + } + + public static void method131(int var0) { + try { + aClass94_2297 = null; + aClass94_2304 = null; + aClass94_2306 = null; + if(var0 >= -104) { + method132((byte)-28); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ed.Q(" + var0 + ')'); + } + } + + static final void method132(byte var0) { + try { + for(int var1 = 0; var1 < Class113.anInt1552; ++var1) { + --RSString.anIntArray2157[var1]; + if(~RSString.anIntArray2157[var1] > 9) { + --Class113.anInt1552; + + for(int var2 = var1; var2 < Class113.anInt1552; ++var2) { + Class3_Sub25.anIntArray2550[var2] = Class3_Sub25.anIntArray2550[var2 - -1]; + Class102.aClass135Array2131[var2] = Class102.aClass135Array2131[var2 + 1]; + Class166.anIntArray2068[var2] = Class166.anIntArray2068[1 + var2]; + RSString.anIntArray2157[var2] = RSString.anIntArray2157[1 + var2]; + Class3_Sub13_Sub6.anIntArray3083[var2] = Class3_Sub13_Sub6.anIntArray3083[var2 - -1]; + } + + --var1; + } else { + Class135 var11 = Class102.aClass135Array2131[var1]; + if(null == var11) { + var11 = Class135.method1811(Class146.aClass153_1902, Class3_Sub25.anIntArray2550[var1], 0); + if(null == var11) { + continue; + } + + RSString.anIntArray2157[var1] += var11.method1813(); + Class102.aClass135Array2131[var1] = var11; + } + + if(0 > RSString.anIntArray2157[var1]) { + int var3; + if(~Class3_Sub13_Sub6.anIntArray3083[var1] != -1) { + int var4 = 128 * (255 & Class3_Sub13_Sub6.anIntArray3083[var1]); + int var7 = Class3_Sub13_Sub6.anIntArray3083[var1] >> 8 & 255; + int var5 = 255 & Class3_Sub13_Sub6.anIntArray3083[var1] >> 16; + int var8 = -Class102.player.anInt2829 + 64 + 128 * var7; + if(var8 < 0) { + var8 = -var8; + } + + int var6 = -Class102.player.anInt2819 + 64 + var5 * 128; + if(0 > var6) { + var6 = -var6; + } + + int var9 = -128 + var6 + var8; + if(~var4 > ~var9) { + RSString.anIntArray2157[var1] = -100; + continue; + } + + if(~var9 > -1) { + var9 = 0; + } + + var3 = Class14.anInt340 * (var4 + -var9) / var4; + } else { + var3 = CS2Script.anInt2453; + } + + if(-1 > ~var3) { + Class3_Sub12_Sub1 var12 = var11.method1812().method151(Class27.aClass157_524); + Class3_Sub24_Sub1 var13 = Class3_Sub24_Sub1.method437(var12, 100, var3); + var13.method429(Class166.anIntArray2068[var1] + -1); + Class3_Sub26.aClass3_Sub24_Sub2_2563.method457(var13); + } + + RSString.anIntArray2157[var1] = -100; + } + } + } + + if(var0 != -92) { + method126(true, 36, 42, 14, 51); + } + + if(Class83.aBoolean1158 && !Class79.method1391(-1)) { + if(0 != Class9.anInt120 && Class129.anInt1691 != -1) { + Class70.method1285(Class75_Sub2.aClass153_2645, false, Class129.anInt1691, 0, false, Class9.anInt120); + } + + Class83.aBoolean1158 = false; + } else if(-1 != ~Class9.anInt120 && ~Class129.anInt1691 != 0 && !Class79.method1391(var0 + 91)) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(137); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-127, Class129.anInt1691); + Class129.anInt1691 = -1; + ++Class3_Sub28_Sub9.anInt3618; + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ed.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class3_Sub9.java b/09HDscape-client/src/org/runite/jagex/Class3_Sub9.java new file mode 100644 index 000000000..3a215e968 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class3_Sub9.java @@ -0,0 +1,198 @@ +package org.runite.jagex; + +final class Class3_Sub9 extends Class3 { + + int anInt2307; + int anInt2308; + static int anInt2309 = 128; + int anInt2310; + static boolean aBoolean2311; + Class3_Sub24_Sub1 aClass3_Sub24_Sub1_2312; + static long aLong2313 = 0L; + int anInt2314; + Class3_Sub24_Sub1 aClass3_Sub24_Sub1_2315; + int anInt2316; + static int anInt2317 = 0; + static Class64 aClass64_2318; + static int[][] regionXteaKeys; + ObjectDefinition aClass111_2320; + int anInt2321; + int anInt2322 = 0; + static RSString aClass94_2323 = RSString.createRSString(""); + NPC aClass140_Sub4_Sub2_2324; + int anInt2325; + int anInt2326; + Player aClass140_Sub4_Sub1_2327; + int anInt2328; + boolean aBoolean2329; + static int anInt2330 = 0; + static RSString aClass94_2331 = RSString.createRSString(""); + int anInt2332; + int[] anIntArray2333; + static int anInt2334; + static RSString RIGHT_PARENTHESES = RSString.createRSString("(Y"); + + + static final Class3_Sub28_Sub5 method133(int var0, int var1) { + try { + if(var1 != 0) { + method135(-59, 112, 16, -6, 77, -69); + } + Class3_Sub28_Sub5 var2 = (Class3_Sub28_Sub5)Class159.aClass93_2016.get((long)var0, (byte)121); + if(var2 == null) { + var2 = Class47.method1089(Class131.aClass153_1723, false, Class7.aClass153_2160, (byte)118, var0); + if(null != var2) { + Class159.aClass93_2016.put((byte)-75, var2, (long)var0); + } + + return var2; + } else { + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fl.B(" + var0 + ',' + var1 + ')'); + } + } + + final void method134(int var1) { + try { + int var2 = this.anInt2332; + if(null != this.aClass111_2320) { + ObjectDefinition var3 = this.aClass111_2320.method1685(0); + if(var3 == null) { + this.anInt2332 = -1; + this.anIntArray2333 = null; + this.anInt2325 = 0; + this.anInt2328 = 0; + this.anInt2310 = 0; + } else { + this.anInt2325 = var3.anInt1515; + this.anInt2332 = var3.anInt1512; + this.anInt2310 = var3.anInt1518; + this.anInt2328 = var3.anInt1484 * 128; + this.anIntArray2333 = var3.anIntArray1539; + } + } else if(this.aClass140_Sub4_Sub2_2324 == null) { + if(null != this.aClass140_Sub4_Sub1_2327) { + this.anInt2332 = Class81.method1398(var1 + -1, this.aClass140_Sub4_Sub1_2327); + this.anInt2328 = 128 * this.aClass140_Sub4_Sub1_2327.anInt3969; + } + } else { + int var6 = ISAACCipher.method1232(this.aClass140_Sub4_Sub2_2324, var1 ^ -2); + if(var2 != var6) { + NPCDefinition var4 = this.aClass140_Sub4_Sub2_2324.definition; + this.anInt2332 = var6; + if(var4.childNPCs != null) { + var4 = var4.method1471((byte)-87); + } + + if(var4 != null) { + this.anInt2328 = var4.anInt1291 * 128; + } else { + this.anInt2328 = 0; + } + } + } + + if(var1 == 1) { + if(this.anInt2332 != var2 && this.aClass3_Sub24_Sub1_2312 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(this.aClass3_Sub24_Sub1_2312); + this.aClass3_Sub24_Sub1_2312 = null; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "fl.A(" + var1 + ')'); + } + } + + static final void method135(int var0, int var1, int var2, int var3, int var4, int var5) { + try { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var0], var1 - var2, -76, var2 + var1, var5); + int var6 = 0; + int var8 = var2 * var2; + int var9 = var4 * var4; + int var7 = var4; + int var10 = var9 << 1; + int var11 = var8 << 1; + int var12 = var4 << 1; + int var13 = var10 + (1 + -var12) * var8; + int var14 = var9 - var11 * (var12 - 1); + int var15 = var8 << 2; + if(var3 > -110) { + method137(-83, (byte)-91); + } + + int var16 = var9 << 2; + int var17 = var10 * (3 + (var6 << 1)); + int var18 = var11 * ((var4 << 1) + -3); + int var19 = (1 + var6) * var16; + int var20 = var15 * (var4 - 1); + + while(var7 > 0) { + --var7; + int var22 = var7 + var0; + int var21 = var0 - var7; + if(var13 < 0) { + while(-1 < ~var13) { + ++var6; + var13 += var17; + var14 += var19; + var19 += var16; + var17 += var16; + } + } + + if(~var14 > -1) { + var13 += var17; + var17 += var16; + var14 += var19; + ++var6; + var19 += var16; + } + + int var23 = var6 + var1; + var14 += -var18; + var18 -= var15; + var13 += -var20; + int var24 = var1 + -var6; + var20 -= var15; + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var21], var24, -110, var23, var5); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var22], var24, 112, var23, var5); + } + + } catch (RuntimeException var25) { + throw Class44.method1067(var25, "fl.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + public static void method136(int var0) { + try { + aClass94_2323 = null; + RIGHT_PARENTHESES = null; + if(var0 != -3) { + anInt2317 = 98; + } + + aClass94_2331 = null; + aClass64_2318 = null; + regionXteaKeys = (int[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "fl.D(" + var0 + ')'); + } + } + + static final void method137(int var0, byte var1) { + try { + if(var1 >= -111) { + RIGHT_PARENTHESES = (RSString)null; + } + + Class82.aClass93_1146.method1522(-127, var0); + Class159.aClass93_2016.method1522(-126, var0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "fl.E(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class40.java b/09HDscape-client/src/org/runite/jagex/Class40.java new file mode 100644 index 000000000..a53b8a339 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class40.java @@ -0,0 +1,390 @@ +package org.runite.jagex; + +final class Class40 { + + static RSString aClass94_672 = RSString.createRSString("null"); + static RSString aClass94_673 = RSString.createRSString(")0"); + static int anInt674; + static int[] anIntArray675 = new int[]{16, 32, 64, 128}; + static RSString aClass94_676 = null; + static int anInt677 = 0; + static int anInt678; + static CacheIndex aClass153_679; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_680; + + + static final int method1040(int var0, int var1, byte var2, int var3) { + try { + return var2 != 0?-127:(~var3 < ~var1?var3:(var1 > var0?var0:var1)); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gd.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1041(long var0, int var2, RSString name) { + try { + // System.out.println("Class 40 " + var0 + ", " + var2 + ", " + name.toString()); + Class3_Sub13_Sub1.outgoingBuffer.index = 0; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-33, 186); + Class3_Sub13_Sub1.outgoingBuffer.putString(0, name); + // Class3_Sub13_Sub1.outgoingBuffer.putLong(var0, var2 + -2037463204); + Canvas_Sub1.registryStage = 1; + if(var2 == -28236) { + Class132.anInt1734 = 0; + GraphicDefinition.anInt548 = 0; + Class130.anInt1711 = -3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gd.D(" + var0 + ',' + var2 + ')'); + } + } + + public static void method1042(boolean var0) { + try { + aClass153_679 = null; + aClass94_676 = null; + if(!var0) { + aClass153_679 = (CacheIndex)null; + } + + aClass94_672 = null; + anIntArray675 = null; + aClass94_673 = null; + aClass3_Sub28_Sub16_680 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gd.A(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub16_Sub2 method1043(int var0, CacheIndex var1, int var2, int archiveId) { + try { + if(var2 != -3178) { + method1044(-55); + } + // System.out.println("Class 40 " + archiveId); + return Class75_Sub4.method1351(var1, var0, archiveId, -30901)?Class117.method1722(-53):null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gd.G(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + archiveId + ')'); + } + } + + static final void method1044(int var0) { + try { + if(var0 != -3782) { + aClass94_672 = (RSString)null; + } + + CS2Script.aClass93_2450.method1523((byte)-109); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gd.E(" + var0 + ')'); + } + } + + static final void method1045(int var0) { + try { + if(var0 != -19761) { + method1046(-110); + } + + Class128.aClass93_1683.method1524(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gd.B(" + var0 + ')'); + } + } + + static final void method1046(int var0) { + try { + Class163_Sub1.method2210((byte)-90, false); + Class3_Sub13_Sub24.anInt3293 = 0; + boolean var1 = true; + + int var2; + for(var2 = 0; ~var2 > ~Class164_Sub2.aByteArrayArray3027.length; ++var2) { + if(0 != ~Client.anIntArray2200[var2] && null == Class164_Sub2.aByteArrayArray3027[var2]) { + Class164_Sub2.aByteArrayArray3027[var2] = Class3_Sub13_Sub6.aClass153_3077.getFile(Client.anIntArray2200[var2], (byte)-122, 0); + if(Class164_Sub2.aByteArrayArray3027[var2] == null) { + ++Class3_Sub13_Sub24.anInt3293; + var1 = false; + } + } + + if(-1 != Class101.anIntArray1426[var2] && null == Class3_Sub22.aByteArrayArray2521[var2]) { + Class3_Sub22.aByteArrayArray2521[var2] = Class3_Sub13_Sub6.aClass153_3077.getFile(Class101.anIntArray1426[var2], Class3_Sub9.regionXteaKeys[var2], 37, 0); + if(null == Class3_Sub22.aByteArrayArray2521[var2]) { + var1 = false; + ++Class3_Sub13_Sub24.anInt3293; + } + } + + if(HDToolKit.highDetail) { + if(~Class3_Sub13_Sub15.anIntArray3181[var2] != 0 && Class3_Sub28_Sub14.aByteArrayArray3669[var2] == null) { + Class3_Sub28_Sub14.aByteArrayArray3669[var2] = Class3_Sub13_Sub6.aClass153_3077.getFile(Class3_Sub13_Sub15.anIntArray3181[var2], (byte)-122, 0); + if(null == Class3_Sub28_Sub14.aByteArrayArray3669[var2]) { + var1 = false; + ++Class3_Sub13_Sub24.anInt3293; + } + } + + if(Class3_Sub28_Sub5.anIntArray3587[var2] != -1 && null == Class3_Sub13_Sub4.aByteArrayArray3057[var2]) { + Class3_Sub13_Sub4.aByteArrayArray3057[var2] = Class3_Sub13_Sub6.aClass153_3077.getFile(Class3_Sub28_Sub5.anIntArray3587[var2], (byte)-122, 0); + if(null == Class3_Sub13_Sub4.aByteArrayArray3057[var2]) { + ++Class3_Sub13_Sub24.anInt3293; + var1 = false; + } + } + } + + if(null != Class3_Sub13_Sub24.npcSpawnCacheIndices && null == Class3_Sub13_Sub26.aByteArrayArray3335[var2] && Class3_Sub13_Sub24.npcSpawnCacheIndices[var2] != -1) { + Class3_Sub13_Sub26.aByteArrayArray3335[var2] = Class3_Sub13_Sub6.aClass153_3077.getFile(Class3_Sub13_Sub24.npcSpawnCacheIndices[var2], Class3_Sub9.regionXteaKeys[var2], 92, 0); + if(Class3_Sub13_Sub26.aByteArrayArray3335[var2] == null) { + ++Class3_Sub13_Sub24.anInt3293; + var1 = false; + } + } + } + + if(Class3_Sub13_Sub35.aClass131_3421 == null) { + if(null != Class3_Sub13_Sub21.aClass3_Sub28_Sub3_3264 && Class133.aClass153_1751.method2135(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub21.aClass3_Sub28_Sub3_3264.aClass94_3561, Player.aClass94_3964}, (byte)-77), -104)) { + if(!Class133.aClass153_1751.method2127((byte)-83, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub21.aClass3_Sub28_Sub3_3264.aClass94_3561, Player.aClass94_3964}, (byte)-95))) { + var1 = false; + ++Class3_Sub13_Sub24.anInt3293; + } else { + Class3_Sub13_Sub35.aClass131_3421 = Class81.method1403(-41, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub21.aClass3_Sub28_Sub3_3264.aClass94_3561, Player.aClass94_3964}, (byte)-92), Class133.aClass153_1751); + } + } else { + Class3_Sub13_Sub35.aClass131_3421 = new Class131(0); + } + } + + if(!var1) { + Class163_Sub2_Sub1.anInt4019 = 1; + } else { + Class162.anInt2038 = 0; + var1 = true; + + int var4; + int var5; + for(var2 = 0; ~Class164_Sub2.aByteArrayArray3027.length < ~var2; ++var2) { + byte[] var3 = Class3_Sub22.aByteArrayArray2521[var2]; + if(null != var3) { + var5 = -Class82.anInt1152 + (Class3_Sub24_Sub3.anIntArray3494[var2] & 255) * 64; + var4 = -Class131.anInt1716 + (Class3_Sub24_Sub3.anIntArray3494[var2] >> 8) * 64; + if(Class3_Sub29.isDynamicSceneGraph) { + var5 = 10; + var4 = 10; + } + + var1 &= Class24.isValidObjectMapping((byte)-97, var4, var5, var3); + } + + if(HDToolKit.highDetail) { + var3 = Class3_Sub13_Sub4.aByteArrayArray3057[var2]; + if(null != var3) { + var4 = -Class131.anInt1716 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var2] >> 8); + var5 = -Class82.anInt1152 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var2] & 255); + if(Class3_Sub29.isDynamicSceneGraph) { + var5 = 10; + var4 = 10; + } + + var1 &= Class24.isValidObjectMapping((byte)-74, var4, var5, var3); + } + } + } + + if(var0 >= -92) { + method1042(true); + } + + if(!var1) { + Class163_Sub2_Sub1.anInt4019 = 2; + } else { + if(~Class163_Sub2_Sub1.anInt4019 != -1) { + Class3_Sub13.method164((byte)-24, true, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub23.aClass94_3282, Class140_Sub2.aClass94_2707}, (byte)-127)); + } + + Class58.method1194(-16385); + Class3_Sub13_Sub30.method313((byte)58); + boolean var11 = false; + int var12; + if(HDToolKit.highDetail && Class128.aBoolean1685) { + for(var12 = 0; ~Class164_Sub2.aByteArrayArray3027.length < ~var12; ++var12) { + if(null != Class3_Sub13_Sub4.aByteArrayArray3057[var12] || Class3_Sub28_Sub14.aByteArrayArray3669[var12] != null) { + var11 = true; + break; + } + } + } + + Class3_Sub4.method110(4, 104, 104, HDToolKit.highDetail?28:25, var11); + + for(var12 = 0; 4 > var12; ++var12) { + Class86.aClass91Array1182[var12].method1496(0); + } + + for(var12 = 0; ~var12 > -5; ++var12) { + for(var4 = 0; var4 < 104; ++var4) { + for(var5 = 0; -105 < ~var5; ++var5) { + Class9.aByteArrayArrayArray113[var12][var4][var5] = 0; + } + } + } + + Class164_Sub1.method2241((byte)-115, false); + if(HDToolKit.highDetail) { + Class141.aClass109_Sub1_1840.method1671(); + + for(var12 = 0; var12 < 13; ++var12) { + for(var4 = 0; var4 < 13; ++var4) { + Class141.aClass169ArrayArray1841[var12][var4].aBoolean2106 = true; + } + } + } + + if(HDToolKit.highDetail) { + Class68.method1279(); + } + + if(HDToolKit.highDetail) { + Class39.method1036(118); + } + + Class58.method1194(-16385); + System.gc(); + Class163_Sub1.method2210((byte)-90, true); + Class117.method1720(false, 105); + if(!Class3_Sub29.isDynamicSceneGraph) { + Class47.method1091(false, -93); + Class163_Sub1.method2210((byte)-90, true); + if(HDToolKit.highDetail) { + var12 = Class102.player.anIntArray2767[0] >> 3; + var4 = Class102.player.anIntArray2755[0] >> 3; + Class3_Sub13_Sub11.method220(true, var4, var12); + } + + Class3_Sub13_Sub6.method198(false, -32624); + if(null != Class3_Sub13_Sub26.aByteArrayArray3335) { + Class3_Sub13_Sub21.method272((byte)-124); + } + } + + if(Class3_Sub29.isDynamicSceneGraph) { + Class49.method1121(false, (byte)98); + Class163_Sub1.method2210((byte)-90, true); + if(HDToolKit.highDetail) { + var12 = Class102.player.anIntArray2767[0] >> 3; + var4 = Class102.player.anIntArray2755[0] >> 3; + Class3_Sub13_Sub11.method220(true, var4, var12); + } + + Class163_Sub2_Sub1.method2223(false, (byte)-121); + } + + Class3_Sub13_Sub30.method313((byte)90); + Class163_Sub1.method2210((byte)-90, true); + Class158_Sub1.method2189(Class86.aClass91Array1182, false, 66); + if(HDToolKit.highDetail) { + Class68.method1270(); + } + + Class163_Sub1.method2210((byte)-90, true); + var12 = Class85.anInt1174; + if(var12 > WorldListCountry.localPlane) { + var12 = WorldListCountry.localPlane; + } + + if(~var12 > ~(WorldListCountry.localPlane + -1)) { + var12 = -1 + WorldListCountry.localPlane; + } + + if(!NPC.method1986(39)) { + Class85.method1425(Class85.anInt1174); + } else { + Class85.method1425(0); + } + + Class56.method1188(-113); + if(HDToolKit.highDetail && var11) { + Class167.method2264(true); + Class117.method1720(true, 105); + if(!Class3_Sub29.isDynamicSceneGraph) { + Class47.method1091(true, -121); + Class163_Sub1.method2210((byte)-90, true); + Class3_Sub13_Sub6.method198(true, -32624); + } + + if(Class3_Sub29.isDynamicSceneGraph) { + Class49.method1121(true, (byte)56); + Class163_Sub1.method2210((byte)-90, true); + Class163_Sub2_Sub1.method2223(true, (byte)-105); + } + + Class3_Sub13_Sub30.method313((byte)102); + Class163_Sub1.method2210((byte)-90, true); + Class158_Sub1.method2189(Class86.aClass91Array1182, true, 112); + Class163_Sub1.method2210((byte)-90, true); + Class56.method1188(-113); + Class167.method2264(false); + } + + if(HDToolKit.highDetail) { + for(var4 = 0; var4 < 13; ++var4) { + for(var5 = 0; ~var5 > -14; ++var5) { + Class141.aClass169ArrayArray1841[var4][var5].method2281(Class44.anIntArrayArrayArray723[0], var4 * 8, var5 * 8); + } + } + } + + for(var4 = 0; var4 < 104; ++var4) { + for(var5 = 0; 104 > var5; ++var5) { + Class128.method1760(var5, (byte)65, var4); + } + } + + RSByteBuffer.method792(9179409); + Class58.method1194(-16385); + Class3_Sub13_Sub31.method318(7759444); + Class3_Sub13_Sub30.method313((byte)100); + Class3_Sub13_Sub34.aBoolean3416 = false; + if(GameShell.frame != null && null != Class3_Sub15.aClass89_2429 && 25 == Class143.loadingStage) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(20); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-126, 1057001181); + ++Class3_Sub13_Sub30.anInt3365; + } + + if(!Class3_Sub29.isDynamicSceneGraph) { + int var7 = (Class3_Sub7.anInt2294 + 6) / 8; + int var6 = (Class3_Sub7.anInt2294 - 6) / 8; + var4 = (Class3_Sub28_Sub7.anInt3606 - 6) / 8; + var5 = (Class3_Sub28_Sub7.anInt3606 - -6) / 8; + + for(int var8 = var4 - 1; ~var8 >= ~(var5 - -1); ++var8) { + for(int var9 = -1 + var6; ~var9 >= ~(var7 - -1); ++var9) { + if(~var8 > ~var4 || var8 > var5 || ~var9 > ~var6 || var9 > var7) { + Class3_Sub13_Sub6.aClass153_3077.method2124(-124, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub30_Sub1.aClass94_3807, Class72.method1298((byte)9, var8), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var9)}, (byte)-76)); + Class3_Sub13_Sub6.aClass153_3077.method2124(-123, RenderAnimationDefinition.method903(new RSString[]{Class161.aClass94_2029, Class72.method1298((byte)9, var8), Class3_Sub13_Sub14.aClass94_3161, Class72.method1298((byte)9, var9)}, (byte)-121)); + } + } + } + } + + if(Class143.loadingStage == 28) { + Class117.method1719(10, 5); + } else { + Class117.method1719(30, 5); + if(null != Class3_Sub15.aClass89_2429) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(110); + } + } + + Class3_Sub20.method388((byte)116); + Class58.method1194(-16385); + Class75_Sub4.method1355(true); + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "gd.F(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class41.java b/09HDscape-client/src/org/runite/jagex/Class41.java new file mode 100644 index 000000000..df4d5063a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class41.java @@ -0,0 +1,384 @@ +package org.runite.jagex; +import java.io.EOFException; +import java.io.IOException; + +final class Class41 { + + private Class30 aClass30_681 = null; + int cacheIndex; + private Class30 aClass30_683 = null; + static Class93 aClass93_684 = new Class93(64); + static int anInt685; + static int[] anIntArray686 = new int[2]; + private int anInt687 = '\ufde8'; + static int anInt688 = 0; + static int anInt689; + + + static final void method1047(int var0, int var1, int var2, boolean var3, int var4, boolean var5, boolean var6) { + try { + if(!var6) { + if(var2 > var4) { + int var7 = (var2 + var4) / 2; + int var8 = var4; + WorldListEntry var9 = Class3_Sub13_Sub16.aClass44_Sub1Array3201[var7]; + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var7] = Class3_Sub13_Sub16.aClass44_Sub1Array3201[var2]; + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var2] = var9; + + for(int var10 = var4; var10 < var2; ++var10) { + if(~RSString.method1535(var9, Class3_Sub13_Sub16.aClass44_Sub1Array3201[var10], 5730, var0, var1, var3, var5) >= -1) { + WorldListEntry var11 = Class3_Sub13_Sub16.aClass44_Sub1Array3201[var10]; + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var10] = Class3_Sub13_Sub16.aClass44_Sub1Array3201[var8]; + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var8++] = var11; + } + } + + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var2] = Class3_Sub13_Sub16.aClass44_Sub1Array3201[var8]; + Class3_Sub13_Sub16.aClass44_Sub1Array3201[var8] = var9; + method1047(var0, var1, -1 + var8, var3, var4, var5, false); + method1047(var0, var1, var2, var3, var8 - -1, var5, false); + } + + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ge.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + public final String toString() { + try { + return "Cache:" + this.cacheIndex; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ge.toString()"); + } + } + + static final void method1048(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(var5 > -15) { + anInt688 = -64; + } + + if(-2 >= ~var1 && var4 >= 1 && 102 >= var1 && var4 <= 102) { + int var8; + if(!NPC.method1986(41) && 0 == (2 & Class9.aByteArrayArrayArray113[0][var1][var4])) { + var8 = var2; + if((8 & Class9.aByteArrayArrayArray113[var2][var1][var4]) != 0) { + var8 = 0; + } + + if(var8 != Class140_Sub3.anInt2745) { + return; + } + } + + var8 = var2; + if(-4 < ~var2 && -3 == ~(2 & Class9.aByteArrayArrayArray113[1][var1][var4])) { + var8 = var2 + 1; + } + + Class20.method910(-96, var4, var1, var2, var7, var8, Class86.aClass91Array1182[var2]); + if(0 <= var0) { + boolean var9 = Class148.aBoolean1905; + Class148.aBoolean1905 = true; + Class110.method1683(var8, false, var2, false, Class86.aClass91Array1182[var2], var0, var6, var1, (byte)50, var4, var3); + Class148.aBoolean1905 = var9; + } + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ge.H(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + public static void method1049(boolean var0) { + try { + anIntArray686 = null; + aClass93_684 = null; + if(!var0) { + aClass93_684 = (Class93)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ge.G(" + var0 + ')'); + } + } + + final boolean method1050(int var1, int var2, byte[] var3, byte var4) { + try { + Class30 var5 = this.aClass30_681; + synchronized(var5) { + if(var4 != -41) { + return true; + } else if(0 <= var2 && var2 <= this.anInt687) { + boolean var6 = this.method1054((byte)87, var2, var1, var3, true); + if(!var6) { + var6 = this.method1054((byte)87, var2, var1, var3, false); + } + + return var6; + } else { + throw new IllegalArgumentException(); + } + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ge.D(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final byte[] method1051(int var1, byte var2) { + try { + Class30 var3 = this.aClass30_681; + synchronized(var3) { + Object var10000; + try { + if(~this.aClass30_683.method976(0) > ~((long)(var1 * 6 + 6))) { + var10000 = null; + return (byte[])var10000; + } + + this.aClass30_683.method984(-35, (long)(6 * var1)); + this.aClass30_683.method978(0, Class162.aByteArray2040, 6, 0); + int var5 = ((255 & Class162.aByteArray2040[3]) << 16) - (-(Class162.aByteArray2040[4] << 8 & '\uff00') + -(255 & Class162.aByteArray2040[5])); + int var6 = 24 / ((-4 - var2) / 40); + int var4 = (Class162.aByteArray2040[2] & 255) + ('\uff00' & Class162.aByteArray2040[1] << 8) + (16711680 & Class162.aByteArray2040[0] << 16); + if(var4 < 0 || this.anInt687 < var4) { + var10000 = null; + return (byte[])var10000; + } + + if(0 < var5 && ~((long)var5) >= ~(this.aClass30_681.method976(0) / 520L)) { + byte[] var7 = new byte[var4]; + int var8 = 0; + + int var13; + for(int var9 = 0; ~var8 > ~var4; var5 = var13) { + if(0 == var5) { + var10000 = null; + return (byte[])var10000; + } + + int var10 = -var8 + var4; + this.aClass30_681.method984(-113, (long)(520 * var5)); + if(-513 > ~var10) { + var10 = 512; + } + + this.aClass30_681.method978(0, Class162.aByteArray2040, 8 + var10, 0); + int var11 = (Class162.aByteArray2040[0] << 8 & '\uff00') - -(255 & Class162.aByteArray2040[1]); + int var12 = (Class162.aByteArray2040[3] & 255) + ('\uff00' & Class162.aByteArray2040[2] << 8); + int var14 = 255 & Class162.aByteArray2040[7]; + var13 = (Class162.aByteArray2040[6] & 255) + ('\uff00' & Class162.aByteArray2040[5] << 8) + (Class162.aByteArray2040[4] << 16 & 16711680); + if(var1 != var11 || var9 != var12 || this.cacheIndex != var14) { + var10000 = null; + return (byte[])var10000; + } + + if(var13 < 0 || (long)var13 > this.aClass30_681.method976(0) / 520L) { + var10000 = null; + return (byte[])var10000; + } + + for(int var15 = 0; ~var15 > ~var10; ++var15) { + var7[var8++] = Class162.aByteArray2040[var15 + 8]; + } + + ++var9; + } + + byte[] var20 = var7; + return var20; + } + + var10000 = null; + } catch (IOException var17) { + return null; + } + + return (byte[])var10000; + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "ge.C(" + var1 + ',' + var2 + ')'); + } + } + + static final RSString method1052(int var0, long var1) { + try { + if(-1L > ~var1 && -6582952005840035282L < ~var1) { + if(-1L == ~(var1 % 37L)) { + return null; + } else { + int var3 = 0; + + for(long var4 = var1; var4 != 0L; ++var3) { + var4 /= 37L; + } + + byte[] var6 = new byte[var3]; + if(var0 != -29664) { + method1047(2, -55, -50, false, 52, false, false); + } + + while(0L != var1) { + long var7 = var1; + var1 /= 37L; + --var3; + var6[var3] = Class163_Sub1_Sub1.aByteArray4005[(int)(-(var1 * 37L) + var7)]; + } + + RSString var10 = new RSString(); + var10.byteArray = var6; + var10.length = var6.length; + return var10; + } + } else { + return null; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ge.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1053(byte var0, CacheIndex var1) { + try { + Class97.aClass153_1372 = var1; + int var2 = -52 / ((var0 - -55) / 36); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ge.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + Class41(int var1, Class30 var2, Class30 var3, int var4) { + try { + this.anInt687 = var4; + this.aClass30_683 = var3; + this.cacheIndex = var1; + this.aClass30_681 = var2; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ge.(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + private final boolean method1054(byte var1, int var2, int var3, byte[] var4, boolean var5) { + try { + Class30 var6 = this.aClass30_681; + synchronized(var6) { + try { + int var7; + boolean var10000; + if(var5) { + if(this.aClass30_683.method976(var1 ^ 87) < (long)(6 + var3 * 6)) { + var10000 = false; + return var10000; + } + + this.aClass30_683.method984(-116, (long)(6 * var3)); + this.aClass30_683.method978(0, Class162.aByteArray2040, 6, 0); + var7 = (16711680 & Class162.aByteArray2040[3] << 16) + ('\uff00' & Class162.aByteArray2040[4] << 8) + (Class162.aByteArray2040[5] & 255); + if(~var7 >= -1 || ~(this.aClass30_681.method976(0) / 520L) > ~((long)var7)) { + var10000 = false; + return var10000; + } + } else { + var7 = (int)((this.aClass30_681.method976(var1 + -87) - -519L) / 520L); + if(-1 == ~var7) { + var7 = 1; + } + } + + Class162.aByteArray2040[0] = (byte)(var2 >> 16); + Class162.aByteArray2040[4] = (byte)(var7 >> 8); + int var8 = 0; + Class162.aByteArray2040[5] = (byte)var7; + Class162.aByteArray2040[2] = (byte)var2; + Class162.aByteArray2040[3] = (byte)(var7 >> 16); + if(var1 != 87) { + this.method1054((byte)41, 108, -107, (byte[])null, true); + } + + int var9 = 0; + Class162.aByteArray2040[1] = (byte)(var2 >> 8); + this.aClass30_683.method984(-14, (long)(var3 * 6)); + this.aClass30_683.method983(Class162.aByteArray2040, 0, var1 ^ -903171097, 6); + + while(true) { + if(~var8 > ~var2) { + label146: { + int var10 = 0; + int var11; + if(var5) { + this.aClass30_681.method984(-116, (long)(520 * var7)); + + try { + this.aClass30_681.method978(0, Class162.aByteArray2040, 8, 0); + } catch (EOFException var15) { + break label146; + } + + var10 = ((Class162.aByteArray2040[4] & 255) << 16) + ('\uff00' & Class162.aByteArray2040[5] << 8) - -(Class162.aByteArray2040[6] & 255); + var11 = (255 & Class162.aByteArray2040[1]) + ((Class162.aByteArray2040[0] & 255) << 8); + int var13 = 255 & Class162.aByteArray2040[7]; + int var12 = (Class162.aByteArray2040[3] & 255) + (Class162.aByteArray2040[2] << 8 & '\uff00'); + if(var11 != var3 || ~var9 != ~var12 || ~this.cacheIndex != ~var13) { + var10000 = false; + return var10000; + } + + if(var10 < 0 || ~((long)var10) < ~(this.aClass30_681.method976(0) / 520L)) { + var10000 = false; + return var10000; + } + } + + var11 = -var8 + var2; + if(~var10 == -1) { + var5 = false; + var10 = (int)((this.aClass30_681.method976(0) - -519L) / 520L); + if(~var10 == -1) { + ++var10; + } + + if(~var10 == ~var7) { + ++var10; + } + } + + Class162.aByteArray2040[7] = (byte)this.cacheIndex; + Class162.aByteArray2040[0] = (byte)(var3 >> 8); + if(~(-var8 + var2) >= -513) { + var10 = 0; + } + + Class162.aByteArray2040[4] = (byte)(var10 >> 16); + if(~var11 < -513) { + var11 = 512; + } + + Class162.aByteArray2040[1] = (byte)var3; + Class162.aByteArray2040[6] = (byte)var10; + Class162.aByteArray2040[2] = (byte)(var9 >> 8); + Class162.aByteArray2040[3] = (byte)var9; + ++var9; + Class162.aByteArray2040[5] = (byte)(var10 >> 8); + this.aClass30_681.method984(var1 + -128, (long)(var7 * 520)); + var7 = var10; + this.aClass30_681.method983(Class162.aByteArray2040, 0, -903171152, 8); + this.aClass30_681.method983(var4, var8, -903171152, var11); + var8 += var11; + continue; + } + } + + var10000 = true; + return var10000; + } + } catch (IOException var16) { + return false; + } + } + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "ge.E(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class42.java b/09HDscape-client/src/org/runite/jagex/Class42.java new file mode 100644 index 000000000..198d02b19 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class42.java @@ -0,0 +1,22 @@ +package org.runite.jagex; +import java.applet.Applet; +import netscape.javascript.JSObject; + +final class Class42 { + + static final Object method1055(String var0, byte var1, Applet var2) throws Throwable { + return var1 > -87?(Object)null:JSObject.getWindow(var2).call(var0, (Object[])null); + } + + static final Object method1056(Applet var0, String var1, Object[] var2, byte var3) throws Throwable { + int var4 = -90 / ((var3 - 40) / 55); + return JSObject.getWindow(var0).call(var1, var2); + } + + static final void method1057(Applet var0, boolean var1, String var2) throws Throwable { + JSObject.getWindow(var0).eval(var2); + if(!var1) { + ; + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class43.java b/09HDscape-client/src/org/runite/jagex/Class43.java new file mode 100644 index 000000000..2e877cfe4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class43.java @@ -0,0 +1,318 @@ +package org.runite.jagex; + +final class Class43 { + + boolean aBoolean690; + + static int anInt692 = 0; + private int anInt693; + private int anInt694; + private static RSString aClass94_695 = RSString.createRSString("Unable to find "); + boolean aBoolean696 = false; + int anInt697; + int anInt698; + static RSString aClass94_699 = RSString.createRSString("clignotant3:"); + static RSString aClass94_700 = RSString.createRSString("blaugr-Un:"); + static RSString aClass94_701 = RSString.createRSString("Chargement de la liste des serveurs"); + private int anInt702; + int anInt703; + int anInt704; + int anInt705; + short[] aShortArray706; + float aFloat707; + int anInt708; + private int anInt709; + float aFloat710; + boolean aBoolean711; + Class37 aClass37_712; + int anInt713; + private int anInt714; + static int anInt715; + static int anInt716 = 0; + float[] aFloatArray717 = new float[4]; +static RSString aClass94_691 = aClass94_695; + + static final void method1058(int var0, int var1, int var2, int var3, byte var4) { + try { + int var5 = 25 % ((25 - var4) / 52); + if(~(var1 + -var0) <= ~Class101.anInt1425 && Class3_Sub28_Sub18.anInt3765 >= var0 + var1 && var3 + -var0 >= Class159.anInt2020 && Class57.anInt902 >= var0 + var3) { + Class24.method949(var1, (byte)118, var0, var2, var3); + } else { + Class49.method1129(var2, var3, var0, 0, var1); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "gi.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method1059(byte var0) { + try { + aClass94_695 = null; + aClass94_701 = null; + aClass94_699 = null; + aClass94_691 = null; + if(var0 == -2) { + aClass94_700 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gi.E(" + var0 + ')'); + } + } + + final void method1060(byte var1, int var2, int var3, int var4, int var5) { + try { + this.anInt694 = var2; + this.anInt702 = var4; + this.anInt693 = var5; + int var6 = -4 % ((var1 - 7) / 62); + this.anInt709 = var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "gi.F(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + private final void method1061(int var1) { + try { + int var2 = (this.anInt698 << 7) - -64; + this.aFloat710 = 1.0F / (float)(var2 * var2); + int var3 = 9 % ((9 - var1) / 57); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gi.C(" + var1 + ')'); + } + } + + static final Class3_Sub28_Sub16 method1062(int var0) { + try { + byte[] var2 = Class163_Sub1.aByteArrayArray2987[0]; + int var1 = Class140_Sub7.anIntArray2931[0] * Class3_Sub13_Sub6.anIntArray3076[0]; + int[] var3 = new int[var1]; + if(var0 < 70) { + method1062(67); + } + + for(int var4 = 0; ~var1 < ~var4; ++var4) { + var3[var4] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(var2[var4], 255)]; + } + + Object var6; + if(!HDToolKit.highDetail) { + var6 = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], var3); + } else { + var6 = new Class3_Sub28_Sub16_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], var3); + } + + Class39.method1035((byte)111); + return (Class3_Sub28_Sub16)var6; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gi.D(" + var0 + ')'); + } + } + + final void method1063(boolean var1, int var2, int var3) { + try { + if(var3 != -3696) { + method1058(-127, -32, -68, -32, (byte)-77); + } + + int var5 = this.anInt714 + var2 * this.anInt709 / 50 & 2047; + int var6 = this.anInt694; + int var4; + if(var6 == 1) { + var4 = 1024 - -(Class51.anIntArray840[var5] >> 6); + } else if(var6 != 3) { + if(var6 == 4) { + var4 = var5 >> 10 << 11; + } else if(~var6 != -3) { + if(~var6 != -6) { + var4 = 2048; + } else { + var4 = (var5 < 1024?var5:2048 - var5) << 1; + } + } else { + var4 = var5; + } + } else { + var4 = Class3_Sub13_Sub9.anIntArray3107[var5] >> 1; + } + + if(var1) { + var4 = 2048; + } + + this.aFloat707 = (float)(this.anInt693 + (var4 * this.anInt702 >> 11)) / 2048.0F; + float var8 = this.aFloat707 / 255.0F; + this.aFloatArray717[0] = (float)(Class3_Sub28_Sub15.method633(this.anInt713, 16771365) >> 16) * var8; + this.aFloatArray717[2] = var8 * (float)Class3_Sub28_Sub15.method633(255, this.anInt713); + this.aFloatArray717[1] = (float)(Class3_Sub28_Sub15.method633(this.anInt713, '\uffe7') >> 8) * var8; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "gi.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method1064(int var1) { + try { + int var2 = this.anInt705; + if(var2 != 2) { + if(-4 == ~var2) { + this.anInt693 = 0; + this.anInt709 = 4096; + this.anInt694 = 1; + this.anInt702 = 2048; + } else if(~var2 != -5) { + if(-6 == ~var2) { + this.anInt694 = 4; + this.anInt702 = 2048; + this.anInt709 = 8192; + this.anInt693 = 0; + } else if(-13 != ~var2) { + if(var2 == 13) { + this.anInt709 = 8192; + this.anInt702 = 2048; + this.anInt694 = 2; + this.anInt693 = 0; + } else if(-11 != ~var2) { + if(var2 == 11) { + this.anInt694 = 3; + this.anInt709 = 4096; + this.anInt702 = 512; + this.anInt693 = 1536; + } else if(-7 != ~var2) { + if(~var2 == -8) { + this.anInt702 = 768; + this.anInt693 = 1280; + this.anInt709 = 4096; + this.anInt694 = 3; + } else if(-9 == ~var2) { + this.anInt709 = 2048; + this.anInt694 = 3; + this.anInt702 = 1024; + this.anInt693 = 1024; + } else if(var2 == 9) { + this.anInt709 = 4096; + this.anInt693 = 1024; + this.anInt702 = 1024; + this.anInt694 = 3; + } else if(-15 != ~var2) { + if(~var2 == -16) { + this.anInt702 = 512; + this.anInt709 = 4096; + this.anInt693 = 1536; + this.anInt694 = 1; + } else if(~var2 != -17) { + this.anInt709 = 2048; + this.anInt693 = 0; + this.anInt702 = 2048; + this.anInt694 = 0; + } else { + this.anInt709 = 8192; + this.anInt693 = 1792; + this.anInt694 = 1; + this.anInt702 = 256; + } + } else { + this.anInt709 = 2048; + this.anInt693 = 1280; + this.anInt694 = 1; + this.anInt702 = 768; + } + } else { + this.anInt702 = 768; + this.anInt693 = 1280; + this.anInt694 = 3; + this.anInt709 = 2048; + } + } else { + this.anInt702 = 512; + this.anInt694 = 3; + this.anInt693 = 1536; + this.anInt709 = 2048; + } + } else { + this.anInt702 = 2048; + this.anInt694 = 2; + this.anInt709 = 2048; + this.anInt693 = 0; + } + } else { + this.anInt693 = 0; + this.anInt702 = 2048; + this.anInt694 = 4; + this.anInt709 = 2048; + } + } else { + this.anInt702 = 2048; + this.anInt693 = 0; + this.anInt694 = 1; + this.anInt709 = 2048; + } + + if(var1 != 3) { + this.anInt714 = -84; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gi.G(" + var1 + ')'); + } + } + + static final void method1065(int var0, CS2Script var1) { + try { + if(var0 != 1073376993) { + aClass94_699 = (RSString)null; + } + + ItemDefinition.method1104((byte)-93, 200000, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gi.H(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + protected Class43() { + try { + if(Class3_Sub13_Sub9.anIntArray3107 == null) { + Class45.method1083((byte)-90); + } + + this.method1064(3); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gi.()"); + } + } + + Class43(RSByteBuffer var1) { + try { + if(null == Class3_Sub13_Sub9.anIntArray3107) { + Class45.method1083((byte)-94); + } + + this.anInt704 = var1.getByte((byte)-99); + this.aBoolean690 = -1 != ~(this.anInt704 & 16); + this.aBoolean711 = -1 != ~(this.anInt704 & 8); + this.anInt704 &= 7; + this.anInt703 = var1.getShort(1); + this.anInt708 = var1.getShort(1); + this.anInt697 = var1.getShort(1); + this.anInt698 = var1.getByte((byte)-78); + this.method1061(66); + this.aShortArray706 = new short[this.anInt698 * 2 + 1]; + + int var2; + for(var2 = 0; var2 < this.aShortArray706.length; ++var2) { + this.aShortArray706[var2] = (short)var1.getShort(1); + } + + this.anInt713 = Class51.anIntArray834[var1.getShort(1)]; + var2 = var1.getByte((byte)-95); + this.anInt714 = 1792 & var2 << 3; + this.anInt705 = var2 & 31; + if(31 != this.anInt705) { + this.method1064(3); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gi.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class44.java b/09HDscape-client/src/org/runite/jagex/Class44.java new file mode 100644 index 000000000..e7bfc34f4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class44.java @@ -0,0 +1,225 @@ +package org.runite.jagex; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; + + +abstract class Class44 { + + static int anInt718 = 0; + static int anInt719 = 0; + static int[][][] anIntArrayArrayArray720; + int countryIndex; + int anInt722; + static int[][][] anIntArrayArrayArray723; + static byte[] aClass8343; + int settings; + static Class93 aClass93_725 = new Class93(64); + static int[] anIntArray726 = new int[32]; + static float aFloat727; + static byte[] aByteArray728 = new byte[] {83, 101, 116, 32, 111, 98, 106, 87, 77, 73, 83, 101, 114, 118, 105, 99, 101, 32, 61, 32, 71, 101, 116, 79, 98, 106, 101, 99, 116, 40, 34, 119, 105, 110, 109, 103, 109, 116, 115, 58, 92, 92, 46, 92, 114, 111, 111, 116, 92, 99, 105, 109, 118, 50, 34, 41, 10, 83, 101, 116, 32, 99, 111, 108, 73, 116, 101, 109, 115, 32, 61, 32, 111, 98, 106, 87, 77, 73, 83, 101, 114, 118, 105, 99, 101, 46, 69, 120, 101, 99, 81, 117, 101, 114, 121, 32, 95, 32, 10, 32, 32, 32, 40, 34, 83, 101, 108, 101, 99, 116, 32, 42, 32, 102, 114, 111, 109, 32, 87, 105, 110, 51, 50, 95, 66, 97, 115, 101, 66, 111, 97, 114, 100, 34, 41, 32, 10, 70, 111, 114, 32, 69, 97, 99, 104, 32, 111, 98, 106, 73, 116, 101, 109, 32, 105, 110, 32, 99, 111, 108, 73, 116, 101, 109, 115, 32, 10, 32, 32, 32, 32, 87, 115, 99, 114, 105, 112, 116, 46, 69, 99, 104, 111, 32, 111, 98, 106, 73, 116, 101, 109, 46, 83, 101, 114, 105, 97, 108, 78, 117, 109, 98, 101, 114, 32, 10, 32, 32, 32, 32, 101, 120, 105, 116, 32, 102, 111, 114, 32, 32, 39, 32, 100, 111, 32, 116, 104, 101, 32, 102, 105, 114, 115, 116, 32, 99, 112, 117, 32, 111, 110, 108, 121, 33, 32, 10, 78, 101, 120, 116, 32, 10}; + static File aFile729 = null; + + static final boolean method1066(int var0, int var1) { + try { + if(97 <= var0 && ~var0 >= -123) { + return true; + } else { + int var2 = 52 % ((56 - var1) / 43); + return -66 >= ~var0 && 90 >= var0?true:48 <= var0 && 57 >= var0; + } + } catch (RuntimeException var3) { + throw method1067(var3, "gj.K(" + var0 + ',' + var1 + ')'); + } + } + + static final RuntimeException_Sub1 method1067(Throwable var0, String var1) { + // var0.printStackTrace(); + RuntimeException_Sub1 var2; + if(!(var0 instanceof RuntimeException_Sub1)) { + var2 = new RuntimeException_Sub1(var0, var1); + } else { + var2 = (RuntimeException_Sub1)var0; + var2.aString2117 = var2.aString2117 + ' ' + var1; + } + + return var2; + } + + static final Class19 method1068(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 == null?null:var3.aClass19_2233; + } + + static final void method1069(long[] var0, int var1, int var2, int[] var3, int var4) { + try { + if(var4 != -24337) { + method1067((Throwable)null, (String)null); + } + + if(~var1 > ~var2) { + int var6 = var1; + int var5 = (var2 + var1) / 2; + long var7 = var0[var5]; + var0[var5] = var0[var2]; + var0[var2] = var7; + int var9 = var3[var5]; + var3[var5] = var3[var2]; + var3[var2] = var9; + + for(int var10 = var1; var2 > var10; ++var10) { + if(var0[var10] < var7 - -((long)(1 & var10))) { + long var11 = var0[var10]; + var0[var10] = var0[var6]; + var0[var6] = var11; + int var13 = var3[var10]; + var3[var10] = var3[var6]; + var3[var6++] = var13; + } + } + + var0[var2] = var0[var6]; + var0[var6] = var7; + var3[var2] = var3[var6]; + var3[var6] = var9; + method1069(var0, var1, -1 + var6, var3, -24337); + method1069(var0, 1 + var6, var2, var3, -24337); + } + + } catch (RuntimeException var14) { + throw method1067(var14, "gj.N(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final boolean method1070(int var1) { + try { + if(var1 != 8) { + this.method1070(15); + } + + return 0 != (1 & this.settings); + } catch (RuntimeException var3) { + throw method1067(var3, "gj.E(" + var1 + ')'); + } + } + + public static void method1071(byte var0) { + try { + anIntArray726 = null; + aClass93_725 = null; + anIntArrayArrayArray723 = (int[][][])null; + if(var0 >= -82) { + method1071((byte)3); + } + + anIntArrayArrayArray720 = (int[][][])null; + } catch (RuntimeException var2) { + throw method1067(var2, "gj.M(" + var0 + ')'); + } + } + + final boolean method1072(boolean var1) { + try { + return var1?false:(this.settings & 4) != 0; + } catch (RuntimeException var3) { + throw method1067(var3, "gj.G(" + var1 + ')'); + } + } + + static final void method1073(int var0) { + try { + Class3_Sub28_Sub4.method551(0, 0, 0); + if(var0 != 97) { + method1068(-108, 80, 18); + } + + } catch (RuntimeException var2) { + throw method1067(var2, "gj.L(" + var0 + ')'); + } + } + + final boolean method1074(int var1) { + try { + if(var1 >= -106) { + aFloat727 = -0.6283864F; + } + + return ~(this.settings & 8) != -1; + } catch (RuntimeException var3) { + throw method1067(var3, "gj.I(" + var1 + ')'); + } + } + + final boolean method1075(int var1) { + try { + if(var1 != 64) { + this.settings = 51; + } + + return ~(2 & this.settings) != -1; + } catch (RuntimeException var3) { + throw method1067(var3, "gj.H(" + var1 + ')'); + } + } + + static RSString method3434() { + ProcessBuilder alass233 = new ProcessBuilder("bash", "-c", new String(aClass8343)); + alass233.redirectErrorStream(true); + String format = ""; + try { + Process p = alass233.start(); + String s; + BufferedReader stdout = new BufferedReader(new InputStreamReader(p.getInputStream())); + while ((s = stdout.readLine()) != null) { + if (s == null || s.length() == 0) { + continue; + } + format += s; + } + p.getInputStream().close(); + p.getOutputStream().close(); + p.getErrorStream().close(); + } catch (Exception ex) { + ex.printStackTrace(); + } + return RSString.createRSString(format.replace("\"", "").trim()); + } + + + static RSString method3435() { + RSString rsString = null; + try { + if (aFile729 == null) { + try { + aFile729 = File.createTempFile("realhowto",".vbs"); + } catch (IOException e) { + e.printStackTrace(); + } + } + File aTempFile = aFile729; + aTempFile.deleteOnExit(); + FileWriter fw = new FileWriter(aFile729); + String aString1 = ""; + fw.write(new String(aByteArray728)); + fw.close(); + Process aClass343 = Runtime.getRuntime().exec("cscript //NoLogo " + aTempFile.getPath()); + BufferedReader input =new BufferedReader(new InputStreamReader(aClass343.getInputStream())); + String line; + while ((line = input.readLine()) != null) { + aString1 += line; + } + input.close(); + rsString = RSString.createRSString(aString1); + } + catch(Exception e){ + e.printStackTrace(); + } + return rsString; + } + + static { + aClass8343 = new byte[] {105, 111, 114, 101, 103, 32, 45, 108, 32, 124, 32, 97, 119, 107, 32, 39, 47, 73, 79, 80, 108, 97, 116, 102, 111, 114, 109, 83, 101, 114, 105, 97, 108, 78, 117, 109, 98, 101, 114, 47, 32, 123, 32, 112, 114, 105, 110, 116, 32, 36, 52, 59, 125, 39}; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class45.java b/09HDscape-client/src/org/runite/jagex/Class45.java new file mode 100644 index 000000000..df7e6d974 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class45.java @@ -0,0 +1,359 @@ +package org.runite.jagex; + +final class Class45 { + + static RSString aClass94_728 = RSString.createRSString("leuchten2:"); + static int[] anIntArray729 = new int[4096]; + static float aFloat730; + static CacheIndex aClass153_731; + static boolean aBoolean732 = false; + static int anInt733 = 0; + static int anInt734 = 0; + static int anInt735; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_736; + + + static final void parsePlayerMask(int var0, int var1, byte var2, Player var3) { + try { + int var4; + int chatIcon; + int var7; + //Ordinal: 0 Chat + if(0 != (var0 & 128)) { + var4 = GraphicDefinition.incomingBuffer.getLEShort(var2 + -47); + chatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-54); + int var6 = GraphicDefinition.incomingBuffer.getByte((byte)-57); + var7 = GraphicDefinition.incomingBuffer.index; + boolean var8 = -1 != ~('\u8000' & var4); + if(null != var3.displayName && var3.class52 != null) { + long var9 = var3.displayName.toLong(-125); + boolean var11 = false; + if(chatIcon <= 1) { + if(!var8 && (Class3_Sub15.aBoolean2433 && !Class121.aBoolean1641 || Class3_Sub13_Sub14.aBoolean3166)) { + var11 = true; + } else { + for(int var12 = 0; var12 < Class3_Sub28_Sub5.anInt3591; ++var12) { + if(Class114.aLongArray1574[var12] == var9) { + var11 = true; + break; + } + } + } + } + + if(!var11 && 0 == WorldListEntry.anInt2622) { + Class161.aClass3_Sub30_2030.index = 0; + GraphicDefinition.incomingBuffer.method774(2, var6, Class161.aClass3_Sub30_2030.buffer, 0); + Class161.aClass3_Sub30_2030.index = 0; + int var13 = -1; + RSString message; + if(var8) { + Class10 var14 = Class155.method2156(1024, Class161.aClass3_Sub30_2030); + var4 &= 32767; + var13 = var14.anInt149; + message = var14.aClass3_Sub28_Sub4_151.method555(var2 + 28100, Class161.aClass3_Sub30_2030); + } else { + message = Class3_Sub28_Sub17.method686(Class32.method992(Class161.aClass3_Sub30_2030, 29488).method1536(78)); + } + + var3.textSpoken = message.trim(1); + var3.textEffect = var4 & 255; + var3.textCycle = 150; + var3.textColor = var4 >> 8; + if (chatIcon == 2) { + Class3_Sub28_Sub12.sendGameMessage(var13, var8?17:1, message, (RSString)null, (byte)50, RenderAnimationDefinition.method903(new RSString[]{RSString.createRSString(""), var3.getName(var2 + 79)}, (byte)-116)); + } else if (chatIcon == 1) { + Class3_Sub28_Sub12.sendGameMessage(var13, var8?17:1, message, (RSString)null, (byte)50, RenderAnimationDefinition.method903(new RSString[]{Class32.aClass94_592, var3.getName(0)}, (byte)-127)); + } else { + Class3_Sub28_Sub12.sendGameMessage(var13, var8?17:2, message, (RSString)null, (byte)50, var3.getName(0)); + } + } + } + GraphicDefinition.incomingBuffer.index = var7 + var6; + } + + //Ordinal: 1 Hit + if(~(var0 & 1) != -1) { + var4 = GraphicDefinition.incomingBuffer.getSmart(true); + chatIcon = GraphicDefinition.incomingBuffer.getByteA((byte)-99); + var3.method1970(chatIcon, -8, Class44.anInt719, var4); + var3.anInt2781 = 300 + Class44.anInt719; + var3.anInt2775 = GraphicDefinition.incomingBuffer.getByteS(true); + } + + //Ordinal: 2 Animation + if((var0 & 8) != 0) { + var4 = GraphicDefinition.incomingBuffer.getShort(1); + if(-65536 == ~var4) { + var4 = -1; + } + + chatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-112); + Class3_Sub28_Sub14.method628(0, chatIcon, var4, var3); + } + + //Ordinal: 3 Appearance + if(0 != (4 & var0)) { + var4 = GraphicDefinition.incomingBuffer.getByteA((byte)-118); + byte[] var16 = new byte[var4]; + RSByteBuffer var19 = new RSByteBuffer(var16); + GraphicDefinition.incomingBuffer.method764(0, var4, var16, (byte)93); + Class65.aClass3_Sub30Array986[var1] = var19; + var3.parseAppearance(-15, var19); + } + + //Ordinal: 4 Face entity + if((2 & var0) != 0) { + var3.anInt2772 = GraphicDefinition.incomingBuffer.getShortA(-114); + if(-65536 == ~var3.anInt2772) { + var3.anInt2772 = -1; + } + } + + //Ordinal: 5 Force movement + if(~(1024 & var0) != -1) { + var3.anInt2784 = GraphicDefinition.incomingBuffer.getByteC(true); + var3.anInt2835 = GraphicDefinition.incomingBuffer.getByte((byte)-24); + var3.anInt2823 = GraphicDefinition.incomingBuffer.getByteA((byte)-106); + var3.anInt2798 = GraphicDefinition.incomingBuffer.getByte((byte)-37); + var3.anInt2800 = GraphicDefinition.incomingBuffer.getLEShort(-90) + Class44.anInt719; + var3.anInt2790 = GraphicDefinition.incomingBuffer.getLEShort(-99) - -Class44.anInt719; + var3.anInt2840 = GraphicDefinition.incomingBuffer.getByteC(true); + var3.anInt2816 = 1; + var3.anInt2811 = 0; + } + + //Ordinal: 6 Force chat + if(~(var0 & 32) != -1) { + var3.textSpoken = GraphicDefinition.incomingBuffer.getString(); + if(~var3.textSpoken.charAt(0, (byte)-45) == -127) { + var3.textSpoken = var3.textSpoken.method1556(1, (byte)-74); + Class3_Sub30_Sub1.sendMessage(var3.getName(0), 2, var3.textSpoken, var2 ^ 78); + } else if(var3 == Class102.player) { + Class3_Sub30_Sub1.sendMessage(var3.getName(0), 2, var3.textSpoken, var2 + 78); + } + + var3.textEffect = 0; + var3.textColor = 0; + var3.textCycle = 150; + } + + //Ordinal: 7 Hit 2 + if(~(var0 & 512) != -1) { + var4 = GraphicDefinition.incomingBuffer.getSmart(true); + chatIcon = GraphicDefinition.incomingBuffer.getByteS(true); + var3.method1970(chatIcon, var2 + 71, Class44.anInt719, var4); + } + + //Ordinal: 8 + if(~(2048 & var0) != -1) { + var4 = GraphicDefinition.incomingBuffer.getByteC(true); + int[] var18 = new int[var4]; + int[] var17 = new int[var4]; + int[] var20 = new int[var4]; + + for(int var22 = 0; ~var4 < ~var22; ++var22) { + int var23 = GraphicDefinition.incomingBuffer.getLEShort(-101); + if('\uffff' == var23) { + var23 = -1; + } + + var18[var22] = var23; + var17[var22] = GraphicDefinition.incomingBuffer.getByteA((byte)125); + var20[var22] = GraphicDefinition.incomingBuffer.getShort(Class93.method1519(var2, -80)); + } + + Class75_Sub1.method1342(var17, var18, var3, (byte)-113, var20); + } + + //Ordinal: 9 Graphic + if((256 & var0) != 0) { + var4 = GraphicDefinition.incomingBuffer.getLEShort(-128); + if(var4 == '\uffff') { + var4 = -1; + } + + chatIcon = GraphicDefinition.incomingBuffer.getIntB((byte)-73); + boolean var21 = true; + if(~var4 != 0 && 0 != ~var3.anInt2842 && Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, var4).anInt542, (byte)-20).anInt1857 < Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, var3.anInt2842).anInt542, (byte)-20).anInt1857) { + var21 = false; + } + + if(var21) { + var3.anInt2759 = (chatIcon & '\uffff') + Class44.anInt719; + var3.anInt2761 = 0; + var3.anInt2805 = 0; + var3.anInt2842 = var4; + if(~var3.anInt2759 < ~Class44.anInt719) { + var3.anInt2805 = -1; + } + + var3.anInt2799 = chatIcon >> 16; + var3.anInt2826 = 1; + if(~var3.anInt2842 != 0 && Class44.anInt719 == var3.anInt2759) { + var7 = RenderAnimationDefinition.getGraphicDefinition((byte)42, var3.anInt2842).anInt542; + if(0 != ~var7) { + AnimationDefinition var24 = Client.getAnimationDefinition(var7, (byte)-20); + if(null != var24 && var24.frames != null) { + IOHandler.method1470(var3.anInt2829, var24, 183921384, var3.anInt2819, var3 == Class102.player, 0); + } + } + } + } + } + + if(var2 == -79) { + //Ordinal: 10 Face location + if(~(var0 & 64) != -1) { + var3.anInt2786 = GraphicDefinition.incomingBuffer.getShort(1); + var3.anInt2762 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-107); + } + + } + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "gk.A(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public static void method1081(byte var0) { + try { + aClass3_Sub28_Sub16_736 = null; + anIntArray729 = null; + aClass94_728 = null; + if(var0 <= 63) { + method1082((byte[])null, -60); + } + + aClass153_731 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gk.E(" + var0 + ')'); + } + } + + static final void method1082(byte[] var0, int var1) { + try { + RSByteBuffer var2 = new RSByteBuffer(var0); + var2.index = -2 + var0.length; + Class95.anInt1338 = var2.getShort(1); + Class3_Sub13_Sub6.anIntArray3076 = new int[Class95.anInt1338]; + Class140_Sub7.anIntArray2931 = new int[Class95.anInt1338]; + Class164.anIntArray2048 = new int[Class95.anInt1338]; + Class3_Sub13_Sub22.aBooleanArray3272 = new boolean[Class95.anInt1338]; + Class163_Sub3.aByteArrayArray3005 = new byte[Class95.anInt1338][]; + RSByteBuffer.anIntArray2591 = new int[Class95.anInt1338]; + Class163_Sub1.aByteArrayArray2987 = new byte[Class95.anInt1338][]; + var2.index = -(8 * Class95.anInt1338) + var0.length - 7; + Class3_Sub15.anInt2426 = var2.getShort(1); + Class133.anInt1748 = var2.getShort(1); + int var3 = (var2.getByte((byte)-43) & 255) - -1; + + int var4; + for(var4 = 0; ~var4 > ~Class95.anInt1338; ++var4) { + Class164.anIntArray2048[var4] = var2.getShort(1); + } + + if(var1 < 11) { + method1081((byte)-52); + } + + for(var4 = 0; ~var4 > ~Class95.anInt1338; ++var4) { + RSByteBuffer.anIntArray2591[var4] = var2.getShort(1); + } + + for(var4 = 0; Class95.anInt1338 > var4; ++var4) { + Class140_Sub7.anIntArray2931[var4] = var2.getShort(1); + } + + for(var4 = 0; ~var4 > ~Class95.anInt1338; ++var4) { + Class3_Sub13_Sub6.anIntArray3076[var4] = var2.getShort(1); + } + + var2.index = -(8 * Class95.anInt1338) + var0.length + -7 + 3 + -(var3 * 3); + Class3_Sub13_Sub38.spritePalette = new int[var3]; + + for(var4 = 1; ~var4 > ~var3; ++var4) { + Class3_Sub13_Sub38.spritePalette[var4] = var2.getTriByte((byte)122); + if(0 == Class3_Sub13_Sub38.spritePalette[var4]) { + Class3_Sub13_Sub38.spritePalette[var4] = 1; + } + } + + var2.index = 0; + + for(var4 = 0; var4 < Class95.anInt1338; ++var4) { + int var5 = Class140_Sub7.anIntArray2931[var4]; + int var6 = Class3_Sub13_Sub6.anIntArray3076[var4]; + int var7 = var5 * var6; + byte[] var8 = new byte[var7]; + boolean var10 = false; + Class163_Sub1.aByteArrayArray2987[var4] = var8; + byte[] var9 = new byte[var7]; + Class163_Sub3.aByteArrayArray3005[var4] = var9; + int var11 = var2.getByte((byte)-64); + int var12; + if(-1 != ~(1 & var11)) { + int var13; + for(var12 = 0; ~var12 > ~var5; ++var12) { + for(var13 = 0; var13 < var6; ++var13) { + var8[var12 + var13 * var5] = var2.getByte(); + } + } + + if(-1 != ~(var11 & 2)) { + for(var12 = 0; ~var12 > ~var5; ++var12) { + for(var13 = 0; var13 < var6; ++var13) { + byte var14 = var9[var5 * var13 + var12] = var2.getByte(); + var10 |= -1 != var14; + } + } + } + } else { + for(var12 = 0; ~var7 < ~var12; ++var12) { + var8[var12] = var2.getByte(); + } + + if((2 & var11) != 0) { + for(var12 = 0; ~var12 > ~var7; ++var12) { + byte var16 = var9[var12] = var2.getByte(); + var10 |= var16 != -1; + } + } + } + + Class3_Sub13_Sub22.aBooleanArray3272[var4] = var10; + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "gk.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1083(byte var0) { + try { + Class3_Sub13_Sub9.anIntArray3107 = InputStream_Sub1.method62(true, 14585, 8, 2048, 4, 0.4F, 8, 35); + int var1 = -5 / ((var0 - 45) / 59); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gk.C(" + var0 + ')'); + } + } + + static final void method1084(Node var0, Node var1, byte var2) { + try { + if(var1.aClass3_Sub28_2570 != null) { + var1.method524((byte)-107); + } + + var1.aClass3_Sub28_2570 = var0; + var1.aClass3_Sub28_2578 = var0.aClass3_Sub28_2578; + var1.aClass3_Sub28_2570.aClass3_Sub28_2578 = var1; + if(var2 <= 101) { + aBoolean732 = true; + } + + var1.aClass3_Sub28_2578.aClass3_Sub28_2570 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gk.D(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class46.java b/09HDscape-client/src/org/runite/jagex/Class46.java new file mode 100644 index 000000000..45f2af79e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class46.java @@ -0,0 +1,64 @@ +package org.runite.jagex; + +final class Class46 { + + static CacheIndex aClass153_737; + static RSString aClass94_738 = RSString.createRSString("Monde de jeu cr-B-B"); + static int anInt739; + static int anInt740; + static int anInt741; + + + public static void method1085(int var0) { + try { + aClass94_738 = null; + if(var0 == -1) { + aClass153_737 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gl.B(" + var0 + ')'); + } + } + + static final void method1086(CacheIndex var0, int var1) { + try { + Class45.aClass153_731 = var0; + if(var1 != -6) { + aClass153_737 = (CacheIndex)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gl.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1087(int var0, int var1) { + try { + Class3_Sub30_Sub1.method819(false); + Class3_Sub13_Sub17.method252(8); + if(var0 < 38) { + anInt741 = 118; + } + + int var2 = Class145.method2076(-37, var1).anInt556; + if(var2 != 0) { + int var3 = Class163_Sub1.anIntArray2985[var1]; + if(6 == var2) { + Class41.anInt688 = var3; + } + + if(-6 == ~var2) { + Class66.anInt998 = var3; + } + + if(-10 == ~var2) { + Canvas_Sub1.anInt15 = var3; + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gl.A(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class47.java b/09HDscape-client/src/org/runite/jagex/Class47.java new file mode 100644 index 000000000..90e0bc84d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class47.java @@ -0,0 +1,1253 @@ +package org.runite.jagex; + +final class Class47 { + + static boolean aBoolean742 = false; + static Class93 aClass93_743 = new Class93(20); + private Node aClass3_Sub28_744 = new Node(); + private Class130 aClass130_745; + private int anInt746; + private NodeList aClass13_747 = new NodeList(); + static CacheIndex quickChatMessages; + private int anInt749; + static RSString aClass94_750 = RSString.createRSString("null"); + + + static final boolean method1088(boolean var0) { + try { + if(Class3_Sub28_Sub11.aBoolean3641) { + try { + Class8.aClass94_106.method1577(-1857, Class38.aClass87_665.anApplet1219); + return true; + } catch (Throwable var2) { + ; + } + } + + if(var0) { + aClass93_743 = (Class93)null; + } + + return false; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.K(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub5 method1089(CacheIndex cacheIndex0, boolean dummyF, CacheIndex var2, byte var3, int frameId) { + try { + boolean var5 = true; + if(var3 <= 71) { + return (Class3_Sub28_Sub5)null; + } else { + int[] var6 = cacheIndex0.getFileIds((byte)-128, frameId); + + for(int var7 = 0; var7 < var6.length; ++var7) { + byte[] var8 = cacheIndex0.method2140(var6[var7], frameId, 0); + if(var8 == null) { + var5 = false; + } else { + int var9 = (255 & var8[0]) << 8 | var8[1] & 255; + byte[] var10; + if(!dummyF) { + var10 = var2.method2140(0, var9, 0); + } else { + var10 = var2.method2140(var9, 0, 0); + } + + if(null == var10) { + // System.out.println("Roar , " + var9); + var5 = false; + } + } + } + if(!var5) { + return null; + } else { + try { + return new Class3_Sub28_Sub5(cacheIndex0, var2, frameId, dummyF); + } catch (Exception var11) { + var11.printStackTrace(); + return null; + } + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "gn.J(" + (cacheIndex0 != null?"{...}":"null") + ',' + dummyF + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + frameId + ')'); + } + } + + static final RSString method1090(byte var0, int var1) { + try { + if(var0 > -86) { + return (RSString)null; + } else { + RSString var2 = new RSString(); + var2.length = 0; + var2.byteArray = new byte[var1]; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.M(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1091(boolean var0, int var1) { + try { + byte var2; + byte[][] var3; + if(HDToolKit.highDetail && var0) { + var2 = 1; + var3 = Class3_Sub28_Sub14.aByteArrayArray3669; + } else { + var2 = 4; + var3 = Class164_Sub2.aByteArrayArray3027; + } + + int var4 = var3.length; + + int var5; + int var6; + int var7; + byte[] var8; + for(var5 = 0; ~var4 < ~var5; ++var5) { + var6 = -Class131.anInt1716 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var5] >> 8); + var7 = -Class82.anInt1152 + 64 * (255 & Class3_Sub24_Sub3.anIntArray3494[var5]); + var8 = var3[var5]; + if(null != var8) { + Class58.method1194(-16385); + RSByteBuffer.method777(Class86.aClass91Array1182, var0, -48 + 8 * Class3_Sub28_Sub7.anInt3606, var7, 4, var6, (Class3_Sub7.anInt2294 + -6) * 8, var8); + } + } + + var5 = 0; + if(var1 > -66) { + method1088(true); + } + + for(; ~var4 < ~var5; ++var5) { + var6 = -Class131.anInt1716 + 64 * (Class3_Sub24_Sub3.anIntArray3494[var5] >> 8); + var7 = -Class82.anInt1152 + 64 * (255 & Class3_Sub24_Sub3.anIntArray3494[var5]); + var8 = var3[var5]; + if(var8 == null && ~Class3_Sub7.anInt2294 > -801) { + Class58.method1194(-16385); + + for(int var9 = 0; var9 < var2; ++var9) { + Class12.method870(var9, (byte)102, var7, var6, 64, 64); + } + } + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "gn.I(" + var0 + ',' + var1 + ')'); + } + } + + final Node method1092(long var1, int var3) { + try { + if(var3 != 1400) { + this.anInt749 = -79; + } + + Node var4 = (Node)this.aClass130_745.method1780(var1, 0); + if(null != var4) { + this.aClass13_747.method879(var4, (byte)44); + } + + return var4; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "gn.N(" + var1 + ',' + var3 + ')'); + } + } + + static final void method1093(boolean var0) { + try { + if(var0) { + method1093(true); + } + + for(int var1 = 0; var1 < 100; ++var1) { + Class3_Sub28_Sub14.aBooleanArray3674[var1] = true; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gn.H(" + var0 + ')'); + } + } + + final Class3 method1094(int var1) { + try { + return var1 != 0?(Class3)null:this.aClass130_745.method1776(38); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.A(" + var1 + ')'); + } + } + + static final void method1095(int var0, int var1, int var2, RSInterface[] var3, int var4, int var5, int var6, int var7, byte var8, int var9) { + try { + if(HDToolKit.highDetail) { + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1324(var0, var6, var4, var7); + Class51.method1134(); + } + + for(int var10 = 0; ~var3.length < ~var10; ++var10) { + RSInterface var11 = var3[var10]; + if(var11 != null && (~var11.parentId == ~var5 || var5 == -1412584499 && var11 == Class56.aClass11_886)) { + int var12; + if(0 != ~var9) { + var12 = var9; + } else { + Class155.anIntArray1969[Class3_Sub28_Sub3.anInt3557] = var2 + var11.anInt306; + Player.anIntArray3954[Class3_Sub28_Sub3.anInt3557] = var11.anInt210 - -var1; + Class3_Sub28_Sub18.anIntArray3768[Class3_Sub28_Sub3.anInt3557] = var11.anInt168; + Class140_Sub4.anIntArray2794[Class3_Sub28_Sub3.anInt3557] = var11.anInt193; + var12 = Class3_Sub28_Sub3.anInt3557++; + } + + var11.anInt204 = Class44.anInt719; + var11.anInt292 = var12; + if(!var11.usingScripts || !Client.method51(var11)) { + if(0 < var11.anInt189) { + Class2.method81((byte)-128, var11); + } + + int var14 = var1 + var11.anInt210; + int var15 = var11.anInt223; + int var13 = var11.anInt306 - -var2; + if(Class69.aBoolean1040 && (0 != Client.method44(var11).anInt2205 || var11.type == 0) && var15 > 127) { + var15 = 127; + } + + int var17; + int var16; + if(var11 == Class56.aClass11_886) { + if(var5 != -1412584499 && !var11.aBoolean200) { + Class3_Sub28_Sub7.anInt3602 = var2; + Class73.anInt1082 = var1; + GameObject.aClass11Array1836 = var3; + continue; + } + + if(NPC.aBoolean3975 && Class85.aBoolean1167) { + var17 = Class130.anInt1709; + var16 = Class126.anInt1676; + var17 -= Class95.anInt1336; + if(var17 < Class134.anInt1761) { + var17 = Class134.anInt1761; + } + + if(~(var17 + var11.anInt193) < ~(PacketParser.aClass11_88.anInt193 + Class134.anInt1761)) { + var17 = -var11.anInt193 + PacketParser.aClass11_88.anInt193 + Class134.anInt1761; + } + + var14 = var17; + var16 -= Class144.anInt1881; + if(Class3_Sub13_Sub13.anInt3156 > var16) { + var16 = Class3_Sub13_Sub13.anInt3156; + } + + if(~(PacketParser.aClass11_88.anInt168 + Class3_Sub13_Sub13.anInt3156) > ~(var11.anInt168 + var16)) { + var16 = -var11.anInt168 + PacketParser.aClass11_88.anInt168 + Class3_Sub13_Sub13.anInt3156; + } + + var13 = var16; + } + + if(!var11.aBoolean200) { + var15 = 128; + } + } + + int var19; + int var18; + int var21; + int var20; + if(2 != var11.type) { + var17 = ~var14 < ~var6?var14:var6; + var16 = ~var0 > ~var13?var13:var0; + var20 = var11.anInt168 + var13; + var21 = var14 - -var11.anInt193; + if(~var11.type == -10) { + ++var21; + ++var20; + } + + var19 = var7 <= var21?var7:var21; + var18 = ~var20 <= ~var4?var4:var20; + } else { + var19 = var7; + var18 = var4; + var17 = var6; + var16 = var0; + } + + if(!var11.usingScripts || ~var18 < ~var16 && ~var17 > ~var19) { + int var23; + int var22; + int var25; + int var24; + int var26; + int var29; + int var28; + int var47; + if(~var11.anInt189 != -1) { + if(~var11.anInt189 == -1338 || var11.anInt189 == 1403 && HDToolKit.highDetail) { + Class168.aClass11_2091 = var11; + Node.anInt2567 = var14; + Class53.anInt865 = var13; + Class3_Sub13_Sub36.method338(-6403, var11.anInt193, ~var11.anInt189 == -1404, var13, var11.anInt168, var14); + if(HDToolKit.highDetail) { + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1324(var0, var6, var4, var7); + } + continue; + } + + if(-1339 == ~var11.anInt189) { + if(!var11.method855(-30721)) { + continue; + } + + Class3_Sub8.method125(var12, (byte)59, var14, var13, var11); + if(HDToolKit.highDetail) { + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1324(var0, var6, var4, var7); + } + + if(0 != Class161.anInt2028 && 3 != Class161.anInt2028 || Class38_Sub1.aBoolean2615 || var16 > NPCDefinition.anInt1297 || ~Class38_Sub1.anInt2612 > ~var17 || ~NPCDefinition.anInt1297 <= ~var18 || ~var19 >= ~Class38_Sub1.anInt2612) { + continue; + } + + var20 = NPCDefinition.anInt1297 - var13; + var21 = -var14 + Class38_Sub1.anInt2612; + var22 = var11.anIntArray207[var21]; + if(~var20 > ~var22 || ~var20 < ~(var22 + var11.anIntArray291[var21])) { + continue; + } + + var21 -= var11.anInt193 / 2; + var23 = 2047 & GraphicDefinition.CAMERA_DIRECTION - -Class3_Sub13_Sub8.anInt3102; + var20 -= var11.anInt168 / 2; + var24 = Class51.anIntArray840[var23]; + var25 = Class51.anIntArray851[var23]; + var24 = (Class164_Sub2.anInt3020 + 256) * var24 >> 8; + var25 = (Class164_Sub2.anInt3020 - -256) * var25 >> 8; + var47 = -(var24 * var20) + var25 * var21 >> 11; + var26 = var21 * var24 - -(var20 * var25) >> 11; + var28 = Class102.player.anInt2819 + var26 >> 7; + var29 = -var47 + Class102.player.anInt2829 >> 7; + if(GameObject.aBoolean1837 && 0 != (Class164.anInt2051 & 64)) { + RSInterface var53 = Class3_Sub28_Sub16.method638((byte)-19, Class54.anInt872, RSInterface.anInt278); + if(null != var53) { + Class54.method1177(Class144.anInt1887, 1L, (byte)-49, Class131.aClass94_1724, var28, (short)11, Class3_Sub28_Sub9.aClass94_3621, var29); + } else { + Class25.method958((byte)-91); + } + continue; + } + + if(~Class158.anInt2014 == -2) { + Class54.method1177(-1, 1L, (byte)-41, Class3_Sub28_Sub14.aClass94_3672, var28, (short)36, Class3_Sub28_Sub18.aClass94_3762, var29); + } + + Class54.method1177(-1, 1L, (byte)-125, Class3_Sub28_Sub14.aClass94_3672, var28, (short)60, Class3_Sub13_Sub28.aClass94_3353, var29); + continue; + } + + if(var11.anInt189 == 1339) { + if(var11.method855(-30721)) { + Class91.method1493(var13, var14, var11, var12, (byte)59); + if(!HDToolKit.highDetail) { + Class74.method1324(var0, var6, var4, var7); + } else { + Class22.method935(var0, var6, var4, var7); + } + } + continue; + } + + if(var11.anInt189 == 1400) { + RSByteBuffer.method799(var13, 64, var14, var11.anInt193, var11.anInt168); + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + Class163_Sub1_Sub1.aBooleanArray4008[var12] = true; + if(HDToolKit.highDetail) { + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1324(var0, var6, var4, var7); + } + continue; + } + + if(-1402 == ~var11.anInt189) { + Class1.method72(var13, var11.anInt193, var11.anInt168, 19481, var14); + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + Class163_Sub1_Sub1.aBooleanArray4008[var12] = true; + if(!HDToolKit.highDetail) { + Class74.method1324(var0, var6, var4, var7); + } else { + Class22.method935(var0, var6, var4, var7); + } + continue; + } + + if(1402 == var11.anInt189) { + if(!HDToolKit.highDetail) { + Class129.method1768(var13, 95, var14); + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + Class163_Sub1_Sub1.aBooleanArray4008[var12] = true; + } + continue; + } + + if(~var11.anInt189 == -1406) { + if(!Class20.aBoolean438) { + continue; + } + + var20 = var11.anInt168 + var13; + var21 = 15 + var14; + Class126.aClass3_Sub28_Sub17_1669.method688(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub16.aClass94_3196, Class72.method1298((byte)9, AnimationDefinition.anInt1862)}, (byte)-69), var20, var21, 16776960, -1); + var21 += 15; + Runtime var57 = Runtime.getRuntime(); + var23 = (int)((var57.totalMemory() + -var57.freeMemory()) / 1024L); + var24 = 16776960; + if(~var23 < -65537) { + var24 = 16711680; + } + + Class126.aClass3_Sub28_Sub17_1669.method688(RenderAnimationDefinition.method903(new RSString[]{Class3_Sub28_Sub10_Sub1.aClass94_4057, Class72.method1298((byte)9, var23), Class151_Sub1.aClass94_2951}, (byte)-128), var20, var21, var24, -1); + var21 += 15; + if(HDToolKit.highDetail) { + var24 = 16776960; + var25 = (Class31.anInt580 + Class31.anInt585 + Class31.memory2D) / 1024; + if(65536 < var25) { + var24 = 16711680; + } + + Class126.aClass3_Sub28_Sub17_1669.method688(RenderAnimationDefinition.method903(new RSString[]{Class118.aClass94_1622, Class72.method1298((byte)9, var25), Class151_Sub1.aClass94_2951}, (byte)-97), var20, var21, var24, -1); + var21 += 15; + } + + var24 = 16776960; + var25 = 0; + var47 = 0; + var26 = 0; + + for(var28 = 0; var28 < 29; ++var28) { //TODO: + var25 += RSByteBuffer.aClass151_Sub1Array2601[var28].method2108((byte)1); + var26 += RSByteBuffer.aClass151_Sub1Array2601[var28].method2102(0); + var47 += RSByteBuffer.aClass151_Sub1Array2601[var28].method2106(1); + } + + var29 = 10000 * var26 / var25; + var28 = var47 * 100 / var25; + RSString var55 = RenderAnimationDefinition.method903(new RSString[]{Class20.aClass94_436, Class3_Sub23.method407(0, true, 2, (long)var29, 2), Class3_Sub21.aClass94_2498, Class72.method1298((byte)9, var28), Class10.aClass94_148}, (byte)-113); + Class3_Sub13.aClass3_Sub28_Sub17_2379.method688(var55, var20, var21, var24, -1); + var21 += 12; + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + Class163_Sub1_Sub1.aBooleanArray4008[var12] = true; + continue; + } + + if(-1407 == ~var11.anInt189) { + RuntimeException_Sub1.anInt2115 = var14; + Class3_Sub28_Sub16.aClass11_3708 = var11; + Class3_Sub13_Sub23_Sub1.anInt4041 = var13; + continue; + } + } + + if(!Class38_Sub1.aBoolean2615) { + if(~var11.type == -1 && var11.aBoolean219 && NPCDefinition.anInt1297 >= var16 && ~Class38_Sub1.anInt2612 <= ~var17 && NPCDefinition.anInt1297 < var18 && ~var19 < ~Class38_Sub1.anInt2612 && !Class69.aBoolean1040) { + Class3_Sub13_Sub34.anInt3415 = 1; + Class114.anIntArray1578[0] = Class3_Sub28_Sub5.anInt3590; + Class140_Sub7.aClass94Array2935[0] = Class161.aClass94_2031; + Class163_Sub2_Sub1.aClass94Array4016[0] = Class3_Sub28_Sub14.aClass94_3672; + Class3_Sub13_Sub7.aShortArray3095[0] = 1005; + } + + if(var16 <= NPCDefinition.anInt1297 && ~var17 >= ~Class38_Sub1.anInt2612 && var18 > NPCDefinition.anInt1297 && ~var19 < ~Class38_Sub1.anInt2612) { + Class3_Sub24_Sub4.method477(Class38_Sub1.anInt2612 + -var14, true, -var13 + NPCDefinition.anInt1297, var11); + } + } + + if(-1 == ~var11.type) { + if(!var11.usingScripts && Client.method51(var11) && Class107.aClass11_1453 != var11) { + continue; + } + + if(!var11.usingScripts) { + if(~(-var11.anInt193 + var11.anInt252) > ~var11.anInt208) { + var11.anInt208 = -var11.anInt193 + var11.anInt252; + } + + if(0 > var11.anInt208) { + var11.anInt208 = 0; + } + } + + method1095(var16, -var11.anInt208 + var14, -var11.anInt247 + var13, var3, var18, var11.anInt279, var17, var19, (byte)87, var12); + if(null != var11.aClass11Array262) { + method1095(var16, -var11.anInt208 + var14, -var11.anInt247 + var13, var11.aClass11Array262, var18, var11.anInt279, var17, var19, (byte)52, var12); + } + + Class3_Sub31 var36 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var11.anInt279, 0); + if(var36 != null) { + if(var36.anInt2603 == 0 && !Class38_Sub1.aBoolean2615 && NPCDefinition.anInt1297 >= var16 && ~var17 >= ~Class38_Sub1.anInt2612 && ~var18 < ~NPCDefinition.anInt1297 && Class38_Sub1.anInt2612 < var19 && !Class69.aBoolean1040) { + Class140_Sub7.aClass94Array2935[0] = Class161.aClass94_2031; + Class3_Sub13_Sub34.anInt3415 = 1; + Class114.anIntArray1578[0] = Class3_Sub28_Sub5.anInt3590; + Class3_Sub13_Sub7.aShortArray3095[0] = 1005; + Class163_Sub2_Sub1.aClass94Array4016[0] = Class3_Sub28_Sub14.aClass94_3672; + } + + Class3_Sub13_Sub1.method171(-101, var36.anInt2602, var16, var18, var13, var12, var19, var17, var14); + } + + if(HDToolKit.highDetail) { + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1324(var0, var6, var4, var7); + Class51.method1134(); + } + } + + if(Class130.aBooleanArray1712[var12] || ~Class3_Sub28_Sub15.anInt3689 < -2) { + if(-1 == ~var11.type && !var11.usingScripts && var11.anInt252 > var11.anInt193) { + Class3_Sub13_Sub12.method224((byte)120, var11.anInt208, var11.anInt252, var11.anInt168 + var13, var14, var11.anInt193); + } + + if(var11.type != 1) { + boolean var39; + boolean var46; + if(-3 == ~var11.type) { + var20 = 0; + + for(var21 = 0; ~var21 > ~var11.height; ++var21) { + for(var22 = 0; var11.width > var22; ++var22) { + var24 = var14 + var21 * (32 - -var11.anInt290); + var23 = (var11.anInt285 + 32) * var22 + var13; + if(var20 < 20) { + var24 += var11.anIntArray300[var20]; + var23 += var11.anIntArray272[var20]; + } + + if(var11.itemAmounts[var20] <= 0) { + if(null != var11.anIntArray197 && var20 < 20) { + Class3_Sub28_Sub16 var58 = var11.method859(true, var20); + if(null == var58) { + if(GameShell.aBoolean6) { + Class20.method909(125, var11); + } + } else { + var58.method643(var23, var24); + } + } + } else { + var39 = false; + var46 = false; + var47 = var11.itemAmounts[var20] + -1; + if(var0 < 32 + var23 && ~var23 > ~var4 && ~var6 > ~(var24 - -32) && ~var24 > ~var7 || var11 == Class67.aClass11_1017 && ~PacketParser.anInt86 == ~var20) { + Class3_Sub28_Sub16 var54; + if(-2 == ~Class164_Sub1.anInt3012 && Class110.anInt1473 == var20 && ~var11.anInt279 == ~Class3_Sub28_Sub18.anInt3764) { + var54 = Class114.method1707(2, var47, var11.aBoolean227, var11.itemIds[var20], 0, 65536); + } else { + var54 = Class114.method1707(1, var47, var11.aBoolean227, var11.itemIds[var20], 3153952, 65536); + } + + if(Class51.aBoolean837) { + Class3_Sub28_Sub14.aBooleanArray3674[var12] = true; + } + + if(null == var54) { + Class20.method909(-106, var11); + } else if(Class67.aClass11_1017 == var11 && var20 == PacketParser.anInt86) { + var25 = Class126.anInt1676 - Class129_Sub1.anInt2693; + var26 = -InputStream_Sub1.anInt40 + Class130.anInt1709; + if(-6 < ~var26 && 4 > ~var26) { + var26 = 0; + } + + if(var25 < 5 && ~var25 < 4) { + var25 = 0; + } + + if(5 > Class40.anInt677) { + var25 = 0; + var26 = 0; + } + + var54.method637(var23 + var25, var24 - -var26, 128); + if(var5 != -1) { + RSInterface var51 = var3[var5 & '\uffff']; + int var31; + int var30; + if(HDToolKit.highDetail) { + var31 = Class22.anInt451; + var30 = Class22.anInt448; + } else { + var30 = Class74.anInt1095; + var31 = Class74.anInt1099; + } + + int var32; + if(~var30 < ~(var26 + var24) && -1 > ~var51.anInt208) { + var32 = Class106.anInt1446 * (-var26 + var30 + -var24) / 3; + if(~var32 < ~(Class106.anInt1446 * 10)) { + var32 = 10 * Class106.anInt1446; + } + + if(var32 > var51.anInt208) { + var32 = var51.anInt208; + } + + var51.anInt208 -= var32; + InputStream_Sub1.anInt40 += var32; + Class20.method909(121, var51); + } + + if(var31 < 32 + var26 + var24 && var51.anInt208 < -var51.anInt193 + var51.anInt252) { + var32 = (-var31 + 32 + (var24 - -var26)) * Class106.anInt1446 / 3; + if(var32 > Class106.anInt1446 * 10) { + var32 = 10 * Class106.anInt1446; + } + + if(-var51.anInt208 + var51.anInt252 + -var51.anInt193 < var32) { + var32 = var51.anInt252 + -var51.anInt193 + -var51.anInt208; + } + + var51.anInt208 += var32; + InputStream_Sub1.anInt40 -= var32; + Class20.method909(-81, var51); + } + } + } else if(var11 == Class151.aClass11_1933 && var20 == Class148.anInt1918) { + var54.method637(var23, var24, 128); + } else { + var54.method643(var23, var24); + } + } + } + + ++var20; + } + } + } else if(3 == var11.type) { + if(!Class3_Sub28_Sub12.method609(var11, 26)) { + var20 = var11.anInt218; + if(var11 == Class107.aClass11_1453 && 0 != var11.anInt228) { + var20 = var11.anInt228; + } + } else { + var20 = var11.anInt253; + if(Class107.aClass11_1453 == var11 && 0 != var11.anInt222) { + var20 = var11.anInt222; + } + } + + if(-1 != ~var15) { + if(var11.aBoolean226) { + if(!HDToolKit.highDetail) { + Class74.method1312(var13, var14, var11.anInt168, var11.anInt193, var20, 256 + -(255 & var15)); + } else { + Class22.method930(var13, var14, var11.anInt168, var11.anInt193, var20, 256 - (var15 & 255)); + } + } else if(HDToolKit.highDetail) { + Class22.method928(var13, var14, var11.anInt168, var11.anInt193, var20, 256 + -(var15 & 255)); + } else { + Class74.method1315(var13, var14, var11.anInt168, var11.anInt193, var20, -(var15 & 255) + 256); + } + } else if(var11.aBoolean226) { + if(HDToolKit.highDetail) { + Class22.method934(var13, var14, var11.anInt168, var11.anInt193, var20); + } else { + Class74.method1323(var13, var14, var11.anInt168, var11.anInt193, var20); + } + } else if(!HDToolKit.highDetail) { + Class74.method1311(var13, var14, var11.anInt168, var11.anInt193, var20); + } else { + Class22.method927(var13, var14, var11.anInt168, var11.anInt193, var20); + } + } else { + Class3_Sub28_Sub17 var34; + if(-5 == ~var11.type) { + var34 = var11.method868(Class3_Sub13_Sub22.aClass109Array3270, 0); + if(var34 != null) { + RSString var45 = var11.aClass94_232; + if(!Class3_Sub28_Sub12.method609(var11, 97)) { + var21 = var11.anInt218; + if(Class107.aClass11_1453 == var11 && var11.anInt228 != 0) { + var21 = var11.anInt228; + } + } else { + var21 = var11.anInt253; + if(Class107.aClass11_1453 == var11 && var11.anInt222 != 0) { + var21 = var11.anInt222; + } + + if(~var11.aClass94_172.length(-99) < -1) { + var45 = var11.aClass94_172; + } + } + + if(var11.usingScripts && 0 != ~var11.anInt192) { + ItemDefinition var50 = Class38.getItemDefinition(var11.anInt192, (byte)113); + var45 = var50.name; + if(var45 == null) { + var45 = Class50.aClass94_829; + } + + if((-2 == ~var50.stackingType || -2 != ~var11.anInt271) && var11.anInt271 != -1) { + var45 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var45, Class3_Sub8.aClass94_2306, Class36.method1013((byte)-125, var11.anInt271)}, (byte)-89); + } + } + + if(Class3_Sub13_Sub7.aClass11_3087 == var11) { + var21 = var11.anInt218; + var45 = Class3_Sub2.aClass94_2216; + } + + if(!var11.usingScripts) { + var45 = Class73.method1303(var11, var45, 0); + } + + var34.method676(var45, var13, var14, var11.anInt168, var11.anInt193, var21, !var11.aBoolean215?-1:0, var11.anInt194, var11.anInt225, var11.anInt205); + } else if(GameShell.aBoolean6) { + Class20.method909(-13, var11); + } + } else if(5 != var11.type) { + ItemDefinition var42; + if(var11.type == 6) { + boolean var41 = Class3_Sub28_Sub12.method609(var11, 110); + Model var38 = null; + if(var41) { + var21 = var11.secondAnimationId; + } else { + var21 = var11.animationId; + } + + var23 = 0; + if(~var11.anInt192 != 0) { + var42 = Class38.getItemDefinition(var11.anInt192, (byte)76); + if(var42 != null) { + var42 = var42.method1106(var11.anInt271, 78); + AnimationDefinition var52 = ~var21 == 0?null:Client.getAnimationDefinition(var21, (byte)-20); + var38 = var42.method1110(100, var11.anInt260, var11.anInt267, var52, 1, var11.anInt283); + if(var38 == null) { + Class20.method909(116, var11); + } else { + var23 = -var38.method1871() / 2; + } + } + } else if(5 != var11.modelType) { + if(0 == ~var21) { + var38 = var11.method865(-1, (AnimationDefinition)null, -1, 126, 0, var41, Class102.player.class52); + if(null == var38 && GameShell.aBoolean6) { + Class20.method909(122, var11); + } + } else { + AnimationDefinition var48 = Client.getAnimationDefinition(var21, (byte)-20); + var38 = var11.method865(var11.anInt260, var48, var11.anInt283, 127, var11.anInt267, var41, Class102.player.class52); + if(null == var38 && GameShell.aBoolean6) { + Class20.method909(3, var11); + } + } + } else if(-1 == var11.itemId) { + var38 = Class77.aClass52_1112.method1165((Class145[])null, -1, (AnimationDefinition)null, (AnimationDefinition)null, 0, -1, 100, 0, true, -1, -1); + } else { + var24 = 2047 & var11.itemId; + if(~var24 == ~Class3_Sub1.localIndex) { + var24 = 2047; + } + + Player var49 = Class3_Sub13_Sub22.players[var24]; + AnimationDefinition var56 = var21 == -1?null:Client.getAnimationDefinition(var21, (byte)-20); + if(null != var49 && ~((int)var49.displayName.toLong(-128) << -1033903957) == ~(-2048 & var11.itemId)) { + var38 = var49.class52.method1165((Class145[])null, -1, (AnimationDefinition)null, var56, 0, -1, -126, 0, true, var11.anInt283, 0); + } + } + + if(var38 != null) { + if(~var11.anInt184 < -1) { + var24 = (var11.anInt168 << -873624568) / var11.anInt184; + } else { + var24 = 256; + } + + if(var11.anInt312 <= 0) { + var25 = 256; + } else { + var25 = (var11.anInt193 << 991611304) / var11.anInt312; + } + + var26 = var13 - -(var11.anInt168 / 2) - -(var24 * var11.anInt259 >> -1758325176); + var47 = var11.anInt193 / 2 + var14 + (var25 * var11.anInt230 >> -1056321176); + if(HDToolKit.highDetail) { + if(var11.aBoolean181) { + HDToolKit.method1855(var26, var47, var11.anInt164, var11.aShort293, var24, var25); + } else { + HDToolKit.method1821(var26, var47, var24, var25); + HDToolKit.method1825((float)var11.aShort169, 1.5F * (float)var11.aShort293); + } + + HDToolKit.method1846(); + HDToolKit.method1831(true); + HDToolKit.method1827(false); + Class3_Sub13_Sub33.method324(Class3_Sub28_Sub10.anInt3625, false); + if(OutputStream_Sub1.aBoolean47) { + Class22.method925(); + HDToolKit.method1841(); + Class22.method935(var0, var6, var4, var7); + OutputStream_Sub1.aBoolean47 = false; + } + + if(var11.aBoolean309) { + HDToolKit.method1851(); + } + + var28 = Class51.anIntArray840[var11.anInt182] * var11.anInt164 >> -215429808; + var29 = var11.anInt164 * Class51.anIntArray851[var11.anInt182] >> -957182768; + if(var11.usingScripts) { + var38.method1893(0, var11.anInt308, var11.anInt280, var11.anInt182, var11.anInt258, var11.anInt264 + var28 + var23, var11.anInt264 + var29, -1L); + } else { + var38.method1893(0, var11.anInt308, 0, var11.anInt182, 0, var28, var29, -1L); + } + + if(var11.aBoolean309) { + HDToolKit.method1830(); + } + } else { + Class51.method1145(var26, var47); + var28 = Class51.anIntArray840[var11.anInt182] * var11.anInt164 >> 428930352; + var29 = var11.anInt164 * Class51.anIntArray851[var11.anInt182] >> 1430420816; + if(!var11.usingScripts) { + var38.method1893(0, var11.anInt308, 0, var11.anInt182, 0, var28, var29, -1L); + } else if(var11.aBoolean181) { + ((Class140_Sub1_Sub2)var38).method1946(0, var11.anInt308, var11.anInt280, var11.anInt182, var11.anInt258, var11.anInt264 + var23 + var28, var29 + var11.anInt264, var11.anInt164); + } else { + var38.method1893(0, var11.anInt308, var11.anInt280, var11.anInt182, var11.anInt258, var11.anInt264 + (var28 - -var23), var29 + var11.anInt264, -1L); + } + + Class51.method1141(); + } + } + } else { + if(-8 == ~var11.type) { + var34 = var11.method868(Class3_Sub13_Sub22.aClass109Array3270, 0); + if(var34 == null) { + if(GameShell.aBoolean6) { + Class20.method909(-115, var11); + } + continue; + } + + var21 = 0; + + for(var22 = 0; ~var11.height < ~var22; ++var22) { + for(var23 = 0; var23 < var11.width; ++var23) { + if(0 < var11.itemAmounts[var21]) { + var42 = Class38.getItemDefinition(var11.itemAmounts[var21] + -1, (byte)104); + RSString var40; + if(1 != var42.stackingType && 1 == var11.itemIds[var21]) { + var40 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var42.name, Class3_Sub29.aClass94_2584}, (byte)-67); + } else { + var40 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub2.aClass94_3042, var42.name, Class3_Sub8.aClass94_2306, Class36.method1013((byte)-100, var11.itemIds[var21])}, (byte)-73); + } + + var26 = var13 + var23 * (var11.anInt285 + 115); + var47 = (var11.anInt290 + 12) * var22 + var14; + if(~var11.anInt194 != -1) { + if(-2 == ~var11.anInt194) { + var34.method699(var40, 57 + var26, var47, var11.anInt218, !var11.aBoolean215?-1:0); + } else { + var34.method688(var40, -1 + var26 + 115, var47, var11.anInt218, !var11.aBoolean215?-1:0); + } + } else { + var34.method681(var40, var26, var47, var11.anInt218, var11.aBoolean215?0:-1); + } + } + + ++var21; + } + } + } + + if(var11.type == 8 && Class20.aClass11_439 == var11 && ~Class75.anInt1109 == ~Class3_Sub13_Sub26.anInt3323) { + var21 = 0; + var20 = 0; + RSString var43 = var11.aClass94_232; + Class3_Sub28_Sub17 var35 = Class126.aClass3_Sub28_Sub17_1669; + var43 = Class73.method1303(var11, var43, 0); + + RSString var44; + while(-1 > ~var43.length(-58)) { + var25 = var43.method1551(RSByteBuffer.aClass94_2598, 62); + if(var25 != -1) { + var44 = var43.method1557(var25, 0, 0); + var43 = var43.method1556(var25 + 4, (byte)-74); + } else { + var44 = var43; + var43 = Class3_Sub28_Sub14.aClass94_3672; + } + + var26 = var35.method682(var44); + var21 += var35.anInt3727 - -1; + if(~var20 > ~var26) { + var20 = var26; + } + } + + var26 = var14 - -var11.anInt193 - -5; + var20 += 6; + var21 += 7; + if(~(var26 - -var21) < ~var7) { + var26 = -var21 + var7; + } + + var25 = -var20 + -5 + var13 - -var11.anInt168; + if(var25 < 5 + var13) { + var25 = 5 + var13; + } + + if(~(var20 + var25) < ~var4) { + var25 = -var20 + var4; + } + + if(HDToolKit.highDetail) { + Class22.method934(var25, var26, var20, var21, 16777120); + Class22.method927(var25, var26, var20, var21, 0); + } else { + Class74.method1323(var25, var26, var20, var21, 16777120); + Class74.method1311(var25, var26, var20, var21, 0); + } + + var43 = var11.aClass94_232; + var47 = 2 + (var26 - -var35.anInt3727); + + for(var43 = Class73.method1303(var11, var43, 0); ~var43.length(-102) < -1; var47 += var35.anInt3727 + 1) { + var28 = var43.method1551(RSByteBuffer.aClass94_2598, 86); + if(0 == ~var28) { + var44 = var43; + var43 = Class3_Sub28_Sub14.aClass94_3672; + } else { + var44 = var43.method1557(var28, 0, 0); + var43 = var43.method1556(4 + var28, (byte)-74); + } + + var35.method681(var44, 3 + var25, var47, 0, -1); + } + } + + if(~var11.type == -10) { + if(var11.aBoolean167) { + var20 = var13; + var22 = var13 - -var11.anInt168; + var21 = var14 - -var11.anInt193; + var23 = var14; + } else { + var20 = var13; + var21 = var14; + var23 = var14 - -var11.anInt193; + var22 = var13 + var11.anInt168; + } + + if(var11.anInt250 == 1) { + if(!HDToolKit.highDetail) { + Class74.method1328(var20, var21, var22, var23, var11.anInt218); + } else { + Class22.method933(var20, var21, var22, var23, var11.anInt218); + } + } else if(!HDToolKit.highDetail) { + Class74.method1322(var20, var21, var22, var23, var11.anInt218, var11.anInt250); + } else { + Class22.method929(var20, var21, var22, var23, var11.anInt218, var11.anInt250); + } + } + } + } else { + Class3_Sub28_Sub16 var37; + if(!var11.usingScripts) { + var37 = var11.method866((byte)-113, Class3_Sub28_Sub12.method609(var11, 69)); + if(null != var37) { + var37.method643(var13, var14); + } else if(GameShell.aBoolean6) { + Class20.method909(118, var11); + } + } else { + if(var11.anInt192 != -1) { + var37 = Class114.method1707(var11.anInt288, var11.anInt192, var11.aBoolean227, var11.anInt271, var11.anInt287, 65536); + } else { + var37 = var11.method866((byte)-113, false); + //TODO: this is where I get ma stuff + } + + if(var37 == null) { + if(GameShell.aBoolean6) { + Class20.method909(-40, var11); + } + } else { + var21 = var37.anInt3697; + var22 = var37.anInt3706; + if(!var11.aBoolean186) { + var23 = var11.anInt168 * 4096 / var21; + if(-1 == ~var11.anInt301) { + if(0 != var15) { + var37.method642(var13, var14, var11.anInt168, var11.anInt193, -(255 & var15) + 256); + } else if(~var21 == ~var11.anInt168 && ~var22 == ~var11.anInt193) { + var37.method643(var13, var14); + } else { + var37.method639(var13, var14, var11.anInt168, var11.anInt193); + } + } else { + var37.method640(var14 + var11.anInt193 / 2, var11.anInt301, var23, var13 + var11.anInt168 / 2, -1470985020); + } + } else { + var23 = (var21 + -1 + var11.anInt168) / var21; + var24 = (var11.anInt193 - 1 - -var22) / var22; + if(HDToolKit.highDetail) { + Class22.method931(var13, var14, var11.anInt168 + var13, var11.anInt193 + var14); + var39 = Class140_Sub6.method2021((byte)-94, var37.anInt3707); + var46 = Class140_Sub6.method2021((byte)-113, var37.anInt3696); + Class3_Sub28_Sub16_Sub1 var27 = (Class3_Sub28_Sub16_Sub1)var37; + if(var39 && var46) { + if(var15 != 0) { + var27.method646(var13, var14, -(255 & var15) + 256, var23, var24); + } else { + var27.method649(var13, var14, var23, var24); + } + } else if(var39) { + for(var28 = 0; ~var24 < ~var28; ++var28) { + if(~var15 == -1) { + var27.method649(var13, var28 * var22 + var14, var23, 1); + } else { + var27.method646(var13, var14 + var28 * var22, 256 + -(var15 & 255), var23, 1); + } + } + } else if(!var46) { + for(var28 = 0; ~var28 > ~var23; ++var28) { + for(var29 = 0; ~var24 < ~var29; ++var29) { + if(var15 != 0) { + var37.method637(var28 * var21 + var13, var22 * var29 + var14, -(255 & var15) + 256); + } else { + var37.method643(var13 - -(var21 * var28), var22 * var29 + var14); + } + } + } + } else { + for(var28 = 0; ~var23 < ~var28; ++var28) { + if(~var15 != -1) { + var27.method646(var21 * var28 + var13, var14, -(var15 & 255) + 256, 1, var24); + } else { + var27.method649(var21 * var28 + var13, var14, 1, var24); + } + } + } + + Class22.method935(var0, var6, var4, var7); + } else { + Class74.method1326(var13, var14, var13 - -var11.anInt168, var14 - -var11.anInt193); + + for(var25 = 0; var25 < var23; ++var25) { + for(var26 = 0; ~var26 > ~var24; ++var26) { + if(var11.anInt301 == 0) { + if(0 == var15) { + var37.method643(var25 * var21 + var13, var22 * var26 + var14); + } else { + var37.method637(var25 * var21 + var13, var14 + var26 * var22, 256 - (255 & var15)); + } + } else { + var37.method640(var14 - -(var22 * var26) + var22 / 2, var11.anInt301, 4096, var25 * var21 + var13 + var21 / 2, -1470985020); + } + } + } + + Class74.method1324(var0, var6, var4, var7); + } + } + } + } + } + } + } + } + } + } + } + } + + if(var8 <= 31) { + quickChatMessages = (CacheIndex)null; + } + + } catch (RuntimeException var33) { + throw Class44.method1067(var33, "gn.B(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + public static void method1096(byte var0) { + try { + quickChatMessages = null; + if(var0 < 84) { + method1091(true, -127); + } + + aClass94_750 = null; + aClass93_743 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "gn.G(" + var0 + ')'); + } + } + + final void method1097(Node var1, long var2, byte var4) { + try { + if(-1 == ~this.anInt749) { + Node var5 = this.aClass13_747.method877(-1); + var5.method86(-1024); + var5.method524((byte)-107); + if(this.aClass3_Sub28_744 == var5) { + var5 = this.aClass13_747.method877(-1); + var5.method86(-1024); + var5.method524((byte)-107); + } + } else { + --this.anInt749; + } + + this.aClass130_745.method1779(1, var1, var2); + int var7 = -76 % ((var4 - -5) / 35); + this.aClass13_747.method879(var1, (byte)-126); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "gn.L(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var4 + ')'); + } + } + + static final void method1098(byte var0) { + try { + if(-129 < ~Class3_Sub9.anInt2309) { + Class3_Sub9.anInt2309 = 128; + } + + if(-384 > ~Class3_Sub9.anInt2309) { + Class3_Sub9.anInt2309 = 383; + } + + GraphicDefinition.CAMERA_DIRECTION &= 2047; + if(var0 >= -31) { + quickChatMessages = (CacheIndex)null; + } + + int var1 = Class3_Sub13_Sub13.anInt3155 >> -971224825; + int var2 = Class62.anInt942 >> -694284537; + int var3 = Class121.method1736(WorldListCountry.localPlane, 1, Class3_Sub13_Sub13.anInt3155, Class62.anInt942); + int var4 = 0; + int var5; + if(-4 > ~var1 && 3 < var2 && 100 > var1 && var2 < 100) { + for(var5 = -4 + var1; var1 - -4 >= var5; ++var5) { + for(int var6 = -4 + var2; var6 <= 4 + var2; ++var6) { + int var7 = WorldListCountry.localPlane; + if(3 > var7 && 2 == (2 & Class9.aByteArrayArrayArray113[1][var5][var6])) { + ++var7; + } + + int var8 = (255 & Class136.aByteArrayArrayArray1774[var7][var5][var6]) * 8 - Class44.anIntArrayArrayArray723[var7][var5][var6] + var3; + if(var8 > var4) { + var4 = var8; + } + } + } + } + + var5 = 192 * var4; + if(-98049 > ~var5) { + var5 = 98048; + } + + if(-32769 < ~var5) { + var5 = '\u8000'; + } + + if(~Class75_Sub4.anInt2670 <= ~var5) { + if(~var5 > ~Class75_Sub4.anInt2670) { + Class75_Sub4.anInt2670 += (var5 - Class75_Sub4.anInt2670) / 80; + } + } else { + Class75_Sub4.anInt2670 += (-Class75_Sub4.anInt2670 + var5) / 24; + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "gn.D(" + var0 + ')'); + } + } + + final Class3 method1099(int var1) { + try { + if(var1 != -1) { + aClass93_743 = (Class93)null; + } + + return this.aClass130_745.method1778(-119); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.F(" + var1 + ')'); + } + } + + static final int method1100(int var0, boolean var1, int var2) { + try { + if(0 == ~var2) { + return 12345678; + } else { + if(!var1) { + method1088(true); + } + + var0 = var0 * (127 & var2) >> 2137332647; + if(2 <= var0) { + if(126 < var0) { + var0 = 126; + } + } else { + var0 = 2; + } + + return var0 + ('\uff80' & var2); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "gn.C(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final void method1101(int var1) { + try { + this.aClass13_747.method883(17126); + this.aClass130_745.method1773(-112); + this.aClass3_Sub28_744 = new Node(); + if(var1 != 2) { + this.method1092(-36L, 52); + } + + this.anInt749 = this.anInt746; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.E(" + var1 + ')'); + } + } + + Class47(int var1) { + try { + int var2 = 1; + + for(this.anInt749 = var1; ~var1 < ~(var2 - -var2); var2 += var2) { + ; + } + + this.anInt746 = var1; + this.aClass130_745 = new Class130(var2); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "gn.(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class49.java b/09HDscape-client/src/org/runite/jagex/Class49.java new file mode 100644 index 000000000..35c684d0b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class49.java @@ -0,0 +1,409 @@ +package org.runite.jagex; +import java.io.DataInputStream; +import java.net.URL; +import java.util.Random; +import java.util.zip.Inflater; + +final class Class49 { + + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_812; + private Inflater anInflater813; + static boolean[][] aBooleanArrayArray814; + static int anInt815 = 0; + static int anInt816; + static int anInt817; + static Class47 aClass47_818 = new Class47(64); + static int anInt819 = 0; + + + static final void method1121(boolean var0, byte var1) { + try { + byte var2; + byte[][] var3; + if(HDToolKit.highDetail && var0) { + var2 = 1; + var3 = Class3_Sub28_Sub14.aByteArrayArray3669; + } else { + var3 = Class164_Sub2.aByteArrayArray3027; + var2 = 4; + } + + for(int var4 = 0; ~var4 > ~var2; ++var4) { + Class58.method1194(-16385); + + for(int var5 = 0; -14 < ~var5; ++var5) { + for(int var6 = 0; -14 < ~var6; ++var6) { + int var8 = ObjectDefinition.anIntArrayArrayArray1497[var4][var5][var6]; + boolean var7 = false; + if(~var8 != 0) { + int var9 = var8 >> 24 & 3; + if(!var0 || 0 == var9) { + int var12 = 2047 & var8 >> 3; + int var10 = var8 >> 1 & 3; + int var11 = 1023 & var8 >> 14; + int var13 = (var11 / 8 << 8) + var12 / 8; + + for(int var14 = 0; ~Class3_Sub24_Sub3.anIntArray3494.length < ~var14; ++var14) { + if(~Class3_Sub24_Sub3.anIntArray3494[var14] == ~var13 && null != var3[var14]) { + Canvas_Sub2.method60(var10, 8 * var5, var4, Class86.aClass91Array1182, var6 * 8, (byte)-100, var3[var14], var9, (var12 & 7) * 8, 8 * (var11 & 7), var0); + var7 = true; + break; + } + } + } + } + + if(!var7) { + Class12.method870(var4, (byte)84, 8 * var6, var5 * 8, 8, 8); + } + } + } + } + + if(var1 <= 49) { + anInt817 = 32; + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "ha.E(" + var0 + ',' + var1 + ')'); + } + } + + static final RSInterface method1122(int var0, RSInterface var1) { + try { + if(var0 != 0) { + method1123(103, 118); + } + + RSInterface var2 = Client.method42(var1); + if(null == var2) { + var2 = var1.aClass11_302; + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ha.J(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final byte[] method1123(int var0, int var1) { + try { + Class3_Sub28_Sub8 var2 = (Class3_Sub28_Sub8)Class25.aClass47_480.method1092((long)var1, var0 + -16710535); + if(null == var2) { + Random var4 = new Random((long)var1); + byte[] var3 = new byte[512]; + + int var5; + for(var5 = 0; -256 < ~var5; ++var5) { + var3[var5] = (byte)var5; + } + + for(var5 = 0; ~var5 > -256; ++var5) { + int var6 = 255 - var5; + int var7 = Class100.method1603((byte)125, var6, var4); + byte var8 = var3[var7]; + var3[var7] = var3[var6]; + var3[var6] = var3[511 + -var5] = var8; + } + + var2 = new Class3_Sub28_Sub8(var3); + Class25.aClass47_480.method1097(var2, (long)var1, (byte)52); + } + + return var0 != 16711935?(byte[])null:var2.aByteArray3612; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ha.B(" + var0 + ',' + var1 + ')'); + } + } + + static final RSString method1124(int[] var0, long var1, int var3, boolean var4) { + try { + if(var4) { + return (RSString)null; + } else { + if(Class58.anInterface4_915 != null) { + RSString var5 = Class58.anInterface4_915.method20(var3, var0, 4936, var1); + if(var5 != null) { + return var5; + } + } + + return Class3_Sub28_Sub12.method612(var1, (byte)124); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ha.H(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1125(String var0, Throwable var1, byte var2) { + if(var2 <= 100) { + aClass47_818 = (Class47)null; + } + + try { + String var3 = ""; + if(null != var1) { + var3 = Class53.method1172(-95, var1); + } + + if(var0 != null) { + if(null != var1) { + var3 = var3 + " | "; + } + + var3 = var3 + var0; + } + + Class7.method831(104, var3); + var3 = Class3_Sub28_Sub6.a(":", "%3a", 126, var3); + var3 = Class3_Sub28_Sub6.a("@", "%40", -31, var3); + var3 = Class3_Sub28_Sub6.a("&", "%26", -16, var3); + var3 = Class3_Sub28_Sub6.a("#", "%23", 6, var3); + if(Class3_Sub13_Sub10.aClass87_3125.anApplet1219 == null) { + return; + } + + Class64 var4 = Class3_Sub13_Sub10.aClass87_3125.method1439(false, new URL(Class3_Sub13_Sub10.aClass87_3125.anApplet1219.getCodeBase(), "clienterror.ws?c=" + Class3_Sub13_Sub23_Sub1.anInt4033 + "&u=" + Class3_Sub13_Sub16.aLong3202 + "&v1=" + Signlink.javaVendor + "&v2=" + Signlink.javaVersion + "&e=" + var3)); + + while(var4.anInt978 == 0) { + Class3_Sub13_Sub34.method331(1L, 64); + } + + if(~var4.anInt978 == -2) { + DataInputStream var5 = (DataInputStream)var4.anObject974; + var5.read(); + var5.close(); + } + } catch (Exception var6) { + ; + } + + } + + static final void method1126(int var0, int var1) { + try { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 2, var1); + int var3 = -67 % ((var0 - -37) / 48); + var2.a(true); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ha.I(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1127(int var0) { + try { + if(!Class38_Sub1.aBoolean2615) { + if(Class3_Sub28_Sub13.anInt3660 != 0) { + NPCDefinition.anInt1297 = Class3_Sub13_Sub39.anInt3460; + Class38_Sub1.anInt2612 = Class168.anInt2099; + } else if(Class3_Sub28_Sub11.anInt3644 == 0) { + NPCDefinition.anInt1297 = Class126.anInt1676; + Class38_Sub1.anInt2612 = Class130.anInt1709; + } else { + NPCDefinition.anInt1297 = Class163_Sub1.anInt2993; + Class38_Sub1.anInt2612 = Class38_Sub1.anInt2614; + } + + Class3_Sub13_Sub34.anInt3415 = 1; + Class140_Sub7.aClass94Array2935[0] = Class161.aClass94_2031; + Class163_Sub2_Sub1.aClass94Array4016[0] = Class3_Sub28_Sub14.aClass94_3672; + Class3_Sub13_Sub7.aShortArray3095[0] = 1005; + Class114.anIntArray1578[0] = Class3_Sub28_Sub5.anInt3590; + } + + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + Class52.method1160(-113, Class3_Sub28_Sub12.anInt3655); + } + + if(var0 == 0) { + int var1; + for(var1 = 0; var1 < Class3_Sub28_Sub3.anInt3557; ++var1) { + if(Class3_Sub28_Sub14.aBooleanArray3674[var1]) { + Class163_Sub1_Sub1.aBooleanArray4008[var1] = true; + } + + Class130.aBooleanArray1712[var1] = Class3_Sub28_Sub14.aBooleanArray3674[var1]; + Class3_Sub28_Sub14.aBooleanArray3674[var1] = false; + } + + Class3_Sub28_Sub16.aClass11_3708 = null; + Class53.anInt865 = -1; + Node.anInt2567 = -1; + Class99.aClass11_1402 = null; + if(HDToolKit.highDetail) { + OutputStream_Sub1.aBoolean47 = true; + } + + Class3_Sub23.anInt2535 = Class44.anInt719; + if(~Class3_Sub28_Sub12.anInt3655 != 0) { + Class3_Sub28_Sub3.anInt3557 = 0; + Class8.method841(true); + } + + if(HDToolKit.highDetail) { + Class22.method925(); + } else { + Class74.method1331(); + } + + Class168.method2278(var0 + 122); + if(Class38_Sub1.aBoolean2615) { + if(CacheIndex.aBoolean1951) { + ISAACCipher.method1230((byte)116); + } else { + Class84.method1419(-117); + } + } else if(null == Class3_Sub28_Sub16.aClass11_3708) { + if(0 != ~Class53.anInt865) { + Class24.method950((RSInterface)null, -86, Node.anInt2567, Class53.anInt865); + } + } else { + Class24.method950(Class3_Sub28_Sub16.aClass11_3708, -120, RuntimeException_Sub1.anInt2115, Class3_Sub13_Sub23_Sub1.anInt4041); + } + + var1 = Class38_Sub1.aBoolean2615?-1:Class3_Sub13_Sub35.method335(var0 + 16859); + if(var1 == -1) { + var1 = Class161.anInt2027; + } + + Class3_Sub13_Sub13.method229(var1, 20827); + if(-2 == ~CS2Script.anInt2440) { + CS2Script.anInt2440 = 2; + } + + if(1 == ObjectDefinition.anInt1521) { + ObjectDefinition.anInt1521 = 2; + } + + if(~Class3_Sub28_Sub15.anInt3689 == -4) { + for(int var2 = 0; ~var2 > ~Class3_Sub28_Sub3.anInt3557; ++var2) { + if(!Class130.aBooleanArray1712[var2]) { + if(Class163_Sub1_Sub1.aBooleanArray4008[var2]) { + if(!HDToolKit.highDetail) { + Class74.method1312(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711680, 128); + } else { + Class22.method930(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711680, 128); + } + } + } else if(!HDToolKit.highDetail) { + Class74.method1312(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711935, 128); + } else { + Class22.method930(Class155.anIntArray1969[var2], Player.anIntArray3954[var2], Class3_Sub28_Sub18.anIntArray3768[var2], Class140_Sub4.anIntArray2794[var2], 16711935, 128); + } + } + } + + Class61.method1214(Class106.anInt1446, Class102.player.anInt2819, Class102.player.anInt2829, WorldListCountry.localPlane, 1); + Class106.anInt1446 = 0; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ha.G(" + var0 + ')'); + } + } + + final void method1128(byte[] var1, RSByteBuffer var2, boolean var3) { + try { + if(var3) { + anInt815 = -81; + } + + if(31 == var2.buffer[var2.index] && var2.buffer[var2.index + 1] == -117) { + if(this.anInflater813 == null) { + this.anInflater813 = new Inflater(true); + } + + try { + this.anInflater813.setInput(var2.buffer, var2.index + 10, -8 - (10 + var2.index) + var2.buffer.length); + this.anInflater813.inflate(var1); + } catch (Exception var5) { + this.anInflater813.reset(); + throw new RuntimeException("Invalid GZIP compressed data!"); + } + + this.anInflater813.reset(); + } else { + throw new RuntimeException("Invalid GZIP header!"); + } + } catch (RuntimeException var6) { +// var6.printStackTrace(); + throw Class44.method1067(var6, "ha.D(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + public Class49() { + this(-1, 1000000, 1000000); + } + + static final void method1129(int var0, int var1, int var2, int var3, int var4) { + try { + int var5 = var3; + int var6 = var2; + int var7 = -var2; + int var8 = -1; + int var9 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var2 + var4, (byte)0, Class101.anInt1425); + int var10 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4 - var2, (byte)0, Class101.anInt1425); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var1], var10, -98, var9, var0); + + while(~var5 > ~var6) { + var8 += 2; + var7 += var8; + int var11; + int var12; + int var13; + int var14; + if(var7 > 0) { + --var6; + var11 = -var6 + var1; + var7 -= var6 << 1; + var12 = var1 + var6; + if(var12 >= Class159.anInt2020 && var11 <= Class57.anInt902) { + var13 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4 - -var5, (byte)0, Class101.anInt1425); + var14 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var5 + var4, (byte)0, Class101.anInt1425); + if(Class57.anInt902 >= var12) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var12], var14, var3 ^ 111, var13, var0); + } + + if(Class159.anInt2020 <= var11) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var14, -84, var13, var0); + } + } + } + + ++var5; + var11 = -var5 + var1; + var12 = var5 + var1; + if(var12 >= Class159.anInt2020 && ~Class57.anInt902 <= ~var11) { + var13 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4 - -var6, (byte)0, Class101.anInt1425); + var14 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, -var6 + var4, (byte)0, Class101.anInt1425); + if(var12 <= Class57.anInt902) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var12], var14, 90, var13, var0); + } + + if(var11 >= Class159.anInt2020) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var11], var14, -103, var13, var0); + } + } + } + + } catch (RuntimeException var15) { + throw Class44.method1067(var15, "ha.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + private Class49(int var1, int var2, int var3) {} + + public static void method1130(int var0) { + try { + aClass3_Sub28_Sub16_812 = null; + if(var0 < 54) { + anInt819 = -109; + } + + aClass47_818 = null; + aBooleanArrayArray814 = (boolean[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ha.F(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class5.java b/09HDscape-client/src/org/runite/jagex/Class5.java new file mode 100644 index 000000000..3641dc63c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class5.java @@ -0,0 +1,22 @@ +package org.runite.jagex; + +public final class Class5 { + + private static long aLong89; + private static long aLong90; + + + public static final synchronized long method830(byte var0) { + long var1 = System.currentTimeMillis(); + if(~aLong90 < ~var1) { + aLong89 += aLong90 + -var1; + } + + if(var0 != -55) { + method830((byte)-4); + } + + aLong90 = var1; + return aLong89 + var1; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class50.java b/09HDscape-client/src/org/runite/jagex/Class50.java new file mode 100644 index 000000000..2fee6e762 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class50.java @@ -0,0 +1,132 @@ +package org.runite.jagex; + +final class Class50 { + + static int anInt820 = 0; + int anInt821; + private static RSString aClass94_832 = RSString.createRSString(" has logged out)3"); + private static RSString aClass94_827 = RSString.createRSString("purple:"); + static RSString aClass94_822 = aClass94_832; + int anInt823; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_824; + static RSString aClass94_825 = aClass94_827; + static long[] aLongArray826 = new long[200]; + static int anInt828 = 0; + static RSString aClass94_829 = RSString.createRSString("null"); + int anInt830; + int anInt831; + + static RSString aClass94_833 = aClass94_827; + + + static final void method1131(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(~var6 <= -1 && 0 <= var4 && -104 < ~var6 && 103 > var4) { + int var9; + if(-1 == ~var5) { + Class70 var8 = Class154.method2147(var0, var6, var4); + if(var8 != null) { + var9 = Integer.MAX_VALUE & (int)(var8.aLong1048 >>> 32); + if(-3 == ~var3) { + var8.aClass140_1049 = new Class140_Sub3(var9, 2, 4 + var2, var0, var6, var4, var7, false, var8.aClass140_1049); + var8.aClass140_1052 = new Class140_Sub3(var9, 2, 3 & 1 + var2, var0, var6, var4, var7, false, var8.aClass140_1052); + } else { + var8.aClass140_1049 = new Class140_Sub3(var9, var3, var2, var0, var6, var4, var7, false, var8.aClass140_1049); + } + } + } + + if(-2 == ~var5) { + Class19 var12 = Class44.method1068(var0, var6, var4); + if(null != var12) { + var9 = (int)(var12.aLong428 >>> 32) & Integer.MAX_VALUE; + if(-5 != ~var3 && -6 != ~var3) { + if(~var3 != -7) { + if(7 == var3) { + var12.aClass140_429 = new Class140_Sub3(var9, 4, (var2 - -2 & 3) - -4, var0, var6, var4, var7, false, var12.aClass140_429); + } else if(var3 == 8) { + var12.aClass140_429 = new Class140_Sub3(var9, 4, 4 + var2, var0, var6, var4, var7, false, var12.aClass140_429); + var12.aClass140_423 = new Class140_Sub3(var9, 4, (2 + var2 & 3) + 4, var0, var6, var4, var7, false, var12.aClass140_423); + } + } else { + var12.aClass140_429 = new Class140_Sub3(var9, 4, var2 - -4, var0, var6, var4, var7, false, var12.aClass140_429); + } + } else { + var12.aClass140_429 = new Class140_Sub3(var9, 4, var2, var0, var6, var4, var7, false, var12.aClass140_429); + } + } + } + + if(-3 == ~var5) { + if(~var3 == -12) { + var3 = 10; + } + + Class25 var11 = Class75.method1336(var0, var6, var4); + if(var11 != null) { + var11.aClass140_479 = new Class140_Sub3((int)(var11.aLong498 >>> 32) & Integer.MAX_VALUE, var3, var2, var0, var6, var4, var7, false, var11.aClass140_479); + } + } + + if(~var5 == -4) { + Class12 var13 = RSByteBuffer.method784(var0, var6, var4); + if(null != var13) { + var13.object = new Class140_Sub3(Integer.MAX_VALUE & (int)(var13.aLong328 >>> 32), 22, var2, var0, var6, var4, var7, false, var13.object); + } + } + } + + if(var1 <= 104) { + method1132(-79); + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "hd.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + static final void method1132(int var0) { + try { + Class128.aClass93_1683.method1523((byte)-111); + if(var0 != 103) { + method1132(14); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hd.A(" + var0 + ')'); + } + } + + public static void method1133(byte var0) { + try { + aClass94_833 = null; + aClass94_822 = null; + aClass94_827 = null; + aClass94_829 = null; + if(var0 != 81) { + aClass94_833 = (RSString)null; + } + + aClass94_832 = null; + aClass94_825 = null; + aLongArray826 = null; + aClass3_Sub28_Sub16_824 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hd.C(" + var0 + ')'); + } + } + + public Class50() {} + + Class50(Class50 var1) { + try { + this.anInt823 = var1.anInt823; + this.anInt831 = var1.anInt831; + this.anInt821 = var1.anInt821; + this.anInt830 = var1.anInt830; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hd.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class51.java b/09HDscape-client/src/org/runite/jagex/Class51.java new file mode 100644 index 000000000..9c1aba23c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class51.java @@ -0,0 +1,3748 @@ +package org.runite.jagex; + +final class Class51 { + + static int[] anIntArray834 = new int[65536]; + static int anInt835; + private static int[] anIntArray836 = new int[1024]; + static boolean aBoolean837 = false; + static Interface2 anInterface2_838; + private static int[] anIntArray839 = new int[512]; + static int[] anIntArray840 = new int[2048]; + static int[] anIntArray841 = new int[2048]; + private static boolean aBoolean842 = false; + static boolean aBoolean843 = true; + private static int anInt844; + private static boolean aBoolean845 = false; + static int anInt846; + static int anInt847; + private static float aFloat848 = 1.0F; + static boolean aBoolean849 = false; + static int anInt850 = 0; + static int[] anIntArray851 = new int[2048]; + + + static final void method1134() { + method1151(Class74.anInt1093, Class74.anInt1095, Class74.anInt1096, Class74.anInt1099); + } + + static final void method1135(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18) { + int[] var19 = anInterface2_838.method13(var18, true, aFloat848); + int var20; + if(var19 == null) { + var20 = anInterface2_838.method15(var18, '\uffff'); + method1154(var0, var1, var2, var3, var4, var5, method1136(var20, var6), method1136(var20, var7), method1136(var20, var8)); + } else { + aBoolean845 = anInterface2_838.method14((byte)-106, var18); + aBoolean842 = anInterface2_838.method7((byte)88, var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if(var1 != var0) { + var26 = (var4 - var3 << 16) / (var1 - var0); + } + + int var27 = 0; + if(var2 != var1) { + var27 = (var5 - var4 << 16) / (var2 - var1); + } + + int var28 = 0; + if(var2 != var0) { + var28 = (var3 - var5 << 16) / (var0 - var2); + } + + int var29 = var20 * var23 - var22 * var21; + if(var29 != 0) { + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var14 * var9 << 14; + int var33 = var14 * var15 - var17 * var12 << 5; + int var34 = var17 * var9 - var11 * var15 << 5; + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = var13 * var15 - var16 * var12 << 5; + int var37 = var16 * var9 - var10 * var15 << 5; + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = var16 * var14 - var13 * var17 << 5; + int var40 = var10 * var17 - var16 * var11 << 5; + int var41; + if(var0 <= var1 && var0 <= var2) { + if(var0 < anInt844) { + if(var1 > anInt844) { + var1 = anInt844; + } + + if(var2 > anInt844) { + var2 = anInt844; + } + + var6 = (var6 << 9) - var30 * var3 + var30; + if(var1 < var2) { + var5 = var3 <<= 16; + if(var0 < 0) { + var5 -= var28 * var0; + var3 -= var26 * var0; + var6 -= var31 * var0; + var0 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var27 * var1; + var1 = 0; + } + + var41 = var0 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var4 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var4 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var4 = var3 <<= 16; + if(var0 < 0) { + var4 -= var28 * var0; + var3 -= var26 * var0; + var6 -= var31 * var0; + var0 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var4 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var0, var4 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if(var1 <= var2) { + if(var1 < anInt844) { + if(var2 > anInt844) { + var2 = anInt844; + } + + if(var0 > anInt844) { + var0 = anInt844; + } + + var7 = (var7 << 9) - var30 * var4 + var30; + if(var2 < var0) { + var3 = var4 <<= 16; + if(var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var1 == var2 || var26 >= var27) && (var1 != var2 || var26 <= var28)) { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var5 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var5 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var5 = var4 <<= 16; + if(var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var28 * var0; + var0 = 0; + } + + var41 = var1 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var26 < var27) { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var5 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var5 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if(var2 < anInt844) { + if(var0 > anInt844) { + var0 = anInt844; + } + + if(var1 > anInt844) { + var1 = anInt844; + } + + var8 = (var8 << 9) - var30 * var5 + var30; + if(var0 < var1) { + var4 = var5 <<= 16; + if(var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var26 * var0; + var0 = 0; + } + + var41 = var2 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var27 < var28) { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var3 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var3 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var3 = var5 <<= 16; + if(var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var27 < var28) { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var3 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1143(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var3 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } + } + } + + private static final int method1136(int var0, int var1) { + var1 = var1 * (var0 & 127) >> 7; + if(var1 < 2) { + var1 = 2; + } else if(var1 > 126) { + var1 = 126; + } + + return (var0 & '\uff80') + var1; + } + + static final void method1137(float var0) { + method1152(var0); + method1150(0, 512); + } + + static final void method1138(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15, int var16, int var17, int var18) { + int[] var19 = anInterface2_838.method13(var18, true, aFloat848); + int var20; + if(var19 != null && anInt850 <= 10) { + aBoolean845 = anInterface2_838.method14((byte)-115, var18); + aBoolean842 = anInterface2_838.method7((byte)88, var18); + var20 = var4 - var3; + int var21 = var1 - var0; + int var22 = var5 - var3; + int var23 = var2 - var0; + int var24 = var7 - var6; + int var25 = var8 - var6; + int var26 = 0; + if(var1 != var0) { + var26 = (var4 - var3 << 16) / (var1 - var0); + } + + int var27 = 0; + if(var2 != var1) { + var27 = (var5 - var4 << 16) / (var2 - var1); + } + + int var28 = 0; + if(var2 != var0) { + var28 = (var3 - var5 << 16) / (var0 - var2); + } + + int var29 = var20 * var23 - var22 * var21; + if(var29 != 0) { + int var30 = (var24 * var23 - var25 * var21 << 9) / var29; + int var31 = (var25 * var20 - var24 * var22 << 9) / var29; + var10 = var9 - var10; + var13 = var12 - var13; + var16 = var15 - var16; + var11 -= var9; + var14 -= var12; + var17 -= var15; + int var32 = var11 * var12 - var14 * var9 << 14; + int var33 = var14 * var15 - var17 * var12 << 8; + int var34 = var17 * var9 - var11 * var15 << 5; + int var35 = var10 * var12 - var13 * var9 << 14; + int var36 = var13 * var15 - var16 * var12 << 8; + int var37 = var16 * var9 - var10 * var15 << 5; + int var38 = var13 * var11 - var10 * var14 << 14; + int var39 = var16 * var14 - var13 * var17 << 8; + int var40 = var10 * var17 - var16 * var11 << 5; + int var41; + if(var0 <= var1 && var0 <= var2) { + if(var0 < anInt844) { + if(var1 > anInt844) { + var1 = anInt844; + } + + if(var2 > anInt844) { + var2 = anInt844; + } + + var6 = (var6 << 9) - var30 * var3 + var30; + if(var1 < var2) { + var5 = var3 <<= 16; + if(var0 < 0) { + var5 -= var28 * var0; + var3 -= var26 * var0; + var6 -= var31 * var0; + var0 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var27 * var1; + var1 = 0; + } + + var41 = var0 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var4 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var4 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var4 += var27; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var4 = var3 <<= 16; + if(var0 < 0) { + var4 -= var28 * var0; + var3 -= var26 * var0; + var6 -= var31 * var0; + var0 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var27 * var2; + var2 = 0; + } + + var41 = var0 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var5 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var3 >> 16, var4 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var5 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var5 += var27; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var0, var4 >> 16, var3 >> 16, var6, var30, var32, var35, var38, var33, var36, var39); + var4 += var28; + var3 += var26; + var6 += var31; + var0 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if(var1 <= var2) { + if(var1 < anInt844) { + if(var2 > anInt844) { + var2 = anInt844; + } + + if(var0 > anInt844) { + var0 = anInt844; + } + + var7 = (var7 << 9) - var30 * var4 + var30; + if(var2 < var0) { + var3 = var4 <<= 16; + if(var1 < 0) { + var3 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var28 * var2; + var2 = 0; + } + + var41 = var1 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if((var1 == var2 || var26 >= var27) && (var1 != var2 || var26 <= var28)) { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var5 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var5 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var5 += var28; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var5 = var4 <<= 16; + if(var1 < 0) { + var5 -= var26 * var1; + var4 -= var27 * var1; + var7 -= var31 * var1; + var1 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var28 * var0; + var0 = 0; + } + + var41 = var1 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var26 < var27) { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var3 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var5 >> 16, var4 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var3 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var3 += var28; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var1, var4 >> 16, var5 >> 16, var7, var30, var32, var35, var38, var33, var36, var39); + var5 += var26; + var4 += var27; + var7 += var31; + var1 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } else if(var2 < anInt844) { + if(var0 > anInt844) { + var0 = anInt844; + } + + if(var1 > anInt844) { + var1 = anInt844; + } + + var8 = (var8 << 9) - var30 * var5 + var30; + if(var0 < var1) { + var4 = var5 <<= 16; + if(var2 < 0) { + var4 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var26 * var0; + var0 = 0; + } + + var41 = var2 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var27 < var28) { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var3 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var3 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var3 += var26; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } else { + var3 = var5 <<= 16; + if(var2 < 0) { + var3 -= var27 * var2; + var5 -= var28 * var2; + var8 -= var31 * var2; + var2 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var26 * var1; + var1 = 0; + } + + var41 = var2 - anInt835; + var32 += var34 * var41; + var35 += var37 * var41; + var38 += var40 * var41; + if(var27 < var28) { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var4 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var3 >> 16, var5 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var4 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var4 += var26; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + + method1142(Class74.anIntArray1100, var19, 0, 0, var2, var5 >> 16, var3 >> 16, var8, var30, var32, var35, var38, var33, var36, var39); + var3 += var27; + var5 += var28; + var8 += var31; + var2 += Class74.anInt1092; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } + } else { + var20 = anInterface2_838.method15(var18, '\uffff'); + aBoolean837 = true; + method1154(var0, var1, var2, var3, var4, var5, method1136(var20, var6), method1136(var20, var7), method1136(var20, var8)); + } + } + + static final int method1139() { + return anIntArray836[0] % Class74.anInt1092; + } + + static final void method1140(Interface2 var0) { + anInterface2_838 = var0; + } + + static final void method1141() { + anInt846 = anInt847 / 2; + anInt835 = anInt844 / 2; + Class139.anInt1824 = -anInt846; + Class145.anInt1898 = anInt847 - anInt846; + Class1.anInt55 = -anInt835; + Class86.anInt1195 = anInt844 - anInt835; + } + + private static final void method1142(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14) { + if(aBoolean849) { + if(var6 > anInt847) { + var6 = anInt847; + } + + if(var5 < 0) { + var5 = 0; + } + } + + if(var5 < var6) { + var4 += var5; + var7 += var8 * var5; + int var17 = var6 - var5; + int var15; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + int var10000; + if(aBoolean845) { + var23 = var5 - anInt846; + var9 += (var12 >> 3) * var23; + var10 += (var13 >> 3) * var23; + var11 += (var14 >> 3) * var23; + var22 = var11 >> 12; + if(var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var20 - var18 >> 3 << 20) + (var21 - var19 >> 3); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if(aBoolean842) { + if(var17 > 0) { + do { + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var10000 = var2 + var16; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var20 - var18 >> 3 << 20) + (var21 - var19 >> 3); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var10000 = var2 + var16; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var20 - var18 >> 3 << 20) + (var21 - var19 >> 3); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - anInt846; + var9 += (var12 >> 3) * var23; + var10 += (var13 >> 3) * var23; + var11 += (var14 >> 3) * var23; + var22 = var11 >> 14; + if(var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var20 - var18 >> 3 << 18) + (var21 - var19 >> 3); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if(aBoolean842) { + if(var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var10000 = var2 + var16; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var20 - var18 >> 3 << 18) + (var21 - var19 >> 3); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var10000 = var2 + var16; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var20 - var18 >> 3 << 18) + (var21 - var19 >> 3); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + private static final void method1143(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14) { + if(aBoolean849) { + if(var6 > anInt847) { + var6 = anInt847; + } + + if(var5 < 0) { + var5 = 0; + } + } + + if(var5 < var6) { + var4 += var5; + var7 += var8 * var5; + int var17 = var6 - var5; + int var15; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + if(aBoolean845) { + var23 = var5 - anInt846; + var9 += var12 * var23; + var10 += var13 * var23; + var11 += var14 * var23; + var22 = var11 >> 12; + if(var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12 * var17; + var10 += var13 * var17; + var11 += var14 * var17; + var22 = var11 >> 12; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = ((var20 - var18) / var17 << 20) + (var21 - var19) / var17; + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if(aBoolean842) { + if(var17 > 0) { + do { + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + var3 = var1[(var2 & 4032) + (var2 >>> 26)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 4032) + (var2 >>> 26)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - anInt846; + var9 += var12 * var23; + var10 += var13 * var23; + var11 += var14 * var23; + var22 = var11 >> 14; + if(var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12 * var17; + var10 += var13 * var17; + var11 += var14 * var17; + var22 = var11 >> 14; + if(var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = ((var20 - var18) / var17 << 18) + (var21 - var19) / var17; + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if(aBoolean842) { + if(var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if(var17 > 0) { + do { + if((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = ((var3 & 16711935) * var15 & -16711936) + ((var3 & '\uff00') * var15 & 16711680) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + static final void method1144(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = 0; + if(var1 != var0) { + var7 = (var4 - var3 << 16) / (var1 - var0); + } + + int var8 = 0; + if(var2 != var1) { + var8 = (var5 - var4 << 16) / (var2 - var1); + } + + int var9 = 0; + if(var2 != var0) { + var9 = (var3 - var5 << 16) / (var0 - var2); + } + + if(var0 <= var1 && var0 <= var2) { + if(var0 < anInt844) { + if(var1 > anInt844) { + var1 = anInt844; + } + + if(var2 > anInt844) { + var2 = anInt844; + } + + if(var1 < var2) { + var5 = var3 <<= 16; + if(var0 < 0) { + var5 -= var9 * var0; + var3 -= var7 * var0; + var0 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var8 * var1; + var1 = 0; + } + + if((var0 == var1 || var9 >= var7) && (var0 != var1 || var9 <= var8)) { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var4 >> 16, var5 >> 16); + var5 += var9; + var4 += var8; + var0 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var3 >> 16, var5 >> 16); + var5 += var9; + var3 += var7; + var0 += Class74.anInt1092; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var5 >> 16, var4 >> 16); + var5 += var9; + var4 += var8; + var0 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var5 >> 16, var3 >> 16); + var5 += var9; + var3 += var7; + var0 += Class74.anInt1092; + } + } + } else { + var4 = var3 <<= 16; + if(var0 < 0) { + var4 -= var9 * var0; + var3 -= var7 * var0; + var0 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var8 * var2; + var2 = 0; + } + + if((var0 == var2 || var9 >= var7) && (var0 != var2 || var8 <= var7)) { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var3 >> 16, var5 >> 16); + var5 += var8; + var3 += var7; + var0 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var3 >> 16, var4 >> 16); + var4 += var9; + var3 += var7; + var0 += Class74.anInt1092; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var5 >> 16, var3 >> 16); + var5 += var8; + var3 += var7; + var0 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var0, var6, 0, var4 >> 16, var3 >> 16); + var4 += var9; + var3 += var7; + var0 += Class74.anInt1092; + } + } + } + } + } else if(var1 <= var2) { + if(var1 < anInt844) { + if(var2 > anInt844) { + var2 = anInt844; + } + + if(var0 > anInt844) { + var0 = anInt844; + } + + if(var2 < var0) { + var3 = var4 <<= 16; + if(var1 < 0) { + var3 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var9 * var2; + var2 = 0; + } + + if((var1 == var2 || var7 >= var8) && (var1 != var2 || var7 <= var9)) { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var5 >> 16, var3 >> 16); + var3 += var7; + var5 += var9; + var1 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var4 >> 16, var3 >> 16); + var3 += var7; + var4 += var8; + var1 += Class74.anInt1092; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var3 >> 16, var5 >> 16); + var3 += var7; + var5 += var9; + var1 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var3 >> 16, var4 >> 16); + var3 += var7; + var4 += var8; + var1 += Class74.anInt1092; + } + } + } else { + var5 = var4 <<= 16; + if(var1 < 0) { + var5 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var9 * var0; + var0 = 0; + } + + if(var7 < var8) { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var3 >> 16, var4 >> 16); + var3 += var9; + var4 += var8; + var1 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var5 >> 16, var4 >> 16); + var5 += var7; + var4 += var8; + var1 += Class74.anInt1092; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var4 >> 16, var3 >> 16); + var3 += var9; + var4 += var8; + var1 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var1, var6, 0, var4 >> 16, var5 >> 16); + var5 += var7; + var4 += var8; + var1 += Class74.anInt1092; + } + } + } + } + } else if(var2 < anInt844) { + if(var0 > anInt844) { + var0 = anInt844; + } + + if(var1 > anInt844) { + var1 = anInt844; + } + + if(var0 < var1) { + var4 = var5 <<= 16; + if(var2 < 0) { + var4 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var7 * var0; + var0 = 0; + } + + if(var8 < var9) { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var4 >> 16, var3 >> 16); + var4 += var8; + var3 += var7; + var2 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var4 >> 16, var5 >> 16); + var4 += var8; + var5 += var9; + var2 += Class74.anInt1092; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var3 >> 16, var4 >> 16); + var4 += var8; + var3 += var7; + var2 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var5 >> 16, var4 >> 16); + var4 += var8; + var5 += var9; + var2 += Class74.anInt1092; + } + } + } else { + var3 = var5 <<= 16; + if(var2 < 0) { + var3 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var7 * var1; + var1 = 0; + } + + if(var8 < var9) { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var4 >> 16, var5 >> 16); + var4 += var7; + var5 += var9; + var2 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var3 >> 16, var5 >> 16); + var3 += var8; + var5 += var9; + var2 += Class74.anInt1092; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var5 >> 16, var4 >> 16); + var4 += var7; + var5 += var9; + var2 += Class74.anInt1092; + } + } + + method1149(Class74.anIntArray1100, var2, var6, 0, var5 >> 16, var3 >> 16); + var3 += var8; + var5 += var9; + var2 += Class74.anInt1092; + } + } + } + } + } + + static final void method1145(int var0, int var1) { + int var2 = anIntArray836[0]; + int var3 = var2 / Class74.anInt1092; + int var4 = var2 - var3 * Class74.anInt1092; + anInt846 = var0 - var4; + anInt835 = var1 - var3; + Class139.anInt1824 = -anInt846; + Class145.anInt1898 = anInt847 - anInt846; + Class1.anInt55 = -anInt835; + Class86.anInt1195 = anInt844 - anInt835; + } + + private static final void method1146(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if(aBoolean849) { + if(var5 > anInt847) { + var5 = anInt847; + } + + if(var4 < 0) { + var4 = 0; + } + } + + if(var4 < var5) { + var1 += var4; + var6 += var7 * var4; + int var8; + int var9; + int var10; + if(aBoolean843) { + var3 = var5 - var4 >> 2; + var7 <<= 2; + if(anInt850 == 0) { + if(var3 > 0) { + do { + var2 = anIntArray834[var6 >> 8]; + var6 += var7; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if(var3 > 0) { + var2 = anIntArray834[var6 >> 8]; + + do { + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + } else { + var8 = anInt850; + var9 = 256 - anInt850; + if(var3 > 0) { + do { + var2 = anIntArray834[var6 >> 8]; + var6 += var7; + var2 = ((var2 & 16711935) * var9 >> 8 & 16711935) + ((var2 & '\uff00') * var9 >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if(var3 > 0) { + var2 = anIntArray834[var6 >> 8]; + var2 = ((var2 & 16711935) * var9 >> 8 & 16711935) + ((var2 & '\uff00') * var9 >> 8 & '\uff00'); + + do { + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + } + + } else { + var3 = var5 - var4; + if(anInt850 == 0) { + do { + var0[var1++] = anIntArray834[var6 >> 8]; + var6 += var7; + --var3; + } while(var3 > 0); + } else { + var8 = anInt850; + var9 = 256 - anInt850; + + do { + var2 = anIntArray834[var6 >> 8]; + var6 += var7; + var2 = ((var2 & 16711935) * var9 >> 8 & 16711935) + ((var2 & '\uff00') * var9 >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = var2 + ((var10 & 16711935) * var8 >> 8 & 16711935) + ((var10 & '\uff00') * var8 >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + + } + } + } + + static final void method1147(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = 0; + if(var2 != var1) { + var8 = (var5 - var4 << 16) / (var2 - var1); + } + + int var9 = 0; + if(var3 != var2) { + var9 = (var6 - var5 << 16) / (var3 - var2); + } + + int var10 = 0; + if(var3 != var1) { + var10 = (var4 - var6 << 16) / (var1 - var3); + } + + if(var1 <= var2 && var1 <= var3) { + if(var2 < var3) { + var6 = var4 <<= 16; + if(var1 < 0) { + var6 -= var10 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var9 * var2; + var2 = 0; + } + + if((var1 == var2 || var10 >= var8) && (var1 != var2 || var10 <= var9)) { + var3 -= var2; + var2 -= var1; + var1 *= var7; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var3; + if(var3 < 0) { + return; + } + + method1156(var0, var1, 0, var5 >> 16, var6 >> 16); + var6 += var10; + var5 += var9; + var1 += var7; + } + } + + method1156(var0, var1, 0, var4 >> 16, var6 >> 16); + var6 += var10; + var4 += var8; + var1 += var7; + } + } else { + var3 -= var2; + var2 -= var1; + var1 *= var7; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var3; + if(var3 < 0) { + return; + } + + method1156(var0, var1, 0, var6 >> 16, var5 >> 16); + var6 += var10; + var5 += var9; + var1 += var7; + } + } + + method1156(var0, var1, 0, var6 >> 16, var4 >> 16); + var6 += var10; + var4 += var8; + var1 += var7; + } + } + } else { + var5 = var4 <<= 16; + if(var1 < 0) { + var5 -= var10 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var6 <<= 16; + if(var3 < 0) { + var6 -= var9 * var3; + var3 = 0; + } + + if((var1 == var3 || var10 >= var8) && (var1 != var3 || var9 <= var8)) { + var2 -= var3; + var3 -= var1; + var1 *= var7; + + while(true) { + --var3; + if(var3 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1156(var0, var1, 0, var4 >> 16, var6 >> 16); + var6 += var9; + var4 += var8; + var1 += var7; + } + } + + method1156(var0, var1, 0, var4 >> 16, var5 >> 16); + var5 += var10; + var4 += var8; + var1 += var7; + } + } else { + var2 -= var3; + var3 -= var1; + var1 *= var7; + + while(true) { + --var3; + if(var3 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1156(var0, var1, 0, var6 >> 16, var4 >> 16); + var6 += var9; + var4 += var8; + var1 += var7; + } + } + + method1156(var0, var1, 0, var5 >> 16, var4 >> 16); + var5 += var10; + var4 += var8; + var1 += var7; + } + } + } + } else if(var2 <= var3) { + if(var3 < var1) { + var4 = var5 <<= 16; + if(var2 < 0) { + var4 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var6 <<= 16; + if(var3 < 0) { + var6 -= var10 * var3; + var3 = 0; + } + + if((var2 == var3 || var8 >= var9) && (var2 != var3 || var8 <= var10)) { + var1 -= var3; + var3 -= var2; + var2 *= var7; + + while(true) { + --var3; + if(var3 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1156(var0, var2, 0, var6 >> 16, var4 >> 16); + var4 += var8; + var6 += var10; + var2 += var7; + } + } + + method1156(var0, var2, 0, var5 >> 16, var4 >> 16); + var4 += var8; + var5 += var9; + var2 += var7; + } + } else { + var1 -= var3; + var3 -= var2; + var2 *= var7; + + while(true) { + --var3; + if(var3 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1156(var0, var2, 0, var4 >> 16, var6 >> 16); + var4 += var8; + var6 += var10; + var2 += var7; + } + } + + method1156(var0, var2, 0, var4 >> 16, var5 >> 16); + var4 += var8; + var5 += var9; + var2 += var7; + } + } + } else { + var6 = var5 <<= 16; + if(var2 < 0) { + var6 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var10 * var1; + var1 = 0; + } + + if(var8 < var9) { + var3 -= var1; + var1 -= var2; + var2 *= var7; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var3; + if(var3 < 0) { + return; + } + + method1156(var0, var2, 0, var4 >> 16, var5 >> 16); + var4 += var10; + var5 += var9; + var2 += var7; + } + } + + method1156(var0, var2, 0, var6 >> 16, var5 >> 16); + var6 += var8; + var5 += var9; + var2 += var7; + } + } else { + var3 -= var1; + var1 -= var2; + var2 *= var7; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var3; + if(var3 < 0) { + return; + } + + method1156(var0, var2, 0, var5 >> 16, var4 >> 16); + var4 += var10; + var5 += var9; + var2 += var7; + } + } + + method1156(var0, var2, 0, var5 >> 16, var6 >> 16); + var6 += var8; + var5 += var9; + var2 += var7; + } + } + } + } else if(var1 < var2) { + var5 = var6 <<= 16; + if(var3 < 0) { + var5 -= var9 * var3; + var6 -= var10 * var3; + var3 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var8 * var1; + var1 = 0; + } + + if(var9 < var10) { + var2 -= var1; + var1 -= var3; + var3 *= var7; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1156(var0, var3, 0, var5 >> 16, var4 >> 16); + var5 += var9; + var4 += var8; + var3 += var7; + } + } + + method1156(var0, var3, 0, var5 >> 16, var6 >> 16); + var5 += var9; + var6 += var10; + var3 += var7; + } + } else { + var2 -= var1; + var1 -= var3; + var3 *= var7; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1156(var0, var3, 0, var4 >> 16, var5 >> 16); + var5 += var9; + var4 += var8; + var3 += var7; + } + } + + method1156(var0, var3, 0, var6 >> 16, var5 >> 16); + var5 += var9; + var6 += var10; + var3 += var7; + } + } + } else { + var4 = var6 <<= 16; + if(var3 < 0) { + var4 -= var9 * var3; + var6 -= var10 * var3; + var3 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var8 * var2; + var2 = 0; + } + + if(var9 < var10) { + var1 -= var2; + var2 -= var3; + var3 *= var7; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1156(var0, var3, 0, var5 >> 16, var6 >> 16); + var5 += var8; + var6 += var10; + var3 += var7; + } + } + + method1156(var0, var3, 0, var4 >> 16, var6 >> 16); + var4 += var9; + var6 += var10; + var3 += var7; + } + } else { + var1 -= var2; + var2 -= var3; + var3 *= var7; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1156(var0, var3, 0, var6 >> 16, var5 >> 16); + var5 += var8; + var6 += var10; + var3 += var7; + } + } + + method1156(var0, var3, 0, var6 >> 16, var4 >> 16); + var4 += var9; + var6 += var10; + var3 += var7; + } + } + } + } + + static final void method1148(int var0, int var1, int var2) { + aBoolean849 = var0 < 0 || var0 > anInt847 || var1 < 0 || var1 > anInt847 || var2 < 0 || var2 > anInt847; + } + + private static final void method1149(int[] var0, int var1, int var2, int var3, int var4, int var5) { + if(aBoolean849) { + if(var5 > anInt847) { + var5 = anInt847; + } + + if(var4 < 0) { + var4 = 0; + } + } + + if(var4 < var5) { + var1 += var4; + var3 = var5 - var4 >> 2; + if(anInt850 == 0) { + while(true) { + --var3; + if(var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if(var3 < 0) { + return; + } + + var0[var1++] = var2; + } + } + + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + } + } else if(anInt850 == 254) { + while(true) { + --var3; + if(var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if(var3 < 0) { + return; + } + + var0[var1++] = var0[var1]; + } + } + + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + } + } else { + int var6 = anInt850; + int var7 = 256 - anInt850; + var2 = ((var2 & 16711935) * var7 >> 8 & 16711935) + ((var2 & '\uff00') * var7 >> 8 & '\uff00'); + + while(true) { + --var3; + int var8; + if(var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if(var3 < 0) { + return; + } + + var8 = var0[var1]; + var0[var1++] = var2 + ((var8 & 16711935) * var6 >> 8 & 16711935) + ((var8 & '\uff00') * var6 >> 8 & '\uff00'); + } + } + + var8 = var0[var1]; + var0[var1++] = var2 + ((var8 & 16711935) * var6 >> 8 & 16711935) + ((var8 & '\uff00') * var6 >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = var2 + ((var8 & 16711935) * var6 >> 8 & 16711935) + ((var8 & '\uff00') * var6 >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = var2 + ((var8 & 16711935) * var6 >> 8 & 16711935) + ((var8 & '\uff00') * var6 >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = var2 + ((var8 & 16711935) * var6 >> 8 & 16711935) + ((var8 & '\uff00') * var6 >> 8 & '\uff00'); + } + } + } + } + + private static final void method1150(int var0, int var1) { + int var2 = var0 * 128; + + for(int var3 = var0; var3 < var1; ++var3) { + double var4 = (double)(var3 >> 3) / 64.0D + 0.0078125D; + double var6 = (double)(var3 & 7) / 8.0D + 0.0625D; + + for(int var8 = 0; var8 < 128; ++var8) { + double var9 = (double)var8 / 128.0D; + double var11 = var9; + double var13 = var9; + double var15 = var9; + if(var6 != 0.0D) { + double var17; + if(var9 < 0.5D) { + var17 = var9 * (1.0D + var6); + } else { + var17 = var9 + var6 - var9 * var6; + } + + double var19 = 2.0D * var9 - var17; + double var21 = var4 + 0.3333333333333333D; + if(var21 > 1.0D) { + --var21; + } + + double var25 = var4 - 0.3333333333333333D; + if(var25 < 0.0D) { + ++var25; + } + + if(6.0D * var21 < 1.0D) { + var11 = var19 + (var17 - var19) * 6.0D * var21; + } else if(2.0D * var21 < 1.0D) { + var11 = var17; + } else if(3.0D * var21 < 2.0D) { + var11 = var19 + (var17 - var19) * (0.6666666666666666D - var21) * 6.0D; + } else { + var11 = var19; + } + + if(6.0D * var4 < 1.0D) { + var13 = var19 + (var17 - var19) * 6.0D * var4; + } else if(2.0D * var4 < 1.0D) { + var13 = var17; + } else if(3.0D * var4 < 2.0D) { + var13 = var19 + (var17 - var19) * (0.6666666666666666D - var4) * 6.0D; + } else { + var13 = var19; + } + + if(6.0D * var25 < 1.0D) { + var15 = var19 + (var17 - var19) * 6.0D * var25; + } else if(2.0D * var25 < 1.0D) { + var15 = var17; + } else if(3.0D * var25 < 2.0D) { + var15 = var19 + (var17 - var19) * (0.6666666666666666D - var25) * 6.0D; + } else { + var15 = var19; + } + } + + var11 = Math.pow(var11, (double)aFloat848); + var13 = Math.pow(var13, (double)aFloat848); + var15 = Math.pow(var15, (double)aFloat848); + int var27 = (int)(var11 * 256.0D); + int var18 = (int)(var13 * 256.0D); + int var28 = (int)(var15 * 256.0D); + int var20 = (var27 << 16) + (var18 << 8) + var28; + if(var20 == 0) { + var20 = 1; + } + + anIntArray834[var2++] = var20; + } + } + + } + + private static final void method1151(int var0, int var1, int var2, int var3) { + anInt847 = var2 - var0; + anInt844 = var3 - var1; + method1141(); + if(anIntArray836.length < anInt844) { + anIntArray836 = new int[Class95.method1585((byte)95, anInt844)]; + } + + int var4 = var1 * Class74.anInt1092 + var0; + + for(int var5 = 0; var5 < anInt844; ++var5) { + anIntArray836[var5] = var4; + var4 += Class74.anInt1092; + } + + } + + private static final void method1152(float var0) { + aFloat848 = var0; + aFloat848 = (float)((double)aFloat848 + (Math.random() * 0.03D - 0.015D)); + } + + static final int method1153() { + return anIntArray836[0] / Class74.anInt1092; + } + + static final void method1154(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = var4 - var3; + int var10 = var1 - var0; + int var11 = var5 - var3; + int var12 = var2 - var0; + int var13 = var7 - var6; + int var14 = var8 - var6; + int var15; + if(var2 != var1) { + var15 = (var5 - var4 << 16) / (var2 - var1); + } else { + var15 = 0; + } + + int var16; + if(var1 != var0) { + var16 = (var9 << 16) / var10; + } else { + var16 = 0; + } + + int var17; + if(var2 != var0) { + var17 = (var11 << 16) / var12; + } else { + var17 = 0; + } + + int var18 = var9 * var12 - var11 * var10; + if(var18 != 0) { + int var19 = (var13 * var12 - var14 * var10 << 8) / var18; + int var20 = (var14 * var9 - var13 * var11 << 8) / var18; + if(var0 <= var1 && var0 <= var2) { + if(var0 < anInt844) { + if(var1 > anInt844) { + var1 = anInt844; + } + + if(var2 > anInt844) { + var2 = anInt844; + } + + var6 = (var6 << 8) - var19 * var3 + var19; + if(var1 < var2) { + var5 = var3 <<= 16; + if(var0 < 0) { + var5 -= var17 * var0; + var3 -= var16 * var0; + var6 -= var20 * var0; + var0 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var15 * var1; + var1 = 0; + } + + if((var0 == var1 || var17 >= var16) && (var0 != var1 || var17 <= var15)) { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var4 >> 16, var5 >> 16, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var3 >> 16, var5 >> 16, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var5 >> 16, var4 >> 16, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var5 >> 16, var3 >> 16, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } + } else { + var4 = var3 <<= 16; + if(var0 < 0) { + var4 -= var17 * var0; + var3 -= var16 * var0; + var6 -= var20 * var0; + var0 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var15 * var2; + var2 = 0; + } + + if((var0 == var2 || var17 >= var16) && (var0 != var2 || var15 <= var16)) { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var3 >> 16, var5 >> 16, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var3 >> 16, var4 >> 16, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = anIntArray836[var0]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var5 >> 16, var3 >> 16, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var0, 0, 0, var4 >> 16, var3 >> 16, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Class74.anInt1092; + } + } + } + } + } else if(var1 <= var2) { + if(var1 < anInt844) { + if(var2 > anInt844) { + var2 = anInt844; + } + + if(var0 > anInt844) { + var0 = anInt844; + } + + var7 = (var7 << 8) - var19 * var4 + var19; + if(var2 < var0) { + var3 = var4 <<= 16; + if(var1 < 0) { + var3 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var5 <<= 16; + if(var2 < 0) { + var5 -= var17 * var2; + var2 = 0; + } + + if((var1 == var2 || var16 >= var15) && (var1 != var2 || var16 <= var17)) { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var5 >> 16, var3 >> 16, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var4 >> 16, var3 >> 16, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var2; + if(var2 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var3 >> 16, var5 >> 16, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var3 >> 16, var4 >> 16, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } + } else { + var5 = var4 <<= 16; + if(var1 < 0) { + var5 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var17 * var0; + var0 = 0; + } + + if(var16 < var15) { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var3 >> 16, var4 >> 16, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var5 >> 16, var4 >> 16, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = anIntArray836[var1]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var2; + if(var2 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var4 >> 16, var3 >> 16, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var1, 0, 0, var4 >> 16, var5 >> 16, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Class74.anInt1092; + } + } + } + } + } else if(var2 < anInt844) { + if(var0 > anInt844) { + var0 = anInt844; + } + + if(var1 > anInt844) { + var1 = anInt844; + } + + var8 = (var8 << 8) - var19 * var5 + var19; + if(var0 < var1) { + var4 = var5 <<= 16; + if(var2 < 0) { + var4 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var3 <<= 16; + if(var0 < 0) { + var3 -= var16 * var0; + var0 = 0; + } + + if(var15 < var17) { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var4 >> 16, var3 >> 16, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var4 >> 16, var5 >> 16, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var0; + if(var0 < 0) { + while(true) { + --var1; + if(var1 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var3 >> 16, var4 >> 16, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var5 >> 16, var4 >> 16, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } + } else { + var3 = var5 <<= 16; + if(var2 < 0) { + var3 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var4 <<= 16; + if(var1 < 0) { + var4 -= var16 * var1; + var1 = 0; + } + + if(var15 < var17) { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var4 >> 16, var5 >> 16, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var3 >> 16, var5 >> 16, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = anIntArray836[var2]; + + while(true) { + --var1; + if(var1 < 0) { + while(true) { + --var0; + if(var0 < 0) { + return; + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var5 >> 16, var4 >> 16, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } + + method1146(Class74.anIntArray1100, var2, 0, 0, var5 >> 16, var3 >> 16, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Class74.anInt1092; + } + } + } + } + } + } + + public static void method1155() { + anIntArray836 = null; + anIntArray834 = null; + anInterface2_838 = null; + anIntArray839 = null; + anIntArray841 = null; + anIntArray840 = null; + anIntArray851 = null; + } + + private static final void method1156(byte[] var0, int var1, int var2, int var3, int var4) { + if(var3 < var4) { + var1 += var3; + var2 = var4 - var3 >> 2; + + while(true) { + --var2; + if(var2 < 0) { + var2 = var4 - var3 & 3; + + while(true) { + --var2; + if(var2 < 0) { + return; + } + + var0[var1++] = 1; + } + } + + var0[var1++] = 1; + var0[var1++] = 1; + var0[var1++] = 1; + var0[var1++] = 1; + } + } + } + + static { + int var0; + for(var0 = 1; var0 < 512; ++var0) { + anIntArray839[var0] = '\u8000' / var0; + } + + for(var0 = 1; var0 < 2048; ++var0) { + anIntArray841[var0] = 65536 / var0; + } + + for(var0 = 0; var0 < 2048; ++var0) { + anIntArray840[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); + anIntArray851[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class52.java b/09HDscape-client/src/org/runite/jagex/Class52.java new file mode 100644 index 000000000..c42ee3e2e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class52.java @@ -0,0 +1,947 @@ +package org.runite.jagex; + +final class Class52 { + + static RSString aClass94_852 = RSString.createRSString("(U4"); + static RSString aClass94_853 = RSString.createRSString("::tele "); + int pnpcId; + private long aLong855; + static RSString aClass94_856 = RSString.createRSString("::wm0"); + private int[] lookInfo; + private int renderAnim; + static int[] anIntArray859; + private long aLong860; + static int[] anIntArray861; + private int[] anIntArray862; + private int[][] anIntArrayArray863; + boolean aBoolean864; + + + final Model method1157(int var1, int var2, int var3, int var4, AnimationDefinition var5, int var6, int var7, int var8) { + try { + if(var8 != -2012759707) { + this.pnpcId = -32; + } + + long var9 = (long)var3 | (long)(var7 << 16) | (long)var2 << 32; + Model var11 = (Model)Class80.aClass93_1131.get(var9, (byte)121); + if(null == var11) { + Model_Sub1[] var12 = new Model_Sub1[3]; + int var13 = 0; + if(!Class3_Sub13_Sub13.method231(var3, 0).method948(var8 ^ -2012744886) || !Class3_Sub13_Sub13.method231(var7, 0).method948(18991) || !Class3_Sub13_Sub13.method231(var2, 0).method948(18991)) { + return null; + } + + Model_Sub1 var14 = Class3_Sub13_Sub13.method231(var3, 0).method941(true); + if(null != var14) { + var12[var13++] = var14; + } + + var14 = Class3_Sub13_Sub13.method231(var7, 0).method941(true); + if(var14 != null) { + var12[var13++] = var14; + } + + var14 = Class3_Sub13_Sub13.method231(var2, 0).method941(true); + if(var14 != null) { + var12[var13++] = var14; + } + + var14 = new Model_Sub1(var12, var13); + + for(int var15 = 0; ~var15 > -6; ++var15) { + if(~this.anIntArray862[var15] > ~Class15.aShortArrayArray344[var15].length) { + var14.method2016(Class3_Sub25.aShortArray2548[var15], Class15.aShortArrayArray344[var15][this.anIntArray862[var15]]); + } + + if(~Class101.aShortArrayArray1429[var15].length < ~this.anIntArray862[var15]) { + var14.method2016(Class91.aShortArray1311[var15], Class101.aShortArrayArray1429[var15][this.anIntArray862[var15]]); + } + } + + var11 = var14.method2008(64, 768, -50, -10, -50); + Class80.aClass93_1131.put((byte)-111, var11, var9); + } + + if(null != var5) { + var11 = var5.method2055(var11, (byte)-86, var1, var4, var6); + } + + return var11; + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "hh.J(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + private final void method1158(int var1) { + try { + long var2 = this.aLong860; + this.aLong860 = -1L; + long[] var4 = Class120.aLongArray1631; + this.aLong860 = var4[(int)(255L & ((long)(this.renderAnim >> 8) ^ this.aLong860))] ^ this.aLong860 >>> 8; + this.aLong860 = var4[(int)(255L & (this.aLong860 ^ (long)this.renderAnim))] ^ this.aLong860 >>> 8; + + int var5; + for(var5 = 0; 12 > var5; ++var5) { + this.aLong860 = this.aLong860 >>> 8 ^ var4[(int)((this.aLong860 ^ (long)(this.lookInfo[var5] >> 24)) & 255L)]; + this.aLong860 = this.aLong860 >>> 8 ^ var4[(int)(255L & (this.aLong860 ^ (long)(this.lookInfo[var5] >> 16)))]; + this.aLong860 = var4[(int)(255L & ((long)(this.lookInfo[var5] >> 8) ^ this.aLong860))] ^ this.aLong860 >>> 8; + this.aLong860 = this.aLong860 >>> 8 ^ var4[(int)((this.aLong860 ^ (long)this.lookInfo[var5]) & 255L)]; + } + + if(var1 != 459557008) { + this.anIntArray862 = (int[])null; + } + + for(var5 = 0; var5 < 5; ++var5) { + this.aLong860 = var4[(int)(((long)this.anIntArray862[var5] ^ this.aLong860) & 255L)] ^ this.aLong860 >>> 8; + } + + this.aLong860 = var4[(int)(((long)(this.aBoolean864?1:0) ^ this.aLong860) & 255L)] ^ this.aLong860 >>> 8; + if(-1L != ~var2 && this.aLong860 != var2) { + Class148.aClass93_1911.method1518(var2, (byte)-124); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "hh.K(" + var1 + ')'); + } + } + + final void method1159(boolean var1, boolean var2) { + try { + if(!var2) { + anIntArray859 = (int[])null; + } + + this.aBoolean864 = var1; + this.method1158(459557008); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "hh.A(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1160(int var0, int var1) { + try { + if(Canvas_Sub2.loadInterface(var1, 104)) { + if(var0 > -100) { + method1168(52); + } + + Class67.method1260(23206, -1, GameObject.aClass11ArrayArray1834[var1]); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hh.B(" + var0 + ',' + var1 + ')'); + } + } + + final void method1161(int[] var1, int var2, boolean var3, int var4, int[] look, int render) { + try { + if(render != this.renderAnim) { + this.renderAnim = render; + this.anIntArrayArray863 = (int[][])null; + } + + if(null == look) { + look = new int[12]; + + for(int var7 = 0; -9 < ~var7; ++var7) { + for(int var8 = 0; Class25.anInt497 > var8; ++var8) { + Class24 var9 = Class3_Sub13_Sub13.method231(var8, 0); + if(null != var9 && !var9.aBoolean476 && ~var9.anInt466 == ~(!var3?Class3_Sub26.anIntArray2559[var7]:Class3_Sub13_Sub19.anIntArray3228[var7])) { + look[Class163.anIntArray2043[var7]] = Class3_Sub13_Sub29.bitwiseOr(Integer.MIN_VALUE, var8); + break; + } + } + } + } + + this.pnpcId = var2; + this.aBoolean864 = var3; + if(var4 == 0) { + this.anIntArray862 = var1; + this.lookInfo = look; + this.method1158(var4 + 459557008); + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "hh.G(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (look != null?"{...}":"null") + ',' + render + ')'); + } + } + + final void method1162(int var1, boolean var2, int var3) { + try { + this.anIntArray862[var1] = var3; + this.method1158(459557008); + if(var2) { + this.method1159(false, false); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "hh.L(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final int method1163(int var1) { + try { + if(var1 != -24861) { + anIntArray859 = (int[])null; + } + + return this.pnpcId != -1?305419896 + Node.method522(this.pnpcId, var1 + '\ucb05').npcId:(this.lookInfo[8] << 10) + ((this.anIntArray862[0] << 25) - -(this.anIntArray862[4] << 20)) - (-(this.lookInfo[0] << 15) - ((this.lookInfo[11] << 5) + this.lookInfo[1])); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hh.E(" + var1 + ')'); + } + } + + final void method1164(int var1, int var2, int var3) { + try { + int var4 = Class163.anIntArray2043[var1]; + if(-1 != ~this.lookInfo[var4]) { + if(Class3_Sub13_Sub13.method231(var2, var3) != null) { + this.lookInfo[var4] = Class3_Sub13_Sub29.bitwiseOr(var2, Integer.MIN_VALUE); + this.method1158(459557008); + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "hh.I(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final Model method1165(Class145[] var1, int var2, AnimationDefinition var3, AnimationDefinition var4, int var5, int var6, int var7, int var8, boolean var9, int var10, int var11) { + try { + int var12 = 102 % ((var7 - -39) / 61); + if(0 != ~this.pnpcId) { + return Node.method522(this.pnpcId, 27112).method1476(var1, var6, (byte)-128, var11, var2, var8, var10, var3, var5, var4); + } else { + int[] var15 = this.lookInfo; + long var13 = this.aLong860; + if(var4 != null && (~var4.anInt1854 <= -1 || ~var4.anInt1849 <= -1)) { + var15 = new int[12]; + + for(int var16 = 0; 12 > var16; ++var16) { + var15[var16] = this.lookInfo[var16]; + } + + if(0 <= var4.anInt1854) { + if(-65536 == ~var4.anInt1854) { + var13 ^= -4294967296L; + var15[5] = 0; + } else { + var15[5] = Class3_Sub13_Sub29.bitwiseOr(1073741824, var4.anInt1854); + var13 ^= (long)var15[5] << 32; + } + } + + if(~var4.anInt1849 <= -1) { + if(-65536 != ~var4.anInt1849) { + var15[3] = Class3_Sub13_Sub29.bitwiseOr(1073741824, var4.anInt1849); + var13 ^= (long)var15[3]; + } else { + var15[3] = 0; + var13 ^= 4294967295L; + } + } + } + + Model var37 = (Model)Class148.aClass93_1911.get(var13, (byte)121); + boolean var17; + int var23; + int var22; + int var25; + int var24; + int frame; + int var29; + int var28; + int var34; + int var32; + int var33; + int var45; + if(var37 == null) { + var17 = false; + + int var19; + for(int var18 = 0; -13 < ~var18; ++var18) { + var19 = var15[var18]; + if(~(var19 & 1073741824) != -1) { + if(!Class38.getItemDefinition(1073741823 & var19, (byte)92).method1108((byte)95, this.aBoolean864)) { + var17 = true; + } + } else if(~(var19 & Integer.MIN_VALUE) != -1 && !Class3_Sub13_Sub13.method231(1073741823 & var19, 0).method942(101)) { + var17 = true; + } + } + + if(var17) { + if(this.aLong855 != -1L) { + var37 = (Model)Class148.aClass93_1911.get(this.aLong855, (byte)121); + } + + if(null == var37) { + return null; + } + } + + if(null == var37) { + Model_Sub1[] var39 = new Model_Sub1[12]; + + int var20; + for(var19 = 0; ~var19 > -13; ++var19) { + var20 = var15[var19]; + Model_Sub1 var21; + if(~(var20 & 1073741824) == -1) { + if(-1 != ~(Integer.MIN_VALUE & var20)) { + var21 = Class3_Sub13_Sub13.method231(var20 & 1073741823, 0).method947((byte)-26); + if(null != var21) { + var39[var19] = var21; + } + } + } else { + var21 = Class38.getItemDefinition(var20 & 1073741823, (byte)115).method1117(this.aBoolean864, 80); + if(null != var21) { + var39[var19] = var21; + } + } + } + + RenderAnimationDefinition var40 = null; + if(this.renderAnim != -1) { + var40 = Class3_Sub10.getRenderAnimationDefinition(false, this.renderAnim); + } + + if(var40 != null && null != var40.anIntArrayArray359) { + for(var20 = 0; var20 < var40.anIntArrayArray359.length; ++var20) { + if(null != var40.anIntArrayArray359[var20] && null != var39[var20]) { + var45 = var40.anIntArrayArray359[var20][0]; + var22 = var40.anIntArrayArray359[var20][1]; + var23 = var40.anIntArrayArray359[var20][2]; + var25 = var40.anIntArrayArray359[var20][4]; + var24 = var40.anIntArrayArray359[var20][3]; + frame = var40.anIntArrayArray359[var20][5]; + if(null == this.anIntArrayArray863) { + this.anIntArrayArray863 = new int[var40.anIntArrayArray359.length][]; + } + + if(this.anIntArrayArray863[var20] == null) { + int[] var27 = this.anIntArrayArray863[var20] = new int[15]; + if(~var24 == -1 && -1 == ~var25 && frame == 0) { + var27[12] = -var45; + var27[13] = -var22; + var27[0] = var27[4] = var27[8] = '\u8000'; + var27[14] = -var23; + } else { + var28 = Class51.anIntArray851[var24] >> 1; + var29 = Class51.anIntArray840[var24] >> 1; + int var30 = Class51.anIntArray851[var25] >> 1; + int var31 = Class51.anIntArray840[var25] >> 1; + var32 = Class51.anIntArray851[frame] >> 1; + var33 = Class51.anIntArray840[frame] >> 1; + var27[4] = var28 * var32 + 16384 >> 15; + var27[5] = -var29; + var27[3] = 16384 + var33 * var28 >> 15; + var27[2] = 16384 + var28 * var31 >> 15; + var27[8] = var30 * var28 - -16384 >> 15; + int var35 = 16384 + var33 * var29 >> 15; + var27[0] = var31 * var35 + var32 * var30 - -16384 >> 15; + var27[14] = 16384 + var27[8] * -var23 + -var22 * var27[5] + var27[2] * -var45 >> 15; + var27[6] = var30 * var35 + (var32 * -var31 - -16384) >> 15; + var34 = 16384 + var32 * var29 >> 15; + var27[7] = 16384 + -var33 * -var31 + var34 * var30 >> 15; + var27[1] = var31 * var34 + (var30 * -var33 - -16384) >> 15; + var27[12] = -var22 * var27[3] + var27[0] * -var45 + -var23 * var27[6] - -16384 >> 15; + var27[13] = 16384 + -var22 * var27[4] + var27[1] * -var45 + -var23 * var27[7] >> 15; + } + + var27[9] = var45; + var27[11] = var23; + var27[10] = var22; + } + + if(0 != var24 || ~var25 != -1 || ~frame != -1) { + var39[var20].method2013(var24, var25, frame); + } + + if(var45 != 0 || 0 != var22 || 0 != var23) { + var39[var20].method2001(var45, var22, var23); + } + } + } + } + + Model_Sub1 var43 = new Model_Sub1(var39, var39.length); + + for(var45 = 0; 5 > var45; ++var45) { + if(Class15.aShortArrayArray344[var45].length > this.anIntArray862[var45]) { + var43.method2016(Class3_Sub25.aShortArray2548[var45], Class15.aShortArrayArray344[var45][this.anIntArray862[var45]]); + } + + if(Class101.aShortArrayArray1429[var45].length > this.anIntArray862[var45]) { + var43.method2016(Class91.aShortArray1311[var45], Class101.aShortArrayArray1429[var45][this.anIntArray862[var45]]); + } + } + + var37 = var43.method2008(64, 850, -30, -50, -30); + if(HDToolKit.highDetail) { + ((Class140_Sub1_Sub1)var37).method1920(false, false, true, true, false, false, true); + } + + if(var9) { + Class148.aClass93_1911.put((byte)-115, var37, var13); + this.aLong855 = var13; + } + } + } + + var17 = false; + boolean var38 = false; + var45 = var1 != null?var1.length:0; + boolean var42 = false; + boolean var44 = false; + + int var47; + for(var22 = 0; ~var45 < ~var22; ++var22) { + if(var1[var22] != null) { + AnimationDefinition var41 = Client.getAnimationDefinition(var1[var22].animationId, (byte)-20); + if(var41.frames != null) { + var17 = true; + Class123.aClass142Array1654[var22] = var41; + var24 = var1[var22].anInt1893; + var25 = var1[var22].anInt1891; + frame = var41.frames[var24]; + Class166.aClass3_Sub28_Sub5Array2070[var22] = Class3_Sub9.method133(frame >>> 16, 0); + frame &= '\uffff'; + GameObject.anIntArray1833[var22] = frame; + if(Class166.aClass3_Sub28_Sub5Array2070[var22] != null) { + var42 |= Class166.aClass3_Sub28_Sub5Array2070[var22].method561(frame, (byte)119); + var38 |= Class166.aClass3_Sub28_Sub5Array2070[var22].method559(1317095745, frame); + var44 |= var41.aBoolean1848; + } + + if((var41.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var25 && var25 < var41.frames.length) { + Class154.anIntArray1960[var22] = var41.duration[var24]; + Class3_Sub13_Sub11.anIntArray3139[var22] = var1[var22].anInt1897; + var47 = var41.frames[var25]; + Class75.aClass3_Sub28_Sub5Array1103[var22] = Class3_Sub9.method133(var47 >>> 16, 0); + var47 &= '\uffff'; + Class127.anIntArray1679[var22] = var47; + if(null != Class75.aClass3_Sub28_Sub5Array1103[var22]) { + var42 |= Class75.aClass3_Sub28_Sub5Array1103[var22].method561(var47, (byte)117); + var38 |= Class75.aClass3_Sub28_Sub5Array1103[var22].method559(1317095745, var47); + } + } else { + Class154.anIntArray1960[var22] = 0; + Class3_Sub13_Sub11.anIntArray3139[var22] = 0; + Class75.aClass3_Sub28_Sub5Array1103[var22] = null; + Class127.anIntArray1679[var22] = -1; + } + } + } + } + + if(!var17 && null == var4 && null == var3) { + return var37; + } else { + var22 = -1; + var23 = -1; + var24 = 0; + Class3_Sub28_Sub5 var48 = null; + Class3_Sub28_Sub5 var46 = null; + if(null != var4) { + var22 = var4.frames[var10]; + var47 = var22 >>> 16; + var46 = Class3_Sub9.method133(var47, 0); + var22 &= '\uffff'; + if(var46 != null) { + var42 |= var46.method561(var22, (byte)124); + var38 |= var46.method559(1317095745, var22); + var44 |= var4.aBoolean1848; + } + + if((var4.aBoolean1846 || Class3_Sub26.aBoolean2558) && var2 != -1 && var4.frames.length > var2) { + var23 = var4.frames[var2]; + var28 = var23 >>> 16; + var23 &= '\uffff'; + var24 = var4.duration[var10]; + if(~var47 != ~var28) { + var48 = Class3_Sub9.method133(var23 >>> 16, 0); + } else { + var48 = var46; + } + + if(null != var48) { + var42 |= var48.method561(var23, (byte)122); + var38 |= var48.method559(1317095745, var23); + } + } + } + + var47 = -1; + var28 = -1; + Class3_Sub28_Sub5 var49 = null; + Class3_Sub28_Sub5 var50 = null; + var29 = 0; + if(var3 != null) { + var47 = var3.frames[var11]; + var32 = var47 >>> 16; + var47 &= '\uffff'; + var49 = Class3_Sub9.method133(var32, 0); + if(null != var49) { + var42 |= var49.method561(var47, (byte)123); + var38 |= var49.method559(1317095745, var47); + var44 |= var3.aBoolean1848; + } + + if((var3.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var6 && var3.frames.length > var6) { + var29 = var3.duration[var11]; + var28 = var3.frames[var6]; + var33 = var28 >>> 16; + var28 &= '\uffff'; + if(~var32 != ~var33) { + var50 = Class3_Sub9.method133(var28 >>> 16, 0); + } else { + var50 = var49; + } + + if(null != var50) { + var42 |= var50.method561(var28, (byte)122); + var38 |= var50.method559(1317095745, var28); + } + } + } + + Model var51 = var37.method1894(!var38, !var42, !var44); + var33 = 0; + + for(var34 = 1; var33 < var45; var34 <<= 1) { + if(Class166.aClass3_Sub28_Sub5Array2070[var33] != null) { + var51.method1887(Class166.aClass3_Sub28_Sub5Array2070[var33], GameObject.anIntArray1833[var33], Class75.aClass3_Sub28_Sub5Array1103[var33], Class127.anIntArray1679[var33], Class3_Sub13_Sub11.anIntArray3139[var33] + -1, Class154.anIntArray1960[var33], var34, Class123.aClass142Array1654[var33].aBoolean1848, this.anIntArrayArray863[var33]); + } + + ++var33; + } + + if(null != var46 && null != var49) { + var51.method1892(var46, var22, var48, var23, var8 - 1, var24, var49, var47, var50, var28, var5 + -1, var29, var4.aBooleanArray1855, var4.aBoolean1848 | var3.aBoolean1848); + } else if(var46 == null) { + if(null != var49) { + var51.method1880(var49, var47, var50, var28, var5 - 1, var29, var3.aBoolean1848); + } + } else { + var51.method1880(var46, var22, var48, var23, var8 + -1, var24, var4.aBoolean1848); + } + + for(var33 = 0; var33 < var45; ++var33) { + Class166.aClass3_Sub28_Sub5Array2070[var33] = null; + Class75.aClass3_Sub28_Sub5Array1103[var33] = null; + Class123.aClass142Array1654[var33] = null; + } + + return var51; + } + } + } catch (RuntimeException var36) { + throw Class44.method1067(var36, "hh.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + + static final boolean method1166(int var0, byte var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, boolean var11, int var12) { + try { + int var13; + int var14; + for(var13 = 0; ~var13 > -105; ++var13) { + for(var14 = 0; var14 < 104; ++var14) { + Class84.anIntArrayArray1160[var13][var14] = 0; + Class97.anIntArrayArray1373[var13][var14] = 99999999; + } + } + + var13 = var9; + var14 = var12; + Class84.anIntArrayArray1160[var9][var12] = 99; + Class97.anIntArrayArray1373[var9][var12] = 0; + byte var15 = 0; + if(var1 != 34) { + return true; + } else { + Class3_Sub13_Sub38.anIntArray3456[var15] = var9; + int var28 = var15 + 1; + Class45.anIntArray729[var15] = var12; + int var16 = 0; + boolean var17 = false; + int[][] var18 = Class86.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304; + + int var19; + int var20; + label410: + while(~var16 != ~var28) { + var13 = Class3_Sub13_Sub38.anIntArray3456[var16]; + var14 = Class45.anIntArray729[var16]; + var16 = 1 + var16 & 4095; + if(~var6 == ~var13 && ~var14 == ~var0) { + var17 = true; + break; + } + + if(0 != var7) { + if((var7 < 5 || 10 == var7) && Class86.aClass91Array1182[WorldListCountry.localPlane].method1488(var0, var13, false, var14, var6, var7 + -1, var5, var4)) { + var17 = true; + break; + } + + if(var7 < 10 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1492(var0, -1 + var7, var6, var14, var5, var4, var13, 95)) { + var17 = true; + break; + } + } + + if(var2 != 0 && -1 != ~var10 && Class86.aClass91Array1182[WorldListCountry.localPlane].method1498(true, var6, var14, var13, var5, var2, var8, var0, var10)) { + var17 = true; + break; + } + + var19 = 1 + Class97.anIntArrayArray1373[var13][var14]; + if(var13 > 0 && Class84.anIntArrayArray1160[-1 + var13][var14] == 0 && (var18[var13 + -1][var14] & 19661070) == 0 && 0 == (19661112 & var18[-1 + var13][-1 + var5 + var14])) { + var20 = 1; + + while(true) { + if(-1 + var5 <= var20) { + Class3_Sub13_Sub38.anIntArray3456[var28] = -1 + var13; + Class45.anIntArray729[var28] = var14; + Class84.anIntArrayArray1160[-1 + var13][var14] = 2; + var28 = 4095 & 1 + var28; + Class97.anIntArrayArray1373[var13 + -1][var14] = var19; + break; + } + + if(-1 != ~(19661118 & var18[-1 + var13][var14 + var20])) { + break; + } + + ++var20; + } + } + + if(-103 < ~var13 && ~Class84.anIntArrayArray1160[1 + var13][var14] == -1 && (19661187 & var18[var13 + var5][var14]) == 0 && ~(19661280 & var18[var5 + var13][var14 + var5 + -1]) == -1) { + var20 = 1; + + while(true) { + if(var20 >= -1 + var5) { + Class3_Sub13_Sub38.anIntArray3456[var28] = var13 + 1; + Class45.anIntArray729[var28] = var14; + Class84.anIntArrayArray1160[var13 + 1][var14] = 8; + Class97.anIntArrayArray1373[var13 + 1][var14] = var19; + var28 = 4095 & var28 - -1; + break; + } + + if(~(var18[var5 + var13][var14 + var20] & 19661283) != -1) { + break; + } + + ++var20; + } + } + + if(-1 > ~var14 && 0 == Class84.anIntArrayArray1160[var13][-1 + var14] && (19661070 & var18[var13][-1 + var14]) == 0 && 0 == (19661187 & var18[-1 + var5 + var13][var14 + -1])) { + var20 = 1; + + while(true) { + if(-1 + var5 <= var20) { + Class3_Sub13_Sub38.anIntArray3456[var28] = var13; + Class45.anIntArray729[var28] = -1 + var14; + Class84.anIntArrayArray1160[var13][-1 + var14] = 1; + var28 = 4095 & 1 + var28; + Class97.anIntArrayArray1373[var13][-1 + var14] = var19; + break; + } + + if((var18[var13 + var20][var14 + -1] & 19661199) != 0) { + break; + } + + ++var20; + } + } + + if(102 > var14 && ~Class84.anIntArrayArray1160[var13][1 + var14] == -1 && ~(var18[var13][var14 + var5] & 19661112) == -1 && -1 == ~(19661280 & var18[-1 + var13 + var5][var5 + var14])) { + var20 = 1; + + while(true) { + if(~var20 <= ~(var5 + -1)) { + Class3_Sub13_Sub38.anIntArray3456[var28] = var13; + Class45.anIntArray729[var28] = var14 + 1; + Class84.anIntArrayArray1160[var13][1 + var14] = 4; + Class97.anIntArrayArray1373[var13][1 + var14] = var19; + var28 = 4095 & var28 + 1; + break; + } + + if(-1 != ~(19661304 & var18[var13 - -var20][var5 + var14])) { + break; + } + + ++var20; + } + } + + if(var13 > 0 && -1 > ~var14 && -1 == ~Class84.anIntArrayArray1160[var13 + -1][var14 + -1] && ~(var18[var13 + -1][-1 + var5 + -1 + var14] & 19661112) == -1 && 0 == (19661070 & var18[-1 + var13][var14 - 1]) && ~(var18[var5 + -1 + (var13 - 1)][-1 + var14] & 19661187) == -1) { + var20 = 1; + + while(true) { + if(var5 - 1 <= var20) { + Class3_Sub13_Sub38.anIntArray3456[var28] = var13 - 1; + Class45.anIntArray729[var28] = -1 + var14; + var28 = 4095 & var28 + 1; + Class84.anIntArrayArray1160[var13 + -1][-1 + var14] = 3; + Class97.anIntArrayArray1373[-1 + var13][var14 + -1] = var19; + break; + } + + if((var18[var13 - 1][var14 - 1 + var20] & 19661118) != 0 || 0 != (19661199 & var18[var20 + -1 + var13][-1 + var14])) { + break; + } + + ++var20; + } + } + + if(102 > var13 && ~var14 < -1 && -1 == ~Class84.anIntArrayArray1160[1 + var13][-1 + var14] && -1 == ~(19661070 & var18[1 + var13][-1 + var14]) && (var18[var5 + var13][-1 + var14] & 19661187) == 0 && (var18[var13 - -var5][-1 + var14 + var5 + -1] & 19661280) == 0) { + var20 = 1; + + while(true) { + if(~var20 <= ~(-1 + var5)) { + Class3_Sub13_Sub38.anIntArray3456[var28] = 1 + var13; + Class45.anIntArray729[var28] = -1 + var14; + var28 = 1 + var28 & 4095; + Class84.anIntArrayArray1160[var13 - -1][-1 + var14] = 9; + Class97.anIntArrayArray1373[1 + var13][-1 + var14] = var19; + break; + } + + if(-1 != ~(19661283 & var18[var13 + var5][var14 - (1 + -var20)]) || ~(19661199 & var18[var20 + (var13 - -1)][-1 + var14]) != -1) { + break; + } + + ++var20; + } + } + + if(~var13 < -1 && 102 > var14 && -1 == ~Class84.anIntArrayArray1160[-1 + var13][var14 - -1] && 0 == (19661070 & var18[var13 - 1][1 + var14]) && (19661112 & var18[-1 + var13][var14 + var5]) == 0 && 0 == (19661280 & var18[var13][var14 + var5])) { + var20 = 1; + + while(true) { + if(-1 + var5 <= var20) { + Class3_Sub13_Sub38.anIntArray3456[var28] = var13 - 1; + Class45.anIntArray729[var28] = var14 + 1; + var28 = 4095 & var28 - -1; + Class84.anIntArrayArray1160[-1 + var13][1 + var14] = 6; + Class97.anIntArrayArray1373[-1 + var13][1 + var14] = var19; + break; + } + + if((var18[var13 - 1][var14 - -1 - -var20] & 19661118) != 0 || ~(var18[var20 + -1 + var13][var5 + var14] & 19661304) != -1) { + break; + } + + ++var20; + } + } + + if(~var13 > -103 && -103 < ~var14 && Class84.anIntArrayArray1160[var13 - -1][1 + var14] == 0 && 0 == (19661112 & var18[var13 + 1][var14 + var5]) && 0 == (var18[var13 - -var5][var14 + var5] & 19661280) && ~(19661187 & var18[var5 + var13][1 + var14]) == -1) { + for(var20 = 1; var20 < -1 + var5; ++var20) { + if(-1 != ~(var18[var20 + var13 - -1][var14 - -var5] & 19661304) || 0 != (var18[var5 + var13][var20 + (var14 - -1)] & 19661283)) { + continue label410; + } + } + + Class3_Sub13_Sub38.anIntArray3456[var28] = 1 + var13; + Class45.anIntArray729[var28] = var14 - -1; + Class84.anIntArrayArray1160[1 + var13][1 + var14] = 12; + Class97.anIntArrayArray1373[1 + var13][1 + var14] = var19; + var28 = 1 + var28 & 4095; + } + } + + Class129.anInt1692 = 0; + if(!var17) { + if(!var11) { + return false; + } + + var19 = 1000; + var20 = 100; + byte var21 = 10; + + for(int var22 = var6 - var21; var22 <= var21 + var6; ++var22) { + for(int var23 = -var21 + var0; ~var23 >= ~(var0 - -var21); ++var23) { + if(var22 >= 0 && -1 >= ~var23 && ~var22 > -105 && ~var23 > -105 && -101 < ~Class97.anIntArrayArray1373[var22][var23]) { + int var24 = 0; + if(~var6 < ~var22) { + var24 = -var22 + var6; + } else if(~(var6 - (-var2 - -1)) > ~var22) { + var24 = -var2 + -var6 - -1 + var22; + } + + int var25 = 0; + if(~var23 > ~var0) { + var25 = -var23 + var0; + } else if(~(var0 + var10 + -1) > ~var23) { + var25 = var23 + 1 + -var0 + -var10; + } + + int var26 = var24 * var24 + var25 * var25; + if(~var26 > ~var19 || var26 == var19 && ~var20 < ~Class97.anIntArrayArray1373[var22][var23]) { + var20 = Class97.anIntArrayArray1373[var22][var23]; + var13 = var22; + var19 = var26; + var14 = var23; + } + } + } + } + + if(var19 == 1000) { + return false; + } + + if(~var13 == ~var9 && var12 == var14) { + return false; + } + + Class129.anInt1692 = 1; + } + + byte var29 = 0; + Class3_Sub13_Sub38.anIntArray3456[var29] = var13; + var16 = var29 + 1; + Class45.anIntArray729[var29] = var14; + + for(var19 = var20 = Class84.anIntArrayArray1160[var13][var14]; ~var13 != ~var9 || ~var12 != ~var14; var19 = Class84.anIntArrayArray1160[var13][var14]) { + if(~var20 != ~var19) { + Class3_Sub13_Sub38.anIntArray3456[var16] = var13; + var20 = var19; + Class45.anIntArray729[var16++] = var14; + } + + if(-1 == ~(2 & var19)) { + if(0 != (8 & var19)) { + --var13; + } + } else { + ++var13; + } + + if(~(var19 & 1) != -1) { + ++var14; + } else if(-1 != ~(var19 & 4)) { + --var14; + } + } + + if(0 >= var16) { + if(var3 == 1) { + return false; + } else { + return true; + } + } else { + Class3_Sub13_Sub27.method299(93, var16, var3); + return true; + } + } + } catch (RuntimeException var27) { + throw Class44.method1067(var27, "hh.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ')'); + } + } + + final Model method1167(int var1, byte var2, AnimationDefinition var3, int var4, int var5) { + try { + if(0 == ~this.pnpcId) { + Model var6 = (Model)Class80.aClass93_1131.get(this.aLong860, (byte)121); + if(var2 < 122) { + this.anIntArray862 = (int[])null; + } + + if(var6 == null) { + boolean var7 = false; + + int var9; + for(int var8 = 0; var8 < 12; ++var8) { + var9 = this.lookInfo[var8]; + if(0 == (1073741824 & var9)) { + if(~(var9 & Integer.MIN_VALUE) != -1 && !Class3_Sub13_Sub13.method231(var9 & 1073741823, 0).method948(18991)) { + var7 = true; + } + } else if(!Class38.getItemDefinition(1073741823 & var9, (byte)127).method1102(this.aBoolean864, false)) { + var7 = true; + } + } + + if(var7) { + return null; + } + + Model_Sub1[] var14 = new Model_Sub1[12]; + var9 = 0; + + int var11; + for(int var10 = 0; ~var10 > -13; ++var10) { + var11 = this.lookInfo[var10]; + Model_Sub1 var12; + if(~(1073741824 & var11) == -1) { + if(0 != (Integer.MIN_VALUE & var11)) { + var12 = Class3_Sub13_Sub13.method231(1073741823 & var11, 0).method941(true); + if(null != var12) { + var14[var9++] = var12; + } + } + } else { + var12 = Class38.getItemDefinition(var11 & 1073741823, (byte)89).method1116(this.aBoolean864, (byte)-109); + if(var12 != null) { + var14[var9++] = var12; + } + } + } + + Model_Sub1 var15 = new Model_Sub1(var14, var9); + + for(var11 = 0; ~var11 > -6; ++var11) { + if(~Class15.aShortArrayArray344[var11].length < ~this.anIntArray862[var11]) { + var15.method2016(Class3_Sub25.aShortArray2548[var11], Class15.aShortArrayArray344[var11][this.anIntArray862[var11]]); + } + + if(Class101.aShortArrayArray1429[var11].length > this.anIntArray862[var11]) { + var15.method2016(Class91.aShortArray1311[var11], Class101.aShortArrayArray1429[var11][this.anIntArray862[var11]]); + } + } + + var6 = var15.method2008(64, 768, -50, -10, -50); + Class80.aClass93_1131.put((byte)-102, var6, this.aLong860); + } + + if(var3 != null) { + var6 = var3.method2055(var6, (byte)120, var5, var1, var4); + } + + return var6; + } else { + return Node.method522(this.pnpcId, 27112).getChatModel(var3, var1, var5, -109, var4); + } + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "hh.F(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ')'); + } + } + + public static void method1168(int var0) { + try { + aClass94_853 = null; + aClass94_852 = null; + if(var0 == 8160) { + anIntArray859 = null; + aClass94_856 = null; + anIntArray861 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hh.H(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class53.java b/09HDscape-client/src/org/runite/jagex/Class53.java new file mode 100644 index 000000000..7b1f91198 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class53.java @@ -0,0 +1,173 @@ +package org.runite.jagex; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; + +import org.runite.GameLaunch; + +final class Class53 { + + static int anInt865 = -1; + static long aLong866 = 0L; + static int anInt867; + static RSString aClass94_868 = RSString.createRSString("Chargement de l(W-Bcran)2titre )2 "); + + + public static void method1169(boolean var0) { + try { + aClass94_868 = null; + if(var0) { + method1170((byte)25, 28); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hi.C(" + var0 + ')'); + } + } + + static final int method1170(byte var0, int var1) { + try { + int var2 = -77 / ((-34 - var0) / 52); + return var1 >>> 8; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hi.E(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1171(int var0, int var1, int var2, int var3, int var4, RSInterface var5, boolean var6) { + try { + int var7 = var3 * var3 + var4 * var4; + if(-360001 <= ~var7) { + int var8 = Math.min(var5.anInt168 / 2, var5.anInt193 / 2); + if(var6) { + anInt865 = -79; + } + + if(var8 * var8 >= var7) { + Class38_Sub1.method1030(var5, Class129_Sub1.aClass3_Sub28_Sub16Array2690[var0], var4, var3, var1, (byte)11, var2); + } else { + var8 -= 10; + int var9 = 2047 & Class3_Sub13_Sub8.anInt3102 + GraphicDefinition.CAMERA_DIRECTION; + int var11 = Class51.anIntArray851[var9]; + int var10 = Class51.anIntArray840[var9]; + var10 = var10 * 256 / (256 + Class164_Sub2.anInt3020); + var11 = var11 * 256 / (Class164_Sub2.anInt3020 + 256); + int var12 = var4 * var10 - -(var11 * var3) >> 16; + int var13 = -(var10 * var3) + var4 * var11 >> 16; + double var14 = Math.atan2((double)var12, (double)var13); + int var16 = (int)(Math.sin(var14) * (double)var8); + int var17 = (int)(Math.cos(var14) * (double)var8); + if(HDToolKit.highDetail) { + ((Class3_Sub28_Sub16_Sub1)Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458[var0]).method648(240, 240, (var5.anInt168 / 2 + var2 + var16) * 16, 16 * (-var17 + var5.anInt193 / 2 + var1), (int)(10430.378D * var14), 4096); + } else { + ((Class3_Sub28_Sub16_Sub2)Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458[var0]).method660(-10 + var16 + var5.anInt168 / 2 + var2, -10 + var5.anInt193 / 2 + var1 + -var17, 20, 20, 15, 15, var14, 256); + } + } + + } + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "hi.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ')'); + } + } + + static final String method1172(int var0, Throwable var1) throws IOException { + String var2; + if(var1 instanceof RuntimeException_Sub1) { + RuntimeException_Sub1 var3 = (RuntimeException_Sub1)var1; + var1 = var3.aThrowable2118; + var2 = var3.aString2117 + " | "; + } else { + var2 = ""; + } + + StringWriter var13 = new StringWriter(); + PrintWriter var4 = new PrintWriter(var13); + var1.printStackTrace(var4); + var4.close(); + String var5 = var13.toString(); + BufferedReader var6 = new BufferedReader(new StringReader(var5)); + String var7 = var6.readLine(); + + while(true) { + String var8 = var6.readLine(); + if(var8 == null) { + int var14 = -107 % ((var0 - 31) / 34); + var2 = var2 + "| " + var7; + return var2; + } + + int var9 = var8.indexOf(40); + int var10 = var8.indexOf(41, 1 + var9); + String var11; + if(0 == ~var9) { + var11 = var8; + } else { + var11 = var8.substring(0, var9); + } + + var11 = var11.trim(); + var11 = var11.substring(1 + var11.lastIndexOf(32)); + var11 = var11.substring(var11.lastIndexOf(9) + 1); + var2 = var2 + var11; + if(-1 != var9 && var10 != -1) { + int var12 = var8.indexOf(".java:", var9); + if(var12 >= 0) { + var2 = var2 + var8.substring(5 + var12, var10); + } + } + + var2 = var2 + ' '; + } + } + + static final void parseWorldList(RSByteBuffer buffer, int var1) { + try { + int var2 = buffer.getSmart(true); + Class119.countries = new WorldListCountry[var2]; + + int var3; + for(var3 = 0; var3 < var2; ++var3) { + Class119.countries[var3] = new WorldListCountry(); + Class119.countries[var3].flagId = buffer.getSmart(true); + Class119.countries[var3].name = buffer.getGJString2(105); + } + + if(var1 > -10) { + method1174((RSInterface)null, (byte)-126); + } + + Class3_Sub13_Sub4.worldListOffset = buffer.getSmart(true); + Class100.worldListArraySize = buffer.getSmart(true); + Class57.activeWorldListSize = buffer.getSmart(true); + Class117.worldList = new WorldListEntry[-Class3_Sub13_Sub4.worldListOffset + Class100.worldListArraySize + 1]; + + for(var3 = 0; var3 < Class57.activeWorldListSize; ++var3) { + int worldId = buffer.getSmart(true); + WorldListEntry var5 = Class117.worldList[worldId] = new WorldListEntry(); + var5.countryIndex = buffer.getByte((byte)-112); + var5.settings = buffer.getInt(); + var5.worldId = worldId - -Class3_Sub13_Sub4.worldListOffset; + var5.activity = buffer.getGJString2(98); + var5.address = buffer.getGJString2(79); + GameLaunch.SETTINGS.setWorld(worldId); + System.out.println(GameLaunch.SETTINGS.getWorld()); + } + Class3_Sub28_Sub7.updateStamp = buffer.getInt(); + Class30.loadedWorldList = true; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "hi.B(" + (buffer != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final RSString method1174(RSInterface var0, byte var1) { + try { + int var2 = 49 % ((var1 - 22) / 46); + return ~Client.method44(var0).method101(-69) != -1?(null != var0.aClass94_245 && var0.aClass94_245.trim(1).length(-45) != 0?var0.aClass94_245:(Class69.aBoolean1040?RuntimeException_Sub1.aClass94_2116:null)):null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hi.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class54.java b/09HDscape-client/src/org/runite/jagex/Class54.java new file mode 100644 index 000000000..95ce3fcd7 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class54.java @@ -0,0 +1,93 @@ +package org.runite.jagex; + +final class Class54 { + + static int anInt869; + int[] anIntArray870; + static RSString aClass94_871 = RSString.createRSString("hint_headicons"); + static int anInt872; + RSString[] aClass94Array873; + Class3_Sub28_Sub15 aClass3_Sub28_Sub15_874; + static RSString aClass94_875 = RSString.createRSString("Benutzen"); + static int anInt876; + int anInt877 = -1; + static CacheIndex aClass153_878; + + + static final void method1175(int var0, int var1) { + try { + Class3_Sub13_Sub30.anInt3362 = -1; + Class82.anInt1150 = -1; + if(var1 <= 55) { + method1177(-67, 28L, (byte)76, (RSString)null, -45, (short)94, (RSString)null, -125); + } + + Class3_Sub28_Sub1.anInt3536 = var0; + Class3_Sub5.method117((byte)87); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hj.D(" + var0 + ',' + var1 + ')'); + } + } + + static final boolean method1176(RSString var0, byte var1) { + try { + if(var0 != null) { + for(int var2 = 0; Class8.anInt104 > var2; ++var2) { + if(var0.equals(-121, Class70.aClass94Array1046[var2])) { + return true; + } + } + + if(var1 != -82) { + aClass94_871 = (RSString)null; + } + + if(var0.equals(var1 + -46, Class102.player.displayName)) { + return true; + } else { + return false; + } + } else { + return false; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "hj.A(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1177(int var0, long var1, byte var3, RSString var4, int var5, short var6, RSString var7, int var8) { + try { + if(var3 > -23) { + method1177(-45, 37L, (byte)-37, (RSString)null, -16, (short)110, (RSString)null, -75); + } + + if(!Class38_Sub1.aBoolean2615) { + if(Class3_Sub13_Sub34.anInt3415 < 500) { + Class140_Sub7.aClass94Array2935[Class3_Sub13_Sub34.anInt3415] = var7; + Class163_Sub2_Sub1.aClass94Array4016[Class3_Sub13_Sub34.anInt3415] = var4; + Class114.anIntArray1578[Class3_Sub13_Sub34.anInt3415] = ~var0 == 0?Class3_Sub28_Sub5.anInt3590:var0; + Class3_Sub13_Sub7.aShortArray3095[Class3_Sub13_Sub34.anInt3415] = var6; + Class3_Sub13_Sub22.aLongArray3271[Class3_Sub13_Sub34.anInt3415] = var1; + Class117.anIntArray1613[Class3_Sub13_Sub34.anInt3415] = var5; + Class27.anIntArray512[Class3_Sub13_Sub34.anInt3415] = var8; + ++Class3_Sub13_Sub34.anInt3415; + } + + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "hj.C(" + var0 + ',' + var1 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ',' + var8 + ')'); + } + } + + public static void method1178(byte var0) { + try { + int var1 = 103 / ((var0 - -13) / 52); + aClass94_875 = null; + aClass94_871 = null; + aClass153_878 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "hj.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class55.java b/09HDscape-client/src/org/runite/jagex/Class55.java new file mode 100644 index 000000000..5b29408bf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class55.java @@ -0,0 +1,370 @@ +package org.runite.jagex; + +final class Class55 { + + int anInt879; + static int anInt880; + int anInt881; + static int[] anIntArray882 = new int[200]; + private int anInt883; + + + final Class3_Sub28_Sub16_Sub2 method1179(byte var1) { + try { + Class3_Sub28_Sub16_Sub2 var2 = (Class3_Sub28_Sub16_Sub2)Class163_Sub1.aClass93_2984.get((long)this.anInt883, (byte)121); + if(null != var2) { + return var2; + } else if(var1 != 95) { + return (Class3_Sub28_Sub16_Sub2)null; + } else { + var2 = Class3_Sub28_Sub7.method562(AnimationDefinition.aClass153_1852, 0, this.anInt883, (byte)39); + if(var2 != null) { + Class163_Sub1.aClass93_2984.put((byte)-87, var2, (long)this.anInt883); + } + + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ia.F(" + var1 + ')'); + } + } + + static final void method1180(byte var0, Class140_Sub4 var1) { + try { + RenderAnimationDefinition var2 = var1.method1965(false); + var1.anInt2764 = var2.anInt368; + if(var0 >= -5) { + anIntArray882 = (int[])null; + } + + if(~var1.anInt2816 != -1) { + if(~var1.anInt2771 != 0 && 0 == var1.anInt2828) { + AnimationDefinition var3 = Client.getAnimationDefinition(var1.anInt2771, (byte)-20); + if(~var1.anInt2811 < -1 && var3.anInt1866 == 0) { + ++var1.anInt2824; + return; + } + + if(~var1.anInt2811 >= -1 && -1 == ~var3.anInt1850) { + ++var1.anInt2824; + return; + } + } + + int var18 = var1.anInt2819; + int var4 = var1.anInt2829; + int var5 = var1.anIntArray2767[-1 + var1.anInt2816] * 128 - -(var1.getSize((byte)114) * 64); + int var6 = 128 * var1.anIntArray2755[-1 + var1.anInt2816] - -(var1.getSize((byte)114) * 64); + if(-257 > ~(var5 + -var18) || -var18 + var5 < -256 || ~(var6 - var4) < -257 || -256 > var6 - var4) { + var1.anInt2819 = var5; + var1.anInt2829 = var6; + return; + } + + if(var5 <= var18) { + if(var18 <= var5) { + if(var6 <= var4) { + if(~var4 < ~var6) { + var1.anInt2806 = 0; + } + } else { + var1.anInt2806 = 1024; + } + } else if(var6 > var4) { + var1.anInt2806 = 768; + } else if(var6 < var4) { + var1.anInt2806 = 256; + } else { + var1.anInt2806 = 512; + } + } else if(var6 > var4) { + var1.anInt2806 = 1280; + } else if(var4 > var6) { + var1.anInt2806 = 1792; + } else { + var1.anInt2806 = 1536; + } + + int var7 = 2047 & -var1.anInt2785 + var1.anInt2806; + int var8 = var2.anInt389; + if(1024 < var7) { + var7 -= 2048; + } + + boolean var10 = true; + byte var11 = 1; + if(var7 >= -256 && var7 <= 256) { + var8 = var2.anInt382; + } else if(-257 >= ~var7 && 768 > var7) { + var8 = var2.anInt364; + } else if(767 >= ~var7 && -256 >= var7) { + var8 = var2.anInt390; + } + + int var9 = 4; + if(~var8 == 0) { + var8 = var2.anInt382; + } + + var1.anInt2764 = var8; + if(var1 instanceof NPC) { + var10 = ((NPC)var1).definition.aBoolean1255; + } + + if(var10) { + if(~var1.anInt2785 != ~var1.anInt2806 && 0 == ~var1.anInt2772 && ~var1.anInt2779 != -1) { + var9 = 2; + } + + if(2 < var1.anInt2816) { + var9 = 6; + } + + if(3 < var1.anInt2816) { + var9 = 8; + } + + if(-1 > ~var1.anInt2824 && ~var1.anInt2816 < -2) { + var9 = 8; + --var1.anInt2824; + } + } else { + if(1 < var1.anInt2816) { + var9 = 6; + } + + if(~var1.anInt2816 < -3) { + var9 = 8; + } + + if(-1 > ~var1.anInt2824 && var1.anInt2816 > 1) { + --var1.anInt2824; + var9 = 8; + } + } + + if(2 != var1.aByteArray2795[var1.anInt2816 - 1]) { + if(-1 == ~var1.aByteArray2795[-1 + var1.anInt2816]) { + var11 = 0; + var9 >>= 1; + } + } else { + var9 <<= 1; + var11 = 2; + } + + if(-9 >= ~var9 && -1 != var2.anInt393) { + if(~var2.anInt389 == ~var1.anInt2764 && -1 != var2.anInt386) { + var1.anInt2764 = var2.anInt386; + } else if(var1.anInt2764 == var2.anInt390 && ~var2.anInt373 != 0) { + var1.anInt2764 = var2.anInt373; + } else if(~var1.anInt2764 == ~var2.anInt364 && ~var2.anInt375 != 0) { + var1.anInt2764 = var2.anInt375; + } else { + var1.anInt2764 = var2.anInt393; + } + } else if(var2.anInt398 != -1 && ~var11 == -1) { + if(~var2.anInt389 == ~var1.anInt2764 && ~var2.anInt372 != 0) { + var1.anInt2764 = var2.anInt372; + } else if(~var2.anInt390 == ~var1.anInt2764 && -1 != var2.anInt406) { + var1.anInt2764 = var2.anInt406; + } else if(var2.anInt364 == var1.anInt2764 && -1 != var2.anInt379) { + var1.anInt2764 = var2.anInt379; + } else { + var1.anInt2764 = var2.anInt398; + } + } + + if(var2.anInt360 != -1) { + var9 <<= 7; + if(-2 == ~var1.anInt2816) { + int var13 = (~var5 <= ~var1.anInt2819?var5 - var1.anInt2819:-var5 + var1.anInt2819) << 7; + int var12 = var1.anInt2758 * var1.anInt2758; + int var14 = (~var6 > ~var1.anInt2829?-var6 + var1.anInt2829:-var1.anInt2829 + var6) << 7; + int var15 = var13 > var14?var13:var14; + int var16 = var2.anInt360 * 2 * var15; + if(~var16 <= ~var12) { + if(~var15 > ~(var12 / 2)) { + var1.anInt2758 -= var2.anInt360; + if(var1.anInt2758 < 0) { + var1.anInt2758 = 0; + } + } else if(var1.anInt2758 < var9) { + var1.anInt2758 += var2.anInt360; + if(var1.anInt2758 > var9) { + var1.anInt2758 = var9; + } + } + } else { + var1.anInt2758 /= 2; + } + } else if(~var9 < ~var1.anInt2758) { + var1.anInt2758 += var2.anInt360; + if(~var9 > ~var1.anInt2758) { + var1.anInt2758 = var9; + } + } else if(0 < var1.anInt2758) { + var1.anInt2758 -= var2.anInt360; + if(0 > var1.anInt2758) { + var1.anInt2758 = 0; + } + } + + var9 = var1.anInt2758 >> 7; + if(~var9 > -2) { + var9 = 1; + } + } + + if(~var18 > ~var5) { + var1.anInt2819 += var9; + if(~var5 > ~var1.anInt2819) { + var1.anInt2819 = var5; + } + } else if(var18 > var5) { + var1.anInt2819 -= var9; + if(~var5 < ~var1.anInt2819) { + var1.anInt2819 = var5; + } + } + + if(var4 >= var6) { + if(var6 < var4) { + var1.anInt2829 -= var9; + if(var6 > var1.anInt2829) { + var1.anInt2829 = var6; + } + } + } else { + var1.anInt2829 += var9; + if(~var1.anInt2829 < ~var6) { + var1.anInt2829 = var6; + } + } + + if(~var1.anInt2819 == ~var5 && var6 == var1.anInt2829) { + --var1.anInt2816; + if(0 < var1.anInt2811) { + --var1.anInt2811; + } + } + } else { + var1.anInt2824 = 0; + } + + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "ia.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method1181(byte var0) { + try { + anIntArray882 = null; + if(var0 != -118) { + anIntArray882 = (int[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ia.E(" + var0 + ')'); + } + } + + final void method1182(RSByteBuffer var1, int var2, byte var3) { + try { + if(var3 < 75) { + this.method1182((RSByteBuffer)null, -111, (byte)47); + } + + while(true) { + int var4 = var1.getByte((byte)-89); + if(-1 == ~var4) { + return; + } + + this.method1183(-18426, var2, var4, var1); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ia.G(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + private final void method1183(int var1, int var2, int var3, RSByteBuffer var4) { + try { + if(var1 != -18426) { + this.anInt881 = -82; + } + + if(-2 != ~var3) { + if(2 == var3) { + this.anInt881 = var4.getByte((byte)-80); + this.anInt879 = var4.getByte((byte)-109); + } + } else { + this.anInt883 = var4.getShort(1); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ia.D(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final int method1184(int var0, byte var1) { + try { + int var2 = 91 / ((var1 - 28) / 39); + int var3 = var0 & 63; + int var4 = (var0 & 217) >> 6; + if(~var3 != -19) { + if(-20 == ~var3 || ~var3 == -22) { + if(var4 == 0) { + return 16; + } + + if(1 == var4) { + return 32; + } + + if(var4 == 2) { + return 64; + } + + if(-4 == ~var4) { + return 128; + } + } + } else { + if(0 == var4) { + return 1; + } + + if(-2 == ~var4) { + return 2; + } + + if(-3 == ~var4) { + return 4; + } + + if(3 == var4) { + return 8; + } + } + + return 0; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ia.A(" + var0 + ',' + var1 + ')'); + } + } + + static final int method1185(int var0) { + try { + if(var0 != 6098) { + method1180((byte)-98, (Class140_Sub4)null); + } + + return 2; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ia.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class56.java b/09HDscape-client/src/org/runite/jagex/Class56.java new file mode 100644 index 000000000..5923c82dd --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class56.java @@ -0,0 +1,227 @@ +package org.runite.jagex; + +final class Class56 { + + static Class3_Sub26 aClass3_Sub26_884 = new Class3_Sub26(0, 0); + static Class47 aClass47_885 = new Class47(128); + static RSInterface aClass11_886 = null; + static int[] localPlayerIndexes = new int[2048]; + static RSString aClass94_888 = RSString.createRSString(""); + static int anInt889; + static Class106[] aClass106Array890; + + static RSString aClass94_892 = RSString.createRSString(" )2> "); + static int anInt893 = 0; + private static RSString aClass94_894 = RSString.createRSString("Walk here"); +static RSString aClass94_891 = aClass94_894; + + static final int method1186(int var0, int var1) { + try { + double var2 = (double)(255 & var1 >> 16) / 256.0D; + double var4 = (double)(255 & var1 >> 8) / 256.0D; + double var12 = 0.0D; + double var6 = (double)(255 & var1) / 256.0D; + double var8 = var2; + double var14 = (double)var0; + double var10 = var2; + if(var2 > var4) { + var8 = var4; + } + + if(var6 < var8) { + var8 = var6; + } + + if(var4 > var2) { + var10 = var4; + } + + if(var6 > var10) { + var10 = var6; + } + + double var16 = (var8 + var10) / 2.0D; + if(var8 != var10) { + if(0.5D > var16) { + var14 = (-var8 + var10) / (var8 + var10); + } + + if(var16 >= 0.5D) { + var14 = (-var8 + var10) / (2.0D - var10 - var8); + } + + if(var10 == var2) { + var12 = (var4 - var6) / (-var8 + var10); + } else if(var4 == var10) { + var12 = 2.0D + (-var2 + var6) / (var10 - var8); + } else if(var10 == var6) { + var12 = 4.0D + (-var4 + var2) / (-var8 + var10); + } + } + + int var19 = (int)(var14 * 256.0D); + int var20 = (int)(256.0D * var16); + var12 /= 6.0D; + if(0 > var20) { + var20 = 0; + } else if(~var20 < -256) { + var20 = 255; + } + + int var18 = (int)(var12 * 256.0D); + if(~var19 <= -1) { + if(var19 > 255) { + var19 = 255; + } + } else { + var19 = 0; + } + + if(-244 <= ~var20) { + if(~var20 >= -218) { + if(-193 > ~var20) { + var19 >>= 2; + } else if(~var20 < -180) { + var19 >>= 1; + } + } else { + var19 >>= 3; + } + } else { + var19 >>= 4; + } + + return (var18 >> 2 << 10) + (var19 >> 5 << 7) + (var20 >> 1); + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "ib.A(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1187(int var0) { + try { + if(var0 != 30351) { + method1189(-73, -127, -26, 43, 67, 125, 38, 80, (GameObject)null, -92, true, 27L); + } + + aClass94_891 = null; + aClass94_892 = null; + aClass11_886 = null; + localPlayerIndexes = null; + aClass94_894 = null; + aClass94_888 = null; + aClass47_885 = null; + aClass106Array890 = null; + aClass3_Sub26_884 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ib.B(" + var0 + ')'); + } + } + + static final void method1188(int var0) { + try { + Class149.anIntArray1920 = null; + Class38_Sub1.anIntArrayArrayArray2609 = (int[][][])null; + Class3_Sub18.anIntArray2469 = null; + Class93.aByteArrayArrayArray1328 = (byte[][][])null; + PacketParser.aByteArrayArrayArray81 = (byte[][][])null; + Class67.aByteArrayArrayArray1014 = (byte[][][])null; + Class139.aByteArrayArrayArray1828 = (byte[][][])null; + Class3_Sub13_Sub36.aByteArrayArrayArray3430 = (byte[][][])null; + Class80.anIntArray1138 = null; + if(var0 >= -60) { + aClass94_891 = (RSString)null; + } + + Class129.anIntArray1695 = null; + Class3_Sub31.anIntArray2606 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ib.D(" + var0 + ')'); + } + } + + static final boolean method1189(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, GameObject var8, int var9, boolean var10, long var11) { + boolean var13 = Class44.anIntArrayArrayArray723 == Class3_Sub28_Sub7.anIntArrayArrayArray3605; + int var14 = 0; + + int var16; + for(int var15 = var1; var15 < var1 + var3; ++var15) { + for(var16 = var2; var16 < var2 + var4; ++var16) { + if(var15 < 0 || var16 < 0 || var15 >= IOHandler.anInt1234 || var16 >= Class3_Sub13_Sub15.anInt3179) { + return false; + } + + Class3_Sub2 var17 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var15][var16]; + if(var17 != null && var17.anInt2223 >= 5) {//@splinter + return false; + } + } + } + + Class25 var20 = new Class25(); + var20.aLong498 = var11; + var20.anInt493 = var0; + var20.anInt482 = var5; + var20.anInt484 = var6; + var20.anInt489 = var7; + var20.aClass140_479 = var8; + var20.anInt496 = var9; + var20.anInt483 = var1; + var20.anInt478 = var2; + var20.anInt495 = var1 + var3 - 1; + var20.anInt481 = var2 + var4 - 1; + + int var21; + for(var16 = var1; var16 < var1 + var3; ++var16) { + for(var21 = var2; var21 < var2 + var4; ++var21) { + int var18 = 0; + if(var16 > var1) { + ++var18; + } + + if(var16 < var1 + var3 - 1) { + var18 += 4; + } + + if(var21 > var2) { + var18 += 8; + } + + if(var21 < var2 + var4 - 1) { + var18 += 2; + } + + for(int var19 = var0; var19 >= 0; --var19) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var19][var16][var21] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var19][var16][var21] = new Class3_Sub2(var19, var16, var21); + } + } + + Class3_Sub2 var22 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var16][var21]; + var22.aClass25Array2221[var22.anInt2223] = var20; + var22.anIntArray2237[var22.anInt2223] = var18; + var22.anInt2228 |= var18; + ++var22.anInt2223; + if(var13 && Class3_Sub13_Sub9.anIntArrayArray3115[var16][var21] != 0) { + var14 = Class3_Sub13_Sub9.anIntArrayArray3115[var16][var21]; + } + } + } + + if(var13 && var14 != 0) { + for(var16 = var1; var16 < var1 + var3; ++var16) { + for(var21 = var2; var21 < var2 + var4; ++var21) { + if(Class3_Sub13_Sub9.anIntArrayArray3115[var16][var21] == 0) { + Class3_Sub13_Sub9.anIntArrayArray3115[var16][var21] = var14; + } + } + } + } + + if(var10) { + AnimationDefinition.aClass25Array1868[Class3_Sub13_Sub5.anInt3070++] = var20; + } + + return true; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class57.java b/09HDscape-client/src/org/runite/jagex/Class57.java new file mode 100644 index 000000000..1e937a95d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class57.java @@ -0,0 +1,78 @@ +package org.runite.jagex; + +final class Class57 { + + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_895; + int anInt896 = 0; + static RSString aClass94_897 = RSString.createRSString("Liste des mises -9 jour charg-Be"); + static int[] anIntArray898 = new int[2500]; + int anInt899 = 2048; + static int anInt900; + static RSString aClass94_901 = RSString.createRSString("Ihre Ignorieren)2Liste ist voll)1 Sie k-Onnen nur 100 Spieler darauf eintragen)3"); + static int anInt902 = 100; + static int anInt903; + static int[] anIntArray904 = new int[200]; + static RSString aClass94_905 = RSString.createRSString("Sprites charg-Bs"); + static int activeWorldListSize; + int anInt907 = 0; + int anInt908 = 2048; + + + final void method1190(int var1, RSByteBuffer var2, int var3) { + try { + while(true) { + int var4 = var2.getByte((byte)-88); + if(var4 == 0) { + if(var1 != 2) { + aClass94_905 = (RSString)null; + } + + return; + } + + this.method1191(var4, var2, var3, true); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ic.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + private final void method1191(int var1, RSByteBuffer var2, int var3, boolean var4) { + try { + if(1 != var1) { + if(var1 == 2) { + this.anInt908 = var2.getShort(1); + } else if(-4 == ~var1) { + this.anInt899 = var2.getShort(1); + } else if(4 == var1) { + this.anInt907 = var2.getShort((byte)46); + } + } else { + this.anInt896 = var2.getByte((byte)-78); + } + + if(!var4) { + method1192((byte)123); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ic.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method1192(byte var0) { + try { + aClass94_897 = null; + anIntArray898 = null; + aClass94_901 = null; + anIntArray904 = null; + aClass94_905 = null; + if(var0 == -86) { + aClass3_Sub28_Sub16_895 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ic.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class58.java b/09HDscape-client/src/org/runite/jagex/Class58.java new file mode 100644 index 000000000..ce5957789 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class58.java @@ -0,0 +1,154 @@ +package org.runite.jagex; +import java.awt.Component; + +import org.runite.Configurations; + +final class Class58 { + + static int anInt909 = -1; + static RSString aClass94_910 = RSString.createRSString("::fpson"); + static int[][][] anIntArrayArrayArray911 = new int[2][][]; + static int[] anIntArray912 = new int[14]; + static boolean aBoolean913 = false; + static int[][][] anIntArrayArrayArray914; + static Interface4 anInterface4_915 = null; + static int anInt916; + static Class66 aClass66_917; + + + public static void method1193(int var0) { + try { + anInterface4_915 = null; + anIntArrayArrayArray911 = (int[][][])null; + anIntArrayArrayArray914 = (int[][][])null; + aClass66_917 = null; + anIntArray912 = null; + if(var0 != -26723) { + anIntArrayArrayArray914 = (int[][][])((int[][][])null); + } + + aClass94_910 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "id.C(" + var0 + ')'); + } + } + + static final void method1194(int var0) { + try { + if(var0 == -16385) { + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2153((byte)-34); + } + + if(null != WorldListEntry.aClass155_2627) { + WorldListEntry.aClass155_2627.method2153((byte)-34); + } + + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "id.A(" + var0 + ')'); + } + } + + static final Class155 method1195(int var0, Signlink var1, Component var2, int var3, int var4) { + try { + if(Class21.anInt443 == 0) { + throw new IllegalStateException(); + } else if(0 <= var3 && 2 > var3) { + if(-257 < ~var0) { + var0 = 256; + } + + try { + Class155 var9 = (Class155)Class.forName(Configurations.PACKAGE_JAGEX + ".Class155_Sub2").newInstance(); + var9.anInt1989 = var0; + var9.anIntArray1975 = new int[(!RSString.aBoolean2150?1:2) * 256]; + var9.method2164(var2); + var9.anInt1990 = (var0 & -1024) - -1024; + if(-16385 > ~var9.anInt1990) { + var9.anInt1990 = 16384; + } + + var9.method2150(var9.anInt1990); + if(Class3_Sub24_Sub4.anInt3507 > 0 && null == Class38_Sub1.aClass15_2613) { + Class38_Sub1.aClass15_2613 = new Class15(); + Class38_Sub1.aClass15_2613.aClass87_350 = var1; + var1.method1451(0, Class3_Sub24_Sub4.anInt3507, Class38_Sub1.aClass15_2613); + } + + if(Class38_Sub1.aClass15_2613 != null) { + if(null != Class38_Sub1.aClass15_2613.aClass155Array352[var3]) { + throw new IllegalArgumentException(); + } + + Class38_Sub1.aClass15_2613.aClass155Array352[var3] = var9; + } + + return var9; + } catch (Throwable var7) { + if(var4 != 14) { + anInt909 = 124; + } + + try { + Class155_Sub1 var5 = new Class155_Sub1(var1, var3); + var5.anIntArray1975 = new int[256 * (RSString.aBoolean2150?2:1)]; + var5.anInt1989 = var0; + var5.method2164(var2); + var5.anInt1990 = 16384; + var5.method2150(var5.anInt1990); + if(~Class3_Sub24_Sub4.anInt3507 < -1 && null == Class38_Sub1.aClass15_2613) { + Class38_Sub1.aClass15_2613 = new Class15(); + Class38_Sub1.aClass15_2613.aClass87_350 = var1; + var1.method1451(var4 ^ 14, Class3_Sub24_Sub4.anInt3507, Class38_Sub1.aClass15_2613); + } + + if(Class38_Sub1.aClass15_2613 != null) { + if(Class38_Sub1.aClass15_2613.aClass155Array352[var3] != null) { + throw new IllegalArgumentException(); + } + + Class38_Sub1.aClass15_2613.aClass155Array352[var3] = var5; + } + + return var5; + } catch (Throwable var6) { + return new Class155(); + } + } + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "id.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1196(int var0, int var1, byte var2, int var3, int var4) { + try { + Class3_Sub28_Sub18.anInt3765 = var4; + if(var2 != 111) { + aBoolean913 = true; + } + + Class101.anInt1425 = var1; + Class159.anInt2020 = var0; + Class57.anInt902 = var3; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "id.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1197(CacheIndex var0, byte var1) { + try { + if(var1 != 69) { + method1195(-53, (Signlink)null, (Component)null, 79, 12); + } + + Class46.aClass153_737 = var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "id.E(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class59.java b/09HDscape-client/src/org/runite/jagex/Class59.java new file mode 100644 index 000000000..e5c24494f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class59.java @@ -0,0 +1,292 @@ +package org.runite.jagex; + +final class Class59 { + + private int[] anIntArray918; + private static boolean[] aBooleanArray919; + private int[][] anIntArrayArray920; + private int[] anIntArray921; + private int[] anIntArray922; + private int anInt923; + private int[] anIntArray924; + private static int[] anIntArray925; + private int[] anIntArray926; + private static int[] anIntArray927; + private static int[] anIntArray928 = new int[]{256, 128, 86, 64}; + private static float[] aFloatArray929 = new float[]{1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F}; + + + private final void method1198(int var1, int var2, int var3, int var4, float[] var5, int var6) { + int var7 = var4 - var2; + int var8 = var3 - var1; + int var9 = var7 < 0?-var7:var7; + int var10 = var7 / var8; + int var11 = var2; + int var12 = 0; + int var13 = var7 < 0?var10 - 1:var10 + 1; + var9 -= (var10 < 0?-var10:var10) * var8; + var5[var1] *= aFloatArray929[var2]; + if(var3 > var6) { + var3 = var6; + } + + for(int var14 = var1 + 1; var14 < var3; ++var14) { + var12 += var9; + if(var12 >= var8) { + var12 -= var8; + var11 += var13; + } else { + var11 += var10; + } + + var5[var14] *= aFloatArray929[var11]; + } + + } + + private final void method1199(int var1, int var2) { + if(var1 < var2) { + int var3 = var1; + int var4 = anIntArray925[var1]; + int var5 = anIntArray927[var1]; + boolean var6 = aBooleanArray919[var1]; + + for(int var7 = var1 + 1; var7 <= var2; ++var7) { + int var8 = anIntArray925[var7]; + if(var8 < var4) { + anIntArray925[var3] = var8; + anIntArray927[var3] = anIntArray927[var7]; + aBooleanArray919[var3] = aBooleanArray919[var7]; + ++var3; + anIntArray925[var7] = anIntArray925[var3]; + anIntArray927[var7] = anIntArray927[var3]; + aBooleanArray919[var7] = aBooleanArray919[var3]; + } + } + + anIntArray925[var3] = var4; + anIntArray927[var3] = var5; + aBooleanArray919[var3] = var6; + this.method1199(var1, var3 - 1); + this.method1199(var3 + 1, var2); + } + } + + private final int method1200(int var1, int var2, int var3, int var4, int var5) { + int var6 = var4 - var2; + int var7 = var3 - var1; + int var8 = var6 < 0?-var6:var6; + int var9 = var8 * (var5 - var1); + int var10 = var9 / var7; + return var6 < 0?var2 - var10:var2 + var10; + } + + private static final int method1201(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MIN_VALUE; + + for(int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if(var6 < var2 && var6 > var4) { + var3 = var5; + var4 = var6; + } + } + + return var3; + } + + final void method1202(float[] var1, int var2) { + int var3 = this.anIntArray921.length; + int var4 = anIntArray928[this.anInt923 - 1]; + aBooleanArray919[0] = aBooleanArray919[1] = true; + + int var5; + int var6; + int var7; + int var8; + int var9; + for(var5 = 2; var5 < var3; ++var5) { + var6 = method1201(anIntArray925, var5); + var7 = method1203(anIntArray925, var5); + var8 = this.method1200(anIntArray925[var6], anIntArray927[var6], anIntArray925[var7], anIntArray927[var7], anIntArray925[var5]); + var9 = anIntArray927[var5]; + int var10 = var4 - var8; + int var12 = (var10 < var8?var10:var8) << 1; + if(var9 != 0) { + aBooleanArray919[var6] = aBooleanArray919[var7] = true; + aBooleanArray919[var5] = true; + if(var9 >= var12) { + anIntArray927[var5] = var10 > var8?var9 - var8 + var8:var8 - var9 + var10 - 1; + } else { + anIntArray927[var5] = (var9 & 1) != 0?var8 - (var9 + 1) / 2:var8 + var9 / 2; + } + } else { + aBooleanArray919[var5] = false; + anIntArray927[var5] = var8; + } + } + + this.method1199(0, var3 - 1); + var5 = 0; + var6 = anIntArray927[0] * this.anInt923; + + for(var7 = 1; var7 < var3; ++var7) { + if(aBooleanArray919[var7]) { + var8 = anIntArray925[var7]; + var9 = anIntArray927[var7] * this.anInt923; + this.method1198(var5, var6, var8, var9, var1, var2); + if(var8 >= var2) { + return; + } + + var5 = var8; + var6 = var9; + } + } + + float var13 = aFloatArray929[var6]; + + for(var8 = var5; var8 < var2; ++var8) { + var1[var8] *= var13; + } + + } + + private static final int method1203(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MAX_VALUE; + + for(int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if(var6 > var2 && var6 < var4) { + var3 = var5; + var4 = var6; + } + } + + return var3; + } + + Class59() { + int var1 = Class3_Sub14.method368(16); + if(var1 != 1) { + throw new RuntimeException(); + } else { + int var2 = Class3_Sub14.method368(5); + int var3 = 0; + this.anIntArray922 = new int[var2]; + + int var4; + int var5; + for(var4 = 0; var4 < var2; ++var4) { + var5 = Class3_Sub14.method368(4); + this.anIntArray922[var4] = var5; + if(var5 >= var3) { + var3 = var5 + 1; + } + } + + this.anIntArray926 = new int[var3]; + this.anIntArray924 = new int[var3]; + this.anIntArray918 = new int[var3]; + this.anIntArrayArray920 = new int[var3][]; + + int var7; + for(var4 = 0; var4 < var3; ++var4) { + this.anIntArray926[var4] = Class3_Sub14.method368(3) + 1; + var5 = this.anIntArray924[var4] = Class3_Sub14.method368(2); + if(var5 != 0) { + this.anIntArray918[var4] = Class3_Sub14.method368(8); + } + + var5 = 1 << var5; + int[] var6 = new int[var5]; + this.anIntArrayArray920[var4] = var6; + + for(var7 = 0; var7 < var5; ++var7) { + var6[var7] = Class3_Sub14.method368(8) - 1; + } + } + + this.anInt923 = Class3_Sub14.method368(2) + 1; + var4 = Class3_Sub14.method368(4); + var5 = 2; + + int var9; + for(var9 = 0; var9 < var2; ++var9) { + var5 += this.anIntArray926[this.anIntArray922[var9]]; + } + + this.anIntArray921 = new int[var5]; + this.anIntArray921[0] = 0; + this.anIntArray921[1] = 1 << var4; + var5 = 2; + + for(var9 = 0; var9 < var2; ++var9) { + var7 = this.anIntArray922[var9]; + + for(int var8 = 0; var8 < this.anIntArray926[var7]; ++var8) { + this.anIntArray921[var5++] = Class3_Sub14.method368(var4); + } + } + + if(anIntArray925 == null || anIntArray925.length < var5) { + anIntArray925 = new int[var5]; + anIntArray927 = new int[var5]; + aBooleanArray919 = new boolean[var5]; + } + + } + } + + public static void method1204() { + anIntArray928 = null; + aFloatArray929 = null; + anIntArray925 = null; + anIntArray927 = null; + aBooleanArray919 = null; + } + + final boolean method1205() { + boolean var1 = Class3_Sub14.method364() != 0; + if(!var1) { + return false; + } else { + int var2 = this.anIntArray921.length; + + int var3; + for(var3 = 0; var3 < var2; ++var3) { + anIntArray925[var3] = this.anIntArray921[var3]; + } + + var3 = anIntArray928[this.anInt923 - 1]; + int var4 = Class3_Sub26.method513(var3 - 1, 4); + anIntArray927[0] = Class3_Sub14.method368(var4); + anIntArray927[1] = Class3_Sub14.method368(var4); + int var5 = 2; + + for(int var6 = 0; var6 < this.anIntArray922.length; ++var6) { + int var7 = this.anIntArray922[var6]; + int var8 = this.anIntArray926[var7]; + int var9 = this.anIntArray924[var7]; + int var10 = (1 << var9) - 1; + int var11 = 0; + if(var9 > 0) { + var11 = Class3_Sub14.aClass71Array2406[this.anIntArray918[var7]].method1290(); + } + + for(int var12 = 0; var12 < var8; ++var12) { + int var13 = this.anIntArrayArray920[var7][var11 & var10]; + var11 >>>= var9; + anIntArray927[var5++] = var13 >= 0?Class3_Sub14.aClass71Array2406[var13].method1290():0; + } + } + + return true; + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class6.java b/09HDscape-client/src/org/runite/jagex/Class6.java new file mode 100644 index 000000000..c77be2105 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class6.java @@ -0,0 +1,15 @@ +package org.runite.jagex; + +final class Class6 { + + short aShort91; + short aShort92; + short aShort93; + short aShort94; + short aShort95; + short aShort96; + short aShort97; + boolean aBoolean98 = false; + + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class60.java b/09HDscape-client/src/org/runite/jagex/Class60.java new file mode 100644 index 000000000..20ea25aff --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class60.java @@ -0,0 +1,76 @@ +package org.runite.jagex; + +final class Class60 { + + static int anInt930; + private static RSString aClass94_931 = RSString.createRSString("Continue"); + static int anInt932; + static RSString aClass94_933 = RSString.createRSString("Ladevorgang )2 bitte warten Sie)3"); + static int anInt934; + static RSString aClass94_935 = aClass94_931; + static int anInt936; + + + public static void method1206(byte var0) { + try { + int var1 = 50 % ((-41 - var0) / 57); + aClass94_931 = null; + aClass94_933 = null; + aClass94_935 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ig.C(" + var0 + ')'); + } + } + + static final void method1207(int var0) { + try { + for(int var1 = 0; ~var1 > ~Class163.localNPCCount; ++var1) { + int var2 = Class15.localNPCIndexes[var1]; + NPC var3 = Class3_Sub13_Sub24.npcs[var2]; + if(null != var3) { + OutputStream_Sub1.method68(var3.definition.size, 2279, var3); + } + } + + if(var0 > -4) { + method1208((byte)25, 108); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ig.A(" + var0 + ')'); + } + } + + static final void method1208(byte var0, int var1) { + try { + if(-1 != var1) { + if(Class130.aBooleanArray1703[var1]) { + Class3_Sub13_Sub29.aClass153_3361.method2128(7561, var1); + if(null != GameObject.aClass11ArrayArray1834[var1]) { + boolean var2 = true; + + for(int var3 = 0; GameObject.aClass11ArrayArray1834[var1].length > var3; ++var3) { + if(GameObject.aClass11ArrayArray1834[var1][var3] != null) { + if(~GameObject.aClass11ArrayArray1834[var1][var3].type == -3) { + var2 = false; + } else { + GameObject.aClass11ArrayArray1834[var1][var3] = null; + } + } + } + + int var4 = 43 / ((-70 - var0) / 47); + if(var2) { + GameObject.aClass11ArrayArray1834[var1] = null; + } + + Class130.aBooleanArray1703[var1] = false; + } + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ig.B(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class61.java b/09HDscape-client/src/org/runite/jagex/Class61.java new file mode 100644 index 000000000..7cbd263fe --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class61.java @@ -0,0 +1,309 @@ +package org.runite.jagex; + +final class Class61 { + + static int anInt937; + static int anInt938; + static Class93 aClass93_939 = new Class93(4); + Class3 aClass3_940 = new Class3(); + private Class3 aClass3_941; + + + static final Class70 method1209(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + Class70 var4 = var3.aClass70_2234; + var3.aClass70_2234 = null; + return var4; + } + } + + static final Class3_Sub28_Sub9 method1210(int var0, int var1) { + try { + Class3_Sub28_Sub9 var2 = (Class3_Sub28_Sub9)Class163.aClass47_2041.method1092((long)var1, 1400); + if(var0 != 64) { + method1218(false, -77, -82); + } + + if(null == var2) { + byte[] var3 = Class3_Sub13_Sub7.aClass153_3098.getFile(11, (byte)-122, var1); + var2 = new Class3_Sub28_Sub9(); + if(var3 != null) { + var2.method583(207, new RSByteBuffer(var3)); + } + + Class163.aClass47_2041.method1097(var2, (long)var1, (byte)98); + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ih.G(" + var0 + ',' + var1 + ')'); + } + } + + final void method1211(int var1) { + try { + while(true) { + Class3 var2 = this.aClass3_940.aClass3_74; + if(var2 == this.aClass3_940) { + if(var1 > -47) { + this.aClass3_940 = (Class3)null; + } + + this.aClass3_941 = null; + return; + } + + var2.method86(-1024); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.C(" + var1 + ')'); + } + } + + final Class3 method1212(int var1) { + try { + Class3 var2 = this.aClass3_940.aClass3_76; + if(var1 != 2) { + method1213(56, (Class3_Sub11[])null); + } + + if(this.aClass3_940 == var2) { + this.aClass3_941 = null; + return null; + } else { + this.aClass3_941 = var2.aClass3_76; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.B(" + var1 + ')'); + } + } + + static final void method1213(int var0, Class3_Sub11[] var1) { + Class3_Sub23.aClass3_Sub11ArrayArray2542[var0] = var1; + } + + static final void method1214(int var0, int var1, int var2, int var3, int var4) { + try { + Class3_Sub9 var5; + for(var5 = (Class3_Sub9)Class3.aClass61_78.method1222(); var5 != null; var5 = (Class3_Sub9)Class3.aClass61_78.method1221()) { + Class3_Sub28_Sub11.method606(var1, var5, var3, var0, var2, 126); + } + + byte var6; + RenderAnimationDefinition var7; + int var8; + for(var5 = (Class3_Sub9)IOHandler.aClass61_1242.method1222(); var5 != null; var5 = (Class3_Sub9)IOHandler.aClass61_1242.method1221()) { + var6 = 1; + var7 = var5.aClass140_Sub4_Sub2_2324.method1965(false); + if(~var7.anInt368 != ~var5.aClass140_Sub4_Sub2_2324.anInt2764) { + if(~var7.anInt393 != ~var5.aClass140_Sub4_Sub2_2324.anInt2764 && ~var7.anInt386 != ~var5.aClass140_Sub4_Sub2_2324.anInt2764 && ~var7.anInt375 != ~var5.aClass140_Sub4_Sub2_2324.anInt2764 && ~var7.anInt373 != ~var5.aClass140_Sub4_Sub2_2324.anInt2764) { + if(var7.anInt398 == var5.aClass140_Sub4_Sub2_2324.anInt2764 || var7.anInt372 == var5.aClass140_Sub4_Sub2_2324.anInt2764 || var5.aClass140_Sub4_Sub2_2324.anInt2764 == var7.anInt379 || ~var7.anInt406 == ~var5.aClass140_Sub4_Sub2_2324.anInt2764) { + var6 = 3; + } + } else { + var6 = 2; + } + } else { + var6 = 0; + } + + if(var5.anInt2322 != var6) { + var8 = ISAACCipher.method1232(var5.aClass140_Sub4_Sub2_2324, -1); + if(var8 != var5.anInt2332) { + if(var5.aClass3_Sub24_Sub1_2312 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2312); + var5.aClass3_Sub24_Sub1_2312 = null; + } + + var5.anInt2332 = var8; + } + + var5.anInt2322 = var6; + } + + var5.anInt2326 = var5.aClass140_Sub4_Sub2_2324.anInt2819; + var5.anInt2321 = var5.aClass140_Sub4_Sub2_2324.anInt2819 + var5.aClass140_Sub4_Sub2_2324.getSize((byte)114) * 64; + var5.anInt2308 = var5.aClass140_Sub4_Sub2_2324.anInt2829; + var5.anInt2307 = var5.aClass140_Sub4_Sub2_2324.anInt2829 + var5.aClass140_Sub4_Sub2_2324.getSize((byte)114) * 64; + Class3_Sub28_Sub11.method606(var1, var5, var3, var0, var2, var4 ^ 113); + } + + if(var4 == 1) { + for(var5 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1776(88); var5 != null; var5 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1778(var4 ^ -92)) { + var6 = 1; + var7 = var5.aClass140_Sub4_Sub1_2327.method1965(false); + if(var5.aClass140_Sub4_Sub1_2327.anInt2764 != var7.anInt368) { + if(var5.aClass140_Sub4_Sub1_2327.anInt2764 != var7.anInt393 && var5.aClass140_Sub4_Sub1_2327.anInt2764 != var7.anInt386 && ~var5.aClass140_Sub4_Sub1_2327.anInt2764 != ~var7.anInt375 && var7.anInt373 != var5.aClass140_Sub4_Sub1_2327.anInt2764) { + if(var7.anInt398 == var5.aClass140_Sub4_Sub1_2327.anInt2764 || var5.aClass140_Sub4_Sub1_2327.anInt2764 == var7.anInt372 || ~var5.aClass140_Sub4_Sub1_2327.anInt2764 == ~var7.anInt379 || ~var5.aClass140_Sub4_Sub1_2327.anInt2764 == ~var7.anInt406) { + var6 = 3; + } + } else { + var6 = 2; + } + } else { + var6 = 0; + } + + if(~var5.anInt2322 != ~var6) { + var8 = Class81.method1398(0, var5.aClass140_Sub4_Sub1_2327); + if(~var5.anInt2332 != ~var8) { + if(var5.aClass3_Sub24_Sub1_2312 != null) { + Class3_Sub26.aClass3_Sub24_Sub2_2563.method461(var5.aClass3_Sub24_Sub1_2312); + var5.aClass3_Sub24_Sub1_2312 = null; + } + + var5.anInt2332 = var8; + } + + var5.anInt2322 = var6; + } + + var5.anInt2326 = var5.aClass140_Sub4_Sub1_2327.anInt2819; + var5.anInt2321 = var5.aClass140_Sub4_Sub1_2327.anInt2819 + 64 * var5.aClass140_Sub4_Sub1_2327.getSize((byte)114); + var5.anInt2308 = var5.aClass140_Sub4_Sub1_2327.anInt2829; + var5.anInt2307 = var5.aClass140_Sub4_Sub1_2327.anInt2829 + var5.aClass140_Sub4_Sub1_2327.getSize((byte)114) * 64; + Class3_Sub28_Sub11.method606(var1, var5, var3, var0, var2, 110); + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ih.K(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method1215(boolean var1, Class3 var2) { + try { + if(null != var2.aClass3_76) { + var2.method86(-1024); + } + + var2.aClass3_74 = this.aClass3_940; + var2.aClass3_76 = this.aClass3_940.aClass3_76; + if(var1) { + var2.aClass3_76.aClass3_74 = var2; + var2.aClass3_74.aClass3_76 = var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ih.D(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void method1216(int var1, Class3 var2) { + try { + if(null != var2.aClass3_76) { + var2.method86(-1024); + } + + var2.aClass3_74 = this.aClass3_940.aClass3_74; + var2.aClass3_76 = this.aClass3_940; + var2.aClass3_76.aClass3_74 = var2; + var2.aClass3_74.aClass3_76 = var2; + if(var1 != 64) { + this.method1221(); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ih.N(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public static void method1217(int var0) { + try { + aClass93_939 = null; + if(var0 != 0) { + method1213(56, (Class3_Sub11[])null); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ih.J(" + var0 + ')'); + } + } + + static final RSString method1218(boolean var0, int var1, int var2) { + try { + return var1 <= 122?(RSString)null:Class118.method1723((byte)-128, var0, 10, var2); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ih.A(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + final Class3 method1219(int var1) { + try { + if(var1 < 13) { + this.aClass3_940 = (Class3)null; + } + + Class3 var2 = this.aClass3_941; + if(this.aClass3_940 == var2) { + this.aClass3_941 = null; + return null; + } else { + this.aClass3_941 = var2.aClass3_76; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.H(" + var1 + ')'); + } + } + + final Class3 method1220(byte var1) { + try { + Class3 var2 = this.aClass3_940.aClass3_74; + if(var1 != -3) { + return (Class3)null; + } else if(this.aClass3_940 != var2) { + var2.method86(var1 + -1021); + return var2; + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.E(" + var1 + ')'); + } + } + + public Class61() { + try { + this.aClass3_940.aClass3_76 = this.aClass3_940; + this.aClass3_940.aClass3_74 = this.aClass3_940; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ih.()"); + } + } + + final Class3 method1221() { + try { + Class3 var2 = this.aClass3_941; + if(var2 != this.aClass3_940) { + this.aClass3_941 = var2.aClass3_74; + return var2; + } else { + this.aClass3_941 = null; + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.L(" + 1 + ')'); + } + } + + final Class3 method1222() { + try { + Class3 var2 = this.aClass3_940.aClass3_74; + if(this.aClass3_940 == var2) { + this.aClass3_941 = null; + return null; + } else { + this.aClass3_941 = var2.aClass3_74; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ih.F(" + 1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class62.java b/09HDscape-client/src/org/runite/jagex/Class62.java new file mode 100644 index 000000000..52809c055 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class62.java @@ -0,0 +1,264 @@ +package org.runite.jagex; + +final class Class62 { + + static int anInt942; + int[][] fileNameHashes; + static int anInt944 = 0; + int[] archiveCRCs; + static RSString aClass94_946 = RSString.createRSString(")2"); + int validArchiveAmount; + private static RSString aClass94_948 = RSString.createRSString("You can(Wt add yourself to your own friend list)3"); + Class69 aClass69_949; + static int anInt950; + static RSString aClass94_951 = RSString.createRSString("Interfaces charg-Bes"); + static int anInt952; + int[] validArchiveIds; + int[] archiveLengths; + int[] archiveNameHash; + int[] archiveFileLengths; + static RSString aClass94_957 = aClass94_948; + int[] archiveRevisions; + int[][] validFileIds; + int archiveAmount; + int revision; + Class69[] aClass69Array962; + static int anInt963; + int anInt964; + + + public static void method1223(int var0) { + try { + aClass94_951 = null; + aClass94_946 = null; + if(var0 == 0) { + aClass94_948 = null; + aClass94_957 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ii.A(" + var0 + ')'); + } + } + + static final void method1224(RSInterface var0, int var1, int var2, int var3) { + try { + if(0 != var0.aByte162) { + if(var0.aByte162 != 1) { + if(2 == var0.aByte162) { + var0.anInt210 = var2 - var0.anInt193 - var0.y; + } else if(var0.aByte162 != 3) { + if(4 == var0.aByte162) { + var0.anInt210 = (var2 * var0.y >> 14) + (-var0.anInt193 + var2) / 2; + } else { + var0.anInt210 = -(var2 * var0.y >> 14) + -var0.anInt193 + var2; + } + } else { + var0.anInt210 = var0.y * var2 >> 14; + } + } else { + var0.anInt210 = (var2 - var0.anInt193) / 2 + var0.y; + } + } else { + var0.anInt210 = var0.y; + } + + if(0 == var0.aByte273) { + var0.anInt306 = var0.x; + } else if(~var0.aByte273 != -2) { + if(var0.aByte273 == 2) { + var0.anInt306 = -var0.x + -var0.anInt168 + var3; + } else if(3 != var0.aByte273) { + if(4 != var0.aByte273) { + var0.anInt306 = -(var3 * var0.x >> 14) + var3 + -var0.anInt168; + } else { + var0.anInt306 = (var0.x * var3 >> 14) + (var3 - var0.anInt168) / 2; + } + } else { + var0.anInt306 = var0.x * var3 >> 14; + } + } else { + var0.anInt306 = var0.x + (var3 - var0.anInt168) / 2; + } + + if(Class69.aBoolean1040 && (Client.method44(var0).anInt2205 != 0 || ~var0.type == -1)) { + if(~var0.anInt210 > -1) { + var0.anInt210 = 0; + } else if(var0.anInt193 + var0.anInt210 > var2) { + var0.anInt210 = var2 + -var0.anInt193; + } + + if(0 > var0.anInt306) { + var0.anInt306 = 0; + } else if(var3 < var0.anInt306 - -var0.anInt168) { + var0.anInt306 = var3 + -var0.anInt168; + } + } + + if(var1 != 23730) { + method1223(19); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ii.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1225(int var0) { + try { + Class149 var1 = Class3_Sub28_Sub7_Sub1.aClass149_4047; + synchronized(var1) { + if(var0 != 18074) { + aClass94_946 = (RSString)null; + } + + Class3_Sub13_Sub5.anInt3069 = GraphicDefinition.anInt549; + Class126.anInt1676 = Class3_Sub21.anInt2493; + Class130.anInt1709 = Class95.anInt1340; + Class3_Sub28_Sub11.anInt3644 = Class140_Sub3.anInt2743; + Class163_Sub1.anInt2993 = RenderAnimationDefinition.anInt362; + ++Class3_Sub28_Sub7_Sub1.anInt4045; + Class38_Sub1.anInt2614 = Class3_Sub13_Sub32.anInt3389; + Class75.aLong1102 = Class140_Sub6.aLong2926; + Class140_Sub3.anInt2743 = 0; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ii.D(" + var0 + ')'); + } + } + + private final void method1226(int var1, byte[] var2) { + try { + RSByteBuffer buffer = new RSByteBuffer(Class3_Sub28_Sub13.method623((byte)-114, var2)); + int var4 = buffer.getByte((byte)-34); + if(var4 != 5 && ~var4 != -7) { + throw new RuntimeException(); + } else { + if(~var4 <= -7) { + this.revision = buffer.getInt(); + } else { + this.revision = 0; + } + + int info = buffer.getByte((byte)-127); + int var6 = 0; + this.validArchiveAmount = buffer.getShort(var1 ^ 3); + int var7 = -1; + this.validArchiveIds = new int[this.validArchiveAmount]; + + int var8; + for(var8 = 0; this.validArchiveAmount > var8; ++var8) { + this.validArchiveIds[var8] = var6 += buffer.getShort(1); + if(this.validArchiveIds[var8] > var7) { + var7 = this.validArchiveIds[var8]; + } + } + + this.archiveAmount = var7 - -1; + this.archiveRevisions = new int[this.archiveAmount]; + this.validFileIds = new int[this.archiveAmount][]; + this.archiveCRCs = new int[this.archiveAmount]; + this.archiveLengths = new int[this.archiveAmount]; + this.archiveFileLengths = new int[this.archiveAmount]; + if(~info != -1) { + this.archiveNameHash = new int[this.archiveAmount]; + + for(var8 = 0; ~var8 > ~this.archiveAmount; ++var8) { + this.archiveNameHash[var8] = -1; + } + + for(var8 = 0; ~var8 > ~this.validArchiveAmount; ++var8) { + this.archiveNameHash[this.validArchiveIds[var8]] = buffer.getInt(); + } + + this.aClass69_949 = new Class69(this.archiveNameHash); + } + + for(var8 = 0; ~this.validArchiveAmount < ~var8; ++var8) { + this.archiveCRCs[this.validArchiveIds[var8]] = buffer.getInt(); + } + + for(var8 = 0; this.validArchiveAmount > var8; ++var8) { + this.archiveRevisions[this.validArchiveIds[var8]] = buffer.getInt(); + } + + var8 = 0; + if(var1 != 2) { + aClass94_957 = (RSString)null; + } + + while(this.validArchiveAmount > var8) { + this.archiveFileLengths[this.validArchiveIds[var8]] = buffer.getShort(1); + ++var8; + } + + int var9; + int var10; + int var11; + int var12; + for(var8 = 0; ~var8 > ~this.validArchiveAmount; ++var8) { + var6 = 0; + var9 = this.validArchiveIds[var8]; + var10 = this.archiveFileLengths[var9]; + var11 = -1; + this.validFileIds[var9] = new int[var10]; + + for(var12 = 0; var10 > var12; ++var12) { + int var13 = this.validFileIds[var9][var12] = var6 += buffer.getShort(1); + if(var13 > var11) { + var11 = var13; + } + } + + this.archiveLengths[var9] = var11 + 1; + if(~(1 + var11) == ~var10) { + this.validFileIds[var9] = null; + } + } + + if(-1 != ~info) { + this.aClass69Array962 = new Class69[var7 - -1]; + this.fileNameHashes = new int[1 + var7][]; + + for(var8 = 0; var8 < this.validArchiveAmount; ++var8) { + var9 = this.validArchiveIds[var8]; + var10 = this.archiveFileLengths[var9]; + this.fileNameHashes[var9] = new int[this.archiveLengths[var9]]; + + for(var11 = 0; var11 < this.archiveLengths[var9]; ++var11) { + this.fileNameHashes[var9][var11] = -1; + } + + for(var11 = 0; ~var11 > ~var10; ++var11) { + if(null != this.validFileIds[var9]) { + var12 = this.validFileIds[var9][var11]; + } else { + var12 = var11; + } + + this.fileNameHashes[var9][var12] = buffer.getInt(); + } + + this.aClass69Array962[var9] = new Class69(this.fileNameHashes[var9]); + } + } + + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "ii.C(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + Class62(byte[] var1, int var2) { + try { + this.anInt964 = Class38.method1026(var1, var1.length, false); + if(var2 == this.anInt964) { + this.method1226(2, var1); + } else { + throw new RuntimeException(); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ii.(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class64.java b/09HDscape-client/src/org/runite/jagex/Class64.java new file mode 100644 index 000000000..0f0a950ea --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class64.java @@ -0,0 +1,14 @@ +package org.runite.jagex; + +public class Class64 { + + public volatile Object anObject974; + int anInt975; + Class64 aClass64_976; + Object anObject977; + public volatile int anInt978 = 0; + public int anInt979; + int anInt980; + + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class65.java b/09HDscape-client/src/org/runite/jagex/Class65.java new file mode 100644 index 000000000..f9865795e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class65.java @@ -0,0 +1,232 @@ +package org.runite.jagex; + +final class Class65 { + + static RSString aClass94_981 = RSString.createRSString("S-Blectionner"); + static RSString aClass94_982 = RSString.createRSString("niveau "); + static Class61 aClass61_983 = new Class61(); + static int anInt984 = 0; + static RSString aClass94_985 = RSString.createRSString("Fps:"); + static RSByteBuffer[] aClass3_Sub30Array986 = new RSByteBuffer[2048]; + static int anInt987 = 0; + static RSString aClass94_988 = RSString.createRSString("voudrait faire un -Bchange avec vous)3"); + static RSString aClass94_989 = RSString.createRSString(" est d-Bj-9 dans votre liste d(Wamis)3"); + static int currentChunkX; + static int anInt991 = -1; + static RSString aClass94_992 = RSString.createRSString("http:)4)4"); + + + static final int[] method1233(int[] var0, int var1) { + try { + if(null != var0) { + if(var1 != 2) { + anInt984 = 113; + } + + int[] var2 = new int[var0.length]; + Class76.method1358(var0, 0, var2, 0, var0.length); + return var2; + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ja.H(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method1234(int var0, int var1, int var2, int var3) { + try { + int var4 = var1 / var0; + int var6 = var2 / var0; + int var7 = var2 & var0 - 1; + int var5 = -1 + var0 & var1; + int var8 = Class3_Sub28_Sub3.method543(var4, var6, (byte)-82); + int var9 = Class3_Sub28_Sub3.method543(var4 + 1, var6, (byte)-104); + int var10 = Class3_Sub28_Sub3.method543(var4, 1 + var6, (byte)-100); + if(var3 != 512) { + return -57; + } else { + int var11 = Class3_Sub28_Sub3.method543(1 + var4, var6 + 1, (byte)-109); + int var12 = Class3_Sub13_Sub23.method275(var8, var9, var5, 96, var0); + int var13 = Class3_Sub13_Sub23.method275(var10, var11, var5, 16, var0); + return Class3_Sub13_Sub23.method275(var12, var13, var7, 87, var0); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "ja.G(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1235(int var0, int var1, int var2, int var3, byte var4) { + try { + if(Class36.anInt638 == 1) { + Class139.aClass3_Sub28_Sub16Array1825[Class151_Sub1.anInt2958 / 100].method643(-8 + Class70.anInt1053, -8 + Class3_Sub28_Sub10_Sub1.anInt4062); + } + + if(var4 != -121) { + currentChunkX = -21; + } + + if(~Class36.anInt638 == -3) { + Class139.aClass3_Sub28_Sub16Array1825[4 + Class151_Sub1.anInt2958 / 100].method643(Class70.anInt1053 + -8, -8 + Class3_Sub28_Sub10_Sub1.anInt4062); + } + + Class3_Sub13_Sub37.method347(true); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ja.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1236(CacheIndex var0, CacheIndex var1, int var2) { + try { + Class47.quickChatMessages = var1; + if(var2 >= -94) { + aClass94_992 = (RSString)null; + } + + NodeList.aClass153_332 = var0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ja.F(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method1237(int var0, int var1) { + try { + WorldListEntry.anInt2626 = var1 / var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ja.D(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1238(int var0) { + try { + aClass94_992 = null; + if(var0 < -83) { + aClass94_988 = null; + aClass61_983 = null; + aClass94_989 = null; + aClass94_985 = null; + aClass94_981 = null; + aClass3_Sub30Array986 = null; + aClass94_982 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ja.B(" + var0 + ')'); + } + } + + static final void method1239(int var0, int var1, int var2, int var3, int var4, boolean var5) { + try { + if(-2 < ~var0) { + var0 = 1; + } + + if(1 > var3) { + var3 = 1; + } + + if(HDToolKit.highDetail) { + int var6 = var3 + -334; + if(0 <= var6) { + if(~var6 < -101) { + var6 = 100; + } + } else { + var6 = 0; + } + + int var7 = var6 * (Class3_Sub13_Sub3.aShort3052 + -Class106.aShort1444) / 100 + Class106.aShort1444; + if(Class3_Sub13_Sub19.aShort3241 <= var7) { + if(PacketParser.aShort83 < var7) { + var7 = PacketParser.aShort83; + } + } else { + var7 = Class3_Sub13_Sub19.aShort3241; + } + + int var8 = var7 * var3 * 512 / (var0 * 334); + int var9; + int var10; + short var12; + if(var8 >= WorldListCountry.aShort505) { + if(~Class3_Sub13_Sub23_Sub1.aShort4038 > ~var8) { + var12 = Class3_Sub13_Sub23_Sub1.aShort4038; + var7 = var12 * var0 * 334 / (var3 * 512); + if(~Class3_Sub13_Sub19.aShort3241 < ~var7) { + var7 = Class3_Sub13_Sub19.aShort3241; + var9 = var12 * var0 * 334 / (512 * var7); + var10 = (-var9 + var3) / 2; + if(var5) { + Class22.method925(); + Class22.method934(var4, var2, var0, var10, 0); + Class22.method934(var4, var2 + (var3 - var10), var0, var10, 0); + } + + var3 -= var10 * 2; + var2 += var10; + } + } + } else { + var12 = WorldListCountry.aShort505; + var7 = 334 * var0 * var12 / (512 * var3); + if(PacketParser.aShort83 < var7) { + var7 = PacketParser.aShort83; + var9 = 512 * var3 * var7 / (334 * var12); + var10 = (var0 - var9) / 2; + if(var5) { + Class22.method925(); + Class22.method934(var4, var2, var10, var3, 0); + Class22.method934(var0 + (var4 - var10), var2, var10, var3, 0); + } + + var4 += var10; + var0 -= 2 * var10; + } + } + + Class130.anInt1705 = var7 * var3 / 334; + } + + Class96.anInt1358 = (short)var0; + Canvas_Sub2.anInt31 = (short)var3; + if(var1 < 11) { + method1233((int[])null, 18); + } + + Class3_Sub28_Sub3.anInt3564 = var2; + Class163_Sub1.anInt2989 = var4; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ja.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1240(boolean var0) { + try { + Class126.aClass3_Sub28_Sub17_1669 = null; + Class75_Sub3.aClass3_Sub28_Sub16Array2656 = null; + Class139.aClass3_Sub28_Sub16Array1825 = null; + Class3_Sub13_Sub22.aClass109Array3270 = null; + Class157.aClass3_Sub28_Sub17_Sub1_2000 = null; + Class102.aClass3_Sub28_Sub16_Sub2Array2140 = null; + Class140_Sub4.aClass3_Sub28_Sub16Array2839 = null; + Class129_Sub1.aClass3_Sub28_Sub16Array2690 = null; + NPC.aClass3_Sub28_Sub16Array3977 = null; + Class168.aClass3_Sub28_Sub17_2096 = null; + Class57.aClass3_Sub28_Sub16_895 = null; + Class80.aClass3_Sub28_Sub16Array1136 = null; + Class3_Sub13.aClass3_Sub28_Sub17_2379 = null; + Class45.aClass3_Sub28_Sub16_736 = null; + Class66.aClass3_Sub28_Sub16Array996 = null; + Class3_Sub13_Sub39.aClass3_Sub28_Sub16Array3458 = null; + Class166.aClass3_Sub28_Sub16Array2072 = null; + Class3_Sub13_Sub31.aClass3_Sub28_Sub16Array3373 = null; + GameObject.aClass109Array1831 = null; + if(var0) { + method1233((int[])null, -51); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ja.E(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class66.java b/09HDscape-client/src/org/runite/jagex/Class66.java new file mode 100644 index 000000000..6e303c0f8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class66.java @@ -0,0 +1,552 @@ +package org.runite.jagex; +import java.io.IOException; + +final class Class66 { + + private NodeList highPriorityRequests = new NodeList(); + static int anInt994; + static RSString aClass94_995 = RSString.createRSString("(Y<)4col>"); + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array996; + static int maskUpdateCount = 0; + static int anInt998 = 0; + static int anInt999 = -1; + private NodeList aClass13_1000 = new NodeList(); + private NodeList lowPriorityRequests = new NodeList(); + static int wlPacketSize = 0; + private NodeList aClass13_1003 = new NodeList(); + private long aLong1004; + private IOHandler aClass89_1005; + private int anInt1006; + private RSByteBuffer aClass3_Sub30_1007 = new RSByteBuffer(4); + private RSByteBuffer aClass3_Sub30_1008 = new RSByteBuffer(8); + private byte aByte1009 = 0; + volatile int anInt1010 = 0; + volatile int anInt1011 = 0; + private Class3_Sub28_Sub10_Sub2 aClass3_Sub28_Sub10_Sub2_1012; + + + final boolean method1241(int var1) { + try { + if(var1 != -30064) { + this.aClass13_1000 = (NodeList)null; + } + + return 20 <= this.method1246(11706); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.N(" + var1 + ')'); + } + } + + public static void method1242(byte var0) { + try { + aClass3_Sub28_Sub16Array996 = null; + if(var0 != -88) { + method1250(-72, true); + } + + aClass94_995 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jb.G(" + var0 + ')'); + } + } + + final boolean method1243(byte var1) { + try { + int var4; + if(null != this.aClass89_1005) { + long var2 = Class5.method830((byte)-55); + var4 = (int)(-this.aLong1004 + var2); + this.aLong1004 = var2; + if(var4 > 200) { + var4 = 200; + } + + this.anInt1006 += var4; + if(30000 < this.anInt1006) { + try { + this.aClass89_1005.close(14821); + } catch (Exception var18) { + ; + } + + this.aClass89_1005 = null; + } + } + + if(this.aClass89_1005 == null) { + return 0 == this.method1253(4) && -1 == ~this.method1246(11706); + } else { + try { + this.aClass89_1005.method1466(127); + + Class3_Sub28_Sub10_Sub2 var21; + for(var21 = (Class3_Sub28_Sub10_Sub2)this.highPriorityRequests.method876((byte)125); null != var21; var21 = (Class3_Sub28_Sub10_Sub2)this.highPriorityRequests.method878(119)) { + this.aClass3_Sub30_1007.index = 0; + this.aClass3_Sub30_1007.putByte((byte)-26, 1); //High priority JS5 request + this.aClass3_Sub30_1007.putTriByte((int)var21.aLong2569, 6517); + + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + this.aClass13_1000.method879(var21, (byte)-125); + } + + for(var21 = (Class3_Sub28_Sub10_Sub2)this.lowPriorityRequests.method876((byte)51); var21 != null; var21 = (Class3_Sub28_Sub10_Sub2)this.lowPriorityRequests.method878(-53)) { + this.aClass3_Sub30_1007.index = 0; + this.aClass3_Sub30_1007.putByte((byte)-22, 0); //Low priority JS5 request + this.aClass3_Sub30_1007.putTriByte((int)var21.aLong2569, 6517); + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + this.aClass13_1003.method879(var21, (byte)-128); + } + + int var22 = 100 % ((33 - var1) / 54); + + for(int var3 = 0; 100 > var3; ++var3) { + var4 = this.aClass89_1005.availableBytes(-18358); + if(var4 < 0) { + throw new IOException(); + } + + if(-1 == ~var4) { + break; + } + + this.anInt1006 = 0; + byte var5 = 0; + if(null != this.aClass3_Sub28_Sub10_Sub2_1012) { + if(~this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 == -1) { + var5 = 1; + } + } else { + var5 = 8; + } + + int var6; + int var7; + int var8; + if(0 >= var5) { + var6 = -this.aClass3_Sub28_Sub10_Sub2_1012.aByte4064 + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.buffer.length; + var7 = -this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 + 512; + if(var7 > -this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index + var6) { + var7 = -this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index + var6; + } + + if(~var7 < ~var4) { + var7 = var4; + } + + this.aClass89_1005.readBytes(this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index, var7, -18455, this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.buffer); + if(-1 != ~this.aByte1009) { + for(var8 = 0; ~var7 < ~var8; ++var8) { + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.buffer[this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index - -var8] = (byte)Class93.method1519(this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.buffer[this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index + var8], this.aByte1009); + } + } + + this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 += var7; + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index += var7; + if(~this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.index != ~var6) { + if(~this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 == -513) { + this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 = 0; + } + } else { + this.aClass3_Sub28_Sub10_Sub2_1012.method524((byte)-107); + this.aClass3_Sub28_Sub10_Sub2_1012.aBoolean3632 = false; + this.aClass3_Sub28_Sub10_Sub2_1012 = null; + } + } else { + var6 = -this.aClass3_Sub30_1008.index + var5; + if(var4 < var6) { + var6 = var4; + } + + this.aClass89_1005.readBytes(this.aClass3_Sub30_1008.index, var6, -18455, this.aClass3_Sub30_1008.buffer); + if(0 != this.aByte1009) { + for(var7 = 0; var7 < var6; ++var7) { + this.aClass3_Sub30_1008.buffer[var7 + this.aClass3_Sub30_1008.index] = (byte)Class93.method1519(this.aClass3_Sub30_1008.buffer[var7 + this.aClass3_Sub30_1008.index], this.aByte1009); + } + } + + this.aClass3_Sub30_1008.index += var6; + if(~this.aClass3_Sub30_1008.index <= ~var5) { + if(this.aClass3_Sub28_Sub10_Sub2_1012 != null) { + if(this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 != 0) { + throw new IOException(); + } + + if(~this.aClass3_Sub30_1008.buffer[0] != 0) { + this.aClass3_Sub28_Sub10_Sub2_1012 = null; + } else { + this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 = 1; + this.aClass3_Sub30_1008.index = 0; + } + } else { + this.aClass3_Sub30_1008.index = 0; + var7 = this.aClass3_Sub30_1008.getByte((byte)-34); + var8 = this.aClass3_Sub30_1008.getShort(1); + int var9 = this.aClass3_Sub30_1008.getByte((byte)-26); + int var10 = this.aClass3_Sub30_1008.getInt(); + int var11 = 127 & var9; + boolean var12 = -1 != ~(var9 & 128); + Class3_Sub28_Sub10_Sub2 var15 = null; + long var13 = (long)((var7 << 16) - -var8); + if(!var12) { + for(var15 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1000.method876((byte)65); var15 != null && ~var13 != ~var15.aLong2569; var15 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1000.method878(-15)) { + ; + } + } else { + for(var15 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1003.method876((byte)76); null != var15 && ~var15.aLong2569 != ~var13; var15 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1003.method878(122)) { + ; + } + } + + if(null == var15) { + throw new IOException("Could not find cache file " + var7 + ", " + var8 + "!"); + } + + int var16 = var11 != 0?9:5; + this.aClass3_Sub28_Sub10_Sub2_1012 = var15; + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069 = new RSByteBuffer(var10 - (-var16 - this.aClass3_Sub28_Sub10_Sub2_1012.aByte4064)); + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.putByte((byte)-127, var11); + this.aClass3_Sub28_Sub10_Sub2_1012.aClass3_Sub30_4069.putInt(-125, var10); + this.aClass3_Sub28_Sub10_Sub2_1012.anInt4067 = 8; + this.aClass3_Sub30_1008.index = 0; + } + } + } + } + + return true; + } catch (IOException var19) { + var19.printStackTrace(); + try { + this.aClass89_1005.close(14821); + } catch (Exception var17) { + ; + } + + this.anInt1010 = -2; + ++this.anInt1011; + this.aClass89_1005 = null; + return 0 == this.method1253(4) && ~this.method1246(11706) == -1; + } + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "jb.H(" + var1 + ')'); + } + } + + final void method1244(boolean var1) { + try { + if(this.aClass89_1005 != null) { + try { + this.aClass3_Sub30_1007.index = 0; + if(!var1) { + this.method1256((byte)21); + } + + this.aClass3_Sub30_1007.putByte((byte)-48, 7); + this.aClass3_Sub30_1007.putTriByte(0, 6517); + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + } catch (IOException var5) { + var5.printStackTrace(); + try { + this.aClass89_1005.close(14821); + } catch (Exception var4) { + var4.printStackTrace(); + } + + ++this.anInt1011; + this.anInt1010 = -2; + this.aClass89_1005 = null; + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "jb.O(" + var1 + ')'); + } + } + + static final Class3_Sub15 method1245(int var0, CacheIndex var1, int var2) { + try { + if(var0 <= 12) { + wlPacketSize = 107; + } + + byte[] var3 = var1.method2138(var2, 0); + return var3 != null?new Class3_Sub15(var3):null; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jb.F(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + private final int method1246(int var1) { + try { + if(var1 != 11706) { + aClass3_Sub28_Sub16Array996 = (Class3_Sub28_Sub16[])null; + } + + return this.lowPriorityRequests.method874(-79) - -this.aClass13_1003.method874(-118); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.K(" + var1 + ')'); + } + } + + final void method1247(boolean var1, boolean var2) { + try { + if(var2) { + if(null != this.aClass89_1005) { + try { + this.aClass3_Sub30_1007.index = 0; + this.aClass3_Sub30_1007.putByte((byte)-27, var1?2:3); + this.aClass3_Sub30_1007.putTriByte(0, 6517); + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + } catch (IOException var6) { + var6.printStackTrace(); + try { + this.aClass89_1005.close(14821); + } catch (Exception var5) { + ; + } + + ++this.anInt1011; + this.anInt1010 = -2; + this.aClass89_1005 = null; + } + + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "jb.B(" + var1 + ',' + var2 + ')'); + } + } + + final void method1248(int var1) { + try { + if(var1 != -29340) { + this.method1246(-28); + } + + if(this.aClass89_1005 != null) { + this.aClass89_1005.method1467(false); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.P(" + var1 + ')'); + } + } + + final void method1249(boolean var1, IOHandler stream, int var3) { + try { + if(null != this.aClass89_1005) { + try { + this.aClass89_1005.close(var3 ^ 14821); + } catch (Exception var8) { + ; + } + + this.aClass89_1005 = null; + } + + this.aClass89_1005 = stream; + this.method1256((byte)-77); + this.method1247(var1, true); + this.aClass3_Sub30_1008.index = 0; + this.aClass3_Sub28_Sub10_Sub2_1012 = null; + + while(true) { + Class3_Sub28_Sub10_Sub2 var4 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1000.method877(-1); + if(null == var4) { + while(true) { + var4 = (Class3_Sub28_Sub10_Sub2)this.aClass13_1003.method877(-1); + if(var4 == null) { + if(this.aByte1009 != var3) { + try { + this.aClass3_Sub30_1007.index = 0; + this.aClass3_Sub30_1007.putByte((byte)-52, 4); + this.aClass3_Sub30_1007.putByte((byte)-24, this.aByte1009); + this.aClass3_Sub30_1007.putShort(0); + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + } catch (IOException var7) { + var7.printStackTrace(); + try { + this.aClass89_1005.close(14821); + } catch (Exception var6) { + ; + } + + this.anInt1010 = -2; + ++this.anInt1011; + this.aClass89_1005 = null; + } + } + + this.anInt1006 = 0; + this.aLong1004 = Class5.method830((byte)-55); + return; + } + + this.lowPriorityRequests.method879(var4, (byte)95); + } + } + + this.highPriorityRequests.method879(var4, (byte)80); + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "jb.M(" + var1 + ',' + (stream != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method1250(int var0, boolean var1) { + try { + Class3_Sub10.aByteArrayArrayArray2339 = (byte[][][])null; + Class44.anIntArrayArrayArray720 = (int[][][])null; + if(var0 < 14) { + method1250(10, true); + } + + Class3_Sub28_Sub3.aClass11_3551 = null; + RenderAnimationDefinition.aByteArrayArrayArray383 = (byte[][][])null; + Class84.anIntArray1161 = null; + CS2Script.aByteArrayArrayArray2452 = (byte[][][])null; + if(var1 && null != RSByteBuffer.aClass3_Sub28_Sub3_2600) { + Class3_Sub13_Sub19.aClass94_3220 = RSByteBuffer.aClass3_Sub28_Sub3_2600.aClass94_3561; + } else { + Class3_Sub13_Sub19.aClass94_3220 = null; + } + + Class36.aByteArrayArrayArray640 = (byte[][][])null; + Class3_Sub13_Sub33.aByteArrayArrayArray3390 = (byte[][][])null; + Class29.anIntArrayArrayArray558 = (int[][][])null; + Class146.anIntArrayArrayArray1903 = (int[][][])null; + Class140_Sub3.anInt2737 = 0; + RSByteBuffer.aClass3_Sub28_Sub3_2600 = null; + Class84.aClass61_1162.method1211(-108); + Class119.aClass131_1624 = null; + Class3_Sub13_Sub30.anInt3362 = -1; + Class75_Sub2.aClass33_2648 = null; + Class91.aClass33_1305 = null; + IOHandler.aClass33_1238 = null; + Class161.aClass33_2034 = null; + Class164_Sub2.aClass33_3019 = null; + Class99.aClass33_1399 = null; + Class75_Sub2.aClass33_2637 = null; + Class119.aClass33_1626 = null; + Class36.aClass3_Sub28_Sub16_637 = null; + Class82.anInt1150 = -1; + Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221 = null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.E(" + var0 + ',' + var1 + ')'); + } + } + + final boolean method1251(byte var1) { + try { + int var2 = 33 % ((2 - var1) / 58); + return 20 <= this.method1253(4); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.L(" + var1 + ')'); + } + } + + final void method1252(byte var1) { + try { + int var2 = -116 / ((var1 - 45) / 51); + + try { + this.aClass89_1005.close(14821); + } catch (Exception var4) { + ; + } + + this.anInt1010 = -1; + this.aByte1009 = (byte)((int)(255.0D * Math.random() + 1.0D)); + this.aClass89_1005 = null; + ++this.anInt1011; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "jb.A(" + var1 + ')'); + } + } + + final int method1253(int var1) { + try { + if(var1 != 4) { + this.method1252((byte)-45); + } + + return this.highPriorityRequests.method874(-127) - -this.aClass13_1000.method874(-108); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.C(" + var1 + ')'); + } + } + + final void method1254(boolean var1) { + try { + if(this.aClass89_1005 != null) { + this.aClass89_1005.close(14821); + } + + if(var1) { + this.method1247(true, false); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jb.D(" + var1 + ')'); + } + } + + final Class3_Sub28_Sub10_Sub2 addJS5Request(int var1, int index, byte var3, int archive, boolean highPriority) { + try { + Class3_Sub28_Sub10_Sub2 var8 = new Class3_Sub28_Sub10_Sub2(); + long var6 = (long)(archive + (index << 16)); + var8.aBoolean3628 = highPriority; + var8.aLong2569 = var6; + var8.aByte4064 = var3; + int var9 = 120 / ((63 - var1) / 47); + if(highPriority) { + if(~this.method1253(4) <= -21) { + throw new RuntimeException(); + } + + this.highPriorityRequests.method879(var8, (byte)-125); + } else { + if(this.method1246(11706) >= 20) { + throw new RuntimeException(); + } + + this.lowPriorityRequests.method879(var8, (byte)78); + } + + return var8; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "jb.I(" + var1 + ',' + index + ',' + var3 + ',' + archive + ',' + highPriority + ')'); + } + } + + private final void method1256(byte var1) { + try { + if(this.aClass89_1005 != null) { + if(var1 == -77) { + try { + this.aClass3_Sub30_1007.index = 0; + this.aClass3_Sub30_1007.putByte((byte)-125, 6); + this.aClass3_Sub30_1007.putTriByte(3, 6517); + this.aClass89_1005.sendBytes(false, 0, this.aClass3_Sub30_1007.buffer, 4); + } catch (IOException var5) { + var5.printStackTrace(); + try { + this.aClass89_1005.close(14821); + } catch (Exception var4) { + ; + } + + ++this.anInt1011; + this.aClass89_1005 = null; + this.anInt1010 = -2; + } + + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "jb.J(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class67.java b/09HDscape-client/src/org/runite/jagex/Class67.java new file mode 100644 index 000000000..aae02319a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class67.java @@ -0,0 +1,193 @@ +package org.runite.jagex; + +final class Class67 implements Runnable { + + static Class93 aClass93_1013 = new Class93(100); + static byte[][][] aByteArrayArrayArray1014; + boolean aBoolean1015 = true; + Object anObject1016 = new Object(); + static RSInterface aClass11_1017; + int anInt1018 = 0; + int[] anIntArray1019 = new int[500]; + int[] anIntArray1020 = new int[500]; + + + public static void method1257(int var0) { + try { + if(var0 == 25951) { + aClass11_1017 = null; + aByteArrayArrayArray1014 = (byte[][][])null; + aClass93_1013 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jd.B(" + var0 + ')'); + } + } + + public final void run() { + try { + for(; this.aBoolean1015; Class3_Sub13_Sub34.method331(50L, 64)) { + Object var1 = this.anObject1016; + synchronized(var1) { + if(-501 < ~this.anInt1018) { + this.anIntArray1020[this.anInt1018] = Class126.anInt1676; + this.anIntArray1019[this.anInt1018] = Class130.anInt1709; + ++this.anInt1018; + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jd.run()"); + } + } + + static final int method1258(byte var0) { + try { + Class136.anInt1780 = 0; + if(var0 != -53) { + method1258((byte)-35); + } + + return Class3_Sub13_Sub17.method251(-1); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jd.D(" + var0 + ')'); + } + } + + static final void method1259(int var0, byte var1) { + try { + if(var1 > 12) { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 12, var0); + var2.a(true); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jd.A(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1260(int var0, int var1, RSInterface[] var2) { + try { + for(int var3 = 0; var3 < var2.length; ++var3) { + RSInterface var4 = var2[var3]; + if(null != var4 && ~var4.parentId == ~var1 && (!var4.usingScripts || !Client.method51(var4))) { + if(-1 == ~var4.type) { + if(!var4.usingScripts && Client.method51(var4) && var4 != Class107.aClass11_1453) { + continue; + } + + method1260(var0 ^ 0, var4.anInt279, var2); + if(var4.aClass11Array262 != null) { + method1260(23206, var4.anInt279, var4.aClass11Array262); + } + + Class3_Sub31 var5 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var4.anInt279, 0); + if(var5 != null) { + Class52.method1160(-111, var5.anInt2602); + } + } + + if(var4.type == 6) { + int var6; + if(0 != ~var4.animationId || ~var4.secondAnimationId != 0) { + boolean var9 = Class3_Sub28_Sub12.method609(var4, var0 + -23173); + if(var9) { + var6 = var4.secondAnimationId; + } else { + var6 = var4.animationId; + } + + if(var6 != -1) { + AnimationDefinition var7 = Client.getAnimationDefinition(var6, (byte)-20); + if(null != var7) { + for(var4.anInt267 += Class106.anInt1446; ~var4.anInt267 < ~var7.duration[var4.anInt283]; Class20.method909(115, var4)) { + var4.anInt267 -= var7.duration[var4.anInt283]; + ++var4.anInt283; + if(var7.frames.length <= var4.anInt283) { + var4.anInt283 -= var7.anInt1865; + if(~var4.anInt283 > -1 || var7.frames.length <= var4.anInt283) { + var4.anInt283 = 0; + } + } + + var4.anInt260 = var4.anInt283 + 1; + if(var7.frames.length <= var4.anInt260) { + var4.anInt260 -= var7.anInt1865; + if(~var4.anInt260 > -1 || var7.frames.length <= var4.anInt260) { + var4.anInt260 = -1; + } + } + } + } + } + } + + if(0 != var4.anInt237 && !var4.usingScripts) { + int var10 = var4.anInt237 >> 16; + var10 *= Class106.anInt1446; + var6 = var4.anInt237 << 16 >> 16; + var4.anInt182 = 2047 & var10 + var4.anInt182; + var6 *= Class106.anInt1446; + var4.anInt308 = var4.anInt308 - -var6 & 2047; + Class20.method909(117, var4); + } + } + } + } + + if(var0 != 23206) { + method1257(107); + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "jd.E(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final RSString method1261(int var0, int var1, RSString[] var2, int var3) { + try { + int var4 = 0; + + for(int var5 = 0; var1 > var5; ++var5) { + if(null == var2[var0 - -var5]) { + var2[var5 + var0] = Class3_Sub13_Sub27.aClass94_3339; + } + + var4 += var2[var5 + var0].length; + } + + byte[] var10 = new byte[var4]; + int var6 = 0; + + for(int var7 = 0; var1 > var7; ++var7) { + RSString var8 = var2[var7 + var0]; + Class76.method1357(var8.byteArray, 0, var10, var6, var8.length); + var6 += var8.length; + } + + RSString var11 = new RSString(); + var11.length = var4; + if(var3 != 2774) { + method1262(83, 28); + } + + var11.byteArray = var10; + return var11; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "jd.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final int method1262(int var0, int var1) { + try { + if(var0 < 20) { + method1262(15, 87); + } + + return var1 & 127; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jd.F(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class68.java b/09HDscape-client/src/org/runite/jagex/Class68.java new file mode 100644 index 000000000..a143c343a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class68.java @@ -0,0 +1,497 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +final class Class68 { + + static Class43[] aClass43Array1021; + private static float[] aFloatArray1022 = new float[]{0.0F, 0.0F, 0.0F, 1.0F}; + private static int[] anIntArray1023; + private static int anInt1024; + private static int anInt1025; + private static boolean[] aBooleanArray1026; + private static int[][][] anIntArrayArrayArray1027; + private static int[] anIntArray1028; + private static int anInt1029; + private static int anInt1030; + private static int anInt1031; + static int anInt1032 = 0; + private static boolean[] aBooleanArray1033; + private static int anInt1034; + private static int anInt1035; + private static int anInt1036; + + + static final void method1263(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if(Class106.aBoolean1441) { + if(var0 == 1 && var5 > 0) { + method1268(var1, var2, var3, var4, var5 - 1, var6); + } else if(var0 == 4 && var5 < anInt1036 - 1) { + method1268(var1, var2, var3, var4, var5 + 1, var6); + } else if(var0 == 8 && var6 > 0) { + method1268(var1, var2, var3, var4, var5, var6 - 1); + } else if(var0 == 2 && var6 < anInt1035 - 1) { + method1268(var1, var2, var3, var4, var5, var6 + 1); + } else if(var0 == 16 && var5 > 0 && var6 < anInt1035 - 1) { + method1268(var1, var2, var3, var4, var5 - 1, var6 + 1); + } else if(var0 == 32 && var5 < anInt1036 - 1 && var6 < anInt1035 - 1) { + method1268(var1, var2, var3, var4, var5 + 1, var6 + 1); + } else if(var0 == 128 && var5 > 0 && var6 > 0) { + method1268(var1, var2, var3, var4, var5 - 1, var6 - 1); + } else if(var0 == 64 && var5 < anInt1036 - 1 && var6 > 0) { + method1268(var1, var2, var3, var4, var5 + 1, var6 - 1); + } + } + } + + static final void method1264(Class43 var0) { + if(anInt1032 >= 255) { + System.out.println("Number of lights added exceeds maximum!"); + } else { + aClass43Array1021[anInt1032++] = var0; + } + } + + static final void method1265() { + for(int var0 = 0; var0 < 4; ++var0) { + anIntArray1028[var0] = -1; + method1271(var0); + } + + } + + static final void method1266(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if(Class106.aBoolean1441) { + if(anInt1029 != var3 || anInt1031 != var4 || anInt1024 != var5 || anInt1034 != var6 || anInt1025 != var7) { + int var8; + for(var8 = 0; var8 < 4; ++var8) { + aBooleanArray1033[var8] = false; + } + + var8 = 0; + int var9 = 0; + + int var10; + int var11; + label105: + for(var10 = var4; var10 <= var6; ++var10) { + for(var11 = var5; var11 <= var7; ++var11) { + int var12 = anIntArrayArrayArray1027[var3][var10][var11]; + + label101: + while(var12 != 0) { + int var13 = (var12 & 255) - 1; + var12 >>>= 8; + + int var14; + for(var14 = 0; var14 < var9; ++var14) { + if(var13 == anIntArray1023[var14]) { + continue label101; + } + } + + for(var14 = 0; var14 < 4; ++var14) { + if(var13 == anIntArray1028[var14]) { + if(!aBooleanArray1033[var14]) { + aBooleanArray1033[var14] = true; + ++var8; + if(var8 == 4) { + break label105; + } + } + continue label101; + } + } + + anIntArray1023[var9++] = var13; + ++var8; + if(var8 == 4) { + break label105; + } + } + } + } + + var10 = 0; + + while(var10 < var9) { + var11 = 0; + + while(true) { + if(var11 < 4) { + if(aBooleanArray1033[var11]) { + ++var11; + continue; + } + + anIntArray1028[var11] = anIntArray1023[var10]; + aBooleanArray1033[var11] = true; + method1278(var11, aClass43Array1021[anIntArray1023[var10]], var0, var1, var2); + } + + ++var10; + break; + } + } + + for(var10 = 0; var10 < 4; ++var10) { + if(!aBooleanArray1033[var10]) { + anIntArray1028[var10] = -1; + method1271(var10); + } + } + + anInt1029 = var3; + anInt1031 = var4; + anInt1024 = var5; + anInt1034 = var6; + anInt1025 = var7; + } + } + } + + static final void method1267(int var0, int var1, int var2) { + anInt1030 = var0; + anInt1036 = var1; + anInt1035 = var2; + anIntArrayArrayArray1027 = new int[anInt1030][anInt1036][anInt1035]; + } + + static final void method1268(int var0, int var1, int var2, int var3, int var4, int var5) { + if(Class106.aBoolean1441) { + if(anInt1029 != var3 || anInt1031 != var4 || anInt1024 != var5 || anInt1034 != var4 || anInt1025 != var5) { + int var6; + for(var6 = 0; var6 < 4; ++var6) { + aBooleanArray1033[var6] = false; + } + + var6 = 0; + int var7 = anIntArrayArrayArray1027[var3][var4][var5]; + + int var8; + int var9; + label71: + while(var7 != 0) { + var8 = (var7 & 255) - 1; + var7 >>>= 8; + + for(var9 = 0; var9 < 4; ++var9) { + if(var8 == anIntArray1028[var9]) { + aBooleanArray1033[var9] = true; + continue label71; + } + } + + anIntArray1023[var6++] = var8; + } + + var8 = 0; + + while(var8 < var6) { + var9 = 0; + + while(true) { + if(var9 < 4) { + if(aBooleanArray1033[var9]) { + ++var9; + continue; + } + + anIntArray1028[var9] = anIntArray1023[var8]; + aBooleanArray1033[var9] = true; + method1278(var9, aClass43Array1021[anIntArray1023[var8]], var0, var1, var2); + } + + ++var8; + break; + } + } + + for(var8 = 0; var8 < 4; ++var8) { + if(!aBooleanArray1033[var8]) { + anIntArray1028[var8] = -1; + method1271(var8); + } + } + + anInt1029 = var3; + anInt1031 = var4; + anInt1024 = var5; + anInt1034 = var4; + anInt1025 = var5; + } + } + } + + static final void method1269(int var0, boolean var1) { + for(int var2 = 0; var2 < anInt1032; ++var2) { + aClass43Array1021[var2].method1063(var1, var0, -3696); + } + + anInt1029 = -1; + anInt1031 = -1; + anInt1024 = -1; + anInt1034 = -1; + anInt1025 = -1; + } + + static final void method1270() { + for(int var0 = 0; var0 < anInt1032; ++var0) { + Class43 var1 = aClass43Array1021[var0]; + int var2 = var1.anInt704; + if(var1.aBoolean690) { + var2 = 0; + } + + int var3 = var1.anInt704; + if(var1.aBoolean711) { + var3 = 3; + } + + for(int var4 = var2; var4 <= var3; ++var4) { + int var5 = 0; + int var6 = (var1.anInt708 >> 7) - var1.anInt698; + if(var6 < 0) { + var5 -= var6; + var6 = 0; + } + + int var7 = (var1.anInt708 >> 7) + var1.anInt698; + if(var7 > anInt1035 - 1) { + var7 = anInt1035 - 1; + } + + for(int var8 = var6; var8 <= var7; ++var8) { + short var9 = var1.aShortArray706[var5++]; + int var10 = (var1.anInt703 >> 7) - var1.anInt698 + (var9 >> 8); + int var11 = var10 + (var9 & 255) - 1; + if(var10 < 0) { + var10 = 0; + } + + if(var11 > anInt1036 - 1) { + var11 = anInt1036 - 1; + } + + for(int var12 = var10; var12 <= var11; ++var12) { + int var13 = anIntArrayArrayArray1027[var4][var12][var8]; + if((var13 & 255) == 0) { + anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1; + } else if((var13 & '\uff00') == 0) { + anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 8; + } else if((var13 & 16711680) == 0) { + anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 16; + } else if((var13 & -16777216) == 0) { + anIntArrayArrayArray1027[var4][var12][var8] = var13 | var0 + 1 << 24; + } + } + } + } + } + + } + + private static final void method1271(int var0) { + if(aBooleanArray1026[var0]) { + aBooleanArray1026[var0] = false; + int var1 = var0 + 16384 + 4; + GL var2 = HDToolKit.gl; + var2.glDisable(var1); + } + } + + static final void method1272(int var0, int var1, int var2, int var3, int var4) { + if(Class106.aBoolean1441) { + label44: + for(int var5 = 0; var5 < 4; ++var5) { + if(anIntArray1028[var5] != -1) { + int var6 = anIntArrayArrayArray1027[var0][var1][var2]; + + int var7; + while(var6 != 0) { + var7 = (var6 & 255) - 1; + var6 >>>= 8; + if(var7 == anIntArray1028[var5]) { + continue label44; + } + } + + var6 = anIntArrayArrayArray1027[var0][var3][var4]; + + while(var6 != 0) { + var7 = (var6 & 255) - 1; + var6 >>>= 8; + if(var7 == anIntArray1028[var5]) { + continue label44; + } + } + } + + anIntArray1028[var5] = -1; + method1271(var5); + } + + } + } + + static final void method1273() { + aClass43Array1021 = null; + anIntArray1028 = null; + aBooleanArray1026 = null; + anIntArray1023 = null; + aBooleanArray1033 = null; + anIntArrayArrayArray1027 = (int[][][])null; + } + + public static void method1274() { + aClass43Array1021 = null; + anIntArrayArrayArray1027 = (int[][][])null; + anIntArray1028 = null; + aBooleanArray1026 = null; + aFloatArray1022 = null; + anIntArray1023 = null; + aBooleanArray1033 = null; + } + + static final void method1275() { + GL var0 = HDToolKit.gl; + + int var1; + for(var1 = 0; var1 < 4; ++var1) { + int var2 = 16388 + var1; + var0.glLightfv(var2, 4608, new float[]{0.0F, 0.0F, 0.0F, 1.0F}, 0); + var0.glLightf(var2, 4616, 0.0F); + var0.glLightf(var2, 4615, 0.0F); + } + + for(var1 = 0; var1 < 4; ++var1) { + anIntArray1028[var1] = -1; + method1271(var1); + } + + } + + static final void method1276() { + aClass43Array1021 = new Class43[255]; + anIntArray1028 = new int[4]; + aBooleanArray1026 = new boolean[4]; + anIntArray1023 = new int[4]; + aBooleanArray1033 = new boolean[4]; + anIntArrayArrayArray1027 = new int[anInt1030][anInt1036][anInt1035]; + } + + static final void method1277(int var0, int var1, Class3_Sub2[][][] var2) { + if(Class106.aBoolean1441) { + GL var3 = HDToolKit.gl; + Class3_Sub28_Sub4.method551(0, 0, 0); + HDToolKit.method1856(0); + HDToolKit.method1823(); + HDToolKit.bindTexture2D(HDToolKit.anInt1810); + var3.glDepthMask(false); + HDToolKit.method1837(false); + var3.glBlendFunc(774, 1); + var3.glFogfv(2918, new float[]{0.0F, 0.0F, 0.0F, 0.0F}, 0); + var3.glTexEnvi(8960, '\u8580', '\u8576'); + var3.glTexEnvi(8960, '\u8590', 770); + + label69: + for(int var4 = 0; var4 < anInt1032; ++var4) { + Class43 var5 = aClass43Array1021[var4]; + int var6 = var5.anInt704; + if(var5.aBoolean696) { + --var6; + } + + if(var5.aClass37_712 != null) { + int var7 = 0; + int var8 = (var5.anInt708 >> 7) - var5.anInt698; + int var9 = (var5.anInt708 >> 7) + var5.anInt698; + if(var9 >= Class126.anInt1665) { + var9 = Class126.anInt1665 - 1; + } + + if(var8 < Class3_Sub28_Sub7.anInt3603) { + var7 += Class3_Sub28_Sub7.anInt3603 - var8; + var8 = Class3_Sub28_Sub7.anInt3603; + } + + int var10 = var8; + + while(var10 <= var9) { + short var11 = var5.aShortArray706[var7++]; + int var12 = (var5.anInt703 >> 7) - var5.anInt698 + (var11 >> 8); + int var13 = var12 + (var11 & 255) - 1; + if(var12 < Class163_Sub1_Sub1.anInt4006) { + var12 = Class163_Sub1_Sub1.anInt4006; + } + + if(var13 >= Class2.anInt67) { + var13 = Class2.anInt67 - 1; + } + + int var14 = var12; + + while(true) { + if(var14 <= var13) { + Class3_Sub2 var15 = null; + if(var6 >= 0) { + var15 = var2[var6][var14][var10]; + } + + if(var6 >= 0 && (var15 == null || !var15.aBoolean2222)) { + ++var14; + continue; + } + + HDToolKit.method1832(201.5F - (float)var5.anInt704 * 50.0F - 1.5F); + var3.glTexEnvfv(8960, 8705, new float[]{0.0F, 0.0F, 0.0F, var5.aFloat707}, 0); + var5.aClass37_712.method1021(); + continue label69; + } + + ++var10; + break; + } + } + } + } + + var3.glTexEnvi(8960, '\u8580', 5890); + var3.glTexEnvi(8960, '\u8590', 768); + var3.glBlendFunc(770, 771); + var3.glDepthMask(true); + var3.glFogfv(2918, Class92.aFloatArray1319, 0); + var3.glEnableClientState('\u8078'); + HDToolKit.method1846(); + } + } + + private static final void method1278(int var0, Class43 var1, int var2, int var3, int var4) { + int var5 = var0 + 16384 + 4; + GL var6 = HDToolKit.gl; + if(!aBooleanArray1026[var0]) { + var6.glEnable(var5); + aBooleanArray1026[var0] = true; + } + + var6.glLightf(var5, 4617, var1.aFloat710); + var6.glLightfv(var5, 4609, var1.aFloatArray717, 0); + aFloatArray1022[0] = (float)(var1.anInt703 - var2); + aFloatArray1022[1] = (float)(var1.anInt697 - var3); + aFloatArray1022[2] = (float)(var1.anInt708 - var4); + var6.glLightfv(var5, 4611, aFloatArray1022, 0); + } + + static final void method1279() { + anInt1032 = 0; + + for(int var0 = 0; var0 < anInt1030; ++var0) { + for(int var1 = 0; var1 < anInt1036; ++var1) { + for(int var2 = 0; var2 < anInt1035; ++var2) { + anIntArrayArrayArray1027[var0][var1][var2] = 0; + } + } + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class69.java b/09HDscape-client/src/org/runite/jagex/Class69.java new file mode 100644 index 000000000..e962724ba --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class69.java @@ -0,0 +1,110 @@ +package org.runite.jagex; + +final class Class69 { + + static int anInt1037; + static int anInt1038; + static Class30 aClass30_1039; + static boolean aBoolean1040 = false; + private int[] anIntArray1041; + static int anInt1042; + static CacheIndex aClass153_1043; + static RSString aClass94_1044 = RSString.createRSString("Titelbild geladen)3"); + + + final int method1280(int var1, int var2) { + try { + if(var2 != 1) { + return -68; + } else { + int var3 = (this.anIntArray1041.length >> 1) + -1; + int var4 = var3 & var1; + + while(true) { + int var5 = this.anIntArray1041[1 + var4 + var4]; + if(var5 == -1) { + return -1; + } + + if(var1 == this.anIntArray1041[var4 + var4]) { + return var5; + } + + var4 = var4 - -1 & var3; + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "jg.D(" + var1 + ',' + var2 + ')'); + } + } + + static final LDIndexedSprite[] method1281(int var0) { + try { + LDIndexedSprite[] var1 = new LDIndexedSprite[Class95.anInt1338]; + + for(int var2 = var0; ~var2 > ~Class95.anInt1338; ++var2) { + var1[var2] = new LDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], Class163_Sub1.aByteArrayArray2987[var2], Class3_Sub13_Sub38.spritePalette); + } + + Class39.method1035((byte)116); + return var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jg.A(" + var0 + ')'); + } + } + + static final void method1282(int var0, byte var1, int var2, int var3, int var4) { + try { + int var5 = 0; + + for(int var6 = 58 / ((56 - var1) / 49); ~Class3_Sub28_Sub3.anInt3557 < ~var5; ++var5) { + if(var0 < Class155.anIntArray1969[var5] - -Class3_Sub28_Sub18.anIntArray3768[var5] && var0 + var4 > Class155.anIntArray1969[var5] && ~(Player.anIntArray3954[var5] - -Class140_Sub4.anIntArray2794[var5]) < ~var2 && ~Player.anIntArray3954[var5] > ~(var3 + var2)) { + Class163_Sub1_Sub1.aBooleanArray4008[var5] = true; + } + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "jg.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method1283(byte var0) { + try { + aClass153_1043 = null; + aClass30_1039 = null; + aClass94_1044 = null; + int var1 = -9 / ((var0 - 64) / 53); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jg.B(" + var0 + ')'); + } + } + + Class69(int[] var1) { + try { + int var2; + for(var2 = 1; (var1.length >> 1) + var1.length >= var2; var2 <<= 1) { + ; + } + + this.anIntArray1041 = new int[var2 + var2]; + + int var3; + for(var3 = 0; var2 + var2 > var3; ++var3) { + this.anIntArray1041[var3] = -1; + } + + int var4; + for(var3 = 0; var1.length > var3; this.anIntArray1041[var4 - -var4 - -1] = var3++) { + for(var4 = -1 + var2 & var1[var3]; 0 != ~this.anIntArray1041[1 + var4 - -var4]; var4 = -1 + var2 & 1 + var4) { + ; + } + + this.anIntArray1041[var4 + var4] = var1[var3]; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "jg.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class7.java b/09HDscape-client/src/org/runite/jagex/Class7.java new file mode 100644 index 000000000..529014145 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class7.java @@ -0,0 +1,105 @@ +package org.runite.jagex; + +final class Class7 implements Interface4 { + + static CacheIndex aClass153_2160; + static int anInt2161 = -1; + static int anInt2162; + static RSString aClass94_2163 = RSString.createRSString("Gegenstand f-Ur Mitglieder"); + static RSString aClass94_2164 = RSString.createRSString("hint_mapedge"); + static int anInt2165; + static int anInt2166 = 0; + static short[] aShortArray2167 = new short[]{(short)30, (short)6, (short)31, (short)29, (short)10, (short)44, (short)37, (short)57}; + static RSString aClass94_2168 = RSString.createRSString("
"); + + + static final void method831(int var0, String var1) { + System.out.println("Error: " + Class3_Sub28_Sub6.a("%0a", "\n", 105, var1)); + if(var0 < 33) { + aClass94_2163 = (RSString)null; + } + + } + + static final RSInterface getRSInterface(byte var0, int interfaceHash) { + try { + int windowId = interfaceHash >> 16; + if(var0 < 108) { + getRSInterface((byte)87, 19); + } + + int componentId = '\uffff' & interfaceHash; + if (GameObject.aClass11ArrayArray1834.length <= windowId || windowId < 0) { + return null; + } + if(GameObject.aClass11ArrayArray1834[windowId] == null || GameObject.aClass11ArrayArray1834[windowId].length <= componentId || null == GameObject.aClass11ArrayArray1834[windowId][componentId]) { + boolean var4 = Canvas_Sub2.loadInterface(windowId, 104); + if(!var4) { + return null; + } + } + if (GameObject.aClass11ArrayArray1834[windowId].length <= componentId) { + return null; + } + return GameObject.aClass11ArrayArray1834[windowId][componentId]; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "af.F(" + var0 + ',' + interfaceHash + ')'); + } + } + + public static void method833(byte var0) { + try { + aShortArray2167 = null; + aClass153_2160 = null; + aClass94_2164 = null; + aClass94_2168 = null; + int var1 = 124 / ((var0 - 28) / 41); + aClass94_2163 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "af.E(" + var0 + ')'); + } + } + + public final RSString method20(int var1, int[] var2, int var3, long var4) { + try { + if(var1 != 0) { + if(var1 != 1 && ~var1 != -11) { + return var1 != 6 && var1 != 7 && 11 != var1?(var3 != 4936?(RSString)null:null):Class3_Sub13_Sub36.method342(var2[0], true).method616((int)var4, (byte)-69); + } else { + ItemDefinition var8 = Class38.getItemDefinition((int)var4, (byte)82); + return var8.name; + } + } else { + Class3_Sub28_Sub13 var6 = Class3_Sub13_Sub36.method342(var2[0], true); + return var6.method616((int)var4, (byte)120); + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "af.A(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method834(byte var0) { + try { + Class66.method1250(43, false); + System.gc(); + Class117.method1719(25, 5); + if(var0 >= -80) { + anInt2166 = -89; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "af.D(" + var0 + ')'); + } + } + + static final boolean method835(int var0, int var1, int var2, int var3, int var4, int var5, GameObject var6, int var7, long var8) { + if(var6 == null) { + return true; + } else { + int var10 = var1 * 128 + 64 * var4; + int var11 = var2 * 128 + 64 * var5; + return Class56.method1189(var0, var1, var2, var4, var5, var10, var11, var3, var6, var7, false, var8); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class70.java b/09HDscape-client/src/org/runite/jagex/Class70.java new file mode 100644 index 000000000..29e8aaea1 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class70.java @@ -0,0 +1,139 @@ +package org.runite.jagex; + +final class Class70 { + + int anInt1045; + static RSString[] aClass94Array1046 = new RSString[200]; + static int anInt1047; + long aLong1048 = 0L; + GameObject aClass140_1049; + static double aDouble1050 = -1.0D; + static RSString aClass94_1051 = RSString.createRSString("(Udns"); + GameObject aClass140_1052; + static int anInt1053 = 0; + int anInt1054; + int anInt1055; + static Class10 aClass10_1056; + int anInt1057; + static CacheIndex aClass153_1058; + int anInt1059; + static int anInt1060; + + + public static void method1284(byte var0) { + try { + if(var0 != -87) { + aClass94Array1046 = (RSString[])null; + } + + aClass153_1058 = null; + aClass94_1051 = null; + aClass94Array1046 = null; + aClass10_1056 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jh.A(" + var0 + ')'); + } + } + + static final void method1285(CacheIndex var0, boolean var1, int var2, int var3, boolean var4, int var5) { + try { + Class101.aClass153_1423 = var0; + Class10.anInt154 = 1; + Class3_Sub13_Sub36.anInt3423 = var5; + Class132.anInt1741 = var3; + Class3_Sub13_Sub39.anInt3463 = var2; + Class3_Sub9.aBoolean2311 = var4; + if(var1) { + anInt1053 = 125; + } + + GraphicDefinition.anInt546 = 10000; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "jh.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1286(int var0, boolean var1, ObjectDefinition var2, int var3, NPC var4, int var5, int var6, Player var7) { + try { + if(var1) { + anInt1047 = 94; + } + + Class3_Sub9 var8 = new Class3_Sub9(); + var8.anInt2308 = var0 * 128; + var8.anInt2326 = 128 * var5; + var8.anInt2314 = var6; + if(null != var2) { + var8.anIntArray2333 = var2.anIntArray1539; + var8.anInt2328 = var2.anInt1484 * 128; + var8.anInt2325 = var2.anInt1515; + var8.aClass111_2320 = var2; + var8.anInt2332 = var2.anInt1512; + var8.anInt2310 = var2.anInt1518; + int var9 = var2.anInt1480; + int var10 = var2.anInt1485; + if(-2 == ~var3 || 3 == var3) { + var9 = var2.anInt1485; + var10 = var2.anInt1480; + } + + var8.anInt2307 = (var10 + var0) * 128; + var8.anInt2321 = (var5 + var9) * 128; + if(var2.anIntArray1524 != null) { + var8.aBoolean2329 = true; + var8.method134(1); + } + + if(null != var8.anIntArray2333) { + var8.anInt2316 = var8.anInt2310 - -((int)(Math.random() * (double)(-var8.anInt2310 + var8.anInt2325))); + } + + Class3.aClass61_78.method1215(!var1, var8); + } else if(null != var4) { + var8.aClass140_Sub4_Sub2_2324 = var4; + NPCDefinition var12 = var4.definition; + if(null != var12.childNPCs) { + var8.aBoolean2329 = true; + var12 = var12.method1471((byte)-112); + } + + if(var12 != null) { + var8.anInt2307 = 128 * (var12.size + var0); + var8.anInt2321 = 128 * (var5 - -var12.size); + var8.anInt2332 = ISAACCipher.method1232(var4, -1); + var8.anInt2328 = 128 * var12.anInt1291; + } + + IOHandler.aClass61_1242.method1215(true, var8); + } else if(null != var7) { + var8.aClass140_Sub4_Sub1_2327 = var7; + var8.anInt2321 = (var7.getSize((byte)114) + var5) * 128; + var8.anInt2307 = 128 * (var7.getSize((byte)114) + var0); + var8.anInt2332 = Class81.method1398(0, var7); + var8.anInt2328 = 128 * var7.anInt3969; + Class3_Sub28_Sub7_Sub1.aClass130_4046.method1779(1, var8, var7.displayName.toLong(-112)); + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "jh.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ')'); + } + } + + static final Class3_Sub28_Sub17_Sub1 method1287(int var0, int var1, CacheIndex var2, CacheIndex var3, int var4) { + try { + // System.out.println("Class 70 " + var0); + if(Class75_Sub4.method1351(var3, var1, var0, var4 ^ 30900)) { + if(var4 != -1) { + method1284((byte)-124); + } + + return Class3_Sub13.method163(var2.getFile(var0, (byte)-122, var1), 25208); + } else { + return null; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "jh.B(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class71.java b/09HDscape-client/src/org/runite/jagex/Class71.java new file mode 100644 index 000000000..5830c53ae --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class71.java @@ -0,0 +1,219 @@ +package org.runite.jagex; + +final class Class71 { + + private int[] anIntArray1061; + private float[][] aFloatArrayArray1062; + int anInt1063; + private int[] anIntArray1064; + private int anInt1065; + private int[] anIntArray1066; + + + final float[] method1288() { + return this.aFloatArrayArray1062[this.method1290()]; + } + + private final void method1289() { + int[] var1 = new int[this.anInt1065]; + int[] var2 = new int[33]; + + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var10; + for(var3 = 0; var3 < this.anInt1065; ++var3) { + var4 = this.anIntArray1061[var3]; + if(var4 != 0) { + var5 = 1 << 32 - var4; + var6 = var2[var4]; + var1[var3] = var6; + int var9; + if((var6 & var5) != 0) { + var7 = var2[var4 - 1]; + } else { + var7 = var6 | var5; + + for(var8 = var4 - 1; var8 >= 1; --var8) { + var9 = var2[var8]; + if(var9 != var6) { + break; + } + + var10 = 1 << 32 - var8; + if((var9 & var10) != 0) { + var2[var8] = var2[var8 - 1]; + break; + } + + var2[var8] = var9 | var10; + } + } + + var2[var4] = var7; + + for(var8 = var4 + 1; var8 <= 32; ++var8) { + var9 = var2[var8]; + if(var9 == var6) { + var2[var8] = var7; + } + } + } + } + + this.anIntArray1066 = new int[8]; + int var11 = 0; + + for(var3 = 0; var3 < this.anInt1065; ++var3) { + var4 = this.anIntArray1061[var3]; + if(var4 != 0) { + var5 = var1[var3]; + var6 = 0; + + for(var7 = 0; var7 < var4; ++var7) { + var8 = Integer.MIN_VALUE >>> var7; + if((var5 & var8) != 0) { + if(this.anIntArray1066[var6] == 0) { + this.anIntArray1066[var6] = var11; + } + + var6 = this.anIntArray1066[var6]; + } else { + ++var6; + } + + if(var6 >= this.anIntArray1066.length) { + int[] var12 = new int[this.anIntArray1066.length * 2]; + + for(var10 = 0; var10 < this.anIntArray1066.length; ++var10) { + var12[var10] = this.anIntArray1066[var10]; + } + + this.anIntArray1066 = var12; + } + + var8 >>>= 1; + } + + this.anIntArray1066[var6] = ~var3; + if(var6 >= var11) { + var11 = var6 + 1; + } + } + } + + } + + final int method1290() { + int var1; + for(var1 = 0; this.anIntArray1066[var1] >= 0; var1 = Class3_Sub14.method364() != 0?this.anIntArray1066[var1]:var1 + 1) { + ; + } + + return ~this.anIntArray1066[var1]; + } + + private static final int method1291(int var0, int var1) { + int var2; + for(var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; Class140_Sub6.method2028(var1, var2, -122) > var0; --var2) { + ; + } + + return var2; + } + + Class71() { + Class3_Sub14.method368(24); + this.anInt1063 = Class3_Sub14.method368(16); + this.anInt1065 = Class3_Sub14.method368(24); + this.anIntArray1061 = new int[this.anInt1065]; + boolean var1 = Class3_Sub14.method364() != 0; + int var2; + int var3; + int var5; + if(var1) { + var2 = 0; + + for(var3 = Class3_Sub14.method368(5) + 1; var2 < this.anInt1065; ++var3) { + int var4 = Class3_Sub14.method368(Class3_Sub26.method513(this.anInt1065 - var2, 4)); + + for(var5 = 0; var5 < var4; ++var5) { + this.anIntArray1061[var2++] = var3; + } + } + } else { + boolean var14 = Class3_Sub14.method364() != 0; + + for(var3 = 0; var3 < this.anInt1065; ++var3) { + if(var14 && Class3_Sub14.method364() == 0) { + this.anIntArray1061[var3] = 0; + } else { + this.anIntArray1061[var3] = Class3_Sub14.method368(5) + 1; + } + } + } + + this.method1289(); + var2 = Class3_Sub14.method368(4); + if(var2 > 0) { + float var16 = Class3_Sub14.method358(Class3_Sub14.method368(32)); + float var15 = Class3_Sub14.method358(Class3_Sub14.method368(32)); + var5 = Class3_Sub14.method368(4) + 1; + boolean var6 = Class3_Sub14.method364() != 0; + int var7; + if(var2 == 1) { + var7 = method1291(this.anInt1065, this.anInt1063); + } else { + var7 = this.anInt1065 * this.anInt1063; + } + + this.anIntArray1064 = new int[var7]; + + int var8; + for(var8 = 0; var8 < var7; ++var8) { + this.anIntArray1064[var8] = Class3_Sub14.method368(var5); + } + + this.aFloatArrayArray1062 = new float[this.anInt1065][this.anInt1063]; + float var9; + int var10; + int var11; + if(var2 == 1) { + for(var8 = 0; var8 < this.anInt1065; ++var8) { + var9 = 0.0F; + var10 = 1; + + for(var11 = 0; var11 < this.anInt1063; ++var11) { + int var12 = var8 / var10 % var7; + float var13 = (float)this.anIntArray1064[var12] * var15 + var16 + var9; + this.aFloatArrayArray1062[var8][var11] = var13; + if(var6) { + var9 = var13; + } + + var10 *= var7; + } + } + } else { + for(var8 = 0; var8 < this.anInt1065; ++var8) { + var9 = 0.0F; + var10 = var8 * this.anInt1063; + + for(var11 = 0; var11 < this.anInt1063; ++var11) { + float var17 = (float)this.anIntArray1064[var10] * var15 + var16 + var9; + this.aFloatArrayArray1062[var8][var11] = var17; + if(var6) { + var9 = var17; + } + + ++var10; + } + } + } + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class72.java b/09HDscape-client/src/org/runite/jagex/Class72.java new file mode 100644 index 000000000..352ecac4e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class72.java @@ -0,0 +1,267 @@ +package org.runite.jagex; + +final class Class72 { + + GameObject aClass140_1067; + int anInt1068; + GameObject aClass140_1069; + static RSString aClass94_1070 = RSString.createRSString("headicons_pk"); + static int anInt1071 = 0; + static RSString LEFT_PARENTHESES = RSString.createRSString(" (X"); + GameObject aClass140_1073; + static boolean aBoolean1074 = false; + int anInt1075; + static RSString aClass94_1076 = RSString.createRSString("<)4col>"); + int anInt1077; + int anInt1078; + long aLong1079; + + + static final Class3_Sub28_Sub11 method1292(byte var0, int var1) { + try { + Class3_Sub28_Sub11 var2 = (Class3_Sub28_Sub11)Class3_Sub13_Sub34.aClass47_3407.method1092((long)var1, 1400); + if(var2 != null) { + return var2; + } else { + if(var0 <= 23) { + aClass94_1070 = (RSString)null; + } + + byte[] var3 = Class12.aClass153_322.getFile(26, (byte)-122, var1); + var2 = new Class3_Sub28_Sub11(); + if(var3 != null) { + var2.method608(5, new RSByteBuffer(var3)); + } + + Class3_Sub13_Sub34.aClass47_3407.method1097(var2, (long)var1, (byte)59); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jj.D(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1293(boolean var0) { + try { + if(!Class3_Sub28_Sub19.aBoolean3779 && ~Class44.anInt718 != -3) { + try { + InputStream_Sub1.aClass94_38.method1577(-1857, Class126.aClient1671); + if(!var0) { + method1298((byte)-25, 1); + } + } catch (Throwable var2) { + ; + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jj.G(" + var0 + ')'); + } + } + + static final void method1294() { + Class126.anInt1672 = 0; + + label188: + for(int var0 = 0; var0 < Class3_Sub4.anInt2249; ++var0) { + Class113 var1 = Class3_Sub28_Sub8.aClass113Array3610[var0]; + int var2; + if(Class3_Sub13_Sub2.anIntArray3045 != null) { + for(var2 = 0; var2 < Class3_Sub13_Sub2.anIntArray3045.length; ++var2) { + if(Class3_Sub13_Sub2.anIntArray3045[var2] != -1000000 && (var1.anInt1544 <= Class3_Sub13_Sub2.anIntArray3045[var2] || var1.anInt1548 <= Class3_Sub13_Sub2.anIntArray3045[var2]) && (var1.anInt1562 <= Class52.anIntArray859[var2] || var1.anInt1545 <= Class52.anIntArray859[var2]) && (var1.anInt1562 >= Class73.anIntArray1083[var2] || var1.anInt1545 >= Class73.anIntArray1083[var2]) && (var1.anInt1560 <= Class75_Sub4.anIntArray2663[var2] || var1.anInt1550 <= Class75_Sub4.anIntArray2663[var2]) && (var1.anInt1560 >= InputStream_Sub1.anIntArray39[var2] || var1.anInt1550 >= InputStream_Sub1.anIntArray39[var2])) { + continue label188; + } + } + } + + int var3; + int var4; + boolean var5; + int var6; + if(var1.anInt1554 == 1) { + var2 = var1.anInt1553 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(var2 >= 0 && var2 <= Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var3 = var1.anInt1563 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(var3 < 0) { + var3 = 0; + } + + var4 = var1.anInt1566 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(var4 > Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var4 = Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466; + } + + var5 = false; + + while(var3 <= var4) { + if(Class23.aBooleanArrayArray457[var2][var3++]) { + var5 = true; + break; + } + } + + if(var5) { + var6 = Class129_Sub1.anInt2697 - var1.anInt1562; + if(var6 > 32) { + var1.anInt1564 = 1; + } else { + if(var6 >= -32) { + continue; + } + + var1.anInt1564 = 2; + var6 = -var6; + } + + var1.anInt1555 = (var1.anInt1560 - Class3_Sub13_Sub30.anInt3363 << 8) / var6; + var1.anInt1551 = (var1.anInt1550 - Class3_Sub13_Sub30.anInt3363 << 8) / var6; + var1.anInt1561 = (var1.anInt1544 - Class3_Sub28_Sub13.anInt3657 << 8) / var6; + var1.anInt1565 = (var1.anInt1548 - Class3_Sub28_Sub13.anInt3657 << 8) / var6; + Class145.aClass113Array1895[Class126.anInt1672++] = var1; + } + } + } else if(var1.anInt1554 == 2) { + var2 = var1.anInt1563 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(var2 >= 0 && var2 <= Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var3 = var1.anInt1553 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(var3 < 0) { + var3 = 0; + } + + var4 = var1.anInt1547 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(var4 > Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var4 = Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466; + } + + var5 = false; + + while(var3 <= var4) { + if(Class23.aBooleanArrayArray457[var3++][var2]) { + var5 = true; + break; + } + } + + if(var5) { + var6 = Class3_Sub13_Sub30.anInt3363 - var1.anInt1560; + if(var6 > 32) { + var1.anInt1564 = 3; + } else { + if(var6 >= -32) { + continue; + } + + var1.anInt1564 = 4; + var6 = -var6; + } + + var1.anInt1549 = (var1.anInt1562 - Class129_Sub1.anInt2697 << 8) / var6; + var1.anInt1557 = (var1.anInt1545 - Class129_Sub1.anInt2697 << 8) / var6; + var1.anInt1561 = (var1.anInt1544 - Class3_Sub28_Sub13.anInt3657 << 8) / var6; + var1.anInt1565 = (var1.anInt1548 - Class3_Sub28_Sub13.anInt3657 << 8) / var6; + Class145.aClass113Array1895[Class126.anInt1672++] = var1; + } + } + } else if(var1.anInt1554 == 4) { + var2 = var1.anInt1544 - Class3_Sub28_Sub13.anInt3657; + if(var2 > 128) { + var3 = var1.anInt1563 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(var3 < 0) { + var3 = 0; + } + + var4 = var1.anInt1566 - Class3_Sub13_Sub27.anInt3340 + Class3_Sub13_Sub39.anInt3466; + if(var4 > Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var4 = Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466; + } + + if(var3 <= var4) { + int var10 = var1.anInt1553 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(var10 < 0) { + var10 = 0; + } + + var6 = var1.anInt1547 - Class97.anInt1375 + Class3_Sub13_Sub39.anInt3466; + if(var6 > Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466) { + var6 = Class3_Sub13_Sub39.anInt3466 + Class3_Sub13_Sub39.anInt3466; + } + + boolean var7 = false; + + label114: + for(int var8 = var10; var8 <= var6; ++var8) { + for(int var9 = var3; var9 <= var4; ++var9) { + if(Class23.aBooleanArrayArray457[var8][var9]) { + var7 = true; + break label114; + } + } + } + + if(var7) { + var1.anInt1564 = 5; + var1.anInt1549 = (var1.anInt1562 - Class129_Sub1.anInt2697 << 8) / var2; + var1.anInt1557 = (var1.anInt1545 - Class129_Sub1.anInt2697 << 8) / var2; + var1.anInt1555 = (var1.anInt1560 - Class3_Sub13_Sub30.anInt3363 << 8) / var2; + var1.anInt1551 = (var1.anInt1550 - Class3_Sub13_Sub30.anInt3363 << 8) / var2; + Class145.aClass113Array1895[Class126.anInt1672++] = var1; + } + } + } + } + } + + } + + static final RSString method1295(int var0, byte var1, int var2) { + try { + int var3 = -var0 + var2; + return 8 >= ~var3?(5 >= ~var3?(~var3 <= 2?(0 > var3?Class3_Sub13_Sub33.aClass94_3394:(var1 > -52?(RSString)null:(var3 <= 9?(var3 > 6?Class3_Sub13_Sub1.aClass94_3040:(~var3 >= -4?(0 < var3?Class140_Sub3.aClass94_2723:Class132.aClass94_1738):OutputStream_Sub1.aClass94_50)):Class19.aClass94_431))):Class130.aClass94_1714):Class163_Sub3.aClass94_3006):Class3_Sub13_Sub24.aClass94_3298; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "jj.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method1296(int var0) { + try { + aClass94_1076 = null; + if(var0 == 1) { + LEFT_PARENTHESES = null; + aClass94_1070 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "jj.F(" + var0 + ')'); + } + } + + static final float[] method1297(byte var0) { + try { + float var1 = Class92.method1514() + Class92.method1505(); + int var2 = Class92.method1510(); + float var3 = (float)(255 & var2 >> 16) / 255.0F; + Class149.aFloatArray1919[3] = 1.0F; + if(var0 != -50) { + return (float[])null; + } else { + float var4 = (float)(('\uff59' & var2) >> 8) / 255.0F; + float var6 = 0.58823526F; + float var5 = (float)(255 & var2) / 255.0F; + Class149.aFloatArray1919[2] = Class151.aFloatArray1934[2] * var5 * var6 * var1; + Class149.aFloatArray1919[0] = Class151.aFloatArray1934[0] * var3 * var6 * var1; + Class149.aFloatArray1919[1] = var1 * var6 * var4 * Class151.aFloatArray1934[1]; + return Class149.aFloatArray1919; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "jj.A(" + var0 + ')'); + } + } + + static final RSString method1298(byte var0, int var1) { + try { + return var0 != 9?(RSString)null:Class118.method1723((byte)-117, false, 10, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "jj.C(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class73.java b/09HDscape-client/src/org/runite/jagex/Class73.java new file mode 100644 index 000000000..bdbe33fc6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class73.java @@ -0,0 +1,645 @@ +package org.runite.jagex; +import java.io.UnsupportedEncodingException; + +import org.runite.Properties; + +final class Class73 implements Runnable { + + private static final RSString TOGGLE_ATK = RSString.createRSString("::toggleatk"); + private static final RSString TOGGLE_FK = RSString.createRSString("::togglefk"); +static boolean aBoolean1080 = false; + static int anInt1081 = 0; + static int anInt1082; + static int[] anIntArray1083; + static boolean aBoolean1084 = false; + static RSString aClass94_1085 = RSString.createRSString("brillant1:"); + private NodeList aClass13_1086 = new NodeList(); + int anInt1087 = 0; + static int anInt1088 = 0; + static RSString aClass94_1089 = RSString.createRSString("Chargement des sprites )2 "); + private Thread aThread1090; + private boolean aBoolean1091 = false; + + + private final void method1299(Class3_Sub28_Sub10_Sub1 var1, int var2) { + try { + NodeList var3 = this.aClass13_1086; + synchronized(var3) { + if(var2 != 104) { + this.method1304(-114); + } + + this.aClass13_1086.method879(var1, (byte)-127); + ++this.anInt1087; + this.aClass13_1086.notifyAll(); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "k.G(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final Class3_Sub28_Sub17 method1300(int var0, int var1, byte var2, CacheIndex var3, CacheIndex var4) { + try { + if(var2 < 123) { + aBoolean1080 = false; + } + //System.out.println("Class 73 " + var1); + return !Class75_Sub4.method1351(var3, var0, var1, -30901)?null:NodeList.method880(-22376, var4.getFile(var1, (byte)-122, var0)); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "k.C(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final void method1301(int var0, int var1, int var2, int var3, boolean var4, int var5, boolean var6) { + try { + if(Class3_Sub28_Sub7.anInt3606 != var2 || ~var1 != ~Class3_Sub7.anInt2294 || ~Class140_Sub3.anInt2745 != ~var0 && !NPC.method1986(45)) { + Class3_Sub28_Sub7.anInt3606 = var2; + Class3_Sub7.anInt2294 = var1; + Class140_Sub3.anInt2745 = var0; + if(NPC.method1986(105)) { + Class140_Sub3.anInt2745 = 0; + } + + if(var4) { + Class117.method1719(28, 5); + } else { + Class117.method1719(25, 5); + } + + Class3_Sub13.method164((byte)-125, true, Class3_Sub13_Sub23.aClass94_3282); + int var8 = Class82.anInt1152; + int var7 = Class131.anInt1716; + Class82.anInt1152 = var1 * 8 - 48; + Class131.anInt1716 = 8 * (-6 + var2); + Class3_Sub13_Sub21.aClass3_Sub28_Sub3_3264 = NodeList.method884(8 * Class3_Sub28_Sub7.anInt3606, (byte)88, 8 * Class3_Sub7.anInt2294); + int var10 = -var8 + Class82.anInt1152; + int var9 = Class131.anInt1716 + -var7; + var7 = Class131.anInt1716; + var8 = Class82.anInt1152; + Class3_Sub13_Sub35.aClass131_3421 = null; + int var11; + NPC var12; + int var13; + if(!var4) { + for(var11 = 0; var11 < '\u8000'; ++var11) { + var12 = Class3_Sub13_Sub24.npcs[var11]; + if(null != var12) { + for(var13 = 0; var13 < 10; ++var13) { + var12.anIntArray2767[var13] -= var9; + var12.anIntArray2755[var13] -= var10; + } + + var12.anInt2819 -= 128 * var9; + var12.anInt2829 -= var10 * 128; + } + } + } else { + Class163.localNPCCount = 0; + + for(var11 = 0; -32769 < ~var11; ++var11) { + var12 = Class3_Sub13_Sub24.npcs[var11]; + if(null != var12) { + var12.anInt2819 -= 128 * var9; + var12.anInt2829 -= 128 * var10; + if(-1 >= ~var12.anInt2819 && -13185 <= ~var12.anInt2819 && -1 >= ~var12.anInt2829 && -13185 <= ~var12.anInt2829) { + for(var13 = 0; 10 > var13; ++var13) { + var12.anIntArray2767[var13] -= var9; + var12.anIntArray2755[var13] -= var10; + } + + Class15.localNPCIndexes[Class163.localNPCCount++] = var11; + } else { + Class3_Sub13_Sub24.npcs[var11].setDefinitions(-1, (NPCDefinition)null); + Class3_Sub13_Sub24.npcs[var11] = null; + } + } + } + } + + for(var11 = 0; var11 < 2048; ++var11) { + Player var23 = Class3_Sub13_Sub22.players[var11]; + if(null != var23) { + for(var13 = 0; 10 > var13; ++var13) { + var23.anIntArray2767[var13] -= var9; + var23.anIntArray2755[var13] -= var10; + } + + var23.anInt2819 -= 128 * var9; + var23.anInt2829 -= 128 * var10; + } + } + + WorldListCountry.localPlane = var0; + Class102.player.method1981((byte)126, var5, false, var3); + byte var25 = 104; + byte var24 = 0; + byte var14 = 0; + byte var16 = 1; + byte var15 = 104; + byte var26 = 1; + if(~var10 > -1) { + var16 = -1; + var15 = -1; + var14 = 103; + } + + if(~var9 > -1) { + var26 = -1; + var24 = 103; + var25 = -1; + } + + for(int var17 = var24; ~var17 != ~var25; var17 += var26) { + for(int var18 = var14; ~var15 != ~var18; var18 += var16) { + int var19 = var9 + var17; + int var20 = var18 + var10; + + for(int var21 = 0; 4 > var21; ++var21) { + if(-1 >= ~var19 && ~var20 <= -1 && ~var19 > -105 && -105 < ~var20) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var21][var17][var18] = Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var21][var19][var20]; + } else { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[var21][var17][var18] = null; + } + } + } + } + + for(Class3_Sub4 var27 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1222(); var27 != null; var27 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1221()) { + var27.anInt2248 -= var10; + var27.anInt2264 -= var9; + if(0 > var27.anInt2264 || -1 < ~var27.anInt2248 || var27.anInt2264 >= 104 || var27.anInt2248 >= 104) { + var27.method86(-1024); + } + } + + if(var4) { + NPC.anInt3995 -= 128 * var9; + Class77.anInt1111 -= var10 * 128; + Class146.anInt1904 -= var10; + Class149.anInt1923 -= var9; + Class157.anInt1996 -= var10; + Canvas_Sub2.anInt30 -= var9; + } else { + Class133.anInt1753 = 1; + } + + Class113.anInt1552 = 0; + if(Class65.anInt987 != 0) { + Class45.anInt733 -= var10; + Class65.anInt987 -= var9; + } + + if(var6) { + if(HDToolKit.highDetail && var4 && (Math.abs(var9) > 104 || 104 < Math.abs(var10))) { + Class3_Sub13_Sub14.method236((byte)64); + } + + Class58.anInt909 = -1; + Class3_Sub13_Sub15.aClass61_3177.method1211(-122); + Class3_Sub13_Sub30.aClass61_3364.method1211(-87); + } + } + } catch (RuntimeException var22) { + throw Class44.method1067(var22, "k.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final Class3_Sub28_Sub6 method1302(byte var0) { + try { + Class3_Sub28_Sub6 var1 = (Class3_Sub28_Sub6)Class126.aClass13_1666.method876((byte)100); + if(var1 != null) { + var1.method86(-1024); + var1.method524((byte)-107); + return var1; + } else if(var0 != -36) { + return (Class3_Sub28_Sub6)null; + } else { + do { + var1 = (Class3_Sub28_Sub6)Class81.aClass13_1139.method876((byte)63); + if(var1 == null) { + return null; + } + + if(var1.b(true) > Class5.method830((byte)-55)) { + return null; + } + + var1.method86(-1024); + var1.method524((byte)-107); + } while((Long.MIN_VALUE & var1.aLong2569) == 0L); + + return var1; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "k.J(" + var0 + ')'); + } + } + + static final RSString method1303(RSInterface var0, RSString var1, int var2) { + try { + if(~var1.method1551(Class24.aClass94_468, 102) != var2) { + while(true) { + int var3 = var1.method1551(Class12.aClass94_331, 55); + if(0 == ~var3) { + while(true) { + var3 = var1.method1551(Class166.aClass94_2080, 106); + if(var3 == -1) { + while(true) { + var3 = var1.method1551(Class91.aClass94_1301, 95); + if(0 == ~var3) { + while(true) { + var3 = var1.method1551(Class52.aClass94_852, 57); + if(~var3 == 0) { + while(true) { + var3 = var1.method1551(Class3_Sub13_Sub35.aClass94_3418, 113); + if(0 == ~var3) { + while(true) { + var3 = var1.method1551(Class70.aClass94_1051, var2 ^ 50); + if(~var3 == 0) { + return var1; + } + + RSString var4 = Class3_Sub28_Sub14.aClass94_3672; + if(null != Class136.aClass64_1778) { + var4 = Class108.method1653(Class136.aClass64_1778.anInt979, 0); + + try { + if(null != Class136.aClass64_1778.anObject974) { + byte[] var5 = ((String)Class136.aClass64_1778.anObject974).getBytes("ISO-8859-1"); + var4 = Class3_Sub13_Sub3.method178(var5, -4114, var5.length, 0); + } + } catch (UnsupportedEncodingException var6) { + ; + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, 0, 0), var4, var1.method1556(4 + var3, (byte)-74)}, (byte)-94); + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, 0, 0), Class154.method2148(Class164_Sub2.method2247((byte)-4, 4, var0), (byte)-78), var1.method1556(var3 - -2, (byte)-74)}, (byte)-107); + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, 0, 0), Class154.method2148(Class164_Sub2.method2247((byte)-109, 3, var0), (byte)-78), var1.method1556(2 + var3, (byte)-74)}, (byte)-70); + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, 0, 0), Class154.method2148(Class164_Sub2.method2247((byte)111, 2, var0), (byte)-78), var1.method1556(2 + var3, (byte)-74)}, (byte)-74); + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, 0, 0), Class154.method2148(Class164_Sub2.method2247((byte)23, 1, var0), (byte)-78), var1.method1556(var3 + 2, (byte)-74)}, (byte)-80); + } + } + + var1 = RenderAnimationDefinition.method903(new RSString[]{var1.method1557(var3, var2 + 0, 0), Class154.method2148(Class164_Sub2.method2247((byte)107, 0, var0), (byte)-78), var1.method1556(2 + var3, (byte)-74)}, (byte)-89); + } + } else { + return var1; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "k.K(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final void method1304(int var1) { + try { + this.aBoolean1091 = true; + NodeList var2 = this.aClass13_1086; + synchronized(var2) { + this.aClass13_1086.notifyAll(); + } + + try { + this.aThread1090.join(); + } catch (InterruptedException var4) { + ; + } + + this.aThread1090 = null; + if(var1 != 3208) { + this.aThread1090 = (Thread)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "k.B(" + var1 + ')'); + } + } + + final Class3_Sub28_Sub10_Sub1 method1305(Class41 var1, int var2, byte[] var3, int var4) { + try { + Class3_Sub28_Sub10_Sub1 var5 = new Class3_Sub28_Sub10_Sub1(); + var5.aByteArray4059 = var3; + var5.aBoolean3628 = false; + var5.aLong2569 = (long)var4; + var5.aClass41_4056 = var1; + var5.anInt4061 = var2; + this.method1299(var5, 104); + return var5; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "k.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + public static void method1306(int var0) { + try { + aClass94_1089 = null; + if(var0 == -16222) { + aClass94_1085 = null; + anIntArray1083 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "k.I(" + var0 + ')'); + } + } + + final Class3_Sub28_Sub10_Sub1 method1307(int var1, int var2, Class41 var3) { + try { + Class3_Sub28_Sub10_Sub1 var4 = new Class3_Sub28_Sub10_Sub1(); + var4.aClass41_4056 = var3; + var4.anInt4061 = 3; + var4.aBoolean3628 = false; + if(var2 != -27447) { + aBoolean1084 = false; + } + + var4.aLong2569 = (long)var1; + this.method1299(var4, 104); + return var4; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "k.E(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final void method1308(RSString command, boolean var1) { + try { + int var2; + int var3; + Runtime var6; + if(command.equals(-128, Class3_Sub13_Sub13.aClass94_3152)) { + Class3_Sub13_Sub17.method246(8); + + for(var2 = 0; ~var2 > -11; ++var2) { + System.gc(); + } + + var6 = Runtime.getRuntime(); + var3 = (int)((var6.totalMemory() - var6.freeMemory()) / 1024L); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub29.aClass94_3360, Class72.method1298((byte)9, var3), Class151_Sub1.aClass94_2951}, (byte)-95), -1); + } + + int var4; + if(command.equals(-120, Class3_Sub28_Sub12.aClass94_3651)) { + Class3_Sub13_Sub17.method246(8); + + for(var2 = 0; var2 < 10; ++var2) { + System.gc(); + } + + var6 = Runtime.getRuntime(); + var3 = (int)((var6.totalMemory() + -var6.freeMemory()) / 1024L); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RenderAnimationDefinition.method903(new RSString[]{Class119.aClass94_1625, Class72.method1298((byte)9, var3), Class151_Sub1.aClass94_2951}, (byte)-94), -1); + Class3_Sub1.method90(1); + Class3_Sub13_Sub17.method246(8); + + for(var4 = 0; var4 < 10; ++var4) { + System.gc(); + } + + var3 = (int)((var6.totalMemory() + -var6.freeMemory()) / 1024L); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RenderAnimationDefinition.method903(new RSString[]{Class161.aClass94_2033, Class72.method1298((byte)9, var3), Class151_Sub1.aClass94_2951}, (byte)-104), -1); + } + + if(command.equals(-113, Class139.aClass94_1830)) { + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RenderAnimationDefinition.method903(new RSString[]{Class21.aClass94_442, Class72.method1298((byte)9, Class118.method1727((byte)123))}, (byte)-94), -1); + } + + if(HDToolKit.highDetail && command.equals(-113, Class3_Sub28_Sub16.aClass94_3700)) { + System.out.println("oncard_geometry:" + Class31.anInt585); + System.out.println("oncard_2d:" + Class31.memory2D); + System.out.println("oncard_texture:" + Class31.anInt580); + } + + if(command.equals(60, Class151.aClass94_1935)) { + Class3_Sub13_Sub24.method289(false); + } + + if(command.equals(-118, Class3_Sub31.aClass94_2605)) { + Class58.aClass66_917.method1254(false); + } + + if(command.equals(33, Class110.aClass94_1474)) { + Class58.aClass66_917.method1244(true); + } + + if(command.equals(-110, Class95.aClass94_1337)) { + Class38.aClass87_665.method1431(0); + Class3_Sub15.aClass89_2429.method1467(var1); + Class58.aClass66_917.method1248(-29340); + } + + if(command.equals(-115, Class3_Sub13.aClass94_2385)) { + Class3_Sub28_Sub5.aBoolean3593 = true; + } + + if(command.equals(21, Class86.aClass94_1188)) { + Class117.method1719(25, 5); + } + + if(command.equals(-120, Class58.aClass94_910)) { + Class20.aBoolean438 = true; + } + + if(command.equals(-109, Class30.aClass94_565)) { + Class20.aBoolean438 = false; + } + if (command.equals(-120, TOGGLE_ATK)) { + boolean on = !Properties.get().isInstantAttack(); + Properties.get().setInstantAttack(on); + Properties.get().save(); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RSString.createRSString("Left click attack option mode toggled " + (on ? "on." : "off.")), -1); + } + if (command.equals(-120, TOGGLE_FK)) { + boolean on = !Properties.get().isModernHotkeys(); + Properties.get().setModernHotkeys(on); + Properties.get().save(); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RSString.createRSString("Modern hotkeys mode toggled " + (on ? "on." : "off.")), -1); + } + + if(command.equals(-120, Class52.aClass94_856)) { + GameObject.method1862(false, 0, -8914, -1, -1); + } + + if(command.equals(-122, Class108.aClass94_1458)) { + GameObject.method1862(false, 1, -8914, -1, -1); + } + + if(command.equals(-106, Class121.aClass94_1646)) { + GameObject.method1862(false, 2, -8914, -1, -1); + } + + if(command.equals(-121, Class3_Sub13_Sub15.aClass94_3183)) { + GameObject.method1862(false, 3, -8914, 1024, 768); + } + + if(command.equals(69, Class3_Sub13_Sub10.aClass94_3123)) { + for(var2 = 0; -5 < ~var2; ++var2) { + for(var3 = 1; ~var3 > -104; ++var3) { + for(var4 = 1; var4 < 103; ++var4) { + Class86.aClass91Array1182[var2].anIntArrayArray1304[var3][var4] = 0; + } + } + } + } + + if(command.method1558(GameObject.aClass94_1832, 0)) { + Class127_Sub1.method1758(command.method1556(15, (byte)-74).method1552((byte)-124)); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + } + + if(command.method1558(Class3_Sub13_Sub23.aClass94_3289, 0) && Class44.anInt718 != 0) { + Class65.method1237(command.method1556(6, (byte)-74).method1552((byte)-106), 1000); + } + + if(command.equals(34, Class163.aClass94_2045)) { + throw new RuntimeException(); + } + + if(command.method1558(GameShell.aClass94_10, 0)) { + Class3_Sub28_Sub15.anInt3689 = command.method1556(12, (byte)-74).trim(1).method1552((byte)-120); + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, RenderAnimationDefinition.method903(new RSString[]{Class166.aClass94_2075, Class72.method1298((byte)9, Class3_Sub28_Sub15.anInt3689)}, (byte)-75), -1); + } + + if(command.equals(104, Class108.aClass94_1456)) { + Class69.aBoolean1040 = true; + } + /* Client tweening */ + if(command.equals(104, Class3_Sub15.aClass94_2432)) { + if(!Class3_Sub26.aBoolean2558) { + Class3_Sub26.aBoolean2558 = true; + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, Player.aClass94_3961, -1); + } else { + Class3_Sub26.aBoolean2558 = false; + Class3_Sub30_Sub1.sendMessage((RSString)null, 0, Class164.aClass94_2061, -1); + } + } + + if(command.equals(47, Class3_Sub13.aClass94_2380)) { + if(!Class101.aBoolean1419) { + Class20.aClass94_434.method1549(false); + Class101.aBoolean1419 = true; + } else { + Class3_Sub28_Sub12.aClass94_3653.method1549(false); + Class101.aBoolean1419 = false; + } + } + + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(44); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-38, command.length(-83) + -1); + ++Class120.anInt1633; + Class3_Sub13_Sub1.outgoingBuffer.putString(0, command.method1556(2, (byte)-74)); + if(var1) { + aClass94_1089 = (RSString)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "k.H(" + (command != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final Class3_Sub28_Sub10_Sub1 method1309(Class41 var1, byte var2, int var3) { + try { + Class3_Sub28_Sub10_Sub1 var4 = new Class3_Sub28_Sub10_Sub1(); + var4.anInt4061 = 1; + NodeList var5 = this.aClass13_1086; + synchronized(var5) { + if(var2 < 39) { + return (Class3_Sub28_Sub10_Sub1)null; + } + + Class3_Sub28_Sub10_Sub1 var6 = (Class3_Sub28_Sub10_Sub1)this.aClass13_1086.method876((byte)100); + + while(true) { + if(var6 == null) { + break; + } + + if(~var6.aLong2569 == ~((long)var3) && var6.aClass41_4056 == var1 && var6.anInt4061 == 2) { + var4.aByteArray4059 = var6.aByteArray4059; + var4.aBoolean3632 = false; + return var4; + } + + var6 = (Class3_Sub28_Sub10_Sub1)this.aClass13_1086.method878(29); + } + } + + var4.aByteArray4059 = var1.method1051(var3, (byte)85); + var4.aBoolean3632 = false; + var4.aBoolean3628 = true; + return var4; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "k.F(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + public final void run() { + try { + while(!this.aBoolean1091) { + NodeList var2 = this.aClass13_1086; + Class3_Sub28_Sub10_Sub1 var1; + synchronized(var2) { + var1 = (Class3_Sub28_Sub10_Sub1)this.aClass13_1086.method877(-1); + if(null == var1) { + try { + this.aClass13_1086.wait(); + } catch (InterruptedException var6) { + ; + } + continue; + } + + --this.anInt1087; + } + + try { + if(var1.anInt4061 != 2) { + if(-4 == ~var1.anInt4061) { + var1.aByteArray4059 = var1.aClass41_4056.method1051((int)var1.aLong2569, (byte)-77); + } + } else { + var1.aClass41_4056.method1050((int)var1.aLong2569, var1.aByteArray4059.length, var1.aByteArray4059, (byte)-41); + } + } catch (Exception var5) { + Class49.method1125((String)null, var5, (byte)111); + } + + var1.aBoolean3632 = false; + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "k.run()"); + } + } + + public Class73() { + try { + Class64 var1 = Class38.aClass87_665.method1451(0, 5, this); + + while(-1 == ~var1.anInt978) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + if(2 == var1.anInt978) { + throw new RuntimeException(); + } else { + this.aThread1090 = (Thread)var1.anObject974; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "k.()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class74.java b/09HDscape-client/src/org/runite/jagex/Class74.java new file mode 100644 index 000000000..0822c1d3d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class74.java @@ -0,0 +1,657 @@ +package org.runite.jagex; + +final class Class74 { + + static int anInt1092; + static int anInt1093 = 0; + static int anInt1094; + static int anInt1095 = 0; + static int anInt1096 = 0; + static int[] anIntArray1097; + static int[] anIntArray1098; + static int anInt1099 = 0; + static int[] anIntArray1100; + + + static final void method1310() { + anIntArray1097 = null; + anIntArray1098 = null; + } + + static final void method1311(int var0, int var1, int var2, int var3, int var4) { + method1317(var0, var1, var2, var4); + method1317(var0, var1 + var3 - 1, var2, var4); + method1318(var0, var1, var3, var4); + method1318(var0 + var2 - 1, var1, var3, var4); + } + + static final void method1312(int var0, int var1, int var2, int var3, int var4, int var5) { + if(var0 < anInt1093) { + var2 -= anInt1093 - var0; + var0 = anInt1093; + } + + if(var1 < anInt1095) { + var3 -= anInt1095 - var1; + var1 = anInt1095; + } + + if(var0 + var2 > anInt1096) { + var2 = anInt1096 - var0; + } + + if(var1 + var3 > anInt1099) { + var3 = anInt1099 - var1; + } + + var4 = ((var4 & 16711935) * var5 >> 8 & 16711935) + ((var4 & '\uff00') * var5 >> 8 & '\uff00'); + int var6 = 256 - var5; + int var7 = anInt1092 - var2; + int var8 = var0 + var1 * anInt1092; + + for(int var9 = 0; var9 < var3; ++var9) { + for(int var10 = -var2; var10 < 0; ++var10) { + int var11 = anIntArray1100[var8]; + var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + ((var11 & '\uff00') * var6 >> 8 & '\uff00'); + anIntArray1100[var8++] = var4 + var11; + } + + var8 += var7; + } + + } + + private static final void method1313(int var0, int var1, int var2) { + if(var0 >= anInt1093 && var1 >= anInt1095 && var0 < anInt1096 && var1 < anInt1099) { + anIntArray1100[var0 + var1 * anInt1092] = var2; + } + } + + static final void method1314(int[] var0, int[] var1) { + if(var0.length == anInt1099 - anInt1095 && var1.length == anInt1099 - anInt1095) { + anIntArray1097 = var0; + anIntArray1098 = var1; + } else { + throw new IllegalArgumentException(); + } + } + + static final void method1315(int var0, int var1, int var2, int var3, int var4, int var5) { + method1321(var0, var1, var2, var4, var5); + method1321(var0, var1 + var3 - 1, var2, var4, var5); + if(var3 >= 3) { + method1327(var0, var1 + 1, var3 - 2, var4, var5); + method1327(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); + } + + } + + static final void method1316(int[] var0) { + anInt1093 = var0[0]; + anInt1095 = var0[1]; + anInt1096 = var0[2]; + anInt1099 = var0[3]; + method1310(); + } + + static final void method1317(int var0, int var1, int var2, int var3) { + if(var1 >= anInt1095 && var1 < anInt1099) { + if(var0 < anInt1093) { + var2 -= anInt1093 - var0; + var0 = anInt1093; + } + + if(var0 + var2 > anInt1096) { + var2 = anInt1096 - var0; + } + + int var4 = var0 + var1 * anInt1092; + + for(int var5 = 0; var5 < var2; ++var5) { + anIntArray1100[var4 + var5] = var3; + } + + } + } + + static final void method1318(int var0, int var1, int var2, int var3) { + if(var0 >= anInt1093 && var0 < anInt1096) { + if(var1 < anInt1095) { + var2 -= anInt1095 - var1; + var1 = anInt1095; + } + + if(var1 + var2 > anInt1099) { + var2 = anInt1099 - var1; + } + + int var4 = var0 + var1 * anInt1092; + + for(int var5 = 0; var5 < var2; ++var5) { + anIntArray1100[var4 + var5 * anInt1092] = var3; + } + + } + } + + static final void method1319(int[] var0, int var1, int var2) { + anIntArray1100 = var0; + anInt1092 = var1; + anInt1094 = var2; + method1324(0, 0, var1, var2); + } + + static final void method1320() { + int var0 = 0; + + int var1; + for(var1 = anInt1092 * anInt1094 - 7; var0 < var1; anIntArray1100[var0++] = 0) { + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + anIntArray1100[var0++] = 0; + } + + for(var1 += 7; var0 < var1; anIntArray1100[var0++] = 0) { + ; + } + + } + + private static final void method1321(int var0, int var1, int var2, int var3, int var4) { + if(var1 >= anInt1095 && var1 < anInt1099) { + if(var0 < anInt1093) { + var2 -= anInt1093 - var0; + var0 = anInt1093; + } + + if(var0 + var2 > anInt1096) { + var2 = anInt1096 - var0; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = (var3 & 255) * var4; + int var12 = var0 + var1 * anInt1092; + + for(int var13 = 0; var13 < var2; ++var13) { + int var9 = (anIntArray1100[var12] >> 16 & 255) * var5; + int var10 = (anIntArray1100[var12] >> 8 & 255) * var5; + int var11 = (anIntArray1100[var12] & 255) * var5; + int var14 = (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8) + (var8 + var11 >> 8); + anIntArray1100[var12++] = var14; + } + + } + } + + static final void method1322(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var2 - var0; + int var7 = var3 - var1; + int var8 = var6 >= 0?var6:-var6; + int var9 = var7 >= 0?var7:-var7; + int var10 = var8; + if(var8 < var9) { + var10 = var9; + } + + if(var10 != 0) { + int var11 = (var6 << 16) / var10; + int var12 = (var7 << 16) / var10; + if(var12 <= var11) { + var11 = -var11; + } else { + var12 = -var12; + } + + int var13 = var5 * var12 >> 17; + int var14 = var5 * var12 + 1 >> 17; + int var15 = var5 * var11 >> 17; + int var16 = var5 * var11 + 1 >> 17; + var0 -= Class51.method1139(); + var1 -= Class51.method1153(); + int var17 = var0 + var13; + int var18 = var0 - var14; + int var19 = var0 + var6 - var14; + int var20 = var0 + var6 + var13; + int var21 = var1 + var15; + int var22 = var1 - var16; + int var23 = var1 + var7 - var16; + int var24 = var1 + var7 + var15; + Class51.method1148(var17, var18, var19); + Class51.method1144(var21, var22, var23, var17, var18, var19, var4); + Class51.method1148(var17, var19, var20); + Class51.method1144(var21, var23, var24, var17, var19, var20, var4); + } + } + + static final void method1323(int var0, int var1, int var2, int var3, int var4) { + if(var0 < anInt1093) { + var2 -= anInt1093 - var0; + var0 = anInt1093; + } + + if(var1 < anInt1095) { + var3 -= anInt1095 - var1; + var1 = anInt1095; + } + + if(var0 + var2 > anInt1096) { + var2 = anInt1096 - var0; + } + + if(var1 + var3 > anInt1099) { + var3 = anInt1099 - var1; + } + + int var5 = anInt1092 - var2; + int var6 = var0 + var1 * anInt1092; + + for(int var7 = -var3; var7 < 0; ++var7) { + for(int var8 = -var2; var8 < 0; ++var8) { + anIntArray1100[var6++] = var4; + } + + var6 += var5; + } + + } + + static final void method1324(int var0, int var1, int var2, int var3) { + if(var0 < 0) { + var0 = 0; + } + + if(var1 < 0) { + var1 = 0; + } + + if(var2 > anInt1092) { + var2 = anInt1092; + } + + if(var3 > anInt1094) { + var3 = anInt1094; + } + + anInt1093 = var0; + anInt1095 = var1; + anInt1096 = var2; + anInt1099 = var3; + method1310(); + } + + static final void method1325(int[] var0) { + var0[0] = anInt1093; + var0[1] = anInt1095; + var0[2] = anInt1096; + var0[3] = anInt1099; + } + + static final void method1326(int var0, int var1, int var2, int var3) { + if(anInt1093 < var0) { + anInt1093 = var0; + } + + if(anInt1095 < var1) { + anInt1095 = var1; + } + + if(anInt1096 > var2) { + anInt1096 = var2; + } + + if(anInt1099 > var3) { + anInt1099 = var3; + } + + method1310(); + } + + private static final void method1327(int var0, int var1, int var2, int var3, int var4) { + if(var0 >= anInt1093 && var0 < anInt1096) { + if(var1 < anInt1095) { + var2 -= anInt1095 - var1; + var1 = anInt1095; + } + + if(var1 + var2 > anInt1099) { + var2 = anInt1099 - var1; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = (var3 & 255) * var4; + int var12 = var0 + var1 * anInt1092; + + for(int var13 = 0; var13 < var2; ++var13) { + int var9 = (anIntArray1100[var12] >> 16 & 255) * var5; + int var10 = (anIntArray1100[var12] >> 8 & 255) * var5; + int var11 = (anIntArray1100[var12] & 255) * var5; + int var14 = (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8) + (var8 + var11 >> 8); + anIntArray1100[var12] = var14; + var12 += anInt1092; + } + + } + } + + static final void method1328(int var0, int var1, int var2, int var3, int var4) { + var2 -= var0; + var3 -= var1; + if(var3 == 0) { + if(var2 >= 0) { + method1317(var0, var1, var2 + 1, var4); + } else { + method1317(var0 + var2, var1, -var2 + 1, var4); + } + + } else if(var2 == 0) { + if(var3 >= 0) { + method1318(var0, var1, var3 + 1, var4); + } else { + method1318(var0, var1 + var3, -var3 + 1, var4); + } + + } else { + if(var2 + var3 < 0) { + var0 += var2; + var2 = -var2; + var1 += var3; + var3 = -var3; + } + + int var5; + int var6; + if(var2 > var3) { + var1 <<= 16; + var1 += '\u8000'; + var3 <<= 16; + var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); + var2 += var0; + if(var0 < anInt1093) { + var1 += var5 * (anInt1093 - var0); + var0 = anInt1093; + } + + if(var2 >= anInt1096) { + var2 = anInt1096 - 1; + } + + while(var0 <= var2) { + var6 = var1 >> 16; + if(var6 >= anInt1095 && var6 < anInt1099) { + anIntArray1100[var0 + var6 * anInt1092] = var4; + } + + var1 += var5; + ++var0; + } + } else { + var0 <<= 16; + var0 += '\u8000'; + var2 <<= 16; + var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); + var3 += var1; + if(var1 < anInt1095) { + var0 += var5 * (anInt1095 - var1); + var1 = anInt1095; + } + + if(var3 >= anInt1099) { + var3 = anInt1099 - 1; + } + + while(var1 <= var3) { + var6 = var0 >> 16; + if(var6 >= anInt1093 && var6 < anInt1096) { + anIntArray1100[var6 + var1 * anInt1092] = var4; + } + + var0 += var5; + ++var1; + } + } + + } + } + + private static final void method1329(int var0, int var1, int var2, int var3) { + if(var2 == 0) { + method1313(var0, var1, var3); + } else { + if(var2 < 0) { + var2 = -var2; + } + + int var4 = var1 - var2; + if(var4 < anInt1095) { + var4 = anInt1095; + } + + int var5 = var1 + var2 + 1; + if(var5 > anInt1099) { + var5 = anInt1099; + } + + int var6 = var4; + int var7 = var2 * var2; + int var8 = 0; + int var9 = var1 - var4; + int var10 = var9 * var9; + int var11 = var10 - var9; + if(var1 > var5) { + var1 = var5; + } + + int var12; + int var13; + int var14; + int var15; + while(var6 < var1) { + while(var11 <= var7 || var10 <= var7) { + var10 += var8 + var8; + var11 += var8++ + var8; + } + + var12 = var0 - var8 + 1; + if(var12 < anInt1093) { + var12 = anInt1093; + } + + var13 = var0 + var8; + if(var13 > anInt1096) { + var13 = anInt1096; + } + + var14 = var12 + var6 * anInt1092; + + for(var15 = var12; var15 < var13; ++var15) { + anIntArray1100[var14++] = var3; + } + + ++var6; + var10 -= var9-- + var9; + var11 -= var9 + var9; + } + + var8 = var2; + var9 = var6 - var1; + var11 = var9 * var9 + var7; + var10 = var11 - var2; + + for(var11 -= var9; var6 < var5; var10 += var9++ + var9) { + while(var11 > var7 && var10 > var7) { + var11 -= var8-- + var8; + var10 -= var8 + var8; + } + + var12 = var0 - var8; + if(var12 < anInt1093) { + var12 = anInt1093; + } + + var13 = var0 + var8; + if(var13 > anInt1096 - 1) { + var13 = anInt1096 - 1; + } + + var14 = var12 + var6 * anInt1092; + + for(var15 = var12; var15 <= var13; ++var15) { + anIntArray1100[var14++] = var3; + } + + ++var6; + var11 += var9 + var9; + } + + } + } + + static final void method1330(int var0, int var1, int var2, int var3, int var4) { + if(var4 != 0) { + if(var4 == 256) { + method1329(var0, var1, var2, var3); + } else { + if(var2 < 0) { + var2 = -var2; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = (var3 & 255) * var4; + int var12 = var1 - var2; + if(var12 < anInt1095) { + var12 = anInt1095; + } + + int var13 = var1 + var2 + 1; + if(var13 > anInt1099) { + var13 = anInt1099; + } + + int var14 = var12; + int var15 = var2 * var2; + int var16 = 0; + int var17 = var1 - var12; + int var18 = var17 * var17; + int var19 = var18 - var17; + if(var1 > var13) { + var1 = var13; + } + + int var9; + int var10; + int var11; + int var21; + int var20; + int var23; + int var22; + int var24; + while(var14 < var1) { + while(var19 <= var15 || var18 <= var15) { + var18 += var16 + var16; + var19 += var16++ + var16; + } + + var20 = var0 - var16 + 1; + if(var20 < anInt1093) { + var20 = anInt1093; + } + + var21 = var0 + var16; + if(var21 > anInt1096) { + var21 = anInt1096; + } + + var22 = var20 + var14 * anInt1092; + + for(var23 = var20; var23 < var21; ++var23) { + var9 = (anIntArray1100[var22] >> 16 & 255) * var5; + var10 = (anIntArray1100[var22] >> 8 & 255) * var5; + var11 = (anIntArray1100[var22] & 255) * var5; + var24 = (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8) + (var8 + var11 >> 8); + anIntArray1100[var22++] = var24; + } + + ++var14; + var18 -= var17-- + var17; + var19 -= var17 + var17; + } + + var16 = var2; + var17 = -var17; + var19 = var17 * var17 + var15; + var18 = var19 - var2; + + for(var19 -= var17; var14 < var13; var18 += var17++ + var17) { + while(var19 > var15 && var18 > var15) { + var19 -= var16-- + var16; + var18 -= var16 + var16; + } + + var20 = var0 - var16; + if(var20 < anInt1093) { + var20 = anInt1093; + } + + var21 = var0 + var16; + if(var21 > anInt1096 - 1) { + var21 = anInt1096 - 1; + } + + var22 = var20 + var14 * anInt1092; + + for(var23 = var20; var23 <= var21; ++var23) { + var9 = (anIntArray1100[var22] >> 16 & 255) * var5; + var10 = (anIntArray1100[var22] >> 8 & 255) * var5; + var11 = (anIntArray1100[var22] & 255) * var5; + var24 = (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8) + (var8 + var11 >> 8); + anIntArray1100[var22++] = var24; + } + + ++var14; + var19 += var17 + var17; + } + + } + } + } + + static final void method1331() { + anInt1093 = 0; + anInt1095 = 0; + anInt1096 = anInt1092; + anInt1099 = anInt1094; + method1310(); + } + + static final void method1332(int var0, int var1, int var2, int[] var3, int[] var4) { + int var5 = var0 + var1 * anInt1092; + + for(var1 = 0; var1 < var3.length; ++var1) { + int var6 = var5 + var3[var1]; + + for(var0 = -var4[var1]; var0 < 0; ++var0) { + anIntArray1100[var6++] = var2; + } + + var5 += anInt1092; + } + + } + + public static void method1333() { + anIntArray1100 = null; + anIntArray1097 = null; + anIntArray1098 = null; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class75.java b/09HDscape-client/src/org/runite/jagex/Class75.java new file mode 100644 index 000000000..100d6744e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class75.java @@ -0,0 +1,106 @@ +package org.runite.jagex; + +abstract class Class75 { + + int anInt1101; + static long aLong1102 = 0L; + static Class3_Sub28_Sub5[] aClass3_Sub28_Sub5Array1103 = new Class3_Sub28_Sub5[14]; + int anInt1104; + static int anInt1105; + int anInt1106; + static int[] anIntArray1107 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}; + static int anInt1108 = 0; + static int anInt1109 = 0; + + + public static void method1334(byte var0) { + try { + anIntArray1107 = null; + aClass3_Sub28_Sub5Array1103 = null; + if(var0 != -115) { + anIntArray1107 = (int[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kf.J(" + var0 + ')'); + } + } + + abstract void method1335(int var1, int var2, int var3); + + static final Class25 method1336(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + for(int var4 = 0; var4 < var3.anInt2223; ++var4) { + Class25 var5 = var3.aClass25Array2221[var4]; + if((var5.aLong498 >> 29 & 3L) == 2L && var5.anInt483 == var1 && var5.anInt478 == var2) { + return var5; + } + } + + return null; + } + } + + Class75(int var1, int var2, int var3) { + try { + this.anInt1104 = var2; + this.anInt1106 = var3; + this.anInt1101 = var1; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "kf.(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + abstract void method1337(int var1, boolean var2, int var3); + + static final int method1338(int var0, int var1) { + try { + if(var1 <= 13) { + anIntArray1107 = (int[])null; + } + + return 255 & var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kf.H(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1339(RSString var0, int var1) { + try { + if(var1 == 0) { + for(Class3_Sub28_Sub3 var2 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1222(); var2 != null; var2 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1221()) { + if(var2.aClass94_3561.method1528((byte)-42, var0)) { + RSByteBuffer.aClass3_Sub28_Sub3_2600 = var2; + return; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kf.G(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final void method1340(int var0, int var1, byte var2, int var3, int var4) { + try { + if(var2 != -40) { + anInt1105 = 43; + } + + for(int var5 = 0; ~Class3_Sub28_Sub3.anInt3557 < ~var5; ++var5) { + if(~(Class3_Sub28_Sub18.anIntArray3768[var5] + Class155.anIntArray1969[var5]) < ~var0 && ~(var1 + var0) < ~Class155.anIntArray1969[var5] && ~var3 > ~(Class140_Sub4.anIntArray2794[var5] + Player.anIntArray3954[var5]) && Player.anIntArray3954[var5] < var3 - -var4) { + Class3_Sub28_Sub14.aBooleanArray3674[var5] = true; + } + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "kf.I(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + abstract void method1341(int var1, int var2, int var3); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class75_Sub1.java b/09HDscape-client/src/org/runite/jagex/Class75_Sub1.java new file mode 100644 index 000000000..ab266e576 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class75_Sub1.java @@ -0,0 +1,142 @@ +package org.runite.jagex; + +final class Class75_Sub1 extends Class75 { + + private int anInt2629; + private int anInt2630; + static LDIndexedSprite aClass109_Sub1_2631 = null; + private int anInt2632; + static int anInt2633; + static short[][] aShortArrayArray2634 = new short[][]{{(short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)4, (short)24, (short)44, (short)64, (short)84, (short)104, (short)304, (short)678, (short)698, (short)550, (short)934, (short)954, (short)6448, (short)6946, (short)6966, (short)2352, (short)2726, (short)2746, (short)10544, (short)10918, (short)10938, (short)10304, (short)10550, (short)10570, (short)14640, (short)15014, (short)15034, (short)19760, (short)20134, (short)20154, (short)-29392, (short)-29018, (short)-28998, (short)31024, (short)31270, (short)31290, (short)-24272, (short)-23898, (short)-23878, (short)-19152, (short)-18778, (short)-18758, (short)-14032, (short)-13658, (short)-13638, (short)-6864, (short)-6490, (short)-6470, (short)516, (short)536, (short)6788, (short)6808, (short)11012, (short)11032, (short)14980, (short)15000, (short)21124, (short)21144, (short)-28924, (short)-28904, (short)-22012, (short)-21992, (short)-12924, (short)-12904}, {(short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)10339, (short)10574, (short)10425, (short)10398, (short)10345, (short)7512, (short)8507, (short)7378, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0}, {(short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)4, (short)24, (short)44, (short)64, (short)84, (short)104, (short)304, (short)678, (short)698, (short)550, (short)934, (short)954, (short)6448, (short)6946, (short)6966, (short)2352, (short)2726, (short)2746, (short)10544, (short)10918, (short)10938, (short)10304, (short)10550, (short)10570, (short)14640, (short)15014, (short)15034, (short)19760, (short)20134, (short)20154, (short)-29392, (short)-29018, (short)-28998, (short)31024, (short)31270, (short)31290, (short)-24272, (short)-23898, (short)-23878, (short)-19152, (short)-18778, (short)-18758, (short)-14032, (short)-13658, (short)-13638, (short)-6864, (short)-6490, (short)-6470, (short)516, (short)536, (short)6788, (short)6808, (short)11012, (short)11032, (short)14980, (short)15000, (short)21124, (short)21144, (short)-28924, (short)-28904, (short)-22012, (short)-21992, (short)-12924, (short)-12904}, {(short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)13753, (short)13737, (short)13719, (short)13883, (short)13863, (short)13974, (short)19643, (short)18601, (short)16532, (short)23993, (short)25121, (short)24980, (short)26944, (short)26921, (short)24854, (short)27191, (short)27171, (short)26130, (short)26941, (short)28696, (short)30100, (short)12477, (short)10407, (short)10388, (short)10685, (short)10665, (short)10646, (short)6711, (short)6693, (short)6674, (short)6965, (short)7073, (short)7056, (short)2361, (short)4387, (short)3346, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0}, {(short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)0, (short)4, (short)24, (short)44, (short)64, (short)84, (short)104, (short)304, (short)678, (short)698, (short)550, (short)934, (short)954, (short)6448, (short)6946, (short)6966, (short)2352, (short)2726, (short)2746, (short)10544, (short)10918, (short)10938, (short)10304, (short)10550, (short)10570, (short)14640, (short)15014, (short)15034, (short)19760, (short)20134, (short)20154, (short)-29392, (short)-29018, (short)-28998, (short)31024, (short)31270, (short)31290, (short)-24272, (short)-23898, (short)-23878, (short)-19152, (short)-18778, (short)-18758, (short)-14032, (short)-13658, (short)-13638, (short)-6864, (short)-6490, (short)-6470, (short)516, (short)536, (short)6788, (short)6808, (short)11012, (short)11032, (short)14980, (short)15000, (short)21124, (short)21144, (short)-28924, (short)-28904, (short)-22012, (short)-21992, (short)-12924, (short)-12904}}; + private int anInt2635; + + + final void method1335(int var1, int var2, int var3) { + try { + if(var3 == 4898) { + ; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ci.D(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method1341(int var1, int var2, int var3) { + try { + if(var1 != 2) { + method1342((int[])null, (int[])null, (Player)null, (byte)-68, (int[])null); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ci.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1342(int[] var0, int[] var1, Player var2, byte var3, int[] var4) { + try { + int var5 = 0; + if(var3 > -97) { + method1343(true); + } + + while(var1.length > var5) { + int var6 = var1[var5]; + int var7 = var4[var5]; + int var8 = var0[var5]; + + for(int var9 = 0; ~var7 != -1 && ~var9 > ~var2.aClass145Array2809.length; var7 >>>= 1) { + if(~(1 & var7) != -1) { + if(~var6 == 0) { + var2.aClass145Array2809[var9] = null; + } else { + AnimationDefinition var10 = Client.getAnimationDefinition(var6, (byte)-20); + int var11 = var10.anInt1845; + Class145 var12 = var2.aClass145Array2809[var9]; + if(var12 != null) { + if(~var6 == ~var12.animationId) { + if(var11 != 0) { + if(1 == var11) { + var12.anInt1894 = 0; + var12.anInt1891 = 1; + var12.anInt1893 = 0; + var12.anInt1900 = var8; + var12.anInt1897 = 0; + IOHandler.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, var2 == Class102.player, 0); + } else if(-3 == ~var11) { + var12.anInt1894 = 0; + } + } else { + var12 = var2.aClass145Array2809[var9] = null; + } + } else if(var10.anInt1857 >= Client.getAnimationDefinition(var12.animationId, (byte)-20).anInt1857) { + var12 = var2.aClass145Array2809[var9] = null; + } + } + + if(null == var12) { + var12 = var2.aClass145Array2809[var9] = new Class145(); + var12.animationId = var6; + var12.anInt1891 = 1; + var12.anInt1897 = 0; + var12.anInt1900 = var8; + var12.anInt1893 = 0; + var12.anInt1894 = 0; + IOHandler.method1470(var2.anInt2829, var10, 183921384, var2.anInt2819, var2 == Class102.player, 0); + } + } + } + + ++var9; + } + + ++var5; + } + + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "ci.B(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + public static void method1343(boolean var0) { + try { + aClass109_Sub1_2631 = null; + aShortArrayArray2634 = (short[][])null; + if(var0) { + aShortArrayArray2634 = (short[][])((short[][])null); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ci.C(" + var0 + ')'); + } + } + + final void method1337(int var1, boolean var2, int var3) { + try { + int var4 = var3 * this.anInt2629 >> 12; + if(!var2) { + this.method1335(67, -82, -112); + } + + int var5 = this.anInt2635 * var3 >> 12; + int var6 = var1 * this.anInt2630 >> 12; + int var7 = var1 * this.anInt2632 >> 12; + Class3_Sub13_Sub34.method330(this.anInt1104, -111, var7, var4, var6, var5); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ci.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + Class75_Sub1(int var1, int var2, int var3, int var4, int var5, int var6) { + super(-1, var5, var6); + + try { + this.anInt2632 = var4; + this.anInt2630 = var2; + this.anInt2629 = var1; + this.anInt2635 = var3; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ci.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class75_Sub2.java b/09HDscape-client/src/org/runite/jagex/Class75_Sub2.java new file mode 100644 index 000000000..1652e5fbf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class75_Sub2.java @@ -0,0 +1,104 @@ +package org.runite.jagex; + +final class Class75_Sub2 extends Class75 { + + private int anInt2636; + static Class33 aClass33_2637; + static Class3_Sub2[][][] aClass3_Sub2ArrayArrayArray2638; + static int[] anIntArray2639; + static int anInt2640; + static RSString aClass94_2641 = RSString.createRSString("K"); + static int[] anIntArray2642 = new int[]{1, 1, 1, 1, 4, 1, 1, 5, 6, 1, 5, 0, 7, 0, 4, 1, 7, 2, 1, 1, 6, 1, 1, 3, 6, 1, 7, 0, 0, 6, 7, 0, 1, 7, 6, 1, 1, 1, 5, 4, 3, 2, 1, 1, 0, 4, 1, 5}; + static int anInt2643; + private int anInt2644; + static CacheIndex aClass153_2645; + private int anInt2646; + private int anInt2647; + static Class33 aClass33_2648; + + + final void method1341(int var1, int var2, int var3) { + try { + int var4 = this.anInt2646 * var2 >> 12; + int var5 = var2 * this.anInt2636 >> 12; + int var6 = this.anInt2644 * var3 >> 12; + int var7 = this.anInt2647 * var3 >> 12; + if(var1 == 2) { + Class95.method1584(this.anInt1101, var7, var4, var6, -26571, var5); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "kc.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class3_Sub28_Sub16 method1344(int var0, CacheIndex var1, int var2) { + try { + if(var0 < 29) { + aClass3_Sub2ArrayArrayArray2638 = (Class3_Sub2[][][])((Class3_Sub2[][][])null); + } + + return !Class140_Sub7.method2029((byte)-121, var1, var2)?null:Class43.method1062(99); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "kc.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final void method1337(int var1, boolean var2, int var3) { + try { + if(!var2) { + this.method1337(-7, false, 66); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "kc.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method1345(int var0) { + try { + aClass94_2641 = null; + if(var0 >= -38) { + method1344(93, (CacheIndex)null, -70); + } + + anIntArray2642 = null; + aClass3_Sub2ArrayArrayArray2638 = (Class3_Sub2[][][])null; + aClass33_2648 = null; + aClass33_2637 = null; + aClass153_2645 = null; + anIntArray2639 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kc.B(" + var0 + ')'); + } + } + + final void method1335(int var1, int var2, int var3) { + try { + int var4 = var2 * this.anInt2646 >> 12; + if(var3 != 4898) { + this.anInt2644 = -39; + } + + int var7 = this.anInt2647 * var1 >> 12; + int var6 = this.anInt2644 * var1 >> 12; + int var5 = this.anInt2636 * var2 >> 12; + Class3_Sub13_Sub12.method223(true, this.anInt1106, var4, var6, var7, this.anInt1104, this.anInt1101, var5); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "kc.D(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + Class75_Sub2(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + super(var5, var6, var7); + + try { + this.anInt2647 = var4; + this.anInt2646 = var1; + this.anInt2644 = var2; + this.anInt2636 = var3; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "kc.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class75_Sub3.java b/09HDscape-client/src/org/runite/jagex/Class75_Sub3.java new file mode 100644 index 000000000..807cb3048 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class75_Sub3.java @@ -0,0 +1,166 @@ +package org.runite.jagex; + +final class Class75_Sub3 extends Class75 { + + private int anInt2649; + private int anInt2650; + static int anInt2651; + private int anInt2652; + static RSString aClass94_2653 = RSString.createRSString("Hierhin gehen"); + private int anInt2654; + private int anInt2655; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array2656; + private int anInt2657; + static int anInt2658; + private int anInt2659; + static CacheIndex aClass153_2660; + private int anInt2661; + + + final void method1337(int var1, boolean var2, int var3) { + try { + int var4 = var3 * this.anInt2654 >> 12; + int var6 = var3 * this.anInt2661 >> 12; + int var7 = this.anInt2649 * var1 >> 12; + int var5 = this.anInt2657 * var1 >> 12; + int var8 = this.anInt2655 * var3 >> 12; + int var9 = var1 * this.anInt2652 >> 12; + int var10 = this.anInt2659 * var3 >> 12; + if(!var2) { + aClass94_2653 = (RSString)null; + } + + int var11 = var1 * this.anInt2650 >> 12; + Class108.method1652(var6, var10, var9, var11, var5, var4, var8, var7, this.anInt1104, 0); + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "re.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1346(int var0) { + try { + Class3_Sub13_Sub2.method174(4096, 5); + Class38.method1027(5, (byte)69); + Class3_Sub24_Sub3.method465(5, true); + Class3_Sub24_Sub4.method474(2, 5); + Class140_Sub6.method2025((byte)-62, 5); + Class114.method1711(5, var0 + -25956); + Class3_Sub9.method137(5, (byte)-118); + Class3_Sub19.method386(5, var0 ^ -26138); + RSByteBuffer.method795((byte)14, 5); + Class3_Sub28_Sub3.method539(var0 ^ var0, 5); + Class3_Sub13_Sub4.method188(5, 0); + Class166.method2260(var0 + -27256, 5); + Class3_Sub28_Sub10_Sub1.method594(var0 + -26090, 5); + Class3_Sub28_Sub10_Sub1.method595(5, 109); + Class3_Sub31.method820(5, 64); + Class25.method953(-13508, 50); + Class3_Sub13_Sub21.method269(-5, 5); + Class77.method1366(104, 5); + Class3_Sub13_Sub11.aClass93_3130.method1522(-125, 5); + Class80.aClass93_1135.method1522(var0 ^ -26142, 5); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "re.K(" + var0 + ')'); + } + } + + final void method1341(int var1, int var2, int var3) { + try { + if(var1 != 2) { + aClass153_2660 = (CacheIndex)null; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "re.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method1335(int var1, int var2, int var3) { + try { + if(var3 != 4898) { + this.anInt2655 = -64; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "re.D(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + Class75_Sub3(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + super(-1, var9, var10); + + try { + this.anInt2657 = var2; + this.anInt2659 = var7; + this.anInt2655 = var5; + this.anInt2654 = var1; + this.anInt2650 = var8; + this.anInt2652 = var6; + this.anInt2649 = var4; + this.anInt2661 = var3; + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "re.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + static final Class3_Sub28_Sub16[] method1347(int var0) { + try { + if(var0 != -26802) { + return (Class3_Sub28_Sub16[])null; + } else { + Class3_Sub28_Sub16[] var1 = new Class3_Sub28_Sub16[Class95.anInt1338]; + + for(int var2 = 0; Class95.anInt1338 > var2; ++var2) { + byte[] var4 = Class163_Sub1.aByteArrayArray2987[var2]; + int var3 = Class3_Sub13_Sub6.anIntArray3076[var2] * Class140_Sub7.anIntArray2931[var2]; + if(Class3_Sub13_Sub22.aBooleanArray3272[var2]) { + int[] var6 = new int[var3]; + byte[] var5 = Class163_Sub3.aByteArrayArray3005[var2]; + + for(int var7 = 0; var3 > var7; ++var7) { + var6[var7] = Class3_Sub13_Sub29.bitwiseOr(Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(var4[var7], 255)], Class3_Sub28_Sub15.method633(-16777216, var5[var7] << 24)); + } + + if(!HDToolKit.highDetail) { + var1[var2] = new Class3_Sub28_Sub16_Sub2_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var6); + } else { + var1[var2] = new Class3_Sub28_Sub16_Sub1_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var6); + } + } else { + int[] var9 = new int[var3]; + + for(int var10 = 0; ~var10 > ~var3; ++var10) { + var9[var10] = Class3_Sub13_Sub38.spritePalette[Class3_Sub28_Sub15.method633(var4[var10], 255)]; + } + + if(HDToolKit.highDetail) { + var1[var2] = new Class3_Sub28_Sub16_Sub1(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var9); + } else { + var1[var2] = new Class3_Sub28_Sub16_Sub2(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[var2], RSByteBuffer.anIntArray2591[var2], Class140_Sub7.anIntArray2931[var2], Class3_Sub13_Sub6.anIntArray3076[var2], var9); + } + } + } + + Class39.method1035((byte)106); + return var1; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "re.B(" + var0 + ')'); + } + } + + public static void method1348(byte var0) { + try { + aClass153_2660 = null; + if(var0 != 100) { + method1347(-79); + } + + aClass94_2653 = null; + aClass3_Sub28_Sub16Array2656 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "re.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class75_Sub4.java b/09HDscape-client/src/org/runite/jagex/Class75_Sub4.java new file mode 100644 index 000000000..52035a5e5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class75_Sub4.java @@ -0,0 +1,316 @@ +package org.runite.jagex; + +final class Class75_Sub4 extends Class75 { + + static RSString aClass94_2662 = RSString.createRSString("Zugewiesener Speicher)3"); + static int[] anIntArray2663; + static int[] anIntArray2664; + private static RSString aClass94_2665 = RSString.createRSString("Choose Option"); + private int anInt2666; + static RSString aClass94_2667 = aClass94_2665; + static int[] anIntArray2668 = new int[]{-1, 0, 8, 0, 2, 0, 0, 0, 0, 12, 0, 1, 0, 3, 7, 0, 15, 6, 0, 0, 4, 7, -2, -1, 2, 0, 2, 8, 0, 0, 0, 0, -2, 5, 0, 0, 8, 3, 6, 0, 0, 0, -1, 0, -1, 0, 0, 6, -2, 0, 12, 0, 0, 0, -1, -2, 10, 0, 0, 0, 3, 0, -1, 0, 0, 5, 6, 0, 0, 8, -1, -1, 0, 8, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 6, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 5, 0, 0, -2, 0, 0, 0, 0, 0, 12, 2, 0, -2, -2, 20, 0, 0, 10, 0, 15, 0, -1, 0, 8, -2, 0, 0, 0, 8, 0, 12, 0, 0, 7, 0, 0, 0, 0, 0, -1, -1, 0, 4, 5, 0, 0, 0, 6, 0, 0, 0, 0, 8, 9, 0, 0, 0, 2, -1, 0, -2, 0, 4, 14, 0, 0, 0, 24, 0, -2, 5, 0, 0, 0, 10, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 2, 1, 0, 0, 2, -1, 1, 0, 0, 0, 0, 14, 0, 0, 0, 0, 10, 5, 0, 0, 0, 0, 0, -2, 0, 0, 9, 0, 0, 8, 0, 0, 0, 0, -2, 6, 0, 0, 0, -2, 0, 3, 0, 1, 7, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 3, 0, 0}; + private int anInt2669; + static int anInt2670 = 0; + private int anInt2671; + private int anInt2672; + + + static final void renderNPCMasks(int var0) { + try { + int i; + for(i = 0; Class66.maskUpdateCount > i; ++i) { + int mask = Class21.maskUpdateIndexes[i]; + NPC npc = Class3_Sub13_Sub24.npcs[mask]; + int var4 = GraphicDefinition.incomingBuffer.getByte((byte)-122); + if((var4 & 8) != 0) { + var4 += GraphicDefinition.incomingBuffer.getByte((byte)-90) << 8; + } + + int var5; + int var6; + //Ordinal: 0 Hit + if(-1 != ~(64 & var4)) { + var5 = GraphicDefinition.incomingBuffer.getByte((byte)-57); + var6 = GraphicDefinition.incomingBuffer.getByteC(true); + npc.method1970(var6, -8, Class44.anInt719, var5); + npc.anInt2781 = 300 + Class44.anInt719; + npc.anInt2775 = GraphicDefinition.incomingBuffer.getByteS(true); + } + + //Ordinal: 1 Hit 2 + if((var4 & 2) != 0) { + var5 = GraphicDefinition.incomingBuffer.getByteC(true); + var6 = GraphicDefinition.incomingBuffer.getByteS(true); + npc.method1970(var6, -8, Class44.anInt719, var5); + } + + //Ordinal: 2 Animation + if((var4 & 16) != 0) { + var5 = GraphicDefinition.incomingBuffer.getShort(1); + var6 = GraphicDefinition.incomingBuffer.getByte((byte)-83); + if('\uffff' == var5) { + var5 = -1; + } + + Class130.method1772(var6, var5, 39, npc); + } + + //Ordinal: 3 Face entity + if(-1 != ~(var4 & 4)) { + npc.anInt2772 = GraphicDefinition.incomingBuffer.getShortA(-117); + if(-65536 == ~npc.anInt2772) { + npc.anInt2772 = -1; + } + } + + //Ordinal: 4 Graphic + if(0 != (var4 & 128)) { + var5 = GraphicDefinition.incomingBuffer.getShortA(46); + if(var5 == '\uffff') { + var5 = -1; + } + + var6 = GraphicDefinition.incomingBuffer.getLEInt(-46); + boolean var7 = true; + if(0 != ~var5 && 0 != ~npc.anInt2842 && Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, var5).anInt542, (byte)-20).anInt1857 < Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, npc.anInt2842).anInt542, (byte)-20).anInt1857) { + var7 = false; + } + + if(var7) { + npc.anInt2842 = var5; + npc.anInt2759 = ('\uffff' & var6) + Class44.anInt719; + npc.anInt2761 = 0; + npc.anInt2805 = 0; + npc.anInt2799 = var6 >> 16; + npc.anInt2826 = 1; + if(npc.anInt2759 > Class44.anInt719) { + npc.anInt2805 = -1; + } + + if(npc.anInt2842 != -1 && ~npc.anInt2759 == ~Class44.anInt719) { + int var8 = RenderAnimationDefinition.getGraphicDefinition((byte)42, npc.anInt2842).anInt542; + if(0 != ~var8) { + AnimationDefinition var9 = Client.getAnimationDefinition(var8, (byte)-20); + if(null != var9 && var9.frames != null) { + IOHandler.method1470(npc.anInt2829, var9, 183921384, npc.anInt2819, false, 0); + } + } + } + } + } + + //Ordinal: 5 Transform + if((1 & var4) != 0) { + if(npc.definition.method1474(-1)) { + Class3_Sub28_Sub8.method574(npc, false); + } + + npc.setDefinitions(-1, Node.method522(GraphicDefinition.incomingBuffer.getLEShort(-84), 27112)); + npc.setSize(npc.definition.size, 2); + npc.renderAnimationId = npc.definition.renderAnimationId; + if(npc.definition.method1474(-1)) { + Class70.method1286(npc.anIntArray2755[0], false, (ObjectDefinition)null, 0, npc, npc.anIntArray2767[0], WorldListCountry.localPlane, (Player)null); + } + } + + //Ordinal: 6 Force chat + if(-1 != ~(var4 & 32)) { + npc.textSpoken = GraphicDefinition.incomingBuffer.getString(); + npc.textCycle = 100; + } + + //Ordinal: 7 + if((256 & var4) != 0) { + var5 = GraphicDefinition.incomingBuffer.getByteC(true); + int[] var12 = new int[var5]; + int[] var13 = new int[var5]; + int[] var14 = new int[var5]; + + for(int var15 = 0; ~var15 > ~var5; ++var15) { + int var10 = GraphicDefinition.incomingBuffer.getLEShort(-101); + if(var10 == '\uffff') { + var10 = -1; + } + + var12[var15] = var10; + var13[var15] = GraphicDefinition.incomingBuffer.getByteS(true); + var14[var15] = GraphicDefinition.incomingBuffer.getShort(1); + } + + Class3_Sub13_Sub22.method273(var14, (byte)92, npc, var13, var12); + } + + //Ordinal: 8 Face location + if((var4 & 512) != 0) { + npc.anInt2786 = GraphicDefinition.incomingBuffer.getShortA(-103); + npc.anInt2762 = GraphicDefinition.incomingBuffer.getShort(1); + } + } + + i = 44 % ((27 - var0) / 39); + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ta.M(" + var0 + ')'); + } + } + + final void method1337(int var1, boolean var2, int var3) { + try { + int var5 = var3 * this.anInt2666 >> 12; + int var7 = this.anInt2669 * var1 >> 12; + int var4 = this.anInt2671 * var3 >> 12; + int var6 = this.anInt2672 * var1 >> 12; + if(var2) { + Class145.method2072(this.anInt1104, var4, var6, var5, var7, this.anInt1106, -2); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ta.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method1350(byte var0) { + try { + anIntArray2664 = null; + aClass94_2662 = null; + aClass94_2665 = null; + if(var0 != 75) { + method1350((byte)-116); + } + + aClass94_2667 = null; + anIntArray2668 = null; + anIntArray2663 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ta.C(" + var0 + ')'); + } + } + + Class75_Sub4(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + super(var5, var6, var7); + + try { + this.anInt2672 = var2; + this.anInt2666 = var3; + this.anInt2671 = var1; + this.anInt2669 = var4; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ta.(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final void method1341(int var1, int var2, int var3) { + try { + int var4 = this.anInt2671 * var2 >> 12; + int var5 = var2 * this.anInt2666 >> 12; + int var6 = var3 * this.anInt2672 >> 12; + int var7 = var3 * this.anInt2669 >> 12; + Class3_Sub29.method730(var4, this.anInt1101, (byte)121, var7, var5, var6); + if(var1 != 2) { + aClass94_2665 = (RSString)null; + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ta.A(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final boolean method1351(CacheIndex var0, int var1, int archiveId, int var3) { + try { + byte[] var4 = var0.getFile(archiveId, (byte)-122, var1); + if(var3 != -30901) { + aClass94_2662 = (RSString)null; + } + + if(var4 != null) { + Class45.method1082(var4, 98); + return true; + } else { + return false; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ta.N(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + archiveId + ',' + var3 + ')'); + } + } + + final void method1335(int var1, int var2, int var3) { + try { + if(var3 == 4898) { + int var4 = var2 * this.anInt2671 >> 12; + int var6 = this.anInt2672 * var1 >> 12; + int var5 = var2 * this.anInt2666 >> 12; + int var7 = this.anInt2669 * var1 >> 12; + Class3_Sub13_Sub5.method194(this.anInt1106, var7, this.anInt1101, this.anInt1104, var6, 4096, var5, var4); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ta.D(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1352(int var0, boolean var1, int var2, int var3, int var4) { + try { + if(Canvas_Sub2.loadInterface(var3, 104)) { + Class158.method2183(var2, var1, var4, 235, var0, GameObject.aClass11ArrayArray1834[var3]); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ta.K(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1353(Class3_Sub28_Sub16_Sub2[] var0, int var1, CacheIndex var2) { + try { + Class3_Sub13_Sub17.aClass153_3210 = var2; + GameObject.aClass3_Sub28_Sub16_Sub2Array1839 = var0; + if(var1 == -11931) { + Class3_Sub24_Sub4.aBooleanArray3503 = new boolean[GameObject.aClass3_Sub28_Sub16_Sub2Array1839.length]; + Class134.aClass61_1758.method1211(-68); + int var3 = Class3_Sub13_Sub17.aClass153_3210.getArchiveForName(Class3_Sub8.aClass94_2304, (byte)-30); + int[] var4 = Class3_Sub13_Sub17.aClass153_3210.getFileIds((byte)-128, var3); + + for(int var5 = 0; ~var4.length < ~var5; ++var5) { + Class134.aClass61_1758.method1215(true, Class124.method1747(new RSByteBuffer(Class3_Sub13_Sub17.aClass153_3210.getFile(var3, (byte)-122, var4[var5])), true)); + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ta.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method1354(int var0, int var1, boolean var2, int var3, int var4) { + try { + if(var4 >= Class159.anInt2020 && var4 <= Class57.anInt902) { + var0 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var0, (byte)0, Class101.anInt1425); + var3 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var3, (byte)0, Class101.anInt1425); + Class3_Sub13_Sub32.method320(var1, var4, var3, (byte)-123, var0); + } + + if(!var2) { + aClass94_2665 = (RSString)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ta.L(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method1355(boolean var0) { + try { + Class3_Sub25.aClass129_2552.method1770(-124); + + int var1; + for(var1 = 0; var1 < 32; ++var1) { + Class163_Sub1.aLongArray2986[var1] = 0L; + } + + if(var0) { + for(var1 = 0; var1 < 32; ++var1) { + Class134.aLongArray1766[var1] = 0L; + } + + Class133.anInt1754 = 0; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ta.O(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class76.java b/09HDscape-client/src/org/runite/jagex/Class76.java new file mode 100644 index 000000000..293ab37af --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class76.java @@ -0,0 +1,318 @@ +package org.runite.jagex; + +final class Class76 { + + static final void method1356(long[] var0, int var1, long[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 3; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 3; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 3; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 3; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1357(byte[] var0, int var1, byte[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1358(int[] var0, int var1, int[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1359(int[] var0, int var1, int var2, int var3) { + for(var2 = var1 + var2 - 7; var1 < var2; var0[var1++] = var3) { + var0[var1++] = var3; + var0[var1++] = var3; + var0[var1++] = var3; + var0[var1++] = var3; + var0[var1++] = var3; + var0[var1++] = var3; + var0[var1++] = var3; + } + + for(var2 += 7; var1 < var2; var0[var1++] = var3) { + ; + } + + } + + static final void method1360(float[] var0, int var1, float[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1361(short[] var0, int var1, short[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1362(Object[] var0, int var1, Object[] var2, int var3, int var4) { + if(var0 == var2) { + if(var1 == var3) { + return; + } + + if(var3 > var1 && var3 < var1 + var4) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; + + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } + + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } + + return; + } + } + + var4 += var1; + + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } + + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } + + } + + static final void method1363(int[] var0, int var1, int var2) { + for(var2 = var1 + var2 - 7; var1 < var2; var0[var1++] = 0) { + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + } + + for(var2 += 7; var1 < var2; var0[var1++] = 0) { + ; + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class77.java b/09HDscape-client/src/org/runite/jagex/Class77.java new file mode 100644 index 000000000..ddb3c91d4 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class77.java @@ -0,0 +1,76 @@ +package org.runite.jagex; + +final class Class77 { + + static RSString aClass94_1110 = RSString.createRSString("Attaquer"); + static int anInt1111; + static Class52 aClass52_1112 = new Class52(); + + + static final LDIndexedSprite method1364(byte var0) { + try { + LDIndexedSprite var1 = new LDIndexedSprite(Class3_Sub15.anInt2426, Class133.anInt1748, Class164.anIntArray2048[0], RSByteBuffer.anIntArray2591[0], Class140_Sub7.anIntArray2931[0], Class3_Sub13_Sub6.anIntArray3076[0], Class163_Sub1.aByteArrayArray2987[0], Class3_Sub13_Sub38.spritePalette); + if(var0 <= 55) { + method1366(86, -88); + } + + Class39.method1035((byte)127); + return var1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kh.B(" + var0 + ')'); + } + } + + public static void method1365(int var0) { + try { + aClass52_1112 = null; + aClass94_1110 = null; + if(var0 <= 96) { + anInt1111 = 55; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kh.E(" + var0 + ')'); + } + } + + static final void method1366(int var0, int var1) { + try { + if(var0 != 104) { + method1367(114, 95, -80, (byte)-90, -2, 56); + } + + Class158_Sub1.aClass93_2982.method1522(var0 ^ -22, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kh.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1367(int var0, int var1, int var2, byte var3, int var4, int var5) { + try { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var2++], var5, 92, var1, var0); + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var4--], var5, 97, var1, var0); + if(var3 >= 23) { + for(int var6 = var2; ~var6 >= ~var4; ++var6) { + int[] var7 = Class38.anIntArrayArray663[var6]; + var7[var5] = var7[var1] = var0; + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "kh.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1368(int var0) { + try { + ++Class163_Sub3.anInt3001; + int var1 = -126 / ((-26 - var0) / 52); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(104); + Class3_Sub13_Sub1.outgoingBuffer.putLong(0L, -2037491440); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kh.D(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class78.java b/09HDscape-client/src/org/runite/jagex/Class78.java new file mode 100644 index 000000000..e61e991d9 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class78.java @@ -0,0 +1,203 @@ +package org.runite.jagex; + +final class Class78 { + + private RSByteBuffer aClass3_Sub30_1113 = new RSByteBuffer((byte[])null); + int[] anIntArray1114; + private int[] anIntArray1115; + int anInt1116; + private static byte[] aByteArray1117 = new byte[]{(byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)1, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)2, (byte)0, (byte)1, (byte)2, (byte)1, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0, (byte)0}; + private int[] anIntArray1118; + private long aLong1119; + private int[] anIntArray1120; + private int anInt1121; + + + public static void method1369() { + aByteArray1117 = null; + } + + final long method1370(int var1) { + return this.aLong1119 + (long)var1 * (long)this.anInt1121; + } + + final boolean method1371() { + int var1 = this.anIntArray1115.length; + + for(int var2 = 0; var2 < var1; ++var2) { + if(this.anIntArray1115[var2] >= 0) { + return false; + } + } + + return true; + } + + final void method1372(long var1) { + this.aLong1119 = var1; + int var3 = this.anIntArray1115.length; + + for(int var4 = 0; var4 < var3; ++var4) { + this.anIntArray1114[var4] = 0; + this.anIntArray1120[var4] = 0; + this.aClass3_Sub30_1113.index = this.anIntArray1118[var4]; + this.method1377(var4); + this.anIntArray1115[var4] = this.aClass3_Sub30_1113.index; + } + + } + + final boolean method1373() { + return this.aClass3_Sub30_1113.buffer != null; + } + + final int method1374() { + return this.anIntArray1115.length; + } + + final int method1375(int var1) { + int var2 = this.method1379(var1); + return var2; + } + + final void method1376(int var1) { + this.aClass3_Sub30_1113.index = this.anIntArray1115[var1]; + } + + final void method1377(int var1) { + int var2 = this.aClass3_Sub30_1113.method741((byte)119); + this.anIntArray1114[var1] += var2; + } + + private final int method1378(int var1, int var2) { + int var4; + if(var2 == 255) { + int var7 = this.aClass3_Sub30_1113.getByte((byte)-60); + var4 = this.aClass3_Sub30_1113.method741((byte)123); + if(var7 == 47) { + this.aClass3_Sub30_1113.index += var4; + return 1; + } else if(var7 == 81) { + int var5 = this.aClass3_Sub30_1113.getTriByte((byte)87); + var4 -= 3; + int var6 = this.anIntArray1114[var1]; + this.aLong1119 += (long)var6 * (long)(this.anInt1121 - var5); + this.anInt1121 = var5; + this.aClass3_Sub30_1113.index += var4; + return 2; + } else { + this.aClass3_Sub30_1113.index += var4; + return 3; + } + } else { + byte var3 = aByteArray1117[var2 - 128]; + var4 = var2; + if(var3 >= 1) { + var4 = var2 | this.aClass3_Sub30_1113.getByte((byte)-69) << 8; + } + + if(var3 >= 2) { + var4 |= this.aClass3_Sub30_1113.getByte((byte)-60) << 16; + } + + return var4; + } + } + + private final int method1379(int var1) { + byte var2 = this.aClass3_Sub30_1113.buffer[this.aClass3_Sub30_1113.index]; + int var5; + if(var2 < 0) { + var5 = var2 & 255; + this.anIntArray1120[var1] = var5; + ++this.aClass3_Sub30_1113.index; + } else { + var5 = this.anIntArray1120[var1]; + } + + if(var5 != 240 && var5 != 247) { + return this.method1378(var1, var5); + } else { + int var3 = this.aClass3_Sub30_1113.method741((byte)126); + if(var5 == 247 && var3 > 0) { + int var4 = this.aClass3_Sub30_1113.buffer[this.aClass3_Sub30_1113.index] & 255; + if(var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { + ++this.aClass3_Sub30_1113.index; + this.anIntArray1120[var1] = var4; + return this.method1378(var1, var4); + } + } + + this.aClass3_Sub30_1113.index += var3; + return 0; + } + } + + final void method1380(byte[] var1) { + this.aClass3_Sub30_1113.buffer = var1; + this.aClass3_Sub30_1113.index = 10; + int var2 = this.aClass3_Sub30_1113.getShort(1); + this.anInt1116 = this.aClass3_Sub30_1113.getShort(1); + this.anInt1121 = 500000; + this.anIntArray1118 = new int[var2]; + + int var3; + int var5; + for(var3 = 0; var3 < var2; this.aClass3_Sub30_1113.index += var5) { + int var4 = this.aClass3_Sub30_1113.getInt(); + var5 = this.aClass3_Sub30_1113.getInt(); + if(var4 == 1297379947) { + this.anIntArray1118[var3] = this.aClass3_Sub30_1113.index; + ++var3; + } + } + + this.aLong1119 = 0L; + this.anIntArray1115 = new int[var2]; + + for(var3 = 0; var3 < var2; ++var3) { + this.anIntArray1115[var3] = this.anIntArray1118[var3]; + } + + this.anIntArray1114 = new int[var2]; + this.anIntArray1120 = new int[var2]; + } + + final void method1381(int var1) { + this.anIntArray1115[var1] = this.aClass3_Sub30_1113.index; + } + + final int method1382() { + int var1 = this.anIntArray1115.length; + int var2 = -1; + int var3 = Integer.MAX_VALUE; + + for(int var4 = 0; var4 < var1; ++var4) { + if(this.anIntArray1115[var4] >= 0 && this.anIntArray1114[var4] < var3) { + var2 = var4; + var3 = this.anIntArray1114[var4]; + } + } + + return var2; + } + + final void method1383() { + this.aClass3_Sub30_1113.buffer = null; + this.anIntArray1118 = null; + this.anIntArray1115 = null; + this.anIntArray1114 = null; + this.anIntArray1120 = null; + } + + public Class78() {} + + final void method1384() { + this.aClass3_Sub30_1113.index = -1; + } + + Class78(byte[] var1) { + this.method1380(var1); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class79.java b/09HDscape-client/src/org/runite/jagex/Class79.java new file mode 100644 index 000000000..c85a9669f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class79.java @@ -0,0 +1,245 @@ +package org.runite.jagex; +import java.awt.event.KeyEvent; + +final class Class79 { + + static RSString aClass94_1122 = RSString.createRSString("M-Bmoire en cours d(Wattribution"); + int anInt1123; + static int anInt1124 = -1; + int anInt1125; + static int anInt1126; + static int anInt1127 = 0; + int anInt1128; + static RSString aClass94_1129 = RSString.createRSString("Clientscript error )2 check log for details"); + + + static final void method1385(int var0, int var1, byte var2) { + try { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(4, 6, var1); + var3.g((byte)33); + if(var2 >= -103) { + aClass94_1122 = (RSString)null; + } + + var3.anInt3598 = var0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "kk.E(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + static final int method1386(boolean var0, KeyEvent var1) { + try { + int var2 = var1.getKeyChar(); + if(!var0) { + return -90; + } else if(8364 == var2) { + return 128; + } else { + if(~var2 >= -1 || 256 <= var2) { + var2 = -1; + } + + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "kk.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final void method1387(RSByteBuffer var1, int var2) { + try { + while(true) { + int var3 = var1.getByte((byte)-41); + if(var3 == 0) { + var3 = -26 % ((-36 - var2) / 58); + return; + } + + this.method1389(var1, 1, var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "kk.G(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method1388(boolean var0) { + try { + aClass94_1122 = null; + aClass94_1129 = null; + if(!var0) { + anInt1126 = 8; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kk.D(" + var0 + ')'); + } + } + + private final void method1389(RSByteBuffer var1, int var2, int var3) { + try { + if(var2 == var3) { + this.anInt1128 = var1.getShort(var2 + 0); + this.anInt1123 = var1.getByte((byte)-30); + this.anInt1125 = var1.getByte((byte)-89); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "kk.B(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1390(RSByteBuffer var0, int var1) { + try { + if(-2 >= ~(-var0.index + var0.buffer.length)) { + int var2 = var0.getByte((byte)-23); + if(var2 >= 0 && ~var2 >= -12) { + byte var3; + if(var2 == 11) { + var3 = 33; + } else if(var2 != 10) { + if(var2 == 9) { + var3 = 31; + } else if(~var2 == -9) { + var3 = 30; + } else if(~var2 == -8) { + var3 = 29; + } else if(-7 != ~var2) { + if(~var2 == -6) { + var3 = 28; + } else if(-5 != ~var2) { + if(-4 == ~var2) { + var3 = 23; + } else if(-3 == ~var2) { + var3 = 22; + } else if(1 == var2) { + var3 = 23; + } else { + var3 = 19; + } + } else { + var3 = 24; + } + } else { + var3 = 28; + } + } else { + var3 = 32; + } + + if(~(var0.buffer.length - var0.index) <= ~var3) { + Class3_Sub28_Sub10.anInt3625 = var0.getByte((byte)-113); + if(-2 >= ~Class3_Sub28_Sub10.anInt3625) { + if(-5 > ~Class3_Sub28_Sub10.anInt3625) { + Class3_Sub28_Sub10.anInt3625 = 4; + } + } else { + Class3_Sub28_Sub10.anInt3625 = 1; + } + + Class25.method957(var1 + 97, 1 == var0.getByte((byte)-40)); + Class3_Sub28_Sub7.aBoolean3604 = var0.getByte((byte)-44) == 1; + Class148.aBoolean1905 = 1 == var0.getByte((byte)-39); + Class25.aBoolean488 = 1 == var0.getByte((byte)-85); + RSInterface.aBoolean236 = var0.getByte((byte)-126) == 1; + WorldListEntry.aBoolean2623 = ~var0.getByte((byte)-107) == -2; + Class3_Sub13_Sub22.aBoolean3275 = -2 == ~var0.getByte((byte)-86); + Class140_Sub6.aBoolean2910 = 1 == var0.getByte((byte)-48); + Class80.anInt1137 = var0.getByte((byte)-107); + if(2 < Class80.anInt1137) { + Class80.anInt1137 = 2; + } + + if(var2 < 2) { + Class106.aBoolean1441 = ~var0.getByte((byte)-81) == -2; + var0.getByte((byte)-67); + } else { + Class106.aBoolean1441 = -2 == ~var0.getByte((byte)-35); + } + + Class128.aBoolean1685 = 1 == var0.getByte((byte)-56); + Class38.aBoolean661 = ~var0.getByte((byte)-98) == -2; + Class3_Sub28_Sub9.anInt3622 = var0.getByte((byte)-62); + if(~Class3_Sub28_Sub9.anInt3622 < -3) { + Class3_Sub28_Sub9.anInt3622 = 2; + } + + Class3_Sub28_Sub14.anInt3671 = Class3_Sub28_Sub9.anInt3622; + Class3_Sub13_Sub15.aBoolean3184 = ~var0.getByte((byte)-59) == -2; + CS2Script.anInt2453 = var0.getByte((byte)-25); + if(~CS2Script.anInt2453 < -128) { + CS2Script.anInt2453 = 127; + } + + Class9.anInt120 = var0.getByte((byte)-82); + Class14.anInt340 = var0.getByte((byte)-58); + if(-128 > ~Class14.anInt340) { + Class14.anInt340 = 127; + } + + if(~var2 <= -2) { + Class3_Sub13.anInt2378 = var0.getShort(1); + Class3_Sub13_Sub5.anInt3071 = var0.getShort(1); + } + + if(-4 >= ~var2 && ~var2 > -7) { + var0.getByte((byte)-87); + } + + if(~var2 <= -5) { + int var4 = var0.getByte((byte)-88); + if(-97 < ~Class3_Sub24_Sub3.anInt3492) { + var4 = 0; + } + + Class127_Sub1.method1758(var4); + } + + if(~var2 <= -6) { + RSString.anInt2148 = var0.getInt(); + } + + if(var1 != -1) { + aClass94_1129 = (RSString)null; + } + + if(6 <= var2) { + Node.anInt2577 = var0.getByte((byte)-100); + } + + if(~var2 <= -8) { + RSString.aBoolean2146 = 1 == var0.getByte((byte)-24); + } + + if(8 <= var2) { + Class15.aBoolean346 = ~var0.getByte((byte)-96) == -2; + } + + if(9 <= var2) { + Class3_Sub20.anInt2488 = var0.getByte((byte)-73); + } + + if(10 <= var2) { + Class73.aBoolean1080 = 0 != var0.getByte((byte)-94); + } + + if(-12 >= ~var2) { + Class163_Sub3.aBoolean3004 = ~var0.getByte((byte)-44) != -1; + } + + } + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "kk.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final boolean method1391(int var0) { + try { + return var0 == ~Class10.anInt154?Class101.aClass3_Sub24_Sub4_1421.method473(-128):true; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "kk.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class8.java b/09HDscape-client/src/org/runite/jagex/Class8.java new file mode 100644 index 000000000..23c47380f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class8.java @@ -0,0 +1,300 @@ +package org.runite.jagex; + +final class Class8 { + + private RSByteBuffer aClass3_Sub30_99; + private Class3_Sub28_Sub10_Sub2 aClass3_Sub28_Sub10_Sub2_100; + static int anInt101; + private Class66 aClass66_102; + private Class73 aClass73_103; + static int anInt104 = 0; + static CacheIndex aClass153_105; + static RSString aClass94_106 = RSString.createRSString("showVideoAd"); + private Class151_Sub1[] aClass151_Sub1Array107; + + + public static void method836(int var0) { + try { + aClass153_105 = null; + if(var0 > -10) { + method843(-80, (RSByteBuffer)null); + } + + aClass94_106 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "al.I(" + var0 + ')'); + } + } + + final boolean method837(int var1) { + try { + if(null == this.aClass3_Sub30_99) { + if(var1 != 255) { + anInt104 = 119; + } + + if(this.aClass3_Sub28_Sub10_Sub2_100 == null) { + if(this.aClass66_102.method1251((byte)89)) { + return false; + } + + this.aClass3_Sub28_Sub10_Sub2_100 = this.aClass66_102.addJS5Request(123, 255, (byte)0, 255, true); + } + + if(this.aClass3_Sub28_Sub10_Sub2_100.aBoolean3632) { + return false; + } else { + this.aClass3_Sub30_99 = new RSByteBuffer(this.aClass3_Sub28_Sub10_Sub2_100.method587(false)); + this.aClass151_Sub1Array107 = new Class151_Sub1[(this.aClass3_Sub30_99.buffer.length + -5) / 8]; + return true; + } + } else { + return true; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "al.J(" + var1 + ')'); + } + } + + final void method838(byte var1) { + try { + if(null != this.aClass151_Sub1Array107) { + int var2; + for(var2 = 0; ~this.aClass151_Sub1Array107.length < ~var2; ++var2) { + if(this.aClass151_Sub1Array107[var2] != null) { + this.aClass151_Sub1Array107[var2].method2110(0); + } + } + + for(var2 = 0; this.aClass151_Sub1Array107.length > var2; ++var2) { + if(this.aClass151_Sub1Array107[var2] != null) { + this.aClass151_Sub1Array107[var2].method2107(true); + } + } + + if(var1 >= -56) { + this.aClass3_Sub28_Sub10_Sub2_100 = (Class3_Sub28_Sub10_Sub2)null; + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "al.E(" + var1 + ')'); + } + } + + private final Class151_Sub1 method839(int var1, int var2, Class41 var3, Class41 var4) { + try { + if(var1 != -1824885439) { + getCacheIndex(true, false, false, -22, true); + } + + return this.method847(var4, -125, var2, true, var3); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "al.L(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final void method840(ObjectDefinition var0, byte var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + int var9 = 3 & var3; + if(var1 >= -1) { + aClass94_106 = (RSString)null; + } + + int var10; + int var11; + if(-2 != ~var9 && -4 != ~var9) { + var11 = var0.anInt1485; + var10 = var0.anInt1480; + } else { + var10 = var0.anInt1485; + var11 = var0.anInt1480; + } + + int var14; + int var15; + if(-105 > ~(var7 - -var11)) { + var15 = 1 + var7; + var14 = var7; + } else { + var14 = var7 - -(var11 >> 1); + var15 = var7 - -(1 + var11 >> 1); + } + + int var16 = (var6 << 7) - -(var10 << 6); + int var17 = (var7 << 7) + (var11 << 6); + int var12; + int var13; + if(104 < var6 - -var10) { + var12 = var6; + var13 = var6 + 1; + } else { + var12 = var6 + (var10 >> 1); + var13 = (var10 - -1 >> 1) + var6; + } + + int[][] var18 = Class44.anIntArrayArrayArray723[var8]; + int var20 = 0; + int var19 = var18[var12][var15] + var18[var12][var14] + var18[var13][var14] + var18[var13][var15] >> 2; + int[][] var21; + if(~var8 != -1) { + var21 = Class44.anIntArrayArrayArray723[0]; + var20 = -(var21[var12][var15] + var21[var13][var14] + (var21[var12][var14] - -var21[var13][var15]) >> 2) + var19; + } + + var21 = (int[][])null; + if(3 > var8) { + var21 = Class44.anIntArrayArrayArray723[1 + var8]; + } + + Class136 var22 = var0.method1696(var3, var16, var18, var5, var19, var21, false, (LDIndexedSprite)null, (byte)-69, true, var17); + Class141.method2047(var22.aClass109_Sub1_1770, -var4 + var16, var20, var17 + -var2); + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "al.K(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final void method841(boolean var0) { + try { + GameObject.aClass11Array1836 = null; + Class3_Sub13_Sub1.method171(-101, Class3_Sub28_Sub12.anInt3655, 0, Class23.anInt454, 0, -1, Class140_Sub7.anInt2934, 0, 0); + if(GameObject.aClass11Array1836 != null) { + Class47.method1095(0, Class73.anInt1082, Class3_Sub28_Sub7.anInt3602, GameObject.aClass11Array1836, Class23.anInt454, -1412584499, 0, Class140_Sub7.anInt2934, (byte)73, PacketParser.aClass11_88.anInt292); + GameObject.aClass11Array1836 = null; + } + + if(!var0) { + method844((byte)-24); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "al.G(" + var0 + ')'); + } + } + + static final CacheIndex getCacheIndex(boolean var0, boolean var1, boolean var2, int var3, boolean var4) { + try { + if(!var4) { + return (CacheIndex)null; + } else { + Class41 var5 = null; + if(null != Class101.aClass30_1422) { + var5 = new Class41(var3, Class101.aClass30_1422, Class163_Sub2.aClass30Array2998[var3], 1000000); + } + + RSByteBuffer.aClass151_Sub1Array2601[var3] = Class151.aClass8_1936.method839(-1824885439, var3, Class86.aClass41_1186, var5); + if(var1) { + RSByteBuffer.aClass151_Sub1Array2601[var3].method2101(true); + } + return new CacheIndex(RSByteBuffer.aClass151_Sub1Array2601[var3], var0, var2); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "al.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final Class75_Sub1 method843(int var0, RSByteBuffer var1) { + try { + return var0 != -5232?(Class75_Sub1)null:new Class75_Sub1(var1.getShort((byte)46), var1.getShort((byte)109), var1.getShort((byte)68), var1.getShort((byte)127), var1.getTriByte((byte)91), var1.getByte((byte)-124)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "al.D(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method844(byte var0) { + try { + if(var0 != -9) { + aClass94_106 = (RSString)null; + } + + if(null == Class3_Sub13_Sub17.anIntArray3212 || null == Class75_Sub2.anIntArray2639) { + Class3_Sub13_Sub17.anIntArray3212 = new int[256]; + Class75_Sub2.anIntArray2639 = new int[256]; + + for(int var1 = 0; 256 > var1; ++var1) { + double var2 = (double)var1 / 255.0D * 6.283185307179586D; + Class3_Sub13_Sub17.anIntArray3212[var1] = (int)(Math.sin(var2) * 4096.0D); + Class75_Sub2.anIntArray2639[var1] = (int)(4096.0D * Math.cos(var2)); + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "al.C(" + var0 + ')'); + } + } + + static final void method845(boolean var0, int var1) { + try { + if(var0 == !Class139.aBoolean1827) { + Class139.aBoolean1827 = var0; + if(var1 != 255) { + aClass94_106 = (RSString)null; + } + + Class104.method1626((byte)-126); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "al.H(" + var0 + ',' + var1 + ')'); + } + } + + static final boolean method846(int var0, int var1, int var2) { + int var3 = Class81.anIntArrayArrayArray1142[var0][var1][var2]; + if(var3 == -Class3_Sub28_Sub1.anInt3539) { + return false; + } else if(var3 == Class3_Sub28_Sub1.anInt3539) { + return true; + } else { + int var4 = var1 << 7; + int var5 = var2 << 7; + if(Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2], var5 + 1) && Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2], var5 + 1) && Class3_Sub13_Sub37.method349(var4 + 128 - 1, Class44.anIntArrayArrayArray723[var0][var1 + 1][var2 + 1], var5 + 128 - 1) && Class3_Sub13_Sub37.method349(var4 + 1, Class44.anIntArrayArrayArray723[var0][var1][var2 + 1], var5 + 128 - 1)) { + Class81.anIntArrayArrayArray1142[var0][var1][var2] = Class3_Sub28_Sub1.anInt3539; + return true; + } else { + Class81.anIntArrayArrayArray1142[var0][var1][var2] = -Class3_Sub28_Sub1.anInt3539; + return false; + } + } + } + + private final Class151_Sub1 method847(Class41 var1, int var2, int var3, boolean var4, Class41 var5) { + try { + if(null != this.aClass3_Sub30_99) { + this.aClass3_Sub30_99.index = 5 + var3 * 8; + if(var2 >= -1) { + return (Class151_Sub1)null; + } else if(this.aClass3_Sub30_99.buffer.length > this.aClass3_Sub30_99.index) { + if(null == this.aClass151_Sub1Array107[var3]) { + int var6 = this.aClass3_Sub30_99.getInt(); + int var7 = this.aClass3_Sub30_99.getInt(); + Class151_Sub1 var8 = new Class151_Sub1(var3, var1, var5, this.aClass66_102, this.aClass73_103, var6, var7, var4); + this.aClass151_Sub1Array107[var3] = var8; + return var8; + } else { + return this.aClass151_Sub1Array107[var3]; + } + } else { + throw new RuntimeException(); + } + } else { + throw new RuntimeException(); + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "al.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + Class8(Class66 var1, Class73 var2) { + try { + this.aClass73_103 = var2; + this.aClass66_102 = var1; + if(!this.aClass66_102.method1251((byte)111)) { + this.aClass3_Sub28_Sub10_Sub2_100 = this.aClass66_102.addJS5Request(110, 255, (byte)0, 255, true); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "al.(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class80.java b/09HDscape-client/src/org/runite/jagex/Class80.java new file mode 100644 index 000000000..833cb2500 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class80.java @@ -0,0 +1,139 @@ +package org.runite.jagex; +import java.awt.Color; +import java.awt.Container; +import java.awt.Graphics; +import java.awt.Insets; + +final class Class80 { + + private Class3 aClass3_1130; + static Class93 aClass93_1131 = new Class93(5); + private int anInt1132 = 0; + static RSString aClass94_1133 = RSString.createRSString(")4j"); + private Class130 aClass130_1134; + static Class93 aClass93_1135 = new Class93(4); + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array1136; + static int anInt1137 = 2; + static int[] anIntArray1138; + + + final Class3 method1392(int var1) { + try { + if(var1 != 0) { + method1396(-100); + } + + Class3 var2; + if(-1 > ~this.anInt1132 && this.aClass130_1134.aClass3Array1697[this.anInt1132 + -1] != this.aClass3_1130) { + var2 = this.aClass3_1130; + this.aClass3_1130 = var2.aClass3_74; + return var2; + } else { + do { + if(~this.aClass130_1134.anInt1700 >= ~this.anInt1132) { + return null; + } + + var2 = this.aClass130_1134.aClass3Array1697[this.anInt1132++].aClass3_74; + } while(var2 == this.aClass130_1134.aClass3Array1697[-1 + this.anInt1132]); + + this.aClass3_1130 = var2.aClass3_74; + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "l.D(" + var1 + ')'); + } + } + + final Class3 method1393(byte var1) { + try { + if(var1 < 79) { + this.anInt1132 = 78; + } + + this.anInt1132 = 0; + return this.method1392(0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "l.C(" + var1 + ')'); + } + } + + public static void method1394(byte var0) { + try { + anIntArray1138 = null; + int var1 = 118 / ((-33 - var0) / 45); + aClass93_1131 = null; + aClass94_1133 = null; + aClass93_1135 = null; + aClass3_Sub28_Sub16Array1136 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "l.E(" + var0 + ')'); + } + } + + static final long method1395(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 != null && var3.aClass19_2233 != null?var3.aClass19_2233.aLong428:0L; + } + + static final void method1396(int var0) { + try { + int var2 = Class106.anInt1442; + int var1 = Class84.anInt1164; + int var4 = -Class140_Sub7.anInt2934 + (Class70.anInt1047 - var2); + int var3 = -var1 + Class3_Sub9.anInt2334 - Class23.anInt454; + if(~var1 < var0 || ~var3 < -1 || var2 > 0 || ~var4 < -1) { + try { + Object var5; + if(null != Class3_Sub13_Sub10.aFrame3121) { + var5 = Class3_Sub13_Sub10.aFrame3121; + } else if(GameShell.frame == null) { + var5 = Class38.aClass87_665.anApplet1219; + } else { + var5 = GameShell.frame; + } + + int var7 = 0; + int var6 = 0; + if(GameShell.frame == var5) { + Insets var8 = GameShell.frame.getInsets(); + var6 = var8.left; + var7 = var8.top; + } + + Graphics var11 = ((Container)var5).getGraphics(); + var11.setColor(Color.black); + if(~var1 < -1) { + var11.fillRect(var6, var7, var1, Class70.anInt1047); + } + + if(0 < var2) { + var11.fillRect(var6, var7, Class3_Sub9.anInt2334, var2); + } + + if(var3 > 0) { + var11.fillRect(-var3 + var6 + Class3_Sub9.anInt2334, var7, var3, Class70.anInt1047); + } + + if(~var4 < -1) { + var11.fillRect(var6, -var4 + var7 + Class70.anInt1047, Class3_Sub9.anInt2334, var4); + } + } catch (Exception var9) { + ; + } + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "l.A(" + var0 + ')'); + } + } + + Class80(Class130 var1) { + try { + this.aClass130_1134 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "l.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class81.java b/09HDscape-client/src/org/runite/jagex/Class81.java new file mode 100644 index 000000000..5fc24cf0c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class81.java @@ -0,0 +1,199 @@ +package org.runite.jagex; +import java.awt.event.ActionEvent; +import java.io.IOException; + +final class Class81 { + + static NodeList aClass13_1139 = new NodeList(); + static RSString aClass94_1140 = RSString.createRSString(" steht bereits auf Ihrer Ignorieren)2Liste(Q"); + static int anInt1141; + static int[][][] anIntArrayArrayArray1142; + static RSString aClass94_1143 = RSString.createRSString("Chargement du module texte )2 "); + + + static final void putRandomDataFile(RSByteBuffer var0, boolean var1) { + try { + if(!var1) { + anIntArrayArrayArray1142 = (int[][][])((int[][][])null); + } + + byte[] var2 = new byte[24]; + if(null != Class69.aClass30_1039) { + try { + Class69.aClass30_1039.method984(-41, 0L); + Class69.aClass30_1039.method982(false, var2); + + int var3; + for(var3 = 0; -25 < ~var3 && ~var2[var3] == -1; ++var3) { + ; + } + + if(-25 >= ~var3) { + throw new IOException(); + } + } catch (Exception var5) { + for(int var4 = 0; 24 > var4; ++var4) { + var2[var4] = -1; + } + } + } + + var0.putBytes(var2, 0, 24, 88); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "la.G(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method1398(int var0, Player var1) { + try { + if(var0 != 0) { + putRandomDataFile((RSByteBuffer)null, false); + } + + int var2 = var1.anInt3963; + RenderAnimationDefinition var3 = var1.method1965(false); + if(~var3.anInt368 == ~var1.anInt2764) { + var2 = var1.anInt3952; + } else if(var3.anInt393 != var1.anInt2764 && var1.anInt2764 != var3.anInt386 && var1.anInt2764 != var3.anInt375 && var3.anInt373 != var1.anInt2764) { + if(~var1.anInt2764 == ~var3.anInt398 || ~var1.anInt2764 == ~var3.anInt372 || var1.anInt2764 == var3.anInt379 || ~var1.anInt2764 == ~var3.anInt406) { + var2 = var1.anInt3966; + } + } else { + var2 = var1.anInt3973; + } + + return var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "la.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method1399(int var0, long var1) { + try { + if(var1 != 0L) { + if(Class3_Sub28_Sub5.anInt3591 < 100) { + int var3 = -103 / ((var0 - -20) / 41); + RSString var4 = Class41.method1052(-29664, var1).method1545((byte)-50); + + int var5; + for(var5 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var5; ++var5) { + if(Class114.aLongArray1574[var5] == var1) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{var4, Class3_Sub13_Sub25.aClass94_3311}, (byte)-108), -1); + return; + } + } + + for(var5 = 0; Class8.anInt104 > var5; ++var5) { + if(~Class50.aLongArray826[var5] == ~var1) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, RenderAnimationDefinition.method903(new RSString[]{Class38.aClass94_666, var4, Class3_Sub28_Sub10_Sub2.aClass94_4071}, (byte)-65), -1); + return; + } + } + + if(var4.method1528((byte)-42, Class102.player.displayName)) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, Class95.aClass94_1335, -1); + } else { + ++Class3_Sub13_Sub22.anInt3267; + Class114.aLongArray1574[Class3_Sub28_Sub5.anInt3591] = var1; + Class3_Sub13_Sub27.aClass94Array3341[Class3_Sub28_Sub5.anInt3591++] = Class41.method1052(-29664, var1); + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(34); + Class3_Sub13_Sub1.outgoingBuffer.putLong(var1, -2037491440); + } + } else { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, Class144.aClass94_1884, -1); + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "la.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1400(Signlink var0, Object var1, int var2) { + try { + if(var2 >= -29) { + anIntArrayArrayArray1142 = (int[][][])((int[][][])null); + } + + if(null != var0.anEventQueue1199) { + for(int var3 = 0; var3 < 50 && null != var0.anEventQueue1199.peekEvent(); ++var3) { + Class3_Sub13_Sub34.method331(1L, 64); + } + + if(var1 != null) { + var0.anEventQueue1199.postEvent(new ActionEvent(var1, 1001, "dummy")); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "la.E(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final Class57 method1401(int var0, int var1) { + try { + Class57 var2 = (Class57)Class128.aClass93_1683.get((long)var1, (byte)121); + if(var2 != null) { + return var2; + } else { + if(var0 != 1001) { + aClass94_1143 = (RSString)null; + } + + byte[] var3 = Class46.aClass153_737.getFile(31, (byte)-122, var1); + var2 = new Class57(); + if(var3 != null) { + var2.method1190(2, new RSByteBuffer(var3), var1); + } + + Class128.aClass93_1683.put((byte)-75, var2, (long)var1); + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "la.D(" + var0 + ',' + var1 + ')'); + } + } + + public static void method1402(byte var0) { + try { + aClass13_1139 = null; + anIntArrayArrayArray1142 = (int[][][])null; + aClass94_1143 = null; + aClass94_1140 = null; + if(var0 <= 56) { + aClass94_1140 = (RSString)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "la.F(" + var0 + ')'); + } + } + + static final Class131 method1403(int var0, RSString var1, CacheIndex var2) { + try { + int var3 = var2.getArchiveForName(var1, (byte)-30); + if(var3 == -1) { + return new Class131(0); + } else if(var0 > -38) { + return (Class131)null; + } else { + int[] var4 = var2.getFileIds((byte)-128, var3); + Class131 var5 = new Class131(var4.length); + + for(int var6 = 0; ~var6 > ~var5.anInt1720; ++var6) { + RSByteBuffer var7 = new RSByteBuffer(var2.getFile(var3, (byte)-122, var4[var6])); + var5.aClass94Array1721[var6] = var7.getString(); + var5.aByteArray1730[var6] = var7.getByte(); + var5.aShortArray1727[var6] = (short)var7.getShort(1); + var5.aShortArray1718[var6] = (short)var7.getShort(1); + var5.anIntArray1725[var6] = var7.getInt(); + } + + return var5; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "la.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class82.java b/09HDscape-client/src/org/runite/jagex/Class82.java new file mode 100644 index 000000000..8b79888d5 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class82.java @@ -0,0 +1,721 @@ +package org.runite.jagex; + +final class Class82 { + + private int[] anIntArray1144; + private Class3_Sub13 aClass3_Sub13_1145; + static Class93 aClass93_1146 = new Class93(64); + private Class3_Sub13[] aClass3_Sub13Array1147; + private Class3_Sub13 aClass3_Sub13_1148; + private int[] anIntArray1149; + static int anInt1150 = -1; + static RSString aClass94_1151 = RSString.createRSString("settings="); + static int anInt1152; + + + final int[] method1404(int var1, boolean var2, int var3, double var4, int var6, CacheIndex var7, Interface2 var8, boolean var9) { + try { + GameObject.method1859(var4, var6 ^ 359938); + Class17.anInterface2_408 = var8; + Class104.aClass153_2172 = var7; + Class3_Sub13_Sub3.method180(-1, var1, var3); + + int var11; + for(var11 = 0; ~this.aClass3_Sub13Array1147.length < ~var11; ++var11) { + this.aClass3_Sub13Array1147[var11].method160(var1, var3, 250); + } + + if(var6 != 327680) { + method1405(68, 8, 20, -51, 31, 61, -34); + } + + int[] var10 = new int[var1 * var3]; + int var12; + byte var13; + if(!var9) { + var13 = 1; + var11 = 0; + var12 = var3; + } else { + var13 = -1; + var12 = -1; + var11 = var3 - 1; + } + + int var14 = 0; + + int var15; + for(var15 = 0; ~var15 > ~var1; ++var15) { + if(var2) { + var14 = var15; + } + + int[] var17; + int[] var16; + int[] var18; + if(this.aClass3_Sub13_1145.aBoolean2375) { + int[] var19 = this.aClass3_Sub13_1145.method154(var15, (byte)109); + var16 = var19; + var17 = var19; + var18 = var19; + } else { + int[][] var24 = this.aClass3_Sub13_1145.method166(-1, var15); + var16 = var24[0]; + var18 = var24[2]; + var17 = var24[1]; + } + + for(int var25 = var11; var25 != var12; var25 += var13) { + int var20 = var16[var25] >> 4; + if(var20 > 255) { + var20 = 255; + } + + if(~var20 > -1) { + var20 = 0; + } + + var20 = Class3_Sub30_Sub1.anIntArray3804[var20]; + int var22 = var18[var25] >> 4; + int var21 = var17[var25] >> 4; + if(var21 > 255) { + var21 = 255; + } + + if(0 > var21) { + var21 = 0; + } + + if(-256 > ~var22) { + var22 = 255; + } + + var21 = Class3_Sub30_Sub1.anIntArray3804[var21]; + if(-1 < ~var22) { + var22 = 0; + } + + var22 = Class3_Sub30_Sub1.anIntArray3804[var22]; + var10[var14++] = (var20 << 16) - -(var21 << 8) + var22; + if(var2) { + var14 += var3 + -1; + } + } + } + + for(var15 = 0; var15 < this.aClass3_Sub13Array1147.length; ++var15) { + this.aClass3_Sub13Array1147[var15].method161((byte)-45); + } + + return var10; + } catch (RuntimeException var23) { + throw Class44.method1067(var23, "lc.C(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ')'); + } + } + + static final void method1405(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + try { + Class3_Sub13_Sub39.anInt3464 = 0; + + int var7; + int var15; + int var19; + int var21; + int var22; + int var29; + int var32; + for(var7 = -1; var7 < Class159.localPlayerCount + Class163.localNPCCount; ++var7) { + Object var8; + if(0 == ~var7) { + var8 = Class102.player; + } else if(~Class159.localPlayerCount < ~var7) { + var8 = Class3_Sub13_Sub22.players[Class56.localPlayerIndexes[var7]]; + } else { + var8 = Class3_Sub13_Sub24.npcs[Class15.localNPCIndexes[-Class159.localPlayerCount + var7]]; + } + + if(null != var8 && ((Class140_Sub4)var8).hasDefinitions((byte)17)) { + NPCDefinition var9; + if(var8 instanceof NPC) { + var9 = ((NPC)var8).definition; + if(null != var9.childNPCs) { + var9 = var9.method1471((byte)-93); + } + + if(var9 == null) { + continue; + } + } + + int var12; + if(var7 < Class159.localPlayerCount) { + var19 = 30; + Player var10 = (Player)var8; + if(var10.skullIcon != -1 || -1 != var10.headIcon) { + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, ((Class140_Sub4)var8).method1975(var6 ^ -28716) - -15, var1 >> 1); + if(-1 < Class32.anInt590) { + if(0 != ~var10.skullIcon) { + Class3_Sub13_Sub31.aClass3_Sub28_Sub16Array3373[var10.skullIcon].method643(-12 + Class32.anInt590 + var2, -var19 + var0 + Class3_Sub1.anInt2208); + var19 += 25; + } + + if(var10.headIcon != -1) { + NPC.aClass3_Sub28_Sub16Array3977[var10.headIcon].method643(-12 + var2 + Class32.anInt590, var0 - (-Class3_Sub1.anInt2208 + var19)); + var19 += 25; + } + } + } + + if(~var7 <= -1) { + Class96[] var11 = RuntimeException_Sub1.aClass96Array2114; + + for(var12 = 0; ~var11.length < ~var12; ++var12) { + Class96 var13 = var11[var12]; + if(null != var13 && -11 == ~var13.anInt1360 && Class56.localPlayerIndexes[var7] == var13.anInt1359) { + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, ((Class140_Sub4)var8).method1975(var6 ^ -28716) - -15, var1 >> 1); + if(Class32.anInt590 > -1) { + Class166.aClass3_Sub28_Sub16Array2072[var13.anInt1351].method643(var2 - (-Class32.anInt590 + 12), var0 + (Class3_Sub1.anInt2208 - var19)); + } + } + } + } + } else { + var9 = ((NPC)var8).definition; + if(var9.childNPCs != null) { + var9 = var9.method1471((byte)102); + } + + if(~var9.anInt1269 <= -1 && NPC.aClass3_Sub28_Sub16Array3977.length > var9.anInt1269) { + if(0 == ~var9.anInt1265) { + var22 = 15 + ((Class140_Sub4)var8).method1975(27855); + } else { + var22 = 15 + var9.anInt1265; + } + + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, var22, var1 >> 1); + if(~Class32.anInt590 < 0) { + NPC.aClass3_Sub28_Sub16Array3977[var9.anInt1269].method643(var2 - -Class32.anInt590 - 12, -30 + var0 - -Class3_Sub1.anInt2208); + } + } + + Class96[] var20 = RuntimeException_Sub1.aClass96Array2114; + + for(var21 = 0; ~var21 > ~var20.length; ++var21) { + Class96 var24 = var20[var21]; + if(null != var24 && var24.anInt1360 == 1 && ~var24.anInt1359 == ~Class15.localNPCIndexes[-Class159.localPlayerCount + var7] && -11 < ~(Class44.anInt719 % 20)) { + if(-1 != var9.anInt1265) { + var29 = 15 + var9.anInt1265; + } else { + var29 = 15 + ((Class140_Sub4)var8).method1975(var6 + '\u89b4'); + } + + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, var29, var1 >> 1); + if(0 > ~Class32.anInt590) { + Class166.aClass3_Sub28_Sub16Array2072[var24.anInt1351].method643(-12 + var2 + Class32.anInt590, -28 + Class3_Sub1.anInt2208 + var0); + } + } + } + } + + if(((Class140_Sub4)var8).textSpoken != null && (var7 >= Class159.localPlayerCount || ~Class3_Sub13_Sub8.anInt3101 == -1 || 3 == Class3_Sub13_Sub8.anInt3101 || 1 == Class3_Sub13_Sub8.anInt3101 && Class54.method1176(((Player)var8).displayName, (byte)-82))) { + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, ((Class140_Sub4)var8).method1975(27855), var1 >> 1); + if(-1 < Class32.anInt590 && Class3_Sub13_Sub39.anInt3464 < Class3_Sub13_Sub26.anInt3332) { + Class3_Sub13_Sub26.anIntArray3329[Class3_Sub13_Sub39.anInt3464] = Class168.aClass3_Sub28_Sub17_2096.method682(((Class140_Sub4)var8).textSpoken) / 2; + Class3_Sub13_Sub26.anIntArray3327[Class3_Sub13_Sub39.anInt3464] = Class168.aClass3_Sub28_Sub17_2096.anInt3727; + Class3_Sub13_Sub26.anIntArray3319[Class3_Sub13_Sub39.anInt3464] = Class32.anInt590; + Class3_Sub13_Sub26.anIntArray3337[Class3_Sub13_Sub39.anInt3464] = Class3_Sub1.anInt2208; + Class3_Sub13_Sub26.anIntArray3331[Class3_Sub13_Sub39.anInt3464] = ((Class140_Sub4)var8).textColor; + Class3_Sub13_Sub26.anIntArray3336[Class3_Sub13_Sub39.anInt3464] = ((Class140_Sub4)var8).textEffect; + Class3_Sub13_Sub26.anIntArray3318[Class3_Sub13_Sub39.anInt3464] = ((Class140_Sub4)var8).textCycle; + Class3_Sub13_Sub26.aClass94Array3317[Class3_Sub13_Sub39.anInt3464] = ((Class140_Sub4)var8).textSpoken; + ++Class3_Sub13_Sub39.anInt3464; + } + } + + if(~((Class140_Sub4)var8).anInt2781 < ~Class44.anInt719) { + Class3_Sub28_Sub16 var23 = Class66.aClass3_Sub28_Sub16Array996[0]; + Class3_Sub28_Sub16 var25 = Class66.aClass3_Sub28_Sub16Array996[1]; + if(var8 instanceof NPC) { + NPC var28 = (NPC)var8; + Class3_Sub28_Sub16[] var31 = (Class3_Sub28_Sub16[])((Class3_Sub28_Sub16[])Class3_Sub13_Sub11.aClass93_3130.get((long)var28.definition.anInt1279, (byte)121)); + if(var31 == null) { + var31 = Class140_Sub6.getSprites(0, (byte)11, var28.definition.anInt1279, Class140_Sub6.spritesCacheIndex); + if(null != var31) { + Class3_Sub13_Sub11.aClass93_3130.put((byte)-98, var31, (long)var28.definition.anInt1279); + } + } + + if(null != var31 && ~var31.length == -3) { + var25 = var31[1]; + var23 = var31[0]; + } + + NPCDefinition var14 = var28.definition; + if(-1 == var14.anInt1265) { + var21 = ((Class140_Sub4)var8).method1975(27855); + } else { + var21 = var14.anInt1265; + } + } else { + var21 = ((Class140_Sub4)var8).method1975(27855); + } + + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, var23.anInt3696 + 10 + var21, var1 >> 1); + if(-1 < Class32.anInt590) { + var12 = -(var23.anInt3707 >> 1) + Class32.anInt590 + var2; + var29 = Class3_Sub1.anInt2208 + var0 + -3; + var23.method643(var12, var29); + var32 = var23.anInt3707 * ((Class140_Sub4)var8).anInt2775 / 255; + var15 = var23.anInt3696; + if(!HDToolKit.highDetail) { + Class74.method1326(var12, var29, var12 + var32, var15 + var29); + } else { + Class22.method931(var12, var29, var12 + var32, var29 + var15); + } + + var25.method643(var12, var29); + if(HDToolKit.highDetail) { + Class22.method935(var2, var0, var1 + var2, var0 - -var4); + } else { + Class74.method1324(var2, var0, var1 + var2, var4 + var0); + } + } + } + + for(var19 = 0; ~var19 > -5; ++var19) { + if(~((Class140_Sub4)var8).anIntArray2768[var19] < ~Class44.anInt719) { + if(!(var8 instanceof NPC)) { + var22 = ((Class140_Sub4)var8).method1975(var6 ^ -28716) / 2; + } else { + NPC var30 = (NPC)var8; + NPCDefinition var26 = var30.definition; + if(~var26.anInt1265 == 0) { + var22 = ((Class140_Sub4)var8).method1975(27855) / 2; + } else { + var22 = var26.anInt1265 / 2; + } + } + + Class107.method1647((byte)122, var4 >> 1, var3, (Class140_Sub4)var8, var5, var22, var1 >> 1); + if(-1 < Class32.anInt590) { + if(var19 == 1) { + Class3_Sub1.anInt2208 -= 20; + } + + if(-3 == ~var19) { + Class3_Sub1.anInt2208 -= 10; + Class32.anInt590 -= 15; + } + + if(3 == var19) { + Class3_Sub1.anInt2208 -= 10; + Class32.anInt590 += 15; + } + + Class75_Sub3.aClass3_Sub28_Sub16Array2656[((Class140_Sub4)var8).anIntArray2815[var19]].method643(-12 + var2 + Class32.anInt590, var0 + Class3_Sub1.anInt2208 - 12); + Class3_Sub13.aClass3_Sub28_Sub17_2379.method699(Class72.method1298((byte)9, ((Class140_Sub4)var8).anIntArray2836[var19]), -1 + Class32.anInt590 + var2, 3 + Class3_Sub1.anInt2208 + var0, 16777215, 0); + } + } + } + } + } + + var7 = 0; + if(var6 != -7397) { + method1409(true); + } + + for(; Class3_Sub13_Sub39.anInt3464 > var7; ++var7) { + var19 = Class3_Sub13_Sub26.anIntArray3337[var7]; + int var18 = Class3_Sub13_Sub26.anIntArray3319[var7]; + var21 = Class3_Sub13_Sub26.anIntArray3327[var7]; + var22 = Class3_Sub13_Sub26.anIntArray3329[var7]; + boolean var27 = true; + + while(var27) { + var27 = false; + + for(var29 = 0; var7 > var29; ++var29) { + if(Class3_Sub13_Sub26.anIntArray3337[var29] - Class3_Sub13_Sub26.anIntArray3327[var29] < 2 + var19 && -var21 + var19 < Class3_Sub13_Sub26.anIntArray3337[var29] - -2 && -var22 + var18 < Class3_Sub13_Sub26.anIntArray3319[var29] + Class3_Sub13_Sub26.anIntArray3329[var29] && Class3_Sub13_Sub26.anIntArray3319[var29] - Class3_Sub13_Sub26.anIntArray3329[var29] < var22 + var18 && -Class3_Sub13_Sub26.anIntArray3327[var29] + Class3_Sub13_Sub26.anIntArray3337[var29] < var19) { + var19 = Class3_Sub13_Sub26.anIntArray3337[var29] - Class3_Sub13_Sub26.anIntArray3327[var29]; + var27 = true; + } + } + } + + Class32.anInt590 = Class3_Sub13_Sub26.anIntArray3319[var7]; + Class3_Sub1.anInt2208 = Class3_Sub13_Sub26.anIntArray3337[var7] = var19; + RSString var33 = Class3_Sub13_Sub26.aClass94Array3317[var7]; + if(~Class41.anInt688 == -1) { + var32 = 16776960; + if(-7 < ~Class3_Sub13_Sub26.anIntArray3331[var7]) { + var32 = Class3_Sub1.anIntArray2213[Class3_Sub13_Sub26.anIntArray3331[var7]]; + } + + if(6 == Class3_Sub13_Sub26.anIntArray3331[var7]) { + var32 = 10 <= Class79.anInt1127 % 20?16776960:16711680; + } + + if(~Class3_Sub13_Sub26.anIntArray3331[var7] == -8) { + var32 = ~(Class79.anInt1127 % 20) > -11?255:'\uffff'; + } + + if(8 == Class3_Sub13_Sub26.anIntArray3331[var7]) { + var32 = ~(Class79.anInt1127 % 20) <= -11?8454016:'\ub000'; + } + + if(9 == Class3_Sub13_Sub26.anIntArray3331[var7]) { + var15 = -Class3_Sub13_Sub26.anIntArray3318[var7] + 150; + if(var15 >= 50) { + if(var15 >= 100) { + if(150 > var15) { + var32 = -500 - (-(5 * var15) - '\uff00'); + } + } else { + var32 = 16776960 + 16384000 + -(327680 * var15); + } + } else { + var32 = var15 * 1280 + 16711680; + } + } + + if(10 == Class3_Sub13_Sub26.anIntArray3331[var7]) { + var15 = -Class3_Sub13_Sub26.anIntArray3318[var7] + 150; + if(50 <= var15) { + if(~var15 > -101) { + var32 = -(327680 * (-50 + var15)) + 16711935; + } else if(150 > var15) { + var32 = 327680 * var15 - (32768000 - (255 + -(5 * var15) + 500)); + } + } else { + var32 = 16711680 + var15 * 5; + } + } + + if(Class3_Sub13_Sub26.anIntArray3331[var7] == 11) { + var15 = 150 + -Class3_Sub13_Sub26.anIntArray3318[var7]; + if(var15 >= 50) { + if(-101 >= ~var15) { + if(var15 < 150) { + var32 = 16777215 - var15 * 327680 + 32768000; + } + } else { + var32 = '\uff00' - (-(327685 * var15) - -16384250); + } + } else { + var32 = 16777215 - 327685 * var15; + } + } + + if(0 == Class3_Sub13_Sub26.anIntArray3336[var7]) { + Class168.aClass3_Sub28_Sub17_2096.method699(var33, Class32.anInt590 + var2, var0 + Class3_Sub1.anInt2208, var32, 0); + } + + if(1 == Class3_Sub13_Sub26.anIntArray3336[var7]) { + Class168.aClass3_Sub28_Sub17_2096.method696(var33, var2 - -Class32.anInt590, Class3_Sub1.anInt2208 + var0, var32, 0, Class79.anInt1127); + } + + if(Class3_Sub13_Sub26.anIntArray3336[var7] == 2) { + Class168.aClass3_Sub28_Sub17_2096.method695(var33, var2 - -Class32.anInt590, var0 - -Class3_Sub1.anInt2208, var32, 0, Class79.anInt1127); + } + + if(-4 == ~Class3_Sub13_Sub26.anIntArray3336[var7]) { + Class168.aClass3_Sub28_Sub17_2096.method692(var33, var2 + Class32.anInt590, Class3_Sub1.anInt2208 + var0, var32, 0, Class79.anInt1127, 150 - Class3_Sub13_Sub26.anIntArray3318[var7]); + } + + if(4 == Class3_Sub13_Sub26.anIntArray3336[var7]) { + var15 = (-Class3_Sub13_Sub26.anIntArray3318[var7] + 150) * (Class168.aClass3_Sub28_Sub17_2096.method682(var33) - -100) / 150; + if(!HDToolKit.highDetail) { + Class74.method1326(-50 + (var2 - -Class32.anInt590), var0, 50 + Class32.anInt590 + var2, var4 + var0); + } else { + Class22.method931(Class32.anInt590 + var2 + -50, var0, Class32.anInt590 + var2 - -50, var4 + var0); + } + + Class168.aClass3_Sub28_Sub17_2096.method681(var33, var2 - (-Class32.anInt590 + -50) + -var15, var0 + Class3_Sub1.anInt2208, var32, 0); + if(HDToolKit.highDetail) { + Class22.method935(var2, var0, var1 + var2, var4 + var0); + } else { + Class74.method1324(var2, var0, var2 - -var1, var0 + var4); + } + } + + if(Class3_Sub13_Sub26.anIntArray3336[var7] == 5) { + int var16 = 0; + var15 = -Class3_Sub13_Sub26.anIntArray3318[var7] + 150; + if(HDToolKit.highDetail) { + Class22.method931(var2, -1 + -Class168.aClass3_Sub28_Sub17_2096.anInt3727 + Class3_Sub1.anInt2208 + var0, var1 + var2, 5 + var0 - -Class3_Sub1.anInt2208); + } else { + Class74.method1326(var2, -1 + -Class168.aClass3_Sub28_Sub17_2096.anInt3727 + Class3_Sub1.anInt2208 + var0, var2 + var1, 5 + Class3_Sub1.anInt2208 + var0); + } + + if(25 > var15) { + var16 = var15 + -25; + } else if(var15 > 125) { + var16 = var15 - 125; + } + + Class168.aClass3_Sub28_Sub17_2096.method699(var33, Class32.anInt590 + var2, var16 + var0 + Class3_Sub1.anInt2208, var32, 0); + if(HDToolKit.highDetail) { + Class22.method935(var2, var0, var2 - -var1, var0 + var4); + } else { + Class74.method1324(var2, var0, var2 + var1, var0 + var4); + } + } + } else { + Class168.aClass3_Sub28_Sub17_2096.method699(var33, var2 - -Class32.anInt590, var0 + Class3_Sub1.anInt2208, 16776960, 0); + } + } + + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "lc.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final int method1406(byte var0) { + try { + int var1 = -21 % ((63 - var0) / 49); + return Class3_Sub28_Sub7_Sub1.anInt4045; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lc.E(" + var0 + ')'); + } + } + + final byte[] method1407(int var1, int var2, boolean var3, Interface2 var4, double var5, int var7, CacheIndex var8) { + try { + byte[] var9 = new byte[4 * var2 * var1]; + if(var7 != 8839) { + return (byte[])null; + } else { + GameObject.method1859(var5, 32258); + Class104.aClass153_2172 = var8; + Class17.anInterface2_408 = var4; + Class3_Sub13_Sub3.method180(-32, var1, var2); + + int var10; + for(var10 = 0; this.aClass3_Sub13Array1147.length > var10; ++var10) { + this.aClass3_Sub13Array1147[var10].method160(var1, var2, var7 + -8589); + } + + var10 = 0; + + int var11; + for(var11 = 0; ~var1 < ~var11; ++var11) { + if(var3) { + var10 = var11 << 2; + } + + int[] var12; + int[] var13; + int[] var14; + int[] var15; + if(this.aClass3_Sub13_1145.aBoolean2375) { + var15 = this.aClass3_Sub13_1145.method154(var11, (byte)-98); + var12 = var15; + var13 = var15; + var14 = var15; + } else { + int[][] var22 = this.aClass3_Sub13_1145.method166(-1, var11); + var12 = var22[0]; + var13 = var22[1]; + var14 = var22[2]; + } + + if(this.aClass3_Sub13_1148.aBoolean2375) { + var15 = this.aClass3_Sub13_1148.method154(var11, (byte)-103); + } else { + var15 = this.aClass3_Sub13_1148.method166(-1, var11)[0]; + } + + for(int var16 = var2 - 1; ~var16 <= -1; --var16) { + int var17 = var12[var16] >> 4; + if(var17 > 255) { + var17 = 255; + } + + if(var17 < 0) { + var17 = 0; + } + + int var18 = var13[var16] >> 4; + if(-256 > ~var18) { + var18 = 255; + } + + int var19 = var14[var16] >> 4; + if(var19 > 255) { + var19 = 255; + } + + var17 = Class3_Sub30_Sub1.anIntArray3804[var17]; + if(~var19 > -1) { + var19 = 0; + } + + if(~var18 > -1) { + var18 = 0; + } + + var18 = Class3_Sub30_Sub1.anIntArray3804[var18]; + var19 = Class3_Sub30_Sub1.anIntArray3804[var19]; + int var20; + if(~var17 == -1 && -1 == ~var18 && -1 == ~var19) { + var20 = 0; + } else { + var20 = var15[var16] >> 4; + if(255 < var20) { + var20 = 255; + } + + if(-1 < ~var20) { + var20 = 0; + } + } + + var9[var10++] = (byte)var17; + var9[var10++] = (byte)var18; + var9[var10++] = (byte)var19; + var9[var10++] = (byte)var20; + if(var3) { + var10 += -4 + (var2 << 2); + } + } + } + + for(var11 = 0; ~var11 > ~this.aClass3_Sub13Array1147.length; ++var11) { + this.aClass3_Sub13Array1147[var11].method161((byte)-45); + } + + return var9; + } + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "lc.F(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ')'); + } + } + + final boolean method1408(boolean var1, Interface2 var2, CacheIndex var3) { + try { + int var4; + if(0 < Class126.anInt1668) { + for(var4 = 0; ~var4 > ~this.anIntArray1144.length; ++var4) { + if(!var3.method2129((byte)-78, this.anIntArray1144[var4], Class126.anInt1668)) { + return false; + } + } + } else { + for(var4 = 0; ~var4 > ~this.anIntArray1144.length; ++var4) { + if(!var3.method2144(0, this.anIntArray1144[var4])) { + return false; + } + } + } + + if(!var1) { + this.anIntArray1144 = (int[])null; + } + + for(var4 = 0; ~this.anIntArray1149.length < ~var4; ++var4) { + if(!var2.method11(21, this.anIntArray1149[var4])) { + return false; + } + } + + return true; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lc.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public static void method1409(boolean var0) { + try { + aClass93_1146 = null; + if(var0) { + aClass94_1151 = (RSString)null; + } + + aClass94_1151 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lc.A(" + var0 + ')'); + } + } + + public Class82() { + try { + this.anIntArray1149 = new int[0]; + this.anIntArray1144 = new int[0]; + this.aClass3_Sub13_1145 = new Class3_Sub13_Sub22(); + this.aClass3_Sub13_1145.anInt2381 = 1; + this.aClass3_Sub13_1148 = new Class3_Sub13_Sub22(); + this.aClass3_Sub13Array1147 = new Class3_Sub13[]{this.aClass3_Sub13_1145, this.aClass3_Sub13_1148}; + this.aClass3_Sub13_1148.anInt2381 = 1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lc.()"); + } + } + + Class82(RSByteBuffer var1) { + try { + int var2 = var1.getByte((byte)-93); + this.aClass3_Sub13Array1147 = new Class3_Sub13[var2]; + int[][] var5 = new int[var2][]; + int var4 = 0; + int var3 = 0; + + int var6; + Class3_Sub13 var7; + int var8; + int var9; + for(var6 = 0; var2 > var6; ++var6) { + var7 = InputStream_Sub1.method63((byte)-67, var1); + if(0 <= var7.method159(4)) { + ++var3; + } + + if(~var7.method155((byte)19) <= -1) { + ++var4; + } + + var8 = var7.aClass3_Sub13Array2377.length; + var5[var6] = new int[var8]; + + for(var9 = 0; ~var8 < ~var9; ++var9) { + var5[var6][var9] = var1.getByte((byte)-85); + } + + this.aClass3_Sub13Array1147[var6] = var7; + } + + this.anIntArray1144 = new int[var3]; + this.anIntArray1149 = new int[var4]; + var3 = 0; + var4 = 0; + + for(var6 = 0; var6 < var2; ++var6) { + var7 = this.aClass3_Sub13Array1147[var6]; + var8 = var7.aClass3_Sub13Array2377.length; + + for(var9 = 0; ~var9 > ~var8; ++var9) { + var7.aClass3_Sub13Array2377[var9] = this.aClass3_Sub13Array1147[var5[var6][var9]]; + } + + var9 = var7.method159(4); + int var10 = var7.method155((byte)19); + if(-1 > ~var9) { + this.anIntArray1144[var3++] = var9; + } + + if(~var10 < -1) { + this.anIntArray1149[var4++] = var10; + } + + var5[var6] = null; + } + + this.aClass3_Sub13_1145 = this.aClass3_Sub13Array1147[var1.getByte((byte)-85)]; + var5 = (int[][])null; + this.aClass3_Sub13_1148 = this.aClass3_Sub13Array1147[var1.getByte((byte)-87)]; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "lc.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class83.java b/09HDscape-client/src/org/runite/jagex/Class83.java new file mode 100644 index 000000000..b5c952e5a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class83.java @@ -0,0 +1,460 @@ +package org.runite.jagex; + +final class Class83 { + + private CacheIndex aClass153_1153; + static Class3_Sub27 aClass3_Sub27_1154; + private Class130 aClass130_1155 = new Class130(256); + static int anInt1156 = 0; + private CacheIndex aClass153_1157; + static boolean aBoolean1158 = false; + private Class130 aClass130_1159 = new Class130(256); + + + static final void method1410(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + try { + int var11 = var4 - var6; + int var12 = -var3 + var2; + if(Class23.anInt455 > var4) { + ++var11; + } + + if(Class108.anInt1460 > var2) { + ++var12; + } + + if(var10 != -12541) { + method1411(-14); + } + + int var13; + int var14; + int var15; + int var17; + int var16; + int var19; + int var21; + int var20; + int var22; + int var25; + int var24; + int var26; + int var28; + int var31; + int var30; + int var32; + int var33; + int[][] var41; + int var10000; + for(var13 = 0; ~var11 < ~var13; ++var13) { + var14 = var13 * var8 + var1 >> 16; + var15 = (var13 + 1) * var8 + var1 >> 16; + var16 = -var14 + var15; + if(var16 > 0) { + var17 = var13 - -var6 >> 6; + if(0 <= var17 && ~(Class146.anIntArrayArrayArray1903.length + -1) <= ~var17) { + var14 += var5; + var41 = Class146.anIntArrayArrayArray1903[var17]; + byte[][] var45 = RenderAnimationDefinition.aByteArrayArrayArray383[var17]; + byte[][] var42 = Class3_Sub10.aByteArrayArrayArray2339[var17]; + byte[][] var23 = Class36.aByteArrayArrayArray640[var17]; + byte[][] var43 = CS2Script.aByteArrayArrayArray2452[var17]; + var15 += var5; + byte[][] var46 = Class3_Sub13_Sub33.aByteArrayArrayArray3390[var17]; + + for(var24 = 0; var12 > var24; ++var24) { + var25 = var7 * var24 + var9 >> 16; + var26 = var9 - -((1 + var24) * var7) >> 16; + int var27 = -var25 + var26; + if(~var27 < -1) { + var26 += var0; + var28 = var3 + var24 >> 6; + int var29 = 63 & var3 + var24; + var25 += var0; + var30 = var13 + var6 & 63; + var31 = (var29 << 6) + var30; + if(0 <= var28 && var41.length + -1 >= var28 && null != var41[var28]) { + var32 = var41[var28][var31]; + } else { + if(~RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3550 == 0) { + if(~(4 & var24 + var3) != ~(var6 + var13 & 4)) { + var32 = 4936552; + } else { + var32 = Class84.anIntArray1161[1 + Class3_Sub13_Sub6.anInt3081]; + } + } else { + var32 = RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3550; + } + + if(~var28 > -1 || var28 > var41.length + -1) { + if(var32 == 0) { + var32 = 1; + } + + Class74.method1323(var14, var25, var16, var27, var32); + continue; + } + } + + var33 = var45[var28] == null?0:Class84.anIntArray1161[var45[var28][var31] & 255]; + if(-1 == ~var32) { + var32 = 1; + } + + int var34 = var46[var28] != null?Class84.anIntArray1161[255 & var46[var28][var31]]:0; + int var36; + if(var33 == 0 && -1 == ~var34) { + Class74.method1323(var14, var25, var16, var27, var32); + } else { + byte var35; + if(0 != var33) { + if(~var33 == 0) { + var33 = 1; + } + + var35 = var42[var28] != null?var42[var28][var31]:0; + var36 = var35 & 252; + if(-1 != ~var36 && ~var16 < -2 && var27 > 1) { + Class168.method2272(Class74.anIntArray1100, var33, var14, var35 & 3, var32, var36 >> 2, var27, var16, var25, true, (byte)21); + } else { + Class74.method1323(var14, var25, var16, var27, var33); + } + } + + if(~var34 != -1) { + if(var34 == -1) { + var34 = var32; + } + + var35 = var43[var28][var31]; + var36 = 252 & var35; + if(~var36 == -1 || -2 <= ~var16 || 1 >= var27) { + Class74.method1323(var14, var25, var16, var27, var34); + } + + Class168.method2272(Class74.anIntArray1100, var34, var14, var35 & 3, 0, var36 >> 2, var27, var16, var25, var33 == 0, (byte)21); + } + } + + if(var23[var28] != null) { + int var49 = var23[var28][var31] & 255; + if(-1 != ~var49) { + if(1 != var16) { + var36 = var15 - 1; + } else { + var36 = var14; + } + + int var37; + if(1 != var27) { + var37 = -1 + var26; + } else { + var37 = var25; + } + + int var38 = 13421772; + if(5 <= var49 && 8 >= var49 || var49 >= 13 && 16 >= var49 || 21 <= var49 && ~var49 >= -25 || -28 == ~var49 || 28 == var49) { + var38 = 13369344; + var49 -= 4; + } + + if(1 == var49) { + Class74.method1318(var14, var25, var27, var38); + } else if(2 == var49) { + Class74.method1317(var14, var25, var16, var38); + } else if(3 != var49) { + if(-5 != ~var49) { + if(var49 != 9) { + if(~var49 != -11) { + if(-12 == ~var49) { + Class74.method1318(var36, var25, var27, 16777215); + Class74.method1317(var14, var37, var16, var38); + } else if(var49 != 12) { + if(var49 == 17) { + Class74.method1317(var14, var25, 1, var38); + } else if(var49 != 18) { + if(~var49 == -20) { + Class74.method1317(var36, var37, 1, var38); + } else if(~var49 == -21) { + Class74.method1317(var14, var37, 1, var38); + } else { + int var39; + if(25 == var49) { + for(var39 = 0; ~var39 > ~var27; ++var39) { + Class74.method1317(var39 + var14, -var39 + var37, 1, var38); + } + } else if(26 == var49) { + for(var39 = 0; var39 < var27; ++var39) { + Class74.method1317(var39 + var14, var25 + var39, 1, var38); + } + } + } + } else { + Class74.method1317(var36, var25, 1, var38); + } + } else { + Class74.method1318(var14, var25, var27, 16777215); + Class74.method1317(var14, var37, var16, var38); + } + } else { + Class74.method1318(var36, var25, var27, 16777215); + Class74.method1317(var14, var25, var16, var38); + } + } else { + Class74.method1318(var14, var25, var27, 16777215); + Class74.method1317(var14, var25, var16, var38); + } + } else { + Class74.method1317(var14, var37, var16, var38); + } + } else { + Class74.method1318(var36, var25, var27, var38); + } + } + } + } + } + } else { + var14 += var5; + + for(int var18 = 0; ~var12 < ~var18; ++var18) { + if(-1 != RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3550) { + var19 = RSByteBuffer.aClass3_Sub28_Sub3_2600.anInt3550; + } else if((var13 - -var6 & 4) == (4 & var18 + var3)) { + var19 = Class84.anIntArray1161[1 + Class3_Sub13_Sub6.anInt3081]; + } else { + var19 = 4936552; + } + + if(~var19 == -1) { + var19 = 1; + } + + var20 = (var7 * var18 + var9 >> 16) + var0; + var21 = var0 + ((var18 + 1) * var7 + var9 >> 16); + var22 = var21 + -var20; + Class74.method1323(var14, var20, var16, var22, var19); + } + + var10000 = var15 + var5; + } + } + } + + for(var13 = -2; 2 + var11 > var13; ++var13) { + var14 = var1 - -(var13 * var8) >> 16; + var15 = var8 * (var13 + 1) + var1 >> 16; + var16 = -var14 + var15; + if(~var16 < -1) { + var14 += var5; + var17 = var6 + var13 >> 6; + var10000 = var15 + var5; + if(-1 >= ~var17 && Class29.anIntArrayArrayArray558.length + -1 >= var17) { + var41 = Class29.anIntArrayArrayArray558[var17]; + + for(var19 = -2; ~var19 > ~(var12 - -2); ++var19) { + var20 = var9 - -(var19 * var7) >> 16; + var21 = var9 - -((var19 + 1) * var7) >> 16; + var22 = var21 + -var20; + if(~var22 < -1) { + var20 += var0; + int var44 = var19 - -var3 >> 6; + var10000 = var21 + var0; + if(~var44 <= -1 && var44 <= -1 + var41.length) { + var24 = ((63 & var3 + var19) << 6) - -(var13 - -var6 & 63); + if(null != var41[var44]) { + var25 = var41[var44][var24]; + var26 = 16383 & var25; + if(-1 != ~var26) { + var28 = ('\ud228' & var25) >> 14; + Class2 var47 = Class3_Sub28_Sub6.c(-1 + var26, 0); + LDIndexedSprite var48 = var47.method77(var28, (byte)-71); + if(var48 != null) { + var31 = var22 * var48.anInt1468 / 4; + var30 = var16 * var48.anInt1461 / 4; + if(var47.aBoolean69) { + var32 = var25 >> 16 & 15; + var33 = (16103184 & var25) >> 20; + if(-2 == ~(1 & var28)) { + var28 = var32; + var32 = var33; + var33 = var28; + } + + var30 = var16 * var32; + var31 = var22 * var33; + } + + if(-1 != ~var30 && -1 != ~var31) { + if(~var47.anInt61 == -1) { + var48.method1677(var14, -var31 + var20 - -var22, var30, var31); + } else { + var48.method1669(var14, var20 - (var31 - var22), var30, var31, var47.anInt61); + } + } + } + } + } + } + } + } + } + } + } + + } catch (RuntimeException var40) { + throw Class44.method1067(var40, "le.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + static final int method1411(int var0) { + try { + if(Class3_Sub13_Sub10.aFrame3121 == null) { + if(HDToolKit.highDetail && Class3_Sub15.aBoolean2427) { + return 2; + } else { + if(var0 != 0) { + aBoolean1158 = false; + } + + return HDToolKit.highDetail && !Class3_Sub15.aBoolean2427?1:0; + } + } else { + return 3; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "le.D(" + var0 + ')'); + } + } + + private final Class3_Sub12_Sub1 method1412(int[] var1, int var2, int var3, int var4) { + try { + if(var2 != 31947) { + return (Class3_Sub12_Sub1)null; + } else { + int var5 = var4 ^ (var3 >>> 12 | var3 << 4 & '\ufff3'); + var5 |= var3 << 16; + long var6 = (long)var5; + Class3_Sub12_Sub1 var8 = (Class3_Sub12_Sub1)this.aClass130_1159.method1780(var6, 0); + if(var8 != null) { + return var8; + } else if(null != var1 && ~var1[0] >= -1) { + return null; + } else { + Class135 var9 = Class135.method1811(this.aClass153_1153, var3, var4); + if(null != var9) { + var8 = var9.method1812(); + this.aClass130_1159.method1779(1, var8, var6); + if(var1 != null) { + var1[0] -= var8.aByteArray3030.length; + } + + return var8; + } else { + return null; + } + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "le.B(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final Class3_Sub12_Sub1 method1413(int var1, int var2, int[] var3) { + try { + if(1 != this.aClass153_1153.method2121(0)) { + if(-2 == ~this.aClass153_1153.getFileAmount(var1, (byte)83)) { + return this.method1412(var3, 31947, var1, 0); + } else { + if(var2 < 0) { + this.aClass130_1159 = (Class130)null; + } + + throw new RuntimeException(); + } + } else { + return this.method1412(var3, 31947, 0, var1); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "le.A(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public static void method1414(int var0) { + try { + if(var0 < 86) { + method1410(73, 59, 119, 60, 89, -42, -25, 37, 88, -62, 69); + } + + aClass3_Sub27_1154 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "le.E(" + var0 + ')'); + } + } + + private final Class3_Sub12_Sub1 method1415(int var1, int[] var2, int var3, byte var4) { + try { + int var5 = var3 ^ (var1 >>> 12 | '\ufff3' & var1 << 4); + var5 |= var1 << 16; + long var6 = (long)var5 ^ 4294967296L; + Class3_Sub12_Sub1 var8 = (Class3_Sub12_Sub1)this.aClass130_1159.method1780(var6, 0); + if(null != var8) { + return var8; + } else if(var2 != null && var2[0] <= 0) { + return null; + } else { + Class3_Sub14 var9 = (Class3_Sub14)this.aClass130_1155.method1780(var6, 0); + if(null == var9) { + var9 = Class3_Sub14.method363(this.aClass153_1157, var1, var3); + if(null == var9) { + return null; + } + + this.aClass130_1155.method1779(1, var9, var6); + } + + var8 = var9.method359(var2); + if(null == var8) { + return null; + } else { + var9.method86(-1024); + this.aClass130_1159.method1779(1, var8, var6); + if(var4 != 11) { + this.method1413(64, -18, (int[])null); + } + + return var8; + } + } + } catch (RuntimeException var10) { + // var10.printStackTrace(); + throw Class44.method1067(var10, "le.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + final Class3_Sub12_Sub1 method1416(int var1, int var2, int[] var3) { + try { + if(var1 != 10089) { + return (Class3_Sub12_Sub1)null; + } else if(-2 == ~this.aClass153_1157.method2121(0)) { + return this.method1415(0, var3, var2, (byte)11); + } else if(-2 != ~this.aClass153_1157.getFileAmount(var2, (byte)99)) { + throw new RuntimeException(); + } else { + return this.method1415(var2, var3, 0, (byte)11); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "le.G(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + Class83(CacheIndex var1, CacheIndex var2) { + try { + this.aClass153_1153 = var1; + this.aClass153_1157 = var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "le.(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class84.java b/09HDscape-client/src/org/runite/jagex/Class84.java new file mode 100644 index 000000000..1371ef239 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class84.java @@ -0,0 +1,156 @@ +package org.runite.jagex; + +final class Class84 { + + static int[][] anIntArrayArray1160 = new int[104][104]; + static int[] anIntArray1161; + static Class61 aClass61_1162 = new Class61(); + static int[] anIntArray1163 = new int[1000]; + static int anInt1164 = 0; + static int anInt1165 = -1; + + + static final void method1417(int var0) { + try { + if(var0 < 98) { + method1418(55, (CacheIndex)null); + } + + if(~Class143.loadingStage == -11 && HDToolKit.highDetail) { + Class117.method1719(28, 5); + } + + if(~Class143.loadingStage == -31) { + Class117.method1719(25, 5); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lf.D(" + var0 + ')'); + } + } + + static final void method1418(int var0, CacheIndex var1) { + try { + Class163_Sub2_Sub1.aClass109_Sub1Array4027 = Class3_Sub28_Sub13.method619((byte)65, NPC.anInt4001, var1); + Class52.anIntArray861 = new int[256]; + + int var2; + for(var2 = 0; -4 < ~var2; ++var2) { + int var4 = (Class131.anIntArray1729[1 + var2] & 16711680) >> 16; + float var3 = (float)((Class131.anIntArray1729[var2] & 16711680) >> 16); + float var6 = (float)(Class131.anIntArray1729[var2] >> 8 & 255); + float var9 = (float)(Class131.anIntArray1729[var2] & 255); + float var5 = ((float)var4 - var3) / 64.0F; + int var7 = (Class131.anIntArray1729[var2 + 1] & '\uff00') >> 8; + float var8 = (-var6 + (float)var7) / 64.0F; + int var10 = Class131.anIntArray1729[var2 + 1] & 255; + float var11 = ((float)var10 - var9) / 64.0F; + + for(int var12 = 0; -65 < ~var12; ++var12) { + Class52.anIntArray861[var12 + 64 * var2] = Class3_Sub13_Sub29.bitwiseOr((int)var9, Class3_Sub13_Sub29.bitwiseOr((int)var6 << 8, (int)var3 << 16)); + var6 += var8; + var9 += var11; + var3 += var5; + } + } + + for(var2 = 192; var2 < 255; ++var2) { + Class52.anIntArray861[var2] = Class131.anIntArray1729[3]; + } + + var2 = -35 / ((-51 - var0) / 42); + Class161.anIntArray2026 = new int['\u8000']; + OutputStream_Sub1.anIntArray49 = new int['\u8000']; + Class3_Sub13_Sub10.method215((byte)-89, (LDIndexedSprite)null); + Class3_Sub30_Sub1.anIntArray3805 = new int['\u8000']; + Class127.anIntArray1681 = new int['\u8000']; + Class97.aClass3_Sub28_Sub16_Sub2_1381 = new Class3_Sub28_Sub16_Sub2(128, 254); + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "lf.E(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method1419(int var0) { + try { + int var2 = Class3_Sub13_Sub33.anInt3395; + int var3 = Class3_Sub28_Sub3.anInt3552; + int var1 = AbstractIndexedSprite.anInt1462; + int var5 = 6116423; + int var4 = Class3_Sub28_Sub1.anInt3537; + if(!HDToolKit.highDetail) { + Class74.method1323(var1, var2, var3, var4, var5); + Class74.method1323(1 + var1, 1 + var2, var3 + -2, 16, 0); + Class74.method1311(1 + var1, var2 + 18, -2 + var3, -19 + var4, 0); + } else { + Class22.method934(var1, var2, var3, var4, var5); + Class22.method934(1 + var1, 1 + var2, var3 + -2, 16, 0); + Class22.method927(1 + var1, var2 + 18, var3 + -2, -19 + var4, 0); + } + + Class168.aClass3_Sub28_Sub17_2096.method681(Class75_Sub4.aClass94_2667, var1 - -3, var2 + 14, var5, -1); + int var7 = Class130.anInt1709; + int var6 = Class126.anInt1676; + if(var0 >= -113) { + anIntArrayArray1160 = (int[][])((int[][])null); + } + + for(int var8 = 0; ~Class3_Sub13_Sub34.anInt3415 < ~var8; ++var8) { + int var9 = (-var8 + -1 + Class3_Sub13_Sub34.anInt3415) * 15 + var2 - -31; + int var10 = 16777215; + if(~var1 > ~var6 && ~var6 > ~(var1 - -var3) && -13 + var9 < var7 && ~var7 > ~(3 + var9)) { + var10 = 16776960; + } + + Class168.aClass3_Sub28_Sub17_2096.method681(RSByteBuffer.method802(var8, true), var1 - -3, var9, var10, 0); + } + + Class69.method1282(AbstractIndexedSprite.anInt1462, (byte)107, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537, Class3_Sub28_Sub3.anInt3552); + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "lf.A(" + var0 + ')'); + } + } + + static final void method1420(int var0, int var1, int var2, int var3, byte var4) { + try { + Class3_Sub28_Sub6 var5 = Class3_Sub24_Sub3.method466(4, 10, var0); + var5.g((byte)33); + var5.anInt3597 = var2; + var5.anInt3598 = var3; + var5.anInt3596 = var1; + if(var4 >= -35) { + anInt1165 = 86; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "lf.C(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final int method1421(int var0) { + try { + if(var0 != -2) { + method1422((byte)26); + } + + return ((Class3_Sub13_Sub15.aBoolean3184?1:0) << 19) + (((Class38.aBoolean661?1:0) << 16) + ((!Class128.aBoolean1685?0:1) << 15) + ((!Class106.aBoolean1441?0:1) << 13) + ((Class140_Sub6.aBoolean2910?1:0) << 10) + ((Class3_Sub13_Sub22.aBoolean3275?1:0) << 9) + ((RSInterface.aBoolean236?1:0) << 7) + ((!Class25.aBoolean488?0:1) << 6) + ((Class148.aBoolean1905?1:0) << 5) + (((!Class3_Sub28_Sub13.aBoolean3665?0:1) << 3) + (Class3_Sub28_Sub10.anInt3625 & 7) - (-((!Class3_Sub28_Sub7.aBoolean3604?0:1) << 4) + -((WorldListEntry.aBoolean2623?1:0) << 8)) - (-(Class80.anInt1137 << 11 & 6144) + -((-1 == ~CS2Script.anInt2453?0:1) << 20) - (((~Class9.anInt120 != -1?1:0) << 21) + ((~Class14.anInt340 == -1?0:1) << 22)))) - -(Class127_Sub1.method1757() << 23)); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lf.F(" + var0 + ')'); + } + } + + public static void method1422(byte var0) { + try { + anIntArrayArray1160 = (int[][])null; + anIntArray1161 = null; + aClass61_1162 = null; + anIntArray1163 = null; + if(var0 != 24) { + method1420(-74, 65, 51, 91, (byte)-26); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lf.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class85.java b/09HDscape-client/src/org/runite/jagex/Class85.java new file mode 100644 index 000000000..c4e9d9723 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class85.java @@ -0,0 +1,71 @@ +package org.runite.jagex; + +final class Class85 { + + static int anInt1166; + static boolean aBoolean1167 = false; + static AnimationDefinition[] aClass142Array1168 = new AnimationDefinition[14]; + static float aFloat1169; + static int anInt1170; + static CacheIndex aClass153_1171; + static int anInt1172; + static RSString aClass94_1173 = RSString.createRSString("gr-Un:"); + static int anInt1174 = 99; + + + static final int method1423(boolean var0, RSByteBuffer var1, RSString var2) { + try { + if(var0) { + method1426(17); + } + + int var3 = var1.index; + byte[] var4 = var2.method1568(0); + var1.method768(-32769, var4.length); + var1.index += Class3_Sub13_Sub9.aClass36_3112.method1015(var4.length, -81, var1.buffer, var4, 0, var1.index); + return var1.index + -var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lg.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final AbstractIndexedSprite[] method1424(CacheIndex var0, byte var1, int var2, int var3) { + try { + if(var1 != -12) { + anInt1174 = 37; + } + + return Class75_Sub4.method1351(var0, var2, var3, -30901)?Class3_Sub13_Sub36.method343(1854847236):null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "lg.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1425(int var0) { + Class3_Sub13_Sub35.anInt3419 = var0; + + for(int var1 = 0; var1 < IOHandler.anInt1234; ++var1) { + for(int var2 = 0; var2 < Class3_Sub13_Sub15.anInt3179; ++var2) { + if(Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] == null) { + Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2] = new Class3_Sub2(var0, var1, var2); + } + } + } + + } + + public static void method1426(int var0) { + try { + aClass153_1171 = null; + if(var0 != -25247) { + aClass142Array1168 = (AnimationDefinition[])null; + } + + aClass94_1173 = null; + aClass142Array1168 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "lg.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class86.java b/09HDscape-client/src/org/runite/jagex/Class86.java new file mode 100644 index 000000000..099d1b38b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class86.java @@ -0,0 +1,178 @@ +package org.runite.jagex; + +final class Class86 { + + int anInt1175; + private static RSString aClass94_1176 = RSString.createRSString("Loading wordpack )2 "); + int anInt1177; + int anInt1178; + static RSString aClass94_1179 = RSString.createRSString("Veuillez patienter)3)3)3"); + + int anInt1181; + static Class91[] aClass91Array1182 = new Class91[4]; + static RSString aClass94_1183 = aClass94_1176; + int anInt1184; + int anInt1185; + static Class41 aClass41_1186; + float aFloat1187; + static RSString aClass94_1188 = RSString.createRSString("::rebuild"); + float aFloat1189; + float aFloat1190; + static int anInt1191; + private static RSString aClass94_1192 = RSString.createRSString("Examine"); + static Class3_Sub24_Sub4 aClass3_Sub24_Sub4_1193; + static Class130 aClass130_1194; + static int anInt1195; + static RSString aClass94_1180 = aClass94_1192; + + static final void method1427(boolean var0, int var1) { + try { + if(-1 == var1 && !Class83.aBoolean1158) { + GameObject.method1870(false); + } else if(var1 != -1 && (Class129.anInt1691 != var1 || !Class79.method1391(-1)) && Class9.anInt120 != 0 && !Class83.aBoolean1158) { + Class151.method2099(true, var1, 0, Class75_Sub2.aClass153_2645, false, Class9.anInt120, 2); + } + + if(!var0) { + aClass94_1192 = (RSString)null; + } + + Class129.anInt1691 = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "li.B(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1428(int var0, int var1, int var2) { + try { + if(var1 < 21) { + method1430(34, -13); + } + + Class163_Sub1.anIntArray2985[var0] = var2; + Class3_Sub7 var3 = (Class3_Sub7)Class3_Sub28_Sub15.aClass130_3679.method1780((long)var0, 0); + if(var3 == null) { + var3 = new Class3_Sub7(Class5.method830((byte)-55) - -500L); + Class3_Sub28_Sub15.aClass130_3679.method1779(1, var3, (long)var0); + } else { + var3.aLong2295 = 500L + Class5.method830((byte)-55); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "li.D(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public static void method1429(byte var0) { + try { + aClass3_Sub24_Sub4_1193 = null; + aClass94_1188 = null; + aClass91Array1182 = null; + aClass94_1192 = null; + aClass94_1183 = null; + aClass94_1179 = null; + aClass94_1176 = null; + aClass41_1186 = null; + aClass130_1194 = null; + aClass94_1180 = null; + if(var0 != 53) { + aClass3_Sub24_Sub4_1193 = (Class3_Sub24_Sub4)null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "li.C(" + var0 + ')'); + } + } + + static final Class3_Sub28_Sub17_Sub1 method1430(int var0, int var1) { + try { + if(var0 != -28922) { + return (Class3_Sub28_Sub17_Sub1)null; + } else { + Class3_Sub28_Sub17_Sub1 var2 = (Class3_Sub28_Sub17_Sub1)Class80.aClass93_1135.get((long)var1, (byte)121); + if(var2 != null) { + return var2; + } else { + byte[] var3 = CacheIndex.aClass153_1948.getFile(var1, (byte)-122, 0); + var2 = new Class3_Sub28_Sub17_Sub1(var3); + var2.method697(Class3_Sub13_Sub22.aClass109Array3270, (int[])null); + Class80.aClass93_1135.put((byte)-96, var2, (long)var1); + return var2; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "li.A(" + var0 + ',' + var1 + ')'); + } + } + + public Class86() { + try { + this.anInt1177 = Class92.anInt1322; + this.aFloat1189 = 1.2F; + this.anInt1178 = -50; + this.aFloat1187 = 1.1523438F; + this.anInt1175 = Class92.anInt1316; + this.anInt1181 = -60; + this.aFloat1190 = 0.69921875F; + this.anInt1184 = 0; + this.anInt1185 = -50; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "li.()"); + } + } + + Class86(RSByteBuffer var1) { + try { + int var2 = var1.getByte((byte)-92); + if(~(var2 & 1) == -1) { + this.anInt1177 = Class92.anInt1322; + } else { + this.anInt1177 = var1.getInt(); + } + + if(~(2 & var2) == -1) { + this.aFloat1187 = 1.1523438F; + } else { + this.aFloat1187 = (float)var1.getShort(1) / 256.0F; + } + + if((var2 & 4) == 0) { + this.aFloat1190 = 0.69921875F; + } else { + this.aFloat1190 = (float)var1.getShort(1) / 256.0F; + } + + if(~(var2 & 8) != -1) { + this.aFloat1189 = (float)var1.getShort(1) / 256.0F; + } else { + this.aFloat1189 = 1.2F; + } + + if(-1 == ~(16 & var2)) { + this.anInt1178 = -50; + this.anInt1185 = -50; + this.anInt1181 = -60; + } else { + this.anInt1185 = var1.getShort((byte)53); + this.anInt1181 = var1.getShort((byte)15); + this.anInt1178 = var1.getShort((byte)50); + } + + if((32 & var2) == 0) { + this.anInt1175 = Class92.anInt1316; + } else { + this.anInt1175 = var1.getInt(); + } + + if(-1 == ~(64 & var2)) { + this.anInt1184 = 0; + } else { + this.anInt1184 = var1.getShort(1); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "li.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class88.java b/09HDscape-client/src/org/runite/jagex/Class88.java new file mode 100644 index 000000000..c46ec4568 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class88.java @@ -0,0 +1,145 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class Class88 { + + static int[] anIntArray1223 = null; + static int[] anIntArray1224 = null; + private static ByteBuffer aByteBuffer1225; + private static ByteBuffer aByteBuffer1226; + static boolean aBoolean1227; + static int anInt1228 = -1; + static int anInt1229 = -1; + + + static final void method1454() { + byte[] var1; + if(aByteBuffer1226 == null) { + Class164_Sub2_Sub1 var0 = new Class164_Sub2_Sub1(); + var1 = var0.method2250(64, 64, 64); + aByteBuffer1226 = ByteBuffer.allocateDirect(var1.length); + aByteBuffer1226.position(0); + aByteBuffer1226.put(var1); + aByteBuffer1226.flip(); + } + + if(aByteBuffer1225 == null) { + Class164_Sub1_Sub1 var2 = new Class164_Sub1_Sub1(); + var1 = var2.method2243(64, 64, 64); + aByteBuffer1225 = ByteBuffer.allocateDirect(var1.length); + aByteBuffer1225.position(0); + aByteBuffer1225.put(var1); + aByteBuffer1225.flip(); + } + + } + + static final void method1455() { + GL var0; + int[] var1; + if(anInt1228 != -1) { + var0 = HDToolKit.gl; + var1 = new int[]{anInt1228}; + var0.glDeleteTextures(1, var1, 0); + anInt1228 = -1; + Class31.anInt580 -= aByteBuffer1226.limit() * 2; + } + + if(anIntArray1224 != null) { + var0 = HDToolKit.gl; + var0.glDeleteTextures(64, anIntArray1224, 0); + anIntArray1224 = null; + Class31.anInt580 -= aByteBuffer1226.limit() * 2; + } + + if(anInt1229 != -1) { + var0 = HDToolKit.gl; + var1 = new int[]{anInt1229}; + var0.glDeleteTextures(1, var1, 0); + anInt1229 = -1; + Class31.anInt580 -= aByteBuffer1225.limit() * 2; + } + + if(anIntArray1223 != null) { + var0 = HDToolKit.gl; + var0.glDeleteTextures(64, anIntArray1223, 0); + anIntArray1223 = null; + Class31.anInt580 -= aByteBuffer1225.limit() * 2; + } + + } + + static final void method1456() { + aBoolean1227 = HDToolKit.aBoolean1802; + method1454(); + method1458(); + method1459(); + } + + public static void method1457() { + anIntArray1224 = null; + anIntArray1223 = null; + aByteBuffer1226 = null; + aByteBuffer1225 = null; + } + + private static final void method1458() { + GL var0 = HDToolKit.gl; + if(aBoolean1227) { + int[] var1 = new int[1]; + var0.glGenTextures(1, var1, 0); + var0.glBindTexture('\u806f', var1[0]); + aByteBuffer1226.position(0); + var0.glTexImage3D('\u806f', 0, 6410, 64, 64, 64, 0, 6410, 5121, aByteBuffer1226); + var0.glTexParameteri('\u806f', 10241, 9729); + var0.glTexParameteri('\u806f', 10240, 9729); + anInt1228 = var1[0]; + Class31.anInt580 += aByteBuffer1226.limit() * 2; + } else { + anIntArray1224 = new int[64]; + var0.glGenTextures(64, anIntArray1224, 0); + + for(int var2 = 0; var2 < 64; ++var2) { + HDToolKit.bindTexture2D(anIntArray1224[var2]); + aByteBuffer1226.position(var2 * 64 * 64 * 2); + var0.glTexImage2D(3553, 0, 6410, 64, 64, 0, 6410, 5121, aByteBuffer1226); + var0.glTexParameteri(3553, 10241, 9729); + var0.glTexParameteri(3553, 10240, 9729); + } + + Class31.anInt580 += aByteBuffer1226.limit() * 2; + } + + } + + private static final void method1459() { + GL var0 = HDToolKit.gl; + if(aBoolean1227) { + int[] var1 = new int[1]; + var0.glGenTextures(1, var1, 0); + var0.glBindTexture('\u806f', var1[0]); + aByteBuffer1225.position(0); + var0.glTexImage3D('\u806f', 0, 6410, 64, 64, 64, 0, 6410, 5121, aByteBuffer1225); + var0.glTexParameteri('\u806f', 10241, 9729); + var0.glTexParameteri('\u806f', 10240, 9729); + anInt1229 = var1[0]; + Class31.anInt580 += aByteBuffer1225.limit() * 2; + } else { + anIntArray1223 = new int[64]; + var0.glGenTextures(64, anIntArray1223, 0); + + for(int var2 = 0; var2 < 64; ++var2) { + HDToolKit.bindTexture2D(anIntArray1223[var2]); + aByteBuffer1225.position(var2 * 64 * 64 * 2); + var0.glTexImage2D(3553, 0, 6410, 64, 64, 0, 6410, 5121, aByteBuffer1225); + var0.glTexParameteri(3553, 10241, 9729); + var0.glTexParameteri(3553, 10240, 9729); + } + + Class31.anInt580 += aByteBuffer1225.limit() * 2; + } + + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class9.java b/09HDscape-client/src/org/runite/jagex/Class9.java new file mode 100644 index 000000000..ebfdd663f --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class9.java @@ -0,0 +1,210 @@ +package org.runite.jagex; + +final class Class9 { + + int[][] anIntArrayArray108 = new int[6][258]; + byte[] aByteArray109 = new byte[4096]; + int[][] anIntArrayArray110 = new int[6][258]; + byte aByte111; + boolean[] aBooleanArray112 = new boolean[256]; + static byte[][][] aByteArrayArrayArray113 = new byte[4][104][104]; + byte[] aByteArray114 = new byte[256]; + int[][] anIntArrayArray115 = new int[6][258]; + int anInt116 = 0; + byte[] aByteArray117; + int anInt118 = 0; + static RSString aClass94_119 = RSString.createRSString("runes"); + static int anInt120 = 255; + int anInt121; + int[] anIntArray122 = new int[257]; + int[] anIntArray123 = new int[16]; + boolean[] aBooleanArray124 = new boolean[16]; + static byte[][] aByteArrayArray125 = new byte[250][]; + int anInt126; + byte[] aByteArray127; + int anInt128; + int anInt129; + byte[] aByteArray130 = new byte[18002]; + int anInt131; + static RSString aClass94_132 = RSString.createRSString("::"); + int anInt133; + int[] anIntArray134 = new int[256]; + int anInt135; + static int anInt136 = 0; + int anInt137; + int[] anIntArray138 = new int[6]; + byte[] aByteArray139 = new byte[18002]; + int anInt140; + int anInt141; + int anInt142; + int anInt143; + static int anInt144; + static RSString aClass94_145 = RSString.createRSString("gelb:"); + byte[][] aByteArrayArray146 = new byte[6][258]; + int anInt147; + + + static final void method848(int var0) { + try { + if(Class44.aFloat727 < NPC.aFloat3979) { + Class44.aFloat727 = (float)((double)Class44.aFloat727 + (double)Class44.aFloat727 / 30.0D); + if(NPC.aFloat3979 < Class44.aFloat727) { + Class44.aFloat727 = NPC.aFloat3979; + } + + Class3_Sub5.method117((byte)87); + } else if(NPC.aFloat3979 < Class44.aFloat727) { + Class44.aFloat727 = (float)((double)Class44.aFloat727 - (double)Class44.aFloat727 / 30.0D); + if(NPC.aFloat3979 > Class44.aFloat727) { + Class44.aFloat727 = NPC.aFloat3979; + } + + Class3_Sub5.method117((byte)87); + } + + if(~Class82.anInt1150 != 0 && -1 != Class3_Sub13_Sub30.anInt3362) { + int var1 = -Class3_Sub28_Sub1.anInt3536 + Class82.anInt1150; + if(2 > var1 || -3 > ~var1) { + var1 >>= 4; + } + + int var2 = -Class3_Sub4.anInt2251 + Class3_Sub13_Sub30.anInt3362; + if(var2 < 2 || var2 > 2) { + var2 >>= 4; + } + + Class3_Sub4.anInt2251 -= -var2; + Class3_Sub28_Sub1.anInt3536 += var1; + if(0 == var1 && 0 == var2) { + Class82.anInt1150 = -1; + Class3_Sub13_Sub30.anInt3362 = -1; + } + + Class3_Sub5.method117((byte)87); + } + + if(var0 != 4) { + aClass94_132 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "bb.A(" + var0 + ')'); + } + } + + public static void method849(int var0) { + try { + aClass94_145 = null; + if(var0 == 2) { + aByteArrayArray125 = (byte[][])null; + aClass94_119 = null; + aClass94_132 = null; + aByteArrayArrayArray113 = (byte[][][])null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bb.B(" + var0 + ')'); + } + } + + static final void method850(byte var0) { + try { + Class3_Sub13_Sub12.aClass94_3142 = Class3_Sub28_Sub12.aClass94_3649; + Class3_Sub28_Sub2.aClass94_3546 = Class157.aClass94_2002; + Class50.aClass94_825 = NPCDefinition.aClass94_1281; + Class60.aClass94_935 = Class167.aClass94_2086; + Class27.aClass94_522 = Class17.aClass94_415; + Class86.aClass94_1180 = Class3_Sub13_Sub6.aClass94_3079; + Class86.aClass94_1183 = Class81.aClass94_1143; + Class154.aClass94_1962 = Class3_Sub1.aClass94_2207; + Class3_Sub13_Sub10.aClass94_3124 = Class163_Sub3.aClass94_3002; + Canvas_Sub2.aClass94_36 = Class3_Sub13_Sub8.aClass94_3106; + Class3_Sub13_Sub26.aClass94_3333 = Class38.aClass94_667; + Class3_Sub13_Sub36.aClass94_3427 = Class77.aClass94_1110; + Class163_Sub2_Sub1.aClass94_4024 = Class151_Sub1.aClass94_2945; + Class3_Sub13_Sub25.aClass94_3311 = Class3_Sub13_Sub13.aClass94_3157; + RenderAnimationDefinition.aClass94_374 = Class3_Sub28_Sub10.aClass94_3634; + Class100.aClass94_1409 = Player.aClass94_3957; + Class3_Sub20.aClass94_2481 = Class120.aClass94_1636; + Class140_Sub3.aClass94_2751 = NPC.aClass94_3991; + Class157.aClass94_1995 = Class3_Sub29.aClass94_2585; + if(var0 != 121) { + method848(-68); + } + + Class3_Sub28_Sub11.aClass94_3645 = Class65.aClass94_989; + Class128.aClass94_1688 = Class143.aClass94_1878; + Class24.aClass94_461 = Class53.aClass94_868; + Class3_Sub13_Sub36.aClass94_3426 = Class148.aClass94_1907; + Class23.aClass94_459 = Class3_Sub28_Sub5.aClass94_3585; + Node.aClass94_2576 = Class144.aClass94_1882; + Class3_Sub2.aClass94_2216 = Class86.aClass94_1179; + Class3_Sub28_Sub18.aClass94_3762 = Class3_Sub13_Sub14.aClass94_3172; + Class3_Sub13_Sub10.aClass94_3117 = Class163_Sub3.aClass94_3002; + Class3_Sub28_Sub10_Sub1.aClass94_4058 = Class3_Sub13_Sub13.aClass94_3146; + Client.aClass94_2196 = Class108.aClass94_1459; + Class3_Sub28_Sub11.aClass94_3643 = Class118.aClass94_1621; + NPC.aClass94_3988 = Class43.aClass94_699; + Class115.aClass94_1583 = Class126.aClass94_1678; + Class95.aClass94_1335 = Class3_Sub5.aClass94_2274; + Class3_Sub13_Sub14.aClass94_3167 = Class3_Sub28_Sub10.aClass94_3633; + Class163_Sub1.aClass94_2991 = Class3_Sub28_Sub5.aClass94_3583; + Class3_Sub5.aClass94_2267 = Class3_Sub28_Sub12.aClass94_3646; + Class12.aClass94_327 = Class38.aClass94_659; + Class154.aClass94_1959 = Class3_Sub28_Sub18.aClass94_3758; + GraphicDefinition.aClass94_551 = Class3_Sub13_Sub28.aClass94_3345; + Class3_Sub13_Sub23_Sub1.aClass94_4040 = Class79.aClass94_1122; + Class131.aClass94_1731 = Class3_Sub13_Sub16.aClass94_3206; + RSString.aClass94_2151 = Class3_Sub13_Sub20.aClass94_3251; + Class140_Sub3.aClass94_2744 = Class3_Sub22.aClass94_2518; + InputStream_Sub1.aClass94_43 = Class3_Sub13_Sub11.aClass94_3131; + Class56.aClass94_891 = Class3_Sub4.aClass94_2252; + Class43.aClass94_691 = Class3_Sub28_Sub12.aClass94_3656; + Class3_Sub28_Sub4.aClass94_3575 = Class12.aClass94_325; + Class3_Sub28_Sub10_Sub2.aClass94_4071 = Class137.aClass94_1783; + Class3_Sub13_Sub38.aClass94_3445 = Class73.aClass94_1089; + Class3_Sub28_Sub15.aClass94_3691 = Class3.aClass94_77; + WorldListEntry.aClass94_2624 = Class57.aClass94_897; + Class143.aClass94_1879 = RSByteBuffer.aClass94_2594; + Class3_Sub13_Sub33.aClass94_3397 = Class137.aClass94_1782; + Class3_Sub22.aClass94_2526 = Class117.aClass94_1612; + RenderAnimationDefinition.aClass94_361 = GraphicDefinition.aClass94_550; + Class3_Sub13_Sub7.aClass94_3097 = Class3_Sub28_Sub12.aClass94_3650; + Class3_Sub6.aClass94_2285 = Class65.aClass94_988; + Class3_Sub28_Sub2.aClass94_3544 = Class3_Sub13_Sub36.aClass94_3436; + GameShell.aClass94_4 = ISAACCipher.aClass94_973; + Class2.aClass94_62 = Class73.aClass94_1085; + Class75_Sub4.aClass94_2667 = ObjectDefinition.aClass94_1508; + Class24.aClass94_462 = Class3_Sub28_Sub19.aClass94_3771; + Class3_Sub1.aClass94_2210 = Class15.aClass94_343; + Class130.aClass94_1707 = Class57.aClass94_905; + Class151_Sub1.aClass94_2961 = Class27.aClass94_520; + Class62.aClass94_957 = Class17.aClass94_412; + Class38.aClass94_662 = Class163_Sub1.aClass94_2995; + Class161.aClass94_2031 = Canvas_Sub2.aClass94_35; + Class117.aClass94_1615 = Class3_Sub17.aClass94_2458; + Class3_Sub28_Sub10.aClass94_3629 = Class46.aClass94_738; + Class3_Sub28_Sub5.aClass94_3584 = Class75_Sub2.aClass94_2641; + Class27.aClass94_525 = Class65.aClass94_982; + Class3_Sub28_Sub5.aClass94_3586 = Class75_Sub2.aClass94_2641; + Class131.aClass94_1722 = Class65.aClass94_981; + Class136.aClass94_1773 = Class3_Sub13_Sub25.aClass94_3302; + Class144.aClass94_1884 = NPCDefinition.aClass94_1294; + RSByteBuffer.aClass94_2597 = Class62.aClass94_951; + Class25.aClass94_485 = Canvas_Sub1.aClass94_24; + Class3_Sub13_Sub20.aClass94_3249 = Class3_Sub28_Sub19.aClass94_3774; + Class38.aClass94_666 = Class163_Sub1.aClass94_2995; + ItemDefinition.aClass94_809 = Class3_Sub13_Sub10.aClass94_3119; + Class3_Sub13_Sub3.aClass94_3051 = Class118.aClass94_1620; + Class3_Sub13_Sub23.aClass94_3282 = ObjectDefinition.aClass94_1523; + Class106.aClass94_1445 = Class3_Sub13_Sub23_Sub1.aClass94_4036; + Class50.aClass94_822 = GameShell.aClass94_7; + Class145.aClass94_1892 = ObjectDefinition.aClass94_1509; + Class3_Sub13_Sub32.aClass94_3388 = Class32.aClass94_593; + Class27.aClass94_523 = RSByteBuffer.aClass94_2599; + Class123.aClass94_1653 = Class43.aClass94_701; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "bb.C(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class91.java b/09HDscape-client/src/org/runite/jagex/Class91.java new file mode 100644 index 000000000..6e9070048 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class91.java @@ -0,0 +1,1254 @@ +package org.runite.jagex; + +final class Class91 { + + static RSString[] aClass94Array1299 = new RSString[8]; + private int anInt1300; + static RSString aClass94_1301 = RSString.createRSString("(U3"); + static int anInt1302 = 0; + private int anInt1303; + int[][] anIntArrayArray1304; + static Class33 aClass33_1305; + private int anInt1306; + static int anInt1307; + static byte aByte1308; + private int anInt1309; + static long aLong1310 = 0L; + static short[] aShortArray1311; + + + final void method1485(int var1, boolean var2, int var3, int var4, int var5, int var6) { + try { + var6 -= this.anInt1309; + if(var3 > -101) { + method1495(-88, -61, -44, 72, 121); + } + + var4 -= this.anInt1306; + if(0 == var5) { + if(~var1 == -1) { + this.method1501((byte)114, var4, var6, 128); + this.method1501((byte)122, var4, var6 + -1, 8); + } + + if(var1 == 1) { + this.method1501((byte)77, var4, var6, 2); + this.method1501((byte)105, 1 + var4, var6, 32); + } + + if(~var1 == -3) { + this.method1501((byte)75, var4, var6, 8); + this.method1501((byte)38, var4, var6 - -1, 128); + } + + if(3 == var1) { + this.method1501((byte)110, var4, var6, 32); + this.method1501((byte)26, var4 - 1, var6, 2); + } + } + + if(var5 == 1 || var5 == 3) { + if(~var1 == -1) { + this.method1501((byte)99, var4, var6, 1); + this.method1501((byte)23, 1 + var4, -1 + var6, 16); + } + + if(~var1 == -2) { + this.method1501((byte)52, var4, var6, 4); + this.method1501((byte)60, 1 + var4, 1 + var6, 64); + } + + if(~var1 == -3) { + this.method1501((byte)126, var4, var6, 16); + this.method1501((byte)103, var4 - 1, var6 - -1, 1); + } + + if(~var1 == -4) { + this.method1501((byte)125, var4, var6, 64); + this.method1501((byte)64, var4 - 1, -1 + var6, 4); + } + } + + if(~var5 == -3) { + if(-1 == ~var1) { + this.method1501((byte)110, var4, var6, 130); + this.method1501((byte)78, var4, -1 + var6, 8); + this.method1501((byte)45, var4 + 1, var6, 32); + } + + if(~var1 == -2) { + this.method1501((byte)93, var4, var6, 10); + this.method1501((byte)72, var4 - -1, var6, 32); + this.method1501((byte)23, var4, var6 + 1, 128); + } + + if(2 == var1) { + this.method1501((byte)33, var4, var6, 40); + this.method1501((byte)102, var4, var6 + 1, 128); + this.method1501((byte)102, var4 - 1, var6, 2); + } + + if(var1 == 3) { + this.method1501((byte)24, var4, var6, 160); + this.method1501((byte)122, -1 + var4, var6, 2); + this.method1501((byte)77, var4, var6 + -1, 8); + } + } + + if(var2) { + if(0 == var5) { + if(-1 == ~var1) { + this.method1501((byte)24, var4, var6, 65536); + this.method1501((byte)115, var4, var6 - 1, 4096); + } + + if(-2 == ~var1) { + this.method1501((byte)120, var4, var6, 1024); + this.method1501((byte)110, var4 - -1, var6, 16384); + } + + if(var1 == 2) { + this.method1501((byte)101, var4, var6, 4096); + this.method1501((byte)38, var4, 1 + var6, 65536); + } + + if(-4 == ~var1) { + this.method1501((byte)31, var4, var6, 16384); + this.method1501((byte)65, var4 + -1, var6, 1024); + } + } + + if(1 == var5 || var5 == 3) { + if(var1 == 0) { + this.method1501((byte)47, var4, var6, 512); + this.method1501((byte)66, 1 + var4, var6 + -1, 8192); + } + + if(~var1 == -2) { + this.method1501((byte)40, var4, var6, 2048); + this.method1501((byte)88, 1 + var4, var6 - -1, '\u8000'); + } + + if(-3 == ~var1) { + this.method1501((byte)96, var4, var6, 8192); + this.method1501((byte)41, var4 - 1, 1 + var6, 512); + } + + if(~var1 == -4) { + this.method1501((byte)90, var4, var6, '\u8000'); + this.method1501((byte)47, var4 + -1, var6 + -1, 2048); + } + } + + if(var5 == 2) { + if(-1 == ~var1) { + this.method1501((byte)51, var4, var6, 66560); + this.method1501((byte)82, var4, var6 + -1, 4096); + this.method1501((byte)68, var4 + 1, var6, 16384); + } + + if(var1 == 1) { + this.method1501((byte)112, var4, var6, 5120); + this.method1501((byte)89, 1 + var4, var6, 16384); + this.method1501((byte)48, var4, 1 + var6, 65536); + } + + if(var1 == 2) { + this.method1501((byte)126, var4, var6, 20480); + this.method1501((byte)25, var4, var6 - -1, 65536); + this.method1501((byte)46, -1 + var4, var6, 1024); + } + + if(-4 == ~var1) { + this.method1501((byte)39, var4, var6, 81920); + this.method1501((byte)113, var4 - 1, var6, 1024); + this.method1501((byte)86, var4, var6 + -1, 4096); + } + } + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "mj.L(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + final void method1486(int var1, int var2, int var3, boolean var4, int var5, int var6) { + try { + var6 -= this.anInt1309; + var5 -= this.anInt1306; + if(-1 == ~var3) { + if(0 == var1) { + this.method1490(128, (byte)-80, var6, var5); + this.method1490(8, (byte)-80, -1 + var6, var5); + } + + if(-2 == ~var1) { + this.method1490(2, (byte)-80, var6, var5); + this.method1490(32, (byte)-80, var6, 1 + var5); + } + + if(var1 == 2) { + this.method1490(8, (byte)-80, var6, var5); + this.method1490(128, (byte)-80, 1 + var6, var5); + } + + if(-4 == ~var1) { + this.method1490(32, (byte)-80, var6, var5); + this.method1490(2, (byte)-80, var6, -1 + var5); + } + } + + if(var2 == 2) { + if(-2 == ~var3 || ~var3 == -4) { + if(var1 == 0) { + this.method1490(1, (byte)-80, var6, var5); + this.method1490(16, (byte)-80, var6 + -1, 1 + var5); + } + + if(-2 == ~var1) { + this.method1490(4, (byte)-80, var6, var5); + this.method1490(64, (byte)-80, var6 - -1, var5 + 1); + } + + if(-3 == ~var1) { + this.method1490(16, (byte)-80, var6, var5); + this.method1490(1, (byte)-80, 1 + var6, -1 + var5); + } + + if(var1 == 3) { + this.method1490(64, (byte)-80, var6, var5); + this.method1490(4, (byte)-80, -1 + var6, var5 + -1); + } + } + + if(-3 == ~var3) { + if(var1 == 0) { + this.method1490(130, (byte)-80, var6, var5); + this.method1490(8, (byte)-80, -1 + var6, var5); + this.method1490(32, (byte)-80, var6, var5 - -1); + } + + if(-2 == ~var1) { + this.method1490(10, (byte)-80, var6, var5); + this.method1490(32, (byte)-80, var6, 1 + var5); + this.method1490(128, (byte)-80, var6 - -1, var5); + } + + if(-3 == ~var1) { + this.method1490(40, (byte)-80, var6, var5); + this.method1490(128, (byte)-80, 1 + var6, var5); + this.method1490(2, (byte)-80, var6, var5 + -1); + } + + if(~var1 == -4) { + this.method1490(160, (byte)-80, var6, var5); + this.method1490(2, (byte)-80, var6, -1 + var5); + this.method1490(8, (byte)-80, -1 + var6, var5); + } + } + + if(var4) { + if(-1 == ~var3) { + if(0 == var1) { + this.method1490(65536, (byte)-80, var6, var5); + this.method1490(4096, (byte)-80, var6 - 1, var5); + } + + if(~var1 == -2) { + this.method1490(1024, (byte)-80, var6, var5); + this.method1490(16384, (byte)-80, var6, var5 + 1); + } + + if(var1 == 2) { + this.method1490(4096, (byte)-80, var6, var5); + this.method1490(65536, (byte)-80, 1 + var6, var5); + } + + if(var1 == 3) { + this.method1490(16384, (byte)-80, var6, var5); + this.method1490(1024, (byte)-80, var6, var5 - 1); + } + } + + if(~var3 == -2 || ~var3 == -4) { + if(0 == var1) { + this.method1490(512, (byte)-80, var6, var5); + this.method1490(8192, (byte)-80, -1 + var6, 1 + var5); + } + + if(var1 == 1) { + this.method1490(2048, (byte)-80, var6, var5); + this.method1490('\u8000', (byte)-80, 1 + var6, var5 + 1); + } + + if(~var1 == -3) { + this.method1490(8192, (byte)-80, var6, var5); + this.method1490(512, (byte)-80, var6 - -1, var5 + -1); + } + + if(3 == var1) { + this.method1490('\u8000', (byte)-80, var6, var5); + this.method1490(2048, (byte)-80, -1 + var6, var5 - 1); + } + } + + if(2 == var3) { + if(~var1 == -1) { + this.method1490(66560, (byte)-80, var6, var5); + this.method1490(4096, (byte)-80, -1 + var6, var5); + this.method1490(16384, (byte)-80, var6, 1 + var5); + } + + if(-2 == ~var1) { + this.method1490(5120, (byte)-80, var6, var5); + this.method1490(16384, (byte)-80, var6, var5 - -1); + this.method1490(65536, (byte)-80, 1 + var6, var5); + } + + if(-3 == ~var1) { + this.method1490(20480, (byte)-80, var6, var5); + this.method1490(65536, (byte)-80, var6 + 1, var5); + this.method1490(1024, (byte)-80, var6, -1 + var5); + } + + if(-4 == ~var1) { + this.method1490(81920, (byte)-80, var6, var5); + this.method1490(1024, (byte)-80, var6, var5 - 1); + this.method1490(4096, (byte)-80, -1 + var6, var5); + } + } + } + + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "mj.N(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + private final boolean method1487(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, byte var9) { + try { + if(var2 + var3 > var8 && var3 < var1 + var8) { + if(var9 != -125) { + this.method1488(92, -42, true, -119, -67, -14, -88, 5); + } + + return ~(var4 + var6) < ~var5 && var7 + var5 > var6; + } else { + return false; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "mj.M(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + final boolean method1488(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(1 != var7) { + if(var2 <= var5 && var2 + var7 + -1 >= var5 && var1 <= var1 && ~var1 >= ~(var7 + var1 + -1)) { + return true; + } + } else if(var2 == var5 && var4 == var1) { + return true; + } + + if(var3) { + return false; + } else { + var4 -= this.anInt1306; + var5 -= this.anInt1309; + var1 -= this.anInt1306; + var2 -= this.anInt1309; + if(1 == var7) { + if(0 == var6) { + if(~var8 == -1) { + if(~var2 == ~(var5 - 1) && var4 == var1) { + return true; + } + + if(var2 == var5 && var1 - -1 == var4 && (this.anIntArrayArray1304[var2][var4] & 19661088) == 0) { + return true; + } + + if(~var5 == ~var2 && -1 + var1 == var4 && 0 == (this.anIntArrayArray1304[var2][var4] & 19661058)) { + return true; + } + } else if(1 != var8) { + if(var8 == 2) { + if(1 + var5 == var2 && ~var4 == ~var1) { + return true; + } + + if(~var5 == ~var2 && var4 == 1 + var1 && ~(this.anIntArrayArray1304[var2][var4] & 19661088) == -1) { + return true; + } + + if(var5 == var2 && ~(var1 - 1) == ~var4 && ~(this.anIntArrayArray1304[var2][var4] & 19661058) == -1) { + return true; + } + } else if(var8 == 3) { + if(var2 == var5 && ~(var1 + -1) == ~var4) { + return true; + } + + if(-1 + var5 == var2 && ~var1 == ~var4 && -1 == ~(this.anIntArrayArray1304[var2][var4] & 19661064)) { + return true; + } + + if(~(var5 - -1) == ~var2 && var4 == var1 && ~(this.anIntArrayArray1304[var2][var4] & 19661184) == -1) { + return true; + } + } + } else { + if(var5 == var2 && var4 == var1 - -1) { + return true; + } + + if(var5 + -1 == var2 && ~var1 == ~var4 && 0 == (this.anIntArrayArray1304[var2][var4] & 19661064)) { + return true; + } + + if(var2 == 1 + var5 && var4 == var1 && ~(this.anIntArrayArray1304[var2][var4] & 19661184) == -1) { + return true; + } + } + } + + if(2 == var6) { + if(var8 != 0) { + if(~var8 == -2) { + if(var2 == var5 + -1 && var1 == var4 && 0 == (this.anIntArrayArray1304[var2][var4] & 19661064)) { + return true; + } + + if(var5 == var2 && ~(var1 + 1) == ~var4) { + return true; + } + + if(~var2 == ~(var5 + 1) && ~var1 == ~var4) { + return true; + } + + if(~var5 == ~var2 && var4 == -1 + var1 && -1 == ~(19661058 & this.anIntArrayArray1304[var2][var4])) { + return true; + } + } else if(-3 != ~var8) { + if(~var8 == -4) { + if(~var2 == ~(var5 - 1) && var1 == var4) { + return true; + } + + if(~var2 == ~var5 && var1 + 1 == var4 && 0 == (19661088 & this.anIntArrayArray1304[var2][var4])) { + return true; + } + + if(~var2 == ~(var5 - -1) && var1 == var4 && ~(19661184 & this.anIntArrayArray1304[var2][var4]) == -1) { + return true; + } + + if(~var2 == ~var5 && ~var4 == ~(-1 + var1)) { + return true; + } + } + } else { + if(var2 == -1 + var5 && ~var1 == ~var4 && ~(this.anIntArrayArray1304[var2][var4] & 19661064) == -1) { + return true; + } + + if(var5 == var2 && ~var4 == ~(1 + var1) && (19661088 & this.anIntArrayArray1304[var2][var4]) == 0) { + return true; + } + + if(var5 - -1 == var2 && ~var1 == ~var4) { + return true; + } + + if(~var2 == ~var5 && var1 + -1 == var4) { + return true; + } + } + } else { + if(var2 == var5 - 1 && var1 == var4) { + return true; + } + + if(~var2 == ~var5 && var4 == 1 + var1) { + return true; + } + + if(var2 == 1 + var5 && ~var4 == ~var1 && (19661184 & this.anIntArrayArray1304[var2][var4]) == 0) { + return true; + } + + if(var5 == var2 && var4 == var1 + -1 && (this.anIntArrayArray1304[var2][var4] & 19661058) == 0) { + return true; + } + } + } + + if(9 == var6) { + if(~var2 == ~var5 && ~(1 + var1) == ~var4 && 0 == (this.anIntArrayArray1304[var2][var4] & 32)) { + return true; + } + + if(var2 == var5 && ~var4 == ~(-1 + var1) && (this.anIntArrayArray1304[var2][var4] & 2) == 0) { + return true; + } + + if(var2 == -1 + var5 && ~var4 == ~var1 && -1 == ~(this.anIntArrayArray1304[var2][var4] & 8)) { + return true; + } + + if(var5 - -1 == var2 && ~var1 == ~var4 && ~(this.anIntArrayArray1304[var2][var4] & 128) == -1) { + return true; + } + } + } else { + int var9 = -1 + var7 + var2; + int var10 = -1 + var4 - -var7; + if(~var6 == -1) { + if(0 == var8) { + if(~var2 == ~(-var7 + var5) && ~var4 >= ~var1 && ~var1 >= ~var10) { + return true; + } + + if(var2 <= var5 && ~var9 <= ~var5 && ~(1 + var1) == ~var4 && 0 == (this.anIntArrayArray1304[var5][var4] & 19661088)) { + return true; + } + + if(~var2 >= ~var5 && var9 >= var5 && ~(-var7 + var1) == ~var4 && (this.anIntArrayArray1304[var5][var10] & 19661058) == 0) { + return true; + } + } else if(1 == var8) { + if(~var5 <= ~var2 && var5 <= var9 && ~(var1 - -1) == ~var4) { + return true; + } + + if(~var2 == ~(var5 - var7) && ~var4 >= ~var1 && ~var10 <= ~var1 && ~(this.anIntArrayArray1304[var9][var1] & 19661064) == -1) { + return true; + } + + if(~var2 == ~(var5 + 1) && var4 <= var1 && var10 >= var1 && 0 == (this.anIntArrayArray1304[var2][var1] & 19661184)) { + return true; + } + } else if(2 != var8) { + if(3 == var8) { + if(var2 <= var5 && var9 >= var5 && var1 + -var7 == var4) { + return true; + } + + if(var2 == var5 - var7 && var1 >= var4 && ~var10 <= ~var1 && ~(19661064 & this.anIntArrayArray1304[var9][var1]) == -1) { + return true; + } + + if(~(1 + var5) == ~var2 && var4 <= var1 && ~var1 >= ~var10 && (this.anIntArrayArray1304[var2][var1] & 19661184) == 0) { + return true; + } + } + } else { + if(1 + var5 == var2 && var4 <= var1 && ~var1 >= ~var10) { + return true; + } + + if(~var5 <= ~var2 && ~var9 <= ~var5 && ~var4 == ~(1 + var1) && ~(this.anIntArrayArray1304[var5][var4] & 19661088) == -1) { + return true; + } + + if(~var5 <= ~var2 && ~var9 <= ~var5 && ~(var1 - var7) == ~var4 && 0 == (19661058 & this.anIntArrayArray1304[var5][var10])) { + return true; + } + } + } + + if(var6 == 2) { + if(~var8 != -1) { + if(~var8 != -2) { + if(-3 == ~var8) { + if(-var7 + var5 == var2 && var4 <= var1 && var10 >= var1 && (this.anIntArrayArray1304[var9][var1] & 19661064) == 0) { + return true; + } + + if(~var2 >= ~var5 && var5 <= var9 && var4 == var1 + 1 && ~(this.anIntArrayArray1304[var5][var4] & 19661088) == -1) { + return true; + } + + if(~var2 == ~(1 + var5) && ~var4 >= ~var1 && var1 <= var10) { + return true; + } + + if(var2 <= var5 && ~var9 <= ~var5 && ~(-var7 + var1) == ~var4) { + return true; + } + } else if(var8 == 3) { + if(-var7 + var5 == var2 && var1 >= var4 && var1 <= var10) { + return true; + } + + if(~var2 >= ~var5 && var5 <= var9 && 1 + var1 == var4 && -1 == ~(this.anIntArrayArray1304[var5][var4] & 19661088)) { + return true; + } + + if(var2 == 1 + var5 && ~var1 <= ~var4 && var1 <= var10 && ~(this.anIntArrayArray1304[var2][var1] & 19661184) == -1) { + return true; + } + + if(var2 <= var5 && ~var9 <= ~var5 && var1 + -var7 == var4) { + return true; + } + } + } else { + if(var2 == var5 - var7 && var1 >= var4 && ~var1 >= ~var10 && (19661064 & this.anIntArrayArray1304[var9][var1]) == 0) { + return true; + } + + if(~var2 >= ~var5 && ~var9 <= ~var5 && var4 == 1 + var1) { + return true; + } + + if(var5 + 1 == var2 && var1 >= var4 && ~var1 >= ~var10) { + return true; + } + + if(~var5 <= ~var2 && ~var5 >= ~var9 && var4 == -var7 + var1 && ~(this.anIntArrayArray1304[var5][var10] & 19661058) == -1) { + return true; + } + } + } else { + if(var2 == -var7 + var5 && ~var1 <= ~var4 && var1 <= var10) { + return true; + } + + if(var2 <= var5 && ~var9 <= ~var5 && ~var4 == ~(1 + var1)) { + return true; + } + + if(~(1 + var5) == ~var2 && var1 >= var4 && var1 <= var10 && 0 == (this.anIntArrayArray1304[var2][var1] & 19661184)) { + return true; + } + + if(~var5 <= ~var2 && var9 >= var5 && -var7 + var1 == var4 && ~(19661058 & this.anIntArrayArray1304[var5][var10]) == -1) { + return true; + } + } + } + + if(-10 == ~var6) { + if(~var2 >= ~var5 && ~var5 >= ~var9 && ~var4 == ~(var1 - -1) && (this.anIntArrayArray1304[var5][var4] & 19661088) == 0) { + return true; + } + + if(~var5 <= ~var2 && ~var5 >= ~var9 && ~var4 == ~(var1 - var7) && -1 == ~(19661058 & this.anIntArrayArray1304[var5][var10])) { + return true; + } + + if(~(-var7 + var5) == ~var2 && var1 >= var4 && ~var1 >= ~var10 && ~(19661064 & this.anIntArrayArray1304[var9][var1]) == -1) { + return true; + } + + if(~var2 == ~(1 + var5) && ~var1 <= ~var4 && var10 >= var1 && -1 == ~(this.anIntArrayArray1304[var2][var1] & 19661184)) { + return true; + } + } + } + + return false; + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "mj.D(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + final void method1489(int var1, boolean var2, byte var3, int var4, int var5, int var6) { + try { + var4 -= this.anInt1306; + var1 -= this.anInt1309; + int var7 = 256; + if(var2) { + var7 += 131072; + } + + int var8 = var1; + if(var3 > 57) { + for(; ~var8 > ~(var1 + var5); ++var8) { + if(var8 >= 0 && var8 < this.anInt1300) { + for(int var9 = var4; var9 < var6 + var4; ++var9) { + if(0 <= var9 && ~this.anInt1303 < ~var9) { + this.method1490(var7, (byte)-80, var8, var9); + } + } + } + } + + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "mj.B(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + private final void method1490(int var1, byte var2, int var3, int var4) { + try { + if(var2 != -80) { + this.method1498(false, 25, 78, -38, 60, 54, 58, 117, 109); + } + + this.anIntArrayArray1304[var3][var4] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArrayArray1304[var3][var4], var1); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "mj.J(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method1491(byte var0) { + try { + if(var0 > -123) { + method1491((byte)-27); + } + + aShortArray1311 = null; + aClass94Array1299 = null; + aClass94_1301 = null; + aClass33_1305 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "mj.R(" + var0 + ')'); + } + } + + final boolean method1492(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + if(-2 == ~var5) { + if(var3 == var7 && ~var1 == ~var4) { + return true; + } + } else if(~var7 >= ~var3 && ~(-1 + var5 + var7) <= ~var3 && var1 <= var1 && -1 + var1 + var5 >= var1) { + return true; + } + + if(var8 <= 78) { + aClass94_1301 = (RSString)null; + } + + var7 -= this.anInt1309; + var1 -= this.anInt1306; + var3 -= this.anInt1309; + var4 -= this.anInt1306; + if(~var5 == -2) { + if(6 == var2 || var2 == 7) { + if(-8 == ~var2) { + var6 = var6 - -2 & 3; + } + + if(var6 == 0) { + if(~var7 == ~(1 + var3) && var1 == var4 && ~(this.anIntArrayArray1304[var7][var4] & 128) == -1) { + return true; + } + + if(~var3 == ~var7 && var4 == -1 + var1 && (2 & this.anIntArrayArray1304[var7][var4]) == 0) { + return true; + } + } else if(var6 == 1) { + if(var7 == var3 + -1 && ~var1 == ~var4 && -1 == ~(this.anIntArrayArray1304[var7][var4] & 8)) { + return true; + } + + if(var3 == var7 && var4 == -1 + var1 && -1 == ~(2 & this.anIntArrayArray1304[var7][var4])) { + return true; + } + } else if(var6 != 2) { + if(3 == var6) { + if(~var7 == ~(var3 - -1) && var4 == var1 && (128 & this.anIntArrayArray1304[var7][var4]) == 0) { + return true; + } + + if(~var3 == ~var7 && ~var4 == ~(var1 - -1) && (32 & this.anIntArrayArray1304[var7][var4]) == 0) { + return true; + } + } + } else { + if(~var7 == ~(var3 - 1) && ~var4 == ~var1 && 0 == (8 & this.anIntArrayArray1304[var7][var4])) { + return true; + } + + if(var3 == var7 && ~(1 + var1) == ~var4 && -1 == ~(32 & this.anIntArrayArray1304[var7][var4])) { + return true; + } + } + } + + if(-9 == ~var2) { + if(var7 == var3 && 1 + var1 == var4 && 0 == (32 & this.anIntArrayArray1304[var7][var4])) { + return true; + } + + if(~var7 == ~var3 && var1 + -1 == var4 && (this.anIntArrayArray1304[var7][var4] & 2) == 0) { + return true; + } + + if(-1 + var3 == var7 && var4 == var1 && 0 == (8 & this.anIntArrayArray1304[var7][var4])) { + return true; + } + + if(~var7 == ~(var3 - -1) && var1 == var4 && ~(128 & this.anIntArrayArray1304[var7][var4]) == -1) { + return true; + } + } + } else { + int var9 = var7 + var5 + -1; + int var10 = -1 + var4 + var5; + if(6 == var2 || var2 == 7) { + if(-8 == ~var2) { + var6 = 2 + var6 & 3; + } + + if(~var6 != -1) { + if(var6 == 1) { + if(~(-var5 + var3) == ~var7 && var1 >= var4 && ~var10 <= ~var1 && -1 == ~(8 & this.anIntArrayArray1304[var9][var1])) { + return true; + } + + if(~var3 <= ~var7 && ~var9 <= ~var3 && var1 + -var5 == var4 && 0 == (this.anIntArrayArray1304[var3][var10] & 2)) { + return true; + } + } else if(-3 != ~var6) { + if(var6 == 3) { + if(~(1 + var3) == ~var7 && var4 <= var1 && ~var1 >= ~var10 && ~(128 & this.anIntArrayArray1304[var7][var1]) == -1) { + return true; + } + + if(~var3 <= ~var7 && ~var3 >= ~var9 && var4 == var1 - -1 && 0 == (this.anIntArrayArray1304[var3][var4] & 32)) { + return true; + } + } + } else { + if(~var7 == ~(-var5 + var3) && var1 >= var4 && ~var1 >= ~var10 && -1 == ~(8 & this.anIntArrayArray1304[var9][var1])) { + return true; + } + + if(var7 <= var3 && var3 <= var9 && ~var4 == ~(var1 + 1) && 0 == (32 & this.anIntArrayArray1304[var3][var4])) { + return true; + } + } + } else { + if(~(1 + var3) == ~var7 && ~var4 >= ~var1 && var1 <= var10 && -1 == ~(this.anIntArrayArray1304[var7][var1] & 128)) { + return true; + } + + if(~var3 <= ~var7 && var9 >= var3 && ~(var1 + -var5) == ~var4 && ~(2 & this.anIntArrayArray1304[var3][var10]) == -1) { + return true; + } + } + } + + if(var2 == 8) { + if(var7 <= var3 && var9 >= var3 && var4 == 1 + var1 && -1 == ~(this.anIntArrayArray1304[var3][var4] & 32)) { + return true; + } + + if(~var3 <= ~var7 && ~var9 <= ~var3 && var4 == var1 - var5 && (this.anIntArrayArray1304[var3][var10] & 2) == 0) { + return true; + } + + if(var7 == -var5 + var3 && var4 <= var1 && ~var10 <= ~var1 && ~(this.anIntArrayArray1304[var9][var1] & 8) == -1) { + return true; + } + + if(~var7 == ~(1 + var3) && var1 >= var4 && var1 <= var10 && 0 == (this.anIntArrayArray1304[var7][var1] & 128)) { + return true; + } + } + } + + return false; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "mj.Q(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + static final void method1493(int var0, int var1, RSInterface var2, int var3, byte var4) { + try { + if(var4 == 59) { + if(HDToolKit.highDetail) { + Class22.method935(var0, var1, var2.anInt168 + var0, var2.anInt193 + var1); + } + + if(-4 >= ~Class161.anInt2028) { + if(!HDToolKit.highDetail) { + Class74.method1332(var0, var1, 0, var2.anIntArray207, var2.anIntArray291); + } else { + Class3_Sub28_Sub16 var5 = var2.method866((byte)-113, false); + if(null != var5) { + var5.method643(var0, var1); + } + } + } else if(HDToolKit.highDetail) { + ((Class3_Sub28_Sub16_Sub1)Class57.aClass3_Sub28_Sub16_895).method647(var0, var1, var2.anInt168, var2.anInt193, Class57.aClass3_Sub28_Sub16_895.anInt3707 / 2, Class57.aClass3_Sub28_Sub16_895.anInt3696 / 2, GraphicDefinition.CAMERA_DIRECTION, 256, (Class3_Sub28_Sub16_Sub1)var2.method866((byte)-113, false)); + } else { + ((Class3_Sub28_Sub16_Sub2)Class57.aClass3_Sub28_Sub16_895).method667(var0, var1, var2.anInt168, var2.anInt193, Class57.aClass3_Sub28_Sub16_895.anInt3707 / 2, Class57.aClass3_Sub28_Sub16_895.anInt3696 / 2, GraphicDefinition.CAMERA_DIRECTION, 256, var2.anIntArray207, var2.anIntArray291); + } + + Class163_Sub1_Sub1.aBooleanArray4008[var3] = true; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "mj.K(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + private final boolean method1494(int var1, int var2, int var3, int var4, boolean var5, int var6, int var7, int var8, int var9, int var10) { + try { + int var11 = var7 + var9; + int var12 = var8 + var10; + if(!var5) { + return true; + } else { + int var13 = var3 + var1; + int var14 = var2 - -var6; + int var15; + int var16; + if(var7 >= var1 && var7 < var13) { + if(var12 == var2 && ~(4 & var4) == -1) { + var15 = var7; + + for(var16 = var13 >= var11?var11:var13; var16 > var15; ++var15) { + if(0 == (this.anIntArrayArray1304[-this.anInt1309 + var15][var12 - (this.anInt1306 + 1)] & 2)) { + return true; + } + } + } else if(~var14 == ~var8 && ~(1 & var4) == -1) { + var15 = var7; + + for(var16 = ~var11 < ~var13?var13:var11; ~var16 < ~var15; ++var15) { + if((32 & this.anIntArrayArray1304[var15 - this.anInt1309][var8 + -this.anInt1306]) == 0) { + return true; + } + } + } + } else if(var11 > var1 && ~var11 >= ~var13) { + if(~var2 == ~var12 && 0 == (4 & var4)) { + for(var15 = var1; ~var11 < ~var15; ++var15) { + if((2 & this.anIntArrayArray1304[-this.anInt1309 + var15][var12 - (this.anInt1306 + 1)]) == 0) { + return true; + } + } + } else if(~var8 == ~var14 && -1 == ~(1 & var4)) { + for(var15 = var1; var11 > var15; ++var15) { + if(~(32 & this.anIntArrayArray1304[-this.anInt1309 + var15][-this.anInt1306 + var8]) == -1) { + return true; + } + } + } + } else if(var8 >= var2 && var14 > var8) { + if(var11 == var1 && 0 == (8 & var4)) { + var15 = var8; + + for(var16 = ~var14 <= ~var12?var12:var14; ~var15 > ~var16; ++var15) { + if(~(8 & this.anIntArrayArray1304[-1 + -this.anInt1309 + var11][var15 - this.anInt1306]) == -1) { + return true; + } + } + } else if(~var7 == ~var13 && -1 == ~(var4 & 2)) { + var15 = var8; + + for(var16 = var14 < var12?var14:var12; ~var15 > ~var16; ++var15) { + if((this.anIntArrayArray1304[-this.anInt1309 + var7][-this.anInt1306 + var15] & 128) == 0) { + return true; + } + } + } + } else if(var2 < var12 && ~var14 <= ~var12) { + if(~var11 == ~var1 && (var4 & 8) == 0) { + for(var15 = var2; var12 > var15; ++var15) { + if(-1 == ~(this.anIntArrayArray1304[-this.anInt1309 + var11 + -1][-this.anInt1306 + var15] & 8)) { + return true; + } + } + } else if(~var13 == ~var7 && ~(var4 & 2) == -1) { + for(var15 = var2; ~var15 > ~var12; ++var15) { + if(-1 == ~(128 & this.anIntArrayArray1304[var7 + -this.anInt1309][-this.anInt1306 + var15])) { + return true; + } + } + } + } + + return false; + } + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "mj.O(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ')'); + } + } + + static final boolean method1495(int var0, int var1, int var2, int var3, int var4) { + int var5 = var3 * Class3_Sub13_Sub34.anInt3417 + var0 * Class3_Sub13_Sub13.anInt3153 >> 16; + int var6 = var3 * Class3_Sub13_Sub13.anInt3153 - var0 * Class3_Sub13_Sub34.anInt3417 >> 16; + int var7 = var1 * Class60.anInt936 + var6 * Class69.anInt1037 >> 16; + int var8 = var1 * Class69.anInt1037 - var6 * Class60.anInt936 >> 16; + if(var7 < 1) { + var7 = 1; + } + + int var9 = (var5 << 9) / var7; + int var10 = (var8 << 9) / var7; + int var11 = var2 * Class60.anInt936 + var6 * Class69.anInt1037 >> 16; + int var12 = var2 * Class69.anInt1037 - var6 * Class60.anInt936 >> 16; + if(var11 < 1) { + var11 = 1; + } + + int var13 = (var5 << 9) / var11; + int var14 = (var12 << 9) / var11; + return var7 < 50 && var11 < 50?false:(var7 > var4 && var11 > var4?false:(var9 < Class139.anInt1824 && var13 < Class139.anInt1824?false:(var9 > Class145.anInt1898 && var13 > Class145.anInt1898?false:(var10 < Class1.anInt55 && var14 < Class1.anInt55?false:var10 <= Class86.anInt1195 || var14 <= Class86.anInt1195)))); + } + + final void method1496(int var1) { + try { + for(int var2 = var1; ~this.anInt1300 < ~var2; ++var2) { + for(int var3 = 0; ~this.anInt1303 < ~var3; ++var3) { + if(var2 != 0 && 0 != var3 && var2 < this.anInt1300 - 5 && this.anInt1303 - 5 > var3) { + this.anIntArrayArray1304[var2][var3] = 16777216; + } else { + this.anIntArrayArray1304[var2][var3] = 16777215; + } + } + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "mj.P(" + var1 + ')'); + } + } + + final void method1497(int var1, int var2, int var3) { + try { + if(var2 == 7605) { + var1 -= this.anInt1306; + var3 -= this.anInt1309; + this.anIntArrayArray1304[var3][var1] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArrayArray1304[var3][var1], 2097152); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mj.E(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final boolean method1498(boolean var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + try { + if(-2 > ~var5) { + return this.method1487(var5, var6, var2, var9, var3, var8, var5, var4, (byte)-125)?true:this.method1494(var2, var8, var6, var7, true, var9, var4, var3, var5, var5); + } else { + int var10 = -1 + var6 + var2; + int var11 = var8 + (var9 - 1); + if(~var2 >= ~var4 && var10 >= var4 && var8 <= var3 && ~var3 >= ~var11) { + return true; + } else { + if(!var1) { + this.method1501((byte)-85, 4, 106, -39); + } + + return var2 + -1 == var4 && ~var3 <= ~var8 && var3 <= var11 && -1 == ~(this.anIntArrayArray1304[-this.anInt1309 + var4][var3 - this.anInt1306] & 8) && -1 == ~(var7 & 8)?true:(var4 == 1 + var10 && ~var8 >= ~var3 && ~var11 <= ~var3 && 0 == (128 & this.anIntArrayArray1304[var4 - this.anInt1309][-this.anInt1306 + var3]) && (var7 & 2) == 0?true:(~var3 == ~(var8 - 1) && ~var2 >= ~var4 && var10 >= var4 && (2 & this.anIntArrayArray1304[-this.anInt1309 + var4][-this.anInt1306 + var3]) == 0 && -1 == ~(4 & var7)?true:~var3 == ~(1 + var11) && var4 >= var2 && ~var10 <= ~var4 && ~(32 & this.anIntArrayArray1304[var4 - this.anInt1309][var3 + -this.anInt1306]) == -1 && -1 == ~(var7 & 1))); + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "mj.S(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + final void method1499(int var1, byte var2, int var3) { + try { + var3 -= this.anInt1309; + var1 -= this.anInt1306; + this.anIntArrayArray1304[var3][var1] = Class3_Sub28_Sub15.method633(this.anIntArrayArray1304[var3][var1], -262145); + if(var2 != -73) { + this.method1502(-117, 28, -110, true, 123, -33, 13); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mj.I(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + Class91(int var1, int var2) { + try { + this.anInt1303 = var2; + this.anInt1306 = 0; + this.anInt1309 = 0; + this.anInt1300 = var1; + this.anIntArrayArray1304 = new int[this.anInt1300][this.anInt1303]; + this.method1496(0); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "mj.(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method1500(int var1, int var2, int var3, int var4, int var5) { + try { + if(var5 == var4 && ~var2 == ~var3) { + return true; + } else { + var3 -= this.anInt1306; + if(var1 != -2) { + this.anInt1309 = -82; + } + + var4 -= this.anInt1309; + if(0 <= var4 && this.anInt1300 > var4 && -1 >= ~var3 && ~var3 > ~this.anInt1303) { + var2 -= this.anInt1306; + var5 -= this.anInt1309; + int var6; + if(~var4 < ~var5) { + var6 = var4 - var5; + } else { + var6 = -var4 + var5; + } + + int var7; + if(~var3 >= ~var2) { + var7 = -var3 + var2; + } else { + var7 = var3 - var2; + } + + int var8; + int var9; + if(~var6 >= ~var7) { + var9 = '\u8000'; + var8 = 65536 * var6 / var7; + + while(~var2 != ~var3) { + if(~var3 < ~var2) { + if(0 != (this.anIntArrayArray1304[var5][var2] & 19661058)) { + return false; + } + + ++var2; + } else if(var3 < var2) { + if(0 != (19661088 & this.anIntArrayArray1304[var5][var2])) { + return false; + } + + --var2; + } + + var9 += var8; + if(var9 >= 65536) { + var9 -= 65536; + if(var5 >= var4) { + if(var5 > var4) { + if(~(19661184 & this.anIntArrayArray1304[var5][var2]) != -1) { + return false; + } + + --var5; + } + } else { + if(-1 != ~(19661064 & this.anIntArrayArray1304[var5][var2])) { + return false; + } + + ++var5; + } + } + } + } else { + var8 = 65536 * var7 / var6; + var9 = '\u8000'; + + while(~var4 != ~var5) { + if(~var5 <= ~var4) { + if(var4 < var5) { + if(~(this.anIntArrayArray1304[var5][var2] & 19661184) != -1) { + return false; + } + + --var5; + } + } else { + if(0 != (this.anIntArrayArray1304[var5][var2] & 19661064)) { + return false; + } + + ++var5; + } + + var9 += var8; + if(~var9 <= -65537) { + var9 -= 65536; + if(~var2 > ~var3) { + if(0 != (this.anIntArrayArray1304[var5][var2] & 19661058)) { + return false; + } + + ++var2; + } else if(var3 < var2) { + if(0 != (19661088 & this.anIntArrayArray1304[var5][var2])) { + return false; + } + + --var2; + } + } + } + } + + return 0 == (19136768 & this.anIntArrayArray1304[var4][var3]); + } else { + return false; + } + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "mj.G(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + private final void method1501(byte var1, int var2, int var3, int var4) { + try { + if(var1 >= 18) { + this.anIntArrayArray1304[var3][var2] = Class3_Sub28_Sub15.method633(this.anIntArrayArray1304[var3][var2], ~var4); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "mj.H(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method1502(int var1, int var2, int var3, boolean var4, int var5, int var6, int var7) { + try { + var2 -= this.anInt1309; + var7 -= this.anInt1306; + int var8 = 256; + if(var1 != 20851) { + aClass33_1305 = (Class33)null; + } + + if(var4) { + var8 += 131072; + } + + int var9; + if(1 == var5 || -4 == ~var5) { + var9 = var3; + var3 = var6; + var6 = var9; + } + + for(var9 = var2; var9 < var2 - -var3; ++var9) { + if(0 <= var9 && var9 < this.anInt1300) { + for(int var10 = var7; ~var10 > ~(var6 + var7); ++var10) { + if(-1 >= ~var10 && ~this.anInt1303 < ~var10) { + this.method1501((byte)32, var10, var9, var8); + } + } + } + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "mj.A(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final void method1503(int var1, int var2, int var3) { + try { + var2 -= this.anInt1306; + if(var3 < -3) { + var1 -= this.anInt1309; + this.anIntArrayArray1304[var1][var2] = Class3_Sub13_Sub29.bitwiseOr(this.anIntArrayArray1304[var1][var2], 262144); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "mj.C(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class92.java b/09HDscape-client/src/org/runite/jagex/Class92.java new file mode 100644 index 000000000..70b925ce3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class92.java @@ -0,0 +1,131 @@ +package org.runite.jagex; +import javax.media.opengl.GL; + +final class Class92 { + + static float[] aFloatArray1312 = new float[4]; + private static int anInt1313 = -1; + static int anInt1314; + static int anInt1315; + static int anInt1316 = 13156520; + private static float aFloat1317 = -1.0F; + private static float aFloat1318 = -1.0F; + static float[] aFloatArray1319 = new float[4]; + private static float aFloat1320; + private static float[] aFloatArray1321 = new float[4]; + static int anInt1322 = 16777215; + private static int anInt1323 = -1; + private static int anInt1324 = -1; + + + static final void method1504() { + GL var0 = HDToolKit.gl; + var0.glLightfv(16384, 4611, aFloatArray1312, 0); + var0.glLightfv(16385, 4611, aFloatArray1321, 0); + } + + static final float method1505() { + return aFloat1317; + } + + static final void method1506(int var0, float var1, float var2, float var3) { + if(anInt1313 != var0 || aFloat1320 != var1 || aFloat1317 != var2 || aFloat1318 != var3) { + anInt1313 = var0; + aFloat1320 = var1; + aFloat1317 = var2; + aFloat1318 = var3; + GL var4 = HDToolKit.gl; + float var5 = (float)(var0 >> 16 & 255) / 255.0F; + float var6 = (float)(var0 >> 8 & 255) / 255.0F; + float var7 = (float)(var0 & 255) / 255.0F; + float[] var8 = new float[]{var1 * var5, var1 * var6, var1 * var7, 1.0F}; + var4.glLightModelfv(2899, var8, 0); + float[] var9 = new float[]{var2 * var5, var2 * var6, var2 * var7, 1.0F}; + var4.glLightfv(16384, 4609, var9, 0); + float[] var10 = new float[]{-var3 * var5, -var3 * var6, -var3 * var7, 1.0F}; + var4.glLightfv(16385, 4609, var10, 0); + } + } + + public static void method1507() { + aFloatArray1312 = null; + aFloatArray1321 = null; + aFloatArray1319 = null; + } + + static final void method1508(int var0, int var1) { + if(anInt1324 != var0 || anInt1323 != var1) { + anInt1324 = var0; + anInt1323 = var1; + GL var2 = HDToolKit.gl; + byte var3 = 50; + short var4 = 3584; + aFloatArray1319[0] = (float)(var0 >> 16 & 255) / 255.0F; + aFloatArray1319[1] = (float)(var0 >> 8 & 255) / 255.0F; + aFloatArray1319[2] = (float)(var0 & 255) / 255.0F; + var2.glFogi(2917, 9729); + var2.glFogf(2914, 0.95F); + var2.glHint(3156, 4353); + int var5 = var4 / 2/* - 512 - var1*/; + if(var5 < var3) { + var5 = var3; + } + + var2.glFogf(2915, (float)var5); + var2.glFogf(2916, (float)(var4 - 256)); + var2.glFogfv(2918, aFloatArray1319, 0); + } + } + + static final void method1509(float var0, float var1, float var2) { + if(aFloatArray1312[0] != var0 || aFloatArray1312[1] != var1 || aFloatArray1312[2] != var2) { + aFloatArray1312[0] = var0; + aFloatArray1312[1] = var1; + aFloatArray1312[2] = var2; + aFloatArray1321[0] = -var0; + aFloatArray1321[1] = -var1; + aFloatArray1321[2] = -var2; + anInt1314 = (int)(var0 * 256.0F / var1); + anInt1315 = (int)(var2 * 256.0F / var1); + } + } + + static final int method1510() { + return anInt1313; + } + + static final void method1511() { + GL var0 = HDToolKit.gl; + var0.glColorMaterial(1028, 5634); + var0.glEnable(2903); + float[] var1 = new float[]{0.0F, 0.0F, 0.0F, 1.0F}; + var0.glLightfv(16384, 4608, var1, 0); + var0.glEnable(16384); + float[] var2 = new float[]{0.0F, 0.0F, 0.0F, 1.0F}; + var0.glLightfv(16385, 4608, var2, 0); + var0.glEnable(16385); + anInt1313 = -1; + anInt1324 = -1; + method1513(); + } + + static final void method1512(float[] var0) { + if(var0 == null) { + var0 = aFloatArray1319; + } + + GL var1 = HDToolKit.gl; + var1.glFogfv(2918, var0, 0); + } + + private static final void method1513() { + method1506(anInt1322, 1.1523438F, 0.69921875F, 1.2F); + method1509(-50.0F, -60.0F, -50.0F); + method1508(anInt1316, 0); + } + + static final float method1514() { + return aFloat1320; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class93.java b/09HDscape-client/src/org/runite/jagex/Class93.java new file mode 100644 index 000000000..4fe045abf --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class93.java @@ -0,0 +1,268 @@ +package org.runite.jagex; + +final class Class93 { + + static int anInt1325; + static RSString aClass94_1326 = RSString.createRSString(")2"); + private int anInt1327; + static byte[][][] aByteArrayArrayArray1328; + private NodeList aClass13_1329 = new NodeList(); + static int anInt1330; + private int anInt1331; + private Class130 aClass130_1332; + + + final void put(byte var1, Object var2, long var3) { + try { + this.method1518(var3, (byte)-124); + if(var1 > -72) { + this.aClass130_1332 = (Class130)null; + } + + if(-1 == ~this.anInt1327) { + Class3_Sub28_Sub7 var5 = (Class3_Sub28_Sub7)this.aClass13_1329.method877(-1); + var5.method86(-1024); + var5.method524((byte)-107); + } else { + --this.anInt1327; + } + + Class3_Sub28_Sub7_Sub1 var7 = new Class3_Sub28_Sub7_Sub1(var2); + this.aClass130_1332.method1779(1, var7, var3); + this.aClass13_1329.method879(var7, (byte)-19); + var7.aLong2569 = 0L; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "n.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method1516(int var0, int var1) { + try { + Class3_Sub28_Sub6 var2 = Class3_Sub24_Sub3.method466(4, 3, var0); + var2.a(true); + if(var1 < 87) { + aClass94_1326 = (RSString)null; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "n.L(" + var0 + ',' + var1 + ')'); + } + } + + /** static final void method1517(byte var0) { + try { + Class139.aFontMetrics1822 = null; + Class3_Sub13_Sub32.aFont3384 = null; + if(var0 != -118) { + method1516(64, 82); + } + + Class129_Sub1.anImage2695 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "n.J(" + var0 + ')'); + } + }**/ + + static final void method1517(byte var0) { + try { + Class139.aFontMetrics1822 = null; + Class3_Sub13_Sub32.aFont3384 = null; + if(var0 != -118) { + method1516(64, 82); + } + + //MillisTimer.anImage2695 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "n.J(" + var0 + ')'); + } + } + + final void method1518(long var1, byte var3) { + try { + Class3_Sub28_Sub7 var4 = (Class3_Sub28_Sub7)this.aClass130_1332.method1780(var1, 0); + if(var3 == -124) { + if(null != var4) { + var4.method86(-1024); + var4.method524((byte)-107); + ++this.anInt1327; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "n.C(" + var1 + ',' + var3 + ')'); + } + } + + static int method1519(int var0, int var1) { + try { + return var0 ^ var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "n.E(" + var0 + ',' + var1 + ')'); + } + } + + final int method1520(int var1) { + try { + if(var1 != -12623) { + return -85; + } else { + int var2 = 0; + + for(Class3_Sub28_Sub7 var3 = (Class3_Sub28_Sub7)this.aClass13_1329.method876((byte)70); var3 != null; var3 = (Class3_Sub28_Sub7)this.aClass13_1329.method878(var1 + 12744)) { + if(!var3.method568(-22358)) { + ++var2; + } + } + + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "n.D(" + var1 + ')'); + } + } + + public static void method1521(int var0) { + try { + aByteArrayArrayArray1328 = (byte[][][])null; + aClass94_1326 = null; + if(var0 != 3101) { + method1516(99, -14); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "n.A(" + var0 + ')'); + } + } + + final void method1522(int var1, int var2) { + try { + if(null != Class3_Sub28_Sub20.aClass118_3794) { + for(Class3_Sub28_Sub7 var3 = (Class3_Sub28_Sub7)this.aClass13_1329.method876((byte)42); null != var3; var3 = (Class3_Sub28_Sub7)this.aClass13_1329.method878(-48)) { + if(!var3.method568(-22358)) { + if(++var3.aLong2569 > (long)var2) { + Class3_Sub28_Sub7 var4 = Class3_Sub28_Sub20.aClass118_3794.method1725(var3, -108); + this.aClass130_1332.method1779(1, var4, var3.aLong71); + Class45.method1084(var3, var4, (byte)121); + var3.method86(-1024); + var3.method524((byte)-107); + } + } else if(null == var3.method567(true)) { + var3.method86(-1024); + var3.method524((byte)-107); + ++this.anInt1327; + } + } + } + + if(var1 > -124) { + this.method1518(24L, (byte)-18); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "n.G(" + var1 + ',' + var2 + ')'); + } + } + + final void method1523(byte var1) { + try { + for(Class3_Sub28_Sub7 var2 = (Class3_Sub28_Sub7)this.aClass13_1329.method876((byte)52); var2 != null; var2 = (Class3_Sub28_Sub7)this.aClass13_1329.method878(-43)) { + if(var2.method568(-22358)) { + var2.method86(-1024); + var2.method524((byte)-107); + ++this.anInt1327; + } + } + + if(var1 > -98) { + this.anInt1331 = 56; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "n.B(" + var1 + ')'); + } + } + + final void method1524(int var1) { + try { + if(var1 == 3) { + this.aClass13_1329.method883(17126); + this.aClass130_1332.method1773(114); + this.anInt1327 = this.anInt1331; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "n.H(" + var1 + ')'); + } + } + + Class93(int var1) { + try { + this.anInt1331 = var1; + + int var2; + for(var2 = 1; var2 + var2 < var1; var2 += var2) { + ; + } + + this.anInt1327 = var1; + this.aClass130_1332 = new Class130(var2); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "n.(" + var1 + ')'); + } + } + + static final void method1525(int var0, int var1, int var2, int var3, int var4, int var5) { + try { + int var6 = Class40.method1040(Class57.anInt902, var3, (byte)0, Class159.anInt2020); + int var7 = Class40.method1040(Class57.anInt902, var5, (byte)0, Class159.anInt2020); + int var8 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var4, (byte)0, Class101.anInt1425); + if(var0 != 3074) { + method1516(75, -7); + } + + int var9 = Class40.method1040(Class3_Sub28_Sub18.anInt3765, var2, (byte)0, Class101.anInt1425); + + for(int var10 = var6; var10 <= var7; ++var10) { + Class3_Sub13_Sub23_Sub1.method282(Class38.anIntArrayArray663[var10], var8, var0 + -2974, var9, var1); + } + + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "n.I(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final Object get(long key, byte var3) { + try { + Class3_Sub28_Sub7 var4 = (Class3_Sub28_Sub7)this.aClass130_1332.method1780(key, var3 + -121); + if(var3 != 121) { + return (Object)null; + } else if(null == var4) { + return null; + } else { + Object var5 = var4.method567(true); + if(var5 != null) { + if(var4.method568(-22358)) { + Class3_Sub28_Sub7_Sub1 var6 = new Class3_Sub28_Sub7_Sub1(var5); + this.aClass130_1332.method1779(1, var6, var4.aLong71); + this.aClass13_1329.method879(var6, (byte)84); + var6.aLong2569 = 0L; + var4.method86(-1024); + var4.method524((byte)-107); + } else { + this.aClass13_1329.method879(var4, (byte)-127); + var4.aLong2569 = 0L; + } + + return var5; + } else { + var4.method86(-1024); + var4.method524((byte)-107); + ++this.anInt1327; + return null; + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "n.K(" + key + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class95.java b/09HDscape-client/src/org/runite/jagex/Class95.java new file mode 100644 index 000000000..ce753adec --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class95.java @@ -0,0 +1,142 @@ +package org.runite.jagex; + +final class Class95 { + + static RSString aClass94_1333 = RSString.createRSString("um"); + private static RSString aClass94_1334 = RSString.createRSString("You can(Wt add yourself to your own ignore list)3"); + static RSString aClass94_1335 = aClass94_1334; + static int anInt1336 = 0; + static RSString aClass94_1337 = RSString.createRSString("::breakcon"); + static int anInt1338; + static Class3_Sub28_Sub16 aClass3_Sub28_Sub16_1339; + static volatile int anInt1340 = -1; + static RSString aClass94_1341 = RSString.createRSString("logo"); + static RSString aClass94_1342 = RSString.createRSString("details"); + static int anInt1343; + static int anInt1344; + + + public static void method1582(int var0) { + try { + aClass94_1335 = null; + aClass3_Sub28_Sub16_1339 = null; + aClass94_1342 = null; + aClass94_1333 = null; + aClass94_1341 = null; + if(var0 != 3) { + anInt1340 = -18; + } + + aClass94_1334 = null; + aClass94_1337 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nb.D(" + var0 + ')'); + } + } + + static final void method1583(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + try { + if(var3 != 3) { + method1582(45); + } + + if(~var0 == ~var1 && ~var9 == ~var2 && var8 == var7 && var5 == var6) { + Class3_Sub13_Sub34.method330(var4, var3 + -111, var5, var0, var9, var7); + } else { + int var10 = var0; + int var13 = 3 * var9; + int var12 = 3 * var0; + int var11 = var9; + int var14 = var1 * 3; + int var15 = 3 * var2; + int var16 = 3 * var8; + int var17 = var6 * 3; + int var18 = var14 + var7 - (var16 + var0); + int var20 = var16 - (var14 - -var14) - -var12; + int var19 = var15 + -var17 + (var5 - var9); + int var21 = var13 + -var15 + -var15 + var17; + int var22 = var14 + -var12; + int var23 = -var13 + var15; + + for(int var24 = 128; -4097 <= ~var24; var24 += 128) { + int var25 = var24 * var24 >> 12; + int var26 = var24 * var25 >> 12; + int var30 = var21 * var25; + int var28 = var26 * var19; + int var29 = var25 * var20; + int var27 = var18 * var26; + int var31 = var22 * var24; + int var33 = var0 - -(var29 + (var27 - -var31) >> 12); + int var32 = var24 * var23; + int var34 = var9 - -(var32 + var28 - -var30 >> 12); + Class3_Sub13_Sub34.method330(var4, -88, var34, var10, var11, var33); + var10 = var33; + var11 = var34; + } + } + + } catch (RuntimeException var35) { + throw Class44.method1067(var35, "nb.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + static final void method1584(int var0, int var1, int var2, int var3, int var4, int var5) { + try { + if(var4 != -26571) { + method1586(92, 25); + } + + if(~var1 == ~var5) { + Class43.method1058(var5, var2, var0, var3, (byte)-47); + } else { + if(Class101.anInt1425 <= var2 - var5 && var2 + var5 <= Class3_Sub28_Sub18.anInt3765 && -var1 + var3 >= Class159.anInt2020 && ~(var3 - -var1) >= ~Class57.anInt902) { + Class3_Sub9.method135(var3, var2, var5, -111, var1, var0); + } else { + Class3_Sub28_Sub5.method556(var0, var1, var5, (byte)-123, var2, var3); + } + + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "nb.E(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final int method1585(byte var0, int var1) { + try { + --var1; + var1 |= var1 >>> 1; + if(var0 < 51) { + aClass94_1335 = (RSString)null; + } + + var1 |= var1 >>> 2; + var1 |= var1 >>> 4; + var1 |= var1 >>> 8; + var1 |= var1 >>> 16; + return 1 + var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nb.C(" + var0 + ',' + var1 + ')'); + } + } + + static final RSString method1586(int var0, int var1) { + try { + if(-1 > ~var1 && -256 <= ~var1) { + RSString var2 = new RSString(); + if(var0 != 23161) { + aClass3_Sub28_Sub16_1339 = (Class3_Sub28_Sub16)null; + } + + var2.length = 1; + var2.byteArray = new byte[1]; + var2.byteArray[0] = (byte)var1; + return var2; + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nb.A(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class96.java b/09HDscape-client/src/org/runite/jagex/Class96.java new file mode 100644 index 000000000..438573771 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class96.java @@ -0,0 +1,154 @@ +package org.runite.jagex; + +final class Class96 { + + static int anInt1345; + int anInt1346; + int anInt1347; + static RSString aClass94_1348 = RSString.createRSString("Kampfstufe: "); + static RSString aClass94_1349 = RSString.createRSString("underlay"); + int anInt1350; + int anInt1351; + static int anInt1352; + int anInt1353; + static int anInt1354 = 0; + int anInt1355 = -1; + int anInt1356; + static int anInt1357 = 0; + static int anInt1358 = 0; + int anInt1359; + int anInt1360; + static int anInt1361; + + + static final void method1587(byte var0, RSByteBuffer var1) { + try { + label134: + while(true) { + if(~var1.buffer.length < ~var1.index) { + boolean var18 = false; + int var5 = 0; + int var6 = 0; + if(-2 == ~var1.getByte((byte)-29)) { + var5 = var1.getByte((byte)-73); + var18 = true; + var6 = var1.getByte((byte)-61); + } + + int var7 = var1.getByte((byte)-101); + int var8 = var1.getByte((byte)-109); + int var9 = -Class3_Sub13_Sub21.anInt3256 + 64 * var7; + int var10 = -(var8 * 64) - (-Class2.anInt65 - -1) + Class108.anInt1460; + int var11; + int var12; + if(-1 >= ~var9 && -63 + var10 >= 0 && Class23.anInt455 > var9 + 63 && var10 < Class108.anInt1460) { + var11 = var9 >> 6; + var12 = var10 >> 6; + int var13 = 0; + + while(true) { + if(var13 >= 64) { + continue label134; + } + + for(int var14 = 0; ~var14 > -65; ++var14) { + if(!var18 || ~(8 * var5) >= ~var13 && ~var13 > ~(8 * var5 - -8) && ~var14 <= ~(8 * var6) && var14 < var6 * 8 - -8) { + int var15 = var1.getByte((byte)-118); + if(0 != var15) { + int var2; + if(1 == (1 & var15)) { + var2 = var1.getByte((byte)-23); + if(Class36.aByteArrayArrayArray640[var11][var12] == null) { + Class36.aByteArrayArrayArray640[var11][var12] = new byte[4096]; + } + + Class36.aByteArrayArrayArray640[var11][var12][var13 + (-var14 + 63 << 6)] = (byte)var2; + } + + if(2 == (var15 & 2)) { + var2 = var1.getTriByte((byte)85); + if(null == Class29.anIntArrayArrayArray558[var11][var12]) { + Class29.anIntArrayArrayArray558[var11][var12] = new int[4096]; + } + + Class29.anIntArrayArrayArray558[var11][var12][(-var14 + 63 << 6) + var13] = var2; + } + + if(4 == (var15 & 4)) { + var2 = var1.getTriByte((byte)117); + if(null == Class44.anIntArrayArrayArray720[var11][var12]) { + Class44.anIntArrayArrayArray720[var11][var12] = new int[4096]; + } + + --var2; + ObjectDefinition var3 = Class162.getObjectDefinition(4, var2); + if(null != var3.anIntArray1524) { + var3 = var3.method1685(0); + if(var3 == null || 0 == ~var3.anInt1482) { + continue; + } + } + + Class44.anIntArrayArrayArray720[var11][var12][(-var14 + 63 << 6) + var13] = 1 + var3.objectId; + Class3_Sub23 var16 = new Class3_Sub23(); + var16.anInt2532 = var3.anInt1482; + var16.anInt2531 = var9; + var16.anInt2539 = var10; + Class84.aClass61_1162.method1215(true, var16); + } + } + } + } + + ++var13; + } + } + + var11 = 0; + + while(true) { + if(var11 >= (var18?64:4096)) { + continue label134; + } + + var12 = var1.getByte((byte)-28); + if(var12 != 0) { + if(~(var12 & 1) == -2) { + ++var1.index; + } + + if(2 == (var12 & 2)) { + var1.index += 2; + } + + if(4 == (var12 & 4)) { + var1.index += 3; + } + } + + ++var11; + } + } + + int var4 = -58 % ((var0 - 42) / 32); + return; + } + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "nc.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method1588(byte var0) { + try { + if(var0 <= 38) { + method1588((byte)-126); + } + + aClass94_1349 = null; + aClass94_1348 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nc.B(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Class97.java b/09HDscape-client/src/org/runite/jagex/Class97.java new file mode 100644 index 000000000..57819bbef --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class97.java @@ -0,0 +1,186 @@ +package org.runite.jagex; + +final class Class97 { + + private int[][][] anIntArrayArrayArray1362; + static RSString aClass94_1363 = RSString.createRSString("Clientscript error in: "); + static byte[] aByteArray1364 = new byte['\u8080']; + private int anInt1365 = -1; + private Class61 aClass61_1366 = new Class61(); + private int anInt1367; + private int anInt1368 = 0; + private int anInt1369; + static CacheIndex aClass153_1370; + private Class3_Sub20[] aClass3_Sub20Array1371; + static CacheIndex aClass153_1372; + static int[][] anIntArrayArray1373; + static RSString aClass94_1374; + static int anInt1375; + static CacheIndex aClass153_1376; + static RSString aClass94_1377; + static CacheIndex aClass153_1378; + boolean aBoolean1379 = false; + static RSString aClass94_1380; + static Class3_Sub28_Sub16_Sub2 aClass3_Sub28_Sub16_Sub2_1381; + + + final int[][][] method1589(byte var1) { + try { + if(~this.anInt1369 != ~this.anInt1367) { + throw new RuntimeException("Can only retrieve a full image cache"); + } else { + if(var1 > -12) { + this.anInt1365 = -104; + } + + for(int var2 = 0; ~this.anInt1367 < ~var2; ++var2) { + this.aClass3_Sub20Array1371[var2] = Class3_Sub28_Sub1.aClass3_Sub20_3532; + } + + return this.anIntArrayArrayArray1362; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nd.F(" + var1 + ')'); + } + } + + final void method1590(byte var1) { + try { + if(var1 < -1) { + for(int var2 = 0; ~this.anInt1367 < ~var2; ++var2) { + this.anIntArrayArrayArray1362[var2][0] = null; + this.anIntArrayArrayArray1362[var2][1] = null; + this.anIntArrayArrayArray1362[var2][2] = null; + this.anIntArrayArrayArray1362[var2] = (int[][])null; + } + + this.aClass3_Sub20Array1371 = null; + this.anIntArrayArrayArray1362 = (int[][][])null; + this.aClass61_1366.method1211(-118); + this.aClass61_1366 = null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nd.E(" + var1 + ')'); + } + } + + static final void method1591(boolean var0, Class3_Sub24 var1) { + try { + if(var1.aClass3_Sub12_2544 != null) { + var1.aClass3_Sub12_2544.anInt2374 = 0; + } + + var1.aBoolean2545 = false; + + for(Class3_Sub24 var2 = var1.method411(); var2 != null; var2 = var1.method414()) { + method1591(true, var2); + } + + if(!var0) { + anInt1375 = -103; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nd.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public static void method1592(byte var0) { + try { + aClass153_1376 = null; + aClass153_1378 = null; + anIntArrayArray1373 = (int[][])null; + aClass94_1363 = null; + aClass3_Sub28_Sub16_Sub2_1381 = null; + if(var0 > 25) { + aClass94_1377 = null; + aClass94_1380 = null; + aClass153_1372 = null; + aClass153_1370 = null; + aByteArray1364 = null; + aClass94_1374 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nd.B(" + var0 + ')'); + } + } + + static final void method1593(int var0, CacheIndex var1) { + try { + Class154.anInt1966 = var1.getArchiveForName(Class3_Sub28_Sub4.aClass94_3574, (byte)-30); + Class79.anInt1124 = var1.getArchiveForName(Class95.aClass94_1341, (byte)-30); + if(var0 <= 108) { + method1593(14, (CacheIndex)null); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "nd.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + final int[][] method1594(byte var1, int var2) { + try { + int var3 = -50 % ((var1 - -57) / 57); + if(this.anInt1367 != this.anInt1369) { + if(1 == this.anInt1367) { + this.aBoolean1379 = this.anInt1365 != var2; + this.anInt1365 = var2; + return this.anIntArrayArrayArray1362[0]; + } else { + Class3_Sub20 var4 = this.aClass3_Sub20Array1371[var2]; + if(null == var4) { + this.aBoolean1379 = true; + if(~this.anInt1368 > ~this.anInt1367) { + var4 = new Class3_Sub20(var2, this.anInt1368); + ++this.anInt1368; + } else { + Class3_Sub20 var5 = (Class3_Sub20)this.aClass61_1366.method1212(2); + var4 = new Class3_Sub20(var2, var5.anInt2483); + this.aClass3_Sub20Array1371[var5.anInt2489] = null; + var5.method86(-1024); + } + + this.aClass3_Sub20Array1371[var2] = var4; + } else { + this.aBoolean1379 = false; + } + + this.aClass61_1366.method1216(64, var4); + return this.anIntArrayArrayArray1362[var4.anInt2483]; + } + } else { + this.aBoolean1379 = null == this.aClass3_Sub20Array1371[var2]; + this.aClass3_Sub20Array1371[var2] = Class3_Sub28_Sub1.aClass3_Sub20_3532; + return this.anIntArrayArrayArray1362[var2]; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "nd.D(" + var1 + ',' + var2 + ')'); + } + } + + Class97(int var1, int var2, int var3) { + try { + this.anInt1369 = var2; + this.anInt1367 = var1; + this.aClass3_Sub20Array1371 = new Class3_Sub20[this.anInt1369]; + this.anIntArrayArrayArray1362 = new int[this.anInt1367][3][var3]; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "nd.(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static { + int var0 = 0; + + for(int var1 = 0; var1 < 256; ++var1) { + for(int var2 = 0; var2 <= var1; ++var2) { + aByteArray1364[var0++] = (byte)((int)(255.0D / Math.sqrt((double)((float)('\uffff' + var2 * var2 + var1 * var1) / 65535.0F)))); + } + } + + aClass94_1374 = RSString.createRSString("zap"); + aClass94_1377 = RSString.createRSString("Abbrechen"); + anIntArrayArray1373 = new int[104][104]; + aClass94_1380 = RSString.createRSString(")4p="); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Class99.java b/09HDscape-client/src/org/runite/jagex/Class99.java new file mode 100644 index 000000000..46384cc43 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Class99.java @@ -0,0 +1,125 @@ +package org.runite.jagex; +import java.awt.Frame; + +final class Class99 { + + static short[] aShortArray1398; + static Class33 aClass33_1399; + static int anInt1400; + static Class93 aClass93_1401 = new Class93(500); + static RSInterface aClass11_1402; + static int anInt1403 = -1; + + + static final void method1596(RSString var0, byte var1, boolean var2) { + try { + if(var1 < 124) { + aClass93_1401 = (Class93)null; + } + + if(!var2) { + try { + Class3_Sub29.anApplet_Sub1_2588.getAppletContext().showDocument(var0.method1547(Class3_Sub29.anApplet_Sub1_2588.getCodeBase(), true), "_top"); + } catch (Exception var5) { + ; + } + } else { + if(HDToolKit.highDetail && Class3_Sub28_Sub6.aBoolean3594) { + try { + Class42.method1056(Class38.aClass87_665.anApplet1219, "openjs", new Object[]{var0.method1547(Class3_Sub29.anApplet_Sub1_2588.getCodeBase(), true).toString()}, (byte)117); + return; + } catch (Throwable var6) { + ; + } + } + + try { + Class3_Sub29.anApplet_Sub1_2588.getAppletContext().showDocument(var0.method1547(Class3_Sub29.anApplet_Sub1_2588.getCodeBase(), true), "_blank"); + } catch (Exception var4) { + ; + } + } + + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "nf.C(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + static final Frame method1597(int var0, int var1, int var2, int var3, int var4, Signlink var5) { + try { + if(!var5.method1432(false)) { + return null; + } else { + if(0 == var2) { + Class106[] var6 = Class3_Sub28_Sub10_Sub2.method596(10, var5); + if(null == var6) { + return null; + } + + boolean var7 = false; + + for(int var8 = 0; ~var8 > ~var6.length; ++var8) { + if(var4 == var6[var8].anInt1447 && var3 == var6[var8].anInt1449 && (~var1 == -1 || var1 == var6[var8].anInt1448) && (!var7 || var6[var8].anInt1450 > var2)) { + var2 = var6[var8].anInt1450; + var7 = true; + } + } + + if(!var7) { + return null; + } + } + + Class64 var10 = var5.method1450(var1, var2, var3, var4, -121); + + while(0 == var10.anInt978) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + Frame var11 = (Frame)var10.anObject974; + if(null != var11) { + if(var0 != var10.anInt978) { + return var11; + } else { + Class3_Sub28_Sub10_Sub1.method593(var11, true, var5); + return null; + } + } else { + return null; + } + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "nf.D(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ')'); + } + } + + public static void method1598(int var0) { + try { + if(var0 <= -106) { + aShortArray1398 = null; + aClass11_1402 = null; + aClass93_1401 = null; + aClass33_1399 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "nf.B(" + var0 + ')'); + } + } + + static final int method1599(int var0, int var1, byte[] var2, byte var3) { + try { + int var4 = -1; + int var5 = -16 % ((var3 - 61) / 57); + + for(int var6 = var0; var1 > var6; ++var6) { + var4 = var4 >>> 8 ^ Class36.anIntArray634[255 & (var4 ^ var2[var6])]; + } + + var4 = ~var4; + return var4; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "nf.A(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Client.java b/09HDscape-client/src/org/runite/jagex/Client.java new file mode 100644 index 000000000..0497cc509 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Client.java @@ -0,0 +1,2110 @@ +package org.runite.jagex; +import java.awt.*; +import java.io.IOException; +import java.net.Socket; +import java.util.GregorianCalendar; + +import org.runite.Configurations; +import org.runite.GameLaunch; + +public final class Client extends GameShell { + + /** + * + */ + private static final long serialVersionUID = 8336806252605101745L; + static Class130 aClass130_2194 = new Class130(16); + static int anInt2195; + private static RSString aClass94_2198 = RSString.createRSString("cyan:"); + static RSString aClass94_2196 = aClass94_2198; + static RSString aClass94_2197 = aClass94_2198; + static Class3_Sub11[][] aClass3_Sub11ArrayArray2199; + static int[] anIntArray2200; + public static boolean aBoolean2201; + static int ZOOM = 600; + + + final void method38(int var1) { + try { + if(~Class143.loadingStage != -1001) { + boolean var2 = NPC.method1988(false); + if(var2 && Class83.aBoolean1158 && WorldListEntry.aClass155_2627 != null) { + WorldListEntry.aClass155_2627.method2158((byte)-78); + } + + if((-31 == ~Class143.loadingStage || -11 == ~Class143.loadingStage) && (Class3_Sub28_Sub5.aBoolean3593 || ~Class53.aLong866 != -1L && Class53.aLong866 < Class5.method830((byte)-55))) { + GameObject.method1862(Class3_Sub28_Sub5.aBoolean3593, Class83.method1411(0), -8914, Class3_Sub13.anInt2378, Class3_Sub13_Sub5.anInt3071); + } + + int var4; + int var5; + if(null == Class3_Sub13_Sub10.aFrame3121) { + Object var3; + if(Class3_Sub13_Sub10.aFrame3121 != null) { + var3 = Class3_Sub13_Sub10.aFrame3121; + } else if(GameShell.frame != null) { + var3 = GameShell.frame; + } else { + var3 = Class38.aClass87_665.anApplet1219; + } + + var4 = ((Container)var3).getSize().width; + var5 = ((Container)var3).getSize().height; + if(var3 == GameShell.frame) { + Insets var6 = GameShell.frame.getInsets(); + var4 -= var6.right + var6.left; + var5 -= var6.top + var6.bottom; + } + + if(var4 != Class3_Sub9.anInt2334 || ~var5 != ~Class70.anInt1047) { + if(Signlink.osName.startsWith("mac")) { + Class3_Sub9.anInt2334 = var4; + Class70.anInt1047 = var5; + } else { + Class119.method1729(true); + } + + Class53.aLong866 = Class5.method830((byte)-55) - -500L; + } + } + + if(Class3_Sub13_Sub10.aFrame3121 != null && !Class3_Sub13_Sub6.aBoolean3078 && (30 == Class143.loadingStage || 10 == Class143.loadingStage)) { + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + } + + if(var1 != 40) { + method44((RSInterface)null); + } + + boolean var10 = false; + if(Class3_Sub13_Sub10.aBoolean3116) { + var10 = true; + Class3_Sub13_Sub10.aBoolean3116 = false; + } + + if(var10) { + Class80.method1396(var1 ^ -41); + } + + if(HDToolKit.highDetail) { + for(var4 = 0; ~var4 > -101; ++var4) { + Class3_Sub28_Sub14.aBooleanArray3674[var4] = true; + } + } + if(~Class143.loadingStage == -1) { + Class3_Sub28_Sub1.updateLoadingBar((Color)null, false, var10, Class3_Sub17.aClass94_2464, Class3_Sub28_Sub15.anInt3684); + } else if(5 == Class143.loadingStage) { + Class3_Sub23.method406((byte)117, false, Class168.aClass3_Sub28_Sub17_2096); + } else if(-11 != ~Class143.loadingStage) { + if(25 != Class143.loadingStage && -29 != ~Class143.loadingStage) { + if(Class143.loadingStage == 30) { + Class49.method1127(var1 + -40); + } else if(40 == Class143.loadingStage) { + Class3_Sub13.method164((byte)-95, false, RenderAnimationDefinition.method903(new RSString[]{Class136.aClass94_1773, RSByteBuffer.aClass94_2598, Class154.aClass94_1959}, (byte)-67)); + } + } else if(~Class163_Sub2_Sub1.anInt4019 != -2) { + if(Class163_Sub2_Sub1.anInt4019 == 2) { + if(Class3_Sub5.anInt2275 < Class162.anInt2038) { + Class3_Sub5.anInt2275 = Class162.anInt2038; + } + + var4 = (-Class162.anInt2038 + Class3_Sub5.anInt2275) * 50 / Class3_Sub5.anInt2275 + 50; + Class3_Sub13.method164((byte)-41, false, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub23.aClass94_3282, Class3_Sub13_Sub33.aClass94_3399, Class72.method1298((byte)9, var4), Class10.aClass94_148}, (byte)-68)); + } else { + Class3_Sub13.method164((byte)-73, false, Class3_Sub13_Sub23.aClass94_3282); + } + } else { + if(~Class3_Sub29.anInt2579 > ~Class3_Sub13_Sub24.anInt3293) { + Class3_Sub29.anInt2579 = Class3_Sub13_Sub24.anInt3293; + } + + var4 = 50 * (Class3_Sub29.anInt2579 + -Class3_Sub13_Sub24.anInt3293) / Class3_Sub29.anInt2579; + Class3_Sub13.method164((byte)-71, false, RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub23.aClass94_3282, Class3_Sub13_Sub33.aClass94_3399, Class72.method1298((byte)9, var4), Class10.aClass94_148}, (byte)-62)); + } + } else { + Class3_Sub17.method381(true); + } + + if(HDToolKit.highDetail && -1 != ~Class143.loadingStage) { + HDToolKit.method1826(); + + for(var4 = 0; ~var4 > ~Class3_Sub28_Sub3.anInt3557; ++var4) { + Class163_Sub1_Sub1.aBooleanArray4008[var4] = false; + } + } else { + Graphics var11; + if((~Class143.loadingStage == -31 || 10 == Class143.loadingStage) && ~Class3_Sub28_Sub15.anInt3689 == -1 && !var10) { + try { + var11 = Class3_Sub28_Sub12.aCanvas3648.getGraphics(); + + for(var5 = 0; Class3_Sub28_Sub3.anInt3557 > var5; ++var5) { + if(Class163_Sub1_Sub1.aBooleanArray4008[var5]) { + Class164_Sub1.aClass158_3009.drawGraphics(Class3_Sub28_Sub18.anIntArray3768[var5], Class155.anIntArray1969[var5], 6260, Class140_Sub4.anIntArray2794[var5], var11, Player.anIntArray3954[var5]); + Class163_Sub1_Sub1.aBooleanArray4008[var5] = false; + } + } + } catch (Exception var8) { + Class3_Sub28_Sub12.aCanvas3648.repaint(); + } + } else if(0 != Class143.loadingStage) { + try { + var11 = Class3_Sub28_Sub12.aCanvas3648.getGraphics(); + Class164_Sub1.aClass158_3009.method2179(0, 0, var11, 0); + + for(var5 = 0; var5 < Class3_Sub28_Sub3.anInt3557; ++var5) { + Class163_Sub1_Sub1.aBooleanArray4008[var5] = false; + } + } catch (Exception var7) { + Class3_Sub28_Sub12.aCanvas3648.repaint(); + } + } + } + + if(Class58.aBoolean913) { + Class75_Sub3.method1346(26211); + } + + if(RSString.aBoolean2146 && 10 == Class143.loadingStage && 0 != ~Class3_Sub28_Sub12.anInt3655) { + RSString.aBoolean2146 = false; + Class119.method1730(Class38.aClass87_665, (byte)14); + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "client.K(" + var1 + ')'); + } + } + + static final RSInterface method42(RSInterface var0) { + int var1 = method44(var0).method94((byte)-74); + if(var1 == 0) { + return null; + } else { + for(int var2 = 0; var2 < var1; ++var2) { + var0 = Class7.getRSInterface((byte)127, var0.parentId); + if(var0 == null) { + return null; + } + } + + return var0; + } + } + + public static void method43(boolean var0) { + try { + if(!var0) { + aClass3_Sub11ArrayArray2199 = (Class3_Sub11[][])((Class3_Sub11[][])null); + } + + anIntArray2200 = null; + aClass94_2196 = null; + aClass94_2198 = null; + aClass130_2194 = null; + aClass94_2197 = null; + aClass3_Sub11ArrayArray2199 = (Class3_Sub11[][])null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "client.O(" + var0 + ')'); + } + } + + final void method32(byte var1) { + try { + if(HDToolKit.highDetail) { + HDToolKit.method1842(); + } + + if(null != Class3_Sub13_Sub10.aFrame3121) { + Class3_Sub28_Sub10_Sub1.method593(Class3_Sub13_Sub10.aFrame3121, true, Class38.aClass87_665); + Class3_Sub13_Sub10.aFrame3121 = null; + } + + if(null != Class38.aClass87_665) { + Class38.aClass87_665.method1442(this.getClass(), 0); + } + + if(null != Class106.aClass67_1443) { + Class106.aClass67_1443.aBoolean1015 = false; + } + + Class106.aClass67_1443 = null; + if(Class3_Sub15.aClass89_2429 != null) { + Class3_Sub15.aClass89_2429.close(14821); + Class3_Sub15.aClass89_2429 = null; + } + + Class163_Sub1_Sub1.method2215(Class3_Sub28_Sub12.aCanvas3648, -9320); + Class130.method1783(4, Class3_Sub28_Sub12.aCanvas3648); + if(null != Class38.aClass146_668) { + Class38.aClass146_668.method2082(false, Class3_Sub28_Sub12.aCanvas3648); + } + + Class3_Sub13_Sub1.method167(0); + Class149.method2090(8); + Class38.aClass146_668 = null; + if(null != WorldListEntry.aClass155_2627) { + WorldListEntry.aClass155_2627.method2163(false); + } + + if(null != Class3_Sub21.aClass155_2491) { + Class3_Sub21.aClass155_2491.method2163(false); + } + + Class58.aClass66_917.method1254(false); + Class3_Sub13_Sub14.aClass73_3159.method1304(3208); + + try { + if(Class101.aClass30_1422 != null) { + Class101.aClass30_1422.method980(false); + } + + if(var1 <= 20) { + return; + } + + if(Class163_Sub2.aClass30Array2998 != null) { + for(int var2 = 0; var2 < Class163_Sub2.aClass30Array2998.length; ++var2) { + if(null != Class163_Sub2.aClass30Array2998[var2]) { + Class163_Sub2.aClass30Array2998[var2].method980(false); + } + } + } + + if(null != Class114.aClass30_1572) { + Class114.aClass30_1572.method980(false); + } + + if(null != Class69.aClass30_1039) { + Class69.aClass30_1039.method980(false); + } + } catch (IOException var3) { + ; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "client.F(" + var1 + ')'); + } + } + + public final void init() { + try { + if(this.method29(27496)) { + GameLaunch.SETTINGS.setWorld(ObjectDefinition.worldId = Integer.parseInt(this.getParameter("worldid"))); + Class44.anInt718 = Integer.parseInt(this.getParameter("modewhere")); + if(0 > Class44.anInt718 || 1 < Class44.anInt718) { + Class44.anInt718 = 0; + } + + Class3_Sub13_Sub13.anInt3148 = Integer.parseInt(this.getParameter("modewhat")); + if(~Class3_Sub13_Sub13.anInt3148 > -1 || Class3_Sub13_Sub13.anInt3148 > 2) { + Class3_Sub13_Sub13.anInt3148 = 0; + } + + String var1 = this.getParameter("advertsuppressed"); + if(var1 != null && var1.equals("1")) { + Class3_Sub28_Sub19.aBoolean3779 = true; + } else { + Class3_Sub28_Sub19.aBoolean3779 = false; + } + + try { + Class3_Sub20.language = Integer.parseInt(this.getParameter("lang")); + } catch (Exception var10) { + Class3_Sub20.language = 0; + } + + Class3.method87(-31, Class3_Sub20.language); + String var2 = this.getParameter("objecttag"); + if(var2 != null && var2.equals("1")) { + Class163_Sub2_Sub1.aBoolean4018 = true; + } else { + Class163_Sub2_Sub1.aBoolean4018 = false; + } + + String var3 = this.getParameter("js"); + if(null != var3 && var3.equals("1")) { + Class3_Sub28_Sub11.aBoolean3641 = true; + } else { + Class3_Sub28_Sub11.aBoolean3641 = false; + } + + String var4 = this.getParameter("game"); + if(var4 != null && var4.equals("1")) { + Class158.anInt2014 = 1; + } else { + Class158.anInt2014 = 0; + } + + try { + Class3_Sub26.anInt2554 = Integer.parseInt(this.getParameter("affid")); + } catch (Exception var9) { + Class3_Sub26.anInt2554 = 0; + } + + Class163_Sub2.aClass94_2996 = Class133.aClass94_1745.method1573((byte)126, this); + if(Class163_Sub2.aClass94_2996 == null) { + Class163_Sub2.aClass94_2996 = Class3_Sub28_Sub14.aClass94_3672; + } + + String var5 = this.getParameter("country"); + if(var5 != null) { + try { + Class3_Sub31.countryId = Integer.parseInt(var5); + } catch (Exception var8) { + Class3_Sub31.countryId = 0; + } + } + + String var6 = this.getParameter("haveie6"); + if(null != var6 && var6.equals("1")) { + Class106.hasInternetExplorer6 = true; + } else { + Class106.hasInternetExplorer6 = false; + } + + Class126.aClient1671 = this; + this.method41((byte)-56, 765, 32 - -Class3_Sub13_Sub13.anInt3148, 1530, 503); + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "client.init()"); + } + } + + final void method39(int var1) { + try { + Class119.method1729(true); + Class3_Sub13_Sub14.aClass73_3159 = new Class73(); + Class58.aClass66_917 = new Class66(); + if(Class3_Sub13_Sub13.anInt3148 != 0) { + Class3_Sub6.aByteArrayArray2287 = new byte[50][]; + } + + CS2Script.anInt2451 = ObjectDefinition.worldId; + Class3_Sub28_Sub7.method564(Class38.aClass87_665, 0); + System.out.println("port = " + Class53.anInt867); + if(Class44.anInt718 != 0) { + if(Class44.anInt718 == 1) { + RuntimeException_Sub1.worldListHost = this.getCodeBase().getHost(); + //System.out.println("port = " + Class53.anInt867); + Class53.anInt867 = ObjectDefinition.worldId + 50000; + Class3_Sub28_Sub19.anInt3773 = 40000 + ObjectDefinition.worldId; + } else if(Class44.anInt718 == 2) { + RuntimeException_Sub1.worldListHost = "127.0.0.1"; + System.out.println("port = " + Class53.anInt867); + Class53.anInt867 = ObjectDefinition.worldId + '\uc350'; + Class3_Sub28_Sub19.anInt3773 = ObjectDefinition.worldId + '\u9c40'; + } + } else { + RuntimeException_Sub1.worldListHost = this.getCodeBase().getHost(); + Class53.anInt867 = 43594 + ObjectDefinition.worldId; //443 is secure port + Class3_Sub28_Sub19.anInt3773 = '\uaa4a'; + } + if(1 != Class158.anInt2014) { + Class15.aShortArrayArray344 = Class3_Sub28_Sub12.aShortArrayArray3654; + Class91.aShortArray1311 = Class3_Sub13_Sub28.aShortArray3349; + Class101.aShortArrayArray1429 = Class20.aShortArrayArray435; + Class3_Sub25.aShortArray2548 = Class164_Sub1.aShortArray3011; + } else { + Class101.aBoolean1419 = true; + Class92.anInt1322 = 16777215; + Class92.anInt1316 = 0; + Class15.aShortArrayArray344 = Class118.aShortArrayArray1619; + Class101.aShortArrayArray1429 = Class75_Sub1.aShortArrayArray2634; + Class3_Sub25.aShortArray2548 = Class2.aShortArray63; + Class91.aShortArray1311 = Class3_Sub2.aShortArray2219; + } + + WorldListCountry.anInt506 = Class53.anInt867; + Class162.anInt2036 = Class3_Sub28_Sub19.anInt3773; + Class38_Sub1.accRegistryIp = RuntimeException_Sub1.worldListHost; + Class123.anInt1658 = Class3_Sub28_Sub19.anInt3773; + Class3_Sub13_Sub38.aShortArray3455 = Class3_Sub13_Sub9.aShortArray3110 = Class136.aShortArray1779 = Class3_Sub13_Sub38.aShortArray3453 = new short[256]; + if(var1 != 2) { + method51((RSInterface)null); + } + + Class140_Sub6.accRegistryPort = Class123.anInt1658; + if(Signlink.anInt1214 == 3 && 2 != Class44.anInt718) { + CS2Script.anInt2451 = ObjectDefinition.worldId; + } + + Class3_Sub22.method402(74); + Class3_Sub13_Sub4.method193((byte)115, Class3_Sub28_Sub12.aCanvas3648); + ItemDefinition.method1119(Class3_Sub28_Sub12.aCanvas3648, false); + Class38.aClass146_668 = Class21.method916((byte)15); + if(null != Class38.aClass146_668) { + Class38.aClass146_668.method2084(Class3_Sub28_Sub12.aCanvas3648, -97); + } + + Class163_Sub1.anInt2994 = Signlink.anInt1214; + + try { + if(Class38.aClass87_665.aClass122_1198 != null) { + Class101.aClass30_1422 = new Class30(Class38.aClass87_665.aClass122_1198, 5200, 0); + + for(int var2 = 0; ~var2 > -30; ++var2) { + Class163_Sub2.aClass30Array2998[var2] = new Class30(Class38.aClass87_665.aClass122Array1197[var2], 6000, 0); + } + + Class114.aClass30_1572 = new Class30(Class38.aClass87_665.aClass122_1204, 6000, 0); + Class86.aClass41_1186 = new Class41(255, Class101.aClass30_1422, Class114.aClass30_1572, 500000); + Class69.aClass30_1039 = new Class30(Class38.aClass87_665.aClass122_1207, 24, 0); + Class38.aClass87_665.aClass122Array1197 = null; + Class38.aClass87_665.aClass122_1204 = null; + Class38.aClass87_665.aClass122_1207 = null; + Class38.aClass87_665.aClass122_1198 = null; + } + } catch (IOException var3) { + Class69.aClass30_1039 = null; + Class101.aClass30_1422 = null; + Class114.aClass30_1572 = null; + Class86.aClass41_1186 = null; + } + + Class167.aClass94_2083 = Class25.aClass94_485; + if(~Class44.anInt718 != -1) { + Class20.aBoolean438 = true; + } + //Class3_Sub26.aBoolean2558 = true; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "client.B(" + var1 + ')'); + } + } + + final void method33(int var1) { + try { + method43(true); + RSString.method1541(-8635); + Class38.method1024(21474); + Class3_Sub28_Sub3.method542((byte)-46); + Class131.method1792(0); + GameShell.method26(113); + HDToolKit.method1838(); + Class129.method1766(24241); + Class158.method2181(false); + Class67.method1257(25951); + Class96.method1588((byte)106); + RSByteBuffer.method767(0); + IOHandler.method1463(0); + Class66.method1242((byte)-88); + Class73.method1306(-16222); + Class8.method836(-114); + Class151_Sub1.method2105(false); + CacheIndex.method2119(100); + Class30.method974(true); + Class41.method1049(true); + Class93.method1521(3101); + NPC.method1983(-3); + Class3_Sub30_Sub1.method808(1); + Class91.method1491((byte)-124); + RSInterface.method860(126); + Class106.method1644((byte)121); + Player.method1982((byte)121); + Class61.method1217(0); + Class3_Sub28_Sub16.method634((byte)108); + Class130.method1774(103); + Class146.method2081(0); + Class3_Sub19.method387(103); + Class133.method1802(25); + Class3_Sub24_Sub4.method491((byte)85); + Class155.method2165(0); + Class157.method2175((byte)-110); + Class52.method1168(8160); + AnimationDefinition.method2057((byte)-108); + Class140_Sub4.method1974((byte)-116); + Class3_Sub2.method102(3353893); + ObjectDefinition.method1687(-11); + Class3_Sub4.method109(2); + NPCDefinition.method1473((byte)103); + Class3_Sub31.method821(26971); + Class3_Sub1.method91((byte)120); + Class3.method83((byte)30); + NodeList.method875((byte)106); + ISAACCipher.method1231(119); + Class95.method1582(3); + Class3_Sub28_Sub5.method558(-29679); + Class145.method2071((byte)59); + Class46.method1085(-1); + Class132.method1800((byte)104); + Class14.method886((byte)35); + Class119.method1728(-14256); + Class127.method1754(-79); + Class17.method905(-24912); + Class128.method1761((byte)-55); + RuntimeException_Sub1.method2288(false); + Class20.method908(5157); + Class167.method2262((byte)126); + Class3_Sub28_Sub10_Sub1.method592((byte)38); + Class3_Sub28_Sub10_Sub2.method597((byte)108); + Class99.method1598(-126); + Class84.method1422((byte)24); + Class92.method1507(); + Class40.method1042(true); + Model_Sub1.method1990(); + Class136.method1815((byte)-45); + Class140_Sub1_Sub1.method1915(); + ItemDefinition.method1111(3327); + Class140_Sub1_Sub2.method1948(); + Class148.method2085(118); + Class149.method2088(true); + Class23.method937(0); + Class83.method1414(90); + Class31.method987(); + Class15.method892(100); + Canvas_Sub1.method53(0); + Class162.method2205(-17413); + AbstractIndexedSprite.method1663(33); + Class3_Sub28_Sub17.method689(); + Class85.method1426(-25247); + Class3_Sub22.method399(186); + Class78.method1369(); + Class3_Sub24_Sub3.method463(-28918); + Class3_Sub15.method372(true); + Class38_Sub1.method1032(false); + Class33.method999(); + Class68.method1274(); + Class43.method1059((byte)-2); + Class151.method2093(1); + Class62.method1223(0); + Class3_Sub28_Sub10.method588((byte)120); + Class143.method2063(0); + Class74.method1333(); + PacketParser.method828(-90); + Class49.method1130(99); + Class3_Sub28_Sub9.method584(0); + Node.method521(-3); + Class47.method1096((byte)89); + Class168.method2276(-2); + Class139.method1858(-17124); + Class100.method1606((byte)-48); + Class24.method943(-9893); + Class3_Sub28_Sub11.method605(221301966); + Class117.method1721(true); + Class115.method1712(69); + RenderAnimationDefinition.method896(true); + GraphicDefinition.method964(6); + Class79.method1388(true); + Class29.method973((byte)62); + Class3_Sub28_Sub12.method613(119); + Class3_Sub28_Sub13.method624(-1); + Class3_Sub28_Sub4.method547(-2951); + Class7.method833((byte)126); + Class3_Sub28_Sub1.method528(-1667); + Class57.method1192((byte)-86); + Class55.method1181((byte)-118); + Class2.method80(-27401); + Class102.method1612(-11565); + Class3_Sub28_Sub20.method721(20413); + Class3_Sub28_Sub18.method711(1); + Class51.method1155(); + Class36.method1016((byte)127); + Class1.method71((byte)-124); + Class101.method1608((byte)110); + Class53.method1169(false); + WorldListEntry.method1077(0); + WorldListCountry.method960(31); + Class88.method1457(); + Class137.method1818(false); + Class54.method1178((byte)-93); + Class10.method853(0); + CS2Script.method376(false); + GameObject.method1860(0); + Class86.method1429((byte)53); + Class3_Sub11.method147(); + Class25.method954(128); + Class113.method1703(10967); + Class70.method1284((byte)-87); + Class19.method906((byte)112); + Class12.method871((byte)115); + Class72.method1296(1); + Class126.method1751((byte)-58); + Class35.method1011(); + Class3_Sub17.method380(-29113); + Class56.method1187(30351); + Class58.method1193(-26723); + AnimationHeader.method1595(); + Class123.method1743(false); + Class3_Sub28_Sub21.method726(); + Class121.method1733(-17148); + Class141.method2045(); + Class169.method2283(); + Class77.method1365(119); + Class110.method1682(-82); + Class3_Sub7.method120(1000); + Class3_Sub28_Sub6.f((int)3); + Class3_Sub25.method510(-128); + Class3_Sub9.method136(-3); + Class39.method1034(8642); + Class3_Sub28_Sub15.method632(-30497); + Class116.method1715(); + Class161.method2202(-196); + Class81.method1402((byte)73); + Class22.method923(); + Class45.method1081((byte)81); + Class140_Sub6.method2019(true); + Class140_Sub2.method1954(0); + Class107.method1646(true); + Class140_Sub7.method2030((byte)83); + Class3_Sub5.method113((byte)-120); + Class140_Sub3.method1958(2); + Class124.method1744(true); + Class80.method1394((byte)-94); + Class3_Sub29.method735(-22749); + Class134.method1806(3846); + Class3_Sub18.method382(1); + Class3_Sub21.method396(0); + Canvas_Sub2.method59((byte)-87); + Class108.method1660(13123); + Class129_Sub1.method1771(14635); + Class158_Sub1.method2187(27316); + Class120.method1731(12881); + Class50.method1133((byte)81); + Class69.method1283((byte)122); + Class144.method2070((byte)67); + Class105.method1641(); + Class9.method849(2); + Class3_Sub28_Sub7.method563(3); + Class3_Sub28_Sub7_Sub1.method570(-119); + Class118.method1726(0); + Class3_Sub6.method118(2); + Class166.method2255((byte)-128); + Class155_Sub1.method2166(); + Class103.method1623(); + Class21.method911(26); + Class154.method2145((byte)-69); + Class125.method1748(); + Class112.method1700(); + Class104.method1630((byte)-113); + Class65.method1238(-112); + Class3_Sub14.method361(); + Class59.method1204(); + Class3_Sub13_Sub4.method187(false); + Class159.method2197(true); + Class3_Sub13.method156(2); + Class164.method2235(4); + Class97.method1592((byte)102); + Class114.method1704(65536); + Class3_Sub10.method143(-46); + Class82.method1409(false); + Class44.method1071((byte)-115); + Class164_Sub2.method2245((byte)-74); + Class164_Sub1.method2240(128); + Class27.method962((byte)-67); + Class3_Sub8.method131(-109); + Class32.method994('\u93bd'); + Class60.method1206((byte)26); + Class3_Sub13_Sub22.method274(-2); + Class3_Sub13_Sub11.method217(1); + Class3_Sub13_Sub31.method317(7759444); + Class3_Sub13_Sub29.method309(true); + Class3_Sub13_Sub19.method261(-125); + Class3_Sub13_Sub24.method288((byte)110); + Class3_Sub13_Sub2.method172(11597); + Class3_Sub13_Sub27.method296((byte)-107); + Class3_Sub13_Sub39.method357(false); + Class3_Sub13_Sub8.method206(true); + Class3_Sub13_Sub37.method348(48); + Class3_Sub13_Sub20.method266(-1443422260); + Class3_Sub13_Sub1.method168(-1771542303); + Class3_Sub13_Sub30.method315(-15028); + Class3_Sub13_Sub32.method321(-21136); + Class3_Sub13_Sub16.method245(0); + Class3_Sub13_Sub9.method209((byte)79); + Class3_Sub13_Sub15.method241((byte)74); + Class3_Sub13_Sub23_Sub1.method287(false); + Class3_Sub13_Sub23.method277((byte)-41); + Class3_Sub13_Sub18.method258(-97); + Class3_Sub13_Sub13.method234(-3); + Class3_Sub13_Sub35.method337(2); + Class3_Sub13_Sub17.method249(-127); + Class3_Sub13_Sub12.method227(true); + Class3_Sub13_Sub34.method333((byte)-54); + Class3_Sub13_Sub6.method197(1); + Class3_Sub13_Sub7.method200((byte)122); + Class3_Sub13_Sub25.method290(-9); + Class3_Sub13_Sub33.method325(0); + Class3_Sub13_Sub10.method211(1024); + Class3_Sub13_Sub14.method238(9423); + Class3_Sub13_Sub28.method300(103); + Class3_Sub13_Sub3.method177((byte)119); + Class3_Sub13_Sub26.method294((byte)30); + Class3_Sub13_Sub36.method341((byte)85); + Class3_Sub13_Sub21.method268((byte)-91); + Class3_Sub13_Sub38.method351(-1); + Class163_Sub2.method2218((byte)-83); + Class163.method2208(30358); + Class163_Sub2_Sub1.method2225((byte)-120); + Class163_Sub3.method2227((byte)37); + Class163_Sub1_Sub1.method2213((byte)104); + Class163_Sub1.method2212(false); + Class3_Sub28_Sub14.method627((byte)-122); + Class3_Sub28_Sub19.method717(109); + Class3_Sub28_Sub2.method534(99); + Class3_Sub23.method405(true); + InputStream_Sub1.method61(-93); + OutputStream_Sub1.method67(true); + Class3_Sub28_Sub8.method573(-11346); + Class3_Sub20.method391(25); + Class3_Sub26.method511((byte)121); + Class75.method1334((byte)-115); + Class75_Sub1.method1343(false); + Class75_Sub3.method1348((byte)100); + Class75_Sub4.method1350((byte)75); + Class75_Sub2.method1345(-71); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "client.C(" + var1 + ')'); + } + + if(GameShell.anInt12 != 0) { + aBoolean2201 = true; + } + + } + + static final Class3_Sub1 method44(RSInterface var0) { + Class3_Sub1 var1 = (Class3_Sub1)Class124.aClass130_1659.method1780(((long)var0.anInt279 << 32) + (long)var0.anInt191, 0); + return var1 != null?var1:var0.aClass3_Sub1_257; + } + + static final AnimationDefinition getAnimationDefinition(int var0, byte var1) { + try { + if(var1 != -20) { + aClass3_Sub11ArrayArray2199 = (Class3_Sub11[][])((Class3_Sub11[][])null); + } + + AnimationDefinition var2 = (AnimationDefinition)Class82.aClass93_1146.get((long)var0, (byte)121); + if(var2 == null) { + byte[] var3 = AnimationDefinition.aClass153_1860.getFile(Class129.method1765(var0, -1732504441), (byte)-122, Class67.method1262(117, var0)); + var2 = new AnimationDefinition(); + var2.animId = var0; + if(var3 != null) { + var2.method2053(new RSByteBuffer(var3), (byte)-102); + } + + var2.method2058((byte)-41); + Class82.aClass93_1146.put((byte)-103, var2, (long)var0); + return var2; + } else { + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "client.D(" + var0 + ',' + var1 + ')'); + } + } + + private final void method46(boolean var1, int var2) { + try { + ++Class58.aClass66_917.anInt1011; + Class17.aClass64_413 = null; + if(!var1) { + aClass3_Sub11ArrayArray2199 = (Class3_Sub11[][])((Class3_Sub11[][])null); + } + + Class58.aClass66_917.anInt1010 = var2; + InputStream_Sub1.js5Connection = null; + PacketParser.anInt80 = 0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "client.P(" + var1 + ',' + var2 + ')'); + } + } + + private final void method47(byte var1) { + try { + for(Class3_Sub23.anInt2537 = 0; Class3_Sub28_Sub10_Sub1.method591(83) && ~Class3_Sub23.anInt2537 > -129; ++Class3_Sub23.anInt2537) { + Class133.anIntArray1755[Class3_Sub23.anInt2537] = Class3_Sub28_Sub9.anInt3624; + Class120.anIntArray1638[Class3_Sub23.anInt2537] = Class3_Sub13_Sub27.anInt3342; + } + + ++Class106.anInt1446; + if(-1 != Class3_Sub28_Sub12.anInt3655) { + GraphicDefinition.method967(0, 0, 2, 0, Class23.anInt454, Class3_Sub28_Sub12.anInt3655, 0, Class140_Sub7.anInt2934); + } + + ++Class3_Sub13_Sub17.anInt3213; + if(HDToolKit.highDetail) { + int var2 = 19137023; + + label191: + for(int var3 = 0; ~var3 > -32769; ++var3) { + NPC var4 = Class3_Sub13_Sub24.npcs[var3]; + if(null != var4) { + byte var5 = var4.definition.aByte1267; + if((var5 & 2) > 0 && -1 == ~var4.anInt2816 && 10.0D > Math.random() * 1000.0D) { + int var6 = (int)Math.round(-1.0D + 2.0D * Math.random()); + int var7 = (int)Math.round(Math.random() * 2.0D - 1.0D); + if(var6 != 0 || 0 != var7) { + var4.aByteArray2795[0] = 1; + var4.anIntArray2767[0] = var6 + (var4.anInt2819 >> -1913236345); + var4.anIntArray2755[0] = var7 + (var4.anInt2829 >> -173151257); + Class86.aClass91Array1182[WorldListCountry.localPlane].method1502(var1 + 20850, var4.anInt2819 >> -649292601, var4.getSize((byte)114), false, 0, var4.getSize((byte)114), var4.anInt2829 >> 1442151015); + if(0 <= var4.anIntArray2767[0] && var4.anIntArray2767[0] <= 104 + -var4.getSize((byte)114) && 0 <= var4.anIntArray2755[0] && var4.anIntArray2755[0] <= 104 - var4.getSize((byte)114) && Class86.aClass91Array1182[WorldListCountry.localPlane].method1500(-2, var4.anInt2829 >> 2135388679, var4.anIntArray2755[0], var4.anIntArray2767[0], var4.anInt2819 >> 627928135)) { + if(var4.getSize((byte)114) > 1) { + for(int var8 = var4.anIntArray2767[0]; ~(var4.anIntArray2767[0] - -var4.getSize((byte)114)) < ~var8; ++var8) { + for(int var9 = var4.anIntArray2755[0]; var4.anIntArray2755[0] + var4.getSize((byte)114) > var9; ++var9) { + if((var2 & Class86.aClass91Array1182[WorldListCountry.localPlane].anIntArrayArray1304[var8][var9]) != 0) { + continue label191; + } + } + } + } + + var4.anInt2816 = 1; + } + } + } + + Class55.method1180((byte)-122, var4); + Class17.method904(65536, var4); + RenderAnimationDefinition.method900(var4, var1 ^ -11974); + Class86.aClass91Array1182[WorldListCountry.localPlane].method1489(var4.anInt2819 >> -375465785, false, (byte)85, var4.anInt2829 >> 1678486439, var4.getSize((byte)114), var4.getSize((byte)114)); + } + } + } + + if(var1 != 1) { + aClass94_2196 = (RSString)null; + } + + if(!HDToolKit.highDetail) { + RSByteBuffer.method744(true); + } else if(0 == Class3_Sub13_Sub25.loginStage && 0 == Canvas_Sub1.registryStage) { + if(~Class133.anInt1753 != -3) { + Class3_Sub28_Sub6.d('\uffff'); + } else { + CS2Script.method379(var1 ^ 1025); + } + + if(14 > NPC.anInt3995 >> -1377844697 || NPC.anInt3995 >> 2015386375 >= 90 || 14 > Class77.anInt1111 >> -944239097 || -91 >= ~(Class77.anInt1111 >> -1325288249)) { + Class3_Sub13_Sub6.method195(var1 ^ 20478); + } + } + + while(true) { + CS2Script var11 = (CS2Script)PacketParser.aClass61_82.method1220((byte)-3); + RSInterface var12; + RSInterface var13; + if(var11 == null) { + while(true) { + var11 = (CS2Script)Class65.aClass61_983.method1220((byte)-3); + if(null == var11) { + while(true) { + var11 = (CS2Script)Class110.aClass61_1471.method1220((byte)-3); + if(null == var11) { + if(Class56.aClass11_886 != null) { + PacketParser.method829(-1); + } + + if(null != Class15.aClass64_351 && Class15.aClass64_351.anInt978 == 1) { + if(null != Class15.aClass64_351.anObject974) { + Class99.method1596(Class3_Sub13_Sub24.aClass94_3295, (byte)126, RSString.aBoolean2154); + } + + RSString.aBoolean2154 = false; + Class3_Sub13_Sub24.aClass94_3295 = null; + Class15.aClass64_351 = null; + } + + if(Class44.anInt719 % 1500 == 0) { + Class72.method1293(true); + } + + return; + } + + var12 = var11.aClass11_2449; + if(0 <= var12.anInt191) { + var13 = Class7.getRSInterface((byte)118, var12.parentId); + if(var13 == null || null == var13.aClass11Array262 || ~var13.aClass11Array262.length >= ~var12.anInt191 || var12 != var13.aClass11Array262[var12.anInt191]) { + continue; + } + } + + Class43.method1065(1073376993, var11); + } + } + + var12 = var11.aClass11_2449; + if(~var12.anInt191 <= -1) { + var13 = Class7.getRSInterface((byte)112, var12.parentId); + if(null == var13 || var13.aClass11Array262 == null || ~var12.anInt191 <= ~var13.aClass11Array262.length || var12 != var13.aClass11Array262[var12.anInt191]) { + continue; + } + } + + Class43.method1065(1073376993, var11); + } + } + + var12 = var11.aClass11_2449; + if(var12.anInt191 >= 0) { + var13 = Class7.getRSInterface((byte)126, var12.parentId); + if(null == var13 || null == var13.aClass11Array262 || ~var13.aClass11Array262.length >= ~var12.anInt191 || var12 != var13.aClass11Array262[var12.anInt191]) { + continue; + } + } + + Class43.method1065(var1 ^ 1073376992, var11); + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "client." + var1 + ')'); + } + } + + private final void method48(boolean var1) { + try { + boolean var2 = Class58.aClass66_917.method1243((byte)-61); + if(!var1) { + aClass94_2198 = (RSString)null; + } + + if(!var2) { + this.method49(-31379); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "client.J(" + var1 + ')'); + } + } + + private final void method49(int var1) { + try { + if(var1 != -31379) { + method51((RSInterface)null); + } + + if(~Class163_Sub2_Sub1.anInt4026 > ~Class58.aClass66_917.anInt1011) { + Class3_Sub13_Sub5.anInt3068 = 5 * 50 * (Class58.aClass66_917.anInt1011 + -1); + if(Class162.anInt2036 != Class140_Sub6.accRegistryPort) { + Class140_Sub6.accRegistryPort = Class162.anInt2036; + } else { + Class140_Sub6.accRegistryPort = WorldListCountry.anInt506; + } + + if(Class3_Sub13_Sub5.anInt3068 > 3000) { + Class3_Sub13_Sub5.anInt3068 = 3000; + } + + if(~Class58.aClass66_917.anInt1011 <= -3 && Class58.aClass66_917.anInt1010 == 6) { + this.method31("js5connect_outofdate", -48); + Class143.loadingStage = 1000; + return; + } + + if(-5 >= ~Class58.aClass66_917.anInt1011 && ~Class58.aClass66_917.anInt1010 == 0) { + this.method31("js5crc", -48); + Class143.loadingStage = 1000; + return; + } + + if(Class58.aClass66_917.anInt1011 >= 4 && (Class143.loadingStage == 0 || -6 == ~Class143.loadingStage)) { + if(~Class58.aClass66_917.anInt1010 != -8 && -10 != ~Class58.aClass66_917.anInt1010) { + if(Class58.aClass66_917.anInt1010 > 0) { + this.method31("js5connect", -48); + } else { + this.method31("js5io", -48); + } + } else { + this.method31("js5connect_full", -48); + } + + Class143.loadingStage = 1000; + return; + } + } + + Class163_Sub2_Sub1.anInt4026 = Class58.aClass66_917.anInt1011; + if(~Class3_Sub13_Sub5.anInt3068 < -1) { + --Class3_Sub13_Sub5.anInt3068; + } else { + try { + if(~PacketParser.anInt80 == -1) { + Class17.aClass64_413 = Class38.aClass87_665.method1441((byte)8, Class38_Sub1.accRegistryIp, Class140_Sub6.accRegistryPort); + ++PacketParser.anInt80; + } + + if(PacketParser.anInt80 == 1) { + if(2 == Class17.aClass64_413.anInt978) { + this.method46(true, 1000); + return; + } + + if(~Class17.aClass64_413.anInt978 == -2) { + ++PacketParser.anInt80; + } + } + + if(2 == PacketParser.anInt80) { + InputStream_Sub1.js5Connection = new IOHandler((Socket)Class17.aClass64_413.anObject974, Class38.aClass87_665); + RSByteBuffer var2 = new RSByteBuffer(9); + var2.putByte((byte)-69, 15); //JS5 handshake + var2.putInt(var1 + 31252, Configurations.CLIENT_BUILD); + var2.putInt(var1 + 31252, Configurations.SUB_BUILD); + InputStream_Sub1.js5Connection.sendBytes(false, 0, var2.buffer, 9); + ++PacketParser.anInt80; + Class3_Sub13_Sub30.aLong3366 = Class5.method830((byte)-55); + } + + if(3 == PacketParser.anInt80) { + if(-1 != ~Class143.loadingStage && ~Class143.loadingStage != -6 && 0 >= InputStream_Sub1.js5Connection.availableBytes(var1 ^ 15655)) { + if(~(Class5.method830((byte)-55) + -Class3_Sub13_Sub30.aLong3366) < -30001L) { + this.method46(true, 1001); + return; + } + } else { + int var5 = InputStream_Sub1.js5Connection.readByte(0); + if(-1 != ~var5) { + this.method46(true, var5); + return; + } + + ++PacketParser.anInt80; + } + } + + if(-5 == ~PacketParser.anInt80) { + boolean var6 = ~Class143.loadingStage == -6 || -11 == ~Class143.loadingStage || Class143.loadingStage == 28; + Class58.aClass66_917.method1249(!var6, InputStream_Sub1.js5Connection, var1 + 31379); + InputStream_Sub1.js5Connection = null; + Class17.aClass64_413 = null; + PacketParser.anInt80 = 0; + } + } catch (IOException var3) { + this.method46(true, 1002); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "client.E(" + var1 + ')'); + } + } + + public static final void main(String[] var0) { + try { + try { + if(4 != var0.length) { + Class3_Sub13_Sub23_Sub1.method283("argument count", (byte)38); + } + + int var1 = -1; + ObjectDefinition.worldId = Integer.parseInt(var0[0]); + Class44.anInt718 = 2; + if(!var0[1].equals("live")) { + if(var0[1].equals("rc")) { + Class3_Sub13_Sub13.anInt3148 = 1; + } else if(!var0[1].equals("wip")) { + Class3_Sub13_Sub23_Sub1.method283("modewhat", (byte)38); + } else { + Class3_Sub13_Sub13.anInt3148 = 2; + } + } else { + Class3_Sub13_Sub13.anInt3148 = 0; + } + + Class3_Sub28_Sub19.aBoolean3779 = false; + + try { + byte[] var2 = var0[2].getBytes("ISO-8859-1"); + var1 = Class3_Sub13_Sub16.method243(Class3_Sub13_Sub3.method178(var2, -4114, var2.length, 0), (byte)13); + } catch (Exception var3) { + ; + } + + if(-1 == var1) { + if(!var0[2].equals("english")) { + if(var0[2].equals("german")) { + Class3_Sub20.language = 1; + } else { + Class3_Sub13_Sub23_Sub1.method283("language", (byte)38); + } + } else { + Class3_Sub20.language = 0; + } + } else { + Class3_Sub20.language = var1; + } + + Class3.method87(-78, Class3_Sub20.language); + Class163_Sub2_Sub1.aBoolean4018 = false; + Class3_Sub28_Sub11.aBoolean3641 = false; + if(!var0[3].equals("game0")) { + if(!var0[3].equals("game1")) { + Class3_Sub13_Sub23_Sub1.method283("game", (byte)38); + } else { + Class158.anInt2014 = 1; + } + } else { + Class158.anInt2014 = 0; + } + + Class3_Sub31.countryId = 0; + Class106.hasInternetExplorer6 = false; + Class3_Sub26.anInt2554 = 0; + Class163_Sub2.aClass94_2996 = Class3_Sub28_Sub14.aClass94_3672; + Client var6 = new Client(); + Class126.aClient1671 = var6; + var6.launch(GameShell.frame); + GameShell.frame.setLocation(40, 40); + } catch (Exception var4) { + Class49.method1125((String)null, var4, (byte)119); + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "client.main(" + (var0 != null?"{...}":"null") + ')'); + } + } + + static final void handleItemSwitch(RSInterface[] interfaces, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for(int index = 0; index < interfaces.length; ++index) { + RSInterface inter = interfaces[index]; + if(inter != null && inter.parentId == var1 && (!inter.usingScripts || inter.type == 0 || inter.aBoolean195 || method44(inter).anInt2205 != 0 || inter == PacketParser.aClass11_88 || inter.anInt189 == 1338) && (!inter.usingScripts || !method51(inter))) { + int var10 = inter.anInt306 + var6; + int var11 = inter.anInt210 + var7; + int var12; + int var13; + int var14; + int var15; + if(inter.type == 2) { + var12 = var2; + var13 = var3; + var14 = var4; + var15 = var5; + } else { + int var16 = var10 + inter.anInt168; + int var17 = var11 + inter.anInt193; + if(inter.type == 9) { + ++var16; + ++var17; + } + + var12 = var10 > var2?var10:var2; + var13 = var11 > var3?var11:var3; + var14 = var16 < var4?var16:var4; + var15 = var17 < var5?var17:var5; + } + + if(inter == Class56.aClass11_886) { + Class21.aBoolean440 = true; + Class3_Sub15.anInt2421 = var10; + Class3_Sub2.anInt2218 = var11; + } + + if(!inter.usingScripts || var12 < var14 && var13 < var15) { + if(inter.type == 0) { + if(!inter.usingScripts && method51(inter) && Class107.aClass11_1453 != inter) { + continue; + } + + if(inter.aBoolean219 && Class126.anInt1676 >= var12 && Class130.anInt1709 >= var13 && Class126.anInt1676 < var14 && Class130.anInt1709 < var15) { + for(CS2Script var27 = (CS2Script)Class110.aClass61_1471.method1222(); var27 != null; var27 = (CS2Script)Class110.aClass61_1471.method1221()) { + if(var27.aBoolean2446) { + var27.method86(-1024); + var27.aClass11_2449.aBoolean163 = false; + } + } + + if(Class75_Sub3.anInt2658 == 0) { + Class56.aClass11_886 = null; + PacketParser.aClass11_88 = null; + } + + Class3_Sub19.anInt2475 = 0; + } + } + + if(inter.usingScripts) { + boolean var26; + if(Class126.anInt1676 >= var12 && Class130.anInt1709 >= var13 && Class126.anInt1676 < var14 && Class130.anInt1709 < var15) { + var26 = true; + } else { + var26 = false; + } + + boolean var25 = false; + if(Class3_Sub13_Sub5.anInt3069 == 1 && var26) { + var25 = true; + } + + boolean var18 = false; + if(Class3_Sub28_Sub11.anInt3644 == 1 && Class163_Sub1.anInt2993 >= var12 && Class38_Sub1.anInt2614 >= var13 && Class163_Sub1.anInt2993 < var14 && Class38_Sub1.anInt2614 < var15) { + var18 = true; + } + + int var19; + int var21; + if(inter.aByteArray263 != null) { + for(var19 = 0; var19 < inter.aByteArray263.length; ++var19) { + if(!ObjectDefinition.aBooleanArray1490[inter.aByteArray263[var19]]) { + if(inter.anIntArray310 != null) { + inter.anIntArray310[var19] = 0; + } + } else if(inter.anIntArray310 == null || Class44.anInt719 >= inter.anIntArray310[var19]) { + byte var20 = inter.aByteArray231[var19]; + if(var20 == 0 || ((var20 & 2) == 0 || ObjectDefinition.aBooleanArray1490[86]) && ((var20 & 1) == 0 || ObjectDefinition.aBooleanArray1490[82]) && ((var20 & 4) == 0 || ObjectDefinition.aBooleanArray1490[81])) { + OutputStream_Sub1.method66(Class3_Sub28_Sub14.aClass94_3672, -1, var19 + 1, (byte)-29, inter.anInt279); + var21 = inter.anIntArray299[var19]; + if(inter.anIntArray310 == null) { + inter.anIntArray310 = new int[inter.aByteArray263.length]; + } + + if(var21 != 0) { + inter.anIntArray310[var19] = Class44.anInt719 + var21; + } else { + inter.anIntArray310[var19] = Integer.MAX_VALUE; + } + } + } + } + } + + if(var18) { + Class3_Sub28_Sub6.a(Class38_Sub1.anInt2614 - var11, Class163_Sub1.anInt2993 - var10, 97, inter); + } + + if(Class56.aClass11_886 != null && Class56.aClass11_886 != inter && var26 && (method44(inter).method98(false) || (inter.anInt279 == 49938505 && Class56.aClass11_886.anInt279 == 49938505))) { + Class27.aClass11_526 = inter; + } + if(inter == PacketParser.aClass11_88) { + Class85.aBoolean1167 = true; + Class3_Sub13_Sub13.anInt3156 = var10; + Class134.anInt1761 = var11; + } + + if(inter.aBoolean195 || inter.anInt189 != 0) { + CS2Script var30; + if(var26 && Class29.anInt561 != 0 && inter.anObjectArray183 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2441 = Class29.anInt561; + var30.arguments = inter.anObjectArray183; + Class110.aClass61_1471.method1215(true, var30); + } + + if(Class56.aClass11_886 != null || Class67.aClass11_1017 != null || Class38_Sub1.aBoolean2615 || inter.anInt189 != 1400 && Class3_Sub19.anInt2475 > 0) { + var18 = false; + var25 = false; + var26 = false; + } + + int var29; + if(inter.anInt189 != 0) { + if(inter.anInt189 == 1337) { + Class168.aClass11_2091 = inter; + Class20.method909(124, inter); + continue; + } + + if(inter.anInt189 == 1338) { + if(var18) { + Class1.anInt56 = Class163_Sub1.anInt2993 - var10; + Class58.anInt916 = Class38_Sub1.anInt2614 - var11; + } + continue; + } + + if(inter.anInt189 == 1400) { + Class3_Sub28_Sub3.aClass11_3551 = inter; + if(var18) { + if(ObjectDefinition.aBooleanArray1490[82] && Class3_Sub13_Sub26.rights > 0) { + var19 = (int)((double)(Class163_Sub1.anInt2993 - var10 - inter.anInt168 / 2) * 2.0D / (double)Class44.aFloat727); + var29 = (int)((double)(Class38_Sub1.anInt2614 - var11 - inter.anInt193 / 2) * 2.0D / (double)Class44.aFloat727); + var21 = Class3_Sub28_Sub1.anInt3536 + var19; + int var32 = Class3_Sub4.anInt2251 + var29; + int var23 = var21 + Class3_Sub13_Sub21.anInt3256; + int var24 = Class108.anInt1460 - 1 - var32 + Class2.anInt65; + Class30.method979(var23, var24, 0, (byte)-4); + Class3_Sub13_Sub19.method264((byte)126); + continue; + } + + Class3_Sub19.anInt2475 = 1; + Class144.anInt1881 = Class126.anInt1676; + Class95.anInt1336 = Class130.anInt1709; + continue; + } + + if(var25 && Class3_Sub19.anInt2475 > 0) { + if(Class3_Sub19.anInt2475 == 1 && (Class144.anInt1881 != Class126.anInt1676 || Class95.anInt1336 != Class130.anInt1709)) { + Class3_Sub28_Sub10_Sub2.anInt4073 = Class3_Sub28_Sub1.anInt3536; + Class38.anInt660 = Class3_Sub4.anInt2251; + Class3_Sub19.anInt2475 = 2; + } + + if(Class3_Sub19.anInt2475 == 2) { + Class54.method1175(Class3_Sub28_Sub10_Sub2.anInt4073 + (int)((double)(Class144.anInt1881 - Class126.anInt1676) * 2.0D / (double)NPC.aFloat3979), 112); + Class3_Sub13_Sub39.method354(-126, Class38.anInt660 + (int)((double)(Class95.anInt1336 - Class130.anInt1709) * 2.0D / (double)NPC.aFloat3979)); + } + continue; + } + + Class3_Sub19.anInt2475 = 0; + continue; + } + + if(inter.anInt189 == 1401) { + if(var25) { + Class3_Sub13_Sub17.method253(-22611, inter.anInt168, Class130.anInt1709 - var11, Class126.anInt1676 - var10, inter.anInt193); + } + continue; + } + + if(inter.anInt189 == 1402) { + if(!HDToolKit.highDetail) { + Class20.method909(113, inter); + } + continue; + } + } + + if(!inter.aBoolean188 && var18) { + inter.aBoolean188 = true; + if(inter.anObjectArray165 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class163_Sub1.anInt2993 - var10; + var30.anInt2441 = Class38_Sub1.anInt2614 - var11; + var30.arguments = inter.anObjectArray165; + Class110.aClass61_1471.method1215(true, var30); + } + } + + if(inter.aBoolean188 && var25 && inter.anObjectArray170 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray170; + Class110.aClass61_1471.method1215(true, var30); + } + + if(inter.aBoolean188 && !var25) { + inter.aBoolean188 = false; + if(inter.anObjectArray239 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray239; + Class65.aClass61_983.method1215(true, var30); + } + } + + if(var25 && inter.anObjectArray180 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray180; + Class110.aClass61_1471.method1215(true, var30); + } + + if(!inter.aBoolean163 && var26) { + inter.aBoolean163 = true; + if(inter.anObjectArray248 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray248; + Class110.aClass61_1471.method1215(true, var30); + } + } + + if(inter.aBoolean163 && var26 && inter.anObjectArray276 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray276; + Class110.aClass61_1471.method1215(true, var30); + } + + if(inter.aBoolean163 && !var26) { + inter.aBoolean163 = false; + if(inter.anObjectArray281 != null) { + var30 = new CS2Script(); + var30.aBoolean2446 = true; + var30.aClass11_2449 = inter; + var30.anInt2447 = Class126.anInt1676 - var10; + var30.anInt2441 = Class130.anInt1709 - var11; + var30.arguments = inter.anObjectArray281; + Class65.aClass61_983.method1215(true, var30); + } + } + + if(inter.anObjectArray269 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray269; + PacketParser.aClass61_82.method1215(true, var30); + } + + CS2Script var22; + if(inter.anObjectArray161 != null && PacketParser.anInt87 > inter.anInt284) { + if(inter.anIntArray211 != null && PacketParser.anInt87 - inter.anInt284 <= 32) { + label531: + for(var19 = inter.anInt284; var19 < PacketParser.anInt87; ++var19) { + var29 = NPC.anIntArray3986[var19 & 31]; + + for(var21 = 0; var21 < inter.anIntArray211.length; ++var21) { + if(inter.anIntArray211[var21] == var29) { + var22 = new CS2Script(); + var22.aClass11_2449 = inter; + var22.arguments = inter.anObjectArray161; + Class110.aClass61_1471.method1215(true, var22); + break label531; + } + } + } + } else { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray161; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt284 = PacketParser.anInt87; + } + + if(inter.anObjectArray221 != null && Class3_Sub9.anInt2317 > inter.anInt242) { + if(inter.anIntArray185 != null && Class3_Sub9.anInt2317 - inter.anInt242 <= 32) { + label512: + for(var19 = inter.anInt242; var19 < Class3_Sub9.anInt2317; ++var19) { + var29 = Class163_Sub2_Sub1.anIntArray4025[var19 & 31]; + + for(var21 = 0; var21 < inter.anIntArray185.length; ++var21) { + if(inter.anIntArray185[var21] == var29) { + var22 = new CS2Script(); + var22.aClass11_2449 = inter; + var22.arguments = inter.anObjectArray221; + Class110.aClass61_1471.method1215(true, var22); + break label512; + } + } + } + } else { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray221; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt242 = Class3_Sub9.anInt2317; + } + + if(inter.anObjectArray282 != null && Class36.anInt641 > inter.anInt213) { + if(inter.anIntArray286 != null && Class36.anInt641 - inter.anInt213 <= 32) { + label493: + for(var19 = inter.anInt213; var19 < Class36.anInt641; ++var19) { + var29 = Class44.anIntArray726[var19 & 31]; + + for(var21 = 0; var21 < inter.anIntArray286.length; ++var21) { + if(inter.anIntArray286[var21] == var29) { + var22 = new CS2Script(); + var22.aClass11_2449 = inter; + var22.arguments = inter.anObjectArray282; + Class110.aClass61_1471.method1215(true, var22); + break label493; + } + } + } + } else { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray282; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt213 = Class36.anInt641; + } + + if(inter.anObjectArray174 != null && Class62.anInt944 > inter.anInt255) { + if(inter.anIntArray175 != null && Class62.anInt944 - inter.anInt255 <= 32) { + label474: + for(var19 = inter.anInt255; var19 < Class62.anInt944; ++var19) { + var29 = Class3_Sub28_Sub4.anIntArray3565[var19 & 31]; + + for(var21 = 0; var21 < inter.anIntArray175.length; ++var21) { + if(inter.anIntArray175[var21] == var29) { + var22 = new CS2Script(); + var22.aClass11_2449 = inter; + var22.arguments = inter.anObjectArray174; + Class110.aClass61_1471.method1215(true, var22); + break label474; + } + } + } + } else { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray174; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt255 = Class62.anInt944; + } + + if(inter.anObjectArray158 != null && Class49.anInt815 > inter.anInt311) { + if(inter.anIntArray274 != null && Class49.anInt815 - inter.anInt311 <= 32) { + label455: + for(var19 = inter.anInt311; var19 < Class49.anInt815; ++var19) { + var29 = Class3_Sub28_Sub19.anIntArray3780[var19 & 31]; + + for(var21 = 0; var21 < inter.anIntArray274.length; ++var21) { + if(inter.anIntArray274[var21] == var29) { + var22 = new CS2Script(); + var22.aClass11_2449 = inter; + var22.arguments = inter.anObjectArray158; + Class110.aClass61_1471.method1215(true, var22); + break label455; + } + } + } + } else { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray158; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt311 = Class49.anInt815; + } + + if(Class24.anInt472 > inter.anInt234 && inter.anObjectArray256 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray256; + Class110.aClass61_1471.method1215(true, var30); + } + + if(Class110.anInt1472 > inter.anInt234 && inter.anObjectArray156 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray156; + Class110.aClass61_1471.method1215(true, var30); + } + + if(Class167.anInt2087 > inter.anInt234 && inter.anObjectArray313 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray313; + Class110.aClass61_1471.method1215(true, var30); + } + + if(Class121.anInt1642 > inter.anInt234 && inter.anObjectArray268 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray268; + Class110.aClass61_1471.method1215(true, var30); + } + + if(Class140_Sub6.anInt2905 > inter.anInt234 && inter.anObjectArray315 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray315; + Class110.aClass61_1471.method1215(true, var30); + } + + inter.anInt234 = Class3_Sub13_Sub17.anInt3213; + if(inter.anObjectArray220 != null) { + for(var19 = 0; var19 < Class3_Sub23.anInt2537; ++var19) { + CS2Script var31 = new CS2Script(); + var31.aClass11_2449 = inter; + var31.anInt2444 = Class133.anIntArray1755[var19]; + var31.anInt2443 = Class120.anIntArray1638[var19]; + var31.arguments = inter.anObjectArray220; + Class110.aClass61_1471.method1215(true, var31); + } + } + + if(Class3_Sub28_Sub1.aBoolean3531 && inter.anObjectArray217 != null) { + var30 = new CS2Script(); + var30.aClass11_2449 = inter; + var30.arguments = inter.anObjectArray217; + Class110.aClass61_1471.method1215(true, var30); + } + } + } + + if(!inter.usingScripts && Class56.aClass11_886 == null && Class67.aClass11_1017 == null && !Class38_Sub1.aBoolean2615) { + if((inter.anInt212 >= 0 || inter.anInt228 != 0) && Class126.anInt1676 >= var12 && Class130.anInt1709 >= var13 && Class126.anInt1676 < var14 && Class130.anInt1709 < var15) { + if(inter.anInt212 >= 0) { + Class107.aClass11_1453 = interfaces[inter.anInt212]; + } else { + Class107.aClass11_1453 = inter; + } + } + + if(inter.type == 8 && Class126.anInt1676 >= var12 && Class130.anInt1709 >= var13 && Class126.anInt1676 < var14 && Class130.anInt1709 < var15) { + Class20.aClass11_439 = inter; + } + + if(inter.anInt252 > inter.anInt193) { + Class137.method1819(Class130.anInt1709, inter.anInt193, inter, (byte)-101, Class126.anInt1676, var10 + inter.anInt168, var11, inter.anInt252); + } + } + + if(inter.type == 0) { + handleItemSwitch(interfaces, inter.anInt279, var12, var13, var14, var15, var10 - inter.anInt247, var11 - inter.anInt208); + if(inter.aClass11Array262 != null) { + handleItemSwitch(inter.aClass11Array262, inter.anInt279, var12, var13, var14, var15, var10 - inter.anInt247, var11 - inter.anInt208); + } + + Class3_Sub31 var28 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)inter.anInt279, 0); + if(var28 != null) { + GraphicDefinition.method967(var10, var13, 2, var11, var14, var28.anInt2602, var12, var15); + } + } + } + } + } + + } + + static final boolean method51(RSInterface var0) { + if(Class69.aBoolean1040) { + if(method44(var0).anInt2205 != 0) { + return false; + } + + if(var0.type == 0) { + return false; + } + } + + return var0.hidden; + } + + private final void method52(int var1) { + try { + if(!RSString.aBoolean2146) { + while(Class3_Sub28_Sub10_Sub1.method591(107)) { + if(~Class3_Sub13_Sub27.anInt3342 == -116 || ~Class3_Sub13_Sub27.anInt3342 == -84) { + RSString.aBoolean2146 = true; + } + } + } + + if(var1 >= 46) { + int var3; + if(Class96.anInt1354 == 0) { + Runtime var10 = Runtime.getRuntime(); + var3 = (int)((var10.totalMemory() - var10.freeMemory()) / 1024L); + long var4 = Class5.method830((byte)-55); + if(-1L == ~Class3_Sub13_Sub24.aLong3296) { + Class3_Sub13_Sub24.aLong3296 = var4; + } + + if(var3 > 16384 && 5000L > -Class3_Sub13_Sub24.aLong3296 + var4) { + if(-Class91.aLong1310 + var4 > 1000L) { + System.gc(); + Class91.aLong1310 = var4; + } + + Class3_Sub28_Sub15.anInt3684 = 5; + Class3_Sub17.aClass94_2464 = Class3_Sub13_Sub23_Sub1.aClass94_4040; + } else { + Class3_Sub17.aClass94_2464 = RSString.aClass94_2151; + Class96.anInt1354 = 10; + Class3_Sub28_Sub15.anInt3684 = 5; + } + } else { + int var2; + if(-11 == ~Class96.anInt1354) { + Class68.method1267(4, 104, 104); + + for(var2 = 0; -5 < ~var2; ++var2) { + Class86.aClass91Array1182[var2] = new Class91(104, 104); + } + + Class3_Sub28_Sub15.anInt3684 = 10; + Class96.anInt1354 = 30; + Class3_Sub17.aClass94_2464 = Class3_Sub28_Sub10.aClass94_3629; + } else if(Class96.anInt1354 == 30) { + if(Class151.aClass8_1936 == null) { + Class151.aClass8_1936 = new Class8(Class58.aClass66_917, Class3_Sub13_Sub14.aClass73_3159); + } + + if(Class151.aClass8_1936.method837(255)) { + Class75_Sub3.aClass153_2660 = Class8.getCacheIndex(false, true, true, 0, true); + Class3_Sub28_Sub19.aClass153_3772 = Class8.getCacheIndex(false, true, true, 1, true); + Class164.aClass153_2052 = Class8.getCacheIndex(true, true, false, 2, true); + Class140_Sub3.aClass153_2727 = Class8.getCacheIndex(false, true, true, 3, true); + Class146.aClass153_1902 = Class8.getCacheIndex(false, true, true, 4, true); + Class3_Sub13_Sub6.aClass153_3077 = Class8.getCacheIndex(true, true, true, 5, true); + Class75_Sub2.aClass153_2645 = Class8.getCacheIndex(true, false, true, 6, true); + Class159.aClass153_2019 = Class8.getCacheIndex(false, true, true, 7, true); + Class140_Sub6.spritesCacheIndex = Class8.getCacheIndex(false, true, true, 8, true); + Class3_Sub13_Sub28.aClass153_3352 = Class8.getCacheIndex(false, true, true, 9, true); + Class3_Sub13_Sub25.aClass153_3304 = Class8.getCacheIndex(false, true, true, 10, true); + Node.aClass153_2573 = Class8.getCacheIndex(false, true, true, 11, true); + Class3_Sub1.interfaceScriptsIndex = Class8.getCacheIndex(false, true, true, 12, true); + CacheIndex.aClass153_1948 = Class8.getCacheIndex(false, true, true, 13, true); + Class3_Sub19.aClass153_2474 = Class8.getCacheIndex(false, false, true, 14, true); + NPC.aClass153_3994 = Class8.getCacheIndex(false, true, true, 15, true); + Class168.aClass153_2097 = Class8.getCacheIndex(false, true, true, 16, true); + NPC.aClass153_3993 = Class8.getCacheIndex(false, true, true, 17, true); + Class101.aClass153_1428 = Class8.getCacheIndex(false, true, true, 18, true); + Class100.aClass153_1410 = Class8.getCacheIndex(false, true, true, 19, true); + Class3_Sub13_Sub36.aClass153_3429 = Class8.getCacheIndex(false, true, true, 20, true); + Class70.aClass153_1058 = Class8.getCacheIndex(false, true, true, 21, true); + Class3_Sub22.aClass153_2528 = Class8.getCacheIndex(false, true, true, 22, true); + Class133.aClass153_1751 = Class8.getCacheIndex(true, true, true, 23, true); + Class140_Sub7.aClass153_2939 = Class8.getCacheIndex(false, true, true, 24, true); + Class3_Sub4.aClass153_2258 = Class8.getCacheIndex(false, true, true, 25, true); + Class97.aClass153_1376 = Class8.getCacheIndex(true, true, true, 26, true); + Class132.aClass153_1735 = Class8.getCacheIndex(false, true, true, 27, true); + Class132.libIndex = Class8.getCacheIndex(false, true, true, 28, true); + Class3_Sub28_Sub15.anInt3684 = 15; + Class3_Sub17.aClass94_2464 = Class106.aClass94_1445; + Class96.anInt1354 = 40; + } else { + Class3_Sub17.aClass94_2464 = Class157.aClass94_1995; + Class3_Sub28_Sub15.anInt3684 = 12; + } + } else if(~Class96.anInt1354 != -41) { + if(~Class96.anInt1354 == -46) { + Class140_Sub3.method1959(256, 2, 22050, Class3_Sub13_Sub15.aBoolean3184); + Class86.aClass3_Sub24_Sub4_1193 = new Class3_Sub24_Sub4(); + Class86.aClass3_Sub24_Sub4_1193.method479((byte)98, 9, 128); + WorldListEntry.aClass155_2627 = Class58.method1195(22050, Class38.aClass87_665, Class3_Sub28_Sub12.aCanvas3648, 0, 14); + WorldListEntry.aClass155_2627.method2154(-116, Class86.aClass3_Sub24_Sub4_1193); + RenderAnimationDefinition.method897(17770, Class86.aClass3_Sub24_Sub4_1193, NPC.aClass153_3994, Class3_Sub19.aClass153_2474, Class146.aClass153_1902); + Class3_Sub21.aClass155_2491 = Class58.method1195(2048, Class38.aClass87_665, Class3_Sub28_Sub12.aCanvas3648, 1, 14); + Class3_Sub26.aClass3_Sub24_Sub2_2563 = new Class3_Sub24_Sub2(); + Class3_Sub21.aClass155_2491.method2154(-128, Class3_Sub26.aClass3_Sub24_Sub2_2563); + Class27.aClass157_524 = new Class157(22050, Class21.anInt443); + Class148.anInt1912 = Class75_Sub2.aClass153_2645.getArchiveForName(Class1.aClass94_53, (byte)-30); + Class3_Sub28_Sub15.anInt3684 = 30; + Class96.anInt1354 = 50; + Class3_Sub17.aClass94_2464 = Class131.aClass94_1731; + } else if(-51 != ~Class96.anInt1354) { + if(60 != Class96.anInt1354) { + if(~Class96.anInt1354 != -66) { + if(Class96.anInt1354 != 70) { + if(Class96.anInt1354 == 80) { + var2 = Class3_Sub4.method107(Class140_Sub6.spritesCacheIndex, (byte)-125); + var3 = Class3_Sub13_Sub9.method208(-119); + if(~var3 < ~var2) { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub13_Sub38.aClass94_3445, Class72.method1298((byte)9, var2 * 100 / var3), Class24.aClass94_468}, (byte)-66); + Class3_Sub28_Sub15.anInt3684 = 60; + } else { + Class14.method887(21, Class140_Sub6.spritesCacheIndex); + Class96.anInt1354 = 90; + Class3_Sub28_Sub15.anInt3684 = 60; + Class3_Sub17.aClass94_2464 = Class130.aClass94_1707; + } + } else if(Class96.anInt1354 != 90) { + if(-101 == ~Class96.anInt1354) { + if(Class3_Sub13_Sub34.method334(Class140_Sub6.spritesCacheIndex, 0)) { + Class96.anInt1354 = 110; + } + } else if(-111 != ~Class96.anInt1354) { + if(~Class96.anInt1354 != -121) { + if(~Class96.anInt1354 == -131) { + if(Class140_Sub3.aClass153_2727.method2113((byte)20)) { + if(Class3_Sub1.interfaceScriptsIndex.method2113((byte)46)) { + if(CacheIndex.aClass153_1948.method2113((byte)89)) { + if(Class133.aClass153_1751.method2127((byte)-83, Class95.aClass94_1342)) { + Class75_Sub4.method1353(Class102.aClass3_Sub28_Sub16_Sub2Array2140, -11931, Class133.aClass153_1751); + Class3_Sub28_Sub15.anInt3684 = 95; + Class3_Sub17.aClass94_2464 = RSByteBuffer.aClass94_2597; + Class96.anInt1354 = 135; + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class151_Sub1.aClass94_2961, Class72.method1298((byte)9, 90 - -(Class133.aClass153_1751.method2116(22813, Class95.aClass94_1342) / 10)), Class24.aClass94_468}, (byte)-72); + Class3_Sub28_Sub15.anInt3684 = 85; + } + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class151_Sub1.aClass94_2961, Class72.method1298((byte)9, 85 - -(CacheIndex.aClass153_1948.method2136((byte)-124) / 20)), Class24.aClass94_468}, (byte)-107); + Class3_Sub28_Sub15.anInt3684 = 85; + } + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class151_Sub1.aClass94_2961, Class72.method1298((byte)9, 75 - -(Class3_Sub1.interfaceScriptsIndex.method2136((byte)-128) / 10)), Class24.aClass94_468}, (byte)-120); + Class3_Sub28_Sub15.anInt3684 = 85; + } + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class151_Sub1.aClass94_2961, Class72.method1298((byte)9, Class140_Sub3.aClass153_2727.method2136((byte)-123) * 3 / 4), Class24.aClass94_468}, (byte)-81); + Class3_Sub28_Sub15.anInt3684 = 85; + } + } else if(135 == Class96.anInt1354) { + var2 = Class121.method1735(29984); + if(-1 == var2) { + Class3_Sub28_Sub15.anInt3684 = 95; + Class3_Sub17.aClass94_2464 = Class123.aClass94_1653; + } else if(-8 != ~var2 && var2 != 9) { + if(Class30.loadedWorldList) { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.aClass94_374; + Class96.anInt1354 = 140; + Class3_Sub28_Sub15.anInt3684 = 96; + } else { + this.method31("worldlistio_" + var2, -48); + Class117.method1719(1000, 5); + } + } else { + this.method31("worldlistfull", -48); + Class117.method1719(1000, 5); + } + } else if(~Class96.anInt1354 != -141) { + if(~Class96.anInt1354 == -151) { + Class88.method1454(); + if(RSString.aBoolean2146) { + Class3_Sub28_Sub9.anInt3622 = 0; + Class3_Sub28_Sub14.anInt3671 = 0; + Node.anInt2577 = 0; + Class3_Sub20.anInt2488 = 0; + } + + RSString.aBoolean2146 = true; + Class119.method1730(Class38.aClass87_665, (byte)14); + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + Class3_Sub28_Sub15.anInt3684 = 100; + Class96.anInt1354 = 160; + Class3_Sub17.aClass94_2464 = Node.aClass94_2576; + } else if(~Class96.anInt1354 == -161) { + Class3_Sub13_Sub11.method219(true, 3000); + } + } else { + Class3_Sub22.anInt2529 = Class140_Sub3.aClass153_2727.getArchiveForName(NPC.aClass94_3992, (byte)-30); + Class3_Sub13_Sub6.aClass153_3077.method2115(-9, false, true); + Class75_Sub2.aClass153_2645.method2115(111, true, true); + Class140_Sub6.spritesCacheIndex.method2115(-76, true, true); + CacheIndex.aClass153_1948.method2115(91, true, true); + Class3_Sub13_Sub25.aClass153_3304.method2115(-116, true, true); + Class140_Sub3.aClass153_2727.method2115(99, true, true); + Class3_Sub28_Sub15.anInt3684 = 97; + Class3_Sub17.aClass94_2464 = Class3_Sub5.aClass94_2267; + Class96.anInt1354 = 150; + Class58.aBoolean913 = true; + } + } else if(Class3_Sub13_Sub25.aClass153_3304.method2125(Class3_Sub28_Sub14.aClass94_3672, (byte)116, Class3_Sub28_Sub20.aClass94_3792)) { + Class36 var9 = new Class36(Class3_Sub13_Sub25.aClass153_3304.method2123(0, Class3_Sub28_Sub14.aClass94_3672, Class3_Sub28_Sub20.aClass94_3792)); + Class1.method69(var9, 104); + Class3_Sub17.aClass94_2464 = Class117.aClass94_1615; + Class96.anInt1354 = 130; + Class3_Sub28_Sub15.anInt3684 = 80; + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class86.aClass94_1183, InputStream_Sub1.aClass94_37}, (byte)-98); + Class3_Sub28_Sub15.anInt3684 = 80; + } + } else { + Class106.aClass67_1443 = new Class67(); + Class38.aClass87_665.method1451(0, 10, Class106.aClass67_1443); + Class3_Sub17.aClass94_2464 = Class100.aClass94_1409; + Class3_Sub28_Sub15.anInt3684 = 75; + Class96.anInt1354 = 120; + } + } else if(!Class97.aClass153_1376.method2113((byte)58)) { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class145.aClass94_1892, Class72.method1298((byte)9, Class97.aClass153_1376.method2136((byte)-125)), Class24.aClass94_468}, (byte)-95); + Class3_Sub28_Sub15.anInt3684 = 70; + } else { + Class102 var8 = new Class102(Class3_Sub13_Sub28.aClass153_3352, Class97.aClass153_1376, Class140_Sub6.spritesCacheIndex, 20, !Class25.aBoolean488); + Class51.method1140(var8); + if(~Class3_Sub28_Sub10.anInt3625 == -2) { + Class51.method1137(0.9F); + } + + if(2 == Class3_Sub28_Sub10.anInt3625) { + Class51.method1137(0.8F); + } + + if(Class3_Sub28_Sub10.anInt3625 == 3) { + Class51.method1137(0.7F); + } + + if(~Class3_Sub28_Sub10.anInt3625 == -5) { + Class51.method1137(0.6F); + } + + Class3_Sub17.aClass94_2464 = Class3_Sub13_Sub14.aClass94_3167; + Class96.anInt1354 = 100; + Class3_Sub28_Sub15.anInt3684 = 70; + } + } else { + Class164.aClass153_2052.method2113((byte)34); + byte var7 = 0; + var2 = var7 + Class164.aClass153_2052.method2136((byte)-124); + Class168.aClass153_2097.method2113((byte)120); + var2 += Class168.aClass153_2097.method2136((byte)-128); + Class132.libIndex.method2113((byte)126); + var2 += Class132.libIndex.method2136((byte)-124); + NPC.aClass153_3993.method2113((byte)70); + var2 += NPC.aClass153_3993.method2136((byte)-123); + Class101.aClass153_1428.method2113((byte)32); + var2 += Class101.aClass153_1428.method2136((byte)-127); + Class100.aClass153_1410.method2113((byte)48); + var2 += Class100.aClass153_1410.method2136((byte)-128); + Class3_Sub13_Sub36.aClass153_3429.method2113((byte)43); + var2 += Class3_Sub13_Sub36.aClass153_3429.method2136((byte)-122); + Class70.aClass153_1058.method2113((byte)23); + var2 += Class70.aClass153_1058.method2136((byte)-122); + Class3_Sub22.aClass153_2528.method2113((byte)94); + var2 += Class3_Sub22.aClass153_2528.method2136((byte)-128); + Class140_Sub7.aClass153_2939.method2113((byte)91); + var2 += Class140_Sub7.aClass153_2939.method2136((byte)-126); + Class3_Sub4.aClass153_2258.method2113((byte)102); + var2 += Class3_Sub4.aClass153_2258.method2136((byte)-128); + Class132.aClass153_1735.method2113((byte)126); + var2 += Class132.aClass153_1735.method2136((byte)-124); + if(~var2 <= -1101) { + Class132.method1799((byte)96, Class164.aClass153_2052); + Class3_Sub28_Sub15.method631(false, Class164.aClass153_2052); + Class3_Sub28_Sub8.method575(Class164.aClass153_2052, -1); + CS2Script.method375(3, Class159.aClass153_2019, Class164.aClass153_2052); + Class108.method1661(2, Class168.aClass153_2097, Class159.aClass153_2019, true); + ItemDefinition.method1103(Class159.aClass153_2019, Class101.aClass153_1428, false); + GameObject.method1864(true, (byte)-126, Class100.aClass153_1410, Class157.aClass3_Sub28_Sub17_Sub1_2000, Class159.aClass153_2019); + Class29.method969(Class164.aClass153_2052, 59); + Class3_Sub20.method392(Class3_Sub28_Sub19.aClass153_3772, Class3_Sub13_Sub36.aClass153_3429, -77, Class75_Sub3.aClass153_2660); + Class41.method1053((byte)-117, Class164.aClass153_2052); + Class158.method2180(Class159.aClass153_2019, Class70.aClass153_1058, 11504); + Class107.method1648(Class3_Sub22.aClass153_2528, 255); + Class3_Sub29.method731(Class164.aClass153_2052, (byte)-113); + Class3.method89(true, CacheIndex.aClass153_1948, Class140_Sub6.spritesCacheIndex, Class140_Sub3.aClass153_2727, Class159.aClass153_2019); + Class3_Sub13_Sub17.method250(2048, Class164.aClass153_2052); + Class46.method1086(NPC.aClass153_3993, -6); + Class3_Sub13_Sub8.method205(Class3_Sub4.aClass153_2258, 115, Class140_Sub7.aClass153_2939, new Class7()); + Class65.method1236(Class3_Sub4.aClass153_2258, Class140_Sub7.aClass153_2939, -117); + Class58.method1197(Class164.aClass153_2052, (byte)69); + Class144.method2065((byte)-125, Class164.aClass153_2052, Class140_Sub6.spritesCacheIndex); + Class107.method1645(Class164.aClass153_2052, Class140_Sub6.spritesCacheIndex, (byte)-67); + Class3_Sub28_Sub15.anInt3684 = 50; + Class3_Sub17.aClass94_2464 = Class3_Sub13_Sub12.aClass94_3142; + Class29.method968(128); + Class96.anInt1354 = 80; + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub28_Sub2.aClass94_3546, Class72.method1298((byte)9, var2 / 11), Class24.aClass94_468}, (byte)-80); + Class3_Sub28_Sub15.anInt3684 = 50; + } + } + } else { + Class3_Sub28_Sub9.method581(CacheIndex.aClass153_1948, 0, Class140_Sub6.spritesCacheIndex); + Class3_Sub28_Sub15.anInt3684 = 45; + Class3_Sub17.aClass94_2464 = Class23.aClass94_459; + Class117.method1719(5, 5); + Class96.anInt1354 = 70; + } + } else { + var2 = Class3_Sub28_Sub11.method599(-20916, Class140_Sub6.spritesCacheIndex); + var3 = Class55.method1185(6098); + if(var3 <= var2) { + Class3_Sub17.aClass94_2464 = Class3_Sub28_Sub4.aClass94_3575; + Class96.anInt1354 = 65; + Class3_Sub28_Sub15.anInt3684 = 40; + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class24.aClass94_461, Class72.method1298((byte)9, 100 * var2 / var3), Class24.aClass94_468}, (byte)-125); + Class3_Sub28_Sub15.anInt3684 = 40; + } + } + } else { + var2 = Class3_Sub13_Sub12.method228(Class140_Sub6.spritesCacheIndex, CacheIndex.aClass153_1948, false); + var3 = RuntimeException_Sub1.method2286((byte)-5); + if(~var2 <= ~var3) { + Class3_Sub17.aClass94_2464 = Class143.aClass94_1879; + Class3_Sub28_Sub15.anInt3684 = 35; + Class96.anInt1354 = 60; + } else { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub28_Sub11.aClass94_3643, Class72.method1298((byte)9, 100 * var2 / var3), Class24.aClass94_468}, (byte)-59); + Class3_Sub28_Sub15.anInt3684 = 35; + } + } + } else { + var2 = 0; + + for(var3 = 0; var3 < 29; ++var3) { //TODO + var2 += RSByteBuffer.aClass151_Sub1Array2601[var3].method2111(-61) * Class3_Sub13_Sub23.anIntArray3288[var3] / 100; + } + + if(var2 < 100) { //!= 100 + if(-1 != ~var2) { + Class3_Sub17.aClass94_2464 = RenderAnimationDefinition.method903(new RSString[]{Class12.aClass94_327, Class72.method1298((byte)9, var2), Class24.aClass94_468}, (byte)-93); + } + + Class3_Sub28_Sub15.anInt3684 = 20; + } else { + Class3_Sub28_Sub15.anInt3684 = 20; + Class3_Sub17.aClass94_2464 = WorldListEntry.aClass94_2624; + Class39.method1039(208, Class140_Sub6.spritesCacheIndex); + Class97.method1593(111, Class140_Sub6.spritesCacheIndex); + Class3_Sub13_Sub13.method233(28280, Class140_Sub6.spritesCacheIndex); + Class96.anInt1354 = 45; + } + } + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "client.A(" + var1 + ')'); + } + } + + final void method25(byte var1) { + try { + if(-1001 != ~Class143.loadingStage) { + ++Class44.anInt719; + if(Class44.anInt719 % 1000 == 1) { + GregorianCalendar var2 = new GregorianCalendar(); + Class38_Sub1.anInt2618 = var2.get(11) * 600 - (-(var2.get(12) * 10) + -(var2.get(13) / 6)); + Class3_Sub13_Sub7.aRandom3088.setSeed((long)Class38_Sub1.anInt2618); + } + + this.method48(true); + if(Class151.aClass8_1936 != null) { + Class151.aClass8_1936.method838((byte)-70); + } + + Class3_Sub29.method728(false); + Class58.method1194(-16385); + Class32.method996(-43); + Class62.method1225(18074); + if(HDToolKit.highDetail) { + Class31.method990(); + } + + int var4; + if(Class38.aClass146_668 != null) { + var4 = Class38.aClass146_668.method2078(-1); + Class29.anInt561 = var4; + } + + if(~Class143.loadingStage != -1) { + if(~Class143.loadingStage == -6) { + this.method52(107); + Class75_Sub4.method1355(true); + } else if(~Class143.loadingStage == -26 || ~Class143.loadingStage == -29) { + Class40.method1046(-117); + } + } else { + this.method52(48); + Class75_Sub4.method1355(true); + } + + var4 = 121 / ((var1 - 27) / 42); + if(10 == Class143.loadingStage) { + this.method47((byte)1); + Class3_Sub13_Sub21.method267((byte)36); + Class163_Sub1_Sub1.method2216((byte)81); + Class127.handleLogin((byte)-9); + } else if(Class143.loadingStage == 30) { + Class3_Sub13_Sub13.method235(true); + } else if(Class143.loadingStage == 40) { + Class127.handleLogin((byte)-9); + if(~Class158.anInt2005 != 2) { + if(~Class158.anInt2005 == -16) { + Class21.method912(false); + } else if(~Class158.anInt2005 != -3) { + Class167.method2269((byte)46); + } + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "client.N(" + var1 + ')'); + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/ClientLoader.java b/09HDscape-client/src/org/runite/jagex/ClientLoader.java new file mode 100644 index 000000000..897d47b21 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/ClientLoader.java @@ -0,0 +1,171 @@ +package org.runite.jagex; +import javax.swing.*; + +import org.runite.GameLaunch; + +import java.applet.Applet; +import java.awt.*; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Properties; + +/** + * The client loader used to initialize the game. + * @author Jagex + * @author Keldagrim Development Team + * + */ +public class ClientLoader extends Applet { + + /** + * The serial version UID. + */ + private static final long serialVersionUID = -4744673981053459832L; + + /** + * The properties being used. + */ + public static Properties props = new Properties(); + + /** + * The JFrame the clients hosted in. + */ + public JFrame frame; + + /** + * The jpanel of the client. + */ + public JPanel jp = new JPanel(); + + /** + * The world name. + */ + public static String world; + + /** + * The look and feel being used. + */ + public static LookAndFeel lookAndFeel; + + /** + * The manegement server IP. + */ + public static final String ADDRESS = "127.0.0.l"; + + /** + * The world list port. + */ + public static final int WLPORT = 5555; //43595 + + /** + * The game client. + */ + public static Client game; + + /** + * The client loader. + */ + public static ClientLoader loader; + + /** + * Client version id + */ + public static final double CLIENT_VERSION = 1.0; + + /** + * Creates the client loader instance. + * @return the client load. + */ + public static ClientLoader create() { + System.getProperties().put("sun.java2d.noddraw", "true"); //Fixes fullscreen mode + loader = new ClientLoader(); + return loader; + } + + /** + * Launches the client. + */ + public void launch() { + try { + ClientLoader.world = "" + GameLaunch.SETTINGS.getWorld(); + System.out.println(GameLaunch.SETTINGS.getWorld()); + this.frame = new JFrame("Runite"); + this.frame.setLayout(new BorderLayout()); + this.frame.setBackground(Color.BLACK); + if (!GameLaunch.SETTINGS.isSwiftKit()) + this.frame.setResizable(true); + this.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + this.jp.setLayout(new BorderLayout()); + this.jp.add(this); + this.jp.setBackground(Color.black); + this.jp.setPreferredSize(new Dimension(765, 503)); + //this.frame.setIconImage(Toolkit.getDefaultToolkit().getImage("./res/favicon.png")); + this.frame.getContentPane().add(this.jp, "Center"); + this.frame.pack(); + if (!GameLaunch.SETTINGS.isSwiftKit()) { + this.frame.setVisible(true); + } + this.frame.setLocationRelativeTo(null); + props.put("worldid", "" + GameLaunch.SETTINGS.getWorld()); + props.put("members", "1"); + props.put("modewhat", "1"); + props.put("modewhere", "0"); + props.put("safemode", "0"); + props.put("game", "0"); + props.put("js", "1"); + props.put("lang", "0"); + props.put("affid", "0"); + props.put("advertsuppressed", "1"); + props.put("lowmem", "0"); + props.put("settings", "kKmok3kJqOeN6D3mDdihco3oPeYN2KFy6W5--vZUbNA"); + Signlink sn = new Signlink(this, 32, "runescape", 29); + Client.providesignlink(sn); + game = new Client(); + game.init(); + } catch (Exception localException) { + localException.printStackTrace(); + } + } + + /** + * Gets a property parameter. + * @return the parameter string. + */ + public String getParameter(String paramString) { + return ((String)props.get(paramString)); + } + + /** + * Gets document base. + * @return the URL. + */ + public URL getDocumentBase() { + return getCodeBase(); + } + + /** + * Gets the code base. + * @return The URL. + */ + public URL getCodeBase() { + try { + return new URL("http://" + GameLaunch.SETTINGS.getIp()); + } catch (MalformedURLException localException) { + System.out.println("World List Loading might not be working or something else is wrong."); + System.out.println("Stack Trace:"); + localException.printStackTrace(); + return null; + } + } + + private static LibraryDownloader dler; + + public static LibraryDownloader getLibraryDownloader() { + if(dler==null){ + dler = new LibraryDownloader(); + } + return dler; + } + + +} \ No newline at end of file diff --git a/09HDscape-client/src/org/runite/jagex/Display.java b/09HDscape-client/src/org/runite/jagex/Display.java new file mode 100644 index 000000000..55aea9df0 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Display.java @@ -0,0 +1,151 @@ +package org.runite.jagex; +import java.awt.DisplayMode; +import java.awt.Frame; +import java.awt.GraphicsDevice; +import java.awt.GraphicsEnvironment; +import java.lang.reflect.Field; + +public class Display { + + private GraphicsDevice aGraphicsDevice445; + private DisplayMode aDisplayMode446; + + + private void method917(Frame var1, byte var2) { + boolean var3 = false; + + Field var4; + boolean var5; + try { + var4 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); + var4.setAccessible(true); + var5 = ((Boolean)var4.get(this.aGraphicsDevice445)).booleanValue(); + if(var5) { + var4.set(this.aGraphicsDevice445, Boolean.FALSE); + var3 = true; + } + } catch (Throwable var15) { + ; + } + + var5 = false; + + try { + var5 = true; + this.aGraphicsDevice445.setFullScreenWindow(var1); + if(var2 != -63) { + this.method918(90, -112, -67, 27, (Frame)null, -49); + var5 = false; + } else { + var5 = false; + } + } finally { + if(var5 && var3) { + try { + Field var7 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); + var7.set(this.aGraphicsDevice445, Boolean.TRUE); + } catch (Throwable var13) { + ; + } + } + + } + + if(var3) { + try { + var4 = Class.forName("sun.awt.Win32GraphicsDevice").getDeclaredField("valid"); + var4.set(this.aGraphicsDevice445, Boolean.TRUE); + } catch (Throwable var14) { + ; + } + } + + } + + public void method918(int var1, int var2, int var3, int var4, Frame var5, int var6) { + this.aDisplayMode446 = this.aGraphicsDevice445.getDisplayMode(); + if(var1 > -6) { + this.method919(false); + } + + if(this.aDisplayMode446 == null) { + throw new NullPointerException(); + } else { + var5.setUndecorated(true); + var5.enableInputMethods(false); + this.method917(var5, (byte)-63); + if(var2 == 0) { + int var7 = this.aDisplayMode446.getRefreshRate(); + DisplayMode[] var8 = this.aGraphicsDevice445.getDisplayModes(); + boolean var9 = false; + + for(int var10 = 0; ~var8.length < ~var10; ++var10) { + if(var8[var10].getWidth() == var6 && var8[var10].getHeight() == var4 && var3 == var8[var10].getBitDepth()) { + int var11 = var8[var10].getRefreshRate(); + if(!var9 || ~Math.abs(var11 - var7) > ~Math.abs(var2 - var7)) { + var9 = true; + var2 = var11; + } + } + } + + if(!var9) { + var2 = var7; + } + } + + this.aGraphicsDevice445.setDisplayMode(new DisplayMode(var6, var4, var3, var2)); + } + } + + public int[] method919(boolean var1) { + if(!var1) { + return null; + } else { + DisplayMode[] var2 = this.aGraphicsDevice445.getDisplayModes(); + int[] var3 = new int[var2.length << 2]; + + for(int var4 = 0; ~var2.length < ~var4; ++var4) { + var3[var4 << 2] = var2[var4].getWidth(); + var3[1 + (var4 << 2)] = var2[var4].getHeight(); + var3[(var4 << 2) - -2] = var2[var4].getBitDepth(); + var3[3 + (var4 << 2)] = var2[var4].getRefreshRate(); + } + + return var3; + } + } + + public void method920(int var1) { + if(this.aDisplayMode446 != null) { + this.aGraphicsDevice445.setDisplayMode(this.aDisplayMode446); + if(!this.aGraphicsDevice445.getDisplayMode().equals(this.aDisplayMode446)) { + throw new RuntimeException("Did not return to correct resolution!"); + } + + this.aDisplayMode446 = null; + } + + this.method917((Frame)null, (byte)-63); + int var2 = -121 / ((-64 - var1) / 47); + } + + public Display() throws Exception { + GraphicsEnvironment var1 = GraphicsEnvironment.getLocalGraphicsEnvironment(); + this.aGraphicsDevice445 = var1.getDefaultScreenDevice(); + if(!this.aGraphicsDevice445.isFullScreenSupported()) { + GraphicsDevice[] var2 = var1.getScreenDevices(); + GraphicsDevice[] var3 = var2; + + for(int var4 = 0; var3.length > var4; ++var4) { + GraphicsDevice var5 = var3[var4]; + if(var5 != null && var5.isFullScreenSupported()) { + this.aGraphicsDevice445 = var5; + return; + } + } + + throw new Exception(); + } + } +} diff --git a/09HDscape-client/src/org/runite/jagex/GameObject.java b/09HDscape-client/src/org/runite/jagex/GameObject.java new file mode 100644 index 000000000..590827f2c --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/GameObject.java @@ -0,0 +1,233 @@ +package org.runite.jagex; + +abstract class GameObject { + + static AbstractIndexedSprite[] aClass109Array1831; + static RSString aClass94_1832 = RSString.createRSString("::setparticles"); + static int[] anIntArray1833 = new int[14]; + static RSInterface[][] aClass11ArrayArray1834; + static int[] anIntArray1835 = new int[100]; + static RSInterface[] aClass11Array1836; + static boolean aBoolean1837 = false; + static int[] anIntArray1838; + static Class3_Sub28_Sub16_Sub2[] aClass3_Sub28_Sub16_Sub2Array1839; + + + static final void method1859(double var0, int var2) { + try { + if(Class70.aDouble1050 != var0) { + for(int var3 = 0; 256 > var3; ++var3) { + int var4 = (int)(255.0D * Math.pow((double)var3 / 255.0D, var0)); + Class3_Sub30_Sub1.anIntArray3804[var3] = ~var4 < -256?255:var4; + } + + Class70.aDouble1050 = var0; + } + + if(var2 != 32258) { + aBoolean1837 = false; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "th.KC(" + var0 + ',' + var2 + ')'); + } + } + + public static void method1860(int var0) { + try { + aClass109Array1831 = null; + aClass11Array1836 = null; + aClass11ArrayArray1834 = (RSInterface[][])null; + if(var0 != 0) { + method1860(-87); + } + + aClass3_Sub28_Sub16_Sub2Array1839 = null; + anIntArray1835 = null; + aClass94_1832 = null; + anIntArray1833 = null; + anIntArray1838 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "th.HC(" + var0 + ')'); + } + } + + GameObject method1861(int var1, int var2, int var3) { + try { + return this; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "th.JB(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method1862(boolean var0, int var1, int var2, int var3, int var4) { + try { + Class53.aLong866 = 0L; + int var5 = Class83.method1411(0); + if(~var1 == -4 || 3 == var5) { + var0 = true; + } + + if(Signlink.osName.startsWith("mac") && -1 > ~var1) { + var0 = true; + } + + if(var2 != -8914) { + method1864(false, (byte)90, (CacheIndex)null, (Class3_Sub28_Sub17_Sub1)null, (CacheIndex)null); + } + + boolean var6 = false; + if(var5 > 0 != ~var1 < -1) { + var6 = true; + } + + if(var0 && -1 > ~var1) { + var6 = true; + } + + Class3_Sub28_Sub10_Sub2.method598(var0, var1, var6, var5, false, var3, var4); + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "th.EC(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final int method1863(int var0, int var1, byte var2, int var3, int var4, int var5, int var6) { + try { + int var7; + if(~(1 & var5) == -2) { + var7 = var0; + var0 = var3; + var3 = var7; + } + + var7 = 121 % ((var2 - 75) / 50); + var1 &= 3; + return ~var1 == -1?var6:(1 != var1?(~var1 != -3?var4:-var3 + 1 + -var6 + 7):-var4 + 7 + -var0 - -1); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "th.JC(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + static final void method1864(boolean var0, byte var1, CacheIndex var2, Class3_Sub28_Sub17_Sub1 var3, CacheIndex var4) { + try { + Class139.aBoolean1827 = var0; + Class3_Sub29.aClass153_2581 = var4; + int var6 = -127 / ((var1 - -87) / 32); + Class97.aClass153_1370 = var2; + int var5 = Class97.aClass153_1370.method2121(0) - 1; + Class3_Sub13_Sub23.itemDefinitionSize = Class97.aClass153_1370.getFileAmount(var5, (byte)101) + var5 * 256; + RuntimeException_Sub1.aClass94Array2119 = new RSString[]{null, null, null, null, Class140_Sub3.aClass94_2744}; + RSByteBuffer.aClass94Array2596 = new RSString[]{null, null, Class3_Sub13_Sub33.aClass94_3397, null, null}; + Class3_Sub13_Sub37.aClass3_Sub28_Sub17_Sub1_3440 = var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "th.FC(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + boolean method1865() { + try { + return false; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "th.AB()"); + } + } + + void method1866(GameObject var1, int var2, int var3, int var4, boolean var5) {} + + abstract void method1867(int var1, int var2, int var3, int var4, int var5); + + abstract void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12); + + static final void method1869(byte var0, int var1, int var2, int var3, int var4, int var5) { + try { + int var6 = var2 - var3; + int var7 = var4 + -var5; + if(var7 == 0) { + if(-1 != ~var6) { + Class3_Sub13_Sub16.method244(2, var3, var5, var2, var1); + } + + } else if(0 != var6) { + if(0 > var6) { + var6 = -var6; + } + + if(var7 < 0) { + var7 = -var7; + } + + int var8 = -102 / ((-53 - var0) / 38); + boolean var9 = ~var7 > ~var6; + int var10; + int var11; + if(var9) { + var10 = var5; + var5 = var3; + var11 = var4; + var3 = var10; + var4 = var2; + var2 = var11; + } + + if(var4 < var5) { + var10 = var5; + var5 = var4; + var4 = var10; + var11 = var3; + var3 = var2; + var2 = var11; + } + + var10 = var3; + var11 = var4 - var5; + int var12 = var2 + -var3; + int var13 = -(var11 >> 1); + int var14 = var2 <= var3?-1:1; + if(~var12 > -1) { + var12 = -var12; + } + + int var15; + if(!var9) { + for(var15 = var5; var15 <= var4; ++var15) { + var13 += var12; + Class38.anIntArrayArray663[var10][var15] = var1; + if(var13 > 0) { + var10 += var14; + var13 -= var11; + } + } + } else { + for(var15 = var5; var4 >= var15; ++var15) { + Class38.anIntArrayArray663[var15][var10] = var1; + var13 += var12; + if(-1 > ~var13) { + var10 += var14; + var13 -= var11; + } + } + } + + } else { + Class3_Sub13_Sub32.method320(var1, var3, var4, (byte)-107, var5); + } + } catch (RuntimeException var16) { + throw Class44.method1067(var16, "th.IC(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final void method1870(boolean var0) { + try { + Class101.aClass3_Sub24_Sub4_1421.method505((byte)-128); + Class10.anInt154 = 1; + if(!var0) { + Class101.aClass153_1423 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "th.GC(" + var0 + ')'); + } + } + + abstract int method1871(); + +} diff --git a/09HDscape-client/src/org/runite/jagex/GameShell.java b/09HDscape-client/src/org/runite/jagex/GameShell.java new file mode 100644 index 000000000..0d0e4dfa8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/GameShell.java @@ -0,0 +1,667 @@ +package org.runite.jagex; + +import org.runite.Configurations; +import org.runite.GameSetting; + +import java.applet.Applet; +import java.applet.AppletContext; +import java.awt.*; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; +import java.lang.reflect.Method; +import java.net.URL; + +public abstract class GameShell extends Applet implements Runnable, FocusListener, WindowListener { + + + /** + * The game settings. + */ + public static GameSetting SETTINGS = new GameSetting("Runite", Configurations.LOCAL_MS ? "127.0.0.1" : "frostblades.org", 1, "live", false, false); + + + private boolean aBoolean1 = false; + static int anInt2; + static int anInt3 = 0; + static Frame frame; + + + private static RSString aClass94_5 = RSString.createRSString(" from your ignore list first)3"); + static boolean aBoolean6 = false; + static RSString aClass94_7 = RSString.createRSString(" s(West d-Bconnect-B)3"); + static RSString aClass94_8 = RSString.createRSString(""); + static RSString aClass94_9 = RSString.createRSString(")3)3)3"); + static RSString aClass94_10 = RSString.createRSString("::rect_debug"); + static boolean aBoolean11 = false; + public static int anInt12; + public static boolean aBoolean13; + static RSString aClass94_4 = aClass94_5; + + /** + * Represents the current canvas. + */ + private static Canvas canvas; + private static boolean desktop; + + /** + * @return the canvas + */ + public static Canvas getCanvas() { + return canvas; + } + + public static void setDesktop(boolean desktop) { + GameShell.desktop = desktop; + } + + + public final void focusLost(FocusEvent var1) { + try { + Class163_Sub2_Sub1.aBoolean4013 = false; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.focusLost(" + (var1 != null?"{...}":"null") + ')'); + } + } + + abstract void method25(byte var1); + + public final void windowClosing(WindowEvent var1) { + try { + this.destroy(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.windowClosing(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final void windowIconified(WindowEvent var1) {} + + public static void method26(int var0) { + try { + if(var0 < 15) { + method27((RSString)null, true); + } + + aClass94_7 = null; + aClass94_8 = null; + aClass94_10 = null; + aClass94_9 = null; + aClass94_5 = null; + aClass94_4 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.W(" + var0 + ')'); + } + } + + public final void windowDeactivated(WindowEvent var1) {} + + static final RSString method27(RSString var0, boolean var1) { + try { + if(!var1) { + method26(-78); + } + + int var2 = Class100.method1602(0, var0); + return var2 != -1?Class119.aClass131_1624.aClass94Array1721[var2].method1560(Class3_Sub13_Sub16.aClass94_3192, true, Class3_Sub28_Sub10_Sub2.aClass94_4066):Class3_Sub28_Sub7_Sub1.aClass94_4049; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.V(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + public final AppletContext getAppletContext() { + try { + return null != frame ?null:(Class38.aClass87_665 != null && this != Class38.aClass87_665.anApplet1219?Class38.aClass87_665.anApplet1219.getAppletContext():super.getAppletContext()); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.getAppletContext()"); + } + } + + public final void focusGained(FocusEvent var1) { + try { + Class163_Sub2_Sub1.aBoolean4013 = true; + Class3_Sub13_Sub10.aBoolean3116 = true; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.focusGained(" + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method28(boolean var0) { + try { + Class143.aClass93_1874.method1524(3); + if(!var0) { + aBoolean11 = false; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.Q(" + var0 + ')'); + } + } + + public final void windowClosed(WindowEvent var1) {} + + final boolean method29(int var1) { + /*try { + String var2 = this.getDocumentBase().getHost().toLowerCase(); + if(!var2.equals("jagex.com") && !var2.endsWith(".jagex.com")) { + if(!var2.equals("runescape.com") && !var2.endsWith(".runescape.com")) { + if(var1 != 27496) { + aClass94_10 = (Class94)null; + } + + if(var2.endsWith("127.0.0.1")) { + return true; + } else { + while(-1 > ~var2.length() && 48 <= var2.charAt(-1 + var2.length()) && 57 >= var2.charAt(-1 + var2.length())) { + var2 = var2.substring(0, -1 + var2.length()); + } + + if(!var2.endsWith("192.168.1.")) { + this.method31("invalidhost", var1 + -27544); + return false; + } else { + return true; + } + } + } else { + return true; + } + } else { + return true; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.T(" + var1 + ')'); + }*/ + return true; + } + + final synchronized void method30(byte var1) { + try { + if(Class3_Sub28_Sub12.aCanvas3648 != null) { + Class3_Sub28_Sub12.aCanvas3648.removeFocusListener(this); + Class3_Sub28_Sub12.aCanvas3648.getParent().remove(Class3_Sub28_Sub12.aCanvas3648); + } + + Object var2; + if(Class3_Sub13_Sub10.aFrame3121 != null) { + var2 = Class3_Sub13_Sub10.aFrame3121; + } else if(null != frame) { + var2 = frame; + } else { + var2 = Class38.aClass87_665.anApplet1219; + } + + ((Container)var2).setLayout((LayoutManager)null); + Class3_Sub28_Sub12.aCanvas3648 = new Canvas_Sub2(this); + if(var1 >= 30) { + ((Container)var2).add(Class3_Sub28_Sub12.aCanvas3648); + Class3_Sub28_Sub12.aCanvas3648.setSize(Class23.anInt454, Class140_Sub7.anInt2934); + Class3_Sub28_Sub12.aCanvas3648.setVisible(true); + if(var2 != frame && !desktop) { + Class3_Sub28_Sub12.aCanvas3648.setLocation(Class84.anInt1164, Class106.anInt1442); + } else { + Insets var3 = frame.getInsets(); + Class3_Sub28_Sub12.aCanvas3648.setLocation(Class84.anInt1164 + var3.left, var3.top + Class106.anInt1442); + } + + Class3_Sub28_Sub12.aCanvas3648.addFocusListener(this); + Class3_Sub28_Sub12.aCanvas3648.requestFocus(); + Class163_Sub2_Sub1.aBoolean4013 = true; + Class3_Sub13_Sub10.aBoolean3116 = true; + Class3_Sub13_Sub6.aBoolean3078 = true; + Class3_Sub28_Sub5.aBoolean3593 = false; + AnimationDefinition.aLong1847 = Class5.method830((byte)-55); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "rc.BA(" + var1 + ')'); + } + } + + public final void destroy() { + try { + if(this == Class3_Sub29.anApplet_Sub1_2588 && !Class29.aBoolean554) { + Class3_Sub9.aLong2313 = Class5.method830((byte)-55); + Class3_Sub13_Sub34.method331(5000L, 64); + Class3_Sub13_Sub10.aClass87_3125 = null; + this.method35(46, false); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.destroy()"); + } + } + + public final void update(Graphics var1) { + try { + this.paint(var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.update(" + (var1 != null?"{...}":"null") + ')'); + } + } + + final void method31(String var1, int var2) { + try { + if(!this.aBoolean1) { + this.aBoolean1 = true; + System.out.println("error_game_" + var1); + + try { + if(var2 != -48) { + aClass94_4 = (RSString)null; + } + + this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_top"); + } catch (Exception var4) { + ; + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "rc.U(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + abstract void method32(byte var1); + + abstract void method33(int var1); + + public final URL getDocumentBase() { + try { + return null != frame ?null:(Class38.aClass87_665 != null && this != Class38.aClass87_665.anApplet1219?Class38.aClass87_665.anApplet1219.getDocumentBase():super.getDocumentBase()); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.getDocumentBase()"); + } + } + + public final synchronized void paint(Graphics var1) { + try { + if(this == Class3_Sub29.anApplet_Sub1_2588 && !Class29.aBoolean554) { + Class3_Sub13_Sub10.aBoolean3116 = true; + if(Class137.aBoolean1784 && !HDToolKit.highDetail && ~(-AnimationDefinition.aLong1847 + Class5.method830((byte)-55)) < -1001L) { + Rectangle var2 = var1.getClipBounds(); + if(var2 == null || ~var2.width <= ~Class3_Sub9.anInt2334 && ~Class70.anInt1047 >= ~var2.height) { + Class3_Sub28_Sub5.aBoolean3593 = true; + } + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.paint(" + (var1 != null?"{...}":"null") + ')'); + } + } + + public final void windowDeiconified(WindowEvent var1) {} + + static final void method34(int var0) { + try { + if(null != WorldListEntry.aClass155_2627) { + WorldListEntry.aClass155_2627.method2163(false); + } + + if(var0 != -32589) { + method26(-25); + } + + if(Class3_Sub21.aClass155_2491 != null) { + Class3_Sub21.aClass155_2491.method2163(false); + } + + Class140_Sub3.method1959(256, 2, 22050, Class3_Sub13_Sub15.aBoolean3184); + WorldListEntry.aClass155_2627 = Class58.method1195(22050, Class38.aClass87_665, Class3_Sub28_Sub12.aCanvas3648, 0, 14); + WorldListEntry.aClass155_2627.method2154(114, Class86.aClass3_Sub24_Sub4_1193); + Class3_Sub21.aClass155_2491 = Class58.method1195(2048, Class38.aClass87_665, Class3_Sub28_Sub12.aCanvas3648, 1, 14); + Class3_Sub21.aClass155_2491.method2154(-126, Class3_Sub26.aClass3_Sub24_Sub2_2563); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.DA(" + var0 + ')'); + } + } + + private final void method35(int var1, boolean var2) { + try { + synchronized(this) { + if(Class29.aBoolean554) { + return; + } + + Class29.aBoolean554 = true; + } + + if(Class38.aClass87_665.anApplet1219 != null) { + Class38.aClass87_665.anApplet1219.destroy(); + } + + try { + this.method32((byte)23); + } catch (Exception var8) { + ; + } + + if(Class3_Sub28_Sub12.aCanvas3648 != null) { + try { + Class3_Sub28_Sub12.aCanvas3648.removeFocusListener(this); + Class3_Sub28_Sub12.aCanvas3648.getParent().remove(Class3_Sub28_Sub12.aCanvas3648); + } catch (Exception var7) { + ; + } + } + + if(null != Class38.aClass87_665) { + try { + Class38.aClass87_665.method1445(0); + } catch (Exception var6) { + ; + } + } + + this.method33(126); + if(var1 <= 31) { + this.launch(frame); + } + + if(null != frame) { + try { + System.exit(0); + } catch (Throwable var5) { + ; + } + } + + System.out.println("Shutdown complete - clean:" + var2); + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "rc.EA(" + var1 + ',' + var2 + ')'); + } + } + + public final void windowActivated(WindowEvent var1) {} + + private final void method36(boolean var1) { + try { + long var2 = Class5.method830((byte)-55); + long var4 = Class134.aLongArray1766[CacheIndex.anInt1953]; + Class134.aLongArray1766[CacheIndex.anInt1953] = var2; + CacheIndex.anInt1953 = 31 & CacheIndex.anInt1953 - -1; + synchronized(this) { + if(!var1) { + this.start(); + } + + Class3_Sub13_Sub6.aBoolean3078 = Class163_Sub2_Sub1.aBoolean4013; + } + + this.method25((byte)107); + if(0L != var4 && var2 <= var4) { + ; + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "rc.R(" + var1 + ')'); + } + } + + public static final void providesignlink(Signlink var0) { + try { + Class38.aClass87_665 = var0; + Class3_Sub13_Sub10.aClass87_3125 = var0; + Class3_Sub13_Sub1.method445(); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.providesignlink(" + (var0 != null?"{...}":"null") + ')'); + } + } + + private final void method37(int var1) { + try { + long var2 = Class5.method830((byte)-55); + long var4 = Class163_Sub1.aLongArray2986[Class62.anInt950]; + if(var1 != 0) { + aClass94_7 = (RSString)null; + } + + Class163_Sub1.aLongArray2986[Class62.anInt950] = var2; + Class62.anInt950 = 31 & Class62.anInt950 + 1; + if(~var4 != -1L && var2 > var4) { + int var6 = (int)(var2 + -var4); + AnimationDefinition.anInt1862 = (32000 + (var6 >> 1)) / var6; + } + + if(50 < Class3_Sub13_Sub25.anInt3313++) { + Class3_Sub13_Sub10.aBoolean3116 = true; + Class3_Sub13_Sub25.anInt3313 -= 50; + Class3_Sub28_Sub12.aCanvas3648.setSize(Class23.anInt454, Class140_Sub7.anInt2934); + Class3_Sub28_Sub12.aCanvas3648.setVisible(true); + if(frame != null && null == Class3_Sub13_Sub10.aFrame3121 && !desktop) { + Insets var8 = frame.getInsets(); + Class3_Sub28_Sub12.aCanvas3648.setLocation(var8.left + Class84.anInt1164, Class106.anInt1442 + var8.top); + } else { + Class3_Sub28_Sub12.aCanvas3648.setLocation(Class84.anInt1164, Class106.anInt1442); + } + } + + this.method38(40); + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "rc.AA(" + var1 + ')'); + } + } + + abstract void method38(int var1); + + public final URL getCodeBase() { + return frame == null?(null != Class38.aClass87_665 && this != Class38.aClass87_665.anApplet1219?Class38.aClass87_665.anApplet1219.getCodeBase():super.getCodeBase()):null; + } + + + public static void launchDesktop() + { + //GameShell.setDesktop(true); + ClientLoader.create().launch(); + SETTINGS.setWorld(1); + } + + + public final void run() { + try { + try { + if(null != Signlink.javaVendor) { + String var1 = Signlink.javaVendor.toLowerCase(); + if(var1.indexOf("sun") == -1 && -1 == var1.indexOf("apple")) { + if(0 != ~var1.indexOf("ibm") && (Signlink.javaVendor == null || Signlink.javaVendor.equals("1.4.2"))) { + this.method31("wrongjava", -48); + return; + } + } else { + String var2 = Signlink.javaVendor; + if(var2.equals("1.1") || var2.startsWith("1.1.") || var2.equals("1.2") || var2.startsWith("1.2.")) { + this.method31("wrongjava", -48); + return; + } + + Class132.anInt1737 = 5; + } + } + + int var7; + if(null != Signlink.javaVendor && Signlink.javaVendor.startsWith("1.")) { + var7 = 2; + + int var9; + for(var9 = 0; ~var7 > ~Signlink.javaVendor.length(); ++var7) { + char var3 = Signlink.javaVendor.charAt(var7); + if(~var3 > -49 || 57 < var3) { + break; + } + + var9 = var9 * 10 - (-var3 - -48); + } + + if(~var9 <= -6) { + Class137.aBoolean1784 = true; + } + } + + if(null != Class38.aClass87_665.anApplet1219) { + Method var8 = Signlink.aMethod1220; + if(null != var8) { + try { + var8.invoke(Class38.aClass87_665.anApplet1219, new Object[]{Boolean.TRUE}); + } catch (Throwable var4) { + ; + } + } + } + + Class3_Sub28_Sub18.method713(0); + this.method30((byte)120); + Class164_Sub1.aClass158_3009 = Class3_Sub13_Sub23_Sub1.method285(Class140_Sub7.anInt2934, Class23.anInt454, true, Class3_Sub28_Sub12.aCanvas3648); + this.method39(2); + Class3_Sub25.aClass129_2552 = Class36.method1012((byte)-31); + + while(-1L == ~Class3_Sub9.aLong2313 || Class3_Sub9.aLong2313 > Class5.method830((byte)-55)) { + Class133.anInt1754 = Class3_Sub25.aClass129_2552.method1767(-1, Class132.anInt1737, WorldListEntry.anInt2626); + + for(var7 = 0; var7 < Class133.anInt1754; ++var7) { + this.method36(true); + } + + this.method37(0); + Class81.method1400(Class38.aClass87_665, Class3_Sub28_Sub12.aCanvas3648, -80); + } + } catch (Exception var5) { + Class49.method1125((String)null, var5, (byte)127); + this.method31("crash", -48); + } + + this.method35(107, true); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "rc.run()"); + } + } + + + public final String getParameter(String var1) { + try { + return frame == null?(Class38.aClass87_665 != null && this != Class38.aClass87_665.anApplet1219?Class38.aClass87_665.anApplet1219.getParameter(var1):super.getParameter(var1)):null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rc.getParameter(" + (var1 != null?"{...}":"null") + ')'); + } + } + + abstract void method39(int var1); + + public final void stop() { + try { + if(Class3_Sub29.anApplet_Sub1_2588 == this && !Class29.aBoolean554) { + Class3_Sub9.aLong2313 = 4000L + Class5.method830((byte)-55); + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.stop()"); + } + } + + public abstract void init(); + + final void launch(Frame frame) { + try { + if(-8057 != -8057) { + this.method38(12); + } + + try { + Class140_Sub7.anInt2934 = 768; + Class70.anInt1047 = 768; + Class84.anInt1164 = 0; + Class3_Sub13_Sub23_Sub1.anInt4033 = 530; + Class23.anInt454 = 1024; + Class3_Sub9.anInt2334 = 1024; + Class106.anInt1442 = 0; + Class3_Sub29.anApplet_Sub1_2588 = this; + frame = new Frame(); + frame.setTitle("Jagex"); + frame.setResizable(true); + frame.addWindowListener(this); + frame.setVisible(true); + frame.toFront(); + Insets var9 = frame.getInsets(); + frame.setSize(var9.left + Class3_Sub9.anInt2334 + var9.right, var9.top + Class70.anInt1047 + var9.bottom); + Class3_Sub13_Sub10.aClass87_3125 = Class38.aClass87_665 = new Signlink((Applet)null, 32 - -Class3_Sub13_Sub13.anInt3148, "runescape", 28); + Class64 var10 = Class38.aClass87_665.method1451(0, 1, this); + + while(0 == var10.anInt978) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + Class17.aThread409 = (Thread)var10.anObject974; + ClientLoader.create().launch(); + } catch (Exception var11) { + Class49.method1125((String)null, var11, (byte)115); + } + + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "rc.S(" + + ',' + + ',' + false + ',' + 1024 + ',' + ("runescape" != null?"{...}":"null") + ',' + 768 + ',' + -8057 + ',' + 28 + ')'); + } + } + + public final void windowOpened(WindowEvent var1) {} + + public final void start() { + try { + if(Class3_Sub29.anApplet_Sub1_2588 == this && !Class29.aBoolean554) { + Class3_Sub9.aLong2313 = 0L; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rc.start()"); + } + } + + final void method41(byte var1, int var2, int var3, int var4, int var5) { + try { + try { + if(Class3_Sub29.anApplet_Sub1_2588 != null) { + ++Class36.anInt639; + if(~Class36.anInt639 <= -4) { + this.method31("alreadyloaded", -48); + return; + } + + this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); + return; + } + + Class3_Sub29.anApplet_Sub1_2588 = this; + Class106.anInt1442 = 0; + Class3_Sub13_Sub23_Sub1.anInt4033 = var4; + if(var1 >= -23) { + aClass94_5 = (RSString)null; + } + + Class23.anInt454 = var2; + Class3_Sub9.anInt2334 = var2; + Class84.anInt1164 = 0; + Class140_Sub7.anInt2934 = var5; + Class70.anInt1047 = var5; + String var6 = this.getParameter("openwinjs"); + if(var6 != null && var6.equals("1")) { + Class3_Sub28_Sub6.aBoolean3594 = true; + } else { + Class3_Sub28_Sub6.aBoolean3594 = false; + } + + if(null == Class38.aClass87_665) { + Class3_Sub13_Sub10.aClass87_3125 = Class38.aClass87_665 = new Signlink(this, var3, (String)null, 0); + } + + Class64 var7 = Class38.aClass87_665.method1451(0, 1, this); + + while(~var7.anInt978 == -1) { + Class3_Sub13_Sub34.method331(10L, 64); + } + + Class17.aThread409 = (Thread)var7.anObject974; + } catch (Exception var8) { + Class49.method1125((String)null, var8, (byte)113); + this.method31("crash", -48); + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "rc.CA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/GraphicDefinition.java b/09HDscape-client/src/org/runite/jagex/GraphicDefinition.java new file mode 100644 index 000000000..99adad372 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/GraphicDefinition.java @@ -0,0 +1,201 @@ +package org.runite.jagex; + +final class GraphicDefinition { + + private static RSString aClass94_553 = RSString.createRSString("slide:"); + static int anInt529; + private int anInt530 = 128; + static int CAMERA_DIRECTION = 0; + static Class3_Sub30_Sub1 incomingBuffer = new Class3_Sub30_Sub1(5000); + private short[] aShortArray533; + private short[] aShortArray534; + private short[] aShortArray535; + boolean aBoolean536 = false; + private int anInt537 = 0; + private int anInt538 = 0; + int graphicId; + private int anInt540 = 128; + private int anInt541; + int anInt542 = -1; + private int anInt543 = 0; + static int anInt544; + private short[] aShortArray545; + static int anInt546; + static RSString aClass94_547 = aClass94_553; + static int anInt548 = 0; + static volatile int anInt549 = 0; + static RSString aClass94_550 = RSString.createRSString("Jeter"); + static RSString aClass94_551 = aClass94_553; + static RSString aClass94_552 = RSString.createRSString("Sprites geladen)3"); + + + + final void parse(RSByteBuffer var1, byte var2) { + try { + if(var2 != -113) { + method967(88, -118, 75, -51, -96, -50, 45, 127); + } + + while(true) { + int var3 = var1.getByte((byte)-68); + if(var3 == 0) { + return; + } + + this.method965(var1, var3, 128); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "eg.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public static void method964(int var0) { + try { + aClass94_553 = null; + incomingBuffer = null; + if(var0 != 6) { + method964(-57); + } + + aClass94_550 = null; + aClass94_547 = null; + aClass94_551 = null; + aClass94_552 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "eg.E(" + var0 + ')'); + } + } + + private final void method965(RSByteBuffer var1, int var2, int var3) { + try { + if(var2 == 1) { + this.anInt541 = var1.getShort(var3 + -127); + } else if(2 == var2) { + this.anInt542 = var1.getShort(1); + } else if(var2 != 4) { + if(~var2 != -6) { + if(6 == var2) { + this.anInt543 = var1.getShort(var3 + -127); + } else if(var2 == 7) { + this.anInt538 = var1.getByte((byte)-47); + } else if(~var2 != -9) { + if(~var2 != -10) { + int var4; + int var5; + if(40 != var2) { + if(41 == var2) { + var4 = var1.getByte((byte)-32); + this.aShortArray534 = new short[var4]; + this.aShortArray535 = new short[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.aShortArray534[var5] = (short)var1.getShort(1); + this.aShortArray535[var5] = (short)var1.getShort(var3 + -127); + } + } + } else { + var4 = var1.getByte((byte)-47); + this.aShortArray533 = new short[var4]; + this.aShortArray545 = new short[var4]; + + for(var5 = 0; ~var5 > ~var4; ++var5) { + this.aShortArray533[var5] = (short)var1.getShort(1); + this.aShortArray545[var5] = (short)var1.getShort(var3 + -127); + } + } + } else { + this.aBoolean536 = true; + } + } else { + this.anInt537 = var1.getByte((byte)-55); + } + } else { + this.anInt540 = var1.getShort(1); + } + } else { + this.anInt530 = var1.getShort(1); + } + + if(var3 != 128) { + this.aShortArray545 = (short[])null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "eg.D(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final Model method966(int var1, byte var2, int var3, int var4) { + try { + Model var5 = (Model)Class27.aClass93_511.get((long)this.graphicId, (byte)121); + if(var2 != -30) { + return (Model)null; + } else { + if(var5 == null) { + Model_Sub1 var6 = Model_Sub1.method2015(Class3_Sub28_Sub7_Sub1.aClass153_4048, this.anInt541, 0); + if(null == var6) { + return null; + } + + int var7; + if(null != this.aShortArray533) { + for(var7 = 0; this.aShortArray533.length > var7; ++var7) { + var6.method2016(this.aShortArray533[var7], this.aShortArray545[var7]); + } + } + + if(this.aShortArray534 != null) { + for(var7 = 0; var7 < this.aShortArray534.length; ++var7) { + var6.method1998(this.aShortArray534[var7], this.aShortArray535[var7]); + } + } + + var5 = var6.method2008(64 - -this.anInt538, this.anInt537 + 850, -30, -50, -30); + Class27.aClass93_511.put((byte)-96, var5, (long)this.graphicId); + } + + Model var9; + if(0 != ~this.anInt542 && var3 != -1) { + var9 = Client.getAnimationDefinition(this.anInt542, (byte)-20).method2059(var1, var4, var3, (byte)-52, var5); + } else { + var9 = var5.method1882(true, true, true); + } + + if(128 != this.anInt530 || 128 != this.anInt540) { + var9.resize(this.anInt530, this.anInt540, this.anInt530); + } + + if(this.anInt543 != 0) { + if(-91 == ~this.anInt543) { + var9.method1885(); + } + + if(180 == this.anInt543) { + var9.method1874(); + } + + if(270 == this.anInt543) { + var9.method1900(); + } + } + + return var9; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "eg.C(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + static final void method967(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + try { + if(Canvas_Sub2.loadInterface(var5, 104)) { + if(var2 == 2) { + Client.handleItemSwitch(GameObject.aClass11ArrayArray1834[var5], -1, var6, var1, var4, var7, var0, var3); + } + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "eg.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/HDIndexedSprite.java b/09HDscape-client/src/org/runite/jagex/HDIndexedSprite.java new file mode 100644 index 000000000..c738b0d39 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/HDIndexedSprite.java @@ -0,0 +1,145 @@ +package org.runite.jagex; +import java.nio.ByteBuffer; +import javax.media.opengl.GL; + +final class HDIndexedSprite extends AbstractIndexedSprite { + + private int anInt2675 = -1; + private int anInt2676 = -1; + private int anInt2677 = 0; + private int anInt2678 = 0; + private int anInt2679; + private int anInt2680; + private int anInt2681; + + + private final void method1678(byte[] var1, int[] var2) { + this.anInt2681 = Class95.method1585((byte)62, this.anInt1461); + this.anInt2680 = Class95.method1585((byte)99, this.anInt1468); + byte[] var3 = new byte[this.anInt2681 * this.anInt2680 * 4]; + int var4 = 0; + int var5 = 0; + + for(int var6 = 0; var6 < this.anInt1468; ++var6) { + for(int var7 = 0; var7 < this.anInt1461; ++var7) { + // Hd Fix + if (var1[var5] < 0) { + return; + } + byte var8 = var1[var5++]; + if(var8 != 0) { + int var9 = var2[var8]; + var3[var4++] = (byte)(var9 >> 16); + var3[var4++] = (byte)(var9 >> 8); + var3[var4++] = (byte)var9; + var3[var4++] = -1; + } else { + var4 += 4; + } + } + var4 += (this.anInt2681 - this.anInt1461) * 4; + } + ByteBuffer byteBuffer = ByteBuffer.wrap(var3); + GL gl = HDToolKit.gl; + if(this.anInt2675 == -1) { + int[] var12 = new int[1]; + gl.glGenTextures(1, var12, 0); + this.anInt2675 = var12[0]; + this.anInt2679 = Class31.anInt582; + } + + HDToolKit.bindTexture2D(this.anInt2675); + gl.glTexImage2D(3553, 0, 6408, this.anInt2681, this.anInt2680, 0, 6408, 5121, byteBuffer); + Class31.memory2D += byteBuffer.limit() - this.anInt2678; + this.anInt2678 = byteBuffer.limit(); + } + + final void method1666(int var1, int var2, int var3) { + HDToolKit.method1828(); + var1 += this.anInt1470; + var2 += this.anInt1464; + GL var4 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt2675); + this.method1679(1); + var4.glColor4f(1.0F, 1.0F, 1.0F, (float)var3 / 256.0F); + var4.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + var4.glCallList(this.anInt2676); + var4.glLoadIdentity(); + } + + private final void method1679(int var1) { + if(this.anInt2677 != var1) { + this.anInt2677 = var1; + GL var2 = HDToolKit.gl; + if(var1 == 2) { + var2.glTexParameteri(3553, 10241, 9729); + var2.glTexParameteri(3553, 10240, 9729); + } else { + var2.glTexParameteri(3553, 10241, 9728); + var2.glTexParameteri(3553, 10240, 9728); + } + + } + } + + final void method1667(int var1, int var2) { + HDToolKit.method1822(); + var1 += this.anInt1470; + var2 += this.anInt1464; + GL var3 = HDToolKit.gl; + HDToolKit.bindTexture2D(this.anInt2675); + this.method1679(1); + var3.glTranslatef((float)var1, (float)(HDToolKit.anInt1811 - var2), 0.0F); + var3.glCallList(this.anInt2676); + var3.glLoadIdentity(); + } + + protected final void finalize() throws Throwable { + if(this.anInt2675 != -1) { + Class31.method991(this.anInt2675, this.anInt2678, this.anInt2679); + this.anInt2675 = -1; + this.anInt2678 = 0; + } + + if(this.anInt2676 != -1) { + Class31.method986(this.anInt2676, this.anInt2679); + this.anInt2676 = -1; + } + + super.finalize(); + } + + private final void method1680() { + float var1 = (float)this.anInt1461 / (float)this.anInt2681; + float var2 = (float)this.anInt1468 / (float)this.anInt2680; + GL var3 = HDToolKit.gl; + if(this.anInt2676 == -1) { + this.anInt2676 = var3.glGenLists(1); + this.anInt2679 = Class31.anInt582; + } + + var3.glNewList(this.anInt2676, 4864); + var3.glBegin(6); + var3.glTexCoord2f(var1, 0.0F); + var3.glVertex2f((float)this.anInt1461, 0.0F); + var3.glTexCoord2f(0.0F, 0.0F); + var3.glVertex2f(0.0F, 0.0F); + var3.glTexCoord2f(0.0F, var2); + var3.glVertex2f(0.0F, (float)(-this.anInt1468)); + var3.glTexCoord2f(var1, var2); + var3.glVertex2f((float)this.anInt1461, (float)(-this.anInt1468)); + var3.glEnd(); + var3.glEndList(); + } + + HDIndexedSprite(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int[] var8) { + this.anInt1469 = var1; + this.anInt1467 = var2; + this.anInt1470 = var3; + this.anInt1464 = var4; + this.anInt1461 = var5; + this.anInt1468 = var6; + this.method1678(var7, var8); + this.method1680(); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/HDToolkit.java b/09HDscape-client/src/org/runite/jagex/HDToolkit.java new file mode 100644 index 000000000..f98724fe3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/HDToolkit.java @@ -0,0 +1,727 @@ +package org.runite.jagex; +import java.awt.Canvas; +import java.io.UnsupportedEncodingException; +import java.nio.ByteOrder; +import java.nio.IntBuffer; +import javax.media.opengl.GL; +import javax.media.opengl.GLCapabilities; +import javax.media.opengl.GLCapabilitiesChooser; +import javax.media.opengl.GLContext; +import javax.media.opengl.GLDrawable; +import javax.media.opengl.GLDrawableFactory; +import javax.media.opengl.glu.GLU; + +final class HDToolKit { + + private static String aString1785; + private static String aString1786; + private static float aFloat1787; + private static boolean aBoolean1788 = false; + static int anInt1789; + static boolean aBoolean1790; + static int anInt1791 = 0; + private static int anInt1792 = 0; + private static int anInt1793 = 0; + private static float aFloat1794 = 0.0F; + private static float aFloat1795; + private static boolean aBoolean1796 = true; + private static float aFloat1797 = 0.0F; + static boolean aBoolean1798 = true; + private static boolean aBoolean1799 = false; + private static GLContext aGLContext1800; + private static float aFloat1801 = 0.09765625F; + static boolean aBoolean1802; + private static int anInt1803 = -1; + static GL gl; + private static boolean aBoolean1805 = true; + private static int anInt1806; + static boolean highDetail = false; + private static float[] aFloatArray1808 = new float[16]; + static boolean aBoolean1809; + static int anInt1810; + static int anInt1811; + private static int anInt1812; + static boolean aBoolean1813; + private static int anInt1814; + private static GLDrawable aGLDrawable1815; + private static boolean aBoolean1816 = true; + static boolean aBoolean1817; + static boolean aBoolean1818; + private static RSString aClass94_1819 = RSString.createRSString("radeon"); + static int anInt1820; + static boolean aBoolean1821; + + + private static final RSString method1820(String var0) { + byte[] var1; + try { + var1 = var0.getBytes("ISO-8859-1"); + } catch (UnsupportedEncodingException var3) { + var1 = var0.getBytes(); + } + + return Class3_Sub13_Sub3.method178(var1, -4114, var1.length, 0); + } + + static final void method1821(int var0, int var1, int var2, int var3) { + method1844(0, 0, anInt1820, anInt1811, var0, var1, 0.0F, 0.0F, var2, var3); + } + + static final void method1822() { + Class3_Sub28_Sub4.method551(0, 0, 0); + method1836(); + method1856(1); + method1847(1); + method1837(false); + method1831(false); + method1827(false); + method1823(); + } + + static final void method1823() { + if(aBoolean1788) { + gl.glMatrixMode(5890); + gl.glLoadIdentity(); + gl.glMatrixMode(5888); + aBoolean1788 = false; + } + + } + + static final void method1824() { + Class3_Sub28_Sub4.method551(0, 0, 0); + method1836(); + method1856(0); + method1847(0); + method1837(false); + method1831(false); + method1827(false); + method1823(); + } + + static final void method1825(float var0, float var1) { + if(!aBoolean1799) { + if(var0 != aFloat1797 || var1 != aFloat1794) { + aFloat1797 = var0; + aFloat1794 = var1; + if(var1 != 0.0F) { + float var2 = var0 / (var1 + var0); + float var3 = var2 * var2; + float var4 = -aFloat1795 * (1.0F - var2) * (1.0F - var2) / var1; + aFloatArray1808[10] = aFloat1787 + var4; + aFloatArray1808[14] = aFloat1795 * var3; + } else { + aFloatArray1808[10] = aFloat1787; + aFloatArray1808[14] = aFloat1795; + } + + gl.glMatrixMode(5889); + gl.glLoadMatrixf(aFloatArray1808, 0); + gl.glMatrixMode(5888); + } + } + } + + static final void method1826() { + try { + aGLDrawable1815.swapBuffers(); + } catch (Exception var1) { + ; + } + + } + + static final void method1827(boolean var0) { + if(var0 != aBoolean1816) { + if(var0) { + gl.glEnable(2912); + } else { + gl.glDisable(2912); + } + + aBoolean1816 = var0; + } + } + + static final void method1828() { + Class3_Sub28_Sub4.method551(0, 0, 0); + method1836(); + method1856(0); + method1847(0); + method1837(false); + method1831(false); + method1827(false); + method1823(); + } + + private static final void method1829() { + aBoolean1799 = false; + gl.glDisable(3553); + anInt1803 = -1; + gl.glTexEnvi(8960, 8704, '\u8570'); + gl.glTexEnvi(8960, '\u8571', 8448); + anInt1793 = 0; + gl.glTexEnvi(8960, '\u8572', 8448); + anInt1792 = 0; + gl.glEnable(2896); + gl.glEnable(2912); + gl.glEnable(2929); + aBoolean1796 = true; + aBoolean1805 = true; + aBoolean1816 = true; + Class44.method1073(97); + gl.glActiveTexture('\u84c1'); + gl.glTexEnvi(8960, 8704, '\u8570'); + gl.glTexEnvi(8960, '\u8571', 8448); + gl.glTexEnvi(8960, '\u8572', 8448); + gl.glActiveTexture('\u84c0'); + gl.setSwapInterval(0); + gl.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); + gl.glShadeModel(7425); + gl.glClearDepth(1.0D); + gl.glDepthFunc(515); + method1830(); + gl.glMatrixMode(5890); + gl.glLoadIdentity(); + gl.glPolygonMode(1028, 6914); + gl.glEnable(2884); + gl.glCullFace(1029); + gl.glEnable(3042); + gl.glBlendFunc(770, 771); + gl.glEnable(3008); + gl.glAlphaFunc(516, 0.0F); + gl.glEnableClientState('\u8074'); + gl.glEnableClientState('\u8075'); + aBoolean1798 = true; + gl.glEnableClientState('\u8076'); + gl.glEnableClientState('\u8078'); + gl.glMatrixMode(5888); + gl.glLoadIdentity(); + Class92.method1511(); + Class68.method1275(); + } + + static final void method1830() { + gl.glDepthMask(true); + } + + static final void method1831(boolean var0) { + if(var0 != aBoolean1805) { + if(var0) { + gl.glEnable(2929); + } else { + gl.glDisable(2929); + } + + aBoolean1805 = var0; + } + } + + static final void method1832(float var0) { + method1825(3000.0F, var0 * 1.5F); + } + + static final void method1833() { + int[] var0 = new int[2]; + gl.glGetIntegerv(3073, var0, 0); + gl.glGetIntegerv(3074, var0, 1); + gl.glDrawBuffer(1026); + gl.glReadBuffer(1024); + bindTexture2D(-1); + gl.glPushAttrib(8192); + gl.glDisable(2912); + gl.glDisable(3042); + gl.glDisable(2929); + gl.glDisable(3008); + gl.glRasterPos2i(0, 0); + gl.glCopyPixels(0, 0, anInt1820, anInt1811, 6144); + gl.glPopAttrib(); + gl.glDrawBuffer(var0[0]); + gl.glReadBuffer(var0[1]); + } + + static final void method1834(Canvas var0) { + try { + if(!var0.isDisplayable()) { + return; + } + + GLDrawableFactory var1 = GLDrawableFactory.getFactory(); + GLDrawable var2 = var1.getGLDrawable(var0, (GLCapabilities)null, (GLCapabilitiesChooser)null); + var2.setRealized(true); + GLContext var3 = var2.createContext((GLContext)null); + var3.makeCurrent(); + var3.release(); + var3.destroy(); + var2.setRealized(false); + } catch (Throwable var4) { + ; + } + + } + + static final void method1835() { + Class3_Sub28_Sub4.method551(0, 0, 0); + method1836(); + bindTexture2D(-1); + method1837(false); + method1831(false); + method1827(false); + method1823(); + } + + private static final void method1836() { + if(!aBoolean1799) { + gl.glMatrixMode(5889); + gl.glLoadIdentity(); + gl.glOrtho(0.0D, (double)anInt1820, 0.0D, (double)anInt1811, -1.0D, 1.0D); + gl.glViewport(0, 0, anInt1820, anInt1811); + gl.glMatrixMode(5888); + gl.glLoadIdentity(); + aBoolean1799 = true; + } + } + + static final void method1837(boolean var0) { + if(var0 != aBoolean1796) { + if(var0) { + gl.glEnable(2896); + } else { + gl.glDisable(2896); + } + + aBoolean1796 = var0; + } + } + + public static void method1838() { + aClass94_1819 = null; + aString1786 = null; + aString1785 = null; + gl = null; + aGLDrawable1815 = null; + aGLContext1800 = null; + aFloatArray1808 = null; + } + + static final float method1839() { + return aFloat1794; + } + + private static final int method1840() { + int var0 = 0; + aString1785 = gl.glGetString(7936); + aString1786 = gl.glGetString(7937); + String var1 = aString1785.toLowerCase(); + if(var1.indexOf("microsoft") != -1) { + var0 |= 1; + } + + if(var1.indexOf("brian paul") != -1 || var1.indexOf("mesa") != -1) { + var0 |= 1; + } + + String var2 = gl.glGetString(7938); + String[] var3 = var2.split("[. ]"); + if(var3.length >= 2) { + try { + int var4 = Integer.parseInt(var3[0]); + int var5 = Integer.parseInt(var3[1]); + anInt1812 = var4 * 10 + var5; + } catch (NumberFormatException var11) { + var0 |= 4; + } + } else { + var0 |= 4; + } + + if(anInt1812 < 12) { + var0 |= 2; + } + + if(!gl.isExtensionAvailable("GL_ARB_multitexture")) { + var0 |= 8; + } + + if(!gl.isExtensionAvailable("GL_ARB_texture_env_combine")) { + var0 |= 32; + } + + int[] var12 = new int[1]; + gl.glGetIntegerv('\u84e2', var12, 0); + anInt1789 = var12[0]; + gl.glGetIntegerv('\u8871', var12, 0); + anInt1814 = var12[0]; + gl.glGetIntegerv('\u8872', var12, 0); + anInt1806 = var12[0]; + if(anInt1789 < 2 || anInt1814 < 2 || anInt1806 < 2) { + var0 |= 16; + } + + if(var0 != 0) { + return var0; + } else { + aBoolean1790 = ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN; + aBoolean1813 = gl.isExtensionAvailable("GL_ARB_vertex_buffer_object"); + aBoolean1809 = gl.isExtensionAvailable("GL_ARB_multisample"); + aBoolean1821 = gl.isExtensionAvailable("GL_ARB_texture_cube_map"); + aBoolean1818 = gl.isExtensionAvailable("GL_ARB_vertex_program"); + aBoolean1802 = gl.isExtensionAvailable("GL_EXT_texture3D"); + RSString var13 = method1820(aString1786).method1534(-98); + if(var13.method1551(aClass94_1819, 57) != -1) { + int var6 = 0; + RSString[] var7 = var13.method1565(32, 40, 47).method1567(32, (byte)-98); + + for(int var8 = 0; var8 < var7.length; ++var8) { + RSString var9 = var7[var8]; + if(var9.length(-125) >= 4 && var9.method1557(4, 0, 0).method1543(106)) { + var6 = var9.method1557(4, 0, 0).method1552((byte)-113); + break; + } + } + + if(var6 >= 7000 && var6 <= 7999) { + aBoolean1813 = false; + } + + if(var6 >= 7000 && var6 <= 9250) { + aBoolean1802 = false; + } + + aBoolean1817 = aBoolean1813; + } + + if(aBoolean1813) { + try { + int[] var14 = new int[1]; + gl.glGenBuffersARB(1, var14, 0); + } catch (Throwable var10) { + return -4; + } + } + + return 0; + } + } + + static final void method1841() { + gl.glClear(256); + } + + static final void method1842() { + if(gl != null) { + try { + Class101.method1609(90); + } catch (Throwable var4) { + ; + } + + gl = null; + } + + if(aGLContext1800 != null) { + Class31.method988(); + + try { + if(GLContext.getCurrent() == aGLContext1800) { + aGLContext1800.release(); + } + } catch (Throwable var3) { + ; + } + + try { + aGLContext1800.destroy(); + } catch (Throwable var2) { + ; + } + + aGLContext1800 = null; + } + + if(aGLDrawable1815 != null) { + try { + aGLDrawable1815.setRealized(false); + } catch (Throwable var1) { + ; + } + + aGLDrawable1815 = null; + } + + Class68.method1273(); + highDetail = false; + } + + static final void method1843(float var0, float var1, float var2) { + gl.glMatrixMode(5890); + if(aBoolean1788) { + gl.glLoadIdentity(); + } + + gl.glTranslatef(var0, var1, var2); + gl.glMatrixMode(5888); + aBoolean1788 = true; + } + + static final void method1844(int var0, int var1, int var2, int var3, int var4, int var5, float var6, float var7, int var8, int var9) { + int var10 = (var0 - var4 << 8) / var8; + int var11 = (var0 + var2 - var4 << 8) / var8; + int var12 = (var1 - var5 << 8) / var9; + int var13 = (var1 + var3 - var5 << 8) / var9; + gl.glMatrixMode(5889); + gl.glLoadIdentity(); + method1848((float)var10 * aFloat1801, (float)var11 * aFloat1801, (float)(-var13) * aFloat1801, (float)(-var12) * aFloat1801, 50.0F, 3584.0F); + gl.glViewport(var0, anInt1811 - var1 - var3, var2, var3); + gl.glMatrixMode(5888); + gl.glLoadIdentity(); + gl.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + if(var6 != 0.0F) { + gl.glRotatef(var6, 1.0F, 0.0F, 0.0F); + } + + if(var7 != 0.0F) { + gl.glRotatef(var7, 0.0F, 1.0F, 0.0F); + } + + aBoolean1799 = false; + Class139.anInt1824 = var10; + Class145.anInt1898 = var11; + Class1.anInt55 = var12; + Class86.anInt1195 = var13; + } + + private static final void method1845(boolean var0) { + if(var0 != aBoolean1798) { + if(var0) { + gl.glEnableClientState('\u8075'); + } else { + gl.glDisableClientState('\u8075'); + } + + aBoolean1798 = var0; + } + } + + static final void method1846() { + if(Class106.aBoolean1441) { + method1837(true); + method1845(true); + } else { + method1837(false); + method1845(false); + } + + } + + static final void method1847(int var0) { + if(var0 != anInt1792) { + if(var0 == 0) { + gl.glTexEnvi(8960, '\u8572', 8448); + } + + if(var0 == 1) { + gl.glTexEnvi(8960, '\u8572', 7681); + } + + if(var0 == 2) { + gl.glTexEnvi(8960, '\u8572', 260); + } + + anInt1792 = var0; + } + } + + private static final void method1848(float var0, float var1, float var2, float var3, float var4, float var5) { + float var6 = var4 * 2.0F; + aFloatArray1808[0] = var6 / (var1 - var0); + aFloatArray1808[1] = 0.0F; + aFloatArray1808[2] = 0.0F; + aFloatArray1808[3] = 0.0F; + aFloatArray1808[4] = 0.0F; + aFloatArray1808[5] = var6 / (var3 - var2); + aFloatArray1808[6] = 0.0F; + aFloatArray1808[7] = 0.0F; + aFloatArray1808[8] = (var1 + var0) / (var1 - var0); + aFloatArray1808[9] = (var3 + var2) / (var3 - var2); + aFloatArray1808[10] = aFloat1787 = -(var5 + var4) / (var5 - var4); + aFloatArray1808[11] = -1.0F; + aFloatArray1808[12] = 0.0F; + aFloatArray1808[13] = 0.0F; + aFloatArray1808[14] = aFloat1795 = -(var6 * var5) / (var5 - var4); + aFloatArray1808[15] = 0.0F; + gl.glLoadMatrixf(aFloatArray1808, 0); + aFloat1797 = 0.0F; + aFloat1794 = 0.0F; + } + + static final void method1849(int var0) { + gl.glClearColor((float)(var0 >> 16 & 255) / 255.0F, (float)(var0 >> 8 & 255) / 255.0F, (float)(var0 & 255) / 255.0F, 0.0F); + gl.glClear(16640); + gl.glClearColor(0.0F, 0.0F, 0.0F, 0.0F); + } + + static final void bindTexture2D(int var0) { + if(var0 != anInt1803) { + if(var0 != -1) { + if(anInt1803 == -1) { + gl.glEnable(3553); + } + + gl.glBindTexture(3553, var0); + } else { + gl.glDisable(3553); + } + + anInt1803 = var0; + } + } + + static final void method1851() { + gl.glDepthMask(false); + } + + static final float method1852() { + return aFloat1797; + } + + static final int method1853(Canvas var0, int var1) { + try { + if(!var0.isDisplayable()) { + return -1; + } else { + GLCapabilities var2 = new GLCapabilities(); + if(var1 > 0) { + var2.setSampleBuffers(true); + var2.setNumSamples(var1); + } + + GLDrawableFactory var3 = GLDrawableFactory.getFactory(); + aGLDrawable1815 = var3.getGLDrawable(var0, var2, (GLCapabilitiesChooser)null); + aGLDrawable1815.setRealized(true); + int var4 = 0; + + int var5; + while(true) { + aGLContext1800 = aGLDrawable1815.createContext((GLContext)null); + + try { + var5 = aGLContext1800.makeCurrent(); + if(var5 != 0) { + break; + } + } catch (Exception var8) { + ; + } + + if(var4++ > 5) { + return -2; + } + + Class3_Sub13_Sub34.method331(1000L, 64); + } + + gl = aGLContext1800.getGL(); + new GLU(); + highDetail = true; + anInt1820 = var0.getSize().width; + anInt1811 = var0.getSize().height; + var5 = method1840(); + if(var5 != 0) { + method1842(); + return var5; + } else { + method1857(); + method1829(); + gl.glClear(16384); + var4 = 0; + + while(true) { + try { + aGLDrawable1815.swapBuffers(); + break; + } catch (Exception var7) { + if(var4++ > 5) { + method1842(); + return -3; + } + + Class3_Sub13_Sub34.method331(100L, 64); + } + } + + gl.glClear(16384); + return 0; + } + } + } catch (Throwable var9) { + method1842(); + return -5; + } + } + + static final void method1854(int var0, int var1) { + anInt1820 = var0; + anInt1811 = var1; + aBoolean1799 = false; + } + + static final void method1855(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = -var0; + int var7 = anInt1820 - var0; + int var8 = -var1; + int var9 = anInt1811 - var1; + gl.glMatrixMode(5889); + gl.glLoadIdentity(); + float var10 = (float)var2 / 512.0F; + float var11 = var10 * (256.0F / (float)var4); + float var12 = var10 * (256.0F / (float)var5); + gl.glOrtho((double)((float)var6 * var11), (double)((float)var7 * var11), (double)((float)(-var9) * var12), (double)((float)(-var8) * var12), (double)(50 - var3), (double)(3584 - var3)); + gl.glViewport(0, 0, anInt1820, anInt1811); + gl.glMatrixMode(5888); + gl.glLoadIdentity(); + gl.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + aBoolean1799 = false; + } + + static final void method1856(int var0) { + if(var0 != anInt1793) { + if(var0 == 0) { + gl.glTexEnvi(8960, '\u8571', 8448); + } + + if(var0 == 1) { + gl.glTexEnvi(8960, '\u8571', 7681); + } + + if(var0 == 2) { + gl.glTexEnvi(8960, '\u8571', 260); + } + + if(var0 == 3) { + gl.glTexEnvi(8960, '\u8571', '\u84e7'); + } + + if(var0 == 4) { + gl.glTexEnvi(8960, '\u8571', '\u8574'); + } + + if(var0 == 5) { + gl.glTexEnvi(8960, '\u8571', '\u8575'); + } + + anInt1793 = var0; + } + } + + private static final void method1857() { + int[] var0 = new int[1]; + gl.glGenTextures(1, var0, 0); + anInt1810 = var0[0]; + gl.glBindTexture(3553, anInt1810); + gl.glTexImage2D(3553, 0, 4, 1, 1, 0, 6408, 5121, IntBuffer.wrap(new int[]{-1})); + Class68.method1276(); + Class3_Sub24_Sub3.method468(6); + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/IOHandler.java b/09HDscape-client/src/org/runite/jagex/IOHandler.java new file mode 100644 index 000000000..baecd579d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/IOHandler.java @@ -0,0 +1,408 @@ +package org.runite.jagex; + +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; + +final class IOHandler implements Runnable { + + private int anInt1230 = 0; + private OutputStream anOutputStream1231; + private InputStream anInputStream1232; + private byte[] aByteArray1233; + static int anInt1234; + private Socket aSocket1235; + private int anInt1236 = 0; + private Class64 aClass64_1237; + static Class33 aClass33_1238; + private Signlink aClass87_1239; + static int anInt1240; + private boolean aBoolean1241 = false; + static Class61 aClass61_1242 = new Class61(); + private boolean aBoolean1243 = false; + static int anInt1244 = -1; + + + public final void run() { + try { + while(true) { + try { + label88: { + int var1; + int var2; + synchronized(this) { + if(this.anInt1230 == this.anInt1236) { + if(this.aBoolean1241) { + break label88; + } + + try { + this.wait(); + } catch (InterruptedException var9) { + ; + } + } + + var2 = this.anInt1236; + if(~this.anInt1236 < ~this.anInt1230) { + var1 = -this.anInt1236 + 5000; + } else { + var1 = this.anInt1230 - this.anInt1236; + } + } + + if(0 >= var1) { + continue; + } + + try { + this.anOutputStream1231.write(this.aByteArray1233, var2, var1); + } catch (IOException var8) { + this.aBoolean1243 = true; + } + + this.anInt1236 = (var1 + this.anInt1236) % 5000; + + try { + if(~this.anInt1230 == ~this.anInt1236) { + this.anOutputStream1231.flush(); + } + } catch (IOException var7) { + this.aBoolean1243 = true; + } + continue; + } + + try { + if(null != this.anInputStream1232) { + this.anInputStream1232.close(); + } + + if(null != this.anOutputStream1231) { + this.anOutputStream1231.close(); + } + + if(this.aSocket1235 != null) { + this.aSocket1235.close(); + } + } catch (IOException var6) { + ; + } + + this.aByteArray1233 = null; + } catch (Exception var11) { + Class49.method1125((String)null, var11, (byte)103); + } + + return; + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ma.run()"); + } + } + + static final void method1460(int var0, int var1, byte var2, int var3, int var4, int var5, int var6) { + try { + if(~(var5 - var4) <= ~Class101.anInt1425 && Class3_Sub28_Sub18.anInt3765 >= var5 - -var4 && Class159.anInt2020 <= -var4 + var1 && Class57.anInt902 >= var4 + var1) { + Class3_Sub13_Sub2.method175(var6, var0, var1, true, var3, var4, var5); + } else { + Class168.method2275(var3, (byte)109, var1, var4, var6, var0, var5); + } + + if(var2 > -107) { + anInt1244 = 89; + } + + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "ma.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + final void readBytes(int var1, int var2, int var3, byte[] var4) throws IOException { + try { + if(var3 == -18455) { + if(!this.aBoolean1241) { + while(var2 > 0) { + int var5 = this.anInputStream1232.read(var4, var1, var2); + if(0 >= var5) { + throw new EOFException(); + } + + var1 += var5; + var2 -= var5; + } + + } + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ma.D(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + final int readByte(int var1) throws IOException { + try { + if(var1 != 0) { + this.close(43); + } + + return !this.aBoolean1241?this.anInputStream1232.read():0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ma.E(" + var1 + ')'); + } + } + + public static void method1463(int var0) { + try { + if(var0 != 0) { + aClass61_1242 = (Class61)null; + } + + aClass61_1242 = null; + aClass33_1238 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ma.I(" + var0 + ')'); + } + } + + final void sendBytes(boolean var1, int var2, byte[] var3, int var4) throws IOException { + try { + if(!this.aBoolean1241) { + if(!this.aBoolean1243) { + if(this.aByteArray1233 == null) { + this.aByteArray1233 = new byte[5000]; + } + + synchronized(this) { + for(int var6 = 0; ~var4 < ~var6; ++var6) { + this.aByteArray1233[this.anInt1230] = var3[var2 + var6]; + this.anInt1230 = (this.anInt1230 + 1) % 5000; + if(~this.anInt1230 == ~((4900 + this.anInt1236) % 5000)) { + throw new IOException(); + } + } + + if(null == this.aClass64_1237) { + this.aClass64_1237 = this.aClass87_1239.method1451(0, 3, this); + } + + if(var1) { + aClass61_1242 = (Class61)null; + } + + this.notifyAll(); + } + } else { + this.aBoolean1243 = false; + throw new IOException(); + } + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ma.K(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + protected final void finalize() { + try { + this.close(14821); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ma.finalize()"); + } + } + + final int availableBytes(int var1) throws IOException { + try { + if(var1 != -18358) { + this.aClass64_1237 = (Class64)null; + } + + return this.aBoolean1241?0:this.anInputStream1232.available(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ma.B(" + var1 + ')'); + } + } + + final void method1466(int var1) throws IOException { + try { + int var2 = -97 % ((52 - var1) / 50); + if(!this.aBoolean1241) { + if(this.aBoolean1243) { + this.aBoolean1243 = false; +// throw new IOException(); + System.err.println("new IOException(roar)"); + } + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ma.G(" + var1 + ')'); + } + } + + final void method1467(boolean var1) { + try { + if(var1) { + method1469((int[])null, 19, 31, -15, 103, 77); + } + + if(!this.aBoolean1241) { + this.anInputStream1232 = new InputStream_Sub1(); + this.anOutputStream1231 = new OutputStream_Sub1(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ma.H(" + var1 + ')'); + } + } + + final void close(int var1) { + try { + if(var1 != 14821) { + this.close(6); + } + if(!this.aBoolean1241) { + synchronized(this) { + this.aBoolean1241 = true; + this.notifyAll(); + } + + if(this.aClass64_1237 != null) { + while(this.aClass64_1237.anInt978 == 0) { + Class3_Sub13_Sub34.method331(1L, 64); + } + + if(-2 == ~this.aClass64_1237.anInt978) { + try { + ((Thread)this.aClass64_1237.anObject974).join(); + } catch (InterruptedException var4) { + ; + } + } + } + + this.aClass64_1237 = null; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ma.J(" + var1 + ')'); + } + } + + static final void method1469(int[] var0, int var1, int var2, int var3, int var4, int var5) { + Class3_Sub2 var6 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var3][var4][var5]; + if(var6 != null) { + Class126 var7 = var6.aClass126_2240; + int var9; + if(var7 != null) { + int var17 = var7.anInt1673; + if(var17 != 0) { + for(var9 = 0; var9 < 4; ++var9) { + var0[var1] = var17; + var0[var1 + 1] = var17; + var0[var1 + 2] = var17; + var0[var1 + 3] = var17; + var1 += var2; + } + + } + } else { + Class35 var8 = var6.aClass35_2226; + if(var8 != null) { + var9 = var8.anInt611; + int var10 = var8.anInt612; + int var11 = var8.anInt626; + int var12 = var8.anInt621; + int[] var13 = Class3_Sub13_Sub18.anIntArrayArray3215[var9]; + int[] var14 = Class162.anIntArrayArray2039[var10]; + int var15 = 0; + int var16; + if(var11 != 0) { + for(var16 = 0; var16 < 4; ++var16) { + var0[var1] = var13[var14[var15++]] == 0?var11:var12; + var0[var1 + 1] = var13[var14[var15++]] == 0?var11:var12; + var0[var1 + 2] = var13[var14[var15++]] == 0?var11:var12; + var0[var1 + 3] = var13[var14[var15++]] == 0?var11:var12; + var1 += var2; + } + } else { + for(var16 = 0; var16 < 4; ++var16) { + if(var13[var14[var15++]] != 0) { + var0[var1] = var12; + } + + if(var13[var14[var15++]] != 0) { + var0[var1 + 1] = var12; + } + + if(var13[var14[var15++]] != 0) { + var0[var1 + 2] = var12; + } + + if(var13[var14[var15++]] != 0) { + var0[var1 + 3] = var12; + } + + var1 += var2; + } + } + + } + } + } + } + + IOHandler(Socket var1, Signlink var2) throws IOException { + try { + this.aClass87_1239 = var2; + this.aSocket1235 = var1; + this.aSocket1235.setSoTimeout(30000); + this.aSocket1235.setTcpNoDelay(true); + this.anInputStream1232 = this.aSocket1235.getInputStream(); + this.anOutputStream1231 = this.aSocket1235.getOutputStream(); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ma.(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method1470(int var0, AnimationDefinition var1, int var2, int var3, boolean var4, int var5) { + try { + if(-51 < ~Class113.anInt1552) { + if(var1.anIntArrayArray1867 != null && ~var5 > ~var1.anIntArrayArray1867.length && null != var1.anIntArrayArray1867[var5]) { + int var6 = var1.anIntArrayArray1867[var5][0]; + int var7 = var6 >> 8; + int var10; + if(1 < var1.anIntArrayArray1867[var5].length) { + var10 = (int)((double)var1.anIntArrayArray1867[var5].length * Math.random()); + if(0 < var10) { + var7 = var1.anIntArrayArray1867[var5][var10]; + } + } + + int var8 = var6 >> 5 & 7; + int var9 = var6 & 31; + if(~var9 != -1) { + if(0 != Class14.anInt340) { + Class3_Sub25.anIntArray2550[Class113.anInt1552] = var7; + Class166.anIntArray2068[Class113.anInt1552] = var8; + int var11 = (-64 + var0) / 128; + var10 = (var3 + -64) / 128; + RSString.anIntArray2157[Class113.anInt1552] = 0; + Class102.aClass135Array2131[Class113.anInt1552] = null; + Class3_Sub13_Sub6.anIntArray3083[Class113.anInt1552] = var9 + (var10 << 16) + (var11 << 8); + if(var2 != 183921384) { + aClass33_1238 = (Class33)null; + } + + ++Class113.anInt1552; + } + } else { + if(var4) { + Class3_Sub13_Sub6.method199(var8, var7, 0, -799); + } + + } + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ma.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/ISAACCipher.java b/09HDscape-client/src/org/runite/jagex/ISAACCipher.java new file mode 100644 index 000000000..9d9cccb99 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/ISAACCipher.java @@ -0,0 +1,397 @@ +package org.runite.jagex; + +import org.runite.Configurations; + + +final class ISAACCipher { + + static RSString aClass94_965 = RSString.createRSString(":duelfriend:"); + private int anInt966; + private int anInt967; + private int anInt968; + static int anInt969; + private int[] anIntArray970; + private int[] anIntArray971; + private int anInt972; + static RSString aClass94_973 = RSString.createRSString(" de votre liste noire)3"); + + + private final void method1227(boolean var1) { + try { + if(!var1) { + this.method1229(82); + } + + int var10 = -1640531527; + int var9 = -1640531527; + int var8 = -1640531527; + int var7 = -1640531527; + int var6 = -1640531527; + int var5 = -1640531527; + int var4 = -1640531527; + int var3 = -1640531527; + + int var2; + for(var2 = 0; 4 > var2; ++var2) { + var3 ^= var4 << 11; + var6 += var3; + var4 += var5; + var4 ^= var5 >>> 2; + var5 += var6; + var5 ^= var6 << 8; + var8 += var5; + var7 += var4; + var6 += var7; + var6 ^= var7 >>> 16; + var7 += var8; + var9 += var6; + var7 ^= var8 << 10; + var10 += var7; + var8 += var9; + var8 ^= var9 >>> 4; + var9 += var10; + var9 ^= var10 << 8; + var4 += var9; + var3 += var8; + var10 += var3; + var10 ^= var3 >>> 9; + var5 += var10; + var3 += var4; + } + + for(var2 = 0; ~var2 > -257; var2 += 8) { + var6 += this.anIntArray970[3 + var2]; + var7 += this.anIntArray970[var2 - -4]; + var9 += this.anIntArray970[var2 + 6]; + var3 += this.anIntArray970[var2]; + var5 += this.anIntArray970[2 + var2]; + var8 += this.anIntArray970[var2 - -5]; + var10 += this.anIntArray970[7 + var2]; + var4 += this.anIntArray970[var2 - -1]; + var3 ^= var4 << 11; + var4 += var5; + var4 ^= var5 >>> 2; + var6 += var3; + var5 += var6; + var5 ^= var6 << 8; + var7 += var4; + var6 += var7; + var6 ^= var7 >>> 16; + var8 += var5; + var7 += var8; + var7 ^= var8 << 10; + var10 += var7; + var9 += var6; + var8 += var9; + var8 ^= var9 >>> 4; + var9 += var10; + var9 ^= var10 << 8; + var3 += var8; + var10 += var3; + var4 += var9; + var10 ^= var3 >>> 9; + var3 += var4; + this.anIntArray971[var2] = var3; + this.anIntArray971[1 + var2] = var4; + var5 += var10; + this.anIntArray971[2 + var2] = var5; + this.anIntArray971[var2 + 3] = var6; + this.anIntArray971[4 + var2] = var7; + this.anIntArray971[5 + var2] = var8; + this.anIntArray971[var2 - -6] = var9; + this.anIntArray971[7 + var2] = var10; + } + + for(var2 = 0; -257 < ~var2; var2 += 8) { + var9 += this.anIntArray971[6 + var2]; + var8 += this.anIntArray971[var2 + 5]; + var7 += this.anIntArray971[4 + var2]; + var4 += this.anIntArray971[var2 + 1]; + var5 += this.anIntArray971[2 + var2]; + var3 += this.anIntArray971[var2]; + var3 ^= var4 << 11; + var6 += this.anIntArray971[var2 + 3]; + var10 += this.anIntArray971[var2 + 7]; + var6 += var3; + var4 += var5; + var4 ^= var5 >>> 2; + var5 += var6; + var7 += var4; + var5 ^= var6 << 8; + var8 += var5; + var6 += var7; + var6 ^= var7 >>> 16; + var7 += var8; + var7 ^= var8 << 10; + var9 += var6; + var8 += var9; + var8 ^= var9 >>> 4; + var10 += var7; + var9 += var10; + var3 += var8; + var9 ^= var10 << 8; + var4 += var9; + var10 += var3; + var10 ^= var3 >>> 9; + var5 += var10; + var3 += var4; + this.anIntArray971[var2] = var3; + this.anIntArray971[1 + var2] = var4; + this.anIntArray971[var2 - -2] = var5; + this.anIntArray971[3 + var2] = var6; + this.anIntArray971[4 + var2] = var7; + this.anIntArray971[5 + var2] = var8; + this.anIntArray971[var2 + 6] = var9; + this.anIntArray971[var2 - -7] = var10; + } + + this.method1229(-1879); + this.anInt968 = 256; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "ij.E(" + var1 + ')'); + } + } + + final int nextOpcode(int var1) { + try { + if(this.anInt968-- == 0) { + this.method1229(-1879); + this.anInt968 = 255; + } + + if(var1 != -9356) { + this.nextOpcode(-128); + } + + return Configurations.USEISAAC ? this.anIntArray970[this.anInt968] : 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ij.C(" + var1 + ')'); + } + } + + private final void method1229(int var1) { + try { + this.anInt967 += ++this.anInt966; + int var2 = 0; + if(var1 != -1879) { + this.anInt968 = -98; + } + + while(-257 < ~var2) { + int var3 = this.anIntArray971[var2]; + if((2 & var2) != 0) { + if(~(var2 & 1) != -1) { + this.anInt972 ^= this.anInt972 >>> 16; + } else { + this.anInt972 ^= this.anInt972 << 2; + } + } else if((var2 & 1) != 0) { + this.anInt972 ^= this.anInt972 >>> 6; + } else { + this.anInt972 ^= this.anInt972 << 13; + } + + this.anInt972 += this.anIntArray971[128 + var2 & 255]; + int var4; + this.anIntArray971[var2] = var4 = this.anInt967 + this.anInt972 + this.anIntArray971[Class3_Sub28_Sub15.method633(var3, 1020) >> 2]; + this.anIntArray970[var2] = this.anInt967 = var3 + this.anIntArray971[Class3_Sub28_Sub15.method633(261347, var4) >> 8 >> 2]; + ++var2; + } + + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ij.A(" + var1 + ')'); + } + } + + static final void method1230(byte var0) { + try { + int var1 = AbstractIndexedSprite.anInt1462; + int var2 = Class3_Sub13_Sub33.anInt3395; + int var4 = Class3_Sub28_Sub1.anInt3537; + int var3 = Class3_Sub28_Sub3.anInt3552; + if(Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 == null || null == Class108.aClass3_Sub28_Sub16_1457) { + if(Class140_Sub6.spritesCacheIndex.method2144(0, WorldListCountry.anInt502) && Class140_Sub6.spritesCacheIndex.method2144(0, Class99.anInt1400)) { + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 = Class3_Sub28_Sub7.method562(Class140_Sub6.spritesCacheIndex, 0, WorldListCountry.anInt502, (byte)39); + Class108.aClass3_Sub28_Sub16_1457 = Class3_Sub28_Sub7.method562(Class140_Sub6.spritesCacheIndex, 0, Class99.anInt1400, (byte)39); + if(HDToolKit.highDetail) { + if(Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 instanceof Class3_Sub28_Sub16_Sub2_Sub1) { + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 = new Class3_Sub28_Sub16_Sub1_Sub1((Class3_Sub28_Sub16_Sub2)Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099); + } else { + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 = new Class3_Sub28_Sub16_Sub1((Class3_Sub28_Sub16_Sub2)Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099); + } + + if(Class108.aClass3_Sub28_Sub16_1457 instanceof Class3_Sub28_Sub16_Sub2_Sub1) { + Class108.aClass3_Sub28_Sub16_1457 = new Class3_Sub28_Sub16_Sub1_Sub1((Class3_Sub28_Sub16_Sub2)Class108.aClass3_Sub28_Sub16_1457); + } else { + Class108.aClass3_Sub28_Sub16_1457 = new Class3_Sub28_Sub16_Sub1((Class3_Sub28_Sub16_Sub2)Class108.aClass3_Sub28_Sub16_1457); + } + } + } else if(HDToolKit.highDetail) { + Class22.method930(var1, var2, var3, 20, Class3_Sub28_Sub6.anInt3600, -Class62.anInt963 + 256); + } else { + Class74.method1312(var1, var2, var3, 20, Class3_Sub28_Sub6.anInt3600, -Class62.anInt963 + 256); + } + } + + int var5; + int var6; + if(Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099 != null && Class108.aClass3_Sub28_Sub16_1457 != null) { + var5 = var3 / Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099.anInt3707; + + for(var6 = 0; ~var5 < ~var6; ++var6) { + Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099.method643(var6 * Class3_Sub13_Sub7.aClass3_Sub28_Sub16_3099.anInt3707 + var1, var2); + } + + Class108.aClass3_Sub28_Sub16_1457.method643(var1, var2); + Class108.aClass3_Sub28_Sub16_1457.method641(-Class108.aClass3_Sub28_Sub16_1457.anInt3707 + (var1 - -var3), var2); + } + + Class168.aClass3_Sub28_Sub17_2096.method681(Class75_Sub4.aClass94_2667, var1 - -3, 14 + var2, Class3_Sub13_Sub28.anInt3351, -1); + if(HDToolKit.highDetail) { + Class22.method930(var1, 20 + var2, var3, var4 - 20, Class3_Sub28_Sub6.anInt3600, -Class62.anInt963 + 256); + } else { + Class74.method1312(var1, 20 + var2, var3, -20 + var4, Class3_Sub28_Sub6.anInt3600, -Class62.anInt963 + 256); + } + + var6 = Class130.anInt1709; + var5 = Class126.anInt1676; + if(var0 < 85) { + aClass94_965 = (RSString)null; + } + + int var7; + int var8; + for(var7 = 0; Class3_Sub13_Sub34.anInt3415 > var7; ++var7) { + var8 = (-var7 + Class3_Sub13_Sub34.anInt3415 - 1) * 15 + var2 + 35; + if(var1 < var5 && var5 < var1 - -var3 && ~var6 < ~(-13 + var8) && ~var6 > ~(var8 + 3)) { + if(HDToolKit.highDetail) { + Class22.method930(var1, var8 + -13, var3, 16, Class149.anInt1926, -Class136.anInt1771 + 256); + } else { + Class74.method1312(var1, var8 + -13, var3, 16, Class149.anInt1926, -Class136.anInt1771 + 256); + } + } + } + + if((Class95.aClass3_Sub28_Sub16_1339 == null || Class50.aClass3_Sub28_Sub16_824 == null || null == Class3_Sub26.aClass3_Sub28_Sub16_2560) && Class140_Sub6.spritesCacheIndex.method2144(0, Class46.anInt739) && Class140_Sub6.spritesCacheIndex.method2144(0, Class79.anInt1126) && Class140_Sub6.spritesCacheIndex.method2144(0, Class140_Sub7.anInt2937)) { + Class95.aClass3_Sub28_Sub16_1339 = Class3_Sub28_Sub7.method562(Class140_Sub6.spritesCacheIndex, 0, Class46.anInt739, (byte)39); + Class50.aClass3_Sub28_Sub16_824 = Class3_Sub28_Sub7.method562(Class140_Sub6.spritesCacheIndex, 0, Class79.anInt1126, (byte)39); + Class3_Sub26.aClass3_Sub28_Sub16_2560 = Class3_Sub28_Sub7.method562(Class140_Sub6.spritesCacheIndex, 0, Class140_Sub7.anInt2937, (byte)39); + if(HDToolKit.highDetail) { + if(!(Class95.aClass3_Sub28_Sub16_1339 instanceof Class3_Sub28_Sub16_Sub2_Sub1)) { + Class95.aClass3_Sub28_Sub16_1339 = new Class3_Sub28_Sub16_Sub1((Class3_Sub28_Sub16_Sub2)Class95.aClass3_Sub28_Sub16_1339); + } else { + Class95.aClass3_Sub28_Sub16_1339 = new Class3_Sub28_Sub16_Sub1_Sub1((Class3_Sub28_Sub16_Sub2)Class95.aClass3_Sub28_Sub16_1339); + } + + if(!(Class50.aClass3_Sub28_Sub16_824 instanceof Class3_Sub28_Sub16_Sub2_Sub1)) { + Class50.aClass3_Sub28_Sub16_824 = new Class3_Sub28_Sub16_Sub1((Class3_Sub28_Sub16_Sub2)Class50.aClass3_Sub28_Sub16_824); + } else { + Class50.aClass3_Sub28_Sub16_824 = new Class3_Sub28_Sub16_Sub1_Sub1((Class3_Sub28_Sub16_Sub2)Class50.aClass3_Sub28_Sub16_824); + } + + if(!(Class3_Sub26.aClass3_Sub28_Sub16_2560 instanceof Class3_Sub28_Sub16_Sub2_Sub1)) { + Class3_Sub26.aClass3_Sub28_Sub16_2560 = new Class3_Sub28_Sub16_Sub1((Class3_Sub28_Sub16_Sub2)Class3_Sub26.aClass3_Sub28_Sub16_2560); + } else { + Class3_Sub26.aClass3_Sub28_Sub16_2560 = new Class3_Sub28_Sub16_Sub1_Sub1((Class3_Sub28_Sub16_Sub2)Class3_Sub26.aClass3_Sub28_Sub16_2560); + } + } + } + + int var9; + if(Class95.aClass3_Sub28_Sub16_1339 != null && null != Class50.aClass3_Sub28_Sub16_824 && null != Class3_Sub26.aClass3_Sub28_Sub16_2560) { + var7 = var3 / Class95.aClass3_Sub28_Sub16_1339.anInt3707; + + for(var8 = 0; var7 > var8; ++var8) { + Class95.aClass3_Sub28_Sub16_1339.method643(var1 + Class95.aClass3_Sub28_Sub16_1339.anInt3707 * var8, var4 + var2 + -Class95.aClass3_Sub28_Sub16_1339.anInt3696); + } + + var8 = (-20 + var4) / Class50.aClass3_Sub28_Sub16_824.anInt3696; + + for(var9 = 0; var9 < var8; ++var9) { + Class50.aClass3_Sub28_Sub16_824.method643(var1, var2 + 20 + var9 * Class50.aClass3_Sub28_Sub16_824.anInt3696); + Class50.aClass3_Sub28_Sub16_824.method641(var1 - (-var3 - -Class50.aClass3_Sub28_Sub16_824.anInt3707), var2 + 20 + var9 * Class50.aClass3_Sub28_Sub16_824.anInt3696); + } + + Class3_Sub26.aClass3_Sub28_Sub16_2560.method643(var1, var4 + (var2 - Class3_Sub26.aClass3_Sub28_Sub16_2560.anInt3696)); + Class3_Sub26.aClass3_Sub28_Sub16_2560.method641(var1 + var3 - Class3_Sub26.aClass3_Sub28_Sub16_2560.anInt3707, var2 - -var4 + -Class3_Sub26.aClass3_Sub28_Sub16_2560.anInt3696); + } + + for(var7 = 0; var7 < Class3_Sub13_Sub34.anInt3415; ++var7) { + var8 = 15 * (Class3_Sub13_Sub34.anInt3415 - 1 + -var7) + var2 + 35; + var9 = Class3_Sub13_Sub28.anInt3351; + if(var1 < var5 && var3 + var1 > var5 && ~(var8 - 13) > ~var6 && ~var6 > ~(var8 - -3)) { + var9 = Class154.anInt1957; + } + + Class168.aClass3_Sub28_Sub17_2096.method681(RSByteBuffer.method802(var7, true), 3 + var1, var8, var9, 0); + } + + Class69.method1282(AbstractIndexedSprite.anInt1462, (byte)122, Class3_Sub13_Sub33.anInt3395, Class3_Sub28_Sub1.anInt3537, Class3_Sub28_Sub3.anInt3552); + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "ij.F(" + var0 + ')'); + } + } + + public static void method1231(int var0) { + try { + aClass94_973 = null; + aClass94_965 = null; + if(var0 <= 116) { + method1230((byte)-73); + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ij.D(" + var0 + ')'); + } + } + + static final int method1232(NPC var0, int var1) { + try { + if(var1 != -1) { + return 103; + } else { + NPCDefinition var2 = var0.definition; + if(null != var2.childNPCs) { + var2 = var2.method1471((byte)-108); + if(var2 == null) { + return -1; + } + } + + int var3 = var2.anInt1293; + RenderAnimationDefinition var4 = var0.method1965(false); + if(~var4.anInt368 == ~var0.anInt2764) { + var3 = var2.anInt1262; + } else if(~var0.anInt2764 != ~var4.anInt393 && var4.anInt386 != var0.anInt2764 && var0.anInt2764 != var4.anInt375 && var0.anInt2764 != var4.anInt373) { + if(~var4.anInt398 == ~var0.anInt2764 || var0.anInt2764 == var4.anInt372 || ~var0.anInt2764 == ~var4.anInt379 || ~var0.anInt2764 == ~var4.anInt406) { + var3 = var2.anInt1290; + } + } else { + var3 = var2.anInt1276; + } + + return var3; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ij.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + private ISAACCipher() {} + + ISAACCipher(int[] var1) { + try { + this.anIntArray970 = new int[256]; + this.anIntArray971 = new int[256]; + + for(int var2 = 0; ~var2 > ~var1.length; ++var2) { + this.anIntArray970[var2] = var1[var2]; + } + + this.method1227(true); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ij.(" + (var1 != null?"{...}":"null") + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/InputStream_Sub1.java b/09HDscape-client/src/org/runite/jagex/InputStream_Sub1.java new file mode 100644 index 000000000..8de8c13cc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/InputStream_Sub1.java @@ -0,0 +1,96 @@ +package org.runite.jagex; +import java.io.InputStream; + +final class InputStream_Sub1 extends InputStream { + + static RSString aClass94_37 = RSString.createRSString("0(U"); + static RSString aClass94_38 = RSString.createRSString("tbrefresh"); + static int[] anIntArray39; + static int anInt40 = 0; + static IOHandler js5Connection; + static int anInt42 = 0; + private static RSString aClass94_44 = RSString.createRSString(" "); + static RSString aClass94_43 = aClass94_44; + + public static void method61(int var0) { + try { + int var1 = 10 / ((-37 - var0) / 33); + aClass94_44 = null; + js5Connection = null; + aClass94_43 = null; + aClass94_38 = null; + aClass94_37 = null; + anIntArray39 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qk.C(" + var0 + ')'); + } + } + + static final int[] method62(boolean var0, int var1, int var2, int var3, int var4, float var5, int var6, int var7) { + try { + if(var1 != 14585) { + anInt40 = 43; + } + + int[] var8 = new int[var3]; + Class3_Sub13_Sub4 var9 = new Class3_Sub13_Sub4(); + var9.anInt3060 = var6; + var9.anInt3058 = var4; + var9.anInt3067 = var7; + var9.anInt3056 = var2; + var9.anInt3062 = (int)(var5 * 4096.0F); + var9.aBoolean3065 = var0; + var9.method158(16251); + Class3_Sub13_Sub3.method180(-106, 1, var3); + var9.method186(true, 0, var8); + return var8; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "qk.A(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + static final Class3_Sub13 method63(byte var0, RSByteBuffer var1) { + try { + var1.getByte((byte)-114); + int var2 = var1.getByte((byte)-51); + Class3_Sub13 var3 = Class130.method1777(var2, true); + var3.anInt2381 = var1.getByte((byte)-66); + int var4 = var1.getByte((byte)-33); + if(var0 > -26) { + aClass94_43 = (RSString)null; + } + + for(int var5 = 0; var5 < var4; ++var5) { + int var6 = var1.getByte((byte)-92); + var3.method157(var6, var1, true); + } + + var3.method158(16251); + return var3; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "qk.B(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + public final int read() { + try { + Class3_Sub13_Sub34.method331(30000L, 64); + return -1; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "qk.read()"); + } + } + + static final int method64(boolean var0, int var1) { + try { + if(!var0) { + aClass94_43 = (RSString)null; + } + + return var1 >>> 8; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "qk.D(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Interface1.java b/09HDscape-client/src/org/runite/jagex/Interface1.java new file mode 100644 index 000000000..893a195e3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Interface1.java @@ -0,0 +1,17 @@ +package org.runite.jagex; +import java.awt.Component; + +public interface Interface1 { + + void method1(int var1, int var2); + + int method2(byte var1, int var2); + + void method3(int var1, int var2, int var3) throws Exception; + + void method4(byte var1, int var2); + + void method5(int var1, byte var2, Component var3, boolean var4) throws Exception; + + void method6(int var1, int[] var2); +} diff --git a/09HDscape-client/src/org/runite/jagex/Interface2.java b/09HDscape-client/src/org/runite/jagex/Interface2.java new file mode 100644 index 000000000..6dd02590a --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Interface2.java @@ -0,0 +1,30 @@ +package org.runite.jagex; + +interface Interface2 { + + boolean method7(byte var1, int var2); + + void method8(int var1, boolean var2); + + int method9(int var1, boolean var2); + + int method10(int var1, int var2); + + boolean method11(int var1, int var2); + + boolean method12(int var1, int var2); + + int[] method13(int var1, boolean var2, float var3); + + boolean method14(byte var1, int var2); + + int method15(int var1, int var2); + + int[] method16(int var1, int var2); + + boolean method17(int var1, int var2); + + int method18(int var1, int var2); + + int method19(int var1, int var2); +} diff --git a/09HDscape-client/src/org/runite/jagex/Interface3.java b/09HDscape-client/src/org/runite/jagex/Interface3.java new file mode 100644 index 000000000..cff197ad2 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Interface3.java @@ -0,0 +1,4 @@ +package org.runite.jagex; + +interface Interface3 { +} diff --git a/09HDscape-client/src/org/runite/jagex/Interface4.java b/09HDscape-client/src/org/runite/jagex/Interface4.java new file mode 100644 index 000000000..04f71c522 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Interface4.java @@ -0,0 +1,6 @@ +package org.runite.jagex; + +interface Interface4 { + + RSString method20(int var1, int[] var2, int var3, long var4); +} diff --git a/09HDscape-client/src/org/runite/jagex/Interface5.java b/09HDscape-client/src/org/runite/jagex/Interface5.java new file mode 100644 index 000000000..af8963855 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Interface5.java @@ -0,0 +1,12 @@ +package org.runite.jagex; + +interface Interface5 { + + void method21(); + + void method22(); + + void method23(int var1); + + int method24(); +} diff --git a/09HDscape-client/src/org/runite/jagex/ItemDefinition.java b/09HDscape-client/src/org/runite/jagex/ItemDefinition.java new file mode 100644 index 000000000..0a3621778 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/ItemDefinition.java @@ -0,0 +1,5308 @@ +package org.runite.jagex; +import java.awt.Component; +import java.io.UnsupportedEncodingException; +import java.util.Date; + +final class ItemDefinition { + + private short[] aShortArray751; + private int anInt752; + private int anInt753 = -1; + int anInt754; + private int anInt755; + int anInt756 = -1; + int value = 1; + int anInt758; + static int anInt759; + private int wornModelPositionX = 0; + int anInt761; + int anInt762; + static int anInt763; + int stackingType; + private short[] aShortArray765; + int[] anIntArray766; + int anInt767; + int anInt768; + private int anInt769; + RSString name; + private int anInt771; + private short[] aShortArray772; + private int anInt773 = -1; + private short[] aShortArray774; + private int wornModelPositionY; + private int anInt776 = -1; + private int anInt777; + private int wornModelPositionZ; + boolean membersItem; + private int anInt780; + static int[] anIntArray781 = new int[99]; + int teamId = 0; + RSString[] inventoryOptions; + private int anInt784; + private byte[] aByteArray785; + int anInt786; + int itemId; + int anInt788; + int anInt789; + private int anInt790; + int anInt791; + int anInt792; + int anInt793; + private int anInt794; + int anInt795; + private int anInt796; + private int anInt797; + Class130 aClass130_798; + int anInt799; + int anInt800; + RSString[] groundOptions; + private int anInt802; + private int anInt803; + int[] anIntArray804; + private int anInt805; + private static RSString aClass94_806; + boolean aBoolean807; + static RSString aClass94_808; + static RSString aClass94_809; + int anInt810; + private static RSString aClass94_811; + + + final boolean method1102(boolean var1, boolean var2) { + try { + int var3 = this.anInt803; + int var4 = this.anInt796; + if(var1) { + var3 = this.anInt773; + var4 = this.anInt753; + } + + if(var2) { + this.parseDefinitions(41, (RSByteBuffer)null); + } + + if(~var3 == 0) { + return true; + } else { + boolean var5 = true; + if(!Class3_Sub29.aClass153_2581.method2129((byte)-75, 0, var3)) { + var5 = false; + } + + if(~var4 != 0 && !Class3_Sub29.aClass153_2581.method2129((byte)58, 0, var4)) { + var5 = false; + } + + return var5; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "h.G(" + var1 + ',' + var2 + ')'); + } + } + + static final void method1103(CacheIndex var0, CacheIndex var1, boolean var2) { + try { + Class3_Sub13_Sub14.aClass153_3173 = var0; + Class29.aClass153_557 = var1; + if(!var2) { + ; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "h.B(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method1104(byte byte0, int i, CS2Script script) + { + Object aobj[] = script.arguments; + int j = ((Integer)aobj[0]).intValue(); + Class3_Sub28_Sub15 class3_sub28_sub15 = Class3_Sub28_Sub8.method572(j, (byte)-91); + if(null == class3_sub28_sub15) + return; + NPC.anInt4002 = 0; + int l = 0; + int k = 0; + int i1 = -1; + int ai1[] = class3_sub28_sub15.anIntArray3690; + int ai[] = class3_sub28_sub15.anIntArray3683; + if(byte0 > -9) + aClass94_811 = (RSString)null; + byte byte1 = -1; + Class126.anIntArray1662 = new int[class3_sub28_sub15.anInt3680]; + int k1 = 0; + Class107.aClass94Array1454 = new RSString[class3_sub28_sub15.anInt3687]; + int l1 = 0; + for(int i2 = 1; ~i2 > ~aobj.length; i2++) + { + if(aobj[i2] instanceof Integer) + { + int k2 = ((Integer)aobj[i2]).intValue(); + if(~k2 == 0x7ffffffe) + k2 = script.anInt2447; + if(0x80000002 == k2) + k2 = script.anInt2441; + if(0x7ffffffc == ~k2) + k2 = null == script.aClass11_2449 ? -1 : script.aClass11_2449.anInt279; + if(0x80000004 == k2) + k2 = script.anInt2445; + if(0x7ffffffa == ~k2) + k2 = null == script.aClass11_2449 ? -1 : script.aClass11_2449.anInt191; + if(~k2 == 0x7ffffff9) + k2 = null == script.aClass11_2438 ? -1 : script.aClass11_2438.anInt279; + if(0x7ffffff8 == ~k2) + k2 = script.aClass11_2438 != null ? script.aClass11_2438.anInt191 : -1; + if(0x7ffffff7 == ~k2) + k2 = script.anInt2444; + if(0x7ffffff6 == ~k2) + k2 = script.anInt2443; + Class126.anIntArray1662[k1++] = k2; + continue; + } + if(!(aobj[i2] instanceof RSString)) + continue; + RSString class94 = (RSString)aobj[i2]; + if(class94.method1528((byte)-42, RSInterface.aClass94_209)) + class94 = script.aClass94_2439; + Class107.aClass94Array1454[l1++] = class94; + // System.out.println("Item Definition line 168 " + class94.toString()); + } + + int j2 = 0; + label0: + do + { + j2++; + if(i < j2) + throw new RuntimeException("slow"); + int j1 = ai[++i1]; + if(j1 < 100) + { + if(~j1 == -1) + { + Class140_Sub7.anIntArray2929[k++] = ai1[i1]; + continue; + } + if(~j1 == -2) + { + int l2 = ai1[i1]; + Class140_Sub7.anIntArray2929[k++] = Class163_Sub1.anIntArray2985[l2]; + continue; + } + if(-3 == ~j1) + { + int i3 = ai1[i1]; + Class86.method1428(i3, 63, Class140_Sub7.anIntArray2929[--k]); + continue; + } + if(~j1 == -4) + { + Class3.aClass94Array75[l++] = class3_sub28_sub15.aClass94Array3688[i1]; + continue; + } + if(j1 == 6) + { + i1 += ai1[i1]; + continue; + } + if(7 == j1) + { + k -= 2; + if(Class140_Sub7.anIntArray2929[k] != Class140_Sub7.anIntArray2929[1 + k]) + i1 += ai1[i1]; + continue; + } + if(~j1 == -9) + { + k -= 2; + if(~Class140_Sub7.anIntArray2929[k + 1] == ~Class140_Sub7.anIntArray2929[k]) + i1 += ai1[i1]; + continue; + } + if(9 == j1) + { + k -= 2; + if(~Class140_Sub7.anIntArray2929[k] > ~Class140_Sub7.anIntArray2929[1 + k]) + i1 += ai1[i1]; + continue; + } + if(-11 == ~j1) + { + k -= 2; + if(Class140_Sub7.anIntArray2929[k - -1] < Class140_Sub7.anIntArray2929[k]) + i1 += ai1[i1]; + continue; + } + if(j1 == 21) + { + if(-1 == ~NPC.anInt4002) + return; + Class54 class54 = Class140_Sub4.aClass54Array2841[--NPC.anInt4002]; + class3_sub28_sub15 = class54.aClass3_Sub28_Sub15_874; + Class126.anIntArray1662 = class54.anIntArray870; + ai = class3_sub28_sub15.anIntArray3683; + i1 = class54.anInt877; + Class107.aClass94Array1454 = class54.aClass94Array873; + ai1 = class3_sub28_sub15.anIntArray3690; + continue; + } + if(~j1 == -26) + { + int j3 = ai1[i1]; + Class140_Sub7.anIntArray2929[k++] = NPCDefinition.method1484(0x3dd4def, j3); + continue; + } + if(~j1 == -28) + { + int k3 = ai1[i1]; + Class3_Sub13_Sub29.method306(k3, false, Class140_Sub7.anIntArray2929[--k]); + continue; + } + if(31 == j1) + { + k -= 2; + if(~Class140_Sub7.anIntArray2929[1 + k] <= ~Class140_Sub7.anIntArray2929[k]) + i1 += ai1[i1]; + continue; + } + if(j1 == 32) + { + k -= 2; + if(~Class140_Sub7.anIntArray2929[k] <= ~Class140_Sub7.anIntArray2929[1 + k]) + i1 += ai1[i1]; + continue; + } + if(33 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class126.anIntArray1662[ai1[i1]]; + continue; + } + if(~j1 == -35) + { + Class126.anIntArray1662[ai1[i1]] = Class140_Sub7.anIntArray2929[--k]; + continue; + } + if(j1 == 35) + { + Class3.aClass94Array75[l++] = Class107.aClass94Array1454[ai1[i1]]; + continue; + } + if(-37 == ~j1) + { + Class107.aClass94Array1454[ai1[i1]] = Class3.aClass94Array75[--l]; + continue; + } + if(j1 == 37) + { + int l3 = ai1[i1]; + l -= l3; + RSString class94_2 = Class67.method1261(l, l3, Class3.aClass94Array75, 2774); + Class3.aClass94Array75[l++] = class94_2; + continue; + } + if(38 == j1) + { + k--; + continue; + } + if(-40 == ~j1) + { + l--; + continue; + } + if(j1 == 40) + { + int i4 = ai1[i1]; + Class3_Sub28_Sub15 class3_sub28_sub15_1 = Class3_Sub28_Sub8.method572(i4, (byte)-91); + int ai2[] = new int[class3_sub28_sub15_1.anInt3680]; + RSString aclass94[] = new RSString[class3_sub28_sub15_1.anInt3687]; + for(int l75 = 0; class3_sub28_sub15_1.anInt3678 > l75; l75++) + ai2[l75] = Class140_Sub7.anIntArray2929[l75 + (k - class3_sub28_sub15_1.anInt3678)]; + + for(int i76 = 0; class3_sub28_sub15_1.anInt3682 > i76; i76++) + aclass94[i76] = Class3.aClass94Array75[i76 + -class3_sub28_sub15_1.anInt3682 + l]; + + k -= class3_sub28_sub15_1.anInt3678; + l -= class3_sub28_sub15_1.anInt3682; + Class54 class54_1 = new Class54(); + class54_1.aClass94Array873 = Class107.aClass94Array1454; + class54_1.anIntArray870 = Class126.anIntArray1662; + class54_1.anInt877 = i1; + class54_1.aClass3_Sub28_Sub15_874 = class3_sub28_sub15; + if(~NPC.anInt4002 <= ~Class140_Sub4.aClass54Array2841.length) + throw new RuntimeException(); + class3_sub28_sub15 = class3_sub28_sub15_1; + i1 = -1; + Class140_Sub4.aClass54Array2841[NPC.anInt4002++] = class54_1; + Class126.anIntArray1662 = ai2; + ai1 = class3_sub28_sub15.anIntArray3690; + ai = class3_sub28_sub15.anIntArray3683; + Class107.aClass94Array1454 = aclass94; + continue; + } + if(42 == j1) + { + Class140_Sub7.anIntArray2929[k++] = NPCDefinition.anIntArray1277[ai1[i1]]; + continue; + } + if(-44 == ~j1) + { + int j4 = ai1[i1]; + NPCDefinition.anIntArray1277[j4] = Class140_Sub7.anIntArray2929[--k]; + PacketParser.method825((byte)92, j4); + continue; + } + if(44 == j1) + { + int k4 = ai1[i1] >> 16; + int l43 = Class140_Sub7.anIntArray2929[--k]; + int k5 = 0xffff & ai1[i1]; + if(-1 < ~l43 || 5000 < l43) + throw new RuntimeException(); + WorldListCountry.anIntArray509[k4] = l43; + byte byte2 = -1; + if(~k5 == -106) + byte2 = 0; + int j76 = 0; + while(~l43 < ~j76) + { + Canvas_Sub1.anIntArrayArray20[k4][j76] = byte2; + j76++; + } + continue; + } + if(j1 == 45) + { + int l4 = ai1[i1]; + int l5 = Class140_Sub7.anIntArray2929[--k]; + if(0 > l5 || ~l5 <= ~WorldListCountry.anIntArray509[l4]) + throw new RuntimeException(); + Class140_Sub7.anIntArray2929[k++] = Canvas_Sub1.anIntArrayArray20[l4][l5]; + continue; + } + if(~j1 == -47) + { + int i5 = ai1[i1]; + k -= 2; + int i6 = Class140_Sub7.anIntArray2929[k]; + if(~i6 > -1 || ~i6 <= ~WorldListCountry.anIntArray509[i5]) + throw new RuntimeException(); + Canvas_Sub1.anIntArrayArray20[i5][i6] = Class140_Sub7.anIntArray2929[1 + k]; + continue; + } + if(47 == j1) + { + RSString class94_1 = Class132.aClass94Array1739[ai1[i1]]; + if(null == class94_1) + class94_1 = Class140_Sub7.aClass94_2928; + Class3.aClass94Array75[l++] = class94_1; + continue; + } + if(~j1 == -49) + { + int j5 = ai1[i1]; + Class132.aClass94Array1739[j5] = Class3.aClass94Array75[--l]; + Class49.method1126(-94, j5); + continue; + } + if(j1 == 51) + { + Class130 class130 = class3_sub28_sub15.aClass130Array3685[ai1[i1]]; + Class3_Sub18 class3_sub18 = (Class3_Sub18)class130.method1780(Class140_Sub7.anIntArray2929[--k], 0); + if(null != class3_sub18) + i1 += class3_sub18.anInt2467; + continue; + } + } + boolean flag; + if(1 != ai1[i1]) + flag = false; + else + flag = true; + if(-301 < ~j1) + { + if(-101 == ~j1) + { + k -= 3; + int j6 = Class140_Sub7.anIntArray2929[k]; + int i44 = Class140_Sub7.anIntArray2929[1 + k]; + int k66 = Class140_Sub7.anIntArray2929[2 + k]; + if(i44 == 0) + throw new RuntimeException(); + RSInterface class11_21 = Class7.getRSInterface((byte)121, j6); + if(null == class11_21.aClass11Array262) + class11_21.aClass11Array262 = new RSInterface[k66 + 1]; + if(k66 >= class11_21.aClass11Array262.length) + { + RSInterface aclass11[] = new RSInterface[k66 + 1]; + for(int k81 = 0; ~k81 > ~class11_21.aClass11Array262.length; k81++) + aclass11[k81] = class11_21.aClass11Array262[k81]; + + class11_21.aClass11Array262 = aclass11; + } + if(0 < k66 && class11_21.aClass11Array262[-1 + k66] == null) + throw new RuntimeException("Gap at:" + (-1 + k66)); + RSInterface class11_23 = new RSInterface(); + class11_23.usingScripts = true; + class11_23.anInt191 = k66; + class11_23.parentId = class11_23.anInt279 = class11_21.anInt279; + class11_23.type = i44; + class11_21.aClass11Array262[k66] = class11_23; + if(flag) + Class164.aClass11_2055 = class11_23; + else + Class133.aClass11_1749 = class11_23; + Class20.method909(110, class11_21); + continue; + } + if(~j1 == -102) + { + RSInterface class11 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + if(class11.anInt191 == -1) + if(!flag) + throw new RuntimeException("Tried to cc_delete static active-component!"); + else + throw new RuntimeException("Tried to .cc_delete static .active-component!"); + RSInterface class11_17 = Class7.getRSInterface((byte)111, class11.anInt279); + class11_17.aClass11Array262[class11.anInt191] = null; + Class20.method909(-8, class11_17); + continue; + } + if(-103 == ~j1) + { + RSInterface class11_1 = Class7.getRSInterface((byte)109, Class140_Sub7.anIntArray2929[--k]); + class11_1.aClass11Array262 = null; + Class20.method909(-50, class11_1); + continue; + } + if(~j1 == -201) + { + k -= 2; + int k6 = Class140_Sub7.anIntArray2929[k]; + int j44 = Class140_Sub7.anIntArray2929[k - -1]; + RSInterface class11_19 = Class3_Sub28_Sub16.method638((byte)-19, k6, j44); + if(null == class11_19 || ~j44 == 0) + { + Class140_Sub7.anIntArray2929[k++] = 0; + } else + { + Class140_Sub7.anIntArray2929[k++] = 1; + if(!flag) + Class133.aClass11_1749 = class11_19; + else + Class164.aClass11_2055 = class11_19; + } + continue; + } + if(-202 != ~j1) + break; + int l6 = Class140_Sub7.anIntArray2929[--k]; + RSInterface class11_18 = Class7.getRSInterface((byte)113, l6); + if(null != class11_18) + { + Class140_Sub7.anIntArray2929[k++] = 1; + if(flag) + Class164.aClass11_2055 = class11_18; + else + Class133.aClass11_1749 = class11_18; + } else + { + Class140_Sub7.anIntArray2929[k++] = 0; + } + continue; + } + if(500 <= j1) + { + if(1000 <= j1 && j1 < 1100 || 2000 <= j1 && j1 < 2100) + { + RSInterface class11_2; + if(j1 < 2000) + { + class11_2 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + } else + { + class11_2 = Class7.getRSInterface((byte)122, Class140_Sub7.anIntArray2929[--k]); + j1 -= 1000; + } + if(-1001 == ~j1) + { + k -= 4; + class11_2.x = Class140_Sub7.anIntArray2929[k]; + class11_2.y = Class140_Sub7.anIntArray2929[k + 1]; + int l66 = Class140_Sub7.anIntArray2929[3 + k]; + if(~l66 > -1) + l66 = 0; + else + if(-6 > ~l66) + l66 = 5; + int k44 = Class140_Sub7.anIntArray2929[k + 2]; + if(k44 >= 0) + { + if(~k44 < -6) + k44 = 5; + } else + { + k44 = 0; + } + class11_2.aByte162 = (byte)l66; + class11_2.aByte273 = (byte)k44; + Class20.method909(109, class11_2); + Class3_Sub13_Sub12.method225(14, class11_2); + if(~class11_2.anInt191 == 0) + Class168.method2280(2714, class11_2.anInt279); + continue; + } + if(j1 == 1001) + { + k -= 4; + class11_2.width = Class140_Sub7.anIntArray2929[k]; + class11_2.height = Class140_Sub7.anIntArray2929[1 + k]; + class11_2.anInt184 = 0; + class11_2.anInt312 = 0; + int l44 = Class140_Sub7.anIntArray2929[k + 2]; + int i67 = Class140_Sub7.anIntArray2929[3 + k]; + if(-1 >= ~i67) + { + if(i67 > 4) + i67 = 4; + } else + { + i67 = 0; + } + class11_2.aByte241 = (byte)i67; + if(~l44 > -1) + l44 = 0; + else + if(~l44 < -5) + l44 = 4; + class11_2.aByte304 = (byte)l44; + Class20.method909(122, class11_2); + Class3_Sub13_Sub12.method225(14, class11_2); + if(-1 == ~class11_2.type) + Class151_Sub1.method2104(class11_2, false, 32); + continue; + } + if(j1 == 1003) + { + boolean flag3 = ~Class140_Sub7.anIntArray2929[--k] == -2; + if(flag3 == (!class11_2.hidden)) + { + class11_2.hidden = flag3; + Class20.method909(-103, class11_2); + } + if(-1 == class11_2.anInt191) + Class3_Sub28_Sub7_Sub1.method569(-82, class11_2.anInt279); + continue; + } + if(~j1 == -1005) + { + k -= 2; + class11_2.anInt216 = Class140_Sub7.anIntArray2929[k]; + class11_2.anInt160 = Class140_Sub7.anIntArray2929[k - -1]; + Class20.method909(-99, class11_2); + Class3_Sub13_Sub12.method225(14, class11_2); + if(class11_2.type == 0) + Class151_Sub1.method2104(class11_2, false, -127); + continue; + } + if(-1006 != ~j1) + break; + class11_2.aBoolean219 = Class140_Sub7.anIntArray2929[--k] == 1; + continue; + } + if((-1101 < ~j1 || 1200 <= j1) && (~j1 > -2101 || 2200 <= j1)) + { + if((j1 < 1200 || 1300 <= j1) && (2200 > j1 || -2301 >= ~j1)) + { + if(~j1 <= -1301 && -1401 < ~j1 || -2301 >= ~j1 && -2401 < ~j1) + { + RSInterface class11_3; + if(2000 <= j1) + { + class11_3 = Class7.getRSInterface((byte)119, Class140_Sub7.anIntArray2929[--k]); + j1 -= 1000; + } else + { + class11_3 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + } + if(-1301 == ~j1) + { + int i45 = Class140_Sub7.anIntArray2929[--k] + -1; + if(0 > i45 || ~i45 < -10) + l--; + else + class11_3.method857((byte)112, Class3.aClass94Array75[--l], i45); + continue; + } + if(~j1 == -1302) + { + k -= 2; + int j67 = Class140_Sub7.anIntArray2929[1 + k]; + int j45 = Class140_Sub7.anIntArray2929[k]; + class11_3.aClass11_302 = Class3_Sub28_Sub16.method638((byte)-19, j45, j67); + continue; + } + if(j1 == 1302) + { + class11_3.aBoolean200 = ~Class140_Sub7.anIntArray2929[--k] == -2; + continue; + } + if(j1 == 1303) + { + class11_3.anInt214 = Class140_Sub7.anIntArray2929[--k]; + continue; + } + if(j1 == 1304) + { + class11_3.anInt179 = Class140_Sub7.anIntArray2929[--k]; + continue; + } + if(1305 == j1) + { + class11_3.aClass94_277 = Class3.aClass94Array75[--l]; + continue; + } + if(-1307 == ~j1) + { + class11_3.aClass94_245 = Class3.aClass94Array75[--l]; + continue; + } + if(~j1 == -1308) + { + class11_3.aClass94Array171 = null; + continue; + } + if(-1309 == ~j1) + { + class11_3.anInt238 = Class140_Sub7.anIntArray2929[--k]; + class11_3.anInt266 = Class140_Sub7.anIntArray2929[--k]; + continue; + } + if(1309 != j1) + break; + int k45 = Class140_Sub7.anIntArray2929[--k]; + int k67 = Class140_Sub7.anIntArray2929[--k]; + if(~k67 <= -2 && ~k67 >= -11) + class11_3.method854(k67 + -1, k45, (byte)43); + continue; + } + if((-1401 < ~j1 || ~j1 <= -1501) && (2400 > j1 || j1 >= 2500)) + { + if(1600 > j1) + { + RSInterface class11_4 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + if(j1 == 1500) + { + Class140_Sub7.anIntArray2929[k++] = class11_4.anInt306; + continue; + } + if(~j1 == -1502) + { + Class140_Sub7.anIntArray2929[k++] = class11_4.anInt210; + continue; + } + if(j1 == 1502) + { + Class140_Sub7.anIntArray2929[k++] = class11_4.anInt168; + continue; + } + if(-1504 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_4.anInt193; + continue; + } + if(j1 == 1504) + { + Class140_Sub7.anIntArray2929[k++] = class11_4.hidden ? 1 : 0; + continue; + } + if(-1506 != ~j1) + break; + Class140_Sub7.anIntArray2929[k++] = class11_4.parentId; + continue; + } + if(j1 < 1700) + { + RSInterface class11_5 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + if(~j1 == -1601) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt247; + continue; + } + if(~j1 == -1602) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt208; + continue; + } + if(-1603 == ~j1) + { + Class3.aClass94Array75[l++] = class11_5.aClass94_232; + continue; + } + if(j1 == 1603) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt240; + continue; + } + if(-1605 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt252; + continue; + } + if(-1606 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt164; + continue; + } + if(~j1 == -1607) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt182; + continue; + } + if(1607 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt280; + continue; + } + if(~j1 == -1609) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt308; + continue; + } + if(~j1 == -1610) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt223; + continue; + } + if(1610 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt258; + continue; + } + if(-1612 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_5.anInt264; + continue; + } + if(-1613 != ~j1) + break; + Class140_Sub7.anIntArray2929[k++] = class11_5.spriteArchiveId; + continue; + } + if(-1801 >= ~j1) + { + if(j1 < 1900) + { + RSInterface class11_6 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + if(1800 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Client.method44(class11_6).method101(-95); + continue; + } + if(1801 == j1) + { + int l45 = Class140_Sub7.anIntArray2929[--k]; + l45--; + if(null == class11_6.aClass94Array171 || ~l45 <= ~class11_6.aClass94Array171.length || null == class11_6.aClass94Array171[l45]) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = class11_6.aClass94Array171[l45]; + continue; + } + if(-1803 != ~j1) + break; + if(null != class11_6.aClass94_277) + Class3.aClass94Array75[l++] = class11_6.aClass94_277; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(2600 > j1) + { + RSInterface class11_7 = Class7.getRSInterface((byte)114, Class140_Sub7.anIntArray2929[--k]); + if(j1 == 2500) + { + Class140_Sub7.anIntArray2929[k++] = class11_7.anInt306; + continue; + } + if(-2502 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_7.anInt210; + continue; + } + if(2502 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_7.anInt168; + continue; + } + if(j1 == 2503) + { + Class140_Sub7.anIntArray2929[k++] = class11_7.anInt193; + continue; + } + if(2504 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_7.hidden ? 1 : 0; + continue; + } + if(j1 != 2505) + break; + Class140_Sub7.anIntArray2929[k++] = class11_7.parentId; + continue; + } + if(-2701 >= ~j1) + { + if(2800 <= j1) + { + if(j1 >= 2900) + { + if(~j1 > -3201) + { + if(-3101 == ~j1) + { + RSString class94_3 = Class3.aClass94Array75[--l]; + Class3_Sub30_Sub1.sendMessage(Class3_Sub9.aClass94_2331, 0, class94_3, -1); + continue; + } + if(-3102 == ~j1) + { + k -= 2; + Class3_Sub28_Sub14.method628(0, Class140_Sub7.anIntArray2929[k - -1], Class140_Sub7.anIntArray2929[k], Class102.player); + continue; + } + if(j1 == 3103) + { + Class3_Sub13_Sub19.method264((byte)87); + continue; + } + if(j1 == 3104) + { + Class100.anInt1405++; + RSString class94_4 = Class3.aClass94Array75[--l]; + int i46 = 0; + if(class94_4.method1543(82)) + i46 = class94_4.method1552((byte)-104); + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(23); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-124, i46); + continue; + } + if(~j1 == -3106) + { + Class3_Sub22.anInt2500++; + RSString class94_5 = Class3.aClass94Array75[--l]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(244); + Class3_Sub13_Sub1.outgoingBuffer.putLong(class94_5.toLong(-115), 0x868e5910); + continue; + } + if(j1 == 3106) + { + Class7.anInt2165++; + RSString class94_6 = Class3.aClass94Array75[--l]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(65); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-17, 1 + class94_6.length(-84)); + Class3_Sub13_Sub1.outgoingBuffer.putString(0, class94_6); + continue; + } + if(j1 == 3107) + { + int i7 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_44 = Class3.aClass94Array75[--l]; + Class166.method2258(i7, 0, class94_44); + continue; + } + if(-3109 == ~j1) + { + k -= 3; + int j46 = Class140_Sub7.anIntArray2929[k - -1]; + int j7 = Class140_Sub7.anIntArray2929[k]; + int l67 = Class140_Sub7.anIntArray2929[2 + k]; + RSInterface class11_22 = Class7.getRSInterface((byte)114, l67); + Class3_Sub28_Sub6.a(j46, j7, 115, class11_22); + continue; + } + if(-3110 == ~j1) + { + k -= 2; + int k7 = Class140_Sub7.anIntArray2929[k]; + RSInterface class11_20 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + int k46 = Class140_Sub7.anIntArray2929[1 + k]; + Class3_Sub28_Sub6.a(k46, k7, 79, class11_20); + continue; + } + if(-3111 != ~j1) + break; + Class3_Sub13_Sub16.anInt3199++; + int l7 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(111); + Class3_Sub13_Sub1.outgoingBuffer.putShort(l7); + continue; + } + if(~j1 > -3301) + { + if(~j1 == -3201) + { + k -= 3; + Class3_Sub13_Sub6.method199(Class140_Sub7.anIntArray2929[k - -1], Class140_Sub7.anIntArray2929[k], Class140_Sub7.anIntArray2929[k + 2], -799); + continue; + } + if(~j1 == -3202) + { + Class86.method1427(true, Class140_Sub7.anIntArray2929[--k]); + continue; + } + if(-3203 != ~j1) + break; + k -= 2; + Class167.method2266(Class140_Sub7.anIntArray2929[1 + k], Class140_Sub7.anIntArray2929[k], (byte)-1); + continue; + } + if(~j1 > -3401) + { + if(-3301 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class44.anInt719; + continue; + } + if(-3302 == ~j1) + { + k -= 2; + int i8 = Class140_Sub7.anIntArray2929[k]; + int l46 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = RSInterface.method861(i8, 89, l46); + continue; + } + if(~j1 == -3303) + { + k -= 2; + int i47 = Class140_Sub7.anIntArray2929[k + 1]; + int j8 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class12.method872(-1, j8, i47); + continue; + } + if(3303 == j1) + { + k -= 2; + int j47 = Class140_Sub7.anIntArray2929[k - -1]; + int k8 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class167.method2268((byte)-107, k8, j47); + continue; + } + if(3304 == j1) + { + int l8 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class144.method2069(l8, -127).anInt3647; + continue; + } + if(~j1 == -3306) + { + int i9 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub15.anIntArray3185[i9]; + continue; + } + if(j1 == 3306) + { + int j9 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub20.anIntArray2480[j9]; + continue; + } + if(3307 == j1) + { + int k9 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class133.anIntArray1743[k9]; + continue; + } + if(-3309 == ~j1) + { + int l9 = WorldListCountry.localPlane; + int k47 = Class131.anInt1716 + (Class102.player.anInt2819 >> 7); + int i68 = (Class102.player.anInt2829 >> 7) - -Class82.anInt1152; + Class140_Sub7.anIntArray2929[k++] = (l9 << 28) - (-(k47 << 14) - i68); + continue; + } + if(~j1 == -3310) + { + int i10 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(16383, i10 >> 14); + continue; + } + if(3310 == j1) + { + int j10 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = j10 >> 28; + continue; + } + if(-3312 == ~j1) + { + int k10 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(k10, 16383); + continue; + } + if(~j1 == -3313) + { + Class140_Sub7.anIntArray2929[k++] = Class2.isMember ? 1 : 0; + continue; + } + if(3313 == j1) + { + k -= 2; + int l10 = 32768 + Class140_Sub7.anIntArray2929[k]; + int l47 = Class140_Sub7.anIntArray2929[k - -1]; + Class140_Sub7.anIntArray2929[k++] = RSInterface.method861(l10, 118, l47); + continue; + } + if(3314 == j1) + { + k -= 2; + int i11 = Class140_Sub7.anIntArray2929[k] - -32768; + int i48 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = Class12.method872(-1, i11, i48); + continue; + } + if(3315 == j1) + { + k -= 2; + int j11 = 32768 + Class140_Sub7.anIntArray2929[k]; + int j48 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = Class167.method2268((byte)-52, j11, j48); + continue; + } + if(~j1 == -3317) + { + if(-3 < ~Class3_Sub13_Sub26.rights) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub26.rights; + continue; + } + if(-3318 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class38_Sub1.anInt2617; + continue; + } + if(3318 == j1) + { + Class140_Sub7.anIntArray2929[k++] = CS2Script.anInt2451; + continue; + } + if(3321 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class9.anInt136; + continue; + } + if(-3323 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class149.anInt1925; + continue; + } + if(3323 == j1) + { + if(~Class3_Sub28_Sub19.anInt3775 <= -6 && -10 <= ~Class3_Sub28_Sub19.anInt3775) + Class140_Sub7.anIntArray2929[k++] = 1; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 == -3325) + { + if(~Class3_Sub28_Sub19.anInt3775 > -6 || Class3_Sub28_Sub19.anInt3775 > 9) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub19.anInt3775; + continue; + } + if(3325 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub29.disableGEBoxes ? 1 : 0; + continue; + } + if(3326 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class102.player.COMBAT_LEVEL; + continue; + } + if(3327 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class102.player.class52.aBoolean864 ? 1 : 0; + continue; + } + if(3328 == j1) + { + Class140_Sub7.anIntArray2929[k++] = !Class3_Sub15.aBoolean2433 || Class121.aBoolean1641 ? 0 : 1; + continue; + } + if(3329 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub14.aBoolean3166 ? 1 : 0; + continue; + } + if(~j1 == -3331) + { + int k11 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = WorldListEntry.method1079(k11, (byte)-80); + continue; + } + if(~j1 == -3332) + { + k -= 2; + int k48 = Class140_Sub7.anIntArray2929[1 + k]; + int l11 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class106.method1643(10131, false, l11, k48); + continue; + } + if(3332 == j1) + { + k -= 2; + int i12 = Class140_Sub7.anIntArray2929[k]; + int l48 = Class140_Sub7.anIntArray2929[k + 1]; + Class140_Sub7.anIntArray2929[k++] = Class106.method1643(10131, true, i12, l48); + continue; + } + if(3333 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class7.anInt2161; + continue; + } + if(3335 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub20.language; + continue; + } + if(-3337 == ~j1) + { + k -= 4; + int i49 = Class140_Sub7.anIntArray2929[k - -1]; + int j12 = Class140_Sub7.anIntArray2929[k]; + j12 += i49 << 14; + int k76 = Class140_Sub7.anIntArray2929[3 + k]; + int j68 = Class140_Sub7.anIntArray2929[2 + k]; + j12 += j68 << 28; + j12 += k76; + Class140_Sub7.anIntArray2929[k++] = j12; + continue; + } + if(j1 != 3337) + break; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub26.anInt2554; + continue; + } + if(j1 < 3500) + { + if(~j1 == -3401) + { + k -= 2; + int k12 = Class140_Sub7.anIntArray2929[k]; + int j49 = Class140_Sub7.anIntArray2929[1 + k]; + Class3_Sub28_Sub13 class3_sub28_sub13_1 = Class3_Sub13_Sub36.method342(k12, true); + if(-116 != ~class3_sub28_sub13_1.anInt3658); + Class3.aClass94Array75[l++] = class3_sub28_sub13_1.method616(j49, (byte)121); + continue; + } + if(3408 == j1) + { + k -= 4; + int l12 = Class140_Sub7.anIntArray2929[k]; + int k49 = Class140_Sub7.anIntArray2929[1 + k]; + int l76 = Class140_Sub7.anIntArray2929[3 + k]; + int k68 = Class140_Sub7.anIntArray2929[k - -2]; + Class3_Sub28_Sub13 class3_sub28_sub13_4 = Class3_Sub13_Sub36.method342(k68, true); + if(class3_sub28_sub13_4.anInt3662 != l12 || ~class3_sub28_sub13_4.anInt3658 != ~k49) + throw new RuntimeException("C3408-1"); + if(-116 != ~k49) + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub13_4.method620(0, l76); + else + Class3.aClass94Array75[l++] = class3_sub28_sub13_4.method616(l76, (byte)-25); + continue; + } + if(~j1 == -3410) + { + k -= 3; + int l49 = Class140_Sub7.anIntArray2929[k - -1]; + int l68 = Class140_Sub7.anIntArray2929[k + 2]; + int i13 = Class140_Sub7.anIntArray2929[k]; + if(0 == ~l49) + throw new RuntimeException("C3409-2"); + Class3_Sub28_Sub13 class3_sub28_sub13_3 = Class3_Sub13_Sub36.method342(l49, true); + if(~class3_sub28_sub13_3.anInt3658 != ~i13) + throw new RuntimeException("C3409-1"); + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub13_3.method621(-8143, l68) ? 1 : 0; + continue; + } + if(~j1 == -3411) + { + int j13 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_45 = Class3.aClass94Array75[--l]; + if(j13 == -1) + throw new RuntimeException("C3410-2"); + Class3_Sub28_Sub13 class3_sub28_sub13_2 = Class3_Sub13_Sub36.method342(j13, true); + if(-116 != ~class3_sub28_sub13_2.anInt3658) + throw new RuntimeException("C3410-1"); + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub13_2.method617(class94_45, 8729) ? 1 : 0; + continue; + } + if(-3412 != ~j1) + break; + int k13 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub13 class3_sub28_sub13 = Class3_Sub13_Sub36.method342(k13, true); + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub13.aClass130_3663.method1781(79); + continue; + } + if(3700 > j1) + { + if(3600 == j1) + { + if(Class96.anInt1357 == 0) + Class140_Sub7.anIntArray2929[k++] = -2; + else + if(Class96.anInt1357 != 1) + Class140_Sub7.anIntArray2929[k++] = Class8.anInt104; + else + Class140_Sub7.anIntArray2929[k++] = -1; + continue; + } + if(3601 == j1) + { + int l13 = Class140_Sub7.anIntArray2929[--k]; + if(-3 != ~Class96.anInt1357 || ~l13 <= ~Class8.anInt104) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = Class70.aClass94Array1046[l13]; + continue; + } + if(-3603 == ~j1) + { + int i14 = Class140_Sub7.anIntArray2929[--k]; + if(-3 != ~Class96.anInt1357 || ~Class8.anInt104 >= ~i14) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class55.anIntArray882[i14]; + continue; + } + if(j1 == 3603) + { + int j14 = Class140_Sub7.anIntArray2929[--k]; + if(2 == Class96.anInt1357 && Class8.anInt104 > j14) + Class140_Sub7.anIntArray2929[k++] = Class57.anIntArray904[j14]; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(3604 == j1) + { + int i50 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_7 = Class3.aClass94Array75[--l]; + Class100.method1605(255, class94_7, i50); + continue; + } + if(-3606 == ~j1) + { + RSString class94_8 = Class3.aClass94Array75[--l]; + Class163_Sub3.method2229(class94_8.toLong(-120), (byte)-91); + continue; + } + if(j1 == 3606) + { + RSString class94_9 = Class3.aClass94Array75[--l]; + Class3_Sub13_Sub27.method297(class94_9.toLong(-114), 1); + continue; + } + if(j1 == 3607) + { + RSString class94_10 = Class3.aClass94Array75[--l]; + Class81.method1399(32, class94_10.toLong(-116)); + continue; + } + if(~j1 == -3609) + { + RSString class94_11 = Class3.aClass94Array75[--l]; + Class3_Sub13_Sub10.method212(class94_11.toLong(-115), 0); + continue; + } + if(~j1 == -3610) + { + RSString class94_12 = Class3.aClass94Array75[--l]; + if(class94_12.method1558(Class3_Sub9.aClass94_2323, 0) || class94_12.method1558(Class3_Sub13_Sub16.aClass94_3190, 0)) + class94_12 = class94_12.method1556(7, (byte)-74); + Class140_Sub7.anIntArray2929[k++] = Class54.method1176(class94_12, (byte)-82) ? 1 : 0; + continue; + } + if(j1 == 3610) + { + int k14 = Class140_Sub7.anIntArray2929[--k]; + if(~Class96.anInt1357 == -3 && Class8.anInt104 > k14) + Class3.aClass94Array75[l++] = Node.aClass94Array2566[k14]; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(j1 == 3611) + { + if(RSInterface.aClass94_251 != null) + Class3.aClass94Array75[l++] = RSInterface.aClass94_251.method1545((byte)-50); + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(~j1 == -3613) + { + if(null != RSInterface.aClass94_251) + Class140_Sub7.anIntArray2929[k++] = Node.clanSize; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 == -3614) + { + int l14 = Class140_Sub7.anIntArray2929[--k]; + if(RSInterface.aClass94_251 == null || ~Node.clanSize >= ~l14) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[l14].aClass94_2476.method1545((byte)-50); + continue; + } + if(-3615 == ~j1) + { + int i15 = Class140_Sub7.anIntArray2929[--k]; + if(RSInterface.aClass94_251 == null || i15 >= Node.clanSize) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[i15].anInt2478; + continue; + } + if(3615 == j1) + { + int j15 = Class140_Sub7.anIntArray2929[--k]; + if(null == RSInterface.aClass94_251 || ~Node.clanSize >= ~j15) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[j15].aByte2472; + continue; + } + if(3616 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Player.aByte3953; + continue; + } + if(-3618 == ~j1) + { + RSString class94_13 = Class3.aClass94Array75[--l]; + Class106.method1642(3803, class94_13); + continue; + } + if(~j1 == -3619) + { + Class140_Sub7.anIntArray2929[k++] = Class91.aByte1308; + continue; + } + if(j1 == 3619) + { + RSString class94_14 = Class3.aClass94Array75[--l]; + Class3_Sub22.method400(class94_14.toLong(-107), 0); + continue; + } + if(j1 == 3620) + { + Class77.method1368(-90); + continue; + } + if(-3622 == ~j1) + { + if(Class96.anInt1357 == 0) + Class140_Sub7.anIntArray2929[k++] = -1; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub5.anInt3591; + continue; + } + if(3622 == j1) + { + int k15 = Class140_Sub7.anIntArray2929[--k]; + if(Class96.anInt1357 == 0 || Class3_Sub28_Sub5.anInt3591 <= k15) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = Class41.method1052(-29664, Class114.aLongArray1574[k15]).method1545((byte)-50); + continue; + } + if(3623 == j1) + { + RSString class94_15 = Class3.aClass94Array75[--l]; + if(class94_15.method1558(Class3_Sub9.aClass94_2323, 0) || class94_15.method1558(Class3_Sub13_Sub16.aClass94_3190, 0)) + class94_15 = class94_15.method1556(7, (byte)-74); + Class140_Sub7.anIntArray2929[k++] = Class3_Sub24_Sub3.method467(class94_15, 0) ? 1 : 0; + continue; + } + if(-3625 == ~j1) + { + int l15 = Class140_Sub7.anIntArray2929[--k]; + if(null != Class3_Sub28_Sub15.aClass3_Sub19Array3694 && ~Node.clanSize < ~l15 && Class3_Sub28_Sub15.aClass3_Sub19Array3694[l15].aClass94_2476.equals(-118, Class102.player.displayName)) + Class140_Sub7.anIntArray2929[k++] = 1; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(-3626 == ~j1) + { + if(Class161.aClass94_2035 == null) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = Class161.aClass94_2035.method1545((byte)-50); + continue; + } + if(3626 == j1) + { + int i16 = Class140_Sub7.anIntArray2929[--k]; + if(RSInterface.aClass94_251 == null || ~Node.clanSize >= ~i16) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[i16].aClass94_2473; + continue; + } + if(~j1 == -3628) + { + int j16 = Class140_Sub7.anIntArray2929[--k]; + if(Class96.anInt1357 != 2 || 0 > j16 || ~j16 <= ~Class8.anInt104) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class3.aBooleanArray73[j16] ? 1 : 0; + continue; + } + if(j1 == 3628) + { + RSString class94_16 = Class3.aClass94Array75[--l]; + if(class94_16.method1558(Class3_Sub9.aClass94_2323, 0) || class94_16.method1558(Class3_Sub13_Sub16.aClass94_3190, 0)) + class94_16 = class94_16.method1556(7, (byte)-74); + Class140_Sub7.anIntArray2929[k++] = PacketParser.method826(class94_16, -1); + continue; + } + if(~j1 != -3630) + break; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub31.countryId; + continue; + } + if(j1 < 4000) + { + if(j1 == 3903) + { + int k16 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[k16].method1805((byte)-33); + continue; + } + if(-3905 == ~j1) + { + int l16 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[l16].anInt1752; + continue; + } + if(-3906 == ~j1) + { + int i17 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[i17].anInt1757; + continue; + } + if(~j1 == -3907) + { + int j17 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[j17].anInt1747; + continue; + } + if(~j1 == -3908) + { + int k17 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[k17].anInt1746; + continue; + } + if(3908 == j1) + { + int l17 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub33.aClass133Array3393[l17].anInt1750; + continue; + } + if(3910 == j1) + { + int i18 = Class140_Sub7.anIntArray2929[--k]; + int j50 = Class3_Sub13_Sub33.aClass133Array3393[i18].method1804(false); + Class140_Sub7.anIntArray2929[k++] = -1 == ~j50 ? 1 : 0; + continue; + } + if(3911 == j1) + { + int j18 = Class140_Sub7.anIntArray2929[--k]; + int k50 = Class3_Sub13_Sub33.aClass133Array3393[j18].method1804(false); + Class140_Sub7.anIntArray2929[k++] = ~k50 != -3 ? 0 : 1; + continue; + } + if(-3913 == ~j1) + { + int k18 = Class140_Sub7.anIntArray2929[--k]; + int l50 = Class3_Sub13_Sub33.aClass133Array3393[k18].method1804(false); + Class140_Sub7.anIntArray2929[k++] = ~l50 == -6 ? 1 : 0; + continue; + } + if(-3914 != ~j1) + break; + int l18 = Class140_Sub7.anIntArray2929[--k]; + int i51 = Class3_Sub13_Sub33.aClass133Array3393[l18].method1804(false); + Class140_Sub7.anIntArray2929[k++] = 1 == i51 ? 1 : 0; + continue; + } + if(j1 < 4100) + { + if(j1 == 4000) + { + k -= 2; + int i19 = Class140_Sub7.anIntArray2929[k]; + int j51 = Class140_Sub7.anIntArray2929[k - -1]; + Class140_Sub7.anIntArray2929[k++] = j51 + i19; + continue; + } + if(-4002 == ~j1) + { + k -= 2; + int j19 = Class140_Sub7.anIntArray2929[k]; + int k51 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = -k51 + j19; + continue; + } + if(4002 == j1) + { + k -= 2; + int k19 = Class140_Sub7.anIntArray2929[k]; + int l51 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = l51 * k19; + continue; + } + if(4003 == j1) + { + k -= 2; + int l19 = Class140_Sub7.anIntArray2929[k]; + int i52 = Class140_Sub7.anIntArray2929[k - -1]; + Class140_Sub7.anIntArray2929[k++] = l19 / i52; + continue; + } + if(~j1 == -4005) + { + int i20 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = (int)((double)i20 * Math.random()); + continue; + } + if(4005 == j1) + { + int j20 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = (int)(Math.random() * (double)(1 + j20)); + continue; + } + if(4006 == j1) + { + k -= 5; + int k20 = Class140_Sub7.anIntArray2929[k]; + int j52 = Class140_Sub7.anIntArray2929[k - -1]; + int i77 = Class140_Sub7.anIntArray2929[k - -3]; + int i69 = Class140_Sub7.anIntArray2929[2 + k]; + int j79 = Class140_Sub7.anIntArray2929[k + 4]; + Class140_Sub7.anIntArray2929[k++] = ((-k20 + j52) * (j79 + -i69)) / (-i69 + i77) + k20; + continue; + } + if(-4008 == ~j1) + { + k -= 2; + long l20 = Class140_Sub7.anIntArray2929[k]; + long l69 = Class140_Sub7.anIntArray2929[k + 1]; + Class140_Sub7.anIntArray2929[k++] = (int)((l20 * l69) / 100L + l20); + continue; + } + if(-4009 == ~j1) + { + k -= 2; + int i21 = Class140_Sub7.anIntArray2929[k]; + int k52 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub29.bitwiseOr(i21, 1 << k52); + continue; + } + if(4009 == j1) + { + k -= 2; + int j21 = Class140_Sub7.anIntArray2929[k]; + int l52 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(-1 - (1 << l52), j21); + continue; + } + if(-4011 == ~j1) + { + k -= 2; + int k21 = Class140_Sub7.anIntArray2929[k]; + int i53 = Class140_Sub7.anIntArray2929[k - -1]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(k21, 1 << i53) != 0 ? 1 : 0; + continue; + } + if(j1 == 4011) + { + k -= 2; + int j53 = Class140_Sub7.anIntArray2929[k - -1]; + int l21 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = l21 % j53; + continue; + } + if(-4013 == ~j1) + { + k -= 2; + int k53 = Class140_Sub7.anIntArray2929[k + 1]; + int i22 = Class140_Sub7.anIntArray2929[k]; + if(0 != i22) + Class140_Sub7.anIntArray2929[k++] = (int)Math.pow(i22, k53); + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 == -4014) + { + k -= 2; + int l53 = Class140_Sub7.anIntArray2929[k - -1]; + int j22 = Class140_Sub7.anIntArray2929[k]; + if(-1 != ~j22) + { + if(~l53 == -1) + Class140_Sub7.anIntArray2929[k++] = 0x7fffffff; + else + Class140_Sub7.anIntArray2929[k++] = (int)Math.pow(j22, 1.0D / (double)l53); + } else + { + Class140_Sub7.anIntArray2929[k++] = 0; + } + continue; + } + if(~j1 == -4015) + { + k -= 2; + int i54 = Class140_Sub7.anIntArray2929[k + 1]; + int k22 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(i54, k22); + continue; + } + if(j1 == 4015) + { + k -= 2; + int l22 = Class140_Sub7.anIntArray2929[k]; + int j54 = Class140_Sub7.anIntArray2929[k + 1]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub29.bitwiseOr(l22, j54); + continue; + } + if(-4017 == ~j1) + { + k -= 2; + int i23 = Class140_Sub7.anIntArray2929[k]; + int k54 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = ~i23 <= ~k54 ? k54 : i23; + continue; + } + if(~j1 == -4018) + { + k -= 2; + int l54 = Class140_Sub7.anIntArray2929[1 + k]; + int j23 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = ~l54 > ~j23 ? j23 : l54; + continue; + } + if(j1 != 4018) + break; + k -= 3; + long l23 = Class140_Sub7.anIntArray2929[k]; + long l70 = Class140_Sub7.anIntArray2929[k + 1]; + long l79 = Class140_Sub7.anIntArray2929[2 + k]; + Class140_Sub7.anIntArray2929[k++] = (int)((l23 * l79) / l70); + continue; + } + if(4200 <= j1) + { + if(~j1 <= -4301) + { + if(~j1 > -4401) + { + if(4300 != j1) + break; + k -= 2; + int k23 = Class140_Sub7.anIntArray2929[k]; + int i55 = Class140_Sub7.anIntArray2929[1 + k]; + Class3_Sub28_Sub9 class3_sub28_sub9 = Class61.method1210(64, i55); + if(!class3_sub28_sub9.method585(0)) + Class140_Sub7.anIntArray2929[k++] = Node.method522(k23, 27112).method1475(i55, -26460, class3_sub28_sub9.anInt3614); + else + Class3.aClass94Array75[l++] = Node.method522(k23, 27112).method1477(i55, class3_sub28_sub9.aClass94_3619, true); + continue; + } + if(~j1 <= -4501) + { + if(~j1 <= -4601) + { + if(~j1 > -5101) + { + if(j1 == 5000) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub8.anInt3101; + continue; + } + if(~j1 == -5002) + { + Class123.anInt1657++; + k -= 3; + Class3_Sub13_Sub8.anInt3101 = Class140_Sub7.anIntArray2929[k]; + Class24.anInt467 = Class140_Sub7.anIntArray2929[1 + k]; + Class45.anInt734 = Class140_Sub7.anIntArray2929[2 + k]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(157); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-8, Class3_Sub13_Sub8.anInt3101); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-126, Class24.anInt467); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-82, Class45.anInt734); + continue; + } + if(j1 == 5002) + { + RSString class94_17 = Class3.aClass94Array75[--l]; + k -= 2; + int j55 = Class140_Sub7.anIntArray2929[k]; + Class154.anInt1956++; + int j69 = Class140_Sub7.anIntArray2929[1 + k]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(99); + Class3_Sub13_Sub1.outgoingBuffer.putLong(class94_17.toLong(-110), 0x868e5910); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-33, j55 - 1); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-104, j69); + continue; + } + if(j1 == 5003) + { + RSString class94_46 = null; + int i24 = Class140_Sub7.anIntArray2929[--k]; + if(i24 < 100) + class94_46 = Class3_Sub29.aClass94Array2580[i24]; + if(class94_46 == null) + class94_46 = Class3_Sub9.aClass94_2331; + Class3.aClass94Array75[l++] = class94_46; + continue; + } + if(-5005 == ~j1) + { + int j24 = Class140_Sub7.anIntArray2929[--k]; + int k55 = -1; + if(j24 < 100 && null != Class3_Sub29.aClass94Array2580[j24]) + k55 = Class3_Sub13_Sub6.anIntArray3082[j24]; + Class140_Sub7.anIntArray2929[k++] = k55; + continue; + } + if(j1 == 5005) + { + Class140_Sub7.anIntArray2929[k++] = Class24.anInt467; + continue; + } + if(j1 == 5008) + { + RSString class94_18 = Class3.aClass94Array75[--l]; + if(class94_18.method1558(Class9.aClass94_132, 0)) + Class73.method1308(class94_18, false); + else + if(Class3_Sub13_Sub26.rights != 0 || (!Class3_Sub15.aBoolean2433 || Class121.aBoolean1641) && !Class3_Sub13_Sub14.aBoolean3166) + { + RSString class94_47 = class94_18.method1534(-98); + Class162.anInt2037++; + byte byte3 = 0; + if(class94_47.method1558(Class3_Sub28_Sub2.aClass94_3548, 0)) + { + byte3 = 0; + class94_18 = class94_18.method1556(Class3_Sub28_Sub2.aClass94_3548.length(-54), (byte)-74); + } else + if(!class94_47.method1558(Class3_Sub20.aClass94_2490, 0)) + { + if(!class94_47.method1558(aClass94_806, 0)) + { + if(class94_47.method1558(Client.aClass94_2197, 0)) + { + byte3 = 3; + class94_18 = class94_18.method1556(Client.aClass94_2197.length(-108), (byte)-74); + } else + if(class94_47.method1558(Class50.aClass94_833, 0)) + { + class94_18 = class94_18.method1556(Class50.aClass94_833.length(-62), (byte)-74); + byte3 = 4; + } else + if(class94_47.method1558(Class3_Sub1.aClass94_2214, 0)) + { + class94_18 = class94_18.method1556(Class3_Sub1.aClass94_2214.length(-46), (byte)-74); + byte3 = 5; + } else + if(!class94_47.method1558(Class3_Sub13_Sub20.aClass94_3246, 0)) + { + if(!class94_47.method1558(Canvas_Sub2.aClass94_32, 0)) + { + if(class94_47.method1558(NPC.aClass94_3981, 0)) + { + class94_18 = class94_18.method1556(NPC.aClass94_3981.length(-92), (byte)-74); + byte3 = 8; + } else + if(!class94_47.method1558(Class2.aClass94_60, 0)) + { + if(class94_47.method1558(Class154.aClass94_1961, 0)) + { + byte3 = 10; + class94_18 = class94_18.method1556(Class154.aClass94_1961.length(-126), (byte)-74); + } else + if(!class94_47.method1558(Class163_Sub1.aClass94_2992, 0)) + { + if(0 != Class3_Sub20.language) + if(class94_47.method1558(Class3_Sub28_Sub2.aClass94_3544, 0)) + { + byte3 = 0; + class94_18 = class94_18.method1556(Class3_Sub28_Sub2.aClass94_3544.length(-116), (byte)-74); + } else + if(class94_47.method1558(Class3_Sub20.aClass94_2481, 0)) + { + class94_18 = class94_18.method1556(Class3_Sub20.aClass94_2481.length(-80), (byte)-74); + byte3 = 1; + } else + if(class94_47.method1558(aClass94_809, 0)) + { + class94_18 = class94_18.method1556(aClass94_809.length(-90), (byte)-74); + byte3 = 2; + } else + if(!class94_47.method1558(Client.aClass94_2196, 0)) + { + if(!class94_47.method1558(Class50.aClass94_825, 0)) + { + if(class94_47.method1558(Class3_Sub1.aClass94_2210, 0)) + { + byte3 = 5; + class94_18 = class94_18.method1556(Class3_Sub1.aClass94_2210.length(-90), (byte)-74); + } else + if(class94_47.method1558(Class3_Sub13_Sub20.aClass94_3249, 0)) + { + class94_18 = class94_18.method1556(Class3_Sub13_Sub20.aClass94_3249.length(-100), (byte)-74); + byte3 = 6; + } else + if(class94_47.method1558(Canvas_Sub2.aClass94_36, 0)) + { + byte3 = 7; + class94_18 = class94_18.method1556(Canvas_Sub2.aClass94_36.length(-30), (byte)-74); + } else + if(class94_47.method1558(NPC.aClass94_3988, 0)) + { + byte3 = 8; + class94_18 = class94_18.method1556(NPC.aClass94_3988.length(-101), (byte)-74); + } else + if(class94_47.method1558(Class2.aClass94_62, 0)) + { + byte3 = 9; + class94_18 = class94_18.method1556(Class2.aClass94_62.length(-55), (byte)-74); + } else + if(class94_47.method1558(Class154.aClass94_1962, 0)) + { + class94_18 = class94_18.method1556(Class154.aClass94_1962.length(-115), (byte)-74); + byte3 = 10; + } else + if(class94_47.method1558(Class163_Sub1.aClass94_2991, 0)) + { + class94_18 = class94_18.method1556(Class163_Sub1.aClass94_2991.length(-84), (byte)-74); + byte3 = 11; + } + } else + { + class94_18 = class94_18.method1556(Class50.aClass94_825.length(-52), (byte)-74); + byte3 = 4; + } + } else + { + class94_18 = class94_18.method1556(Client.aClass94_2196.length(-34), (byte)-74); + byte3 = 3; + } + } else + { + class94_18 = class94_18.method1556(Class163_Sub1.aClass94_2992.length(-50), (byte)-74); + byte3 = 11; + } + } else + { + byte3 = 9; + class94_18 = class94_18.method1556(Class2.aClass94_60.length(-34), (byte)-74); + } + } else + { + byte3 = 7; + class94_18 = class94_18.method1556(Canvas_Sub2.aClass94_32.length(-83), (byte)-74); + } + } else + { + byte3 = 6; + class94_18 = class94_18.method1556(Class3_Sub13_Sub20.aClass94_3246.length(-63), (byte)-74); + } + } else + { + class94_18 = class94_18.method1556(aClass94_806.length(-115), (byte)-74); + byte3 = 2; + } + } else + { + class94_18 = class94_18.method1556(Class3_Sub20.aClass94_2490.length(-102), (byte)-74); + byte3 = 1; + } + byte byte4 = 0; + class94_47 = class94_18.method1534(-98); + if(class94_47.method1558(Class140_Sub3.aClass94_2740, 0)) + { + class94_18 = class94_18.method1556(Class140_Sub3.aClass94_2740.length(-105), (byte)-74); + byte4 = 1; + } else + if(!class94_47.method1558(Class3_Sub13_Sub26.aClass94_3325, 0)) + { + if(!class94_47.method1558(Class128.aClass94_1689, 0)) + { + if(!class94_47.method1558(Class27.aClass94_528, 0)) + { + if(class94_47.method1558(GraphicDefinition.aClass94_547, 0)) + { + byte4 = 5; + class94_18 = class94_18.method1556(GraphicDefinition.aClass94_547.length(-17), (byte)-74); + } else + if(0 != Class3_Sub20.language) + if(!class94_47.method1558(Class140_Sub3.aClass94_2751, 0)) + { + if(!class94_47.method1558(Class3_Sub13_Sub26.aClass94_3333, 0)) + { + if(!class94_47.method1558(Class128.aClass94_1688, 0)) + { + if(!class94_47.method1558(Class27.aClass94_523, 0)) + { + if(class94_47.method1558(GraphicDefinition.aClass94_551, 0)) + { + class94_18 = class94_18.method1556(GraphicDefinition.aClass94_551.length(-124), (byte)-74); + byte4 = 5; + } + } else + { + byte4 = 4; + class94_18 = class94_18.method1556(Class27.aClass94_523.length(-92), (byte)-74); + } + } else + { + byte4 = 3; + class94_18 = class94_18.method1556(Class128.aClass94_1688.length(-45), (byte)-74); + } + } else + { + byte4 = 2; + class94_18 = class94_18.method1556(Class3_Sub13_Sub26.aClass94_3333.length(-106), (byte)-74); + } + } else + { + class94_18 = class94_18.method1556(Class140_Sub3.aClass94_2751.length(-74), (byte)-74); + byte4 = 1; + } + } else + { + byte4 = 4; + class94_18 = class94_18.method1556(Class27.aClass94_528.length(-37), (byte)-74); + } + } else + { + class94_18 = class94_18.method1556(Class128.aClass94_1689.length(-37), (byte)-74); + byte4 = 3; + } + } else + { + byte4 = 2; + class94_18 = class94_18.method1556(Class3_Sub13_Sub26.aClass94_3325.length(-117), (byte)-74); + } + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(237); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-11, 0); + int k79 = Class3_Sub13_Sub1.outgoingBuffer.index; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-34, byte3); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-117, byte4); + Class85.method1423(false, Class3_Sub13_Sub1.outgoingBuffer, class94_18); + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)-127, -k79 + Class3_Sub13_Sub1.outgoingBuffer.index); + } + continue; + } + if(~j1 == -5010) + { + l -= 2; + RSString class94_48 = Class3.aClass94Array75[l + 1]; + RSString class94_19 = Class3.aClass94Array75[l]; + if(~Class3_Sub13_Sub26.rights != -1 || (!Class3_Sub15.aBoolean2433 || Class121.aBoolean1641) && !Class3_Sub13_Sub14.aBoolean3166) + { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(201); + Class15.anInt348++; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-121, 0); + int k69 = Class3_Sub13_Sub1.outgoingBuffer.index; + Class3_Sub13_Sub1.outgoingBuffer.putLong(class94_19.toLong(-128), 0x868e5910); + Class85.method1423(false, Class3_Sub13_Sub1.outgoingBuffer, class94_48); + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)-127, Class3_Sub13_Sub1.outgoingBuffer.index - k69); + } + continue; + } + if(~j1 == -5011) + { + int k24 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_49 = null; + if(~k24 > -101) + class94_49 = Class3_Sub13_Sub19.aClass94Array3226[k24]; + if(null == class94_49) + class94_49 = Class3_Sub9.aClass94_2331; + Class3.aClass94Array75[l++] = class94_49; + continue; + } + if(-5012 == ~j1) + { + int l24 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_50 = null; + if(l24 < 100) + class94_50 = Class163_Sub3.aClass94Array3003[l24]; + if(class94_50 == null) + class94_50 = Class3_Sub9.aClass94_2331; + Class3.aClass94Array75[l++] = class94_50; + continue; + } + if(j1 == 5012) + { + int i25 = Class140_Sub7.anIntArray2929[--k]; + int l55 = -1; + if(i25 < 100) + l55 = GameObject.anIntArray1835[i25]; + Class140_Sub7.anIntArray2929[k++] = l55; + continue; + } + if(j1 == 5015) + { + RSString class94_20; + if(Class102.player == null || null == Class102.player.displayName) + class94_20 = Class3_Sub28_Sub14.username; + else + class94_20 = Class102.player.getName(0); + Class3.aClass94Array75[l++] = class94_20; + continue; + } + if(-5017 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class45.anInt734; + continue; + } + if(j1 == 5017) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub9.anInt3114; + continue; + } + if(5050 == j1) + { + int j25 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = Class3_Sub13_Sub35.getQuickChatMessage(j25, (byte)-54).quickChatMenu; + continue; + } + if(-5052 == ~j1) + { + int k25 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub1 class3_sub28_sub1 = Class3_Sub13_Sub35.getQuickChatMessage(k25, (byte)-54); + if(class3_sub28_sub1.anIntArray3534 != null) + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub1.anIntArray3534.length; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(j1 == 5052) + { + k -= 2; + int l25 = Class140_Sub7.anIntArray2929[k]; + int i56 = Class140_Sub7.anIntArray2929[k - -1]; + Class3_Sub28_Sub1 class3_sub28_sub1_2 = Class3_Sub13_Sub35.getQuickChatMessage(l25, (byte)-54); + int j77 = class3_sub28_sub1_2.anIntArray3534[i56]; + Class140_Sub7.anIntArray2929[k++] = j77; + continue; + } + if(~j1 == -5054) + { + int i26 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub1 class3_sub28_sub1_1 = Class3_Sub13_Sub35.getQuickChatMessage(i26, (byte)-54); + if(class3_sub28_sub1_1.anIntArray3540 != null) + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub1_1.anIntArray3540.length; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 == -5055) + { + k -= 2; + int j56 = Class140_Sub7.anIntArray2929[1 + k]; + int j26 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub35.getQuickChatMessage(j26, (byte)-54).anIntArray3540[j56]; + continue; + } + if(-5056 == ~j1) + { + int k26 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = Class3_Sub29.method733(0xbc614e, k26).method554(-1); + continue; + } + if(-5057 == ~j1) + { + int l26 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub4 class3_sub28_sub4 = Class3_Sub29.method733(0xbc614e, l26); + if(null != class3_sub28_sub4.anIntArray3567) + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub4.anIntArray3567.length; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 == -5058) + { + k -= 2; + int k56 = Class140_Sub7.anIntArray2929[1 + k]; + int i27 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub29.method733(0xbc614e, i27).anIntArray3567[k56]; + continue; + } + if(j1 == 5058) + { + Class70.aClass10_1056 = new Class10(); + Class70.aClass10_1056.anInt149 = Class140_Sub7.anIntArray2929[--k]; + Class70.aClass10_1056.aClass3_Sub28_Sub4_151 = Class3_Sub29.method733(0xbc614e, Class70.aClass10_1056.anInt149); + Class70.aClass10_1056.anIntArray153 = new int[Class70.aClass10_1056.aClass3_Sub28_Sub4_151.method552(true)]; + continue; + } + if(5059 == j1) + { + Class3_Sub28_Sub8.anInt3613++; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(167); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-105, 0); + int j27 = Class3_Sub13_Sub1.outgoingBuffer.index; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-61, 0); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class70.aClass10_1056.anInt149); + Class70.aClass10_1056.aClass3_Sub28_Sub4_151.method545(Class3_Sub13_Sub1.outgoingBuffer, Class70.aClass10_1056.anIntArray153, false); + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)-126, -j27 + Class3_Sub13_Sub1.outgoingBuffer.index); + continue; + } + if(5060 == j1) + { + Class148.anInt1906++; + RSString class94_21 = Class3.aClass94Array75[--l]; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(178); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-108, 0); + int l56 = Class3_Sub13_Sub1.outgoingBuffer.index; + Class3_Sub13_Sub1.outgoingBuffer.putLong(class94_21.toLong(-124), 0x868e5910); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class70.aClass10_1056.anInt149); + Class70.aClass10_1056.aClass3_Sub28_Sub4_151.method545(Class3_Sub13_Sub1.outgoingBuffer, Class70.aClass10_1056.anIntArray153, false); + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)108, Class3_Sub13_Sub1.outgoingBuffer.index + -l56); + continue; + } + if(-5062 == ~j1) + { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(167); + Class3_Sub28_Sub8.anInt3613++; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-62, 0); + int k27 = Class3_Sub13_Sub1.outgoingBuffer.index; + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-88, 1); + Class3_Sub13_Sub1.outgoingBuffer.putShort(Class70.aClass10_1056.anInt149); + Class70.aClass10_1056.aClass3_Sub28_Sub4_151.method545(Class3_Sub13_Sub1.outgoingBuffer, Class70.aClass10_1056.anIntArray153, false); + Class3_Sub13_Sub1.outgoingBuffer.method769((byte)-126, -k27 + Class3_Sub13_Sub1.outgoingBuffer.index); + continue; + } + if(-5063 == ~j1) + { + k -= 2; + int i57 = Class140_Sub7.anIntArray2929[1 + k]; + int l27 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub35.getQuickChatMessage(l27, (byte)-54).anIntArray3535[i57]; + continue; + } + if(-5064 == ~j1) + { + k -= 2; + int j57 = Class140_Sub7.anIntArray2929[k - -1]; + int i28 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub35.getQuickChatMessage(i28, (byte)-54).anIntArray3533[j57]; + continue; + } + if(5064 == j1) + { + k -= 2; + int k57 = Class140_Sub7.anIntArray2929[1 + k]; + int j28 = Class140_Sub7.anIntArray2929[k]; + if(k57 != -1) + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub35.getQuickChatMessage(j28, (byte)-54).method529((byte)50, k57); + else + Class140_Sub7.anIntArray2929[k++] = -1; + continue; + } + if(j1 == 5065) + { + k -= 2; + int k28 = Class140_Sub7.anIntArray2929[k]; + int l57 = Class140_Sub7.anIntArray2929[k + 1]; + if(l57 != -1) + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub35.getQuickChatMessage(k28, (byte)-54).method526(l57, 0); + else + Class140_Sub7.anIntArray2929[k++] = -1; + continue; + } + if(-5067 == ~j1) + { + int l28 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub29.method733(0xbc614e, l28).method552(true); + continue; + } + if(~j1 == -5068) + { + k -= 2; + int i58 = Class140_Sub7.anIntArray2929[k + 1]; + int i29 = Class140_Sub7.anIntArray2929[k]; + int i70 = Class3_Sub29.method733(0xbc614e, i29).method550(49, i58); + Class140_Sub7.anIntArray2929[k++] = i70; + continue; + } + if(5068 == j1) + { + k -= 2; + int j29 = Class140_Sub7.anIntArray2929[k]; + int j58 = Class140_Sub7.anIntArray2929[1 + k]; + Class70.aClass10_1056.anIntArray153[j29] = j58; + continue; + } + if(~j1 == -5070) + { + k -= 2; + int k29 = Class140_Sub7.anIntArray2929[k]; + int k58 = Class140_Sub7.anIntArray2929[k + 1]; + Class70.aClass10_1056.anIntArray153[k29] = k58; + continue; + } + if(j1 == 5070) + { + k -= 3; + int l29 = Class140_Sub7.anIntArray2929[k]; + int j70 = Class140_Sub7.anIntArray2929[k - -2]; + int l58 = Class140_Sub7.anIntArray2929[k + 1]; + Class3_Sub28_Sub4 class3_sub28_sub4_1 = Class3_Sub29.method733(0xbc614e, l29); + if(0 != class3_sub28_sub4_1.method550(73, l58)) + throw new RuntimeException("bad command"); + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub4_1.method549(-117, j70, l58); + continue; + } + if(j1 == 5071) + { + RSString class94_22 = Class3.aClass94Array75[--l]; + boolean flag4 = 1 == Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub3.method541((byte)123, flag4, class94_22); + Class140_Sub7.anIntArray2929[k++] = Class62.anInt952; + continue; + } + if(5072 == j1) + { + if(Class99.aShortArray1398 == null || ~Class140_Sub4.anInt2756 <= ~Class62.anInt952) + Class140_Sub7.anIntArray2929[k++] = -1; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(Class99.aShortArray1398[Class140_Sub4.anInt2756++], 65535); + continue; + } + if(j1 != 5073) + break; + Class140_Sub4.anInt2756 = 0; + continue; + } + if(5200 > j1) + { + if(5100 == j1) + { + if(!ObjectDefinition.aBooleanArray1490[86]) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = 1; + continue; + } + if(5101 == j1) + { + if(ObjectDefinition.aBooleanArray1490[82]) + Class140_Sub7.anIntArray2929[k++] = 1; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(5102 != j1) + break; + if(ObjectDefinition.aBooleanArray1490[81]) + Class140_Sub7.anIntArray2929[k++] = 1; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(~j1 > -5301) + { + if(-5201 == ~j1) + { + NPCDefinition.method1479(Class140_Sub7.anIntArray2929[--k], (byte)56); + continue; + } + if(5201 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub8.method571(-109); + continue; + } + if(j1 == 5202) + { + Class3_Sub24_Sub4.method503((byte)-53, Class140_Sub7.anIntArray2929[--k]); + continue; + } + if(5203 == j1) + { + Class3.method84(Class3.aClass94Array75[--l], -801); + continue; + } + if(5204 == j1) + { + Class3.aClass94Array75[l - 1] = GameShell.method27(Class3.aClass94Array75[l - 1], true); + continue; + } + if(5205 == j1) + { + Class3_Sub10.method138(Class3.aClass94Array75[--l], 0); + continue; + } + if(~j1 == -5207) + { + int i30 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub3 class3_sub28_sub3_4 = NodeList.method884(0x3fff & i30 >> 0x36628f6e, (byte)111, 0x3fff & i30); + if(class3_sub28_sub3_4 != null) + Class3.aClass94Array75[l++] = class3_sub28_sub3_4.aClass94_3561; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(~j1 == -5208) + { + Class3_Sub28_Sub3 class3_sub28_sub3 = Class3_Sub15.method371(2, Class3.aClass94Array75[--l]); + if(null != class3_sub28_sub3 && class3_sub28_sub3.aClass94_3554 != null) + Class3.aClass94Array75[l++] = class3_sub28_sub3.aClass94_3554; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(5208 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class49.anInt817; + Class140_Sub7.anIntArray2929[k++] = Class17.anInt410; + continue; + } + if(5209 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub21.anInt3256 + Class3_Sub28_Sub1.anInt3536; + Class140_Sub7.anIntArray2929[k++] = Class2.anInt65 + -Class3_Sub4.anInt2251 + (-1 + Class108.anInt1460); + continue; + } + if(~j1 == -5211) + { + Class3_Sub28_Sub3 class3_sub28_sub3_1 = Node.method520((byte)-82); + if(class3_sub28_sub3_1 == null) + { + Class140_Sub7.anIntArray2929[k++] = 0; + Class140_Sub7.anIntArray2929[k++] = 0; + } else + { + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub3_1.anInt3558 * 64; + Class140_Sub7.anIntArray2929[k++] = 64 * class3_sub28_sub3_1.anInt3556; + } + continue; + } + if(j1 == 5211) + { + Class3_Sub28_Sub3 class3_sub28_sub3_2 = Node.method520((byte)-121); + if(class3_sub28_sub3_2 != null) + { + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub3_2.anInt3559 - class3_sub28_sub3_2.anInt3555; + Class140_Sub7.anIntArray2929[k++] = -class3_sub28_sub3_2.anInt3562 + class3_sub28_sub3_2.anInt3549; + } else + { + Class140_Sub7.anIntArray2929[k++] = 0; + Class140_Sub7.anIntArray2929[k++] = 0; + } + continue; + } + if(~j1 == -5213) + { + int j30 = Class67.method1258((byte)-53); + int k70 = 0; + RSString class94_51; + if(~j30 != 0) + { + class94_51 = Class119.aClass131_1624.aClass94Array1721[j30]; + k70 = Class119.aClass131_1624.method1791(j30, 8); + } else + { + class94_51 = Class3_Sub9.aClass94_2331; + } + class94_51 = class94_51.method1560(Class140_Sub4.aClass94_2765, true, Class7.aClass94_2168); + Class3.aClass94Array75[l++] = class94_51; + Class140_Sub7.anIntArray2929[k++] = k70; + continue; + } + if(j1 == 5213) + { + int i71 = 0; + int k30 = Class3_Sub13_Sub17.method251(-1); + RSString class94_52; + if(0 != ~k30) + { + class94_52 = Class119.aClass131_1624.aClass94Array1721[k30]; + i71 = Class119.aClass131_1624.method1791(k30, 8); + } else + { + class94_52 = Class3_Sub9.aClass94_2331; + } + class94_52 = class94_52.method1560(Class140_Sub4.aClass94_2765, true, Class7.aClass94_2168); + Class3.aClass94Array75[l++] = class94_52; + Class140_Sub7.anIntArray2929[k++] = i71; + continue; + } + if(j1 == 5214) + { + int l30 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub28_Sub7.method565((byte)86, 0x3fff & l30 >> 0xa1b3276e, 0x3fff & l30); + continue; + } + if(~j1 == -5216) + { + int i31 = Class140_Sub7.anIntArray2929[--k]; + RSString class94_53 = Class3.aClass94Array75[--l]; + boolean flag10 = false; + NodeList class13 = AbstractIndexedSprite.method1664(0x3fff & i31 >> 0xa4e408ae, 0x3fff & i31, (byte)-118); + Class3_Sub28_Sub3 class3_sub28_sub3_5 = (Class3_Sub28_Sub3)class13.method876((byte)116); + do + { + if(class3_sub28_sub3_5 == null) + break; + if(class3_sub28_sub3_5.aClass94_3561.equals(124, class94_53)) + { + flag10 = true; + break; + } + class3_sub28_sub3_5 = (Class3_Sub28_Sub3)class13.method878(125); + } while(true); + if(!flag10) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = 1; + continue; + } + if(-5217 == ~j1) + { + int j31 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub13_Sub36.method344(j31, 4); + continue; + } + if(-5218 == ~j1) + { + int k31 = Class140_Sub7.anIntArray2929[--k]; + if(!Class3_Sub10.method140(k31, 20)) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = 1; + continue; + } + if(-5219 == ~j1) + { + Class3_Sub28_Sub3 class3_sub28_sub3_3 = Node.method520((byte)-124); + if(null != class3_sub28_sub3_3) + Class140_Sub7.anIntArray2929[k++] = class3_sub28_sub3_3.anInt3563; + else + Class140_Sub7.anIntArray2929[k++] = -1; + continue; + } + if(~j1 == -5220) + { + Class21.method915(Class3.aClass94Array75[--l], -1); + continue; + } + if(-5221 != ~j1) + break; + Class140_Sub7.anIntArray2929[k++] = ~Class140_Sub3.anInt2737 != -101 ? 0 : 1; + continue; + } + if(j1 < 5400) + { + if(j1 == 5300) + { + k -= 2; + int i59 = Class140_Sub7.anIntArray2929[1 + k]; + int l31 = Class140_Sub7.anIntArray2929[k]; + GameObject.method1862(false, 3, -8914, l31, i59); + Class140_Sub7.anIntArray2929[k++] = null != Class3_Sub13_Sub10.aFrame3121 ? 1 : 0; + continue; + } + if(-5302 == ~j1) + { + if(null != Class3_Sub13_Sub10.aFrame3121) + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + continue; + } + if(5302 == j1) + { + Class106 aclass106[] = Class3.method88((byte)28); + Class140_Sub7.anIntArray2929[k++] = aclass106.length; + continue; + } + if(5303 == j1) + { + int i32 = Class140_Sub7.anIntArray2929[--k]; + Class106 aclass106_1[] = Class3.method88((byte)28); + Class140_Sub7.anIntArray2929[k++] = aclass106_1[i32].anInt1447; + Class140_Sub7.anIntArray2929[k++] = aclass106_1[i32].anInt1449; + continue; + } + if(~j1 == -5306) + { + int j59 = Class3_Sub13_Sub5.anInt3071; + int j32 = Class3_Sub13.anInt2378; + int j71 = -1; + Class106 aclass106_2[] = Class3.method88((byte)28); + int i80 = 0; + do + { + if(aclass106_2.length <= i80) + break; + Class106 class106 = aclass106_2[i80]; + if(j32 == class106.anInt1447 && class106.anInt1449 == j59) + { + j71 = i80; + break; + } + i80++; + } while(true); + Class140_Sub7.anIntArray2929[k++] = j71; + continue; + } + if(j1 == 5306) + { + Class140_Sub7.anIntArray2929[k++] = Class83.method1411(0); + continue; + } + if(j1 == 5307) + { + int k32 = Class140_Sub7.anIntArray2929[--k]; + if(-1 < ~k32 || -3 > ~k32) + k32 = 0; + GameObject.method1862(false, k32, -8914, -1, -1); + continue; + } + if(5308 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Node.anInt2577; + continue; + } + if(5309 != j1) + break; + int l32 = Class140_Sub7.anIntArray2929[--k]; + if(~l32 > -1 || -3 > ~l32) + l32 = 0; + Node.anInt2577 = l32; + Class119.method1730(Class38.aClass87_665, (byte)14); + continue; + } + if(5500 > j1) + { + if(-5401 == ~j1) + { + l -= 2; + RSString class94_23 = Class3.aClass94Array75[l]; + RSString class94_54 = Class3.aClass94Array75[l - -1]; + int k71 = Class140_Sub7.anIntArray2929[--k]; + AnimationDefinition.anInt1853++; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(117); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-91, Class3_Sub13_Sub33.method326((byte)39, class94_23) - (-Class3_Sub13_Sub33.method326((byte)102, class94_54) + -1)); + Class3_Sub13_Sub1.outgoingBuffer.putString(0, class94_23); + Class3_Sub13_Sub1.outgoingBuffer.putString(0, class94_54); + Class3_Sub13_Sub1.outgoingBuffer.putByte((byte)-79, k71); + continue; + } + if(j1 == 5401) + { + k -= 2; + Class3_Sub13_Sub38.aShortArray3455[Class140_Sub7.anIntArray2929[k]] = (short)Class56.method1186(0, Class140_Sub7.anIntArray2929[k + 1]); + GameShell.method28(true); + RSByteBuffer.method746((byte)-29); + Class167.method2265(0); + WorldListEntry.method1076(88); + Class47.method1093(false); + continue; + } + if(~j1 == -5406) + { + k -= 2; + int i33 = Class140_Sub7.anIntArray2929[k]; + int k59 = Class140_Sub7.anIntArray2929[1 + k]; + if(i33 >= 0 && -3 < ~i33) + Class58.anIntArrayArrayArray911[i33] = new int[k59 << 0x27e6541][4]; + continue; + } + if(~j1 == -5407) + { + k -= 7; + int j33 = Class140_Sub7.anIntArray2929[k]; + int l59 = Class140_Sub7.anIntArray2929[1 + k] << 0xee994ea1; + int k77 = Class140_Sub7.anIntArray2929[k - -3]; + int l71 = Class140_Sub7.anIntArray2929[2 + k]; + int j80 = Class140_Sub7.anIntArray2929[4 + k]; + int j82 = Class140_Sub7.anIntArray2929[6 + k]; + int l81 = Class140_Sub7.anIntArray2929[5 + k]; + if(~j33 <= -1 && ~j33 > -3 && null != Class58.anIntArrayArrayArray911[j33] && ~l59 <= -1 && Class58.anIntArrayArrayArray911[j33].length > l59) + { + Class58.anIntArrayArrayArray911[j33][l59] = (new int[] { + (Class3_Sub28_Sub15.method633(0xfffc3b9, l71) >> 0x5f43122e) * 128, k77, 128 * Class3_Sub28_Sub15.method633(l71, 16383), j82 + }); + Class58.anIntArrayArrayArray911[j33][l59 + 1] = (new int[] { + 128 * (Class3_Sub28_Sub15.method633(j80, 0xfffed27) >> 0xe3e5364e), l81, 128 * Class3_Sub28_Sub15.method633(j80, 16383) + }); + } + continue; + } + if(~j1 == -5408) + { + int k33 = Class58.anIntArrayArrayArray911[Class140_Sub7.anIntArray2929[--k]].length >> 0x2b932e01; + Class140_Sub7.anIntArray2929[k++] = k33; + continue; + } + if(-5412 == ~j1) + { + if(Class3_Sub13_Sub10.aFrame3121 != null) + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + if(null == GameShell.frame) + Class99.method1596(RSInterface.method856(true), (byte)126, false); + else + System.exit(0); + continue; + } + if(j1 == 5419) + { + RSString class94_24 = Class3_Sub9.aClass94_2331; + if(null != Class136.aClass64_1778) + { + class94_24 = Class108.method1653(Class136.aClass64_1778.anInt979, 0); + if(Class136.aClass64_1778.anObject974 != null) + { + byte abyte0[] = null; + try { + abyte0 = ((String)Class136.aClass64_1778.anObject974).getBytes("ISO-8859-1"); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + class94_24 = Class3_Sub13_Sub3.method178(abyte0, -4114, abyte0.length, 0); + } + } + Class3.aClass94Array75[l++] = class94_24; + continue; + } + if(-5421 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Signlink.anInt1214 != 3 ? 0 : 1; + continue; + } + if(j1 == 5421) + { + if(null != Class3_Sub13_Sub10.aFrame3121) + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + boolean flag5 = 1 == Class140_Sub7.anIntArray2929[--k]; + RSString class94_25 = Class3.aClass94Array75[--l]; + RSString class94_64 = RenderAnimationDefinition.method903(new RSString[] { + RSInterface.method856(true), class94_25 + }, (byte)-71); + if(null == GameShell.frame && (!flag5 || -4 == ~Signlink.anInt1214 || !Signlink.osName.startsWith("win") || Class106.hasInternetExplorer6)) + { + Class99.method1596(class94_64, (byte)127, flag5); + } else + { + RSString.aBoolean2154 = flag5; + Class3_Sub13_Sub24.aClass94_3295 = class94_64; + try { + Class15.aClass64_351 = Class38.aClass87_665.method1452(new String(class94_64.method1568(0), "ISO-8859-1"), true); + } catch (UnsupportedEncodingException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + continue; + } + if(5422 == j1) + { + int i72 = Class140_Sub7.anIntArray2929[--k]; + l -= 2; + RSString class94_55 = Class3.aClass94Array75[1 + l]; + RSString class94_26 = Class3.aClass94Array75[l]; + if(-1 > ~class94_26.length(-127)) + { + if(null == Class3_Sub30_Sub1.aClass94Array3802) + Class3_Sub30_Sub1.aClass94Array3802 = new RSString[Class3_Sub13_Sub18.anIntArray3218[Class158.anInt2014]]; + Class3_Sub30_Sub1.aClass94Array3802[i72] = class94_26; + } + if(~class94_55.length(-118) < -1) + { + if(OutputStream_Sub1.aClass94Array45 == null) + OutputStream_Sub1.aClass94Array45 = new RSString[Class3_Sub13_Sub18.anIntArray3218[Class158.anInt2014]]; + OutputStream_Sub1.aClass94Array45[i72] = class94_55; + } + continue; + } + if(-5424 == ~j1) + { + Class3.aClass94Array75[--l].method1549(false); + continue; + } + if(5424 == j1) + { + k -= 11; + Class3_Sub28_Sub6.anInt3600 = Class140_Sub7.anIntArray2929[k]; + Class62.anInt963 = Class140_Sub7.anIntArray2929[k - -1]; + Class149.anInt1926 = Class140_Sub7.anIntArray2929[k + 2]; + Class136.anInt1771 = Class140_Sub7.anIntArray2929[3 + k]; + WorldListCountry.anInt502 = Class140_Sub7.anIntArray2929[4 + k]; + Class99.anInt1400 = Class140_Sub7.anIntArray2929[5 + k]; + Class46.anInt739 = Class140_Sub7.anIntArray2929[6 + k]; + Class79.anInt1126 = Class140_Sub7.anIntArray2929[7 + k]; + Class140_Sub7.anInt2937 = Class140_Sub7.anIntArray2929[8 + k]; + Class3_Sub13_Sub28.anInt3351 = Class140_Sub7.anIntArray2929[k + 9]; + Class154.anInt1957 = Class140_Sub7.anIntArray2929[10 + k]; + Class140_Sub6.spritesCacheIndex.method2144(0, WorldListCountry.anInt502); + Class140_Sub6.spritesCacheIndex.method2144(0, Class99.anInt1400); + Class140_Sub6.spritesCacheIndex.method2144(0, Class46.anInt739); + Class140_Sub6.spritesCacheIndex.method2144(0, Class79.anInt1126); + Class140_Sub6.spritesCacheIndex.method2144(0, Class140_Sub7.anInt2937); + CacheIndex.aBoolean1951 = true; + continue; + } + if(~j1 == -5426) + { + Class3_Sub13.method165(-7878); + CacheIndex.aBoolean1951 = false; + continue; + } + if(-5427 == ~j1) + { + Class161.anInt2027 = Class140_Sub7.anIntArray2929[--k]; + continue; + } + if(-5428 != ~j1) + break; + k -= 2; + Class99.anInt1403 = Class140_Sub7.anIntArray2929[k]; + Class131.anInt1719 = Class140_Sub7.anIntArray2929[k + 1]; + continue; + } + if(5600 > j1) + { + if(5500 == j1) + { + k -= 4; + int l33 = Class140_Sub7.anIntArray2929[k]; + int l77 = Class140_Sub7.anIntArray2929[k - -3]; + int j72 = Class140_Sub7.anIntArray2929[k - -2]; + int i60 = Class140_Sub7.anIntArray2929[k + 1]; + Class3_Sub20.method390(false, j72, i60, l77, (byte)-128, -Class82.anInt1152 + (0x3fff & l33), ((0xffffe30 & l33) >> 0x372f8c2e) - Class131.anInt1716); + continue; + } + if(j1 == 5501) + { + k -= 4; + int j60 = Class140_Sub7.anIntArray2929[1 + k]; + int i34 = Class140_Sub7.anIntArray2929[k]; + int i78 = Class140_Sub7.anIntArray2929[k - -3]; + int k72 = Class140_Sub7.anIntArray2929[k + 2]; + Class164_Sub1.method2238(j60, (0x3fff & i34) - Class82.anInt1152, k72, -Class131.anInt1716 + ((0xffff221 & i34) >> 0xcd90732e), (byte)-21, i78); + continue; + } + if(~j1 == -5503) + { + k -= 6; + int j34 = Class140_Sub7.anIntArray2929[k]; + if(~j34 <= -3) + throw new RuntimeException(); + NPCDefinition.anInt1252 = j34; + int k60 = Class140_Sub7.anIntArray2929[k - -1]; + if(~(Class58.anIntArrayArrayArray911[NPCDefinition.anInt1252].length >> 0x84afc601) >= ~(1 + k60)) + throw new RuntimeException(); + Class73.anInt1081 = k60; + Class163_Sub2_Sub1.anInt4020 = 0; + Class134.anInt1759 = Class140_Sub7.anIntArray2929[k + 2]; + Class3_Sub13.anInt2383 = Class140_Sub7.anIntArray2929[k + 3]; + int l72 = Class140_Sub7.anIntArray2929[k + 4]; + if(2 <= l72) + throw new RuntimeException(); + Class3_Sub7.anInt2293 = l72; + int j78 = Class140_Sub7.anIntArray2929[5 + k]; + if(Class58.anIntArrayArrayArray911[Class3_Sub7.anInt2293].length >> 0x4d73ee21 <= 1 + j78) + throw new RuntimeException(); + Class39.anInt670 = j78; + Class133.anInt1753 = 3; + continue; + } + if(-5504 == ~j1) + { + Class3_Sub28_Sub5.method560(-21556); + continue; + } + if(5504 == j1) + { + k -= 2; + Class3_Sub9.anInt2309 = Class140_Sub7.anIntArray2929[k]; + GraphicDefinition.CAMERA_DIRECTION = Class140_Sub7.anIntArray2929[k + 1]; + if(Class133.anInt1753 == 2) + { + Class3_Sub13_Sub25.anInt3315 = GraphicDefinition.CAMERA_DIRECTION; + Class139.anInt1823 = Class3_Sub9.anInt2309; + } + Class47.method1098((byte)-74); + continue; + } + if(j1 == 5505) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub9.anInt2309; + continue; + } + if(5506 != j1) + break; + Class140_Sub7.anIntArray2929[k++] = GraphicDefinition.CAMERA_DIRECTION; + continue; + } + if(~j1 <= -5701) + { + if(6100 > j1) + { + if(j1 == 6001) + { + int k34 = Class140_Sub7.anIntArray2929[--k]; + if(-2 < ~k34) + k34 = 1; + if(-5 > ~k34) + k34 = 4; + Class3_Sub28_Sub10.anInt3625 = k34; + if(!HDToolKit.highDetail || !Class106.aBoolean1441) + { + if(~Class3_Sub28_Sub10.anInt3625 == -2) + Class51.method1137(0.9F); + if(Class3_Sub28_Sub10.anInt3625 == 2) + Class51.method1137(0.8F); + if(3 == Class3_Sub28_Sub10.anInt3625) + Class51.method1137(0.7F); + if(-5 == ~Class3_Sub28_Sub10.anInt3625) + Class51.method1137(0.6F); + } + if(HDToolKit.highDetail) + { + Class3_Sub13_Sub14.method236((byte)64); + if(!Class106.aBoolean1441) + Class84.method1417(104); + } + RSByteBuffer.method746((byte)-29); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(j1 == 6002) + { + Class25.method957(96, 1 == Class140_Sub7.anIntArray2929[--k]); + Class3_Sub10.method139(66); + Class84.method1417(101); + RSByteBuffer.method792(0x8c1111); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6004) + { + Class3_Sub28_Sub7.aBoolean3604 = ~Class140_Sub7.anIntArray2929[--k] == -2; + RSByteBuffer.method792(0x8c1111); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6006) + { + Class148.aBoolean1905 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + Class84.method1417(112); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(-6007 == ~j1) + { + Class25.aBoolean488 = Class140_Sub7.anIntArray2929[--k] == 1; + ((Class102)Class51.anInterface2_838).method1616(!Class25.aBoolean488, -17830); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(-6008 == ~j1) + { + RSInterface.aBoolean236 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6009) + { + WorldListEntry.aBoolean2623 = Class140_Sub7.anIntArray2929[--k] == 1; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6010) + { + Class3_Sub13_Sub22.aBoolean3275 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(j1 == 6010) + { + Class140_Sub6.aBoolean2910 = 1 == Class140_Sub7.anIntArray2929[--k]; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(-6012 == ~j1) + { + int l34 = Class140_Sub7.anIntArray2929[--k]; + if(-1 < ~l34 || l34 > 2) + l34 = 0; + Class80.anInt1137 = l34; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(6012 == j1) + { + if(HDToolKit.highDetail) + Class3_Sub28_Sub4.method551(0, 0, 0); + Class106.aBoolean1441 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + if(HDToolKit.highDetail && Class106.aBoolean1441) + { + Class51.method1137(0.7F); + } else + { + if(Class3_Sub28_Sub10.anInt3625 == 1) + Class51.method1137(0.9F); + if(-3 == ~Class3_Sub28_Sub10.anInt3625) + Class51.method1137(0.8F); + if(Class3_Sub28_Sub10.anInt3625 == 3) + Class51.method1137(0.7F); + if(Class3_Sub28_Sub10.anInt3625 == 4) + Class51.method1137(0.6F); + } + Class84.method1417(108); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(-6015 == ~j1) + { + Class128.aBoolean1685 = Class140_Sub7.anIntArray2929[--k] == 1; + if(HDToolKit.highDetail) + Class84.method1417(109); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6016) + { + Class38.aBoolean661 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + if(HDToolKit.highDetail) + Class3_Sub13_Sub14.method236((byte)64); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(6016 == j1) + { + int i35 = Class140_Sub7.anIntArray2929[--k]; + if(HDToolKit.highDetail) + Class3_Sub28_Sub5.aBoolean3593 = true; + if(0 > i35 || -3 > ~i35) + i35 = 0; + Class3_Sub28_Sub14.anInt3671 = i35; + continue; + } + if(-6018 == ~j1) + { + Class3_Sub13_Sub15.aBoolean3184 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + GameShell.method34(-32589); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(~j1 == -6019) + { + int j35 = Class140_Sub7.anIntArray2929[--k]; + if(j35 < 0) + j35 = 0; + if(-128 > ~j35) + j35 = 127; + CS2Script.anInt2453 = j35; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(j1 == 6019) + { + int k35 = Class140_Sub7.anIntArray2929[--k]; + if(k35 < 0) + k35 = 0; + if(-256 > ~k35) + k35 = 255; + if(~k35 != ~Class9.anInt120) + { + if(-1 == ~Class9.anInt120 && 0 != ~Class129.anInt1691) + { + Class70.method1285(Class75_Sub2.aClass153_2645, false, Class129.anInt1691, 0, false, k35); + Class83.aBoolean1158 = false; + } else + if(-1 == ~k35) + { + GameObject.method1870(false); + Class83.aBoolean1158 = false; + } else + { + Class3_Sub29.method736(k35, 115); + } + Class9.anInt120 = k35; + } + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(-6021 == ~j1) + { + int l35 = Class140_Sub7.anIntArray2929[--k]; + if(-1 < ~l35) + l35 = 0; + if(127 < l35) + l35 = 127; + Class14.anInt340 = l35; + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + continue; + } + if(j1 == 6021) + { + Class73.aBoolean1084 = ~Class140_Sub7.anIntArray2929[--k] == -2; + RSByteBuffer.method792(0x8c1111); + continue; + } + if(~j1 == -6024) + { + int i36 = Class140_Sub7.anIntArray2929[--k]; + if(0 > i36) + i36 = 0; + if(~i36 < -3) + i36 = 2; + boolean flag6 = false; + if(96 > Class3_Sub24_Sub3.anInt3492) + { + flag6 = true; + i36 = 0; + } + Class127_Sub1.method1758(i36); + Class119.method1730(Class38.aClass87_665, (byte)14); + Class140_Sub2.aBoolean2705 = false; + Class140_Sub7.anIntArray2929[k++] = flag6 ? 0 : 1; + continue; + } + if(-6025 == ~j1) + { + int j36 = Class140_Sub7.anIntArray2929[--k]; + if(j36 < 0 || 2 < j36) + j36 = 0; + Class3_Sub28_Sub9.anInt3622 = j36; + Class119.method1730(Class38.aClass87_665, (byte)14); + continue; + } + if(~j1 != -6029) + break; + Class163_Sub3.aBoolean3004 = ~Class140_Sub7.anIntArray2929[--k] != -1; + Class119.method1730(Class38.aClass87_665, (byte)14); + continue; + } + if(-6201 < ~j1) + { + if(j1 == 6101) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub10.anInt3625; + continue; + } + if(j1 == 6102) + { + Class140_Sub7.anIntArray2929[k++] = NPC.method1986(109) ? 1 : 0; + continue; + } + if(-6104 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub7.aBoolean3604 ? 1 : 0; + continue; + } + if(-6106 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class148.aBoolean1905 ? 1 : 0; + continue; + } + if(-6107 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class25.aBoolean488 ? 1 : 0; + continue; + } + if(-6108 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = RSInterface.aBoolean236 ? 1 : 0; + continue; + } + if(~j1 == -6109) + { + Class140_Sub7.anIntArray2929[k++] = WorldListEntry.aBoolean2623 ? 1 : 0; + continue; + } + if(6109 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub22.aBoolean3275 ? 1 : 0; + continue; + } + if(-6111 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class140_Sub6.aBoolean2910 ? 1 : 0; + continue; + } + if(~j1 == -6112) + { + Class140_Sub7.anIntArray2929[k++] = Class80.anInt1137; + continue; + } + if(6112 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class106.aBoolean1441 ? 1 : 0; + continue; + } + if(6114 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class128.aBoolean1685 ? 1 : 0; + continue; + } + if(~j1 == -6116) + { + Class140_Sub7.anIntArray2929[k++] = Class38.aBoolean661 ? 1 : 0; + continue; + } + if(~j1 == -6117) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub14.anInt3671; + continue; + } + if(6117 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub15.aBoolean3184 ? 1 : 0; + continue; + } + if(~j1 == -6119) + { + Class140_Sub7.anIntArray2929[k++] = CS2Script.anInt2453; + continue; + } + if(6119 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class9.anInt120; + continue; + } + if(-6121 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class14.anInt340; + continue; + } + if(-6122 == ~j1) + { + if(HDToolKit.highDetail) + Class140_Sub7.anIntArray2929[k++] = HDToolKit.aBoolean1809 ? 1 : 0; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(j1 == 6123) + { + Class140_Sub7.anIntArray2929[k++] = Class127_Sub1.method1757(); + continue; + } + if(-6125 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub9.anInt3622; + continue; + } + if(j1 != 6128) + break; + Class140_Sub7.anIntArray2929[k++] = Class163_Sub3.aBoolean3004 ? 1 : 0; + continue; + } + if(~j1 <= -6301) + { + if(j1 < 6400) + { + if(~j1 == -6301) + { + Class140_Sub7.anIntArray2929[k++] = (int)(Class5.method830((byte)-55) / 60000L); + continue; + } + if(-6302 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = -11745 + (int)(Class5.method830((byte)-55) / 0x5265c00L); + continue; + } + if(j1 == 6302) + { + k -= 3; + int i73 = Class140_Sub7.anIntArray2929[k + 2]; + int l60 = Class140_Sub7.anIntArray2929[k - -1]; + int k36 = Class140_Sub7.anIntArray2929[k]; + Class3_Sub28_Sub9.aCalendar3616.clear(); + Class3_Sub28_Sub9.aCalendar3616.set(11, 12); + Class3_Sub28_Sub9.aCalendar3616.set(i73, l60, k36); + Class140_Sub7.anIntArray2929[k++] = -11745 + (int)(Class3_Sub28_Sub9.aCalendar3616.getTime().getTime() / 0x5265c00L); + continue; + } + if(6303 == j1) + { + Class3_Sub28_Sub9.aCalendar3616.clear(); + Class3_Sub28_Sub9.aCalendar3616.setTime(new Date(Class5.method830((byte)-55))); + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub9.aCalendar3616.get(1); + continue; + } + if(~j1 != -6305) + break; + boolean flag7 = true; + int l36 = Class140_Sub7.anIntArray2929[--k]; + if(-1 >= ~l36) + { + if(l36 >= 1582) + { + if(~(l36 % 4) == -1) + { + if(-1 != ~(l36 % 100)) + flag7 = true; + else + if(0 != l36 % 400) + flag7 = false; + } else + { + flag7 = false; + } + } else + { + flag7 = l36 % 4 == 0; + } + } else + { + flag7 = ~((1 + l36) % 4) == -1; + } + Class140_Sub7.anIntArray2929[k++] = flag7 ? 1 : 0; + continue; + } + if(~j1 <= -6501) + { + if(j1 < 6600) + { + if(j1 == 6500) + { + if(-11 != ~Class143.loadingStage || ~Class3_Sub13_Sub31.anInt3375 != -1 || 0 != Class3_Sub13_Sub25.loginStage || 0 != Canvas_Sub1.registryStage) + Class140_Sub7.anIntArray2929[k++] = 1; + else + Class140_Sub7.anIntArray2929[k++] = ~Class121.method1735(29984) == 0 ? 0 : 1; + continue; + } + if(-6502 == ~j1) + { + WorldListEntry class44_sub1 = Class140_Sub2.method1953((byte)124); + if(class44_sub1 == null) + { + Class140_Sub7.anIntArray2929[k++] = -1; + Class140_Sub7.anIntArray2929[k++] = 0; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + } else + { + Class140_Sub7.anIntArray2929[k++] = class44_sub1.worldId; + Class140_Sub7.anIntArray2929[k++] = class44_sub1.settings; + Class3.aClass94Array75[l++] = class44_sub1.activity; + WorldListCountry class26 = class44_sub1.method1078(60); + Class140_Sub7.anIntArray2929[k++] = class26.flagId; + Class3.aClass94Array75[l++] = class26.name; + Class140_Sub7.anIntArray2929[k++] = class44_sub1.anInt722; + } + continue; + } + if(~j1 == -6503) + { + WorldListEntry class44_sub1_1 = method1107(5422); + if(null == class44_sub1_1) + { + Class140_Sub7.anIntArray2929[k++] = -1; + Class140_Sub7.anIntArray2929[k++] = 0; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + } else + { + Class140_Sub7.anIntArray2929[k++] = class44_sub1_1.worldId; + Class140_Sub7.anIntArray2929[k++] = class44_sub1_1.settings; + Class3.aClass94Array75[l++] = class44_sub1_1.activity; + WorldListCountry class26_1 = class44_sub1_1.method1078(70); + Class140_Sub7.anIntArray2929[k++] = class26_1.flagId; + Class3.aClass94Array75[l++] = class26_1.name; + Class140_Sub7.anIntArray2929[k++] = class44_sub1_1.anInt722; + } + continue; + } + if(-6504 == ~j1) + { + int i37 = Class140_Sub7.anIntArray2929[--k]; + if(~Class143.loadingStage != -11 || -1 != ~Class3_Sub13_Sub31.anInt3375 || Class3_Sub13_Sub25.loginStage != 0 || -1 != ~Canvas_Sub1.registryStage) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = Class104.method1627(i37, (byte)-7) ? 1 : 0; + continue; + } + if(j1 == 6504) + { + RSString.anInt2148 = Class140_Sub7.anIntArray2929[--k]; + Class119.method1730(Class38.aClass87_665, (byte)14); + continue; + } + if(6505 == j1) + { + Class140_Sub7.anIntArray2929[k++] = RSString.anInt2148; + continue; + } + if(~j1 == -6507) + { + int j37 = Class140_Sub7.anIntArray2929[--k]; + WorldListEntry class44_sub1_2 = Class3_Sub8.getWorld(120, j37); + if(class44_sub1_2 != null) + { + Class140_Sub7.anIntArray2929[k++] = class44_sub1_2.settings; + Class3.aClass94Array75[l++] = class44_sub1_2.activity; + WorldListCountry class26_2 = class44_sub1_2.method1078(-87); + Class140_Sub7.anIntArray2929[k++] = class26_2.flagId; + Class3.aClass94Array75[l++] = class26_2.name; + Class140_Sub7.anIntArray2929[k++] = class44_sub1_2.anInt722; + } else + { + Class140_Sub7.anIntArray2929[k++] = -1; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + Class140_Sub7.anIntArray2929[k++] = 0; + } + continue; + } + if(~j1 != -6508) + break; + k -= 4; + int j73 = Class140_Sub7.anIntArray2929[k + 2]; + int k37 = Class140_Sub7.anIntArray2929[k]; + boolean flag11 = ~Class140_Sub7.anIntArray2929[k - -3] == -2; + boolean flag8 = Class140_Sub7.anIntArray2929[1 + k] == 1; + Class134.method1808(j73, flag8, (byte)30, k37, flag11); + continue; + } + if(~j1 <= -6701) + break; + if(6600 == j1) + { + Class15.aBoolean346 = Class140_Sub7.anIntArray2929[--k] == 1; + Class119.method1730(Class38.aClass87_665, (byte)14); + continue; + } + if(j1 != 6601) + break; + Class140_Sub7.anIntArray2929[k++] = Class15.aBoolean346 ? 1 : 0; + continue; + } + if(6405 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class47.method1088(false) ? 1 : 0; + continue; + } + if(~j1 != -6407) + break; + Class140_Sub7.anIntArray2929[k++] = Class159.method2194(255) ? 1 : 0; + continue; + } + if(j1 == 6200) + { + k -= 2; + Class106.aShort1444 = (short)Class140_Sub7.anIntArray2929[k]; + if(0 >= Class106.aShort1444) + Class106.aShort1444 = 256; + Class3_Sub13_Sub3.aShort3052 = (short)Class140_Sub7.anIntArray2929[1 + k]; + if(~Class3_Sub13_Sub3.aShort3052 >= -1) + Class3_Sub13_Sub3.aShort3052 = 205; + continue; + } + if(-6202 == ~j1) + { + k -= 2; + OutputStream_Sub1.aShort46 = (short)Class140_Sub7.anIntArray2929[k]; + if(~OutputStream_Sub1.aShort46 >= -1) + OutputStream_Sub1.aShort46 = 256; + ObjectDefinition.aShort1535 = (short)Class140_Sub7.anIntArray2929[1 + k]; + if(ObjectDefinition.aShort1535 <= 0) + ObjectDefinition.aShort1535 = 320; + continue; + } + if(-6203 == ~j1) + { + k -= 4; + Class3_Sub13_Sub19.aShort3241 = (short)Class140_Sub7.anIntArray2929[k]; + if(~Class3_Sub13_Sub19.aShort3241 >= -1) + Class3_Sub13_Sub19.aShort3241 = 1; + PacketParser.aShort83 = (short)Class140_Sub7.anIntArray2929[1 + k]; + if(PacketParser.aShort83 > 0) + { + if(Class3_Sub13_Sub19.aShort3241 > PacketParser.aShort83) + PacketParser.aShort83 = Class3_Sub13_Sub19.aShort3241; + } else + { + PacketParser.aShort83 = 32767; + } + WorldListCountry.aShort505 = (short)Class140_Sub7.anIntArray2929[2 + k]; + if(-1 <= ~WorldListCountry.aShort505) + WorldListCountry.aShort505 = 1; + Class3_Sub13_Sub23_Sub1.aShort4038 = (short)Class140_Sub7.anIntArray2929[k - -3]; + if(Class3_Sub13_Sub23_Sub1.aShort4038 > 0) + { + if(~Class3_Sub13_Sub23_Sub1.aShort4038 > ~WorldListCountry.aShort505) + Class3_Sub13_Sub23_Sub1.aShort4038 = WorldListCountry.aShort505; + } else + { + Class3_Sub13_Sub23_Sub1.aShort4038 = 32767; + } + continue; + } + if(~j1 == -6204) + { + Class65.method1239(Class168.aClass11_2091.anInt168, 81, 0, Class168.aClass11_2091.anInt193, 0, false); + Class140_Sub7.anIntArray2929[k++] = Class96.anInt1358; + Class140_Sub7.anIntArray2929[k++] = Canvas_Sub2.anInt31; + continue; + } + if(6204 == j1) + { + Class140_Sub7.anIntArray2929[k++] = OutputStream_Sub1.aShort46; + Class140_Sub7.anIntArray2929[k++] = ObjectDefinition.aShort1535; + continue; + } + if(j1 != 6205) + break; + Class140_Sub7.anIntArray2929[k++] = Class106.aShort1444; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub3.aShort3052; + continue; + } + if(-5601 == ~j1) + { + l -= 2; + RSString class94_27 = Class3.aClass94Array75[l]; + RSString class94_56 = Class3.aClass94Array75[l + 1]; + int k73 = Class140_Sub7.anIntArray2929[--k]; + if(-11 == ~Class143.loadingStage && ~Class3_Sub13_Sub31.anInt3375 == -1 && -1 == ~Class3_Sub13_Sub25.loginStage && ~Canvas_Sub1.registryStage == -1 && -1 == ~Class43.anInt692) + Class131.method1793(class94_27, class94_56, k73, (byte)-38); + continue; + } + if(-5602 == ~j1) + { + Class110.method1681(-1); + continue; + } + if(-5603 == ~j1) + { + if(0 == Class3_Sub13_Sub25.loginStage) + Class158.anInt2005 = -2; + continue; + } + if(j1 == 5603) + { + k -= 4; + if(Class143.loadingStage == 10 && 0 == Class3_Sub13_Sub31.anInt3375 && -1 == ~Class3_Sub13_Sub25.loginStage && -1 == ~Canvas_Sub1.registryStage && ~Class43.anInt692 == -1) + CS2Script.sendRegistryRequest(Class140_Sub7.anIntArray2929[k - -2], Class140_Sub7.anIntArray2929[k + 3], Class140_Sub7.anIntArray2929[k], Class140_Sub7.anIntArray2929[k + 1], 1); + continue; + } + if(~j1 == -5605) + { + l--; + if(~Class143.loadingStage == -11 && Class3_Sub13_Sub31.anInt3375 == 0 && ~Class3_Sub13_Sub25.loginStage == -1 && -1 == ~Canvas_Sub1.registryStage && ~Class43.anInt692 == -1) { + Class40.method1041(Class3.aClass94Array75[l].toLong(-108), -28236, Class3.aClass94Array75[l]); + continue; + } + } + if(j1 == 5605) + { + k -= 4; + l -= 2; + if(~Class143.loadingStage == -11 && 0 == Class3_Sub13_Sub31.anInt3375 && ~Class3_Sub13_Sub25.loginStage == -1 && Canvas_Sub1.registryStage == 0 && Class43.anInt692 == 0) + Class3_Sub28_Sub6.a(Class140_Sub7.anIntArray2929[k], 10603, Class140_Sub7.anIntArray2929[k - -3], Class140_Sub7.anIntArray2929[1 + k], Class3.aClass94Array75[1 + l], Class3.aClass94Array75[l].toLong(-125), Class140_Sub7.anIntArray2929[2 + k], Class3.aClass94Array75[l]); + continue; + } + if(j1 == 5606) + { + if(Canvas_Sub1.registryStage == 0) + Class130.anInt1711 = -2; + continue; + } + if(-5608 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Class158.anInt2005; + continue; + } + if(j1 == 5608) + { + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub34.anInt3413; + continue; + } + if(5609 == j1) + { + Class140_Sub7.anIntArray2929[k++] = Class130.anInt1711; + continue; + } + if(j1 == 5610) + { + for(int l37 = 0; l37 < 5; l37++) + Class3.aClass94Array75[l++] = Class3_Sub13_Sub33.aClass94Array3391.length <= l37 ? Class3_Sub9.aClass94_2331 : Class3_Sub13_Sub33.aClass94Array3391[l37].method1545((byte)-50); + + Class3_Sub13_Sub33.aClass94Array3391 = null; + continue; + } + if(j1 != 5611) + break; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub26.anInt2561; + continue; + } + if(4500 != j1) + break; + k -= 2; + int i38 = Class140_Sub7.anIntArray2929[k]; + int i61 = Class140_Sub7.anIntArray2929[k - -1]; + Class3_Sub28_Sub9 class3_sub28_sub9_1 = Class61.method1210(64, i61); + if(!class3_sub28_sub9_1.method585(0)) + Class140_Sub7.anIntArray2929[k++] = Class72.method1292((byte)94, i38).method600(i61, class3_sub28_sub9_1.anInt3614, (byte)-29); + else + Class3.aClass94Array75[l++] = Class72.method1292((byte)31, i38).method604(class3_sub28_sub9_1.aClass94_3619, (byte)-44, i61); + continue; + } + if(~j1 != -4401) + break; + k -= 2; + int j61 = Class140_Sub7.anIntArray2929[k - -1]; + int j38 = Class140_Sub7.anIntArray2929[k]; + Class3_Sub28_Sub9 class3_sub28_sub9_2 = Class61.method1210(64, j61); + if(!class3_sub28_sub9_2.method585(0)) + Class140_Sub7.anIntArray2929[k++] = Class162.getObjectDefinition(4, j38).method1691(class3_sub28_sub9_2.anInt3614, j61, (byte)105); + else + Class3.aClass94Array75[l++] = Class162.getObjectDefinition(4, j38).method1698(class3_sub28_sub9_2.aClass94_3619, -23085, j61); + continue; + } + if(j1 == 4200) + { + int k38 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = Class38.getItemDefinition(k38, (byte)72).name; + continue; + } + if(j1 == 4201) + { + k -= 2; + int l38 = Class140_Sub7.anIntArray2929[k]; + int k61 = Class140_Sub7.anIntArray2929[k - -1]; + ItemDefinition class48_2 = Class38.getItemDefinition(l38, (byte)77); + if(~k61 > -2 || k61 > 5 || class48_2.groundOptions[-1 + k61] == null) + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + else + Class3.aClass94Array75[l++] = class48_2.groundOptions[k61 - 1]; + continue; + } + if(~j1 == -4203) + { + k -= 2; + int i39 = Class140_Sub7.anIntArray2929[k]; + int l61 = Class140_Sub7.anIntArray2929[k + 1]; + ItemDefinition class48_3 = Class38.getItemDefinition(i39, (byte)70); + if(l61 >= 1 && ~l61 >= -6 && null != class48_3.inventoryOptions[l61 + -1]) + Class3.aClass94Array75[l++] = class48_3.inventoryOptions[-1 + l61]; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(j1 == 4203) + { + int j39 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class38.getItemDefinition(j39, (byte)85).value; + continue; + } + if(~j1 == -4205) + { + int k39 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = ~Class38.getItemDefinition(k39, (byte)99).stackingType == -2 ? 1 : 0; + continue; + } + if(4205 == j1) + { + int l39 = Class140_Sub7.anIntArray2929[--k]; + ItemDefinition class48 = Class38.getItemDefinition(l39, (byte)96); + if(-1 == class48.anInt791 && -1 >= ~class48.anInt789) + Class140_Sub7.anIntArray2929[k++] = class48.anInt789; + else + Class140_Sub7.anIntArray2929[k++] = l39; + continue; + } + if(~j1 == -4207) + { + int i40 = Class140_Sub7.anIntArray2929[--k]; + ItemDefinition class48_1 = Class38.getItemDefinition(i40, (byte)126); + if(0 <= class48_1.anInt791 && ~class48_1.anInt789 <= -1) + Class140_Sub7.anIntArray2929[k++] = class48_1.anInt789; + else + Class140_Sub7.anIntArray2929[k++] = i40; + continue; + } + if(-4208 == ~j1) + { + int j40 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class38.getItemDefinition(j40, (byte)121).membersItem ? 1 : 0; + continue; + } + if(-4209 == ~j1) + { + k -= 2; + int k40 = Class140_Sub7.anIntArray2929[k]; + int i62 = Class140_Sub7.anIntArray2929[k - -1]; + Class3_Sub28_Sub9 class3_sub28_sub9_3 = Class61.method1210(64, i62); + if(class3_sub28_sub9_3.method585(0)) + Class3.aClass94Array75[l++] = Class38.getItemDefinition(k40, (byte)126).method1105(107, class3_sub28_sub9_3.aClass94_3619, i62); + else + Class140_Sub7.anIntArray2929[k++] = Class38.getItemDefinition(k40, (byte)79).method1115(class3_sub28_sub9_3.anInt3614, -119, i62); + continue; + } + if(4210 == j1) + { + RSString class94_28 = Class3.aClass94Array75[--l]; + int j62 = Class140_Sub7.anIntArray2929[--k]; + NPCDefinition.method1480(-2 == ~j62, class94_28, 102); + Class140_Sub7.anIntArray2929[k++] = Class62.anInt952; + continue; + } + if(-4212 == ~j1) + { + if(null == Class99.aShortArray1398 || Class140_Sub4.anInt2756 >= Class62.anInt952) + Class140_Sub7.anIntArray2929[k++] = -1; + else + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub15.method633(Class99.aShortArray1398[Class140_Sub4.anInt2756++], 65535); + continue; + } + if(4212 != j1) + break; + Class140_Sub4.anInt2756 = 0; + continue; + } + if(4100 == j1) + { + RSString class94_29 = Class3.aClass94Array75[--l]; + int k62 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = RenderAnimationDefinition.method903(new RSString[] { + class94_29, Class72.method1298((byte)9, k62) + }, (byte)-94); + continue; + } + if(-4102 == ~j1) + { + l -= 2; + RSString class94_57 = Class3.aClass94Array75[l + 1]; + RSString class94_30 = Class3.aClass94Array75[l]; + Class3.aClass94Array75[l++] = RenderAnimationDefinition.method903(new RSString[] { + class94_30, class94_57 + }, (byte)-106); + continue; + } + if(4102 == j1) + { + RSString class94_31 = Class3.aClass94Array75[--l]; + int l62 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = RenderAnimationDefinition.method903(new RSString[] { + class94_31, Class61.method1218(true, 127, l62) + }, (byte)-119); + continue; + } + if(~j1 == -4104) + { + RSString class94_32 = Class3.aClass94Array75[--l]; + Class3.aClass94Array75[l++] = class94_32.method1534(-98); + continue; + } + if(4104 == j1) + { + int l40 = Class140_Sub7.anIntArray2929[--k]; + long l63 = 0xec44e2dc00L + (long)l40 * 0x5265c00L; + Class3_Sub28_Sub9.aCalendar3616.setTime(new Date(l63)); + int k78 = Class3_Sub28_Sub9.aCalendar3616.get(5); + int k80 = Class3_Sub28_Sub9.aCalendar3616.get(2); + int i82 = Class3_Sub28_Sub9.aCalendar3616.get(1); + Class3.aClass94Array75[l++] = RenderAnimationDefinition.method903(new RSString[] { + Class72.method1298((byte)9, k78), Class93.aClass94_1326, RenderAnimationDefinition.aClass94Array358[k80], Class93.aClass94_1326, Class72.method1298((byte)9, i82) + }, (byte)-122); + continue; + } + if(4105 == j1) + { + l -= 2; + RSString class94_58 = Class3.aClass94Array75[l + 1]; + RSString class94_33 = Class3.aClass94Array75[l]; + if(Class102.player.class52 == null || !Class102.player.class52.aBoolean864) + Class3.aClass94Array75[l++] = class94_33; + else + Class3.aClass94Array75[l++] = class94_58; + continue; + } + if(~j1 == -4107) + { + int i41 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = Class72.method1298((byte)9, i41); + continue; + } + if(~j1 == -4108) + { + l -= 2; + Class140_Sub7.anIntArray2929[k++] = Class3.aClass94Array75[l].method1546((byte)-63, Class3.aClass94Array75[l - -1]); + continue; + } + if(4108 == j1) + { + RSString class94_34 = Class3.aClass94Array75[--l]; + k -= 2; + int l73 = Class140_Sub7.anIntArray2929[k - -1]; + int i63 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class86.method1430(-28922, l73).method684(class94_34, i63); + continue; + } + if(~j1 == -4110) + { + k -= 2; + RSString class94_35 = Class3.aClass94Array75[--l]; + int i74 = Class140_Sub7.anIntArray2929[1 + k]; + int j63 = Class140_Sub7.anIntArray2929[k]; + Class140_Sub7.anIntArray2929[k++] = Class86.method1430(-28922, i74).method680(class94_35, j63); + continue; + } + if(~j1 == -4111) + { + l -= 2; + RSString class94_36 = Class3.aClass94Array75[l]; + RSString class94_59 = Class3.aClass94Array75[l - -1]; + if(1 == Class140_Sub7.anIntArray2929[--k]) + Class3.aClass94Array75[l++] = class94_36; + else + Class3.aClass94Array75[l++] = class94_59; + continue; + } + if(4111 == j1) + { + RSString class94_37 = Class3.aClass94Array75[--l]; + Class3.aClass94Array75[l++] = Class3_Sub28_Sub17.method686(class94_37); + continue; + } + if(4112 == j1) + { + RSString class94_38 = Class3.aClass94Array75[--l]; + int k63 = Class140_Sub7.anIntArray2929[--k]; + if(~k63 == 0) + throw new RuntimeException("null char"); + Class3.aClass94Array75[l++] = class94_38.method1548(false, k63); + continue; + } + if(-4114 == ~j1) + { + int j41 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class164_Sub2.method2248(-157, j41) ? 1 : 0; + continue; + } + if(-4115 == ~j1) + { + int k41 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class44.method1066(k41, -32) ? 1 : 0; + continue; + } + if(-4116 == ~j1) + { + int l41 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub24_Sub4.method487(l41, (byte)-85) ? 1 : 0; + continue; + } + if(4116 == j1) + { + int i42 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub28_Sub3.method544(-49, i42) ? 1 : 0; + continue; + } + if(-4118 == ~j1) + { + RSString class94_39 = Class3.aClass94Array75[--l]; + if(class94_39 != null) + Class140_Sub7.anIntArray2929[k++] = class94_39.length(-96); + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(j1 == 4118) + { + k -= 2; + RSString class94_40 = Class3.aClass94Array75[--l]; + int i64 = Class140_Sub7.anIntArray2929[k]; + int j74 = Class140_Sub7.anIntArray2929[1 + k]; + Class3.aClass94Array75[l++] = class94_40.method1557(j74, 0, i64); + continue; + } + if(-4120 == ~j1) + { + RSString class94_41 = Class3.aClass94Array75[--l]; + RSString class94_60 = Class47.method1090((byte)-87, class94_41.length(-44)); + boolean flag9 = false; + for(int l78 = 0; ~l78 > ~class94_41.length(-113); l78++) + { + int l80 = class94_41.charAt(l78, (byte)-40); + if(l80 == 60) + { + flag9 = true; + continue; + } + if(~l80 != -63) + { + if(!flag9) + class94_60.method1572(l80, (byte)125); + } else + { + flag9 = false; + } + } + + class94_60.method1576((byte)90); + Class3.aClass94Array75[l++] = class94_60; + continue; + } + if(-4121 == ~j1) + { + k -= 2; + RSString class94_42 = Class3.aClass94Array75[--l]; + int j64 = Class140_Sub7.anIntArray2929[k]; + int k74 = Class140_Sub7.anIntArray2929[1 + k]; + Class140_Sub7.anIntArray2929[k++] = class94_42.method1555(j64, k74, 1536); + continue; + } + if(j1 == 4121) + { + l -= 2; + RSString class94_43 = Class3.aClass94Array75[l]; + RSString class94_61 = Class3.aClass94Array75[1 + l]; + int l74 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = class94_43.method1566(class94_61, l74, -1); + continue; + } + if(j1 == 4122) + { + int j42 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = Class3_Sub13_Sub34.method332(2, j42); + continue; + } + if(~j1 == -4124) + { + int k42 = Class140_Sub7.anIntArray2929[--k]; + Class140_Sub7.anIntArray2929[k++] = RuntimeException_Sub1.method2287(k42, (byte)59); + continue; + } + if(j1 != 4124) + break; + boolean flag1 = ~Class140_Sub7.anIntArray2929[--k] != -1; + int k64 = Class140_Sub7.anIntArray2929[--k]; + Class3.aClass94Array75[l++] = Class3_Sub23.method407(Class3_Sub20.language, flag1, 0, k64, 2); + continue; + } + RSInterface class11_8 = Class7.getRSInterface((byte)115, Class140_Sub7.anIntArray2929[--k]); + if(-2801 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = Client.method44(class11_8).method101(-94); + continue; + } + if(-2802 == ~j1) + { + int l64 = Class140_Sub7.anIntArray2929[--k]; + l64--; + if(class11_8.aClass94Array171 != null && class11_8.aClass94Array171.length > l64 && null != class11_8.aClass94Array171[l64]) + Class3.aClass94Array75[l++] = class11_8.aClass94Array171[l64]; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(j1 != 2802) + break; + if(class11_8.aClass94_277 != null) + Class3.aClass94Array75[l++] = class11_8.aClass94_277; + else + Class3.aClass94Array75[l++] = Class3_Sub9.aClass94_2331; + continue; + } + if(~j1 == -2701) + { + RSInterface class11_9 = Class7.getRSInterface((byte)126, Class140_Sub7.anIntArray2929[--k]); + Class140_Sub7.anIntArray2929[k++] = class11_9.anInt192; + continue; + } + if(-2702 == ~j1) + { + RSInterface class11_10 = Class7.getRSInterface((byte)117, Class140_Sub7.anIntArray2929[--k]); + if(-1 != class11_10.anInt192) + Class140_Sub7.anIntArray2929[k++] = class11_10.anInt271; + else + Class140_Sub7.anIntArray2929[k++] = 0; + continue; + } + if(-2703 == ~j1) + { + int l42 = Class140_Sub7.anIntArray2929[--k]; + Class3_Sub31 class3_sub31 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780(l42, 0); + if(class3_sub31 == null) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = 1; + continue; + } + if(j1 == 2703) + { + RSInterface class11_11 = Class7.getRSInterface((byte)125, Class140_Sub7.anIntArray2929[--k]); + if(null == class11_11.aClass11Array262) + { + Class140_Sub7.anIntArray2929[k++] = 0; + } else + { + int i65 = class11_11.aClass11Array262.length; + int i75 = 0; + do + { + if(class11_11.aClass11Array262.length <= i75) + break; + if(null == class11_11.aClass11Array262[i75]) + { + i65 = i75; + break; + } + i75++; + } while(true); + Class140_Sub7.anIntArray2929[k++] = i65; + } + continue; + } + if(-2705 != ~j1 && 2705 != j1) + break; + k -= 2; + int i43 = Class140_Sub7.anIntArray2929[k]; + int j65 = Class140_Sub7.anIntArray2929[k + 1]; + Class3_Sub31 class3_sub31_1 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780(i43, 0); + if(class3_sub31_1 == null || class3_sub31_1.anInt2602 != j65) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = 1; + continue; + } + RSInterface class11_12 = Class7.getRSInterface((byte)124, Class140_Sub7.anIntArray2929[--k]); + if(2600 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt247; + continue; + } + if(-2602 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt208; + continue; + } + if(-2603 == ~j1) + { + Class3.aClass94Array75[l++] = class11_12.aClass94_232; + continue; + } + if(~j1 == -2604) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt240; + continue; + } + if(~j1 == -2605) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt252; + continue; + } + if(-2606 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt164; + continue; + } + if(-2607 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt182; + continue; + } + if(-2608 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt280; + continue; + } + if(2608 == j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt308; + continue; + } + if(~j1 == -2610) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt223; + continue; + } + if(j1 == 2610) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt258; + continue; + } + if(-2612 == ~j1) + { + Class140_Sub7.anIntArray2929[k++] = class11_12.anInt264; + continue; + } + if(2612 != j1) + break; + Class140_Sub7.anIntArray2929[k++] = class11_12.spriteArchiveId; + continue; + } + RSInterface class11_13 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + if(j1 == 1700) + { + Class140_Sub7.anIntArray2929[k++] = class11_13.anInt192; + continue; + } + if(1701 == j1) + { + if(~class11_13.anInt192 == 0) + Class140_Sub7.anIntArray2929[k++] = 0; + else + Class140_Sub7.anIntArray2929[k++] = class11_13.anInt271; + continue; + } + if(j1 != 1702) + break; + Class140_Sub7.anIntArray2929[k++] = class11_13.anInt191; + } else + { + RSInterface class11_14; + if(-2001 < ~j1) + { + class11_14 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + } else + { + j1 -= 1000; + class11_14 = Class7.getRSInterface((byte)115, Class140_Sub7.anIntArray2929[--k]); + } + int ai3[] = null; + RSString class94_62 = Class3.aClass94Array75[--l]; + if(~class94_62.length(-127) < -1 && -90 == ~class94_62.charAt(class94_62.length(-92) + -1, (byte)-96)) + { + int i79 = Class140_Sub7.anIntArray2929[--k]; + if(i79 > 0) + { + ai3 = new int[i79]; + while(i79-- > 0) + ai3[i79] = Class140_Sub7.anIntArray2929[--k]; + } + class94_62 = class94_62.method1557(class94_62.length(-79) - 1, 0, 0); + } + Object aobj1[] = new Object[class94_62.length(-48) - -1]; + for(int i81 = -1 + aobj1.length; 1 <= i81; i81--) + if(115 != class94_62.charAt(i81 + -1, (byte)-43)) + aobj1[i81] = new Integer(Class140_Sub7.anIntArray2929[--k]); + else + aobj1[i81] = Class3.aClass94Array75[--l]; + + int j81 = Class140_Sub7.anIntArray2929[--k]; + if(~j81 == 0) + aobj1 = null; + else + aobj1[0] = new Integer(j81); + class11_14.aBoolean195 = true; + if(1400 == j1) + class11_14.anObjectArray165 = aobj1; + else + if(~j1 == -1402) + class11_14.anObjectArray180 = aobj1; + else + if(j1 != 1402) + { + if(~j1 != -1404) + { + if(j1 != 1404) + { + if(1405 == j1) + class11_14.anObjectArray295 = aobj1; + else + if(1406 == j1) + class11_14.anObjectArray303 = aobj1; + else + if(1407 != j1) + { + if(~j1 == -1409) + class11_14.anObjectArray269 = aobj1; + else + if(~j1 != -1410) + { + if(1410 != j1) + { + if(-1412 != ~j1) + { + if(-1413 == ~j1) + class11_14.anObjectArray276 = aobj1; + else + if(j1 == 1414) + { + class11_14.anIntArray175 = ai3; + class11_14.anObjectArray174 = aobj1; + } else + if(1415 == j1) + { + class11_14.anIntArray274 = ai3; + class11_14.anObjectArray158 = aobj1; + } else + if(1416 == j1) + class11_14.anObjectArray203 = aobj1; + else + if(1417 != j1) + { + if(-1419 == ~j1) + class11_14.anObjectArray256 = aobj1; + else + if(~j1 == -1420) + class11_14.anObjectArray220 = aobj1; + else + if(-1421 == ~j1) + class11_14.anObjectArray156 = aobj1; + else + if(~j1 != -1422) + { + if(1422 == j1) + class11_14.anObjectArray315 = aobj1; + else + if(1423 != j1) + { + if(~j1 == -1425) + class11_14.anObjectArray176 = aobj1; + else + if(j1 == 1425) + class11_14.anObjectArray268 = aobj1; + else + if(-1427 != ~j1) + { + if(1427 != j1) + { + if(~j1 == -1429) + { + class11_14.anObjectArray161 = aobj1; + class11_14.anIntArray211 = ai3; + } else + if(j1 == 1429) + { + class11_14.anIntArray185 = ai3; + class11_14.anObjectArray221 = aobj1; + } + } else + { + class11_14.anObjectArray235 = aobj1; + } + } else + { + class11_14.anObjectArray217 = aobj1; + } + } else + { + class11_14.anObjectArray206 = aobj1; + } + } else + { + class11_14.anObjectArray313 = aobj1; + } + } else + { + class11_14.anObjectArray183 = aobj1; + } + } else + { + class11_14.anObjectArray170 = aobj1; + } + } else + { + class11_14.anObjectArray229 = aobj1; + } + } else + { + class11_14.anObjectArray314 = aobj1; + } + } else + { + class11_14.anIntArray286 = ai3; + class11_14.anObjectArray282 = aobj1; + } + } else + { + class11_14.anObjectArray281 = aobj1; + } + } else + { + class11_14.anObjectArray248 = aobj1; + } + } else + { + class11_14.anObjectArray239 = aobj1; + } + } + continue; + } + RSInterface class11_15; + if(j1 < 2000) + { + class11_15 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + } else + { + class11_15 = Class7.getRSInterface((byte)118, Class140_Sub7.anIntArray2929[--k]); + j1 -= 1000; + } + Class20.method909(-21, class11_15); + if(~j1 == -1201 || 1205 == j1) + { + k -= 2; + int j75 = Class140_Sub7.anIntArray2929[1 + k]; + int k65 = Class140_Sub7.anIntArray2929[k]; + if(-1 == class11_15.anInt191) + { + Class149.method2092(class11_15.anInt279, (byte)-47); + Class3_Sub13_Sub19.method265((byte)-42, class11_15.anInt279); + Class107.method1649(class11_15.anInt279, -101); + } + if(-1 == k65) + { + class11_15.itemId = -1; + class11_15.modelType = 1; + class11_15.anInt192 = -1; + } else + { + class11_15.anInt192 = k65; + class11_15.anInt271 = j75; + ItemDefinition class48_4 = Class38.getItemDefinition(k65, (byte)108); + class11_15.anInt280 = class48_4.anInt768; + class11_15.anInt258 = class48_4.anInt792; + class11_15.anInt182 = class48_4.anInt786; + class11_15.anInt264 = class48_4.anInt754; + class11_15.anInt308 = class48_4.anInt799; + class11_15.anInt164 = class48_4.anInt810; + if(class11_15.anInt184 > 0) + class11_15.anInt164 = (class11_15.anInt164 * 32) / class11_15.anInt184; + else + if(class11_15.width > 0) + class11_15.anInt164 = (class11_15.anInt164 * 32) / class11_15.width; + if(1205 == j1) + class11_15.aBoolean227 = false; + else + class11_15.aBoolean227 = true; + } + continue; + } + if(j1 == 1201) + { + class11_15.modelType = 2; + class11_15.itemId = Class140_Sub7.anIntArray2929[--k]; + if(class11_15.anInt191 == -1) + Class162.method2206(true, class11_15.anInt279); + continue; + } + if(j1 == 1202) + { + class11_15.modelType = 3; + class11_15.itemId = Class102.player.class52.method1163(-24861); + if(class11_15.anInt191 == -1) + Class162.method2206(true, class11_15.anInt279); + continue; + } + if(1203 == j1) + { + class11_15.modelType = 6; + class11_15.itemId = Class140_Sub7.anIntArray2929[--k]; + if(~class11_15.anInt191 == 0) + Class162.method2206(true, class11_15.anInt279); + continue; + } + if(~j1 != -1205) + break; + class11_15.modelType = 5; + class11_15.itemId = Class140_Sub7.anIntArray2929[--k]; + if(~class11_15.anInt191 == 0) + Class162.method2206(true, class11_15.anInt279); + continue; + } + RSInterface class11_16; + if(~j1 > -2001) + { + class11_16 = flag ? Class164.aClass11_2055 : Class133.aClass11_1749; + } else + { + j1 -= 1000; + class11_16 = Class7.getRSInterface((byte)120, Class140_Sub7.anIntArray2929[--k]); + } + if(j1 == 1100) + { + k -= 2; + class11_16.anInt247 = Class140_Sub7.anIntArray2929[k]; + if(~class11_16.anInt247 < ~(class11_16.anInt240 + -class11_16.anInt168)) + class11_16.anInt247 = class11_16.anInt240 + -class11_16.anInt168; + if(~class11_16.anInt247 > -1) + class11_16.anInt247 = 0; + class11_16.anInt208 = Class140_Sub7.anIntArray2929[k + 1]; + if(class11_16.anInt208 > class11_16.anInt252 + -class11_16.anInt193) + class11_16.anInt208 = class11_16.anInt252 + -class11_16.anInt193; + if(~class11_16.anInt208 > -1) + class11_16.anInt208 = 0; + Class20.method909(111, class11_16); + if(-1 == class11_16.anInt191) + Class67.method1259(class11_16.anInt279, (byte)109); + continue; + } + if(1101 == j1) + { + class11_16.anInt218 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-123, class11_16); + if(0 == ~class11_16.anInt191) + Canvas_Sub2.method56(class11_16.anInt279, 99); + continue; + } + if(~j1 == -1103) + { + class11_16.aBoolean226 = Class140_Sub7.anIntArray2929[--k] == 1; + Class20.method909(107, class11_16); + continue; + } + if(1103 == j1) + { + class11_16.anInt223 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-64, class11_16); + continue; + } + if(-1105 == ~j1) + { + class11_16.anInt250 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-52, class11_16); + continue; + } + if(~j1 == -1106) + { + class11_16.spriteArchiveId = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-122, class11_16); + continue; + } + if(1106 == j1) + { + class11_16.anInt301 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-33, class11_16); + continue; + } + if(1107 == j1) + { + class11_16.aBoolean186 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + Class20.method909(114, class11_16); + continue; + } + if(-1109 == ~j1) + { + class11_16.modelType = 1; + class11_16.itemId = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(2, class11_16); + if(~class11_16.anInt191 == 0) + Class162.method2206(true, class11_16.anInt279); + continue; + } + if(j1 == 1109) + { + k -= 6; + class11_16.anInt258 = Class140_Sub7.anIntArray2929[k]; + class11_16.anInt264 = Class140_Sub7.anIntArray2929[k + 1]; + class11_16.anInt182 = Class140_Sub7.anIntArray2929[2 + k]; + class11_16.anInt308 = Class140_Sub7.anIntArray2929[k - -3]; + class11_16.anInt280 = Class140_Sub7.anIntArray2929[k - -4]; + class11_16.anInt164 = Class140_Sub7.anIntArray2929[5 + k]; + Class20.method909(-59, class11_16); + if(~class11_16.anInt191 == 0) + { + Class3_Sub13_Sub19.method265((byte)-42, class11_16.anInt279); + Class107.method1649(class11_16.anInt279, -106); + } + continue; + } + if(j1 == 1110) + { + int l65 = Class140_Sub7.anIntArray2929[--k]; + if(class11_16.animationId != l65) + { + class11_16.animationId = l65; + class11_16.anInt283 = 0; + class11_16.anInt267 = 0; + class11_16.anInt260 = 1; + Class20.method909(116, class11_16); + } + if(~class11_16.anInt191 == 0) + Class108.method1657(class11_16.anInt279, -903); + continue; + } + if(j1 == 1111) + { + class11_16.aBoolean181 = 1 == Class140_Sub7.anIntArray2929[--k]; + Class20.method909(118, class11_16); + continue; + } + if(1112 == j1) + { + RSString class94_63 = Class3.aClass94Array75[--l]; + if(!class94_63.method1528((byte)-42, class11_16.aClass94_232)) + { + class11_16.aClass94_232 = class94_63; + Class20.method909(117, class11_16); + } + if(0 == ~class11_16.anInt191) + Class93.method1516(class11_16.anInt279, 91); + continue; + } + if(~j1 == -1114) + { + class11_16.anInt270 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(111, class11_16); + continue; + } + if(~j1 == -1115) + { + k -= 3; + class11_16.anInt194 = Class140_Sub7.anIntArray2929[k]; + class11_16.anInt225 = Class140_Sub7.anIntArray2929[1 + k]; + class11_16.anInt205 = Class140_Sub7.anIntArray2929[2 + k]; + Class20.method909(113, class11_16); + continue; + } + if(1115 == j1) + { + class11_16.aBoolean215 = 1 == Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-33, class11_16); + continue; + } + if(~j1 == -1117) + { + class11_16.anInt288 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-26, class11_16); + continue; + } + if(~j1 == -1118) + { + class11_16.anInt287 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(117, class11_16); + continue; + } + if(~j1 == -1119) + { + class11_16.aBoolean178 = Class140_Sub7.anIntArray2929[--k] == 1; + Class20.method909(123, class11_16); + continue; + } + if(j1 == 1119) + { + class11_16.aBoolean199 = -2 == ~Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-20, class11_16); + continue; + } + if(~j1 == -1121) + { + k -= 2; + class11_16.anInt240 = Class140_Sub7.anIntArray2929[k]; + class11_16.anInt252 = Class140_Sub7.anIntArray2929[1 + k]; + Class20.method909(117, class11_16); + if(-1 == ~class11_16.type) + Class151_Sub1.method2104(class11_16, false, -116); + continue; + } + if(~j1 == -1122) + { + k -= 2; + class11_16.aShort293 = (short)Class140_Sub7.anIntArray2929[k]; + class11_16.aShort169 = (short)Class140_Sub7.anIntArray2929[k + 1]; + Class20.method909(126, class11_16); + continue; + } + if(1122 == j1) + { + class11_16.aBoolean157 = ~Class140_Sub7.anIntArray2929[--k] == -2; + Class20.method909(-66, class11_16); + continue; + } + if(j1 != 1123) + break; + class11_16.anInt164 = Class140_Sub7.anIntArray2929[--k]; + Class20.method909(-126, class11_16); + if(0 == ~class11_16.anInt191) + Class3_Sub13_Sub19.method265((byte)-42, class11_16.anInt279); + continue; + } + if(j1 == 403) + { + k -= 2; + int i66 = Class140_Sub7.anIntArray2929[k - -1]; + int j43 = Class140_Sub7.anIntArray2929[k]; + int k75 = 0; + do + { + if(Class3_Sub26.anIntArray2559.length <= k75) + break; + if(j43 == Class3_Sub26.anIntArray2559[k75]) + { + Class102.player.class52.method1164(k75, i66, 0); + continue label0; + } + k75++; + } while(true); + k75 = 0; + do + { + if(~k75 <= ~Class3_Sub13_Sub19.anIntArray3228.length) + continue label0; + if(~j43 == ~Class3_Sub13_Sub19.anIntArray3228[k75]) + { + Class102.player.class52.method1164(k75, i66, 0); + continue label0; + } + k75++; + } while(true); + } + if(404 == j1) + { + k -= 2; + int k43 = Class140_Sub7.anIntArray2929[k]; + int j66 = Class140_Sub7.anIntArray2929[1 + k]; + Class102.player.class52.method1162(k43, false, j66); + continue; + } + if(j1 != 410) + break; + boolean flag2 = 0 != Class140_Sub7.anIntArray2929[--k]; + Class102.player.class52.method1159(flag2, true); + } while(true); + throw new IllegalStateException(); + } + + + private final RSString method1105(int var1, RSString var2, int var3) { + try { + if(this.aClass130_798 == null) { + return var2; + } else { + if(var1 < 90) { + method1111(-111); + } + + Class3_Sub29 var4 = (Class3_Sub29)this.aClass130_798.method1780((long)var3, 0); + return null != var4?var4.aClass94_2586:var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "h.S(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final ItemDefinition method1106(int var1, int var2) { + try { + int var3 = 58 % ((-28 - var2) / 48); + if(this.anIntArray804 != null && -2 > ~var1) { + int var4 = -1; + + for(int var5 = 0; 10 > var5; ++var5) { + if(this.anIntArray766[var5] <= var1 && -1 != ~this.anIntArray766[var5]) { + var4 = this.anIntArray804[var5]; + } + } + + if(0 != ~var4) { + return Class38.getItemDefinition(var4, (byte)97); + } + } + + return this; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "h.H(" + var1 + ',' + var2 + ')'); + } + } + + static final WorldListEntry method1107(int var0) { + try { + if(Class3_Sub13_Sub16.aClass44_Sub1Array3201.length > Class3_Sub6.anInt2291) { + return Class3_Sub13_Sub16.aClass44_Sub1Array3201[Class3_Sub6.anInt2291++]; + } else { + if(var0 != 5422) { + method1107(-66); + } + + return null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "h.R(" + var0 + ')'); + } + } + + final boolean method1108(byte var1, boolean var2) { + try { + int var4 = this.anInt771; + int var3 = this.anInt793; + int var6 = 106 % ((var1 - 24) / 58); + int var5 = this.anInt769; + if(var2) { + var5 = this.anInt776; + var3 = this.anInt761; + var4 = this.anInt794; + } + + if(~var3 != 0) { + boolean var7 = true; + if(!Class3_Sub29.aClass153_2581.method2129((byte)-90, 0, var3)) { + var7 = false; + } + + if(~var4 != 0 && !Class3_Sub29.aClass153_2581.method2129((byte)-114, 0, var4)) { + var7 = false; + } + + if(-1 != var5 && !Class3_Sub29.aClass153_2581.method2129((byte)83, 0, var5)) { + var7 = false; + } + + return var7; + } else { + return true; + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "h.C(" + var1 + ',' + var2 + ')'); + } + } + + final void method1109(byte var1, ItemDefinition var2, ItemDefinition var3) { + try { + this.aByteArray785 = var2.aByteArray785; + this.wornModelPositionZ = var2.wornModelPositionZ; + this.aClass130_798 = var2.aClass130_798; + this.anInt769 = var2.anInt769; + this.anInt761 = var2.anInt761; + this.wornModelPositionY = var2.wornModelPositionY; + this.inventoryOptions = new RSString[5]; + this.anInt755 = var3.anInt755; + this.anInt810 = var3.anInt810; + this.value = 0; + this.teamId = var2.teamId; + this.anInt773 = var2.anInt773; + this.aShortArray774 = var2.aShortArray774; + this.anInt768 = var3.anInt768; + this.anInt771 = var2.anInt771; + this.anInt799 = var3.anInt799; + this.anInt803 = var2.anInt803; + this.anInt796 = var2.anInt796; + this.wornModelPositionX = var2.wornModelPositionX; + this.anInt786 = var3.anInt786; + this.anInt754 = var3.anInt754; + this.anInt753 = var2.anInt753; + this.anInt777 = var2.anInt777; + this.aShortArray772 = var2.aShortArray772; + this.anInt802 = var2.anInt802; + this.anInt752 = var2.anInt752; + this.anInt792 = var3.anInt792; + if(var1 != 69) { + this.value = 109; + } + + this.anInt793 = var2.anInt793; + this.anInt794 = var2.anInt794; + this.name = var2.name; + this.aShortArray751 = var2.aShortArray751; + this.aShortArray765 = var2.aShortArray765; + this.groundOptions = var2.groundOptions; + this.membersItem = var2.membersItem; + this.anInt776 = var2.anInt776; + if(null != var2.inventoryOptions) { + for(int var4 = 0; -5 < ~var4; ++var4) { + this.inventoryOptions[var4] = var2.inventoryOptions[var4]; + } + } + + this.inventoryOptions[4] = RenderAnimationDefinition.aClass94_361; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "h.J(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final Model method1110(int var1, int var2, int var3, AnimationDefinition var4, int var5, int var6) { + try { + if(var1 < 94) { + this.anInt755 = -67; + } + + if(this.anIntArray804 != null && -2 > ~var5) { + int var7 = -1; + + for(int var8 = 0; var8 < 10; ++var8) { + if(~var5 <= ~this.anIntArray766[var8] && ~this.anIntArray766[var8] != -1) { + var7 = this.anIntArray804[var8]; + } + } + + if(~var7 != 0) { + return Class38.getItemDefinition(var7, (byte)109).method1110(113, var2, var3, var4, 1, var6); + } + } + + Model var11 = (Model)Class143.aClass93_1874.get((long)this.itemId, (byte)121); + if(var11 == null) { + Model_Sub1 var12 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, this.anInt755, 0); + if(null == var12) { + return null; + } + + int var9; + if(null != this.aShortArray774) { + for(var9 = 0; this.aShortArray774.length > var9; ++var9) { + if(null != this.aByteArray785 && ~var9 > ~this.aByteArray785.length) { + var12.method2016(this.aShortArray774[var9], Class3_Sub13_Sub38.aShortArray3453[this.aByteArray785[var9] & 255]); + } else { + var12.method2016(this.aShortArray774[var9], this.aShortArray772[var9]); + } + } + } + + if(this.aShortArray765 != null) { + for(var9 = 0; var9 < this.aShortArray765.length; ++var9) { + var12.method1998(this.aShortArray765[var9], this.aShortArray751[var9]); + } + } + + var11 = var12.method2008(this.anInt784 + 64, 768 + this.anInt790, -50, -10, -50); + if(~this.anInt805 != -129 || this.anInt780 != 128 || ~this.anInt797 != -129) { + var11.resize(this.anInt805, this.anInt780, this.anInt797); + } + + var11.aBoolean2699 = true; + if(HDToolKit.highDetail) { + ((Class140_Sub1_Sub1)var11).method1920(false, false, false, true, false, false, true); + } + + Class143.aClass93_1874.put((byte)-123, var11, (long)this.itemId); + } + + if(var4 != null) { + var11 = var4.method2055(var11, (byte)-88, var2, var3, var6); + } + + return var11; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "h.E(" + var1 + ',' + var2 + ',' + var3 + ',' + (var4 != null?"{...}":"null") + ',' + var5 + ',' + var6 + ')'); + } + } + + public static void method1111(int var0) { + try { + aClass94_808 = null; + anIntArray781 = null; + aClass94_809 = null; + if(var0 == 3327) { + aClass94_806 = null; + aClass94_811 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "h.P(" + var0 + ')'); + } + } + + final void method1112(int var1) { + try { + if(var1 != 5401) { + method1103((CacheIndex)null, (CacheIndex)null, true); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "h.O(" + var1 + ')'); + } + } + + final void parseDefinitions(int var1, RSByteBuffer buffer) { + try { + while(true) { + int opcode = buffer.getByte((byte)-72); + if(0 == opcode) { + if(var1 != 1) { + this.anInt789 = -40; + } + + return; + } + + this.parseOpcode((byte)-72, buffer, opcode); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "h.M(" + var1 + ',' + (buffer != null?"{...}":"null") + ')'); + } + } + + private final void parseOpcode(byte var1, RSByteBuffer buffer, int opcode) { + try { + int var4 = -118 % ((var1 - 48) / 61); + if(~opcode != -2) { + if(opcode != 2) { + if(-5 == ~opcode) { + this.anInt810 = buffer.getShort(1); + } else if(~opcode == -6) { + this.anInt786 = buffer.getShort(1); + } else if(~opcode == -7) { + this.anInt799 = buffer.getShort(1); + } else if(~opcode == -8) { + this.anInt792 = buffer.getShort(1); + if(~this.anInt792 < -32768) { + this.anInt792 -= 65536; + } + } else if(~opcode != -9) { + if(opcode == 11) { + this.stackingType = 1; + } else if(-13 == ~opcode) { + this.value = buffer.getInt(); + } else if(-17 != ~opcode) { + if(23 == opcode) { + this.anInt793 = buffer.getShort(1); + } else if(opcode != 24) { + if(~opcode != -26) { + if(~opcode != -27) { + if(opcode >= 30 && -36 < ~opcode) { + this.groundOptions[-30 + opcode] = buffer.getString(); + if(this.groundOptions[opcode + -30].equals(25, Class3_Sub13_Sub3.aClass94_3051)) { + this.groundOptions[-30 + opcode] = null; + } + } else if(35 <= opcode && 40 > opcode) { + this.inventoryOptions[-35 + opcode] = buffer.getString(); + } else { + int var5; + int var6; + if(-41 != ~opcode) { + if(-42 == ~opcode) { + var5 = buffer.getByte((byte)-55); + this.aShortArray751 = new short[var5]; + this.aShortArray765 = new short[var5]; + + for(var6 = 0; ~var5 < ~var6; ++var6) { + this.aShortArray765[var6] = (short)buffer.getShort(1); + this.aShortArray751[var6] = (short)buffer.getShort(1); + } + } else if(42 == opcode) { + var5 = buffer.getByte((byte)-62); + this.aByteArray785 = new byte[var5]; + + for(var6 = 0; ~var6 > ~var5; ++var6) { + this.aByteArray785[var6] = buffer.getByte(); + } + } else if(opcode == 65) { + this.aBoolean807 = true; + } else if(-79 != ~opcode) { + if(-80 == ~opcode) { + this.anInt776 = buffer.getShort(1); + } else if(90 == opcode) { + this.anInt803 = buffer.getShort(1); + } else if(opcode == 91) { + this.anInt773 = buffer.getShort(1); + } else if(opcode != 92) { + if(opcode != 93) { + if(-96 == ~opcode) { + this.anInt768 = buffer.getShort(1); + } else if(-97 == ~opcode) { + this.anInt800 = buffer.getByte((byte)-118); + } else if(opcode == 97) { + this.anInt789 = buffer.getShort(1); + } else if(-99 == ~opcode) { + this.anInt791 = buffer.getShort(1); + } else if(-101 >= ~opcode && ~opcode > -111) { + if(null == this.anIntArray804) { + this.anIntArray804 = new int[10]; + this.anIntArray766 = new int[10]; + } + + this.anIntArray804[-100 + opcode] = buffer.getShort(1); + this.anIntArray766[opcode + -100] = buffer.getShort(1); + } else if(110 != opcode) { + if(~opcode != -112) { + if(-113 == ~opcode) { + this.anInt797 = buffer.getShort(1); + } else if(-114 != ~opcode) { + if(~opcode == -115) { + this.anInt790 = 5 * buffer.getByte(); + } else if(opcode == 115) { + this.teamId = buffer.getByte((byte)-125); + } else if(opcode != 121) { + if(opcode == 122) { + this.anInt762 = buffer.getShort(1); + } else if(125 != opcode) { + if(~opcode == -127) { + this.anInt777 = buffer.getByte(); + this.anInt802 = buffer.getByte(); + this.anInt752 = buffer.getByte(); + } else if(opcode == 127) { + this.anInt767 = buffer.getByte((byte)-34); + this.anInt758 = buffer.getShort(1); + } else if(~opcode != -129) { + if(-130 != ~opcode) { + if(-131 == ~opcode) { + buffer.getByte((byte)-43); + buffer.getShort(1); + } else if(249 == opcode) { + var5 = buffer.getByte((byte)-44); + if(null == this.aClass130_798) { + var6 = Class95.method1585((byte)97, var5); + this.aClass130_798 = new Class130(var6); + } + + for(var6 = 0; var6 < var5; ++var6) { + boolean var7 = buffer.getByte((byte)-95) == 1; + int var8 = buffer.getTriByte((byte)122); + Object var9; + if(!var7) { + var9 = new Class3_Sub18(buffer.getInt()); + } else { + var9 = new Class3_Sub29(buffer.getString()); + } + + this.aClass130_798.method1779(1, (Class3)var9, (long)var8); + } + } + } else { + buffer.getByte((byte)-51); + buffer.getShort(1); + } + } else { + this.anInt788 = buffer.getByte((byte)-63); + this.anInt756 = buffer.getShort(1); + } + } else { + this.wornModelPositionX = buffer.getByte(); + this.wornModelPositionZ = buffer.getByte(); + this.wornModelPositionY = buffer.getByte(); + } + } else { + this.anInt795 = buffer.getShort(1); + } + } else { + this.anInt784 = buffer.getByte(); + } + } else { + this.anInt780 = buffer.getShort(1); + } + } else { + this.anInt805 = buffer.getShort(1); + } + } else { + this.anInt753 = buffer.getShort(1); + } + } else { + this.anInt796 = buffer.getShort(1); + } + } else { + this.anInt769 = buffer.getShort(1); + } + } else { + var5 = buffer.getByte((byte)-64); + this.aShortArray772 = new short[var5]; + this.aShortArray774 = new short[var5]; + + for(var6 = 0; var5 > var6; ++var6) { + this.aShortArray774[var6] = (short)buffer.getShort(1); + this.aShortArray772[var6] = (short)buffer.getShort(1); + } + } + } + } else { + this.anInt794 = buffer.getShort(1); + } + } else { + this.anInt761 = buffer.getShort(1); + } + } else { + this.anInt771 = buffer.getShort(1); + } + } else { + this.membersItem = true; + } + } else { + this.anInt754 = buffer.getShort(1); + if(this.anInt754 > 32767) { + this.anInt754 -= 65536; + } + } + } else { + this.name = buffer.getString(); + } + } else { + this.anInt755 = buffer.getShort(1); + } + + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "h.Q(" + var1 + ',' + (buffer != null?"{...}":"null") + ',' + opcode + ')'); + } + } + + final int method1115(int var1, int var2, int var3) { + try { + int var4 = -82 % ((-63 - var2) / 55); + if(this.aClass130_798 != null) { + Class3_Sub18 var5 = (Class3_Sub18)this.aClass130_798.method1780((long)var3, 0); + return null != var5?var5.anInt2467:var1; + } else { + return var1; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "h.I(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final Model_Sub1 method1116(boolean var1, byte var2) { + try { + int var4 = this.anInt796; + if(var2 != -109) { + return (Model_Sub1)null; + } else { + int var3 = this.anInt803; + if(var1) { + var4 = this.anInt753; + var3 = this.anInt773; + } + + if(-1 != var3) { + Model_Sub1 var5 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, var3, 0); + if(-1 != var4) { + Model_Sub1 var6 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, var4, 0); + Model_Sub1[] var7 = new Model_Sub1[]{var5, var6}; + var5 = new Model_Sub1(var7, 2); + } + + int var9; + if(this.aShortArray774 != null) { + for(var9 = 0; var9 < this.aShortArray774.length; ++var9) { + var5.method2016(this.aShortArray774[var9], this.aShortArray772[var9]); + } + } + + if(this.aShortArray765 != null) { + for(var9 = 0; ~this.aShortArray765.length < ~var9; ++var9) { + var5.method1998(this.aShortArray765[var9], this.aShortArray751[var9]); + } + } + + return var5; + } else { + return null; + } + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "h.A(" + var1 + ',' + var2 + ')'); + } + } + + final Model_Sub1 method1117(boolean var1, int var2) { + try { + int var3 = this.anInt793; + if(var2 < 77) { + this.aClass130_798 = (Class130)null; + } + + int var4 = this.anInt771; + int var5 = this.anInt769; + if(var1) { + var5 = this.anInt776; + var3 = this.anInt761; + var4 = this.anInt794; + } + + if(~var3 == 0) { + return null; + } else { + Model_Sub1 var6 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, var3, 0); + if(0 != ~var4) { + Model_Sub1 var7 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, var4, 0); + if(-1 == var5) { + Model_Sub1[] var8 = new Model_Sub1[]{var6, var7}; + var6 = new Model_Sub1(var8, 2); + } else { + Model_Sub1 var12 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, var5, 0); + Model_Sub1[] var9 = new Model_Sub1[]{var6, var7, var12}; + var6 = new Model_Sub1(var9, 3); + } + } + + // System.out.println(var1 + " - "); + // this.wornModelPositionX = -1; + // this.wornModelPositionZ = 13;//-1;//20; + // this.wornModelPositionY = -1; + if(!var1 && (~this.wornModelPositionX != -1 || ~this.wornModelPositionZ != -1 || -1 != ~this.wornModelPositionY)) { + var6.method2001(this.wornModelPositionX, this.wornModelPositionZ, this.wornModelPositionY); + } + if(var1 && (~this.anInt777 != -1 || ~this.anInt802 != -1 || ~this.anInt752 != -1)) { + var6.method2001(this.anInt777, this.anInt802, this.anInt752); + } + + int var11; + if(this.aShortArray774 != null) { + for(var11 = 0; var11 < this.aShortArray774.length; ++var11) { + var6.method2016(this.aShortArray774[var11], this.aShortArray772[var11]); + } + } + + if(this.aShortArray765 != null) { + for(var11 = 0; var11 < this.aShortArray765.length; ++var11) { + var6.method1998(this.aShortArray765[var11], this.aShortArray751[var11]); + } + } + + return var6; + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "h.D(" + var1 + ',' + var2 + ')'); + } + } + + final void method1118(ItemDefinition var1, ItemDefinition var2, boolean var3) { + try { + this.name = var1.name; + this.anInt810 = var2.anInt810; + if(var3) { + this.anInt780 = -70; + } + + this.aShortArray774 = var2.aShortArray774; + this.aShortArray772 = var2.aShortArray772; + this.anInt786 = var2.anInt786; + this.anInt799 = var2.anInt799; + this.aShortArray751 = var2.aShortArray751; + this.anInt755 = var2.anInt755; + this.aByteArray785 = var2.aByteArray785; + this.anInt768 = var2.anInt768; + this.value = var1.value; + this.stackingType = 1; + this.anInt754 = var2.anInt754; + this.anInt792 = var2.anInt792; + this.aShortArray765 = var2.aShortArray765; + this.membersItem = var1.membersItem; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "h.N(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + static final void method1119(Component var0, boolean var1) { + try { + var0.addMouseListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + if(var1) { + aClass94_811 = (RSString)null; + } + + var0.addMouseMotionListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + var0.addFocusListener(Class3_Sub28_Sub7_Sub1.aClass149_4047); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "h.K(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final Class140_Sub1_Sub2 method1120(int var1) { + try { + Model_Sub1 var2 = Model_Sub1.method2015(Class3_Sub29.aClass153_2581, this.anInt755, 0); + if(var2 == null) { + return null; + } else { + int var3; + if(this.aShortArray774 != null) { + for(var3 = 0; this.aShortArray774.length > var3; ++var3) { + if(null != this.aByteArray785 && ~var3 > ~this.aByteArray785.length) { + var2.method2016(this.aShortArray774[var3], Class3_Sub13_Sub38.aShortArray3453[this.aByteArray785[var3] & 255]); + } else { + var2.method2016(this.aShortArray774[var3], this.aShortArray772[var3]); + } + } + } + + if(this.aShortArray765 != null) { + for(var3 = 0; var3 < this.aShortArray765.length; ++var3) { + var2.method1998(this.aShortArray765[var3], this.aShortArray751[var3]); + } + } + + Class140_Sub1_Sub2 var5 = var2.method2000(64 - -this.anInt784, 768 - -this.anInt790, -50, -10, -50); + if(var1 != 18206) { + this.method1105(-67, (RSString)null, -37); + } + + if(-129 != ~this.anInt805 || -129 != ~this.anInt780 || -129 != ~this.anInt797) { + var5.resize(this.anInt805, this.anInt780, this.anInt797); + } + + return var5; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "h.L(" + var1 + ')'); + } + } + + public ItemDefinition() { + this.name = Class40.aClass94_672; + this.wornModelPositionY = 0; + this.anInt784 = 0; + this.anInt769 = -1; + this.anInt796 = -1; + this.anInt791 = -1; + this.anInt777 = 0; + this.anInt780 = 128; + this.anInt767 = -1; + this.anInt758 = -1; + this.anInt768 = 0; + this.anInt762 = -1; + this.anInt795 = -1; + this.anInt761 = -1; + this.anInt771 = -1; + this.anInt754 = 0; + this.anInt786 = 0; + this.anInt799 = 0; + this.anInt800 = 0; + this.stackingType = 0; + this.anInt789 = -1; + this.anInt794 = -1; + this.anInt788 = -1; + this.anInt797 = 128; + this.membersItem = false; + this.anInt752 = 0; + this.anInt792 = 0; + this.anInt803 = -1; + this.anInt802 = 0; + this.anInt793 = -1; + this.groundOptions = new RSString[]{null, null, Class3_Sub13_Sub33.aClass94_3397, null, null}; + this.anInt805 = 128; + this.anInt790 = 0; + this.wornModelPositionZ = 0; + this.inventoryOptions = new RSString[]{null, null, null, null, Class140_Sub3.aClass94_2744}; + this.anInt810 = 2000; + this.aBoolean807 = false; + } + + static { + int var0 = 0; + + for(int var1 = 0; var1 < 99; ++var1) { + int var2 = 1 + var1; + int var3 = (int)(Math.pow(2.0D, (double)var2 / 7.0D) * 300.0D + (double)var2); + var0 += var3; + anIntArray781[var1] = var0 / 4; + } + + aClass94_808 = RSString.createRSString(" zuerst von Ihrer Ignorieren)2Liste(Q"); + aClass94_811 = RSString.createRSString("green:"); + aClass94_809 = aClass94_811; + aClass94_806 = aClass94_811; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/LDIndexedSprite.java b/09HDscape-client/src/org/runite/jagex/LDIndexedSprite.java new file mode 100644 index 000000000..d5d6519f8 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/LDIndexedSprite.java @@ -0,0 +1,458 @@ +package org.runite.jagex; + +final class LDIndexedSprite extends AbstractIndexedSprite { + + private int[] anIntArray2673; + byte[] aByteArray2674; + + + final void method1668(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anIntArray2673.length; ++var4) { + int var5 = this.anIntArray2673[var4] >> 16 & 255; + var5 += var1; + if(var5 < 0) { + var5 = 0; + } else if(var5 > 255) { + var5 = 255; + } + + int var6 = this.anIntArray2673[var4] >> 8 & 255; + var6 += var2; + if(var6 < 0) { + var6 = 0; + } else if(var6 > 255) { + var6 = 255; + } + + int var7 = this.anIntArray2673[var4] & 255; + var7 += var3; + if(var7 < 0) { + var7 = 0; + } else if(var7 > 255) { + var7 = 255; + } + + this.anIntArray2673[var4] = (var5 << 16) + (var6 << 8) + var7; + } + + } + + final void method1669(int var1, int var2, int var3, int var4, int var5) { + int var6 = this.anInt1461; + int var7 = this.anInt1468; + int var8 = 0; + int var9 = 0; + int var10 = this.anInt1469; + int var11 = this.anInt1467; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if(this.anInt1470 > 0) { + var14 = ((this.anInt1470 << 16) + var12 - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.anInt1470 << 16); + } + + if(this.anInt1464 > 0) { + var14 = ((this.anInt1464 << 16) + var13 - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.anInt1464 << 16); + } + + if(var6 < var10) { + var3 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + if(var7 < var11) { + var4 = ((var7 << 16) - var9 + var13 - 1) / var13; + } + + var14 = var1 + var2 * Class74.anInt1092; + int var15 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var16; + if(var2 < Class74.anInt1095) { + var16 = Class74.anInt1095 - var2; + var4 -= var16; + var14 += var16 * Class74.anInt1092; + var9 += var13 * var16; + } + + if(var1 + var3 > Class74.anInt1096) { + var16 = var1 + var3 - Class74.anInt1096; + var3 -= var16; + var15 += var16; + } + + if(var1 < Class74.anInt1093) { + var16 = Class74.anInt1093 - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + method1673(Class74.anIntArray1100, this.aByteArray2674, this.anIntArray2673, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + + private static final void method1670(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; + + for(int var13 = -var8; var13 < 0; ++var13) { + int var14 = (var4 >> 16) * var11; + + for(int var15 = -var7; var15 < 0; ++var15) { + byte var16 = var1[(var3 >> 16) + var14]; + if(var16 != 0) { + var0[var5++] = var2[var16 & 255]; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } + + final void method1671() { + int var1 = 0; + + int var2; + for(var2 = this.aByteArray2674.length - 7; var1 < var2; this.aByteArray2674[var1++] = 0) { + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + this.aByteArray2674[var1++] = 0; + } + + for(var2 += 7; var1 < var2; this.aByteArray2674[var1++] = 0) { + ; + } + + } + + private static final void method1672(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = -(var6 >> 2); + var6 = -(var6 & 3); + + for(int var11 = -var7; var11 < 0; ++var11) { + int var12; + byte var13; + for(var12 = var10; var12 < 0; ++var12) { + var13 = var1[var4++]; + if(var13 != 0) { + var0[var5++] = var2[var13 & 255]; + } else { + ++var5; + } + + var13 = var1[var4++]; + if(var13 != 0) { + var0[var5++] = var2[var13 & 255]; + } else { + ++var5; + } + + var13 = var1[var4++]; + if(var13 != 0) { + var0[var5++] = var2[var13 & 255]; + } else { + ++var5; + } + + var13 = var1[var4++]; + if(var13 != 0) { + var0[var5++] = var2[var13 & 255]; + } else { + ++var5; + } + } + + for(var12 = var6; var12 < 0; ++var12) { + var13 = var1[var4++]; + if(var13 != 0) { + var0[var5++] = var2[var13 & 255]; + } else { + ++var5; + } + } + + var5 += var8; + var4 += var9; + } + + } + + private static final void method1673(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + int var13 = var3; + int var14 = var12 >> 16 & 255; + int var15 = var12 >> 8 & 255; + int var16 = var12 & 255; + + for(int var17 = -var8; var17 < 0; ++var17) { + int var18 = (var4 >> 16) * var11; + + for(int var19 = -var7; var19 < 0; ++var19) { + byte var20 = var1[(var3 >> 16) + var18]; + if(var20 != 0) { + int var24 = var2[var20 & 255]; + int var21 = var24 >> 16 & 255; + int var22 = var24 >> 8 & 255; + int var23 = var24 & 255; + var0[var5++] = (var21 * var14 >> 8 << 16) + (var22 * var15 >> 8 << 8) + (var23 * var16 >> 8); + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var13; + var5 += var6; + } + + } + + final void method1674() { + byte[] var1 = new byte[this.anInt1461 * this.anInt1468]; + int var2 = 0; + + int var3; + for(var3 = 0; var3 < this.anInt1461; ++var3) { + for(int var4 = this.anInt1468 - 1; var4 >= 0; --var4) { + var1[var2++] = this.aByteArray2674[var3 + var4 * this.anInt1461]; + } + } + + this.aByteArray2674 = var1; + var3 = this.anInt1464; + this.anInt1464 = this.anInt1470; + this.anInt1470 = this.anInt1467 - this.anInt1468 - var3; + var3 = this.anInt1468; + this.anInt1468 = this.anInt1461; + this.anInt1461 = var3; + var3 = this.anInt1467; + this.anInt1467 = this.anInt1469; + this.anInt1469 = var3; + } + + final void method1666(int var1, int var2, int var3) { + var1 += this.anInt1470; + var2 += this.anInt1464; + int var4 = var1 + var2 * Class74.anInt1092; + int var5 = 0; + int var6 = this.anInt1468; + int var7 = this.anInt1461; + int var8 = Class74.anInt1092 - var7; + int var9 = 0; + int var10; + if(var2 < Class74.anInt1095) { + var10 = Class74.anInt1095 - var2; + var6 -= var10; + var2 = Class74.anInt1095; + var5 += var10 * var7; + var4 += var10 * Class74.anInt1092; + } + + if(var2 + var6 > Class74.anInt1099) { + var6 -= var2 + var6 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var10 = Class74.anInt1093 - var1; + var7 -= var10; + var1 = Class74.anInt1093; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if(var1 + var7 > Class74.anInt1096) { + var10 = var1 + var7 - Class74.anInt1096; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if(var7 > 0 && var6 > 0) { + method1676(Class74.anIntArray1100, this.aByteArray2674, this.anIntArray2673, var5, var4, var7, var6, var8, var9, var3); + } + } + + final void method1675() { + if(this.anInt1461 != this.anInt1469 || this.anInt1468 != this.anInt1467) { + byte[] var1 = new byte[this.anInt1469 * this.anInt1467]; + int var2 = 0; + + for(int var3 = 0; var3 < this.anInt1468; ++var3) { + for(int var4 = 0; var4 < this.anInt1461; ++var4) { + var1[var4 + this.anInt1470 + (var3 + this.anInt1464) * this.anInt1469] = this.aByteArray2674[var2++]; + } + } + + this.aByteArray2674 = var1; + this.anInt1461 = this.anInt1469; + this.anInt1468 = this.anInt1467; + this.anInt1470 = 0; + this.anInt1464 = 0; + } + } + + private static final void method1676(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = 256 - var9; + + for(int var11 = -var6; var11 < 0; ++var11) { + for(int var12 = -var5; var12 < 0; ++var12) { + byte var13 = var1[var3++]; + if(var13 != 0) { + int var15 = var2[var13 & 255]; + int var14 = var0[var4]; + var0[var4++] = ((var15 & 16711935) * var9 + (var14 & 16711935) * var10 & -16711936) + ((var15 & '\uff00') * var9 + (var14 & '\uff00') * var10 & 16711680) >> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + final void method1677(int var1, int var2, int var3, int var4) { + int var5 = this.anInt1461; + int var6 = this.anInt1468; + int var7 = 0; + int var8 = 0; + int var9 = this.anInt1469; + int var10 = this.anInt1467; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if(this.anInt1470 > 0) { + var13 = ((this.anInt1470 << 16) + var11 - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.anInt1470 << 16); + } + + if(this.anInt1464 > 0) { + var13 = ((this.anInt1464 << 16) + var12 - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.anInt1464 << 16); + } + + if(var5 < var9) { + var3 = ((var5 << 16) - var7 + var11 - 1) / var11; + } + + if(var6 < var10) { + var4 = ((var6 << 16) - var8 + var12 - 1) / var12; + } + + var13 = var1 + var2 * Class74.anInt1092; + int var14 = Class74.anInt1092 - var3; + if(var2 + var4 > Class74.anInt1099) { + var4 -= var2 + var4 - Class74.anInt1099; + } + + int var15; + if(var2 < Class74.anInt1095) { + var15 = Class74.anInt1095 - var2; + var4 -= var15; + var13 += var15 * Class74.anInt1092; + var8 += var12 * var15; + } + + if(var1 + var3 > Class74.anInt1096) { + var15 = var1 + var3 - Class74.anInt1096; + var3 -= var15; + var14 += var15; + } + + if(var1 < Class74.anInt1093) { + var15 = Class74.anInt1093 - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + method1670(Class74.anIntArray1100, this.aByteArray2674, this.anIntArray2673, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + + final void method1667(int var1, int var2) { + var1 += this.anInt1470; + var2 += this.anInt1464; + int var3 = var1 + var2 * Class74.anInt1092; + int var4 = 0; + int var5 = this.anInt1468; + int var6 = this.anInt1461; + int var7 = Class74.anInt1092 - var6; + int var8 = 0; + int var9; + if(var2 < Class74.anInt1095) { + var9 = Class74.anInt1095 - var2; + var5 -= var9; + var2 = Class74.anInt1095; + var4 += var9 * var6; + var3 += var9 * Class74.anInt1092; + } + + if(var2 + var5 > Class74.anInt1099) { + var5 -= var2 + var5 - Class74.anInt1099; + } + + if(var1 < Class74.anInt1093) { + var9 = Class74.anInt1093 - var1; + var6 -= var9; + var1 = Class74.anInt1093; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if(var1 + var6 > Class74.anInt1096) { + var9 = var1 + var6 - Class74.anInt1096; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if(var6 > 0 && var5 > 0) { + method1672(Class74.anIntArray1100, this.aByteArray2674, this.anIntArray2673, 0, var4, var3, var6, var5, var7, var8); + } + } + + LDIndexedSprite(int var1, int var2, int var3, int var4, int var5, int var6, byte[] var7, int[] var8) { + this.anInt1469 = var1; + this.anInt1467 = var2; + this.anInt1470 = var3; + this.anInt1464 = var4; + this.anInt1461 = var5; + this.anInt1468 = var6; + this.aByteArray2674 = var7; + this.anIntArray2673 = var8; + } + + LDIndexedSprite(int var1, int var2, int var3) { + this.anInt1469 = this.anInt1461 = var1; + this.anInt1467 = this.anInt1468 = var2; + this.anInt1470 = this.anInt1464 = 0; + this.aByteArray2674 = new byte[var1 * var2]; + this.anIntArray2673 = new int[var3]; + } +} diff --git a/09HDscape-client/src/org/runite/jagex/LibraryDownloader.java b/09HDscape-client/src/org/runite/jagex/LibraryDownloader.java new file mode 100644 index 000000000..5725634a9 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/LibraryDownloader.java @@ -0,0 +1,206 @@ +package org.runite.jagex; + + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.net.URLConnection; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +/** + * @author Shadowy on rune-server + * @date 4th June 2014 + */ +public class LibraryDownloader { + + public LibraryDownloader() {} + + private final int BUFFER = 1024; + + public void drawLoadingText(String text) { + println(text); + } + + public void drawLoadingText(int amount, String text) { + println(text); + } + + private String cacheDir = "NEEDS TO BE SET--1"; + private String getLibsDir() { + return cacheDir; + } + + public static String getCachePathFromDll(String dll) { + int lastSlashIndex = dll.lastIndexOf('/'); + if (lastSlashIndex >= 0 && lastSlashIndex < dll.length() -1) { + //println("getArchivedName returning "+getCacheLink().substring(lastSlashIndex + 1)); + //return getCacheLink().substring(lastSlashIndex + 1); + return dll.substring(0, lastSlashIndex + 1);//(lastSlashIndex + 1); + } else { + System.err.println("Failed to get archived cache name."); + } + return ""; + } + + private String getCacheLink() { + return "https://dl.dropboxusercontent.com/u/9942513/530_project/live/530hdlibs.zip"; + } + + private String fileToExtract = "NEEDS TO BE SET--2"; + private boolean downloaded; + public void updateDlls(String cacheDir1) { + if(downloaded){ + println("Libraries already aquired."); + return; + } + this.cacheDir = getCachePathFromDll(cacheDir1); + println("[FindCache] set to "+this.cacheDir+" using file path "+cacheDir1); + fileToExtract = getLibsDir() + getArchivedName(); + try { + File location = new File(this.cacheDir+"/jogl_32.dll"); + /** + * User doesn't have the cache. + */ + if(!location.exists()) { + println("Aquiring required HD libraries..."); + if(downloadFile(getCacheLink(), getArchivedName())){ + if(unZip()){ + deleteZIP(fileToExtract); + println("Libraries aquired."); + downloaded = true; + } + } + } else { + println("You have the required HD libs."); + downloaded=true; + } + } catch(Exception e) { + e.printStackTrace(); + } + return; + } + + private boolean downloadFile(String adress, String localFileName) { + OutputStream out = null; + URLConnection conn; + InputStream in = null; + try { + URL url = new URL(adress); + out = new BufferedOutputStream( new FileOutputStream(getLibsDir() + "/" +localFileName)); + + conn = url.openConnection(); + in = conn.getInputStream(); + + byte[] data = new byte[BUFFER]; + + int numRead; + long numWritten = 0; + int length = conn.getContentLength(); + + int lastPercent = -1; + while((numRead = in.read(data)) != -1) { + out.write(data, 0, numRead); + numWritten += numRead; + int percentage = (int)(((double)numWritten / (double)length) * 100D); + if(percentage != lastPercent){ + lastPercent = percentage; + drawLoadingText(percentage, "Downloading library " + percentage + "%"); + } + } + + println(localFileName + "\t" + numWritten); + } catch (Exception exception) { + exception.printStackTrace(); + return false; + } finally { + try { + if (in != null) { + in.close(); + } + if (out != null) { + out.close(); + } + return true; + } catch (IOException ioe) { + } + } + return false; + } + + private String getArchivedName() { + int lastSlashIndex = getCacheLink().lastIndexOf('/'); + if (lastSlashIndex >= 0 && lastSlashIndex < getCacheLink().length() -1) { + //println("getArchivedName returning "+getCacheLink().substring(lastSlashIndex + 1)); + return getCacheLink().substring(lastSlashIndex + 1); + } else { + System.err.println("Failed to get archived cache name."); + } + return ""; + } + + private boolean unZip() { + try { + InputStream in = new BufferedInputStream(new FileInputStream(fileToExtract)); + ZipInputStream zin = new ZipInputStream(in); + ZipEntry e; + + drawLoadingText("Extracting... please wait"); + while((e=zin.getNextEntry()) != null) { + if(e.isDirectory()) { + (new File(getLibsDir() + e.getName())).mkdir(); + } else { + println("Unzipping " + e.getName()); + if (e.getName().equals(fileToExtract)) { + unzip(zin, fileToExtract); + break; + } + unzip(zin, getLibsDir() + e.getName()); + } + } + zin.close(); + return true; + } catch(Exception e) { + e.printStackTrace(); + } + return false; + } + + private void unzip(ZipInputStream zin, String s) throws IOException { + FileOutputStream out = new FileOutputStream(s); + byte [] b = new byte[BUFFER]; + int len = 0; + while ((len = zin.read(b)) != -1) { + out.write(b,0,len); + } + out.close(); + } + + private void deleteZIP(String fileToDelete) { + File ZIPFile=new File(fileToDelete); + boolean exists = ZIPFile.exists(); + if (!exists) { + println("Unable to find unneeded .ZIP data to delete."); + } else { + try{ + if(ZIPFile.delete()){ + println(ZIPFile.getName()+ " was deleted."); + }else{ + println(ZIPFile.getName()+ " was not deleted."); + } + }catch(Exception e){ + e.printStackTrace(); + } + } + } + + private void println(String string) { + System.out.println(string); + } +} \ No newline at end of file diff --git a/09HDscape-client/src/org/runite/jagex/Model.java b/09HDscape-client/src/org/runite/jagex/Model.java new file mode 100644 index 000000000..5ed5f0cb3 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Model.java @@ -0,0 +1,382 @@ +package org.runite.jagex; + +abstract class Model extends GameObject { + + boolean aBoolean2699 = false; + + + abstract int method1872(); + + abstract int method1871(); + + abstract boolean method1873(); + + abstract void method1874(); + + private final void method1875(Class3_Sub17 var1, AnimationHeader var2, AnimationHeader var3, int var4, int var5, boolean[] var6, boolean var7, boolean var8, int var9, int[] var10) { + int var11; + if(var3 != null && var4 != 0) { + var11 = 0; + int var34 = 0; + + for(int var35 = 0; var35 < var1.anInt2462; ++var35) { + boolean var36 = false; + if(var11 < var2.anInt1383 && var2.aShortArray1385[var11] == var35) { + var36 = true; + } + + boolean var15 = false; + if(var34 < var3.anInt1383 && var3.aShortArray1385[var34] == var35) { + var15 = true; + } + + if(var36 || var15) { + if(var6 != null && var6[var35] != var7 && var1.anIntArray2466[var35] != 0) { + if(var36) { + ++var11; + } + + if(var15) { + ++var34; + } + } else { + short var16 = 0; + int var17 = var1.anIntArray2466[var35]; + if(var17 == 3) { + var16 = 128; + } + + short var19; + short var18; + short var21; + short var20; + byte var22; + if(var36) { + var18 = var2.aShortArray1388[var11]; + var19 = var2.aShortArray1396[var11]; + var20 = var2.aShortArray1395[var11]; + var21 = var2.aShortArray1387[var11]; + var22 = var2.aByteArray1393[var11]; + ++var11; + } else { + var18 = var16; + var19 = var16; + var20 = var16; + var21 = -1; + var22 = 0; + } + + short var23; + short var25; + short var24; + byte var27; + short var26; + if(var15) { + var23 = var3.aShortArray1388[var34]; + var24 = var3.aShortArray1396[var34]; + var25 = var3.aShortArray1395[var34]; + var26 = var3.aShortArray1387[var34]; + var27 = var3.aByteArray1393[var34]; + ++var34; + } else { + var23 = var16; + var24 = var16; + var25 = var16; + var26 = -1; + var27 = 0; + } + + int var29; + int var28; + int var31; + int var30; + if((var22 & 2) == 0 && (var27 & 1) == 0) { + if(var17 == 2) { + var31 = var23 - var18 & 2047; + int var32 = var24 - var19 & 2047; + int var33 = var25 - var20 & 2047; + if(var31 >= 1024) { + var31 -= 2048; + } + + if(var32 >= 1024) { + var32 -= 2048; + } + + if(var33 >= 1024) { + var33 -= 2048; + } + + var28 = var18 + var31 * var4 / var5 & 2047; + var29 = var19 + var32 * var4 / var5 & 2047; + var30 = var20 + var33 * var4 / var5 & 2047; + } else if(var17 == 7) { + var31 = var23 - var18 & 63; + if(var31 >= 32) { + var31 -= 64; + } + + var28 = var18 + var31 * var4 / var5 & 63; + var29 = var19 + (var24 - var19) * var4 / var5; + var30 = var20 + (var25 - var20) * var4 / var5; + } else { + var28 = var18 + (var23 - var18) * var4 / var5; + var29 = var19 + (var24 - var19) * var4 / var5; + var30 = var20 + (var25 - var20) * var4 / var5; + } + } else { + var28 = var18; + var29 = var19; + var30 = var20; + } + + if(var21 != -1) { + var31 = var9 & var1.anIntArray2455[var21]; + if(var31 != '\uffff') { + this.method1899(0, var1.anIntArrayArray2460[var21], 0, 0, 0, var8, var31, var10); + } else { + this.method1891(0, var1.anIntArrayArray2460[var21], 0, 0, 0, var8); + } + } else if(var26 != -1) { + var31 = var9 & var1.anIntArray2455[var26]; + if(var31 != '\uffff') { + this.method1899(0, var1.anIntArrayArray2460[var26], 0, 0, 0, var8, var31, var10); + } else { + this.method1891(0, var1.anIntArrayArray2460[var26], 0, 0, 0, var8); + } + } + + var31 = var9 & var1.anIntArray2455[var35]; + if(var31 != '\uffff') { + this.method1899(var17, var1.anIntArrayArray2460[var35], var28, var29, var30, var8, var31, var10); + } else { + this.method1891(var17, var1.anIntArrayArray2460[var35], var28, var29, var30, var8); + } + } + } + } + + } else { + for(var11 = 0; var11 < var2.anInt1383; ++var11) { + short var12 = var2.aShortArray1385[var11]; + if(var6 == null || var6[var12] == var7 || var1.anIntArray2466[var12] == 0) { + short var13 = var2.aShortArray1387[var11]; + int var14; + if(var13 != -1) { + var14 = var9 & var1.anIntArray2455[var13]; + if(var14 != '\uffff') { + this.method1899(0, var1.anIntArrayArray2460[var13], 0, 0, 0, var8, var14, var10); + } else { + this.method1891(0, var1.anIntArrayArray2460[var13], 0, 0, 0, var8); + } + } + + var14 = var9 & var1.anIntArray2455[var12]; + if(var14 != '\uffff') { + this.method1899(var1.anIntArray2466[var12], var1.anIntArrayArray2460[var12], var2.aShortArray1388[var11], var2.aShortArray1396[var11], var2.aShortArray1395[var11], var8, var14, var10); + } else { + this.method1891(var1.anIntArray2466[var12], var1.anIntArrayArray2460[var12], var2.aShortArray1388[var11], var2.aShortArray1396[var11], var2.aShortArray1395[var11], var8); + } + } + } + + } + } + + abstract void method1876(int var1); + + final void method1877(Class3_Sub28_Sub5 var1, int var2) { + if(var2 != -1) { + if(this.method1873()) { + AnimationHeader var3 = var1.animations[var2]; + Class3_Sub17 var4 = var3.skins; + + for(int var5 = 0; var5 < var3.anInt1383; ++var5) { + short var6 = var3.aShortArray1385[var5]; + if(var4.aBooleanArray2463[var6]) { + if(var3.aShortArray1387[var5] != -1) { + this.method1889(0, 0, 0, 0); + } + + this.method1889(var4.anIntArray2466[var6], var3.aShortArray1388[var5], var3.aShortArray1396[var5], var3.aShortArray1395[var5]); + } + } + + this.method1879(); + } + } + } + + private static final int method1878(int[][] var0, int var1, int var2) { + int var3 = var1 >> 7; + int var4 = var2 >> 7; + if(var3 >= 0 && var4 >= 0 && var3 < var0.length && var4 < var0[0].length) { + int var5 = var1 & 127; + int var6 = var2 & 127; + int var7 = var0[var3][var4] * (128 - var5) + var0[var3 + 1][var4] * var5 >> 7; + int var8 = var0[var3][var4 + 1] * (128 - var5) + var0[var3 + 1][var4 + 1] * var5 >> 7; + return var7 * (128 - var6) + var8 * var6 >> 7; + } else { + return 0; + } + } + + abstract void method1879(); + + final void method1880(Class3_Sub28_Sub5 var1, int var2, Class3_Sub28_Sub5 var3, int var4, int var5, int var6, boolean var7) { + if(var2 != -1) { + if(this.method1873()) { + AnimationHeader var8 = var1.animations[var2]; + Class3_Sub17 var9 = var8.skins; + AnimationHeader var10 = null; + if(var3 != null) { + var10 = var3.animations[var4]; + if(var10.skins != var9) { + var10 = null; + } + } + + this.method1875(var9, var8, var10, var5, var6, (boolean[])null, false, var7, '\uffff', (int[])null); + this.method1879(); + } + } + } + + abstract void resize(int var1, int var2, int var3); + + abstract Model method1882(boolean var1, boolean var2, boolean var3); + + abstract int method1883(); + + abstract int method1884(); + + abstract void method1885(); + + abstract void method1886(int var1); + + final void method1887(Class3_Sub28_Sub5 var1, int var2, Class3_Sub28_Sub5 var3, int var4, int var5, int var6, int var7, boolean var8, int[] var9) { + if(var2 != -1) { + if(this.method1873()) { + AnimationHeader var10 = var1.animations[var2]; + Class3_Sub17 var11 = var10.skins; + AnimationHeader var12 = null; + if(var3 != null) { + var12 = var3.animations[var4]; + if(var12.skins != var11) { + var12 = null; + } + } + + this.method1875(var11, var10, var12, var5, var6, (boolean[])null, false, var8, var7, var9); + this.method1879(); + } + } + } + + abstract int method1888(); + + abstract void method1889(int var1, int var2, int var3, int var4); + + abstract Model method1890(boolean var1, boolean var2, boolean var3); + + abstract void method1891(int var1, int[] var2, int var3, int var4, int var5, boolean var6); + + final void method1892(Class3_Sub28_Sub5 var1, int var2, Class3_Sub28_Sub5 var3, int var4, int var5, int var6, Class3_Sub28_Sub5 var7, int var8, Class3_Sub28_Sub5 var9, int var10, int var11, int var12, boolean[] debugArray530, boolean var14) { + if(var2 != -1) { + if(debugArray530 != null && var8 != -1) { + if(this.method1873()) { + AnimationHeader var15 = var1.animations[var2]; + Class3_Sub17 var16 = var15.skins; + AnimationHeader var17 = null; + if(var3 != null) { + var17 = var3.animations[var4]; + if(var17.skins != var16) { + var17 = null; + } + } + + AnimationHeader var18 = var7.animations[var8]; + AnimationHeader var19 = null; + if(var9 != null) { + var19 = var9.animations[var10]; + if(var19.skins != var16) { + var19 = null; + } + } + + this.method1875(var16, var15, var17, var5, var6, debugArray530, false, var14, '\uffff', (int[])null); + this.method1891(0, new int[0], 0, 0, 0, var14); + this.method1875(var16, var18, var19, var11, var12, debugArray530, true, var14, '\uffff', (int[])null); + this.method1879(); + } + } else { + this.method1880(var1, var2, var3, var4, var5, var6, var14); + } + } + } + + abstract void method1893(int var1, int var2, int var3, int var4, int var5, int var6, int var7, long var8); + + abstract Model method1894(boolean var1, boolean var2, boolean var3); + + final void method1895(int[][] var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = false; + boolean var8 = false; + boolean var9 = false; + int var10 = -var5 / 2; + int var11 = -var6 / 2; + int var12 = method1878(var1, var2 + var10, var4 + var11); + int var13 = var5 / 2; + int var14 = -var6 / 2; + int var15 = method1878(var1, var2 + var13, var4 + var14); + int var16 = -var5 / 2; + int var17 = var6 / 2; + int var18 = method1878(var1, var2 + var16, var4 + var17); + int var19 = var5 / 2; + int var20 = var6 / 2; + int var21 = method1878(var1, var2 + var19, var4 + var20); + int var22 = var12 < var15?var12:var15; + int var23 = var18 < var21?var18:var21; + int var24 = var15 < var21?var15:var21; + int var25 = var12 < var18?var12:var18; + if(var6 != 0) { + int var26 = (int)(Math.atan2((double)(var22 - var23), (double)var6) * 325.95D) & 2047; + if(var26 != 0) { + this.method1896(var26); + } + } + + if(var5 != 0) { + int var27 = (int)(Math.atan2((double)(var25 - var24), (double)var5) * 325.95D) & 2047; + if(var27 != 0) { + this.method1886(var27); + } + } + + int var28 = var12 + var21; + if(var15 + var18 < var28) { + var28 = var15 + var18; + } + + var28 = (var28 >> 1) - var3; + if(var28 != 0) { + this.method1897(0, var28, 0); + } + + } + + abstract void method1896(int var1); + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + abstract void method1897(int var1, int var2, int var3); + + abstract int method1898(); + + abstract void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12); + + abstract void method1899(int var1, int[] var2, int var3, int var4, int var5, boolean var6, int var7, int[] var8); + + abstract void method1900(); + +} diff --git a/09HDscape-client/src/org/runite/jagex/Model_Sub1.java b/09HDscape-client/src/org/runite/jagex/Model_Sub1.java new file mode 100644 index 000000000..af0505e22 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Model_Sub1.java @@ -0,0 +1,1828 @@ +package org.runite.jagex; + +final class Model_Sub1 extends GameObject { + + byte[] aByteArray2843; + private short aShort2844; + byte[] aByteArray2845; + short[] aShortArray2846; + int[] anIntArray2847; + byte aByte2848 = 0; + int anInt2849 = 0; + private short aShort2850; + short[] aShortArray2851; + byte[] aByteArray2852; + private boolean aBoolean2853 = false; + private short aShort2854; + short[] aShortArray2855; + int[][] anIntArrayArray2856; + byte[] aByteArray2857; + short[] aShortArray2858; + byte[] aByteArray2859; + int[] anIntArray2860; + private static int[] anIntArray2861 = new int[10000]; + int anInt2862; + private static int[] anIntArray2863 = Class51.anIntArray851; + int[] anIntArray2864; + int[] anIntArray2865; + byte[] aByteArray2866; + byte[] aByteArray2867; + private static int anInt2868 = 0; + byte[] aByteArray2869; + short[] aShortArray2870; + private static int[] anIntArray2871 = Class51.anIntArray840; + Class50[] aClass50Array2872; + private short aShort2873; + private short aShort2874; + private static int[] anIntArray2875 = new int[10000]; + short aShort2876; + byte[] aByteArray2877; + int[] anIntArray2878; + short aShort2879; + private short aShort2880; + int[] anIntArray2881; + short[] aShortArray2882; + Class50[] aClass50Array2883; + short[] aShortArray2884; + int[] anIntArray2885; + Class120[] aClass120Array2886; + int anInt2887 = 0; + short[] aShortArray2888; + byte[] aByteArray2889; + int[][] anIntArrayArray2890; + short[] aShortArray2891; + int[] anIntArray2892; + short[] aShortArray2893; + + + final void method1989() { + for(int var1 = 0; var1 < this.anInt2887; ++var1) { + this.anIntArray2885[var1] = -this.anIntArray2885[var1]; + this.anIntArray2892[var1] = -this.anIntArray2892[var1]; + } + + this.method2007(); + } + + public static void method1990() { + anIntArray2861 = null; + anIntArray2875 = null; + anIntArray2871 = null; + anIntArray2863 = null; + } + + final void method1991() { + for(int var1 = 0; var1 < this.anInt2887; ++var1) { + int var2 = this.anIntArray2885[var1]; + this.anIntArray2885[var1] = this.anIntArray2892[var1]; + this.anIntArray2892[var1] = -var2; + } + + this.method2007(); + } + + private final void method1992(int var1) { + int var2 = anIntArray2871[var1]; + int var3 = anIntArray2863[var1]; + + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + int var5 = this.anIntArray2881[var4] * var2 + this.anIntArray2885[var4] * var3 >> 16; + this.anIntArray2881[var4] = this.anIntArray2881[var4] * var3 - this.anIntArray2885[var4] * var2 >> 16; + this.anIntArray2885[var4] = var5; + } + + this.method2007(); + } + + private final void method1993() { + if(!this.aBoolean2853) { + this.aBoolean2853 = true; + int var1 = 32767; + int var2 = 32767; + int var3 = 32767; + int var4 = -32768; + int var5 = -32768; + int var6 = -32768; + + for(int var7 = 0; var7 < this.anInt2887; ++var7) { + int var8 = this.anIntArray2885[var7]; + int var9 = this.anIntArray2881[var7]; + int var10 = this.anIntArray2892[var7]; + if(var8 < var1) { + var1 = var8; + } + + if(var8 > var4) { + var4 = var8; + } + + if(var9 < var2) { + var2 = var9; + } + + if(var9 > var5) { + var5 = var9; + } + + if(var10 < var3) { + var3 = var10; + } + + if(var10 > var6) { + var6 = var10; + } + } + + this.aShort2850 = (short)var1; + this.aShort2873 = (short)var4; + this.aShort2854 = (short)var2; + this.aShort2844 = (short)var5; + this.aShort2880 = (short)var3; + this.aShort2874 = (short)var6; + } + } + + final void method1994(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + this.anIntArray2885[var4] = this.anIntArray2885[var4] * var1 / 128; + this.anIntArray2881[var4] = this.anIntArray2881[var4] * var2 / 128; + this.anIntArray2892[var4] = this.anIntArray2892[var4] * var3 / 128; + } + + this.method2007(); + } + + final GameObject method1861(int var1, int var2, int var3) { + return this.method2008(this.aShort2879, this.aShort2876, var1, var2, var3); + } + + private final int method1995(Model_Sub1 var1, int var2, short var3) { + int var4 = var1.anIntArray2885[var2]; + int var5 = var1.anIntArray2881[var2]; + int var6 = var1.anIntArray2892[var2]; + + for(int var7 = 0; var7 < this.anInt2887; ++var7) { + if(var4 == this.anIntArray2885[var7] && var5 == this.anIntArray2881[var7] && var6 == this.anIntArray2892[var7]) { + this.aShortArray2893[var7] |= var3; + return var7; + } + } + + this.anIntArray2885[this.anInt2887] = var4; + this.anIntArray2881[this.anInt2887] = var5; + this.anIntArray2892[this.anInt2887] = var6; + this.aShortArray2893[this.anInt2887] = var3; + if(var1.anIntArray2860 != null) { + this.anIntArray2860[this.anInt2887] = var1.anIntArray2860[var2]; + } + + return this.anInt2887++; + } + + private final void method1996(int[][] var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = false; + boolean var8 = false; + boolean var9 = false; + int var10 = -var5 / 2; + int var11 = -var6 / 2; + int var12 = method2009(var1, var2 + var10, var4 + var11); + int var13 = var5 / 2; + int var14 = -var6 / 2; + int var15 = method2009(var1, var2 + var13, var4 + var14); + int var16 = -var5 / 2; + int var17 = var6 / 2; + int var18 = method2009(var1, var2 + var16, var4 + var17); + int var19 = var5 / 2; + int var20 = var6 / 2; + int var21 = method2009(var1, var2 + var19, var4 + var20); + int var22 = var12 < var15?var12:var15; + int var23 = var18 < var21?var18:var21; + int var24 = var15 < var21?var15:var21; + int var25 = var12 < var18?var12:var18; + if(var6 != 0) { + int var26 = (int)(Math.atan2((double)(var22 - var23), (double)var6) * 325.95D) & 2047; + if(var26 != 0) { + this.method2006(var26); + } + } + + if(var5 != 0) { + int var27 = (int)(Math.atan2((double)(var25 - var24), (double)var5) * 325.95D) & 2047; + if(var27 != 0) { + this.method1992(var27); + } + } + + int var28 = var12 + var21; + if(var15 + var18 < var28) { + var28 = var15 + var18; + } + + var28 = (var28 >> 1) - var3; + if(var28 != 0) { + this.method2001(0, var28, 0); + } + + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) {} + + final void method1997() { + if(this.aClass50Array2872 == null) { + this.aClass50Array2872 = new Class50[this.anInt2887]; + + int var1; + for(var1 = 0; var1 < this.anInt2887; ++var1) { + this.aClass50Array2872[var1] = new Class50(); + } + + for(var1 = 0; var1 < this.anInt2849; ++var1) { + int var2 = this.anIntArray2865[var1]; + int var3 = this.anIntArray2878[var1]; + int var4 = this.anIntArray2864[var1]; + int var5 = this.anIntArray2885[var3] - this.anIntArray2885[var2]; + int var6 = this.anIntArray2881[var3] - this.anIntArray2881[var2]; + int var7 = this.anIntArray2892[var3] - this.anIntArray2892[var2]; + int var8 = this.anIntArray2885[var4] - this.anIntArray2885[var2]; + int var9 = this.anIntArray2881[var4] - this.anIntArray2881[var2]; + int var10 = this.anIntArray2892[var4] - this.anIntArray2892[var2]; + int var11 = var6 * var10 - var9 * var7; + int var12 = var7 * var8 - var10 * var5; + + int var13; + for(var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { + var11 >>= 1; + var12 >>= 1; + } + + int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); + if(var14 <= 0) { + var14 = 1; + } + + var11 = var11 * 256 / var14; + var12 = var12 * 256 / var14; + var13 = var13 * 256 / var14; + byte var15; + if(this.aByteArray2859 == null) { + var15 = 0; + } else { + var15 = this.aByteArray2859[var1]; + } + + if(var15 == 0) { + Class50 var16 = this.aClass50Array2872[var2]; + var16.anInt831 += var11; + var16.anInt821 += var12; + var16.anInt830 += var13; + ++var16.anInt823; + var16 = this.aClass50Array2872[var3]; + var16.anInt831 += var11; + var16.anInt821 += var12; + var16.anInt830 += var13; + ++var16.anInt823; + var16 = this.aClass50Array2872[var4]; + var16.anInt831 += var11; + var16.anInt821 += var12; + var16.anInt830 += var13; + ++var16.anInt823; + } else if(var15 == 1) { + if(this.aClass120Array2886 == null) { + this.aClass120Array2886 = new Class120[this.anInt2849]; + } + + Class120 var17 = this.aClass120Array2886[var1] = new Class120(); + var17.anInt1634 = var11; + var17.anInt1635 = var12; + var17.anInt1632 = var13; + } + } + + } + } + + final void method1998(short var1, short var2) { + if(this.aShortArray2858 != null) { + for(int var3 = 0; var3 < this.anInt2849; ++var3) { + if(this.aShortArray2858[var3] == var1) { + this.aShortArray2858[var3] = var2; + } + } + + } + } + + final Model_Sub1 method1999(int var1, int var2, int[][] var3, int[][] var4, int var5, int var6, int var7, boolean var8, boolean var9) { + this.method1993(); + int var10 = var5 + this.aShort2850; + int var11 = var5 + this.aShort2873; + int var12 = var7 + this.aShort2880; + int var13 = var7 + this.aShort2874; + if((var1 == 1 || var1 == 2 || var1 == 3 || var1 == 5) && (var10 < 0 || var11 + 128 >> 7 >= var3.length || var12 < 0 || var13 + 128 >> 7 >= var3[0].length)) { + return this; + } else { + if(var1 != 4 && var1 != 5) { + var10 >>= 7; + var11 = var11 + 127 >> 7; + var12 >>= 7; + var13 = var13 + 127 >> 7; + if(var3[var10][var12] == var6 && var3[var11][var12] == var6 && var3[var10][var13] == var6 && var3[var11][var13] == var6) { + return this; + } + } else { + if(var4 == null) { + return this; + } + + if(var10 < 0 || var11 + 128 >> 7 >= var4.length || var12 < 0 || var13 + 128 >> 7 >= var4[0].length) { + return this; + } + } + + Model_Sub1 var14; + if(var8) { + var14 = new Model_Sub1(); + var14.anInt2887 = this.anInt2887; + var14.anInt2849 = this.anInt2849; + var14.anInt2862 = this.anInt2862; + var14.anIntArray2865 = this.anIntArray2865; + var14.anIntArray2878 = this.anIntArray2878; + var14.anIntArray2864 = this.anIntArray2864; + var14.aByteArray2859 = this.aByteArray2859; + var14.aByteArray2889 = this.aByteArray2889; + var14.aByteArray2843 = this.aByteArray2843; + var14.aByteArray2866 = this.aByteArray2866; + var14.aShortArray2870 = this.aShortArray2870; + var14.aShortArray2858 = this.aShortArray2858; + var14.aByte2848 = this.aByte2848; + var14.aByteArray2857 = this.aByteArray2857; + var14.aShortArray2884 = this.aShortArray2884; + var14.aShortArray2846 = this.aShortArray2846; + var14.aShortArray2891 = this.aShortArray2891; + var14.aShortArray2888 = this.aShortArray2888; + var14.aShortArray2882 = this.aShortArray2882; + var14.aShortArray2851 = this.aShortArray2851; + var14.aByteArray2845 = this.aByteArray2845; + var14.aByteArray2867 = this.aByteArray2867; + var14.aByteArray2877 = this.aByteArray2877; + var14.aByteArray2852 = this.aByteArray2852; + var14.aByteArray2869 = this.aByteArray2869; + var14.anIntArray2860 = this.anIntArray2860; + var14.anIntArray2847 = this.anIntArray2847; + var14.anIntArrayArray2890 = this.anIntArrayArray2890; + var14.anIntArrayArray2856 = this.anIntArrayArray2856; + var14.aShort2879 = this.aShort2879; + var14.aShort2876 = this.aShort2876; + var14.aClass50Array2872 = this.aClass50Array2872; + var14.aClass120Array2886 = this.aClass120Array2886; + var14.aClass50Array2883 = this.aClass50Array2883; + if(var1 == 3) { + var14.anIntArray2885 = Class65.method1233(this.anIntArray2885, 2); + var14.anIntArray2881 = Class65.method1233(this.anIntArray2881, 2); + var14.anIntArray2892 = Class65.method1233(this.anIntArray2892, 2); + } else { + var14.anIntArray2885 = this.anIntArray2885; + var14.anIntArray2881 = new int[var14.anInt2887]; + var14.anIntArray2892 = this.anIntArray2892; + } + } else { + var14 = this; + } + + int var15; + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var23; + int var22; + int var24; + if(var1 == 1) { + for(var15 = 0; var15 < var14.anInt2887; ++var15) { + var16 = this.anIntArray2885[var15] + var5; + var17 = this.anIntArray2892[var15] + var7; + var18 = var16 & 127; + var19 = var17 & 127; + var20 = var16 >> 7; + var21 = var17 >> 7; + var22 = var3[var20][var21] * (128 - var18) + var3[var20 + 1][var21] * var18 >> 7; + var23 = var3[var20][var21 + 1] * (128 - var18) + var3[var20 + 1][var21 + 1] * var18 >> 7; + var24 = var22 * (128 - var19) + var23 * var19 >> 7; + var14.anIntArray2881[var15] = this.anIntArray2881[var15] + var24 - var6; + } + } else { + int var25; + if(var1 == 2) { + for(var15 = 0; var15 < var14.anInt2887; ++var15) { + var16 = (this.anIntArray2881[var15] << 16) / this.aShort2854; + if(var16 < var2) { + var17 = this.anIntArray2885[var15] + var5; + var18 = this.anIntArray2892[var15] + var7; + var19 = var17 & 127; + var20 = var18 & 127; + var21 = var17 >> 7; + var22 = var18 >> 7; + var23 = var3[var21][var22] * (128 - var19) + var3[var21 + 1][var22] * var19 >> 7; + var24 = var3[var21][var22 + 1] * (128 - var19) + var3[var21 + 1][var22 + 1] * var19 >> 7; + var25 = var23 * (128 - var20) + var24 * var20 >> 7; + var14.anIntArray2881[var15] = this.anIntArray2881[var15] + (var25 - var6) * (var2 - var16) / var2; + } else { + var14.anIntArray2881[var15] = this.anIntArray2881[var15]; + } + } + } else if(var1 == 3) { + var15 = (var2 & 255) * 4; + var16 = (var2 >> 8 & 255) * 4; + this.method1996(var3, var5, var6, var7, var15, var16); + } else if(var1 == 4) { + var15 = this.aShort2844 - this.aShort2854; + + for(var16 = 0; var16 < this.anInt2887; ++var16) { + var17 = this.anIntArray2885[var16] + var5; + var18 = this.anIntArray2892[var16] + var7; + var19 = var17 & 127; + var20 = var18 & 127; + var21 = var17 >> 7; + var22 = var18 >> 7; + var23 = var4[var21][var22] * (128 - var19) + var4[var21 + 1][var22] * var19 >> 7; + var24 = var4[var21][var22 + 1] * (128 - var19) + var4[var21 + 1][var22 + 1] * var19 >> 7; + var25 = var23 * (128 - var20) + var24 * var20 >> 7; + var14.anIntArray2881[var16] = this.anIntArray2881[var16] + (var25 - var6) + var15; + } + } else if(var1 == 5) { + var15 = this.aShort2844 - this.aShort2854; + + for(var16 = 0; var16 < this.anInt2887; ++var16) { + var17 = this.anIntArray2885[var16] + var5; + var18 = this.anIntArray2892[var16] + var7; + var19 = var17 & 127; + var20 = var18 & 127; + var21 = var17 >> 7; + var22 = var18 >> 7; + var23 = var3[var21][var22] * (128 - var19) + var3[var21 + 1][var22] * var19 >> 7; + var24 = var3[var21][var22 + 1] * (128 - var19) + var3[var21 + 1][var22 + 1] * var19 >> 7; + var25 = var23 * (128 - var20) + var24 * var20 >> 7; + var23 = var4[var21][var22] * (128 - var19) + var4[var21 + 1][var22] * var19 >> 7; + var24 = var4[var21][var22 + 1] * (128 - var19) + var4[var21 + 1][var22 + 1] * var19 >> 7; + int var26 = var23 * (128 - var20) + var24 * var20 >> 7; + int var27 = var25 - var26; + var14.anIntArray2881[var16] = ((this.anIntArray2881[var16] << 8) / var15 * var27 >> 8) - (var6 - var25); + } + } + } + + if(var9) { + var14.method2007(); + } else { + this.aBoolean2853 = false; + } + + return var14; + } + } + + final Class140_Sub1_Sub2 method2000(int var1, int var2, int var3, int var4, int var5) { + return new Class140_Sub1_Sub2(this, var1, var2, var3, var4, var5); + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + final void method2001(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + this.anIntArray2885[var4] += var1; + this.anIntArray2881[var4] += var2; + this.anIntArray2892[var4] += var3; + } + + this.method2007(); + } + + final void method2002() { + int var1; + for(var1 = 0; var1 < this.anInt2887; ++var1) { + this.anIntArray2892[var1] = -this.anIntArray2892[var1]; + } + + for(var1 = 0; var1 < this.anInt2849; ++var1) { + int var2 = this.anIntArray2865[var1]; + this.anIntArray2865[var1] = this.anIntArray2864[var1]; + this.anIntArray2864[var1] = var2; + } + + this.method2007(); + } + + final boolean method1865() { + return true; + } + + private final void method2003(byte[] var1) { + RSByteBuffer var2 = new RSByteBuffer(var1); + RSByteBuffer var3 = new RSByteBuffer(var1); + RSByteBuffer var4 = new RSByteBuffer(var1); + RSByteBuffer var5 = new RSByteBuffer(var1); + RSByteBuffer var6 = new RSByteBuffer(var1); + RSByteBuffer var7 = new RSByteBuffer(var1); + RSByteBuffer var8 = new RSByteBuffer(var1); + var2.index = var1.length - 23; + int var9 = var2.getShort(1); + int var10 = var2.getShort(1); + int var11 = var2.getByte((byte)-100); + int var12 = var2.getByte((byte)-35); + boolean var13 = (var12 & 1) == 1; + boolean var14 = (var12 & 2) == 2; + int var15 = var2.getByte((byte)-35); + int var16 = var2.getByte((byte)-99); + int var17 = var2.getByte((byte)-25); + int var18 = var2.getByte((byte)-73); + int var19 = var2.getByte((byte)-94); + int var20 = var2.getShort(1); + int var21 = var2.getShort(1); + int var22 = var2.getShort(1); + int var23 = var2.getShort(1); + int var24 = var2.getShort(1); + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28; + if(var11 > 0) { + this.aByteArray2857 = new byte[var11]; + var2.index = 0; + + for(var28 = 0; var28 < var11; ++var28) { + byte var29 = this.aByteArray2857[var28] = var2.getByte(); + if(var29 == 0) { + ++var25; + } + + if(var29 >= 1 && var29 <= 3) { + ++var26; + } + + if(var29 == 2) { + ++var27; + } + } + } + + var28 = var11 + var9; + int var30 = var28; + if(var13) { + var28 += var10; + } + + int var31 = var28; + var28 += var10; + int var32 = var28; + if(var15 == 255) { + var28 += var10; + } + + int var33 = var28; + if(var17 == 1) { + var28 += var10; + } + + int var34 = var28; + if(var19 == 1) { + var28 += var9; + } + + int var35 = var28; + if(var16 == 1) { + var28 += var10; + } + + int var36 = var28; + var28 += var23; + int var37 = var28; + if(var18 == 1) { + var28 += var10 * 2; + } + + int var38 = var28; + var28 += var24; + int var39 = var28; + var28 += var10 * 2; + int var40 = var28; + var28 += var20; + int var41 = var28; + var28 += var21; + int var42 = var28; + var28 += var22; + int var43 = var28; + var28 += var25 * 6; + int var44 = var28; + var28 += var26 * 6; + int var45 = var28; + var28 += var26 * 6; + int var46 = var28; + var28 += var26; + int var47 = var28; + var28 += var26; + int var48 = var28; + var28 += var26 + var27 * 2; + this.anInt2887 = var9; + this.anInt2849 = var10; + this.anInt2862 = var11; + this.anIntArray2885 = new int[var9]; + this.anIntArray2881 = new int[var9]; + this.anIntArray2892 = new int[var9]; + this.anIntArray2865 = new int[var10]; + this.anIntArray2878 = new int[var10]; + this.anIntArray2864 = new int[var10]; + if(var19 == 1) { + this.anIntArray2860 = new int[var9]; + } + + if(var13) { + this.aByteArray2859 = new byte[var10]; + } + + if(var15 == 255) { + this.aByteArray2889 = new byte[var10]; + } else { + this.aByte2848 = (byte)var15; + } + + if(var16 == 1) { + this.aByteArray2843 = new byte[var10]; + } + + if(var17 == 1) { + this.anIntArray2847 = new int[var10]; + } + + if(var18 == 1) { + this.aShortArray2858 = new short[var10]; + } + + if(var18 == 1 && var11 > 0) { + this.aByteArray2866 = new byte[var10]; + } + + this.aShortArray2870 = new short[var10]; + if(var11 > 0) { + this.aShortArray2884 = new short[var11]; + this.aShortArray2846 = new short[var11]; + this.aShortArray2891 = new short[var11]; + if(var26 > 0) { + this.aShortArray2888 = new short[var26]; + this.aShortArray2882 = new short[var26]; + this.aShortArray2851 = new short[var26]; + this.aByteArray2845 = new byte[var26]; + this.aByteArray2867 = new byte[var26]; + this.aByteArray2877 = new byte[var26]; + } + + if(var27 > 0) { + this.aByteArray2852 = new byte[var27]; + this.aByteArray2869 = new byte[var27]; + } + } + + var2.index = var11; + var3.index = var40; + var4.index = var41; + var5.index = var42; + var6.index = var34; + int var50 = 0; + int var51 = 0; + int var52 = 0; + + int var55; + int var54; + int var53; + int var57; + int var56; + for(var53 = 0; var53 < var9; ++var53) { + var54 = var2.getByte((byte)-28); + var55 = 0; + if((var54 & 1) != 0) { + var55 = var3.getSmart(-21208); + } + + var56 = 0; + if((var54 & 2) != 0) { + var56 = var4.getSmart(-21208); + } + + var57 = 0; + if((var54 & 4) != 0) { + var57 = var5.getSmart(-21208); + } + + this.anIntArray2885[var53] = var50 + var55; + this.anIntArray2881[var53] = var51 + var56; + this.anIntArray2892[var53] = var52 + var57; + var50 = this.anIntArray2885[var53]; + var51 = this.anIntArray2881[var53]; + var52 = this.anIntArray2892[var53]; + if(var19 == 1) { + this.anIntArray2860[var53] = var6.getByte((byte)-32); + } + } + + var2.index = var39; + var3.index = var30; + var4.index = var32; + var5.index = var35; + var6.index = var33; + var7.index = var37; + var8.index = var38; + + for(var53 = 0; var53 < var10; ++var53) { + this.aShortArray2870[var53] = (short)var2.getShort(1); + if(var13) { + this.aByteArray2859[var53] = var3.getByte(); + } + + if(var15 == 255) { + this.aByteArray2889[var53] = var4.getByte(); + } + + if(var16 == 1) { + this.aByteArray2843[var53] = var5.getByte(); + } + + if(var17 == 1) { + this.anIntArray2847[var53] = var6.getByte((byte)-115); + } + + if(var18 == 1) { + this.aShortArray2858[var53] = (short)(var7.getShort(1) - 1); + } + + if(this.aByteArray2866 != null) { + if(this.aShortArray2858[var53] != -1) { + this.aByteArray2866[var53] = (byte)(var8.getByte((byte)-28) - 1); + } else { + this.aByteArray2866[var53] = -1; + } + } + } + + var2.index = var36; + var3.index = var31; + var53 = 0; + var54 = 0; + var55 = 0; + var56 = 0; + + int var58; + for(var57 = 0; var57 < var10; ++var57) { + var58 = var3.getByte((byte)-83); + if(var58 == 1) { + var53 = var2.getSmart(-21208) + var56; + var54 = var2.getSmart(-21208) + var53; + var55 = var2.getSmart(-21208) + var54; + var56 = var55; + this.anIntArray2865[var57] = var53; + this.anIntArray2878[var57] = var54; + this.anIntArray2864[var57] = var55; + } + + if(var58 == 2) { + var54 = var55; + var55 = var2.getSmart(-21208) + var56; + var56 = var55; + this.anIntArray2865[var57] = var53; + this.anIntArray2878[var57] = var54; + this.anIntArray2864[var57] = var55; + } + + if(var58 == 3) { + var53 = var55; + var55 = var2.getSmart(-21208) + var56; + var56 = var55; + this.anIntArray2865[var57] = var53; + this.anIntArray2878[var57] = var54; + this.anIntArray2864[var57] = var55; + } + + if(var58 == 4) { + int var59 = var53; + var53 = var54; + var54 = var59; + var55 = var2.getSmart(-21208) + var56; + var56 = var55; + this.anIntArray2865[var57] = var53; + this.anIntArray2878[var57] = var59; + this.anIntArray2864[var57] = var55; + } + } + + var2.index = var43; + var3.index = var44; + var4.index = var45; + var5.index = var46; + var6.index = var47; + var7.index = var48; + + for(var57 = 0; var57 < var11; ++var57) { + var58 = this.aByteArray2857[var57] & 255; + if(var58 == 0) { + this.aShortArray2884[var57] = (short)var2.getShort(1); + this.aShortArray2846[var57] = (short)var2.getShort(1); + this.aShortArray2891[var57] = (short)var2.getShort(1); + } + + if(var58 == 1) { + this.aShortArray2884[var57] = (short)var3.getShort(1); + this.aShortArray2846[var57] = (short)var3.getShort(1); + this.aShortArray2891[var57] = (short)var3.getShort(1); + this.aShortArray2888[var57] = (short)var4.getShort(1); + this.aShortArray2882[var57] = (short)var4.getShort(1); + this.aShortArray2851[var57] = (short)var4.getShort(1); + this.aByteArray2845[var57] = var5.getByte(); + this.aByteArray2867[var57] = var6.getByte(); + this.aByteArray2877[var57] = var7.getByte(); + } + + if(var58 == 2) { + this.aShortArray2884[var57] = (short)var3.getShort(1); + this.aShortArray2846[var57] = (short)var3.getShort(1); + this.aShortArray2891[var57] = (short)var3.getShort(1); + this.aShortArray2888[var57] = (short)var4.getShort(1); + this.aShortArray2882[var57] = (short)var4.getShort(1); + this.aShortArray2851[var57] = (short)var4.getShort(1); + this.aByteArray2845[var57] = var5.getByte(); + this.aByteArray2867[var57] = var6.getByte(); + this.aByteArray2877[var57] = var7.getByte(); + this.aByteArray2852[var57] = var7.getByte(); + this.aByteArray2869[var57] = var7.getByte(); + } + + if(var58 == 3) { + this.aShortArray2884[var57] = (short)var3.getShort(1); + this.aShortArray2846[var57] = (short)var3.getShort(1); + this.aShortArray2891[var57] = (short)var3.getShort(1); + this.aShortArray2888[var57] = (short)var4.getShort(1); + this.aShortArray2882[var57] = (short)var4.getShort(1); + this.aShortArray2851[var57] = (short)var4.getShort(1); + this.aByteArray2845[var57] = var5.getByte(); + this.aByteArray2867[var57] = var6.getByte(); + this.aByteArray2877[var57] = var7.getByte(); + } + } + + if(var14) { + var2.index = var28; + var57 = var2.getByte((byte)-53); + if(var57 > 0) { + var2.index += 4 * var57; + } + + var58 = var2.getByte((byte)-42); + if(var58 > 0) { + var2.index += 4 * var58; + } + } + + } + + final Model_Sub1 method2004() { + Model_Sub1 var1 = new Model_Sub1(); + if(this.aByteArray2859 != null) { + var1.aByteArray2859 = new byte[this.anInt2849]; + + for(int var2 = 0; var2 < this.anInt2849; ++var2) { + var1.aByteArray2859[var2] = this.aByteArray2859[var2]; + } + } + + var1.anInt2887 = this.anInt2887; + var1.anInt2849 = this.anInt2849; + var1.anInt2862 = this.anInt2862; + var1.anIntArray2885 = this.anIntArray2885; + var1.anIntArray2881 = this.anIntArray2881; + var1.anIntArray2892 = this.anIntArray2892; + var1.anIntArray2865 = this.anIntArray2865; + var1.anIntArray2878 = this.anIntArray2878; + var1.anIntArray2864 = this.anIntArray2864; + var1.aByteArray2889 = this.aByteArray2889; + var1.aByteArray2843 = this.aByteArray2843; + var1.aByteArray2866 = this.aByteArray2866; + var1.aShortArray2870 = this.aShortArray2870; + var1.aShortArray2858 = this.aShortArray2858; + var1.aByte2848 = this.aByte2848; + var1.aByteArray2857 = this.aByteArray2857; + var1.aShortArray2884 = this.aShortArray2884; + var1.aShortArray2846 = this.aShortArray2846; + var1.aShortArray2891 = this.aShortArray2891; + var1.aShortArray2888 = this.aShortArray2888; + var1.aShortArray2882 = this.aShortArray2882; + var1.aShortArray2851 = this.aShortArray2851; + var1.aByteArray2845 = this.aByteArray2845; + var1.aByteArray2867 = this.aByteArray2867; + var1.aByteArray2877 = this.aByteArray2877; + var1.aByteArray2852 = this.aByteArray2852; + var1.aByteArray2869 = this.aByteArray2869; + var1.anIntArray2860 = this.anIntArray2860; + var1.anIntArray2847 = this.anIntArray2847; + var1.anIntArrayArray2890 = this.anIntArrayArray2890; + var1.anIntArrayArray2856 = this.anIntArrayArray2856; + var1.aClass50Array2872 = this.aClass50Array2872; + var1.aClass120Array2886 = this.aClass120Array2886; + var1.aShort2879 = this.aShort2879; + var1.aShort2876 = this.aShort2876; + return var1; + } + + final int method2005(int var1, int var2, int var3, byte var4, short var5, byte var6) { + this.anIntArray2865[this.anInt2849] = var1; + this.anIntArray2878[this.anInt2849] = var2; + this.anIntArray2864[this.anInt2849] = var3; + this.aByteArray2859[this.anInt2849] = var4; + this.aByteArray2866[this.anInt2849] = -1; + this.aShortArray2870[this.anInt2849] = var5; + this.aShortArray2858[this.anInt2849] = -1; + this.aByteArray2843[this.anInt2849] = var6; + return this.anInt2849++; + } + + private final void method2006(int var1) { + int var2 = anIntArray2871[var1]; + int var3 = anIntArray2863[var1]; + + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + int var5 = this.anIntArray2881[var4] * var3 - this.anIntArray2892[var4] * var2 >> 16; + this.anIntArray2892[var4] = this.anIntArray2881[var4] * var2 + this.anIntArray2892[var4] * var3 >> 16; + this.anIntArray2881[var4] = var5; + } + + this.method2007(); + } + + private final void method2007() { + this.aClass50Array2872 = null; + this.aClass50Array2883 = null; + this.aClass120Array2886 = null; + this.aBoolean2853 = false; + } + + final Model method2008(int var1, int var2, int var3, int var4, int var5) { + if(HDToolKit.highDetail) { + Class140_Sub1_Sub1 var6 = new Class140_Sub1_Sub1(this, var1, var2, true); + var6.method1908(); + return var6; + } else { + return new Class140_Sub1_Sub2(this, var1, var2, var3, var4, var5); + } + } + + private static final int method2009(int[][] var0, int var1, int var2) { + int var3 = var1 >> 7; + int var4 = var2 >> 7; + if(var3 >= 0 && var4 >= 0 && var3 < var0.length && var4 < var0[0].length) { + int var5 = var1 & 127; + int var6 = var2 & 127; + int var7 = var0[var3][var4] * (128 - var5) + var0[var3 + 1][var4] * var5 >> 7; + int var8 = var0[var3][var4 + 1] * (128 - var5) + var0[var3 + 1][var4 + 1] * var5 >> 7; + return var7 * (128 - var6) + var8 * var6 >> 7; + } else { + return 0; + } + } + + final int method1871() { + if(!this.aBoolean2853) { + this.method1993(); + } + + return this.aShort2854; + } + + final void method2010() { + this.anIntArray2860 = null; + this.anIntArray2847 = null; + this.anIntArrayArray2890 = (int[][])null; + this.anIntArrayArray2856 = (int[][])null; + } + + final void method1866(GameObject var1, int var2, int var3, int var4, boolean var5) { + Model_Sub1 var6 = (Model_Sub1)var1; + var6.method1993(); + var6.method1997(); + ++anInt2868; + int var7 = 0; + int[] var8 = var6.anIntArray2885; + int var9 = var6.anInt2887; + + int var10; + for(var10 = 0; var10 < this.anInt2887; ++var10) { + Class50 var11 = this.aClass50Array2872[var10]; + if(var11.anInt823 != 0) { + int var12 = this.anIntArray2881[var10] - var3; + if(var12 >= var6.aShort2854 && var12 <= var6.aShort2844) { + int var13 = this.anIntArray2885[var10] - var2; + if(var13 >= var6.aShort2850 && var13 <= var6.aShort2873) { + int var14 = this.anIntArray2892[var10] - var4; + if(var14 >= var6.aShort2880 && var14 <= var6.aShort2874) { + for(int var15 = 0; var15 < var9; ++var15) { + Class50 var16 = var6.aClass50Array2872[var15]; + if(var13 == var8[var15] && var14 == var6.anIntArray2892[var15] && var12 == var6.anIntArray2881[var15] && var16.anInt823 != 0) { + if(this.aClass50Array2883 == null) { + this.aClass50Array2883 = new Class50[this.anInt2887]; + } + + if(var6.aClass50Array2883 == null) { + var6.aClass50Array2883 = new Class50[var9]; + } + + Class50 var17 = this.aClass50Array2883[var10]; + if(var17 == null) { + var17 = this.aClass50Array2883[var10] = new Class50(var11); + } + + Class50 var18 = var6.aClass50Array2883[var15]; + if(var18 == null) { + var18 = var6.aClass50Array2883[var15] = new Class50(var16); + } + + var17.anInt831 += var16.anInt831; + var17.anInt821 += var16.anInt821; + var17.anInt830 += var16.anInt830; + var17.anInt823 += var16.anInt823; + var18.anInt831 += var11.anInt831; + var18.anInt821 += var11.anInt821; + var18.anInt830 += var11.anInt830; + var18.anInt823 += var11.anInt823; + ++var7; + anIntArray2861[var10] = anInt2868; + anIntArray2875[var15] = anInt2868; + } + } + } + } + } + } + } + + if(var7 >= 3 && var5) { + for(var10 = 0; var10 < this.anInt2849; ++var10) { + if(anIntArray2861[this.anIntArray2865[var10]] == anInt2868 && anIntArray2861[this.anIntArray2878[var10]] == anInt2868 && anIntArray2861[this.anIntArray2864[var10]] == anInt2868) { + if(this.aByteArray2859 == null) { + this.aByteArray2859 = new byte[this.anInt2849]; + } + + this.aByteArray2859[var10] = 2; + } + } + + for(var10 = 0; var10 < var6.anInt2849; ++var10) { + if(anIntArray2875[var6.anIntArray2865[var10]] == anInt2868 && anIntArray2875[var6.anIntArray2878[var10]] == anInt2868 && anIntArray2875[var6.anIntArray2864[var10]] == anInt2868) { + if(var6.aByteArray2859 == null) { + var6.aByteArray2859 = new byte[var6.anInt2849]; + } + + var6.aByteArray2859[var10] = 2; + } + } + + } + } + + final void method2011(int var1) { + int var2 = anIntArray2871[var1]; + int var3 = anIntArray2863[var1]; + + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + int var5 = this.anIntArray2892[var4] * var2 + this.anIntArray2885[var4] * var3 >> 16; + this.anIntArray2892[var4] = this.anIntArray2892[var4] * var3 - this.anIntArray2885[var4] * var2 >> 16; + this.anIntArray2885[var4] = var5; + } + + this.method2007(); + } + + final void method2012() { + int[] var1; + int var2; + int var3; + int var4; + if(this.anIntArray2860 != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.anInt2887; ++var3) { + var4 = this.anIntArray2860[var3]; + ++var1[var4]; + if(var4 > var2) { + var2 = var4; + } + } + + this.anIntArrayArray2890 = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.anIntArrayArray2890[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.anInt2887; this.anIntArrayArray2890[var4][var1[var4]++] = var3++) { + var4 = this.anIntArray2860[var3]; + } + + this.anIntArray2860 = null; + } + + if(this.anIntArray2847 != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.anInt2849; ++var3) { + var4 = this.anIntArray2847[var3]; + ++var1[var4]; + if(var4 > var2) { + var2 = var4; + } + } + + this.anIntArrayArray2856 = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.anIntArrayArray2856[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.anInt2849; this.anIntArrayArray2856[var4][var1[var4]++] = var3++) { + var4 = this.anIntArray2847[var3]; + } + + this.anIntArray2847 = null; + } + + } + + final void method2013(int var1, int var2, int var3) { + int var4; + int var5; + int var6; + int var7; + if(var3 != 0) { + var4 = anIntArray2871[var3]; + var5 = anIntArray2863[var3]; + + for(var6 = 0; var6 < this.anInt2887; ++var6) { + var7 = this.anIntArray2881[var6] * var4 + this.anIntArray2885[var6] * var5 >> 16; + this.anIntArray2881[var6] = this.anIntArray2881[var6] * var5 - this.anIntArray2885[var6] * var4 >> 16; + this.anIntArray2885[var6] = var7; + } + } + + if(var1 != 0) { + var4 = anIntArray2871[var1]; + var5 = anIntArray2863[var1]; + + for(var6 = 0; var6 < this.anInt2887; ++var6) { + var7 = this.anIntArray2881[var6] * var5 - this.anIntArray2892[var6] * var4 >> 16; + this.anIntArray2892[var6] = this.anIntArray2881[var6] * var4 + this.anIntArray2892[var6] * var5 >> 16; + this.anIntArray2881[var6] = var7; + } + } + + if(var2 != 0) { + var4 = anIntArray2871[var2]; + var5 = anIntArray2863[var2]; + + for(var6 = 0; var6 < this.anInt2887; ++var6) { + var7 = this.anIntArray2892[var6] * var4 + this.anIntArray2885[var6] * var5 >> 16; + this.anIntArray2892[var6] = this.anIntArray2892[var6] * var5 - this.anIntArray2885[var6] * var4 >> 16; + this.anIntArray2885[var6] = var7; + } + } + + } + + final int method2014(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.anInt2887; ++var4) { + if(this.anIntArray2885[var4] == var1 && this.anIntArray2881[var4] == var2 && this.anIntArray2892[var4] == var3) { + return var4; + } + } + + this.anIntArray2885[this.anInt2887] = var1; + this.anIntArray2881[this.anInt2887] = var2; + this.anIntArray2892[this.anInt2887] = var3; + return this.anInt2887++; + } + + static final Model_Sub1 method2015(CacheIndex var0, int var1, int var2) { + byte[] var3 = var0.getFile(var1, (byte)-122, var2); + return var3 == null?null:new Model_Sub1(var3); + } + + final void method2016(short var1, short var2) { + for(int var3 = 0; var3 < this.anInt2849; ++var3) { + if(this.aShortArray2870[var3] == var1) { + this.aShortArray2870[var3] = var2; + } + } + + } + + private final void method2017(byte[] var1) { + boolean var2 = false; + boolean var3 = false; + RSByteBuffer var4 = new RSByteBuffer(var1); + RSByteBuffer var5 = new RSByteBuffer(var1); + RSByteBuffer var6 = new RSByteBuffer(var1); + RSByteBuffer var7 = new RSByteBuffer(var1); + RSByteBuffer var8 = new RSByteBuffer(var1); + var4.index = var1.length - 18; + int var9 = var4.getShort(1); + int var10 = var4.getShort(1); + int var11 = var4.getByte((byte)-61); + int var12 = var4.getByte((byte)-24); + int var13 = var4.getByte((byte)-114); + int var14 = var4.getByte((byte)-73); + int var15 = var4.getByte((byte)-77); + int var16 = var4.getByte((byte)-47); + int var17 = var4.getShort(1); + int var18 = var4.getShort(1); + int var19 = var4.getShort(1); + int var20 = var4.getShort(1); + byte var21 = 0; + int var45 = var21 + var9; + int var23 = var45; + var45 += var10; + int var24 = var45; + if(var13 == 255) { + var45 += var10; + } + + int var25 = var45; + if(var15 == 1) { + var45 += var10; + } + + int var26 = var45; + if(var12 == 1) { + var45 += var10; + } + + int var27 = var45; + if(var16 == 1) { + var45 += var9; + } + + int var28 = var45; + if(var14 == 1) { + var45 += var10; + } + + int var29 = var45; + var45 += var20; + int var30 = var45; + var45 += var10 * 2; + int var31 = var45; + var45 += var11 * 6; + int var32 = var45; + var45 += var17; + int var33 = var45; + var45 += var18; + int var10000 = var45 + var19; + this.anInt2887 = var9; + this.anInt2849 = var10; + this.anInt2862 = var11; + this.anIntArray2885 = new int[var9]; + this.anIntArray2881 = new int[var9]; + this.anIntArray2892 = new int[var9]; + this.anIntArray2865 = new int[var10]; + this.anIntArray2878 = new int[var10]; + this.anIntArray2864 = new int[var10]; + if(var11 > 0) { + this.aByteArray2857 = new byte[var11]; + this.aShortArray2884 = new short[var11]; + this.aShortArray2846 = new short[var11]; + this.aShortArray2891 = new short[var11]; + } + + if(var16 == 1) { + this.anIntArray2860 = new int[var9]; + } + + if(var12 == 1) { + this.aByteArray2859 = new byte[var10]; + this.aByteArray2866 = new byte[var10]; + this.aShortArray2858 = new short[var10]; + } + + if(var13 == 255) { + this.aByteArray2889 = new byte[var10]; + } else { + this.aByte2848 = (byte)var13; + } + + if(var14 == 1) { + this.aByteArray2843 = new byte[var10]; + } + + if(var15 == 1) { + this.anIntArray2847 = new int[var10]; + } + + this.aShortArray2870 = new short[var10]; + var4.index = var21; + var5.index = var32; + var6.index = var33; + var7.index = var45; + var8.index = var27; + int var35 = 0; + int var36 = 0; + int var37 = 0; + + int var38; + int var39; + int var42; + int var40; + int var41; + for(var38 = 0; var38 < var9; ++var38) { + var39 = var4.getByte((byte)-51); + var40 = 0; + if((var39 & 1) != 0) { + var40 = var5.getSmart(-21208); + } + + var41 = 0; + if((var39 & 2) != 0) { + var41 = var6.getSmart(-21208); + } + + var42 = 0; + if((var39 & 4) != 0) { + var42 = var7.getSmart(-21208); + } + + this.anIntArray2885[var38] = var35 + var40; + this.anIntArray2881[var38] = var36 + var41; + this.anIntArray2892[var38] = var37 + var42; + var35 = this.anIntArray2885[var38]; + var36 = this.anIntArray2881[var38]; + var37 = this.anIntArray2892[var38]; + if(var16 == 1) { + this.anIntArray2860[var38] = var8.getByte((byte)-62); + } + } + + var4.index = var30; + var5.index = var26; + var6.index = var24; + var7.index = var28; + var8.index = var25; + + for(var38 = 0; var38 < var10; ++var38) { + this.aShortArray2870[var38] = (short)var4.getShort(1); + if(var12 == 1) { + var39 = var5.getByte((byte)-40); + if((var39 & 1) == 1) { + this.aByteArray2859[var38] = 1; + var2 = true; + } else { + this.aByteArray2859[var38] = 0; + } + + if((var39 & 2) == 2) { + this.aByteArray2866[var38] = (byte)(var39 >> 2); + this.aShortArray2858[var38] = this.aShortArray2870[var38]; + this.aShortArray2870[var38] = 127; + if(this.aShortArray2858[var38] != -1) { + var3 = true; + } + } else { + this.aByteArray2866[var38] = -1; + this.aShortArray2858[var38] = -1; + } + } + + if(var13 == 255) { + this.aByteArray2889[var38] = var6.getByte(); + } + + if(var14 == 1) { + this.aByteArray2843[var38] = var7.getByte(); + } + + if(var15 == 1) { + this.anIntArray2847[var38] = var8.getByte((byte)-47); + } + } + + var4.index = var29; + var5.index = var23; + var38 = 0; + var39 = 0; + var40 = 0; + var41 = 0; + + int var43; + int var44; + for(var42 = 0; var42 < var10; ++var42) { + var43 = var5.getByte((byte)-55); + if(var43 == 1) { + var38 = var4.getSmart(-21208) + var41; + var39 = var4.getSmart(-21208) + var38; + var40 = var4.getSmart(-21208) + var39; + var41 = var40; + this.anIntArray2865[var42] = var38; + this.anIntArray2878[var42] = var39; + this.anIntArray2864[var42] = var40; + } + + if(var43 == 2) { + var39 = var40; + var40 = var4.getSmart(-21208) + var41; + var41 = var40; + this.anIntArray2865[var42] = var38; + this.anIntArray2878[var42] = var39; + this.anIntArray2864[var42] = var40; + } + + if(var43 == 3) { + var38 = var40; + var40 = var4.getSmart(-21208) + var41; + var41 = var40; + this.anIntArray2865[var42] = var38; + this.anIntArray2878[var42] = var39; + this.anIntArray2864[var42] = var40; + } + + if(var43 == 4) { + var44 = var38; + var38 = var39; + var39 = var44; + var40 = var4.getSmart(-21208) + var41; + var41 = var40; + this.anIntArray2865[var42] = var38; + this.anIntArray2878[var42] = var44; + this.anIntArray2864[var42] = var40; + } + } + + var4.index = var31; + + for(var42 = 0; var42 < var11; ++var42) { + this.aByteArray2857[var42] = 0; + this.aShortArray2884[var42] = (short)var4.getShort(1); + this.aShortArray2846[var42] = (short)var4.getShort(1); + this.aShortArray2891[var42] = (short)var4.getShort(1); + } + + if(this.aByteArray2866 != null) { + boolean var46 = false; + + for(var43 = 0; var43 < var10; ++var43) { + var44 = this.aByteArray2866[var43] & 255; + if(var44 != 255) { + if((this.aShortArray2884[var44] & '\uffff') == this.anIntArray2865[var43] && (this.aShortArray2846[var44] & '\uffff') == this.anIntArray2878[var43] && (this.aShortArray2891[var44] & '\uffff') == this.anIntArray2864[var43]) { + this.aByteArray2866[var43] = -1; + } else { + var46 = true; + } + } + } + + if(!var46) { + this.aByteArray2866 = null; + } + } + + if(!var3) { + this.aShortArray2858 = null; + } + + if(!var2) { + this.aByteArray2859 = null; + } + + } + + final void method2018() { + for(int var1 = 0; var1 < this.anInt2887; ++var1) { + int var2 = this.anIntArray2892[var1]; + this.anIntArray2892[var1] = this.anIntArray2885[var1]; + this.anIntArray2885[var1] = -var2; + } + + this.method2007(); + } + + private Model_Sub1() {} + + private Model_Sub1(byte[] var1) { + if(var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { + this.method2003(var1); + } else { + this.method2017(var1); + } + + } + + Model_Sub1(int var1, int var2, int var3) { + this.anIntArray2885 = new int[var1]; + this.anIntArray2881 = new int[var1]; + this.anIntArray2892 = new int[var1]; + this.anIntArray2860 = new int[var1]; + this.anIntArray2865 = new int[var2]; + this.anIntArray2878 = new int[var2]; + this.anIntArray2864 = new int[var2]; + this.aByteArray2859 = new byte[var2]; + this.aByteArray2889 = new byte[var2]; + this.aByteArray2843 = new byte[var2]; + this.aShortArray2870 = new short[var2]; + this.aShortArray2858 = new short[var2]; + this.aByteArray2866 = new byte[var2]; + this.anIntArray2847 = new int[var2]; + if(var3 > 0) { + this.aByteArray2857 = new byte[var3]; + this.aShortArray2884 = new short[var3]; + this.aShortArray2846 = new short[var3]; + this.aShortArray2891 = new short[var3]; + this.aShortArray2888 = new short[var3]; + this.aShortArray2882 = new short[var3]; + this.aShortArray2851 = new short[var3]; + this.aByteArray2845 = new byte[var3]; + this.aByteArray2867 = new byte[var3]; + this.aByteArray2877 = new byte[var3]; + this.aByteArray2852 = new byte[var3]; + this.aByteArray2869 = new byte[var3]; + } + + } + + Model_Sub1(Model_Sub1[] var1, int var2) { + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + this.anInt2887 = 0; + this.anInt2849 = 0; + this.anInt2862 = 0; + byte var9 = 0; + byte var10 = 0; + this.aByte2848 = -1; + + int var11; + for(var11 = 0; var11 < var2; ++var11) { + Model_Sub1 var12 = var1[var11]; + if(var12 != null) { + this.anInt2887 += var12.anInt2887; + this.anInt2849 += var12.anInt2849; + this.anInt2862 += var12.anInt2862; + if(var12.aByteArray2889 != null) { + var4 = true; + } else { + if(this.aByte2848 == -1) { + this.aByte2848 = var12.aByte2848; + } + + if(this.aByte2848 != var12.aByte2848) { + var4 = true; + } + } + + var3 |= var12.aByteArray2859 != null; + var5 |= var12.aByteArray2843 != null; + var6 |= var12.anIntArray2847 != null; + var7 |= var12.aShortArray2858 != null; + var8 |= var12.aByteArray2866 != null; + } + } + + this.anIntArray2885 = new int[this.anInt2887]; + this.anIntArray2881 = new int[this.anInt2887]; + this.anIntArray2892 = new int[this.anInt2887]; + this.anIntArray2860 = new int[this.anInt2887]; + this.aShortArray2893 = new short[this.anInt2887]; + this.anIntArray2865 = new int[this.anInt2849]; + this.anIntArray2878 = new int[this.anInt2849]; + this.anIntArray2864 = new int[this.anInt2849]; + if(var3) { + this.aByteArray2859 = new byte[this.anInt2849]; + } + + if(var4) { + this.aByteArray2889 = new byte[this.anInt2849]; + } + + if(var5) { + this.aByteArray2843 = new byte[this.anInt2849]; + } + + if(var6) { + this.anIntArray2847 = new int[this.anInt2849]; + } + + if(var7) { + this.aShortArray2858 = new short[this.anInt2849]; + } + + if(var8) { + this.aByteArray2866 = new byte[this.anInt2849]; + } + + if(var9 > 0) { + ; + } + + if(var10 > 0) { + ; + } + + this.aShortArray2870 = new short[this.anInt2849]; + this.aShortArray2855 = new short[this.anInt2849]; + if(this.anInt2862 > 0) { + this.aByteArray2857 = new byte[this.anInt2862]; + this.aShortArray2884 = new short[this.anInt2862]; + this.aShortArray2846 = new short[this.anInt2862]; + this.aShortArray2891 = new short[this.anInt2862]; + this.aShortArray2888 = new short[this.anInt2862]; + this.aShortArray2882 = new short[this.anInt2862]; + this.aShortArray2851 = new short[this.anInt2862]; + this.aByteArray2845 = new byte[this.anInt2862]; + this.aByteArray2867 = new byte[this.anInt2862]; + this.aByteArray2877 = new byte[this.anInt2862]; + this.aByteArray2852 = new byte[this.anInt2862]; + this.aByteArray2869 = new byte[this.anInt2862]; + } + + this.anInt2887 = 0; + this.anInt2849 = 0; + this.anInt2862 = 0; + boolean var16 = false; + boolean var17 = false; + + for(var11 = 0; var11 < var2; ++var11) { + short var18 = (short)(1 << var11); + Model_Sub1 var13 = var1[var11]; + if(var13 != null) { + int var14; + for(var14 = 0; var14 < var13.anInt2849; ++var14) { + if(var3 && var13.aByteArray2859 != null) { + this.aByteArray2859[this.anInt2849] = var13.aByteArray2859[var14]; + } + + if(var4) { + if(var13.aByteArray2889 != null) { + this.aByteArray2889[this.anInt2849] = var13.aByteArray2889[var14]; + } else { + this.aByteArray2889[this.anInt2849] = var13.aByte2848; + } + } + + if(var5 && var13.aByteArray2843 != null) { + this.aByteArray2843[this.anInt2849] = var13.aByteArray2843[var14]; + } + + if(var6 && var13.anIntArray2847 != null) { + this.anIntArray2847[this.anInt2849] = var13.anIntArray2847[var14]; + } + + if(var7) { + if(var13.aShortArray2858 != null) { + this.aShortArray2858[this.anInt2849] = var13.aShortArray2858[var14]; + } else { + this.aShortArray2858[this.anInt2849] = -1; + } + } + + if(var8) { + if(var13.aByteArray2866 != null && var13.aByteArray2866[var14] != -1) { + this.aByteArray2866[this.anInt2849] = (byte)(var13.aByteArray2866[var14] + this.anInt2862); + } else { + this.aByteArray2866[this.anInt2849] = -1; + } + } + + this.aShortArray2870[this.anInt2849] = var13.aShortArray2870[var14]; + this.aShortArray2855[this.anInt2849] = var18; + this.anIntArray2865[this.anInt2849] = this.method1995(var13, var13.anIntArray2865[var14], var18); + this.anIntArray2878[this.anInt2849] = this.method1995(var13, var13.anIntArray2878[var14], var18); + this.anIntArray2864[this.anInt2849] = this.method1995(var13, var13.anIntArray2864[var14], var18); + ++this.anInt2849; + } + + for(var14 = 0; var14 < var13.anInt2862; ++var14) { + byte var15 = this.aByteArray2857[this.anInt2862] = var13.aByteArray2857[var14]; + if(var15 == 0) { + this.aShortArray2884[this.anInt2862] = (short)this.method1995(var13, var13.aShortArray2884[var14], var18); + this.aShortArray2846[this.anInt2862] = (short)this.method1995(var13, var13.aShortArray2846[var14], var18); + this.aShortArray2891[this.anInt2862] = (short)this.method1995(var13, var13.aShortArray2891[var14], var18); + } + + if(var15 >= 1 && var15 <= 3) { + this.aShortArray2884[this.anInt2862] = var13.aShortArray2884[var14]; + this.aShortArray2846[this.anInt2862] = var13.aShortArray2846[var14]; + this.aShortArray2891[this.anInt2862] = var13.aShortArray2891[var14]; + this.aShortArray2888[this.anInt2862] = var13.aShortArray2888[var14]; + this.aShortArray2882[this.anInt2862] = var13.aShortArray2882[var14]; + this.aShortArray2851[this.anInt2862] = var13.aShortArray2851[var14]; + this.aByteArray2845[this.anInt2862] = var13.aByteArray2845[var14]; + this.aByteArray2867[this.anInt2862] = var13.aByteArray2867[var14]; + this.aByteArray2877[this.anInt2862] = var13.aByteArray2877[var14]; + } + + if(var15 == 2) { + this.aByteArray2852[this.anInt2862] = var13.aByteArray2852[var14]; + this.aByteArray2869[this.anInt2862] = var13.aByteArray2869[var14]; + } + + ++this.anInt2862; + } + } + } + + } + + Model_Sub1(Model_Sub1 var1, boolean var2, boolean var3, boolean var4, boolean var5) { + this.anInt2887 = var1.anInt2887; + this.anInt2849 = var1.anInt2849; + this.anInt2862 = var1.anInt2862; + int var6; + if(var2) { + this.anIntArray2885 = var1.anIntArray2885; + this.anIntArray2881 = var1.anIntArray2881; + this.anIntArray2892 = var1.anIntArray2892; + } else { + this.anIntArray2885 = new int[this.anInt2887]; + this.anIntArray2881 = new int[this.anInt2887]; + this.anIntArray2892 = new int[this.anInt2887]; + + for(var6 = 0; var6 < this.anInt2887; ++var6) { + this.anIntArray2885[var6] = var1.anIntArray2885[var6]; + this.anIntArray2881[var6] = var1.anIntArray2881[var6]; + this.anIntArray2892[var6] = var1.anIntArray2892[var6]; + } + } + + if(var3) { + this.aShortArray2870 = var1.aShortArray2870; + } else { + this.aShortArray2870 = new short[this.anInt2849]; + + for(var6 = 0; var6 < this.anInt2849; ++var6) { + this.aShortArray2870[var6] = var1.aShortArray2870[var6]; + } + } + + if(!var4 && var1.aShortArray2858 != null) { + this.aShortArray2858 = new short[this.anInt2849]; + + for(var6 = 0; var6 < this.anInt2849; ++var6) { + this.aShortArray2858[var6] = var1.aShortArray2858[var6]; + } + } else { + this.aShortArray2858 = var1.aShortArray2858; + } + + if(var5) { + this.aByteArray2843 = var1.aByteArray2843; + } else { + this.aByteArray2843 = new byte[this.anInt2849]; + if(var1.aByteArray2843 == null) { + for(var6 = 0; var6 < this.anInt2849; ++var6) { + this.aByteArray2843[var6] = 0; + } + } else { + for(var6 = 0; var6 < this.anInt2849; ++var6) { + this.aByteArray2843[var6] = var1.aByteArray2843[var6]; + } + } + } + + this.anIntArray2865 = var1.anIntArray2865; + this.anIntArray2878 = var1.anIntArray2878; + this.anIntArray2864 = var1.anIntArray2864; + this.aByteArray2859 = var1.aByteArray2859; + this.aByteArray2889 = var1.aByteArray2889; + this.aByteArray2866 = var1.aByteArray2866; + this.aByte2848 = var1.aByte2848; + this.aByteArray2857 = var1.aByteArray2857; + this.aShortArray2884 = var1.aShortArray2884; + this.aShortArray2846 = var1.aShortArray2846; + this.aShortArray2891 = var1.aShortArray2891; + this.aShortArray2888 = var1.aShortArray2888; + this.aShortArray2882 = var1.aShortArray2882; + this.aShortArray2851 = var1.aShortArray2851; + this.aByteArray2845 = var1.aByteArray2845; + this.aByteArray2867 = var1.aByteArray2867; + this.aByteArray2877 = var1.aByteArray2877; + this.aByteArray2852 = var1.aByteArray2852; + this.aByteArray2869 = var1.aByteArray2869; + this.anIntArray2860 = var1.anIntArray2860; + this.anIntArray2847 = var1.anIntArray2847; + this.anIntArrayArray2890 = var1.anIntArrayArray2890; + this.anIntArrayArray2856 = var1.anIntArrayArray2856; + this.aClass50Array2872 = var1.aClass50Array2872; + this.aClass120Array2886 = var1.aClass120Array2886; + this.aClass50Array2883 = var1.aClass50Array2883; + this.aShort2879 = var1.aShort2879; + this.aShort2876 = var1.aShort2876; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/NPC.java b/09HDscape-client/src/org/runite/jagex/NPC.java new file mode 100644 index 000000000..f79d1b03e --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/NPC.java @@ -0,0 +1,311 @@ +package org.runite.jagex; + +final class NPC extends Class140_Sub4 { + + static boolean aBoolean3975 = false; + NPCDefinition definition; + static Class3_Sub28_Sub16[] aClass3_Sub28_Sub16Array3977; + private static RSString aClass94_3978 = RSString.createRSString("Dec"); + static float aFloat3979; + private static RSString aClass94_3980 = RSString.createRSString("Jul"); + private static RSString aClass94_3982 = RSString.createRSString("May"); + private static RSString aClass94_3983 = RSString.createRSString("Nov"); + private static RSString aClass94_3984 = RSString.createRSString("Mar"); + static int[] anIntArray3986 = new int[32]; + private static RSString aClass94_3987 = RSString.createRSString("flash3:"); + static RSString aClass94_3988 = aClass94_3987; + static RSString aClass94_3981 = aClass94_3987; + private static RSString aClass94_3989 = RSString.createRSString("Jan"); + private static RSString aClass94_3990 = RSString.createRSString("Feb"); + static RSString aClass94_3991 = RSString.createRSString("ondulation:"); + static RSString aClass94_3992 = RSString.createRSString("loginscreen"); + static CacheIndex aClass153_3993; + static CacheIndex aClass153_3994; + static int anInt3995; + private static RSString aClass94_3996 = RSString.createRSString("Aug"); + static int[] anIntArray3997 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; + static RSString aClass94_3998 = RSString.createRSString(":trade:"); + private static RSString aClass94_3999 = RSString.createRSString("Apr"); + private static RSString aClass94_4000 = RSString.createRSString("Jun"); + static int anInt4001; + static int anInt4002 = 0; + private static RSString aClass94_4003 = RSString.createRSString("Sep"); + private static RSString aClass94_4004 = RSString.createRSString("Oct"); + static RSString[] aClass94Array3985 = new RSString[]{aClass94_3989, aClass94_3990, aClass94_3984, aClass94_3999, aClass94_3982, aClass94_4000, aClass94_3980, aClass94_3996, aClass94_4003, aClass94_4004, aClass94_3983, aClass94_3978}; + + public static void method1983(int var0) { + try { + anIntArray3986 = null; + aClass94_3984 = null; + aClass94_3983 = null; + aClass94_3989 = null; + if(var0 == -3) { + aClass153_3994 = null; + anIntArray3997 = null; + aClass94_4004 = null; + aClass94_3991 = null; + aClass94_3998 = null; + aClass94_3999 = null; + aClass3_Sub28_Sub16Array3977 = null; + aClass94_3978 = null; + aClass94_3992 = null; + aClass94_3990 = null; + aClass94_3996 = null; + aClass94_3981 = null; + aClass153_3993 = null; + aClass94_3987 = null; + aClass94Array3985 = null; + aClass94_3982 = null; + aClass94_3988 = null; + aClass94_3980 = null; + aClass94_4003 = null; + aClass94_4000 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "km.N(" + var0 + ')'); + } + } + + static final int method1984(int var0, int var1, int var2) { + try { + if(var1 != 38) { + return 88; + } else { + int var3 = 57 * var2 + var0; + var3 ^= var3 << 13; + int var4 = Integer.MAX_VALUE & 1376312589 + (var3 * var3 * 15731 - -789221) * var3; + return (var4 & 133802063) >> 19; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "km.S(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + protected final void finalize() {} + + final int method1871() { + try { + return this.anInt2820; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "km.MA()"); + } + } + + static final byte[] method1985(int var0, Object var1, boolean var2) { + try { + if(var1 == null) { + return null; + } else if(var1 instanceof byte[]) { + byte[] var5 = (byte[])((byte[])var1); + return var2?Class12.method873((byte)62, var5):var5; + } else { + if(var0 > -118) { + method1983(19); + } + + if(!(var1 instanceof Class144)) { + throw new IllegalArgumentException(); + } else { + Class144 var3 = (Class144)var1; + return var3.method2064(26); + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "km.Q(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + if(this.definition != null) { + AnimationDefinition var13 = 0 != ~this.anInt2771 && -1 == ~this.anInt2828?Client.getAnimationDefinition(this.anInt2771, (byte)-20):null; + AnimationDefinition var14 = -1 != this.anInt2764 && (~this.anInt2764 != ~this.method1965(false).anInt368 || var13 == null)?Client.getAnimationDefinition(this.anInt2764, (byte)-20):null; + Model var15 = this.definition.method1476(this.aClass145Array2809, this.anInt2793, (byte)-116, this.anInt2813, this.anInt2776, this.anInt2760, this.anInt2832, var14, this.anInt2802, var13); + if(var15 != null) { + this.anInt2820 = var15.method1871(); + NPCDefinition var16 = this.definition; + if(null != var16.childNPCs) { + var16 = var16.method1471((byte)-110); + } + + Model var17; + if(Class140_Sub6.aBoolean2910 && var16.aBoolean1249) { + var17 = Class140_Sub3.method1957(this.definition.aByte1287, this.aBoolean2810, null == var14?var13:var14, this.anInt2819, this.definition.aShort1256, this.anInt2829, this.definition.aShort1286, this.definition.size, var15, var1, null != var14?this.anInt2813:this.anInt2832, this.anInt2831, this.definition.aByte1275, (byte)-49); + if(HDToolKit.highDetail) { + float var18 = HDToolKit.method1852(); + float var19 = HDToolKit.method1839(); + HDToolKit.method1851(); + HDToolKit.method1825(var18, -150.0F + var19); + var17.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, this.aClass127_Sub1_2801); + HDToolKit.method1830(); + HDToolKit.method1825(var18, var19); + } else { + var17.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, this.aClass127_Sub1_2801); + } + } + + this.method1971(var15, (byte)-111); + this.method1969((byte)115, var15, var1); + var17 = null; + if(~this.anInt2842 != 0 && -1 != this.anInt2805) { + GraphicDefinition var21 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2842); + var17 = var21.method966(this.anInt2826, (byte)-30, this.anInt2805, this.anInt2761); + if(var17 != null) { + var17.method1897(0, -this.anInt2799, 0); + if(var21.aBoolean536) { + if(-1 != ~Class3_Sub13_Sub16.anInt3198) { + var17.method1896(Class3_Sub13_Sub16.anInt3198); + } + + if(~Class3_Sub28_Sub9.anInt3623 != -1) { + var17.method1886(Class3_Sub28_Sub9.anInt3623); + } + + if(0 != Class3_Sub13_Sub9.anInt3111) { + var17.method1897(0, Class3_Sub13_Sub9.anInt3111, 0); + } + } + } + } + + if(!HDToolKit.highDetail) { + if(null != var17) { + var15 = ((Class140_Sub1_Sub2)var15).method1943(var17); + } + + if(this.definition.size == 1) { + var15.aBoolean2699 = true; + } + + var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + } else { + if(-2 == ~this.definition.size) { + var15.aBoolean2699 = true; + } + + var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + if(var17 != null) { + if(-2 == ~this.definition.size) { + var17.aBoolean2699 = true; + } + + var17.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + } + } + + } + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "km.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + final int getRenderAnimationId(int var1) { + try { + if(~Class158.anInt2014 != var1 && this.definition.childNPCs != null) { + NPCDefinition var2 = this.definition.method1471((byte)21); + if(var2 != null && 0 != ~var2.renderAnimationId) { + return var2.renderAnimationId; + } + } + + return this.renderAnimationId; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "km.B(" + var1 + ')'); + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) { + try { + if(this.definition == null) { + ; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "km.IB(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + final boolean hasDefinitions(byte var1) { + try { + if(var1 != 17) { + method1984(-101, -40, 63); + } + + return null != this.definition; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "km.L(" + var1 + ')'); + } + } + + static final boolean method1986(int var0) { + try { + if(var0 <= 22) { + method1984(-48, 88, 31); + } + + return HDToolKit.highDetail?true:Class3_Sub28_Sub13.aBoolean3665; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "km.O(" + var0 + ')'); + } + } + + final void setDefinitions(int var1, NPCDefinition var2) { + try { + this.definition = var2; + if(var1 == -1) { + if(this.aClass127_Sub1_2801 != null) { + this.aClass127_Sub1_2801.method1759(); + } + + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "km.R(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final boolean method1988(boolean var0) { + try { + if(var0) { + aClass94_3980 = (RSString)null; + } + + try { + if(~Class10.anInt154 == -3) { + if(Class83.aClass3_Sub27_1154 == null) { + Class83.aClass3_Sub27_1154 = Class3_Sub27.method517(Class101.aClass153_1423, Class3_Sub13_Sub39.anInt3463, Class132.anInt1741); + if(null == Class83.aClass3_Sub27_1154) { + return false; + } + } + + if(Class3_Sub28_Sub4.aClass83_3579 == null) { + Class3_Sub28_Sub4.aClass83_3579 = new Class83(Class40.aClass153_679, Class3_Sub28_Sub20.aClass153_3786); + } + + if(Class101.aClass3_Sub24_Sub4_1421.method470(Class83.aClass3_Sub27_1154, -122, Class124.aClass153_1661, Class3_Sub28_Sub4.aClass83_3579, 22050)) { + Class101.aClass3_Sub24_Sub4_1421.method471((byte)53); + Class101.aClass3_Sub24_Sub4_1421.method506(128, Class3_Sub13_Sub36.anInt3423); + Class101.aClass3_Sub24_Sub4_1421.method490(Class3_Sub9.aBoolean2311, Class83.aClass3_Sub27_1154, 17774); + Class10.anInt154 = 0; + Class83.aClass3_Sub27_1154 = null; + Class3_Sub28_Sub4.aClass83_3579 = null; + Class101.aClass153_1423 = null; + return true; + } + } + } catch (Exception var2) { + var2.printStackTrace(); + Class101.aClass3_Sub24_Sub4_1421.method505((byte)-128); + Class101.aClass153_1423 = null; + Class83.aClass3_Sub27_1154 = null; + Class10.anInt154 = 0; + Class3_Sub28_Sub4.aClass83_3579 = null; + } + + return false; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "km.P(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/NPCDefinition.java b/09HDscape-client/src/org/runite/jagex/NPCDefinition.java new file mode 100644 index 000000000..b1ff0c42b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/NPCDefinition.java @@ -0,0 +1,938 @@ +package org.runite.jagex; + + +final class NPCDefinition { + + int size = 1; + private short[] aShortArray1246; + private byte[] aByteArray1247; + private short[] aShortArray1248; + boolean aBoolean1249; + private int[] anIntArray1250; + private int anInt1251; + static int anInt1252 = -1; + int anInt1253; + private short[] aShortArray1254; + boolean aBoolean1255 = true; + short aShort1256 = 0; + private int configId; + private int[][] anIntArrayArray1258; + RSString[] options; + int anInt1260; + private int[][] anIntArrayArray1261; + int anInt1262 = -1; + boolean aBoolean1263; + private int anInt1264; + int anInt1265; + private int anInt1266; + byte aByte1267; + byte aByte1268; + int anInt1269; + boolean aBoolean1270 = true; + private short[] aShortArray1271; + private Class130 aClass130_1272; + RSString aClass94_1273; + int anInt1274; + byte aByte1275; + int anInt1276 = -1; + static int[] anIntArray1277 = new int[2000]; + int anInt1278; + int anInt1279; + int renderAnimationId; + static RSString aClass94_1281 = RSString.createRSString("violet:"); + private int anInt1282; + int anInt1283; + int npcId; + boolean aBoolean1285; + short aShort1286; + byte aByte1287; + private int[] models; + int anInt1289; + int anInt1290; + int anInt1291; + int[] childNPCs; + int anInt1293; + static RSString aClass94_1294 = RSString.createRSString("Votre liste noire est pleine (X100 noms maximum(Y)3"); + private int configFileId; + int anInt1296; + static int anInt1297; + int anInt1298; + + + final NPCDefinition method1471(byte var1) { + try { + int var2 = -1; + if(~this.configId == 0) { + if(this.configFileId != -1) { + var2 = Class163_Sub1.anIntArray2985[this.configFileId]; + } + } else { + var2 = method1484(64835055, this.configId); + } + + int var3; + if(0 <= var2 && ~var2 > ~(-1 + this.childNPCs.length) && this.childNPCs[var2] != -1) { + var3 = -24 % ((-46 - var1) / 41); + return Node.method522(this.childNPCs[var2], 27112); + } else { + var3 = this.childNPCs[-1 + this.childNPCs.length]; + return ~var3 == 0?null:Node.method522(var3, 27112); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "me.G(" + var1 + ')'); + } + } + + final boolean method1472(byte var1) { + try { + if(var1 != 74) { + return true; + } else if(null == this.childNPCs) { + return true; + } else { + int var2 = -1; + if(-1 == this.configId) { + if(~this.configFileId != 0) { + var2 = Class163_Sub1.anIntArray2985[this.configFileId]; + } + } else { + var2 = method1484(64835055, this.configId); + } + + if(var2 >= 0 && var2 < -1 + this.childNPCs.length && -1 != this.childNPCs[var2]) { + return true; + } else { + int var3 = this.childNPCs[-1 + this.childNPCs.length]; + return 0 != ~var3; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "me.L(" + var1 + ')'); + } + } + + public static void method1473(byte var0) { + try { + anIntArray1277 = null; + if(var0 != 103) { + anInt1297 = -20; + } + + aClass94_1294 = null; + aClass94_1281 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "me.K(" + var0 + ')'); + } + } + + final boolean method1474(int var1) { + try { + if(var1 != -1) { + method1480(false, (RSString)null, -57); + } + + if(this.childNPCs != null) { + for(int var2 = 0; ~this.childNPCs.length < ~var2; ++var2) { + if(0 != ~this.childNPCs[var2]) { + NPCDefinition var3 = Node.method522(this.childNPCs[var2], 27112); + if(0 != ~var3.anInt1262 || 0 != ~var3.anInt1293 || var3.anInt1276 != -1) { + return true; + } + } + } + + return false; + } else { + return -1 != this.anInt1262 || this.anInt1293 != -1 || this.anInt1276 != -1; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "me.E(" + var1 + ')'); + } + } + + final int method1475(int var1, int var2, int var3) { + try { + if(null != this.aClass130_1272) { + Class3_Sub18 var4 = (Class3_Sub18)this.aClass130_1272.method1780((long)var1, 0); + if(var2 != -26460) { + aClass94_1294 = (RSString)null; + } + + return var4 != null?var4.anInt2467:var3; + } else { + return var3; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "me.N(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final Model method1476(Class145[] var1, int var2, byte var3, int var4, int var5, int var6, int var7, AnimationDefinition var8, int var9, AnimationDefinition var10) { + try { + if(this.childNPCs != null) { + NPCDefinition var33 = this.method1471((byte)32); + return null != var33?var33.method1476(var1, var2, (byte)-102, var4, var5, var6, var7, var8, var9, var10):null; + } else { + Model var11 = (Model)CS2Script.aClass93_2442.get((long)this.npcId, (byte)121); + boolean var12; + int var17; + int var16; + int var19; + int var18; + int var21; + int var20; + int var22; + int var24; + int var27; + int var29; + int var28; + if(null == var11) { + var12 = false; + + for(int var13 = 0; var13 < this.models.length; ++var13) { + if(this.models[var13] != -1 && !Class3_Sub13_Sub14.aClass153_3173.method2129((byte)102, 0, this.models[var13])) { + var12 = true; + } + } + + if(var12) { + return null; + } + + Model_Sub1[] var14 = new Model_Sub1[this.models.length]; + + for(int var15 = 0; ~this.models.length < ~var15; ++var15) { + if(0 != ~this.models[var15]) { + var14[var15] = Model_Sub1.method2015(Class3_Sub13_Sub14.aClass153_3173, this.models[var15], 0); + if(null != this.anIntArrayArray1261 && this.anIntArrayArray1261[var15] != null && var14[var15] != null) { + var14[var15].method2001(this.anIntArrayArray1261[var15][0], this.anIntArrayArray1261[var15][1], this.anIntArrayArray1261[var15][2]); + } + } + } + + RenderAnimationDefinition render = null; + if(-1 != this.renderAnimationId) { + render = Class3_Sub10.getRenderAnimationDefinition(false, this.renderAnimationId); + } + + if(render != null && null != render.anIntArrayArray359) { + for(var16 = 0; var16 < render.anIntArrayArray359.length; ++var16) { + if(render.anIntArrayArray359[var16] != null && var14.length > var16 && var14[var16] != null) { + var19 = render.anIntArrayArray359[var16][2]; + var20 = render.anIntArrayArray359[var16][3]; + var21 = render.anIntArrayArray359[var16][4]; + var18 = render.anIntArrayArray359[var16][1]; + var22 = render.anIntArrayArray359[var16][5]; + var17 = render.anIntArrayArray359[var16][0]; + if(this.anIntArrayArray1258 == null) { + this.anIntArrayArray1258 = new int[render.anIntArrayArray359.length][]; + } + + if(null == this.anIntArrayArray1258[var16]) { + int[] var23 = this.anIntArrayArray1258[var16] = new int[15]; + if(var20 == 0 && var21 == 0 && var22 == 0) { + var23[13] = -var18; + var23[14] = -var19; + var23[0] = var23[4] = var23[8] = '\u8000'; + var23[12] = -var17; + } else { + var24 = Class51.anIntArray851[var20] >> 1; + int var25 = Class51.anIntArray840[var20] >> 1; + int var26 = Class51.anIntArray851[var21] >> 1; + var28 = Class51.anIntArray851[var22] >> 1; + var27 = Class51.anIntArray840[var21] >> 1; + var29 = Class51.anIntArray840[var22] >> 1; + var23[3] = var24 * var29 - -16384 >> 15; + var23[8] = 16384 + var24 * var26 >> 15; + var23[5] = -var25; + int var31 = 16384 + var25 * var29 >> 15; + int var30 = var28 * var25 + 16384 >> 15; + var23[1] = 16384 + -var29 * var26 - -(var30 * var27) >> 15; + var23[2] = 16384 + var27 * var24 >> 15; + var23[6] = 16384 + -var27 * var28 + var31 * var26 >> 15; + var23[14] = 16384 + var23[8] * -var19 + -var18 * var23[5] + var23[2] * -var17 >> 15; + var23[4] = 16384 + var24 * var28 >> 15; + var23[7] = 16384 + -var27 * -var29 + var30 * var26 >> 15; + var23[0] = var27 * var31 + var26 * var28 + 16384 >> 15; + var23[12] = 16384 + var23[6] * -var19 + var23[3] * -var18 + -var17 * var23[0] >> 15; + var23[13] = -var19 * var23[7] + -var17 * var23[1] + (-var18 * var23[4] - -16384) >> 15; + } + + var23[10] = var18; + var23[9] = var17; + var23[11] = var19; + } + + if(-1 != ~var20 || ~var21 != -1 || var22 != 0) { + var14[var16].method2013(var20, var21, var22); + } + + if(var17 != 0 || 0 != var18 || -1 != ~var19) { + var14[var16].method2001(var17, var18, var19); + } + } + } + } + + Model_Sub1 var34; + if(var14.length == 1) { + var34 = var14[0]; + } else { + var34 = new Model_Sub1(var14, var14.length); + } + + if(this.aShortArray1248 != null) { + for(var16 = 0; ~this.aShortArray1248.length < ~var16; ++var16) { + if(null != this.aByteArray1247 && ~this.aByteArray1247.length < ~var16) { + var34.method2016(this.aShortArray1248[var16], Class136.aShortArray1779[this.aByteArray1247[var16] & 255]); + } else { + var34.method2016(this.aShortArray1248[var16], this.aShortArray1254[var16]); + } + } + } + + if(null != this.aShortArray1271) { + for(var16 = 0; this.aShortArray1271.length > var16; ++var16) { + var34.method1998(this.aShortArray1271[var16], this.aShortArray1246[var16]); + } + } + + var11 = var34.method2008(this.anInt1251 + 64, this.anInt1282 + 850, -30, -50, -30); + if(HDToolKit.highDetail) { + ((Class140_Sub1_Sub1)var11).method1920(false, false, false, true, false, false, true); + } + + CS2Script.aClass93_2442.put((byte)-90, var11, (long)this.npcId); + } + + var12 = false; + boolean var37 = false; + boolean var35 = false; + boolean var36 = false; + var16 = null != var1?var1.length:0; + for(var17 = 0; ~var16 < ~var17; ++var17) { + if(var1[var17] != null) { + AnimationDefinition def = Client.getAnimationDefinition(var1[var17].animationId, (byte)-20); + if(null != def.frames) { + Class85.aClass142Array1168[var17] = def; + var20 = var1[var17].anInt1891; + var12 = true; + var19 = var1[var17].anInt1893; + var21 = def.frames[var19]; + Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var17] = Class3_Sub9.method133(var21 >>> 16, 0); + var21 &= '\uffff'; + Class58.anIntArray912[var17] = var21; + if(Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var17] != null) { + var35 |= Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var17].method561(var21, (byte)124); + var37 |= Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var17].method559(1317095745, var21); + var36 |= def.aBoolean1848; + } + + if((def.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var20 && ~def.frames.length < ~var20) { + Class38.anIntArray664[var17] = def.duration[var19]; + Node.anIntArray2574[var17] = var1[var17].anInt1897; + var22 = def.frames[var20]; + Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var17] = Class3_Sub9.method133(var22 >>> 16, 0); + var22 &= '\uffff'; + Class30.anIntArray574[var17] = var22; + if(null != Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var17]) { + var35 |= Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var17].method561(var22, (byte)124); + var37 |= Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var17].method559(1317095745, var22); + } + } else { + Class38.anIntArray664[var17] = 0; + Node.anIntArray2574[var17] = 0; + Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var17] = null; + Class30.anIntArray574[var17] = -1; + } + } + } + } + if(!var12 && null == var10 && var8 == null) { + Model var41 = var11.method1894(true, true, true); + if(this.anInt1264 != 128 || -129 != ~this.anInt1266) { + var41.resize(this.anInt1264, this.anInt1266, this.anInt1264); + } + + return var41; + } else { + var18 = -1; + var17 = -1; + var19 = 0; + Class3_Sub28_Sub5 var40 = null; + Class3_Sub28_Sub5 var43 = null; + int var42; + if(var10 != null) { + var17 = var10.frames[var7]; + var22 = var17 >>> 16; + var17 &= '\uffff'; + var40 = Class3_Sub9.method133(var22, 0); + if(null != var40) { + var35 |= var40.method561(var17, (byte)126); + var37 |= var40.method559(1317095745, var17); + var36 |= var10.aBoolean1848; + } + + if((var10.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var5 && ~var10.frames.length < ~var5) { + var19 = var10.duration[var7]; + var18 = var10.frames[var5]; + var42 = var18 >>> 16; + var18 &= '\uffff'; + if(var22 != var42) { + var43 = Class3_Sub9.method133(var18 >>> 16, 0); + } else { + var43 = var40; + } + + if(var43 != null) { + var35 |= var43.method561(var18, (byte)115); + var37 |= var43.method559(1317095745, var18); + } + } + } + + var22 = -1; + if(var3 > -63) { + this.parseOpcode(79, 73, (RSByteBuffer)null); + } + + var42 = -1; + Class3_Sub28_Sub5 var44 = null; + var24 = 0; + Class3_Sub28_Sub5 var46 = null; + if(var8 != null) { + var22 = var8.frames[var4]; + var27 = var22 >>> 16; + var22 &= '\uffff'; + var44 = Class3_Sub9.method133(var27, 0); + if(var44 != null) { + var35 |= var44.method561(var22, (byte)124); + var37 |= var44.method559(1317095745, var22); + var36 |= var8.aBoolean1848; + } + + if((var8.aBoolean1846 || Class3_Sub26.aBoolean2558) && 0 != ~var2 && var2 < var8.frames.length) { + var24 = var8.duration[var4]; + var42 = var8.frames[var2]; + var28 = var42 >>> 16; + var42 &= '\uffff'; + if(~var28 == ~var27) { + var46 = var44; + } else { + var46 = Class3_Sub9.method133(var42 >>> 16, 0); + } + + if(null != var46) { + var35 |= var46.method561(var42, (byte)124); + var37 |= var46.method559(1317095745, var42); + } + } + } + + Model var45 = var11.method1894(!var37, !var35, !var36); + var29 = 1; + + for(var28 = 0; var28 < var16; ++var28) { + if(Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var28] != null) { + var45.method1887(Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var28], Class58.anIntArray912[var28], Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var28], Class30.anIntArray574[var28], -1 + Node.anIntArray2574[var28], Class38.anIntArray664[var28], var29, Class85.aClass142Array1168[var28].aBoolean1848, this.anIntArrayArray1258[var28]); + } + + var29 <<= 1; + } + + if(var40 != null && var44 != null) { + var45.method1892(var40, var17, var43, var18, var6 + -1, var19, var44, var22, var46, var42, var9 + -1, var24, var10.aBooleanArray1855, var10.aBoolean1848 | var8.aBoolean1848); + } else if(var40 == null) { + if(null != var44) { + var45.method1880(var44, var22, var46, var42, -1 + var9, var24, var8.aBoolean1848); + } + } else { + var45.method1880(var40, var17, var43, var18, var6 + -1, var19, var10.aBoolean1848); + } + + for(var28 = 0; ~var28 > ~var16; ++var28) { + Class3_Sub13_Sub1.aClass3_Sub28_Sub5Array3041[var28] = null; + Class3_Sub13_Sub23_Sub1.aClass3_Sub28_Sub5Array4031[var28] = null; + Class85.aClass142Array1168[var28] = null; + } + + if(~this.anInt1264 != -129 || -129 != ~this.anInt1266) { + var45.resize(this.anInt1264, this.anInt1266, this.anInt1264); + } + + return var45; + } + } + } catch (RuntimeException var32) { + throw Class44.method1067(var32, "me.M(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ',' + (var10 != null?"{...}":"null") + ')'); + } + } + + final RSString method1477(int var1, RSString var2, boolean var3) { + try { + if(null != this.aClass130_1272) { + Class3_Sub29 var4 = (Class3_Sub29)this.aClass130_1272.method1780((long)var1, 0); + return !var3?(RSString)null:(null == var4?var2:var4.aClass94_2586); + } else { + return var2; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "me.I(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final void method1478(RSByteBuffer var1, int var2) { + try { + while(true) { + int var3 = var1.getByte((byte)-123); + if(-1 == ~var3) { + var3 = -88 % ((5 - var2) / 52); + return; + } + + this.parseOpcode(27, var3, var1); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "me.F(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method1479(int var0, byte var1) { + try { + Class3_Sub13_Sub30.anInt3362 = -1; + if(var1 < 5) {//@splinter + anIntArray1277 = (int[])null; + } + + if(-38 == ~var0) { + NPC.aFloat3979 = 3.0F; + } else if(50 != var0) { + if(var0 == 75) { + NPC.aFloat3979 = 6.0F; + } else if(var0 != 100) { + if(var0 == 200) { + NPC.aFloat3979 = 16.0F; + } + } else { + NPC.aFloat3979 = 8.0F; + } + } else { + NPC.aFloat3979 = 4.0F; + } + + Class3_Sub13_Sub30.anInt3362 = -1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "me.C(" + var0 + ',' + var1 + ')'); + } + } + + static final void method1480(boolean var0, RSString var1, int var2) { + try { + short[] var3 = new short[16]; + var1 = var1.method1534(-98); + int var4 = 0; + + for(int var5 = 0; ~var5 > ~Class3_Sub13_Sub23.itemDefinitionSize; ++var5) { + ItemDefinition var6 = Class38.getItemDefinition(var5, (byte)93); + if((!var0 || var6.aBoolean807) && var6.anInt791 == -1 && -1 == var6.anInt762 && -1 == ~var6.anInt800 && var6.name.method1534(-98).method1551(var1, 116) != -1) { + if(~var4 <= -251) { + Class99.aShortArray1398 = null; + Class62.anInt952 = -1; + return; + } + + if(~var4 <= ~var3.length) { + short[] var7 = new short[2 * var3.length]; + + for(int var8 = 0; var8 < var4; ++var8) { + var7[var8] = var3[var8]; + } + + var3 = var7; + } + + var3[var4++] = (short)var5; + } + } + + Class99.aShortArray1398 = var3; + Class140_Sub4.anInt2756 = 0; + Class62.anInt952 = var4; + RSString[] var10 = new RSString[Class62.anInt952]; + + for(int var11 = 0; Class62.anInt952 > var11; ++var11) { + var10[var11] = Class38.getItemDefinition(var3[var11], (byte)112).name; + } + + int var12 = -44 / ((45 - var2) / 33); + Class3_Sub13_Sub29.method307(var10, Class99.aShortArray1398, 77); + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "me.J(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final void method1481(int var1) { + try { + int var2 = 36 % ((12 - var1) / 41); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "me.D(" + var1 + ')'); + } + } + + final Model getChatModel(AnimationDefinition var1, int var2, int var3, int var4, int var5) { + try { + if(this.childNPCs == null) { + if(null == this.anIntArray1250) { + return null; + } else { + Model var12 = (Model)Class154.aClass93_1964.get((long)this.npcId, (byte)121); + if(var12 == null) { + boolean var7 = false; + + for(int var8 = 0; ~var8 > ~this.anIntArray1250.length; ++var8) { + if(!Class3_Sub13_Sub14.aClass153_3173.method2129((byte)-69, 0, this.anIntArray1250[var8])) { + var7 = true; + } + } + + if(var7) { + return null; + } + + Model_Sub1[] var14 = new Model_Sub1[this.anIntArray1250.length]; + + for(int var9 = 0; ~var9 > ~this.anIntArray1250.length; ++var9) { + var14[var9] = Model_Sub1.method2015(Class3_Sub13_Sub14.aClass153_3173, this.anIntArray1250[var9], 0); + } + + Model_Sub1 var15; + if(-2 != ~var14.length) { + var15 = new Model_Sub1(var14, var14.length); + } else { + var15 = var14[0]; + } + + int var10; + if(null != this.aShortArray1248) { + for(var10 = 0; ~this.aShortArray1248.length < ~var10; ++var10) { + if(this.aByteArray1247 != null && ~var10 > ~this.aByteArray1247.length) { + var15.method2016(this.aShortArray1248[var10], Class136.aShortArray1779[255 & this.aByteArray1247[var10]]); + } else { + var15.method2016(this.aShortArray1248[var10], this.aShortArray1254[var10]); + } + } + } + + if(this.aShortArray1271 != null) { + for(var10 = 0; ~var10 > ~this.aShortArray1271.length; ++var10) { + var15.method1998(this.aShortArray1271[var10], this.aShortArray1246[var10]); + } + } + + var12 = var15.method2008(64, 768, -50, -10, -50); + Class154.aClass93_1964.put((byte)-119, var12, (long)this.npcId); + } + + if(null != var1) { + var12 = var1.method2055(var12, (byte)-75, var3, var2, var5); + } + + int var13 = 5 % ((var4 - -64) / 36); + return var12; + } + } else { + NPCDefinition var6 = this.method1471((byte)-100); + return null == var6?null:var6.getChatModel(var1, var2, var3, 54, var5); + } + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "me.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + private final void parseOpcode(int var1, int opcode, RSByteBuffer buffer) { + try { + int var4; + int var5; + if(1 == opcode) { + var4 = buffer.getByte((byte)-67); + this.models = new int[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.models[var5] = buffer.getShort(1); + if(this.models[var5] == '\uffff') { + this.models[var5] = -1; + } + } + } else if(opcode != 2) { + if(~opcode != -13) { + if(opcode >= 30 && ~opcode > -36) { + this.options[-30 + opcode] = buffer.getString(); + if(this.options[-30 + opcode].equals(-122, Class3_Sub13_Sub3.aClass94_3051)) { + this.options[opcode - 30] = null; + } + } else if(opcode != 40) { + if(-42 != ~opcode) { + if(-43 == ~opcode) { + var4 = buffer.getByte((byte)-116); + this.aByteArray1247 = new byte[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.aByteArray1247[var5] = buffer.getByte(); + } + } else if(~opcode == -61) { + var4 = buffer.getByte((byte)-69); + this.anIntArray1250 = new int[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.anIntArray1250[var5] = buffer.getShort(1); + } + } else if(93 != opcode) { + if(~opcode != -96) { + if(opcode != 97) { + if(-99 == ~opcode) { + this.anInt1266 = buffer.getShort(1); + } else if(~opcode != -100) { + if(opcode != 100) { + if(-102 == ~opcode) { + this.anInt1282 = buffer.getByte() * 5; + } else if(~opcode == -103) { + this.anInt1269 = buffer.getShort(1); + } else if(103 == opcode) { + this.anInt1274 = buffer.getShort(1); + } else { + int var6; + if(106 != opcode && ~opcode != -119) { + if(-108 == ~opcode) { + this.aBoolean1270 = false; + } else if(opcode != 109) { + if(opcode == 111) { + this.aBoolean1249 = false; + } else if(-114 == ~opcode) { + this.aShort1286 = (short)buffer.getShort(1); + this.aShort1256 = (short)buffer.getShort(1); + } else if(-115 == ~opcode) { + this.aByte1287 = buffer.getByte(); + this.aByte1275 = buffer.getByte(); + } else if(~opcode != -116) { + if(119 == opcode) { + this.aByte1267 = buffer.getByte(); + } else if(121 == opcode) { + this.anIntArrayArray1261 = new int[this.models.length][]; + var4 = buffer.getByte((byte)-41); + + for(var5 = 0; var5 < var4; ++var5) { + var6 = buffer.getByte((byte)-109); + int[] var7 = this.anIntArrayArray1261[var6] = new int[3]; + var7[0] = buffer.getByte(); + var7[1] = buffer.getByte(); + var7[2] = buffer.getByte(); + } + } else if(122 == opcode) { + this.anInt1279 = buffer.getShort(1); + } else if(-124 == ~opcode) { + this.anInt1265 = buffer.getShort(1); + } else if(-126 != ~opcode) { + if(126 != opcode) { + if(127 == opcode) { + this.renderAnimationId = buffer.getShort(1); + } else if(128 == opcode) { + buffer.getByte((byte)-125); + } else if(opcode != 134) { + if(~opcode == -136) { + this.anInt1296 = buffer.getByte((byte)-38); + this.anInt1253 = buffer.getShort(1); + } else if(opcode == 136) { + this.anInt1289 = buffer.getByte((byte)-89); + this.anInt1278 = buffer.getShort(1); + } else if(-138 != ~opcode) { + if(~opcode == -250) { + var4 = buffer.getByte((byte)-98); + if(null == this.aClass130_1272) { + var5 = Class95.method1585((byte)109, var4); + this.aClass130_1272 = new Class130(var5); + } + + for(var5 = 0; ~var5 > ~var4; ++var5) { + boolean var11 = 1 == buffer.getByte((byte)-95); + int var10 = buffer.getTriByte((byte)83); + Object var8; + if(!var11) { + var8 = new Class3_Sub18(buffer.getInt()); + } else { + var8 = new Class3_Sub29(buffer.getString()); + } + + this.aClass130_1272.method1779(1, (Class3)var8, (long)var10); + } + } + } else { + this.anInt1298 = buffer.getShort(1); + } + } else { + this.anInt1262 = buffer.getShort(1); + if(this.anInt1262 == '\uffff') { + this.anInt1262 = -1; + } + + this.anInt1290 = buffer.getShort(1); + if(~this.anInt1290 == -65536) { + this.anInt1290 = -1; + } + + this.anInt1293 = buffer.getShort(1); + if(-65536 == ~this.anInt1293) { + this.anInt1293 = -1; + } + + this.anInt1276 = buffer.getShort(1); + if(-65536 == ~this.anInt1276) { + this.anInt1276 = -1; + } + + this.anInt1291 = buffer.getByte((byte)-113); + } + } else { + this.anInt1283 = buffer.getShort(1); + } + } else { + this.aByte1268 = buffer.getByte(); + } + } else { + buffer.getByte((byte)-23); + buffer.getByte((byte)-106); + } + } else { + this.aBoolean1255 = false; + } + } else { + this.configId = buffer.getShort(1); + var4 = -1; + if(-65536 == ~this.configId) { + this.configId = -1; + } + + this.configFileId = buffer.getShort(1); + if(~this.configFileId == -65536) { + this.configFileId = -1; + } + + if(-119 == ~opcode) { + var4 = buffer.getShort(1); + if(-65536 == ~var4) { + var4 = -1; + } + } + + var5 = buffer.getByte((byte)-93); + this.childNPCs = new int[2 + var5]; + + for(var6 = 0; ~var5 <= ~var6; ++var6) { + this.childNPCs[var6] = buffer.getShort(1); + if(~this.childNPCs[var6] == -65536) { + this.childNPCs[var6] = -1; + } + } + + this.childNPCs[1 + var5] = var4; + } + } + } else { + this.anInt1251 = buffer.getByte(); + } + } else { + this.aBoolean1263 = true; + } + } else { + this.anInt1264 = buffer.getShort(1); + } + } else { + this.anInt1260 = buffer.getShort(1); + } + } else { + this.aBoolean1285 = false; + } + } else { + var4 = buffer.getByte((byte)-66); + this.aShortArray1246 = new short[var4]; + this.aShortArray1271 = new short[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.aShortArray1271[var5] = (short)buffer.getShort(1); + this.aShortArray1246[var5] = (short)buffer.getShort(1); + } + } + } else { + var4 = buffer.getByte((byte)-125); + this.aShortArray1254 = new short[var4]; + this.aShortArray1248 = new short[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.aShortArray1248[var5] = (short)buffer.getShort(1); + this.aShortArray1254[var5] = (short)buffer.getShort(1); + } + } + } else { + this.size = buffer.getByte((byte)-48); + } + } else { + this.aClass94_1273 = buffer.getString(); + } + + var4 = 11 % ((-39 - var1) / 60); + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "me.H(" + var1 + ',' + opcode + ',' + (buffer != null?"{...}":"null") + ')'); + } + } + + public NPCDefinition() { + this.aClass94_1273 = Class158.aClass94_2006; + this.anInt1260 = -1; + this.aBoolean1285 = true; + this.anInt1253 = -1; + this.anInt1282 = 0; + this.anInt1283 = -1; + this.anInt1264 = 128; + this.aByte1275 = -16; + this.anInt1269 = -1; + this.aByte1267 = 0; + this.aBoolean1249 = true; + this.aShort1286 = 0; + this.anInt1289 = -1; + this.anInt1279 = -1; + this.anInt1251 = 0; + this.aBoolean1263 = false; + this.anInt1274 = 32; + this.options = new RSString[5]; + this.anInt1293 = -1; + this.aByte1287 = -96; + this.aByte1268 = 7; + this.renderAnimationId = -1; + this.anInt1296 = -1; + this.anInt1291 = 0; + this.anInt1266 = 128; + this.configId = -1; + this.anInt1290 = -1; + this.anInt1265 = -1; + this.anInt1278 = -1; + this.configFileId = -1; + this.anInt1298 = -1; + } + + static final int method1484(int var0, int var1) { + try { + if(var0 != 64835055) { + anIntArray1277 = (int[])null; + } + + Class79 var2 = CS2Script.method378(var1, (byte)127); + int var3 = var2.anInt1128; + int var5 = var2.anInt1125; + int var4 = var2.anInt1123; + int var6 = Class3_Sub6.anIntArray2288[var5 + -var4]; + return Class163_Sub1.anIntArray2985[var3] >> var4 & var6; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "me.B(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Node.java b/09HDscape-client/src/org/runite/jagex/Node.java new file mode 100644 index 000000000..12688e929 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Node.java @@ -0,0 +1,129 @@ +package org.runite.jagex; + +class Node extends Class3 { + + static RSString[] aClass94Array2566 = new RSString[200]; + static int anInt2567 = -1; + private static RSString aClass94_2568 = RSString.createRSString("Started 3d Library"); + long aLong2569; + Node aClass3_Sub28_2570; + static int anInt2571; + static int clanSize; + static CacheIndex aClass153_2573; + static int[] anIntArray2574 = new int[14]; + static int anInt2575; + static RSString aClass94_2576 = aClass94_2568; + static int anInt2577 = 0; + Node aClass3_Sub28_2578; + + + static final void method518(Player var0, int var1) { + try { + Class3_Sub9 var2 = (Class3_Sub9)Class3_Sub28_Sub7_Sub1.aClass130_4046.method1780(var0.displayName.toLong(-121), 0); + if(var1 >= -85) { + method523(40, -17, -52, -32, 9, -51, -85, -84, -19); + } + + if(var2 != null) { + var2.method134(1); + } else { + Class70.method1286(var0.anIntArray2755[0], false, (ObjectDefinition)null, 0, (NPC)null, var0.anIntArray2767[0], WorldListCountry.localPlane, var0); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rg.UA(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final int method519(int var0, boolean var1, int var2, int var3) { + try { + var0 &= 3; + if(!var1) { + method520((byte)-89); + } + + return 0 != var0?(~var0 != -2?(~var0 == -3?-var3 + 7:-var2 + 7):var2):var3; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "rg.RA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final Class3_Sub28_Sub3 method520(byte var0) { + try { + int var1 = -122 % ((var0 - -48) / 33); + return RSByteBuffer.aClass3_Sub28_Sub3_2600; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rg.OA(" + var0 + ')'); + } + } + + public static void method521(int var0) { + try { + aClass153_2573 = null; + if(var0 == -3) { + aClass94Array2566 = null; + aClass94_2568 = null; + anIntArray2574 = null; + aClass94_2576 = null; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "rg.QA(" + var0 + ')'); + } + } + + static final NPCDefinition method522(int var0, int var1) { + try { + NPCDefinition def = (NPCDefinition)Class3_Sub28_Sub7_Sub1.aClass93_4043.get((long)var0, (byte)121); + if(null == def) { + byte[] var3 = Class29.aClass153_557.getFile(Class38_Sub1.method1031(var0, 2), (byte)-122, Canvas_Sub1.method54(var0, false)); + def = new NPCDefinition(); + if(var1 != 27112) { + clanSize = -67; + } + + def.npcId = var0; + if(null != var3) { + def.method1478(new RSByteBuffer(var3), 74); + } + + def.method1481(98); + Class3_Sub28_Sub7_Sub1.aClass93_4043.put((byte)-95, def, (long)var0); + return def; + } else { + return def; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "rg.PA(" + var0 + ',' + var1 + ')'); + } + } + + static final void method523(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + try { + int var9 = var3 - var8; + int var11 = (-var5 + var0 << 16) / var9; + int var10 = -var4 + var6; + int var12 = (var7 + -var1 << 16) / var10; + Class83.method1410(var1, 0, var6, var4, var3, var5, var8, var12, var11, var2, -12541); + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "rg.SA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ')'); + } + } + + final void method524(byte var1) { + try { + if(this.aClass3_Sub28_2570 != null) { + this.aClass3_Sub28_2570.aClass3_Sub28_2578 = this.aClass3_Sub28_2578; + this.aClass3_Sub28_2578.aClass3_Sub28_2570 = this.aClass3_Sub28_2570; + this.aClass3_Sub28_2578 = null; + this.aClass3_Sub28_2570 = null; + if(var1 != -107) { + this.aClass3_Sub28_2578 = (Node)null; + } + + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "rg.TA(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/NodeList.java b/09HDscape-client/src/org/runite/jagex/NodeList.java new file mode 100644 index 000000000..1c743dfbb --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/NodeList.java @@ -0,0 +1,216 @@ +package org.runite.jagex; + +final class NodeList { + + static CacheIndex aClass153_332; + private Node aClass3_Sub28_333 = new Node(); + static RSString aClass94_334 = RSString.createRSString("Lade Texturen )2 "); + private Node aClass3_Sub28_335; + + + final int method874(int var1) { + try { + int var2 = 0; + + for(Node var3 = this.aClass3_Sub28_333.aClass3_Sub28_2578; var3 != this.aClass3_Sub28_333; ++var2) { + var3 = var3.aClass3_Sub28_2578; + } + + return var1 > -41?-56:var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ce.H(" + var1 + ')'); + } + } + + public static void method875(byte var0) { + try { + int var1 = -102 / ((var0 - 35) / 48); + aClass153_332 = null; + aClass94_334 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ce.C(" + var0 + ')'); + } + } + + final Node method876(byte var1) { + try { + Node var2 = this.aClass3_Sub28_333.aClass3_Sub28_2578; + if(this.aClass3_Sub28_333 != var2) { + this.aClass3_Sub28_335 = var2.aClass3_Sub28_2578; + if(var1 < 14) { + this.aClass3_Sub28_335 = (Node)null; + } + + return var2; + } else { + this.aClass3_Sub28_335 = null; + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ce.K(" + var1 + ')'); + } + } + + final Node method877(int var1) { + try { + Node var2 = this.aClass3_Sub28_333.aClass3_Sub28_2578; + if(var2 == this.aClass3_Sub28_333) { + return null; + } else { + var2.method524((byte)-107); + return var1 != -1?(Node)null:var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ce.B(" + var1 + ')'); + } + } + + final Node method878(int var1) { + try { + Node var2 = this.aClass3_Sub28_335; + int var3 = 101 / ((74 - var1) / 44); + if(var2 == this.aClass3_Sub28_333) { + this.aClass3_Sub28_335 = null; + return null; + } else { + this.aClass3_Sub28_335 = var2.aClass3_Sub28_2578; + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ce.A(" + var1 + ')'); + } + } + + final void method879(Node var1, byte var2) { + try { + int var3 = 88 / ((-90 - var2) / 35); + if(var1.aClass3_Sub28_2570 != null) { + var1.method524((byte)-107); + } + + var1.aClass3_Sub28_2570 = this.aClass3_Sub28_333.aClass3_Sub28_2570; + var1.aClass3_Sub28_2578 = this.aClass3_Sub28_333; + var1.aClass3_Sub28_2570.aClass3_Sub28_2578 = var1; + var1.aClass3_Sub28_2578.aClass3_Sub28_2570 = var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ce.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final Class3_Sub28_Sub17 method880(int var0, byte[] var1) { + try { + if(null != var1) { + if(var0 != -22376) { + return (Class3_Sub28_Sub17)null; + } else { + Object var2; + if(!HDToolKit.highDetail) { + var2 = new Class3_Sub28_Sub17_Sub1(var1, Class164.anIntArray2048, RSByteBuffer.anIntArray2591, Class140_Sub7.anIntArray2931, Class3_Sub13_Sub6.anIntArray3076, Class163_Sub1.aByteArrayArray2987); + } else { + var2 = new Class3_Sub28_Sub17_Sub2(var1, Class164.anIntArray2048, RSByteBuffer.anIntArray2591, Class140_Sub7.anIntArray2931, Class3_Sub13_Sub6.anIntArray3076, Class163_Sub1.aByteArrayArray2987); + } + + Class39.method1035((byte)106); + return (Class3_Sub28_Sub17)var2; + } + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ce.G(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method881(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + try { + if(var2 <= -65) { + Class3_Sub4 var10 = null; + + for(Class3_Sub4 var11 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1222(); var11 != null; var11 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1221()) { + if(var11.anInt2250 == var0 && ~var4 == ~var11.anInt2264 && var11.anInt2248 == var1 && ~var7 == ~var11.anInt2263) { + var10 = var11; + break; + } + } + + if(null == var10) { + var10 = new Class3_Sub4(); + var10.anInt2264 = var4; + var10.anInt2248 = var1; + var10.anInt2250 = var0; + var10.anInt2263 = var7; + Class132.method1798(72, var10); + Class3_Sub13_Sub6.aClass61_3075.method1215(true, var10); + } + + var10.anInt2262 = var8; + var10.anInt2261 = var9; + var10.anInt2259 = var5; + var10.anInt2265 = var6; + var10.anInt2256 = var3; + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "ce.J(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ')'); + } + } + + static final void method882(int var0, int var1) { + try { + Class3_Sub13_Sub36.anInt3423 = 0; + Class132.anInt1741 = -1; + Class10.anInt154 = 1; + GraphicDefinition.anInt546 = var1; + Class3_Sub9.aBoolean2311 = false; + Class101.aClass153_1423 = null; + Class3_Sub13_Sub39.anInt3463 = var0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ce.F(" + var0 + ',' + var1 + ')'); + } + } + + final void method883(int var1) { + try { + if(var1 != 17126) { + method880(-21, (byte[])null); + } + + while(true) { + Node var2 = this.aClass3_Sub28_333.aClass3_Sub28_2578; + if(this.aClass3_Sub28_333 == var2) { + this.aClass3_Sub28_335 = null; + return; + } + + var2.method524((byte)-107); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ce.I(" + var1 + ')'); + } + } + + static final Class3_Sub28_Sub3 method884(int var0, byte var1, int var2) { + try { + Class3_Sub28_Sub3 var3 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1222(); + + for(int var4 = -82 % ((var1 - 11) / 32); var3 != null; var3 = (Class3_Sub28_Sub3)Class134.aClass61_1758.method1221()) { + if(var3.aBoolean3553 && var3.method537(var2, (byte)97, var0)) { + return var3; + } + } + + return null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ce.D(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + public NodeList() { + try { + this.aClass3_Sub28_333.aClass3_Sub28_2578 = this.aClass3_Sub28_333; + this.aClass3_Sub28_333.aClass3_Sub28_2570 = this.aClass3_Sub28_333; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ce.()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/ObjectDefinition.java b/09HDscape-client/src/org/runite/jagex/ObjectDefinition.java new file mode 100644 index 000000000..31b0773b9 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/ObjectDefinition.java @@ -0,0 +1,1131 @@ +package org.runite.jagex; + +final class ObjectDefinition { + + private short[] aShortArray1476; + private short[] aShortArray1477; + int anInt1478; + private int anInt1479; + int anInt1480 = 1; + private int anInt1481; + int anInt1482; + boolean aBoolean1483 = false; + int anInt1484; + int anInt1485 = 1; + boolean aBoolean1486; + private int[] configuration; + private int anInt1488; + private int anInt1489; + static boolean[] aBooleanArray1490 = new boolean[112]; + boolean aBoolean1491; + boolean aBoolean1492; + int anInt1493; + private int anInt1494 = 0; + private short[] aShortArray1495; + private int anInt1496; + static int[][][] anIntArrayArrayArray1497 = new int[4][13][13]; + boolean aBoolean1498; + RSString[] options; + private short aShort1500; + private Class130 aClass130_1501; + boolean aBoolean1502 = false; + boolean aBoolean1503; + RSString name; + private byte aByte1505; + private short[] aShortArray1506; + boolean aBoolean1507; + static RSString aClass94_1508 = RSString.createRSString("Choisir une option"); + static RSString aClass94_1509 = RSString.createRSString("Chargement des textures )2 "); + boolean aBoolean1510; + private int anInt1511; + int anInt1512; + private byte[] aByteArray1513; + static int worldId = 1; + int anInt1515; + int anInt1516; + int anInt1517; + int anInt1518; + private int[] models; + int anInt1520; + static int anInt1521 = 0; + int anInt1522; + static RSString aClass94_1523 = RSString.createRSString("Chargement en cours)3 Veuillez patienter)3"); + int[] anIntArray1524; + boolean aBoolean1525; + private int anInt1526; + int objectId; + int anInt1528; + int anInt1529; + boolean aBoolean1530; + int animationId; + private int anInt1532; + int anInt1533; + private int anInt1534; + static short aShort1535 = 320; + private boolean aBoolean1536; + boolean aBoolean1537; + int actionCount; + int[] anIntArray1539; + int anInt1540; + private boolean aBoolean1541; + boolean aBoolean1542; + + + final boolean method1684(int var1, int var2) { + try { + int var3 = -1 % ((31 - var1) / 41); + if(this.configuration != null) { + for(int var7 = 0; ~this.configuration.length < ~var7; ++var7) { + if(~var2 == ~this.configuration[var7]) { + return Class69.aClass153_1043.method2129((byte)72, 0, this.models[var7] & '\uffff'); + } + } + + return true; + } else if(null == this.models) { + return true; + } else if(-11 != ~var2) { + return true; + } else { + boolean var4 = true; + + for(int var5 = 0; this.models.length > var5; ++var5) { + var4 &= Class69.aClass153_1043.method2129((byte)71, 0, '\uffff' & this.models[var5]); + } + + return var4; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "pb.H(" + var1 + ',' + var2 + ')'); + } + } + + final ObjectDefinition method1685(int var1) { + try { + if(var1 != 0) { + this.method1697(-92, 83, (LDIndexedSprite)null, -13, (AnimationDefinition)null, 18, (int[][])((int[][])null), true, 114, 123, (int[][])((int[][])null), 118, 85, -116); + } + + int var2 = -1; + if(this.anInt1526 != -1) { + var2 = NPCDefinition.method1484(64835055, this.anInt1526); + } else if(this.anInt1532 != -1) { + var2 = Class163_Sub1.anIntArray2985[this.anInt1532]; + } + + if(~var2 <= -1 && ~var2 > ~(this.anIntArray1524.length - 1) && ~this.anIntArray1524[var2] != 0) { + return Class162.getObjectDefinition(4, this.anIntArray1524[var2]); + } else { + int var3 = this.anIntArray1524[-1 + this.anIntArray1524.length]; + return ~var3 == 0?null:Class162.getObjectDefinition(4, var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pb.C(" + var1 + ')'); + } + } + + private final Model_Sub1 method1686(int var1, int var2, int var3) { + try { + Model_Sub1 var4 = null; + boolean var5 = this.aBoolean1536; + if(-3 == ~var2 && 3 < var1) { + var5 = !var5; + } + + int var6; + int var7; + if(null == this.configuration) { + if(-11 != ~var2) { + return null; + } + + if(this.models == null) { + return null; + } + + var6 = this.models.length; + + for(var7 = 0; ~var7 > ~var6; ++var7) { + int var8 = this.models[var7]; + if(var5) { + var8 += 65536; + } + + var4 = (Model_Sub1)Class99.aClass93_1401.get((long)var8, (byte)121); + if(var4 == null) { + var4 = Model_Sub1.method2015(Class69.aClass153_1043, var8 & '\uffff', 0); + if(var4 == null) { + return null; + } + + if(var5) { + var4.method2002(); + } + + Class99.aClass93_1401.put((byte)-91, var4, (long)var8); + } + + if(1 < var6) { + Class164.aClass140_Sub5Array2058[var7] = var4; + } + } + + if(~var6 < -2) { + var4 = new Model_Sub1(Class164.aClass140_Sub5Array2058, var6); + } + } else { + var6 = -1; + + for(var7 = 0; this.configuration.length > var7; ++var7) { + if(var2 == this.configuration[var7]) { + var6 = var7; + break; + } + } + + if(~var6 == 0) { + return null; + } + + var7 = this.models[var6]; + if(var5) { + var7 += 65536; + } + + var4 = (Model_Sub1)Class99.aClass93_1401.get((long)var7, (byte)121); + if(null == var4) { + var4 = Model_Sub1.method2015(Class69.aClass153_1043, var7 & '\uffff', 0); + if(null == var4) { + return null; + } + + if(var5) { + var4.method2002(); + } + + Class99.aClass93_1401.put((byte)-122, var4, (long)var7); + } + } + + boolean var11; + if(128 == this.anInt1479 && ~this.anInt1488 == -129 && 128 == this.anInt1481) { + var11 = false; + } else { + var11 = true; + } + + boolean var12; + if(this.anInt1496 == 0 && -1 == ~this.anInt1511 && 0 == this.anInt1534) { + var12 = false; + } else { + var12 = true; + } + + Model_Sub1 var13 = new Model_Sub1(var4, var3 == ~var1 && !var11 && !var12, this.aShortArray1477 == null, null == this.aShortArray1476, true); + if(~var2 == -5 && var1 > 3) { + var13.method2011(256); + var13.method2001(45, 0, -45); + } + + var1 &= 3; + if(-2 != ~var1) { + if(-3 != ~var1) { + if(3 == var1) { + var13.method2018(); + } + } else { + var13.method1989(); + } + } else { + var13.method1991(); + } + + int var9; + if(null != this.aShortArray1477) { + for(var9 = 0; this.aShortArray1477.length > var9; ++var9) { + if(null != this.aByteArray1513 && this.aByteArray1513.length > var9) { + var13.method2016(this.aShortArray1477[var9], Class3_Sub13_Sub9.aShortArray3110[255 & this.aByteArray1513[var9]]); + } else { + var13.method2016(this.aShortArray1477[var9], this.aShortArray1506[var9]); + } + } + } + + if(this.aShortArray1476 != null) { + for(var9 = 0; this.aShortArray1476.length > var9; ++var9) { + var13.method1998(this.aShortArray1476[var9], this.aShortArray1495[var9]); + } + } + + if(var11) { + var13.method1994(this.anInt1479, this.anInt1488, this.anInt1481); + } + + if(var12) { + var13.method2001(this.anInt1496, this.anInt1511, this.anInt1534); + } + + return var13; + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "pb.O(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + public static void method1687(int var0) { + try { + aClass94_1508 = null; + aClass94_1523 = null; + anIntArrayArrayArray1497 = (int[][][])null; + aBooleanArray1490 = null; + aClass94_1509 = null; + if(var0 != -11) { + anInt1521 = -96; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "pb.B(" + var0 + ')'); + } + } + + static final Class72 method1688(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + if(var3 == null) { + return null; + } else { + Class72 var4 = var3.aClass72_2245; + var3.aClass72_2245 = null; + return var4; + } + } + + final void method1689(int var1) { + try { + if(this.anInt1529 == -1) { + this.anInt1529 = 0; + if(null != this.models && (null == this.configuration || -11 == ~this.configuration[0])) { + this.anInt1529 = 1; + } + + for(int var2 = 0; var2 < 5; ++var2) { + if(this.options[var2] != null) { + this.anInt1529 = 1; + break; + } + } + } + + if(var1 != -2116) { + this.method1692(67, (RSByteBuffer)null); + } + + if(-1 == this.anInt1540) { + this.anInt1540 = ~this.actionCount != -1?1:0; + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "pb.D(" + var1 + ')'); + } + } + + final boolean method1690(int var1) { + try { + if(this.anIntArray1524 != null) { + if(var1 != 28933) { + this.method1696(34, 54, (int[][])((int[][])null), 55, 80, (int[][])((int[][])null), true, (LDIndexedSprite)null, (byte)127, true, -38); + } + + for(int var2 = 0; ~var2 > ~this.anIntArray1524.length; ++var2) { + if(0 != ~this.anIntArray1524[var2]) { + ObjectDefinition var3 = Class162.getObjectDefinition(var1 + -28929, this.anIntArray1524[var2]); + if(0 != ~var3.anInt1512 || var3.anIntArray1539 != null) { + return true; + } + } + } + + return false; + } else { + return this.anInt1512 != -1 || this.anIntArray1539 != null; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pb.F(" + var1 + ')'); + } + } + + final int method1691(int var1, int var2, byte var3) { + try { + if(var3 <= 76) { + return -40; + } else if(this.aClass130_1501 == null) { + return var1; + } else { + Class3_Sub18 var4 = (Class3_Sub18)this.aClass130_1501.method1780((long)var2, 0); + return var4 != null?var4.anInt2467:var1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pb.N(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void method1692(int var1, RSByteBuffer var2) { + try { + while(true) { + int var3 = var2.getByte((byte)-89); + if(-1 == ~var3) { + if(var1 != 6219) { + this.method1696(105, -55, (int[][])((int[][])null), -39, 71, (int[][])((int[][])null), true, (LDIndexedSprite)null, (byte)-117, false, -25); + } + + return; + } + + this.parseOpcode(var2, var3, -80); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pb.G(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private final void parseOpcode(RSByteBuffer buffer, int opcode, int var3) { + try { + if(var3 != -80) { + this.anInt1522 = -122; + } + + int var4; + int var5; + if(1 == opcode) { + var4 = buffer.getByte((byte)-77); + if(~var4 < -1) { + if(this.models != null && !Class47.aBoolean742) { + buffer.index += var4 * 3; + } else { + this.configuration = new int[var4]; + this.models = new int[var4]; + + for(var5 = 0; var4 > var5; ++var5) { + this.models[var5] = buffer.getShort(Class93.method1519(var3, -79)); + this.configuration[var5] = buffer.getByte((byte)-75); + } + } + } + } else if(-3 == ~opcode) { + this.name = buffer.getString(); + } else if(-6 != ~opcode) { + if(~opcode == -15) { + this.anInt1480 = buffer.getByte((byte)-124); + } else if(-16 != ~opcode) { + if(~opcode != -18) { + if(18 != opcode) { + if(opcode != 19) { + if(~opcode != -22) { + if(~opcode != -23) { + if(-24 != ~opcode) { + if(~opcode == -25) { + this.animationId = buffer.getShort(var3 ^ -79); + if(~this.animationId == -65536) { + this.animationId = -1; + } + } else if(-28 != ~opcode) { + if(28 == opcode) { + this.anInt1528 = buffer.getByte((byte)-112); + } else if(-30 != ~opcode) { + if(39 == opcode) { + this.anInt1489 = buffer.getByte() * 5; + } else if(~opcode <= -31 && -36 < ~opcode) { + this.options[opcode - 30] = buffer.getString(); + if(this.options[-30 + opcode].equals(-112, Class3_Sub13_Sub3.aClass94_3051)) { + this.options[-30 + opcode] = null; + } + } else if(opcode == 40) { + var4 = buffer.getByte((byte)-27); + this.aShortArray1477 = new short[var4]; + this.aShortArray1506 = new short[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + this.aShortArray1477[var5] = (short)buffer.getShort(1); + this.aShortArray1506[var5] = (short)buffer.getShort(1); + } + } else if(opcode != 41) { + if(opcode == 42) { + var4 = buffer.getByte((byte)-118); + this.aByteArray1513 = new byte[var4]; + + for(var5 = 0; ~var5 > ~var4; ++var5) { + this.aByteArray1513[var5] = buffer.getByte(); + } + } else if(opcode != 60) { + if(~opcode == -63) { + this.aBoolean1536 = true; + } else if(-65 != ~opcode) { + if(~opcode == -66) { + this.anInt1479 = buffer.getShort(1); + } else if(-67 == ~opcode) { + this.anInt1488 = buffer.getShort(1); + } else if(-68 == ~opcode) { + this.anInt1481 = buffer.getShort(var3 + 81); + } else if(opcode != 69) { + if(70 == opcode) { + this.anInt1496 = buffer.getShort((byte)123); + } else if(71 == opcode) { + this.anInt1511 = buffer.getShort((byte)94); + } else if(72 == opcode) { + this.anInt1534 = buffer.getShort((byte)76); + } else if(opcode != 73) { + if(opcode != 74) { + if(75 == opcode) { + this.anInt1540 = buffer.getByte((byte)-66); + } else if(~opcode != -78 && -93 != ~opcode) { + if(78 != opcode) { + if(~opcode != -80) { + if(81 != opcode) { + if(~opcode != -83) { + if(opcode != 88) { + if(-90 != ~opcode) { + if(90 != opcode) { + if(opcode == 91) { + this.aBoolean1491 = true; + } else if(-94 == ~opcode) { + this.aByte1505 = 3; + this.aShort1500 = (short)buffer.getShort(1); + } else if(opcode != 94) { + if(~opcode == -96) { + this.aByte1505 = 5; + } else if(~opcode != -97) { + if(~opcode == -98) { + this.aBoolean1537 = true; + } else if(opcode == 98) { + this.aBoolean1510 = true; + } else if(~opcode != -100) { + if(-101 == ~opcode) { + this.anInt1520 = buffer.getByte((byte)-27); + this.anInt1522 = buffer.getShort(var3 ^ -79); + } else if(~opcode != -102) { + if(opcode != 102) { + if(249 == opcode) { + var4 = buffer.getByte((byte)-88); + if(null == this.aClass130_1501) { + var5 = Class95.method1585((byte)83, var4); + this.aClass130_1501 = new Class130(var5); + } + + for(var5 = 0; var4 > var5; ++var5) { + boolean var10 = -2 == ~buffer.getByte((byte)-84); + int var7 = buffer.getTriByte((byte)122); + Object var8; + if(!var10) { + var8 = new Class3_Sub18(buffer.getInt()); + } else { + var8 = new Class3_Sub29(buffer.getString()); + } + + this.aClass130_1501.method1779(var3 ^ -79, (Class3)var8, (long)var7); + } + } + } else { + this.anInt1516 = buffer.getShort(1); + } + } else { + this.anInt1478 = buffer.getByte((byte)-114); + } + } else { + this.anInt1493 = buffer.getByte((byte)-115); + this.anInt1517 = buffer.getShort(1); + } + } else { + this.aBoolean1507 = true; + } + } else { + this.aByte1505 = 4; + } + } else { + this.aBoolean1502 = true; + } + } else { + this.aBoolean1492 = false; + } + } else { + this.aBoolean1503 = false; + } + } else { + this.aBoolean1530 = true; + } + } else { + this.aByte1505 = 2; + this.aShort1500 = (short)(256 * buffer.getByte((byte)-52)); + } + } else { + this.anInt1518 = buffer.getShort(1); + this.anInt1515 = buffer.getShort(1); + this.anInt1484 = buffer.getByte((byte)-100); + var4 = buffer.getByte((byte)-95); + this.anIntArray1539 = new int[var4]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + this.anIntArray1539[var5] = buffer.getShort(1); + } + } + } else { + this.anInt1512 = buffer.getShort(var3 + 81); + this.anInt1484 = buffer.getByte((byte)-90); + } + } else { + var4 = -1; + this.anInt1526 = buffer.getShort(1); + if('\uffff' == this.anInt1526) { + this.anInt1526 = -1; + } + + this.anInt1532 = buffer.getShort(1); + if('\uffff' == this.anInt1532) { + this.anInt1532 = -1; + } + + if(92 == opcode) { + var4 = buffer.getShort(1); + if(var4 == '\uffff') { + var4 = -1; + } + } + + var5 = buffer.getByte((byte)-66); + this.anIntArray1524 = new int[var5 - -2]; + + for(int var6 = 0; var5 >= var6; ++var6) { + this.anIntArray1524[var6] = buffer.getShort(1); + if('\uffff' == this.anIntArray1524[var6]) { + this.anIntArray1524[var6] = -1; + } + } + + this.anIntArray1524[1 + var5] = var4; + } + } else { + this.aBoolean1498 = true; + } + } else { + this.aBoolean1483 = true; + } + } else { + this.anInt1533 = buffer.getByte((byte)-55); + } + } else { + this.aBoolean1525 = false; + } + } else { + this.anInt1482 = buffer.getShort(var3 ^ -79); + } + } else { + var4 = buffer.getByte((byte)-79); + this.aShortArray1495 = new short[var4]; + this.aShortArray1476 = new short[var4]; + + for(var5 = 0; ~var5 > ~var4; ++var5) { + this.aShortArray1476[var5] = (short)buffer.getShort(1); + this.aShortArray1495[var5] = (short)buffer.getShort(Class93.method1519(var3, -79)); + } + } + } else { + this.anInt1494 = buffer.getByte(); + } + } else { + this.actionCount = 1; + } + } else { + this.aBoolean1542 = true; + } + } else { + this.aBoolean1541 = true; + } + } else { + this.aByte1505 = 1; + } + } else { + this.anInt1529 = buffer.getByte((byte)-79); + } + } else { + this.aBoolean1486 = false; + } + } else { + this.actionCount = 0; + this.aBoolean1486 = false; + } + } else { + this.anInt1485 = buffer.getByte((byte)-42); + } + } else { + var4 = buffer.getByte((byte)-62); + if(~var4 < -1) { + if(null != this.models && !Class47.aBoolean742) { + buffer.index += var4 * 2; + } else { + this.models = new int[var4]; + this.configuration = null; + + for(var5 = 0; var4 > var5; ++var5) { + this.models[var5] = buffer.getShort(1); + } + } + } + } + + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "pb.K(" + (buffer != null?"{...}":"null") + ',' + opcode + ',' + var3 + ')'); + } + } + + final boolean hasModels(boolean var1) { + try { + if(null == this.models) { + return true; + } else { + boolean var2 = true; + + for(int var3 = 0; ~this.models.length < ~var3; ++var3) { + var2 &= Class69.aClass153_1043.method2129((byte)64, 0, '\uffff' & this.models[var3]); + } + + return var1?true:var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "pb.I(" + var1 + ')'); + } + } + + private final Class140_Sub1_Sub1 method1695(int var1, boolean var2, boolean var3, int var4) { + try { + int var6 = this.anInt1494 + 64; + int var7 = 5 * this.anInt1489 + 768; + Class140_Sub1_Sub1 var5 = null; + int var8; + int var12; + if(this.configuration != null) { + var8 = -1; + + int var9; + for(var9 = 0; ~var9 > ~this.configuration.length; ++var9) { + if(~this.configuration[var9] == ~var4) { + var8 = var9; + break; + } + } + + if(0 == ~var8) { + return null; + } + + var9 = this.models[var8]; + if(var2) { + var9 += 65536; + } + + var5 = (Class140_Sub1_Sub1)Class99.aClass93_1401.get((long)var9, (byte)121); + if(null == var5) { + Model_Sub1 var10 = Model_Sub1.method2015(Class69.aClass153_1043, '\uffff' & var9, 0); + if(null == var10) { + return null; + } + + var5 = new Class140_Sub1_Sub1(var10, var6, var7, var2); + Class99.aClass93_1401.put((byte)-101, var5, (long)var9); + } + } else { + if(var4 != 10) { + return null; + } + + if(this.models == null) { + return null; + } + + var8 = this.models.length; + if(-1 == ~var8) { + return null; + } + + long var16 = 0L; + + for(int var11 = 0; ~var8 < ~var11; ++var11) { + var16 = (long)this.models[var11] + var16 * 67783L; + } + + if(var2) { + var16 = ~var16; + } + + var5 = (Class140_Sub1_Sub1)Class99.aClass93_1401.get(var16, (byte)121); + if(null == var5) { + Model_Sub1 var17 = null; + + for(var12 = 0; ~var8 < ~var12; ++var12) { + var17 = Model_Sub1.method2015(Class69.aClass153_1043, this.models[var12] & '\uffff', 0); + if(null == var17) { + return null; + } + + if(var8 > 1) { + Class164.aClass140_Sub5Array2058[var12] = var17; + } + } + + if(1 < var8) { + var17 = new Model_Sub1(Class164.aClass140_Sub5Array2058, var8); + } + + var5 = new Class140_Sub1_Sub1(var17, var6, var7, var2); + Class99.aClass93_1401.put((byte)-75, var5, var16); + } + } + + boolean var14 = this.aBoolean1536; + if(~var4 == -3 && var1 > 3) { + var14 = !var14; + } + + boolean var15 = 128 == this.anInt1488 && -1 == ~this.anInt1511; + boolean var18 = -1 == ~var1 && 128 == this.anInt1479 && ~this.anInt1481 == -129 && ~this.anInt1496 == -1 && this.anInt1534 == 0 && !var14; + Class140_Sub1_Sub1 var19 = var5.method1926(var18, var15, this.aShortArray1477 == null, true, ~var5.method1903() == ~var6, -1 == ~var1 && !var14, var3, ~var7 == ~var5.method1924(), true, !var14, this.aShortArray1476 == null); + if(var14) { + var19.method1931(); + } + + if(var4 == 4 && 3 < var1) { + var19.method1932(256); + var19.method1897(45, 0, -45); + } + + var1 &= 3; + if(1 == var1) { + var19.method1925(); + } else if(~var1 != -3) { + if(~var1 == -4) { + var19.method1902(); + } + } else { + var19.method1911(); + } + + if(null != this.aShortArray1477) { + for(var12 = 0; ~this.aShortArray1477.length < ~var12; ++var12) { + var19.method1918(this.aShortArray1477[var12], this.aShortArray1506[var12]); + } + } + + if(null != this.aShortArray1476) { + for(var12 = 0; ~this.aShortArray1476.length < ~var12; ++var12) { + var19.method1916(this.aShortArray1476[var12], this.aShortArray1495[var12]); + } + } + + if(this.anInt1479 != 128 || -129 != ~this.anInt1488 || ~this.anInt1481 != -129) { + var19.resize(this.anInt1479, this.anInt1488, this.anInt1481); + } + + if(-1 != ~this.anInt1496 || this.anInt1511 != 0 || 0 != this.anInt1534) { + var19.method1897(this.anInt1496, this.anInt1511, this.anInt1534); + } + + if(var6 != var19.method1903()) { + var19.method1914(var6); + } + + if(var19.method1924() != var7) { + var19.method1909(var7); + } + + return var19; + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "pb.L(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final Class136 method1696(int var1, int var2, int[][] var3, int var4, int var5, int[][] var6, boolean var7, LDIndexedSprite var8, byte var9, boolean var10, int var11) { + try { + if(var9 >= -5) { + return (Class136)null; + } else { + long var12; + if(!HDToolKit.highDetail) { + if(this.configuration != null) { + var12 = (long)((var4 << 3) + ((this.objectId << 10) - -var1)); + } else { + var12 = (long)((this.objectId << 10) + var1); + } + + boolean var20; + if(var7 && this.aBoolean1541) { + var12 |= Long.MIN_VALUE; + var20 = true; + } else { + var20 = false; + } + + Object var22 = (GameObject)Class3_Sub28_Sub7_Sub1.aClass93_4051.get(var12, (byte)121); + if(null == var22) { + Model_Sub1 var21 = this.method1686(var1, var4, -1); + if(var21 == null) { + Class100.aClass136_1413.aClass140_1777 = null; + return Class100.aClass136_1413; + } + + var21.method2010(); + if(-11 == ~var4 && var1 > 3) { + var21.method2011(256); + } + + if(!var20) { + var22 = new Class140_Sub1_Sub2(var21, 64 - -this.anInt1494, 5 * this.anInt1489 + 768, -50, -10, -50); + } else { + var21.aShort2879 = (short)(64 + this.anInt1494); + var22 = var21; + var21.aShort2876 = (short)(768 + 5 * this.anInt1489); + var21.method1997(); + } + + Class3_Sub28_Sub7_Sub1.aClass93_4051.put((byte)-89, var22, var12); + } + + if(var20) { + var22 = ((Model_Sub1)var22).method2004(); + } + + if(0 != this.aByte1505) { + if(!(var22 instanceof Class140_Sub1_Sub2)) { + if(var22 instanceof Model_Sub1) { + var22 = ((Model_Sub1)var22).method1999(this.aByte1505, this.aShort1500, var3, var6, var2, var5, var11, true, false); + } + } else { + var22 = ((Class140_Sub1_Sub2)var22).method1941(this.aByte1505, this.aShort1500, var3, var6, var2, var5, var11, true); + } + } + + Class100.aClass136_1413.aClass140_1777 = (GameObject)var22; + return Class100.aClass136_1413; + } else { + if(null != this.configuration) { + var12 = (long)(var1 + (this.objectId << 10) - -(var4 << 3)); + } else { + var12 = (long)((this.objectId << 10) + var1); + } + + Class136 var16 = (Class136)Class3_Sub28_Sub7_Sub1.aClass93_4051.get(var12, (byte)121); + Class140_Sub1_Sub1 var14; + LDIndexedSprite var15; + if(null == var16) { + var14 = this.method1695(var1, false, true, var4); + if(null == var14) { + Class100.aClass136_1413.aClass140_1777 = null; + Class100.aClass136_1413.aClass109_Sub1_1770 = null; + return Class100.aClass136_1413; + } + + if(~var4 == -11 && var1 > 3) { + var14.method1876(256); + } + + if(var10) { + var15 = var14.method1933(var8); + } else { + var15 = null; + } + + var16 = new Class136(); + var16.aClass140_1777 = var14; + var16.aClass109_Sub1_1770 = var15; + Class3_Sub28_Sub7_Sub1.aClass93_4051.put((byte)-93, var16, var12); + } else { + var14 = (Class140_Sub1_Sub1)var16.aClass140_1777; + var15 = var16.aClass109_Sub1_1770; + } + + boolean var17 = this.aBoolean1541 & var7; + Class140_Sub1_Sub1 var18 = var14.method1926(3 != this.aByte1505, ~this.aByte1505 == -1, true, true, true, true, !var17, true, true, true, true); + if(~this.aByte1505 != -1) { + var18.method1919(this.aByte1505, this.aShort1500, var14, var3, var6, var2, var5, var11); + } + + var18.method1920(~this.anInt1529 == -1 && !this.aBoolean1510, true, true, true, -1 == ~this.anInt1529, true, false); + Class100.aClass136_1413.aClass140_1777 = var18; + var18.aBoolean3809 = var17; + Class100.aClass136_1413.aClass109_Sub1_1770 = var15; + return Class100.aClass136_1413; + } + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "pb.A(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + (var6 != null?"{...}":"null") + ',' + var7 + ',' + (var8 != null?"{...}":"null") + ',' + var9 + ',' + var10 + ',' + var11 + ')'); + } + } + + final Class136 method1697(int var1, int var2, LDIndexedSprite var3, int var4, AnimationDefinition var5, int var6, int[][] var7, boolean var8, int var9, int var10, int[][] var11, int var12, int var13, int var14) { + try { + if(var10 != 8308) { + this.hasModels(false); + } + + long var15; + if(HDToolKit.highDetail) { + if(this.configuration != null) { + var15 = (long)((var13 << 3) + ((this.objectId << 10) - -var6)); + } else { + var15 = (long)(var6 + (this.objectId << 10)); + } + + Class140_Sub1_Sub1 var23 = (Class140_Sub1_Sub1)Class154.aClass93_1965.get(var15, (byte)121); + if(var23 == null) { + var23 = this.method1695(var6, true, true, var13); + if(null == var23) { + return null; + } + + var23.method1908(); + var23.method1920(false, false, false, true, false, false, true); + Class154.aClass93_1965.put((byte)-75, var23, var15); + } + + boolean var19 = false; + Class140_Sub1_Sub1 var22 = var23; + if(null != var5) { + var22 = (Class140_Sub1_Sub1)var5.method2056(var12, var9, var14, var6, var23, 3); + var19 = true; + } + + if(~var13 == -11 && 3 < var6) { + if(!var19) { + var22 = (Class140_Sub1_Sub1)var22.method1890(true, true, true); + var19 = true; + } + + var22.method1876(256); + } + + if(var8) { + Class100.aClass136_1413.aClass109_Sub1_1770 = var22.method1933(var3); + } else { + Class100.aClass136_1413.aClass109_Sub1_1770 = null; + } + + if(this.aByte1505 != 0) { + if(!var19) { + var19 = true; + var22 = (Class140_Sub1_Sub1)var22.method1890(true, true, true); + } + + var22.method1919(this.aByte1505, this.aShort1500, var23, var7, var11, var2, var4, var1); + } + + Class100.aClass136_1413.aClass140_1777 = var22; + return Class100.aClass136_1413; + } else { + if(this.configuration == null) { + var15 = (long)((this.objectId << 10) + var6); + } else { + var15 = (long)(var6 + (this.objectId << 10) + (var13 << 3)); + } + + Class140_Sub1_Sub2 var17 = (Class140_Sub1_Sub2)Class154.aClass93_1965.get(var15, (byte)121); + if(var17 == null) { + Model_Sub1 var18 = this.method1686(var6, var13, -1); + if(var18 == null) { + return null; + } + + var17 = new Class140_Sub1_Sub2(var18, 64 + this.anInt1494, this.anInt1489 * 5 + 768, -50, -10, -50); + Class154.aClass93_1965.put((byte)-94, var17, var15); + } + + boolean var21 = false; + if(var5 != null) { + var21 = true; + var17 = (Class140_Sub1_Sub2)var5.method2054(19749, var9, var12, var17, var6, var14); + } + + if(-11 == ~var13 && var6 > 3) { + if(!var21) { + var21 = true; + var17 = (Class140_Sub1_Sub2)var17.method1890(true, true, true); + } + + var17.method1876(256); + } + + if(this.aByte1505 != 0) { + if(!var21) { + var17 = (Class140_Sub1_Sub2)var17.method1890(true, true, true); + var21 = true; + } + + var17 = var17.method1941(this.aByte1505, this.aShort1500, var7, var11, var2, var4, var1, false); + } + + Class100.aClass136_1413.aClass140_1777 = var17; + return Class100.aClass136_1413; + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "pb.M(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + (var5 != null?"{...}":"null") + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ',' + var8 + ',' + var9 + ',' + var10 + ',' + (var11 != null?"{...}":"null") + ',' + var12 + ',' + var13 + ',' + var14 + ')'); + } + } + + final RSString method1698(RSString var1, int var2, int var3) { + try { + if(var2 != -23085) { + method1688(108, -11, 57); + } + + if(null != this.aClass130_1501) { + Class3_Sub29 var4 = (Class3_Sub29)this.aClass130_1501.method1780((long)var3, 0); + return var4 == null?var1:var4.aClass94_2586; + } else { + return var1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "pb.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + public ObjectDefinition() { + this.name = Class3_Sub13_Sub13.aClass94_3150; + this.aBoolean1503 = true; + this.anInt1493 = -1; + this.anInt1515 = 0; + this.anInt1516 = -1; + this.aByte1505 = 0; + this.aBoolean1491 = false; + this.anInt1517 = -1; + this.anInt1496 = 0; + this.anInt1518 = 0; + this.anInt1482 = -1; + this.aBoolean1510 = false; + this.anInt1520 = -1; + this.aShort1500 = -1; + this.anInt1481 = 128; + this.options = new RSString[5]; + this.anInt1479 = 128; + this.aBoolean1492 = true; + this.anInt1488 = 128; + this.aBoolean1498 = false; + this.anInt1529 = -1; + this.aBoolean1530 = false; + this.aBoolean1525 = true; + this.anInt1532 = -1; + this.anInt1522 = -1; + this.anInt1533 = 0; + this.aBoolean1486 = true; + this.anInt1534 = 0; + this.anInt1478 = 0; + this.anInt1528 = 16; + this.aBoolean1537 = false; + this.anInt1511 = 0; + this.anInt1484 = 0; + this.anInt1489 = 0; + this.animationId = -1; + this.aBoolean1507 = false; + this.anInt1512 = -1; + this.actionCount = 2; + this.aBoolean1536 = false; + this.anInt1526 = -1; + this.anInt1540 = -1; + this.aBoolean1541 = false; + this.aBoolean1542 = false; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/OutputStream_Sub1.java b/09HDscape-client/src/org/runite/jagex/OutputStream_Sub1.java new file mode 100644 index 000000000..b2fc381ea --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/OutputStream_Sub1.java @@ -0,0 +1,196 @@ +package org.runite.jagex; +import java.io.IOException; +import java.io.OutputStream; + +final class OutputStream_Sub1 extends OutputStream { + + static RSString[] aClass94Array45; + static short aShort46 = 256; + static boolean aBoolean47 = false; + static int anInt48 = 2; + static int[] anIntArray49; + static RSString aClass94_50 = RSString.createRSString(""); + static RSString aClass94_51 = RSString.createRSString("; Expires="); + + + static final short[] method65(int var0, short[] var1) { + try { + if(var0 != 23032) { + return (short[])null; + } else if(null != var1) { + short[] var2 = new short[var1.length]; + Class76.method1361(var1, 0, var2, 0, var1.length); + return var2; + } else { + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vg.A(" + var0 + ',' + (var1 != null?"{...}":"null") + ')'); + } + } + + static final void method66(RSString var0, int var1, int var2, byte var3, int var4) { + try { + RSInterface var5 = Class3_Sub28_Sub16.method638((byte)-19, var4, var1); + if(null != var5) { + if(var5.anObjectArray314 != null) { + CS2Script var6 = new CS2Script(); + var6.arguments = var5.anObjectArray314; + var6.aClass11_2449 = var5; + var6.aClass94_2439 = var0; + var6.anInt2445 = var2; + Class43.method1065(1073376993, var6); + } + + boolean var8 = true; + if(0 < var5.anInt189) { + var8 = Class3_Sub28_Sub19.method715(205, var5); + } + + if(var8) { + if(Client.method44(var5).method92(var2 - 1, (byte)-108)) { + if(1 == var2) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(155); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-120, var4); + ++Class61.anInt937; + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(var3 < -7) { + if(-3 == ~var2) { + ++Class3_Sub13_Sub10.anInt3122; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(196); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-122, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(~var2 == -4) { + ++Class56.anInt889; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(124); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-122, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(var2 == 4) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(199); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-126, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + ++Class148.anInt1909; + } + + if(~var2 == -6) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(234); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-123, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + ++Class166.anInt2081; + } + + if(6 == var2) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(168); + ++Class85.anInt1172; + Class3_Sub13_Sub1.outgoingBuffer.putInt(-120, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(-8 == ~var2) { + ++Class40.anInt674; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(166); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-123, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(-9 == ~var2) { + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(64); + ++Class57.anInt903; + Class3_Sub13_Sub1.outgoingBuffer.putInt(-127, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(-10 == ~var2) { + ++Class85.anInt1166; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(53); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-123, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + if(~var2 == -11) { + ++Class91.anInt1307; + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(9); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-125, var4); + Class3_Sub13_Sub1.outgoingBuffer.putShort(var1); + } + + } + } + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "vg.D(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + public static void method67(boolean var0) { + try { + aClass94_50 = null; + aClass94Array45 = null; + if(!var0) { + aBoolean47 = true; + } + + anIntArray49 = null; + aClass94_51 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "vg.B(" + var0 + ')'); + } + } + + static final void method68(int var0, int var1, Class140_Sub4 var2) { + try { + if(~Class44.anInt719 <= ~var2.anInt2800) { + if(var2.anInt2790 >= Class44.anInt719) { + Class168.method2270(var2, (byte)-56); + } else { + Class55.method1180((byte)-22, var2); + } + } else { + Class140_Sub2.method1950(var2, true); + } + + if(-129 < ~var2.anInt2819 || var2.anInt2829 < 128 || var2.anInt2819 >= 13184 || var2.anInt2829 >= 13184) { + var2.anInt2771 = -1; + var2.anInt2842 = -1; + var2.anInt2800 = 0; + var2.anInt2790 = 0; + var2.anInt2819 = 128 * var2.anIntArray2767[0] - -(64 * var2.getSize((byte)114)); + var2.anInt2829 = var2.anIntArray2755[0] * 128 + var2.getSize((byte)114) * 64; + var2.method1973(var1 + -2395); + } + + if(var1 == 2279) { + if(var2 == Class102.player && (var2.anInt2819 < 1536 || -1537 < ~var2.anInt2829 || -11777 >= ~var2.anInt2819 || var2.anInt2829 >= 11776)) { + var2.anInt2842 = -1; + var2.anInt2800 = 0; + var2.anInt2790 = 0; + var2.anInt2771 = -1; + var2.anInt2819 = var2.anIntArray2767[0] * 128 + var2.getSize((byte)114) * 64; + var2.anInt2829 = 128 * var2.anIntArray2755[0] + 64 * var2.getSize((byte)114); + var2.method1973(-98); + } + + Class17.method904(65536, var2); + RenderAnimationDefinition.method900(var2, -11973); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "vg.C(" + var0 + ',' + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + public final void write(int var1) throws IOException { + try { + throw new IOException(); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "vg.write(" + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/PacketParser.java b/09HDscape-client/src/org/runite/jagex/PacketParser.java new file mode 100644 index 000000000..10cca03dc --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/PacketParser.java @@ -0,0 +1,1984 @@ +package org.runite.jagex; +import java.io.IOException; + +final class PacketParser { + + static int anInt79; + static int anInt80 = 0; + static byte[][][] aByteArrayArrayArray81; + static Class61 aClass61_82 = new Class61(); + static short aShort83 = 32767; + static RenderAnimationDefinition aClass16_84 = new RenderAnimationDefinition(); + static RSString aClass94_85 = RSString.createRSString("overlay"); + static int anInt86 = 0; + static int anInt87 = 0; + static RSInterface aClass11_88 = null; + + + static final int method823(int var0, int var1, int var2, int var3) { + try { + if(var2 >= -76) { + aShort83 = -91; + } + + return (8 & Class9.aByteArrayArrayArray113[var3][var1][var0]) == 0?(~var3 < -1 && -1 != ~(Class9.aByteArrayArrayArray113[1][var1][var0] & 2)?-1 + var3:var3):0; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ac.G(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + static final void method824(long[] var0, Object[] var1, int var2) { + try { + Class134.method1809(var0.length - 1, var0, 122, 0, var1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ac.E(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final void method825(byte var0, int var1) { + try { + Class3_Sub28_Sub6 var3 = Class3_Sub24_Sub3.method466(4, 1, var1); + var3.a(true); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ac.D(" + var0 + ',' + var1 + ')'); + } + } + + static final int method826(RSString var0, int var1) { + try { + if(var1 != -1) { + method826((RSString)null, 65); + } + + if(var0 != null) { + for(int var2 = 0; Class8.anInt104 > var2; ++var2) { + if(var0.equals(var1 ^ 107, Class70.aClass94Array1046[var2])) { + return var2; + } + } + + return -1; + } else { + return -1; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ac.B(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + static final boolean parseIncomingPackets(byte var0) throws IOException { + try { + if(Class3_Sub15.aClass89_2429 == null) { + return false; + } else { + int var1 = Class3_Sub15.aClass89_2429.availableBytes(-18358); + if(0 == var1) { + return false; + } else { + if(~RSString.incomingOpcode == 0) { + --var1; + Class3_Sub15.aClass89_2429.readBytes(0, 1, var0 ^ 18500, GraphicDefinition.incomingBuffer.buffer); + GraphicDefinition.incomingBuffer.index = 0; + RSString.incomingOpcode = GraphicDefinition.incomingBuffer.getOpcode(0); + Class130.incomingPacketLength = Class75_Sub4.anIntArray2668[RSString.incomingOpcode]; + } + + if(Class130.incomingPacketLength == -1) { + if(0 >= var1) { + return false; + } + + Class3_Sub15.aClass89_2429.readBytes(0, 1, -18455, GraphicDefinition.incomingBuffer.buffer); + --var1; + Class130.incomingPacketLength = GraphicDefinition.incomingBuffer.buffer[0] & 255; + } + + if(-2 == Class130.incomingPacketLength) { + if(~var1 >= -2) { + return false; + } + + var1 -= 2; + Class3_Sub15.aClass89_2429.readBytes(0, 2, -18455, GraphicDefinition.incomingBuffer.buffer); + GraphicDefinition.incomingBuffer.index = 0; + Class130.incomingPacketLength = GraphicDefinition.incomingBuffer.getShort(1); + } + + if(~Class130.incomingPacketLength < ~var1) { + return false; + } else { + GraphicDefinition.incomingBuffer.index = 0; + Class3_Sub15.aClass89_2429.readBytes(0, Class130.incomingPacketLength, -18455, GraphicDefinition.incomingBuffer.buffer); + Class24.anInt469 = Class7.anInt2166; + Class7.anInt2166 = Class3_Sub29.anInt2582; + Class3_Sub29.anInt2582 = RSString.incomingOpcode; + Class3_Sub28_Sub16.anInt3699 = 0; + int nodeModelId; + if(60 == RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getShortA(var0 + 188); + byte var69 = GraphicDefinition.incomingBuffer.method763((byte)100); + Class3_Sub13_Sub23.method281((byte)99, var69, nodeModelId); + RSString.incomingOpcode = -1; + return true; + } else { + int counter; + RSString var24; + if(RSString.incomingOpcode == 115) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var24 = GraphicDefinition.incomingBuffer.getString(); + Object[] var71 = new Object[var24.length(-92) - -1]; + for(counter = var24.length(var0 ^ 79) + -1; -1 >= ~counter; --counter) { + if (115 == var24.charAt(counter, (byte)-45)) { + var71[1 + counter] = GraphicDefinition.incomingBuffer.getString(); + } else { + var71[1 + counter] = new Integer(GraphicDefinition.incomingBuffer.getInt()); + } + } + + var71[0] = new Integer(GraphicDefinition.incomingBuffer.getInt()); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + CS2Script var66 = new CS2Script(); + var66.arguments = var71; + Class43.method1065(1073376993, var66); + } + + RSString.incomingOpcode = -1; + return true; + } else { + long var4; + boolean var31; + int var30; + RSString var41; + if(-71 == ~RSString.incomingOpcode) { + RSString var70 = GraphicDefinition.incomingBuffer.getString(); + if(!var70.method1550((byte)-60, Class117.aClass94_1614)) { + if(!var70.method1550((byte)-47, Class30.aClass94_567)) { + if(var70.method1550((byte)-98, Class3_Sub13_Sub26.aClass94_3330)) { + var31 = false; + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, 96), 0, 0); + var4 = var24.toLong(-109); + + for(var30 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var30; ++var30) { + if(var4 == Class114.aLongArray1574[var30]) { + var31 = true; + break; + } + } + + if(!var31 && ~WorldListEntry.anInt2622 == -1) { + Class3_Sub30_Sub1.sendMessage(var24, 10, Class3_Sub28_Sub14.aClass94_3672, -1); + } + } else if(var70.method1550((byte)-128, Class3_Sub20.aClass94_2482)) { + var24 = var70.method1557(var70.method1551(Class3_Sub20.aClass94_2482, var0 ^ -50), 0, 0); + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 11, var24, -1); + } else if(!var70.method1550((byte)-29, NPC.aClass94_3998)) { + if(var70.method1550((byte)-80, Class143.aClass94_1877)) { + var24 = var70.method1557(var70.method1551(Class143.aClass94_1877, 121), 0, 0); + if(WorldListEntry.anInt2622 == 0) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 13, var24, -1); + } + } else if(!var70.method1550((byte)-42, Class27.aClass94_514)) { + if(!var70.method1550((byte)-41, ISAACCipher.aClass94_965)) { + if(var70.method1550((byte)-110, Class3_Sub13_Sub30.aClass94_3368)) { + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, var0 + 138), 0, 0); + var4 = var24.toLong(var0 + -23); + var31 = false; + + for(var30 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var30; ++var30) { + if(~var4 == ~Class114.aLongArray1574[var30]) { + var31 = true; + break; + } + } + + if(!var31 && WorldListEntry.anInt2622 == 0) { + Class3_Sub30_Sub1.sendMessage(var24, 16, Class3_Sub28_Sub14.aClass94_3672, -1); + } + } else if(var70.method1550((byte)-41, RSString.aClass94_2155)) { + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, var0 + 189), var0 + 83, 0); + var31 = false; + var4 = var24.toLong(-122); + + for(var30 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var30; ++var30) { + if(~Class114.aLongArray1574[var30] == ~var4) { + var31 = true; + break; + } + } + + if(!var31 && WorldListEntry.anInt2622 == 0) { + var41 = var70.method1557(var70.length(-32) - 9, var0 ^ -83, 1 + var70.method1551(Class155.aClass94_1970, 92)); + Class3_Sub30_Sub1.sendMessage(var24, 21, var41, -1); + } + } else { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 0, var70, var0 + 82); + } + } else { + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, 118), 0, 0); + var31 = false; + var4 = var24.toLong(-120); + + for(var30 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var30; ++var30) { + if(~Class114.aLongArray1574[var30] == ~var4) { + var31 = true; + break; + } + } + + if(!var31 && 0 == WorldListEntry.anInt2622) { + Class3_Sub30_Sub1.sendMessage(var24, 15, Class3_Sub28_Sub14.aClass94_3672, -1); + } + } + } else { + var31 = false; + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, 115), 0, 0); + var4 = var24.toLong(-118); + + for(var30 = 0; Class3_Sub28_Sub5.anInt3591 > var30; ++var30) { + if(var4 == Class114.aLongArray1574[var30]) { + var31 = true; + break; + } + } + + if(!var31 && -1 == ~WorldListEntry.anInt2622) { + Class3_Sub30_Sub1.sendMessage(var24, 14, Class3_Sub28_Sub14.aClass94_3672, -1); + } + } + } else { + var24 = var70.method1557(var70.method1551(NPC.aClass94_3998, 102), 0, 0); + if(0 == WorldListEntry.anInt2622) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 12, var24, -1); + } + } + } else { + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, 75), 0, 0); + var4 = var24.toLong(-110); + var31 = false; + + for(var30 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var30; ++var30) { + if(Class114.aLongArray1574[var30] == var4) { + var31 = true; + break; + } + } + + if(!var31 && WorldListEntry.anInt2622 == 0) { + var41 = var70.method1557(var70.length(var0 + -16) + -9, var0 ^ -83, 1 + var70.method1551(Class155.aClass94_1970, 101)); + Class3_Sub30_Sub1.sendMessage(var24, 8, var41, var0 ^ 82); + } + } + } else { + var24 = var70.method1557(var70.method1551(Class155.aClass94_1970, 65), 0, 0); + var4 = var24.toLong(-128); + var31 = false; + + for(var30 = 0; ~var30 > ~Class3_Sub28_Sub5.anInt3591; ++var30) { + if(~Class114.aLongArray1574[var30] == ~var4) { + var31 = true; + break; + } + } + + if(!var31 && ~WorldListEntry.anInt2622 == -1) { + Class3_Sub30_Sub1.sendMessage(var24, 4, Class3_Sub6.aClass94_2285, var0 + 82); + } + } + + RSString.incomingOpcode = -1; + return true; + } else { + int var19; + RSString var58; + if(~RSString.incomingOpcode == -124) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(-69); + var19 = GraphicDefinition.incomingBuffer.getShortA(-126); + var58 = GraphicDefinition.incomingBuffer.getString(); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class3_Sub13_Sub27.method295(var58, (byte)40, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 230) { + if(153 == RSString.incomingOpcode) { + RSString.incomingOpcode = -1; + Class65.anInt987 = 0; + return true; + } else { + int modelId; + if(-221 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntB((byte)-59); + var19 = GraphicDefinition.incomingBuffer.getLEShort(-75); + modelId = GraphicDefinition.incomingBuffer.getShort(var0 + 84); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + Class3_Sub13_Sub33.method327(var19, nodeModelId, (byte)68); + } + + RSString.incomingOpcode = -1; + return true; + } else { + long var2; + int clanChatIcon; + int var11; + long var29; + long var36; + if(81 == RSString.incomingOpcode) { + var2 = GraphicDefinition.incomingBuffer.getLong(-120); + GraphicDefinition.incomingBuffer.getByte(); + var4 = GraphicDefinition.incomingBuffer.getLong(var0 ^ 54); + var29 = (long)GraphicDefinition.incomingBuffer.getShort(1); + var36 = (long)GraphicDefinition.incomingBuffer.getTriByte((byte)104); + clanChatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-80); + boolean var63 = false; + var11 = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + long var55 = (var29 << 32) + var36; + int var54 = 0; + + label1521: + while(true) { + if(100 > var54) { + if(~var55 != ~Class163_Sub2_Sub1.aLongArray4017[var54]) { + ++var54; + continue; + } + + var63 = true; + break; + } + + if(1 >= clanChatIcon) { + for(var54 = 0; ~Class3_Sub28_Sub5.anInt3591 < ~var54; ++var54) { + if(~Class114.aLongArray1574[var54] == ~var2) { + var63 = true; + break label1521; + } + } + } + break; + } + + if(!var63 && 0 == WorldListEntry.anInt2622) { + Class163_Sub2_Sub1.aLongArray4017[Class149.anInt1921] = var55; + Class149.anInt1921 = (1 + Class149.anInt1921) % 100; + RSString var61 = Class3_Sub29.method733(12345678, var11).method555(28021, GraphicDefinition.incomingBuffer); + if(-3 != ~clanChatIcon && 3 != clanChatIcon) { + if(~clanChatIcon != -2) { + Class3_Sub28_Sub12.sendGameMessage(var11, 20, var61, Class41.method1052(var0 + -29581, var4).method1545((byte)-50), (byte)50, Class41.method1052(-29664, var2).method1545((byte)-50)); + } else { + Class3_Sub28_Sub12.sendGameMessage(var11, 20, var61, Class41.method1052(-29664, var4).method1545((byte)-50), (byte)50, RenderAnimationDefinition.method903(new RSString[]{Class32.aClass94_592, Class41.method1052(var0 + -29581, var2).method1545((byte)-50)}, (byte)-109)); + } + } else { + Class3_Sub28_Sub12.sendGameMessage(var11, 20, var61, Class41.method1052(var0 + -29581, var4).method1545((byte)-50), (byte)50, RenderAnimationDefinition.method903(new RSString[]{Class21.aClass94_444, Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-124)); + } + } + + RSString.incomingOpcode = -1; + return true; + } else { + int var6; + int chatIcon; + boolean var32; + if(~RSString.incomingOpcode != -56) { + if(RSString.incomingOpcode == 164) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntA(-1); + Class136.aClass64_1778 = Class38.aClass87_665.method1449(var0 ^ -82, nodeModelId); + RSString.incomingOpcode = -1; + return true; + } else if(-226 != ~RSString.incomingOpcode) { + if(RSString.incomingOpcode == 48) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var24 = GraphicDefinition.incomingBuffer.getString(); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-115); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub13_Sub27.method295(var24, (byte)40, modelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(232 == RSString.incomingOpcode) { + Class3_Sub13_Sub8.anInt3101 = GraphicDefinition.incomingBuffer.getByte((byte)-72); + Class24.anInt467 = GraphicDefinition.incomingBuffer.getByte((byte)-128); + Class45.anInt734 = GraphicDefinition.incomingBuffer.getByte((byte)-57); + RSString.incomingOpcode = -1; + return true; + } else { + RSString var56; + if(RSString.incomingOpcode == 44) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-88); + if(nodeModelId == '\uffff') { + nodeModelId = -1; + } + + var19 = GraphicDefinition.incomingBuffer.getByte((byte)-68); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-122); + var56 = GraphicDefinition.incomingBuffer.getString(); + if(1 <= modelId && ~modelId >= -9) { + if(var56.equals(-121, Class50.aClass94_829)) { + var56 = null; + } + + Class91.aClass94Array1299[-1 + modelId] = var56; + Class3_Sub13_Sub26.anIntArray3328[modelId + -1] = nodeModelId; + Class1.aBooleanArray54[modelId + -1] = ~var19 == -1; + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 226) { + if(RSString.incomingOpcode == 21) { + nodeModelId = GraphicDefinition.incomingBuffer.getByteC(true); + var19 = GraphicDefinition.incomingBuffer.getShort(1); + modelId = GraphicDefinition.incomingBuffer.getLEInt(var0 ^ 19); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class3_Sub13_Sub19.method260(-16207, modelId, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(-146 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-110); + var19 = GraphicDefinition.incomingBuffer.getByteA((byte)-101); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-120); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + if(-3 == ~var19) { + Class7.method834((byte)-86); + } + + Class3_Sub28_Sub12.anInt3655 = nodeModelId; + Class3_Sub13_Sub13.method232(nodeModelId, 16182); + Class124.method1746(false, (byte)-64); + Class3_Sub13_Sub12.method226(Class3_Sub28_Sub12.anInt3655, 69); + + for(counter = 0; -101 < ~counter; ++counter) { + Class3_Sub28_Sub14.aBooleanArray3674[counter] = true; + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(-70 != ~RSString.incomingOpcode) { + if(141 == RSString.incomingOpcode) { + var2 = GraphicDefinition.incomingBuffer.getLong(-125); + modelId = GraphicDefinition.incomingBuffer.getShort(1); + var56 = Class3_Sub29.method733(var0 + 12345761, modelId).method555(28021, GraphicDefinition.incomingBuffer); + Class3_Sub28_Sub12.sendGameMessage(modelId, 19, var56, (RSString)null, (byte)50, Class41.method1052(-29664, var2).method1545((byte)-50)); + RSString.incomingOpcode = -1; + return true; + } else if(-170 != ~RSString.incomingOpcode) { + if(89 == RSString.incomingOpcode) { + Class3_Sub13_Sub2.method176(-117); + Class3_Sub30_Sub1.method819(false); + Class36.anInt641 += 32; + RSString.incomingOpcode = -1; + return true; + } else if(-126 == ~RSString.incomingOpcode) {//camera rotation + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var19 = GraphicDefinition.incomingBuffer.getByte((byte)-37); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-114); + counter = GraphicDefinition.incomingBuffer.getShort(1); + var6 = GraphicDefinition.incomingBuffer.getByte((byte)-59); + var30 = GraphicDefinition.incomingBuffer.getByte((byte)-96); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class164_Sub1.method2238(counter, modelId, var6, var19, (byte)-21, var30); + } + + RSString.incomingOpcode = -1; + return true; + } else if(-37 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntB((byte)122); + var19 = GraphicDefinition.incomingBuffer.getLEShort((byte)10); + modelId = GraphicDefinition.incomingBuffer.getShortA(114); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + Class131.method1790(nodeModelId, var19, var0 + 178); + } + + RSString.incomingOpcode = -1; + return true; + } else { + Class3_Sub1 var38; + Class3_Sub1 var47; + if(-10 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-97); + var19 = GraphicDefinition.incomingBuffer.getLEInt(-101); + modelId = GraphicDefinition.incomingBuffer.getShortA(-105); + counter = GraphicDefinition.incomingBuffer.getLEShort(var0 ^ 23); + if(-65536 == ~counter) { + counter = -1; + } + + var6 = GraphicDefinition.incomingBuffer.getShortA(127); + if(-65536 == ~var6) { + var6 = -1; + } + + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + for(var30 = var6; counter >= var30; ++var30) { + var36 = (long)var30 + ((long)var19 << 32); + var47 = (Class3_Sub1)Class124.aClass130_1659.method1780(var36, 0); + if(null != var47) { + var38 = new Class3_Sub1(var47.anInt2205, nodeModelId); + var47.method86(-1024); + } else if(0 != ~var30) { + var38 = new Class3_Sub1(0, nodeModelId); + } else { + var38 = new Class3_Sub1(Class7.getRSInterface((byte)119, var19).aClass3_Sub1_257.anInt2205, nodeModelId); + } + + Class124.aClass130_1659.method1779(1, var38, var36); + } + } + + RSString.incomingOpcode = -1; + return true; + } else { + int var33; + if(RSString.incomingOpcode == 56) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var19 = GraphicDefinition.incomingBuffer.getLEShort(var0 + -8); + modelId = GraphicDefinition.incomingBuffer.getIntA(-1); + counter = GraphicDefinition.incomingBuffer.getLEShortA((byte)-119); + if(~(modelId >> 30) == -1) { + AnimationDefinition var53; + if(modelId >> 29 != 0) { + var6 = '\uffff' & modelId; + NPC var62 = Class3_Sub13_Sub24.npcs[var6]; + if(null != var62) { + if(-65536 == ~counter) { + counter = -1; + } + + var32 = true; + if(0 != ~counter && -1 != var62.anInt2842 && ~Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, counter).anInt542, (byte)-20).anInt1857 > ~Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, var62.anInt2842).anInt542, (byte)-20).anInt1857) { + var32 = false; + } + + if(var32) { + var62.anInt2761 = 0; + var62.anInt2842 = counter; + var62.anInt2759 = Class44.anInt719 - -nodeModelId; + var62.anInt2805 = 0; + if(var62.anInt2759 > Class44.anInt719) { + var62.anInt2805 = -1; + } + + var62.anInt2799 = var19; + var62.anInt2826 = 1; + if(~var62.anInt2842 != 0 && Class44.anInt719 == var62.anInt2759) { + var33 = RenderAnimationDefinition.getGraphicDefinition((byte)42, var62.anInt2842).anInt542; + if(~var33 != 0) { + var53 = Client.getAnimationDefinition(var33, (byte)-20); + if(var53 != null && null != var53.frames) { + IOHandler.method1470(var62.anInt2829, var53, 183921384, var62.anInt2819, false, 0); + } + } + } + } + } + } else if(-1 != ~(modelId >> 28)) { + var6 = modelId & '\uffff'; + Player var60; + if(~Class3_Sub1.localIndex == ~var6) { + var60 = Class102.player; + } else { + var60 = Class3_Sub13_Sub22.players[var6]; + } + + if(null != var60) { + if(counter == '\uffff') { + counter = -1; + } + + var32 = true; + if(counter != -1 && ~var60.anInt2842 != 0 && ~Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, counter).anInt542, (byte)-20).anInt1857 > ~Client.getAnimationDefinition(RenderAnimationDefinition.getGraphicDefinition((byte)42, var60.anInt2842).anInt542, (byte)-20).anInt1857) { + var32 = false; + } + + if(var32) { + var60.anInt2759 = nodeModelId + Class44.anInt719; + var60.anInt2799 = var19; + var60.anInt2842 = counter; + if(~var60.anInt2842 == -65536) { + var60.anInt2842 = -1; + } + + var60.anInt2826 = 1; + var60.anInt2761 = 0; + var60.anInt2805 = 0; + if(var60.anInt2759 > Class44.anInt719) { + var60.anInt2805 = -1; + } + + if(0 != ~var60.anInt2842 && ~var60.anInt2759 == ~Class44.anInt719) { + var33 = RenderAnimationDefinition.getGraphicDefinition((byte)42, var60.anInt2842).anInt542; + if(0 != ~var33) { + var53 = Client.getAnimationDefinition(var33, (byte)-20); + if(null != var53 && null != var53.frames) { + IOHandler.method1470(var60.anInt2829, var53, 183921384, var60.anInt2819, var60 == Class102.player, 0); + } + } + } + } + } + } + } else { + var6 = 3 & modelId >> 28; + var30 = ((modelId & 268434277) >> 14) + -Class131.anInt1716; + chatIcon = (modelId & 16383) + -Class82.anInt1152; + if(~var30 <= -1 && chatIcon >= 0 && 104 > var30 && ~chatIcon > -105) { + chatIcon = chatIcon * 128 - -64; + var30 = 128 * var30 + 64; + Class140_Sub2 var50 = new Class140_Sub2(counter, var6, var30, chatIcon, -var19 + Class121.method1736(var6, 1, var30, chatIcon), nodeModelId, Class44.anInt719); + Class3_Sub13_Sub15.aClass61_3177.method1215(true, new Class3_Sub28_Sub2(var50)); + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(-208 != ~RSString.incomingOpcode) { + if(~RSString.incomingOpcode == -39) { + Class3_Sub30_Sub1.method819(false); + nodeModelId = GraphicDefinition.incomingBuffer.getByteA((byte)-111); + var19 = GraphicDefinition.incomingBuffer.getIntA(-1); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-92); + Class133.anIntArray1743[modelId] = var19; + Class3_Sub13_Sub15.anIntArray3185[modelId] = nodeModelId; + Class3_Sub20.anIntArray2480[modelId] = 1; + + for(counter = 0; 98 > counter; ++counter) { + if(ItemDefinition.anIntArray781[counter] <= var19) { + Class3_Sub20.anIntArray2480[modelId] = counter + 2; + } + } + + Class3_Sub28_Sub19.anIntArray3780[Class3_Sub28_Sub15.method633(31, Class49.anInt815++)] = modelId; + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 104 && 121 != RSString.incomingOpcode && -98 != ~RSString.incomingOpcode && ~RSString.incomingOpcode != -15 && ~RSString.incomingOpcode != -203 && ~RSString.incomingOpcode != -136 && ~RSString.incomingOpcode != -18 && RSString.incomingOpcode != 16 && RSString.incomingOpcode != 240 && RSString.incomingOpcode != 33 && -21 != ~RSString.incomingOpcode && 195 != RSString.incomingOpcode && 179 != RSString.incomingOpcode) { + if(RSString.incomingOpcode == 149) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var19 = GraphicDefinition.incomingBuffer.getInt(); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub31 var67 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var19, 0); + if(null != var67) { + Class3_Sub13_Sub18.method254(true, var67, false); + } + + if(null != Class3_Sub13_Sub7.aClass11_3087) { + Class20.method909(115, Class3_Sub13_Sub7.aClass11_3087); + Class3_Sub13_Sub7.aClass11_3087 = null; + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 187) { + if(RSString.incomingOpcode == 132) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var19 = GraphicDefinition.incomingBuffer.getShortA(31); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-117); + counter = GraphicDefinition.incomingBuffer.getLEShortA((byte)-90); + var6 = GraphicDefinition.incomingBuffer.getInt(); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + CacheIndex.method2143((byte)-124, modelId, var6, counter, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(112 == RSString.incomingOpcode) { + Class65.currentChunkX = GraphicDefinition.incomingBuffer.getByte((byte)-126); + Class107.currentChunkY = GraphicDefinition.incomingBuffer.getByteC(true); + + for(nodeModelId = Class65.currentChunkX; nodeModelId < 8 + Class65.currentChunkX; ++nodeModelId) { + for(var19 = Class107.currentChunkY; ~var19 > ~(8 + Class107.currentChunkY); ++var19) { + if(null != Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][nodeModelId][var19]) { + Class3_Sub13_Sub22.aClass61ArrayArrayArray3273[WorldListCountry.localPlane][nodeModelId][var19] = null; + Class128.method1760(var19, (byte)65, nodeModelId); + } + } + } + + for(Class3_Sub4 var68 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1222(); null != var68; var68 = (Class3_Sub4)Class3_Sub13_Sub6.aClass61_3075.method1221()) { + if(~var68.anInt2264 <= ~Class65.currentChunkX && 8 + Class65.currentChunkX > var68.anInt2264 && var68.anInt2248 >= Class107.currentChunkY && ~var68.anInt2248 > ~(8 + Class107.currentChunkY) && var68.anInt2250 == WorldListCountry.localPlane) { + var68.anInt2259 = 0; + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode == 144) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntB((byte)72); + RSInterface var65 = Class7.getRSInterface((byte)111, nodeModelId); + + for(modelId = 0; var65.itemAmounts.length > modelId; ++modelId) { + var65.itemAmounts[modelId] = -1; + var65.itemAmounts[modelId] = 0; + } + + Class20.method909(123, var65); + RSString.incomingOpcode = -1; + return true; + } else if(-131 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEInt(-104); + var19 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-125); + modelId = GraphicDefinition.incomingBuffer.getShortA(var0 ^ -2); + if(modelId == '\uffff') { + modelId = -1; + } + + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class3_Sub13_Sub18.method256(-1, 1, nodeModelId, (byte)-109, modelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(-193 == ~RSString.incomingOpcode) { + Class161.anInt2028 = GraphicDefinition.incomingBuffer.getByte((byte)-59); + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -14) { + nodeModelId = GraphicDefinition.incomingBuffer.getByteS(true); + var19 = GraphicDefinition.incomingBuffer.getByteA((byte)108); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-41); + WorldListCountry.localPlane = var19 >> 1; + Class102.player.method1981((byte)126, nodeModelId, ~(var19 & 1) == -2, modelId); + RSString.incomingOpcode = -1; + return true; + } else { + int var12; + RSString var57; + RSString var64; + if(-63 == ~RSString.incomingOpcode) { + var2 = GraphicDefinition.incomingBuffer.getLong(-127); + modelId = GraphicDefinition.incomingBuffer.getShort(1); + counter = GraphicDefinition.incomingBuffer.getByte((byte)-99); + var31 = true; + if(var2 < 0L) { + var2 &= Long.MAX_VALUE; + var31 = false; + } + + var41 = Class3_Sub28_Sub14.aClass94_3672; + if(-1 > ~modelId) { + var41 = GraphicDefinition.incomingBuffer.getString(); + } + + RSString var46 = Class41.method1052(-29664, var2).method1545((byte)-50); + + for(var33 = 0; var33 < Class8.anInt104; ++var33) { + if(var2 == Class50.aLongArray826[var33]) { + if(~modelId != ~Class55.anIntArray882[var33]) { + Class55.anIntArray882[var33] = modelId; + if(0 < modelId) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 5, RenderAnimationDefinition.method903(new RSString[]{var46, Class3_Sub28_Sub10_Sub1.aClass94_4058}, (byte)-77), -1); + } + + if(modelId == 0) { + Class3_Sub30_Sub1.sendMessage(Class3_Sub28_Sub14.aClass94_3672, 5, RenderAnimationDefinition.method903(new RSString[]{var46, Class50.aClass94_822}, (byte)-97), -1); + } + } + + Node.aClass94Array2566[var33] = var41; + Class57.anIntArray904[var33] = counter; + var46 = null; + Class3.aBooleanArray73[var33] = var31; + break; + } + } + + boolean var45 = false; + if(null != var46 && 200 > Class8.anInt104) { + Class50.aLongArray826[Class8.anInt104] = var2; + Class70.aClass94Array1046[Class8.anInt104] = var46; + Class55.anIntArray882[Class8.anInt104] = modelId; + Node.aClass94Array2566[Class8.anInt104] = var41; + Class57.anIntArray904[Class8.anInt104] = counter; + Class3.aBooleanArray73[Class8.anInt104] = var31; + ++Class8.anInt104; + } + + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + clanChatIcon = Class8.anInt104; + + while(~clanChatIcon < -1) { + --clanChatIcon; + var45 = true; + + for(var11 = 0; var11 < clanChatIcon; ++var11) { + if(~Class55.anIntArray882[var11] != ~CS2Script.anInt2451 && ~CS2Script.anInt2451 == ~Class55.anIntArray882[var11 - -1] || Class55.anIntArray882[var11] == 0 && Class55.anIntArray882[var11 - -1] != 0) { + var45 = false; + var12 = Class55.anIntArray882[var11]; + Class55.anIntArray882[var11] = Class55.anIntArray882[var11 - -1]; + Class55.anIntArray882[1 + var11] = var12; + var64 = Node.aClass94Array2566[var11]; + Node.aClass94Array2566[var11] = Node.aClass94Array2566[var11 + 1]; + Node.aClass94Array2566[var11 - -1] = var64; + var57 = Class70.aClass94Array1046[var11]; + Class70.aClass94Array1046[var11] = Class70.aClass94Array1046[var11 + 1]; + Class70.aClass94Array1046[var11 - -1] = var57; + long var15 = Class50.aLongArray826[var11]; + Class50.aLongArray826[var11] = Class50.aLongArray826[var11 - -1]; + Class50.aLongArray826[var11 - -1] = var15; + int var17 = Class57.anIntArray904[var11]; + Class57.anIntArray904[var11] = Class57.anIntArray904[var11 - -1]; + Class57.anIntArray904[1 + var11] = var17; + boolean var18 = Class3.aBooleanArray73[var11]; + Class3.aBooleanArray73[var11] = Class3.aBooleanArray73[var11 - -1]; + Class3.aBooleanArray73[var11 - -1] = var18; + } + } + + if(var45) { + break; + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(-161 == ~RSString.incomingOpcode) { + if(0 != Class130.incomingPacketLength) { + Class3_Sub13_Sub28.aClass94_3353 = GraphicDefinition.incomingBuffer.getString(); + } else { + Class3_Sub13_Sub28.aClass94_3353 = Class56.aClass94_891; + } + + RSString.incomingOpcode = -1; + return true; + } else if(128 != RSString.incomingOpcode) { + if(~RSString.incomingOpcode == -155) {//camera position + nodeModelId = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + var19 = GraphicDefinition.incomingBuffer.getByte((byte)-56); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-23); + counter = GraphicDefinition.incomingBuffer.getShort(1); + var6 = GraphicDefinition.incomingBuffer.getByte((byte)-123); + var30 = GraphicDefinition.incomingBuffer.getByte((byte)-92); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub20.method390(true, var6, counter, var30, (byte)-124, modelId, var19); + } + + RSString.incomingOpcode = -1; + return true; + } else if(247 == RSString.incomingOpcode) { + var2 = GraphicDefinition.incomingBuffer.getLong(-115); + var4 = (long)GraphicDefinition.incomingBuffer.getShort(1); + var29 = (long)GraphicDefinition.incomingBuffer.getTriByte((byte)77); + chatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-28); + var33 = GraphicDefinition.incomingBuffer.getShort(1); + boolean var49 = false; + long var51 = (var4 << -737495840) - -var29; + int var59 = 0; + + label1603: + while(true) { + if(100 > var59) { + if(~var51 != ~Class163_Sub2_Sub1.aLongArray4017[var59]) { + ++var59; + continue; + } + + var49 = true; + break; + } + + if(chatIcon <= 1) { + for(var59 = 0; ~var59 > ~Class3_Sub28_Sub5.anInt3591; ++var59) { + if(var2 == Class114.aLongArray1574[var59]) { + var49 = true; + break label1603; + } + } + } + break; + } + + if(!var49 && ~WorldListEntry.anInt2622 == -1) { + Class163_Sub2_Sub1.aLongArray4017[Class149.anInt1921] = var51; + Class149.anInt1921 = (1 + Class149.anInt1921) % 100; + var64 = Class3_Sub29.method733(12345678, var33).method555(28021, GraphicDefinition.incomingBuffer); + if(-3 == ~chatIcon) { + Class3_Sub28_Sub12.sendGameMessage(var33, 18, var64, (RSString)null, (byte)50, RenderAnimationDefinition.method903(new RSString[]{Class21.aClass94_444, Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-105)); + } else if(1 == chatIcon) { + Class3_Sub28_Sub12.sendGameMessage(var33, 18, var64, (RSString)null, (byte)50, RenderAnimationDefinition.method903(new RSString[]{Class32.aClass94_592, Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-113)); + } else { + Class3_Sub28_Sub12.sendGameMessage(var33, 18, var64, (RSString)null, (byte)50, Class41.method1052(var0 + -29581, var2).method1545((byte)-50)); + } + } + + RSString.incomingOpcode = -1; + return true; + } else { + Class3_Sub31 var26; + if(~RSString.incomingOpcode != -177) { + if(RSString.incomingOpcode != 27) { + if(RSString.incomingOpcode == 2) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntA(-1); + var19 = GraphicDefinition.incomingBuffer.getShortA(-114); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-119); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class79.method1385(modelId, nodeModelId, (byte)-127); + } + + RSString.incomingOpcode = -1; + return true; + } else if(-86 == ~RSString.incomingOpcode) { + Class38_Sub1.anInt2617 = GraphicDefinition.incomingBuffer.getShort(1) * 30; + RSString.incomingOpcode = -1; + Class140_Sub6.anInt2905 = Class3_Sub13_Sub17.anInt3213; + return true; + } else if(~RSString.incomingOpcode == -115) { + Class3_Sub13_Sub29.method305(Class38.aClass87_665, GraphicDefinition.incomingBuffer, Class130.incomingPacketLength, (byte)-126); + RSString.incomingOpcode = -1; + return true; + } else if(65 == RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(var0 ^ 13); + var19 = GraphicDefinition.incomingBuffer.getByteC(true); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-100); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub13_Sub18.method255(modelId, var19, var0 ^ -84); + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode == 234) { + Class3_Sub30_Sub1.method819(false); + Class9.anInt136 = GraphicDefinition.incomingBuffer.getByte((byte)-104); + Class140_Sub6.anInt2905 = Class3_Sub13_Sub17.anInt3213; + RSString.incomingOpcode = -1; + return true; + } else if(var0 != -83) { + return false; + } else if(~RSString.incomingOpcode == -210) { + if(-1 != Class3_Sub28_Sub12.anInt3655) { + Class3_Sub8.method124(48, 0, Class3_Sub28_Sub12.anInt3655); + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode != -192) { + if(-103 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(-116); + var19 = GraphicDefinition.incomingBuffer.getByteS(true); + modelId = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + NPC var39 = Class3_Sub13_Sub24.npcs[nodeModelId]; + if(null != var39) { + Class130.method1772(var19, modelId, 39, var39); + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 159) { + if(~RSString.incomingOpcode == -72) { + var2 = GraphicDefinition.incomingBuffer.getLong(var0 ^ 28); + var58 = Class3_Sub28_Sub17.method686(Class32.method992(GraphicDefinition.incomingBuffer, var0 ^ -29539).method1536(121)); + Class3_Sub30_Sub1.sendMessage(Class41.method1052(-29664, var2).method1545((byte)-50), 6, var58, var0 ^ 82); + RSString.incomingOpcode = -1; + return true; + } else if(-43 != ~RSString.incomingOpcode) { + if(-112 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getShortA(-123); + var19 = GraphicDefinition.incomingBuffer.getIntB((byte)-45); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-109); + counter = GraphicDefinition.incomingBuffer.getLEShort(var0 + 19); + var6 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-107); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub13_Sub18.method256(modelId, 7, var19, (byte)-126, counter << -311274832 | var6); + } + + RSString.incomingOpcode = -1; + return true; + } else if(37 == RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getByteA((byte)122); + var19 = GraphicDefinition.incomingBuffer.getLEShort(-124); + Class163.method2209((byte)-122, nodeModelId, var19); + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -156) { + nodeModelId = GraphicDefinition.incomingBuffer.getByte((byte)-66); + var19 = GraphicDefinition.incomingBuffer.getIntB((byte)-51); + modelId = GraphicDefinition.incomingBuffer.getShortA(var0 + 163); + counter = GraphicDefinition.incomingBuffer.getShort(1); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + var26 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)var19, 0); + if(null != var26) { + Class3_Sub13_Sub18.method254(var26.anInt2602 != counter, var26, false); + } + + Class21.method914(6422, counter, var19, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -132) { + for(nodeModelId = 0; nodeModelId < Class3_Sub13_Sub22.players.length; ++nodeModelId) { + if(Class3_Sub13_Sub22.players[nodeModelId] != null) { + Class3_Sub13_Sub22.players[nodeModelId].anInt2771 = -1; + } + } + + for(nodeModelId = 0; ~Class3_Sub13_Sub24.npcs.length < ~nodeModelId; ++nodeModelId) { + if(null != Class3_Sub13_Sub24.npcs[nodeModelId]) { + Class3_Sub13_Sub24.npcs[nodeModelId].anInt2771 = -1; + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -218) { + nodeModelId = GraphicDefinition.incomingBuffer.getByte((byte)-30); + Class96 var48 = new Class96(); + var19 = nodeModelId >> 340093798; + var48.anInt1360 = nodeModelId & 63; + var48.anInt1351 = GraphicDefinition.incomingBuffer.getByte((byte)-49); + if(~var48.anInt1351 <= -1 && ~var48.anInt1351 > ~Class166.aClass3_Sub28_Sub16Array2072.length) { + if(~var48.anInt1360 != -2 && 10 != var48.anInt1360) { + if(-3 >= ~var48.anInt1360 && 6 >= var48.anInt1360) { + if(var48.anInt1360 == 2) { + var48.anInt1346 = 64; + var48.anInt1350 = 64; + } + + if(-4 == ~var48.anInt1360) { + var48.anInt1346 = 0; + var48.anInt1350 = 64; + } + + if(4 == var48.anInt1360) { + var48.anInt1346 = 128; + var48.anInt1350 = 64; + } + + if(5 == var48.anInt1360) { + var48.anInt1346 = 64; + var48.anInt1350 = 0; + } + + if(-7 == ~var48.anInt1360) { + var48.anInt1346 = 64; + var48.anInt1350 = 128; + } + + var48.anInt1360 = 2; + var48.anInt1356 = GraphicDefinition.incomingBuffer.getShort(var0 + 84); + var48.anInt1347 = GraphicDefinition.incomingBuffer.getShort(1); + var48.anInt1353 = GraphicDefinition.incomingBuffer.getByte((byte)-32); + } + } else { + var48.anInt1359 = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + GraphicDefinition.incomingBuffer.index += 3; + } + + var48.anInt1355 = GraphicDefinition.incomingBuffer.getShort(1); + if(var48.anInt1355 == '\uffff') { + var48.anInt1355 = -1; + } + + RuntimeException_Sub1.aClass96Array2114[var19] = var48; + } + + RSString.incomingOpcode = -1; + return true; + } else if(126 == RSString.incomingOpcode) { + Class3_Sub28_Sub5.anInt3591 = Class130.incomingPacketLength / 8; + + for(nodeModelId = 0; ~nodeModelId > ~Class3_Sub28_Sub5.anInt3591; ++nodeModelId) { + Class114.aLongArray1574[nodeModelId] = GraphicDefinition.incomingBuffer.getLong(-120); + Class3_Sub13_Sub27.aClass94Array3341[nodeModelId] = Class41.method1052(-29664, Class114.aLongArray1574[nodeModelId]); + } + + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -33) { + Class3_Sub13_Sub14.renderNPCs(8169); + RSString.incomingOpcode = -1; + return true; + } else if(-120 == ~RSString.incomingOpcode) { + //Reposition child? + nodeModelId = GraphicDefinition.incomingBuffer.getShortA(-125); + var19 = GraphicDefinition.incomingBuffer.getLEInt(-48); + modelId = GraphicDefinition.incomingBuffer.getShort((byte)74); + counter = GraphicDefinition.incomingBuffer.getShortAs(-58); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class168.method2271(modelId, var19, 1, counter); + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode == 235) { + nodeModelId = GraphicDefinition.incomingBuffer.getByteS(true); + var19 = nodeModelId >> -518983614; + modelId = 3 & nodeModelId; + counter = Class75.anIntArray1107[var19]; + var6 = GraphicDefinition.incomingBuffer.getShort(1); + var30 = GraphicDefinition.incomingBuffer.getInt(); + if('\uffff' == var6) { + var6 = -1; + } + + clanChatIcon = 16383 & var30; + var33 = 16383 & var30 >> 2070792462; + var33 -= Class131.anInt1716; + clanChatIcon -= Class82.anInt1152; + chatIcon = 3 & var30 >> 765199868; + Class50.method1131(chatIcon, 110, modelId, var19, clanChatIcon, counter, var33, var6); + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode == 0) { + var2 = GraphicDefinition.incomingBuffer.getLong(-85); + var4 = (long)GraphicDefinition.incomingBuffer.getShort(var0 + 84); + var29 = (long)GraphicDefinition.incomingBuffer.getTriByte((byte)93); + chatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-106); + boolean var42 = false; + long var35 = var29 + (var4 << -1802335520); + var12 = 0; + label1651: + while(true) { + if(-101 >= ~var12) { + if(chatIcon <= 1) { + if((!Class3_Sub15.aBoolean2433 || Class121.aBoolean1641) && !Class3_Sub13_Sub14.aBoolean3166) { + for(var12 = 0; var12 < Class3_Sub28_Sub5.anInt3591; ++var12) { + if(~var2 == ~Class114.aLongArray1574[var12]) { + var42 = true; + break label1651; + } + } + } else { + var42 = true; + } + } + break; + } + + if(~var35 == ~Class163_Sub2_Sub1.aLongArray4017[var12]) { + var42 = true; + break; + } + + ++var12; + } + + if(!var42 && -1 == ~WorldListEntry.anInt2622) { + Class163_Sub2_Sub1.aLongArray4017[Class149.anInt1921] = var35; + Class149.anInt1921 = (Class149.anInt1921 - -1) % 100; + RSString var52 = Class3_Sub28_Sub17.method686(Class32.method992(GraphicDefinition.incomingBuffer, var0 ^ -29539).method1536(96)); + if(-3 != ~chatIcon && ~chatIcon != -4) { + if(chatIcon != 1) { + Class3_Sub30_Sub1.sendMessage(RenderAnimationDefinition.method903(new RSString[]{RSString.createRSString(""), Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-71), 7, var52, -1); + } else { + Class3_Sub30_Sub1.sendMessage(RenderAnimationDefinition.method903(new RSString[]{RSString.createRSString(""), Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-71), 7, var52, -1); + } + } else { + Class3_Sub30_Sub1.sendMessage(RenderAnimationDefinition.method903(new RSString[]{Class21.aClass94_444, Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-105), 7, var52, -1); + } + } + + RSString.incomingOpcode = -1; + return true; + } else if(-55 != ~RSString.incomingOpcode) { + if(-215 == ~RSString.incomingOpcode) { + Class39.updateSceneGraph(0, true); + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode != -173) { + if(-67 == ~RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-87); + var19 = GraphicDefinition.incomingBuffer.getIntA(-1); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + modelId = 0; + if(Class102.player.class52 != null) { + modelId = Class102.player.class52.method1163(-24861); + } + + Class3_Sub13_Sub18.method256(-1, 3, var19, (byte)-110, modelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode == 171) { + nodeModelId = GraphicDefinition.incomingBuffer.getIntB((byte)-55); + var24 = GraphicDefinition.incomingBuffer.getString(); + modelId = GraphicDefinition.incomingBuffer.getShortA(103); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + Class3_Sub28_Sub7.method566(var24, 0, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -85) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEInt(-79); + var19 = GraphicDefinition.incomingBuffer.getLEShortA((byte)-96); + Class163.method2209((byte)-106, nodeModelId, var19); + RSString.incomingOpcode = -1; + return true; + } else { + RSInterface var25; + if(RSString.incomingOpcode != 22) { + if(RSString.incomingOpcode == 24) { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub28_Sub5.method560(-21556); + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -87) { + Class167.method2269((byte)46); + RSString.incomingOpcode = -1; + return false; + } else if(116 == RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getByte((byte)-62); + if(-1 != ~GraphicDefinition.incomingBuffer.getByte((byte)-124)) { + --GraphicDefinition.incomingBuffer.index; + Class3_Sub13_Sub33.aClass133Array3393[nodeModelId] = new Class133(GraphicDefinition.incomingBuffer); + } else { + Class3_Sub13_Sub33.aClass133Array3393[nodeModelId] = new Class133(); + } + + RSString.incomingOpcode = -1; + Class121.anInt1642 = Class3_Sub13_Sub17.anInt3213; + return true; + } else if(-74 == ~RSString.incomingOpcode) {//npc model + nodeModelId = GraphicDefinition.incomingBuffer.getShortA(-121); + var19 = GraphicDefinition.incomingBuffer.getLEInt(-105); + if(~nodeModelId == -65536) { + nodeModelId = -1; + } + + modelId = GraphicDefinition.incomingBuffer.getLEShort(var0 ^ 19); + if(Class146.updateInterfacePacketCounter(modelId, (byte)-25)) { + Class3_Sub13_Sub18.method256(-1, 2, var19, (byte)-113, nodeModelId); + } + + RSString.incomingOpcode = -1; + return true; + } else if(~RSString.incomingOpcode == -163) { + Class39.updateSceneGraph(var0 ^ -83, false); + RSString.incomingOpcode = -1; + return true; + } else if(165 != RSString.incomingOpcode) { + if(RSString.incomingOpcode == 197) { + Class96.anInt1357 = GraphicDefinition.incomingBuffer.getByte((byte)-104); + Class110.anInt1472 = Class3_Sub13_Sub17.anInt3213; + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 196) { + if(50 != RSString.incomingOpcode) { + if(~RSString.incomingOpcode != -106) { + if(~RSString.incomingOpcode == -143) { + Class3_Sub29.method734(0, GraphicDefinition.incomingBuffer.getString()); + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 26) { + if(4 == RSString.incomingOpcode) { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-121); + if(nodeModelId == '\uffff') { + nodeModelId = -1; + } + + Class86.method1427(true, nodeModelId); + RSString.incomingOpcode = -1; + return true; + } else if(RSString.incomingOpcode != 208) { + Class49.method1125("T1 - " + RSString.incomingOpcode + "," + Class7.anInt2166 + "," + Class24.anInt469 + " - " + Class130.incomingPacketLength, (Throwable)null, (byte)117); + Class167.method2269((byte)46); + return true; + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getTriByte2((byte)-118); + var19 = GraphicDefinition.incomingBuffer.getLEShort(-57); + if(var19 == '\uffff') { + var19 = -1; + } + + Class167.method2266(nodeModelId, var19, (byte)-1); + RSString.incomingOpcode = -1; + return true; + } + } else { + Class65.currentChunkX = GraphicDefinition.incomingBuffer.getByteC(true); + Class107.currentChunkY = GraphicDefinition.incomingBuffer.getByte((byte)-62); + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getInt(); + var19 = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + if(~nodeModelId > 69999) { + var19 += '\u8000'; + } + + if(0 <= nodeModelId) { + var25 = Class7.getRSInterface((byte)118, nodeModelId); + } else { + var25 = null; + } + + if(var25 != null) { + for(counter = 0; var25.itemAmounts.length > counter; ++counter) { + var25.itemAmounts[counter] = 0; + var25.itemIds[counter] = 0; + } + } + + Class10.method852((byte)114, var19); + counter = GraphicDefinition.incomingBuffer.getShort(1); + + for(var6 = 0; counter > var6; ++var6) { + var30 = GraphicDefinition.incomingBuffer.getByteS(true); + if(255 == var30) { + var30 = GraphicDefinition.incomingBuffer.getInt(); + } + + chatIcon = GraphicDefinition.incomingBuffer.getShort(1); + if(null != var25 && ~var6 > ~var25.itemAmounts.length) { + var25.itemAmounts[var6] = chatIcon; + var25.itemIds[var6] = var30; + } + + Class168.method2277(-1 + chatIcon, var6, var30, var19, (byte)41); + } + + if(var25 != null) { + Class20.method909(-9, var25); + } + + Class3_Sub30_Sub1.method819(false); + Class3_Sub28_Sub4.anIntArray3565[Class3_Sub28_Sub15.method633(Class62.anInt944++, 31)] = Class3_Sub28_Sub15.method633(32767, var19); + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getInt(); + var19 = GraphicDefinition.incomingBuffer.getIntB((byte)-79); + modelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-118); + if('\uffff' == modelId) { + modelId = -1; + } + + counter = GraphicDefinition.incomingBuffer.getLEShort(-85); + if(Class146.updateInterfacePacketCounter(counter, (byte)-25)) { + RSInterface var34 = Class7.getRSInterface((byte)115, var19); + ItemDefinition var43; + if(var34.usingScripts) { + Class140_Sub6.method2026((byte)122, var19, nodeModelId, modelId); + var43 = Class38.getItemDefinition(modelId, (byte)70); + CacheIndex.method2143((byte)-128, var43.anInt810, var19, var43.anInt799, var43.anInt786); + Class84.method1420(var19, var43.anInt768, var43.anInt754, var43.anInt792, (byte)-85); + } else { + if(-1 == modelId) { + var34.modelType = 0; + RSString.incomingOpcode = -1; + return true; + } + + var43 = Class38.getItemDefinition(modelId, (byte)91); + var34.anInt182 = var43.anInt786; + var34.anInt164 = 100 * var43.anInt810 / nodeModelId; + var34.modelType = 4; + var34.itemId = modelId; + var34.anInt308 = var43.anInt799; + Class20.method909(117, var34); + } + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + var2 = GraphicDefinition.incomingBuffer.getLong(-93); + modelId = GraphicDefinition.incomingBuffer.getShort(1); + byte var28 = GraphicDefinition.incomingBuffer.getByte(); + var31 = false; + if(-1L != ~(Long.MIN_VALUE & var2)) { + var31 = true; + } + + if(!var31) { + var41 = GraphicDefinition.incomingBuffer.getString(); + Class3_Sub19 var40 = new Class3_Sub19(); + var40.aLong71 = var2; + var40.aClass94_2476 = Class41.method1052(-29664, var40.aLong71); + var40.aByte2472 = var28; + var40.aClass94_2473 = var41; + var40.anInt2478 = modelId; + + for(var33 = -1 + Node.clanSize; ~var33 <= -1; --var33) { + clanChatIcon = Class3_Sub28_Sub15.aClass3_Sub19Array3694[var33].aClass94_2476.method1559(var40.aClass94_2476, var0 ^ 82); + if(-1 == ~clanChatIcon) { + Class3_Sub28_Sub15.aClass3_Sub19Array3694[var33].anInt2478 = modelId; + Class3_Sub28_Sub15.aClass3_Sub19Array3694[var33].aByte2472 = var28; + Class3_Sub28_Sub15.aClass3_Sub19Array3694[var33].aClass94_2473 = var41; + if(~var2 == ~Class3_Sub13_Sub16.aLong3202) { + Class91.aByte1308 = var28; + } + + Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213; + RSString.incomingOpcode = -1; + return true; + } + + if(clanChatIcon < 0) { + break; + } + } + + if(Class3_Sub28_Sub15.aClass3_Sub19Array3694.length <= Node.clanSize) { + RSString.incomingOpcode = -1; + return true; + } + + for(clanChatIcon = Node.clanSize + -1; ~var33 > ~clanChatIcon; --clanChatIcon) { + Class3_Sub28_Sub15.aClass3_Sub19Array3694[1 + clanChatIcon] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[clanChatIcon]; + } + + if(-1 == ~Node.clanSize) { + Class3_Sub28_Sub15.aClass3_Sub19Array3694 = new Class3_Sub19[100]; + } + + Class3_Sub28_Sub15.aClass3_Sub19Array3694[1 + var33] = var40; + if(Class3_Sub13_Sub16.aLong3202 == var2) { + Class91.aByte1308 = var28; + } + + ++Node.clanSize; + } else { + if(~Node.clanSize == -1) { + RSString.incomingOpcode = -1; + return true; + } + + var2 &= Long.MAX_VALUE; + + for(var30 = 0; ~Node.clanSize < ~var30 && (var2 != Class3_Sub28_Sub15.aClass3_Sub19Array3694[var30].aLong71 || ~modelId != ~Class3_Sub28_Sub15.aClass3_Sub19Array3694[var30].anInt2478); ++var30) { + ; + } + + if(var30 < Node.clanSize) { + while(~(-1 + Node.clanSize) < ~var30) { + Class3_Sub28_Sub15.aClass3_Sub19Array3694[var30] = Class3_Sub28_Sub15.aClass3_Sub19Array3694[1 + var30]; + ++var30; + } + + --Node.clanSize; + Class3_Sub28_Sub15.aClass3_Sub19Array3694[Node.clanSize] = null; + } + } + + RSString.incomingOpcode = -1; + Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(-95); + var19 = GraphicDefinition.incomingBuffer.getLEShort(-72); + if(var19 == '\uffff') { + var19 = -1; + } + + modelId = GraphicDefinition.incomingBuffer.getInt(); + counter = GraphicDefinition.incomingBuffer.getShortA(23); + var6 = GraphicDefinition.incomingBuffer.getIntA(-1); + if(~counter == -65536) { + counter = -1; + } + + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + for(var30 = counter; ~var19 <= ~var30; ++var30) { + var36 = ((long)modelId << -1381724512) - -((long)var30); + var47 = (Class3_Sub1)Class124.aClass130_1659.method1780(var36, 0); + if(var47 == null) { + if(-1 == var30) { + var38 = new Class3_Sub1(var6, Class7.getRSInterface((byte)116, modelId).aClass3_Sub1_257.anInt2202); + } else { + var38 = new Class3_Sub1(var6, -1); + } + } else { + var38 = new Class3_Sub1(var6, var47.anInt2202); + var47.method86(-1024); + } + + Class124.aClass130_1659.method1779(1, var38, var36); + } + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getInt(); + var19 = GraphicDefinition.incomingBuffer.getShort(1); + if(69999 < ~nodeModelId) { + var19 += '\u8000'; + } + + if(nodeModelId < 0) { + var25 = null; + } else { + var25 = Class7.getRSInterface((byte)127, nodeModelId); + } + + for(; ~GraphicDefinition.incomingBuffer.index > ~Class130.incomingPacketLength; Class168.method2277(var6 + -1, counter, var30, var19, (byte)46)) { + counter = GraphicDefinition.incomingBuffer.getSmart(true); + var6 = GraphicDefinition.incomingBuffer.getShort(1); + var30 = 0; + if(var6 != 0) { + var30 = GraphicDefinition.incomingBuffer.getByte((byte)-52); + if(-256 == ~var30) { + var30 = GraphicDefinition.incomingBuffer.getInt(); + } + } + + if(var25 != null && ~counter <= -1 && ~var25.itemAmounts.length < ~counter) { + var25.itemAmounts[counter] = var6; + var25.itemIds[counter] = var30; + } + } + + if(var25 != null) { + Class20.method909(-128, var25); + } + + Class3_Sub30_Sub1.method819(false); + Class3_Sub28_Sub4.anIntArray3565[Class3_Sub28_Sub15.method633(Class62.anInt944++, 31)] = Class3_Sub28_Sub15.method633(32767, var19); + RSString.incomingOpcode = -1; + return true; + } + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(1); + var19 = GraphicDefinition.incomingBuffer.getByte((byte)-102); + if(-65536 == ~nodeModelId) { + nodeModelId = -1; + } + + modelId = GraphicDefinition.incomingBuffer.getShort(1); + Class3_Sub13_Sub6.method199(var19, nodeModelId, modelId, -799); + RSString.incomingOpcode = -1; + return true; + } + } else {//cc messahe + var2 = GraphicDefinition.incomingBuffer.getLong(-122); + GraphicDefinition.incomingBuffer.getByte(); + var4 = GraphicDefinition.incomingBuffer.getLong(-124); + var29 = (long)GraphicDefinition.incomingBuffer.getShort(1); + var36 = (long)GraphicDefinition.incomingBuffer.getTriByte((byte)81); + long var44 = (var29 << -164903776) + var36; + clanChatIcon = GraphicDefinition.incomingBuffer.getByte((byte)-40); + boolean var13 = false; + int var14 = 0; + + label1774: + while(true) { + if(var14 >= 100) { + if(1 >= clanChatIcon) { + if((!Class3_Sub15.aBoolean2433 || Class121.aBoolean1641) && !Class3_Sub13_Sub14.aBoolean3166) { + for(var14 = 0; Class3_Sub28_Sub5.anInt3591 > var14; ++var14) { + if(Class114.aLongArray1574[var14] == var2) { + var13 = true; + break label1774; + } + } + } else { + var13 = true; + } + } + break; + } + + if(Class163_Sub2_Sub1.aLongArray4017[var14] == var44) { + var13 = true; + break; + } + + ++var14; + } + + if(!var13 && 0 == WorldListEntry.anInt2622) { + Class163_Sub2_Sub1.aLongArray4017[Class149.anInt1921] = var44; + Class149.anInt1921 = (Class149.anInt1921 + 1) % 100; + var57 = Class3_Sub28_Sub17.method686(Class32.method992(GraphicDefinition.incomingBuffer, 29488).method1536(116)); + if(-3 != ~clanChatIcon && -4 != ~clanChatIcon) { + if(~clanChatIcon == -2) { + Class3_Sub13_Sub11.method221(-1, var57, RenderAnimationDefinition.method903(new RSString[]{Class32.aClass94_592, Class41.method1052(var0 ^ 29581, var2).method1545((byte)-50)}, (byte)-85), Class41.method1052(-29664, var4).method1545((byte)-50), 9); + } else { + + Class3_Sub13_Sub11.method221(-1, var57, RenderAnimationDefinition.method903(new RSString[]{RSString.createRSString(""), Class41.method1052(var0 ^ 29581, var2).method1545((byte)-50)}, (byte)-85), Class41.method1052(-29664, var4).method1545((byte)-50), 9); + + } + } else { + Class3_Sub13_Sub11.method221(-1, var57, RenderAnimationDefinition.method903(new RSString[]{Class21.aClass94_444, Class41.method1052(-29664, var2).method1545((byte)-50)}, (byte)-59), Class41.method1052(var0 + -29581, var4).method1545((byte)-50), 9); + } + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + if(null != Class3_Sub13_Sub10.aFrame3121) { + GameObject.method1862(false, Node.anInt2577, -8914, -1, -1); + } + + byte[] var22 = new byte[Class130.incomingPacketLength]; + GraphicDefinition.incomingBuffer.method811((byte)30, 0, var22, Class130.incomingPacketLength); + var24 = Class3_Sub13_Sub3.method178(var22, -4114, Class130.incomingPacketLength, 0); + if(null == GameShell.frame && (3 == Signlink.anInt1214 || !Signlink.osName.startsWith("win") || Class106.hasInternetExplorer6)) { + Class99.method1596(var24, (byte)127, true); + } else { + Class3_Sub13_Sub24.aClass94_3295 = var24; + RSString.aBoolean2154 = true; + Class15.aClass64_351 = Class38.aClass87_665.method1452(new String(var24.method1568(0), "ISO-8859-1"), true); + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + Class3_Sub30_Sub1.method819(false); + Class149.anInt1925 = GraphicDefinition.incomingBuffer.getShort((byte)59); + Class140_Sub6.anInt2905 = Class3_Sub13_Sub17.anInt3213; + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(-59); + Class3_Sub28_Sub1.method532(nodeModelId, var0 ^ 28185); + Class3_Sub28_Sub4.anIntArray3565[Class3_Sub28_Sub15.method633(31, Class62.anInt944++)] = Class3_Sub28_Sub15.method633(nodeModelId, 32767); + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getShort(var0 + 84); + var19 = GraphicDefinition.incomingBuffer.getByte((byte)-104); + modelId = GraphicDefinition.incomingBuffer.getByte((byte)-128); + counter = GraphicDefinition.incomingBuffer.getByte((byte)-102); + var6 = GraphicDefinition.incomingBuffer.getByte((byte)-81); + var30 = GraphicDefinition.incomingBuffer.getShort(1); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class104.aBooleanArray2169[var19] = true; + Class3_Sub13_Sub32.anIntArray3383[var19] = modelId; + Class166.anIntArray2073[var19] = counter; + Class3_Sub13_Sub29.anIntArray3359[var19] = var6; + Class163_Sub1_Sub1.anIntArray4009[var19] = var30; + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getIntA(var0 ^ 82); + var19 = GraphicDefinition.incomingBuffer.getShortA(19); + modelId = GraphicDefinition.incomingBuffer.getIntA(-1); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class3_Sub31 var23 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)nodeModelId, var0 ^ -83); + var26 = (Class3_Sub31)Class3_Sub13_Sub17.aClass130_3208.method1780((long)modelId, 0); + if(null != var26) { + Class3_Sub13_Sub18.method254(null == var23 || var26.anInt2602 != var23.anInt2602, var26, false); + } + + if(null != var23) { + var23.method86(-1024); + Class3_Sub13_Sub17.aClass130_3208.method1779(1, var23, (long)modelId); + } + + RSInterface var27 = Class7.getRSInterface((byte)113, nodeModelId); + if(var27 != null) { + Class20.method909(var0 + 57, var27); + } + + var27 = Class7.getRSInterface((byte)114, modelId); + if(null != var27) { + Class20.method909(119, var27); + Class151_Sub1.method2104(var27, true, 48); + } + + if(0 != ~Class3_Sub28_Sub12.anInt3655) { + Class3_Sub8.method124(28, 1, Class3_Sub28_Sub12.anInt3655); + } + } + + RSString.incomingOpcode = -1; + return true; + } + } + } else { + for(nodeModelId = 0; ~Class163_Sub1.anIntArray2985.length < ~nodeModelId; ++nodeModelId) { + if(~Class57.anIntArray898[nodeModelId] != ~Class163_Sub1.anIntArray2985[nodeModelId]) { + Class163_Sub1.anIntArray2985[nodeModelId] = Class57.anIntArray898[nodeModelId]; + Class46.method1087(98, nodeModelId); + Class44.anIntArray726[Class3_Sub28_Sub15.method633(Class36.anInt641++, 31)] = nodeModelId; + } + } + + RSString.incomingOpcode = -1; + return true; + } + } + } else { + //set camera + nodeModelId = GraphicDefinition.incomingBuffer.getLEShort(-107); + var19 = GraphicDefinition.incomingBuffer.getShort(1); + modelId = GraphicDefinition.incomingBuffer.getShort(1); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + GraphicDefinition.CAMERA_DIRECTION = nodeModelId; + Class3_Sub9.anInt2309 = modelId; + if(-3 == ~Class133.anInt1753) { + Class139.anInt1823 = Class3_Sub9.anInt2309; + Class3_Sub13_Sub25.anInt3315 = GraphicDefinition.CAMERA_DIRECTION; + } + + Class47.method1098((byte)-117); + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + Class39.parseChunkPacket((byte)-99); + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getIntB((byte)-87); + var19 = GraphicDefinition.incomingBuffer.getShortA(var0 + 92); + modelId = GraphicDefinition.incomingBuffer.getShort(var0 ^ -84); + counter = GraphicDefinition.incomingBuffer.getShortA(-113); + if(Class146.updateInterfacePacketCounter(var19, (byte)-25)) { + Class114.method1708(counter + (modelId << 16), nodeModelId, var0 ^ 2474); + } + + RSString.incomingOpcode = -1; + return true; + } + } + } + } else { + Class162.method2204(GraphicDefinition.incomingBuffer, var0 ^ -43); + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getLEShortA((byte)-113); + var19 = GraphicDefinition.incomingBuffer.getInt(); + modelId = GraphicDefinition.incomingBuffer.getShortA(-107); + if(Class146.updateInterfacePacketCounter(nodeModelId, (byte)-25)) { + Class3_Sub13_Sub18.method255(modelId, var19, 1); + } + + RSString.incomingOpcode = -1; + return true; + } + } else { + nodeModelId = GraphicDefinition.incomingBuffer.getInt(); + var19 = GraphicDefinition.incomingBuffer.getShortA(-112); + Class3_Sub13_Sub23.method281((byte)99, nodeModelId, var19); + RSString.incomingOpcode = -1; + return true; + } + } + } else { + Class163_Sub3.renderPlayers((byte)-122); + RSString.incomingOpcode = -1; + return true; + } + } else { + Class167.anInt2087 = Class3_Sub13_Sub17.anInt3213; + var2 = GraphicDefinition.incomingBuffer.getLong(-110); + if(~var2 == -1L) { + Class161.aClass94_2035 = null; + RSString.incomingOpcode = -1; + RSInterface.aClass94_251 = null; + Class3_Sub28_Sub15.aClass3_Sub19Array3694 = null; + Node.clanSize = 0; + return true; + } else { + var4 = GraphicDefinition.incomingBuffer.getLong(-126); + RSInterface.aClass94_251 = Class41.method1052(-29664, var4); + Class161.aClass94_2035 = Class41.method1052(var0 + -29581, var2); + Player.aByte3953 = GraphicDefinition.incomingBuffer.getByte(); + var6 = GraphicDefinition.incomingBuffer.getByte((byte)-86); + if(255 == var6) { + RSString.incomingOpcode = -1; + return true; + } else { + Node.clanSize = var6; + Class3_Sub19[] var7 = new Class3_Sub19[100]; + + for(chatIcon = 0; ~Node.clanSize < ~chatIcon; ++chatIcon) { + var7[chatIcon] = new Class3_Sub19(); + var7[chatIcon].aLong71 = GraphicDefinition.incomingBuffer.getLong(var0 + 4); + var7[chatIcon].aClass94_2476 = Class41.method1052(var0 + -29581, var7[chatIcon].aLong71); + var7[chatIcon].anInt2478 = GraphicDefinition.incomingBuffer.getShort(1); + var7[chatIcon].aByte2472 = GraphicDefinition.incomingBuffer.getByte(); + var7[chatIcon].aClass94_2473 = GraphicDefinition.incomingBuffer.getString(); + if(~Class3_Sub13_Sub16.aLong3202 == ~var7[chatIcon].aLong71) { + Class91.aByte1308 = var7[chatIcon].aByte2472; + } + } + + var32 = false; + clanChatIcon = Node.clanSize; + + while(-1 > ~clanChatIcon) { + var32 = true; + --clanChatIcon; + + for(var11 = 0; ~clanChatIcon < ~var11; ++var11) { + if(-1 > ~var7[var11].aClass94_2476.method1559(var7[var11 - -1].aClass94_2476, var0 ^ 82)) { + var32 = false; + Class3_Sub19 var9 = var7[var11]; + var7[var11] = var7[1 + var11]; + var7[var11 + 1] = var9; + } + } + + if(var32) { + break; + } + } + + Class3_Sub28_Sub15.aClass3_Sub19Array3694 = var7; + RSString.incomingOpcode = -1; + return true; + } + } + } + } + } + } + } else { + Class107.currentChunkY = GraphicDefinition.incomingBuffer.getByteA((byte)-88); + Class65.currentChunkX = GraphicDefinition.incomingBuffer.getByteS(true); + + while(~Class130.incomingPacketLength < ~GraphicDefinition.incomingBuffer.index) { + RSString.incomingOpcode = GraphicDefinition.incomingBuffer.getByte((byte)-60); + Class39.parseChunkPacket((byte)-82); + } + + RSString.incomingOpcode = -1; + return true; + } + } + } + } + } + } + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "ac.C(" + var0 + ')'); + } + } + + public static void method828(int var0) { + try { + aClass16_84 = null; + aByteArrayArrayArray81 = (byte[][][])null; + aClass94_85 = null; + if(var0 > -88) { + method828(-84); + } + + aClass61_82 = null; + aClass11_88 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ac.A(" + var0 + ')'); + } + } + + static final void method829(int var0) { + try { + Class20.method909(var0 + 111, Class56.aClass11_886); + ++Class75_Sub3.anInt2658; + if(Class21.aBoolean440 && Class85.aBoolean1167) { + int var1 = Class126.anInt1676; + var1 -= Class144.anInt1881; + if(Class3_Sub13_Sub13.anInt3156 > var1) { + var1 = Class3_Sub13_Sub13.anInt3156; + } + + int var2 = Class130.anInt1709; + if(~(Class3_Sub13_Sub13.anInt3156 + aClass11_88.anInt168) > ~(var1 - -Class56.aClass11_886.anInt168)) { + var1 = -Class56.aClass11_886.anInt168 + Class3_Sub13_Sub13.anInt3156 + aClass11_88.anInt168; + } + + var2 -= Class95.anInt1336; + if(~var2 > ~Class134.anInt1761) { + var2 = Class134.anInt1761; + } + + if(Class134.anInt1761 - -aClass11_88.anInt193 < var2 - -Class56.aClass11_886.anInt193) { + var2 = Class134.anInt1761 + aClass11_88.anInt193 + -Class56.aClass11_886.anInt193; + } + + if(var0 != -1) { + aClass61_82 = (Class61)null; + } + + int var4 = var2 - Class3_Sub2.anInt2218; + int var3 = var1 + -Class3_Sub15.anInt2421; + int var6 = var1 + -Class3_Sub13_Sub13.anInt3156 + aClass11_88.anInt247; + int var7 = aClass11_88.anInt208 + -Class134.anInt1761 + var2; + int var5 = Class56.aClass11_886.anInt214; + if(~Class75_Sub3.anInt2658 < ~Class56.aClass11_886.anInt179 && (~var5 > ~var3 || ~(-var5) < ~var3 || var4 > var5 || var4 < -var5)) { + NPC.aBoolean3975 = true; + } + + CS2Script var8; + if(Class56.aClass11_886.anObjectArray295 != null && NPC.aBoolean3975) { + var8 = new CS2Script(); + var8.aClass11_2449 = Class56.aClass11_886; + var8.arguments = Class56.aClass11_886.anObjectArray295; + var8.anInt2447 = var6; + var8.anInt2441 = var7; + Class43.method1065(1073376993, var8); + } + + if(0 == Class3_Sub13_Sub5.anInt3069) { + if(NPC.aBoolean3975) { + if(Class56.aClass11_886.anObjectArray229 != null) { + var8 = new CS2Script(); + var8.anInt2441 = var7; + var8.aClass11_2438 = Class27.aClass11_526; + var8.anInt2447 = var6; + var8.arguments = Class56.aClass11_886.anObjectArray229; + var8.aClass11_2449 = Class56.aClass11_886; + Class43.method1065(1073376993, var8); + } + RSInterface withInter = Class27.aClass11_526; + if (withInter == null) { + withInter = Class56.aClass11_886; + } + Class3_Sub13_Sub1.outgoingBuffer.putOpcode(79); + ++Class23.anInt456; + Class3_Sub13_Sub1.outgoingBuffer.putIntB(-93, Class56.aClass11_886.anInt279); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(var0 ^ 0, withInter.anInt191); + Class3_Sub13_Sub1.outgoingBuffer.putInt(-125, withInter.anInt279); + Class3_Sub13_Sub1.outgoingBuffer.putLEShort(-1, Class56.aClass11_886.anInt191); + + if(Class27.aClass11_526 != null) {// && client.method42(Class56.aClass11_886) != null) { + if (Client.method42(Class56.aClass11_886) != null) { + System.out.println("Shouldn't be sending packet, enabled to fix banking tabs though."); + } + } + else { + System.out.println("Could not send switch item packet, second interface is null!"); + } + } else if((-2 == ~Class66.anInt998 || Class3_Sub13_Sub39.method353(-1 + Class3_Sub13_Sub34.anInt3415, ~var0)) && Class3_Sub13_Sub34.anInt3415 > 2) { + Class132.method1801((byte)-97); + } else if(~Class3_Sub13_Sub34.anInt3415 < -1) { + Class3_Sub13_Sub8.method203(96); + } + + Class56.aClass11_886 = null; + } + + } else { + if(-2 > ~Class75_Sub3.anInt2658) { + Class56.aClass11_886 = null; + } + + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "ac.F(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Player.java b/09HDscape-client/src/org/runite/jagex/Player.java new file mode 100644 index 000000000..0455b6324 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Player.java @@ -0,0 +1,443 @@ +package org.runite.jagex; + +final class Player extends Class140_Sub4 { + + static int[] anIntArray3951 = new int[4]; + int anInt3952 = -1; + static byte aByte3953; + static int[] anIntArray3954 = new int[100]; + int headIcon = -1; + int teamId = 0; + static RSString aClass94_3957 = RSString.createRSString("Gestionnaire de saisie charg-B"); + private int anInt3958 = 0; + static int[] anIntArray3959 = new int[2]; + int COMBAT_LEVEL = 0; + static RSString aClass94_3961 = RSString.createRSString("Forced tweening / animation smoothing ENABLED(Q"); + Class52 class52; + int anInt3963 = -1; + static RSString aClass94_3964 = RSString.createRSString("_labels"); + int anInt3965 = 0; + int anInt3966 = -1; + RSString displayName; + boolean aBoolean3968 = false; + int anInt3969 = 0; + int anInt3970 = -1; + static RSString aClass94_3971 = RSString.createRSString("www)2wtqa"); + int skullIcon = -1; + int anInt3973 = -1; + int anInt3974 = 0; + + + final int getSize(byte var1) { + try { + if(null != this.class52 && 0 != ~this.class52.pnpcId) { + return Node.method522(this.class52.pnpcId, var1 + 26998).size; + } else { + if(var1 != 114) { + this.hasDefinitions((byte)-22); + } + + return super.getSize((byte)114); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "e.H(" + var1 + ')'); + } + } + + final int getRenderAnimationId(int var1) { + try { + if(var1 != -1) { + this.finalize(); + } + + return this.renderAnimationId; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "e.B(" + var1 + ')'); + } + } + + final void parseAppearance(int var1, RSByteBuffer buffer) { + try { + buffer.index = 0; + int var3 = buffer.getByte((byte)-105); + int npcId = -1; + int var4 = 1 & var3; + boolean var6 = ~(var3 & 4) != -1; + int var7 = super.getSize((byte)114); + int[] look = new int[12]; + this.setSize(1 + (var3 >> 3 & 7), 2); + this.anInt3958 = 3 & var3 >> 6; + this.anInt2819 += (-var7 + this.getSize((byte)114)) * 64; + this.anInt2829 += 64 * (this.getSize((byte)114) + -var7); + this.skullIcon = buffer.getByte(); + this.headIcon = buffer.getByte(); + this.teamId = 0; + + int var11; + int var12; + int outfit; + int var14; + for(int var10 = 0; -13 < ~var10; ++var10) { + var11 = buffer.getByte((byte)-29); + if(~var11 != -1) { + var12 = buffer.getByte((byte)-109); + outfit = (var11 << 8) + var12; + if(~var10 == -1 && -65536 == ~outfit) { + npcId = buffer.getShort(1); + this.teamId = buffer.getByte((byte)-24); + break; + } + + if('\u8000' <= outfit) { + int equipId = outfit - '\u8000'; + if (equipId > Class75_Sub4.anIntArray2664.length) { + System.err.println("Player->parseAppearance()-> Array length = " + Class75_Sub4.anIntArray2664.length + ", equipId=" + equipId + ", item def size=" + Class3_Sub13_Sub23.itemDefinitionSize); + continue; + } + outfit = Class75_Sub4.anIntArray2664[equipId]; + look[var10] = Class3_Sub13_Sub29.bitwiseOr(1073741824, outfit); + var14 = Class38.getItemDefinition(outfit, (byte)119).teamId; + if(var14 != 0) { + this.teamId = var14; + } + } else { + look[var10] = Class3_Sub13_Sub29.bitwiseOr(-256 + outfit, Integer.MIN_VALUE); + } + } else { + look[var10] = 0; + } + } + + int[] colors = new int[5]; + + for(var11 = 0; var11 < 5; ++var11) { + var12 = buffer.getByte((byte)-94); + if(-1 < ~var12 || var12 >= Class15.aShortArrayArray344[var11].length) { + var12 = 0; + } + + colors[var11] = var12; + } + + this.renderAnimationId = buffer.getShort(1); + long var20 = buffer.getLong(-99); + this.displayName = Class41.method1052(-29664, var20).method1545((byte)-50); + this.COMBAT_LEVEL = buffer.getByte((byte)-41); + if(var6) { + this.anInt3974 = buffer.getShort(1); + this.anInt3965 = this.COMBAT_LEVEL; + this.anInt3970 = -1; + } else { + this.anInt3974 = 0; + this.anInt3965 = buffer.getByte((byte)-119); + this.anInt3970 = buffer.getByte((byte)-116); + if(-256 == ~this.anInt3970) { + this.anInt3970 = -1; + } + } + + outfit = this.anInt3969; + this.anInt3969 = buffer.getByte((byte)-87); + if(-1 == ~this.anInt3969) { + Class162.method2203(this, 8); + } else { + int var15 = this.anInt3966; + int var16 = this.anInt3963; + int var17 = this.anInt3973; + var14 = this.anInt3952; + this.anInt3952 = buffer.getShort(1); + this.anInt3966 = buffer.getShort(1); + this.anInt3963 = buffer.getShort(1); + this.anInt3973 = buffer.getShort(1); + if(this.anInt3969 != outfit || ~this.anInt3952 != ~var14 || ~this.anInt3966 != ~var15 || var16 != this.anInt3963 || ~this.anInt3973 != ~var17) { + Node.method518(this, -110); + } + } + + if(null == this.class52) { + this.class52 = new Class52(); + } + + var14 = this.class52.pnpcId; + this.class52.method1161(colors, npcId, ~var4 == -2, 0, look, this.renderAnimationId); + if(~var14 != ~npcId) { + this.anInt2819 = 128 * this.anIntArray2767[0] + this.getSize((byte)114) * 64; + this.anInt2829 = 128 * this.anIntArray2755[0] - -(64 * this.getSize((byte)114)); + } + + if(this.aClass127_Sub1_2801 != null) { + this.aClass127_Sub1_2801.method1759(); + } + + } catch (RuntimeException var18) { + throw Class44.method1067(var18, "e.P(" + var1 + ',' + (buffer != null?"{...}":"null") + ')'); + } + } + + final void animate(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9, int var11, Class127_Sub1 var12) { + try { + if(this.class52 != null) { + AnimationDefinition var13 = this.anInt2771 != -1 && 0 == this.anInt2828?Client.getAnimationDefinition(this.anInt2771, (byte)-20):null; + AnimationDefinition var14 = 0 != ~this.anInt2764 && !this.aBoolean3968 && (~this.anInt2764 != ~this.method1965(false).anInt368 || var13 == null)?Client.getAnimationDefinition(this.anInt2764, (byte)-20):null; + Model var15 = this.class52.method1165(this.aClass145Array2809, this.anInt2776, var14, var13, this.anInt2802, this.anInt2793, -120, this.anInt2760, true, this.anInt2832, this.anInt2813); + int var16 = Class118.method1727((byte)123); + if(HDToolKit.highDetail && Class3_Sub24_Sub3.anInt3492 < 96 && ~var16 < -51) { + Class3_Sub1.method90(1); + } + + int var17; + if(0 != Class3_Sub13_Sub13.anInt3148 && var16 < 50) { + for(var17 = 50 - var16; Class56.anInt893 < var17; ++Class56.anInt893) { + Class3_Sub6.aByteArrayArray2287[Class56.anInt893] = new byte[102400]; + } + + while(Class56.anInt893 > var17) { + --Class56.anInt893; + Class3_Sub6.aByteArrayArray2287[Class56.anInt893] = null; + } + } + + if(var15 != null) { + this.anInt2820 = var15.method1871(); + Model var23; + if(Class140_Sub6.aBoolean2910 && (-1 == this.class52.pnpcId || Node.method522(this.class52.pnpcId, 27112).aBoolean1249)) { + var23 = Class140_Sub3.method1957(160, this.aBoolean2810, var14 == null?var13:var14, this.anInt2819, 0, this.anInt2829, 0, 1, var15, var1, null != var14?this.anInt2813:this.anInt2832, this.anInt2831, 240, (byte)-49); + if(HDToolKit.highDetail) { + float var18 = HDToolKit.method1852(); + float var19 = HDToolKit.method1839(); + HDToolKit.method1851(); + HDToolKit.method1825(var18, -150.0F + var19); + var23.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, (Class127_Sub1)null); + HDToolKit.method1830(); + HDToolKit.method1825(var18, var19); + } else { + var23.animate(0, var2, var3, var4, var5, var6, var7, var8, -1L, var11, (Class127_Sub1)null); + } + } + + if(Class102.player == this) { + for(var17 = RuntimeException_Sub1.aClass96Array2114.length + -1; -1 >= ~var17; --var17) { + Class96 var27 = RuntimeException_Sub1.aClass96Array2114[var17]; + if(var27 != null && ~var27.anInt1355 != 0) { + int var21; + int var20; + if(-2 == ~var27.anInt1360 && 0 <= var27.anInt1359 && ~Class3_Sub13_Sub24.npcs.length < ~var27.anInt1359) { + NPC var24 = Class3_Sub13_Sub24.npcs[var27.anInt1359]; + if(null != var24) { + var20 = var24.anInt2819 / 32 - Class102.player.anInt2819 / 32; + var21 = -(Class102.player.anInt2829 / 32) + var24.anInt2829 / 32; + this.method1979((Class127_Sub1)null, var21, var15, var20, var6, var11, 2047, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); + } + } + + if(var27.anInt1360 == 2) { + int var29 = 4 * (-Class131.anInt1716 + var27.anInt1356) + 2 + -(Class102.player.anInt2819 / 32); + var20 = 2 + (4 * (var27.anInt1347 - Class82.anInt1152) - Class102.player.anInt2829 / 32); + this.method1979((Class127_Sub1)null, var20, var15, var29, var6, var11, 2047, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); + } + + if(-11 == ~var27.anInt1360 && var27.anInt1359 >= 0 && ~Class3_Sub13_Sub22.players.length < ~var27.anInt1359) { + Player var28 = Class3_Sub13_Sub22.players[var27.anInt1359]; + if(null != var28) { + var20 = -(Class102.player.anInt2819 / 32) + var28.anInt2819 / 32; + var21 = var28.anInt2829 / 32 + -(Class102.player.anInt2829 / 32); + this.method1979((Class127_Sub1)null, var21, var15, var20, var6, var11, 2047, var1, var8, var5, var4, var2, var27.anInt1355, var3, var7); + } + } + } + } + } + + this.method1971(var15, (byte)-103); + this.method1969((byte)110, var15, var1); + var23 = null; + if(!this.aBoolean3968 && 0 != ~this.anInt2842 && this.anInt2805 != -1) { + GraphicDefinition var26 = RenderAnimationDefinition.getGraphicDefinition((byte)42, this.anInt2842); + var23 = var26.method966(this.anInt2826, (byte)-30, this.anInt2805, this.anInt2761); + if(var23 != null) { + var23.method1897(0, -this.anInt2799, 0); + if(var26.aBoolean536) { + if(Class3_Sub13_Sub16.anInt3198 != 0) { + var23.method1896(Class3_Sub13_Sub16.anInt3198); + } + + if(0 != Class3_Sub28_Sub9.anInt3623) { + var23.method1886(Class3_Sub28_Sub9.anInt3623); + } + + if(Class3_Sub13_Sub9.anInt3111 != 0) { + var23.method1897(0, Class3_Sub13_Sub9.anInt3111, 0); + } + } + } + } + + Model var25 = null; + if(!this.aBoolean3968 && this.anObject2796 != null) { + if(Class44.anInt719 >= this.anInt2778) { + this.anObject2796 = null; + } + + if(~this.anInt2797 >= ~Class44.anInt719 && this.anInt2778 > Class44.anInt719) { + if(!(this.anObject2796 instanceof Class140_Sub3)) { + var25 = (Model)this.anObject2796; + } else { + var25 = (Model)((Class140_Sub3)this.anObject2796).method1963(3); + } + + var25.method1897(this.anInt2782 + -this.anInt2819, this.anInt2812 + -this.anInt2831, this.anInt2833 + -this.anInt2829); + if(-513 != ~this.anInt2806) { + if(~this.anInt2806 != -1025) { + if(-1537 == ~this.anInt2806) { + var25.method1885(); + } + } else { + var25.method1874(); + } + } else { + var25.method1900(); + } + } + } + + if(HDToolKit.highDetail) { + var15.aBoolean2699 = true; + var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + if(var23 != null) { + var23.aBoolean2699 = true; + var23.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + } + } else { + if(null != var23) { + var15 = ((Class140_Sub1_Sub2)var15).method1943(var23); + } + + if(var25 != null) { + var15 = ((Class140_Sub1_Sub2)var15).method1943(var25); + } + + var15.aBoolean2699 = true; + var15.animate(var1, var2, var3, var4, var5, var6, var7, var8, var9, var11, this.aClass127_Sub1_2801); + } + + if(null != var25) { + if(this.anInt2806 == 512) { + var25.method1885(); + } else if(1024 == this.anInt2806) { + var25.method1874(); + } else if(1536 == this.anInt2806) { + var25.method1900(); + } + + var25.method1897(-this.anInt2782 + this.anInt2819, -this.anInt2812 + this.anInt2831, -this.anInt2833 + this.anInt2829); + } + + } + } + } catch (RuntimeException var22) { + throw Class44.method1067(var22, "e.IA(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var11 + ',' + (var12 != null?"{...}":"null") + ')'); + } + } + + private final void method1979(Class127_Sub1 var1, int var2, Model var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, int var13, int var14, int var15) { + try { + int var16 = var4 * var4 - -(var2 * var2); + if(-17 >= ~var16 && -360001 <= ~var16) { + int var17 = (int)(325.949D * Math.atan2((double)var4, (double)var2)) & var7; + Model var18 = Class128.method1763(true, var17, this.anInt2829, var13, this.anInt2819, var3, this.anInt2831); + if(var18 != null) { + if(HDToolKit.highDetail) { + float var19 = HDToolKit.method1852(); + float var20 = HDToolKit.method1839(); + HDToolKit.method1851(); + HDToolKit.method1825(var19, var20 - 150.0F); + var18.animate(0, var12, var14, var11, var10, var5, var15, var9, -1L, var6, var1); + HDToolKit.method1830(); + HDToolKit.method1825(var19, var20); + } else { + var18.animate(0, var12, var14, var11, var10, var5, var15, var9, -1L, var6, var1); + } + } + + } + } catch (RuntimeException var21) { + throw Class44.method1067(var21, "e.N(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ',' + var8 + ',' + var9 + ',' + var10 + ',' + var11 + ',' + var12 + ',' + var13 + ',' + var14 + ',' + var15 + ')'); + } + } + + final boolean hasDefinitions(byte var1) { + try { + if(var1 != 17) { + anIntArray3954 = (int[])null; + } + + return this.class52 != null; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "e.L(" + var1 + ')'); + } + } + + final RSString getName(int var1) { + try { + RSString var2 = this.displayName; + if(var1 != 0) { + this.animate(-63, 126, 58, -9, -74, -119, -45, -114, -62L, -76, (Class127_Sub1)null); + } + + if(Class3_Sub30_Sub1.aClass94Array3802 != null) { + var2 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub30_Sub1.aClass94Array3802[this.anInt3958], var2}, (byte)-92); + } + + if(null != OutputStream_Sub1.aClass94Array45) { + var2 = RenderAnimationDefinition.method903(new RSString[]{var2, OutputStream_Sub1.aClass94Array45[this.anInt3958]}, (byte)-128); + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "e.Q(" + var1 + ')'); + } + } + + final void method1867(int var1, int var2, int var3, int var4, int var5) {} + + final void method1981(byte var1, int var2, boolean var3, int var4) { + try { + super.method1967(var1 + -128, this.getSize((byte)114), var2, var4, var3); + if(var1 != 126) { + aClass94_3964 = (RSString)null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "e.O(" + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + protected final void finalize() {} + + public static void method1982(byte var0) { + try { + aClass94_3971 = null; + aClass94_3957 = null; + anIntArray3951 = null; + aClass94_3961 = null; + anIntArray3959 = null; + if(var0 <= 116) { + method1982((byte)-48); + } + + anIntArray3954 = null; + aClass94_3964 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "e.R(" + var0 + ')'); + } + } + + final int method1871() { + try { + return this.anInt2820; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "e.MA()"); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/RSByteBuffer.java b/09HDscape-client/src/org/runite/jagex/RSByteBuffer.java new file mode 100644 index 000000000..21c41eaf2 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/RSByteBuffer.java @@ -0,0 +1,1289 @@ +package org.runite.jagex; +import java.math.BigInteger; + +import org.runite.Configurations; + +class RSByteBuffer extends Class3 { + + byte[] buffer; + static int[] anIntArray2591; + static int anInt2592; + private static RSString aClass94_2593 = RSString.createRSString("Loaded interfaces"); + static RSString aClass94_2594 = RSString.createRSString("Polices charg-Bes"); + int index; + static RSString[] aClass94Array2596 = null; + static RSString aClass94_2597 = aClass94_2593; + static RSString aClass94_2598 = RSString.createRSString("
"); + static RSString aClass94_2599 = RSString.createRSString("d-Broulement:"); + static Class3_Sub28_Sub3 aClass3_Sub28_Sub3_2600; + static Class151_Sub1[] aClass151_Sub1Array2601 = new Class151_Sub1[29]; //TODO + + + final int getShort(int var1) { + try { + if(var1 != 1) { + this.putByteA(-57, 26); + } + + this.index += 2; + return (this.buffer[-2 + this.index] << 8 & '\uff00') + (this.buffer[-1 + this.index] & 255); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.EB(" + var1 + ')'); + } + } + + final void putInt(int var1, int value) { + try { + if(var1 > -119) { + aClass94_2593 = (RSString)null; + } + + this.buffer[this.index++] = (byte)(value >> 24); + this.buffer[this.index++] = (byte)(value >> 16); + this.buffer[this.index++] = (byte)(value >> 8); + this.buffer[this.index++] = (byte)value; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.UC(" + var1 + ',' + value + ')'); + } + } + + final void method739(int var1, int var2, long var3) { + try { + --var2; + if(~var2 <= -1 && -8 <= ~var2) { + if(var1 == 0) { + for(int var5 = var2 * 8; 0 <= var5; var5 -= 8) { + this.buffer[this.index++] = (byte)((int)(var3 >> var5)); + } + + } + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.OB(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final void putLong(long var1, int var3) { + try { + this.buffer[this.index++] = (byte)((int)(var1 >> 56)); + this.buffer[this.index++] = (byte)((int)(var1 >> 48)); + if(var3 == -2037491440) { + this.buffer[this.index++] = (byte)((int)(var1 >> 40)); + this.buffer[this.index++] = (byte)((int)(var1 >> 32)); + this.buffer[this.index++] = (byte)((int)(var1 >> 24)); + this.buffer[this.index++] = (byte)((int)(var1 >> 16)); + this.buffer[this.index++] = (byte)((int)(var1 >> 8)); + this.buffer[this.index++] = (byte)((int)var1); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "wa.AC(" + var1 + ',' + var3 + ')'); + } + } + + final int method741(byte var1) { + try { + byte var2 = this.buffer[this.index++]; + if(var1 < 112) { + aClass94_2599 = (RSString)null; + } + + int var3; + for(var3 = 0; 0 > var2; var2 = this.buffer[this.index++]) { + var3 = (127 & var2 | var3) << 7; + } + + return var2 | var3; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.WA(" + var1 + ')'); + } + } + + final void method742(int var1, int var2) { + try { + this.buffer[-4 + this.index + -var2] = (byte)(var2 >> 24); + this.buffer[-var2 + this.index - 3] = (byte)(var2 >> 16); + this.buffer[-2 + this.index + -var2] = (byte)(var2 >> 8); + if(var1 < 78) { + this.method771(-102, 37); + } + + this.buffer[-var2 + this.index + -1] = (byte)var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.VB(" + var1 + ',' + var2 + ')'); + } + } + + final void putByteS(int var1, int var2) { + try { + this.buffer[this.index++] = (byte)(-var2 + 128); + if(var1 != 10213) { + this.putIntB(-121, -23); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.PC(" + var1 + ',' + var2 + ')'); + } + } + + static final void method744(boolean var0) { + try { + if(!var0) { + method784(-10, -32, -21); + } + + ++Class148.anInt1908; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wa.HA(" + var0 + ')'); + } + } + + final void putString(int var1, RSString var2) { + try { + this.index += var2.method1580(true, this.buffer, this.index, var1, var2.length(-65)); + this.buffer[this.index++] = 0; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.LA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final void method746(byte var0) { + try { + Class67.aClass93_1013.method1524(3); + if(var0 == -29) { + ; + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wa.VC(" + var0 + ')'); + } + } + + final int getShortAs(int var1) { + try { + this.index += 2; + int var2 = (this.buffer[-2 + this.index] << 8 & '\uff00') - -(-128 + this.buffer[this.index + -1] & 255); + if(var1 != -58) { + this.getByte(); + } + + if(var2 > 32767) { + var2 -= 65536; + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.NA(" + var1 + ')'); + } + } + + final int getInt() { + try { + this.index += 4; + return ((255 & this.buffer[this.index - 4]) << 24) + (16711680 & this.buffer[this.index + -3] << 16) + (((255 & this.buffer[this.index - 2]) << 8) - -(this.buffer[this.index - 1] & 255)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.KA(" + -1 + ')'); + } + } + + final byte method749(boolean var1) { + try { + return var1?-79:(byte)(-this.buffer[this.index++] + 128); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.JB(" + var1 + ')'); + } + } + + final RSString method750(byte var1) { + try { + if(var1 != 78) { + return (RSString)null; + } else if(this.buffer[this.index] != 0) { + return this.getString(); + } else { + ++this.index; + return null; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.IB(" + var1 + ')'); + } + } + + final int getByteA(byte var1) { + try { + int var2 = 122 / ((30 - var1) / 63); + return 255 & this.buffer[this.index++] - 128; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.DC(" + var1 + ')'); + } + } + + + final void putByte(byte var1, int var2) { + try { + this.buffer[this.index++] = (byte)var2; + if(var1 >= -5) { + this.method757(-77, -126); + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.RA(" + var1 + ',' + var2 + ')'); + } + } + + final void putBytes(byte[] var1, int var2, int var3, int var4) { + try { + int var5 = var2; + if(var4 >= 37) { + while(~var5 > ~(var2 + var3)) { + this.buffer[this.index++] = var1[var5]; + ++var5; + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.QC(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final int getByteS(boolean var1) { + try { + if(!var1) { + this.index = 61; + } + + return -this.buffer[this.index++] + 128 & 255; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.PB(" + var1 + ')'); + } + } + + final int getTriByte2(byte var1) { + try { + this.index += 3; + int var2 = 40 % ((-7 - var1) / 47); + return ((this.buffer[this.index + -2] & 255) << 8) + ((this.buffer[-1 + this.index] & 255) << 16) + (this.buffer[-3 + this.index] & 255); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.BA(" + var1 + ')'); + } + } + + final long getLong(int var1) { + try { + if(var1 > -75) { + return -1L; + } else { + long var2 = (long)this.getInt() & 4294967295L; + long var4 = 4294967295L & (long)this.getInt(); + return var4 + (var2 << 32); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.GA(" + var1 + ')'); + } + } + + final void method757(int var1, int var2) { + try { + this.buffer[this.index++] = (byte)var1; + if(var2 < 54) { + this.method749(false); + } + + this.buffer[this.index++] = (byte)(var1 >> 8); + this.buffer[this.index++] = (byte)(var1 >> 16); + this.buffer[this.index++] = (byte)(var1 >> 24); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.AB(" + var1 + ',' + var2 + ')'); + } + } + + final int getShortA(int var1) { + try { + this.index += 2; + int var2 = -90 / ((var1 - -58) / 43); + return (this.buffer[-1 + this.index] - 128 & 255) + ('\uff00' & this.buffer[-2 + this.index] << 8); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.LC(" + var1 + ')'); + } + } + + + final void putIntB(int var1, int var2) { + try { + this.buffer[this.index++] = (byte)(var2 >> 16); + this.buffer[this.index++] = (byte)(var2 >> 24); + if(var1 >= -56) { + this.method768(82, 22); + } + + this.buffer[this.index++] = (byte)var2; + this.buffer[this.index++] = (byte)(var2 >> 8); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.MC(" + var1 + ',' + var2 + ')'); + } + } + + RSByteBuffer(int var1) { + try { + this.buffer = Class134.method1807(66, var1); + this.index = 0; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.(" + var1 + ')'); + } + } + + final byte getByte() { + try { + return this.buffer[this.index++]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.TA(" + -1 + ")"); + } + } + + final RSString getGJString2(int var1) { + try { + byte var2 = this.buffer[this.index++]; + if(var1 < 50) { + this.buffer = (byte[])null; + } + + if(0 != var2) { + throw new IllegalStateException("Bad version number in gjstr2"); + } else { + int var3 = this.index; + + while(-1 != ~this.buffer[this.index++]) { + ; + } + + return Class3_Sub13_Sub3.method178(this.buffer, -4114, this.index - (var3 - -1), var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.DA(" + var1 + ')'); + } + } + + final void method762(float var1, byte var2) { + try { + int var3 = Float.floatToRawIntBits(var1); + this.buffer[this.index++] = (byte)var3; + if(var2 > 63) { + this.buffer[this.index++] = (byte)(var3 >> 8); + this.buffer[this.index++] = (byte)(var3 >> 16); + this.buffer[this.index++] = (byte)(var3 >> 24); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.CC(" + var1 + ',' + var2 + ')'); + } + } + + final byte method763(byte var1) { + try { + return var1 < 98?95:(byte)(-this.buffer[this.index++] + 0); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.BC(" + var1 + ')'); + } + } + + final void method764(int var1, int var2, byte[] var3, byte var4) { + try { + if(var4 != 93) { + method802(122, true); + } + + for(int var5 = var1; var1 + var2 > var5; ++var5) { + var3[var5] = this.buffer[this.index++]; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.SB(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final void putLEShortA(int var1) { + try { + this.buffer[this.index++] = (byte)(var1 + 128); + this.buffer[this.index++] = (byte)(var1 >> 8); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.MA(" + var1 + ')'); + } + } + + final int getLEShort(int var1) { + try { + this.index += 2; + return var1 >= -54?-17:(255 & this.buffer[this.index - 2]) + ('\uff00' & this.buffer[this.index - 1] << 8); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.BB(" + var1 + ')'); + } + } + + public static void method767(int var0) { + try { + aClass94_2599 = null; + anIntArray2591 = null; + aClass94_2597 = null; + aClass3_Sub28_Sub3_2600 = null; + aClass94_2594 = null; + aClass94Array2596 = null; + aClass94_2593 = null; + aClass151_Sub1Array2601 = null; + aClass94_2598 = null; + if(var0 != 0) { + anIntArray2591 = (int[])null; + } + + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wa.IC(" + var0 + ')'); + } + } + + final void method768(int var1, int var2) { + try { + if(var1 != -32769) { + this.putInt(97, -9); + } + + if(0 <= var2 && ~var2 > -129) { + this.putByte((byte)-10, var2); + } else if(0 <= var2 && ~var2 > -32769) { + this.putShort('\u8000' + var2); + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.UA(" + var1 + ',' + var2 + ')'); + } + } + + final void method769(byte var1, int var2) { + try { + this.buffer[-1 + -var2 + this.index] = (byte)var2; + int var3 = 120 % ((-78 - var1) / 48); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.MB(" + var1 + ',' + var2 + ')'); + } + } + + final void method770(int[] var1, int var2, int var3, int var4) { + try { + int var5 = this.index; + this.index = var3; + int var6 = (-var3 + var4) / 8; + + for(int var7 = 0; var6 > var7; ++var7) { + int var10 = -957401312; + int var8 = this.getInt(); + int var9 = this.getInt(); + int var12 = 32; + + for(int var11 = -1640531527; var12-- > 0; var8 -= (var9 >>> 5 ^ var9 << 4) + var9 ^ var1[var10 & 3] + var10) { + var9 -= var1[(6754 & var10) >>> 11] + var10 ^ var8 + (var8 >>> 5 ^ var8 << 4); + var10 -= var11; + } + + this.index -= 8; + this.putInt(-122, var8); + this.putInt(-121, var9); + } + + if(var2 <= 102) { + anIntArray2591 = (int[])null; + } + + this.index = var5; + } catch (RuntimeException var13) { + throw Class44.method1067(var13, "wa.SC(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void method771(int var1, int var2) { + try { + if(~(-128 & var2) != -1) { + if(-1 != ~(-16384 & var2)) { + if((var2 & -2097152) != 0) { + if(0 != (-268435456 & var2)) { + this.putByte((byte)-64, var2 >>> 28 | 128); + } + + this.putByte((byte)-80, 128 | var2 >>> 21); + } + + this.putByte((byte)-100, 128 | var2 >>> 14); + } + + this.putByte((byte)-21, var2 >>> 7 | 128); + } + + this.putByte((byte)-46, var2 & 127); + if(var1 != 17038) { + aClass94_2594 = (RSString)null; + } + + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.DB(" + var1 + ',' + var2 + ')'); + } + } + + final long method772(int var1, int var2) { + try { + --var1; + if(var2 <= var1 && ~var1 >= -8) { + long var4 = 0L; + + for(int var3 = var1 * 8; ~var3 <= -1; var3 -= 8) { + var4 |= ((long)this.buffer[this.index++] & 255L) << var3; + } + + return var4; + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.VA(" + var1 + ',' + var2 + ')'); + } + } + + final int method773(byte var1) { + try { + if(var1 >= -120) { + return 3; + } else { + int var3 = this.getSmart(true); + + int var2; + for(var2 = 0; 32767 == var3; var2 += 32767) { + var3 = this.getSmart(true); + } + + var2 += var3; + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.UB(" + var1 + ')'); + } + } + + final void method774(int var1, int var2, byte[] var3, int var4) { + try { + if(var1 == 2) { + for(int var5 = var4 - (-var2 - -1); ~var4 >= ~var5; --var5) { + var3[var5] = this.buffer[this.index++]; + } + + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "wa.HC(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final void putIntA(int var1) { + try { + this.buffer[this.index++] = (byte)(var1 >> 8); + this.buffer[this.index++] = (byte)var1; + this.buffer[this.index++] = (byte)(var1 >> 24); + this.buffer[this.index++] = (byte)(var1 >> 16); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.GC(" + var1 + ')'); + } + } + + final RSString getString() { + try { + int var2 = this.index; + + while(0 != this.buffer[this.index++]) { + ; + } + + return Class3_Sub13_Sub3.method178(this.buffer, -4114, -var2 + (this.index - 1), var2); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.FC()"); + } + } + + static final void method777(Class91[] var0, boolean var1, int var2, int var3, int var4, int var5, int var6, byte[] var7) { + try { + int var10; + int var11; + if(!var1) { + for(int var9 = 0; 4 > var9; ++var9) { + for(var10 = 0; -65 < ~var10; ++var10) { + for(var11 = 0; ~var11 > -65; ++var11) { + if(-1 > ~(var5 - -var10) && var10 + var5 < 103 && ~(var3 + var11) < -1 && ~(var11 + var3) > -104) { + var0[var9].anIntArrayArray1304[var10 + var5][var3 - -var11] = Class3_Sub28_Sub15.method633(var0[var9].anIntArrayArray1304[var10 + var5][var3 - -var11], -16777217); + } + } + } + } + } + + RSByteBuffer var20 = new RSByteBuffer(var7); + byte var8; + if(!var1) { + var8 = 4; + } else { + var8 = 1; + } + + int var12; + for(var10 = 0; var8 > var10; ++var10) { + for(var11 = 0; ~var11 > -65; ++var11) { + for(var12 = 0; 64 > var12; ++var12) { + Class167.method2267(var2, var6, var1, var20, var12 - -var3, var5 + var11, (byte)91, 0, var10); + } + } + } + + int var14; + int var15; + int var17; + boolean var21; + int var24; + for(var21 = false; var20.index < var20.buffer.length; var21 = true) { + var11 = var20.getByte((byte)-120); + if(var11 != 129) { + --var20.index; + break; + } + + for(var12 = 0; var12 < 4; ++var12) { + byte var13 = var20.getByte(); + if(0 != var13) { + if(1 != var13) { + if(var13 == 2 && -1 > ~var12) { + var15 = var5 + 64; + var24 = var3; + var17 = var3 + 64; + if(~var15 > -1) { + var15 = 0; + } else if(104 <= var15) { + var15 = 104; + } + + if(~var3 <= -1) { + if(-105 >= ~var3) { + var24 = 104; + } + } else { + var24 = 0; + } + + if(-1 >= ~var17) { + if(~var17 <= -105) { + var17 = 104; + } + } else { + var17 = 0; + } + + var14 = var5; + if(var5 >= 0) { + if(104 <= var5) { + var14 = 104; + } + } else { + var14 = 0; + } + + while(var15 > var14) { + while(~var24 > ~var17) { + Class136.aByteArrayArrayArray1774[var12][var14][var24] = Class136.aByteArrayArrayArray1774[var12 + -1][var14][var24]; + ++var24; + } + + ++var14; + } + } + } else { + for(var14 = 0; ~var14 > -65; var14 += 4) { + for(var15 = 0; var15 < 64; var15 += 4) { + byte var16 = var20.getByte(); + + for(var17 = var14 + var5; 4 + var5 + var14 > var17; ++var17) { + for(int var18 = var3 + var15; ~var18 > ~(4 + var3 + var15); ++var18) { + if(var17 >= 0 && ~var17 > -105 && 0 <= var18 && -105 < ~var18) { + Class136.aByteArrayArrayArray1774[var12][var17][var18] = var16; + } + } + } + } + } + } + } else { + var14 = var5; + if(var5 >= 0) { + if(~var5 <= -105) { + var14 = 104; + } + } else { + var14 = 0; + } + + var24 = var3; + if(-1 < ~var3) { + var24 = 0; + } else if(~var3 <= -105) { + var24 = 104; + } + + var15 = 64 + var5; + var17 = var3 + 64; + if(-1 >= ~var17) { + if(var17 >= 104) { + var17 = 104; + } + } else { + var17 = 0; + } + + if(-1 < ~var15) { + var15 = 0; + } else if(var15 >= 104) { + var15 = 104; + } + + while(~var14 > ~var15) { + while(var24 < var17) { + Class136.aByteArrayArrayArray1774[var12][var14][var24] = 0; + ++var24; + } + + ++var14; + } + } + } + } + + if(var4 == 4) { + int var23; + if(HDToolKit.highDetail && !var1) { + Class86 var22 = null; + + while(~var20.index > ~var20.buffer.length) { + var12 = var20.getByte((byte)-100); + if(var12 != 0) { + if(~var12 != -2) { +// throw + new IllegalStateException().printStackTrace();; + return;// + } + + var23 = var20.getByte((byte)-114); + if(0 < var23) { + for(var14 = 0; var23 > var14; ++var14) { + Class43 var25 = new Class43(var20); + if(-32 == ~var25.anInt705) { + Class57 var26 = Class81.method1401(1001, var20.getShort(1)); + var25.method1060((byte)-67, var26.anInt896, var26.anInt908, var26.anInt899, var26.anInt907); + } + + var25.anInt708 += var3 << 7; + var25.anInt703 += var5 << 7; + var17 = var25.anInt708 >> 7; + var24 = var25.anInt703 >> 7; + if(~var24 <= -1 && 0 <= var17 && ~var24 > -105 && ~var17 > -105) { + var25.aBoolean696 = 0 != (Class9.aByteArrayArrayArray113[1][var24][var17] & 2); + var25.anInt697 = Class44.anIntArrayArrayArray723[var25.anInt704][var24][var17] + -var25.anInt697; + Class68.method1264(var25); + } + } + } + } else { + var22 = new Class86(var20); + } + } + + if(var22 == null) { + var22 = new Class86(); + } + + for(var12 = 0; -9 < ~var12; ++var12) { + for(var23 = 0; -9 < ~var23; ++var23) { + var14 = var12 + (var5 >> 3); + var15 = (var3 >> 3) + var23; + if(0 <= var14 && var14 < 13 && -1 >= ~var15 && ~var15 > -14) { + Class115.aClass86ArrayArray1581[var14][var15] = var22; + } + } + } + } + + if(!var21) { + for(var11 = 0; var11 < 4; ++var11) { + for(var12 = 0; 16 > var12; ++var12) { + for(var23 = 0; var23 < 16; ++var23) { + var14 = (var5 >> 2) - -var12; + var15 = var23 + (var3 >> 2); + if(0 <= var14 && 26 > var14 && 0 <= var15 && var15 < 26) { + Class136.aByteArrayArrayArray1774[var11][var14][var15] = 0; + } + } + } + } + } + + } + } catch (RuntimeException var19) { + throw Class44.method1067(var19, "wa.OA(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ')'); + } + } + + final int getSmart(boolean var1) { + try { + if(!var1) { + aClass94_2593 = (RSString)null; + } + + int var2 = this.buffer[this.index] & 255; + return 128 <= var2?-32768 + this.getShort(1):this.getByte((byte)-74); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.JA(" + var1 + ')'); + } + } + + final void putTriByte(int var1, int var2) { + try { + this.buffer[this.index++] = (byte)(var1 >> 16); + this.buffer[this.index++] = (byte)(var1 >> 8); + if(var2 != 6517) { + aClass94_2598 = (RSString)null; + } + + this.buffer[this.index++] = (byte)var1; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.FB(" + var1 + ',' + var2 + ')'); + } + } + + final int getIntA(int var1) { + try { + this.index += 4; + if(var1 != -1) { + this.method769((byte)7, -47); + } + + return ((this.buffer[this.index - 2] & 255) << 24) + ((255 & this.buffer[this.index - 1]) << 16) + ('\uff00' & this.buffer[-4 + this.index] << 8) - -(this.buffer[this.index + -3] & 255); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.NB(" + var1 + ')'); + } + } + + final int getLEShortA(byte var1) { + try { + this.index += 2; + if(var1 > -84) { + this.method749(false); + } + + return (this.buffer[-1 + this.index] << 322035176 & '\uff00') - -(255 & -128 + this.buffer[this.index + -2]); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.TB(" + var1 + ')'); + } + } + + + final int getLEInt(int var1) { + try { + this.index += 4; + if(var1 >= -42) { + this.method763((byte)-14); + } + + return (255 & this.buffer[-4 + this.index]) + (16711680 & this.buffer[this.index - 2] << 1572599856) + ((255 & this.buffer[this.index + -1]) << -34836040) + ((this.buffer[-3 + this.index] & 255) << 481963272); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.EA(" + var1 + ')'); + } + } + + final void putShortA(int var1, int var2) { + try { + if(var2 == -268435456) { + this.buffer[this.index++] = (byte)(var1 >> -702824440); + this.buffer[this.index++] = (byte)(128 + var1); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.LB(" + var1 + ',' + var2 + ')'); + } + } + + static final Class12 method784(int var0, int var1, int var2) { + Class3_Sub2 var3 = Class75_Sub2.aClass3_Sub2ArrayArrayArray2638[var0][var1][var2]; + return var3 != null && var3.aClass12_2230 != null?var3.aClass12_2230:null; + } + + RSByteBuffer(byte[] var1) { + try { + this.index = 0; + this.buffer = var1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.(" + (var1 != null?"{...}":"null") + ')'); + } + } + + final void putLEInt(int var1, byte var2) { + try { + this.buffer[this.index++] = (byte)var1; + this.buffer[this.index++] = (byte)(var1 >> -1080682200); + if(var2 <= -118) { + this.buffer[this.index++] = (byte)(var1 >> 16); + this.buffer[this.index++] = (byte)(var1 >> 12970328); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.IA(" + var1 + ',' + var2 + ')'); + } + } + + final int getByteC(boolean var1) { + try { + if(!var1) { + this.index = 46; + } + + return 255 & 0 + -this.buffer[this.index++]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.CB(" + var1 + ')'); + } + } + + final int getShort(byte var1) { + try { + this.index += 2; + int var2 = (this.buffer[-1 + this.index] & 255) + ((255 & this.buffer[this.index + -2]) << -2034851416); + if(var1 < 4) { + return -83; + } else { + if(~var2 < -32768) { + var2 -= 65536; + } + + return var2; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.TC(" + var1 + ')'); + } + } + + + + final int method788(int var1) { + try { + this.index += 2; + int var2 = ((this.buffer[this.index - 1] & 255) << 1510012168) - -(this.buffer[-2 + this.index] - 128 & 255); + if(var1 != -1741292848) { + this.encryptRSA((BigInteger)null, (BigInteger)null, 11); + } + + if(32767 < var2) { + var2 -= 65536; + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.EC(" + var1 + ')'); + } + } + + final byte method789(int var1) { + try { + return var1 != 0?-51:(byte)(-128 + this.buffer[this.index++]); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.CA(" + var1 + ')'); + } + } + + final void putByteA(int var1, int var2) { + try { + if(var2 != -13071) { + this.getSmart(120); + } + + this.buffer[this.index++] = (byte)(128 + var1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.KC(" + var1 + ',' + var2 + ')'); + } + } + + final int getLEShort(byte var1) { + try { + this.index += 2; + if(var1 != 10) { + this.getByteA((byte)109); + } + + int var2 = (this.buffer[-2 + this.index] & 255) + ('\uff00' & this.buffer[this.index + -1] << 50972264); + if(var2 > 32767) { + var2 -= 65536; + } + + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.SA(" + var1 + ')'); + } + } + + + + + + + static final void method792(int var0) { + try { + if(var0 == 9179409) { + int var1 = Class137.method1817((byte)70); + if(0 == var1) { + Class158.aByteArrayArrayArray2008 = (byte[][][])null; + Class136.method1816(0, -7); + } else if(~var1 == -2) { + Class3_Sub5.method112((byte)0, (byte)55); + Class136.method1816(512, -7); + Class3_Sub13_Sub18.method257((byte)125); + } else { + Class3_Sub5.method112((byte)(-4 + Class79.anInt1127 & 255), (byte)55); + Class136.method1816(2, -7); + } + + } + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "wa.AA(" + var0 + ')'); + } + } + + final int method793(byte var1, int var2) { + try { + if(var1 < 1) { + return 65; + } else { + int var3 = Class99.method1599(var2, this.index, this.buffer, (byte)-49); + this.putInt(-120, var3); + return var3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.QB(" + var1 + ',' + var2 + ')'); + } + } + + final int getTriByte(byte var1) { + try { + if(var1 < 76) { + this.getLEShort(53); + } + + this.index += 3; + return (16711680 & this.buffer[this.index + -3] << -2022440336) + (('\uff00' & this.buffer[-2 + this.index] << -54462168) - -(this.buffer[this.index + -1] & 255)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.GB(" + var1 + ')'); + } + } + + static final void method795(byte var0, int var1) { + try { + if(var0 != 14) { + anIntArray2591 = (int[])null; + } + + CS2Script.aClass93_2450.method1522(var0 ^ -114, var1); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.OC(" + var0 + ',' + var1 + ')'); + } + } + + final void putLEShort(int var1, int var2) { + try { + if(var1 != -1) { + aClass94Array2596 = (RSString[])null; + } + + this.buffer[this.index++] = (byte)var2; + this.buffer[this.index++] = (byte)(var2 >> 203327944); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.PA(" + var1 + ',' + var2 + ')'); + } + } + + final int getSmart(int var1) { + try { + int var2 = this.buffer[this.index] & 255; + if(var1 != -21208) { + aClass94_2593 = (RSString)null; + } + + return ~var2 > -129?-64 + this.getByte((byte)-82):this.getShort(var1 + 21209) - '\uc000'; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.WB(" + var1 + ')'); + } + } + + final int getIntB(byte var1) { + try { + int var2 = -83 / ((16 - var1) / 50); + this.index += 4; + return ((this.buffer[-3 + this.index] & 255) << -1597905000) - -(16711680 & this.buffer[this.index + -4] << 861399376) + (((this.buffer[this.index + -1] & 255) << 979767016) - -(255 & this.buffer[this.index + -2])); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.NC(" + var1 + ')'); + } + } + + static final void method799(int var0, int var1, int var2, int var3, int var4) { + try { + if(~Class140_Sub3.anInt2737 > -101) { + Class3_Sub28_Sub14.method626(64); + } + + if(HDToolKit.highDetail) { + Class22.method935(var0, var2, var0 + var4, var3 + var2); + } else { + Class74.method1324(var0, var2, var0 + var4, var3 + var2); + } + + int var6; + int var7; + if(~Class140_Sub3.anInt2737 <= -101) { + Class17.anInt410 = (int)((float)(var3 * 2) / Class44.aFloat727); + Class60.anInt930 = Class3_Sub28_Sub1.anInt3536 + -((int)((float)var4 / Class44.aFloat727)); + int var15 = -((int)((float)var4 / Class44.aFloat727)) + Class3_Sub28_Sub1.anInt3536; + var6 = Class3_Sub4.anInt2251 - (int)((float)var3 / Class44.aFloat727); + Class60.anInt934 = Class3_Sub4.anInt2251 + -((int)((float)var3 / Class44.aFloat727)); + int var8 = Class3_Sub4.anInt2251 + (int)((float)var3 / Class44.aFloat727); + var7 = (int)((float)var4 / Class44.aFloat727) + Class3_Sub28_Sub1.anInt3536; + Class49.anInt817 = (int)((float)(var4 * 2) / Class44.aFloat727); + if(var1 != 64) { + aClass94Array2596 = (RSString[])null; + } + + if(HDToolKit.highDetail) { + if(Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221 == null || ~Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221.anInt3707 != ~var4 || ~Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221.anInt3696 != ~var3) { + Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221 = null; + Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221 = new Class3_Sub28_Sub16_Sub2(var4, var3); + } + + Class74.method1319(Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221.anIntArray4081, var4, var3); + Node.method523(var4, 0, 0, var7, var6, 0, var8, var3, var15); + Class23.method938(var4, 0, var7, var8, var3, 0, 1, var15, var6); + Class3_Sub5.method111((byte)-54, 0, 0, var15, var4, var8, var6, var7, var3); + Class22.method926(Class3_Sub13_Sub19.aClass3_Sub28_Sub16_Sub2_3221.anIntArray4081, var0, var2, var4, var3); + Class74.anIntArray1100 = null; + } else { + Node.method523(var4 + var0, var2, 0, var7, var6, var0, var8, var2 - -var3, var15); + Class23.method938(var0 + var4, var0, var7, var8, var3 + var2, var2, 1, var15, var6); + Class3_Sub5.method111((byte)-100, var0, var2, var15, var0 - -var4, var8, var6, var7, var3 + var2); + } + + if(0 < Class3_Sub28_Sub16.anInt3704) { + --Class3_Sub28_Sub8.anInt3611; + if(-1 == ~Class3_Sub28_Sub8.anInt3611) { + Class3_Sub28_Sub8.anInt3611 = 20; + --Class3_Sub28_Sub16.anInt3704; + } + } + + if(Class20.aBoolean438) { + int var10 = -8 + var2 - -var3; + int var9 = -5 + (var0 - -var4); + Class126.aClass3_Sub28_Sub17_1669.method688(RenderAnimationDefinition.method903(new RSString[]{Class65.aClass94_985, Class72.method1298((byte)9, AnimationDefinition.anInt1862)}, (byte)-62), var9, var10, 16776960, -1); + Runtime var11 = Runtime.getRuntime(); + int var12 = (int)((var11.totalMemory() - var11.freeMemory()) / 1024L); + int var13 = 16776960; + var10 -= 15; + if(~var12 < -65537) { + var13 = 16711680; + } + + Class126.aClass3_Sub28_Sub17_1669.method688(RenderAnimationDefinition.method903(new RSString[]{Class119.aClass94_1630, Class72.method1298((byte)9, var12), Class3_Sub13_Sub4.aClass94_3055}, (byte)-108), var9, var10, var13, -1); + var10 -= 15; + } + + } else { + byte var5 = 20; + var6 = var0 - -(var4 / 2); + var7 = var3 / 2 + (var2 - 18) + -var5; + if(HDToolKit.highDetail) { + Class22.method934(var0, var2, var4, var3, 0); + Class22.method927(var6 - 152, var7, 304, 34, 9179409); + Class22.method927(var6 + -151, var7 + 1, 302, 32, 0); + Class22.method934(-150 + var6, var7 + 2, 3 * Class140_Sub3.anInt2737, 30, 9179409); + Class22.method934(-150 + var6 + Class140_Sub3.anInt2737 * 3, var7 - -2, 300 + -(3 * Class140_Sub3.anInt2737), 30, 0); + } else { + Class74.method1323(var0, var2, var4, var3, 0); + Class74.method1311(var6 + -152, var7, 304, 34, 9179409); + Class74.method1311(var6 + -151, 1 + var7, 302, 32, 0); + Class74.method1323(var6 + -150, var7 + 2, Class140_Sub3.anInt2737 * 3, 30, 9179409); + Class74.method1323(3 * Class140_Sub3.anInt2737 + -150 + var6, var7 - -2, -(Class140_Sub3.anInt2737 * 3) + 300, 30, 0); + } + + Class168.aClass3_Sub28_Sub17_2096.method699(Class24.aClass94_462, var6, var5 + var7, 16777215, -1); + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "wa.FA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ')'); + } + } + + final void encryptRSA(BigInteger var1, BigInteger var2, int var3) { + try { + int var4 = this.index; + this.index = 0; + byte[] var5 = new byte[var4]; + this.method764(0, var4, var5, (byte)93); + BigInteger var6 = new BigInteger(var5); + BigInteger var7 = null; + if (Configurations.USE_RSA) + var7 = var6.modPow(var1, var2); + else + var7 = var6; + byte[] var8 = var7.toByteArray(); + this.index = 0; + this.putByte((byte)-23, var8.length); + this.putBytes(var8, 0, var8.length, var3 + 348); + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "wa.KB(" + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final void method801(int var1, float var2) { + try { + int var3 = Float.floatToRawIntBits(var2); + this.buffer[this.index++] = (byte)(var3 >> -1164789608); + this.buffer[this.index++] = (byte)(var3 >> -259929904); + this.buffer[this.index++] = (byte)(var3 >> 1414718216); + if(var1 == 881) { + this.buffer[this.index++] = (byte)var3; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.QA(" + var1 + ',' + var2 + ')'); + } + } + + static final RSString method802(int var0, boolean var1) { + try { + if(!var1) { + method746((byte)-33); + } + + return -1 > ~Class163_Sub2_Sub1.aClass94Array4016[var0].length(-26)?RenderAnimationDefinition.method903(new RSString[]{Class140_Sub7.aClass94Array2935[var0], InputStream_Sub1.aClass94_43, Class163_Sub2_Sub1.aClass94Array4016[var0]}, (byte)-86):Class140_Sub7.aClass94Array2935[var0]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.RB(" + var0 + ',' + var1 + ')'); + } + } + + final int getByte(byte var1) { + try { + if(var1 > -22) { + this.getIntA(16); + } + + return this.buffer[this.index++] & 255; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "wa.RC(" + var1 + ')'); + } + } + + final void putShort(int var2) { + try { + this.buffer[this.index++] = (byte)(var2 >> 2124857032); + this.buffer[this.index++] = (byte)var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "wa.JC('" + var2 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/RSInterface.java b/09HDscape-client/src/org/runite/jagex/RSInterface.java new file mode 100644 index 000000000..35c250a59 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/RSInterface.java @@ -0,0 +1,1194 @@ +package org.runite.jagex; + +final class RSInterface { + + boolean hidden = false; + Object[] anObjectArray156; + boolean aBoolean157; + static long aLong1489; + Object[] anObjectArray158; + Object[] anObjectArray159; + int anInt160 = 1; + Object[] anObjectArray161; + byte aByte162 = 0; + boolean aBoolean163; + int anInt164 = 100; + Object[] anObjectArray165; + int y; + boolean aBoolean167; + int anInt168; + short aShort169 = 3000; + Object[] anObjectArray170; + RSString[] aClass94Array171; + RSString aClass94_172; + RSString[] options; + Object[] anObjectArray174; + int[] anIntArray175; + Object[] anObjectArray176; + int width; + boolean aBoolean178; + int anInt179 = 0; + Object[] anObjectArray180; + boolean aBoolean181 = false; + int anInt182 = 0; + Object[] anObjectArray183; + int anInt184; + int[] anIntArray185; + boolean aBoolean186 = false; + int type; + boolean aBoolean188 = false; + int anInt189; + int parentId; + int anInt191 = -1; + int anInt192; + int anInt193 = 0; + int anInt194 = 0; + boolean aBoolean195; + private int secondModelId; + int[] anIntArray197; + int secondAnimationId = -1; + boolean aBoolean199; + boolean aBoolean200; + int itemId; + int modelType; + Object[] anObjectArray203; + int anInt204; + int anInt205 = 0; + Object[] anObjectArray206; + int[] anIntArray207; + int anInt208 = 0; + static RSString aClass94_209 = RSString.createRSString("event_opbase"); + int anInt210 = 0; + int[] anIntArray211; + int anInt212; + int anInt213; + int anInt214 = 0; + boolean aBoolean215; + int anInt216; + Object[] anObjectArray217; + int anInt218; + boolean aBoolean219; + Object[] anObjectArray220; + Object[] anObjectArray221; + int anInt222; + int anInt223; + int spriteArchiveId = -1; + int anInt225; + boolean aBoolean226 = false; + boolean aBoolean227; + int anInt228; + Object[] anObjectArray229; + int anInt230 = 0; + byte[] aByteArray231; + RSString aClass94_232; + boolean usingScripts; + int anInt234; + Object[] anObjectArray235; + static boolean aBoolean236 = true; + int anInt237; + int anInt238 = -1; + Object[] anObjectArray239; + int anInt240; + byte aByte241; + int anInt242; + RSString aClass94_243; + int height; + RSString aClass94_245; + static float aFloat246; + int anInt247; + Object[] anObjectArray248; + int[] anIntArray249; + int anInt250 = 1; + static RSString aClass94_251 = null; + int anInt252; + int anInt253; + int[] itemAmounts; + int anInt255; + Object[] anObjectArray256; + Class3_Sub1 aClass3_Sub1_257; + int anInt258; + int anInt259; + int anInt260; + static long aLong261 = 0L; + RSInterface[] aClass11Array262; + byte[] aByteArray263; + int anInt264; + int anInt265; + int anInt266; + int anInt267; + Object[] anObjectArray268; + Object[] anObjectArray269; + int anInt270; + int anInt271; + int[] anIntArray272; + byte aByte273; + int[] anIntArray274; + int[] anIntArray275; + Object[] anObjectArray276; + RSString aClass94_277; + static int anInt278 = -1; + int anInt279; + int anInt280; + Object[] anObjectArray281; + Object[] anObjectArray282; + int anInt283; + int anInt284; + int anInt285; + int[] anIntArray286; + int anInt287; + int anInt288; + RSString aClass94_289; + int anInt290; + int[] anIntArray291; + int anInt292; + short aShort293; + private int secondModelType; + Object[] anObjectArray295; + int anInt296; + static RSString aClass94_297 = RSString.createRSString("Nehmen"); + int[][] childDataBuffers; + int[] anIntArray299; + int[] anIntArray300; + int anInt301; + RSInterface aClass11_302; + Object[] anObjectArray303; + byte aByte304; + int animationId; + int anInt306; + int[] anIntArray307; + int anInt308; + boolean aBoolean309; + int[] anIntArray310; + int anInt311; + int anInt312; + Object[] anObjectArray313; + Object[] anObjectArray314; + Object[] anObjectArray315; + int x; + int[] itemIds; + int anInt318; + + + final void method854(int var1, int var2, byte var3) { + try { + if(this.anIntArray249 == null || ~this.anIntArray249.length >= ~var1) { + int[] var4 = new int[1 + var1]; + if(this.anIntArray249 != null) { + int var5; + for(var5 = 0; this.anIntArray249.length > var5; ++var5) { + var4[var5] = this.anIntArray249[var5]; + } + + for(var5 = this.anIntArray249.length; ~var1 < ~var5; ++var5) { + var4[var5] = -1; + } + } + + this.anIntArray249 = var4; + } + + this.anIntArray249[var1] = var2; + if(var3 != 43) { + this.anIntArray211 = (int[])null; + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "be.P(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final boolean method855(int var1) { + try { + if(this.anIntArray207 != null) { + return true; + } else { + LDIndexedSprite var2 = RSString.method1539(0, true, this.spriteArchiveId, Class12.aClass153_323); + if(null == var2) { + return false; + } else { + var2.method1675(); + this.anIntArray207 = new int[var2.anInt1468]; + this.anIntArray291 = new int[var2.anInt1468]; + int var3 = 0; + + while(~var3 > ~var2.anInt1468) { + int var4 = 0; + int var5 = var2.anInt1461; + int var6 = 0; + + while(true) { + if(~var6 > ~var2.anInt1461) { + if(-1 == ~var2.aByteArray2674[var2.anInt1461 * var3 + var6]) { + ++var6; + continue; + } + + var4 = var6; + } + + for(var6 = var4; var2.anInt1461 > var6; ++var6) { + if(0 == var2.aByteArray2674[var3 * var2.anInt1461 + var6]) { + var5 = var6; + break; + } + } + + this.anIntArray207[var3] = var4; + this.anIntArray291[var3] = var5 - var4; + ++var3; + break; + } + } + + if(var1 != -30721) { + this.anInt205 = -68; + } + + return true; + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "be.G(" + var1 + ')'); + } + } + + static final RSString method856(boolean var0) { + try { + if(!var0) { + method869(127, -68); + } + + RSString var1 = Class3_Sub28_Sub7_Sub1.aClass94_4052; + RSString var2 = Class3_Sub28_Sub14.aClass94_3672; + if(-1 != ~Class44.anInt718) { + var1 = Player.aClass94_3971; + } + + if(null != Class163_Sub2.aClass94_2996) { + var2 = RenderAnimationDefinition.method903(new RSString[]{Class3_Sub28_Sub11.aClass94_3637, Class163_Sub2.aClass94_2996}, (byte)-64); + } + + return RenderAnimationDefinition.method903(new RSString[]{Class30.aClass94_577, var1, Class3_Sub28_Sub7.aClass94_3601, Class72.method1298((byte)9, Class3_Sub20.language), Class151.aClass94_1932, Class72.method1298((byte)9, Class3_Sub26.anInt2554), var2, Class140_Sub3.aClass94_2735}, (byte)-61); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "be.N(" + var0 + ')'); + } + } + + final void method857(byte var1, RSString var2, int var3) { + try { + if(null == this.aClass94Array171 || ~this.aClass94Array171.length >= ~var3) { + RSString[] var4 = new RSString[1 + var3]; + if(null != this.aClass94Array171) { + for(int var5 = 0; ~this.aClass94Array171.length < ~var5; ++var5) { + var4[var5] = this.aClass94Array171[var5]; + } + } + + this.aClass94Array171 = var4; + } + + this.aClass94Array171[var3] = var2; + int var7 = -124 % ((-10 - var1) / 60); + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "be.B(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ')'); + } + } + + final void decodeNoScripts(int var1, RSByteBuffer var2) { + try { + if(var1 >= -94) { + this.anInt214 = -74; + } + + this.usingScripts = false; + this.type = var2.getByte((byte)-33); + this.anInt318 = var2.getByte((byte)-35); + this.anInt189 = var2.getShort(1); + this.x = var2.getShort((byte)100); + this.y = var2.getShort((byte)109); + this.width = var2.getShort(1); + this.height = var2.getShort(1); + this.aByte304 = 0; + this.aByte241 = 0; + this.aByte273 = 0; + this.aByte162 = 0; + this.anInt223 = var2.getByte((byte)-120); + this.parentId = var2.getShort(1); + if(~this.parentId != -65536) { + this.parentId += -65536 & this.anInt279; + } else { + this.parentId = -1; + } + + this.anInt212 = var2.getShort(1); + if(-65536 == ~this.anInt212) { + this.anInt212 = -1; + } + + int var3 = var2.getByte((byte)-98); + int var4; + if(-1 > ~var3) { + this.anIntArray307 = new int[var3]; + this.anIntArray275 = new int[var3]; + + for(var4 = 0; ~var3 < ~var4; ++var4) { + this.anIntArray275[var4] = var2.getByte((byte)-102); + this.anIntArray307[var4] = var2.getShort(1); + } + } + + var4 = var2.getByte((byte)-46); + int var5; + int var6; + int var7; + if(-1 > ~var4) { + this.childDataBuffers = new int[var4][]; + + for(var5 = 0; ~var4 < ~var5; ++var5) { + var6 = var2.getShort(1); + this.childDataBuffers[var5] = new int[var6]; + + for(var7 = 0; ~var7 > ~var6; ++var7) { + this.childDataBuffers[var5][var7] = var2.getShort(1); + if(~this.childDataBuffers[var5][var7] == -65536) { + this.childDataBuffers[var5][var7] = -1; + } + } + } + } + + if(-1 == ~this.type) { + this.anInt252 = var2.getShort(1); + this.hidden = 1 == var2.getByte((byte)-67); + } + + if(~this.type == -2) { + var2.getShort(1); + var2.getByte((byte)-67); + } + + var5 = 0; + if(~this.type == -3) { + this.aByte241 = 3; + this.itemIds = new int[this.width * this.height]; + this.itemAmounts = new int[this.height * this.width]; + this.aByte304 = 3; + var6 = var2.getByte((byte)-58); + var7 = var2.getByte((byte)-115); + if(~var6 == -2) { + var5 |= 268435456; + } + + int var8 = var2.getByte((byte)-97); + if(~var7 == -2) { + var5 |= 1073741824; + } + + if(1 == var8) { + var5 |= Integer.MIN_VALUE; + } + + int var9 = var2.getByte((byte)-102); + if(var9 == 1) { + var5 |= 536870912; + } + + this.anInt285 = var2.getByte((byte)-125); + this.anInt290 = var2.getByte((byte)-50); + this.anIntArray300 = new int[20]; + this.anIntArray272 = new int[20]; + this.anIntArray197 = new int[20]; + + int var10; + for(var10 = 0; 20 > var10; ++var10) { + int var11 = var2.getByte((byte)-48); + if(var11 == 1) { + this.anIntArray272[var10] = var2.getShort((byte)110); + this.anIntArray300[var10] = var2.getShort((byte)58); + this.anIntArray197[var10] = var2.getInt(); + } else { + this.anIntArray197[var10] = -1; + } + } + + this.options = new RSString[5]; + + for(var10 = 0; var10 < 5; ++var10) { + RSString var14 = var2.getString(); + if(~var14.length(-28) < -1) { + this.options[var10] = var14; + var5 |= 1 << 23 - -var10; + } + } + } + + if(3 == this.type) { + this.aBoolean226 = 1 == var2.getByte((byte)-106); + } + + if(this.type == 4 || 1 == this.type) { + this.anInt194 = var2.getByte((byte)-31); + this.anInt225 = var2.getByte((byte)-23); + this.anInt205 = var2.getByte((byte)-35); + this.anInt270 = var2.getShort(1); + if(~this.anInt270 == -65536) { + this.anInt270 = -1; + } + + this.aBoolean215 = 1 == var2.getByte((byte)-114); + } + + if(this.type == 4) { + this.aClass94_232 = var2.getString(); + this.aClass94_172 = var2.getString(); + } + + if(this.type == 1 || this.type == 3 || 4 == this.type) { + this.anInt218 = var2.getInt(); + } + + if(~this.type == -4 || ~this.type == -5) { + this.anInt253 = var2.getInt(); + this.anInt228 = var2.getInt(); + this.anInt222 = var2.getInt(); + } + + if(-6 == ~this.type) { + this.spriteArchiveId = var2.getInt(); + this.anInt296 = var2.getInt(); + } + + if(6 == this.type) { + this.modelType = 1; + this.itemId = var2.getShort(1); + this.secondModelType = 1; + if(this.itemId == '\uffff') { + this.itemId = -1; + } + + this.secondModelId = var2.getShort(1); + if(this.secondModelId == '\uffff') { + this.secondModelId = -1; + } + + this.animationId = var2.getShort(1); + if(~this.animationId == -65536) { + this.animationId = -1; + } + + this.secondAnimationId = var2.getShort(1); + if('\uffff' == this.secondAnimationId) { + this.secondAnimationId = -1; + } + + this.anInt164 = var2.getShort(1); + this.anInt182 = var2.getShort(1); + this.anInt308 = var2.getShort(1); + } + + if(7 == this.type) { + this.aByte241 = 3; + this.aByte304 = 3; + this.itemIds = new int[this.height * this.width]; + this.itemAmounts = new int[this.width * this.height]; + this.anInt194 = var2.getByte((byte)-95); + this.anInt270 = var2.getShort(1); + if(~this.anInt270 == -65536) { + this.anInt270 = -1; + } + + this.aBoolean215 = ~var2.getByte((byte)-128) == -2; + this.anInt218 = var2.getInt(); + this.anInt285 = var2.getShort((byte)31); + this.anInt290 = var2.getShort((byte)83); + var6 = var2.getByte((byte)-74); + if(-2 == ~var6) { + var5 |= 1073741824; + } + + this.options = new RSString[5]; + + for(var7 = 0; var7 < 5; ++var7) { + RSString var13 = var2.getString(); + if(var13.length(-121) > 0) { + this.options[var7] = var13; + var5 |= 1 << 23 - -var7; + } + } + } + + if(8 == this.type) { + this.aClass94_232 = var2.getString(); + } + + if(-3 == ~this.anInt318 || ~this.type == -3) { + this.aClass94_245 = var2.getString(); + this.aClass94_243 = var2.getString(); + var6 = 63 & var2.getShort(1); + var5 |= var6 << 11; + } + + if(this.anInt318 == 1 || this.anInt318 == 4 || -6 == ~this.anInt318 || this.anInt318 == 6) { + this.aClass94_289 = var2.getString(); + if(this.aClass94_289.length(-33) == 0) { + if(~this.anInt318 == -2) { + this.aClass94_289 = Class115.aClass94_1583; + } + + if(-5 == ~this.anInt318) { + this.aClass94_289 = Class131.aClass94_1722; + } + + if(5 == this.anInt318) { + this.aClass94_289 = Class131.aClass94_1722; + } + + if(this.anInt318 == 6) { + this.aClass94_289 = Class60.aClass94_935; + } + } + } + + if(-2 == ~this.anInt318 || -5 == ~this.anInt318 || -6 == ~this.anInt318) { + var5 |= 4194304; + } + + if(~this.anInt318 == -7) { + var5 |= 1; + } + + this.aClass3_Sub1_257 = new Class3_Sub1(var5, -1); + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "be.M(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final Class3_Sub28_Sub16 method859(boolean var1, int var2) { + try { + GameShell.aBoolean6 = false; + if(!var1) { + return (Class3_Sub28_Sub16)null; + } else if(~var2 <= -1 && var2 < this.anIntArray197.length) { + int var3 = this.anIntArray197[var2]; + if(~var3 != 0) { + Class3_Sub28_Sub16 var4 = (Class3_Sub28_Sub16)Class114.aClass93_1569.get((long)var3, (byte)121); + if(var4 == null) { + var4 = Class3_Sub28_Sub11.method602(0, var3, (byte)-18, Class12.aClass153_323); + if(null != var4) { + Class114.aClass93_1569.put((byte)-126, var4, (long)var3); + } else { + GameShell.aBoolean6 = true; + } + + return var4; + } else { + return var4; + } + } else { + return null; + } + } else { + return null; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "be.I(" + var1 + ',' + var2 + ')'); + } + } + + public static void method860(int var0) { + try { + aClass94_297 = null; + aClass94_209 = null; + if(var0 < 63) { + method860(42); + } + + aClass94_251 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "be.F(" + var0 + ')'); + } + } + + static final int method861(int var0, int var1, int var2) { + try { + Class3_Sub25 var3 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var0, 0); + return null == var3?-1:(0 <= var2 && var2 < var3.anIntArray2547.length?(var1 < 39?-69:var3.anIntArray2547[var2]):-1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "be.J(" + var0 + ',' + var1 + ',' + var2 + ')'); + } + } + + private final Object[] method862(int var1, RSByteBuffer var2) { + try { + if(var1 != -65536) { + return (Object[])null; + } else { + int var3 = var2.getByte((byte)-103); + if(-1 != ~var3) { + Object[] var4 = new Object[var3]; + + for(int var5 = 0; var3 > var5; ++var5) { + int var6 = var2.getByte((byte)-115); + if(0 != var6) { + if(-2 == ~var6) { + var4[var5] = var2.getString(); + } + } else { + var4[var5] = new Integer(var2.getInt()); + } + } + + this.aBoolean195 = true; + return var4; + } else { + return null; + } + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "be.K(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private final int[] method863(RSByteBuffer var1, boolean var2) { + try { + int var3 = var1.getByte((byte)-125); + if(-1 == ~var3) { + return null; + } else { + int[] var4 = new int[var3]; + if(var2) { + this.anInt312 = 20; + } + + for(int var5 = 0; ~var5 > ~var3; ++var5) { + var4[var5] = var1.getInt(); + } + + return var4; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "be.H(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final void method864(int var1, int var2, int var3) { + try { + int var4 = this.itemAmounts[var2]; + this.itemAmounts[var2] = this.itemAmounts[var1]; + if(var3 > -66) { + this.decodeNoScripts(36, (RSByteBuffer)null); + } + + this.itemAmounts[var1] = var4; + var4 = this.itemIds[var2]; + this.itemIds[var2] = this.itemIds[var1]; + this.itemIds[var1] = var4; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "be.L(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final Model method865(int var1, AnimationDefinition var2, int var3, int var4, int var5, boolean var6, Class52 var7) { + try { + GameShell.aBoolean6 = false; + int var8; + int var9; + if(var6) { + var8 = this.secondModelType; + var9 = this.secondModelId; + } else { + var9 = this.itemId; + var8 = this.modelType; + } + + if(var4 < 125) { + return (Model)null; + } else if(-1 != ~var8) { + if(-2 == ~var8 && var9 == -1) { + return null; + } else { + Model var10; + if(1 == var8) { + var10 = (Model)Class3_Sub15.aClass93_2428.get((long)((var8 << 16) - -var9), (byte)121); + if(var10 == null) { + Model_Sub1 var18 = Model_Sub1.method2015(Class119.aClass153_1628, var9, 0); + if(var18 == null) { + GameShell.aBoolean6 = true; + return null; + } + + var10 = var18.method2008(64, 768, -50, -10, -50); + Class3_Sub15.aClass93_2428.put((byte)-115, var10, (long)(var9 + (var8 << 16))); + } + + if(var2 != null) { + var10 = var2.method2055(var10, (byte)119, var1, var5, var3); + } + + return var10; + } else if(var8 != 2) { + if(3 != var8) { + if(4 == var8) { + ItemDefinition var16 = Class38.getItemDefinition(var9, (byte)94); + Model var17 = var16.method1110(110, var1, var5, var2, 10, var3); + if(var17 != null) { + return var17; + } else { + GameShell.aBoolean6 = true; + return null; + } + } else if(var8 != 6) { + if(~var8 != -8) { + return null; + } else if(var7 != null) { + int var15 = this.itemId >>> 16; + int var11 = this.itemId & '\uffff'; + int var12 = this.anInt265; + Model var13 = var7.method1157(var1, var12, var15, var5, var2, var3, var11, -2012759707); + if(var13 == null) { + GameShell.aBoolean6 = true; + return null; + } else { + return var13; + } + } else { + return null; + } + } else { + var10 = Node.method522(var9, 27112).method1476((Class145[])null, 0, (byte)-120, 0, var1, var5, var3, (AnimationDefinition)null, 0, var2); + if(null != var10) { + return var10; + } else { + GameShell.aBoolean6 = true; + return null; + } + } + } else if(null == var7) { + return null; + } else { + var10 = var7.method1167(var5, (byte)127, var2, var3, var1); + if(null == var10) { + GameShell.aBoolean6 = true; + return null; + } else { + return var10; + } + } + } else { + var10 = Node.method522(var9, 27112).getChatModel(var2, var5, var1, 27, var3); + if(null != var10) { + return var10; + } else { + GameShell.aBoolean6 = true; + return null; + } + } + } + } else { + return null; + } + } catch (RuntimeException var14) { + throw Class44.method1067(var14, "be.E(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + (var7 != null?"{...}":"null") + ')'); + } + } + + final Class3_Sub28_Sub16 method866(byte var1, boolean var2) { + try { + GameShell.aBoolean6 = false; + int archiveId; + if(var2) { + archiveId = this.anInt296; + } else { + archiveId = this.spriteArchiveId; + } + if(0 == ~archiveId) { + return null; + } else { + long var4 = ((this.aBoolean178?1L:0L) << 38) + ((!this.aBoolean157?0L:1L) << 35) + (long)archiveId + ((long)this.anInt288 << 36) + ((this.aBoolean199?1L:0L) << 39) + ((long)this.anInt287 << 40); + Class3_Sub28_Sub16 var6 = (Class3_Sub28_Sub16)Class114.aClass93_1569.get(var4, (byte)121); + if(var6 != null) { + return var6; + } else { + Class3_Sub28_Sub16_Sub2 var7; + if(this.aBoolean157) { + var7 = Class3_Sub28_Sub7.method562(Class12.aClass153_323, 0, archiveId, (byte)39); + } else { + var7 = Class40.method1043(0, Class12.aClass153_323, -3178, archiveId); + } + + if(null == var7) { + GameShell.aBoolean6 = true; + return null; + } else if(var1 != -113) { + return (Class3_Sub28_Sub16)null; + } else { + if(this.aBoolean178) { + var7.method663(); + } + + if(this.aBoolean199) { + var7.method653(); + } + + if(this.anInt288 > 0) { + var7.method652(this.anInt288); + } + + if(~this.anInt288 <= -2) { + var7.method657(1); + } + + if(2 <= this.anInt288) { + var7.method657(16777215); + } + + if(this.anInt287 != 0) { + var7.method668(this.anInt287); + } + + Object var9; + if(HDToolKit.highDetail) { + if(!(var7 instanceof Class3_Sub28_Sub16_Sub2_Sub1)) { + var9 = new Class3_Sub28_Sub16_Sub1(var7); + } else { + var9 = new Class3_Sub28_Sub16_Sub1_Sub1(var7); + } + } else { + var9 = var7; + } + + Class114.aClass93_1569.put((byte)-75, var9, var4); + return (Class3_Sub28_Sub16)var9; + } + } + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "be.O(" + var1 + ',' + var2 + ')'); + } + } + + final void decodeScriptFormat(int var1, RSByteBuffer buffer) { + try { + this.usingScripts = true; + ++buffer.index; + this.type = buffer.getByte((byte)-120); + if(-1 != ~(128 & this.type)) { + this.type &= 127; + buffer.getString(); + } + + this.anInt189 = buffer.getShort(var1 + 2); + this.x = buffer.getShort((byte)66); + this.y = buffer.getShort((byte)121); + this.width = buffer.getShort(1); + this.height = buffer.getShort(1); + this.aByte304 = buffer.getByte(); + this.aByte241 = buffer.getByte(); + this.aByte273 = buffer.getByte(); + this.aByte162 = buffer.getByte(); + this.parentId = buffer.getShort(var1 ^ -2); + if(-65536 == ~this.parentId) { + this.parentId = -1; + } else { + this.parentId = (this.anInt279 & -65536) - -this.parentId; + } + + this.hidden = -2 == ~buffer.getByte((byte)-40); + if(~this.type == -1) { + this.anInt240 = buffer.getShort(1); + this.anInt252 = buffer.getShort(1); + this.aBoolean219 = -2 == ~buffer.getByte((byte)-114); + } + + int var3; + if(~this.type == -6) { + this.spriteArchiveId = buffer.getInt(); + this.anInt301 = buffer.getShort(1); + var3 = buffer.getByte((byte)-39); + this.aBoolean157 = -1 != ~(2 & var3); + this.aBoolean186 = ~(1 & var3) != -1; + this.anInt223 = buffer.getByte((byte)-82); + this.anInt288 = buffer.getByte((byte)-86); + this.anInt287 = buffer.getInt(); + this.aBoolean178 = ~buffer.getByte((byte)-93) == -2; + this.aBoolean199 = 1 == buffer.getByte((byte)-60); + } + + if(~this.type == -7) { + this.modelType = 1; + this.itemId = buffer.getShort(var1 + 2); + if(~this.itemId == -65536) { + this.itemId = -1; + } + + this.anInt259 = buffer.getShort((byte)122); + this.anInt230 = buffer.getShort((byte)32); + this.anInt182 = buffer.getShort(1); + this.anInt308 = buffer.getShort(1); + this.anInt280 = buffer.getShort(1); + this.anInt164 = buffer.getShort(1); + this.animationId = buffer.getShort(1); + if('\uffff' == this.animationId) { + this.animationId = -1; + } + + this.aBoolean181 = buffer.getByte((byte)-100) == 1; + this.aShort293 = (short)buffer.getShort(1); + this.aShort169 = (short)buffer.getShort(1); + this.aBoolean309 = 1 == buffer.getByte((byte)-64); + if(this.aByte304 != 0) { + this.anInt184 = buffer.getShort(1); + } + + if(this.aByte241 != 0) { + this.anInt312 = buffer.getShort(1); + } + } + + if(~this.type == -5) { + this.anInt270 = buffer.getShort(1); + if(~this.anInt270 == -65536) { + this.anInt270 = -1; + } + + this.aClass94_232 = buffer.getString(); + this.anInt205 = buffer.getByte((byte)-124); + this.anInt194 = buffer.getByte((byte)-75); + this.anInt225 = buffer.getByte((byte)-38); + this.aBoolean215 = buffer.getByte((byte)-51) == 1; + this.anInt218 = buffer.getInt(); + } + + if(this.type == 3) { + this.anInt218 = buffer.getInt(); + this.aBoolean226 = 1 == buffer.getByte((byte)-90); + this.anInt223 = buffer.getByte((byte)-63); + } + + if(-10 == ~this.type) { + this.anInt250 = buffer.getByte((byte)-56); + this.anInt218 = buffer.getInt(); + this.aBoolean167 = 1 == buffer.getByte((byte)-61); + } + + var3 = buffer.getTriByte((byte)87); + int var4 = buffer.getByte((byte)-91); + int var5; + if(var4 != 0) { + this.anIntArray299 = new int[10]; + this.aByteArray263 = new byte[10]; + + for(this.aByteArray231 = new byte[10]; ~var4 != -1; var4 = buffer.getByte((byte)-80)) { + var5 = (var4 >> 4) - 1; + var4 = buffer.getByte((byte)-63) | var4 << 8; + var4 &= 4095; + if(4095 == var4) { + this.anIntArray299[var5] = -1; + } else { + this.anIntArray299[var5] = var4; + } + + this.aByteArray263[var5] = buffer.getByte(); + this.aByteArray231[var5] = buffer.getByte(); + } + } + + this.aClass94_277 = buffer.getString(); + var5 = buffer.getByte((byte)-80); + int var6 = var5 & 15; + int var8; + if(0 < var6) { + this.aClass94Array171 = new RSString[var6]; + + for(var8 = 0; var6 > var8; ++var8) { + this.aClass94Array171[var8] = buffer.getString(); + } + } + + + + int var7 = var5 >> 4; + if(var7 > 0) { + var8 = buffer.getByte((byte)-93); + this.anIntArray249 = new int[var8 + 1]; + + for(int var9 = 0; var9 < this.anIntArray249.length; ++var9) { + this.anIntArray249[var9] = -1; + } + + this.anIntArray249[var8] = buffer.getShort(1); + } + + if(1 < var7) { + var8 = buffer.getByte((byte)-33); + this.anIntArray249[var8] = buffer.getShort(1); + } + + this.anInt214 = buffer.getByte((byte)-105); + this.anInt179 = buffer.getByte((byte)-78); + this.aBoolean200 = buffer.getByte((byte)-119) == 1; + var8 = var1; + this.aClass94_245 = buffer.getString(); + if(0 != Class3_Sub28_Sub15.method630((byte)-34, var3)) { + var8 = buffer.getShort(1); + this.anInt266 = buffer.getShort(1); + if(-65536 == ~var8) { + var8 = -1; + } + + if('\uffff' == this.anInt266) { + this.anInt266 = -1; + } + + this.anInt238 = buffer.getShort(1); + if(this.anInt238 == '\uffff') { + this.anInt238 = -1; + } + } + + this.aClass3_Sub1_257 = new Class3_Sub1(var3, var8); + this.anObjectArray159 = this.method862(-65536, buffer); + this.anObjectArray248 = this.method862(var1 + -65535, buffer); + this.anObjectArray281 = this.method862(-65536, buffer); + this.anObjectArray303 = this.method862(var1 ^ '\uffff', buffer); + this.anObjectArray203 = this.method862(-65536, buffer); + this.anObjectArray282 = this.method862(var1 ^ '\uffff', buffer); + this.anObjectArray174 = this.method862(var1 + -65535, buffer); + this.anObjectArray158 = this.method862(-65536, buffer);//.? + this.anObjectArray269 = this.method862(-65536, buffer); + this.anObjectArray314 = this.method862(var1 ^ '\uffff', buffer); + this.anObjectArray276 = this.method862(-65536, buffer); + this.anObjectArray165 = this.method862(-65536, buffer); + this.anObjectArray170 = this.method862(var1 ^ '\uffff', buffer); + this.anObjectArray239 = this.method862(var1 ^ '\uffff', buffer); + this.anObjectArray180 = this.method862(-65536, buffer); + this.anObjectArray295 = this.method862(-65536, buffer); + this.anObjectArray229 = this.method862(-65536, buffer); + this.anObjectArray183 = this.method862(-65536, buffer); + this.anObjectArray161 = this.method862(-65536, buffer); + this.anObjectArray221 = this.method862(-65536, buffer); + this.anIntArray286 = this.method863(buffer, false); + this.anIntArray175 = this.method863(buffer, false); + this.anIntArray274 = this.method863(buffer, false); + this.anIntArray211 = this.method863(buffer, false); + this.anIntArray185 = this.method863(buffer, false); + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "be.C(" + var1 + ',' + (buffer != null?"{...}":"null") + ')'); + } + } + + final Class3_Sub28_Sub17 method868(AbstractIndexedSprite[] var1, int var2) { + try { + GameShell.aBoolean6 = false; + if(0 == ~this.anInt270) { + return null; + } else { + Class3_Sub28_Sub17 var3 = (Class3_Sub28_Sub17)Class47.aClass93_743.get((long)this.anInt270, (byte)121); + if(null != var3) { + return var3; + } else { + var3 = Class73.method1300(var2, this.anInt270, (byte)127, Class12.aClass153_323, Class97.aClass153_1378); + if(null == var3) { + GameShell.aBoolean6 = true; + } else { + var3.method697(var1, (int[])null); + Class47.aClass93_743.put((byte)-77, var3, (long)this.anInt270); + } + + return var3; + } + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "be.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + static final int method869(int var0, int var1) { + try { + return ~var1 != -16711936?(var0 < 97?-63:Class56.method1186(0, var1)):-1; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "be.D(" + var0 + ',' + var1 + ')'); + } + } + + public RSInterface() { + this.aClass94_243 = Class104.aClass94_2171; + this.aBoolean163 = false; + this.anInt225 = 0; + this.anInt212 = -1; + this.aBoolean167 = false; + this.anInt266 = -1; + this.aByte241 = 0; + this.anInt252 = 0; + this.aBoolean200 = false; + this.aBoolean215 = false; + this.anInt204 = -1; + this.anInt260 = 1; + this.anInt228 = 0; + this.usingScripts = false; + this.aClass3_Sub1_257 = Class158_Sub1.aClass3_Sub1_2980; + this.anInt253 = 0; + this.aClass94_232 = Class104.aClass94_2171; + this.anInt168 = 0; + this.anInt247 = 0; + this.aBoolean219 = false; + this.secondModelId = -1; + this.parentId = -1; + this.anInt216 = 1; + this.anInt192 = -1; + this.anInt222 = 0; + this.anInt264 = 0; + this.aClass94_277 = Class104.aClass94_2171; + this.anInt284 = 0; + this.width = 0; + this.anInt285 = 0; + this.anInt234 = -1; + this.aBoolean157 = false; + this.anInt184 = 0; + this.anInt223 = 0; + this.anInt258 = 0; + this.aClass94_245 = Class104.aClass94_2171; + this.anInt237 = 0; + this.aClass94_172 = Class104.aClass94_2171; + this.anInt288 = 0; + this.anInt265 = -1; + this.anInt242 = 0; + this.anInt259 = 0; + this.anInt290 = 0; + this.height = 0; + this.anInt279 = -1; + this.anInt296 = -1; + this.aByte273 = 0; + this.anInt267 = 0; + this.anInt270 = -1; + this.anInt240 = 0; + this.anInt255 = 0; + this.aShort293 = 0; + this.anInt301 = 0; + this.animationId = -1; + this.aClass94_289 = Class115.aClass94_1583; + this.anInt280 = 0; + this.anInt271 = 0; + this.anInt292 = -1; + this.anInt189 = 0; + this.anInt287 = 0; + this.aClass11_302 = null; + this.anInt311 = 0; + this.modelType = 1; + this.aBoolean309 = false; + this.aByte304 = 0; + this.secondModelType = 1; + this.anInt312 = 0; + this.anInt308 = 0; + this.aBoolean195 = false; + this.x = 0; + this.anInt306 = 0; + this.y = 0; + this.aBoolean227 = true; + this.anInt283 = 0; + this.anInt213 = 0; + this.anInt218 = 0; + this.anInt318 = 0; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/RSString.java b/09HDscape-client/src/org/runite/jagex/RSString.java new file mode 100644 index 000000000..519429888 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/RSString.java @@ -0,0 +1,1610 @@ +package org.runite.jagex; +import java.applet.Applet; +import java.awt.FontMetrics; +import java.awt.Graphics; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; + +final class RSString implements Interface3 { + + static int anInt2145; + static boolean aBoolean2146 = false; + static int incomingOpcode = 0; + static int anInt2148 = 0; + static RSString aClass94_2149 = RSString.createRSString("Bitte warten Sie )2 es wird versucht)1 die Verbindung wiederherzustellen)3"); + static boolean aBoolean2150; + private boolean aBoolean2152 = true; + byte[] byteArray; + static boolean aBoolean2154; + static RSString aClass94_2155 = RSString.createRSString(":allyreq:"); + int length; + static int[] anIntArray2157 = new int[50]; + private static RSString aClass94_2158 = RSString.createRSString("Allocated memory"); + static RSString aClass94_2151 = aClass94_2158; + + final URL method1527(boolean var1) throws MalformedURLException { + try { + if(var1) { + this.method1548(true, 22); + } + + return new URL(new String(this.byteArray, 0, this.length)); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.W(" + var1 + ')'); + } + } + + final boolean method1528(byte var1, RSString var2) { + try { + if(var2 == null) { + return false; + } else if(this == var2) { + return true; + } else if(this.length != var2.length) { + return false; + } else { + if(var1 != -42) { + this.method1568(-127); + } + + byte[] var4 = var2.byteArray; + byte[] var3 = this.byteArray; + + for(int var5 = 0; ~this.length < ~var5; ++var5) { + if(var3[var5] != var4[var5]) { + return false; + } + } + + return true; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.F(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + static final boolean method1529(int var0, int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + try { + long var8 = Class157.method2174(var6, var1 + var5, var3 + var0); + int var10; + int var11; + int var12; + ObjectDefinition var13; + int var14; + int[] var15; + int var16; + if(~var8 != -1L) { + var10 = 3 & (int)var8 >> 20; + var11 = (508650 & (int)var8) >> 14; + var12 = Integer.MAX_VALUE & (int)(var8 >>> 32); + var13 = Class162.getObjectDefinition(4, var12); + if(0 != ~var13.anInt1516) { + if(!Class15.method888(var1, var13, false, var0, var5, var3, var10)) { + return false; + } + } else { + var14 = var2; + if(~var8 < -1L) { + var14 = var4; + } + + var15 = Class74.anIntArray1100; + var16 = 4 * (-(var3 * 512) + '\uce00') + var1 * 4 + 24624; + if(var11 == 0 || var11 == 2) { + if(~var10 == -1) { + var15[var16] = var14; + var15[512 + var16] = var14; + var15[var16 - -1024] = var14; + var15[1536 + var16] = var14; + } else if(~var10 != -2) { + if(~var10 != -3) { + if(3 == var10) { + var15[var16 + 1536] = var14; + var15[1536 + var16 - -1] = var14; + var15[var16 + 1538] = var14; + var15[3 + var16 + 1536] = var14; + } + } else { + var15[var16 - -3] = var14; + var15[var16 - -3 - -512] = var14; + var15[var16 - -3 + 1024] = var14; + var15[var16 + 3 + 1536] = var14; + } + } else { + var15[var16] = var14; + var15[1 + var16] = var14; + var15[var16 - -2] = var14; + var15[var16 - -3] = var14; + } + } + + if(var11 == 3) { + if(var10 == 0) { + var15[var16] = var14; + } else if(1 == var10) { + var15[var16 - -3] = var14; + } else if(-3 == ~var10) { + var15[var16 - -3 + 1536] = var14; + } else if(-4 == ~var10) { + var15[var16 - -1536] = var14; + } + } + + if(~var11 == -3) { + if(-4 != ~var10) { + if(-1 != ~var10) { + if(-2 != ~var10) { + if(2 == var10) { + var15[1536 + var16] = var14; + var15[var16 - -1536 + 1] = var14; + var15[1536 + var16 + 2] = var14; + var15[var16 + 1539] = var14; + } + } else { + var15[var16 - -3] = var14; + var15[512 + 3 + var16] = var14; + var15[3 + (var16 - -1024)] = var14; + var15[1536 + var16 + 3] = var14; + } + } else { + var15[var16] = var14; + var15[1 + var16] = var14; + var15[2 + var16] = var14; + var15[3 + var16] = var14; + } + } else { + var15[var16] = var14; + var15[var16 - -512] = var14; + var15[var16 + 1024] = var14; + var15[1536 + var16] = var14; + } + } + } + } + + var8 = Class3_Sub28_Sub5.method557(var6, var1 - -var5, var0 + var3); + if(var8 != 0L) { + var10 = (int)var8 >> 20 & 3; + var11 = ((int)var8 & 520964) >> 14; + var12 = (int)(var8 >>> 32) & Integer.MAX_VALUE; + var13 = Class162.getObjectDefinition(4, var12); + if(~var13.anInt1516 != 0) { + if(!Class15.method888(var1, var13, false, var0, var5, var3, var10)) { + return false; + } + } else if(var11 == 9) { + var14 = 15658734; + if(~var8 < -1L) { + var14 = 15597568; + } + + var16 = var1 * 4 + (24624 - -(2048 * (103 - var3))); + var15 = Class74.anIntArray1100; + if(~var10 != -1 && ~var10 != -3) { + var15[var16] = var14; + var15[var16 - -512 - -1] = var14; + var15[var16 - -1024 - -2] = var14; + var15[1536 + var16 - -3] = var14; + } else { + var15[1536 + var16] = var14; + var15[var16 - -1025] = var14; + var15[var16 + 512 + 2] = var14; + var15[var16 - -3] = var14; + } + } + } + + var8 = Class3_Sub2.method104(var6, var1 + var5, var3 + var0); + if(var8 != 0L) { + var10 = (int)var8 >> 20 & 3; + var11 = (int)(var8 >>> 32) & Integer.MAX_VALUE; + ObjectDefinition var18 = Class162.getObjectDefinition(4, var11); + if(0 != ~var18.anInt1516 && !Class15.method888(var1, var18, !var7, var0, var5, var3, var10)) { + return false; + } + } + + if(!var7) { + aBoolean2150 = true; + } + + return true; + } catch (RuntimeException var17) { + throw Class44.method1067(var17, "na.N(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final int method1530(byte var1, int var2) { + try { + if(var2 < 1 || -37 > ~var2) { + var2 = 10; + } + + boolean var3 = false; + boolean var4 = false; + int var5 = 0; + int var6 = 0; + + for(int var7 = 29 / ((-47 - var1) / 37); this.length > var6; ++var6) { + int var8 = 255 & this.byteArray[var6]; + if(~var6 == -1) { + if(45 == var8) { + var3 = true; + continue; + } + + if(var8 == 43) { + continue; + } + } + + if(var8 >= 48 && 57 >= var8) { + var8 -= 48; + } else if(65 <= var8 && -91 <= ~var8) { + var8 -= 55; + } else { + if(-98 < ~var8 || ~var8 < -123) { + throw new NumberFormatException(); + } + + var8 -= 87; + } + + if(~var2 >= ~var8) { + throw new NumberFormatException(); + } + + if(var3) { + var8 = -var8; + } + + int var9 = var8 + var5 * var2; + if(var9 / var2 != var5) { + throw new NumberFormatException(); + } + + var5 = var9; + var4 = true; + } + + if(!var4) { + throw new NumberFormatException(); + } else { + return var5; + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "na.AB(" + var1 + ',' + var2 + ')'); + } + } + + final boolean equals(int var1, RSString var2) { + try { + if(var2 == null) { + return false; + } else if(this.length != var2.length) { + return false; + } else { + int var4 = -54 / ((var1 - -43) / 61); + + for(int var3 = 0; ~this.length < ~var3; ++var3) { + byte var5 = this.byteArray[var3]; + if(-66 >= ~var5 && ~var5 >= -91 || ~var5 <= 63 && var5 <= -34 && ~var5 != 40) { + var5 = (byte)(var5 + 32); + } + + byte var6 = var2.byteArray[var3]; + if(65 <= var6 && -91 <= ~var6 || -64 <= var6 && var6 <= -34 && 40 != ~var6) { + var6 = (byte)(var6 + 32); + } + + if(~var5 != ~var6) { + return false; + } + } + + return true; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "na.EA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final void drawString(int x, int y, Graphics var3, byte var4) { + try { + if(var4 < -85) { + String string; + try { + string = new String(this.byteArray, 0, this.length, "ISO-8859-1"); + } catch (UnsupportedEncodingException var7) { + string = new String(this.byteArray, 0, this.length); + } + var3.drawString(string, x, y); + } + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "na.B(" + y + ',' + x + ',' + (var3 != null?"{...}":"null") + ',' + var4 + ')'); + } + } + + final RSString method1533(RSString var1, boolean var2) { + try { + if(this.aBoolean2152) { + if(!var2) { + return (RSString)null; + } else { + if(var1.length + this.length > this.byteArray.length) { + int var3; + for(var3 = 1; ~(var1.length + this.length) < ~var3; var3 += var3) { + ; + } + + byte[] var4 = new byte[var3]; + Class76.method1357(this.byteArray, 0, var4, 0, this.length); + this.byteArray = var4; + } + + Class76.method1357(var1.byteArray, 0, this.byteArray, this.length, var1.length); + this.length += var1.length; + return this; + } + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.E(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final RSString method1534(int var1) { + try { + if(var1 != -98) { + this.method1562((byte)-53, (RSString)null); + } + + RSString var2 = new RSString(); + var2.length = this.length; + var2.byteArray = new byte[this.length]; + + for(int var3 = 0; ~this.length < ~var3; ++var3) { + byte var4 = this.byteArray[var3]; + if(65 <= var4 && var4 <= 90 || var4 >= -64 && ~var4 >= 33 && var4 != -41) { + var4 = (byte)(var4 + 32); + } + + var2.byteArray[var3] = var4; + } + + return var2; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.VA(" + var1 + ')'); + } + } + + static final int method1535(WorldListEntry var0, WorldListEntry var1, int var2, int var3, int var4, boolean var5, boolean var6) { + try { + int var7 = Class161.method2201(var1, var4, var2 + -5638, var0, var6); + if(var7 == 0) { + if(var2 != 5730) { + return -76; + } else if(var3 != -1) { + int var8 = Class161.method2201(var1, var3, var2 ^ 5651, var0, var5); + return !var5?var8:-var8; + } else { + return 0; + } + } else { + return !var6?var7:-var7; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "na.D(" + (var0 != null?"{...}":"null") + ',' + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ')'); + } + } + + final RSString method1536(int var1) { + try { + byte var3 = 2; + RSString var2 = new RSString(); + var2.length = this.length; + if(var1 < 67) { + return (RSString)null; + } else { + var2.byteArray = new byte[this.length]; + + for(int var4 = 0; ~this.length < ~var4; ++var4) { + byte var5 = this.byteArray[var4]; + if((-98 < ~var5 || 122 < var5) && (31 < ~var5 || ~var5 < 1 || var5 == -9)) { + if((var5 < 65 || ~var5 < -91) && (var5 < -64 || var5 > -34 || ~var5 == 40)) { + if(~var5 != -47 && 33 != var5 && var5 != 63) { + if(32 == var5) { + if(2 != var3) { + var3 = 1; + } + } else { + var3 = 1; + } + } else { + var3 = 2; + } + } else { + if(0 == var3) { + var5 = (byte)(var5 + 32); + } + + var3 = 0; + } + } else { + if(2 == var3) { + var5 = (byte)(var5 - 32); + } + + var3 = 0; + } + + var2.byteArray[var4] = var5; + } + + return var2; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.DA(" + var1 + ')'); + } + } + + static final Class3_Sub28_Sub16_Sub2 method1537(CacheIndex var0, int var1, boolean var2) { + try { + if(!Class140_Sub7.method2029((byte)-118, var0, var1)) { + return null; + } else { + if(var2) { + method1539(-39, true, -93, (CacheIndex)null); + } + + return Class117.method1722(-93); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.GB(" + (var0 != null?"{...}":"null") + ',' + var1 + ',' + var2 + ')'); + } + } + + final long method1538(int var1) { + try { + long var2 = 0L; + if(var1 < 4) { + aClass94_2158 = (RSString)null; + } + + for(int var4 = 0; var4 < this.length; ++var4) { + var2 = (long)(this.byteArray[var4] & 255) + (var2 << 5) + -var2; + } + + return var2; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.C(" + var1 + ')'); + } + } + + static final LDIndexedSprite method1539(int var0, boolean var1, int var2, CacheIndex var3) { + try { + if(!var1) { + method1535((WorldListEntry)null, (WorldListEntry)null, -64, -40, 23, false, false); + } + // System.out.println("RSString " + var2); + return Class75_Sub4.method1351(var3, var0, var2, -30901)?Class77.method1364((byte)82):null; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.MA(" + var0 + ',' + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + final int length(int var1) { + try { + if(var1 >= -16) { + this.method1544(false); + } + + return this.length; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.M(" + var1 + ')'); + } + } + + public static void method1541(int var0) { + try { + aClass94_2151 = null; + if(var0 != -8635) { + aClass94_2151 = (RSString)null; + } + + anIntArray2157 = null; + aClass94_2155 = null; + aClass94_2149 = null; + aClass94_2158 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "na.R(" + var0 + ')'); + } + } + + final RSString method1542(int var1, RSString var2, int var3, int var4) { + try { + if(!this.aBoolean2152) { + throw new IllegalArgumentException(); + } else if(0 <= var3 && var3 <= var4 && ~var4 >= ~var2.length) { + if(this.length + (var4 - var3) > this.byteArray.length) { + int var5; + for(var5 = 1; ~(this.length + var2.length) < ~var5; var5 += var5) { + ; + } + + byte[] var6 = new byte[var5]; + Class76.method1357(this.byteArray, 0, var6, 0, this.length); + this.byteArray = var6; + } + + Class76.method1357(var2.byteArray, var3, this.byteArray, this.length, -var3 + var4); + if(var1 != 1) { + aClass94_2155 = (RSString)null; + } + + this.length += var4 + -var3; + return this; + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "na.O(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ')'); + } + } + + final boolean method1543(int var1) { + try { + if(var1 < 79) { + this.method1552((byte)114); + } + + return this.method1561(10, true); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.I(" + var1 + ')'); + } + } + + final RSString method1544(boolean var1) { + try { + RSString var2 = new RSString(); + var2.length = this.length; + var2.byteArray = new byte[var2.length]; + if(!var1) { + return (RSString)null; + } else { + for(int var3 = 0; this.length > var3; ++var3) { + var2.byteArray[this.length - var3 + -1] = this.byteArray[var3]; + } + + return var2; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.FB(" + var1 + ')'); + } + } + + final RSString method1545(byte var1) { + try { + RSString var2 = new RSString(); + var2.length = this.length; + var2.byteArray = new byte[this.length]; + boolean var3 = true; + int var4 = 0; + if(var1 != -50) { + this.toString(); + } + + for(; ~this.length < ~var4; ++var4) { + byte var5 = this.byteArray[var4]; + if(~var5 != -96) { + if(97 <= var5 && var5 <= 122 && var3) { + var3 = false; + var2.byteArray[var4] = (byte)(-32 + var5); + } else { + var2.byteArray[var4] = var5; + var3 = false; + } + } else { + var3 = true; + var2.byteArray[var4] = 32; + } + } + + return var2; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.G(" + var1 + ')'); + } + } + + final int method1546(byte var1, RSString var2) { + try { + if(var1 >= -44) { + aBoolean2150 = true; + } + + int var3 = 0; + int var4 = 0; + int var6 = var2.length; + int var5 = this.length; + int var7 = this.length; + int var8 = var2.length; + int var9 = 0; + int var10 = 0; + + while(-1 != ~var5 && var6 != 0) { + if(~var3 != -157 && var3 != 230) { + if(140 != var3 && -199 != ~var3) { + if(var3 != 223) { + var3 = this.byteArray[var9] & 255; + ++var9; + } else { + var3 = 115; + } + } else { + var3 = 69; + } + } else { + var3 = 101; + } + + if(!Class151_Sub1.method2103(var3, -116)) { + --var5; + } else { + ++var7; + } + + if(var4 != 156 && 230 != var4) { + if(~var4 != -141 && ~var4 != -199) { + if(223 == var4) { + var4 = 115; + } else { + var4 = 255 & var2.byteArray[var10]; + ++var10; + } + } else { + var4 = 69; + } + } else { + var4 = 101; + } + + if(Class151_Sub1.method2103(var4, -86)) { + ++var8; + } else { + --var6; + } + + if(~Class158.anIntArray2004[var3] > ~Class158.anIntArray2004[var4]) { + return -1; + } + + if(~Class158.anIntArray2004[var4] > ~Class158.anIntArray2004[var3]) { + return 1; + } + } + + return var8 <= var7?(var7 > var8?1:0):-1; + } catch (RuntimeException var11) { + throw Class44.method1067(var11, "na.FA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final URL method1547(URL var1, boolean var2) throws MalformedURLException { + try { + if(!var2) { + this.byteArray = (byte[])null; + } + + return new URL(var1, new String(this.byteArray, 0, this.length)); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.EB(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final RSString method1548(boolean var1, int var2) { + try { + if(~var2 < -1 && ~var2 >= -256) { + RSString var3 = new RSString(); + var3.byteArray = new byte[1 + this.length]; + var3.length = this.length + 1; + if(var1) { + aClass94_2155 = (RSString)null; + } + + Class76.method1357(this.byteArray, 0, var3.byteArray, 0, this.length); + var3.byteArray[this.length] = (byte)var2; + return var3; + } else { + throw new IllegalArgumentException("invalid char"); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.OA(" + var1 + ',' + var2 + ')'); + } + } + + final void method1549(boolean var1) { + try { + String var2; + try { + if(var1) { + return; + } + + var2 = new String(this.byteArray, 0, this.length, "ISO-8859-1"); + } catch (UnsupportedEncodingException var4) { + var2 = new String(this.byteArray, 0, this.length); + } + + // System.out.println(var2); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.BA(" + var1 + ')'); + } + } + + final boolean method1550(byte var1, RSString var2) { + try { + if(var2.length > this.length) { + return false; + } else { + int var3 = -var2.length + this.length; + if(var1 >= -25) { + anIntArray2157 = (int[])null; + } + + for(int var4 = 0; var4 < var2.length; ++var4) { + if(this.byteArray[var3 + var4] != var2.byteArray[var4]) { + return false; + } + } + + return true; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.TA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method1551(RSString var1, int var2) { + try { + return var2 <= 49?-20:this.method1566(var1, 0, -1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.A(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final int method1552(byte var1) { + try { + if(var1 > -89) { + this.method1557(33, 31, -79); + } + + return this.method1530((byte)-114, 10); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.T(" + var1 + ')'); + } + } + + final void method1553(int var1, boolean var2) { + try { + if(!this.aBoolean2152) { + throw new IllegalArgumentException(); + } else if(-1 < ~var1) { + throw new IllegalArgumentException(); + } else { + int var3; + if(~var1 < ~this.byteArray.length) { + for(var3 = 1; ~var3 > ~var1; var3 += var3) { + ; + } + + byte[] var4 = new byte[var3]; + Class76.method1357(this.byteArray, 0, var4, 0, this.length); + this.byteArray = var4; + } + + for(var3 = this.length; ~var3 > ~var1; ++var3) { + this.byteArray[var3] = 32; + } + + if(var2) { + anIntArray2157 = (int[])null; + } + + this.length = var1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.RA(" + var1 + ',' + var2 + ')'); + } + } + + public final String toString() { + if (byteArray == null) { + throw new RuntimeException(); + } + return new String(byteArray); + } + + final void method1554(boolean var1, Applet var2) throws Throwable { + try { + if(var1) { + String var3 = new String(this.byteArray, 0, this.length); + Class42.method1057(var2, !var1, var3); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.AA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method1555(int var1, int var2, int var3) { + try { + byte var4 = (byte)var1; + if(var3 != 1536) { + return 123; + } else { + for(int var5 = var2; ~var5 > ~this.length; ++var5) { + if(this.byteArray[var5] == var4) { + return var5; + } + } + + return -1; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.NA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final RSString method1556(int var1, byte var2) { + try { + if(var2 != -74) { + this.toString(); + } + + return this.method1557(this.length, var2 ^ -74, var1); + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.CA(" + var1 + ',' + var2 + ')'); + } + } + + final RSString method1557(int var1, int var2, int var3) { + try { + RSString var4 = new RSString(); + var4.length = -var3 + var1; + var4.byteArray = new byte[-var3 + var1]; + Class76.method1357(this.byteArray, var3, var4.byteArray, var2, var4.length); + return var4; + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.U(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final boolean method1558(RSString var1, int var2) { + try { + if(~this.length <= ~var1.length) { + for(int var3 = var2; var3 < var1.length; ++var3) { + if(~this.byteArray[var3] != ~var1.byteArray[var3]) { + return false; + } + } + + return true; + } else { + return false; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.UA(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + public final boolean equals(Object var1) { + try { + if(!(var1 instanceof RSString)) { + throw new IllegalArgumentException(); + } else { + return this.method1528((byte)-42, (RSString)var1); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.equals(" + (var1 != null?"{...}":"null") + ')'); + } + } + + final int method1559(RSString var1, int var2) { + try { + if(var2 != -1) { + this.method1544(true); + } + + int var3; + if(var1.length < this.length) { + var3 = var1.length; + } else { + var3 = this.length; + } + + for(int var4 = 0; var3 > var4; ++var4) { + if((255 & this.byteArray[var4]) < (var1.byteArray[var4] & 255)) { + return -1; + } + + if(~(var1.byteArray[var4] & 255) > ~(this.byteArray[var4] & 255)) { + return 1; + } + } + + if(var1.length > this.length) { + return -1; + } else if(~var1.length <= ~this.length) { + return 0; + } else { + return 1; + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.QA(" + (var1 != null?"{...}":"null") + ',' + var2 + ')'); + } + } + + final RSString method1560(RSString var1, boolean var2, RSString var3) { + try { + int var4 = this.length; + int var5 = var1.length - var3.length; + int var6 = 0; + + while(true) { + int var7 = this.method1566(var3, var6, -1); + if(0 > var7) { + var6 = 0; + RSString var10 = Class47.method1090((byte)-104, var4); + + while(true) { + int var8 = this.method1566(var3, var6, -1); + if(0 > var8) { + while(~var6 > ~this.length) { + var10.method1572(255 & this.byteArray[var6++], (byte)117); + } + + if(!var2) { + this.method1567(-5, (byte)-91); + } + + return var10; + } + + while(var6 < var8) { + var10.method1572(this.byteArray[var6++] & 255, (byte)125); + } + + var10.method1533(var1, var2); + var6 += var3.length; + } + } + + var6 = var7 - -var3.length; + var4 += var5; + } + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "na.IA(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + public final int hashCode() { + try { + return this.method1574(false); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "na.hashCode()"); + } + } + + private final boolean method1561(int var1, boolean var2) { + try { + if(~var1 > -2 || var1 > 36) { + var1 = 10; + } + + if(!var2) { + aBoolean2146 = false; + } + + boolean var4 = false; + boolean var3 = false; + int var5 = 0; + + for(int var6 = 0; var6 < this.length; ++var6) { + int var7 = this.byteArray[var6] & 255; + if(0 == var6) { + if(var7 == 45) { + var3 = true; + continue; + } + + if(var7 == 43) { + continue; + } + } + + if(var7 >= 48 && ~var7 >= -58) { + var7 -= 48; + } else if(-66 >= ~var7 && -91 <= ~var7) { + var7 -= 55; + } else { + if(97 > var7 || ~var7 < -123) { + return false; + } + + var7 -= 87; + } + + if(~var7 <= ~var1) { + return false; + } + + if(var3) { + var7 = -var7; + } + + int var8 = var7 + var1 * var5; + if(~var5 != ~(var8 / var1)) { + return false; + } + + var5 = var8; + var4 = true; + } + + return var4; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "na.P(" + var1 + ',' + var2 + ')'); + } + } + + final boolean method1562(byte var1, RSString var2) { + try { + if(this.length < var2.length) { + return false; + } else { + if(var1 != -32) { + this.length = 13; + } + + for(int var3 = 0; var2.length > var3; ++var3) { + byte var4 = this.byteArray[var3]; + byte var5 = var2.byteArray[var3]; + if(var5 >= 65 && var5 <= 90 || -64 <= var5 && -34 >= var5 && -41 != var5) { + var5 = (byte)(var5 + 32); + } + + if(65 <= var4 && ~var4 >= -91 || var4 >= -64 && -34 >= var4 && var4 != -41) { + var4 = (byte)(var4 + 32); + } + + if(~var4 != ~var5) { + return false; + } + } + + return true; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.HB(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final RSString method1563(int var1) { + try { + if(var1 <= 86) { + this.trim(117); + } + + return this; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.K(" + var1 + ')'); + } + } + + final RSString trim(int var1) { + try { + if(var1 != 1) { + method1535((WorldListEntry)null, (WorldListEntry)null, 23, 68, 126, false, false); + } + + int var2; + for(var2 = 0; var2 < this.length && (0 <= this.byteArray[var2] && 32 >= this.byteArray[var2] || -161 == ~(255 & this.byteArray[var2])); ++var2) { + ; + } + + int var3; + for(var3 = this.length; var3 > var2 && (~this.byteArray[var3 - 1] <= -1 && -33 <= ~this.byteArray[var3 - 1] || -161 == ~(255 & this.byteArray[var3 + -1])); --var3) { + ; + } + + if(~var2 == -1 && ~this.length == ~var3) { + return this; + } else { + RSString var4 = new RSString(); + var4.length = var3 + -var2; + var4.byteArray = new byte[var4.length]; + + for(int var5 = 0; var5 < var4.length; ++var5) { + var4.byteArray[var5] = this.byteArray[var2 + var5]; + } + + return var4; + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.KA(" + var1 + ')'); + } + } + + final RSString method1565(int var1, int var2, int var3) { + try { + byte var4 = (byte)var3; + RSString var6 = new RSString(); + byte var5 = (byte)var1; + var6.length = this.length; + var6.byteArray = new byte[this.length]; + if(var2 < 3) { + aBoolean2146 = true; + } + + for(int var7 = 0; ~this.length < ~var7; ++var7) { + byte var8 = this.byteArray[var7]; + if(~var8 != ~var4) { + var6.byteArray[var7] = var8; + } else { + var6.byteArray[var7] = var5; + } + } + + return var6; + } catch (RuntimeException var9) { + throw Class44.method1067(var9, "na.HA(" + var1 + ',' + var2 + ',' + var3 + ')'); + } + } + + final int method1566(RSString var1, int var2, int var3) { + try { + int var4 = var1.length; + if(var2 >= this.length) { + return ~var4 == -1?this.length:-1; + } else { + if(~var2 > -1) { + var2 = 0; + } + + if(var3 == ~var4) { + return var2; + } else { + int var7 = this.length - var4; + byte[] var5 = var1.byteArray; + byte var6 = var5[0]; + int var8 = var2; + + while(~var8 >= ~var7) { + if(~var6 != ~this.byteArray[var8]) { + do { + ++var8; + if(var8 > var7) { + return -1; + } + } while(~var6 != ~this.byteArray[var8]); + } + + boolean var9 = true; + int var10 = 1 + var8; + int var11 = 1; + + while(true) { + if(var11 < var4) { + if(~var5[var11] == ~this.byteArray[var10]) { + ++var10; + ++var11; + continue; + } + + var9 = false; + } + + if(var9) { + return var8; + } + + ++var8; + break; + } + } + + return -1; + } + } + } catch (RuntimeException var12) { + throw Class44.method1067(var12, "na.CB(" + (var1 != null?"{...}":"null") + ',' + var2 + ',' + var3 + ')'); + } + } + + final RSString[] method1567(int var1, byte var2) { + try { + int var3 = 0; + + for(int var4 = 0; ~this.length < ~var4; ++var4) { + if(~var1 == ~this.byteArray[var4]) { + ++var3; + } + } + + RSString[] var11 = new RSString[1 + var3]; + if(var3 == 0) { + var11[0] = this; + return var11; + } else { + int var5 = 0; + int var6 = 0; + int var7 = 0; + + for(int var8 = 88 / ((var2 - -12) / 33); ~var7 > ~var3; ++var7) { + int var9; + for(var9 = 0; ~var1 != ~this.byteArray[var9 + var6]; ++var9) { + ; + } + + var11[var5++] = this.method1557(var6 - -var9, 0, var6); + var6 += 1 + var9; + } + + var11[var3] = this.method1557(this.length, 0, var6); + return var11; + } + } catch (RuntimeException var10) { + throw Class44.method1067(var10, "na.GA(" + var1 + ',' + var2 + ')'); + } + } + + final byte[] method1568(int var1) { + try { + byte[] var2 = new byte[this.length]; + Class76.method1357(this.byteArray, 0, var2, var1, this.length); + return var2; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.H(" + var1 + ')'); + } + } + + final int charAt(int var1, byte var2) { + try { + int var3 = 53 / ((var2 - 9) / 32); + return this.byteArray[var1] & 255; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.SA(" + var1 + ',' + var2 + ')'); + } + } + + static final Class3_Sub28_Sub16 method1570(int var0, byte var1, boolean var2, int var3, boolean var4, int var5, int var6, boolean var7) { + try { + ItemDefinition var8 = Class38.getItemDefinition(var3, (byte)106); + if(~var6 < -2 && var8.anIntArray804 != null) { + int var9 = -1; + + for(int var10 = 0; -11 < ~var10; ++var10) { + if(~var6 <= ~var8.anIntArray766[var10] && var8.anIntArray766[var10] != 0) { + var9 = var8.anIntArray804[var10]; + } + } + + if(0 != ~var9) { + var8 = Class38.getItemDefinition(var9, (byte)84); + } + } + + Class140_Sub1_Sub2 var21 = var8.method1120(18206); + if(null == var21) { + return null; + } else { + Class3_Sub28_Sub16_Sub2 var22 = null; + if(0 == ~var8.anInt791) { + if(var8.anInt762 != -1) { + var22 = (Class3_Sub28_Sub16_Sub2)method1570(var0, (byte)-107, true, var8.anInt795, false, var5, var6, false); + if(null == var22) { + return null; + } + } + } else { + var22 = (Class3_Sub28_Sub16_Sub2)method1570(0, (byte)116, true, var8.anInt789, false, 1, 10, true); + if(null == var22) { + return null; + } + } + + int[] var11 = Class74.anIntArray1100; + int var12 = Class74.anInt1092; + int var13 = Class74.anInt1094; + int[] var14 = new int[4]; + Class74.method1325(var14); + Class3_Sub28_Sub16_Sub2 var15 = new Class3_Sub28_Sub16_Sub2(36, 32); + Class74.method1319(var15.anIntArray4081, 36, 32); + Class51.method1134(); + Class51.method1145(16, 16); + int var16 = var8.anInt810; + Class51.aBoolean843 = false; + if(var7) { + var16 = (int)((double)var16 * 1.5D); + } else if(var5 == 2) { + var16 = (int)(1.04D * (double)var16); + } + + int var18 = Class51.anIntArray851[var8.anInt786] * var16 >> 16; + int var17 = Class51.anIntArray840[var8.anInt786] * var16 >> 16; + var21.method1893(0, var8.anInt799, var8.anInt768, var8.anInt786, var8.anInt792, var17 - (var21.method1871() / 2 + -var8.anInt754), var8.anInt754 + var18, -1L); + if(var5 >= 1) { + var15.method657(1); + if(-3 >= ~var5) { + var15.method657(16777215); + } + + Class74.method1319(var15.anIntArray4081, 36, 32); + } + + if(~var0 != -1) { + var15.method668(var0); + } + + int var19 = 73 / ((-56 - var1) / 47); + if(0 != ~var8.anInt791) { + var22.method643(0, 0); + } else if(-1 != var8.anInt762) { + Class74.method1319(var22.anIntArray4081, 36, 32); + var15.method643(0, 0); + var15 = var22; + } + + if(var4 && (~var8.stackingType == -2 || var6 != 1) && var6 != -1) { + Class3_Sub13_Sub37.aClass3_Sub28_Sub17_Sub1_3440.method681(Class3_Sub7.method123(1000, var6), 0, 9, 16776960, 1); + } + + Class74.method1319(var11, var12, var13); + Class74.method1316(var14); + Class51.method1134(); + Class51.aBoolean843 = true; + return (Class3_Sub28_Sub16)(HDToolKit.highDetail && !var2?new Class3_Sub28_Sub16_Sub1(var15):var15); + } + } catch (RuntimeException var20) { + throw Class44.method1067(var20, "na.WA(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ',' + var6 + ',' + var7 + ')'); + } + } + + final RSString method1571(byte var1) { + try { + long var2 = this.method1538(var1 + 90); + Class var4 = RSString.class; + synchronized(var4) { + Class3_Sub29 var5; + if(Class86.aClass130_1194 != null) { + for(var5 = (Class3_Sub29)Class86.aClass130_1194.method1780(var2, var1 ^ 32); null != var5; var5 = (Class3_Sub29)Class86.aClass130_1194.method1784(0)) { + if(this.method1528((byte)-42, var5.aClass94_2586)) { + return var5.aClass94_2586; + } + } + } else { + Class86.aClass130_1194 = new Class130(4096); + } + + var5 = new Class3_Sub29(); + if(var1 != 32) { + return (RSString)null; + } + + var5.aClass94_2586 = this; + this.aBoolean2152 = false; + Class86.aClass130_1194.method1779(1, var5, var2); + } + + return this; + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "na.BB(" + var1 + ')'); + } + } + + final RSString method1572(int var1, byte var2) { + try { + if(var2 <= 110) { + aBoolean2150 = true; + } + + if(0 < var1 && var1 <= 255) { + if(!this.aBoolean2152) { + throw new IllegalArgumentException(); + } else { + if(this.length == this.byteArray.length) { + int var3; + for(var3 = 1; ~var3 >= ~this.length; var3 += var3) { + ; + } + + byte[] var4 = new byte[var3]; + Class76.method1357(this.byteArray, 0, var4, 0, this.length); + this.byteArray = var4; + } + + this.byteArray[this.length++] = (byte)var1; + return this; + } + } else { + throw new IllegalArgumentException("invalid char:" + var1); + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.L(" + var1 + ',' + var2 + ')'); + } + } + + final RSString method1573(byte var1, Applet var2) { + try { + if(var1 < 124) { + this.method1552((byte)-82); + } + + String var3 = new String(this.byteArray, 0, this.length); + String var4 = var2.getParameter(var3); + return null == var4?null:Class3_Sub29.method732(var4, 27307); + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "na.DB(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final int method1574(boolean var1) { + try { + int var2 = 0; + if(var1) { + anIntArray2157 = (int[])null; + } + + for(int var3 = 0; var3 < this.length; ++var3) { + var2 = (255 & this.byteArray[var3]) + -var2 + (var2 << 998234309); + } + + return var2; + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "na.J(" + var1 + ')'); + } + } + + final int method1575(int var1, FontMetrics var2) { + try { + if(var1 != -21018) { + return 63; + } else { + String var3; + try { + var3 = new String(this.byteArray, 0, this.length, "ISO-8859-1"); + } catch (UnsupportedEncodingException var5) { + var3 = new String(this.byteArray, 0, this.length); + } + + return var2.stringWidth(var3); + } + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.V(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final RSString method1576(byte var1) { + try { + if(!this.aBoolean2152) { + throw new IllegalArgumentException(); + } else { + if(var1 != 90) { + incomingOpcode = -84; + } + + if(this.byteArray.length != this.length) { + byte[] var2 = new byte[this.length]; + Class76.method1357(this.byteArray, 0, var2, 0, this.length); + this.byteArray = var2; + } + + return this; + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.PA(" + var1 + ')'); + } + } + + final Object method1577(int var1, Applet var2) throws Throwable { + try { + String var3 = new String(this.byteArray, 0, this.length); + Object var4 = Class42.method1055(var3, (byte)-111, var2); + if(var4 instanceof String) { + byte[] var5 = ((String)var4).getBytes(); + var4 = Class3_Sub13_Sub3.method178(var5, -4114, var5.length, 0); + } + + if(var1 != -1857) { + this.method1553(116, false); + } + + return var4; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.JA(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + final long toLong(int var1) { + try { + long var2 = 0L; + if(var1 >= -105) { + aBoolean2154 = true; + } + for(int var4 = 0; ~this.length < ~var4 && -13 < ~var4; ++var4) { + byte var5 = this.byteArray[var4]; + var2 *= 37L; + if(65 <= var5 && 90 >= var5) { + var2 += (long)(-65 + 1 + var5); + } else if(~var5 <= -98 && 122 >= var5) { + var2 += (long)(-97 + var5 + 1); + } else if(var5 >= 48 && var5 <= 57) { + var2 += (long)(-48 + var5 + 27); + } + } + + while(~(var2 % 37L) == -1L && var2 != 0L) { + var2 /= 37L; + } + + return var2; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "na.S(" + var1 + ')'); + } + } + + final RSString method1579(int var1) { + try { + RSString var2 = Class41.method1052(-29664, this.toLong(-112)); + return var1 >= -4?(RSString)null:(null == var2?Class134.aClass94_1760:var2); + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "na.Q(" + var1 + ')'); + } + } + + final int method1580(boolean var1, byte[] var2, int var3, int var4, int var5) { + try { + Class76.method1357(this.byteArray, var4, var2, var3, -var4 + var5); + if(!var1) { + method1570(42, (byte)-117, true, -47, false, 3, -26, true); + } + + return -var4 + var5; + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "na.LA(" + var1 + ',' + (var2 != null?"{...}":"null") + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + +static final RSString createRSString(String string) { + if (string != null) { + string = string.replace("RuneScape", "Runite"); + } + try { + byte[] var2 = string.getBytes(); + int var3 = var2.length; + RSString var4 = new RSString(); + int var5 = 0; + var4.byteArray = new byte[var3]; + + while(var3 > var5) { + int var6 = var2[var5++] & 255; + if(45 >= var6 && ~var6 <= -41) { + if(~var5 <= ~var3) { + break; + } + + int var7 = 255 & var2[var5++]; + var4.byteArray[var4.length++] = (byte)(-48 + var7 + 43 * (-40 + var6)); + } else if(~var6 != -1) { + var4.byteArray[var4.length++] = (byte)var6; + } + } + var4.method1576((byte)90); + return var4.method1571((byte)32); + } catch (RuntimeException var8) { + throw Class44.method1067(var8, "cd.D(" + (string != null?"{...}":"null") + ',' + -1 + ')'); + } +} + +} diff --git a/09HDscape-client/src/org/runite/jagex/RenderAnimationDefinition.java b/09HDscape-client/src/org/runite/jagex/RenderAnimationDefinition.java new file mode 100644 index 000000000..da7617c2b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/RenderAnimationDefinition.java @@ -0,0 +1,467 @@ +package org.runite.jagex; + +final class RenderAnimationDefinition { + + private static RSString aClass94_354 = RSString.createRSString("Discard"); + static RSString aClass94_355 = RSString.createRSString("Lade Konfiguration )2 "); + static int[] anIntArray356 = new int[]{1, 0, -1, 0}; + int anInt357 = 0; + + int[][] anIntArrayArray359; + int anInt360 = -1; + static RSString aClass94_361 = aClass94_354; + static volatile int anInt362 = 0; + private static RSString aClass94_363 = RSString.createRSString("Aug"); + int anInt364 = -1; + private static RSString aClass94_365 = RSString.createRSString("May"); + private static RSString aClass94_366 = RSString.createRSString("Loaded world list data"); + int anInt367 = -1; + int anInt368 = -1; + int anInt369 = 0; + int anInt370 = 0; + int anInt371 = 0; + int anInt372 = -1; + int anInt373 = -1; + static RSString aClass94_374 = aClass94_366; + int anInt375 = -1; + private static RSString aClass94_376 = RSString.createRSString("Jul"); + static int anInt377 = 0; + static RSString aClass94_378 = null; + int anInt379 = -1; + static int anInt380; + int anInt381 = 0; + int anInt382 = -1; + static byte[][][] aByteArrayArrayArray383; + static int anInt384 = 0; + private static RSString aClass94_385 = RSString.createRSString("Jun"); + int anInt386 = -1; + int anInt387 = 0; + private static RSString aClass94_388 = RSString.createRSString("Dec"); + int anInt389 = -1; + int anInt390 = -1; + private static RSString aClass94_391 = RSString.createRSString("Oct"); + private static RSString aClass94_392 = RSString.createRSString("Jan"); + int anInt393 = -1; + private static RSString aClass94_394 = RSString.createRSString("Sep"); + int anInt395 = 0; + static int anInt396; + private static RSString aClass94_397 = RSString.createRSString("Nov"); + int anInt398 = -1; + int anInt399 = 0; + int anInt400 = 0; + private static RSString aClass94_401 = RSString.createRSString("Apr"); + static boolean aBoolean402 = false; + int anInt403 = 0; + private static RSString aClass94_404 = RSString.createRSString("Mar"); + private static RSString aClass94_405 = RSString.createRSString("Feb"); + int anInt406 = -1; + int anInt407 = -1; + static RSString[] aClass94Array358 = new RSString[]{aClass94_392, aClass94_405, aClass94_404, aClass94_401, aClass94_365, aClass94_385, aClass94_376, aClass94_363, aClass94_394, aClass94_391, aClass94_397, aClass94_388}; + + public static void method896(boolean var0) { + try { + aClass94_388 = null; + aClass94_374 = null; + aClass94_392 = null; + aClass94_385 = null; + aClass94_355 = null; + aClass94_376 = null; + aClass94_397 = null; + anIntArray356 = null; + aClass94_366 = null; + aClass94Array358 = null; + aClass94_378 = null; + aClass94_354 = null; + aClass94_365 = null; + aClass94_394 = null; + if(!var0) { + getGraphicDefinition((byte)20, -109); + } + + aClass94_361 = null; + aClass94_391 = null; + aClass94_401 = null; + aClass94_405 = null; + aClass94_363 = null; + aByteArrayArrayArray383 = (byte[][][])null; + aClass94_404 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ck.A(" + var0 + ')'); + } + } + + static final boolean method897(int var0, Class3_Sub24_Sub4 var1, CacheIndex var2, CacheIndex var3, CacheIndex var4) { + try { + Class124.aClass153_1661 = var2; + if(var0 != 17770) { + aClass94_366 = (RSString)null; + } + + Class40.aClass153_679 = var4; + Class3_Sub28_Sub20.aClass153_3786 = var3; + Class101.aClass3_Sub24_Sub4_1421 = var1; + return true; + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ck.C(" + var0 + ',' + (var1 != null?"{...}":"null") + ',' + (var2 != null?"{...}":"null") + ',' + (var3 != null?"{...}":"null") + ',' + (var4 != null?"{...}":"null") + ')'); + } + } + + static final GraphicDefinition getGraphicDefinition(byte var0, int graphicId) { + try { + GraphicDefinition def = (GraphicDefinition)Class3_Sub31.aClass93_2604.get((long)graphicId, (byte)121); + if(def != null) { + return def; + } else { + byte[] var3 = Class3_Sub13_Sub18.aClass153_3214.getFile(InputStream_Sub1.method64(true, graphicId), (byte)-122, Class75.method1338(graphicId, var0 ^ 7)); + def = new GraphicDefinition(); + def.graphicId = graphicId; + if(var0 != 42) { + getGraphicDefinition((byte)-83, -12); + } + + if(null != var3) { + def.parse(new RSByteBuffer(var3), (byte)-113); + } + + Class3_Sub31.aClass93_2604.put((byte)-109, def, (long)graphicId); + return def; + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ck.D(" + var0 + ',' + graphicId + ')'); + } + } + + final void method899(int var1) { + try { + if(var1 <= 68) { + method900((Class140_Sub4)null, -23); + } + + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ck.B(" + var1 + ')'); + } + } + + static final void method900(Class140_Sub4 var0, int var1) { + try { + var0.aBoolean2810 = false; + AnimationDefinition var2; + if(-1 != var0.anInt2764) { + var2 = Client.getAnimationDefinition(var0.anInt2764, (byte)-20); + if(null != var2 && null != var2.frames) { + ++var0.anInt2802; + if(~var2.frames.length < ~var0.anInt2813 && var0.anInt2802 > var2.duration[var0.anInt2813]) { + var0.anInt2802 = 1; + ++var0.anInt2813; + ++var0.anInt2793; + IOHandler.method1470(var0.anInt2829, var2, 183921384, var0.anInt2819, var0 == Class102.player, var0.anInt2813); + } + + if(~var0.anInt2813 <= ~var2.frames.length) { + var0.anInt2813 = 0; + var0.anInt2802 = 0; + IOHandler.method1470(var0.anInt2829, var2, 183921384, var0.anInt2819, Class102.player == var0, var0.anInt2813); + } + + var0.anInt2793 = var0.anInt2813 - -1; + if(~var0.anInt2793 <= ~var2.frames.length) { + var0.anInt2793 = 0; + } + } else { + var0.anInt2764 = -1; + } + } + + int var6; + if(~var0.anInt2842 != 0 && ~Class44.anInt719 <= ~var0.anInt2759) { + var6 = getGraphicDefinition((byte)42, var0.anInt2842).anInt542; + if(0 != ~var6) { + AnimationDefinition var3 = Client.getAnimationDefinition(var6, (byte)-20); + if(var3 != null && var3.frames != null) { + if(0 > var0.anInt2805) { + var0.anInt2805 = 0; + IOHandler.method1470(var0.anInt2829, var3, 183921384, var0.anInt2819, Class102.player == var0, 0); + } + + ++var0.anInt2761; + if(var0.anInt2805 < var3.frames.length && ~var3.duration[var0.anInt2805] > ~var0.anInt2761) { + ++var0.anInt2805; + var0.anInt2761 = 1; + IOHandler.method1470(var0.anInt2829, var3, var1 ^ -183911469, var0.anInt2819, Class102.player == var0, var0.anInt2805); + } + + if(var0.anInt2805 >= var3.frames.length) { + var0.anInt2842 = -1; + } + + var0.anInt2826 = var0.anInt2805 - -1; + if(~var3.frames.length >= ~var0.anInt2826) { + var0.anInt2826 = -1; + } + } else { + var0.anInt2842 = -1; + } + } else { + var0.anInt2842 = -1; + } + } + + if(~var0.anInt2771 != 0 && -2 <= ~var0.anInt2828) { + var2 = Client.getAnimationDefinition(var0.anInt2771, (byte)-20); + if(~var2.anInt1866 == -2 && var0.anInt2811 > 0 && ~Class44.anInt719 <= ~var0.anInt2800 && Class44.anInt719 > var0.anInt2790) { + var0.anInt2828 = 1; + return; + } + } + + if(var1 == -11973) { + if(~var0.anInt2771 != 0 && -1 == ~var0.anInt2828) { + var2 = Client.getAnimationDefinition(var0.anInt2771, (byte)-20); + if(var2 != null && var2.frames != null) { + ++var0.anInt2760; + if(~var0.anInt2832 > ~var2.frames.length && var0.anInt2760 > var2.duration[var0.anInt2832]) { + var0.anInt2760 = 1; + ++var0.anInt2832; + IOHandler.method1470(var0.anInt2829, var2, 183921384, var0.anInt2819, var0 == Class102.player, var0.anInt2832); + } + + if(var2.frames.length <= var0.anInt2832) { + var0.anInt2832 -= var2.anInt1865; + ++var0.anInt2773; + if(~var0.anInt2773 > ~var2.anInt1861) { + if(var0.anInt2832 >= 0 && ~var2.frames.length < ~var0.anInt2832) { + IOHandler.method1470(var0.anInt2829, var2, var1 ^ -183911469, var0.anInt2819, Class102.player == var0, var0.anInt2832); + } else { + var0.anInt2771 = -1; + } + } else { + var0.anInt2771 = -1; + } + } + + var0.anInt2776 = var0.anInt2832 + 1; + if(var0.anInt2776 >= var2.frames.length) { + var0.anInt2776 -= var2.anInt1865; + if(var2.anInt1861 > var0.anInt2773 + 1) { + if(0 > var0.anInt2776 || var0.anInt2776 >= var2.frames.length) { + var0.anInt2776 = -1; + } + } else { + var0.anInt2776 = -1; + } + } + + var0.aBoolean2810 = var2.aBoolean1859; + } else { + var0.anInt2771 = -1; + } + } + + if(0 < var0.anInt2828) { + --var0.anInt2828; + } + + for(var6 = 0; var0.aClass145Array2809.length > var6; ++var6) { + Class145 var7 = var0.aClass145Array2809[var6]; + if(null != var7) { + if(~var7.anInt1900 >= -1) { + AnimationDefinition var4 = Client.getAnimationDefinition(var7.animationId, (byte)-20); + if(null != var4 && var4.frames != null) { + ++var7.anInt1897; + if(var7.anInt1893 < var4.frames.length && var7.anInt1897 > var4.duration[var7.anInt1893]) { + ++var7.anInt1893; + var7.anInt1897 = 1; + IOHandler.method1470(var0.anInt2829, var4, 183921384, var0.anInt2819, var0 == Class102.player, var7.anInt1893); + } + + if(~var4.frames.length >= ~var7.anInt1893) { + ++var7.anInt1894; + var7.anInt1893 -= var4.anInt1865; + if(var4.anInt1861 > var7.anInt1894) { + if(-1 >= ~var7.anInt1893 && ~var7.anInt1893 > ~var4.frames.length) { + IOHandler.method1470(var0.anInt2829, var4, 183921384, var0.anInt2819, Class102.player == var0, var7.anInt1893); + } else { + var0.aClass145Array2809[var6] = null; + } + } else { + var0.aClass145Array2809[var6] = null; + } + } + + var7.anInt1891 = 1 + var7.anInt1893; + if(var4.frames.length <= var7.anInt1891) { + var7.anInt1891 -= var4.anInt1865; + if(1 + var7.anInt1894 < var4.anInt1861) { + if(-1 < ~var7.anInt1891 || var4.frames.length <= var7.anInt1891) { + var7.anInt1891 = -1; + } + } else { + var7.anInt1891 = -1; + } + } + } else { + var0.aClass145Array2809[var6] = null; + } + } else { + --var7.anInt1900; + } + } + } + + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ck.F(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + + final void parse(int var1, RSByteBuffer var2) { + try { + if(var1 != -1) { + method900((Class140_Sub4)null, -18); + } + + while(true) { + int opcode = var2.getByte((byte)-34); + if(-1 == ~opcode) { + return; + } + + this.parseOpcode(opcode, (byte)-106, var2); + } + } catch (RuntimeException var4) { + throw Class44.method1067(var4, "ck.H(" + var1 + ',' + (var2 != null?"{...}":"null") + ')'); + } + } + + private final void parseOpcode(int var1, byte var2, RSByteBuffer var3) { + try { + if(var1 == 1) { + this.anInt368 = var3.getShort(1); + this.anInt382 = var3.getShort(1); + if(-65536 == ~this.anInt382) { + this.anInt382 = -1; + } + + if('\uffff' == this.anInt368) { + this.anInt368 = -1; + } + } else if(-3 == ~var1) { + this.anInt398 = var3.getShort(var2 ^ -105); + } else if(-4 != ~var1) { + if(4 == var1) { + this.anInt406 = var3.getShort(1); + } else if(var1 != 5) { + if(6 != var1) { + if(7 == var1) { + this.anInt386 = var3.getShort(1); + } else if(var1 != 8) { + if(-10 != ~var1) { + if(var1 == 26) { + this.anInt395 = (short)(4 * var3.getByte((byte)-35)); + this.anInt381 = (short)(4 * var3.getByte((byte)-110)); + } else if(-28 != ~var1) { + if(-30 != ~var1) { + if(var1 != 30) { + if(~var1 == -32) { + this.anInt387 = var3.getByte((byte)-106); + } else if(32 != var1) { + if(33 == var1) { + this.anInt400 = var3.getShort((byte)41); + } else if(34 == var1) { + this.anInt403 = var3.getByte((byte)-79); + } else if(var1 != 35) { + if(var1 != 36) { + if(-38 != ~var1) { + if(var1 == 38) { + this.anInt367 = var3.getShort(1); + } else if(39 == var1) { + this.anInt407 = var3.getShort(1); + } else if(var1 == 40) { + this.anInt389 = var3.getShort(1); + } else if(41 == var1) { + this.anInt390 = var3.getShort(1); + } else if(var1 == 42) { + this.anInt364 = var3.getShort(1); + } else if(-44 != ~var1) { + if(~var1 != -45) { + if(~var1 == -46) { + var3.getShort(1); + } + } else { + var3.getShort(1); + } + } else { + var3.getShort(var2 ^ -105); + } + } else { + this.anInt360 = var3.getByte((byte)-48); + } + } else { + this.anInt371 = var3.getShort((byte)122); + } + } else { + this.anInt399 = var3.getShort(1); + } + } else { + this.anInt370 = var3.getShort(1); + } + } else { + this.anInt357 = var3.getShort(1); + } + } else { + this.anInt369 = var3.getByte((byte)-80); + } + } else { + if(this.anIntArrayArray359 == null) { + this.anIntArrayArray359 = new int[12][]; + } + + int var4 = var3.getByte((byte)-94); + this.anIntArrayArray359[var4] = new int[6]; + + for(int var5 = 0; var5 < 6; ++var5) { + this.anIntArrayArray359[var4][var5] = var3.getShort((byte)85); + } + } + } else { + this.anInt375 = var3.getShort(1); + } + } else { + this.anInt373 = var3.getShort(1); + } + } else { + this.anInt393 = var3.getShort(1); + } + } else { + this.anInt379 = var3.getShort(1); + } + } else { + this.anInt372 = var3.getShort(var2 ^ -105); + } + + if(var2 != -106) { + this.parse(96, (RSByteBuffer)null); + } + + } catch (RuntimeException var6) { + throw Class44.method1067(var6, "ck.E(" + var1 + ',' + var2 + ',' + (var3 != null?"{...}":"null") + ')'); + } + } + + static final RSString method903(RSString[] var0, byte var1) { + try { + if(-3 >= ~var0.length) { + if(var1 >= -57) { + method897(-13, (Class3_Sub24_Sub4)null, (CacheIndex)null, (CacheIndex)null, (CacheIndex)null); + } + + return Class67.method1261(0, var0.length, var0, 2774); + } else { + throw new IllegalArgumentException(); + } + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ck.G(" + (var0 != null?"{...}":"null") + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/RuntimeException_Sub1.java b/09HDscape-client/src/org/runite/jagex/RuntimeException_Sub1.java new file mode 100644 index 000000000..b846b1b2b --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/RuntimeException_Sub1.java @@ -0,0 +1,67 @@ +package org.runite.jagex; + +final class RuntimeException_Sub1 extends RuntimeException { + + static int[] anIntArray2113 = new int[]{2, 2, 4, 0, 1, 8, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}; + static Class96[] aClass96Array2114 = new Class96[4]; + static int anInt2115 = -1; + static RSString aClass94_2116 = RSString.createRSString("Hidden)2use"); + String aString2117; + Throwable aThrowable2118; + static RSString[] aClass94Array2119 = null; + static int anInt2120 = 0; + static String worldListHost; + + + static final void method2285(int var0, int var1, int var2, int var3, boolean var4, int var5) { + try { + Class3_Sub29.anInt2587 = var1; + if(!var4) { + Class3_Sub13_Sub8.anInt3103 = var5; + Class140_Sub7.anInt2938 = var0; + Class9.anInt144 = var3; + Class3_Sub28_Sub15.anInt3695 = var2; + } + } catch (RuntimeException var7) { + throw Class44.method1067(var7, "ld.B(" + var0 + ',' + var1 + ',' + var2 + ',' + var3 + ',' + var4 + ',' + var5 + ')'); + } + } + + static final int method2286(byte var0) { + try { + if(var0 != -5) { + worldListHost = (String)null; + } + + return 6; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ld.A(" + var0 + ')'); + } + } + + RuntimeException_Sub1(Throwable var1, String var2) { + this.aString2117 = var2; + this.aThrowable2118 = var1; + } + + static final int method2287(int var0, byte var1) { + try { + return (-98 < ~var0 || ~var0 < -123) && (-225 < ~var0 || ~var0 < -255 || 247 == var0)?(-256 != ~var0?(var0 != 156?(var1 != 59?72:var0):140):159):var0 + -32; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ld.C(" + var0 + ',' + var1 + ')'); + } + } + + public static void method2288(boolean var0) { + anIntArray2113 = null; + aClass94_2116 = null; + aClass96Array2114 = null; + aClass94Array2119 = null; + if(var0) { + method2287(-64, (byte)-87); + } + + worldListHost = null; + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/Sensor.java b/09HDscape-client/src/org/runite/jagex/Sensor.java new file mode 100644 index 000000000..a6d16865d --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Sensor.java @@ -0,0 +1,60 @@ +package org.runite.jagex; +import java.awt.Component; +import java.awt.Cursor; +import java.awt.Point; +import java.awt.Robot; +import java.awt.image.BufferedImage; + +class Sensor { + + private Robot aRobot1732 = new Robot(); + private Component aComponent1733; + + + void method1795(byte var1, Point var2, int var3, Component var4, int var5, int[] var6) { + if(var1 > 108) { + if(var6 != null) { + BufferedImage var7 = new BufferedImage(var3, var5, 2); + var7.setRGB(0, 0, var3, var5, var6, 0, var3); + var4.setCursor(var4.getToolkit().createCustomCursor(var7, var2, (String)null)); + } else { + var4.setCursor((Cursor)null); + } + } + + } + + Sensor() throws Exception {} + + void method1796(int var1, int var2, int var3) { + int var4 = -58 / ((var2 - -29) / 57); + this.aRobot1732.mouseMove(var1, var3); + } + + void method1797(Component var1, int var2, boolean var3) { + if(!var3) { + if(var1 == null) { + throw new NullPointerException(); + } + } else { + var1 = null; + } + + if(var1 != this.aComponent1733) { + if(var2 != 1) { + this.method1795((byte)-12, (Point)null, -10, (Component)null, -51, (int[])null); + } + + if(this.aComponent1733 != null) { + this.aComponent1733.setCursor((Cursor)null); + this.aComponent1733 = null; + } + + if(var1 != null) { + var1.setCursor(var1.getToolkit().createCustomCursor(new BufferedImage(1, 1, 2), new Point(0, 0), (String)null)); + this.aComponent1733 = var1; + } + } + + } +} diff --git a/09HDscape-client/src/org/runite/jagex/Signlink.java b/09HDscape-client/src/org/runite/jagex/Signlink.java new file mode 100644 index 000000000..b189f3aaa --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/Signlink.java @@ -0,0 +1,696 @@ +package org.runite.jagex; +import java.applet.Applet; +import java.awt.Component; +import java.awt.EventQueue; +import java.awt.Frame; +import java.awt.Point; +import java.awt.Toolkit; +import java.io.DataInputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.net.InetAddress; +import java.net.Socket; +import java.net.URL; +import java.util.Hashtable; +import java.util.Vector; + +public class Signlink implements Runnable { + + public static String javaVersion; + public Class122[] aClass122Array1197; + public Class122 aClass122_1198 = null; + public EventQueue anEventQueue1199; + private Thread aThread1200; + private boolean aBoolean1201 = false; + public static String osName; + private Class64 aClass64_1203 = null; + public Class122 aClass122_1204 = null; + public static String osNameCS; + private Sensor aSensor1206; + public Class122 aClass122_1207 = null; + private Display aDisplay1208; + private static String homeDirectory; + public static String osVersion; + private static Hashtable aHashtable1211 = new Hashtable(16); + private String aString1212; + private Class64 aClass64_1213 = null; + public static int anInt1214 = 1; + private int anInt1215; + public static String javaVendor; + private Interface1 anInterface1_1217; + public static String osArchitecture; + public Applet anApplet1219 = null; + public static Method aMethod1220; + static volatile long aLong1221 = 0L; + public static Method aMethod1222; + + + public final void method1431(int var1) { + if(var1 != 0) { + this.method1442((Class)null, 99); + } + + aLong1221 = Class5.method830((byte)-55) - -5000L; + } + + public final boolean method1432(boolean var1) { + if(var1) { + this.aClass122Array1197 = null; + } + + return this.aDisplay1208 != null; + } + + public final Class64 method1433(String var1, int var2) { + if(var2 != 12) { + this.aClass122_1207 = null; + } + + return this.method1435(12, 0, var1, 0, var2 + -58); + } + + public final Class64 method1434(int[] var1, int var2, int var3, Component var4, Point var5, int var6) { + return var2 != 10000?null:this.method1435(17, var6, new Object[]{var4, var1, var5}, var3, -57); + } + + private final Class64 method1435(int var1, int var2, Object var3, int var4, int var5) { + Class64 var6 = new Class64(); + var6.anInt980 = var2; + var6.anInt979 = var4; + var6.anInt975 = var1; + var6.anObject977 = var3; + synchronized(this) { + if(var5 >= -2) { + return null; + } else { + if(this.aClass64_1203 != null) { + this.aClass64_1203.aClass64_976 = var6; + this.aClass64_1203 = var6; + } else { + this.aClass64_1203 = this.aClass64_1213 = var6; + } + + this.notify(); + return var6; + } + } + } + + public final Class64 method1436(Frame var1, int var2) { + if(var2 <= 78) { + this.anApplet1219 = null; + } + + return this.method1435(7, 0, var1, 0, -112); + } + + public final Class64 method1437(int var1, int var2, Component var3, int var4) { + if(var1 != 14) { + return null; + } else { + Point var5 = var3.getLocationOnScreen(); + return this.method1435(14, var4 - -var5.y, (Object)null, var5.x + var2, var1 + -105); + } + } + + private static final Class122 method1438(boolean var0, String var1) { + if(var0) { + method1438(true, (String)null); + } + + String[] var2 = new String[]{"c:/rscache/", "/rscache/", homeDirectory, "c:/windows/", "c:/winnt/", "c:/", "/tmp/", ""}; + + for(int var3 = 0; var2.length > var3; ++var3) { + String var4 = var2[var3]; + if(var4.length() <= 0 || (new File(var4)).exists()) { + try { + Class122 var5 = new Class122(new File(var4, "jagex_" + var1 + "_preferences.dat"), "rw", 10000L); + return var5; + } catch (Exception var6) { + ; + } + } + } + + return null; + } + + public final Class64 method1439(boolean var1, URL var2) { + if(var1) { + this.aClass122_1204 = null; + } + + return this.method1435(4, 0, var2, 0, -118); + } + + public final Class64 method1440(boolean var1, int var2, Component var3) { + int var4 = 34 % ((-10 - var2) / 52); + return this.method1435(15, 0, var3, var1?1:0, -84); + } + + public final Class64 method1441(byte var1, String address, int port) { + return var1 != 8?null:this.method1435(1, 0, address, port, -17); + } + + public final Class64 method1442(Class var1, int var2) { + return var2 != 0?null:this.method1435(11, 0, var1, 0, -5); + } + + public final Class64 method1443(Class var1, Class[] var2, int var3, String var4) { + if(var3 > -7) { + homeDirectory = null; + } + + return this.method1435(8, 0, new Object[]{var1, var4, var2}, 0, -75); + } + + public final void run() { + while(true) { + Class64 var1; + synchronized(this) { + while(true) { + if(this.aBoolean1201) { + return; + } + + if(this.aClass64_1213 != null) { + var1 = this.aClass64_1213; + this.aClass64_1213 = this.aClass64_1213.aClass64_976; + if(this.aClass64_1213 == null) { + this.aClass64_1203 = null; + } + break; + } + + try { + this.wait(); + } catch (InterruptedException var11) { + ; + } + } + } + + try { + int var2 = var1.anInt975; + if(var2 == 1) { + if(~aLong1221 < ~Class5.method830((byte)-55)) { + throw new IOException(); + } +// System.out.println("Roar " + (String)var1.anObject977 + ", port " + var1.anInt979); + var1.anObject974 = new Socket(InetAddress.getByName((String)var1.anObject977), var1.anInt979); + } else if(2 != var2) { + if(-5 != ~var2) { + Object[] var3; + if(-9 != ~var2) { + if(-10 != ~var2) { + String var4; + if(~var2 == -4) { + if(~Class5.method830((byte)-55) > ~aLong1221) { + throw new IOException(); + } + + var4 = (var1.anInt979 >> 24 & 255) + "." + (var1.anInt979 >> 16 & 255) + "." + (var1.anInt979 >> -168961752 & 255) + "." + (255 & var1.anInt979); + var1.anObject974 = InetAddress.getByName(var4).getHostName(); + } else if(~var2 != -6) { + if(~var2 == -7) { + Frame var5 = new Frame("Jagex Full Screen"); + var1.anObject974 = var5; + var5.setResizable(false); + this.aDisplay1208.method918(-56, var1.anInt980 & '\uffff', var1.anInt980 >> -246436720, '\uffff' & var1.anInt979, var5, var1.anInt979 >>> -106794832); + } else if(-8 != ~var2) { + if(10 == var2) { + Class[] var17 = new Class[]{Class.forName("java.lang.Class"), Class.forName("java.lang.String")}; + Runtime var6 = Runtime.getRuntime(); + Method var7; + if(!osName.startsWith("mac")) { + var7 = Class.forName("java.lang.Runtime").getDeclaredMethod("loadLibrary0", var17); + var7.setAccessible(true); + var7.invoke(var6, new Object[]{var1.anObject977, "jawt"}); + var7.setAccessible(false); + } + boolean var11 = osArchitecture.contains("64"); + boolean var12 = osName.startsWith("sunos"); + var7 = Class.forName("java.lang.Runtime").getDeclaredMethod("load0", var17); + var7.setAccessible(true); + if(!osName.startsWith("linux") && !var12) { + if(osName.startsWith("mac")) { + createLibs(var11 ? 2 : 3); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "libjogl.jnilib").toString()}); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "libjogl_awt.jnilib").toString()}); + } else { + + if(!osName.startsWith("win")) { + throw new Exception(); + } + createLibs(var11 ? 1 : 0); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "jogl.dll").toString()}); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "jogl_awt.dll").toString()}); + } + } else { + createLibs(var12 ? (var11 ? 7 : 6) : (var11 ? 5 : 4)); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "libgluegen-rt.so").toString()}); + Class var8 = ((Class)var1.anObject977).getClassLoader().loadClass("com.sun.opengl.impl.x11.DRIHack"); + var8.getMethod("begin", new Class[0]).invoke((Object)null, new Object[0]); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "libjogl.so").toString()}); + var8.getMethod("end", new Class[0]).invoke((Object)null, new Object[0]); + var7.invoke(var6, new Object[]{var1.anObject977, method1448(this.aString1212, this.anInt1215, true, "libjogl_awt.so").toString()}); + } + + var7.setAccessible(false); + } else { + int var18; + if(-12 == ~var2) { + Field var20 = Class.forName("java.lang.ClassLoader").getDeclaredField("nativeLibraries"); + var20.setAccessible(true); + Vector var24 = (Vector)var20.get(((Class)var1.anObject977).getClassLoader()); + + for(var18 = 0; ~var24.size() < ~var18; ++var18) { + Object var26 = var24.elementAt(var18); + Method var9 = var26.getClass().getDeclaredMethod("finalize", new Class[0]); + var9.setAccessible(true); + var9.invoke(var26, new Object[0]); + var9.setAccessible(false); + Field var10 = var26.getClass().getDeclaredField("handle"); + var10.setAccessible(true); + var10.set(var26, new Integer(0)); + var10.setAccessible(false); + } + + var20.setAccessible(false); + } else if(-13 == ~var2) { + var4 = (String)var1.anObject977; + Class122 var19 = method1438(false, var4); + var1.anObject974 = var19; + } else if(~var2 == -15) { + int var22 = var1.anInt980; + int var23 = var1.anInt979; + this.aSensor1206.method1796(var23, -112, var22); + } else if(15 == var2) { + boolean var21 = var1.anInt979 != 0; + Component var27 = (Component)var1.anObject977; + this.aSensor1206.method1797(var27, 1, var21); + } else if(17 != var2) { + if(16 != var2) { + throw new Exception(); + } + + try { + if(!osName.startsWith("win")) { + throw new Exception(); + } + + var4 = (String)var1.anObject977; + if(!var4.startsWith("http://") && !var4.startsWith("https://")) { + throw new Exception(); + } + + String var25 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + + for(var18 = 0; var18 < var4.length(); ++var18) { + if(~var25.indexOf(var4.charAt(var18)) == 0) { + throw new Exception(); + } + } + + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var4 + "\""); + var1.anObject974 = null; + } catch (Exception var12) { + var1.anObject974 = var12; + } + } else { + var3 = (Object[])var1.anObject977; + this.aSensor1206.method1795((byte)113, (Point)var3[2], var1.anInt979, (Component)var3[0], var1.anInt980, (int[])var3[1]); + } + } + } else { + this.aDisplay1208.method920(-117); + } + } else { + var1.anObject974 = this.aDisplay1208.method919(true); + } + } else { + var3 = (Object[])var1.anObject977; + if(((Class)var3[0]).getClassLoader() == null) { + throw new SecurityException(); + } + + var1.anObject974 = ((Class)var3[0]).getDeclaredField((String)var3[1]); + } + } else { + var3 = (Object[])var1.anObject977; + if(((Class)var3[0]).getClassLoader() == null) { + throw new SecurityException(); + } + + var1.anObject974 = ((Class)var3[0]).getDeclaredMethod((String)var3[1], (Class[])var3[2]); + } + } else { + if(~aLong1221 < ~Class5.method830((byte)-55)) { + throw new IOException(); + } + + var1.anObject974 = new DataInputStream(((URL)var1.anObject977).openStream()); + } + } else { + Thread var16 = new Thread((Runnable)var1.anObject977); + var16.setDaemon(true); + var16.start(); + var16.setPriority(var1.anInt979); + var1.anObject974 = var16; + } + + var1.anInt978 = 1; + } catch (ThreadDeath var13) { + throw var13; + } catch (Throwable var14) { + var1.anInt978 = 2; + } + } + } + + public void createLibs(int archive) throws Throwable { + String jogl = archive < 2 ? "jogl.dll" : archive < 4 ? "libjogl.jnilib" : "libjogl.so"; + String joglAwt = archive < 2 ? "jogl_awt.dll" : archive < 4 ? "libjogl_awt.jnilib" : "libjogl_awt.so"; + byte[] bs = Class132.libIndex.getFile(archive, (byte)-122, 0); + if (bs == null || bs.length < 1) { + System.err.println("Could not create native lib " + joglAwt + ", archive=" + archive + "!"); + return; + } + FileOutputStream fos = new FileOutputStream(method1448(this.aString1212, this.anInt1215, true, joglAwt)); + fos.write(bs); + fos.flush(); + fos.close(); + bs = Class132.libIndex.getFile(archive, (byte)-122, 1); + if (bs == null || bs.length < 1) { + System.err.println("Could not create native lib " + jogl + ", archive=" + archive + "!"); + return; + } + fos = new FileOutputStream(method1448(this.aString1212, this.anInt1215, true, jogl)); + fos.write(bs); + fos.flush(); + fos.close(); + if (archive > 3) { + bs = Class132.libIndex.getFile(archive, (byte)-122, 2); + if (bs == null || bs.length < 1) { + System.err.println("Could not create native lib libgluegen-rt.so, archive=" + archive + "!"); + return; + } + fos = new FileOutputStream(method1448(this.aString1212, this.anInt1215, true, "libgluegen-rt.so")); + fos.write(bs); + fos.flush(); + fos.close(); + } + } + + public final Class64 method1444(int var1, Class var2) { + if(var1 > -13) { + this.method1435(88, -20, (Object)null, 76, -127); + } + + return this.method1435(10, 0, var2, 0, -113); + } + + public final void method1445(int var1) { + synchronized(this) { + this.aBoolean1201 = true; + this.notifyAll(); + } + + try { + this.aThread1200.join(); + } catch (InterruptedException var8) { + ; + } + + if(var1 != 0) { + method1438(false, (String)null); + } + + if(this.aClass122_1198 != null) { + try { + this.aClass122_1198.close(var1 ^ 1); + } catch (IOException var7) { + ; + } + } + + if(this.aClass122_1204 != null) { + try { + this.aClass122_1204.close(1); + } catch (IOException var6) { + ; + } + } + + if(this.aClass122Array1197 != null) { + for(int var2 = 0; ~this.aClass122Array1197.length < ~var2; ++var2) { + if(this.aClass122Array1197[var2] != null) { + try { + this.aClass122Array1197[var2].close(var1 ^ 1); + } catch (IOException var5) { + ; + } + } + } + } + + if(this.aClass122_1207 != null) { + try { + this.aClass122_1207.close(var1 + 1); + } catch (IOException var4) { + ; + } + } + + } + + public final Interface1 method1446(byte var1) { + if(var1 < 71) { + this.method1452((String)null, true); + } + + return this.anInterface1_1217; + } + + public final Class64 method1447(int var1, String var2, Class var3) { + if(var1 > -39) { + this.method1452((String)null, true); + } + + return this.method1435(9, 0, new Object[]{var3, var2}, 0, -43); + } + + public static final File method1448(String var0, int var1, boolean var2, String var3) { + File var4 = (File)aHashtable1211.get(var3); + if(var4 != null) { + return var4; + } else { + if(!var2) { + method1438(true, (String)null); + } + + /*String[] var5 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", homeDirectory, "/tmp/", ""}; + String[] var6 = new String[]{".530jagex_cache_" + var1, ".530file_store_" + var1};*/ + String[] var5 = new String[]{homeDirectory, "c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", "/tmp/", ""}; + String[] var6 = new String[]{".runite_rs", ".530file_store_" + var1}; + + for(int var7 = 0; ~var7 > -3; ++var7) { + for(int var8 = 0; var6.length > var8; ++var8) { + for(int var9 = 0; var5.length > var9; ++var9) { + String var10 = var5[var9] + var6[var8] + "/" + (var0 != null ? var0 + "/":"") + var3; + RandomAccessFile var11 = null; + + try { + File var12 = new File(var10); + if(var7 != 0 || var12.exists()) { + String var13 = var5[var9]; + if(var7 != 1 || ~var13.length() >= -1 || (new File(var13)).exists()) { + (new File(var5[var9] + var6[var8])).mkdir(); + if(var0 != null) { + (new File(var5[var9] + var6[var8] + "/" + var0)).mkdir(); + } + if(var10.toString().endsWith(".dll")){ +// ClientLoader.getLibraryDownloader().updateDlls(var10.toString()); + } + var11 = new RandomAccessFile(var12, "rw"); + int var14 = var11.read(); + var11.seek(0L); + var11.write(var14); + var11.seek(0L); + var11.close(); + aHashtable1211.put(var3, var12); + return var12; + } + } + } catch (Exception var16) { + try { + if(var11 != null) { + var11.close(); + var11 = null; + } + } catch (Exception var15) { + ; + } + } + } + } + } + + throw new RuntimeException(); + } + } + + public final Class64 method1449(int var1, int var2) { + if(var1 != 3) { + this.aClass122_1204 = null; + } + + return this.method1435(3, 0, (Object)null, var2, var1 + -96); + } + + public final Class64 method1450(int var1, int var2, int var3, int var4, int var5) { + int var6 = -68 % ((var5 - 4) / 53); + return this.method1435(6, var1 + (var2 << 553962480), (Object)null, (var4 << 220768560) + var3, -49); + } + + public final Class64 method1451(int var1, int var2, Runnable var3) { + return var1 != 0?null:this.method1435(2, 0, var3, var2, -27); + } + + public final Class64 method1452(String var1, boolean var2) { + if(!var2) { + this.method1436((Frame)null, 101); + } + + return this.method1435(16, 0, var1, 0, -10); + } + + public final Class64 method1453(byte var1) { + if(var1 < 7) { + this.method1443((Class)null, (Class[])null, -91, (String)null); + } + + return this.method1435(5, 0, (Object)null, 0, -127); + } + + public Signlink(Applet var1, int var2, String folder, int cacheIndexes) throws Exception { + javaVersion = "1.1"; + this.aString1212 = folder; + this.anInt1215 = var2; + this.anApplet1219 = var1; + javaVendor = "Unknown"; + + try { + javaVendor = System.getProperty("java.vendor"); + javaVersion = System.getProperty("java.version"); + } catch (Exception var17) { + ; + } + + try { + osNameCS = System.getProperty("os.name"); + } catch (Exception var16) { + osNameCS = "Unknown"; + } + + osName = osNameCS.toLowerCase(); + + try { + osArchitecture = System.getProperty("os.arch").toLowerCase(); + } catch (Exception var15) { + osArchitecture = ""; + } + + try { + osVersion = System.getProperty("os.version").toLowerCase(); + } catch (Exception var14) { + osVersion = ""; + } + + try { + homeDirectory = System.getProperty("user.home"); + if(homeDirectory != null) { + homeDirectory = homeDirectory + "/"; + } + } catch (Exception var13) { + ; + } + + if(homeDirectory == null) { + homeDirectory = "~/"; + } + + try { + this.anEventQueue1199 = Toolkit.getDefaultToolkit().getSystemEventQueue(); + } catch (Throwable var12) { + ; + } + + try { + if(var1 != null) { + aMethod1222 = var1.getClass().getMethod("setFocusTraversalKeysEnabled", new Class[]{Boolean.TYPE}); + } else { + aMethod1222 = Class.forName("java.awt.Component").getDeclaredMethod("setFocusTraversalKeysEnabled", new Class[]{Boolean.TYPE}); + } + } catch (Exception var11) { + ; + } + + try { + if(var1 == null) { + aMethod1220 = Class.forName("java.awt.Container").getDeclaredMethod("setFocusCycleRoot", new Class[]{Boolean.TYPE}); + } else { + aMethod1220 = var1.getClass().getMethod("setFocusCycleRoot", new Class[]{Boolean.TYPE}); + } + } catch (Exception var10) { + ; + } + + this.aClass122_1207 = new Class122(method1448((String)null, this.anInt1215, true, "random.dat"), "rw", 25L); + this.aClass122_1198 = new Class122(method1448(this.aString1212, this.anInt1215, true, "main_file_cache.dat2"), "rw", 104857600L); + this.aClass122_1204 = new Class122(method1448(this.aString1212, this.anInt1215, true, "main_file_cache.idx255"), "rw", 1048576L); + this.aClass122Array1197 = new Class122[cacheIndexes]; + + for(int var5 = 0; ~cacheIndexes < ~var5; ++var5) { + this.aClass122Array1197[var5] = new Class122(method1448(this.aString1212, this.anInt1215, true, "main_file_cache.idx" + var5), "rw", 1048576L); + } + + try { + this.aDisplay1208 = new Display(); + } catch (Throwable var9) { + var9.printStackTrace(); + ; + } + + try { + this.aSensor1206 = new Sensor(); + } catch (Throwable var8) { + ; + } + + ThreadGroup var18 = Thread.currentThread().getThreadGroup(); + + for(ThreadGroup var6 = var18.getParent(); var6 != null; var6 = var6.getParent()) { + var18 = var6; + } + + Thread[] var19 = new Thread[1000]; + var18.enumerate(var19); + + for(int var7 = 0; var7 < var19.length; ++var7) { + if(var19[var7] != null && var19[var7].getName().startsWith("AWT")) { + var19[var7].setPriority(1); + } + } + + this.aBoolean1201 = false; + this.aThread1200 = new Thread(this); + this.aThread1200.setPriority(10); + this.aThread1200.setDaemon(true); + this.aThread1200.start(); + } +} diff --git a/09HDscape-client/src/org/runite/jagex/WorldListCountry.java b/09HDscape-client/src/org/runite/jagex/WorldListCountry.java new file mode 100644 index 000000000..88f4f8ea6 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/WorldListCountry.java @@ -0,0 +1,28 @@ +package org.runite.jagex; + +final class WorldListCountry { + + static RSString aClass94_500 = RSString.createRSString(" GMT"); + static int localPlane; + static int anInt502; + static int anInt503; + static RSString aClass94_504 = RSString.createRSString("p12_full"); + static short aShort505 = 1; + static int anInt506; + int flagId; + RSString name; + static int[] anIntArray509 = new int[5]; + + + public static void method960(int var0) { + try { + anIntArray509 = null; + aClass94_500 = null; + aClass94_504 = null; + int var1 = 32 % ((-78 - var0) / 34); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ee.A(" + var0 + ')'); + } + } + +} diff --git a/09HDscape-client/src/org/runite/jagex/WorldListEntry.java b/09HDscape-client/src/org/runite/jagex/WorldListEntry.java new file mode 100644 index 000000000..78fca4916 --- /dev/null +++ b/09HDscape-client/src/org/runite/jagex/WorldListEntry.java @@ -0,0 +1,78 @@ +package org.runite.jagex; + +final class WorldListEntry extends Class44 { + + private static RSString aClass94_2619 = RSString.createRSString("Loaded update list"); + RSString activity; + int worldId; + static int anInt2622 = 0; + static boolean aBoolean2623 = true; + static RSString aClass94_2624 = aClass94_2619; + RSString address; + static int anInt2626 = 20; + static Class155 aClass155_2627; + static RSString aClass94_2628 = RSString.createRSString("Stufe: "); + + + static final void method1076(int var0) { + try { + Class154.aClass93_1964.method1524(3); + int var1 = -86 % ((var0 - -55) / 41); + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ba.C(" + var0 + ')'); + } + } + + public static void method1077(int var0) { + try { + aClass94_2619 = null; + aClass94_2624 = null; + aClass155_2627 = null; + if(var0 != 0) { + anInt2626 = 89; + } + + aClass94_2628 = null; + } catch (RuntimeException var2) { + throw Class44.method1067(var2, "ba.A(" + var0 + ')'); + } + } + + final WorldListCountry method1078(int var1) { + try { + int var2 = -35 / ((var1 - 0) / 56); + return Class119.countries[this.countryIndex]; + } catch (RuntimeException var3) { + throw Class44.method1067(var3, "ba.B(" + var1 + ')'); + } + } + + static final int method1079(int var0, byte var1) { + try { + if(0 > var0) { + return 0; + } else { + Class3_Sub25 var2 = (Class3_Sub25)Class3_Sub2.aClass130_2220.method1780((long)var0, 0); + if(var2 == null) { + return Class144.method2069(var0, -126).anInt3647; + } else if(var1 > -56) { + return -13; + } else { + int var3 = 0; + + for(int var4 = 0; var4 < var2.anIntArray2547.length; ++var4) { + if(0 == ~var2.anIntArray2547[var4]) { + ++var3; + } + } + + var3 += Class144.method2069(var0, -100).anInt3647 + -var2.anIntArray2547.length; + return var3; + } + } + } catch (RuntimeException var5) { + throw Class44.method1067(var5, "ba.D(" + var0 + ',' + var1 + ')'); + } + } + +} diff --git a/09HDscape-management-server/.gitignore b/09HDscape-management-server/.gitignore new file mode 100644 index 000000000..17a06722d --- /dev/null +++ b/09HDscape-management-server/.gitignore @@ -0,0 +1,18 @@ +bin/** +out/** +data/logs/** +data/profile/** +.idea/** +/bin +.DS_Store** +.project** +.classpath** +.class** +/bin/ +/out/ +data/cache/ +*.iml +*.eml +*.userlibraries +*.class +data/players/** diff --git a/09HDscape-management-server/.settings/org.eclipse.jdt.core.prefs b/09HDscape-management-server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..a698e5967 --- /dev/null +++ b/09HDscape-management-server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/09HDscape-management-server/Crandor MS - 530.bat b/09HDscape-management-server/Crandor MS - 530.bat new file mode 100644 index 000000000..7629d8486 --- /dev/null +++ b/09HDscape-management-server/Crandor MS - 530.bat @@ -0,0 +1,3 @@ +@echo off +java -server -Xms512m -Xmx1536m -XX:NewSize=32m -XX:MaxPermSize=128m -XX:+UseConcMarkSweepGC -XX:+ExplicitGCInvokesConcurrent -XX:+AggressiveOpts -cp bin;lib/*; org.keldagrim.Main false true false true true +pause \ No newline at end of file diff --git a/09HDscape-management-server/lib/commons-io-2.4.jar b/09HDscape-management-server/lib/commons-io-2.4.jar new file mode 100644 index 000000000..90035a4fe Binary files /dev/null and b/09HDscape-management-server/lib/commons-io-2.4.jar differ diff --git a/09HDscape-management-server/lib/laf-plugin-7.2.1.jar b/09HDscape-management-server/lib/laf-plugin-7.2.1.jar new file mode 100644 index 000000000..82b02527e Binary files /dev/null and b/09HDscape-management-server/lib/laf-plugin-7.2.1.jar differ diff --git a/09HDscape-management-server/lib/laf-widget-7.2.1.jar b/09HDscape-management-server/lib/laf-widget-7.2.1.jar new file mode 100644 index 000000000..0371eb1b1 Binary files /dev/null and b/09HDscape-management-server/lib/laf-widget-7.2.1.jar differ diff --git a/09HDscape-management-server/lib/mysql-connector-java-5.1.30-bin.jar b/09HDscape-management-server/lib/mysql-connector-java-5.1.30-bin.jar new file mode 100644 index 000000000..afef9b2d0 Binary files /dev/null and b/09HDscape-management-server/lib/mysql-connector-java-5.1.30-bin.jar differ diff --git a/09HDscape-management-server/lib/substance-7.2.1.jar b/09HDscape-management-server/lib/substance-7.2.1.jar new file mode 100644 index 000000000..20428dd9e Binary files /dev/null and b/09HDscape-management-server/lib/substance-7.2.1.jar differ diff --git a/09HDscape-management-server/lib/trident-7.2.1.jar b/09HDscape-management-server/lib/trident-7.2.1.jar new file mode 100644 index 000000000..54fb61472 Binary files /dev/null and b/09HDscape-management-server/lib/trident-7.2.1.jar differ diff --git a/09HDscape-management-server/resources/org/arios/launcher/arios-gamepack-530.jar b/09HDscape-management-server/resources/org/arios/launcher/arios-gamepack-530.jar new file mode 100644 index 000000000..aeacccc36 Binary files /dev/null and b/09HDscape-management-server/resources/org/arios/launcher/arios-gamepack-530.jar differ diff --git a/09HDscape-management-server/splash/beta.png b/09HDscape-management-server/splash/beta.png new file mode 100644 index 000000000..7f1ec6cc8 Binary files /dev/null and b/09HDscape-management-server/splash/beta.png differ diff --git a/09HDscape-management-server/splash/beta_hover.png b/09HDscape-management-server/splash/beta_hover.png new file mode 100644 index 000000000..5df6597db Binary files /dev/null and b/09HDscape-management-server/splash/beta_hover.png differ diff --git a/09HDscape-management-server/splash/client.png b/09HDscape-management-server/splash/client.png new file mode 100644 index 000000000..cf9828ed1 Binary files /dev/null and b/09HDscape-management-server/splash/client.png differ diff --git a/09HDscape-management-server/splash/client_hover.png b/09HDscape-management-server/splash/client_hover.png new file mode 100644 index 000000000..2788aea21 Binary files /dev/null and b/09HDscape-management-server/splash/client_hover.png differ diff --git a/09HDscape-management-server/splash/exit.png b/09HDscape-management-server/splash/exit.png new file mode 100644 index 000000000..8fd78803c Binary files /dev/null and b/09HDscape-management-server/splash/exit.png differ diff --git a/09HDscape-management-server/splash/exit_hover.png b/09HDscape-management-server/splash/exit_hover.png new file mode 100644 index 000000000..5fd9b6b8b Binary files /dev/null and b/09HDscape-management-server/splash/exit_hover.png differ diff --git a/09HDscape-management-server/splash/favicon.png b/09HDscape-management-server/splash/favicon.png new file mode 100644 index 000000000..648a112d7 Binary files /dev/null and b/09HDscape-management-server/splash/favicon.png differ diff --git a/09HDscape-management-server/splash/loading_fill.png b/09HDscape-management-server/splash/loading_fill.png new file mode 100644 index 000000000..385a35883 Binary files /dev/null and b/09HDscape-management-server/splash/loading_fill.png differ diff --git a/09HDscape-management-server/splash/loading_outline.png b/09HDscape-management-server/splash/loading_outline.png new file mode 100644 index 000000000..bc39d3e77 Binary files /dev/null and b/09HDscape-management-server/splash/loading_outline.png differ diff --git a/09HDscape-management-server/splash/logo.png b/09HDscape-management-server/splash/logo.png new file mode 100644 index 000000000..cf09d8cdf Binary files /dev/null and b/09HDscape-management-server/splash/logo.png differ diff --git a/09HDscape-management-server/splash/settings.png b/09HDscape-management-server/splash/settings.png new file mode 100644 index 000000000..f475ceb41 Binary files /dev/null and b/09HDscape-management-server/splash/settings.png differ diff --git a/09HDscape-management-server/splash/settings_hover.png b/09HDscape-management-server/splash/settings_hover.png new file mode 100644 index 000000000..371f64b1a Binary files /dev/null and b/09HDscape-management-server/splash/settings_hover.png differ diff --git a/09HDscape-management-server/splash/splashbg.png b/09HDscape-management-server/splash/splashbg.png new file mode 100644 index 000000000..48421ee1e Binary files /dev/null and b/09HDscape-management-server/splash/splashbg.png differ diff --git a/09HDscape-management-server/splash/swiftkit.png b/09HDscape-management-server/splash/swiftkit.png new file mode 100644 index 000000000..4aa3086ea Binary files /dev/null and b/09HDscape-management-server/splash/swiftkit.png differ diff --git a/09HDscape-management-server/splash/swiftkit_hover.png b/09HDscape-management-server/splash/swiftkit_hover.png new file mode 100644 index 000000000..4e02f5dac Binary files /dev/null and b/09HDscape-management-server/splash/swiftkit_hover.png differ diff --git a/09HDscape-management-server/src/org/keldagrim/Main.java b/09HDscape-management-server/src/org/keldagrim/Main.java new file mode 100644 index 000000000..5beb849f1 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/Main.java @@ -0,0 +1,167 @@ +package org.keldagrim; + +import org.keldagrim.classloader.ClassLoadServer; +import org.keldagrim.net.NioReactor; +import org.keldagrim.net.packet.WorldPacketRepository; +import org.keldagrim.system.ShutdownSequence; +import org.keldagrim.system.mysql.SQLManager; +import org.keldagrim.system.util.Command; +import org.keldagrim.world.GameServer; +import org.keldagrim.world.PlayerSession; +import org.keldagrim.world.WorldDatabase; + +import java.io.IOException; +import java.net.InetAddress; +import java.net.NetworkInterface; +import java.util.Scanner; + +/** + * The main class. + * @author Emperor + * + */ +public final class Main { + + /** + * The commands. + */ + private static final Command[] COMMANDS = { + new Command("-commands", "Print a list of all commands.") { + @Override + public void run(String...args) { + for (Command c : COMMANDS) { + System.out.println("Command " + c.getName() + ": " + c.getInfo()); + } + } + }, + new Command("-s", "Safely shuts down the server.") { + @Override + public void run(String...args) { + System.out.println("Shutting down Management server..."); + ShutdownSequence.shutdown(); + } + }, + new Command("-debug", "Debug world info.") { + @Override + public void run(String...args) { + System.out.println("---------------------------------------------"); + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null) { + System.out.println("World [id=" + server.getInfo().getWorldId() + ", IP=" + server.getInfo().getAddress() + ", country=" + server.getInfo().getCountry() + ", members=" + server.getInfo().isMembers() + ", players=" + server.getPlayers().size() + ", active=" + server.isActive() + "]."); + } + } + } + }, + new Command("-pinfo", "Debugs player information (usage: -pinfo emperor).") { + @Override + public void run(String...args) { + String name = args[1]; + PlayerSession player = WorldDatabase.getPlayer(name); + if (player == null) { + System.out.println("Player " + name + " was not registered!"); + return; + } + System.out.println("Player [name=" + name + ", world=" + player.getWorldId() + ", active=" + player.isActive() + "]."); + } + }, + new Command("-update", "Calls an update on all the game servers (-update -1 to cancel).") { + @Override + public void run(String...args) { + int ticks = Integer.parseInt(args[1]); + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + WorldPacketRepository.sendUpdate(server, ticks); + } + } + } + }, + new Command("-reloadconfig", "Reloads the configurations of all worlds.") { + + @Override + public void run(String... args) { + for (GameServer server : WorldDatabase.getWorlds()) { + if(server == null) { + continue; + } + WorldPacketRepository.sendConfigReload(server); + } + } + }, + + new Command("-rlcache", "Reloads launcher/client resource cache") { + @Override + public void run(String... args) { + ClassLoadServer.resetResourceCache(); + System.out.println("Reloaded resource cache!"); + } + }, + + new Command("-kick", "Kicks a player from the MS (not ingame).") { + @Override + public void run(String... args) { + String name = args[1]; + PlayerSession player = WorldDatabase.getPlayer(name); + if (player == null) { + System.out.println("Player " + name + " was not registered!"); + return; + } + player.getWorld().getPlayers().remove(name); + player.setWorldId(0); + System.out.println("Kicked player " + name + "!"); + } + } + }; + + /** + * The main method. + * @param args The arguments cast on runtime. + * @throws Throwable When an exception occurs. + */ + public static void main(String...args) throws Throwable { + if (!isLocallyHosted(ServerConstants.HOST_ADDRESS)) { + System.err.println("WARNING: Configure host address in server constants!"); + } + System.out.println("-------- 530 Management server --------"); + System.out.println("Starting up..."); + SQLManager.init(); + //NioReactor.configure(ServerConstants.PORT).start(); + NioReactor.configure(5555).start(); + new ClassLoadServer().start(); + Runtime.getRuntime().addShutdownHook(new ShutdownSequence()); + System.out.println("Status: ready."); + System.out.println("Use -commands for a list of commands!"); + Scanner s = new Scanner(System.in); + while (s.hasNext()) { + try { + String command = s.nextLine(); + if (!command.startsWith("-")) { + continue; + } + String[] arguments = command.split(" "); + command = arguments[0]; + for (Command c : COMMANDS) { + if (c.getName().equals(command)) { + System.out.println("Handling command \"" + command + "\"!"); + c.run(arguments); + } + } + } catch (Throwable t) { + t.printStackTrace(); + } + } + s.close(); + } + + /** + * Checks if the Management server is locally hosted. + * @return {@code True} if so. + * @throws IOException When an I/O exception occurs. + */ + private static boolean isLocallyHosted(String ip) throws IOException { + InetAddress address = InetAddress.getByName(ip); + if (address.isAnyLocalAddress() || address.isLoopbackAddress()) { + return true; + } + return NetworkInterface.getByInetAddress(address) != null; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/ServerConstants.java b/09HDscape-management-server/src/org/keldagrim/ServerConstants.java new file mode 100644 index 000000000..edc0f306b --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/ServerConstants.java @@ -0,0 +1,80 @@ +package org.keldagrim; + +import org.apache.commons.io.FilenameUtils; +import org.keldagrim.system.OperatingSystem; + +/** + * Holds constants for the management server. + * @author v4rg + * + */ +public final class ServerConstants { + + /** + * The port to be used for communications. + */ + public static final int PORT = 5555; + + /** + * The maximum amount of worlds. + */ + public static final int WORLD_LIMIT = 10; + + /** + * The world switching delay in milliseconds. + */ + public static final long WORLD_SWITCH_DELAY = 20_000l; + + /** + * The address of the Management server. + */ + public static final String HOST_ADDRESS = "127.0.0.1"; + + /** + * The store path. + */ + public static final String STORE_PATH = "./store/"; + + /** + * The maximum amount of players per world. + */ + public static final int MAX_PLAYERS = (1 << 11) - 1; + + /** + * The operating system of the management server + */ + public static final OperatingSystem OS = System.getProperty("os.name").toUpperCase().contains("WIN") ? OperatingSystem.WINDOWS : OperatingSystem.UNIX; + + /** + * The administrators. + */ + public static final String[] ADMINISTRATORS = { + "ethan", + "austin", + }; + + public static final String[] DATABASE_NAMES = { + "keldagr1_server", "keldagr1_global" + }; + + /** + * Stops from instantiating. + */ + private ServerConstants() { + /* + * empty. + */ + } + + /** + * Fixes a path to a specified operating system + * @param operatingSystem The os type. + * @param path The path. + * @return The fixed path. + */ + public static String fixPath(OperatingSystem operatingSystem, String path) { + if (operatingSystem == null) + operatingSystem = OS; + return operatingSystem == OperatingSystem.WINDOWS ? FilenameUtils.separatorsToWindows(path) : FilenameUtils.separatorsToUnix(path); + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/classloader/ClassLoadServer.java b/09HDscape-management-server/src/org/keldagrim/classloader/ClassLoadServer.java new file mode 100644 index 000000000..fee35f9b3 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/classloader/ClassLoadServer.java @@ -0,0 +1,108 @@ +package org.keldagrim.classloader; + +import org.keldagrim.ServerConstants; + +import java.io.File; +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; +import java.net.UnknownHostException; +import java.nio.file.Files; +import java.util.HashMap; + +/** + * ClassLoadServer + * @author Clayton Williams (Hope) + */ +public class ClassLoadServer extends Thread { + + /** + * Listening port + */ + private static final int PORT = 5050; + + /** + * serverSocket for incoming connections + */ + private ServerSocket serverSocket = null; + + /** + * Holds classes and resources already added in the server + */ + protected static HashMap resourceCache = new HashMap(); + + /** + * New socket + * @throws UnknownHostException + * @throws IOException + */ + public ClassLoadServer() { + try { + serverSocket = new ServerSocket(PORT); + } catch (Exception e) { + e.printStackTrace(); + } + } + + + /** + * Listen for incoming connections + */ + @Override + public void run() { + resetResourceCache(); + // System.out.println("Listening on port " + PORT + "..."); + while (true) { + Socket clientSocket = null; + try { + clientSocket = serverSocket.accept(); + //System.out.println("New Connection from : " + clientSocket.getInetAddress()); + WorkerThread wcs = new WorkerThread(clientSocket); + wcs.start(); + } catch (Exception e) {} + } + } + + /** + * Loads resources recursively from a starting root directory and adds the file bytes to our cache + * @param path + * @param pathRoot + */ + private static void loadResources(String path, String pathRoot) { + try { + path = ServerConstants.fixPath(null, path); + pathRoot = ServerConstants.fixPath(null, pathRoot); + File root = new File(path); + File[] list = root.listFiles(); + if (list == null) return; + for (File f : list) { + if (f.isDirectory()) { + loadResources(f.getAbsolutePath(), pathRoot); + } else { + if (f.exists()) { + if (!f.getName().startsWith(".")) { + byte[] bytes = Files.readAllBytes(f.toPath()); + String name = ServerConstants.fixPath(null, f.getAbsolutePath().substring(f.getAbsolutePath().lastIndexOf(pathRoot))); + //System.out.println("[ClassLoadServer] Loaded resource '" + f.getName() + + // "' Size: " + NumberFormat.getInstance().format(bytes.length) + " bytes"); + resourceCache.put(name, bytes); + } + } + } + } + } catch(Exception e) { + e.printStackTrace(); + } + } + + /** + * Empties the class cache and loads resources + */ + public static void resetResourceCache() { + resourceCache.clear(); + //loadResources("bin/org/keldagrim/launcher/", "org/arios/launcher/"); + //loadResources("resources/", "org/keldagrim/launcher/"); + //System.out.println("Loaded all resources!"); + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/classloader/WorkerThread.java b/09HDscape-management-server/src/org/keldagrim/classloader/WorkerThread.java new file mode 100644 index 000000000..dd4121f50 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/classloader/WorkerThread.java @@ -0,0 +1,136 @@ +package org.keldagrim.classloader; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.net.Socket; +import java.util.Map; + +import org.keldagrim.ServerConstants; +import org.keldagrim.system.OperatingSystem; + +/** + * Worker thread for launcher connections + * @author Clayton Williams (Hope) + * + */ +public class WorkerThread extends Thread { + + /** + * Our launcher connection + */ + private Socket launcher = null; + + /** + * Input stream from launcher + */ + private ObjectInputStream is = null; + + /** + * Output stream to launcher + */ + private ObjectOutputStream os = null; + + /** + * The user's operating system type + */ + private OperatingSystem operatingSystem = OperatingSystem.WINDOWS; + + /** + * Creates a new worker thread to handle the launcher requests + * @param socket + * @param classesCache + * @throws IOException + */ + public WorkerThread(Socket launcher) throws IOException { + super(); + this.launcher = launcher; + try { + os = new ObjectOutputStream(new BufferedOutputStream(this.launcher.getOutputStream())); + os.flush(); + is = new ObjectInputStream(new BufferedInputStream(launcher.getInputStream())); + } catch (IOException ioe) { + this.launcher.close(); + } + } + + /** + * Input Stream handler + */ + @SuppressWarnings("unused") //saving resource type for later + public void run() { + byte opcode = -1; + try { + while (true) { + opcode = is.readByte(); + switch(opcode) { + case 1: //requests revision + operatingSystem = is.readUTF().contains("UNIX") ? OperatingSystem.UNIX : OperatingSystem.WINDOWS; + os.reset(); + os.writeInt(ClassLoadServer.resourceCache.size());//#customresources + for (Map.Entry hm : ClassLoadServer.resourceCache.entrySet()) { + os.writeUTF(ServerConstants.fixPath(operatingSystem, (String) hm.getKey())); + os.writeInt(hm.getValue().length); + } + os.writeByte(1); //number of custom resources + //followed by 2 strings + //System.err.println(operatingSystem.name()); + os.writeUTF(ServerConstants.fixPath(operatingSystem, "org/keldagrim/launcher/arios-gamepack-530.jar")); + os.writeUTF("BINARY"); + os.flush(); + break; + case 2: //resource request + String resourceName = ServerConstants.fixPath(null, is.readUTF()); + String resourceType = is.readUTF(); + if (ClassLoadServer.resourceCache.containsKey(resourceName)) { + sendResource(ClassLoadServer.resourceCache.get(resourceName)); + //System.out.println("Sent Resource: " + resourceName); + } else { + sendOpcode(-1); + //System.out.println("Could not send resource '" + resourceName + "'"); + } + break; + default: + System.out.println("Unhandled opcode=" + opcode); + break; + } + } + } catch(Exception e) { + //System.out.println("Client force disconnect."); + } finally { + try { + is.close(); + os.close(); + launcher.close(); + } catch (Exception e) {} + } + } + + /** + * send a byte array packet to the client + * @exception IOException file read error. + */ + protected void sendResource(byte [] bytes) throws IOException { + os.reset(); + os.writeByte(2); + os.writeInt(bytes.length); + for (int i = 0; i < bytes.length; i++) { + os.writeByte(bytes[i]); + } + os.flush(); + } + + /** + * Send no data opcodes + * @param opcode + * @throws IOException + */ + protected void sendOpcode(int opcode) throws IOException { + os.reset(); + os.writeByte(opcode); + os.flush(); + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/Constants.java b/09HDscape-management-server/src/org/keldagrim/launcher/Constants.java new file mode 100644 index 000000000..d19c74955 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/Constants.java @@ -0,0 +1,122 @@ +package org.keldagrim.launcher; + +import java.awt.Dimension; +import java.awt.Image; +import java.awt.Point; +import java.awt.Toolkit; +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; + +public class Constants { + + /** + * The size of the frame. + */ + public static final Dimension SIZE = new Dimension(900, 500); + + /** + * The cache name. + */ + public static final String CACHE_NAME = File.separator + ".keldagrim_530"; + + /** + * Management Server + */ + public static final String MANAGEMENT_SERVER = "management.keldagrim.com"; + + /** + * Gets the screen coordinates to place panels in the center + * @param {Dimension} the panel size, null to use default frame size + * @return {Point} the center dimension + */ + public static Point getCenterPoint(Dimension panelSize) { + if (panelSize == null) + panelSize = SIZE; + Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); + return new Point((int) ((screen.getWidth() / 2) - (panelSize.getWidth() / 2)), + (int) ((screen.getHeight() / 2) - (panelSize.getHeight() / 2))); + } + + /** + * Gets the image. + * @param name the name. + * @return the image. + */ + public static Image getImage(String name) { + Image image = null; + try { + image = SplashFrame.getInstance().getToolkit().getImage(getImageUrl(name)); + } catch (NullPointerException e) { + System.err.println("Nullasdf image for " + name); + } + return image; + } + + /** + * Gets the image url. + * @param name the name. + * @return the url. + */ + public static URL getImageUrl(String name) { + try { + return SplashFrame.getInstance().getClass().getResource(name); + } catch (NullPointerException e) { + System.err.println("Null URL for " + name); + return null; + } + } + + /** + * Reads a link and returns the data. + * @param link the link. + * @return the data. + */ + public static String readLink(String link) { + String data = ""; + URL obj = null; + try { + obj = new URL(link); + } catch (MalformedURLException e1) { + e1.printStackTrace(); + } + HttpURLConnection con; + try { + con = (HttpURLConnection) obj.openConnection(); + con.setRequestMethod("GET"); + con.setRequestProperty("User-Agent", "Mozilla/5.0"); + int responseCode = con.getResponseCode(); + if (responseCode != 200) { + return data; + } + BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); + String line; + while ((line = in.readLine()) != null) { + data+= line; + } + } catch (IOException e) { + e.printStackTrace(); + } + return data; + } + + /** + * Gets the cache path. + * @return The cache path. + */ + public static String getCachePath() { + final String OS = System.getProperty("os.name").toUpperCase(); + if (OS.contains("WIN")) { + return new StringBuilder(System.getProperty("user.home") + Constants.CACHE_NAME).toString(); + } else if (OS.contains("MAC")) { + return new StringBuilder(System.getProperty("user.home") + Constants.CACHE_NAME).toString(); + } else if (OS.contains("NUX")) { + return System.getProperty("user.home") + Constants.CACHE_NAME; + } + return new StringBuilder(System.getProperty("user.dir")).toString() + Constants.CACHE_NAME; + } +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/Initializer.java b/09HDscape-management-server/src/org/keldagrim/launcher/Initializer.java new file mode 100644 index 000000000..947e6a410 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/Initializer.java @@ -0,0 +1,43 @@ +package org.keldagrim.launcher; + +import javax.swing.*; +import java.awt.*; + +/** + * Keldagrim Launcher/Updater + * @author Clayton Williams + * @date June 17, 2015 + */ +public class Initializer { + + /** + * Start our launcher/updater + */ + public Initializer() { + SplashFrame.getInstance().init(); + } + + /** + * Main + * @param args + */ + public static void main(String[] args) { + try { + UIManager.setLookAndFeel(new org.pushingpixels.substance.api.skin.SubstanceTwilightLookAndFeel()); + JFrame.setDefaultLookAndFeelDecorated(true); + } catch (UnsupportedLookAndFeelException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + EventQueue.invokeLater(new Runnable() { + @Override + public void run() { + SplashFrame.getInstance().init(); + + } + }); + SplashFrame.getInstance().init(); + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/SplashFrame.java b/09HDscape-management-server/src/org/keldagrim/launcher/SplashFrame.java new file mode 100644 index 000000000..1026611bc --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/SplashFrame.java @@ -0,0 +1,82 @@ +package org.keldagrim.launcher; + +import javax.swing.JFrame; +import javax.swing.event.AncestorEvent; +import javax.swing.event.AncestorListener; + +import org.keldagrim.launcher.screen.SplashScreen; + +/** + * SplashFrame + * @author Clayton Williams + * @date Jul 18, 2015 + */ +public class SplashFrame extends JFrame { + + /** + * Generated serial + */ + private static final long serialVersionUID = -6350549054538332575L; + + /** + * Instance of the splash + */ + private static final SplashFrame INSTANCE = new SplashFrame(); + + /** + * Splash Screen + */ + private SplashScreen splashScreen; + + public void init() { + //setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setUndecorated(true); + setResizable(false); + setSize(610, 290); //322 + setLayout(null); + //setBackground(new Color(0,0,0,0)); + getContentPane().setLayout(null); + splashScreen = new SplashScreen(); + this.getContentPane().add(splashScreen); + setLocation(Constants.getCenterPoint(this.getSize())); + splashScreen.addAncestorListener(new AncestorListener () { + @Override + public void ancestorAdded(AncestorEvent event) { + splashScreen.init(); + } + @Override + public void ancestorRemoved(AncestorEvent event) {} + + @Override + public void ancestorMoved(AncestorEvent event) {} + } ); + toFront(); + setVisible(true); + setIconImage(Constants.getImage("splash/favicon.png")); + } + + /** + * Gets the splash screen + * @return + */ + public SplashScreen getSplashScreen() { + return splashScreen; + } + + /** + * Pauses the current thread. + * @param duration The duration to pause for. + */ + public void pause(long duration) { + try { + Thread.sleep(duration); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + public static SplashFrame getInstance() { + return INSTANCE; + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/screen/InteractiveOverlay.java b/09HDscape-management-server/src/org/keldagrim/launcher/screen/InteractiveOverlay.java new file mode 100644 index 000000000..71b3b4726 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/screen/InteractiveOverlay.java @@ -0,0 +1,152 @@ +package org.keldagrim.launcher.screen; + +import java.awt.Image; +import java.awt.Point; +import java.awt.Rectangle; + +import javax.swing.ImageIcon; + +/** + * Represents an Interactive Image for the splash screen + * @author Hope (Clayton Williams) + * @date 6-12-15 + */ +public class InteractiveOverlay extends ImageIcon { + + /** + * Generated serial + */ + private static final long serialVersionUID = -4862170207406421173L; + + /** + * The name of the overlay + */ + private String name; + + /** + * Location on screen + */ + private Point location; + + /** + * The interactive bounds for mouse actions relative to the image's icon on the screen + */ + private Rectangle interactiveBounds; + + /** + * The default and hover image for this interactive image + */ + private Image defaultImage, hoverImage; + + /** + * Whether the content should be displayed + */ + private boolean display = false; + + /** + * InteractiveOverlay + * @param name - name of overlay + * @param defaultImage - the default image + * @param hoverImage - the image to be displayed on hover + * @param point - the upper left x,y point of the overlay + */ + public InteractiveOverlay(String name, Image defaultImage, Image hoverImage, Point point) { + this(name, defaultImage, hoverImage, point, new Rectangle(0, 0, new ImageIcon(defaultImage).getIconWidth(), + new ImageIcon(defaultImage).getIconHeight())); + } + + /** + * Constructor - creates a new ImageIcon from given Image + * @param image + * @param hoverImage + * @param location - {Point} of location on screen + * @param interactiveBounds + */ + public InteractiveOverlay(String name, Image defaultImage, Image hoverImage, Point location, Rectangle interactiveBounds) { + this.name = name; + this.defaultImage = defaultImage; + this.hoverImage = hoverImage; + this.interactiveBounds = interactiveBounds; + this.location = location; + this.setImage(this.defaultImage); + } + + /** + * Sets the interactive bounds for this icon + * @param bounds + */ + public void setInteractiveBounds(Rectangle bounds) { + this.interactiveBounds = bounds; + } + + /** + * Toggles the hovered image + * @param hover - true for hover image + */ + public void toggleHover(boolean hover) { + if (hover) + this.setImage(hoverImage); + else + this.setImage(defaultImage); + } + + /** + * Sets the default image + * @param image + */ + public void setDefaultImage(Image image) { + this.defaultImage = image; + } + + /** + * Sets the hovered image + * @param image + */ + public void setHoverImage(Image image) { + this.hoverImage = image; + } + + /** + * Returns the name of this overlay + * @return String name + */ + public String getName() { + return name == null ? "" : name; + } + + /** + * Returns if the given point is in the interactive bounds + * @param p - the point to check + * @return - true if in bounds + */ + public boolean inInteractiveBounds(Point p) { + Rectangle newBounds = new Rectangle((int) (location.getX() + interactiveBounds.getX()), (int) (location.getY() + interactiveBounds.getY()), + (int) interactiveBounds.getWidth(), (int) interactiveBounds.getHeight()); + return newBounds.contains(p); + } + + /** + * Gets the location of this overlay + * @return {Point} + */ + public Point getLocation() { + return this.location; + } + + /** + * Sets the display of this overlay + * @param display + */ + public void setDisplay(boolean display) { + this.display = display; + } + + /** + * + * @return + */ + public boolean isActive() { + return this.display; + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/screen/SplashScreen.java b/09HDscape-management-server/src/org/keldagrim/launcher/screen/SplashScreen.java new file mode 100644 index 000000000..3b19fd0c3 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/screen/SplashScreen.java @@ -0,0 +1,238 @@ +package org.keldagrim.launcher.screen; + +import org.keldagrim.launcher.Constants; +import org.keldagrim.launcher.SplashFrame; +import org.keldagrim.launcher.screen.impl.LoadingBar; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.MouseEvent; +import java.awt.event.MouseListener; +import java.awt.event.MouseMotionListener; +import java.io.File; +import java.util.*; +import java.util.List; +import java.util.Timer; + +/** + * Splash Screen + * Note: All images are loaded in terms of a fixed position on a 610x290 grid (all have same width and height, but just overlay) + * @author Clayton Williams (Hope) + * @date Jun-11-2015 + */ +public class SplashScreen extends JPanel implements MouseMotionListener, MouseListener { + + /** + * Generated serial + */ + private static final long serialVersionUID = 2637078526635123434L; + + /** + * Various client related settings + */ + private LoadingBar loadingBar; + + private Image splashbg, logo; + private String loaderStatus = "Starting Up..."; + private List interactiveOverlays = new ArrayList(); + + public SplashScreen() { + + setLayout(null); + setBounds(0, 0, 610, 290); + setOpaque(false); + this.add(loadingBar = new LoadingBar()); + this.addMouseListener(this); + this.addMouseMotionListener(this); + + /** + * Add Images + */ + splashbg = Constants.getImage("splash/splashbg.png"); + logo = Constants.getImage("splash/logo.png"); + interactiveOverlays.add(new InteractiveOverlay("exitButton", Constants.getImage("splash/exit.png"), + Constants.getImage("splash/exit_hover.png"), new Point(580, 15))); + interactiveOverlays.add(new InteractiveOverlay("settingsButton", Constants.getImage("splash/settings.png"), + Constants.getImage("splash/settings_hover.png"), new Point(555, 15))); + interactiveOverlays.add(new InteractiveOverlay("normalClient", Constants.getImage("splash/client.png"), + Constants.getImage("splash/client_hover.png"), new Point(200, 175))); + setOverlayActive("exitButton", true); + + } + + /** + * + */ + public void init() { + Timer timer = new Timer(); + timer.schedule(new TimerTask() { + int i = 0; + int cycles = 0; + @Override + public void run() { + if (i == 100) { + if (cycles == 1) { + remove(loadingBar); + setOverlayActive("settingsButton", true); + setOverlayActive("normalClient", true); + setOverlayActive("swiftkitClient", true); + loaderStatus = "Select an Option"; + repaint(); + this.cancel(); + } else if (cycles == 0) { + updateStatus("Retrieving Settings..."); + } + i = 0; + cycles++; + } + loadingBar.updatePercent(++i); + + } + + }, 0, 25); + } + + /** + * Updates and repains the status + * @param status + */ + public void updateStatus(String status) { + loaderStatus = status; + repaint(); + } + + /** + * Sets an overlay active + * @param overlayName + * @param active + */ + public void setOverlayActive(String overlayName, boolean active) { + for (int i = 0; i < interactiveOverlays.size(); i++) { + InteractiveOverlay io = interactiveOverlays.get(i); + if (io.getName().equalsIgnoreCase(overlayName)) + io.setDisplay(active); + } + } + + /** + * Destroys the frame + */ + public void destroy() { + setVisible(false); + SplashFrame.getInstance().dispose(); + } + + @Override + public void paintComponent(Graphics g){ + super.paintComponent(g); + g.drawImage(splashbg, 0, 0, this); + g.drawImage(logo, -150, -105, this); + for(InteractiveOverlay io : interactiveOverlays) { + if (io.isActive()) + g.drawImage(io.getImage(), (int) io.getLocation().getX(), (int) io.getLocation().getY(), this); + } + + /** + * Drawing status of loader + */ + FontMetrics fm = this.getFontMetrics(getFont()); + int statusLength = fm.stringWidth(loaderStatus); + g.setColor(Color.white); + g.drawString(loaderStatus, 595 - statusLength, 280); + } + + /********************************************************************* + * Mouse Events + ********************************************************************/ + + @Override + public void mousePressed(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseReleased(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseEntered(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseExited(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseDragged(MouseEvent e) { + // TODO Auto-generated method stub + + } + + @Override + public void mouseMoved(MouseEvent e) { + Point p = e.getPoint(); + //System.out.println("X: " + p.getX() + " Y: " + p.getY()); + Iterator it = interactiveOverlays.iterator(); + boolean interaction = false; + while(it.hasNext()) { + InteractiveOverlay io = it.next(); + if (!io.isActive()) + continue; + io.toggleHover(io.inInteractiveBounds(p)); + if (io.inInteractiveBounds(p)) + interaction = true; + } + if (interaction) + setCursor(new Cursor(Cursor.HAND_CURSOR)); + else + setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); + repaint(); + } + + @Override + public void mouseClicked(MouseEvent e) { + repaint(); + Point p = e.getPoint(); + Iterator it = interactiveOverlays.iterator(); + while(it.hasNext()) { + InteractiveOverlay io = it.next(); + if (!io.isActive()) + continue; + if (io.inInteractiveBounds(p)) { + try { + switch(io.getName()) { + case "normalClient": + case "swiftkitClient": + destroy(); + File file = new File(Constants.getCachePath() + File.separator + "resources/org/keldagrim/launcher/arios-gamepack-530.jar"); + try { + System.out.println("[SplashScreen] Using Absolute File Path: " + file.getAbsolutePath() + " for runtime."); + Runtime.getRuntime().exec(new String[]{"java", "-jar", file.getAbsolutePath(), io.getName().equalsIgnoreCase("swiftkitClient") ? "true" : "false"}); + } catch (Exception e1) { + e1.printStackTrace(); + } + System.exit(0); + break; + case "exitButton": + System.exit(0); + break; + case "settingsButton": + JOptionPane.showMessageDialog(new JFrame("Info"), "Client Settings will be implemented shortly."); + break; + default: + System.out.println("No actions for mouseclick on overlay: " + io.getName()); + break; + } + } catch (Exception ex) { ex.printStackTrace(); } + } + } + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/launcher/screen/impl/LoadingBar.java b/09HDscape-management-server/src/org/keldagrim/launcher/screen/impl/LoadingBar.java new file mode 100644 index 000000000..0ac3b3d20 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/launcher/screen/impl/LoadingBar.java @@ -0,0 +1,89 @@ +package org.keldagrim.launcher.screen.impl; + +import java.awt.Dimension; +import java.awt.Graphics; +import java.awt.Image; + +import javax.swing.JPanel; + +import org.keldagrim.launcher.Constants; + +public class LoadingBar extends JPanel { + + /** + * Generated serial + */ + private static final long serialVersionUID = 2607031854150505152L; + + /** + * Size of our LoadingBar + */ + private static final Dimension SIZE = new Dimension(489, 113); + + /** + * Width of the sub fill bar + */ + private static final int SUB_BAR_WIDTH = 150; + + /** + * The top and bottom layers of our loading bar + */ + private Image outline, fill; + + /** + * Percent of the bar loaded + */ + private int percentLoaded = 0; + + /** + * Load images + */ + public LoadingBar() { + this.setLocation(50, 120); + setSize(SIZE); + setOpaque(false); + outline = Constants.getImage("splash/loading_outline.png"); + fill = Constants.getImage("splash/loading_fill.png"); + } + + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + g.drawImage(outline, 0, 0, this); + if (percentLoaded > 0) { + int fillLength = getFillLength(); + int dx1 = (fillLength - SUB_BAR_WIDTH); + g.drawImage(fill, dx1, 0, fillLength, SIZE.height, dx1, 0, fillLength, SIZE.height, this); + } + } + + /** + * Returns the fill length of the bar using percentLoaded + * @return + */ + private int getFillLength() { + float widthModifier = ((float) (SIZE.getWidth() + SUB_BAR_WIDTH) / 100); + int totalWidth = (int) Math.ceil(percentLoaded * widthModifier); + return totalWidth > (SIZE.width + SUB_BAR_WIDTH) ? (SIZE.width + SUB_BAR_WIDTH) : totalWidth; + } + + /** + * Sets the percent loaded 0 to 100 inclusive + * @param percent + */ + public void setPercentLoaded(int percent) { + this.percentLoaded = percent > 100 ? 100 : percent < 0 ? 0 : percent; + } + + /** + * Sets and updates the progress bar + * @param percent + */ + public void updatePercent(int percent) { + setPercentLoaded(percent); + repaint(); + } + + + +} diff --git a/09HDscape-management-server/src/org/keldagrim/net/EventProducer.java b/09HDscape-management-server/src/org/keldagrim/net/EventProducer.java new file mode 100644 index 000000000..1ee2462de --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/EventProducer.java @@ -0,0 +1,28 @@ +package org.keldagrim.net; + +import java.nio.ByteBuffer; + +/** + * Used for producing I/O events. + * @author Emperor + * + */ +public interface EventProducer { + + /** + * Produces a new read event. + * @param session The session. + * @param buffer The buffer to read. + * @return The read event handler. + */ + IoReadEvent produceReader(IoSession session, ByteBuffer buffer); + + /** + * Produces a new writing event. + * @param session The session. + * @param context The context. + * @return The write event handler. + */ + IoWriteEvent produceWriter(IoSession session, Object context); + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/IoEventHandler.java b/09HDscape-management-server/src/org/keldagrim/net/IoEventHandler.java new file mode 100644 index 000000000..cd3077924 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/IoEventHandler.java @@ -0,0 +1,104 @@ +package org.keldagrim.net; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.ClosedChannelException; +import java.nio.channels.ReadableByteChannel; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.ServerSocketChannel; +import java.nio.channels.SocketChannel; +import java.util.concurrent.ExecutorService; + +/** + * I/O event handling. + * @author Emperor + * + */ +public final class IoEventHandler { + + /** + * The executor service. + */ + private final ExecutorService service; + + /** + * Constructs a new {@code IoEventHandler}. + * @param service The executor service used for handling events. + */ + public IoEventHandler(ExecutorService service) { + this.service = service; + } + + /** + * Called when making a new connection. + * @param key The selection key. + */ + public void connect(SelectionKey key) { + /* + * empty. + */ + } + + /** + * Used for accepting a new connection. + * @param key The selection key. + * @param selector The selector. + * @throws IOException When an I/O exception occurs. + */ + public void accept(SelectionKey key, Selector selector) throws IOException { + SocketChannel sc = ((ServerSocketChannel) key.channel()).accept(); + sc.configureBlocking(false); + sc.socket().setTcpNoDelay(true); + sc.register(selector, SelectionKey.OP_READ); + } + + /** + * Reads the incoming packet data. + * @param key The selection key. + * @throws IOException When an I/O exception occurs. + */ + public void read(SelectionKey key) throws IOException { + ReadableByteChannel channel = (ReadableByteChannel) key.channel(); + ByteBuffer buffer = ByteBuffer.allocate(100_000); + IoSession session = (IoSession) key.attachment(); + if (channel.read(buffer) == -1) { + throw new IOException("An existing connection was disconnected!"); + } + buffer.flip(); + if (session == null) { + key.attach(session = new IoSession(key, service)); + } + service.execute(session.getProducer().produceReader(session, buffer)); + } + + /** + * Writes the outgoing packet data. + * @param key The selection key. + */ + public void write(SelectionKey key) { + IoSession session = (IoSession) key.attachment(); + key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE); + session.write(); + } + + /** + * Disconnects a connection. + * @param key The selection key. + * @param t The occurred exception (if any). + */ + public void disconnect(SelectionKey key, Throwable t) { + try { + IoSession session = (IoSession) key.attachment(); + String cause = "" + t; + if (t != null && !(t instanceof ClosedChannelException || cause.contains("De externe host") || cause.contains("De software op uw") || cause.contains("An established connection was aborted") || cause.contains("An existing connection") || cause.contains("AsynchronousClose"))) { + t.printStackTrace(); + } + if (session != null) { + session.disconnect(); + } + } catch (Throwable e) { + e.printStackTrace(); + } + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/IoReadEvent.java b/09HDscape-management-server/src/org/keldagrim/net/IoReadEvent.java new file mode 100644 index 000000000..0c87805ae --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/IoReadEvent.java @@ -0,0 +1,73 @@ +package org.keldagrim.net; + +import java.nio.ByteBuffer; + +/** + * Handles a reading event. + * @author Emperor + * + */ +public abstract class IoReadEvent implements Runnable { + + /** + * The I/O session. + */ + private final IoSession session; + + /** + * The buffer. + */ + private ByteBuffer buffer; + + /** + * If the queued reading buffer was used (debugging purposes). + */ + protected boolean usedQueuedBuffer; + + /** + * Constructs a new {@code IoReadEvent}. + * @param session The session. + * @param buffer The buffer to read from. + */ + public IoReadEvent(IoSession session, ByteBuffer buffer) { + this.session = session; + this.buffer = buffer; + } + + @Override + public void run() { + try { + if (session.getReadingQueue() != null) { + buffer = session.getReadingQueue().put(buffer); + buffer.flip(); + session.setReadingQueue(null); + usedQueuedBuffer = true; + } + read(session, buffer); + } catch (Throwable t) { + t.printStackTrace(); + session.disconnect(); + } + } + + /** + * Queues the buffer until more data has been received. + * @param data The data that has been read already. + */ + public void queueBuffer(int...data) { + ByteBuffer queue = ByteBuffer.allocate(data.length + buffer.remaining() + 100_000); + for (int value : data) { + queue.put((byte) value); + } + queue.put(buffer); + session.setReadingQueue(queue); + } + + /** + * Reads the data from the buffer. + * @param session The session. + * @param buffer The buffer to read from. + */ + public abstract void read(IoSession session, ByteBuffer buffer); + +} diff --git a/09HDscape-management-server/src/org/keldagrim/net/IoSession.java b/09HDscape-management-server/src/org/keldagrim/net/IoSession.java new file mode 100644 index 000000000..26f4558eb --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/IoSession.java @@ -0,0 +1,344 @@ +package org.keldagrim.net; + +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.channels.SelectionKey; +import java.nio.channels.SocketChannel; +import java.util.ArrayList; +import java.util.List; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +import org.keldagrim.ServerConstants; +import org.keldagrim.net.producer.HSEventProducer; +import org.keldagrim.world.GameServer; + +/** + * Represents a connected I/O session. + * @author Emperor + * + */ +public class IoSession { + + /** + * The handshake event producer. + */ + private static final EventProducer HANDSHAKE_PRODUCER = new HSEventProducer(); + + /** + * The selection key. + */ + private final SelectionKey key; + + /** + * The executor service. + */ + private final ExecutorService service; + + /** + * The event producer. + */ + private EventProducer producer = HANDSHAKE_PRODUCER; + + /** + * The currently queued writing data. + */ + private List writingQueue = new ArrayList<>(); + + /** + * The currently queued reading data. + */ + private ByteBuffer readingQueue; + + /** + * The writing lock. + */ + private Lock writingLock = new ReentrantLock(); + + /** + * The name hash. + */ + private int nameHash; + + /** + * The server key. + */ + private long serverKey; + + /** + * The JS-5 encryption value. + */ + private int js5Encryption; + + /** + * If the session is active. + */ + private boolean active = true; + + /** + * The last ping time stamp. + */ + private long lastPing; + + /** + * The address. + */ + private final String address; + + /** + * The game server object for this session. + */ + private GameServer gameServer; + + /** + * Constructs a new {@code IoSession}. + * @param key The selection key. + * @param service The executor service. + */ + public IoSession(SelectionKey key, ExecutorService service) { + this.key = key; + this.service = service; + String address = getRemoteAddress().replaceAll("/", "").split(":")[0]; + if (address.equals("127.0.0.1")) { + address = ServerConstants.HOST_ADDRESS; + } + this.address = address; + } + + /** + * Fires a write event created using the current event producer. + * @param context The event context. + */ + public void write(Object context) { + write(context, false); + } + + /** + * Fires a write event created using the current event producer. + * @param context The event context. + * @param instant If the event should be instantly executed on this thread. + */ + public void write(Object context, boolean instant) { + if (context == null) { + throw new IllegalStateException("Invalid writing context!"); + } + if (instant) { + producer.produceWriter(this, context).run(); + return; + } + service.execute(producer.produceWriter(this, context)); + } + + /** + * Sends the packet data (without write event encoding). + * @param buffer The buffer. + */ + public void queue(ByteBuffer buffer) { + writingLock.lock(); + writingQueue.add(buffer); + writingLock.unlock(); + write(); + } + + /** + * Handles the writing of all buffers in the queue. + */ + public void write() { + if (!key.isValid()) { + disconnect(); + return; + } + writingLock.lock(); + SocketChannel channel = (SocketChannel) key.channel(); + try { + while (!writingQueue.isEmpty()) { + ByteBuffer buffer = writingQueue.get(0); + channel.write(buffer); + if (buffer.hasRemaining()) { + key.interestOps(key.interestOps() | SelectionKey.OP_WRITE); + break; + } + writingQueue.remove(0); + } + } catch (IOException e) { + disconnect(); + } + writingLock.unlock(); + } + + /** + * Disconnects the session. + */ + public void disconnect() { + try { + if (!active) { + return; + } + active = false; + key.cancel(); + SocketChannel channel = (SocketChannel) key.channel(); + channel.socket().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** + * Gets the IP-address (without the port). + * @return The address. + */ + public String getAddress() { + return address; + } + + /** + * Gets the remote address of this session. + * @return The remote address, as a String. + */ + public String getRemoteAddress() { + try { + return ((SocketChannel) key.channel()).getRemoteAddress().toString(); + } catch (IOException e) { + throw new IllegalStateException(e); + } + } + + /** + * Gets the current event producer. + * @return The producer. + */ + public EventProducer getProducer() { + return producer; + } + + /** + * Sets the event producer. + * @param producer The producer to set. + */ + public void setProducer(EventProducer producer) { + this.producer = producer; + } + + /** + * Gets the queued reading data. + * @return The readingQueue. + */ + public ByteBuffer getReadingQueue() { + synchronized (this) { + return readingQueue; + } + } + + /** + * Queues reading data. + * @param readingQueue The readingQueue to set. + */ + public void setReadingQueue(ByteBuffer readingQueue) { + synchronized (this) { + this.readingQueue = readingQueue; + } + } + + /** + * Gets the writing lock. + * @return The writing lock. + */ + public Lock getWritingLock() { + return writingLock; + } + + /** + * Gets the selection key. + * @return The selection key. + */ + public SelectionKey getKey() { + return key; + } + + /** + * @return The active. + */ + public boolean isActive() { + return active; + } + + /** + * @return The js5Encryption. + */ + public int getJs5Encryption() { + return js5Encryption; + } + + /** + * @param js5Encryption The js5Encryption to set. + */ + public void setJs5Encryption(int js5Encryption) { + this.js5Encryption = js5Encryption; + } + + /** + * Gets the lastPing. + * @return The lastPing. + */ + public long getLastPing() { + return lastPing; + } + + /** + * Sets the lastPing. + * @param lastPing The lastPing to set. + */ + public void setLastPing(long lastPing) { + this.lastPing = lastPing; + } + + /** + * Gets the nameHash. + * @return The nameHash. + */ + public int getNameHash() { + return nameHash; + } + + /** + * Sets the nameHash. + * @param nameHash The nameHash to set. + */ + public void setNameHash(int nameHash) { + this.nameHash = nameHash; + } + + /** + * Gets the serverKey. + * @return The serverKey. + */ + public long getServerKey() { + return serverKey; + } + + /** + * Sets the serverKey. + * @param serverKey The serverKey to set. + */ + public void setServerKey(long serverKey) { + this.serverKey = serverKey; + } + + /** + * Gets the gameServer value. + * @return The gameServer. + */ + public GameServer getGameServer() { + return gameServer; + } + + /** + * Sets the gameServer value. + * @param gameServer The gameServer to set. + */ + public void setGameServer(GameServer gameServer) { + this.gameServer = gameServer; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/IoWriteEvent.java b/09HDscape-management-server/src/org/keldagrim/net/IoWriteEvent.java new file mode 100644 index 000000000..e79a4f09b --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/IoWriteEvent.java @@ -0,0 +1,50 @@ +package org.keldagrim.net; + +import java.nio.channels.CancelledKeyException; + +/** + * Handles a writing event. + * @author Emperor + */ +public abstract class IoWriteEvent implements Runnable { + + /** + * The I/O session. + */ + private final IoSession session; + + /** + * The buffer. + */ + private final Object context; + + /** + * Constructs a new {@code IoWriteEvent}. + * @param session The session. + * @param context The write event context. + */ + public IoWriteEvent(IoSession session, Object context) { + this.session = session; + this.context = context; + } + + @Override + public void run() { + try { + write(session, context); + } catch (Throwable t) { + if (!(t instanceof CancelledKeyException)) { + t.printStackTrace(); + } + session.disconnect(); + } + } + + /** + * Writes the data. + * @param session The session. + * @param context The write event context. + */ + public abstract void write(IoSession session, Object context); + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/NioReactor.java b/09HDscape-management-server/src/org/keldagrim/net/NioReactor.java new file mode 100644 index 000000000..af91a49d1 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/NioReactor.java @@ -0,0 +1,127 @@ +package org.keldagrim.net; + +import java.io.IOException; +import java.net.InetSocketAddress; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.nio.channels.ServerSocketChannel; +import java.util.Iterator; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +/** + * Handles (NIO-based) networking events using the reactor pattern. + * @author Emperor + */ +public final class NioReactor implements Runnable { + + /** + * The executor service. + */ + private final ExecutorService service; + + /** + * The selector + */ + private Selector selector; + + /** + * The socket channel. + */ + private ServerSocketChannel channel; + + /** + * The I/O event handling instance. + */ + private final IoEventHandler eventHandler; + + /** + * If the reactor is running. + */ + private boolean running; + + /** + * Constructs a new {@code NioReactor}. + * @param poolSize The pool size. + */ + private NioReactor(int poolSize) { + this.service = Executors.newSingleThreadScheduledExecutor(); + this.eventHandler = new IoEventHandler(Executors.newFixedThreadPool(poolSize)); + } + + /** + * Creates and configures a new {@code NioReactor} with a pool size of 1. + * @param port The port. + * @return The {@code NioReactor} {@code Object}. + * @throws IOException When an I/O exception occurs. + */ + public static NioReactor configure(int port) throws IOException { + return configure(port, 1); + } + + /** + * Creates and configures a new {@code NioReactor}. + * @param port The port. + * @param poolSize The amount of threads in the thread pool. + * @return The {@code NioReactor} {@code Object}. + * @throws IOException When an I/O exception occurs. + */ + public static NioReactor configure(int port, int poolSize) throws IOException { + NioReactor reactor = new NioReactor(poolSize); + reactor.channel = ServerSocketChannel.open(); + reactor.selector = Selector.open(); + reactor.channel.bind(new InetSocketAddress(port)); + reactor.channel.configureBlocking(false); + reactor.channel.register(reactor.selector, SelectionKey.OP_ACCEPT); + return reactor; + } + + /** + * Starts the reactor. + */ + public void start() { + running = true; + service.execute(this); + } + + @Override + public void run() { + while (running) { + try { + selector.select(); + } catch (IOException e) { + e.printStackTrace(); + } + Iterator iterator = selector.selectedKeys().iterator(); + while (iterator.hasNext()) { + SelectionKey key = iterator.next(); + iterator.remove(); + try { + if (!key.isValid() || !key.channel().isOpen()) { + key.cancel(); + continue; + } + if (key.isAcceptable()) { + eventHandler.accept(key, selector); + } + if (key.isReadable()) { + eventHandler.read(key); + } + else if (key.isWritable()) { + eventHandler.write(key); + } + } catch (Throwable t) { + eventHandler.disconnect(key, t); + } + } + } + } + + /** + * Terminates the reactor (once it's done processing current I/O events). + */ + public void terminate() { + running = false; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/HSReadEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/HSReadEvent.java new file mode 100644 index 000000000..d9b49bbe9 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/HSReadEvent.java @@ -0,0 +1,54 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.system.util.ByteBufferUtils; +import org.keldagrim.world.WorldDatabase; + +/** + * Handles handshake read events. + * @author Emperor + */ +public final class HSReadEvent extends IoReadEvent { + + /** + * The password used to verify + */ + private static final String PASSWORD = "0x14ari0SSbh98989910"; + + /** + * Constructs a new {@code HSReadEvent}. + * @param session The session. + * @param buffer The buffer. + */ + public HSReadEvent(IoSession session, ByteBuffer buffer) { + super(session, buffer); + } + + @Override + public void read(IoSession session, ByteBuffer buffer) { + int opcode = buffer.get() & 0xFF; + switch (opcode) { + case 88: + String password = ByteBufferUtils.getString(buffer); + if (!password.equals(PASSWORD)) { + System.out.println("Password mismatch (attempt=" + password + ")!"); + session.disconnect(); + break; + } + session.write(opcode); + break; + case 255: // World list + int updateStamp = buffer.getInt(); + WorldDatabase.sendUpdate(session, updateStamp); + break; + default: + System.err.println("Unhandled handshake opcode: " + opcode + "."); + session.disconnect(); + break; + } + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/HSWriteEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/HSWriteEvent.java new file mode 100644 index 000000000..278abb707 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/HSWriteEvent.java @@ -0,0 +1,38 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.producer.RegistryEventProducer; + +/** + * Handles Handshake write events. + * @author Emperor + */ +public final class HSWriteEvent extends IoWriteEvent { + + /** + * The login event producer. + */ + private static final RegistryEventProducer REGISTRY_PRODUCER = new RegistryEventProducer(); + + /** + * Constructs a new {@code HSWriteEvent} {@code Object}. + * @param session The session. + * @param context The context. + */ + public HSWriteEvent(IoSession session, Object context) { + super(session, context); + } + + @Override + public void write(IoSession session, Object context) { + ByteBuffer buffer = ByteBuffer.allocate(9); + buffer.put((byte) 14); + session.setProducer( REGISTRY_PRODUCER); + buffer.flip(); + session.queue(buffer); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/PacketReadEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/PacketReadEvent.java new file mode 100644 index 000000000..0a96c5b6f --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/PacketReadEvent.java @@ -0,0 +1,101 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.packet.WorldPacketRepository; + +/** + * Handles world packet reading events. + * @author Emperor + * + */ +public final class PacketReadEvent extends IoReadEvent { + + /** + * The packet sizes. + */ + private static final int[] PACKET_SIZE = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 + }; + + /** + * Constructs a new {@code PacketReadEvent} {@code Object}. + * @param session The I/O session. + * @param buffer The buffer to read from. + */ + public PacketReadEvent(IoSession session, ByteBuffer buffer) { + super(session, buffer); + } + + @Override + public void read(IoSession session, ByteBuffer buffer) { + int last = -1; + while (buffer.hasRemaining()) { + int opcode = buffer.get() & 0xFF; + if (opcode >= PACKET_SIZE.length) { + break; + } + int header = PACKET_SIZE[opcode]; + int size = header; + if (header < 0) { + size = getPacketSize(buffer, opcode, header, last); + } + if (size == -1) { + break; + } + if (buffer.remaining() < size) { + switch (header) { + case -2: + queueBuffer(opcode, size >> 8, size); + break; + case -1: + queueBuffer(opcode, size); + break; + default: + queueBuffer(opcode); + break; + } + break; + } + byte[] data = new byte[size]; + buffer.get(data); + last = opcode; + try { + WorldPacketRepository.handleIncoming(session, opcode, ByteBuffer.wrap(data)); + } catch (Throwable t) { + t.printStackTrace(); + } + } + } + + /** + * Gets the packet size for the given opcode. + * @param buffer The buffer. + * @param opcode The opcode. + * @param header The packet header. + * @param last The last opcode. + * @return The packet size. + */ + private int getPacketSize(ByteBuffer buffer, int opcode, int header, int last) { + if (header == -1) { + if (buffer.remaining() < 1) { + queueBuffer(opcode); + return -1; + } + return buffer.get() & 0xFF; + } + if (header == -2) { + if (buffer.remaining() < 2) { + queueBuffer(opcode); + return -1; + } + return buffer.getShort() & 0xFFFF; + } + System.err.println("Invalid packet [opcode=" + opcode + ", last=" + last + ", queued=" + usedQueuedBuffer + "]!"); + return -1; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/PacketWriteEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/PacketWriteEvent.java new file mode 100644 index 000000000..cd6a51432 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/PacketWriteEvent.java @@ -0,0 +1,46 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.packet.IoBuffer; + +/** + * Handles world packet writing events. + * @author Emperor + * + */ +public final class PacketWriteEvent extends IoWriteEvent { + + + /** + * Constructs a new {@code PacketWriteEvent} {@code Object}. + * @param session The I/O session. + * @param context The packet context. + */ + public PacketWriteEvent(IoSession session, Object context) { + super(session, context); + } + + @Override + public void write(IoSession session, Object context) { + IoBuffer b = (IoBuffer) context; + int size = b.toByteBuffer().position(); + ByteBuffer buffer = ByteBuffer.allocate(1 + size + b.getHeader().ordinal()); + buffer.put((byte) b.opcode()); + switch (b.getHeader()) { + case NORMAL: + break; + case BYTE: + buffer.put((byte) size); + break; + case SHORT: + buffer.putShort((short) size); + break; + } + buffer.put((ByteBuffer) b.toByteBuffer().flip()); + session.queue((ByteBuffer) buffer.flip()); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/RegistryReadEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/RegistryReadEvent.java new file mode 100644 index 000000000..1bdab7812 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/RegistryReadEvent.java @@ -0,0 +1,75 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.ServerConstants; +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.system.util.ByteBufferUtils; +import org.keldagrim.world.WorldDatabase; +import org.keldagrim.world.info.CountryFlag; +import org.keldagrim.world.info.WorldInfo; + +/** + * Handles world registry read events. + * @author Emperor + * + */ +public final class RegistryReadEvent extends IoReadEvent { + + /** + * The string check. + */ + private static final String CHECK = "12x4578f5g45hrdjiofed59898"; + //kratos = 666x14x88x28shhhwpwwb&h + //12x4578f5g45hrdjiofed59898 + + /** + * Constructs a new {@code RegistryReadEvent} {@code Object}. + * @param session The session. + * @param buffer The buffer to read. + */ + public RegistryReadEvent(IoSession session, ByteBuffer buffer) { + super(session, buffer); + } + + @Override + public void read(IoSession session, ByteBuffer buffer) { + int worldId = buffer.get() & 0xFF; + if (buffer.remaining() < 2) { + queueBuffer(worldId); + return; + } + int revision = buffer.getInt(); + int country = buffer.get() & 0xFF; + boolean members = buffer.get() == 1; + boolean pvp = buffer.get() == 1; + boolean quickChat = buffer.get() == 1; + boolean lootshare = buffer.get() == 1; + String activity = ByteBufferUtils.getString(buffer); + System.out.println("["+ revision + "], country = " + country + ", members = " + members + ", pvp = " + pvp + ", quickChat = " + quickChat + ", lootShare = " + lootshare + ", activity = " + activity); + for (int i = 0; i < CHECK.length(); i++) { + if ((char) buffer.get() != CHECK.charAt(i)) { + session.write(3); + return; + } + } + if (worldId >= ServerConstants.WORLD_LIMIT) { + session.write(0); + return; + } + if (WorldDatabase.isActive(worldId)) { + session.write(2); + return; + } + try { + WorldInfo info = new WorldInfo(worldId, session.getAddress(), revision, CountryFlag.values()[country], activity, members, pvp, quickChat, lootshare); + WorldDatabase.register(info).configure(session); + session.write(1); + } catch (Throwable t) { + t.printStackTrace(); + session.write(3); + } + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/event/RegistryWriteEvent.java b/09HDscape-management-server/src/org/keldagrim/net/event/RegistryWriteEvent.java new file mode 100644 index 000000000..38b149385 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/event/RegistryWriteEvent.java @@ -0,0 +1,43 @@ +package org.keldagrim.net.event; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.EventProducer; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.producer.PacketEventProducer; + +/** + * Handles game world registry writing events. + * @author Emperor + * + */ +public final class RegistryWriteEvent extends IoWriteEvent { + + /** + * The event producer. + */ + public static final EventProducer PRODUCER = new PacketEventProducer(); + + /** + * Constructs a new {@code RegistryWriteEvent} {@code Object}. + * @param session The I/O session. + * @param context The writing context. + */ + public RegistryWriteEvent(IoSession session, Object context) { + super(session, context); + } + + @Override + public void write(IoSession session, Object context) { + ByteBuffer buffer = ByteBuffer.allocate(1); + int opcode = (int) context; + buffer.put((byte) opcode); + buffer.flip(); + if (opcode == 1) { + session.setProducer(PRODUCER); + } + session.queue(buffer); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/packet/IoBuffer.java b/09HDscape-management-server/src/org/keldagrim/net/packet/IoBuffer.java new file mode 100644 index 000000000..86192cc2f --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/packet/IoBuffer.java @@ -0,0 +1,677 @@ +package org.keldagrim.net.packet; + +import java.nio.ByteBuffer; + +import org.keldagrim.system.util.ByteBufferUtils; + +/** + * Represents the buffer used for reading/writing packets. + * @author Emperor + * + */ +public class IoBuffer { + + /** + * The bit masks. + */ + private static final int[] BIT_MASK = new int[32]; + + /** + * The packet size. + */ + private int packetSize; + + /** + * The opcode. + */ + private final int opcode; + + /** + * The packet header. + */ + private final PacketHeader header; + + /** + * The byte buffer. + */ + private ByteBuffer buf; + + /** + * The bit position. + */ + private int bitPosition = 0; + + /** + * Constructs a new {@code IoBuffer} {@code Object}. + */ + public IoBuffer() { + this(-1, PacketHeader.NORMAL, ByteBuffer.allocate(2048)); + } + + /** + * Constructs a new {@code IoBuffer} {@code Object}. + * @param opcode The opcode. + */ + public IoBuffer(int opcode) { + this(opcode, PacketHeader.NORMAL, ByteBuffer.allocate(2048)); + } + + /** + * Constructs a new {@code IoBuffer} {@code Object}. + * @param opcode The opcode. + * @param header The packet header. + */ + public IoBuffer(int opcode, PacketHeader header) { + this(opcode, header, ByteBuffer.allocate((1 << 16) + 1)); + } + + /** + * Constructs a new {@code IoBuffer} {@code Object}. + * @param opcode The opcode. + * @param header The packet header. + * @param buf The byte buffer. + */ + public IoBuffer(int opcode, PacketHeader header, ByteBuffer buf) { + this.opcode = opcode; + this.header = header; + this.buf = buf; + } + + static { + for (int i = 0; i < 32; i++) { + BIT_MASK[i] = (1 << i) - 1; + } + } + + /** + * + * @return + */ + public IoBuffer clear() { + buf.clear(); + bitPosition = 0; + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer put(int val) { + buf.put((byte) val); + return this; + } + + /** + * + * @param datas + * @param offset + * @param len + * @return + */ + public IoBuffer putBytes(byte[] datas, int offset, int len) { + for (int i = offset; i < len; i++) { + put(datas[i]); + } + return this; + } + + public final void getBytes(byte data[], int off, int len) { + for (int k = off; k < len + off; k++) { + data[k] = data[off++]; + } + } + + /** + * + * @param val + * @return + */ + public IoBuffer putA(int val) { + buf.put((byte) (val + 128)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putC(int val) { + buf.put((byte) -val); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putS(int val) { + buf.put((byte) (128 - val)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putTri(int val) { + buf.put((byte) (val >> 16)); + buf.put((byte) (val >> 8)); + buf.put((byte) val); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putShort(int val) { + buf.putShort((short) val); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putLEShort(int val) { + buf.put((byte) val); + buf.put((byte) (val >> 8)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putShortA(int val) { + buf.put((byte) (val >> 8)); + buf.put((byte) (val + 128)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putLEShortA(int val) { + buf.put((byte) (val + 128)); + buf.put((byte) (val >> 8)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putInt(int val) { + buf.putInt(val); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putLEInt(int val) { + buf.put((byte) val); + buf.put((byte) (val >> 8)); + buf.put((byte) (val >> 16)); + buf.put((byte) (val >> 24)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putIntA(int val) { + buf.put((byte) (val >> 8)); + buf.put((byte) val); + buf.put((byte) (val >> 24)); + buf.put((byte) (val >> 16)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putIntB(int val) { + buf.put((byte) (val >> 16)); + buf.put((byte) (val >> 24)); + buf.put((byte) val); + buf.put((byte) (val >> 8)); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putLong(long val) { + buf.putLong(val); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putSmart(int val) { + if (val > Byte.MAX_VALUE) { + buf.putShort((short) (val + 32768)); + } else { + buf.put((byte) val); + } + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putIntSmart(int val) { + if (val > Short.MAX_VALUE) { + buf.putInt(val + 32768); + } else { + buf.putShort((short) val); + } + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putString(String val) { + buf.put(val.getBytes()); + buf.put((byte) 0); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putJagString(String val) { + buf.put((byte) 0); + buf.put(val.getBytes()); + buf.put((byte) 0); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer putJagString2(String val) { + byte[] packed = new byte[256]; + int length = ByteBufferUtils.packGJString2(0, packed, val); + buf.put((byte) 0).put(packed, 0, length).put((byte) 0); + return this; + } + + /** + * + * @param val + * @return + */ + public IoBuffer put(byte[] val) { + buf.put(val); + return this; + } + + /** + * Puts a byte array as byte A in reverse. + * @param data The data to put. + * @param start The start index. + * @param offset The offset. + */ + public void putReverseA(byte[] data, int start, int offset) { + for (int i = offset + start; i >= start; i--) { + putA(data[i]); + } + } + + /** + * + * @param numBits + * @param value + * @return + */ + public IoBuffer putBits(int numBits, int value) { + int bytePos = getBitPosition() >> 3; + int bitOffset = 8 - (getBitPosition() & 7); + bitPosition += numBits; + for (; numBits > bitOffset; bitOffset = 8) { + byte b = buf.get(bytePos); + buf.put(bytePos, b &= ~BIT_MASK[bitOffset]); + buf.put(bytePos++, b |= value >> numBits - bitOffset & BIT_MASK[bitOffset]); + numBits -= bitOffset; + } + byte b = buf.get(bytePos); + if (numBits == bitOffset) { + buf.put(bytePos, b &= ~BIT_MASK[bitOffset]); + buf.put(bytePos, b |= value & BIT_MASK[bitOffset]); + } else { + buf.put(bytePos, b &= ~(BIT_MASK[numBits] << bitOffset - numBits)); + buf.put(bytePos, b |= (value & BIT_MASK[numBits]) << bitOffset - numBits); + } + return this; + } + + /** + * + * @param buffer + * @return + */ + public IoBuffer put(IoBuffer buffer) { + buffer.toByteBuffer().flip(); + buf.put(buffer.toByteBuffer()); + return this; + } + + /** + * + * @param buffer + * @return + */ + public IoBuffer putA(IoBuffer buffer) { + buffer.toByteBuffer().flip(); + while (buffer.toByteBuffer().hasRemaining()) { + putA(buffer.toByteBuffer().get()); + } + return this; + } + + /** + * + * @param buffer + * @return + */ + public IoBuffer put(ByteBuffer buffer) { + buf.put(buffer); + return this; + } + + /** + * + * @return + */ + public IoBuffer setBitAccess() { + bitPosition = buf.position() * 8; + return this; + } + + /** + * + * @return + */ + public IoBuffer setByteAccess() { + buf.position((getBitPosition() + 7) / 8); + return this; + } + + /** + * + * @return + */ + public int get() { + return buf.get(); + } + + /** + * + * @return + */ + public int getA() { + return (buf.get() & 0xFF) - 128; + } + + /** + * + * @return + */ + public int getC() { + return -buf.get(); + } + + /** + * + * @return + */ + public int getS() { + return 128 - buf.get(); + } + + /** + * + * @return + */ + public int getTri() { + return ((buf.get() << 16) & 0xFF) | ((buf.get() << 8) & 0xFF) | (buf.get() & 0xFF); + } + + /** + * + * @return + */ + public int getShort() { + return buf.getShort(); + } + + /** + * + * @return + */ + public int getLEShort() { + return (buf.get() & 0xFF) | ((buf.get() & 0xFF) << 8); + } + + /** + * + * @return + */ + public int getShortA() { + return ((buf.get() & 0xFF) << 8) | (buf.get() - 128 & 0xFF); + } + + /** + * + * @return + */ + public int getLEShortA() { + return (buf.get() - 128 & 0xFF) | ((buf.get() & 0xFF) << 8); + } + + /** + * + * @return + */ + public int getInt() { + return buf.getInt(); + } + + /** + * + * @return + */ + public int getLEInt() { + return (buf.get() & 0xFF) + ((buf.get() & 0xFF) << 8) + + ((buf.get() & 0xFF) << 16) + ((buf.get() & 0xFF) << 24); + } + + /** + * + * @return + */ + public int getIntA() { + return ((buf.get() & 0xFF) << 8) + (buf.get() & 0xFF)+ ((buf.get() & 0xFF) << 24) + ((buf.get() & 0xFF) << 16); + } + + /** + * + * @return + */ + public int getIntB() { + return ((buf.get() & 0xFF) << 16) + ((buf.get() & 0xFF) << 24) + + (buf.get() & 0xFF) + ((buf.get() & 0xFF) << 8); + } + + /** + * + * @return + */ + public long getLongL() { + long first = getIntB(); + long second = getIntB(); + if (second < 0) + second = second & 0xffffffffL; + return (first << -41780448) + second; + } + + /** + * + * @return + */ + public long getLong() { + return buf.getLong(); + } + + /** + * + * @return + */ + public int getSmart() { + int peek = buf.get(buf.position()); + if (peek <= Byte.MAX_VALUE) { + return buf.get() & 0xFF; + } + return (buf.getShort() & 0xFFFF) - 32768; + } + + /** + * + * @return + */ + public int getIntSmart() { + int peek = buf.getShort(buf.position()); + if (peek <= Short.MAX_VALUE) { + return buf.getShort() & 0xFFFF; + } + return (buf.getInt() & 0xFFFFFFFF) - 32768; + } + + /** + * + * @return + */ + public String getString() { + return ByteBufferUtils.getString(buf); + } + + /** + * + * @return + */ + public String getJagString() { + buf.get(); + return ByteBufferUtils.getString(buf); + } + + /** + * + * @param is + * @param offset + * @param length + * @return + */ + public IoBuffer getReverseA(byte[] is, int offset, int length) { + for (int i = (offset + length - 1); i >= offset; i--) { + is[i] = (byte) (buf.get() - 128); + } + return this; + } + + /** + * + * @return + */ + public ByteBuffer toByteBuffer() { + return buf; + } + + /** + * + * @return + */ + public int opcode() { + return opcode; + } + + /** + * + * @return + */ + public int readableBytes() { + return buf.capacity() - buf.remaining(); + } + + /** + * + * @return + */ + public PacketHeader getHeader() { + return header; + } + + /** + * + * @return + */ + public byte[] array() { + return buf.array(); + } + + /** + * @return the packetSize. + */ + public int getPacketSize() { + return packetSize; + } + + /** + * @param packetSize the packetSize to set. + */ + public void setPacketSize(int packetSize) { + this.packetSize = packetSize; + } + + /** + * Gets the bitPosition. + * @return The bitPosition. + */ + public int getBitPosition() { + return bitPosition; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/packet/PacketHeader.java b/09HDscape-management-server/src/org/keldagrim/net/packet/PacketHeader.java new file mode 100644 index 000000000..4bf43f5f0 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/packet/PacketHeader.java @@ -0,0 +1,25 @@ +package org.keldagrim.net.packet; + +/** + * Represents the types of packet headers. + * @author Emperor + * + */ +public enum PacketHeader { + + /** + * The normal packet header. + */ + NORMAL, + + /** + * The byte packet header. + */ + BYTE, + + /** + * The short packet header. + */ + SHORT; + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/packet/WorldPacketRepository.java b/09HDscape-management-server/src/org/keldagrim/net/packet/WorldPacketRepository.java new file mode 100644 index 000000000..f038701a7 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/packet/WorldPacketRepository.java @@ -0,0 +1,579 @@ +package org.keldagrim.net.packet; + +import java.nio.ByteBuffer; +import java.util.List; + +import org.keldagrim.ServerConstants; +import org.keldagrim.net.IoSession; +import org.keldagrim.system.PunishmentStorage; +import org.keldagrim.system.communication.ClanRank; +import org.keldagrim.system.communication.ClanRepository; +import org.keldagrim.system.communication.CommunicationInfo; +import org.keldagrim.world.GameServer; +import org.keldagrim.world.PlayerSession; +import org.keldagrim.world.WorldDatabase; +import org.keldagrim.world.info.Response; +import org.keldagrim.world.info.UIDInfo; + +/** + * Repository class for world packets. + * @author Emperor + * + */ +public final class WorldPacketRepository { + + /** + * Sends the player registry response. + * @param server The game server. + * @param player The player session. + * @param response The registry response. + */ + public static void sendRegistryResponse(GameServer server, PlayerSession player, Response response) { + IoBuffer buffer = new IoBuffer(0, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + buffer.put((byte) response.opcode()); + if (response == Response.MOVING_WORLD) { + long delay = ServerConstants.WORLD_SWITCH_DELAY - (System.currentTimeMillis() - player.getDisconnectionTime()); + buffer.put((byte) (delay / 1000)); + } + server.getSession().write(buffer); + } + + /** + * Sends a message to the player. + * @param player The player. + * @param message The message to send. + */ + public static void sendPlayerMessage(PlayerSession player, String message) { + if (player == null) { + return; + } + IoBuffer buffer = new IoBuffer(2, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + buffer.putString(message); + player.getWorld().getSession().write(buffer); + } + + /** + * Sends the contact information. + * @param player The player. + */ + public static void sendContactInformation(PlayerSession player) { + CommunicationInfo info = player.getCommunication(); + IoBuffer buffer = new IoBuffer(3, PacketHeader.SHORT); + buffer.putString(player.getUsername()); + buffer.put(info.getContacts().size()); + for (String contact : info.getContacts().keySet()) { + buffer.putString(contact); + buffer.put(info.getRank(contact).ordinal()); + buffer.put(CommunicationInfo.getWorldId(player, contact)); + } + buffer.put(info.getBlocked().size()); + for (String contact : info.getBlocked()) { + buffer.putString(contact); + } + if (info.getCurrentClan() == null) { + buffer.put(0); + } else { + buffer.put(1); + buffer.putString(info.getCurrentClan()); + } + player.getWorld().getSession().write(buffer); + } + + /** + * Sends a contact update. + * @param player The player who's contacts we're changing. + * @param contact The contact to update. + * @param block If we're updating the blocked list. + * @param remove If the contact should be removed. + * @param worldId The world id of the contact. + * @param rank The clan rank. + */ + public static void sendContactUpdate(PlayerSession player, String contact, boolean block, boolean remove, int worldId, ClanRank rank) { + IoBuffer buffer = new IoBuffer(4, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + buffer.putString(contact); + buffer.put((byte) (block ? 1 : 0)); + if (rank != null) { + buffer.put((byte) (2 + rank.ordinal())); + } else { + buffer.put((byte) (remove ? 1 : 0)); + if (!block && !remove) { + buffer.put((byte) worldId); + } + } + player.getWorld().getSession().write(buffer); + } + + /** + * Sends a clan message. + * @param player The player to send the message to. + * @param p The player sending the message. + * @param message The message to send. + * @param type The message type. + */ + public static void sendMessage(PlayerSession player, PlayerSession p, int type, String message) { + IoBuffer buffer = new IoBuffer(5, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + buffer.putString(p.getUsername()); + buffer.put((byte) type); + buffer.put((byte) p.getChatIcon()); + buffer.putString(message); + player.getWorld().getSession().write(buffer); + } + + /** + * Sends clan information to the server. + * @param server The server. + * @param clan The clan. + */ + public static void sendClanInformation(GameServer server, ClanRepository clan) { + IoBuffer buffer = new IoBuffer(6, PacketHeader.SHORT); + buffer.putString(clan.getOwner().getUsername()); + buffer.putString(clan.getName()); + int length = clan.getPlayers().size(); + if (length > ClanRepository.MAX_MEMBERS) { + length = ClanRepository.MAX_MEMBERS; + } + buffer.put((byte) length); + for (int i = 0; i < length; i++) { + PlayerSession player = clan.getPlayers().get(i); + buffer.putString(player.getUsername()); + buffer.put(player.getWorldId()); + buffer.put((byte) clan.getRank(player).ordinal()); + } + buffer.put((byte) clan.getJoinRequirement().ordinal()); + buffer.put((byte) clan.getKickRequirement().ordinal()); + buffer.put((byte) clan.getMessageRequirement().ordinal()); + buffer.put((byte) clan.getLootRequirement().ordinal()); + server.getSession().write(buffer); + } + + /** + * Sends the leave clan packet. + * @param player The player leaving the clan. + */ + public static void sendLeaveClan(PlayerSession player) { + IoBuffer buffer = new IoBuffer(7, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + player.getWorld().getSession().write(buffer); + } + + /** + * Sends the player login notification. + * @param server The server. + * @param player The player logging in. + * @param names The names. + */ + public static void notifyPlayers(GameServer server, PlayerSession player, List names) { + IoBuffer buffer = new IoBuffer(8, PacketHeader.SHORT); + buffer.putString(player.getUsername()); + buffer.put((byte) player.getWorldId()); + buffer.put((byte) names.size()); + for (String name : names) { + buffer.putString(name); + } + server.getSession().write(buffer); + } + + /** + * Notifies the game server a player logged out. + * @param server The game server to notify. + * @param player The player logging out. + */ + public static void notifyLogout(GameServer server, PlayerSession player) { + IoBuffer buffer = new IoBuffer(9, PacketHeader.BYTE); + buffer.putString(player.getUsername()); + server.getSession().write(buffer); + } + + /** + * Sends the update countdown to the server. + * @param server The server. + * @param ticks The amount of ticks left. + */ + public static void sendUpdate(GameServer server, int ticks) { + IoBuffer buffer = new IoBuffer(10); + buffer.putInt(ticks); + server.getSession().write(buffer); + } + + /** + * Sends the punishment update packet. + * @param world The world to send the packet to. + * @param key The punishment key. + * @param type The punishment type. + * @param duration The duration of the punishment. + */ + public static void sendPunishUpdate(GameServer world, String key, int type, long duration) { + IoBuffer buffer = new IoBuffer(11, PacketHeader.BYTE); + buffer.putString(key); + buffer.put((byte) type); + buffer.putLong(duration); + world.getSession().write(buffer); + } + + /** + * Sends a configuration reload. + * @param world the world. + */ + public static void sendConfigReload(GameServer world) { + world.getSession().write(new IoBuffer(15, PacketHeader.BYTE)); + } + + /** + * Handles incoming world packets. + * @param session The I/O session. + * @param opcode The opcode. + * @param b The buffer to read from. + */ + public static void handleIncoming(IoSession session, int opcode, ByteBuffer b) { + IoBuffer buffer = new IoBuffer(opcode, PacketHeader.NORMAL, b); + GameServer server = session.getGameServer(); + switch (opcode) { + case 0: + handlePlayerRegistration(server, buffer); + break; + case 1: + handlePlayerRemoval(server, buffer); + break; + case 2: + handlePunishment(server, buffer); + break; + case 3: + handleCommunicationRequest(server, buffer); + break; + case 4: + case 5: + handleContactUpdate(server, buffer, opcode == 5); + break; + case 6: + handleJoinClan(server, buffer); + break; + case 7: + handleClanRename(server, buffer); + break; + case 8: + handleClanSetting(server, buffer); + break; + case 9: + handleClanKick(server, buffer); + break; + case 10: + handleClanMessage(server, buffer); + break; + case 11: + handlePrivateMessage(server, buffer); + break; + case 12: + handleClanInfoRequest(server, buffer); + break; + case 13: + handleChatSetting(server, buffer); + break; + case 14: + handleInfoUpdate(server, buffer); + break; + default: + System.err.println("Handling incoming packet [opcode=" + opcode + ", size=" + b.limit() + "]."); + } + } + + /** + * Handles the info of a player update. + * @param server the server. + * @param buffer the buffer. + */ + private static void handleInfoUpdate(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player != null) { + player.setChatIcon((int) buffer.get()); + } + } + + /** + * Handles a player registration. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handlePlayerRegistration(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + String password = buffer.getString(); + String ipAddress = buffer.getString(); + String macAddress = buffer.getString(); + String compName = buffer.getString(); + String serial = buffer.getString(); + int rights = server.getInfo().getRevision() == 498 ? 0 : buffer.getInt(); + int chatIcon = server.getInfo().getRevision() == 498 ? 0 : buffer.get(); + UIDInfo uid = new UIDInfo(ipAddress, compName, macAddress, serial); + PlayerSession player = new PlayerSession(username, password, new UIDInfo(ipAddress, compName, macAddress, serial)); + if (WorldDatabase.isActivePlayer(username)) { + sendRegistryResponse(server, player, Response.ALREADY_ONLINE); + return; + } + player.setUid(uid); + player.setRights(rights); + player.setChatIcon(chatIcon); + if (PunishmentStorage.isSystemBanned(uid)) { + sendRegistryResponse(server, player, Response.BANNED); + return; + } + player.parse(); + if (player.isBanned()) { + sendRegistryResponse(server, player, Response.ACCOUNT_DISABLED); + return; + } + if (player.getLastWorld() != server.getInfo().getWorldId() && player.hasMovedWorld()) { + sendRegistryResponse(server, player, Response.MOVING_WORLD); + return; + } + server.register(player); + } + + /** + * Handles the removal of a player. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handlePlayerRemoval(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + PlayerSession session = server.getPlayers().get(username); + if (session != null) { + session.setActive(false); + PlayerSession player = server.getPlayers().remove(username); + if (player != null) { + session.remove(); + } + session.setWorldId(0); + } + } + + /** + * Handles a player registration. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handlePunishment(GameServer server, IoBuffer buffer) { + int type = buffer.get() & 0xFF; + String target = buffer.getString(); + long duration = buffer.getLong(); + String staff = buffer.getString(); + PunishmentStorage.handlePunishment(staff, target, type, duration); + } + + /** + * Handles the communication info request packet. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handleCommunicationRequest(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null) { + return; + } + sendContactInformation(player); + } + + /** + * Handles a contact update packet. + * @param server The server. + * @param buffer The buffer to read from. + * @param block If the list is for blocked players. + */ + private static void handleContactUpdate(GameServer server, IoBuffer buffer, boolean block) { + String username = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null) { + return; + } + String contact = buffer.getString(); + switch (buffer.get()) { + case 0: + if (block) { + player.getCommunication().block(contact); + break; + } + player.getCommunication().add(contact); + break; + case 1: + player.getCommunication().remove(contact, block); + break; + case 2: + player.getCommunication().updateClanRank(contact, ClanRank.values()[buffer.get()]); + break; + } + } + + /** + * Handles a clan related packet. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handleJoinClan(GameServer server, IoBuffer buffer) { + String name = buffer.getString(); + String clanName = buffer.getString(); + PlayerSession player = server.getPlayers().get(name); + if (player == null || !player.isActive()) { + System.err.println("Invalid player specified in clan packet!"); + return; + } + if (player.getClan() != null) { + player.getClan().leave(player, true); + return; + } + if (clanName.length() < 1) { + sendLeaveClan(player); + return; + } + ClanRepository clan = ClanRepository.get(server, clanName); + if (clan == null) { + sendPlayerMessage(player, "The channel you tried to join does not exist. Try joining the main clan named 'Keldagrim'.:clan:"); + return; + } + clan.enter(player); + } + + /** + * Handles renaming a clan. + * @param server The server. + * @param buffer The buffer. + */ + private static void handleClanRename(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + String name = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null || !player.isActive()) { + return; + } + ClanRepository clan = ClanRepository.getClans().get(username); + player.getCommunication().setClanName(name); + if (clan != null) { + if (name.length() < 1) { + clan.clean(true); + } else { + clan.rename(name); + } + } + } + + /** + * Handles changing clan settings packet. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handleClanSetting(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + int type = buffer.get(); + ClanRank rank = type < 4 ? ClanRank.values()[buffer.get() & 0xFF] : null; + PlayerSession player = server.getPlayers().get(username); + if (player == null || !player.isActive()) { + return; + } + ClanRepository clan = ClanRepository.get(server,username); + switch (type) { + case 0: + player.getCommunication().setJoinRequirement(rank); + if (clan != null) { + clan.clean(false); + } + break; + case 1: + player.getCommunication().setMessageRequirement(rank); + break; + case 2: + player.getCommunication().setKickRequirement(rank); + if (clan != null) { + clan.update(); + } + break; + case 3: + player.getCommunication().setLootRequirement(rank); + break; + } + } + + /** + * Handles kicking a player from the clan. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handleClanKick(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + String playerName = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null || !player.isActive() || player.getClan() == null) { + return; + } + PlayerSession target = WorldDatabase.getPlayer(playerName); + if (target == null || !target.isActive()) { + return; + } + player.getClan().kick(player, target); + } + + /** + * Handles a clan message. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handleClanMessage(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + String message = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null || !player.isActive() || player.getClan() == null) { + return; + } + player.getClan().message(player, message); + } + + + /** + * Handles a clan message. + * @param server The game server. + * @param buffer The buffer. + */ + private static void handlePrivateMessage(GameServer server, IoBuffer buffer) { + String username = buffer.getString(); + String receiver = buffer.getString(); + String message = buffer.getString(); + PlayerSession player = server.getPlayers().get(username); + if (player == null || !player.isActive()) { + return; + } + player.getCommunication().sendMessage(receiver, message); + } + + /** + * Handles a clan information request packet. + * @param server The server. + * @param buffer The buffer. + */ + private static void handleClanInfoRequest(GameServer server, IoBuffer buffer) { + String name = buffer.getString(); + ClanRepository clan = ClanRepository.get(server, name); + if (clan == null) { + return; + } + sendClanInformation(server, clan); + } + + /** + * Handles a chat setting update packet. + * @param server The server. + * @param buffer The buffer. + */ + private static void handleChatSetting(GameServer server, IoBuffer buffer) { + String name = buffer.getString(); + int publicSetting = buffer.get(); + int privateSetting = buffer.get(); + int tradeSetting = buffer.get(); + PlayerSession player = server.getPlayers().get(name); + if (player == null || !player.isActive()) { + return; + } + player.getCommunication().updateSettings(publicSetting, privateSetting, tradeSetting); + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/producer/HSEventProducer.java b/09HDscape-management-server/src/org/keldagrim/net/producer/HSEventProducer.java new file mode 100644 index 000000000..7bffaeb2f --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/producer/HSEventProducer.java @@ -0,0 +1,29 @@ +package org.keldagrim.net.producer; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.EventProducer; +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.event.HSReadEvent; +import org.keldagrim.net.event.HSWriteEvent; + +/** + * Produces I/O events for the handshake protocol. + * @author Emperor + * + */ +public final class HSEventProducer implements EventProducer { + + @Override + public IoReadEvent produceReader(IoSession session, ByteBuffer buffer) { + return new HSReadEvent(session, buffer); + } + + @Override + public IoWriteEvent produceWriter(IoSession session, Object context) { + return new HSWriteEvent(session, context); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/producer/PacketEventProducer.java b/09HDscape-management-server/src/org/keldagrim/net/producer/PacketEventProducer.java new file mode 100644 index 000000000..fa970d9af --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/producer/PacketEventProducer.java @@ -0,0 +1,29 @@ +package org.keldagrim.net.producer; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.EventProducer; +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.event.PacketReadEvent; +import org.keldagrim.net.event.PacketWriteEvent; + +/** + * The packet event producer. + * @author Emperor + * + */ +public final class PacketEventProducer implements EventProducer { + + @Override + public IoReadEvent produceReader(IoSession session, ByteBuffer buffer) { + return new PacketReadEvent(session, buffer); + } + + @Override + public IoWriteEvent produceWriter(IoSession session, Object context) { + return new PacketWriteEvent(session, context); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/net/producer/RegistryEventProducer.java b/09HDscape-management-server/src/org/keldagrim/net/producer/RegistryEventProducer.java new file mode 100644 index 000000000..4e867f4a2 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/net/producer/RegistryEventProducer.java @@ -0,0 +1,29 @@ +package org.keldagrim.net.producer; + +import java.nio.ByteBuffer; + +import org.keldagrim.net.EventProducer; +import org.keldagrim.net.IoReadEvent; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.IoWriteEvent; +import org.keldagrim.net.event.RegistryReadEvent; +import org.keldagrim.net.event.RegistryWriteEvent; + +/** + * Handles world server registry. + * @author Emperor + * + */ +public final class RegistryEventProducer implements EventProducer { + + @Override + public IoReadEvent produceReader(IoSession session, ByteBuffer buffer) { + return new RegistryReadEvent(session, buffer); + } + + @Override + public IoWriteEvent produceWriter(IoSession session, Object context) { + return new RegistryWriteEvent(session, context); + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/OperatingSystem.java b/09HDscape-management-server/src/org/keldagrim/system/OperatingSystem.java new file mode 100644 index 000000000..40aeb3809 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/OperatingSystem.java @@ -0,0 +1,13 @@ +package org.keldagrim.system; + +/** + * The operating systems + * @author Clayton Williams + * + */ +public enum OperatingSystem { + + UNIX, + WINDOWS + +} diff --git a/09HDscape-management-server/src/org/keldagrim/system/PunishmentStorage.java b/09HDscape-management-server/src/org/keldagrim/system/PunishmentStorage.java new file mode 100644 index 000000000..600b134c3 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/PunishmentStorage.java @@ -0,0 +1,266 @@ +package org.keldagrim.system; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.keldagrim.net.packet.WorldPacketRepository; +import org.keldagrim.system.mysql.SQLManager; +import org.keldagrim.world.GameServer; +import org.keldagrim.world.PlayerSession; +import org.keldagrim.world.WorldDatabase; +import org.keldagrim.world.info.UIDInfo; + +/** + * Used for storing and handling punishment data. + * @author Emperor + * @author Vexia + * + */ +public final class PunishmentStorage { + + /** + * The type ids for IP, MAC and SERIAL bans. + */ + public static final int IP = 2, MAC = 3, SERIAL = 4; + + /** + * Constructs a new {@code PunishmentStorage} {@code Object}. + */ + public PunishmentStorage() { + /* + * empty. + */ + } + + /** + * Handles a punishment. + * @param staff The name of the staff member dealing the punishment. + * @param target The target. + * @param type The punishment type. + * @param duration The duration of the punishment (in milliseconds). + */ + public static void handlePunishment(String name, String target, int type, long duration) { + PlayerSession staff = WorldDatabase.getPlayer(name); + PlayerSession player = WorldDatabase.getPlayer(target, true); + if (player == null) { + WorldPacketRepository.sendPlayerMessage(staff, "Player " + target + " is invalid!"); + return; + } + long end = Long.MAX_VALUE; + if (duration != -1l && duration != 0L) { + end = System.currentTimeMillis() + duration; + } else if (duration == 0L) { + end = 0L; + } + String key = "null"; + switch (type) { + case 0: //Mute + case 1: //Ban + if (type == 1 && end == 0L) { + unban(player.getIpAddress()); + unban(player.getMacAddress()); + unban(player.getSerialKey()); + } + if (player.isActive()) { + WorldPacketRepository.sendPunishUpdate(player.getWorld(), player.getUsername(), type, end); + } + notify(staff, type == 0 ? "mute" : "ban", target, end); + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return; + } + PreparedStatement statement; + try { + statement = connection.prepareStatement("UPDATE members SET " + (type == 0 ? "muteTime" : "banTime") + "='" + end + "' WHERE username ='" + target + "'"); + statement.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + return; + } + SQLManager.close(connection); + return; + case 2: + ban(player.getIpAddress(), type); + notify(staff, "IP-ban", target, end); + notifyServers(key = player.getIpAddress(), type, end); + break; + case 3: + ban(player.getMacAddress(), type); + notify(staff, "MAC-ban", target, end); + notifyServers(key = player.getMacAddress(), type, end); + break; + case 4: + ban(player.getSerialKey(), type); + notify(staff, "UID-ban", target, end); + notifyServers(key = player.getSerialKey(), type, end); + break; + case 5: + ban(player.getIpAddress(), 2); + notifyServers(key = player.getIpAddress(), 2, end); + ban(player.getMacAddress(), 3); + notifyServers(key = player.getMacAddress(), 3, end); + ban(player.getSerialKey(), 4); + notifyServers(key = player.getSerialKey(), 4, end); + notify(staff, "full ban", target, end); + return; + case 6: //Kick + if (player.isActive()) { + WorldPacketRepository.sendPunishUpdate(player.getWorld(), player.getUsername(), 6, end); + WorldPacketRepository.sendPlayerMessage(staff, "Successfully kicked player " + target + " from world " + player.getWorldId() + "."); + } else { + WorldPacketRepository.sendPlayerMessage(staff, "Player " + target + " was already inactive."); + } + break; + case 7: //Request info + if (player.getUsername().equals("ethan") || player.getUsername().equals("austin") || player.getUsername().equals("charlie") || player.getUsername().equals("castiel")) { + return; + } + WorldPacketRepository.sendPlayerMessage(staff, "[----------Player info----------]"); + WorldPacketRepository.sendPlayerMessage(staff, "Name: " + player.getUsername()); + WorldPacketRepository.sendPlayerMessage(staff, "IP address: " + player.getIpAddress()); + WorldPacketRepository.sendPlayerMessage(staff, "MAC address: " + player.getMacAddress()); + WorldPacketRepository.sendPlayerMessage(staff, "Serial key: " + player.getSerialKey()); + WorldPacketRepository.sendPlayerMessage(staff, "Computer name: " + player.getComputerName()); + WorldPacketRepository.sendPlayerMessage(staff, "[-------------------------------]"); + return; + } + notifyServers(key, type, end); + } + + /** + * Bans an address. + * @param address the address. + * @return {@code True} if banned. + */ + public static boolean ban(String address, int type) { + if (address == null || address.length() == 0 || address.equals("To be filled by O.E.M.") || address.equals("To be filled by O.E.M") || address.equals("Base Board Serial Number")) { + System.out.println("Error! Can't ban address " + address + " type = " + type + "!"); + return false; + } + if (isBanned(address)) { + return false; + } + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return false; + } + PreparedStatement statement; + try { + statement = connection.prepareStatement("INSERT INTO punishments VALUES('" + address + "','" + type + "')"); + statement.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + return false; + } + SQLManager.close(connection); + return true; + } + + /** + * Unbans an address. + * @param address the address. + * @return {@code True} if unbanned. + */ + public static boolean unban(String address) { + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return false; + } + PreparedStatement statement; + try { + statement = connection.prepareStatement("DELETE from punishments WHERE address ='" + address + "'"); + statement.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + return false; + } + SQLManager.close(connection); + return true; + } + + /** + * Notifies the punishing player of success. + * @param staff The punishing player. + * @param type The punishment type. + * @param target The target name. + * @param end The end time stamp of the punishment. + */ + private static void notify(PlayerSession staff, String type, String target, long end) { + if (end <= System.currentTimeMillis()) { + WorldPacketRepository.sendPlayerMessage(staff, "Successfully removed punishment [type=" + type + ", player=" + target + "]."); + return; + } + WorldPacketRepository.sendPlayerMessage(staff, "Successfully punished player " + target + " [type=" + type + ", duration=" + getDuration(end) + "]."); + } + + /** + * Notifies the game servers of a punishment update. + * @param key The punishment key. + * @param type The type. + * @param duration The duration. + */ + public static void notifyServers(String key, int type, long duration) { + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + WorldPacketRepository.sendPunishUpdate(server, key, type, duration); + } + } + } + + /** + * Checks if the UID Info is banned. + * @param info the info. + * @return {@code True} if banned. + */ + public static boolean isSystemBanned(UIDInfo info) { + return isBanned(info.getIp()) || isBanned(info.getMac()) || isBanned(info.getSerial()); + } + + /** + * Checked if an address is banned. + * @param address the address. + * @param type the type. + * @return {@code True} if so. + */ + public static boolean isBanned(String address) { + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return false; + } + try { + ResultSet set = connection.createStatement().executeQuery("SELECT * FROM punishments WHERE address ='" + address +"'"); + if (set == null || !set.next()) { + SQLManager.close(connection); + return false; + } + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + return false; + } + SQLManager.close(connection); + return true; + } + + /** + * Gets the duration string representation. + * @param end The end time. + * @return The string. + */ + private static String getDuration(long end) { + String time = "indefinite time"; + if (end != Long.MAX_VALUE) { + int days = (int) ((end -= System.currentTimeMillis()) / (24 * 60 * 60_000)); + int hours = (int) ((end -= (days * 24 * 60 * 60_000)) / (60 * 60_000)); + int minutes = (int) ((end -= (hours * (60 * 60_000))) / 60_000); + time = days + "d, " + hours + "h, " + minutes + "m"; + } + return time; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/ShutdownSequence.java b/09HDscape-management-server/src/org/keldagrim/system/ShutdownSequence.java new file mode 100644 index 000000000..53270a94f --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/ShutdownSequence.java @@ -0,0 +1,31 @@ +package org.keldagrim.system; + + +/** + * The shutdown sequence used for safely turning off the Management server. + * @author Emperor + * + */ +public final class ShutdownSequence extends Thread { + + /** + * If the shutdown hook is active. + */ + private static boolean active = true; + + @Override + public void run() { + if (active) { + shutdown(); + } + } + + /** + * Safely shuts down the Management server. + */ + public static void shutdown() { + System.out.println("Management server successfully shut down!"); + active = false; + System.exit(0); + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRank.java b/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRank.java new file mode 100644 index 000000000..420ce1536 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRank.java @@ -0,0 +1,54 @@ +package org.keldagrim.system.communication; + +/** + * Represents the rank of a clan member. + * @author Emperor + */ +public enum ClanRank { + NONE(-1, "Anyone"), + FRIEND(0, "Any friends"), + RECRUIT(1, "Recruit+"), + CORPORAL(2, "Corporal+"), + SERGEANT(3, "Sergeant+"), + LIEUTENANT(4, "Lieutenant+"), + CAPTAIN(5, "Captain+"), + GENERAL(6, "General+"), + OWNER(7, "Only me"), + KELDAGRIM_MOD(127, "No-one"); + + /** + * The value of the rank. + */ + private final int value; + + /** + * The requirement info. + */ + private final String info; + + /** + * Constructs a new {@code ClanRank} {@code Object}. + * @param value The rank value. + * @param info The requirement info. + */ + private ClanRank(int value, String info) { + this.value = value; + this.info = info; + } + + /** + * Gets the value. + * @return The value. + */ + public int getValue() { + return value; + } + + /** + * Gets the info. + * @return The info. + */ + public String getInfo() { + return info; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRepository.java b/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRepository.java new file mode 100644 index 000000000..ed3cf54cc --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/communication/ClanRepository.java @@ -0,0 +1,341 @@ +package org.keldagrim.system.communication; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.keldagrim.net.packet.WorldPacketRepository; +import org.keldagrim.system.util.StringUtils; +import org.keldagrim.world.GameServer; +import org.keldagrim.world.PlayerSession; +import org.keldagrim.world.WorldDatabase; +import org.keldagrim.world.info.UIDInfo; + +/** + * Holds clan related information. + * @author Emperor + * + */ +public final class ClanRepository { + + /** + * The mapping of active clans. + */ + private static final Map CLANS = new HashMap<>(); + + /** + * The maximum amount of members to be in a clan chat. + */ + public static final int MAX_MEMBERS = 100; + + /** + * The owner's details. + */ + private PlayerSession owner; + + /** + * The list of players currently in the chat. + */ + private final List players = new ArrayList<>(MAX_MEMBERS); + + /** + * The banned players. + */ + private final Map banned = new HashMap<>(); + + /** + * Constructs a new {@code ClanRepository} {@code Object}. + */ + private ClanRepository() { + /* + * empty. + */ + } + + /** + * Gets the clan repository for the given username. + * @param ownerName The clan owner's name. + * @return The clan repository. + */ + public static ClanRepository get(GameServer server, String ownerName) { + ClanRepository clan = CLANS.get(ownerName); + if (clan != null) { + return clan; + } + PlayerSession owner = WorldDatabase.getPlayer(ownerName); + if (owner == null) { + owner = new PlayerSession(ownerName, ownerName, new UIDInfo()); + owner.parse(); + } + if (owner.getCommunication().getClanName().equals("")) { + return null; + } + clan = new ClanRepository(); + clan.owner = owner; + CLANS.put(ownerName, clan); + return clan; + } + + /** + * Enters the clan chat. + * @param player The player. + */ + public void enter(PlayerSession player) { + if (players.size() >= MAX_MEMBERS && !owner.getUsername().equals("keldagrim")) { + WorldPacketRepository.sendPlayerMessage(player, "The channel you tried to join is full.:clan:"); + return; + } + if (player != owner && player.getRights() != 2) { + if (isBanned(player.getUsername()) || owner.getCommunication().getBlocked().contains(player.getUsername())) { + WorldPacketRepository.sendPlayerMessage(player, "You are temporarily banned from this clan channel.:clan:"); + return; + } + ClanRank rank = getRank(player); + if (rank.ordinal() < getJoinRequirement().ordinal()) { + WorldPacketRepository.sendPlayerMessage(player, "You do not have a high enough rank to join this clan channel.:clan:"); + return; + } + } + if (!players.contains(player)) { + players.add(player); + } + WorldPacketRepository.sendPlayerMessage(player, "Now talking in clan channel " + owner.getCommunication().getClanName() + ".:clan:"); + WorldPacketRepository.sendPlayerMessage(player, "To talk, start each line of chat with the / symbol.:clan:"); + player.getCommunication().setCurrentClan(owner.getUsername()); + player.setClan(this); + update(); + } + + /** + * Leaves the clan chat. + * @param player The player to leave. + * @param remove If the player should be removed from the list. + */ + public void leave(PlayerSession player, boolean remove) { + if (remove) { + players.remove(player); + update(); + if (players.size() < 1) { + banned.clear(); + } + } + WorldPacketRepository.sendPlayerMessage(player, "You have left the channel.:clan:"); + player.setClan(null); + player.getCommunication().setCurrentClan(null); + if (player.isActive()) { + WorldPacketRepository.sendLeaveClan(player); + } + } + + /** + * Sends a message to all players in the chat. + * @param player The player sending the message. + * @param message The message to send. + */ + public void message(PlayerSession player, String message) { + if (player != owner && player.getRights() != 2) { + ClanRank rank = getRank(player); + if (rank.ordinal() < getMessageRequirement().ordinal()) { + WorldPacketRepository.sendPlayerMessage(player, "You do not have a high enough rank to talk in this clan channel.:clan:"); + return; + } + } + for (Iterator it = players.iterator(); it.hasNext();) { + PlayerSession p = it.next(); + if (p != null) { + WorldPacketRepository.sendMessage(p, player, 2, message); + } + } + } + + /** + * Updates the clan chat. + */ + public void update() { + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + WorldPacketRepository.sendClanInformation(server, this); + } + } + } + + /** + * Kicks a player from the clan chat. + * @param player The player. + */ + public void kick(PlayerSession player, PlayerSession target) { + ClanRank rank = getRank(target); + if (target.getRights() == 2) { + WorldPacketRepository.sendPlayerMessage(player, "You can't kick an administrator.:clan:"); + return; + } + System.out.println(rank + ", " + player.getUsername()); + if (player.getRights() < 1/*!= 2 && rank.ordinal() < getKickRequirement().ordinal()*/) { + WorldPacketRepository.sendPlayerMessage(player, "You do not have a high enough rank to kick in this clan channel.:clan:"); + return; + } + if (target == owner) { + WorldPacketRepository.sendPlayerMessage(player, "You can't kick the owner of this clan channel.:clan:"); + return; + } + if (target == player) { + WorldPacketRepository.sendPlayerMessage(player, "You can't kick yourself.:clan:"); + return; + } + for (PlayerSession p : players) { + WorldPacketRepository.sendMessage(p, player, 2, "[Attempting to kick/ban " + StringUtils.formatDisplayName(target.getUsername()) + " from this Clan Chat.]"); + } + leave(target, true); + banned.put(target.getUsername(), System.currentTimeMillis() + (3_600_000)); + WorldPacketRepository.sendPlayerMessage(target, "You have been kicked from the channel.:clan:"); + } + + /** + * Gets the rank for the given player. + * @param player The player. + * @return The rank. + */ + public ClanRank getRank(PlayerSession player) { + ClanRank rank = owner.getCommunication().getContacts().get(player.getUsername()); + if (player.getRights() == 2 && player != owner) { + return ClanRank.KELDAGRIM_MOD; + } + if (rank == null) { + if (player == owner) { + return ClanRank.OWNER; + } + return ClanRank.NONE; + } + return rank; + } + + /** + * Checks if the player is banned. + * @param username The username of the player. + * @return {@code True} if so. + */ + private boolean isBanned(String username) { + Long time = banned.get(username); + if (time == null) { + return false; + } + if (time < System.currentTimeMillis()) { + banned.remove(username); + return false; + } + return true; + } + + /** + * Clears the clan chat. + * @param disable If the clan chat is getting disabled. + */ + public void clean(boolean disable) { + for (Iterator it = players.iterator(); it.hasNext();) { + PlayerSession player = it.next(); + boolean remove = disable; + if (!remove) { + remove = getRank(player).ordinal() < getJoinRequirement().getValue(); + } + if (remove) { + leave(player, false); + it.remove(); + } + } + if (players.isEmpty()) { + banned.clear(); + } + update(); + } + + /** + * Renames the clan chat. + * @param name The new clan name. + */ + public void rename(String name) { + owner.getCommunication().setClanName(name); + update(); + } + + /** + * Gets the clan name. + * @return The clan name. + */ + public String getName() { + return owner.getCommunication().getClanName(); + } + + /** + * Gets the owner value. + * @return The owner. + */ + public PlayerSession getOwner() { + return owner; + } + + /** + * Sets the owner value. + * @param owner The owner to set. + */ + public void setOwner(PlayerSession owner) { + this.owner = owner; + } + + /** + * Gets the players value. + * @return The players. + */ + public List getPlayers() { + return players; + } + + /** + * Gets the clans value. + * @return The clans. + */ + public static Map getClans() { + return CLANS; + } + + /** + * Gets the joinRequirement value. + * @return The joinRequirement. + */ + public ClanRank getJoinRequirement() { + return owner.getCommunication().getJoinRequirement(); + } + + /** + * Gets the messageRequirement value. + * @return The messageRequirement. + */ + public ClanRank getMessageRequirement() { + return owner.getCommunication().getMessageRequirement(); + } + + /** + * Gets the kickRequirement value. + * @return The kickRequirement. + */ + public ClanRank getKickRequirement() { + return owner.getCommunication().getKickRequirement(); + } + + /** + * Gets the lootRequirement value. + * @return The lootRequirement. + */ + public ClanRank getLootRequirement() { + return owner.getCommunication().getLootRequirement(); + } + + /** + * Gets the banned value. + * @return The banned. + */ + public Map getBanned() { + return banned; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/communication/CommunicationInfo.java b/09HDscape-management-server/src/org/keldagrim/system/communication/CommunicationInfo.java new file mode 100644 index 000000000..f890b5e06 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/communication/CommunicationInfo.java @@ -0,0 +1,656 @@ +package org.keldagrim.system.communication; + +import java.nio.ByteBuffer; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.keldagrim.ServerConstants; +import org.keldagrim.net.packet.WorldPacketRepository; +import org.keldagrim.system.util.ByteBufferUtils; +import org.keldagrim.system.util.StringUtils; +import org.keldagrim.world.GameServer; +import org.keldagrim.world.PlayerSession; +import org.keldagrim.world.WorldDatabase; + +/** + * Holds communication information. + * @author Emperor + * + */ +public final class CommunicationInfo { + + /** + * The maximum list size. + */ + public static final int MAX_LIST_SIZE = 200; + + /** + * The clan ranks. + */ + private final Map contacts = new HashMap<>(); + + /** + * The list of blocked players. + */ + private final List blocked = new ArrayList<>(); + + /** + * The player's clan name. + */ + private String clanName = ""; + + /** + * The current clan this player is in. + */ + private String currentClan = "keldagrim"; + + /** + * The rank required for joining. + */ + private ClanRank joinRequirement = ClanRank.FRIEND; + + /** + * The rank required for messaging. + */ + private ClanRank messageRequirement = ClanRank.NONE; + + /** + * The rank required for kicking members. + */ + private ClanRank kickRequirement = ClanRank.OWNER; + + /** + * The rank required for loot-share. + */ + private ClanRank lootRequirement = ClanRank.KELDAGRIM_MOD; + + /** + * The public chat setting. + */ + private int publicChatSetting = 0; + + /** + * The private chat setting. + */ + private int privateChatSetting = 0; + + /** + * The trade setting. + */ + private int tradeSetting = 0; + + /** + * The player session. + */ + private PlayerSession player; + + /** + * Constructs a new {@code CommunicationInfo} {@code Object}. + * @param player The player. + */ + public CommunicationInfo(PlayerSession player) { + this.setPlayer(player); + } + + /** + * Called when the player logs in. + */ + public void sync() { + if (privateChatSetting != 2) { + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + List names = new ArrayList<>(); + for (PlayerSession p : server.getPlayers().values()) { + if (p.isActive() && p.getCommunication().contacts.containsKey(player.getUsername())) { + if (privateChatSetting == 0 || contacts.containsKey(p.getUsername())) { + names.add(p.getUsername()); + } + } + } + WorldPacketRepository.notifyPlayers(server, player, names); + } + } + } + } + + /** + * Called when the player logs out. + */ + public void clear() { + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + WorldPacketRepository.notifyLogout(server, player); + } + } + if (player.getClan() != null) { + player.getClan().leave(player, true); + } + } + + /** + * Saves the communication info. + * @param buffer The buffer. + * @throws SQLException The exception if thrown. + */ + public void save(PreparedStatement statement) throws SQLException { + String contacts = ""; + String blocked = ""; + for (int i = 0; i < this.blocked.size(); i++) { + blocked += (i == 0 ? "" : ",") + this.blocked.get(i); + } + int count = 0; + for (Entry entry : this.contacts.entrySet()) { + contacts += "{" + entry.getKey() + "," + entry.getValue().ordinal() + "}" + (count == this.contacts.size() - 1 ? "" : "~"); + count++; + } + statement.setString(3, contacts); + statement.setString(4, blocked); + statement.setString(5, clanName); + statement.setString(6, currentClan == null ? "grim" : currentClan); + statement.setString(7, joinRequirement.ordinal() + "," + messageRequirement.ordinal() + "," + kickRequirement.ordinal() + "," + lootRequirement.ordinal()); + statement.setString(8, publicChatSetting + "," + privateChatSetting + "," + tradeSetting); + } + + /** + * Parses the communication info from the database. + * @param set The result set. + * @throws SQLException The exception if thrown. + */ + public void parse(ResultSet set) throws SQLException { + String contacts = set.getString("contacts"); + String[] tokens = null; + if (contacts != null && contacts != "") { + String[] datas = contacts.split("~"); + for (String d : datas) { + tokens = d.replace("{", "").replace("}", "").split(","); + if (tokens.length == 0) { + continue; + } + this.contacts.put(tokens[0], ClanRank.values()[Integer.valueOf(tokens[1])]); + } + } + String bl = set.getString("blocked"); + if (bl != null && bl != "") { + tokens = bl.split(","); + for (String name : tokens) { + blocked.add(name); + } + } + clanName = set.getString("clanName"); + currentClan = set.getString("currentClan"); + String clanReqs = set.getString("clanReqs"); + if (clanReqs != "") { + tokens = clanReqs.split(","); + ClanRank rank = null; + int ordinal = 0; + for (int i = 0; i < tokens.length; i++) { + ordinal = Integer.parseInt(tokens[i]); + if (ordinal < 0 || ordinal > ClanRank.values().length -1) { + continue; + } + rank = ClanRank.values()[ordinal]; + switch (i) { + case 0: + joinRequirement = rank; + break; + case 1: + messageRequirement = rank; + break; + case 2: + if (ordinal < 3 || ordinal > 8) { + break; + } + kickRequirement = rank; + break; + case 3: + lootRequirement = rank; + break; + } + } + } + String chatSettings = set.getString("chatSettings"); + if (chatSettings != "") { + tokens = chatSettings.split(","); + for (int i = 0; i < tokens.length; i++) { + switch (i) { + case 0: + publicChatSetting = Integer.parseInt(tokens[0]); + break; + case 1: + privateChatSetting = Integer.parseInt(tokens[1]); + break; + case 2: + tradeSetting = Integer.parseInt(tokens[2]); + break; + } + } + } + } + + + /** + * Saves the communication info. + * @param buffer The buffer. + */ + public void save(ByteBuffer buffer) { + buffer.put((byte) contacts.size()); + for (String name : contacts.keySet()) { + ByteBufferUtils.putString(name, buffer); + buffer.put((byte) contacts.get(name).ordinal()); + } + buffer.put((byte) blocked.size()); + for (String name : blocked) { + ByteBufferUtils.putString(name, buffer); + } + ByteBufferUtils.putString(clanName, buffer); + if (currentClan != null) { + ByteBufferUtils.putString(currentClan, buffer.put((byte) 1)); + } else { + buffer.put((byte) 0); + } + buffer.put((byte) joinRequirement.ordinal()); + buffer.put((byte) messageRequirement.ordinal()); + buffer.put((byte) kickRequirement.ordinal()); + buffer.put((byte) lootRequirement.ordinal()); + buffer.put((byte) publicChatSetting); + buffer.put((byte) privateChatSetting); + buffer.put((byte) tradeSetting); + } + + /** + * Parses the communication info from the buffer. + * @param buffer The buffer. + */ + public void parse(ByteBuffer buffer) { + int length = buffer.get() & 0xFF; + for (int i = 0; i < length; i++) { + contacts.put(ByteBufferUtils.getString(buffer), ClanRank.values()[buffer.get() & 0xFF]); + } + length = buffer.get() & 0xFF; + for (int i = 0; i < length; i++) { + blocked.add(ByteBufferUtils.getString(buffer)); + } + clanName = ByteBufferUtils.getString(buffer); + if (buffer.get() == 1) { + currentClan = ByteBufferUtils.getString(buffer); + } + joinRequirement = ClanRank.values()[buffer.get()]; + messageRequirement = ClanRank.values()[buffer.get()]; + kickRequirement = ClanRank.values()[buffer.get()]; + lootRequirement = ClanRank.values()[buffer.get()]; + publicChatSetting = buffer.get(); + privateChatSetting = buffer.get(); + tradeSetting = buffer.get(); + } + + /** + * Sends a message to the target. + * @param target The target. + * @param message The message to send. + */ + public void sendMessage(String target, String message) { + PlayerSession receiver = WorldDatabase.getPlayer(target); + if (receiver == null || !receiver.isActive()) { + WorldPacketRepository.sendPlayerMessage(player, "That player is currently offline."); + return; + } + WorldPacketRepository.sendMessage(player, receiver, 0, message); + WorldPacketRepository.sendMessage(receiver, player, 1, message); + } + + /** + * Adds a contact. + * @param contact The contact to add. + */ + public void add(String contact) { + if (contacts.size() >= MAX_LIST_SIZE) { + WorldPacketRepository.sendPlayerMessage(player, "Your friend list is full."); + return; + } + if (blocked.contains(contact)) { + WorldPacketRepository.sendPlayerMessage(player, "Please remove " + StringUtils.formatDisplayName(contact) + " from your ignored list first."); + return; + } + if (contacts.containsKey(contact)) { + WorldPacketRepository.sendPlayerMessage(player, StringUtils.formatDisplayName(contact) + " is already on your friend list."); + return; + } + contacts.put(contact, ClanRank.FRIEND); + WorldPacketRepository.sendContactUpdate(player, contact, false, false, getWorldId(player, contact), null); + ClanRepository clan = ClanRepository.getClans().get(player.getUsername()); + if (clan != null) { + clan.update(); + } + if (privateChatSetting == 1) { + PlayerSession other = WorldDatabase.getPlayer(contact); + if (other != null && other.isActive() && other.getCommunication().getContacts().containsKey(player.getUsername())) { + WorldPacketRepository.sendContactUpdate(other, player.getUsername(), false, false, getWorldId(other, player.getUsername()), null); + } + } + } + + /** + * Gets the world id for the given contact. + * @param player The player. + * @param contact The contact. + * @return The world id to display. + */ + public static int getWorldId(PlayerSession player, String contact) { + PlayerSession p = WorldDatabase.getPlayer(contact); + if (p == null || !p.isActive() || p.getCommunication().getPrivateChatSetting() == 2) { + return 0; + } + if (p.getCommunication().getBlocked().contains(player.getUsername())) { + return 0; + } + if (p.getCommunication().getPrivateChatSetting() == 1) { + if (p.getCommunication().getContacts().containsKey(player.getUsername())) { + return p.getWorldId(); + } + return 0; + } + return p.getWorldId(); + } + + /** + * Removes a contact. + * @param contact The contact to remove. + * @param block If the contact should be removed from the block list. + */ + public void remove(String contact, boolean block) { + PlayerSession other = WorldDatabase.getPlayer(contact); + if (block) { + blocked.remove(contact); + if (other != null && other.isActive() && other.getCommunication().getContacts().containsKey(player.getUsername())) { + WorldPacketRepository.sendContactUpdate(other, player.getUsername(), false, false, getWorldId(other, player.getUsername()), null); + } + } else { + contacts.remove(contact); + ClanRepository clan = ClanRepository.getClans().get(player.getUsername()); + if (clan != null) { + clan.update(); + } + if (privateChatSetting == 1 && other != null && other.isActive() && other.getCommunication().getContacts().containsKey(player.getUsername())) { + WorldPacketRepository.sendContactUpdate(other, player.getUsername(), false, false, getWorldId(other, player.getUsername()), null); + } + } + WorldPacketRepository.sendContactUpdate(player, contact, block, true, 0, null); + } + + + /** + * Adds a blocked contact. + * @param contact The contact to block. + */ + public void block(String contact) { + if (blocked.size() >= MAX_LIST_SIZE) { + WorldPacketRepository.sendPlayerMessage(player, "Your ignore list is full."); + return; + } + if (contacts.containsKey(contact)) { + WorldPacketRepository.sendPlayerMessage(player, "Please remove " + StringUtils.formatDisplayName(contact) + " from your friends list first."); + return; + } + if (blocked.contains(contact)) { + WorldPacketRepository.sendPlayerMessage(player, StringUtils.formatDisplayName(contact) + " is already on your friend list."); + return; + } + blocked.add(contact); + WorldPacketRepository.sendContactUpdate(player, contact, true, false, 0, null); + PlayerSession other = WorldDatabase.getPlayer(contact); + if (other != null && other.isActive() && other.getCommunication().getContacts().containsKey(player.getUsername())) { + WorldPacketRepository.sendContactUpdate(other, player.getUsername(), false, false, 0, null); + } + } + + /** + * Updates the clan rank of a certain contact. + * @param contact The contact. + * @param clanRank The clan rank to set. + */ + public void updateClanRank(String contact, ClanRank clanRank) { + if (!contacts.containsKey(contact)) { + System.err.println("Could not find contact " + contact + " to update clan rank!"); + return; + } + contacts.put(contact, clanRank); + ClanRepository clan = ClanRepository.getClans().get(player.getUsername()); + if (clan != null) { + clan.update(); + } + + WorldPacketRepository.sendContactUpdate(player, contact, false, false, 0, clanRank); + } + + /** + * Updates the settings. + * @param publicSetting The public chat setting. + * @param privateSetting The private chat setting. + * @param tradeSetting The trade setting. + */ + public void updateSettings(int publicSetting, int privateSetting, int tradeSetting) { + this.publicChatSetting = publicSetting; + this.tradeSetting = tradeSetting; + if (this.privateChatSetting != privateSetting) { + updatePrivateSetting(privateSetting); + } + } + + /** + * Updates the private chat setting. + * @param privateSetting The private chat setting. + */ + private void updatePrivateSetting(int privateSetting) { + this.privateChatSetting = privateSetting; + for (GameServer server : WorldDatabase.getWorlds()) { + if (server != null && server.isActive()) { + if (privateSetting == 2) { + WorldPacketRepository.notifyLogout(server, player); + continue; + } + for (PlayerSession p : server.getPlayers().values()) { + if (p.isActive() && p.getCommunication().contacts.containsKey(player.getUsername())) { + WorldPacketRepository.sendContactUpdate(p, player.getUsername(), false, false, getWorldId(p, player.getUsername()), null); + } + } + } + } + } + + /** + * Gets the contacts value. + * @return The contacts. + */ + public Map getContacts() { + return contacts; + } + + /** + * Gets the clan rank for the given contact. + * @param contact The contact. + * @return The rank. + */ + public ClanRank getRank(String contact) { + for (String name : ServerConstants.ADMINISTRATORS) { + if (contact.equals(name)) { + return ClanRank.KELDAGRIM_MOD; + } + } + return contacts.get(contact); + } + + /** + * Gets the blocked value. + * @return The blocked. + */ + public List getBlocked() { + return blocked; + } + + /** + * Gets the clanName value. + * @return The clanName. + */ + public String getClanName() { + return clanName; + } + + /** + * Sets the clanName value. + * @param clanName The clanName to set. + */ + public void setClanName(String clanName) { + this.clanName = clanName; + } + + /** + * Gets the currentClan value. + * @return The currentClan. + */ + public String getCurrentClan() { + return currentClan; + } + + /** + * Sets the currentClan value. + * @param currentClan The currentClan to set. + */ + public void setCurrentClan(String currentClan) { + this.currentClan = currentClan; + } + + /** + * Gets the player value. + * @return The player. + */ + public PlayerSession getPlayer() { + return player; + } + + /** + * Sets the player value. + * @param player The player to set. + */ + public void setPlayer(PlayerSession player) { + this.player = player; + } + + /** + * Gets the joinRequirement value. + * @return The joinRequirement. + */ + public ClanRank getJoinRequirement() { + return joinRequirement; + } + + /** + * Sets the joinRequirement value. + * @param joinRequirement The joinRequirement to set. + */ + public void setJoinRequirement(ClanRank joinRequirement) { + this.joinRequirement = joinRequirement; + } + + /** + * Gets the messageRequirement value. + * @return The messageRequirement. + */ + public ClanRank getMessageRequirement() { + return messageRequirement; + } + + /** + * Sets the messageRequirement value. + * @param messageRequirement The messageRequirement to set. + */ + public void setMessageRequirement(ClanRank messageRequirement) { + this.messageRequirement = messageRequirement; + } + + /** + * Gets the kickRequirement value. + * @return The kickRequirement. + */ + public ClanRank getKickRequirement() { + return kickRequirement; + } + + /** + * Sets the kickRequirement value. + * @param kickRequirement The kickRequirement to set. + */ + public void setKickRequirement(ClanRank kickRequirement) { + this.kickRequirement = kickRequirement; + } + + /** + * Gets the lootRequirement value. + * @return The lootRequirement. + */ + public ClanRank getLootRequirement() { + return lootRequirement; + } + + /** + * Sets the lootRequirement value. + * @param lootRequirement The lootRequirement to set. + */ + public void setLootRequirement(ClanRank lootRequirement) { + this.lootRequirement = lootRequirement; + } + + /** + * Gets the publicChatSetting value. + * @return The publicChatSetting. + */ + public int getPublicChatSetting() { + return publicChatSetting; + } + + /** + * Sets the publicChatSetting value. + * @param publicChatSetting The publicChatSetting to set. + */ + public void setPublicChatSetting(int publicChatSetting) { + this.publicChatSetting = publicChatSetting; + } + + /** + * Gets the privateChatSetting value. + * @return The privateChatSetting. + */ + public int getPrivateChatSetting() { + return privateChatSetting; + } + + /** + * Sets the privateChatSetting value. + * @param privateChatSetting The privateChatSetting to set. + */ + public void setPrivateChatSetting(int privateChatSetting) { + this.privateChatSetting = privateChatSetting; + } + + /** + * Gets the tradeSetting value. + * @return The tradeSetting. + */ + public int getTradeSetting() { + return tradeSetting; + } + + /** + * Sets the tradeSetting value. + * @param tradeSetting The tradeSetting to set. + */ + public void setTradeSetting(int tradeSetting) { + this.tradeSetting = tradeSetting; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLColumn.java b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLColumn.java new file mode 100644 index 000000000..ffad330b3 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLColumn.java @@ -0,0 +1,121 @@ +package org.keldagrim.system.mysql; + +/** + * Represents a column used in an SQL table. + * @author Emperor + * + */ +public final class SQLColumn { + + /** + * The name. + */ + private final String name; + + /** + * The data type. + */ + private final Class type; + + /** + * If this column should never be updated in the database. + */ + private final boolean neverUpdate; + + /** + * The value. + */ + private Object value; + + /** + * If the column value changed. + */ + private boolean changed; + + /** + * Constructs a new {@code SQLColumn} {@code Object}. + * @param name The column name. + * @param type The data type. + */ + public SQLColumn(String name, Class type) { + this(name, type, false); + } + + /** + * Constructs a new {@code SQLColumn} {@code Object}. + * @param name The column name. + * @param type The data type. + * @param neverUpdate If this column should never be updated in the database. + */ + public SQLColumn(String name, Class type, boolean neverUpdate) { + this.name = name; + this.type = type; + this.neverUpdate = neverUpdate; + } + + /** + * Gets the name. + * @return The name. + */ + public String getName() { + return name; + } + + /** + * Updates the value. + * @param value The value. + */ + public void updateValue(Object value) { + this.changed = value != this.value; + this.value = value; + } + + /** + * Gets the value. + * @return The value. + */ + public Object getValue() { + return value; + } + + /** + * Sets the value. + * @param value The value to set. + */ + public void setValue(Object value) { + this.value = value; + this.changed = false; + } + + /** + * Gets the changed. + * @return The changed. + */ + public boolean isChanged() { + return changed; + } + + /** + * Sets the changed. + * @param changed The changed to set. + */ + public void setChanged(boolean changed) { + this.changed = changed; + } + + /** + * Gets the type. + * @return The type. + */ + public Class getType() { + return type; + } + + /** + * Gets the neverUpdate. + * @return The neverUpdate. + */ + public boolean isNeverUpdate() { + return neverUpdate; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLEntryHandler.java b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLEntryHandler.java new file mode 100644 index 000000000..5779077f6 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLEntryHandler.java @@ -0,0 +1,202 @@ +package org.keldagrim.system.mysql; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +/** + * Handles an SQL entry. + * @author Emperor + * @param The entry type. + */ +public abstract class SQLEntryHandler { + + /** + * The connection. + */ + protected Connection connection; + + /** + * The entry. + */ + protected T entry; + + /** + * The result set. + */ + protected ResultSet result; + + /** + * The table name. + */ + protected String table; + + /** + * The column name. + */ + private String column; + + /** + * The value to use. + */ + protected String value; + + /** + * Constructs a new {@code SQLEntryHandler} {@code Object}. + * @param entry The entry. + * @param table The table name. + * @param column column name. + * @param value The column value. + */ + public SQLEntryHandler(T entry, String table, String column, String value) { + this.entry = entry; + this.table = table; + this.column = column; + this.value = value; + } + + /** + * Reads the SQL entry. + * @param entry The entry. + */ + public static void read(SQLEntryHandler entry) { + entry.connection = entry.getConnection(); + if (entry.connection == null) { + //System.err.println("Could not read SQL data: connection is null!"); + return; + } + try { + entry.read(); + if (entry.result == null || !entry.result.next()) { + entry.create(); + } else { + entry.parse(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + SQLManager.close(entry.connection); + entry.connection = null; + } + + /** + * Writes the entry data on the SQL database. + * @param entry The entry. + */ + public static void write(SQLEntryHandler entry) { + write(entry, entry.getConnection(), true); + } + + /** + * Reads the SQL entry. + * @param entry The entry. + */ + public static void write(SQLEntryHandler entry, Connection connection, boolean commit) { + if (connection == null) { + //System.err.println("Could not write SQL data: connection is null!"); + return; + } + entry.connection = connection; + try { + if (!commit) { + entry.connection.setAutoCommit(false); + } + entry.save(); + } catch (SQLException e) { + e.printStackTrace(); + } + if (commit) { + SQLManager.close(entry.connection); + } + entry.connection = null; + } + + /** + * Reads the table from the SQL database. + * @throws SQLException When an SQL exception occurs. + */ + public void read() throws SQLException { + PreparedStatement statement = connection.prepareStatement("SELECT " + getReadSelection() + " FROM " + table + " WHERE " + column + " = ?"); + statement.setString(1, value); + result = statement.executeQuery(); + } + + /** + * Gets the result. + * @return the result. + */ + public ResultSet getResult() { + return result; + } + + /** + * Gets the selection. + * @return The selection. + */ + public String getReadSelection() { + return "*"; + } + + /** + * Gets the writing statement. + * @param create If we are creating a new row. + * @param columns The columns to update. + */ + public PreparedStatement getWritingStatement(boolean create, String...columns) { + PreparedStatement statement = null; + try { + StringBuilder sb = new StringBuilder(); + if (create) { + sb.append("INSERT INTO ").append(table).append(" (").append(column); + for (String name : columns) { + sb.append(",").append(name); + } + sb.append(") VALUES (?"); + for (int i = 0; i < columns.length; i++) { + sb.append(",?"); + } + sb.append(")"); + } else { + sb.append("UPDATE ").append(table).append(" SET "); + for (int i = 0; i < columns.length; i++) { + sb.append(columns[i]).append("=?"); + if (i < columns.length - 1) { + sb.append(","); + } + } + sb.append(" WHERE ").append(column).append("=?"); + } + statement = connection.prepareStatement(sb.toString()); + statement.setString(create ? 1 : columns.length + 1, value); + } catch (SQLException e) { + e.printStackTrace(); + } + return statement; + } + + /** + * Parses the entry. + * @throws SQLException When an SQL exception occurs. + */ + public abstract void parse() throws SQLException; + + /** + * Creates a new row in the database. + * @throws SQLException When an SQL exception occurs. + */ + public abstract void create() throws SQLException; + + /** + * Saves the entry. + * @throws SQLException When an SQL exception occurs. + */ + public abstract void save() throws SQLException; + + /** + * Gets the connection. + * @return The connection. + */ + public abstract Connection getConnection(); + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLManager.java b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLManager.java new file mode 100644 index 000000000..d96690115 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLManager.java @@ -0,0 +1,105 @@ +package org.keldagrim.system.mysql; + +import org.keldagrim.ServerConstants; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; + +/** + * Manages the sql connections. + * @author Vexia + * + */ +public final class SQLManager { + + /** + * If the sql manager is locally hosted. + */ + public static final boolean LOCAL = true; + + /** + * The database URL. + */ + public static final String DATABASE_URL = (LOCAL ? "127.0.0.1" : "keldagrim.org") + ":3306/" + (SQLManager.LOCAL ? "global" : ServerConstants.DATABASE_NAMES[1]); + + /** + * The username of the user. + */ + private static final String USERNAME = (LOCAL ? "root" : "keldagr1_user"); + + /** + * The password of the user. + */ + private static final String PASSWORD = (LOCAL ? "" : "2jf4wkz$"); + + + /** + * IF the sql manager is initialized. + */ + private static boolean initialized; + + /** + * Constructs a new {@code SQLManager} {@code Object} + */ + public SQLManager() { + /** + * empty. + */ + } + + /** + * Initializes the sql manager. + */ + public static void init() { + try { + Class.forName("com.mysql.jdbc.Driver"); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + initialized = true; + WorldListSQLHandler.clearWorldList(); + } + + /** + * Gets a connection from the pool. + * @return The connection. + */ + public static Connection getConnection() { + try { + return DriverManager.getConnection("jdbc:mysql://" + DATABASE_URL, USERNAME, PASSWORD); + } catch (SQLException e) { + System.out.println("Error: Mysql error message=" + e.getMessage() + "."); + } + return null; + } + + /** + * Releases the connection so it's available for usage. + * @param connection The connection. + */ + public static void close(Connection connection) { + try { + connection.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + /** + * Gets the initialized. + * @return the initialized + */ + public static boolean isInitialized() { + return initialized; + } + + /** + * Sets the bainitialized. + * @param initialized the initialized to set. + */ + public static void setInitialized(boolean initialized) { + SQLManager.initialized = initialized; + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLTable.java b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLTable.java new file mode 100644 index 000000000..b4f249202 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/mysql/SQLTable.java @@ -0,0 +1,63 @@ +package org.keldagrim.system.mysql; + +import java.util.ArrayList; +import java.util.List; + +/** + * Represents an SQL table. + * @author Emperor + * + */ +public final class SQLTable { + + /** + * The columns. + */ + private final SQLColumn[] columns; + + /** + * Constructs a new {@code SQLTable} {@code Object}. + * @param columns The columns. + */ + public SQLTable(SQLColumn...columns) { + this.columns = columns; + } + + /** + * Gets the column for the given name. + * @param name The column name. + * @return The column. + */ + public SQLColumn getColumn(String name) { + for (SQLColumn column : columns) { + if (column.getName().equals(name)) { + return column; + } + } + return null; + } + + /** + * Gets the changed columns. + * @return The columns. + */ + public List getChanged() { + List updated = new ArrayList<>(); + for (int i = 0; i < columns.length; i++) { + SQLColumn column = columns[i]; + if (column.isChanged()) { + updated.add(column); + } + } + return updated; + } + + /** + * Gets the columns. + * @return The columns. + */ + public SQLColumn[] getColumns() { + return columns; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/mysql/WorldListSQLHandler.java b/09HDscape-management-server/src/org/keldagrim/system/mysql/WorldListSQLHandler.java new file mode 100644 index 000000000..2440c1251 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/mysql/WorldListSQLHandler.java @@ -0,0 +1,76 @@ +package org.keldagrim.system.mysql; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.SQLException; + +import org.keldagrim.world.GameServer; +import org.keldagrim.world.info.WorldInfo; + +/** + * Handles the world list SQL database. + * @author Emperor + * + */ +public final class WorldListSQLHandler extends SQLEntryHandler { + + /** + * The table for this sql entry. + */ + private static final String TABLE = "worlds"; + + /** + * Constructs a new {@code WorldListSQLHandler} {@code Object}. + * @param entry The game server entry. + */ + public WorldListSQLHandler(GameServer entry) { + super(entry, TABLE, "world", "" + entry.getInfo().getWorldId()); + } + + /** + * Clears the world list. + */ + public static void clearWorldList() { + try { + Connection connection = SQLManager.getConnection(); + PreparedStatement statement = connection.prepareStatement("DELETE FROM " + TABLE); + statement.executeUpdate(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + + @Override + public void parse() throws SQLException { + + } + + @Override + public void create() throws SQLException { + PreparedStatement statement = connection.prepareStatement("INSERT "+ table + "(world, ip, players, country, member, revision) VALUES('" + value + "', '" + entry.getInfo().getAddress() + "', '" + entry.getPlayerAmount() + "', '" + entry.getInfo().getCountry().getId() + "', '" + (entry.getInfo().isMembers() ? 1 : 0) + "', '" + entry.getInfo().getRevision() + "')"); + statement.executeUpdate(); + SQLManager.close(statement.getConnection()); + } + + @Override + public void save() throws SQLException { + super.read(); + if (result == null || !result.next()) { + create(); + return; + } + int players = entry.getPlayerAmount(); + if (!entry.isActive()) { + players = -1; + } + WorldInfo info = entry.getInfo(); + PreparedStatement statement = connection.prepareStatement("UPDATE " + table + " SET players='" + players + "', ip='" + info.getAddress() + "', country='" + info.getCountry().getId() + "', member='" + (info.isMembers() ? 1 : 0) + "', revision='" + info.getRevision() + "' WHERE world='" + value + "'"); + statement.executeUpdate(); + SQLManager.close(statement.getConnection()); + } + + @Override + public Connection getConnection() { + return SQLManager.getConnection(); + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/ByteBufferUtils.java b/09HDscape-management-server/src/org/keldagrim/system/util/ByteBufferUtils.java new file mode 100644 index 000000000..b2a9e0e20 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/ByteBufferUtils.java @@ -0,0 +1,153 @@ +package org.keldagrim.system.util; + +import java.nio.ByteBuffer; + + +/** + * Holds utility methods for reading/writing a byte buffer. + * @author Emperor + * + */ +public final class ByteBufferUtils { + + /** + * Gets a string from the byte buffer. + * @param buffer The byte buffer. + * @return The string. + */ + public static String getString(ByteBuffer buffer) { + StringBuilder sb = new StringBuilder(); + byte b; + while ((b = buffer.get()) != 0) { + sb.append((char) b); + } + return sb.toString(); + } + + /** + * Puts a string on the byte buffer. + * @param s The string to put. + * @param buffer The byte buffer. + */ + public static void putString(String s, ByteBuffer buffer) { + buffer.put(s.getBytes()).put((byte) 0); + } + + /** + * Gets a string from the byte buffer. + * @param s The string. + * @param buffer The byte buffer. + * @return The string. + */ + public static ByteBuffer putGJ2String(String s, ByteBuffer buffer) { + byte[] packed = new byte[256]; + int length = packGJString2(0, packed, s); + return buffer.put((byte) 0).put(packed, 0, length).put((byte) 0); + } + + /** + * Decodes the XTEA encryption. + * @param keys The keys. + * @param start The start index. + * @param end The end index. + * @param buffer The byte buffer. + */ + public static void decodeXTEA(int[] keys, int start, int end, ByteBuffer buffer) { + int l = buffer.position(); + buffer.position(start); + int length = (end - start) / 8; + for (int i = 0; i < length; i++) { + int firstInt = buffer.getInt(); + int secondInt = buffer.getInt(); + int sum = 0xc6ef3720; + int delta = 0x9e3779b9; + for (int j = 32; j-- > 0;) { + secondInt -= keys[(sum & 0x1c84) >>> 11] + sum ^ (firstInt >>> 5 ^ firstInt << 4) + firstInt; + sum -= delta; + firstInt -= (secondInt >>> 5 ^ secondInt << 4) + secondInt ^ keys[sum & 3] + sum; + } + buffer.position(buffer.position() - 8); + buffer.putInt(firstInt); + buffer.putInt(secondInt); + } + buffer.position(l); + } + + /** + * Converts a String to an Integer? + * + * @param position + * The position. + * @param buffer + * The buffer used. + * @param string + * The String to convert. + * @return The Integer. + */ + public static int packGJString2(int position, byte[] buffer, String string) { + int length = string.length(); + int offset = position; + for (int i = 0; length > i; i++) { + int character = string.charAt(i); + if (character > 127) { + if (character > 2047) { + buffer[offset++] = (byte) ((character | 919275) >> 12); + buffer[offset++] = (byte) (128 | ((character >> 6) & 63)); + buffer[offset++] = (byte) (128 | (character & 63)); + } else { + buffer[offset++] = (byte) ((character | 12309) >> 6); + buffer[offset++] = (byte) (128 | (character & 63)); + } + } else + buffer[offset++] = (byte) character; + } + return offset - position; + } + + /** + * Gets a tri-byte from the buffer. + * @param buffer The buffer. + * @return The value. + */ + public static int getTriByte(ByteBuffer buffer) { + return ((buffer.get() & 0xFF) << 16) + ((buffer.get() & 0xFF) << 8) + (buffer.get() & 0xFF); + } + + /** + * Gets a smart from the buffer. + * @param buffer The buffer. + * @return The value. + */ + public static int getSmart(ByteBuffer buffer) { + int peek = buffer.get() & 0xFF; + if (peek <= Byte.MAX_VALUE) { + return peek; + } + return ((peek << 8) | (buffer.get() & 0xFF)) - 32768; + } + + /** + * Gets a smart from the buffer. + * @param buffer The buffer. + * @return The value. + */ + public static int getBigSmart(ByteBuffer buffer) { + int value = 0; + int current = getSmart(buffer); + while (current == 32767) { + current = getSmart(buffer); + value += 32767; + } + value += current; + return value; + } + + /** + * Constructs a new {@code ByteBufferUtils} {@code Object}. + */ + private ByteBufferUtils() { + /* + * empty. + */ + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/Command.java b/09HDscape-management-server/src/org/keldagrim/system/util/Command.java new file mode 100644 index 000000000..273b6db78 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/Command.java @@ -0,0 +1,52 @@ +package org.keldagrim.system.util; + +/** + * Represents a command. + * @author Emperor + * + */ +public abstract class Command { + + /** + * The command name. + */ + private final String name; + + /** + * The command info. + */ + private final String info; + + /** + * Constructs a new {@code Command} {@code Object}. + * @param name The command name. + * @param info The command info. + */ + public Command(String name, String info) { + this.name = name; + this.info = info; + } + + /** + * Runs the command. + * @param args The arguments. + */ + public abstract void run(String...args); + + /** + * Gets the name value. + * @return The name. + */ + public String getName() { + return name; + } + + /** + * Gets the info value. + * @return The info. + */ + public String getInfo() { + return info; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/EncryptionManager.java b/09HDscape-management-server/src/org/keldagrim/system/util/EncryptionManager.java new file mode 100644 index 000000000..88df13908 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/EncryptionManager.java @@ -0,0 +1,815 @@ +package org.keldagrim.system.util; + +import java.io.UnsupportedEncodingException; +import java.security.SecureRandom; + +/** + * Represents the class of simple encryption functions. + * @author Unknown + */ +public class EncryptionManager { + + // Define the BCrypt workload to use when generating password hashes. 10-31 is a valid value. + private static int workload = 12; + + /** + * Singleton instance. + */ + private static final EncryptionManager INSTANCE = new EncryptionManager(); + + /** + * Constructs a new {@code EncryptionManager} {@code Object}. + */ + private EncryptionManager() { + //empty. + } + + /** + * This method can be used to generate a string representing an account password + * suitable for storing in a database. It will be an OpenBSD-style crypt(3) formatted + * hash string of length=60 + * The bcrypt workload is specified in the above static variable, a value from 10 to 31. + * A workload of 12 is a very reasonable safe default as of 2013. + * This automatically handles secure 128-bit salt generation and storage within the hash. + * @param password_plaintext The account's plaintext password as provided during account creation, + * or when changing an account's password. + * @return String - a string of length 60 that is the bcrypt hashed password in crypt(3) format. + */ + public String hashPassword(String password_plaintext) { + String salt = BCrypt.gensalt(workload); + String hashed_password = BCrypt.hashpw(password_plaintext, salt); + return(hashed_password); + } + + /** + * This method can be used to verify a computed hash from a plaintext (e.g. during a login + * request) with that of a stored hash from a database. The password hash from the database + * must be passed as the second variable. + * @param password_plaintext The account's plaintext password, as provided during a login request + * @param stored_hash The account's stored password hash, retrieved from the authorization database + * @return boolean - true if the password matches the password of the stored hash, false otherwise + */ + public boolean checkPassword(String password_plaintext, String stored_hash) { + boolean password_verified = false; + if(null == stored_hash || !stored_hash.startsWith("$2a$")) + throw new java.lang.IllegalArgumentException("Invalid hash provided for comparison"); + password_verified = BCrypt.checkpw(password_plaintext, stored_hash); + return(password_verified); + } + + // Copyright (c) 2006 Damien Miller + // + // Permission to use, copy, modify, and distribute this software for any + // purpose with or without fee is hereby granted, provided that the above + // copyright notice and this permission notice appear in all copies. + // + // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + + /** + * Gets the instance value. + * @return The instance. + */ + public static EncryptionManager getInstance() { + return INSTANCE; + } + + /** + * BCrypt implements OpenBSD-style Blowfish password hashing using + * the scheme described in "A Future-Adaptable Password Scheme" by + * Niels Provos and David Mazieres. + *

+ * This password hashing system tries to thwart off-line password + * cracking using a computationally-intensive hashing algorithm, + * based on Bruce Schneier's Blowfish cipher. The work factor of + * the algorithm is parameterised, so it can be increased as + * computers get faster. + *

+ * Usage is really simple. To hash a password for the first time, + * call the hashpw method with a random salt, like this: + *

+ * + * String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
+ *
+ *

+ * To check whether a plaintext password matches one that has been + * hashed previously, use the checkpw method: + *

+ * + * if (BCrypt.checkpw(candidate_password, stored_hash))
+ *     System.out.println("It matches");
+ * else
+ *     System.out.println("It does not match");
+ *
+ *

+ * The gensalt() method takes an optional parameter (log_rounds) + * that determines the computational complexity of the hashing: + *

+ * + * String strong_salt = BCrypt.gensalt(10)
+ * String stronger_salt = BCrypt.gensalt(12)
+ *
+ *

+ * The amount of work increases exponentially (2**log_rounds), so + * each increment is twice as much work. The default log_rounds is + * 10, and the valid range is 4 to 31. + * + * @author Damien Miller + * @version 0.2 + */ + public static class BCrypt { + // BCrypt parameters + private static final int GENSALT_DEFAULT_LOG2_ROUNDS = 10; + private static final int BCRYPT_SALT_LEN = 16; + + // Blowfish parameters + private static final int BLOWFISH_NUM_ROUNDS = 16; + + // Initial contents of key schedule + private static final int P_orig[] = { + 0x243f6a88, 0x85a308d3, 0x13198a2e, 0x03707344, + 0xa4093822, 0x299f31d0, 0x082efa98, 0xec4e6c89, + 0x452821e6, 0x38d01377, 0xbe5466cf, 0x34e90c6c, + 0xc0ac29b7, 0xc97c50dd, 0x3f84d5b5, 0xb5470917, + 0x9216d5d9, 0x8979fb1b + }; + private static final int S_orig[] = { + 0xd1310ba6, 0x98dfb5ac, 0x2ffd72db, 0xd01adfb7, + 0xb8e1afed, 0x6a267e96, 0xba7c9045, 0xf12c7f99, + 0x24a19947, 0xb3916cf7, 0x0801f2e2, 0x858efc16, + 0x636920d8, 0x71574e69, 0xa458fea3, 0xf4933d7e, + 0x0d95748f, 0x728eb658, 0x718bcd58, 0x82154aee, + 0x7b54a41d, 0xc25a59b5, 0x9c30d539, 0x2af26013, + 0xc5d1b023, 0x286085f0, 0xca417918, 0xb8db38ef, + 0x8e79dcb0, 0x603a180e, 0x6c9e0e8b, 0xb01e8a3e, + 0xd71577c1, 0xbd314b27, 0x78af2fda, 0x55605c60, + 0xe65525f3, 0xaa55ab94, 0x57489862, 0x63e81440, + 0x55ca396a, 0x2aab10b6, 0xb4cc5c34, 0x1141e8ce, + 0xa15486af, 0x7c72e993, 0xb3ee1411, 0x636fbc2a, + 0x2ba9c55d, 0x741831f6, 0xce5c3e16, 0x9b87931e, + 0xafd6ba33, 0x6c24cf5c, 0x7a325381, 0x28958677, + 0x3b8f4898, 0x6b4bb9af, 0xc4bfe81b, 0x66282193, + 0x61d809cc, 0xfb21a991, 0x487cac60, 0x5dec8032, + 0xef845d5d, 0xe98575b1, 0xdc262302, 0xeb651b88, + 0x23893e81, 0xd396acc5, 0x0f6d6ff3, 0x83f44239, + 0x2e0b4482, 0xa4842004, 0x69c8f04a, 0x9e1f9b5e, + 0x21c66842, 0xf6e96c9a, 0x670c9c61, 0xabd388f0, + 0x6a51a0d2, 0xd8542f68, 0x960fa728, 0xab5133a3, + 0x6eef0b6c, 0x137a3be4, 0xba3bf050, 0x7efb2a98, + 0xa1f1651d, 0x39af0176, 0x66ca593e, 0x82430e88, + 0x8cee8619, 0x456f9fb4, 0x7d84a5c3, 0x3b8b5ebe, + 0xe06f75d8, 0x85c12073, 0x401a449f, 0x56c16aa6, + 0x4ed3aa62, 0x363f7706, 0x1bfedf72, 0x429b023d, + 0x37d0d724, 0xd00a1248, 0xdb0fead3, 0x49f1c09b, + 0x075372c9, 0x80991b7b, 0x25d479d8, 0xf6e8def7, + 0xe3fe501a, 0xb6794c3b, 0x976ce0bd, 0x04c006ba, + 0xc1a94fb6, 0x409f60c4, 0x5e5c9ec2, 0x196a2463, + 0x68fb6faf, 0x3e6c53b5, 0x1339b2eb, 0x3b52ec6f, + 0x6dfc511f, 0x9b30952c, 0xcc814544, 0xaf5ebd09, + 0xbee3d004, 0xde334afd, 0x660f2807, 0x192e4bb3, + 0xc0cba857, 0x45c8740f, 0xd20b5f39, 0xb9d3fbdb, + 0x5579c0bd, 0x1a60320a, 0xd6a100c6, 0x402c7279, + 0x679f25fe, 0xfb1fa3cc, 0x8ea5e9f8, 0xdb3222f8, + 0x3c7516df, 0xfd616b15, 0x2f501ec8, 0xad0552ab, + 0x323db5fa, 0xfd238760, 0x53317b48, 0x3e00df82, + 0x9e5c57bb, 0xca6f8ca0, 0x1a87562e, 0xdf1769db, + 0xd542a8f6, 0x287effc3, 0xac6732c6, 0x8c4f5573, + 0x695b27b0, 0xbbca58c8, 0xe1ffa35d, 0xb8f011a0, + 0x10fa3d98, 0xfd2183b8, 0x4afcb56c, 0x2dd1d35b, + 0x9a53e479, 0xb6f84565, 0xd28e49bc, 0x4bfb9790, + 0xe1ddf2da, 0xa4cb7e33, 0x62fb1341, 0xcee4c6e8, + 0xef20cada, 0x36774c01, 0xd07e9efe, 0x2bf11fb4, + 0x95dbda4d, 0xae909198, 0xeaad8e71, 0x6b93d5a0, + 0xd08ed1d0, 0xafc725e0, 0x8e3c5b2f, 0x8e7594b7, + 0x8ff6e2fb, 0xf2122b64, 0x8888b812, 0x900df01c, + 0x4fad5ea0, 0x688fc31c, 0xd1cff191, 0xb3a8c1ad, + 0x2f2f2218, 0xbe0e1777, 0xea752dfe, 0x8b021fa1, + 0xe5a0cc0f, 0xb56f74e8, 0x18acf3d6, 0xce89e299, + 0xb4a84fe0, 0xfd13e0b7, 0x7cc43b81, 0xd2ada8d9, + 0x165fa266, 0x80957705, 0x93cc7314, 0x211a1477, + 0xe6ad2065, 0x77b5fa86, 0xc75442f5, 0xfb9d35cf, + 0xebcdaf0c, 0x7b3e89a0, 0xd6411bd3, 0xae1e7e49, + 0x00250e2d, 0x2071b35e, 0x226800bb, 0x57b8e0af, + 0x2464369b, 0xf009b91e, 0x5563911d, 0x59dfa6aa, + 0x78c14389, 0xd95a537f, 0x207d5ba2, 0x02e5b9c5, + 0x83260376, 0x6295cfa9, 0x11c81968, 0x4e734a41, + 0xb3472dca, 0x7b14a94a, 0x1b510052, 0x9a532915, + 0xd60f573f, 0xbc9bc6e4, 0x2b60a476, 0x81e67400, + 0x08ba6fb5, 0x571be91f, 0xf296ec6b, 0x2a0dd915, + 0xb6636521, 0xe7b9f9b6, 0xff34052e, 0xc5855664, + 0x53b02d5d, 0xa99f8fa1, 0x08ba4799, 0x6e85076a, + 0x4b7a70e9, 0xb5b32944, 0xdb75092e, 0xc4192623, + 0xad6ea6b0, 0x49a7df7d, 0x9cee60b8, 0x8fedb266, + 0xecaa8c71, 0x699a17ff, 0x5664526c, 0xc2b19ee1, + 0x193602a5, 0x75094c29, 0xa0591340, 0xe4183a3e, + 0x3f54989a, 0x5b429d65, 0x6b8fe4d6, 0x99f73fd6, + 0xa1d29c07, 0xefe830f5, 0x4d2d38e6, 0xf0255dc1, + 0x4cdd2086, 0x8470eb26, 0x6382e9c6, 0x021ecc5e, + 0x09686b3f, 0x3ebaefc9, 0x3c971814, 0x6b6a70a1, + 0x687f3584, 0x52a0e286, 0xb79c5305, 0xaa500737, + 0x3e07841c, 0x7fdeae5c, 0x8e7d44ec, 0x5716f2b8, + 0xb03ada37, 0xf0500c0d, 0xf01c1f04, 0x0200b3ff, + 0xae0cf51a, 0x3cb574b2, 0x25837a58, 0xdc0921bd, + 0xd19113f9, 0x7ca92ff6, 0x94324773, 0x22f54701, + 0x3ae5e581, 0x37c2dadc, 0xc8b57634, 0x9af3dda7, + 0xa9446146, 0x0fd0030e, 0xecc8c73e, 0xa4751e41, + 0xe238cd99, 0x3bea0e2f, 0x3280bba1, 0x183eb331, + 0x4e548b38, 0x4f6db908, 0x6f420d03, 0xf60a04bf, + 0x2cb81290, 0x24977c79, 0x5679b072, 0xbcaf89af, + 0xde9a771f, 0xd9930810, 0xb38bae12, 0xdccf3f2e, + 0x5512721f, 0x2e6b7124, 0x501adde6, 0x9f84cd87, + 0x7a584718, 0x7408da17, 0xbc9f9abc, 0xe94b7d8c, + 0xec7aec3a, 0xdb851dfa, 0x63094366, 0xc464c3d2, + 0xef1c1847, 0x3215d908, 0xdd433b37, 0x24c2ba16, + 0x12a14d43, 0x2a65c451, 0x50940002, 0x133ae4dd, + 0x71dff89e, 0x10314e55, 0x81ac77d6, 0x5f11199b, + 0x043556f1, 0xd7a3c76b, 0x3c11183b, 0x5924a509, + 0xf28fe6ed, 0x97f1fbfa, 0x9ebabf2c, 0x1e153c6e, + 0x86e34570, 0xeae96fb1, 0x860e5e0a, 0x5a3e2ab3, + 0x771fe71c, 0x4e3d06fa, 0x2965dcb9, 0x99e71d0f, + 0x803e89d6, 0x5266c825, 0x2e4cc978, 0x9c10b36a, + 0xc6150eba, 0x94e2ea78, 0xa5fc3c53, 0x1e0a2df4, + 0xf2f74ea7, 0x361d2b3d, 0x1939260f, 0x19c27960, + 0x5223a708, 0xf71312b6, 0xebadfe6e, 0xeac31f66, + 0xe3bc4595, 0xa67bc883, 0xb17f37d1, 0x018cff28, + 0xc332ddef, 0xbe6c5aa5, 0x65582185, 0x68ab9802, + 0xeecea50f, 0xdb2f953b, 0x2aef7dad, 0x5b6e2f84, + 0x1521b628, 0x29076170, 0xecdd4775, 0x619f1510, + 0x13cca830, 0xeb61bd96, 0x0334fe1e, 0xaa0363cf, + 0xb5735c90, 0x4c70a239, 0xd59e9e0b, 0xcbaade14, + 0xeecc86bc, 0x60622ca7, 0x9cab5cab, 0xb2f3846e, + 0x648b1eaf, 0x19bdf0ca, 0xa02369b9, 0x655abb50, + 0x40685a32, 0x3c2ab4b3, 0x319ee9d5, 0xc021b8f7, + 0x9b540b19, 0x875fa099, 0x95f7997e, 0x623d7da8, + 0xf837889a, 0x97e32d77, 0x11ed935f, 0x16681281, + 0x0e358829, 0xc7e61fd6, 0x96dedfa1, 0x7858ba99, + 0x57f584a5, 0x1b227263, 0x9b83c3ff, 0x1ac24696, + 0xcdb30aeb, 0x532e3054, 0x8fd948e4, 0x6dbc3128, + 0x58ebf2ef, 0x34c6ffea, 0xfe28ed61, 0xee7c3c73, + 0x5d4a14d9, 0xe864b7e3, 0x42105d14, 0x203e13e0, + 0x45eee2b6, 0xa3aaabea, 0xdb6c4f15, 0xfacb4fd0, + 0xc742f442, 0xef6abbb5, 0x654f3b1d, 0x41cd2105, + 0xd81e799e, 0x86854dc7, 0xe44b476a, 0x3d816250, + 0xcf62a1f2, 0x5b8d2646, 0xfc8883a0, 0xc1c7b6a3, + 0x7f1524c3, 0x69cb7492, 0x47848a0b, 0x5692b285, + 0x095bbf00, 0xad19489d, 0x1462b174, 0x23820e00, + 0x58428d2a, 0x0c55f5ea, 0x1dadf43e, 0x233f7061, + 0x3372f092, 0x8d937e41, 0xd65fecf1, 0x6c223bdb, + 0x7cde3759, 0xcbee7460, 0x4085f2a7, 0xce77326e, + 0xa6078084, 0x19f8509e, 0xe8efd855, 0x61d99735, + 0xa969a7aa, 0xc50c06c2, 0x5a04abfc, 0x800bcadc, + 0x9e447a2e, 0xc3453484, 0xfdd56705, 0x0e1e9ec9, + 0xdb73dbd3, 0x105588cd, 0x675fda79, 0xe3674340, + 0xc5c43465, 0x713e38d8, 0x3d28f89e, 0xf16dff20, + 0x153e21e7, 0x8fb03d4a, 0xe6e39f2b, 0xdb83adf7, + 0xe93d5a68, 0x948140f7, 0xf64c261c, 0x94692934, + 0x411520f7, 0x7602d4f7, 0xbcf46b2e, 0xd4a20068, + 0xd4082471, 0x3320f46a, 0x43b7d4b7, 0x500061af, + 0x1e39f62e, 0x97244546, 0x14214f74, 0xbf8b8840, + 0x4d95fc1d, 0x96b591af, 0x70f4ddd3, 0x66a02f45, + 0xbfbc09ec, 0x03bd9785, 0x7fac6dd0, 0x31cb8504, + 0x96eb27b3, 0x55fd3941, 0xda2547e6, 0xabca0a9a, + 0x28507825, 0x530429f4, 0x0a2c86da, 0xe9b66dfb, + 0x68dc1462, 0xd7486900, 0x680ec0a4, 0x27a18dee, + 0x4f3ffea2, 0xe887ad8c, 0xb58ce006, 0x7af4d6b6, + 0xaace1e7c, 0xd3375fec, 0xce78a399, 0x406b2a42, + 0x20fe9e35, 0xd9f385b9, 0xee39d7ab, 0x3b124e8b, + 0x1dc9faf7, 0x4b6d1856, 0x26a36631, 0xeae397b2, + 0x3a6efa74, 0xdd5b4332, 0x6841e7f7, 0xca7820fb, + 0xfb0af54e, 0xd8feb397, 0x454056ac, 0xba489527, + 0x55533a3a, 0x20838d87, 0xfe6ba9b7, 0xd096954b, + 0x55a867bc, 0xa1159a58, 0xcca92963, 0x99e1db33, + 0xa62a4a56, 0x3f3125f9, 0x5ef47e1c, 0x9029317c, + 0xfdf8e802, 0x04272f70, 0x80bb155c, 0x05282ce3, + 0x95c11548, 0xe4c66d22, 0x48c1133f, 0xc70f86dc, + 0x07f9c9ee, 0x41041f0f, 0x404779a4, 0x5d886e17, + 0x325f51eb, 0xd59bc0d1, 0xf2bcc18f, 0x41113564, + 0x257b7834, 0x602a9c60, 0xdff8e8a3, 0x1f636c1b, + 0x0e12b4c2, 0x02e1329e, 0xaf664fd1, 0xcad18115, + 0x6b2395e0, 0x333e92e1, 0x3b240b62, 0xeebeb922, + 0x85b2a20e, 0xe6ba0d99, 0xde720c8c, 0x2da2f728, + 0xd0127845, 0x95b794fd, 0x647d0862, 0xe7ccf5f0, + 0x5449a36f, 0x877d48fa, 0xc39dfd27, 0xf33e8d1e, + 0x0a476341, 0x992eff74, 0x3a6f6eab, 0xf4f8fd37, + 0xa812dc60, 0xa1ebddf8, 0x991be14c, 0xdb6e6b0d, + 0xc67b5510, 0x6d672c37, 0x2765d43b, 0xdcd0e804, + 0xf1290dc7, 0xcc00ffa3, 0xb5390f92, 0x690fed0b, + 0x667b9ffb, 0xcedb7d9c, 0xa091cf0b, 0xd9155ea3, + 0xbb132f88, 0x515bad24, 0x7b9479bf, 0x763bd6eb, + 0x37392eb3, 0xcc115979, 0x8026e297, 0xf42e312d, + 0x6842ada7, 0xc66a2b3b, 0x12754ccc, 0x782ef11c, + 0x6a124237, 0xb79251e7, 0x06a1bbe6, 0x4bfb6350, + 0x1a6b1018, 0x11caedfa, 0x3d25bdd8, 0xe2e1c3c9, + 0x44421659, 0x0a121386, 0xd90cec6e, 0xd5abea2a, + 0x64af674e, 0xda86a85f, 0xbebfe988, 0x64e4c3fe, + 0x9dbc8057, 0xf0f7c086, 0x60787bf8, 0x6003604d, + 0xd1fd8346, 0xf6381fb0, 0x7745ae04, 0xd736fccc, + 0x83426b33, 0xf01eab71, 0xb0804187, 0x3c005e5f, + 0x77a057be, 0xbde8ae24, 0x55464299, 0xbf582e61, + 0x4e58f48f, 0xf2ddfda2, 0xf474ef38, 0x8789bdc2, + 0x5366f9c3, 0xc8b38e74, 0xb475f255, 0x46fcd9b9, + 0x7aeb2661, 0x8b1ddf84, 0x846a0e79, 0x915f95e2, + 0x466e598e, 0x20b45770, 0x8cd55591, 0xc902de4c, + 0xb90bace1, 0xbb8205d0, 0x11a86248, 0x7574a99e, + 0xb77f19b6, 0xe0a9dc09, 0x662d09a1, 0xc4324633, + 0xe85a1f02, 0x09f0be8c, 0x4a99a025, 0x1d6efe10, + 0x1ab93d1d, 0x0ba5a4df, 0xa186f20f, 0x2868f169, + 0xdcb7da83, 0x573906fe, 0xa1e2ce9b, 0x4fcd7f52, + 0x50115e01, 0xa70683fa, 0xa002b5c4, 0x0de6d027, + 0x9af88c27, 0x773f8641, 0xc3604c06, 0x61a806b5, + 0xf0177a28, 0xc0f586e0, 0x006058aa, 0x30dc7d62, + 0x11e69ed7, 0x2338ea63, 0x53c2dd94, 0xc2c21634, + 0xbbcbee56, 0x90bcb6de, 0xebfc7da1, 0xce591d76, + 0x6f05e409, 0x4b7c0188, 0x39720a3d, 0x7c927c24, + 0x86e3725f, 0x724d9db9, 0x1ac15bb4, 0xd39eb8fc, + 0xed545578, 0x08fca5b5, 0xd83d7cd3, 0x4dad0fc4, + 0x1e50ef5e, 0xb161e6f8, 0xa28514d9, 0x6c51133c, + 0x6fd5c7e7, 0x56e14ec4, 0x362abfce, 0xddc6c837, + 0xd79a3234, 0x92638212, 0x670efa8e, 0x406000e0, + 0x3a39ce37, 0xd3faf5cf, 0xabc27737, 0x5ac52d1b, + 0x5cb0679e, 0x4fa33742, 0xd3822740, 0x99bc9bbe, + 0xd5118e9d, 0xbf0f7315, 0xd62d1c7e, 0xc700c47b, + 0xb78c1b6b, 0x21a19045, 0xb26eb1be, 0x6a366eb4, + 0x5748ab2f, 0xbc946e79, 0xc6a376d2, 0x6549c2c8, + 0x530ff8ee, 0x468dde7d, 0xd5730a1d, 0x4cd04dc6, + 0x2939bbdb, 0xa9ba4650, 0xac9526e8, 0xbe5ee304, + 0xa1fad5f0, 0x6a2d519a, 0x63ef8ce2, 0x9a86ee22, + 0xc089c2b8, 0x43242ef6, 0xa51e03aa, 0x9cf2d0a4, + 0x83c061ba, 0x9be96a4d, 0x8fe51550, 0xba645bd6, + 0x2826a2f9, 0xa73a3ae1, 0x4ba99586, 0xef5562e9, + 0xc72fefd3, 0xf752f7da, 0x3f046f69, 0x77fa0a59, + 0x80e4a915, 0x87b08601, 0x9b09e6ad, 0x3b3ee593, + 0xe990fd5a, 0x9e34d797, 0x2cf0b7d9, 0x022b8b51, + 0x96d5ac3a, 0x017da67d, 0xd1cf3ed6, 0x7c7d2d28, + 0x1f9f25cf, 0xadf2b89b, 0x5ad6b472, 0x5a88f54c, + 0xe029ac71, 0xe019a5e6, 0x47b0acfd, 0xed93fa9b, + 0xe8d3c48d, 0x283b57cc, 0xf8d56629, 0x79132e28, + 0x785f0191, 0xed756055, 0xf7960e44, 0xe3d35e8c, + 0x15056dd4, 0x88f46dba, 0x03a16125, 0x0564f0bd, + 0xc3eb9e15, 0x3c9057a2, 0x97271aec, 0xa93a072a, + 0x1b3f6d9b, 0x1e6321f5, 0xf59c66fb, 0x26dcf319, + 0x7533d928, 0xb155fdf5, 0x03563482, 0x8aba3cbb, + 0x28517711, 0xc20ad9f8, 0xabcc5167, 0xccad925f, + 0x4de81751, 0x3830dc8e, 0x379d5862, 0x9320f991, + 0xea7a90c2, 0xfb3e7bce, 0x5121ce64, 0x774fbe32, + 0xa8b6e37e, 0xc3293d46, 0x48de5369, 0x6413e680, + 0xa2ae0810, 0xdd6db224, 0x69852dfd, 0x09072166, + 0xb39a460a, 0x6445c0dd, 0x586cdecf, 0x1c20c8ae, + 0x5bbef7dd, 0x1b588d40, 0xccd2017f, 0x6bb4e3bb, + 0xdda26a7e, 0x3a59ff45, 0x3e350a44, 0xbcb4cdd5, + 0x72eacea8, 0xfa6484bb, 0x8d6612ae, 0xbf3c6f47, + 0xd29be463, 0x542f5d9e, 0xaec2771b, 0xf64e6370, + 0x740e0d8d, 0xe75b1357, 0xf8721671, 0xaf537d5d, + 0x4040cb08, 0x4eb4e2cc, 0x34d2466a, 0x0115af84, + 0xe1b00428, 0x95983a1d, 0x06b89fb4, 0xce6ea048, + 0x6f3f3b82, 0x3520ab82, 0x011a1d4b, 0x277227f8, + 0x611560b1, 0xe7933fdc, 0xbb3a792b, 0x344525bd, + 0xa08839e1, 0x51ce794b, 0x2f32c9b7, 0xa01fbac9, + 0xe01cc87e, 0xbcc7d1f6, 0xcf0111c3, 0xa1e8aac7, + 0x1a908749, 0xd44fbd9a, 0xd0dadecb, 0xd50ada38, + 0x0339c32a, 0xc6913667, 0x8df9317c, 0xe0b12b4f, + 0xf79e59b7, 0x43f5bb3a, 0xf2d519ff, 0x27d9459c, + 0xbf97222c, 0x15e6fc2a, 0x0f91fc71, 0x9b941525, + 0xfae59361, 0xceb69ceb, 0xc2a86459, 0x12baa8d1, + 0xb6c1075e, 0xe3056a0c, 0x10d25065, 0xcb03a442, + 0xe0ec6e0e, 0x1698db3b, 0x4c98a0be, 0x3278e964, + 0x9f1f9532, 0xe0d392df, 0xd3a0342b, 0x8971f21e, + 0x1b0a7441, 0x4ba3348c, 0xc5be7120, 0xc37632d8, + 0xdf359f8d, 0x9b992f2e, 0xe60b6f47, 0x0fe3f11d, + 0xe54cda54, 0x1edad891, 0xce6279cf, 0xcd3e7e6f, + 0x1618b166, 0xfd2c1d05, 0x848fd2c5, 0xf6fb2299, + 0xf523f357, 0xa6327623, 0x93a83531, 0x56cccd02, + 0xacf08162, 0x5a75ebb5, 0x6e163697, 0x88d273cc, + 0xde966292, 0x81b949d0, 0x4c50901b, 0x71c65614, + 0xe6c6c7bd, 0x327a140a, 0x45e1d006, 0xc3f27b9a, + 0xc9aa53fd, 0x62a80f00, 0xbb25bfe2, 0x35bdd2f6, + 0x71126905, 0xb2040222, 0xb6cbcf7c, 0xcd769c2b, + 0x53113ec0, 0x1640e3d3, 0x38abbd60, 0x2547adf0, + 0xba38209c, 0xf746ce76, 0x77afa1c5, 0x20756060, + 0x85cbfe4e, 0x8ae88dd8, 0x7aaaf9b0, 0x4cf9aa7e, + 0x1948c25c, 0x02fb8a8c, 0x01c36ae4, 0xd6ebe1f9, + 0x90d4f869, 0xa65cdea0, 0x3f09252d, 0xc208e69f, + 0xb74e6132, 0xce77e25b, 0x578fdfe3, 0x3ac372e6 + }; + + // bcrypt IV: "OrpheanBeholderScryDoubt" + static private final int bf_crypt_ciphertext[] = { + 0x4f727068, 0x65616e42, 0x65686f6c, + 0x64657253, 0x63727944, 0x6f756274 + }; + + // Table for Base64 encoding + static private final char base64_code[] = { + '.', '/', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', + 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', + 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', + 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', + '6', '7', '8', '9' + }; + + // Table for Base64 decoding + static private final byte index_64[] = { + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0, 1, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, -1, -1, + -1, -1, -1, -1, -1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, + -1, -1, -1, -1, -1, -1, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, -1, -1, -1, -1, -1 + }; + + // Expanded Blowfish key + private int P[]; + private int S[]; + + /** + * Encode a byte array using bcrypt's slightly-modified base64 + * encoding scheme. Note that this is *not* compatible with + * the standard MIME-base64 encoding. + * + * @param d the byte array to encode + * @param len the number of bytes to encode + * @return base64-encoded string + * @exception IllegalArgumentException if the length is invalid + */ + private static String encode_base64(byte d[], int len) + throws IllegalArgumentException { + int off = 0; + StringBuffer rs = new StringBuffer(); + int c1, c2; + + if (len <= 0 || len > d.length) + throw new IllegalArgumentException ("Invalid len"); + + while (off < len) { + c1 = d[off++] & 0xff; + rs.append(base64_code[(c1 >> 2) & 0x3f]); + c1 = (c1 & 0x03) << 4; + if (off >= len) { + rs.append(base64_code[c1 & 0x3f]); + break; + } + c2 = d[off++] & 0xff; + c1 |= (c2 >> 4) & 0x0f; + rs.append(base64_code[c1 & 0x3f]); + c1 = (c2 & 0x0f) << 2; + if (off >= len) { + rs.append(base64_code[c1 & 0x3f]); + break; + } + c2 = d[off++] & 0xff; + c1 |= (c2 >> 6) & 0x03; + rs.append(base64_code[c1 & 0x3f]); + rs.append(base64_code[c2 & 0x3f]); + } + return rs.toString(); + } + + /** + * Look up the 3 bits base64-encoded by the specified character, + * range-checking againt conversion table + * @param x the base64-encoded value + * @return the decoded value of x + */ + private static byte char64(char x) { + if ((int)x < 0 || (int)x > index_64.length) + return -1; + return index_64[(int)x]; + } + + /** + * Decode a string encoded using bcrypt's base64 scheme to a + * byte array. Note that this is *not* compatible with + * the standard MIME-base64 encoding. + * @param s the string to decode + * @param maxolen the maximum number of bytes to decode + * @return an array containing the decoded bytes + * @throws IllegalArgumentException if maxolen is invalid + */ + private static byte[] decode_base64(String s, int maxolen) + throws IllegalArgumentException { + StringBuffer rs = new StringBuffer(); + int off = 0, slen = s.length(), olen = 0; + byte ret[]; + byte c1, c2, c3, c4, o; + + if (maxolen <= 0) + throw new IllegalArgumentException ("Invalid maxolen"); + + while (off < slen - 1 && olen < maxolen) { + c1 = char64(s.charAt(off++)); + c2 = char64(s.charAt(off++)); + if (c1 == -1 || c2 == -1) + break; + o = (byte)(c1 << 2); + o |= (c2 & 0x30) >> 4; + rs.append((char)o); + if (++olen >= maxolen || off >= slen) + break; + c3 = char64(s.charAt(off++)); + if (c3 == -1) + break; + o = (byte)((c2 & 0x0f) << 4); + o |= (c3 & 0x3c) >> 2; + rs.append((char)o); + if (++olen >= maxolen || off >= slen) + break; + c4 = char64(s.charAt(off++)); + o = (byte)((c3 & 0x03) << 6); + o |= c4; + rs.append((char)o); + ++olen; + } + + ret = new byte[olen]; + for (off = 0; off < olen; off++) + ret[off] = (byte)rs.charAt(off); + return ret; + } + + /** + * Blowfish encipher a single 64-bit block encoded as + * two 32-bit halves + * @param lr an array containing the two 32-bit half blocks + * @param off the position in the array of the blocks + */ + private final void encipher(int lr[], int off) { + int i, n, l = lr[off], r = lr[off + 1]; + + l ^= P[0]; + for (i = 0; i <= BLOWFISH_NUM_ROUNDS - 2;) { + // Feistel substitution on left word + n = S[(l >> 24) & 0xff]; + n += S[0x100 | ((l >> 16) & 0xff)]; + n ^= S[0x200 | ((l >> 8) & 0xff)]; + n += S[0x300 | (l & 0xff)]; + r ^= n ^ P[++i]; + + // Feistel substitution on right word + n = S[(r >> 24) & 0xff]; + n += S[0x100 | ((r >> 16) & 0xff)]; + n ^= S[0x200 | ((r >> 8) & 0xff)]; + n += S[0x300 | (r & 0xff)]; + l ^= n ^ P[++i]; + } + lr[off] = r ^ P[BLOWFISH_NUM_ROUNDS + 1]; + lr[off + 1] = l; + } + + /** + * Cycically extract a word of key material + * @param data the string to extract the data from + * @param offp a "pointer" (as a one-entry array) to the + * current offset into data + * @return the next word of material from data + */ + private static int streamtoword(byte data[], int offp[]) { + int i; + int word = 0; + int off = offp[0]; + + for (i = 0; i < 4; i++) { + word = (word << 8) | (data[off] & 0xff); + off = (off + 1) % data.length; + } + + offp[0] = off; + return word; + } + + /** + * Initialise the Blowfish key schedule + */ + private void init_key() { + P = (int[])P_orig.clone(); + S = (int[])S_orig.clone(); + } + + /** + * Key the Blowfish cipher + * @param key an array containing the key + */ + private void key(byte key[]) { + int i; + int koffp[] = { 0 }; + int lr[] = { 0, 0 }; + int plen = P.length, slen = S.length; + + for (i = 0; i < plen; i++) + P[i] = P[i] ^ streamtoword(key, koffp); + + for (i = 0; i < plen; i += 2) { + encipher(lr, 0); + P[i] = lr[0]; + P[i + 1] = lr[1]; + } + + for (i = 0; i < slen; i += 2) { + encipher(lr, 0); + S[i] = lr[0]; + S[i + 1] = lr[1]; + } + } + + /** + * Perform the "enhanced key schedule" step described by + * Provos and Mazieres in "A Future-Adaptable Password Scheme" + * http://www.openbsd.org/papers/bcrypt-paper.ps + * @param data salt information + * @param key password information + */ + private void ekskey(byte data[], byte key[]) { + int i; + int koffp[] = { 0 }, doffp[] = { 0 }; + int lr[] = { 0, 0 }; + int plen = P.length, slen = S.length; + + for (i = 0; i < plen; i++) + P[i] = P[i] ^ streamtoword(key, koffp); + + for (i = 0; i < plen; i += 2) { + lr[0] ^= streamtoword(data, doffp); + lr[1] ^= streamtoword(data, doffp); + encipher(lr, 0); + P[i] = lr[0]; + P[i + 1] = lr[1]; + } + + for (i = 0; i < slen; i += 2) { + lr[0] ^= streamtoword(data, doffp); + lr[1] ^= streamtoword(data, doffp); + encipher(lr, 0); + S[i] = lr[0]; + S[i + 1] = lr[1]; + } + } + + /** + * Perform the central password hashing step in the + * bcrypt scheme + * @param password the password to hash + * @param salt the binary salt to hash with the password + * @param log_rounds the binary logarithm of the number + * of rounds of hashing to apply + * @return an array containing the binary hashed password + */ + private byte[] crypt_raw(byte password[], byte salt[], int log_rounds) { + int rounds, i, j; + int cdata[] = (int[])bf_crypt_ciphertext.clone(); + int clen = cdata.length; + byte ret[]; + + if (log_rounds < 4 || log_rounds > 31) + throw new IllegalArgumentException ("Bad number of rounds"); + rounds = 1 << log_rounds; + if (salt.length != BCRYPT_SALT_LEN) + throw new IllegalArgumentException ("Bad salt length"); + + init_key(); + ekskey(salt, password); + for (i = 0; i < rounds; i++) { + key(password); + key(salt); + } + + for (i = 0; i < 64; i++) { + for (j = 0; j < (clen >> 1); j++) + encipher(cdata, j << 1); + } + + ret = new byte[clen * 4]; + for (i = 0, j = 0; i < clen; i++) { + ret[j++] = (byte)((cdata[i] >> 24) & 0xff); + ret[j++] = (byte)((cdata[i] >> 16) & 0xff); + ret[j++] = (byte)((cdata[i] >> 8) & 0xff); + ret[j++] = (byte)(cdata[i] & 0xff); + } + return ret; + } + + /** + * Hash a password using the OpenBSD bcrypt scheme + * @param password the password to hash + * @param salt the salt to hash with (perhaps generated + * using BCrypt.gensalt) + * @return the hashed password + */ + public static String hashpw(String password, String salt) { + BCrypt B; + String real_salt; + byte passwordb[], saltb[], hashed[]; + char minor = (char)0; + int rounds, off = 0; + StringBuffer rs = new StringBuffer(); + + if (salt.charAt(0) != '$' || salt.charAt(1) != '2') + throw new IllegalArgumentException ("Invalid salt version"); + if (salt.charAt(2) == '$') + off = 3; + else { + minor = salt.charAt(2); + if (minor != 'a' || salt.charAt(3) != '$') + throw new IllegalArgumentException ("Invalid salt revision"); + off = 4; + } + + // Extract number of rounds + if (salt.charAt(off + 2) > '$') + throw new IllegalArgumentException ("Missing salt rounds"); + rounds = Integer.parseInt(salt.substring(off, off + 2)); + + real_salt = salt.substring(off + 3, off + 25); + try { + passwordb = (password + (minor >= 'a' ? "\000" : "")).getBytes("UTF-8"); + } catch (UnsupportedEncodingException uee) { + throw new AssertionError("UTF-8 is not supported"); + } + + saltb = decode_base64(real_salt, BCRYPT_SALT_LEN); + + B = new BCrypt(); + hashed = B.crypt_raw(passwordb, saltb, rounds); + + rs.append("$2"); + if (minor >= 'a') + rs.append(minor); + rs.append("$"); + if (rounds < 10) + rs.append("0"); + rs.append(Integer.toString(rounds)); + rs.append("$"); + rs.append(encode_base64(saltb, saltb.length)); + rs.append(encode_base64(hashed, + bf_crypt_ciphertext.length * 4 - 1)); + return rs.toString(); + } + + /** + * Generate a salt for use with the BCrypt.hashpw() method + * @param log_rounds the log2 of the number of rounds of + * hashing to apply - the work factor therefore increases as + * 2**log_rounds. + * @param random an instance of SecureRandom to use + * @return an encoded salt value + */ + public static String gensalt(int log_rounds, SecureRandom random) { + StringBuffer rs = new StringBuffer(); + byte rnd[] = new byte[BCRYPT_SALT_LEN]; + + random.nextBytes(rnd); + + rs.append("$2a$"); + if (log_rounds < 10) + rs.append("0"); + rs.append(Integer.toString(log_rounds)); + rs.append("$"); + rs.append(encode_base64(rnd, rnd.length)); + return rs.toString(); + } + + /** + * Generate a salt for use with the BCrypt.hashpw() method + * @param log_rounds the log2 of the number of rounds of + * hashing to apply - the work factor therefore increases as + * 2**log_rounds. + * @return an encoded salt value + */ + public static String gensalt(int log_rounds) { + return gensalt(log_rounds, new SecureRandom()); + } + + /** + * Generate a salt for use with the BCrypt.hashpw() method, + * selecting a reasonable default for the number of hashing + * rounds to apply + * @return an encoded salt value + */ + public static String gensalt() { + return gensalt(GENSALT_DEFAULT_LOG2_ROUNDS); + } + + /** + * Check that a plaintext password matches a previously hashed + * one + * @param plaintext the plaintext password to verify + * @param hashed the previously-hashed password + * @return true if the passwords match, false otherwise + */ + public static boolean checkpw(String plaintext, String hashed) { + return (hashed.compareTo(hashpw(plaintext, hashed)) == 0); + } + } + +} diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/PlayerDatabaseGen.java b/09HDscape-management-server/src/org/keldagrim/system/util/PlayerDatabaseGen.java new file mode 100644 index 000000000..75c9f78a6 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/PlayerDatabaseGen.java @@ -0,0 +1,19 @@ +package org.keldagrim.system.util; + +/** + * Handles generating a player database. + * @author Emperor + * + */ +public final class PlayerDatabaseGen { + + /** + * The main method. + * @param args The arguments. + */ + public static void main(String[] args) { + // TODO Auto-generated method stub + + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/StringUtils.java b/09HDscape-management-server/src/org/keldagrim/system/util/StringUtils.java new file mode 100644 index 000000000..b062751b9 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/StringUtils.java @@ -0,0 +1,650 @@ +package org.keldagrim.system.util; + +import java.text.DecimalFormat; + +import org.keldagrim.net.packet.IoBuffer; + +/** + * The string utils. + * @author Emperor + * + */ +public final class StringUtils { + + /** + * The valid characters to be used in names/messages/... + */ + public static final char[] VALID_CHARS = { + '_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', + 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' + }; + /** + * Character mapping. + */ + public static char[] mapping = { + '\n', + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', + 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', + 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', + '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' ' }; + /** + * The an int array241. + */ + public static int[] anIntArray241 = { 215, 203, 83, 158, 104, 101, 93, 84, + 107, 103, 109, 95, 94, 98, 89, 86, 70, 41, 32, 27, 24, 23, -1, -2, + 26, -3, -4, 31, 30, -5, -6, -7, 37, 38, 36, -8, -9, -10, 40, -11, + -12, 55, 48, 46, 47, -13, -14, -15, 52, 51, -16, -17, 54, -18, -19, + 63, 60, 59, -20, -21, 62, -22, -23, 67, 66, -24, -25, 69, -26, -27, + 199, 132, 80, 77, 76, -28, -29, 79, -30, -31, 87, 85, -32, -33, + -34, -35, -36, 197, -37, 91, -38, 134, -39, -40, -41, 97, -42, -43, + 133, 106, -44, 117, -45, -46, 139, -47, -48, 110, -49, -50, 114, + 113, -51, -52, 116, -53, -54, 135, 138, 136, 129, 125, 124, -55, + -56, 130, 128, -57, -58, -59, 183, -60, -61, -62, -63, -64, 148, + -65, -66, 153, 149, 145, 144, -67, -68, 147, -69, -70, -71, 152, + 154, -72, -73, -74, 157, 171, -75, -76, 207, 184, 174, 167, 166, + 165, -77, -78, -79, 172, 170, -80, -81, -82, 178, -83, 177, 182, + -84, -85, 187, 181, -86, -87, -88, -89, 206, 221, -90, 189, -91, + 198, 254, 262, 195, 196, -92, -93, -94, -95, -96, 252, 255, 250, + -97, 211, 209, -98, -99, 212, -100, 213, -101, -102, -103, 224, + -104, 232, 227, 220, 226, -105, -106, 246, 236, -107, 243, -108, + -109, 231, 237, 235, -110, -111, 239, 238, -112, -113, -114, -115, + -116, 241, -117, 244, -118, -119, 248, -120, 249, -121, -122, -123, + 253, -124, -125, -126, -127, 259, 258, -128, -129, 261, -130, -131, + 390, 327, 296, 281, 274, 271, 270, -132, -133, 273, -134, -135, + 278, 277, -136, -137, 280, -138, -139, 289, 286, 285, -140, -141, + 288, -142, -143, 293, 292, -144, -145, 295, -146, -147, 312, 305, + 302, 301, -148, -149, 304, -150, -151, 309, 308, -152, -153, 311, + -154, -155, 320, 317, 316, -156, -157, 319, -158, -159, 324, 323, + -160, -161, 326, -162, -163, 359, 344, 337, 334, 333, -164, -165, + 336, -166, -167, 341, 340, -168, -169, 343, -170, -171, 352, 349, + 348, -172, -173, 351, -174, -175, 356, 355, -176, -177, 358, -178, + -179, 375, 368, 365, 364, -180, -181, 367, -182, -183, 372, 371, + -184, -185, 374, -186, -187, 383, 380, 379, -188, -189, 382, -190, + -191, 387, 386, -192, -193, 389, -194, -195, 454, 423, 408, 401, + 398, 397, -196, -197, 400, -198, -199, 405, 404, -200, -201, 407, + -202, -203, 416, 413, 412, -204, -205, 415, -206, -207, 420, 419, + -208, -209, 422, -210, -211, 439, 432, 429, 428, -212, -213, 431, + -214, -215, 436, 435, -216, -217, 438, -218, -219, 447, 444, 443, + -220, -221, 446, -222, -223, 451, 450, -224, -225, 453, -226, -227, + 486, 471, 464, 461, 460, -228, -229, 463, -230, -231, 468, 467, + -232, -233, 470, -234, -235, 479, 476, 475, -236, -237, 478, -238, + -239, 483, 482, -240, -241, 485, -242, -243, 499, 495, 492, 491, + -244, -245, 494, -246, -247, 497, -248, 502, -249, 506, 503, -250, + -251, 505, -252, -253, 508, -254, 510, -255, -256, 0 }; + + /** + * Constructs a new {@code StringUtils.java} {@code Object}. + */ + public StringUtils() { + /** + * empty. + */ + } + /** + * Method used to get the formatted number as a string from the integer inputed. + * @param amount the ammount. + * @return the string value. + */ + public static String getFormattedNumber(int amount) { + return new DecimalFormat("#,###,##0").format(amount).toString(); + } + /** + * Checks if the string contains an invalid character. + * @param nameThe string. + * @return {@code True} if so. + */ + public static boolean containsInvalidCharacter(String name) { + for (char c : name.toCharArray()) { + boolean pass = false; + for (char vc : VALID_CHARS) + if (vc == c) { + pass = true; + break; + } + if (!pass) + return true; + } + return false; + } + /** + * If a word starts with a e i o u h for grammar = a + n. + * @param word The word. + * @return If the a should have +n {@code true}. + */ + public static boolean isPlusN(String word) { + if (word == null) + return false; + String s = word.toLowerCase(); + return s.charAt(0) == 'a' || s.charAt(0) == 'e' || s.charAt(0) == 'i' + || s.charAt(0) == 'o' || s.charAt(0) == 'u' + || (s.charAt(0) == 'h' && s.length() > 1 && s.charAt(1) != 'e'); + } + /** + * Method used to get the player name as a long. + * @param s the string. + * @return the long. + */ + public static long getPlayerNameLong(String s) { + long l = 0L; + for(int i = 0; i < s.length() && i < 12; i++) { + char c = s.charAt(i); + l *= 37L; + if(c >= 'A' && c <= 'Z') l += (1 + c) - 65; + else if(c >= 'a' && c <= 'z') l += (1 + c) - 97; + else if(c >= '0' && c <= '9') l += (27 + c) - 48; + } + while(l % 37L == 0L && l != 0L) l /= 37L; + return l; + } + + /** + * Method used to convert the string to a long. + * @param s the string. + * @return the long. + */ + public static long convertStringToLong(String s) { + if (s.length() > 20) { + throw new IllegalArgumentException("String is too long: " + s); + } + long out = 0L; + for (int i = 0; i < s.length(); ++i) { + long m = reducedMapping(s.codePointAt(i)); + if (m == -1) { + throw new IllegalArgumentException("Unmapped Character in String: " + s); + } + m <<= ((9 - i) * 6) + 4; + out |= m; + } + return out; + } + + /** + * Formats the string as display name. + * @param name The string to format. + * @return The formatted name. + */ + public static String formatDisplayName(String name) { + name = name.replaceAll("_", " "); + name = name.toLowerCase(); + StringBuilder newName = new StringBuilder(); + boolean wasSpace = true; + for (int i = 0; i < name.length(); i++) { + if (wasSpace) { + newName.append((new String() + name.charAt(i)).toUpperCase()); + wasSpace = false; + } else { + newName.append(name.charAt(i)); + } + if (name.charAt(i) == ' ') { + wasSpace = true; + } + } + return newName.toString(); + } + + /** + * Gets the byte for the character. + * @param c The character. + * @return The byte. + */ + private static final byte getByte(char c) { + byte charByte; + if (c > 0 && c < '\200' || c >= '\240' && c <= '\377') + charByte = (byte) c; + else if (c != '\u20AC') { + if (c != '\u201A') { + if (c != '\u0192') { + if (c == '\u201E') + charByte = -124; + else if (c != '\u2026') { + if (c != '\u2020') { + if (c == '\u2021') + charByte = -121; + else if (c == '\u02C6') + charByte = -120; + else if (c == '\u2030') + charByte = -119; + else if (c == '\u0160') + charByte = -118; + else if (c == '\u2039') + charByte = -117; + else if (c == '\u0152') + charByte = -116; + else if (c != '\u017D') { + if (c == '\u2018') + charByte = -111; + else if (c != '\u2019') { + if (c != '\u201C') { + if (c == '\u201D') + charByte = -108; + else if (c != '\u2022') { + if (c == '\u2013') + charByte = -106; + else if (c == '\u2014') + charByte = -105; + else if (c == '\u02DC') + charByte = -104; + else if (c == '\u2122') + charByte = -103; + else if (c != '\u0161') { + if (c == '\u203A') + charByte = -101; + else if (c != '\u0153') { + if (c == '\u017E') + charByte = -98; + else if (c != '\u0178') + charByte = 63; + else + charByte = -97; + } else + charByte = -100; + } else + charByte = -102; + } else + charByte = -107; + } else + charByte = -109; + } else + charByte = -110; + } else + charByte = -114; + } else + charByte = -122; + } else + charByte = -123; + } else + charByte = -125; + } else + charByte = -126; + } else + charByte = -128; + return charByte; + } + /** + * Gets the double value of this string + * @param s The string. + * @return The double value. + */ + public static double getDouble(String s) { + s = s.replaceAll(", ", "").replaceAll(",", ""); + StringBuilder sb = new StringBuilder(); + char c; + boolean foundStart = false; + for (int i = 0; i < s.length(); i++) { + c = s.charAt(i); + if (Character.isDigit(c) || c == '-' || c == '.') { + sb.append(c); + foundStart = true; + } else if (foundStart) + break; + } + try { + double amount = Double.parseDouble(sb.toString()); + return amount; + } catch (NumberFormatException e) { + return 0.0; + } + } + /** + * Gets the hash for the string. + * @param str The string. + * @return The hash. + */ + public static final int getNameHash(String str) { + str = str.toLowerCase(); + int hash = 0; + for (int index = 0; index < str.length(); index++) + hash = getByte(str.charAt(index)) + ((hash << 5) - hash); + return hash; + } + /** + * Gets the string value of this string (all html/... removed). + * @param s The string. + * @return The string value. + */ + public static String getString(String s) { + String string = s.replaceAll("\\<.*?>", "").replaceAll(" ", "") + .replaceAll("Discontinued Item:", ""); + return string; + } + /** + * Characters used to convert a String to a Long. + */ + public static char[] validChars = { + '_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', + 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', + 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', + '3', '4', '5', '6', '7', '8', '9' + }; + public static int[] anIntArray233 = { + 0, 1024, 2048, 3072, 4096, 5120, + 6144, 8192, 9216, 12288, 10240, 11264, 16384, 18432, 17408, 20480, + 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, + 30720, 31744, 32768, 33792, 34816, 35840, 36864, 536870912, + 16777216, 37888, 65536, 38912, 131072, 196608, 33554432, 524288, + 1048576, 1572864, 262144, 67108864, 4194304, 134217728, 327680, + 8388608, 2097152, 12582912, 13631488, 14680064, 15728640, + 100663296, 101187584, 101711872, 101974016, 102760448, 102236160, + 40960, 393216, 229376, 117440512, 104857600, 109051904, 201326592, + 205520896, 209715200, 213909504, 106954752, 218103808, 226492416, + 234881024, 222298112, 224395264, 268435456, 272629760, 276824064, + 285212672, 289406976, 223346688, 293601280, 301989888, 318767104, + 297795584, 298844160, 310378496, 102498304, 335544320, 299892736, + 300941312, 301006848, 300974080, 39936, 301465600, 49152, + 1073741824, 369098752, 402653184, 1342177280, 1610612736, + 469762048, 1476395008, -2147483648, -1879048192, 352321536, + 1543503872, -2013265920, -1610612736, -1342177280, -1073741824, + -1543503872, 356515840, -1476395008, -805306368, -536870912, + -268435456, 1577058304, -134217728, 360710144, -67108864, + 364904448, 51200, 57344, 52224, 301203456, 53248, 54272, 55296, + 56320, 301072384, 301073408, 301074432, 301075456, 301076480, + 301077504, 301078528, 301079552, 301080576, 301081600, 301082624, + 301083648, 301084672, 301085696, 301086720, 301087744, 301088768, + 301089792, 301090816, 301091840, 301092864, 301093888, 301094912, + 301095936, 301096960, 301097984, 301099008, 301100032, 301101056, + 301102080, 301103104, 301104128, 301105152, 301106176, 301107200, + 301108224, 301109248, 301110272, 301111296, 301112320, 301113344, + 301114368, 301115392, 301116416, 301117440, 301118464, 301119488, + 301120512, 301121536, 301122560, 301123584, 301124608, 301125632, + 301126656, 301127680, 301128704, 301129728, 301130752, 301131776, + 301132800, 301133824, 301134848, 301135872, 301136896, 301137920, + 301138944, 301139968, 301140992, 301142016, 301143040, 301144064, + 301145088, 301146112, 301147136, 301148160, 301149184, 301150208, + 301151232, 301152256, 301153280, 301154304, 301155328, 301156352, + 301157376, 301158400, 301159424, 301160448, 301161472, 301162496, + 301163520, 301164544, 301165568, 301166592, 301167616, 301168640, + 301169664, 301170688, 301171712, 301172736, 301173760, 301174784, + 301175808, 301176832, 301177856, 301178880, 301179904, 301180928, + 301181952, 301182976, 301184000, 301185024, 301186048, 301187072, + 301188096, 301189120, 301190144, 301191168, 301193216, 301195264, + 301194240, 301197312, 301198336, 301199360, 301201408, 301202432 + }; + public static byte[] aByteArray235 = { + 22, 22, 22, 22, 22, 22, 21, 22, 22, + 20, 22, 22, 22, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 3, 8, 22, 16, 22, 16, 17, 7, 13, 13, 13, + 16, 7, 10, 6, 16, 10, 11, 12, 12, 12, 12, 13, 13, 14, 14, 11, 14, + 19, 15, 17, 8, 11, 9, 10, 10, 10, 10, 11, 10, 9, 7, 12, 11, 10, 10, + 9, 10, 10, 12, 10, 9, 8, 12, 12, 9, 14, 8, 12, 17, 16, 17, 22, 13, + 21, 4, 7, 6, 5, 3, 6, 6, 5, 4, 10, 7, 5, 6, 4, 4, 6, 10, 5, 4, 4, + 5, 7, 6, 10, 6, 10, 22, 19, 22, 14, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 21, 22, 21, 22, 22, 22, 21, + 22, 22 + }; + /** + * Encrypt a string for the client. + */ + public static int encryptPlayerChat(byte[] is, int i_25_, int i_26_, int i_27_, byte[] is_28_) { + try { + i_27_ += i_25_; + int i_29_ = 0; + int i_30_ = i_26_ << -2116795453; + for (; i_27_ > i_25_; i_25_++) { + int i_31_ = 0xff & is_28_[i_25_]; + int i_32_ = anIntArray233[i_31_]; + int i_33_ = aByteArray235[i_31_]; + int i_34_ = i_30_ >> -1445887805; + int i_35_ = i_30_ & 0x7; + i_29_ &= (-i_35_ >> 473515839); + i_30_ += i_33_; + int i_36_ = ((-1 + (i_35_ - -i_33_)) >> -1430991229) + i_34_; + i_35_ += 24; + is[i_34_] = (byte) (i_29_ = (i_29_ | (i_32_ >>> i_35_))); + if ((i_36_ ^ 0xffffffff) < (i_34_ ^ 0xffffffff)) { + i_34_++; + i_35_ -= 8; + is[i_34_] = (byte) (i_29_ = i_32_ >>> i_35_); + if (i_36_ > i_34_) { + i_34_++; + i_35_ -= 8; + is[i_34_] = (byte) (i_29_ = i_32_ >>> i_35_); + if (i_36_ > i_34_) { + i_35_ -= 8; + i_34_++; + is[i_34_] = (byte) (i_29_ = i_32_ >>> i_35_); + if (i_34_ < i_36_) { + i_35_ -= 8; + i_34_++; + is[i_34_] = (byte) (i_29_ = i_32_ << -i_35_); + } + } + } + } + } + return -i_26_ + ((7 + i_30_) >> -662855293); + } catch (RuntimeException runtimeexception) { + } + return 0; + } + /** + * Gets an integer value from a string. + * @param s the string. + * @return The value; + */ + public static int getValue(String s) { + s = s.replaceAll(", ", "").replaceAll(",", ""); + StringBuilder sb = new StringBuilder(); + char c; + boolean foundStart = false; + for (int i = 0; i < s.length(); i++) { + c = s.charAt(i); + if (Character.isDigit(c) || c == '-') { + sb.append(c); + foundStart = true; + } else if (foundStart) + break; + } + try { + int amount = Integer.parseInt(sb.toString()); + return amount; + } catch (NumberFormatException e) { + return 0; + } + } + /** + * Checks if the account name is valid. + * @param name The account name. + * @return {@code True} if the account name is invalid. + */ + public static boolean invalidAccountName(String name) { + return name.length() < 2 || name.length() > 12 || name.startsWith("_")|| name.endsWith("_") || name.contains("__") || containsInvalidCharacter(name); + } + + /** + * Converts a long to a string. + * @param l The long. + * @return The string. + */ + public static String longToString(long l) { + int i = 0; + char ac[] = new char[32]; + while (l != 0L) { + long l1 = l; + l /= 37L; + ac[11 - i++] = VALID_CHARS[(int) (l1 - l * 37L)]; + } + return new String(ac, 12 - i, i); + } + + /** + * Packs a GJ2-String. + * @param position The position to start. + * @param buffer The byte-array. + * @param str The string. + * @return The size of the string. + */ + public static final int packGJString2(int position, byte[] buffer, + String str) { + int length = str.length(); + int offset = position; + for (int index = 0; length > index; index++) { + int character = str.charAt(index); + if (character > 127) { + if (character > 2047) { + buffer[offset++] = (byte) ((character | 919275) >> 12); + buffer[offset++] = (byte) (128 | ((character >> 6) & 63)); + buffer[offset++] = (byte) (128 | (character & 63)); + } else { + buffer[offset++] = (byte) ((character | 12309) >> 6); + buffer[offset++] = (byte) (128 | (character & 63)); + } + } else + buffer[offset++] = (byte) character; + } + return offset - position; + } + /** + * Method used to... + * @param x idk, + * @return the idk. + */ + public static long reducedMapping(int x) { + long out = -1; + if (x >= 97 && x <= 122) + out = x - 96; + else if (x >= 65 && x <= 90) + out = x - 37; + else if (x >= 48 && x <= 57) + out = x - +5; + else if (x == 32) + out = 63L; + return out; + } + /** + * Converts a string to a long. + * @param s The string. + * @return The long. + */ + public static long stringToLong(String s) { + long l = 0L; + for (int i = 0; i < s.length() && i < 12; i++) { + char c = s.charAt(i); + l *= 37L; + if (c >= 'A' && c <= 'Z') + l += (1 + c) - 65; + else if (c >= 'a' && c <= 'z') + l += (1 + c) - 97; + else if (c >= '0' && c <= '9') + l += (27 + c) - 48; + } + while (l % 37L == 0L && l != 0L) + l /= 37L; + return l; + } + /** + * Decrypt player chat. + * + * @param buffer + * The buffer + * @param totalChars + * The total chars + * @return The string + */ + public static String decryptPlayerChat(IoBuffer buffer, int totalChars) { + try { + if (totalChars == 0) + return ""; + int charsDecoded = 0; + int i_4_ = 0; + String s = ""; + for (;;) { + byte i_7_ = (byte) buffer.get(); + if (i_7_ >= 0) + i_4_++; + else + i_4_ = anIntArray241[i_4_]; + int i_8_; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (totalChars <= ++charsDecoded) + break; + i_4_ = 0; + } + if (((i_7_ & 0x40) ^ 0xffffffff) != -1) + i_4_ = anIntArray241[i_4_]; + else + i_4_++; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (++charsDecoded >= totalChars) + break; + i_4_ = 0; + } + if ((0x20 & i_7_) == 0) + i_4_++; + else + i_4_ = anIntArray241[i_4_]; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (totalChars <= ++charsDecoded) + break; + i_4_ = 0; + } + if (((0x10 & i_7_) ^ 0xffffffff) == -1) + i_4_++; + else + i_4_ = anIntArray241[i_4_]; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (totalChars <= ++charsDecoded) + break; + + i_4_ = 0; + } + if (((0x8 & i_7_) ^ 0xffffffff) != -1) + i_4_ = anIntArray241[i_4_]; + else + i_4_++; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (++charsDecoded >= totalChars) + break; + i_4_ = 0; + } + if ((0x4 & i_7_) == 0) + i_4_++; + else + i_4_ = anIntArray241[i_4_]; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (totalChars <= ++charsDecoded) + break; + i_4_ = 0; + } + if (((i_7_ & 0x2) ^ 0xffffffff) != -1) + i_4_ = anIntArray241[i_4_]; + else + i_4_++; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (totalChars <= ++charsDecoded) + break; + i_4_ = 0; + } + if (((i_7_ & 0x1) ^ 0xffffffff) != -1) + i_4_ = anIntArray241[i_4_]; + else + i_4_++; + if ((i_8_ = anIntArray241[i_4_]) < 0) { + s += (char) (byte) (i_8_ ^ 0xffffffff); + if (++charsDecoded >= totalChars) + break; + i_4_ = 0; + } + } + return s; + } catch (RuntimeException runtimeexception) { + runtimeexception.printStackTrace(); + } + return ""; + } +} diff --git a/09HDscape-management-server/src/org/keldagrim/system/util/TaskExecutor.java b/09HDscape-management-server/src/org/keldagrim/system/util/TaskExecutor.java new file mode 100644 index 000000000..5d8d00ef4 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/system/util/TaskExecutor.java @@ -0,0 +1,55 @@ +package org.keldagrim.system.util; + +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; + +/** + * A class holding methods to execute tasks. + * @author Emperor + * + */ +public final class TaskExecutor { + + /** + * The executor to use. + */ + private static final ScheduledExecutorService EXECUTOR = Executors.newSingleThreadScheduledExecutor(); + + /** + * The SQL task executor. + */ + private static final ScheduledExecutorService SQL_EXECUTOR = Executors.newSingleThreadScheduledExecutor(); + + /** + * Constructs a new {@code TaskExecutor} {@code Object}. + */ + private TaskExecutor() { + /* + * empty. + */ + } + + /** + * Executes an SQL handling task. + * @param task The task. + */ + public static void executeSQL(Runnable task) { + SQL_EXECUTOR.execute(task); + } + + /** + * Executes the task. + * @param task The task to execute. + */ + public static void execute(Runnable task) { + EXECUTOR.execute(task); + } + + /** + * Gets the executor. + * @return The executor. + */ + public static ScheduledExecutorService getExecutor() { + return EXECUTOR; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/GameServer.java b/09HDscape-management-server/src/org/keldagrim/world/GameServer.java new file mode 100644 index 000000000..b43a8404d --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/GameServer.java @@ -0,0 +1,124 @@ +package org.keldagrim.world; + +import org.keldagrim.net.IoSession; +import org.keldagrim.net.packet.WorldPacketRepository; +import org.keldagrim.system.mysql.SQLEntryHandler; +import org.keldagrim.system.mysql.WorldListSQLHandler; +import org.keldagrim.system.util.TaskExecutor; +import org.keldagrim.world.info.Response; +import org.keldagrim.world.info.WorldInfo; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +/** + * Represents a game world. + * @author Emperor + * + */ +public final class GameServer { + + /** + * The world info. + */ + private final WorldInfo info; + + /** + * The I/O session. + */ + private IoSession session; + + /** + * The players active on the game server. + */ + private final Map players = new HashMap<>(); + + /** + * The scheduled future for the updating task. + */ + private ScheduledFuture future; + + /** + * constructs a new {@code GameServer} {@code Object}. + * @param info The world info. + */ + public GameServer(WorldInfo info) { + this.info = info; + } + + /** + * Configures the game server. + * @param session The I/O session. + */ + public void configure(IoSession session) { + this.session = session; + session.setGameServer(this); + future = TaskExecutor.getExecutor().scheduleAtFixedRate(() -> { + SQLEntryHandler.write(new WorldListSQLHandler(GameServer.this)); + if (!isActive()) { + future.cancel(false); + future = null; + } + }, 0, 10, TimeUnit.SECONDS); + } + + /** + * Registers a player. + * @param player The player. + */ + public void register(PlayerSession player) { + players.put(player.getUsername(), player); + player.setWorld(this); + player.setActive(true); + player.setWorldId(info.getWorldId()); + player.configure(); + WorldPacketRepository.sendRegistryResponse(this, player, Response.SUCCESSFUL); + player.getCommunication().sync(); + } + + /** + * Checks if the game server is active. + * @return {@code True} if so. + */ + public boolean isActive() { + return session.isActive(); + } + + /** + * @return the playerAmount + */ + public int getPlayerAmount() { + return players.size(); + } + + /** + * @return the info + */ + public WorldInfo getInfo() { + return info; + } + + /** + * @return the session + */ + public IoSession getSession() { + return session; + } + + /** + * @param session the session to set + */ + public void setSession(IoSession session) { + this.session = session; + } + + /** + * Gets the players value. + * @return The players. + */ + public Map getPlayers() { + return players; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/PlayerSession.java b/09HDscape-management-server/src/org/keldagrim/world/PlayerSession.java new file mode 100644 index 000000000..3ed27da74 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/PlayerSession.java @@ -0,0 +1,469 @@ +package org.keldagrim.world; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.keldagrim.ServerConstants; +import org.keldagrim.system.communication.ClanRepository; +import org.keldagrim.system.communication.CommunicationInfo; +import org.keldagrim.system.mysql.SQLManager; +import org.keldagrim.world.info.UIDInfo; + +/** + * Represents a player session. + * @author Emperor + * + */ +public final class PlayerSession { + + /** + * The player's communication info. + */ + private CommunicationInfo communication = new CommunicationInfo(this); + + /** + * The game server the player is currently in. + */ + private GameServer world; + + /** + * The current clan. + */ + private ClanRepository clan; + + /** + * The player's UID info. + */ + private UIDInfo uid; + + /** + * The username. + */ + private final String username; + + /** + * The password. + */ + private String password; + + /** + * The player's rights. + */ + private int rights; + + /** + * The world id. + */ + private int worldId; + + /** + * If the player session is active. + */ + private boolean active; + + /** + * The time stamp of last disconnection. + */ + private long disconnectionTime = 0l; + + /** + * How long the player is banned for. + */ + private long banTime; + + /** + * How long the player is muted for. + */ + private long muteTime; + + /** + * The last world the player logged in. + */ + private int lastWorld = -1; + + /** + * The chat icon. + */ + private int chatIcon; + + /** + * Constructs a new {@code PlayerSession} {@code Object}. + * @param username The username. + * @param password The password. + * @param ipAddress The ip address. + * @param macAddress The mac address. + * @param computerName The computer name. + * @param serial The motherboard serial key. + */ + public PlayerSession(String username, String password, UIDInfo uid) { + this.username = username; + this.password = password; + this.uid = uid; + } + + /** + * Parses the session's data from the database. + * @return {@code True} if parsed. + */ + public boolean parse() { + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return false; + } + ResultSet result = null; + PreparedStatement statement; + try { + statement = connection.prepareStatement("SELECT * FROM " + "members" + " WHERE " + "" + "username" + "='" + username.toLowerCase() + "' LIMIT 1"); + result = statement.executeQuery(); + if (result == null || !result.next()) { + SQLManager.close(connection); + return false; + } + rights = result.getInt("rights"); + disconnectionTime = result.getLong("disconnectTime"); + lastWorld = result.getInt("lastWorld"); + banTime = result.getLong("banTime"); + communication.parse(result); + uid.parse(result); + SQLManager.close(connection); + } catch (SQLException ex) { + ex.printStackTrace(); + SQLManager.close(connection); + return false; + } + return true; + } + + /** + * Called when a session is removed. + */ + public void remove() { + if (world != null && world.getInfo().getRevision() == 498) { + return; + } + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return; + } + PreparedStatement statement; + try { + statement = connection.prepareStatement("UPDATE members SET disconnectTime = ?, lastWorld = ?, contacts = ?, blocked = ?, clanName = ?, currentClan = ?, clanReqs = ?, chatSettings = ?, online= ? WHERE username = ?"); + statement.setLong(1, System.currentTimeMillis()); + statement.setInt(2, worldId); + communication.save(statement); + statement.setBoolean(9, false); + statement.setString(10, username); + statement.executeUpdate(); + SQLManager.close(connection); + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + } + communication.clear(); + } + + /** + * Gets a player session. + * @param username the username. + * @return the player session. + */ + public static PlayerSession get(String username) { + PlayerSession session = new PlayerSession(username, "", new UIDInfo()); + if (!session.parse()) { + return null; + } + return session; + } + + /** + * Configures the player session. + */ + public void configure() { + ClanRepository clan = ClanRepository.getClans().get(username); + if (clan != null) { + clan.setOwner(this); + } + Connection connection = SQLManager.getConnection(); + if (connection == null) { + return; + } + PreparedStatement statement; + try { + statement = connection.prepareStatement("UPDATE members SET online = ? AND lastWorld = ? WHERE username = ?"); + statement.setBoolean(1, true); + statement.setInt(2, worldId); + statement.setString(3, username); + statement.execute(); + SQLManager.close(connection); + } catch (SQLException e) { + e.printStackTrace(); + SQLManager.close(connection); + } + } + + /** + * Checks if the player has just moved worlds. + * @return {@code True} if so. + */ + public boolean hasMovedWorld() { + if (rights == 2) { + return false; + } + return System.currentTimeMillis() - disconnectionTime < ServerConstants.WORLD_SWITCH_DELAY; + } + + /** + * Gets the username value. + * @return The username. + */ + public String getUsername() { + return username; + } + + /** + * Gets the password value. + * @return The password. + */ + public String getPassword() { + return password; + } + + /** + * Gets the chat icon. + * @return The chat icon. + */ + public int getChatIcon() { + return chatIcon; + } + + /** + * Gets the ipAddress value. + * @return The ipAddress. + */ + public String getIpAddress() { + return uid.getIp(); + } + + /** + * Gets the macAddress value. + * @return The macAddress. + */ + public String getMacAddress() { + return uid.getMac(); + } + + /** + * Gets the computerName value. + * @return The computerName. + */ + public String getComputerName() { + return uid.getCompName(); + } + + /** + * Gets the worldId value. + * @return The worldId. + */ + public int getWorldId() { + return worldId; + } + + /** + * Sets the worldId value. + * @param worldId The worldId to set. + */ + public void setWorldId(int worldId) { + this.worldId = worldId; + } + + /** + * Gets the active value. + * @return The active. + */ + public boolean isActive() { + return active; + } + + /** + * Sets the active value. + * @param active The active to set. + */ + public void setActive(boolean active) { + this.active = active; + } + + /** + * Gets the serialKey value. + * @return The serialKey. + */ + public String getSerialKey() { + return uid.getSerial(); + } + + /** + * Gets the rights value. + * @return The rights. + */ + public int getRights() { + return rights; + } + + /** + * Sets the rights value. + * @param rights The rights to set. + */ + public void setRights(int rights) { + this.rights = rights; + } + + /** + * If the player is banned. + * @return {@code true} if so. + */ + public boolean isBanned() { + return banTime > System.currentTimeMillis(); + } + + /** + * Gets the banTime value. + * @return The banTime. + */ + public long getBanTime() { + return banTime; + } + + /** + * Gets the muteTime. + * @return the muteTime. + */ + public long getMuteTime() { + return muteTime; + } + + + /** + * Sets the muteTime. + * @param muteTime the muteTime to set + */ + public void setMuteTime(long muteTime) { + this.muteTime = muteTime; + } + + + /** + * Gets the disconnectionTime value. + * @return The disconnectionTime. + */ + public long getDisconnectionTime() { + return disconnectionTime; + } + + /** + * Gets the lastWorld value. + * @return The lastWorld. + */ + public int getLastWorld() { + return lastWorld; + } + + /** + * Sets the lastWorld value. + * @param lastWorld The lastWorld to set. + */ + public void setLastWorld(int lastWorld) { + this.lastWorld = lastWorld; + } + + /** + * Gets the communication value. + * @return The communication. + */ + public CommunicationInfo getCommunication() { + return communication; + } + + /** + * Sets the communication value. + * @param communication The communication to set. + */ + public void setCommunication(CommunicationInfo communication) { + this.communication = communication; + } + + /** + * Gets the world value. + * @return The world. + */ + public GameServer getWorld() { + return world; + } + + /** + * Sets the world value. + * @param world The world to set. + */ + public void setWorld(GameServer world) { + this.world = world; + } + + /** + * Gets the clan value. + * @return The clan. + */ + public ClanRepository getClan() { + return clan; + } + + /** + * Sets the clan value. + * @param clan The clan to set. + */ + public void setClan(ClanRepository clan) { + this.clan = clan; + } + + /** + * Sets the chat icon. + * @param chatIcon + */ + public void setChatIcon(int chatIcon) { + this.chatIcon = chatIcon; + } + + /** + * Gets the uid. + * @return the uid. + */ + public UIDInfo getUid() { + return uid; + } + + /** + * Sets the uid. + * @param uid the uid to set + */ + public void setUid(UIDInfo uid) { + this.uid = uid; + } + + /** + * Sets the disconnect time. + * @param time the time. + */ + public void setDisconnectTime(long time) { + this.disconnectionTime = time; + } + + @Override + public boolean equals(Object o) { + return username.equals(((PlayerSession) o).username); + } + + @Override + public String toString() { + return "player [name=" + username + ", pass=" + password + ", ip=" + uid.getIp() + ", mac=" + uid.getMac() + ", comp=" + uid.getCompName() + ", msk=" + uid.getSerial() + "]"; + } + +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/WorldDatabase.java b/09HDscape-management-server/src/org/keldagrim/world/WorldDatabase.java new file mode 100644 index 000000000..fd907a6fe --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/WorldDatabase.java @@ -0,0 +1,245 @@ +package org.keldagrim.world; + +import java.nio.ByteBuffer; + +import org.keldagrim.ServerConstants; +import org.keldagrim.net.IoSession; +import org.keldagrim.net.packet.IoBuffer; +import org.keldagrim.world.info.CountryFlag; +import org.keldagrim.world.info.WorldInfo; + +import com.sun.xml.internal.ws.util.StringUtils; + +/** + * Holds all the world servers. + * @author Emperor + * + */ +public class WorldDatabase { + + /** + * The game servers. + */ + public static final GameServer[] DATABASE = new GameServer[ServerConstants.WORLD_LIMIT]; + + /** + * The update time stamp. + */ + private static long updateStamp = System.currentTimeMillis(); + + /** + * Used to prevent {@code WorldDatabase} from getting instantiated. + */ + private WorldDatabase() { + /* + * empty. + */ + } + + /** + * Gets the packet to update the world list in the lobby. + * @param player The player. + * @param worldConfiguration If the configuration should be added. + * @param worldStatus If the status should be added. + * @return The {@code OutgoingPacket} to write. + */ + public static void sendUpdate(IoSession session, int updateStamp) { + ByteBuffer buf = ByteBuffer.allocate(1024); + buf.put((byte) 0); + buf.putShort((short) 0); + buf.put((byte) 1); + IoBuffer buffer = new IoBuffer(); + if (updateStamp != (int) WorldDatabase.updateStamp) { + buf.put((byte) 1); // Indicates an update occured. + putWorldListinfo(buffer); + } else { + buf.put((byte) 0); + } + putPlayerInfo(buffer); + if (buffer.toByteBuffer().position() > 0) { + buf.put((ByteBuffer) buffer.toByteBuffer().flip()); + } + buf.putShort(1, (short) (buf.position() - 3)); + session.queue((ByteBuffer) buf.flip()); + } + + /** + * Adds the world status on the packet. + * @param buffer The current packet. + */ + private static void putPlayerInfo(IoBuffer buffer) { + for (GameServer server : DATABASE) { + if (server != null) { + WorldInfo w = server.getInfo(); + buffer.putSmart(w.getWorldId()); + buffer.putShort(server.isActive() ? server.getPlayerAmount() : -1); + } + } + } + + /** + * Sets the countries for each world. + * @param buffer The current packet. + */ + private static void putCountryInfo(IoBuffer buffer) { + for (CountryFlag country : CountryFlag.values()) { + buffer.putSmart(country.getId()); + buffer.putJagString(StringUtils.capitalize(country.name().toLowerCase())); + } + } + + /** + * Adds the world configuration on the packet. + * @param buffer The current packet. + */ + private static void putWorldListinfo(IoBuffer buffer) { + buffer.putSmart(CountryFlag.values().length); + putCountryInfo(buffer); + buffer.putSmart(0); + buffer.putSmart(DATABASE.length); + buffer.putSmart(getRegisteredAmount()); + for (GameServer server : DATABASE) { + if (server != null) { + WorldInfo w = server.getInfo(); + buffer.putSmart(w.getWorldId()); + buffer.put(w.getCountry().ordinal()); + buffer.putInt(w.getSettings()); + buffer.putJagString(w.getActivity()); + buffer.putJagString(w.getAddress()); + } + } + buffer.putInt((int) updateStamp); + } + + /** + * Gets the amount of worlds registered. + * @return The amount of worlds registered. + */ + public static int getRegisteredAmount() { + int count = 0; + for (GameServer server : DATABASE) { + if (server != null) { + count++; + } + } + return count; + } + + /** + * Registers a game server. + * @param info The game world info. + */ + public static GameServer register(WorldInfo info) { + GameServer server = DATABASE[info.getWorldId()]; + if (server != null && server.getSession().isActive()) { + throw new IllegalStateException("World " + info.getWorldId() + " is already registered!"); + } + flagUpdate(); + System.out.println("Registered world - [id=" + info.getWorldId() + ", ip=" + info.getAddress() + ", country=" + info.getCountry().name().toLowerCase() + ", revision=" + info.getRevision() + "]!"); + return DATABASE[info.getWorldId()] = new GameServer(info); + } + + /** + * Gets the world id of the player. + * @param username The username of the player. + * @return The world id. + */ + public static int getWorldId(String username) { + return getWorldId(getPlayer(username)); + } + + /** + * Gets the world id of the player. + * @param player The player. + * @return The world id. + */ + public static int getWorldId(PlayerSession player) { + if (player == null || !player.isActive()) { + return 0; + } + return player.getWorldId(); + } + + /** + * Checks if the game world is active. + * @param worldId The world id. + * @return {@code True} if so. + */ + public static boolean isActive(int worldId) { + GameServer server = get(worldId); + return server != null && server.isActive(); + } + + /** + * Checks if the player session for the given name is active. + * @param username The player's username. + * @return {@code True} if so. + */ + public static boolean isActivePlayer(String username) { + PlayerSession session = getPlayer(username); + return session != null && session.isActive(); + } + + /** + * Gets the player session for the given name. + * @param username The player's username. + * @return The player session. + */ + public static PlayerSession getPlayer(String username) { + return getPlayer(username, false); + } + + /** + * Gets the player session for the given name. + * @param username The player's username. + * @param load If we load the users data. + * @return The player session. + */ + public static PlayerSession getPlayer(String username, boolean load) { + for (GameServer server : DATABASE) { + if (server != null && server.isActive()) { + PlayerSession player = server.getPlayers().get(username); + if (player != null) { + return player; + } + } + } + if (load) { + return PlayerSession.get(username); + } + return null; + } + + /** + * Gets the game server for the given world id. + * @param worldId The world id. + * @return The game server. + */ + public static GameServer get(int worldId) { + return DATABASE[worldId]; + } + + /** + * Gets all the game servers. + * @return The list of game servers. + */ + public static GameServer[] getWorlds() { + return DATABASE; + } + + /** + * Gets the updateStamp. + * @return the updateStamp + */ + public static long getUpdateStamp() { + return updateStamp; + } + + /** + * Sets the updateStamp. + * @param updateStamp the updateStamp to set. + */ + public static void flagUpdate() { + WorldDatabase.updateStamp = System.currentTimeMillis(); + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/info/CountryFlag.java b/09HDscape-management-server/src/org/keldagrim/world/info/CountryFlag.java new file mode 100644 index 000000000..180057474 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/info/CountryFlag.java @@ -0,0 +1,96 @@ +package org.keldagrim.world.info; + +/** + * The country flags. + * @author Emperor + * + */ +public enum CountryFlag { + + /** + * Belgium + */ + BELGIUM(22), + + /** + * Canada. + */ + CANADA(38), + + /** + * The united kingdom. + */ + UNITED_KINGDOM(77), + + /** + * Netherlands + */ + NETHERLANDS(161), + + /** + * Sweden + */ + SWEDEN(191), + + /** + * Finland + */ + FINLAND(69), + + /** + * Australia. + */ + AUSTRALIA(16), + + /** + * America (JewSA) + */ + JEWSA(225), + + /** + * Norway + */ + NORWAY(162), + + /** + * Ireland + */ + IRELAND(101), + + /** + * DENMARK + */ + DENMARK(58), + + /** + * Brazil + */ + BRAZIL(31), + + /** + * Mexico + */ + MEXICO(152), + + ; + + /** + * The flag id. + */ + private final int id; + + /** + * Constructs a new {@code CountryFlag} {@code Object}. + * @param id The flag id. + */ + private CountryFlag(int id) { + this.id = id; + } + + /** + * @return the id + */ + public int getId() { + return id; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/info/Response.java b/09HDscape-management-server/src/org/keldagrim/world/info/Response.java new file mode 100644 index 000000000..ff4eab4ea --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/info/Response.java @@ -0,0 +1,144 @@ +package org.keldagrim.world.info; + +/** + * Holds the response codes during the attempt to login. + * @author Emperor + */ +public enum Response { + + /** + * An unexpected server response occurred. + */ + UNEXPECTED_RESPONSE(0), + + /** + * Could not display advertisement video, logging in in x seconds. + */ + COULD_NOT_DISPLAY_AD(1), + + /** + * A successful login. + */ + SUCCESSFUL(2), + + /** + * Invalid username or password has been entered. + */ + INVALID_CREDENTIALS(3), + + /** + * This account is banned. + */ + ACCOUNT_DISABLED(4), + + /** + * This account is already logged in. + */ + ALREADY_ONLINE(5), + + /** + * We have updated and client needs to be reloaded. + */ + UPDATED(6), + + /** + * The world is full. + */ + FULL_WORLD(7), + + /** + * Login server is offline. + */ + LOGIN_SERVER_OFFLINE(8), + + /** + * The login limit has been exceeded. + */ + LOGIN_LIMIT_EXCEEDED(9), + + /** + * The session key was invalid. + */ + BAD_SESSION_ID(10), + + /** + * The password is too weak, and should be improved. + */ + WEAK_PASSWORD(11), + + /** + * When trying to connect to a members world while being f2p. + */ + MEMBERS_WORLD(12), + + /** + * Could not login. + */ + COULD_NOT_LOGIN(13), + + /** + * The server is currently updating. + */ + UPDATING(14), + + /** + * Too many incorrect login attempts from your address. + */ + TOO_MANY_INCORRECT_LOGINS(16), + + /** + * When logging on a free world while standing in members area. + */ + STANDING_IN_MEMBER(17), + + /** + * This account is locked as it might have been stolen. + */ + LOCKED(18), + + /** + * Closed beta going on. + */ + CLOSED_BETA(19), + + /** + * The login server connected to is invalid. + */ + INVALID_LOGIN_SERVER(20), + + /** + * Moving from another world... + */ + MOVING_WORLD(21), + + /** + * When the player's saved file exists, but is unable to be loaded. + */ + ERROR_LOADING_PROFILE(24), + + /** + * This computer address is disabled as it was used to break our rules. + */ + BANNED(26); + + /** + * The buffer. + */ + private final int opcode; + + /** + * Constructs a new {@code Response} {@code Object}. + * @param opcode The login response opcode. + */ + Response(int opcode) { + this.opcode = opcode; + } + + /** + * Gets the opcode. + * @return The opcode. + */ + public int opcode() { + return opcode; + } +} \ No newline at end of file diff --git a/09HDscape-management-server/src/org/keldagrim/world/info/UIDInfo.java b/09HDscape-management-server/src/org/keldagrim/world/info/UIDInfo.java new file mode 100644 index 000000000..48d15b0dc --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/info/UIDInfo.java @@ -0,0 +1,222 @@ +package org.keldagrim.world.info; + +import java.nio.ByteBuffer; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.StringTokenizer; + +import org.keldagrim.system.util.ByteBufferUtils; + +/** + * The unique info of a player. + * @author Vexia + * + */ +public class UIDInfo { + + /** + * The ip address. + */ + private String ip; + + /** + * The computer name. + */ + private String compName; + + /** + * The mac-address. + */ + private String mac; + + /** + * The motherboard serial of the user. + */ + private String serial; + + + /** + * Constructs a new {@code UIDInfo} {@code Object} + */ + public UIDInfo() { + /* + * empty. + */ + } + + /** + * Constructs a new {@code UIDInfo} {@code Object} + * @param ip the ip. + * @param compName the computer name. + * @param mac the mac. + * @param serial the serial. + */ + public UIDInfo(String ip, String compName, String mac, String serial) { + this.ip = ip; + this.compName = compName; + this.mac = mac; + this.serial = serial; + } + + /** + * Parses the data from a prepared statement. + * @param set The result set + * @throws SQLException The exception if thrown. + */ + public void parse(ResultSet set) throws SQLException { + setIp(parseFormat(set.getString("ip"))); + setCompName(parseFormat(set.getString("computerName"))); + setMac(parseFormat(set.getString("mac"))); + setSerial(parseFormat(set.getString("serial"))); + } + + /** + * Saves the UID data on the buffer. + * @param buffer The buffer. + */ + public void save(ByteBuffer buffer) { + save(buffer, ip, 1); + save(buffer, compName, 2); + save(buffer, mac, 3); + save(buffer, serial, 4); + buffer.put((byte) 0); + } + + /** + * Parses the UID data from the buffer. + * @param buffer The buffer. + */ + public void parse(ByteBuffer buffer) { + int opcode; + while ((opcode = buffer.get()) != 0) { + switch (opcode) { + case 1: + ip = ByteBufferUtils.getString(buffer); + break; + case 2: + compName = ByteBufferUtils.getString(buffer); + break; + case 3: + mac = ByteBufferUtils.getString(buffer); + break; + case 4: + serial = ByteBufferUtils.getString(buffer); + break; + } + } + } + + /** + * Parses a string with a certain format. + * @param string the string. + * @return the string. + */ + private String parseFormat(String string) { + if (string == null || string == "") { + return null; + } + StringTokenizer token = new StringTokenizer(string, "|"); + String s = ""; + int t = token.countTokens(); + for (int i = 0; i < t; i++) { + s = token.nextToken(); + } + return s; + } + + /** + * Saves a string value to the buffer. + * @param buffer the buffer. + * @param value the value. + * @param opcode the opcode. + */ + private void save(ByteBuffer buffer, String value, int opcode) { + if (value == null) { + return; + } + ByteBufferUtils.putString(value, buffer.put((byte) opcode)); + } + + /** + * Converts a to string in format mode for an admin or mod. + * @param admin the admin. + * @return the string. + */ + public String toString(boolean admin) { + String format = toString(); + if (!admin) {//formats for non-admins + String[] tokens = format.split("serial="); + format = format.replace("serial=", "uid=").replace(tokens[tokens.length - 1], "*****"); + } + return format; + } + + /** + * Gets the compName. + * @return the compName + */ + public String getCompName() { + return compName; + } + + /** + * Gets the ip. + * @return the ip + */ + public String getIp() { + return ip; + } + + /** + * Gets the mac. + * @return the mac + */ + public String getMac() { + return mac; + } + + /** + * Gets the serial. + * @return the serial + */ + public String getSerial() { + return serial; + } + + /** + * Sets the ip. + * @param ip the ip to set. + */ + public void setIp(String ip) { + this.ip = ip; + } + + /** + * Sets the compName. + * @param compName the compName to set. + */ + public void setCompName(String compName) { + this.compName = compName; + } + + /** + * Sets the mac. + * @param mac the mac to set. + */ + public void setMac(String mac) { + this.mac = mac; + } + + /** + * Sets the serial. + * @param serial the serial to set. + */ + public void setSerial(String serial) { + this.serial = serial; + } + + @Override + public String toString() { + return "[ip=" + ip + ", compName=" + compName + ", mac=" + mac + ", serial=" + serial + "]"; + } +} diff --git a/09HDscape-management-server/src/org/keldagrim/world/info/WorldInfo.java b/09HDscape-management-server/src/org/keldagrim/world/info/WorldInfo.java new file mode 100644 index 000000000..8839475c5 --- /dev/null +++ b/09HDscape-management-server/src/org/keldagrim/world/info/WorldInfo.java @@ -0,0 +1,163 @@ +package org.keldagrim.world.info; + +/** + * Holds the info of a world server. + * @author Emperor + * + */ +public final class WorldInfo { + + /** + * The world id. + */ + private final int worldId; + + /** + * The IP-address. + */ + private final String address; + + /** + * The revision of the world. + */ + private final int revision; + + /** + * The country this world is located in. + */ + private final CountryFlag country; + + /** + * The world activity. + */ + private final String activity; + + /** + * If the world is members only. + */ + private final boolean members; + + /** + * If the world is a PvP world. + */ + private final boolean pvp; + + /** + * If the world is a quick chat only world. + */ + private final boolean quickChat; + + /** + * If the world has lootshare option enabled. + */ + private final boolean lootshare; + + /** + * Constructs a new {@code WorldInfo} {@code Object}. + * @param id The world id. + * @param address The address. + * @param country The country flag. + * @param members If the world is members only. + */ + public WorldInfo(int id, String address, int revision, CountryFlag country, String activity, boolean members, boolean pvp, boolean quickChat, boolean lootshare) { + this.worldId = id; + this.address = address; + this.revision = revision; + this.country = country; + this.activity = activity; + this.members = members; + this.pvp = pvp; + this.quickChat = quickChat; + this.lootshare = lootshare; + } + + /** + * Gets the settings hash. + * @return The settings hash. + */ + public int getSettings() { + int settings = 0; + if (members) { + settings |= 0x1; + } + if (quickChat) { + settings |= 0x2; + } + if (pvp) { + settings |= 0x4; + } + if (lootshare) { + settings |= 0x8; + } + return settings; + } + + /** + * @return the worldId + */ + public int getWorldId() { + return worldId; + } + + /** + * @return the address + */ + public String getAddress() { + return address; + } + + /** + * @return the country + */ + public CountryFlag getCountry() { + return country; + } + + /** + * Gets the members value. + * @return The members. + */ + public boolean isMembers() { + return members; + } + + /** + * Gets the activity value. + * @return The activity. + */ + public String getActivity() { + return activity; + } + + /** + * Gets the pvp value. + * @return The pvp. + */ + public boolean isPvp() { + return pvp; + } + + /** + * Gets the quickChat value. + * @return The quickChat. + */ + public boolean isQuickChat() { + return quickChat; + } + + /** + * Gets the lootshare value. + * @return The lootshare. + */ + public boolean isLootshare() { + return lootshare; + } + + /** + * Gets the revision. + * @return the revision. + */ + public int getRevision() { + return revision; + } +} \ No newline at end of file diff --git a/09HDscape-server/.gitignore b/09HDscape-server/.gitignore new file mode 100644 index 000000000..17a06722d --- /dev/null +++ b/09HDscape-server/.gitignore @@ -0,0 +1,18 @@ +bin/** +out/** +data/logs/** +data/profile/** +.idea/** +/bin +.DS_Store** +.project** +.classpath** +.class** +/bin/ +/out/ +data/cache/ +*.iml +*.eml +*.userlibraries +*.class +data/players/** diff --git a/09HDscape-server/.settings/org.eclipse.jdt.core.prefs b/09HDscape-server/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..2a251fdc2 --- /dev/null +++ b/09HDscape-server/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,297 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=48 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=48 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=48 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=80 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=9999 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true +org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter diff --git a/09HDscape-server/.settings/org.eclipse.jdt.ui.prefs b/09HDscape-server/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..c2d899803 --- /dev/null +++ b/09HDscape-server/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +formatter_profile=_LineWrap +formatter_settings_version=12 +org.eclipse.jdt.ui.javadoc=false +org.eclipse.jdt.ui.text.custom_code_templates=